/* * ATTENTION: An "eval-source-map" devtool has been used. * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ exports.id = "vendor-chunks/next"; exports.ids = ["vendor-chunks/next"]; exports.modules = { /***/ "./node_modules/next/dist/build/templates/helpers.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/build/templates/helpers.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Hoists a name from a module or promised module.\n *\n * @param module the module to hoist the name from\n * @param name the name to hoist\n * @returns the value on the module (or promised module)\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hoist\", ({\n enumerable: true,\n get: function() {\n return hoist;\n }\n}));\nfunction hoist(module, name) {\n // If the name is available in the module, return it.\n if (name in module) {\n return module[name];\n }\n // If a property called `then` exists, assume it's a promise and\n // return a promise that resolves to the name.\n if (\"then\" in module && typeof module.then === \"function\") {\n return module.then((mod)=>hoist(mod, name));\n }\n // If we're trying to hoise the default export, and the module is a function,\n // return the module itself.\n if (typeof module === \"function\" && name === \"default\") {\n return module;\n }\n // Otherwise, return undefined.\n return undefined;\n}\n\n//# sourceMappingURL=helpers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3RlbXBsYXRlcy9oZWxwZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQWlCO0FBQ2pCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLHlDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvdGVtcGxhdGVzL2hlbHBlcnMuanM/YjI4NyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEhvaXN0cyBhIG5hbWUgZnJvbSBhIG1vZHVsZSBvciBwcm9taXNlZCBtb2R1bGUuXG4gKlxuICogQHBhcmFtIG1vZHVsZSB0aGUgbW9kdWxlIHRvIGhvaXN0IHRoZSBuYW1lIGZyb21cbiAqIEBwYXJhbSBuYW1lIHRoZSBuYW1lIHRvIGhvaXN0XG4gKiBAcmV0dXJucyB0aGUgdmFsdWUgb24gdGhlIG1vZHVsZSAob3IgcHJvbWlzZWQgbW9kdWxlKVxuICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaG9pc3RcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhvaXN0O1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaG9pc3QobW9kdWxlLCBuYW1lKSB7XG4gICAgLy8gSWYgdGhlIG5hbWUgaXMgYXZhaWxhYmxlIGluIHRoZSBtb2R1bGUsIHJldHVybiBpdC5cbiAgICBpZiAobmFtZSBpbiBtb2R1bGUpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZVtuYW1lXTtcbiAgICB9XG4gICAgLy8gSWYgYSBwcm9wZXJ0eSBjYWxsZWQgYHRoZW5gIGV4aXN0cywgYXNzdW1lIGl0J3MgYSBwcm9taXNlIGFuZFxuICAgIC8vIHJldHVybiBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgbmFtZS5cbiAgICBpZiAoXCJ0aGVuXCIgaW4gbW9kdWxlICYmIHR5cGVvZiBtb2R1bGUudGhlbiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiBtb2R1bGUudGhlbigobW9kKT0+aG9pc3QobW9kLCBuYW1lKSk7XG4gICAgfVxuICAgIC8vIElmIHdlJ3JlIHRyeWluZyB0byBob2lzZSB0aGUgZGVmYXVsdCBleHBvcnQsIGFuZCB0aGUgbW9kdWxlIGlzIGEgZnVuY3Rpb24sXG4gICAgLy8gcmV0dXJuIHRoZSBtb2R1bGUgaXRzZWxmLlxuICAgIGlmICh0eXBlb2YgbW9kdWxlID09PSBcImZ1bmN0aW9uXCIgJiYgbmFtZSA9PT0gXCJkZWZhdWx0XCIpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZTtcbiAgICB9XG4gICAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdW5kZWZpbmVkLlxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlbHBlcnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/templates/helpers.js\n"); /***/ }), /***/ "./node_modules/next/dist/pages/_app.js": /*!**********************************************!*\ !*** ./node_modules/next/dist/pages/_app.js ***! \**********************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return App;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"react/jsx-runtime\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"react\"));\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\n/**\n * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.\n * This allows for keeping state between navigation, custom error handling, injecting additional data.\n */ async function appGetInitialProps(param) {\n let { Component, ctx } = param;\n const pageProps = await (0, _utils.loadGetInitialProps)(Component, ctx);\n return {\n pageProps\n };\n}\nclass App extends _react.default.Component {\n render() {\n const { Component, pageProps } = this.props;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {\n ...pageProps\n });\n }\n}\nApp.origGetInitialProps = appGetInitialProps;\nApp.getInitialProps = appGetInitialProps;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=_app.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19hcHAuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsNkdBQXlDO0FBQ2xGLE1BQU1DLGNBQWNELG1CQUFPQSxDQUFDLDRDQUFtQjtBQUMvQyxNQUFNRSxTQUFTLFdBQVcsR0FBR0gseUJBQXlCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLG9CQUFPO0FBQ3ZFLE1BQU1JLFNBQVNKLG1CQUFPQSxDQUFDLHlFQUFxQjtBQUM1Qzs7O0NBR0MsR0FBRyxlQUFlSyxtQkFBbUJDLEtBQUs7SUFDdkMsSUFBSSxFQUFFQyxTQUFTLEVBQUVDLEdBQUcsRUFBRSxHQUFHRjtJQUN6QixNQUFNRyxZQUFZLE1BQU0sQ0FBQyxHQUFHTCxPQUFPTSxtQkFBbUIsRUFBRUgsV0FBV0M7SUFDbkUsT0FBTztRQUNIQztJQUNKO0FBQ0o7QUFDQSxNQUFNWCxZQUFZSSxPQUFPUyxPQUFPLENBQUNKLFNBQVM7SUFDdENLLFNBQVM7UUFDTCxNQUFNLEVBQUVMLFNBQVMsRUFBRUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDSSxLQUFLO1FBQzNDLE9BQXFCLFdBQUgsR0FBSSxJQUFHWixZQUFZYSxHQUFHLEVBQUVQLFdBQVc7WUFDakQsR0FBR0UsU0FBUztRQUNoQjtJQUNKO0FBQ0o7QUFDQVgsSUFBSWlCLG1CQUFtQixHQUFHVjtBQUMxQlAsSUFBSWtCLGVBQWUsR0FBR1g7QUFFdEIsSUFBSSxDQUFDLE9BQU9YLFFBQVFpQixPQUFPLEtBQUssY0FBZSxPQUFPakIsUUFBUWlCLE9BQU8sS0FBSyxZQUFZakIsUUFBUWlCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2pCLFFBQVFpQixPQUFPLENBQUNNLFVBQVUsS0FBSyxhQUFhO0lBQ3JLekIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRaUIsT0FBTyxFQUFFLGNBQWM7UUFBRWhCLE9BQU87SUFBSztJQUNuRUgsT0FBTzBCLE1BQU0sQ0FBQ3hCLFFBQVFpQixPQUFPLEVBQUVqQjtJQUMvQnlCLE9BQU96QixPQUFPLEdBQUdBLFFBQVFpQixPQUFPO0FBQ2xDLEVBRUEsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9wYWdlcy9fYXBwLmpzPzk2MWQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBcHA7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfdXRpbHMgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi91dGlsc1wiKTtcbi8qKlxuICogYEFwcGAgY29tcG9uZW50IGlzIHVzZWQgZm9yIGluaXRpYWxpemUgb2YgcGFnZXMuIEl0IGFsbG93cyBmb3Igb3ZlcndyaXRpbmcgYW5kIGZ1bGwgY29udHJvbCBvZiB0aGUgYHBhZ2VgIGluaXRpYWxpemF0aW9uLlxuICogVGhpcyBhbGxvd3MgZm9yIGtlZXBpbmcgc3RhdGUgYmV0d2VlbiBuYXZpZ2F0aW9uLCBjdXN0b20gZXJyb3IgaGFuZGxpbmcsIGluamVjdGluZyBhZGRpdGlvbmFsIGRhdGEuXG4gKi8gYXN5bmMgZnVuY3Rpb24gYXBwR2V0SW5pdGlhbFByb3BzKHBhcmFtKSB7XG4gICAgbGV0IHsgQ29tcG9uZW50LCBjdHggfSA9IHBhcmFtO1xuICAgIGNvbnN0IHBhZ2VQcm9wcyA9IGF3YWl0ICgwLCBfdXRpbHMubG9hZEdldEluaXRpYWxQcm9wcykoQ29tcG9uZW50LCBjdHgpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHBhZ2VQcm9wc1xuICAgIH07XG59XG5jbGFzcyBBcHAgZXh0ZW5kcyBfcmVhY3QuZGVmYXVsdC5Db21wb25lbnQge1xuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBDb21wb25lbnQsIHBhZ2VQcm9wcyB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAuLi5wYWdlUHJvcHNcbiAgICAgICAgfSk7XG4gICAgfVxufVxuQXBwLm9yaWdHZXRJbml0aWFsUHJvcHMgPSBhcHBHZXRJbml0aWFsUHJvcHM7XG5BcHAuZ2V0SW5pdGlhbFByb3BzID0gYXBwR2V0SW5pdGlhbFByb3BzO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1fYXBwLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJBcHAiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwiX3V0aWxzIiwiYXBwR2V0SW5pdGlhbFByb3BzIiwicGFyYW0iLCJDb21wb25lbnQiLCJjdHgiLCJwYWdlUHJvcHMiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwiZGVmYXVsdCIsInJlbmRlciIsInByb3BzIiwianN4Iiwib3JpZ0dldEluaXRpYWxQcm9wcyIsImdldEluaXRpYWxQcm9wcyIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_app.js\n"); /***/ }), /***/ "./node_modules/next/dist/pages/_document.js": /*!***************************************************!*\ !*** ./node_modules/next/dist/pages/_document.js ***! \***************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Head: function() {\n return Head;\n },\n NextScript: function() {\n return NextScript;\n },\n Html: function() {\n return Html;\n },\n Main: function() {\n return Main;\n },\n /**\n * `Document` component handles the initial `document` markup and renders only on the server side.\n * Commonly used for implementing server side rendering for `css-in-js` libraries.\n */ default: function() {\n return Document;\n }\n});\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"react/jsx-runtime\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard(__webpack_require__(/*! react */ \"react\"));\nconst _constants = __webpack_require__(/*! ../shared/lib/constants */ \"./node_modules/next/dist/shared/lib/constants.js\");\nconst _getpagefiles = __webpack_require__(/*! ../server/get-page-files */ \"./node_modules/next/dist/server/get-page-files.js\");\nconst _htmlescape = __webpack_require__(/*! ../server/htmlescape */ \"./node_modules/next/dist/server/htmlescape.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _htmlcontextsharedruntime = __webpack_require__(/*! ../shared/lib/html-context.shared-runtime */ \"./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/html-context.js\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\n/** Set of pages that have triggered a large data warning on production mode. */ const largePageDataWarnings = new Set();\nfunction getDocumentFiles(buildManifest, pathname, inAmpMode) {\n const sharedFiles = (0, _getpagefiles.getPageFiles)(buildManifest, \"/_app\");\n const pageFiles = true && inAmpMode ? [] : (0, _getpagefiles.getPageFiles)(buildManifest, pathname);\n return {\n sharedFiles,\n pageFiles,\n allFiles: [\n ...new Set([\n ...sharedFiles,\n ...pageFiles\n ])\n ]\n };\n}\nfunction getPolyfillScripts(context, props) {\n // polyfills.js has to be rendered as nomodule without async\n // It also has to be the first script to load\n const { assetPrefix, buildManifest, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return buildManifest.polyfillFiles.filter((polyfill)=>polyfill.endsWith(\".js\") && !polyfill.endsWith(\".module.js\")).map((polyfill)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n defer: !disableOptimizedLoading,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin,\n noModule: true,\n src: `${assetPrefix}/_next/${polyfill}${assetQueryString}`\n }, polyfill));\n}\nfunction hasComponentProps(child) {\n return !!child && !!child.props;\n}\nfunction AmpStyles({ styles }) {\n if (!styles) return null;\n // try to parse styles from fragment for backwards compat\n const curStyles = Array.isArray(styles) ? styles : [];\n if (styles.props && // @ts-ignore Property 'props' does not exist on type ReactElement\n Array.isArray(styles.props.children)) {\n const hasStyles = (el)=>{\n var _el_props_dangerouslySetInnerHTML, _el_props;\n return el == null ? void 0 : (_el_props = el.props) == null ? void 0 : (_el_props_dangerouslySetInnerHTML = _el_props.dangerouslySetInnerHTML) == null ? void 0 : _el_props_dangerouslySetInnerHTML.__html;\n };\n // @ts-ignore Property 'props' does not exist on type ReactElement\n styles.props.children.forEach((child)=>{\n if (Array.isArray(child)) {\n child.forEach((el)=>hasStyles(el) && curStyles.push(el));\n } else if (hasStyles(child)) {\n curStyles.push(child);\n }\n });\n }\n /* Add custom styles before AMP styles to prevent accidental overrides */ return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n \"amp-custom\": \"\",\n dangerouslySetInnerHTML: {\n __html: curStyles.map((style)=>style.props.dangerouslySetInnerHTML.__html).join(\"\").replace(/\\/\\*# sourceMappingURL=.*\\*\\//g, \"\").replace(/\\/\\*@ sourceURL=.*?\\*\\//g, \"\")\n }\n });\n}\nfunction getDynamicChunks(context, props, files) {\n const { dynamicImports, assetPrefix, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\") || files.allFiles.includes(file)) return null;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin\n }, file);\n });\n}\nfunction getScripts(context, props, files) {\n var _buildManifest_lowPriorityFiles;\n const { assetPrefix, buildManifest, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n const normalScripts = files.allFiles.filter((file)=>file.endsWith(\".js\"));\n const lowPriorityScripts = (_buildManifest_lowPriorityFiles = buildManifest.lowPriorityFiles) == null ? void 0 : _buildManifest_lowPriorityFiles.filter((file)=>file.endsWith(\".js\"));\n return [\n ...normalScripts,\n ...lowPriorityScripts\n ].map((file)=>{\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: props.nonce,\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n crossOrigin: props.crossOrigin || crossOrigin\n }, file);\n });\n}\nfunction getPreNextWorkerScripts(context, props) {\n const { assetPrefix, scriptLoader, crossOrigin, nextScriptWorkers } = context;\n // disable `nextScriptWorkers` in edge runtime\n if (!nextScriptWorkers || \"nodejs\" === \"edge\") return null;\n try {\n let { partytownSnippet } = require(\"@builder.io/partytown/integration\");\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n // Check to see if the user has defined their own Partytown configuration\n const userDefinedConfig = children.find((child)=>{\n var _child_props_dangerouslySetInnerHTML, _child_props;\n return hasComponentProps(child) && (child == null ? void 0 : (_child_props = child.props) == null ? void 0 : (_child_props_dangerouslySetInnerHTML = _child_props.dangerouslySetInnerHTML) == null ? void 0 : _child_props_dangerouslySetInnerHTML.__html.length) && \"data-partytown-config\" in child.props;\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n !userDefinedConfig && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n \"data-partytown-config\": \"\",\n dangerouslySetInnerHTML: {\n __html: `\n partytown = {\n lib: \"${assetPrefix}/_next/static/~partytown/\"\n };\n `\n }\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n \"data-partytown\": \"\",\n dangerouslySetInnerHTML: {\n __html: partytownSnippet()\n }\n }),\n (scriptLoader.worker || []).map((file, index)=>{\n const { strategy, src, children: scriptChildren, dangerouslySetInnerHTML, ...scriptProps } = file;\n let srcProps = {};\n if (src) {\n // Use external src if provided\n srcProps.src = src;\n } else if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n // Embed inline script if provided with dangerouslySetInnerHTML\n srcProps.dangerouslySetInnerHTML = {\n __html: dangerouslySetInnerHTML.__html\n };\n } else if (scriptChildren) {\n // Embed inline script if provided with children\n srcProps.dangerouslySetInnerHTML = {\n __html: typeof scriptChildren === \"string\" ? scriptChildren : Array.isArray(scriptChildren) ? scriptChildren.join(\"\") : \"\"\n };\n } else {\n throw new Error(\"Invalid usage of next/script. Did you forget to include a src attribute or an inline script? https://nextjs.org/docs/messages/invalid-script\");\n }\n return /*#__PURE__*/ (0, _react.createElement)(\"script\", {\n ...srcProps,\n ...scriptProps,\n type: \"text/partytown\",\n key: src || index,\n nonce: props.nonce,\n \"data-nscript\": \"worker\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n })\n ]\n });\n } catch (err) {\n if ((0, _iserror.default)(err) && err.code !== \"MODULE_NOT_FOUND\") {\n console.warn(`Warning: ${err.message}`);\n }\n return null;\n }\n}\nfunction getPreNextScripts(context, props) {\n const { scriptLoader, disableOptimizedLoading, crossOrigin } = context;\n const webWorkerScripts = getPreNextWorkerScripts(context, props);\n const beforeInteractiveScripts = (scriptLoader.beforeInteractive || []).filter((script)=>script.src).map((file, index)=>{\n const { strategy, ...scriptProps } = file;\n return /*#__PURE__*/ (0, _react.createElement)(\"script\", {\n ...scriptProps,\n key: scriptProps.src || index,\n defer: scriptProps.defer ?? !disableOptimizedLoading,\n nonce: props.nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n webWorkerScripts,\n beforeInteractiveScripts\n ]\n });\n}\nfunction getHeadHTMLProps(props) {\n const { crossOrigin, nonce, ...restProps } = props;\n // This assignment is necessary for additional type checking to avoid unsupported attributes in \n const headProps = restProps;\n return headProps;\n}\nfunction getAmpPath(ampPath, asPath) {\n return ampPath || `${asPath}${asPath.includes(\"?\") ? \"&\" : \"?\"}amp=1`;\n}\nfunction getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix = \"\") {\n if (!nextFontManifest) {\n return {\n preconnect: null,\n preload: null\n };\n }\n const appFontsEntry = nextFontManifest.pages[\"/_app\"];\n const pageFontsEntry = nextFontManifest.pages[dangerousAsPath];\n const preloadedFontFiles = [\n ...appFontsEntry ?? [],\n ...pageFontsEntry ?? []\n ];\n // If no font files should preload but there's an entry for the path, add a preconnect tag.\n const preconnectToSelf = !!(preloadedFontFiles.length === 0 && (appFontsEntry || pageFontsEntry));\n return {\n preconnect: preconnectToSelf ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n \"data-next-font\": nextFontManifest.pagesUsingSizeAdjust ? \"size-adjust\" : \"\",\n rel: \"preconnect\",\n href: \"/\",\n crossOrigin: \"anonymous\"\n }) : null,\n preload: preloadedFontFiles ? preloadedFontFiles.map((fontFile)=>{\n const ext = /\\.(woff|woff2|eot|ttf|otf)$/.exec(fontFile)[1];\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(fontFile)}`,\n as: \"font\",\n type: `font/${ext}`,\n crossOrigin: \"anonymous\",\n \"data-next-font\": fontFile.includes(\"-s\") ? \"size-adjust\" : \"\"\n }, fontFile);\n }) : null\n };\n}\nclass Head extends _react.default.Component {\n static #_ = this.contextType = _htmlcontextsharedruntime.HtmlContext;\n getCssLinks(files) {\n const { assetPrefix, assetQueryString, dynamicImports, crossOrigin, optimizeCss, optimizeFonts } = this.context;\n const cssFiles = files.allFiles.filter((f)=>f.endsWith(\".css\"));\n const sharedFiles = new Set(files.sharedFiles);\n // Unmanaged files are CSS files that will be handled directly by the\n // webpack runtime (`mini-css-extract-plugin`).\n let unmangedFiles = new Set([]);\n let dynamicCssFiles = Array.from(new Set(dynamicImports.filter((file)=>file.endsWith(\".css\"))));\n if (dynamicCssFiles.length) {\n const existing = new Set(cssFiles);\n dynamicCssFiles = dynamicCssFiles.filter((f)=>!(existing.has(f) || sharedFiles.has(f)));\n unmangedFiles = new Set(dynamicCssFiles);\n cssFiles.push(...dynamicCssFiles);\n }\n let cssLinkElements = [];\n cssFiles.forEach((file)=>{\n const isSharedFile = sharedFiles.has(file);\n if (!optimizeCss) {\n cssLinkElements.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"style\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }, `${file}-preload`));\n }\n const isUnmanagedFile = unmangedFiles.has(file);\n cssLinkElements.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n nonce: this.props.nonce,\n rel: \"stylesheet\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-n-g\": isUnmanagedFile ? undefined : isSharedFile ? \"\" : undefined,\n \"data-n-p\": isUnmanagedFile ? undefined : isSharedFile ? undefined : \"\"\n }, file));\n });\n if (false) {}\n return cssLinkElements.length === 0 ? null : cssLinkElements;\n }\n getPreloadDynamicChunks() {\n const { dynamicImports, assetPrefix, assetQueryString, crossOrigin } = this.context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\")) {\n return null;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"script\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n }, file);\n }) // Filter out nulled scripts\n .filter(Boolean);\n }\n getPreloadMainLinks(files) {\n const { assetPrefix, assetQueryString, scriptLoader, crossOrigin } = this.context;\n const preloadFiles = files.allFiles.filter((file)=>{\n return file.endsWith(\".js\");\n });\n return [\n ...(scriptLoader.beforeInteractive || []).map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n nonce: this.props.nonce,\n rel: \"preload\",\n href: file.src,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }, file.src)),\n ...preloadFiles.map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }, file))\n ];\n }\n getBeforeInteractiveInlineScripts() {\n const { scriptLoader } = this.context;\n const { nonce, crossOrigin } = this.props;\n return (scriptLoader.beforeInteractive || []).filter((script)=>!script.src && (script.dangerouslySetInnerHTML || script.children)).map((file, index)=>{\n const { strategy, children, dangerouslySetInnerHTML, src, ...scriptProps } = file;\n let html = \"\";\n if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n html = dangerouslySetInnerHTML.__html;\n } else if (children) {\n html = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n return /*#__PURE__*/ (0, _react.createElement)(\"script\", {\n ...scriptProps,\n dangerouslySetInnerHTML: {\n __html: html\n },\n key: scriptProps.id || index,\n nonce: nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: crossOrigin || undefined\n });\n });\n }\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n makeStylesheetInert(node) {\n return _react.default.Children.map(node, (c)=>{\n var _c_props, _c_props1;\n if ((c == null ? void 0 : c.type) === \"link\" && (c == null ? void 0 : (_c_props = c.props) == null ? void 0 : _c_props.href) && _constants.OPTIMIZED_FONT_PROVIDERS.some(({ url })=>{\n var _c_props_href, _c_props;\n return c == null ? void 0 : (_c_props = c.props) == null ? void 0 : (_c_props_href = _c_props.href) == null ? void 0 : _c_props_href.startsWith(url);\n })) {\n const newProps = {\n ...c.props || {},\n \"data-href\": c.props.href,\n href: undefined\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n } else if (c == null ? void 0 : (_c_props1 = c.props) == null ? void 0 : _c_props1.children) {\n const newProps = {\n ...c.props || {},\n children: this.makeStylesheetInert(c.props.children)\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n }\n return c;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n }).filter(Boolean);\n }\n render() {\n const { styles, ampPath, inAmpMode, hybridAmp, canonicalBase, __NEXT_DATA__, dangerousAsPath, headTags, unstable_runtimeJS, unstable_JsPreload, disableOptimizedLoading, optimizeCss, optimizeFonts, assetPrefix, nextFontManifest } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n const disableJsPreload = unstable_JsPreload === false || !disableOptimizedLoading;\n this.context.docComponentsRendered.Head = true;\n let { head } = this.context;\n let cssPreloads = [];\n let otherHeadElements = [];\n if (head) {\n head.forEach((c)=>{\n let metaTag;\n if (this.context.strictNextHead) {\n metaTag = /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-head\",\n content: \"1\"\n });\n }\n if (c && c.type === \"link\" && c.props[\"rel\"] === \"preload\" && c.props[\"as\"] === \"style\") {\n metaTag && cssPreloads.push(metaTag);\n cssPreloads.push(c);\n } else {\n if (c) {\n if (metaTag && (c.type !== \"meta\" || !c.props[\"charSet\"])) {\n otherHeadElements.push(metaTag);\n }\n otherHeadElements.push(c);\n }\n }\n });\n head = cssPreloads.concat(otherHeadElements);\n }\n let children = _react.default.Children.toArray(this.props.children).filter(Boolean);\n // show a warning if Head contains (only in development)\n if (true) {\n children = _react.default.Children.map(children, (child)=>{\n var _child_props;\n const isReactHelmet = child == null ? void 0 : (_child_props = child.props) == null ? void 0 : _child_props[\"data-react-helmet\"];\n if (!isReactHelmet) {\n var _child_props1;\n if ((child == null ? void 0 : child.type) === \"title\") {\n console.warn(\"Warning: <title> should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-title\");\n } else if ((child == null ? void 0 : child.type) === \"meta\" && (child == null ? void 0 : (_child_props1 = child.props) == null ? void 0 : _child_props1.name) === \"viewport\") {\n console.warn(\"Warning: viewport meta tags should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-viewport-meta\");\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n if (this.props.crossOrigin) console.warn(\"Warning: `Head` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n if (false) {}\n let hasAmphtmlRel = false;\n let hasCanonicalRel = false;\n // show warning and remove conflicting amp head tags\n head = _react.default.Children.map(head || [], (child)=>{\n if (!child) return child;\n const { type, props } = child;\n if ( true && inAmpMode) {\n let badProp = \"\";\n if (type === \"meta\" && props.name === \"viewport\") {\n badProp = 'name=\"viewport\"';\n } else if (type === \"link\" && props.rel === \"canonical\") {\n hasCanonicalRel = true;\n } else if (type === \"script\") {\n // only block if\n // 1. it has a src and isn't pointing to ampproject's CDN\n // 2. it is using dangerouslySetInnerHTML without a type or\n // a type of text/javascript\n if (props.src && props.src.indexOf(\"ampproject\") < -1 || props.dangerouslySetInnerHTML && (!props.type || props.type === \"text/javascript\")) {\n badProp = \"<script\";\n Object.keys(props).forEach((prop)=>{\n badProp += ` ${prop}=\"${props[prop]}\"`;\n });\n badProp += \"/>\";\n }\n }\n if (badProp) {\n console.warn(`Found conflicting amp tag \"${child.type}\" with conflicting prop ${badProp} in ${__NEXT_DATA__.page}. https://nextjs.org/docs/messages/conflicting-amp-tag`);\n return null;\n }\n } else {\n // non-amp mode\n if (type === \"link\" && props.rel === \"amphtml\") {\n hasAmphtmlRel = true;\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n const nextFontLinkTags = getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"head\", {\n ...getHeadHTMLProps(this.props),\n children: [\n this.context.isDevelopment && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined,\n dangerouslySetInnerHTML: {\n __html: `body{display:none}`\n }\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"noscript\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n dangerouslySetInnerHTML: {\n __html: `body{display:block}`\n }\n })\n })\n ]\n }),\n head,\n this.context.strictNextHead ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"next-head-count\",\n content: _react.default.Children.count(head || []).toString()\n }),\n children,\n optimizeFonts && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"next-font-preconnect\"\n }),\n nextFontLinkTags.preconnect,\n nextFontLinkTags.preload,\n true && inAmpMode && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width,minimum-scale=1,initial-scale=1\"\n }),\n !hasCanonicalRel && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"canonical\",\n href: canonicalBase + (__webpack_require__(/*! ../server/utils */ \"./node_modules/next/dist/server/utils.js\").cleanAmpPath)(dangerousAsPath)\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n as: \"script\",\n href: \"https://cdn.ampproject.org/v0.js\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(AmpStyles, {\n styles: styles\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}`\n }\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"noscript\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}`\n }\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n async: true,\n src: \"https://cdn.ampproject.org/v0.js\"\n })\n ]\n }),\n !( true && inAmpMode) && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n !hasAmphtmlRel && hybridAmp && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"amphtml\",\n href: canonicalBase + getAmpPath(ampPath, dangerousAsPath)\n }),\n this.getBeforeInteractiveInlineScripts(),\n !optimizeCss && this.getCssLinks(files),\n !optimizeCss && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }),\n !disableRuntimeJS && !disableJsPreload && this.getPreloadDynamicChunks(),\n !disableRuntimeJS && !disableJsPreload && this.getPreloadMainLinks(files),\n !disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(),\n !disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(),\n !disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files),\n !disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files),\n optimizeCss && this.getCssLinks(files),\n optimizeCss && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }),\n this.context.isDevelopment && // this element is used to mount development styles so the\n // ordering matches production\n // (by default, style-loader injects at the bottom of <head />)\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"noscript\", {\n id: \"__next_css__DO_NOT_USE__\"\n }),\n styles || null\n ]\n }),\n /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, {}, ...headTags || [])\n ]\n });\n }\n}\nfunction handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props) {\n var _children_find_props, _children_find, _children_find_props1, _children_find1;\n if (!props.children) return;\n const scriptLoaderItems = [];\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n const headChildren = (_children_find = children.find((child)=>child.type === Head)) == null ? void 0 : (_children_find_props = _children_find.props) == null ? void 0 : _children_find_props.children;\n const bodyChildren = (_children_find1 = children.find((child)=>child.type === \"body\")) == null ? void 0 : (_children_find_props1 = _children_find1.props) == null ? void 0 : _children_find_props1.children;\n // Scripts with beforeInteractive can be placed inside Head or <body> so children of both needs to be traversed\n const combinedChildren = [\n ...Array.isArray(headChildren) ? headChildren : [\n headChildren\n ],\n ...Array.isArray(bodyChildren) ? bodyChildren : [\n bodyChildren\n ]\n ];\n _react.default.Children.forEach(combinedChildren, (child)=>{\n var _child_type;\n if (!child) return;\n // When using the `next/script` component, register it in script loader.\n if ((_child_type = child.type) == null ? void 0 : _child_type.__nextScript) {\n if (child.props.strategy === \"beforeInteractive\") {\n scriptLoader.beforeInteractive = (scriptLoader.beforeInteractive || []).concat([\n {\n ...child.props\n }\n ]);\n return;\n } else if ([\n \"lazyOnload\",\n \"afterInteractive\",\n \"worker\"\n ].includes(child.props.strategy)) {\n scriptLoaderItems.push(child.props);\n return;\n }\n }\n });\n __NEXT_DATA__.scriptLoader = scriptLoaderItems;\n}\nclass NextScript extends _react.default.Component {\n static #_ = this.contextType = _htmlcontextsharedruntime.HtmlContext;\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n static getInlineScriptSource(context) {\n const { __NEXT_DATA__, largePageDataBytes } = context;\n try {\n const data = JSON.stringify(__NEXT_DATA__);\n if (largePageDataWarnings.has(__NEXT_DATA__.page)) {\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n }\n const bytes = false ? 0 : Buffer.from(data).byteLength;\n const prettyBytes = (__webpack_require__(/*! ../lib/pretty-bytes */ \"./node_modules/next/dist/lib/pretty-bytes.js\")[\"default\"]);\n if (largePageDataBytes && bytes > largePageDataBytes) {\n if (false) {}\n console.warn(`Warning: data for page \"${__NEXT_DATA__.page}\"${__NEXT_DATA__.page === context.dangerousAsPath ? \"\" : ` (path \"${context.dangerousAsPath}\")`} is ${prettyBytes(bytes)} which exceeds the threshold of ${prettyBytes(largePageDataBytes)}, this amount of data can reduce performance.\\nSee more info here: https://nextjs.org/docs/messages/large-page-data`);\n }\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.message.indexOf(\"circular structure\") !== -1) {\n throw new Error(`Circular structure in \"getInitialProps\" result of page \"${__NEXT_DATA__.page}\". https://nextjs.org/docs/messages/circular-structure`);\n }\n throw err;\n }\n }\n render() {\n const { assetPrefix, inAmpMode, buildManifest, unstable_runtimeJS, docComponentsRendered, assetQueryString, disableOptimizedLoading, crossOrigin } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n docComponentsRendered.NextScript = true;\n if ( true && inAmpMode) {\n if (false) {}\n const ampDevFiles = [\n ...buildManifest.devFiles,\n ...buildManifest.polyfillFiles,\n ...buildManifest.ampDevFiles\n ];\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n disableRuntimeJS ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n },\n \"data-ampdevmode\": true\n }),\n ampDevFiles.map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n src: `${assetPrefix}/_next/${file}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-ampdevmode\": true\n }, file))\n ]\n });\n }\n if (true) {\n if (this.props.crossOrigin) console.warn(\"Warning: `NextScript` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n !disableRuntimeJS && buildManifest.devFiles ? buildManifest.devFiles.map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n }, file)) : null,\n disableRuntimeJS ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n }\n }),\n disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(),\n disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(),\n disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files),\n disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files)\n ]\n });\n }\n}\nfunction Html(props) {\n const { inAmpMode, docComponentsRendered, locale, scriptLoader, __NEXT_DATA__ } = (0, _htmlcontextsharedruntime.useHtmlContext)();\n docComponentsRendered.Html = true;\n handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"html\", {\n ...props,\n lang: props.lang || locale || undefined,\n amp: true && inAmpMode ? \"\" : undefined,\n \"data-ampdevmode\": true && inAmpMode && \"development\" !== \"production\" ? \"\" : undefined\n });\n}\nfunction Main() {\n const { docComponentsRendered } = (0, _htmlcontextsharedruntime.useHtmlContext)();\n docComponentsRendered.Main = true;\n // @ts-ignore\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"next-js-internal-body-render-target\", {});\n}\nclass Document extends _react.default.Component {\n /**\n * `getInitialProps` hook returns the context object with the addition of `renderPage`.\n * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers\n */ static getInitialProps(ctx) {\n return ctx.defaultGetInitialProps(ctx);\n }\n render() {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(Html, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"body\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Main, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(NextScript, {})\n ]\n })\n ]\n });\n }\n}\n// Add a special property to the built-in `Document` component so later we can\n// identify if a user customized `Document` is used or not.\nconst InternalFunctionDocument = function InternalFunctionDocument() {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(Html, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"body\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Main, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(NextScript, {})\n ]\n })\n ]\n });\n};\nDocument[_constants.NEXT_BUILTIN_DOCUMENT] = InternalFunctionDocument; //# sourceMappingURL=_document.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19kb2N1bWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQU1OO0FBQ0EsU0FBU00sUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVosT0FBT0MsY0FBYyxDQUFDVSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFSLFNBQVM7SUFDYkcsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQTs7O0NBR0gsR0FBR0MsU0FBUztRQUNMLE9BQU9PO0lBQ1g7QUFDSjtBQUNBLE1BQU1DLGNBQWNDLG1CQUFPQSxDQUFDLDRDQUFtQjtBQUMvQyxNQUFNQyxTQUFTLFdBQVcsR0FBR0MsMEJBQTBCRixtQkFBT0EsQ0FBQyxvQkFBTztBQUN0RSxNQUFNRyxhQUFhSCxtQkFBT0EsQ0FBQyxpRkFBeUI7QUFDcEQsTUFBTUksZ0JBQWdCSixtQkFBT0EsQ0FBQyxtRkFBMEI7QUFDeEQsTUFBTUssY0FBY0wsbUJBQU9BLENBQUMsMkVBQXNCO0FBQ2xELE1BQU1NLFdBQVcsV0FBVyxHQUFHQyx5QkFBeUJQLG1CQUFPQSxDQUFDLGlFQUFpQjtBQUNqRixNQUFNUSw0QkFBNEJSLG1CQUFPQSxDQUFDLCtJQUEyQztBQUNyRixTQUFTTyx5QkFBeUJFLEdBQUc7SUFDakMsT0FBT0EsT0FBT0EsSUFBSUMsVUFBVSxHQUFHRCxNQUFNO1FBQ2pDbEIsU0FBU2tCO0lBQ2I7QUFDSjtBQUNBLFNBQVNFLHlCQUF5QkMsV0FBVztJQUN6QyxJQUFJLE9BQU9DLFlBQVksWUFBWSxPQUFPO0lB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WUFBWXFELEdBQUcsRUFBRTlELE1BQU0sQ0FBQztvQkFDMUMsV0FBVyxHQUFJLElBQUdTLFlBQVlxRCxHQUFHLEVBQUVoRSxZQUFZLENBQUM7aUJBQ25EO1lBQ0w7U0FDSDtJQUNMO0FBQ0o7QUFDQVUsUUFBUSxDQUFDSyxXQUFXb1AscUJBQXFCLENBQUMsR0FBR0QsMEJBRTdDLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvcGFnZXMvX2RvY3VtZW50LmpzPzNiOGMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBIZWFkOiBudWxsLFxuICAgIE5leHRTY3JpcHQ6IG51bGwsXG4gICAgSHRtbDogbnVsbCxcbiAgICBNYWluOiBudWxsLFxuICAgIGRlZmF1bHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgSGVhZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBIZWFkO1xuICAgIH0sXG4gICAgTmV4dFNjcmlwdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBOZXh0U2NyaXB0O1xuICAgIH0sXG4gICAgSHRtbDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBIdG1sO1xuICAgIH0sXG4gICAgTWFpbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBNYWluO1xuICAgIH0sXG4gICAgLyoqXG4gKiBgRG9jdW1lbnRgIGNvbXBvbmVudCBoYW5kbGVzIHRoZSBpbml0aWFsIGBkb2N1bWVudGAgbWFya3VwIGFuZCByZW5kZXJzIG9ubHkgb24gdGhlIHNlcnZlciBzaWRlLlxuICogQ29tbW9ubHkgdXNlZCBmb3IgaW1wbGVtZW50aW5nIHNlcnZlciBzaWRlIHJlbmRlcmluZyBmb3IgYGNzcy1pbi1qc2AgbGlicmFyaWVzLlxuICovIGRlZmF1bHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRG9jdW1lbnQ7XG4gICAgfVxufSk7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZChyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX2NvbnN0YW50cyA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2NvbnN0YW50c1wiKTtcbmNvbnN0IF9nZXRwYWdlZmlsZXMgPSByZXF1aXJlKFwiLi4vc2VydmVyL2dldC1wYWdlLWZpbGVzXCIpO1xuY29uc3QgX2h0bWxlc2NhcGUgPSByZXF1aXJlKFwiLi4vc2VydmVyL2h0bWxlc2NhcGVcIik7XG5jb25zdCBfaXNlcnJvciA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KHJlcXVpcmUoXCIuLi9saWIvaXMtZXJyb3JcIikpO1xuY29uc3QgX2h0bWxjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2h0bWwtY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDoge1xuICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICB9O1xufVxuZnVuY3Rpb24gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKHR5cGVvZiBXZWFrTWFwICE9PSBcImZ1bmN0aW9uXCIpIHJldHVybiBudWxsO1xuICAgIHZhciBjYWNoZUJhYmVsSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgdmFyIGNhY2hlTm9kZUludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuICAgIHJldHVybiAoX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlID0gZnVuY3Rpb24obm9kZUludGVyb3ApIHtcbiAgICAgICAgcmV0dXJuIG5vZGVJbnRlcm9wID8gY2FjaGVOb2RlSW50ZXJvcCA6IGNhY2hlQmFiZWxJbnRlcm9wO1xuICAgIH0pKG5vZGVJbnRlcm9wKTtcbn1cbmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQob2JqLCBub2RlSW50ZXJvcCkge1xuICAgIGlmICghbm9kZUludGVyb3AgJiYgb2JqICYmIG9iai5fX2VzTW9kdWxlKSB7XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2Ygb2JqICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IG9ialxuICAgICAgICB9O1xuICAgIH1cbiAgICB2YXIgY2FjaGUgPSBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApO1xuICAgIGlmIChjYWNoZSAmJiBjYWNoZS5oYXMob2JqKSkge1xuICAgICAgICByZXR1cm4gY2FjaGUuZ2V0KG9iaik7XG4gICAgfVxuICAgIHZhciBuZXdPYmogPSB7fTtcbiAgICB2YXIgaGFzUHJvcGVydHlEZXNjcmlwdG9yID0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG4gICAgZm9yKHZhciBrZXkgaW4gb2JqKXtcbiAgICAgICAgaWYgKGtleSAhPT0gXCJkZWZhdWx0XCIgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkge1xuICAgICAgICAgICAgdmFyIGRlc2MgPSBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwga2V5KSA6IG51bGw7XG4gICAgICAgICAgICBpZiAoZGVzYyAmJiAoZGVzYy5nZXQgfHwgZGVzYy5zZXQpKSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ld09iaiwga2V5LCBkZXNjKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3T2JqW2tleV0gPSBvYmpba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBuZXdPYmouZGVmYXVsdCA9IG9iajtcbiAgICBpZiAoY2FjaGUpIHtcbiAgICAgICAgY2FjaGUuc2V0KG9iaiwgbmV3T2JqKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld09iajtcbn1cbi8qKiBTZXQgb2YgcGFnZXMgdGhhdCBoYXZlIHRyaWdnZXJlZCBhIGxhcmdlIGRhdGEgd2FybmluZyBvbiBwcm9kdWN0aW9uIG1vZGUuICovIGNvbnN0IGxhcmdlUGFnZURhdGFXYXJuaW5ncyA9IG5ldyBTZXQoKTtcbmZ1bmN0aW9uIGdldERvY3VtZW50RmlsZXMoYnVpbGRNYW5pZmVzdCwgcGF0aG5hbWUsIGluQW1wTW9kZSkge1xuICAgIGNvbnN0IHNoYXJlZEZpbGVzID0gKDAsIF9nZXRwYWdlZmlsZXMuZ2V0UGFnZUZpbGVzKShidWlsZE1hbmlmZXN0LCBcIi9fYXBwXCIpO1xuICAgIGNvbnN0IHBhZ2VGaWxlcyA9IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlID8gW10gOiAoMCwgX2dldHBhZ2VmaWxlcy5nZXRQYWdlRmlsZXMpKGJ1aWxkTWFuaWZlc3QsIHBhdGhuYW1lKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBzaGFyZWRGaWxlcyxcbiAgICAgICAgcGFnZUZpbGVzLFxuICAgICAgICBhbGxGaWxlczogW1xuICAgICAgICAgICAgLi4ubmV3IFNldChbXG4gICAgICAgICAgICAgICAgLi4uc2hhcmVkRmlsZXMsXG4gICAgICAgICAgICAgICAgLi4ucGFnZUZpbGVzXG4gICAgICAgICAgICBdKVxuICAgICAgICBdXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGdldFBvbHlmaWxsU2NyaXB0cyhjb250ZXh0LCBwcm9wcykge1xuICAgIC8vIHBvbHlmaWxscy5qcyBoYXMgdG8gYmUgcmVuZGVyZWQgYXMgbm9tb2R1bGUgd2l0aG91dCBhc3luY1xuICAgIC8vIEl0IGFsc28gaGFzIHRvIGJlIHRoZSBmaXJzdCBzY3JpcHQgdG8gbG9hZFxuICAgIGNvbnN0IHsgYXNzZXRQcmVmaXgsIGJ1aWxkTWFuaWZlc3QsIGFzc2V0UXVlcnlTdHJpbmcsIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLCBjcm9zc09yaWdpbiB9ID0gY29udGV4dDtcbiAgICByZXR1cm4gYnVpbGRNYW5pZmVzdC5wb2x5ZmlsbEZpbGVzLmZpbHRlcigocG9seWZpbGwpPT5wb2x5ZmlsbC5lbmRzV2l0aChcIi5qc1wiKSAmJiAhcG9seWZpbGwuZW5kc1dpdGgoXCIubW9kdWxlLmpzXCIpKS5tYXAoKHBvbHlmaWxsKT0+LyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICBkZWZlcjogIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLFxuICAgICAgICAgICAgbm9uY2U6IHByb3BzLm5vbmNlLFxuICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgbm9Nb2R1bGU6IHRydWUsXG4gICAgICAgICAgICBzcmM6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke3BvbHlmaWxsfSR7YXNzZXRRdWVyeVN0cmluZ31gXG4gICAgICAgIH0sIHBvbHlmaWxsKSk7XG59XG5mdW5jdGlvbiBoYXNDb21wb25lbnRQcm9wcyhjaGlsZCkge1xuICAgIHJldHVybiAhIWNoaWxkICYmICEhY2hpbGQucHJvcHM7XG59XG5mdW5jdGlvbiBBbXBTdHlsZXMoeyBzdHlsZXMgfSkge1xuICAgIGlmICghc3R5bGVzKSByZXR1cm4gbnVsbDtcbiAgICAvLyB0cnkgdG8gcGFyc2Ugc3R5bGVzIGZyb20gZnJhZ21lbnQgZm9yIGJhY2t3YXJkcyBjb21wYXRcbiAgICBjb25zdCBjdXJTdHlsZXMgPSBBcnJheS5pc0FycmF5KHN0eWxlcykgPyBzdHlsZXMgOiBbXTtcbiAgICBpZiAoLy8gQHRzLWlnbm9yZSBQcm9wZXJ0eSAncHJvcHMnIGRvZXMgbm90IGV4aXN0IG9uIHR5cGUgUmVhY3RFbGVtZW50XG4gICAgc3R5bGVzLnByb3BzICYmIC8vIEB0cy1pZ25vcmUgUHJvcGVydHkgJ3Byb3BzJyBkb2VzIG5vdCBleGlzdCBvbiB0eXBlIFJlYWN0RWxlbWVudFxuICAgIEFycmF5LmlzQXJyYXkoc3R5bGVzLnByb3BzLmNoaWxkcmVuKSkge1xuICAgICAgICBjb25zdCBoYXNTdHlsZXMgPSAoZWwpPT57XG4gICAgICAgICAgICB2YXIgX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MLCBfZWxfcHJvcHM7XG4gICAgICAgICAgICByZXR1cm4gZWwgPT0gbnVsbCA/IHZvaWQgMCA6IChfZWxfcHJvcHMgPSBlbC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IChfZWxfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPSBfZWxfcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpID09IG51bGwgPyB2b2lkIDAgOiBfZWxfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sO1xuICAgICAgICB9O1xuICAgICAgICAvLyBAdHMtaWdub3JlIFByb3BlcnR5ICdwcm9wcycgZG9lcyBub3QgZXhpc3Qgb24gdHlwZSBSZWFjdEVsZW1lbnRcbiAgICAgICAgc3R5bGVzLnByb3BzLmNoaWxkcmVuLmZvckVhY2goKGNoaWxkKT0+e1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgY2hpbGQuZm9yRWFjaCgoZWwpPT5oYXNTdHlsZXMoZWwpICYmIGN1clN0eWxlcy5wdXNoKGVsKSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGhhc1N0eWxlcyhjaGlsZCkpIHtcbiAgICAgICAgICAgICAgICBjdXJTdHlsZXMucHVzaChjaGlsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKiBBZGQgY3VzdG9tIHN0eWxlcyBiZWZvcmUgQU1QIHN0eWxlcyB0byBwcmV2ZW50IGFjY2lkZW50YWwgb3ZlcnJpZGVzICovIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic3R5bGVcIiwge1xuICAgICAgICBcImFtcC1jdXN0b21cIjogXCJcIixcbiAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgIF9faHRtbDogY3VyU3R5bGVzLm1hcCgoc3R5bGUpPT5zdHlsZS5wcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwpLmpvaW4oXCJcIikucmVwbGFjZSgvXFwvXFwqIyBzb3VyY2VNYXBwaW5nVVJMPS4qXFwqXFwvL2csIFwiXCIpLnJlcGxhY2UoL1xcL1xcKkAgc291cmNlVVJMPS4qP1xcKlxcLy9nLCBcIlwiKVxuICAgICAgICB9XG4gICAgfSk7XG59XG5mdW5jdGlvbiBnZXREeW5hbWljQ2h1bmtzKGNvbnRleHQsIHByb3BzLCBmaWxlcykge1xuICAgIGNvbnN0IHsgZHluYW1pY0ltcG9ydHMsIGFzc2V0UHJlZml4LCBpc0RldmVsb3BtZW50LCBhc3NldFF1ZXJ5U3RyaW5nLCBkaXNhYmxlT3B0aW1pemVkTG9hZGluZywgY3Jvc3NPcmlnaW4gfSA9IGNvbnRleHQ7XG4gICAgcmV0dXJuIGR5bmFtaWNJbXBvcnRzLm1hcCgoZmlsZSk9PntcbiAgICAgICAgaWYgKCFmaWxlLmVuZHNXaXRoKFwiLmpzXCIpIHx8IGZpbGVzLmFsbEZpbGVzLmluY2x1ZGVzKGZpbGUpKSByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgYXN5bmM6ICFpc0RldmVsb3BtZW50ICYmIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLFxuICAgICAgICAgICAgZGVmZXI6ICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyxcbiAgICAgICAgICAgIHNyYzogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgbm9uY2U6IHByb3BzLm5vbmNlLFxuICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luXG4gICAgICAgIH0sIGZpbGUpO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gZ2V0U2NyaXB0cyhjb250ZXh0LCBwcm9wcywgZmlsZXMpIHtcbiAgICB2YXIgX2J1aWxkTWFuaWZlc3RfbG93UHJpb3JpdHlGaWxlcztcbiAgICBjb25zdCB7IGFzc2V0UHJlZml4LCBidWlsZE1hbmlmZXN0LCBpc0RldmVsb3BtZW50LCBhc3NldFF1ZXJ5U3RyaW5nLCBkaXNhYmxlT3B0aW1pemVkTG9hZGluZywgY3Jvc3NPcmlnaW4gfSA9IGNvbnRleHQ7XG4gICAgY29uc3Qgbm9ybWFsU2NyaXB0cyA9IGZpbGVzLmFsbEZpbGVzLmZpbHRlcigoZmlsZSk9PmZpbGUuZW5kc1dpdGgoXCIuanNcIikpO1xuICAgIGNvbnN0IGxvd1ByaW9yaXR5U2NyaXB0cyA9IChfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzID0gYnVpbGRNYW5pZmVzdC5sb3dQcmlvcml0eUZpbGVzKSA9PSBudWxsID8gdm9pZCAwIDogX2J1aWxkTWFuaWZlc3RfbG93UHJpb3JpdHlGaWxlcy5maWx0ZXIoKGZpbGUpPT5maWxlLmVuZHNXaXRoKFwiLmpzXCIpKTtcbiAgICByZXR1cm4gW1xuICAgICAgICAuLi5ub3JtYWxTY3JpcHRzLFxuICAgICAgICAuLi5sb3dQcmlvcml0eVNjcmlwdHNcbiAgICBdLm1hcCgoZmlsZSk9PntcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgc3JjOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtlbmNvZGVVUkkoZmlsZSl9JHthc3NldFF1ZXJ5U3RyaW5nfWAsXG4gICAgICAgICAgICBub25jZTogcHJvcHMubm9uY2UsXG4gICAgICAgICAgICBhc3luYzogIWlzRGV2ZWxvcG1lbnQgJiYgZGlzYWJsZU9wdGltaXplZExvYWRpbmcsXG4gICAgICAgICAgICBkZWZlcjogIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLFxuICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luXG4gICAgICAgIH0sIGZpbGUpO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gZ2V0UHJlTmV4dFdvcmtlclNjcmlwdHMoY29udGV4dCwgcHJvcHMpIHtcbiAgICBjb25zdCB7IGFzc2V0UHJlZml4LCBzY3JpcHRMb2FkZXIsIGNyb3NzT3JpZ2luLCBuZXh0U2NyaXB0V29ya2VycyB9ID0gY29udGV4dDtcbiAgICAvLyBkaXNhYmxlIGBuZXh0U2NyaXB0V29ya2Vyc2AgaW4gZWRnZSBydW50aW1lXG4gICAgaWYgKCFuZXh0U2NyaXB0V29ya2VycyB8fCBwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgPT09IFwiZWRnZVwiKSByZXR1cm4gbnVsbDtcbiAgICB0cnkge1xuICAgICAgICBsZXQgeyBwYXJ0eXRvd25TbmlwcGV0IH0gPSBfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyhcIkBidWlsZGVyLmlvL3BhcnR5dG93bi9pbnRlZ3JhdGlvblwiKTtcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5pc0FycmF5KHByb3BzLmNoaWxkcmVuKSA/IHByb3BzLmNoaWxkcmVuIDogW1xuICAgICAgICAgICAgcHJvcHMuY2hpbGRyZW5cbiAgICAgICAgXTtcbiAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSB1c2VyIGhhcyBkZWZpbmVkIHRoZWlyIG93biBQYXJ0eXRvd24gY29uZmlndXJhdGlvblxuICAgICAgICBjb25zdCB1c2VyRGVmaW5lZENvbmZpZyA9IGNoaWxkcmVuLmZpbmQoKGNoaWxkKT0+e1xuICAgICAgICAgICAgdmFyIF9jaGlsZF9wcm9wc19kYW5nZXJvdXNseVNldElubmVySFRNTCwgX2NoaWxkX3Byb3BzO1xuICAgICAgICAgICAgcmV0dXJuIGhhc0NvbXBvbmVudFByb3BzKGNoaWxkKSAmJiAoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMgPSBjaGlsZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPSBfY2hpbGRfcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sLmxlbmd0aCkgJiYgXCJkYXRhLXBhcnR5dG93bi1jb25maWdcIiBpbiBjaGlsZC5wcm9wcztcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAhdXNlckRlZmluZWRDb25maWcgJiYgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICAgICAgICAgIFwiZGF0YS1wYXJ0eXRvd24tY29uZmlnXCI6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGBcbiAgICAgICAgICAgIHBhcnR5dG93biA9IHtcbiAgICAgICAgICAgICAgbGliOiBcIiR7YXNzZXRQcmVmaXh9L19uZXh0L3N0YXRpYy9+cGFydHl0b3duL1wiXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIGBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICBcImRhdGEtcGFydHl0b3duXCI6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IHBhcnR5dG93blNuaXBwZXQoKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKHNjcmlwdExvYWRlci53b3JrZXIgfHwgW10pLm1hcCgoZmlsZSwgaW5kZXgpPT57XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgc3RyYXRlZ3ksIHNyYywgY2hpbGRyZW46IHNjcmlwdENoaWxkcmVuLCBkYW5nZXJvdXNseVNldElubmVySFRNTCwgLi4uc2NyaXB0UHJvcHMgfSA9IGZpbGU7XG4gICAgICAgICAgICAgICAgICAgIGxldCBzcmNQcm9wcyA9IHt9O1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3JjKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBVc2UgZXh0ZXJuYWwgc3JjIGlmIHByb3ZpZGVkXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmNQcm9wcy5zcmMgPSBzcmM7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgJiYgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBFbWJlZCBpbmxpbmUgc2NyaXB0IGlmIHByb3ZpZGVkIHdpdGggZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyY1Byb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9faHRtbDogZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNjcmlwdENoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBFbWJlZCBpbmxpbmUgc2NyaXB0IGlmIHByb3ZpZGVkIHdpdGggY2hpbGRyZW5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNyY1Byb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9faHRtbDogdHlwZW9mIHNjcmlwdENoaWxkcmVuID09PSBcInN0cmluZ1wiID8gc2NyaXB0Q2hpbGRyZW4gOiBBcnJheS5pc0FycmF5KHNjcmlwdENoaWxkcmVuKSA/IHNjcmlwdENoaWxkcmVuLmpvaW4oXCJcIikgOiBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB1c2FnZSBvZiBuZXh0L3NjcmlwdC4gRGlkIHlvdSBmb3JnZXQgdG8gaW5jbHVkZSBhIHNyYyBhdHRyaWJ1dGUgb3IgYW4gaW5saW5lIHNjcmlwdD8gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvaW52YWxpZC1zY3JpcHRcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9yZWFjdC5jcmVhdGVFbGVtZW50KShcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5zcmNQcm9wcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnNjcmlwdFByb3BzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0L3BhcnR5dG93blwiLFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBzcmMgfHwgaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICBub25jZTogcHJvcHMubm9uY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRhdGEtbnNjcmlwdFwiOiBcIndvcmtlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoKDAsIF9pc2Vycm9yLmRlZmF1bHQpKGVycikgJiYgZXJyLmNvZGUgIT09IFwiTU9EVUxFX05PVF9GT1VORFwiKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFdhcm5pbmc6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0UHJlTmV4dFNjcmlwdHMoY29udGV4dCwgcHJvcHMpIHtcbiAgICBjb25zdCB7IHNjcmlwdExvYWRlciwgZGlzYWJsZU9wdGltaXplZExvYWRpbmcsIGNyb3NzT3JpZ2luIH0gPSBjb250ZXh0O1xuICAgIGNvbnN0IHdlYldvcmtlclNjcmlwdHMgPSBnZXRQcmVOZXh0V29ya2VyU2NyaXB0cyhjb250ZXh0LCBwcm9wcyk7XG4gICAgY29uc3QgYmVmb3JlSW50ZXJhY3RpdmVTY3JpcHRzID0gKHNjcmlwdExvYWRlci5iZWZvcmVJbnRlcmFjdGl2ZSB8fCBbXSkuZmlsdGVyKChzY3JpcHQpPT5zY3JpcHQuc3JjKS5tYXAoKGZpbGUsIGluZGV4KT0+e1xuICAgICAgICBjb25zdCB7IHN0cmF0ZWd5LCAuLi5zY3JpcHRQcm9wcyB9ID0gZmlsZTtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9yZWFjdC5jcmVhdGVFbGVtZW50KShcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICAuLi5zY3JpcHRQcm9wcyxcbiAgICAgICAgICAgIGtleTogc2NyaXB0UHJvcHMuc3JjIHx8IGluZGV4LFxuICAgICAgICAgICAgZGVmZXI6IHNjcmlwdFByb3BzLmRlZmVyID8/ICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyxcbiAgICAgICAgICAgIG5vbmNlOiBwcm9wcy5ub25jZSxcbiAgICAgICAgICAgIFwiZGF0YS1uc2NyaXB0XCI6IFwiYmVmb3JlSW50ZXJhY3RpdmVcIixcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBwcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIHdlYldvcmtlclNjcmlwdHMsXG4gICAgICAgICAgICBiZWZvcmVJbnRlcmFjdGl2ZVNjcmlwdHNcbiAgICAgICAgXVxuICAgIH0pO1xufVxuZnVuY3Rpb24gZ2V0SGVhZEhUTUxQcm9wcyhwcm9wcykge1xuICAgIGNvbnN0IHsgY3Jvc3NPcmlnaW4sIG5vbmNlLCAuLi5yZXN0UHJvcHMgfSA9IHByb3BzO1xuICAgIC8vIFRoaXMgYXNzaWdubWVudCBpcyBuZWNlc3NhcnkgZm9yIGFkZGl0aW9uYWwgdHlwZSBjaGVja2luZyB0byBhdm9pZCB1bnN1cHBvcnRlZCBhdHRyaWJ1dGVzIGluIDxoZWFkPlxuICAgIGNvbnN0IGhlYWRQcm9wcyA9IHJlc3RQcm9wcztcbiAgICByZXR1cm4gaGVhZFByb3BzO1xufVxuZnVuY3Rpb24gZ2V0QW1wUGF0aChhbXBQYXRoLCBhc1BhdGgpIHtcbiAgICByZXR1cm4gYW1wUGF0aCB8fCBgJHthc1BhdGh9JHthc1BhdGguaW5jbHVkZXMoXCI/XCIpID8gXCImXCIgOiBcIj9cIn1hbXA9MWA7XG59XG5mdW5jdGlvbiBnZXROZXh0Rm9udExpbmtUYWdzKG5leHRGb250TWFuaWZlc3QsIGRhbmdlcm91c0FzUGF0aCwgYXNzZXRQcmVmaXggPSBcIlwiKSB7XG4gICAgaWYgKCFuZXh0Rm9udE1hbmlmZXN0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwcmVjb25uZWN0OiBudWxsLFxuICAgICAgICAgICAgcHJlbG9hZDogbnVsbFxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCBhcHBGb250c0VudHJ5ID0gbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1tcIi9fYXBwXCJdO1xuICAgIGNvbnN0IHBhZ2VGb250c0VudHJ5ID0gbmV4dEZvbnRNYW5pZmVzdC5wYWdlc1tkYW5nZXJvdXNBc1BhdGhdO1xuICAgIGNvbnN0IHByZWxvYWRlZEZvbnRGaWxlcyA9IFtcbiAgICAgICAgLi4uYXBwRm9udHNFbnRyeSA/PyBbXSxcbiAgICAgICAgLi4ucGFnZUZvbnRzRW50cnkgPz8gW11cbiAgICBdO1xuICAgIC8vIElmIG5vIGZvbnQgZmlsZXMgc2hvdWxkIHByZWxvYWQgYnV0IHRoZXJlJ3MgYW4gZW50cnkgZm9yIHRoZSBwYXRoLCBhZGQgYSBwcmVjb25uZWN0IHRhZy5cbiAgICBjb25zdCBwcmVjb25uZWN0VG9TZWxmID0gISEocHJlbG9hZGVkRm9udEZpbGVzLmxlbmd0aCA9PT0gMCAmJiAoYXBwRm9udHNFbnRyeSB8fCBwYWdlRm9udHNFbnRyeSkpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHByZWNvbm5lY3Q6IHByZWNvbm5lY3RUb1NlbGYgPyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibGlua1wiLCB7XG4gICAgICAgICAgICBcImRhdGEtbmV4dC1mb250XCI6IG5leHRGb250TWFuaWZlc3QucGFnZXNVc2luZ1NpemVBZGp1c3QgPyBcInNpemUtYWRqdXN0XCIgOiBcIlwiLFxuICAgICAgICAgICAgcmVsOiBcInByZWNvbm5lY3RcIixcbiAgICAgICAgICAgIGhyZWY6IFwiL1wiLFxuICAgICAgICAgICAgY3Jvc3NPcmlnaW46IFwiYW5vbnltb3VzXCJcbiAgICAgICAgfSkgOiBudWxsLFxuICAgICAgICBwcmVsb2FkOiBwcmVsb2FkZWRGb250RmlsZXMgPyBwcmVsb2FkZWRGb250RmlsZXMubWFwKChmb250RmlsZSk9PntcbiAgICAgICAgICAgIGNvbnN0IGV4dCA9IC9cXC4od29mZnx3b2ZmMnxlb3R8dHRmfG90ZikkLy5leGVjKGZvbnRGaWxlKVsxXTtcbiAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibGlua1wiLCB7XG4gICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICBocmVmOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtlbmNvZGVVUkkoZm9udEZpbGUpfWAsXG4gICAgICAgICAgICAgICAgYXM6IFwiZm9udFwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IGBmb250LyR7ZXh0fWAsXG4gICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IFwiYW5vbnltb3VzXCIsXG4gICAgICAgICAgICAgICAgXCJkYXRhLW5leHQtZm9udFwiOiBmb250RmlsZS5pbmNsdWRlcyhcIi1zXCIpID8gXCJzaXplLWFkanVzdFwiIDogXCJcIlxuICAgICAgICAgICAgfSwgZm9udEZpbGUpO1xuICAgICAgICB9KSA6IG51bGxcbiAgICB9O1xufVxuY2xhc3MgSGVhZCBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljICNfID0gdGhpcy5jb250ZXh0VHlwZSA9IF9odG1sY29udGV4dHNoYXJlZHJ1bnRpbWUuSHRtbENvbnRleHQ7XG4gICAgZ2V0Q3NzTGlua3MoZmlsZXMpIHtcbiAgICAgICAgY29uc3QgeyBhc3NldFByZWZpeCwgYXNzZXRRdWVyeVN0cmluZywgZHluYW1pY0ltcG9ydHMsIGNyb3NzT3JpZ2luLCBvcHRpbWl6ZUNzcywgb3B0aW1pemVGb250cyB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICBjb25zdCBjc3NGaWxlcyA9IGZpbGVzLmFsbEZpbGVzLmZpbHRlcigoZik9PmYuZW5kc1dpdGgoXCIuY3NzXCIpKTtcbiAgICAgICAgY29uc3Qgc2hhcmVkRmlsZXMgPSBuZXcgU2V0KGZpbGVzLnNoYXJlZEZpbGVzKTtcbiAgICAgICAgLy8gVW5tYW5hZ2VkIGZpbGVzIGFyZSBDU1MgZmlsZXMgdGhhdCB3aWxsIGJlIGhhbmRsZWQgZGlyZWN0bHkgYnkgdGhlXG4gICAgICAgIC8vIHdlYnBhY2sgcnVudGltZSAoYG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luYCkuXG4gICAgICAgIGxldCB1bm1hbmdlZEZpbGVzID0gbmV3IFNldChbXSk7XG4gICAgICAgIGxldCBkeW5hbWljQ3NzRmlsZXMgPSBBcnJheS5mcm9tKG5ldyBTZXQoZHluYW1pY0ltcG9ydHMuZmlsdGVyKChmaWxlKT0+ZmlsZS5lbmRzV2l0aChcIi5jc3NcIikpKSk7XG4gICAgICAgIGlmIChkeW5hbWljQ3NzRmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBleGlzdGluZyA9IG5ldyBTZXQoY3NzRmlsZXMpO1xuICAgICAgICAgICAgZHluYW1pY0Nzc0ZpbGVzID0gZHluYW1pY0Nzc0ZpbGVzLmZpbHRlcigoZik9PiEoZXhpc3RpbmcuaGFzKGYpIHx8IHNoYXJlZEZpbGVzLmhhcyhmKSkpO1xuICAgICAgICAgICAgdW5tYW5nZWRGaWxlcyA9IG5ldyBTZXQoZHluYW1pY0Nzc0ZpbGVzKTtcbiAgICAgICAgICAgIGNzc0ZpbGVzLnB1c2goLi4uZHluYW1pY0Nzc0ZpbGVzKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY3NzTGlua0VsZW1lbnRzID0gW107XG4gICAgICAgIGNzc0ZpbGVzLmZvckVhY2goKGZpbGUpPT57XG4gICAgICAgICAgICBjb25zdCBpc1NoYXJlZEZpbGUgPSBzaGFyZWRGaWxlcy5oYXMoZmlsZSk7XG4gICAgICAgICAgICBpZiAoIW9wdGltaXplQ3NzKSB7XG4gICAgICAgICAgICAgICAgY3NzTGlua0VsZW1lbnRzLnB1c2goLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgICAgICBhczogXCJzdHlsZVwiLFxuICAgICAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgICAgIH0sIGAke2ZpbGV9LXByZWxvYWRgKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBpc1VubWFuYWdlZEZpbGUgPSB1bm1hbmdlZEZpbGVzLmhhcyhmaWxlKTtcbiAgICAgICAgICAgIGNzc0xpbmtFbGVtZW50cy5wdXNoKC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICByZWw6IFwic3R5bGVzaGVldFwiLFxuICAgICAgICAgICAgICAgIGhyZWY6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSShmaWxlKX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpbixcbiAgICAgICAgICAgICAgICBcImRhdGEtbi1nXCI6IGlzVW5tYW5hZ2VkRmlsZSA/IHVuZGVmaW5lZCA6IGlzU2hhcmVkRmlsZSA/IFwiXCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgXCJkYXRhLW4tcFwiOiBpc1VubWFuYWdlZEZpbGUgPyB1bmRlZmluZWQgOiBpc1NoYXJlZEZpbGUgPyB1bmRlZmluZWQgOiBcIlwiXG4gICAgICAgICAgICB9LCBmaWxlKSk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwiZGV2ZWxvcG1lbnRcIiAmJiBvcHRpbWl6ZUZvbnRzKSB7XG4gICAgICAgICAgICBjc3NMaW5rRWxlbWVudHMgPSB0aGlzLm1ha2VTdHlsZXNoZWV0SW5lcnQoY3NzTGlua0VsZW1lbnRzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY3NzTGlua0VsZW1lbnRzLmxlbmd0aCA9PT0gMCA/IG51bGwgOiBjc3NMaW5rRWxlbWVudHM7XG4gICAgfVxuICAgIGdldFByZWxvYWREeW5hbWljQ2h1bmtzKCkge1xuICAgICAgICBjb25zdCB7IGR5bmFtaWNJbXBvcnRzLCBhc3NldFByZWZpeCwgYXNzZXRRdWVyeVN0cmluZywgY3Jvc3NPcmlnaW4gfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgcmV0dXJuIGR5bmFtaWNJbXBvcnRzLm1hcCgoZmlsZSk9PntcbiAgICAgICAgICAgIGlmICghZmlsZS5lbmRzV2l0aChcIi5qc1wiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgICAgICByZWw6IFwicHJlbG9hZFwiLFxuICAgICAgICAgICAgICAgIGhyZWY6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSShmaWxlKX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIixcbiAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgfSwgZmlsZSk7XG4gICAgICAgIH0pLy8gRmlsdGVyIG91dCBudWxsZWQgc2NyaXB0c1xuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuICAgIH1cbiAgICBnZXRQcmVsb2FkTWFpbkxpbmtzKGZpbGVzKSB7XG4gICAgICAgIGNvbnN0IHsgYXNzZXRQcmVmaXgsIGFzc2V0UXVlcnlTdHJpbmcsIHNjcmlwdExvYWRlciwgY3Jvc3NPcmlnaW4gfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgcHJlbG9hZEZpbGVzID0gZmlsZXMuYWxsRmlsZXMuZmlsdGVyKChmaWxlKT0+e1xuICAgICAgICAgICAgcmV0dXJuIGZpbGUuZW5kc1dpdGgoXCIuanNcIik7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uKHNjcmlwdExvYWRlci5iZWZvcmVJbnRlcmFjdGl2ZSB8fCBbXSkubWFwKChmaWxlKT0+LyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogZmlsZS5zcmMsXG4gICAgICAgICAgICAgICAgICAgIGFzOiBcInNjcmlwdFwiLFxuICAgICAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgICAgIH0sIGZpbGUuc3JjKSksXG4gICAgICAgICAgICAuLi5wcmVsb2FkRmlsZXMubWFwKChmaWxlKT0+LyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIixcbiAgICAgICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgICAgICAgICB9LCBmaWxlKSlcbiAgICAgICAgXTtcbiAgICB9XG4gICAgZ2V0QmVmb3JlSW50ZXJhY3RpdmVJbmxpbmVTY3JpcHRzKCkge1xuICAgICAgICBjb25zdCB7IHNjcmlwdExvYWRlciB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICBjb25zdCB7IG5vbmNlLCBjcm9zc09yaWdpbiB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgcmV0dXJuIChzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgfHwgW10pLmZpbHRlcigoc2NyaXB0KT0+IXNjcmlwdC5zcmMgJiYgKHNjcmlwdC5kYW5nZXJvdXNseVNldElubmVySFRNTCB8fCBzY3JpcHQuY2hpbGRyZW4pKS5tYXAoKGZpbGUsIGluZGV4KT0+e1xuICAgICAgICAgICAgY29uc3QgeyBzdHJhdGVneSwgY2hpbGRyZW4sIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLCBzcmMsIC4uLnNjcmlwdFByb3BzIH0gPSBmaWxlO1xuICAgICAgICAgICAgbGV0IGh0bWwgPSBcIlwiO1xuICAgICAgICAgICAgaWYgKGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICYmIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCkge1xuICAgICAgICAgICAgICAgIGh0bWwgPSBkYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWw7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgaHRtbCA9IHR5cGVvZiBjaGlsZHJlbiA9PT0gXCJzdHJpbmdcIiA/IGNoaWxkcmVuIDogQXJyYXkuaXNBcnJheShjaGlsZHJlbikgPyBjaGlsZHJlbi5qb2luKFwiXCIpIDogXCJcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfcmVhY3QuY3JlYXRlRWxlbWVudCkoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgIC4uLnNjcmlwdFByb3BzLFxuICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgICAgIF9faHRtbDogaHRtbFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAga2V5OiBzY3JpcHRQcm9wcy5pZCB8fCBpbmRleCxcbiAgICAgICAgICAgICAgICBub25jZTogbm9uY2UsXG4gICAgICAgICAgICAgICAgXCJkYXRhLW5zY3JpcHRcIjogXCJiZWZvcmVJbnRlcmFjdGl2ZVwiLFxuICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBjcm9zc09yaWdpbiB8fCBwcm9jZXNzLmVudi5fX05FWFRfQ1JPU1NfT1JJR0lOXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGdldER5bmFtaWNDaHVua3MoZmlsZXMpIHtcbiAgICAgICAgcmV0dXJuIGdldER5bmFtaWNDaHVua3ModGhpcy5jb250ZXh0LCB0aGlzLnByb3BzLCBmaWxlcyk7XG4gICAgfVxuICAgIGdldFByZU5leHRTY3JpcHRzKCkge1xuICAgICAgICByZXR1cm4gZ2V0UHJlTmV4dFNjcmlwdHModGhpcy5jb250ZXh0LCB0aGlzLnByb3BzKTtcbiAgICB9XG4gICAgZ2V0U2NyaXB0cyhmaWxlcykge1xuICAgICAgICByZXR1cm4gZ2V0U2NyaXB0cyh0aGlzLmNvbnRleHQsIHRoaXMucHJvcHMsIGZpbGVzKTtcbiAgICB9XG4gICAgZ2V0UG9seWZpbGxTY3JpcHRzKCkge1xuICAgICAgICByZXR1cm4gZ2V0UG9seWZpbGxTY3JpcHRzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcyk7XG4gICAgfVxuICAgIG1ha2VTdHlsZXNoZWV0SW5lcnQobm9kZSkge1xuICAgICAgICByZXR1cm4gX3JlYWN0LmRlZmF1bHQuQ2hpbGRyZW4ubWFwKG5vZGUsIChjKT0+e1xuICAgICAgICAgICAgdmFyIF9jX3Byb3BzLCBfY19wcm9wczE7XG4gICAgICAgICAgICBpZiAoKGMgPT0gbnVsbCA/IHZvaWQgMCA6IGMudHlwZSkgPT09IFwibGlua1wiICYmIChjID09IG51bGwgPyB2b2lkIDAgOiAoX2NfcHJvcHMgPSBjLnByb3BzKSA9PSBudWxsID8gdm9pZCAwIDogX2NfcHJvcHMuaHJlZikgJiYgX2NvbnN0YW50cy5PUFRJTUlaRURfRk9OVF9QUk9WSURFUlMuc29tZSgoeyB1cmwgfSk9PntcbiAgICAgICAgICAgICAgICB2YXIgX2NfcHJvcHNfaHJlZiwgX2NfcHJvcHM7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGMgPT0gbnVsbCA/IHZvaWQgMCA6IChfY19wcm9wcyA9IGMucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiAoX2NfcHJvcHNfaHJlZiA9IF9jX3Byb3BzLmhyZWYpID09IG51bGwgPyB2b2lkIDAgOiBfY19wcm9wc19ocmVmLnN0YXJ0c1dpdGgodXJsKTtcbiAgICAgICAgICAgIH0pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmMucHJvcHMgfHwge30sXG4gICAgICAgICAgICAgICAgICAgIFwiZGF0YS1ocmVmXCI6IGMucHJvcHMuaHJlZixcbiAgICAgICAgICAgICAgICAgICAgaHJlZjogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jbG9uZUVsZW1lbnQoYywgbmV3UHJvcHMpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjID09IG51bGwgPyB2b2lkIDAgOiAoX2NfcHJvcHMxID0gYy5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jX3Byb3BzMS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1Byb3BzID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5jLnByb3BzIHx8IHt9LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5tYWtlU3R5bGVzaGVldEluZXJ0KGMucHJvcHMuY2hpbGRyZW4pXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jbG9uZUVsZW1lbnQoYywgbmV3UHJvcHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGM7XG4gICAgICAgIC8vIEB0eXBlcy9yZWFjdCBidWcuIFJldHVybmVkIHZhbHVlIGZyb20gLm1hcCB3aWxsIG5vdCBiZSBgbnVsbGAgaWYgeW91IHBhc3MgaW4gYFtudWxsXWBcbiAgICAgICAgfSkuZmlsdGVyKEJvb2xlYW4pO1xuICAgIH1cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGNvbnN0IHsgc3R5bGVzLCBhbXBQYXRoLCBpbkFtcE1vZGUsIGh5YnJpZEFtcCwgY2Fub25pY2FsQmFzZSwgX19ORVhUX0RBVEFfXywgZGFuZ2Vyb3VzQXNQYXRoLCBoZWFkVGFncywgdW5zdGFibGVfcnVudGltZUpTLCB1bnN0YWJsZV9Kc1ByZWxvYWQsIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLCBvcHRpbWl6ZUNzcywgb3B0aW1pemVGb250cywgYXNzZXRQcmVmaXgsIG5leHRGb250TWFuaWZlc3QgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgZGlzYWJsZVJ1bnRpbWVKUyA9IHVuc3RhYmxlX3J1bnRpbWVKUyA9PT0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGRpc2FibGVKc1ByZWxvYWQgPSB1bnN0YWJsZV9Kc1ByZWxvYWQgPT09IGZhbHNlIHx8ICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZztcbiAgICAgICAgdGhpcy5jb250ZXh0LmRvY0NvbXBvbmVudHNSZW5kZXJlZC5IZWFkID0gdHJ1ZTtcbiAgICAgICAgbGV0IHsgaGVhZCB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICBsZXQgY3NzUHJlbG9hZHMgPSBbXTtcbiAgICAgICAgbGV0IG90aGVySGVhZEVsZW1lbnRzID0gW107XG4gICAgICAgIGlmIChoZWFkKSB7XG4gICAgICAgICAgICBoZWFkLmZvckVhY2goKGMpPT57XG4gICAgICAgICAgICAgICAgbGV0IG1ldGFUYWc7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3ROZXh0SGVhZCkge1xuICAgICAgICAgICAgICAgICAgICBtZXRhVGFnID0gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwibWV0YVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm5leHQtaGVhZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIxXCJcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChjICYmIGMudHlwZSA9PT0gXCJsaW5rXCIgJiYgYy5wcm9wc1tcInJlbFwiXSA9PT0gXCJwcmVsb2FkXCIgJiYgYy5wcm9wc1tcImFzXCJdID09PSBcInN0eWxlXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbWV0YVRhZyAmJiBjc3NQcmVsb2Fkcy5wdXNoKG1ldGFUYWcpO1xuICAgICAgICAgICAgICAgICAgICBjc3NQcmVsb2Fkcy5wdXNoKGMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWV0YVRhZyAmJiAoYy50eXBlICE9PSBcIm1ldGFcIiB8fCAhYy5wcm9wc1tcImNoYXJTZXRcIl0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXJIZWFkRWxlbWVudHMucHVzaChtZXRhVGFnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG90aGVySGVhZEVsZW1lbnRzLnB1c2goYyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGhlYWQgPSBjc3NQcmVsb2Fkcy5jb25jYXQob3RoZXJIZWFkRWxlbWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjaGlsZHJlbiA9IF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLnRvQXJyYXkodGhpcy5wcm9wcy5jaGlsZHJlbikuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAvLyBzaG93IGEgd2FybmluZyBpZiBIZWFkIGNvbnRhaW5zIDx0aXRsZT4gKG9ubHkgaW4gZGV2ZWxvcG1lbnQpXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuID0gX3JlYWN0LmRlZmF1bHQuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpPT57XG4gICAgICAgICAgICAgICAgdmFyIF9jaGlsZF9wcm9wcztcbiAgICAgICAgICAgICAgICBjb25zdCBpc1JlYWN0SGVsbWV0ID0gY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMgPSBjaGlsZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZF9wcm9wc1tcImRhdGEtcmVhY3QtaGVsbWV0XCJdO1xuICAgICAgICAgICAgICAgIGlmICghaXNSZWFjdEhlbG1ldCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2NoaWxkX3Byb3BzMTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKChjaGlsZCA9PSBudWxsID8gdm9pZCAwIDogY2hpbGQudHlwZSkgPT09IFwidGl0bGVcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiV2FybmluZzogPHRpdGxlPiBzaG91bGQgbm90IGJlIHVzZWQgaW4gX2RvY3VtZW50LmpzJ3MgPEhlYWQ+LiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uby1kb2N1bWVudC10aXRsZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IGNoaWxkLnR5cGUpID09PSBcIm1ldGFcIiAmJiAoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRfcHJvcHMxID0gY2hpbGQucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRfcHJvcHMxLm5hbWUpID09PSBcInZpZXdwb3J0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIldhcm5pbmc6IHZpZXdwb3J0IG1ldGEgdGFncyBzaG91bGQgbm90IGJlIHVzZWQgaW4gX2RvY3VtZW50LmpzJ3MgPEhlYWQ+LiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uby1kb2N1bWVudC12aWV3cG9ydC1tZXRhXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgICAgIC8vIEB0eXBlcy9yZWFjdCBidWcuIFJldHVybmVkIHZhbHVlIGZyb20gLm1hcCB3aWxsIG5vdCBiZSBgbnVsbGAgaWYgeW91IHBhc3MgaW4gYFtudWxsXWBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4pIGNvbnNvbGUud2FybihcIldhcm5pbmc6IGBIZWFkYCBhdHRyaWJ1dGUgYGNyb3NzT3JpZ2luYCBpcyBkZXByZWNhdGVkLiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9kb2MtY3Jvc3NvcmlnaW4tZGVwcmVjYXRlZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwiZGV2ZWxvcG1lbnRcIiAmJiBvcHRpbWl6ZUZvbnRzICYmICEocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpKSB7XG4gICAgICAgICAgICBjaGlsZHJlbiA9IHRoaXMubWFrZVN0eWxlc2hlZXRJbmVydChjaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGhhc0FtcGh0bWxSZWwgPSBmYWxzZTtcbiAgICAgICAgbGV0IGhhc0Nhbm9uaWNhbFJlbCA9IGZhbHNlO1xuICAgICAgICAvLyBzaG93IHdhcm5pbmcgYW5kIHJlbW92ZSBjb25mbGljdGluZyBhbXAgaGVhZCB0YWdzXG4gICAgICAgIGhlYWQgPSBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5tYXAoaGVhZCB8fCBbXSwgKGNoaWxkKT0+e1xuICAgICAgICAgICAgaWYgKCFjaGlsZCkgcmV0dXJuIGNoaWxkO1xuICAgICAgICAgICAgY29uc3QgeyB0eXBlLCBwcm9wcyB9ID0gY2hpbGQ7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpIHtcbiAgICAgICAgICAgICAgICBsZXQgYmFkUHJvcCA9IFwiXCI7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09IFwibWV0YVwiICYmIHByb3BzLm5hbWUgPT09IFwidmlld3BvcnRcIikge1xuICAgICAgICAgICAgICAgICAgICBiYWRQcm9wID0gJ25hbWU9XCJ2aWV3cG9ydFwiJztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IFwibGlua1wiICYmIHByb3BzLnJlbCA9PT0gXCJjYW5vbmljYWxcIikge1xuICAgICAgICAgICAgICAgICAgICBoYXNDYW5vbmljYWxSZWwgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gXCJzY3JpcHRcIikge1xuICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IGJsb2NrIGlmXG4gICAgICAgICAgICAgICAgICAgIC8vIDEuIGl0IGhhcyBhIHNyYyBhbmQgaXNuJ3QgcG9pbnRpbmcgdG8gYW1wcHJvamVjdCdzIENETlxuICAgICAgICAgICAgICAgICAgICAvLyAyLiBpdCBpcyB1c2luZyBkYW5nZXJvdXNseVNldElubmVySFRNTCB3aXRob3V0IGEgdHlwZSBvclxuICAgICAgICAgICAgICAgICAgICAvLyBhIHR5cGUgb2YgdGV4dC9qYXZhc2NyaXB0XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm9wcy5zcmMgJiYgcHJvcHMuc3JjLmluZGV4T2YoXCJhbXBwcm9qZWN0XCIpIDwgLTEgfHwgcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgJiYgKCFwcm9wcy50eXBlIHx8IHByb3BzLnR5cGUgPT09IFwidGV4dC9qYXZhc2NyaXB0XCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWRQcm9wID0gXCI8c2NyaXB0XCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhwcm9wcykuZm9yRWFjaCgocHJvcCk9PntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWRQcm9wICs9IGAgJHtwcm9wfT1cIiR7cHJvcHNbcHJvcF19XCJgO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWRQcm9wICs9IFwiLz5cIjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoYmFkUHJvcCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYEZvdW5kIGNvbmZsaWN0aW5nIGFtcCB0YWcgXCIke2NoaWxkLnR5cGV9XCIgd2l0aCBjb25mbGljdGluZyBwcm9wICR7YmFkUHJvcH0gaW4gJHtfX05FWFRfREFUQV9fLnBhZ2V9LiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9jb25mbGljdGluZy1hbXAtdGFnYCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gbm9uLWFtcCBtb2RlXG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09IFwibGlua1wiICYmIHByb3BzLnJlbCA9PT0gXCJhbXBodG1sXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFzQW1waHRtbFJlbCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICAvLyBAdHlwZXMvcmVhY3QgYnVnLiBSZXR1cm5lZCB2YWx1ZSBmcm9tIC5tYXAgd2lsbCBub3QgYmUgYG51bGxgIGlmIHlvdSBwYXNzIGluIGBbbnVsbF1gXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBmaWxlcyA9IGdldERvY3VtZW50RmlsZXModGhpcy5jb250ZXh0LmJ1aWxkTWFuaWZlc3QsIHRoaXMuY29udGV4dC5fX05FWFRfREFUQV9fLnBhZ2UsIHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlKTtcbiAgICAgICAgY29uc3QgbmV4dEZvbnRMaW5rVGFncyA9IGdldE5leHRGb250TGlua1RhZ3MobmV4dEZvbnRNYW5pZmVzdCwgZGFuZ2Vyb3VzQXNQYXRoLCBhc3NldFByZWZpeCk7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImhlYWRcIiwge1xuICAgICAgICAgICAgLi4uZ2V0SGVhZEhUTUxQcm9wcyh0aGlzLnByb3BzKSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmlzRGV2ZWxvcG1lbnQgJiYgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhLW5leHQtaGlkZS1mb3VjXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhLWFtcGRldm1vZGVcIjogcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgPyBcInRydWVcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGBib2R5e2Rpc3BsYXk6bm9uZX1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibm9zY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YS1uZXh0LWhpZGUtZm91Y1wiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YS1hbXBkZXZtb2RlXCI6IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlID8gXCJ0cnVlXCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGBib2R5e2Rpc3BsYXk6YmxvY2t9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBoZWFkLFxuICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5zdHJpY3ROZXh0SGVhZCA/IG51bGwgOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibWV0YVwiLCB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwibmV4dC1oZWFkLWNvdW50XCIsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLmNvdW50KGhlYWQgfHwgW10pLnRvU3RyaW5nKClcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgICAgICAgICBvcHRpbWl6ZUZvbnRzICYmIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJuZXh0LWZvbnQtcHJlY29ubmVjdFwiXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgbmV4dEZvbnRMaW5rVGFncy5wcmVjb25uZWN0LFxuICAgICAgICAgICAgICAgIG5leHRGb250TGlua1RhZ3MucHJlbG9hZCxcbiAgICAgICAgICAgICAgICBwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgIT09IFwiZWRnZVwiICYmIGluQW1wTW9kZSAmJiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcIm1ldGFcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwidmlld3BvcnRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIndpZHRoPWRldmljZS13aWR0aCxtaW5pbXVtLXNjYWxlPTEsaW5pdGlhbC1zY2FsZT0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgIWhhc0Nhbm9uaWNhbFJlbCAmJiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibGlua1wiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsOiBcImNhbm9uaWNhbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY6IGNhbm9uaWNhbEJhc2UgKyByZXF1aXJlKFwiLi4vc2VydmVyL3V0aWxzXCIpLmNsZWFuQW1wUGF0aChkYW5nZXJvdXNBc1BhdGgpXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw6IFwicHJlbG9hZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzOiBcInNjcmlwdFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY6IFwiaHR0cHM6Ly9jZG4uYW1wcHJvamVjdC5vcmcvdjAuanNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKEFtcFN0eWxlcywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlczogc3R5bGVzXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhbXAtYm9pbGVycGxhdGVcIjogXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGBib2R5ey13ZWJraXQtYW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGg7LW1vei1hbmltYXRpb246LWFtcC1zdGFydCA4cyBzdGVwcygxLGVuZCkgMHMgMSBub3JtYWwgYm90aDstbXMtYW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGg7YW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGh9QC13ZWJraXQta2V5ZnJhbWVzIC1hbXAtc3RhcnR7ZnJvbXt2aXNpYmlsaXR5OmhpZGRlbn10b3t2aXNpYmlsaXR5OnZpc2libGV9fUAtbW96LWtleWZyYW1lcyAtYW1wLXN0YXJ0e2Zyb217dmlzaWJpbGl0eTpoaWRkZW59dG97dmlzaWJpbGl0eTp2aXNpYmxlfX1ALW1zLWtleWZyYW1lcyAtYW1wLXN0YXJ0e2Zyb217dmlzaWJpbGl0eTpoaWRkZW59dG97dmlzaWJpbGl0eTp2aXNpYmxlfX1ALW8ta2V5ZnJhbWVzIC1hbXAtc3RhcnR7ZnJvbXt2aXNpYmlsaXR5OmhpZGRlbn10b3t2aXNpYmlsaXR5OnZpc2libGV9fUBrZXlmcmFtZXMgLWFtcC1zdGFydHtmcm9te3Zpc2liaWxpdHk6aGlkZGVufXRve3Zpc2liaWxpdHk6dmlzaWJsZX19YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInN0eWxlXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJhbXAtYm9pbGVycGxhdGVcIjogXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9faHRtbDogYGJvZHl7LXdlYmtpdC1hbmltYXRpb246bm9uZTstbW96LWFuaW1hdGlvbjpub25lOy1tcy1hbmltYXRpb246bm9uZTthbmltYXRpb246bm9uZX1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM6IFwiaHR0cHM6Ly9jZG4uYW1wcHJvamVjdC5vcmcvdjAuanNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICEocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpICYmIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAhaGFzQW1waHRtbFJlbCAmJiBoeWJyaWRBbXAgJiYgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbDogXCJhbXBodG1sXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZjogY2Fub25pY2FsQmFzZSArIGdldEFtcFBhdGgoYW1wUGF0aCwgZGFuZ2Vyb3VzQXNQYXRoKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEJlZm9yZUludGVyYWN0aXZlSW5saW5lU2NyaXB0cygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgIW9wdGltaXplQ3NzICYmIHRoaXMuZ2V0Q3NzTGlua3MoZmlsZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgIW9wdGltaXplQ3NzICYmIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJub3NjcmlwdFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhLW4tY3NzXCI6IHRoaXMucHJvcHMubm9uY2UgPz8gXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAhZGlzYWJsZVJ1bnRpbWVKUyAmJiAhZGlzYWJsZUpzUHJlbG9hZCAmJiB0aGlzLmdldFByZWxvYWREeW5hbWljQ2h1bmtzKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAhZGlzYWJsZVJ1bnRpbWVKUyAmJiAhZGlzYWJsZUpzUHJlbG9hZCAmJiB0aGlzLmdldFByZWxvYWRNYWluTGlua3MoZmlsZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UG9seWZpbGxTY3JpcHRzKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAhZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXRQcmVOZXh0U2NyaXB0cygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0RHluYW1pY0NodW5rcyhmaWxlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAhZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXRTY3JpcHRzKGZpbGVzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGltaXplQ3NzICYmIHRoaXMuZ2V0Q3NzTGlua3MoZmlsZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW1pemVDc3MgJiYgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRhdGEtbi1jc3NcIjogdGhpcy5wcm9wcy5ub25jZSA/PyBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0RldmVsb3BtZW50ICYmIC8vIHRoaXMgZWxlbWVudCBpcyB1c2VkIHRvIG1vdW50IGRldmVsb3BtZW50IHN0eWxlcyBzbyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9yZGVyaW5nIG1hdGNoZXMgcHJvZHVjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gKGJ5IGRlZmF1bHQsIHN0eWxlLWxvYWRlciBpbmplY3RzIGF0IHRoZSBib3R0b20gb2YgPGhlYWQgLz4pXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibm9zY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcIl9fbmV4dF9jc3NfX0RPX05PVF9VU0VfX1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlcyB8fCBudWxsXG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsIHt9LCAuLi5oZWFkVGFncyB8fCBbXSlcbiAgICAgICAgICAgIF1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuZnVuY3Rpb24gaGFuZGxlRG9jdW1lbnRTY3JpcHRMb2FkZXJJdGVtcyhzY3JpcHRMb2FkZXIsIF9fTkVYVF9EQVRBX18sIHByb3BzKSB7XG4gICAgdmFyIF9jaGlsZHJlbl9maW5kX3Byb3BzLCBfY2hpbGRyZW5fZmluZCwgX2NoaWxkcmVuX2ZpbmRfcHJvcHMxLCBfY2hpbGRyZW5fZmluZDE7XG4gICAgaWYgKCFwcm9wcy5jaGlsZHJlbikgcmV0dXJuO1xuICAgIGNvbnN0IHNjcmlwdExvYWRlckl0ZW1zID0gW107XG4gICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5pc0FycmF5KHByb3BzLmNoaWxkcmVuKSA/IHByb3BzLmNoaWxkcmVuIDogW1xuICAgICAgICBwcm9wcy5jaGlsZHJlblxuICAgIF07XG4gICAgY29uc3QgaGVhZENoaWxkcmVuID0gKF9jaGlsZHJlbl9maW5kID0gY2hpbGRyZW4uZmluZCgoY2hpbGQpPT5jaGlsZC50eXBlID09PSBIZWFkKSkgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRyZW5fZmluZF9wcm9wcyA9IF9jaGlsZHJlbl9maW5kLnByb3BzKSA9PSBudWxsID8gdm9pZCAwIDogX2NoaWxkcmVuX2ZpbmRfcHJvcHMuY2hpbGRyZW47XG4gICAgY29uc3QgYm9keUNoaWxkcmVuID0gKF9jaGlsZHJlbl9maW5kMSA9IGNoaWxkcmVuLmZpbmQoKGNoaWxkKT0+Y2hpbGQudHlwZSA9PT0gXCJib2R5XCIpKSA9PSBudWxsID8gdm9pZCAwIDogKF9jaGlsZHJlbl9maW5kX3Byb3BzMSA9IF9jaGlsZHJlbl9maW5kMS5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZHJlbl9maW5kX3Byb3BzMS5jaGlsZHJlbjtcbiAgICAvLyBTY3JpcHRzIHdpdGggYmVmb3JlSW50ZXJhY3RpdmUgY2FuIGJlIHBsYWNlZCBpbnNpZGUgSGVhZCBvciA8Ym9keT4gc28gY2hpbGRyZW4gb2YgYm90aCBuZWVkcyB0byBiZSB0cmF2ZXJzZWRcbiAgICBjb25zdCBjb21iaW5lZENoaWxkcmVuID0gW1xuICAgICAgICAuLi5BcnJheS5pc0FycmF5KGhlYWRDaGlsZHJlbikgPyBoZWFkQ2hpbGRyZW4gOiBbXG4gICAgICAgICAgICBoZWFkQ2hpbGRyZW5cbiAgICAgICAgXSxcbiAgICAgICAgLi4uQXJyYXkuaXNBcnJheShib2R5Q2hpbGRyZW4pID8gYm9keUNoaWxkcmVuIDogW1xuICAgICAgICAgICAgYm9keUNoaWxkcmVuXG4gICAgICAgIF1cbiAgICBdO1xuICAgIF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLmZvckVhY2goY29tYmluZWRDaGlsZHJlbiwgKGNoaWxkKT0+e1xuICAgICAgICB2YXIgX2NoaWxkX3R5cGU7XG4gICAgICAgIGlmICghY2hpbGQpIHJldHVybjtcbiAgICAgICAgLy8gV2hlbiB1c2luZyB0aGUgYG5leHQvc2NyaXB0YCBjb21wb25lbnQsIHJlZ2lzdGVyIGl0IGluIHNjcmlwdCBsb2FkZXIuXG4gICAgICAgIGlmICgoX2NoaWxkX3R5cGUgPSBjaGlsZC50eXBlKSA9PSBudWxsID8gdm9pZCAwIDogX2NoaWxkX3R5cGUuX19uZXh0U2NyaXB0KSB7XG4gICAgICAgICAgICBpZiAoY2hpbGQucHJvcHMuc3RyYXRlZ3kgPT09IFwiYmVmb3JlSW50ZXJhY3RpdmVcIikge1xuICAgICAgICAgICAgICAgIHNjcmlwdExvYWRlci5iZWZvcmVJbnRlcmFjdGl2ZSA9IChzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgfHwgW10pLmNvbmNhdChbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNoaWxkLnByb3BzXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9IGVsc2UgaWYgKFtcbiAgICAgICAgICAgICAgICBcImxhenlPbmxvYWRcIixcbiAgICAgICAgICAgICAgICBcImFmdGVySW50ZXJhY3RpdmVcIixcbiAgICAgICAgICAgICAgICBcIndvcmtlclwiXG4gICAgICAgICAgICBdLmluY2x1ZGVzKGNoaWxkLnByb3BzLnN0cmF0ZWd5KSkge1xuICAgICAgICAgICAgICAgIHNjcmlwdExvYWRlckl0ZW1zLnB1c2goY2hpbGQucHJvcHMpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIF9fTkVYVF9EQVRBX18uc2NyaXB0TG9hZGVyID0gc2NyaXB0TG9hZGVySXRlbXM7XG59XG5jbGFzcyBOZXh0U2NyaXB0IGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgI18gPSB0aGlzLmNvbnRleHRUeXBlID0gX2h0bWxjb250ZXh0c2hhcmVkcnVudGltZS5IdG1sQ29udGV4dDtcbiAgICBnZXREeW5hbWljQ2h1bmtzKGZpbGVzKSB7XG4gICAgICAgIHJldHVybiBnZXREeW5hbWljQ2h1bmtzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcywgZmlsZXMpO1xuICAgIH1cbiAgICBnZXRQcmVOZXh0U2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFByZU5leHRTY3JpcHRzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcyk7XG4gICAgfVxuICAgIGdldFNjcmlwdHMoZmlsZXMpIHtcbiAgICAgICAgcmV0dXJuIGdldFNjcmlwdHModGhpcy5jb250ZXh0LCB0aGlzLnByb3BzLCBmaWxlcyk7XG4gICAgfVxuICAgIGdldFBvbHlmaWxsU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFBvbHlmaWxsU2NyaXB0cyh0aGlzLmNvbnRleHQsIHRoaXMucHJvcHMpO1xuICAgIH1cbiAgICBzdGF0aWMgZ2V0SW5saW5lU2NyaXB0U291cmNlKGNvbnRleHQpIHtcbiAgICAgICAgY29uc3QgeyBfX05FWFRfREFUQV9fLCBsYXJnZVBhZ2VEYXRhQnl0ZXMgfSA9IGNvbnRleHQ7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gSlNPTi5zdHJpbmdpZnkoX19ORVhUX0RBVEFfXyk7XG4gICAgICAgICAgICBpZiAobGFyZ2VQYWdlRGF0YVdhcm5pbmdzLmhhcyhfX05FWFRfREFUQV9fLnBhZ2UpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfaHRtbGVzY2FwZS5odG1sRXNjYXBlSnNvblN0cmluZykoZGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBieXRlcyA9IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCIgPyBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoZGF0YSkuYnVmZmVyLmJ5dGVMZW5ndGggOiBCdWZmZXIuZnJvbShkYXRhKS5ieXRlTGVuZ3RoO1xuICAgICAgICAgICAgY29uc3QgcHJldHR5Qnl0ZXMgPSByZXF1aXJlKFwiLi4vbGliL3ByZXR0eS1ieXRlc1wiKS5kZWZhdWx0O1xuICAgICAgICAgICAgaWYgKGxhcmdlUGFnZURhdGFCeXRlcyAmJiBieXRlcyA+IGxhcmdlUGFnZURhdGFCeXRlcykge1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbGFyZ2VQYWdlRGF0YVdhcm5pbmdzLmFkZChfX05FWFRfREFUQV9fLnBhZ2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFdhcm5pbmc6IGRhdGEgZm9yIHBhZ2UgXCIke19fTkVYVF9EQVRBX18ucGFnZX1cIiR7X19ORVhUX0RBVEFfXy5wYWdlID09PSBjb250ZXh0LmRhbmdlcm91c0FzUGF0aCA/IFwiXCIgOiBgIChwYXRoIFwiJHtjb250ZXh0LmRhbmdlcm91c0FzUGF0aH1cIilgfSBpcyAke3ByZXR0eUJ5dGVzKGJ5dGVzKX0gd2hpY2ggZXhjZWVkcyB0aGUgdGhyZXNob2xkIG9mICR7cHJldHR5Qnl0ZXMobGFyZ2VQYWdlRGF0YUJ5dGVzKX0sIHRoaXMgYW1vdW50IG9mIGRhdGEgY2FuIHJlZHVjZSBwZXJmb3JtYW5jZS5cXG5TZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2xhcmdlLXBhZ2UtZGF0YWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgwLCBfaHRtbGVzY2FwZS5odG1sRXNjYXBlSnNvblN0cmluZykoZGF0YSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgaWYgKCgwLCBfaXNlcnJvci5kZWZhdWx0KShlcnIpICYmIGVyci5tZXNzYWdlLmluZGV4T2YoXCJjaXJjdWxhciBzdHJ1Y3R1cmVcIikgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDaXJjdWxhciBzdHJ1Y3R1cmUgaW4gXCJnZXRJbml0aWFsUHJvcHNcIiByZXN1bHQgb2YgcGFnZSBcIiR7X19ORVhUX0RBVEFfXy5wYWdlfVwiLiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9jaXJjdWxhci1zdHJ1Y3R1cmVgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGNvbnN0IHsgYXNzZXRQcmVmaXgsIGluQW1wTW9kZSwgYnVpbGRNYW5pZmVzdCwgdW5zdGFibGVfcnVudGltZUpTLCBkb2NDb21wb25lbnRzUmVuZGVyZWQsIGFzc2V0UXVlcnlTdHJpbmcsIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLCBjcm9zc09yaWdpbiB9ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICBjb25zdCBkaXNhYmxlUnVudGltZUpTID0gdW5zdGFibGVfcnVudGltZUpTID09PSBmYWxzZTtcbiAgICAgICAgZG9jQ29tcG9uZW50c1JlbmRlcmVkLk5leHRTY3JpcHQgPSB0cnVlO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUpIHtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGFtcERldkZpbGVzID0gW1xuICAgICAgICAgICAgICAgIC4uLmJ1aWxkTWFuaWZlc3QuZGV2RmlsZXMsXG4gICAgICAgICAgICAgICAgLi4uYnVpbGRNYW5pZmVzdC5wb2x5ZmlsbEZpbGVzLFxuICAgICAgICAgICAgICAgIC4uLmJ1aWxkTWFuaWZlc3QuYW1wRGV2RmlsZXNcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlUnVudGltZUpTID8gbnVsbCA6IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiX19ORVhUX0RBVEFfX1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IE5leHRTY3JpcHQuZ2V0SW5saW5lU2NyaXB0U291cmNlKHRoaXMuY29udGV4dClcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRhdGEtYW1wZGV2bW9kZVwiOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBhbXBEZXZGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2ZpbGV9JHthc3NldFF1ZXJ5U3RyaW5nfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uY2U6IHRoaXMucHJvcHMubm9uY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhLWFtcGRldm1vZGVcIjogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgZmlsZSkpXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4pIGNvbnNvbGUud2FybihcIldhcm5pbmc6IGBOZXh0U2NyaXB0YCBhdHRyaWJ1dGUgYGNyb3NzT3JpZ2luYCBpcyBkZXByZWNhdGVkLiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9kb2MtY3Jvc3NvcmlnaW4tZGVwcmVjYXRlZFwiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaWxlcyA9IGdldERvY3VtZW50RmlsZXModGhpcy5jb250ZXh0LmJ1aWxkTWFuaWZlc3QsIHRoaXMuY29udGV4dC5fX05FWFRfREFUQV9fLnBhZ2UsIHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlKTtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICFkaXNhYmxlUnVudGltZUpTICYmIGJ1aWxkTWFuaWZlc3QuZGV2RmlsZXMgPyBidWlsZE1hbmlmZXN0LmRldkZpbGVzLm1hcCgoZmlsZSk9Pi8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3JjOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtlbmNvZGVVUkkoZmlsZSl9JHthc3NldFF1ZXJ5U3RyaW5nfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICBub25jZTogdGhpcy5wcm9wcy5ub25jZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luXG4gICAgICAgICAgICAgICAgICAgIH0sIGZpbGUpKSA6IG51bGwsXG4gICAgICAgICAgICAgICAgZGlzYWJsZVJ1bnRpbWVKUyA/IG51bGwgOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IFwiX19ORVhUX0RBVEFfX1wiLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICAgICAgbm9uY2U6IHRoaXMucHJvcHMubm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgX19odG1sOiBOZXh0U2NyaXB0LmdldElubGluZVNjcmlwdFNvdXJjZSh0aGlzLmNvbnRleHQpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldFBvbHlmaWxsU2NyaXB0cygpLFxuICAgICAgICAgICAgICAgIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UHJlTmV4dFNjcmlwdHMoKSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldER5bmFtaWNDaHVua3MoZmlsZXMpLFxuICAgICAgICAgICAgICAgIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0U2NyaXB0cyhmaWxlcylcbiAgICAgICAgICAgIF1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuZnVuY3Rpb24gSHRtbChwcm9wcykge1xuICAgIGNvbnN0IHsgaW5BbXBNb2RlLCBkb2NDb21wb25lbnRzUmVuZGVyZWQsIGxvY2FsZSwgc2NyaXB0TG9hZGVyLCBfX05FWFRfREFUQV9fIH0gPSAoMCwgX2h0bWxjb250ZXh0c2hhcmVkcnVudGltZS51c2VIdG1sQ29udGV4dCkoKTtcbiAgICBkb2NDb21wb25lbnRzUmVuZGVyZWQuSHRtbCA9IHRydWU7XG4gICAgaGFuZGxlRG9jdW1lbnRTY3JpcHRMb2FkZXJJdGVtcyhzY3JpcHRMb2FkZXIsIF9fTkVYVF9EQVRBX18sIHByb3BzKTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImh0bWxcIiwge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgbGFuZzogcHJvcHMubGFuZyB8fCBsb2NhbGUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBhbXA6IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlID8gXCJcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgXCJkYXRhLWFtcGRldm1vZGVcIjogcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgJiYgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gXCJcIiA6IHVuZGVmaW5lZFxuICAgIH0pO1xufVxuZnVuY3Rpb24gTWFpbigpIHtcbiAgICBjb25zdCB7IGRvY0NvbXBvbmVudHNSZW5kZXJlZCB9ID0gKDAsIF9odG1sY29udGV4dHNoYXJlZHJ1bnRpbWUudXNlSHRtbENvbnRleHQpKCk7XG4gICAgZG9jQ29tcG9uZW50c1JlbmRlcmVkLk1haW4gPSB0cnVlO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcIm5leHQtanMtaW50ZXJuYWwtYm9keS1yZW5kZXItdGFyZ2V0XCIsIHt9KTtcbn1cbmNsYXNzIERvY3VtZW50IGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICogYGdldEluaXRpYWxQcm9wc2AgaG9vayByZXR1cm5zIHRoZSBjb250ZXh0IG9iamVjdCB3aXRoIHRoZSBhZGRpdGlvbiBvZiBgcmVuZGVyUGFnZWAuXG4gICAqIGByZW5kZXJQYWdlYCBjYWxsYmFjayBleGVjdXRlcyBgUmVhY3RgIHJlbmRlcmluZyBsb2dpYyBzeW5jaHJvbm91c2x5IHRvIHN1cHBvcnQgc2VydmVyLXJlbmRlcmluZyB3cmFwcGVyc1xuICAgKi8gc3RhdGljIGdldEluaXRpYWxQcm9wcyhjdHgpIHtcbiAgICAgICAgcmV0dXJuIGN0eC5kZWZhdWx0R2V0SW5pdGlhbFByb3BzKGN0eCk7XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKEh0bWwsIHtcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShIZWFkLCB7fSksXG4gICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJib2R5XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoTWFpbiwge30pLFxuICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShOZXh0U2NyaXB0LCB7fSlcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbi8vIEFkZCBhIHNwZWNpYWwgcHJvcGVydHkgdG8gdGhlIGJ1aWx0LWluIGBEb2N1bWVudGAgY29tcG9uZW50IHNvIGxhdGVyIHdlIGNhblxuLy8gaWRlbnRpZnkgaWYgYSB1c2VyIGN1c3RvbWl6ZWQgYERvY3VtZW50YCBpcyB1c2VkIG9yIG5vdC5cbmNvbnN0IEludGVybmFsRnVuY3Rpb25Eb2N1bWVudCA9IGZ1bmN0aW9uIEludGVybmFsRnVuY3Rpb25Eb2N1bWVudCgpIHtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoSHRtbCwge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShIZWFkLCB7fSksXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImJvZHlcIiwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoTWFpbiwge30pLFxuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKE5leHRTY3JpcHQsIHt9KVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9KTtcbn07XG5Eb2N1bWVudFtfY29uc3RhbnRzLk5FWFRfQlVJTFRJTl9ET0NVTUVOVF0gPSBJbnRlcm5hbEZ1bmN0aW9uRG9jdW1lbnQ7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPV9kb2N1bWVudC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJIZWFkIiwiTmV4dFNjcmlwdCIsIkh0bWwiLCJNYWluIiwiZGVmYXVsdCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIkRvY3VtZW50IiwiX2pzeHJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsIl9jb25zdGFudHMiLCJfZ2V0cGFnZWZpbGVzIiwiX2h0bWxlc2NhcGUiLCJfaXNlcnJvciIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsIl9odG1sY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwiY2FjaGUiLCJoYXMiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwibGFyZ2VQYWdlRGF0YVdhcm5pbmdzIiwiU2V0IiwiZ2V0RG9jdW1lbnRGaWxlcyIsImJ1aWxkTWFuaWZlc3QiLCJwYXRobmFtZSIsImluQW1wTW9kZSIsInNoYXJlZEZpbGVzIiwiZ2V0UGFnZUZpbGVzIiwicGFnZUZpbGVzIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsImFsbEZpbGVzIiwiZ2V0UG9seWZpbGxTY3JpcHRzIiwiY29udGV4dCIsInByb3BzIiwiYXNzZXRQcmVmaXgiLCJhc3NldFF1ZXJ5U3RyaW5nIiwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciLCJjcm9zc09yaWdpbiIsInBvbHlmaWxsRmlsZXMiLCJmaWx0ZXIiLCJwb2x5ZmlsbCIsImVuZHNXaXRoIiwibWFwIiwianN4IiwiZGVmZXIiLCJub25jZSIsIm5vTW9kdWxlIiwic3JjIiwiaGFzQ29tcG9uZW50UHJvcHMiLCJjaGlsZCIsIkFtcFN0eWxlcyIsInN0eWxlcyIsImN1clN0eWxlcyIsIkFycmF5IiwiaXNBcnJheSIsImNoaWxkcmVuIiwiaGFzU3R5bGVzIiwiZWwiLCJfZWxfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfZWxfcHJvcHMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImZvckVhY2giLCJwdXNoIiwic3R5bGUiLCJqb2luIiwicmVwbGFjZSIsImdldER5bmFtaWNDaHVua3MiLCJmaWxlcyIsImR5bmFtaWNJbXBvcnRzIiwiaXNEZXZlbG9wbWVudCIsImZpbGUiLCJpbmNsdWRlcyIsImFzeW5jIiwiZW5jb2RlVVJJIiwiZ2V0U2NyaXB0cyIsIl9idWlsZE1hbmlmZXN0X2xvd1ByaW9yaXR5RmlsZXMiLCJub3JtYWxTY3JpcHRzIiwibG93UHJpb3JpdHlTY3JpcHRzIiwibG93UHJpb3JpdHlGaWxlcyIsImdldFByZU5leHRXb3JrZXJTY3JpcHRzIiwic2NyaXB0TG9hZGVyIiwibmV4dFNjcmlwdFdvcmtlcnMiLCJwYXJ0eXRvd25TbmlwcGV0IiwiX19ub25fd2VicGFja19yZXF1aXJlX18iLCJ1c2VyRGVmaW5lZENvbmZpZyIsImZpbmQiLCJfY2hpbGRfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfY2hpbGRfcHJvcHMiLCJsZW5ndGgiLCJqc3hzIiwiRnJhZ21lbnQiLCJ3b3JrZXIiLCJpbmRleCIsInN0cmF0ZWd5Iiwic2NyaXB0Q2hpbGRyZW4iLCJzY3JpcHRQcm9wcyIsInNyY1Byb3BzIiwiRXJyb3IiLCJjcmVhdGVFbGVtZW50IiwidHlwZSIsImVyciIsImNvZGUiLCJjb25zb2xlIiwid2FybiIsIm1lc3NhZ2UiLCJnZXRQcmVOZXh0U2NyaXB0cyIsIndlYldvcmtlclNjcmlwdHMiLCJiZWZvcmVJbnRlcmFjdGl2ZVNjcmlwdHMiLCJiZWZvcmVJbnRlcmFjdGl2ZSIsInNjcmlwdCIsImdldEhlYWRIVE1MUHJvcHMiLCJyZXN0UHJvcHMiLCJoZWFkUHJvcHMiLCJnZXRBbXBQYXRoIiwiYW1wUGF0aCIsImFzUGF0aCIsImdldE5leHRGb250TGlua1RhZ3MiLCJuZXh0Rm9udE1hbmlmZXN0IiwiZGFuZ2Vyb3VzQXNQYXRoIiwicHJlY29ubmVjdCIsInByZWxvYWQiLCJhcHBGb250c0VudHJ5IiwicGFnZXMiLCJwYWdlRm9udHNFbnRyeSIsInByZWxvYWRlZEZvbnRGaWxlcyIsInByZWNvbm5lY3RUb1NlbGYiLCJwYWdlc1VzaW5nU2l6ZUFkanVzdCIsInJlbCIsImhyZWYiLCJmb250RmlsZSIsImV4dCIsImV4ZWMiLCJhcyIsIkNvbXBvbmVudCIsIl8iLCJjb250ZXh0VHlwZSIsIkh0bWxDb250ZXh0IiwiZ2V0Q3NzTGlua3MiLCJvcHRpbWl6ZUNzcyIsIm9wdGltaXplRm9udHMiLCJjc3NGaWxlcyIsImYiLCJ1bm1hbmdlZEZpbGVzIiwiZHluYW1pY0Nzc0ZpbGVzIiwiZnJvbSIsImV4aXN0aW5nIiwiY3NzTGlua0VsZW1lbnRzIiwiaXNTaGFyZWRGaWxlIiwiaXNVbm1hbmFnZWRGaWxlIiwidW5kZWZpbmVkIiwibWFrZVN0eWxlc2hlZXRJbmVydCIsImdldFByZWxvYWREeW5hbWljQ2h1bmtzIiwiQm9vbGVhbiIsImdldFByZWxvYWRNYWluTGlua3MiLCJwcmVsb2FkRmlsZXMiLCJnZXRCZWZvcmVJbnRlcmFjdGl2ZUlubGluZVNjcmlwdHMiLCJodG1sIiwiaWQiLCJfX05FWFRfQ1JPU1NfT1JJR0lOIiwibm9kZSIsIkNoaWxkcmVuIiwiYyIsIl9jX3Byb3BzIiwiX2NfcHJvcHMxIiwiT1BUSU1JWkVEX0ZPTlRfUFJPVklERVJTIiwic29tZSIsInVybCIsIl9jX3Byb3BzX2hyZWYiLCJzdGFydHNXaXRoIiwibmV3UHJvcHMiLCJjbG9uZUVsZW1lbnQiLCJyZW5kZXIiLCJoeWJyaWRBbXAiLCJjYW5vbmljYWxCYXNlIiwiX19ORVhUX0RBVEFfXyIsImhlYWRUYWdzIiwidW5zdGFibGVfcnVudGltZUpTIiwidW5zdGFibGVfSnNQcmVsb2FkIiwiZGlzYWJsZVJ1bnRpbWVKUyIsImRpc2FibGVKc1ByZWxvYWQiLCJkb2NDb21wb25lbnRzUmVuZGVyZWQiLCJoZWFkIiwiY3NzUHJlbG9hZHMiLCJvdGhlckhlYWRFbGVtZW50cyIsIm1ldGFUYWciLCJzdHJpY3ROZXh0SGVhZCIsImNvbnRlbnQiLCJjb25jYXQiLCJ0b0FycmF5IiwiaXNSZWFjdEhlbG1ldCIsIl9jaGlsZF9wcm9wczEiLCJoYXNBbXBodG1sUmVsIiwiaGFzQ2Fub25pY2FsUmVsIiwiYmFkUHJvcCIsImluZGV4T2YiLCJrZXlzIiwicHJvcCIsInBhZ2UiLCJuZXh0Rm9udExpbmtUYWdzIiwiY291bnQiLCJ0b1N0cmluZyIsImNsZWFuQW1wUGF0aCIsImhhbmRsZURvY3VtZW50U2NyaXB0TG9hZGVySXRlbXMiLCJfY2hpbGRyZW5fZmluZF9wcm9wcyIsIl9jaGlsZHJlbl9maW5kIiwiX2NoaWxkcmVuX2ZpbmRfcHJvcHMxIiwiX2NoaWxkcmVuX2ZpbmQxIiwic2NyaXB0TG9hZGVySXRlbXMiLCJoZWFkQ2hpbGRyZW4iLCJib2R5Q2hpbGRyZW4iLCJjb21iaW5lZENoaWxkcmVuIiwiX2NoaWxkX3R5cGUiLCJfX25leHRTY3JpcHQiLCJnZXRJbmxpbmVTY3JpcHRTb3VyY2UiLCJsYXJnZVBhZ2VEYXRhQnl0ZXMiLCJkYXRhIiwiSlNPTiIsInN0cmluZ2lmeSIsImh0bWxFc2NhcGVKc29uU3RyaW5nIiwiYnl0ZXMiLCJUZXh0RW5jb2RlciIsImVuY29kZSIsImJ1ZmZlciIsImJ5dGVMZW5ndGgiLCJCdWZmZXIiLCJwcmV0dHlCeXRlcyIsImFkZCIsImFtcERldkZpbGVzIiwiZGV2RmlsZXMiLCJsb2NhbGUiLCJ1c2VIdG1sQ29udGV4dCIsImxhbmciLCJhbXAiLCJnZXRJbml0aWFsUHJvcHMiLCJjdHgiLCJkZWZhdWx0R2V0SW5pdGlhbFByb3BzIiwiSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50IiwiTkVYVF9CVUlMVElOX0RPQ1VNRU5UIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_document.js\n"); /***/ }), /***/ "./node_modules/next/dist/pages/_error.js": /*!************************************************!*\ !*** ./node_modules/next/dist/pages/_error.js ***! \************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return Error;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"react/jsx-runtime\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"react\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"./node_modules/next/dist/shared/lib/head.js\"));\nconst statusCodes = {\n 400: \"Bad Request\",\n 404: \"This page could not be found\",\n 405: \"Method Not Allowed\",\n 500: \"Internal Server Error\"\n};\nfunction _getInitialProps(param) {\n let { res, err } = param;\n const statusCode = res && res.statusCode ? res.statusCode : err ? err.statusCode : 404;\n return {\n statusCode\n };\n}\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n desc: {\n lineHeight: \"48px\"\n },\n h1: {\n display: \"inline-block\",\n margin: \"0 20px 0 0\",\n paddingRight: 23,\n fontSize: 24,\n fontWeight: 500,\n verticalAlign: \"top\"\n },\n h2: {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: \"28px\"\n },\n wrap: {\n display: \"inline-block\"\n }\n};\nclass Error extends _react.default.Component {\n render() {\n const { statusCode, withDarkMode = true } = this.props;\n const title = this.props.title || statusCodes[statusCode] || \"An unexpected error has occurred\";\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n style: styles.error,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_head.default, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: statusCode ? statusCode + \": \" + title : \"Application error: a client-side exception has occurred\"\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n style: styles.desc,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n dangerouslySetInnerHTML: {\n /* CSS minified from\n body { margin: 0; color: #000; background: #fff; }\n .next-error-h1 {\n border-right: 1px solid rgba(0, 0, 0, .3);\n }\n\n ${\n withDarkMode\n ? `@media (prefers-color-scheme: dark) {\n body { color: #fff; background: #000; }\n .next-error-h1 {\n border-right: 1px solid rgba(255, 255, 255, .3);\n }\n }`\n : ''\n }\n */ __html: \"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\" + (withDarkMode ? \"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\" : \"\")\n }\n }),\n statusCode ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n className: \"next-error-h1\",\n style: styles.h1,\n children: statusCode\n }) : null,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.wrap,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"h2\", {\n style: styles.h2,\n children: [\n this.props.title || statusCode ? title : /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: \"Application error: a client-side exception has occurred (see the browser console for more information)\"\n }),\n \".\"\n ]\n })\n })\n ]\n })\n ]\n });\n }\n}\nError.displayName = \"ErrorPage\";\nError.getInitialProps = _getInitialProps;\nError.origGetInitialProps = _getInitialProps;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=_error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyw2R0FBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsNENBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsb0JBQU87QUFDdkUsTUFBTUksUUFBUSxXQUFXLEdBQUdMLHlCQUF5QkksQ0FBQyxDQUFDSCxtQkFBT0EsQ0FBQyx1RUFBb0I7QUFDbkYsTUFBTUssY0FBYztJQUNoQixLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0FBQ1Q7QUFDQSxTQUFTQyxpQkFBaUJDLEtBQUs7SUFDM0IsSUFBSSxFQUFFQyxHQUFHLEVBQUVDLEdBQUcsRUFBRSxHQUFHRjtJQUNuQixNQUFNRyxhQUFhRixPQUFPQSxJQUFJRSxVQUFVLEdBQUdGLElBQUlFLFVBQVUsR0FBR0QsTUFBTUEsSUFBSUMsVUFBVSxHQUFHO0lBQ25GLE9BQU87UUFDSEE7SUFDSjtBQUNKO0FBQ0EsTUFBTUMsU0FBUztJQUNYQyxPQUFPO1FBQ0gsMEZBQTBGO1FBQzFGQyxZQUFZO1FBQ1pDLFFBQVE7UUFDUkMsV0FBVztRQUNYQyxTQUFTO1FBQ1RDLGVBQWU7UUFDZkMsWUFBWTtRQUNaQyxnQkFBZ0I7SUFDcEI7SUFDQUMsTUFBTTtRQUNGQyxZQUFZO0lBQ2hCO0lBQ0FDLElBQUk7UUFDQU4sU0FBUztRQUNUTyxRQUFRO1FBQ1JDLGNBQWM7UUFDZEMsVUFBVTtRQUNWQyxZQUFZO1FBQ1pDLGVBQWU7SUFDbkI7SUFDQUMsSUFBSTtRQUNBSCxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkwsWUFBWTtJQUNoQjtJQUNBUSxNQUFNO1FBQ0ZiLFNBQVM7SUFDYjtBQUNKO0FBQ0EsTUFBTWxCLGNBQWNJLE9BQU80QixPQUFPLENBQUNDLFNBQVM7SUFDeENDLFNBQVM7UUFDTCxNQUFNLEVBQUV0QixVQUFVLEVBQUV1QixlQUFlLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQ0MsS0FBSztRQUN0RCxNQUFNQyxRQUFRLElBQUksQ0FBQ0QsS0FBSyxDQUFDQyxLQUFLLElBQUk5QixXQUFXLENBQUNLLFdBQVcsSUFBSTtRQUM3RCxPQUFxQixXQUFILEdBQUksSUFBR1QsWUFBWW1DLElBQUksRUFBRSxPQUFPO1lBQzlDQyxPQUFPMUIsT0FBT0MsS0FBSztZQUNuQjBCLFVBQVU7Z0JBQ04sV0FBVyxHQUFJLElBQUdyQyxZQUFZc0MsR0FBRyxFQUFFbkMsTUFBTTBCLE9BQU8sRUFBRTtvQkFDOUNRLFVBQXdCLFdBQUgsR0FBSSxJQUFHckMsWUFBWXNDLEdBQUcsRUFBRSxTQUFTO3dCQUNsREQsVUFBVTVCLGFBQWFBLGFBQWEsT0FBT3lCLFFBQVE7b0JBQ3ZEO2dCQUNKO2dCQUNBLFdBQVcsR0FBSSxJQUFHbEMsWUFBWW1DLElBQUksRUFBRSxPQUFPO29CQUN2Q0MsT0FBTzFCLE9BQU9TLElBQUk7b0JBQ2xCa0IsVUFBVTt3QkFDTixXQUFXLEdBQUksSUFBR3JDLFlBQVlzQyxHQUFHLEVBQUUsU0FBUzs0QkFDeENDLHlCQUF5QjtnQ0FDckI7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFnQmpCLEdBQUdDLFFBQVEsbUdBQW9HUixDQUFBQSxlQUFlLG9JQUFvSSxFQUFDOzRCQUN0UDt3QkFDSjt3QkFDQXZCLGFBQTJCLFdBQUgsR0FBSSxJQUFHVCxZQUFZc0MsR0FBRyxFQUFFLE1BQU07NEJBQ2xERyxXQUFXOzRCQUNYTCxPQUFPMUIsT0FBT1csRUFBRTs0QkFDaEJnQixVQUFVNUI7d0JBQ2QsS0FBSzt3QkFDTCxXQUFXLEdBQUksSUFBR1QsWUFBWXNDLEdBQUcsRUFBRSxPQUFPOzRCQUN0Q0YsT0FBTzFCLE9BQU9rQixJQUFJOzRCQUNsQlMsVUFBd0IsV0FBSCxHQUFJLElBQUdyQyxZQUFZbUMsSUFBSSxFQUFFLE1BQU07Z0NBQ2hEQyxPQUFPMUIsT0FBT2lCLEVBQUU7Z0NBQ2hCVSxVQUFVO29DQUNOLElBQUksQ0FBQ0osS0FBSyxDQUFDQyxLQUFLLElBQUl6QixhQUFheUIsUUFBc0IsV0FBSCxHQUFJLElBQUdsQyxZQUFZc0MsR0FBRyxFQUFFdEMsWUFBWTBDLFFBQVEsRUFBRTt3Q0FDOUZMLFVBQVU7b0NBQ2Q7b0NBQ0E7aUNBQ0g7NEJBQ0w7d0JBQ0o7cUJBQ0g7Z0JBQ0w7YUFDSDtRQUNMO0lBQ0o7QUFDSjtBQUNBeEMsTUFBTThDLFdBQVcsR0FBRztBQUNwQjlDLE1BQU0rQyxlQUFlLEdBQUd2QztBQUN4QlIsTUFBTWdELG1CQUFtQixHQUFHeEM7QUFFNUIsSUFBSSxDQUFDLE9BQU9aLFFBQVFvQyxPQUFPLEtBQUssY0FBZSxPQUFPcEMsUUFBUW9DLE9BQU8sS0FBSyxZQUFZcEMsUUFBUW9DLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3BDLFFBQVFvQyxPQUFPLENBQUNpQixVQUFVLEtBQUssYUFBYTtJQUNyS3ZELE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9DLE9BQU8sRUFBRSxjQUFjO1FBQUVuQyxPQUFPO0lBQUs7SUFDbkVILE9BQU93RCxNQUFNLENBQUN0RCxRQUFRb0MsT0FBTyxFQUFFcEM7SUFDL0J1RCxPQUFPdkQsT0FBTyxHQUFHQSxRQUFRb0MsT0FBTztBQUNsQyxFQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvcGFnZXMvX2Vycm9yLmpzPzE4ZjIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9oZWFkID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9oZWFkXCIpKTtcbmNvbnN0IHN0YXR1c0NvZGVzID0ge1xuICAgIDQwMDogXCJCYWQgUmVxdWVzdFwiLFxuICAgIDQwNDogXCJUaGlzIHBhZ2UgY291bGQgbm90IGJlIGZvdW5kXCIsXG4gICAgNDA1OiBcIk1ldGhvZCBOb3QgQWxsb3dlZFwiLFxuICAgIDUwMDogXCJJbnRlcm5hbCBTZXJ2ZXIgRXJyb3JcIlxufTtcbmZ1bmN0aW9uIF9nZXRJbml0aWFsUHJvcHMocGFyYW0pIHtcbiAgICBsZXQgeyByZXMsIGVyciB9ID0gcGFyYW07XG4gICAgY29uc3Qgc3RhdHVzQ29kZSA9IHJlcyAmJiByZXMuc3RhdHVzQ29kZSA/IHJlcy5zdGF0dXNDb2RlIDogZXJyID8gZXJyLnN0YXR1c0NvZGUgOiA0MDQ7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc3RhdHVzQ29kZVxuICAgIH07XG59XG5jb25zdCBzdHlsZXMgPSB7XG4gICAgZXJyb3I6IHtcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9tb2Rlcm4tbm9ybWFsaXplL2Jsb2IvbWFpbi9tb2Rlcm4tbm9ybWFsaXplLmNzcyNMMzgtTDUyXG4gICAgICAgIGZvbnRGYW1pbHk6ICdzeXN0ZW0tdWksXCJTZWdvZSBVSVwiLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZixcIkFwcGxlIENvbG9yIEVtb2ppXCIsXCJTZWdvZSBVSSBFbW9qaVwiJyxcbiAgICAgICAgaGVpZ2h0OiBcIjEwMHZoXCIsXG4gICAgICAgIHRleHRBbGlnbjogXCJjZW50ZXJcIixcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiXG4gICAgfSxcbiAgICBkZXNjOiB7XG4gICAgICAgIGxpbmVIZWlnaHQ6IFwiNDhweFwiXG4gICAgfSxcbiAgICBoMToge1xuICAgICAgICBkaXNwbGF5OiBcImlubGluZS1ibG9ja1wiLFxuICAgICAgICBtYXJnaW46IFwiMCAyMHB4IDAgMFwiLFxuICAgICAgICBwYWRkaW5nUmlnaHQ6IDIzLFxuICAgICAgICBmb250U2l6ZTogMjQsXG4gICAgICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICAgICAgdmVydGljYWxBbGlnbjogXCJ0b3BcIlxuICAgIH0sXG4gICAgaDI6IHtcbiAgICAgICAgZm9udFNpemU6IDE0LFxuICAgICAgICBmb250V2VpZ2h0OiA0MDAsXG4gICAgICAgIGxpbmVIZWlnaHQ6IFwiMjhweFwiXG4gICAgfSxcbiAgICB3cmFwOiB7XG4gICAgICAgIGRpc3BsYXk6IFwiaW5saW5lLWJsb2NrXCJcbiAgICB9XG59O1xuY2xhc3MgRXJyb3IgZXh0ZW5kcyBfcmVhY3QuZGVmYXVsdC5Db21wb25lbnQge1xuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBzdGF0dXNDb2RlLCB3aXRoRGFya01vZGUgPSB0cnVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgICBjb25zdCB0aXRsZSA9IHRoaXMucHJvcHMudGl0bGUgfHwgc3RhdHVzQ29kZXNbc3RhdHVzQ29kZV0gfHwgXCJBbiB1bmV4cGVjdGVkIGVycm9yIGhhcyBvY2N1cnJlZFwiO1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJkaXZcIiwge1xuICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy5lcnJvcixcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfaGVhZC5kZWZhdWx0LCB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwidGl0bGVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHN0YXR1c0NvZGUgPyBzdGF0dXNDb2RlICsgXCI6IFwiICsgdGl0bGUgOiBcIkFwcGxpY2F0aW9uIGVycm9yOiBhIGNsaWVudC1zaWRlIGV4Y2VwdGlvbiBoYXMgb2NjdXJyZWRcIlxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy5kZXNjLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInN0eWxlXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBDU1MgbWluaWZpZWQgZnJvbVxuICAgICAgICAgICAgICAgIGJvZHkgeyBtYXJnaW46IDA7IGNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgICAgICAgICAgICAgLm5leHQtZXJyb3ItaDEge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJHtcbiAgICAgICAgICAgICAgICAgIHdpdGhEYXJrTW9kZVxuICAgICAgICAgICAgICAgICAgICA/IGBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAgICAgICAgICAgICBib2R5IHsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQ6ICMwMDA7IH1cbiAgICAgICAgICAgICAgICAgIC5uZXh0LWVycm9yLWgxIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfWBcbiAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICovIF9faHRtbDogXCJib2R5e2NvbG9yOiMwMDA7YmFja2dyb3VuZDojZmZmO21hcmdpbjowfS5uZXh0LWVycm9yLWgxe2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSgwLDAsMCwuMyl9XCIgKyAod2l0aERhcmtNb2RlID8gXCJAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOmRhcmspe2JvZHl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiMwMDB9Lm5leHQtZXJyb3ItaDF7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zKX19XCIgOiBcIlwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzQ29kZSA/IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJoMVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcIm5leHQtZXJyb3ItaDFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogc3R5bGVzLmgxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBzdGF0dXNDb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogc3R5bGVzLndyYXAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiaDJcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogc3R5bGVzLmgyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy50aXRsZSB8fCBzdGF0dXNDb2RlID8gdGl0bGUgOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFwiQXBwbGljYXRpb24gZXJyb3I6IGEgY2xpZW50LXNpZGUgZXhjZXB0aW9uIGhhcyBvY2N1cnJlZCAoc2VlIHRoZSBicm93c2VyIGNvbnNvbGUgZm9yIG1vcmUgaW5mb3JtYXRpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuRXJyb3IuZGlzcGxheU5hbWUgPSBcIkVycm9yUGFnZVwiO1xuRXJyb3IuZ2V0SW5pdGlhbFByb3BzID0gX2dldEluaXRpYWxQcm9wcztcbkVycm9yLm9yaWdHZXRJbml0aWFsUHJvcHMgPSBfZ2V0SW5pdGlhbFByb3BzO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1fZXJyb3IuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkVycm9yIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9oZWFkIiwic3RhdHVzQ29kZXMiLCJfZ2V0SW5pdGlhbFByb3BzIiwicGFyYW0iLCJyZXMiLCJlcnIiLCJzdGF0dXNDb2RlIiwic3R5bGVzIiwiZXJyb3IiLCJmb250RmFtaWx5IiwiaGVpZ2h0IiwidGV4dEFsaWduIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJkZXNjIiwibGluZUhlaWdodCIsImgxIiwibWFyZ2luIiwicGFkZGluZ1JpZ2h0IiwiZm9udFNpemUiLCJmb250V2VpZ2h0IiwidmVydGljYWxBbGlnbiIsImgyIiwid3JhcCIsImRlZmF1bHQiLCJDb21wb25lbnQiLCJyZW5kZXIiLCJ3aXRoRGFya01vZGUiLCJwcm9wcyIsInRpdGxlIiwianN4cyIsInN0eWxlIiwiY2hpbGRyZW4iLCJqc3giLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImNsYXNzTmFtZSIsIkZyYWdtZW50IiwiZGlzcGxheU5hbWUiLCJnZXRJbml0aWFsUHJvcHMiLCJvcmlnR2V0SW5pdGlhbFByb3BzIiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_error.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/amp-mode.js": /*!*******************************************************!*\ !*** ./node_modules/next/dist/shared/lib/amp-mode.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isInAmpMode\", ({\n enumerable: true,\n get: function() {\n return isInAmpMode;\n }\n}));\nfunction isInAmpMode(param) {\n let { ampFirst = false, hybrid = false, hasQuery = false } = param === void 0 ? {} : param;\n return ampFirst || hybrid && hasQuery;\n} //# sourceMappingURL=amp-mode.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYW1wLW1vZGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILCtDQUE4QztJQUMxQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLFlBQVlDLEtBQUs7SUFDdEIsSUFBSSxFQUFFQyxXQUFXLEtBQUssRUFBRUMsU0FBUyxLQUFLLEVBQUVDLFdBQVcsS0FBSyxFQUFFLEdBQUdILFVBQVUsS0FBSyxJQUFJLENBQUMsSUFBSUE7SUFDckYsT0FBT0MsWUFBWUMsVUFBVUM7QUFDakMsRUFFQSxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYW1wLW1vZGUuanM/NjIzMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImlzSW5BbXBNb2RlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0luQW1wTW9kZTtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGlzSW5BbXBNb2RlKHBhcmFtKSB7XG4gICAgbGV0IHsgYW1wRmlyc3QgPSBmYWxzZSwgaHlicmlkID0gZmFsc2UsIGhhc1F1ZXJ5ID0gZmFsc2UgfSA9IHBhcmFtID09PSB2b2lkIDAgPyB7fSA6IHBhcmFtO1xuICAgIHJldHVybiBhbXBGaXJzdCB8fCBoeWJyaWQgJiYgaGFzUXVlcnk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFtcC1tb2RlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJpc0luQW1wTW9kZSIsInBhcmFtIiwiYW1wRmlyc3QiLCJoeWJyaWQiLCJoYXNRdWVyeSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/amp-mode.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/constants.js": /*!********************************************************!*\ !*** ./node_modules/next/dist/shared/lib/constants.js ***! \********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n MODERN_BROWSERSLIST_TARGET: function() {\n return _modernbrowserslisttarget.default;\n },\n COMPILER_NAMES: function() {\n return COMPILER_NAMES;\n },\n INTERNAL_HEADERS: function() {\n return INTERNAL_HEADERS;\n },\n COMPILER_INDEXES: function() {\n return COMPILER_INDEXES;\n },\n PHASE_EXPORT: function() {\n return PHASE_EXPORT;\n },\n PHASE_PRODUCTION_BUILD: function() {\n return PHASE_PRODUCTION_BUILD;\n },\n PHASE_PRODUCTION_SERVER: function() {\n return PHASE_PRODUCTION_SERVER;\n },\n PHASE_DEVELOPMENT_SERVER: function() {\n return PHASE_DEVELOPMENT_SERVER;\n },\n PHASE_TEST: function() {\n return PHASE_TEST;\n },\n PHASE_INFO: function() {\n return PHASE_INFO;\n },\n PAGES_MANIFEST: function() {\n return PAGES_MANIFEST;\n },\n APP_PATHS_MANIFEST: function() {\n return APP_PATHS_MANIFEST;\n },\n APP_PATH_ROUTES_MANIFEST: function() {\n return APP_PATH_ROUTES_MANIFEST;\n },\n BUILD_MANIFEST: function() {\n return BUILD_MANIFEST;\n },\n APP_BUILD_MANIFEST: function() {\n return APP_BUILD_MANIFEST;\n },\n FUNCTIONS_CONFIG_MANIFEST: function() {\n return FUNCTIONS_CONFIG_MANIFEST;\n },\n SUBRESOURCE_INTEGRITY_MANIFEST: function() {\n return SUBRESOURCE_INTEGRITY_MANIFEST;\n },\n NEXT_FONT_MANIFEST: function() {\n return NEXT_FONT_MANIFEST;\n },\n EXPORT_MARKER: function() {\n return EXPORT_MARKER;\n },\n EXPORT_DETAIL: function() {\n return EXPORT_DETAIL;\n },\n PRERENDER_MANIFEST: function() {\n return PRERENDER_MANIFEST;\n },\n ROUTES_MANIFEST: function() {\n return ROUTES_MANIFEST;\n },\n IMAGES_MANIFEST: function() {\n return IMAGES_MANIFEST;\n },\n SERVER_FILES_MANIFEST: function() {\n return SERVER_FILES_MANIFEST;\n },\n DEV_CLIENT_PAGES_MANIFEST: function() {\n return DEV_CLIENT_PAGES_MANIFEST;\n },\n MIDDLEWARE_MANIFEST: function() {\n return MIDDLEWARE_MANIFEST;\n },\n DEV_MIDDLEWARE_MANIFEST: function() {\n return DEV_MIDDLEWARE_MANIFEST;\n },\n REACT_LOADABLE_MANIFEST: function() {\n return REACT_LOADABLE_MANIFEST;\n },\n FONT_MANIFEST: function() {\n return FONT_MANIFEST;\n },\n SERVER_DIRECTORY: function() {\n return SERVER_DIRECTORY;\n },\n CONFIG_FILES: function() {\n return CONFIG_FILES;\n },\n BUILD_ID_FILE: function() {\n return BUILD_ID_FILE;\n },\n BLOCKED_PAGES: function() {\n return BLOCKED_PAGES;\n },\n CLIENT_PUBLIC_FILES_PATH: function() {\n return CLIENT_PUBLIC_FILES_PATH;\n },\n CLIENT_STATIC_FILES_PATH: function() {\n return CLIENT_STATIC_FILES_PATH;\n },\n STRING_LITERAL_DROP_BUNDLE: function() {\n return STRING_LITERAL_DROP_BUNDLE;\n },\n NEXT_BUILTIN_DOCUMENT: function() {\n return NEXT_BUILTIN_DOCUMENT;\n },\n BARREL_OPTIMIZATION_PREFIX: function() {\n return BARREL_OPTIMIZATION_PREFIX;\n },\n CLIENT_REFERENCE_MANIFEST: function() {\n return CLIENT_REFERENCE_MANIFEST;\n },\n SERVER_REFERENCE_MANIFEST: function() {\n return SERVER_REFERENCE_MANIFEST;\n },\n MIDDLEWARE_BUILD_MANIFEST: function() {\n return MIDDLEWARE_BUILD_MANIFEST;\n },\n MIDDLEWARE_REACT_LOADABLE_MANIFEST: function() {\n return MIDDLEWARE_REACT_LOADABLE_MANIFEST;\n },\n CLIENT_STATIC_FILES_RUNTIME_MAIN: function() {\n return CLIENT_STATIC_FILES_RUNTIME_MAIN;\n },\n CLIENT_STATIC_FILES_RUNTIME_MAIN_APP: function() {\n return CLIENT_STATIC_FILES_RUNTIME_MAIN_APP;\n },\n APP_CLIENT_INTERNALS: function() {\n return APP_CLIENT_INTERNALS;\n },\n CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH: function() {\n return CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH;\n },\n CLIENT_STATIC_FILES_RUNTIME_AMP: function() {\n return CLIENT_STATIC_FILES_RUNTIME_AMP;\n },\n CLIENT_STATIC_FILES_RUNTIME_WEBPACK: function() {\n return CLIENT_STATIC_FILES_RUNTIME_WEBPACK;\n },\n CLIENT_STATIC_FILES_RUNTIME_POLYFILLS: function() {\n return CLIENT_STATIC_FILES_RUNTIME_POLYFILLS;\n },\n CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL: function() {\n return CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL;\n },\n EDGE_RUNTIME_WEBPACK: function() {\n return EDGE_RUNTIME_WEBPACK;\n },\n STATIC_PROPS_ID: function() {\n return STATIC_PROPS_ID;\n },\n SERVER_PROPS_ID: function() {\n return SERVER_PROPS_ID;\n },\n GOOGLE_FONT_PROVIDER: function() {\n return GOOGLE_FONT_PROVIDER;\n },\n OPTIMIZED_FONT_PROVIDERS: function() {\n return OPTIMIZED_FONT_PROVIDERS;\n },\n DEFAULT_SERIF_FONT: function() {\n return DEFAULT_SERIF_FONT;\n },\n DEFAULT_SANS_SERIF_FONT: function() {\n return DEFAULT_SANS_SERIF_FONT;\n },\n STATIC_STATUS_PAGES: function() {\n return STATIC_STATUS_PAGES;\n },\n TRACE_OUTPUT_VERSION: function() {\n return TRACE_OUTPUT_VERSION;\n },\n TURBO_TRACE_DEFAULT_MEMORY_LIMIT: function() {\n return TURBO_TRACE_DEFAULT_MEMORY_LIMIT;\n },\n RSC_MODULE_TYPES: function() {\n return RSC_MODULE_TYPES;\n },\n EDGE_UNSUPPORTED_NODE_APIS: function() {\n return EDGE_UNSUPPORTED_NODE_APIS;\n },\n SYSTEM_ENTRYPOINTS: function() {\n return SYSTEM_ENTRYPOINTS;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _modernbrowserslisttarget = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./modern-browserslist-target */ \"./node_modules/next/dist/shared/lib/modern-browserslist-target.js\"));\nconst COMPILER_NAMES = {\n client: \"client\",\n server: \"server\",\n edgeServer: \"edge-server\"\n};\nconst INTERNAL_HEADERS = [\n \"x-invoke-error\",\n \"x-invoke-output\",\n \"x-invoke-path\",\n \"x-invoke-query\",\n \"x-invoke-status\",\n \"x-middleware-invoke\"\n];\nconst COMPILER_INDEXES = {\n [COMPILER_NAMES.client]: 0,\n [COMPILER_NAMES.server]: 1,\n [COMPILER_NAMES.edgeServer]: 2\n};\nconst PHASE_EXPORT = \"phase-export\";\nconst PHASE_PRODUCTION_BUILD = \"phase-production-build\";\nconst PHASE_PRODUCTION_SERVER = \"phase-production-server\";\nconst PHASE_DEVELOPMENT_SERVER = \"phase-development-server\";\nconst PHASE_TEST = \"phase-test\";\nconst PHASE_INFO = \"phase-info\";\nconst PAGES_MANIFEST = \"pages-manifest.json\";\nconst APP_PATHS_MANIFEST = \"app-paths-manifest.json\";\nconst APP_PATH_ROUTES_MANIFEST = \"app-path-routes-manifest.json\";\nconst BUILD_MANIFEST = \"build-manifest.json\";\nconst APP_BUILD_MANIFEST = \"app-build-manifest.json\";\nconst FUNCTIONS_CONFIG_MANIFEST = \"functions-config-manifest.json\";\nconst SUBRESOURCE_INTEGRITY_MANIFEST = \"subresource-integrity-manifest\";\nconst NEXT_FONT_MANIFEST = \"next-font-manifest\";\nconst EXPORT_MARKER = \"export-marker.json\";\nconst EXPORT_DETAIL = \"export-detail.json\";\nconst PRERENDER_MANIFEST = \"prerender-manifest.json\";\nconst ROUTES_MANIFEST = \"routes-manifest.json\";\nconst IMAGES_MANIFEST = \"images-manifest.json\";\nconst SERVER_FILES_MANIFEST = \"required-server-files.json\";\nconst DEV_CLIENT_PAGES_MANIFEST = \"_devPagesManifest.json\";\nconst MIDDLEWARE_MANIFEST = \"middleware-manifest.json\";\nconst DEV_MIDDLEWARE_MANIFEST = \"_devMiddlewareManifest.json\";\nconst REACT_LOADABLE_MANIFEST = \"react-loadable-manifest.json\";\nconst FONT_MANIFEST = \"font-manifest.json\";\nconst SERVER_DIRECTORY = \"server\";\nconst CONFIG_FILES = [\n \"next.config.js\",\n \"next.config.mjs\"\n];\nconst BUILD_ID_FILE = \"BUILD_ID\";\nconst BLOCKED_PAGES = [\n \"/_document\",\n \"/_app\",\n \"/_error\"\n];\nconst CLIENT_PUBLIC_FILES_PATH = \"public\";\nconst CLIENT_STATIC_FILES_PATH = \"static\";\nconst STRING_LITERAL_DROP_BUNDLE = \"__NEXT_DROP_CLIENT_FILE__\";\nconst NEXT_BUILTIN_DOCUMENT = \"__NEXT_BUILTIN_DOCUMENT__\";\nconst BARREL_OPTIMIZATION_PREFIX = \"__barrel_optimize__\";\nconst CLIENT_REFERENCE_MANIFEST = \"client-reference-manifest\";\nconst SERVER_REFERENCE_MANIFEST = \"server-reference-manifest\";\nconst MIDDLEWARE_BUILD_MANIFEST = \"middleware-build-manifest\";\nconst MIDDLEWARE_REACT_LOADABLE_MANIFEST = \"middleware-react-loadable-manifest\";\nconst CLIENT_STATIC_FILES_RUNTIME_MAIN = \"main\";\nconst CLIENT_STATIC_FILES_RUNTIME_MAIN_APP = \"\" + CLIENT_STATIC_FILES_RUNTIME_MAIN + \"-app\";\nconst APP_CLIENT_INTERNALS = \"app-pages-internals\";\nconst CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH = \"react-refresh\";\nconst CLIENT_STATIC_FILES_RUNTIME_AMP = \"amp\";\nconst CLIENT_STATIC_FILES_RUNTIME_WEBPACK = \"webpack\";\nconst CLIENT_STATIC_FILES_RUNTIME_POLYFILLS = \"polyfills\";\nconst CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL = Symbol(CLIENT_STATIC_FILES_RUNTIME_POLYFILLS);\nconst EDGE_RUNTIME_WEBPACK = \"edge-runtime-webpack\";\nconst STATIC_PROPS_ID = \"__N_SSG\";\nconst SERVER_PROPS_ID = \"__N_SSP\";\nconst GOOGLE_FONT_PROVIDER = \"https://fonts.googleapis.com/\";\nconst OPTIMIZED_FONT_PROVIDERS = [\n {\n url: GOOGLE_FONT_PROVIDER,\n preconnect: \"https://fonts.gstatic.com\"\n },\n {\n url: \"https://use.typekit.net\",\n preconnect: \"https://use.typekit.net\"\n }\n];\nconst DEFAULT_SERIF_FONT = {\n name: \"Times New Roman\",\n xAvgCharWidth: 821,\n azAvgWidth: 854.3953488372093,\n unitsPerEm: 2048\n};\nconst DEFAULT_SANS_SERIF_FONT = {\n name: \"Arial\",\n xAvgCharWidth: 904,\n azAvgWidth: 934.5116279069767,\n unitsPerEm: 2048\n};\nconst STATIC_STATUS_PAGES = [\n \"/500\"\n];\nconst TRACE_OUTPUT_VERSION = 1;\nconst TURBO_TRACE_DEFAULT_MEMORY_LIMIT = 6000;\nconst RSC_MODULE_TYPES = {\n client: \"client\",\n server: \"server\"\n};\nconst EDGE_UNSUPPORTED_NODE_APIS = [\n \"clearImmediate\",\n \"setImmediate\",\n \"BroadcastChannel\",\n \"ByteLengthQueuingStrategy\",\n \"CompressionStream\",\n \"CountQueuingStrategy\",\n \"DecompressionStream\",\n \"DomException\",\n \"MessageChannel\",\n \"MessageEvent\",\n \"MessagePort\",\n \"ReadableByteStreamController\",\n \"ReadableStreamBYOBRequest\",\n \"ReadableStreamDefaultController\",\n \"TransformStreamDefaultController\",\n \"WritableStreamDefaultController\"\n];\nconst SYSTEM_ENTRYPOINTS = new Set([\n CLIENT_STATIC_FILES_RUNTIME_MAIN,\n CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH,\n CLIENT_STATIC_FILES_RUNTIME_AMP,\n CLIENT_STATIC_FILES_RUNTIME_MAIN_APP\n]);\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvY29uc3RhbnRzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBZ0VOO0FBQ0EsU0FBU2dFLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUl0RSxPQUFPQyxjQUFjLENBQUNvRSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFsRSxTQUFTO0lBQ2JHLDRCQUE0QjtRQUN4QixPQUFPcUUsMEJBQTBCQyxPQUFPO0lBQzVDO0lBQ0FyRSxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLGtCQUFrQjtRQUNkLE9BQU9BO0lBQ1g7SUFDQUMsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtJQUNBQyxjQUFjO1FBQ1YsT0FBT0E7SUFDWDtJQUNBQyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtJQUNBQyx5QkFBeUI7UUFDckIsT0FBT0E7SUFDWDtJQUNBQywwQkFBMEI7UUFDdEIsT0FBT0E7SUFDWDtJQUNBQyxZQUFZO1FBQ1IsT0FBT0E7SUFDWDtJQUNBQyxZQUFZO1FBQ1IsT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9BO0lBQ1g7SUFDQUMsZ0NBQWdDO1FBQzVCLE9BQU9BO0lBQ1g7SUFDQUMsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtJQUNBQyxpQkFBaUI7UUFDYixPQUFPQTtJQUNYO0lBQ0FDLHVCQUF1QjtRQUNuQixPQUFPQTtJQUNYO0lBQ0FDLDJCQUEyQjtRQUN2QixPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGVBQWU7UUFDWCxPQUFPQTtJQUNYO0lBQ0FDLGtCQUFrQjtRQUNkLE9BQU9BO0lBQ1g7SUFDQUMsY0FBYztRQUNWLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsMEJBQTBCO1FBQ3RCLE9BQU9BO0lBQ1g7SUFDQUMsMEJBQTBCO1FBQ3RCLE9BQU9BO0lBQ1g7SUFDQUMsNEJBQTRCO1FBQ3hCLE9BQU9BO0lBQ1g7SUFDQUMsdUJBQXVCO1FBQ25CLE9BQU9BO0lBQ1g7SUFDQUMsNEJBQTRCO1FBQ3hCLE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9BO0lBQ1g7SUFDQUMsb0NBQW9DO1FBQ2hDLE9BQU9BO0lBQ1g7SUFDQUMsa0NBQWtDO1FBQzlCLE9BQU9BO0lBQ1g7SUFDQUMsc0NBQXNDO1FBQ2xDLE9BQU9BO0lBQ1g7SUFDQUMsc0JBQXNCO1FBQ2xCLE9BQU9BO0lBQ1g7SUFDQUMsMkNBQTJDO1FBQ3ZDLE9BQU9BO0lBQ1g7SUFDQUMsaUNBQWlDO1FBQzdCLE9BQU9BO0lBQ1g7SUFDQUMscUNBQXFDO1FBQ2pDLE9BQU9BO0lBQ1g7SUFDQUMsdUNBQXVDO1FBQ25DLE9BQU9BO0lBQ1g7SUFDQUMsOENBQThDO1FBQzFDLE9BQU9BO0lBQ1g7SUFDQUMsc0JBQXNCO1FBQ2xCLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtJQUNBQyxpQkFBaUI7UUFDYixPQUFPQTtJQUNYO0lBQ0FDLHNCQUFzQjtRQUNsQixPQUFPQTtJQUNYO0lBQ0FDLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLHNCQUFzQjtRQUNsQixPQUFPQTtJQUNYO0lBQ0FDLGtDQUFrQztRQUM5QixPQUFPQTtJQUNYO0lBQ0FDLGtCQUFrQjtRQUNkLE9BQU9BO0lBQ1g7SUFDQUMsNEJBQTRCO1FBQ3hCLE9BQU9BO0lBQ1g7SUFDQUMsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1TLDJCQUEyQkMsbUJBQU9BLENBQUMsNkdBQXlDO0FBQ2xGLE1BQU1ILDRCQUE0QixXQUFXLEdBQUdFLHlCQUF5QkUsQ0FBQyxDQUFDRCxtQkFBT0EsQ0FBQyx1R0FBOEI7QUFDakgsTUFBTXZFLGlCQUFpQjtJQUNuQnlFLFFBQVE7SUFDUkMsUUFBUTtJQUNSQyxZQUFZO0FBQ2hCO0FBQ0EsTUFBTTFFLG1CQUFtQjtJQUNyQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDSDtBQUNELE1BQU1DLG1CQUFtQjtJQUNyQixDQUFDRixlQUFleUUsTUFBTSxDQUFDLEVBQUU7SUFDekIsQ0FBQ3pFLGVBQWUwRSxNQUFNLENBQUMsRUFBRTtJQUN6QixDQUFDMUUsZUFBZTJFLFVBQVUsQ0FBQyxFQUFFO0FBQ2pDO0FBQ0EsTUFBTXhFLGVBQWU7QUFDckIsTUFBTUMseUJBQXlCO0FBQy9CLE1BQU1DLDBCQUEwQjtBQUNoQyxNQUFNQywyQkFBMkI7QUFDakMsTUFBTUMsYUFBYTtBQUNuQixNQUFNQyxhQUFhO0FBQ25CLE1BQU1DLGlCQUFpQjtBQUN2QixNQUFNQyxxQkFBcUI7QUFDM0IsTUFBTUMsMkJBQTJCO0FBQ2pDLE1BQU1DLGlCQUFpQjtBQUN2QixNQUFNQyxxQkFBcUI7QUFDM0IsTUFBTUMsNEJBQTRCO0FBQ2xDLE1BQU1DLGlDQUFpQztBQUN2QyxNQUFNQyxxQkFBcUI7QUFDM0IsTUFBTUMsZ0JBQWdCO0FBQ3RCLE1BQU1DLGdCQUFnQjtBQUN0QixNQUFNQyxxQkFBcUI7QUFDM0IsTUFBTUMsa0JBQWtCO0FBQ3hCLE1BQU1DLGtCQUFrQjtBQUN4QixNQUFNQyx3QkFBd0I7QUFDOUIsTUFBTUMsNEJBQTRCO0FBQ2xDLE1BQU1DLHNCQUFzQjtBQUM1QixNQUFNQywwQkFBMEI7QUFDaEMsTUFBTUMsMEJBQTBCO0FBQ2hDLE1BQU1DLGdCQUFnQjtBQUN0QixNQUFNQyxtQkFBbUI7QUFDekIsTUFBTUMsZUFBZTtJQUNqQjtJQUNBO0NBQ0g7QUFDRCxNQUFNQyxnQkFBZ0I7QUFDdEIsTUFBTUMsZ0JBQWdCO0lBQ2xCO0lBQ0E7SUFDQTtDQUNIO0FBQ0QsTUFBTUMsMkJBQTJCO0FBQ2pDLE1BQU1DLDJCQUEyQjtBQUNqQyxNQUFNQyw2QkFBNkI7QUFDbkMsTUFBTUMsd0JBQXdCO0FBQzlCLE1BQU1DLDZCQUE2QjtBQUNuQyxNQUFNQyw0QkFBNEI7QUFDbEMsTUFBTUMsNEJBQTRCO0FBQ2xDLE1BQU1DLDRCQUE0QjtBQUNsQyxNQUFNQyxxQ0FBcUM7QUFDM0MsTUFBTUMsbUNBQW1DO0FBQ3pDLE1BQU1DLHVDQUF1QyxLQUFLRCxtQ0FBbUM7QUFDckYsTUFBTUUsdUJBQXVCO0FBQzdCLE1BQU1DLDRDQUE0QztBQUNsRCxNQUFNQyxrQ0FBa0M7QUFDeEMsTUFBTUMsc0NBQXNDO0FBQzVDLE1BQU1DLHdDQUF3QztBQUM5QyxNQUFNQywrQ0FBK0M0QixPQUFPN0I7QUFDNUQsTUFBTUUsdUJBQXVCO0FBQzdCLE1BQU1DLGtCQUFrQjtBQUN4QixNQUFNQyxrQkFBa0I7QUFDeEIsTUFBTUMsdUJBQXVCO0FBQzdCLE1BQU1DLDJCQUEyQjtJQUM3QjtRQUNJd0IsS0FBS3pCO1FBQ0wwQixZQUFZO0lBQ2hCO0lBQ0E7UUFDSUQsS0FBSztRQUNMQyxZQUFZO0lBQ2hCO0NBQ0g7QUFDRCxNQUFNeEIscUJBQXFCO0lBQ3ZCVyxNQUFNO0lBQ05jLGVBQWU7SUFDZkMsWUFBWTtJQUNaQyxZQUFZO0FBQ2hCO0FBQ0EsTUFBTTFCLDBCQUEwQjtJQUM1QlUsTUFBTTtJQUNOYyxlQUFlO0lBQ2ZDLFlBQVk7SUFDWkMsWUFBWTtBQUNoQjtBQUNBLE1BQU16QixzQkFBc0I7SUFDeEI7Q0FDSDtBQUNELE1BQU1DLHVCQUF1QjtBQUM3QixNQUFNQyxtQ0FBbUM7QUFDekMsTUFBTUMsbUJBQW1CO0lBQ3JCYyxRQUFRO0lBQ1JDLFFBQVE7QUFDWjtBQUNBLE1BQU1kLDZCQUE2QjtJQUMvQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNIO0FBQ0QsTUFBTUMscUJBQXFCLElBQUlxQixJQUFJO0lBQy9CekM7SUFDQUc7SUFDQUM7SUFDQUg7Q0FDSDtBQUVELElBQUksQ0FBQyxPQUFPOUMsUUFBUXlFLE9BQU8sS0FBSyxjQUFlLE9BQU96RSxRQUFReUUsT0FBTyxLQUFLLFlBQVl6RSxRQUFReUUsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPekUsUUFBUXlFLE9BQU8sQ0FBQ2MsVUFBVSxLQUFLLGFBQWE7SUFDckt6RixPQUFPQyxjQUFjLENBQUNDLFFBQVF5RSxPQUFPLEVBQUUsY0FBYztRQUFFeEUsT0FBTztJQUFLO0lBQ25FSCxPQUFPMEYsTUFBTSxDQUFDeEYsUUFBUXlFLE9BQU8sRUFBRXpFO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVF5RSxPQUFPO0FBQ2xDLEVBRUEscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2NvbnN0YW50cy5qcz84OGQ1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgTU9ERVJOX0JST1dTRVJTTElTVF9UQVJHRVQ6IG51bGwsXG4gICAgQ09NUElMRVJfTkFNRVM6IG51bGwsXG4gICAgSU5URVJOQUxfSEVBREVSUzogbnVsbCxcbiAgICBDT01QSUxFUl9JTkRFWEVTOiBudWxsLFxuICAgIFBIQVNFX0VYUE9SVDogbnVsbCxcbiAgICBQSEFTRV9QUk9EVUNUSU9OX0JVSUxEOiBudWxsLFxuICAgIFBIQVNFX1BST0RVQ1RJT05fU0VSVkVSOiBudWxsLFxuICAgIFBIQVNFX0RFVkVMT1BNRU5UX1NFUlZFUjogbnVsbCxcbiAgICBQSEFTRV9URVNUOiBudWxsLFxuICAgIFBIQVNFX0lORk86IG51bGwsXG4gICAgUEFHRVNfTUFOSUZFU1Q6IG51bGwsXG4gICAgQVBQX1BBVEhTX01BTklGRVNUOiBudWxsLFxuICAgIEFQUF9QQVRIX1JPVVRFU19NQU5JRkVTVDogbnVsbCxcbiAgICBCVUlMRF9NQU5JRkVTVDogbnVsbCxcbiAgICBBUFBfQlVJTERfTUFOSUZFU1Q6IG51bGwsXG4gICAgRlVOQ1RJT05TX0NPTkZJR19NQU5JRkVTVDogbnVsbCxcbiAgICBTVUJSRVNPVVJDRV9JTlRFR1JJVFlfTUFOSUZFU1Q6IG51bGwsXG4gICAgTkVYVF9GT05UX01BTklGRVNUOiBudWxsLFxuICAgIEVYUE9SVF9NQVJLRVI6IG51bGwsXG4gICAgRVhQT1JUX0RFVEFJTDogbnVsbCxcbiAgICBQUkVSRU5ERVJfTUFOSUZFU1Q6IG51bGwsXG4gICAgUk9VVEVTX01BTklGRVNUOiBudWxsLFxuICAgIElNQUdFU19NQU5JRkVTVDogbnVsbCxcbiAgICBTRVJWRVJfRklMRVNfTUFOSUZFU1Q6IG51bGwsXG4gICAgREVWX0NMSUVOVF9QQUdFU19NQU5JRkVTVDogbnVsbCxcbiAgICBNSURETEVXQVJFX01BTklGRVNUOiBudWxsLFxuICAgIERFVl9NSURETEVXQVJFX01BTklGRVNUOiBudWxsLFxuICAgIFJFQUNUX0xPQURBQkxFX01BTklGRVNUOiBudWxsLFxuICAgIEZPTlRfTUFOSUZFU1Q6IG51bGwsXG4gICAgU0VSVkVSX0RJUkVDVE9SWTogbnVsbCxcbiAgICBDT05GSUdfRklMRVM6IG51bGwsXG4gICAgQlVJTERfSURfRklMRTogbnVsbCxcbiAgICBCTE9DS0VEX1BBR0VTOiBudWxsLFxuICAgIENMSUVOVF9QVUJMSUNfRklMRVNfUEFUSDogbnVsbCxcbiAgICBDTElFTlRfU1RBVElDX0ZJTEVTX1BBVEg6IG51bGwsXG4gICAgU1RSSU5HX0xJVEVSQUxfRFJPUF9CVU5ETEU6IG51bGwsXG4gICAgTkVYVF9CVUlMVElOX0RPQ1VNRU5UOiBudWxsLFxuICAgIEJBUlJFTF9PUFRJTUlaQVRJT05fUFJFRklYOiBudWxsLFxuICAgIENMSUVOVF9SRUZFUkVOQ0VfTUFOSUZFU1Q6IG51bGwsXG4gICAgU0VSVkVSX1JFRkVSRU5DRV9NQU5JRkVTVDogbnVsbCxcbiAgICBNSURETEVXQVJFX0JVSUxEX01BTklGRVNUOiBudWxsLFxuICAgIE1JRERMRVdBUkVfUkVBQ1RfTE9BREFCTEVfTUFOSUZFU1Q6IG51bGwsXG4gICAgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX01BSU46IG51bGwsXG4gICAgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX01BSU5fQVBQOiBudWxsLFxuICAgIEFQUF9DTElFTlRfSU5URVJOQUxTOiBudWxsLFxuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9SRUFDVF9SRUZSRVNIOiBudWxsLFxuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9BTVA6IG51bGwsXG4gICAgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1dFQlBBQ0s6IG51bGwsXG4gICAgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1BPTFlGSUxMUzogbnVsbCxcbiAgICBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfUE9MWUZJTExTX1NZTUJPTDogbnVsbCxcbiAgICBFREdFX1JVTlRJTUVfV0VCUEFDSzogbnVsbCxcbiAgICBTVEFUSUNfUFJPUFNfSUQ6IG51bGwsXG4gICAgU0VSVkVSX1BST1BTX0lEOiBudWxsLFxuICAgIEdPT0dMRV9GT05UX1BST1ZJREVSOiBudWxsLFxuICAgIE9QVElNSVpFRF9GT05UX1BST1ZJREVSUzogbnVsbCxcbiAgICBERUZBVUxUX1NFUklGX0ZPTlQ6IG51bGwsXG4gICAgREVGQVVMVF9TQU5TX1NFUklGX0ZPTlQ6IG51bGwsXG4gICAgU1RBVElDX1NUQVRVU19QQUdFUzogbnVsbCxcbiAgICBUUkFDRV9PVVRQVVRfVkVSU0lPTjogbnVsbCxcbiAgICBUVVJCT19UUkFDRV9ERUZBVUxUX01FTU9SWV9MSU1JVDogbnVsbCxcbiAgICBSU0NfTU9EVUxFX1RZUEVTOiBudWxsLFxuICAgIEVER0VfVU5TVVBQT1JURURfTk9ERV9BUElTOiBudWxsLFxuICAgIFNZU1RFTV9FTlRSWVBPSU5UUzogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBNT0RFUk5fQlJPV1NFUlNMSVNUX1RBUkdFVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfbW9kZXJuYnJvd3NlcnNsaXN0dGFyZ2V0LmRlZmF1bHQ7XG4gICAgfSxcbiAgICBDT01QSUxFUl9OQU1FUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBDT01QSUxFUl9OQU1FUztcbiAgICB9LFxuICAgIElOVEVSTkFMX0hFQURFUlM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSU5URVJOQUxfSEVBREVSUztcbiAgICB9LFxuICAgIENPTVBJTEVSX0lOREVYRVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ09NUElMRVJfSU5ERVhFUztcbiAgICB9LFxuICAgIFBIQVNFX0VYUE9SVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQSEFTRV9FWFBPUlQ7XG4gICAgfSxcbiAgICBQSEFTRV9QUk9EVUNUSU9OX0JVSUxEOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBIQVNFX1BST0RVQ1RJT05fQlVJTEQ7XG4gICAgfSxcbiAgICBQSEFTRV9QUk9EVUNUSU9OX1NFUlZFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQSEFTRV9QUk9EVUNUSU9OX1NFUlZFUjtcbiAgICB9LFxuICAgIFBIQVNFX0RFVkVMT1BNRU5UX1NFUlZFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQSEFTRV9ERVZFTE9QTUVOVF9TRVJWRVI7XG4gICAgfSxcbiAgICBQSEFTRV9URVNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBIQVNFX1RFU1Q7XG4gICAgfSxcbiAgICBQSEFTRV9JTkZPOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBIQVNFX0lORk87XG4gICAgfSxcbiAgICBQQUdFU19NQU5JRkVTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQQUdFU19NQU5JRkVTVDtcbiAgICB9LFxuICAgIEFQUF9QQVRIU19NQU5JRkVTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBUFBfUEFUSFNfTUFOSUZFU1Q7XG4gICAgfSxcbiAgICBBUFBfUEFUSF9ST1VURVNfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQVBQX1BBVEhfUk9VVEVTX01BTklGRVNUO1xuICAgIH0sXG4gICAgQlVJTERfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQlVJTERfTUFOSUZFU1Q7XG4gICAgfSxcbiAgICBBUFBfQlVJTERfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQVBQX0JVSUxEX01BTklGRVNUO1xuICAgIH0sXG4gICAgRlVOQ1RJT05TX0NPTkZJR19NQU5JRkVTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBGVU5DVElPTlNfQ09ORklHX01BTklGRVNUO1xuICAgIH0sXG4gICAgU1VCUkVTT1VSQ0VfSU5URUdSSVRZX01BTklGRVNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNVQlJFU09VUkNFX0lOVEVHUklUWV9NQU5JRkVTVDtcbiAgICB9LFxuICAgIE5FWFRfRk9OVF9NQU5JRkVTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0ZPTlRfTUFOSUZFU1Q7XG4gICAgfSxcbiAgICBFWFBPUlRfTUFSS0VSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEVYUE9SVF9NQVJLRVI7XG4gICAgfSxcbiAgICBFWFBPUlRfREVUQUlMOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEVYUE9SVF9ERVRBSUw7XG4gICAgfSxcbiAgICBQUkVSRU5ERVJfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUFJFUkVOREVSX01BTklGRVNUO1xuICAgIH0sXG4gICAgUk9VVEVTX01BTklGRVNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJPVVRFU19NQU5JRkVTVDtcbiAgICB9LFxuICAgIElNQUdFU19NQU5JRkVTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBJTUFHRVNfTUFOSUZFU1Q7XG4gICAgfSxcbiAgICBTRVJWRVJfRklMRVNfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU0VSVkVSX0ZJTEVTX01BTklGRVNUO1xuICAgIH0sXG4gICAgREVWX0NMSUVOVF9QQUdFU19NQU5JRkVTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBERVZfQ0xJRU5UX1BBR0VTX01BTklGRVNUO1xuICAgIH0sXG4gICAgTUlERExFV0FSRV9NQU5JRkVTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBNSURETEVXQVJFX01BTklGRVNUO1xuICAgIH0sXG4gICAgREVWX01JRERMRVdBUkVfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gREVWX01JRERMRVdBUkVfTUFOSUZFU1Q7XG4gICAgfSxcbiAgICBSRUFDVF9MT0FEQUJMRV9NQU5JRkVTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSRUFDVF9MT0FEQUJMRV9NQU5JRkVTVDtcbiAgICB9LFxuICAgIEZPTlRfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRk9OVF9NQU5JRkVTVDtcbiAgICB9LFxuICAgIFNFUlZFUl9ESVJFQ1RPUlk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU0VSVkVSX0RJUkVDVE9SWTtcbiAgICB9LFxuICAgIENPTkZJR19GSUxFUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBDT05GSUdfRklMRVM7XG4gICAgfSxcbiAgICBCVUlMRF9JRF9GSUxFOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEJVSUxEX0lEX0ZJTEU7XG4gICAgfSxcbiAgICBCTE9DS0VEX1BBR0VTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEJMT0NLRURfUEFHRVM7XG4gICAgfSxcbiAgICBDTElFTlRfUFVCTElDX0ZJTEVTX1BBVEg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ0xJRU5UX1BVQkxJQ19GSUxFU19QQVRIO1xuICAgIH0sXG4gICAgQ0xJRU5UX1NUQVRJQ19GSUxFU19QQVRIOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENMSUVOVF9TVEFUSUNfRklMRVNfUEFUSDtcbiAgICB9LFxuICAgIFNUUklOR19MSVRFUkFMX0RST1BfQlVORExFOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNUUklOR19MSVRFUkFMX0RST1BfQlVORExFO1xuICAgIH0sXG4gICAgTkVYVF9CVUlMVElOX0RPQ1VNRU5UOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQlVJTFRJTl9ET0NVTUVOVDtcbiAgICB9LFxuICAgIEJBUlJFTF9PUFRJTUlaQVRJT05fUFJFRklYOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEJBUlJFTF9PUFRJTUlaQVRJT05fUFJFRklYO1xuICAgIH0sXG4gICAgQ0xJRU5UX1JFRkVSRU5DRV9NQU5JRkVTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBDTElFTlRfUkVGRVJFTkNFX01BTklGRVNUO1xuICAgIH0sXG4gICAgU0VSVkVSX1JFRkVSRU5DRV9NQU5JRkVTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTRVJWRVJfUkVGRVJFTkNFX01BTklGRVNUO1xuICAgIH0sXG4gICAgTUlERExFV0FSRV9CVUlMRF9NQU5JRkVTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBNSURETEVXQVJFX0JVSUxEX01BTklGRVNUO1xuICAgIH0sXG4gICAgTUlERExFV0FSRV9SRUFDVF9MT0FEQUJMRV9NQU5JRkVTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBNSURETEVXQVJFX1JFQUNUX0xPQURBQkxFX01BTklGRVNUO1xuICAgIH0sXG4gICAgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX01BSU46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX01BSU47XG4gICAgfSxcbiAgICBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfTUFJTl9BUFA6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX01BSU5fQVBQO1xuICAgIH0sXG4gICAgQVBQX0NMSUVOVF9JTlRFUk5BTFM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQVBQX0NMSUVOVF9JTlRFUk5BTFM7XG4gICAgfSxcbiAgICBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfUkVBQ1RfUkVGUkVTSDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfUkVBQ1RfUkVGUkVTSDtcbiAgICB9LFxuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9BTVA6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX0FNUDtcbiAgICB9LFxuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9XRUJQQUNLOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9XRUJQQUNLO1xuICAgIH0sXG4gICAgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1BPTFlGSUxMUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfUE9MWUZJTExTO1xuICAgIH0sXG4gICAgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1BPTFlGSUxMU19TWU1CT0w6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1BPTFlGSUxMU19TWU1CT0w7XG4gICAgfSxcbiAgICBFREdFX1JVTlRJTUVfV0VCUEFDSzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBFREdFX1JVTlRJTUVfV0VCUEFDSztcbiAgICB9LFxuICAgIFNUQVRJQ19QUk9QU19JRDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTVEFUSUNfUFJPUFNfSUQ7XG4gICAgfSxcbiAgICBTRVJWRVJfUFJPUFNfSUQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU0VSVkVSX1BST1BTX0lEO1xuICAgIH0sXG4gICAgR09PR0xFX0ZPTlRfUFJPVklERVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gR09PR0xFX0ZPTlRfUFJPVklERVI7XG4gICAgfSxcbiAgICBPUFRJTUlaRURfRk9OVF9QUk9WSURFUlM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gT1BUSU1JWkVEX0ZPTlRfUFJPVklERVJTO1xuICAgIH0sXG4gICAgREVGQVVMVF9TRVJJRl9GT05UOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERFRkFVTFRfU0VSSUZfRk9OVDtcbiAgICB9LFxuICAgIERFRkFVTFRfU0FOU19TRVJJRl9GT05UOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERFRkFVTFRfU0FOU19TRVJJRl9GT05UO1xuICAgIH0sXG4gICAgU1RBVElDX1NUQVRVU19QQUdFUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTVEFUSUNfU1RBVFVTX1BBR0VTO1xuICAgIH0sXG4gICAgVFJBQ0VfT1VUUFVUX1ZFUlNJT046IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gVFJBQ0VfT1VUUFVUX1ZFUlNJT047XG4gICAgfSxcbiAgICBUVVJCT19UUkFDRV9ERUZBVUxUX01FTU9SWV9MSU1JVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBUVVJCT19UUkFDRV9ERUZBVUxUX01FTU9SWV9MSU1JVDtcbiAgICB9LFxuICAgIFJTQ19NT0RVTEVfVFlQRVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUlNDX01PRFVMRV9UWVBFUztcbiAgICB9LFxuICAgIEVER0VfVU5TVVBQT1JURURfTk9ERV9BUElTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEVER0VfVU5TVVBQT1JURURfTk9ERV9BUElTO1xuICAgIH0sXG4gICAgU1lTVEVNX0VOVFJZUE9JTlRTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNZU1RFTV9FTlRSWVBPSU5UUztcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfbW9kZXJuYnJvd3NlcnNsaXN0dGFyZ2V0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi9tb2Rlcm4tYnJvd3NlcnNsaXN0LXRhcmdldFwiKSk7XG5jb25zdCBDT01QSUxFUl9OQU1FUyA9IHtcbiAgICBjbGllbnQ6IFwiY2xpZW50XCIsXG4gICAgc2VydmVyOiBcInNlcnZlclwiLFxuICAgIGVkZ2VTZXJ2ZXI6IFwiZWRnZS1zZXJ2ZXJcIlxufTtcbmNvbnN0IElOVEVSTkFMX0hFQURFUlMgPSBbXG4gICAgXCJ4LWludm9rZS1lcnJvclwiLFxuICAgIFwieC1pbnZva2Utb3V0cHV0XCIsXG4gICAgXCJ4LWludm9rZS1wYXRoXCIsXG4gICAgXCJ4LWludm9rZS1xdWVyeVwiLFxuICAgIFwieC1pbnZva2Utc3RhdHVzXCIsXG4gICAgXCJ4LW1pZGRsZXdhcmUtaW52b2tlXCJcbl07XG5jb25zdCBDT01QSUxFUl9JTkRFWEVTID0ge1xuICAgIFtDT01QSUxFUl9OQU1FUy5jbGllbnRdOiAwLFxuICAgIFtDT01QSUxFUl9OQU1FUy5zZXJ2ZXJdOiAxLFxuICAgIFtDT01QSUxFUl9OQU1FUy5lZGdlU2VydmVyXTogMlxufTtcbmNvbnN0IFBIQVNFX0VYUE9SVCA9IFwicGhhc2UtZXhwb3J0XCI7XG5jb25zdCBQSEFTRV9QUk9EVUNUSU9OX0JVSUxEID0gXCJwaGFzZS1wcm9kdWN0aW9uLWJ1aWxkXCI7XG5jb25zdCBQSEFTRV9QUk9EVUNUSU9OX1NFUlZFUiA9IFwicGhhc2UtcHJvZHVjdGlvbi1zZXJ2ZXJcIjtcbmNvbnN0IFBIQVNFX0RFVkVMT1BNRU5UX1NFUlZFUiA9IFwicGhhc2UtZGV2ZWxvcG1lbnQtc2VydmVyXCI7XG5jb25zdCBQSEFTRV9URVNUID0gXCJwaGFzZS10ZXN0XCI7XG5jb25zdCBQSEFTRV9JTkZPID0gXCJwaGFzZS1pbmZvXCI7XG5jb25zdCBQQUdFU19NQU5JRkVTVCA9IFwicGFnZXMtbWFuaWZlc3QuanNvblwiO1xuY29uc3QgQVBQX1BBVEhTX01BTklGRVNUID0gXCJhcHAtcGF0aHMtbWFuaWZlc3QuanNvblwiO1xuY29uc3QgQVBQX1BBVEhfUk9VVEVTX01BTklGRVNUID0gXCJhcHAtcGF0aC1yb3V0ZXMtbWFuaWZlc3QuanNvblwiO1xuY29uc3QgQlVJTERfTUFOSUZFU1QgPSBcImJ1aWxkLW1hbmlmZXN0Lmpzb25cIjtcbmNvbnN0IEFQUF9CVUlMRF9NQU5JRkVTVCA9IFwiYXBwLWJ1aWxkLW1hbmlmZXN0Lmpzb25cIjtcbmNvbnN0IEZVTkNUSU9OU19DT05GSUdfTUFOSUZFU1QgPSBcImZ1bmN0aW9ucy1jb25maWctbWFuaWZlc3QuanNvblwiO1xuY29uc3QgU1VCUkVTT1VSQ0VfSU5URUdSSVRZX01BTklGRVNUID0gXCJzdWJyZXNvdXJjZS1pbnRlZ3JpdHktbWFuaWZlc3RcIjtcbmNvbnN0IE5FWFRfRk9OVF9NQU5JRkVTVCA9IFwibmV4dC1mb250LW1hbmlmZXN0XCI7XG5jb25zdCBFWFBPUlRfTUFSS0VSID0gXCJleHBvcnQtbWFya2VyLmpzb25cIjtcbmNvbnN0IEVYUE9SVF9ERVRBSUwgPSBcImV4cG9ydC1kZXRhaWwuanNvblwiO1xuY29uc3QgUFJFUkVOREVSX01BTklGRVNUID0gXCJwcmVyZW5kZXItbWFuaWZlc3QuanNvblwiO1xuY29uc3QgUk9VVEVTX01BTklGRVNUID0gXCJyb3V0ZXMtbWFuaWZlc3QuanNvblwiO1xuY29uc3QgSU1BR0VTX01BTklGRVNUID0gXCJpbWFnZXMtbWFuaWZlc3QuanNvblwiO1xuY29uc3QgU0VSVkVSX0ZJTEVTX01BTklGRVNUID0gXCJyZXF1aXJlZC1zZXJ2ZXItZmlsZXMuanNvblwiO1xuY29uc3QgREVWX0NMSUVOVF9QQUdFU19NQU5JRkVTVCA9IFwiX2RldlBhZ2VzTWFuaWZlc3QuanNvblwiO1xuY29uc3QgTUlERExFV0FSRV9NQU5JRkVTVCA9IFwibWlkZGxld2FyZS1tYW5pZmVzdC5qc29uXCI7XG5jb25zdCBERVZfTUlERExFV0FSRV9NQU5JRkVTVCA9IFwiX2Rldk1pZGRsZXdhcmVNYW5pZmVzdC5qc29uXCI7XG5jb25zdCBSRUFDVF9MT0FEQUJMRV9NQU5JRkVTVCA9IFwicmVhY3QtbG9hZGFibGUtbWFuaWZlc3QuanNvblwiO1xuY29uc3QgRk9OVF9NQU5JRkVTVCA9IFwiZm9udC1tYW5pZmVzdC5qc29uXCI7XG5jb25zdCBTRVJWRVJfRElSRUNUT1JZID0gXCJzZXJ2ZXJcIjtcbmNvbnN0IENPTkZJR19GSUxFUyA9IFtcbiAgICBcIm5leHQuY29uZmlnLmpzXCIsXG4gICAgXCJuZXh0LmNvbmZpZy5tanNcIlxuXTtcbmNvbnN0IEJVSUxEX0lEX0ZJTEUgPSBcIkJVSUxEX0lEXCI7XG5jb25zdCBCTE9DS0VEX1BBR0VTID0gW1xuICAgIFwiL19kb2N1bWVudFwiLFxuICAgIFwiL19hcHBcIixcbiAgICBcIi9fZXJyb3JcIlxuXTtcbmNvbnN0IENMSUVOVF9QVUJMSUNfRklMRVNfUEFUSCA9IFwicHVibGljXCI7XG5jb25zdCBDTElFTlRfU1RBVElDX0ZJTEVTX1BBVEggPSBcInN0YXRpY1wiO1xuY29uc3QgU1RSSU5HX0xJVEVSQUxfRFJPUF9CVU5ETEUgPSBcIl9fTkVYVF9EUk9QX0NMSUVOVF9GSUxFX19cIjtcbmNvbnN0IE5FWFRfQlVJTFRJTl9ET0NVTUVOVCA9IFwiX19ORVhUX0JVSUxUSU5fRE9DVU1FTlRfX1wiO1xuY29uc3QgQkFSUkVMX09QVElNSVpBVElPTl9QUkVGSVggPSBcIl9fYmFycmVsX29wdGltaXplX19cIjtcbmNvbnN0IENMSUVOVF9SRUZFUkVOQ0VfTUFOSUZFU1QgPSBcImNsaWVudC1yZWZlcmVuY2UtbWFuaWZlc3RcIjtcbmNvbnN0IFNFUlZFUl9SRUZFUkVOQ0VfTUFOSUZFU1QgPSBcInNlcnZlci1yZWZlcmVuY2UtbWFuaWZlc3RcIjtcbmNvbnN0IE1JRERMRVdBUkVfQlVJTERfTUFOSUZFU1QgPSBcIm1pZGRsZXdhcmUtYnVpbGQtbWFuaWZlc3RcIjtcbmNvbnN0IE1JRERMRVdBUkVfUkVBQ1RfTE9BREFCTEVfTUFOSUZFU1QgPSBcIm1pZGRsZXdhcmUtcmVhY3QtbG9hZGFibGUtbWFuaWZlc3RcIjtcbmNvbnN0IENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOID0gXCJtYWluXCI7XG5jb25zdCBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfTUFJTl9BUFAgPSBcIlwiICsgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX01BSU4gKyBcIi1hcHBcIjtcbmNvbnN0IEFQUF9DTElFTlRfSU5URVJOQUxTID0gXCJhcHAtcGFnZXMtaW50ZXJuYWxzXCI7XG5jb25zdCBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfUkVBQ1RfUkVGUkVTSCA9IFwicmVhY3QtcmVmcmVzaFwiO1xuY29uc3QgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX0FNUCA9IFwiYW1wXCI7XG5jb25zdCBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfV0VCUEFDSyA9IFwid2VicGFja1wiO1xuY29uc3QgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1BPTFlGSUxMUyA9IFwicG9seWZpbGxzXCI7XG5jb25zdCBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfUE9MWUZJTExTX1NZTUJPTCA9IFN5bWJvbChDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfUE9MWUZJTExTKTtcbmNvbnN0IEVER0VfUlVOVElNRV9XRUJQQUNLID0gXCJlZGdlLXJ1bnRpbWUtd2VicGFja1wiO1xuY29uc3QgU1RBVElDX1BST1BTX0lEID0gXCJfX05fU1NHXCI7XG5jb25zdCBTRVJWRVJfUFJPUFNfSUQgPSBcIl9fTl9TU1BcIjtcbmNvbnN0IEdPT0dMRV9GT05UX1BST1ZJREVSID0gXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL1wiO1xuY29uc3QgT1BUSU1JWkVEX0ZPTlRfUFJPVklERVJTID0gW1xuICAgIHtcbiAgICAgICAgdXJsOiBHT09HTEVfRk9OVF9QUk9WSURFUixcbiAgICAgICAgcHJlY29ubmVjdDogXCJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tXCJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgdXJsOiBcImh0dHBzOi8vdXNlLnR5cGVraXQubmV0XCIsXG4gICAgICAgIHByZWNvbm5lY3Q6IFwiaHR0cHM6Ly91c2UudHlwZWtpdC5uZXRcIlxuICAgIH1cbl07XG5jb25zdCBERUZBVUxUX1NFUklGX0ZPTlQgPSB7XG4gICAgbmFtZTogXCJUaW1lcyBOZXcgUm9tYW5cIixcbiAgICB4QXZnQ2hhcldpZHRoOiA4MjEsXG4gICAgYXpBdmdXaWR0aDogODU0LjM5NTM0ODgzNzIwOTMsXG4gICAgdW5pdHNQZXJFbTogMjA0OFxufTtcbmNvbnN0IERFRkFVTFRfU0FOU19TRVJJRl9GT05UID0ge1xuICAgIG5hbWU6IFwiQXJpYWxcIixcbiAgICB4QXZnQ2hhcldpZHRoOiA5MDQsXG4gICAgYXpBdmdXaWR0aDogOTM0LjUxMTYyNzkwNjk3NjcsXG4gICAgdW5pdHNQZXJFbTogMjA0OFxufTtcbmNvbnN0IFNUQVRJQ19TVEFUVVNfUEFHRVMgPSBbXG4gICAgXCIvNTAwXCJcbl07XG5jb25zdCBUUkFDRV9PVVRQVVRfVkVSU0lPTiA9IDE7XG5jb25zdCBUVVJCT19UUkFDRV9ERUZBVUxUX01FTU9SWV9MSU1JVCA9IDYwMDA7XG5jb25zdCBSU0NfTU9EVUxFX1RZUEVTID0ge1xuICAgIGNsaWVudDogXCJjbGllbnRcIixcbiAgICBzZXJ2ZXI6IFwic2VydmVyXCJcbn07XG5jb25zdCBFREdFX1VOU1VQUE9SVEVEX05PREVfQVBJUyA9IFtcbiAgICBcImNsZWFySW1tZWRpYXRlXCIsXG4gICAgXCJzZXRJbW1lZGlhdGVcIixcbiAgICBcIkJyb2FkY2FzdENoYW5uZWxcIixcbiAgICBcIkJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lcIixcbiAgICBcIkNvbXByZXNzaW9uU3RyZWFtXCIsXG4gICAgXCJDb3VudFF1ZXVpbmdTdHJhdGVneVwiLFxuICAgIFwiRGVjb21wcmVzc2lvblN0cmVhbVwiLFxuICAgIFwiRG9tRXhjZXB0aW9uXCIsXG4gICAgXCJNZXNzYWdlQ2hhbm5lbFwiLFxuICAgIFwiTWVzc2FnZUV2ZW50XCIsXG4gICAgXCJNZXNzYWdlUG9ydFwiLFxuICAgIFwiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclwiLFxuICAgIFwiUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdFwiLFxuICAgIFwiUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlclwiLFxuICAgIFwiVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJcIixcbiAgICBcIldyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJcIlxuXTtcbmNvbnN0IFNZU1RFTV9FTlRSWVBPSU5UUyA9IG5ldyBTZXQoW1xuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOLFxuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9SRUFDVF9SRUZSRVNILFxuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9BTVAsXG4gICAgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX01BSU5fQVBQXG5dKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3RhbnRzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIk1PREVSTl9CUk9XU0VSU0xJU1RfVEFSR0VUIiwiQ09NUElMRVJfTkFNRVMiLCJJTlRFUk5BTF9IRUFERVJTIiwiQ09NUElMRVJfSU5ERVhFUyIsIlBIQVNFX0VYUE9SVCIsIlBIQVNFX1BST0RVQ1RJT05fQlVJTEQiLCJQSEFTRV9QUk9EVUNUSU9OX1NFUlZFUiIsIlBIQVNFX0RFVkVMT1BNRU5UX1NFUlZFUiIsIlBIQVNFX1RFU1QiLCJQSEFTRV9JTkZPIiwiUEFHRVNfTUFOSUZFU1QiLCJBUFBfUEFUSFNfTUFOSUZFU1QiLCJBUFBfUEFUSF9ST1VURVNfTUFOSUZFU1QiLCJCVUlMRF9NQU5JRkVTVCIsIkFQUF9CVUlMRF9NQU5JRkVTVCIsIkZVTkNUSU9OU19DT05GSUdfTUFOSUZFU1QiLCJTVUJSRVNPVVJDRV9JTlRFR1JJVFlfTUFOSUZFU1QiLCJORVhUX0ZPTlRfTUFOSUZFU1QiLCJFWFBPUlRfTUFSS0VSIiwiRVhQT1JUX0RFVEFJTCIsIlBSRVJFTkRFUl9NQU5JRkVTVCIsIlJPVVRFU19NQU5JRkVTVCIsIklNQUdFU19NQU5JRkVTVCIsIlNFUlZFUl9GSUxFU19NQU5JRkVTVCIsIkRFVl9DTElFTlRfUEFHRVNfTUFOSUZFU1QiLCJNSURETEVXQVJFX01BTklGRVNUIiwiREVWX01JRERMRVdBUkVfTUFOSUZFU1QiLCJSRUFDVF9MT0FEQUJMRV9NQU5JRkVTVCIsIkZPTlRfTUFOSUZFU1QiLCJTRVJWRVJfRElSRUNUT1JZIiwiQ09ORklHX0ZJTEVTIiwiQlVJTERfSURfRklMRSIsIkJMT0NLRURfUEFHRVMiLCJDTElFTlRfUFVCTElDX0ZJTEVTX1BBVEgiLCJDTElFTlRfU1RBVElDX0ZJTEVTX1BBVEgiLCJTVFJJTkdfTElURVJBTF9EUk9QX0JVTkRMRSIsIk5FWFRfQlVJTFRJTl9ET0NVTUVOVCIsIkJBUlJFTF9PUFRJTUlaQVRJT05fUFJFRklYIiwiQ0xJRU5UX1JFRkVSRU5DRV9NQU5JRkVTVCIsIlNFUlZFUl9SRUZFUkVOQ0VfTUFOSUZFU1QiLCJNSURETEVXQVJFX0JVSUxEX01BTklGRVNUIiwiTUlERExFV0FSRV9SRUFDVF9MT0FEQUJMRV9NQU5JRkVTVCIsIkNMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX01BSU5fQVBQIiwiQVBQX0NMSUVOVF9JTlRFUk5BTFMiLCJDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfUkVBQ1RfUkVGUkVTSCIsIkNMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9BTVAiLCJDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfV0VCUEFDSyIsIkNMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9QT0xZRklMTFMiLCJDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfUE9MWUZJTExTX1NZTUJPTCIsIkVER0VfUlVOVElNRV9XRUJQQUNLIiwiU1RBVElDX1BST1BTX0lEIiwiU0VSVkVSX1BST1BTX0lEIiwiR09PR0xFX0ZPTlRfUFJPVklERVIiLCJPUFRJTUlaRURfRk9OVF9QUk9WSURFUlMiLCJERUZBVUxUX1NFUklGX0ZPTlQiLCJERUZBVUxUX1NBTlNfU0VSSUZfRk9OVCIsIlNUQVRJQ19TVEFUVVNfUEFHRVMiLCJUUkFDRV9PVVRQVVRfVkVSU0lPTiIsIlRVUkJPX1RSQUNFX0RFRkFVTFRfTUVNT1JZX0xJTUlUIiwiUlNDX01PRFVMRV9UWVBFUyIsIkVER0VfVU5TVVBQT1JURURfTk9ERV9BUElTIiwiU1lTVEVNX0VOVFJZUE9JTlRTIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX21vZGVybmJyb3dzZXJzbGlzdHRhcmdldCIsImRlZmF1bHQiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiXyIsImNsaWVudCIsInNlcnZlciIsImVkZ2VTZXJ2ZXIiLCJTeW1ib2wiLCJ1cmwiLCJwcmVjb25uZWN0IiwieEF2Z0NoYXJXaWR0aCIsImF6QXZnV2lkdGgiLCJ1bml0c1BlckVtIiwiU2V0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/constants.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/head.js": /*!***************************************************!*\ !*** ./node_modules/next/dist/shared/lib/head.js ***! \***************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n defaultHead: function() {\n return defaultHead;\n },\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"react/jsx-runtime\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"react\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"./node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontextsharedruntime = __webpack_require__(/*! ./amp-context.shared-runtime */ \"./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/amp-context.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ./head-manager-context.shared-runtime */ \"./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/head-manager-context.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"./node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === \"string\" || typeof child === \"number\") {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === \"string\" || typeof fragmentChild === \"number\") {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n \"name\",\n \"httpEquiv\",\n \"charSet\",\n \"itemProp\"\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== \"number\" && h.key.indexOf(\"$\") > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf(\"$\") + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case \"title\":\n case \"base\":\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case \"meta\":\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === \"charSet\") {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== \"name\" || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (false) {}\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === \"script\" && c.props[\"type\"] !== \"application/ld+json\") {\n const srcMessage = c.props[\"src\"] ? '<script> tag with src=\"' + c.props[\"src\"] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === \"link\" && c.props[\"rel\"] === \"stylesheet\") {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props[\"href\"] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontextsharedruntime.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState),\n children: children\n });\n}\nconst _default = Head;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC5qcyIsIm1hcHBpbmdzIjoicURBRWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLGFBQWE7UUFDVCxPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPTztJQUNYO0FBQ0o7QUFDQSxNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLDZHQUF5QztBQUNsRixNQUFNQyw0QkFBNEJELG1CQUFPQSxDQUFDLCtHQUEwQztBQUNwRixNQUFNRSxjQUFjRixtQkFBT0EsQ0FBQyw0Q0FBbUI7QUFDL0MsTUFBTUcsU0FBUyxXQUFXLEdBQUdGLDBCQUEwQkcsQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyxvQkFBTztBQUN4RSxNQUFNSyxjQUFjLFdBQVcsR0FBR04seUJBQXlCSyxDQUFDLENBQUNKLG1CQUFPQSxDQUFDLHlFQUFlO0FBQ3BGLE1BQU1NLDJCQUEyQk4sbUJBQU9BLENBQUMsaUlBQThCO0FBQ3ZFLE1BQU1PLG1DQUFtQ1AsbUJBQU9BLENBQUMsbUpBQXVDO0FBQ3hGLE1BQU1RLFdBQVdSLG1CQUFPQSxDQUFDLG1FQUFZO0FBQ3JDLE1BQU1TLFlBQVlULG1CQUFPQSxDQUFDLGlGQUFtQjtBQUM3QyxTQUFTVixZQUFZb0IsU0FBUztJQUMxQixJQUFJQSxjQUFjLEtBQUssR0FBR0EsWUFBWTtJQUN0QyxNQUFNQyxPQUFPO1FBQ1QsV0FBVyxHQUFJLElBQUdULFlBQVlVLEdBQUcsRUFBRSxRQUFRO1lBQ3ZDQyxTQUFTO1FBQ2I7S0FDSDtJQUNE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QWU7SUFDaEYsTUFBTUMsY0FBYyxDQUFDLEdBQUd0RSxPQUFPb0UsVUFBVSxFQUFFaEUsaUNBQWlDbUUsa0JBQWtCO0lBQzlGLE9BQXFCLFdBQUgsR0FBSSxJQUFHeEUsWUFBWVUsR0FBRyxFQUFFUCxZQUFZZCxPQUFPLEVBQUU7UUFDM0RvRix5QkFBeUJ4QjtRQUN6QnNCLGFBQWFBO1FBQ2IvRCxXQUFXLENBQUMsR0FBR0YsU0FBU29FLFdBQVcsRUFBRU47UUFDckM3QyxVQUFVQTtJQUNkO0FBQ0o7QUFDQSxNQUFNM0IsV0FBV3NFO0FBRWpCLElBQUksQ0FBQyxPQUFPakYsUUFBUUksT0FBTyxLQUFLLGNBQWUsT0FBT0osUUFBUUksT0FBTyxLQUFLLFlBQVlKLFFBQVFJLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT0osUUFBUUksT0FBTyxDQUFDc0YsVUFBVSxLQUFLLGFBQWE7SUFDcks1RixPQUFPQyxjQUFjLENBQUNDLFFBQVFJLE9BQU8sRUFBRSxjQUFjO1FBQUVILE9BQU87SUFBSztJQUNuRUgsT0FBTzZGLE1BQU0sQ0FBQzNGLFFBQVFJLE9BQU8sRUFBRUo7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUUksT0FBTztBQUNsQyxFQUVBLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9oZWFkLmpzP2ZiNWQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZGVmYXVsdEhlYWQ6IG51bGwsXG4gICAgZGVmYXVsdDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBkZWZhdWx0SGVhZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0SGVhZDtcbiAgICB9LFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2RlZmF1bHQ7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3NpZGVlZmZlY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuL3NpZGUtZWZmZWN0XCIpKTtcbmNvbnN0IF9hbXBjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuL2FtcC1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY29uc3QgX2hlYWRtYW5hZ2VyY29udGV4dHNoYXJlZHJ1bnRpbWUgPSByZXF1aXJlKFwiLi9oZWFkLW1hbmFnZXItY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmNvbnN0IF9hbXBtb2RlID0gcmVxdWlyZShcIi4vYW1wLW1vZGVcIik7XG5jb25zdCBfd2Fybm9uY2UgPSByZXF1aXJlKFwiLi91dGlscy93YXJuLW9uY2VcIik7XG5mdW5jdGlvbiBkZWZhdWx0SGVhZChpbkFtcE1vZGUpIHtcbiAgICBpZiAoaW5BbXBNb2RlID09PSB2b2lkIDApIGluQW1wTW9kZSA9IGZhbHNlO1xuICAgIGNvbnN0IGhlYWQgPSBbXG4gICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgIGNoYXJTZXQ6IFwidXRmLThcIlxuICAgICAgICB9KVxuICAgIF07XG4gICAgaWYgKCFpbkFtcE1vZGUpIHtcbiAgICAgICAgaGVhZC5wdXNoKC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgIG5hbWU6IFwidmlld3BvcnRcIixcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwid2lkdGg9ZGV2aWNlLXdpZHRoXCJcbiAgICAgICAgfSkpO1xuICAgIH1cbiAgICByZXR1cm4gaGVhZDtcbn1cbmZ1bmN0aW9uIG9ubHlSZWFjdEVsZW1lbnQobGlzdCwgY2hpbGQpIHtcbiAgICAvLyBSZWFjdCBjaGlsZHJlbiBjYW4gYmUgXCJzdHJpbmdcIiBvciBcIm51bWJlclwiIGluIHRoaXMgY2FzZSB3ZSBpZ25vcmUgdGhlbSBmb3IgYmFja3dhcmRzIGNvbXBhdFxuICAgIGlmICh0eXBlb2YgY2hpbGQgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIGNoaWxkID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIHJldHVybiBsaXN0O1xuICAgIH1cbiAgICAvLyBBZGRzIHN1cHBvcnQgZm9yIFJlYWN0LkZyYWdtZW50XG4gICAgaWYgKGNoaWxkLnR5cGUgPT09IF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50KSB7XG4gICAgICAgIHJldHVybiBsaXN0LmNvbmNhdCgvLyBAdHMtZXhwZWN0LWVycm9yIEB0eXBlcy9yZWFjdCBkb2VzIG5vdCByZW1vdmUgZnJhZ21lbnRzIGJ1dCB0aGlzIGNvdWxkIGFsc28gcmV0dXJuIFJlYWN0UG9ydGFsW11cbiAgICAgICAgX3JlYWN0LmRlZmF1bHQuQ2hpbGRyZW4udG9BcnJheShjaGlsZC5wcm9wcy5jaGlsZHJlbikucmVkdWNlKC8vIEB0cy1leHBlY3QtZXJyb3IgQHR5cGVzL3JlYWN0IGRvZXMgbm90IHJlbW92ZSBmcmFnbWVudHMgYnV0IHRoaXMgY291bGQgYWxzbyByZXR1cm4gUmVhY3RQb3J0YWxbXVxuICAgICAgICAoZnJhZ21lbnRMaXN0LCBmcmFnbWVudENoaWxkKT0+e1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBmcmFnbWVudENoaWxkID09PSBcInN0cmluZ1wiIHx8IHR5cGVvZiBmcmFnbWVudENoaWxkID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZyYWdtZW50TGlzdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmcmFnbWVudExpc3QuY29uY2F0KGZyYWdtZW50Q2hpbGQpO1xuICAgICAgICB9LCBbXSkpO1xuICAgIH1cbiAgICByZXR1cm4gbGlzdC5jb25jYXQoY2hpbGQpO1xufVxuY29uc3QgTUVUQVRZUEVTID0gW1xuICAgIFwibmFtZVwiLFxuICAgIFwiaHR0cEVxdWl2XCIsXG4gICAgXCJjaGFyU2V0XCIsXG4gICAgXCJpdGVtUHJvcFwiXG5dO1xuLypcbiByZXR1cm5zIGEgZnVuY3Rpb24gZm9yIGZpbHRlcmluZyBoZWFkIGNoaWxkIGVsZW1lbnRzXG4gd2hpY2ggc2hvdWxkbid0IGJlIGR1cGxpY2F0ZWQsIGxpa2UgPHRpdGxlLz5cbiBBbHNvIGFkZHMgc3VwcG9ydCBmb3IgZGVkdXBsaWNhdGVkIGBrZXlgIHByb3BlcnRpZXNcbiovIGZ1bmN0aW9uIHVuaXF1ZSgpIHtcbiAgICBjb25zdCBrZXlzID0gbmV3IFNldCgpO1xuICAgIGNvbnN0IHRhZ3MgPSBuZXcgU2V0KCk7XG4gICAgY29uc3QgbWV0YVR5cGVzID0gbmV3IFNldCgpO1xuICAgIGNvbnN0IG1ldGFDYXRlZ29yaWVzID0ge307XG4gICAgcmV0dXJuIChoKT0+e1xuICAgICAgICBsZXQgaXNVbmlxdWUgPSB0cnVlO1xuICAgICAgICBsZXQgaGFzS2V5ID0gZmFsc2U7XG4gICAgICAgIGlmIChoLmtleSAmJiB0eXBlb2YgaC5rZXkgIT09IFwibnVtYmVyXCIgJiYgaC5rZXkuaW5kZXhPZihcIiRcIikgPiAwKSB7XG4gICAgICAgICAgICBoYXNLZXkgPSB0cnVlO1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gaC5rZXkuc2xpY2UoaC5rZXkuaW5kZXhPZihcIiRcIikgKyAxKTtcbiAgICAgICAgICAgIGlmIChrZXlzLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgaXNVbmlxdWUgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAga2V5cy5hZGQoa2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVmYXVsdC1jYXNlXG4gICAgICAgIHN3aXRjaChoLnR5cGUpe1xuICAgICAgICAgICAgY2FzZSBcInRpdGxlXCI6XG4gICAgICAgICAgICBjYXNlIFwiYmFzZVwiOlxuICAgICAgICAgICAgICAgIGlmICh0YWdzLmhhcyhoLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlzVW5pcXVlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGFncy5hZGQoaC50eXBlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwibWV0YVwiOlxuICAgICAgICAgICAgICAgIGZvcihsZXQgaSA9IDAsIGxlbiA9IE1FVEFUWVBFUy5sZW5ndGg7IGkgPCBsZW47IGkrKyl7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1ldGF0eXBlID0gTUVUQVRZUEVTW2ldO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWgucHJvcHMuaGFzT3duUHJvcGVydHkobWV0YXR5cGUpKSBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1ldGF0eXBlID09PSBcImNoYXJTZXRcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1ldGFUeXBlcy5oYXMobWV0YXR5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNVbmlxdWUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YVR5cGVzLmFkZChtZXRhdHlwZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjYXRlZ29yeSA9IGgucHJvcHNbbWV0YXR5cGVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IG1ldGFDYXRlZ29yaWVzW21ldGF0eXBlXSB8fCBuZXcgU2V0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKG1ldGF0eXBlICE9PSBcIm5hbWVcIiB8fCAhaGFzS2V5KSAmJiBjYXRlZ29yaWVzLmhhcyhjYXRlZ29yeSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1VuaXF1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yaWVzLmFkZChjYXRlZ29yeSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YUNhdGVnb3JpZXNbbWV0YXR5cGVdID0gY2F0ZWdvcmllcztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNVbmlxdWU7XG4gICAgfTtcbn1cbi8qKlxuICpcbiAqIEBwYXJhbSBoZWFkQ2hpbGRyZW5FbGVtZW50cyBMaXN0IG9mIGNoaWxkcmVuIG9mIDxIZWFkPlxuICovIGZ1bmN0aW9uIHJlZHVjZUNvbXBvbmVudHMoaGVhZENoaWxkcmVuRWxlbWVudHMsIHByb3BzKSB7XG4gICAgY29uc3QgeyBpbkFtcE1vZGUgfSA9IHByb3BzO1xuICAgIHJldHVybiBoZWFkQ2hpbGRyZW5FbGVtZW50cy5yZWR1Y2Uob25seVJlYWN0RWxlbWVudCwgW10pLnJldmVyc2UoKS5jb25jYXQoZGVmYXVsdEhlYWQoaW5BbXBNb2RlKS5yZXZlcnNlKCkpLmZpbHRlcih1bmlxdWUoKSkucmV2ZXJzZSgpLm1hcCgoYywgaSk9PntcbiAgICAgICAgY29uc3Qga2V5ID0gYy5rZXkgfHwgaTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcImRldmVsb3BtZW50XCIgJiYgcHJvY2Vzcy5lbnYuX19ORVhUX09QVElNSVpFX0ZPTlRTICYmICFpbkFtcE1vZGUpIHtcbiAgICAgICAgICAgIGlmIChjLnR5cGUgPT09IFwibGlua1wiICYmIGMucHJvcHNbXCJocmVmXCJdICYmIC8vIFRPRE8ocHJhdGVla2JoQCk6IFJlcGxhY2UgdGhpcyB3aXRoIGNvbnN0IGZyb20gYGNvbnN0YW50c2Agd2hlbiB0aGUgdHJlZSBzaGFraW5nIHdvcmtzLlxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3NcIixcbiAgICAgICAgICAgICAgICBcImh0dHBzOi8vdXNlLnR5cGVraXQubmV0L1wiXG4gICAgICAgICAgICBdLnNvbWUoKHVybCk9PmMucHJvcHNbXCJocmVmXCJdLnN0YXJ0c1dpdGgodXJsKSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYy5wcm9wcyB8fCB7fVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgbmV3UHJvcHNbXCJkYXRhLWhyZWZcIl0gPSBuZXdQcm9wc1tcImhyZWZcIl07XG4gICAgICAgICAgICAgICAgbmV3UHJvcHNbXCJocmVmXCJdID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIC8vIEFkZCB0aGlzIGF0dHJpYnV0ZSB0byBtYWtlIGl0IGVhc3kgdG8gaWRlbnRpZnkgb3B0aW1pemVkIHRhZ3NcbiAgICAgICAgICAgICAgICBuZXdQcm9wc1tcImRhdGEtb3B0aW1pemVkLWZvbnRzXCJdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jbG9uZUVsZW1lbnQoYywgbmV3UHJvcHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgICAgICAvLyBvbWl0IEpTT04tTEQgc3RydWN0dXJlZCBkYXRhIHNuaXBwZXRzIGZyb20gdGhlIHdhcm5pbmdcbiAgICAgICAgICAgIGlmIChjLnR5cGUgPT09IFwic2NyaXB0XCIgJiYgYy5wcm9wc1tcInR5cGVcIl0gIT09IFwiYXBwbGljYXRpb24vbGQranNvblwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3JjTWVzc2FnZSA9IGMucHJvcHNbXCJzcmNcIl0gPyAnPHNjcmlwdD4gdGFnIHdpdGggc3JjPVwiJyArIGMucHJvcHNbXCJzcmNcIl0gKyAnXCInIDogXCJpbmxpbmUgPHNjcmlwdD5cIjtcbiAgICAgICAgICAgICAgICAoMCwgX3dhcm5vbmNlLndhcm5PbmNlKShcIkRvIG5vdCBhZGQgPHNjcmlwdD4gdGFncyB1c2luZyBuZXh0L2hlYWQgKHNlZSBcIiArIHNyY01lc3NhZ2UgKyBcIikuIFVzZSBuZXh0L3NjcmlwdCBpbnN0ZWFkLiBcXG5TZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25vLXNjcmlwdC10YWdzLWluLWhlYWQtY29tcG9uZW50XCIpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjLnR5cGUgPT09IFwibGlua1wiICYmIGMucHJvcHNbXCJyZWxcIl0gPT09IFwic3R5bGVzaGVldFwiKSB7XG4gICAgICAgICAgICAgICAgKDAsIF93YXJub25jZS53YXJuT25jZSkoJ0RvIG5vdCBhZGQgc3R5bGVzaGVldHMgdXNpbmcgbmV4dC9oZWFkIChzZWUgPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiPiB0YWcgd2l0aCBocmVmPVwiJyArIGMucHJvcHNbXCJocmVmXCJdICsgJ1wiKS4gVXNlIERvY3VtZW50IGluc3RlYWQuIFxcblNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbm8tc3R5bGVzaGVldHMtaW4taGVhZC1jb21wb25lbnQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jbG9uZUVsZW1lbnQoYywge1xuICAgICAgICAgICAga2V5XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpbmplY3RzIGVsZW1lbnRzIHRvIGA8aGVhZD5gIG9mIHlvdXIgcGFnZS5cbiAqIFRvIGF2b2lkIGR1cGxpY2F0ZWQgYHRhZ3NgIGluIGA8aGVhZD5gIHlvdSBjYW4gdXNlIHRoZSBga2V5YCBwcm9wZXJ0eSwgd2hpY2ggd2lsbCBtYWtlIHN1cmUgZXZlcnkgdGFnIGlzIG9ubHkgcmVuZGVyZWQgb25jZS5cbiAqLyBmdW5jdGlvbiBIZWFkKHBhcmFtKSB7XG4gICAgbGV0IHsgY2hpbGRyZW4gfSA9IHBhcmFtO1xuICAgIGNvbnN0IGFtcFN0YXRlID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYW1wY29udGV4dHNoYXJlZHJ1bnRpbWUuQW1wU3RhdGVDb250ZXh0KTtcbiAgICBjb25zdCBoZWFkTWFuYWdlciA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2hlYWRtYW5hZ2VyY29udGV4dHNoYXJlZHJ1bnRpbWUuSGVhZE1hbmFnZXJDb250ZXh0KTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfc2lkZWVmZmVjdC5kZWZhdWx0LCB7XG4gICAgICAgIHJlZHVjZUNvbXBvbmVudHNUb1N0YXRlOiByZWR1Y2VDb21wb25lbnRzLFxuICAgICAgICBoZWFkTWFuYWdlcjogaGVhZE1hbmFnZXIsXG4gICAgICAgIGluQW1wTW9kZTogKDAsIF9hbXBtb2RlLmlzSW5BbXBNb2RlKShhbXBTdGF0ZSksXG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgIH0pO1xufVxuY29uc3QgX2RlZmF1bHQgPSBIZWFkO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWFkLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImRlZmF1bHRIZWFkIiwiZGVmYXVsdCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9kZWZhdWx0IiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfc2lkZWVmZmVjdCIsIl9hbXBjb250ZXh0c2hhcmVkcnVudGltZSIsIl9oZWFkbWFuYWdlcmNvbnRleHRzaGFyZWRydW50aW1lIiwiX2FtcG1vZGUiLCJfd2Fybm9uY2UiLCJpbkFtcE1vZGUiLCJoZWFkIiwianN4IiwiY2hhclNldCIsInB1c2giLCJjb250ZW50Iiwib25seVJlYWN0RWxlbWVudCIsImxpc3QiLCJjaGlsZCIsInR5cGUiLCJGcmFnbWVudCIsImNvbmNhdCIsIkNoaWxkcmVuIiwidG9BcnJheSIsInByb3BzIiwiY2hpbGRyZW4iLCJyZWR1Y2UiLCJmcmFnbWVudExpc3QiLCJmcmFnbWVudENoaWxkIiwiTUVUQVRZUEVTIiwidW5pcXVlIiwia2V5cyIsIlNldCIsInRhZ3MiLCJtZXRhVHlwZXMiLCJtZXRhQ2F0ZWdvcmllcyIsImgiLCJpc1VuaXF1ZSIsImhhc0tleSIsImtleSIsImluZGV4T2YiLCJzbGljZSIsImhhcyIsImFkZCIsImkiLCJsZW4iLCJsZW5ndGgiLCJtZXRhdHlwZSIsImhhc093blByb3BlcnR5IiwiY2F0ZWdvcnkiLCJjYXRlZ29yaWVzIiwicmVkdWNlQ29tcG9uZW50cyIsImhlYWRDaGlsZHJlbkVsZW1lbnRzIiwicmV2ZXJzZSIsImZpbHRlciIsIm1hcCIsImMiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX09QVElNSVpFX0ZPTlRTIiwic29tZSIsInVybCIsInN0YXJ0c1dpdGgiLCJuZXdQcm9wcyIsInVuZGVmaW5lZCIsImNsb25lRWxlbWVudCIsInNyY01lc3NhZ2UiLCJ3YXJuT25jZSIsIkhlYWQiLCJwYXJhbSIsImFtcFN0YXRlIiwidXNlQ29udGV4dCIsIkFtcFN0YXRlQ29udGV4dCIsImhlYWRNYW5hZ2VyIiwiSGVhZE1hbmFnZXJDb250ZXh0IiwicmVkdWNlQ29tcG9uZW50c1RvU3RhdGUiLCJpc0luQW1wTW9kZSIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/head.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/is-plain-object.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/is-plain-object.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getObjectClassLabel: function() {\n return getObjectClassLabel;\n },\n isPlainObject: function() {\n return isPlainObject;\n }\n});\nfunction getObjectClassLabel(value) {\n return Object.prototype.toString.call(value);\n}\nfunction isPlainObject(value) {\n if (getObjectClassLabel(value) !== \"[object Object]\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n /**\n * this used to be previously:\n *\n * `return prototype === null || prototype === Object.prototype`\n *\n * but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail.\n *\n * It was changed to the current implementation since it's resilient to serialization.\n */ return prototype === null || prototype.hasOwnProperty(\"isPrototypeOf\");\n} //# sourceMappingURL=is-plain-object.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtJQUNBQyxlQUFlO1FBQ1gsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsU0FBU0Qsb0JBQW9CRixLQUFLO0lBQzlCLE9BQU9ILE9BQU9hLFNBQVMsQ0FBQ0MsUUFBUSxDQUFDQyxJQUFJLENBQUNaO0FBQzFDO0FBQ0EsU0FBU0csY0FBY0gsS0FBSztJQUN4QixJQUFJRSxvQkFBb0JGLFdBQVcsbUJBQW1CO1FBQ2xELE9BQU87SUFDWDtJQUNBLE1BQU1VLFlBQVliLE9BQU9nQixjQUFjLENBQUNiO0lBQ3hDOzs7Ozs7OztHQVFELEdBQUcsT0FBT1UsY0FBYyxRQUFRQSxVQUFVSSxjQUFjLENBQUM7QUFDNUQsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0LmpzPzM3NDMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBnZXRPYmplY3RDbGFzc0xhYmVsOiBudWxsLFxuICAgIGlzUGxhaW5PYmplY3Q6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZ2V0T2JqZWN0Q2xhc3NMYWJlbDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRPYmplY3RDbGFzc0xhYmVsO1xuICAgIH0sXG4gICAgaXNQbGFpbk9iamVjdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc1BsYWluT2JqZWN0O1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gZ2V0T2JqZWN0Q2xhc3NMYWJlbCh2YWx1ZSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpO1xufVxuZnVuY3Rpb24gaXNQbGFpbk9iamVjdCh2YWx1ZSkge1xuICAgIGlmIChnZXRPYmplY3RDbGFzc0xhYmVsKHZhbHVlKSAhPT0gXCJbb2JqZWN0IE9iamVjdF1cIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IHByb3RvdHlwZSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih2YWx1ZSk7XG4gICAgLyoqXG4gICAqIHRoaXMgdXNlZCB0byBiZSBwcmV2aW91c2x5OlxuICAgKlxuICAgKiBgcmV0dXJuIHByb3RvdHlwZSA9PT0gbnVsbCB8fCBwcm90b3R5cGUgPT09IE9iamVjdC5wcm90b3R5cGVgXG4gICAqXG4gICAqIGJ1dCBFZGdlIFJ1bnRpbWUgZXhwb3NlIE9iamVjdCBmcm9tIHZtLCBiZWluZyB0aGF0IGtpbmQgb2YgdHlwZS1jaGVja2luZyB3cm9uZ2x5IGZhaWwuXG4gICAqXG4gICAqIEl0IHdhcyBjaGFuZ2VkIHRvIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIHNpbmNlIGl0J3MgcmVzaWxpZW50IHRvIHNlcmlhbGl6YXRpb24uXG4gICAqLyByZXR1cm4gcHJvdG90eXBlID09PSBudWxsIHx8IHByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcImlzUHJvdG90eXBlT2ZcIik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLXBsYWluLW9iamVjdC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJnZXRPYmplY3RDbGFzc0xhYmVsIiwiaXNQbGFpbk9iamVjdCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiY2FsbCIsImdldFByb3RvdHlwZU9mIiwiaGFzT3duUHJvcGVydHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/is-plain-object.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/modern-browserslist-target.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/modern-browserslist-target.js ***! \*************************************************************************/ /***/ ((module) => { "use strict"; eval("// Note: This file is JS because it's used by the taskfile-swc.js file, which is JS.\n// Keep file changes in sync with the corresponding `.d.ts` files.\n/**\n * These are the browser versions that support all of the following:\n * static import: https://caniuse.com/es6-module\n * dynamic import: https://caniuse.com/es6-module-dynamic-import\n * import.meta: https://caniuse.com/mdn-javascript_operators_import_meta\n */ \nconst MODERN_BROWSERSLIST_TARGET = [\n \"chrome 64\",\n \"edge 79\",\n \"firefox 67\",\n \"opera 51\",\n \"safari 12\"\n];\nmodule.exports = MODERN_BROWSERSLIST_TARGET; //# sourceMappingURL=modern-browserslist-target.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbW9kZXJuLWJyb3dzZXJzbGlzdC10YXJnZXQuanMiLCJtYXBwaW5ncyI6IkFBQUEsb0ZBQW9GO0FBQ3BGLGtFQUFrRTtBQUNsRTs7Ozs7Q0FLQyxHQUFnQjtBQUNqQixNQUFNQSw2QkFBNkI7SUFDL0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNIO0FBQ0RDLE9BQU9DLE9BQU8sR0FBR0YsNEJBRWpCLHNEQUFzRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9tb2Rlcm4tYnJvd3NlcnNsaXN0LXRhcmdldC5qcz9iZTI5Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIE5vdGU6IFRoaXMgZmlsZSBpcyBKUyBiZWNhdXNlIGl0J3MgdXNlZCBieSB0aGUgdGFza2ZpbGUtc3djLmpzIGZpbGUsIHdoaWNoIGlzIEpTLlxuLy8gS2VlcCBmaWxlIGNoYW5nZXMgaW4gc3luYyB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGAuZC50c2AgZmlsZXMuXG4vKipcbiAqIFRoZXNlIGFyZSB0aGUgYnJvd3NlciB2ZXJzaW9ucyB0aGF0IHN1cHBvcnQgYWxsIG9mIHRoZSBmb2xsb3dpbmc6XG4gKiBzdGF0aWMgaW1wb3J0OiBodHRwczovL2Nhbml1c2UuY29tL2VzNi1tb2R1bGVcbiAqIGR5bmFtaWMgaW1wb3J0OiBodHRwczovL2Nhbml1c2UuY29tL2VzNi1tb2R1bGUtZHluYW1pYy1pbXBvcnRcbiAqIGltcG9ydC5tZXRhOiBodHRwczovL2Nhbml1c2UuY29tL21kbi1qYXZhc2NyaXB0X29wZXJhdG9yc19pbXBvcnRfbWV0YVxuICovIFwidXNlIHN0cmljdFwiO1xuY29uc3QgTU9ERVJOX0JST1dTRVJTTElTVF9UQVJHRVQgPSBbXG4gICAgXCJjaHJvbWUgNjRcIixcbiAgICBcImVkZ2UgNzlcIixcbiAgICBcImZpcmVmb3ggNjdcIixcbiAgICBcIm9wZXJhIDUxXCIsXG4gICAgXCJzYWZhcmkgMTJcIlxuXTtcbm1vZHVsZS5leHBvcnRzID0gTU9ERVJOX0JST1dTRVJTTElTVF9UQVJHRVQ7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1vZGVybi1icm93c2Vyc2xpc3QtdGFyZ2V0LmpzLm1hcCJdLCJuYW1lcyI6WyJNT0RFUk5fQlJPV1NFUlNMSVNUX1RBUkdFVCIsIm1vZHVsZSIsImV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/modern-browserslist-target.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js": /*!******************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"denormalizePagePath\", ({\n enumerable: true,\n get: function() {\n return denormalizePagePath;\n }\n}));\nconst _utils = __webpack_require__(/*! ../router/utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _normalizepathsep = __webpack_require__(/*! ./normalize-path-sep */ \"./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\");\nfunction denormalizePagePath(page) {\n let _page = (0, _normalizepathsep.normalizePathSep)(page);\n return _page.startsWith(\"/index/\") && !(0, _utils.isDynamicRoute)(_page) ? _page.slice(6) : _page !== \"/index\" ? _page : \"/\";\n} //# sourceMappingURL=denormalize-page-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Rlbm9ybWFsaXplLXBhZ2UtcGF0aC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsdURBQXNEO0lBQ2xESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsU0FBU0MsbUJBQU9BLENBQUMsa0ZBQWlCO0FBQ3hDLE1BQU1DLG9CQUFvQkQsbUJBQU9BLENBQUMsaUdBQXNCO0FBQ3hELFNBQVNGLG9CQUFvQkksSUFBSTtJQUM3QixJQUFJQyxRQUFRLENBQUMsR0FBR0Ysa0JBQWtCRyxnQkFBZ0IsRUFBRUY7SUFDcEQsT0FBT0MsTUFBTUUsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUdOLE9BQU9PLGNBQWMsRUFBRUgsU0FBU0EsTUFBTUksS0FBSyxDQUFDLEtBQUtKLFVBQVUsV0FBV0EsUUFBUTtBQUM3SCxFQUVBLGlEQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9wYWdlLXBhdGgvZGVub3JtYWxpemUtcGFnZS1wYXRoLmpzP2RlMGYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZW5vcm1hbGl6ZVBhZ2VQYXRoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkZW5vcm1hbGl6ZVBhZ2VQYXRoO1xuICAgIH1cbn0pO1xuY29uc3QgX3V0aWxzID0gcmVxdWlyZShcIi4uL3JvdXRlci91dGlsc1wiKTtcbmNvbnN0IF9ub3JtYWxpemVwYXRoc2VwID0gcmVxdWlyZShcIi4vbm9ybWFsaXplLXBhdGgtc2VwXCIpO1xuZnVuY3Rpb24gZGVub3JtYWxpemVQYWdlUGF0aChwYWdlKSB7XG4gICAgbGV0IF9wYWdlID0gKDAsIF9ub3JtYWxpemVwYXRoc2VwLm5vcm1hbGl6ZVBhdGhTZXApKHBhZ2UpO1xuICAgIHJldHVybiBfcGFnZS5zdGFydHNXaXRoKFwiL2luZGV4L1wiKSAmJiAhKDAsIF91dGlscy5pc0R5bmFtaWNSb3V0ZSkoX3BhZ2UpID8gX3BhZ2Uuc2xpY2UoNikgOiBfcGFnZSAhPT0gXCIvaW5kZXhcIiA/IF9wYWdlIDogXCIvXCI7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRlbm9ybWFsaXplLXBhZ2UtcGF0aC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZGVub3JtYWxpemVQYWdlUGF0aCIsIl91dGlscyIsInJlcXVpcmUiLCJfbm9ybWFsaXplcGF0aHNlcCIsInBhZ2UiLCJfcGFnZSIsIm5vcm1hbGl6ZVBhdGhTZXAiLCJzdGFydHNXaXRoIiwiaXNEeW5hbWljUm91dGUiLCJzbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ensureLeadingSlash\", ({\n enumerable: true,\n get: function() {\n return ensureLeadingSlash;\n }\n}));\nfunction ensureLeadingSlash(path) {\n return path.startsWith(\"/\") ? path : \"/\" + path;\n} //# sourceMappingURL=ensure-leading-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUFnQjtBQUNqQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHNEQUFxRDtJQUNqREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLG1CQUFtQkMsSUFBSTtJQUM1QixPQUFPQSxLQUFLQyxVQUFVLENBQUMsT0FBT0QsT0FBTyxNQUFNQTtBQUMvQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9wYWdlLXBhdGgvZW5zdXJlLWxlYWRpbmctc2xhc2guanM/Y2YzMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZvciBhIGdpdmVuIHBhZ2UgcGF0aCwgdGhpcyBmdW5jdGlvbiBlbnN1cmVzIHRoYXQgdGhlcmUgaXMgYSBsZWFkaW5nIHNsYXNoLlxuICogSWYgdGhlcmUgaXMgbm90IGEgbGVhZGluZyBzbGFzaCwgb25lIGlzIGFkZGVkLCBvdGhlcndpc2UgaXQgaXMgbm9vcC5cbiAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImVuc3VyZUxlYWRpbmdTbGFzaFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZW5zdXJlTGVhZGluZ1NsYXNoO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gZW5zdXJlTGVhZGluZ1NsYXNoKHBhdGgpIHtcbiAgICByZXR1cm4gcGF0aC5zdGFydHNXaXRoKFwiL1wiKSA/IHBhdGggOiBcIi9cIiArIHBhdGg7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVuc3VyZS1sZWFkaW5nLXNsYXNoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJlbnN1cmVMZWFkaW5nU2xhc2giLCJwYXRoIiwic3RhcnRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/page-path/normalize-page-path.js": /*!****************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/page-path/normalize-page-path.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePagePath\", ({\n enumerable: true,\n get: function() {\n return normalizePagePath;\n }\n}));\nconst _ensureleadingslash = __webpack_require__(/*! ./ensure-leading-slash */ \"./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _utils = __webpack_require__(/*! ../router/utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _utils1 = __webpack_require__(/*! ../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nfunction normalizePagePath(page) {\n const normalized = /^\\/index(\\/|$)/.test(page) && !(0, _utils.isDynamicRoute)(page) ? \"/index\" + page : page === \"/\" ? \"/index\" : (0, _ensureleadingslash.ensureLeadingSlash)(page);\n if (true) {\n const { posix } = __webpack_require__(/*! path */ \"path\");\n const resolvedPage = posix.normalize(normalized);\n if (resolvedPage !== normalized) {\n throw new _utils1.NormalizeError(\"Requested and resolved page mismatch: \" + normalized + \" \" + resolvedPage);\n }\n }\n return normalized;\n} //# sourceMappingURL=normalize-page-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYWdlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHFEQUFvRDtJQUNoREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHNCQUFzQkMsbUJBQU9BLENBQUMscUdBQXdCO0FBQzVELE1BQU1DLFNBQVNELG1CQUFPQSxDQUFDLGtGQUFpQjtBQUN4QyxNQUFNRSxVQUFVRixtQkFBT0EsQ0FBQyw4REFBVTtBQUNsQyxTQUFTRixrQkFBa0JLLElBQUk7SUFDM0IsTUFBTUMsYUFBYSxpQkFBaUJDLElBQUksQ0FBQ0YsU0FBUyxDQUFDLENBQUMsR0FBR0YsT0FBT0ssY0FBYyxFQUFFSCxRQUFRLFdBQVdBLE9BQU9BLFNBQVMsTUFBTSxXQUFXLENBQUMsR0FBR0osb0JBQW9CUSxrQkFBa0IsRUFBRUo7SUFDOUssSUFBSUssSUFBbUMsRUFBRTtRQUNyQyxNQUFNLEVBQUVHLEtBQUssRUFBRSxHQUFHWCxtQkFBT0EsQ0FBQyxrQkFBTTtRQUNoQyxNQUFNWSxlQUFlRCxNQUFNRSxTQUFTLENBQUNUO1FBQ3JDLElBQUlRLGlCQUFpQlIsWUFBWTtZQUM3QixNQUFNLElBQUlGLFFBQVFZLGNBQWMsQ0FBQywyQ0FBMkNWLGFBQWEsTUFBTVE7UUFDbkc7SUFDSjtJQUNBLE9BQU9SO0FBQ1gsRUFFQSwrQ0FBK0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYWdlLXBhdGguanM/ZjNkMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm5vcm1hbGl6ZVBhZ2VQYXRoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVQYWdlUGF0aDtcbiAgICB9XG59KTtcbmNvbnN0IF9lbnN1cmVsZWFkaW5nc2xhc2ggPSByZXF1aXJlKFwiLi9lbnN1cmUtbGVhZGluZy1zbGFzaFwiKTtcbmNvbnN0IF91dGlscyA9IHJlcXVpcmUoXCIuLi9yb3V0ZXIvdXRpbHNcIik7XG5jb25zdCBfdXRpbHMxID0gcmVxdWlyZShcIi4uL3V0aWxzXCIpO1xuZnVuY3Rpb24gbm9ybWFsaXplUGFnZVBhdGgocGFnZSkge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSAvXlxcL2luZGV4KFxcL3wkKS8udGVzdChwYWdlKSAmJiAhKDAsIF91dGlscy5pc0R5bmFtaWNSb3V0ZSkocGFnZSkgPyBcIi9pbmRleFwiICsgcGFnZSA6IHBhZ2UgPT09IFwiL1wiID8gXCIvaW5kZXhcIiA6ICgwLCBfZW5zdXJlbGVhZGluZ3NsYXNoLmVuc3VyZUxlYWRpbmdTbGFzaCkocGFnZSk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIpIHtcbiAgICAgICAgY29uc3QgeyBwb3NpeCB9ID0gcmVxdWlyZShcInBhdGhcIik7XG4gICAgICAgIGNvbnN0IHJlc29sdmVkUGFnZSA9IHBvc2l4Lm5vcm1hbGl6ZShub3JtYWxpemVkKTtcbiAgICAgICAgaWYgKHJlc29sdmVkUGFnZSAhPT0gbm9ybWFsaXplZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IF91dGlsczEuTm9ybWFsaXplRXJyb3IoXCJSZXF1ZXN0ZWQgYW5kIHJlc29sdmVkIHBhZ2UgbWlzbWF0Y2g6IFwiICsgbm9ybWFsaXplZCArIFwiIFwiICsgcmVzb2x2ZWRQYWdlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbm9ybWFsaXplZDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm9ybWFsaXplLXBhZ2UtcGF0aC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwibm9ybWFsaXplUGFnZVBhdGgiLCJfZW5zdXJlbGVhZGluZ3NsYXNoIiwicmVxdWlyZSIsIl91dGlscyIsIl91dGlsczEiLCJwYWdlIiwibm9ybWFsaXplZCIsInRlc3QiLCJpc0R5bmFtaWNSb3V0ZSIsImVuc3VyZUxlYWRpbmdTbGFzaCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1JVTlRJTUUiLCJwb3NpeCIsInJlc29sdmVkUGFnZSIsIm5vcm1hbGl6ZSIsIk5vcm1hbGl6ZUVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/normalize-page-path.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js": /*!***************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * For a given page path, this function ensures that there is no backslash\n * escaping slashes in the path. Example:\n * - `foo\\/bar\\/baz` -> `foo/bar/baz`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathSep\", ({\n enumerable: true,\n get: function() {\n return normalizePathSep;\n }\n}));\nfunction normalizePathSep(path) {\n return path.replace(/\\\\/g, \"/\");\n} //# sourceMappingURL=normalize-path-sep.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYXRoLXNlcC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7OztDQUlDLEdBQWdCO0FBQ2pCQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsb0RBQW1EO0lBQy9DSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0EsaUJBQWlCQyxJQUFJO0lBQzFCLE9BQU9BLEtBQUtDLE9BQU8sQ0FBQyxPQUFPO0FBQy9CLEVBRUEsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3BhZ2UtcGF0aC9ub3JtYWxpemUtcGF0aC1zZXAuanM/YmFiOCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZvciBhIGdpdmVuIHBhZ2UgcGF0aCwgdGhpcyBmdW5jdGlvbiBlbnN1cmVzIHRoYXQgdGhlcmUgaXMgbm8gYmFja3NsYXNoXG4gKiBlc2NhcGluZyBzbGFzaGVzIGluIHRoZSBwYXRoLiBFeGFtcGxlOlxuICogIC0gYGZvb1xcL2JhclxcL2JhemAgLT4gYGZvby9iYXIvYmF6YFxuICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwibm9ybWFsaXplUGF0aFNlcFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplUGF0aFNlcDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIG5vcm1hbGl6ZVBhdGhTZXAocGF0aCkge1xuICAgIHJldHVybiBwYXRoLnJlcGxhY2UoL1xcXFwvZywgXCIvXCIpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ub3JtYWxpemUtcGF0aC1zZXAuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIm5vcm1hbGl6ZVBhdGhTZXAiLCJwYXRoIiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/router/utils/app-paths.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/app-paths.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalizeAppPath: function() {\n return normalizeAppPath;\n },\n normalizeRscURL: function() {\n return normalizeRscURL;\n }\n});\nconst _ensureleadingslash = __webpack_require__(/*! ../../page-path/ensure-leading-slash */ \"./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _segment = __webpack_require__(/*! ../../segment */ \"./node_modules/next/dist/shared/lib/segment.js\");\nfunction normalizeAppPath(route) {\n return (0, _ensureleadingslash.ensureLeadingSlash)(route.split(\"/\").reduce((pathname, segment, index, segments)=>{\n // Empty segments are ignored.\n if (!segment) {\n return pathname;\n }\n // Groups are ignored.\n if ((0, _segment.isGroupSegment)(segment)) {\n return pathname;\n }\n // Parallel segments are ignored.\n if (segment[0] === \"@\") {\n return pathname;\n }\n // The last segment (if it's a leaf) should be ignored.\n if ((segment === \"page\" || segment === \"route\") && index === segments.length - 1) {\n return pathname;\n }\n return pathname + \"/\" + segment;\n }, \"\"));\n}\nfunction normalizeRscURL(url) {\n return url.replace(/\\.rsc($|\\?)/, \"$1\");\n} //# sourceMappingURL=app-paths.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRocy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtJQUNBQyxpQkFBaUI7UUFDYixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxzQkFBc0JDLG1CQUFPQSxDQUFDLG1IQUFzQztBQUMxRSxNQUFNQyxXQUFXRCxtQkFBT0EsQ0FBQyxxRUFBZTtBQUN4QyxTQUFTVCxpQkFBaUJXLEtBQUs7SUFDM0IsT0FBTyxDQUFDLEdBQUdILG9CQUFvQkksa0JBQWtCLEVBQUVELE1BQU1FLEtBQUssQ0FBQyxLQUFLQyxNQUFNLENBQUMsQ0FBQ0MsVUFBVUMsU0FBU0MsT0FBT0M7UUFDbEcsOEJBQThCO1FBQzlCLElBQUksQ0FBQ0YsU0FBUztZQUNWLE9BQU9EO1FBQ1g7UUFDQSxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLEdBQUdMLFNBQVNTLGNBQWMsRUFBRUgsVUFBVTtZQUN2QyxPQUFPRDtRQUNYO1FBQ0EsaUNBQWlDO1FBQ2pDLElBQUlDLE9BQU8sQ0FBQyxFQUFFLEtBQUssS0FBSztZQUNwQixPQUFPRDtRQUNYO1FBQ0EsdURBQXVEO1FBQ3ZELElBQUksQ0FBQ0MsWUFBWSxVQUFVQSxZQUFZLE9BQU0sS0FBTUMsVUFBVUMsU0FBU0UsTUFBTSxHQUFHLEdBQUc7WUFDOUUsT0FBT0w7UUFDWDtRQUNBLE9BQU9BLFdBQVcsTUFBTUM7SUFDNUIsR0FBRztBQUNQO0FBQ0EsU0FBU2YsZ0JBQWdCb0IsR0FBRztJQUN4QixPQUFPQSxJQUFJQyxPQUFPLENBQUMsZUFDbkI7QUFDSixFQUVBLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYXBwLXBhdGhzLmpzPzdlNTIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBub3JtYWxpemVBcHBQYXRoOiBudWxsLFxuICAgIG5vcm1hbGl6ZVJzY1VSTDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBub3JtYWxpemVBcHBQYXRoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZUFwcFBhdGg7XG4gICAgfSxcbiAgICBub3JtYWxpemVSc2NVUkw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplUnNjVVJMO1xuICAgIH1cbn0pO1xuY29uc3QgX2Vuc3VyZWxlYWRpbmdzbGFzaCA9IHJlcXVpcmUoXCIuLi8uLi9wYWdlLXBhdGgvZW5zdXJlLWxlYWRpbmctc2xhc2hcIik7XG5jb25zdCBfc2VnbWVudCA9IHJlcXVpcmUoXCIuLi8uLi9zZWdtZW50XCIpO1xuZnVuY3Rpb24gbm9ybWFsaXplQXBwUGF0aChyb3V0ZSkge1xuICAgIHJldHVybiAoMCwgX2Vuc3VyZWxlYWRpbmdzbGFzaC5lbnN1cmVMZWFkaW5nU2xhc2gpKHJvdXRlLnNwbGl0KFwiL1wiKS5yZWR1Y2UoKHBhdGhuYW1lLCBzZWdtZW50LCBpbmRleCwgc2VnbWVudHMpPT57XG4gICAgICAgIC8vIEVtcHR5IHNlZ21lbnRzIGFyZSBpZ25vcmVkLlxuICAgICAgICBpZiAoIXNlZ21lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRobmFtZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBHcm91cHMgYXJlIGlnbm9yZWQuXG4gICAgICAgIGlmICgoMCwgX3NlZ21lbnQuaXNHcm91cFNlZ21lbnQpKHNlZ21lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aG5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUGFyYWxsZWwgc2VnbWVudHMgYXJlIGlnbm9yZWQuXG4gICAgICAgIGlmIChzZWdtZW50WzBdID09PSBcIkBcIikge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGhuYW1lO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRoZSBsYXN0IHNlZ21lbnQgKGlmIGl0J3MgYSBsZWFmKSBzaG91bGQgYmUgaWdub3JlZC5cbiAgICAgICAgaWYgKChzZWdtZW50ID09PSBcInBhZ2VcIiB8fCBzZWdtZW50ID09PSBcInJvdXRlXCIpICYmIGluZGV4ID09PSBzZWdtZW50cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aG5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhdGhuYW1lICsgXCIvXCIgKyBzZWdtZW50O1xuICAgIH0sIFwiXCIpKTtcbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZVJzY1VSTCh1cmwpIHtcbiAgICByZXR1cm4gdXJsLnJlcGxhY2UoL1xcLnJzYygkfFxcPykvLCAvLyAkMSBlbnN1cmVzIGA/YCBpcyBwcmVzZXJ2ZWRcbiAgICBcIiQxXCIpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcGF0aHMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwibm9ybWFsaXplQXBwUGF0aCIsIm5vcm1hbGl6ZVJzY1VSTCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9lbnN1cmVsZWFkaW5nc2xhc2giLCJyZXF1aXJlIiwiX3NlZ21lbnQiLCJyb3V0ZSIsImVuc3VyZUxlYWRpbmdTbGFzaCIsInNwbGl0IiwicmVkdWNlIiwicGF0aG5hbWUiLCJzZWdtZW50IiwiaW5kZXgiLCJzZWdtZW50cyIsImlzR3JvdXBTZWdtZW50IiwibGVuZ3RoIiwidXJsIiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/app-paths.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/router/utils/index.js": /*!*****************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxpQkFBaUI7UUFDYixPQUFPUSxjQUFjUixlQUFlO0lBQ3hDO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9RLFdBQVdSLGNBQWM7SUFDcEM7QUFDSjtBQUNBLE1BQU1PLGdCQUFnQkUsbUJBQU9BLENBQUMsMEZBQWlCO0FBQy9DLE1BQU1ELGFBQWFDLG1CQUFPQSxDQUFDLG9GQUFjLEdBRXpDLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW5kZXguanM/ZjUyNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGdldFNvcnRlZFJvdXRlczogbnVsbCxcbiAgICBpc0R5bmFtaWNSb3V0ZTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBnZXRTb3J0ZWRSb3V0ZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3NvcnRlZHJvdXRlcy5nZXRTb3J0ZWRSb3V0ZXM7XG4gICAgfSxcbiAgICBpc0R5bmFtaWNSb3V0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfaXNkeW5hbWljLmlzRHluYW1pY1JvdXRlO1xuICAgIH1cbn0pO1xuY29uc3QgX3NvcnRlZHJvdXRlcyA9IHJlcXVpcmUoXCIuL3NvcnRlZC1yb3V0ZXNcIik7XG5jb25zdCBfaXNkeW5hbWljID0gcmVxdWlyZShcIi4vaXMtZHluYW1pY1wiKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiZ2V0U29ydGVkUm91dGVzIiwiaXNEeW5hbWljUm91dGUiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfc29ydGVkcm91dGVzIiwiX2lzZHluYW1pYyIsInJlcXVpcmUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/index.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWR5bmFtaWMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGtEQUFpRDtJQUM3Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHNCQUFzQkMsbUJBQU9BLENBQUMsb0lBQXVEO0FBQzNGLHFDQUFxQztBQUNyQyxNQUFNQyxhQUFhO0FBQ25CLFNBQVNILGVBQWVJLEtBQUs7SUFDekIsSUFBSSxDQUFDLEdBQUdILG9CQUFvQkksMEJBQTBCLEVBQUVELFFBQVE7UUFDNURBLFFBQVEsQ0FBQyxHQUFHSCxvQkFBb0JLLG1DQUFtQyxFQUFFRixPQUFPRyxnQkFBZ0I7SUFDaEc7SUFDQSxPQUFPSixXQUFXSyxJQUFJLENBQUNKO0FBQzNCLEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1keW5hbWljLmpzPzQ2ZjkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0R5bmFtaWNSb3V0ZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNEeW5hbWljUm91dGU7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJjZXB0aW9ucm91dGVzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzXCIpO1xuLy8gSWRlbnRpZnkgL1twYXJhbV0vIGluIHJvdXRlIHN0cmluZ1xuY29uc3QgVEVTVF9ST1VURSA9IC9cXC9cXFtbXi9dKz9cXF0oPz1cXC98JCkvO1xuZnVuY3Rpb24gaXNEeW5hbWljUm91dGUocm91dGUpIHtcbiAgICBpZiAoKDAsIF9pbnRlcmNlcHRpb25yb3V0ZXMuaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgpKHJvdXRlKSkge1xuICAgICAgICByb3V0ZSA9ICgwLCBfaW50ZXJjZXB0aW9ucm91dGVzLmV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uKShyb3V0ZSkuaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICB9XG4gICAgcmV0dXJuIFRFU1RfUk9VVEUudGVzdChyb3V0ZSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWR5bmFtaWMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImlzRHluYW1pY1JvdXRlIiwiX2ludGVyY2VwdGlvbnJvdXRlcyIsInJlcXVpcmUiLCJURVNUX1JPVVRFIiwicm91dGUiLCJpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aCIsImV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uIiwiaW50ZXJjZXB0ZWRSb3V0ZSIsInRlc3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3NvcnRlZC1yb3V0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG1EQUFrRDtJQUM5Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DO0lBQ0ZDLE9BQU9DLE9BQU8sRUFBRTtRQUNaLElBQUksQ0FBQ0MsT0FBTyxDQUFDRCxRQUFRRSxLQUFLLENBQUMsS0FBS0MsTUFBTSxDQUFDQyxVQUFVLEVBQUUsRUFBRTtJQUN6RDtJQUNBQyxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUNDLE9BQU87SUFDdkI7SUFDQUEsUUFBUUMsTUFBTSxFQUFFO1FBQ1osSUFBSUEsV0FBVyxLQUFLLEdBQUdBLFNBQVM7UUFDaEMsTUFBTUMsZ0JBQWdCO2VBQ2YsSUFBSSxDQUFDQyxRQUFRLENBQUNDLElBQUk7U0FDeEIsQ0FBQ0MsSUFBSTtRQUNOLElBQUksSUFBSSxDQUFDQyxRQUFRLEtBQUssTUFBTTtZQUN4QkosY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsT0FBTztRQUN0RDtRQUNBLElBQUksSUFBSSxDQUFDQyxZQUFZLEtBQUssTUFBTTtZQUM1QlAsY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsVUFBVTtRQUN6RDtRQUNBLElBQUksSUFBSSxDQUFDRSxvQkFBb0IsS0FBSyxNQUFNO1lBQ3BDUixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxZQUFZO1FBQzNEO1FBQ0EsTUFBTUcsU0FBU1QsY0FBY1UsR0FBRyxDQUFDLENBQUNDLElBQUksSUFBSSxDQUFDVixRQUFRLENBQUNiLEdBQUcsQ0FBQ3VCLEdBQUdiLE9BQU8sQ0FBQyxLQUFLQyxTQUFTWSxJQUFJLE1BQU1DLE1BQU0sQ0FBQyxDQUFDQyxNQUFNQyxPQUFPO21C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QyxJQUFJLENBQUN4QixRQUFRLENBQUNvQyxHQUFHLENBQUNaLGNBQWM7WUFDakMsSUFBSSxDQUFDeEIsUUFBUSxDQUFDcUMsR0FBRyxDQUFDYixhQUFhLElBQUluQztRQUN2QztRQUNBLElBQUksQ0FBQ1csUUFBUSxDQUFDYixHQUFHLENBQUNxQyxhQUFhaEMsT0FBTyxDQUFDNEIsU0FBU0gsS0FBSyxDQUFDLElBQUlJLFdBQVdDO0lBQ3pFO0lBQ0FnQixhQUFhO1FBQ1QsSUFBSSxDQUFDdkIsV0FBVyxHQUFHO1FBQ25CLElBQUksQ0FBQ2YsUUFBUSxHQUFHLElBQUl1QztRQUNwQixJQUFJLENBQUNwQyxRQUFRLEdBQUc7UUFDaEIsSUFBSSxDQUFDRyxZQUFZLEdBQUc7UUFDcEIsSUFBSSxDQUFDQyxvQkFBb0IsR0FBRztJQUNoQztBQUNKO0FBQ0EsU0FBU25CLGdCQUFnQm9ELGVBQWU7SUFDcEMsa0ZBQWtGO0lBQ2xGLDRFQUE0RTtJQUM1RSwyQ0FBMkM7SUFDM0MseUVBQXlFO0lBQ3pFLDJCQUEyQjtJQUMzQixvQ0FBb0M7SUFDcEMsOEVBQThFO0lBQzlFLHdFQUF3RTtJQUN4RSxnSEFBZ0g7SUFDaEgsNEVBQTRFO0lBQzVFLE1BQU1DLE9BQU8sSUFBSXBEO0lBQ2pCLDZGQUE2RjtJQUM3Rm1ELGdCQUFnQlAsT0FBTyxDQUFDLENBQUNTLFdBQVdELEtBQUtuRCxNQUFNLENBQUNvRDtJQUNoRCw0R0FBNEc7SUFDNUcsT0FBT0QsS0FBSzdDLE1BQU07QUFDdEIsRUFFQSx5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3NvcnRlZC1yb3V0ZXMuanM/MmY3OCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldFNvcnRlZFJvdXRlc1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0U29ydGVkUm91dGVzO1xuICAgIH1cbn0pO1xuY2xhc3MgVXJsTm9kZSB7XG4gICAgaW5zZXJ0KHVybFBhdGgpIHtcbiAgICAgICAgdGhpcy5faW5zZXJ0KHVybFBhdGguc3BsaXQoXCIvXCIpLmZpbHRlcihCb29sZWFuKSwgW10sIGZhbHNlKTtcbiAgICB9XG4gICAgc21vb3NoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc21vb3NoKCk7XG4gICAgfVxuICAgIF9zbW9vc2gocHJlZml4KSB7XG4gICAgICAgIGlmIChwcmVmaXggPT09IHZvaWQgMCkgcHJlZml4ID0gXCIvXCI7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuUGF0aHMgPSBbXG4gICAgICAgICAgICAuLi50aGlzLmNoaWxkcmVuLmtleXMoKVxuICAgICAgICBdLnNvcnQoKTtcbiAgICAgICAgaWYgKHRoaXMuc2x1Z05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuUGF0aHMuc3BsaWNlKGNoaWxkcmVuUGF0aHMuaW5kZXhPZihcIltdXCIpLCAxKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yZXN0U2x1Z05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuUGF0aHMuc3BsaWNlKGNoaWxkcmVuUGF0aHMuaW5kZXhPZihcIlsuLi5dXCIpLCAxKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY2hpbGRyZW5QYXRocy5zcGxpY2UoY2hpbGRyZW5QYXRocy5pbmRleE9mKFwiW1suLi5dXVwiKSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgcm91dGVzID0gY2hpbGRyZW5QYXRocy5tYXAoKGMpPT50aGlzLmNoaWxkcmVuLmdldChjKS5fc21vb3NoKFwiXCIgKyBwcmVmaXggKyBjICsgXCIvXCIpKS5yZWR1Y2UoKHByZXYsIGN1cnIpPT5bXG4gICAgICAgICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICAgICAgICAuLi5jdXJyXG4gICAgICAgICAgICBdLCBbXSk7XG4gICAgICAgIGlmICh0aGlzLnNsdWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICByb3V0ZXMucHVzaCguLi50aGlzLmNoaWxkcmVuLmdldChcIltdXCIpLl9zbW9vc2gocHJlZml4ICsgXCJbXCIgKyB0aGlzLnNsdWdOYW1lICsgXCJdL1wiKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLnBsYWNlaG9sZGVyKSB7XG4gICAgICAgICAgICBjb25zdCByID0gcHJlZml4ID09PSBcIi9cIiA/IFwiL1wiIDogcHJlZml4LnNsaWNlKDAsIC0xKTtcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3QgZGVmaW5lIGEgcm91dGUgd2l0aCB0aGUgc2FtZSBzcGVjaWZpY2l0eSBhcyBhIG9wdGlvbmFsIGNhdGNoLWFsbCByb3V0ZSAoXCInICsgciArICdcIiBhbmQgXCInICsgciArIFwiW1suLi5cIiArIHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgKyAnXV1cIikuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb3V0ZXMudW5zaGlmdChyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yZXN0U2x1Z05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJvdXRlcy5wdXNoKC4uLnRoaXMuY2hpbGRyZW4uZ2V0KFwiWy4uLl1cIikuX3Ntb29zaChwcmVmaXggKyBcIlsuLi5cIiArIHRoaXMucmVzdFNsdWdOYW1lICsgXCJdL1wiKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJvdXRlcy5wdXNoKC4uLnRoaXMuY2hpbGRyZW4uZ2V0KFwiW1suLi5dXVwiKS5fc21vb3NoKHByZWZpeCArIFwiW1suLi5cIiArIHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgKyBcIl1dL1wiKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvdXRlcztcbiAgICB9XG4gICAgX2luc2VydCh1cmxQYXRocywgc2x1Z05hbWVzLCBpc0NhdGNoQWxsKSB7XG4gICAgICAgIGlmICh1cmxQYXRocy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNDYXRjaEFsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2F0Y2gtYWxsIG11c3QgYmUgdGhlIGxhc3QgcGFydCBvZiB0aGUgVVJMLlwiKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUaGUgbmV4dCBzZWdtZW50IGluIHRoZSB1cmxQYXRocyBsaXN0XG4gICAgICAgIGxldCBuZXh0U2VnbWVudCA9IHVybFBhdGhzWzBdO1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgc2VnbWVudCBtYXRjaGVzIGBbc29tZXRoaW5nXWBcbiAgICAgICAgaWYgKG5leHRTZWdtZW50LnN0YXJ0c1dpdGgoXCJbXCIpICYmIG5leHRTZWdtZW50LmVuZHNXaXRoKFwiXVwiKSkge1xuICAgICAgICAgICAgLy8gU3RyaXAgYFtgIGFuZCBgXWAsIGxlYXZpbmcgb25seSBgc29tZXRoaW5nYFxuICAgICAgICAgICAgbGV0IHNlZ21lbnROYW1lID0gbmV4dFNlZ21lbnQuc2xpY2UoMSwgLTEpO1xuICAgICAgICAgICAgbGV0IGlzT3B0aW9uYWwgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChzZWdtZW50TmFtZS5zdGFydHNXaXRoKFwiW1wiKSAmJiBzZWdtZW50TmFtZS5lbmRzV2l0aChcIl1cIikpIHtcbiAgICAgICAgICAgICAgICAvLyBTdHJpcCBvcHRpb25hbCBgW2AgYW5kIGBdYCwgbGVhdmluZyBvbmx5IGBzb21ldGhpbmdgXG4gICAgICAgICAgICAgICAgc2VnbWVudE5hbWUgPSBzZWdtZW50TmFtZS5zbGljZSgxLCAtMSk7XG4gICAgICAgICAgICAgICAgaXNPcHRpb25hbCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VnbWVudE5hbWUuc3RhcnRzV2l0aChcIi4uLlwiKSkge1xuICAgICAgICAgICAgICAgIC8vIFN0cmlwIGAuLi5gLCBsZWF2aW5nIG9ubHkgYHNvbWV0aGluZ2BcbiAgICAgICAgICAgICAgICBzZWdtZW50TmFtZSA9IHNlZ21lbnROYW1lLnN1YnN0cmluZygzKTtcbiAgICAgICAgICAgICAgICBpc0NhdGNoQWxsID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZWdtZW50TmFtZS5zdGFydHNXaXRoKFwiW1wiKSB8fCBzZWdtZW50TmFtZS5lbmRzV2l0aChcIl1cIikpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJTZWdtZW50IG5hbWVzIG1heSBub3Qgc3RhcnQgb3IgZW5kIHdpdGggZXh0cmEgYnJhY2tldHMgKCdcIiArIHNlZ21lbnROYW1lICsgXCInKS5cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VnbWVudE5hbWUuc3RhcnRzV2l0aChcIi5cIikpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJTZWdtZW50IG5hbWVzIG1heSBub3Qgc3RhcnQgd2l0aCBlcnJvbmVvdXMgcGVyaW9kcyAoJ1wiICsgc2VnbWVudE5hbWUgKyBcIicpLlwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZ1bmN0aW9uIGhhbmRsZVNsdWcocHJldmlvdXNTbHVnLCBuZXh0U2x1Zykge1xuICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c1NsdWcgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIHNwZWNpZmljIHNlZ21lbnQgYWxyZWFkeSBoYXMgYSBzbHVnIGJ1dCB0aGUgc2x1ZyBpcyBub3QgYHNvbWV0aGluZ2BcbiAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBwcmV2ZW50cyBjb2xsaXNpb25zIGxpa2U6XG4gICAgICAgICAgICAgICAgICAgIC8vIHBhZ2VzL1twb3N0XS9pbmRleC5qc1xuICAgICAgICAgICAgICAgICAgICAvLyBwYWdlcy9baWRdL2luZGV4LmpzXG4gICAgICAgICAgICAgICAgICAgIC8vIEJlY2F1c2UgY3VycmVudGx5IG11bHRpcGxlIGR5bmFtaWMgcGFyYW1zIG9uIHRoZSBzYW1lIHNlZ21lbnQgbGV2ZWwgYXJlIG5vdCBzdXBwb3J0ZWRcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzU2x1ZyAhPT0gbmV4dFNsdWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IFRoaXMgZXJyb3Igc2VlbXMgdG8gYmUgY29uZnVzaW5nIGZvciB1c2VycywgbmVlZHMgYW4gZXJyb3IgbGluaywgdGhlIGRlc2NyaXB0aW9uIGNhbiBiZSBiYXNlZCBvbiBhYm92ZSBjb21tZW50LlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiWW91IGNhbm5vdCB1c2UgZGlmZmVyZW50IHNsdWcgbmFtZXMgZm9yIHRoZSBzYW1lIGR5bmFtaWMgcGF0aCAoJ1wiICsgcHJldmlvdXNTbHVnICsgXCInICE9PSAnXCIgKyBuZXh0U2x1ZyArIFwiJykuXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNsdWdOYW1lcy5mb3JFYWNoKChzbHVnKT0+e1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2x1ZyA9PT0gbmV4dFNsdWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IGNhbm5vdCBoYXZlIHRoZSBzYW1lIHNsdWcgbmFtZSBcIicgKyBuZXh0U2x1ZyArICdcIiByZXBlYXQgd2l0aGluIGEgc2luZ2xlIGR5bmFtaWMgcGF0aCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChzbHVnLnJlcGxhY2UoL1xcVy9nLCBcIlwiKSA9PT0gbmV4dFNlZ21lbnQucmVwbGFjZSgvXFxXL2csIFwiXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3QgaGF2ZSB0aGUgc2x1ZyBuYW1lcyBcIicgKyBzbHVnICsgJ1wiIGFuZCBcIicgKyBuZXh0U2x1ZyArICdcIiBkaWZmZXIgb25seSBieSBub24td29yZCBzeW1ib2xzIHdpdGhpbiBhIHNpbmdsZSBkeW5hbWljIHBhdGgnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHNsdWdOYW1lcy5wdXNoKG5leHRTbHVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0NhdGNoQWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzT3B0aW9uYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucmVzdFNsdWdOYW1lICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IGNhbm5vdCB1c2UgYm90aCBhbiByZXF1aXJlZCBhbmQgb3B0aW9uYWwgY2F0Y2gtYWxsIHJvdXRlIGF0IHRoZSBzYW1lIGxldmVsIChcIlsuLi4nICsgdGhpcy5yZXN0U2x1Z05hbWUgKyAnXVwiIGFuZCBcIicgKyB1cmxQYXRoc1swXSArICdcIiApLicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZVNsdWcodGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSwgc2VnbWVudE5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAvLyBzbHVnTmFtZSBpcyBrZXB0IGFzIGl0IGNhbiBvbmx5IGJlIG9uZSBwYXJ0aWN1bGFyIHNsdWdOYW1lXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgPSBzZWdtZW50TmFtZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gbmV4dFNlZ21lbnQgaXMgb3ZlcndyaXR0ZW4gdG8gW1suLi5dXSBzbyB0aGF0IGl0IGNhbiBsYXRlciBiZSBzb3J0ZWQgc3BlY2lmaWNhbGx5XG4gICAgICAgICAgICAgICAgICAgIG5leHRTZWdtZW50ID0gXCJbWy4uLl1dXCI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2Fubm90IHVzZSBib3RoIGFuIG9wdGlvbmFsIGFuZCByZXF1aXJlZCBjYXRjaC1hbGwgcm91dGUgYXQgdGhlIHNhbWUgbGV2ZWwgKFwiW1suLi4nICsgdGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSArICddXVwiIGFuZCBcIicgKyB1cmxQYXRoc1swXSArICdcIikuJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2x1Zyh0aGlzLnJlc3RTbHVnTmFtZSwgc2VnbWVudE5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAvLyBzbHVnTmFtZSBpcyBrZXB0IGFzIGl0IGNhbiBvbmx5IGJlIG9uZSBwYXJ0aWN1bGFyIHNsdWdOYW1lXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdFNsdWdOYW1lID0gc2VnbWVudE5hbWU7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5leHRTZWdtZW50IGlzIG92ZXJ3cml0dGVuIHRvIFsuLi5dIHNvIHRoYXQgaXQgY2FuIGxhdGVyIGJlIHNvcnRlZCBzcGVjaWZpY2FsbHlcbiAgICAgICAgICAgICAgICAgICAgbmV4dFNlZ21lbnQgPSBcIlsuLi5dXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNPcHRpb25hbCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ09wdGlvbmFsIHJvdXRlIHBhcmFtZXRlcnMgYXJlIG5vdCB5ZXQgc3VwcG9ydGVkIChcIicgKyB1cmxQYXRoc1swXSArICdcIikuJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGhhbmRsZVNsdWcodGhpcy5zbHVnTmFtZSwgc2VnbWVudE5hbWUpO1xuICAgICAgICAgICAgICAgIC8vIHNsdWdOYW1lIGlzIGtlcHQgYXMgaXQgY2FuIG9ubHkgYmUgb25lIHBhcnRpY3VsYXIgc2x1Z05hbWVcbiAgICAgICAgICAgICAgICB0aGlzLnNsdWdOYW1lID0gc2VnbWVudE5hbWU7XG4gICAgICAgICAgICAgICAgLy8gbmV4dFNlZ21lbnQgaXMgb3ZlcndyaXR0ZW4gdG8gW10gc28gdGhhdCBpdCBjYW4gbGF0ZXIgYmUgc29ydGVkIHNwZWNpZmljYWxseVxuICAgICAgICAgICAgICAgIG5leHRTZWdtZW50ID0gXCJbXVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIElmIHRoaXMgVXJsTm9kZSBkb2Vzbid0IGhhdmUgdGhlIG5leHRTZWdtZW50IHlldCB3ZSBjcmVhdGUgYSBuZXcgY2hpbGQgVXJsTm9kZVxuICAgICAgICBpZiAoIXRoaXMuY2hpbGRyZW4uaGFzKG5leHRTZWdtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbi5zZXQobmV4dFNlZ21lbnQsIG5ldyBVcmxOb2RlKCkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hpbGRyZW4uZ2V0KG5leHRTZWdtZW50KS5faW5zZXJ0KHVybFBhdGhzLnNsaWNlKDEpLCBzbHVnTmFtZXMsIGlzQ2F0Y2hBbGwpO1xuICAgIH1cbiAgICBjb25zdHJ1Y3Rvcigpe1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jaGlsZHJlbiA9IG5ldyBNYXAoKTtcbiAgICAgICAgdGhpcy5zbHVnTmFtZSA9IG51bGw7XG4gICAgICAgIHRoaXMucmVzdFNsdWdOYW1lID0gbnVsbDtcbiAgICAgICAgdGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSA9IG51bGw7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0U29ydGVkUm91dGVzKG5vcm1hbGl6ZWRQYWdlcykge1xuICAgIC8vIEZpcnN0IHRoZSBVcmxOb2RlIGlzIGNyZWF0ZWQsIGFuZCBldmVyeSBVcmxOb2RlIGNhbiBoYXZlIG9ubHkgMSBkeW5hbWljIHNlZ21lbnRcbiAgICAvLyBFZyB5b3UgY2FuJ3QgaGF2ZSBwYWdlcy9bcG9zdF0vYWJjLmpzIGFuZCBwYWdlcy9baGVsbG9dL3NvbWV0aGluZy1lbHNlLmpzXG4gICAgLy8gT25seSAxIGR5bmFtaWMgc2VnbWVudCBwZXIgbmVzdGluZyBsZXZlbFxuICAgIC8vIFNvIGluIHRoZSBjYXNlIHRoYXQgaXMgdGVzdC9pbnRlZ3JhdGlvbi9keW5hbWljLXJvdXRpbmcgaXQnbGwgYmUgdGhpczpcbiAgICAvLyBwYWdlcy9bcG9zdF0vY29tbWVudHMuanNcbiAgICAvLyBwYWdlcy9ibG9nL1twb3N0XS9jb21tZW50L1tpZF0uanNcbiAgICAvLyBCb3RoIGFyZSBmaW5lIGJlY2F1c2UgYHBhZ2VzL1twb3N0XWAgYW5kIGBwYWdlcy9ibG9nYCBhcmUgb24gdGhlIHNhbWUgbGV2ZWxcbiAgICAvLyBTbyBpbiB0aGlzIGNhc2UgYFVybE5vZGVgIGNyZWF0ZWQgaGVyZSBoYXMgYHRoaXMuc2x1Z05hbWUgPT09ICdwb3N0J2BcbiAgICAvLyBBbmQgc2luY2UgeW91ciBQUiBwYXNzZWQgdGhyb3VnaCBgc2x1Z05hbWVgIGFzIGFuIGFycmF5IGJhc2ljYWxseSBpdCdkIGluY2x1ZGluZyBpdCBpbiB0b28gbWFueSBwb3NzaWJpbGl0aWVzXG4gICAgLy8gSW5zdGVhZCB3aGF0IGhhcyB0byBiZSBwYXNzZWQgdGhyb3VnaCBpcyB0aGUgdXB3YXJkcyBwYXRoJ3MgZHluYW1pYyBuYW1lc1xuICAgIGNvbnN0IHJvb3QgPSBuZXcgVXJsTm9kZSgpO1xuICAgIC8vIEhlcmUgdGhlIGByb290YCBnZXRzIGluamVjdGVkIG11bHRpcGxlIHBhdGhzLCBhbmQgaW5zZXJ0IHdpbGwgYnJlYWsgdGhlbSB1cCBpbnRvIHN1YmxldmVsc1xuICAgIG5vcm1hbGl6ZWRQYWdlcy5mb3JFYWNoKChwYWdlUGF0aCk9PnJvb3QuaW5zZXJ0KHBhZ2VQYXRoKSk7XG4gICAgLy8gU21vb3NoIHdpbGwgdGhlbiBzb3J0IHRob3NlIHN1YmxldmVscyB1cCB0byB0aGUgcG9pbnQgd2hlcmUgeW91IGdldCB0aGUgY29ycmVjdCByb3V0ZSBkZWZpbml0aW9uIHByaW9yaXR5XG4gICAgcmV0dXJuIHJvb3Quc21vb3NoKCk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNvcnRlZC1yb3V0ZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImdldFNvcnRlZFJvdXRlcyIsIlVybE5vZGUiLCJpbnNlcnQiLCJ1cmxQYXRoIiwiX2luc2VydCIsInNwbGl0IiwiZmlsdGVyIiwiQm9vbGVhbiIsInNtb29zaCIsIl9zbW9vc2giLCJwcmVmaXgiLCJjaGlsZHJlblBhdGhzIiwiY2hpbGRyZW4iLCJrZXlzIiwic29ydCIsInNsdWdOYW1lIiwic3BsaWNlIiwiaW5kZXhPZiIsInJlc3RTbHVnTmFtZSIsIm9wdGlvbmFsUmVzdFNsdWdOYW1lIiwicm91dGVzIiwibWFwIiwiYyIsInJlZHVjZSIsInByZXYiLCJjdXJyIiwicHVzaCIsInBsYWNlaG9sZGVyIiwiciIsInNsaWNlIiwiRXJyb3IiLCJ1bnNoaWZ0IiwidXJsUGF0aHMiLCJzbHVnTmFtZXMiLCJpc0NhdGNoQWxsIiwibGVuZ3RoIiwibmV4dFNlZ21lbnQiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJzZWdtZW50TmFtZSIsImlzT3B0aW9uYWwiLCJzdWJzdHJpbmciLCJoYW5kbGVTbHVnIiwicHJldmlvdXNTbHVnIiwibmV4dFNsdWciLCJmb3JFYWNoIiwic2x1ZyIsInJlcGxhY2UiLCJoYXMiLCJzZXQiLCJjb25zdHJ1Y3RvciIsIk1hcCIsIm5vcm1hbGl6ZWRQYWdlcyIsInJvb3QiLCJwYWdlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/segment.js": /*!******************************************************!*\ !*** ./node_modules/next/dist/shared/lib/segment.js ***! \******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isGroupSegment: function() {\n return isGroupSegment;\n },\n PAGE_SEGMENT_KEY: function() {\n return PAGE_SEGMENT_KEY;\n },\n DEFAULT_SEGMENT_KEY: function() {\n return DEFAULT_SEGMENT_KEY;\n }\n});\nfunction isGroupSegment(segment) {\n // Use array[0] for performant purpose\n return segment[0] === \"(\" && segment.endsWith(\")\");\n}\nconst PAGE_SEGMENT_KEY = \"__PAGE__\";\nconst DEFAULT_SEGMENT_KEY = \"__DEFAULT__\"; //# sourceMappingURL=segment.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2VnbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUlOO0FBQ0EsU0FBU0ksUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVYsT0FBT0MsY0FBYyxDQUFDUSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFOLFNBQVM7SUFDYkcsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtJQUNBQyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxTQUFTRixlQUFlUyxPQUFPO0lBQzNCLHNDQUFzQztJQUN0QyxPQUFPQSxPQUFPLENBQUMsRUFBRSxLQUFLLE9BQU9BLFFBQVFDLFFBQVEsQ0FBQztBQUNsRDtBQUNBLE1BQU1ULG1CQUFtQjtBQUN6QixNQUFNQyxzQkFBc0IsZUFFNUIsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3NlZ21lbnQuanM/ZmY3MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGlzR3JvdXBTZWdtZW50OiBudWxsLFxuICAgIFBBR0VfU0VHTUVOVF9LRVk6IG51bGwsXG4gICAgREVGQVVMVF9TRUdNRU5UX0tFWTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBpc0dyb3VwU2VnbWVudDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0dyb3VwU2VnbWVudDtcbiAgICB9LFxuICAgIFBBR0VfU0VHTUVOVF9LRVk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUEFHRV9TRUdNRU5UX0tFWTtcbiAgICB9LFxuICAgIERFRkFVTFRfU0VHTUVOVF9LRVk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gREVGQVVMVF9TRUdNRU5UX0tFWTtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGlzR3JvdXBTZWdtZW50KHNlZ21lbnQpIHtcbiAgICAvLyBVc2UgYXJyYXlbMF0gZm9yIHBlcmZvcm1hbnQgcHVycG9zZVxuICAgIHJldHVybiBzZWdtZW50WzBdID09PSBcIihcIiAmJiBzZWdtZW50LmVuZHNXaXRoKFwiKVwiKTtcbn1cbmNvbnN0IFBBR0VfU0VHTUVOVF9LRVkgPSBcIl9fUEFHRV9fXCI7XG5jb25zdCBERUZBVUxUX1NFR01FTlRfS0VZID0gXCJfX0RFRkFVTFRfX1wiO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZWdtZW50LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImlzR3JvdXBTZWdtZW50IiwiUEFHRV9TRUdNRU5UX0tFWSIsIkRFRkFVTFRfU0VHTUVOVF9LRVkiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJzZWdtZW50IiwiZW5kc1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/segment.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/side-effect.js": /*!**********************************************************!*\ !*** ./node_modules/next/dist/shared/lib/side-effect.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return SideEffect;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"react\");\nconst isServer = \"undefined\" === \"undefined\";\nconst useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;\nconst useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;\nfunction SideEffect(props) {\n const { headManager, reduceComponentsToState } = props;\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));\n headManager.updateHead(reduceComponentsToState(headElements, props));\n }\n }\n if (isServer) {\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n emitChange();\n }\n useClientOnlyLayoutEffect(()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n return ()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.delete(props.children);\n };\n });\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n return ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n };\n });\n useClientOnlyEffect(()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n return ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n };\n });\n return null;\n} //# sourceMappingURL=side-effect.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2lkZS1lZmZlY3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLFNBQVNDLG1CQUFPQSxDQUFDLG9CQUFPO0FBQzlCLE1BQU1DLFdBQVcsZ0JBQWtCO0FBQ25DLE1BQU1DLDRCQUE0QkQsV0FBVyxLQUFLLElBQUlGLE9BQU9JLGVBQWU7QUFDNUUsTUFBTUMsc0JBQXNCSCxXQUFXLEtBQUssSUFBSUYsT0FBT00sU0FBUztBQUNoRSxTQUFTUCxXQUFXUSxLQUFLO0lBQ3JCLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyx1QkFBdUIsRUFBRSxHQUFHRjtJQUNqRCxTQUFTRztRQUNMLElBQUlGLGVBQWVBLFlBQVlHLGdCQUFnQixFQUFFO1lBQzdDLE1BQU1DLGVBQWVaLE9BQU9hLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDQyxNQUFNQyxJQUFJLENBQUNSLFlBQVlHLGdCQUFnQixFQUFFTSxNQUFNLENBQUNDO1lBQzdGVixZQUFZVyxVQUFVLENBQUNWLHdCQUF3QkcsY0FBY0w7UUFDakU7SUFDSjtJQUNBLElBQUlMLFVBQVU7UUFDVixJQUFJa0I7UUFDSlosZUFBZSxPQUFPLEtBQUssSUFBSSxDQUFDWSxnQ0FBZ0NaLFlBQVlHLGdCQUFnQixLQUFLLE9BQU8sS0FBSyxJQUFJUyw4QkFBOEJDLEdBQUcsQ0FBQ2QsTUFBTWUsUUFBUTtRQUNqS1o7SUFDSjtJQUNBUCwwQkFBMEI7UUFDdEIsSUFBSWlCO1FBQ0paLGVBQWUsT0FBTyxLQUFLLElBQUksQ0FBQ1ksZ0NBQWdDWixZQUFZRyxnQkFBZ0IsS0FBSyxPQUFPLEtBQUssSUFBSVMsOEJBQThCQyxHQUFHLENBQUNkLE1BQU1lLFFBQVE7UUFDakssT0FBTztZQUNILElBQUlGO1lBQ0paLGVBQWUsT0FBTyxLQUFLLElBQUksQ0FBQ1ksZ0NBQWdDWixZQUFZRyxnQkFBZ0IsS0FBSyxPQUFPLEtBQUssSUFBSVMsOEJBQThCRyxNQUFNLENBQUNoQixNQUFNZSxRQUFRO1FBQ3hLO0lBQ0o7SUFDQSxrRkFBa0Y7SUFDbEYsb0ZBQW9GO0lBQ3BGLGdFQUFnRTtJQUNoRSxxRkFBcUY7SUFDckYsbUZBQW1GO0lBQ25GbkIsMEJBQTBCO1FBQ3RCLElBQUlLLGFBQWE7WUFDYkEsWUFBWWdCLGNBQWMsR0FBR2Q7UUFDakM7UUFDQSxPQUFPO1lBQ0gsSUFBSUYsYUFBYTtnQkFDYkEsWUFBWWdCLGNBQWMsR0FBR2Q7WUFDakM7UUFDSjtJQUNKO0lBQ0FMLG9CQUFvQjtRQUNoQixJQUFJRyxlQUFlQSxZQUFZZ0IsY0FBYyxFQUFFO1lBQzNDaEIsWUFBWWdCLGNBQWM7WUFDMUJoQixZQUFZZ0IsY0FBYyxHQUFHO1FBQ2pDO1FBQ0EsT0FBTztZQUNILElBQUloQixlQUFlQSxZQUFZZ0IsY0FBYyxFQUFFO2dCQUMzQ2hCLFlBQVlnQixjQUFjO2dCQUMxQmhCLFlBQVlnQixjQUFjLEdBQUc7WUFDakM7UUFDSjtJQUNKO0lBQ0EsT0FBTztBQUNYLEVBRUEsdUNBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3NpZGUtZWZmZWN0LmpzPzQwOGMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTaWRlRWZmZWN0O1xuICAgIH1cbn0pO1xuY29uc3QgX3JlYWN0ID0gcmVxdWlyZShcInJlYWN0XCIpO1xuY29uc3QgaXNTZXJ2ZXIgPSB0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiO1xuY29uc3QgdXNlQ2xpZW50T25seUxheW91dEVmZmVjdCA9IGlzU2VydmVyID8gKCk9Pnt9IDogX3JlYWN0LnVzZUxheW91dEVmZmVjdDtcbmNvbnN0IHVzZUNsaWVudE9ubHlFZmZlY3QgPSBpc1NlcnZlciA/ICgpPT57fSA6IF9yZWFjdC51c2VFZmZlY3Q7XG5mdW5jdGlvbiBTaWRlRWZmZWN0KHByb3BzKSB7XG4gICAgY29uc3QgeyBoZWFkTWFuYWdlciwgcmVkdWNlQ29tcG9uZW50c1RvU3RhdGUgfSA9IHByb3BzO1xuICAgIGZ1bmN0aW9uIGVtaXRDaGFuZ2UoKSB7XG4gICAgICAgIGlmIChoZWFkTWFuYWdlciAmJiBoZWFkTWFuYWdlci5tb3VudGVkSW5zdGFuY2VzKSB7XG4gICAgICAgICAgICBjb25zdCBoZWFkRWxlbWVudHMgPSBfcmVhY3QuQ2hpbGRyZW4udG9BcnJheShBcnJheS5mcm9tKGhlYWRNYW5hZ2VyLm1vdW50ZWRJbnN0YW5jZXMpLmZpbHRlcihCb29sZWFuKSk7XG4gICAgICAgICAgICBoZWFkTWFuYWdlci51cGRhdGVIZWFkKHJlZHVjZUNvbXBvbmVudHNUb1N0YXRlKGhlYWRFbGVtZW50cywgcHJvcHMpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgICAgdmFyIF9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzO1xuICAgICAgICBoZWFkTWFuYWdlciA9PSBudWxsID8gdm9pZCAwIDogKF9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzID0gaGVhZE1hbmFnZXIubW91bnRlZEluc3RhbmNlcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzLmFkZChwcm9wcy5jaGlsZHJlbik7XG4gICAgICAgIGVtaXRDaGFuZ2UoKTtcbiAgICB9XG4gICAgdXNlQ2xpZW50T25seUxheW91dEVmZmVjdCgoKT0+e1xuICAgICAgICB2YXIgX2hlYWRNYW5hZ2VyX21vdW50ZWRJbnN0YW5jZXM7XG4gICAgICAgIGhlYWRNYW5hZ2VyID09IG51bGwgPyB2b2lkIDAgOiAoX2hlYWRNYW5hZ2VyX21vdW50ZWRJbnN0YW5jZXMgPSBoZWFkTWFuYWdlci5tb3VudGVkSW5zdGFuY2VzKSA9PSBudWxsID8gdm9pZCAwIDogX2hlYWRNYW5hZ2VyX21vdW50ZWRJbnN0YW5jZXMuYWRkKHByb3BzLmNoaWxkcmVuKTtcbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICB2YXIgX2hlYWRNYW5hZ2VyX21vdW50ZWRJbnN0YW5jZXM7XG4gICAgICAgICAgICBoZWFkTWFuYWdlciA9PSBudWxsID8gdm9pZCAwIDogKF9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzID0gaGVhZE1hbmFnZXIubW91bnRlZEluc3RhbmNlcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzLmRlbGV0ZShwcm9wcy5jaGlsZHJlbik7XG4gICAgICAgIH07XG4gICAgfSk7XG4gICAgLy8gV2UgbmVlZCB0byBjYWxsIGB1cGRhdGVIZWFkYCBtZXRob2Qgd2hlbmV2ZXIgdGhlIGBTaWRlRWZmZWN0YCBpcyB0cmlnZ2VyIGluIGFsbFxuICAgIC8vIGxpZmUtY3ljbGVzOiBtb3VudCwgdXBkYXRlLCB1bm1vdW50LiBIb3dldmVyLCBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgYFNpZGVFZmZlY3Rgc1xuICAgIC8vIGJlaW5nIHJlbmRlcmVkLCB3ZSBvbmx5IHRyaWdnZXIgdGhlIG1ldGhvZCBmcm9tIHRoZSBsYXN0IG9uZS5cbiAgICAvLyBUaGlzIGlzIGVuc3VyZWQgYnkga2VlcGluZyB0aGUgbGFzdCB1bmZsdXNoZWQgYHVwZGF0ZUhlYWRgIGluIHRoZSBgX3BlbmRpbmdVcGRhdGVgXG4gICAgLy8gc2luZ2xldG9uIGluIHRoZSBsYXlvdXQgZWZmZWN0IHBhc3MsIGFuZCBhY3R1YWxseSB0cmlnZ2VyIGl0IGluIHRoZSBlZmZlY3QgcGFzcy5cbiAgICB1c2VDbGllbnRPbmx5TGF5b3V0RWZmZWN0KCgpPT57XG4gICAgICAgIGlmIChoZWFkTWFuYWdlcikge1xuICAgICAgICAgICAgaGVhZE1hbmFnZXIuX3BlbmRpbmdVcGRhdGUgPSBlbWl0Q2hhbmdlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgaWYgKGhlYWRNYW5hZ2VyKSB7XG4gICAgICAgICAgICAgICAgaGVhZE1hbmFnZXIuX3BlbmRpbmdVcGRhdGUgPSBlbWl0Q2hhbmdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0pO1xuICAgIHVzZUNsaWVudE9ubHlFZmZlY3QoKCk9PntcbiAgICAgICAgaWYgKGhlYWRNYW5hZ2VyICYmIGhlYWRNYW5hZ2VyLl9wZW5kaW5nVXBkYXRlKSB7XG4gICAgICAgICAgICBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSgpO1xuICAgICAgICAgICAgaGVhZE1hbmFnZXIuX3BlbmRpbmdVcGRhdGUgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgaWYgKGhlYWRNYW5hZ2VyICYmIGhlYWRNYW5hZ2VyLl9wZW5kaW5nVXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgaGVhZE1hbmFnZXIuX3BlbmRpbmdVcGRhdGUoKTtcbiAgICAgICAgICAgICAgICBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNpZGUtZWZmZWN0LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJTaWRlRWZmZWN0IiwiX3JlYWN0IiwicmVxdWlyZSIsImlzU2VydmVyIiwidXNlQ2xpZW50T25seUxheW91dEVmZmVjdCIsInVzZUxheW91dEVmZmVjdCIsInVzZUNsaWVudE9ubHlFZmZlY3QiLCJ1c2VFZmZlY3QiLCJwcm9wcyIsImhlYWRNYW5hZ2VyIiwicmVkdWNlQ29tcG9uZW50c1RvU3RhdGUiLCJlbWl0Q2hhbmdlIiwibW91bnRlZEluc3RhbmNlcyIsImhlYWRFbGVtZW50cyIsIkNoaWxkcmVuIiwidG9BcnJheSIsIkFycmF5IiwiZnJvbSIsImZpbHRlciIsIkJvb2xlYW4iLCJ1cGRhdGVIZWFkIiwiX2hlYWRNYW5hZ2VyX21vdW50ZWRJbnN0YW5jZXMiLCJhZGQiLCJjaGlsZHJlbiIsImRlbGV0ZSIsIl9wZW5kaW5nVXBkYXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/side-effect.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/utils.js": /*!****************************************************!*\ !*** ./node_modules/next/dist/shared/lib/utils.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n isResSent: function() {\n return isResSent;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n DecodeError: function() {\n return DecodeError;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FrQk47QUFDQSxTQUFTa0IsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSXhCLE9BQU9DLGNBQWMsQ0FBQ3NCLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUXBCLFNBQVM7SUFDYkcsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsVUFBVTtRQUNOLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLElBQUk7UUFDQSxPQUFPQTtJQUNYO0lBQ0FDLElBQUk7UUFDQSxPQUFPQTtJQUNYO0lBQ0FDLGFBQWE7UUFDVCxPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxtQkFBbUI7UUFDZixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1oQixhQUFhO0lBQ2Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0g7QUFDRCxTQUFTQyxTQUFTc0IsRUFBRTtJQUNoQixJQUFJQyxPQUFPO0lBQ1gsSUFBSUM7SUFD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SSxDQUFDLEtBQUs3RCxlQUFlaUQsT0FBTztRQUM1QztJQUNKO0lBQ0EsT0FBT1M7QUFDWDtBQUNBLE1BQU10RCxLQUFLLE9BQU8wRCxnQkFBZ0I7QUFDbEMsTUFBTXpELEtBQUtELE1BQU07SUFDYjtJQUNBO0lBQ0E7Q0FDSCxDQUFDMkQsS0FBSyxDQUFDLENBQUNDLFNBQVMsT0FBT0YsV0FBVyxDQUFDRSxPQUFPLEtBQUs7QUFDakQsTUFBTTFELG9CQUFvQmtEO0FBQzFCO0FBQ0EsTUFBTWpELHVCQUF1QmlEO0FBQzdCO0FBQ0EsTUFBTWhELDBCQUEwQmdEO0lBQzVCUyxZQUFZQyxJQUFJLENBQUM7UUFDYixLQUFLO1FBQ0wsSUFBSSxDQUFDQyxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNwRCxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUN3QyxPQUFPLEdBQUcsa0NBQWtDVztJQUNyRDtBQUNKO0FBQ0EsTUFBTXpELDBCQUEwQitDO0lBQzVCUyxZQUFZQyxJQUFJLEVBQUVYLE9BQU8sQ0FBQztRQUN0QixLQUFLO1FBQ0wsSUFBSSxDQUFDQSxPQUFPLEdBQUcsMENBQTBDVyxPQUFPLE1BQU1YO0lBQzFFO0FBQ0o7QUFDQSxNQUFNN0MsZ0NBQWdDOEM7SUFDbENTLGFBQWE7UUFDVCxLQUFLO1FBQ0wsSUFBSSxDQUFDRSxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNaLE9BQU8sR0FBRztJQUNuQjtBQUNKO0FBQ0EsU0FBUzVDLGVBQWV5RCxLQUFLO0lBQ3pCLE9BQU9DLEtBQUtDLFNBQVMsQ0FBQztRQUNsQmYsU0FBU2EsTUFBTWIsT0FBTztRQUN0QmdCLE9BQU9ILE1BQU1HLEtBQUs7SUFDdEI7QUFDSixFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi91dGlscy5qcz9lN2ZmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgV0VCX1ZJVEFMUzogbnVsbCxcbiAgICBleGVjT25jZTogbnVsbCxcbiAgICBpc0Fic29sdXRlVXJsOiBudWxsLFxuICAgIGdldExvY2F0aW9uT3JpZ2luOiBudWxsLFxuICAgIGdldFVSTDogbnVsbCxcbiAgICBnZXREaXNwbGF5TmFtZTogbnVsbCxcbiAgICBpc1Jlc1NlbnQ6IG51bGwsXG4gICAgbm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzOiBudWxsLFxuICAgIGxvYWRHZXRJbml0aWFsUHJvcHM6IG51bGwsXG4gICAgU1A6IG51bGwsXG4gICAgU1Q6IG51bGwsXG4gICAgRGVjb2RlRXJyb3I6IG51bGwsXG4gICAgTm9ybWFsaXplRXJyb3I6IG51bGwsXG4gICAgUGFnZU5vdEZvdW5kRXJyb3I6IG51bGwsXG4gICAgTWlzc2luZ1N0YXRpY1BhZ2U6IG51bGwsXG4gICAgTWlkZGxld2FyZU5vdEZvdW5kRXJyb3I6IG51bGwsXG4gICAgc3RyaW5naWZ5RXJyb3I6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgV0VCX1ZJVEFMUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBXRUJfVklUQUxTO1xuICAgIH0sXG4gICAgZXhlY09uY2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXhlY09uY2U7XG4gICAgfSxcbiAgICBpc0Fic29sdXRlVXJsOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzQWJzb2x1dGVVcmw7XG4gICAgfSxcbiAgICBnZXRMb2NhdGlvbk9yaWdpbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRMb2NhdGlvbk9yaWdpbjtcbiAgICB9LFxuICAgIGdldFVSTDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRVUkw7XG4gICAgfSxcbiAgICBnZXREaXNwbGF5TmFtZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXREaXNwbGF5TmFtZTtcbiAgICB9LFxuICAgIGlzUmVzU2VudDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc1Jlc1NlbnQ7XG4gICAgfSxcbiAgICBub3JtYWxpemVSZXBlYXRlZFNsYXNoZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzO1xuICAgIH0sXG4gICAgbG9hZEdldEluaXRpYWxQcm9wczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBsb2FkR2V0SW5pdGlhbFByb3BzO1xuICAgIH0sXG4gICAgU1A6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU1A7XG4gICAgfSxcbiAgICBTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTVDtcbiAgICB9LFxuICAgIERlY29kZUVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERlY29kZUVycm9yO1xuICAgIH0sXG4gICAgTm9ybWFsaXplRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTm9ybWFsaXplRXJyb3I7XG4gICAgfSxcbiAgICBQYWdlTm90Rm91bmRFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQYWdlTm90Rm91bmRFcnJvcjtcbiAgICB9LFxuICAgIE1pc3NpbmdTdGF0aWNQYWdlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE1pc3NpbmdTdGF0aWNQYWdlO1xuICAgIH0sXG4gICAgTWlkZGxld2FyZU5vdEZvdW5kRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTWlkZGxld2FyZU5vdEZvdW5kRXJyb3I7XG4gICAgfSxcbiAgICBzdHJpbmdpZnlFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmdpZnlFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IFdFQl9WSVRBTFMgPSBbXG4gICAgXCJDTFNcIixcbiAgICBcIkZDUFwiLFxuICAgIFwiRklEXCIsXG4gICAgXCJJTlBcIixcbiAgICBcIkxDUFwiLFxuICAgIFwiVFRGQlwiXG5dO1xuZnVuY3Rpb24gZXhlY09uY2UoZm4pIHtcbiAgICBsZXQgdXNlZCA9IGZhbHNlO1xuICAgIGxldCByZXN1bHQ7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICBmb3IodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKyl7XG4gICAgICAgICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdXNlZCkge1xuICAgICAgICAgICAgdXNlZCA9IHRydWU7XG4gICAgICAgICAgICByZXN1bHQgPSBmbiguLi5hcmdzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG59XG4vLyBTY2hlbWU6IGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMy4xXG4vLyBBYnNvbHV0ZSBVUkw6IGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tNC4zXG5jb25zdCBBQlNPTFVURV9VUkxfUkVHRVggPSAvXlthLXpBLVpdW2EtekEtWlxcZCtcXC0uXSo/Oi87XG5jb25zdCBpc0Fic29sdXRlVXJsID0gKHVybCk9PkFCU09MVVRFX1VSTF9SRUdFWC50ZXN0KHVybCk7XG5mdW5jdGlvbiBnZXRMb2NhdGlvbk9yaWdpbigpIHtcbiAgICBjb25zdCB7IHByb3RvY29sLCBob3N0bmFtZSwgcG9ydCB9ID0gd2luZG93LmxvY2F0aW9uO1xuICAgIHJldHVybiBwcm90b2NvbCArIFwiLy9cIiArIGhvc3RuYW1lICsgKHBvcnQgPyBcIjpcIiArIHBvcnQgOiBcIlwiKTtcbn1cbmZ1bmN0aW9uIGdldFVSTCgpIHtcbiAgICBjb25zdCB7IGhyZWYgfSA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICBjb25zdCBvcmlnaW4gPSBnZXRMb2NhdGlvbk9yaWdpbigpO1xuICAgIHJldHVybiBocmVmLnN1YnN0cmluZyhvcmlnaW4ubGVuZ3RoKTtcbn1cbmZ1bmN0aW9uIGdldERpc3BsYXlOYW1lKENvbXBvbmVudCkge1xuICAgIHJldHVybiB0eXBlb2YgQ29tcG9uZW50ID09PSBcInN0cmluZ1wiID8gQ29tcG9uZW50IDogQ29tcG9uZW50LmRpc3BsYXlOYW1lIHx8IENvbXBvbmVudC5uYW1lIHx8IFwiVW5rbm93blwiO1xufVxuZnVuY3Rpb24gaXNSZXNTZW50KHJlcykge1xuICAgIHJldHVybiByZXMuZmluaXNoZWQgfHwgcmVzLmhlYWRlcnNTZW50O1xufVxuZnVuY3Rpb24gbm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzKHVybCkge1xuICAgIGNvbnN0IHVybFBhcnRzID0gdXJsLnNwbGl0KFwiP1wiKTtcbiAgICBjb25zdCB1cmxOb1F1ZXJ5ID0gdXJsUGFydHNbMF07XG4gICAgcmV0dXJuIHVybE5vUXVlcnkvLyBmaXJzdCB3ZSByZXBsYWNlIGFueSBub24tZW5jb2RlZCBiYWNrc2xhc2hlcyB3aXRoIGZvcndhcmRcbiAgICAvLyB0aGVuIG5vcm1hbGl6ZSByZXBlYXRlZCBmb3J3YXJkIHNsYXNoZXNcbiAgICAucmVwbGFjZSgvXFxcXC9nLCBcIi9cIikucmVwbGFjZSgvXFwvXFwvKy9nLCBcIi9cIikgKyAodXJsUGFydHNbMV0gPyBcIj9cIiArIHVybFBhcnRzLnNsaWNlKDEpLmpvaW4oXCI/XCIpIDogXCJcIik7XG59XG5hc3luYyBmdW5jdGlvbiBsb2FkR2V0SW5pdGlhbFByb3BzKEFwcCwgY3R4KSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICB2YXIgX0FwcF9wcm90b3R5cGU7XG4gICAgICAgIGlmICgoX0FwcF9wcm90b3R5cGUgPSBBcHAucHJvdG90eXBlKSA9PSBudWxsID8gdm9pZCAwIDogX0FwcF9wcm90b3R5cGUuZ2V0SW5pdGlhbFByb3BzKSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gJ1wiJyArIGdldERpc3BsYXlOYW1lKEFwcCkgKyAnLmdldEluaXRpYWxQcm9wcygpXCIgaXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBtZXRob2QgLSB2aXNpdCBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9nZXQtaW5pdGlhbC1wcm9wcy1hcy1hbi1pbnN0YW5jZS1tZXRob2QgZm9yIG1vcmUgaW5mb3JtYXRpb24uJztcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyB3aGVuIGNhbGxlZCBmcm9tIF9hcHAgYGN0eGAgaXMgbmVzdGVkIGluIGBjdHhgXG4gICAgY29uc3QgcmVzID0gY3R4LnJlcyB8fCBjdHguY3R4ICYmIGN0eC5jdHgucmVzO1xuICAgIGlmICghQXBwLmdldEluaXRpYWxQcm9wcykge1xuICAgICAgICBpZiAoY3R4LmN0eCAmJiBjdHguQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlIHBhZ2VQcm9wcyBkZWZhdWx0XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHBhZ2VQcm9wczogYXdhaXQgbG9hZEdldEluaXRpYWxQcm9wcyhjdHguQ29tcG9uZW50LCBjdHguY3R4KVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IHByb3BzID0gYXdhaXQgQXBwLmdldEluaXRpYWxQcm9wcyhjdHgpO1xuICAgIGlmIChyZXMgJiYgaXNSZXNTZW50KHJlcykpIHtcbiAgICAgICAgcmV0dXJuIHByb3BzO1xuICAgIH1cbiAgICBpZiAoIXByb3BzKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnXCInICsgZ2V0RGlzcGxheU5hbWUoQXBwKSArICcuZ2V0SW5pdGlhbFByb3BzKClcIiBzaG91bGQgcmVzb2x2ZSB0byBhbiBvYmplY3QuIEJ1dCBmb3VuZCBcIicgKyBwcm9wcyArICdcIiBpbnN0ZWFkLic7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMocHJvcHMpLmxlbmd0aCA9PT0gMCAmJiAhY3R4LmN0eCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiXCIgKyBnZXREaXNwbGF5TmFtZShBcHApICsgXCIgcmV0dXJuZWQgYW4gZW1wdHkgb2JqZWN0IGZyb20gYGdldEluaXRpYWxQcm9wc2AuIFRoaXMgZGUtb3B0aW1pemVzIGFuZCBwcmV2ZW50cyBhdXRvbWF0aWMgc3RhdGljIG9wdGltaXphdGlvbi4gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZW1wdHktb2JqZWN0LWdldEluaXRpYWxQcm9wc1wiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcHJvcHM7XG59XG5jb25zdCBTUCA9IHR5cGVvZiBwZXJmb3JtYW5jZSAhPT0gXCJ1bmRlZmluZWRcIjtcbmNvbnN0IFNUID0gU1AgJiYgW1xuICAgIFwibWFya1wiLFxuICAgIFwibWVhc3VyZVwiLFxuICAgIFwiZ2V0RW50cmllc0J5TmFtZVwiXG5dLmV2ZXJ5KChtZXRob2QpPT50eXBlb2YgcGVyZm9ybWFuY2VbbWV0aG9kXSA9PT0gXCJmdW5jdGlvblwiKTtcbmNsYXNzIERlY29kZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xufVxuY2xhc3MgTm9ybWFsaXplRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG59XG5jbGFzcyBQYWdlTm90Rm91bmRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihwYWdlKXtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5jb2RlID0gXCJFTk9FTlRcIjtcbiAgICAgICAgdGhpcy5uYW1lID0gXCJQYWdlTm90Rm91bmRFcnJvclwiO1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBcIkNhbm5vdCBmaW5kIG1vZHVsZSBmb3IgcGFnZTogXCIgKyBwYWdlO1xuICAgIH1cbn1cbmNsYXNzIE1pc3NpbmdTdGF0aWNQYWdlIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHBhZ2UsIG1lc3NhZ2Upe1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBcIkZhaWxlZCB0byBsb2FkIHN0YXRpYyBmaWxlIGZvciBwYWdlOiBcIiArIHBhZ2UgKyBcIiBcIiArIG1lc3NhZ2U7XG4gICAgfVxufVxuY2xhc3MgTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IoKXtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5jb2RlID0gXCJFTk9FTlRcIjtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gXCJDYW5ub3QgZmluZCB0aGUgbWlkZGxld2FyZSBtb2R1bGVcIjtcbiAgICB9XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlFcnJvcihlcnJvcikge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgIHN0YWNrOiBlcnJvci5zdGFja1xuICAgIH0pO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJXRUJfVklUQUxTIiwiZXhlY09uY2UiLCJpc0Fic29sdXRlVXJsIiwiZ2V0TG9jYXRpb25PcmlnaW4iLCJnZXRVUkwiLCJnZXREaXNwbGF5TmFtZSIsImlzUmVzU2VudCIsIm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyIsImxvYWRHZXRJbml0aWFsUHJvcHMiLCJTUCIsIlNUIiwiRGVjb2RlRXJyb3IiLCJOb3JtYWxpemVFcnJvciIsIlBhZ2VOb3RGb3VuZEVycm9yIiwiTWlzc2luZ1N0YXRpY1BhZ2UiLCJNaWRkbGV3YXJlTm90Rm91bmRFcnJvciIsInN0cmluZ2lmeUVycm9yIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZm4iLCJ1c2VkIiwicmVzdWx0IiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJBQlNPTFVURV9VUkxfUkVHRVgiLCJ1cmwiLCJ0ZXN0IiwicHJvdG9jb2wiLCJob3N0bmFtZSIsInBvcnQiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJvcmlnaW4iLCJzdWJzdHJpbmciLCJDb21wb25lbnQiLCJkaXNwbGF5TmFtZSIsInJlcyIsImZpbmlzaGVkIiwiaGVhZGVyc1NlbnQiLCJ1cmxQYXJ0cyIsInNwbGl0IiwidXJsTm9RdWVyeSIsInJlcGxhY2UiLCJzbGljZSIsImpvaW4iLCJBcHAiLCJjdHgiLCJwcm9jZXNzIiwiX0FwcF9wcm90b3R5cGUiLCJwcm90b3R5cGUiLCJnZXRJbml0aWFsUHJvcHMiLCJtZXNzYWdlIiwiRXJyb3IiLCJwYWdlUHJvcHMiLCJwcm9wcyIsImtleXMiLCJjb25zb2xlIiwid2FybiIsInBlcmZvcm1hbmNlIiwiZXZlcnkiLCJtZXRob2QiLCJjb25zdHJ1Y3RvciIsInBhZ2UiLCJjb2RlIiwiZXJyb3IiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/utils.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/utils/warn-once.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/utils/warn-once.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"warnOnce\", ({\n enumerable: true,\n get: function() {\n return warnOnce;\n }\n}));\nlet warnOnce = (_)=>{};\nif (true) {\n const warnings = new Set();\n warnOnce = (msg)=>{\n if (!warnings.has(msg)) {\n console.warn(msg);\n }\n warnings.add(msg);\n };\n} //# sourceMappingURL=warn-once.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMvd2Fybi1vbmNlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCw0Q0FBMkM7SUFDdkNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixJQUFJQSxXQUFXLENBQUNDLEtBQUs7QUFDckIsSUFBSUMsSUFBcUMsRUFBRTtJQUN2QyxNQUFNQyxXQUFXLElBQUlDO0lBQ3JCSixXQUFXLENBQUNLO1FBQ1IsSUFBSSxDQUFDRixTQUFTRyxHQUFHLENBQUNELE1BQU07WUFDcEJFLFFBQVFDLElBQUksQ0FBQ0g7UUFDakI7UUFDQUYsU0FBU00sR0FBRyxDQUFDSjtJQUNqQjtBQUNKLEVBRUEscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3V0aWxzL3dhcm4tb25jZS5qcz83Mzk1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwid2Fybk9uY2VcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHdhcm5PbmNlO1xuICAgIH1cbn0pO1xubGV0IHdhcm5PbmNlID0gKF8pPT57fTtcbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICBjb25zdCB3YXJuaW5ncyA9IG5ldyBTZXQoKTtcbiAgICB3YXJuT25jZSA9IChtc2cpPT57XG4gICAgICAgIGlmICghd2FybmluZ3MuaGFzKG1zZykpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2Fybihtc2cpO1xuICAgICAgICB9XG4gICAgICAgIHdhcm5pbmdzLmFkZChtc2cpO1xuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdhcm4tb25jZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwid2Fybk9uY2UiLCJfIiwicHJvY2VzcyIsIndhcm5pbmdzIiwiU2V0IiwibXNnIiwiaGFzIiwiY29uc29sZSIsIndhcm4iLCJhZGQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/utils/warn-once.js\n"); /***/ }), /***/ "./node_modules/next/dist/lib/is-error.js": /*!************************************************!*\ !*** ./node_modules/next/dist/lib/is-error.js ***! \************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return isError;\n },\n getProperError: function() {\n return getProperError;\n }\n});\nconst _isplainobject = __webpack_require__(/*! ../shared/lib/is-plain-object */ \"./node_modules/next/dist/shared/lib/is-plain-object.js\");\nfunction isError(err) {\n return typeof err === \"object\" && err !== null && \"name\" in err && \"message\" in err;\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (true) {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === \"undefined\") {\n return new Error(\"An undefined error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n if (err === null) {\n return new Error(\"A null error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n }\n return new Error((0, _isplainobject.isPlainObject)(err) ? JSON.stringify(err) : err + \"\");\n}\n\n//# sourceMappingURL=is-error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx1QkFBdUIsbUJBQU8sQ0FBQyw2RkFBK0I7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXNDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcz8xNzhlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZGVmYXVsdDogbnVsbCxcbiAgICBnZXRQcm9wZXJFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzRXJyb3I7XG4gICAgfSxcbiAgICBnZXRQcm9wZXJFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRQcm9wZXJFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pc3BsYWlub2JqZWN0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0XCIpO1xuZnVuY3Rpb24gaXNFcnJvcihlcnIpIHtcbiAgICByZXR1cm4gdHlwZW9mIGVyciA9PT0gXCJvYmplY3RcIiAmJiBlcnIgIT09IG51bGwgJiYgXCJuYW1lXCIgaW4gZXJyICYmIFwibWVzc2FnZVwiIGluIGVycjtcbn1cbmZ1bmN0aW9uIGdldFByb3BlckVycm9yKGVycikge1xuICAgIGlmIChpc0Vycm9yKGVycikpIHtcbiAgICAgICAgcmV0dXJuIGVycjtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgLy8gcHJvdmlkZSBiZXR0ZXIgZXJyb3IgZm9yIGNhc2Ugd2hlcmUgYHRocm93IHVuZGVmaW5lZGBcbiAgICAgICAgLy8gaXMgY2FsbGVkIGluIGRldmVsb3BtZW50XG4gICAgICAgIGlmICh0eXBlb2YgZXJyID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKFwiQW4gdW5kZWZpbmVkIGVycm9yIHdhcyB0aHJvd24sIFwiICsgXCJzZWUgaGVyZSBmb3IgbW9yZSBpbmZvOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy90aHJldy11bmRlZmluZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVyciA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkEgbnVsbCBlcnJvciB3YXMgdGhyb3duLCBcIiArIFwic2VlIGhlcmUgZm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdGhyZXctdW5kZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgRXJyb3IoKDAsIF9pc3BsYWlub2JqZWN0LmlzUGxhaW5PYmplY3QpKGVycikgPyBKU09OLnN0cmluZ2lmeShlcnIpIDogZXJyICsgXCJcIik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-error.js\n"); /***/ }), /***/ "./node_modules/next/dist/lib/pretty-bytes.js": /*!****************************************************!*\ !*** ./node_modules/next/dist/lib/pretty-bytes.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/*\nMIT License\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return prettyBytes;\n }\n}));\nconst UNITS = [\n \"B\",\n \"kB\",\n \"MB\",\n \"GB\",\n \"TB\",\n \"PB\",\n \"EB\",\n \"ZB\",\n \"YB\"\n];\n/*\nFormats the given number using `Number#toLocaleString`.\n- If locale is a string, the value is expected to be a locale-key (for example: `de`).\n- If locale is true, the system default locale is used for translation.\n- If no value for locale is specified, the number is returned unmodified.\n*/ const toLocaleString = (number, locale)=>{\n let result = number;\n if (typeof locale === \"string\") {\n result = number.toLocaleString(locale);\n } else if (locale === true) {\n result = number.toLocaleString();\n }\n return result;\n};\nfunction prettyBytes(number, options) {\n if (!Number.isFinite(number)) {\n throw new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);\n }\n options = Object.assign({}, options);\n if (options.signed && number === 0) {\n return \" 0 B\";\n }\n const isNegative = number < 0;\n const prefix = isNegative ? \"-\" : options.signed ? \"+\" : \"\";\n if (isNegative) {\n number = -number;\n }\n if (number < 1) {\n const numberString = toLocaleString(number, options.locale);\n return prefix + numberString + \" B\";\n }\n const exponent = Math.min(Math.floor(Math.log10(number) / 3), UNITS.length - 1);\n number = Number((number / Math.pow(1000, exponent)).toPrecision(3));\n const numberString = toLocaleString(number, options.locale);\n const unit = UNITS[exponent];\n return prefix + numberString + \" \" + unit;\n}\n\n//# sourceMappingURL=pretty-bytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9wcmV0dHktYnl0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLEdBQWdCO0FBQ2hCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDJDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELGNBQWMsSUFBSSxPQUFPO0FBQ3RGO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL3ByZXR0eS1ieXRlcy5qcz9mZjMwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5NSVQgTGljZW5zZVxuXG5Db3B5cmlnaHQgKGMpIFNpbmRyZSBTb3JodXMgPHNpbmRyZXNvcmh1c0BnbWFpbC5jb20+IChzaW5kcmVzb3JodXMuY29tKVxuXG5QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG5UaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4qLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHByZXR0eUJ5dGVzO1xuICAgIH1cbn0pO1xuY29uc3QgVU5JVFMgPSBbXG4gICAgXCJCXCIsXG4gICAgXCJrQlwiLFxuICAgIFwiTUJcIixcbiAgICBcIkdCXCIsXG4gICAgXCJUQlwiLFxuICAgIFwiUEJcIixcbiAgICBcIkVCXCIsXG4gICAgXCJaQlwiLFxuICAgIFwiWUJcIlxuXTtcbi8qXG5Gb3JtYXRzIHRoZSBnaXZlbiBudW1iZXIgdXNpbmcgYE51bWJlciN0b0xvY2FsZVN0cmluZ2AuXG4tIElmIGxvY2FsZSBpcyBhIHN0cmluZywgdGhlIHZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIGEgbG9jYWxlLWtleSAoZm9yIGV4YW1wbGU6IGBkZWApLlxuLSBJZiBsb2NhbGUgaXMgdHJ1ZSwgdGhlIHN5c3RlbSBkZWZhdWx0IGxvY2FsZSBpcyB1c2VkIGZvciB0cmFuc2xhdGlvbi5cbi0gSWYgbm8gdmFsdWUgZm9yIGxvY2FsZSBpcyBzcGVjaWZpZWQsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQgdW5tb2RpZmllZC5cbiovIGNvbnN0IHRvTG9jYWxlU3RyaW5nID0gKG51bWJlciwgbG9jYWxlKT0+e1xuICAgIGxldCByZXN1bHQgPSBudW1iZXI7XG4gICAgaWYgKHR5cGVvZiBsb2NhbGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmVzdWx0ID0gbnVtYmVyLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSk7XG4gICAgfSBlbHNlIGlmIChsb2NhbGUgPT09IHRydWUpIHtcbiAgICAgICAgcmVzdWx0ID0gbnVtYmVyLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59O1xuZnVuY3Rpb24gcHJldHR5Qnl0ZXMobnVtYmVyLCBvcHRpb25zKSB7XG4gICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUobnVtYmVyKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBhIGZpbml0ZSBudW1iZXIsIGdvdCAke3R5cGVvZiBudW1iZXJ9OiAke251bWJlcn1gKTtcbiAgICB9XG4gICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMpO1xuICAgIGlmIChvcHRpb25zLnNpZ25lZCAmJiBudW1iZXIgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFwiIDAgQlwiO1xuICAgIH1cbiAgICBjb25zdCBpc05lZ2F0aXZlID0gbnVtYmVyIDwgMDtcbiAgICBjb25zdCBwcmVmaXggPSBpc05lZ2F0aXZlID8gXCItXCIgOiBvcHRpb25zLnNpZ25lZCA/IFwiK1wiIDogXCJcIjtcbiAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICBudW1iZXIgPSAtbnVtYmVyO1xuICAgIH1cbiAgICBpZiAobnVtYmVyIDwgMSkge1xuICAgICAgICBjb25zdCBudW1iZXJTdHJpbmcgPSB0b0xvY2FsZVN0cmluZyhudW1iZXIsIG9wdGlvbnMubG9jYWxlKTtcbiAgICAgICAgcmV0dXJuIHByZWZpeCArIG51bWJlclN0cmluZyArIFwiIEJcIjtcbiAgICB9XG4gICAgY29uc3QgZXhwb25lbnQgPSBNYXRoLm1pbihNYXRoLmZsb29yKE1hdGgubG9nMTAobnVtYmVyKSAvIDMpLCBVTklUUy5sZW5ndGggLSAxKTtcbiAgICBudW1iZXIgPSBOdW1iZXIoKG51bWJlciAvIE1hdGgucG93KDEwMDAsIGV4cG9uZW50KSkudG9QcmVjaXNpb24oMykpO1xuICAgIGNvbnN0IG51bWJlclN0cmluZyA9IHRvTG9jYWxlU3RyaW5nKG51bWJlciwgb3B0aW9ucy5sb2NhbGUpO1xuICAgIGNvbnN0IHVuaXQgPSBVTklUU1tleHBvbmVudF07XG4gICAgcmV0dXJuIHByZWZpeCArIG51bWJlclN0cmluZyArIFwiIFwiICsgdW5pdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJldHR5LWJ5dGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/pretty-bytes.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/future/helpers/interception-routes.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/server/future/helpers/interception-routes.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERCEPTION_ROUTE_MARKERS: function() {\n return INTERCEPTION_ROUTE_MARKERS;\n },\n isInterceptionRouteAppPath: function() {\n return isInterceptionRouteAppPath;\n },\n extractInterceptionRouteInformation: function() {\n return extractInterceptionRouteInformation;\n }\n});\nconst _apppaths = __webpack_require__(/*! ../../../shared/lib/router/utils/app-paths */ \"./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst INTERCEPTION_ROUTE_MARKERS = [\n \"(..)(..)\",\n \"(.)\",\n \"(..)\",\n \"(...)\"\n];\nfunction isInterceptionRouteAppPath(path) {\n // TODO-APP: add more serious validation\n return path.split(\"/\").find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined;\n}\nfunction extractInterceptionRouteInformation(path) {\n let interceptingRoute, marker, interceptedRoute;\n for (const segment of path.split(\"/\")){\n marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n [interceptingRoute, interceptedRoute] = path.split(marker, 2);\n break;\n }\n }\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);\n }\n interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n ;\n switch(marker){\n case \"(.)\":\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === \"/\") {\n interceptedRoute = `/${interceptedRoute}`;\n } else {\n interceptedRoute = interceptingRoute + \"/\" + interceptedRoute;\n }\n break;\n case \"(..)\":\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === \"/\") {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`);\n }\n interceptedRoute = interceptingRoute.split(\"/\").slice(0, -1).concat(interceptedRoute).join(\"/\");\n break;\n case \"(...)\":\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = \"/\" + interceptedRoute;\n break;\n case \"(..)(..)\":\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n const splitInterceptingRoute = interceptingRoute.split(\"/\");\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`);\n }\n interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join(\"/\");\n break;\n default:\n throw new Error(\"Invariant: unexpected marker\");\n }\n return {\n interceptingRoute,\n interceptedRoute\n };\n}\n\n//# sourceMappingURL=interception-routes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQUlMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsa0JBQWtCLG1CQUFPLENBQUMsaUhBQTRDO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsS0FBSztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QyxpQkFBaUI7QUFDeEQsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUErRCxLQUFLO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBK0QsS0FBSztBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL2hlbHBlcnMvaW50ZXJjZXB0aW9uLXJvdXRlcy5qcz8zNWNjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM6IG51bGwsXG4gICAgaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGg6IG51bGwsXG4gICAgZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb246IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM7XG4gICAgfSxcbiAgICBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDtcbiAgICB9LFxuICAgIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uO1xuICAgIH1cbn0pO1xuY29uc3QgX2FwcHBhdGhzID0gcmVxdWlyZShcIi4uLy4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRoc1wiKTtcbmNvbnN0IElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTID0gW1xuICAgIFwiKC4uKSguLilcIixcbiAgICBcIiguKVwiLFxuICAgIFwiKC4uKVwiLFxuICAgIFwiKC4uLilcIlxuXTtcbmZ1bmN0aW9uIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoKHBhdGgpIHtcbiAgICAvLyBUT0RPLUFQUDogYWRkIG1vcmUgc2VyaW91cyB2YWxpZGF0aW9uXG4gICAgcmV0dXJuIHBhdGguc3BsaXQoXCIvXCIpLmZpbmQoKHNlZ21lbnQpPT5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtKT0+c2VnbWVudC5zdGFydHNXaXRoKG0pKSkgIT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uKHBhdGgpIHtcbiAgICBsZXQgaW50ZXJjZXB0aW5nUm91dGUsIG1hcmtlciwgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICBmb3IgKGNvbnN0IHNlZ21lbnQgb2YgcGF0aC5zcGxpdChcIi9cIikpe1xuICAgICAgICBtYXJrZXIgPSBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtKT0+c2VnbWVudC5zdGFydHNXaXRoKG0pKTtcbiAgICAgICAgaWYgKG1hcmtlcikge1xuICAgICAgICAgICAgW2ludGVyY2VwdGluZ1JvdXRlLCBpbnRlcmNlcHRlZFJvdXRlXSA9IHBhdGguc3BsaXQobWFya2VyLCAyKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICghaW50ZXJjZXB0aW5nUm91dGUgfHwgIW1hcmtlciB8fCAhaW50ZXJjZXB0ZWRSb3V0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBNdXN0IGJlIGluIHRoZSBmb3JtYXQgLzxpbnRlcmNlcHRpbmcgcm91dGU+LyguLnwuLi58Li4pKC4uKS88aW50ZXJjZXB0ZWQgcm91dGU+YCk7XG4gICAgfVxuICAgIGludGVyY2VwdGluZ1JvdXRlID0gKDAsIF9hcHBwYXRocy5ub3JtYWxpemVBcHBQYXRoKShpbnRlcmNlcHRpbmdSb3V0ZSkgLy8gbm9ybWFsaXplIHRoZSBwYXRoLCBlLmcuIC8oYmxvZykvZmVlZCAtPiAvZmVlZFxuICAgIDtcbiAgICBzd2l0Y2gobWFya2VyKXtcbiAgICAgICAgY2FzZSBcIiguKVwiOlxuICAgICAgICAgICAgLy8gKC4pIGluZGljYXRlcyB0aGF0IHdlIHNob3VsZCBtYXRjaCB3aXRoIHNpYmxpbmcgcm91dGVzLCBzbyB3ZSBqdXN0IG5lZWQgdG8gYXBwZW5kIHRoZSBpbnRlcmNlcHRlZCByb3V0ZSB0byB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBpZiAoaW50ZXJjZXB0aW5nUm91dGUgPT09IFwiL1wiKSB7XG4gICAgICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IGAvJHtpbnRlcmNlcHRlZFJvdXRlfWA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBpbnRlcmNlcHRpbmdSb3V0ZSArIFwiL1wiICsgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiKC4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uKSBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgbWF0Y2ggYXQgb25lIGxldmVsIHVwLCBzbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgbGFzdCBzZWdtZW50IG9mIHRoZSBpbnRlcmNlcHRpbmcgcm91dGVcbiAgICAgICAgICAgIGlmIChpbnRlcmNlcHRpbmdSb3V0ZSA9PT0gXCIvXCIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBDYW5ub3QgdXNlICguLikgbWFya2VyIGF0IHRoZSByb290IGxldmVsLCB1c2UgKC4pIGluc3RlYWQuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUuc3BsaXQoXCIvXCIpLnNsaWNlKDAsIC0xKS5jb25jYXQoaW50ZXJjZXB0ZWRSb3V0ZSkuam9pbihcIi9cIik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIiguLi4pXCI6XG4gICAgICAgICAgICAvLyAoLi4uKSB3aWxsIG1hdGNoIHRoZSByb3V0ZSBzZWdtZW50IGluIHRoZSByb290IGRpcmVjdG9yeSwgc28gd2UgbmVlZCB0byB1c2UgdGhlIHJvb3QgZGlyZWN0b3J5IHRvIHByZXBlbmQgdGhlIGludGVyY2VwdGVkIHJvdXRlXG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gXCIvXCIgKyBpbnRlcmNlcHRlZFJvdXRlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCIoLi4pKC4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uKSguLikgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkIG1hdGNoIGF0IHR3byBsZXZlbHMgdXAsIHNvIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBsYXN0IHR3byBzZWdtZW50cyBvZiB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBjb25zdCBzcGxpdEludGVyY2VwdGluZ1JvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUuc3BsaXQoXCIvXCIpO1xuICAgICAgICAgICAgaWYgKHNwbGl0SW50ZXJjZXB0aW5nUm91dGUubGVuZ3RoIDw9IDIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBDYW5ub3QgdXNlICguLikoLi4pIG1hcmtlciBhdCB0aGUgcm9vdCBsZXZlbCBvciBvbmUgbGV2ZWwgdXAuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gc3BsaXRJbnRlcmNlcHRpbmdSb3V0ZS5zbGljZSgwLCAtMikuY29uY2F0KGludGVyY2VwdGVkUm91dGUpLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhcmlhbnQ6IHVuZXhwZWN0ZWQgbWFya2VyXCIpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBpbnRlcmNlcHRpbmdSb3V0ZSxcbiAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZVxuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWludGVyY2VwdGlvbi1yb3V0ZXMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/helpers/interception-routes.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/future/route-kind.js": /*!************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-kind.js ***! \************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouteKind\", ({\n enumerable: true,\n get: function() {\n return RouteKind;\n }\n}));\nvar RouteKind;\n(function(RouteKind) {\n RouteKind[/**\n * `PAGES` represents all the React pages that are under `pages/`.\n */ \"PAGES\"] = \"PAGES\";\n RouteKind[/**\n * `PAGES_API` represents all the API routes under `pages/api/`.\n */ \"PAGES_API\"] = \"PAGES_API\";\n RouteKind[/**\n * `APP_PAGE` represents all the React pages that are under `app/` with the\n * filename of `page.{j,t}s{,x}`.\n */ \"APP_PAGE\"] = \"APP_PAGE\";\n RouteKind[/**\n * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the\n * filename of `route.{j,t}s{,x}`.\n */ \"APP_ROUTE\"] = \"APP_ROUTE\";\n})(RouteKind || (RouteKind = {}));\n\n//# sourceMappingURL=route-kind.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDZDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLElBQUksRUFBRSxHQUFHO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixJQUFJLEVBQUUsR0FBRztBQUNsQztBQUNBLENBQUMsOEJBQThCOztBQUUvQiIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kLmpzPzM5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSb3V0ZUtpbmRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJvdXRlS2luZDtcbiAgICB9XG59KTtcbnZhciBSb3V0ZUtpbmQ7XG4oZnVuY3Rpb24oUm91dGVLaW5kKSB7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgUEFHRVNgIHJlcHJlc2VudHMgYWxsIHRoZSBSZWFjdCBwYWdlcyB0aGF0IGFyZSB1bmRlciBgcGFnZXMvYC5cbiAgICovIFwiUEFHRVNcIl0gPSBcIlBBR0VTXCI7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgUEFHRVNfQVBJYCByZXByZXNlbnRzIGFsbCB0aGUgQVBJIHJvdXRlcyB1bmRlciBgcGFnZXMvYXBpL2AuXG4gICAqLyBcIlBBR0VTX0FQSVwiXSA9IFwiUEFHRVNfQVBJXCI7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgQVBQX1BBR0VgIHJlcHJlc2VudHMgYWxsIHRoZSBSZWFjdCBwYWdlcyB0aGF0IGFyZSB1bmRlciBgYXBwL2Agd2l0aCB0aGVcbiAgICogZmlsZW5hbWUgb2YgYHBhZ2Uue2osdH1zeyx4fWAuXG4gICAqLyBcIkFQUF9QQUdFXCJdID0gXCJBUFBfUEFHRVwiO1xuICAgIFJvdXRlS2luZFsvKipcbiAgICogYEFQUF9ST1VURWAgcmVwcmVzZW50cyBhbGwgdGhlIEFQSSByb3V0ZXMgYW5kIG1ldGFkYXRhIHJvdXRlcyB0aGF0IGFyZSB1bmRlciBgYXBwL2Agd2l0aCB0aGVcbiAgICogZmlsZW5hbWUgb2YgYHJvdXRlLntqLHR9c3sseH1gLlxuICAgKi8gXCJBUFBfUk9VVEVcIl0gPSBcIkFQUF9ST1VURVwiO1xufSkoUm91dGVLaW5kIHx8IChSb3V0ZUtpbmQgPSB7fSkpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yb3V0ZS1raW5kLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-kind.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js": /*!*************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js ***! \*************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nif (false) {} else {\n if (true) {\n module.exports = __webpack_require__(/*! next/dist/compiled/next-server/pages.runtime.dev.js */ \"next/dist/compiled/next-server/pages.runtime.dev.js\");\n } else {}\n}\n\n//# sourceMappingURL=module.compiled.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy9tb2R1bGUuY29tcGlsZWQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYixJQUFJLEtBQW1DLEVBQUUsRUFFeEMsQ0FBQztBQUNGLFFBQVEsSUFBc0M7QUFDOUMsUUFBUSxzSkFBK0U7QUFDdkYsTUFBTSxLQUFLLEVBSU47QUFDTDs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL3BhZ2VzL21vZHVsZS5jb21waWxlZC5qcz9iYTRmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCIpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL3BhZ2VzL21vZHVsZS5qc1wiKTtcbn0gZWxzZSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL25leHQtc2VydmVyL3BhZ2VzLnJ1bnRpbWUuZGV2LmpzXCIpO1xuICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuVFVSQk9QQUNLKSB7XG4gICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9wYWdlcy10dXJiby5ydW50aW1lLnByb2QuanNcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL25leHQtc2VydmVyL3BhZ2VzLnJ1bnRpbWUucHJvZC5qc1wiKTtcbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1vZHVsZS5jb21waWxlZC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/amp-context.js": /*!***************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/amp-context.js ***! \***************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js\").vendored.contexts.AmpContext;\n\n//# sourceMappingURL=amp-context.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy92ZW5kb3JlZC9jb250ZXh0cy9hbXAtY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLCtLQUFpRjs7QUFFakYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy92ZW5kb3JlZC9jb250ZXh0cy9hbXAtY29udGV4dC5qcz9hMDU1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wiY29udGV4dHNcIl0uQW1wQ29udGV4dDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YW1wLWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/amp-context.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/head-manager-context.js": /*!************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/head-manager-context.js ***! \************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js\").vendored.contexts.HeadManagerContext;\n\n//# sourceMappingURL=head-manager-context.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy92ZW5kb3JlZC9jb250ZXh0cy9oZWFkLW1hbmFnZXItY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLHVMQUF5Rjs7QUFFekYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy92ZW5kb3JlZC9jb250ZXh0cy9oZWFkLW1hbmFnZXItY29udGV4dC5qcz9hZGM5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wiY29udGV4dHNcIl0uSGVhZE1hbmFnZXJDb250ZXh0O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWFkLW1hbmFnZXItY29udGV4dC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/head-manager-context.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/html-context.js": /*!****************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/html-context.js ***! \****************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js\").vendored.contexts.HtmlContext;\n\n//# sourceMappingURL=html-context.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy92ZW5kb3JlZC9jb250ZXh0cy9odG1sLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYixnTEFBa0Y7O0FBRWxGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvcGFnZXMvdmVuZG9yZWQvY29udGV4dHMvaHRtbC1jb250ZXh0LmpzPzRlODUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJjb250ZXh0c1wiXS5IdG1sQ29udGV4dDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aHRtbC1jb250ZXh0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/html-context.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/get-page-files.js": /*!*********************************************************!*\ !*** ./node_modules/next/dist/server/get-page-files.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getPageFiles\", ({\n enumerable: true,\n get: function() {\n return getPageFiles;\n }\n}));\nconst _denormalizepagepath = __webpack_require__(/*! ../shared/lib/page-path/denormalize-page-path */ \"./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js\");\nconst _normalizepagepath = __webpack_require__(/*! ../shared/lib/page-path/normalize-page-path */ \"./node_modules/next/dist/shared/lib/page-path/normalize-page-path.js\");\nfunction getPageFiles(buildManifest, page) {\n const normalizedPage = (0, _denormalizepagepath.denormalizePagePath)((0, _normalizepagepath.normalizePagePath)(page));\n let files = buildManifest.pages[normalizedPage];\n if (!files) {\n console.warn(`Could not find files for ${normalizedPage} in .next/build-manifest.json`);\n return [];\n }\n return files;\n}\n\n//# sourceMappingURL=get-page-files.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9nZXQtcGFnZS1maWxlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLGdEQUErQztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGLDZCQUE2QixtQkFBTyxDQUFDLDZIQUErQztBQUNwRiwyQkFBMkIsbUJBQU8sQ0FBQyx5SEFBNkM7QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQsZ0JBQWdCO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZ2V0LXBhZ2UtZmlsZXMuanM/Yzg2YiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldFBhZ2VGaWxlc1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0UGFnZUZpbGVzO1xuICAgIH1cbn0pO1xuY29uc3QgX2Rlbm9ybWFsaXplcGFnZXBhdGggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9wYWdlLXBhdGgvZGVub3JtYWxpemUtcGFnZS1wYXRoXCIpO1xuY29uc3QgX25vcm1hbGl6ZXBhZ2VwYXRoID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYWdlLXBhdGhcIik7XG5mdW5jdGlvbiBnZXRQYWdlRmlsZXMoYnVpbGRNYW5pZmVzdCwgcGFnZSkge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRQYWdlID0gKDAsIF9kZW5vcm1hbGl6ZXBhZ2VwYXRoLmRlbm9ybWFsaXplUGFnZVBhdGgpKCgwLCBfbm9ybWFsaXplcGFnZXBhdGgubm9ybWFsaXplUGFnZVBhdGgpKHBhZ2UpKTtcbiAgICBsZXQgZmlsZXMgPSBidWlsZE1hbmlmZXN0LnBhZ2VzW25vcm1hbGl6ZWRQYWdlXTtcbiAgICBpZiAoIWZpbGVzKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgQ291bGQgbm90IGZpbmQgZmlsZXMgZm9yICR7bm9ybWFsaXplZFBhZ2V9IGluIC5uZXh0L2J1aWxkLW1hbmlmZXN0Lmpzb25gKTtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gZmlsZXM7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldC1wYWdlLWZpbGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/get-page-files.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/htmlescape.js": /*!*****************************************************!*\ !*** ./node_modules/next/dist/server/htmlescape.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("// This utility is based on https://github.com/zertosh/htmlescape\n// License: https://github.com/zertosh/htmlescape/blob/0527ca7156a524d256101bb310a9f970f63078ad/LICENSE\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ESCAPE_REGEX: function() {\n return ESCAPE_REGEX;\n },\n htmlEscapeJsonString: function() {\n return htmlEscapeJsonString;\n }\n});\nconst ESCAPE_LOOKUP = {\n \"&\": \"\\\\u0026\",\n \">\": \"\\\\u003e\",\n \"<\": \"\\\\u003c\",\n \"\\u2028\": \"\\\\u2028\",\n \"\\u2029\": \"\\\\u2029\"\n};\nconst ESCAPE_REGEX = /[&><\\u2028\\u2029]/g;\nfunction htmlEscapeJsonString(str) {\n return str.replace(ESCAPE_REGEX, (match)=>ESCAPE_LOOKUP[match]);\n}\n\n//# sourceMappingURL=htmlescape.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9odG1sZXNjYXBlLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvaHRtbGVzY2FwZS5qcz9kMjE2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgdXRpbGl0eSBpcyBiYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vemVydG9zaC9odG1sZXNjYXBlXG4vLyBMaWNlbnNlOiBodHRwczovL2dpdGh1Yi5jb20vemVydG9zaC9odG1sZXNjYXBlL2Jsb2IvMDUyN2NhNzE1NmE1MjRkMjU2MTAxYmIzMTBhOWY5NzBmNjMwNzhhZC9MSUNFTlNFXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIEVTQ0FQRV9SRUdFWDogbnVsbCxcbiAgICBodG1sRXNjYXBlSnNvblN0cmluZzogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBFU0NBUEVfUkVHRVg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRVNDQVBFX1JFR0VYO1xuICAgIH0sXG4gICAgaHRtbEVzY2FwZUpzb25TdHJpbmc6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaHRtbEVzY2FwZUpzb25TdHJpbmc7XG4gICAgfVxufSk7XG5jb25zdCBFU0NBUEVfTE9PS1VQID0ge1xuICAgIFwiJlwiOiBcIlxcXFx1MDAyNlwiLFxuICAgIFwiPlwiOiBcIlxcXFx1MDAzZVwiLFxuICAgIFwiPFwiOiBcIlxcXFx1MDAzY1wiLFxuICAgIFwiXFx1MjAyOFwiOiBcIlxcXFx1MjAyOFwiLFxuICAgIFwiXFx1MjAyOVwiOiBcIlxcXFx1MjAyOVwiXG59O1xuY29uc3QgRVNDQVBFX1JFR0VYID0gL1smPjxcXHUyMDI4XFx1MjAyOV0vZztcbmZ1bmN0aW9uIGh0bWxFc2NhcGVKc29uU3RyaW5nKHN0cikge1xuICAgIHJldHVybiBzdHIucmVwbGFjZShFU0NBUEVfUkVHRVgsIChtYXRjaCk9PkVTQ0FQRV9MT09LVVBbbWF0Y2hdKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aHRtbGVzY2FwZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/htmlescape.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/utils.js": /*!************************************************!*\ !*** ./node_modules/next/dist/server/utils.js ***! \************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isBlockedPage: function() {\n return isBlockedPage;\n },\n cleanAmpPath: function() {\n return cleanAmpPath;\n },\n debounce: function() {\n return debounce;\n }\n});\nconst _constants = __webpack_require__(/*! ../shared/lib/constants */ \"./node_modules/next/dist/shared/lib/constants.js\");\nfunction isBlockedPage(page) {\n return _constants.BLOCKED_PAGES.includes(page);\n}\nfunction cleanAmpPath(pathname) {\n if (pathname.match(/\\?amp=(y|yes|true|1)/)) {\n pathname = pathname.replace(/\\?amp=(y|yes|true|1)&?/, \"?\");\n }\n if (pathname.match(/&=(y|yes|true|1)/)) {\n pathname = pathname.replace(/&=(y|yes|true|1)/, \"\");\n }\n pathname = pathname.replace(/\\?$/, \"\");\n return pathname;\n}\nfunction debounce(fn, ms, maxWait = Infinity) {\n let timeoutId;\n // The time the debouncing function was first called during this debounce queue.\n let startTime = 0;\n // The time the debouncing function was last called.\n let lastCall = 0;\n // The arguments and this context of the last call to the debouncing function.\n let args, context;\n // A helper used to that either invokes the debounced function, or\n // reschedules the timer if a more recent call was made.\n function run() {\n const now = Date.now();\n const diff = lastCall + ms - now;\n // If the diff is non-positive, then we've waited at least `ms`\n // milliseconds since the last call. Or if we've waited for longer than the\n // max wait time, we must call the debounced function.\n if (diff <= 0 || startTime + maxWait >= now) {\n // It's important to clear the timeout id before invoking the debounced\n // function, in case the function calls the debouncing function again.\n timeoutId = undefined;\n fn.apply(context, args);\n } else {\n // Else, a new call was made after the original timer was scheduled. We\n // didn't clear the timeout (doing so is very slow), so now we need to\n // reschedule the timer for the time difference.\n timeoutId = setTimeout(run, diff);\n }\n }\n return function(...passedArgs) {\n // The arguments and this context of the most recent call are saved so the\n // debounced function can be invoked with them later.\n args = passedArgs;\n context = this;\n // Instead of constantly clearing and scheduling a timer, we record the\n // time of the last call. If a second call comes in before the timer fires,\n // then we'll reschedule in the run function. Doing this is considerably\n // faster.\n lastCall = Date.now();\n // Only schedule a new timer if we're not currently waiting.\n if (timeoutId === undefined) {\n startTime = lastCall;\n timeoutId = setTimeout(run, ms);\n }\n };\n}\n\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci91dGlscy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FJTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELG1CQUFtQixtQkFBTyxDQUFDLGlGQUF5QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvdXRpbHMuanM/MWM1OCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGlzQmxvY2tlZFBhZ2U6IG51bGwsXG4gICAgY2xlYW5BbXBQYXRoOiBudWxsLFxuICAgIGRlYm91bmNlOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGlzQmxvY2tlZFBhZ2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNCbG9ja2VkUGFnZTtcbiAgICB9LFxuICAgIGNsZWFuQW1wUGF0aDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjbGVhbkFtcFBhdGg7XG4gICAgfSxcbiAgICBkZWJvdW5jZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkZWJvdW5jZTtcbiAgICB9XG59KTtcbmNvbnN0IF9jb25zdGFudHMgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9jb25zdGFudHNcIik7XG5mdW5jdGlvbiBpc0Jsb2NrZWRQYWdlKHBhZ2UpIHtcbiAgICByZXR1cm4gX2NvbnN0YW50cy5CTE9DS0VEX1BBR0VTLmluY2x1ZGVzKHBhZ2UpO1xufVxuZnVuY3Rpb24gY2xlYW5BbXBQYXRoKHBhdGhuYW1lKSB7XG4gICAgaWYgKHBhdGhuYW1lLm1hdGNoKC9cXD9hbXA9KHl8eWVzfHRydWV8MSkvKSkge1xuICAgICAgICBwYXRobmFtZSA9IHBhdGhuYW1lLnJlcGxhY2UoL1xcP2FtcD0oeXx5ZXN8dHJ1ZXwxKSY/LywgXCI/XCIpO1xuICAgIH1cbiAgICBpZiAocGF0aG5hbWUubWF0Y2goLyZhbXA9KHl8eWVzfHRydWV8MSkvKSkge1xuICAgICAgICBwYXRobmFtZSA9IHBhdGhuYW1lLnJlcGxhY2UoLyZhbXA9KHl8eWVzfHRydWV8MSkvLCBcIlwiKTtcbiAgICB9XG4gICAgcGF0aG5hbWUgPSBwYXRobmFtZS5yZXBsYWNlKC9cXD8kLywgXCJcIik7XG4gICAgcmV0dXJuIHBhdGhuYW1lO1xufVxuZnVuY3Rpb24gZGVib3VuY2UoZm4sIG1zLCBtYXhXYWl0ID0gSW5maW5pdHkpIHtcbiAgICBsZXQgdGltZW91dElkO1xuICAgIC8vIFRoZSB0aW1lIHRoZSBkZWJvdW5jaW5nIGZ1bmN0aW9uIHdhcyBmaXJzdCBjYWxsZWQgZHVyaW5nIHRoaXMgZGVib3VuY2UgcXVldWUuXG4gICAgbGV0IHN0YXJ0VGltZSA9IDA7XG4gICAgLy8gVGhlIHRpbWUgdGhlIGRlYm91bmNpbmcgZnVuY3Rpb24gd2FzIGxhc3QgY2FsbGVkLlxuICAgIGxldCBsYXN0Q2FsbCA9IDA7XG4gICAgLy8gVGhlIGFyZ3VtZW50cyBhbmQgdGhpcyBjb250ZXh0IG9mIHRoZSBsYXN0IGNhbGwgdG8gdGhlIGRlYm91bmNpbmcgZnVuY3Rpb24uXG4gICAgbGV0IGFyZ3MsIGNvbnRleHQ7XG4gICAgLy8gQSBoZWxwZXIgdXNlZCB0byB0aGF0IGVpdGhlciBpbnZva2VzIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb24sIG9yXG4gICAgLy8gcmVzY2hlZHVsZXMgdGhlIHRpbWVyIGlmIGEgbW9yZSByZWNlbnQgY2FsbCB3YXMgbWFkZS5cbiAgICBmdW5jdGlvbiBydW4oKSB7XG4gICAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IGRpZmYgPSBsYXN0Q2FsbCArIG1zIC0gbm93O1xuICAgICAgICAvLyBJZiB0aGUgZGlmZiBpcyBub24tcG9zaXRpdmUsIHRoZW4gd2UndmUgd2FpdGVkIGF0IGxlYXN0IGBtc2BcbiAgICAgICAgLy8gbWlsbGlzZWNvbmRzIHNpbmNlIHRoZSBsYXN0IGNhbGwuIE9yIGlmIHdlJ3ZlIHdhaXRlZCBmb3IgbG9uZ2VyIHRoYW4gdGhlXG4gICAgICAgIC8vIG1heCB3YWl0IHRpbWUsIHdlIG11c3QgY2FsbCB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoZGlmZiA8PSAwIHx8IHN0YXJ0VGltZSArIG1heFdhaXQgPj0gbm93KSB7XG4gICAgICAgICAgICAvLyBJdCdzIGltcG9ydGFudCB0byBjbGVhciB0aGUgdGltZW91dCBpZCBiZWZvcmUgaW52b2tpbmcgdGhlIGRlYm91bmNlZFxuICAgICAgICAgICAgLy8gZnVuY3Rpb24sIGluIGNhc2UgdGhlIGZ1bmN0aW9uIGNhbGxzIHRoZSBkZWJvdW5jaW5nIGZ1bmN0aW9uIGFnYWluLlxuICAgICAgICAgICAgdGltZW91dElkID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgZm4uYXBwbHkoY29udGV4dCwgYXJncyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBFbHNlLCBhIG5ldyBjYWxsIHdhcyBtYWRlIGFmdGVyIHRoZSBvcmlnaW5hbCB0aW1lciB3YXMgc2NoZWR1bGVkLiBXZVxuICAgICAgICAgICAgLy8gZGlkbid0IGNsZWFyIHRoZSB0aW1lb3V0IChkb2luZyBzbyBpcyB2ZXJ5IHNsb3cpLCBzbyBub3cgd2UgbmVlZCB0b1xuICAgICAgICAgICAgLy8gcmVzY2hlZHVsZSB0aGUgdGltZXIgZm9yIHRoZSB0aW1lIGRpZmZlcmVuY2UuXG4gICAgICAgICAgICB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KHJ1biwgZGlmZik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uKC4uLnBhc3NlZEFyZ3MpIHtcbiAgICAgICAgLy8gVGhlIGFyZ3VtZW50cyBhbmQgdGhpcyBjb250ZXh0IG9mIHRoZSBtb3N0IHJlY2VudCBjYWxsIGFyZSBzYXZlZCBzbyB0aGVcbiAgICAgICAgLy8gZGVib3VuY2VkIGZ1bmN0aW9uIGNhbiBiZSBpbnZva2VkIHdpdGggdGhlbSBsYXRlci5cbiAgICAgICAgYXJncyA9IHBhc3NlZEFyZ3M7XG4gICAgICAgIGNvbnRleHQgPSB0aGlzO1xuICAgICAgICAvLyBJbnN0ZWFkIG9mIGNvbnN0YW50bHkgY2xlYXJpbmcgYW5kIHNjaGVkdWxpbmcgYSB0aW1lciwgd2UgcmVjb3JkIHRoZVxuICAgICAgICAvLyB0aW1lIG9mIHRoZSBsYXN0IGNhbGwuIElmIGEgc2Vjb25kIGNhbGwgY29tZXMgaW4gYmVmb3JlIHRoZSB0aW1lciBmaXJlcyxcbiAgICAgICAgLy8gdGhlbiB3ZSdsbCByZXNjaGVkdWxlIGluIHRoZSBydW4gZnVuY3Rpb24uIERvaW5nIHRoaXMgaXMgY29uc2lkZXJhYmx5XG4gICAgICAgIC8vIGZhc3Rlci5cbiAgICAgICAgbGFzdENhbGwgPSBEYXRlLm5vdygpO1xuICAgICAgICAvLyBPbmx5IHNjaGVkdWxlIGEgbmV3IHRpbWVyIGlmIHdlJ3JlIG5vdCBjdXJyZW50bHkgd2FpdGluZy5cbiAgICAgICAgaWYgKHRpbWVvdXRJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzdGFydFRpbWUgPSBsYXN0Q2FsbDtcbiAgICAgICAgICAgIHRpbWVvdXRJZCA9IHNldFRpbWVvdXQocnVuLCBtcyk7XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/utils.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}": /*!************************************************************************************************************************************************************!*\ !*** ./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Inter","arguments":[{"subsets":["latin"]}],"variableName":"inter"} ***! \************************************************************************************************************************************************************/ /***/ ((module) => { eval("// Exports\nmodule.exports = {\n\t\"style\": {\"fontFamily\":\"'__Inter_f367f3', '__Inter_Fallback_f367f3'\",\"fontStyle\":\"normal\"},\n\t\"className\": \"__className_f367f3\"\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9mb250L2dvb2dsZS90YXJnZXQuY3NzP3tcInBhdGhcIjpcInNyYy9hcHAvbGF5b3V0LnRzeFwiLFwiaW1wb3J0XCI6XCJJbnRlclwiLFwiYXJndW1lbnRzXCI6W3tcInN1YnNldHNcIjpbXCJsYXRpblwiXX1dLFwidmFyaWFibGVOYW1lXCI6XCJpbnRlclwifSIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EsV0FBVyxnRkFBZ0Y7QUFDM0Y7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2ZvbnQvZ29vZ2xlL3RhcmdldC5jc3M/MWI2ZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBFeHBvcnRzXG5tb2R1bGUuZXhwb3J0cyA9IHtcblx0XCJzdHlsZVwiOiB7XCJmb250RmFtaWx5XCI6XCInX19JbnRlcl9mMzY3ZjMnLCAnX19JbnRlcl9GYWxsYmFja19mMzY3ZjMnXCIsXCJmb250U3R5bGVcIjpcIm5vcm1hbFwifSxcblx0XCJjbGFzc05hbWVcIjogXCJfX2NsYXNzTmFtZV9mMzY3ZjNcIlxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/api/link.js": /*!********************************************!*\ !*** ./node_modules/next/dist/api/link.js ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a)\n/* harmony export */ });\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/link */ \"(ssr)/./node_modules/next/dist/client/link.js\");\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _client_link__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _client_link__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n //# sourceMappingURL=link.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9saW5rLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF5QztBQUNWLENBRS9CLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2xpbmsuanM/MTMwZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4uL2NsaWVudC9saW5rXCI7XG5leHBvcnQgKiBmcm9tIFwiLi4vY2xpZW50L2xpbmtcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGluay5qcy5tYXAiXSwibmFtZXMiOlsiZGVmYXVsdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/api/link.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/action-client-wrapper.js": /*!**************************************************************************************************!*\ !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-loader/action-client-wrapper.js ***! \**************************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("// This file must be bundled in the app's client layer, it shouldn't be directly\n// imported by the server.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createServerReference\", ({\n enumerable: true,\n get: function() {\n return createServerReference;\n }\n}));\nconst _appcallserver = __webpack_require__(/*! next/dist/client/app-call-server */ \"(ssr)/./node_modules/next/dist/client/app-call-server.js\");\nfunction createServerReference(id) {\n // Since we're using the Edge build of Flight client for SSR [1], here we need to\n // also use the same Edge build to create the reference. For the client bundle,\n // we use the default and let Webpack to resolve it to the correct version.\n // 1: https://github.com/vercel/next.js/blob/16eb80b0b0be13f04a6407943664b5efd8f3d7d0/packages/next/src/server/app-render/use-flight-response.tsx#L24-L26\n const { createServerReference: createServerReferenceImpl } = true ? __webpack_require__(/*! react-server-dom-webpack/client.edge */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js\") : 0;\n return createServerReferenceImpl(id, _appcallserver.callServer);\n} //# sourceMappingURL=action-client-wrapper.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1sb2FkZXIvYWN0aW9uLWNsaWVudC13cmFwcGVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLGdGQUFnRjtBQUNoRiwwQkFBMEI7QUFDYjtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgseURBQXdEO0lBQ3BESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUJBQWlCQyxtQkFBT0EsQ0FBQyxrR0FBa0M7QUFDakUsU0FBU0Ysc0JBQXNCRyxFQUFFO0lBQzdCLGlGQUFpRjtJQUNqRiwrRUFBK0U7SUFDL0UsMkVBQTJFO0lBQzNFLHlKQUF5SjtJQUN6SixNQUFNLEVBQUVILHVCQUF1QkkseUJBQXlCLEVBQUUsR0FBRyxLQUEwQixHQUFHRixtQkFBT0EsQ0FBQyxzS0FBc0MsSUFBSUEsQ0FBMEM7SUFDdEwsT0FBT0UsMEJBQTBCRCxJQUFJRixlQUFlTyxVQUFVO0FBQ2xFLEVBRUEsaURBQWlEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvbmV4dC1mbGlnaHQtbG9hZGVyL2FjdGlvbi1jbGllbnQtd3JhcHBlci5qcz9hZGEwIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgZmlsZSBtdXN0IGJlIGJ1bmRsZWQgaW4gdGhlIGFwcCdzIGNsaWVudCBsYXllciwgaXQgc2hvdWxkbid0IGJlIGRpcmVjdGx5XG4vLyBpbXBvcnRlZCBieSB0aGUgc2VydmVyLlxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjcmVhdGVTZXJ2ZXJSZWZlcmVuY2VcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVNlcnZlclJlZmVyZW5jZTtcbiAgICB9XG59KTtcbmNvbnN0IF9hcHBjYWxsc2VydmVyID0gcmVxdWlyZShcIm5leHQvZGlzdC9jbGllbnQvYXBwLWNhbGwtc2VydmVyXCIpO1xuZnVuY3Rpb24gY3JlYXRlU2VydmVyUmVmZXJlbmNlKGlkKSB7XG4gICAgLy8gU2luY2Ugd2UncmUgdXNpbmcgdGhlIEVkZ2UgYnVpbGQgb2YgRmxpZ2h0IGNsaWVudCBmb3IgU1NSIFsxXSwgaGVyZSB3ZSBuZWVkIHRvXG4gICAgLy8gYWxzbyB1c2UgdGhlIHNhbWUgRWRnZSBidWlsZCB0byBjcmVhdGUgdGhlIHJlZmVyZW5jZS4gRm9yIHRoZSBjbGllbnQgYnVuZGxlLFxuICAgIC8vIHdlIHVzZSB0aGUgZGVmYXVsdCBhbmQgbGV0IFdlYnBhY2sgdG8gcmVzb2x2ZSBpdCB0byB0aGUgY29ycmVjdCB2ZXJzaW9uLlxuICAgIC8vIDE6IGh0dHBzOi8vZ2l0aHViLmNvbS92ZXJjZWwvbmV4dC5qcy9ibG9iLzE2ZWI4MGIwYjBiZTEzZjA0YTY0MDc5NDM2NjRiNWVmZDhmM2Q3ZDAvcGFja2FnZXMvbmV4dC9zcmMvc2VydmVyL2FwcC1yZW5kZXIvdXNlLWZsaWdodC1yZXNwb25zZS50c3gjTDI0LUwyNlxuICAgIGNvbnN0IHsgY3JlYXRlU2VydmVyUmVmZXJlbmNlOiBjcmVhdGVTZXJ2ZXJSZWZlcmVuY2VJbXBsIH0gPSAhIXByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA/IHJlcXVpcmUoXCJyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svY2xpZW50LmVkZ2VcIikgOiByZXF1aXJlKFwicmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudFwiKTtcbiAgICByZXR1cm4gY3JlYXRlU2VydmVyUmVmZXJlbmNlSW1wbChpZCwgX2FwcGNhbGxzZXJ2ZXIuY2FsbFNlcnZlcik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFjdGlvbi1jbGllbnQtd3JhcHBlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiY3JlYXRlU2VydmVyUmVmZXJlbmNlIiwiX2FwcGNhbGxzZXJ2ZXIiLCJyZXF1aXJlIiwiaWQiLCJjcmVhdGVTZXJ2ZXJSZWZlcmVuY2VJbXBsIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsImNhbGxTZXJ2ZXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/action-client-wrapper.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/add-base-path.js": /*!********************************************************!*\ !*** ./node_modules/next/dist/client/add-base-path.js ***! \********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addBasePath\", ({\n enumerable: true,\n get: function() {\n return addBasePath;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ../shared/lib/router/utils/add-path-prefix */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction addBasePath(path, required) {\n return (0, _normalizetrailingslash.normalizePathTrailingSlash)( false ? 0 : (0, _addpathprefix.addPathPrefix)(path, basePath));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-base-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwrQ0FBOEM7SUFDMUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQkFBaUJDLG1CQUFPQSxDQUFDLDZIQUE0QztBQUMzRSxNQUFNQywwQkFBMEJELG1CQUFPQSxDQUFDLHFHQUE0QjtBQUNwRSxNQUFNRSxXQUFXQyxNQUFrQyxJQUFJO0FBQ3ZELFNBQVNMLFlBQVlRLElBQUksRUFBRUMsUUFBUTtJQUMvQixPQUFPLENBQUMsR0FBR04sd0JBQXdCTywwQkFBMEIsRUFBRUwsTUFBdURJLEdBQUdELENBQUlBLEdBQUcsQ0FBQyxHQUFHUCxlQUFlVyxhQUFhLEVBQUVKLE1BQU1KO0FBQzVLO0FBRUEsSUFBSSxDQUFDLE9BQU9SLFFBQVFpQixPQUFPLEtBQUssY0FBZSxPQUFPakIsUUFBUWlCLE9BQU8sS0FBSyxZQUFZakIsUUFBUWlCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2pCLFFBQVFpQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLcEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRaUIsT0FBTyxFQUFFLGNBQWM7UUFBRWhCLE9BQU87SUFBSztJQUNuRUgsT0FBT3FCLE1BQU0sQ0FBQ25CLFFBQVFpQixPQUFPLEVBQUVqQjtJQUMvQm9CLE9BQU9wQixPQUFPLEdBQUdBLFFBQVFpQixPQUFPO0FBQ2xDLEVBRUEseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvYWRkLWJhc2UtcGF0aC5qcz82MTMxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYWRkQmFzZVBhdGhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFkZEJhc2VQYXRoO1xuICAgIH1cbn0pO1xuY29uc3QgX2FkZHBhdGhwcmVmaXggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYWRkLXBhdGgtcHJlZml4XCIpO1xuY29uc3QgX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2ggPSByZXF1aXJlKFwiLi9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2hcIik7XG5jb25zdCBiYXNlUGF0aCA9IHByb2Nlc3MuZW52Ll9fTkVYVF9ST1VURVJfQkFTRVBBVEggfHwgXCJcIjtcbmZ1bmN0aW9uIGFkZEJhc2VQYXRoKHBhdGgsIHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuICgwLCBfbm9ybWFsaXpldHJhaWxpbmdzbGFzaC5ub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCkocHJvY2Vzcy5lbnYuX19ORVhUX01BTlVBTF9DTElFTlRfQkFTRV9QQVRIICYmICFyZXF1aXJlZCA/IHBhdGggOiAoMCwgX2FkZHBhdGhwcmVmaXguYWRkUGF0aFByZWZpeCkocGF0aCwgYmFzZVBhdGgpKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWRkLWJhc2UtcGF0aC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiYWRkQmFzZVBhdGgiLCJfYWRkcGF0aHByZWZpeCIsInJlcXVpcmUiLCJfbm9ybWFsaXpldHJhaWxpbmdzbGFzaCIsImJhc2VQYXRoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJwYXRoIiwicmVxdWlyZWQiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsIl9fTkVYVF9NQU5VQUxfQ0xJRU5UX0JBU0VfUEFUSCIsImFkZFBhdGhQcmVmaXgiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/add-base-path.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/add-locale.js": /*!*****************************************************!*\ !*** ./node_modules/next/dist/client/add-locale.js ***! \*****************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst addLocale = function(path) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n if (false) {}\n return path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-locale.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtbG9jYWxlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCw2Q0FBNEM7SUFDeENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywwQkFBMEJDLG1CQUFPQSxDQUFDLHFHQUE0QjtBQUNwRSxNQUFNRixZQUFZLFNBQVNHLElBQUk7SUFDM0IsSUFBSSxJQUFJQyxPQUFPQyxVQUFVQyxNQUFNLEVBQUVDLE9BQU8sSUFBSUMsTUFBTUosT0FBTyxJQUFJQSxPQUFPLElBQUksSUFBSUssT0FBTyxHQUFHQSxPQUFPTCxNQUFNSyxPQUFPO1FBQ3RHRixJQUFJLENBQUNFLE9BQU8sRUFBRSxHQUFHSixTQUFTLENBQUNJLEtBQUs7SUFDcEM7SUFDQSxJQUFJQyxLQUErQixFQUFFLEVBRXBDO0lBQ0QsT0FBT1A7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPUCxRQUFRa0IsT0FBTyxLQUFLLGNBQWUsT0FBT2xCLFFBQVFrQixPQUFPLEtBQUssWUFBWWxCLFFBQVFrQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9sQixRQUFRa0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3JCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWtCLE9BQU8sRUFBRSxjQUFjO1FBQUVqQixPQUFPO0lBQUs7SUFDbkVILE9BQU9zQixNQUFNLENBQUNwQixRQUFRa0IsT0FBTyxFQUFFbEI7SUFDL0JxQixPQUFPckIsT0FBTyxHQUFHQSxRQUFRa0IsT0FBTztBQUNsQyxFQUVBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FkZC1sb2NhbGUuanM/ZTJkOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFkZExvY2FsZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYWRkTG9jYWxlO1xuICAgIH1cbn0pO1xuY29uc3QgX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2ggPSByZXF1aXJlKFwiLi9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2hcIik7XG5jb25zdCBhZGRMb2NhbGUgPSBmdW5jdGlvbihwYXRoKSB7XG4gICAgZm9yKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKXtcbiAgICAgICAgYXJnc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfSTE4Tl9TVVBQT1JUKSB7XG4gICAgICAgIHJldHVybiAoMCwgX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2gubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2gpKHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtbG9jYWxlXCIpLmFkZExvY2FsZShwYXRoLCAuLi5hcmdzKSk7XG4gICAgfVxuICAgIHJldHVybiBwYXRoO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWRkLWxvY2FsZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiYWRkTG9jYWxlIiwiX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2giLCJyZXF1aXJlIiwicGF0aCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/add-locale.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/app-call-server.js": /*!**********************************************************!*\ !*** ./node_modules/next/dist/client/app-call-server.js ***! \**********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"callServer\", ({\n enumerable: true,\n get: function() {\n return callServer;\n }\n}));\nconst _approuter = __webpack_require__(/*! ./components/app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nasync function callServer(actionId, actionArgs) {\n const actionDispatcher = (0, _approuter.getServerActionDispatcher)();\n if (!actionDispatcher) {\n throw new Error(\"Invariant: missing action dispatcher.\");\n }\n return new Promise((resolve, reject)=>{\n actionDispatcher({\n actionId,\n actionArgs,\n resolve,\n reject\n });\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-call-server.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hcHAtY2FsbC1zZXJ2ZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDhDQUE2QztJQUN6Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGFBQWFDLG1CQUFPQSxDQUFDLCtGQUF5QjtBQUNwRCxlQUFlRixXQUFXRyxRQUFRLEVBQUVDLFVBQVU7SUFDMUMsTUFBTUMsbUJBQW1CLENBQUMsR0FBR0osV0FBV0sseUJBQXlCO0lBQ2pFLElBQUksQ0FBQ0Qsa0JBQWtCO1FBQ25CLE1BQU0sSUFBSUUsTUFBTTtJQUNwQjtJQUNBLE9BQU8sSUFBSUMsUUFBUSxDQUFDQyxTQUFTQztRQUN6QkwsaUJBQWlCO1lBQ2JGO1lBQ0FDO1lBQ0FLO1lBQ0FDO1FBQ0o7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9kLFFBQVFlLE9BQU8sS0FBSyxjQUFlLE9BQU9mLFFBQVFlLE9BQU8sS0FBSyxZQUFZZixRQUFRZSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9mLFFBQVFlLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktsQixPQUFPQyxjQUFjLENBQUNDLFFBQVFlLE9BQU8sRUFBRSxjQUFjO1FBQUVkLE9BQU87SUFBSztJQUNuRUgsT0FBT21CLE1BQU0sQ0FBQ2pCLFFBQVFlLE9BQU8sRUFBRWY7SUFDL0JrQixPQUFPbEIsT0FBTyxHQUFHQSxRQUFRZSxPQUFPO0FBQ2xDLEVBRUEsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvYXBwLWNhbGwtc2VydmVyLmpzP2YzZjIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjYWxsU2VydmVyXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjYWxsU2VydmVyO1xuICAgIH1cbn0pO1xuY29uc3QgX2FwcHJvdXRlciA9IHJlcXVpcmUoXCIuL2NvbXBvbmVudHMvYXBwLXJvdXRlclwiKTtcbmFzeW5jIGZ1bmN0aW9uIGNhbGxTZXJ2ZXIoYWN0aW9uSWQsIGFjdGlvbkFyZ3MpIHtcbiAgICBjb25zdCBhY3Rpb25EaXNwYXRjaGVyID0gKDAsIF9hcHByb3V0ZXIuZ2V0U2VydmVyQWN0aW9uRGlzcGF0Y2hlcikoKTtcbiAgICBpZiAoIWFjdGlvbkRpc3BhdGNoZXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YXJpYW50OiBtaXNzaW5nIGFjdGlvbiBkaXNwYXRjaGVyLlwiKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpPT57XG4gICAgICAgIGFjdGlvbkRpc3BhdGNoZXIoe1xuICAgICAgICAgICAgYWN0aW9uSWQsXG4gICAgICAgICAgICBhY3Rpb25BcmdzLFxuICAgICAgICAgICAgcmVzb2x2ZSxcbiAgICAgICAgICAgIHJlamVjdFxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLWNhbGwtc2VydmVyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJjYWxsU2VydmVyIiwiX2FwcHJvdXRlciIsInJlcXVpcmUiLCJhY3Rpb25JZCIsImFjdGlvbkFyZ3MiLCJhY3Rpb25EaXNwYXRjaGVyIiwiZ2V0U2VydmVyQWN0aW9uRGlzcGF0Y2hlciIsIkVycm9yIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/app-call-server.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/app-router-announcer.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AppRouterAnnouncer\", ({\n enumerable: true,\n get: function() {\n return AppRouterAnnouncer;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _reactdom = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\");\nconst ANNOUNCER_TYPE = \"next-route-announcer\";\nconst ANNOUNCER_ID = \"__next-route-announcer__\";\nfunction getAnnouncerNode() {\n var _existingAnnouncer_shadowRoot;\n const existingAnnouncer = document.getElementsByName(ANNOUNCER_TYPE)[0];\n if (existingAnnouncer == null ? void 0 : (_existingAnnouncer_shadowRoot = existingAnnouncer.shadowRoot) == null ? void 0 : _existingAnnouncer_shadowRoot.childNodes[0]) {\n return existingAnnouncer.shadowRoot.childNodes[0];\n } else {\n const container = document.createElement(ANNOUNCER_TYPE);\n container.style.cssText = \"position:absolute\";\n const announcer = document.createElement(\"div\");\n announcer.ariaLive = \"assertive\";\n announcer.id = ANNOUNCER_ID;\n announcer.role = \"alert\";\n announcer.style.cssText = \"position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal\";\n // Use shadow DOM here to avoid any potential CSS bleed\n const shadow = container.attachShadow({\n mode: \"open\"\n });\n shadow.appendChild(announcer);\n document.body.appendChild(container);\n return announcer;\n }\n}\nfunction AppRouterAnnouncer(param) {\n let { tree } = param;\n const [portalNode, setPortalNode] = (0, _react.useState)(null);\n (0, _react.useEffect)(()=>{\n const announcer = getAnnouncerNode();\n setPortalNode(announcer);\n return ()=>{\n const container = document.getElementsByTagName(ANNOUNCER_TYPE)[0];\n if (container == null ? void 0 : container.isConnected) {\n document.body.removeChild(container);\n }\n };\n }, []);\n const [routeAnnouncement, setRouteAnnouncement] = (0, _react.useState)(\"\");\n const previousTitle = (0, _react.useRef)();\n (0, _react.useEffect)(()=>{\n let currentTitle = \"\";\n if (document.title) {\n currentTitle = document.title;\n } else {\n const pageHeader = document.querySelector(\"h1\");\n if (pageHeader) {\n currentTitle = pageHeader.innerText || pageHeader.textContent || \"\";\n }\n }\n // Only announce the title change, but not for the first load because screen\n // readers do that automatically.\n if (previousTitle.current !== undefined && previousTitle.current !== currentTitle) {\n setRouteAnnouncement(currentTitle);\n }\n previousTitle.current = currentTitle;\n }, [\n tree\n ]);\n return portalNode ? /*#__PURE__*/ (0, _reactdom.createPortal)(routeAnnouncement, portalNode) : null;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-announcer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItYW5ub3VuY2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxTQUFTQyxtQkFBT0EsQ0FBQyx3R0FBTztBQUM5QixNQUFNQyxZQUFZRCxtQkFBT0EsQ0FBQyxnSEFBVztBQUNyQyxNQUFNRSxpQkFBaUI7QUFDdkIsTUFBTUMsZUFBZTtBQUNyQixTQUFTQztJQUNMLElBQUlDO0lBQ0osTUFBTUMsb0JBQW9CQyxTQUFTQyxpQkFBaUIsQ0FBQ04sZUFBZSxDQUFDLEVBQUU7SUFDdkUsSUFBSUkscUJBQXFCLE9BQU8sS0FBSyxJQUFJLENBQUNELGdDQUFnQ0Msa0JBQWtCRyxVQUFVLEtBQUssT0FBTyxLQUFLLElBQUlKLDhCQUE4QkssVUFBVSxDQUFDLEVBQUUsRUFBRTtRQUNwSyxPQUFPSixrQkFBa0JHLFVBQVUsQ0FBQ0MsVUFBVSxDQUFDLEVBQUU7SUFDckQsT0FBTztRQUNILE1BQU1DLFlBQVlKLFNBQVNLLGFBQWEsQ0FBQ1Y7UUFDekNTLFVBQVVFLEtBQUssQ0FBQ0MsT0FBTyxHQUFHO1FBQzFCLE1BQU1DLFlBQVlSLFNBQVNLLGFBQWEsQ0FBQztRQUN6Q0csVUFBVUMsUUFBUSxHQUFHO1FBQ3JCRCxVQUFVRSxFQUFFLEdBQUdkO1FBQ2ZZLFVBQVVHLElBQUksR0FBRztRQUNqQkgsVUFBVUYsS0FBSyxDQUFDQyxPQUFPLEdBQUc7UUFDMUIsdURBQXVEO1FBQ3ZELE1BQU1LLFNBQVNSLFVBQVVTLFlBQVksQ0FBQztZQUNsQ0MsTUFBTTtRQUNWO1FBQ0FGLE9BQU9HLFdBQVcsQ0FBQ1A7UUFDbkJSLFNBQVNnQixJQUFJLENBQUNELFdBQVcsQ0FBQ1g7UUFDMUIsT0FBT0k7SUFDWDtBQUNKO0FBQ0EsU0FBU2pCLG1CQUFtQjBCLEtBQUs7SUFDN0IsSUFBSSxFQUFFQyxJQUFJLEVBQUUsR0FBR0Q7SUFDZixNQUFNLENBQUNFLFlBQVlDLGNBQWMsR0FBRyxDQUFDLEdBQUc1QixPQUFPNkIsUUFBUSxFQUFFO0lBQ3hELElBQUc3QixPQUFPOEIsU0FBUyxFQUFFO1FBQ2xCLE1BQU1kLFlBQVlYO1FBQ2xCdUIsY0FBY1o7UUFDZCxPQUFPO1lBQ0gsTUFBTUosWUFBWUosU0FBU3VCLG9CQUFvQixDQUFDNUIsZUFBZSxDQUFDLEVBQUU7WUFDbEUsSUFBSVMsYUFBYSxPQUFPLEtBQUssSUFBSUEsVUFBVW9CLFdBQVcsRUFBRTtnQkFDcER4QixTQUFTZ0IsSUFBSSxDQUFDUyxXQUFXLENBQUNyQjtZQUM5QjtRQUNKO0lBQ0osR0FBRyxFQUFFO0lBQ0wsTUFBTSxDQUFDc0IsbUJBQW1CQyxxQkFBcUIsR0FBRyxDQUFDLEdBQUduQyxPQUFPNkIsUUFBUSxFQUFFO0lBQ3ZFLE1BQU1PLGdCQUFnQixDQUFDLEdBQUdwQyxPQUFPcUMsTUFBTTtJQUN0QyxJQUFHckMsT0FBTzhCLFNBQVMsRUFBRTtRQUNsQixJQUFJUSxlQUFlO1FBQ25CLElBQUk5QixTQUFTK0IsS0FBSyxFQUFFO1lBQ2hCRCxlQUFlOUIsU0FBUytCLEtBQUs7UUFDakMsT0FBTztZQUNILE1BQU1DLGFBQWFoQyxTQUFTaUMsYUFBYSxDQUFDO1lBQzFDLElBQUlELFlBQVk7Z0JBQ1pGLGVBQWVFLFdBQVdFLFNBQVMsSUFBSUYsV0FBV0csV0FBVyxJQUFJO1lBQ3JFO1FBQ0o7UUFDQSw0RUFBNEU7UUFDNUUsaUNBQWlDO1FBQ2pDLElBQUlQLGNBQWNRLE9BQU8sS0FBS0MsYUFBYVQsY0FBY1EsT0FBTyxLQUFLTixjQUFjO1lBQy9FSCxxQkFBcUJHO1FBQ3pCO1FBQ0FGLGNBQWNRLE9BQU8sR0FBR047SUFDNUIsR0FBRztRQUNDWjtLQUNIO0lBQ0QsT0FBT0MsYUFBMkIsV0FBSCxHQUFJLElBQUd6QixVQUFVNEMsWUFBWSxFQUFFWixtQkFBbUJQLGNBQWM7QUFDbkc7QUFFQSxJQUFJLENBQUMsT0FBT2hDLFFBQVFvRCxPQUFPLEtBQUssY0FBZSxPQUFPcEQsUUFBUW9ELE9BQU8sS0FBSyxZQUFZcEQsUUFBUW9ELE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3BELFFBQVFvRCxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLdkQsT0FBT0MsY0FBYyxDQUFDQyxRQUFRb0QsT0FBTyxFQUFFLGNBQWM7UUFBRW5ELE9BQU87SUFBSztJQUNuRUgsT0FBT3dELE1BQU0sQ0FBQ3RELFFBQVFvRCxPQUFPLEVBQUVwRDtJQUMvQnVELE9BQU92RCxPQUFPLEdBQUdBLFFBQVFvRCxPQUFPO0FBQ2xDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLWFubm91bmNlci5qcz82ZTAyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQXBwUm91dGVyQW5ub3VuY2VyXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBcHBSb3V0ZXJBbm5vdW5jZXI7XG4gICAgfVxufSk7XG5jb25zdCBfcmVhY3QgPSByZXF1aXJlKFwicmVhY3RcIik7XG5jb25zdCBfcmVhY3Rkb20gPSByZXF1aXJlKFwicmVhY3QtZG9tXCIpO1xuY29uc3QgQU5OT1VOQ0VSX1RZUEUgPSBcIm5leHQtcm91dGUtYW5ub3VuY2VyXCI7XG5jb25zdCBBTk5PVU5DRVJfSUQgPSBcIl9fbmV4dC1yb3V0ZS1hbm5vdW5jZXJfX1wiO1xuZnVuY3Rpb24gZ2V0QW5ub3VuY2VyTm9kZSgpIHtcbiAgICB2YXIgX2V4aXN0aW5nQW5ub3VuY2VyX3NoYWRvd1Jvb3Q7XG4gICAgY29uc3QgZXhpc3RpbmdBbm5vdW5jZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZShBTk5PVU5DRVJfVFlQRSlbMF07XG4gICAgaWYgKGV4aXN0aW5nQW5ub3VuY2VyID09IG51bGwgPyB2b2lkIDAgOiAoX2V4aXN0aW5nQW5ub3VuY2VyX3NoYWRvd1Jvb3QgPSBleGlzdGluZ0Fubm91bmNlci5zaGFkb3dSb290KSA9PSBudWxsID8gdm9pZCAwIDogX2V4aXN0aW5nQW5ub3VuY2VyX3NoYWRvd1Jvb3QuY2hpbGROb2Rlc1swXSkge1xuICAgICAgICByZXR1cm4gZXhpc3RpbmdBbm5vdW5jZXIuc2hhZG93Um9vdC5jaGlsZE5vZGVzWzBdO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoQU5OT1VOQ0VSX1RZUEUpO1xuICAgICAgICBjb250YWluZXIuc3R5bGUuY3NzVGV4dCA9IFwicG9zaXRpb246YWJzb2x1dGVcIjtcbiAgICAgICAgY29uc3QgYW5ub3VuY2VyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICAgICAgYW5ub3VuY2VyLmFyaWFMaXZlID0gXCJhc3NlcnRpdmVcIjtcbiAgICAgICAgYW5ub3VuY2VyLmlkID0gQU5OT1VOQ0VSX0lEO1xuICAgICAgICBhbm5vdW5jZXIucm9sZSA9IFwiYWxlcnRcIjtcbiAgICAgICAgYW5ub3VuY2VyLnN0eWxlLmNzc1RleHQgPSBcInBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO3dpZHRoOjFweDtjbGlwOnJlY3QoMCAwIDAgMCk7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsXCI7XG4gICAgICAgIC8vIFVzZSBzaGFkb3cgRE9NIGhlcmUgdG8gYXZvaWQgYW55IHBvdGVudGlhbCBDU1MgYmxlZWRcbiAgICAgICAgY29uc3Qgc2hhZG93ID0gY29udGFpbmVyLmF0dGFjaFNoYWRvdyh7XG4gICAgICAgICAgICBtb2RlOiBcIm9wZW5cIlxuICAgICAgICB9KTtcbiAgICAgICAgc2hhZG93LmFwcGVuZENoaWxkKGFubm91bmNlcik7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcbiAgICAgICAgcmV0dXJuIGFubm91bmNlcjtcbiAgICB9XG59XG5mdW5jdGlvbiBBcHBSb3V0ZXJBbm5vdW5jZXIocGFyYW0pIHtcbiAgICBsZXQgeyB0cmVlIH0gPSBwYXJhbTtcbiAgICBjb25zdCBbcG9ydGFsTm9kZSwgc2V0UG9ydGFsTm9kZV0gPSAoMCwgX3JlYWN0LnVzZVN0YXRlKShudWxsKTtcbiAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgY29uc3QgYW5ub3VuY2VyID0gZ2V0QW5ub3VuY2VyTm9kZSgpO1xuICAgICAgICBzZXRQb3J0YWxOb2RlKGFubm91bmNlcik7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoQU5OT1VOQ0VSX1RZUEUpWzBdO1xuICAgICAgICAgICAgaWYgKGNvbnRhaW5lciA9PSBudWxsID8gdm9pZCAwIDogY29udGFpbmVyLmlzQ29ubmVjdGVkKSB7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChjb250YWluZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0sIFtdKTtcbiAgICBjb25zdCBbcm91dGVBbm5vdW5jZW1lbnQsIHNldFJvdXRlQW5ub3VuY2VtZW50XSA9ICgwLCBfcmVhY3QudXNlU3RhdGUpKFwiXCIpO1xuICAgIGNvbnN0IHByZXZpb3VzVGl0bGUgPSAoMCwgX3JlYWN0LnVzZVJlZikoKTtcbiAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgbGV0IGN1cnJlbnRUaXRsZSA9IFwiXCI7XG4gICAgICAgIGlmIChkb2N1bWVudC50aXRsZSkge1xuICAgICAgICAgICAgY3VycmVudFRpdGxlID0gZG9jdW1lbnQudGl0bGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBwYWdlSGVhZGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcImgxXCIpO1xuICAgICAgICAgICAgaWYgKHBhZ2VIZWFkZXIpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50VGl0bGUgPSBwYWdlSGVhZGVyLmlubmVyVGV4dCB8fCBwYWdlSGVhZGVyLnRleHRDb250ZW50IHx8IFwiXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gT25seSBhbm5vdW5jZSB0aGUgdGl0bGUgY2hhbmdlLCBidXQgbm90IGZvciB0aGUgZmlyc3QgbG9hZCBiZWNhdXNlIHNjcmVlblxuICAgICAgICAvLyByZWFkZXJzIGRvIHRoYXQgYXV0b21hdGljYWxseS5cbiAgICAgICAgaWYgKHByZXZpb3VzVGl0bGUuY3VycmVudCAhPT0gdW5kZWZpbmVkICYmIHByZXZpb3VzVGl0bGUuY3VycmVudCAhPT0gY3VycmVudFRpdGxlKSB7XG4gICAgICAgICAgICBzZXRSb3V0ZUFubm91bmNlbWVudChjdXJyZW50VGl0bGUpO1xuICAgICAgICB9XG4gICAgICAgIHByZXZpb3VzVGl0bGUuY3VycmVudCA9IGN1cnJlbnRUaXRsZTtcbiAgICB9LCBbXG4gICAgICAgIHRyZWVcbiAgICBdKTtcbiAgICByZXR1cm4gcG9ydGFsTm9kZSA/IC8qI19fUFVSRV9fKi8gKDAsIF9yZWFjdGRvbS5jcmVhdGVQb3J0YWwpKHJvdXRlQW5ub3VuY2VtZW50LCBwb3J0YWxOb2RlKSA6IG51bGw7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1yb3V0ZXItYW5ub3VuY2VyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJBcHBSb3V0ZXJBbm5vdW5jZXIiLCJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlYWN0ZG9tIiwiQU5OT1VOQ0VSX1RZUEUiLCJBTk5PVU5DRVJfSUQiLCJnZXRBbm5vdW5jZXJOb2RlIiwiX2V4aXN0aW5nQW5ub3VuY2VyX3NoYWRvd1Jvb3QiLCJleGlzdGluZ0Fubm91bmNlciIsImRvY3VtZW50IiwiZ2V0RWxlbWVudHNCeU5hbWUiLCJzaGFkb3dSb290IiwiY2hpbGROb2RlcyIsImNvbnRhaW5lciIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsImNzc1RleHQiLCJhbm5vdW5jZXIiLCJhcmlhTGl2ZSIsImlkIiwicm9sZSIsInNoYWRvdyIsImF0dGFjaFNoYWRvdyIsIm1vZGUiLCJhcHBlbmRDaGlsZCIsImJvZHkiLCJwYXJhbSIsInRyZWUiLCJwb3J0YWxOb2RlIiwic2V0UG9ydGFsTm9kZSIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJpc0Nvbm5lY3RlZCIsInJlbW92ZUNoaWxkIiwicm91dGVBbm5vdW5jZW1lbnQiLCJzZXRSb3V0ZUFubm91bmNlbWVudCIsInByZXZpb3VzVGl0bGUiLCJ1c2VSZWYiLCJjdXJyZW50VGl0bGUiLCJ0aXRsZSIsInBhZ2VIZWFkZXIiLCJxdWVyeVNlbGVjdG9yIiwiaW5uZXJUZXh0IiwidGV4dENvbnRlbnQiLCJjdXJyZW50IiwidW5kZWZpbmVkIiwiY3JlYXRlUG9ydGFsIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/app-router-headers.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/client/components/app-router-headers.js ***! \************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RSC_HEADER: function() {\n return RSC_HEADER;\n },\n ACTION: function() {\n return ACTION;\n },\n NEXT_ROUTER_STATE_TREE: function() {\n return NEXT_ROUTER_STATE_TREE;\n },\n NEXT_ROUTER_PREFETCH_HEADER: function() {\n return NEXT_ROUTER_PREFETCH_HEADER;\n },\n NEXT_URL: function() {\n return NEXT_URL;\n },\n RSC_CONTENT_TYPE_HEADER: function() {\n return RSC_CONTENT_TYPE_HEADER;\n },\n RSC_VARY_HEADER: function() {\n return RSC_VARY_HEADER;\n },\n FLIGHT_PARAMETERS: function() {\n return FLIGHT_PARAMETERS;\n },\n NEXT_RSC_UNION_QUERY: function() {\n return NEXT_RSC_UNION_QUERY;\n },\n NEXT_DID_POSTPONE_HEADER: function() {\n return NEXT_DID_POSTPONE_HEADER;\n }\n});\nconst RSC_HEADER = \"RSC\";\nconst ACTION = \"Next-Action\";\nconst NEXT_ROUTER_STATE_TREE = \"Next-Router-State-Tree\";\nconst NEXT_ROUTER_PREFETCH_HEADER = \"Next-Router-Prefetch\";\nconst NEXT_URL = \"Next-Url\";\nconst RSC_CONTENT_TYPE_HEADER = \"text/x-component\";\nconst RSC_VARY_HEADER = RSC_HEADER + \", \" + NEXT_ROUTER_STATE_TREE + \", \" + NEXT_ROUTER_PREFETCH_HEADER + \", \" + NEXT_URL;\nconst FLIGHT_PARAMETERS = [\n [\n RSC_HEADER\n ],\n [\n NEXT_ROUTER_STATE_TREE\n ],\n [\n NEXT_ROUTER_PREFETCH_HEADER\n ]\n];\nconst NEXT_RSC_UNION_QUERY = \"_rsc\";\nconst NEXT_DID_POSTPONE_HEADER = \"x-nextjs-postponed\";\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-headers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItaGVhZGVycy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQVdOO0FBQ0EsU0FBU1csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSWpCLE9BQU9DLGNBQWMsQ0FBQ2UsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRYixTQUFTO0lBQ2JHLFlBQVk7UUFDUixPQUFPQTtJQUNYO0lBQ0FDLFFBQVE7UUFDSixPQUFPQTtJQUNYO0lBQ0FDLHdCQUF3QjtRQUNwQixPQUFPQTtJQUNYO0lBQ0FDLDZCQUE2QjtRQUN6QixPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxzQkFBc0I7UUFDbEIsT0FBT0E7SUFDWDtJQUNBQywwQkFBMEI7UUFDdEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTVQsYUFBYTtBQUNuQixNQUFNQyxTQUFTO0FBQ2YsTUFBTUMseUJBQXlCO0FBQy9CLE1BQU1DLDhCQUE4QjtBQUNwQyxNQUFNQyxXQUFXO0FBQ2pCLE1BQU1DLDBCQUEwQjtBQUNoQyxNQUFNQyxrQkFBa0JOLGFBQWEsT0FBT0UseUJBQXlCLE9BQU9DLDhCQUE4QixPQUFPQztBQUNqSCxNQUFNRyxvQkFBb0I7SUFDdEI7UUFDSVA7S0FDSDtJQUNEO1FBQ0lFO0tBQ0g7SUFDRDtRQUNJQztLQUNIO0NBQ0o7QUFDRCxNQUFNSyx1QkFBdUI7QUFDN0IsTUFBTUMsMkJBQTJCO0FBRWpDLElBQUksQ0FBQyxPQUFPWixRQUFRbUIsT0FBTyxLQUFLLGNBQWUsT0FBT25CLFFBQVFtQixPQUFPLEtBQUssWUFBWW5CLFFBQVFtQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9uQixRQUFRbUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3RCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW1CLE9BQU8sRUFBRSxjQUFjO1FBQUVsQixPQUFPO0lBQUs7SUFDbkVILE9BQU91QixNQUFNLENBQUNyQixRQUFRbUIsT0FBTyxFQUFFbkI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUW1CLE9BQU87QUFDbEMsRUFFQSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItaGVhZGVycy5qcz8zNTZmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUlNDX0hFQURFUjogbnVsbCxcbiAgICBBQ1RJT046IG51bGwsXG4gICAgTkVYVF9ST1VURVJfU1RBVEVfVFJFRTogbnVsbCxcbiAgICBORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVI6IG51bGwsXG4gICAgTkVYVF9VUkw6IG51bGwsXG4gICAgUlNDX0NPTlRFTlRfVFlQRV9IRUFERVI6IG51bGwsXG4gICAgUlNDX1ZBUllfSEVBREVSOiBudWxsLFxuICAgIEZMSUdIVF9QQVJBTUVURVJTOiBudWxsLFxuICAgIE5FWFRfUlNDX1VOSU9OX1FVRVJZOiBudWxsLFxuICAgIE5FWFRfRElEX1BPU1RQT05FX0hFQURFUjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBSU0NfSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19IRUFERVI7XG4gICAgfSxcbiAgICBBQ1RJT046IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQUNUSU9OO1xuICAgIH0sXG4gICAgTkVYVF9ST1VURVJfU1RBVEVfVFJFRTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX1JPVVRFUl9TVEFURV9UUkVFO1xuICAgIH0sXG4gICAgTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUjtcbiAgICB9LFxuICAgIE5FWFRfVVJMOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfVVJMO1xuICAgIH0sXG4gICAgUlNDX0NPTlRFTlRfVFlQRV9IRUFERVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUlNDX0NPTlRFTlRfVFlQRV9IRUFERVI7XG4gICAgfSxcbiAgICBSU0NfVkFSWV9IRUFERVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUlNDX1ZBUllfSEVBREVSO1xuICAgIH0sXG4gICAgRkxJR0hUX1BBUkFNRVRFUlM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRkxJR0hUX1BBUkFNRVRFUlM7XG4gICAgfSxcbiAgICBORVhUX1JTQ19VTklPTl9RVUVSWTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX1JTQ19VTklPTl9RVUVSWTtcbiAgICB9LFxuICAgIE5FWFRfRElEX1BPU1RQT05FX0hFQURFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0RJRF9QT1NUUE9ORV9IRUFERVI7XG4gICAgfVxufSk7XG5jb25zdCBSU0NfSEVBREVSID0gXCJSU0NcIjtcbmNvbnN0IEFDVElPTiA9IFwiTmV4dC1BY3Rpb25cIjtcbmNvbnN0IE5FWFRfUk9VVEVSX1NUQVRFX1RSRUUgPSBcIk5leHQtUm91dGVyLVN0YXRlLVRyZWVcIjtcbmNvbnN0IE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUiA9IFwiTmV4dC1Sb3V0ZXItUHJlZmV0Y2hcIjtcbmNvbnN0IE5FWFRfVVJMID0gXCJOZXh0LVVybFwiO1xuY29uc3QgUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIgPSBcInRleHQveC1jb21wb25lbnRcIjtcbmNvbnN0IFJTQ19WQVJZX0hFQURFUiA9IFJTQ19IRUFERVIgKyBcIiwgXCIgKyBORVhUX1JPVVRFUl9TVEFURV9UUkVFICsgXCIsIFwiICsgTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSICsgXCIsIFwiICsgTkVYVF9VUkw7XG5jb25zdCBGTElHSFRfUEFSQU1FVEVSUyA9IFtcbiAgICBbXG4gICAgICAgIFJTQ19IRUFERVJcbiAgICBdLFxuICAgIFtcbiAgICAgICAgTkVYVF9ST1VURVJfU1RBVEVfVFJFRVxuICAgIF0sXG4gICAgW1xuICAgICAgICBORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJcbiAgICBdXG5dO1xuY29uc3QgTkVYVF9SU0NfVU5JT05fUVVFUlkgPSBcIl9yc2NcIjtcbmNvbnN0IE5FWFRfRElEX1BPU1RQT05FX0hFQURFUiA9IFwieC1uZXh0anMtcG9zdHBvbmVkXCI7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1yb3V0ZXItaGVhZGVycy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJSU0NfSEVBREVSIiwiQUNUSU9OIiwiTkVYVF9ST1VURVJfU1RBVEVfVFJFRSIsIk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUiIsIk5FWFRfVVJMIiwiUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIiLCJSU0NfVkFSWV9IRUFERVIiLCJGTElHSFRfUEFSQU1FVEVSUyIsIk5FWFRfUlNDX1VOSU9OX1FVRVJZIiwiTkVYVF9ESURfUE9TVFBPTkVfSEVBREVSIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/app-router.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/client/components/app-router.js ***! \****************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getServerActionDispatcher: function() {\n return getServerActionDispatcher;\n },\n urlToUrlWithoutFlightMarker: function() {\n return urlToUrlWithoutFlightMarker;\n },\n createEmptyCacheNode: function() {\n return createEmptyCacheNode;\n },\n default: function() {\n return AppRouter;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _createhreffromurl = __webpack_require__(/*! ./router-reducer/create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\");\nconst _usereducerwithdevtools = __webpack_require__(/*! ./use-reducer-with-devtools */ \"(ssr)/./node_modules/next/dist/client/components/use-reducer-with-devtools.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _createinitialrouterstate = __webpack_require__(/*! ./router-reducer/create-initial-router-state */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js\");\nconst _isbot = __webpack_require__(/*! ../../shared/lib/router/utils/is-bot */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js\");\nconst _addbasepath = __webpack_require__(/*! ../add-base-path */ \"(ssr)/./node_modules/next/dist/client/add-base-path.js\");\nconst _approuterannouncer = __webpack_require__(/*! ./app-router-announcer */ \"(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _findheadincache = __webpack_require__(/*! ./router-reducer/reducers/find-head-in-cache */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js\");\nconst _infinitepromise = __webpack_require__(/*! ./infinite-promise */ \"(ssr)/./node_modules/next/dist/client/components/infinite-promise.js\");\nconst _approuterheaders = __webpack_require__(/*! ./app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _removebasepath = __webpack_require__(/*! ../remove-base-path */ \"(ssr)/./node_modules/next/dist/client/remove-base-path.js\");\nconst _hasbasepath = __webpack_require__(/*! ../has-base-path */ \"(ssr)/./node_modules/next/dist/client/has-base-path.js\");\nconst isServer = \"undefined\" === \"undefined\";\n// Ensure the initialParallelRoutes are not combined because of double-rendering in the browser with Strict Mode.\nlet initialParallelRoutes = isServer ? null : new Map();\nlet globalServerActionDispatcher = null;\nfunction getServerActionDispatcher() {\n return globalServerActionDispatcher;\n}\nconst globalMutable = {};\nfunction urlToUrlWithoutFlightMarker(url) {\n const urlWithoutFlightParameters = new URL(url, location.origin);\n urlWithoutFlightParameters.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);\n if (false) {}\n return urlWithoutFlightParameters;\n}\nfunction isExternalURL(url) {\n return url.origin !== window.location.origin;\n}\nfunction HistoryUpdater(param) {\n let { appRouterState, sync } = param;\n (0, _react.useInsertionEffect)(()=>{\n const { tree, pushRef, canonicalUrl } = appRouterState;\n const historyState = {\n ...pushRef.preserveCustomHistoryState ? window.history.state : {},\n // Identifier is shortened intentionally.\n // __NA is used to identify if the history entry can be handled by the app-router.\n // __N is used to identify if the history entry can be handled by the old router.\n __NA: true,\n __PRIVATE_NEXTJS_INTERNALS_TREE: tree\n };\n if (pushRef.pendingPush && // Skip pushing an additional history entry if the canonicalUrl is the same as the current url.\n // This mirrors the browser behavior for normal navigation.\n (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== canonicalUrl) {\n // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry.\n pushRef.pendingPush = false;\n window.history.pushState(historyState, \"\", canonicalUrl);\n } else {\n window.history.replaceState(historyState, \"\", canonicalUrl);\n }\n sync(appRouterState);\n }, [\n appRouterState,\n sync\n ]);\n return null;\n}\nfunction createEmptyCacheNode() {\n return {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n parallelRoutes: new Map()\n };\n}\nfunction useServerActionDispatcher(dispatch) {\n const serverActionDispatcher = (0, _react.useCallback)((actionPayload)=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n ...actionPayload,\n type: _routerreducertypes.ACTION_SERVER_ACTION\n });\n });\n }, [\n dispatch\n ]);\n globalServerActionDispatcher = serverActionDispatcher;\n}\n/**\n * Server response that only patches the cache and tree.\n */ function useChangeByServerResponse(dispatch) {\n return (0, _react.useCallback)((previousTree, flightData, overrideCanonicalUrl)=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_SERVER_PATCH,\n flightData,\n previousTree,\n overrideCanonicalUrl\n });\n });\n }, [\n dispatch\n ]);\n}\nfunction useNavigate(dispatch) {\n return (0, _react.useCallback)((href, navigateType, shouldScroll)=>{\n const url = new URL((0, _addbasepath.addBasePath)(href), location.href);\n return dispatch({\n type: _routerreducertypes.ACTION_NAVIGATE,\n url,\n isExternalUrl: isExternalURL(url),\n locationSearch: location.search,\n shouldScroll: shouldScroll != null ? shouldScroll : true,\n navigateType\n });\n }, [\n dispatch\n ]);\n}\nfunction copyNextJsInternalHistoryState(data) {\n if (data == null) data = {};\n const currentState = window.history.state;\n const __NA = currentState == null ? void 0 : currentState.__NA;\n if (__NA) {\n data.__NA = __NA;\n }\n const __PRIVATE_NEXTJS_INTERNALS_TREE = currentState == null ? void 0 : currentState.__PRIVATE_NEXTJS_INTERNALS_TREE;\n if (__PRIVATE_NEXTJS_INTERNALS_TREE) {\n data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE;\n }\n return data;\n}\nfunction Head(param) {\n let { headCacheNode } = param;\n // If this segment has a `prefetchHead`, it's the statically prefetched data.\n // We should use that on initial render instead of `head`. Then we'll switch\n // to `head` when the dynamic response streams in.\n const head = headCacheNode !== null ? headCacheNode.head : null;\n const prefetchHead = headCacheNode !== null ? headCacheNode.prefetchHead : null;\n // If no prefetch data is available, then we go straight to rendering `head`.\n const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head;\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n //\n // @ts-expect-error The second argument to `useDeferredValue` is only\n // available in the experimental builds. When its disabled, it will always\n // return `head`.\n return (0, _react.useDeferredValue)(head, resolvedPrefetchRsc);\n}\n/**\n * The global router that wraps the application components.\n */ function Router(param) {\n let { buildId, initialHead, initialTree, initialCanonicalUrl, initialSeedData, assetPrefix, missingSlots } = param;\n const initialState = (0, _react.useMemo)(()=>(0, _createinitialrouterstate.createInitialRouterState)({\n buildId,\n initialSeedData,\n initialCanonicalUrl,\n initialTree,\n initialParallelRoutes,\n isServer,\n location: !isServer ? window.location : null,\n initialHead\n }), [\n buildId,\n initialSeedData,\n initialCanonicalUrl,\n initialTree,\n initialHead\n ]);\n const [reducerState, dispatch, sync] = (0, _usereducerwithdevtools.useReducerWithReduxDevtools)(initialState);\n (0, _react.useEffect)(()=>{\n // Ensure initialParallelRoutes is cleaned up from memory once it's used.\n initialParallelRoutes = null;\n }, []);\n const { canonicalUrl } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n // Add memoized pathname/query for useSearchParams and usePathname.\n const { searchParams, pathname } = (0, _react.useMemo)(()=>{\n const url = new URL(canonicalUrl, true ? \"http://n\" : 0);\n return {\n // This is turned into a readonly class in `useSearchParams`\n searchParams: url.searchParams,\n pathname: (0, _hasbasepath.hasBasePath)(url.pathname) ? (0, _removebasepath.removeBasePath)(url.pathname) : url.pathname\n };\n }, [\n canonicalUrl\n ]);\n const changeByServerResponse = useChangeByServerResponse(dispatch);\n const navigate = useNavigate(dispatch);\n useServerActionDispatcher(dispatch);\n /**\n * The app router that is exposed through `useRouter`. It's only concerned with dispatching actions to the reducer, does not hold state.\n */ const appRouter = (0, _react.useMemo)(()=>{\n const routerInstance = {\n back: ()=>window.history.back(),\n forward: ()=>window.history.forward(),\n prefetch: (href, options)=>{\n // Don't prefetch for bots as they don't navigate.\n // Don't prefetch during development (improves compilation performance)\n if ((0, _isbot.isBot)(window.navigator.userAgent) || \"development\" === \"development\") {\n return;\n }\n const url = new URL((0, _addbasepath.addBasePath)(href), window.location.href);\n // External urls can't be prefetched in the same way.\n if (isExternalURL(url)) {\n return;\n }\n (0, _react.startTransition)(()=>{\n var _options_kind;\n dispatch({\n type: _routerreducertypes.ACTION_PREFETCH,\n url,\n kind: (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.FULL\n });\n });\n },\n replace: (href, options)=>{\n if (options === void 0) options = {};\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n navigate(href, \"replace\", (_options_scroll = options.scroll) != null ? _options_scroll : true);\n });\n },\n push: (href, options)=>{\n if (options === void 0) options = {};\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n navigate(href, \"push\", (_options_scroll = options.scroll) != null ? _options_scroll : true);\n });\n },\n refresh: ()=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_REFRESH,\n origin: window.location.origin\n });\n });\n },\n // @ts-ignore we don't want to expose this method at all\n fastRefresh: ()=>{\n if (false) {} else {\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_FAST_REFRESH,\n origin: window.location.origin\n });\n });\n }\n }\n };\n return routerInstance;\n }, [\n dispatch,\n navigate\n ]);\n (0, _react.useEffect)(()=>{\n // Exists for debugging purposes. Don't use in application code.\n if (window.next) {\n window.next.router = appRouter;\n }\n }, [\n appRouter\n ]);\n if (true) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { cache, prefetchCache, tree } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, _react.useEffect)(()=>{\n // Add `window.nd` for debugging purposes.\n // This is not meant for use in applications as concurrent rendering will affect the cache/tree/router.\n // @ts-ignore this is for debugging\n window.nd = {\n router: appRouter,\n cache,\n prefetchCache,\n tree\n };\n }, [\n appRouter,\n cache,\n prefetchCache,\n tree\n ]);\n }\n (0, _react.useEffect)(()=>{\n // If the app is restored from bfcache, it's possible that\n // pushRef.mpaNavigation is true, which would mean that any re-render of this component\n // would trigger the mpa navigation logic again from the lines below.\n // This will restore the router to the initial state in the event that the app is restored from bfcache.\n function handlePageShow(event) {\n var _window_history_state;\n if (!event.persisted || !((_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE)) {\n return;\n }\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(window.location.href),\n tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE\n });\n }\n window.addEventListener(\"pageshow\", handlePageShow);\n return ()=>{\n window.removeEventListener(\"pageshow\", handlePageShow);\n };\n }, [\n dispatch\n ]);\n // When mpaNavigation flag is set do a hard navigation to the new url.\n // Infinitely suspend because we don't actually want to rerender any child\n // components with the new URL and any entangled state updates shouldn't\n // commit either (eg: useTransition isPending should stay true until the page\n // unloads).\n //\n // This is a side effect in render. Don't try this at home, kids. It's\n // probably safe because we know this is a singleton component and it's never\n // in <Offscreen>. At least I hope so. (It will run twice in dev strict mode,\n // but that's... fine?)\n const { pushRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n if (pushRef.mpaNavigation) {\n // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL\n if (globalMutable.pendingMpaPath !== canonicalUrl) {\n const location1 = window.location;\n if (pushRef.pendingPush) {\n location1.assign(canonicalUrl);\n } else {\n location1.replace(canonicalUrl);\n }\n globalMutable.pendingMpaPath = canonicalUrl;\n }\n // TODO-APP: Should we listen to navigateerror here to catch failed\n // navigations somehow? And should we call window.stop() if a SPA navigation\n // should interrupt an MPA one?\n (0, _react.use)((0, _infinitepromise.createInfinitePromise)());\n }\n (0, _react.useEffect)(()=>{\n const originalPushState = window.history.pushState.bind(window.history);\n const originalReplaceState = window.history.replaceState.bind(window.history);\n // Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values.\n const applyUrlFromHistoryPushReplace = (url)=>{\n const href = window.location.href;\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(url != null ? url : href, href),\n tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE\n });\n });\n };\n /**\n * Patch pushState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */ window.history.pushState = function pushState(data, _unused, url) {\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {\n return originalPushState(data, _unused, url);\n }\n data = copyNextJsInternalHistoryState(data);\n if (url) {\n applyUrlFromHistoryPushReplace(url);\n }\n return originalPushState(data, _unused, url);\n };\n /**\n * Patch replaceState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */ window.history.replaceState = function replaceState(data, _unused, url) {\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {\n return originalReplaceState(data, _unused, url);\n }\n data = copyNextJsInternalHistoryState(data);\n if (url) {\n applyUrlFromHistoryPushReplace(url);\n }\n return originalReplaceState(data, _unused, url);\n };\n /**\n * Handle popstate event, this is used to handle back/forward in the browser.\n * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page.\n * That case can happen when the old router injected the history entry.\n */ const onPopState = (param)=>{\n let { state } = param;\n if (!state) {\n // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case.\n return;\n }\n // This case happens when the history entry was pushed by the `pages` router.\n if (!state.__NA) {\n window.location.reload();\n return;\n }\n // @ts-ignore useTransition exists\n // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously\n // Without startTransition works if the cache is there for this path\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(window.location.href),\n tree: state.__PRIVATE_NEXTJS_INTERNALS_TREE\n });\n });\n };\n // Register popstate event to call onPopstate.\n window.addEventListener(\"popstate\", onPopState);\n return ()=>{\n window.history.pushState = originalPushState;\n window.history.replaceState = originalReplaceState;\n window.removeEventListener(\"popstate\", onPopState);\n };\n }, [\n dispatch\n ]);\n const { cache, tree, nextUrl, focusAndScrollRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n const matchingHead = (0, _react.useMemo)(()=>{\n return (0, _findheadincache.findHeadInCache)(cache, tree[1]);\n }, [\n cache,\n tree\n ]);\n let head;\n if (matchingHead !== null) {\n // The head is wrapped in an extra component so we can use\n // `useDeferredValue` to swap between the prefetched and final versions of\n // the head. (This is what LayoutRouter does for segment data, too.)\n //\n // The `key` is used to remount the component whenever the head moves to\n // a different segment.\n const [headCacheNode, headKey] = matchingHead;\n head = /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {\n headCacheNode: headCacheNode\n }, headKey);\n } else {\n head = null;\n }\n let content = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, {\n children: [\n head,\n cache.rsc,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuterannouncer.AppRouterAnnouncer, {\n tree: tree\n })\n ]\n });\n if (true) {\n if (false) {}\n const HotReloader = (__webpack_require__(/*! ./react-dev-overlay/hot-reloader-client */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/hot-reloader-client.js\")[\"default\"]);\n content = /*#__PURE__*/ (0, _jsxruntime.jsx)(HotReloader, {\n assetPrefix: assetPrefix,\n children: content\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HistoryUpdater, {\n appRouterState: (0, _usereducerwithdevtools.useUnwrapState)(reducerState),\n sync: sync\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, {\n value: pathname,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, {\n value: searchParams,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.GlobalLayoutRouterContext.Provider, {\n value: {\n buildId,\n changeByServerResponse,\n tree,\n focusAndScrollRef,\n nextUrl\n },\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, {\n value: appRouter,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n childNodes: cache.parallelRoutes,\n tree,\n // Root node always has `url`\n // Provided in AppTreeContext to ensure it can be overwritten in layout-router\n url: canonicalUrl\n },\n children: content\n })\n })\n })\n })\n })\n ]\n });\n}\nfunction AppRouter(props) {\n const { globalErrorComponent, ...rest } = props;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {\n errorComponent: globalErrorComponent,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Router, {\n ...rest\n })\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6InFEQUVhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBS047QUFDQSxTQUFTSyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJWCxPQUFPQyxjQUFjLENBQUNTLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUVAsU0FBUztJQUNiRywyQkFBMkI7UUFDdkIsT0FBT0E7SUFDWDtJQUNBQyw2QkFBNkI7UUFDekIsT0FBT0E7SUFDWDtJQUNBQyxzQkFBc0I7UUFDbEIsT0FBT0E7SUFDWDtJQUNBQyxTQUFTO1FBQ0wsT0FBT087SUFDWDtBQUNKO0FBQ0EsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCwwQkFBMEJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUksaUNBQWlDSixtQkFBT0EsQ0FBQyx1S0FBb0Q7QUFDbkcsTUFBTUssc0JBQXNCTCxtQkFBT0EsQ0FBQyxzSUFBdUM7QUFDM0UsTUFBTU0scUJBQXFCTixtQkFBT0EsQ0FBQyxzSUFBdUM7QUFDMUUsTUFBTU8sbUNBQW1DUCxtQkFBT0EsQ0FBQywyS0FBc0Q7QUFDdkcsTUFBTVEsMEJBQTBCUixtQkFBT0EsQ0FBQyxrSEFBNkI7QUFDckUsTUFBTVMsaUJBQWlCVCxtQkFBT0EsQ0FBQyw0RkFBa0I7QUFDakQsTUFBTVUsNEJBQTRCVixtQkFBT0EsQ0FBQyxvSkFBOEM7QUFDeEYsTUFBTVcsU0FBU1gsbUJBQU9BLENBQUMsOEdBQXNDO0FBQzdE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QSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXIuanM/NDE1OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBnZXRTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyOiBudWxsLFxuICAgIHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcjogbnVsbCxcbiAgICBjcmVhdGVFbXB0eUNhY2hlTm9kZTogbnVsbCxcbiAgICBkZWZhdWx0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGdldFNlcnZlckFjdGlvbkRpc3BhdGNoZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0U2VydmVyQWN0aW9uRGlzcGF0Y2hlcjtcbiAgICB9LFxuICAgIHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXI7XG4gICAgfSxcbiAgICBjcmVhdGVFbXB0eUNhY2hlTm9kZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVFbXB0eUNhY2hlTm9kZTtcbiAgICB9LFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQXBwUm91dGVyO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY29uc3QgX3JvdXRlcnJlZHVjZXJ0eXBlcyA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyLXR5cGVzXCIpO1xuY29uc3QgX2NyZWF0ZWhyZWZmcm9tdXJsID0gcmVxdWlyZShcIi4vcm91dGVyLXJlZHVjZXIvY3JlYXRlLWhyZWYtZnJvbS11cmxcIik7XG5jb25zdCBfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2hvb2tzLWNsaWVudC1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY29uc3QgX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMgPSByZXF1aXJlKFwiLi91c2UtcmVkdWNlci13aXRoLWRldnRvb2xzXCIpO1xuY29uc3QgX2Vycm9yYm91bmRhcnkgPSByZXF1aXJlKFwiLi9lcnJvci1ib3VuZGFyeVwiKTtcbmNvbnN0IF9jcmVhdGVpbml0aWFscm91dGVyc3RhdGUgPSByZXF1aXJlKFwiLi9yb3V0ZXItcmVkdWNlci9jcmVhdGUtaW5pdGlhbC1yb3V0ZXItc3RhdGVcIik7XG5jb25zdCBfaXNib3QgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtYm90XCIpO1xuY29uc3QgX2FkZGJhc2VwYXRoID0gcmVxdWlyZShcIi4uL2FkZC1iYXNlLXBhdGhcIik7XG5jb25zdCBfYXBwcm91dGVyYW5ub3VuY2VyID0gcmVxdWlyZShcIi4vYXBwLXJvdXRlci1hbm5vdW5jZXJcIik7XG5jb25zdCBfcmVkaXJlY3Rib3VuZGFyeSA9IHJlcXVpcmUoXCIuL3JlZGlyZWN0LWJvdW5kYXJ5XCIpO1xuY29uc3QgX2ZpbmRoZWFkaW5jYWNoZSA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2ZpbmQtaGVhZC1pbi1jYWNoZVwiKTtcbmNvbnN0IF9pbmZpbml0ZXByb21pc2UgPSByZXF1aXJlKFwiLi9pbmZpbml0ZS1wcm9taXNlXCIpO1xuY29uc3QgX2FwcHJvdXRlcmhlYWRlcnMgPSByZXF1aXJlKFwiLi9hcHAtcm91dGVyLWhlYWRlcnNcIik7XG5jb25zdCBfcmVtb3ZlYmFzZXBhdGggPSByZXF1aXJlKFwiLi4vcmVtb3ZlLWJhc2UtcGF0aFwiKTtcbmNvbnN0IF9oYXNiYXNlcGF0aCA9IHJlcXVpcmUoXCIuLi9oYXMtYmFzZS1wYXRoXCIpO1xuY29uc3QgaXNTZXJ2ZXIgPSB0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiO1xuLy8gRW5zdXJlIHRoZSBpbml0aWFsUGFyYWxsZWxSb3V0ZXMgYXJlIG5vdCBjb21iaW5lZCBiZWNhdXNlIG9mIGRvdWJsZS1yZW5kZXJpbmcgaW4gdGhlIGJyb3dzZXIgd2l0aCBTdHJpY3QgTW9kZS5cbmxldCBpbml0aWFsUGFyYWxsZWxSb3V0ZXMgPSBpc1NlcnZlciA/IG51bGwgOiBuZXcgTWFwKCk7XG5sZXQgZ2xvYmFsU2VydmVyQWN0aW9uRGlzcGF0Y2hlciA9IG51bGw7XG5mdW5jdGlvbiBnZXRTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyKCkge1xuICAgIHJldHVybiBnbG9iYWxTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyO1xufVxuY29uc3QgZ2xvYmFsTXV0YWJsZSA9IHt9O1xuZnVuY3Rpb24gdXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyKHVybCkge1xuICAgIGNvbnN0IHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzID0gbmV3IFVSTCh1cmwsIGxvY2F0aW9uLm9yaWdpbik7XG4gICAgdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMuc2VhcmNoUGFyYW1zLmRlbGV0ZShfYXBwcm91dGVyaGVhZGVycy5ORVhUX1JTQ19VTklPTl9RVUVSWSk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0NPTkZJR19PVVRQVVQgPT09IFwiZXhwb3J0XCIgJiYgdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMucGF0aG5hbWUuZW5kc1dpdGgoXCIudHh0XCIpKSB7XG4gICAgICAgICAgICBjb25zdCB7IHBhdGhuYW1lIH0gPSB1cmxXaXRob3V0RmxpZ2h0UGFyYW1ldGVycztcbiAgICAgICAgICAgIGNvbnN0IGxlbmd0aCA9IHBhdGhuYW1lLmVuZHNXaXRoKFwiL2luZGV4LnR4dFwiKSA/IDEwIDogNDtcbiAgICAgICAgICAgIC8vIFNsaWNlIG9mZiBgL2luZGV4LnR4dGAgb3IgYC50eHRgIGZyb20gdGhlIGVuZCBvZiB0aGUgcGF0aG5hbWVcbiAgICAgICAgICAgIHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzLnBhdGhuYW1lID0gcGF0aG5hbWUuc2xpY2UoMCwgLWxlbmd0aCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzO1xufVxuZnVuY3Rpb24gaXNFeHRlcm5hbFVSTCh1cmwpIHtcbiAgICByZXR1cm4gdXJsLm9yaWdpbiAhPT0gd2luZG93LmxvY2F0aW9uLm9yaWdpbjtcbn1cbmZ1bmN0aW9uIEhpc3RvcnlVcGRhdGVyKHBhcmFtKSB7XG4gICAgbGV0IHsgYXBwUm91dGVyU3RhdGUsIHN5bmMgfSA9IHBhcmFtO1xuICAgICgwLCBfcmVhY3QudXNlSW5zZXJ0aW9uRWZmZWN0KSgoKT0+e1xuICAgICAgICBjb25zdCB7IHRyZWUsIHB1c2hSZWYsIGNhbm9uaWNhbFVybCB9ID0gYXBwUm91dGVyU3RhdGU7XG4gICAgICAgIGNvbnN0IGhpc3RvcnlTdGF0ZSA9IHtcbiAgICAgICAgICAgIC4uLnB1c2hSZWYucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUgPyB3aW5kb3cuaGlzdG9yeS5zdGF0ZSA6IHt9LFxuICAgICAgICAgICAgLy8gSWRlbnRpZmllciBpcyBzaG9ydGVuZWQgaW50ZW50aW9uYWxseS5cbiAgICAgICAgICAgIC8vIF9fTkEgaXMgdXNlZCB0byBpZGVudGlmeSBpZiB0aGUgaGlzdG9yeSBlbnRyeSBjYW4gYmUgaGFuZGxlZCBieSB0aGUgYXBwLXJvdXRlci5cbiAgICAgICAgICAgIC8vIF9fTiBpcyB1c2VkIHRvIGlkZW50aWZ5IGlmIHRoZSBoaXN0b3J5IGVudHJ5IGNhbiBiZSBoYW5kbGVkIGJ5IHRoZSBvbGQgcm91dGVyLlxuICAgICAgICAgICAgX19OQTogdHJ1ZSxcbiAgICAgICAgICAgIF9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU6IHRyZWVcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHB1c2hSZWYucGVuZGluZ1B1c2ggJiYgLy8gU2tpcCBwdXNoaW5nIGFuIGFkZGl0aW9uYWwgaGlzdG9yeSBlbnRyeSBpZiB0aGUgY2Fub25pY2FsVXJsIGlzIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IHVybC5cbiAgICAgICAgLy8gVGhpcyBtaXJyb3JzIHRoZSBicm93c2VyIGJlaGF2aW9yIGZvciBub3JtYWwgbmF2aWdhdGlvbi5cbiAgICAgICAgKDAsIF9jcmVhdGVocmVmZnJvbXVybC5jcmVhdGVIcmVmRnJvbVVybCkobmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZikpICE9PSBjYW5vbmljYWxVcmwpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgaW50ZW50aW9uYWxseSBtdXRhdGVzIFJlYWN0IHN0YXRlLCBwdXNoUmVmIGlzIG92ZXJ3cml0dGVuIHRvIGVuc3VyZSBhZGRpdGlvbmFsIHB1c2gvcmVwbGFjZSBjYWxscyBkbyBub3QgdHJpZ2dlciBhbiBhZGRpdGlvbmFsIGhpc3RvcnkgZW50cnkuXG4gICAgICAgICAgICBwdXNoUmVmLnBlbmRpbmdQdXNoID0gZmFsc2U7XG4gICAgICAgICAgICB3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoaGlzdG9yeVN0YXRlLCBcIlwiLCBjYW5vbmljYWxVcmwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKGhpc3RvcnlTdGF0ZSwgXCJcIiwgY2Fub25pY2FsVXJsKTtcbiAgICAgICAgfVxuICAgICAgICBzeW5jKGFwcFJvdXRlclN0YXRlKTtcbiAgICB9LCBbXG4gICAgICAgIGFwcFJvdXRlclN0YXRlLFxuICAgICAgICBzeW5jXG4gICAgXSk7XG4gICAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBjcmVhdGVFbXB0eUNhY2hlTm9kZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgcnNjOiBudWxsLFxuICAgICAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICAgICAgcGFyYWxsZWxSb3V0ZXM6IG5ldyBNYXAoKVxuICAgIH07XG59XG5mdW5jdGlvbiB1c2VTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyKGRpc3BhdGNoKSB7XG4gICAgY29uc3Qgc2VydmVyQWN0aW9uRGlzcGF0Y2hlciA9ICgwLCBfcmVhY3QudXNlQ2FsbGJhY2spKChhY3Rpb25QYXlsb2FkKT0+e1xuICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAuLi5hY3Rpb25QYXlsb2FkLFxuICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1NFUlZFUl9BQ1RJT05cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9LCBbXG4gICAgICAgIGRpc3BhdGNoXG4gICAgXSk7XG4gICAgZ2xvYmFsU2VydmVyQWN0aW9uRGlzcGF0Y2hlciA9IHNlcnZlckFjdGlvbkRpc3BhdGNoZXI7XG59XG4vKipcbiAqIFNlcnZlciByZXNwb25zZSB0aGF0IG9ubHkgcGF0Y2hlcyB0aGUgY2FjaGUgYW5kIHRyZWUuXG4gKi8gZnVuY3Rpb24gdXNlQ2hhbmdlQnlTZXJ2ZXJSZXNwb25zZShkaXNwYXRjaCkge1xuICAgIHJldHVybiAoMCwgX3JlYWN0LnVzZUNhbGxiYWNrKSgocHJldmlvdXNUcmVlLCBmbGlnaHREYXRhLCBvdmVycmlkZUNhbm9uaWNhbFVybCk9PntcbiAgICAgICAgKDAsIF9yZWFjdC5zdGFydFRyYW5zaXRpb24pKCgpPT57XG4gICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fU0VSVkVSX1BBVENILFxuICAgICAgICAgICAgICAgIGZsaWdodERhdGEsXG4gICAgICAgICAgICAgICAgcHJldmlvdXNUcmVlLFxuICAgICAgICAgICAgICAgIG92ZXJyaWRlQ2Fub25pY2FsVXJsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSwgW1xuICAgICAgICBkaXNwYXRjaFxuICAgIF0pO1xufVxuZnVuY3Rpb24gdXNlTmF2aWdhdGUoZGlzcGF0Y2gpIHtcbiAgICByZXR1cm4gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKGhyZWYsIG5hdmlnYXRlVHlwZSwgc2hvdWxkU2Nyb2xsKT0+e1xuICAgICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKCgwLCBfYWRkYmFzZXBhdGguYWRkQmFzZVBhdGgpKGhyZWYpLCBsb2NhdGlvbi5ocmVmKTtcbiAgICAgICAgcmV0dXJuIGRpc3BhdGNoKHtcbiAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX05BVklHQVRFLFxuICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgaXNFeHRlcm5hbFVybDogaXNFeHRlcm5hbFVSTCh1cmwpLFxuICAgICAgICAgICAgbG9jYXRpb25TZWFyY2g6IGxvY2F0aW9uLnNlYXJjaCxcbiAgICAgICAgICAgIHNob3VsZFNjcm9sbDogc2hvdWxkU2Nyb2xsICE9IG51bGwgPyBzaG91bGRTY3JvbGwgOiB0cnVlLFxuICAgICAgICAgICAgbmF2aWdhdGVUeXBlXG4gICAgICAgIH0pO1xuICAgIH0sIFtcbiAgICAgICAgZGlzcGF0Y2hcbiAgICBdKTtcbn1cbmZ1bmN0aW9uIGNvcHlOZXh0SnNJbnRlcm5hbEhpc3RvcnlTdGF0ZShkYXRhKSB7XG4gICAgaWYgKGRhdGEgPT0gbnVsbCkgZGF0YSA9IHt9O1xuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHdpbmRvdy5oaXN0b3J5LnN0YXRlO1xuICAgIGNvbnN0IF9fTkEgPSBjdXJyZW50U3RhdGUgPT0gbnVsbCA/IHZvaWQgMCA6IGN1cnJlbnRTdGF0ZS5fX05BO1xuICAgIGlmIChfX05BKSB7XG4gICAgICAgIGRhdGEuX19OQSA9IF9fTkE7XG4gICAgfVxuICAgIGNvbnN0IF9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUUgPSBjdXJyZW50U3RhdGUgPT0gbnVsbCA/IHZvaWQgMCA6IGN1cnJlbnRTdGF0ZS5fX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFO1xuICAgIGlmIChfX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFKSB7XG4gICAgICAgIGRhdGEuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSA9IF9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xufVxuZnVuY3Rpb24gSGVhZChwYXJhbSkge1xuICAgIGxldCB7IGhlYWRDYWNoZU5vZGUgfSA9IHBhcmFtO1xuICAgIC8vIElmIHRoaXMgc2VnbWVudCBoYXMgYSBgcHJlZmV0Y2hIZWFkYCwgaXQncyB0aGUgc3RhdGljYWxseSBwcmVmZXRjaGVkIGRhdGEuXG4gICAgLy8gV2Ugc2hvdWxkIHVzZSB0aGF0IG9uIGluaXRpYWwgcmVuZGVyIGluc3RlYWQgb2YgYGhlYWRgLiBUaGVuIHdlJ2xsIHN3aXRjaFxuICAgIC8vIHRvIGBoZWFkYCB3aGVuIHRoZSBkeW5hbWljIHJlc3BvbnNlIHN0cmVhbXMgaW4uXG4gICAgY29uc3QgaGVhZCA9IGhlYWRDYWNoZU5vZGUgIT09IG51bGwgPyBoZWFkQ2FjaGVOb2RlLmhlYWQgOiBudWxsO1xuICAgIGNvbnN0IHByZWZldGNoSGVhZCA9IGhlYWRDYWNoZU5vZGUgIT09IG51bGwgPyBoZWFkQ2FjaGVOb2RlLnByZWZldGNoSGVhZCA6IG51bGw7XG4gICAgLy8gSWYgbm8gcHJlZmV0Y2ggZGF0YSBpcyBhdmFpbGFibGUsIHRoZW4gd2UgZ28gc3RyYWlnaHQgdG8gcmVuZGVyaW5nIGBoZWFkYC5cbiAgICBjb25zdCByZXNvbHZlZFByZWZldGNoUnNjID0gcHJlZmV0Y2hIZWFkICE9PSBudWxsID8gcHJlZmV0Y2hIZWFkIDogaGVhZDtcbiAgICAvLyBXZSB1c2UgYHVzZURlZmVycmVkVmFsdWVgIHRvIGhhbmRsZSBzd2l0Y2hpbmcgYmV0d2VlbiB0aGUgcHJlZmV0Y2hlZCBhbmRcbiAgICAvLyBmaW5hbCB2YWx1ZXMuIFRoZSBzZWNvbmQgYXJndW1lbnQgaXMgcmV0dXJuZWQgb24gaW5pdGlhbCByZW5kZXIsIHRoZW4gaXRcbiAgICAvLyByZS1yZW5kZXJzIHdpdGggdGhlIGZpcnN0IGFyZ3VtZW50LlxuICAgIC8vXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUaGUgc2Vjb25kIGFyZ3VtZW50IHRvIGB1c2VEZWZlcnJlZFZhbHVlYCBpcyBvbmx5XG4gICAgLy8gYXZhaWxhYmxlIGluIHRoZSBleHBlcmltZW50YWwgYnVpbGRzLiBXaGVuIGl0cyBkaXNhYmxlZCwgaXQgd2lsbCBhbHdheXNcbiAgICAvLyByZXR1cm4gYGhlYWRgLlxuICAgIHJldHVybiAoMCwgX3JlYWN0LnVzZURlZmVycmVkVmFsdWUpKGhlYWQsIHJlc29sdmVkUHJlZmV0Y2hSc2MpO1xufVxuLyoqXG4gKiBUaGUgZ2xvYmFsIHJvdXRlciB0aGF0IHdyYXBzIHRoZSBhcHBsaWNhdGlvbiBjb21wb25lbnRzLlxuICovIGZ1bmN0aW9uIFJvdXRlcihwYXJhbSkge1xuICAgIGxldCB7IGJ1aWxkSWQsIGluaXRpYWxIZWFkLCBpbml0aWFsVHJlZSwgaW5pdGlhbENhbm9uaWNhbFVybCwgaW5pdGlhbFNlZWREYXRhLCBhc3NldFByZWZpeCwgbWlzc2luZ1Nsb3RzIH0gPSBwYXJhbTtcbiAgICBjb25zdCBpbml0aWFsU3RhdGUgPSAoMCwgX3JlYWN0LnVzZU1lbW8pKCgpPT4oMCwgX2NyZWF0ZWluaXRpYWxyb3V0ZXJzdGF0ZS5jcmVhdGVJbml0aWFsUm91dGVyU3RhdGUpKHtcbiAgICAgICAgICAgIGJ1aWxkSWQsXG4gICAgICAgICAgICBpbml0aWFsU2VlZERhdGEsXG4gICAgICAgICAgICBpbml0aWFsQ2Fub25pY2FsVXJsLFxuICAgICAgICAgICAgaW5pdGlhbFRyZWUsXG4gICAgICAgICAgICBpbml0aWFsUGFyYWxsZWxSb3V0ZXMsXG4gICAgICAgICAgICBpc1NlcnZlcixcbiAgICAgICAgICAgIGxvY2F0aW9uOiAhaXNTZXJ2ZXIgPyB3aW5kb3cubG9jYXRpb24gOiBudWxsLFxuICAgICAgICAgICAgaW5pdGlhbEhlYWRcbiAgICAgICAgfSksIFtcbiAgICAgICAgYnVpbGRJZCxcbiAgICAgICAgaW5pdGlhbFNlZWREYXRhLFxuICAgICAgICBpbml0aWFsQ2Fub25pY2FsVXJsLFxuICAgICAgICBpbml0aWFsVHJlZSxcbiAgICAgICAgaW5pdGlhbEhlYWRcbiAgICBdKTtcbiAgICBjb25zdCBbcmVkdWNlclN0YXRlLCBkaXNwYXRjaCwgc3luY10gPSAoMCwgX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMudXNlUmVkdWNlcldpdGhSZWR1eERldnRvb2xzKShpbml0aWFsU3RhdGUpO1xuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICAvLyBFbnN1cmUgaW5pdGlhbFBhcmFsbGVsUm91dGVzIGlzIGNsZWFuZWQgdXAgZnJvbSBtZW1vcnkgb25jZSBpdCdzIHVzZWQuXG4gICAgICAgIGluaXRpYWxQYXJhbGxlbFJvdXRlcyA9IG51bGw7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IHsgY2Fub25pY2FsVXJsIH0gPSAoMCwgX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMudXNlVW53cmFwU3RhdGUpKHJlZHVjZXJTdGF0ZSk7XG4gICAgLy8gQWRkIG1lbW9pemVkIHBhdGhuYW1lL3F1ZXJ5IGZvciB1c2VTZWFyY2hQYXJhbXMgYW5kIHVzZVBhdGhuYW1lLlxuICAgIGNvbnN0IHsgc2VhcmNoUGFyYW1zLCBwYXRobmFtZSB9ID0gKDAsIF9yZWFjdC51c2VNZW1vKSgoKT0+e1xuICAgICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGNhbm9uaWNhbFVybCwgdHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIiA/IFwiaHR0cDovL25cIiA6IHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgdHVybmVkIGludG8gYSByZWFkb25seSBjbGFzcyBpbiBgdXNlU2VhcmNoUGFyYW1zYFxuICAgICAgICAgICAgc2VhcmNoUGFyYW1zOiB1cmwuc2VhcmNoUGFyYW1zLFxuICAgICAgICAgICAgcGF0aG5hbWU6ICgwLCBfaGFzYmFzZXBhdGguaGFzQmFzZVBhdGgpKHVybC5wYXRobmFtZSkgPyAoMCwgX3JlbW92ZWJhc2VwYXRoLnJlbW92ZUJhc2VQYXRoKSh1cmwucGF0aG5hbWUpIDogdXJsLnBhdGhuYW1lXG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBjYW5vbmljYWxVcmxcbiAgICBdKTtcbiAgICBjb25zdCBjaGFuZ2VCeVNlcnZlclJlc3BvbnNlID0gdXNlQ2hhbmdlQnlTZXJ2ZXJSZXNwb25zZShkaXNwYXRjaCk7XG4gICAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZShkaXNwYXRjaCk7XG4gICAgdXNlU2VydmVyQWN0aW9uRGlzcGF0Y2hlcihkaXNwYXRjaCk7XG4gICAgLyoqXG4gICAqIFRoZSBhcHAgcm91dGVyIHRoYXQgaXMgZXhwb3NlZCB0aHJvdWdoIGB1c2VSb3V0ZXJgLiBJdCdzIG9ubHkgY29uY2VybmVkIHdpdGggZGlzcGF0Y2hpbmcgYWN0aW9ucyB0byB0aGUgcmVkdWNlciwgZG9lcyBub3QgaG9sZCBzdGF0ZS5cbiAgICovIGNvbnN0IGFwcFJvdXRlciA9ICgwLCBfcmVhY3QudXNlTWVtbykoKCk9PntcbiAgICAgICAgY29uc3Qgcm91dGVySW5zdGFuY2UgPSB7XG4gICAgICAgICAgICBiYWNrOiAoKT0+d2luZG93Lmhpc3RvcnkuYmFjaygpLFxuICAgICAgICAgICAgZm9yd2FyZDogKCk9PndpbmRvdy5oaXN0b3J5LmZvcndhcmQoKSxcbiAgICAgICAgICAgIHByZWZldGNoOiAoaHJlZiwgb3B0aW9ucyk9PntcbiAgICAgICAgICAgICAgICAvLyBEb24ndCBwcmVmZXRjaCBmb3IgYm90cyBhcyB0aGV5IGRvbid0IG5hdmlnYXRlLlxuICAgICAgICAgICAgICAgIC8vIERvbid0IHByZWZldGNoIGR1cmluZyBkZXZlbG9wbWVudCAoaW1wcm92ZXMgY29tcGlsYXRpb24gcGVyZm9ybWFuY2UpXG4gICAgICAgICAgICAgICAgaWYgKCgwLCBfaXNib3QuaXNCb3QpKHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KSB8fCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCgoMCwgX2FkZGJhc2VwYXRoLmFkZEJhc2VQYXRoKShocmVmKSwgd2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICAgICAgICAgICAgICAgIC8vIEV4dGVybmFsIHVybHMgY2FuJ3QgYmUgcHJlZmV0Y2hlZCBpbiB0aGUgc2FtZSB3YXkuXG4gICAgICAgICAgICAgICAgaWYgKGlzRXh0ZXJuYWxVUkwodXJsKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgICAgICAgICB2YXIgX29wdGlvbnNfa2luZDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fUFJFRkVUQ0gsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICAgICAgICAgICAgICBraW5kOiAoX29wdGlvbnNfa2luZCA9IG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMua2luZCkgIT0gbnVsbCA/IF9vcHRpb25zX2tpbmQgOiBfcm91dGVycmVkdWNlcnR5cGVzLlByZWZldGNoS2luZC5GVUxMXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlcGxhY2U6IChocmVmLCBvcHRpb25zKT0+e1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zID09PSB2b2lkIDApIG9wdGlvbnMgPSB7fTtcbiAgICAgICAgICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9vcHRpb25zX3Njcm9sbDtcbiAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGUoaHJlZiwgXCJyZXBsYWNlXCIsIChfb3B0aW9uc19zY3JvbGwgPSBvcHRpb25zLnNjcm9sbCkgIT0gbnVsbCA/IF9vcHRpb25zX3Njcm9sbCA6IHRydWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHB1c2g6IChocmVmLCBvcHRpb25zKT0+e1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zID09PSB2b2lkIDApIG9wdGlvbnMgPSB7fTtcbiAgICAgICAgICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9vcHRpb25zX3Njcm9sbDtcbiAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGUoaHJlZiwgXCJwdXNoXCIsIChfb3B0aW9uc19zY3JvbGwgPSBvcHRpb25zLnNjcm9sbCkgIT0gbnVsbCA/IF9vcHRpb25zX3Njcm9sbCA6IHRydWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlZnJlc2g6ICgpPT57XG4gICAgICAgICAgICAgICAgKDAsIF9yZWFjdC5zdGFydFRyYW5zaXRpb24pKCgpPT57XG4gICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1JFRlJFU0gsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW46IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSB3ZSBkb24ndCB3YW50IHRvIGV4cG9zZSB0aGlzIG1ldGhvZCBhdCBhbGxcbiAgICAgICAgICAgIGZhc3RSZWZyZXNoOiAoKT0+e1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImZhc3RSZWZyZXNoIGNhbiBvbmx5IGJlIHVzZWQgaW4gZGV2ZWxvcG1lbnQgbW9kZS4gUGxlYXNlIHVzZSByZWZyZXNoIGluc3RlYWQuXCIpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX0ZBU1RfUkVGUkVTSCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW46IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiByb3V0ZXJJbnN0YW5jZTtcbiAgICB9LCBbXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBuYXZpZ2F0ZVxuICAgIF0pO1xuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICAvLyBFeGlzdHMgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4gRG9uJ3QgdXNlIGluIGFwcGxpY2F0aW9uIGNvZGUuXG4gICAgICAgIGlmICh3aW5kb3cubmV4dCkge1xuICAgICAgICAgICAgd2luZG93Lm5leHQucm91dGVyID0gYXBwUm91dGVyO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBhcHBSb3V0ZXJcbiAgICBdKTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgICAgICBjb25zdCB7IGNhY2hlLCBwcmVmZXRjaENhY2hlLCB0cmVlIH0gPSAoMCwgX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMudXNlVW53cmFwU3RhdGUpKHJlZHVjZXJTdGF0ZSk7XG4gICAgICAgIC8vIFRoaXMgaG9vayBpcyBpbiBhIGNvbmRpdGlvbmFsIGJ1dCB0aGF0IGlzIG9rIGJlY2F1c2UgYHByb2Nlc3MuZW52Lk5PREVfRU5WYCBuZXZlciBjaGFuZ2VzXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgICAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgICAgIC8vIEFkZCBgd2luZG93Lm5kYCBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLlxuICAgICAgICAgICAgLy8gVGhpcyBpcyBub3QgbWVhbnQgZm9yIHVzZSBpbiBhcHBsaWNhdGlvbnMgYXMgY29uY3VycmVudCByZW5kZXJpbmcgd2lsbCBhZmZlY3QgdGhlIGNhY2hlL3RyZWUvcm91dGVyLlxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSB0aGlzIGlzIGZvciBkZWJ1Z2dpbmdcbiAgICAgICAgICAgIHdpbmRvdy5uZCA9IHtcbiAgICAgICAgICAgICAgICByb3V0ZXI6IGFwcFJvdXRlcixcbiAgICAgICAgICAgICAgICBjYWNoZSxcbiAgICAgICAgICAgICAgICBwcmVmZXRjaENhY2hlLFxuICAgICAgICAgICAgICAgIHRyZWVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sIFtcbiAgICAgICAgICAgIGFwcFJvdXRlcixcbiAgICAgICAgICAgIGNhY2hlLFxuICAgICAgICAgICAgcHJlZmV0Y2hDYWNoZSxcbiAgICAgICAgICAgIHRyZWVcbiAgICAgICAgXSk7XG4gICAgfVxuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICAvLyBJZiB0aGUgYXBwIGlzIHJlc3RvcmVkIGZyb20gYmZjYWNoZSwgaXQncyBwb3NzaWJsZSB0aGF0XG4gICAgICAgIC8vIHB1c2hSZWYubXBhTmF2aWdhdGlvbiBpcyB0cnVlLCB3aGljaCB3b3VsZCBtZWFuIHRoYXQgYW55IHJlLXJlbmRlciBvZiB0aGlzIGNvbXBvbmVudFxuICAgICAgICAvLyB3b3VsZCB0cmlnZ2VyIHRoZSBtcGEgbmF2aWdhdGlvbiBsb2dpYyBhZ2FpbiBmcm9tIHRoZSBsaW5lcyBiZWxvdy5cbiAgICAgICAgLy8gVGhpcyB3aWxsIHJlc3RvcmUgdGhlIHJvdXRlciB0byB0aGUgaW5pdGlhbCBzdGF0ZSBpbiB0aGUgZXZlbnQgdGhhdCB0aGUgYXBwIGlzIHJlc3RvcmVkIGZyb20gYmZjYWNoZS5cbiAgICAgICAgZnVuY3Rpb24gaGFuZGxlUGFnZVNob3coZXZlbnQpIHtcbiAgICAgICAgICAgIHZhciBfd2luZG93X2hpc3Rvcnlfc3RhdGU7XG4gICAgICAgICAgICBpZiAoIWV2ZW50LnBlcnNpc3RlZCB8fCAhKChfd2luZG93X2hpc3Rvcnlfc3RhdGUgPSB3aW5kb3cuaGlzdG9yeS5zdGF0ZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF93aW5kb3dfaGlzdG9yeV9zdGF0ZS5fX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9SRVNUT1JFLFxuICAgICAgICAgICAgICAgIHVybDogbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZiksXG4gICAgICAgICAgICAgICAgdHJlZTogd2luZG93Lmhpc3Rvcnkuc3RhdGUuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJwYWdlc2hvd1wiLCBoYW5kbGVQYWdlU2hvdyk7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwYWdlc2hvd1wiLCBoYW5kbGVQYWdlU2hvdyk7XG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBkaXNwYXRjaFxuICAgIF0pO1xuICAgIC8vIFdoZW4gbXBhTmF2aWdhdGlvbiBmbGFnIGlzIHNldCBkbyBhIGhhcmQgbmF2aWdhdGlvbiB0byB0aGUgbmV3IHVybC5cbiAgICAvLyBJbmZpbml0ZWx5IHN1c3BlbmQgYmVjYXVzZSB3ZSBkb24ndCBhY3R1YWxseSB3YW50IHRvIHJlcmVuZGVyIGFueSBjaGlsZFxuICAgIC8vIGNvbXBvbmVudHMgd2l0aCB0aGUgbmV3IFVSTCBhbmQgYW55IGVudGFuZ2xlZCBzdGF0ZSB1cGRhdGVzIHNob3VsZG4ndFxuICAgIC8vIGNvbW1pdCBlaXRoZXIgKGVnOiB1c2VUcmFuc2l0aW9uIGlzUGVuZGluZyBzaG91bGQgc3RheSB0cnVlIHVudGlsIHRoZSBwYWdlXG4gICAgLy8gdW5sb2FkcykuXG4gICAgLy9cbiAgICAvLyBUaGlzIGlzIGEgc2lkZSBlZmZlY3QgaW4gcmVuZGVyLiBEb24ndCB0cnkgdGhpcyBhdCBob21lLCBraWRzLiBJdCdzXG4gICAgLy8gcHJvYmFibHkgc2FmZSBiZWNhdXNlIHdlIGtub3cgdGhpcyBpcyBhIHNpbmdsZXRvbiBjb21wb25lbnQgYW5kIGl0J3MgbmV2ZXJcbiAgICAvLyBpbiA8T2Zmc2NyZWVuPi4gQXQgbGVhc3QgSSBob3BlIHNvLiAoSXQgd2lsbCBydW4gdHdpY2UgaW4gZGV2IHN0cmljdCBtb2RlLFxuICAgIC8vIGJ1dCB0aGF0J3MuLi4gZmluZT8pXG4gICAgY29uc3QgeyBwdXNoUmVmIH0gPSAoMCwgX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMudXNlVW53cmFwU3RhdGUpKHJlZHVjZXJTdGF0ZSk7XG4gICAgaWYgKHB1c2hSZWYubXBhTmF2aWdhdGlvbikge1xuICAgICAgICAvLyBpZiB0aGVyZSdzIGEgcmUtcmVuZGVyLCB3ZSBkb24ndCB3YW50IHRvIHRyaWdnZXIgYW5vdGhlciByZWRpcmVjdCBpZiBvbmUgaXMgYWxyZWFkeSBpbiBmbGlnaHQgdG8gdGhlIHNhbWUgVVJMXG4gICAgICAgIGlmIChnbG9iYWxNdXRhYmxlLnBlbmRpbmdNcGFQYXRoICE9PSBjYW5vbmljYWxVcmwpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uMSA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICAgICAgICAgIGlmIChwdXNoUmVmLnBlbmRpbmdQdXNoKSB7XG4gICAgICAgICAgICAgICAgbG9jYXRpb24xLmFzc2lnbihjYW5vbmljYWxVcmwpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsb2NhdGlvbjEucmVwbGFjZShjYW5vbmljYWxVcmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZ2xvYmFsTXV0YWJsZS5wZW5kaW5nTXBhUGF0aCA9IGNhbm9uaWNhbFVybDtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPLUFQUDogU2hvdWxkIHdlIGxpc3RlbiB0byBuYXZpZ2F0ZWVycm9yIGhlcmUgdG8gY2F0Y2ggZmFpbGVkXG4gICAgICAgIC8vIG5hdmlnYXRpb25zIHNvbWVob3c/IEFuZCBzaG91bGQgd2UgY2FsbCB3aW5kb3cuc3RvcCgpIGlmIGEgU1BBIG5hdmlnYXRpb25cbiAgICAgICAgLy8gc2hvdWxkIGludGVycnVwdCBhbiBNUEEgb25lP1xuICAgICAgICAoMCwgX3JlYWN0LnVzZSkoKDAsIF9pbmZpbml0ZXByb21pc2UuY3JlYXRlSW5maW5pdGVQcm9taXNlKSgpKTtcbiAgICB9XG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsUHVzaFN0YXRlID0gd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlLmJpbmQod2luZG93Lmhpc3RvcnkpO1xuICAgICAgICBjb25zdCBvcmlnaW5hbFJlcGxhY2VTdGF0ZSA9IHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZS5iaW5kKHdpbmRvdy5oaXN0b3J5KTtcbiAgICAgICAgLy8gRW5zdXJlIHRoZSBjYW5vbmljYWwgVVJMIGluIHRoZSBOZXh0LmpzIFJvdXRlciBpcyB1cGRhdGVkIHdoZW4gdGhlIFVSTCBpcyBjaGFuZ2VkIHNvIHRoYXQgYHVzZVBhdGhuYW1lYCBhbmQgYHVzZVNlYXJjaFBhcmFtc2AgaG9sZCB0aGUgcHVzaGVkIHZhbHVlcy5cbiAgICAgICAgY29uc3QgYXBwbHlVcmxGcm9tSGlzdG9yeVB1c2hSZXBsYWNlID0gKHVybCk9PntcbiAgICAgICAgICAgIGNvbnN0IGhyZWYgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fUkVTVE9SRSxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBuZXcgVVJMKHVybCAhPSBudWxsID8gdXJsIDogaHJlZiwgaHJlZiksXG4gICAgICAgICAgICAgICAgICAgIHRyZWU6IHdpbmRvdy5oaXN0b3J5LnN0YXRlLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICAvKipcbiAgICAgKiBQYXRjaCBwdXNoU3RhdGUgdG8gZW5zdXJlIGV4dGVybmFsIGNoYW5nZXMgdG8gdGhlIGhpc3RvcnkgYXJlIHJlZmxlY3RlZCBpbiB0aGUgTmV4dC5qcyBSb3V0ZXIuXG4gICAgICogRW5zdXJlcyBOZXh0LmpzIGludGVybmFsIGhpc3Rvcnkgc3RhdGUgaXMgY29waWVkIHRvIHRoZSBuZXcgaGlzdG9yeSBlbnRyeS5cbiAgICAgKiBFbnN1cmVzIHVzZVBhdGhuYW1lIGFuZCB1c2VTZWFyY2hQYXJhbXMgaG9sZCB0aGUgbmV3bHkgcHJvdmlkZWQgdXJsLlxuICAgICAqLyB3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUgPSBmdW5jdGlvbiBwdXNoU3RhdGUoZGF0YSwgX3VudXNlZCwgdXJsKSB7XG4gICAgICAgICAgICAvLyBBdm9pZCBhIGxvb3Agd2hlbiBOZXh0LmpzIGludGVybmFscyB0cmlnZ2VyIHB1c2hTdGF0ZS9yZXBsYWNlU3RhdGVcbiAgICAgICAgICAgIGlmICgoZGF0YSA9PSBudWxsID8gdm9pZCAwIDogZGF0YS5fX05BKSB8fCAoZGF0YSA9PSBudWxsID8gdm9pZCAwIDogZGF0YS5fTikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxQdXNoU3RhdGUoZGF0YSwgX3VudXNlZCwgdXJsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRhdGEgPSBjb3B5TmV4dEpzSW50ZXJuYWxIaXN0b3J5U3RhdGUoZGF0YSk7XG4gICAgICAgICAgICBpZiAodXJsKSB7XG4gICAgICAgICAgICAgICAgYXBwbHlVcmxGcm9tSGlzdG9yeVB1c2hSZXBsYWNlKHVybCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxQdXNoU3RhdGUoZGF0YSwgX3VudXNlZCwgdXJsKTtcbiAgICAgICAgfTtcbiAgICAgICAgLyoqXG4gICAgICogUGF0Y2ggcmVwbGFjZVN0YXRlIHRvIGVuc3VyZSBleHRlcm5hbCBjaGFuZ2VzIHRvIHRoZSBoaXN0b3J5IGFyZSByZWZsZWN0ZWQgaW4gdGhlIE5leHQuanMgUm91dGVyLlxuICAgICAqIEVuc3VyZXMgTmV4dC5qcyBpbnRlcm5hbCBoaXN0b3J5IHN0YXRlIGlzIGNvcGllZCB0byB0aGUgbmV3IGhpc3RvcnkgZW50cnkuXG4gICAgICogRW5zdXJlcyB1c2VQYXRobmFtZSBhbmQgdXNlU2VhcmNoUGFyYW1zIGhvbGQgdGhlIG5ld2x5IHByb3ZpZGVkIHVybC5cbiAgICAgKi8gd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlID0gZnVuY3Rpb24gcmVwbGFjZVN0YXRlKGRhdGEsIF91bnVzZWQsIHVybCkge1xuICAgICAgICAgICAgLy8gQXZvaWQgYSBsb29wIHdoZW4gTmV4dC5qcyBpbnRlcm5hbHMgdHJpZ2dlciBwdXNoU3RhdGUvcmVwbGFjZVN0YXRlXG4gICAgICAgICAgICBpZiAoKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IGRhdGEuX19OQSkgfHwgKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IGRhdGEuX04pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsUmVwbGFjZVN0YXRlKGRhdGEsIF91bnVzZWQsIHVybCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkYXRhID0gY29weU5leHRKc0ludGVybmFsSGlzdG9yeVN0YXRlKGRhdGEpO1xuICAgICAgICAgICAgaWYgKHVybCkge1xuICAgICAgICAgICAgICAgIGFwcGx5VXJsRnJvbUhpc3RvcnlQdXNoUmVwbGFjZSh1cmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsUmVwbGFjZVN0YXRlKGRhdGEsIF91bnVzZWQsIHVybCk7XG4gICAgICAgIH07XG4gICAgICAgIC8qKlxuICAgICAqIEhhbmRsZSBwb3BzdGF0ZSBldmVudCwgdGhpcyBpcyB1c2VkIHRvIGhhbmRsZSBiYWNrL2ZvcndhcmQgaW4gdGhlIGJyb3dzZXIuXG4gICAgICogQnkgZGVmYXVsdCBkaXNwYXRjaGVzIEFDVElPTl9SRVNUT1JFLCBob3dldmVyIGlmIHRoZSBoaXN0b3J5IGVudHJ5IHdhcyBub3QgcHVzaGVkL3JlcGxhY2VkIGJ5IGFwcC1yb3V0ZXIgaXQgd2lsbCByZWxvYWQgdGhlIHBhZ2UuXG4gICAgICogVGhhdCBjYXNlIGNhbiBoYXBwZW4gd2hlbiB0aGUgb2xkIHJvdXRlciBpbmplY3RlZCB0aGUgaGlzdG9yeSBlbnRyeS5cbiAgICAgKi8gY29uc3Qgb25Qb3BTdGF0ZSA9IChwYXJhbSk9PntcbiAgICAgICAgICAgIGxldCB7IHN0YXRlIH0gPSBwYXJhbTtcbiAgICAgICAgICAgIGlmICghc3RhdGUpIHtcbiAgICAgICAgICAgICAgICAvLyBUT0RPLUFQUDogdGhpcyBjYXNlIG9ubHkgaGFwcGVucyB3aGVuIHB1c2hTdGF0ZS9yZXBsYWNlU3RhdGUgd2FzIGNhbGxlZCBvdXRzaWRlIG9mIE5leHQuanMuIEl0IHNob3VsZCBwcm9iYWJseSByZWxvYWQgdGhlIHBhZ2UgaW4gdGhpcyBjYXNlLlxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFRoaXMgY2FzZSBoYXBwZW5zIHdoZW4gdGhlIGhpc3RvcnkgZW50cnkgd2FzIHB1c2hlZCBieSB0aGUgYHBhZ2VzYCByb3V0ZXIuXG4gICAgICAgICAgICBpZiAoIXN0YXRlLl9fTkEpIHtcbiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSB1c2VUcmFuc2l0aW9uIGV4aXN0c1xuICAgICAgICAgICAgLy8gVE9ETy1BUFA6IElkZWFsbHkgdGhlIGJhY2sgYnV0dG9uIHNob3VsZCBub3QgdXNlIHN0YXJ0VHJhbnNpdGlvbiBhcyBpdCBzaG91bGQgYXBwbHkgdGhlIHVwZGF0ZXMgc3luY2hyb25vdXNseVxuICAgICAgICAgICAgLy8gV2l0aG91dCBzdGFydFRyYW5zaXRpb24gd29ya3MgaWYgdGhlIGNhY2hlIGlzIHRoZXJlIGZvciB0aGlzIHBhdGhcbiAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fUkVTVE9SRSxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSxcbiAgICAgICAgICAgICAgICAgICAgdHJlZTogc3RhdGUuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIC8vIFJlZ2lzdGVyIHBvcHN0YXRlIGV2ZW50IHRvIGNhbGwgb25Qb3BzdGF0ZS5cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJwb3BzdGF0ZVwiLCBvblBvcFN0YXRlKTtcbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICB3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUgPSBvcmlnaW5hbFB1c2hTdGF0ZTtcbiAgICAgICAgICAgIHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSA9IG9yaWdpbmFsUmVwbGFjZVN0YXRlO1xuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb3BzdGF0ZVwiLCBvblBvcFN0YXRlKTtcbiAgICAgICAgfTtcbiAgICB9LCBbXG4gICAgICAgIGRpc3BhdGNoXG4gICAgXSk7XG4gICAgY29uc3QgeyBjYWNoZSwgdHJlZSwgbmV4dFVybCwgZm9jdXNBbmRTY3JvbGxSZWYgfSA9ICgwLCBfdXNlcmVkdWNlcndpdGhkZXZ0b29scy51c2VVbndyYXBTdGF0ZSkocmVkdWNlclN0YXRlKTtcbiAgICBjb25zdCBtYXRjaGluZ0hlYWQgPSAoMCwgX3JlYWN0LnVzZU1lbW8pKCgpPT57XG4gICAgICAgIHJldHVybiAoMCwgX2ZpbmRoZWFkaW5jYWNoZS5maW5kSGVhZEluQ2FjaGUpKGNhY2hlLCB0cmVlWzFdKTtcbiAgICB9LCBbXG4gICAgICAgIGNhY2hlLFxuICAgICAgICB0cmVlXG4gICAgXSk7XG4gICAgbGV0IGhlYWQ7XG4gICAgaWYgKG1hdGNoaW5nSGVhZCAhPT0gbnVsbCkge1xuICAgICAgICAvLyBUaGUgaGVhZCBpcyB3cmFwcGVkIGluIGFuIGV4dHJhIGNvbXBvbmVudCBzbyB3ZSBjYW4gdXNlXG4gICAgICAgIC8vIGB1c2VEZWZlcnJlZFZhbHVlYCB0byBzd2FwIGJldHdlZW4gdGhlIHByZWZldGNoZWQgYW5kIGZpbmFsIHZlcnNpb25zIG9mXG4gICAgICAgIC8vIHRoZSBoZWFkLiAoVGhpcyBpcyB3aGF0IExheW91dFJvdXRlciBkb2VzIGZvciBzZWdtZW50IGRhdGEsIHRvby4pXG4gICAgICAgIC8vXG4gICAgICAgIC8vIFRoZSBga2V5YCBpcyB1c2VkIHRvIHJlbW91bnQgdGhlIGNvbXBvbmVudCB3aGVuZXZlciB0aGUgaGVhZCBtb3ZlcyB0b1xuICAgICAgICAvLyBhIGRpZmZlcmVudCBzZWdtZW50LlxuICAgICAgICBjb25zdCBbaGVhZENhY2hlTm9kZSwgaGVhZEtleV0gPSBtYXRjaGluZ0hlYWQ7XG4gICAgICAgIGhlYWQgPSAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKEhlYWQsIHtcbiAgICAgICAgICAgIGhlYWRDYWNoZU5vZGU6IGhlYWRDYWNoZU5vZGVcbiAgICAgICAgfSwgaGVhZEtleSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaGVhZCA9IG51bGw7XG4gICAgfVxuICAgIGxldCBjb250ZW50ID0gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX3JlZGlyZWN0Ym91bmRhcnkuUmVkaXJlY3RCb3VuZGFyeSwge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgaGVhZCxcbiAgICAgICAgICAgIGNhY2hlLnJzYyxcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2FwcHJvdXRlcmFubm91bmNlci5BcHBSb3V0ZXJBbm5vdW5jZXIsIHtcbiAgICAgICAgICAgICAgICB0cmVlOiB0cmVlXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgY29uc3QgRGV2Um9vdE5vdEZvdW5kQm91bmRhcnkgPSByZXF1aXJlKFwiLi9kZXYtcm9vdC1ub3QtZm91bmQtYm91bmRhcnlcIikuRGV2Um9vdE5vdEZvdW5kQm91bmRhcnk7XG4gICAgICAgICAgICBjb250ZW50ID0gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShEZXZSb290Tm90Rm91bmRCb3VuZGFyeSwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5NaXNzaW5nU2xvdENvbnRleHQuUHJvdmlkZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG1pc3NpbmdTbG90cyxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IGNvbnRlbnRcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgSG90UmVsb2FkZXIgPSByZXF1aXJlKFwiLi9yZWFjdC1kZXYtb3ZlcmxheS9ob3QtcmVsb2FkZXItY2xpZW50XCIpLmRlZmF1bHQ7XG4gICAgICAgIGNvbnRlbnQgPSAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKEhvdFJlbG9hZGVyLCB7XG4gICAgICAgICAgICBhc3NldFByZWZpeDogYXNzZXRQcmVmaXgsXG4gICAgICAgICAgICBjaGlsZHJlbjogY29udGVudFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKEhpc3RvcnlVcGRhdGVyLCB7XG4gICAgICAgICAgICAgICAgYXBwUm91dGVyU3RhdGU6ICgwLCBfdXNlcmVkdWNlcndpdGhkZXZ0b29scy51c2VVbndyYXBTdGF0ZSkocmVkdWNlclN0YXRlKSxcbiAgICAgICAgICAgICAgICBzeW5jOiBzeW5jXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2hvb2tzY2xpZW50Y29udGV4dHNoYXJlZHJ1bnRpbWUuUGF0aG5hbWVDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHBhdGhuYW1lLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9ob29rc2NsaWVudGNvbnRleHRzaGFyZWRydW50aW1lLlNlYXJjaFBhcmFtc0NvbnRleHQuUHJvdmlkZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHNlYXJjaFBhcmFtcyxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkdsb2JhbExheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VCeVNlcnZlclJlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyZWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNBbmRTY3JvbGxSZWYsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFVybFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5BcHBSb3V0ZXJDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGFwcFJvdXRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuTGF5b3V0Um91dGVyQ29udGV4dC5Qcm92aWRlciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGROb2RlczogY2FjaGUucGFyYWxsZWxSb3V0ZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUm9vdCBub2RlIGFsd2F5cyBoYXMgYHVybGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFByb3ZpZGVkIGluIEFwcFRyZWVDb250ZXh0IHRvIGVuc3VyZSBpdCBjYW4gYmUgb3ZlcndyaXR0ZW4gaW4gbGF5b3V0LXJvdXRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBjYW5vbmljYWxVcmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IGNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0pO1xufVxuZnVuY3Rpb24gQXBwUm91dGVyKHByb3BzKSB7XG4gICAgY29uc3QgeyBnbG9iYWxFcnJvckNvbXBvbmVudCwgLi4ucmVzdCB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2Vycm9yYm91bmRhcnkuRXJyb3JCb3VuZGFyeSwge1xuICAgICAgICBlcnJvckNvbXBvbmVudDogZ2xvYmFsRXJyb3JDb21wb25lbnQsXG4gICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFJvdXRlciwge1xuICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICB9KVxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcm91dGVyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImdldFNlcnZlckFjdGlvbkRpc3BhdGNoZXIiLCJ1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXIiLCJjcmVhdGVFbXB0eUNhY2hlTm9kZSIsImRlZmF1bHQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJBcHBSb3V0ZXIiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSIsIl9yb3V0ZXJyZWR1Y2VydHlwZXMiLCJfY3JlYXRlaHJlZmZyb211cmwiLCJfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZSIsIl91c2VyZWR1Y2Vyd2l0aGRldnRvb2xzIiwiX2Vycm9yYm91bmRhcnkiLCJfY3JlYXRlaW5pdGlhbHJvdXRlcnN0YXRlIiwiX2lzYm90IiwiX2FkZGJhc2VwYXRoIiwiX2FwcHJvdXRlcmFubm91bmNlciIsIl9yZWRpcmVjdGJvdW5kYXJ5IiwiX2ZpbmRoZWFkaW5jYWNoZSIsIl9pbmZpbml0ZXByb21pc2UiLCJfYXBwcm91dGVyaGVhZGVycyIsIl9yZW1vdmViYXNlcGF0aCIsIl9oYXNiYXNlcGF0aCIsImlzU2VydmVyIiwiaW5pdGlhbFBhcmFsbGVsUm91dGVzIiwiTWFwIiwiZ2xvYmFsU2VydmVyQWN0aW9uRGlzcGF0Y2hlciIsImdsb2JhbE11dGFibGUiLCJ1cmwiLCJ1cmxXaXRob3V0RmxpZ2h0UGFyYW1ldGVycyIsIlVSTCIsImxvY2F0aW9uIiwib3JpZ2luIiwic2VhcmNoUGFyYW1zIiwiZGVsZXRlIiwiTkVYVF9SU0NfVU5JT05fUVVFUlkiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0NPTkZJR19PVVRQVVQiLCJwYXRobmFtZSIsImVuZHNXaXRoIiwibGVuZ3RoIiwic2xpY2UiLCJpc0V4dGVybmFsVVJMIiwid2luZG93IiwiSGlzdG9yeVVwZGF0ZXIiLCJwYXJhbSIsImFwcFJvdXRlclN0YXRlIiwic3luYyIsInVzZUluc2VydGlvbkVmZmVjdCIsInRyZWUiLCJwdXNoUmVmIiwiY2Fub25pY2FsVXJsIiwiaGlzdG9yeVN0YXRlIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJoaXN0b3J5Iiwic3RhdGUiLCJfX05BIiwiX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSIsInBlbmRpbmdQdXNoIiwiY3JlYXRlSHJlZkZyb21VcmwiLCJocmVmIiwicHVzaFN0YXRlIiwicmVwbGFjZVN0YXRlIiwibGF6eURhdGEiLCJyc2MiLCJwcmVmZXRjaFJzYyIsInBhcmFsbGVsUm91dGVzIiwidXNlU2VydmVyQWN0aW9uRGlzcGF0Y2hlciIsImRpc3BhdGNoIiwic2VydmVyQWN0aW9uRGlzcGF0Y2hlciIsInVzZUNhbGxiYWNrIiwiYWN0aW9uUGF5bG9hZCIsInN0YXJ0VHJhbnNpdGlvbiIsInR5cGUiLCJBQ1RJT05fU0VSVkVSX0FDVElPTiIsInVzZUNoYW5nZUJ5U2VydmVyUmVzcG9uc2UiLCJwcmV2aW91c1RyZWUiLCJmbGlnaHREYXRhIiwib3ZlcnJpZGVDYW5vbmljYWxVcmwiLCJBQ1RJT05fU0VSVkVSX1BBVENIIiwidXNlTmF2aWdhdGUiLCJuYXZpZ2F0ZVR5cGUiLCJzaG91bGRTY3JvbGwiLCJhZGRCYXNlUGF0aCIsIkFDVElPTl9OQVZJR0FURSIsImlzRXh0ZXJuYWxVcmwiLCJsb2NhdGlvblNlYXJjaCIsInNlYXJjaCIsImNvcHlOZXh0SnNJbnRlcm5hbEhpc3RvcnlTdGF0ZSIsImRhdGEiLCJjdXJyZW50U3RhdGUiLCJIZWFkIiwiaGVhZENhY2hlTm9kZSIsImhlYWQiLCJwcmVmZXRjaEhlYWQiLCJyZXNvbHZlZFByZWZldGNoUnNjIiwidXNlRGVmZXJyZWRWYWx1ZSIsIlJvdXRlciIsImJ1aWxkSWQiLCJpbml0aWFsSGVhZCIsImluaXRpYWxUcmVlIiwiaW5pdGlhbENhbm9uaWNhbFVybCIsImluaXRpYWxTZWVkRGF0YSIsImFzc2V0UHJlZml4IiwibWlzc2luZ1Nsb3RzIiwiaW5pdGlhbFN0YXRlIiwidXNlTWVtbyIsImNyZWF0ZUluaXRpYWxSb3V0ZXJTdGF0ZSIsInJlZHVjZXJTdGF0ZSIsInVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29scyIsInVzZUVmZmVjdCIsInVzZVVud3JhcFN0YXRlIiwiaGFzQmFzZVBhdGgiLCJyZW1vdmVCYXNlUGF0aCIsImNoYW5nZUJ5U2VydmVyUmVzcG9uc2UiLCJuYXZpZ2F0ZSIsImFwcFJvdXRlciIsInJvdXRlckluc3RhbmNlIiwiYmFjayIsImZvcndhcmQiLCJwcmVmZXRjaCIsIm9wdGlvbnMiLCJpc0JvdCIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsIl9vcHRpb25zX2tpbmQiLCJBQ1RJT05fUFJFRkVUQ0giLCJraW5kIiwiUHJlZmV0Y2hLaW5kIiwiRlVMTCIsInJlcGxhY2UiLCJfb3B0aW9uc19zY3JvbGwiLCJzY3JvbGwiLCJwdXNoIiwicmVmcmVzaCIsIkFDVElPTl9SRUZSRVNIIiwiZmFzdFJlZnJlc2giLCJFcnJvciIsIkFDVElPTl9GQVNUX1JFRlJFU0giLCJuZXh0Iiwicm91dGVyIiwiY2FjaGUiLCJwcmVmZXRjaENhY2hlIiwibmQiLCJoYW5kbGVQYWdlU2hvdyIsImV2ZW50IiwiX3dpbmRvd19oaXN0b3J5X3N0YXRlIiwicGVyc2lzdGVkIiwiQUNUSU9OX1JFU1RPUkUiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm1wYU5hdmlnYXRpb24iLCJwZW5kaW5nTXBhUGF0aCIsImxvY2F0aW9uMSIsImFzc2lnbiIsInVzZSIsImNyZWF0ZUluZmluaXRlUHJvbWlzZSIsIm9yaWdpbmFsUHVzaFN0YXRlIiwiYmluZCIsIm9yaWdpbmFsUmVwbGFjZVN0YXRlIiwiYXBwbHlVcmxGcm9tSGlzdG9yeVB1c2hSZXBsYWNlIiwiX3VudXNlZCIsIl9OIiwib25Qb3BTdGF0ZSIsInJlbG9hZCIsIm5leHRVcmwiLCJmb2N1c0FuZFNjcm9sbFJlZiIsIm1hdGNoaW5nSGVhZCIsImZpbmRIZWFkSW5DYWNoZSIsImhlYWRLZXkiLCJqc3giLCJjb250ZW50IiwianN4cyIsIlJlZGlyZWN0Qm91bmRhcnkiLCJjaGlsZHJlbiIsIkFwcFJvdXRlckFubm91bmNlciIsIkRldlJvb3ROb3RGb3VuZEJvdW5kYXJ5IiwiTWlzc2luZ1Nsb3RDb250ZXh0IiwiUHJvdmlkZXIiLCJIb3RSZWxvYWRlciIsIkZyYWdtZW50IiwiUGF0aG5hbWVDb250ZXh0IiwiU2VhcmNoUGFyYW1zQ29udGV4dCIsIkdsb2JhbExheW91dFJvdXRlckNvbnRleHQiLCJBcHBSb3V0ZXJDb250ZXh0IiwiTGF5b3V0Um91dGVyQ29udGV4dCIsImNoaWxkTm9kZXMiLCJwcm9wcyIsImdsb2JhbEVycm9yQ29tcG9uZW50IiwicmVzdCIsIkVycm9yQm91bmRhcnkiLCJlcnJvckNvbXBvbmVudCIsIl9fZXNNb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js": /*!*********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/bailout-to-client-rendering.js ***! \*********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"bailoutToClientRendering\", ({\n enumerable: true,\n get: function() {\n return bailoutToClientRendering;\n }\n}));\nconst _bailouttocsr = __webpack_require__(/*! ../../shared/lib/lazy-dynamic/bailout-to-csr */ \"(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"./static-generation-async-storage.external\");\nfunction bailoutToClientRendering(reason) {\n const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.forceStatic) return;\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.isStaticGeneration) throw new _bailouttocsr.BailoutToCSRError(reason);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=bailout-to-client-rendering.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2JhaWxvdXQtdG8tY2xpZW50LXJlbmRlcmluZy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNERBQTJEO0lBQ3ZESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsZ0JBQWdCQyxtQkFBT0EsQ0FBQyw4SEFBOEM7QUFDNUUsTUFBTUMsd0NBQXdDRCxtQkFBT0EsQ0FBQyw4RkFBNEM7QUFDbEcsU0FBU0YseUJBQXlCSSxNQUFNO0lBQ3BDLE1BQU1DLHdCQUF3QkYsc0NBQXNDRyw0QkFBNEIsQ0FBQ0MsUUFBUTtJQUN6RyxJQUFJRix5QkFBeUIsT0FBTyxLQUFLLElBQUlBLHNCQUFzQkcsV0FBVyxFQUFFO0lBQ2hGLElBQUlILHlCQUF5QixPQUFPLEtBQUssSUFBSUEsc0JBQXNCSSxrQkFBa0IsRUFBRSxNQUFNLElBQUlSLGNBQWNTLGlCQUFpQixDQUFDTjtBQUNySTtBQUVBLElBQUksQ0FBQyxPQUFPUixRQUFRZSxPQUFPLEtBQUssY0FBZSxPQUFPZixRQUFRZSxPQUFPLEtBQUssWUFBWWYsUUFBUWUsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZixRQUFRZSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLbEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRZSxPQUFPLEVBQUUsY0FBYztRQUFFZCxPQUFPO0lBQUs7SUFDbkVILE9BQU9tQixNQUFNLENBQUNqQixRQUFRZSxPQUFPLEVBQUVmO0lBQy9Ca0IsT0FBT2xCLE9BQU8sR0FBR0EsUUFBUWUsT0FBTztBQUNsQyxFQUVBLHVEQUF1RCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYmFpbG91dC10by1jbGllbnQtcmVuZGVyaW5nLmpzP2IxNzciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJiYWlsb3V0VG9DbGllbnRSZW5kZXJpbmdcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJhaWxvdXRUb0NsaWVudFJlbmRlcmluZztcbiAgICB9XG59KTtcbmNvbnN0IF9iYWlsb3V0dG9jc3IgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9sYXp5LWR5bmFtaWMvYmFpbG91dC10by1jc3JcIik7XG5jb25zdCBfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsID0gcmVxdWlyZShcIi4vc3RhdGljLWdlbmVyYXRpb24tYXN5bmMtc3RvcmFnZS5leHRlcm5hbFwiKTtcbmZ1bmN0aW9uIGJhaWxvdXRUb0NsaWVudFJlbmRlcmluZyhyZWFzb24pIHtcbiAgICBjb25zdCBzdGF0aWNHZW5lcmF0aW9uU3RvcmUgPSBfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsLnN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtcbiAgICBpZiAoc3RhdGljR2VuZXJhdGlvblN0b3JlID09IG51bGwgPyB2b2lkIDAgOiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZm9yY2VTdGF0aWMpIHJldHVybjtcbiAgICBpZiAoc3RhdGljR2VuZXJhdGlvblN0b3JlID09IG51bGwgPyB2b2lkIDAgOiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaXNTdGF0aWNHZW5lcmF0aW9uKSB0aHJvdyBuZXcgX2JhaWxvdXR0b2Nzci5CYWlsb3V0VG9DU1JFcnJvcihyZWFzb24pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1iYWlsb3V0LXRvLWNsaWVudC1yZW5kZXJpbmcuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImJhaWxvdXRUb0NsaWVudFJlbmRlcmluZyIsIl9iYWlsb3V0dG9jc3IiLCJyZXF1aXJlIiwiX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbCIsInJlYXNvbiIsInN0YXRpY0dlbmVyYXRpb25TdG9yZSIsInN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UiLCJnZXRTdG9yZSIsImZvcmNlU3RhdGljIiwiaXNTdGF0aWNHZW5lcmF0aW9uIiwiQmFpbG91dFRvQ1NSRXJyb3IiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/client-hook-in-server-component-error.js": /*!*******************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/client-hook-in-server-component-error.js ***! \*******************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"clientHookInServerComponentError\", ({\n enumerable: true,\n get: function() {\n return clientHookInServerComponentError;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nfunction clientHookInServerComponentError(hookName) {\n if (true) {\n // If useState is undefined we're in a server component\n if (!_react.default.useState) {\n throw new Error(\"\" + hookName + ' only works in Client Components. Add the \"use client\" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component');\n }\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=client-hook-in-server-component-error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1ob29rLWluLXNlcnZlci1jb21wb25lbnQtZXJyb3IuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG9FQUFtRTtJQUMvREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsa0hBQXlDO0FBQ2xGLE1BQU1DLFNBQVMsV0FBVyxHQUFHRix5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsU0FBU0YsaUNBQWlDSyxRQUFRO0lBQzlDLElBQUlDLElBQXFDLEVBQUU7UUFDdkMsdURBQXVEO1FBQ3ZELElBQUksQ0FBQ0gsT0FBT0ksT0FBTyxDQUFDQyxRQUFRLEVBQUU7WUFDMUIsTUFBTSxJQUFJQyxNQUFNLEtBQUtKLFdBQVc7UUFDcEM7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9ULFFBQVFXLE9BQU8sS0FBSyxjQUFlLE9BQU9YLFFBQVFXLE9BQU8sS0FBSyxZQUFZWCxRQUFRVyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9YLFFBQVFXLE9BQU8sQ0FBQ0csVUFBVSxLQUFLLGFBQWE7SUFDcktoQixPQUFPQyxjQUFjLENBQUNDLFFBQVFXLE9BQU8sRUFBRSxjQUFjO1FBQUVWLE9BQU87SUFBSztJQUNuRUgsT0FBT2lCLE1BQU0sQ0FBQ2YsUUFBUVcsT0FBTyxFQUFFWDtJQUMvQmdCLE9BQU9oQixPQUFPLEdBQUdBLFFBQVFXLE9BQU87QUFDbEMsRUFFQSxpRUFBaUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1ob29rLWluLXNlcnZlci1jb21wb25lbnQtZXJyb3IuanM/M2RhYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNsaWVudEhvb2tJblNlcnZlckNvbXBvbmVudEVycm9yXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5mdW5jdGlvbiBjbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvcihob29rTmFtZSkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgLy8gSWYgdXNlU3RhdGUgaXMgdW5kZWZpbmVkIHdlJ3JlIGluIGEgc2VydmVyIGNvbXBvbmVudFxuICAgICAgICBpZiAoIV9yZWFjdC5kZWZhdWx0LnVzZVN0YXRlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJcIiArIGhvb2tOYW1lICsgJyBvbmx5IHdvcmtzIGluIENsaWVudCBDb21wb25lbnRzLiBBZGQgdGhlIFwidXNlIGNsaWVudFwiIGRpcmVjdGl2ZSBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlIHRvIHVzZSBpdC4gUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9yZWFjdC1jbGllbnQtaG9vay1pbi1zZXJ2ZXItY29tcG9uZW50Jyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNsaWVudC1ob29rLWluLXNlcnZlci1jb21wb25lbnQtZXJyb3IuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImNsaWVudEhvb2tJblNlcnZlckNvbXBvbmVudEVycm9yIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdCIsIl8iLCJob29rTmFtZSIsInByb2Nlc3MiLCJkZWZhdWx0IiwidXNlU3RhdGUiLCJFcnJvciIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/client-hook-in-server-component-error.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/error-boundary.js": /*!********************************************************************!*\ !*** ./node_modules/next/dist/client/components/error-boundary.js ***! \********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ErrorBoundaryHandler: function() {\n return ErrorBoundaryHandler;\n },\n GlobalError: function() {\n return GlobalError;\n },\n // Exported so that the import signature in the loaders can be identical to user\n // supplied custom global error signatures.\n default: function() {\n return _default;\n },\n ErrorBoundary: function() {\n return ErrorBoundary;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _isnextroutererror = __webpack_require__(/*! ./is-next-router-error */ \"(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js\");\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n text: {\n fontSize: \"14px\",\n fontWeight: 400,\n lineHeight: \"28px\",\n margin: \"0 8px\"\n }\n};\n// if we are revalidating we want to re-throw the error so the\n// function crashes so we can maintain our previous cache\n// instead of caching the error page\nfunction HandleISRError(param) {\n let { error } = param;\n if (typeof fetch.__nextGetStaticStore === \"function\") {\n var _fetch___nextGetStaticStore;\n const store = (_fetch___nextGetStaticStore = fetch.__nextGetStaticStore()) == null ? void 0 : _fetch___nextGetStaticStore.getStore();\n if ((store == null ? void 0 : store.isRevalidate) || (store == null ? void 0 : store.isStaticGeneration)) {\n console.error(error);\n throw error;\n }\n }\n return null;\n}\nclass ErrorBoundaryHandler extends _react.default.Component {\n static getDerivedStateFromError(error) {\n if ((0, _isnextroutererror.isNextRouterError)(error)) {\n // Re-throw if an expected internal Next.js router error occurs\n // this means it should be handled by a different boundary (such as a NotFound boundary in a parent segment)\n throw error;\n }\n return {\n error\n };\n }\n static getDerivedStateFromProps(props, state) {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.error) {\n return {\n error: null,\n previousPathname: props.pathname\n };\n }\n return {\n error: state.error,\n previousPathname: props.pathname\n };\n }\n render() {\n if (this.state.error) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {\n error: this.state.error\n }),\n this.props.errorStyles,\n this.props.errorScripts,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(this.props.errorComponent, {\n error: this.state.error,\n reset: this.reset\n })\n ]\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.reset = ()=>{\n this.setState({\n error: null\n });\n };\n this.state = {\n error: null,\n previousPathname: this.props.pathname\n };\n }\n}\nfunction GlobalError(param) {\n let { error } = param;\n const digest = error == null ? void 0 : error.digest;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n id: \"__next_error__\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"body\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {\n error: error\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.error,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n style: styles.text,\n children: \"Application error: a \" + (digest ? \"server\" : \"client\") + \"-side exception has occurred (see the \" + (digest ? \"server logs\" : \"browser console\") + \" for more information).\"\n }),\n digest ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n style: styles.text,\n children: \"Digest: \" + digest\n }) : null\n ]\n })\n })\n ]\n })\n ]\n });\n}\nconst _default = GlobalError;\nfunction ErrorBoundary(param) {\n let { errorComponent, errorStyles, errorScripts, children } = param;\n const pathname = (0, _navigation.usePathname)();\n if (errorComponent) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorBoundaryHandler, {\n pathname: pathname,\n errorComponent: errorComponent,\n errorStyles: errorStyles,\n errorScripts: errorScripts,\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=error-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzIiwibWFwcGluZ3MiOiJxREFFYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUtOO0FBQ0EsU0FBU0ssUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVgsT0FBT0MsY0FBYyxDQUFDUyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFQLFNBQVM7SUFDYkcsc0JBQXNCO1FBQ2xCLE9BQU9BO0lBQ1g7SUFDQUMsYUFBYTtRQUNULE9BQU9BO0lBQ1g7SUFDQSxnRkFBZ0Y7SUFDaEYsMkNBQTJDO0lBQzNDQyxTQUFTO1FBQ0wsT0FBT1E7SUFDWDtJQUNBUCxlQUFlO1FBQ1gsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTVEsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsTUFBTUksY0FBY0osbUJBQU9BLENBQUMsb0ZBQWM7QUFDMUMsTUFBTUsscUJBQXFCTCxtQkFBT0EsQ0FBQyx3R0FBd0I7QUFDM0QsTUFBTU0sU0FBUztJQUNYQyxPQUFPO1FBQ0gsMEZBQTBGO1FBQzFGQyxZQUFZO1FBQ1pDLFFBQVE7UUFDUkMsV0FBVztRQUNYQyxTQUFTO1FBQ1RDLGVBQWU7UUFDZkMsWUFBWTtRQUNaQyxnQkFBZ0I7SUFDcEI7SUFDQUMsTUFBTTtRQUNGQyxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkMsWUFBWTtRQUNaQyxRQUFRO0lBQ1o7QUFDSjtBQUNBLDhEQUE4RDtBQUM5RCx5REFBeUQ7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QUFRLEVBQUU7UUFDNURDLFVBQVVBO0lBQ2Q7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPeEQsUUFBUUssT0FBTyxLQUFLLGNBQWUsT0FBT0wsUUFBUUssT0FBTyxLQUFLLFlBQVlMLFFBQVFLLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT0wsUUFBUUssT0FBTyxDQUFDK0QsVUFBVSxLQUFLLGFBQWE7SUFDckt0RSxPQUFPQyxjQUFjLENBQUNDLFFBQVFLLE9BQU8sRUFBRSxjQUFjO1FBQUVKLE9BQU87SUFBSztJQUNuRUgsT0FBT3VFLE1BQU0sQ0FBQ3JFLFFBQVFLLE9BQU8sRUFBRUw7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUUssT0FBTztBQUNsQyxFQUVBLDBDQUEwQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkuanM/NzY5NyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBFcnJvckJvdW5kYXJ5SGFuZGxlcjogbnVsbCxcbiAgICBHbG9iYWxFcnJvcjogbnVsbCxcbiAgICBkZWZhdWx0OiBudWxsLFxuICAgIEVycm9yQm91bmRhcnk6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgRXJyb3JCb3VuZGFyeUhhbmRsZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRXJyb3JCb3VuZGFyeUhhbmRsZXI7XG4gICAgfSxcbiAgICBHbG9iYWxFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBHbG9iYWxFcnJvcjtcbiAgICB9LFxuICAgIC8vIEV4cG9ydGVkIHNvIHRoYXQgdGhlIGltcG9ydCBzaWduYXR1cmUgaW4gdGhlIGxvYWRlcnMgY2FuIGJlIGlkZW50aWNhbCB0byB1c2VyXG4gICAgLy8gc3VwcGxpZWQgY3VzdG9tIGdsb2JhbCBlcnJvciBzaWduYXR1cmVzLlxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2RlZmF1bHQ7XG4gICAgfSxcbiAgICBFcnJvckJvdW5kYXJ5OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEVycm9yQm91bmRhcnk7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfbmF2aWdhdGlvbiA9IHJlcXVpcmUoXCIuL25hdmlnYXRpb25cIik7XG5jb25zdCBfaXNuZXh0cm91dGVyZXJyb3IgPSByZXF1aXJlKFwiLi9pcy1uZXh0LXJvdXRlci1lcnJvclwiKTtcbmNvbnN0IHN0eWxlcyA9IHtcbiAgICBlcnJvcjoge1xuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL21vZGVybi1ub3JtYWxpemUvYmxvYi9tYWluL21vZGVybi1ub3JtYWxpemUuY3NzI0wzOC1MNTJcbiAgICAgICAgZm9udEZhbWlseTogJ3N5c3RlbS11aSxcIlNlZ29lIFVJXCIsUm9ib3RvLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmLFwiQXBwbGUgQ29sb3IgRW1vamlcIixcIlNlZ29lIFVJIEVtb2ppXCInLFxuICAgICAgICBoZWlnaHQ6IFwiMTAwdmhcIixcbiAgICAgICAgdGV4dEFsaWduOiBcImNlbnRlclwiLFxuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCJcbiAgICB9LFxuICAgIHRleHQ6IHtcbiAgICAgICAgZm9udFNpemU6IFwiMTRweFwiLFxuICAgICAgICBmb250V2VpZ2h0OiA0MDAsXG4gICAgICAgIGxpbmVIZWlnaHQ6IFwiMjhweFwiLFxuICAgICAgICBtYXJnaW46IFwiMCA4cHhcIlxuICAgIH1cbn07XG4vLyBpZiB3ZSBhcmUgcmV2YWxpZGF0aW5nIHdlIHdhbnQgdG8gcmUtdGhyb3cgdGhlIGVycm9yIHNvIHRoZVxuLy8gZnVuY3Rpb24gY3Jhc2hlcyBzbyB3ZSBjYW4gbWFpbnRhaW4gb3VyIHByZXZpb3VzIGNhY2hlXG4vLyBpbnN0ZWFkIG9mIGNhY2hpbmcgdGhlIGVycm9yIHBhZ2VcbmZ1bmN0aW9uIEhhbmRsZUlTUkVycm9yKHBhcmFtKSB7XG4gICAgbGV0IHsgZXJyb3IgfSA9IHBhcmFtO1xuICAgIGlmICh0eXBlb2YgZmV0Y2guX19uZXh0R2V0U3RhdGljU3RvcmUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICB2YXIgX2ZldGNoX19fbmV4dEdldFN0YXRpY1N0b3JlO1xuICAgICAgICBjb25zdCBzdG9yZSA9IChfZmV0Y2hfX19uZXh0R2V0U3RhdGljU3RvcmUgPSBmZXRjaC5fX25leHRHZXRTdGF0aWNTdG9yZSgpKSA9PSBudWxsID8gdm9pZCAwIDogX2ZldGNoX19fbmV4dEdldFN0YXRpY1N0b3JlLmdldFN0b3JlKCk7XG4gICAgICAgIGlmICgoc3RvcmUgPT0gbnVsbCA/IHZvaWQgMCA6IHN0b3JlLmlzUmV2YWxpZGF0ZSkgfHwgKHN0b3JlID09IG51bGwgPyB2b2lkIDAgOiBzdG9yZS5pc1N0YXRpY0dlbmVyYXRpb24pKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuY2xhc3MgRXJyb3JCb3VuZGFyeUhhbmRsZXIgZXh0ZW5kcyBfcmVhY3QuZGVmYXVsdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3IpIHtcbiAgICAgICAgaWYgKCgwLCBfaXNuZXh0cm91dGVyZXJyb3IuaXNOZXh0Um91dGVyRXJyb3IpKGVycm9yKSkge1xuICAgICAgICAgICAgLy8gUmUtdGhyb3cgaWYgYW4gZXhwZWN0ZWQgaW50ZXJuYWwgTmV4dC5qcyByb3V0ZXIgZXJyb3Igb2NjdXJzXG4gICAgICAgICAgICAvLyB0aGlzIG1lYW5zIGl0IHNob3VsZCBiZSBoYW5kbGVkIGJ5IGEgZGlmZmVyZW50IGJvdW5kYXJ5IChzdWNoIGFzIGEgTm90Rm91bmQgYm91bmRhcnkgaW4gYSBwYXJlbnQgc2VnbWVudClcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBlcnJvclxuICAgICAgICB9O1xuICAgIH1cbiAgICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKHByb3BzLCBzdGF0ZSkge1xuICAgICAgICAvKipcbiAgICAgKiBIYW5kbGVzIHJlc2V0IG9mIHRoZSBlcnJvciBib3VuZGFyeSB3aGVuIGEgbmF2aWdhdGlvbiBoYXBwZW5zLlxuICAgICAqIEVuc3VyZXMgdGhlIGVycm9yIGJvdW5kYXJ5IGRvZXMgbm90IHN0YXkgZW5hYmxlZCB3aGVuIG5hdmlnYXRpbmcgdG8gYSBuZXcgcGFnZS5cbiAgICAgKiBBcHByb2FjaCBvZiBzZXRTdGF0ZSBpbiByZW5kZXIgaXMgc2FmZSBhcyBpdCBjaGVja3MgdGhlIHByZXZpb3VzIHBhdGhuYW1lIGFuZCB0aGVuIG92ZXJyaWRlc1xuICAgICAqIGl0IGFzIG91dGxpbmVkIGluIGh0dHBzOi8vcmVhY3QuZGV2L3JlZmVyZW5jZS9yZWFjdC91c2VTdGF0ZSNzdG9yaW5nLWluZm9ybWF0aW9uLWZyb20tcHJldmlvdXMtcmVuZGVyc1xuICAgICAqLyBpZiAocHJvcHMucGF0aG5hbWUgIT09IHN0YXRlLnByZXZpb3VzUGF0aG5hbWUgJiYgc3RhdGUuZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICAgICAgICAgICAgcHJldmlvdXNQYXRobmFtZTogcHJvcHMucGF0aG5hbWVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVycm9yOiBzdGF0ZS5lcnJvcixcbiAgICAgICAgICAgIHByZXZpb3VzUGF0aG5hbWU6IHByb3BzLnBhdGhuYW1lXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoSGFuZGxlSVNSRXJyb3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiB0aGlzLnN0YXRlLmVycm9yXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmVycm9yU3R5bGVzLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmVycm9yU2NyaXB0cyxcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KSh0aGlzLnByb3BzLmVycm9yQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogdGhpcy5zdGF0ZS5lcnJvcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0OiB0aGlzLnJlc2V0XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW47XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHByb3BzKXtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICB0aGlzLnJlc2V0ID0gKCk9PntcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgIGVycm9yOiBudWxsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgICAgcHJldmlvdXNQYXRobmFtZTogdGhpcy5wcm9wcy5wYXRobmFtZVxuICAgICAgICB9O1xuICAgIH1cbn1cbmZ1bmN0aW9uIEdsb2JhbEVycm9yKHBhcmFtKSB7XG4gICAgbGV0IHsgZXJyb3IgfSA9IHBhcmFtO1xuICAgIGNvbnN0IGRpZ2VzdCA9IGVycm9yID09IG51bGwgPyB2b2lkIDAgOiBlcnJvci5kaWdlc3Q7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiaHRtbFwiLCB7XG4gICAgICAgIGlkOiBcIl9fbmV4dF9lcnJvcl9fXCIsXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiaGVhZFwiLCB7fSksXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImJvZHlcIiwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoSGFuZGxlSVNSRXJyb3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvclxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogc3R5bGVzLmVycm9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiaDJcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy50ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFwiQXBwbGljYXRpb24gZXJyb3I6IGEgXCIgKyAoZGlnZXN0ID8gXCJzZXJ2ZXJcIiA6IFwiY2xpZW50XCIpICsgXCItc2lkZSBleGNlcHRpb24gaGFzIG9jY3VycmVkIChzZWUgdGhlIFwiICsgKGRpZ2VzdCA/IFwic2VydmVyIGxvZ3NcIiA6IFwiYnJvd3NlciBjb25zb2xlXCIpICsgXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24pLlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWdlc3QgPyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwicFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogc3R5bGVzLnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogXCJEaWdlc3Q6IFwiICsgZGlnZXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pIDogbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0pO1xufVxuY29uc3QgX2RlZmF1bHQgPSBHbG9iYWxFcnJvcjtcbmZ1bmN0aW9uIEVycm9yQm91bmRhcnkocGFyYW0pIHtcbiAgICBsZXQgeyBlcnJvckNvbXBvbmVudCwgZXJyb3JTdHlsZXMsIGVycm9yU2NyaXB0cywgY2hpbGRyZW4gfSA9IHBhcmFtO1xuICAgIGNvbnN0IHBhdGhuYW1lID0gKDAsIF9uYXZpZ2F0aW9uLnVzZVBhdGhuYW1lKSgpO1xuICAgIGlmIChlcnJvckNvbXBvbmVudCkge1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShFcnJvckJvdW5kYXJ5SGFuZGxlciwge1xuICAgICAgICAgICAgcGF0aG5hbWU6IHBhdGhuYW1lLFxuICAgICAgICAgICAgZXJyb3JDb21wb25lbnQ6IGVycm9yQ29tcG9uZW50LFxuICAgICAgICAgICAgZXJyb3JTdHlsZXM6IGVycm9yU3R5bGVzLFxuICAgICAgICAgICAgZXJyb3JTY3JpcHRzOiBlcnJvclNjcmlwdHMsXG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1lcnJvci1ib3VuZGFyeS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJFcnJvckJvdW5kYXJ5SGFuZGxlciIsIkdsb2JhbEVycm9yIiwiZGVmYXVsdCIsIkVycm9yQm91bmRhcnkiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfZGVmYXVsdCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfbmF2aWdhdGlvbiIsIl9pc25leHRyb3V0ZXJlcnJvciIsInN0eWxlcyIsImVycm9yIiwiZm9udEZhbWlseSIsImhlaWdodCIsInRleHRBbGlnbiIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwidGV4dCIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImxpbmVIZWlnaHQiLCJtYXJnaW4iLCJIYW5kbGVJU1JFcnJvciIsInBhcmFtIiwiZmV0Y2giLCJfX25leHRHZXRTdGF0aWNTdG9yZSIsIl9mZXRjaF9fX25leHRHZXRTdGF0aWNTdG9yZSIsInN0b3JlIiwiZ2V0U3RvcmUiLCJpc1JldmFsaWRhdGUiLCJpc1N0YXRpY0dlbmVyYXRpb24iLCJjb25zb2xlIiwiQ29tcG9uZW50IiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiaXNOZXh0Um91dGVyRXJyb3IiLCJnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMiLCJwcm9wcyIsInN0YXRlIiwicGF0aG5hbWUiLCJwcmV2aW91c1BhdGhuYW1lIiwicmVuZGVyIiwianN4cyIsIkZyYWdtZW50IiwiY2hpbGRyZW4iLCJqc3giLCJlcnJvclN0eWxlcyIsImVycm9yU2NyaXB0cyIsImVycm9yQ29tcG9uZW50IiwicmVzZXQiLCJjb25zdHJ1Y3RvciIsInNldFN0YXRlIiwiZGlnZXN0IiwiaWQiLCJzdHlsZSIsInVzZVBhdGhuYW1lIiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/error-boundary.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/hooks-server-context.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/hooks-server-context.js ***! \**************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DynamicServerError: function() {\n return DynamicServerError;\n },\n isDynamicServerError: function() {\n return isDynamicServerError;\n }\n});\nconst DYNAMIC_ERROR_CODE = \"DYNAMIC_SERVER_USAGE\";\nclass DynamicServerError extends Error {\n constructor(description){\n super(\"Dynamic server usage: \" + description);\n this.description = description;\n this.digest = DYNAMIC_ERROR_CODE;\n }\n}\nfunction isDynamicServerError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err) || typeof err.digest !== \"string\") {\n return false;\n }\n return err.digest === DYNAMIC_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hooks-server-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyxzQkFBc0I7UUFDbEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8scUJBQXFCO0FBQzNCLE1BQU1SLDJCQUEyQlM7SUFDN0JDLFlBQVlDLFdBQVcsQ0FBQztRQUNwQixLQUFLLENBQUMsMkJBQTJCQTtRQUNqQyxJQUFJLENBQUNBLFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDQyxNQUFNLEdBQUdKO0lBQ2xCO0FBQ0o7QUFDQSxTQUFTUCxxQkFBcUJZLEdBQUc7SUFDN0IsSUFBSSxPQUFPQSxRQUFRLFlBQVlBLFFBQVEsUUFBUSxDQUFFLGFBQVlBLEdBQUUsS0FBTSxPQUFPQSxJQUFJRCxNQUFNLEtBQUssVUFBVTtRQUNqRyxPQUFPO0lBQ1g7SUFDQSxPQUFPQyxJQUFJRCxNQUFNLEtBQUtKO0FBQzFCO0FBRUEsSUFBSSxDQUFDLE9BQU9YLFFBQVFpQixPQUFPLEtBQUssY0FBZSxPQUFPakIsUUFBUWlCLE9BQU8sS0FBSyxZQUFZakIsUUFBUWlCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2pCLFFBQVFpQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLcEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRaUIsT0FBTyxFQUFFLGNBQWM7UUFBRWhCLE9BQU87SUFBSztJQUNuRUgsT0FBT3FCLE1BQU0sQ0FBQ25CLFFBQVFpQixPQUFPLEVBQUVqQjtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRaUIsT0FBTztBQUNsQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaG9va3Mtc2VydmVyLWNvbnRleHQuanM/MDA5YSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIER5bmFtaWNTZXJ2ZXJFcnJvcjogbnVsbCxcbiAgICBpc0R5bmFtaWNTZXJ2ZXJFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBEeW5hbWljU2VydmVyRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRHluYW1pY1NlcnZlckVycm9yO1xuICAgIH0sXG4gICAgaXNEeW5hbWljU2VydmVyRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNEeW5hbWljU2VydmVyRXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBEWU5BTUlDX0VSUk9SX0NPREUgPSBcIkRZTkFNSUNfU0VSVkVSX1VTQUdFXCI7XG5jbGFzcyBEeW5hbWljU2VydmVyRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IoZGVzY3JpcHRpb24pe1xuICAgICAgICBzdXBlcihcIkR5bmFtaWMgc2VydmVyIHVzYWdlOiBcIiArIGRlc2NyaXB0aW9uKTtcbiAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xuICAgICAgICB0aGlzLmRpZ2VzdCA9IERZTkFNSUNfRVJST1JfQ09ERTtcbiAgICB9XG59XG5mdW5jdGlvbiBpc0R5bmFtaWNTZXJ2ZXJFcnJvcihlcnIpIHtcbiAgICBpZiAodHlwZW9mIGVyciAhPT0gXCJvYmplY3RcIiB8fCBlcnIgPT09IG51bGwgfHwgIShcImRpZ2VzdFwiIGluIGVycikgfHwgdHlwZW9mIGVyci5kaWdlc3QgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZXJyLmRpZ2VzdCA9PT0gRFlOQU1JQ19FUlJPUl9DT0RFO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ob29rcy1zZXJ2ZXItY29udGV4dC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJEeW5hbWljU2VydmVyRXJyb3IiLCJpc0R5bmFtaWNTZXJ2ZXJFcnJvciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIkRZTkFNSUNfRVJST1JfQ09ERSIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJkZXNjcmlwdGlvbiIsImRpZ2VzdCIsImVyciIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/hooks-server-context.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/infinite-promise.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/client/components/infinite-promise.js ***! \**********************************************************************/ /***/ ((module, exports) => { "use strict"; eval("/**\n * Used to cache in createInfinitePromise\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createInfinitePromise\", ({\n enumerable: true,\n get: function() {\n return createInfinitePromise;\n }\n}));\nlet infinitePromise;\nfunction createInfinitePromise() {\n if (!infinitePromise) {\n // Only create the Promise once\n infinitePromise = new Promise(()=>{\n // This is used to debug when the rendering is never updated.\n // setTimeout(() => {\n // infinitePromise = new Error('Infinite promise')\n // resolve()\n // }, 5000)\n });\n }\n return infinitePromise;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=infinite-promise.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2luZmluaXRlLXByb21pc2UuanMiLCJtYXBwaW5ncyI6IkFBQUE7O0NBRUMsR0FBZ0I7QUFDakJBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx5REFBd0Q7SUFDcERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixJQUFJQztBQUNKLFNBQVNEO0lBQ0wsSUFBSSxDQUFDQyxpQkFBaUI7UUFDbEIsK0JBQStCO1FBQy9CQSxrQkFBa0IsSUFBSUMsUUFBUTtRQUM5Qiw2REFBNkQ7UUFDN0QscUJBQXFCO1FBQ3JCLG9EQUFvRDtRQUNwRCxjQUFjO1FBQ2QsV0FBVztRQUNYO0lBQ0o7SUFDQSxPQUFPRDtBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU9MLFFBQVFPLE9BQU8sS0FBSyxjQUFlLE9BQU9QLFFBQVFPLE9BQU8sS0FBSyxZQUFZUCxRQUFRTyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9QLFFBQVFPLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktWLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUU8sT0FBTyxFQUFFLGNBQWM7UUFBRU4sT0FBTztJQUFLO0lBQ25FSCxPQUFPVyxNQUFNLENBQUNULFFBQVFPLE9BQU8sRUFBRVA7SUFDL0JVLE9BQU9WLE9BQU8sR0FBR0EsUUFBUU8sT0FBTztBQUNsQyxFQUVBLDRDQUE0QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaW5maW5pdGUtcHJvbWlzZS5qcz83MmZmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXNlZCB0byBjYWNoZSBpbiBjcmVhdGVJbmZpbml0ZVByb21pc2VcbiAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNyZWF0ZUluZmluaXRlUHJvbWlzZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlSW5maW5pdGVQcm9taXNlO1xuICAgIH1cbn0pO1xubGV0IGluZmluaXRlUHJvbWlzZTtcbmZ1bmN0aW9uIGNyZWF0ZUluZmluaXRlUHJvbWlzZSgpIHtcbiAgICBpZiAoIWluZmluaXRlUHJvbWlzZSkge1xuICAgICAgICAvLyBPbmx5IGNyZWF0ZSB0aGUgUHJvbWlzZSBvbmNlXG4gICAgICAgIGluZmluaXRlUHJvbWlzZSA9IG5ldyBQcm9taXNlKCgpPT57XG4gICAgICAgIC8vIFRoaXMgaXMgdXNlZCB0byBkZWJ1ZyB3aGVuIHRoZSByZW5kZXJpbmcgaXMgbmV2ZXIgdXBkYXRlZC5cbiAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIC8vICAgaW5maW5pdGVQcm9taXNlID0gbmV3IEVycm9yKCdJbmZpbml0ZSBwcm9taXNlJylcbiAgICAgICAgLy8gICByZXNvbHZlKClcbiAgICAgICAgLy8gfSwgNTAwMClcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBpbmZpbml0ZVByb21pc2U7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZmluaXRlLXByb21pc2UuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImNyZWF0ZUluZmluaXRlUHJvbWlzZSIsImluZmluaXRlUHJvbWlzZSIsIlByb21pc2UiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/infinite-promise.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/is-next-router-error.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isNextRouterError\", ({\n enumerable: true,\n get: function() {\n return isNextRouterError;\n }\n}));\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(ssr)/./node_modules/next/dist/client/components/not-found.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(ssr)/./node_modules/next/dist/client/components/redirect.js\");\nfunction isNextRouterError(error) {\n return error && error.digest && ((0, _redirect.isRedirectError)(error) || (0, _notfound.isNotFoundError)(error));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=is-next-router-error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2lzLW5leHQtcm91dGVyLWVycm9yLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxxREFBb0Q7SUFDaERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxZQUFZQyxtQkFBT0EsQ0FBQyxrRkFBYTtBQUN2QyxNQUFNQyxZQUFZRCxtQkFBT0EsQ0FBQyxnRkFBWTtBQUN0QyxTQUFTRixrQkFBa0JJLEtBQUs7SUFDNUIsT0FBT0EsU0FBU0EsTUFBTUMsTUFBTSxJQUFLLEVBQUMsR0FBR0YsVUFBVUcsZUFBZSxFQUFFRixVQUFVLENBQUMsR0FBR0gsVUFBVU0sZUFBZSxFQUFFSCxNQUFLO0FBQ2xIO0FBRUEsSUFBSSxDQUFDLE9BQU9SLFFBQVFZLE9BQU8sS0FBSyxjQUFlLE9BQU9aLFFBQVFZLE9BQU8sS0FBSyxZQUFZWixRQUFRWSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9aLFFBQVFZLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktmLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVksT0FBTyxFQUFFLGNBQWM7UUFBRVgsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0IsTUFBTSxDQUFDZCxRQUFRWSxPQUFPLEVBQUVaO0lBQy9CZSxPQUFPZixPQUFPLEdBQUdBLFFBQVFZLE9BQU87QUFDbEMsRUFFQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2lzLW5leHQtcm91dGVyLWVycm9yLmpzP2Q5MDciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc05leHRSb3V0ZXJFcnJvclwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNOZXh0Um91dGVyRXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBfbm90Zm91bmQgPSByZXF1aXJlKFwiLi9ub3QtZm91bmRcIik7XG5jb25zdCBfcmVkaXJlY3QgPSByZXF1aXJlKFwiLi9yZWRpcmVjdFwiKTtcbmZ1bmN0aW9uIGlzTmV4dFJvdXRlckVycm9yKGVycm9yKSB7XG4gICAgcmV0dXJuIGVycm9yICYmIGVycm9yLmRpZ2VzdCAmJiAoKDAsIF9yZWRpcmVjdC5pc1JlZGlyZWN0RXJyb3IpKGVycm9yKSB8fCAoMCwgX25vdGZvdW5kLmlzTm90Rm91bmRFcnJvcikoZXJyb3IpKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXMtbmV4dC1yb3V0ZXItZXJyb3IuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImlzTmV4dFJvdXRlckVycm9yIiwiX25vdGZvdW5kIiwicmVxdWlyZSIsIl9yZWRpcmVjdCIsImVycm9yIiwiZGlnZXN0IiwiaXNSZWRpcmVjdEVycm9yIiwiaXNOb3RGb3VuZEVycm9yIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/layout-router.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/client/components/layout-router.js ***! \*******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return OuterLayoutRouter;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _fetchserverresponse = __webpack_require__(/*! ./router-reducer/fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _infinitepromise = __webpack_require__(/*! ./infinite-promise */ \"(ssr)/./node_modules/next/dist/client/components/infinite-promise.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _matchsegments = __webpack_require__(/*! ./match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _handlesmoothscroll = __webpack_require__(/*! ../../shared/lib/router/utils/handle-smooth-scroll */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _notfoundboundary = __webpack_require__(/*! ./not-found-boundary */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./router-reducer/create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\n/**\n * Add refetch marker to router state at the point of the current layout segment.\n * This ensures the response returned is not further down than the current layout segment.\n */ function walkAddRefetch(segmentPathToWalk, treeToRecreate) {\n if (segmentPathToWalk) {\n const [segment, parallelRouteKey] = segmentPathToWalk;\n const isLast = segmentPathToWalk.length === 2;\n if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) {\n if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) {\n if (isLast) {\n const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]);\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: [\n subTree[0],\n subTree[1],\n subTree[2],\n \"refetch\"\n ]\n }\n ];\n }\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey])\n }\n ];\n }\n }\n }\n return treeToRecreate;\n}\n// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available\n/**\n * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning\n */ function findDOMNode(instance) {\n // Tree-shake for server bundle\n if (true) return null;\n // Only apply strict mode warning when not in production\n if (true) {\n const originalConsoleError = console.error;\n try {\n console.error = function() {\n for(var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++){\n messages[_key] = arguments[_key];\n }\n // Ignore strict mode warning for the findDomNode call below\n if (!messages[0].includes(\"Warning: %s is deprecated in StrictMode.\")) {\n originalConsoleError(...messages);\n }\n };\n return _reactdom.default.findDOMNode(instance);\n } finally{\n console.error = originalConsoleError;\n }\n }\n return _reactdom.default.findDOMNode(instance);\n}\nconst rectProperties = [\n \"bottom\",\n \"height\",\n \"left\",\n \"right\",\n \"top\",\n \"width\",\n \"x\",\n \"y\"\n];\n/**\n * Check if a HTMLElement is hidden or fixed/sticky position\n */ function shouldSkipElement(element) {\n // we ignore fixed or sticky positioned elements since they'll likely pass the \"in-viewport\" check\n // and will result in a situation we bail on scroll because of something like a fixed nav,\n // even though the actual page content is offscreen\n if ([\n \"sticky\",\n \"fixed\"\n ].includes(getComputedStyle(element).position)) {\n if (true) {\n console.warn(\"Skipping auto-scroll behavior due to `position: sticky` or `position: fixed` on element:\", element);\n }\n return true;\n }\n // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent`\n // because `offsetParent` doesn't consider document/body\n const rect = element.getBoundingClientRect();\n return rectProperties.every((item)=>rect[item] === 0);\n}\n/**\n * Check if the top corner of the HTMLElement is in the viewport.\n */ function topOfElementInViewport(element, viewportHeight) {\n const rect = element.getBoundingClientRect();\n return rect.top >= 0 && rect.top <= viewportHeight;\n}\n/**\n * Find the DOM node for a hash fragment.\n * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior.\n * If the hash fragment is an id, the page has to scroll to the element with that id.\n * If the hash fragment is a name, the page has to scroll to the first element with that name.\n */ function getHashFragmentDomNode(hashFragment) {\n // If the hash fragment is `top` the page has to scroll to the top of the page.\n if (hashFragment === \"top\") {\n return document.body;\n }\n var _document_getElementById;\n // If the hash fragment is an id, the page has to scroll to the element with that id.\n return (_document_getElementById = document.getElementById(hashFragment)) != null ? _document_getElementById : document.getElementsByName(hashFragment)[0];\n}\nclass InnerScrollAndFocusHandler extends _react.default.Component {\n componentDidMount() {\n this.handlePotentialScroll();\n }\n componentDidUpdate() {\n // Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders.\n if (this.props.focusAndScrollRef.apply) {\n this.handlePotentialScroll();\n }\n }\n render() {\n return this.props.children;\n }\n constructor(...args){\n super(...args);\n this.handlePotentialScroll = ()=>{\n // Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed.\n const { focusAndScrollRef, segmentPath } = this.props;\n if (focusAndScrollRef.apply) {\n // segmentPaths is an array of segment paths that should be scrolled to\n // if the current segment path is not in the array, the scroll is not applied\n // unless the array is empty, in which case the scroll is always applied\n if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) {\n return;\n }\n let domNode = null;\n const hashFragment = focusAndScrollRef.hashFragment;\n if (hashFragment) {\n domNode = getHashFragmentDomNode(hashFragment);\n }\n // `findDOMNode` is tricky because it returns just the first child if the component is a fragment.\n // This already caused a bug where the first child was a <link/> in head.\n if (!domNode) {\n domNode = findDOMNode(this);\n }\n // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree.\n if (!(domNode instanceof Element)) {\n return;\n }\n // Verify if the element is a HTMLElement and if we want to consider it for scroll behavior.\n // If the element is skipped, try to select the next sibling and try again.\n while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){\n // No siblings found that match the criteria are found, so handle scroll higher up in the tree instead.\n if (domNode.nextElementSibling === null) {\n return;\n }\n domNode = domNode.nextElementSibling;\n }\n // State is mutated to ensure that the focus and scroll is applied only once.\n focusAndScrollRef.apply = false;\n focusAndScrollRef.hashFragment = null;\n focusAndScrollRef.segmentPaths = [];\n (0, _handlesmoothscroll.handleSmoothScroll)(()=>{\n // In case of hash scroll, we only need to scroll the element into view\n if (hashFragment) {\n domNode.scrollIntoView();\n return;\n }\n // Store the current viewport height because reading `clientHeight` causes a reflow,\n // and it won't change during this function.\n const htmlElement = document.documentElement;\n const viewportHeight = htmlElement.clientHeight;\n // If the element's top edge is already in the viewport, exit early.\n if (topOfElementInViewport(domNode, viewportHeight)) {\n return;\n }\n // Otherwise, try scrolling go the top of the document to be backward compatible with pages\n // scrollIntoView() called on `<html/>` element scrolls horizontally on chrome and firefox (that shouldn't happen)\n // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left\n // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically\n htmlElement.scrollTop = 0;\n // Scroll to domNode if domNode is not in viewport when scrolled to top of document\n if (!topOfElementInViewport(domNode, viewportHeight)) {\n domNode.scrollIntoView();\n }\n }, {\n // We will force layout by querying domNode position\n dontForceLayout: true,\n onlyHashChange: focusAndScrollRef.onlyHashChange\n });\n // Mutate after scrolling so that it can be read by `handleSmoothScroll`\n focusAndScrollRef.onlyHashChange = false;\n // Set focus on the element\n domNode.focus();\n }\n };\n }\n}\nfunction ScrollAndFocusHandler(param) {\n let { segmentPath, children } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant global layout router not mounted\");\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndFocusHandler, {\n segmentPath: segmentPath,\n focusAndScrollRef: context.focusAndScrollRef,\n children: children\n });\n}\n/**\n * InnerLayoutRouter handles rendering the provided segment based on the cache.\n */ function InnerLayoutRouter(param) {\n let { parallelRouterKey, url, childNodes, segmentPath, tree, // isActive,\n cacheKey } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant global layout router not mounted\");\n }\n const { buildId, changeByServerResponse, tree: fullTree } = context;\n // Read segment path from the parallel router cache node.\n let childNode = childNodes.get(cacheKey);\n // When data is not available during rendering client-side we need to fetch\n // it from the server.\n if (childNode === undefined) {\n const newLazyCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n parallelRoutes: new Map()\n };\n /**\n * Flight data fetch kicked off during render and put into the cache.\n */ childNode = newLazyCacheNode;\n childNodes.set(cacheKey, newLazyCacheNode);\n }\n // `rsc` represents the renderable node for this segment.\n // If this segment has a `prefetchRsc`, it's the statically prefetched data.\n // We should use that on initial render instead of `rsc`. Then we'll switch\n // to `rsc` when the dynamic response streams in.\n //\n // If no prefetch data is available, then we go straight to rendering `rsc`.\n const resolvedPrefetchRsc = childNode.prefetchRsc !== null ? childNode.prefetchRsc : childNode.rsc;\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n //\n // @ts-expect-error The second argument to `useDeferredValue` is only\n // available in the experimental builds. When its disabled, it will always\n // return `rsc`.\n const rsc = (0, _react.useDeferredValue)(childNode.rsc, resolvedPrefetchRsc);\n // `rsc` is either a React node or a promise for a React node, except we\n // special case `null` to represent that this segment's data is missing. If\n // it's a promise, we need to unwrap it so we can determine whether or not the\n // data is missing.\n const resolvedRsc = typeof rsc === \"object\" && rsc !== null && typeof rsc.then === \"function\" ? (0, _react.use)(rsc) : rsc;\n if (!resolvedRsc) {\n // The data for this segment is not available, and there's no pending\n // navigation that will be able to fulfill it. We need to fetch more from\n // the server and patch the cache.\n // Check if there's already a pending request.\n let lazyData = childNode.lazyData;\n if (lazyData === null) {\n /**\n * Router state with refetch marker added\n */ // TODO-APP: remove ''\n const refetchTree = walkAddRefetch([\n \"\",\n ...segmentPath\n ], fullTree);\n childNode.lazyData = lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), refetchTree, context.nextUrl, buildId);\n }\n /**\n * Flight response data\n */ // When the data has not resolved yet `use` will suspend here.\n const [flightData, overrideCanonicalUrl] = (0, _react.use)(lazyData);\n // segmentPath from the server does not match the layout's segmentPath\n childNode.lazyData = null;\n // setTimeout is used to start a new transition during render, this is an intentional hack around React.\n setTimeout(()=>{\n (0, _react.startTransition)(()=>{\n changeByServerResponse(fullTree, flightData, overrideCanonicalUrl);\n });\n });\n // Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered.\n (0, _react.use)((0, _infinitepromise.createInfinitePromise)());\n }\n // If we get to this point, then we know we have something we can render.\n const subtree = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n tree: tree[1][parallelRouterKey],\n childNodes: childNode.parallelRoutes,\n // TODO-APP: overriding of url for parallel routes\n url: url\n },\n children: resolvedRsc\n });\n // Ensure root layout is not wrapped in a div as the root layout renders `<html>`\n return subtree;\n}\n/**\n * Renders suspense boundary with the provided \"loading\" property as the fallback.\n * If no loading property is provided it renders the children without a suspense boundary.\n */ function LoadingBoundary(param) {\n let { children, loading, loadingStyles, loadingScripts, hasLoading } = param;\n if (hasLoading) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {\n fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n loadingStyles,\n loadingScripts,\n loading\n ]\n }),\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nfunction OuterLayoutRouter(param) {\n let { parallelRouterKey, segmentPath, error, errorStyles, errorScripts, templateStyles, templateScripts, loading, loadingStyles, loadingScripts, hasLoading, template, notFound, notFoundStyles, styles } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant expected layout router to be mounted\");\n }\n const { childNodes, tree, url } = context;\n // Get the current parallelRouter cache node\n let childNodesForParallelRouter = childNodes.get(parallelRouterKey);\n // If the parallel router cache node does not exist yet, create it.\n // This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.\n if (!childNodesForParallelRouter) {\n childNodesForParallelRouter = new Map();\n childNodes.set(parallelRouterKey, childNodesForParallelRouter);\n }\n // Get the active segment in the tree\n // The reason arrays are used in the data format is that these are transferred from the server to the browser so it's optimized to save bytes.\n const treeSegment = tree[1][parallelRouterKey][0];\n // If segment is an array it's a dynamic route and we want to read the dynamic route value as the segment to get from the cache.\n const currentChildSegmentValue = (0, _getsegmentvalue.getSegmentValue)(treeSegment);\n /**\n * Decides which segments to keep rendering, all segments that are not active will be wrapped in `<Offscreen>`.\n */ // TODO-APP: Add handling of `<Offscreen>` when it's available.\n const preservedSegments = [\n treeSegment\n ];\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n styles,\n preservedSegments.map((preservedSegment)=>{\n const preservedSegmentValue = (0, _getsegmentvalue.getSegmentValue)(preservedSegment);\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(preservedSegment);\n return(/*\n - Error boundary\n - Only renders error boundary if error component is provided.\n - Rendered for each segment to ensure they have their own error state.\n - Loading boundary\n - Only renders suspense boundary if loading components is provided.\n - Rendered for each segment to ensure they have their own loading state.\n - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch.\n */ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, {\n value: /*#__PURE__*/ (0, _jsxruntime.jsx)(ScrollAndFocusHandler, {\n segmentPath: segmentPath,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {\n errorComponent: error,\n errorStyles: errorStyles,\n errorScripts: errorScripts,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, {\n hasLoading: hasLoading,\n loading: loading,\n loadingStyles: loadingStyles,\n loadingScripts: loadingScripts,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_notfoundboundary.NotFoundBoundary, {\n notFound: notFound,\n notFoundStyles: notFoundStyles,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_redirectboundary.RedirectBoundary, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, {\n parallelRouterKey: parallelRouterKey,\n url: url,\n tree: tree,\n childNodes: childNodesForParallelRouter,\n segmentPath: segmentPath,\n cacheKey: cacheKey,\n isActive: currentChildSegmentValue === preservedSegmentValue\n })\n })\n })\n })\n })\n }),\n children: [\n templateStyles,\n templateScripts,\n template\n ]\n }, (0, _createroutercachekey.createRouterCacheKey)(preservedSegment, true)));\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=layout-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6InFEQUVhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwyQ0FHZTtJQUNYSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsNEJBQTRCRCxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUUsY0FBY0YsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1HLFNBQVMsV0FBVyxHQUFHRiwwQkFBMEJHLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUssWUFBWSxXQUFXLEdBQUdOLHlCQUF5QkssQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyxnSEFBVztBQUM5RSxNQUFNTSxpQ0FBaUNOLG1CQUFPQSxDQUFDLHVLQUFvRDtBQUNuRyxNQUFNTyx1QkFBdUJQLG1CQUFPQSxDQUFDLHdJQUF3QztBQUM3RSxNQUFNUSxtQkFBbUJSLG1CQUFPQSxDQUFDLGdHQUFvQjtBQUNyRCxNQUFNUyxpQkFBaUJULG1CQUFPQSxDQUFDLDRGQUFrQjtBQUNqRCxNQUFNVSxpQkFBaUJWLG1CQUFPQSxDQUFDLDRGQUFrQjtBQUNqRCxNQUFNVyxzQkFBc0JYLG1CQUFPQSxDQUFDLDBJQUFvRDtBQUN4RixNQUFNWSxvQkFBb0JaLG1CQUFPQSxDQUFDLGtHQUFxQjtBQUN2RCxNQUFNYSxvQkFBb0JiLG1CQUFPQSxDQUFDLG9HQUFzQjtBQUN4RCxNQUFNYyxtQkFBbUJkLG1CQUFPQSxDQUFDLGtKQUE2QztBQUM5RSxNQUFNZSx3QkFBd0JmLG1CQUFPQSxDQUFDLDRJQUEwQztBQUNoRjs7O0NBR0MsR0FBRyxTQUFTZ0IsZUFBZUMsaUJBQWlCLEVBQUVDLGNBQWM7SUFDekQs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K0QsVUFBVVosNkJBQTZCSzt3Q0FDM0M7b0NBQ0o7Z0NBQ0o7NEJBQ0o7d0JBQ0o7b0JBQ0o7b0JBQ0F6RixVQUFVO3dCQUNONEU7d0JBQ0FDO3dCQUNBQztxQkFDSDtnQkFDTCxHQUFHLENBQUMsR0FBR3JJLHNCQUFzQmlKLG9CQUFvQixFQUFFRixrQkFBa0I7WUFDekU7U0FDSDtJQUNMO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT3BLLFFBQVE4QyxPQUFPLEtBQUssY0FBZSxPQUFPOUMsUUFBUThDLE9BQU8sS0FBSyxZQUFZOUMsUUFBUThDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzlDLFFBQVE4QyxPQUFPLENBQUMrSCxVQUFVLEtBQUssYUFBYTtJQUNySy9LLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUThDLE9BQU8sRUFBRSxjQUFjO1FBQUU3QyxPQUFPO0lBQUs7SUFDbkVILE9BQU9nTCxNQUFNLENBQUM5SyxRQUFROEMsT0FBTyxFQUFFOUM7SUFDL0IrSyxPQUFPL0ssT0FBTyxHQUFHQSxRQUFROEMsT0FBTztBQUNsQyxFQUVBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbGF5b3V0LXJvdXRlci5qcz8wYmZhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAvKipcbiAqIE91dGVyTGF5b3V0Um91dGVyIGhhbmRsZXMgdGhlIGN1cnJlbnQgc2VnbWVudCBhcyB3ZWxsIGFzIDxPZmZzY3JlZW4+IHJlbmRlcmluZyBvZiBvdGhlciBzZWdtZW50cy5cbiAqIEl0IGNhbiBiZSByZW5kZXJlZCBuZXh0IHRvIGVhY2ggb3RoZXIgd2l0aCBhIGRpZmZlcmVudCBgcGFyYWxsZWxSb3V0ZXJLZXlgLCBhbGxvd2luZyBmb3IgUGFyYWxsZWwgcm91dGVzLlxuICovIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gT3V0ZXJMYXlvdXRSb3V0ZXI7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3JlYWN0ZG9tID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3QtZG9tXCIpKTtcbmNvbnN0IF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmNvbnN0IF9mZXRjaHNlcnZlcnJlc3BvbnNlID0gcmVxdWlyZShcIi4vcm91dGVyLXJlZHVjZXIvZmV0Y2gtc2VydmVyLXJlc3BvbnNlXCIpO1xuY29uc3QgX2luZmluaXRlcHJvbWlzZSA9IHJlcXVpcmUoXCIuL2luZmluaXRlLXByb21pc2VcIik7XG5jb25zdCBfZXJyb3Jib3VuZGFyeSA9IHJlcXVpcmUoXCIuL2Vycm9yLWJvdW5kYXJ5XCIpO1xuY29uc3QgX21hdGNoc2VnbWVudHMgPSByZXF1aXJlKFwiLi9tYXRjaC1zZWdtZW50c1wiKTtcbmNvbnN0IF9oYW5kbGVzbW9vdGhzY3JvbGwgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaGFuZGxlLXNtb290aC1zY3JvbGxcIik7XG5jb25zdCBfcmVkaXJlY3Rib3VuZGFyeSA9IHJlcXVpcmUoXCIuL3JlZGlyZWN0LWJvdW5kYXJ5XCIpO1xuY29uc3QgX25vdGZvdW5kYm91bmRhcnkgPSByZXF1aXJlKFwiLi9ub3QtZm91bmQtYm91bmRhcnlcIik7XG5jb25zdCBfZ2V0c2VnbWVudHZhbHVlID0gcmVxdWlyZShcIi4vcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZ2V0LXNlZ21lbnQtdmFsdWVcIik7XG5jb25zdCBfY3JlYXRlcm91dGVyY2FjaGVrZXkgPSByZXF1aXJlKFwiLi9yb3V0ZXItcmVkdWNlci9jcmVhdGUtcm91dGVyLWNhY2hlLWtleVwiKTtcbi8qKlxuICogQWRkIHJlZmV0Y2ggbWFya2VyIHRvIHJvdXRlciBzdGF0ZSBhdCB0aGUgcG9pbnQgb2YgdGhlIGN1cnJlbnQgbGF5b3V0IHNlZ21lbnQuXG4gKiBUaGlzIGVuc3VyZXMgdGhlIHJlc3BvbnNlIHJldHVybmVkIGlzIG5vdCBmdXJ0aGVyIGRvd24gdGhhbiB0aGUgY3VycmVudCBsYXlvdXQgc2VnbWVudC5cbiAqLyBmdW5jdGlvbiB3YWxrQWRkUmVmZXRjaChzZWdtZW50UGF0aFRvV2FsaywgdHJlZVRvUmVjcmVhdGUpIHtcbiAgICBpZiAoc2VnbWVudFBhdGhUb1dhbGspIHtcbiAgICAgICAgY29uc3QgW3NlZ21lbnQsIHBhcmFsbGVsUm91dGVLZXldID0gc2VnbWVudFBhdGhUb1dhbGs7XG4gICAgICAgIGNvbnN0IGlzTGFzdCA9IHNlZ21lbnRQYXRoVG9XYWxrLmxlbmd0aCA9PT0gMjtcbiAgICAgICAgaWYgKCgwLCBfbWF0Y2hzZWdtZW50cy5tYXRjaFNlZ21lbnQpKHRyZWVUb1JlY3JlYXRlWzBdLCBzZWdtZW50KSkge1xuICAgICAgICAgICAgaWYgKHRyZWVUb1JlY3JlYXRlWzFdLmhhc093blByb3BlcnR5KHBhcmFsbGVsUm91dGVLZXkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzTGFzdCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWJUcmVlID0gd2Fsa0FkZFJlZmV0Y2godW5kZWZpbmVkLCB0cmVlVG9SZWNyZWF0ZVsxXVtwYXJhbGxlbFJvdXRlS2V5XSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmVlVG9SZWNyZWF0ZVswXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50cmVlVG9SZWNyZWF0ZVsxXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFyYWxsZWxSb3V0ZUtleV06IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViVHJlZVswXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViVHJlZVsxXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViVHJlZVsyXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyZWZldGNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIHRyZWVUb1JlY3JlYXRlWzBdLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi50cmVlVG9SZWNyZWF0ZVsxXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJhbGxlbFJvdXRlS2V5XTogd2Fsa0FkZFJlZmV0Y2goc2VnbWVudFBhdGhUb1dhbGsuc2xpY2UoMiksIHRyZWVUb1JlY3JlYXRlWzFdW3BhcmFsbGVsUm91dGVLZXldKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJlZVRvUmVjcmVhdGU7XG59XG4vLyBUT0RPLUFQUDogUmVwbGFjZSB3aXRoIG5ldyBSZWFjdCBBUEkgZm9yIGZpbmRpbmcgZG9tIG5vZGVzIHdpdGhvdXQgYSBgcmVmYCB3aGVuIGF2YWlsYWJsZVxuLyoqXG4gKiBXcmFwcyBSZWFjdERPTS5maW5kRE9NTm9kZSB3aXRoIGFkZGl0aW9uYWwgbG9naWMgdG8gaGlkZSBSZWFjdCBTdHJpY3QgTW9kZSB3YXJuaW5nXG4gKi8gZnVuY3Rpb24gZmluZERPTU5vZGUoaW5zdGFuY2UpIHtcbiAgICAvLyBUcmVlLXNoYWtlIGZvciBzZXJ2ZXIgYnVuZGxlXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybiBudWxsO1xuICAgIC8vIE9ubHkgYXBwbHkgc3RyaWN0IG1vZGUgd2FybmluZyB3aGVuIG5vdCBpbiBwcm9kdWN0aW9uXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICBjb25zdCBvcmlnaW5hbENvbnNvbGVFcnJvciA9IGNvbnNvbGUuZXJyb3I7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgZm9yKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgbWVzc2FnZXMgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKXtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIElnbm9yZSBzdHJpY3QgbW9kZSB3YXJuaW5nIGZvciB0aGUgZmluZERvbU5vZGUgY2FsbCBiZWxvd1xuICAgICAgICAgICAgICAgIGlmICghbWVzc2FnZXNbMF0uaW5jbHVkZXMoXCJXYXJuaW5nOiAlcyBpcyBkZXByZWNhdGVkIGluIFN0cmljdE1vZGUuXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsQ29uc29sZUVycm9yKC4uLm1lc3NhZ2VzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmV0dXJuIF9yZWFjdGRvbS5kZWZhdWx0LmZpbmRET01Ob2RlKGluc3RhbmNlKTtcbiAgICAgICAgfSBmaW5hbGx5e1xuICAgICAgICAgICAgY29uc29sZS5lcnJvciA9IG9yaWdpbmFsQ29uc29sZUVycm9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBfcmVhY3Rkb20uZGVmYXVsdC5maW5kRE9NTm9kZShpbnN0YW5jZSk7XG59XG5jb25zdCByZWN0UHJvcGVydGllcyA9IFtcbiAgICBcImJvdHRvbVwiLFxuICAgIFwiaGVpZ2h0XCIsXG4gICAgXCJsZWZ0XCIsXG4gICAgXCJyaWdodFwiLFxuICAgIFwidG9wXCIsXG4gICAgXCJ3aWR0aFwiLFxuICAgIFwieFwiLFxuICAgIFwieVwiXG5dO1xuLyoqXG4gKiBDaGVjayBpZiBhIEhUTUxFbGVtZW50IGlzIGhpZGRlbiBvciBmaXhlZC9zdGlja3kgcG9zaXRpb25cbiAqLyBmdW5jdGlvbiBzaG91bGRTa2lwRWxlbWVudChlbGVtZW50KSB7XG4gICAgLy8gd2UgaWdub3JlIGZpeGVkIG9yIHN0aWNreSBwb3NpdGlvbmVkIGVsZW1lbnRzIHNpbmNlIHRoZXknbGwgbGlrZWx5IHBhc3MgdGhlIFwiaW4tdmlld3BvcnRcIiBjaGVja1xuICAgIC8vIGFuZCB3aWxsIHJlc3VsdCBpbiBhIHNpdHVhdGlvbiB3ZSBiYWlsIG9uIHNjcm9sbCBiZWNhdXNlIG9mIHNvbWV0aGluZyBsaWtlIGEgZml4ZWQgbmF2LFxuICAgIC8vIGV2ZW4gdGhvdWdoIHRoZSBhY3R1YWwgcGFnZSBjb250ZW50IGlzIG9mZnNjcmVlblxuICAgIGlmIChbXG4gICAgICAgIFwic3RpY2t5XCIsXG4gICAgICAgIFwiZml4ZWRcIlxuICAgIF0uaW5jbHVkZXMoZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5wb3NpdGlvbikpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlNraXBwaW5nIGF1dG8tc2Nyb2xsIGJlaGF2aW9yIGR1ZSB0byBgcG9zaXRpb246IHN0aWNreWAgb3IgYHBvc2l0aW9uOiBmaXhlZGAgb24gZWxlbWVudDpcIiwgZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8vIFVzZXMgYGdldEJvdW5kaW5nQ2xpZW50UmVjdGAgdG8gY2hlY2sgaWYgdGhlIGVsZW1lbnQgaXMgaGlkZGVuIGluc3RlYWQgb2YgYG9mZnNldFBhcmVudGBcbiAgICAvLyBiZWNhdXNlIGBvZmZzZXRQYXJlbnRgIGRvZXNuJ3QgY29uc2lkZXIgZG9jdW1lbnQvYm9keVxuICAgIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHJldHVybiByZWN0UHJvcGVydGllcy5ldmVyeSgoaXRlbSk9PnJlY3RbaXRlbV0gPT09IDApO1xufVxuLyoqXG4gKiBDaGVjayBpZiB0aGUgdG9wIGNvcm5lciBvZiB0aGUgSFRNTEVsZW1lbnQgaXMgaW4gdGhlIHZpZXdwb3J0LlxuICovIGZ1bmN0aW9uIHRvcE9mRWxlbWVudEluVmlld3BvcnQoZWxlbWVudCwgdmlld3BvcnRIZWlnaHQpIHtcbiAgICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICByZXR1cm4gcmVjdC50b3AgPj0gMCAmJiByZWN0LnRvcCA8PSB2aWV3cG9ydEhlaWdodDtcbn1cbi8qKlxuICogRmluZCB0aGUgRE9NIG5vZGUgZm9yIGEgaGFzaCBmcmFnbWVudC5cbiAqIElmIGB0b3BgIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIHRvcCBvZiB0aGUgcGFnZS4gVGhpcyBtaXJyb3JzIHRoZSBicm93c2VyJ3MgYmVoYXZpb3IuXG4gKiBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhbiBpZCwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZWxlbWVudCB3aXRoIHRoYXQgaWQuXG4gKiBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhIG5hbWUsIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIGZpcnN0IGVsZW1lbnQgd2l0aCB0aGF0IG5hbWUuXG4gKi8gZnVuY3Rpb24gZ2V0SGFzaEZyYWdtZW50RG9tTm9kZShoYXNoRnJhZ21lbnQpIHtcbiAgICAvLyBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBgdG9wYCB0aGUgcGFnZSBoYXMgdG8gc2Nyb2xsIHRvIHRoZSB0b3Agb2YgdGhlIHBhZ2UuXG4gICAgaWYgKGhhc2hGcmFnbWVudCA9PT0gXCJ0b3BcIikge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQuYm9keTtcbiAgICB9XG4gICAgdmFyIF9kb2N1bWVudF9nZXRFbGVtZW50QnlJZDtcbiAgICAvLyBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhbiBpZCwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZWxlbWVudCB3aXRoIHRoYXQgaWQuXG4gICAgcmV0dXJuIChfZG9jdW1lbnRfZ2V0RWxlbWVudEJ5SWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChoYXNoRnJhZ21lbnQpKSAhPSBudWxsID8gX2RvY3VtZW50X2dldEVsZW1lbnRCeUlkIDogLy8gSWYgdGhlIGhhc2ggZnJhZ21lbnQgaXMgYSBuYW1lLCB0aGUgcGFnZSBoYXMgdG8gc2Nyb2xsIHRvIHRoZSBmaXJzdCBlbGVtZW50IHdpdGggdGhhdCBuYW1lLlxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKGhhc2hGcmFnbWVudClbMF07XG59XG5jbGFzcyBJbm5lclNjcm9sbEFuZEZvY3VzSGFuZGxlciBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlUG90ZW50aWFsU2Nyb2xsKCk7XG4gICAgfVxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgICAgLy8gQmVjYXVzZSB0aGlzIHByb3BlcnR5IGlzIG92ZXJ3cml0dGVuIGluIGhhbmRsZVBvdGVudGlhbFNjcm9sbCBpdCdzIGZpbmUgdG8gYWx3YXlzIHJ1biBpdCB3aGVuIHRydWUgYXMgaXQnbGwgYmUgc2V0IHRvIGZhbHNlIGZvciBzdWJzZXF1ZW50IHJlbmRlcnMuXG4gICAgICAgIGlmICh0aGlzLnByb3BzLmZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5KSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVBvdGVudGlhbFNjcm9sbCgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW47XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3Mpe1xuICAgICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgICAgdGhpcy5oYW5kbGVQb3RlbnRpYWxTY3JvbGwgPSAoKT0+e1xuICAgICAgICAgICAgLy8gSGFuZGxlIHNjcm9sbCBhbmQgZm9jdXMsIGl0J3Mgb25seSBhcHBsaWVkIG9uY2UgaW4gdGhlIGZpcnN0IHVzZUVmZmVjdCB0aGF0IHRyaWdnZXJzIHRoYXQgY2hhbmdlZC5cbiAgICAgICAgICAgIGNvbnN0IHsgZm9jdXNBbmRTY3JvbGxSZWYsIHNlZ21lbnRQYXRoIH0gPSB0aGlzLnByb3BzO1xuICAgICAgICAgICAgaWYgKGZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5KSB7XG4gICAgICAgICAgICAgICAgLy8gc2VnbWVudFBhdGhzIGlzIGFuIGFycmF5IG9mIHNlZ21lbnQgcGF0aHMgdGhhdCBzaG91bGQgYmUgc2Nyb2xsZWQgdG9cbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgY3VycmVudCBzZWdtZW50IHBhdGggaXMgbm90IGluIHRoZSBhcnJheSwgdGhlIHNjcm9sbCBpcyBub3QgYXBwbGllZFxuICAgICAgICAgICAgICAgIC8vIHVubGVzcyB0aGUgYXJyYXkgaXMgZW1wdHksIGluIHdoaWNoIGNhc2UgdGhlIHNjcm9sbCBpcyBhbHdheXMgYXBwbGllZFxuICAgICAgICAgICAgICAgIGlmIChmb2N1c0FuZFNjcm9sbFJlZi5zZWdtZW50UGF0aHMubGVuZ3RoICE9PSAwICYmICFmb2N1c0FuZFNjcm9sbFJlZi5zZWdtZW50UGF0aHMuc29tZSgoc2Nyb2xsUmVmU2VnbWVudFBhdGgpPT5zZWdtZW50UGF0aC5ldmVyeSgoc2VnbWVudCwgaW5kZXgpPT4oMCwgX21hdGNoc2VnbWVudHMubWF0Y2hTZWdtZW50KShzZWdtZW50LCBzY3JvbGxSZWZTZWdtZW50UGF0aFtpbmRleF0pKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsZXQgZG9tTm9kZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgY29uc3QgaGFzaEZyYWdtZW50ID0gZm9jdXNBbmRTY3JvbGxSZWYuaGFzaEZyYWdtZW50O1xuICAgICAgICAgICAgICAgIGlmIChoYXNoRnJhZ21lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9tTm9kZSA9IGdldEhhc2hGcmFnbWVudERvbU5vZGUoaGFzaEZyYWdtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gYGZpbmRET01Ob2RlYCBpcyB0cmlja3kgYmVjYXVzZSBpdCByZXR1cm5zIGp1c3QgdGhlIGZpcnN0IGNoaWxkIGlmIHRoZSBjb21wb25lbnQgaXMgYSBmcmFnbWVudC5cbiAgICAgICAgICAgICAgICAvLyBUaGlzIGFscmVhZHkgY2F1c2VkIGEgYnVnIHdoZXJlIHRoZSBmaXJzdCBjaGlsZCB3YXMgYSA8bGluay8+IGluIGhlYWQuXG4gICAgICAgICAgICAgICAgaWYgKCFkb21Ob2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRvbU5vZGUgPSBmaW5kRE9NTm9kZSh0aGlzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gRE9NIG5vZGUgdGhpcyBsYXlvdXQtcm91dGVyIGxldmVsIGlzIHNraXBwZWQuIEl0J2xsIGJlIGhhbmRsZWQgaGlnaGVyLXVwIGluIHRoZSB0cmVlLlxuICAgICAgICAgICAgICAgIGlmICghKGRvbU5vZGUgaW5zdGFuY2VvZiBFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIFZlcmlmeSBpZiB0aGUgZWxlbWVudCBpcyBhIEhUTUxFbGVtZW50IGFuZCBpZiB3ZSB3YW50IHRvIGNvbnNpZGVyIGl0IGZvciBzY3JvbGwgYmVoYXZpb3IuXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIGVsZW1lbnQgaXMgc2tpcHBlZCwgdHJ5IHRvIHNlbGVjdCB0aGUgbmV4dCBzaWJsaW5nIGFuZCB0cnkgYWdhaW4uXG4gICAgICAgICAgICAgICAgd2hpbGUoIShkb21Ob2RlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHx8IHNob3VsZFNraXBFbGVtZW50KGRvbU5vZGUpKXtcbiAgICAgICAgICAgICAgICAgICAgLy8gTm8gc2libGluZ3MgZm91bmQgdGhhdCBtYXRjaCB0aGUgY3JpdGVyaWEgYXJlIGZvdW5kLCBzbyBoYW5kbGUgc2Nyb2xsIGhpZ2hlciB1cCBpbiB0aGUgdHJlZSBpbnN0ZWFkLlxuICAgICAgICAgICAgICAgICAgICBpZiAoZG9tTm9kZS5uZXh0RWxlbWVudFNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBkb21Ob2RlID0gZG9tTm9kZS5uZXh0RWxlbWVudFNpYmxpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIFN0YXRlIGlzIG11dGF0ZWQgdG8gZW5zdXJlIHRoYXQgdGhlIGZvY3VzIGFuZCBzY3JvbGwgaXMgYXBwbGllZCBvbmx5IG9uY2UuXG4gICAgICAgICAgICAgICAgZm9jdXNBbmRTY3JvbGxSZWYuYXBwbHkgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBmb2N1c0FuZFNjcm9sbFJlZi5oYXNoRnJhZ21lbnQgPSBudWxsO1xuICAgICAgICAgICAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLnNlZ21lbnRQYXRocyA9IFtdO1xuICAgICAgICAgICAgICAgICgwLCBfaGFuZGxlc21vb3Roc2Nyb2xsLmhhbmRsZVNtb290aFNjcm9sbCkoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgLy8gSW4gY2FzZSBvZiBoYXNoIHNjcm9sbCwgd2Ugb25seSBuZWVkIHRvIHNjcm9sbCB0aGUgZWxlbWVudCBpbnRvIHZpZXdcbiAgICAgICAgICAgICAgICAgICAgaWYgKGhhc2hGcmFnbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9tTm9kZS5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIFN0b3JlIHRoZSBjdXJyZW50IHZpZXdwb3J0IGhlaWdodCBiZWNhdXNlIHJlYWRpbmcgYGNsaWVudEhlaWdodGAgY2F1c2VzIGEgcmVmbG93LFxuICAgICAgICAgICAgICAgICAgICAvLyBhbmQgaXQgd29uJ3QgY2hhbmdlIGR1cmluZyB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBodG1sRWxlbWVudCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSBodG1sRWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBlbGVtZW50J3MgdG9wIGVkZ2UgaXMgYWxyZWFkeSBpbiB0aGUgdmlld3BvcnQsIGV4aXQgZWFybHkuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0b3BPZkVsZW1lbnRJblZpZXdwb3J0KGRvbU5vZGUsIHZpZXdwb3J0SGVpZ2h0KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgdHJ5IHNjcm9sbGluZyBnbyB0aGUgdG9wIG9mIHRoZSBkb2N1bWVudCB0byBiZSBiYWNrd2FyZCBjb21wYXRpYmxlIHdpdGggcGFnZXNcbiAgICAgICAgICAgICAgICAgICAgLy8gc2Nyb2xsSW50b1ZpZXcoKSBjYWxsZWQgb24gYDxodG1sLz5gIGVsZW1lbnQgc2Nyb2xscyBob3Jpem9udGFsbHkgb24gY2hyb21lIGFuZCBmaXJlZm94ICh0aGF0IHNob3VsZG4ndCBoYXBwZW4pXG4gICAgICAgICAgICAgICAgICAgIC8vIFdlIGNvdWxkIHVzZSBpdCB0byBzY3JvbGwgaG9yaXpvbnRhbGx5IGZvbGxvd2luZyBSVEwgYnV0IHRoYXQgYWxzbyBzZWVtcyB0byBiZSBicm9rZW4gLSBpdCB3aWxsIGFsd2F5cyBzY3JvbGwgbGVmdFxuICAgICAgICAgICAgICAgICAgICAvLyBzY3JvbGxMZWZ0ID0gMCBhbHNvIHNlZW1zIHRvIGlnbm9yZSBSVEwgYW5kIG1hbnVhbGx5IGNoZWNraW5nIGZvciBSVEwgaXMgdG9vIG11Y2ggaGFzc2xlIHNvIHdlIHdpbGwgc2Nyb2xsIGp1c3QgdmVydGljYWxseVxuICAgICAgICAgICAgICAgICAgICBodG1sRWxlbWVudC5zY3JvbGxUb3AgPSAwO1xuICAgICAgICAgICAgICAgICAgICAvLyBTY3JvbGwgdG8gZG9tTm9kZSBpZiBkb21Ob2RlIGlzIG5vdCBpbiB2aWV3cG9ydCB3aGVuIHNjcm9sbGVkIHRvIHRvcCBvZiBkb2N1bWVudFxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRvcE9mRWxlbWVudEluVmlld3BvcnQoZG9tTm9kZSwgdmlld3BvcnRIZWlnaHQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkb21Ob2RlLnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFdlIHdpbGwgZm9yY2UgbGF5b3V0IGJ5IHF1ZXJ5aW5nIGRvbU5vZGUgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgICAgZG9udEZvcmNlTGF5b3V0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBvbmx5SGFzaENoYW5nZTogZm9jdXNBbmRTY3JvbGxSZWYub25seUhhc2hDaGFuZ2VcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyBNdXRhdGUgYWZ0ZXIgc2Nyb2xsaW5nIHNvIHRoYXQgaXQgY2FuIGJlIHJlYWQgYnkgYGhhbmRsZVNtb290aFNjcm9sbGBcbiAgICAgICAgICAgICAgICBmb2N1c0FuZFNjcm9sbFJlZi5vbmx5SGFzaENoYW5nZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIC8vIFNldCBmb2N1cyBvbiB0aGUgZWxlbWVudFxuICAgICAgICAgICAgICAgIGRvbU5vZGUuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG59XG5mdW5jdGlvbiBTY3JvbGxBbmRGb2N1c0hhbmRsZXIocGFyYW0pIHtcbiAgICBsZXQgeyBzZWdtZW50UGF0aCwgY2hpbGRyZW4gfSA9IHBhcmFtO1xuICAgIGNvbnN0IGNvbnRleHQgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0KTtcbiAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkXCIpO1xuICAgIH1cbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShJbm5lclNjcm9sbEFuZEZvY3VzSGFuZGxlciwge1xuICAgICAgICBzZWdtZW50UGF0aDogc2VnbWVudFBhdGgsXG4gICAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmOiBjb250ZXh0LmZvY3VzQW5kU2Nyb2xsUmVmLFxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KTtcbn1cbi8qKlxuICogSW5uZXJMYXlvdXRSb3V0ZXIgaGFuZGxlcyByZW5kZXJpbmcgdGhlIHByb3ZpZGVkIHNlZ21lbnQgYmFzZWQgb24gdGhlIGNhY2hlLlxuICovIGZ1bmN0aW9uIElubmVyTGF5b3V0Um91dGVyKHBhcmFtKSB7XG4gICAgbGV0IHsgcGFyYWxsZWxSb3V0ZXJLZXksIHVybCwgY2hpbGROb2Rlcywgc2VnbWVudFBhdGgsIHRyZWUsIC8vIFRPRE8tQVBQOiBpbXBsZW1lbnQgYDxPZmZzY3JlZW4+YCB3aGVuIGF2YWlsYWJsZS5cbiAgICAvLyBpc0FjdGl2ZSxcbiAgICBjYWNoZUtleSB9ID0gcGFyYW07XG4gICAgY29uc3QgY29udGV4dCA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkdsb2JhbExheW91dFJvdXRlckNvbnRleHQpO1xuICAgIGlmICghY29udGV4dCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpbnZhcmlhbnQgZ2xvYmFsIGxheW91dCByb3V0ZXIgbm90IG1vdW50ZWRcIik7XG4gICAgfVxuICAgIGNvbnN0IHsgYnVpbGRJZCwgY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZSwgdHJlZTogZnVsbFRyZWUgfSA9IGNvbnRleHQ7XG4gICAgLy8gUmVhZCBzZWdtZW50IHBhdGggZnJvbSB0aGUgcGFyYWxsZWwgcm91dGVyIGNhY2hlIG5vZGUuXG4gICAgbGV0IGNoaWxkTm9kZSA9IGNoaWxkTm9kZXMuZ2V0KGNhY2hlS2V5KTtcbiAgICAvLyBXaGVuIGRhdGEgaXMgbm90IGF2YWlsYWJsZSBkdXJpbmcgcmVuZGVyaW5nIGNsaWVudC1zaWRlIHdlIG5lZWQgdG8gZmV0Y2hcbiAgICAvLyBpdCBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAgaWYgKGNoaWxkTm9kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG5ld0xhenlDYWNoZU5vZGUgPSB7XG4gICAgICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgICAgIHJzYzogbnVsbCxcbiAgICAgICAgICAgIHByZWZldGNoUnNjOiBudWxsLFxuICAgICAgICAgICAgaGVhZDogbnVsbCxcbiAgICAgICAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKClcbiAgICAgICAgfTtcbiAgICAgICAgLyoqXG4gICAgICogRmxpZ2h0IGRhdGEgZmV0Y2gga2lja2VkIG9mZiBkdXJpbmcgcmVuZGVyIGFuZCBwdXQgaW50byB0aGUgY2FjaGUuXG4gICAgICovIGNoaWxkTm9kZSA9IG5ld0xhenlDYWNoZU5vZGU7XG4gICAgICAgIGNoaWxkTm9kZXMuc2V0KGNhY2hlS2V5LCBuZXdMYXp5Q2FjaGVOb2RlKTtcbiAgICB9XG4gICAgLy8gYHJzY2AgcmVwcmVzZW50cyB0aGUgcmVuZGVyYWJsZSBub2RlIGZvciB0aGlzIHNlZ21lbnQuXG4gICAgLy8gSWYgdGhpcyBzZWdtZW50IGhhcyBhIGBwcmVmZXRjaFJzY2AsIGl0J3MgdGhlIHN0YXRpY2FsbHkgcHJlZmV0Y2hlZCBkYXRhLlxuICAgIC8vIFdlIHNob3VsZCB1c2UgdGhhdCBvbiBpbml0aWFsIHJlbmRlciBpbnN0ZWFkIG9mIGByc2NgLiBUaGVuIHdlJ2xsIHN3aXRjaFxuICAgIC8vIHRvIGByc2NgIHdoZW4gdGhlIGR5bmFtaWMgcmVzcG9uc2Ugc3RyZWFtcyBpbi5cbiAgICAvL1xuICAgIC8vIElmIG5vIHByZWZldGNoIGRhdGEgaXMgYXZhaWxhYmxlLCB0aGVuIHdlIGdvIHN0cmFpZ2h0IHRvIHJlbmRlcmluZyBgcnNjYC5cbiAgICBjb25zdCByZXNvbHZlZFByZWZldGNoUnNjID0gY2hpbGROb2RlLnByZWZldGNoUnNjICE9PSBudWxsID8gY2hpbGROb2RlLnByZWZldGNoUnNjIDogY2hpbGROb2RlLnJzYztcbiAgICAvLyBXZSB1c2UgYHVzZURlZmVycmVkVmFsdWVgIHRvIGhhbmRsZSBzd2l0Y2hpbmcgYmV0d2VlbiB0aGUgcHJlZmV0Y2hlZCBhbmRcbiAgICAvLyBmaW5hbCB2YWx1ZXMuIFRoZSBzZWNvbmQgYXJndW1lbnQgaXMgcmV0dXJuZWQgb24gaW5pdGlhbCByZW5kZXIsIHRoZW4gaXRcbiAgICAvLyByZS1yZW5kZXJzIHdpdGggdGhlIGZpcnN0IGFyZ3VtZW50LlxuICAgIC8vXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUaGUgc2Vjb25kIGFyZ3VtZW50IHRvIGB1c2VEZWZlcnJlZFZhbHVlYCBpcyBvbmx5XG4gICAgLy8gYXZhaWxhYmxlIGluIHRoZSBleHBlcmltZW50YWwgYnVpbGRzLiBXaGVuIGl0cyBkaXNhYmxlZCwgaXQgd2lsbCBhbHdheXNcbiAgICAvLyByZXR1cm4gYHJzY2AuXG4gICAgY29uc3QgcnNjID0gKDAsIF9yZWFjdC51c2VEZWZlcnJlZFZhbHVlKShjaGlsZE5vZGUucnNjLCByZXNvbHZlZFByZWZldGNoUnNjKTtcbiAgICAvLyBgcnNjYCBpcyBlaXRoZXIgYSBSZWFjdCBub2RlIG9yIGEgcHJvbWlzZSBmb3IgYSBSZWFjdCBub2RlLCBleGNlcHQgd2VcbiAgICAvLyBzcGVjaWFsIGNhc2UgYG51bGxgIHRvIHJlcHJlc2VudCB0aGF0IHRoaXMgc2VnbWVudCdzIGRhdGEgaXMgbWlzc2luZy4gSWZcbiAgICAvLyBpdCdzIGEgcHJvbWlzZSwgd2UgbmVlZCB0byB1bndyYXAgaXQgc28gd2UgY2FuIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB0aGVcbiAgICAvLyBkYXRhIGlzIG1pc3NpbmcuXG4gICAgY29uc3QgcmVzb2x2ZWRSc2MgPSB0eXBlb2YgcnNjID09PSBcIm9iamVjdFwiICYmIHJzYyAhPT0gbnVsbCAmJiB0eXBlb2YgcnNjLnRoZW4gPT09IFwiZnVuY3Rpb25cIiA/ICgwLCBfcmVhY3QudXNlKShyc2MpIDogcnNjO1xuICAgIGlmICghcmVzb2x2ZWRSc2MpIHtcbiAgICAgICAgLy8gVGhlIGRhdGEgZm9yIHRoaXMgc2VnbWVudCBpcyBub3QgYXZhaWxhYmxlLCBhbmQgdGhlcmUncyBubyBwZW5kaW5nXG4gICAgICAgIC8vIG5hdmlnYXRpb24gdGhhdCB3aWxsIGJlIGFibGUgdG8gZnVsZmlsbCBpdC4gV2UgbmVlZCB0byBmZXRjaCBtb3JlIGZyb21cbiAgICAgICAgLy8gdGhlIHNlcnZlciBhbmQgcGF0Y2ggdGhlIGNhY2hlLlxuICAgICAgICAvLyBDaGVjayBpZiB0aGVyZSdzIGFscmVhZHkgYSBwZW5kaW5nIHJlcXVlc3QuXG4gICAgICAgIGxldCBsYXp5RGF0YSA9IGNoaWxkTm9kZS5sYXp5RGF0YTtcbiAgICAgICAgaWYgKGxhenlEYXRhID09PSBudWxsKSB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAqIFJvdXRlciBzdGF0ZSB3aXRoIHJlZmV0Y2ggbWFya2VyIGFkZGVkXG4gICAgICAgKi8gLy8gVE9ETy1BUFA6IHJlbW92ZSAnJ1xuICAgICAgICAgICAgY29uc3QgcmVmZXRjaFRyZWUgPSB3YWxrQWRkUmVmZXRjaChbXG4gICAgICAgICAgICAgICAgXCJcIixcbiAgICAgICAgICAgICAgICAuLi5zZWdtZW50UGF0aFxuICAgICAgICAgICAgXSwgZnVsbFRyZWUpO1xuICAgICAgICAgICAgY2hpbGROb2RlLmxhenlEYXRhID0gbGF6eURhdGEgPSAoMCwgX2ZldGNoc2VydmVycmVzcG9uc2UuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkobmV3IFVSTCh1cmwsIGxvY2F0aW9uLm9yaWdpbiksIHJlZmV0Y2hUcmVlLCBjb250ZXh0Lm5leHRVcmwsIGJ1aWxkSWQpO1xuICAgICAgICB9XG4gICAgICAgIC8qKlxuICAgICAqIEZsaWdodCByZXNwb25zZSBkYXRhXG4gICAgICovIC8vIFdoZW4gdGhlIGRhdGEgaGFzIG5vdCByZXNvbHZlZCB5ZXQgYHVzZWAgd2lsbCBzdXNwZW5kIGhlcmUuXG4gICAgICAgIGNvbnN0IFtmbGlnaHREYXRhLCBvdmVycmlkZUNhbm9uaWNhbFVybF0gPSAoMCwgX3JlYWN0LnVzZSkobGF6eURhdGEpO1xuICAgICAgICAvLyBzZWdtZW50UGF0aCBmcm9tIHRoZSBzZXJ2ZXIgZG9lcyBub3QgbWF0Y2ggdGhlIGxheW91dCdzIHNlZ21lbnRQYXRoXG4gICAgICAgIGNoaWxkTm9kZS5sYXp5RGF0YSA9IG51bGw7XG4gICAgICAgIC8vIHNldFRpbWVvdXQgaXMgdXNlZCB0byBzdGFydCBhIG5ldyB0cmFuc2l0aW9uIGR1cmluZyByZW5kZXIsIHRoaXMgaXMgYW4gaW50ZW50aW9uYWwgaGFjayBhcm91bmQgUmVhY3QuXG4gICAgICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgICAgIGNoYW5nZUJ5U2VydmVyUmVzcG9uc2UoZnVsbFRyZWUsIGZsaWdodERhdGEsIG92ZXJyaWRlQ2Fub25pY2FsVXJsKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gU3VzcGVuZCBpbmZpbml0ZWx5IGFzIGBjaGFuZ2VCeVNlcnZlclJlc3BvbnNlYCB3aWxsIGNhdXNlIGEgZGlmZmVyZW50IHBhcnQgb2YgdGhlIHRyZWUgdG8gYmUgcmVuZGVyZWQuXG4gICAgICAgICgwLCBfcmVhY3QudXNlKSgoMCwgX2luZmluaXRlcHJvbWlzZS5jcmVhdGVJbmZpbml0ZVByb21pc2UpKCkpO1xuICAgIH1cbiAgICAvLyBJZiB3ZSBnZXQgdG8gdGhpcyBwb2ludCwgdGhlbiB3ZSBrbm93IHdlIGhhdmUgc29tZXRoaW5nIHdlIGNhbiByZW5kZXIuXG4gICAgY29uc3Qgc3VidHJlZSA9IC8vIFRoZSBsYXlvdXQgcm91dGVyIGNvbnRleHQgbmFycm93cyBkb3duIHRyZWUgYW5kIGNoaWxkTm9kZXMgYXQgZWFjaCBsZXZlbC5cbiAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5MYXlvdXRSb3V0ZXJDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICB0cmVlOiB0cmVlWzFdW3BhcmFsbGVsUm91dGVyS2V5XSxcbiAgICAgICAgICAgIGNoaWxkTm9kZXM6IGNoaWxkTm9kZS5wYXJhbGxlbFJvdXRlcyxcbiAgICAgICAgICAgIC8vIFRPRE8tQVBQOiBvdmVycmlkaW5nIG9mIHVybCBmb3IgcGFyYWxsZWwgcm91dGVzXG4gICAgICAgICAgICB1cmw6IHVybFxuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogcmVzb2x2ZWRSc2NcbiAgICB9KTtcbiAgICAvLyBFbnN1cmUgcm9vdCBsYXlvdXQgaXMgbm90IHdyYXBwZWQgaW4gYSBkaXYgYXMgdGhlIHJvb3QgbGF5b3V0IHJlbmRlcnMgYDxodG1sPmBcbiAgICByZXR1cm4gc3VidHJlZTtcbn1cbi8qKlxuICogUmVuZGVycyBzdXNwZW5zZSBib3VuZGFyeSB3aXRoIHRoZSBwcm92aWRlZCBcImxvYWRpbmdcIiBwcm9wZXJ0eSBhcyB0aGUgZmFsbGJhY2suXG4gKiBJZiBubyBsb2FkaW5nIHByb3BlcnR5IGlzIHByb3ZpZGVkIGl0IHJlbmRlcnMgdGhlIGNoaWxkcmVuIHdpdGhvdXQgYSBzdXNwZW5zZSBib3VuZGFyeS5cbiAqLyBmdW5jdGlvbiBMb2FkaW5nQm91bmRhcnkocGFyYW0pIHtcbiAgICBsZXQgeyBjaGlsZHJlbiwgbG9hZGluZywgbG9hZGluZ1N0eWxlcywgbG9hZGluZ1NjcmlwdHMsIGhhc0xvYWRpbmcgfSA9IHBhcmFtO1xuICAgIGlmIChoYXNMb2FkaW5nKSB7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9yZWFjdC5TdXNwZW5zZSwge1xuICAgICAgICAgICAgZmFsbGJhY2s6IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1N0eWxlcyxcbiAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1NjcmlwdHMsXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmdcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfSk7XG59XG5mdW5jdGlvbiBPdXRlckxheW91dFJvdXRlcihwYXJhbSkge1xuICAgIGxldCB7IHBhcmFsbGVsUm91dGVyS2V5LCBzZWdtZW50UGF0aCwgZXJyb3IsIGVycm9yU3R5bGVzLCBlcnJvclNjcmlwdHMsIHRlbXBsYXRlU3R5bGVzLCB0ZW1wbGF0ZVNjcmlwdHMsIGxvYWRpbmcsIGxvYWRpbmdTdHlsZXMsIGxvYWRpbmdTY3JpcHRzLCBoYXNMb2FkaW5nLCB0ZW1wbGF0ZSwgbm90Rm91bmQsIG5vdEZvdW5kU3R5bGVzLCBzdHlsZXMgfSA9IHBhcmFtO1xuICAgIGNvbnN0IGNvbnRleHQgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5MYXlvdXRSb3V0ZXJDb250ZXh0KTtcbiAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW52YXJpYW50IGV4cGVjdGVkIGxheW91dCByb3V0ZXIgdG8gYmUgbW91bnRlZFwiKTtcbiAgICB9XG4gICAgY29uc3QgeyBjaGlsZE5vZGVzLCB0cmVlLCB1cmwgfSA9IGNvbnRleHQ7XG4gICAgLy8gR2V0IHRoZSBjdXJyZW50IHBhcmFsbGVsUm91dGVyIGNhY2hlIG5vZGVcbiAgICBsZXQgY2hpbGROb2Rlc0ZvclBhcmFsbGVsUm91dGVyID0gY2hpbGROb2Rlcy5nZXQocGFyYWxsZWxSb3V0ZXJLZXkpO1xuICAgIC8vIElmIHRoZSBwYXJhbGxlbCByb3V0ZXIgY2FjaGUgbm9kZSBkb2VzIG5vdCBleGlzdCB5ZXQsIGNyZWF0ZSBpdC5cbiAgICAvLyBUaGlzIHdyaXRlcyB0byB0aGUgY2FjaGUgd2hlbiB0aGVyZSBpcyBubyBpdGVtIGluIHRoZSBjYWNoZSB5ZXQuIEl0IG5ldmVyICpvdmVyd3JpdGVzKiBleGlzdGluZyBjYWNoZSBpdGVtcyB3aGljaCBpcyB3aHkgaXQncyBzYWZlIGluIGNvbmN1cnJlbnQgbW9kZS5cbiAgICBpZiAoIWNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlcikge1xuICAgICAgICBjaGlsZE5vZGVzRm9yUGFyYWxsZWxSb3V0ZXIgPSBuZXcgTWFwKCk7XG4gICAgICAgIGNoaWxkTm9kZXMuc2V0KHBhcmFsbGVsUm91dGVyS2V5LCBjaGlsZE5vZGVzRm9yUGFyYWxsZWxSb3V0ZXIpO1xuICAgIH1cbiAgICAvLyBHZXQgdGhlIGFjdGl2ZSBzZWdtZW50IGluIHRoZSB0cmVlXG4gICAgLy8gVGhlIHJlYXNvbiBhcnJheXMgYXJlIHVzZWQgaW4gdGhlIGRhdGEgZm9ybWF0IGlzIHRoYXQgdGhlc2UgYXJlIHRyYW5zZmVycmVkIGZyb20gdGhlIHNlcnZlciB0byB0aGUgYnJvd3NlciBzbyBpdCdzIG9wdGltaXplZCB0byBzYXZlIGJ5dGVzLlxuICAgIGNvbnN0IHRyZWVTZWdtZW50ID0gdHJlZVsxXVtwYXJhbGxlbFJvdXRlcktleV1bMF07XG4gICAgLy8gSWYgc2VnbWVudCBpcyBhbiBhcnJheSBpdCdzIGEgZHluYW1pYyByb3V0ZSBhbmQgd2Ugd2FudCB0byByZWFkIHRoZSBkeW5hbWljIHJvdXRlIHZhbHVlIGFzIHRoZSBzZWdtZW50IHRvIGdldCBmcm9tIHRoZSBjYWNoZS5cbiAgICBjb25zdCBjdXJyZW50Q2hpbGRTZWdtZW50VmFsdWUgPSAoMCwgX2dldHNlZ21lbnR2YWx1ZS5nZXRTZWdtZW50VmFsdWUpKHRyZWVTZWdtZW50KTtcbiAgICAvKipcbiAgICogRGVjaWRlcyB3aGljaCBzZWdtZW50cyB0byBrZWVwIHJlbmRlcmluZywgYWxsIHNlZ21lbnRzIHRoYXQgYXJlIG5vdCBhY3RpdmUgd2lsbCBiZSB3cmFwcGVkIGluIGA8T2Zmc2NyZWVuPmAuXG4gICAqLyAvLyBUT0RPLUFQUDogQWRkIGhhbmRsaW5nIG9mIGA8T2Zmc2NyZWVuPmAgd2hlbiBpdCdzIGF2YWlsYWJsZS5cbiAgICBjb25zdCBwcmVzZXJ2ZWRTZWdtZW50cyA9IFtcbiAgICAgICAgdHJlZVNlZ21lbnRcbiAgICBdO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgc3R5bGVzLFxuICAgICAgICAgICAgcHJlc2VydmVkU2VnbWVudHMubWFwKChwcmVzZXJ2ZWRTZWdtZW50KT0+e1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZXNlcnZlZFNlZ21lbnRWYWx1ZSA9ICgwLCBfZ2V0c2VnbWVudHZhbHVlLmdldFNlZ21lbnRWYWx1ZSkocHJlc2VydmVkU2VnbWVudCk7XG4gICAgICAgICAgICAgICAgY29uc3QgY2FjaGVLZXkgPSAoMCwgX2NyZWF0ZXJvdXRlcmNhY2hla2V5LmNyZWF0ZVJvdXRlckNhY2hlS2V5KShwcmVzZXJ2ZWRTZWdtZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm4oLypcbiAgICAgICAgICAgIC0gRXJyb3IgYm91bmRhcnlcbiAgICAgICAgICAgICAgLSBPbmx5IHJlbmRlcnMgZXJyb3IgYm91bmRhcnkgaWYgZXJyb3IgY29tcG9uZW50IGlzIHByb3ZpZGVkLlxuICAgICAgICAgICAgICAtIFJlbmRlcmVkIGZvciBlYWNoIHNlZ21lbnQgdG8gZW5zdXJlIHRoZXkgaGF2ZSB0aGVpciBvd24gZXJyb3Igc3RhdGUuXG4gICAgICAgICAgICAtIExvYWRpbmcgYm91bmRhcnlcbiAgICAgICAgICAgICAgLSBPbmx5IHJlbmRlcnMgc3VzcGVuc2UgYm91bmRhcnkgaWYgbG9hZGluZyBjb21wb25lbnRzIGlzIHByb3ZpZGVkLlxuICAgICAgICAgICAgICAtIFJlbmRlcmVkIGZvciBlYWNoIHNlZ21lbnQgdG8gZW5zdXJlIHRoZXkgaGF2ZSB0aGVpciBvd24gbG9hZGluZyBzdGF0ZS5cbiAgICAgICAgICAgICAgLSBQYXNzZWQgdG8gdGhlIHJvdXRlciBkdXJpbmcgcmVuZGVyaW5nIHRvIGVuc3VyZSBpdCBjYW4gYmUgaW1tZWRpYXRlbHkgcmVuZGVyZWQgd2hlbiBzdXNwZW5kaW5nIG9uIGEgRmxpZ2h0IGZldGNoLlxuICAgICAgICAgICovIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5UZW1wbGF0ZUNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoU2Nyb2xsQW5kRm9jdXNIYW5kbGVyLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWdtZW50UGF0aDogc2VnbWVudFBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfZXJyb3Jib3VuZGFyeS5FcnJvckJvdW5kYXJ5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JDb21wb25lbnQ6IGVycm9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yU3R5bGVzOiBlcnJvclN0eWxlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvclNjcmlwdHM6IGVycm9yU2NyaXB0cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShMb2FkaW5nQm91bmRhcnksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzTG9hZGluZzogaGFzTG9hZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZzogbG9hZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1N0eWxlczogbG9hZGluZ1N0eWxlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1NjcmlwdHM6IGxvYWRpbmdTY3JpcHRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfbm90Zm91bmRib3VuZGFyeS5Ob3RGb3VuZEJvdW5kYXJ5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RGb3VuZDogbm90Rm91bmQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RGb3VuZFN0eWxlczogbm90Rm91bmRTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfcmVkaXJlY3Rib3VuZGFyeS5SZWRpcmVjdEJvdW5kYXJ5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoSW5uZXJMYXlvdXRSb3V0ZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYWxsZWxSb3V0ZXJLZXk6IHBhcmFsbGVsUm91dGVyS2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJlZTogdHJlZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGROb2RlczogY2hpbGROb2Rlc0ZvclBhcmFsbGVsUm91dGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWdtZW50UGF0aDogc2VnbWVudFBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlS2V5OiBjYWNoZUtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNBY3RpdmU6IGN1cnJlbnRDaGlsZFNlZ21lbnRWYWx1ZSA9PT0gcHJlc2VydmVkU2VnbWVudFZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVNjcmlwdHMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSwgKDAsIF9jcmVhdGVyb3V0ZXJjYWNoZWtleS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkocHJlc2VydmVkU2VnbWVudCwgdHJ1ZSkpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGF5b3V0LXJvdXRlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiT3V0ZXJMYXlvdXRSb3V0ZXIiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9yZWFjdGRvbSIsIl9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSIsIl9mZXRjaHNlcnZlcnJlc3BvbnNlIiwiX2luZmluaXRlcHJvbWlzZSIsIl9lcnJvcmJvdW5kYXJ5IiwiX21hdGNoc2VnbWVudHMiLCJfaGFuZGxlc21vb3Roc2Nyb2xsIiwiX3JlZGlyZWN0Ym91bmRhcnkiLCJfbm90Zm91bmRib3VuZGFyeSIsIl9nZXRzZWdtZW50dmFsdWUiLCJfY3JlYXRlcm91dGVyY2FjaGVrZXkiLCJ3YWxrQWRkUmVmZXRjaCIsInNlZ21lbnRQYXRoVG9XYWxrIiwidHJlZVRvUmVjcmVhdGUiLCJzZWdtZW50IiwicGFyYWxsZWxSb3V0ZUtleSIsImlzTGFzdCIsImxlbmd0aCIsIm1hdGNoU2VnbWVudCIsImhhc093blByb3BlcnR5Iiwic3ViVHJlZSIsInVuZGVmaW5lZCIsInNsaWNlIiwiZmluZERPTU5vZGUiLCJpbnN0YW5jZSIsInByb2Nlc3MiLCJvcmlnaW5hbENvbnNvbGVFcnJvciIsImNvbnNvbGUiLCJlcnJvciIsIl9sZW4iLCJhcmd1bWVudHMiLCJtZXNzYWdlcyIsIkFycmF5IiwiX2tleSIsImluY2x1ZGVzIiwiZGVmYXVsdCIsInJlY3RQcm9wZXJ0aWVzIiwic2hvdWxkU2tpcEVsZW1lbnQiLCJlbGVtZW50IiwiZ2V0Q29tcHV0ZWRTdHlsZSIsInBvc2l0aW9uIiwid2FybiIsInJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJldmVyeSIsIml0ZW0iLCJ0b3BPZkVsZW1lbnRJblZpZXdwb3J0Iiwidmlld3BvcnRIZWlnaHQiLCJ0b3AiLCJnZXRIYXNoRnJhZ21lbnREb21Ob2RlIiwiaGFzaEZyYWdtZW50IiwiZG9jdW1lbnQiLCJib2R5IiwiX2RvY3VtZW50X2dldEVsZW1lbnRCeUlkIiwiZ2V0RWxlbWVudEJ5SWQiLCJnZXRFbGVtZW50c0J5TmFtZSIsIklubmVyU2Nyb2xsQW5kRm9jdXNIYW5kbGVyIiwiQ29tcG9uZW50IiwiY29tcG9uZW50RGlkTW91bnQiLCJoYW5kbGVQb3RlbnRpYWxTY3JvbGwiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcm9wcyIsImZvY3VzQW5kU2Nyb2xsUmVmIiwiYXBwbHkiLCJyZW5kZXIiLCJjaGlsZHJlbiIsImNvbnN0cnVjdG9yIiwiYXJncyIsInNlZ21lbnRQYXRoIiwic2VnbWVudFBhdGhzIiwic29tZSIsInNjcm9sbFJlZlNlZ21lbnRQYXRoIiwiaW5kZXgiLCJkb21Ob2RlIiwiRWxlbWVudCIsIkhUTUxFbGVtZW50IiwibmV4dEVsZW1lbnRTaWJsaW5nIiwiaGFuZGxlU21vb3RoU2Nyb2xsIiwic2Nyb2xsSW50b1ZpZXciLCJodG1sRWxlbWVudCIsImRvY3VtZW50RWxlbWVudCIsImNsaWVudEhlaWdodCIsInNjcm9sbFRvcCIsImRvbnRGb3JjZUxheW91dCIsIm9ubHlIYXNoQ2hhbmdlIiwiZm9jdXMiLCJTY3JvbGxBbmRGb2N1c0hhbmRsZXIiLCJwYXJhbSIsImNvbnRleHQiLCJ1c2VDb250ZXh0IiwiR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCIsIkVycm9yIiwianN4IiwiSW5uZXJMYXlvdXRSb3V0ZXIiLCJwYXJhbGxlbFJvdXRlcktleSIsInVybCIsImNoaWxkTm9kZXMiLCJ0cmVlIiwiY2FjaGVLZXkiLCJidWlsZElkIiwiY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZSIsImZ1bGxUcmVlIiwiY2hpbGROb2RlIiwibmV3TGF6eUNhY2hlTm9kZSIsImxhenlEYXRhIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJoZWFkIiwicGFyYWxsZWxSb3V0ZXMiLCJNYXAiLCJzZXQiLCJyZXNvbHZlZFByZWZldGNoUnNjIiwidXNlRGVmZXJyZWRWYWx1ZSIsInJlc29sdmVkUnNjIiwidGhlbiIsInVzZSIsInJlZmV0Y2hUcmVlIiwiZmV0Y2hTZXJ2ZXJSZXNwb25zZSIsIlVSTCIsImxvY2F0aW9uIiwib3JpZ2luIiwibmV4dFVybCIsImZsaWdodERhdGEiLCJvdmVycmlkZUNhbm9uaWNhbFVybCIsInNldFRpbWVvdXQiLCJzdGFydFRyYW5zaXRpb24iLCJjcmVhdGVJbmZpbml0ZVByb21pc2UiLCJzdWJ0cmVlIiwiTGF5b3V0Um91dGVyQ29udGV4dCIsIlByb3ZpZGVyIiwiTG9hZGluZ0JvdW5kYXJ5IiwibG9hZGluZyIsImxvYWRpbmdTdHlsZXMiLCJsb2FkaW5nU2NyaXB0cyIsImhhc0xvYWRpbmciLCJTdXNwZW5zZSIsImZhbGxiYWNrIiwianN4cyIsIkZyYWdtZW50IiwiZXJyb3JTdHlsZXMiLCJlcnJvclNjcmlwdHMiLCJ0ZW1wbGF0ZVN0eWxlcyIsInRlbXBsYXRlU2NyaXB0cyIsInRlbXBsYXRlIiwibm90Rm91bmQiLCJub3RGb3VuZFN0eWxlcyIsInN0eWxlcyIsImNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlciIsInRyZWVTZWdtZW50IiwiY3VycmVudENoaWxkU2VnbWVudFZhbHVlIiwiZ2V0U2VnbWVudFZhbHVlIiwicHJlc2VydmVkU2VnbWVudHMiLCJtYXAiLCJwcmVzZXJ2ZWRTZWdtZW50IiwicHJlc2VydmVkU2VnbWVudFZhbHVlIiwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJUZW1wbGF0ZUNvbnRleHQiLCJFcnJvckJvdW5kYXJ5IiwiZXJyb3JDb21wb25lbnQiLCJOb3RGb3VuZEJvdW5kYXJ5IiwiUmVkaXJlY3RCb3VuZGFyeSIsImlzQWN0aXZlIiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/layout-router.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/match-segments.js": /*!********************************************************************!*\ !*** ./node_modules/next/dist/client/components/match-segments.js ***! \********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n matchSegment: function() {\n return matchSegment;\n },\n canSegmentBeOverridden: function() {\n return canSegmentBeOverridden;\n }\n});\nconst _getsegmentparam = __webpack_require__(/*! ../../server/app-render/get-segment-param */ \"(ssr)/./node_modules/next/dist/server/app-render/get-segment-param.js\");\nconst matchSegment = (existingSegment, segment)=>{\n // segment is either Array or string\n if (typeof existingSegment === \"string\") {\n if (typeof segment === \"string\") {\n // Common case: segment is just a string\n return existingSegment === segment;\n }\n return false;\n }\n if (typeof segment === \"string\") {\n return false;\n }\n return existingSegment[0] === segment[0] && existingSegment[1] === segment[1];\n};\nconst canSegmentBeOverridden = (existingSegment, segment)=>{\n var _getSegmentParam;\n if (Array.isArray(existingSegment) || !Array.isArray(segment)) {\n return false;\n }\n return ((_getSegmentParam = (0, _getsegmentparam.getSegmentParam)(existingSegment)) == null ? void 0 : _getSegmentParam.param) === segment[0];\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=match-segments.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL21hdGNoLXNlZ21lbnRzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxjQUFjO1FBQ1YsT0FBT0E7SUFDWDtJQUNBQyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sbUJBQW1CQyxtQkFBT0EsQ0FBQyx3SEFBMkM7QUFDNUUsTUFBTVQsZUFBZSxDQUFDVSxpQkFBaUJDO0lBQ25DLG9DQUFvQztJQUNwQyxJQUFJLE9BQU9ELG9CQUFvQixVQUFVO1FBQ3JDLElBQUksT0FBT0MsWUFBWSxVQUFVO1lBQzdCLHdDQUF3QztZQUN4QyxPQUFPRCxvQkFBb0JDO1FBQy9CO1FBQ0EsT0FBTztJQUNYO0lBQ0EsSUFBSSxPQUFPQSxZQUFZLFVBQVU7UUFDN0IsT0FBTztJQUNYO0lBQ0EsT0FBT0QsZUFBZSxDQUFDLEVBQUUsS0FBS0MsT0FBTyxDQUFDLEVBQUUsSUFBSUQsZUFBZSxDQUFDLEVBQUUsS0FBS0MsT0FBTyxDQUFDLEVBQUU7QUFDakY7QUFDQSxNQUFNVix5QkFBeUIsQ0FBQ1MsaUJBQWlCQztJQUM3QyxJQUFJQztJQUNKLElBQUlDLE1BQU1DLE9BQU8sQ0FBQ0osb0JBQW9CLENBQUNHLE1BQU1DLE9BQU8sQ0FBQ0gsVUFBVTtRQUMzRCxPQUFPO0lBQ1g7SUFDQSxPQUFPLENBQUMsQ0FBQ0MsbUJBQW1CLENBQUMsR0FBR0osaUJBQWlCTyxlQUFlLEVBQUVMLGdCQUFlLEtBQU0sT0FBTyxLQUFLLElBQUlFLGlCQUFpQkksS0FBSyxNQUFNTCxPQUFPLENBQUMsRUFBRTtBQUNqSjtBQUVBLElBQUksQ0FBQyxPQUFPZCxRQUFRb0IsT0FBTyxLQUFLLGNBQWUsT0FBT3BCLFFBQVFvQixPQUFPLEtBQUssWUFBWXBCLFFBQVFvQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wQixRQUFRb0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9CLE9BQU8sRUFBRSxjQUFjO1FBQUVuQixPQUFPO0lBQUs7SUFDbkVILE9BQU93QixNQUFNLENBQUN0QixRQUFRb0IsT0FBTyxFQUFFcEI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUW9CLE9BQU87QUFDbEMsRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL21hdGNoLXNlZ21lbnRzLmpzP2JjYjEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBtYXRjaFNlZ21lbnQ6IG51bGwsXG4gICAgY2FuU2VnbWVudEJlT3ZlcnJpZGRlbjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBtYXRjaFNlZ21lbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbWF0Y2hTZWdtZW50O1xuICAgIH0sXG4gICAgY2FuU2VnbWVudEJlT3ZlcnJpZGRlbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjYW5TZWdtZW50QmVPdmVycmlkZGVuO1xuICAgIH1cbn0pO1xuY29uc3QgX2dldHNlZ21lbnRwYXJhbSA9IHJlcXVpcmUoXCIuLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci9nZXQtc2VnbWVudC1wYXJhbVwiKTtcbmNvbnN0IG1hdGNoU2VnbWVudCA9IChleGlzdGluZ1NlZ21lbnQsIHNlZ21lbnQpPT57XG4gICAgLy8gc2VnbWVudCBpcyBlaXRoZXIgQXJyYXkgb3Igc3RyaW5nXG4gICAgaWYgKHR5cGVvZiBleGlzdGluZ1NlZ21lbnQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBzZWdtZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAvLyBDb21tb24gY2FzZTogc2VnbWVudCBpcyBqdXN0IGEgc3RyaW5nXG4gICAgICAgICAgICByZXR1cm4gZXhpc3RpbmdTZWdtZW50ID09PSBzZWdtZW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBzZWdtZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGV4aXN0aW5nU2VnbWVudFswXSA9PT0gc2VnbWVudFswXSAmJiBleGlzdGluZ1NlZ21lbnRbMV0gPT09IHNlZ21lbnRbMV07XG59O1xuY29uc3QgY2FuU2VnbWVudEJlT3ZlcnJpZGRlbiA9IChleGlzdGluZ1NlZ21lbnQsIHNlZ21lbnQpPT57XG4gICAgdmFyIF9nZXRTZWdtZW50UGFyYW07XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZXhpc3RpbmdTZWdtZW50KSB8fCAhQXJyYXkuaXNBcnJheShzZWdtZW50KSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiAoKF9nZXRTZWdtZW50UGFyYW0gPSAoMCwgX2dldHNlZ21lbnRwYXJhbS5nZXRTZWdtZW50UGFyYW0pKGV4aXN0aW5nU2VnbWVudCkpID09IG51bGwgPyB2b2lkIDAgOiBfZ2V0U2VnbWVudFBhcmFtLnBhcmFtKSA9PT0gc2VnbWVudFswXTtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1hdGNoLXNlZ21lbnRzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIm1hdGNoU2VnbWVudCIsImNhblNlZ21lbnRCZU92ZXJyaWRkZW4iLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfZ2V0c2VnbWVudHBhcmFtIiwicmVxdWlyZSIsImV4aXN0aW5nU2VnbWVudCIsInNlZ21lbnQiLCJfZ2V0U2VnbWVudFBhcmFtIiwiQXJyYXkiLCJpc0FycmF5IiwiZ2V0U2VnbWVudFBhcmFtIiwicGFyYW0iLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/match-segments.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/navigation.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/client/components/navigation.js ***! \****************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReadonlyURLSearchParams: function() {\n return ReadonlyURLSearchParams;\n },\n useSearchParams: function() {\n return useSearchParams;\n },\n usePathname: function() {\n return usePathname;\n },\n ServerInsertedHTMLContext: function() {\n return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext;\n },\n useServerInsertedHTML: function() {\n return _serverinsertedhtmlsharedruntime.useServerInsertedHTML;\n },\n useRouter: function() {\n return useRouter;\n },\n useParams: function() {\n return useParams;\n },\n useSelectedLayoutSegments: function() {\n return useSelectedLayoutSegments;\n },\n useSelectedLayoutSegment: function() {\n return useSelectedLayoutSegment;\n },\n redirect: function() {\n return _redirect.redirect;\n },\n permanentRedirect: function() {\n return _redirect.permanentRedirect;\n },\n RedirectType: function() {\n return _redirect.RedirectType;\n },\n notFound: function() {\n return _notfound.notFound;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\");\nconst _clienthookinservercomponenterror = __webpack_require__(/*! ./client-hook-in-server-component-error */ \"(ssr)/./node_modules/next/dist/client/components/client-hook-in-server-component-error.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _segment = __webpack_require__(/*! ../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _serverinsertedhtmlsharedruntime = __webpack_require__(/*! ../../shared/lib/server-inserted-html.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(ssr)/./node_modules/next/dist/client/components/redirect.js\");\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(ssr)/./node_modules/next/dist/client/components/not-found.js\");\nconst INTERNAL_URLSEARCHPARAMS_INSTANCE = Symbol(\"internal for urlsearchparams readonly\");\nfunction readonlyURLSearchParamsError() {\n return new Error(\"ReadonlyURLSearchParams cannot be modified\");\n}\nclass ReadonlyURLSearchParams {\n [Symbol.iterator]() {\n return this[INTERNAL_URLSEARCHPARAMS_INSTANCE][Symbol.iterator]();\n }\n append() {\n throw readonlyURLSearchParamsError();\n }\n delete() {\n throw readonlyURLSearchParamsError();\n }\n set() {\n throw readonlyURLSearchParamsError();\n }\n sort() {\n throw readonlyURLSearchParamsError();\n }\n constructor(urlSearchParams){\n this[INTERNAL_URLSEARCHPARAMS_INSTANCE] = urlSearchParams;\n this.entries = urlSearchParams.entries.bind(urlSearchParams);\n this.forEach = urlSearchParams.forEach.bind(urlSearchParams);\n this.get = urlSearchParams.get.bind(urlSearchParams);\n this.getAll = urlSearchParams.getAll.bind(urlSearchParams);\n this.has = urlSearchParams.has.bind(urlSearchParams);\n this.keys = urlSearchParams.keys.bind(urlSearchParams);\n this.values = urlSearchParams.values.bind(urlSearchParams);\n this.toString = urlSearchParams.toString.bind(urlSearchParams);\n this.size = urlSearchParams.size;\n }\n}\nfunction useSearchParams() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useSearchParams\");\n const searchParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.SearchParamsContext);\n // In the case where this is `null`, the compat types added in\n // `next-env.d.ts` will add a new overload that changes the return type to\n // include `null`.\n const readonlySearchParams = (0, _react.useMemo)(()=>{\n if (!searchParams) {\n // When the router is not ready in pages, we won't have the search params\n // available.\n return null;\n }\n return new ReadonlyURLSearchParams(searchParams);\n }, [\n searchParams\n ]);\n if (true) {\n // AsyncLocalStorage should not be included in the client bundle.\n const { bailoutToClientRendering } = __webpack_require__(/*! ./bailout-to-client-rendering */ \"(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js\");\n // TODO-APP: handle dynamic = 'force-static' here and on the client\n bailoutToClientRendering(\"useSearchParams()\");\n }\n return readonlySearchParams;\n}\nfunction usePathname() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"usePathname\");\n // In the case where this is `null`, the compat types added in `next-env.d.ts`\n // will add a new overload that changes the return type to include `null`.\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext);\n}\nfunction useRouter() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useRouter\");\n const router = (0, _react.useContext)(_approutercontextsharedruntime.AppRouterContext);\n if (router === null) {\n throw new Error(\"invariant expected app router to be mounted\");\n }\n return router;\n}\n// this function performs a depth-first search of the tree to find the selected\n// params\nfunction getSelectedParams(tree, params) {\n if (params === void 0) params = {};\n const parallelRoutes = tree[1];\n for (const parallelRoute of Object.values(parallelRoutes)){\n const segment = parallelRoute[0];\n const isDynamicParameter = Array.isArray(segment);\n const segmentValue = isDynamicParameter ? segment[1] : segment;\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) continue;\n // Ensure catchAll and optional catchall are turned into an array\n const isCatchAll = isDynamicParameter && (segment[2] === \"c\" || segment[2] === \"oc\");\n if (isCatchAll) {\n params[segment[0]] = segment[1].split(\"/\");\n } else if (isDynamicParameter) {\n params[segment[0]] = segment[1];\n }\n params = getSelectedParams(parallelRoute, params);\n }\n return params;\n}\nfunction useParams() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useParams\");\n const globalLayoutRouter = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n const pathParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext);\n return (0, _react.useMemo)(()=>{\n // When it's under app router\n if (globalLayoutRouter == null ? void 0 : globalLayoutRouter.tree) {\n return getSelectedParams(globalLayoutRouter.tree);\n }\n // When it's under client side pages router\n return pathParams;\n }, [\n globalLayoutRouter == null ? void 0 : globalLayoutRouter.tree,\n pathParams\n ]);\n}\n// TODO-APP: handle parallel routes\n/**\n * Get the canonical parameters from the current level to the leaf node.\n */ function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first, segmentPath) {\n if (first === void 0) first = true;\n if (segmentPath === void 0) segmentPath = [];\n let node;\n if (first) {\n // Use the provided parallel route key on the first parallel route\n node = tree[1][parallelRouteKey];\n } else {\n // After first parallel route prefer children, if there's no children pick the first parallel route.\n const parallelRoutes = tree[1];\n var _parallelRoutes_children;\n node = (_parallelRoutes_children = parallelRoutes.children) != null ? _parallelRoutes_children : Object.values(parallelRoutes)[0];\n }\n if (!node) return segmentPath;\n const segment = node[0];\n const segmentValue = (0, _getsegmentvalue.getSegmentValue)(segment);\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) {\n return segmentPath;\n }\n segmentPath.push(segmentValue);\n return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath);\n}\nfunction useSelectedLayoutSegments(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useSelectedLayoutSegments\");\n const { tree } = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n return getSelectedLayoutSegmentPath(tree, parallelRouteKey);\n}\nfunction useSelectedLayoutSegment(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useSelectedLayoutSegment\");\n const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey);\n if (selectedLayoutSegments.length === 0) {\n return null;\n }\n return selectedLayoutSegments[0];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=navigation.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FjTjtBQUNBLFNBQVNjLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlwQixPQUFPQyxjQUFjLENBQUNrQixRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFoQixTQUFTO0lBQ2JHLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsYUFBYTtRQUNULE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9nQixpQ0FBaUNoQix5QkFBeUI7SUFDckU7SUFDQUMsdUJBQXVCO1FBQ25CLE9BQU9lLGlDQUFpQ2YscUJBQXFCO0lBQ2pFO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLDJCQUEyQjtRQUN2QixPQUFPQTtJQUNYO0lBQ0FDLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPVyxVQUFVWCxRQUFRO0lBQzdCO0lBQ0FDLG1CQUFtQjtRQUNmLE9BQU9VLFVBQVVWLGlCQUFpQjtJQUN0QztJQUNBQyxjQUFjO1FBQ1YsT0FBT1MsVUFBVVQsWUFBWTtJQUNqQztJQUNBQyxVQUFVO1FBQ04sT0FBT1MsVUFBVVQsUUFBUTtJQUM3QjtBQUNKO0FBQ0EsTUFBTVUsU0FBU0MsbUJBQU9BLENBQUMsd0dBQU87QUFDOUIsTUFBTUMsaUNBQWlDRCxtQkFBT0EsQ0FBQyx1S0FBb0Q7QUFDbkcsTUFBTUUsbUNBQW1DRixtQkFBT0EsQ0FBQywyS0FBc0Q7QUFD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U0FBU3pFLDBCQUEwQnVFLGdCQUFnQjtJQUMvQyxJQUFJQSxxQkFBcUIsS0FBSyxHQUFHQSxtQkFBbUI7SUFDbkQsSUFBR3BELGtDQUFrQ3VCLGdDQUFnQyxFQUFFO0lBQ3hFLE1BQU0sRUFBRVcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHdEMsT0FBTzZCLFVBQVUsRUFBRTNCLCtCQUErQjhELG1CQUFtQjtJQUMxRixPQUFPVCw2QkFBNkJqQixNQUFNa0I7QUFDOUM7QUFDQSxTQUFTdEUseUJBQXlCc0UsZ0JBQWdCO0lBQzlDLElBQUlBLHFCQUFxQixLQUFLLEdBQUdBLG1CQUFtQjtJQUNuRCxJQUFHcEQsa0NBQWtDdUIsZ0NBQWdDLEVBQUU7SUFDeEUsTUFBTXNDLHlCQUF5QmhGLDBCQUEwQnVFO0lBQ3pELElBQUlTLHVCQUF1QkMsTUFBTSxLQUFLLEdBQUc7UUFDckMsT0FBTztJQUNYO0lBQ0EsT0FBT0Qsc0JBQXNCLENBQUMsRUFBRTtBQUNwQztBQUVBLElBQUksQ0FBQyxPQUFPMUYsUUFBUTRGLE9BQU8sS0FBSyxjQUFlLE9BQU81RixRQUFRNEYsT0FBTyxLQUFLLFlBQVk1RixRQUFRNEYsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPNUYsUUFBUTRGLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcksvRixPQUFPQyxjQUFjLENBQUNDLFFBQVE0RixPQUFPLEVBQUUsY0FBYztRQUFFM0YsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0csTUFBTSxDQUFDOUYsUUFBUTRGLE9BQU8sRUFBRTVGO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVE0RixPQUFPO0FBQ2xDLEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9uYXZpZ2F0aW9uLmpzPzM0ODIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBSZWFkb25seVVSTFNlYXJjaFBhcmFtczogbnVsbCxcbiAgICB1c2VTZWFyY2hQYXJhbXM6IG51bGwsXG4gICAgdXNlUGF0aG5hbWU6IG51bGwsXG4gICAgU2VydmVySW5zZXJ0ZWRIVE1MQ29udGV4dDogbnVsbCxcbiAgICB1c2VTZXJ2ZXJJbnNlcnRlZEhUTUw6IG51bGwsXG4gICAgdXNlUm91dGVyOiBudWxsLFxuICAgIHVzZVBhcmFtczogbnVsbCxcbiAgICB1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzOiBudWxsLFxuICAgIHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudDogbnVsbCxcbiAgICByZWRpcmVjdDogbnVsbCxcbiAgICBwZXJtYW5lbnRSZWRpcmVjdDogbnVsbCxcbiAgICBSZWRpcmVjdFR5cGU6IG51bGwsXG4gICAgbm90Rm91bmQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXM7XG4gICAgfSxcbiAgICB1c2VTZWFyY2hQYXJhbXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlU2VhcmNoUGFyYW1zO1xuICAgIH0sXG4gICAgdXNlUGF0aG5hbWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlUGF0aG5hbWU7XG4gICAgfSxcbiAgICBTZXJ2ZXJJbnNlcnRlZEhUTUxDb250ZXh0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zZXJ2ZXJpbnNlcnRlZGh0bWxzaGFyZWRydW50aW1lLlNlcnZlckluc2VydGVkSFRNTENvbnRleHQ7XG4gICAgfSxcbiAgICB1c2VTZXJ2ZXJJbnNlcnRlZEhUTUw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3NlcnZlcmluc2VydGVkaHRtbHNoYXJlZHJ1bnRpbWUudXNlU2VydmVySW5zZXJ0ZWRIVE1MO1xuICAgIH0sXG4gICAgdXNlUm91dGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZVJvdXRlcjtcbiAgICB9LFxuICAgIHVzZVBhcmFtczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1c2VQYXJhbXM7XG4gICAgfSxcbiAgICB1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHM7XG4gICAgfSxcbiAgICB1c2VTZWxlY3RlZExheW91dFNlZ21lbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50O1xuICAgIH0sXG4gICAgcmVkaXJlY3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3JlZGlyZWN0LnJlZGlyZWN0O1xuICAgIH0sXG4gICAgcGVybWFuZW50UmVkaXJlY3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3JlZGlyZWN0LnBlcm1hbmVudFJlZGlyZWN0O1xuICAgIH0sXG4gICAgUmVkaXJlY3RUeXBlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9yZWRpcmVjdC5SZWRpcmVjdFR5cGU7XG4gICAgfSxcbiAgICBub3RGb3VuZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfbm90Zm91bmQubm90Rm91bmQ7XG4gICAgfVxufSk7XG5jb25zdCBfcmVhY3QgPSByZXF1aXJlKFwicmVhY3RcIik7XG5jb25zdCBfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWVcIik7XG5jb25zdCBfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2hvb2tzLWNsaWVudC1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY29uc3QgX2NsaWVudGhvb2tpbnNlcnZlcmNvbXBvbmVudGVycm9yID0gcmVxdWlyZShcIi4vY2xpZW50LWhvb2staW4tc2VydmVyLWNvbXBvbmVudC1lcnJvclwiKTtcbmNvbnN0IF9nZXRzZWdtZW50dmFsdWUgPSByZXF1aXJlKFwiLi9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9nZXQtc2VnbWVudC12YWx1ZVwiKTtcbmNvbnN0IF9zZWdtZW50ID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvc2VnbWVudFwiKTtcbmNvbnN0IF9zZXJ2ZXJpbnNlcnRlZGh0bWxzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvc2VydmVyLWluc2VydGVkLWh0bWwuc2hhcmVkLXJ1bnRpbWVcIik7XG5jb25zdCBfcmVkaXJlY3QgPSByZXF1aXJlKFwiLi9yZWRpcmVjdFwiKTtcbmNvbnN0IF9ub3Rmb3VuZCA9IHJlcXVpcmUoXCIuL25vdC1mb3VuZFwiKTtcbmNvbnN0IElOVEVSTkFMX1VSTFNFQVJDSFBBUkFNU19JTlNUQU5DRSA9IFN5bWJvbChcImludGVybmFsIGZvciB1cmxzZWFyY2hwYXJhbXMgcmVhZG9ubHlcIik7XG5mdW5jdGlvbiByZWFkb25seVVSTFNlYXJjaFBhcmFtc0Vycm9yKCkge1xuICAgIHJldHVybiBuZXcgRXJyb3IoXCJSZWFkb25seVVSTFNlYXJjaFBhcmFtcyBjYW5ub3QgYmUgbW9kaWZpZWRcIik7XG59XG5jbGFzcyBSZWFkb25seVVSTFNlYXJjaFBhcmFtcyB7XG4gICAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0lOVEVSTkFMX1VSTFNFQVJDSFBBUkFNU19JTlNUQU5DRV1bU3ltYm9sLml0ZXJhdG9yXSgpO1xuICAgIH1cbiAgICBhcHBlbmQoKSB7XG4gICAgICAgIHRocm93IHJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zRXJyb3IoKTtcbiAgICB9XG4gICAgZGVsZXRlKCkge1xuICAgICAgICB0aHJvdyByZWFkb25seVVSTFNlYXJjaFBhcmFtc0Vycm9yKCk7XG4gICAgfVxuICAgIHNldCgpIHtcbiAgICAgICAgdGhyb3cgcmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNFcnJvcigpO1xuICAgIH1cbiAgICBzb3J0KCkge1xuICAgICAgICB0aHJvdyByZWFkb25seVVSTFNlYXJjaFBhcmFtc0Vycm9yKCk7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHVybFNlYXJjaFBhcmFtcyl7XG4gICAgICAgIHRoaXNbSU5URVJOQUxfVVJMU0VBUkNIUEFSQU1TX0lOU1RBTkNFXSA9IHVybFNlYXJjaFBhcmFtcztcbiAgICAgICAgdGhpcy5lbnRyaWVzID0gdXJsU2VhcmNoUGFyYW1zLmVudHJpZXMuYmluZCh1cmxTZWFyY2hQYXJhbXMpO1xuICAgICAgICB0aGlzLmZvckVhY2ggPSB1cmxTZWFyY2hQYXJhbXMuZm9yRWFjaC5iaW5kKHVybFNlYXJjaFBhcmFtcyk7XG4gICAgICAgIHRoaXMuZ2V0ID0gdXJsU2VhcmNoUGFyYW1zLmdldC5iaW5kKHVybFNlYXJjaFBhcmFtcyk7XG4gICAgICAgIHRoaXMuZ2V0QWxsID0gdXJsU2VhcmNoUGFyYW1zLmdldEFsbC5iaW5kKHVybFNlYXJjaFBhcmFtcyk7XG4gICAgICAgIHRoaXMuaGFzID0gdXJsU2VhcmNoUGFyYW1zLmhhcy5iaW5kKHVybFNlYXJjaFBhcmFtcyk7XG4gICAgICAgIHRoaXMua2V5cyA9IHVybFNlYXJjaFBhcmFtcy5rZXlzLmJpbmQodXJsU2VhcmNoUGFyYW1zKTtcbiAgICAgICAgdGhpcy52YWx1ZXMgPSB1cmxTZWFyY2hQYXJhbXMudmFsdWVzLmJpbmQodXJsU2VhcmNoUGFyYW1zKTtcbiAgICAgICAgdGhpcy50b1N0cmluZyA9IHVybFNlYXJjaFBhcmFtcy50b1N0cmluZy5iaW5kKHVybFNlYXJjaFBhcmFtcyk7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHVybFNlYXJjaFBhcmFtcy5zaXplO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHVzZVNlYXJjaFBhcmFtcygpIHtcbiAgICAoMCwgX2NsaWVudGhvb2tpbnNlcnZlcmNvbXBvbmVudGVycm9yLmNsaWVudEhvb2tJblNlcnZlckNvbXBvbmVudEVycm9yKShcInVzZVNlYXJjaFBhcmFtc1wiKTtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9ob29rc2NsaWVudGNvbnRleHRzaGFyZWRydW50aW1lLlNlYXJjaFBhcmFtc0NvbnRleHQpO1xuICAgIC8vIEluIHRoZSBjYXNlIHdoZXJlIHRoaXMgaXMgYG51bGxgLCB0aGUgY29tcGF0IHR5cGVzIGFkZGVkIGluXG4gICAgLy8gYG5leHQtZW52LmQudHNgIHdpbGwgYWRkIGEgbmV3IG92ZXJsb2FkIHRoYXQgY2hhbmdlcyB0aGUgcmV0dXJuIHR5cGUgdG9cbiAgICAvLyBpbmNsdWRlIGBudWxsYC5cbiAgICBjb25zdCByZWFkb25seVNlYXJjaFBhcmFtcyA9ICgwLCBfcmVhY3QudXNlTWVtbykoKCk9PntcbiAgICAgICAgaWYgKCFzZWFyY2hQYXJhbXMpIHtcbiAgICAgICAgICAgIC8vIFdoZW4gdGhlIHJvdXRlciBpcyBub3QgcmVhZHkgaW4gcGFnZXMsIHdlIHdvbid0IGhhdmUgdGhlIHNlYXJjaCBwYXJhbXNcbiAgICAgICAgICAgIC8vIGF2YWlsYWJsZS5cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMoc2VhcmNoUGFyYW1zKTtcbiAgICB9LCBbXG4gICAgICAgIHNlYXJjaFBhcmFtc1xuICAgIF0pO1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIC8vIEFzeW5jTG9jYWxTdG9yYWdlIHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIGNsaWVudCBidW5kbGUuXG4gICAgICAgIGNvbnN0IHsgYmFpbG91dFRvQ2xpZW50UmVuZGVyaW5nIH0gPSByZXF1aXJlKFwiLi9iYWlsb3V0LXRvLWNsaWVudC1yZW5kZXJpbmdcIik7XG4gICAgICAgIC8vIFRPRE8tQVBQOiBoYW5kbGUgZHluYW1pYyA9ICdmb3JjZS1zdGF0aWMnIGhlcmUgYW5kIG9uIHRoZSBjbGllbnRcbiAgICAgICAgYmFpbG91dFRvQ2xpZW50UmVuZGVyaW5nKFwidXNlU2VhcmNoUGFyYW1zKClcIik7XG4gICAgfVxuICAgIHJldHVybiByZWFkb25seVNlYXJjaFBhcmFtcztcbn1cbmZ1bmN0aW9uIHVzZVBhdGhuYW1lKCkge1xuICAgICgwLCBfY2xpZW50aG9va2luc2VydmVyY29tcG9uZW50ZXJyb3IuY2xpZW50SG9va0luU2VydmVyQ29tcG9uZW50RXJyb3IpKFwidXNlUGF0aG5hbWVcIik7XG4gICAgLy8gSW4gdGhlIGNhc2Ugd2hlcmUgdGhpcyBpcyBgbnVsbGAsIHRoZSBjb21wYXQgdHlwZXMgYWRkZWQgaW4gYG5leHQtZW52LmQudHNgXG4gICAgLy8gd2lsbCBhZGQgYSBuZXcgb3ZlcmxvYWQgdGhhdCBjaGFuZ2VzIHRoZSByZXR1cm4gdHlwZSB0byBpbmNsdWRlIGBudWxsYC5cbiAgICByZXR1cm4gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZS5QYXRobmFtZUNvbnRleHQpO1xufVxuZnVuY3Rpb24gdXNlUm91dGVyKCkge1xuICAgICgwLCBfY2xpZW50aG9va2luc2VydmVyY29tcG9uZW50ZXJyb3IuY2xpZW50SG9va0luU2VydmVyQ29tcG9uZW50RXJyb3IpKFwidXNlUm91dGVyXCIpO1xuICAgIGNvbnN0IHJvdXRlciA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkFwcFJvdXRlckNvbnRleHQpO1xuICAgIGlmIChyb3V0ZXIgPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW52YXJpYW50IGV4cGVjdGVkIGFwcCByb3V0ZXIgdG8gYmUgbW91bnRlZFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHJvdXRlcjtcbn1cbi8vIHRoaXMgZnVuY3Rpb24gcGVyZm9ybXMgYSBkZXB0aC1maXJzdCBzZWFyY2ggb2YgdGhlIHRyZWUgdG8gZmluZCB0aGUgc2VsZWN0ZWRcbi8vIHBhcmFtc1xuZnVuY3Rpb24gZ2V0U2VsZWN0ZWRQYXJhbXModHJlZSwgcGFyYW1zKSB7XG4gICAgaWYgKHBhcmFtcyA9PT0gdm9pZCAwKSBwYXJhbXMgPSB7fTtcbiAgICBjb25zdCBwYXJhbGxlbFJvdXRlcyA9IHRyZWVbMV07XG4gICAgZm9yIChjb25zdCBwYXJhbGxlbFJvdXRlIG9mIE9iamVjdC52YWx1ZXMocGFyYWxsZWxSb3V0ZXMpKXtcbiAgICAgICAgY29uc3Qgc2VnbWVudCA9IHBhcmFsbGVsUm91dGVbMF07XG4gICAgICAgIGNvbnN0IGlzRHluYW1pY1BhcmFtZXRlciA9IEFycmF5LmlzQXJyYXkoc2VnbWVudCk7XG4gICAgICAgIGNvbnN0IHNlZ21lbnRWYWx1ZSA9IGlzRHluYW1pY1BhcmFtZXRlciA/IHNlZ21lbnRbMV0gOiBzZWdtZW50O1xuICAgICAgICBpZiAoIXNlZ21lbnRWYWx1ZSB8fCBzZWdtZW50VmFsdWUuc3RhcnRzV2l0aChfc2VnbWVudC5QQUdFX1NFR01FTlRfS0VZKSkgY29udGludWU7XG4gICAgICAgIC8vIEVuc3VyZSBjYXRjaEFsbCBhbmQgb3B0aW9uYWwgY2F0Y2hhbGwgYXJlIHR1cm5lZCBpbnRvIGFuIGFycmF5XG4gICAgICAgIGNvbnN0IGlzQ2F0Y2hBbGwgPSBpc0R5bmFtaWNQYXJhbWV0ZXIgJiYgKHNlZ21lbnRbMl0gPT09IFwiY1wiIHx8IHNlZ21lbnRbMl0gPT09IFwib2NcIik7XG4gICAgICAgIGlmIChpc0NhdGNoQWxsKSB7XG4gICAgICAgICAgICBwYXJhbXNbc2VnbWVudFswXV0gPSBzZWdtZW50WzFdLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0R5bmFtaWNQYXJhbWV0ZXIpIHtcbiAgICAgICAgICAgIHBhcmFtc1tzZWdtZW50WzBdXSA9IHNlZ21lbnRbMV07XG4gICAgICAgIH1cbiAgICAgICAgcGFyYW1zID0gZ2V0U2VsZWN0ZWRQYXJhbXMocGFyYWxsZWxSb3V0ZSwgcGFyYW1zKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbn1cbmZ1bmN0aW9uIHVzZVBhcmFtcygpIHtcbiAgICAoMCwgX2NsaWVudGhvb2tpbnNlcnZlcmNvbXBvbmVudGVycm9yLmNsaWVudEhvb2tJblNlcnZlckNvbXBvbmVudEVycm9yKShcInVzZVBhcmFtc1wiKTtcbiAgICBjb25zdCBnbG9iYWxMYXlvdXRSb3V0ZXIgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0KTtcbiAgICBjb25zdCBwYXRoUGFyYW1zID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZS5QYXRoUGFyYW1zQ29udGV4dCk7XG4gICAgcmV0dXJuICgwLCBfcmVhY3QudXNlTWVtbykoKCk9PntcbiAgICAgICAgLy8gV2hlbiBpdCdzIHVuZGVyIGFwcCByb3V0ZXJcbiAgICAgICAgaWYgKGdsb2JhbExheW91dFJvdXRlciA9PSBudWxsID8gdm9pZCAwIDogZ2xvYmFsTGF5b3V0Um91dGVyLnRyZWUpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRTZWxlY3RlZFBhcmFtcyhnbG9iYWxMYXlvdXRSb3V0ZXIudHJlZSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gV2hlbiBpdCdzIHVuZGVyIGNsaWVudCBzaWRlIHBhZ2VzIHJvdXRlclxuICAgICAgICByZXR1cm4gcGF0aFBhcmFtcztcbiAgICB9LCBbXG4gICAgICAgIGdsb2JhbExheW91dFJvdXRlciA9PSBudWxsID8gdm9pZCAwIDogZ2xvYmFsTGF5b3V0Um91dGVyLnRyZWUsXG4gICAgICAgIHBhdGhQYXJhbXNcbiAgICBdKTtcbn1cbi8vIFRPRE8tQVBQOiBoYW5kbGUgcGFyYWxsZWwgcm91dGVzXG4vKipcbiAqIEdldCB0aGUgY2Fub25pY2FsIHBhcmFtZXRlcnMgZnJvbSB0aGUgY3VycmVudCBsZXZlbCB0byB0aGUgbGVhZiBub2RlLlxuICovIGZ1bmN0aW9uIGdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgodHJlZSwgcGFyYWxsZWxSb3V0ZUtleSwgZmlyc3QsIHNlZ21lbnRQYXRoKSB7XG4gICAgaWYgKGZpcnN0ID09PSB2b2lkIDApIGZpcnN0ID0gdHJ1ZTtcbiAgICBpZiAoc2VnbWVudFBhdGggPT09IHZvaWQgMCkgc2VnbWVudFBhdGggPSBbXTtcbiAgICBsZXQgbm9kZTtcbiAgICBpZiAoZmlyc3QpIHtcbiAgICAgICAgLy8gVXNlIHRoZSBwcm92aWRlZCBwYXJhbGxlbCByb3V0ZSBrZXkgb24gdGhlIGZpcnN0IHBhcmFsbGVsIHJvdXRlXG4gICAgICAgIG5vZGUgPSB0cmVlWzFdW3BhcmFsbGVsUm91dGVLZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFmdGVyIGZpcnN0IHBhcmFsbGVsIHJvdXRlIHByZWZlciBjaGlsZHJlbiwgaWYgdGhlcmUncyBubyBjaGlsZHJlbiBwaWNrIHRoZSBmaXJzdCBwYXJhbGxlbCByb3V0ZS5cbiAgICAgICAgY29uc3QgcGFyYWxsZWxSb3V0ZXMgPSB0cmVlWzFdO1xuICAgICAgICB2YXIgX3BhcmFsbGVsUm91dGVzX2NoaWxkcmVuO1xuICAgICAgICBub2RlID0gKF9wYXJhbGxlbFJvdXRlc19jaGlsZHJlbiA9IHBhcmFsbGVsUm91dGVzLmNoaWxkcmVuKSAhPSBudWxsID8gX3BhcmFsbGVsUm91dGVzX2NoaWxkcmVuIDogT2JqZWN0LnZhbHVlcyhwYXJhbGxlbFJvdXRlcylbMF07XG4gICAgfVxuICAgIGlmICghbm9kZSkgcmV0dXJuIHNlZ21lbnRQYXRoO1xuICAgIGNvbnN0IHNlZ21lbnQgPSBub2RlWzBdO1xuICAgIGNvbnN0IHNlZ21lbnRWYWx1ZSA9ICgwLCBfZ2V0c2VnbWVudHZhbHVlLmdldFNlZ21lbnRWYWx1ZSkoc2VnbWVudCk7XG4gICAgaWYgKCFzZWdtZW50VmFsdWUgfHwgc2VnbWVudFZhbHVlLnN0YXJ0c1dpdGgoX3NlZ21lbnQuUEFHRV9TRUdNRU5UX0tFWSkpIHtcbiAgICAgICAgcmV0dXJuIHNlZ21lbnRQYXRoO1xuICAgIH1cbiAgICBzZWdtZW50UGF0aC5wdXNoKHNlZ21lbnRWYWx1ZSk7XG4gICAgcmV0dXJuIGdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgobm9kZSwgcGFyYWxsZWxSb3V0ZUtleSwgZmFsc2UsIHNlZ21lbnRQYXRoKTtcbn1cbmZ1bmN0aW9uIHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMocGFyYWxsZWxSb3V0ZUtleSkge1xuICAgIGlmIChwYXJhbGxlbFJvdXRlS2V5ID09PSB2b2lkIDApIHBhcmFsbGVsUm91dGVLZXkgPSBcImNoaWxkcmVuXCI7XG4gICAgKDAsIF9jbGllbnRob29raW5zZXJ2ZXJjb21wb25lbnRlcnJvci5jbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvcikoXCJ1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzXCIpO1xuICAgIGNvbnN0IHsgdHJlZSB9ID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuTGF5b3V0Um91dGVyQ29udGV4dCk7XG4gICAgcmV0dXJuIGdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgodHJlZSwgcGFyYWxsZWxSb3V0ZUtleSk7XG59XG5mdW5jdGlvbiB1c2VTZWxlY3RlZExheW91dFNlZ21lbnQocGFyYWxsZWxSb3V0ZUtleSkge1xuICAgIGlmIChwYXJhbGxlbFJvdXRlS2V5ID09PSB2b2lkIDApIHBhcmFsbGVsUm91dGVLZXkgPSBcImNoaWxkcmVuXCI7XG4gICAgKDAsIF9jbGllbnRob29raW5zZXJ2ZXJjb21wb25lbnRlcnJvci5jbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvcikoXCJ1c2VTZWxlY3RlZExheW91dFNlZ21lbnRcIik7XG4gICAgY29uc3Qgc2VsZWN0ZWRMYXlvdXRTZWdtZW50cyA9IHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMocGFyYWxsZWxSb3V0ZUtleSk7XG4gICAgaWYgKHNlbGVjdGVkTGF5b3V0U2VnbWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gc2VsZWN0ZWRMYXlvdXRTZWdtZW50c1swXTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bmF2aWdhdGlvbi5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJSZWFkb25seVVSTFNlYXJjaFBhcmFtcyIsInVzZVNlYXJjaFBhcmFtcyIsInVzZVBhdGhuYW1lIiwiU2VydmVySW5zZXJ0ZWRIVE1MQ29udGV4dCIsInVzZVNlcnZlckluc2VydGVkSFRNTCIsInVzZVJvdXRlciIsInVzZVBhcmFtcyIsInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMiLCJ1c2VTZWxlY3RlZExheW91dFNlZ21lbnQiLCJyZWRpcmVjdCIsInBlcm1hbmVudFJlZGlyZWN0IiwiUmVkaXJlY3RUeXBlIiwibm90Rm91bmQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfc2VydmVyaW5zZXJ0ZWRodG1sc2hhcmVkcnVudGltZSIsIl9yZWRpcmVjdCIsIl9ub3Rmb3VuZCIsIl9yZWFjdCIsInJlcXVpcmUiLCJfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZSIsIl9jbGllbnRob29raW5zZXJ2ZXJjb21wb25lbnRlcnJvciIsIl9nZXRzZWdtZW50dmFsdWUiLCJfc2VnbWVudCIsIklOVEVSTkFMX1VSTFNFQVJDSFBBUkFNU19JTlNUQU5DRSIsIlN5bWJvbCIsInJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zRXJyb3IiLCJFcnJvciIsIml0ZXJhdG9yIiwiYXBwZW5kIiwiZGVsZXRlIiwic2V0Iiwic29ydCIsImNvbnN0cnVjdG9yIiwidXJsU2VhcmNoUGFyYW1zIiwiZW50cmllcyIsImJpbmQiLCJmb3JFYWNoIiwiZ2V0QWxsIiwiaGFzIiwia2V5cyIsInZhbHVlcyIsInRvU3RyaW5nIiwic2l6ZSIsImNsaWVudEhvb2tJblNlcnZlckNvbXBvbmVudEVycm9yIiwic2VhcmNoUGFyYW1zIiwidXNlQ29udGV4dCIsIlNlYXJjaFBhcmFtc0NvbnRleHQiLCJyZWFkb25seVNlYXJjaFBhcmFtcyIsInVzZU1lbW8iLCJiYWlsb3V0VG9DbGllbnRSZW5kZXJpbmciLCJQYXRobmFtZUNvbnRleHQiLCJyb3V0ZXIiLCJBcHBSb3V0ZXJDb250ZXh0IiwiZ2V0U2VsZWN0ZWRQYXJhbXMiLCJ0cmVlIiwicGFyYW1zIiwicGFyYWxsZWxSb3V0ZXMiLCJwYXJhbGxlbFJvdXRlIiwic2VnbWVudCIsImlzRHluYW1pY1BhcmFtZXRlciIsIkFycmF5IiwiaXNBcnJheSIsInNlZ21lbnRWYWx1ZSIsInN0YXJ0c1dpdGgiLCJQQUdFX1NFR01FTlRfS0VZIiwiaXNDYXRjaEFsbCIsInNwbGl0IiwiZ2xvYmFsTGF5b3V0Um91dGVyIiwiR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCIsInBhdGhQYXJhbXMiLCJQYXRoUGFyYW1zQ29udGV4dCIsImdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgiLCJwYXJhbGxlbFJvdXRlS2V5IiwiZmlyc3QiLCJzZWdtZW50UGF0aCIsIm5vZGUiLCJfcGFyYWxsZWxSb3V0ZXNfY2hpbGRyZW4iLCJjaGlsZHJlbiIsImdldFNlZ21lbnRWYWx1ZSIsInB1c2giLCJMYXlvdXRSb3V0ZXJDb250ZXh0Iiwic2VsZWN0ZWRMYXlvdXRTZWdtZW50cyIsImxlbmd0aCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/navigation.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/client/components/not-found-boundary.js ***! \************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"NotFoundBoundary\", ({\n enumerable: true,\n get: function() {\n return NotFoundBoundary;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(ssr)/./node_modules/next/dist/client/components/not-found.js\");\nconst _warnonce = __webpack_require__(/*! ../../shared/lib/utils/warn-once */ \"(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nclass NotFoundErrorBoundary extends _react.default.Component {\n componentDidCatch() {\n if ( true && // A missing children slot is the typical not-found case, so no need to warn\n !this.props.missingSlots.has(\"children\")) {\n let warningMessage = \"No default component was found for a parallel route rendered on this page. Falling back to nearest NotFound boundary.\\n\" + \"Learn more: https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#defaultjs\\n\\n\";\n if (this.props.missingSlots.size > 0) {\n const formattedSlots = Array.from(this.props.missingSlots).sort((a, b)=>a.localeCompare(b)).map((slot)=>\"@\" + slot).join(\", \");\n warningMessage += \"Missing slots: \" + formattedSlots;\n }\n (0, _warnonce.warnOnce)(warningMessage);\n }\n }\n static getDerivedStateFromError(error) {\n if ((0, _notfound.isNotFoundError)(error)) {\n return {\n notFoundTriggered: true\n };\n }\n // Re-throw if error is not for 404\n throw error;\n }\n static getDerivedStateFromProps(props, state) {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.notFoundTriggered) {\n return {\n notFoundTriggered: false,\n previousPathname: props.pathname\n };\n }\n return {\n notFoundTriggered: state.notFoundTriggered,\n previousPathname: props.pathname\n };\n }\n render() {\n if (this.state.notFoundTriggered) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"robots\",\n content: \"noindex\"\n }),\n true && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"next-error\",\n content: \"not-found\"\n }),\n this.props.notFoundStyles,\n this.props.notFound\n ]\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.state = {\n notFoundTriggered: !!props.asNotFound,\n previousPathname: props.pathname\n };\n }\n}\nfunction NotFoundBoundary(param) {\n let { notFound, notFoundStyles, asNotFound, children } = param;\n const pathname = (0, _navigation.usePathname)();\n const missingSlots = (0, _react.useContext)(_approutercontextsharedruntime.MissingSlotContext);\n return notFound ? /*#__PURE__*/ (0, _jsxruntime.jsx)(NotFoundErrorBoundary, {\n pathname: pathname,\n notFound: notFound,\n notFoundStyles: notFoundStyles,\n asNotFound: asNotFound,\n missingSlots: missingSlots,\n children: children\n }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qcyIsIm1hcHBpbmdzIjoicURBRWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG9EQUFtRDtJQUMvQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDRCQUE0QkMsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1DLGNBQWNELG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRSxTQUFTLFdBQVcsR0FBR0gsMEJBQTBCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1JLGNBQWNKLG1CQUFPQSxDQUFDLG9GQUFjO0FBQzFDLE1BQU1LLFlBQVlMLG1CQUFPQSxDQUFDLGtGQUFhO0FBQ3ZDLE1BQU1NLFlBQVlOLG1CQUFPQSxDQUFDLHNHQUFrQztBQUM1RCxNQUFNTyxpQ0FBaUNQLG1CQUFPQSxDQUFDLHVLQUFvRDtBQUNuRyxNQUFNUSw4QkFBOEJOLE9BQU9PLE9BQU8sQ0FBQ0MsU0FBUztJQUN4REMsb0JBQW9CO1FBQ2hCLElBQUlDLEtBQXNDLElBQUksNEVBQTRFO1FBQzFILENBQUMsSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVksQ0FBQ0MsR0FBRyxDQUFDLGFBQWE7WUFDdEMsSUFBSUMsaUJBQWlCLDRIQUE0SDtZQUNqSixJQUFJLElBQUksQ0FBQ0gsS0FBSyxDQUFDQyxZQUFZLENBQUNHLElBQUksR0FBRyxHQUFHO2dCQUNsQyxNQUFNQyxpQkFBaUJDLE1BQU1DLElBQUksQ0FBQyxJQUFJLENBQUNQLEtBQUssQ0FBQ0MsWUFBWSxFQUFFTyxJQUFJLENBQUMsQ0FBQ0MsR0FBR0MsSUFBSUQsRUFBRUUsYUFBYSxDQUFDRCxJQUFJRSxHQUFHLENBQUMsQ0FBQ0MsT0FBTyxNQUFNQSxNQUFNQyxJQUFJLENBQUM7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c2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtYm91bmRhcnkuanM/MzJjOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJOb3RGb3VuZEJvdW5kYXJ5XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBOb3RGb3VuZEJvdW5kYXJ5O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX25hdmlnYXRpb24gPSByZXF1aXJlKFwiLi9uYXZpZ2F0aW9uXCIpO1xuY29uc3QgX25vdGZvdW5kID0gcmVxdWlyZShcIi4vbm90LWZvdW5kXCIpO1xuY29uc3QgX3dhcm5vbmNlID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvdXRpbHMvd2Fybi1vbmNlXCIpO1xuY29uc3QgX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY2xhc3MgTm90Rm91bmRFcnJvckJvdW5kYXJ5IGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcbiAgICBjb21wb25lbnREaWRDYXRjaCgpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIgJiYgLy8gQSBtaXNzaW5nIGNoaWxkcmVuIHNsb3QgaXMgdGhlIHR5cGljYWwgbm90LWZvdW5kIGNhc2UsIHNvIG5vIG5lZWQgdG8gd2FyblxuICAgICAgICAhdGhpcy5wcm9wcy5taXNzaW5nU2xvdHMuaGFzKFwiY2hpbGRyZW5cIikpIHtcbiAgICAgICAgICAgIGxldCB3YXJuaW5nTWVzc2FnZSA9IFwiTm8gZGVmYXVsdCBjb21wb25lbnQgd2FzIGZvdW5kIGZvciBhIHBhcmFsbGVsIHJvdXRlIHJlbmRlcmVkIG9uIHRoaXMgcGFnZS4gRmFsbGluZyBiYWNrIHRvIG5lYXJlc3QgTm90Rm91bmQgYm91bmRhcnkuXFxuXCIgKyBcIkxlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JvdXRpbmcvcGFyYWxsZWwtcm91dGVzI2RlZmF1bHRqc1xcblxcblwiO1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMubWlzc2luZ1Nsb3RzLnNpemUgPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkU2xvdHMgPSBBcnJheS5mcm9tKHRoaXMucHJvcHMubWlzc2luZ1Nsb3RzKS5zb3J0KChhLCBiKT0+YS5sb2NhbGVDb21wYXJlKGIpKS5tYXAoKHNsb3QpPT5cIkBcIiArIHNsb3QpLmpvaW4oXCIsIFwiKTtcbiAgICAgICAgICAgICAgICB3YXJuaW5nTWVzc2FnZSArPSBcIk1pc3Npbmcgc2xvdHM6IFwiICsgZm9ybWF0dGVkU2xvdHM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAoMCwgX3dhcm5vbmNlLndhcm5PbmNlKSh3YXJuaW5nTWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlcnJvcikge1xuICAgICAgICBpZiAoKDAsIF9ub3Rmb3VuZC5pc05vdEZvdW5kRXJyb3IpKGVycm9yKSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBub3RGb3VuZFRyaWdnZXJlZDogdHJ1ZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZS10aHJvdyBpZiBlcnJvciBpcyBub3QgZm9yIDQwNFxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICAgICAgLyoqXG4gICAgICogSGFuZGxlcyByZXNldCBvZiB0aGUgZXJyb3IgYm91bmRhcnkgd2hlbiBhIG5hdmlnYXRpb24gaGFwcGVucy5cbiAgICAgKiBFbnN1cmVzIHRoZSBlcnJvciBib3VuZGFyeSBkb2VzIG5vdCBzdGF5IGVuYWJsZWQgd2hlbiBuYXZpZ2F0aW5nIHRvIGEgbmV3IHBhZ2UuXG4gICAgICogQXBwcm9hY2ggb2Ygc2V0U3RhdGUgaW4gcmVuZGVyIGlzIHNhZmUgYXMgaXQgY2hlY2tzIHRoZSBwcmV2aW91cyBwYXRobmFtZSBhbmQgdGhlbiBvdmVycmlkZXNcbiAgICAgKiBpdCBhcyBvdXRsaW5lZCBpbiBodHRwczovL3JlYWN0LmRldi9yZWZlcmVuY2UvcmVhY3QvdXNlU3RhdGUjc3RvcmluZy1pbmZvcm1hdGlvbi1mcm9tLXByZXZpb3VzLXJlbmRlcnNcbiAgICAgKi8gaWYgKHByb3BzLnBhdGhuYW1lICE9PSBzdGF0ZS5wcmV2aW91c1BhdGhuYW1lICYmIHN0YXRlLm5vdEZvdW5kVHJpZ2dlcmVkKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG5vdEZvdW5kVHJpZ2dlcmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBwcmV2aW91c1BhdGhuYW1lOiBwcm9wcy5wYXRobmFtZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbm90Rm91bmRUcmlnZ2VyZWQ6IHN0YXRlLm5vdEZvdW5kVHJpZ2dlcmVkLFxuICAgICAgICAgICAgcHJldmlvdXNQYXRobmFtZTogcHJvcHMucGF0aG5hbWVcbiAgICAgICAgfTtcbiAgICB9XG4gICAgcmVuZGVyKCkge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZS5ub3RGb3VuZFRyaWdnZXJlZCkge1xuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcIm1ldGFcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJyb2JvdHNcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwibm9pbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiICYmIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwibmV4dC1lcnJvclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJub3QtZm91bmRcIlxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5ub3RGb3VuZFN0eWxlcyxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5ub3RGb3VuZFxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgIH1cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcyl7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIG5vdEZvdW5kVHJpZ2dlcmVkOiAhIXByb3BzLmFzTm90Rm91bmQsXG4gICAgICAgICAgICBwcmV2aW91c1BhdGhuYW1lOiBwcm9wcy5wYXRobmFtZVxuICAgICAgICB9O1xuICAgIH1cbn1cbmZ1bmN0aW9uIE5vdEZvdW5kQm91bmRhcnkocGFyYW0pIHtcbiAgICBsZXQgeyBub3RGb3VuZCwgbm90Rm91bmRTdHlsZXMsIGFzTm90Rm91bmQsIGNoaWxkcmVuIH0gPSBwYXJhbTtcbiAgICBjb25zdCBwYXRobmFtZSA9ICgwLCBfbmF2aWdhdGlvbi51c2VQYXRobmFtZSkoKTtcbiAgICBjb25zdCBtaXNzaW5nU2xvdHMgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5NaXNzaW5nU2xvdENvbnRleHQpO1xuICAgIHJldHVybiBub3RGb3VuZCA/IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoTm90Rm91bmRFcnJvckJvdW5kYXJ5LCB7XG4gICAgICAgIHBhdGhuYW1lOiBwYXRobmFtZSxcbiAgICAgICAgbm90Rm91bmQ6IG5vdEZvdW5kLFxuICAgICAgICBub3RGb3VuZFN0eWxlczogbm90Rm91bmRTdHlsZXMsXG4gICAgICAgIGFzTm90Rm91bmQ6IGFzTm90Rm91bmQsXG4gICAgICAgIG1pc3NpbmdTbG90czogbWlzc2luZ1Nsb3RzLFxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KSA6IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5vdC1mb3VuZC1ib3VuZGFyeS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiTm90Rm91bmRCb3VuZGFyeSIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwiX25hdmlnYXRpb24iLCJfbm90Zm91bmQiLCJfd2Fybm9uY2UiLCJfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJOb3RGb3VuZEVycm9yQm91bmRhcnkiLCJkZWZhdWx0IiwiQ29tcG9uZW50IiwiY29tcG9uZW50RGlkQ2F0Y2giLCJwcm9jZXNzIiwicHJvcHMiLCJtaXNzaW5nU2xvdHMiLCJoYXMiLCJ3YXJuaW5nTWVzc2FnZSIsInNpemUiLCJmb3JtYXR0ZWRTbG90cyIsIkFycmF5IiwiZnJvbSIsInNvcnQiLCJhIiwiYiIsImxvY2FsZUNvbXBhcmUiLCJtYXAiLCJzbG90Iiwiam9pbiIsIndhcm5PbmNlIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiZXJyb3IiLCJpc05vdEZvdW5kRXJyb3IiLCJub3RGb3VuZFRyaWdnZXJlZCIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsInN0YXRlIiwicGF0aG5hbWUiLCJwcmV2aW91c1BhdGhuYW1lIiwicmVuZGVyIiwianN4cyIsIkZyYWdtZW50IiwiY2hpbGRyZW4iLCJqc3giLCJuYW1lIiwiY29udGVudCIsIm5vdEZvdW5kU3R5bGVzIiwibm90Rm91bmQiLCJjb25zdHJ1Y3RvciIsImFzTm90Rm91bmQiLCJwYXJhbSIsInVzZVBhdGhuYW1lIiwidXNlQ29udGV4dCIsIk1pc3NpbmdTbG90Q29udGV4dCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/not-found.js": /*!***************************************************************!*\ !*** ./node_modules/next/dist/client/components/not-found.js ***! \***************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n notFound: function() {\n return notFound;\n },\n isNotFoundError: function() {\n return isNotFoundError;\n }\n});\nconst NOT_FOUND_ERROR_CODE = \"NEXT_NOT_FOUND\";\nfunction notFound() {\n // eslint-disable-next-line no-throw-literal\n const error = new Error(NOT_FOUND_ERROR_CODE);\n error.digest = NOT_FOUND_ERROR_CODE;\n throw error;\n}\nfunction isNotFoundError(error) {\n if (typeof error !== \"object\" || error === null || !(\"digest\" in error)) {\n return false;\n }\n return error.digest === NOT_FOUND_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsVUFBVTtRQUNOLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sdUJBQXVCO0FBQzdCLFNBQVNSO0lBQ0wsNENBQTRDO0lBQzVDLE1BQU1TLFFBQVEsSUFBSUMsTUFBTUY7SUFDeEJDLE1BQU1FLE1BQU0sR0FBR0g7SUFDZixNQUFNQztBQUNWO0FBQ0EsU0FBU1IsZ0JBQWdCUSxLQUFLO0lBQzFCLElBQUksT0FBT0EsVUFBVSxZQUFZQSxVQUFVLFFBQVEsQ0FBRSxhQUFZQSxLQUFJLEdBQUk7UUFDckUsT0FBTztJQUNYO0lBQ0EsT0FBT0EsTUFBTUUsTUFBTSxLQUFLSDtBQUM1QjtBQUVBLElBQUksQ0FBQyxPQUFPWCxRQUFRZSxPQUFPLEtBQUssY0FBZSxPQUFPZixRQUFRZSxPQUFPLEtBQUssWUFBWWYsUUFBUWUsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZixRQUFRZSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLbEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRZSxPQUFPLEVBQUUsY0FBYztRQUFFZCxPQUFPO0lBQUs7SUFDbkVILE9BQU9tQixNQUFNLENBQUNqQixRQUFRZSxPQUFPLEVBQUVmO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVFlLE9BQU87QUFDbEMsRUFFQSxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC5qcz80MjAzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgbm90Rm91bmQ6IG51bGwsXG4gICAgaXNOb3RGb3VuZEVycm9yOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIG5vdEZvdW5kOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vdEZvdW5kO1xuICAgIH0sXG4gICAgaXNOb3RGb3VuZEVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzTm90Rm91bmRFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IE5PVF9GT1VORF9FUlJPUl9DT0RFID0gXCJORVhUX05PVF9GT1VORFwiO1xuZnVuY3Rpb24gbm90Rm91bmQoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXRocm93LWxpdGVyYWxcbiAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihOT1RfRk9VTkRfRVJST1JfQ09ERSk7XG4gICAgZXJyb3IuZGlnZXN0ID0gTk9UX0ZPVU5EX0VSUk9SX0NPREU7XG4gICAgdGhyb3cgZXJyb3I7XG59XG5mdW5jdGlvbiBpc05vdEZvdW5kRXJyb3IoZXJyb3IpIHtcbiAgICBpZiAodHlwZW9mIGVycm9yICE9PSBcIm9iamVjdFwiIHx8IGVycm9yID09PSBudWxsIHx8ICEoXCJkaWdlc3RcIiBpbiBlcnJvcikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZXJyb3IuZGlnZXN0ID09PSBOT1RfRk9VTkRfRVJST1JfQ09ERTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm90LWZvdW5kLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIm5vdEZvdW5kIiwiaXNOb3RGb3VuZEVycm9yIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiTk9UX0ZPVU5EX0VSUk9SX0NPREUiLCJlcnJvciIsIkVycm9yIiwiZGlnZXN0IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/not-found.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/promise-queue.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/client/components/promise-queue.js ***! \*******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/*\n This is a simple promise queue that allows you to limit the number of concurrent promises\n that are running at any given time. It's used to limit the number of concurrent\n prefetch requests that are being made to the server but could be used for other\n things as well.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"PromiseQueue\", ({\n enumerable: true,\n get: function() {\n return PromiseQueue;\n }\n}));\nconst _class_private_field_loose_base = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_base */ \"(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js\");\nconst _class_private_field_loose_key = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_key */ \"(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js\");\nvar _maxConcurrency = /*#__PURE__*/ _class_private_field_loose_key._(\"_maxConcurrency\"), _runningCount = /*#__PURE__*/ _class_private_field_loose_key._(\"_runningCount\"), _queue = /*#__PURE__*/ _class_private_field_loose_key._(\"_queue\"), _processNext = /*#__PURE__*/ _class_private_field_loose_key._(\"_processNext\");\nclass PromiseQueue {\n enqueue(promiseFn) {\n let taskResolve;\n let taskReject;\n const taskPromise = new Promise((resolve, reject)=>{\n taskResolve = resolve;\n taskReject = reject;\n });\n const task = async ()=>{\n try {\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]++;\n const result = await promiseFn();\n taskResolve(result);\n } catch (error) {\n taskReject(error);\n } finally{\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]--;\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n }\n };\n const enqueueResult = {\n promiseFn: taskPromise,\n task\n };\n // wonder if we should take a LIFO approach here\n _class_private_field_loose_base._(this, _queue)[_queue].push(enqueueResult);\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n return taskPromise;\n }\n bump(promiseFn) {\n const index = _class_private_field_loose_base._(this, _queue)[_queue].findIndex((item)=>item.promiseFn === promiseFn);\n if (index > -1) {\n const bumpedItem = _class_private_field_loose_base._(this, _queue)[_queue].splice(index, 1)[0];\n _class_private_field_loose_base._(this, _queue)[_queue].unshift(bumpedItem);\n _class_private_field_loose_base._(this, _processNext)[_processNext](true);\n }\n }\n constructor(maxConcurrency = 5){\n Object.defineProperty(this, _processNext, {\n value: processNext\n });\n Object.defineProperty(this, _maxConcurrency, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _runningCount, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _queue, {\n writable: true,\n value: void 0\n });\n _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] = maxConcurrency;\n _class_private_field_loose_base._(this, _runningCount)[_runningCount] = 0;\n _class_private_field_loose_base._(this, _queue)[_queue] = [];\n }\n}\nfunction processNext(forced) {\n if (forced === void 0) forced = false;\n if ((_class_private_field_loose_base._(this, _runningCount)[_runningCount] < _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] || forced) && _class_private_field_loose_base._(this, _queue)[_queue].length > 0) {\n var _class_private_field_loose_base__queue_shift;\n (_class_private_field_loose_base__queue_shift = _class_private_field_loose_base._(this, _queue)[_queue].shift()) == null ? void 0 : _class_private_field_loose_base__queue_shift.task();\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=promise-queue.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3Byb21pc2UtcXVldWUuanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0FBS0EsR0FBZ0I7QUFDaEJBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxnREFBK0M7SUFDM0NJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxrQ0FBa0NDLG1CQUFPQSxDQUFDLGdJQUFnRDtBQUNoRyxNQUFNQyxpQ0FBaUNELG1CQUFPQSxDQUFDLDhIQUErQztBQUM5RixJQUFJRSxrQkFBa0IsV0FBVyxHQUFHRCwrQkFBK0JFLENBQUMsQ0FBQyxvQkFBb0JDLGdCQUFnQixXQUFXLEdBQUdILCtCQUErQkUsQ0FBQyxDQUFDLGtCQUFrQkUsU0FBUyxXQUFXLEdBQUdKLCtCQUErQkUsQ0FBQyxDQUFDLFdBQVdHLGVBQWUsV0FBVyxHQUFHTCwrQkFBK0JFLENBQUMsQ0FBQztBQUMzUyxNQUFNTDtJQUNGUyxRQUFRQyxTQUFTLEVBQUU7UUFDZixJQUFJQztRQUNKLElBQUlDO1FBQ0osTUFBTUMsY0FBYyxJQUFJQyxRQUFRLENBQUNDLFNBQVNDO1lBQ3RDTCxjQUFjSTtZQUNkSCxhQUFhSTtRQUNqQjtRQUNBLE1BQU1DLE9BQU87WUFDVCxJQUFJO2dCQUNBaEIsZ0NBQWdDSSxDQUFDLENBQUMsSUFBSSxFQUFFQyxjQUFjLENBQUNBLGNBQWM7Z0JBQ3JFLE1BQU1ZLFNBQVMsTUFBTVI7Z0JBQ3JCQyxZQUFZTztZQUNoQixFQUFFLE9BQU9DLE9BQU87Z0JBQ1pQLFdBQVdPO1lBQ2YsU0FBUztnQkFDTGxCLGdDQUFnQ0ksQ0FBQyxDQUFDLElBQUksRUFBRUMsY0FBYyxDQUFDQSxjQUFjO2dCQUNyRUwsZ0NBQWdDSSxDQUFDLENBQUMsSUFBSSxFQUFFRyxhQUFhLENBQUNBLGFBQWE7WUFDdkU7UUFDSjtRQUNBLE1BQU1ZLGdCQUFn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cyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9wcm9taXNlLXF1ZXVlLmpzPzgxNjciXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgICBUaGlzIGlzIGEgc2ltcGxlIHByb21pc2UgcXVldWUgdGhhdCBhbGxvd3MgeW91IHRvIGxpbWl0IHRoZSBudW1iZXIgb2YgY29uY3VycmVudCBwcm9taXNlc1xuICAgIHRoYXQgYXJlIHJ1bm5pbmcgYXQgYW55IGdpdmVuIHRpbWUuIEl0J3MgdXNlZCB0byBsaW1pdCB0aGUgbnVtYmVyIG9mIGNvbmN1cnJlbnRcbiAgICBwcmVmZXRjaCByZXF1ZXN0cyB0aGF0IGFyZSBiZWluZyBtYWRlIHRvIHRoZSBzZXJ2ZXIgYnV0IGNvdWxkIGJlIHVzZWQgZm9yIG90aGVyXG4gICAgdGhpbmdzIGFzIHdlbGwuXG4qLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlByb21pc2VRdWV1ZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZVF1ZXVlO1xuICAgIH1cbn0pO1xuY29uc3QgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZSA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9fY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlXCIpO1xuY29uc3QgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleVwiKTtcbnZhciBfbWF4Q29uY3VycmVuY3kgPSAvKiNfX1BVUkVfXyovIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleS5fKFwiX21heENvbmN1cnJlbmN5XCIpLCBfcnVubmluZ0NvdW50ID0gLyojX19QVVJFX18qLyBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkuXyhcIl9ydW5uaW5nQ291bnRcIiksIF9xdWV1ZSA9IC8qI19fUFVSRV9fKi8gX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5Ll8oXCJfcXVldWVcIiksIF9wcm9jZXNzTmV4dCA9IC8qI19fUFVSRV9fKi8gX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5Ll8oXCJfcHJvY2Vzc05leHRcIik7XG5jbGFzcyBQcm9taXNlUXVldWUge1xuICAgIGVucXVldWUocHJvbWlzZUZuKSB7XG4gICAgICAgIGxldCB0YXNrUmVzb2x2ZTtcbiAgICAgICAgbGV0IHRhc2tSZWplY3Q7XG4gICAgICAgIGNvbnN0IHRhc2tQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk9PntcbiAgICAgICAgICAgIHRhc2tSZXNvbHZlID0gcmVzb2x2ZTtcbiAgICAgICAgICAgIHRhc2tSZWplY3QgPSByZWplY3Q7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB0YXNrID0gYXN5bmMgKCk9PntcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9ydW5uaW5nQ291bnQpW19ydW5uaW5nQ291bnRdKys7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcHJvbWlzZUZuKCk7XG4gICAgICAgICAgICAgICAgdGFza1Jlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGFza1JlamVjdChlcnJvcik7XG4gICAgICAgICAgICB9IGZpbmFsbHl7XG4gICAgICAgICAgICAgICAgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9ydW5uaW5nQ291bnQpW19ydW5uaW5nQ291bnRdLS07XG4gICAgICAgICAgICAgICAgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9wcm9jZXNzTmV4dClbX3Byb2Nlc3NOZXh0XSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBlbnF1ZXVlUmVzdWx0ID0ge1xuICAgICAgICAgICAgcHJvbWlzZUZuOiB0YXNrUHJvbWlzZSxcbiAgICAgICAgICAgIHRhc2tcbiAgICAgICAgfTtcbiAgICAgICAgLy8gd29uZGVyIGlmIHdlIHNob3VsZCB0YWtlIGEgTElGTyBhcHByb2FjaCBoZXJlXG4gICAgICAgIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuXyh0aGlzLCBfcXVldWUpW19xdWV1ZV0ucHVzaChlbnF1ZXVlUmVzdWx0KTtcbiAgICAgICAgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9wcm9jZXNzTmV4dClbX3Byb2Nlc3NOZXh0XSgpO1xuICAgICAgICByZXR1cm4gdGFza1Byb21pc2U7XG4gICAgfVxuICAgIGJ1bXAocHJvbWlzZUZuKSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9xdWV1ZSlbX3F1ZXVlXS5maW5kSW5kZXgoKGl0ZW0pPT5pdGVtLnByb21pc2VGbiA9PT0gcHJvbWlzZUZuKTtcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIGNvbnN0IGJ1bXBlZEl0ZW0gPSBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLl8odGhpcywgX3F1ZXVlKVtfcXVldWVdLnNwbGljZShpbmRleCwgMSlbMF07XG4gICAgICAgICAgICBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLl8odGhpcywgX3F1ZXVlKVtfcXVldWVdLnVuc2hpZnQoYnVtcGVkSXRlbSk7XG4gICAgICAgICAgICBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLl8odGhpcywgX3Byb2Nlc3NOZXh0KVtfcHJvY2Vzc05leHRdKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKG1heENvbmN1cnJlbmN5ID0gNSl7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBfcHJvY2Vzc05leHQsIHtcbiAgICAgICAgICAgIHZhbHVlOiBwcm9jZXNzTmV4dFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIF9tYXhDb25jdXJyZW5jeSwge1xuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgX3J1bm5pbmdDb3VudCwge1xuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgX3F1ZXVlLCB7XG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcbiAgICAgICAgfSk7XG4gICAgICAgIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuXyh0aGlzLCBfbWF4Q29uY3VycmVuY3kpW19tYXhDb25jdXJyZW5jeV0gPSBtYXhDb25jdXJyZW5jeTtcbiAgICAgICAgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9ydW5uaW5nQ291bnQpW19ydW5uaW5nQ291bnRdID0gMDtcbiAgICAgICAgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9xdWV1ZSlbX3F1ZXVlXSA9IFtdO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHByb2Nlc3NOZXh0KGZvcmNlZCkge1xuICAgIGlmIChmb3JjZWQgPT09IHZvaWQgMCkgZm9yY2VkID0gZmFsc2U7XG4gICAgaWYgKChfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLl8odGhpcywgX3J1bm5pbmdDb3VudClbX3J1bm5pbmdDb3VudF0gPCBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLl8odGhpcywgX21heENvbmN1cnJlbmN5KVtfbWF4Q29uY3VycmVuY3ldIHx8IGZvcmNlZCkgJiYgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9xdWV1ZSlbX3F1ZXVlXS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHZhciBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlX19xdWV1ZV9zaGlmdDtcbiAgICAgICAgKF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2VfX3F1ZXVlX3NoaWZ0ID0gX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9xdWV1ZSlbX3F1ZXVlXS5zaGlmdCgpKSA9PSBudWxsID8gdm9pZCAwIDogX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZV9fcXVldWVfc2hpZnQudGFzaygpO1xuICAgIH1cbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJvbWlzZS1xdWV1ZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiUHJvbWlzZVF1ZXVlIiwiX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZSIsInJlcXVpcmUiLCJfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkiLCJfbWF4Q29uY3VycmVuY3kiLCJfIiwiX3J1bm5pbmdDb3VudCIsIl9xdWV1ZSIsIl9wcm9jZXNzTmV4dCIsImVucXVldWUiLCJwcm9taXNlRm4iLCJ0YXNrUmVzb2x2ZSIsInRhc2tSZWplY3QiLCJ0YXNrUHJvbWlzZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwidGFzayIsInJlc3VsdCIsImVycm9yIiwiZW5xdWV1ZVJlc3VsdCIsInB1c2giLCJidW1wIiwiaW5kZXgiLCJmaW5kSW5kZXgiLCJpdGVtIiwiYnVtcGVkSXRlbSIsInNwbGljZSIsInVuc2hpZnQiLCJjb25zdHJ1Y3RvciIsIm1heENvbmN1cnJlbmN5IiwicHJvY2Vzc05leHQiLCJ3cml0YWJsZSIsImZvcmNlZCIsImxlbmd0aCIsIl9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2VfX3F1ZXVlX3NoaWZ0Iiwic2hpZnQiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/promise-queue.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/hot-reloader-client.js": /*!*******************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/hot-reloader-client.js ***! \*******************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* module decorator */ module = __webpack_require__.nmd(module);\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return HotReload;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _formatwebpackmessages = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../../dev/error-overlay/format-webpack-messages */ \"(ssr)/./node_modules/next/dist/client/dev/error-overlay/format-webpack-messages.js\"));\nconst _navigation = __webpack_require__(/*! ../navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _erroroverlayreducer = __webpack_require__(/*! ./internal/error-overlay-reducer */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js\");\nconst _parseStack = __webpack_require__(/*! ./internal/helpers/parseStack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\");\nconst _ReactDevOverlay = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./internal/ReactDevOverlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/ReactDevOverlay.js\"));\nconst _useerrorhandler = __webpack_require__(/*! ./internal/helpers/use-error-handler */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js\");\nconst _usewebsocket = __webpack_require__(/*! ./internal/helpers/use-websocket */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js\");\nconst _parsecomponentstack = __webpack_require__(/*! ./internal/helpers/parse-component-stack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js\");\nconst _hotreloadertypes = __webpack_require__(/*! ../../../server/dev/hot-reloader-types */ \"(ssr)/./node_modules/next/dist/server/dev/hot-reloader-types.js\");\nlet mostRecentCompilationHash = null;\nlet __nextDevClientId = Math.round(Math.random() * 100 + Date.now());\nlet reloading = false;\nlet startLatency = null;\nfunction onBeforeFastRefresh(dispatcher, hasUpdates) {\n if (hasUpdates) {\n dispatcher.onBeforeRefresh();\n }\n}\nfunction onFastRefresh(dispatcher, sendMessage, updatedModules) {\n let endLatency = Date.now();\n dispatcher.onBuildOk();\n sendMessage(JSON.stringify({\n event: \"client-hmr-latency\",\n id: window.__nextDevClientId,\n startTime: startLatency,\n endTime: endLatency,\n page: window.location.pathname,\n updatedModules,\n // Whether the page (tab) was hidden at the time the event occurred.\n // This can impact the accuracy of the event's timing.\n isPageHidden: document.visibilityState === \"hidden\"\n }));\n if (updatedModules.length > 0) {\n dispatcher.onRefresh();\n }\n}\n// There is a newer version of the code available.\nfunction handleAvailableHash(hash) {\n // Update last known compilation hash.\n mostRecentCompilationHash = hash;\n}\n/**\n * Is there a newer version of this code available?\n * For webpack: Check if the hash changed compared to __webpack_hash__\n * For Turbopack: Always true because it doesn't have __webpack_hash__\n */ function isUpdateAvailable() {\n if (false) {}\n /* globals __webpack_hash__ */ // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n return mostRecentCompilationHash !== __webpack_require__.h();\n}\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n // @ts-expect-error module.hot exists\n return module.hot.status() === \"idle\";\n}\nfunction afterApplyUpdates(fn) {\n if (canApplyUpdates()) {\n fn();\n } else {\n function handler(status) {\n if (status === \"idle\") {\n // @ts-expect-error module.hot exists\n module.hot.removeStatusHandler(handler);\n fn();\n }\n }\n // @ts-expect-error module.hot exists\n module.hot.addStatusHandler(handler);\n }\n}\nfunction performFullReload(err, sendMessage) {\n const stackTrace = err && (err.stack && err.stack.split(\"\\n\").slice(0, 5).join(\"\\n\") || err.message || err + \"\");\n sendMessage(JSON.stringify({\n event: \"client-full-reload\",\n stackTrace,\n hadRuntimeError: !!_useerrorhandler.RuntimeErrorHandler.hadRuntimeError\n }));\n if (reloading) return;\n reloading = true;\n window.location.reload();\n}\n// Attempt to update code on the fly, fall back to a hard reload.\nfunction tryApplyUpdates(onBeforeUpdate, onHotUpdateSuccess, sendMessage, dispatcher) {\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n dispatcher.onBuildOk();\n return;\n }\n function handleApplyUpdates(err, updatedModules) {\n if (err || _useerrorhandler.RuntimeErrorHandler.hadRuntimeError || !updatedModules) {\n if (err) {\n console.warn(\"[Fast Refresh] performing full reload\\n\\n\" + \"Fast Refresh will perform a full reload when you edit a file that's imported by modules outside of the React rendering tree.\\n\" + \"You might have a file which exports a React component but also exports a value that is imported by a non-React component file.\\n\" + \"Consider migrating the non-React component export to a separate file and importing it into both files.\\n\\n\" + \"It is also possible the parent component of the component you edited is a class component, which disables Fast Refresh.\\n\" + \"Fast Refresh requires at least one parent function component in your React tree.\");\n } else if (_useerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(\"[Fast Refresh] performing full reload because your application had an unrecoverable error\");\n }\n performFullReload(err, sendMessage);\n return;\n }\n const hasUpdates = Boolean(updatedModules.length);\n if (typeof onHotUpdateSuccess === \"function\") {\n // Maybe we want to do something.\n onHotUpdateSuccess(updatedModules);\n }\n if (isUpdateAvailable()) {\n // While we were updating, there was a new update! Do it again.\n tryApplyUpdates(hasUpdates ? ()=>{} : onBeforeUpdate, hasUpdates ? ()=>dispatcher.onBuildOk() : onHotUpdateSuccess, sendMessage, dispatcher);\n } else {\n dispatcher.onBuildOk();\n if (false) {}\n }\n }\n // https://webpack.js.org/api/hot-module-replacement/#check\n // @ts-expect-error module.hot exists\n module.hot.check(/* autoApply */ false).then((updatedModules)=>{\n if (!updatedModules) {\n return null;\n }\n if (typeof onBeforeUpdate === \"function\") {\n const hasUpdates = Boolean(updatedModules.length);\n onBeforeUpdate(hasUpdates);\n }\n // https://webpack.js.org/api/hot-module-replacement/#apply\n // @ts-expect-error module.hot exists\n return module.hot.apply();\n }).then((updatedModules)=>{\n handleApplyUpdates(null, updatedModules);\n }, (err)=>{\n handleApplyUpdates(err, null);\n });\n}\nfunction processMessage(obj, sendMessage, router, dispatcher) {\n if (!(\"action\" in obj)) {\n return;\n }\n function handleErrors(errors) {\n // \"Massage\" webpack messages.\n const formatted = (0, _formatwebpackmessages.default)({\n errors: errors,\n warnings: []\n });\n // Only show the first error.\n dispatcher.onBuildError(formatted.errors[0]);\n // Also log them to the console.\n for(let i = 0; i < formatted.errors.length; i++){\n console.error((0, _stripansi.default)(formatted.errors[i]));\n }\n // Do not attempt to reload now.\n // We will reload on next success instead.\n if (false) {}\n }\n function handleHotUpdate(updatedModules) {\n if (false) {} else {\n tryApplyUpdates(function onBeforeHotUpdate(hasUpdates) {\n onBeforeFastRefresh(dispatcher, hasUpdates);\n }, function onSuccessfulHotUpdate(webpackUpdatedModules) {\n // Only dismiss it when we're sure it's a hot update.\n // Otherwise it would flicker right before the reload.\n onFastRefresh(dispatcher, sendMessage, webpackUpdatedModules);\n }, sendMessage, dispatcher);\n }\n }\n switch(obj.action){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILDING:\n {\n startLatency = Date.now();\n console.log(\"[Fast Refresh] rebuilding\");\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.FINISH_BUILDING:\n {\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC:\n {\n if (obj.hash) {\n handleAvailableHash(obj.hash);\n }\n const { errors, warnings } = obj;\n // Is undefined when it's a 'built' event\n if (\"versionInfo\" in obj) {\n dispatcher.onVersionInfo(obj.versionInfo);\n }\n const hasErrors = Boolean(errors && errors.length);\n // Compilation with errors (e.g. syntax error or missing modules).\n if (hasErrors) {\n sendMessage(JSON.stringify({\n event: \"client-error\",\n errorCount: errors.length,\n clientId: __nextDevClientId\n }));\n handleErrors(errors);\n return;\n }\n const hasWarnings = Boolean(warnings && warnings.length);\n if (hasWarnings) {\n sendMessage(JSON.stringify({\n event: \"client-warning\",\n warningCount: warnings.length,\n clientId: __nextDevClientId\n }));\n // Print warnings to the console.\n const formattedMessages = (0, _formatwebpackmessages.default)({\n warnings: warnings,\n errors: []\n });\n for(let i = 0; i < formattedMessages.warnings.length; i++){\n if (i === 5) {\n console.warn(\"There were more warnings in other files.\\n\" + \"You can find a complete log in the terminal.\");\n break;\n }\n console.warn((0, _stripansi.default)(formattedMessages.warnings[i]));\n }\n // No early return here as we need to apply modules in the same way between warnings only and compiles without warnings\n }\n sendMessage(JSON.stringify({\n event: \"client-success\",\n clientId: __nextDevClientId\n }));\n if (obj.action === _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT) {\n // Handle hot updates\n handleHotUpdate(obj.updatedModules);\n }\n return;\n }\n // TODO-APP: make server component change more granular\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES:\n {\n sendMessage(JSON.stringify({\n event: \"server-component-reload-page\",\n clientId: __nextDevClientId\n }));\n if (_useerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n if (reloading) return;\n reloading = true;\n return window.location.reload();\n }\n (0, _react.startTransition)(()=>{\n // @ts-ignore it exists, it's just hidden\n router.fastRefresh();\n dispatcher.onRefresh();\n });\n if (false) {}\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE:\n {\n sendMessage(JSON.stringify({\n event: \"client-reload-page\",\n clientId: __nextDevClientId\n }));\n if (reloading) return;\n reloading = true;\n return window.location.reload();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.REMOVED_PAGE:\n {\n // TODO-APP: potentially only refresh if the currently viewed page was removed.\n // @ts-ignore it exists, it's just hidden\n router.fastRefresh();\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.ADDED_PAGE:\n {\n // TODO-APP: potentially only refresh if the currently viewed page was added.\n // @ts-ignore it exists, it's just hidden\n router.fastRefresh();\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR:\n {\n const { errorJSON } = obj;\n if (errorJSON) {\n const { message, stack } = JSON.parse(errorJSON);\n const error = new Error(message);\n error.stack = stack;\n handleErrors([\n error\n ]);\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.DEV_PAGES_MANIFEST_UPDATE:\n {\n return;\n }\n default:\n {}\n }\n}\nfunction HotReload(param) {\n let { assetPrefix, children } = param;\n const [state, dispatch] = (0, _react.useReducer)(_erroroverlayreducer.errorOverlayReducer, _erroroverlayreducer.INITIAL_OVERLAY_STATE);\n const dispatcher = (0, _react.useMemo)(()=>{\n return {\n onBuildOk () {\n dispatch({\n type: _erroroverlayreducer.ACTION_BUILD_OK\n });\n },\n onBuildError (message) {\n dispatch({\n type: _erroroverlayreducer.ACTION_BUILD_ERROR,\n message\n });\n },\n onBeforeRefresh () {\n dispatch({\n type: _erroroverlayreducer.ACTION_BEFORE_REFRESH\n });\n },\n onRefresh () {\n dispatch({\n type: _erroroverlayreducer.ACTION_REFRESH\n });\n },\n onVersionInfo (versionInfo) {\n dispatch({\n type: _erroroverlayreducer.ACTION_VERSION_INFO,\n versionInfo\n });\n }\n };\n }, [\n dispatch\n ]);\n const handleOnUnhandledError = (0, _react.useCallback)((error)=>{\n // Component stack is added to the error in use-error-handler in case there was a hydration errror\n const componentStack = error._componentStack;\n dispatch({\n type: _erroroverlayreducer.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(error.stack),\n componentStackFrames: componentStack && (0, _parsecomponentstack.parseComponentStack)(componentStack)\n });\n }, []);\n const handleOnUnhandledRejection = (0, _react.useCallback)((reason)=>{\n dispatch({\n type: _erroroverlayreducer.ACTION_UNHANDLED_REJECTION,\n reason: reason,\n frames: (0, _parseStack.parseStack)(reason.stack)\n });\n }, []);\n const handleOnReactError = (0, _react.useCallback)(()=>{\n _useerrorhandler.RuntimeErrorHandler.hadRuntimeError = true;\n }, []);\n (0, _useerrorhandler.useErrorHandler)(handleOnUnhandledError, handleOnUnhandledRejection);\n const webSocketRef = (0, _usewebsocket.useWebsocket)(assetPrefix);\n (0, _usewebsocket.useWebsocketPing)(webSocketRef);\n const sendMessage = (0, _usewebsocket.useSendMessage)(webSocketRef);\n const processTurbopackMessage = (0, _usewebsocket.useTurbopack)(sendMessage);\n const router = (0, _navigation.useRouter)();\n (0, _react.useEffect)(()=>{\n const handler = (event)=>{\n try {\n const obj = JSON.parse(event.data);\n const handledByTurbopack = processTurbopackMessage == null ? void 0 : processTurbopackMessage(obj);\n if (!handledByTurbopack) {\n processMessage(obj, sendMessage, router, dispatcher);\n }\n } catch (err) {\n var _err_stack;\n console.warn(\"[HMR] Invalid message: \" + event.data + \"\\n\" + ((_err_stack = err == null ? void 0 : err.stack) != null ? _err_stack : \"\"));\n }\n };\n const websocket = webSocketRef.current;\n if (websocket) {\n websocket.addEventListener(\"message\", handler);\n }\n return ()=>websocket && websocket.removeEventListener(\"message\", handler);\n }, [\n sendMessage,\n router,\n webSocketRef,\n dispatcher,\n processTurbopackMessage\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ReactDevOverlay.default, {\n onReactError: handleOnReactError,\n state: state,\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hot-reloader-client.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2hvdC1yZWxvYWRlci1jbGllbnQuanMiLCJtYXBwaW5ncyI6IjtBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwyQ0FBMEM7SUFDdENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLGtIQUF5QztBQUNsRixNQUFNQyw0QkFBNEJELG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNRSxjQUFjRixtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUcsU0FBUyxXQUFXLEdBQUdGLDBCQUEwQkcsQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNSyxhQUFhLFdBQVcsR0FBR04seUJBQXlCSyxDQUFDLENBQUNKLG1CQUFPQSxDQUFDLGtHQUErQjtBQUNuRyxNQUFNTSx5QkFBeUIsV0FBVyxHQUFHUCx5QkFBeUJLLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsMklBQWlEO0FBQ2pJLE1BQU1PLGNBQWNQLG1CQUFPQSxDQUFDLHFGQUFlO0FBQzNDLE1BQU1RLHVCQUF1QlIsbUJBQU9BLENBQUMsOElBQWtDO0FBQ3ZFLE1BQU1TLGNBQWNULG1CQUFPQSxDQUFDLHdJQUErQjtBQUMzRCxNQUFNVSxtQkFBbUIsV0FBVyxHQUFHWCx5QkFBeUJLLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsa0lBQTRCO0FBQ3RHLE1BQU1XLG1CQUFtQlgsbUJBQU9BLENBQUMsc0pBQXNDO0FBQ3ZFLE1BQU1ZLGdCQUFnQlosbUJBQU9BLENBQUMsOElBQWtDO0FBQ2hFLE1BQU1hLHVCQUF1QmIsbUJBQU9BLENBQUMsOEpBQTBDO0FBQy9FLE1BQU1jLG9CQUFvQmQsbUJBQU9BLENBQUMsK0dBQXdDO0FBQzFFLElBQUllLDRC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QUFPLEVBQUVwRztJQUMvQjhELE9BQU85RCxPQUFPLEdBQUdBLFFBQVFvRyxPQUFPO0FBQ2xDLEVBRUEsK0NBQStDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9ob3QtcmVsb2FkZXItY2xpZW50LmpzPzA2OGIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBIb3RSZWxvYWQ7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3N0cmlwYW5zaSA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9zdHJpcC1hbnNpXCIpKTtcbmNvbnN0IF9mb3JtYXR3ZWJwYWNrbWVzc2FnZXMgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuLi8uLi9kZXYvZXJyb3Itb3ZlcmxheS9mb3JtYXQtd2VicGFjay1tZXNzYWdlc1wiKSk7XG5jb25zdCBfbmF2aWdhdGlvbiA9IHJlcXVpcmUoXCIuLi9uYXZpZ2F0aW9uXCIpO1xuY29uc3QgX2Vycm9yb3ZlcmxheXJlZHVjZXIgPSByZXF1aXJlKFwiLi9pbnRlcm5hbC9lcnJvci1vdmVybGF5LXJlZHVjZXJcIik7XG5jb25zdCBfcGFyc2VTdGFjayA9IHJlcXVpcmUoXCIuL2ludGVybmFsL2hlbHBlcnMvcGFyc2VTdGFja1wiKTtcbmNvbnN0IF9SZWFjdERldk92ZXJsYXkgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuL2ludGVybmFsL1JlYWN0RGV2T3ZlcmxheVwiKSk7XG5jb25zdCBfdXNlZXJyb3JoYW5kbGVyID0gcmVxdWlyZShcIi4vaW50ZXJuYWwvaGVscGVycy91c2UtZXJyb3ItaGFuZGxlclwiKTtcbmNvbnN0IF91c2V3ZWJzb2NrZXQgPSByZXF1aXJlKFwiLi9pbnRlcm5hbC9oZWxwZXJzL3VzZS13ZWJzb2NrZXRcIik7XG5jb25zdCBfcGFyc2Vjb21wb25lbnRzdGFjayA9IHJlcXVpcmUoXCIuL2ludGVybmFsL2hlbHBlcnMvcGFyc2UtY29tcG9uZW50LXN0YWNrXCIpO1xuY29uc3QgX2hvdHJlbG9hZGVydHlwZXMgPSByZXF1aXJlKFwiLi4vLi4vLi4vc2VydmVyL2Rldi9ob3QtcmVsb2FkZXItdHlwZXNcIik7XG5sZXQgbW9zdFJlY2VudENvbXBpbGF0aW9uSGFzaCA9IG51bGw7XG5sZXQgX19uZXh0RGV2Q2xpZW50SWQgPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMDAgKyBEYXRlLm5vdygpKTtcbmxldCByZWxvYWRpbmcgPSBmYWxzZTtcbmxldCBzdGFydExhdGVuY3kgPSBudWxsO1xuZnVuY3Rpb24gb25CZWZvcmVGYXN0UmVmcmVzaChkaXNwYXRjaGVyLCBoYXNVcGRhdGVzKSB7XG4gICAgaWYgKGhhc1VwZGF0ZXMpIHtcbiAgICAgICAgZGlzcGF0Y2hlci5vbkJlZm9yZVJlZnJlc2goKTtcbiAgICB9XG59XG5mdW5jdGlvbiBvbkZhc3RSZWZyZXNoKGRpc3BhdGNoZXIsIHNlbmRNZXNzYWdlLCB1cGRhdGVkTW9kdWxlcykge1xuICAgIGxldCBlbmRMYXRlbmN5ID0gRGF0ZS5ub3coKTtcbiAgICBkaXNwYXRjaGVyLm9uQnVpbGRPaygpO1xuICAgIHNlbmRNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgZXZlbnQ6IFwiY2xpZW50LWhtci1sYXRlbmN5XCIsXG4gICAgICAgIGlkOiB3aW5kb3cuX19uZXh0RGV2Q2xpZW50SWQsXG4gICAgICAgIHN0YXJ0VGltZTogc3RhcnRMYXRlbmN5LFxuICAgICAgICBlbmRUaW1lOiBlbmRMYXRlbmN5LFxuICAgICAgICBwYWdlOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsXG4gICAgICAgIHVwZGF0ZWRNb2R1bGVzLFxuICAgICAgICAvLyBXaGV0aGVyIHRoZSBwYWdlICh0YWIpIHdhcyBoaWRkZW4gYXQgdGhlIHRpbWUgdGhlIGV2ZW50IG9jY3VycmVkLlxuICAgICAgICAvLyBUaGlzIGNhbiBpbXBhY3QgdGhlIGFjY3VyYWN5IG9mIHRoZSBldmVudCdzIHRpbWluZy5cbiAgICAgICAgaXNQYWdlSGlkZGVuOiBkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUgPT09IFwiaGlkZGVuXCJcbiAgICB9KSk7XG4gICAgaWYgKHVwZGF0ZWRNb2R1bGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZGlzcGF0Y2hlci5vblJlZnJlc2goKTtcbiAgICB9XG59XG4vLyBUaGVyZSBpcyBhIG5ld2VyIHZlcnNpb24gb2YgdGhlIGNvZGUgYXZhaWxhYmxlLlxuZnVuY3Rpb24gaGFuZGxlQXZhaWxhYmxlSGFzaChoYXNoKSB7XG4gICAgLy8gVXBkYXRlIGxhc3Qga25vd24gY29tcGlsYXRpb24gaGFzaC5cbiAgICBtb3N0UmVjZW50Q29tcGlsYXRpb25IYXNoID0gaGFzaDtcbn1cbi8qKlxuICogSXMgdGhlcmUgYSBuZXdlciB2ZXJzaW9uIG9mIHRoaXMgY29kZSBhdmFpbGFibGU/XG4gKiBGb3Igd2VicGFjazogQ2hlY2sgaWYgdGhlIGhhc2ggY2hhbmdlZCBjb21wYXJlZCB0byBfX3dlYnBhY2tfaGFzaF9fXG4gKiBGb3IgVHVyYm9wYWNrOiBBbHdheXMgdHJ1ZSBiZWNhdXNlIGl0IGRvZXNuJ3QgaGF2ZSBfX3dlYnBhY2tfaGFzaF9fXG4gKi8gZnVuY3Rpb24gaXNVcGRhdGVBdmFpbGFibGUoKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52LlRVUkJPUEFDSykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLyogZ2xvYmFscyBfX3dlYnBhY2tfaGFzaF9fICovIC8vIF9fd2VicGFja19oYXNoX18gaXMgdGhlIGhhc2ggb2YgdGhlIGN1cnJlbnQgY29tcGlsYXRpb24uXG4gICAgLy8gSXQncyBhIGdsb2JhbCB2YXJpYWJsZSBpbmplY3RlZCBieSBXZWJwYWNrLlxuICAgIHJldHVybiBtb3N0UmVjZW50Q29tcGlsYXRpb25IYXNoICE9PSBfX3dlYnBhY2tfaGFzaF9fO1xufVxuLy8gV2VicGFjayBkaXNhbGxvd3MgdXBkYXRlcyBpbiBvdGhlciBzdGF0ZXMuXG5mdW5jdGlvbiBjYW5BcHBseVVwZGF0ZXMoKSB7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBtb2R1bGUuaG90IGV4aXN0c1xuICAgIHJldHVybiBtb2R1bGUuaG90LnN0YXR1cygpID09PSBcImlkbGVcIjtcbn1cbmZ1bmN0aW9uIGFmdGVyQXBwbHlVcGRhdGVzKGZuKSB7XG4gICAgaWYgKGNhbkFwcGx5VXBkYXRlcygpKSB7XG4gICAgICAgIGZuKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZnVuY3Rpb24gaGFuZGxlcihzdGF0dXMpIHtcbiAgICAgICAgICAgIGlmIChzdGF0dXMgPT09IFwiaWRsZVwiKSB7XG4gICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBtb2R1bGUuaG90IGV4aXN0c1xuICAgICAgICAgICAgICAgIG1vZHVsZS5ob3QucmVtb3ZlU3RhdHVzSGFuZGxlcihoYW5kbGVyKTtcbiAgICAgICAgICAgICAgICBmbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbW9kdWxlLmhvdCBleGlzdHNcbiAgICAgICAgbW9kdWxlLmhvdC5hZGRTdGF0dXNIYW5kbGVyKGhhbmRsZXIpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHBlcmZvcm1GdWxsUmVsb2FkKGVyciwgc2VuZE1lc3NhZ2UpIHtcbiAgICBjb25zdCBzdGFja1RyYWNlID0gZXJyICYmIChlcnIuc3RhY2sgJiYgZXJyLnN0YWNrLnNwbGl0KFwiXFxuXCIpLnNsaWNlKDAsIDUpLmpvaW4oXCJcXG5cIikgfHwgZXJyLm1lc3NhZ2UgfHwgZXJyICsgXCJcIik7XG4gICAgc2VuZE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBldmVudDogXCJjbGllbnQtZnVsbC1yZWxvYWRcIixcbiAgICAgICAgc3RhY2tUcmFjZSxcbiAgICAgICAgaGFkUnVudGltZUVycm9yOiAhIV91c2VlcnJvcmhhbmRsZXIuUnVudGltZUVycm9ySGFuZGxlci5oYWRSdW50aW1lRXJyb3JcbiAgICB9KSk7XG4gICAgaWYgKHJlbG9hZGluZykgcmV0dXJuO1xuICAgIHJlbG9hZGluZyA9IHRydWU7XG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xufVxuLy8gQXR0ZW1wdCB0byB1cGRhdGUgY29kZSBvbiB0aGUgZmx5LCBmYWxsIGJhY2sgdG8gYSBoYXJkIHJlbG9hZC5cbmZ1bmN0aW9uIHRyeUFwcGx5VXBkYXRlcyhvbkJlZm9yZVVwZGF0ZSwgb25Ib3RVcGRhdGVTdWNjZXNzLCBzZW5kTWVzc2FnZSwgZGlzcGF0Y2hlcikge1xuICAgIGlmICghaXNVcGRhdGVBdmFpbGFibGUoKSB8fCAhY2FuQXBwbHlVcGRhdGVzKCkpIHtcbiAgICAgICAgZGlzcGF0Y2hlci5vbkJ1aWxkT2soKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmdW5jdGlvbiBoYW5kbGVBcHBseVVwZGF0ZXMoZXJyLCB1cGRhdGVkTW9kdWxlcykge1xuICAgICAgICBpZiAoZXJyIHx8IF91c2VlcnJvcmhhbmRsZXIuUnVudGltZUVycm9ySGFuZGxlci5oYWRSdW50aW1lRXJyb3IgfHwgIXVwZGF0ZWRNb2R1bGVzKSB7XG4gICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiW0Zhc3QgUmVmcmVzaF0gcGVyZm9ybWluZyBmdWxsIHJlbG9hZFxcblxcblwiICsgXCJGYXN0IFJlZnJlc2ggd2lsbCBwZXJmb3JtIGEgZnVsbCByZWxvYWQgd2hlbiB5b3UgZWRpdCBhIGZpbGUgdGhhdCdzIGltcG9ydGVkIGJ5IG1vZHVsZXMgb3V0c2lkZSBvZiB0aGUgUmVhY3QgcmVuZGVyaW5nIHRyZWUuXFxuXCIgKyBcIllvdSBtaWdodCBoYXZlIGEgZmlsZSB3aGljaCBleHBvcnRzIGEgUmVhY3QgY29tcG9uZW50IGJ1dCBhbHNvIGV4cG9ydHMgYSB2YWx1ZSB0aGF0IGlzIGltcG9ydGVkIGJ5IGEgbm9uLVJlYWN0IGNvbXBvbmVudCBmaWxlLlxcblwiICsgXCJDb25zaWRlciBtaWdyYXRpbmcgdGhlIG5vbi1SZWFjdCBjb21wb25lbnQgZXhwb3J0IHRvIGEgc2VwYXJhdGUgZmlsZSBhbmQgaW1wb3J0aW5nIGl0IGludG8gYm90aCBmaWxlcy5cXG5cXG5cIiArIFwiSXQgaXMgYWxzbyBwb3NzaWJsZSB0aGUgcGFyZW50IGNvbXBvbmVudCBvZiB0aGUgY29tcG9uZW50IHlvdSBlZGl0ZWQgaXMgYSBjbGFzcyBjb21wb25lbnQsIHdoaWNoIGRpc2FibGVzIEZhc3QgUmVmcmVzaC5cXG5cIiArIFwiRmFzdCBSZWZyZXNoIHJlcXVpcmVzIGF0IGxlYXN0IG9uZSBwYXJlbnQgZnVuY3Rpb24gY29tcG9uZW50IGluIHlvdXIgUmVhY3QgdHJlZS5cIik7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKF91c2VlcnJvcmhhbmRsZXIuUnVudGltZUVycm9ySGFuZGxlci5oYWRSdW50aW1lRXJyb3IpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJbRmFzdCBSZWZyZXNoXSBwZXJmb3JtaW5nIGZ1bGwgcmVsb2FkIGJlY2F1c2UgeW91ciBhcHBsaWNhdGlvbiBoYWQgYW4gdW5yZWNvdmVyYWJsZSBlcnJvclwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBlcmZvcm1GdWxsUmVsb2FkKGVyciwgc2VuZE1lc3NhZ2UpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGhhc1VwZGF0ZXMgPSBCb29sZWFuKHVwZGF0ZWRNb2R1bGVzLmxlbmd0aCk7XG4gICAgICAgIGlmICh0eXBlb2Ygb25Ib3RVcGRhdGVTdWNjZXNzID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIC8vIE1heWJlIHdlIHdhbnQgdG8gZG8gc29tZXRoaW5nLlxuICAgICAgICAgICAgb25Ib3RVcGRhdGVTdWNjZXNzKHVwZGF0ZWRNb2R1bGVzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNVcGRhdGVBdmFpbGFibGUoKSkge1xuICAgICAgICAgICAgLy8gV2hpbGUgd2Ugd2VyZSB1cGRhdGluZywgdGhlcmUgd2FzIGEgbmV3IHVwZGF0ZSEgRG8gaXQgYWdhaW4uXG4gICAgICAgICAgICB0cnlBcHBseVVwZGF0ZXMoaGFzVXBkYXRlcyA/ICgpPT57fSA6IG9uQmVmb3JlVXBkYXRlLCBoYXNVcGRhdGVzID8gKCk9PmRpc3BhdGNoZXIub25CdWlsZE9rKCkgOiBvbkhvdFVwZGF0ZVN1Y2Nlc3MsIHNlbmRNZXNzYWdlLCBkaXNwYXRjaGVyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRpc3BhdGNoZXIub25CdWlsZE9rKCk7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX1RFU1RfTU9ERSkge1xuICAgICAgICAgICAgICAgIGFmdGVyQXBwbHlVcGRhdGVzKCgpPT57XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxmLl9fTkVYVF9ITVJfQ0IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19ORVhUX0hNUl9DQigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX05FWFRfSE1SX0NCID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIGh0dHBzOi8vd2VicGFjay5qcy5vcmcvYXBpL2hvdC1tb2R1bGUtcmVwbGFjZW1lbnQvI2NoZWNrXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBtb2R1bGUuaG90IGV4aXN0c1xuICAgIG1vZHVsZS5ob3QuY2hlY2soLyogYXV0b0FwcGx5ICovIGZhbHNlKS50aGVuKCh1cGRhdGVkTW9kdWxlcyk9PntcbiAgICAgICAgaWYgKCF1cGRhdGVkTW9kdWxlcykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBvbkJlZm9yZVVwZGF0ZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICBjb25zdCBoYXNVcGRhdGVzID0gQm9vbGVhbih1cGRhdGVkTW9kdWxlcy5sZW5ndGgpO1xuICAgICAgICAgICAgb25CZWZvcmVVcGRhdGUoaGFzVXBkYXRlcyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaHR0cHM6Ly93ZWJwYWNrLmpzLm9yZy9hcGkvaG90LW1vZHVsZS1yZXBsYWNlbWVudC8jYXBwbHlcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBtb2R1bGUuaG90IGV4aXN0c1xuICAgICAgICByZXR1cm4gbW9kdWxlLmhvdC5hcHBseSgpO1xuICAgIH0pLnRoZW4oKHVwZGF0ZWRNb2R1bGVzKT0+e1xuICAgICAgICBoYW5kbGVBcHBseVVwZGF0ZXMobnVsbCwgdXBkYXRlZE1vZHVsZXMpO1xuICAgIH0sIChlcnIpPT57XG4gICAgICAgIGhhbmRsZUFwcGx5VXBkYXRlcyhlcnIsIG51bGwpO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gcHJvY2Vzc01lc3NhZ2Uob2JqLCBzZW5kTWVzc2FnZSwgcm91dGVyLCBkaXNwYXRjaGVyKSB7XG4gICAgaWYgKCEoXCJhY3Rpb25cIiBpbiBvYmopKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZnVuY3Rpb24gaGFuZGxlRXJyb3JzKGVycm9ycykge1xuICAgICAgICAvLyBcIk1hc3NhZ2VcIiB3ZWJwYWNrIG1lc3NhZ2VzLlxuICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSAoMCwgX2Zvcm1hdHdlYnBhY2ttZXNzYWdlcy5kZWZhdWx0KSh7XG4gICAgICAgICAgICBlcnJvcnM6IGVycm9ycyxcbiAgICAgICAgICAgIHdhcm5pbmdzOiBbXVxuICAgICAgICB9KTtcbiAgICAgICAgLy8gT25seSBzaG93IHRoZSBmaXJzdCBlcnJvci5cbiAgICAgICAgZGlzcGF0Y2hlci5vbkJ1aWxkRXJyb3IoZm9ybWF0dGVkLmVycm9yc1swXSk7XG4gICAgICAgIC8vIEFsc28gbG9nIHRoZW0gdG8gdGhlIGNvbnNvbGUuXG4gICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCBmb3JtYXR0ZWQuZXJyb3JzLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoKDAsIF9zdHJpcGFuc2kuZGVmYXVsdCkoZm9ybWF0dGVkLmVycm9yc1tpXSkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIERvIG5vdCBhdHRlbXB0IHRvIHJlbG9hZCBub3cuXG4gICAgICAgIC8vIFdlIHdpbGwgcmVsb2FkIG9uIG5leHQgc3VjY2VzcyBpbnN0ZWFkLlxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX1RFU1RfTU9ERSkge1xuICAgICAgICAgICAgaWYgKHNlbGYuX19ORVhUX0hNUl9DQikge1xuICAgICAgICAgICAgICAgIHNlbGYuX19ORVhUX0hNUl9DQihmb3JtYXR0ZWQuZXJyb3JzWzBdKTtcbiAgICAgICAgICAgICAgICBzZWxmLl9fTkVYVF9ITVJfQ0IgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGhhbmRsZUhvdFVwZGF0ZSh1cGRhdGVkTW9kdWxlcykge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuVFVSQk9QQUNLKSB7XG4gICAgICAgICAgICBvbkZhc3RSZWZyZXNoKGRpc3BhdGNoZXIsIHNlbmRNZXNzYWdlLCB1cGRhdGVkTW9kdWxlcyB8fCBbXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0cnlBcHBseVVwZGF0ZXMoZnVuY3Rpb24gb25CZWZvcmVIb3RVcGRhdGUoaGFzVXBkYXRlcykge1xuICAgICAgICAgICAgICAgIG9uQmVmb3JlRmFzdFJlZnJlc2goZGlzcGF0Y2hlciwgaGFzVXBkYXRlcyk7XG4gICAgICAgICAgICB9LCBmdW5jdGlvbiBvblN1Y2Nlc3NmdWxIb3RVcGRhdGUod2VicGFja1VwZGF0ZWRNb2R1bGVzKSB7XG4gICAgICAgICAgICAgICAgLy8gT25seSBkaXNtaXNzIGl0IHdoZW4gd2UncmUgc3VyZSBpdCdzIGEgaG90IHVwZGF0ZS5cbiAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UgaXQgd291bGQgZmxpY2tlciByaWdodCBiZWZvcmUgdGhlIHJlbG9hZC5cbiAgICAgICAgICAgICAgICBvbkZhc3RSZWZyZXNoKGRpc3BhdGNoZXIsIHNlbmRNZXNzYWdlLCB3ZWJwYWNrVXBkYXRlZE1vZHVsZXMpO1xuICAgICAgICAgICAgfSwgc2VuZE1lc3NhZ2UsIGRpc3BhdGNoZXIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHN3aXRjaChvYmouYWN0aW9uKXtcbiAgICAgICAgY2FzZSBfaG90cmVsb2FkZXJ0eXBlcy5ITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuQlVJTERJTkc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc3RhcnRMYXRlbmN5ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIltGYXN0IFJlZnJlc2hdIHJlYnVpbGRpbmdcIik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgX2hvdHJlbG9hZGVydHlwZXMuSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLkZJTklTSF9CVUlMRElORzpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBfaG90cmVsb2FkZXJ0eXBlcy5ITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuQlVJTFQ6XG4gICAgICAgIGNhc2UgX2hvdHJlbG9hZGVydHlwZXMuSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLlNZTkM6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWYgKG9iai5oYXNoKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUF2YWlsYWJsZUhhc2gob2JqLmhhc2gpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCB7IGVycm9ycywgd2FybmluZ3MgfSA9IG9iajtcbiAgICAgICAgICAgICAgICAvLyBJcyB1bmRlZmluZWQgd2hlbiBpdCdzIGEgJ2J1aWx0JyBldmVudFxuICAgICAgICAgICAgICAgIGlmIChcInZlcnNpb25JbmZvXCIgaW4gb2JqKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoZXIub25WZXJzaW9uSW5mbyhvYmoudmVyc2lvbkluZm8pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBoYXNFcnJvcnMgPSBCb29sZWFuKGVycm9ycyAmJiBlcnJvcnMubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICAvLyBDb21waWxhdGlvbiB3aXRoIGVycm9ycyAoZS5nLiBzeW50YXggZXJyb3Igb3IgbWlzc2luZyBtb2R1bGVzKS5cbiAgICAgICAgICAgICAgICBpZiAoaGFzRXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbmRNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50OiBcImNsaWVudC1lcnJvclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JDb3VudDogZXJyb3JzLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudElkOiBfX25leHREZXZDbGllbnRJZFxuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUVycm9ycyhlcnJvcnMpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc1dhcm5pbmdzID0gQm9vbGVhbih3YXJuaW5ncyAmJiB3YXJuaW5ncy5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIGlmIChoYXNXYXJuaW5ncykge1xuICAgICAgICAgICAgICAgICAgICBzZW5kTWVzc2FnZShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudDogXCJjbGllbnQtd2FybmluZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ0NvdW50OiB3YXJuaW5ncy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJZDogX19uZXh0RGV2Q2xpZW50SWRcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICAvLyBQcmludCB3YXJuaW5ncyB0byB0aGUgY29uc29sZS5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkTWVzc2FnZXMgPSAoMCwgX2Zvcm1hdHdlYnBhY2ttZXNzYWdlcy5kZWZhdWx0KSh7XG4gICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nczogd2FybmluZ3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnM6IFtdXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgZm9ybWF0dGVkTWVzc2FnZXMud2FybmluZ3MubGVuZ3RoOyBpKyspe1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IDUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJUaGVyZSB3ZXJlIG1vcmUgd2FybmluZ3MgaW4gb3RoZXIgZmlsZXMuXFxuXCIgKyBcIllvdSBjYW4gZmluZCBhIGNvbXBsZXRlIGxvZyBpbiB0aGUgdGVybWluYWwuXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCgwLCBfc3RyaXBhbnNpLmRlZmF1bHQpKGZvcm1hdHRlZE1lc3NhZ2VzLndhcm5pbmdzW2ldKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBObyBlYXJseSByZXR1cm4gaGVyZSBhcyB3ZSBuZWVkIHRvIGFwcGx5IG1vZHVsZXMgaW4gdGhlIHNhbWUgd2F5IGJldHdlZW4gd2FybmluZ3Mgb25seSBhbmQgY29tcGlsZXMgd2l0aG91dCB3YXJuaW5nc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZW5kTWVzc2FnZShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50OiBcImNsaWVudC1zdWNjZXNzXCIsXG4gICAgICAgICAgICAgICAgICAgIGNsaWVudElkOiBfX25leHREZXZDbGllbnRJZFxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICBpZiAob2JqLmFjdGlvbiA9PT0gX2hvdHJlbG9hZGVydHlwZXMuSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLkJVSUxUKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEhhbmRsZSBob3QgdXBkYXRlc1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVIb3RVcGRhdGUob2JqLnVwZGF0ZWRNb2R1bGVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAvLyBUT0RPLUFQUDogbWFrZSBzZXJ2ZXIgY29tcG9uZW50IGNoYW5nZSBtb3JlIGdyYW51bGFyXG4gICAgICAgIGNhc2UgX2hvdHJlbG9hZGVydHlwZXMuSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLlNFUlZFUl9DT01QT05FTlRfQ0hBTkdFUzpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzZW5kTWVzc2FnZShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50OiBcInNlcnZlci1jb21wb25lbnQtcmVsb2FkLXBhZ2VcIixcbiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQ6IF9fbmV4dERldkNsaWVudElkXG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIGlmIChfdXNlZXJyb3JoYW5kbGVyLlJ1bnRpbWVFcnJvckhhbmRsZXIuaGFkUnVudGltZUVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZWxvYWRpbmcpIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgcmVsb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKDAsIF9yZWFjdC5zdGFydFRyYW5zaXRpb24pKCgpPT57XG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgaXQgZXhpc3RzLCBpdCdzIGp1c3QgaGlkZGVuXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlci5mYXN0UmVmcmVzaCgpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaGVyLm9uUmVmcmVzaCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfVEVTVF9NT0RFKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxmLl9fTkVYVF9ITVJfQ0IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19ORVhUX0hNUl9DQigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX05FWFRfSE1SX0NCID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgX2hvdHJlbG9hZGVydHlwZXMuSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLlJFTE9BRF9QQUdFOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHNlbmRNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IFwiY2xpZW50LXJlbG9hZC1wYWdlXCIsXG4gICAgICAgICAgICAgICAgICAgIGNsaWVudElkOiBfX25leHREZXZDbGllbnRJZFxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICBpZiAocmVsb2FkaW5nKSByZXR1cm47XG4gICAgICAgICAgICAgICAgcmVsb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIF9ob3RyZWxvYWRlcnR5cGVzLkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5SRU1PVkVEX1BBR0U6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLy8gVE9ETy1BUFA6IHBvdGVudGlhbGx5IG9ubHkgcmVmcmVzaCBpZiB0aGUgY3VycmVudGx5IHZpZXdlZCBwYWdlIHdhcyByZW1vdmVkLlxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgaXQgZXhpc3RzLCBpdCdzIGp1c3QgaGlkZGVuXG4gICAgICAgICAgICAgICAgcm91dGVyLmZhc3RSZWZyZXNoKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIF9ob3RyZWxvYWRlcnR5cGVzLkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5BRERFRF9QQUdFOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC8vIFRPRE8tQVBQOiBwb3RlbnRpYWxseSBvbmx5IHJlZnJlc2ggaWYgdGhlIGN1cnJlbnRseSB2aWV3ZWQgcGFnZSB3YXMgYWRkZWQuXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSBpdCBleGlzdHMsIGl0J3MganVzdCBoaWRkZW5cbiAgICAgICAgICAgICAgICByb3V0ZXIuZmFzdFJlZnJlc2goKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgX2hvdHJlbG9hZGVydHlwZXMuSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLlNFUlZFUl9FUlJPUjpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGVycm9ySlNPTiB9ID0gb2JqO1xuICAgICAgICAgICAgICAgIGlmIChlcnJvckpTT04pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBtZXNzYWdlLCBzdGFjayB9ID0gSlNPTi5wYXJzZShlcnJvckpTT04pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3Iuc3RhY2sgPSBzdGFjaztcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlRXJyb3JzKFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yXG4gICAgICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgX2hvdHJlbG9hZGVydHlwZXMuSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLkRFVl9QQUdFU19NQU5JRkVTVF9VUERBVEU6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAge31cbiAgICB9XG59XG5mdW5jdGlvbiBIb3RSZWxvYWQocGFyYW0pIHtcbiAgICBsZXQgeyBhc3NldFByZWZpeCwgY2hpbGRyZW4gfSA9IHBhcmFtO1xuICAgIGNvbnN0IFtzdGF0ZSwgZGlzcGF0Y2hdID0gKDAsIF9yZWFjdC51c2VSZWR1Y2VyKShfZXJyb3JvdmVybGF5cmVkdWNlci5lcnJvck92ZXJsYXlSZWR1Y2VyLCBfZXJyb3JvdmVybGF5cmVkdWNlci5JTklUSUFMX09WRVJMQVlfU1RBVEUpO1xuICAgIGNvbnN0IGRpc3BhdGNoZXIgPSAoMCwgX3JlYWN0LnVzZU1lbW8pKCgpPT57XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvbkJ1aWxkT2sgKCkge1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX2Vycm9yb3ZlcmxheXJlZHVjZXIuQUNUSU9OX0JVSUxEX09LXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb25CdWlsZEVycm9yIChtZXNzYWdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBfZXJyb3JvdmVybGF5cmVkdWNlci5BQ1RJT05fQlVJTERfRVJST1IsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbkJlZm9yZVJlZnJlc2ggKCkge1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX2Vycm9yb3ZlcmxheXJlZHVjZXIuQUNUSU9OX0JFRk9SRV9SRUZSRVNIXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb25SZWZyZXNoICgpIHtcbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9lcnJvcm92ZXJsYXlyZWR1Y2VyLkFDVElPTl9SRUZSRVNIXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb25WZXJzaW9uSW5mbyAodmVyc2lvbkluZm8pIHtcbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9lcnJvcm92ZXJsYXlyZWR1Y2VyLkFDVElPTl9WRVJTSU9OX0lORk8sXG4gICAgICAgICAgICAgICAgICAgIHZlcnNpb25JbmZvXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBkaXNwYXRjaFxuICAgIF0pO1xuICAgIGNvbnN0IGhhbmRsZU9uVW5oYW5kbGVkRXJyb3IgPSAoMCwgX3JlYWN0LnVzZUNhbGxiYWNrKSgoZXJyb3IpPT57XG4gICAgICAgIC8vIENvbXBvbmVudCBzdGFjayBpcyBhZGRlZCB0byB0aGUgZXJyb3IgaW4gdXNlLWVycm9yLWhhbmRsZXIgaW4gY2FzZSB0aGVyZSB3YXMgYSBoeWRyYXRpb24gZXJycm9yXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFN0YWNrID0gZXJyb3IuX2NvbXBvbmVudFN0YWNrO1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICB0eXBlOiBfZXJyb3JvdmVybGF5cmVkdWNlci5BQ1RJT05fVU5IQU5ETEVEX0VSUk9SLFxuICAgICAgICAgICAgcmVhc29uOiBlcnJvcixcbiAgICAgICAgICAgIGZyYW1lczogKDAsIF9wYXJzZVN0YWNrLnBhcnNlU3RhY2spKGVycm9yLnN0YWNrKSxcbiAgICAgICAgICAgIGNvbXBvbmVudFN0YWNrRnJhbWVzOiBjb21wb25lbnRTdGFjayAmJiAoMCwgX3BhcnNlY29tcG9uZW50c3RhY2sucGFyc2VDb21wb25lbnRTdGFjaykoY29tcG9uZW50U3RhY2spXG4gICAgICAgIH0pO1xuICAgIH0sIFtdKTtcbiAgICBjb25zdCBoYW5kbGVPblVuaGFuZGxlZFJlamVjdGlvbiA9ICgwLCBfcmVhY3QudXNlQ2FsbGJhY2spKChyZWFzb24pPT57XG4gICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgIHR5cGU6IF9lcnJvcm92ZXJsYXlyZWR1Y2VyLkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OLFxuICAgICAgICAgICAgcmVhc29uOiByZWFzb24sXG4gICAgICAgICAgICBmcmFtZXM6ICgwLCBfcGFyc2VTdGFjay5wYXJzZVN0YWNrKShyZWFzb24uc3RhY2spXG4gICAgICAgIH0pO1xuICAgIH0sIFtdKTtcbiAgICBjb25zdCBoYW5kbGVPblJlYWN0RXJyb3IgPSAoMCwgX3JlYWN0LnVzZUNhbGxiYWNrKSgoKT0+e1xuICAgICAgICBfdXNlZXJyb3JoYW5kbGVyLlJ1bnRpbWVFcnJvckhhbmRsZXIuaGFkUnVudGltZUVycm9yID0gdHJ1ZTtcbiAgICB9LCBbXSk7XG4gICAgKDAsIF91c2VlcnJvcmhhbmRsZXIudXNlRXJyb3JIYW5kbGVyKShoYW5kbGVPblVuaGFuZGxlZEVycm9yLCBoYW5kbGVPblVuaGFuZGxlZFJlamVjdGlvbik7XG4gICAgY29uc3Qgd2ViU29ja2V0UmVmID0gKDAsIF91c2V3ZWJzb2NrZXQudXNlV2Vic29ja2V0KShhc3NldFByZWZpeCk7XG4gICAgKDAsIF91c2V3ZWJzb2NrZXQudXNlV2Vic29ja2V0UGluZykod2ViU29ja2V0UmVmKTtcbiAgICBjb25zdCBzZW5kTWVzc2FnZSA9ICgwLCBfdXNld2Vic29ja2V0LnVzZVNlbmRNZXNzYWdlKSh3ZWJTb2NrZXRSZWYpO1xuICAgIGNvbnN0IHByb2Nlc3NUdXJib3BhY2tNZXNzYWdlID0gKDAsIF91c2V3ZWJzb2NrZXQudXNlVHVyYm9wYWNrKShzZW5kTWVzc2FnZSk7XG4gICAgY29uc3Qgcm91dGVyID0gKDAsIF9uYXZpZ2F0aW9uLnVzZVJvdXRlcikoKTtcbiAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgY29uc3QgaGFuZGxlciA9IChldmVudCk9PntcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2JqID0gSlNPTi5wYXJzZShldmVudC5kYXRhKTtcbiAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVkQnlUdXJib3BhY2sgPSBwcm9jZXNzVHVyYm9wYWNrTWVzc2FnZSA9PSBudWxsID8gdm9pZCAwIDogcHJvY2Vzc1R1cmJvcGFja01lc3NhZ2Uob2JqKTtcbiAgICAgICAgICAgICAgICBpZiAoIWhhbmRsZWRCeVR1cmJvcGFjaykge1xuICAgICAgICAgICAgICAgICAgICBwcm9jZXNzTWVzc2FnZShvYmosIHNlbmRNZXNzYWdlLCByb3V0ZXIsIGRpc3BhdGNoZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIHZhciBfZXJyX3N0YWNrO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIltITVJdIEludmFsaWQgbWVzc2FnZTogXCIgKyBldmVudC5kYXRhICsgXCJcXG5cIiArICgoX2Vycl9zdGFjayA9IGVyciA9PSBudWxsID8gdm9pZCAwIDogZXJyLnN0YWNrKSAhPSBudWxsID8gX2Vycl9zdGFjayA6IFwiXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgd2Vic29ja2V0ID0gd2ViU29ja2V0UmVmLmN1cnJlbnQ7XG4gICAgICAgIGlmICh3ZWJzb2NrZXQpIHtcbiAgICAgICAgICAgIHdlYnNvY2tldC5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCBoYW5kbGVyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKCk9PndlYnNvY2tldCAmJiB3ZWJzb2NrZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgaGFuZGxlcik7XG4gICAgfSwgW1xuICAgICAgICBzZW5kTWVzc2FnZSxcbiAgICAgICAgcm91dGVyLFxuICAgICAgICB3ZWJTb2NrZXRSZWYsXG4gICAgICAgIGRpc3BhdGNoZXIsXG4gICAgICAgIHByb2Nlc3NUdXJib3BhY2tNZXNzYWdlXG4gICAgXSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX1JlYWN0RGV2T3ZlcmxheS5kZWZhdWx0LCB7XG4gICAgICAgIG9uUmVhY3RFcnJvcjogaGFuZGxlT25SZWFjdEVycm9yLFxuICAgICAgICBzdGF0ZTogc3RhdGUsXG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ob3QtcmVsb2FkZXItY2xpZW50LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJIb3RSZWxvYWQiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9zdHJpcGFuc2kiLCJfZm9ybWF0d2VicGFja21lc3NhZ2VzIiwiX25hdmlnYXRpb24iLCJfZXJyb3JvdmVybGF5cmVkdWNlciIsIl9wYXJzZVN0YWNrIiwiX1JlYWN0RGV2T3ZlcmxheSIsIl91c2VlcnJvcmhhbmRsZXIiLCJfdXNld2Vic29ja2V0IiwiX3BhcnNlY29tcG9uZW50c3RhY2siLCJfaG90cmVsb2FkZXJ0eXBlcyIsIm1vc3RSZWNlbnRDb21waWxhdGlvbkhhc2giLCJfX25leHREZXZDbGllbnRJZCIsIk1hdGgiLCJyb3VuZCIsInJhbmRvbSIsIkRhdGUiLCJub3ciLCJyZWxvYWRpbmciLCJzdGFydExhdGVuY3kiLCJvbkJlZm9yZUZhc3RSZWZyZXNoIiwiZGlzcGF0Y2hlciIsImhhc1VwZGF0ZXMiLCJvbkJlZm9yZVJlZnJlc2giLCJvbkZhc3RSZWZyZXNoIiwic2VuZE1lc3NhZ2UiLCJ1cGRhdGVkTW9kdWxlcyIsImVuZExhdGVuY3kiLCJvbkJ1aWxkT2siLCJKU09OIiwic3RyaW5naWZ5IiwiZXZlbnQiLCJpZCIsIndpbmRvdyIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJwYWdlIiwibG9jYXRpb24iLCJwYXRobmFtZSIsImlzUGFnZUhpZGRlbiIsImRvY3VtZW50IiwidmlzaWJpbGl0eVN0YXRlIiwibGVuZ3RoIiwib25SZWZyZXNoIiwiaGFuZGxlQXZhaWxhYmxlSGFzaCIsImhhc2giLCJpc1VwZGF0ZUF2YWlsYWJsZSIsInByb2Nlc3MiLCJlbnYiLCJUVVJCT1BBQ0siLCJfX3dlYnBhY2tfaGFzaF9fIiwiY2FuQXBwbHlVcGRhdGVzIiwibW9kdWxlIiwiaG90Iiwic3RhdHVzIiwiYWZ0ZXJBcHBseVVwZGF0ZXMiLCJmbiIsImhhbmRsZXIiLCJyZW1vdmVTdGF0dXNIYW5kbGVyIiwiYWRkU3RhdHVzSGFuZGxlciIsInBlcmZvcm1GdWxsUmVsb2FkIiwiZXJyIiwic3RhY2tUcmFjZSIsInN0YWNrIiwic3BsaXQiLCJzbGljZSIsImpvaW4iLCJtZXNzYWdlIiwiaGFkUnVudGltZUVycm9yIiwiUnVudGltZUVycm9ySGFuZGxlciIsInJlbG9hZCIsInRyeUFwcGx5VXBkYXRlcyIsIm9uQmVmb3JlVXBkYXRlIiwib25Ib3RVcGRhdGVTdWNjZXNzIiwiaGFuZGxlQXBwbHlVcGRhdGVzIiwiY29uc29sZSIsIndhcm4iLCJCb29sZWFuIiwiX19ORVhUX1RFU1RfTU9ERSIsInNlbGYiLCJfX05FWFRfSE1SX0NCIiwiY2hlY2siLCJ0aGVuIiwiYXBwbHkiLCJwcm9jZXNzTWVzc2FnZSIsIm9iaiIsInJvdXRlciIsImhhbmRsZUVycm9ycyIsImVycm9ycyIsImZvcm1hdHRlZCIsImRlZmF1bHQiLCJ3YXJuaW5ncyIsIm9uQnVpbGRFcnJvciIsImkiLCJlcnJvciIsImhhbmRsZUhvdFVwZGF0ZSIsIm9uQmVmb3JlSG90VXBkYXRlIiwib25TdWNjZXNzZnVsSG90VXBkYXRlIiwid2VicGFja1VwZGF0ZWRNb2R1bGVzIiwiYWN0aW9uIiwiSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSIiwiQlVJTERJTkciLCJsb2ciLCJGSU5JU0hfQlVJTERJTkciLCJCVUlMVCIsIlNZTkMiLCJvblZlcnNpb25JbmZvIiwidmVyc2lvbkluZm8iLCJoYXNFcnJvcnMiLCJlcnJvckNvdW50IiwiY2xpZW50SWQiLCJoYXNXYXJuaW5ncyIsIndhcm5pbmdDb3VudCIsImZvcm1hdHRlZE1lc3NhZ2VzIiwiU0VSVkVSX0NPTVBPTkVOVF9DSEFOR0VTIiwic3RhcnRUcmFuc2l0aW9uIiwiZmFzdFJlZnJlc2giLCJSRUxPQURfUEFHRSIsIlJFTU9WRURfUEFHRSIsIkFEREVEX1BBR0UiLCJTRVJWRVJfRVJST1IiLCJlcnJvckpTT04iLCJwYXJzZSIsIkVycm9yIiwiREVWX1BBR0VTX01BTklGRVNUX1VQREFURSIsInBhcmFtIiwiYXNzZXRQcmVmaXgiLCJjaGlsZHJlbiIsInN0YXRlIiwiZGlzcGF0Y2giLCJ1c2VSZWR1Y2VyIiwiZXJyb3JPdmVybGF5UmVkdWNlciIsIklOSVRJQUxfT1ZFUkxBWV9TVEFURSIsInVzZU1lbW8iLCJ0eXBlIiwiQUNUSU9OX0JVSUxEX09LIiwiQUNUSU9OX0JVSUxEX0VSUk9SIiwiQUNUSU9OX0JFRk9SRV9SRUZSRVNIIiwiQUNUSU9OX1JFRlJFU0giLCJBQ1RJT05fVkVSU0lPTl9JTkZPIiwiaGFuZGxlT25VbmhhbmRsZWRFcnJvciIsInVzZUNhbGxiYWNrIiwiY29tcG9uZW50U3RhY2siLCJfY29tcG9uZW50U3RhY2siLCJBQ1RJT05fVU5IQU5ETEVEX0VSUk9SIiwicmVhc29uIiwiZnJhbWVzIiwicGFyc2VTdGFjayIsImNvbXBvbmVudFN0YWNrRnJhbWVzIiwicGFyc2VDb21wb25lbnRTdGFjayIsImhhbmRsZU9uVW5oYW5kbGVkUmVqZWN0aW9uIiwiQUNUSU9OX1VOSEFORExFRF9SRUpFQ1RJT04iLCJoYW5kbGVPblJlYWN0RXJyb3IiLCJ1c2VFcnJvckhhbmRsZXIiLCJ3ZWJTb2NrZXRSZWYiLCJ1c2VXZWJzb2NrZXQiLCJ1c2VXZWJzb2NrZXRQaW5nIiwidXNlU2VuZE1lc3NhZ2UiLCJwcm9jZXNzVHVyYm9wYWNrTWVzc2FnZSIsInVzZVR1cmJvcGFjayIsInVzZVJvdXRlciIsInVzZUVmZmVjdCIsImRhdGEiLCJoYW5kbGVkQnlUdXJib3BhY2siLCJfZXJyX3N0YWNrIiwid2Vic29ja2V0IiwiY3VycmVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwianN4Iiwib25SZWFjdEVycm9yIiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/hot-reloader-client.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/ReactDevOverlay.js": /*!************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/ReactDevOverlay.js ***! \************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _erroroverlayreducer = __webpack_require__(/*! ./error-overlay-reducer */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js\");\nconst _ShadowPortal = __webpack_require__(/*! ./components/ShadowPortal */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\");\nconst _BuildError = __webpack_require__(/*! ./container/BuildError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _Errors = __webpack_require__(/*! ./container/Errors */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _RootLayoutError = __webpack_require__(/*! ./container/RootLayoutError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RootLayoutError.js\");\nconst _parseStack = __webpack_require__(/*! ./helpers/parseStack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\");\nconst _Base = __webpack_require__(/*! ./styles/Base */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\");\nconst _ComponentStyles = __webpack_require__(/*! ./styles/ComponentStyles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\");\nconst _CssReset = __webpack_require__(/*! ./styles/CssReset */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\");\nclass ReactDevOverlay extends _react.PureComponent {\n static getDerivedStateFromError(error) {\n const e = error;\n const event = {\n type: _erroroverlayreducer.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(e.stack)\n };\n const errorEvent = {\n id: 0,\n event\n };\n return {\n reactError: errorEvent\n };\n }\n componentDidCatch(componentErr) {\n this.props.onReactError(componentErr);\n }\n render() {\n const { state, children } = this.props;\n const { reactError } = this.state;\n const hasBuildError = state.buildError != null;\n const hasRuntimeErrors = Boolean(state.errors.length);\n const rootLayoutMissingTagsError = state.rootLayoutMissingTagsError;\n const isMounted = hasBuildError || hasRuntimeErrors || reactError || rootLayoutMissingTagsError;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n reactError ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"body\", {})\n ]\n }) : children,\n isMounted ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_ShadowPortal.ShadowPortal, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CssReset.CssReset, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Base.Base, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_ComponentStyles.ComponentStyles, {}),\n rootLayoutMissingTagsError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_RootLayoutError.RootLayoutError, {\n missingTags: rootLayoutMissingTagsError.missingTags\n }) : hasBuildError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_BuildError.BuildError, {\n message: state.buildError,\n versionInfo: state.versionInfo\n }) : reactError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Errors.Errors, {\n versionInfo: state.versionInfo,\n initialDisplayState: \"fullscreen\",\n errors: [\n reactError\n ]\n }) : hasRuntimeErrors ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Errors.Errors, {\n initialDisplayState: \"minimized\",\n errors: state.errors,\n versionInfo: state.versionInfo\n }) : undefined\n ]\n }) : undefined\n ]\n });\n }\n constructor(...args){\n super(...args);\n this.state = {\n reactError: null\n };\n }\n}\nconst _default = ReactDevOverlay;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ReactDevOverlay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL1JlYWN0RGV2T3ZlcmxheS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCwwQkFBMEJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUksdUJBQXVCSixtQkFBT0EsQ0FBQyxxSUFBeUI7QUFDOUQsTUFBTUssZ0JBQWdCTCxtQkFBT0EsQ0FBQyx5SUFBMkI7QUFDekQsTUFBTU0sY0FBY04sbUJBQU9BLENBQUMsbUlBQXdCO0FBQ3BELE1BQU1PLFVBQVVQLG1CQUFPQSxDQUFDLDJIQUFvQjtBQUM1QyxNQUFNUSxtQkFBbUJSLG1CQUFPQSxDQUFDLDZJQUE2QjtBQUM5RCxNQUFNUyxjQUFjVCxtQkFBT0EsQ0FBQywrSEFBc0I7QUFDbEQsTUFBTVUsUUFBUVYsbUJBQU9BLENBQUMsaUhBQWU7QUFDckMsTUFBTVcsbUJBQW1CWCxtQkFBT0EsQ0FBQyx1SUFBMEI7QUFDM0QsTUFBTVksWUFBWVosbUJBQU9BLENBQUMseUhBQW1CO0FBQzdDLE1BQU1hLHdCQUF3QlgsT0FBT1ksYUFBYTtJQUM5QyxPQUFPQyx5QkFBeUJDLEtBQUssRUFBRTtRQUNuQyxNQUFNQyxJQUFJRDtRQUNWLE1BQU1FLFFBQVE7WUFDVkMsTUFBTWYscUJBQXFCZ0Isc0JBQXNCO1lBQ2pEQyxRQUFRTDtZQUNSTSxRQUFRLENBQUMsR0FBR2IsWUFBWWMsVUFBVSxFQUFFTixFQUFFTyxLQUFLO1FBQy9DO1FBQ0EsTUFBTUMsYUFBYTtZQUNmQyxJQUFJO1lBQ0pSO1FBQ0o7UUFDQSxPQUFPO1lBQ0hTLFlBQVlGO1FBQ2hCO0lBQ0o7SUFDQUcsa0JBQWtCQyxZQUFZLEVBQUU7UUFDNUIsSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVksQ0FBQ0Y7SUFDNUI7SUFDQUcsU0FBUztRQUNMLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUNKLEtBQUs7UUFDdEMsTUFBTSxFQUFFSCxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUNNLEtBQUs7UUFDakMsTUFBTUUsZ0JBQWdCRixNQUFNRyxVQUFVLElBQUk7UUFDMUMsTUFBTUMsbUJBQW1CQyxRQUFRTCxNQUFNTSxNQUFNLENBQUNDLE1BQU07UUFDcEQsTUFBTUMsNkJBQTZCUixNQUFNUSwwQkFBMEI7UUFDbkUsTUFBTUMsWUFBWVAsaUJBQWlCRSxvQkFBb0JWLGNBQWNjO1FBQ3JFLE9BQXFCLFdBQUgsR0FBSSxJQUFHeEMsWUFBWTBDLElBQUksRUFBRTFDLFlBQVkyQyxRQUFRLEVBQUU7WUFDN0RWLFVBQVU7Z0JBQ05QLGFBQTJCLFdBQUgsR0FBSSxJQUFHMUIsWUFBWTBDLElBQUksRUFBRSxRQUFRO29CQUNyRFQsVUFBVTt3QkFDTixXQUFXLEdBQUksSUFBR2pDLFlBQVk0QyxHQUFHLEVBQUUsUUFBUSxDQUFDO3dCQUM1QyxXQUFXLEdBQUksSUFBRzVDLFlBQVk0QyxHQUFHLEVBQUUsUUFBUSxDQUFDO3FCQUMvQztnQkFDTCxLQUFLWDtnQkFDTFEsWUFBMEIsV0FBSCxHQUFJLElBQUd6QyxZQUFZMEMsSUFBSSxFQUFFdEMsY0FBY3lDLFlBQVksRUFBRTtvQkFDeEVaLFVBQVU7d0JBQ04sV0FBVyxHQUFJLElBQUdqQyxZQUFZNEMsR0FBRyxFQUFFakMsVUFBVW1DLFFBQVEsRUFBRSxDQUFDO3dCQUN4RCxXQUFXLEdBQUksSUFBRzlDLFlBQVk0QyxHQUFHLEVBQUVuQyxNQUFNc0MsSUFBSSxFQUFFLENBQUM7d0JBQ2hELFdBQVcsR0FBSSxJQUFHL0MsWUFBWTRDLEdBQUcsRUFBRWxDLGlCQUFpQnNDLGVBQWUsRUFBRSxDQUFDO3dCQUN0RVIsNkJBQTJDLFdBQUgsR0FBSSxJQUFHeEMsWUFBWTRDLEdBQUcsRUFBRXJDLGlCQUFpQjBDLGVBQWUsRUFBRTs0QkFDOUZDLGFBQWFWLDJCQUEyQlUsV0FBVzt3QkFDdkQsS0FBS2hCLGdCQUE4QixXQUFILEdBQUksSUFBR2xDLFlBQVk0QyxHQUFHLEVBQUV2QyxZQUFZOEMsVUFBVSxFQUFFOzRCQUM1RUMsU0FBU3BCLE1BQU1HLFVBQVU7NEJBQ3pCa0IsYUFBYXJCLE1BQU1xQixXQUFXO3dCQUNsQyxLQUFLM0IsYUFBMkIsV0FBSCxHQUFJLElBQUcxQixZQUFZNEMsR0FBRyxFQUFFdEMsUUFBUWdELE1BQU0sRUFBRTs0QkFDakVELGFBQWFyQixNQUFNcUIsV0FBVzs0QkFDOUJFLHFCQUFxQjs0QkFDckJqQixRQUFRO2dDQUNKWjs2QkFDSDt3QkFDTCxLQUFLVSxtQkFBaUMsV0FBSCxHQUFJLElBQUdwQyxZQUFZNEMsR0FBRyxFQUFFdEMsUUFBUWdELE1BQU0sRUFBRTs0QkFDdkVDLHFCQUFxQjs0QkFDckJqQixRQUFRTixNQUFNTSxNQUFNOzRCQUNwQmUsYUFBYXJCLE1BQU1xQixXQUFXO3dCQUNsQyxLQUFLRztxQkFDUjtnQkFDTCxLQUFLQTthQUNSO1FBQ0w7SUFDSjtJQUNBQyxZQUFZLEdBQUdDLElBQUksQ0FBQztRQUNoQixLQUFLLElBQUlBO1FBQ1QsSUFBSSxDQUFDMUIsS0FBSyxHQUFHO1lBQ1ROLFlBQVk7UUFDaEI7SUFDSjtBQUNKO0FBQ0EsTUFBTTdCLFdBQVdlO0FBRWpCLElBQUksQ0FBQyxPQUFPbkIsUUFBUWtFLE9BQU8sS0FBSyxjQUFlLE9BQU9sRSxRQUFRa0UsT0FBTyxLQUFLLFlBQVlsRSxRQUFRa0UsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPbEUsUUFBUWtFLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktyRSxPQUFPQyxjQUFjLENBQUNDLFFBQVFrRSxPQUFPLEVBQUUsY0FBYztRQUFFakUsT0FBTztJQUFLO0lBQ25FSCxPQUFPc0UsTUFBTSxDQUFDcEUsUUFBUWtFLE9BQU8sRUFBRWxFO0lBQy9CcUUsT0FBT3JFLE9BQU8sR0FBR0EsUUFBUWtFLE9BQU87QUFDbEMsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL1JlYWN0RGV2T3ZlcmxheS5qcz9kMmM3Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2RlZmF1bHQ7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfZXJyb3JvdmVybGF5cmVkdWNlciA9IHJlcXVpcmUoXCIuL2Vycm9yLW92ZXJsYXktcmVkdWNlclwiKTtcbmNvbnN0IF9TaGFkb3dQb3J0YWwgPSByZXF1aXJlKFwiLi9jb21wb25lbnRzL1NoYWRvd1BvcnRhbFwiKTtcbmNvbnN0IF9CdWlsZEVycm9yID0gcmVxdWlyZShcIi4vY29udGFpbmVyL0J1aWxkRXJyb3JcIik7XG5jb25zdCBfRXJyb3JzID0gcmVxdWlyZShcIi4vY29udGFpbmVyL0Vycm9yc1wiKTtcbmNvbnN0IF9Sb290TGF5b3V0RXJyb3IgPSByZXF1aXJlKFwiLi9jb250YWluZXIvUm9vdExheW91dEVycm9yXCIpO1xuY29uc3QgX3BhcnNlU3RhY2sgPSByZXF1aXJlKFwiLi9oZWxwZXJzL3BhcnNlU3RhY2tcIik7XG5jb25zdCBfQmFzZSA9IHJlcXVpcmUoXCIuL3N0eWxlcy9CYXNlXCIpO1xuY29uc3QgX0NvbXBvbmVudFN0eWxlcyA9IHJlcXVpcmUoXCIuL3N0eWxlcy9Db21wb25lbnRTdHlsZXNcIik7XG5jb25zdCBfQ3NzUmVzZXQgPSByZXF1aXJlKFwiLi9zdHlsZXMvQ3NzUmVzZXRcIik7XG5jbGFzcyBSZWFjdERldk92ZXJsYXkgZXh0ZW5kcyBfcmVhY3QuUHVyZUNvbXBvbmVudCB7XG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlcnJvcikge1xuICAgICAgICBjb25zdCBlID0gZXJyb3I7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0ge1xuICAgICAgICAgICAgdHlwZTogX2Vycm9yb3ZlcmxheXJlZHVjZXIuQUNUSU9OX1VOSEFORExFRF9FUlJPUixcbiAgICAgICAgICAgIHJlYXNvbjogZXJyb3IsXG4gICAgICAgICAgICBmcmFtZXM6ICgwLCBfcGFyc2VTdGFjay5wYXJzZVN0YWNrKShlLnN0YWNrKVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBlcnJvckV2ZW50ID0ge1xuICAgICAgICAgICAgaWQ6IDAsXG4gICAgICAgICAgICBldmVudFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVhY3RFcnJvcjogZXJyb3JFdmVudFxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb21wb25lbnREaWRDYXRjaChjb21wb25lbnRFcnIpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5vblJlYWN0RXJyb3IoY29tcG9uZW50RXJyKTtcbiAgICB9XG4gICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCB7IHN0YXRlLCBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgY29uc3QgeyByZWFjdEVycm9yIH0gPSB0aGlzLnN0YXRlO1xuICAgICAgICBjb25zdCBoYXNCdWlsZEVycm9yID0gc3RhdGUuYnVpbGRFcnJvciAhPSBudWxsO1xuICAgICAgICBjb25zdCBoYXNSdW50aW1lRXJyb3JzID0gQm9vbGVhbihzdGF0ZS5lcnJvcnMubGVuZ3RoKTtcbiAgICAgICAgY29uc3Qgcm9vdExheW91dE1pc3NpbmdUYWdzRXJyb3IgPSBzdGF0ZS5yb290TGF5b3V0TWlzc2luZ1RhZ3NFcnJvcjtcbiAgICAgICAgY29uc3QgaXNNb3VudGVkID0gaGFzQnVpbGRFcnJvciB8fCBoYXNSdW50aW1lRXJyb3JzIHx8IHJlYWN0RXJyb3IgfHwgcm9vdExheW91dE1pc3NpbmdUYWdzRXJyb3I7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICByZWFjdEVycm9yID8gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJodG1sXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJoZWFkXCIsIHt9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJib2R5XCIsIHt9KVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSkgOiBjaGlsZHJlbixcbiAgICAgICAgICAgICAgICBpc01vdW50ZWQgPyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfU2hhZG93UG9ydGFsLlNoYWRvd1BvcnRhbCwge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfQ3NzUmVzZXQuQ3NzUmVzZXQsIHt9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0Jhc2UuQmFzZSwge30pLFxuICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfQ29tcG9uZW50U3R5bGVzLkNvbXBvbmVudFN0eWxlcywge30pLFxuICAgICAgICAgICAgICAgICAgICAgICAgcm9vdExheW91dE1pc3NpbmdUYWdzRXJyb3IgPyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9Sb290TGF5b3V0RXJyb3IuUm9vdExheW91dEVycm9yLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWlzc2luZ1RhZ3M6IHJvb3RMYXlvdXRNaXNzaW5nVGFnc0Vycm9yLm1pc3NpbmdUYWdzXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSA6IGhhc0J1aWxkRXJyb3IgPyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9CdWlsZEVycm9yLkJ1aWxkRXJyb3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBzdGF0ZS5idWlsZEVycm9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb25JbmZvOiBzdGF0ZS52ZXJzaW9uSW5mb1xuICAgICAgICAgICAgICAgICAgICAgICAgfSkgOiByZWFjdEVycm9yID8gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfRXJyb3JzLkVycm9ycywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb25JbmZvOiBzdGF0ZS52ZXJzaW9uSW5mbyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsRGlzcGxheVN0YXRlOiBcImZ1bGxzY3JlZW5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhY3RFcnJvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pIDogaGFzUnVudGltZUVycm9ycyA/IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0Vycm9ycy5FcnJvcnMsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsRGlzcGxheVN0YXRlOiBcIm1pbmltaXplZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yczogc3RhdGUuZXJyb3JzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb25JbmZvOiBzdGF0ZS52ZXJzaW9uSW5mb1xuICAgICAgICAgICAgICAgICAgICAgICAgfSkgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0pIDogdW5kZWZpbmVkXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvciguLi5hcmdzKXtcbiAgICAgICAgc3VwZXIoLi4uYXJncyk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICByZWFjdEVycm9yOiBudWxsXG4gICAgICAgIH07XG4gICAgfVxufVxuY29uc3QgX2RlZmF1bHQgPSBSZWFjdERldk92ZXJsYXk7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVJlYWN0RGV2T3ZlcmxheS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2RlZmF1bHQiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9lcnJvcm92ZXJsYXlyZWR1Y2VyIiwiX1NoYWRvd1BvcnRhbCIsIl9CdWlsZEVycm9yIiwiX0Vycm9ycyIsIl9Sb290TGF5b3V0RXJyb3IiLCJfcGFyc2VTdGFjayIsIl9CYXNlIiwiX0NvbXBvbmVudFN0eWxlcyIsIl9Dc3NSZXNldCIsIlJlYWN0RGV2T3ZlcmxheSIsIlB1cmVDb21wb25lbnQiLCJnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IiLCJlcnJvciIsImUiLCJldmVudCIsInR5cGUiLCJBQ1RJT05fVU5IQU5ETEVEX0VSUk9SIiwicmVhc29uIiwiZnJhbWVzIiwicGFyc2VTdGFjayIsInN0YWNrIiwiZXJyb3JFdmVudCIsImlkIiwicmVhY3RFcnJvciIsImNvbXBvbmVudERpZENhdGNoIiwiY29tcG9uZW50RXJyIiwicHJvcHMiLCJvblJlYWN0RXJyb3IiLCJyZW5kZXIiLCJzdGF0ZSIsImNoaWxkcmVuIiwiaGFzQnVpbGRFcnJvciIsImJ1aWxkRXJyb3IiLCJoYXNSdW50aW1lRXJyb3JzIiwiQm9vbGVhbiIsImVycm9ycyIsImxlbmd0aCIsInJvb3RMYXlvdXRNaXNzaW5nVGFnc0Vycm9yIiwiaXNNb3VudGVkIiwianN4cyIsIkZyYWdtZW50IiwianN4IiwiU2hhZG93UG9ydGFsIiwiQ3NzUmVzZXQiLCJCYXNlIiwiQ29tcG9uZW50U3R5bGVzIiwiUm9vdExheW91dEVycm9yIiwibWlzc2luZ1RhZ3MiLCJCdWlsZEVycm9yIiwibWVzc2FnZSIsInZlcnNpb25JbmZvIiwiRXJyb3JzIiwiaW5pdGlhbERpc3BsYXlTdGF0ZSIsInVuZGVmaW5lZCIsImNvbnN0cnVjdG9yIiwiYXJncyIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/ReactDevOverlay.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js ***! \***************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return CodeFrame;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _anser = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/anser */ \"(ssr)/./node_modules/next/dist/compiled/anser/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _stackframe = __webpack_require__(/*! ../../helpers/stack-frame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nconst CodeFrame = function CodeFrame(param) {\n let { stackFrame, codeFrame } = param;\n // Strip leading spaces out of the code frame:\n const formattedFrame = _react.useMemo(()=>{\n const lines = codeFrame.split(/\\r?\\n/g);\n const prefixLength = lines.map((line)=>/^>? +\\d+ +\\| [ ]+/.exec((0, _stripansi.default)(line)) === null ? null : /^>? +\\d+ +\\| ( *)/.exec((0, _stripansi.default)(line))).filter(Boolean).map((v)=>v.pop()).reduce((c, n)=>isNaN(c) ? n.length : Math.min(c, n.length), NaN);\n if (prefixLength > 1) {\n const p = \" \".repeat(prefixLength);\n return lines.map((line, a)=>~(a = line.indexOf(\"|\")) ? line.substring(0, a) + line.substring(a).replace(p, \"\") : line).join(\"\\n\");\n }\n return lines.join(\"\\n\");\n }, [\n codeFrame\n ]);\n const decoded = _react.useMemo(()=>{\n return _anser.default.ansiToJson(formattedFrame, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }, [\n formattedFrame\n ]);\n const open = (0, _useopenineditor.useOpenInEditor)({\n file: stackFrame.file,\n lineNumber: stackFrame.lineNumber,\n column: stackFrame.column\n });\n // TODO: make the caret absolute\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-codeframe\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"p\", {\n role: \"link\",\n onClick: open,\n tabIndex: 1,\n title: \"Click to open in your editor\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n (0, _stackframe.getFrameSource)(stackFrame),\n \" @ \",\n stackFrame.methodName\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"pre\", {\n children: decoded.map((entry, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n style: {\n color: entry.fg ? \"var(--color-\" + entry.fg + \")\" : undefined,\n ...entry.decoration === \"bold\" ? {\n fontWeight: 800\n } : entry.decoration === \"italic\" ? {\n fontStyle: \"italic\"\n } : undefined\n },\n children: entry.content\n }, \"frame-\" + index))\n })\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CodeFrame.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL0NvZGVGcmFtZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNkNBQTRDO0lBQ3hDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsNEJBQTRCRCxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUUsY0FBY0YsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1HLFNBQVMsV0FBVyxHQUFHSix5QkFBeUJLLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsd0ZBQTBCO0FBQzFGLE1BQU1LLFNBQVMsV0FBVyxHQUFHSiwwQkFBMEJHLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTU0sYUFBYSxXQUFXLEdBQUdQLHlCQUF5QkssQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyxrR0FBK0I7QUFDbkcsTUFBTU8sY0FBY1AsbUJBQU9BLENBQUMscUlBQTJCO0FBQ3ZELE1BQU1RLG1CQUFtQlIsbUJBQU9BLENBQUMsbUpBQWtDO0FBQ25FLE1BQU1GLFlBQVksU0FBU0EsVUFBVVcsS0FBSztJQUN0QyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsU0FBUyxFQUFFLEdBQUdGO0lBQ2hDLDhDQUE4QztJQUM5QyxNQUFNRyxpQkFBaUJQLE9BQU9RLE9BQU8sQ0FBQztRQUNsQyxNQUFNQyxRQUFRSCxVQUFVSSxLQUFLLENBQUM7UUFDOUIsTUFBTUMsZUFBZUYsTUFBTUcsR0FBRyxDQUFDLENBQUNDLE9BQU8sb0JBQW9CQyxJQUFJLENBQUMsQ0FBQyxHQUFHYixXQUFXYyxPQUFPLEVBQUVGLFdBQVcsT0FBTyxPQUFPLG9CQUFvQkMsSUFBSSxDQUFDLENBQUMsR0FBR2IsV0FBV2MsT0FBTyxFQUFFRixRQUFRRyxNQUFNLENBQUNDLFNBQVNMLEdBQUcsQ0FBQyxDQUFDTSxJQUFJQSxFQUFFQyxHQUFHLElBQUlDLE1BQU0sQ0FBQyxDQUFDQyxHQUFHQyxJQUFJQyxNQUFNRixLQUFLQyxFQUFFRSxNQUFNLEdBQUdDLEtBQUtDLEdBQUcsQ0FBQ0wsR0FBR0MsRUFBRUUsTUFBTSxHQUFHRztRQUN4USxJQUFJaEIsZUFBZSxHQUFHO1lBQ2xCLE1BQU1pQixJQUFJLElBQUlDLE1BQU0sQ0FBQ2xCO1lBQ3JCLE9BQU9GLE1BQU1HLEdBQUcsQ0FBQyxDQUFDQyxNQUFNaUIsSUFBSSxDQUFFQSxDQUFBQSxJQUFJakIsS0FBS2tCLE9BQU8sQ0FBQyxJQUFHLElBQUtsQixLQUFLbUIsU0FBUyxDQUFDLEdBQUdGLEtBQUtqQixLQUFLbUIsU0FBUyxDQUFDRixHQUFHRyxPQUFPLENBQUNMLEdBQUcsTUFBTWYsTUFBTXFCLElBQUksQ0FBQztRQUNoSTtRQUNBLE9BQU96QixNQUFNeUIsSUFBSSxDQUFDO0lBQ3RCLEdBQUc7UUFDQzVCO0tBQ0g7SUFDRCxNQUFNNkIsVUFBVW5DLE9BQU9RLE9BQU8sQ0FBQztRQUMzQixPQUFPVixPQUFPaUIsT0FBTyxDQUFDcUIsVUFBVSxDQUFDN0IsZ0JBQWdCO1lBQzdDOEIsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLGNBQWM7UUFDbEI7SUFDSixHQUFHO1FBQ0NoQztLQUNIO0lBQ0QsTUFBTWlDLE9BQU8sQ0FBQyxHQUFHckMsaUJBQWlCc0MsZUFBZSxFQUFFO1FBQy9DQyxNQUFNckMsV0FBV3FDLElBQUk7UUFDckJDLFlBQVl0QyxXQUFXc0MsVUFBVTtRQUNqQ0MsUUFBUXZDLFdBQVd1QyxNQUFNO0lBQzdCO0lBQ0EsZ0NBQWdDO0lBQ2hDLE9BQXFCLFdBQUgsR0FBSSxJQUFHL0MsWUFBWWdELElBQUksRUFBRSxPQUFPO1FBQzlDLHlCQUF5QjtRQUN6QkMsVUFBVTtZQUNOLFdBQVcsR0FBSSxJQUFHakQsWUFBWWtELEdBQUcsRUFBRSxPQUFPO2dCQUN0Q0QsVUFBd0IsV0FBSCxHQUFJLElBQUdqRCxZQUFZZ0QsSUFBSSxFQUFFLEtBQUs7b0JBQy9DRyxNQUFNO29CQUNOQyxTQUFTVDtvQkFDVFUsVUFBVTtvQkFDVkMsT0FBTztvQkFDUEwsVUFBVTt3QkFDTixXQUFXLEdBQUksSUFBR2pELFlBQVlnRCxJQUFJLEVBQUUsUUFBUTs0QkFDeENDLFVBQVU7Z0NBQ0wsSUFBRzVDLFlBQVlrRCxjQUFjLEVBQUUvQztnQ0FDaEM7Z0NBQ0FBLFdBQVdnRCxVQUFVOzZCQUN4Qjt3QkFDTDt3QkFDQSxXQUFXLEdBQUksSUFBR3hELFlBQVlnRCxJQUFJLEVBQUUsT0FBTzs0QkFDdkNTLE9BQU87NEJBQ1BDLFNBQVM7NEJBQ1RDLE1BQU07NEJBQ05DLFFBQVE7NEJBQ1JDLGFBQWE7NEJBQ2JDLGVBQWU7NEJBQ2ZDLGdCQUFnQjs0QkFDaEJkLFVBQVU7Z0NBQ04sV0FBVyxHQUFJLElBQUdqRCxZQUFZa0QsR0FBRyxFQUFFLFFBQVE7b0NBQ3ZDYyxHQUFHO2dDQUNQO2dDQUNBLFdBQVcsR0FBSSxJQUFHaEUsWUFBWWtELEdBQUcsRUFBRSxZQUFZO29DQUMzQ2UsUUFBUTtnQ0FDWjtnQ0FDQSxXQUFXLEdBQUksSUFBR2pFLFlBQVlrRCxHQUFHLEVBQUUsUUFBUTtvQ0FDdkNnQixJQUFJO29DQUNKQyxJQUFJO29DQUNKQyxJQUFJO29DQUNKQyxJQUFJO2dDQUNSOzZCQUNIO3dCQUNMO3FCQUNIO2dCQUNMO1lBQ0o7WUFDQSxXQUFXLEdBQUksSUFBR3JFLFlBQVlrRCxHQUFHLEVBQUUsT0FBTztnQkFDdENELFVBQVVYLFFBQVF2QixHQUFHLENBQUMsQ0FBQ3VELE9BQU9DLFFBQXNCLFdBQUgsR0FBSSxJQUFHdkUsWUFBWWtELEdBQUcsRUFBRSxRQUFRO3dCQUN6RXNCLE9BQU87NEJBQ0hDLE9BQU9ILE1BQU1JLEVBQUUsR0FBRyxpQkFBaUJKLE1BQU1JLEVBQUUsR0FBRyxNQUFNQzs0QkFDcEQsR0FBR0wsTUFBTU0sVUFBVSxLQUFLLFNBQVM7Z0NBQzdCQyxZQUFZOzRCQUNoQixJQUFJUCxNQUFNTSxVQUFVLEtBQUssV0FBVztnQ0FDaENFLFdBQVc7NEJBQ2YsSUFBSUgsU0FBUzt3QkFDakI7d0JBQ0ExQixVQUFVcUIsTUFBTVMsT0FBTztvQkFDM0IsR0FBRyxXQUFXUjtZQUN0QjtTQUNIO0lBQ0w7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPL0UsUUFBUTBCLE9BQU8sS0FBSyxjQUFlLE9BQU8xQixRQUFRMEIsT0FBTyxLQUFLLFlBQVkxQixRQUFRMEIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPMUIsUUFBUTBCLE9BQU8sQ0FBQzhELFVBQVUsS0FBSyxhQUFhO0lBQ3JLMUYsT0FBT0MsY0FBYyxDQUFDQyxRQUFRMEIsT0FBTyxFQUFFLGNBQWM7UUFBRXpCLE9BQU87SUFBSztJQUNuRUgsT0FBTzJGLE1BQU0sQ0FBQ3pGLFFBQVEwQixPQUFPLEVBQUUxQjtJQUMvQjBGLE9BQU8xRixPQUFPLEdBQUdBLFFBQVEwQixPQUFPO0FBQ2xDLEVBRUEscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0NvZGVGcmFtZS9Db2RlRnJhbWUuanM/ZjYyMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkNvZGVGcmFtZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ29kZUZyYW1lO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX2Fuc2VyID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL2Fuc2VyXCIpKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfc3RyaXBhbnNpID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3N0cmlwLWFuc2lcIikpO1xuY29uc3QgX3N0YWNrZnJhbWUgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy9zdGFjay1mcmFtZVwiKTtcbmNvbnN0IF91c2VvcGVuaW5lZGl0b3IgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy91c2Utb3Blbi1pbi1lZGl0b3JcIik7XG5jb25zdCBDb2RlRnJhbWUgPSBmdW5jdGlvbiBDb2RlRnJhbWUocGFyYW0pIHtcbiAgICBsZXQgeyBzdGFja0ZyYW1lLCBjb2RlRnJhbWUgfSA9IHBhcmFtO1xuICAgIC8vIFN0cmlwIGxlYWRpbmcgc3BhY2VzIG91dCBvZiB0aGUgY29kZSBmcmFtZTpcbiAgICBjb25zdCBmb3JtYXR0ZWRGcmFtZSA9IF9yZWFjdC51c2VNZW1vKCgpPT57XG4gICAgICAgIGNvbnN0IGxpbmVzID0gY29kZUZyYW1lLnNwbGl0KC9cXHI/XFxuL2cpO1xuICAgICAgICBjb25zdCBwcmVmaXhMZW5ndGggPSBsaW5lcy5tYXAoKGxpbmUpPT4vXj4/ICtcXGQrICtcXHwgWyBdKy8uZXhlYygoMCwgX3N0cmlwYW5zaS5kZWZhdWx0KShsaW5lKSkgPT09IG51bGwgPyBudWxsIDogL14+PyArXFxkKyArXFx8ICggKikvLmV4ZWMoKDAsIF9zdHJpcGFuc2kuZGVmYXVsdCkobGluZSkpKS5maWx0ZXIoQm9vbGVhbikubWFwKCh2KT0+di5wb3AoKSkucmVkdWNlKChjLCBuKT0+aXNOYU4oYykgPyBuLmxlbmd0aCA6IE1hdGgubWluKGMsIG4ubGVuZ3RoKSwgTmFOKTtcbiAgICAgICAgaWYgKHByZWZpeExlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IHAgPSBcIiBcIi5yZXBlYXQocHJlZml4TGVuZ3RoKTtcbiAgICAgICAgICAgIHJldHVybiBsaW5lcy5tYXAoKGxpbmUsIGEpPT5+KGEgPSBsaW5lLmluZGV4T2YoXCJ8XCIpKSA/IGxpbmUuc3Vic3RyaW5nKDAsIGEpICsgbGluZS5zdWJzdHJpbmcoYSkucmVwbGFjZShwLCBcIlwiKSA6IGxpbmUpLmpvaW4oXCJcXG5cIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxpbmVzLmpvaW4oXCJcXG5cIik7XG4gICAgfSwgW1xuICAgICAgICBjb2RlRnJhbWVcbiAgICBdKTtcbiAgICBjb25zdCBkZWNvZGVkID0gX3JlYWN0LnVzZU1lbW8oKCk9PntcbiAgICAgICAgcmV0dXJuIF9hbnNlci5kZWZhdWx0LmFuc2lUb0pzb24oZm9ybWF0dGVkRnJhbWUsIHtcbiAgICAgICAgICAgIGpzb246IHRydWUsXG4gICAgICAgICAgICB1c2VfY2xhc3NlczogdHJ1ZSxcbiAgICAgICAgICAgIHJlbW92ZV9lbXB0eTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICB9LCBbXG4gICAgICAgIGZvcm1hdHRlZEZyYW1lXG4gICAgXSk7XG4gICAgY29uc3Qgb3BlbiA9ICgwLCBfdXNlb3BlbmluZWRpdG9yLnVzZU9wZW5JbkVkaXRvcikoe1xuICAgICAgICBmaWxlOiBzdGFja0ZyYW1lLmZpbGUsXG4gICAgICAgIGxpbmVOdW1iZXI6IHN0YWNrRnJhbWUubGluZU51bWJlcixcbiAgICAgICAgY29sdW1uOiBzdGFja0ZyYW1lLmNvbHVtblxuICAgIH0pO1xuICAgIC8vIFRPRE86IG1ha2UgdGhlIGNhcmV0IGFic29sdXRlXG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLW5leHRqcy1jb2RlZnJhbWVcIjogdHJ1ZSxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcInBcIiwge1xuICAgICAgICAgICAgICAgICAgICByb2xlOiBcImxpbmtcIixcbiAgICAgICAgICAgICAgICAgICAgb25DbGljazogb3BlbixcbiAgICAgICAgICAgICAgICAgICAgdGFiSW5kZXg6IDEsXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIkNsaWNrIHRvIG9wZW4gaW4geW91ciBlZGl0b3JcIixcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwic3BhblwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9zdGFja2ZyYW1lLmdldEZyYW1lU291cmNlKShzdGFja0ZyYW1lKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgQCBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2tGcmFtZS5tZXRob2ROYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcInN2Z1wiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94OiBcIjAgMCAyNCAyNFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogXCIyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBhdGhcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZDogXCJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwicG9seWxpbmVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzOiBcIjE1IDMgMjEgMyAyMSA5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJsaW5lXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgxOiBcIjEwXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5MTogXCIxNFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDI6IFwiMjFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkyOiBcIjNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwicHJlXCIsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogZGVjb2RlZC5tYXAoKGVudHJ5LCBpbmRleCk9Pi8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGVudHJ5LmZnID8gXCJ2YXIoLS1jb2xvci1cIiArIGVudHJ5LmZnICsgXCIpXCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uZW50cnkuZGVjb3JhdGlvbiA9PT0gXCJib2xkXCIgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDgwMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gOiBlbnRyeS5kZWNvcmF0aW9uID09PSBcIml0YWxpY1wiID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U3R5bGU6IFwiaXRhbGljXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IGVudHJ5LmNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgfSwgXCJmcmFtZS1cIiArIGluZGV4KSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9KTtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvZGVGcmFtZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiQ29kZUZyYW1lIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJfanN4cnVudGltZSIsIl9hbnNlciIsIl8iLCJfcmVhY3QiLCJfc3RyaXBhbnNpIiwiX3N0YWNrZnJhbWUiLCJfdXNlb3BlbmluZWRpdG9yIiwicGFyYW0iLCJzdGFja0ZyYW1lIiwiY29kZUZyYW1lIiwiZm9ybWF0dGVkRnJhbWUiLCJ1c2VNZW1vIiwibGluZXMiLCJzcGxpdCIsInByZWZpeExlbmd0aCIsIm1hcCIsImxpbmUiLCJleGVjIiwiZGVmYXVsdCIsImZpbHRlciIsIkJvb2xlYW4iLCJ2IiwicG9wIiwicmVkdWNlIiwiYyIsIm4iLCJpc05hTiIsImxlbmd0aCIsIk1hdGgiLCJtaW4iLCJOYU4iLCJwIiwicmVwZWF0IiwiYSIsImluZGV4T2YiLCJzdWJzdHJpbmciLCJyZXBsYWNlIiwiam9pbiIsImRlY29kZWQiLCJhbnNpVG9Kc29uIiwianNvbiIsInVzZV9jbGFzc2VzIiwicmVtb3ZlX2VtcHR5Iiwib3BlbiIsInVzZU9wZW5JbkVkaXRvciIsImZpbGUiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwianN4cyIsImNoaWxkcmVuIiwianN4Iiwicm9sZSIsIm9uQ2xpY2siLCJ0YWJJbmRleCIsInRpdGxlIiwiZ2V0RnJhbWVTb3VyY2UiLCJtZXRob2ROYW1lIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiZCIsInBvaW50cyIsIngxIiwieTEiLCJ4MiIsInkyIiwiZW50cnkiLCJpbmRleCIsInN0eWxlIiwiY29sb3IiLCJmZyIsInVuZGVmaW5lZCIsImRlY29yYXRpb24iLCJmb250V2VpZ2h0IiwiZm9udFN0eWxlIiwiY29udGVudCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js ***! \***********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return _CodeFrame.CodeFrame;\n }\n}));\nconst _CodeFrame = __webpack_require__(/*! ./CodeFrame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCw2Q0FBNEM7SUFDeENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DLFdBQVdDLFNBQVM7SUFDL0I7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNRCxhQUFhRSxtQkFBT0EsQ0FBQyxrSUFBYTtBQUV4QyxJQUFJLENBQUMsT0FBT04sUUFBUU8sT0FBTyxLQUFLLGNBQWUsT0FBT1AsUUFBUU8sT0FBTyxLQUFLLFlBQVlQLFFBQVFPLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT1AsUUFBUU8sT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS1YsT0FBT0MsY0FBYyxDQUFDQyxRQUFRTyxPQUFPLEVBQUUsY0FBYztRQUFFTixPQUFPO0lBQUs7SUFDbkVILE9BQU9XLE1BQU0sQ0FBQ1QsUUFBUU8sT0FBTyxFQUFFUDtJQUMvQlUsT0FBT1YsT0FBTyxHQUFHQSxRQUFRTyxPQUFPO0FBQ2xDLEVBRUEsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0NvZGVGcmFtZS9pbmRleC5qcz83MGY4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQ29kZUZyYW1lXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfQ29kZUZyYW1lLkNvZGVGcmFtZTtcbiAgICB9XG59KTtcbmNvbnN0IF9Db2RlRnJhbWUgPSByZXF1aXJlKFwiLi9Db2RlRnJhbWVcIik7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJfQ29kZUZyYW1lIiwiQ29kZUZyYW1lIiwicmVxdWlyZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js": /*!************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js ***! \************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-codeframe] {\\n overflow: auto;\\n border-radius: var(--size-gap-half);\\n background-color: var(--color-ansi-bg);\\n color: var(--color-ansi-fg);\\n }\\n [data-nextjs-codeframe]::selection,\\n [data-nextjs-codeframe] *::selection {\\n background-color: var(--color-ansi-selection);\\n }\\n [data-nextjs-codeframe] * {\\n color: inherit;\\n background-color: transparent;\\n font-family: var(--font-stack-monospace);\\n }\\n\\n [data-nextjs-codeframe] > * {\\n margin: 0;\\n padding: calc(var(--size-gap) + var(--size-gap-half))\\n calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n [data-nextjs-codeframe] > div {\\n display: inline-block;\\n width: auto;\\n min-width: 100%;\\n border-bottom: 1px solid var(--color-ansi-bright-black);\\n }\\n [data-nextjs-codeframe] > div > p {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n cursor: pointer;\\n margin: 0;\\n }\\n [data-nextjs-codeframe] > div > p:hover {\\n text-decoration: underline dotted;\\n }\\n [data-nextjs-codeframe] div > p > svg {\\n width: auto;\\n height: 1em;\\n margin-left: 8px;\\n }\\n [data-nextjs-codeframe] div > pre {\\n overflow: hidden;\\n display: inline-block;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMENBQXlDO0lBQ3JDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUNBQWlDQyxtQkFBT0EsQ0FBQyw4SEFBK0M7QUFDOUYsTUFBTUMsZ0JBQWdCRCxtQkFBT0EsQ0FBQyx5SUFBNkI7QUFDM0QsU0FBU0U7SUFDTCxNQUFNQyxPQUFPSiwrQkFBK0JLLENBQUMsQ0FBQztRQUMxQztLQUNIO0lBQ0RGLGtCQUFrQjtRQUNkLE9BQU9DO0lBQ1g7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsTUFBTUwsU0FBUyxDQUFDLEdBQUdHLGNBQWNJLElBQUksRUFBRUg7QUFFdkMsSUFBSSxDQUFDLE9BQU9SLFFBQVFZLE9BQU8sS0FBSyxjQUFlLE9BQU9aLFFBQVFZLE9BQU8sS0FBSyxZQUFZWixRQUFRWSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9aLFFBQVFZLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktmLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVksT0FBTyxFQUFFLGNBQWM7UUFBRVgsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0IsTUFBTSxDQUFDZCxRQUFRWSxPQUFPLEVBQUVaO0lBQy9CZSxPQUFPZixPQUFPLEdBQUdBLFFBQVFZLE9BQU87QUFDbEMsRUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL3N0eWxlcy5qcz9kYmFiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwic3R5bGVzXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzdHlsZXM7XG4gICAgfVxufSk7XG5jb25zdCBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlXCIpO1xuY29uc3QgX25vb3B0ZW1wbGF0ZSA9IHJlcXVpcmUoXCIuLi8uLi9oZWxwZXJzL25vb3AtdGVtcGxhdGVcIik7XG5mdW5jdGlvbiBfdGVtcGxhdGVPYmplY3QoKSB7XG4gICAgY29uc3QgZGF0YSA9IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZS5fKFtcbiAgICAgICAgXCJcXG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdIHtcXG4gICAgb3ZlcmZsb3c6IGF1dG87XFxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNpemUtZ2FwLWhhbGYpO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLWJnKTtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFuc2ktZmcpO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWNvZGVmcmFtZV06OnNlbGVjdGlvbixcXG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdICo6OnNlbGVjdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFuc2ktc2VsZWN0aW9uKTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdICoge1xcbiAgICBjb2xvcjogaW5oZXJpdDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN0YWNrLW1vbm9zcGFjZSk7XFxuICB9XFxuXFxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSA+ICoge1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc2l6ZS1nYXApICsgdmFyKC0tc2l6ZS1nYXAtaGFsZikpXFxuICAgICAgY2FsYyh2YXIoLS1zaXplLWdhcC1kb3VibGUpICsgdmFyKC0tc2l6ZS1nYXAtaGFsZikpO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWNvZGVmcmFtZV0gPiBkaXYge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgICBtaW4td2lkdGg6IDEwMCU7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1hbnNpLWJyaWdodC1ibGFjayk7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSA+IGRpdiA+IHAge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgbWFyZ2luOiAwO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWNvZGVmcmFtZV0gPiBkaXYgPiBwOmhvdmVyIHtcXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWNvZGVmcmFtZV0gZGl2ID4gcCA+IHN2ZyB7XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgICBoZWlnaHQ6IDFlbTtcXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdIGRpdiA+IHByZSB7XFxuICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIH1cXG5cIlxuICAgIF0pO1xuICAgIF90ZW1wbGF0ZU9iamVjdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9O1xuICAgIHJldHVybiBkYXRhO1xufVxuY29uc3Qgc3R5bGVzID0gKDAsIF9ub29wdGVtcGxhdGUubm9vcCkoX3RlbXBsYXRlT2JqZWN0KCkpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInN0eWxlcyIsIl90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSIsInJlcXVpcmUiLCJfbm9vcHRlbXBsYXRlIiwiX3RlbXBsYXRlT2JqZWN0IiwiZGF0YSIsIl8iLCJub29wIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js ***! \*********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Dialog\", ({\n enumerable: true,\n get: function() {\n return Dialog;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _useonclickoutside = __webpack_require__(/*! ../../hooks/use-on-click-outside */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js\");\nconst Dialog = function Dialog(param) {\n let { children, type, onClose, ...props } = param;\n const [dialog, setDialog] = _react.useState(null);\n const [role, setRole] = _react.useState(typeof document !== \"undefined\" && document.hasFocus() ? \"dialog\" : undefined);\n const onDialog = _react.useCallback((node)=>{\n setDialog(node);\n }, []);\n (0, _useonclickoutside.useOnClickOutside)(dialog, onClose);\n // Make HTMLElements with `role=link` accessible to be triggered by the\n // keyboard, i.e. [Enter].\n _react.useEffect(()=>{\n if (dialog == null) {\n return;\n }\n const root = dialog.getRootNode();\n // Always true, but we do this for TypeScript:\n if (!(root instanceof ShadowRoot)) {\n return;\n }\n const shadowRoot = root;\n function handler(e) {\n const el = shadowRoot.activeElement;\n if (e.key === \"Enter\" && el instanceof HTMLElement && el.getAttribute(\"role\") === \"link\") {\n e.preventDefault();\n e.stopPropagation();\n el.click();\n }\n }\n function handleFocus() {\n // safari will force itself as the active application when a background page triggers any sort of autofocus\n // this is a workaround to only set the dialog role if the document has focus\n setRole(document.hasFocus() ? \"dialog\" : undefined);\n }\n shadowRoot.addEventListener(\"keydown\", handler);\n window.addEventListener(\"focus\", handleFocus);\n window.addEventListener(\"blur\", handleFocus);\n return ()=>{\n shadowRoot.removeEventListener(\"keydown\", handler);\n window.removeEventListener(\"focus\", handleFocus);\n window.removeEventListener(\"blur\", handleFocus);\n };\n }, [\n dialog\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n ref: onDialog,\n \"data-nextjs-dialog\": true,\n tabIndex: -1,\n role: role,\n \"aria-labelledby\": props[\"aria-labelledby\"],\n \"aria-describedby\": props[\"aria-describedby\"],\n \"aria-modal\": \"true\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-banner\": true,\n className: \"banner-\" + type\n }),\n children\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Dialog.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMENBQXlDO0lBQ3JDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCwwQkFBMEJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUkscUJBQXFCSixtQkFBT0EsQ0FBQyxtSkFBa0M7QUFDckUsTUFBTUYsU0FBUyxTQUFTQSxPQUFPTyxLQUFLO0lBQ2hDLElBQUksRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQUVDLE9BQU8sRUFBRSxHQUFHQyxPQUFPLEdBQUdKO0lBQzVDLE1BQU0sQ0FBQ0ssUUFBUUMsVUFBVSxHQUFHVCxPQUFPVSxRQUFRLENBQUM7SUFDNUMsTUFBTSxDQUFDQyxNQUFNQyxRQUFRLEdBQUdaLE9BQU9VLFFBQVEsQ0FBQyxPQUFPRyxhQUFhLGVBQWVBLFNBQVNDLFFBQVEsS0FBSyxXQUFXQztJQUM1RyxNQUFNQyxXQUFXaEIsT0FBT2lCLFdBQVcsQ0FBQyxDQUFDQztRQUNqQ1QsVUFBVVM7SUFDZCxHQUFHLEVBQUU7SUFDSixJQUFHaEIsbUJBQW1CaUIsaUJBQWlCLEVBQUVYLFFBQVFGO0lBQ2xELHVFQUF1RTtJQUN2RSwwQkFBMEI7SUFDMUJOLE9BQU9vQixTQUFTLENBQUM7UUFDYixJQUFJWixVQUFVLE1BQU07WUFDaEI7UUFDSjtRQUNBLE1BQU1hLE9BQU9iLE9BQU9jLFdBQVc7UUFDL0IsOENBQThDO1FBQzlDLElBQUksQ0FBRUQsQ0FBQUEsZ0JBQWdCRSxVQUFTLEdBQUk7WUFDL0I7UUFDSjtRQUNBLE1BQU1DLGFBQWFIO1FBQ25CLFNBQVNJLFFBQVFDLENBQUM7WUFDZCxNQUFNQyxLQUFLSCxXQUFXSSxhQUFhO1lBQ25DLElBQUlGLEVBQUVHLEdBQUcsS0FBSyxXQUFXRixjQUFjRyxlQUFlSCxHQUFHSSxZQUFZLENBQUMsWUFBWSxRQUFRO2dCQUN0RkwsRUFBRU0sY0FBYztnQkFDaEJOLEVBQUVPLGVBQWU7Z0JBQ2pCTixHQUFHTyxLQUFLO1lBQ1o7UUFDSjtRQUNBLFNBQVNDO1lBQ0wsMkdBQTJHO1lBQzNHLDZFQUE2RTtZQUM3RXZCLFFBQVFDLFNBQVNDLFFBQVEsS0FBSyxXQUFXQztRQUM3QztRQUNBUyxXQUFXWSxnQkFBZ0IsQ0FBQyxXQUFXWDtRQUN2Q1ksT0FBT0QsZ0JBQWdCLENBQUMsU0FBU0Q7UUFDakNFLE9BQU9ELGdCQUFnQixDQUFDLFFBQVFEO1FBQ2hDLE9BQU87WUFDSFgsV0FBV2MsbUJBQW1CLENBQUMsV0FBV2I7WUFDMUNZLE9BQU9DLG1CQUFtQixDQUFDLFNBQVNIO1lBQ3BDRSxPQUFPQyxtQkFBbUIsQ0FBQyxRQUFRSDtRQUN2QztJQUNKLEdBQUc7UUFDQzNCO0tBQ0g7SUFDRCxPQUFxQixXQUFILEdBQUksSUFBR1QsWUFBWXdDLElBQUksRUFBRSxPQUFPO1FBQzlDQyxLQUFLeEI7UUFDTCxzQkFBc0I7UUFDdEJ5QixVQUFVLENBQUM7UUFDWDlCLE1BQU1BO1FBQ04sbUJBQW1CSixLQUFLLENBQUMsa0JBQWtCO1FBQzNDLG9CQUFvQkEsS0FBSyxDQUFDLG1CQUFtQjtRQUM3QyxjQUFjO1FBQ2RILFVBQVU7WUFDTixXQUFXLEdBQUksSUFBR0wsWUFBWTJDLEdBQUcsRUFBRSxPQUFPO2dCQUN0Qyw2QkFBNkI7Z0JBQzdCQyxXQUFXLFlBQVl0QztZQUMzQjtZQUNBRDtTQUNIO0lBQ0w7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPWixRQUFRb0QsT0FBTyxLQUFLLGNBQWUsT0FBT3BELFFBQVFvRCxPQUFPLEtBQUssWUFBWXBELFFBQVFvRCxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wRCxRQUFRb0QsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZELE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9ELE9BQU8sRUFBRSxjQUFjO1FBQUVuRCxPQUFPO0lBQUs7SUFDbkVILE9BQU93RCxNQUFNLENBQUN0RCxRQUFRb0QsT0FBTyxFQUFFcEQ7SUFDL0J1RCxPQUFPdkQsT0FBTyxHQUFHQSxRQUFRb0QsT0FBTztBQUNsQyxFQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nLmpzP2ZkOTMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJEaWFsb2dcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERpYWxvZztcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF91c2VvbmNsaWNrb3V0c2lkZSA9IHJlcXVpcmUoXCIuLi8uLi9ob29rcy91c2Utb24tY2xpY2stb3V0c2lkZVwiKTtcbmNvbnN0IERpYWxvZyA9IGZ1bmN0aW9uIERpYWxvZyhwYXJhbSkge1xuICAgIGxldCB7IGNoaWxkcmVuLCB0eXBlLCBvbkNsb3NlLCAuLi5wcm9wcyB9ID0gcGFyYW07XG4gICAgY29uc3QgW2RpYWxvZywgc2V0RGlhbG9nXSA9IF9yZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbcm9sZSwgc2V0Um9sZV0gPSBfcmVhY3QudXNlU3RhdGUodHlwZW9mIGRvY3VtZW50ICE9PSBcInVuZGVmaW5lZFwiICYmIGRvY3VtZW50Lmhhc0ZvY3VzKCkgPyBcImRpYWxvZ1wiIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCBvbkRpYWxvZyA9IF9yZWFjdC51c2VDYWxsYmFjaygobm9kZSk9PntcbiAgICAgICAgc2V0RGlhbG9nKG5vZGUpO1xuICAgIH0sIFtdKTtcbiAgICAoMCwgX3VzZW9uY2xpY2tvdXRzaWRlLnVzZU9uQ2xpY2tPdXRzaWRlKShkaWFsb2csIG9uQ2xvc2UpO1xuICAgIC8vIE1ha2UgSFRNTEVsZW1lbnRzIHdpdGggYHJvbGU9bGlua2AgYWNjZXNzaWJsZSB0byBiZSB0cmlnZ2VyZWQgYnkgdGhlXG4gICAgLy8ga2V5Ym9hcmQsIGkuZS4gW0VudGVyXS5cbiAgICBfcmVhY3QudXNlRWZmZWN0KCgpPT57XG4gICAgICAgIGlmIChkaWFsb2cgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJvb3QgPSBkaWFsb2cuZ2V0Um9vdE5vZGUoKTtcbiAgICAgICAgLy8gQWx3YXlzIHRydWUsIGJ1dCB3ZSBkbyB0aGlzIGZvciBUeXBlU2NyaXB0OlxuICAgICAgICBpZiAoIShyb290IGluc3RhbmNlb2YgU2hhZG93Um9vdCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzaGFkb3dSb290ID0gcm9vdDtcbiAgICAgICAgZnVuY3Rpb24gaGFuZGxlcihlKSB7XG4gICAgICAgICAgICBjb25zdCBlbCA9IHNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGlmIChlLmtleSA9PT0gXCJFbnRlclwiICYmIGVsIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgJiYgZWwuZ2V0QXR0cmlidXRlKFwicm9sZVwiKSA9PT0gXCJsaW5rXCIpIHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBlbC5jbGljaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzKCkge1xuICAgICAgICAgICAgLy8gc2FmYXJpIHdpbGwgZm9yY2UgaXRzZWxmIGFzIHRoZSBhY3RpdmUgYXBwbGljYXRpb24gd2hlbiBhIGJhY2tncm91bmQgcGFnZSB0cmlnZ2VycyBhbnkgc29ydCBvZiBhdXRvZm9jdXNcbiAgICAgICAgICAgIC8vIHRoaXMgaXMgYSB3b3JrYXJvdW5kIHRvIG9ubHkgc2V0IHRoZSBkaWFsb2cgcm9sZSBpZiB0aGUgZG9jdW1lbnQgaGFzIGZvY3VzXG4gICAgICAgICAgICBzZXRSb2xlKGRvY3VtZW50Lmhhc0ZvY3VzKCkgPyBcImRpYWxvZ1wiIDogdW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgICAgICBzaGFkb3dSb290LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGhhbmRsZXIpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3VzXCIsIGhhbmRsZUZvY3VzKTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJibHVyXCIsIGhhbmRsZUZvY3VzKTtcbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICBzaGFkb3dSb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGhhbmRsZXIpO1xuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmb2N1c1wiLCBoYW5kbGVGb2N1cyk7XG4gICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImJsdXJcIiwgaGFuZGxlRm9jdXMpO1xuICAgICAgICB9O1xuICAgIH0sIFtcbiAgICAgICAgZGlhbG9nXG4gICAgXSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiZGl2XCIsIHtcbiAgICAgICAgcmVmOiBvbkRpYWxvZyxcbiAgICAgICAgXCJkYXRhLW5leHRqcy1kaWFsb2dcIjogdHJ1ZSxcbiAgICAgICAgdGFiSW5kZXg6IC0xLFxuICAgICAgICByb2xlOiByb2xlLFxuICAgICAgICBcImFyaWEtbGFiZWxsZWRieVwiOiBwcm9wc1tcImFyaWEtbGFiZWxsZWRieVwiXSxcbiAgICAgICAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IHByb3BzW1wiYXJpYS1kZXNjcmliZWRieVwiXSxcbiAgICAgICAgXCJhcmlhLW1vZGFsXCI6IFwidHJ1ZVwiLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgXCJkYXRhLW5leHRqcy1kaWFsb2ctYmFubmVyXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcImJhbm5lci1cIiArIHR5cGVcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2hpbGRyZW5cbiAgICAgICAgXVxuICAgIH0pO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9RGlhbG9nLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJEaWFsb2ciLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl91c2VvbmNsaWNrb3V0c2lkZSIsInBhcmFtIiwiY2hpbGRyZW4iLCJ0eXBlIiwib25DbG9zZSIsInByb3BzIiwiZGlhbG9nIiwic2V0RGlhbG9nIiwidXNlU3RhdGUiLCJyb2xlIiwic2V0Um9sZSIsImRvY3VtZW50IiwiaGFzRm9jdXMiLCJ1bmRlZmluZWQiLCJvbkRpYWxvZyIsInVzZUNhbGxiYWNrIiwibm9kZSIsInVzZU9uQ2xpY2tPdXRzaWRlIiwidXNlRWZmZWN0Iiwicm9vdCIsImdldFJvb3ROb2RlIiwiU2hhZG93Um9vdCIsInNoYWRvd1Jvb3QiLCJoYW5kbGVyIiwiZSIsImVsIiwiYWN0aXZlRWxlbWVudCIsImtleSIsIkhUTUxFbGVtZW50IiwiZ2V0QXR0cmlidXRlIiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJjbGljayIsImhhbmRsZUZvY3VzIiwiYWRkRXZlbnRMaXN0ZW5lciIsIndpbmRvdyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJqc3hzIiwicmVmIiwidGFiSW5kZXgiLCJqc3giLCJjbGFzc05hbWUiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js ***! \*************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogBody\", ({\n enumerable: true,\n get: function() {\n return DialogBody;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogBody = function DialogBody(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-body\": true,\n className: className,\n children: children\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogBody.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0JvZHkuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDhDQUE2QztJQUN6Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDRCQUE0QkMsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1DLGNBQWNELG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRSxTQUFTLFdBQVcsR0FBR0gsMEJBQTBCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1GLGFBQWEsU0FBU0EsV0FBV00sS0FBSztJQUN4QyxJQUFJLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxFQUFFLEdBQUdGO0lBQzlCLE9BQXFCLFdBQUgsR0FBSSxJQUFHSCxZQUFZTSxHQUFHLEVBQUUsT0FBTztRQUM3QywyQkFBMkI7UUFDM0JELFdBQVdBO1FBQ1hELFVBQVVBO0lBQ2Q7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPWCxRQUFRYyxPQUFPLEtBQUssY0FBZSxPQUFPZCxRQUFRYyxPQUFPLEtBQUssWUFBWWQsUUFBUWMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZCxRQUFRYyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLakIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRYyxPQUFPLEVBQUUsY0FBYztRQUFFYixPQUFPO0lBQUs7SUFDbkVILE9BQU9rQixNQUFNLENBQUNoQixRQUFRYyxPQUFPLEVBQUVkO0lBQy9CaUIsT0FBT2pCLE9BQU8sR0FBR0EsUUFBUWMsT0FBTztBQUNsQyxFQUVBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nQm9keS5qcz9hMTBhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRGlhbG9nQm9keVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRGlhbG9nQm9keTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IERpYWxvZ0JvZHkgPSBmdW5jdGlvbiBEaWFsb2dCb2R5KHBhcmFtKSB7XG4gICAgbGV0IHsgY2hpbGRyZW4sIGNsYXNzTmFtZSB9ID0gcGFyYW07XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJkaXZcIiwge1xuICAgICAgICBcImRhdGEtbmV4dGpzLWRpYWxvZy1ib2R5XCI6IHRydWUsXG4gICAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lLFxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KTtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPURpYWxvZ0JvZHkuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkRpYWxvZ0JvZHkiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsInBhcmFtIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJqc3giLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js": /*!****************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js ***! \****************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogContent\", ({\n enumerable: true,\n get: function() {\n return DialogContent;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogContent = function DialogContent(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-content\": true,\n className: className,\n children: children\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogContent.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0NvbnRlbnQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGlEQUFnRDtJQUM1Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDRCQUE0QkMsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1DLGNBQWNELG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRSxTQUFTLFdBQVcsR0FBR0gsMEJBQTBCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1GLGdCQUFnQixTQUFTQSxjQUFjTSxLQUFLO0lBQzlDLElBQUksRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUUsR0FBR0Y7SUFDOUIsT0FBcUIsV0FBSCxHQUFJLElBQUdILFlBQVlNLEdBQUcsRUFBRSxPQUFPO1FBQzdDLDhCQUE4QjtRQUM5QkQsV0FBV0E7UUFDWEQsVUFBVUE7SUFDZDtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9YLFFBQVFjLE9BQU8sS0FBSyxjQUFlLE9BQU9kLFFBQVFjLE9BQU8sS0FBSyxZQUFZZCxRQUFRYyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9kLFFBQVFjLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktqQixPQUFPQyxjQUFjLENBQUNDLFFBQVFjLE9BQU8sRUFBRSxjQUFjO1FBQUViLE9BQU87SUFBSztJQUNuRUgsT0FBT2tCLE1BQU0sQ0FBQ2hCLFFBQVFjLE9BQU8sRUFBRWQ7SUFDL0JpQixPQUFPakIsT0FBTyxHQUFHQSxRQUFRYyxPQUFPO0FBQ2xDLEVBRUEseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9EaWFsb2dDb250ZW50LmpzPzk1MzYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJEaWFsb2dDb250ZW50XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBEaWFsb2dDb250ZW50O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgRGlhbG9nQ29udGVudCA9IGZ1bmN0aW9uIERpYWxvZ0NvbnRlbnQocGFyYW0pIHtcbiAgICBsZXQgeyBjaGlsZHJlbiwgY2xhc3NOYW1lIH0gPSBwYXJhbTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImRpdlwiLCB7XG4gICAgICAgIFwiZGF0YS1uZXh0anMtZGlhbG9nLWNvbnRlbnRcIjogdHJ1ZSxcbiAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWUsXG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgIH0pO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9RGlhbG9nQ29udGVudC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiRGlhbG9nQ29udGVudCIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwicGFyYW0iLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsImpzeCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js ***! \***************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogHeader\", ({\n enumerable: true,\n get: function() {\n return DialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogHeader = function DialogHeader(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-header\": true,\n className: className,\n children: children\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogHeader.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsZ0RBQStDO0lBQzNDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCwwQkFBMEJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUYsZUFBZSxTQUFTQSxhQUFhTSxLQUFLO0lBQzVDLElBQUksRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUUsR0FBR0Y7SUFDOUIsT0FBcUIsV0FBSCxHQUFJLElBQUdILFlBQVlNLEdBQUcsRUFBRSxPQUFPO1FBQzdDLDZCQUE2QjtRQUM3QkQsV0FBV0E7UUFDWEQsVUFBVUE7SUFDZDtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9YLFFBQVFjLE9BQU8sS0FBSyxjQUFlLE9BQU9kLFFBQVFjLE9BQU8sS0FBSyxZQUFZZCxRQUFRYyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9kLFFBQVFjLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktqQixPQUFPQyxjQUFjLENBQUNDLFFBQVFjLE9BQU8sRUFBRSxjQUFjO1FBQUViLE9BQU87SUFBSztJQUNuRUgsT0FBT2tCLE1BQU0sQ0FBQ2hCLFFBQVFjLE9BQU8sRUFBRWQ7SUFDL0JpQixPQUFPakIsT0FBTyxHQUFHQSxRQUFRYyxPQUFPO0FBQ2xDLEVBRUEsd0NBQXdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9EaWFsb2dIZWFkZXIuanM/ZmJlZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkRpYWxvZ0hlYWRlclwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRGlhbG9nSGVhZGVyO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgRGlhbG9nSGVhZGVyID0gZnVuY3Rpb24gRGlhbG9nSGVhZGVyKHBhcmFtKSB7XG4gICAgbGV0IHsgY2hpbGRyZW4sIGNsYXNzTmFtZSB9ID0gcGFyYW07XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJkaXZcIiwge1xuICAgICAgICBcImRhdGEtbmV4dGpzLWRpYWxvZy1oZWFkZXJcIjogdHJ1ZSxcbiAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWUsXG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgIH0pO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9RGlhbG9nSGVhZGVyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJEaWFsb2dIZWFkZXIiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsInBhcmFtIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJqc3giLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js": /*!********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js ***! \********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Dialog: function() {\n return _Dialog.Dialog;\n },\n DialogBody: function() {\n return _DialogBody.DialogBody;\n },\n DialogContent: function() {\n return _DialogContent.DialogContent;\n },\n DialogHeader: function() {\n return _DialogHeader.DialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _Dialog = __webpack_require__(/*! ./Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\");\nconst _DialogBody = __webpack_require__(/*! ./DialogBody */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\");\nconst _DialogContent = __webpack_require__(/*! ./DialogContent */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\");\nconst _DialogHeader = __webpack_require__(/*! ./DialogHeader */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBTU47QUFDQSxTQUFTTSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJWixPQUFPQyxjQUFjLENBQUNVLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUVIsU0FBUztJQUNiRyxRQUFRO1FBQ0osT0FBT1csUUFBUVgsTUFBTTtJQUN6QjtJQUNBQyxZQUFZO1FBQ1IsT0FBT1csWUFBWVgsVUFBVTtJQUNqQztJQUNBQyxlQUFlO1FBQ1gsT0FBT1csZUFBZVgsYUFBYTtJQUN2QztJQUNBQyxjQUFjO1FBQ1YsT0FBT1csY0FBY1gsWUFBWTtJQUNyQztJQUNBQyxRQUFRO1FBQ0osT0FBT1csUUFBUVgsTUFBTTtJQUN6QjtBQUNKO0FBQ0EsTUFBTU8sVUFBVUssbUJBQU9BLENBQUMseUhBQVU7QUFDbEMsTUFBTUosY0FBY0ksbUJBQU9BLENBQUMsaUlBQWM7QUFDMUMsTUFBTUgsaUJBQWlCRyxtQkFBT0EsQ0FBQyx1SUFBaUI7QUFDaEQsTUFBTUYsZ0JBQWdCRSxtQkFBT0EsQ0FBQyxxSUFBZ0I7QUFDOUMsTUFBTUQsVUFBVUMsbUJBQU9BLENBQUMseUhBQVU7QUFFbEMsSUFBSSxDQUFDLE9BQU9uQixRQUFRb0IsT0FBTyxLQUFLLGNBQWUsT0FBT3BCLFFBQVFvQixPQUFPLEtBQUssWUFBWXBCLFFBQVFvQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wQixRQUFRb0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9CLE9BQU8sRUFBRSxjQUFjO1FBQUVuQixPQUFPO0lBQUs7SUFDbkVILE9BQU93QixNQUFNLENBQUN0QixRQUFRb0IsT0FBTyxFQUFFcEI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUW9CLE9BQU87QUFDbEMsRUFFQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL2luZGV4LmpzPzIzOTMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBEaWFsb2c6IG51bGwsXG4gICAgRGlhbG9nQm9keTogbnVsbCxcbiAgICBEaWFsb2dDb250ZW50OiBudWxsLFxuICAgIERpYWxvZ0hlYWRlcjogbnVsbCxcbiAgICBzdHlsZXM6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgRGlhbG9nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9EaWFsb2cuRGlhbG9nO1xuICAgIH0sXG4gICAgRGlhbG9nQm9keTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfRGlhbG9nQm9keS5EaWFsb2dCb2R5O1xuICAgIH0sXG4gICAgRGlhbG9nQ29udGVudDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfRGlhbG9nQ29udGVudC5EaWFsb2dDb250ZW50O1xuICAgIH0sXG4gICAgRGlhbG9nSGVhZGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9EaWFsb2dIZWFkZXIuRGlhbG9nSGVhZGVyO1xuICAgIH0sXG4gICAgc3R5bGVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zdHlsZXMuc3R5bGVzO1xuICAgIH1cbn0pO1xuY29uc3QgX0RpYWxvZyA9IHJlcXVpcmUoXCIuL0RpYWxvZ1wiKTtcbmNvbnN0IF9EaWFsb2dCb2R5ID0gcmVxdWlyZShcIi4vRGlhbG9nQm9keVwiKTtcbmNvbnN0IF9EaWFsb2dDb250ZW50ID0gcmVxdWlyZShcIi4vRGlhbG9nQ29udGVudFwiKTtcbmNvbnN0IF9EaWFsb2dIZWFkZXIgPSByZXF1aXJlKFwiLi9EaWFsb2dIZWFkZXJcIik7XG5jb25zdCBfc3R5bGVzID0gcmVxdWlyZShcIi4vc3R5bGVzXCIpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJEaWFsb2ciLCJEaWFsb2dCb2R5IiwiRGlhbG9nQ29udGVudCIsIkRpYWxvZ0hlYWRlciIsInN0eWxlcyIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9EaWFsb2ciLCJfRGlhbG9nQm9keSIsIl9EaWFsb2dDb250ZW50IiwiX0RpYWxvZ0hlYWRlciIsIl9zdHlsZXMiLCJyZXF1aXJlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js ***! \*********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog] {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n outline: none;\\n background: white;\\n border-radius: var(--size-gap);\\n box-shadow: 0 var(--size-gap-half) var(--size-gap-double)\\n rgba(0, 0, 0, 0.25);\\n max-height: calc(100% - 56px);\\n overflow-y: hidden;\\n }\\n\\n @media (max-height: 812px) {\\n [data-nextjs-dialog-overlay] {\\n max-height: calc(100% - 15px);\\n }\\n }\\n\\n @media (min-width: 576px) {\\n [data-nextjs-dialog] {\\n max-width: 540px;\\n box-shadow: 0 var(--size-gap) var(--size-gap-quad) rgba(0, 0, 0, 0.25);\\n }\\n }\\n\\n @media (min-width: 768px) {\\n [data-nextjs-dialog] {\\n max-width: 720px;\\n }\\n }\\n\\n @media (min-width: 992px) {\\n [data-nextjs-dialog] {\\n max-width: 960px;\\n }\\n }\\n\\n [data-nextjs-dialog-banner] {\\n position: relative;\\n }\\n [data-nextjs-dialog-banner].banner-warning {\\n border-color: var(--color-ansi-yellow);\\n }\\n [data-nextjs-dialog-banner].banner-error {\\n border-color: var(--color-ansi-red);\\n }\\n\\n [data-nextjs-dialog-banner]::after {\\n z-index: 2;\\n content: '';\\n position: absolute;\\n top: 0;\\n right: 0;\\n width: 100%;\\n /* banner width: */\\n border-top-width: var(--size-gap-half);\\n border-bottom-width: 0;\\n border-top-style: solid;\\n border-bottom-style: solid;\\n border-top-color: inherit;\\n border-bottom-color: transparent;\\n }\\n\\n [data-nextjs-dialog-content] {\\n overflow-y: auto;\\n border: none;\\n margin: 0;\\n /* calc(padding + banner width offset) */\\n padding: calc(var(--size-gap-double) + var(--size-gap-half))\\n var(--size-gap-double);\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-header] {\\n flex-shrink: 0;\\n margin-bottom: var(--size-gap-double);\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-body] {\\n position: relative;\\n flex: 1 1 auto;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMENBQXlDO0lBQ3JDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUNBQWlDQyxtQkFBT0EsQ0FBQyw4SEFBK0M7QUFDOUYsTUFBTUMsZ0JBQWdCRCxtQkFBT0EsQ0FBQyx5SUFBNkI7QUFDM0QsU0FBU0U7SUFDTCxNQUFNQyxPQUFPSiwrQkFBK0JLLENBQUMsQ0FBQztRQUMxQztLQUNIO0lBQ0RGLGtCQUFrQjtRQUNkLE9BQU9DO0lBQ1g7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsTUFBTUwsU0FBUyxDQUFDLEdBQUdHLGNBQWNJLElBQUksRUFBRUg7QUFFdkMsSUFBSSxDQUFDLE9BQU9SLFFBQVFZLE9BQU8sS0FBSyxjQUFlLE9BQU9aLFFBQVFZLE9BQU8sS0FBSyxZQUFZWixRQUFRWSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9aLFFBQVFZLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktmLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVksT0FBTyxFQUFFLGNBQWM7UUFBRVgsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0IsTUFBTSxDQUFDZCxRQUFRWSxPQUFPLEVBQUVaO0lBQy9CZSxPQUFPZixPQUFPLEdBQUdBLFFBQVFZLE9BQU87QUFDbEMsRUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL3N0eWxlcy5qcz82OGI5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwic3R5bGVzXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzdHlsZXM7XG4gICAgfVxufSk7XG5jb25zdCBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlXCIpO1xuY29uc3QgX25vb3B0ZW1wbGF0ZSA9IHJlcXVpcmUoXCIuLi8uLi9oZWxwZXJzL25vb3AtdGVtcGxhdGVcIik7XG5mdW5jdGlvbiBfdGVtcGxhdGVPYmplY3QoKSB7XG4gICAgY29uc3QgZGF0YSA9IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZS5fKFtcbiAgICAgICAgXCJcXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ddIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XFxuICAgIG91dGxpbmU6IG5vbmU7XFxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zaXplLWdhcCk7XFxuICAgIGJveC1zaGFkb3c6IDAgdmFyKC0tc2l6ZS1nYXAtaGFsZikgdmFyKC0tc2l6ZS1nYXAtZG91YmxlKVxcbiAgICAgIHJnYmEoMCwgMCwgMCwgMC4yNSk7XFxuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDU2cHgpO1xcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XFxuICB9XFxuXFxuICBAbWVkaWEgKG1heC1oZWlnaHQ6IDgxMnB4KSB7XFxuICAgIFtkYXRhLW5leHRqcy1kaWFsb2ctb3ZlcmxheV0ge1xcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDE1cHgpO1xcbiAgICB9XFxuICB9XFxuXFxuICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcXG4gICAgW2RhdGEtbmV4dGpzLWRpYWxvZ10ge1xcbiAgICAgIG1heC13aWR0aDogNTQwcHg7XFxuICAgICAgYm94LXNoYWRvdzogMCB2YXIoLS1zaXplLWdhcCkgdmFyKC0tc2l6ZS1nYXAtcXVhZCkgcmdiYSgwLCAwLCAwLCAwLjI1KTtcXG4gICAgfVxcbiAgfVxcblxcbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XFxuICAgIFtkYXRhLW5leHRqcy1kaWFsb2ddIHtcXG4gICAgICBtYXgtd2lkdGg6IDcyMHB4O1xcbiAgICB9XFxuICB9XFxuXFxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcXG4gICAgW2RhdGEtbmV4dGpzLWRpYWxvZ10ge1xcbiAgICAgIG1heC13aWR0aDogOTYwcHg7XFxuICAgIH1cXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctYmFubmVyXSB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctYmFubmVyXS5iYW5uZXItd2FybmluZyB7XFxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYW5zaS15ZWxsb3cpO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1iYW5uZXJdLmJhbm5lci1lcnJvciB7XFxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYW5zaS1yZWQpO1xcbiAgfVxcblxcbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1iYW5uZXJdOjphZnRlciB7XFxuICAgIHotaW5kZXg6IDI7XFxuICAgIGNvbnRlbnQ6ICcnO1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHRvcDogMDtcXG4gICAgcmlnaHQ6IDA7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICAvKiBiYW5uZXIgd2lkdGg6ICovXFxuICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLXNpemUtZ2FwLWhhbGYpO1xcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcXG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7XFxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgfVxcblxcbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1jb250ZW50XSB7XFxuICAgIG92ZXJmbG93LXk6IGF1dG87XFxuICAgIGJvcmRlcjogbm9uZTtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICAvKiBjYWxjKHBhZGRpbmcgKyBiYW5uZXIgd2lkdGggb2Zmc2V0KSAqL1xcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNpemUtZ2FwLWRvdWJsZSkgKyB2YXIoLS1zaXplLWdhcC1oYWxmKSlcXG4gICAgICB2YXIoLS1zaXplLWdhcC1kb3VibGUpO1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWNvbnRlbnRdID4gW2RhdGEtbmV4dGpzLWRpYWxvZy1oZWFkZXJdIHtcXG4gICAgZmxleC1zaHJpbms6IDA7XFxuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtZ2FwLWRvdWJsZSk7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWNvbnRlbnRdID4gW2RhdGEtbmV4dGpzLWRpYWxvZy1ib2R5XSB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgZmxleDogMSAxIGF1dG87XFxuICB9XFxuXCJcbiAgICBdKTtcbiAgICBfdGVtcGxhdGVPYmplY3QgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfTtcbiAgICByZXR1cm4gZGF0YTtcbn1cbmNvbnN0IHN0eWxlcyA9ICgwLCBfbm9vcHRlbXBsYXRlLm5vb3ApKF90ZW1wbGF0ZU9iamVjdCgpKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJzdHlsZXMiLCJfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UiLCJyZXF1aXJlIiwiX25vb3B0ZW1wbGF0ZSIsIl90ZW1wbGF0ZU9iamVjdCIsImRhdGEiLCJfIiwibm9vcCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js": /*!***************************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js ***! \***************************************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"LeftRightDialogHeader\", ({\n enumerable: true,\n get: function() {\n return LeftRightDialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _CloseIcon = __webpack_require__(/*! ../../icons/CloseIcon */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\");\nconst LeftRightDialogHeader = function LeftRightDialogHeader(param) {\n let { children, className, previous, next, close } = param;\n const buttonLeft = _react.useRef(null);\n const buttonRight = _react.useRef(null);\n const buttonClose = _react.useRef(null);\n const [nav, setNav] = _react.useState(null);\n const onNav = _react.useCallback((el)=>{\n setNav(el);\n }, []);\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n const d = self.document;\n function handler(e) {\n if (e.key === \"ArrowLeft\") {\n e.stopPropagation();\n if (buttonLeft.current) {\n buttonLeft.current.focus();\n }\n previous && previous();\n } else if (e.key === \"ArrowRight\") {\n e.stopPropagation();\n if (buttonRight.current) {\n buttonRight.current.focus();\n }\n next && next();\n } else if (e.key === \"Escape\") {\n e.stopPropagation();\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (a && a !== buttonClose.current && a instanceof HTMLElement) {\n a.blur();\n return;\n }\n }\n if (close) {\n close();\n }\n }\n }\n root.addEventListener(\"keydown\", handler);\n if (root !== d) {\n d.addEventListener(\"keydown\", handler);\n }\n return function() {\n root.removeEventListener(\"keydown\", handler);\n if (root !== d) {\n d.removeEventListener(\"keydown\", handler);\n }\n };\n }, [\n close,\n nav,\n next,\n previous\n ]);\n // Unlock focus for browsers like Firefox, that break all user focus if the\n // currently focused item becomes disabled.\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n // Always true, but we do this for TypeScript:\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (previous == null) {\n if (buttonLeft.current && a === buttonLeft.current) {\n buttonLeft.current.blur();\n }\n } else if (next == null) {\n if (buttonRight.current && a === buttonRight.current) {\n buttonRight.current.blur();\n }\n }\n }\n }, [\n nav,\n next,\n previous\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-left-right\": true,\n className: className,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"nav\", {\n ref: onNav,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonLeft,\n type: \"button\",\n disabled: previous == null ? true : undefined,\n \"aria-disabled\": previous == null ? true : undefined,\n onClick: previous != null ? previous : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"previous\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L1.16663 6.99999L6.99996 12.8333M12.8333 6.99999H1.99996H12.8333Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonRight,\n type: \"button\",\n disabled: next == null ? true : undefined,\n \"aria-disabled\": next == null ? true : undefined,\n onClick: next != null ? next : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"next\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L12.8333 6.99999L6.99996 12.8333M1.16663 6.99999H12H1.16663Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n \"\\xa0\",\n children\n ]\n }),\n close ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n \"data-nextjs-errors-dialog-left-right-close-button\": true,\n ref: buttonClose,\n type: \"button\",\n onClick: close,\n \"aria-label\": \"Close\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"aria-hidden\": \"true\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CloseIcon.CloseIcon, {})\n })\n }) : null\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=LeftRightDialogHeader.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL0xlZnRSaWdodERpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgseURBQXdEO0lBQ3BESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCwwQkFBMEJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUksYUFBYUosbUJBQU9BLENBQUMsNkhBQXVCO0FBQ2xELE1BQU1GLHdCQUF3QixTQUFTQSxzQkFBc0JPLEtBQUs7SUFDOUQsSUFBSSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQUVDLEtBQUssRUFBRSxHQUFHTDtJQUNyRCxNQUFNTSxhQUFhVCxPQUFPVSxNQUFNLENBQUM7SUFDakMsTUFBTUMsY0FBY1gsT0FBT1UsTUFBTSxDQUFDO0lBQ2xDLE1BQU1FLGNBQWNaLE9BQU9VLE1BQU0sQ0FBQztJQUNsQyxNQUFNLENBQUNHLEtBQUtDLE9BQU8sR0FBR2QsT0FBT2UsUUFBUSxDQUFDO0lBQ3RDLE1BQU1DLFFBQVFoQixPQUFPaUIsV0FBVyxDQUFDLENBQUNDO1FBQzlCSixPQUFPSTtJQUNYLEdBQUcsRUFBRTtJQUNMbEIsT0FBT21CLFNBQVMsQ0FBQztRQUNiLElBQUlOLE9BQU8sTUFBTTtZQUNiO1FBQ0o7UUFDQSxNQUFNTyxPQUFPUCxJQUFJUSxXQUFXO1FBQzVCLE1BQU1DLElBQUlDLEtBQUtD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RCxRQUFRNkQsT0FBTyxLQUFLLFlBQVk3RCxRQUFRNkQsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPN0QsUUFBUTZELE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktoRSxPQUFPQyxjQUFjLENBQUNDLFFBQVE2RCxPQUFPLEVBQUUsY0FBYztRQUFFNUQsT0FBTztJQUFLO0lBQ25FSCxPQUFPaUUsTUFBTSxDQUFDL0QsUUFBUTZELE9BQU8sRUFBRTdEO0lBQy9CZ0UsT0FBT2hFLE9BQU8sR0FBR0EsUUFBUTZELE9BQU87QUFDbEMsRUFFQSxpREFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL0xlZnRSaWdodERpYWxvZ0hlYWRlci5qcz9iMzA2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiTGVmdFJpZ2h0RGlhbG9nSGVhZGVyXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBMZWZ0UmlnaHREaWFsb2dIZWFkZXI7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfQ2xvc2VJY29uID0gcmVxdWlyZShcIi4uLy4uL2ljb25zL0Nsb3NlSWNvblwiKTtcbmNvbnN0IExlZnRSaWdodERpYWxvZ0hlYWRlciA9IGZ1bmN0aW9uIExlZnRSaWdodERpYWxvZ0hlYWRlcihwYXJhbSkge1xuICAgIGxldCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIHByZXZpb3VzLCBuZXh0LCBjbG9zZSB9ID0gcGFyYW07XG4gICAgY29uc3QgYnV0dG9uTGVmdCA9IF9yZWFjdC51c2VSZWYobnVsbCk7XG4gICAgY29uc3QgYnV0dG9uUmlnaHQgPSBfcmVhY3QudXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGJ1dHRvbkNsb3NlID0gX3JlYWN0LnVzZVJlZihudWxsKTtcbiAgICBjb25zdCBbbmF2LCBzZXROYXZdID0gX3JlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IG9uTmF2ID0gX3JlYWN0LnVzZUNhbGxiYWNrKChlbCk9PntcbiAgICAgICAgc2V0TmF2KGVsKTtcbiAgICB9LCBbXSk7XG4gICAgX3JlYWN0LnVzZUVmZmVjdCgoKT0+e1xuICAgICAgICBpZiAobmF2ID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByb290ID0gbmF2LmdldFJvb3ROb2RlKCk7XG4gICAgICAgIGNvbnN0IGQgPSBzZWxmLmRvY3VtZW50O1xuICAgICAgICBmdW5jdGlvbiBoYW5kbGVyKGUpIHtcbiAgICAgICAgICAgIGlmIChlLmtleSA9PT0gXCJBcnJvd0xlZnRcIikge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgaWYgKGJ1dHRvbkxlZnQuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBidXR0b25MZWZ0LmN1cnJlbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcHJldmlvdXMgJiYgcHJldmlvdXMoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09IFwiQXJyb3dSaWdodFwiKSB7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICBpZiAoYnV0dG9uUmlnaHQuY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBidXR0b25SaWdodC5jdXJyZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG5leHQgJiYgbmV4dCgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChlLmtleSA9PT0gXCJFc2NhcGVcIikge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgaWYgKHJvb3QgaW5zdGFuY2VvZiBTaGFkb3dSb290KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSByb290LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhICYmIGEgIT09IGJ1dHRvbkNsb3NlLmN1cnJlbnQgJiYgYSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhLmJsdXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoY2xvc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcm9vdC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVyKTtcbiAgICAgICAgaWYgKHJvb3QgIT09IGQpIHtcbiAgICAgICAgICAgIGQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgaGFuZGxlcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgcm9vdC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVyKTtcbiAgICAgICAgICAgIGlmIChyb290ICE9PSBkKSB7XG4gICAgICAgICAgICAgICAgZC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9LCBbXG4gICAgICAgIGNsb3NlLFxuICAgICAgICBuYXYsXG4gICAgICAgIG5leHQsXG4gICAgICAgIHByZXZpb3VzXG4gICAgXSk7XG4gICAgLy8gVW5sb2NrIGZvY3VzIGZvciBicm93c2VycyBsaWtlIEZpcmVmb3gsIHRoYXQgYnJlYWsgYWxsIHVzZXIgZm9jdXMgaWYgdGhlXG4gICAgLy8gY3VycmVudGx5IGZvY3VzZWQgaXRlbSBiZWNvbWVzIGRpc2FibGVkLlxuICAgIF9yZWFjdC51c2VFZmZlY3QoKCk9PntcbiAgICAgICAgaWYgKG5hdiA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgcm9vdCA9IG5hdi5nZXRSb290Tm9kZSgpO1xuICAgICAgICAvLyBBbHdheXMgdHJ1ZSwgYnV0IHdlIGRvIHRoaXMgZm9yIFR5cGVTY3JpcHQ6XG4gICAgICAgIGlmIChyb290IGluc3RhbmNlb2YgU2hhZG93Um9vdCkge1xuICAgICAgICAgICAgY29uc3QgYSA9IHJvb3QuYWN0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGlmIChwcmV2aW91cyA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKGJ1dHRvbkxlZnQuY3VycmVudCAmJiBhID09PSBidXR0b25MZWZ0LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uTGVmdC5jdXJyZW50LmJsdXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG5leHQgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGlmIChidXR0b25SaWdodC5jdXJyZW50ICYmIGEgPT09IGJ1dHRvblJpZ2h0LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uUmlnaHQuY3VycmVudC5ibHVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBuYXYsXG4gICAgICAgIG5leHQsXG4gICAgICAgIHByZXZpb3VzXG4gICAgXSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodFwiOiB0cnVlLFxuICAgICAgICBjbGFzc05hbWU6IGNsYXNzTmFtZSxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwibmF2XCIsIHtcbiAgICAgICAgICAgICAgICByZWY6IG9uTmF2LFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJidXR0b25cIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmOiBidXR0b25MZWZ0LFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJidXR0b25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBwcmV2aW91cyA9PSBudWxsID8gdHJ1ZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYXJpYS1kaXNhYmxlZFwiOiBwcmV2aW91cyA9PSBudWxsID8gdHJ1ZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IHByZXZpb3VzICE9IG51bGwgPyBwcmV2aW91cyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcInN2Z1wiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveDogXCIwIDAgMTQgMTRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJ0aXRsZVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogXCJwcmV2aW91c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwicGF0aFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkOiBcIk02Ljk5OTk2IDEuMTY2NjZMMS4xNjY2MyA2Ljk5OTk5TDYuOTk5OTYgMTIuODMzM00xMi44MzMzIDYuOTk5OTlIMS45OTk5NkgxMi44MzMzWlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcImN1cnJlbnRDb2xvclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IFwiMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiYnV0dG9uXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogYnV0dG9uUmlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IG5leHQgPT0gbnVsbCA/IHRydWUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImFyaWEtZGlzYWJsZWRcIjogbmV4dCA9PSBudWxsID8gdHJ1ZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IG5leHQgIT0gbnVsbCA/IG5leHQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJzdmdcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g6IFwiMCAwIDE0IDE0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwidGl0bGVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFwibmV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwicGF0aFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkOiBcIk02Ljk5OTk2IDEuMTY2NjZMMTIuODMzMyA2Ljk5OTk5TDYuOTk5OTYgMTIuODMzM00xLjE2NjYzIDYuOTk5OTlIMTJIMS4xNjY2M1pcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiBcIjJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgXCJcXHhhMFwiLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlblxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2xvc2UgPyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiYnV0dG9uXCIsIHtcbiAgICAgICAgICAgICAgICBcImRhdGEtbmV4dGpzLWVycm9ycy1kaWFsb2ctbGVmdC1yaWdodC1jbG9zZS1idXR0b25cIjogdHJ1ZSxcbiAgICAgICAgICAgICAgICByZWY6IGJ1dHRvbkNsb3NlLFxuICAgICAgICAgICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgb25DbGljazogY2xvc2UsXG4gICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IFwiQ2xvc2VcIixcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInNwYW5cIiwge1xuICAgICAgICAgICAgICAgICAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfQ2xvc2VJY29uLkNsb3NlSWNvbiwge30pXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pIDogbnVsbFxuICAgICAgICBdXG4gICAgfSk7XG59O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1MZWZ0UmlnaHREaWFsb2dIZWFkZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkxlZnRSaWdodERpYWxvZ0hlYWRlciIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwiX0Nsb3NlSWNvbiIsInBhcmFtIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJwcmV2aW91cyIsIm5leHQiLCJjbG9zZSIsImJ1dHRvbkxlZnQiLCJ1c2VSZWYiLCJidXR0b25SaWdodCIsImJ1dHRvbkNsb3NlIiwibmF2Iiwic2V0TmF2IiwidXNlU3RhdGUiLCJvbk5hdiIsInVzZUNhbGxiYWNrIiwiZWwiLCJ1c2VFZmZlY3QiLCJyb290IiwiZ2V0Um9vdE5vZGUiLCJkIiwic2VsZiIsImRvY3VtZW50IiwiaGFuZGxlciIsImUiLCJrZXkiLCJzdG9wUHJvcGFnYXRpb24iLCJjdXJyZW50IiwiZm9jdXMiLCJTaGFkb3dSb290IiwiYSIsImFjdGl2ZUVsZW1lbnQiLCJIVE1MRWxlbWVudCIsImJsdXIiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImpzeHMiLCJyZWYiLCJqc3giLCJ0eXBlIiwiZGlzYWJsZWQiLCJ1bmRlZmluZWQiLCJvbkNsaWNrIiwidmlld0JveCIsImZpbGwiLCJ4bWxucyIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiQ2xvc2VJY29uIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js": /*!***********************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js ***! \***********************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n LeftRightDialogHeader: function() {\n return _LeftRightDialogHeader.LeftRightDialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _LeftRightDialogHeader = __webpack_require__(/*! ./LeftRightDialogHeader */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyx1QkFBdUI7UUFDbkIsT0FBT1EsdUJBQXVCUixxQkFBcUI7SUFDdkQ7SUFDQUMsUUFBUTtRQUNKLE9BQU9RLFFBQVFSLE1BQU07SUFDekI7QUFDSjtBQUNBLE1BQU1PLHlCQUF5QkUsbUJBQU9BLENBQUMsc0tBQXlCO0FBQ2hFLE1BQU1ELFVBQVVDLG1CQUFPQSxDQUFDLHdJQUFVO0FBRWxDLElBQUksQ0FBQyxPQUFPYixRQUFRYyxPQUFPLEtBQUssY0FBZSxPQUFPZCxRQUFRYyxPQUFPLEtBQUssWUFBWWQsUUFBUWMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZCxRQUFRYyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLakIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRYyxPQUFPLEVBQUUsY0FBYztRQUFFYixPQUFPO0lBQUs7SUFDbkVILE9BQU9rQixNQUFNLENBQUNoQixRQUFRYyxPQUFPLEVBQUVkO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVFjLE9BQU87QUFDbEMsRUFFQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL2luZGV4LmpzPzJhYzIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBMZWZ0UmlnaHREaWFsb2dIZWFkZXI6IG51bGwsXG4gICAgc3R5bGVzOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIExlZnRSaWdodERpYWxvZ0hlYWRlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfTGVmdFJpZ2h0RGlhbG9nSGVhZGVyLkxlZnRSaWdodERpYWxvZ0hlYWRlcjtcbiAgICB9LFxuICAgIHN0eWxlczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfc3R5bGVzLnN0eWxlcztcbiAgICB9XG59KTtcbmNvbnN0IF9MZWZ0UmlnaHREaWFsb2dIZWFkZXIgPSByZXF1aXJlKFwiLi9MZWZ0UmlnaHREaWFsb2dIZWFkZXJcIik7XG5jb25zdCBfc3R5bGVzID0gcmVxdWlyZShcIi4vc3R5bGVzXCIpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJMZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJzdHlsZXMiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfTGVmdFJpZ2h0RGlhbG9nSGVhZGVyIiwiX3N0eWxlcyIsInJlcXVpcmUiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js": /*!************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js ***! \************************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog-left-right] {\\n display: flex;\\n flex-direction: row;\\n align-content: center;\\n align-items: center;\\n justify-content: space-between;\\n }\\n [data-nextjs-dialog-left-right] > nav {\\n flex: 1;\\n display: flex;\\n align-items: center;\\n margin-right: var(--size-gap);\\n }\\n [data-nextjs-dialog-left-right] > nav > button {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n\\n width: calc(var(--size-gap-double) + var(--size-gap));\\n height: calc(var(--size-gap-double) + var(--size-gap));\\n font-size: 0;\\n border: none;\\n background-color: rgba(255, 85, 85, 0.1);\\n color: var(--color-ansi-red);\\n cursor: pointer;\\n transition: background-color 0.25s ease;\\n }\\n [data-nextjs-dialog-left-right] > nav > button > svg {\\n width: auto;\\n height: calc(var(--size-gap) + var(--size-gap-half));\\n }\\n [data-nextjs-dialog-left-right] > nav > button:hover {\\n background-color: rgba(255, 85, 85, 0.2);\\n }\\n [data-nextjs-dialog-left-right] > nav > button:disabled {\\n background-color: rgba(255, 85, 85, 0.1);\\n color: rgba(255, 85, 85, 0.4);\\n cursor: not-allowed;\\n }\\n\\n [data-nextjs-dialog-left-right] > nav > button:first-of-type {\\n border-radius: var(--size-gap-half) 0 0 var(--size-gap-half);\\n margin-right: 1px;\\n }\\n [data-nextjs-dialog-left-right] > nav > button:last-of-type {\\n border-radius: 0 var(--size-gap-half) var(--size-gap-half) 0;\\n }\\n\\n [data-nextjs-dialog-left-right] > button:last-of-type {\\n border: 0;\\n padding: 0;\\n\\n background-color: transparent;\\n appearance: none;\\n\\n opacity: 0.4;\\n transition: opacity 0.25s ease;\\n }\\n [data-nextjs-dialog-left-right] > button:last-of-type:hover {\\n opacity: 0.7;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMENBQXlDO0lBQ3JDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUNBQWlDQyxtQkFBT0EsQ0FBQyw4SEFBK0M7QUFDOUYsTUFBTUMsZ0JBQWdCRCxtQkFBT0EsQ0FBQyx5SUFBNkI7QUFDM0QsU0FBU0U7SUFDTCxNQUFNQyxPQUFPSiwrQkFBK0JLLENBQUMsQ0FBQztRQUMxQztLQUNIO0lBQ0RGLGtCQUFrQjtRQUNkLE9BQU9DO0lBQ1g7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsTUFBTUwsU0FBUyxDQUFDLEdBQUdHLGNBQWNJLElBQUksRUFBRUg7QUFFdkMsSUFBSSxDQUFDLE9BQU9SLFFBQVFZLE9BQU8sS0FBSyxjQUFlLE9BQU9aLFFBQVFZLE9BQU8sS0FBSyxZQUFZWixRQUFRWSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9aLFFBQVFZLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktmLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVksT0FBTyxFQUFFLGNBQWM7UUFBRVgsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0IsTUFBTSxDQUFDZCxRQUFRWSxPQUFPLEVBQUVaO0lBQy9CZSxPQUFPZixPQUFPLEdBQUdBLFFBQVFZLE9BQU87QUFDbEMsRUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL3N0eWxlcy5qcz9kYjczIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwic3R5bGVzXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzdHlsZXM7XG4gICAgfVxufSk7XG5jb25zdCBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlXCIpO1xuY29uc3QgX25vb3B0ZW1wbGF0ZSA9IHJlcXVpcmUoXCIuLi8uLi9oZWxwZXJzL25vb3AtdGVtcGxhdGVcIik7XG5mdW5jdGlvbiBfdGVtcGxhdGVPYmplY3QoKSB7XG4gICAgY29uc3QgZGF0YSA9IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZS5fKFtcbiAgICAgICAgXCJcXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0ge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBuYXYge1xcbiAgICBmbGV4OiAxO1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNpemUtZ2FwKTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBuYXYgPiBidXR0b24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuXFxuICAgIHdpZHRoOiBjYWxjKHZhcigtLXNpemUtZ2FwLWRvdWJsZSkgKyB2YXIoLS1zaXplLWdhcCkpO1xcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tc2l6ZS1nYXAtZG91YmxlKSArIHZhcigtLXNpemUtZ2FwKSk7XFxuICAgIGZvbnQtc2l6ZTogMDtcXG4gICAgYm9yZGVyOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgODUsIDg1LCAwLjEpO1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYW5zaS1yZWQpO1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBuYXYgPiBidXR0b24gPiBzdmcge1xcbiAgICB3aWR0aDogYXV0bztcXG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNpemUtZ2FwKSArIHZhcigtLXNpemUtZ2FwLWhhbGYpKTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBuYXYgPiBidXR0b246aG92ZXIge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgODUsIDg1LCAwLjIpO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1sZWZ0LXJpZ2h0XSA+IG5hdiA+IGJ1dHRvbjpkaXNhYmxlZCB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA4NSwgODUsIDAuMSk7XFxuICAgIGNvbG9yOiByZ2JhKDI1NSwgODUsIDg1LCAwLjQpO1xcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xcbiAgfVxcblxcbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1sZWZ0LXJpZ2h0XSA+IG5hdiA+IGJ1dHRvbjpmaXJzdC1vZi10eXBlIHtcXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2l6ZS1nYXAtaGFsZikgMCAwIHZhcigtLXNpemUtZ2FwLWhhbGYpO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBuYXYgPiBidXR0b246bGFzdC1vZi10eXBlIHtcXG4gICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1zaXplLWdhcC1oYWxmKSB2YXIoLS1zaXplLWdhcC1oYWxmKSAwO1xcbiAgfVxcblxcbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1sZWZ0LXJpZ2h0XSA+IGJ1dHRvbjpsYXN0LW9mLXR5cGUge1xcbiAgICBib3JkZXI6IDA7XFxuICAgIHBhZGRpbmc6IDA7XFxuXFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBhcHBlYXJhbmNlOiBub25lO1xcblxcbiAgICBvcGFjaXR5OiAwLjQ7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBidXR0b246bGFzdC1vZi10eXBlOmhvdmVyIHtcXG4gICAgb3BhY2l0eTogMC43O1xcbiAgfVxcblwiXG4gICAgXSk7XG4gICAgX3RlbXBsYXRlT2JqZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH07XG4gICAgcmV0dXJuIGRhdGE7XG59XG5jb25zdCBzdHlsZXMgPSAoMCwgX25vb3B0ZW1wbGF0ZS5ub29wKShfdGVtcGxhdGVPYmplY3QoKSk7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic3R5bGVzIiwiX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlIiwicmVxdWlyZSIsIl9ub29wdGVtcGxhdGUiLCJfdGVtcGxhdGVPYmplY3QiLCJkYXRhIiwiXyIsIm5vb3AiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js ***! \***********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("// @ts-ignore\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return Overlay;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _maintaintabfocus = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./maintain--tab-focus */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _bodylocker = __webpack_require__(/*! ./body-locker */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\");\nconst Overlay = function Overlay(param) {\n let { className, children, fixed } = param;\n _react.useEffect(()=>{\n (0, _bodylocker.lock)();\n return ()=>{\n (0, _bodylocker.unlock)();\n };\n }, []);\n const [overlay, setOverlay] = _react.useState(null);\n const onOverlay = _react.useCallback((el)=>{\n setOverlay(el);\n }, []);\n _react.useEffect(()=>{\n if (overlay == null) {\n return;\n }\n const handle2 = (0, _maintaintabfocus.default)({\n context: overlay\n });\n return ()=>{\n handle2.disengage();\n };\n }, [\n overlay\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-overlay\": true,\n className: className,\n ref: onOverlay,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-backdrop\": true,\n \"data-nextjs-dialog-backdrop-fixed\": fixed ? true : undefined\n }),\n children\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Overlay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9PdmVybGF5LmpzIiwibWFwcGluZ3MiOiJBQUFBLGFBQWE7QUFDQTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsNEJBQTRCRCxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUUsY0FBY0YsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1HLG9CQUFvQixXQUFXLEdBQUdKLHlCQUF5QkssQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyxvSkFBdUI7QUFDbEcsTUFBTUssU0FBUyxXQUFXLEdBQUdKLDBCQUEwQkcsQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNTSxjQUFjTixtQkFBT0EsQ0FBQyxvSUFBZTtBQUMzQyxNQUFNRixVQUFVLFNBQVNBLFFBQVFTLEtBQUs7SUFDbEMsSUFBSSxFQUFFQyxTQUFTLEVBQUVDLFFBQVEsRUFBRUMsS0FBSyxFQUFFLEdBQUdIO0lBQ3JDRixPQUFPTSxTQUFTLENBQUM7UUFDWixJQUFHTCxZQUFZTSxJQUFJO1FBQ3BCLE9BQU87WUFDRixJQUFHTixZQUFZTyxNQUFNO1FBQzFCO0lBQ0osR0FBRyxFQUFFO0lBQ0wsTUFBTSxDQUFDQyxTQUFTQyxXQUFXLEdBQUdWLE9BQU9XLFFBQVEsQ0FBQztJQUM5QyxNQUFNQyxZQUFZWixPQUFPYSxXQUFXLENBQUMsQ0FBQ0M7UUFDbENKLFdBQVdJO0lBQ2YsR0FBRyxFQUFFO0lBQ0xkLE9BQU9NLFNBQVMsQ0FBQztRQUNiLElBQUlHLFdBQVcsTUFBTTtZQUNqQjtRQUNKO1FBQ0EsTUFBTU0sVUFBVSxDQUFDLEdBQUdqQixrQkFBa0JrQixPQUFPLEVBQUU7WUFDM0NDLFNBQVNSO1FBQ2I7UUFDQSxPQUFPO1lBQ0hNLFFBQVFHLFNBQVM7UUFDckI7SUFDSixHQUFHO1FBQ0NUO0tBQ0g7SUFDRCxPQUFxQixXQUFILEdBQUksSUFBR1osWUFBWXNCLElBQUksRUFBRSxPQUFPO1FBQzlDLDhCQUE4QjtRQUM5QmhCLFdBQVdBO1FBQ1hpQixLQUFLUjtRQUNMUixVQUFVO1lBQ04sV0FBVyxHQUFJLElBQUdQLFlBQVl3QixHQUFHLEVBQUUsT0FBTztnQkFDdEMsK0JBQStCO2dCQUMvQixxQ0FBcUNoQixRQUFRLE9BQU9pQjtZQUN4RDtZQUNBbEI7U0FDSDtJQUNMO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT2YsUUFBUTJCLE9BQU8sS0FBSyxjQUFlLE9BQU8zQixRQUFRMkIsT0FBTyxLQUFLLFlBQVkzQixRQUFRMkIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPM0IsUUFBUTJCLE9BQU8sQ0FBQ08sVUFBVSxLQUFLLGFBQWE7SUFDcktwQyxPQUFPQyxjQUFjLENBQUNDLFFBQVEyQixPQUFPLEVBQUUsY0FBYztRQUFFMUIsT0FBTztJQUFLO0lBQ25FSCxPQUFPcUMsTUFBTSxDQUFDbkMsUUFBUTJCLE9BQU8sRUFBRTNCO0lBQy9Cb0MsT0FBT3BDLE9BQU8sR0FBR0EsUUFBUTJCLE9BQU87QUFDbEMsRUFFQSxtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9PdmVybGF5LmpzP2FjMjMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJPdmVybGF5XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBPdmVybGF5O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX21haW50YWludGFiZm9jdXMgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuL21haW50YWluLS10YWItZm9jdXNcIikpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9ib2R5bG9ja2VyID0gcmVxdWlyZShcIi4vYm9keS1sb2NrZXJcIik7XG5jb25zdCBPdmVybGF5ID0gZnVuY3Rpb24gT3ZlcmxheShwYXJhbSkge1xuICAgIGxldCB7IGNsYXNzTmFtZSwgY2hpbGRyZW4sIGZpeGVkIH0gPSBwYXJhbTtcbiAgICBfcmVhY3QudXNlRWZmZWN0KCgpPT57XG4gICAgICAgICgwLCBfYm9keWxvY2tlci5sb2NrKSgpO1xuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgICgwLCBfYm9keWxvY2tlci51bmxvY2spKCk7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IFtvdmVybGF5LCBzZXRPdmVybGF5XSA9IF9yZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBvbk92ZXJsYXkgPSBfcmVhY3QudXNlQ2FsbGJhY2soKGVsKT0+e1xuICAgICAgICBzZXRPdmVybGF5KGVsKTtcbiAgICB9LCBbXSk7XG4gICAgX3JlYWN0LnVzZUVmZmVjdCgoKT0+e1xuICAgICAgICBpZiAob3ZlcmxheSA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaGFuZGxlMiA9ICgwLCBfbWFpbnRhaW50YWJmb2N1cy5kZWZhdWx0KSh7XG4gICAgICAgICAgICBjb250ZXh0OiBvdmVybGF5XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgIGhhbmRsZTIuZGlzZW5nYWdlKCk7XG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBvdmVybGF5XG4gICAgXSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLW5leHRqcy1kaWFsb2ctb3ZlcmxheVwiOiB0cnVlLFxuICAgICAgICBjbGFzc05hbWU6IGNsYXNzTmFtZSxcbiAgICAgICAgcmVmOiBvbk92ZXJsYXksXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICBcImRhdGEtbmV4dGpzLWRpYWxvZy1iYWNrZHJvcFwiOiB0cnVlLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uZXh0anMtZGlhbG9nLWJhY2tkcm9wLWZpeGVkXCI6IGZpeGVkID8gdHJ1ZSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjaGlsZHJlblxuICAgICAgICBdXG4gICAgfSk7XG59O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1PdmVybGF5LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJPdmVybGF5IiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJfanN4cnVudGltZSIsIl9tYWludGFpbnRhYmZvY3VzIiwiXyIsIl9yZWFjdCIsIl9ib2R5bG9ja2VyIiwicGFyYW0iLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsImZpeGVkIiwidXNlRWZmZWN0IiwibG9jayIsInVubG9jayIsIm92ZXJsYXkiLCJzZXRPdmVybGF5IiwidXNlU3RhdGUiLCJvbk92ZXJsYXkiLCJ1c2VDYWxsYmFjayIsImVsIiwiaGFuZGxlMiIsImRlZmF1bHQiLCJjb250ZXh0IiwiZGlzZW5nYWdlIiwianN4cyIsInJlZiIsImpzeCIsInVuZGVmaW5lZCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js ***! \***************************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n lock: function() {\n return lock;\n },\n unlock: function() {\n return unlock;\n }\n});\nlet previousBodyPaddingRight;\nlet previousBodyOverflowSetting;\nlet activeLocks = 0;\nfunction lock() {\n setTimeout(()=>{\n if (activeLocks++ > 0) {\n return;\n }\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n if (scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = \"\" + scrollBarGap + \"px\";\n }\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n });\n}\nfunction unlock() {\n setTimeout(()=>{\n if (activeLocks === 0 || --activeLocks !== 0) {\n return;\n }\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n previousBodyPaddingRight = undefined;\n }\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting;\n previousBodyOverflowSetting = undefined;\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=body-locker.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9ib2R5LWxvY2tlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsUUFBUTtRQUNKLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLElBQUlPO0FBQ0osSUFBSUM7QUFDSixJQUFJQyxjQUFjO0FBQ2xCLFNBQVNWO0lBQ0xXLFdBQVc7UUFDUCxJQUFJRCxnQkFBZ0IsR0FBRztZQUNuQjtRQUNKO1FBQ0EsTUFBTUUsZUFBZUMsT0FBT0MsVUFBVSxHQUFHQyxTQUFTQyxlQUFlLENBQUNDLFdBQVc7UUFDN0UsSUFBSUwsZUFBZSxHQUFHO1lBQ2xCSiwyQkFBMkJPLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxZQUFZO1lBQzNETCxTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsWUFBWSxHQUFHLEtBQUtSLGVBQWU7UUFDM0Q7UUFDQUgsOEJBQThCTSxTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0UsUUFBUTtRQUMxRE4sU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNFLFFBQVEsR0FBRztJQUNuQztBQUNKO0FBQ0EsU0FBU3BCO0lBQ0xVLFdBQVc7UUFDUCxJQUFJRCxnQkFBZ0IsS0FBSyxFQUFFQSxnQkFBZ0IsR0FBRztZQUMxQztRQUNKO1FBQ0EsSUFBSUYsNkJBQTZCYyxXQUFXO1lBQ3hDUCxTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsWUFBWSxHQUFHWjtZQUNuQ0EsMkJBQTJCYztRQUMvQjtRQUNBLElBQUliLGdDQUFnQ2EsV0FBVztZQUMzQ1AsU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNFLFFBQVEsR0FBR1o7WUFDL0JBLDhCQUE4QmE7UUFDbEM7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU96QixRQUFRMEIsT0FBTyxLQUFLLGNBQWUsT0FBTzFCLFFBQVEwQixPQUFPLEtBQUssWUFBWTFCLFFBQVEwQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU8xQixRQUFRMEIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySzdCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTBCLE9BQU8sRUFBRSxjQUFjO1FBQUV6QixPQUFPO0lBQUs7SUFDbkVILE9BQU84QixNQUFNLENBQUM1QixRQUFRMEIsT0FBTyxFQUFFMUI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUTBCLE9BQU87QUFDbEMsRUFFQSx1Q0FBdUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9ib2R5LWxvY2tlci5qcz84ZDFkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgbG9jazogbnVsbCxcbiAgICB1bmxvY2s6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgbG9jazogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBsb2NrO1xuICAgIH0sXG4gICAgdW5sb2NrOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVubG9jaztcbiAgICB9XG59KTtcbmxldCBwcmV2aW91c0JvZHlQYWRkaW5nUmlnaHQ7XG5sZXQgcHJldmlvdXNCb2R5T3ZlcmZsb3dTZXR0aW5nO1xubGV0IGFjdGl2ZUxvY2tzID0gMDtcbmZ1bmN0aW9uIGxvY2soKSB7XG4gICAgc2V0VGltZW91dCgoKT0+e1xuICAgICAgICBpZiAoYWN0aXZlTG9ja3MrKyA+IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzY3JvbGxCYXJHYXAgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgaWYgKHNjcm9sbEJhckdhcCA+IDApIHtcbiAgICAgICAgICAgIHByZXZpb3VzQm9keVBhZGRpbmdSaWdodCA9IGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0O1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQgPSBcIlwiICsgc2Nyb2xsQmFyR2FwICsgXCJweFwiO1xuICAgICAgICB9XG4gICAgICAgIHByZXZpb3VzQm9keU92ZXJmbG93U2V0dGluZyA9IGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSBcImhpZGRlblwiO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gdW5sb2NrKCkge1xuICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgaWYgKGFjdGl2ZUxvY2tzID09PSAwIHx8IC0tYWN0aXZlTG9ja3MgIT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJldmlvdXNCb2R5UGFkZGluZ1JpZ2h0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0ID0gcHJldmlvdXNCb2R5UGFkZGluZ1JpZ2h0O1xuICAgICAgICAgICAgcHJldmlvdXNCb2R5UGFkZGluZ1JpZ2h0ID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcmV2aW91c0JvZHlPdmVyZmxvd1NldHRpbmcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9IHByZXZpb3VzQm9keU92ZXJmbG93U2V0dGluZztcbiAgICAgICAgICAgIHByZXZpb3VzQm9keU92ZXJmbG93U2V0dGluZyA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ib2R5LWxvY2tlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJsb2NrIiwidW5sb2NrIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicHJldmlvdXNCb2R5UGFkZGluZ1JpZ2h0IiwicHJldmlvdXNCb2R5T3ZlcmZsb3dTZXR0aW5nIiwiYWN0aXZlTG9ja3MiLCJzZXRUaW1lb3V0Iiwic2Nyb2xsQmFyR2FwIiwid2luZG93IiwiaW5uZXJXaWR0aCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiY2xpZW50V2lkdGgiLCJib2R5Iiwic3R5bGUiLCJwYWRkaW5nUmlnaHQiLCJvdmVyZmxvdyIsInVuZGVmaW5lZCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js ***! \*********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return _Overlay.Overlay;\n }\n}));\nconst _Overlay = __webpack_require__(/*! ./Overlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQyxTQUFTQyxPQUFPO0lBQzNCO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUQsV0FBV0UsbUJBQU9BLENBQUMsNEhBQVc7QUFFcEMsSUFBSSxDQUFDLE9BQU9OLFFBQVFPLE9BQU8sS0FBSyxjQUFlLE9BQU9QLFFBQVFPLE9BQU8sS0FBSyxZQUFZUCxRQUFRTyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9QLFFBQVFPLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktWLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUU8sT0FBTyxFQUFFLGNBQWM7UUFBRU4sT0FBTztJQUFLO0lBQ25FSCxPQUFPVyxNQUFNLENBQUNULFFBQVFPLE9BQU8sRUFBRVA7SUFDL0JVLE9BQU9WLE9BQU8sR0FBR0EsUUFBUU8sT0FBTztBQUNsQyxFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L2luZGV4LmpzP2E4OGYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJPdmVybGF5XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfT3ZlcmxheS5PdmVybGF5O1xuICAgIH1cbn0pO1xuY29uc3QgX092ZXJsYXkgPSByZXF1aXJlKFwiLi9PdmVybGF5XCIpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX092ZXJsYXkiLCJPdmVybGF5IiwicmVxdWlyZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js": /*!***********************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js ***! \***********************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* eslint-disable */ // @ts-nocheck\n// Copied from https://github.com/medialize/ally.js\n// License: MIT\n// Copyright (c) 2015 Rodney Rehm\n//\n// Entrypoint: ally.js/maintain/tab-focus\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _platform = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/platform */ \"(ssr)/./node_modules/next/dist/compiled/platform/platform.js\"));\nconst _cssescape = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/css.escape */ \"(ssr)/./node_modules/next/dist/compiled/css.escape/css.escape.js\"));\n// input may be undefined, selector-tring, Node, NodeList, HTMLCollection, array of Nodes\n// yes, to some extent this is a bad replica of jQuery's constructor function\nfunction nodeArray(input) {\n if (!input) {\n return [];\n }\n if (Array.isArray(input)) {\n return input;\n }\n // instanceof Node - does not work with iframes\n if (input.nodeType !== undefined) {\n return [\n input\n ];\n }\n if (typeof input === \"string\") {\n input = document.querySelectorAll(input);\n }\n if (input.length !== undefined) {\n return [].slice.call(input, 0);\n }\n throw new TypeError(\"unexpected input \" + String(input));\n}\nfunction contextToElement(_ref) {\n var context = _ref.context, _ref$label = _ref.label, label = _ref$label === undefined ? \"context-to-element\" : _ref$label, resolveDocument = _ref.resolveDocument, defaultToDocument = _ref.defaultToDocument;\n var element = nodeArray(context)[0];\n if (resolveDocument && element && element.nodeType === Node.DOCUMENT_NODE) {\n element = element.documentElement;\n }\n if (!element && defaultToDocument) {\n return document.documentElement;\n }\n if (!element) {\n throw new TypeError(label + \" requires valid options.context\");\n }\n if (element.nodeType !== Node.ELEMENT_NODE && element.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {\n throw new TypeError(label + \" requires options.context to be an Element\");\n }\n return element;\n}\nfunction getShadowHost() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var element = contextToElement({\n label: \"get/shadow-host\",\n context: context\n });\n // walk up to the root\n var container = null;\n while(element){\n container = element;\n element = element.parentNode;\n }\n // https://developer.mozilla.org/docs/Web/API/Node.nodeType\n // NOTE: Firefox 34 does not expose ShadowRoot.host (but 37 does)\n if (container.nodeType === container.DOCUMENT_FRAGMENT_NODE && container.host) {\n // the root is attached to a fragment node that has a host\n return container.host;\n }\n return null;\n}\nfunction getDocument(node) {\n if (!node) {\n return document;\n }\n if (node.nodeType === Node.DOCUMENT_NODE) {\n return node;\n }\n return node.ownerDocument || document;\n}\nfunction isActiveElement(context) {\n var element = contextToElement({\n label: \"is/active-element\",\n resolveDocument: true,\n context: context\n });\n var _document = getDocument(element);\n if (_document.activeElement === element) {\n return true;\n }\n var shadowHost = getShadowHost({\n context: element\n });\n if (shadowHost && shadowHost.shadowRoot.activeElement === element) {\n return true;\n }\n return false;\n}\n// [elem, elem.parent, elem.parent.parent, …, html]\n// will not contain the shadowRoot (DOCUMENT_FRAGMENT_NODE) and shadowHost\nfunction getParents() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var list = [];\n var element = contextToElement({\n label: \"get/parents\",\n context: context\n });\n while(element){\n list.push(element);\n // IE does know support parentElement on SVGElement\n element = element.parentNode;\n if (element && element.nodeType !== Node.ELEMENT_NODE) {\n element = null;\n }\n }\n return list;\n}\n// Element.prototype.matches may be available at a different name\n// https://developer.mozilla.org/en/docs/Web/API/Element/matches\nvar names = [\n \"matches\",\n \"webkitMatchesSelector\",\n \"mozMatchesSelector\",\n \"msMatchesSelector\"\n];\nvar name = null;\nfunction findMethodName(element) {\n names.some(function(_name) {\n if (!element[_name]) {\n return false;\n }\n name = _name;\n return true;\n });\n}\nfunction elementMatches(element, selector) {\n if (!name) {\n findMethodName(element);\n }\n return element[name](selector);\n}\n// deep clone of original platform\nvar platform = JSON.parse(JSON.stringify(_platform.default));\n// operating system\nvar os = platform.os.family || \"\";\nvar ANDROID = os === \"Android\";\nvar WINDOWS = os.slice(0, 7) === \"Windows\";\nvar OSX = os === \"OS X\";\nvar IOS = os === \"iOS\";\n// layout\nvar BLINK = platform.layout === \"Blink\";\nvar GECKO = platform.layout === \"Gecko\";\nvar TRIDENT = platform.layout === \"Trident\";\nvar EDGE = platform.layout === \"EdgeHTML\";\nvar WEBKIT = platform.layout === \"WebKit\";\n// browser version (not layout engine version!)\nvar version = parseFloat(platform.version);\nvar majorVersion = Math.floor(version);\nplatform.majorVersion = majorVersion;\nplatform.is = {\n // operating system\n ANDROID: ANDROID,\n WINDOWS: WINDOWS,\n OSX: OSX,\n IOS: IOS,\n // layout\n BLINK: BLINK,\n GECKO: GECKO,\n TRIDENT: TRIDENT,\n EDGE: EDGE,\n WEBKIT: WEBKIT,\n // INTERNET EXPLORERS\n IE9: TRIDENT && majorVersion === 9,\n IE10: TRIDENT && majorVersion === 10,\n IE11: TRIDENT && majorVersion === 11\n};\nfunction before() {\n var data = {\n // remember what had focus to restore after test\n activeElement: document.activeElement,\n // remember scroll positions to restore after test\n windowScrollTop: window.scrollTop,\n windowScrollLeft: window.scrollLeft,\n bodyScrollTop: document.body.scrollTop,\n bodyScrollLeft: document.body.scrollLeft\n };\n // wrap tests in an element hidden from screen readers to prevent them\n // from announcing focus, which can be quite irritating to the user\n var iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"style\", \"position:absolute; position:fixed; top:0; left:-2px; width:1px; height:1px; overflow:hidden;\");\n iframe.setAttribute(\"aria-live\", \"off\");\n iframe.setAttribute(\"aria-busy\", \"true\");\n iframe.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(iframe);\n var _window = iframe.contentWindow;\n var _document = _window.document;\n _document.open();\n _document.close();\n var wrapper = _document.createElement(\"div\");\n _document.body.appendChild(wrapper);\n data.iframe = iframe;\n data.wrapper = wrapper;\n data.window = _window;\n data.document = _document;\n return data;\n}\n// options.element:\n// {string} element name\n// {function} callback(wrapper, document) to generate an element\n// options.mutate: (optional)\n// {function} callback(element, wrapper, document) to manipulate element prior to focus-test.\n// Can return DOMElement to define focus target (default: element)\n// options.validate: (optional)\n// {function} callback(element, focusTarget, document) to manipulate test-result\nfunction test(data, options) {\n // make sure we operate on a clean slate\n data.wrapper.innerHTML = \"\";\n // create dummy element to test focusability of\n var element = typeof options.element === \"string\" ? data.document.createElement(options.element) : options.element(data.wrapper, data.document);\n // allow callback to further specify dummy element\n // and optionally define element to focus\n var focus = options.mutate && options.mutate(element, data.wrapper, data.document);\n if (!focus && focus !== false) {\n focus = element;\n }\n // element needs to be part of the DOM to be focusable\n !element.parentNode && data.wrapper.appendChild(element);\n // test if the element with invalid tabindex can be focused\n focus && focus.focus && focus.focus();\n // validate test's result\n return options.validate ? options.validate(element, focus, data.document) : data.document.activeElement === focus;\n}\nfunction after(data) {\n // restore focus to what it was before test and cleanup\n if (data.activeElement === document.body) {\n document.activeElement && document.activeElement.blur && document.activeElement.blur();\n if (platform.is.IE10) {\n // IE10 does not redirect focus to <body> when the activeElement is removed\n document.body.focus();\n }\n } else {\n data.activeElement && data.activeElement.focus && data.activeElement.focus();\n }\n document.body.removeChild(data.iframe);\n // restore scroll position\n window.scrollTop = data.windowScrollTop;\n window.scrollLeft = data.windowScrollLeft;\n document.body.scrollTop = data.bodyScrollTop;\n document.body.scrollLeft = data.bodyScrollLeft;\n}\nfunction detectFocus(tests) {\n var data = before();\n var results = {};\n Object.keys(tests).map(function(key) {\n results[key] = test(data, tests[key]);\n });\n after(data);\n return results;\n}\n// this file is overwritten by `npm run build:pre`\nvar version$1 = \"1.4.1\";\n/*\n Facility to cache test results in localStorage.\n\n USAGE:\n cache.get('key');\n cache.set('key', 'value');\n */ function readLocalStorage(key) {\n // allow reading from storage to retrieve previous support results\n // even while the document does not have focus\n var data = void 0;\n try {\n data = window.localStorage && window.localStorage.getItem(key);\n data = data ? JSON.parse(data) : {};\n } catch (e) {\n data = {};\n }\n return data;\n}\nfunction writeLocalStorage(key, value) {\n if (!document.hasFocus()) {\n // if the document does not have focus when tests are executed, focus() may\n // not be handled properly and events may not be dispatched immediately.\n // This can happen when a document is reloaded while Developer Tools have focus.\n try {\n window.localStorage && window.localStorage.removeItem(key);\n } catch (e) {\n // ignore\n }\n return;\n }\n try {\n window.localStorage && window.localStorage.setItem(key, JSON.stringify(value));\n } catch (e) {\n // ignore\n }\n}\nvar userAgent = false || \"\";\nvar cacheKey = \"ally-supports-cache\";\nvar cache = readLocalStorage(cacheKey);\n// update the cache if ally or the user agent changed (newer version, etc)\nif (cache.userAgent !== userAgent || cache.version !== version$1) {\n cache = {};\n}\ncache.userAgent = userAgent;\ncache.version = version$1;\nvar cache$1 = {\n get: function get() {\n return cache;\n },\n set: function set(values) {\n Object.keys(values).forEach(function(key) {\n cache[key] = values[key];\n });\n cache.time = new Date().toISOString();\n writeLocalStorage(cacheKey, cache);\n }\n};\nfunction cssShadowPiercingDeepCombinator() {\n var combinator = void 0;\n // see https://dev.w3.org/csswg/css-scoping-1/#deep-combinator\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1117572\n // https://code.google.com/p/chromium/issues/detail?id=446051\n try {\n document.querySelector(\"html >>> :first-child\");\n combinator = \">>>\";\n } catch (noArrowArrowArrow) {\n try {\n // old syntax supported at least up to Chrome 41\n // https://code.google.com/p/chromium/issues/detail?id=446051\n document.querySelector(\"html /deep/ :first-child\");\n combinator = \"/deep/\";\n } catch (noDeep) {\n combinator = \"\";\n }\n }\n return combinator;\n}\nvar gif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\";\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaImgTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\">' + '<area shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" src=\"' + gif + '\">';\n return element.querySelector(\"area\");\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\">' + '<area href=\"#void\" tabindex=\"-1\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" alt=\"\" src=\"' + gif + '\">';\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n var focus = element.querySelector(\"area\");\n focus.focus();\n return _document.activeElement === focus;\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaWithoutHref = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-area-href-test\">' + '<area shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-area-href-test\" alt=\"\" src=\"' + gif + '\">';\n return element.querySelector(\"area\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n return _document.activeElement === focusTarget;\n }\n};\nvar focusAudioWithoutControls = {\n name: \"can-focus-audio-without-controls\",\n element: \"audio\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\nvar invalidGif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\";\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusBrokenImageMap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"broken-image-map-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#broken-image-map-test\" alt=\"\" src=\"' + invalidGif + '\">';\n return element.querySelector(\"area\");\n }\n};\n// Children of focusable elements with display:flex are focusable in IE10-11\nvar focusChildrenOfFocusableFlexbox = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = '<span style=\"display: block;\">hello</span>';\n return element.querySelector(\"span\");\n }\n};\n// fieldset[tabindex=0][disabled] should not be focusable, but Blink and WebKit disagree\n// @specification https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\n// @browser-issue Chromium https://crbug.com/453847\n// @browser-issue WebKit https://bugs.webkit.org/show_bug.cgi?id=141086\nvar focusFieldsetDisabled = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\nvar focusFieldset = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = \"<legend>legend</legend><p>content</p>\";\n }\n};\n// elements with display:flex are focusable in IE10-11\nvar focusFlexboxContainer = {\n element: \"span\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = '<span style=\"display: block;\">hello</span>';\n }\n};\n// form[tabindex=0][disabled] should be focusable as the\n// specification doesn't know the disabled attribute on the form element\n// @specification https://www.w3.org/TR/html5/forms.html#the-form-element\nvar focusFormDisabled = {\n element: \"form\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// fixes https://github.com/medialize/ally.js/issues/20\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-ismap\nvar focusImgIsmap = {\n element: \"a\",\n mutate: function mutate(element) {\n element.href = \"#void\";\n element.innerHTML = '<img ismap src=\"' + gif + '\" alt=\"\">';\n return element.querySelector(\"img\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusImgUsemapTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" ' + 'src=\"' + gif + '\">';\n return element.querySelector(\"img\");\n }\n};\nvar focusInHiddenIframe = {\n element: function element(wrapper, _document) {\n var iframe = _document.createElement(\"iframe\");\n // iframe must be part of the DOM before accessing the contentWindow is possible\n wrapper.appendChild(iframe);\n // create the iframe's default document (<html><head></head><body></body></html>)\n var iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.close();\n return iframe;\n },\n mutate: function mutate(iframe) {\n iframe.style.visibility = \"hidden\";\n var iframeDocument = iframe.contentWindow.document;\n var input = iframeDocument.createElement(\"input\");\n iframeDocument.body.appendChild(input);\n return input;\n },\n validate: function validate(iframe) {\n var iframeDocument = iframe.contentWindow.document;\n var focus = iframeDocument.querySelector(\"input\");\n return iframeDocument.activeElement === focus;\n }\n};\nvar result = !platform.is.WEBKIT;\nfunction focusInZeroDimensionObject() {\n return result;\n}\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusInvalidTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"invalid-value\");\n }\n};\nvar focusLabelTabindex = {\n element: \"label\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n },\n validate: function validate(element, focusTarget, _document) {\n // force layout in Chrome 49, otherwise the element won't be focusable\n /* eslint-disable no-unused-vars */ var variableToPreventDeadCodeElimination = element.offsetHeight;\n /* eslint-enable no-unused-vars */ element.focus();\n return _document.activeElement === element;\n }\n};\nvar svg = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtb\" + \"G5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnIj48dGV4dCB4PSIxMCIgeT0iMjAiIGlkPSJ\" + \"zdmctbGluay10ZXh0Ij50ZXh0PC90ZXh0Pjwvc3ZnPg==\";\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvgHidden = {\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n element.style.visibility = \"hidden\";\n }\n};\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvg = {\n name: \"can-focus-object-svg\",\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // Firefox seems to be handling the object creation asynchronously and thereby produces a false negative test result.\n // Because we know Firefox is able to focus object elements referencing SVGs, we simply cheat by sniffing the user agent string\n return true;\n }\n return _document.activeElement === element;\n }\n};\n// Every Environment except IE9 considers SWF objects focusable\nvar result$1 = !platform.is.IE9;\nfunction focusObjectSwf() {\n return result$1;\n}\nvar focusRedirectImgUsemap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"focus-redirect-img-usemap\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#focus-redirect-img-usemap\" alt=\"\" ' + 'src=\"' + gif + '\">';\n // focus the <img>, not the <div>\n return element.querySelector(\"img\");\n },\n validate: function validate(element, focusTarget, _document) {\n var target = element.querySelector(\"area\");\n return _document.activeElement === target;\n }\n};\n// see https://jsbin.com/nenirisage/edit?html,js,console,output\nvar focusRedirectLegend = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = '<legend>legend</legend><input tabindex=\"-1\"><input tabindex=\"0\">';\n // take care of focus in validate();\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n var focusable = element.querySelector('input[tabindex=\"-1\"]');\n var tabbable = element.querySelector('input[tabindex=\"0\"]');\n // Firefox requires this test to focus the <fieldset> first, while this is not necessary in\n // https://jsbin.com/nenirisage/edit?html,js,console,output\n element.focus();\n element.querySelector(\"legend\").focus();\n return _document.activeElement === focusable && \"focusable\" || _document.activeElement === tabbable && \"tabbable\" || \"\";\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollBody = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n return element.querySelector(\"div\");\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainerWithoutOverflow = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainer = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n }\n};\nvar focusSummary = {\n element: \"details\",\n mutate: function mutate(element) {\n element.innerHTML = \"<summary>foo</summary><p>content</p>\";\n return element.firstElementChild;\n }\n};\nfunction makeFocusableForeignObject() {\n // Constructs <foreignObject width=\"30\" height=\"30\"><input type=\"text\"/></foreignObject>\n // without raising a Trusted Types violation\n var foreignObject = document.createElementNS(\"http://www.w3.org/2000/svg\", \"foreignObject\");\n foreignObject.width.baseVal.value = 30;\n foreignObject.height.baseVal.value = 30;\n foreignObject.appendChild(document.createElement(\"input\"));\n foreignObject.lastChild.type = \"text\";\n return foreignObject;\n}\nfunction focusSvgForeignObjectHack(element) {\n // Edge13, Edge14: foreignObject focus hack\n // https://jsbin.com/kunehinugi/edit?html,js,output\n // https://jsbin.com/fajagi/3/edit?html,js,output\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (!isSvgElement) {\n return false;\n }\n // inject and focus an <input> element into the SVG element to receive focus\n var foreignObject = makeFocusableForeignObject();\n element.appendChild(foreignObject);\n var input = foreignObject.querySelector(\"input\");\n input.focus();\n // upon disabling the activeElement, IE and Edge\n // will not shift focus to <body> like all the other\n // browsers, but instead find the first focusable\n // ancestor and shift focus to that\n input.disabled = true;\n // clean up\n element.removeChild(foreignObject);\n return true;\n}\nfunction generate(element) {\n return '<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">' + element + \"</svg>\";\n}\nfunction focus(element) {\n if (element.focus) {\n return;\n }\n try {\n HTMLElement.prototype.focus.call(element);\n } catch (e) {\n focusSvgForeignObjectHack(element);\n }\n}\nfunction validate(element, focusTarget, _document) {\n focus(focusTarget);\n return _document.activeElement === focusTarget;\n}\nvar focusSvgFocusableAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text focusable=\"true\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text tabindex=\"0\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgNegativeTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text tabindex=\"-1\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgUseTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate([\n '<g id=\"ally-test-target\"><a xlink:href=\"#void\"><text>link</text></a></g>',\n '<use xlink:href=\"#ally-test-target\" x=\"0\" y=\"0\" tabindex=\"-1\" />'\n ].join(\"\"));\n return element.querySelector(\"use\");\n },\n validate: validate\n};\nvar focusSvgForeignobjectTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<foreignObject tabindex=\"-1\"><input type=\"text\" /></foreignObject>');\n // Safari 8's quersSelector() can't identify foreignObject, but getElementyByTagName() can\n return element.querySelector(\"foreignObject\") || element.getElementsByTagName(\"foreignObject\")[0];\n },\n validate: validate\n};\n// Firefox seems to be handling the SVG-document-in-iframe creation asynchronously\n// and thereby produces a false negative test result. Thus the test is pointless\n// and we resort to UA sniffing once again.\n// see http://jsbin.com/vunadohoko/1/edit?js,console,output\nvar result$2 = Boolean(platform.is.GECKO && typeof SVGElement !== \"undefined\" && SVGElement.prototype.focus);\nfunction focusSvgInIframe() {\n return result$2;\n}\nvar focusSvg = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate(\"\");\n return element.firstChild;\n },\n validate: validate\n};\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusTabindexTrailingCharacters = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"3x\");\n }\n};\nvar focusTable = {\n element: \"table\",\n mutate: function mutate(element, wrapper, _document) {\n // IE9 has a problem replacing TBODY contents with innerHTML.\n // https://stackoverflow.com/a/8097055/515124\n // element.innerHTML = '<tr><td>cell</td></tr>';\n var fragment = _document.createDocumentFragment();\n fragment.innerHTML = \"<tr><td>cell</td></tr>\";\n element.appendChild(fragment);\n }\n};\nvar focusVideoWithoutControls = {\n element: \"video\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\n// https://jsbin.com/vafaba/3/edit?html,js,console,output\nvar result$3 = platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE;\nfunction tabsequenceAreaAtImgPosition() {\n return result$3;\n}\nvar testCallbacks = {\n cssShadowPiercingDeepCombinator: cssShadowPiercingDeepCombinator,\n focusInZeroDimensionObject: focusInZeroDimensionObject,\n focusObjectSwf: focusObjectSwf,\n focusSvgInIframe: focusSvgInIframe,\n tabsequenceAreaAtImgPosition: tabsequenceAreaAtImgPosition\n};\nvar testDescriptions = {\n focusAreaImgTabindex: focusAreaImgTabindex,\n focusAreaTabindex: focusAreaTabindex,\n focusAreaWithoutHref: focusAreaWithoutHref,\n focusAudioWithoutControls: focusAudioWithoutControls,\n focusBrokenImageMap: focusBrokenImageMap,\n focusChildrenOfFocusableFlexbox: focusChildrenOfFocusableFlexbox,\n focusFieldsetDisabled: focusFieldsetDisabled,\n focusFieldset: focusFieldset,\n focusFlexboxContainer: focusFlexboxContainer,\n focusFormDisabled: focusFormDisabled,\n focusImgIsmap: focusImgIsmap,\n focusImgUsemapTabindex: focusImgUsemapTabindex,\n focusInHiddenIframe: focusInHiddenIframe,\n focusInvalidTabindex: focusInvalidTabindex,\n focusLabelTabindex: focusLabelTabindex,\n focusObjectSvg: focusObjectSvg,\n focusObjectSvgHidden: focusObjectSvgHidden,\n focusRedirectImgUsemap: focusRedirectImgUsemap,\n focusRedirectLegend: focusRedirectLegend,\n focusScrollBody: focusScrollBody,\n focusScrollContainerWithoutOverflow: focusScrollContainerWithoutOverflow,\n focusScrollContainer: focusScrollContainer,\n focusSummary: focusSummary,\n focusSvgFocusableAttribute: focusSvgFocusableAttribute,\n focusSvgTabindexAttribute: focusSvgTabindexAttribute,\n focusSvgNegativeTabindexAttribute: focusSvgNegativeTabindexAttribute,\n focusSvgUseTabindex: focusSvgUseTabindex,\n focusSvgForeignobjectTabindex: focusSvgForeignobjectTabindex,\n focusSvg: focusSvg,\n focusTabindexTrailingCharacters: focusTabindexTrailingCharacters,\n focusTable: focusTable,\n focusVideoWithoutControls: focusVideoWithoutControls\n};\nfunction executeTests() {\n var results = detectFocus(testDescriptions);\n Object.keys(testCallbacks).forEach(function(key) {\n results[key] = testCallbacks[key]();\n });\n return results;\n}\nvar supportsCache = null;\nfunction _supports() {\n if (supportsCache) {\n return supportsCache;\n }\n supportsCache = cache$1.get();\n if (!supportsCache.time) {\n cache$1.set(executeTests());\n supportsCache = cache$1.get();\n }\n return supportsCache;\n}\nvar supports = void 0;\n// https://www.w3.org/TR/html5/infrastructure.html#rules-for-parsing-integers\n// NOTE: all browsers agree to allow trailing spaces as well\nvar validIntegerPatternNoTrailing = /^\\s*(-|\\+)?[0-9]+\\s*$/;\nvar validIntegerPatternWithTrailing = /^\\s*(-|\\+)?[0-9]+.*$/;\nfunction isValidTabindex(context) {\n if (!supports) {\n supports = _supports();\n }\n var validIntegerPattern = supports.focusTabindexTrailingCharacters ? validIntegerPatternWithTrailing : validIntegerPatternNoTrailing;\n var element = contextToElement({\n label: \"is/valid-tabindex\",\n resolveDocument: true,\n context: context\n });\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var hasTabIndex = element.hasAttribute(\"tabIndex\");\n if (!hasTabindex && !hasTabIndex) {\n return false;\n }\n // older Firefox and Internet Explorer don't support tabindex on SVG elements\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (isSvgElement && !supports.focusSvgTabindexAttribute) {\n return false;\n }\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n if (supports.focusInvalidTabindex) {\n return true;\n }\n // an element matches the tabindex selector even if its value is invalid\n var tabindex = element.getAttribute(hasTabindex ? \"tabindex\" : \"tabIndex\");\n // IE11 parses tabindex=\"\" as the value \"-32768\"\n // @browser-issue Trident https://connect.microsoft.com/IE/feedback/details/1072965\n if (tabindex === \"-32768\") {\n return false;\n }\n return Boolean(tabindex && validIntegerPattern.test(tabindex));\n}\nfunction tabindexValue(element) {\n if (!isValidTabindex(element)) {\n return null;\n }\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var attributeName = hasTabindex ? \"tabindex\" : \"tabIndex\";\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n var tabindex = parseInt(element.getAttribute(attributeName), 10);\n return isNaN(tabindex) ? -1 : tabindex;\n}\n// this is a shared utility file for focus-relevant.js and tabbable.js\n// separate testing of this file's functions is not necessary,\n// as they're implicitly tested by way of the consumers\nfunction isUserModifyWritable(style) {\n // https://www.w3.org/TR/1999/WD-css3-userint-19990916#user-modify\n // https://github.com/medialize/ally.js/issues/17\n var userModify = style.webkitUserModify || \"\";\n return Boolean(userModify && userModify.indexOf(\"write\") !== -1);\n}\nfunction hasCssOverflowScroll(style) {\n return [\n style.getPropertyValue(\"overflow\"),\n style.getPropertyValue(\"overflow-x\"),\n style.getPropertyValue(\"overflow-y\")\n ].some(function(overflow) {\n return overflow === \"auto\" || overflow === \"scroll\";\n });\n}\nfunction hasCssDisplayFlex(style) {\n return style.display.indexOf(\"flex\") > -1;\n}\nfunction isScrollableContainer(element, nodeName, parentNodeName, parentStyle) {\n if (nodeName !== \"div\" && nodeName !== \"span\") {\n // Internet Explorer advances scrollable containers and bodies to focusable\n // only if the scrollable container is <div> or <span> - this does *not*\n // happen for <section>, <article>, …\n return false;\n }\n if (parentNodeName && parentNodeName !== \"div\" && parentNodeName !== \"span\" && !hasCssOverflowScroll(parentStyle)) {\n return false;\n }\n return element.offsetHeight < element.scrollHeight || element.offsetWidth < element.scrollWidth;\n}\nvar supports$1 = void 0;\nfunction isFocusRelevantRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n flexbox: false,\n scrollable: false,\n shadow: false\n } : _ref$except;\n if (!supports$1) {\n supports$1 = _supports();\n }\n var element = contextToElement({\n label: \"is/focus-relevant\",\n resolveDocument: true,\n context: context\n });\n if (!except.shadow && element.shadowRoot) {\n // a ShadowDOM host receives focus when the focus moves to its content\n return true;\n }\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"input\" && element.type === \"hidden\") {\n // input[type=\"hidden\"] supports.cannot be focused\n return false;\n }\n if (nodeName === \"input\" || nodeName === \"select\" || nodeName === \"button\" || nodeName === \"textarea\") {\n return true;\n }\n if (nodeName === \"legend\" && supports$1.focusRedirectLegend) {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"label\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"area\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"a\" && element.hasAttribute(\"href\")) {\n return true;\n }\n if (nodeName === \"object\" && element.hasAttribute(\"usemap\")) {\n // object[usemap] is not focusable in any browser\n return false;\n }\n if (nodeName === \"object\") {\n var svgType = element.getAttribute(\"type\");\n if (!supports$1.focusObjectSvg && svgType === \"image/svg+xml\") {\n // object[type=\"image/svg+xml\"] is not focusable in Internet Explorer\n return false;\n } else if (!supports$1.focusObjectSwf && svgType === \"application/x-shockwave-flash\") {\n // object[type=\"application/x-shockwave-flash\"] is not focusable in Internet Explorer 9\n return false;\n }\n }\n if (nodeName === \"iframe\" || nodeName === \"object\") {\n // browsing context containers\n return true;\n }\n if (nodeName === \"embed\" || nodeName === \"keygen\") {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true;\n }\n if (element.hasAttribute(\"contenteditable\")) {\n // also see CSS property user-modify below\n return true;\n }\n if (nodeName === \"audio\" && (supports$1.focusAudioWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (nodeName === \"video\" && (supports$1.focusVideoWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (supports$1.focusSummary && nodeName === \"summary\") {\n return true;\n }\n var validTabindex = isValidTabindex(element);\n if (nodeName === \"img\" && element.hasAttribute(\"usemap\")) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the <map>\n return validTabindex && supports$1.focusImgUsemapTabindex || supports$1.focusRedirectImgUsemap;\n }\n if (supports$1.focusTable && (nodeName === \"table\" || nodeName === \"td\")) {\n // IE10-11 supports.can focus <table> and <td>\n return true;\n }\n if (supports$1.focusFieldset && nodeName === \"fieldset\") {\n // IE10-11 supports.can focus <fieldset>\n return true;\n }\n var isSvgElement = nodeName === \"svg\";\n var isSvgContent = element.ownerSVGElement;\n var focusableAttribute = element.getAttribute(\"focusable\");\n var tabindex = tabindexValue(element);\n if (nodeName === \"use\" && tabindex !== null && !supports$1.focusSvgUseTabindex) {\n // <use> cannot be made focusable by adding a tabindex attribute anywhere but Blink and WebKit\n return false;\n }\n if (nodeName === \"foreignobject\") {\n // <use> can only be made focusable in Blink and WebKit\n return tabindex !== null && supports$1.focusSvgForeignobjectTabindex;\n }\n if (elementMatches(element, \"svg a\") && element.hasAttribute(\"xlink:href\")) {\n return true;\n }\n if ((isSvgElement || isSvgContent) && element.focus && !supports$1.focusSvgNegativeTabindexAttribute && tabindex < 0) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return false;\n }\n if (isSvgElement) {\n return validTabindex || supports$1.focusSvg || supports$1.focusSvgInIframe || // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n Boolean(supports$1.focusSvgFocusableAttribute && focusableAttribute && focusableAttribute === \"true\");\n }\n if (isSvgContent) {\n if (supports$1.focusSvgTabindexAttribute && validTabindex) {\n return true;\n }\n if (supports$1.focusSvgFocusableAttribute) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n return focusableAttribute === \"true\";\n }\n }\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n if (validTabindex) {\n return true;\n }\n var style = window.getComputedStyle(element, null);\n if (isUserModifyWritable(style)) {\n return true;\n }\n if (supports$1.focusImgIsmap && nodeName === \"img\" && element.hasAttribute(\"ismap\")) {\n // IE10-11 considers the <img> in <a href><img ismap> focusable\n // https://github.com/medialize/ally.js/issues/20\n var hasLinkParent = getParents({\n context: element\n }).some(function(parent) {\n return parent.nodeName.toLowerCase() === \"a\" && parent.hasAttribute(\"href\");\n });\n if (hasLinkParent) {\n return true;\n }\n }\n // https://github.com/medialize/ally.js/issues/21\n if (!except.scrollable && supports$1.focusScrollContainer) {\n if (supports$1.focusScrollContainerWithoutOverflow) {\n // Internet Explorer does will consider the scrollable area focusable\n // if the element is a <div> or a <span> and it is in fact scrollable,\n // regardless of the CSS overflow property\n if (isScrollableContainer(element, nodeName)) {\n return true;\n }\n } else if (hasCssOverflowScroll(style)) {\n // Firefox requires proper overflow setting, IE does not necessarily\n // https://developer.mozilla.org/docs/Web/CSS/overflow\n return true;\n }\n }\n if (!except.flexbox && supports$1.focusFlexboxContainer && hasCssDisplayFlex(style)) {\n // elements with display:flex are focusable in IE10-11\n return true;\n }\n var parent = element.parentElement;\n if (!except.scrollable && parent) {\n var parentNodeName = parent.nodeName.toLowerCase();\n var parentStyle = window.getComputedStyle(parent, null);\n if (supports$1.focusScrollBody && isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)) {\n // scrollable bodies are focusable Internet Explorer\n // https://github.com/medialize/ally.js/issues/21\n return true;\n }\n // Children of focusable elements with display:flex are focusable in IE10-11\n if (supports$1.focusChildrenOfFocusableFlexbox) {\n if (hasCssDisplayFlex(parentStyle)) {\n return true;\n }\n }\n }\n // NOTE: elements marked as inert are not focusable,\n // but that property is not exposed to the DOM\n // https://www.w3.org/TR/html5/editing.html#inert\n return false;\n}\n// bind exceptions to an iterator callback\nisFocusRelevantRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isFocusRelevant = function isFocusRelevant(context) {\n return isFocusRelevantRules({\n context: context,\n except: except\n });\n };\n isFocusRelevant.rules = isFocusRelevantRules;\n return isFocusRelevant;\n};\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusRelevant = isFocusRelevantRules.except({});\nfunction findIndex(array, callback) {\n // attempt to use native or polyfilled Array#findIndex first\n if (array.findIndex) {\n return array.findIndex(callback);\n }\n var length = array.length;\n // shortcut if the array is empty\n if (length === 0) {\n return -1;\n }\n // otherwise loop over array\n for(var i = 0; i < length; i++){\n if (callback(array[i], i, array)) {\n return i;\n }\n }\n return -1;\n}\nfunction getContentDocument(node) {\n try {\n // works on <object> and <iframe>\n return node.contentDocument || // works on <object> and <iframe>\n node.contentWindow && node.contentWindow.document || // works on <object> and <iframe> that contain SVG\n node.getSVGDocument && node.getSVGDocument() || null;\n } catch (e) {\n // SecurityError: Failed to read the 'contentDocument' property from 'HTMLObjectElement'\n // also IE may throw member not found exception e.g. on <object type=\"image/png\">\n return null;\n }\n}\nfunction getWindow(node) {\n var _document = getDocument(node);\n return _document.defaultView || window;\n}\nvar shadowPrefix = void 0;\nfunction selectInShadows(selector) {\n if (typeof shadowPrefix !== \"string\") {\n var operator = cssShadowPiercingDeepCombinator();\n if (operator) {\n shadowPrefix = \", html \" + operator + \" \";\n }\n }\n if (!shadowPrefix) {\n return selector;\n }\n return selector + shadowPrefix + selector.replace(/\\s*,\\s*/g, \",\").split(\",\").join(shadowPrefix);\n}\nvar selector = void 0;\nfunction findDocumentHostElement(_window) {\n if (!selector) {\n selector = selectInShadows(\"object, iframe\");\n }\n if (_window._frameElement !== undefined) {\n return _window._frameElement;\n }\n _window._frameElement = null;\n var potentialHosts = _window.parent.document.querySelectorAll(selector);\n [].some.call(potentialHosts, function(element) {\n var _document = getContentDocument(element);\n if (_document !== _window.document) {\n return false;\n }\n _window._frameElement = element;\n return true;\n });\n return _window._frameElement;\n}\nfunction getFrameElement(element) {\n var _window = getWindow(element);\n if (!_window.parent || _window.parent === _window) {\n // if there is no parent browsing context,\n // we're not going to get a frameElement either way\n return null;\n }\n try {\n // see https://developer.mozilla.org/docs/Web/API/Window/frameElement\n // does not work within <embed> anywhere, and not within in <object> in IE\n return _window.frameElement || findDocumentHostElement(_window);\n } catch (e) {\n return null;\n }\n}\n// https://www.w3.org/TR/html5/rendering.html#being-rendered\n// <area> is not rendered, but we *consider* it visible to simplfiy this function's usage\nvar notRenderedElementsPattern = /^(area)$/;\nfunction computedStyle(element, property) {\n return window.getComputedStyle(element, null).getPropertyValue(property);\n}\nfunction notDisplayed(_path) {\n return _path.some(function(element) {\n // display:none is not visible (optimized away at layout)\n return computedStyle(element, \"display\") === \"none\";\n });\n}\nfunction notVisible(_path) {\n // https://github.com/jquery/jquery-ui/blob/master/ui/core.js#L109-L114\n // NOTE: a nested element can reverse visibility:hidden|collapse by explicitly setting visibility:visible\n // NOTE: visibility can be [\"\", \"visible\", \"hidden\", \"collapse\"]\n var hidden = findIndex(_path, function(element) {\n var visibility = computedStyle(element, \"visibility\");\n return visibility === \"hidden\" || visibility === \"collapse\";\n });\n if (hidden === -1) {\n // there is no hidden element\n return false;\n }\n var visible = findIndex(_path, function(element) {\n return computedStyle(element, \"visibility\") === \"visible\";\n });\n if (visible === -1) {\n // there is no visible element (but a hidden element)\n return true;\n }\n if (hidden < visible) {\n // there is a hidden element and it's closer than the first visible element\n return true;\n }\n // there may be a hidden element, but the closest element is visible\n return false;\n}\nfunction collapsedParent(_path) {\n var offset = 1;\n if (_path[0].nodeName.toLowerCase() === \"summary\") {\n offset = 2;\n }\n return _path.slice(offset).some(function(element) {\n // \"content children\" of a closed details element are not visible\n return element.nodeName.toLowerCase() === \"details\" && element.open === false;\n });\n}\nfunction isVisibleRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n notRendered: false,\n cssDisplay: false,\n cssVisibility: false,\n detailsElement: false,\n browsingContext: false\n } : _ref$except;\n var element = contextToElement({\n label: \"is/visible\",\n resolveDocument: true,\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n if (!except.notRendered && notRenderedElementsPattern.test(nodeName)) {\n return true;\n }\n var _path = getParents({\n context: element\n });\n // in Internet Explorer <audio> has a default display: none, where others have display: inline\n // but IE allows focusing <audio style=\"display:none\">, but not <div display:none><audio>\n // this is irrelevant to other browsers, as the controls attribute is required to make <audio> focusable\n var isAudioWithoutControls = nodeName === \"audio\" && !element.hasAttribute(\"controls\");\n if (!except.cssDisplay && notDisplayed(isAudioWithoutControls ? _path.slice(1) : _path)) {\n return false;\n }\n if (!except.cssVisibility && notVisible(_path)) {\n return false;\n }\n if (!except.detailsElement && collapsedParent(_path)) {\n return false;\n }\n if (!except.browsingContext) {\n // elements within a browsing context are affected by the\n // browsing context host element's visibility and tabindex\n var frameElement = getFrameElement(element);\n var _isVisible = isVisibleRules.except(except);\n if (frameElement && !_isVisible(frameElement)) {\n return false;\n }\n }\n return true;\n}\n// bind exceptions to an iterator callback\nisVisibleRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isVisible = function isVisible(context) {\n return isVisibleRules({\n context: context,\n except: except\n });\n };\n isVisible.rules = isVisibleRules;\n return isVisible;\n};\n// provide isVisible(context) as default iterator callback\nvar isVisible = isVisibleRules.except({});\nfunction getMapByName(name, _document) {\n // apparently getElementsByName() also considers id attribute in IE & opera\n // https://developer.mozilla.org/docs/Web/API/Document/getElementsByName\n var map = _document.querySelector('map[name=\"' + (0, _cssescape.default)(name) + '\"]');\n return map || null;\n}\nfunction getImageOfArea(element) {\n var map = element.parentElement;\n if (!map.name || map.nodeName.toLowerCase() !== \"map\") {\n return null;\n }\n // NOTE: image maps can also be applied to <object> with image content,\n // but no browser supports this at the moment\n // HTML5 specifies HTMLMapElement.images to be an HTMLCollection of all\n // <img> and <object> referencing the <map> element, but no browser implements this\n // https://www.w3.org/TR/html5/embedded-content-0.html#the-map-element\n // https://developer.mozilla.org/docs/Web/API/HTMLMapElement\n // the image must be valid and loaded for the map to take effect\n var _document = getDocument(element);\n return _document.querySelector('img[usemap=\"#' + (0, _cssescape.default)(map.name) + '\"]') || null;\n}\nvar supports$2 = void 0;\n// https://developer.mozilla.org/docs/Web/HTML/Element/map\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\n// https://github.com/jquery/jquery-ui/blob/master/ui/core.js#L88-L107\nfunction isValidArea(context) {\n if (!supports$2) {\n supports$2 = _supports();\n }\n var element = contextToElement({\n label: \"is/valid-area\",\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName !== \"area\") {\n return false;\n }\n var hasTabindex = element.hasAttribute(\"tabindex\");\n if (!supports$2.focusAreaTabindex && hasTabindex) {\n // Blink and WebKit do not consider <area tabindex=\"-1\" href=\"#void\"> focusable\n return false;\n }\n var img = getImageOfArea(element);\n if (!img || !isVisible(img)) {\n return false;\n }\n // Firefox only allows fully loaded images to reference image maps\n // https://stereochro.me/ideas/detecting-broken-images-js\n if (!supports$2.focusBrokenImageMap && (!img.complete || !img.naturalHeight || img.offsetWidth <= 0 || img.offsetHeight <= 0)) {\n return false;\n }\n // Firefox supports.can focus area elements even if they don't have an href attribute\n if (!supports$2.focusAreaWithoutHref && !element.href) {\n // Internet explorer supports.can focus area elements without href if either\n // the area element or the image element has a tabindex attribute\n return supports$2.focusAreaTabindex && hasTabindex || supports$2.focusAreaImgTabindex && img.hasAttribute(\"tabindex\");\n }\n // https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\n var childOfInteractive = getParents({\n context: img\n }).slice(1).some(function(_element) {\n var name = _element.nodeName.toLowerCase();\n return name === \"button\" || name === \"a\";\n });\n if (childOfInteractive) {\n return false;\n }\n return true;\n}\nvar supports$3 = void 0;\n// https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\nvar disabledElementsPattern = void 0;\nvar disabledElements = {\n input: true,\n select: true,\n textarea: true,\n button: true,\n fieldset: true,\n form: true\n};\nfunction isNativeDisabledSupported(context) {\n if (!supports$3) {\n supports$3 = _supports();\n if (supports$3.focusFieldsetDisabled) {\n delete disabledElements.fieldset;\n }\n if (supports$3.focusFormDisabled) {\n delete disabledElements.form;\n }\n disabledElementsPattern = new RegExp(\"^(\" + Object.keys(disabledElements).join(\"|\") + \")$\");\n }\n var element = contextToElement({\n label: \"is/native-disabled-supported\",\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n return Boolean(disabledElementsPattern.test(nodeName));\n}\nvar supports$4 = void 0;\nfunction isDisabledFieldset(element) {\n var nodeName = element.nodeName.toLowerCase();\n return nodeName === \"fieldset\" && element.disabled;\n}\nfunction isDisabledForm(element) {\n var nodeName = element.nodeName.toLowerCase();\n return nodeName === \"form\" && element.disabled;\n}\nfunction isDisabled(context) {\n if (!supports$4) {\n supports$4 = _supports();\n }\n var element = contextToElement({\n label: \"is/disabled\",\n context: context\n });\n if (element.hasAttribute(\"data-ally-disabled\")) {\n // treat ally's element/disabled like the DOM native element.disabled\n return true;\n }\n if (!isNativeDisabledSupported(element)) {\n // non-form elements do not support the disabled attribute\n return false;\n }\n if (element.disabled) {\n // the element itself is disabled\n return true;\n }\n var parents = getParents({\n context: element\n });\n if (parents.some(isDisabledFieldset)) {\n // a parental <fieldset> is disabld and inherits the state onto this element\n return true;\n }\n if (!supports$4.focusFormDisabled && parents.some(isDisabledForm)) {\n // a parental <form> is disabld and inherits the state onto this element\n return true;\n }\n return false;\n}\nfunction isOnlyTabbableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n onlyFocusableBrowsingContext: false,\n visible: false\n } : _ref$except;\n var element = contextToElement({\n label: \"is/only-tabbable\",\n resolveDocument: true,\n context: context\n });\n if (!except.visible && !isVisible(element)) {\n return false;\n }\n if (!except.onlyFocusableBrowsingContext && (platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE)) {\n var frameElement = getFrameElement(element);\n if (frameElement) {\n if (tabindexValue(frameElement) < 0) {\n // iframe[tabindex=\"-1\"] and object[tabindex=\"-1\"] inherit the\n // tabbable demotion onto elements of their browsing contexts\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n var tabindex = tabindexValue(element);\n if (nodeName === \"label\" && platform.is.GECKO) {\n // Firefox cannot focus, but tab to: label[tabindex=0]\n return tabindex !== null && tabindex >= 0;\n }\n // SVG Elements were keyboard focusable but not script focusable before Firefox 51.\n // Firefox 51 added the focus management DOM API (.focus and .blur) to SVGElement,\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=778654\n if (platform.is.GECKO && element.ownerSVGElement && !element.focus) {\n if (nodeName === \"a\" && element.hasAttribute(\"xlink:href\")) {\n // any focusable child of <svg> cannot be focused, but tabbed to\n if (platform.is.GECKO) {\n return true;\n }\n }\n }\n return false;\n}\n// bind exceptions to an iterator callback\nisOnlyTabbableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isOnlyTabbable = function isOnlyTabbable(context) {\n return isOnlyTabbableRules({\n context: context,\n except: except\n });\n };\n isOnlyTabbable.rules = isOnlyTabbableRules;\n return isOnlyTabbable;\n};\n// provide isOnlyTabbable(context) as default iterator callback\nvar isOnlyTabbable = isOnlyTabbableRules.except({});\nvar supports$5 = void 0;\nfunction isOnlyFocusRelevant(element) {\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"embed\" || nodeName === \"keygen\") {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true;\n }\n var _tabindex = tabindexValue(element);\n if (element.shadowRoot && _tabindex === null) {\n // ShadowDOM host elements *may* receive focus\n // even though they are not considered focuable\n return true;\n }\n if (nodeName === \"label\") {\n // <label tabindex=\"0\"> is only tabbable in Firefox, not script-focusable\n // there's no way to make an element focusable other than by adding a tabindex,\n // and focus behavior of the label element seems hard-wired to ignore tabindex\n // in some browsers (like Gecko, Blink and WebKit)\n return !supports$5.focusLabelTabindex || _tabindex === null;\n }\n if (nodeName === \"legend\") {\n return _tabindex === null;\n }\n if (supports$5.focusSvgFocusableAttribute && (element.ownerSVGElement || nodeName === \"svg\")) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n var focusableAttribute = element.getAttribute(\"focusable\");\n return focusableAttribute && focusableAttribute === \"false\";\n }\n if (nodeName === \"img\" && element.hasAttribute(\"usemap\")) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the <map>\n return _tabindex === null || !supports$5.focusImgUsemapTabindex;\n }\n if (nodeName === \"area\") {\n // all <area>s are considered relevant,\n // but only the valid <area>s are focusable\n return !isValidArea(element);\n }\n return false;\n}\nfunction isFocusableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n disabled: false,\n visible: false,\n onlyTabbable: false\n } : _ref$except;\n if (!supports$5) {\n supports$5 = _supports();\n }\n var _isOnlyTabbable = isOnlyTabbable.rules.except({\n onlyFocusableBrowsingContext: true,\n visible: except.visible\n });\n var element = contextToElement({\n label: \"is/focusable\",\n resolveDocument: true,\n context: context\n });\n var focusRelevant = isFocusRelevant.rules({\n context: element,\n except: except\n });\n if (!focusRelevant || isOnlyFocusRelevant(element)) {\n return false;\n }\n if (!except.disabled && isDisabled(element)) {\n return false;\n }\n if (!except.onlyTabbable && _isOnlyTabbable(element)) {\n // some elements may be keyboard focusable, but not script focusable\n return false;\n }\n // elements that are not rendered, cannot be focused\n if (!except.visible) {\n var visibilityOptions = {\n context: element,\n except: {}\n };\n if (supports$5.focusInHiddenIframe) {\n // WebKit and Blink can focus content in hidden <iframe> and <object>\n visibilityOptions.except.browsingContext = true;\n }\n if (supports$5.focusObjectSvgHidden) {\n // Blink allows focusing the object element, even if it has visibility: hidden;\n // @browser-issue Blink https://code.google.com/p/chromium/issues/detail?id=586191\n var _nodeName2 = element.nodeName.toLowerCase();\n if (_nodeName2 === \"object\") {\n visibilityOptions.except.cssVisibility = true;\n }\n }\n if (!isVisible.rules(visibilityOptions)) {\n return false;\n }\n }\n var frameElement = getFrameElement(element);\n if (frameElement) {\n var _nodeName = frameElement.nodeName.toLowerCase();\n if (_nodeName === \"object\" && !supports$5.focusInZeroDimensionObject) {\n if (!frameElement.offsetWidth || !frameElement.offsetHeight) {\n // WebKit can not focus content in <object> if it doesn't have dimensions\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"svg\" && supports$5.focusSvgInIframe && !frameElement && element.getAttribute(\"tabindex\") === null) {\n return false;\n }\n return true;\n}\n// bind exceptions to an iterator callback\nisFocusableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isFocusable = function isFocusable(context) {\n return isFocusableRules({\n context: context,\n except: except\n });\n };\n isFocusable.rules = isFocusableRules;\n return isFocusable;\n};\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusable = isFocusableRules.except({});\nfunction createFilter(condition) {\n // see https://developer.mozilla.org/docs/Web/API/NodeFilter\n var filter = function filter(node) {\n if (node.shadowRoot) {\n // return ShadowRoot elements regardless of them being focusable,\n // so they can be walked recursively later\n return NodeFilter.FILTER_ACCEPT;\n }\n if (condition(node)) {\n // finds elements that could have been found by document.querySelectorAll()\n return NodeFilter.FILTER_ACCEPT;\n }\n return NodeFilter.FILTER_SKIP;\n };\n // IE requires a function, Browsers require {acceptNode: function}\n // see http://www.bennadel.com/blog/2607-finding-html-comment-nodes-in-the-dom-using-treewalker.htm\n filter.acceptNode = filter;\n return filter;\n}\nvar PossiblyFocusableFilter = createFilter(isFocusRelevant);\nfunction queryFocusableStrict() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n if (!context) {\n context = document.documentElement;\n }\n var _isFocusable = isFocusable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n var _document = getDocument(context);\n // see https://developer.mozilla.org/docs/Web/API/Document/createTreeWalker\n var walker = _document.createTreeWalker(context, NodeFilter.SHOW_ELEMENT, strategy === \"all\" ? PossiblyFocusableFilter : createFilter(_isFocusable), false);\n var list = [];\n while(walker.nextNode()){\n if (walker.currentNode.shadowRoot) {\n if (_isFocusable(walker.currentNode)) {\n list.push(walker.currentNode);\n }\n list = list.concat(queryFocusableStrict({\n context: walker.currentNode.shadowRoot,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n }));\n } else {\n list.push(walker.currentNode);\n }\n }\n // add context if requested and focusable\n if (includeContext) {\n if (strategy === \"all\") {\n if (isFocusRelevant(context)) {\n list.unshift(context);\n }\n } else if (_isFocusable(context)) {\n list.unshift(context);\n }\n }\n return list;\n}\n// NOTE: this selector MUST *never* be used directly,\nvar supports$6 = void 0;\nvar selector$1 = void 0;\nfunction selector$2() {\n if (!supports$6) {\n supports$6 = _supports();\n }\n if (typeof selector$1 === \"string\") {\n return selector$1;\n }\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n selector$1 = \"\" + // IE11 supports.can focus <table> and <td>\n (supports$6.focusTable ? \"table, td,\" : \"\") + // IE11 supports.can focus <fieldset>\n (supports$6.focusFieldset ? \"fieldset,\" : \"\") + // Namespace problems of [xlink:href] explained in https://stackoverflow.com/a/23047888/515124\n // svg a[*|href] does not match in IE9, but since we're filtering\n // through is/focusable we can include all <a> from SVG\n \"svg a,\" + // may behave as 'svg, svg *,' in chrome as *every* svg element with a focus event listener is focusable\n // navigational elements\n \"a[href],\" + // validity determined by is/valid-area.js\n \"area[href],\" + // validity determined by is/disabled.js\n \"input, select, textarea, button,\" + // browsing context containers\n \"iframe, object, embed,\" + // interactive content\n \"keygen,\" + (supports$6.focusAudioWithoutControls ? \"audio,\" : \"audio[controls],\") + (supports$6.focusVideoWithoutControls ? \"video,\" : \"video[controls],\") + (supports$6.focusSummary ? \"summary,\" : \"\") + // validity determined by is/valid-tabindex.js\n \"[tabindex],\" + // editing hosts\n \"[contenteditable]\";\n // where ShadowDOM is supported, we also want the shadowed focusable elements (via \">>>\" or \"/deep/\")\n selector$1 = selectInShadows(selector$1);\n return selector$1;\n}\nfunction queryFocusableQuick() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable;\n var _selector = selector$2();\n var elements = context.querySelectorAll(_selector);\n // the selector potentially matches more than really is focusable\n var _isFocusable = isFocusable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n var result = [].filter.call(elements, _isFocusable);\n // add context if requested and focusable\n if (includeContext && _isFocusable(context)) {\n result.unshift(context);\n }\n return result;\n}\nfunction queryFocusable() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, _ref$strategy = _ref.strategy, strategy = _ref$strategy === undefined ? \"quick\" : _ref$strategy;\n var element = contextToElement({\n label: \"query/focusable\",\n resolveDocument: true,\n defaultToDocument: true,\n context: context\n });\n var options = {\n context: element,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n };\n if (strategy === \"quick\") {\n return queryFocusableQuick(options);\n } else if (strategy === \"strict\" || strategy === \"all\") {\n return queryFocusableStrict(options);\n }\n throw new TypeError('query/focusable requires option.strategy to be one of [\"quick\", \"strict\", \"all\"]');\n}\nvar supports$7 = void 0;\n// Internet Explorer 11 considers fieldset, table, td focusable, but not tabbable\n// Internet Explorer 11 considers body to have [tabindex=0], but does not allow tabbing to it\nvar focusableElementsPattern = /^(fieldset|table|td|body)$/;\nfunction isTabbableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n flexbox: false,\n scrollable: false,\n shadow: false,\n visible: false,\n onlyTabbable: false\n } : _ref$except;\n if (!supports$7) {\n supports$7 = _supports();\n }\n var element = contextToElement({\n label: \"is/tabbable\",\n resolveDocument: true,\n context: context\n });\n if (platform.is.BLINK && platform.is.ANDROID && platform.majorVersion > 42) {\n // External keyboard support worked fine in CHrome 42, but stopped working in Chrome 45.\n // The on-screen keyboard does not provide a way to focus the next input element (like iOS does).\n // That leaves us with no option to advance focus by keyboard, ergo nothing is tabbable (keyboard focusable).\n return false;\n }\n var frameElement = getFrameElement(element);\n if (frameElement) {\n if (platform.is.WEBKIT && platform.is.IOS) {\n // iOS only does not consider anything from another browsing context keyboard focusable\n return false;\n }\n // iframe[tabindex=\"-1\"] and object[tabindex=\"-1\"] inherit the\n // tabbable demotion onto elements of their browsing contexts\n if (tabindexValue(frameElement) < 0) {\n return false;\n }\n if (!except.visible && (platform.is.BLINK || platform.is.WEBKIT) && !isVisible(frameElement)) {\n // Blink and WebKit consider elements in hidden browsing contexts focusable, but not tabbable\n return false;\n }\n // Webkit and Blink don't consider anything in <object> tabbable\n // Blink fixed that fixed in Chrome 54, Opera 41\n var frameNodeName = frameElement.nodeName.toLowerCase();\n if (frameNodeName === \"object\") {\n var isFixedBlink = platform.name === \"Chrome\" && platform.majorVersion >= 54 || platform.name === \"Opera\" && platform.majorVersion >= 41;\n if (platform.is.WEBKIT || platform.is.BLINK && !isFixedBlink) {\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n var _tabindex = tabindexValue(element);\n var tabindex = _tabindex === null ? null : _tabindex >= 0;\n if (platform.is.EDGE && platform.majorVersion >= 14 && frameElement && element.ownerSVGElement && _tabindex < 0) {\n // Edge 14+ considers <a xlink:href=\"…\" tabindex=\"-1\"> keyboard focusable\n // if the element is in a nested browsing context\n return true;\n }\n var hasTabbableTabindexOrNone = tabindex !== false;\n var hasTabbableTabindex = _tabindex !== null && _tabindex >= 0;\n // NOTE: Firefox 31 considers [contenteditable] to have [tabindex=-1], but allows tabbing to it\n // fixed in Firefox 40 the latest - https://bugzilla.mozilla.org/show_bug.cgi?id=1185657\n if (element.hasAttribute(\"contenteditable\")) {\n // tabbing can still be disabled by explicitly providing [tabindex=\"-1\"]\n return hasTabbableTabindexOrNone;\n }\n if (focusableElementsPattern.test(nodeName) && tabindex !== true) {\n return false;\n }\n if (platform.is.WEBKIT && platform.is.IOS) {\n // iOS only considers a hand full of elements tabbable (keyboard focusable)\n // this holds true even with external keyboards\n var potentiallyTabbable = nodeName === \"input\" && element.type === \"text\" || element.type === \"password\" || nodeName === \"select\" || nodeName === \"textarea\" || element.hasAttribute(\"contenteditable\");\n if (!potentiallyTabbable) {\n var style = window.getComputedStyle(element, null);\n potentiallyTabbable = isUserModifyWritable(style);\n }\n if (!potentiallyTabbable) {\n return false;\n }\n }\n if (nodeName === \"use\" && _tabindex !== null) {\n if (platform.is.BLINK || platform.is.WEBKIT && platform.majorVersion === 9) {\n // In Chrome and Safari 9 the <use> element is keyboard focusable even for tabindex=\"-1\"\n return true;\n }\n }\n if (elementMatches(element, \"svg a\") && element.hasAttribute(\"xlink:href\")) {\n if (hasTabbableTabindexOrNone) {\n // in Trident and Gecko SVGElement does not handle the tabIndex property properly\n return true;\n }\n if (element.focus && !supports$7.focusSvgNegativeTabindexAttribute) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return true;\n }\n }\n if (nodeName === \"svg\" && supports$7.focusSvgInIframe && hasTabbableTabindexOrNone) {\n return true;\n }\n if (platform.is.TRIDENT || platform.is.EDGE) {\n if (nodeName === \"svg\") {\n if (supports$7.focusSvg) {\n // older Internet Explorers consider <svg> keyboard focusable\n // unless they have focsable=\"false\", but then they wouldn't\n // be focusable and thus not even reach this filter\n return true;\n }\n // elements that have [focusable] are automatically keyboard focusable regardless of the attribute's value\n return element.hasAttribute(\"focusable\") || hasTabbableTabindex;\n }\n if (element.ownerSVGElement) {\n if (supports$7.focusSvgTabindexAttribute && hasTabbableTabindex) {\n return true;\n }\n // elements that have [focusable] are automatically keyboard focusable regardless of the attribute's value\n return element.hasAttribute(\"focusable\");\n }\n }\n if (element.tabIndex === undefined) {\n return Boolean(except.onlyTabbable);\n }\n if (nodeName === \"audio\") {\n if (!element.hasAttribute(\"controls\")) {\n // In Internet Explorer the <audio> element is focusable, but not tabbable, and tabIndex property is wrong\n return false;\n } else if (platform.is.BLINK) {\n // In Chrome <audio controls tabindex=\"-1\"> remains keyboard focusable\n return true;\n }\n }\n if (nodeName === \"video\") {\n if (!element.hasAttribute(\"controls\")) {\n if (platform.is.TRIDENT || platform.is.EDGE) {\n // In Internet Explorer and Edge the <video> element is focusable, but not tabbable, and tabIndex property is wrong\n return false;\n }\n } else if (platform.is.BLINK || platform.is.GECKO) {\n // In Chrome and Firefox <video controls tabindex=\"-1\"> remains keyboard focusable\n return true;\n }\n }\n if (nodeName === \"object\") {\n if (platform.is.BLINK || platform.is.WEBKIT) {\n // In all Blink and WebKit based browsers <embed> and <object> are never keyboard focusable, even with tabindex=\"0\" set\n return false;\n }\n }\n if (nodeName === \"iframe\") {\n // In Internet Explorer all iframes are only focusable\n // In WebKit, Blink and Gecko iframes may be tabbable depending on content.\n // Since we can't reliably investigate iframe documents because of the\n // SameOriginPolicy, we're declaring everything only focusable.\n return false;\n }\n if (!except.scrollable && platform.is.GECKO) {\n // Firefox considers scrollable containers keyboard focusable,\n // even though their tabIndex property is -1\n var _style = window.getComputedStyle(element, null);\n if (hasCssOverflowScroll(_style)) {\n return hasTabbableTabindexOrNone;\n }\n }\n if (platform.is.TRIDENT || platform.is.EDGE) {\n // IE and Edge degrade <area> to script focusable, if the image\n // using the <map> has been given tabindex=\"-1\"\n if (nodeName === \"area\") {\n var img = getImageOfArea(element);\n if (img && tabindexValue(img) < 0) {\n return false;\n }\n }\n var _style2 = window.getComputedStyle(element, null);\n if (isUserModifyWritable(_style2)) {\n // prevent being swallowed by the overzealous isScrollableContainer() below\n return element.tabIndex >= 0;\n }\n if (!except.flexbox && hasCssDisplayFlex(_style2)) {\n if (_tabindex !== null) {\n return hasTabbableTabindex;\n }\n return isFocusRelevantWithoutFlexbox(element) && isTabbableWithoutFlexbox(element);\n }\n // IE considers scrollable containers script focusable only,\n // even though their tabIndex property is 0\n if (isScrollableContainer(element, nodeName)) {\n return false;\n }\n var parent = element.parentElement;\n if (parent) {\n var parentNodeName = parent.nodeName.toLowerCase();\n var parentStyle = window.getComputedStyle(parent, null);\n // IE considers scrollable bodies script focusable only,\n if (isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)) {\n return false;\n }\n // Children of focusable elements with display:flex are focusable in IE10-11,\n // even though their tabIndex property suggests otherwise\n if (hasCssDisplayFlex(parentStyle)) {\n // value of tabindex takes precedence\n return hasTabbableTabindex;\n }\n }\n }\n // https://www.w3.org/WAI/PF/aria-practices/#focus_tabindex\n return element.tabIndex >= 0;\n}\n// bind exceptions to an iterator callback\nisTabbableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isTabbable = function isTabbable(context) {\n return isTabbableRules({\n context: context,\n except: except\n });\n };\n isTabbable.rules = isTabbableRules;\n return isTabbable;\n};\nvar isFocusRelevantWithoutFlexbox = isFocusRelevant.rules.except({\n flexbox: true\n});\nvar isTabbableWithoutFlexbox = isTabbableRules.except({\n flexbox: true\n});\n// provide isTabbable(context) as default iterator callback\nvar isTabbable = isTabbableRules.except({});\nfunction queryTabbable() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n var _isTabbable = isTabbable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n return queryFocusable({\n context: context,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n }).filter(_isTabbable);\n}\n// sorts a list of elements according to their order in the DOM\nfunction compareDomPosition(a, b) {\n return a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n}\nfunction sortDomOrder(elements) {\n return elements.sort(compareDomPosition);\n}\nfunction getFirstSuccessorOffset(list, target) {\n // find the first element that comes AFTER the target element\n return findIndex(list, function(element) {\n return target.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_FOLLOWING;\n });\n}\nfunction findInsertionOffsets(list, elements, resolveElement) {\n // instead of mutating the elements list directly, remember position and map\n // to inject later, when we can do this more efficiently\n var insertions = [];\n elements.forEach(function(element) {\n var replace = true;\n var offset = list.indexOf(element);\n if (offset === -1) {\n // element is not in target list\n offset = getFirstSuccessorOffset(list, element);\n replace = false;\n }\n if (offset === -1) {\n // there is no successor in the tabsequence,\n // meaning the image must be the last element\n offset = list.length;\n }\n // allow the consumer to replace the injected element\n var injections = nodeArray(resolveElement ? resolveElement(element) : element);\n if (!injections.length) {\n // we can't inject zero elements\n return;\n }\n insertions.push({\n offset: offset,\n replace: replace,\n elements: injections\n });\n });\n return insertions;\n}\nfunction insertElementsAtOffsets(list, insertions) {\n // remember the number of elements we have already injected\n // so we account for the caused index offset\n var inserted = 0;\n // make sure that we insert the elements in sequence,\n // otherwise the offset compensation won't work\n insertions.sort(function(a, b) {\n return a.offset - b.offset;\n });\n insertions.forEach(function(insertion) {\n // array.splice has an annoying function signature :(\n var remove = insertion.replace ? 1 : 0;\n var args = [\n insertion.offset + inserted,\n remove\n ].concat(insertion.elements);\n list.splice.apply(list, args);\n inserted += insertion.elements.length - remove;\n });\n}\nfunction mergeInDomOrder() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, list = _ref.list, elements = _ref.elements, resolveElement = _ref.resolveElement;\n // operate on a copy so we don't mutate the original array\n var _list = list.slice(0);\n // make sure the elements we're injecting are provided in DOM order\n var _elements = nodeArray(elements).slice(0);\n sortDomOrder(_elements);\n // find the offsets within the target array (list) at which to inject\n // each individual element (from elements)\n var insertions = findInsertionOffsets(_list, _elements, resolveElement);\n // actually inject the elements into the target array at the identified positions\n insertElementsAtOffsets(_list, insertions);\n return _list;\n}\nvar _createClass = function() {\n function defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nvar Maps = function() {\n function Maps(context) {\n _classCallCheck(this, Maps);\n this._document = getDocument(context);\n this.maps = {};\n }\n _createClass(Maps, [\n {\n key: \"getAreasFor\",\n value: function getAreasFor(name) {\n if (!this.maps[name]) {\n // the map is not defined within the context, so we\n // have to go find it elsewhere in the document\n this.addMapByName(name);\n }\n return this.maps[name];\n }\n },\n {\n key: \"addMapByName\",\n value: function addMapByName(name) {\n var map = getMapByName(name, this._document);\n if (!map) {\n // if there is no map, the img[usemap] wasn't doing anything anyway\n return;\n }\n this.maps[map.name] = queryTabbable({\n context: map\n });\n }\n },\n {\n key: \"extractAreasFromList\",\n value: function extractAreasFromList(elements) {\n // remove all <area> elements from the elements list,\n // but put them the map for later retrieval\n return elements.filter(function(element) {\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName !== \"area\") {\n return true;\n }\n var map = element.parentNode;\n if (!this.maps[map.name]) {\n this.maps[map.name] = [];\n }\n this.maps[map.name].push(element);\n return false;\n }, this);\n }\n }\n ]);\n return Maps;\n}();\nfunction sortArea(elements, context) {\n // images - unless they are focusable themselves, likely not\n // part of the elements list, so we'll have to find them and\n // sort them into the elements list manually\n var usemaps = context.querySelectorAll(\"img[usemap]\");\n var maps = new Maps(context);\n // remove all <area> elements from the elements list,\n // but put them the map for later retrieval\n var _elements = maps.extractAreasFromList(elements);\n if (!usemaps.length) {\n // the context does not contain any <area>s so no need\n // to replace anything, just remove any maps\n return _elements;\n }\n return mergeInDomOrder({\n list: _elements,\n elements: usemaps,\n resolveElement: function resolveElement(image) {\n var name = image.getAttribute(\"usemap\").slice(1);\n return maps.getAreasFor(name);\n }\n });\n}\nvar _createClass$1 = function() {\n function defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck$1(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nvar Shadows = function() {\n function Shadows(context, sortElements) {\n _classCallCheck$1(this, Shadows);\n // document context we're working with\n this.context = context;\n // callback that sorts an array of elements\n this.sortElements = sortElements;\n // reference to create unique IDs for each ShadowHost\n this.hostCounter = 1;\n // reference map for child-ShadowHosts of a ShadowHost\n this.inHost = {};\n // reference map for child-ShadowHost of the document\n this.inDocument = [];\n // reference map for ShadowHosts\n this.hosts = {};\n // reference map for tabbable elements of a ShadowHost\n this.elements = {};\n }\n // remember which hosts we have to sort within later\n _createClass$1(Shadows, [\n {\n key: \"_registerHost\",\n value: function _registerHost(host) {\n if (host._sortingId) {\n return;\n }\n // make the ShadowHost identifiable (see cleanup() for undo)\n host._sortingId = \"shadow-\" + this.hostCounter++;\n this.hosts[host._sortingId] = host;\n // hosts may contain other hosts\n var parentHost = getShadowHost({\n context: host\n });\n if (parentHost) {\n this._registerHost(parentHost);\n this._registerHostParent(host, parentHost);\n } else {\n this.inDocument.push(host);\n }\n }\n },\n {\n key: \"_registerHostParent\",\n value: function _registerHostParent(host, parent) {\n if (!this.inHost[parent._sortingId]) {\n this.inHost[parent._sortingId] = [];\n }\n this.inHost[parent._sortingId].push(host);\n }\n },\n {\n key: \"_registerElement\",\n value: function _registerElement(element, host) {\n if (!this.elements[host._sortingId]) {\n this.elements[host._sortingId] = [];\n }\n this.elements[host._sortingId].push(element);\n }\n },\n {\n key: \"extractElements\",\n value: function extractElements(elements) {\n return elements.filter(function(element) {\n var host = getShadowHost({\n context: element\n });\n if (!host) {\n return true;\n }\n this._registerHost(host);\n this._registerElement(element, host);\n return false;\n }, this);\n }\n },\n {\n key: \"sort\",\n value: function sort(elements) {\n var _elements = this._injectHosts(elements);\n _elements = this._replaceHosts(_elements);\n this._cleanup();\n return _elements;\n }\n },\n {\n key: \"_injectHosts\",\n value: function _injectHosts(elements) {\n Object.keys(this.hosts).forEach(function(_sortingId) {\n var _list = this.elements[_sortingId];\n var _elements = this.inHost[_sortingId];\n var _context = this.hosts[_sortingId].shadowRoot;\n this.elements[_sortingId] = this._merge(_list, _elements, _context);\n }, this);\n return this._merge(elements, this.inDocument, this.context);\n }\n },\n {\n key: \"_merge\",\n value: function _merge(list, elements, context) {\n var merged = mergeInDomOrder({\n list: list,\n elements: elements\n });\n return this.sortElements(merged, context);\n }\n },\n {\n key: \"_replaceHosts\",\n value: function _replaceHosts(elements) {\n return mergeInDomOrder({\n list: elements,\n elements: this.inDocument,\n resolveElement: this._resolveHostElement.bind(this)\n });\n }\n },\n {\n key: \"_resolveHostElement\",\n value: function _resolveHostElement(host) {\n var merged = mergeInDomOrder({\n list: this.elements[host._sortingId],\n elements: this.inHost[host._sortingId],\n resolveElement: this._resolveHostElement.bind(this)\n });\n var _tabindex = tabindexValue(host);\n if (_tabindex !== null && _tabindex > -1) {\n return [\n host\n ].concat(merged);\n }\n return merged;\n }\n },\n {\n key: \"_cleanup\",\n value: function _cleanup() {\n // remove those identifers we put on the ShadowHost to avoid using Map()\n Object.keys(this.hosts).forEach(function(key) {\n delete this.hosts[key]._sortingId;\n }, this);\n }\n }\n ]);\n return Shadows;\n}();\nfunction sortShadowed(elements, context, sortElements) {\n var shadows = new Shadows(context, sortElements);\n var _elements = shadows.extractElements(elements);\n if (_elements.length === elements.length) {\n // no shadowed content found, no need to continue\n return sortElements(elements);\n }\n return shadows.sort(_elements);\n}\nfunction sortTabindex(elements) {\n // https://developer.mozilla.org/docs/Web/API/HTMLElement.tabIndex\n // elements with tabIndex \"0\" (including tabbableElements without tabIndex) should be navigated in the order they appear.\n // elements with a positive tabIndex:\n // Elements that have identical tabIndexes should be navigated in the order they appear.\n // Navigation proceeds from the lowest tabIndex to the highest tabIndex.\n // NOTE: sort implementation may be unstable and thus mess up DOM order,\n // that's why we build a map that's being sorted instead. If we were able to rely\n // on a stable sorting algorithm, sortTabindex() could be as simple as\n // elements.sort(function(a, b) { return a.tabIndex - b.tabIndex; });\n // at this time Chrome does not use a stable sorting algorithm\n // see http://blog.rodneyrehm.de/archives/14-Sorting-Were-Doing-It-Wrong.html#stability\n // NOTE: compareDocumentPosition seemed like more overhead than just sorting this with buckets\n // https://developer.mozilla.org/docs/Web/API/Node.compareDocumentPosition\n var map = {};\n var indexes = [];\n var normal = elements.filter(function(element) {\n // in Trident and Gecko SVGElement does not know about the tabIndex property\n var tabIndex = element.tabIndex;\n if (tabIndex === undefined) {\n tabIndex = tabindexValue(element);\n }\n // extract elements that don't need sorting\n if (tabIndex <= 0 || tabIndex === null || tabIndex === undefined) {\n return true;\n }\n if (!map[tabIndex]) {\n // create sortable bucket for dom-order-preservation of elements with the same tabIndex\n map[tabIndex] = [];\n // maintain a list of unique tabIndexes\n indexes.push(tabIndex);\n }\n // sort element into the proper bucket\n map[tabIndex].push(element);\n // element moved to sorting map, so not \"normal\" anymore\n return false;\n });\n // sort the tabindex ascending,\n // then resolve them to their appropriate buckets,\n // then flatten the array of arrays to an array\n var _elements = indexes.sort().map(function(tabIndex) {\n return map[tabIndex];\n }).reduceRight(function(previous, current) {\n return current.concat(previous);\n }, normal);\n return _elements;\n}\nvar supports$8 = void 0;\nfunction moveContextToBeginning(elements, context) {\n var pos = elements.indexOf(context);\n if (pos > 0) {\n var tmp = elements.splice(pos, 1);\n return tmp.concat(elements);\n }\n return elements;\n}\nfunction sortElements(elements, _context) {\n if (supports$8.tabsequenceAreaAtImgPosition) {\n // Some browsers sort <area> in DOM order, some place the <area>s\n // where the <img> referecing them would've been in DOM order.\n // https://github.com/medialize/ally.js/issues/5\n elements = sortArea(elements, _context);\n }\n elements = sortTabindex(elements);\n return elements;\n}\nfunction queryTabsequence() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n if (!supports$8) {\n supports$8 = _supports();\n }\n var _context = nodeArray(context)[0] || document.documentElement;\n var elements = queryTabbable({\n context: _context,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n });\n if (document.body.createShadowRoot && platform.is.BLINK) {\n // sort tabindex localized to shadow dom\n // see https://github.com/medialize/ally.js/issues/6\n elements = sortShadowed(elements, _context, sortElements);\n } else {\n elements = sortElements(elements, _context);\n }\n if (includeContext) {\n // if we include the context itself, it has to be the first\n // element of the sequence\n elements = moveContextToBeginning(elements, _context);\n }\n return elements;\n}\n// codes mostly cloned from https://github.com/keithamus/jwerty/blob/master/jwerty.js\n// deliberately not exposing characters like <,.-#* because they vary *wildly*\n// across keyboard layouts and may cause various problems\n// (e.g. \"*\" is \"Shift +\" on a German Mac keyboard)\n// (e.g. \"@\" is \"Alt L\" on a German Mac keyboard)\nvar keycode = {\n // Element Focus\n tab: 9,\n // Navigation\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n pageUp: 33,\n \"page-up\": 33,\n pageDown: 34,\n \"page-down\": 34,\n end: 35,\n home: 36,\n // Action\n enter: 13,\n escape: 27,\n space: 32,\n // Modifier\n shift: 16,\n capsLock: 20,\n \"caps-lock\": 20,\n ctrl: 17,\n alt: 18,\n meta: 91,\n // in firefox: 224\n // on mac (chrome): meta-left=91, meta-right=93\n // on win (IE11): meta-left=91, meta-right=92\n pause: 19,\n // Content Manipulation\n insert: 45,\n delete: 46,\n backspace: 8,\n // the same logical key may be identified through different keyCodes\n _alias: {\n 91: [\n 92,\n 93,\n 224\n ]\n }\n};\n// Function keys (112 - 137)\n// NOTE: not every keyboard knows F13+\nfor(var n = 1; n < 26; n++){\n keycode[\"f\" + n] = n + 111;\n}\n// Number keys (48-57, numpad 96-105)\n// NOTE: not every keyboard knows num-0+\nfor(var _n = 0; _n < 10; _n++){\n var code = _n + 48;\n var numCode = _n + 96;\n keycode[_n] = code;\n keycode[\"num-\" + _n] = numCode;\n keycode._alias[code] = [\n numCode\n ];\n}\n// Latin characters (65 - 90)\nfor(var _n2 = 0; _n2 < 26; _n2++){\n var _code = _n2 + 65;\n var name$1 = String.fromCharCode(_code).toLowerCase();\n keycode[name$1] = _code;\n}\nvar modifier = {\n alt: \"altKey\",\n ctrl: \"ctrlKey\",\n meta: \"metaKey\",\n shift: \"shiftKey\"\n};\nvar modifierSequence = Object.keys(modifier).map(function(name) {\n return modifier[name];\n});\nfunction createExpectedModifiers(ignoreModifiers) {\n var value = ignoreModifiers ? null : false;\n return {\n altKey: value,\n ctrlKey: value,\n metaKey: value,\n shiftKey: value\n };\n}\nfunction resolveModifiers(modifiers) {\n var ignoreModifiers = modifiers.indexOf(\"*\") !== -1;\n var expected = createExpectedModifiers(ignoreModifiers);\n modifiers.forEach(function(token) {\n if (token === \"*\") {\n // we've already covered the all-in operator\n return;\n }\n // we want the modifier pressed\n var value = true;\n var operator = token.slice(0, 1);\n if (operator === \"?\") {\n // we don't care if the modifier is pressed\n value = null;\n } else if (operator === \"!\") {\n // we do not want the modifier pressed\n value = false;\n }\n if (value !== true) {\n // compensate for the modifier's operator\n token = token.slice(1);\n }\n var propertyName = modifier[token];\n if (!propertyName) {\n throw new TypeError('Unknown modifier \"' + token + '\"');\n }\n expected[propertyName] = value;\n });\n return expected;\n}\nfunction resolveKey(key) {\n var code = keycode[key] || parseInt(key, 10);\n if (!code || typeof code !== \"number\" || isNaN(code)) {\n throw new TypeError('Unknown key \"' + key + '\"');\n }\n return [\n code\n ].concat(keycode._alias[code] || []);\n}\nfunction matchModifiers(expected, event) {\n // returns true on match\n return !modifierSequence.some(function(prop) {\n // returns true on mismatch\n return typeof expected[prop] === \"boolean\" && Boolean(event[prop]) !== expected[prop];\n });\n}\nfunction keyBinding(text) {\n return text.split(/\\s+/).map(function(_text) {\n var tokens = _text.split(\"+\");\n var _modifiers = resolveModifiers(tokens.slice(0, -1));\n var _keyCodes = resolveKey(tokens.slice(-1));\n return {\n keyCodes: _keyCodes,\n modifiers: _modifiers,\n matchModifiers: matchModifiers.bind(null, _modifiers)\n };\n });\n}\n// Node.compareDocumentPosition is available since IE9\n// see https://developer.mozilla.org/docs/Web/API/Node.compareDocumentPosition\n// callback returns true when element is contained by parent or is the parent suited for use with Array.some()\n/*\n USAGE:\n var isChildOf = getParentComparator({parent: someNode});\n listOfElements.some(isChildOf)\n*/ function getParentComparator() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, parent = _ref.parent, element = _ref.element, includeSelf = _ref.includeSelf;\n if (parent) {\n return function isChildOf(node) {\n return Boolean(includeSelf && node === parent || parent.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY);\n };\n } else if (element) {\n return function isParentOf(node) {\n return Boolean(includeSelf && element === node || node.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_CONTAINED_BY);\n };\n }\n throw new TypeError(\"util/compare-position#getParentComparator required either options.parent or options.element\");\n}\n// Bug 286933 - Key events in the autocomplete popup should be hidden from page scripts\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=286933\nfunction whenKey() {\n var map = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var bindings = {};\n var context = nodeArray(map.context)[0] || document.documentElement;\n delete map.context;\n var filter = nodeArray(map.filter);\n delete map.filter;\n var mapKeys = Object.keys(map);\n if (!mapKeys.length) {\n throw new TypeError(\"when/key requires at least one option key\");\n }\n var registerBinding = function registerBinding(event) {\n event.keyCodes.forEach(function(code) {\n if (!bindings[code]) {\n bindings[code] = [];\n }\n bindings[code].push(event);\n });\n };\n mapKeys.forEach(function(text) {\n if (typeof map[text] !== \"function\") {\n throw new TypeError('when/key requires option[\"' + text + '\"] to be a function');\n }\n var addCallback = function addCallback(event) {\n event.callback = map[text];\n return event;\n };\n keyBinding(text).map(addCallback).forEach(registerBinding);\n });\n var handleKeyDown = function handleKeyDown(event) {\n if (event.defaultPrevented) {\n return;\n }\n if (filter.length) {\n // ignore elements within the exempted sub-trees\n var isParentOfElement = getParentComparator({\n element: event.target,\n includeSelf: true\n });\n if (filter.some(isParentOfElement)) {\n return;\n }\n }\n var key = event.keyCode || event.which;\n if (!bindings[key]) {\n return;\n }\n bindings[key].forEach(function(_event) {\n if (!_event.matchModifiers(event)) {\n return;\n }\n _event.callback.call(context, event, disengage);\n });\n };\n context.addEventListener(\"keydown\", handleKeyDown, false);\n var disengage = function disengage() {\n context.removeEventListener(\"keydown\", handleKeyDown, false);\n };\n return {\n disengage: disengage\n };\n}\nfunction _default(param) {\n let { context } = param === void 0 ? {} : param;\n if (!context) {\n context = document.documentElement;\n }\n // Make sure the supports tests are run before intercepting the Tab key,\n // or IE10 and IE11 will fail to process the first Tab key event. Not\n // limiting this warm-up to IE because it may be a problem elsewhere, too.\n queryTabsequence();\n return whenKey({\n // Safari on OSX may require ALT+TAB to reach links,\n // see https://github.com/medialize/ally.js/issues/146\n \"?alt+?shift+tab\": function altShiftTab(event) {\n // we're completely taking over the Tab key handling\n event.preventDefault();\n var sequence = queryTabsequence({\n context: context\n });\n var backward = event.shiftKey;\n var first = sequence[0];\n var last = sequence[sequence.length - 1];\n // wrap around first to last, last to first\n var source = backward ? first : last;\n var target = backward ? last : first;\n if (isActiveElement(source)) {\n target.focus();\n return;\n }\n // find current position in tabsequence\n var currentIndex = void 0;\n var found = sequence.some(function(element, index) {\n if (!isActiveElement(element)) {\n return false;\n }\n currentIndex = index;\n return true;\n });\n if (!found) {\n // redirect to first as we're not in our tabsequence\n first.focus();\n return;\n }\n // shift focus to previous/next element in the sequence\n var offset = backward ? -1 : 1;\n sequence[currentIndex + offset].focus();\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=maintain--tab-focus.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9tYWludGFpbi0tdGFiLWZvY3VzLmpzIiwibWFwcGluZ3MiOiJBQUFBLGtCQUFrQixHQUFHLGNBQWM7QUFDbkMsbURBQW1EO0FBQ25ELGVBQWU7QUFDZixpQ0FBaUM7QUFDakMsRUFBRTtBQUNGLHlDQUF5QztBQUM1QjtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsWUFBWSxXQUFXLEdBQUdGLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyxpR0FBNkI7QUFDaEcsTUFBTUcsYUFBYSxXQUFXLEdBQUdKLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyx1R0FBK0I7QUFDbkcseUZBQXlGO0FBQ3pGLDZFQUE2RTtBQUM3RSxTQUFTSSxVQUFVQyxLQUFLO0lBQ3BCLElBQUksQ0FBQ0EsT0FBTztRQUNSLE9BQU8sRUFBRTtJQUNiO0lBQ0EsSUFBSUMsTUFBTUMsT0FBTyxDQUFDRixRQUFRO1FBQ3RCLE9BQU9BO0lBQ1g7SUFDQSwrQ0FBK0M7SUFDL0MsSUFBSUEsTUFBTUcsUUFBUSxLQUFLQyxXQUFXO1FBQzlCLE9BQU87WUFDSEo7U0FDSDtJQUNMO0lBQ0EsSUFBSSxPQUFPQSxVQUFVLFVBQVU7UUFDM0JBLFFBQVFLLFNBQVNDLGdCQUFnQixDQUFDTjtJQUN0QztJQUNBLElBQUlBLE1BQU1PLE1BQU0sS0FBS0gsV0FBVztRQUM1QixPQUFPLEVBQUUsQ0FBQ0ksS0FBSyxDQUFDQyxJQUFJLENBQUNULE9BQU87SUFDaEM7SUFDQSxNQUFNLElBQUlVLFVB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Y2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9tYWludGFpbi0tdGFiLWZvY3VzLmpzPzgyNTQiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgKi8gLy8gQHRzLW5vY2hlY2tcbi8vIENvcGllZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9tZWRpYWxpemUvYWxseS5qc1xuLy8gTGljZW5zZTogTUlUXG4vLyBDb3B5cmlnaHQgKGMpIDIwMTUgUm9kbmV5IFJlaG1cbi8vXG4vLyBFbnRyeXBvaW50OiBhbGx5LmpzL21haW50YWluL3RhYi1mb2N1c1xuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGVmYXVsdDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfcGxhdGZvcm0gPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvcGxhdGZvcm1cIikpO1xuY29uc3QgX2Nzc2VzY2FwZSA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9jc3MuZXNjYXBlXCIpKTtcbi8vIGlucHV0IG1heSBiZSB1bmRlZmluZWQsIHNlbGVjdG9yLXRyaW5nLCBOb2RlLCBOb2RlTGlzdCwgSFRNTENvbGxlY3Rpb24sIGFycmF5IG9mIE5vZGVzXG4vLyB5ZXMsIHRvIHNvbWUgZXh0ZW50IHRoaXMgaXMgYSBiYWQgcmVwbGljYSBvZiBqUXVlcnkncyBjb25zdHJ1Y3RvciBmdW5jdGlvblxuZnVuY3Rpb24gbm9kZUFycmF5KGlucHV0KSB7XG4gICAgaWYgKCFpbnB1dCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KGlucHV0KSkge1xuICAgICAgICByZXR1cm4gaW5wdXQ7XG4gICAgfVxuICAgIC8vIGluc3RhbmNlb2YgTm9kZSAtIGRvZXMgbm90IHdvcmsgd2l0aCBpZnJhbWVzXG4gICAgaWYgKGlucHV0Lm5vZGVUeXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIGlucHV0XG4gICAgICAgIF07XG4gICAgfVxuICAgIGlmICh0eXBlb2YgaW5wdXQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgaW5wdXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGlucHV0KTtcbiAgICB9XG4gICAgaWYgKGlucHV0Lmxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBbXS5zbGljZS5jYWxsKGlucHV0LCAwKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcInVuZXhwZWN0ZWQgaW5wdXQgXCIgKyBTdHJpbmcoaW5wdXQpKTtcbn1cbmZ1bmN0aW9uIGNvbnRleHRUb0VsZW1lbnQoX3JlZikge1xuICAgIHZhciBjb250ZXh0ID0gX3JlZi5jb250ZXh0LCBfcmVmJGxhYmVsID0gX3JlZi5sYWJlbCwgbGFiZWwgPSBfcmVmJGxhYmVsID09PSB1bmRlZmluZWQgPyBcImNvbnRleHQtdG8tZWxlbWVudFwiIDogX3JlZiRsYWJlbCwgcmVzb2x2ZURvY3VtZW50ID0gX3JlZi5yZXNvbHZlRG9jdW1lbnQsIGRlZmF1bHRUb0RvY3VtZW50ID0gX3JlZi5kZWZhdWx0VG9Eb2N1bWVudDtcbiAgICB2YXIgZWxlbWVudCA9IG5vZGVBcnJheShjb250ZXh0KVswXTtcbiAgICBpZiAocmVzb2x2ZURvY3VtZW50ICYmIGVsZW1lbnQgJiYgZWxlbWVudC5ub2RlVHlwZSA9PT0gTm9kZS5ET0NVTUVOVF9OT0RFKSB7XG4gICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICB9XG4gICAgaWYgKCFlbGVtZW50ICYmIGRlZmF1bHRUb0RvY3VtZW50KSB7XG4gICAgICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgfVxuICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGxhYmVsICsgXCIgcmVxdWlyZXMgdmFsaWQgb3B0aW9ucy5jb250ZXh0XCIpO1xuICAgIH1cbiAgICBpZiAoZWxlbWVudC5ub2RlVHlwZSAhPT0gTm9kZS5FTEVNRU5UX05PREUgJiYgZWxlbWVudC5ub2RlVHlwZSAhPT0gTm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IobGFiZWwgKyBcIiByZXF1aXJlcyBvcHRpb25zLmNvbnRleHQgdG8gYmUgYW4gRWxlbWVudFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG59XG5mdW5jdGlvbiBnZXRTaGFkb3dIb3N0KCkge1xuICAgIHZhciBfcmVmID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fSwgY29udGV4dCA9IF9yZWYuY29udGV4dDtcbiAgICB2YXIgZWxlbWVudCA9IGNvbnRleHRUb0VsZW1lbnQoe1xuICAgICAgICBsYWJlbDogXCJnZXQvc2hhZG93LWhvc3RcIixcbiAgICAgICAgY29udGV4dDogY29udGV4dFxuICAgIH0pO1xuICAgIC8vIHdhbGsgdXAgdG8gdGhlIHJvb3RcbiAgICB2YXIgY29udGFpbmVyID0gbnVsbDtcbiAgICB3aGlsZShlbGVtZW50KXtcbiAgICAgICAgY29udGFpbmVyID0gZWxlbWVudDtcbiAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQucGFyZW50Tm9kZTtcbiAgICB9XG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL05vZGUubm9kZVR5cGVcbiAgICAvLyBOT1RFOiBGaXJlZm94IDM0IGRvZXMgbm90IGV4cG9zZSBTaGFkb3dSb290Lmhvc3QgKGJ1dCAzNyBkb2VzKVxuICAgIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IGNvbnRhaW5lci5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFICYmIGNvbnRhaW5lci5ob3N0KSB7XG4gICAgICAgIC8vIHRoZSByb290IGlzIGF0dGFjaGVkIHRvIGEgZnJhZ21lbnQgbm9kZSB0aGF0IGhhcyBhIGhvc3RcbiAgICAgICAgcmV0dXJuIGNvbnRhaW5lci5ob3N0O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldERvY3VtZW50KG5vZGUpIHtcbiAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50O1xuICAgIH1cbiAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5ET0NVTUVOVF9OT0RFKSB7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZS5vd25lckRvY3VtZW50IHx8IGRvY3VtZW50O1xufVxuZnVuY3Rpb24gaXNBY3RpdmVFbGVtZW50KGNvbnRleHQpIHtcbiAgICB2YXIgZWxlbWVudCA9IGNvbnRleHRUb0VsZW1lbnQoe1xuICAgICAgICBsYWJlbDogXCJpcy9hY3RpdmUtZWxlbWVudFwiLFxuICAgICAgICByZXNvbHZlRG9jdW1lbnQ6IHRydWUsXG4gICAgICAgIGNvbnRleHQ6IGNvbnRleHRcbiAgICB9KTtcbiAgICB2YXIgX2RvY3VtZW50ID0gZ2V0RG9jdW1lbnQoZWxlbWVudCk7XG4gICAgaWYgKF9kb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBlbGVtZW50KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB2YXIgc2hhZG93SG9zdCA9IGdldFNoYWRvd0hvc3Qoe1xuICAgICAgICBjb250ZXh0OiBlbGVtZW50XG4gICAgfSk7XG4gICAgaWYgKHNoYWRvd0hvc3QgJiYgc2hhZG93SG9zdC5zaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQgPT09IGVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbi8vIFtlbGVtLCBlbGVtLnBhcmVudCwgZWxlbS5wYXJlbnQucGFyZW50LCDigKYsIGh0bWxdXG4vLyB3aWxsIG5vdCBjb250YWluIHRoZSBzaGFkb3dSb290IChET0NVTUVOVF9GUkFHTUVOVF9OT0RFKSBhbmQgc2hhZG93SG9zdFxuZnVuY3Rpb24gZ2V0UGFyZW50cygpIHtcbiAgICB2YXIgX3JlZiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge30sIGNvbnRleHQgPSBfcmVmLmNvbnRleHQ7XG4gICAgdmFyIGxpc3QgPSBbXTtcbiAgICB2YXIgZWxlbWVudCA9IGNvbnRleHRUb0VsZW1lbnQoe1xuICAgICAgICBsYWJlbDogXCJnZXQvcGFyZW50c1wiLFxuICAgICAgICBjb250ZXh0OiBjb250ZXh0XG4gICAgfSk7XG4gICAgd2hpbGUoZWxlbWVudCl7XG4gICAgICAgIGxpc3QucHVzaChlbGVtZW50KTtcbiAgICAgICAgLy8gSUUgZG9lcyBrbm93IHN1cHBvcnQgcGFyZW50RWxlbWVudCBvbiBTVkdFbGVtZW50XG4gICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudE5vZGU7XG4gICAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQubm9kZVR5cGUgIT09IE5vZGUuRUxFTUVOVF9OT0RFKSB7XG4gICAgICAgICAgICBlbGVtZW50ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbGlzdDtcbn1cbi8vIEVsZW1lbnQucHJvdG90eXBlLm1hdGNoZXMgbWF5IGJlIGF2YWlsYWJsZSBhdCBhIGRpZmZlcmVudCBuYW1lXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi9kb2NzL1dlYi9BUEkvRWxlbWVudC9tYXRjaGVzXG52YXIgbmFtZXMgPSBbXG4gICAgXCJtYXRjaGVzXCIsXG4gICAgXCJ3ZWJraXRNYXRjaGVzU2VsZWN0b3JcIixcbiAgICBcIm1vek1hdGNoZXNTZWxlY3RvclwiLFxuICAgIFwibXNNYXRjaGVzU2VsZWN0b3JcIlxuXTtcbnZhciBuYW1lID0gbnVsbDtcbmZ1bmN0aW9uIGZpbmRNZXRob2ROYW1lKGVsZW1lbnQpIHtcbiAgICBuYW1lcy5zb21lKGZ1bmN0aW9uKF9uYW1lKSB7XG4gICAgICAgIGlmICghZWxlbWVudFtfbmFtZV0pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBuYW1lID0gX25hbWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gZWxlbWVudE1hdGNoZXMoZWxlbWVudCwgc2VsZWN0b3IpIHtcbiAgICBpZiAoIW5hbWUpIHtcbiAgICAgICAgZmluZE1ldGhvZE5hbWUoZWxlbWVudCk7XG4gICAgfVxuICAgIHJldHVybiBlbGVtZW50W25hbWVdKHNlbGVjdG9yKTtcbn1cbi8vIGRlZXAgY2xvbmUgb2Ygb3JpZ2luYWwgcGxhdGZvcm1cbnZhciBwbGF0Zm9ybSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoX3BsYXRmb3JtLmRlZmF1bHQpKTtcbi8vIG9wZXJhdGluZyBzeXN0ZW1cbnZhciBvcyA9IHBsYXRmb3JtLm9zLmZhbWlseSB8fCBcIlwiO1xudmFyIEFORFJPSUQgPSBvcyA9PT0gXCJBbmRyb2lkXCI7XG52YXIgV0lORE9XUyA9IG9zLnNsaWNlKDAsIDcpID09PSBcIldpbmRvd3NcIjtcbnZhciBPU1ggPSBvcyA9PT0gXCJPUyBYXCI7XG52YXIgSU9TID0gb3MgPT09IFwiaU9TXCI7XG4vLyBsYXlvdXRcbnZhciBCTElOSyA9IHBsYXRmb3JtLmxheW91dCA9PT0gXCJCbGlua1wiO1xudmFyIEdFQ0tPID0gcGxhdGZvcm0ubGF5b3V0ID09PSBcIkdlY2tvXCI7XG52YXIgVFJJREVOVCA9IHBsYXRmb3JtLmxheW91dCA9PT0gXCJUcmlkZW50XCI7XG52YXIgRURHRSA9IHBsYXRmb3JtLmxheW91dCA9PT0gXCJFZGdlSFRNTFwiO1xudmFyIFdFQktJVCA9IHBsYXRmb3JtLmxheW91dCA9PT0gXCJXZWJLaXRcIjtcbi8vIGJyb3dzZXIgdmVyc2lvbiAobm90IGxheW91dCBlbmdpbmUgdmVyc2lvbiEpXG52YXIgdmVyc2lvbiA9IHBhcnNlRmxvYXQocGxhdGZvcm0udmVyc2lvbik7XG52YXIgbWFqb3JWZXJzaW9uID0gTWF0aC5mbG9vcih2ZXJzaW9uKTtcbnBsYXRmb3JtLm1ham9yVmVyc2lvbiA9IG1ham9yVmVyc2lvbjtcbnBsYXRmb3JtLmlzID0ge1xuICAgIC8vIG9wZXJhdGluZyBzeXN0ZW1cbiAgICBBTkRST0lEOiBBTkRST0lELFxuICAgIFdJTkRPV1M6IFdJTkRPV1MsXG4gICAgT1NYOiBPU1gsXG4gICAgSU9TOiBJT1MsXG4gICAgLy8gbGF5b3V0XG4gICAgQkxJTks6IEJMSU5LLFxuICAgIEdFQ0tPOiBHRUNLTyxcbiAgICBUUklERU5UOiBUUklERU5ULFxuICAgIEVER0U6IEVER0UsXG4gICAgV0VCS0lUOiBXRUJLSVQsXG4gICAgLy8gSU5URVJORVQgRVhQTE9SRVJTXG4gICAgSUU5OiBUUklERU5UICYmIG1ham9yVmVyc2lvbiA9PT0gOSxcbiAgICBJRTEwOiBUUklERU5UICYmIG1ham9yVmVyc2lvbiA9PT0gMTAsXG4gICAgSUUxMTogVFJJREVOVCAmJiBtYWpvclZlcnNpb24gPT09IDExXG59O1xuZnVuY3Rpb24gYmVmb3JlKCkge1xuICAgIHZhciBkYXRhID0ge1xuICAgICAgICAvLyByZW1lbWJlciB3aGF0IGhhZCBmb2N1cyB0byByZXN0b3JlIGFmdGVyIHRlc3RcbiAgICAgICAgYWN0aXZlRWxlbWVudDogZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxcbiAgICAgICAgLy8gcmVtZW1iZXIgc2Nyb2xsIHBvc2l0aW9ucyB0byByZXN0b3JlIGFmdGVyIHRlc3RcbiAgICAgICAgd2luZG93U2Nyb2xsVG9wOiB3aW5kb3cuc2Nyb2xsVG9wLFxuICAgICAgICB3aW5kb3dTY3JvbGxMZWZ0OiB3aW5kb3cuc2Nyb2xsTGVmdCxcbiAgICAgICAgYm9keVNjcm9sbFRvcDogZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AsXG4gICAgICAgIGJvZHlTY3JvbGxMZWZ0OiBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnRcbiAgICB9O1xuICAgIC8vIHdyYXAgdGVzdHMgaW4gYW4gZWxlbWVudCBoaWRkZW4gZnJvbSBzY3JlZW4gcmVhZGVycyB0byBwcmV2ZW50IHRoZW1cbiAgICAvLyBmcm9tIGFubm91bmNpbmcgZm9jdXMsIHdoaWNoIGNhbiBiZSBxdWl0ZSBpcnJpdGF0aW5nIHRvIHRoZSB1c2VyXG4gICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpZnJhbWVcIik7XG4gICAgaWZyYW1lLnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIFwicG9zaXRpb246YWJzb2x1dGU7IHBvc2l0aW9uOmZpeGVkOyB0b3A6MDsgbGVmdDotMnB4OyB3aWR0aDoxcHg7IGhlaWdodDoxcHg7IG92ZXJmbG93OmhpZGRlbjtcIik7XG4gICAgaWZyYW1lLnNldEF0dHJpYnV0ZShcImFyaWEtbGl2ZVwiLCBcIm9mZlwiKTtcbiAgICBpZnJhbWUuc2V0QXR0cmlidXRlKFwiYXJpYS1idXN5XCIsIFwidHJ1ZVwiKTtcbiAgICBpZnJhbWUuc2V0QXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIiwgXCJ0cnVlXCIpO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcbiAgICB2YXIgX3dpbmRvdyA9IGlmcmFtZS5jb250ZW50V2luZG93O1xuICAgIHZhciBfZG9jdW1lbnQgPSBfd2luZG93LmRvY3VtZW50O1xuICAgIF9kb2N1bWVudC5vcGVuKCk7XG4gICAgX2RvY3VtZW50LmNsb3NlKCk7XG4gICAgdmFyIHdyYXBwZXIgPSBfZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICBfZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh3cmFwcGVyKTtcbiAgICBkYXRhLmlmcmFtZSA9IGlmcmFtZTtcbiAgICBkYXRhLndyYXBwZXIgPSB3cmFwcGVyO1xuICAgIGRhdGEud2luZG93ID0gX3dpbmRvdztcbiAgICBkYXRhLmRvY3VtZW50ID0gX2RvY3VtZW50O1xuICAgIHJldHVybiBkYXRhO1xufVxuLy8gb3B0aW9ucy5lbGVtZW50OlxuLy8gIHtzdHJpbmd9IGVsZW1lbnQgbmFtZVxuLy8gIHtmdW5jdGlvbn0gY2FsbGJhY2sod3JhcHBlciwgZG9jdW1lbnQpIHRvIGdlbmVyYXRlIGFuIGVsZW1lbnRcbi8vIG9wdGlvbnMubXV0YXRlOiAob3B0aW9uYWwpXG4vLyAge2Z1bmN0aW9ufSBjYWxsYmFjayhlbGVtZW50LCB3cmFwcGVyLCBkb2N1bWVudCkgdG8gbWFuaXB1bGF0ZSBlbGVtZW50IHByaW9yIHRvIGZvY3VzLXRlc3QuXG4vLyAgICAgICAgICAgICBDYW4gcmV0dXJuIERPTUVsZW1lbnQgdG8gZGVmaW5lIGZvY3VzIHRhcmdldCAoZGVmYXVsdDogZWxlbWVudClcbi8vIG9wdGlvbnMudmFsaWRhdGU6IChvcHRpb25hbClcbi8vICB7ZnVuY3Rpb259IGNhbGxiYWNrKGVsZW1lbnQsIGZvY3VzVGFyZ2V0LCBkb2N1bWVudCkgdG8gbWFuaXB1bGF0ZSB0ZXN0LXJlc3VsdFxuZnVuY3Rpb24gdGVzdChkYXRhLCBvcHRpb25zKSB7XG4gICAgLy8gbWFrZSBzdXJlIHdlIG9wZXJhdGUgb24gYSBjbGVhbiBzbGF0ZVxuICAgIGRhdGEud3JhcHBlci5pbm5lckhUTUwgPSBcIlwiO1xuICAgIC8vIGNyZWF0ZSBkdW1teSBlbGVtZW50IHRvIHRlc3QgZm9jdXNhYmlsaXR5IG9mXG4gICAgdmFyIGVsZW1lbnQgPSB0eXBlb2Ygb3B0aW9ucy5lbGVtZW50ID09PSBcInN0cmluZ1wiID8gZGF0YS5kb2N1bWVudC5jcmVhdGVFbGVtZW50KG9wdGlvbnMuZWxlbWVudCkgOiBvcHRpb25zLmVsZW1lbnQoZGF0YS53cmFwcGVyLCBkYXRhLmRvY3VtZW50KTtcbiAgICAvLyBhbGxvdyBjYWxsYmFjayB0byBmdXJ0aGVyIHNwZWNpZnkgZHVtbXkgZWxlbWVudFxuICAgIC8vIGFuZCBvcHRpb25hbGx5IGRlZmluZSBlbGVtZW50IHRvIGZvY3VzXG4gICAgdmFyIGZvY3VzID0gb3B0aW9ucy5tdXRhdGUgJiYgb3B0aW9ucy5tdXRhdGUoZWxlbWVudCwgZGF0YS53cmFwcGVyLCBkYXRhLmRvY3VtZW50KTtcbiAgICBpZiAoIWZvY3VzICYmIGZvY3VzICE9PSBmYWxzZSkge1xuICAgICAgICBmb2N1cyA9IGVsZW1lbnQ7XG4gICAgfVxuICAgIC8vIGVsZW1lbnQgbmVlZHMgdG8gYmUgcGFydCBvZiB0aGUgRE9NIHRvIGJlIGZvY3VzYWJsZVxuICAgICFlbGVtZW50LnBhcmVudE5vZGUgJiYgZGF0YS53cmFwcGVyLmFwcGVuZENoaWxkKGVsZW1lbnQpO1xuICAgIC8vIHRlc3QgaWYgdGhlIGVsZW1lbnQgd2l0aCBpbnZhbGlkIHRhYmluZGV4IGNhbiBiZSBmb2N1c2VkXG4gICAgZm9jdXMgJiYgZm9jdXMuZm9jdXMgJiYgZm9jdXMuZm9jdXMoKTtcbiAgICAvLyB2YWxpZGF0ZSB0ZXN0J3MgcmVzdWx0XG4gICAgcmV0dXJuIG9wdGlvbnMudmFsaWRhdGUgPyBvcHRpb25zLnZhbGlkYXRlKGVsZW1lbnQsIGZvY3VzLCBkYXRhLmRvY3VtZW50KSA6IGRhdGEuZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZm9jdXM7XG59XG5mdW5jdGlvbiBhZnRlcihkYXRhKSB7XG4gICAgLy8gcmVzdG9yZSBmb2N1cyB0byB3aGF0IGl0IHdhcyBiZWZvcmUgdGVzdCBhbmQgY2xlYW51cFxuICAgIGlmIChkYXRhLmFjdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmJvZHkpIHtcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIgJiYgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICAgIGlmIChwbGF0Zm9ybS5pcy5JRTEwKSB7XG4gICAgICAgICAgICAvLyBJRTEwIGRvZXMgbm90IHJlZGlyZWN0IGZvY3VzIHRvIDxib2R5PiB3aGVuIHRoZSBhY3RpdmVFbGVtZW50IGlzIHJlbW92ZWRcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGEuYWN0aXZlRWxlbWVudCAmJiBkYXRhLmFjdGl2ZUVsZW1lbnQuZm9jdXMgJiYgZGF0YS5hY3RpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZGF0YS5pZnJhbWUpO1xuICAgIC8vIHJlc3RvcmUgc2Nyb2xsIHBvc2l0aW9uXG4gICAgd2luZG93LnNjcm9sbFRvcCA9IGRhdGEud2luZG93U2Nyb2xsVG9wO1xuICAgIHdpbmRvdy5zY3JvbGxMZWZ0ID0gZGF0YS53aW5kb3dTY3JvbGxMZWZ0O1xuICAgIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wID0gZGF0YS5ib2R5U2Nyb2xsVG9wO1xuICAgIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCA9IGRhdGEuYm9keVNjcm9sbExlZnQ7XG59XG5mdW5jdGlvbiBkZXRlY3RGb2N1cyh0ZXN0cykge1xuICAgIHZhciBkYXRhID0gYmVmb3JlKCk7XG4gICAgdmFyIHJlc3VsdHMgPSB7fTtcbiAgICBPYmplY3Qua2V5cyh0ZXN0cykubWFwKGZ1bmN0aW9uKGtleSkge1xuICAgICAgICByZXN1bHRzW2tleV0gPSB0ZXN0KGRhdGEsIHRlc3RzW2tleV0pO1xuICAgIH0pO1xuICAgIGFmdGVyKGRhdGEpO1xuICAgIHJldHVybiByZXN1bHRzO1xufVxuLy8gdGhpcyBmaWxlIGlzIG92ZXJ3cml0dGVuIGJ5IGBucG0gcnVuIGJ1aWxkOnByZWBcbnZhciB2ZXJzaW9uJDEgPSBcIjEuNC4xXCI7XG4vKlxuICAgIEZhY2lsaXR5IHRvIGNhY2hlIHRlc3QgcmVzdWx0cyBpbiBsb2NhbFN0b3JhZ2UuXG5cbiAgICBVU0FHRTpcbiAgICAgIGNhY2hlLmdldCgna2V5Jyk7XG4gICAgICBjYWNoZS5zZXQoJ2tleScsICd2YWx1ZScpO1xuICovIGZ1bmN0aW9uIHJlYWRMb2NhbFN0b3JhZ2Uoa2V5KSB7XG4gICAgLy8gYWxsb3cgcmVhZGluZyBmcm9tIHN0b3JhZ2UgdG8gcmV0cmlldmUgcHJldmlvdXMgc3VwcG9ydCByZXN1bHRzXG4gICAgLy8gZXZlbiB3aGlsZSB0aGUgZG9jdW1lbnQgZG9lcyBub3QgaGF2ZSBmb2N1c1xuICAgIHZhciBkYXRhID0gdm9pZCAwO1xuICAgIHRyeSB7XG4gICAgICAgIGRhdGEgPSB3aW5kb3cubG9jYWxTdG9yYWdlICYmIHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICBkYXRhID0gZGF0YSA/IEpTT04ucGFyc2UoZGF0YSkgOiB7fTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGRhdGEgPSB7fTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG59XG5mdW5jdGlvbiB3cml0ZUxvY2FsU3RvcmFnZShrZXksIHZhbHVlKSB7XG4gICAgaWYgKCFkb2N1bWVudC5oYXNGb2N1cygpKSB7XG4gICAgICAgIC8vIGlmIHRoZSBkb2N1bWVudCBkb2VzIG5vdCBoYXZlIGZvY3VzIHdoZW4gdGVzdHMgYXJlIGV4ZWN1dGVkLCBmb2N1cygpIG1heVxuICAgICAgICAvLyBub3QgYmUgaGFuZGxlZCBwcm9wZXJseSBhbmQgZXZlbnRzIG1heSBub3QgYmUgZGlzcGF0Y2hlZCBpbW1lZGlhdGVseS5cbiAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIHdoZW4gYSBkb2N1bWVudCBpcyByZWxvYWRlZCB3aGlsZSBEZXZlbG9wZXIgVG9vbHMgaGF2ZSBmb2N1cy5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2UgJiYgd2luZG93LmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gaWdub3JlXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICB3aW5kb3cubG9jYWxTdG9yYWdlICYmIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgIC8vIGlnbm9yZVxuICAgIH1cbn1cbnZhciB1c2VyQWdlbnQgPSB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50IHx8IFwiXCI7XG52YXIgY2FjaGVLZXkgPSBcImFsbHktc3VwcG9ydHMtY2FjaGVcIjtcbnZhciBjYWNoZSA9IHJlYWRMb2NhbFN0b3JhZ2UoY2FjaGVLZXkpO1xuLy8gdXBkYXRlIHRoZSBjYWNoZSBpZiBhbGx5IG9yIHRoZSB1c2VyIGFnZW50IGNoYW5nZWQgKG5ld2VyIHZlcnNpb24sIGV0YylcbmlmIChjYWNoZS51c2VyQWdlbnQgIT09IHVzZXJBZ2VudCB8fCBjYWNoZS52ZXJzaW9uICE9PSB2ZXJzaW9uJDEpIHtcbiAgICBjYWNoZSA9IHt9O1xufVxuY2FjaGUudXNlckFnZW50ID0gdXNlckFnZW50O1xuY2FjaGUudmVyc2lvbiA9IHZlcnNpb24kMTtcbnZhciBjYWNoZSQxID0ge1xuICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gY2FjaGU7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZXMpIHtcbiAgICAgICAgT2JqZWN0LmtleXModmFsdWVzKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xuICAgICAgICAgICAgY2FjaGVba2V5XSA9IHZhbHVlc1trZXldO1xuICAgICAgICB9KTtcbiAgICAgICAgY2FjaGUudGltZSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcbiAgICAgICAgd3JpdGVMb2NhbFN0b3JhZ2UoY2FjaGVLZXksIGNhY2hlKTtcbiAgICB9XG59O1xuZnVuY3Rpb24gY3NzU2hhZG93UGllcmNpbmdEZWVwQ29tYmluYXRvcigpIHtcbiAgICB2YXIgY29tYmluYXRvciA9IHZvaWQgMDtcbiAgICAvLyBzZWUgaHR0cHM6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzcy1zY29waW5nLTEvI2RlZXAtY29tYmluYXRvclxuICAgIC8vIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTExMTc1NzJcbiAgICAvLyBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NDQ2MDUxXG4gICAgdHJ5IHtcbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcImh0bWwgPj4+IDpmaXJzdC1jaGlsZFwiKTtcbiAgICAgICAgY29tYmluYXRvciA9IFwiPj4+XCI7XG4gICAgfSBjYXRjaCAobm9BcnJvd0Fycm93QXJyb3cpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIG9sZCBzeW50YXggc3VwcG9ydGVkIGF0IGxlYXN0IHVwIHRvIENocm9tZSA0MVxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTQ0NjA1MVxuICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcImh0bWwgL2RlZXAvIDpmaXJzdC1jaGlsZFwiKTtcbiAgICAgICAgICAgIGNvbWJpbmF0b3IgPSBcIi9kZWVwL1wiO1xuICAgICAgICB9IGNhdGNoIChub0RlZXApIHtcbiAgICAgICAgICAgIGNvbWJpbmF0b3IgPSBcIlwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb21iaW5hdG9yO1xufVxudmFyIGdpZiA9IFwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy95SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUJSQUE3XCI7XG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9IVE1ML0VsZW1lbnQvaW1nI2F0dHItdXNlbWFwXG52YXIgZm9jdXNBcmVhSW1nVGFiaW5kZXggPSB7XG4gICAgZWxlbWVudDogXCJkaXZcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gJzxtYXAgbmFtZT1cImltYWdlLW1hcC10YWJpbmRleC10ZXN0XCI+JyArICc8YXJlYSBzaGFwZT1cInJlY3RcIiBjb29yZHM9XCI2MywxOSwxNDQsNDVcIj48L21hcD4nICsgJzxpbWcgdXNlbWFwPVwiI2ltYWdlLW1hcC10YWJpbmRleC10ZXN0XCIgdGFiaW5kZXg9XCItMVwiIGFsdD1cIlwiIHNyYz1cIicgKyBnaWYgKyAnXCI+JztcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQucXVlcnlTZWxlY3RvcihcImFyZWFcIik7XG4gICAgfVxufTtcbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0hUTUwvRWxlbWVudC9pbWcjYXR0ci11c2VtYXBcbnZhciBmb2N1c0FyZWFUYWJpbmRleCA9IHtcbiAgICBlbGVtZW50OiBcImRpdlwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSAnPG1hcCBuYW1lPVwiaW1hZ2UtbWFwLXRhYmluZGV4LXRlc3RcIj4nICsgJzxhcmVhIGhyZWY9XCIjdm9pZFwiIHRhYmluZGV4PVwiLTFcIiBzaGFwZT1cInJlY3RcIiBjb29yZHM9XCI2MywxOSwxNDQsNDVcIj48L21hcD4nICsgJzxpbWcgdXNlbWFwPVwiI2ltYWdlLW1hcC10YWJpbmRleC10ZXN0XCIgYWx0PVwiXCIgc3JjPVwiJyArIGdpZiArICdcIj4nO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSxcbiAgICB2YWxpZGF0ZTogZnVuY3Rpb24gdmFsaWRhdGUoZWxlbWVudCwgZm9jdXNUYXJnZXQsIF9kb2N1bWVudCkge1xuICAgICAgICBpZiAocGxhdGZvcm0uaXMuR0VDS08pIHtcbiAgICAgICAgICAgIC8vIGZpeGVzIGh0dHBzOi8vZ2l0aHViLmNvbS9tZWRpYWxpemUvYWxseS5qcy9pc3N1ZXMvMzVcbiAgICAgICAgICAgIC8vIEZpcmVmb3ggbG9hZHMgdGhlIERhdGFVUkkgYXN5bmNocm9ub3VzbHksIGNhdXNpbmcgYSBmYWxzZS1uZWdhdGl2ZVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGZvY3VzID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiYXJlYVwiKTtcbiAgICAgICAgZm9jdXMuZm9jdXMoKTtcbiAgICAgICAgcmV0dXJuIF9kb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmb2N1cztcbiAgICB9XG59O1xuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2ltZyNhdHRyLXVzZW1hcFxudmFyIGZvY3VzQXJlYVdpdGhvdXRIcmVmID0ge1xuICAgIGVsZW1lbnQ6IFwiZGl2XCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9ICc8bWFwIG5hbWU9XCJpbWFnZS1tYXAtYXJlYS1ocmVmLXRlc3RcIj4nICsgJzxhcmVhIHNoYXBlPVwicmVjdFwiIGNvb3Jkcz1cIjYzLDE5LDE0NCw0NVwiPjwvbWFwPicgKyAnPGltZyB1c2VtYXA9XCIjaW1hZ2UtbWFwLWFyZWEtaHJlZi10ZXN0XCIgYWx0PVwiXCIgc3JjPVwiJyArIGdpZiArICdcIj4nO1xuICAgICAgICByZXR1cm4gZWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiYXJlYVwiKTtcbiAgICB9LFxuICAgIHZhbGlkYXRlOiBmdW5jdGlvbiB2YWxpZGF0ZShlbGVtZW50LCBmb2N1c1RhcmdldCwgX2RvY3VtZW50KSB7XG4gICAgICAgIGlmIChwbGF0Zm9ybS5pcy5HRUNLTykge1xuICAgICAgICAgICAgLy8gZml4ZXMgaHR0cHM6Ly9naXRodWIuY29tL21lZGlhbGl6ZS9hbGx5LmpzL2lzc3Vlcy8zNVxuICAgICAgICAgICAgLy8gRmlyZWZveCBsb2FkcyB0aGUgRGF0YVVSSSBhc3luY2hyb25vdXNseSwgY2F1c2luZyBhIGZhbHNlLW5lZ2F0aXZlXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGZvY3VzVGFyZ2V0O1xuICAgIH1cbn07XG52YXIgZm9jdXNBdWRpb1dpdGhvdXRDb250cm9scyA9IHtcbiAgICBuYW1lOiBcImNhbi1mb2N1cy1hdWRpby13aXRob3V0LWNvbnRyb2xzXCIsXG4gICAgZWxlbWVudDogXCJhdWRpb1wiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIGludmFsaWQgbWVkaWEgZmlsZSBjYW4gdHJpZ2dlciB3YXJuaW5nIGluIGNvbnNvbGUsIGRhdGEtdXJpIHRvIHByZXZlbnQgSFRUUCByZXF1ZXN0XG4gICAgICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcInNyY1wiLCBnaWYpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIElFOSBtYXkgdGhyb3cgXCJFcnJvcjogTm90IGltcGxlbWVudGVkXCJcbiAgICAgICAgfVxuICAgIH1cbn07XG52YXIgaW52YWxpZEdpZiA9IFwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQUFBQVAvLy9aWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaXCI7XG4vLyBOT1RFOiBodHRwczovL2dpdGh1Yi5jb20vbWVkaWFsaXplL2FsbHkuanMvaXNzdWVzLzM1XG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9IVE1ML0VsZW1lbnQvaW1nI2F0dHItdXNlbWFwXG52YXIgZm9jdXNCcm9rZW5JbWFnZU1hcCA9IHtcbiAgICBlbGVtZW50OiBcImRpdlwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSAnPG1hcCBuYW1lPVwiYnJva2VuLWltYWdlLW1hcC10ZXN0XCI+PGFyZWEgaHJlZj1cIiN2b2lkXCIgc2hhcGU9XCJyZWN0XCIgY29vcmRzPVwiNjMsMTksMTQ0LDQ1XCI+PC9tYXA+JyArICc8aW1nIHVzZW1hcD1cIiNicm9rZW4taW1hZ2UtbWFwLXRlc3RcIiBhbHQ9XCJcIiBzcmM9XCInICsgaW52YWxpZEdpZiArICdcIj4nO1xuICAgICAgICByZXR1cm4gZWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiYXJlYVwiKTtcbiAgICB9XG59O1xuLy8gQ2hpbGRyZW4gb2YgZm9jdXNhYmxlIGVsZW1lbnRzIHdpdGggZGlzcGxheTpmbGV4IGFyZSBmb2N1c2FibGUgaW4gSUUxMC0xMVxudmFyIGZvY3VzQ2hpbGRyZW5PZkZvY3VzYWJsZUZsZXhib3ggPSB7XG4gICAgZWxlbWVudDogXCJkaXZcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCItMVwiKTtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBcImRpc3BsYXk6IC13ZWJraXQtZmxleDsgZGlzcGxheTogLW1zLWZsZXhib3g7IGRpc3BsYXk6IGZsZXg7XCIpO1xuICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9ICc8c3BhbiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrO1wiPmhlbGxvPC9zcGFuPic7XG4gICAgICAgIHJldHVybiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJzcGFuXCIpO1xuICAgIH1cbn07XG4vLyBmaWVsZHNldFt0YWJpbmRleD0wXVtkaXNhYmxlZF0gc2hvdWxkIG5vdCBiZSBmb2N1c2FibGUsIGJ1dCBCbGluayBhbmQgV2ViS2l0IGRpc2FncmVlXG4vLyBAc3BlY2lmaWNhdGlvbiBodHRwczovL3d3dy53My5vcmcvVFIvaHRtbDUvZGlzYWJsZWQtZWxlbWVudHMuaHRtbCNjb25jZXB0LWVsZW1lbnQtZGlzYWJsZWRcbi8vIEBicm93c2VyLWlzc3VlIENocm9taXVtIGh0dHBzOi8vY3JidWcuY29tLzQ1Mzg0N1xuLy8gQGJyb3dzZXItaXNzdWUgV2ViS2l0IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDEwODZcbnZhciBmb2N1c0ZpZWxkc2V0RGlzYWJsZWQgPSB7XG4gICAgZWxlbWVudDogXCJmaWVsZHNldFwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCAwKTtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiLCBcImRpc2FibGVkXCIpO1xuICAgIH1cbn07XG52YXIgZm9jdXNGaWVsZHNldCA9IHtcbiAgICBlbGVtZW50OiBcImZpZWxkc2V0XCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9IFwiPGxlZ2VuZD5sZWdlbmQ8L2xlZ2VuZD48cD5jb250ZW50PC9wPlwiO1xuICAgIH1cbn07XG4vLyBlbGVtZW50cyB3aXRoIGRpc3BsYXk6ZmxleCBhcmUgZm9jdXNhYmxlIGluIElFMTAtMTFcbnZhciBmb2N1c0ZsZXhib3hDb250YWluZXIgPSB7XG4gICAgZWxlbWVudDogXCJzcGFuXCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIFwiZGlzcGxheTogLXdlYmtpdC1mbGV4OyBkaXNwbGF5OiAtbXMtZmxleGJveDsgZGlzcGxheTogZmxleDtcIik7XG4gICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gJzxzcGFuIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7XCI+aGVsbG88L3NwYW4+JztcbiAgICB9XG59O1xuLy8gZm9ybVt0YWJpbmRleD0wXVtkaXNhYmxlZF0gc2hvdWxkIGJlIGZvY3VzYWJsZSBhcyB0aGVcbi8vIHNwZWNpZmljYXRpb24gZG9lc24ndCBrbm93IHRoZSBkaXNhYmxlZCBhdHRyaWJ1dGUgb24gdGhlIGZvcm0gZWxlbWVudFxuLy8gQHNwZWNpZmljYXRpb24gaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L2Zvcm1zLmh0bWwjdGhlLWZvcm0tZWxlbWVudFxudmFyIGZvY3VzRm9ybURpc2FibGVkID0ge1xuICAgIGVsZW1lbnQ6IFwiZm9ybVwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCAwKTtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiLCBcImRpc2FibGVkXCIpO1xuICAgIH1cbn07XG4vLyBOT1RFOiBodHRwczovL2dpdGh1Yi5jb20vbWVkaWFsaXplL2FsbHkuanMvaXNzdWVzLzM1XG4vLyBmaXhlcyBodHRwczovL2dpdGh1Yi5jb20vbWVkaWFsaXplL2FsbHkuanMvaXNzdWVzLzIwXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9IVE1ML0VsZW1lbnQvaW1nI2F0dHItaXNtYXBcbnZhciBmb2N1c0ltZ0lzbWFwID0ge1xuICAgIGVsZW1lbnQ6IFwiYVwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5ocmVmID0gXCIjdm9pZFwiO1xuICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9ICc8aW1nIGlzbWFwIHNyYz1cIicgKyBnaWYgKyAnXCIgYWx0PVwiXCI+JztcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQucXVlcnlTZWxlY3RvcihcImltZ1wiKTtcbiAgICB9XG59O1xuLy8gTk9URTogaHR0cHM6Ly9naXRodWIuY29tL21lZGlhbGl6ZS9hbGx5LmpzL2lzc3Vlcy8zNVxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2ltZyNhdHRyLXVzZW1hcFxudmFyIGZvY3VzSW1nVXNlbWFwVGFiaW5kZXggPSB7XG4gICAgZWxlbWVudDogXCJkaXZcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gJzxtYXAgbmFtZT1cImltYWdlLW1hcC10YWJpbmRleC10ZXN0XCI+PGFyZWEgaHJlZj1cIiN2b2lkXCIgc2hhcGU9XCJyZWN0XCIgY29vcmRzPVwiNjMsMTksMTQ0LDQ1XCI+PC9tYXA+JyArICc8aW1nIHVzZW1hcD1cIiNpbWFnZS1tYXAtdGFiaW5kZXgtdGVzdFwiIHRhYmluZGV4PVwiLTFcIiBhbHQ9XCJcIiAnICsgJ3NyYz1cIicgKyBnaWYgKyAnXCI+JztcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQucXVlcnlTZWxlY3RvcihcImltZ1wiKTtcbiAgICB9XG59O1xudmFyIGZvY3VzSW5IaWRkZW5JZnJhbWUgPSB7XG4gICAgZWxlbWVudDogZnVuY3Rpb24gZWxlbWVudCh3cmFwcGVyLCBfZG9jdW1lbnQpIHtcbiAgICAgICAgdmFyIGlmcmFtZSA9IF9kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaWZyYW1lXCIpO1xuICAgICAgICAvLyBpZnJhbWUgbXVzdCBiZSBwYXJ0IG9mIHRoZSBET00gYmVmb3JlIGFjY2Vzc2luZyB0aGUgY29udGVudFdpbmRvdyBpcyBwb3NzaWJsZVxuICAgICAgICB3cmFwcGVyLmFwcGVuZENoaWxkKGlmcmFtZSk7XG4gICAgICAgIC8vIGNyZWF0ZSB0aGUgaWZyYW1lJ3MgZGVmYXVsdCBkb2N1bWVudCAoPGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PjwvYm9keT48L2h0bWw+KVxuICAgICAgICB2YXIgaWZyYW1lRG9jdW1lbnQgPSBpZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudDtcbiAgICAgICAgaWZyYW1lRG9jdW1lbnQub3BlbigpO1xuICAgICAgICBpZnJhbWVEb2N1bWVudC5jbG9zZSgpO1xuICAgICAgICByZXR1cm4gaWZyYW1lO1xuICAgIH0sXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoaWZyYW1lKSB7XG4gICAgICAgIGlmcmFtZS5zdHlsZS52aXNpYmlsaXR5ID0gXCJoaWRkZW5cIjtcbiAgICAgICAgdmFyIGlmcmFtZURvY3VtZW50ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7XG4gICAgICAgIHZhciBpbnB1dCA9IGlmcmFtZURvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKTtcbiAgICAgICAgaWZyYW1lRG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7XG4gICAgICAgIHJldHVybiBpbnB1dDtcbiAgICB9LFxuICAgIHZhbGlkYXRlOiBmdW5jdGlvbiB2YWxpZGF0ZShpZnJhbWUpIHtcbiAgICAgICAgdmFyIGlmcmFtZURvY3VtZW50ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7XG4gICAgICAgIHZhciBmb2N1cyA9IGlmcmFtZURvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJpbnB1dFwiKTtcbiAgICAgICAgcmV0dXJuIGlmcmFtZURvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGZvY3VzO1xuICAgIH1cbn07XG52YXIgcmVzdWx0ID0gIXBsYXRmb3JtLmlzLldFQktJVDtcbmZ1bmN0aW9uIGZvY3VzSW5aZXJvRGltZW5zaW9uT2JqZWN0KCkge1xuICAgIHJldHVybiByZXN1bHQ7XG59XG4vLyBGaXJlZm94IGFsbG93cyAqYW55KiB2YWx1ZSBhbmQgdHJlYXRzIGludmFsaWQgdmFsdWVzIGxpa2UgdGFiaW5kZXg9XCItMVwiXG4vLyBAYnJvd3Nlci1pc3N1ZSBHZWNrbyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI4MDU0XG52YXIgZm9jdXNJbnZhbGlkVGFiaW5kZXggPSB7XG4gICAgZWxlbWVudDogXCJkaXZcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCJpbnZhbGlkLXZhbHVlXCIpO1xuICAgIH1cbn07XG52YXIgZm9jdXNMYWJlbFRhYmluZGV4ID0ge1xuICAgIGVsZW1lbnQ6IFwibGFiZWxcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCItMVwiKTtcbiAgICB9LFxuICAgIHZhbGlkYXRlOiBmdW5jdGlvbiB2YWxpZGF0ZShlbGVtZW50LCBmb2N1c1RhcmdldCwgX2RvY3VtZW50KSB7XG4gICAgICAgIC8vIGZvcmNlIGxheW91dCBpbiBDaHJvbWUgNDksIG90aGVyd2lzZSB0aGUgZWxlbWVudCB3b24ndCBiZSBmb2N1c2FibGVcbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMgKi8gdmFyIHZhcmlhYmxlVG9QcmV2ZW50RGVhZENvZGVFbGltaW5hdGlvbiA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLXVudXNlZC12YXJzICovIGVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgcmV0dXJuIF9kb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBlbGVtZW50O1xuICAgIH1cbn07XG52YXIgc3ZnID0gXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0YlwiICsgXCJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUJwWkQwaWMzWm5JajQ4ZEdWNGRDQjRQU0l4TUNJZ2VUMGlNakFpSUdsa1BTSlwiICsgXCJ6ZG1jdGJHbHVheTEwWlhoMElqNTBaWGgwUEM5MFpYaDBQand2YzNablBnPT1cIjtcbi8vIE5vdGU6IElFMTAgb24gQnJvd3NlclN0YWNrIGRvZXMgbm90IGxpa2UgdGhpcyB0ZXN0XG52YXIgZm9jdXNPYmplY3RTdmdIaWRkZW4gPSB7XG4gICAgZWxlbWVudDogXCJvYmplY3RcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwidHlwZVwiLCBcImltYWdlL3N2Zyt4bWxcIik7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YVwiLCBzdmcpO1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcIndpZHRoXCIsIFwiMjAwXCIpO1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcImhlaWdodFwiLCBcIjUwXCIpO1xuICAgICAgICBlbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuICAgIH1cbn07XG4vLyBOb3RlOiBJRTEwIG9uIEJyb3dzZXJTdGFjayBkb2VzIG5vdCBsaWtlIHRoaXMgdGVzdFxudmFyIGZvY3VzT2JqZWN0U3ZnID0ge1xuICAgIG5hbWU6IFwiY2FuLWZvY3VzLW9iamVjdC1zdmdcIixcbiAgICBlbGVtZW50OiBcIm9iamVjdFwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJ0eXBlXCIsIFwiaW1hZ2Uvc3ZnK3htbFwiKTtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhXCIsIHN2Zyk7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwid2lkdGhcIiwgXCIyMDBcIik7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwiaGVpZ2h0XCIsIFwiNTBcIik7XG4gICAgfSxcbiAgICB2YWxpZGF0ZTogZnVuY3Rpb24gdmFsaWRhdGUoZWxlbWVudCwgZm9jdXNUYXJnZXQsIF9kb2N1bWVudCkge1xuICAgICAgICBpZiAocGxhdGZvcm0uaXMuR0VDS08pIHtcbiAgICAgICAgICAgIC8vIEZpcmVmb3ggc2VlbXMgdG8gYmUgaGFuZGxpbmcgdGhlIG9iamVjdCBjcmVhdGlvbiBhc3luY2hyb25vdXNseSBhbmQgdGhlcmVieSBwcm9kdWNlcyBhIGZhbHNlIG5lZ2F0aXZlIHRlc3QgcmVzdWx0LlxuICAgICAgICAgICAgLy8gQmVjYXVzZSB3ZSBrbm93IEZpcmVmb3ggaXMgYWJsZSB0byBmb2N1cyBvYmplY3QgZWxlbWVudHMgcmVmZXJlbmNpbmcgU1ZHcywgd2Ugc2ltcGx5IGNoZWF0IGJ5IHNuaWZmaW5nIHRoZSB1c2VyIGFnZW50IHN0cmluZ1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9kb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBlbGVtZW50O1xuICAgIH1cbn07XG4vLyBFdmVyeSBFbnZpcm9ubWVudCBleGNlcHQgSUU5IGNvbnNpZGVycyBTV0Ygb2JqZWN0cyBmb2N1c2FibGVcbnZhciByZXN1bHQkMSA9ICFwbGF0Zm9ybS5pcy5JRTk7XG5mdW5jdGlvbiBmb2N1c09iamVjdFN3ZigpIHtcbiAgICByZXR1cm4gcmVzdWx0JDE7XG59XG52YXIgZm9jdXNSZWRpcmVjdEltZ1VzZW1hcCA9IHtcbiAgICBlbGVtZW50OiBcImRpdlwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSAnPG1hcCBuYW1lPVwiZm9jdXMtcmVkaXJlY3QtaW1nLXVzZW1hcFwiPjxhcmVhIGhyZWY9XCIjdm9pZFwiIHNoYXBlPVwicmVjdFwiIGNvb3Jkcz1cIjYzLDE5LDE0NCw0NVwiPjwvbWFwPicgKyAnPGltZyB1c2VtYXA9XCIjZm9jdXMtcmVkaXJlY3QtaW1nLXVzZW1hcFwiIGFsdD1cIlwiICcgKyAnc3JjPVwiJyArIGdpZiArICdcIj4nO1xuICAgICAgICAvLyBmb2N1cyB0aGUgPGltZz4sIG5vdCB0aGUgPGRpdj5cbiAgICAgICAgcmV0dXJuIGVsZW1lbnQucXVlcnlTZWxlY3RvcihcImltZ1wiKTtcbiAgICB9LFxuICAgIHZhbGlkYXRlOiBmdW5jdGlvbiB2YWxpZGF0ZShlbGVtZW50LCBmb2N1c1RhcmdldCwgX2RvY3VtZW50KSB7XG4gICAgICAgIHZhciB0YXJnZXQgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJhcmVhXCIpO1xuICAgICAgICByZXR1cm4gX2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IHRhcmdldDtcbiAgICB9XG59O1xuLy8gc2VlIGh0dHBzOi8vanNiaW4uY29tL25lbmlyaXNhZ2UvZWRpdD9odG1sLGpzLGNvbnNvbGUsb3V0cHV0XG52YXIgZm9jdXNSZWRpcmVjdExlZ2VuZCA9IHtcbiAgICBlbGVtZW50OiBcImZpZWxkc2V0XCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9ICc8bGVnZW5kPmxlZ2VuZDwvbGVnZW5kPjxpbnB1dCB0YWJpbmRleD1cIi0xXCI+PGlucHV0IHRhYmluZGV4PVwiMFwiPic7XG4gICAgICAgIC8vIHRha2UgY2FyZSBvZiBmb2N1cyBpbiB2YWxpZGF0ZSgpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSxcbiAgICB2YWxpZGF0ZTogZnVuY3Rpb24gdmFsaWRhdGUoZWxlbWVudCwgZm9jdXNUYXJnZXQsIF9kb2N1bWVudCkge1xuICAgICAgICB2YXIgZm9jdXNhYmxlID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dFt0YWJpbmRleD1cIi0xXCJdJyk7XG4gICAgICAgIHZhciB0YWJiYWJsZSA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXRbdGFiaW5kZXg9XCIwXCJdJyk7XG4gICAgICAgIC8vIEZpcmVmb3ggcmVxdWlyZXMgdGhpcyB0ZXN0IHRvIGZvY3VzIHRoZSA8ZmllbGRzZXQ+IGZpcnN0LCB3aGlsZSB0aGlzIGlzIG5vdCBuZWNlc3NhcnkgaW5cbiAgICAgICAgLy8gaHR0cHM6Ly9qc2Jpbi5jb20vbmVuaXJpc2FnZS9lZGl0P2h0bWwsanMsY29uc29sZSxvdXRwdXRcbiAgICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgICAgICBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJsZWdlbmRcIikuZm9jdXMoKTtcbiAgICAgICAgcmV0dXJuIF9kb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmb2N1c2FibGUgJiYgXCJmb2N1c2FibGVcIiB8fCBfZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGFiYmFibGUgJiYgXCJ0YWJiYWJsZVwiIHx8IFwiXCI7XG4gICAgfVxufTtcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tZWRpYWxpemUvYWxseS5qcy9pc3N1ZXMvMjFcbnZhciBmb2N1c1Njcm9sbEJvZHkgPSB7XG4gICAgZWxlbWVudDogXCJkaXZcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwic3R5bGVcIiwgXCJ3aWR0aDogMTAwcHg7IGhlaWdodDogNTBweDsgb3ZlcmZsb3c6IGF1dG87XCIpO1xuICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9ICc8ZGl2IHN0eWxlPVwid2lkdGg6IDUwMHB4OyBoZWlnaHQ6IDQwcHg7XCI+c2Nyb2xsYWJsZSBjb250ZW50PC9kaXY+JztcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQucXVlcnlTZWxlY3RvcihcImRpdlwiKTtcbiAgICB9XG59O1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL21lZGlhbGl6ZS9hbGx5LmpzL2lzc3Vlcy8yMVxudmFyIGZvY3VzU2Nyb2xsQ29udGFpbmVyV2l0aG91dE92ZXJmbG93ID0ge1xuICAgIGVsZW1lbnQ6IFwiZGl2XCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIFwid2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDUwcHg7XCIpO1xuICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9ICc8ZGl2IHN0eWxlPVwid2lkdGg6IDUwMHB4OyBoZWlnaHQ6IDQwcHg7XCI+c2Nyb2xsYWJsZSBjb250ZW50PC9kaXY+JztcbiAgICB9XG59O1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL21lZGlhbGl6ZS9hbGx5LmpzL2lzc3Vlcy8yMVxudmFyIGZvY3VzU2Nyb2xsQ29udGFpbmVyID0ge1xuICAgIGVsZW1lbnQ6IFwiZGl2XCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIFwid2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDUwcHg7IG92ZXJmbG93OiBhdXRvO1wiKTtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSAnPGRpdiBzdHlsZT1cIndpZHRoOiA1MDBweDsgaGVpZ2h0OiA0MHB4O1wiPnNjcm9sbGFibGUgY29udGVudDwvZGl2Pic7XG4gICAgfVxufTtcbnZhciBmb2N1c1N1bW1hcnkgPSB7XG4gICAgZWxlbWVudDogXCJkZXRhaWxzXCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9IFwiPHN1bW1hcnk+Zm9vPC9zdW1tYXJ5PjxwPmNvbnRlbnQ8L3A+XCI7XG4gICAgICAgIHJldHVybiBlbGVtZW50LmZpcnN0RWxlbWVudENoaWxkO1xuICAgIH1cbn07XG5mdW5jdGlvbiBtYWtlRm9jdXNhYmxlRm9yZWlnbk9iamVjdCgpIHtcbiAgICAvLyBDb25zdHJ1Y3RzIDxmb3JlaWduT2JqZWN0IHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiPjxpbnB1dCB0eXBlPVwidGV4dFwiLz48L2ZvcmVpZ25PYmplY3Q+XG4gICAgLy8gd2l0aG91dCByYWlzaW5nIGEgVHJ1c3RlZCBUeXBlcyB2aW9sYXRpb25cbiAgICB2YXIgZm9yZWlnbk9iamVjdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsIFwiZm9yZWlnbk9iamVjdFwiKTtcbiAgICBmb3JlaWduT2JqZWN0LndpZHRoLmJhc2VWYWwudmFsdWUgPSAzMDtcbiAgICBmb3JlaWduT2JqZWN0LmhlaWdodC5iYXNlVmFsLnZhbHVlID0gMzA7XG4gICAgZm9yZWlnbk9iamVjdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIikpO1xuICAgIGZvcmVpZ25PYmplY3QubGFzdENoaWxkLnR5cGUgPSBcInRleHRcIjtcbiAgICByZXR1cm4gZm9yZWlnbk9iamVjdDtcbn1cbmZ1bmN0aW9uIGZvY3VzU3ZnRm9yZWlnbk9iamVjdEhhY2soZWxlbWVudCkge1xuICAgIC8vIEVkZ2UxMywgRWRnZTE0OiBmb3JlaWduT2JqZWN0IGZvY3VzIGhhY2tcbiAgICAvLyBodHRwczovL2pzYmluLmNvbS9rdW5laGludWdpL2VkaXQ/aHRtbCxqcyxvdXRwdXRcbiAgICAvLyBodHRwczovL2pzYmluLmNvbS9mYWphZ2kvMy9lZGl0P2h0bWwsanMsb3V0cHV0XG4gICAgdmFyIGlzU3ZnRWxlbWVudCA9IGVsZW1lbnQub3duZXJTVkdFbGVtZW50IHx8IGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gXCJzdmdcIjtcbiAgICBpZiAoIWlzU3ZnRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIGluamVjdCBhbmQgZm9jdXMgYW4gPGlucHV0PiBlbGVtZW50IGludG8gdGhlIFNWRyBlbGVtZW50IHRvIHJlY2VpdmUgZm9jdXNcbiAgICB2YXIgZm9yZWlnbk9iamVjdCA9IG1ha2VGb2N1c2FibGVGb3JlaWduT2JqZWN0KCk7XG4gICAgZWxlbWVudC5hcHBlbmRDaGlsZChmb3JlaWduT2JqZWN0KTtcbiAgICB2YXIgaW5wdXQgPSBmb3JlaWduT2JqZWN0LnF1ZXJ5U2VsZWN0b3IoXCJpbnB1dFwiKTtcbiAgICBpbnB1dC5mb2N1cygpO1xuICAgIC8vIHVwb24gZGlzYWJsaW5nIHRoZSBhY3RpdmVFbGVtZW50LCBJRSBhbmQgRWRnZVxuICAgIC8vIHdpbGwgbm90IHNoaWZ0IGZvY3VzIHRvIDxib2R5PiBsaWtlIGFsbCB0aGUgb3RoZXJcbiAgICAvLyBicm93c2VycywgYnV0IGluc3RlYWQgZmluZCB0aGUgZmlyc3QgZm9jdXNhYmxlXG4gICAgLy8gYW5jZXN0b3IgYW5kIHNoaWZ0IGZvY3VzIHRvIHRoYXRcbiAgICBpbnB1dC5kaXNhYmxlZCA9IHRydWU7XG4gICAgLy8gY2xlYW4gdXBcbiAgICBlbGVtZW50LnJlbW92ZUNoaWxkKGZvcmVpZ25PYmplY3QpO1xuICAgIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gZ2VuZXJhdGUoZWxlbWVudCkge1xuICAgIHJldHVybiAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCI+JyArIGVsZW1lbnQgKyBcIjwvc3ZnPlwiO1xufVxuZnVuY3Rpb24gZm9jdXMoZWxlbWVudCkge1xuICAgIGlmIChlbGVtZW50LmZvY3VzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgSFRNTEVsZW1lbnQucHJvdG90eXBlLmZvY3VzLmNhbGwoZWxlbWVudCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBmb2N1c1N2Z0ZvcmVpZ25PYmplY3RIYWNrKGVsZW1lbnQpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHZhbGlkYXRlKGVsZW1lbnQsIGZvY3VzVGFyZ2V0LCBfZG9jdW1lbnQpIHtcbiAgICBmb2N1cyhmb2N1c1RhcmdldCk7XG4gICAgcmV0dXJuIF9kb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmb2N1c1RhcmdldDtcbn1cbnZhciBmb2N1c1N2Z0ZvY3VzYWJsZUF0dHJpYnV0ZSA9IHtcbiAgICBlbGVtZW50OiBcImRpdlwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBnZW5lcmF0ZSgnPHRleHQgZm9jdXNhYmxlPVwidHJ1ZVwiPmE8L3RleHQ+Jyk7XG4gICAgICAgIHJldHVybiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJ0ZXh0XCIpO1xuICAgIH0sXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlXG59O1xudmFyIGZvY3VzU3ZnVGFiaW5kZXhBdHRyaWJ1dGUgPSB7XG4gICAgZWxlbWVudDogXCJkaXZcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gZ2VuZXJhdGUoJzx0ZXh0IHRhYmluZGV4PVwiMFwiPmE8L3RleHQ+Jyk7XG4gICAgICAgIHJldHVybiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJ0ZXh0XCIpO1xuICAgIH0sXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlXG59O1xudmFyIGZvY3VzU3ZnTmVnYXRpdmVUYWJpbmRleEF0dHJpYnV0ZSA9IHtcbiAgICBlbGVtZW50OiBcImRpdlwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBnZW5lcmF0ZSgnPHRleHQgdGFiaW5kZXg9XCItMVwiPmE8L3RleHQ+Jyk7XG4gICAgICAgIHJldHVybiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJ0ZXh0XCIpO1xuICAgIH0sXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlXG59O1xudmFyIGZvY3VzU3ZnVXNlVGFiaW5kZXggPSB7XG4gICAgZWxlbWVudDogXCJkaXZcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gZ2VuZXJhdGUoW1xuICAgICAgICAgICAgJzxnIGlkPVwiYWxseS10ZXN0LXRhcmdldFwiPjxhIHhsaW5rOmhyZWY9XCIjdm9pZFwiPjx0ZXh0Pmxpbms8L3RleHQ+PC9hPjwvZz4nLFxuICAgICAgICAgICAgJzx1c2UgeGxpbms6aHJlZj1cIiNhbGx5LXRlc3QtdGFyZ2V0XCIgeD1cIjBcIiB5PVwiMFwiIHRhYmluZGV4PVwiLTFcIiAvPidcbiAgICAgICAgXS5qb2luKFwiXCIpKTtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQucXVlcnlTZWxlY3RvcihcInVzZVwiKTtcbiAgICB9LFxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZVxufTtcbnZhciBmb2N1c1N2Z0ZvcmVpZ25vYmplY3RUYWJpbmRleCA9IHtcbiAgICBlbGVtZW50OiBcImRpdlwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBnZW5lcmF0ZSgnPGZvcmVpZ25PYmplY3QgdGFiaW5kZXg9XCItMVwiPjxpbnB1dCB0eXBlPVwidGV4dFwiIC8+PC9mb3JlaWduT2JqZWN0PicpO1xuICAgICAgICAvLyBTYWZhcmkgOCdzIHF1ZXJzU2VsZWN0b3IoKSBjYW4ndCBpZGVudGlmeSBmb3JlaWduT2JqZWN0LCBidXQgZ2V0RWxlbWVudHlCeVRhZ05hbWUoKSBjYW5cbiAgICAgICAgcmV0dXJuIGVsZW1lbnQucXVlcnlTZWxlY3RvcihcImZvcmVpZ25PYmplY3RcIikgfHwgZWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImZvcmVpZ25PYmplY3RcIilbMF07XG4gICAgfSxcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGVcbn07XG4vLyBGaXJlZm94IHNlZW1zIHRvIGJlIGhhbmRsaW5nIHRoZSBTVkctZG9jdW1lbnQtaW4taWZyYW1lIGNyZWF0aW9uIGFzeW5jaHJvbm91c2x5XG4vLyBhbmQgdGhlcmVieSBwcm9kdWNlcyBhIGZhbHNlIG5lZ2F0aXZlIHRlc3QgcmVzdWx0LiBUaHVzIHRoZSB0ZXN0IGlzIHBvaW50bGVzc1xuLy8gYW5kIHdlIHJlc29ydCB0byBVQSBzbmlmZmluZyBvbmNlIGFnYWluLlxuLy8gc2VlIGh0dHA6Ly9qc2Jpbi5jb20vdnVuYWRvaG9rby8xL2VkaXQ/anMsY29uc29sZSxvdXRwdXRcbnZhciByZXN1bHQkMiA9IEJvb2xlYW4ocGxhdGZvcm0uaXMuR0VDS08gJiYgdHlwZW9mIFNWR0VsZW1lbnQgIT09IFwidW5kZWZpbmVkXCIgJiYgU1ZHRWxlbWVudC5wcm90b3R5cGUuZm9jdXMpO1xuZnVuY3Rpb24gZm9jdXNTdmdJbklmcmFtZSgpIHtcbiAgICByZXR1cm4gcmVzdWx0JDI7XG59XG52YXIgZm9jdXNTdmcgPSB7XG4gICAgZWxlbWVudDogXCJkaXZcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gZ2VuZXJhdGUoXCJcIik7XG4gICAgICAgIHJldHVybiBlbGVtZW50LmZpcnN0Q2hpbGQ7XG4gICAgfSxcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGVcbn07XG4vLyBGaXJlZm94IGFsbG93cyAqYW55KiB2YWx1ZSBhbmQgdHJlYXRzIGludmFsaWQgdmFsdWVzIGxpa2UgdGFiaW5kZXg9XCItMVwiXG4vLyBAYnJvd3Nlci1pc3N1ZSBHZWNrbyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI4MDU0XG52YXIgZm9jdXNUYWJpbmRleFRyYWlsaW5nQ2hhcmFjdGVycyA9IHtcbiAgICBlbGVtZW50OiBcImRpdlwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiLCBcIjN4XCIpO1xuICAgIH1cbn07XG52YXIgZm9jdXNUYWJsZSA9IHtcbiAgICBlbGVtZW50OiBcInRhYmxlXCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCwgd3JhcHBlciwgX2RvY3VtZW50KSB7XG4gICAgICAgIC8vIElFOSBoYXMgYSBwcm9ibGVtIHJlcGxhY2luZyBUQk9EWSBjb250ZW50cyB3aXRoIGlubmVySFRNTC5cbiAgICAgICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzgwOTcwNTUvNTE1MTI0XG4gICAgICAgIC8vIGVsZW1lbnQuaW5uZXJIVE1MID0gJzx0cj48dGQ+Y2VsbDwvdGQ+PC90cj4nO1xuICAgICAgICB2YXIgZnJhZ21lbnQgPSBfZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICAgICAgICBmcmFnbWVudC5pbm5lckhUTUwgPSBcIjx0cj48dGQ+Y2VsbDwvdGQ+PC90cj5cIjtcbiAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChmcmFnbWVudCk7XG4gICAgfVxufTtcbnZhciBmb2N1c1ZpZGVvV2l0aG91dENvbnRyb2xzID0ge1xuICAgIGVsZW1lbnQ6IFwidmlkZW9cIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBpbnZhbGlkIG1lZGlhIGZpbGUgY2FuIHRyaWdnZXIgd2FybmluZyBpbiBjb25zb2xlLCBkYXRhLXVyaSB0byBwcmV2ZW50IEhUVFAgcmVxdWVzdFxuICAgICAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzcmNcIiwgZ2lmKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyBJRTkgbWF5IHRocm93IFwiRXJyb3I6IE5vdCBpbXBsZW1lbnRlZFwiXG4gICAgICAgIH1cbiAgICB9XG59O1xuLy8gaHR0cHM6Ly9qc2Jpbi5jb20vdmFmYWJhLzMvZWRpdD9odG1sLGpzLGNvbnNvbGUsb3V0cHV0XG52YXIgcmVzdWx0JDMgPSBwbGF0Zm9ybS5pcy5HRUNLTyB8fCBwbGF0Zm9ybS5pcy5UUklERU5UIHx8IHBsYXRmb3JtLmlzLkVER0U7XG5mdW5jdGlvbiB0YWJzZXF1ZW5jZUFyZWFBdEltZ1Bvc2l0aW9uKCkge1xuICAgIHJldHVybiByZXN1bHQkMztcbn1cbnZhciB0ZXN0Q2FsbGJhY2tzID0ge1xuICAgIGNzc1NoYWRvd1BpZXJjaW5nRGVlcENvbWJpbmF0b3I6IGNzc1NoYWRvd1BpZXJjaW5nRGVlcENvbWJpbmF0b3IsXG4gICAgZm9jdXNJblplcm9EaW1lbnNpb25PYmplY3Q6IGZvY3VzSW5aZXJvRGltZW5zaW9uT2JqZWN0LFxuICAgIGZvY3VzT2JqZWN0U3dmOiBmb2N1c09iamVjdFN3ZixcbiAgICBmb2N1c1N2Z0luSWZyYW1lOiBmb2N1c1N2Z0luSWZyYW1lLFxuICAgIHRhYnNlcXVlbmNlQXJlYUF0SW1nUG9zaXRpb246IHRhYnNlcXVlbmNlQXJlYUF0SW1nUG9zaXRpb25cbn07XG52YXIgdGVzdERlc2NyaXB0aW9ucyA9IHtcbiAgICBmb2N1c0FyZWFJbWdUYWJpbmRleDogZm9jdXNBcmVhSW1nVGFiaW5kZXgsXG4gICAgZm9jdXNBcmVhVGFiaW5kZXg6IGZvY3VzQXJlYVRhYmluZGV4LFxuICAgIGZvY3VzQXJlYVdpdGhvdXRIcmVmOiBmb2N1c0FyZWFXaXRob3V0SHJlZixcbiAgICBmb2N1c0F1ZGlvV2l0aG91dENvbnRyb2xzOiBmb2N1c0F1ZGlvV2l0aG91dENvbnRyb2xzLFxuICAgIGZvY3VzQnJva2VuSW1hZ2VNYXA6IGZvY3VzQnJva2VuSW1hZ2VNYXAsXG4gICAgZm9jdXNDaGlsZHJlbk9mRm9jdXNhYmxlRmxleGJveDogZm9jdXNDaGlsZHJlbk9mRm9jdXNhYmxlRmxleGJveCxcbiAgICBmb2N1c0ZpZWxkc2V0RGlzYWJsZWQ6IGZvY3VzRmllbGRzZXREaXNhYmxlZCxcbiAgICBmb2N1c0ZpZWxkc2V0OiBmb2N1c0ZpZWxkc2V0LFxuICAgIGZvY3VzRmxleGJveENvbnRhaW5lcjogZm9jdXNGbGV4Ym94Q29udGFpbmVyLFxuICAgIGZvY3VzRm9ybURpc2FibGVkOiBmb2N1c0Zvcm1EaXNhYmxlZCxcbiAgICBmb2N1c0ltZ0lzbWFwOiBmb2N1c0ltZ0lzbWFwLFxuICAgIGZvY3VzSW1nVXNlbWFwVGFiaW5kZXg6IGZvY3VzSW1nVXNlbWFwVGFiaW5kZXgsXG4gICAgZm9jdXNJbkhpZGRlbklmcmFtZTogZm9jdXNJbkhpZGRlbklmcmFtZSxcbiAgICBmb2N1c0ludmFsaWRUYWJpbmRleDogZm9jdXNJbnZhbGlkVGFiaW5kZXgsXG4gICAgZm9jdXNMYWJlbFRhYmluZGV4OiBmb2N1c0xhYmVsVGFiaW5kZXgsXG4gICAgZm9jdXNPYmplY3RTdmc6IGZvY3VzT2JqZWN0U3ZnLFxuICAgIGZvY3VzT2JqZWN0U3ZnSGlkZGVuOiBmb2N1c09iamVjdFN2Z0hpZGRlbixcbiAgICBmb2N1c1JlZGlyZWN0SW1nVXNlbWFwOiBmb2N1c1JlZGlyZWN0SW1nVXNlbWFwLFxuICAgIGZvY3VzUmVkaXJlY3RMZWdlbmQ6IGZvY3VzUmVkaXJlY3RMZWdlbmQsXG4gICAgZm9jdXNTY3JvbGxCb2R5OiBmb2N1c1Njcm9sbEJvZHksXG4gICAgZm9jdXNTY3JvbGxDb250YWluZXJXaXRob3V0T3ZlcmZsb3c6IGZvY3VzU2Nyb2xsQ29udGFpbmVyV2l0aG91dE92ZXJmbG93LFxuICAgIGZvY3VzU2Nyb2xsQ29udGFpbmVyOiBmb2N1c1Njcm9sbENvbnRhaW5lcixcbiAgICBmb2N1c1N1bW1hcnk6IGZvY3VzU3VtbWFyeSxcbiAgICBmb2N1c1N2Z0ZvY3VzYWJsZUF0dHJpYnV0ZTogZm9jdXNTdmdGb2N1c2FibGVBdHRyaWJ1dGUsXG4gICAgZm9jdXNTdmdUYWJpbmRleEF0dHJpYnV0ZTogZm9jdXNTdmdUYWJpbmRleEF0dHJpYnV0ZSxcbiAgICBmb2N1c1N2Z05lZ2F0aXZlVGFiaW5kZXhBdHRyaWJ1dGU6IGZvY3VzU3ZnTmVnYXRpdmVUYWJpbmRleEF0dHJpYnV0ZSxcbiAgICBmb2N1c1N2Z1VzZVRhYmluZGV4OiBmb2N1c1N2Z1VzZVRhYmluZGV4LFxuICAgIGZvY3VzU3ZnRm9yZWlnbm9iamVjdFRhYmluZGV4OiBmb2N1c1N2Z0ZvcmVpZ25vYmplY3RUYWJpbmRleCxcbiAgICBmb2N1c1N2ZzogZm9jdXNTdmcsXG4gICAgZm9jdXNUYWJpbmRleFRyYWlsaW5nQ2hhcmFjdGVyczogZm9jdXNUYWJpbmRleFRyYWlsaW5nQ2hhcmFjdGVycyxcbiAgICBmb2N1c1RhYmxlOiBmb2N1c1RhYmxlLFxuICAgIGZvY3VzVmlkZW9XaXRob3V0Q29udHJvbHM6IGZvY3VzVmlkZW9XaXRob3V0Q29udHJvbHNcbn07XG5mdW5jdGlvbiBleGVjdXRlVGVzdHMoKSB7XG4gICAgdmFyIHJlc3VsdHMgPSBkZXRlY3RGb2N1cyh0ZXN0RGVzY3JpcHRpb25zKTtcbiAgICBPYmplY3Qua2V5cyh0ZXN0Q2FsbGJhY2tzKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xuICAgICAgICByZXN1bHRzW2tleV0gPSB0ZXN0Q2FsbGJhY2tzW2tleV0oKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0cztcbn1cbnZhciBzdXBwb3J0c0NhY2hlID0gbnVsbDtcbmZ1bmN0aW9uIF9zdXBwb3J0cygpIHtcbiAgICBpZiAoc3VwcG9ydHNDYWNoZSkge1xuICAgICAgICByZXR1cm4gc3VwcG9ydHNDYWNoZTtcbiAgICB9XG4gICAgc3VwcG9ydHNDYWNoZSA9IGNhY2hlJDEuZ2V0KCk7XG4gICAgaWYgKCFzdXBwb3J0c0NhY2hlLnRpbWUpIHtcbiAgICAgICAgY2FjaGUkMS5zZXQoZXhlY3V0ZVRlc3RzKCkpO1xuICAgICAgICBzdXBwb3J0c0NhY2hlID0gY2FjaGUkMS5nZXQoKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cHBvcnRzQ2FjaGU7XG59XG52YXIgc3VwcG9ydHMgPSB2b2lkIDA7XG4vLyBodHRwczovL3d3dy53My5vcmcvVFIvaHRtbDUvaW5mcmFzdHJ1Y3R1cmUuaHRtbCNydWxlcy1mb3ItcGFyc2luZy1pbnRlZ2Vyc1xuLy8gTk9URTogYWxsIGJyb3dzZXJzIGFncmVlIHRvIGFsbG93IHRyYWlsaW5nIHNwYWNlcyBhcyB3ZWxsXG52YXIgdmFsaWRJbnRlZ2VyUGF0dGVybk5vVHJhaWxpbmcgPSAvXlxccyooLXxcXCspP1swLTldK1xccyokLztcbnZhciB2YWxpZEludGVnZXJQYXR0ZXJuV2l0aFRyYWlsaW5nID0gL15cXHMqKC18XFwrKT9bMC05XSsuKiQvO1xuZnVuY3Rpb24gaXNWYWxpZFRhYmluZGV4KGNvbnRleHQpIHtcbiAgICBpZiAoIXN1cHBvcnRzKSB7XG4gICAgICAgIHN1cHBvcnRzID0gX3N1cHBvcnRzKCk7XG4gICAgfVxuICAgIHZhciB2YWxpZEludGVnZXJQYXR0ZXJuID0gc3VwcG9ydHMuZm9jdXNUYWJpbmRleFRyYWlsaW5nQ2hhcmFjdGVycyA/IHZhbGlkSW50ZWdlclBhdHRlcm5XaXRoVHJhaWxpbmcgOiB2YWxpZEludGVnZXJQYXR0ZXJuTm9UcmFpbGluZztcbiAgICB2YXIgZWxlbWVudCA9IGNvbnRleHRUb0VsZW1lbnQoe1xuICAgICAgICBsYWJlbDogXCJpcy92YWxpZC10YWJpbmRleFwiLFxuICAgICAgICByZXNvbHZlRG9jdW1lbnQ6IHRydWUsXG4gICAgICAgIGNvbnRleHQ6IGNvbnRleHRcbiAgICB9KTtcbiAgICAvLyBFZGdlIDE0IGhhcyBhIGNhcGl0YWxpemF0aW9uIHByb2JsZW0gb24gU1ZHIGVsZW1lbnRzLFxuICAgIC8vIHNlZSBodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL2VuLXVzL21pY3Jvc29mdC1lZGdlL3BsYXRmb3JtL2lzc3Vlcy85MjgyMDU4L1xuICAgIHZhciBoYXNUYWJpbmRleCA9IGVsZW1lbnQuaGFzQXR0cmlidXRlKFwidGFiaW5kZXhcIik7XG4gICAgdmFyIGhhc1RhYkluZGV4ID0gZWxlbWVudC5oYXNBdHRyaWJ1dGUoXCJ0YWJJbmRleFwiKTtcbiAgICBpZiAoIWhhc1RhYmluZGV4ICYmICFoYXNUYWJJbmRleCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIG9sZGVyIEZpcmVmb3ggYW5kIEludGVybmV0IEV4cGxvcmVyIGRvbid0IHN1cHBvcnQgdGFiaW5kZXggb24gU1ZHIGVsZW1lbnRzXG4gICAgdmFyIGlzU3ZnRWxlbWVudCA9IGVsZW1lbnQub3duZXJTVkdFbGVtZW50IHx8IGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gXCJzdmdcIjtcbiAgICBpZiAoaXNTdmdFbGVtZW50ICYmICFzdXBwb3J0cy5mb2N1c1N2Z1RhYmluZGV4QXR0cmlidXRlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLy8gQGJyb3dzZXItaXNzdWUgR2Vja28gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyODA1NFxuICAgIGlmIChzdXBwb3J0cy5mb2N1c0ludmFsaWRUYWJpbmRleCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLy8gYW4gZWxlbWVudCBtYXRjaGVzIHRoZSB0YWJpbmRleCBzZWxlY3RvciBldmVuIGlmIGl0cyB2YWx1ZSBpcyBpbnZhbGlkXG4gICAgdmFyIHRhYmluZGV4ID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoaGFzVGFiaW5kZXggPyBcInRhYmluZGV4XCIgOiBcInRhYkluZGV4XCIpO1xuICAgIC8vIElFMTEgcGFyc2VzIHRhYmluZGV4PVwiXCIgYXMgdGhlIHZhbHVlIFwiLTMyNzY4XCJcbiAgICAvLyBAYnJvd3Nlci1pc3N1ZSBUcmlkZW50IGh0dHBzOi8vY29ubmVjdC5taWNyb3NvZnQuY29tL0lFL2ZlZWRiYWNrL2RldGFpbHMvMTA3Mjk2NVxuICAgIGlmICh0YWJpbmRleCA9PT0gXCItMzI3NjhcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBCb29sZWFuKHRhYmluZGV4ICYmIHZhbGlkSW50ZWdlclBhdHRlcm4udGVzdCh0YWJpbmRleCkpO1xufVxuZnVuY3Rpb24gdGFiaW5kZXhWYWx1ZShlbGVtZW50KSB7XG4gICAgaWYgKCFpc1ZhbGlkVGFiaW5kZXgoZWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIC8vIEVkZ2UgMTQgaGFzIGEgY2FwaXRhbGl6YXRpb24gcHJvYmxlbSBvbiBTVkcgZWxlbWVudHMsXG4gICAgLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vZW4tdXMvbWljcm9zb2Z0LWVkZ2UvcGxhdGZvcm0vaXNzdWVzLzkyODIwNTgvXG4gICAgdmFyIGhhc1RhYmluZGV4ID0gZWxlbWVudC5oYXNBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiKTtcbiAgICB2YXIgYXR0cmlidXRlTmFtZSA9IGhhc1RhYmluZGV4ID8gXCJ0YWJpbmRleFwiIDogXCJ0YWJJbmRleFwiO1xuICAgIC8vIEBicm93c2VyLWlzc3VlIEdlY2tvIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTExMjgwNTRcbiAgICB2YXIgdGFiaW5kZXggPSBwYXJzZUludChlbGVtZW50LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSwgMTApO1xuICAgIHJldHVybiBpc05hTih0YWJpbmRleCkgPyAtMSA6IHRhYmluZGV4O1xufVxuLy8gdGhpcyBpcyBhIHNoYXJlZCB1dGlsaXR5IGZpbGUgZm9yIGZvY3VzLXJlbGV2YW50LmpzIGFuZCB0YWJiYWJsZS5qc1xuLy8gc2VwYXJhdGUgdGVzdGluZyBvZiB0aGlzIGZpbGUncyBmdW5jdGlvbnMgaXMgbm90IG5lY2Vzc2FyeSxcbi8vIGFzIHRoZXkncmUgaW1wbGljaXRseSB0ZXN0ZWQgYnkgd2F5IG9mIHRoZSBjb25zdW1lcnNcbmZ1bmN0aW9uIGlzVXNlck1vZGlmeVdyaXRhYmxlKHN0eWxlKSB7XG4gICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSLzE5OTkvV0QtY3NzMy11c2VyaW50LTE5OTkwOTE2I3VzZXItbW9kaWZ5XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL21lZGlhbGl6ZS9hbGx5LmpzL2lzc3Vlcy8xN1xuICAgIHZhciB1c2VyTW9kaWZ5ID0gc3R5bGUud2Via2l0VXNlck1vZGlmeSB8fCBcIlwiO1xuICAgIHJldHVybiBCb29sZWFuKHVzZXJNb2RpZnkgJiYgdXNlck1vZGlmeS5pbmRleE9mKFwid3JpdGVcIikgIT09IC0xKTtcbn1cbmZ1bmN0aW9uIGhhc0Nzc092ZXJmbG93U2Nyb2xsKHN0eWxlKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShcIm92ZXJmbG93XCIpLFxuICAgICAgICBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKFwib3ZlcmZsb3cteFwiKSxcbiAgICAgICAgc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShcIm92ZXJmbG93LXlcIilcbiAgICBdLnNvbWUoZnVuY3Rpb24ob3ZlcmZsb3cpIHtcbiAgICAgICAgcmV0dXJuIG92ZXJmbG93ID09PSBcImF1dG9cIiB8fCBvdmVyZmxvdyA9PT0gXCJzY3JvbGxcIjtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGhhc0Nzc0Rpc3BsYXlGbGV4KHN0eWxlKSB7XG4gICAgcmV0dXJuIHN0eWxlLmRpc3BsYXkuaW5kZXhPZihcImZsZXhcIikgPiAtMTtcbn1cbmZ1bmN0aW9uIGlzU2Nyb2xsYWJsZUNvbnRhaW5lcihlbGVtZW50LCBub2RlTmFtZSwgcGFyZW50Tm9kZU5hbWUsIHBhcmVudFN0eWxlKSB7XG4gICAgaWYgKG5vZGVOYW1lICE9PSBcImRpdlwiICYmIG5vZGVOYW1lICE9PSBcInNwYW5cIikge1xuICAgICAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciBhZHZhbmNlcyBzY3JvbGxhYmxlIGNvbnRhaW5lcnMgYW5kIGJvZGllcyB0byBmb2N1c2FibGVcbiAgICAgICAgLy8gb25seSBpZiB0aGUgc2Nyb2xsYWJsZSBjb250YWluZXIgaXMgPGRpdj4gb3IgPHNwYW4+IC0gdGhpcyBkb2VzICpub3QqXG4gICAgICAgIC8vIGhhcHBlbiBmb3IgPHNlY3Rpb24+LCA8YXJ0aWNsZT4sIOKAplxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChwYXJlbnROb2RlTmFtZSAmJiBwYXJlbnROb2RlTmFtZSAhPT0gXCJkaXZcIiAmJiBwYXJlbnROb2RlTmFtZSAhPT0gXCJzcGFuXCIgJiYgIWhhc0Nzc092ZXJmbG93U2Nyb2xsKHBhcmVudFN0eWxlKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBlbGVtZW50Lm9mZnNldEhlaWdodCA8IGVsZW1lbnQuc2Nyb2xsSGVpZ2h0IHx8IGVsZW1lbnQub2Zmc2V0V2lkdGggPCBlbGVtZW50LnNjcm9sbFdpZHRoO1xufVxudmFyIHN1cHBvcnRzJDEgPSB2b2lkIDA7XG5mdW5jdGlvbiBpc0ZvY3VzUmVsZXZhbnRSdWxlcygpIHtcbiAgICB2YXIgX3JlZiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge30sIGNvbnRleHQgPSBfcmVmLmNvbnRleHQsIF9yZWYkZXhjZXB0ID0gX3JlZi5leGNlcHQsIGV4Y2VwdCA9IF9yZWYkZXhjZXB0ID09PSB1bmRlZmluZWQgPyB7XG4gICAgICAgIGZsZXhib3g6IGZhbHNlLFxuICAgICAgICBzY3JvbGxhYmxlOiBmYWxzZSxcbiAgICAgICAgc2hhZG93OiBmYWxzZVxuICAgIH0gOiBfcmVmJGV4Y2VwdDtcbiAgICBpZiAoIXN1cHBvcnRzJDEpIHtcbiAgICAgICAgc3VwcG9ydHMkMSA9IF9zdXBwb3J0cygpO1xuICAgIH1cbiAgICB2YXIgZWxlbWVudCA9IGNvbnRleHRUb0VsZW1lbnQoe1xuICAgICAgICBsYWJlbDogXCJpcy9mb2N1cy1yZWxldmFudFwiLFxuICAgICAgICByZXNvbHZlRG9jdW1lbnQ6IHRydWUsXG4gICAgICAgIGNvbnRleHQ6IGNvbnRleHRcbiAgICB9KTtcbiAgICBpZiAoIWV4Y2VwdC5zaGFkb3cgJiYgZWxlbWVudC5zaGFkb3dSb290KSB7XG4gICAgICAgIC8vIGEgU2hhZG93RE9NIGhvc3QgcmVjZWl2ZXMgZm9jdXMgd2hlbiB0aGUgZm9jdXMgbW92ZXMgdG8gaXRzIGNvbnRlbnRcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHZhciBub2RlTmFtZSA9IGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAobm9kZU5hbWUgPT09IFwiaW5wdXRcIiAmJiBlbGVtZW50LnR5cGUgPT09IFwiaGlkZGVuXCIpIHtcbiAgICAgICAgLy8gaW5wdXRbdHlwZT1cImhpZGRlblwiXSBzdXBwb3J0cy5jYW5ub3QgYmUgZm9jdXNlZFxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJpbnB1dFwiIHx8IG5vZGVOYW1lID09PSBcInNlbGVjdFwiIHx8IG5vZGVOYW1lID09PSBcImJ1dHRvblwiIHx8IG5vZGVOYW1lID09PSBcInRleHRhcmVhXCIpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJsZWdlbmRcIiAmJiBzdXBwb3J0cyQxLmZvY3VzUmVkaXJlY3RMZWdlbmQpIHtcbiAgICAgICAgLy8gc3BlY2lmaWNzIGZpbHRlcmVkIGluIGlzL2ZvY3VzYWJsZVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG5vZGVOYW1lID09PSBcImxhYmVsXCIpIHtcbiAgICAgICAgLy8gc3BlY2lmaWNzIGZpbHRlcmVkIGluIGlzL2ZvY3VzYWJsZVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG5vZGVOYW1lID09PSBcImFyZWFcIikge1xuICAgICAgICAvLyBzcGVjaWZpY3MgZmlsdGVyZWQgaW4gaXMvZm9jdXNhYmxlXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAobm9kZU5hbWUgPT09IFwiYVwiICYmIGVsZW1lbnQuaGFzQXR0cmlidXRlKFwiaHJlZlwiKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG5vZGVOYW1lID09PSBcIm9iamVjdFwiICYmIGVsZW1lbnQuaGFzQXR0cmlidXRlKFwidXNlbWFwXCIpKSB7XG4gICAgICAgIC8vIG9iamVjdFt1c2VtYXBdIGlzIG5vdCBmb2N1c2FibGUgaW4gYW55IGJyb3dzZXJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAobm9kZU5hbWUgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgdmFyIHN2Z1R5cGUgPSBlbGVtZW50LmdldEF0dHJpYnV0ZShcInR5cGVcIik7XG4gICAgICAgIGlmICghc3VwcG9ydHMkMS5mb2N1c09iamVjdFN2ZyAmJiBzdmdUeXBlID09PSBcImltYWdlL3N2Zyt4bWxcIikge1xuICAgICAgICAgICAgLy8gb2JqZWN0W3R5cGU9XCJpbWFnZS9zdmcreG1sXCJdIGlzIG5vdCBmb2N1c2FibGUgaW4gSW50ZXJuZXQgRXhwbG9yZXJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSBlbHNlIGlmICghc3VwcG9ydHMkMS5mb2N1c09iamVjdFN3ZiAmJiBzdmdUeXBlID09PSBcImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoXCIpIHtcbiAgICAgICAgICAgIC8vIG9iamVjdFt0eXBlPVwiYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2hcIl0gaXMgbm90IGZvY3VzYWJsZSBpbiBJbnRlcm5ldCBFeHBsb3JlciA5XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vZGVOYW1lID09PSBcImlmcmFtZVwiIHx8IG5vZGVOYW1lID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIC8vIGJyb3dzaW5nIGNvbnRleHQgY29udGFpbmVyc1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG5vZGVOYW1lID09PSBcImVtYmVkXCIgfHwgbm9kZU5hbWUgPT09IFwia2V5Z2VuXCIpIHtcbiAgICAgICAgLy8gZW1iZWQgaXMgY29uc2lkZXJlZCBmb2N1cy1yZWxldmFudCBidXQgbm90IGZvY3VzYWJsZVxuICAgICAgICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL21lZGlhbGl6ZS9hbGx5LmpzL2lzc3Vlcy84MlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGVsZW1lbnQuaGFzQXR0cmlidXRlKFwiY29udGVudGVkaXRhYmxlXCIpKSB7XG4gICAgICAgIC8vIGFsc28gc2VlIENTUyBwcm9wZXJ0eSB1c2VyLW1vZGlmeSBiZWxvd1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG5vZGVOYW1lID09PSBcImF1ZGlvXCIgJiYgKHN1cHBvcnRzJDEuZm9jdXNBdWRpb1dpdGhvdXRDb250cm9scyB8fCBlbGVtZW50Lmhhc0F0dHJpYnV0ZShcImNvbnRyb2xzXCIpKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG5vZGVOYW1lID09PSBcInZpZGVvXCIgJiYgKHN1cHBvcnRzJDEuZm9jdXNWaWRlb1dpdGhvdXRDb250cm9scyB8fCBlbGVtZW50Lmhhc0F0dHJpYnV0ZShcImNvbnRyb2xzXCIpKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHN1cHBvcnRzJDEuZm9jdXNTdW1tYXJ5ICYmIG5vZGVOYW1lID09PSBcInN1bW1hcnlcIikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgdmFyIHZhbGlkVGFiaW5kZXggPSBpc1ZhbGlkVGFiaW5kZXgoZWxlbWVudCk7XG4gICAgaWYgKG5vZGVOYW1lID09PSBcImltZ1wiICYmIGVsZW1lbnQuaGFzQXR0cmlidXRlKFwidXNlbWFwXCIpKSB7XG4gICAgICAgIC8vIEdlY2tvLCBUcmlkZW50IGFuZCBFZGdlIGRvIG5vdCBhbGxvdyBhbiBpbWFnZSB3aXRoIGFuIGltYWdlIG1hcCBhbmQgdGFiaW5kZXggdG8gYmUgZm9jdXNlZCxcbiAgICAgICAgLy8gaXQgYXBwZWFycyB0aGUgdGFiaW5kZXggaXMgb3ZlcnJ1bGVkIHNvIGZvY3VzIGlzIHN0aWxsIGZvcndhcmRlZCB0byB0aGUgPG1hcD5cbiAgICAgICAgcmV0dXJuIHZhbGlkVGFiaW5kZXggJiYgc3VwcG9ydHMkMS5mb2N1c0ltZ1VzZW1hcFRhYmluZGV4IHx8IHN1cHBvcnRzJDEuZm9jdXNSZWRpcmVjdEltZ1VzZW1hcDtcbiAgICB9XG4gICAgaWYgKHN1cHBvcnRzJDEuZm9jdXNUYWJsZSAmJiAobm9kZU5hbWUgPT09IFwidGFibGVcIiB8fCBub2RlTmFtZSA9PT0gXCJ0ZFwiKSkge1xuICAgICAgICAvLyBJRTEwLTExIHN1cHBvcnRzLmNhbiBmb2N1cyA8dGFibGU+IGFuZCA8dGQ+XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoc3VwcG9ydHMkMS5mb2N1c0ZpZWxkc2V0ICYmIG5vZGVOYW1lID09PSBcImZpZWxkc2V0XCIpIHtcbiAgICAgICAgLy8gSUUxMC0xMSBzdXBwb3J0cy5jYW4gZm9jdXMgPGZpZWxkc2V0PlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgdmFyIGlzU3ZnRWxlbWVudCA9IG5vZGVOYW1lID09PSBcInN2Z1wiO1xuICAgIHZhciBpc1N2Z0NvbnRlbnQgPSBlbGVtZW50Lm93bmVyU1ZHRWxlbWVudDtcbiAgICB2YXIgZm9jdXNhYmxlQXR0cmlidXRlID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJmb2N1c2FibGVcIik7XG4gICAgdmFyIHRhYmluZGV4ID0gdGFiaW5kZXhWYWx1ZShlbGVtZW50KTtcbiAgICBpZiAobm9kZU5hbWUgPT09IFwidXNlXCIgJiYgdGFiaW5kZXggIT09IG51bGwgJiYgIXN1cHBvcnRzJDEuZm9jdXNTdmdVc2VUYWJpbmRleCkge1xuICAgICAgICAvLyA8dXNlPiBjYW5ub3QgYmUgbWFkZSBmb2N1c2FibGUgYnkgYWRkaW5nIGEgdGFiaW5kZXggYXR0cmlidXRlIGFueXdoZXJlIGJ1dCBCbGluayBhbmQgV2ViS2l0XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKG5vZGVOYW1lID09PSBcImZvcmVpZ25vYmplY3RcIikge1xuICAgICAgICAvLyA8dXNlPiBjYW4gb25seSBiZSBtYWRlIGZvY3VzYWJsZSBpbiBCbGluayBhbmQgV2ViS2l0XG4gICAgICAgIHJldHVybiB0YWJpbmRleCAhPT0gbnVsbCAmJiBzdXBwb3J0cyQxLmZvY3VzU3ZnRm9yZWlnbm9iamVjdFRhYmluZGV4O1xuICAgIH1cbiAgICBpZiAoZWxlbWVudE1hdGNoZXMoZWxlbWVudCwgXCJzdmcgYVwiKSAmJiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShcInhsaW5rOmhyZWZcIikpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICgoaXNTdmdFbGVtZW50IHx8IGlzU3ZnQ29udGVudCkgJiYgZWxlbWVudC5mb2N1cyAmJiAhc3VwcG9ydHMkMS5mb2N1c1N2Z05lZ2F0aXZlVGFiaW5kZXhBdHRyaWJ1dGUgJiYgdGFiaW5kZXggPCAwKSB7XG4gICAgICAgIC8vIEZpcmVmb3ggNTEgYW5kIDUyIHRyZWF0IGFueSBuYXRpdmVseSB0YWJiYWJsZSBTVkcgZWxlbWVudCB3aXRoXG4gICAgICAgIC8vIHRhYmluZGV4PVwiLTFcIiBhcyB0YWJiYWJsZSBhbmQgZXZlcnl0aGluZyBlbHNlIGFzIGluZXJ0XG4gICAgICAgIC8vIHNlZSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzAyMzQwXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGlzU3ZnRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gdmFsaWRUYWJpbmRleCB8fCBzdXBwb3J0cyQxLmZvY3VzU3ZnIHx8IHN1cHBvcnRzJDEuZm9jdXNTdmdJbklmcmFtZSB8fCAvLyBJbnRlcm5ldCBFeHBsb3JlciB1bmRlcnN0YW5kcyB0aGUgZm9jdXNhYmxlIGF0dHJpYnV0ZSBpbnRyb2R1Y2VkIGluIFNWRyBUaW55IDEuMlxuICAgICAgICBCb29sZWFuKHN1cHBvcnRzJDEuZm9jdXNTdmdGb2N1c2FibGVBdHRyaWJ1dGUgJiYgZm9jdXNhYmxlQXR0cmlidXRlICYmIGZvY3VzYWJsZUF0dHJpYnV0ZSA9PT0gXCJ0cnVlXCIpO1xuICAgIH1cbiAgICBpZiAoaXNTdmdDb250ZW50KSB7XG4gICAgICAgIGlmIChzdXBwb3J0cyQxLmZvY3VzU3ZnVGFiaW5kZXhBdHRyaWJ1dGUgJiYgdmFsaWRUYWJpbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN1cHBvcnRzJDEuZm9jdXNTdmdGb2N1c2FibGVBdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIC8vIEludGVybmV0IEV4cGxvcmVyIHVuZGVyc3RhbmRzIHRoZSBmb2N1c2FibGUgYXR0cmlidXRlIGludHJvZHVjZWQgaW4gU1ZHIFRpbnkgMS4yXG4gICAgICAgICAgICByZXR1cm4gZm9jdXNhYmxlQXR0cmlidXRlID09PSBcInRydWVcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvaHRtbDUvZWRpdGluZy5odG1sI3NlcXVlbnRpYWwtZm9jdXMtbmF2aWdhdGlvbi1hbmQtdGhlLXRhYmluZGV4LWF0dHJpYnV0ZVxuICAgIGlmICh2YWxpZFRhYmluZGV4KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB2YXIgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCBudWxsKTtcbiAgICBpZiAoaXNVc2VyTW9kaWZ5V3JpdGFibGUoc3R5bGUpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoc3VwcG9ydHMkMS5mb2N1c0ltZ0lzbWFwICYmIG5vZGVOYW1lID09PSBcImltZ1wiICYmIGVsZW1lbnQuaGFzQXR0cmlidXRlKFwiaXNtYXBcIikpIHtcbiAgICAgICAgLy8gSUUxMC0xMSBjb25zaWRlcnMgdGhlIDxpbWc+IGluIDxhIGhyZWY+PGltZyBpc21hcD4gZm9jdXNhYmxlXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tZWRpYWxpemUvYWxseS5qcy9pc3N1ZXMvMjBcbiAgICAgICAgdmFyIGhhc0xpbmtQYXJlbnQgPSBnZXRQYXJlbnRzKHtcbiAgICAgICAgICAgIGNvbnRleHQ6IGVsZW1lbnRcbiAgICAgICAgfSkuc29tZShmdW5jdGlvbihwYXJlbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gXCJhXCIgJiYgcGFyZW50Lmhhc0F0dHJpYnV0ZShcImhyZWZcIik7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoaGFzTGlua1BhcmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL21lZGlhbGl6ZS9hbGx5LmpzL2lzc3Vlcy8yMVxuICAgIGlmICghZXhjZXB0LnNjcm9sbGFibGUgJiYgc3VwcG9ydHMkMS5mb2N1c1Njcm9sbENvbnRhaW5lcikge1xuICAgICAgICBpZiAoc3VwcG9ydHMkMS5mb2N1c1Njcm9sbENvbnRhaW5lcldpdGhvdXRPdmVyZmxvdykge1xuICAgICAgICAgICAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgZG9lcyB3aWxsIGNvbnNpZGVyIHRoZSBzY3JvbGxhYmxlIGFyZWEgZm9jdXNhYmxlXG4gICAgICAgICAgICAvLyBpZiB0aGUgZWxlbWVudCBpcyBhIDxkaXY+IG9yIGEgPHNwYW4+IGFuZCBpdCBpcyBpbiBmYWN0IHNjcm9sbGFibGUsXG4gICAgICAgICAgICAvLyByZWdhcmRsZXNzIG9mIHRoZSBDU1Mgb3ZlcmZsb3cgcHJvcGVydHlcbiAgICAgICAgICAgIGlmIChpc1Njcm9sbGFibGVDb250YWluZXIoZWxlbWVudCwgbm9kZU5hbWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoaGFzQ3NzT3ZlcmZsb3dTY3JvbGwoc3R5bGUpKSB7XG4gICAgICAgICAgICAvLyBGaXJlZm94IHJlcXVpcmVzIHByb3BlciBvdmVyZmxvdyBzZXR0aW5nLCBJRSBkb2VzIG5vdCBuZWNlc3NhcmlseVxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQ1NTL292ZXJmbG93XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWV4Y2VwdC5mbGV4Ym94ICYmIHN1cHBvcnRzJDEuZm9jdXNGbGV4Ym94Q29udGFpbmVyICYmIGhhc0Nzc0Rpc3BsYXlGbGV4KHN0eWxlKSkge1xuICAgICAgICAvLyBlbGVtZW50cyB3aXRoIGRpc3BsYXk6ZmxleCBhcmUgZm9jdXNhYmxlIGluIElFMTAtMTFcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHZhciBwYXJlbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgaWYgKCFleGNlcHQuc2Nyb2xsYWJsZSAmJiBwYXJlbnQpIHtcbiAgICAgICAgdmFyIHBhcmVudE5vZGVOYW1lID0gcGFyZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHZhciBwYXJlbnRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHBhcmVudCwgbnVsbCk7XG4gICAgICAgIGlmIChzdXBwb3J0cyQxLmZvY3VzU2Nyb2xsQm9keSAmJiBpc1Njcm9sbGFibGVDb250YWluZXIocGFyZW50LCBub2RlTmFtZSwgcGFyZW50Tm9kZU5hbWUsIHBhcmVudFN0eWxlKSkge1xuICAgICAgICAgICAgLy8gc2Nyb2xsYWJsZSBib2RpZXMgYXJlIGZvY3VzYWJsZSBJbnRlcm5ldCBFeHBsb3JlclxuICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL21lZGlhbGl6ZS9hbGx5LmpzL2lzc3Vlcy8yMVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQ2hpbGRyZW4gb2YgZm9jdXNhYmxlIGVsZW1lbnRzIHdpdGggZGlzcGxheTpmbGV4IGFyZSBmb2N1c2FibGUgaW4gSUUxMC0xMVxuICAgICAgICBpZiAoc3VwcG9ydHMkMS5mb2N1c0NoaWxkcmVuT2ZGb2N1c2FibGVGbGV4Ym94KSB7XG4gICAgICAgICAgICBpZiAoaGFzQ3NzRGlzcGxheUZsZXgocGFyZW50U3R5bGUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gTk9URTogZWxlbWVudHMgbWFya2VkIGFzIGluZXJ0IGFyZSBub3QgZm9jdXNhYmxlLFxuICAgIC8vIGJ1dCB0aGF0IHByb3BlcnR5IGlzIG5vdCBleHBvc2VkIHRvIHRoZSBET01cbiAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvaHRtbDUvZWRpdGluZy5odG1sI2luZXJ0XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuLy8gYmluZCBleGNlcHRpb25zIHRvIGFuIGl0ZXJhdG9yIGNhbGxiYWNrXG5pc0ZvY3VzUmVsZXZhbnRSdWxlcy5leGNlcHQgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgZXhjZXB0ID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgICB2YXIgaXNGb2N1c1JlbGV2YW50ID0gZnVuY3Rpb24gaXNGb2N1c1JlbGV2YW50KGNvbnRleHQpIHtcbiAgICAgICAgcmV0dXJuIGlzRm9jdXNSZWxldmFudFJ1bGVzKHtcbiAgICAgICAgICAgIGNvbnRleHQ6IGNvbnRleHQsXG4gICAgICAgICAgICBleGNlcHQ6IGV4Y2VwdFxuICAgICAgICB9KTtcbiAgICB9O1xuICAgIGlzRm9jdXNSZWxldmFudC5ydWxlcyA9IGlzRm9jdXNSZWxldmFudFJ1bGVzO1xuICAgIHJldHVybiBpc0ZvY3VzUmVsZXZhbnQ7XG59O1xuLy8gcHJvdmlkZSBpc0ZvY3VzUmVsZXZhbnQoY29udGV4dCkgYXMgZGVmYXVsdCBpdGVyYXRvciBjYWxsYmFja1xudmFyIGlzRm9jdXNSZWxldmFudCA9IGlzRm9jdXNSZWxldmFudFJ1bGVzLmV4Y2VwdCh7fSk7XG5mdW5jdGlvbiBmaW5kSW5kZXgoYXJyYXksIGNhbGxiYWNrKSB7XG4gICAgLy8gYXR0ZW1wdCB0byB1c2UgbmF0aXZlIG9yIHBvbHlmaWxsZWQgQXJyYXkjZmluZEluZGV4IGZpcnN0XG4gICAgaWYgKGFycmF5LmZpbmRJbmRleCkge1xuICAgICAgICByZXR1cm4gYXJyYXkuZmluZEluZGV4KGNhbGxiYWNrKTtcbiAgICB9XG4gICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcbiAgICAvLyBzaG9ydGN1dCBpZiB0aGUgYXJyYXkgaXMgZW1wdHlcbiAgICBpZiAobGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gICAgLy8gb3RoZXJ3aXNlIGxvb3Agb3ZlciBhcnJheVxuICAgIGZvcih2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKyl7XG4gICAgICAgIGlmIChjYWxsYmFjayhhcnJheVtpXSwgaSwgYXJyYXkpKSB7XG4gICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gLTE7XG59XG5mdW5jdGlvbiBnZXRDb250ZW50RG9jdW1lbnQobm9kZSkge1xuICAgIHRyeSB7XG4gICAgICAgIC8vIHdvcmtzIG9uIDxvYmplY3Q+IGFuZCA8aWZyYW1lPlxuICAgICAgICByZXR1cm4gbm9kZS5jb250ZW50RG9jdW1lbnQgfHwgLy8gd29ya3Mgb24gPG9iamVjdD4gYW5kIDxpZnJhbWU+XG4gICAgICAgIG5vZGUuY29udGVudFdpbmRvdyAmJiBub2RlLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQgfHwgLy8gd29ya3Mgb24gPG9iamVjdD4gYW5kIDxpZnJhbWU+IHRoYXQgY29udGFpbiBTVkdcbiAgICAgICAgbm9kZS5nZXRTVkdEb2N1bWVudCAmJiBub2RlLmdldFNWR0RvY3VtZW50KCkgfHwgbnVsbDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIFNlY3VyaXR5RXJyb3I6IEZhaWxlZCB0byByZWFkIHRoZSAnY29udGVudERvY3VtZW50JyBwcm9wZXJ0eSBmcm9tICdIVE1MT2JqZWN0RWxlbWVudCdcbiAgICAgICAgLy8gYWxzbyBJRSBtYXkgdGhyb3cgbWVtYmVyIG5vdCBmb3VuZCBleGNlcHRpb24gZS5nLiBvbiA8b2JqZWN0IHR5cGU9XCJpbWFnZS9wbmdcIj5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0V2luZG93KG5vZGUpIHtcbiAgICB2YXIgX2RvY3VtZW50ID0gZ2V0RG9jdW1lbnQobm9kZSk7XG4gICAgcmV0dXJuIF9kb2N1bWVudC5kZWZhdWx0VmlldyB8fCB3aW5kb3c7XG59XG52YXIgc2hhZG93UHJlZml4ID0gdm9pZCAwO1xuZnVuY3Rpb24gc2VsZWN0SW5TaGFkb3dzKHNlbGVjdG9yKSB7XG4gICAgaWYgKHR5cGVvZiBzaGFkb3dQcmVmaXggIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdmFyIG9wZXJhdG9yID0gY3NzU2hhZG93UGllcmNpbmdEZWVwQ29tYmluYXRvcigpO1xuICAgICAgICBpZiAob3BlcmF0b3IpIHtcbiAgICAgICAgICAgIHNoYWRvd1ByZWZpeCA9IFwiLCBodG1sIFwiICsgb3BlcmF0b3IgKyBcIiBcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXNoYWRvd1ByZWZpeCkge1xuICAgICAgICByZXR1cm4gc2VsZWN0b3I7XG4gICAgfVxuICAgIHJldHVybiBzZWxlY3RvciArIHNoYWRvd1ByZWZpeCArIHNlbGVjdG9yLnJlcGxhY2UoL1xccyosXFxzKi9nLCBcIixcIikuc3BsaXQoXCIsXCIpLmpvaW4oc2hhZG93UHJlZml4KTtcbn1cbnZhciBzZWxlY3RvciA9IHZvaWQgMDtcbmZ1bmN0aW9uIGZpbmREb2N1bWVudEhvc3RFbGVtZW50KF93aW5kb3cpIHtcbiAgICBpZiAoIXNlbGVjdG9yKSB7XG4gICAgICAgIHNlbGVjdG9yID0gc2VsZWN0SW5TaGFkb3dzKFwib2JqZWN0LCBpZnJhbWVcIik7XG4gICAgfVxuICAgIGlmIChfd2luZG93Ll9mcmFtZUVsZW1lbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gX3dpbmRvdy5fZnJhbWVFbGVtZW50O1xuICAgIH1cbiAgICBfd2luZG93Ll9mcmFtZUVsZW1lbnQgPSBudWxsO1xuICAgIHZhciBwb3RlbnRpYWxIb3N0cyA9IF93aW5kb3cucGFyZW50LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpO1xuICAgIFtdLnNvbWUuY2FsbChwb3RlbnRpYWxIb3N0cywgZnVuY3Rpb24oZWxlbWVudCkge1xuICAgICAgICB2YXIgX2RvY3VtZW50ID0gZ2V0Q29udGVudERvY3VtZW50KGVsZW1lbnQpO1xuICAgICAgICBpZiAoX2RvY3VtZW50ICE9PSBfd2luZG93LmRvY3VtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgX3dpbmRvdy5fZnJhbWVFbGVtZW50ID0gZWxlbWVudDtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIF93aW5kb3cuX2ZyYW1lRWxlbWVudDtcbn1cbmZ1bmN0aW9uIGdldEZyYW1lRWxlbWVudChlbGVtZW50KSB7XG4gICAgdmFyIF93aW5kb3cgPSBnZXRXaW5kb3coZWxlbWVudCk7XG4gICAgaWYgKCFfd2luZG93LnBhcmVudCB8fCBfd2luZG93LnBhcmVudCA9PT0gX3dpbmRvdykge1xuICAgICAgICAvLyBpZiB0aGVyZSBpcyBubyBwYXJlbnQgYnJvd3NpbmcgY29udGV4dCxcbiAgICAgICAgLy8gd2UncmUgbm90IGdvaW5nIHRvIGdldCBhIGZyYW1lRWxlbWVudCBlaXRoZXIgd2F5XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICAvLyBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL1dpbmRvdy9mcmFtZUVsZW1lbnRcbiAgICAgICAgLy8gZG9lcyBub3Qgd29yayB3aXRoaW4gPGVtYmVkPiBhbnl3aGVyZSwgYW5kIG5vdCB3aXRoaW4gaW4gPG9iamVjdD4gaW4gSUVcbiAgICAgICAgcmV0dXJuIF93aW5kb3cuZnJhbWVFbGVtZW50IHx8IGZpbmREb2N1bWVudEhvc3RFbGVtZW50KF93aW5kb3cpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L3JlbmRlcmluZy5odG1sI2JlaW5nLXJlbmRlcmVkXG4vLyA8YXJlYT4gaXMgbm90IHJlbmRlcmVkLCBidXQgd2UgKmNvbnNpZGVyKiBpdCB2aXNpYmxlIHRvIHNpbXBsZml5IHRoaXMgZnVuY3Rpb24ncyB1c2FnZVxudmFyIG5vdFJlbmRlcmVkRWxlbWVudHNQYXR0ZXJuID0gL14oYXJlYSkkLztcbmZ1bmN0aW9uIGNvbXB1dGVkU3R5bGUoZWxlbWVudCwgcHJvcGVydHkpIHtcbiAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eSk7XG59XG5mdW5jdGlvbiBub3REaXNwbGF5ZWQoX3BhdGgpIHtcbiAgICByZXR1cm4gX3BhdGguc29tZShmdW5jdGlvbihlbGVtZW50KSB7XG4gICAgICAgIC8vIGRpc3BsYXk6bm9uZSBpcyBub3QgdmlzaWJsZSAob3B0aW1pemVkIGF3YXkgYXQgbGF5b3V0KVxuICAgICAgICByZXR1cm4gY29tcHV0ZWRTdHlsZShlbGVtZW50LCBcImRpc3BsYXlcIikgPT09IFwibm9uZVwiO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gbm90VmlzaWJsZShfcGF0aCkge1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9qcXVlcnkvanF1ZXJ5LXVpL2Jsb2IvbWFzdGVyL3VpL2NvcmUuanMjTDEwOS1MMTE0XG4gICAgLy8gTk9URTogYSBuZXN0ZWQgZWxlbWVudCBjYW4gcmV2ZXJzZSB2aXNpYmlsaXR5OmhpZGRlbnxjb2xsYXBzZSBieSBleHBsaWNpdGx5IHNldHRpbmcgdmlzaWJpbGl0eTp2aXNpYmxlXG4gICAgLy8gTk9URTogdmlzaWJpbGl0eSBjYW4gYmUgW1wiXCIsIFwidmlzaWJsZVwiLCBcImhpZGRlblwiLCBcImNvbGxhcHNlXCJdXG4gICAgdmFyIGhpZGRlbiA9IGZpbmRJbmRleChfcGF0aCwgZnVuY3Rpb24oZWxlbWVudCkge1xuICAgICAgICB2YXIgdmlzaWJpbGl0eSA9IGNvbXB1dGVkU3R5bGUoZWxlbWVudCwgXCJ2aXNpYmlsaXR5XCIpO1xuICAgICAgICByZXR1cm4gdmlzaWJpbGl0eSA9PT0gXCJoaWRkZW5cIiB8fCB2aXNpYmlsaXR5ID09PSBcImNvbGxhcHNlXCI7XG4gICAgfSk7XG4gICAgaWYgKGhpZGRlbiA9PT0gLTEpIHtcbiAgICAgICAgLy8gdGhlcmUgaXMgbm8gaGlkZGVuIGVsZW1lbnRcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB2YXIgdmlzaWJsZSA9IGZpbmRJbmRleChfcGF0aCwgZnVuY3Rpb24oZWxlbWVudCkge1xuICAgICAgICByZXR1cm4gY29tcHV0ZWRTdHlsZShlbGVtZW50LCBcInZpc2liaWxpdHlcIikgPT09IFwidmlzaWJsZVwiO1xuICAgIH0pO1xuICAgIGlmICh2aXNpYmxlID09PSAtMSkge1xuICAgICAgICAvLyB0aGVyZSBpcyBubyB2aXNpYmxlIGVsZW1lbnQgKGJ1dCBhIGhpZGRlbiBlbGVtZW50KVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGhpZGRlbiA8IHZpc2libGUpIHtcbiAgICAgICAgLy8gdGhlcmUgaXMgYSBoaWRkZW4gZWxlbWVudCBhbmQgaXQncyBjbG9zZXIgdGhhbiB0aGUgZmlyc3QgdmlzaWJsZSBlbGVtZW50XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyB0aGVyZSBtYXkgYmUgYSBoaWRkZW4gZWxlbWVudCwgYnV0IHRoZSBjbG9zZXN0IGVsZW1lbnQgaXMgdmlzaWJsZVxuICAgIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGNvbGxhcHNlZFBhcmVudChfcGF0aCkge1xuICAgIHZhciBvZmZzZXQgPSAxO1xuICAgIGlmIChfcGF0aFswXS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSBcInN1bW1hcnlcIikge1xuICAgICAgICBvZmZzZXQgPSAyO1xuICAgIH1cbiAgICByZXR1cm4gX3BhdGguc2xpY2Uob2Zmc2V0KS5zb21lKGZ1bmN0aW9uKGVsZW1lbnQpIHtcbiAgICAgICAgLy8gXCJjb250ZW50IGNoaWxkcmVuXCIgb2YgYSBjbG9zZWQgZGV0YWlscyBlbGVtZW50IGFyZSBub3QgdmlzaWJsZVxuICAgICAgICByZXR1cm4gZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSBcImRldGFpbHNcIiAmJiBlbGVtZW50Lm9wZW4gPT09IGZhbHNlO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gaXNWaXNpYmxlUnVsZXMoKSB7XG4gICAgdmFyIF9yZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9LCBjb250ZXh0ID0gX3JlZi5jb250ZXh0LCBfcmVmJGV4Y2VwdCA9IF9yZWYuZXhjZXB0LCBleGNlcHQgPSBfcmVmJGV4Y2VwdCA9PT0gdW5kZWZpbmVkID8ge1xuICAgICAgICBub3RSZW5kZXJlZDogZmFsc2UsXG4gICAgICAgIGNzc0Rpc3BsYXk6IGZhbHNlLFxuICAgICAgICBjc3NWaXNpYmlsaXR5OiBmYWxzZSxcbiAgICAgICAgZGV0YWlsc0VsZW1lbnQ6IGZhbHNlLFxuICAgICAgICBicm93c2luZ0NvbnRleHQ6IGZhbHNlXG4gICAgfSA6IF9yZWYkZXhjZXB0O1xuICAgIHZhciBlbGVtZW50ID0gY29udGV4dFRvRWxlbWVudCh7XG4gICAgICAgIGxhYmVsOiBcImlzL3Zpc2libGVcIixcbiAgICAgICAgcmVzb2x2ZURvY3VtZW50OiB0cnVlLFxuICAgICAgICBjb250ZXh0OiBjb250ZXh0XG4gICAgfSk7XG4gICAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmICghZXhjZXB0Lm5vdFJlbmRlcmVkICYmIG5vdFJlbmRlcmVkRWxlbWVudHNQYXR0ZXJuLnRlc3Qobm9kZU5hbWUpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB2YXIgX3BhdGggPSBnZXRQYXJlbnRzKHtcbiAgICAgICAgY29udGV4dDogZWxlbWVudFxuICAgIH0pO1xuICAgIC8vIGluIEludGVybmV0IEV4cGxvcmVyIDxhdWRpbz4gaGFzIGEgZGVmYXVsdCBkaXNwbGF5OiBub25lLCB3aGVyZSBvdGhlcnMgaGF2ZSBkaXNwbGF5OiBpbmxpbmVcbiAgICAvLyBidXQgSUUgYWxsb3dzIGZvY3VzaW5nIDxhdWRpbyBzdHlsZT1cImRpc3BsYXk6bm9uZVwiPiwgYnV0IG5vdCA8ZGl2IGRpc3BsYXk6bm9uZT48YXVkaW8+XG4gICAgLy8gdGhpcyBpcyBpcnJlbGV2YW50IHRvIG90aGVyIGJyb3dzZXJzLCBhcyB0aGUgY29udHJvbHMgYXR0cmlidXRlIGlzIHJlcXVpcmVkIHRvIG1ha2UgPGF1ZGlvPiBmb2N1c2FibGVcbiAgICB2YXIgaXNBdWRpb1dpdGhvdXRDb250cm9scyA9IG5vZGVOYW1lID09PSBcImF1ZGlvXCIgJiYgIWVsZW1lbnQuaGFzQXR0cmlidXRlKFwiY29udHJvbHNcIik7XG4gICAgaWYgKCFleGNlcHQuY3NzRGlzcGxheSAmJiBub3REaXNwbGF5ZWQoaXNBdWRpb1dpdGhvdXRDb250cm9scyA/IF9wYXRoLnNsaWNlKDEpIDogX3BhdGgpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCFleGNlcHQuY3NzVmlzaWJpbGl0eSAmJiBub3RWaXNpYmxlKF9wYXRoKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICghZXhjZXB0LmRldGFpbHNFbGVtZW50ICYmIGNvbGxhcHNlZFBhcmVudChfcGF0aCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoIWV4Y2VwdC5icm93c2luZ0NvbnRleHQpIHtcbiAgICAgICAgLy8gZWxlbWVudHMgd2l0aGluIGEgYnJvd3NpbmcgY29udGV4dCBhcmUgYWZmZWN0ZWQgYnkgdGhlXG4gICAgICAgIC8vIGJyb3dzaW5nIGNvbnRleHQgaG9zdCBlbGVtZW50J3MgdmlzaWJpbGl0eSBhbmQgdGFiaW5kZXhcbiAgICAgICAgdmFyIGZyYW1lRWxlbWVudCA9IGdldEZyYW1lRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgdmFyIF9pc1Zpc2libGUgPSBpc1Zpc2libGVSdWxlcy5leGNlcHQoZXhjZXB0KTtcbiAgICAgICAgaWYgKGZyYW1lRWxlbWVudCAmJiAhX2lzVmlzaWJsZShmcmFtZUVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG4vLyBiaW5kIGV4Y2VwdGlvbnMgdG8gYW4gaXRlcmF0b3IgY2FsbGJhY2tcbmlzVmlzaWJsZVJ1bGVzLmV4Y2VwdCA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciBleGNlcHQgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuICAgIHZhciBpc1Zpc2libGUgPSBmdW5jdGlvbiBpc1Zpc2libGUoY29udGV4dCkge1xuICAgICAgICByZXR1cm4gaXNWaXNpYmxlUnVsZXMoe1xuICAgICAgICAgICAgY29udGV4dDogY29udGV4dCxcbiAgICAgICAgICAgIGV4Y2VwdDogZXhjZXB0XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgaXNWaXNpYmxlLnJ1bGVzID0gaXNWaXNpYmxlUnVsZXM7XG4gICAgcmV0dXJuIGlzVmlzaWJsZTtcbn07XG4vLyBwcm92aWRlIGlzVmlzaWJsZShjb250ZXh0KSBhcyBkZWZhdWx0IGl0ZXJhdG9yIGNhbGxiYWNrXG52YXIgaXNWaXNpYmxlID0gaXNWaXNpYmxlUnVsZXMuZXhjZXB0KHt9KTtcbmZ1bmN0aW9uIGdldE1hcEJ5TmFtZShuYW1lLCBfZG9jdW1lbnQpIHtcbiAgICAvLyBhcHBhcmVudGx5IGdldEVsZW1lbnRzQnlOYW1lKCkgYWxzbyBjb25zaWRlcnMgaWQgYXR0cmlidXRlIGluIElFICYgb3BlcmFcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvRG9jdW1lbnQvZ2V0RWxlbWVudHNCeU5hbWVcbiAgICB2YXIgbWFwID0gX2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ21hcFtuYW1lPVwiJyArICgwLCBfY3NzZXNjYXBlLmRlZmF1bHQpKG5hbWUpICsgJ1wiXScpO1xuICAgIHJldHVybiBtYXAgfHwgbnVsbDtcbn1cbmZ1bmN0aW9uIGdldEltYWdlT2ZBcmVhKGVsZW1lbnQpIHtcbiAgICB2YXIgbWFwID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIGlmICghbWFwLm5hbWUgfHwgbWFwLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09IFwibWFwXCIpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIC8vIE5PVEU6IGltYWdlIG1hcHMgY2FuIGFsc28gYmUgYXBwbGllZCB0byA8b2JqZWN0PiB3aXRoIGltYWdlIGNvbnRlbnQsXG4gICAgLy8gYnV0IG5vIGJyb3dzZXIgc3VwcG9ydHMgdGhpcyBhdCB0aGUgbW9tZW50XG4gICAgLy8gSFRNTDUgc3BlY2lmaWVzIEhUTUxNYXBFbGVtZW50LmltYWdlcyB0byBiZSBhbiBIVE1MQ29sbGVjdGlvbiBvZiBhbGxcbiAgICAvLyA8aW1nPiBhbmQgPG9iamVjdD4gcmVmZXJlbmNpbmcgdGhlIDxtYXA+IGVsZW1lbnQsIGJ1dCBubyBicm93c2VyIGltcGxlbWVudHMgdGhpc1xuICAgIC8vICAgaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L2VtYmVkZGVkLWNvbnRlbnQtMC5odG1sI3RoZS1tYXAtZWxlbWVudFxuICAgIC8vICAgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0hUTUxNYXBFbGVtZW50XG4gICAgLy8gdGhlIGltYWdlIG11c3QgYmUgdmFsaWQgYW5kIGxvYWRlZCBmb3IgdGhlIG1hcCB0byB0YWtlIGVmZmVjdFxuICAgIHZhciBfZG9jdW1lbnQgPSBnZXREb2N1bWVudChlbGVtZW50KTtcbiAgICByZXR1cm4gX2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2ltZ1t1c2VtYXA9XCIjJyArICgwLCBfY3NzZXNjYXBlLmRlZmF1bHQpKG1hcC5uYW1lKSArICdcIl0nKSB8fCBudWxsO1xufVxudmFyIHN1cHBvcnRzJDIgPSB2b2lkIDA7XG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9IVE1ML0VsZW1lbnQvbWFwXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9IVE1ML0VsZW1lbnQvaW1nI2F0dHItdXNlbWFwXG4vLyBodHRwczovL2dpdGh1Yi5jb20vanF1ZXJ5L2pxdWVyeS11aS9ibG9iL21hc3Rlci91aS9jb3JlLmpzI0w4OC1MMTA3XG5mdW5jdGlvbiBpc1ZhbGlkQXJlYShjb250ZXh0KSB7XG4gICAgaWYgKCFzdXBwb3J0cyQyKSB7XG4gICAgICAgIHN1cHBvcnRzJDIgPSBfc3VwcG9ydHMoKTtcbiAgICB9XG4gICAgdmFyIGVsZW1lbnQgPSBjb250ZXh0VG9FbGVtZW50KHtcbiAgICAgICAgbGFiZWw6IFwiaXMvdmFsaWQtYXJlYVwiLFxuICAgICAgICBjb250ZXh0OiBjb250ZXh0XG4gICAgfSk7XG4gICAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChub2RlTmFtZSAhPT0gXCJhcmVhXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB2YXIgaGFzVGFiaW5kZXggPSBlbGVtZW50Lmhhc0F0dHJpYnV0ZShcInRhYmluZGV4XCIpO1xuICAgIGlmICghc3VwcG9ydHMkMi5mb2N1c0FyZWFUYWJpbmRleCAmJiBoYXNUYWJpbmRleCkge1xuICAgICAgICAvLyBCbGluayBhbmQgV2ViS2l0IGRvIG5vdCBjb25zaWRlciA8YXJlYSB0YWJpbmRleD1cIi0xXCIgaHJlZj1cIiN2b2lkXCI+IGZvY3VzYWJsZVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHZhciBpbWcgPSBnZXRJbWFnZU9mQXJlYShlbGVtZW50KTtcbiAgICBpZiAoIWltZyB8fCAhaXNWaXNpYmxlKGltZykpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBGaXJlZm94IG9ubHkgYWxsb3dzIGZ1bGx5IGxvYWRlZCBpbWFnZXMgdG8gcmVmZXJlbmNlIGltYWdlIG1hcHNcbiAgICAvLyBodHRwczovL3N0ZXJlb2Nocm8ubWUvaWRlYXMvZGV0ZWN0aW5nLWJyb2tlbi1pbWFnZXMtanNcbiAgICBpZiAoIXN1cHBvcnRzJDIuZm9jdXNCcm9rZW5JbWFnZU1hcCAmJiAoIWltZy5jb21wbGV0ZSB8fCAhaW1nLm5hdHVyYWxIZWlnaHQgfHwgaW1nLm9mZnNldFdpZHRoIDw9IDAgfHwgaW1nLm9mZnNldEhlaWdodCA8PSAwKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIEZpcmVmb3ggc3VwcG9ydHMuY2FuIGZvY3VzIGFyZWEgZWxlbWVudHMgZXZlbiBpZiB0aGV5IGRvbid0IGhhdmUgYW4gaHJlZiBhdHRyaWJ1dGVcbiAgICBpZiAoIXN1cHBvcnRzJDIuZm9jdXNBcmVhV2l0aG91dEhyZWYgJiYgIWVsZW1lbnQuaHJlZikge1xuICAgICAgICAvLyBJbnRlcm5ldCBleHBsb3JlciBzdXBwb3J0cy5jYW4gZm9jdXMgYXJlYSBlbGVtZW50cyB3aXRob3V0IGhyZWYgaWYgZWl0aGVyXG4gICAgICAgIC8vIHRoZSBhcmVhIGVsZW1lbnQgb3IgdGhlIGltYWdlIGVsZW1lbnQgaGFzIGEgdGFiaW5kZXggYXR0cmlidXRlXG4gICAgICAgIHJldHVybiBzdXBwb3J0cyQyLmZvY3VzQXJlYVRhYmluZGV4ICYmIGhhc1RhYmluZGV4IHx8IHN1cHBvcnRzJDIuZm9jdXNBcmVhSW1nVGFiaW5kZXggJiYgaW1nLmhhc0F0dHJpYnV0ZShcInRhYmluZGV4XCIpO1xuICAgIH1cbiAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9IVE1ML0VsZW1lbnQvaW1nI2F0dHItdXNlbWFwXG4gICAgdmFyIGNoaWxkT2ZJbnRlcmFjdGl2ZSA9IGdldFBhcmVudHMoe1xuICAgICAgICBjb250ZXh0OiBpbWdcbiAgICB9KS5zbGljZSgxKS5zb21lKGZ1bmN0aW9uKF9lbGVtZW50KSB7XG4gICAgICAgIHZhciBuYW1lID0gX2VsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIG5hbWUgPT09IFwiYnV0dG9uXCIgfHwgbmFtZSA9PT0gXCJhXCI7XG4gICAgfSk7XG4gICAgaWYgKGNoaWxkT2ZJbnRlcmFjdGl2ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxudmFyIHN1cHBvcnRzJDMgPSB2b2lkIDA7XG4vLyBodHRwczovL3d3dy53My5vcmcvVFIvaHRtbDUvZGlzYWJsZWQtZWxlbWVudHMuaHRtbCNjb25jZXB0LWVsZW1lbnQtZGlzYWJsZWRcbnZhciBkaXNhYmxlZEVsZW1lbnRzUGF0dGVybiA9IHZvaWQgMDtcbnZhciBkaXNhYmxlZEVsZW1lbnRzID0ge1xuICAgIGlucHV0OiB0cnVlLFxuICAgIHNlbGVjdDogdHJ1ZSxcbiAgICB0ZXh0YXJlYTogdHJ1ZSxcbiAgICBidXR0b246IHRydWUsXG4gICAgZmllbGRzZXQ6IHRydWUsXG4gICAgZm9ybTogdHJ1ZVxufTtcbmZ1bmN0aW9uIGlzTmF0aXZlRGlzYWJsZWRTdXBwb3J0ZWQoY29udGV4dCkge1xuICAgIGlmICghc3VwcG9ydHMkMykge1xuICAgICAgICBzdXBwb3J0cyQzID0gX3N1cHBvcnRzKCk7XG4gICAgICAgIGlmIChzdXBwb3J0cyQzLmZvY3VzRmllbGRzZXREaXNhYmxlZCkge1xuICAgICAgICAgICAgZGVsZXRlIGRpc2FibGVkRWxlbWVudHMuZmllbGRzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN1cHBvcnRzJDMuZm9jdXNGb3JtRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGRlbGV0ZSBkaXNhYmxlZEVsZW1lbnRzLmZvcm07XG4gICAgICAgIH1cbiAgICAgICAgZGlzYWJsZWRFbGVtZW50c1BhdHRlcm4gPSBuZXcgUmVnRXhwKFwiXihcIiArIE9iamVjdC5rZXlzKGRpc2FibGVkRWxlbWVudHMpLmpvaW4oXCJ8XCIpICsgXCIpJFwiKTtcbiAgICB9XG4gICAgdmFyIGVsZW1lbnQgPSBjb250ZXh0VG9FbGVtZW50KHtcbiAgICAgICAgbGFiZWw6IFwiaXMvbmF0aXZlLWRpc2FibGVkLXN1cHBvcnRlZFwiLFxuICAgICAgICBjb250ZXh0OiBjb250ZXh0XG4gICAgfSk7XG4gICAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIHJldHVybiBCb29sZWFuKGRpc2FibGVkRWxlbWVudHNQYXR0ZXJuLnRlc3Qobm9kZU5hbWUpKTtcbn1cbnZhciBzdXBwb3J0cyQ0ID0gdm9pZCAwO1xuZnVuY3Rpb24gaXNEaXNhYmxlZEZpZWxkc2V0KGVsZW1lbnQpIHtcbiAgICB2YXIgbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIG5vZGVOYW1lID09PSBcImZpZWxkc2V0XCIgJiYgZWxlbWVudC5kaXNhYmxlZDtcbn1cbmZ1bmN0aW9uIGlzRGlzYWJsZWRGb3JtKGVsZW1lbnQpIHtcbiAgICB2YXIgbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIG5vZGVOYW1lID09PSBcImZvcm1cIiAmJiBlbGVtZW50LmRpc2FibGVkO1xufVxuZnVuY3Rpb24gaXNEaXNhYmxlZChjb250ZXh0KSB7XG4gICAgaWYgKCFzdXBwb3J0cyQ0KSB7XG4gICAgICAgIHN1cHBvcnRzJDQgPSBfc3VwcG9ydHMoKTtcbiAgICB9XG4gICAgdmFyIGVsZW1lbnQgPSBjb250ZXh0VG9FbGVtZW50KHtcbiAgICAgICAgbGFiZWw6IFwiaXMvZGlzYWJsZWRcIixcbiAgICAgICAgY29udGV4dDogY29udGV4dFxuICAgIH0pO1xuICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZShcImRhdGEtYWxseS1kaXNhYmxlZFwiKSkge1xuICAgICAgICAvLyB0cmVhdCBhbGx5J3MgZWxlbWVudC9kaXNhYmxlZCBsaWtlIHRoZSBET00gbmF0aXZlIGVsZW1lbnQuZGlzYWJsZWRcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICghaXNOYXRpdmVEaXNhYmxlZFN1cHBvcnRlZChlbGVtZW50KSkge1xuICAgICAgICAvLyBub24tZm9ybSBlbGVtZW50cyBkbyBub3Qgc3VwcG9ydCB0aGUgZGlzYWJsZWQgYXR0cmlidXRlXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGVsZW1lbnQuZGlzYWJsZWQpIHtcbiAgICAgICAgLy8gdGhlIGVsZW1lbnQgaXRzZWxmIGlzIGRpc2FibGVkXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB2YXIgcGFyZW50cyA9IGdldFBhcmVudHMoe1xuICAgICAgICBjb250ZXh0OiBlbGVtZW50XG4gICAgfSk7XG4gICAgaWYgKHBhcmVudHMuc29tZShpc0Rpc2FibGVkRmllbGRzZXQpKSB7XG4gICAgICAgIC8vIGEgcGFyZW50YWwgPGZpZWxkc2V0PiBpcyBkaXNhYmxkIGFuZCBpbmhlcml0cyB0aGUgc3RhdGUgb250byB0aGlzIGVsZW1lbnRcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICghc3VwcG9ydHMkNC5mb2N1c0Zvcm1EaXNhYmxlZCAmJiBwYXJlbnRzLnNvbWUoaXNEaXNhYmxlZEZvcm0pKSB7XG4gICAgICAgIC8vIGEgcGFyZW50YWwgPGZvcm0+IGlzIGRpc2FibGQgYW5kIGluaGVyaXRzIHRoZSBzdGF0ZSBvbnRvIHRoaXMgZWxlbWVudFxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gaXNPbmx5VGFiYmFibGVSdWxlcygpIHtcbiAgICB2YXIgX3JlZiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge30sIGNvbnRleHQgPSBfcmVmLmNvbnRleHQsIF9yZWYkZXhjZXB0ID0gX3JlZi5leGNlcHQsIGV4Y2VwdCA9IF9yZWYkZXhjZXB0ID09PSB1bmRlZmluZWQgPyB7XG4gICAgICAgIG9ubHlGb2N1c2FibGVCcm93c2luZ0NvbnRleHQ6IGZhbHNlLFxuICAgICAgICB2aXNpYmxlOiBmYWxzZVxuICAgIH0gOiBfcmVmJGV4Y2VwdDtcbiAgICB2YXIgZWxlbWVudCA9IGNvbnRleHRUb0VsZW1lbnQoe1xuICAgICAgICBsYWJlbDogXCJpcy9vbmx5LXRhYmJhYmxlXCIsXG4gICAgICAgIHJlc29sdmVEb2N1bWVudDogdHJ1ZSxcbiAgICAgICAgY29udGV4dDogY29udGV4dFxuICAgIH0pO1xuICAgIGlmICghZXhjZXB0LnZpc2libGUgJiYgIWlzVmlzaWJsZShlbGVtZW50KSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICghZXhjZXB0Lm9ubHlGb2N1c2FibGVCcm93c2luZ0NvbnRleHQgJiYgKHBsYXRmb3JtLmlzLkdFQ0tPIHx8IHBsYXRmb3JtLmlzLlRSSURFTlQgfHwgcGxhdGZvcm0uaXMuRURHRSkpIHtcbiAgICAgICAgdmFyIGZyYW1lRWxlbWVudCA9IGdldEZyYW1lRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgaWYgKGZyYW1lRWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKHRhYmluZGV4VmFsdWUoZnJhbWVFbGVtZW50KSA8IDApIHtcbiAgICAgICAgICAgICAgICAvLyBpZnJhbWVbdGFiaW5kZXg9XCItMVwiXSBhbmQgb2JqZWN0W3RhYmluZGV4PVwiLTFcIl0gaW5oZXJpdCB0aGVcbiAgICAgICAgICAgICAgICAvLyB0YWJiYWJsZSBkZW1vdGlvbiBvbnRvIGVsZW1lbnRzIG9mIHRoZWlyIGJyb3dzaW5nIGNvbnRleHRzXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHZhciBub2RlTmFtZSA9IGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICB2YXIgdGFiaW5kZXggPSB0YWJpbmRleFZhbHVlKGVsZW1lbnQpO1xuICAgIGlmIChub2RlTmFtZSA9PT0gXCJsYWJlbFwiICYmIHBsYXRmb3JtLmlzLkdFQ0tPKSB7XG4gICAgICAgIC8vIEZpcmVmb3ggY2Fubm90IGZvY3VzLCBidXQgdGFiIHRvOiBsYWJlbFt0YWJpbmRleD0wXVxuICAgICAgICByZXR1cm4gdGFiaW5kZXggIT09IG51bGwgJiYgdGFiaW5kZXggPj0gMDtcbiAgICB9XG4gICAgLy8gU1ZHIEVsZW1lbnRzIHdlcmUga2V5Ym9hcmQgZm9jdXNhYmxlIGJ1dCBub3Qgc2NyaXB0IGZvY3VzYWJsZSBiZWZvcmUgRmlyZWZveCA1MS5cbiAgICAvLyBGaXJlZm94IDUxIGFkZGVkIHRoZSBmb2N1cyBtYW5hZ2VtZW50IERPTSBBUEkgKC5mb2N1cyBhbmQgLmJsdXIpIHRvIFNWR0VsZW1lbnQsXG4gICAgLy8gc2VlIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODY1NFxuICAgIGlmIChwbGF0Zm9ybS5pcy5HRUNLTyAmJiBlbGVtZW50Lm93bmVyU1ZHRWxlbWVudCAmJiAhZWxlbWVudC5mb2N1cykge1xuICAgICAgICBpZiAobm9kZU5hbWUgPT09IFwiYVwiICYmIGVsZW1lbnQuaGFzQXR0cmlidXRlKFwieGxpbms6aHJlZlwiKSkge1xuICAgICAgICAgICAgLy8gYW55IGZvY3VzYWJsZSBjaGlsZCBvZiA8c3ZnPiBjYW5ub3QgYmUgZm9jdXNlZCwgYnV0IHRhYmJlZCB0b1xuICAgICAgICAgICAgaWYgKHBsYXRmb3JtLmlzLkdFQ0tPKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuLy8gYmluZCBleGNlcHRpb25zIHRvIGFuIGl0ZXJhdG9yIGNhbGxiYWNrXG5pc09ubHlUYWJiYWJsZVJ1bGVzLmV4Y2VwdCA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciBleGNlcHQgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuICAgIHZhciBpc09ubHlUYWJiYWJsZSA9IGZ1bmN0aW9uIGlzT25seVRhYmJhYmxlKGNvbnRleHQpIHtcbiAgICAgICAgcmV0dXJuIGlzT25seVRhYmJhYmxlUnVsZXMoe1xuICAgICAgICAgICAgY29udGV4dDogY29udGV4dCxcbiAgICAgICAgICAgIGV4Y2VwdDogZXhjZXB0XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgaXNPbmx5VGFiYmFibGUucnVsZXMgPSBpc09ubHlUYWJiYWJsZVJ1bGVzO1xuICAgIHJldHVybiBpc09ubHlUYWJiYWJsZTtcbn07XG4vLyBwcm92aWRlIGlzT25seVRhYmJhYmxlKGNvbnRleHQpIGFzIGRlZmF1bHQgaXRlcmF0b3IgY2FsbGJhY2tcbnZhciBpc09ubHlUYWJiYWJsZSA9IGlzT25seVRhYmJhYmxlUnVsZXMuZXhjZXB0KHt9KTtcbnZhciBzdXBwb3J0cyQ1ID0gdm9pZCAwO1xuZnVuY3Rpb24gaXNPbmx5Rm9jdXNSZWxldmFudChlbGVtZW50KSB7XG4gICAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChub2RlTmFtZSA9PT0gXCJlbWJlZFwiIHx8IG5vZGVOYW1lID09PSBcImtleWdlblwiKSB7XG4gICAgICAgIC8vIGVtYmVkIGlzIGNvbnNpZGVyZWQgZm9jdXMtcmVsZXZhbnQgYnV0IG5vdCBmb2N1c2FibGVcbiAgICAgICAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tZWRpYWxpemUvYWxseS5qcy9pc3N1ZXMvODJcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHZhciBfdGFiaW5kZXggPSB0YWJpbmRleFZhbHVlKGVsZW1lbnQpO1xuICAgIGlmIChlbGVtZW50LnNoYWRvd1Jvb3QgJiYgX3RhYmluZGV4ID09PSBudWxsKSB7XG4gICAgICAgIC8vIFNoYWRvd0RPTSBob3N0IGVsZW1lbnRzICptYXkqIHJlY2VpdmUgZm9jdXNcbiAgICAgICAgLy8gZXZlbiB0aG91Z2ggdGhleSBhcmUgbm90IGNvbnNpZGVyZWQgZm9jdWFibGVcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJsYWJlbFwiKSB7XG4gICAgICAgIC8vIDxsYWJlbCB0YWJpbmRleD1cIjBcIj4gaXMgb25seSB0YWJiYWJsZSBpbiBGaXJlZm94LCBub3Qgc2NyaXB0LWZvY3VzYWJsZVxuICAgICAgICAvLyB0aGVyZSdzIG5vIHdheSB0byBtYWtlIGFuIGVsZW1lbnQgZm9jdXNhYmxlIG90aGVyIHRoYW4gYnkgYWRkaW5nIGEgdGFiaW5kZXgsXG4gICAgICAgIC8vIGFuZCBmb2N1cyBiZWhhdmlvciBvZiB0aGUgbGFiZWwgZWxlbWVudCBzZWVtcyBoYXJkLXdpcmVkIHRvIGlnbm9yZSB0YWJpbmRleFxuICAgICAgICAvLyBpbiBzb21lIGJyb3dzZXJzIChsaWtlIEdlY2tvLCBCbGluayBhbmQgV2ViS2l0KVxuICAgICAgICByZXR1cm4gIXN1cHBvcnRzJDUuZm9jdXNMYWJlbFRhYmluZGV4IHx8IF90YWJpbmRleCA9PT0gbnVsbDtcbiAgICB9XG4gICAgaWYgKG5vZGVOYW1lID09PSBcImxlZ2VuZFwiKSB7XG4gICAgICAgIHJldHVybiBfdGFiaW5kZXggPT09IG51bGw7XG4gICAgfVxuICAgIGlmIChzdXBwb3J0cyQ1LmZvY3VzU3ZnRm9jdXNhYmxlQXR0cmlidXRlICYmIChlbGVtZW50Lm93bmVyU1ZHRWxlbWVudCB8fCBub2RlTmFtZSA9PT0gXCJzdmdcIikpIHtcbiAgICAgICAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgdW5kZXJzdGFuZHMgdGhlIGZvY3VzYWJsZSBhdHRyaWJ1dGUgaW50cm9kdWNlZCBpbiBTVkcgVGlueSAxLjJcbiAgICAgICAgdmFyIGZvY3VzYWJsZUF0dHJpYnV0ZSA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZm9jdXNhYmxlXCIpO1xuICAgICAgICByZXR1cm4gZm9jdXNhYmxlQXR0cmlidXRlICYmIGZvY3VzYWJsZUF0dHJpYnV0ZSA9PT0gXCJmYWxzZVwiO1xuICAgIH1cbiAgICBpZiAobm9kZU5hbWUgPT09IFwiaW1nXCIgJiYgZWxlbWVudC5oYXNBdHRyaWJ1dGUoXCJ1c2VtYXBcIikpIHtcbiAgICAgICAgLy8gR2Vja28sIFRyaWRlbnQgYW5kIEVkZ2UgZG8gbm90IGFsbG93IGFuIGltYWdlIHdpdGggYW4gaW1hZ2UgbWFwIGFuZCB0YWJpbmRleCB0byBiZSBmb2N1c2VkLFxuICAgICAgICAvLyBpdCBhcHBlYXJzIHRoZSB0YWJpbmRleCBpcyBvdmVycnVsZWQgc28gZm9jdXMgaXMgc3RpbGwgZm9yd2FyZGVkIHRvIHRoZSA8bWFwPlxuICAgICAgICByZXR1cm4gX3RhYmluZGV4ID09PSBudWxsIHx8ICFzdXBwb3J0cyQ1LmZvY3VzSW1nVXNlbWFwVGFiaW5kZXg7XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJhcmVhXCIpIHtcbiAgICAgICAgLy8gYWxsIDxhcmVhPnMgYXJlIGNvbnNpZGVyZWQgcmVsZXZhbnQsXG4gICAgICAgIC8vIGJ1dCBvbmx5IHRoZSB2YWxpZCA8YXJlYT5zIGFyZSBmb2N1c2FibGVcbiAgICAgICAgcmV0dXJuICFpc1ZhbGlkQXJlYShlbGVtZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gaXNGb2N1c2FibGVSdWxlcygpIHtcbiAgICB2YXIgX3JlZiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge30sIGNvbnRleHQgPSBfcmVmLmNvbnRleHQsIF9yZWYkZXhjZXB0ID0gX3JlZi5leGNlcHQsIGV4Y2VwdCA9IF9yZWYkZXhjZXB0ID09PSB1bmRlZmluZWQgPyB7XG4gICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgdmlzaWJsZTogZmFsc2UsXG4gICAgICAgIG9ubHlUYWJiYWJsZTogZmFsc2VcbiAgICB9IDogX3JlZiRleGNlcHQ7XG4gICAgaWYgKCFzdXBwb3J0cyQ1KSB7XG4gICAgICAgIHN1cHBvcnRzJDUgPSBfc3VwcG9ydHMoKTtcbiAgICB9XG4gICAgdmFyIF9pc09ubHlUYWJiYWJsZSA9IGlzT25seVRhYmJhYmxlLnJ1bGVzLmV4Y2VwdCh7XG4gICAgICAgIG9ubHlGb2N1c2FibGVCcm93c2luZ0NvbnRleHQ6IHRydWUsXG4gICAgICAgIHZpc2libGU6IGV4Y2VwdC52aXNpYmxlXG4gICAgfSk7XG4gICAgdmFyIGVsZW1lbnQgPSBjb250ZXh0VG9FbGVtZW50KHtcbiAgICAgICAgbGFiZWw6IFwiaXMvZm9jdXNhYmxlXCIsXG4gICAgICAgIHJlc29sdmVEb2N1bWVudDogdHJ1ZSxcbiAgICAgICAgY29udGV4dDogY29udGV4dFxuICAgIH0pO1xuICAgIHZhciBmb2N1c1JlbGV2YW50ID0gaXNGb2N1c1JlbGV2YW50LnJ1bGVzKHtcbiAgICAgICAgY29udGV4dDogZWxlbWVudCxcbiAgICAgICAgZXhjZXB0OiBleGNlcHRcbiAgICB9KTtcbiAgICBpZiAoIWZvY3VzUmVsZXZhbnQgfHwgaXNPbmx5Rm9jdXNSZWxldmFudChlbGVtZW50KSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICghZXhjZXB0LmRpc2FibGVkICYmIGlzRGlzYWJsZWQoZWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoIWV4Y2VwdC5vbmx5VGFiYmFibGUgJiYgX2lzT25seVRhYmJhYmxlKGVsZW1lbnQpKSB7XG4gICAgICAgIC8vIHNvbWUgZWxlbWVudHMgbWF5IGJlIGtleWJvYXJkIGZvY3VzYWJsZSwgYnV0IG5vdCBzY3JpcHQgZm9jdXNhYmxlXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLy8gZWxlbWVudHMgdGhhdCBhcmUgbm90IHJlbmRlcmVkLCBjYW5ub3QgYmUgZm9jdXNlZFxuICAgIGlmICghZXhjZXB0LnZpc2libGUpIHtcbiAgICAgICAgdmFyIHZpc2liaWxpdHlPcHRpb25zID0ge1xuICAgICAgICAgICAgY29udGV4dDogZWxlbWVudCxcbiAgICAgICAgICAgIGV4Y2VwdDoge31cbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHN1cHBvcnRzJDUuZm9jdXNJbkhpZGRlbklmcmFtZSkge1xuICAgICAgICAgICAgLy8gV2ViS2l0IGFuZCBCbGluayBjYW4gZm9jdXMgY29udGVudCBpbiBoaWRkZW4gPGlmcmFtZT4gYW5kIDxvYmplY3Q+XG4gICAgICAgICAgICB2aXNpYmlsaXR5T3B0aW9ucy5leGNlcHQuYnJvd3NpbmdDb250ZXh0ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3VwcG9ydHMkNS5mb2N1c09iamVjdFN2Z0hpZGRlbikge1xuICAgICAgICAgICAgLy8gQmxpbmsgYWxsb3dzIGZvY3VzaW5nIHRoZSBvYmplY3QgZWxlbWVudCwgZXZlbiBpZiBpdCBoYXMgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgLy8gQGJyb3dzZXItaXNzdWUgQmxpbmsgaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTU4NjE5MVxuICAgICAgICAgICAgdmFyIF9ub2RlTmFtZTIgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICBpZiAoX25vZGVOYW1lMiA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHlPcHRpb25zLmV4Y2VwdC5jc3NWaXNpYmlsaXR5ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzVmlzaWJsZS5ydWxlcyh2aXNpYmlsaXR5T3B0aW9ucykpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB2YXIgZnJhbWVFbGVtZW50ID0gZ2V0RnJhbWVFbGVtZW50KGVsZW1lbnQpO1xuICAgIGlmIChmcmFtZUVsZW1lbnQpIHtcbiAgICAgICAgdmFyIF9ub2RlTmFtZSA9IGZyYW1lRWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAoX25vZGVOYW1lID09PSBcIm9iamVjdFwiICYmICFzdXBwb3J0cyQ1LmZvY3VzSW5aZXJvRGltZW5zaW9uT2JqZWN0KSB7XG4gICAgICAgICAgICBpZiAoIWZyYW1lRWxlbWVudC5vZmZzZXRXaWR0aCB8fCAhZnJhbWVFbGVtZW50Lm9mZnNldEhlaWdodCkge1xuICAgICAgICAgICAgICAgIC8vIFdlYktpdCBjYW4gbm90IGZvY3VzIGNvbnRlbnQgaW4gPG9iamVjdD4gaWYgaXQgZG9lc24ndCBoYXZlIGRpbWVuc2lvbnNcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChub2RlTmFtZSA9PT0gXCJzdmdcIiAmJiBzdXBwb3J0cyQ1LmZvY3VzU3ZnSW5JZnJhbWUgJiYgIWZyYW1lRWxlbWVudCAmJiBlbGVtZW50LmdldEF0dHJpYnV0ZShcInRhYmluZGV4XCIpID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG4vLyBiaW5kIGV4Y2VwdGlvbnMgdG8gYW4gaXRlcmF0b3IgY2FsbGJhY2tcbmlzRm9jdXNhYmxlUnVsZXMuZXhjZXB0ID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIGV4Y2VwdCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge307XG4gICAgdmFyIGlzRm9jdXNhYmxlID0gZnVuY3Rpb24gaXNGb2N1c2FibGUoY29udGV4dCkge1xuICAgICAgICByZXR1cm4gaXNGb2N1c2FibGVSdWxlcyh7XG4gICAgICAgICAgICBjb250ZXh0OiBjb250ZXh0LFxuICAgICAgICAgICAgZXhjZXB0OiBleGNlcHRcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBpc0ZvY3VzYWJsZS5ydWxlcyA9IGlzRm9jdXNhYmxlUnVsZXM7XG4gICAgcmV0dXJuIGlzRm9jdXNhYmxlO1xufTtcbi8vIHByb3ZpZGUgaXNGb2N1c1JlbGV2YW50KGNvbnRleHQpIGFzIGRlZmF1bHQgaXRlcmF0b3IgY2FsbGJhY2tcbnZhciBpc0ZvY3VzYWJsZSA9IGlzRm9jdXNhYmxlUnVsZXMuZXhjZXB0KHt9KTtcbmZ1bmN0aW9uIGNyZWF0ZUZpbHRlcihjb25kaXRpb24pIHtcbiAgICAvLyBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL05vZGVGaWx0ZXJcbiAgICB2YXIgZmlsdGVyID0gZnVuY3Rpb24gZmlsdGVyKG5vZGUpIHtcbiAgICAgICAgaWYgKG5vZGUuc2hhZG93Um9vdCkge1xuICAgICAgICAgICAgLy8gcmV0dXJuIFNoYWRvd1Jvb3QgZWxlbWVudHMgcmVnYXJkbGVzcyBvZiB0aGVtIGJlaW5nIGZvY3VzYWJsZSxcbiAgICAgICAgICAgIC8vIHNvIHRoZXkgY2FuIGJlIHdhbGtlZCByZWN1cnNpdmVseSBsYXRlclxuICAgICAgICAgICAgcmV0dXJuIE5vZGVGaWx0ZXIuRklMVEVSX0FDQ0VQVDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZGl0aW9uKG5vZGUpKSB7XG4gICAgICAgICAgICAvLyBmaW5kcyBlbGVtZW50cyB0aGF0IGNvdWxkIGhhdmUgYmVlbiBmb3VuZCBieSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKClcbiAgICAgICAgICAgIHJldHVybiBOb2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE5vZGVGaWx0ZXIuRklMVEVSX1NLSVA7XG4gICAgfTtcbiAgICAvLyBJRSByZXF1aXJlcyBhIGZ1bmN0aW9uLCBCcm93c2VycyByZXF1aXJlIHthY2NlcHROb2RlOiBmdW5jdGlvbn1cbiAgICAvLyBzZWUgaHR0cDovL3d3dy5iZW5uYWRlbC5jb20vYmxvZy8yNjA3LWZpbmRpbmctaHRtbC1jb21tZW50LW5vZGVzLWluLXRoZS1kb20tdXNpbmctdHJlZXdhbGtlci5odG1cbiAgICBmaWx0ZXIuYWNjZXB0Tm9kZSA9IGZpbHRlcjtcbiAgICByZXR1cm4gZmlsdGVyO1xufVxudmFyIFBvc3NpYmx5Rm9jdXNhYmxlRmlsdGVyID0gY3JlYXRlRmlsdGVyKGlzRm9jdXNSZWxldmFudCk7XG5mdW5jdGlvbiBxdWVyeUZvY3VzYWJsZVN0cmljdCgpIHtcbiAgICB2YXIgX3JlZiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge30sIGNvbnRleHQgPSBfcmVmLmNvbnRleHQsIGluY2x1ZGVDb250ZXh0ID0gX3JlZi5pbmNsdWRlQ29udGV4dCwgaW5jbHVkZU9ubHlUYWJiYWJsZSA9IF9yZWYuaW5jbHVkZU9ubHlUYWJiYWJsZSwgc3RyYXRlZ3kgPSBfcmVmLnN0cmF0ZWd5O1xuICAgIGlmICghY29udGV4dCkge1xuICAgICAgICBjb250ZXh0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIH1cbiAgICB2YXIgX2lzRm9jdXNhYmxlID0gaXNGb2N1c2FibGUucnVsZXMuZXhjZXB0KHtcbiAgICAgICAgb25seVRhYmJhYmxlOiBpbmNsdWRlT25seVRhYmJhYmxlXG4gICAgfSk7XG4gICAgdmFyIF9kb2N1bWVudCA9IGdldERvY3VtZW50KGNvbnRleHQpO1xuICAgIC8vIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvRG9jdW1lbnQvY3JlYXRlVHJlZVdhbGtlclxuICAgIHZhciB3YWxrZXIgPSBfZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcigvLyByb290IGVsZW1lbnQgdG8gc3RhcnQgc2VhcmNoIGluXG4gICAgY29udGV4dCwgLy8gZWxlbWVudCB0eXBlIGZpbHRlclxuICAgIE5vZGVGaWx0ZXIuU0hPV19FTEVNRU5ULCAvLyBjdXN0b20gTm9kZUZpbHRlciBmaWx0ZXJcbiAgICBzdHJhdGVneSA9PT0gXCJhbGxcIiA/IFBvc3NpYmx5Rm9jdXNhYmxlRmlsdGVyIDogY3JlYXRlRmlsdGVyKF9pc0ZvY3VzYWJsZSksIC8vIGRlcHJlY2F0ZWQsIGJ1dCBJRSByZXF1aXJlcyBpdFxuICAgIGZhbHNlKTtcbiAgICB2YXIgbGlzdCA9IFtdO1xuICAgIHdoaWxlKHdhbGtlci5uZXh0Tm9kZSgpKXtcbiAgICAgICAgaWYgKHdhbGtlci5jdXJyZW50Tm9kZS5zaGFkb3dSb290KSB7XG4gICAgICAgICAgICBpZiAoX2lzRm9jdXNhYmxlKHdhbGtlci5jdXJyZW50Tm9kZSkpIHtcbiAgICAgICAgICAgICAgICBsaXN0LnB1c2god2Fsa2VyLmN1cnJlbnROb2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpc3QgPSBsaXN0LmNvbmNhdChxdWVyeUZvY3VzYWJsZVN0cmljdCh7XG4gICAgICAgICAgICAgICAgY29udGV4dDogd2Fsa2VyLmN1cnJlbnROb2RlLnNoYWRvd1Jvb3QsXG4gICAgICAgICAgICAgICAgaW5jbHVkZU9ubHlUYWJiYWJsZTogaW5jbHVkZU9ubHlUYWJiYWJsZSxcbiAgICAgICAgICAgICAgICBzdHJhdGVneTogc3RyYXRlZ3lcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxpc3QucHVzaCh3YWxrZXIuY3VycmVudE5vZGUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIGFkZCBjb250ZXh0IGlmIHJlcXVlc3RlZCBhbmQgZm9jdXNhYmxlXG4gICAgaWYgKGluY2x1ZGVDb250ZXh0KSB7XG4gICAgICAgIGlmIChzdHJhdGVneSA9PT0gXCJhbGxcIikge1xuICAgICAgICAgICAgaWYgKGlzRm9jdXNSZWxldmFudChjb250ZXh0KSkge1xuICAgICAgICAgICAgICAgIGxpc3QudW5zaGlmdChjb250ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChfaXNGb2N1c2FibGUoY29udGV4dCkpIHtcbiAgICAgICAgICAgIGxpc3QudW5zaGlmdChjb250ZXh0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbGlzdDtcbn1cbi8vIE5PVEU6IHRoaXMgc2VsZWN0b3IgTVVTVCAqbmV2ZXIqIGJlIHVzZWQgZGlyZWN0bHksXG52YXIgc3VwcG9ydHMkNiA9IHZvaWQgMDtcbnZhciBzZWxlY3RvciQxID0gdm9pZCAwO1xuZnVuY3Rpb24gc2VsZWN0b3IkMigpIHtcbiAgICBpZiAoIXN1cHBvcnRzJDYpIHtcbiAgICAgICAgc3VwcG9ydHMkNiA9IF9zdXBwb3J0cygpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHNlbGVjdG9yJDEgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yJDE7XG4gICAgfVxuICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9odG1sNS9lZGl0aW5nLmh0bWwjc2VxdWVudGlhbC1mb2N1cy1uYXZpZ2F0aW9uLWFuZC10aGUtdGFiaW5kZXgtYXR0cmlidXRlXG4gICAgc2VsZWN0b3IkMSA9IFwiXCIgKyAvLyBJRTExIHN1cHBvcnRzLmNhbiBmb2N1cyA8dGFibGU+IGFuZCA8dGQ+XG4gICAgKHN1cHBvcnRzJDYuZm9jdXNUYWJsZSA/IFwidGFibGUsIHRkLFwiIDogXCJcIikgKyAvLyBJRTExIHN1cHBvcnRzLmNhbiBmb2N1cyA8ZmllbGRzZXQ+XG4gICAgKHN1cHBvcnRzJDYuZm9jdXNGaWVsZHNldCA/IFwiZmllbGRzZXQsXCIgOiBcIlwiKSArIC8vIE5hbWVzcGFjZSBwcm9ibGVtcyBvZiBbeGxpbms6aHJlZl0gZXhwbGFpbmVkIGluIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yMzA0Nzg4OC81MTUxMjRcbiAgICAvLyBzdmcgYVsqfGhyZWZdIGRvZXMgbm90IG1hdGNoIGluIElFOSwgYnV0IHNpbmNlIHdlJ3JlIGZpbHRlcmluZ1xuICAgIC8vIHRocm91Z2ggaXMvZm9jdXNhYmxlIHdlIGNhbiBpbmNsdWRlIGFsbCA8YT4gZnJvbSBTVkdcbiAgICBcInN2ZyBhLFwiICsgLy8gbWF5IGJlaGF2ZSBhcyAnc3ZnLCBzdmcgKiwnIGluIGNocm9tZSBhcyAqZXZlcnkqIHN2ZyBlbGVtZW50IHdpdGggYSBmb2N1cyBldmVudCBsaXN0ZW5lciBpcyBmb2N1c2FibGVcbiAgICAvLyBuYXZpZ2F0aW9uYWwgZWxlbWVudHNcbiAgICBcImFbaHJlZl0sXCIgKyAvLyB2YWxpZGl0eSBkZXRlcm1pbmVkIGJ5IGlzL3ZhbGlkLWFyZWEuanNcbiAgICBcImFyZWFbaHJlZl0sXCIgKyAvLyB2YWxpZGl0eSBkZXRlcm1pbmVkIGJ5IGlzL2Rpc2FibGVkLmpzXG4gICAgXCJpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgYnV0dG9uLFwiICsgLy8gYnJvd3NpbmcgY29udGV4dCBjb250YWluZXJzXG4gICAgXCJpZnJhbWUsIG9iamVjdCwgZW1iZWQsXCIgKyAvLyBpbnRlcmFjdGl2ZSBjb250ZW50XG4gICAgXCJrZXlnZW4sXCIgKyAoc3VwcG9ydHMkNi5mb2N1c0F1ZGlvV2l0aG91dENvbnRyb2xzID8gXCJhdWRpbyxcIiA6IFwiYXVkaW9bY29udHJvbHNdLFwiKSArIChzdXBwb3J0cyQ2LmZvY3VzVmlkZW9XaXRob3V0Q29udHJvbHMgPyBcInZpZGVvLFwiIDogXCJ2aWRlb1tjb250cm9sc10sXCIpICsgKHN1cHBvcnRzJDYuZm9jdXNTdW1tYXJ5ID8gXCJzdW1tYXJ5LFwiIDogXCJcIikgKyAvLyB2YWxpZGl0eSBkZXRlcm1pbmVkIGJ5IGlzL3ZhbGlkLXRhYmluZGV4LmpzXG4gICAgXCJbdGFiaW5kZXhdLFwiICsgLy8gZWRpdGluZyBob3N0c1xuICAgIFwiW2NvbnRlbnRlZGl0YWJsZV1cIjtcbiAgICAvLyB3aGVyZSBTaGFkb3dET00gaXMgc3VwcG9ydGVkLCB3ZSBhbHNvIHdhbnQgdGhlIHNoYWRvd2VkIGZvY3VzYWJsZSBlbGVtZW50cyAodmlhIFwiPj4+XCIgb3IgXCIvZGVlcC9cIilcbiAgICBzZWxlY3RvciQxID0gc2VsZWN0SW5TaGFkb3dzKHNlbGVjdG9yJDEpO1xuICAgIHJldHVybiBzZWxlY3RvciQxO1xufVxuZnVuY3Rpb24gcXVlcnlGb2N1c2FibGVRdWljaygpIHtcbiAgICB2YXIgX3JlZiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge30sIGNvbnRleHQgPSBfcmVmLmNvbnRleHQsIGluY2x1ZGVDb250ZXh0ID0gX3JlZi5pbmNsdWRlQ29udGV4dCwgaW5jbHVkZU9ubHlUYWJiYWJsZSA9IF9yZWYuaW5jbHVkZU9ubHlUYWJiYWJsZTtcbiAgICB2YXIgX3NlbGVjdG9yID0gc2VsZWN0b3IkMigpO1xuICAgIHZhciBlbGVtZW50cyA9IGNvbnRleHQucXVlcnlTZWxlY3RvckFsbChfc2VsZWN0b3IpO1xuICAgIC8vIHRoZSBzZWxlY3RvciBwb3RlbnRpYWxseSBtYXRjaGVzIG1vcmUgdGhhbiByZWFsbHkgaXMgZm9jdXNhYmxlXG4gICAgdmFyIF9pc0ZvY3VzYWJsZSA9IGlzRm9jdXNhYmxlLnJ1bGVzLmV4Y2VwdCh7XG4gICAgICAgIG9ubHlUYWJiYWJsZTogaW5jbHVkZU9ubHlUYWJiYWJsZVxuICAgIH0pO1xuICAgIHZhciByZXN1bHQgPSBbXS5maWx0ZXIuY2FsbChlbGVtZW50cywgX2lzRm9jdXNhYmxlKTtcbiAgICAvLyBhZGQgY29udGV4dCBpZiByZXF1ZXN0ZWQgYW5kIGZvY3VzYWJsZVxuICAgIGlmIChpbmNsdWRlQ29udGV4dCAmJiBfaXNGb2N1c2FibGUoY29udGV4dCkpIHtcbiAgICAgICAgcmVzdWx0LnVuc2hpZnQoY29udGV4dCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBxdWVyeUZvY3VzYWJsZSgpIHtcbiAgICB2YXIgX3JlZiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge30sIGNvbnRleHQgPSBfcmVmLmNvbnRleHQsIGluY2x1ZGVDb250ZXh0ID0gX3JlZi5pbmNsdWRlQ29udGV4dCwgaW5jbHVkZU9ubHlUYWJiYWJsZSA9IF9yZWYuaW5jbHVkZU9ubHlUYWJiYWJsZSwgX3JlZiRzdHJhdGVneSA9IF9yZWYuc3RyYXRlZ3ksIHN0cmF0ZWd5ID0gX3JlZiRzdHJhdGVneSA9PT0gdW5kZWZpbmVkID8gXCJxdWlja1wiIDogX3JlZiRzdHJhdGVneTtcbiAgICB2YXIgZWxlbWVudCA9IGNvbnRleHRUb0VsZW1lbnQoe1xuICAgICAgICBsYWJlbDogXCJxdWVyeS9mb2N1c2FibGVcIixcbiAgICAgICAgcmVzb2x2ZURvY3VtZW50OiB0cnVlLFxuICAgICAgICBkZWZhdWx0VG9Eb2N1bWVudDogdHJ1ZSxcbiAgICAgICAgY29udGV4dDogY29udGV4dFxuICAgIH0pO1xuICAgIHZhciBvcHRpb25zID0ge1xuICAgICAgICBjb250ZXh0OiBlbGVtZW50LFxuICAgICAgICBpbmNsdWRlQ29udGV4dDogaW5jbHVkZUNvbnRleHQsXG4gICAgICAgIGluY2x1ZGVPbmx5VGFiYmFibGU6IGluY2x1ZGVPbmx5VGFiYmFibGUsXG4gICAgICAgIHN0cmF0ZWd5OiBzdHJhdGVneVxuICAgIH07XG4gICAgaWYgKHN0cmF0ZWd5ID09PSBcInF1aWNrXCIpIHtcbiAgICAgICAgcmV0dXJuIHF1ZXJ5Rm9jdXNhYmxlUXVpY2sob3B0aW9ucyk7XG4gICAgfSBlbHNlIGlmIChzdHJhdGVneSA9PT0gXCJzdHJpY3RcIiB8fCBzdHJhdGVneSA9PT0gXCJhbGxcIikge1xuICAgICAgICByZXR1cm4gcXVlcnlGb2N1c2FibGVTdHJpY3Qob3B0aW9ucyk7XG4gICAgfVxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ3F1ZXJ5L2ZvY3VzYWJsZSByZXF1aXJlcyBvcHRpb24uc3RyYXRlZ3kgdG8gYmUgb25lIG9mIFtcInF1aWNrXCIsIFwic3RyaWN0XCIsIFwiYWxsXCJdJyk7XG59XG52YXIgc3VwcG9ydHMkNyA9IHZvaWQgMDtcbi8vIEludGVybmV0IEV4cGxvcmVyIDExIGNvbnNpZGVycyBmaWVsZHNldCwgdGFibGUsIHRkIGZvY3VzYWJsZSwgYnV0IG5vdCB0YWJiYWJsZVxuLy8gSW50ZXJuZXQgRXhwbG9yZXIgMTEgY29uc2lkZXJzIGJvZHkgdG8gaGF2ZSBbdGFiaW5kZXg9MF0sIGJ1dCBkb2VzIG5vdCBhbGxvdyB0YWJiaW5nIHRvIGl0XG52YXIgZm9jdXNhYmxlRWxlbWVudHNQYXR0ZXJuID0gL14oZmllbGRzZXR8dGFibGV8dGR8Ym9keSkkLztcbmZ1bmN0aW9uIGlzVGFiYmFibGVSdWxlcygpIHtcbiAgICB2YXIgX3JlZiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge30sIGNvbnRleHQgPSBfcmVmLmNvbnRleHQsIF9yZWYkZXhjZXB0ID0gX3JlZi5leGNlcHQsIGV4Y2VwdCA9IF9yZWYkZXhjZXB0ID09PSB1bmRlZmluZWQgPyB7XG4gICAgICAgIGZsZXhib3g6IGZhbHNlLFxuICAgICAgICBzY3JvbGxhYmxlOiBmYWxzZSxcbiAgICAgICAgc2hhZG93OiBmYWxzZSxcbiAgICAgICAgdmlzaWJsZTogZmFsc2UsXG4gICAgICAgIG9ubHlUYWJiYWJsZTogZmFsc2VcbiAgICB9IDogX3JlZiRleGNlcHQ7XG4gICAgaWYgKCFzdXBwb3J0cyQ3KSB7XG4gICAgICAgIHN1cHBvcnRzJDcgPSBfc3VwcG9ydHMoKTtcbiAgICB9XG4gICAgdmFyIGVsZW1lbnQgPSBjb250ZXh0VG9FbGVtZW50KHtcbiAgICAgICAgbGFiZWw6IFwiaXMvdGFiYmFibGVcIixcbiAgICAgICAgcmVzb2x2ZURvY3VtZW50OiB0cnVlLFxuICAgICAgICBjb250ZXh0OiBjb250ZXh0XG4gICAgfSk7XG4gICAgaWYgKHBsYXRmb3JtLmlzLkJMSU5LICYmIHBsYXRmb3JtLmlzLkFORFJPSUQgJiYgcGxhdGZvcm0ubWFqb3JWZXJzaW9uID4gNDIpIHtcbiAgICAgICAgLy8gRXh0ZXJuYWwga2V5Ym9hcmQgc3VwcG9ydCB3b3JrZWQgZmluZSBpbiBDSHJvbWUgNDIsIGJ1dCBzdG9wcGVkIHdvcmtpbmcgaW4gQ2hyb21lIDQ1LlxuICAgICAgICAvLyBUaGUgb24tc2NyZWVuIGtleWJvYXJkIGRvZXMgbm90IHByb3ZpZGUgYSB3YXkgdG8gZm9jdXMgdGhlIG5leHQgaW5wdXQgZWxlbWVudCAobGlrZSBpT1MgZG9lcykuXG4gICAgICAgIC8vIFRoYXQgbGVhdmVzIHVzIHdpdGggbm8gb3B0aW9uIHRvIGFkdmFuY2UgZm9jdXMgYnkga2V5Ym9hcmQsIGVyZ28gbm90aGluZyBpcyB0YWJiYWJsZSAoa2V5Ym9hcmQgZm9jdXNhYmxlKS5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB2YXIgZnJhbWVFbGVtZW50ID0gZ2V0RnJhbWVFbGVtZW50KGVsZW1lbnQpO1xuICAgIGlmIChmcmFtZUVsZW1lbnQpIHtcbiAgICAgICAgaWYgKHBsYXRmb3JtLmlzLldFQktJVCAmJiBwbGF0Zm9ybS5pcy5JT1MpIHtcbiAgICAgICAgICAgIC8vIGlPUyBvbmx5IGRvZXMgbm90IGNvbnNpZGVyIGFueXRoaW5nIGZyb20gYW5vdGhlciBicm93c2luZyBjb250ZXh0IGtleWJvYXJkIGZvY3VzYWJsZVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlmcmFtZVt0YWJpbmRleD1cIi0xXCJdIGFuZCBvYmplY3RbdGFiaW5kZXg9XCItMVwiXSBpbmhlcml0IHRoZVxuICAgICAgICAvLyB0YWJiYWJsZSBkZW1vdGlvbiBvbnRvIGVsZW1lbnRzIG9mIHRoZWlyIGJyb3dzaW5nIGNvbnRleHRzXG4gICAgICAgIGlmICh0YWJpbmRleFZhbHVlKGZyYW1lRWxlbWVudCkgPCAwKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFleGNlcHQudmlzaWJsZSAmJiAocGxhdGZvcm0uaXMuQkxJTksgfHwgcGxhdGZvcm0uaXMuV0VCS0lUKSAmJiAhaXNWaXNpYmxlKGZyYW1lRWxlbWVudCkpIHtcbiAgICAgICAgICAgIC8vIEJsaW5rIGFuZCBXZWJLaXQgY29uc2lkZXIgZWxlbWVudHMgaW4gaGlkZGVuIGJyb3dzaW5nIGNvbnRleHRzIGZvY3VzYWJsZSwgYnV0IG5vdCB0YWJiYWJsZVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIFdlYmtpdCBhbmQgQmxpbmsgZG9uJ3QgY29uc2lkZXIgYW55dGhpbmcgaW4gPG9iamVjdD4gdGFiYmFibGVcbiAgICAgICAgLy8gQmxpbmsgZml4ZWQgdGhhdCBmaXhlZCBpbiBDaHJvbWUgNTQsIE9wZXJhIDQxXG4gICAgICAgIHZhciBmcmFtZU5vZGVOYW1lID0gZnJhbWVFbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChmcmFtZU5vZGVOYW1lID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICB2YXIgaXNGaXhlZEJsaW5rID0gcGxhdGZvcm0ubmFtZSA9PT0gXCJDaHJvbWVcIiAmJiBwbGF0Zm9ybS5tYWpvclZlcnNpb24gPj0gNTQgfHwgcGxhdGZvcm0ubmFtZSA9PT0gXCJPcGVyYVwiICYmIHBsYXRmb3JtLm1ham9yVmVyc2lvbiA+PSA0MTtcbiAgICAgICAgICAgIGlmIChwbGF0Zm9ybS5pcy5XRUJLSVQgfHwgcGxhdGZvcm0uaXMuQkxJTksgJiYgIWlzRml4ZWRCbGluaykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICB2YXIgbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgdmFyIF90YWJpbmRleCA9IHRhYmluZGV4VmFsdWUoZWxlbWVudCk7XG4gICAgdmFyIHRhYmluZGV4ID0gX3RhYmluZGV4ID09PSBudWxsID8gbnVsbCA6IF90YWJpbmRleCA+PSAwO1xuICAgIGlmIChwbGF0Zm9ybS5pcy5FREdFICYmIHBsYXRmb3JtLm1ham9yVmVyc2lvbiA+PSAxNCAmJiBmcmFtZUVsZW1lbnQgJiYgZWxlbWVudC5vd25lclNWR0VsZW1lbnQgJiYgX3RhYmluZGV4IDwgMCkge1xuICAgICAgICAvLyBFZGdlIDE0KyBjb25zaWRlcnMgPGEgeGxpbms6aHJlZj1cIuKAplwiIHRhYmluZGV4PVwiLTFcIj4ga2V5Ym9hcmQgZm9jdXNhYmxlXG4gICAgICAgIC8vIGlmIHRoZSBlbGVtZW50IGlzIGluIGEgbmVzdGVkIGJyb3dzaW5nIGNvbnRleHRcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHZhciBoYXNUYWJiYWJsZVRhYmluZGV4T3JOb25lID0gdGFiaW5kZXggIT09IGZhbHNlO1xuICAgIHZhciBoYXNUYWJiYWJsZVRhYmluZGV4ID0gX3RhYmluZGV4ICE9PSBudWxsICYmIF90YWJpbmRleCA+PSAwO1xuICAgIC8vIE5PVEU6IEZpcmVmb3ggMzEgY29uc2lkZXJzIFtjb250ZW50ZWRpdGFibGVdIHRvIGhhdmUgW3RhYmluZGV4PS0xXSwgYnV0IGFsbG93cyB0YWJiaW5nIHRvIGl0XG4gICAgLy8gZml4ZWQgaW4gRmlyZWZveCA0MCB0aGUgbGF0ZXN0IC0gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NTY1N1xuICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZShcImNvbnRlbnRlZGl0YWJsZVwiKSkge1xuICAgICAgICAvLyB0YWJiaW5nIGNhbiBzdGlsbCBiZSBkaXNhYmxlZCBieSBleHBsaWNpdGx5IHByb3ZpZGluZyBbdGFiaW5kZXg9XCItMVwiXVxuICAgICAgICByZXR1cm4gaGFzVGFiYmFibGVUYWJpbmRleE9yTm9uZTtcbiAgICB9XG4gICAgaWYgKGZvY3VzYWJsZUVsZW1lbnRzUGF0dGVybi50ZXN0KG5vZGVOYW1lKSAmJiB0YWJpbmRleCAhPT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChwbGF0Zm9ybS5pcy5XRUJLSVQgJiYgcGxhdGZvcm0uaXMuSU9TKSB7XG4gICAgICAgIC8vIGlPUyBvbmx5IGNvbnNpZGVycyBhIGhhbmQgZnVsbCBvZiBlbGVtZW50cyB0YWJiYWJsZSAoa2V5Ym9hcmQgZm9jdXNhYmxlKVxuICAgICAgICAvLyB0aGlzIGhvbGRzIHRydWUgZXZlbiB3aXRoIGV4dGVybmFsIGtleWJvYXJkc1xuICAgICAgICB2YXIgcG90ZW50aWFsbHlUYWJiYWJsZSA9IG5vZGVOYW1lID09PSBcImlucHV0XCIgJiYgZWxlbWVudC50eXBlID09PSBcInRleHRcIiB8fCBlbGVtZW50LnR5cGUgPT09IFwicGFzc3dvcmRcIiB8fCBub2RlTmFtZSA9PT0gXCJzZWxlY3RcIiB8fCBub2RlTmFtZSA9PT0gXCJ0ZXh0YXJlYVwiIHx8IGVsZW1lbnQuaGFzQXR0cmlidXRlKFwiY29udGVudGVkaXRhYmxlXCIpO1xuICAgICAgICBpZiAoIXBvdGVudGlhbGx5VGFiYmFibGUpIHtcbiAgICAgICAgICAgIHZhciBzdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsIG51bGwpO1xuICAgICAgICAgICAgcG90ZW50aWFsbHlUYWJiYWJsZSA9IGlzVXNlck1vZGlmeVdyaXRhYmxlKHN0eWxlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXBvdGVudGlhbGx5VGFiYmFibGUpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9kZU5hbWUgPT09IFwidXNlXCIgJiYgX3RhYmluZGV4ICE9PSBudWxsKSB7XG4gICAgICAgIGlmIChwbGF0Zm9ybS5pcy5CTElOSyB8fCBwbGF0Zm9ybS5pcy5XRUJLSVQgJiYgcGxhdGZvcm0ubWFqb3JWZXJzaW9uID09PSA5KSB7XG4gICAgICAgICAgICAvLyBJbiBDaHJvbWUgYW5kIFNhZmFyaSA5IHRoZSA8dXNlPiBlbGVtZW50IGlzIGtleWJvYXJkIGZvY3VzYWJsZSBldmVuIGZvciB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChlbGVtZW50TWF0Y2hlcyhlbGVtZW50LCBcInN2ZyBhXCIpICYmIGVsZW1lbnQuaGFzQXR0cmlidXRlKFwieGxpbms6aHJlZlwiKSkge1xuICAgICAgICBpZiAoaGFzVGFiYmFibGVUYWJpbmRleE9yTm9uZSkge1xuICAgICAgICAgICAgLy8gaW4gVHJpZGVudCBhbmQgR2Vja28gU1ZHRWxlbWVudCBkb2VzIG5vdCBoYW5kbGUgdGhlIHRhYkluZGV4IHByb3BlcnR5IHByb3Blcmx5XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZWxlbWVudC5mb2N1cyAmJiAhc3VwcG9ydHMkNy5mb2N1c1N2Z05lZ2F0aXZlVGFiaW5kZXhBdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIC8vIEZpcmVmb3ggNTEgYW5kIDUyIHRyZWF0IGFueSBuYXRpdmVseSB0YWJiYWJsZSBTVkcgZWxlbWVudCB3aXRoXG4gICAgICAgICAgICAvLyB0YWJpbmRleD1cIi0xXCIgYXMgdGFiYmFibGUgYW5kIGV2ZXJ5dGhpbmcgZWxzZSBhcyBpbmVydFxuICAgICAgICAgICAgLy8gc2VlIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEzMDIzNDBcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJzdmdcIiAmJiBzdXBwb3J0cyQ3LmZvY3VzU3ZnSW5JZnJhbWUgJiYgaGFzVGFiYmFibGVUYWJpbmRleE9yTm9uZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHBsYXRmb3JtLmlzLlRSSURFTlQgfHwgcGxhdGZvcm0uaXMuRURHRSkge1xuICAgICAgICBpZiAobm9kZU5hbWUgPT09IFwic3ZnXCIpIHtcbiAgICAgICAgICAgIGlmIChzdXBwb3J0cyQ3LmZvY3VzU3ZnKSB7XG4gICAgICAgICAgICAgICAgLy8gb2xkZXIgSW50ZXJuZXQgRXhwbG9yZXJzIGNvbnNpZGVyIDxzdmc+IGtleWJvYXJkIGZvY3VzYWJsZVxuICAgICAgICAgICAgICAgIC8vIHVubGVzcyB0aGV5IGhhdmUgZm9jc2FibGU9XCJmYWxzZVwiLCBidXQgdGhlbiB0aGV5IHdvdWxkbid0XG4gICAgICAgICAgICAgICAgLy8gYmUgZm9jdXNhYmxlIGFuZCB0aHVzIG5vdCBldmVuIHJlYWNoIHRoaXMgZmlsdGVyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBlbGVtZW50cyB0aGF0IGhhdmUgW2ZvY3VzYWJsZV0gYXJlIGF1dG9tYXRpY2FsbHkga2V5Ym9hcmQgZm9jdXNhYmxlIHJlZ2FyZGxlc3Mgb2YgdGhlIGF0dHJpYnV0ZSdzIHZhbHVlXG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudC5oYXNBdHRyaWJ1dGUoXCJmb2N1c2FibGVcIikgfHwgaGFzVGFiYmFibGVUYWJpbmRleDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZWxlbWVudC5vd25lclNWR0VsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmIChzdXBwb3J0cyQ3LmZvY3VzU3ZnVGFiaW5kZXhBdHRyaWJ1dGUgJiYgaGFzVGFiYmFibGVUYWJpbmRleCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZWxlbWVudHMgdGhhdCBoYXZlIFtmb2N1c2FibGVdIGFyZSBhdXRvbWF0aWNhbGx5IGtleWJvYXJkIGZvY3VzYWJsZSByZWdhcmRsZXNzIG9mIHRoZSBhdHRyaWJ1dGUncyB2YWx1ZVxuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQuaGFzQXR0cmlidXRlKFwiZm9jdXNhYmxlXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChlbGVtZW50LnRhYkluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4oZXhjZXB0Lm9ubHlUYWJiYWJsZSk7XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJhdWRpb1wiKSB7XG4gICAgICAgIGlmICghZWxlbWVudC5oYXNBdHRyaWJ1dGUoXCJjb250cm9sc1wiKSkge1xuICAgICAgICAgICAgLy8gSW4gSW50ZXJuZXQgRXhwbG9yZXIgdGhlIDxhdWRpbz4gZWxlbWVudCBpcyBmb2N1c2FibGUsIGJ1dCBub3QgdGFiYmFibGUsIGFuZCB0YWJJbmRleCBwcm9wZXJ0eSBpcyB3cm9uZ1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKHBsYXRmb3JtLmlzLkJMSU5LKSB7XG4gICAgICAgICAgICAvLyBJbiBDaHJvbWUgPGF1ZGlvIGNvbnRyb2xzIHRhYmluZGV4PVwiLTFcIj4gcmVtYWlucyBrZXlib2FyZCBmb2N1c2FibGVcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJ2aWRlb1wiKSB7XG4gICAgICAgIGlmICghZWxlbWVudC5oYXNBdHRyaWJ1dGUoXCJjb250cm9sc1wiKSkge1xuICAgICAgICAgICAgaWYgKHBsYXRmb3JtLmlzLlRSSURFTlQgfHwgcGxhdGZvcm0uaXMuRURHRSkge1xuICAgICAgICAgICAgICAgIC8vIEluIEludGVybmV0IEV4cGxvcmVyIGFuZCBFZGdlIHRoZSA8dmlkZW8+IGVsZW1lbnQgaXMgZm9jdXNhYmxlLCBidXQgbm90IHRhYmJhYmxlLCBhbmQgdGFiSW5kZXggcHJvcGVydHkgaXMgd3JvbmdcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAocGxhdGZvcm0uaXMuQkxJTksgfHwgcGxhdGZvcm0uaXMuR0VDS08pIHtcbiAgICAgICAgICAgIC8vIEluIENocm9tZSBhbmQgRmlyZWZveCA8dmlkZW8gY29udHJvbHMgdGFiaW5kZXg9XCItMVwiPiByZW1haW5zIGtleWJvYXJkIGZvY3VzYWJsZVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vZGVOYW1lID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIGlmIChwbGF0Zm9ybS5pcy5CTElOSyB8fCBwbGF0Zm9ybS5pcy5XRUJLSVQpIHtcbiAgICAgICAgICAgIC8vIEluIGFsbCBCbGluayBhbmQgV2ViS2l0IGJhc2VkIGJyb3dzZXJzIDxlbWJlZD4gYW5kIDxvYmplY3Q+IGFyZSBuZXZlciBrZXlib2FyZCBmb2N1c2FibGUsIGV2ZW4gd2l0aCB0YWJpbmRleD1cIjBcIiBzZXRcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9kZU5hbWUgPT09IFwiaWZyYW1lXCIpIHtcbiAgICAgICAgLy8gSW4gSW50ZXJuZXQgRXhwbG9yZXIgYWxsIGlmcmFtZXMgYXJlIG9ubHkgZm9jdXNhYmxlXG4gICAgICAgIC8vIEluIFdlYktpdCwgQmxpbmsgYW5kIEdlY2tvIGlmcmFtZXMgbWF5IGJlIHRhYmJhYmxlIGRlcGVuZGluZyBvbiBjb250ZW50LlxuICAgICAgICAvLyBTaW5jZSB3ZSBjYW4ndCByZWxpYWJseSBpbnZlc3RpZ2F0ZSBpZnJhbWUgZG9jdW1lbnRzIGJlY2F1c2Ugb2YgdGhlXG4gICAgICAgIC8vIFNhbWVPcmlnaW5Qb2xpY3ksIHdlJ3JlIGRlY2xhcmluZyBldmVyeXRoaW5nIG9ubHkgZm9jdXNhYmxlLlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICghZXhjZXB0LnNjcm9sbGFibGUgJiYgcGxhdGZvcm0uaXMuR0VDS08pIHtcbiAgICAgICAgLy8gRmlyZWZveCBjb25zaWRlcnMgc2Nyb2xsYWJsZSBjb250YWluZXJzIGtleWJvYXJkIGZvY3VzYWJsZSxcbiAgICAgICAgLy8gZXZlbiB0aG91Z2ggdGhlaXIgdGFiSW5kZXggcHJvcGVydHkgaXMgLTFcbiAgICAgICAgdmFyIF9zdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsIG51bGwpO1xuICAgICAgICBpZiAoaGFzQ3NzT3ZlcmZsb3dTY3JvbGwoX3N0eWxlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGhhc1RhYmJhYmxlVGFiaW5kZXhPck5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHBsYXRmb3JtLmlzLlRSSURFTlQgfHwgcGxhdGZvcm0uaXMuRURHRSkge1xuICAgICAgICAvLyBJRSBhbmQgRWRnZSBkZWdyYWRlIDxhcmVhPiB0byBzY3JpcHQgZm9jdXNhYmxlLCBpZiB0aGUgaW1hZ2VcbiAgICAgICAgLy8gdXNpbmcgdGhlIDxtYXA+IGhhcyBiZWVuIGdpdmVuIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICBpZiAobm9kZU5hbWUgPT09IFwiYXJlYVwiKSB7XG4gICAgICAgICAgICB2YXIgaW1nID0gZ2V0SW1hZ2VPZkFyZWEoZWxlbWVudCk7XG4gICAgICAgICAgICBpZiAoaW1nICYmIHRhYmluZGV4VmFsdWUoaW1nKSA8IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFyIF9zdHlsZTIgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCBudWxsKTtcbiAgICAgICAgaWYgKGlzVXNlck1vZGlmeVdyaXRhYmxlKF9zdHlsZTIpKSB7XG4gICAgICAgICAgICAvLyBwcmV2ZW50IGJlaW5nIHN3YWxsb3dlZCBieSB0aGUgb3ZlcnplYWxvdXMgaXNTY3JvbGxhYmxlQ29udGFpbmVyKCkgYmVsb3dcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50LnRhYkluZGV4ID49IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFleGNlcHQuZmxleGJveCAmJiBoYXNDc3NEaXNwbGF5RmxleChfc3R5bGUyKSkge1xuICAgICAgICAgICAgaWYgKF90YWJpbmRleCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBoYXNUYWJiYWJsZVRhYmluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGlzRm9jdXNSZWxldmFudFdpdGhvdXRGbGV4Ym94KGVsZW1lbnQpICYmIGlzVGFiYmFibGVXaXRob3V0RmxleGJveChlbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJRSBjb25zaWRlcnMgc2Nyb2xsYWJsZSBjb250YWluZXJzIHNjcmlwdCBmb2N1c2FibGUgb25seSxcbiAgICAgICAgLy8gZXZlbiB0aG91Z2ggdGhlaXIgdGFiSW5kZXggcHJvcGVydHkgaXMgMFxuICAgICAgICBpZiAoaXNTY3JvbGxhYmxlQ29udGFpbmVyKGVsZW1lbnQsIG5vZGVOYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHZhciBwYXJlbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHZhciBwYXJlbnROb2RlTmFtZSA9IHBhcmVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgdmFyIHBhcmVudFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUocGFyZW50LCBudWxsKTtcbiAgICAgICAgICAgIC8vIElFIGNvbnNpZGVycyBzY3JvbGxhYmxlIGJvZGllcyBzY3JpcHQgZm9jdXNhYmxlIG9ubHksXG4gICAgICAgICAgICBpZiAoaXNTY3JvbGxhYmxlQ29udGFpbmVyKHBhcmVudCwgbm9kZU5hbWUsIHBhcmVudE5vZGVOYW1lLCBwYXJlbnRTdHlsZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBDaGlsZHJlbiBvZiBmb2N1c2FibGUgZWxlbWVudHMgd2l0aCBkaXNwbGF5OmZsZXggYXJlIGZvY3VzYWJsZSBpbiBJRTEwLTExLFxuICAgICAgICAgICAgLy8gZXZlbiB0aG91Z2ggdGhlaXIgdGFiSW5kZXggcHJvcGVydHkgc3VnZ2VzdHMgb3RoZXJ3aXNlXG4gICAgICAgICAgICBpZiAoaGFzQ3NzRGlzcGxheUZsZXgocGFyZW50U3R5bGUpKSB7XG4gICAgICAgICAgICAgICAgLy8gdmFsdWUgb2YgdGFiaW5kZXggdGFrZXMgcHJlY2VkZW5jZVxuICAgICAgICAgICAgICAgIHJldHVybiBoYXNUYWJiYWJsZVRhYmluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvUEYvYXJpYS1wcmFjdGljZXMvI2ZvY3VzX3RhYmluZGV4XG4gICAgcmV0dXJuIGVsZW1lbnQudGFiSW5kZXggPj0gMDtcbn1cbi8vIGJpbmQgZXhjZXB0aW9ucyB0byBhbiBpdGVyYXRvciBjYWxsYmFja1xuaXNUYWJiYWJsZVJ1bGVzLmV4Y2VwdCA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciBleGNlcHQgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuICAgIHZhciBpc1RhYmJhYmxlID0gZnVuY3Rpb24gaXNUYWJiYWJsZShjb250ZXh0KSB7XG4gICAgICAgIHJldHVybiBpc1RhYmJhYmxlUnVsZXMoe1xuICAgICAgICAgICAgY29udGV4dDogY29udGV4dCxcbiAgICAgICAgICAgIGV4Y2VwdDogZXhjZXB0XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgaXNUYWJiYWJsZS5ydWxlcyA9IGlzVGFiYmFibGVSdWxlcztcbiAgICByZXR1cm4gaXNUYWJiYWJsZTtcbn07XG52YXIgaXNGb2N1c1JlbGV2YW50V2l0aG91dEZsZXhib3ggPSBpc0ZvY3VzUmVsZXZhbnQucnVsZXMuZXhjZXB0KHtcbiAgICBmbGV4Ym94OiB0cnVlXG59KTtcbnZhciBpc1RhYmJhYmxlV2l0aG91dEZsZXhib3ggPSBpc1RhYmJhYmxlUnVsZXMuZXhjZXB0KHtcbiAgICBmbGV4Ym94OiB0cnVlXG59KTtcbi8vIHByb3ZpZGUgaXNUYWJiYWJsZShjb250ZXh0KSBhcyBkZWZhdWx0IGl0ZXJhdG9yIGNhbGxiYWNrXG52YXIgaXNUYWJiYWJsZSA9IGlzVGFiYmFibGVSdWxlcy5leGNlcHQoe30pO1xuZnVuY3Rpb24gcXVlcnlUYWJiYWJsZSgpIHtcbiAgICB2YXIgX3JlZiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge30sIGNvbnRleHQgPSBfcmVmLmNvbnRleHQsIGluY2x1ZGVDb250ZXh0ID0gX3JlZi5pbmNsdWRlQ29udGV4dCwgaW5jbHVkZU9ubHlUYWJiYWJsZSA9IF9yZWYuaW5jbHVkZU9ubHlUYWJiYWJsZSwgc3RyYXRlZ3kgPSBfcmVmLnN0cmF0ZWd5O1xuICAgIHZhciBfaXNUYWJiYWJsZSA9IGlzVGFiYmFibGUucnVsZXMuZXhjZXB0KHtcbiAgICAgICAgb25seVRhYmJhYmxlOiBpbmNsdWRlT25seVRhYmJhYmxlXG4gICAgfSk7XG4gICAgcmV0dXJuIHF1ZXJ5Rm9jdXNhYmxlKHtcbiAgICAgICAgY29udGV4dDogY29udGV4dCxcbiAgICAgICAgaW5jbHVkZUNvbnRleHQ6IGluY2x1ZGVDb250ZXh0LFxuICAgICAgICBpbmNsdWRlT25seVRhYmJhYmxlOiBpbmNsdWRlT25seVRhYmJhYmxlLFxuICAgICAgICBzdHJhdGVneTogc3RyYXRlZ3lcbiAgICB9KS5maWx0ZXIoX2lzVGFiYmFibGUpO1xufVxuLy8gc29ydHMgYSBsaXN0IG9mIGVsZW1lbnRzIGFjY29yZGluZyB0byB0aGVpciBvcmRlciBpbiB0aGUgRE9NXG5mdW5jdGlvbiBjb21wYXJlRG9tUG9zaXRpb24oYSwgYikge1xuICAgIHJldHVybiBhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcgPyAtMSA6IDE7XG59XG5mdW5jdGlvbiBzb3J0RG9tT3JkZXIoZWxlbWVudHMpIHtcbiAgICByZXR1cm4gZWxlbWVudHMuc29ydChjb21wYXJlRG9tUG9zaXRpb24pO1xufVxuZnVuY3Rpb24gZ2V0Rmlyc3RTdWNjZXNzb3JPZmZzZXQobGlzdCwgdGFyZ2V0KSB7XG4gICAgLy8gZmluZCB0aGUgZmlyc3QgZWxlbWVudCB0aGF0IGNvbWVzIEFGVEVSIHRoZSB0YXJnZXQgZWxlbWVudFxuICAgIHJldHVybiBmaW5kSW5kZXgobGlzdCwgZnVuY3Rpb24oZWxlbWVudCkge1xuICAgICAgICByZXR1cm4gdGFyZ2V0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGVsZW1lbnQpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc7XG4gICAgfSk7XG59XG5mdW5jdGlvbiBmaW5kSW5zZXJ0aW9uT2Zmc2V0cyhsaXN0LCBlbGVtZW50cywgcmVzb2x2ZUVsZW1lbnQpIHtcbiAgICAvLyBpbnN0ZWFkIG9mIG11dGF0aW5nIHRoZSBlbGVtZW50cyBsaXN0IGRpcmVjdGx5LCByZW1lbWJlciBwb3NpdGlvbiBhbmQgbWFwXG4gICAgLy8gdG8gaW5qZWN0IGxhdGVyLCB3aGVuIHdlIGNhbiBkbyB0aGlzIG1vcmUgZWZmaWNpZW50bHlcbiAgICB2YXIgaW5zZXJ0aW9ucyA9IFtdO1xuICAgIGVsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24oZWxlbWVudCkge1xuICAgICAgICB2YXIgcmVwbGFjZSA9IHRydWU7XG4gICAgICAgIHZhciBvZmZzZXQgPSBsaXN0LmluZGV4T2YoZWxlbWVudCk7XG4gICAgICAgIGlmIChvZmZzZXQgPT09IC0xKSB7XG4gICAgICAgICAgICAvLyBlbGVtZW50IGlzIG5vdCBpbiB0YXJnZXQgbGlzdFxuICAgICAgICAgICAgb2Zmc2V0ID0gZ2V0Rmlyc3RTdWNjZXNzb3JPZmZzZXQobGlzdCwgZWxlbWVudCk7XG4gICAgICAgICAgICByZXBsYWNlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9mZnNldCA9PT0gLTEpIHtcbiAgICAgICAgICAgIC8vIHRoZXJlIGlzIG5vIHN1Y2Nlc3NvciBpbiB0aGUgdGFic2VxdWVuY2UsXG4gICAgICAgICAgICAvLyBtZWFuaW5nIHRoZSBpbWFnZSBtdXN0IGJlIHRoZSBsYXN0IGVsZW1lbnRcbiAgICAgICAgICAgIG9mZnNldCA9IGxpc3QubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIC8vIGFsbG93IHRoZSBjb25zdW1lciB0byByZXBsYWNlIHRoZSBpbmplY3RlZCBlbGVtZW50XG4gICAgICAgIHZhciBpbmplY3Rpb25zID0gbm9kZUFycmF5KHJlc29sdmVFbGVtZW50ID8gcmVzb2x2ZUVsZW1lbnQoZWxlbWVudCkgOiBlbGVtZW50KTtcbiAgICAgICAgaWYgKCFpbmplY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgLy8gd2UgY2FuJ3QgaW5qZWN0IHplcm8gZWxlbWVudHNcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpbnNlcnRpb25zLnB1c2goe1xuICAgICAgICAgICAgb2Zmc2V0OiBvZmZzZXQsXG4gICAgICAgICAgICByZXBsYWNlOiByZXBsYWNlLFxuICAgICAgICAgICAgZWxlbWVudHM6IGluamVjdGlvbnNcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGluc2VydGlvbnM7XG59XG5mdW5jdGlvbiBpbnNlcnRFbGVtZW50c0F0T2Zmc2V0cyhsaXN0LCBpbnNlcnRpb25zKSB7XG4gICAgLy8gcmVtZW1iZXIgdGhlIG51bWJlciBvZiBlbGVtZW50cyB3ZSBoYXZlIGFscmVhZHkgaW5qZWN0ZWRcbiAgICAvLyBzbyB3ZSBhY2NvdW50IGZvciB0aGUgY2F1c2VkIGluZGV4IG9mZnNldFxuICAgIHZhciBpbnNlcnRlZCA9IDA7XG4gICAgLy8gbWFrZSBzdXJlIHRoYXQgd2UgaW5zZXJ0IHRoZSBlbGVtZW50cyBpbiBzZXF1ZW5jZSxcbiAgICAvLyBvdGhlcndpc2UgdGhlIG9mZnNldCBjb21wZW5zYXRpb24gd29uJ3Qgd29ya1xuICAgIGluc2VydGlvbnMuc29ydChmdW5jdGlvbihhLCBiKSB7XG4gICAgICAgIHJldHVybiBhLm9mZnNldCAtIGIub2Zmc2V0O1xuICAgIH0pO1xuICAgIGluc2VydGlvbnMuZm9yRWFjaChmdW5jdGlvbihpbnNlcnRpb24pIHtcbiAgICAgICAgLy8gYXJyYXkuc3BsaWNlIGhhcyBhbiBhbm5veWluZyBmdW5jdGlvbiBzaWduYXR1cmUgOihcbiAgICAgICAgdmFyIHJlbW92ZSA9IGluc2VydGlvbi5yZXBsYWNlID8gMSA6IDA7XG4gICAgICAgIHZhciBhcmdzID0gW1xuICAgICAgICAgICAgaW5zZXJ0aW9uLm9mZnNldCArIGluc2VydGVkLFxuICAgICAgICAgICAgcmVtb3ZlXG4gICAgICAgIF0uY29uY2F0KGluc2VydGlvbi5lbGVtZW50cyk7XG4gICAgICAgIGxpc3Quc3BsaWNlLmFwcGx5KGxpc3QsIGFyZ3MpO1xuICAgICAgICBpbnNlcnRlZCArPSBpbnNlcnRpb24uZWxlbWVudHMubGVuZ3RoIC0gcmVtb3ZlO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gbWVyZ2VJbkRvbU9yZGVyKCkge1xuICAgIHZhciBfcmVmID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fSwgbGlzdCA9IF9yZWYubGlzdCwgZWxlbWVudHMgPSBfcmVmLmVsZW1lbnRzLCByZXNvbHZlRWxlbWVudCA9IF9yZWYucmVzb2x2ZUVsZW1lbnQ7XG4gICAgLy8gb3BlcmF0ZSBvbiBhIGNvcHkgc28gd2UgZG9uJ3QgbXV0YXRlIHRoZSBvcmlnaW5hbCBhcnJheVxuICAgIHZhciBfbGlzdCA9IGxpc3Quc2xpY2UoMCk7XG4gICAgLy8gbWFrZSBzdXJlIHRoZSBlbGVtZW50cyB3ZSdyZSBpbmplY3RpbmcgYXJlIHByb3ZpZGVkIGluIERPTSBvcmRlclxuICAgIHZhciBfZWxlbWVudHMgPSBub2RlQXJyYXkoZWxlbWVudHMpLnNsaWNlKDApO1xuICAgIHNvcnREb21PcmRlcihfZWxlbWVudHMpO1xuICAgIC8vIGZpbmQgdGhlIG9mZnNldHMgd2l0aGluIHRoZSB0YXJnZXQgYXJyYXkgKGxpc3QpIGF0IHdoaWNoIHRvIGluamVjdFxuICAgIC8vIGVhY2ggaW5kaXZpZHVhbCBlbGVtZW50IChmcm9tIGVsZW1lbnRzKVxuICAgIHZhciBpbnNlcnRpb25zID0gZmluZEluc2VydGlvbk9mZnNldHMoX2xpc3QsIF9lbGVtZW50cywgcmVzb2x2ZUVsZW1lbnQpO1xuICAgIC8vIGFjdHVhbGx5IGluamVjdCB0aGUgZWxlbWVudHMgaW50byB0aGUgdGFyZ2V0IGFycmF5IGF0IHRoZSBpZGVudGlmaWVkIHBvc2l0aW9uc1xuICAgIGluc2VydEVsZW1lbnRzQXRPZmZzZXRzKF9saXN0LCBpbnNlcnRpb25zKTtcbiAgICByZXR1cm4gX2xpc3Q7XG59XG52YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7XG4gICAgICAgIGZvcih2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldO1xuICAgICAgICAgICAgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlO1xuICAgICAgICAgICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24oQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7XG4gICAgICAgIGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7XG4gICAgICAgIGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpO1xuICAgICAgICByZXR1cm4gQ29uc3RydWN0b3I7XG4gICAgfTtcbn0oKTtcbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHtcbiAgICBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpO1xuICAgIH1cbn1cbnZhciBNYXBzID0gZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gTWFwcyhjb250ZXh0KSB7XG4gICAgICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBNYXBzKTtcbiAgICAgICAgdGhpcy5fZG9jdW1lbnQgPSBnZXREb2N1bWVudChjb250ZXh0KTtcbiAgICAgICAgdGhpcy5tYXBzID0ge307XG4gICAgfVxuICAgIF9jcmVhdGVDbGFzcyhNYXBzLCBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogXCJnZXRBcmVhc0ZvclwiLFxuICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIGdldEFyZWFzRm9yKG5hbWUpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMubWFwc1tuYW1lXSkge1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGUgbWFwIGlzIG5vdCBkZWZpbmVkIHdpdGhpbiB0aGUgY29udGV4dCwgc28gd2VcbiAgICAgICAgICAgICAgICAgICAgLy8gaGF2ZSB0byBnbyBmaW5kIGl0IGVsc2V3aGVyZSBpbiB0aGUgZG9jdW1lbnRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRNYXBCeU5hbWUobmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm1hcHNbbmFtZV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogXCJhZGRNYXBCeU5hbWVcIixcbiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBhZGRNYXBCeU5hbWUobmFtZSkge1xuICAgICAgICAgICAgICAgIHZhciBtYXAgPSBnZXRNYXBCeU5hbWUobmFtZSwgdGhpcy5fZG9jdW1lbnQpO1xuICAgICAgICAgICAgICAgIGlmICghbWFwKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZXJlIGlzIG5vIG1hcCwgdGhlIGltZ1t1c2VtYXBdIHdhc24ndCBkb2luZyBhbnl0aGluZyBhbnl3YXlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm1hcHNbbWFwLm5hbWVdID0gcXVlcnlUYWJiYWJsZSh7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IG1hcFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiZXh0cmFjdEFyZWFzRnJvbUxpc3RcIixcbiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBleHRyYWN0QXJlYXNGcm9tTGlzdChlbGVtZW50cykge1xuICAgICAgICAgICAgICAgIC8vIHJlbW92ZSBhbGwgPGFyZWE+IGVsZW1lbnRzIGZyb20gdGhlIGVsZW1lbnRzIGxpc3QsXG4gICAgICAgICAgICAgICAgLy8gYnV0IHB1dCB0aGVtIHRoZSBtYXAgZm9yIGxhdGVyIHJldHJpZXZhbFxuICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50cy5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChub2RlTmFtZSAhPT0gXCJhcmVhXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHZhciBtYXAgPSBlbGVtZW50LnBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5tYXBzW21hcC5uYW1lXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXBzW21hcC5uYW1lXSA9IFtdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFwc1ttYXAubmFtZV0ucHVzaChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH0sIHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXSk7XG4gICAgcmV0dXJuIE1hcHM7XG59KCk7XG5mdW5jdGlvbiBzb3J0QXJlYShlbGVtZW50cywgY29udGV4dCkge1xuICAgIC8vIGltYWdlcyAtIHVubGVzcyB0aGV5IGFyZSBmb2N1c2FibGUgdGhlbXNlbHZlcywgbGlrZWx5IG5vdFxuICAgIC8vIHBhcnQgb2YgdGhlIGVsZW1lbnRzIGxpc3QsIHNvIHdlJ2xsIGhhdmUgdG8gZmluZCB0aGVtIGFuZFxuICAgIC8vIHNvcnQgdGhlbSBpbnRvIHRoZSBlbGVtZW50cyBsaXN0IG1hbnVhbGx5XG4gICAgdmFyIHVzZW1hcHMgPSBjb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwoXCJpbWdbdXNlbWFwXVwiKTtcbiAgICB2YXIgbWFwcyA9IG5ldyBNYXBzKGNvbnRleHQpO1xuICAgIC8vIHJlbW92ZSBhbGwgPGFyZWE+IGVsZW1lbnRzIGZyb20gdGhlIGVsZW1lbnRzIGxpc3QsXG4gICAgLy8gYnV0IHB1dCB0aGVtIHRoZSBtYXAgZm9yIGxhdGVyIHJldHJpZXZhbFxuICAgIHZhciBfZWxlbWVudHMgPSBtYXBzLmV4dHJhY3RBcmVhc0Zyb21MaXN0KGVsZW1lbnRzKTtcbiAgICBpZiAoIXVzZW1hcHMubGVuZ3RoKSB7XG4gICAgICAgIC8vIHRoZSBjb250ZXh0IGRvZXMgbm90IGNvbnRhaW4gYW55IDxhcmVhPnMgc28gbm8gbmVlZFxuICAgICAgICAvLyB0byByZXBsYWNlIGFueXRoaW5nLCBqdXN0IHJlbW92ZSBhbnkgbWFwc1xuICAgICAgICByZXR1cm4gX2VsZW1lbnRzO1xuICAgIH1cbiAgICByZXR1cm4gbWVyZ2VJbkRvbU9yZGVyKHtcbiAgICAgICAgbGlzdDogX2VsZW1lbnRzLFxuICAgICAgICBlbGVtZW50czogdXNlbWFwcyxcbiAgICAgICAgcmVzb2x2ZUVsZW1lbnQ6IGZ1bmN0aW9uIHJlc29sdmVFbGVtZW50KGltYWdlKSB7XG4gICAgICAgICAgICB2YXIgbmFtZSA9IGltYWdlLmdldEF0dHJpYnV0ZShcInVzZW1hcFwiKS5zbGljZSgxKTtcbiAgICAgICAgICAgIHJldHVybiBtYXBzLmdldEFyZWFzRm9yKG5hbWUpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG52YXIgX2NyZWF0ZUNsYXNzJDEgPSBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHtcbiAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgIHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07XG4gICAgICAgICAgICBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7XG4gICAgICAgICAgICBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7XG4gICAgICAgICAgICBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlO1xuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbihDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHtcbiAgICAgICAgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTtcbiAgICAgICAgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7XG4gICAgICAgIHJldHVybiBDb25zdHJ1Y3RvcjtcbiAgICB9O1xufSgpO1xuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrJDEoaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7XG4gICAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTtcbiAgICB9XG59XG52YXIgU2hhZG93cyA9IGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIFNoYWRvd3MoY29udGV4dCwgc29ydEVsZW1lbnRzKSB7XG4gICAgICAgIF9jbGFzc0NhbGxDaGVjayQxKHRoaXMsIFNoYWRvd3MpO1xuICAgICAgICAvLyBkb2N1bWVudCBjb250ZXh0IHdlJ3JlIHdvcmtpbmcgd2l0aFxuICAgICAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgICAgICAvLyBjYWxsYmFjayB0aGF0IHNvcnRzIGFuIGFycmF5IG9mIGVsZW1lbnRzXG4gICAgICAgIHRoaXMuc29ydEVsZW1lbnRzID0gc29ydEVsZW1lbnRzO1xuICAgICAgICAvLyByZWZlcmVuY2UgdG8gY3JlYXRlIHVuaXF1ZSBJRHMgZm9yIGVhY2ggU2hhZG93SG9zdFxuICAgICAgICB0aGlzLmhvc3RDb3VudGVyID0gMTtcbiAgICAgICAgLy8gcmVmZXJlbmNlIG1hcCBmb3IgY2hpbGQtU2hhZG93SG9zdHMgb2YgYSBTaGFkb3dIb3N0XG4gICAgICAgIHRoaXMuaW5Ib3N0ID0ge307XG4gICAgICAgIC8vIHJlZmVyZW5jZSBtYXAgZm9yIGNoaWxkLVNoYWRvd0hvc3Qgb2YgdGhlIGRvY3VtZW50XG4gICAgICAgIHRoaXMuaW5Eb2N1bWVudCA9IFtdO1xuICAgICAgICAvLyByZWZlcmVuY2UgbWFwIGZvciBTaGFkb3dIb3N0c1xuICAgICAgICB0aGlzLmhvc3RzID0ge307XG4gICAgICAgIC8vIHJlZmVyZW5jZSBtYXAgZm9yIHRhYmJhYmxlIGVsZW1lbnRzIG9mIGEgU2hhZG93SG9zdFxuICAgICAgICB0aGlzLmVsZW1lbnRzID0ge307XG4gICAgfVxuICAgIC8vIHJlbWVtYmVyIHdoaWNoIGhvc3RzIHdlIGhhdmUgdG8gc29ydCB3aXRoaW4gbGF0ZXJcbiAgICBfY3JlYXRlQ2xhc3MkMShTaGFkb3dzLCBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogXCJfcmVnaXN0ZXJIb3N0XCIsXG4gICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX3JlZ2lzdGVySG9zdChob3N0KSB7XG4gICAgICAgICAgICAgICAgaWYgKGhvc3QuX3NvcnRpbmdJZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIG1ha2UgdGhlIFNoYWRvd0hvc3QgaWRlbnRpZmlhYmxlIChzZWUgY2xlYW51cCgpIGZvciB1bmRvKVxuICAgICAgICAgICAgICAgIGhvc3QuX3NvcnRpbmdJZCA9IFwic2hhZG93LVwiICsgdGhpcy5ob3N0Q291bnRlcisrO1xuICAgICAgICAgICAgICAgIHRoaXMuaG9zdHNbaG9zdC5fc29ydGluZ0lkXSA9IGhvc3Q7XG4gICAgICAgICAgICAgICAgLy8gaG9zdHMgbWF5IGNvbnRhaW4gb3RoZXIgaG9zdHNcbiAgICAgICAgICAgICAgICB2YXIgcGFyZW50SG9zdCA9IGdldFNoYWRvd0hvc3Qoe1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBob3N0XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudEhvc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVnaXN0ZXJIb3N0KHBhcmVudEhvc3QpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZWdpc3Rlckhvc3RQYXJlbnQoaG9zdCwgcGFyZW50SG9zdCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbkRvY3VtZW50LnB1c2goaG9zdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiX3JlZ2lzdGVySG9zdFBhcmVudFwiLFxuICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9yZWdpc3Rlckhvc3RQYXJlbnQoaG9zdCwgcGFyZW50KSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmluSG9zdFtwYXJlbnQuX3NvcnRpbmdJZF0pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbkhvc3RbcGFyZW50Ll9zb3J0aW5nSWRdID0gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuaW5Ib3N0W3BhcmVudC5fc29ydGluZ0lkXS5wdXNoKGhvc3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiX3JlZ2lzdGVyRWxlbWVudFwiLFxuICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9yZWdpc3RlckVsZW1lbnQoZWxlbWVudCwgaG9zdCkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5lbGVtZW50c1tob3N0Ll9zb3J0aW5nSWRdKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudHNbaG9zdC5fc29ydGluZ0lkXSA9IFtdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRzW2hvc3QuX3NvcnRpbmdJZF0ucHVzaChlbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBcImV4dHJhY3RFbGVtZW50c1wiLFxuICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIGV4dHJhY3RFbGVtZW50cyhlbGVtZW50cykge1xuICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50cy5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgaG9zdCA9IGdldFNoYWRvd0hvc3Qoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFob3N0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZWdpc3Rlckhvc3QoaG9zdCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3JlZ2lzdGVyRWxlbWVudChlbGVtZW50LCBob3N0KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH0sIHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwic29ydFwiLFxuICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIHNvcnQoZWxlbWVudHMpIHtcbiAgICAgICAgICAgICAgICB2YXIgX2VsZW1lbnRzID0gdGhpcy5faW5qZWN0SG9zdHMoZWxlbWVudHMpO1xuICAgICAgICAgICAgICAgIF9lbGVtZW50cyA9IHRoaXMuX3JlcGxhY2VIb3N0cyhfZWxlbWVudHMpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NsZWFudXAoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gX2VsZW1lbnRzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiX2luamVjdEhvc3RzXCIsXG4gICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX2luamVjdEhvc3RzKGVsZW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXModGhpcy5ob3N0cykuZm9yRWFjaChmdW5jdGlvbihfc29ydGluZ0lkKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfbGlzdCA9IHRoaXMuZWxlbWVudHNbX3NvcnRpbmdJZF07XG4gICAgICAgICAgICAgICAgICAgIHZhciBfZWxlbWVudHMgPSB0aGlzLmluSG9zdFtfc29ydGluZ0lkXTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9jb250ZXh0ID0gdGhpcy5ob3N0c1tfc29ydGluZ0lkXS5zaGFkb3dSb290O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRzW19zb3J0aW5nSWRdID0gdGhpcy5fbWVyZ2UoX2xpc3QsIF9lbGVtZW50cywgX2NvbnRleHQpO1xuICAgICAgICAgICAgICAgIH0sIHRoaXMpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9tZXJnZShlbGVtZW50cywgdGhpcy5pbkRvY3VtZW50LCB0aGlzLmNvbnRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiX21lcmdlXCIsXG4gICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX21lcmdlKGxpc3QsIGVsZW1lbnRzLCBjb250ZXh0KSB7XG4gICAgICAgICAgICAgICAgdmFyIG1lcmdlZCA9IG1lcmdlSW5Eb21PcmRlcih7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Q6IGxpc3QsXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzOiBlbGVtZW50c1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNvcnRFbGVtZW50cyhtZXJnZWQsIGNvbnRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiX3JlcGxhY2VIb3N0c1wiLFxuICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9yZXBsYWNlSG9zdHMoZWxlbWVudHMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWVyZ2VJbkRvbU9yZGVyKHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdDogZWxlbWVudHMsXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzOiB0aGlzLmluRG9jdW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmVFbGVtZW50OiB0aGlzLl9yZXNvbHZlSG9zdEVsZW1lbnQuYmluZCh0aGlzKVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiX3Jlc29sdmVIb3N0RWxlbWVudFwiLFxuICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9yZXNvbHZlSG9zdEVsZW1lbnQoaG9zdCkge1xuICAgICAgICAgICAgICAgIHZhciBtZXJnZWQgPSBtZXJnZUluRG9tT3JkZXIoe1xuICAgICAgICAgICAgICAgICAgICBsaXN0OiB0aGlzLmVsZW1lbnRzW2hvc3QuX3NvcnRpbmdJZF0sXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzOiB0aGlzLmluSG9zdFtob3N0Ll9zb3J0aW5nSWRdLFxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlRWxlbWVudDogdGhpcy5fcmVzb2x2ZUhvc3RFbGVtZW50LmJpbmQodGhpcylcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB2YXIgX3RhYmluZGV4ID0gdGFiaW5kZXhWYWx1ZShob3N0KTtcbiAgICAgICAgICAgICAgICBpZiAoX3RhYmluZGV4ICE9PSBudWxsICYmIF90YWJpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgICAgICBob3N0XG4gICAgICAgICAgICAgICAgICAgIF0uY29uY2F0KG1lcmdlZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBtZXJnZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogXCJfY2xlYW51cFwiLFxuICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9jbGVhbnVwKCkge1xuICAgICAgICAgICAgICAgIC8vIHJlbW92ZSB0aG9zZSBpZGVudGlmZXJzIHdlIHB1dCBvbiB0aGUgU2hhZG93SG9zdCB0byBhdm9pZCB1c2luZyBNYXAoKVxuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuaG9zdHMpLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmhvc3RzW2tleV0uX3NvcnRpbmdJZDtcbiAgICAgICAgICAgICAgICB9LCB0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIF0pO1xuICAgIHJldHVybiBTaGFkb3dzO1xufSgpO1xuZnVuY3Rpb24gc29ydFNoYWRvd2VkKGVsZW1lbnRzLCBjb250ZXh0LCBzb3J0RWxlbWVudHMpIHtcbiAgICB2YXIgc2hhZG93cyA9IG5ldyBTaGFkb3dzKGNvbnRleHQsIHNvcnRFbGVtZW50cyk7XG4gICAgdmFyIF9lbGVtZW50cyA9IHNoYWRvd3MuZXh0cmFjdEVsZW1lbnRzKGVsZW1lbnRzKTtcbiAgICBpZiAoX2VsZW1lbnRzLmxlbmd0aCA9PT0gZWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgIC8vIG5vIHNoYWRvd2VkIGNvbnRlbnQgZm91bmQsIG5vIG5lZWQgdG8gY29udGludWVcbiAgICAgICAgcmV0dXJuIHNvcnRFbGVtZW50cyhlbGVtZW50cyk7XG4gICAgfVxuICAgIHJldHVybiBzaGFkb3dzLnNvcnQoX2VsZW1lbnRzKTtcbn1cbmZ1bmN0aW9uIHNvcnRUYWJpbmRleChlbGVtZW50cykge1xuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9IVE1MRWxlbWVudC50YWJJbmRleFxuICAgIC8vIGVsZW1lbnRzIHdpdGggdGFiSW5kZXggXCIwXCIgKGluY2x1ZGluZyB0YWJiYWJsZUVsZW1lbnRzIHdpdGhvdXQgdGFiSW5kZXgpIHNob3VsZCBiZSBuYXZpZ2F0ZWQgaW4gdGhlIG9yZGVyIHRoZXkgYXBwZWFyLlxuICAgIC8vIGVsZW1lbnRzIHdpdGggYSBwb3NpdGl2ZSB0YWJJbmRleDpcbiAgICAvLyAgIEVsZW1lbnRzIHRoYXQgaGF2ZSBpZGVudGljYWwgdGFiSW5kZXhlcyBzaG91bGQgYmUgbmF2aWdhdGVkIGluIHRoZSBvcmRlciB0aGV5IGFwcGVhci5cbiAgICAvLyAgIE5hdmlnYXRpb24gcHJvY2VlZHMgZnJvbSB0aGUgbG93ZXN0IHRhYkluZGV4IHRvIHRoZSBoaWdoZXN0IHRhYkluZGV4LlxuICAgIC8vIE5PVEU6IHNvcnQgaW1wbGVtZW50YXRpb24gbWF5IGJlIHVuc3RhYmxlIGFuZCB0aHVzIG1lc3MgdXAgRE9NIG9yZGVyLFxuICAgIC8vIHRoYXQncyB3aHkgd2UgYnVpbGQgYSBtYXAgdGhhdCdzIGJlaW5nIHNvcnRlZCBpbnN0ZWFkLiBJZiB3ZSB3ZXJlIGFibGUgdG8gcmVseVxuICAgIC8vIG9uIGEgc3RhYmxlIHNvcnRpbmcgYWxnb3JpdGhtLCBzb3J0VGFiaW5kZXgoKSBjb3VsZCBiZSBhcyBzaW1wbGUgYXNcbiAgICAvLyBlbGVtZW50cy5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsgcmV0dXJuIGEudGFiSW5kZXggLSBiLnRhYkluZGV4OyB9KTtcbiAgICAvLyBhdCB0aGlzIHRpbWUgQ2hyb21lIGRvZXMgbm90IHVzZSBhIHN0YWJsZSBzb3J0aW5nIGFsZ29yaXRobVxuICAgIC8vIHNlZSBodHRwOi8vYmxvZy5yb2RuZXlyZWhtLmRlL2FyY2hpdmVzLzE0LVNvcnRpbmctV2VyZS1Eb2luZy1JdC1Xcm9uZy5odG1sI3N0YWJpbGl0eVxuICAgIC8vIE5PVEU6IGNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIHNlZW1lZCBsaWtlIG1vcmUgb3ZlcmhlYWQgdGhhbiBqdXN0IHNvcnRpbmcgdGhpcyB3aXRoIGJ1Y2tldHNcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvTm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvblxuICAgIHZhciBtYXAgPSB7fTtcbiAgICB2YXIgaW5kZXhlcyA9IFtdO1xuICAgIHZhciBub3JtYWwgPSBlbGVtZW50cy5maWx0ZXIoZnVuY3Rpb24oZWxlbWVudCkge1xuICAgICAgICAvLyBpbiBUcmlkZW50IGFuZCBHZWNrbyBTVkdFbGVtZW50IGRvZXMgbm90IGtub3cgYWJvdXQgdGhlIHRhYkluZGV4IHByb3BlcnR5XG4gICAgICAgIHZhciB0YWJJbmRleCA9IGVsZW1lbnQudGFiSW5kZXg7XG4gICAgICAgIGlmICh0YWJJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0YWJJbmRleCA9IHRhYmluZGV4VmFsdWUoZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gZXh0cmFjdCBlbGVtZW50cyB0aGF0IGRvbid0IG5lZWQgc29ydGluZ1xuICAgICAgICBpZiAodGFiSW5kZXggPD0gMCB8fCB0YWJJbmRleCA9PT0gbnVsbCB8fCB0YWJJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW1hcFt0YWJJbmRleF0pIHtcbiAgICAgICAgICAgIC8vIGNyZWF0ZSBzb3J0YWJsZSBidWNrZXQgZm9yIGRvbS1vcmRlci1wcmVzZXJ2YXRpb24gb2YgZWxlbWVudHMgd2l0aCB0aGUgc2FtZSB0YWJJbmRleFxuICAgICAgICAgICAgbWFwW3RhYkluZGV4XSA9IFtdO1xuICAgICAgICAgICAgLy8gbWFpbnRhaW4gYSBsaXN0IG9mIHVuaXF1ZSB0YWJJbmRleGVzXG4gICAgICAgICAgICBpbmRleGVzLnB1c2godGFiSW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHNvcnQgZWxlbWVudCBpbnRvIHRoZSBwcm9wZXIgYnVja2V0XG4gICAgICAgIG1hcFt0YWJJbmRleF0ucHVzaChlbGVtZW50KTtcbiAgICAgICAgLy8gZWxlbWVudCBtb3ZlZCB0byBzb3J0aW5nIG1hcCwgc28gbm90IFwibm9ybWFsXCIgYW55bW9yZVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gICAgLy8gc29ydCB0aGUgdGFiaW5kZXggYXNjZW5kaW5nLFxuICAgIC8vIHRoZW4gcmVzb2x2ZSB0aGVtIHRvIHRoZWlyIGFwcHJvcHJpYXRlIGJ1Y2tldHMsXG4gICAgLy8gdGhlbiBmbGF0dGVuIHRoZSBhcnJheSBvZiBhcnJheXMgdG8gYW4gYXJyYXlcbiAgICB2YXIgX2VsZW1lbnRzID0gaW5kZXhlcy5zb3J0KCkubWFwKGZ1bmN0aW9uKHRhYkluZGV4KSB7XG4gICAgICAgIHJldHVybiBtYXBbdGFiSW5kZXhdO1xuICAgIH0pLnJlZHVjZVJpZ2h0KGZ1bmN0aW9uKHByZXZpb3VzLCBjdXJyZW50KSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50LmNvbmNhdChwcmV2aW91cyk7XG4gICAgfSwgbm9ybWFsKTtcbiAgICByZXR1cm4gX2VsZW1lbnRzO1xufVxudmFyIHN1cHBvcnRzJDggPSB2b2lkIDA7XG5mdW5jdGlvbiBtb3ZlQ29udGV4dFRvQmVnaW5uaW5nKGVsZW1lbnRzLCBjb250ZXh0KSB7XG4gICAgdmFyIHBvcyA9IGVsZW1lbnRzLmluZGV4T2YoY29udGV4dCk7XG4gICAgaWYgKHBvcyA+IDApIHtcbiAgICAgICAgdmFyIHRtcCA9IGVsZW1lbnRzLnNwbGljZShwb3MsIDEpO1xuICAgICAgICByZXR1cm4gdG1wLmNvbmNhdChlbGVtZW50cyk7XG4gICAgfVxuICAgIHJldHVybiBlbGVtZW50cztcbn1cbmZ1bmN0aW9uIHNvcnRFbGVtZW50cyhlbGVtZW50cywgX2NvbnRleHQpIHtcbiAgICBpZiAoc3VwcG9ydHMkOC50YWJzZXF1ZW5jZUFyZWFBdEltZ1Bvc2l0aW9uKSB7XG4gICAgICAgIC8vIFNvbWUgYnJvd3NlcnMgc29ydCA8YXJlYT4gaW4gRE9NIG9yZGVyLCBzb21lIHBsYWNlIHRoZSA8YXJlYT5zXG4gICAgICAgIC8vIHdoZXJlIHRoZSA8aW1nPiByZWZlcmVjaW5nIHRoZW0gd291bGQndmUgYmVlbiBpbiBET00gb3JkZXIuXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tZWRpYWxpemUvYWxseS5qcy9pc3N1ZXMvNVxuICAgICAgICBlbGVtZW50cyA9IHNvcnRBcmVhKGVsZW1lbnRzLCBfY29udGV4dCk7XG4gICAgfVxuICAgIGVsZW1lbnRzID0gc29ydFRhYmluZGV4KGVsZW1lbnRzKTtcbiAgICByZXR1cm4gZWxlbWVudHM7XG59XG5mdW5jdGlvbiBxdWVyeVRhYnNlcXVlbmNlKCkge1xuICAgIHZhciBfcmVmID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fSwgY29udGV4dCA9IF9yZWYuY29udGV4dCwgaW5jbHVkZUNvbnRleHQgPSBfcmVmLmluY2x1ZGVDb250ZXh0LCBpbmNsdWRlT25seVRhYmJhYmxlID0gX3JlZi5pbmNsdWRlT25seVRhYmJhYmxlLCBzdHJhdGVneSA9IF9yZWYuc3RyYXRlZ3k7XG4gICAgaWYgKCFzdXBwb3J0cyQ4KSB7XG4gICAgICAgIHN1cHBvcnRzJDggPSBfc3VwcG9ydHMoKTtcbiAgICB9XG4gICAgdmFyIF9jb250ZXh0ID0gbm9kZUFycmF5KGNvbnRleHQpWzBdIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICB2YXIgZWxlbWVudHMgPSBxdWVyeVRhYmJhYmxlKHtcbiAgICAgICAgY29udGV4dDogX2NvbnRleHQsXG4gICAgICAgIGluY2x1ZGVDb250ZXh0OiBpbmNsdWRlQ29udGV4dCxcbiAgICAgICAgaW5jbHVkZU9ubHlUYWJiYWJsZTogaW5jbHVkZU9ubHlUYWJiYWJsZSxcbiAgICAgICAgc3RyYXRlZ3k6IHN0cmF0ZWd5XG4gICAgfSk7XG4gICAgaWYgKGRvY3VtZW50LmJvZHkuY3JlYXRlU2hhZG93Um9vdCAmJiBwbGF0Zm9ybS5pcy5CTElOSykge1xuICAgICAgICAvLyBzb3J0IHRhYmluZGV4IGxvY2FsaXplZCB0byBzaGFkb3cgZG9tXG4gICAgICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWVkaWFsaXplL2FsbHkuanMvaXNzdWVzLzZcbiAgICAgICAgZWxlbWVudHMgPSBzb3J0U2hhZG93ZWQoZWxlbWVudHMsIF9jb250ZXh0LCBzb3J0RWxlbWVudHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnRzID0gc29ydEVsZW1lbnRzKGVsZW1lbnRzLCBfY29udGV4dCk7XG4gICAgfVxuICAgIGlmIChpbmNsdWRlQ29udGV4dCkge1xuICAgICAgICAvLyBpZiB3ZSBpbmNsdWRlIHRoZSBjb250ZXh0IGl0c2VsZiwgaXQgaGFzIHRvIGJlIHRoZSBmaXJzdFxuICAgICAgICAvLyBlbGVtZW50IG9mIHRoZSBzZXF1ZW5jZVxuICAgICAgICBlbGVtZW50cyA9IG1vdmVDb250ZXh0VG9CZWdpbm5pbmcoZWxlbWVudHMsIF9jb250ZXh0KTtcbiAgICB9XG4gICAgcmV0dXJuIGVsZW1lbnRzO1xufVxuLy8gY29kZXMgbW9zdGx5IGNsb25lZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9rZWl0aGFtdXMvandlcnR5L2Jsb2IvbWFzdGVyL2p3ZXJ0eS5qc1xuLy8gZGVsaWJlcmF0ZWx5IG5vdCBleHBvc2luZyBjaGFyYWN0ZXJzIGxpa2UgPCwuLSMqIGJlY2F1c2UgdGhleSB2YXJ5ICp3aWxkbHkqXG4vLyBhY3Jvc3Mga2V5Ym9hcmQgbGF5b3V0cyBhbmQgbWF5IGNhdXNlIHZhcmlvdXMgcHJvYmxlbXNcbi8vIChlLmcuIFwiKlwiIGlzIFwiU2hpZnQgK1wiIG9uIGEgR2VybWFuIE1hYyBrZXlib2FyZClcbi8vIChlLmcuIFwiQFwiIGlzIFwiQWx0IExcIiBvbiBhIEdlcm1hbiBNYWMga2V5Ym9hcmQpXG52YXIga2V5Y29kZSA9IHtcbiAgICAvLyBFbGVtZW50IEZvY3VzXG4gICAgdGFiOiA5LFxuICAgIC8vIE5hdmlnYXRpb25cbiAgICBsZWZ0OiAzNyxcbiAgICB1cDogMzgsXG4gICAgcmlnaHQ6IDM5LFxuICAgIGRvd246IDQwLFxuICAgIHBhZ2VVcDogMzMsXG4gICAgXCJwYWdlLXVwXCI6IDMzLFxuICAgIHBhZ2VEb3duOiAzNCxcbiAgICBcInBhZ2UtZG93blwiOiAzNCxcbiAgICBlbmQ6IDM1LFxuICAgIGhvbWU6IDM2LFxuICAgIC8vIEFjdGlvblxuICAgIGVudGVyOiAxMyxcbiAgICBlc2NhcGU6IDI3LFxuICAgIHNwYWNlOiAzMixcbiAgICAvLyBNb2RpZmllclxuICAgIHNoaWZ0OiAxNixcbiAgICBjYXBzTG9jazogMjAsXG4gICAgXCJjYXBzLWxvY2tcIjogMjAsXG4gICAgY3RybDogMTcsXG4gICAgYWx0OiAxOCxcbiAgICBtZXRhOiA5MSxcbiAgICAvLyBpbiBmaXJlZm94OiAyMjRcbiAgICAvLyBvbiBtYWMgKGNocm9tZSk6IG1ldGEtbGVmdD05MSwgbWV0YS1yaWdodD05M1xuICAgIC8vIG9uIHdpbiAoSUUxMSk6IG1ldGEtbGVmdD05MSwgbWV0YS1yaWdodD05MlxuICAgIHBhdXNlOiAxOSxcbiAgICAvLyBDb250ZW50IE1hbmlwdWxhdGlvblxuICAgIGluc2VydDogNDUsXG4gICAgZGVsZXRlOiA0NixcbiAgICBiYWNrc3BhY2U6IDgsXG4gICAgLy8gdGhlIHNhbWUgbG9naWNhbCBrZXkgbWF5IGJlIGlkZW50aWZpZWQgdGhyb3VnaCBkaWZmZXJlbnQga2V5Q29kZXNcbiAgICBfYWxpYXM6IHtcbiAgICAgICAgOTE6IFtcbiAgICAgICAgICAgIDkyLFxuICAgICAgICAgICAgOTMsXG4gICAgICAgICAgICAyMjRcbiAgICAgICAgXVxuICAgIH1cbn07XG4vLyBGdW5jdGlvbiBrZXlzICgxMTIgLSAxMzcpXG4vLyBOT1RFOiBub3QgZXZlcnkga2V5Ym9hcmQga25vd3MgRjEzK1xuZm9yKHZhciBuID0gMTsgbiA8IDI2OyBuKyspe1xuICAgIGtleWNvZGVbXCJmXCIgKyBuXSA9IG4gKyAxMTE7XG59XG4vLyBOdW1iZXIga2V5cyAoNDgtNTcsIG51bXBhZCA5Ni0xMDUpXG4vLyBOT1RFOiBub3QgZXZlcnkga2V5Ym9hcmQga25vd3MgbnVtLTArXG5mb3IodmFyIF9uID0gMDsgX24gPCAxMDsgX24rKyl7XG4gICAgdmFyIGNvZGUgPSBfbiArIDQ4O1xuICAgIHZhciBudW1Db2RlID0gX24gKyA5NjtcbiAgICBrZXljb2RlW19uXSA9IGNvZGU7XG4gICAga2V5Y29kZVtcIm51bS1cIiArIF9uXSA9IG51bUNvZGU7XG4gICAga2V5Y29kZS5fYWxpYXNbY29kZV0gPSBbXG4gICAgICAgIG51bUNvZGVcbiAgICBdO1xufVxuLy8gTGF0aW4gY2hhcmFjdGVycyAoNjUgLSA5MClcbmZvcih2YXIgX24yID0gMDsgX24yIDwgMjY7IF9uMisrKXtcbiAgICB2YXIgX2NvZGUgPSBfbjIgKyA2NTtcbiAgICB2YXIgbmFtZSQxID0gU3RyaW5nLmZyb21DaGFyQ29kZShfY29kZSkudG9Mb3dlckNhc2UoKTtcbiAgICBrZXljb2RlW25hbWUkMV0gPSBfY29kZTtcbn1cbnZhciBtb2RpZmllciA9IHtcbiAgICBhbHQ6IFwiYWx0S2V5XCIsXG4gICAgY3RybDogXCJjdHJsS2V5XCIsXG4gICAgbWV0YTogXCJtZXRhS2V5XCIsXG4gICAgc2hpZnQ6IFwic2hpZnRLZXlcIlxufTtcbnZhciBtb2RpZmllclNlcXVlbmNlID0gT2JqZWN0LmtleXMobW9kaWZpZXIpLm1hcChmdW5jdGlvbihuYW1lKSB7XG4gICAgcmV0dXJuIG1vZGlmaWVyW25hbWVdO1xufSk7XG5mdW5jdGlvbiBjcmVhdGVFeHBlY3RlZE1vZGlmaWVycyhpZ25vcmVNb2RpZmllcnMpIHtcbiAgICB2YXIgdmFsdWUgPSBpZ25vcmVNb2RpZmllcnMgPyBudWxsIDogZmFsc2U7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgYWx0S2V5OiB2YWx1ZSxcbiAgICAgICAgY3RybEtleTogdmFsdWUsXG4gICAgICAgIG1ldGFLZXk6IHZhbHVlLFxuICAgICAgICBzaGlmdEtleTogdmFsdWVcbiAgICB9O1xufVxuZnVuY3Rpb24gcmVzb2x2ZU1vZGlmaWVycyhtb2RpZmllcnMpIHtcbiAgICB2YXIgaWdub3JlTW9kaWZpZXJzID0gbW9kaWZpZXJzLmluZGV4T2YoXCIqXCIpICE9PSAtMTtcbiAgICB2YXIgZXhwZWN0ZWQgPSBjcmVhdGVFeHBlY3RlZE1vZGlmaWVycyhpZ25vcmVNb2RpZmllcnMpO1xuICAgIG1vZGlmaWVycy5mb3JFYWNoKGZ1bmN0aW9uKHRva2VuKSB7XG4gICAgICAgIGlmICh0b2tlbiA9PT0gXCIqXCIpIHtcbiAgICAgICAgICAgIC8vIHdlJ3ZlIGFscmVhZHkgY292ZXJlZCB0aGUgYWxsLWluIG9wZXJhdG9yXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gd2Ugd2FudCB0aGUgbW9kaWZpZXIgcHJlc3NlZFxuICAgICAgICB2YXIgdmFsdWUgPSB0cnVlO1xuICAgICAgICB2YXIgb3BlcmF0b3IgPSB0b2tlbi5zbGljZSgwLCAxKTtcbiAgICAgICAgaWYgKG9wZXJhdG9yID09PSBcIj9cIikge1xuICAgICAgICAgICAgLy8gd2UgZG9uJ3QgY2FyZSBpZiB0aGUgbW9kaWZpZXIgaXMgcHJlc3NlZFxuICAgICAgICAgICAgdmFsdWUgPSBudWxsO1xuICAgICAgICB9IGVsc2UgaWYgKG9wZXJhdG9yID09PSBcIiFcIikge1xuICAgICAgICAgICAgLy8gd2UgZG8gbm90IHdhbnQgdGhlIG1vZGlmaWVyIHByZXNzZWRcbiAgICAgICAgICAgIHZhbHVlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlICE9PSB0cnVlKSB7XG4gICAgICAgICAgICAvLyBjb21wZW5zYXRlIGZvciB0aGUgbW9kaWZpZXIncyBvcGVyYXRvclxuICAgICAgICAgICAgdG9rZW4gPSB0b2tlbi5zbGljZSgxKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcHJvcGVydHlOYW1lID0gbW9kaWZpZXJbdG9rZW5dO1xuICAgICAgICBpZiAoIXByb3BlcnR5TmFtZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBtb2RpZmllciBcIicgKyB0b2tlbiArICdcIicpO1xuICAgICAgICB9XG4gICAgICAgIGV4cGVjdGVkW3Byb3BlcnR5TmFtZV0gPSB2YWx1ZTtcbiAgICB9KTtcbiAgICByZXR1cm4gZXhwZWN0ZWQ7XG59XG5mdW5jdGlvbiByZXNvbHZlS2V5KGtleSkge1xuICAgIHZhciBjb2RlID0ga2V5Y29kZVtrZXldIHx8IHBhcnNlSW50KGtleSwgMTApO1xuICAgIGlmICghY29kZSB8fCB0eXBlb2YgY29kZSAhPT0gXCJudW1iZXJcIiB8fCBpc05hTihjb2RlKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdVbmtub3duIGtleSBcIicgKyBrZXkgKyAnXCInKTtcbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgICAgY29kZVxuICAgIF0uY29uY2F0KGtleWNvZGUuX2FsaWFzW2NvZGVdIHx8IFtdKTtcbn1cbmZ1bmN0aW9uIG1hdGNoTW9kaWZpZXJzKGV4cGVjdGVkLCBldmVudCkge1xuICAgIC8vIHJldHVybnMgdHJ1ZSBvbiBtYXRjaFxuICAgIHJldHVybiAhbW9kaWZpZXJTZXF1ZW5jZS5zb21lKGZ1bmN0aW9uKHByb3ApIHtcbiAgICAgICAgLy8gcmV0dXJucyB0cnVlIG9uIG1pc21hdGNoXG4gICAgICAgIHJldHVybiB0eXBlb2YgZXhwZWN0ZWRbcHJvcF0gPT09IFwiYm9vbGVhblwiICYmIEJvb2xlYW4oZXZlbnRbcHJvcF0pICE9PSBleHBlY3RlZFtwcm9wXTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGtleUJpbmRpbmcodGV4dCkge1xuICAgIHJldHVybiB0ZXh0LnNwbGl0KC9cXHMrLykubWFwKGZ1bmN0aW9uKF90ZXh0KSB7XG4gICAgICAgIHZhciB0b2tlbnMgPSBfdGV4dC5zcGxpdChcIitcIik7XG4gICAgICAgIHZhciBfbW9kaWZpZXJzID0gcmVzb2x2ZU1vZGlmaWVycyh0b2tlbnMuc2xpY2UoMCwgLTEpKTtcbiAgICAgICAgdmFyIF9rZXlDb2RlcyA9IHJlc29sdmVLZXkodG9rZW5zLnNsaWNlKC0xKSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBrZXlDb2RlczogX2tleUNvZGVzLFxuICAgICAgICAgICAgbW9kaWZpZXJzOiBfbW9kaWZpZXJzLFxuICAgICAgICAgICAgbWF0Y2hNb2RpZmllcnM6IG1hdGNoTW9kaWZpZXJzLmJpbmQobnVsbCwgX21vZGlmaWVycylcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cbi8vIE5vZGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24gaXMgYXZhaWxhYmxlIHNpbmNlIElFOVxuLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9Ob2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uXG4vLyBjYWxsYmFjayByZXR1cm5zIHRydWUgd2hlbiBlbGVtZW50IGlzIGNvbnRhaW5lZCBieSBwYXJlbnQgb3IgaXMgdGhlIHBhcmVudCBzdWl0ZWQgZm9yIHVzZSB3aXRoIEFycmF5LnNvbWUoKVxuLypcbiAgVVNBR0U6XG4gICAgdmFyIGlzQ2hpbGRPZiA9IGdldFBhcmVudENvbXBhcmF0b3Ioe3BhcmVudDogc29tZU5vZGV9KTtcbiAgICBsaXN0T2ZFbGVtZW50cy5zb21lKGlzQ2hpbGRPZilcbiovIGZ1bmN0aW9uIGdldFBhcmVudENvbXBhcmF0b3IoKSB7XG4gICAgdmFyIF9yZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9LCBwYXJlbnQgPSBfcmVmLnBhcmVudCwgZWxlbWVudCA9IF9yZWYuZWxlbWVudCwgaW5jbHVkZVNlbGYgPSBfcmVmLmluY2x1ZGVTZWxmO1xuICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIGlzQ2hpbGRPZihub2RlKSB7XG4gICAgICAgICAgICByZXR1cm4gQm9vbGVhbihpbmNsdWRlU2VsZiAmJiBub2RlID09PSBwYXJlbnQgfHwgcGFyZW50LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG5vZGUpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpO1xuICAgICAgICB9O1xuICAgIH0gZWxzZSBpZiAoZWxlbWVudCkge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gaXNQYXJlbnRPZihub2RlKSB7XG4gICAgICAgICAgICByZXR1cm4gQm9vbGVhbihpbmNsdWRlU2VsZiAmJiBlbGVtZW50ID09PSBub2RlIHx8IG5vZGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZWxlbWVudCkgJiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSk7XG4gICAgICAgIH07XG4gICAgfVxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJ1dGlsL2NvbXBhcmUtcG9zaXRpb24jZ2V0UGFyZW50Q29tcGFyYXRvciByZXF1aXJlZCBlaXRoZXIgb3B0aW9ucy5wYXJlbnQgb3Igb3B0aW9ucy5lbGVtZW50XCIpO1xufVxuLy8gQnVnIDI4NjkzMyAtIEtleSBldmVudHMgaW4gdGhlIGF1dG9jb21wbGV0ZSBwb3B1cCBzaG91bGQgYmUgaGlkZGVuIGZyb20gcGFnZSBzY3JpcHRzXG4vLyBAYnJvd3Nlci1pc3N1ZSBHZWNrbyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0yODY5MzNcbmZ1bmN0aW9uIHdoZW5LZXkoKSB7XG4gICAgdmFyIG1hcCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge307XG4gICAgdmFyIGJpbmRpbmdzID0ge307XG4gICAgdmFyIGNvbnRleHQgPSBub2RlQXJyYXkobWFwLmNvbnRleHQpWzBdIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICBkZWxldGUgbWFwLmNvbnRleHQ7XG4gICAgdmFyIGZpbHRlciA9IG5vZGVBcnJheShtYXAuZmlsdGVyKTtcbiAgICBkZWxldGUgbWFwLmZpbHRlcjtcbiAgICB2YXIgbWFwS2V5cyA9IE9iamVjdC5rZXlzKG1hcCk7XG4gICAgaWYgKCFtYXBLZXlzLmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwid2hlbi9rZXkgcmVxdWlyZXMgYXQgbGVhc3Qgb25lIG9wdGlvbiBrZXlcIik7XG4gICAgfVxuICAgIHZhciByZWdpc3RlckJpbmRpbmcgPSBmdW5jdGlvbiByZWdpc3RlckJpbmRpbmcoZXZlbnQpIHtcbiAgICAgICAgZXZlbnQua2V5Q29kZXMuZm9yRWFjaChmdW5jdGlvbihjb2RlKSB7XG4gICAgICAgICAgICBpZiAoIWJpbmRpbmdzW2NvZGVdKSB7XG4gICAgICAgICAgICAgICAgYmluZGluZ3NbY29kZV0gPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJpbmRpbmdzW2NvZGVdLnB1c2goZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIG1hcEtleXMuZm9yRWFjaChmdW5jdGlvbih0ZXh0KSB7XG4gICAgICAgIGlmICh0eXBlb2YgbWFwW3RleHRdICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ3doZW4va2V5IHJlcXVpcmVzIG9wdGlvbltcIicgKyB0ZXh0ICsgJ1wiXSB0byBiZSBhIGZ1bmN0aW9uJyk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGFkZENhbGxiYWNrID0gZnVuY3Rpb24gYWRkQ2FsbGJhY2soZXZlbnQpIHtcbiAgICAgICAgICAgIGV2ZW50LmNhbGxiYWNrID0gbWFwW3RleHRdO1xuICAgICAgICAgICAgcmV0dXJuIGV2ZW50O1xuICAgICAgICB9O1xuICAgICAgICBrZXlCaW5kaW5nKHRleHQpLm1hcChhZGRDYWxsYmFjaykuZm9yRWFjaChyZWdpc3RlckJpbmRpbmcpO1xuICAgIH0pO1xuICAgIHZhciBoYW5kbGVLZXlEb3duID0gZnVuY3Rpb24gaGFuZGxlS2V5RG93bihldmVudCkge1xuICAgICAgICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmaWx0ZXIubGVuZ3RoKSB7XG4gICAgICAgICAgICAvLyBpZ25vcmUgZWxlbWVudHMgd2l0aGluIHRoZSBleGVtcHRlZCBzdWItdHJlZXNcbiAgICAgICAgICAgIHZhciBpc1BhcmVudE9mRWxlbWVudCA9IGdldFBhcmVudENvbXBhcmF0b3Ioe1xuICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGV2ZW50LnRhcmdldCxcbiAgICAgICAgICAgICAgICBpbmNsdWRlU2VsZjogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoZmlsdGVyLnNvbWUoaXNQYXJlbnRPZkVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHZhciBrZXkgPSBldmVudC5rZXlDb2RlIHx8IGV2ZW50LndoaWNoO1xuICAgICAgICBpZiAoIWJpbmRpbmdzW2tleV0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBiaW5kaW5nc1trZXldLmZvckVhY2goZnVuY3Rpb24oX2V2ZW50KSB7XG4gICAgICAgICAgICBpZiAoIV9ldmVudC5tYXRjaE1vZGlmaWVycyhldmVudCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBfZXZlbnQuY2FsbGJhY2suY2FsbChjb250ZXh0LCBldmVudCwgZGlzZW5nYWdlKTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBjb250ZXh0LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGhhbmRsZUtleURvd24sIGZhbHNlKTtcbiAgICB2YXIgZGlzZW5nYWdlID0gZnVuY3Rpb24gZGlzZW5nYWdlKCkge1xuICAgICAgICBjb250ZXh0LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGhhbmRsZUtleURvd24sIGZhbHNlKTtcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIGRpc2VuZ2FnZTogZGlzZW5nYWdlXG4gICAgfTtcbn1cbmZ1bmN0aW9uIF9kZWZhdWx0KHBhcmFtKSB7XG4gICAgbGV0IHsgY29udGV4dCB9ID0gcGFyYW0gPT09IHZvaWQgMCA/IHt9IDogcGFyYW07XG4gICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICAgIGNvbnRleHQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgfVxuICAgIC8vIE1ha2Ugc3VyZSB0aGUgc3VwcG9ydHMgdGVzdHMgYXJlIHJ1biBiZWZvcmUgaW50ZXJjZXB0aW5nIHRoZSBUYWIga2V5LFxuICAgIC8vIG9yIElFMTAgYW5kIElFMTEgd2lsbCBmYWlsIHRvIHByb2Nlc3MgdGhlIGZpcnN0IFRhYiBrZXkgZXZlbnQuIE5vdFxuICAgIC8vIGxpbWl0aW5nIHRoaXMgd2FybS11cCB0byBJRSBiZWNhdXNlIGl0IG1heSBiZSBhIHByb2JsZW0gZWxzZXdoZXJlLCB0b28uXG4gICAgcXVlcnlUYWJzZXF1ZW5jZSgpO1xuICAgIHJldHVybiB3aGVuS2V5KHtcbiAgICAgICAgLy8gU2FmYXJpIG9uIE9TWCBtYXkgcmVxdWlyZSBBTFQrVEFCIHRvIHJlYWNoIGxpbmtzLFxuICAgICAgICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL21lZGlhbGl6ZS9hbGx5LmpzL2lzc3Vlcy8xNDZcbiAgICAgICAgXCI/YWx0Kz9zaGlmdCt0YWJcIjogZnVuY3Rpb24gYWx0U2hpZnRUYWIoZXZlbnQpIHtcbiAgICAgICAgICAgIC8vIHdlJ3JlIGNvbXBsZXRlbHkgdGFraW5nIG92ZXIgdGhlIFRhYiBrZXkgaGFuZGxpbmdcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB2YXIgc2VxdWVuY2UgPSBxdWVyeVRhYnNlcXVlbmNlKHtcbiAgICAgICAgICAgICAgICBjb250ZXh0OiBjb250ZXh0XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHZhciBiYWNrd2FyZCA9IGV2ZW50LnNoaWZ0S2V5O1xuICAgICAgICAgICAgdmFyIGZpcnN0ID0gc2VxdWVuY2VbMF07XG4gICAgICAgICAgICB2YXIgbGFzdCA9IHNlcXVlbmNlW3NlcXVlbmNlLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgLy8gd3JhcCBhcm91bmQgZmlyc3QgdG8gbGFzdCwgbGFzdCB0byBmaXJzdFxuICAgICAgICAgICAgdmFyIHNvdXJjZSA9IGJhY2t3YXJkID8gZmlyc3QgOiBsYXN0O1xuICAgICAgICAgICAgdmFyIHRhcmdldCA9IGJhY2t3YXJkID8gbGFzdCA6IGZpcnN0O1xuICAgICAgICAgICAgaWYgKGlzQWN0aXZlRWxlbWVudChzb3VyY2UpKSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZmluZCBjdXJyZW50IHBvc2l0aW9uIGluIHRhYnNlcXVlbmNlXG4gICAgICAgICAgICB2YXIgY3VycmVudEluZGV4ID0gdm9pZCAwO1xuICAgICAgICAgICAgdmFyIGZvdW5kID0gc2VxdWVuY2Uuc29tZShmdW5jdGlvbihlbGVtZW50LCBpbmRleCkge1xuICAgICAgICAgICAgICAgIGlmICghaXNBY3RpdmVFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY3VycmVudEluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgICAgICAgICAvLyByZWRpcmVjdCB0byBmaXJzdCBhcyB3ZSdyZSBub3QgaW4gb3VyIHRhYnNlcXVlbmNlXG4gICAgICAgICAgICAgICAgZmlyc3QuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBzaGlmdCBmb2N1cyB0byBwcmV2aW91cy9uZXh0IGVsZW1lbnQgaW4gdGhlIHNlcXVlbmNlXG4gICAgICAgICAgICB2YXIgb2Zmc2V0ID0gYmFja3dhcmQgPyAtMSA6IDE7XG4gICAgICAgICAgICBzZXF1ZW5jZVtjdXJyZW50SW5kZXggKyBvZmZzZXRdLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWFpbnRhaW4tLXRhYi1mb2N1cy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2RlZmF1bHQiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX3BsYXRmb3JtIiwiXyIsIl9jc3Nlc2NhcGUiLCJub2RlQXJyYXkiLCJpbnB1dCIsIkFycmF5IiwiaXNBcnJheSIsIm5vZGVUeXBlIiwidW5kZWZpbmVkIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwibGVuZ3RoIiwic2xpY2UiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiY29udGV4dFRvRWxlbWVudCIsIl9yZWYiLCJjb250ZXh0IiwiX3JlZiRsYWJlbCIsImxhYmVsIiwicmVzb2x2ZURvY3VtZW50IiwiZGVmYXVsdFRvRG9jdW1lbnQiLCJlbGVtZW50IiwiTm9kZSIsIkRPQ1VNRU5UX05PREUiLCJkb2N1bWVudEVsZW1lbnQiLCJFTEVNRU5UX05PREUiLCJET0NVTUVOVF9GUkFHTUVOVF9OT0RFIiwiZ2V0U2hhZG93SG9zdCIsImFyZ3VtZW50cyIsImNvbnRhaW5lciIsInBhcmVudE5vZGUiLCJob3N0IiwiZ2V0RG9jdW1lbnQiLCJub2RlIiwib3duZXJEb2N1bWVudCIsImlzQWN0aXZlRWxlbWVudCIsIl9kb2N1bWVudCIsImFjdGl2ZUVsZW1lbnQiLCJzaGFkb3dIb3N0Iiwic2hhZG93Um9vdCIsImdldFBhcmVudHMiLCJsaXN0IiwicHVzaCIsIm5hbWVzIiwibmFtZSIsImZpbmRNZXRob2ROYW1lIiwic29tZSIsIl9uYW1lIiwiZWxlbWVudE1hdGNoZXMiLCJzZWxlY3RvciIsInBsYXRmb3JtIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwiZGVmYXVsdCIsIm9zIiwiZmFtaWx5IiwiQU5EUk9JRCIsIldJTkRPV1MiLCJPU1giLCJJT1MiLCJCTElOSyIsImxheW91dCIsIkdFQ0tPIiwiVFJJREVOVCIsIkVER0UiLCJXRUJLSVQiLCJ2ZXJzaW9uIiwicGFyc2VGbG9hdCIsIm1ham9yVmVyc2lvbiIsIk1hdGgiLCJmbG9vciIsImlzIiwiSUU5IiwiSUUxMCIsIklFMTEiLCJiZWZvcmUiLCJkYXRhIiwid2luZG93U2Nyb2xsVG9wIiwid2luZG93Iiwic2Nyb2xsVG9wIiwid2luZG93U2Nyb2xsTGVmdCIsInNjcm9sbExlZnQiLCJib2R5U2Nyb2xsVG9wIiwiYm9keSIsImJvZHlTY3JvbGxMZWZ0IiwiaWZyYW1lIiwiY3JlYXRlRWxlbWVudCIsInNldEF0dHJpYnV0ZSIsImFwcGVuZENoaWxkIiwiX3dpbmRvdyIsImNvbnRlbnRXaW5kb3ciLCJvcGVuIiwiY2xvc2UiLCJ3cmFwcGVyIiwidGVzdCIsIm9wdGlvbnMiLCJpbm5lckhUTUwiLCJmb2N1cyIsIm11dGF0ZSIsInZhbGlkYXRlIiwiYWZ0ZXIiLCJibHVyIiwicmVtb3ZlQ2hpbGQiLCJkZXRlY3RGb2N1cyIsInRlc3RzIiwicmVzdWx0cyIsImtleXMiLCJtYXAiLCJrZXkiLCJ2ZXJzaW9uJDEiLCJyZWFkTG9jYWxTdG9yYWdlIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsImUiLCJ3cml0ZUxvY2FsU3RvcmFnZSIsImhhc0ZvY3VzIiwicmVtb3ZlSXRlbSIsInNldEl0ZW0iLCJ1c2VyQWdlbnQiLCJuYXZpZ2F0b3IiLCJjYWNoZUtleSIsImNhY2hlIiwiY2FjaGUkMSIsInNldCIsInZhbHVlcyIsImZvckVhY2giLCJ0aW1lIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwiY3NzU2hhZG93UGllcmNpbmdEZWVwQ29tYmluYXRvciIsImNvbWJpbmF0b3IiLCJxdWVyeVNlbGVjdG9yIiwibm9BcnJvd0Fycm93QXJyb3ciLCJub0RlZXAiLCJnaWYiLCJmb2N1c0FyZWFJbWdUYWJpbmRleCIsImZvY3VzQXJlYVRhYmluZGV4IiwiZm9jdXNUYXJnZXQiLCJmb2N1c0FyZWFXaXRob3V0SHJlZiIsImZvY3VzQXVkaW9XaXRob3V0Q29udHJvbHMiLCJpbnZhbGlkR2lmIiwiZm9jdXNCcm9rZW5JbWFnZU1hcCIsImZvY3VzQ2hpbGRyZW5PZkZvY3VzYWJsZUZsZXhib3giLCJmb2N1c0ZpZWxkc2V0RGlzYWJsZWQiLCJmb2N1c0ZpZWxkc2V0IiwiZm9jdXNGbGV4Ym94Q29udGFpbmVyIiwiZm9jdXNGb3JtRGlzYWJsZWQiLCJmb2N1c0ltZ0lzbWFwIiwiaHJlZiIsImZvY3VzSW1nVXNlbWFwVGFiaW5kZXgiLCJmb2N1c0luSGlkZGVuSWZyYW1lIiwiaWZyYW1lRG9jdW1lbnQiLCJzdHlsZSIsInZpc2liaWxpdHkiLCJyZXN1bHQiLCJmb2N1c0luWmVyb0RpbWVuc2lvbk9iamVjdCIsImZvY3VzSW52YWxpZFRhYmluZGV4IiwiZm9jdXNMYWJlbFRhYmluZGV4IiwidmFyaWFibGVUb1ByZXZlbnREZWFkQ29kZUVsaW1pbmF0aW9uIiwib2Zmc2V0SGVpZ2h0Iiwic3ZnIiwiZm9jdXNPYmplY3RTdmdIaWRkZW4iLCJmb2N1c09iamVjdFN2ZyIsInJlc3VsdCQxIiwiZm9jdXNPYmplY3RTd2YiLCJmb2N1c1JlZGlyZWN0SW1nVXNlbWFwIiwidGFyZ2V0IiwiZm9jdXNSZWRpcmVjdExlZ2VuZCIsImZvY3VzYWJsZSIsInRhYmJhYmxlIiwiZm9jdXNTY3JvbGxCb2R5IiwiZm9jdXNTY3JvbGxDb250YWluZXJXaXRob3V0T3ZlcmZsb3ciLCJmb2N1c1Njcm9sbENvbnRhaW5lciIsImZvY3VzU3VtbWFyeSIsImZpcnN0RWxlbWVudENoaWxkIiwibWFrZUZvY3VzYWJsZUZvcmVpZ25PYmplY3QiLCJmb3JlaWduT2JqZWN0IiwiY3JlYXRlRWxlbWVudE5TIiwid2lkdGgiLCJiYXNlVmFsIiwiaGVpZ2h0IiwibGFzdENoaWxkIiwidHlwZSIsImZvY3VzU3ZnRm9yZWlnbk9iamVjdEhhY2siLCJpc1N2Z0VsZW1lbnQiLCJvd25lclNWR0VsZW1lbnQiLCJub2RlTmFtZSIsInRvTG93ZXJDYXNlIiwiZGlzYWJsZWQiLCJnZW5lcmF0ZSIsIkhUTUxFbGVtZW50IiwicHJvdG90eXBlIiwiZm9jdXNTdmdGb2N1c2FibGVBdHRyaWJ1dGUiLCJmb2N1c1N2Z1RhYmluZGV4QXR0cmlidXRlIiwiZm9jdXNTdmdOZWdhdGl2ZVRhYmluZGV4QXR0cmlidXRlIiwiZm9jdXNTdmdVc2VUYWJpbmRleCIsImpvaW4iLCJmb2N1c1N2Z0ZvcmVpZ25vYmplY3RUYWJpbmRleCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwicmVzdWx0JDIiLCJCb29sZWFuIiwiU1ZHRWxlbWVudCIsImZvY3VzU3ZnSW5JZnJhbWUiLCJmb2N1c1N2ZyIsImZpcnN0Q2hpbGQiLCJmb2N1c1RhYmluZGV4VHJhaWxpbmdDaGFyYWN0ZXJzIiwiZm9jdXNUYWJsZSIsImZyYWdtZW50IiwiY3JlYXRlRG9jdW1lbnRGcmFnbWVudCIsImZvY3VzVmlkZW9XaXRob3V0Q29udHJvbHMiLCJyZXN1bHQkMyIsInRhYnNlcXVlbmNlQXJlYUF0SW1nUG9zaXRpb24iLCJ0ZXN0Q2FsbGJhY2tzIiwidGVzdERlc2NyaXB0aW9ucyIsImV4ZWN1dGVUZXN0cyIsInN1cHBvcnRzQ2FjaGUiLCJfc3VwcG9ydHMiLCJzdXBwb3J0cyIsInZhbGlkSW50ZWdlclBhdHRlcm5Ob1RyYWlsaW5nIiwidmFsaWRJbnRlZ2VyUGF0dGVybldpdGhUcmFpbGluZyIsImlzVmFsaWRUYWJpbmRleCIsInZhbGlkSW50ZWdlclBhdHRlcm4iLCJoYXNUYWJpbmRleCIsImhhc0F0dHJpYnV0ZSIsImhhc1RhYkluZGV4IiwidGFiaW5kZXgiLCJnZXRBdHRyaWJ1dGUiLCJ0YWJpbmRleFZhbHVlIiwiYXR0cmlidXRlTmFtZSIsInBhcnNlSW50IiwiaXNOYU4iLCJpc1VzZXJNb2RpZnlXcml0YWJsZSIsInVzZXJNb2RpZnkiLCJ3ZWJraXRVc2VyTW9kaWZ5IiwiaW5kZXhPZiIsImhhc0Nzc092ZXJmbG93U2Nyb2xsIiwiZ2V0UHJvcGVydHlWYWx1ZSIsIm92ZXJmbG93IiwiaGFzQ3NzRGlzcGxheUZsZXgiLCJkaXNwbGF5IiwiaXNTY3JvbGxhYmxlQ29udGFpbmVyIiwicGFyZW50Tm9kZU5hbWUiLCJwYXJlbnRTdHlsZSIsInNjcm9sbEhlaWdodCIsIm9mZnNldFdpZHRoIiwic2Nyb2xsV2lkdGgiLCJzdXBwb3J0cyQxIiwiaXNGb2N1c1JlbGV2YW50UnVsZXMiLCJfcmVmJGV4Y2VwdCIsImV4Y2VwdCIsImZsZXhib3giLCJzY3JvbGxhYmxlIiwic2hhZG93Iiwic3ZnVHlwZSIsInZhbGlkVGFiaW5kZXgiLCJpc1N2Z0NvbnRlbnQiLCJmb2N1c2FibGVBdHRyaWJ1dGUiLCJnZXRDb21wdXRlZFN0eWxlIiwiaGFzTGlua1BhcmVudCIsInBhcmVudCIsInBhcmVudEVsZW1lbnQiLCJpc0ZvY3VzUmVsZXZhbnQiLCJydWxlcyIsImZpbmRJbmRleCIsImFycmF5IiwiY2FsbGJhY2siLCJpIiwiZ2V0Q29udGVudERvY3VtZW50IiwiY29udGVudERvY3VtZW50IiwiZ2V0U1ZHRG9jdW1lbnQiLCJnZXRXaW5kb3ciLCJkZWZhdWx0VmlldyIsInNoYWRvd1ByZWZpeCIsInNlbGVjdEluU2hhZG93cyIsIm9wZXJhdG9yIiwicmVwbGFjZSIsInNwbGl0IiwiZmluZERvY3VtZW50SG9zdEVsZW1lbnQiLCJfZnJhbWVFbGVtZW50IiwicG90ZW50aWFsSG9zdHMiLCJnZXRGcmFtZUVsZW1lbnQiLCJmcmFtZUVsZW1lbnQiLCJub3RSZW5kZXJlZEVsZW1lbnRzUGF0dGVybiIsImNvbXB1dGVkU3R5bGUiLCJwcm9wZXJ0eSIsIm5vdERpc3BsYXllZCIsIl9wYXRoIiwibm90VmlzaWJsZSIsImhpZGRlbiIsInZpc2libGUiLCJjb2xsYXBzZWRQYXJlbnQiLCJvZmZzZXQiLCJpc1Zpc2libGVSdWxlcyIsIm5vdFJlbmRlcmVkIiwiY3NzRGlzcGxheSIsImNzc1Zpc2liaWxpdHkiLCJkZXRhaWxzRWxlbWVudCIsImJyb3dzaW5nQ29udGV4dCIsImlzQXVkaW9XaXRob3V0Q29udHJvbHMiLCJfaXNWaXNpYmxlIiwiaXNWaXNpYmxlIiwiZ2V0TWFwQnlOYW1lIiwiZ2V0SW1hZ2VPZkFyZWEiLCJzdXBwb3J0cyQyIiwiaXNWYWxpZEFyZWEiLCJpbWciLCJjb21wbGV0ZSIsIm5hdHVyYWxIZWlnaHQiLCJjaGlsZE9mSW50ZXJhY3RpdmUiLCJfZWxlbWVudCIsInN1cHBvcnRzJDMiLCJkaXNhYmxlZEVsZW1lbnRzUGF0dGVybiIsImRpc2FibGVkRWxlbWVudHMiLCJzZWxlY3QiLCJ0ZXh0YXJlYSIsImJ1dHRvbiIsImZpZWxkc2V0IiwiZm9ybSIsImlzTmF0aXZlRGlzYWJsZWRTdXBwb3J0ZWQiLCJSZWdFeHAiLCJzdXBwb3J0cyQ0IiwiaXNEaXNhYmxlZEZpZWxkc2V0IiwiaXNEaXNhYmxlZEZvcm0iLCJpc0Rpc2FibGVkIiwicGFyZW50cyIsImlzT25seVRhYmJhYmxlUnVsZXMiLCJvbmx5Rm9jdXNhYmxlQnJvd3NpbmdDb250ZXh0IiwiaXNPbmx5VGFiYmFibGUiLCJzdXBwb3J0cyQ1IiwiaXNPbmx5Rm9jdXNSZWxldmFudCIsIl90YWJpbmRleCIsImlzRm9jdXNhYmxlUnVsZXMiLCJvbmx5VGFiYmFibGUiLCJfaXNPbmx5VGFiYmFibGUiLCJmb2N1c1JlbGV2YW50IiwidmlzaWJpbGl0eU9wdGlvbnMiLCJfbm9kZU5hbWUyIiwiX25vZGVOYW1lIiwiaXNGb2N1c2FibGUiLCJjcmVhdGVGaWx0ZXIiLCJjb25kaXRpb24iLCJmaWx0ZXIiLCJOb2RlRmlsdGVyIiwiRklMVEVSX0FDQ0VQVCIsIkZJTFRFUl9TS0lQIiwiYWNjZXB0Tm9kZSIsIlBvc3NpYmx5Rm9jdXNhYmxlRmlsdGVyIiwicXVlcnlGb2N1c2FibGVTdHJpY3QiLCJpbmNsdWRlQ29udGV4dCIsImluY2x1ZGVPbmx5VGFiYmFibGUiLCJzdHJhdGVneSIsIl9pc0ZvY3VzYWJsZSIsIndhbGtlciIsImNyZWF0ZVRyZWVXYWxrZXIiLCJTSE9XX0VMRU1FTlQiLCJuZXh0Tm9kZSIsImN1cnJlbnROb2RlIiwiY29uY2F0IiwidW5zaGlmdCIsInN1cHBvcnRzJDYiLCJzZWxlY3RvciQxIiwic2VsZWN0b3IkMiIsInF1ZXJ5Rm9jdXNhYmxlUXVpY2siLCJfc2VsZWN0b3IiLCJlbGVtZW50cyIsInF1ZXJ5Rm9jdXNhYmxlIiwiX3JlZiRzdHJhdGVneSIsInN1cHBvcnRzJDciLCJmb2N1c2FibGVFbGVtZW50c1BhdHRlcm4iLCJpc1RhYmJhYmxlUnVsZXMiLCJmcmFtZU5vZGVOYW1lIiwiaXNGaXhlZEJsaW5rIiwiaGFzVGFiYmFibGVUYWJpbmRleE9yTm9uZSIsImhhc1RhYmJhYmxlVGFiaW5kZXgiLCJwb3RlbnRpYWxseVRhYmJhYmxlIiwidGFiSW5kZXgiLCJfc3R5bGUiLCJfc3R5bGUyIiwiaXNGb2N1c1JlbGV2YW50V2l0aG91dEZsZXhib3giLCJpc1RhYmJhYmxlV2l0aG91dEZsZXhib3giLCJpc1RhYmJhYmxlIiwicXVlcnlUYWJiYWJsZSIsIl9pc1RhYmJhYmxlIiwiY29tcGFyZURvbVBvc2l0aW9uIiwiYSIsImIiLCJjb21wYXJlRG9jdW1lbnRQb3NpdGlvbiIsIkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyIsInNvcnREb21PcmRlciIsInNvcnQiLCJnZXRGaXJzdFN1Y2Nlc3Nvck9mZnNldCIsImZpbmRJbnNlcnRpb25PZmZzZXRzIiwicmVzb2x2ZUVsZW1lbnQiLCJpbnNlcnRpb25zIiwiaW5qZWN0aW9ucyIsImluc2VydEVsZW1lbnRzQXRPZmZzZXRzIiwiaW5zZXJ0ZWQiLCJpbnNlcnRpb24iLCJyZW1vdmUiLCJhcmdzIiwic3BsaWNlIiwiYXBwbHkiLCJtZXJnZUluRG9tT3JkZXIiLCJfbGlzdCIsIl9lbGVtZW50cyIsIl9jcmVhdGVDbGFzcyIsImRlZmluZVByb3BlcnRpZXMiLCJwcm9wcyIsImRlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIkNvbnN0cnVjdG9yIiwicHJvdG9Qcm9wcyIsInN0YXRpY1Byb3BzIiwiX2NsYXNzQ2FsbENoZWNrIiwiaW5zdGFuY2UiLCJNYXBzIiwibWFwcyIsImdldEFyZWFzRm9yIiwiYWRkTWFwQnlOYW1lIiwiZXh0cmFjdEFyZWFzRnJvbUxpc3QiLCJzb3J0QXJlYSIsInVzZW1hcHMiLCJpbWFnZSIsIl9jcmVhdGVDbGFzcyQxIiwiX2NsYXNzQ2FsbENoZWNrJDEiLCJTaGFkb3dzIiwic29ydEVsZW1lbnRzIiwiaG9zdENvdW50ZXIiLCJpbkhvc3QiLCJpbkRvY3VtZW50IiwiaG9zdHMiLCJfcmVnaXN0ZXJIb3N0IiwiX3NvcnRpbmdJZCIsInBhcmVudEhvc3QiLCJfcmVnaXN0ZXJIb3N0UGFyZW50IiwiX3JlZ2lzdGVyRWxlbWVudCIsImV4dHJhY3RFbGVtZW50cyIsIl9pbmplY3RIb3N0cyIsIl9yZXBsYWNlSG9zdHMiLCJfY2xlYW51cCIsIl9jb250ZXh0IiwiX21lcmdlIiwibWVyZ2VkIiwiX3Jlc29sdmVIb3N0RWxlbWVudCIsImJpbmQiLCJzb3J0U2hhZG93ZWQiLCJzaGFkb3dzIiwic29ydFRhYmluZGV4IiwiaW5kZXhlcyIsIm5vcm1hbCIsInJlZHVjZVJpZ2h0IiwicHJldmlvdXMiLCJjdXJyZW50Iiwic3VwcG9ydHMkOCIsIm1vdmVDb250ZXh0VG9CZWdpbm5pbmciLCJwb3MiLCJ0bXAiLCJxdWVyeVRhYnNlcXVlbmNlIiwiY3JlYXRlU2hhZG93Um9vdCIsImtleWNvZGUiLCJ0YWIiLCJsZWZ0IiwidXAiLCJyaWdodCIsImRvd24iLCJwYWdlVXAiLCJwYWdlRG93biIsImVuZCIsImhvbWUiLCJlbnRlciIsImVzY2FwZSIsInNwYWNlIiwic2hpZnQiLCJjYXBzTG9jayIsImN0cmwiLCJhbHQiLCJtZXRhIiwicGF1c2UiLCJpbnNlcnQiLCJkZWxldGUiLCJiYWNrc3BhY2UiLCJfYWxpYXMiLCJuIiwiX24iLCJjb2RlIiwibnVtQ29kZSIsIl9uMiIsIl9jb2RlIiwibmFtZSQxIiwiZnJvbUNoYXJDb2RlIiwibW9kaWZpZXIiLCJtb2RpZmllclNlcXVlbmNlIiwiY3JlYXRlRXhwZWN0ZWRNb2RpZmllcnMiLCJpZ25vcmVNb2RpZmllcnMiLCJhbHRLZXkiLCJjdHJsS2V5IiwibWV0YUtleSIsInNoaWZ0S2V5IiwicmVzb2x2ZU1vZGlmaWVycyIsIm1vZGlmaWVycyIsImV4cGVjdGVkIiwidG9rZW4iLCJwcm9wZXJ0eU5hbWUiLCJyZXNvbHZlS2V5IiwibWF0Y2hNb2RpZmllcnMiLCJldmVudCIsInByb3AiLCJrZXlCaW5kaW5nIiwidGV4dCIsIl90ZXh0IiwidG9rZW5zIiwiX21vZGlmaWVycyIsIl9rZXlDb2RlcyIsImtleUNvZGVzIiwiZ2V0UGFyZW50Q29tcGFyYXRvciIsImluY2x1ZGVTZWxmIiwiaXNDaGlsZE9mIiwiRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZIiwiaXNQYXJlbnRPZiIsIndoZW5LZXkiLCJiaW5kaW5ncyIsIm1hcEtleXMiLCJyZWdpc3RlckJpbmRpbmciLCJhZGRDYWxsYmFjayIsImhhbmRsZUtleURvd24iLCJkZWZhdWx0UHJldmVudGVkIiwiaXNQYXJlbnRPZkVsZW1lbnQiLCJrZXlDb2RlIiwid2hpY2giLCJfZXZlbnQiLCJkaXNlbmdhZ2UiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInBhcmFtIiwiYWx0U2hpZnRUYWIiLCJwcmV2ZW50RGVmYXVsdCIsInNlcXVlbmNlIiwiYmFja3dhcmQiLCJmaXJzdCIsImxhc3QiLCJzb3VyY2UiLCJjdXJyZW50SW5kZXgiLCJmb3VuZCIsImluZGV4IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js ***! \**********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog-overlay] {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n overflow: auto;\\n z-index: 9000;\\n\\n display: flex;\\n align-content: center;\\n align-items: center;\\n flex-direction: column;\\n padding: 10vh 15px 0;\\n }\\n\\n @media (max-height: 812px) {\\n [data-nextjs-dialog-overlay] {\\n padding: 15px 15px 0;\\n }\\n }\\n\\n [data-nextjs-dialog-backdrop] {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n background-color: rgba(17, 17, 17, 0.2);\\n pointer-events: all;\\n z-index: -1;\\n }\\n\\n [data-nextjs-dialog-backdrop-fixed] {\\n cursor: not-allowed;\\n -webkit-backdrop-filter: blur(8px);\\n backdrop-filter: blur(8px);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9zdHlsZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDBDQUF5QztJQUNyQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGlDQUFpQ0MsbUJBQU9BLENBQUMsOEhBQStDO0FBQzlGLE1BQU1DLGdCQUFnQkQsbUJBQU9BLENBQUMseUlBQTZCO0FBQzNELFNBQVNFO0lBQ0wsTUFBTUMsT0FBT0osK0JBQStCSyxDQUFDLENBQUM7UUFDMUM7S0FDSDtJQUNERixrQkFBa0I7UUFDZCxPQUFPQztJQUNYO0lBQ0EsT0FBT0E7QUFDWDtBQUNBLE1BQU1MLFNBQVMsQ0FBQyxHQUFHRyxjQUFjSSxJQUFJLEVBQUVIO0FBRXZDLElBQUksQ0FBQyxPQUFPUixRQUFRWSxPQUFPLEtBQUssY0FBZSxPQUFPWixRQUFRWSxPQUFPLEtBQUssWUFBWVosUUFBUVksT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPWixRQUFRWSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLZixPQUFPQyxjQUFjLENBQUNDLFFBQVFZLE9BQU8sRUFBRSxjQUFjO1FBQUVYLE9BQU87SUFBSztJQUNuRUgsT0FBT2dCLE1BQU0sQ0FBQ2QsUUFBUVksT0FBTyxFQUFFWjtJQUMvQmUsT0FBT2YsT0FBTyxHQUFHQSxRQUFRWSxPQUFPO0FBQ2xDLEVBRUEsa0NBQWtDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL092ZXJsYXkvc3R5bGVzLmpzP2UyYjEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzdHlsZXNcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICB9XG59KTtcbmNvbnN0IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2VcIik7XG5jb25zdCBfbm9vcHRlbXBsYXRlID0gcmVxdWlyZShcIi4uLy4uL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZVwiKTtcbmZ1bmN0aW9uIF90ZW1wbGF0ZU9iamVjdCgpIHtcbiAgICBjb25zdCBkYXRhID0gX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlLl8oW1xuICAgICAgICBcIlxcbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1vdmVybGF5XSB7XFxuICAgIHBvc2l0aW9uOiBmaXhlZDtcXG4gICAgdG9wOiAwO1xcbiAgICByaWdodDogMDtcXG4gICAgYm90dG9tOiAwO1xcbiAgICBsZWZ0OiAwO1xcbiAgICBvdmVyZmxvdzogYXV0bztcXG4gICAgei1pbmRleDogOTAwMDtcXG5cXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBwYWRkaW5nOiAxMHZoIDE1cHggMDtcXG4gIH1cXG5cXG4gIEBtZWRpYSAobWF4LWhlaWdodDogODEycHgpIHtcXG4gICAgW2RhdGEtbmV4dGpzLWRpYWxvZy1vdmVybGF5XSB7XFxuICAgICAgcGFkZGluZzogMTVweCAxNXB4IDA7XFxuICAgIH1cXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctYmFja2Ryb3BdIHtcXG4gICAgcG9zaXRpb246IGZpeGVkO1xcbiAgICB0b3A6IDA7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICBib3R0b206IDA7XFxuICAgIGxlZnQ6IDA7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDE3LCAxNywgMC4yKTtcXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcXG4gICAgei1pbmRleDogLTE7XFxuICB9XFxuXFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWJhY2tkcm9wLWZpeGVkXSB7XFxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XFxuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XFxuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xcbiAgfVxcblwiXG4gICAgXSk7XG4gICAgX3RlbXBsYXRlT2JqZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH07XG4gICAgcmV0dXJuIGRhdGE7XG59XG5jb25zdCBzdHlsZXMgPSAoMCwgX25vb3B0ZW1wbGF0ZS5ub29wKShfdGVtcGxhdGVPYmplY3QoKSk7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic3R5bGVzIiwiX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlIiwicmVxdWlyZSIsIl9ub29wdGVtcGxhdGUiLCJfdGVtcGxhdGVPYmplY3QiLCJkYXRhIiwiXyIsIm5vb3AiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js": /*!********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js ***! \********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ShadowPortal\", ({\n enumerable: true,\n get: function() {\n return ShadowPortal;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _reactdom = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\");\nfunction ShadowPortal(param) {\n let { children } = param;\n let portalNode = _react.useRef(null);\n let shadowNode = _react.useRef(null);\n let [, forceUpdate] = _react.useState();\n _react.useLayoutEffect(()=>{\n const ownerDocument = document;\n portalNode.current = ownerDocument.createElement(\"nextjs-portal\");\n shadowNode.current = portalNode.current.attachShadow({\n mode: \"open\"\n });\n ownerDocument.body.appendChild(portalNode.current);\n forceUpdate({});\n return ()=>{\n if (portalNode.current && portalNode.current.ownerDocument) {\n portalNode.current.ownerDocument.body.removeChild(portalNode.current);\n }\n };\n }, []);\n return shadowNode.current ? /*#__PURE__*/ (0, _reactdom.createPortal)(children, shadowNode.current) : null;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ShadowPortal.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvU2hhZG93UG9ydGFsLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxnREFBK0M7SUFDM0NJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyw0QkFBNEJDLG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNQyxTQUFTLFdBQVcsR0FBR0YsMEJBQTBCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1HLFlBQVlILG1CQUFPQSxDQUFDLGdIQUFXO0FBQ3JDLFNBQVNGLGFBQWFNLEtBQUs7SUFDdkIsSUFBSSxFQUFFQyxRQUFRLEVBQUUsR0FBR0Q7SUFDbkIsSUFBSUUsYUFBYUwsT0FBT00sTUFBTSxDQUFDO0lBQy9CLElBQUlDLGFBQWFQLE9BQU9NLE1BQU0sQ0FBQztJQUMvQixJQUFJLEdBQUdFLFlBQVksR0FBR1IsT0FBT1MsUUFBUTtJQUNyQ1QsT0FBT1UsZUFBZSxDQUFDO1FBQ25CLE1BQU1DLGdCQUFnQkM7UUFDdEJQLFdBQVdRLE9BQU8sR0FBR0YsY0FBY0csYUFBYSxDQUFDO1FBQ2pEUCxXQUFXTSxPQUFPLEdBQUdSLFdBQVdRLE9BQU8sQ0FBQ0UsWUFBWSxDQUFDO1lBQ2pEQyxNQUFNO1FBQ1Y7UUFDQUwsY0FBY00sSUFBSSxDQUFDQyxXQUFXLENBQUNiLFdBQVdRLE9BQU87UUFDakRMLFlBQVksQ0FBQztRQUNiLE9BQU87WUFDSCxJQUFJSCxXQUFXUSxPQUFPLElBQUlSLFdBQVdRLE9BQU8sQ0FBQ0YsYUFBYSxFQUFFO2dCQUN4RE4sV0FBV1EsT0FBTyxDQUFDRixhQUFhLENBQUNNLElBQUksQ0FBQ0UsV0FBVyxDQUFDZCxXQUFXUSxPQUFPO1lBQ3hFO1FBQ0o7SUFDSixHQUFHLEVBQUU7SUFDTCxPQUFPTixXQUFXTSxPQUFPLEdBQWlCLFdBQUgsR0FBSSxJQUFHWCxVQUFVa0IsWUFBWSxFQUFFaEIsVUFBVUcsV0FBV00sT0FBTyxJQUFJO0FBQzFHO0FBRUEsSUFBSSxDQUFDLE9BQU9wQixRQUFRNEIsT0FBTyxLQUFLLGNBQWUsT0FBTzVCLFFBQVE0QixPQUFPLEtBQUssWUFBWTVCLFFBQVE0QixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU81QixRQUFRNEIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySy9CLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTRCLE9BQU8sRUFBRSxjQUFjO1FBQUUzQixPQUFPO0lBQUs7SUFDbkVILE9BQU9nQyxNQUFNLENBQUM5QixRQUFRNEIsT0FBTyxFQUFFNUI7SUFDL0IrQixPQUFPL0IsT0FBTyxHQUFHQSxRQUFRNEIsT0FBTztBQUNsQyxFQUVBLHdDQUF3QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9TaGFkb3dQb3J0YWwuanM/MWYxMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlNoYWRvd1BvcnRhbFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU2hhZG93UG9ydGFsO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9yZWFjdGRvbSA9IHJlcXVpcmUoXCJyZWFjdC1kb21cIik7XG5mdW5jdGlvbiBTaGFkb3dQb3J0YWwocGFyYW0pIHtcbiAgICBsZXQgeyBjaGlsZHJlbiB9ID0gcGFyYW07XG4gICAgbGV0IHBvcnRhbE5vZGUgPSBfcmVhY3QudXNlUmVmKG51bGwpO1xuICAgIGxldCBzaGFkb3dOb2RlID0gX3JlYWN0LnVzZVJlZihudWxsKTtcbiAgICBsZXQgWywgZm9yY2VVcGRhdGVdID0gX3JlYWN0LnVzZVN0YXRlKCk7XG4gICAgX3JlYWN0LnVzZUxheW91dEVmZmVjdCgoKT0+e1xuICAgICAgICBjb25zdCBvd25lckRvY3VtZW50ID0gZG9jdW1lbnQ7XG4gICAgICAgIHBvcnRhbE5vZGUuY3VycmVudCA9IG93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChcIm5leHRqcy1wb3J0YWxcIik7XG4gICAgICAgIHNoYWRvd05vZGUuY3VycmVudCA9IHBvcnRhbE5vZGUuY3VycmVudC5hdHRhY2hTaGFkb3coe1xuICAgICAgICAgICAgbW9kZTogXCJvcGVuXCJcbiAgICAgICAgfSk7XG4gICAgICAgIG93bmVyRG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwb3J0YWxOb2RlLmN1cnJlbnQpO1xuICAgICAgICBmb3JjZVVwZGF0ZSh7fSk7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgaWYgKHBvcnRhbE5vZGUuY3VycmVudCAmJiBwb3J0YWxOb2RlLmN1cnJlbnQub3duZXJEb2N1bWVudCkge1xuICAgICAgICAgICAgICAgIHBvcnRhbE5vZGUuY3VycmVudC5vd25lckRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQocG9ydGFsTm9kZS5jdXJyZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIHNoYWRvd05vZGUuY3VycmVudCA/IC8qI19fUFVSRV9fKi8gKDAsIF9yZWFjdGRvbS5jcmVhdGVQb3J0YWwpKGNoaWxkcmVuLCBzaGFkb3dOb2RlLmN1cnJlbnQpIDogbnVsbDtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U2hhZG93UG9ydGFsLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJTaGFkb3dQb3J0YWwiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdCIsIl8iLCJfcmVhY3Rkb20iLCJwYXJhbSIsImNoaWxkcmVuIiwicG9ydGFsTm9kZSIsInVzZVJlZiIsInNoYWRvd05vZGUiLCJmb3JjZVVwZGF0ZSIsInVzZVN0YXRlIiwidXNlTGF5b3V0RWZmZWN0Iiwib3duZXJEb2N1bWVudCIsImRvY3VtZW50IiwiY3VycmVudCIsImNyZWF0ZUVsZW1lbnQiLCJhdHRhY2hTaGFkb3ciLCJtb2RlIiwiYm9keSIsImFwcGVuZENoaWxkIiwicmVtb3ZlQ2hpbGQiLCJjcmVhdGVQb3J0YWwiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js ***! \***************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"EditorLink\", ({\n enumerable: true,\n get: function() {\n return EditorLink;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nfunction EditorLink(param) {\n let { file, isSourceFile, location } = param;\n var _location_line, _location_column;\n const open = (0, _useopenineditor.useOpenInEditor)({\n file,\n lineNumber: (_location_line = location == null ? void 0 : location.line) != null ? _location_line : 1,\n column: (_location_column = location == null ? void 0 : location.column) != null ? _location_column : 0\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-with-open-in-editor-link\": true,\n \"data-with-open-in-editor-link-source-file\": isSourceFile ? true : undefined,\n \"data-with-open-in-editor-link-import-trace\": isSourceFile ? undefined : true,\n tabIndex: 10,\n role: \"link\",\n onClick: open,\n title: \"Click to open in your editor\",\n children: [\n file,\n location ? \":\" + location.line + \":\" + location.column : null,\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=EditorLink.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvRWRpdG9yTGluay5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsOENBQTZDO0lBQ3pDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsTUFBTUksbUJBQW1CSixtQkFBT0EsQ0FBQyxtSkFBa0M7QUFDbkUsU0FBU0YsV0FBV08sS0FBSztJQUNyQixJQUFJLEVBQUVDLElBQUksRUFBRUMsWUFBWSxFQUFFQyxRQUFRLEVBQUUsR0FBR0g7SUFDdkMsSUFBSUksZ0JBQWdCQztJQUNwQixNQUFNQyxPQUFPLENBQUMsR0FBR1AsaUJBQWlCUSxlQUFlLEVBQUU7UUFDL0NOO1FBQ0FPLFlBQVksQ0FBQ0osaUJBQWlCRCxZQUFZLE9BQU8sS0FBSyxJQUFJQSxTQUFTTSxJQUFJLEtBQUssT0FBT0wsaUJBQWlCO1FBQ3BHTSxRQUFRLENBQUNMLG1CQUFtQkYsWUFBWSxPQUFPLEtBQUssSUFBSUEsU0FBU08sTUFBTSxLQUFLLE9BQU9MLG1CQUFtQjtJQUMxRztJQUNBLE9BQXFCLFdBQUgsR0FBSSxJQUFHVCxZQUFZZSxJQUFJLEVBQUUsT0FBTztRQUM5QyxpQ0FBaUM7UUFDakMsNkNBQTZDVCxlQUFlLE9BQU9VO1FBQ25FLDhDQUE4Q1YsZUFBZVUsWUFBWTtRQUN6RUMsVUFBVTtRQUNWQyxNQUFNO1FBQ05DLFNBQVNUO1FBQ1RVLE9BQU87UUFDUEMsVUFBVTtZQUNOaEI7WUFDQUUsV0FBVyxNQUFNQSxTQUFTTSxJQUFJLEdBQUcsTUFBTU4sU0FBU08sTUFBTSxHQUFHO1lBQ3pELFdBQVcsR0FBSSxJQUFHZCxZQUFZZSxJQUFJLEVBQUUsT0FBTztnQkFDdkNPLE9BQU87Z0JBQ1BDLFNBQVM7Z0JBQ1RDLE1BQU07Z0JBQ05DLFFBQVE7Z0JBQ1JDLGFBQWE7Z0JBQ2JDLGVBQWU7Z0JBQ2ZDLGdCQUFnQjtnQkFDaEJQLFVBQVU7b0JBQ04sV0FBVyxHQUFJLElBQUdyQixZQUFZNkIsR0FBRyxFQUFFLFFBQVE7d0JBQ3ZDQyxHQUFHO29CQUNQO29CQUNBLFdBQVcsR0FBSSxJQUFHOUIsWUFBWTZCLEdBQUcsRUFBRSxZQUFZO3dCQUMzQ0UsUUFBUTtvQkFDWjtvQkFDQSxXQUFXLEdBQUksSUFBRy9CLFlBQVk2QixHQUFHLEVBQUUsUUFBUTt3QkFDdkNHLElBQUk7d0JBQ0pDLElBQUk7d0JBQ0pDLElBQUk7d0JBQ0pDLElBQUk7b0JBQ1I7aUJBQ0g7WUFDTDtTQUNIO0lBQ0w7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPMUMsUUFBUTJDLE9BQU8sS0FBSyxjQUFlLE9BQU8zQyxRQUFRMkMsT0FBTyxLQUFLLFlBQVkzQyxRQUFRMkMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPM0MsUUFBUTJDLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcks5QyxPQUFPQyxjQUFjLENBQUNDLFFBQVEyQyxPQUFPLEVBQUUsY0FBYztRQUFFMUMsT0FBTztJQUFLO0lBQ25FSCxPQUFPK0MsTUFBTSxDQUFDN0MsUUFBUTJDLE9BQU8sRUFBRTNDO0lBQy9COEMsT0FBTzlDLE9BQU8sR0FBR0EsUUFBUTJDLE9BQU87QUFDbEMsRUFFQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvRWRpdG9yTGluay5qcz85NmM4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRWRpdG9yTGlua1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRWRpdG9yTGluaztcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF91c2VvcGVuaW5lZGl0b3IgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy91c2Utb3Blbi1pbi1lZGl0b3JcIik7XG5mdW5jdGlvbiBFZGl0b3JMaW5rKHBhcmFtKSB7XG4gICAgbGV0IHsgZmlsZSwgaXNTb3VyY2VGaWxlLCBsb2NhdGlvbiB9ID0gcGFyYW07XG4gICAgdmFyIF9sb2NhdGlvbl9saW5lLCBfbG9jYXRpb25fY29sdW1uO1xuICAgIGNvbnN0IG9wZW4gPSAoMCwgX3VzZW9wZW5pbmVkaXRvci51c2VPcGVuSW5FZGl0b3IpKHtcbiAgICAgICAgZmlsZSxcbiAgICAgICAgbGluZU51bWJlcjogKF9sb2NhdGlvbl9saW5lID0gbG9jYXRpb24gPT0gbnVsbCA/IHZvaWQgMCA6IGxvY2F0aW9uLmxpbmUpICE9IG51bGwgPyBfbG9jYXRpb25fbGluZSA6IDEsXG4gICAgICAgIGNvbHVtbjogKF9sb2NhdGlvbl9jb2x1bW4gPSBsb2NhdGlvbiA9PSBudWxsID8gdm9pZCAwIDogbG9jYXRpb24uY29sdW1uKSAhPSBudWxsID8gX2xvY2F0aW9uX2NvbHVtbiA6IDBcbiAgICB9KTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJkaXZcIiwge1xuICAgICAgICBcImRhdGEtd2l0aC1vcGVuLWluLWVkaXRvci1saW5rXCI6IHRydWUsXG4gICAgICAgIFwiZGF0YS13aXRoLW9wZW4taW4tZWRpdG9yLWxpbmstc291cmNlLWZpbGVcIjogaXNTb3VyY2VGaWxlID8gdHJ1ZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgXCJkYXRhLXdpdGgtb3Blbi1pbi1lZGl0b3ItbGluay1pbXBvcnQtdHJhY2VcIjogaXNTb3VyY2VGaWxlID8gdW5kZWZpbmVkIDogdHJ1ZSxcbiAgICAgICAgdGFiSW5kZXg6IDEwLFxuICAgICAgICByb2xlOiBcImxpbmtcIixcbiAgICAgICAgb25DbGljazogb3BlbixcbiAgICAgICAgdGl0bGU6IFwiQ2xpY2sgdG8gb3BlbiBpbiB5b3VyIGVkaXRvclwiLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgIGxvY2F0aW9uID8gXCI6XCIgKyBsb2NhdGlvbi5saW5lICsgXCI6XCIgKyBsb2NhdGlvbi5jb2x1bW4gOiBudWxsLFxuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJzdmdcIiwge1xuICAgICAgICAgICAgICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgICAgICAgICAgICAgdmlld0JveDogXCIwIDAgMjQgMjRcIixcbiAgICAgICAgICAgICAgICBmaWxsOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwiY3VycmVudENvbG9yXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IFwiMlwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcbiAgICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbjogXCJyb3VuZFwiLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJwYXRoXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ6IFwiTTE4IDEzdjZhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDZcIlxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBvbHlsaW5lXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50czogXCIxNSAzIDIxIDMgMjEgOVwiXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibGluZVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB4MTogXCIxMFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgeTE6IFwiMTRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHgyOiBcIjIxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB5MjogXCIzXCJcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUVkaXRvckxpbmsuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkVkaXRvckxpbmsiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwiX3VzZW9wZW5pbmVkaXRvciIsInBhcmFtIiwiZmlsZSIsImlzU291cmNlRmlsZSIsImxvY2F0aW9uIiwiX2xvY2F0aW9uX2xpbmUiLCJfbG9jYXRpb25fY29sdW1uIiwib3BlbiIsInVzZU9wZW5JbkVkaXRvciIsImxpbmVOdW1iZXIiLCJsaW5lIiwiY29sdW1uIiwianN4cyIsInVuZGVmaW5lZCIsInRhYkluZGV4Iiwicm9sZSIsIm9uQ2xpY2siLCJ0aXRsZSIsImNoaWxkcmVuIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwianN4IiwiZCIsInBvaW50cyIsIngxIiwieTEiLCJ4MiIsInkyIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js ***! \*************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Terminal\", ({\n enumerable: true,\n get: function() {\n return Terminal;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _anser = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/anser */ \"(ssr)/./node_modules/next/dist/compiled/anser/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _hotlinkedtext = __webpack_require__(/*! ../hot-linked-text */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst _EditorLink = __webpack_require__(/*! ./EditorLink */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js\");\nfunction getFile(lines) {\n const contentFileName = lines.shift();\n if (!contentFileName) return null;\n const [fileName, line, column] = contentFileName.split(\":\", 3);\n const parsedLine = Number(line);\n const parsedColumn = Number(column);\n const hasLocation = !Number.isNaN(parsedLine) && !Number.isNaN(parsedColumn);\n return {\n fileName: hasLocation ? fileName : contentFileName,\n location: hasLocation ? {\n line: parsedLine,\n column: parsedColumn\n } : undefined\n };\n}\nfunction getImportTraceFiles(lines) {\n if (lines.some((line)=>/ReactServerComponentsError:/.test(line)) || lines.some((line)=>/Import trace for requested module:/.test(line))) {\n // Grab the lines at the end containing the files\n const files = [];\n while(/.+\\..+/.test(lines[lines.length - 1]) && !lines[lines.length - 1].includes(\":\")){\n const file = lines.pop().trim();\n files.unshift(file);\n }\n return files;\n }\n return [];\n}\nfunction getEditorLinks(content) {\n const lines = content.split(\"\\n\");\n const file = getFile(lines);\n const importTraceFiles = getImportTraceFiles(lines);\n return {\n file,\n source: lines.join(\"\\n\"),\n importTraceFiles\n };\n}\nconst Terminal = function Terminal(param) {\n let { content } = param;\n const { file, source, importTraceFiles } = _react.useMemo(()=>getEditorLinks(content), [\n content\n ]);\n const decoded = _react.useMemo(()=>{\n return _anser.default.ansiToJson(source, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }, [\n source\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-terminal\": true,\n children: [\n file && /*#__PURE__*/ (0, _jsxruntime.jsx)(_EditorLink.EditorLink, {\n isSourceFile: true,\n file: file.fileName,\n location: file.location\n }, file.fileName),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"pre\", {\n children: [\n decoded.map((entry, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n style: {\n color: entry.fg ? \"var(--color-\" + entry.fg + \")\" : undefined,\n ...entry.decoration === \"bold\" ? {\n fontWeight: 800\n } : entry.decoration === \"italic\" ? {\n fontStyle: \"italic\"\n } : undefined\n },\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: entry.content\n })\n }, \"terminal-entry-\" + index)),\n importTraceFiles.map((importTraceFile)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_EditorLink.EditorLink, {\n isSourceFile: false,\n file: importTraceFile\n }, importTraceFile))\n ]\n })\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Terminal.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvVGVybWluYWwuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDRDQUEyQztJQUN2Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsa0hBQXlDO0FBQ2xGLE1BQU1DLDRCQUE0QkQsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1FLGNBQWNGLG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRyxTQUFTLFdBQVcsR0FBR0oseUJBQXlCSyxDQUFDLENBQUNKLG1CQUFPQSxDQUFDLHdGQUEwQjtBQUMxRixNQUFNSyxTQUFTLFdBQVcsR0FBR0osMEJBQTBCRyxDQUFDLENBQUNKLG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1NLGlCQUFpQk4sbUJBQU9BLENBQUMsMklBQW9CO0FBQ25ELE1BQU1PLGNBQWNQLG1CQUFPQSxDQUFDLG1JQUFjO0FBQzFDLFNBQVNRLFFBQVFDLEtBQUs7SUFDbEIsTUFBTUMsa0JBQWtCRCxNQUFNRSxLQUFLO0lBQ25DLElBQUksQ0FBQ0QsaUJBQWlCLE9BQU87SUFDN0IsTUFBTSxDQUFDRSxVQUFVQyxNQUFNQyxPQUFPLEdBQUdKLGdCQUFnQkssS0FBSyxDQUFDLEtBQUs7SUFDNUQsTUFBTUMsYUFBYUMsT0FBT0o7SUFDMUIsTUFBTUssZUFBZUQsT0FBT0g7SUFDNUIsTUFBTUssY0FBYyxDQUFDRixPQUFPRyxLQUFLLENBQUNKLGVBQWUsQ0FBQ0MsT0FBT0csS0FBSyxDQUFDRjtJQUMvRCxPQUFPO1FBQ0hOLFVBQVVPLGNBQWNQLFdBQVdGO1FBQ25DVyxVQUFVRixjQUFjO1lBQ3BCTixNQUFN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QUFRK0MsT0FBTyxLQUFLLGNBQWUsT0FBTy9DLFFBQVErQyxPQUFPLEtBQUssWUFBWS9DLFFBQVErQyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU8vQyxRQUFRK0MsT0FBTyxDQUFDc0IsVUFBVSxLQUFLLGFBQWE7SUFDckt2RSxPQUFPQyxjQUFjLENBQUNDLFFBQVErQyxPQUFPLEVBQUUsY0FBYztRQUFFOUMsT0FBTztJQUFLO0lBQ25FSCxPQUFPd0UsTUFBTSxDQUFDdEUsUUFBUStDLE9BQU8sRUFBRS9DO0lBQy9CdUUsT0FBT3ZFLE9BQU8sR0FBR0EsUUFBUStDLE9BQU87QUFDbEMsRUFFQSxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvVGVybWluYWwuanM/MjRhMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlRlcm1pbmFsXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBUZXJtaW5hbDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9hbnNlciA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9hbnNlclwiKSk7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX2hvdGxpbmtlZHRleHQgPSByZXF1aXJlKFwiLi4vaG90LWxpbmtlZC10ZXh0XCIpO1xuY29uc3QgX0VkaXRvckxpbmsgPSByZXF1aXJlKFwiLi9FZGl0b3JMaW5rXCIpO1xuZnVuY3Rpb24gZ2V0RmlsZShsaW5lcykge1xuICAgIGNvbnN0IGNvbnRlbnRGaWxlTmFtZSA9IGxpbmVzLnNoaWZ0KCk7XG4gICAgaWYgKCFjb250ZW50RmlsZU5hbWUpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IFtmaWxlTmFtZSwgbGluZSwgY29sdW1uXSA9IGNvbnRlbnRGaWxlTmFtZS5zcGxpdChcIjpcIiwgMyk7XG4gICAgY29uc3QgcGFyc2VkTGluZSA9IE51bWJlcihsaW5lKTtcbiAgICBjb25zdCBwYXJzZWRDb2x1bW4gPSBOdW1iZXIoY29sdW1uKTtcbiAgICBjb25zdCBoYXNMb2NhdGlvbiA9ICFOdW1iZXIuaXNOYU4ocGFyc2VkTGluZSkgJiYgIU51bWJlci5pc05hTihwYXJzZWRDb2x1bW4pO1xuICAgIHJldHVybiB7XG4gICAgICAgIGZpbGVOYW1lOiBoYXNMb2NhdGlvbiA/IGZpbGVOYW1lIDogY29udGVudEZpbGVOYW1lLFxuICAgICAgICBsb2NhdGlvbjogaGFzTG9jYXRpb24gPyB7XG4gICAgICAgICAgICBsaW5lOiBwYXJzZWRMaW5lLFxuICAgICAgICAgICAgY29sdW1uOiBwYXJzZWRDb2x1bW5cbiAgICAgICAgfSA6IHVuZGVmaW5lZFxuICAgIH07XG59XG5mdW5jdGlvbiBnZXRJbXBvcnRUcmFjZUZpbGVzKGxpbmVzKSB7XG4gICAgaWYgKGxpbmVzLnNvbWUoKGxpbmUpPT4vUmVhY3RTZXJ2ZXJDb21wb25lbnRzRXJyb3I6Ly50ZXN0KGxpbmUpKSB8fCBsaW5lcy5zb21lKChsaW5lKT0+L0ltcG9ydCB0cmFjZSBmb3IgcmVxdWVzdGVkIG1vZHVsZTovLnRlc3QobGluZSkpKSB7XG4gICAgICAgIC8vIEdyYWIgdGhlIGxpbmVzIGF0IHRoZSBlbmQgY29udGFpbmluZyB0aGUgZmlsZXNcbiAgICAgICAgY29uc3QgZmlsZXMgPSBbXTtcbiAgICAgICAgd2hpbGUoLy4rXFwuLisvLnRlc3QobGluZXNbbGluZXMubGVuZ3RoIC0gMV0pICYmICFsaW5lc1tsaW5lcy5sZW5ndGggLSAxXS5pbmNsdWRlcyhcIjpcIikpe1xuICAgICAgICAgICAgY29uc3QgZmlsZSA9IGxpbmVzLnBvcCgpLnRyaW0oKTtcbiAgICAgICAgICAgIGZpbGVzLnVuc2hpZnQoZmlsZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbGVzO1xuICAgIH1cbiAgICByZXR1cm4gW107XG59XG5mdW5jdGlvbiBnZXRFZGl0b3JMaW5rcyhjb250ZW50KSB7XG4gICAgY29uc3QgbGluZXMgPSBjb250ZW50LnNwbGl0KFwiXFxuXCIpO1xuICAgIGNvbnN0IGZpbGUgPSBnZXRGaWxlKGxpbmVzKTtcbiAgICBjb25zdCBpbXBvcnRUcmFjZUZpbGVzID0gZ2V0SW1wb3J0VHJhY2VGaWxlcyhsaW5lcyk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZmlsZSxcbiAgICAgICAgc291cmNlOiBsaW5lcy5qb2luKFwiXFxuXCIpLFxuICAgICAgICBpbXBvcnRUcmFjZUZpbGVzXG4gICAgfTtcbn1cbmNvbnN0IFRlcm1pbmFsID0gZnVuY3Rpb24gVGVybWluYWwocGFyYW0pIHtcbiAgICBsZXQgeyBjb250ZW50IH0gPSBwYXJhbTtcbiAgICBjb25zdCB7IGZpbGUsIHNvdXJjZSwgaW1wb3J0VHJhY2VGaWxlcyB9ID0gX3JlYWN0LnVzZU1lbW8oKCk9PmdldEVkaXRvckxpbmtzKGNvbnRlbnQpLCBbXG4gICAgICAgIGNvbnRlbnRcbiAgICBdKTtcbiAgICBjb25zdCBkZWNvZGVkID0gX3JlYWN0LnVzZU1lbW8oKCk9PntcbiAgICAgICAgcmV0dXJuIF9hbnNlci5kZWZhdWx0LmFuc2lUb0pzb24oc291cmNlLCB7XG4gICAgICAgICAgICBqc29uOiB0cnVlLFxuICAgICAgICAgICAgdXNlX2NsYXNzZXM6IHRydWUsXG4gICAgICAgICAgICByZW1vdmVfZW1wdHk6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfSwgW1xuICAgICAgICBzb3VyY2VcbiAgICBdKTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJkaXZcIiwge1xuICAgICAgICBcImRhdGEtbmV4dGpzLXRlcm1pbmFsXCI6IHRydWUsXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICBmaWxlICYmIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0VkaXRvckxpbmsuRWRpdG9yTGluaywge1xuICAgICAgICAgICAgICAgIGlzU291cmNlRmlsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaWxlOiBmaWxlLmZpbGVOYW1lLFxuICAgICAgICAgICAgICAgIGxvY2F0aW9uOiBmaWxlLmxvY2F0aW9uXG4gICAgICAgICAgICB9LCBmaWxlLmZpbGVOYW1lKSxcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwicHJlXCIsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICBkZWNvZGVkLm1hcCgoZW50cnksIGluZGV4KT0+LyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInNwYW5cIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBlbnRyeS5mZyA/IFwidmFyKC0tY29sb3ItXCIgKyBlbnRyeS5mZyArIFwiKVwiIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeS5kZWNvcmF0aW9uID09PSBcImJvbGRcIiA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDgwMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IDogZW50cnkuZGVjb3JhdGlvbiA9PT0gXCJpdGFsaWNcIiA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZTogXCJpdGFsaWNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfaG90bGlua2VkdGV4dC5Ib3RsaW5rZWRUZXh0LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGVudHJ5LmNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgXCJ0ZXJtaW5hbC1lbnRyeS1cIiArIGluZGV4KSksXG4gICAgICAgICAgICAgICAgICAgIGltcG9ydFRyYWNlRmlsZXMubWFwKChpbXBvcnRUcmFjZUZpbGUpPT4vKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9FZGl0b3JMaW5rLkVkaXRvckxpbmssIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1NvdXJjZUZpbGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6IGltcG9ydFRyYWNlRmlsZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgaW1wb3J0VHJhY2VGaWxlKSlcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSk7XG59O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1UZXJtaW5hbC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiVGVybWluYWwiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsIl9qc3hydW50aW1lIiwiX2Fuc2VyIiwiXyIsIl9yZWFjdCIsIl9ob3RsaW5rZWR0ZXh0IiwiX0VkaXRvckxpbmsiLCJnZXRGaWxlIiwibGluZXMiLCJjb250ZW50RmlsZU5hbWUiLCJzaGlmdCIsImZpbGVOYW1lIiwibGluZSIsImNvbHVtbiIsInNwbGl0IiwicGFyc2VkTGluZSIsIk51bWJlciIsInBhcnNlZENvbHVtbiIsImhhc0xvY2F0aW9uIiwiaXNOYU4iLCJsb2NhdGlvbiIsInVuZGVmaW5lZCIsImdldEltcG9ydFRyYWNlRmlsZXMiLCJzb21lIiwidGVzdCIsImZpbGVzIiwibGVuZ3RoIiwiaW5jbHVkZXMiLCJmaWxlIiwicG9wIiwidHJpbSIsInVuc2hpZnQiLCJnZXRFZGl0b3JMaW5rcyIsImNvbnRlbnQiLCJpbXBvcnRUcmFjZUZpbGVzIiwic291cmNlIiwiam9pbiIsInBhcmFtIiwidXNlTWVtbyIsImRlY29kZWQiLCJkZWZhdWx0IiwiYW5zaVRvSnNvbiIsImpzb24iLCJ1c2VfY2xhc3NlcyIsInJlbW92ZV9lbXB0eSIsImpzeHMiLCJjaGlsZHJlbiIsImpzeCIsIkVkaXRvckxpbmsiLCJpc1NvdXJjZUZpbGUiLCJtYXAiLCJlbnRyeSIsImluZGV4Iiwic3R5bGUiLCJjb2xvciIsImZnIiwiZGVjb3JhdGlvbiIsImZvbnRXZWlnaHQiLCJmb250U3R5bGUiLCJIb3RsaW5rZWRUZXh0IiwidGV4dCIsImltcG9ydFRyYWNlRmlsZSIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js ***! \**********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Terminal\", ({\n enumerable: true,\n get: function() {\n return _Terminal.Terminal;\n }\n}));\nconst _Terminal = __webpack_require__(/*! ./Terminal */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDRDQUEyQztJQUN2Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0MsVUFBVUMsUUFBUTtJQUM3QjtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1ELFlBQVlFLG1CQUFPQSxDQUFDLCtIQUFZO0FBRXRDLElBQUksQ0FBQyxPQUFPTixRQUFRTyxPQUFPLEtBQUssY0FBZSxPQUFPUCxRQUFRTyxPQUFPLEtBQUssWUFBWVAsUUFBUU8sT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPUCxRQUFRTyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLVixPQUFPQyxjQUFjLENBQUNDLFFBQVFPLE9BQU8sRUFBRSxjQUFjO1FBQUVOLE9BQU87SUFBSztJQUNuRUgsT0FBT1csTUFBTSxDQUFDVCxRQUFRTyxPQUFPLEVBQUVQO0lBQy9CVSxPQUFPVixPQUFPLEdBQUdBLFFBQVFPLE9BQU87QUFDbEMsRUFFQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvaW5kZXguanM/OTUyZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlRlcm1pbmFsXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfVGVybWluYWwuVGVybWluYWw7XG4gICAgfVxufSk7XG5jb25zdCBfVGVybWluYWwgPSByZXF1aXJlKFwiLi9UZXJtaW5hbFwiKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIl9UZXJtaW5hbCIsIlRlcm1pbmFsIiwicmVxdWlyZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js ***! \***********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-terminal] {\\n border-radius: var(--size-gap-half);\\n background-color: var(--color-ansi-bg);\\n color: var(--color-ansi-fg);\\n }\\n [data-nextjs-terminal]::selection,\\n [data-nextjs-terminal] *::selection {\\n background-color: var(--color-ansi-selection);\\n }\\n [data-nextjs-terminal] * {\\n color: inherit;\\n background-color: transparent;\\n font-family: var(--font-stack-monospace);\\n }\\n [data-nextjs-terminal] > * {\\n margin: 0;\\n padding: calc(var(--size-gap) + var(--size-gap-half))\\n calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n\\n [data-nextjs-terminal] pre {\\n white-space: pre-wrap;\\n word-break: break-word;\\n }\\n\\n [data-with-open-in-editor-link] svg {\\n width: auto;\\n height: var(--size-font-small);\\n margin-left: var(--size-gap);\\n }\\n [data-with-open-in-editor-link] {\\n cursor: pointer;\\n }\\n [data-with-open-in-editor-link]:hover {\\n text-decoration: underline dotted;\\n }\\n [data-with-open-in-editor-link-source-file] {\\n border-bottom: 1px solid var(--color-ansi-bright-black);\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n }\\n [data-with-open-in-editor-link-import-trace] {\\n margin-left: var(--size-gap-double);\\n }\\n [data-nextjs-terminal] a {\\n color: inherit;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvc3R5bGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwwQ0FBeUM7SUFDckNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQ0FBaUNDLG1CQUFPQSxDQUFDLDhIQUErQztBQUM5RixNQUFNQyxnQkFBZ0JELG1CQUFPQSxDQUFDLHlJQUE2QjtBQUMzRCxTQUFTRTtJQUNMLE1BQU1DLE9BQU9KLCtCQUErQkssQ0FBQyxDQUFDO1FBQzFDO0tBQ0g7SUFDREYsa0JBQWtCO1FBQ2QsT0FBT0M7SUFDWDtJQUNBLE9BQU9BO0FBQ1g7QUFDQSxNQUFNTCxTQUFTLENBQUMsR0FBR0csY0FBY0ksSUFBSSxFQUFFSDtBQUV2QyxJQUFJLENBQUMsT0FBT1IsUUFBUVksT0FBTyxLQUFLLGNBQWUsT0FBT1osUUFBUVksT0FBTyxLQUFLLFlBQVlaLFFBQVFZLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT1osUUFBUVksT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2YsT0FBT0MsY0FBYyxDQUFDQyxRQUFRWSxPQUFPLEVBQUUsY0FBYztRQUFFWCxPQUFPO0lBQUs7SUFDbkVILE9BQU9nQixNQUFNLENBQUNkLFFBQVFZLE9BQU8sRUFBRVo7SUFDL0JlLE9BQU9mLE9BQU8sR0FBR0EsUUFBUVksT0FBTztBQUNsQyxFQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9UZXJtaW5hbC9zdHlsZXMuanM/N2Q3MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInN0eWxlc1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3R5bGVzO1xuICAgIH1cbn0pO1xuY29uc3QgX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL190YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZVwiKTtcbmNvbnN0IF9ub29wdGVtcGxhdGUgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy9ub29wLXRlbXBsYXRlXCIpO1xuZnVuY3Rpb24gX3RlbXBsYXRlT2JqZWN0KCkge1xuICAgIGNvbnN0IGRhdGEgPSBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuXyhbXG4gICAgICAgIFwiXFxuICBbZGF0YS1uZXh0anMtdGVybWluYWxdIHtcXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2l6ZS1nYXAtaGFsZik7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFuc2ktYmcpO1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYW5zaS1mZyk7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtdGVybWluYWxdOjpzZWxlY3Rpb24sXFxuICBbZGF0YS1uZXh0anMtdGVybWluYWxdICo6OnNlbGVjdGlvbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFuc2ktc2VsZWN0aW9uKTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy10ZXJtaW5hbF0gKiB7XFxuICAgIGNvbG9yOiBpbmhlcml0O1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3RhY2stbW9ub3NwYWNlKTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy10ZXJtaW5hbF0gPiAqIHtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNpemUtZ2FwKSArIHZhcigtLXNpemUtZ2FwLWhhbGYpKVxcbiAgICAgIGNhbGModmFyKC0tc2l6ZS1nYXAtZG91YmxlKSArIHZhcigtLXNpemUtZ2FwLWhhbGYpKTtcXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy10ZXJtaW5hbF0gcHJlIHtcXG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xcbiAgfVxcblxcbiAgW2RhdGEtd2l0aC1vcGVuLWluLWVkaXRvci1saW5rXSBzdmcge1xcbiAgICB3aWR0aDogYXV0bztcXG4gICAgaGVpZ2h0OiB2YXIoLS1zaXplLWZvbnQtc21hbGwpO1xcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS1nYXApO1xcbiAgfVxcbiAgW2RhdGEtd2l0aC1vcGVuLWluLWVkaXRvci1saW5rXSB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gIH1cXG4gIFtkYXRhLXdpdGgtb3Blbi1pbi1lZGl0b3ItbGlua106aG92ZXIge1xcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICB9XFxuICBbZGF0YS13aXRoLW9wZW4taW4tZWRpdG9yLWxpbmstc291cmNlLWZpbGVdIHtcXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWFuc2ktYnJpZ2h0LWJsYWNrKTtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgfVxcbiAgW2RhdGEtd2l0aC1vcGVuLWluLWVkaXRvci1saW5rLWltcG9ydC10cmFjZV0ge1xcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS1nYXAtZG91YmxlKTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy10ZXJtaW5hbF0gYSB7XFxuICAgIGNvbG9yOiBpbmhlcml0O1xcbiAgfVxcblwiXG4gICAgXSk7XG4gICAgX3RlbXBsYXRlT2JqZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH07XG4gICAgcmV0dXJuIGRhdGE7XG59XG5jb25zdCBzdHlsZXMgPSAoMCwgX25vb3B0ZW1wbGF0ZS5ub29wKShfdGVtcGxhdGVPYmplY3QoKSk7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic3R5bGVzIiwiX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlIiwicmVxdWlyZSIsIl9ub29wdGVtcGxhdGUiLCJfdGVtcGxhdGVPYmplY3QiLCJkYXRhIiwiXyIsIm5vb3AiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js ***! \*******************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Toast\", ({\n enumerable: true,\n get: function() {\n return Toast;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst Toast = function Toast(param) {\n let { onClick, children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-toast\": true,\n onClick: onClick,\n className: className,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-toast-wrapper\": true,\n children: children\n })\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Toast.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3QvVG9hc3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHlDQUF3QztJQUNwQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDRCQUE0QkMsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1DLGNBQWNELG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRSxTQUFTLFdBQVcsR0FBR0gsMEJBQTBCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1GLFFBQVEsU0FBU0EsTUFBTU0sS0FBSztJQUM5QixJQUFJLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUUsR0FBR0g7SUFDdkMsT0FBcUIsV0FBSCxHQUFJLElBQUdILFlBQVlPLEdBQUcsRUFBRSxPQUFPO1FBQzdDLHFCQUFxQjtRQUNyQkgsU0FBU0E7UUFDVEUsV0FBV0E7UUFDWEQsVUFBd0IsV0FBSCxHQUFJLElBQUdMLFlBQVlPLEdBQUcsRUFBRSxPQUFPO1lBQ2hELDZCQUE2QjtZQUM3QkYsVUFBVUE7UUFDZDtJQUNKO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT1osUUFBUWUsT0FBTyxLQUFLLGNBQWUsT0FBT2YsUUFBUWUsT0FBTyxLQUFLLFlBQVlmLFFBQVFlLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2YsUUFBUWUsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2xCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWUsT0FBTyxFQUFFLGNBQWM7UUFBRWQsT0FBTztJQUFLO0lBQ25FSCxPQUFPbUIsTUFBTSxDQUFDakIsUUFBUWUsT0FBTyxFQUFFZjtJQUMvQmtCLE9BQU9sQixPQUFPLEdBQUdBLFFBQVFlLE9BQU87QUFDbEMsRUFFQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3QvVG9hc3QuanM/ZGMzNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlRvYXN0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBUb2FzdDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IFRvYXN0ID0gZnVuY3Rpb24gVG9hc3QocGFyYW0pIHtcbiAgICBsZXQgeyBvbkNsaWNrLCBjaGlsZHJlbiwgY2xhc3NOYW1lIH0gPSBwYXJhbTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImRpdlwiLCB7XG4gICAgICAgIFwiZGF0YS1uZXh0anMtdG9hc3RcIjogdHJ1ZSxcbiAgICAgICAgb25DbGljazogb25DbGljayxcbiAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWUsXG4gICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiZGl2XCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uZXh0anMtdG9hc3Qtd3JhcHBlclwiOiB0cnVlLFxuICAgICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgICAgIH0pXG4gICAgfSk7XG59O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Ub2FzdC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiVG9hc3QiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsInBhcmFtIiwib25DbGljayIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwianN4IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js ***! \*******************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n styles: function() {\n return _styles.styles;\n },\n Toast: function() {\n return _Toast.Toast;\n }\n});\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js\");\nconst _Toast = __webpack_require__(/*! ./Toast */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLFFBQVE7UUFDSixPQUFPUSxRQUFRUixNQUFNO0lBQ3pCO0lBQ0FDLE9BQU87UUFDSCxPQUFPUSxPQUFPUixLQUFLO0lBQ3ZCO0FBQ0o7QUFDQSxNQUFNTyxVQUFVRSxtQkFBT0EsQ0FBQyx3SEFBVTtBQUNsQyxNQUFNRCxTQUFTQyxtQkFBT0EsQ0FBQyxzSEFBUztBQUVoQyxJQUFJLENBQUMsT0FBT2IsUUFBUWMsT0FBTyxLQUFLLGNBQWUsT0FBT2QsUUFBUWMsT0FBTyxLQUFLLFlBQVlkLFFBQVFjLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2QsUUFBUWMsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2pCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWMsT0FBTyxFQUFFLGNBQWM7UUFBRWIsT0FBTztJQUFLO0lBQ25FSCxPQUFPa0IsTUFBTSxDQUFDaEIsUUFBUWMsT0FBTyxFQUFFZDtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRYyxPQUFPO0FBQ2xDLEVBRUEsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1RvYXN0L2luZGV4LmpzP2QzYzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBzdHlsZXM6IG51bGwsXG4gICAgVG9hc3Q6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgc3R5bGVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zdHlsZXMuc3R5bGVzO1xuICAgIH0sXG4gICAgVG9hc3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX1RvYXN0LlRvYXN0O1xuICAgIH1cbn0pO1xuY29uc3QgX3N0eWxlcyA9IHJlcXVpcmUoXCIuL3N0eWxlc1wiKTtcbmNvbnN0IF9Ub2FzdCA9IHJlcXVpcmUoXCIuL1RvYXN0XCIpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJzdHlsZXMiLCJUb2FzdCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9zdHlsZXMiLCJfVG9hc3QiLCJyZXF1aXJlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js": /*!********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js ***! \********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-toast] {\\n position: fixed;\\n bottom: var(--size-gap-double);\\n left: var(--size-gap-double);\\n max-width: 420px;\\n z-index: 9000;\\n }\\n\\n @media (max-width: 440px) {\\n [data-nextjs-toast] {\\n max-width: 90vw;\\n left: 5vw;\\n }\\n }\\n\\n [data-nextjs-toast-wrapper] {\\n padding: 16px;\\n border-radius: var(--size-gap-half);\\n font-weight: 500;\\n color: var(--color-ansi-bright-white);\\n background-color: var(--color-ansi-red);\\n box-shadow: 0px var(--size-gap-double) var(--size-gap-quad)\\n rgba(0, 0, 0, 0.25);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3Qvc3R5bGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwwQ0FBeUM7SUFDckNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQ0FBaUNDLG1CQUFPQSxDQUFDLDhIQUErQztBQUM5RixNQUFNQyxnQkFBZ0JELG1CQUFPQSxDQUFDLHlJQUE2QjtBQUMzRCxTQUFTRTtJQUNMLE1BQU1DLE9BQU9KLCtCQUErQkssQ0FBQyxDQUFDO1FBQzFDO0tBQ0g7SUFDREYsa0JBQWtCO1FBQ2QsT0FBT0M7SUFDWDtJQUNBLE9BQU9BO0FBQ1g7QUFDQSxNQUFNTCxTQUFTLENBQUMsR0FBR0csY0FBY0ksSUFBSSxFQUFFSDtBQUV2QyxJQUFJLENBQUMsT0FBT1IsUUFBUVksT0FBTyxLQUFLLGNBQWUsT0FBT1osUUFBUVksT0FBTyxLQUFLLFlBQVlaLFFBQVFZLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT1osUUFBUVksT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2YsT0FBT0MsY0FBYyxDQUFDQyxRQUFRWSxPQUFPLEVBQUUsY0FBYztRQUFFWCxPQUFPO0lBQUs7SUFDbkVILE9BQU9nQixNQUFNLENBQUNkLFFBQVFZLE9BQU8sRUFBRVo7SUFDL0JlLE9BQU9mLE9BQU8sR0FBR0EsUUFBUVksT0FBTztBQUNsQyxFQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Ub2FzdC9zdHlsZXMuanM/N2ZjMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInN0eWxlc1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3R5bGVzO1xuICAgIH1cbn0pO1xuY29uc3QgX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL190YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZVwiKTtcbmNvbnN0IF9ub29wdGVtcGxhdGUgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy9ub29wLXRlbXBsYXRlXCIpO1xuZnVuY3Rpb24gX3RlbXBsYXRlT2JqZWN0KCkge1xuICAgIGNvbnN0IGRhdGEgPSBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuXyhbXG4gICAgICAgIFwiXFxuICBbZGF0YS1uZXh0anMtdG9hc3RdIHtcXG4gICAgcG9zaXRpb246IGZpeGVkO1xcbiAgICBib3R0b206IHZhcigtLXNpemUtZ2FwLWRvdWJsZSk7XFxuICAgIGxlZnQ6IHZhcigtLXNpemUtZ2FwLWRvdWJsZSk7XFxuICAgIG1heC13aWR0aDogNDIwcHg7XFxuICAgIHotaW5kZXg6IDkwMDA7XFxuICB9XFxuXFxuICBAbWVkaWEgKG1heC13aWR0aDogNDQwcHgpIHtcXG4gICAgW2RhdGEtbmV4dGpzLXRvYXN0XSB7XFxuICAgICAgbWF4LXdpZHRoOiA5MHZ3O1xcbiAgICAgIGxlZnQ6IDV2dztcXG4gICAgfVxcbiAgfVxcblxcbiAgW2RhdGEtbmV4dGpzLXRvYXN0LXdyYXBwZXJdIHtcXG4gICAgcGFkZGluZzogMTZweDtcXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2l6ZS1nYXAtaGFsZik7XFxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLWJyaWdodC13aGl0ZSk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFuc2ktcmVkKTtcXG4gICAgYm94LXNoYWRvdzogMHB4IHZhcigtLXNpemUtZ2FwLWRvdWJsZSkgdmFyKC0tc2l6ZS1nYXAtcXVhZClcXG4gICAgICByZ2JhKDAsIDAsIDAsIDAuMjUpO1xcbiAgfVxcblwiXG4gICAgXSk7XG4gICAgX3RlbXBsYXRlT2JqZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH07XG4gICAgcmV0dXJuIGRhdGE7XG59XG5jb25zdCBzdHlsZXMgPSAoMCwgX25vb3B0ZW1wbGF0ZS5ub29wKShfdGVtcGxhdGVPYmplY3QoKSk7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic3R5bGVzIiwiX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlIiwicmVxdWlyZSIsIl9ub29wdGVtcGxhdGUiLCJfdGVtcGxhdGVPYmplY3QiLCJkYXRhIiwiXyIsIm5vb3AiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js": /*!*************************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js ***! \*************************************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"VersionStalenessInfo\", ({\n enumerable: true,\n get: function() {\n return VersionStalenessInfo;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nfunction VersionStalenessInfo(props) {\n if (!props) return null;\n const { staleness, installed, expected } = props;\n let text = \"\";\n let title = \"\";\n let indicatorClass = \"\";\n switch(staleness){\n case \"fresh\":\n text = \"Next.js is up to date\";\n title = \"Latest available version is detected (\" + installed + \").\";\n indicatorClass = \"fresh\";\n break;\n case \"stale-patch\":\n case \"stale-minor\":\n text = \"Next.js (\" + installed + \") out of date\";\n title = \"There is a newer version (\" + expected + \") available, upgrade recommended! \";\n indicatorClass = \"stale\";\n break;\n case \"stale-major\":\n {\n text = \"Next.js (\" + installed + \") is outdated\";\n title = \"An outdated version detected (latest is \" + expected + \"), upgrade is highly recommended!\";\n indicatorClass = \"outdated\";\n break;\n }\n case \"stale-prerelease\":\n {\n text = \"Next.js (\" + installed + \") is outdated\";\n title = \"There is a newer canary version (\" + expected + \") available, please upgrade! \";\n indicatorClass = \"stale\";\n break;\n }\n case \"newer-than-npm\":\n case \"unknown\":\n break;\n default:\n break;\n }\n if (!text) return null;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"small\", {\n className: \"nextjs-container-build-error-version-status\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n className: indicatorClass\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n className: \"nextjs-container-build-error-version-status\",\n title: title,\n children: text\n }),\n \" \",\n staleness === \"fresh\" || staleness === \"unknown\" ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://nextjs.org/docs/messages/version-staleness\",\n children: \"(learn more)\"\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=VersionStalenessInfo.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vVmVyc2lvblN0YWxlbmVzc0luZm8uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHdEQUF1RDtJQUNuREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsa0hBQXlDO0FBQ2xGLE1BQU1DLGNBQWNELG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRSxTQUFTLFdBQVcsR0FBR0gseUJBQXlCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3ZFLFNBQVNGLHFCQUFxQk0sS0FBSztJQUMvQixJQUFJLENBQUNBLE9BQU8sT0FBTztJQUNuQixNQUFNLEVBQUVDLFNBQVMsRUFBRUMsU0FBUyxFQUFFQyxRQUFRLEVBQUUsR0FBR0g7SUFDM0MsSUFBSUksT0FBTztJQUNYLElBQUlDLFFBQVE7SUFDWixJQUFJQyxpQkFBaUI7SUFDckIsT0FBT0w7UUFDSCxLQUFLO1lBQ0RHLE9BQU87WUFDUEMsUUFBUSwyQ0FBMkNILFlBQVk7WUFDL0RJLGlCQUFpQjtZQUNqQjtRQUNKLEtBQUs7UUFDTCxLQUFLO1lBQ0RGLE9BQU8sY0FBY0YsWUFBWTtZQUNqQ0csUUFBUSwrQkFBK0JGLFdBQVc7WUFDbERHLGlCQUFpQjtZQUNqQjtRQUNKLEtBQUs7WUFDRDtnQkFDSUYsT0FBTyxjQUFjRixZQUFZO2dCQUNqQ0csUUFBUSw2Q0FBNkNGLFdBQVc7Z0JBQ2hFRyxpQkFBaUI7Z0JBQ2pCO1lBQ0o7UUFDSixLQUFLO1lBQ0Q7Z0JBQ0lGLE9BQU8sY0FBY0YsWUFBWTtnQkFDakNHLFFBQVEsc0NBQXNDRixXQUFXO2dCQUN6REcsaUJBQWlCO2dCQUNqQjtZQUNKO1FBQ0osS0FBSztRQUNMLEtBQUs7WUFDRDtRQUNKO1lBQ0k7SUFDUjtJQUNBLElBQUksQ0FBQ0YsTUFBTSxPQUFPO0lBQ2xCLE9BQXFCLFdBQUgsR0FBSSxJQUFHUCxZQUFZVSxJQUFJLEVBQUUsU0FBUztRQUNoREMsV0FBVztRQUNYQyxVQUFVO1lBQ04sV0FBVyxHQUFJLElBQUdaLFlBQVlhLEdBQUcsRUFBRSxRQUFRO2dCQUN2Q0YsV0FBV0Y7WUFDZjtZQUNBLFdBQVcsR0FBSSxJQUFHVCxZQUFZYSxHQUFHLEVBQUUsU0FBUztnQkFDeENGLFdBQVc7Z0JBQ1hILE9BQU9BO2dCQUNQSSxVQUFVTDtZQUNkO1lBQ0E7WUFDQUgsY0FBYyxXQUFXQSxjQUFjLFlBQVksT0FBcUIsV0FBSCxHQUFJLElBQUdKLFlBQVlhLEdBQUcsRUFBRSxLQUFLO2dCQUM5RkMsUUFBUTtnQkFDUkMsS0FBSztnQkFDTEMsTUFBTTtnQkFDTkosVUFBVTtZQUNkO1NBQ0g7SUFDTDtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9uQixRQUFRd0IsT0FBTyxLQUFLLGNBQWUsT0FBT3hCLFFBQVF3QixPQUFPLEtBQUssWUFBWXhCLFFBQVF3QixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU94QixRQUFRd0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySzNCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUXdCLE9BQU8sRUFBRSxjQUFjO1FBQUV2QixPQUFPO0lBQUs7SUFDbkVILE9BQU80QixNQUFNLENBQUMxQixRQUFRd0IsT0FBTyxFQUFFeEI7SUFDL0IyQixPQUFPM0IsT0FBTyxHQUFHQSxRQUFRd0IsT0FBTztBQUNsQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9WZXJzaW9uU3RhbGVuZXNzSW5mby9WZXJzaW9uU3RhbGVuZXNzSW5mby5qcz9iN2RjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVmVyc2lvblN0YWxlbmVzc0luZm9cIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFZlcnNpb25TdGFsZW5lc3NJbmZvO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuZnVuY3Rpb24gVmVyc2lvblN0YWxlbmVzc0luZm8ocHJvcHMpIHtcbiAgICBpZiAoIXByb3BzKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCB7IHN0YWxlbmVzcywgaW5zdGFsbGVkLCBleHBlY3RlZCB9ID0gcHJvcHM7XG4gICAgbGV0IHRleHQgPSBcIlwiO1xuICAgIGxldCB0aXRsZSA9IFwiXCI7XG4gICAgbGV0IGluZGljYXRvckNsYXNzID0gXCJcIjtcbiAgICBzd2l0Y2goc3RhbGVuZXNzKXtcbiAgICAgICAgY2FzZSBcImZyZXNoXCI6XG4gICAgICAgICAgICB0ZXh0ID0gXCJOZXh0LmpzIGlzIHVwIHRvIGRhdGVcIjtcbiAgICAgICAgICAgIHRpdGxlID0gXCJMYXRlc3QgYXZhaWxhYmxlIHZlcnNpb24gaXMgZGV0ZWN0ZWQgKFwiICsgaW5zdGFsbGVkICsgXCIpLlwiO1xuICAgICAgICAgICAgaW5kaWNhdG9yQ2xhc3MgPSBcImZyZXNoXCI7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcInN0YWxlLXBhdGNoXCI6XG4gICAgICAgIGNhc2UgXCJzdGFsZS1taW5vclwiOlxuICAgICAgICAgICAgdGV4dCA9IFwiTmV4dC5qcyAoXCIgKyBpbnN0YWxsZWQgKyBcIikgb3V0IG9mIGRhdGVcIjtcbiAgICAgICAgICAgIHRpdGxlID0gXCJUaGVyZSBpcyBhIG5ld2VyIHZlcnNpb24gKFwiICsgZXhwZWN0ZWQgKyBcIikgYXZhaWxhYmxlLCB1cGdyYWRlIHJlY29tbWVuZGVkISBcIjtcbiAgICAgICAgICAgIGluZGljYXRvckNsYXNzID0gXCJzdGFsZVwiO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJzdGFsZS1tYWpvclwiOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRleHQgPSBcIk5leHQuanMgKFwiICsgaW5zdGFsbGVkICsgXCIpIGlzIG91dGRhdGVkXCI7XG4gICAgICAgICAgICAgICAgdGl0bGUgPSBcIkFuIG91dGRhdGVkIHZlcnNpb24gZGV0ZWN0ZWQgKGxhdGVzdCBpcyBcIiArIGV4cGVjdGVkICsgXCIpLCB1cGdyYWRlIGlzIGhpZ2hseSByZWNvbW1lbmRlZCFcIjtcbiAgICAgICAgICAgICAgICBpbmRpY2F0b3JDbGFzcyA9IFwib3V0ZGF0ZWRcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBcInN0YWxlLXByZXJlbGVhc2VcIjpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0ID0gXCJOZXh0LmpzIChcIiArIGluc3RhbGxlZCArIFwiKSBpcyBvdXRkYXRlZFwiO1xuICAgICAgICAgICAgICAgIHRpdGxlID0gXCJUaGVyZSBpcyBhIG5ld2VyIGNhbmFyeSB2ZXJzaW9uIChcIiArIGV4cGVjdGVkICsgXCIpIGF2YWlsYWJsZSwgcGxlYXNlIHVwZ3JhZGUhIFwiO1xuICAgICAgICAgICAgICAgIGluZGljYXRvckNsYXNzID0gXCJzdGFsZVwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIFwibmV3ZXItdGhhbi1ucG1cIjpcbiAgICAgICAgY2FzZSBcInVua25vd25cIjpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGlmICghdGV4dCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwic21hbGxcIiwge1xuICAgICAgICBjbGFzc05hbWU6IFwibmV4dGpzLWNvbnRhaW5lci1idWlsZC1lcnJvci12ZXJzaW9uLXN0YXR1c1wiLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInNwYW5cIiwge1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogaW5kaWNhdG9yQ2xhc3NcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInNtYWxsXCIsIHtcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IFwibmV4dGpzLWNvbnRhaW5lci1idWlsZC1lcnJvci12ZXJzaW9uLXN0YXR1c1wiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGV4dFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBcIiBcIixcbiAgICAgICAgICAgIHN0YWxlbmVzcyA9PT0gXCJmcmVzaFwiIHx8IHN0YWxlbmVzcyA9PT0gXCJ1bmtub3duXCIgPyBudWxsIDogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImFcIiwge1xuICAgICAgICAgICAgICAgIHRhcmdldDogXCJfYmxhbmtcIixcbiAgICAgICAgICAgICAgICByZWw6IFwibm9vcGVuZXIgbm9yZWZlcnJlclwiLFxuICAgICAgICAgICAgICAgIGhyZWY6IFwiaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdmVyc2lvbi1zdGFsZW5lc3NcIixcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogXCIobGVhcm4gbW9yZSlcIlxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1WZXJzaW9uU3RhbGVuZXNzSW5mby5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiVmVyc2lvblN0YWxlbmVzc0luZm8iLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwicHJvcHMiLCJzdGFsZW5lc3MiLCJpbnN0YWxsZWQiLCJleHBlY3RlZCIsInRleHQiLCJ0aXRsZSIsImluZGljYXRvckNsYXNzIiwianN4cyIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwianN4IiwidGFyZ2V0IiwicmVsIiwiaHJlZiIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js": /*!**********************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js ***! \**********************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n styles: function() {\n return _styles.styles;\n },\n VersionStalenessInfo: function() {\n return _VersionStalenessInfo.VersionStalenessInfo;\n }\n});\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ./VersionStalenessInfo */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLFFBQVE7UUFDSixPQUFPUSxRQUFRUixNQUFNO0lBQ3pCO0lBQ0FDLHNCQUFzQjtRQUNsQixPQUFPUSxzQkFBc0JSLG9CQUFvQjtJQUNyRDtBQUNKO0FBQ0EsTUFBTU8sVUFBVUUsbUJBQU9BLENBQUMsdUlBQVU7QUFDbEMsTUFBTUQsd0JBQXdCQyxtQkFBT0EsQ0FBQyxtS0FBd0I7QUFFOUQsSUFBSSxDQUFDLE9BQU9iLFFBQVFjLE9BQU8sS0FBSyxjQUFlLE9BQU9kLFFBQVFjLE9BQU8sS0FBSyxZQUFZZCxRQUFRYyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9kLFFBQVFjLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktqQixPQUFPQyxjQUFjLENBQUNDLFFBQVFjLE9BQU8sRUFBRSxjQUFjO1FBQUViLE9BQU87SUFBSztJQUNuRUgsT0FBT2tCLE1BQU0sQ0FBQ2hCLFFBQVFjLE9BQU8sRUFBRWQ7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUWMsT0FBTztBQUNsQyxFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9WZXJzaW9uU3RhbGVuZXNzSW5mby9pbmRleC5qcz8xZjNmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgc3R5bGVzOiBudWxsLFxuICAgIFZlcnNpb25TdGFsZW5lc3NJbmZvOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHN0eWxlczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfc3R5bGVzLnN0eWxlcztcbiAgICB9LFxuICAgIFZlcnNpb25TdGFsZW5lc3NJbmZvOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9WZXJzaW9uU3RhbGVuZXNzSW5mby5WZXJzaW9uU3RhbGVuZXNzSW5mbztcbiAgICB9XG59KTtcbmNvbnN0IF9zdHlsZXMgPSByZXF1aXJlKFwiLi9zdHlsZXNcIik7XG5jb25zdCBfVmVyc2lvblN0YWxlbmVzc0luZm8gPSByZXF1aXJlKFwiLi9WZXJzaW9uU3RhbGVuZXNzSW5mb1wiKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwic3R5bGVzIiwiVmVyc2lvblN0YWxlbmVzc0luZm8iLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfc3R5bGVzIiwiX1ZlcnNpb25TdGFsZW5lc3NJbmZvIiwicmVxdWlyZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js": /*!***********************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js ***! \***********************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-build-error-version-status {\\n flex: 1;\\n text-align: right;\\n }\\n .nextjs-container-build-error-version-status small {\\n margin-left: var(--size-gap);\\n font-size: var(--size-font-small);\\n }\\n .nextjs-container-build-error-version-status a {\\n font-size: var(--size-font-small);\\n }\\n .nextjs-container-build-error-version-status span {\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n border-radius: 5px;\\n background: var(--color-ansi-bright-black);\\n }\\n .nextjs-container-build-error-version-status span.fresh {\\n background: var(--color-ansi-green);\\n }\\n .nextjs-container-build-error-version-status span.stale {\\n background: var(--color-ansi-yellow);\\n }\\n .nextjs-container-build-error-version-status span.outdated {\\n background: var(--color-ansi-red);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vc3R5bGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwwQ0FBeUM7SUFDckNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQ0FBaUNDLG1CQUFPQSxDQUFDLDhIQUErQztBQUM5RixNQUFNQyxnQkFBZ0JELG1CQUFPQSxDQUFDLHlJQUE2QjtBQUMzRCxTQUFTRTtJQUNMLE1BQU1DLE9BQU9KLCtCQUErQkssQ0FBQyxDQUFDO1FBQzFDO0tBQ0g7SUFDREYsa0JBQWtCO1FBQ2QsT0FBT0M7SUFDWDtJQUNBLE9BQU9BO0FBQ1g7QUFDQSxNQUFNTCxTQUFTLENBQUMsR0FBR0csY0FBY0ksSUFBSSxFQUFFSDtBQUV2QyxJQUFJLENBQUMsT0FBT1IsUUFBUVksT0FBTyxLQUFLLGNBQWUsT0FBT1osUUFBUVksT0FBTyxLQUFLLFlBQVlaLFFBQVFZLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT1osUUFBUVksT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2YsT0FBT0MsY0FBYyxDQUFDQyxRQUFRWSxPQUFPLEVBQUUsY0FBYztRQUFFWCxPQUFPO0lBQUs7SUFDbkVILE9BQU9nQixNQUFNLENBQUNkLFFBQVFZLE9BQU8sRUFBRVo7SUFDL0JlLE9BQU9mLE9BQU8sR0FBR0EsUUFBUVksT0FBTztBQUNsQyxFQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9WZXJzaW9uU3RhbGVuZXNzSW5mby9zdHlsZXMuanM/MThmMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInN0eWxlc1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3R5bGVzO1xuICAgIH1cbn0pO1xuY29uc3QgX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL190YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZVwiKTtcbmNvbnN0IF9ub29wdGVtcGxhdGUgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy9ub29wLXRlbXBsYXRlXCIpO1xuZnVuY3Rpb24gX3RlbXBsYXRlT2JqZWN0KCkge1xuICAgIGNvbnN0IGRhdGEgPSBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuXyhbXG4gICAgICAgIFwiXFxuICAubmV4dGpzLWNvbnRhaW5lci1idWlsZC1lcnJvci12ZXJzaW9uLXN0YXR1cyB7XFxuICAgIGZsZXg6IDE7XFxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xcbiAgfVxcbiAgLm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItdmVyc2lvbi1zdGF0dXMgc21hbGwge1xcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS1nYXApO1xcbiAgICBmb250LXNpemU6IHZhcigtLXNpemUtZm9udC1zbWFsbCk7XFxuICB9XFxuICAubmV4dGpzLWNvbnRhaW5lci1idWlsZC1lcnJvci12ZXJzaW9uLXN0YXR1cyBhIHtcXG4gICAgZm9udC1zaXplOiB2YXIoLS1zaXplLWZvbnQtc21hbGwpO1xcbiAgfVxcbiAgLm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItdmVyc2lvbi1zdGF0dXMgc3BhbiB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgd2lkdGg6IDEwcHg7XFxuICAgIGhlaWdodDogMTBweDtcXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbnNpLWJyaWdodC1ibGFjayk7XFxuICB9XFxuICAubmV4dGpzLWNvbnRhaW5lci1idWlsZC1lcnJvci12ZXJzaW9uLXN0YXR1cyBzcGFuLmZyZXNoIHtcXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYW5zaS1ncmVlbik7XFxuICB9XFxuICAubmV4dGpzLWNvbnRhaW5lci1idWlsZC1lcnJvci12ZXJzaW9uLXN0YXR1cyBzcGFuLnN0YWxlIHtcXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYW5zaS15ZWxsb3cpO1xcbiAgfVxcbiAgLm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItdmVyc2lvbi1zdGF0dXMgc3Bhbi5vdXRkYXRlZCB7XFxuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFuc2ktcmVkKTtcXG4gIH1cXG5cIlxuICAgIF0pO1xuICAgIF90ZW1wbGF0ZU9iamVjdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9O1xuICAgIHJldHVybiBkYXRhO1xufVxuY29uc3Qgc3R5bGVzID0gKDAsIF9ub29wdGVtcGxhdGUubm9vcCkoX3RlbXBsYXRlT2JqZWN0KCkpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInN0eWxlcyIsIl90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSIsInJlcXVpcmUiLCJfbm9vcHRlbXBsYXRlIiwiX3RlbXBsYXRlT2JqZWN0IiwiZGF0YSIsIl8iLCJub29wIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/get-words-and-whitespaces.js": /*!*************************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/get-words-and-whitespaces.js ***! \*************************************************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("// Returns true if the given character is a whitespace character, false otherwise.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getWordsAndWhitespaces\", ({\n enumerable: true,\n get: function() {\n return getWordsAndWhitespaces;\n }\n}));\nfunction isWhitespace(char) {\n return char === \" \" || char === \"\\n\" || char === \"\t\" || char === \"\\r\";\n}\nfunction getWordsAndWhitespaces(text) {\n const wordsAndWhitespaces = [];\n let current = \"\";\n let currentIsWhitespace = false;\n for (const char of text){\n if (current.length === 0) {\n current += char;\n currentIsWhitespace = isWhitespace(char);\n continue;\n }\n const nextIsWhitespace = isWhitespace(char);\n if (currentIsWhitespace === nextIsWhitespace) {\n current += char;\n } else {\n wordsAndWhitespaces.push(current);\n current = char;\n currentIsWhitespace = nextIsWhitespace;\n }\n }\n if (current.length > 0) {\n wordsAndWhitespaces.push(current);\n }\n return wordsAndWhitespaces;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-words-and-whitespaces.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvaG90LWxpbmtlZC10ZXh0L2dldC13b3Jkcy1hbmQtd2hpdGVzcGFjZXMuanMiLCJtYXBwaW5ncyI6IkFBQUEsa0ZBQWtGO0FBQ3JFO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwwREFBeUQ7SUFDckRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQyxhQUFhQyxJQUFJO0lBQ3RCLE9BQU9BLFNBQVMsT0FBT0EsU0FBUyxRQUFRQSxTQUFTLE9BQU9BLFNBQVM7QUFDckU7QUFDQSxTQUFTRix1QkFBdUJHLElBQUk7SUFDaEMsTUFBTUMsc0JBQXNCLEVBQUU7SUFDOUIsSUFBSUMsVUFBVTtJQUNkLElBQUlDLHNCQUFzQjtJQUMxQixLQUFLLE1BQU1KLFFBQVFDLEtBQUs7UUFDcEIsSUFBSUUsUUFBUUUsTUFBTSxLQUFLLEdBQUc7WUFDdEJGLFdBQVdIO1lBQ1hJLHNCQUFzQkwsYUFBYUM7WUFDbkM7UUFDSjtRQUNBLE1BQU1NLG1CQUFtQlAsYUFBYUM7UUFDdEMsSUFBSUksd0JBQXdCRSxrQkFBa0I7WUFDMUNILFdBQVdIO1FBQ2YsT0FBTztZQUNIRSxvQkFBb0JLLElBQUksQ0FBQ0o7WUFDekJBLFVBQVVIO1lBQ1ZJLHNCQUFzQkU7UUFDMUI7SUFDSjtJQUNBLElBQUlILFFBQVFFLE1BQU0sR0FBRyxHQUFHO1FBQ3BCSCxvQkFBb0JLLElBQUksQ0FBQ0o7SUFDN0I7SUFDQSxPQUFPRDtBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU9SLFFBQVFjLE9BQU8sS0FBSyxjQUFlLE9BQU9kLFFBQVFjLE9BQU8sS0FBSyxZQUFZZCxRQUFRYyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9kLFFBQVFjLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktqQixPQUFPQyxjQUFjLENBQUNDLFFBQVFjLE9BQU8sRUFBRSxjQUFjO1FBQUViLE9BQU87SUFBSztJQUNuRUgsT0FBT2tCLE1BQU0sQ0FBQ2hCLFFBQVFjLE9BQU8sRUFBRWQ7SUFDL0JpQixPQUFPakIsT0FBTyxHQUFHQSxRQUFRYyxPQUFPO0FBQ2xDLEVBRUEscURBQXFEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL2hvdC1saW5rZWQtdGV4dC9nZXQtd29yZHMtYW5kLXdoaXRlc3BhY2VzLmpzPzI0NmYiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBjaGFyYWN0ZXIgaXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLlxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRXb3Jkc0FuZFdoaXRlc3BhY2VzXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRXb3Jkc0FuZFdoaXRlc3BhY2VzO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaXNXaGl0ZXNwYWNlKGNoYXIpIHtcbiAgICByZXR1cm4gY2hhciA9PT0gXCIgXCIgfHwgY2hhciA9PT0gXCJcXG5cIiB8fCBjaGFyID09PSBcIlx0XCIgfHwgY2hhciA9PT0gXCJcXHJcIjtcbn1cbmZ1bmN0aW9uIGdldFdvcmRzQW5kV2hpdGVzcGFjZXModGV4dCkge1xuICAgIGNvbnN0IHdvcmRzQW5kV2hpdGVzcGFjZXMgPSBbXTtcbiAgICBsZXQgY3VycmVudCA9IFwiXCI7XG4gICAgbGV0IGN1cnJlbnRJc1doaXRlc3BhY2UgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGNoYXIgb2YgdGV4dCl7XG4gICAgICAgIGlmIChjdXJyZW50Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgY3VycmVudCArPSBjaGFyO1xuICAgICAgICAgICAgY3VycmVudElzV2hpdGVzcGFjZSA9IGlzV2hpdGVzcGFjZShjaGFyKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5leHRJc1doaXRlc3BhY2UgPSBpc1doaXRlc3BhY2UoY2hhcik7XG4gICAgICAgIGlmIChjdXJyZW50SXNXaGl0ZXNwYWNlID09PSBuZXh0SXNXaGl0ZXNwYWNlKSB7XG4gICAgICAgICAgICBjdXJyZW50ICs9IGNoYXI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3b3Jkc0FuZFdoaXRlc3BhY2VzLnB1c2goY3VycmVudCk7XG4gICAgICAgICAgICBjdXJyZW50ID0gY2hhcjtcbiAgICAgICAgICAgIGN1cnJlbnRJc1doaXRlc3BhY2UgPSBuZXh0SXNXaGl0ZXNwYWNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChjdXJyZW50Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgd29yZHNBbmRXaGl0ZXNwYWNlcy5wdXNoKGN1cnJlbnQpO1xuICAgIH1cbiAgICByZXR1cm4gd29yZHNBbmRXaGl0ZXNwYWNlcztcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0LXdvcmRzLWFuZC13aGl0ZXNwYWNlcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZ2V0V29yZHNBbmRXaGl0ZXNwYWNlcyIsImlzV2hpdGVzcGFjZSIsImNoYXIiLCJ0ZXh0Iiwid29yZHNBbmRXaGl0ZXNwYWNlcyIsImN1cnJlbnQiLCJjdXJyZW50SXNXaGl0ZXNwYWNlIiwibGVuZ3RoIiwibmV4dElzV2hpdGVzcGFjZSIsInB1c2giLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/get-words-and-whitespaces.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js": /*!*****************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js ***! \*****************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HotlinkedText\", ({\n enumerable: true,\n get: function() {\n return HotlinkedText;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _getwordsandwhitespaces = __webpack_require__(/*! ./get-words-and-whitespaces */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/get-words-and-whitespaces.js\");\nconst linkRegex = /https?:\\/\\/[^\\s/$.?#].[^\\s\"]*/i;\nconst HotlinkedText = function HotlinkedText(props) {\n const { text } = props;\n const wordsAndWhitespaces = (0, _getwordsandwhitespaces.getWordsAndWhitespaces)(text);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: linkRegex.test(text) ? wordsAndWhitespaces.map((word, index)=>{\n if (linkRegex.test(word)) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default.Fragment, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n href: word,\n children: word\n })\n }, \"link-\" + index);\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default.Fragment, {\n children: word\n }, \"text-\" + index);\n }) : text\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvaG90LWxpbmtlZC10ZXh0L2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxpREFBZ0Q7SUFDNUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLGtIQUF5QztBQUNsRixNQUFNQyxjQUFjRCxtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUUsU0FBUyxXQUFXLEdBQUdILHlCQUF5QkksQ0FBQyxDQUFDSCxtQkFBT0EsQ0FBQyx3R0FBTztBQUN2RSxNQUFNSSwwQkFBMEJKLG1CQUFPQSxDQUFDLHdLQUE2QjtBQUNyRSxNQUFNSyxZQUFZO0FBQ2xCLE1BQU1QLGdCQUFnQixTQUFTQSxjQUFjUSxLQUFLO0lBQzlDLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdEO0lBQ2pCLE1BQU1FLHNCQUFzQixDQUFDLEdBQUdKLHdCQUF3Qkssc0JBQXNCLEVBQUVGO0lBQ2hGLE9BQXFCLFdBQUgsR0FBSSxJQUFHTixZQUFZUyxHQUFHLEVBQUVULFlBQVlVLFFBQVEsRUFBRTtRQUM1REMsVUFBVVAsVUFBVVEsSUFBSSxDQUFDTixRQUFRQyxvQkFBb0JNLEdBQUcsQ0FBQyxDQUFDQyxNQUFNQztZQUM1RCxJQUFJWCxVQUFVUSxJQUFJLENBQUNFLE9BQU87Z0JBQ3RCLE9BQXFCLFdBQUgsR0FBSSxJQUFHZCxZQUFZUyxHQUFHLEVBQUVSLE9BQU9lLE9BQU8sQ0FBQ04sUUFBUSxFQUFFO29CQUMvREMsVUFBd0IsV0FBSCxHQUFJLElBQUdYLFlBQVlTLEdBQUcsRUFBRSxLQUFLO3dCQUM5Q1EsTUFBTUg7d0JBQ05ILFVBQVVHO29CQUNkO2dCQUNKLEdBQUcsVUFBVUM7WUFDakI7WUFDQSxPQUFxQixXQUFILEdBQUksSUFBR2YsWUFBWVMsR0FBRyxFQUFFUixPQUFPZSxPQUFPLENBQUNOLFFBQVEsRUFBRTtnQkFDL0RDLFVBQVVHO1lBQ2QsR0FBRyxVQUFVQztRQUNqQixLQUFLVDtJQUNUO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT2IsUUFBUXVCLE9BQU8sS0FBSyxjQUFlLE9BQU92QixRQUFRdUIsT0FBTyxLQUFLLFlBQVl2QixRQUFRdUIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPdkIsUUFBUXVCLE9BQU8sQ0FBQ0UsVUFBVSxLQUFLLGFBQWE7SUFDckszQixPQUFPQyxjQUFjLENBQUNDLFFBQVF1QixPQUFPLEVBQUUsY0FBYztRQUFFdEIsT0FBTztJQUFLO0lBQ25FSCxPQUFPNEIsTUFBTSxDQUFDMUIsUUFBUXVCLE9BQU8sRUFBRXZCO0lBQy9CMkIsT0FBTzNCLE9BQU8sR0FBR0EsUUFBUXVCLE9BQU87QUFDbEMsRUFFQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvaG90LWxpbmtlZC10ZXh0L2luZGV4LmpzPzk1YTMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJIb3RsaW5rZWRUZXh0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBIb3RsaW5rZWRUZXh0O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX2dldHdvcmRzYW5kd2hpdGVzcGFjZXMgPSByZXF1aXJlKFwiLi9nZXQtd29yZHMtYW5kLXdoaXRlc3BhY2VzXCIpO1xuY29uc3QgbGlua1JlZ2V4ID0gL2h0dHBzPzpcXC9cXC9bXlxccy8kLj8jXS5bXlxcc1wiXSovaTtcbmNvbnN0IEhvdGxpbmtlZFRleHQgPSBmdW5jdGlvbiBIb3RsaW5rZWRUZXh0KHByb3BzKSB7XG4gICAgY29uc3QgeyB0ZXh0IH0gPSBwcm9wcztcbiAgICBjb25zdCB3b3Jkc0FuZFdoaXRlc3BhY2VzID0gKDAsIF9nZXR3b3Jkc2FuZHdoaXRlc3BhY2VzLmdldFdvcmRzQW5kV2hpdGVzcGFjZXMpKHRleHQpO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgIGNoaWxkcmVuOiBsaW5rUmVnZXgudGVzdCh0ZXh0KSA/IHdvcmRzQW5kV2hpdGVzcGFjZXMubWFwKCh3b3JkLCBpbmRleCk9PntcbiAgICAgICAgICAgIGlmIChsaW5rUmVnZXgudGVzdCh3b3JkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiYVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBocmVmOiB3b3JkLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHdvcmRcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9LCBcImxpbmstXCIgKyBpbmRleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB3b3JkXG4gICAgICAgICAgICB9LCBcInRleHQtXCIgKyBpbmRleCk7XG4gICAgICAgIH0pIDogdGV4dFxuICAgIH0pO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkhvdGxpbmtlZFRleHQiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwiX2dldHdvcmRzYW5kd2hpdGVzcGFjZXMiLCJsaW5rUmVnZXgiLCJwcm9wcyIsInRleHQiLCJ3b3Jkc0FuZFdoaXRlc3BhY2VzIiwiZ2V0V29yZHNBbmRXaGl0ZXNwYWNlcyIsImpzeCIsIkZyYWdtZW50IiwiY2hpbGRyZW4iLCJ0ZXN0IiwibWFwIiwid29yZCIsImluZGV4IiwiZGVmYXVsdCIsImhyZWYiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js ***! \*****************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n BuildError: function() {\n return BuildError;\n },\n styles: function() {\n return styles;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _Terminal = __webpack_require__(/*! ../components/Terminal */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-build-error-header {\\n display: flex;\\n align-items: center;\\n }\\n .nextjs-container-build-error-header > h4 {\\n line-height: 1.5;\\n margin: 0;\\n padding: 0;\\n }\\n\\n .nextjs-container-build-error-body footer {\\n margin-top: var(--size-gap);\\n }\\n .nextjs-container-build-error-body footer p {\\n margin: 0;\\n }\\n\\n .nextjs-container-build-error-body small {\\n color: #757575;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst BuildError = function BuildError(param) {\n let { message, versionInfo } = param;\n const noop = _react.useCallback(()=>{}, []);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n fixed: true,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_build_error_label\",\n \"aria-describedby\": \"nextjs__container_build_error_desc\",\n onClose: noop,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogContent, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogHeader, {\n className: \"nextjs-container-build-error-header\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h4\", {\n id: \"nextjs__container_build_error_label\",\n children: \"Failed to compile\"\n }),\n versionInfo ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_VersionStalenessInfo.VersionStalenessInfo, {\n ...versionInfo\n }) : null\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogBody, {\n className: \"nextjs-container-build-error-body\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Terminal.Terminal, {\n content: message\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"footer\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_build_error_desc\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n children: \"This error occurred during the build process and can only be dismissed by fixing the error.\"\n })\n })\n })\n ]\n })\n ]\n })\n })\n });\n};\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=BuildError.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9CdWlsZEVycm9yLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxZQUFZO1FBQ1IsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsaUNBQWlDRCxtQkFBT0EsQ0FBQyw4SEFBK0M7QUFDOUYsTUFBTUUsY0FBY0YsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1HLFNBQVMsV0FBVyxHQUFHSiwwQkFBMEJLLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUssVUFBVUwsbUJBQU9BLENBQUMsb0lBQXNCO0FBQzlDLE1BQU1NLFdBQVdOLG1CQUFPQSxDQUFDLHNJQUF1QjtBQUNoRCxNQUFNTyxZQUFZUCxtQkFBT0EsQ0FBQyx3SUFBd0I7QUFDbEQsTUFBTVEsd0JBQXdCUixtQkFBT0EsQ0FBQyxnS0FBb0M7QUFDMUUsTUFBTVMsZ0JBQWdCVCxtQkFBT0EsQ0FBQyxzSUFBMEI7QUFDeEQsU0FBU1U7SUFDTCxNQUFNQyxPQUFPViwrQkFBK0JHLENBQUMsQ0FBQztRQUMxQztLQUNIO0lBQ0RNLGtCQUFrQjtRQUNkLE9BQU9DO0lBQ1g7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsTUFBTXBCLGFBQWEsU0FBU0EsV0FBV3FCLEtBQUs7SUFDeEMsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLFdBQVcsRUFBRSxHQUFHRjtJQUMvQixNQUFNRyxPQUFPWixPQUFPYSxXQUFXLENBQUMsS0FBSyxHQUFHLEVBQUU7SUFDMUMsT0FBcUIsV0FBSCxHQUFJLElBQUdkLFlBQVllLEdBQUcsRUFBRVgsU0FBU1ksT0FBTyxFQUFFO1FBQ3hEQyxPQUFPO1FBQ1BDLFVBQXdCLFdBQUgsR0FBSSxJQUFHbEIsWUFBWWUsR0FBRyxFQUFFWixRQUFRZ0IsTUFBTSxFQUFFO1lBQ3pEQyxNQUFNO1lBQ04sbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQkMsU0FBU1I7WUFDVEssVUFBd0IsV0FBSCxHQUFJLElBQUdsQixZQUFZc0IsSUFBSSxFQUFFbkIsUUFBUW9CLGFBQWEsRUFBRTtnQkFDakVMLFVBQVU7b0JBQ04sV0FBVyxHQUFJLElBQUdsQixZQUFZc0IsSUFBSSxFQUFFbkIsUUFBUXFCLFlBQVksRUFBRTt3QkFDdERDLFdBQVc7d0JBQ1hQLFVBQVU7NEJBQ04sV0FBVyxHQUFJLElBQUdsQixZQUFZZSxHQUFHLEVBQUUsTUFBTTtnQ0FDckNXLElBQUk7Z0NBQ0pSLFVBQVU7NEJBQ2Q7NEJBQ0FOLGNBQTRCLFdBQUgsR0FBSSxJQUFHWixZQUFZZSxHQUFHLEVBQUVULHNCQUFzQnFCLG9CQUFvQixFQUFFO2dDQUN6RixHQUFHZixXQUFXOzRCQUNsQixLQUFLO3lCQUNSO29CQUNMO29CQUNBLFdBQVcsR0FBSSxJQUFHWixZQUFZc0IsSUFBSSxFQUFFbkIsUUFBUXlCLFVBQVUsRUFBRTt3QkFDcERILFdBQVc7d0JBQ1hQLFVBQVU7NEJBQ04sV0FBVyxHQUFJLElBQUdsQixZQUFZZSxHQUFHLEVBQUVWLFVBQVV3QixRQUFRLEVBQUU7Z0NBQ25EQyxTQUFTbkI7NEJBQ2I7NEJBQ0EsV0FBVyxHQUFJLElBQUdYLFlBQVllLEdBQUcsRUFBRSxVQUFVO2dDQUN6Q0csVUFBd0IsV0FBSCxHQUFJLElBQUdsQixZQUFZZSxHQUFHLEVBQUUsS0FBSztvQ0FDOUNXLElBQUk7b0NBQ0pSLFVBQXdCLFdBQUgsR0FBSSxJQUFHbEIsWUFBWWUsR0FBRyxFQUFFLFNBQVM7d0NBQ2xERyxVQUFVO29DQUNkO2dDQUNKOzRCQUNKO3lCQUNIO29CQUNMO2lCQUNIO1lBQ0w7UUFDSjtJQUNKO0FBQ0o7QUFDQSxNQUFNNUIsU0FBUyxDQUFDLEdBQUdpQixjQUFjTSxJQUFJLEVBQUVMO0FBRXZDLElBQUksQ0FBQyxPQUFPdEIsUUFBUTZDLE9BQU8sS0FBSyxjQUFlLE9BQU83QyxRQUFRNkMsT0FBTyxLQUFLLFlBQVk3QyxRQUFRNkMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPN0MsUUFBUTZDLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktoRCxPQUFPQyxjQUFjLENBQUNDLFFBQVE2QyxPQUFPLEVBQUUsY0FBYztRQUFFNUMsT0FBTztJQUFLO0lBQ25FSCxPQUFPaUQsTUFBTSxDQUFDL0MsUUFBUTZDLE9BQU8sRUFBRTdDO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVE2QyxPQUFPO0FBQ2xDLEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb250YWluZXIvQnVpbGRFcnJvci5qcz81YmQzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgQnVpbGRFcnJvcjogbnVsbCxcbiAgICBzdHlsZXM6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgQnVpbGRFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBCdWlsZEVycm9yO1xuICAgIH0sXG4gICAgc3R5bGVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2VcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfRGlhbG9nID0gcmVxdWlyZShcIi4uL2NvbXBvbmVudHMvRGlhbG9nXCIpO1xuY29uc3QgX092ZXJsYXkgPSByZXF1aXJlKFwiLi4vY29tcG9uZW50cy9PdmVybGF5XCIpO1xuY29uc3QgX1Rlcm1pbmFsID0gcmVxdWlyZShcIi4uL2NvbXBvbmVudHMvVGVybWluYWxcIik7XG5jb25zdCBfVmVyc2lvblN0YWxlbmVzc0luZm8gPSByZXF1aXJlKFwiLi4vY29tcG9uZW50cy9WZXJzaW9uU3RhbGVuZXNzSW5mb1wiKTtcbmNvbnN0IF9ub29wdGVtcGxhdGUgPSByZXF1aXJlKFwiLi4vaGVscGVycy9ub29wLXRlbXBsYXRlXCIpO1xuZnVuY3Rpb24gX3RlbXBsYXRlT2JqZWN0KCkge1xuICAgIGNvbnN0IGRhdGEgPSBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuXyhbXG4gICAgICAgIFwiXFxuICAubmV4dGpzLWNvbnRhaW5lci1idWlsZC1lcnJvci1oZWFkZXIge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbiAgLm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItaGVhZGVyID4gaDQge1xcbiAgICBsaW5lLWhlaWdodDogMS41O1xcbiAgICBtYXJnaW46IDA7XFxuICAgIHBhZGRpbmc6IDA7XFxuICB9XFxuXFxuICAubmV4dGpzLWNvbnRhaW5lci1idWlsZC1lcnJvci1ib2R5IGZvb3RlciB7XFxuICAgIG1hcmdpbi10b3A6IHZhcigtLXNpemUtZ2FwKTtcXG4gIH1cXG4gIC5uZXh0anMtY29udGFpbmVyLWJ1aWxkLWVycm9yLWJvZHkgZm9vdGVyIHAge1xcbiAgICBtYXJnaW46IDA7XFxuICB9XFxuXFxuICAubmV4dGpzLWNvbnRhaW5lci1idWlsZC1lcnJvci1ib2R5IHNtYWxsIHtcXG4gICAgY29sb3I6ICM3NTc1NzU7XFxuICB9XFxuXCJcbiAgICBdKTtcbiAgICBfdGVtcGxhdGVPYmplY3QgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfTtcbiAgICByZXR1cm4gZGF0YTtcbn1cbmNvbnN0IEJ1aWxkRXJyb3IgPSBmdW5jdGlvbiBCdWlsZEVycm9yKHBhcmFtKSB7XG4gICAgbGV0IHsgbWVzc2FnZSwgdmVyc2lvbkluZm8gfSA9IHBhcmFtO1xuICAgIGNvbnN0IG5vb3AgPSBfcmVhY3QudXNlQ2FsbGJhY2soKCk9Pnt9LCBbXSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX092ZXJsYXkuT3ZlcmxheSwge1xuICAgICAgICBmaXhlZDogdHJ1ZSxcbiAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0RpYWxvZy5EaWFsb2csIHtcbiAgICAgICAgICAgIHR5cGU6IFwiZXJyb3JcIixcbiAgICAgICAgICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IFwibmV4dGpzX19jb250YWluZXJfYnVpbGRfZXJyb3JfbGFiZWxcIixcbiAgICAgICAgICAgIFwiYXJpYS1kZXNjcmliZWRieVwiOiBcIm5leHRqc19fY29udGFpbmVyX2J1aWxkX2Vycm9yX2Rlc2NcIixcbiAgICAgICAgICAgIG9uQ2xvc2U6IG5vb3AsXG4gICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX0RpYWxvZy5EaWFsb2dDb250ZW50LCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX0RpYWxvZy5EaWFsb2dIZWFkZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogXCJuZXh0anMtY29udGFpbmVyLWJ1aWxkLWVycm9yLWhlYWRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiaDRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJuZXh0anNfX2NvbnRhaW5lcl9idWlsZF9lcnJvcl9sYWJlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogXCJGYWlsZWQgdG8gY29tcGlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbkluZm8gPyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9WZXJzaW9uU3RhbGVuZXNzSW5mby5WZXJzaW9uU3RhbGVuZXNzSW5mbywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi52ZXJzaW9uSW5mb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pIDogbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX0RpYWxvZy5EaWFsb2dCb2R5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IFwibmV4dGpzLWNvbnRhaW5lci1idWlsZC1lcnJvci1ib2R5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX1Rlcm1pbmFsLlRlcm1pbmFsLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiZm9vdGVyXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJwXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcIm5leHRqc19fY29udGFpbmVyX2J1aWxkX2Vycm9yX2Rlc2NcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic21hbGxcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBcIlRoaXMgZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzIGFuZCBjYW4gb25seSBiZSBkaXNtaXNzZWQgYnkgZml4aW5nIHRoZSBlcnJvci5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgfSk7XG59O1xuY29uc3Qgc3R5bGVzID0gKDAsIF9ub29wdGVtcGxhdGUubm9vcCkoX3RlbXBsYXRlT2JqZWN0KCkpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1CdWlsZEVycm9yLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIkJ1aWxkRXJyb3IiLCJzdHlsZXMiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9EaWFsb2ciLCJfT3ZlcmxheSIsIl9UZXJtaW5hbCIsIl9WZXJzaW9uU3RhbGVuZXNzSW5mbyIsIl9ub29wdGVtcGxhdGUiLCJfdGVtcGxhdGVPYmplY3QiLCJkYXRhIiwicGFyYW0iLCJtZXNzYWdlIiwidmVyc2lvbkluZm8iLCJub29wIiwidXNlQ2FsbGJhY2siLCJqc3giLCJPdmVybGF5IiwiZml4ZWQiLCJjaGlsZHJlbiIsIkRpYWxvZyIsInR5cGUiLCJvbkNsb3NlIiwianN4cyIsIkRpYWxvZ0NvbnRlbnQiLCJEaWFsb2dIZWFkZXIiLCJjbGFzc05hbWUiLCJpZCIsIlZlcnNpb25TdGFsZW5lc3NJbmZvIiwiRGlhbG9nQm9keSIsIlRlcm1pbmFsIiwiY29udGVudCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js": /*!*************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js ***! \*************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Errors: function() {\n return Errors;\n },\n styles: function() {\n return styles;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _erroroverlayreducer = __webpack_require__(/*! ../error-overlay-reducer */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js\");\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _LeftRightDialogHeader = __webpack_require__(/*! ../components/LeftRightDialogHeader */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _Toast = __webpack_require__(/*! ../components/Toast */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\");\nconst _getErrorByType = __webpack_require__(/*! ../helpers/getErrorByType */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js\");\nconst _nodeStackFrames = __webpack_require__(/*! ../helpers/nodeStackFrames */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nconst _CloseIcon = __webpack_require__(/*! ../icons/CloseIcon */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\");\nconst _RuntimeError = __webpack_require__(/*! ./RuntimeError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../components/hot-linked-text */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-errors-header > h1 {\\n font-size: var(--size-font-big);\\n line-height: var(--size-font-bigger);\\n font-weight: bold;\\n margin: 0;\\n margin-top: calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n .nextjs-container-errors-header small {\\n font-size: var(--size-font-small);\\n color: var(--color-accents-1);\\n margin-left: var(--size-gap-double);\\n }\\n .nextjs-container-errors-header small > span {\\n font-family: var(--font-stack-monospace);\\n }\\n .nextjs-container-errors-header > p {\\n font-family: var(--font-stack-monospace);\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-big);\\n font-weight: bold;\\n margin: 0;\\n margin-top: var(--size-gap-half);\\n color: var(--color-ansi-red);\\n white-space: pre-wrap;\\n }\\n .nextjs-container-errors-header > div > small {\\n margin: 0;\\n margin-top: var(--size-gap-half);\\n }\\n .nextjs-container-errors-header > p > a {\\n color: var(--color-ansi-red);\\n }\\n\\n .nextjs-container-errors-body > h2:not(:first-child) {\\n margin-top: calc(var(--size-gap-double) + var(--size-gap));\\n }\\n .nextjs-container-errors-body > h2 {\\n margin-bottom: var(--size-gap);\\n font-size: var(--size-font-big);\\n }\\n\\n .nextjs-toast-errors-parent {\\n cursor: pointer;\\n transition: transform 0.2s ease;\\n }\\n .nextjs-toast-errors-parent:hover {\\n transform: scale(1.1);\\n }\\n .nextjs-toast-errors {\\n display: flex;\\n align-items: center;\\n justify-content: flex-start;\\n }\\n .nextjs-toast-errors > svg {\\n margin-right: var(--size-gap);\\n }\\n .nextjs-toast-errors-hide-button {\\n margin-left: var(--size-gap-triple);\\n border: none;\\n background: none;\\n color: var(--color-ansi-bright-white);\\n padding: 0;\\n transition: opacity 0.25s ease;\\n opacity: 0.7;\\n }\\n .nextjs-toast-errors-hide-button:hover {\\n opacity: 1;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction getErrorSignature(ev) {\n const { event } = ev;\n switch(event.type){\n case _erroroverlayreducer.ACTION_UNHANDLED_ERROR:\n case _erroroverlayreducer.ACTION_UNHANDLED_REJECTION:\n {\n return event.reason.name + \"::\" + event.reason.message + \"::\" + event.reason.stack;\n }\n default:\n {}\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = event;\n return \"\";\n}\nconst Errors = function Errors(param) {\n let { errors, initialDisplayState, versionInfo } = param;\n const [lookups, setLookups] = _react.useState({});\n const [readyErrors, nextError] = _react.useMemo(()=>{\n let ready = [];\n let next = null;\n // Ensure errors are displayed in the order they occurred in:\n for(let idx = 0; idx < errors.length; ++idx){\n const e = errors[idx];\n const { id } = e;\n if (id in lookups) {\n ready.push(lookups[id]);\n continue;\n }\n // Check for duplicate errors\n if (idx > 0) {\n const prev = errors[idx - 1];\n if (getErrorSignature(prev) === getErrorSignature(e)) {\n continue;\n }\n }\n next = e;\n break;\n }\n return [\n ready,\n next\n ];\n }, [\n errors,\n lookups\n ]);\n const isLoading = _react.useMemo(()=>{\n return readyErrors.length < 1 && Boolean(errors.length);\n }, [\n errors.length,\n readyErrors.length\n ]);\n _react.useEffect(()=>{\n if (nextError == null) {\n return;\n }\n let mounted = true;\n (0, _getErrorByType.getErrorByType)(nextError).then((resolved)=>{\n // We don't care if the desired error changed while we were resolving,\n // thus we're not tracking it using a ref. Once the work has been done,\n // we'll store it.\n if (mounted) {\n setLookups((m)=>({\n ...m,\n [resolved.id]: resolved\n }));\n }\n }, ()=>{\n // TODO: handle this, though an edge case\n });\n return ()=>{\n mounted = false;\n };\n }, [\n nextError\n ]);\n const [displayState, setDisplayState] = _react.useState(initialDisplayState);\n const [activeIdx, setActiveIndex] = _react.useState(0);\n const previous = _react.useCallback((e)=>{\n e == null ? void 0 : e.preventDefault();\n setActiveIndex((v)=>Math.max(0, v - 1));\n }, []);\n const next = _react.useCallback((e)=>{\n e == null ? void 0 : e.preventDefault();\n setActiveIndex((v)=>Math.max(0, Math.min(readyErrors.length - 1, v + 1)));\n }, [\n readyErrors.length\n ]);\n var _readyErrors_activeIdx;\n const activeError = _react.useMemo(()=>(_readyErrors_activeIdx = readyErrors[activeIdx]) != null ? _readyErrors_activeIdx : null, [\n activeIdx,\n readyErrors\n ]);\n // Reset component state when there are no errors to be displayed.\n // This should never happen, but lets handle it.\n _react.useEffect(()=>{\n if (errors.length < 1) {\n setLookups({});\n setDisplayState(\"hidden\");\n setActiveIndex(0);\n }\n }, [\n errors.length\n ]);\n const minimize = _react.useCallback((e)=>{\n e == null ? void 0 : e.preventDefault();\n setDisplayState(\"minimized\");\n }, []);\n const hide = _react.useCallback((e)=>{\n e == null ? void 0 : e.preventDefault();\n setDisplayState(\"hidden\");\n }, []);\n const fullscreen = _react.useCallback((e)=>{\n e == null ? void 0 : e.preventDefault();\n setDisplayState(\"fullscreen\");\n }, []);\n // This component shouldn't be rendered with no errors, but if it is, let's\n // handle it gracefully by rendering nothing.\n if (errors.length < 1 || activeError == null) {\n return null;\n }\n if (isLoading) {\n // TODO: better loading state\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {});\n }\n if (displayState === \"hidden\") {\n return null;\n }\n if (displayState === \"minimized\") {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Toast.Toast, {\n className: \"nextjs-toast-errors-parent\",\n onClick: fullscreen,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n className: \"nextjs-toast-errors\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"10\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"12\",\n y1: \"8\",\n x2: \"12\",\n y2: \"12\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"12\",\n y1: \"16\",\n x2: \"12.01\",\n y2: \"16\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n readyErrors.length,\n \" error\",\n readyErrors.length > 1 ? \"s\" : \"\"\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n \"data-nextjs-toast-errors-hide-button\": true,\n className: \"nextjs-toast-errors-hide-button\",\n type: \"button\",\n onClick: (e)=>{\n e.stopPropagation();\n hide();\n },\n \"aria-label\": \"Hide Errors\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CloseIcon.CloseIcon, {})\n })\n ]\n })\n });\n }\n const isServerError = [\n \"server\",\n \"edge-server\"\n ].includes((0, _nodeStackFrames.getErrorSource)(activeError.error) || \"\");\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_errors_label\",\n \"aria-describedby\": \"nextjs__container_errors_desc\",\n onClose: isServerError ? undefined : minimize,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogContent, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogHeader, {\n className: \"nextjs-container-errors-header\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_LeftRightDialogHeader.LeftRightDialogHeader, {\n previous: activeIdx > 0 ? previous : null,\n next: activeIdx < readyErrors.length - 1 ? next : null,\n close: isServerError ? undefined : minimize,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"small\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: activeIdx + 1\n }),\n \" of\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: readyErrors.length\n }),\n \" unhandled error\",\n readyErrors.length < 2 ? \"\" : \"s\"\n ]\n }),\n versionInfo ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_VersionStalenessInfo.VersionStalenessInfo, {\n ...versionInfo\n }) : null\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n id: \"nextjs__container_errors_label\",\n children: isServerError ? \"Server Error\" : \"Unhandled Runtime Error\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"p\", {\n id: \"nextjs__container_errors_desc\",\n children: [\n activeError.error.name,\n \":\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: activeError.error.message\n })\n ]\n }),\n isServerError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n children: \"This error happened while generating the page. Any console logs will be displayed in the terminal window.\"\n })\n }) : undefined\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.DialogBody, {\n className: \"nextjs-container-errors-body\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_RuntimeError.RuntimeError, {\n error: activeError\n }, activeError.id.toString())\n })\n ]\n })\n })\n });\n};\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Errors.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9FcnJvcnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLFFBQVE7UUFDSixPQUFPQTtJQUNYO0lBQ0FDLFFBQVE7UUFDSixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyw0QkFBNEJDLG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNQyxpQ0FBaUNELG1CQUFPQSxDQUFDLDhIQUErQztBQUM5RixNQUFNRSxjQUFjRixtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUcsU0FBUyxXQUFXLEdBQUdKLDBCQUEwQkssQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNSyx1QkFBdUJMLG1CQUFPQSxDQUFDLHNJQUEwQjtBQUMvRCxNQUFNTSxVQUFVTixtQkFBT0EsQ0FBQyxvSUFBc0I7QUFDOUMsTUFBTU8seUJBQXlCUCxtQkFBT0EsQ0FBQyxrS0FBcUM7QUFDNUUsTUFBTVEsV0FBV1IsbUJBQU9BLENBQUMsc0lBQXVCO0FBQ2hELE1BQU1TLFNBQVNULG1CQUFPQSxDQUFDLGtJQUFxQjtBQUM1QyxNQUFNVSxrQkFBa0JWLG1CQUFPQSxDQUFDLHdJQUEyQjtBQUMzRCxNQUFNVyxtQkFBbUJYLG1CQUFPQSxDQUFDLDBJQUE0QjtBQUM3RCxNQUFNWSxnQkFBZ0JaLG1CQUFPQSxDQUFDLHNJQUEwQjtB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d0NBQzdEQyxNQUFNMUMsWUFBWWdDLEtBQUssQ0FBQ3hFLE9BQU87b0NBQ25DO2lDQUNIOzRCQUNMOzRCQUNBcUUsZ0JBQThCLFdBQUgsR0FBSSxJQUFHN0YsWUFBWW9FLEdBQUcsRUFBRSxPQUFPO2dDQUN0REssVUFBd0IsV0FBSCxHQUFJLElBQUd6RSxZQUFZb0UsR0FBRyxFQUFFLFNBQVM7b0NBQ2xESyxVQUFVO2dDQUNkOzRCQUNKLEtBQUswQjt5QkFDUjtvQkFDTDtvQkFDQSxXQUFXLEdBQUksSUFBR25HLFlBQVlvRSxHQUFHLEVBQUVoRSxRQUFRdUcsVUFBVSxFQUFFO3dCQUNuRHBDLFdBQVc7d0JBQ1hFLFVBQXdCLFdBQUgsR0FBSSxJQUFHekUsWUFBWW9FLEdBQUcsRUFBRXhELGNBQWNnRyxZQUFZLEVBQUU7NEJBQ3JFWixPQUFPaEM7d0JBQ1gsR0FBR0EsWUFBWXZCLEVBQUUsQ0FBQ29FLFFBQVE7b0JBQzlCO2lCQUNIO1lBQ0w7UUFDSjtJQUNKO0FBQ0o7QUFDQSxNQUFNdkgsU0FBUyxDQUFDLEdBQUdvQixjQUFjb0csSUFBSSxFQUFFL0Y7QUFFdkMsSUFBSSxDQUFDLE9BQU83QixRQUFRNkgsT0FBTyxLQUFLLGNBQWUsT0FBTzdILFFBQVE2SCxPQUFPLEtBQUssWUFBWTdILFFBQVE2SCxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU83SCxRQUFRNkgsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2hJLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTZILE9BQU8sRUFBRSxjQUFjO1FBQUU1SCxPQUFPO0lBQUs7SUFDbkVILE9BQU9pSSxNQUFNLENBQUMvSCxRQUFRNkgsT0FBTyxFQUFFN0g7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUTZILE9BQU87QUFDbEMsRUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9FcnJvcnMuanM/NGQyYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIEVycm9yczogbnVsbCxcbiAgICBzdHlsZXM6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgRXJyb3JzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEVycm9ycztcbiAgICB9LFxuICAgIHN0eWxlczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzdHlsZXM7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX2Vycm9yb3ZlcmxheXJlZHVjZXIgPSByZXF1aXJlKFwiLi4vZXJyb3Itb3ZlcmxheS1yZWR1Y2VyXCIpO1xuY29uc3QgX0RpYWxvZyA9IHJlcXVpcmUoXCIuLi9jb21wb25lbnRzL0RpYWxvZ1wiKTtcbmNvbnN0IF9MZWZ0UmlnaHREaWFsb2dIZWFkZXIgPSByZXF1aXJlKFwiLi4vY29tcG9uZW50cy9MZWZ0UmlnaHREaWFsb2dIZWFkZXJcIik7XG5jb25zdCBfT3ZlcmxheSA9IHJlcXVpcmUoXCIuLi9jb21wb25lbnRzL092ZXJsYXlcIik7XG5jb25zdCBfVG9hc3QgPSByZXF1aXJlKFwiLi4vY29tcG9uZW50cy9Ub2FzdFwiKTtcbmNvbnN0IF9nZXRFcnJvckJ5VHlwZSA9IHJlcXVpcmUoXCIuLi9oZWxwZXJzL2dldEVycm9yQnlUeXBlXCIpO1xuY29uc3QgX25vZGVTdGFja0ZyYW1lcyA9IHJlcXVpcmUoXCIuLi9oZWxwZXJzL25vZGVTdGFja0ZyYW1lc1wiKTtcbmNvbnN0IF9ub29wdGVtcGxhdGUgPSByZXF1aXJlKFwiLi4vaGVscGVycy9ub29wLXRlbXBsYXRlXCIpO1xuY29uc3QgX0Nsb3NlSWNvbiA9IHJlcXVpcmUoXCIuLi9pY29ucy9DbG9zZUljb25cIik7XG5jb25zdCBfUnVudGltZUVycm9yID0gcmVxdWlyZShcIi4vUnVudGltZUVycm9yXCIpO1xuY29uc3QgX1ZlcnNpb25TdGFsZW5lc3NJbmZvID0gcmVxdWlyZShcIi4uL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm9cIik7XG5jb25zdCBfaG90bGlua2VkdGV4dCA9IHJlcXVpcmUoXCIuLi9jb21wb25lbnRzL2hvdC1saW5rZWQtdGV4dFwiKTtcbmZ1bmN0aW9uIF90ZW1wbGF0ZU9iamVjdCgpIHtcbiAgICBjb25zdCBkYXRhID0gX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlLl8oW1xuICAgICAgICBcIlxcbiAgLm5leHRqcy1jb250YWluZXItZXJyb3JzLWhlYWRlciA+IGgxIHtcXG4gICAgZm9udC1zaXplOiB2YXIoLS1zaXplLWZvbnQtYmlnKTtcXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLXNpemUtZm9udC1iaWdnZXIpO1xcbiAgICBmb250LXdlaWdodDogYm9sZDtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNpemUtZ2FwLWRvdWJsZSkgKyB2YXIoLS1zaXplLWdhcC1oYWxmKSk7XFxuICB9XFxuICAubmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtaGVhZGVyIHNtYWxsIHtcXG4gICAgZm9udC1zaXplOiB2YXIoLS1zaXplLWZvbnQtc21hbGwpO1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50cy0xKTtcXG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtZ2FwLWRvdWJsZSk7XFxuICB9XFxuICAubmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtaGVhZGVyIHNtYWxsID4gc3BhbiB7XFxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN0YWNrLW1vbm9zcGFjZSk7XFxuICB9XFxuICAubmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtaGVhZGVyID4gcCB7XFxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN0YWNrLW1vbm9zcGFjZSk7XFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1mb250LXNtYWxsKTtcXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLXNpemUtZm9udC1iaWcpO1xcbiAgICBmb250LXdlaWdodDogYm9sZDtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXplLWdhcC1oYWxmKTtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFuc2ktcmVkKTtcXG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xcbiAgfVxcbiAgLm5leHRqcy1jb250YWluZXItZXJyb3JzLWhlYWRlciA+IGRpdiA+IHNtYWxsIHtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXplLWdhcC1oYWxmKTtcXG4gIH1cXG4gIC5uZXh0anMtY29udGFpbmVyLWVycm9ycy1oZWFkZXIgPiBwID4gYSB7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLXJlZCk7XFxuICB9XFxuXFxuICAubmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtYm9keSA+IGgyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcXG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zaXplLWdhcC1kb3VibGUpICsgdmFyKC0tc2l6ZS1nYXApKTtcXG4gIH1cXG4gIC5uZXh0anMtY29udGFpbmVyLWVycm9ycy1ib2R5ID4gaDIge1xcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLWdhcCk7XFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1mb250LWJpZyk7XFxuICB9XFxuXFxuICAubmV4dGpzLXRvYXN0LWVycm9ycy1wYXJlbnQge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XFxuICB9XFxuICAubmV4dGpzLXRvYXN0LWVycm9ycy1wYXJlbnQ6aG92ZXIge1xcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XFxuICB9XFxuICAubmV4dGpzLXRvYXN0LWVycm9ycyB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcXG4gIH1cXG4gIC5uZXh0anMtdG9hc3QtZXJyb3JzID4gc3ZnIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLWdhcCk7XFxuICB9XFxuICAubmV4dGpzLXRvYXN0LWVycm9ycy1oaWRlLWJ1dHRvbiB7XFxuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLWdhcC10cmlwbGUpO1xcbiAgICBib3JkZXI6IG5vbmU7XFxuICAgIGJhY2tncm91bmQ6IG5vbmU7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLWJyaWdodC13aGl0ZSk7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZTtcXG4gICAgb3BhY2l0eTogMC43O1xcbiAgfVxcbiAgLm5leHRqcy10b2FzdC1lcnJvcnMtaGlkZS1idXR0b246aG92ZXIge1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgfVxcblwiXG4gICAgXSk7XG4gICAgX3RlbXBsYXRlT2JqZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH07XG4gICAgcmV0dXJuIGRhdGE7XG59XG5mdW5jdGlvbiBnZXRFcnJvclNpZ25hdHVyZShldikge1xuICAgIGNvbnN0IHsgZXZlbnQgfSA9IGV2O1xuICAgIHN3aXRjaChldmVudC50eXBlKXtcbiAgICAgICAgY2FzZSBfZXJyb3JvdmVybGF5cmVkdWNlci5BQ1RJT05fVU5IQU5ETEVEX0VSUk9SOlxuICAgICAgICBjYXNlIF9lcnJvcm92ZXJsYXlyZWR1Y2VyLkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5yZWFzb24ubmFtZSArIFwiOjpcIiArIGV2ZW50LnJlYXNvbi5tZXNzYWdlICsgXCI6OlwiICsgZXZlbnQucmVhc29uLnN0YWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAge31cbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIGNvbnN0IF8gPSBldmVudDtcbiAgICByZXR1cm4gXCJcIjtcbn1cbmNvbnN0IEVycm9ycyA9IGZ1bmN0aW9uIEVycm9ycyhwYXJhbSkge1xuICAgIGxldCB7IGVycm9ycywgaW5pdGlhbERpc3BsYXlTdGF0ZSwgdmVyc2lvbkluZm8gfSA9IHBhcmFtO1xuICAgIGNvbnN0IFtsb29rdXBzLCBzZXRMb29rdXBzXSA9IF9yZWFjdC51c2VTdGF0ZSh7fSk7XG4gICAgY29uc3QgW3JlYWR5RXJyb3JzLCBuZXh0RXJyb3JdID0gX3JlYWN0LnVzZU1lbW8oKCk9PntcbiAgICAgICAgbGV0IHJlYWR5ID0gW107XG4gICAgICAgIGxldCBuZXh0ID0gbnVsbDtcbiAgICAgICAgLy8gRW5zdXJlIGVycm9ycyBhcmUgZGlzcGxheWVkIGluIHRoZSBvcmRlciB0aGV5IG9jY3VycmVkIGluOlxuICAgICAgICBmb3IobGV0IGlkeCA9IDA7IGlkeCA8IGVycm9ycy5sZW5ndGg7ICsraWR4KXtcbiAgICAgICAgICAgIGNvbnN0IGUgPSBlcnJvcnNbaWR4XTtcbiAgICAgICAgICAgIGNvbnN0IHsgaWQgfSA9IGU7XG4gICAgICAgICAgICBpZiAoaWQgaW4gbG9va3Vwcykge1xuICAgICAgICAgICAgICAgIHJlYWR5LnB1c2gobG9va3Vwc1tpZF0pO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIGR1cGxpY2F0ZSBlcnJvcnNcbiAgICAgICAgICAgIGlmIChpZHggPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldiA9IGVycm9yc1tpZHggLSAxXTtcbiAgICAgICAgICAgICAgICBpZiAoZ2V0RXJyb3JTaWduYXR1cmUocHJldikgPT09IGdldEVycm9yU2lnbmF0dXJlKGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5leHQgPSBlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHJlYWR5LFxuICAgICAgICAgICAgbmV4dFxuICAgICAgICBdO1xuICAgIH0sIFtcbiAgICAgICAgZXJyb3JzLFxuICAgICAgICBsb29rdXBzXG4gICAgXSk7XG4gICAgY29uc3QgaXNMb2FkaW5nID0gX3JlYWN0LnVzZU1lbW8oKCk9PntcbiAgICAgICAgcmV0dXJuIHJlYWR5RXJyb3JzLmxlbmd0aCA8IDEgJiYgQm9vbGVhbihlcnJvcnMubGVuZ3RoKTtcbiAgICB9LCBbXG4gICAgICAgIGVycm9ycy5sZW5ndGgsXG4gICAgICAgIHJlYWR5RXJyb3JzLmxlbmd0aFxuICAgIF0pO1xuICAgIF9yZWFjdC51c2VFZmZlY3QoKCk9PntcbiAgICAgICAgaWYgKG5leHRFcnJvciA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IG1vdW50ZWQgPSB0cnVlO1xuICAgICAgICAoMCwgX2dldEVycm9yQnlUeXBlLmdldEVycm9yQnlUeXBlKShuZXh0RXJyb3IpLnRoZW4oKHJlc29sdmVkKT0+e1xuICAgICAgICAgICAgLy8gV2UgZG9uJ3QgY2FyZSBpZiB0aGUgZGVzaXJlZCBlcnJvciBjaGFuZ2VkIHdoaWxlIHdlIHdlcmUgcmVzb2x2aW5nLFxuICAgICAgICAgICAgLy8gdGh1cyB3ZSdyZSBub3QgdHJhY2tpbmcgaXQgdXNpbmcgYSByZWYuIE9uY2UgdGhlIHdvcmsgaGFzIGJlZW4gZG9uZSxcbiAgICAgICAgICAgIC8vIHdlJ2xsIHN0b3JlIGl0LlxuICAgICAgICAgICAgaWYgKG1vdW50ZWQpIHtcbiAgICAgICAgICAgICAgICBzZXRMb29rdXBzKChtKT0+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLm0sXG4gICAgICAgICAgICAgICAgICAgICAgICBbcmVzb2x2ZWQuaWRdOiByZXNvbHZlZFxuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sICgpPT57XG4gICAgICAgIC8vIFRPRE86IGhhbmRsZSB0aGlzLCB0aG91Z2ggYW4gZWRnZSBjYXNlXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgIG1vdW50ZWQgPSBmYWxzZTtcbiAgICAgICAgfTtcbiAgICB9LCBbXG4gICAgICAgIG5leHRFcnJvclxuICAgIF0pO1xuICAgIGNvbnN0IFtkaXNwbGF5U3RhdGUsIHNldERpc3BsYXlTdGF0ZV0gPSBfcmVhY3QudXNlU3RhdGUoaW5pdGlhbERpc3BsYXlTdGF0ZSk7XG4gICAgY29uc3QgW2FjdGl2ZUlkeCwgc2V0QWN0aXZlSW5kZXhdID0gX3JlYWN0LnVzZVN0YXRlKDApO1xuICAgIGNvbnN0IHByZXZpb3VzID0gX3JlYWN0LnVzZUNhbGxiYWNrKChlKT0+e1xuICAgICAgICBlID09IG51bGwgPyB2b2lkIDAgOiBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHNldEFjdGl2ZUluZGV4KCh2KT0+TWF0aC5tYXgoMCwgdiAtIDEpKTtcbiAgICB9LCBbXSk7XG4gICAgY29uc3QgbmV4dCA9IF9yZWFjdC51c2VDYWxsYmFjaygoZSk9PntcbiAgICAgICAgZSA9PSBudWxsID8gdm9pZCAwIDogZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBzZXRBY3RpdmVJbmRleCgodik9Pk1hdGgubWF4KDAsIE1hdGgubWluKHJlYWR5RXJyb3JzLmxlbmd0aCAtIDEsIHYgKyAxKSkpO1xuICAgIH0sIFtcbiAgICAgICAgcmVhZHlFcnJvcnMubGVuZ3RoXG4gICAgXSk7XG4gICAgdmFyIF9yZWFkeUVycm9yc19hY3RpdmVJZHg7XG4gICAgY29uc3QgYWN0aXZlRXJyb3IgPSBfcmVhY3QudXNlTWVtbygoKT0+KF9yZWFkeUVycm9yc19hY3RpdmVJZHggPSByZWFkeUVycm9yc1thY3RpdmVJZHhdKSAhPSBudWxsID8gX3JlYWR5RXJyb3JzX2FjdGl2ZUlkeCA6IG51bGwsIFtcbiAgICAgICAgYWN0aXZlSWR4LFxuICAgICAgICByZWFkeUVycm9yc1xuICAgIF0pO1xuICAgIC8vIFJlc2V0IGNvbXBvbmVudCBzdGF0ZSB3aGVuIHRoZXJlIGFyZSBubyBlcnJvcnMgdG8gYmUgZGlzcGxheWVkLlxuICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbiwgYnV0IGxldHMgaGFuZGxlIGl0LlxuICAgIF9yZWFjdC51c2VFZmZlY3QoKCk9PntcbiAgICAgICAgaWYgKGVycm9ycy5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICBzZXRMb29rdXBzKHt9KTtcbiAgICAgICAgICAgIHNldERpc3BsYXlTdGF0ZShcImhpZGRlblwiKTtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KDApO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBlcnJvcnMubGVuZ3RoXG4gICAgXSk7XG4gICAgY29uc3QgbWluaW1pemUgPSBfcmVhY3QudXNlQ2FsbGJhY2soKGUpPT57XG4gICAgICAgIGUgPT0gbnVsbCA/IHZvaWQgMCA6IGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgc2V0RGlzcGxheVN0YXRlKFwibWluaW1pemVkXCIpO1xuICAgIH0sIFtdKTtcbiAgICBjb25zdCBoaWRlID0gX3JlYWN0LnVzZUNhbGxiYWNrKChlKT0+e1xuICAgICAgICBlID09IG51bGwgPyB2b2lkIDAgOiBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHNldERpc3BsYXlTdGF0ZShcImhpZGRlblwiKTtcbiAgICB9LCBbXSk7XG4gICAgY29uc3QgZnVsbHNjcmVlbiA9IF9yZWFjdC51c2VDYWxsYmFjaygoZSk9PntcbiAgICAgICAgZSA9PSBudWxsID8gdm9pZCAwIDogZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBzZXREaXNwbGF5U3RhdGUoXCJmdWxsc2NyZWVuXCIpO1xuICAgIH0sIFtdKTtcbiAgICAvLyBUaGlzIGNvbXBvbmVudCBzaG91bGRuJ3QgYmUgcmVuZGVyZWQgd2l0aCBubyBlcnJvcnMsIGJ1dCBpZiBpdCBpcywgbGV0J3NcbiAgICAvLyBoYW5kbGUgaXQgZ3JhY2VmdWxseSBieSByZW5kZXJpbmcgbm90aGluZy5cbiAgICBpZiAoZXJyb3JzLmxlbmd0aCA8IDEgfHwgYWN0aXZlRXJyb3IgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKGlzTG9hZGluZykge1xuICAgICAgICAvLyBUT0RPOiBiZXR0ZXIgbG9hZGluZyBzdGF0ZVxuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfT3ZlcmxheS5PdmVybGF5LCB7fSk7XG4gICAgfVxuICAgIGlmIChkaXNwbGF5U3RhdGUgPT09IFwiaGlkZGVuXCIpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmIChkaXNwbGF5U3RhdGUgPT09IFwibWluaW1pemVkXCIpIHtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX1RvYXN0LlRvYXN0LCB7XG4gICAgICAgICAgICBjbGFzc05hbWU6IFwibmV4dGpzLXRvYXN0LWVycm9ycy1wYXJlbnRcIixcbiAgICAgICAgICAgIG9uQ2xpY2s6IGZ1bGxzY3JlZW4sXG4gICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogXCJuZXh0anMtdG9hc3QtZXJyb3JzXCIsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJzdmdcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjI0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiMjRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g6IFwiMCAwIDI0IDI0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiBcIjJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJjaXJjbGVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeDogXCIxMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeTogXCIxMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByOiBcIjEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibGluZVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgxOiBcIjEyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkxOiBcIjhcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDI6IFwiMTJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeTI6IFwiMTJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJsaW5lXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDE6IFwiMTJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeTE6IFwiMTZcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDI6IFwiMTIuMDFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeTI6IFwiMTZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcInNwYW5cIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkeUVycm9ycy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgZXJyb3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkeUVycm9ycy5sZW5ndGggPiAxID8gXCJzXCIgOiBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiYnV0dG9uXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YS1uZXh0anMtdG9hc3QtZXJyb3JzLWhpZGUtYnV0dG9uXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IFwibmV4dGpzLXRvYXN0LWVycm9ycy1oaWRlLWJ1dHRvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJidXR0b25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IChlKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBcIkhpZGUgRXJyb3JzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfQ2xvc2VJY29uLkNsb3NlSWNvbiwge30pXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGlzU2VydmVyRXJyb3IgPSBbXG4gICAgICAgIFwic2VydmVyXCIsXG4gICAgICAgIFwiZWRnZS1zZXJ2ZXJcIlxuICAgIF0uaW5jbHVkZXMoKDAsIF9ub2RlU3RhY2tGcmFtZXMuZ2V0RXJyb3JTb3VyY2UpKGFjdGl2ZUVycm9yLmVycm9yKSB8fCBcIlwiKTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfT3ZlcmxheS5PdmVybGF5LCB7XG4gICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9EaWFsb2cuRGlhbG9nLCB7XG4gICAgICAgICAgICB0eXBlOiBcImVycm9yXCIsXG4gICAgICAgICAgICBcImFyaWEtbGFiZWxsZWRieVwiOiBcIm5leHRqc19fY29udGFpbmVyX2Vycm9yc19sYWJlbFwiLFxuICAgICAgICAgICAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IFwibmV4dGpzX19jb250YWluZXJfZXJyb3JzX2Rlc2NcIixcbiAgICAgICAgICAgIG9uQ2xvc2U6IGlzU2VydmVyRXJyb3IgPyB1bmRlZmluZWQgOiBtaW5pbWl6ZSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfRGlhbG9nLkRpYWxvZ0NvbnRlbnQsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfRGlhbG9nLkRpYWxvZ0hlYWRlciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcIm5leHRqcy1jb250YWluZXItZXJyb3JzLWhlYWRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfTGVmdFJpZ2h0RGlhbG9nSGVhZGVyLkxlZnRSaWdodERpYWxvZ0hlYWRlciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aW91czogYWN0aXZlSWR4ID4gMCA/IHByZXZpb3VzIDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dDogYWN0aXZlSWR4IDwgcmVhZHlFcnJvcnMubGVuZ3RoIC0gMSA/IG5leHQgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZTogaXNTZXJ2ZXJFcnJvciA/IHVuZGVmaW5lZCA6IG1pbmltaXplLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJzbWFsbFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInNwYW5cIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IGFjdGl2ZUlkeCArIDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIG9mXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic3BhblwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogcmVhZHlFcnJvcnMubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiB1bmhhbmRsZWQgZXJyb3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZHlFcnJvcnMubGVuZ3RoIDwgMiA/IFwiXCIgOiBcInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbkluZm8gPyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9WZXJzaW9uU3RhbGVuZXNzSW5mby5WZXJzaW9uU3RhbGVuZXNzSW5mbywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnZlcnNpb25JbmZvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJoMVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcIm5leHRqc19fY29udGFpbmVyX2Vycm9yc19sYWJlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogaXNTZXJ2ZXJFcnJvciA/IFwiU2VydmVyIEVycm9yXCIgOiBcIlVuaGFuZGxlZCBSdW50aW1lIEVycm9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcInBcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJuZXh0anNfX2NvbnRhaW5lcl9lcnJvcnNfZGVzY1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlRXJyb3IuZXJyb3IubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiOlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9ob3RsaW5rZWR0ZXh0LkhvdGxpbmtlZFRleHQsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBhY3RpdmVFcnJvci5lcnJvci5tZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTZXJ2ZXJFcnJvciA/IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInNtYWxsXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBcIlRoaXMgZXJyb3IgaGFwcGVuZWQgd2hpbGUgZ2VuZXJhdGluZyB0aGUgcGFnZS4gQW55IGNvbnNvbGUgbG9ncyB3aWxsIGJlIGRpc3BsYXllZCBpbiB0aGUgdGVybWluYWwgd2luZG93LlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0RpYWxvZy5EaWFsb2dCb2R5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IFwibmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtYm9keVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX1J1bnRpbWVFcnJvci5SdW50aW1lRXJyb3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogYWN0aXZlRXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIGFjdGl2ZUVycm9yLmlkLnRvU3RyaW5nKCkpXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICB9KTtcbn07XG5jb25zdCBzdHlsZXMgPSAoMCwgX25vb3B0ZW1wbGF0ZS5ub29wKShfdGVtcGxhdGVPYmplY3QoKSk7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUVycm9ycy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJFcnJvcnMiLCJzdHlsZXMiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9lcnJvcm92ZXJsYXlyZWR1Y2VyIiwiX0RpYWxvZyIsIl9MZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJfT3ZlcmxheSIsIl9Ub2FzdCIsIl9nZXRFcnJvckJ5VHlwZSIsIl9ub2RlU3RhY2tGcmFtZXMiLCJfbm9vcHRlbXBsYXRlIiwiX0Nsb3NlSWNvbiIsIl9SdW50aW1lRXJyb3IiLCJfVmVyc2lvblN0YWxlbmVzc0luZm8iLCJfaG90bGlua2VkdGV4dCIsIl90ZW1wbGF0ZU9iamVjdCIsImRhdGEiLCJnZXRFcnJvclNpZ25hdHVyZSIsImV2IiwiZXZlbnQiLCJ0eXBlIiwiQUNUSU9OX1VOSEFORExFRF9FUlJPUiIsIkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OIiwicmVhc29uIiwibWVzc2FnZSIsInN0YWNrIiwicGFyYW0iLCJlcnJvcnMiLCJpbml0aWFsRGlzcGxheVN0YXRlIiwidmVyc2lvbkluZm8iLCJsb29rdXBzIiwic2V0TG9va3VwcyIsInVzZVN0YXRlIiwicmVhZHlFcnJvcnMiLCJuZXh0RXJyb3IiLCJ1c2VNZW1vIiwicmVhZHkiLCJuZXh0IiwiaWR4IiwibGVuZ3RoIiwiZSIsImlkIiwicHVzaCIsInByZXYiLCJpc0xvYWRpbmciLCJCb29sZWFuIiwidXNlRWZmZWN0IiwibW91bnRlZCIsImdldEVycm9yQnlUeXBlIiwidGhlbiIsInJlc29sdmVkIiwibSIsImRpc3BsYXlTdGF0ZSIsInNldERpc3BsYXlTdGF0ZSIsImFjdGl2ZUlkeCIsInNldEFjdGl2ZUluZGV4IiwicHJldmlvdXMiLCJ1c2VDYWxsYmFjayIsInByZXZlbnREZWZhdWx0IiwidiIsIk1hdGgiLCJtYXgiLCJtaW4iLCJfcmVhZHlFcnJvcnNfYWN0aXZlSWR4IiwiYWN0aXZlRXJyb3IiLCJtaW5pbWl6ZSIsImhpZGUiLCJmdWxsc2NyZWVuIiwianN4IiwiT3ZlcmxheSIsIlRvYXN0IiwiY2xhc3NOYW1lIiwib25DbGljayIsImNoaWxkcmVuIiwianN4cyIsInhtbG5zIiwid2lkdGgiLCJoZWlnaHQiLCJ2aWV3Qm94IiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiY3giLCJjeSIsInIiLCJ4MSIsInkxIiwieDIiLCJ5MiIsInN0b3BQcm9wYWdhdGlvbiIsIkNsb3NlSWNvbiIsImlzU2VydmVyRXJyb3IiLCJpbmNsdWRlcyIsImdldEVycm9yU291cmNlIiwiZXJyb3IiLCJEaWFsb2ciLCJvbkNsb3NlIiwidW5kZWZpbmVkIiwiRGlhbG9nQ29udGVudCIsIkRpYWxvZ0hlYWRlciIsIkxlZnRSaWdodERpYWxvZ0hlYWRlciIsImNsb3NlIiwiVmVyc2lvblN0YWxlbmVzc0luZm8iLCJIb3RsaW5rZWRUZXh0IiwidGV4dCIsIkRpYWxvZ0JvZHkiLCJSdW50aW1lRXJyb3IiLCJ0b1N0cmluZyIsIm5vb3AiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RootLayoutError.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RootLayoutError.js ***! \**********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RootLayoutError: function() {\n return RootLayoutError;\n },\n styles: function() {\n return styles;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _Terminal = __webpack_require__(/*! ../components/Terminal */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-root-layout-error-header > h4 {\\n line-height: 1.5;\\n margin: 0;\\n padding: 0;\\n }\\n\\n .nextjs-container-root-layout-error-body footer {\\n margin-top: var(--size-gap);\\n }\\n .nextjs-container-root-layout-error-body footer p {\\n margin: 0;\\n }\\n\\n .nextjs-container-root-layout-error-body small {\\n color: #757575;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst RootLayoutError = function BuildError(param) {\n let { missingTags } = param;\n const message = \"Please make sure to include the following tags in your root layout: <html>, <body>.\\n\\n\" + (\"Missing required root layout tag\" + (missingTags.length === 1 ? \"\" : \"s\") + \": \") + missingTags.join(\", \");\n const noop = _react.default.useCallback(()=>{}, []);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n fixed: true,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_root_layout_error_label\",\n \"aria-describedby\": \"nextjs__container_root_layout_error_desc\",\n onClose: noop,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogContent, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.DialogHeader, {\n className: \"nextjs-container-root-layout-error-header\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h4\", {\n id: \"nextjs__container_root_layout_error_label\",\n children: \"Missing required tags\"\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogBody, {\n className: \"nextjs-container-root-layout-error-body\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Terminal.Terminal, {\n content: message\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"footer\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_root_layout_error_desc\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n children: \"This error and can only be dismissed by providing all required tags.\"\n })\n })\n })\n ]\n })\n ]\n })\n })\n });\n};\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=RootLayoutError.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9Sb290TGF5b3V0RXJyb3IuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsUUFBUTtRQUNKLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLDJCQUEyQkMsbUJBQU9BLENBQUMsa0hBQXlDO0FBQ2xGLE1BQU1DLGlDQUFpQ0QsbUJBQU9BLENBQUMsOEhBQStDO0FBQzlGLE1BQU1FLGNBQWNGLG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRyxTQUFTLFdBQVcsR0FBR0oseUJBQXlCSyxDQUFDLENBQUNKLG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3ZFLE1BQU1LLFVBQVVMLG1CQUFPQSxDQUFDLG9JQUFzQjtBQUM5QyxNQUFNTSxXQUFXTixtQkFBT0EsQ0FBQyxzSUFBdUI7QUFDaEQsTUFBTU8sWUFBWVAsbUJBQU9BLENBQUMsd0lBQXdCO0FBQ2xELE1BQU1RLGdCQUFnQlIsbUJBQU9BLENBQUMsc0lBQTBCO0FBQ3hELFNBQVNTO0lBQ0wsTUFBTUMsT0FBT1QsK0JBQStCRyxDQUFDLENBQUM7UUFDMUM7S0FDSDtJQUNESyxrQkFBa0I7UUFDZCxPQUFPQztJQUNYO0lBQ0EsT0FBT0E7QUFDWDtBQUNBLE1BQU1uQixrQkFBa0IsU0FBU29CLFdBQVdDLEtBQUs7SUFDN0MsSUFBSSxFQUFFQyxXQUFXLEVBQUUsR0FBR0Q7SUFDdEIsTUFBTUUsVUFBVSw0RkFBNkYsc0NBQXNDRCxDQUFBQSxZQUFZRSxNQUFNLEtBQUssSUFBSSxLQUFLLEdBQUUsSUFBSyxJQUFHLElBQUtGLFlBQVlHLElBQUksQ0FBQztJQUNuTixNQUFNQyxPQUFPZCxPQUFPZSxPQUFPLENBQUNDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsRUFBRTtJQUNsRCxPQUFxQixXQUFILEdBQUksSUFBR2pCLFlBQVlrQixHQUFHLEVBQUVkLFNBQVNlLE9BQU8sRUFBRTtRQUN4REMsT0FBTztRQUNQQyxVQUF3QixXQUFILEdBQUksSUFBR3JCLFlBQVlrQixHQUFHLEVBQUVmLFFBQVFtQixNQUFNLEVBQUU7WUFDekRDLE1BQU07WUFDTixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCQyxTQUFTVDtZQUNUTSxVQUF3QixXQUFILEdBQUksSUFBR3JCLFlBQVl5QixJQUFJLEVBQUV0QixRQUFRdUIsYUFBYSxFQUFFO2dCQUNqRUwsVUFBVTtvQkFDTixXQUFXLEdBQUksSUFBR3JCLFlBQVlrQixHQUFHLEVBQUVmLFFBQVF3QixZQUFZLEVBQUU7d0JBQ3JEQyxXQUFXO3dCQUNYUCxVQUF3QixXQUFILEdBQUksSUFBR3JCLFlBQVlrQixHQUFHLEVBQUUsTUFBTTs0QkFDL0NXLElBQUk7NEJBQ0pSLFVBQVU7d0JBQ2Q7b0JBQ0o7b0JBQ0EsV0FBVyxHQUFJLElBQUdyQixZQUFZeUIsSUFBSSxFQUFFdEIsUUFBUTJCLFVBQVUsRUFBRTt3QkFDcERGLFdBQVc7d0JBQ1hQLFVBQVU7NEJBQ04sV0FBVyxHQUFJLElBQUdyQixZQUFZa0IsR0FBRyxFQUFFYixVQUFVMEIsUUFBUSxFQUFFO2dDQUNuREMsU0FBU3BCOzRCQUNiOzRCQUNBLFdBQVcsR0FBSSxJQUFHWixZQUFZa0IsR0FBRyxFQUFFLFVBQVU7Z0NBQ3pDRyxVQUF3QixXQUFILEdBQUksSUFBR3JCLFlBQVlrQixHQUFHLEVBQUUsS0FBSztvQ0FDOUNXLElBQUk7b0NBQ0pSLFVBQXdCLFdBQUgsR0FBSSxJQUFHckIsWUFBWWtCLEdBQUcsRUFBRSxTQUFTO3dDQUNsREcsVUFBVTtvQ0FDZDtnQ0FDSjs0QkFDSjt5QkFDSDtvQkFDTDtpQkFDSDtZQUNMO1FBQ0o7SUFDSjtBQUNKO0FBQ0EsTUFBTS9CLFNBQVMsQ0FBQyxHQUFHZ0IsY0FBY1MsSUFBSSxFQUFFUjtBQUV2QyxJQUFJLENBQUMsT0FBT3JCLFFBQVE4QixPQUFPLEtBQUssY0FBZSxPQUFPOUIsUUFBUThCLE9BQU8sS0FBSyxZQUFZOUIsUUFBUThCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzlCLFFBQVE4QixPQUFPLENBQUNpQixVQUFVLEtBQUssYUFBYTtJQUNyS2pELE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUThCLE9BQU8sRUFBRSxjQUFjO1FBQUU3QixPQUFPO0lBQUs7SUFDbkVILE9BQU9rRCxNQUFNLENBQUNoRCxRQUFROEIsT0FBTyxFQUFFOUI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUThCLE9BQU87QUFDbEMsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9Sb290TGF5b3V0RXJyb3IuanM/ZmI4NCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFJvb3RMYXlvdXRFcnJvcjogbnVsbCxcbiAgICBzdHlsZXM6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUm9vdExheW91dEVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJvb3RMYXlvdXRFcnJvcjtcbiAgICB9LFxuICAgIHN0eWxlczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzdHlsZXM7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL190YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZVwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX0RpYWxvZyA9IHJlcXVpcmUoXCIuLi9jb21wb25lbnRzL0RpYWxvZ1wiKTtcbmNvbnN0IF9PdmVybGF5ID0gcmVxdWlyZShcIi4uL2NvbXBvbmVudHMvT3ZlcmxheVwiKTtcbmNvbnN0IF9UZXJtaW5hbCA9IHJlcXVpcmUoXCIuLi9jb21wb25lbnRzL1Rlcm1pbmFsXCIpO1xuY29uc3QgX25vb3B0ZW1wbGF0ZSA9IHJlcXVpcmUoXCIuLi9oZWxwZXJzL25vb3AtdGVtcGxhdGVcIik7XG5mdW5jdGlvbiBfdGVtcGxhdGVPYmplY3QoKSB7XG4gICAgY29uc3QgZGF0YSA9IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZS5fKFtcbiAgICAgICAgXCJcXG4gIC5uZXh0anMtY29udGFpbmVyLXJvb3QtbGF5b3V0LWVycm9yLWhlYWRlciA+IGg0IHtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgfVxcblxcbiAgLm5leHRqcy1jb250YWluZXItcm9vdC1sYXlvdXQtZXJyb3ItYm9keSBmb290ZXIge1xcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXplLWdhcCk7XFxuICB9XFxuICAubmV4dGpzLWNvbnRhaW5lci1yb290LWxheW91dC1lcnJvci1ib2R5IGZvb3RlciBwIHtcXG4gICAgbWFyZ2luOiAwO1xcbiAgfVxcblxcbiAgLm5leHRqcy1jb250YWluZXItcm9vdC1sYXlvdXQtZXJyb3ItYm9keSBzbWFsbCB7XFxuICAgIGNvbG9yOiAjNzU3NTc1O1xcbiAgfVxcblwiXG4gICAgXSk7XG4gICAgX3RlbXBsYXRlT2JqZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH07XG4gICAgcmV0dXJuIGRhdGE7XG59XG5jb25zdCBSb290TGF5b3V0RXJyb3IgPSBmdW5jdGlvbiBCdWlsZEVycm9yKHBhcmFtKSB7XG4gICAgbGV0IHsgbWlzc2luZ1RhZ3MgfSA9IHBhcmFtO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBcIlBsZWFzZSBtYWtlIHN1cmUgdG8gaW5jbHVkZSB0aGUgZm9sbG93aW5nIHRhZ3MgaW4geW91ciByb290IGxheW91dDogPGh0bWw+LCA8Ym9keT4uXFxuXFxuXCIgKyAoXCJNaXNzaW5nIHJlcXVpcmVkIHJvb3QgbGF5b3V0IHRhZ1wiICsgKG1pc3NpbmdUYWdzLmxlbmd0aCA9PT0gMSA/IFwiXCIgOiBcInNcIikgKyBcIjogXCIpICsgbWlzc2luZ1RhZ3Muam9pbihcIiwgXCIpO1xuICAgIGNvbnN0IG5vb3AgPSBfcmVhY3QuZGVmYXVsdC51c2VDYWxsYmFjaygoKT0+e30sIFtdKTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfT3ZlcmxheS5PdmVybGF5LCB7XG4gICAgICAgIGZpeGVkOiB0cnVlLFxuICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfRGlhbG9nLkRpYWxvZywge1xuICAgICAgICAgICAgdHlwZTogXCJlcnJvclwiLFxuICAgICAgICAgICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogXCJuZXh0anNfX2NvbnRhaW5lcl9yb290X2xheW91dF9lcnJvcl9sYWJlbFwiLFxuICAgICAgICAgICAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IFwibmV4dGpzX19jb250YWluZXJfcm9vdF9sYXlvdXRfZXJyb3JfZGVzY1wiLFxuICAgICAgICAgICAgb25DbG9zZTogbm9vcCxcbiAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfRGlhbG9nLkRpYWxvZ0NvbnRlbnQsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9EaWFsb2cuRGlhbG9nSGVhZGVyLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IFwibmV4dGpzLWNvbnRhaW5lci1yb290LWxheW91dC1lcnJvci1oZWFkZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiaDRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcIm5leHRqc19fY29udGFpbmVyX3Jvb3RfbGF5b3V0X2Vycm9yX2xhYmVsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFwiTWlzc2luZyByZXF1aXJlZCB0YWdzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfRGlhbG9nLkRpYWxvZ0JvZHksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogXCJuZXh0anMtY29udGFpbmVyLXJvb3QtbGF5b3V0LWVycm9yLWJvZHlcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfVGVybWluYWwuVGVybWluYWwsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJmb290ZXJcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwibmV4dGpzX19jb250YWluZXJfcm9vdF9sYXlvdXRfZXJyb3JfZGVzY1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzbWFsbFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFwiVGhpcyBlcnJvciBhbmQgY2FuIG9ubHkgYmUgZGlzbWlzc2VkIGJ5IHByb3ZpZGluZyBhbGwgcmVxdWlyZWQgdGFncy5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgfSk7XG59O1xuY29uc3Qgc3R5bGVzID0gKDAsIF9ub29wdGVtcGxhdGUubm9vcCkoX3RlbXBsYXRlT2JqZWN0KCkpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Sb290TGF5b3V0RXJyb3IuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiUm9vdExheW91dEVycm9yIiwic3R5bGVzIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9EaWFsb2ciLCJfT3ZlcmxheSIsIl9UZXJtaW5hbCIsIl9ub29wdGVtcGxhdGUiLCJfdGVtcGxhdGVPYmplY3QiLCJkYXRhIiwiQnVpbGRFcnJvciIsInBhcmFtIiwibWlzc2luZ1RhZ3MiLCJtZXNzYWdlIiwibGVuZ3RoIiwiam9pbiIsIm5vb3AiLCJkZWZhdWx0IiwidXNlQ2FsbGJhY2siLCJqc3giLCJPdmVybGF5IiwiZml4ZWQiLCJjaGlsZHJlbiIsIkRpYWxvZyIsInR5cGUiLCJvbkNsb3NlIiwianN4cyIsIkRpYWxvZ0NvbnRlbnQiLCJEaWFsb2dIZWFkZXIiLCJjbGFzc05hbWUiLCJpZCIsIkRpYWxvZ0JvZHkiLCJUZXJtaW5hbCIsImNvbnRlbnQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RootLayoutError.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js": /*!**********************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js ***! \**********************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CallStackFrame\", ({\n enumerable: true,\n get: function() {\n return CallStackFrame;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _stackframe = __webpack_require__(/*! ../../helpers/stack-frame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nconst CallStackFrame = function CallStackFrame(param) {\n let { frame } = param;\n var _frame_originalStackFrame;\n // TODO: ability to expand resolved frames\n // TODO: render error or external indicator\n const f = (_frame_originalStackFrame = frame.originalStackFrame) != null ? _frame_originalStackFrame : frame.sourceStackFrame;\n const hasSource = Boolean(frame.originalCodeFrame);\n const open = (0, _useopenineditor.useOpenInEditor)(hasSource ? {\n file: f.file,\n lineNumber: f.lineNumber,\n column: f.column\n } : undefined);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-call-stack-frame\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h3\", {\n \"data-nextjs-frame-expanded\": Boolean(frame.expanded),\n children: f.methodName\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-has-source\": hasSource ? \"true\" : undefined,\n tabIndex: hasSource ? 10 : undefined,\n role: hasSource ? \"link\" : undefined,\n onClick: open,\n title: hasSource ? \"Click to open in your editor\" : undefined,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: (0, _stackframe.getFrameSource)(f)\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n })\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CallStackFrame.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvQ2FsbFN0YWNrRnJhbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGtEQUFpRDtJQUM3Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsa0hBQXlDO0FBQ2xGLE1BQU1DLGNBQWNELG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRSxTQUFTLFdBQVcsR0FBR0gseUJBQXlCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3ZFLE1BQU1JLGNBQWNKLG1CQUFPQSxDQUFDLHFJQUEyQjtBQUN2RCxNQUFNSyxtQkFBbUJMLG1CQUFPQSxDQUFDLG1KQUFrQztBQUNuRSxNQUFNRixpQkFBaUIsU0FBU0EsZUFBZVEsS0FBSztJQUNoRCxJQUFJLEVBQUVDLEtBQUssRUFBRSxHQUFHRDtJQUNoQixJQUFJRTtJQUNKLDBDQUEwQztJQUMxQywyQ0FBMkM7SUFDM0MsTUFBTUMsSUFBSSxDQUFDRCw0QkFBNEJELE1BQU1HLGtCQUFrQixLQUFLLE9BQU9GLDRCQUE0QkQsTUFBTUksZ0JBQWdCO0lBQzdILE1BQU1DLFlBQVlDLFFBQVFOLE1BQU1PLGlCQUFpQjtJQUNqRCxNQUFNQyxPQUFPLENBQUMsR0FBR1YsaUJBQWlCVyxlQUFlLEVBQUVKLFlBQVk7UUFDM0RLLE1BQU1SLEVBQUVRLElBQUk7UUFDWkMsWUFBWVQsRUFBRVMsVUFBVTtRQUN4QkMsUUFBUVYsRUFBRVUsTUFBTTtJQUNwQixJQUFJQztJQUNKLE9BQXFCLFdBQUgsR0FBSSxJQUFHbkIsWUFBWW9CLElBQUksRUFBRSxPQUFPO1FBQzlDLGdDQUFnQztRQUNoQ0MsVUFBVTtZQUNOLFdBQVcsR0FBSSxJQUFHckIsWUFBWXNCLEdBQUcsRUFBRSxNQUFNO2dCQUNyQyw4QkFBOEJWLFFBQVFOLE1BQU1pQixRQUFRO2dCQUNwREYsVUFBVWIsRUFBRWdCLFVBQVU7WUFDMUI7WUFDQSxXQUFXLEdBQUksSUFBR3hCLFlBQVlvQixJQUFJLEVBQUUsT0FBTztnQkFDdkMsbUJBQW1CVCxZQUFZLFNBQVNRO2dCQUN4Q00sVUFBVWQsWUFBWSxLQUFLUTtnQkFDM0JPLE1BQU1mLFlBQVksU0FBU1E7Z0JBQzNCUSxTQUFTYjtnQkFDVGMsT0FBT2pCLFlBQVksaUNBQWlDUTtnQkFDcERFLFVBQVU7b0JBQ04sV0FBVyxHQUFJLElBQUdyQixZQUFZc0IsR0FBRyxFQUFFLFFBQVE7d0JBQ3ZDRCxVQUFVLENBQUMsR0FBR2xCLFlBQVkwQixjQUFjLEVBQUVyQjtvQkFDOUM7b0JBQ0EsV0FBVyxHQUFJLElBQUdSLFlBQVlvQixJQUFJLEVBQUUsT0FBTzt3QkFDdkNVLE9BQU87d0JBQ1BDLFNBQVM7d0JBQ1RDLE1BQU07d0JBQ05DLFFBQVE7d0JBQ1JDLGFBQWE7d0JBQ2JDLGVBQWU7d0JBQ2ZDLGdCQUFnQjt3QkFDaEJmLFVBQVU7NEJBQ04sV0FBVyxHQUFJLElBQUdyQixZQUFZc0IsR0FBRyxFQUFFLFFBQVE7Z0NBQ3ZDZSxHQUFHOzRCQUNQOzRCQUNBLFdBQVcsR0FBSSxJQUFHckMsWUFBWXNCLEdBQUcsRUFBRSxZQUFZO2dDQUMzQ2dCLFFBQVE7NEJBQ1o7NEJBQ0EsV0FBVyxHQUFJLElBQUd0QyxZQUFZc0IsR0FBRyxFQUFFLFFBQVE7Z0NBQ3ZDaUIsSUFBSTtnQ0FDSkMsSUFBSTtnQ0FDSkMsSUFBSTtnQ0FDSkMsSUFBSTs0QkFDUjt5QkFDSDtvQkFDTDtpQkFDSDtZQUNMO1NBQ0g7SUFDTDtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9qRCxRQUFRa0QsT0FBTyxLQUFLLGNBQWUsT0FBT2xELFFBQVFrRCxPQUFPLEtBQUssWUFBWWxELFFBQVFrRCxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9sRCxRQUFRa0QsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3JELE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWtELE9BQU8sRUFBRSxjQUFjO1FBQUVqRCxPQUFPO0lBQUs7SUFDbkVILE9BQU9zRCxNQUFNLENBQUNwRCxRQUFRa0QsT0FBTyxFQUFFbEQ7SUFDL0JxRCxPQUFPckQsT0FBTyxHQUFHQSxRQUFRa0QsT0FBTztBQUNsQyxFQUVBLDBDQUEwQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL1J1bnRpbWVFcnJvci9DYWxsU3RhY2tGcmFtZS5qcz83MWI3Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQ2FsbFN0YWNrRnJhbWVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENhbGxTdGFja0ZyYW1lO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3N0YWNrZnJhbWUgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy9zdGFjay1mcmFtZVwiKTtcbmNvbnN0IF91c2VvcGVuaW5lZGl0b3IgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy91c2Utb3Blbi1pbi1lZGl0b3JcIik7XG5jb25zdCBDYWxsU3RhY2tGcmFtZSA9IGZ1bmN0aW9uIENhbGxTdGFja0ZyYW1lKHBhcmFtKSB7XG4gICAgbGV0IHsgZnJhbWUgfSA9IHBhcmFtO1xuICAgIHZhciBfZnJhbWVfb3JpZ2luYWxTdGFja0ZyYW1lO1xuICAgIC8vIFRPRE86IGFiaWxpdHkgdG8gZXhwYW5kIHJlc29sdmVkIGZyYW1lc1xuICAgIC8vIFRPRE86IHJlbmRlciBlcnJvciBvciBleHRlcm5hbCBpbmRpY2F0b3JcbiAgICBjb25zdCBmID0gKF9mcmFtZV9vcmlnaW5hbFN0YWNrRnJhbWUgPSBmcmFtZS5vcmlnaW5hbFN0YWNrRnJhbWUpICE9IG51bGwgPyBfZnJhbWVfb3JpZ2luYWxTdGFja0ZyYW1lIDogZnJhbWUuc291cmNlU3RhY2tGcmFtZTtcbiAgICBjb25zdCBoYXNTb3VyY2UgPSBCb29sZWFuKGZyYW1lLm9yaWdpbmFsQ29kZUZyYW1lKTtcbiAgICBjb25zdCBvcGVuID0gKDAsIF91c2VvcGVuaW5lZGl0b3IudXNlT3BlbkluRWRpdG9yKShoYXNTb3VyY2UgPyB7XG4gICAgICAgIGZpbGU6IGYuZmlsZSxcbiAgICAgICAgbGluZU51bWJlcjogZi5saW5lTnVtYmVyLFxuICAgICAgICBjb2x1bW46IGYuY29sdW1uXG4gICAgfSA6IHVuZGVmaW5lZCk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLW5leHRqcy1jYWxsLXN0YWNrLWZyYW1lXCI6IHRydWUsXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiaDNcIiwge1xuICAgICAgICAgICAgICAgIFwiZGF0YS1uZXh0anMtZnJhbWUtZXhwYW5kZWRcIjogQm9vbGVhbihmcmFtZS5leHBhbmRlZCksXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IGYubWV0aG9kTmFtZVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgXCJkYXRhLWhhcy1zb3VyY2VcIjogaGFzU291cmNlID8gXCJ0cnVlXCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgdGFiSW5kZXg6IGhhc1NvdXJjZSA/IDEwIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHJvbGU6IGhhc1NvdXJjZSA/IFwibGlua1wiIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIG9uQ2xpY2s6IG9wZW4sXG4gICAgICAgICAgICAgICAgdGl0bGU6IGhhc1NvdXJjZSA/IFwiQ2xpY2sgdG8gb3BlbiBpbiB5b3VyIGVkaXRvclwiIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAoMCwgX3N0YWNrZnJhbWUuZ2V0RnJhbWVTb3VyY2UpKGYpXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcInN2Z1wiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveDogXCIwIDAgMjQgMjRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcImN1cnJlbnRDb2xvclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IFwiMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBhdGhcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkOiBcIk0xOCAxM3Y2YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmg2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwicG9seWxpbmVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHM6IFwiMTUgMyAyMSAzIDIxIDlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJsaW5lXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDE6IFwiMTBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeTE6IFwiMTRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDI6IFwiMjFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeTI6IFwiM1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSk7XG59O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1DYWxsU3RhY2tGcmFtZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiQ2FsbFN0YWNrRnJhbWUiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwiX3N0YWNrZnJhbWUiLCJfdXNlb3BlbmluZWRpdG9yIiwicGFyYW0iLCJmcmFtZSIsIl9mcmFtZV9vcmlnaW5hbFN0YWNrRnJhbWUiLCJmIiwib3JpZ2luYWxTdGFja0ZyYW1lIiwic291cmNlU3RhY2tGcmFtZSIsImhhc1NvdXJjZSIsIkJvb2xlYW4iLCJvcmlnaW5hbENvZGVGcmFtZSIsIm9wZW4iLCJ1c2VPcGVuSW5FZGl0b3IiLCJmaWxlIiwibGluZU51bWJlciIsImNvbHVtbiIsInVuZGVmaW5lZCIsImpzeHMiLCJjaGlsZHJlbiIsImpzeCIsImV4cGFuZGVkIiwibWV0aG9kTmFtZSIsInRhYkluZGV4Iiwicm9sZSIsIm9uQ2xpY2siLCJ0aXRsZSIsImdldEZyYW1lU291cmNlIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiZCIsInBvaW50cyIsIngxIiwieTEiLCJ4MiIsInkyIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/ComponentStackFrameRow.js": /*!******************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/ComponentStackFrameRow.js ***! \******************************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ComponentStackFrameRow\", ({\n enumerable: true,\n get: function() {\n return ComponentStackFrameRow;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nfunction EditorLink(param) {\n let { children, componentStackFrame: { file, column, lineNumber } } = param;\n const open = (0, _useopenineditor.useOpenInEditor)({\n file,\n column,\n lineNumber\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n tabIndex: 10,\n role: \"link\",\n onClick: open,\n title: \"Click to open in your editor\",\n children: [\n children,\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n });\n}\nfunction formatLineNumber(lineNumber, column) {\n if (!column) {\n return lineNumber;\n }\n return lineNumber + \":\" + column;\n}\nfunction LocationLine(param) {\n let { componentStackFrame } = param;\n const { file, lineNumber, column } = componentStackFrame;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n file,\n \" \",\n lineNumber ? \"(\" + formatLineNumber(lineNumber, column) + \")\" : \"\"\n ]\n });\n}\nfunction SourceLocation(param) {\n let { componentStackFrame } = param;\n const { file, canOpenInEditor } = componentStackFrame;\n if (file && canOpenInEditor) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(EditorLink, {\n componentStackFrame: componentStackFrame,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LocationLine, {\n componentStackFrame: componentStackFrame\n })\n })\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LocationLine, {\n componentStackFrame: componentStackFrame\n })\n });\n}\nfunction ComponentStackFrameRow(param) {\n let { componentStackFrame } = param;\n const { component } = componentStackFrame;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-component-stack-frame\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h3\", {\n children: component\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(SourceLocation, {\n componentStackFrame: componentStackFrame\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ComponentStackFrameRow.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvQ29tcG9uZW50U3RhY2tGcmFtZVJvdy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMERBQXlEO0lBQ3JESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsTUFBTUksbUJBQW1CSixtQkFBT0EsQ0FBQyxtSkFBa0M7QUFDbkUsU0FBU0ssV0FBV0MsS0FBSztJQUNyQixJQUFJLEVBQUVDLFFBQVEsRUFBRUMscUJBQXFCLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxVQUFVLEVBQUUsRUFBRSxHQUFHTDtJQUN0RSxNQUFNTSxPQUFPLENBQUMsR0FBR1IsaUJBQWlCUyxlQUFlLEVBQUU7UUFDL0NKO1FBQ0FDO1FBQ0FDO0lBQ0o7SUFDQSxPQUFxQixXQUFILEdBQUksSUFBR1YsWUFBWWEsSUFBSSxFQUFFLE9BQU87UUFDOUNDLFVBQVU7UUFDVkMsTUFBTTtRQUNOQyxTQUFTTDtRQUNUTSxPQUFPO1FBQ1BYLFVBQVU7WUFDTkE7WUFDQSxXQUFXLEdBQUksSUFBR04sWUFBWWEsSUFBSSxFQUFFLE9BQU87Z0JBQ3ZDSyxPQUFPO2dCQUNQQyxTQUFTO2dCQUNUQyxNQUFNO2dCQUNOQyxRQUFRO2dCQUNSQyxhQUFhO2dCQUNiQyxlQUFlO2dCQUNmQyxnQkFBZ0I7Z0JBQ2hCbEIsVUFBVTtvQkFDTixXQUFXLEdBQUksSUFBR04sWUFBWXlCLEdBQUcsRUFBRSxRQUFRO3dCQUN2Q0MsR0FBRztvQkFDUDtvQkFDQSxXQUFXLEdBQUksSUFBRzFCLFlBQVl5QixHQUFHLEVBQUUsWUFBWTt3QkFDM0NFLFFBQVE7b0JBQ1o7b0JBQ0EsV0FBVyxHQUFJLElBQUczQixZQUFZeUIsR0FBRyxFQUFFLFFBQVE7d0JBQ3ZDRyxJQUFJO3dCQUNKQyxJQUFJO3dCQUNKQyxJQUFJO3dCQUNKQyxJQUFJO29CQUNSO2lCQUNIO1lBQ0w7U0FDSDtJQUNMO0FBQ0o7QUFDQSxTQUFTQyxpQkFBaUJ0QixVQUFVLEVBQUVELE1BQU07SUFDeEMsSUFBSSxDQUFDQSxRQUFRO1FBQ1QsT0FBT0M7SUFDWDtJQUNBLE9BQU9BLGFBQWEsTUFBTUQ7QUFDOUI7QUFDQSxTQUFTd0IsYUFBYTVCLEtBQUs7SUFDdkIsSUFBSSxFQUFFRSxtQkFBbUIsRUFBRSxHQUFHRjtJQUM5QixNQUFNLEVBQUVHLElBQUksRUFBRUUsVUFBVSxFQUFFRCxNQUFNLEVBQUUsR0FBR0Y7SUFDckMsT0FBcUIsV0FBSCxHQUFJLElBQUdQLFlBQVlhLElBQUksRUFBRWIsWUFBWWtDLFFBQVEsRUFBRTtRQUM3RDVCLFVBQVU7WUFDTkU7WUFDQTtZQUNBRSxhQUFhLE1BQU1zQixpQkFBaUJ0QixZQUFZRCxVQUFVLE1BQU07U0FDbkU7SUFDTDtBQUNKO0FBQ0EsU0FBUzBCLGVBQWU5QixLQUFLO0lBQ3pCLElBQUksRUFBRUUsbUJBQW1CLEVBQUUsR0FBR0Y7SUFDOUIsTUFBTSxFQUFFRyxJQUFJLEVBQUU0QixlQUFlLEVBQUUsR0FBRzdCO0lBQ2xDLElBQUlDLFFBQVE0QixpQkFBaUI7UUFDekIsT0FBcUIsV0FBSCxHQUFJLElBQUdwQyxZQUFZeUIsR0FBRyxFQUFFckIsWUFBWTtZQUNsREcscUJBQXFCQTtZQUNyQkQsVUFBd0IsV0FBSCxHQUFJLElBQUdOLFlBQVl5QixHQUFHLEVBQUUsUUFBUTtnQkFDakRuQixVQUF3QixXQUFILEdBQUksSUFBR04sWUFBWXlCLEdBQUcsRUFBRVEsY0FBYztvQkFDdkQxQixxQkFBcUJBO2dCQUN6QjtZQUNKO1FBQ0o7SUFDSjtJQUNBLE9BQXFCLFdBQUgsR0FBSSxJQUFHUCxZQUFZeUIsR0FBRyxFQUFFLE9BQU87UUFDN0NuQixVQUF3QixXQUFILEdBQUksSUFBR04sWUFBWXlCLEdBQUcsRUFBRVEsY0FBYztZQUN2RDFCLHFCQUFxQkE7UUFDekI7SUFDSjtBQUNKO0FBQ0EsU0FBU1YsdUJBQXVCUSxLQUFLO0lBQ2pDLElBQUksRUFBRUUsbUJBQW1CLEVBQUUsR0FBR0Y7SUFDOUIsTUFBTSxFQUFFZ0MsU0FBUyxFQUFFLEdBQUc5QjtJQUN0QixPQUFxQixXQUFILEdBQUksSUFBR1AsWUFBWWEsSUFBSSxFQUFFLE9BQU87UUFDOUMscUNBQXFDO1FBQ3JDUCxVQUFVO1lBQ04sV0FBVyxHQUFJLElBQUdOLFlBQVl5QixHQUFHLEVBQUUsTUFBTTtnQkFDckNuQixVQUFVK0I7WUFDZDtZQUNBLFdBQVcsR0FBSSxJQUFHckMsWUFBWXlCLEdBQUcsRUFBRVUsZ0JBQWdCO2dCQUMvQzVCLHFCQUFxQkE7WUFDekI7U0FDSDtJQUNMO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT2QsUUFBUTZDLE9BQU8sS0FBSyxjQUFlLE9BQU83QyxRQUFRNkMsT0FBTyxLQUFLLFlBQVk3QyxRQUFRNkMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPN0MsUUFBUTZDLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktoRCxPQUFPQyxjQUFjLENBQUNDLFFBQVE2QyxPQUFPLEVBQUUsY0FBYztRQUFFNUMsT0FBTztJQUFLO0lBQ25FSCxPQUFPaUQsTUFBTSxDQUFDL0MsUUFBUTZDLE9BQU8sRUFBRTdDO0lBQy9CZ0QsT0FBT2hELE9BQU8sR0FBR0EsUUFBUTZDLE9BQU87QUFDbEMsRUFFQSxrREFBa0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvQ29tcG9uZW50U3RhY2tGcmFtZVJvdy5qcz82ODg4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQ29tcG9uZW50U3RhY2tGcmFtZVJvd1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ29tcG9uZW50U3RhY2tGcmFtZVJvdztcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF91c2VvcGVuaW5lZGl0b3IgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy91c2Utb3Blbi1pbi1lZGl0b3JcIik7XG5mdW5jdGlvbiBFZGl0b3JMaW5rKHBhcmFtKSB7XG4gICAgbGV0IHsgY2hpbGRyZW4sIGNvbXBvbmVudFN0YWNrRnJhbWU6IHsgZmlsZSwgY29sdW1uLCBsaW5lTnVtYmVyIH0gfSA9IHBhcmFtO1xuICAgIGNvbnN0IG9wZW4gPSAoMCwgX3VzZW9wZW5pbmVkaXRvci51c2VPcGVuSW5FZGl0b3IpKHtcbiAgICAgICAgZmlsZSxcbiAgICAgICAgY29sdW1uLFxuICAgICAgICBsaW5lTnVtYmVyXG4gICAgfSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiZGl2XCIsIHtcbiAgICAgICAgdGFiSW5kZXg6IDEwLFxuICAgICAgICByb2xlOiBcImxpbmtcIixcbiAgICAgICAgb25DbGljazogb3BlbixcbiAgICAgICAgdGl0bGU6IFwiQ2xpY2sgdG8gb3BlbiBpbiB5b3VyIGVkaXRvclwiLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcInN2Z1wiLCB7XG4gICAgICAgICAgICAgICAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgICAgICAgICAgICAgICB2aWV3Qm94OiBcIjAgMCAyNCAyNFwiLFxuICAgICAgICAgICAgICAgIGZpbGw6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogXCIyXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBhdGhcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZDogXCJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNlwiXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwicG9seWxpbmVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzOiBcIjE1IDMgMjEgMyAyMSA5XCJcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJsaW5lXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHgxOiBcIjEwXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB5MTogXCIxNFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDI6IFwiMjFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHkyOiBcIjNcIlxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGZvcm1hdExpbmVOdW1iZXIobGluZU51bWJlciwgY29sdW1uKSB7XG4gICAgaWYgKCFjb2x1bW4pIHtcbiAgICAgICAgcmV0dXJuIGxpbmVOdW1iZXI7XG4gICAgfVxuICAgIHJldHVybiBsaW5lTnVtYmVyICsgXCI6XCIgKyBjb2x1bW47XG59XG5mdW5jdGlvbiBMb2NhdGlvbkxpbmUocGFyYW0pIHtcbiAgICBsZXQgeyBjb21wb25lbnRTdGFja0ZyYW1lIH0gPSBwYXJhbTtcbiAgICBjb25zdCB7IGZpbGUsIGxpbmVOdW1iZXIsIGNvbHVtbiB9ID0gY29tcG9uZW50U3RhY2tGcmFtZTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgICBcIiBcIixcbiAgICAgICAgICAgIGxpbmVOdW1iZXIgPyBcIihcIiArIGZvcm1hdExpbmVOdW1iZXIobGluZU51bWJlciwgY29sdW1uKSArIFwiKVwiIDogXCJcIlxuICAgICAgICBdXG4gICAgfSk7XG59XG5mdW5jdGlvbiBTb3VyY2VMb2NhdGlvbihwYXJhbSkge1xuICAgIGxldCB7IGNvbXBvbmVudFN0YWNrRnJhbWUgfSA9IHBhcmFtO1xuICAgIGNvbnN0IHsgZmlsZSwgY2FuT3BlbkluRWRpdG9yIH0gPSBjb21wb25lbnRTdGFja0ZyYW1lO1xuICAgIGlmIChmaWxlICYmIGNhbk9wZW5JbkVkaXRvcikge1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShFZGl0b3JMaW5rLCB7XG4gICAgICAgICAgICBjb21wb25lbnRTdGFja0ZyYW1lOiBjb21wb25lbnRTdGFja0ZyYW1lLFxuICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShMb2NhdGlvbkxpbmUsIHtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50U3RhY2tGcmFtZTogY29tcG9uZW50U3RhY2tGcmFtZVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJkaXZcIiwge1xuICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShMb2NhdGlvbkxpbmUsIHtcbiAgICAgICAgICAgIGNvbXBvbmVudFN0YWNrRnJhbWU6IGNvbXBvbmVudFN0YWNrRnJhbWVcbiAgICAgICAgfSlcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIENvbXBvbmVudFN0YWNrRnJhbWVSb3cocGFyYW0pIHtcbiAgICBsZXQgeyBjb21wb25lbnRTdGFja0ZyYW1lIH0gPSBwYXJhbTtcbiAgICBjb25zdCB7IGNvbXBvbmVudCB9ID0gY29tcG9uZW50U3RhY2tGcmFtZTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJkaXZcIiwge1xuICAgICAgICBcImRhdGEtbmV4dGpzLWNvbXBvbmVudC1zdGFjay1mcmFtZVwiOiB0cnVlLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImgzXCIsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogY29tcG9uZW50XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoU291cmNlTG9jYXRpb24sIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRTdGFja0ZyYW1lOiBjb21wb25lbnRTdGFja0ZyYW1lXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbXBvbmVudFN0YWNrRnJhbWVSb3cuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkNvbXBvbmVudFN0YWNrRnJhbWVSb3ciLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwiX3VzZW9wZW5pbmVkaXRvciIsIkVkaXRvckxpbmsiLCJwYXJhbSIsImNoaWxkcmVuIiwiY29tcG9uZW50U3RhY2tGcmFtZSIsImZpbGUiLCJjb2x1bW4iLCJsaW5lTnVtYmVyIiwib3BlbiIsInVzZU9wZW5JbkVkaXRvciIsImpzeHMiLCJ0YWJJbmRleCIsInJvbGUiLCJvbkNsaWNrIiwidGl0bGUiLCJ4bWxucyIsInZpZXdCb3giLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJqc3giLCJkIiwicG9pbnRzIiwieDEiLCJ5MSIsIngyIiwieTIiLCJmb3JtYXRMaW5lTnVtYmVyIiwiTG9jYXRpb25MaW5lIiwiRnJhZ21lbnQiLCJTb3VyY2VMb2NhdGlvbiIsImNhbk9wZW5JbkVkaXRvciIsImNvbXBvbmVudCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/ComponentStackFrameRow.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/FrameworkIcon.js": /*!*********************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/FrameworkIcon.js ***! \*********************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"FrameworkIcon\", ({\n enumerable: true,\n get: function() {\n return FrameworkIcon;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nfunction FrameworkIcon(param) {\n let { framework } = param;\n if (framework === \"react\") {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n \"data-nextjs-call-stack-framework-icon\": \"react\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 410 369\",\n fill: \"none\",\n shapeRendering: \"geometricPrecision\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"5\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M204.995 224.552C226.56 224.552 244.042 207.07 244.042 185.506C244.042 163.941 226.56 146.459 204.995 146.459C183.43 146.459 165.948 163.941 165.948 185.506C165.948 207.07 183.43 224.552 204.995 224.552Z\",\n fill: \"currentColor\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M409.99 184.505C409.99 153.707 381.437 126.667 335.996 108.925C343.342 60.6535 334.19 22.3878 307.492 6.98883C283.649 -6.77511 250.631 -0.0395641 214.512 25.9753C211.316 28.2692 208.143 30.7097 204.97 33.2477C201.822 30.7097 198.65 28.2692 195.477 25.9753C159.359 -0.0395641 126.34 -6.79951 102.497 6.98883C75.8237 22.3878 66.6721 60.6291 74.0422 108.852C28.5529 126.618 0 153.682 0 184.505C0 215.303 28.5528 242.342 73.9934 260.084C66.6477 308.356 75.7993 346.621 102.497 362.02C110.575 366.682 119.727 369 129.684 369C149.085 369 171.61 360.215 195.477 343.034C198.674 340.74 201.847 338.3 205.019 335.762C208.167 338.3 211.34 340.74 214.512 343.034C238.38 360.239 260.905 369 280.306 369C290.263 369 299.415 366.682 307.492 362.02C331.335 348.256 342 316.287 337.534 271.993C337.143 268.089 336.631 264.135 335.996 260.109C381.461 242.367 409.99 215.327 409.99 184.505ZM225.934 41.8136C246.238 27.1955 265.127 19.5814 280.306 19.5814C286.871 19.5814 292.728 20.9968 297.731 23.8765C315.204 33.9798 322.672 62.9475 317.327 102.433C299.756 97.0401 280.306 92.9158 259.392 90.2802C246.872 73.8074 233.597 58.9453 220.003 46.2551C221.98 44.7421 223.957 43.229 225.934 41.8136ZM112.259 23.8765C117.262 20.9968 123.119 19.5814 129.684 19.5814C144.863 19.5814 163.752 27.1711 184.056 41.8136C186.033 43.229 188.01 44.7176 189.986 46.2551C176.393 58.9453 163.142 73.783 150.622 90.2558C129.732 92.8914 110.258 97.0401 92.687 102.409C87.3424 62.9475 94.7857 33.9798 112.259 23.8765ZM19.5233 184.505C19.5233 164.322 40.9014 143.359 77.776 128.253C81.9003 146.141 88.0502 165.054 96.1768 184.456C88.0014 203.881 81.8515 222.819 77.7272 240.732C40.9014 225.626 19.5233 204.687 19.5233 184.505ZM184.056 327.196C154.966 348.134 128.805 354.675 112.259 345.133C94.7857 335.029 87.3181 306.062 92.6626 266.576C110.234 271.969 129.684 276.093 150.598 278.729C163.117 295.202 176.393 310.064 189.986 322.754C188.01 324.292 186.033 325.78 184.056 327.196ZM204.995 310.04C180.591 287.685 157.138 257.815 137.347 223.551C132.051 214.4 121.344 191.396 117 182.489C113.535 190.786 110.112 198.398 107.427 206.5C109.623 210.575 118.092 229.213 120.434 233.288C125.071 241.317 129.928 249.127 134.931 256.692C120.898 254.227 107.915 251.055 96.1035 247.321C102.815 217.011 116.213 182.064 137.347 145.458C142.545 136.453 153.838 116.346 159.5 108C150.568 109.147 143.395 108.767 135 110.5C132.56 114.453 122.777 131.645 120.434 135.721C115.749 143.823 111.454 151.925 107.427 159.978C102.546 146.581 98.8124 133.744 96.1524 121.64C125.755 112.293 162.727 106.411 204.995 106.411C215.562 106.411 237.63 106.197 247.49 106.905C242.048 99.7544 237.38 93.2819 231.694 86.888C227.082 86.7416 209.705 86.888 204.995 86.888C195.672 86.888 186.545 87.2053 177.589 87.7422C186.472 77.1752 195.672 67.5111 204.995 58.9697C229.375 81.3239 252.851 111.195 272.643 145.458C277.841 154.463 289.073 175.426 293.49 184.505C296.98 176.207 300.281 168.64 302.99 160.489C300.793 156.389 291.898 139.747 289.555 135.696C284.918 127.667 280.062 119.858 275.059 112.317C289.092 114.782 302.075 117.954 313.886 121.688C307.175 151.998 293.777 186.945 272.643 223.551C267.445 232.556 252.651 253.178 246.99 261.524C255.922 260.377 265.595 258.663 273.99 256.93C276.43 252.976 287.212 237.364 289.555 233.288C294.216 225.235 298.512 217.182 302.489 209.153C307.224 222.185 310.982 234.997 313.715 247.394C284.138 256.741 247.214 262.598 204.995 262.598C194.428 262.598 169.859 261.208 160 260.5C165.442 267.65 171.304 275.095 176.99 281.489C181.602 281.635 200.285 282.121 204.995 282.121C214.317 282.121 223.444 281.804 232.401 281.267C223.493 291.834 214.317 301.498 204.995 310.04ZM297.731 345.133C281.185 354.699 254.999 348.159 225.934 327.196C223.957 325.78 221.98 324.292 220.003 322.754C233.597 310.064 246.848 295.226 259.367 278.753C280.233 276.118 299.659 271.993 317.205 266.625C317.547 269.089 317.888 271.554 318.132 273.97C321.72 309.649 314.277 335.566 297.731 345.133ZM332.262 240.756C328.065 222.599 321.842 203.686 313.813 184.578C321.988 165.152 328.138 146.215 332.262 128.302C369.088 143.408 390.466 164.322 390.466 184.505C390.466 204.687 369.113 225.626 332.262 240.756Z\",\n fill: \"currentColor\"\n })\n ]\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n \"data-nextjs-call-stack-framework-icon\": \"next\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 180 180\",\n fill: \"none\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"mask\", {\n id: \"mask0_408_139\",\n maskUnits: \"userSpaceOnUse\",\n x: \"0\",\n y: \"0\",\n width: \"180\",\n height: \"180\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"90\",\n cy: \"90\",\n r: \"90\",\n fill: \"black\"\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"g\", {\n mask: \"url(#mask0_408_139)\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"90\",\n cy: \"90\",\n r: \"87\",\n fill: \"black\",\n stroke: \"white\",\n strokeWidth: \"6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M149.508 157.52L69.142 54H54V125.97H66.1136V69.3836L139.999 164.845C143.333 162.614 146.509 160.165 149.508 157.52Z\",\n fill: \"url(#paint0_linear_408_139)\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"rect\", {\n x: \"115\",\n y: \"54\",\n width: \"12\",\n height: \"72\",\n fill: \"url(#paint1_linear_408_139)\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"defs\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"linearGradient\", {\n id: \"paint0_linear_408_139\",\n x1: \"109\",\n y1: \"116.5\",\n x2: \"144.5\",\n y2: \"160.5\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n stopColor: \"white\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n offset: \"1\",\n stopColor: \"white\",\n stopOpacity: \"0\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"linearGradient\", {\n id: \"paint1_linear_408_139\",\n x1: \"121\",\n y1: \"54\",\n x2: \"120.799\",\n y2: \"106.875\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n stopColor: \"white\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n offset: \"1\",\n stopColor: \"white\",\n stopOpacity: \"0\"\n })\n ]\n })\n ]\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=FrameworkIcon.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvRnJhbWV3b3JrSWNvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsU0FBU0YsY0FBY00sS0FBSztJQUN4QixJQUFJLEVBQUVDLFNBQVMsRUFBRSxHQUFHRDtJQUNwQixJQUFJQyxjQUFjLFNBQVM7UUFDdkIsT0FBcUIsV0FBSCxHQUFJLElBQUdKLFlBQVlLLElBQUksRUFBRSxPQUFPO1lBQzlDLHlDQUF5QztZQUN6Q0MsT0FBTztZQUNQQyxPQUFPO1lBQ1BDLFFBQVE7WUFDUkMsU0FBUztZQUNUQyxNQUFNO1lBQ05DLGdCQUFnQjtZQUNoQkMsUUFBUTtZQUNSQyxlQUFlO1lBQ2ZDLGdCQUFnQjtZQUNoQkMsYUFBYTtZQUNiQyxVQUFVO2dCQUNOLFdBQVcsR0FBSSxJQUFHaEIsWUFBWWlCLEdBQUcsRUFBRSxRQUFRO29CQUN2Q0MsR0FBRztvQkFDSFIsTUFBTTtnQkFDVjtnQkFDQSxXQUFXLEdBQUksSUFBR1YsWUFBWWlCLEdBQUcsRUFBRSxRQUFRO29CQUN2Q0MsR0FBRztvQkFDSFIsTUFBTTtnQkFDVjthQUNIO1FBQ0w7SUFDSjtJQUNBLE9BQXFCLFdBQUgsR0FBSSxJQUFHVixZQUFZSyxJQUFJLEVBQUUsT0FBTztRQUM5Qyx5Q0FBeUM7UUFDekNDLE9BQU87UUFDUEMsT0FBTztRQUNQQyxRQUFRO1FBQ1JDLFNBQVM7UUFDVEMsTUFBTTtRQUNOTSxVQUFVO1lBQ04sV0FBVyxHQUFJLElBQUdoQixZQUFZaUIsR0FBRyxFQUFFLFFBQVE7Z0JBQ3ZDRSxJQUFJO2dCQUNKQyxXQUFXO2dCQUNYQyxHQUFHO2dCQUNIQyxHQUFHO2dCQUNIZixPQUFPO2dCQUNQQyxRQUFRO2dCQUNSUSxVQUF3QixXQUFILEdBQUksSUFBR2hCLFlBQVlpQixHQUFHLEVBQUUsVUFBVTtvQkFDbkRNLElBQUk7b0JBQ0pDLElBQUk7b0JBQ0pDLEdBQUc7b0JBQ0hmLE1BQU07Z0JBQ1Y7WUFDSjtZQUNBLFdBQVcsR0FBSSxJQUFHVixZQUFZSyxJQUFJLEVBQUUsS0FBSztnQkFDckNxQixNQUFNO2dCQUNOVixVQUFVO29CQUNOLFdBQVcsR0FBSSxJQUFHaEIsWUFBWWlCLEdBQUcsRUFBRSxVQUFVO3dCQUN6Q00sSUFBSTt3QkFDSkMsSUFBSTt3QkFDSkMsR0FBRzt3QkFDSGYsTUFBTTt3QkFDTkUsUUFBUTt3QkFDUkcsYUFBYTtvQkFDakI7b0JBQ0EsV0FBVyxHQUFJLElBQUdmLFlBQVlpQixHQUFHLEVBQUUsUUFBUTt3QkFDdkNDLEdBQUc7d0JBQ0hSLE1BQU07b0JBQ1Y7b0JBQ0EsV0FBVyxHQUFJLElBQUdWLFlBQVlpQixHQUFHLEVBQUUsUUFBUTt3QkFDdkNJLEdBQUc7d0JBQ0hDLEdBQUc7d0JBQ0hmLE9BQU87d0JBQ1BDLFFBQVE7d0JBQ1JFLE1BQU07b0JBQ1Y7aUJBQ0g7WUFDTDtZQUNBLFdBQVcsR0FBSSxJQUFHVixZQUFZSyxJQUFJLEVBQUUsUUFBUTtnQkFDeENXLFVBQVU7b0JBQ04sV0FBVyxHQUFJLElBQUdoQixZQUFZSyxJQUFJLEVBQUUsa0JBQWtCO3dCQUNsRGMsSUFBSTt3QkFDSlEsSUFBSTt3QkFDSkMsSUFBSTt3QkFDSkMsSUFBSTt3QkFDSkMsSUFBSTt3QkFDSkMsZUFBZTt3QkFDZmYsVUFBVTs0QkFDTixXQUFXLEdBQUksSUFBR2hCLFlBQVlpQixHQUFHLEVBQUUsUUFBUTtnQ0FDdkNlLFdBQVc7NEJBQ2Y7NEJBQ0EsV0FBVyxHQUFJLElBQUdoQyxZQUFZaUIsR0FBRyxFQUFFLFFBQVE7Z0NBQ3ZDZ0IsUUFBUTtnQ0FDUkQsV0FBVztnQ0FDWEUsYUFBYTs0QkFDakI7eUJBQ0g7b0JBQ0w7b0JBQ0EsV0FBVyxHQUFJLElBQUdsQyxZQUFZSyxJQUFJLEVBQUUsa0JBQWtCO3dCQUNsRGMsSUFBSTt3QkFDSlEsSUFBSTt3QkFDSkMsSUFBSTt3QkFDSkMsSUFBSTt3QkFDSkMsSUFBSTt3QkFDSkMsZUFBZTt3QkFDZmYsVUFBVTs0QkFDTixXQUFXLEdBQUksSUFBR2hCLFlBQVlpQixHQUFHLEVBQUUsUUFBUTtnQ0FDdkNlLFdBQVc7NEJBQ2Y7NEJBQ0EsV0FBVyxHQUFJLElBQUdoQyxZQUFZaUIsR0FBRyxFQUFFLFFBQVE7Z0NBQ3ZDZ0IsUUFBUTtnQ0FDUkQsV0FBVztnQ0FDWEUsYUFBYTs0QkFDakI7eUJBQ0g7b0JBQ0w7aUJBQ0g7WUFDTDtTQUNIO0lBQ0w7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPekMsUUFBUTBDLE9BQU8sS0FBSyxjQUFlLE9BQU8xQyxRQUFRMEMsT0FBTyxLQUFLLFlBQVkxQyxRQUFRMEMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPMUMsUUFBUTBDLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcks3QyxPQUFPQyxjQUFjLENBQUNDLFFBQVEwQyxPQUFPLEVBQUUsY0FBYztRQUFFekMsT0FBTztJQUFLO0lBQ25FSCxPQUFPOEMsTUFBTSxDQUFDNUMsUUFBUTBDLE9BQU8sRUFBRTFDO0lBQy9CNkMsT0FBTzdDLE9BQU8sR0FBR0EsUUFBUTBDLE9BQU87QUFDbEMsRUFFQSx5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvRnJhbWV3b3JrSWNvbi5qcz9iODNjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRnJhbWV3b3JrSWNvblwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRnJhbWV3b3JrSWNvbjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmZ1bmN0aW9uIEZyYW1ld29ya0ljb24ocGFyYW0pIHtcbiAgICBsZXQgeyBmcmFtZXdvcmsgfSA9IHBhcmFtO1xuICAgIGlmIChmcmFtZXdvcmsgPT09IFwicmVhY3RcIikge1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJzdmdcIiwge1xuICAgICAgICAgICAgXCJkYXRhLW5leHRqcy1jYWxsLXN0YWNrLWZyYW1ld29yay1pY29uXCI6IFwicmVhY3RcIixcbiAgICAgICAgICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgICAgICAgICB3aWR0aDogXCIyMFwiLFxuICAgICAgICAgICAgaGVpZ2h0OiBcIjIwXCIsXG4gICAgICAgICAgICB2aWV3Qm94OiBcIjAgMCA0MTAgMzY5XCIsXG4gICAgICAgICAgICBmaWxsOiBcIm5vbmVcIixcbiAgICAgICAgICAgIHNoYXBlUmVuZGVyaW5nOiBcImdlb21ldHJpY1ByZWNpc2lvblwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcImN1cnJlbnRDb2xvclwiLFxuICAgICAgICAgICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIixcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoOiBcIjVcIixcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBhdGhcIiwge1xuICAgICAgICAgICAgICAgICAgICBkOiBcIk0yMDQuOTk1IDIyNC41NTJDMjI2LjU2IDIyNC41NTIgMjQ0LjA0MiAyMDcuMDcgMjQ0LjA0MiAxODUuNTA2QzI0NC4wNDIgMTYzLjk0MSAyMjYuNTYgMTQ2LjQ1OSAyMDQuOTk1IDE0Ni40NTlDMTgzLjQzIDE0Ni40NTkgMTY1Ljk0OCAxNjMuOTQxIDE2NS45NDggMTg1LjUwNkMxNjUuOTQ4IDIwNy4wNyAxODMuNDMgMjI0LjU1MiAyMDQuOTk1IDIyNC41NTJaXCIsXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IFwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwicGF0aFwiLCB7XG4gICAgICAgICAgICAgICAgICAgIGQ6IFwiTTQwOS45OSAxODQuNTA1QzQwOS45OSAxNTMuNzA3IDM4MS40MzcgMTI2LjY2NyAzMzUuOTk2IDEwOC45MjVDMzQzLjM0MiA2MC42NTM1IDMzNC4xOSAyMi4zODc4IDMwNy40OTIgNi45ODg4M0MyODMuNjQ5IC02Ljc3NTExIDI1MC42MzEgLTAuMDM5NTY0MSAyMTQuNTEyIDI1Ljk3NTNDMjExLjMxNiAyOC4yNjkyIDIwOC4xNDMgMzAuNzA5NyAyMDQuOTcgMzMuMjQ3N0MyMDEuODIyIDMwLjcwOTcgMTk4LjY1IDI4LjI2OTIgMTk1LjQ3NyAyNS45NzUzQzE1OS4zNTkgLTAuMDM5NTY0MSAxMjYuMzQgLTYuNzk5NTEgMTAyLjQ5NyA2Ljk4ODgzQzc1LjgyMzcgMjIuMzg3OCA2Ni42NzIxIDYwLjYyOTEgNzQuMDQyMiAxMDguODUyQzI4LjU1MjkgMTI2LjYxOCAwIDE1My42ODIgMCAxODQuNTA1QzAgMjE1LjMwMyAyOC41NTI4IDI0Mi4zNDIgNzMuOTkzNCAyNjAuMDg0QzY2LjY0NzcgMzA4LjM1NiA3NS43OTkzIDM0Ni42MjEgMTAyLjQ5NyAzNjIuMDJDMTEwLjU3NSAzNjYuNjgyIDExOS43MjcgMzY5IDEyOS42ODQgMzY5QzE0OS4wODUgMzY5IDE3MS42MSAzNjAuMjE1IDE5NS40NzcgMzQzLjAzNEMxOTguNjc0IDM0MC43NCAyMDEuODQ3IDMzOC4zIDIwNS4wMTkgMzM1Ljc2MkMyMDguMTY3IDMzOC4zIDIxMS4zNCAzNDAuNzQgMjE0LjUxMiAzNDMuMDM0QzIzOC4zOCAzNjAuMjM5IDI2MC45MDUgMzY5IDI4MC4zMDYgMzY5QzI5MC4yNjMgMzY5IDI5OS40MTUgMzY2LjY4MiAzMDcuNDkyIDM2Mi4wMkMzMzEuMzM1IDM0OC4yNTYgMzQyIDMxNi4yODcgMzM3LjUzNCAyNzEuOTkzQzMzNy4xNDMgMjY4LjA4OSAzMzYuNjMxIDI2NC4xMzUgMzM1Ljk5NiAyNjAuMTA5QzM4MS40NjEgMjQyLjM2NyA0MDkuOTkgMjE1LjMyNyA0MDkuOTkgMTg0LjUwNVpNMjI1LjkzNCA0MS44MTM2QzI0Ni4yMzggMjcuMTk1NSAyNjUuMTI3IDE5LjU4MTQgMjgwLjMwNiAxOS41ODE0QzI4Ni44NzEgMTkuNTgxNCAyOTIuNzI4IDIwLjk5NjggMjk3LjczMSAyMy44NzY1QzMxNS4yMDQgMzMuOTc5OCAzMjIuNjcyIDYyLjk0NzUgMzE3LjMyNyAxMDIuNDMzQzI5OS43NTYgOTcuMDQwMSAyODAuMzA2IDkyLjkxNTggMjU5LjM5MiA5MC4yODAyQzI0Ni44NzIgNzMuODA3NCAyMzMuNTk3IDU4Ljk0NTMgMjIwLjAwMyA0Ni4yNTUxQzIyMS45OCA0NC43NDIxIDIyMy45NTcgNDMuMjI5IDIyNS45MzQgNDEuODEzNlpNMTEyLjI1OSAyMy44NzY1QzExNy4yNjIgMjAuOTk2OCAxMjMuMTE5IDE5LjU4MTQgMTI5LjY4NCAxOS41ODE0QzE0NC44NjMgMTkuNTgxNCAxNjMuNzUyIDI3LjE3MTEgMTg0LjA1NiA0MS44MTM2QzE4Ni4wMzMgNDMuMjI5IDE4OC4wMSA0NC43MTc2IDE4OS45ODYgNDYuMjU1MUMxNzYuMzkzIDU4Ljk0NTMgMTYzLjE0MiA3My43ODMgMTUwLjYyMiA5MC4yNTU4QzEyOS43MzIgOTIuODkxNCAxMTAuMjU4IDk3LjA0MDEgOTIuNjg3IDEwMi40MDlDODcuMzQyNCA2Mi45NDc1IDk0Ljc4NTcgMzMuOTc5OCAxMTIuMjU5IDIzLjg3NjVaTTE5LjUyMzMgMTg0LjUwNUMxOS41MjMzIDE2NC4zMjIgNDAuOTAxNCAxNDMuMzU5IDc3Ljc3NiAxMjguMjUzQzgxLjkwMDMgMTQ2LjE0MSA4OC4wNTAyIDE2NS4wNTQgOTYuMTc2OCAxODQuNDU2Qzg4LjAwMTQgMjAzLjg4MSA4MS44NTE1IDIyMi44MTkgNzcuNzI3MiAyNDAuNzMyQzQwLjkwMTQgMjI1LjYyNiAxOS41MjMzIDIwNC42ODcgMTkuNTIzMyAxODQuNTA1Wk0xODQuMDU2IDMyNy4xOTZDMTU0Ljk2NiAzNDguMTM0IDEyOC44MDUgMzU0LjY3NSAxMTIuMjU5IDM0NS4xMzNDOTQuNzg1NyAzMzUuMDI5IDg3LjMxODEgMzA2LjA2MiA5Mi42NjI2IDI2Ni41NzZDMTEwLjIzNCAyNzEuOTY5IDEyOS42ODQgMjc2LjA5MyAxNTAuNTk4IDI3OC43MjlDMTYzLjExNyAyOTUuMjAyIDE3Ni4zOTMgMzEwLjA2NCAxODkuOTg2IDMyMi43NTRDMTg4LjAxIDMyNC4yOTIgMTg2LjAzMyAzMjUuNzggMTg0LjA1NiAzMjcuMTk2Wk0yMDQuOTk1IDMxMC4wNEMxODAuNTkxIDI4Ny42ODUgMTU3LjEzOCAyNTcuODE1IDEzNy4zNDcgMjIzLjU1MUMxMzIuMDUxIDIxNC40IDEyMS4zNDQgMTkxLjM5NiAxMTcgMTgyLjQ4OUMxMTMuNTM1IDE5MC43ODYgMTEwLjExMiAxOTguMzk4IDEwNy40MjcgMjA2LjVDMTA5LjYyMyAyMTAuNTc1IDExOC4wOTIgMjI5LjIxMyAxMjAuNDM0IDIzMy4yODhDMTI1LjA3MSAyNDEuMzE3IDEyOS45MjggMjQ5LjEyNyAxMzQuOTMxIDI1Ni42OTJDMTIwLjg5OCAyNTQuMjI3IDEwNy45MTUgMjUxLjA1NSA5Ni4xMDM1IDI0Ny4zMjFDMTAyLjgxNSAyMTcuMDExIDExNi4yMTMgMTgyLjA2NCAxMzcuMzQ3IDE0NS40NThDMTQyLjU0NSAxMzYuNDUzIDE1My44MzggMTE2LjM0NiAxNTkuNSAxMDhDMTUwLjU2OCAxMDkuMTQ3IDE0My4zOTUgMTA4Ljc2NyAxMzUgMTEwLjVDMTMyLjU2IDExNC40NTMgMTIyLjc3NyAxMzEuNjQ1IDEyMC40MzQgMTM1LjcyMUMxMTUuNzQ5IDE0My44MjMgMTExLjQ1NCAxNTEuOTI1IDEwNy40MjcgMTU5Ljk3OEMxMDIuNTQ2IDE0Ni41ODEgOTguODEyNCAxMzMuNzQ0IDk2LjE1MjQgMTIxLjY0QzEyNS43NTUgMTEyLjI5MyAxNjIuNzI3IDEwNi40MTEgMjA0Ljk5NSAxMDYuNDExQzIxNS41NjIgMTA2LjQxMSAyMzcuNjMgMTA2LjE5NyAyNDcuNDkgMTA2LjkwNUMyNDIuMDQ4IDk5Ljc1NDQgMjM3LjM4IDkzLjI4MTkgMjMxLjY5NCA4Ni44ODhDMjI3LjA4MiA4Ni43NDE2IDIwOS43MDUgODYuODg4IDIwNC45OTUgODYuODg4QzE5NS42NzIgODYuODg4IDE4Ni41NDUgODcuMjA1MyAxNzcuNTg5IDg3Ljc0MjJDMTg2LjQ3MiA3Ny4xNzUyIDE5NS42NzIgNjcuNTExMSAyMDQuOTk1IDU4Ljk2OTdDMjI5LjM3NSA4MS4zMjM5IDI1Mi44NTEgMTExLjE5NSAyNzIuNjQzIDE0NS40NThDMjc3Ljg0MSAxNTQuNDYzIDI4OS4wNzMgMTc1LjQyNiAyOTMuNDkgMTg0LjUwNUMyOTYuOTggMTc2LjIwNyAzMDAuMjgxIDE2OC42NCAzMDIuOTkgMTYwLjQ4OUMzMDAuNzkzIDE1Ni4zODkgMjkxLjg5OCAxMzkuNzQ3IDI4OS41NTUgMTM1LjY5NkMyODQuOTE4IDEyNy42NjcgMjgwLjA2MiAxMTkuODU4IDI3NS4wNTkgMTEyLjMxN0MyODkuMDkyIDExNC43ODIgMzAyLjA3NSAxMTcuOTU0IDMxMy44ODYgMTIxLjY4OEMzMDcuMTc1IDE1MS45OTggMjkzLjc3NyAxODYuOTQ1IDI3Mi42NDMgMjIzLjU1MUMyNjcuNDQ1IDIzMi41NTYgMjUyLjY1MSAyNTMuMTc4IDI0Ni45OSAyNjEuNTI0QzI1NS45MjIgMjYwLjM3NyAyNjUuNTk1IDI1OC42NjMgMjczLjk5IDI1Ni45M0MyNzYuNDMgMjUyLjk3NiAyODcuMjEyIDIzNy4zNjQgMjg5LjU1NSAyMzMuMjg4QzI5NC4yMTYgMjI1LjIzNSAyOTguNTEyIDIxNy4xODIgMzAyLjQ4OSAyMDkuMTUzQzMwNy4yMjQgMjIyLjE4NSAzMTAuOTgyIDIzNC45OTcgMzEzLjcxNSAyNDcuMzk0QzI4NC4xMzggMjU2Ljc0MSAyNDcuMjE0IDI2Mi41OTggMjA0Ljk5NSAyNjIuNTk4QzE5NC40MjggMjYyLjU5OCAxNjkuODU5IDI2MS4yMDggMTYwIDI2MC41QzE2NS40NDIgMjY3LjY1IDE3MS4zMDQgMjc1LjA5NSAxNzYuOTkgMjgxLjQ4OUMxODEuNjAyIDI4MS42MzUgMjAwLjI4NSAyODIuMTIxIDIwNC45OTUgMjgyLjEyMUMyMTQuMzE3IDI4Mi4xMjEgMjIzLjQ0NCAyODEuODA0IDIzMi40MDEgMjgxLjI2N0MyMjMuNDkzIDI5MS44MzQgMjE0LjMxNyAzMDEuNDk4IDIwNC45OTUgMzEwLjA0Wk0yOTcuNzMxIDM0NS4xMzNDMjgxLjE4NSAzNTQuNjk5IDI1NC45OTkgMzQ4LjE1OSAyMjUuOTM0IDMyNy4xOTZDMjIzLjk1NyAzMjUuNzggMjIxLjk4IDMyNC4yOTIgMjIwLjAwMyAzMjIuNzU0QzIzMy41OTcgMzEwLjA2NCAyNDYuODQ4IDI5NS4yMjYgMjU5LjM2NyAyNzguNzUzQzI4MC4yMzMgMjc2LjExOCAyOTkuNjU5IDI3MS45OTMgMzE3LjIwNSAyNjYuNjI1QzMxNy41NDcgMjY5LjA4OSAzMTcuODg4IDI3MS41NTQgMzE4LjEzMiAyNzMuOTdDMzIxLjcyIDMwOS42NDkgMzE0LjI3NyAzMzUuNTY2IDI5Ny43MzEgMzQ1LjEzM1pNMzMyLjI2MiAyNDAuNzU2QzMyOC4wNjUgMjIyLjU5OSAzMjEuODQyIDIwMy42ODYgMzEzLjgxMyAxODQuNTc4QzMyMS45ODggMTY1LjE1MiAzMjguMTM4IDE0Ni4yMTUgMzMyLjI2MiAxMjguMzAyQzM2OS4wODggMTQzLjQwOCAzOTAuNDY2IDE2NC4zMjIgMzkwLjQ2NiAxODQuNTA1QzM5MC40NjYgMjA0LjY4NyAzNjkuMTEzIDIyNS42MjYgMzMyLjI2MiAyNDAuNzU2WlwiLFxuICAgICAgICAgICAgICAgICAgICBmaWxsOiBcImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcInN2Z1wiLCB7XG4gICAgICAgIFwiZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZXdvcmstaWNvblwiOiBcIm5leHRcIixcbiAgICAgICAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgICAgICAgd2lkdGg6IFwiMjBcIixcbiAgICAgICAgaGVpZ2h0OiBcIjIwXCIsXG4gICAgICAgIHZpZXdCb3g6IFwiMCAwIDE4MCAxODBcIixcbiAgICAgICAgZmlsbDogXCJub25lXCIsXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibWFza1wiLCB7XG4gICAgICAgICAgICAgICAgaWQ6IFwibWFzazBfNDA4XzEzOVwiLFxuICAgICAgICAgICAgICAgIG1hc2tVbml0czogXCJ1c2VyU3BhY2VPblVzZVwiLFxuICAgICAgICAgICAgICAgIHg6IFwiMFwiLFxuICAgICAgICAgICAgICAgIHk6IFwiMFwiLFxuICAgICAgICAgICAgICAgIHdpZHRoOiBcIjE4MFwiLFxuICAgICAgICAgICAgICAgIGhlaWdodDogXCIxODBcIixcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImNpcmNsZVwiLCB7XG4gICAgICAgICAgICAgICAgICAgIGN4OiBcIjkwXCIsXG4gICAgICAgICAgICAgICAgICAgIGN5OiBcIjkwXCIsXG4gICAgICAgICAgICAgICAgICAgIHI6IFwiOTBcIixcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogXCJibGFja1wiXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJnXCIsIHtcbiAgICAgICAgICAgICAgICBtYXNrOiBcInVybCgjbWFzazBfNDA4XzEzOSlcIixcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiY2lyY2xlXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN4OiBcIjkwXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjeTogXCI5MFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgcjogXCI4N1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogXCJibGFja1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIndoaXRlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogXCI2XCJcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJwYXRoXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ6IFwiTTE0OS41MDggMTU3LjUyTDY5LjE0MiA1NEg1NFYxMjUuOTdINjYuMTEzNlY2OS4zODM2TDEzOS45OTkgMTY0Ljg0NUMxNDMuMzMzIDE2Mi42MTQgMTQ2LjUwOSAxNjAuMTY1IDE0OS41MDggMTU3LjUyWlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogXCJ1cmwoI3BhaW50MF9saW5lYXJfNDA4XzEzOSlcIlxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInJlY3RcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgeDogXCIxMTVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IFwiNTRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiNzJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IFwidXJsKCNwYWludDFfbGluZWFyXzQwOF8xMzkpXCJcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiZGVmc1wiLCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJsaW5lYXJHcmFkaWVudFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJwYWludDBfbGluZWFyXzQwOF8xMzlcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHgxOiBcIjEwOVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgeTE6IFwiMTE2LjVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHgyOiBcIjE0NC41XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB5MjogXCIxNjAuNVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JhZGllbnRVbml0czogXCJ1c2VyU3BhY2VPblVzZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic3RvcFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3BDb2xvcjogXCJ3aGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInN0b3BcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IFwiMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9wQ29sb3I6IFwid2hpdGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcE9wYWNpdHk6IFwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwibGluZWFyR3JhZGllbnRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwicGFpbnQxX2xpbmVhcl80MDhfMTM5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB4MTogXCIxMjFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHkxOiBcIjU0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB4MjogXCIxMjAuNzk5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB5MjogXCIxMDYuODc1XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBncmFkaWVudFVuaXRzOiBcInVzZXJTcGFjZU9uVXNlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzdG9wXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcENvbG9yOiBcIndoaXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic3RvcFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogXCIxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3BDb2xvcjogXCJ3aGl0ZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9wT3BhY2l0eTogXCIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9RnJhbWV3b3JrSWNvbi5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiRnJhbWV3b3JrSWNvbiIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJwYXJhbSIsImZyYW1ld29yayIsImpzeHMiLCJ4bWxucyIsIndpZHRoIiwiaGVpZ2h0Iiwidmlld0JveCIsImZpbGwiLCJzaGFwZVJlbmRlcmluZyIsInN0cm9rZSIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsInN0cm9rZVdpZHRoIiwiY2hpbGRyZW4iLCJqc3giLCJkIiwiaWQiLCJtYXNrVW5pdHMiLCJ4IiwieSIsImN4IiwiY3kiLCJyIiwibWFzayIsIngxIiwieTEiLCJ4MiIsInkyIiwiZ3JhZGllbnRVbml0cyIsInN0b3BDb2xvciIsIm9mZnNldCIsInN0b3BPcGFjaXR5IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/FrameworkIcon.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js": /*!**************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js ***! \**************************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"GroupedStackFrames\", ({\n enumerable: true,\n get: function() {\n return GroupedStackFrames;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _CallStackFrame = __webpack_require__(/*! ./CallStackFrame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js\");\nconst _FrameworkIcon = __webpack_require__(/*! ./FrameworkIcon */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/FrameworkIcon.js\");\nfunction FrameworkGroup(param) {\n let { framework, stackFrames, all } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"details\", {\n \"data-nextjs-collapsed-call-stack-details\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"summary\", {\n tabIndex: 10,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"svg\", {\n \"data-nextjs-call-stack-chevron-icon\": true,\n fill: \"none\",\n height: \"20\",\n width: \"20\",\n shapeRendering: \"geometricPrecision\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"2\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M9 18l6-6-6-6\"\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_FrameworkIcon.FrameworkIcon, {\n framework: framework\n }),\n framework === \"react\" ? \"React\" : \"Next.js\"\n ]\n }),\n stackFrames.map((frame, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_CallStackFrame.CallStackFrame, {\n frame: frame\n }, \"call-stack-\" + index + \"-\" + all))\n ]\n })\n });\n}\nfunction GroupedStackFrames(param) {\n let { groupedStackFrames, all } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: groupedStackFrames.map((stackFramesGroup, groupIndex)=>{\n // Collapse React and Next.js frames\n if (stackFramesGroup.framework) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(FrameworkGroup, {\n framework: stackFramesGroup.framework,\n stackFrames: stackFramesGroup.stackFrames,\n all: all\n }, \"call-stack-framework-group-\" + groupIndex + \"-\" + all);\n }\n return stackFramesGroup.stackFrames.map((frame, frameIndex)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_CallStackFrame.CallStackFrame, {\n frame: frame\n }, \"call-stack-\" + groupIndex + \"-\" + frameIndex + \"-\" + all));\n })\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=GroupedStackFrames.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvR3JvdXBlZFN0YWNrRnJhbWVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxjQUFjQyxtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUMsa0JBQWtCRCxtQkFBT0EsQ0FBQyw4SUFBa0I7QUFDbEQsTUFBTUUsaUJBQWlCRixtQkFBT0EsQ0FBQyw0SUFBaUI7QUFDaEQsU0FBU0csZUFBZUMsS0FBSztJQUN6QixJQUFJLEVBQUVDLFNBQVMsRUFBRUMsV0FBVyxFQUFFQyxHQUFHLEVBQUUsR0FBR0g7SUFDdEMsT0FBcUIsV0FBSCxHQUFJLElBQUdMLFlBQVlTLEdBQUcsRUFBRVQsWUFBWVUsUUFBUSxFQUFFO1FBQzVEQyxVQUF3QixXQUFILEdBQUksSUFBR1gsWUFBWVksSUFBSSxFQUFFLFdBQVc7WUFDckQsNENBQTRDO1lBQzVDRCxVQUFVO2dCQUNOLFdBQVcsR0FBSSxJQUFHWCxZQUFZWSxJQUFJLEVBQUUsV0FBVztvQkFDM0NDLFVBQVU7b0JBQ1ZGLFVBQVU7d0JBQ04sV0FBVyxHQUFJLElBQUdYLFlBQVlTLEdBQUcsRUFBRSxPQUFPOzRCQUN0Qyx1Q0FBdUM7NEJBQ3ZDSyxNQUFNOzRCQUNOQyxRQUFROzRCQUNSQyxPQUFPOzRCQUNQQyxnQkFBZ0I7NEJBQ2hCQyxRQUFROzRCQUNSQyxlQUFlOzRCQUNmQyxnQkFBZ0I7NEJBQ2hCQyxhQUFhOzRCQUNiQyxTQUFTOzRCQUNUWCxVQUF3QixXQUFILEdBQUksSUFBR1gsWUFBWVMsR0FBRyxFQUFFLFFBQVE7Z0NBQ2pEYyxHQUFHOzRCQUNQO3dCQUNKO3dCQUNBLFdBQVcsR0FBSSxJQUFHdkIsWUFBWVMsR0FBRyxFQUFFTixlQUFlcUIsYUFBYSxFQUFFOzRCQUM3RGxCLFdBQVdBO3dCQUNmO3dCQUNBQSxjQUFjLFVBQVUsVUFBVTtxQkFDckM7Z0JBQ0w7Z0JBQ0FDLFlBQVlrQixHQUFHLENBQUMsQ0FBQ0MsT0FBT0MsUUFBc0IsV0FBSCxHQUFJLElBQUczQixZQUFZUyxHQUFHLEVBQUVQLGdCQUFnQjBCLGNBQWMsRUFBRTt3QkFDM0ZGLE9BQU9BO29CQUNYLEdBQUcsZ0JBQWdCQyxRQUFRLE1BQU1uQjthQUN4QztRQUNMO0lBQ0o7QUFDSjtBQUNBLFNBQVNULG1CQUFtQk0sS0FBSztJQUM3QixJQUFJLEVBQUV3QixrQkFBa0IsRUFBRXJCLEdBQUcsRUFBRSxHQUFHSDtJQUNsQyxPQUFxQixXQUFILEdBQUksSUFBR0wsWUFBWVMsR0FBRyxFQUFFVCxZQUFZVSxRQUFRLEVBQUU7UUFDNURDLFVBQVVrQixtQkFBbUJKLEdBQUcsQ0FBQyxDQUFDSyxrQkFBa0JDO1lBQ2hELG9DQUFvQztZQUNwQyxJQUFJRCxpQkFBaUJ4QixTQUFTLEVBQUU7Z0JBQzVCLE9BQXFCLFdBQUgsR0FBSSxJQUFHTixZQUFZUyxHQUFHLEVBQUVMLGdCQUFnQjtvQkFDdERFLFdBQVd3QixpQkFBaUJ4QixTQUFTO29CQUNyQ0MsYUFBYXVCLGlCQUFpQnZCLFdBQVc7b0JBQ3pDQyxLQUFLQTtnQkFDVCxHQUFHLGdDQUFnQ3VCLGFBQWEsTUFBTXZCO1lBQzFEO1lBQ0EsT0FDQXNCLGlCQUFpQnZCLFdBQVcsQ0FBQ2tCLEdBQUcsQ0FBQyxDQUFDQyxPQUFPTSxhQUEyQixXQUFILEdBQUksSUFBR2hDLFlBQVlTLEdBQUcsRUFBRVAsZ0JBQWdCMEIsY0FBYyxFQUFFO29CQUNqSEYsT0FBT0E7Z0JBQ1gsR0FBRyxnQkFBZ0JLLGFBQWEsTUFBTUMsYUFBYSxNQUFNeEI7UUFDakU7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9iLFFBQVFzQyxPQUFPLEtBQUssY0FBZSxPQUFPdEMsUUFBUXNDLE9BQU8sS0FBSyxZQUFZdEMsUUFBUXNDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3RDLFFBQVFzQyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLekMsT0FBT0MsY0FBYyxDQUFDQyxRQUFRc0MsT0FBTyxFQUFFLGNBQWM7UUFBRXJDLE9BQU87SUFBSztJQUNuRUgsT0FBTzBDLE1BQU0sQ0FBQ3hDLFFBQVFzQyxPQUFPLEVBQUV0QztJQUMvQnlDLE9BQU96QyxPQUFPLEdBQUdBLFFBQVFzQyxPQUFPO0FBQ2xDLEVBRUEsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb250YWluZXIvUnVudGltZUVycm9yL0dyb3VwZWRTdGFja0ZyYW1lcy5qcz85YTk4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiR3JvdXBlZFN0YWNrRnJhbWVzXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBHcm91cGVkU3RhY2tGcmFtZXM7XG4gICAgfVxufSk7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9DYWxsU3RhY2tGcmFtZSA9IHJlcXVpcmUoXCIuL0NhbGxTdGFja0ZyYW1lXCIpO1xuY29uc3QgX0ZyYW1ld29ya0ljb24gPSByZXF1aXJlKFwiLi9GcmFtZXdvcmtJY29uXCIpO1xuZnVuY3Rpb24gRnJhbWV3b3JrR3JvdXAocGFyYW0pIHtcbiAgICBsZXQgeyBmcmFtZXdvcmssIHN0YWNrRnJhbWVzLCBhbGwgfSA9IHBhcmFtO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImRldGFpbHNcIiwge1xuICAgICAgICAgICAgXCJkYXRhLW5leHRqcy1jb2xsYXBzZWQtY2FsbC1zdGFjay1kZXRhaWxzXCI6IHRydWUsXG4gICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwic3VtbWFyeVwiLCB7XG4gICAgICAgICAgICAgICAgICAgIHRhYkluZGV4OiAxMCxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzdmdcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YS1uZXh0anMtY2FsbC1zdGFjay1jaGV2cm9uLWljb25cIjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiMjBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIyMFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXBlUmVuZGVyaW5nOiBcImdlb21ldHJpY1ByZWNpc2lvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwOiBcInJvdW5kXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogXCIyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveDogXCIwIDAgMjQgMjRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBhdGhcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkOiBcIk05IDE4bDYtNi02LTZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0ZyYW1ld29ya0ljb24uRnJhbWV3b3JrSWNvbiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1ld29yazogZnJhbWV3b3JrXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1ld29yayA9PT0gXCJyZWFjdFwiID8gXCJSZWFjdFwiIDogXCJOZXh0LmpzXCJcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN0YWNrRnJhbWVzLm1hcCgoZnJhbWUsIGluZGV4KT0+LyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfQ2FsbFN0YWNrRnJhbWUuQ2FsbFN0YWNrRnJhbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lOiBmcmFtZVxuICAgICAgICAgICAgICAgICAgICB9LCBcImNhbGwtc3RhY2stXCIgKyBpbmRleCArIFwiLVwiICsgYWxsKSlcbiAgICAgICAgICAgIF1cbiAgICAgICAgfSlcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIEdyb3VwZWRTdGFja0ZyYW1lcyhwYXJhbSkge1xuICAgIGxldCB7IGdyb3VwZWRTdGFja0ZyYW1lcywgYWxsIH0gPSBwYXJhbTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICBjaGlsZHJlbjogZ3JvdXBlZFN0YWNrRnJhbWVzLm1hcCgoc3RhY2tGcmFtZXNHcm91cCwgZ3JvdXBJbmRleCk9PntcbiAgICAgICAgICAgIC8vIENvbGxhcHNlIFJlYWN0IGFuZCBOZXh0LmpzIGZyYW1lc1xuICAgICAgICAgICAgaWYgKHN0YWNrRnJhbWVzR3JvdXAuZnJhbWV3b3JrKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoRnJhbWV3b3JrR3JvdXAsIHtcbiAgICAgICAgICAgICAgICAgICAgZnJhbWV3b3JrOiBzdGFja0ZyYW1lc0dyb3VwLmZyYW1ld29yayxcbiAgICAgICAgICAgICAgICAgICAgc3RhY2tGcmFtZXM6IHN0YWNrRnJhbWVzR3JvdXAuc3RhY2tGcmFtZXMsXG4gICAgICAgICAgICAgICAgICAgIGFsbDogYWxsXG4gICAgICAgICAgICAgICAgfSwgXCJjYWxsLXN0YWNrLWZyYW1ld29yay1ncm91cC1cIiArIGdyb3VwSW5kZXggKyBcIi1cIiArIGFsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4oLy8gRG9uJ3QgZ3JvdXAgbm9uIFJlYWN0IGFuZCBOZXh0LmpzIGZyYW1lc1xuICAgICAgICAgICAgc3RhY2tGcmFtZXNHcm91cC5zdGFja0ZyYW1lcy5tYXAoKGZyYW1lLCBmcmFtZUluZGV4KT0+LyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfQ2FsbFN0YWNrRnJhbWUuQ2FsbFN0YWNrRnJhbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgZnJhbWU6IGZyYW1lXG4gICAgICAgICAgICAgICAgfSwgXCJjYWxsLXN0YWNrLVwiICsgZ3JvdXBJbmRleCArIFwiLVwiICsgZnJhbWVJbmRleCArIFwiLVwiICsgYWxsKSkpO1xuICAgICAgICB9KVxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Hcm91cGVkU3RhY2tGcmFtZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkdyb3VwZWRTdGFja0ZyYW1lcyIsIl9qc3hydW50aW1lIiwicmVxdWlyZSIsIl9DYWxsU3RhY2tGcmFtZSIsIl9GcmFtZXdvcmtJY29uIiwiRnJhbWV3b3JrR3JvdXAiLCJwYXJhbSIsImZyYW1ld29yayIsInN0YWNrRnJhbWVzIiwiYWxsIiwianN4IiwiRnJhZ21lbnQiLCJjaGlsZHJlbiIsImpzeHMiLCJ0YWJJbmRleCIsImZpbGwiLCJoZWlnaHQiLCJ3aWR0aCIsInNoYXBlUmVuZGVyaW5nIiwic3Ryb2tlIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlV2lkdGgiLCJ2aWV3Qm94IiwiZCIsIkZyYW1ld29ya0ljb24iLCJtYXAiLCJmcmFtZSIsImluZGV4IiwiQ2FsbFN0YWNrRnJhbWUiLCJncm91cGVkU3RhY2tGcmFtZXMiLCJzdGFja0ZyYW1lc0dyb3VwIiwiZ3JvdXBJbmRleCIsImZyYW1lSW5kZXgiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js ***! \*************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n styles: function() {\n return styles;\n },\n RuntimeError: function() {\n return RuntimeError;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _CodeFrame = __webpack_require__(/*! ../../components/CodeFrame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nconst _groupstackframesbyframework = __webpack_require__(/*! ../../helpers/group-stack-frames-by-framework */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js\");\nconst _CallStackFrame = __webpack_require__(/*! ./CallStackFrame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js\");\nconst _GroupedStackFrames = __webpack_require__(/*! ./GroupedStackFrames */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js\");\nconst _ComponentStackFrameRow = __webpack_require__(/*! ./ComponentStackFrameRow */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/ComponentStackFrameRow.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n button[data-nextjs-data-runtime-error-collapsed-action] {\\n background: none;\\n border: none;\\n padding: 0;\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-bigger);\\n color: var(--color-accents-3);\\n }\\n\\n [data-nextjs-call-stack-frame]:not(:last-child),\\n [data-nextjs-component-stack-frame]:not(:last-child) {\\n margin-bottom: var(--size-gap-double);\\n }\\n\\n [data-nextjs-call-stack-frame] > h3,\\n [data-nextjs-component-stack-frame] > h3 {\\n margin-top: 0;\\n margin-bottom: var(--size-gap);\\n font-family: var(--font-stack-monospace);\\n font-size: var(--size-font);\\n color: #222;\\n }\\n [data-nextjs-call-stack-frame] > h3[data-nextjs-frame-expanded='false'] {\\n color: #666;\\n }\\n [data-nextjs-call-stack-frame] > div,\\n [data-nextjs-component-stack-frame] > div {\\n display: flex;\\n align-items: center;\\n padding-left: calc(var(--size-gap) + var(--size-gap-half));\\n font-size: var(--size-font-small);\\n color: #999;\\n }\\n [data-nextjs-call-stack-frame] > div > svg,\\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\\n width: auto;\\n height: var(--size-font-small);\\n margin-left: var(--size-gap);\\n flex-shrink: 0;\\n\\n display: none;\\n }\\n\\n [data-nextjs-call-stack-frame] > div[data-has-source],\\n [data-nextjs-component-stack-frame] > [role='link'] {\\n cursor: pointer;\\n }\\n [data-nextjs-call-stack-frame] > div[data-has-source]:hover,\\n [data-nextjs-component-stack-frame] > [role='link']:hover {\\n text-decoration: underline dotted;\\n }\\n [data-nextjs-call-stack-frame] > div[data-has-source] > svg,\\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\\n display: unset;\\n }\\n\\n [data-nextjs-call-stack-framework-icon] {\\n margin-right: var(--size-gap);\\n }\\n [data-nextjs-call-stack-framework-icon='next'] > mask {\\n mask-type: alpha;\\n }\\n [data-nextjs-call-stack-framework-icon='react'] {\\n color: rgb(20, 158, 202);\\n }\\n [data-nextjs-collapsed-call-stack-details][open]\\n [data-nextjs-call-stack-chevron-icon] {\\n transform: rotate(90deg);\\n }\\n [data-nextjs-collapsed-call-stack-details] summary {\\n display: flex;\\n align-items: center;\\n margin: var(--size-gap-double) 0;\\n list-style: none;\\n }\\n [data-nextjs-collapsed-call-stack-details] summary::-webkit-details-marker {\\n display: none;\\n }\\n\\n [data-nextjs-collapsed-call-stack-details] h3 {\\n color: #666;\\n }\\n [data-nextjs-collapsed-call-stack-details] [data-nextjs-call-stack-frame] {\\n margin-bottom: var(--size-gap-double);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst RuntimeError = function RuntimeError(param) {\n let { error } = param;\n const firstFirstPartyFrameIndex = _react.useMemo(()=>{\n return error.frames.findIndex((entry)=>entry.expanded && Boolean(entry.originalCodeFrame) && Boolean(entry.originalStackFrame));\n }, [\n error.frames\n ]);\n const firstFrame = _react.useMemo(()=>{\n var _error_frames_firstFirstPartyFrameIndex;\n return (_error_frames_firstFirstPartyFrameIndex = error.frames[firstFirstPartyFrameIndex]) != null ? _error_frames_firstFirstPartyFrameIndex : null;\n }, [\n error.frames,\n firstFirstPartyFrameIndex\n ]);\n const allLeadingFrames = _react.useMemo(()=>firstFirstPartyFrameIndex < 0 ? [] : error.frames.slice(0, firstFirstPartyFrameIndex), [\n error.frames,\n firstFirstPartyFrameIndex\n ]);\n const [all, setAll] = _react.useState(firstFrame == null);\n const toggleAll = _react.useCallback(()=>{\n setAll((v)=>!v);\n }, []);\n const leadingFrames = _react.useMemo(()=>allLeadingFrames.filter((f)=>f.expanded || all), [\n all,\n allLeadingFrames\n ]);\n const allCallStackFrames = _react.useMemo(()=>error.frames.slice(firstFirstPartyFrameIndex + 1), [\n error.frames,\n firstFirstPartyFrameIndex\n ]);\n const visibleCallStackFrames = _react.useMemo(()=>allCallStackFrames.filter((f)=>f.expanded || all), [\n all,\n allCallStackFrames\n ]);\n const canShowMore = _react.useMemo(()=>{\n return allCallStackFrames.length !== visibleCallStackFrames.length || all && firstFrame != null;\n }, [\n all,\n allCallStackFrames.length,\n firstFrame,\n visibleCallStackFrames.length\n ]);\n const stackFramesGroupedByFramework = _react.useMemo(()=>(0, _groupstackframesbyframework.groupStackFramesByFramework)(visibleCallStackFrames), [\n visibleCallStackFrames\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n firstFrame ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n children: \"Source\"\n }),\n leadingFrames.map((frame, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_CallStackFrame.CallStackFrame, {\n frame: frame\n }, \"leading-frame-\" + index + \"-\" + all)),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CodeFrame.CodeFrame, {\n stackFrame: firstFrame.originalStackFrame,\n codeFrame: firstFrame.originalCodeFrame\n })\n ]\n }) : undefined,\n error.componentStackFrames ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n children: \"Component Stack\"\n }),\n error.componentStackFrames.map((componentStackFrame, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_ComponentStackFrameRow.ComponentStackFrameRow, {\n componentStackFrame: componentStackFrame\n }, index))\n ]\n }) : null,\n stackFramesGroupedByFramework.length ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n children: \"Call Stack\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_GroupedStackFrames.GroupedStackFrames, {\n groupedStackFrames: stackFramesGroupedByFramework,\n all: all\n })\n ]\n }) : undefined,\n canShowMore ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Fragment, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"button\", {\n tabIndex: 10,\n \"data-nextjs-data-runtime-error-collapsed-action\": true,\n type: \"button\",\n onClick: toggleAll,\n children: [\n all ? \"Hide\" : \"Show\",\n \" collapsed frames\"\n ]\n })\n }) : undefined\n ]\n });\n};\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLFFBQVE7UUFDSixPQUFPQTtJQUNYO0lBQ0FDLGNBQWM7UUFDVixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyw0QkFBNEJDLG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNQyxpQ0FBaUNELG1CQUFPQSxDQUFDLDhIQUErQztBQUM5RixNQUFNRSxjQUFjRixtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUcsU0FBUyxXQUFXLEdBQUdKLDBCQUEwQkssQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNSyxhQUFhTCxtQkFBT0EsQ0FBQyw2SUFBNEI7QUFDdkQsTUFBTU0sZ0JBQWdCTixtQkFBT0EsQ0FBQyx5SUFBNkI7QUFDM0QsTUFBTU8sK0JBQStCUCxtQkFBT0EsQ0FBQyw2S0FBK0M7QUFDNUYsTUFBTVEsa0JBQWtCUixtQkFBT0EsQ0FBQyw4SUFBa0I7QUFDbEQsTUFBTVMsc0JBQXNCVCxtQkFBT0EsQ0FBQyxzSkFBc0I7QUFDMUQsTUFBTVUsMEJBQTBCVixtQkFBT0EsQ0FBQyw4SkFBMEI7QUFDbEUsU0FBU1c7SUFDTCxNQUFNQyxPQUFPWCwrQkFBK0JHLENBQUMsQ0FBQztRQUMxQztLQUNIO0lBQ0RP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RDtBQUV2QyxJQUFJLENBQUMsT0FBT3ZCLFFBQVEyRSxPQUFPLEtBQUssY0FBZSxPQUFPM0UsUUFBUTJFLE9BQU8sS0FBSyxZQUFZM0UsUUFBUTJFLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzNFLFFBQVEyRSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLOUUsT0FBT0MsY0FBYyxDQUFDQyxRQUFRMkUsT0FBTyxFQUFFLGNBQWM7UUFBRTFFLE9BQU87SUFBSztJQUNuRUgsT0FBTytFLE1BQU0sQ0FBQzdFLFFBQVEyRSxPQUFPLEVBQUUzRTtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRMkUsT0FBTztBQUNsQyxFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL1J1bnRpbWVFcnJvci9pbmRleC5qcz9mY2I4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgc3R5bGVzOiBudWxsLFxuICAgIFJ1bnRpbWVFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBzdHlsZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3R5bGVzO1xuICAgIH0sXG4gICAgUnVudGltZUVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJ1bnRpbWVFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2VcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfQ29kZUZyYW1lID0gcmVxdWlyZShcIi4uLy4uL2NvbXBvbmVudHMvQ29kZUZyYW1lXCIpO1xuY29uc3QgX25vb3B0ZW1wbGF0ZSA9IHJlcXVpcmUoXCIuLi8uLi9oZWxwZXJzL25vb3AtdGVtcGxhdGVcIik7XG5jb25zdCBfZ3JvdXBzdGFja2ZyYW1lc2J5ZnJhbWV3b3JrID0gcmVxdWlyZShcIi4uLy4uL2hlbHBlcnMvZ3JvdXAtc3RhY2stZnJhbWVzLWJ5LWZyYW1ld29ya1wiKTtcbmNvbnN0IF9DYWxsU3RhY2tGcmFtZSA9IHJlcXVpcmUoXCIuL0NhbGxTdGFja0ZyYW1lXCIpO1xuY29uc3QgX0dyb3VwZWRTdGFja0ZyYW1lcyA9IHJlcXVpcmUoXCIuL0dyb3VwZWRTdGFja0ZyYW1lc1wiKTtcbmNvbnN0IF9Db21wb25lbnRTdGFja0ZyYW1lUm93ID0gcmVxdWlyZShcIi4vQ29tcG9uZW50U3RhY2tGcmFtZVJvd1wiKTtcbmZ1bmN0aW9uIF90ZW1wbGF0ZU9iamVjdCgpIHtcbiAgICBjb25zdCBkYXRhID0gX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlLl8oW1xuICAgICAgICBcIlxcbiAgYnV0dG9uW2RhdGEtbmV4dGpzLWRhdGEtcnVudGltZS1lcnJvci1jb2xsYXBzZWQtYWN0aW9uXSB7XFxuICAgIGJhY2tncm91bmQ6IG5vbmU7XFxuICAgIGJvcmRlcjogbm9uZTtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgZm9udC1zaXplOiB2YXIoLS1zaXplLWZvbnQtc21hbGwpO1xcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tc2l6ZS1mb250LWJpZ2dlcik7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnRzLTMpO1xcbiAgfVxcblxcbiAgW2RhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWVdOm5vdCg6bGFzdC1jaGlsZCksXFxuICBbZGF0YS1uZXh0anMtY29tcG9uZW50LXN0YWNrLWZyYW1lXTpub3QoOmxhc3QtY2hpbGQpIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS1nYXAtZG91YmxlKTtcXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy1jYWxsLXN0YWNrLWZyYW1lXSA+IGgzLFxcbiAgW2RhdGEtbmV4dGpzLWNvbXBvbmVudC1zdGFjay1mcmFtZV0gPiBoMyB7XFxuICAgIG1hcmdpbi10b3A6IDA7XFxuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtZ2FwKTtcXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3RhY2stbW9ub3NwYWNlKTtcXG4gICAgZm9udC1zaXplOiB2YXIoLS1zaXplLWZvbnQpO1xcbiAgICBjb2xvcjogIzIyMjtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jYWxsLXN0YWNrLWZyYW1lXSA+IGgzW2RhdGEtbmV4dGpzLWZyYW1lLWV4cGFuZGVkPSdmYWxzZSddIHtcXG4gICAgY29sb3I6ICM2NjY7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZV0gPiBkaXYsXFxuICBbZGF0YS1uZXh0anMtY29tcG9uZW50LXN0YWNrLWZyYW1lXSA+IGRpdiB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zaXplLWdhcCkgKyB2YXIoLS1zaXplLWdhcC1oYWxmKSk7XFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1mb250LXNtYWxsKTtcXG4gICAgY29sb3I6ICM5OTk7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZV0gPiBkaXYgPiBzdmcsXFxuICBbZGF0YS1uZXh0anMtY29tcG9uZW50LXN0YWNrLWZyYW1lXSA+IFtyb2xlPSdsaW5rJ10gPiBzdmcge1xcbiAgICB3aWR0aDogYXV0bztcXG4gICAgaGVpZ2h0OiB2YXIoLS1zaXplLWZvbnQtc21hbGwpO1xcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS1nYXApO1xcbiAgICBmbGV4LXNocmluazogMDtcXG5cXG4gICAgZGlzcGxheTogbm9uZTtcXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy1jYWxsLXN0YWNrLWZyYW1lXSA+IGRpdltkYXRhLWhhcy1zb3VyY2VdLFxcbiAgW2RhdGEtbmV4dGpzLWNvbXBvbmVudC1zdGFjay1mcmFtZV0gPiBbcm9sZT0nbGluayddIHtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWVdID4gZGl2W2RhdGEtaGFzLXNvdXJjZV06aG92ZXIsXFxuICBbZGF0YS1uZXh0anMtY29tcG9uZW50LXN0YWNrLWZyYW1lXSA+IFtyb2xlPSdsaW5rJ106aG92ZXIge1xcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZV0gPiBkaXZbZGF0YS1oYXMtc291cmNlXSA+IHN2ZyxcXG4gIFtkYXRhLW5leHRqcy1jb21wb25lbnQtc3RhY2stZnJhbWVdID4gW3JvbGU9J2xpbmsnXSA+IHN2ZyB7XFxuICAgIGRpc3BsYXk6IHVuc2V0O1xcbiAgfVxcblxcbiAgW2RhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWV3b3JrLWljb25dIHtcXG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLWdhcCk7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZXdvcmstaWNvbj0nbmV4dCddID4gbWFzayB7XFxuICAgIG1hc2stdHlwZTogYWxwaGE7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZXdvcmstaWNvbj0ncmVhY3QnXSB7XFxuICAgIGNvbG9yOiByZ2IoMjAsIDE1OCwgMjAyKTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jb2xsYXBzZWQtY2FsbC1zdGFjay1kZXRhaWxzXVtvcGVuXVxcbiAgICBbZGF0YS1uZXh0anMtY2FsbC1zdGFjay1jaGV2cm9uLWljb25dIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWNvbGxhcHNlZC1jYWxsLXN0YWNrLWRldGFpbHNdIHN1bW1hcnkge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBtYXJnaW46IHZhcigtLXNpemUtZ2FwLWRvdWJsZSkgMDtcXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jb2xsYXBzZWQtY2FsbC1zdGFjay1kZXRhaWxzXSBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcXG4gICAgZGlzcGxheTogbm9uZTtcXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy1jb2xsYXBzZWQtY2FsbC1zdGFjay1kZXRhaWxzXSBoMyB7XFxuICAgIGNvbG9yOiAjNjY2O1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWNvbGxhcHNlZC1jYWxsLXN0YWNrLWRldGFpbHNdIFtkYXRhLW5leHRqcy1jYWxsLXN0YWNrLWZyYW1lXSB7XFxuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtZ2FwLWRvdWJsZSk7XFxuICB9XFxuXCJcbiAgICBdKTtcbiAgICBfdGVtcGxhdGVPYmplY3QgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfTtcbiAgICByZXR1cm4gZGF0YTtcbn1cbmNvbnN0IFJ1bnRpbWVFcnJvciA9IGZ1bmN0aW9uIFJ1bnRpbWVFcnJvcihwYXJhbSkge1xuICAgIGxldCB7IGVycm9yIH0gPSBwYXJhbTtcbiAgICBjb25zdCBmaXJzdEZpcnN0UGFydHlGcmFtZUluZGV4ID0gX3JlYWN0LnVzZU1lbW8oKCk9PntcbiAgICAgICAgcmV0dXJuIGVycm9yLmZyYW1lcy5maW5kSW5kZXgoKGVudHJ5KT0+ZW50cnkuZXhwYW5kZWQgJiYgQm9vbGVhbihlbnRyeS5vcmlnaW5hbENvZGVGcmFtZSkgJiYgQm9vbGVhbihlbnRyeS5vcmlnaW5hbFN0YWNrRnJhbWUpKTtcbiAgICB9LCBbXG4gICAgICAgIGVycm9yLmZyYW1lc1xuICAgIF0pO1xuICAgIGNvbnN0IGZpcnN0RnJhbWUgPSBfcmVhY3QudXNlTWVtbygoKT0+e1xuICAgICAgICB2YXIgX2Vycm9yX2ZyYW1lc19maXJzdEZpcnN0UGFydHlGcmFtZUluZGV4O1xuICAgICAgICByZXR1cm4gKF9lcnJvcl9mcmFtZXNfZmlyc3RGaXJzdFBhcnR5RnJhbWVJbmRleCA9IGVycm9yLmZyYW1lc1tmaXJzdEZpcnN0UGFydHlGcmFtZUluZGV4XSkgIT0gbnVsbCA/IF9lcnJvcl9mcmFtZXNfZmlyc3RGaXJzdFBhcnR5RnJhbWVJbmRleCA6IG51bGw7XG4gICAgfSwgW1xuICAgICAgICBlcnJvci5mcmFtZXMsXG4gICAgICAgIGZpcnN0Rmlyc3RQYXJ0eUZyYW1lSW5kZXhcbiAgICBdKTtcbiAgICBjb25zdCBhbGxMZWFkaW5nRnJhbWVzID0gX3JlYWN0LnVzZU1lbW8oKCk9PmZpcnN0Rmlyc3RQYXJ0eUZyYW1lSW5kZXggPCAwID8gW10gOiBlcnJvci5mcmFtZXMuc2xpY2UoMCwgZmlyc3RGaXJzdFBhcnR5RnJhbWVJbmRleCksIFtcbiAgICAgICAgZXJyb3IuZnJhbWVzLFxuICAgICAgICBmaXJzdEZpcnN0UGFydHlGcmFtZUluZGV4XG4gICAgXSk7XG4gICAgY29uc3QgW2FsbCwgc2V0QWxsXSA9IF9yZWFjdC51c2VTdGF0ZShmaXJzdEZyYW1lID09IG51bGwpO1xuICAgIGNvbnN0IHRvZ2dsZUFsbCA9IF9yZWFjdC51c2VDYWxsYmFjaygoKT0+e1xuICAgICAgICBzZXRBbGwoKHYpPT4hdik7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGxlYWRpbmdGcmFtZXMgPSBfcmVhY3QudXNlTWVtbygoKT0+YWxsTGVhZGluZ0ZyYW1lcy5maWx0ZXIoKGYpPT5mLmV4cGFuZGVkIHx8IGFsbCksIFtcbiAgICAgICAgYWxsLFxuICAgICAgICBhbGxMZWFkaW5nRnJhbWVzXG4gICAgXSk7XG4gICAgY29uc3QgYWxsQ2FsbFN0YWNrRnJhbWVzID0gX3JlYWN0LnVzZU1lbW8oKCk9PmVycm9yLmZyYW1lcy5zbGljZShmaXJzdEZpcnN0UGFydHlGcmFtZUluZGV4ICsgMSksIFtcbiAgICAgICAgZXJyb3IuZnJhbWVzLFxuICAgICAgICBmaXJzdEZpcnN0UGFydHlGcmFtZUluZGV4XG4gICAgXSk7XG4gICAgY29uc3QgdmlzaWJsZUNhbGxTdGFja0ZyYW1lcyA9IF9yZWFjdC51c2VNZW1vKCgpPT5hbGxDYWxsU3RhY2tGcmFtZXMuZmlsdGVyKChmKT0+Zi5leHBhbmRlZCB8fCBhbGwpLCBbXG4gICAgICAgIGFsbCxcbiAgICAgICAgYWxsQ2FsbFN0YWNrRnJhbWVzXG4gICAgXSk7XG4gICAgY29uc3QgY2FuU2hvd01vcmUgPSBfcmVhY3QudXNlTWVtbygoKT0+e1xuICAgICAgICByZXR1cm4gYWxsQ2FsbFN0YWNrRnJhbWVzLmxlbmd0aCAhPT0gdmlzaWJsZUNhbGxTdGFja0ZyYW1lcy5sZW5ndGggfHwgYWxsICYmIGZpcnN0RnJhbWUgIT0gbnVsbDtcbiAgICB9LCBbXG4gICAgICAgIGFsbCxcbiAgICAgICAgYWxsQ2FsbFN0YWNrRnJhbWVzLmxlbmd0aCxcbiAgICAgICAgZmlyc3RGcmFtZSxcbiAgICAgICAgdmlzaWJsZUNhbGxTdGFja0ZyYW1lcy5sZW5ndGhcbiAgICBdKTtcbiAgICBjb25zdCBzdGFja0ZyYW1lc0dyb3VwZWRCeUZyYW1ld29yayA9IF9yZWFjdC51c2VNZW1vKCgpPT4oMCwgX2dyb3Vwc3RhY2tmcmFtZXNieWZyYW1ld29yay5ncm91cFN0YWNrRnJhbWVzQnlGcmFtZXdvcmspKHZpc2libGVDYWxsU3RhY2tGcmFtZXMpLCBbXG4gICAgICAgIHZpc2libGVDYWxsU3RhY2tGcmFtZXNcbiAgICBdKTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX3JlYWN0LkZyYWdtZW50LCB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICBmaXJzdEZyYW1lID8gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX3JlYWN0LkZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImgyXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBcIlNvdXJjZVwiXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBsZWFkaW5nRnJhbWVzLm1hcCgoZnJhbWUsIGluZGV4KT0+LyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfQ2FsbFN0YWNrRnJhbWUuQ2FsbFN0YWNrRnJhbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZTogZnJhbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIFwibGVhZGluZy1mcmFtZS1cIiArIGluZGV4ICsgXCItXCIgKyBhbGwpKSxcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfQ29kZUZyYW1lLkNvZGVGcmFtZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2tGcmFtZTogZmlyc3RGcmFtZS5vcmlnaW5hbFN0YWNrRnJhbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlRnJhbWU6IGZpcnN0RnJhbWUub3JpZ2luYWxDb2RlRnJhbWVcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGVycm9yLmNvbXBvbmVudFN0YWNrRnJhbWVzID8gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiaDJcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFwiQ29tcG9uZW50IFN0YWNrXCJcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGVycm9yLmNvbXBvbmVudFN0YWNrRnJhbWVzLm1hcCgoY29tcG9uZW50U3RhY2tGcmFtZSwgaW5kZXgpPT4vKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9Db21wb25lbnRTdGFja0ZyYW1lUm93LkNvbXBvbmVudFN0YWNrRnJhbWVSb3csIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRTdGFja0ZyYW1lOiBjb21wb25lbnRTdGFja0ZyYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCBpbmRleCkpXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSkgOiBudWxsLFxuICAgICAgICAgICAgc3RhY2tGcmFtZXNHcm91cGVkQnlGcmFtZXdvcmsubGVuZ3RoID8gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX3JlYWN0LkZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImgyXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBcIkNhbGwgU3RhY2tcIlxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfR3JvdXBlZFN0YWNrRnJhbWVzLkdyb3VwZWRTdGFja0ZyYW1lcywge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBlZFN0YWNrRnJhbWVzOiBzdGFja0ZyYW1lc0dyb3VwZWRCeUZyYW1ld29yayxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsbDogYWxsXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBjYW5TaG93TW9yZSA/IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX3JlYWN0LkZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiYnV0dG9uXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgdGFiSW5kZXg6IDEwLFxuICAgICAgICAgICAgICAgICAgICBcImRhdGEtbmV4dGpzLWRhdGEtcnVudGltZS1lcnJvci1jb2xsYXBzZWQtYWN0aW9uXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IHRvZ2dsZUFsbCxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsbCA/IFwiSGlkZVwiIDogXCJTaG93XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIiBjb2xsYXBzZWQgZnJhbWVzXCJcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KSA6IHVuZGVmaW5lZFxuICAgICAgICBdXG4gICAgfSk7XG59O1xuY29uc3Qgc3R5bGVzID0gKDAsIF9ub29wdGVtcGxhdGUubm9vcCkoX3RlbXBsYXRlT2JqZWN0KCkpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJzdHlsZXMiLCJSdW50aW1lRXJyb3IiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9Db2RlRnJhbWUiLCJfbm9vcHRlbXBsYXRlIiwiX2dyb3Vwc3RhY2tmcmFtZXNieWZyYW1ld29yayIsIl9DYWxsU3RhY2tGcmFtZSIsIl9Hcm91cGVkU3RhY2tGcmFtZXMiLCJfQ29tcG9uZW50U3RhY2tGcmFtZVJvdyIsIl90ZW1wbGF0ZU9iamVjdCIsImRhdGEiLCJwYXJhbSIsImVycm9yIiwiZmlyc3RGaXJzdFBhcnR5RnJhbWVJbmRleCIsInVzZU1lbW8iLCJmcmFtZXMiLCJmaW5kSW5kZXgiLCJlbnRyeSIsImV4cGFuZGVkIiwiQm9vbGVhbiIsIm9yaWdpbmFsQ29kZUZyYW1lIiwib3JpZ2luYWxTdGFja0ZyYW1lIiwiZmlyc3RGcmFtZSIsIl9lcnJvcl9mcmFtZXNfZmlyc3RGaXJzdFBhcnR5RnJhbWVJbmRleCIsImFsbExlYWRpbmdGcmFtZXMiLCJzbGljZSIsInNldEFsbCIsInVzZVN0YXRlIiwidG9nZ2xlQWxsIiwidXNlQ2FsbGJhY2siLCJ2IiwibGVhZGluZ0ZyYW1lcyIsImZpbHRlciIsImYiLCJhbGxDYWxsU3RhY2tGcmFtZXMiLCJ2aXNpYmxlQ2FsbFN0YWNrRnJhbWVzIiwiY2FuU2hvd01vcmUiLCJsZW5ndGgiLCJzdGFja0ZyYW1lc0dyb3VwZWRCeUZyYW1ld29yayIsImdyb3VwU3RhY2tGcmFtZXNCeUZyYW1ld29yayIsImpzeHMiLCJGcmFnbWVudCIsImNoaWxkcmVuIiwianN4IiwibWFwIiwiZnJhbWUiLCJpbmRleCIsIkNhbGxTdGFja0ZyYW1lIiwiQ29kZUZyYW1lIiwic3RhY2tGcmFtZSIsImNvZGVGcmFtZSIsInVuZGVmaW5lZCIsImNvbXBvbmVudFN0YWNrRnJhbWVzIiwiY29tcG9uZW50U3RhY2tGcmFtZSIsIkNvbXBvbmVudFN0YWNrRnJhbWVSb3ciLCJHcm91cGVkU3RhY2tGcmFtZXMiLCJncm91cGVkU3RhY2tGcmFtZXMiLCJ0YWJJbmRleCIsInR5cGUiLCJvbkNsaWNrIiwibm9vcCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js": /*!******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js ***! \******************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ACTION_BUILD_OK: function() {\n return ACTION_BUILD_OK;\n },\n ACTION_BUILD_ERROR: function() {\n return ACTION_BUILD_ERROR;\n },\n ACTION_BEFORE_REFRESH: function() {\n return ACTION_BEFORE_REFRESH;\n },\n ACTION_REFRESH: function() {\n return ACTION_REFRESH;\n },\n ACTION_UNHANDLED_ERROR: function() {\n return ACTION_UNHANDLED_ERROR;\n },\n ACTION_UNHANDLED_REJECTION: function() {\n return ACTION_UNHANDLED_REJECTION;\n },\n ACTION_VERSION_INFO: function() {\n return ACTION_VERSION_INFO;\n },\n INITIAL_OVERLAY_STATE: function() {\n return INITIAL_OVERLAY_STATE;\n },\n errorOverlayReducer: function() {\n return errorOverlayReducer;\n }\n});\nconst ACTION_BUILD_OK = \"build-ok\";\nconst ACTION_BUILD_ERROR = \"build-error\";\nconst ACTION_BEFORE_REFRESH = \"before-fast-refresh\";\nconst ACTION_REFRESH = \"fast-refresh\";\nconst ACTION_UNHANDLED_ERROR = \"unhandled-error\";\nconst ACTION_UNHANDLED_REJECTION = \"unhandled-rejection\";\nconst ACTION_VERSION_INFO = \"version-info\";\nconst INITIAL_OVERLAY_STATE = {\n nextId: 1,\n buildError: null,\n errors: [],\n notFound: false,\n refreshState: {\n type: \"idle\"\n },\n versionInfo: {\n installed: \"0.0.0\",\n staleness: \"unknown\"\n }\n};\nfunction pushErrorFilterDuplicates(errors, err) {\n return [\n ...errors.filter((e)=>{\n // Filter out duplicate errors\n return e.event.reason !== err.event.reason;\n }),\n err\n ];\n}\nconst errorOverlayReducer = (state, action)=>{\n switch(action.type){\n case ACTION_BUILD_OK:\n {\n return {\n ...state,\n buildError: null\n };\n }\n case ACTION_BUILD_ERROR:\n {\n return {\n ...state,\n buildError: action.message\n };\n }\n case ACTION_BEFORE_REFRESH:\n {\n return {\n ...state,\n refreshState: {\n type: \"pending\",\n errors: []\n }\n };\n }\n case ACTION_REFRESH:\n {\n return {\n ...state,\n buildError: null,\n errors: // and UNHANDLED_REJECTION events might be dispatched between the\n // BEFORE_REFRESH and the REFRESH event. We want to keep those errors\n // around until the next refresh. Otherwise we run into a race\n // condition where those errors would be cleared on refresh completion\n // before they can be displayed.\n state.refreshState.type === \"pending\" ? state.refreshState.errors : [],\n refreshState: {\n type: \"idle\"\n }\n };\n }\n case ACTION_UNHANDLED_ERROR:\n case ACTION_UNHANDLED_REJECTION:\n {\n switch(state.refreshState.type){\n case \"idle\":\n {\n return {\n ...state,\n nextId: state.nextId + 1,\n errors: pushErrorFilterDuplicates(state.errors, {\n id: state.nextId,\n event: action\n })\n };\n }\n case \"pending\":\n {\n return {\n ...state,\n nextId: state.nextId + 1,\n refreshState: {\n ...state.refreshState,\n errors: pushErrorFilterDuplicates(state.refreshState.errors, {\n id: state.nextId,\n event: action\n })\n }\n };\n }\n default:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = state.refreshState;\n return state;\n }\n }\n case ACTION_VERSION_INFO:\n {\n return {\n ...state,\n versionInfo: action.versionInfo\n };\n }\n default:\n {\n return state;\n }\n }\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=error-overlay-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2Vycm9yLW92ZXJsYXktcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQVVOO0FBQ0EsU0FBU1UsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSWhCLE9BQU9DLGNBQWMsQ0FBQ2MsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRWixTQUFTO0lBQ2JHLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7SUFDQUMsdUJBQXVCO1FBQ25CLE9BQU9BO0lBQ1g7SUFDQUMsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtJQUNBQyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtJQUNBQyw0QkFBNEI7UUFDeEIsT0FBT0E7SUFDWDtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtJQUNBQyx1QkFBdUI7UUFDbkIsT0FBT0E7SUFDWDtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTVIsa0JBQWtCO0FBQ3hCLE1BQU1DLHFCQUFxQjtBQUMzQixNQUFNQyx3QkFBd0I7QUFDOUIsTUFBTUMsaUJBQWlCO0FBQ3ZCLE1BQU1DLHlCQUF5QjtBQUMvQixNQUFNQyw2QkFBNkI7QUFDbkMsTUFBTUMsc0JBQXNCO0FBQzVCLE1BQU1DLHdCQUF3QjtJQUMxQlEsUUFBUTtJQUNSQyxZQUFZO0lBQ1pDLFFBQVEsRUFBRTtJQUNWQyxVQUFVO0lBQ1ZDLGNBQWM7UUFDVkMsTUFBTTtJQUNWO0lBQ0FDLGFBQWE7UUFDVEMsV0FBVztRQUNYQyxXQUFXO0lBQ2Y7QUFDSjtBQUNBLFNBQVNDLDBCQUEwQlAsTUFBTSxFQUFFUSxHQUFHO0lBQzFDLE9BQU87V0FDQVIsT0FBT1MsTUFBTSxDQUFDLENBQUNDO1lBQ2QsOEJBQThCO1lBQzlCLE9BQU9BLEVBQUVDLEtBQUssQ0FBQ0MsTUFBTSxLQUFLSixJQUFJRyxLQUFLLENBQUNDLE1BQU07UUFDOUM7UUFDQUo7S0FDSDtBQUNMO0FBQ0EsTUFBTWpCLHNCQUFzQixDQUFDc0IsT0FBT0M7SUFDaEMsT0FBT0EsT0FBT1gsSUFBSTtRQUNkLEtBQUtwQjtZQUNEO2dCQUNJLE9BQU87b0JBQ0gsR0FBRzhCLEtBQUs7b0JBQ1JkLFlBQVk7Z0JBQ2hCO1lBQ0o7UUFDSixLQUFLZjtZQUNEO2dCQUNJLE9BQU87b0JBQ0gsR0FBRzZCLEtBQUs7b0JBQ1JkLFlBQVllLE9BQU9DLE9BQU87Z0JBQzlCO1lBQ0o7UUFDSixLQUFLOUI7WUFDRDtnQkFDSSxPQUFPO29CQUNILEdBQUc0QixLQUFLO29CQUNSWCxjQUFjO3dCQUNWQyxNQUFNO3dCQUNOSCxRQUFRLEVBQUU7b0JBQ2Q7Z0JBQ0o7WUFDSjtRQUNKLEtBQUtkO1lBQ0Q7Z0JBQ0ksT0FBTztvQkFDSCxHQUFHMkIsS0FBSztvQkFDUmQsWUFBWTtvQkFDWkMsUUFDQSxpRUFBaUU7b0JBQ2pFLHFFQUFxRTtvQkFDckUsOERBQThEO29CQUM5RCxzRUFBc0U7b0JBQ3RFLGdDQUFnQztvQkFDaENhLE1BQU1YLFlBQVksQ0FBQ0MsSUFBSSxLQUFLLFlBQVlVLE1BQU1YLFlBQVksQ0FBQ0YsTUFBTSxHQUFHLEVBQUU7b0JBQ3RFRSxjQUFjO3dCQUNWQyxNQUFNO29CQUNWO2dCQUNKO1lBQ0o7UUFDSixLQUFLaEI7UUFDTCxLQUFLQztZQUNEO2dCQUNJLE9BQU95QixNQUFNWCxZQUFZLENBQUNDLElBQUk7b0JBQzFCLEtBQUs7d0JBQ0Q7NEJBQ0ksT0FBTztnQ0FDSCxHQUFHVSxLQUFLO2dDQUNSZixRQUFRZSxNQUFNZixNQUFNLEdBQUc7Z0NBQ3ZCRSxRQUFRTywwQkFBMEJNLE1BQU1iLE1BQU0sRUFBRTtvQ0FDNUNnQixJQUFJSCxNQUFNZixNQUFNO29DQUNoQmEsT0FBT0c7Z0NBQ1g7NEJBQ0o7d0JBQ0o7b0JBQ0osS0FBSzt3QkFDRDs0QkFDSSxPQUFPO2dDQUNILEdBQUdELEtBQUs7Z0NBQ1JmLFFBQVFlLE1BQU1mLE1BQU0sR0FBRztnQ0FDdkJJLGNBQWM7b0NBQ1YsR0FBR1csTUFBTVgsWUFBWTtvQ0FDckJGLFFBQVFPLDBCQUEwQk0sTUFBTVgsWUFBWSxDQUFDRixNQUFNLEVBQUU7d0NBQ3pEZ0IsSUFBSUgsTUFBTWYsTUFBTTt3Q0FDaEJhLE9BQU9HO29DQUNYO2dDQUNKOzRCQUNKO3dCQUNKO29CQUNKO3dCQUNJLDZEQUE2RDt3QkFDN0QsTUFBTUcsSUFBSUosTUFBTVgsWUFBWTt3QkFDNUIsT0FBT1c7Z0JBQ2Y7WUFDSjtRQUNKLEtBQUt4QjtZQUNEO2dCQUNJLE9BQU87b0JBQ0gsR0FBR3dCLEtBQUs7b0JBQ1JULGFBQWFVLE9BQU9WLFdBQVc7Z0JBQ25DO1lBQ0o7UUFDSjtZQUNJO2dCQUNJLE9BQU9TO1lBQ1g7SUFDUjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9qQyxRQUFRc0MsT0FBTyxLQUFLLGNBQWUsT0FBT3RDLFFBQVFzQyxPQUFPLEtBQUssWUFBWXRDLFFBQVFzQyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU90QyxRQUFRc0MsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3pDLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUXNDLE9BQU8sRUFBRSxjQUFjO1FBQUVyQyxPQUFPO0lBQUs7SUFDbkVILE9BQU8wQyxNQUFNLENBQUN4QyxRQUFRc0MsT0FBTyxFQUFFdEM7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUXNDLE9BQU87QUFDbEMsRUFFQSxpREFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2Vycm9yLW92ZXJsYXktcmVkdWNlci5qcz8yNWRjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgQUNUSU9OX0JVSUxEX09LOiBudWxsLFxuICAgIEFDVElPTl9CVUlMRF9FUlJPUjogbnVsbCxcbiAgICBBQ1RJT05fQkVGT1JFX1JFRlJFU0g6IG51bGwsXG4gICAgQUNUSU9OX1JFRlJFU0g6IG51bGwsXG4gICAgQUNUSU9OX1VOSEFORExFRF9FUlJPUjogbnVsbCxcbiAgICBBQ1RJT05fVU5IQU5ETEVEX1JFSkVDVElPTjogbnVsbCxcbiAgICBBQ1RJT05fVkVSU0lPTl9JTkZPOiBudWxsLFxuICAgIElOSVRJQUxfT1ZFUkxBWV9TVEFURTogbnVsbCxcbiAgICBlcnJvck92ZXJsYXlSZWR1Y2VyOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIEFDVElPTl9CVUlMRF9PSzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBQ1RJT05fQlVJTERfT0s7XG4gICAgfSxcbiAgICBBQ1RJT05fQlVJTERfRVJST1I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQUNUSU9OX0JVSUxEX0VSUk9SO1xuICAgIH0sXG4gICAgQUNUSU9OX0JFRk9SRV9SRUZSRVNIOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFDVElPTl9CRUZPUkVfUkVGUkVTSDtcbiAgICB9LFxuICAgIEFDVElPTl9SRUZSRVNIOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFDVElPTl9SRUZSRVNIO1xuICAgIH0sXG4gICAgQUNUSU9OX1VOSEFORExFRF9FUlJPUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBQ1RJT05fVU5IQU5ETEVEX0VSUk9SO1xuICAgIH0sXG4gICAgQUNUSU9OX1VOSEFORExFRF9SRUpFQ1RJT046IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQUNUSU9OX1VOSEFORExFRF9SRUpFQ1RJT047XG4gICAgfSxcbiAgICBBQ1RJT05fVkVSU0lPTl9JTkZPOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFDVElPTl9WRVJTSU9OX0lORk87XG4gICAgfSxcbiAgICBJTklUSUFMX09WRVJMQVlfU1RBVEU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSU5JVElBTF9PVkVSTEFZX1NUQVRFO1xuICAgIH0sXG4gICAgZXJyb3JPdmVybGF5UmVkdWNlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBlcnJvck92ZXJsYXlSZWR1Y2VyO1xuICAgIH1cbn0pO1xuY29uc3QgQUNUSU9OX0JVSUxEX09LID0gXCJidWlsZC1va1wiO1xuY29uc3QgQUNUSU9OX0JVSUxEX0VSUk9SID0gXCJidWlsZC1lcnJvclwiO1xuY29uc3QgQUNUSU9OX0JFRk9SRV9SRUZSRVNIID0gXCJiZWZvcmUtZmFzdC1yZWZyZXNoXCI7XG5jb25zdCBBQ1RJT05fUkVGUkVTSCA9IFwiZmFzdC1yZWZyZXNoXCI7XG5jb25zdCBBQ1RJT05fVU5IQU5ETEVEX0VSUk9SID0gXCJ1bmhhbmRsZWQtZXJyb3JcIjtcbmNvbnN0IEFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OID0gXCJ1bmhhbmRsZWQtcmVqZWN0aW9uXCI7XG5jb25zdCBBQ1RJT05fVkVSU0lPTl9JTkZPID0gXCJ2ZXJzaW9uLWluZm9cIjtcbmNvbnN0IElOSVRJQUxfT1ZFUkxBWV9TVEFURSA9IHtcbiAgICBuZXh0SWQ6IDEsXG4gICAgYnVpbGRFcnJvcjogbnVsbCxcbiAgICBlcnJvcnM6IFtdLFxuICAgIG5vdEZvdW5kOiBmYWxzZSxcbiAgICByZWZyZXNoU3RhdGU6IHtcbiAgICAgICAgdHlwZTogXCJpZGxlXCJcbiAgICB9LFxuICAgIHZlcnNpb25JbmZvOiB7XG4gICAgICAgIGluc3RhbGxlZDogXCIwLjAuMFwiLFxuICAgICAgICBzdGFsZW5lc3M6IFwidW5rbm93blwiXG4gICAgfVxufTtcbmZ1bmN0aW9uIHB1c2hFcnJvckZpbHRlckR1cGxpY2F0ZXMoZXJyb3JzLCBlcnIpIHtcbiAgICByZXR1cm4gW1xuICAgICAgICAuLi5lcnJvcnMuZmlsdGVyKChlKT0+e1xuICAgICAgICAgICAgLy8gRmlsdGVyIG91dCBkdXBsaWNhdGUgZXJyb3JzXG4gICAgICAgICAgICByZXR1cm4gZS5ldmVudC5yZWFzb24gIT09IGVyci5ldmVudC5yZWFzb247XG4gICAgICAgIH0pLFxuICAgICAgICBlcnJcbiAgICBdO1xufVxuY29uc3QgZXJyb3JPdmVybGF5UmVkdWNlciA9IChzdGF0ZSwgYWN0aW9uKT0+e1xuICAgIHN3aXRjaChhY3Rpb24udHlwZSl7XG4gICAgICAgIGNhc2UgQUNUSU9OX0JVSUxEX09LOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICBidWlsZEVycm9yOiBudWxsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBBQ1RJT05fQlVJTERfRVJST1I6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgIGJ1aWxkRXJyb3I6IGFjdGlvbi5tZXNzYWdlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBBQ1RJT05fQkVGT1JFX1JFRlJFU0g6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hTdGF0ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJwZW5kaW5nXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnM6IFtdXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIEFDVElPTl9SRUZSRVNIOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICBidWlsZEVycm9yOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBlcnJvcnM6IC8vIEVycm9ycyBjYW4gY29tZSBpbiBkdXJpbmcgdXBkYXRlcy4gSW4gdGhpcyBjYXNlLCBVTkhBTkRMRURfRVJST1JcbiAgICAgICAgICAgICAgICAgICAgLy8gYW5kIFVOSEFORExFRF9SRUpFQ1RJT04gZXZlbnRzIG1pZ2h0IGJlIGRpc3BhdGNoZWQgYmV0d2VlbiB0aGVcbiAgICAgICAgICAgICAgICAgICAgLy8gQkVGT1JFX1JFRlJFU0ggYW5kIHRoZSBSRUZSRVNIIGV2ZW50LiBXZSB3YW50IHRvIGtlZXAgdGhvc2UgZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgIC8vIGFyb3VuZCB1bnRpbCB0aGUgbmV4dCByZWZyZXNoLiBPdGhlcndpc2Ugd2UgcnVuIGludG8gYSByYWNlXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbmRpdGlvbiB3aGVyZSB0aG9zZSBlcnJvcnMgd291bGQgYmUgY2xlYXJlZCBvbiByZWZyZXNoIGNvbXBsZXRpb25cbiAgICAgICAgICAgICAgICAgICAgLy8gYmVmb3JlIHRoZXkgY2FuIGJlIGRpc3BsYXllZC5cbiAgICAgICAgICAgICAgICAgICAgc3RhdGUucmVmcmVzaFN0YXRlLnR5cGUgPT09IFwicGVuZGluZ1wiID8gc3RhdGUucmVmcmVzaFN0YXRlLmVycm9ycyA6IFtdLFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoU3RhdGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiaWRsZVwiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIEFDVElPTl9VTkhBTkRMRURfRVJST1I6XG4gICAgICAgIGNhc2UgQUNUSU9OX1VOSEFORExFRF9SRUpFQ1RJT046XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc3dpdGNoKHN0YXRlLnJlZnJlc2hTdGF0ZS50eXBlKXtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImlkbGVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dElkOiBzdGF0ZS5uZXh0SWQgKyAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnM6IHB1c2hFcnJvckZpbHRlckR1cGxpY2F0ZXMoc3RhdGUuZXJyb3JzLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogc3RhdGUubmV4dElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IGFjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJwZW5kaW5nXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRJZDogc3RhdGUubmV4dElkICsgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5zdGF0ZS5yZWZyZXNoU3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnM6IHB1c2hFcnJvckZpbHRlckR1cGxpY2F0ZXMoc3RhdGUucmVmcmVzaFN0YXRlLmVycm9ycywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBzdGF0ZS5uZXh0SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IGFjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBfID0gc3RhdGUucmVmcmVzaFN0YXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBBQ1RJT05fVkVSU0lPTl9JTkZPOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uSW5mbzogYWN0aW9uLnZlcnNpb25JbmZvXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgICAgICB9XG4gICAgfVxufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXJyb3Itb3ZlcmxheS1yZWR1Y2VyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIkFDVElPTl9CVUlMRF9PSyIsIkFDVElPTl9CVUlMRF9FUlJPUiIsIkFDVElPTl9CRUZPUkVfUkVGUkVTSCIsIkFDVElPTl9SRUZSRVNIIiwiQUNUSU9OX1VOSEFORExFRF9FUlJPUiIsIkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OIiwiQUNUSU9OX1ZFUlNJT05fSU5GTyIsIklOSVRJQUxfT1ZFUkxBWV9TVEFURSIsImVycm9yT3ZlcmxheVJlZHVjZXIiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJuZXh0SWQiLCJidWlsZEVycm9yIiwiZXJyb3JzIiwibm90Rm91bmQiLCJyZWZyZXNoU3RhdGUiLCJ0eXBlIiwidmVyc2lvbkluZm8iLCJpbnN0YWxsZWQiLCJzdGFsZW5lc3MiLCJwdXNoRXJyb3JGaWx0ZXJEdXBsaWNhdGVzIiwiZXJyIiwiZmlsdGVyIiwiZSIsImV2ZW50IiwicmVhc29uIiwic3RhdGUiLCJhY3Rpb24iLCJtZXNzYWdlIiwiaWQiLCJfIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js ***! \*******************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSocketUrl\", ({\n enumerable: true,\n get: function() {\n return getSocketUrl;\n }\n}));\nfunction getSocketProtocol(assetPrefix) {\n let protocol = window.location.protocol;\n try {\n // assetPrefix is a url\n protocol = new URL(assetPrefix).protocol;\n } catch (e) {}\n return protocol === \"http:\" ? \"ws\" : \"wss\";\n}\nfunction getSocketUrl(assetPrefix) {\n const { hostname, port } = window.location;\n const protocol = getSocketProtocol(assetPrefix);\n const normalizedAssetPrefix = assetPrefix.replace(/^\\/+/, \"\");\n let url = protocol + \"://\" + hostname + \":\" + port + (normalizedAssetPrefix ? \"/\" + normalizedAssetPrefix : \"\");\n if (normalizedAssetPrefix.startsWith(\"http\")) {\n url = protocol + \"://\" + normalizedAssetPrefix.split(\"://\", 2)[1];\n }\n return url;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-socket-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ2V0LXNvY2tldC11cmwuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGdEQUErQztJQUMzQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNDLGtCQUFrQkMsV0FBVztJQUNsQyxJQUFJQyxXQUFXQyxPQUFPQyxRQUFRLENBQUNGLFFBQVE7SUFDdkMsSUFBSTtRQUNBLHVCQUF1QjtRQUN2QkEsV0FBVyxJQUFJRyxJQUFJSixhQUFhQyxRQUFRO0lBQzVDLEVBQUUsT0FBT0ksR0FBRyxDQUFDO0lBQ2IsT0FBT0osYUFBYSxVQUFVLE9BQU87QUFDekM7QUFDQSxTQUFTSCxhQUFhRSxXQUFXO0lBQzdCLE1BQU0sRUFBRU0sUUFBUSxFQUFFQyxJQUFJLEVBQUUsR0FBR0wsT0FBT0MsUUFBUTtJQUMxQyxNQUFNRixXQUFXRixrQkFBa0JDO0lBQ25DLE1BQU1RLHdCQUF3QlIsWUFBWVMsT0FBTyxDQUFDLFFBQVE7SUFDMUQsSUFBSUMsTUFBTVQsV0FBVyxRQUFRSyxXQUFXLE1BQU1DLE9BQVFDLENBQUFBLHdCQUF3QixNQUFNQSx3QkFBd0IsRUFBQztJQUM3RyxJQUFJQSxzQkFBc0JHLFVBQVUsQ0FBQyxTQUFTO1FBQzFDRCxNQUFNVCxXQUFXLFFBQVFPLHNCQUFzQkksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUU7SUFDckU7SUFDQSxPQUFPRjtBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU9oQixRQUFRbUIsT0FBTyxLQUFLLGNBQWUsT0FBT25CLFFBQVFtQixPQUFPLEtBQUssWUFBWW5CLFFBQVFtQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9uQixRQUFRbUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3RCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW1CLE9BQU8sRUFBRSxjQUFjO1FBQUVsQixPQUFPO0lBQUs7SUFDbkVILE9BQU91QixNQUFNLENBQUNyQixRQUFRbUIsT0FBTyxFQUFFbkI7SUFDL0JzQixPQUFPdEIsT0FBTyxHQUFHQSxRQUFRbUIsT0FBTztBQUNsQyxFQUVBLDBDQUEwQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9nZXQtc29ja2V0LXVybC5qcz85ZTA4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0U29ja2V0VXJsXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRTb2NrZXRVcmw7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBnZXRTb2NrZXRQcm90b2NvbChhc3NldFByZWZpeCkge1xuICAgIGxldCBwcm90b2NvbCA9IHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbDtcbiAgICB0cnkge1xuICAgICAgICAvLyBhc3NldFByZWZpeCBpcyBhIHVybFxuICAgICAgICBwcm90b2NvbCA9IG5ldyBVUkwoYXNzZXRQcmVmaXgpLnByb3RvY29sO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgcmV0dXJuIHByb3RvY29sID09PSBcImh0dHA6XCIgPyBcIndzXCIgOiBcIndzc1wiO1xufVxuZnVuY3Rpb24gZ2V0U29ja2V0VXJsKGFzc2V0UHJlZml4KSB7XG4gICAgY29uc3QgeyBob3N0bmFtZSwgcG9ydCB9ID0gd2luZG93LmxvY2F0aW9uO1xuICAgIGNvbnN0IHByb3RvY29sID0gZ2V0U29ja2V0UHJvdG9jb2woYXNzZXRQcmVmaXgpO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRBc3NldFByZWZpeCA9IGFzc2V0UHJlZml4LnJlcGxhY2UoL15cXC8rLywgXCJcIik7XG4gICAgbGV0IHVybCA9IHByb3RvY29sICsgXCI6Ly9cIiArIGhvc3RuYW1lICsgXCI6XCIgKyBwb3J0ICsgKG5vcm1hbGl6ZWRBc3NldFByZWZpeCA/IFwiL1wiICsgbm9ybWFsaXplZEFzc2V0UHJlZml4IDogXCJcIik7XG4gICAgaWYgKG5vcm1hbGl6ZWRBc3NldFByZWZpeC5zdGFydHNXaXRoKFwiaHR0cFwiKSkge1xuICAgICAgICB1cmwgPSBwcm90b2NvbCArIFwiOi8vXCIgKyBub3JtYWxpemVkQXNzZXRQcmVmaXguc3BsaXQoXCI6Ly9cIiwgMilbMV07XG4gICAgfVxuICAgIHJldHVybiB1cmw7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldC1zb2NrZXQtdXJsLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJnZXRTb2NrZXRVcmwiLCJnZXRTb2NrZXRQcm90b2NvbCIsImFzc2V0UHJlZml4IiwicHJvdG9jb2wiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsIlVSTCIsImUiLCJob3N0bmFtZSIsInBvcnQiLCJub3JtYWxpemVkQXNzZXRQcmVmaXgiLCJyZXBsYWNlIiwidXJsIiwic3RhcnRzV2l0aCIsInNwbGl0IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js ***! \*******************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getErrorByType\", ({\n enumerable: true,\n get: function() {\n return getErrorByType;\n }\n}));\nconst _erroroverlayreducer = __webpack_require__(/*! ../error-overlay-reducer */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js\");\nconst _nodeStackFrames = __webpack_require__(/*! ./nodeStackFrames */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js\");\nconst _stackframe = __webpack_require__(/*! ./stack-frame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nasync function getErrorByType(ev) {\n const { id, event } = ev;\n switch(event.type){\n case _erroroverlayreducer.ACTION_UNHANDLED_ERROR:\n case _erroroverlayreducer.ACTION_UNHANDLED_REJECTION:\n {\n const readyRuntimeError = {\n id,\n runtime: true,\n error: event.reason,\n frames: await (0, _stackframe.getOriginalStackFrames)(event.frames, (0, _nodeStackFrames.getErrorSource)(event.reason), event.reason.toString())\n };\n if (event.type === _erroroverlayreducer.ACTION_UNHANDLED_ERROR) {\n readyRuntimeError.componentStackFrames = event.componentStackFrames;\n }\n return readyRuntimeError;\n }\n default:\n {\n break;\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = event;\n throw new Error(\"type system invariant violation\");\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=getErrorByType.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ2V0RXJyb3JCeVR5cGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGtEQUFpRDtJQUM3Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHVCQUF1QkMsbUJBQU9BLENBQUMsc0lBQTBCO0FBQy9ELE1BQU1DLG1CQUFtQkQsbUJBQU9BLENBQUMsaUlBQW1CO0FBQ3BELE1BQU1FLGNBQWNGLG1CQUFPQSxDQUFDLHlIQUFlO0FBQzNDLGVBQWVGLGVBQWVLLEVBQUU7SUFDNUIsTUFBTSxFQUFFQyxFQUFFLEVBQUVDLEtBQUssRUFBRSxHQUFHRjtJQUN0QixPQUFPRSxNQUFNQyxJQUFJO1FBQ2IsS0FBS1AscUJBQXFCUSxzQkFBc0I7UUFDaEQsS0FBS1IscUJBQXFCUywwQkFBMEI7WUFDaEQ7Z0JBQ0ksTUFBTUMsb0JBQW9CO29CQUN0Qkw7b0JBQ0FNLFNBQVM7b0JBQ1RDLE9BQU9OLE1BQU1PLE1BQU07b0JBQ25CQyxRQUFRLE1BQU0sQ0FBQyxHQUFHWCxZQUFZWSxzQkFBc0IsRUFBRVQsTUFBTVEsTUFBTSxFQUFFLENBQUMsR0FBR1osaUJBQWlCYyxjQUFjLEVBQUVWLE1BQU1PLE1BQU0sR0FBR1AsTUFBTU8sTUFBTSxDQUFDSSxRQUFRO2dCQUNqSjtnQkFDQSxJQUFJWCxNQUFNQyxJQUFJLEtBQUtQLHFCQUFxQlEsc0JBQXNCLEVBQUU7b0JBQzVERSxrQkFBa0JRLG9CQUFvQixHQUFHWixNQUFNWSxvQkFBb0I7Z0JBQ3ZFO2dCQUNBLE9BQU9SO1lBQ1g7UUFDSjtZQUNJO2dCQUNJO1lBQ0o7SUFDUjtJQUNBLDZEQUE2RDtJQUM3RCxNQUFNUyxJQUFJYjtJQUNWLE1BQU0sSUFBSWMsTUFBTTtBQUNwQjtBQUVBLElBQUksQ0FBQyxPQUFPekIsUUFBUTBCLE9BQU8sS0FBSyxjQUFlLE9BQU8xQixRQUFRMEIsT0FBTyxLQUFLLFlBQVkxQixRQUFRMEIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPMUIsUUFBUTBCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcks3QixPQUFPQyxjQUFjLENBQUNDLFFBQVEwQixPQUFPLEVBQUUsY0FBYztRQUFFekIsT0FBTztJQUFLO0lBQ25FSCxPQUFPOEIsTUFBTSxDQUFDNUIsUUFBUTBCLE9BQU8sRUFBRTFCO0lBQy9CNkIsT0FBTzdCLE9BQU8sR0FBR0EsUUFBUTBCLE9BQU87QUFDbEMsRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ2V0RXJyb3JCeVR5cGUuanM/NWFjYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldEVycm9yQnlUeXBlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRFcnJvckJ5VHlwZTtcbiAgICB9XG59KTtcbmNvbnN0IF9lcnJvcm92ZXJsYXlyZWR1Y2VyID0gcmVxdWlyZShcIi4uL2Vycm9yLW92ZXJsYXktcmVkdWNlclwiKTtcbmNvbnN0IF9ub2RlU3RhY2tGcmFtZXMgPSByZXF1aXJlKFwiLi9ub2RlU3RhY2tGcmFtZXNcIik7XG5jb25zdCBfc3RhY2tmcmFtZSA9IHJlcXVpcmUoXCIuL3N0YWNrLWZyYW1lXCIpO1xuYXN5bmMgZnVuY3Rpb24gZ2V0RXJyb3JCeVR5cGUoZXYpIHtcbiAgICBjb25zdCB7IGlkLCBldmVudCB9ID0gZXY7XG4gICAgc3dpdGNoKGV2ZW50LnR5cGUpe1xuICAgICAgICBjYXNlIF9lcnJvcm92ZXJsYXlyZWR1Y2VyLkFDVElPTl9VTkhBTkRMRURfRVJST1I6XG4gICAgICAgIGNhc2UgX2Vycm9yb3ZlcmxheXJlZHVjZXIuQUNUSU9OX1VOSEFORExFRF9SRUpFQ1RJT046XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVhZHlSdW50aW1lRXJyb3IgPSB7XG4gICAgICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgICAgICBydW50aW1lOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBlcnJvcjogZXZlbnQucmVhc29uLFxuICAgICAgICAgICAgICAgICAgICBmcmFtZXM6IGF3YWl0ICgwLCBfc3RhY2tmcmFtZS5nZXRPcmlnaW5hbFN0YWNrRnJhbWVzKShldmVudC5mcmFtZXMsICgwLCBfbm9kZVN0YWNrRnJhbWVzLmdldEVycm9yU291cmNlKShldmVudC5yZWFzb24pLCBldmVudC5yZWFzb24udG9TdHJpbmcoKSlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBfZXJyb3JvdmVybGF5cmVkdWNlci5BQ1RJT05fVU5IQU5ETEVEX0VSUk9SKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlYWR5UnVudGltZUVycm9yLmNvbXBvbmVudFN0YWNrRnJhbWVzID0gZXZlbnQuY29tcG9uZW50U3RhY2tGcmFtZXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiByZWFkeVJ1bnRpbWVFcnJvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIGNvbnN0IF8gPSBldmVudDtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJ0eXBlIHN5c3RlbSBpbnZhcmlhbnQgdmlvbGF0aW9uXCIpO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRFcnJvckJ5VHlwZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZ2V0RXJyb3JCeVR5cGUiLCJfZXJyb3JvdmVybGF5cmVkdWNlciIsInJlcXVpcmUiLCJfbm9kZVN0YWNrRnJhbWVzIiwiX3N0YWNrZnJhbWUiLCJldiIsImlkIiwiZXZlbnQiLCJ0eXBlIiwiQUNUSU9OX1VOSEFORExFRF9FUlJPUiIsIkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OIiwicmVhZHlSdW50aW1lRXJyb3IiLCJydW50aW1lIiwiZXJyb3IiLCJyZWFzb24iLCJmcmFtZXMiLCJnZXRPcmlnaW5hbFN0YWNrRnJhbWVzIiwiZ2V0RXJyb3JTb3VyY2UiLCJ0b1N0cmluZyIsImNvbXBvbmVudFN0YWNrRnJhbWVzIiwiXyIsIkVycm9yIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js": /*!************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js ***! \************************************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"groupStackFramesByFramework\", ({\n enumerable: true,\n get: function() {\n return groupStackFramesByFramework;\n }\n}));\n/**\n * Get the origin framework of the stack frame by package name.\n */ function getFramework(sourcePackage) {\n if (!sourcePackage) return undefined;\n if (/^(react|react-dom|react-is|react-refresh|react-server-dom-webpack|react-server-dom-turbopack|scheduler)$/.test(sourcePackage)) {\n return \"react\";\n } else if (sourcePackage === \"next\") {\n return \"next\";\n }\n return undefined;\n}\nfunction groupStackFramesByFramework(stackFrames) {\n const stackFramesGroupedByFramework = [];\n for (const stackFrame of stackFrames){\n const currentGroup = stackFramesGroupedByFramework[stackFramesGroupedByFramework.length - 1];\n const framework = getFramework(stackFrame.sourcePackage);\n if (currentGroup && currentGroup.framework === framework) {\n currentGroup.stackFrames.push(stackFrame);\n } else {\n stackFramesGroupedByFramework.push({\n framework: framework,\n stackFrames: [\n stackFrame\n ]\n });\n }\n }\n return stackFramesGroupedByFramework;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=group-stack-frames-by-framework.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ3JvdXAtc3RhY2stZnJhbWVzLWJ5LWZyYW1ld29yay5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsK0RBQThEO0lBQzFESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0Y7O0NBRUMsR0FBRyxTQUFTQyxhQUFhQyxhQUFhO0lBQ25DLElBQUksQ0FBQ0EsZUFBZSxPQUFPQztJQUMzQixJQUFJLDJHQUEyR0MsSUFBSSxDQUFDRixnQkFBZ0I7UUFDaEksT0FBTztJQUNYLE9BQU8sSUFBSUEsa0JBQWtCLFFBQVE7UUFDakMsT0FBTztJQUNYO0lBQ0EsT0FBT0M7QUFDWDtBQUNBLFNBQVNILDRCQUE0QkssV0FBVztJQUM1QyxNQUFNQyxnQ0FBZ0MsRUFBRTtJQUN4QyxLQUFLLE1BQU1DLGNBQWNGLFlBQVk7UUFDakMsTUFBTUcsZUFBZUYsNkJBQTZCLENBQUNBLDhCQUE4QkcsTUFBTSxHQUFHLEVBQUU7UUFDNUYsTUFBTUMsWUFBWVQsYUFBYU0sV0FBV0wsYUFBYTtRQUN2RCxJQUFJTSxnQkFBZ0JBLGFBQWFFLFNBQVMsS0FBS0EsV0FBVztZQUN0REYsYUFBYUgsV0FBVyxDQUFDTSxJQUFJLENBQUNKO1FBQ2xDLE9BQU87WUFDSEQsOEJBQThCSyxJQUFJLENBQUM7Z0JBQy9CRCxXQUFXQTtnQkFDWEwsYUFBYTtvQkFDVEU7aUJBQ0g7WUFDTDtRQUNKO0lBQ0o7SUFDQSxPQUFPRDtBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU9WLFFBQVFnQixPQUFPLEtBQUssY0FBZSxPQUFPaEIsUUFBUWdCLE9BQU8sS0FBSyxZQUFZaEIsUUFBUWdCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2hCLFFBQVFnQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLbkIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRZ0IsT0FBTyxFQUFFLGNBQWM7UUFBRWYsT0FBTztJQUFLO0lBQ25FSCxPQUFPb0IsTUFBTSxDQUFDbEIsUUFBUWdCLE9BQU8sRUFBRWhCO0lBQy9CbUIsT0FBT25CLE9BQU8sR0FBR0EsUUFBUWdCLE9BQU87QUFDbEMsRUFFQSwyREFBMkQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ3JvdXAtc3RhY2stZnJhbWVzLWJ5LWZyYW1ld29yay5qcz9iODg5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ3JvdXBTdGFja0ZyYW1lc0J5RnJhbWV3b3JrXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBncm91cFN0YWNrRnJhbWVzQnlGcmFtZXdvcms7XG4gICAgfVxufSk7XG4vKipcbiAqIEdldCB0aGUgb3JpZ2luIGZyYW1ld29yayBvZiB0aGUgc3RhY2sgZnJhbWUgYnkgcGFja2FnZSBuYW1lLlxuICovIGZ1bmN0aW9uIGdldEZyYW1ld29yayhzb3VyY2VQYWNrYWdlKSB7XG4gICAgaWYgKCFzb3VyY2VQYWNrYWdlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmICgvXihyZWFjdHxyZWFjdC1kb218cmVhY3QtaXN8cmVhY3QtcmVmcmVzaHxyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2t8cmVhY3Qtc2VydmVyLWRvbS10dXJib3BhY2t8c2NoZWR1bGVyKSQvLnRlc3Qoc291cmNlUGFja2FnZSkpIHtcbiAgICAgICAgcmV0dXJuIFwicmVhY3RcIjtcbiAgICB9IGVsc2UgaWYgKHNvdXJjZVBhY2thZ2UgPT09IFwibmV4dFwiKSB7XG4gICAgICAgIHJldHVybiBcIm5leHRcIjtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIGdyb3VwU3RhY2tGcmFtZXNCeUZyYW1ld29yayhzdGFja0ZyYW1lcykge1xuICAgIGNvbnN0IHN0YWNrRnJhbWVzR3JvdXBlZEJ5RnJhbWV3b3JrID0gW107XG4gICAgZm9yIChjb25zdCBzdGFja0ZyYW1lIG9mIHN0YWNrRnJhbWVzKXtcbiAgICAgICAgY29uc3QgY3VycmVudEdyb3VwID0gc3RhY2tGcmFtZXNHcm91cGVkQnlGcmFtZXdvcmtbc3RhY2tGcmFtZXNHcm91cGVkQnlGcmFtZXdvcmsubGVuZ3RoIC0gMV07XG4gICAgICAgIGNvbnN0IGZyYW1ld29yayA9IGdldEZyYW1ld29yayhzdGFja0ZyYW1lLnNvdXJjZVBhY2thZ2UpO1xuICAgICAgICBpZiAoY3VycmVudEdyb3VwICYmIGN1cnJlbnRHcm91cC5mcmFtZXdvcmsgPT09IGZyYW1ld29yaykge1xuICAgICAgICAgICAgY3VycmVudEdyb3VwLnN0YWNrRnJhbWVzLnB1c2goc3RhY2tGcmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGFja0ZyYW1lc0dyb3VwZWRCeUZyYW1ld29yay5wdXNoKHtcbiAgICAgICAgICAgICAgICBmcmFtZXdvcms6IGZyYW1ld29yayxcbiAgICAgICAgICAgICAgICBzdGFja0ZyYW1lczogW1xuICAgICAgICAgICAgICAgICAgICBzdGFja0ZyYW1lXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHN0YWNrRnJhbWVzR3JvdXBlZEJ5RnJhbWV3b3JrO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ncm91cC1zdGFjay1mcmFtZXMtYnktZnJhbWV3b3JrLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJncm91cFN0YWNrRnJhbWVzQnlGcmFtZXdvcmsiLCJnZXRGcmFtZXdvcmsiLCJzb3VyY2VQYWNrYWdlIiwidW5kZWZpbmVkIiwidGVzdCIsInN0YWNrRnJhbWVzIiwic3RhY2tGcmFtZXNHcm91cGVkQnlGcmFtZXdvcmsiLCJzdGFja0ZyYW1lIiwiY3VycmVudEdyb3VwIiwibGVuZ3RoIiwiZnJhbWV3b3JrIiwicHVzaCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js ***! \*************************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n hydrationErrorWarning: function() {\n return hydrationErrorWarning;\n },\n hydrationErrorComponentStack: function() {\n return hydrationErrorComponentStack;\n },\n patchConsoleError: function() {\n return patchConsoleError;\n }\n});\nlet hydrationErrorWarning;\nlet hydrationErrorComponentStack;\n// https://github.com/facebook/react/blob/main/packages/react-dom/src/__tests__/ReactDOMHydrationDiff-test.js used as a reference\nconst knownHydrationWarnings = new Set([\n 'Warning: Text content did not match. Server: \"%s\" Client: \"%s\"%s',\n \"Warning: Expected server HTML to contain a matching <%s> in <%s>.%s\",\n 'Warning: Expected server HTML to contain a matching text node for \"%s\" in <%s>.%s',\n \"Warning: Did not expect server HTML to contain a <%s> in <%s>.%s\",\n 'Warning: Did not expect server HTML to contain the text node \"%s\" in <%s>.%s'\n]);\nfunction patchConsoleError() {\n const prev = console.error;\n console.error = function(msg, serverContent, clientContent, componentStack) {\n if (knownHydrationWarnings.has(msg)) {\n hydrationErrorWarning = msg.replace(\"%s\", serverContent).replace(\"%s\", clientContent).replace(\"%s\", \"\");\n hydrationErrorComponentStack = componentStack;\n }\n // @ts-expect-error argument is defined\n prev.apply(console, arguments);\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hydration-error-info.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvaHlkcmF0aW9uLWVycm9yLWluZm8uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FJTjtBQUNBLFNBQVNJLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlWLE9BQU9DLGNBQWMsQ0FBQ1EsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTixTQUFTO0lBQ2JHLHVCQUF1QjtRQUNuQixPQUFPQTtJQUNYO0lBQ0FDLDhCQUE4QjtRQUMxQixPQUFPQTtJQUNYO0lBQ0FDLG1CQUFtQjtRQUNmLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLElBQUlGO0FBQ0osSUFBSUM7QUFDSixpSUFBaUk7QUFDakksTUFBTVEseUJBQXlCLElBQUlDLElBQUk7SUFDbkM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNIO0FBQ0QsU0FBU1I7SUFDTCxNQUFNUyxPQUFPQyxRQUFRQyxLQUFLO0lBQzFCRCxRQUFRQyxLQUFLLEdBQUcsU0FBU0MsR0FBRyxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsY0FBYztRQUN0RSxJQUFJUix1QkFBdUJTLEdBQUcsQ0FBQ0osTUFBTTtZQUNqQ2Qsd0JBQXdCYyxJQUFJSyxPQUFPLENBQUMsTUFBTUosZUFBZUksT0FBTyxDQUFDLE1BQU1ILGVBQWVHLE9BQU8sQ0FBQyxNQUFNO1lBQ3BHbEIsK0JBQStCZ0I7UUFDbkM7UUFDQSx1Q0FBdUM7UUFDdkNOLEtBQUtTLEtBQUssQ0FBQ1IsU0FBU1M7SUFDeEI7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPeEIsUUFBUXlCLE9BQU8sS0FBSyxjQUFlLE9BQU96QixRQUFReUIsT0FBTyxLQUFLLFlBQVl6QixRQUFReUIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPekIsUUFBUXlCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcks1QixPQUFPQyxjQUFjLENBQUNDLFFBQVF5QixPQUFPLEVBQUUsY0FBYztRQUFFeEIsT0FBTztJQUFLO0lBQ25FSCxPQUFPNkIsTUFBTSxDQUFDM0IsUUFBUXlCLE9BQU8sRUFBRXpCO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVF5QixPQUFPO0FBQ2xDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL2h5ZHJhdGlvbi1lcnJvci1pbmZvLmpzPzMyYWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBoeWRyYXRpb25FcnJvcldhcm5pbmc6IG51bGwsXG4gICAgaHlkcmF0aW9uRXJyb3JDb21wb25lbnRTdGFjazogbnVsbCxcbiAgICBwYXRjaENvbnNvbGVFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBoeWRyYXRpb25FcnJvcldhcm5pbmc6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaHlkcmF0aW9uRXJyb3JXYXJuaW5nO1xuICAgIH0sXG4gICAgaHlkcmF0aW9uRXJyb3JDb21wb25lbnRTdGFjazogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBoeWRyYXRpb25FcnJvckNvbXBvbmVudFN0YWNrO1xuICAgIH0sXG4gICAgcGF0Y2hDb25zb2xlRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcGF0Y2hDb25zb2xlRXJyb3I7XG4gICAgfVxufSk7XG5sZXQgaHlkcmF0aW9uRXJyb3JXYXJuaW5nO1xubGV0IGh5ZHJhdGlvbkVycm9yQ29tcG9uZW50U3RhY2s7XG4vLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvYmxvYi9tYWluL3BhY2thZ2VzL3JlYWN0LWRvbS9zcmMvX190ZXN0c19fL1JlYWN0RE9NSHlkcmF0aW9uRGlmZi10ZXN0LmpzIHVzZWQgYXMgYSByZWZlcmVuY2VcbmNvbnN0IGtub3duSHlkcmF0aW9uV2FybmluZ3MgPSBuZXcgU2V0KFtcbiAgICAnV2FybmluZzogVGV4dCBjb250ZW50IGRpZCBub3QgbWF0Y2guIFNlcnZlcjogXCIlc1wiIENsaWVudDogXCIlc1wiJXMnLFxuICAgIFwiV2FybmluZzogRXhwZWN0ZWQgc2VydmVyIEhUTUwgdG8gY29udGFpbiBhIG1hdGNoaW5nIDwlcz4gaW4gPCVzPi4lc1wiLFxuICAgICdXYXJuaW5nOiBFeHBlY3RlZCBzZXJ2ZXIgSFRNTCB0byBjb250YWluIGEgbWF0Y2hpbmcgdGV4dCBub2RlIGZvciBcIiVzXCIgaW4gPCVzPi4lcycsXG4gICAgXCJXYXJuaW5nOiBEaWQgbm90IGV4cGVjdCBzZXJ2ZXIgSFRNTCB0byBjb250YWluIGEgPCVzPiBpbiA8JXM+LiVzXCIsXG4gICAgJ1dhcm5pbmc6IERpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gdGhlIHRleHQgbm9kZSBcIiVzXCIgaW4gPCVzPi4lcydcbl0pO1xuZnVuY3Rpb24gcGF0Y2hDb25zb2xlRXJyb3IoKSB7XG4gICAgY29uc3QgcHJldiA9IGNvbnNvbGUuZXJyb3I7XG4gICAgY29uc29sZS5lcnJvciA9IGZ1bmN0aW9uKG1zZywgc2VydmVyQ29udGVudCwgY2xpZW50Q29udGVudCwgY29tcG9uZW50U3RhY2spIHtcbiAgICAgICAgaWYgKGtub3duSHlkcmF0aW9uV2FybmluZ3MuaGFzKG1zZykpIHtcbiAgICAgICAgICAgIGh5ZHJhdGlvbkVycm9yV2FybmluZyA9IG1zZy5yZXBsYWNlKFwiJXNcIiwgc2VydmVyQ29udGVudCkucmVwbGFjZShcIiVzXCIsIGNsaWVudENvbnRlbnQpLnJlcGxhY2UoXCIlc1wiLCBcIlwiKTtcbiAgICAgICAgICAgIGh5ZHJhdGlvbkVycm9yQ29tcG9uZW50U3RhY2sgPSBjb21wb25lbnRTdGFjaztcbiAgICAgICAgfVxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGFyZ3VtZW50IGlzIGRlZmluZWRcbiAgICAgICAgcHJldi5hcHBseShjb25zb2xlLCBhcmd1bWVudHMpO1xuICAgIH07XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWh5ZHJhdGlvbi1lcnJvci1pbmZvLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImh5ZHJhdGlvbkVycm9yV2FybmluZyIsImh5ZHJhdGlvbkVycm9yQ29tcG9uZW50U3RhY2siLCJwYXRjaENvbnNvbGVFcnJvciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsImtub3duSHlkcmF0aW9uV2FybmluZ3MiLCJTZXQiLCJwcmV2IiwiY29uc29sZSIsImVycm9yIiwibXNnIiwic2VydmVyQ29udGVudCIsImNsaWVudENvbnRlbnQiLCJjb21wb25lbnRTdGFjayIsImhhcyIsInJlcGxhY2UiLCJhcHBseSIsImFyZ3VtZW50cyIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js": /*!********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js ***! \********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getFilesystemFrame: function() {\n return getFilesystemFrame;\n },\n getErrorSource: function() {\n return getErrorSource;\n },\n decorateServerError: function() {\n return decorateServerError;\n },\n getServerError: function() {\n return getServerError;\n }\n});\nconst _stacktraceparser = __webpack_require__(/*! next/dist/compiled/stacktrace-parser */ \"(ssr)/./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\");\nfunction getFilesystemFrame(frame) {\n const f = {\n ...frame\n };\n if (typeof f.file === \"string\") {\n if (f.file.startsWith(\"/\") || // Win32:\n /^[a-z]:\\\\/i.test(f.file) || // Win32 UNC:\n f.file.startsWith(\"\\\\\\\\\")) {\n f.file = \"file://\" + f.file;\n }\n }\n return f;\n}\nconst symbolError = Symbol(\"NextjsError\");\nfunction getErrorSource(error) {\n return error[symbolError] || null;\n}\nfunction decorateServerError(error, type) {\n Object.defineProperty(error, symbolError, {\n writable: false,\n enumerable: false,\n configurable: false,\n value: type\n });\n}\nfunction getServerError(error, type) {\n let n;\n try {\n throw new Error(error.message);\n } catch (e) {\n n = e;\n }\n n.name = error.name;\n try {\n n.stack = n.toString() + \"\\n\" + (0, _stacktraceparser.parse)(error.stack).map(getFilesystemFrame).map((f)=>{\n let str = \" at \" + f.methodName;\n if (f.file) {\n let loc = f.file;\n if (f.lineNumber) {\n loc += \":\" + f.lineNumber;\n if (f.column) {\n loc += \":\" + f.column;\n }\n }\n str += \" (\" + loc + \")\";\n }\n return str;\n }).join(\"\\n\");\n } catch (e) {\n n.stack = error.stack;\n }\n decorateServerError(n, type);\n return n;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=nodeStackFrames.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvbm9kZVN0YWNrRnJhbWVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBS047QUFDQSxTQUFTSyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJWCxPQUFPQyxjQUFjLENBQUNTLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUVAsU0FBUztJQUNiRyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLG9CQUFvQkMsbUJBQU9BLENBQUMsaUlBQXNDO0FBQ3hFLFNBQVNYLG1CQUFtQlksS0FBSztJQUM3QixNQUFNQyxJQUFJO1FBQ04sR0FBR0QsS0FBSztJQUNaO0lBQ0EsSUFBSSxPQUFPQyxFQUFFQyxJQUFJLEtBQUssVUFBVTtRQUM1QixJQUNBRCxFQUFFQyxJQUFJLENBQUNDLFVBQVUsQ0FBQyxRQUFRLFNBQVM7UUFDbkMsYUFBYUMsSUFBSSxDQUFDSCxFQUFFQyxJQUFJLEtBQUssYUFBYTtRQUMxQ0QsRUFBRUMsSUFBSSxDQUFDQyxVQUFVLENBQUMsU0FBUztZQUN2QkYsRUFBRUMsSUFBSSxHQUFHLFlBQVlELEVBQUVDLElBQUk7UUFDL0I7SUFDSjtJQUNBLE9BQU9EO0FBQ1g7QUFDQSxNQUFNSSxjQUFjQyxPQUFPO0FBQzNCLFNBQVNqQixlQUFla0IsS0FBSztJQUN6QixPQUFPQSxLQUFLLENBQUNGLFlBQVksSUFBSTtBQUNqQztBQUNBLFNBQVNmLG9CQUFvQmlCLEtBQUssRUFBRUMsSUFBSTtJQUNwQ3pCLE9BQU9DLGNBQWMsQ0FBQ3VCLE9BQU9GLGFBQWE7UUFDdENJLFVBQVU7UUFDVmIsWUFBWTtRQUNaYyxjQUFjO1FBQ2R4QixPQUFPc0I7SUFDWDtBQUNKO0FBQ0EsU0FBU2pCLGVBQWVnQixLQUFLLEVBQUVDLElBQUk7SUFDL0IsSUFBSUc7SUFDSixJQUFJO1FBQ0EsTUFBTSxJQUFJQyxNQUFNTCxNQUFNTSxPQUFPO0lBQ2pDLEVBQUUsT0FBT0MsR0FBRztRQUNSSCxJQUFJRztJQUNSO0lBQ0FILEVBQUVoQixJQUFJLEdBQUdZLE1BQU1aLElBQUk7SUFDbkIsSUFBSTtRQUNBZ0IsRUFBRUksS0FBSyxHQUFHSixFQUFFSyxRQUFRLEtBQUssT0FBTyxDQUFDLEdBQUdsQixrQkFBa0JtQixLQUFLLEVBQUVWLE1BQU1RLEtBQUssRUFBRUcsR0FBRyxDQUFDOUIsb0JBQW9COEIsR0FBRyxDQUFDLENBQUNqQjtZQUNuRyxJQUFJa0IsTUFBTSxZQUFZbEIsRUFBRW1CLFVBQVU7WUFDbEMsSUFBSW5CLEVBQUVDLElBQUksRUFBRTtnQkFDUixJQUFJbUIsTUFBTXBCLEVBQUVDLElBQUk7Z0JBQ2hCLElBQUlELEVBQUVxQixVQUFVLEVBQUU7b0JBQ2RELE9BQU8sTUFBTXBCLEVBQUVxQixVQUFVO29CQUN6QixJQUFJckIsRUFBRXNCLE1BQU0sRUFBRTt3QkFDVkYsT0FBTyxNQUFNcEIsRUFBRXNCLE1BQU07b0JBQ3pCO2dCQUNKO2dCQUNBSixPQUFPLE9BQU9FLE1BQU07WUFDeEI7WUFDQSxPQUFPRjtRQUNYLEdBQUdLLElBQUksQ0FBQztJQUNaLEVBQUUsT0FBT1YsR0FBRztRQUNSSCxFQUFFSSxLQUFLLEdBQUdSLE1BQU1RLEtBQUs7SUFDekI7SUFDQXpCLG9CQUFvQnFCLEdBQUdIO0lBQ3ZCLE9BQU9HO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBTzFCLFFBQVF3QyxPQUFPLEtBQUssY0FBZSxPQUFPeEMsUUFBUXdDLE9BQU8sS0FBSyxZQUFZeEMsUUFBUXdDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3hDLFFBQVF3QyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLM0MsT0FBT0MsY0FBYyxDQUFDQyxRQUFRd0MsT0FBTyxFQUFFLGNBQWM7UUFBRXZDLE9BQU87SUFBSztJQUNuRUgsT0FBTzRDLE1BQU0sQ0FBQzFDLFFBQVF3QyxPQUFPLEVBQUV4QztJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRd0MsT0FBTztBQUNsQyxFQUVBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9ub2RlU3RhY2tGcmFtZXMuanM/OWMzZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGdldEZpbGVzeXN0ZW1GcmFtZTogbnVsbCxcbiAgICBnZXRFcnJvclNvdXJjZTogbnVsbCxcbiAgICBkZWNvcmF0ZVNlcnZlckVycm9yOiBudWxsLFxuICAgIGdldFNlcnZlckVycm9yOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGdldEZpbGVzeXN0ZW1GcmFtZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRGaWxlc3lzdGVtRnJhbWU7XG4gICAgfSxcbiAgICBnZXRFcnJvclNvdXJjZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRFcnJvclNvdXJjZTtcbiAgICB9LFxuICAgIGRlY29yYXRlU2VydmVyRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGVjb3JhdGVTZXJ2ZXJFcnJvcjtcbiAgICB9LFxuICAgIGdldFNlcnZlckVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFNlcnZlckVycm9yO1xuICAgIH1cbn0pO1xuY29uc3QgX3N0YWNrdHJhY2VwYXJzZXIgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3N0YWNrdHJhY2UtcGFyc2VyXCIpO1xuZnVuY3Rpb24gZ2V0RmlsZXN5c3RlbUZyYW1lKGZyYW1lKSB7XG4gICAgY29uc3QgZiA9IHtcbiAgICAgICAgLi4uZnJhbWVcbiAgICB9O1xuICAgIGlmICh0eXBlb2YgZi5maWxlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGlmICgvLyBQb3NpeDpcbiAgICAgICAgZi5maWxlLnN0YXJ0c1dpdGgoXCIvXCIpIHx8IC8vIFdpbjMyOlxuICAgICAgICAvXlthLXpdOlxcXFwvaS50ZXN0KGYuZmlsZSkgfHwgLy8gV2luMzIgVU5DOlxuICAgICAgICBmLmZpbGUuc3RhcnRzV2l0aChcIlxcXFxcXFxcXCIpKSB7XG4gICAgICAgICAgICBmLmZpbGUgPSBcImZpbGU6Ly9cIiArIGYuZmlsZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZjtcbn1cbmNvbnN0IHN5bWJvbEVycm9yID0gU3ltYm9sKFwiTmV4dGpzRXJyb3JcIik7XG5mdW5jdGlvbiBnZXRFcnJvclNvdXJjZShlcnJvcikge1xuICAgIHJldHVybiBlcnJvcltzeW1ib2xFcnJvcl0gfHwgbnVsbDtcbn1cbmZ1bmN0aW9uIGRlY29yYXRlU2VydmVyRXJyb3IoZXJyb3IsIHR5cGUpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXJyb3IsIHN5bWJvbEVycm9yLCB7XG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIHZhbHVlOiB0eXBlXG4gICAgfSk7XG59XG5mdW5jdGlvbiBnZXRTZXJ2ZXJFcnJvcihlcnJvciwgdHlwZSkge1xuICAgIGxldCBuO1xuICAgIHRyeSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIG4gPSBlO1xuICAgIH1cbiAgICBuLm5hbWUgPSBlcnJvci5uYW1lO1xuICAgIHRyeSB7XG4gICAgICAgIG4uc3RhY2sgPSBuLnRvU3RyaW5nKCkgKyBcIlxcblwiICsgKDAsIF9zdGFja3RyYWNlcGFyc2VyLnBhcnNlKShlcnJvci5zdGFjaykubWFwKGdldEZpbGVzeXN0ZW1GcmFtZSkubWFwKChmKT0+e1xuICAgICAgICAgICAgbGV0IHN0ciA9IFwiICAgIGF0IFwiICsgZi5tZXRob2ROYW1lO1xuICAgICAgICAgICAgaWYgKGYuZmlsZSkge1xuICAgICAgICAgICAgICAgIGxldCBsb2MgPSBmLmZpbGU7XG4gICAgICAgICAgICAgICAgaWYgKGYubGluZU51bWJlcikge1xuICAgICAgICAgICAgICAgICAgICBsb2MgKz0gXCI6XCIgKyBmLmxpbmVOdW1iZXI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmLmNvbHVtbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9jICs9IFwiOlwiICsgZi5jb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3RyICs9IFwiIChcIiArIGxvYyArIFwiKVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHN0cjtcbiAgICAgICAgfSkuam9pbihcIlxcblwiKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIG4uc3RhY2sgPSBlcnJvci5zdGFjaztcbiAgICB9XG4gICAgZGVjb3JhdGVTZXJ2ZXJFcnJvcihuLCB0eXBlKTtcbiAgICByZXR1cm4gbjtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm9kZVN0YWNrRnJhbWVzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImdldEZpbGVzeXN0ZW1GcmFtZSIsImdldEVycm9yU291cmNlIiwiZGVjb3JhdGVTZXJ2ZXJFcnJvciIsImdldFNlcnZlckVycm9yIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3N0YWNrdHJhY2VwYXJzZXIiLCJyZXF1aXJlIiwiZnJhbWUiLCJmIiwiZmlsZSIsInN0YXJ0c1dpdGgiLCJ0ZXN0Iiwic3ltYm9sRXJyb3IiLCJTeW1ib2wiLCJlcnJvciIsInR5cGUiLCJ3cml0YWJsZSIsImNvbmZpZ3VyYWJsZSIsIm4iLCJFcnJvciIsIm1lc3NhZ2UiLCJlIiwic3RhY2siLCJ0b1N0cmluZyIsInBhcnNlIiwibWFwIiwic3RyIiwibWV0aG9kTmFtZSIsImxvYyIsImxpbmVOdW1iZXIiLCJjb2x1bW4iLCJqb2luIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js": /*!******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js ***! \******************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"noop\", ({\n enumerable: true,\n get: function() {\n return noop;\n }\n}));\nfunction noop(strings) {\n for(var _len = arguments.length, keys = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n keys[_key - 1] = arguments[_key];\n }\n const lastIndex = strings.length - 1;\n return strings.slice(0, lastIndex).reduce((p, s, i)=>p + s + keys[i], \"\") + strings[lastIndex];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=noop-template.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsd0NBQXVDO0lBQ25DSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0EsS0FBS0MsT0FBTztJQUNqQixJQUFJLElBQUlDLE9BQU9DLFVBQVVDLE1BQU0sRUFBRUMsT0FBTyxJQUFJQyxNQUFNSixPQUFPLElBQUlBLE9BQU8sSUFBSSxJQUFJSyxPQUFPLEdBQUdBLE9BQU9MLE1BQU1LLE9BQU87UUFDdEdGLElBQUksQ0FBQ0UsT0FBTyxFQUFFLEdBQUdKLFNBQVMsQ0FBQ0ksS0FBSztJQUNwQztJQUNBLE1BQU1DLFlBQVlQLFFBQVFHLE1BQU0sR0FBRztJQUNuQyxPQUFPSCxRQUFRUSxLQUFLLENBQUMsR0FBR0QsV0FBV0UsTUFBTSxDQUFDLENBQUNDLEdBQUdDLEdBQUdDLElBQUlGLElBQUlDLElBQUlQLElBQUksQ0FBQ1EsRUFBRSxFQUFFLE1BQU1aLE9BQU8sQ0FBQ08sVUFBVTtBQUNsRztBQUVBLElBQUksQ0FBQyxPQUFPWixRQUFRa0IsT0FBTyxLQUFLLGNBQWUsT0FBT2xCLFFBQVFrQixPQUFPLEtBQUssWUFBWWxCLFFBQVFrQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9sQixRQUFRa0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3JCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWtCLE9BQU8sRUFBRSxjQUFjO1FBQUVqQixPQUFPO0lBQUs7SUFDbkVILE9BQU9zQixNQUFNLENBQUNwQixRQUFRa0IsT0FBTyxFQUFFbEI7SUFDL0JxQixPQUFPckIsT0FBTyxHQUFHQSxRQUFRa0IsT0FBTztBQUNsQyxFQUVBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9ub29wLXRlbXBsYXRlLmpzP2U2NWYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJub29wXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBub29wO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gbm9vcChzdHJpbmdzKSB7XG4gICAgZm9yKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwga2V5cyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKXtcbiAgICAgICAga2V5c1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuICAgIGNvbnN0IGxhc3RJbmRleCA9IHN0cmluZ3MubGVuZ3RoIC0gMTtcbiAgICByZXR1cm4gc3RyaW5ncy5zbGljZSgwLCBsYXN0SW5kZXgpLnJlZHVjZSgocCwgcywgaSk9PnAgKyBzICsga2V5c1tpXSwgXCJcIikgKyBzdHJpbmdzW2xhc3RJbmRleF07XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5vb3AtdGVtcGxhdGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIm5vb3AiLCJzdHJpbmdzIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImtleXMiLCJBcnJheSIsIl9rZXkiLCJsYXN0SW5kZXgiLCJzbGljZSIsInJlZHVjZSIsInAiLCJzIiwiaSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js": /*!**************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js ***! \**************************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseComponentStack\", ({\n enumerable: true,\n get: function() {\n return parseComponentStack;\n }\n}));\nvar LocationType;\n(function(LocationType) {\n LocationType[\"FILE\"] = \"file\";\n LocationType[\"WEBPACK_INTERNAL\"] = \"webpack-internal\";\n LocationType[\"HTTP\"] = \"http\";\n LocationType[\"PROTOCOL_RELATIVE\"] = \"protocol-relative\";\n LocationType[\"UNKNOWN\"] = \"unknown\";\n})(LocationType || (LocationType = {}));\n/**\n * Get the type of frame line based on the location\n */ function getLocationType(location) {\n if (location.startsWith(\"file://\")) {\n return \"file\";\n }\n if (location.startsWith(\"webpack-internal://\")) {\n return \"webpack-internal\";\n }\n if (location.startsWith(\"http://\") || location.startsWith(\"https://\")) {\n return \"http\";\n }\n if (location.startsWith(\"//\")) {\n return \"protocol-relative\";\n }\n return \"unknown\";\n}\nfunction parseStackFrameLocation(location) {\n const locationType = getLocationType(location);\n const modulePath = location == null ? void 0 : location.replace(/^(webpack-internal:\\/\\/\\/|file:\\/\\/)(\\(.*\\)\\/)?/, \"\");\n var _modulePath_match;\n const [, file, lineNumber, column] = (_modulePath_match = modulePath == null ? void 0 : modulePath.match(/^(.+):(\\d+):(\\d+)/)) != null ? _modulePath_match : [];\n switch(locationType){\n case \"file\":\n case \"webpack-internal\":\n return {\n canOpenInEditor: true,\n file,\n lineNumber: lineNumber ? Number(lineNumber) : undefined,\n column: column ? Number(column) : undefined\n };\n // When the location is a URL we only show the file\n // TODO: Resolve http(s) URLs through sourcemaps\n case \"http\":\n case \"protocol-relative\":\n case \"unknown\":\n default:\n {\n return {\n canOpenInEditor: false\n };\n }\n }\n}\nfunction parseComponentStack(componentStack) {\n const componentStackFrames = [];\n for (const line of componentStack.trim().split(\"\\n\")){\n // Get component and file from the component stack line\n const match = /at ([^ ]+)( \\((.*)\\))?/.exec(line);\n if (match == null ? void 0 : match[1]) {\n const component = match[1];\n const location = match[3];\n if (!location) {\n componentStackFrames.push({\n canOpenInEditor: false,\n component\n });\n continue;\n }\n // Stop parsing the component stack if we reach a Next.js component\n if (location == null ? void 0 : location.includes(\"next/dist\")) {\n break;\n }\n const frameLocation = parseStackFrameLocation(location);\n componentStackFrames.push({\n component,\n ...frameLocation\n });\n }\n }\n return componentStackFrames;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=parse-component-stack.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcGFyc2UtY29tcG9uZW50LXN0YWNrLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx1REFBc0Q7SUFDbERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixJQUFJQztBQUNILFVBQVNBLFlBQVk7SUFDbEJBLFlBQVksQ0FBQyxPQUFPLEdBQUc7SUFDdkJBLFlBQVksQ0FBQyxtQkFBbUIsR0FBRztJQUNuQ0EsWUFBWSxDQUFDLE9BQU8sR0FBRztJQUN2QkEsWUFBWSxDQUFDLG9CQUFvQixHQUFHO0lBQ3BDQSxZQUFZLENBQUMsVUFBVSxHQUFHO0FBQzlCLEdBQUdBLGdCQUFpQkEsQ0FBQUEsZUFBZSxDQUFDO0FBQ3BDOztDQUVDLEdBQUcsU0FBU0MsZ0JBQWdCQyxRQUFRO0lBQ2pDLElBQUlBLFNBQVNDLFVBQVUsQ0FBQyxZQUFZO1FBQ2hDLE9BQU87SUFDWDtJQUNBLElBQUlELFNBQVNDLFVBQVUsQ0FBQyx3QkFBd0I7UUFDNUMsT0FBTztJQUNYO0lBQ0EsSUFBSUQsU0FBU0MsVUFBVSxDQUFDLGNBQWNELFNBQVNDLFVBQVUsQ0FBQyxhQUFhO1FBQ25FLE9BQU87SUFDWDtJQUNBLElBQUlELFNBQVNDLFVBQVUsQ0FBQyxPQUFPO1FBQzNCLE9BQU87SUFDWDtJQUNBLE9BQU87QUFDWDtBQUNBLFNBQVNDLHdCQUF3QkYsUUFBUTtJQUNyQyxNQUFNRyxlQUFlSixnQkFBZ0JDO0lBQ3JDLE1BQU1JLGFBQWFKLFlBQVksT0FBTyxLQUFLLElBQUlBLFNBQVNLLE9BQU8sQ0FBQyxtREFBbUQ7SUFDbkgsSUFBSUM7SUFDSixNQUFNLEdBQUdDLE1BQU1DLFlBQVlDLE9BQU8sR0FBRyxDQUFDSCxvQkFBb0JGLGNBQWMsT0FBTyxLQUFLLElBQUlBLFdBQVdNLEtBQUssQ0FBQyxvQkFBbUIsS0FBTSxPQUFPSixvQkFBb0IsRUFBRTtJQUMvSixPQUFPSDtRQUNILEtBQUs7UUFDTCxLQUFLO1lBQ0QsT0FBTztnQkFDSFEsaUJBQWlCO2dCQUNqQko7Z0JBQ0FDLFlBQVlBLGFBQWFJLE9BQU9KLGNBQWNLO2dCQUM5Q0osUUFBUUEsU0FBU0csT0FBT0gsVUFBVUk7WUFDdEM7UUFDSixtREFBbUQ7UUFDbkQsZ0RBQWdEO1FBQ2hELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMO1lBQ0k7Z0JBQ0ksT0FBTztvQkFDSEYsaUJBQWlCO2dCQUNyQjtZQUNKO0lBQ1I7QUFDSjtBQUNBLFNBQVNkLG9CQUFvQmlCLGNBQWM7SUFDdkMsTUFBTUMsdUJBQXVCLEVBQUU7SUFDL0IsS0FBSyxNQUFNQyxRQUFRRixlQUFlRyxJQUFJLEdBQUdDLEtBQUssQ0FBQyxNQUFNO1FBQ2pELHVEQUF1RDtRQUN2RCxNQUFNUixRQUFRLHlCQUF5QlMsSUFBSSxDQUFDSDtRQUM1QyxJQUFJTixTQUFTLE9BQU8sS0FBSyxJQUFJQSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ25DLE1BQU1VLFlBQVlWLEtBQUssQ0FBQyxFQUFFO1lBQzFCLE1BQU1WLFdBQVdVLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQ1YsVUFBVTtnQkFDWGUscUJBQXFCTSxJQUFJLENBQUM7b0JBQ3RCVixpQkFBaUI7b0JBQ2pCUztnQkFDSjtnQkFDQTtZQUNKO1lBQ0EsbUVBQW1FO1lBQ25FLElBQUlwQixZQUFZLE9BQU8sS0FBSyxJQUFJQSxTQUFTc0IsUUFBUSxDQUFDLGNBQWM7Z0JBQzVEO1lBQ0o7WUFDQSxNQUFNQyxnQkFBZ0JyQix3QkFBd0JGO1lBQzlDZSxxQkFBcUJNLElBQUksQ0FBQztnQkFDdEJEO2dCQUNBLEdBQUdHLGFBQWE7WUFDcEI7UUFDSjtJQUNKO0lBQ0EsT0FBT1I7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPdEIsUUFBUStCLE9BQU8sS0FBSyxjQUFlLE9BQU8vQixRQUFRK0IsT0FBTyxLQUFLLFlBQVkvQixRQUFRK0IsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPL0IsUUFBUStCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktsQyxPQUFPQyxjQUFjLENBQUNDLFFBQVErQixPQUFPLEVBQUUsY0FBYztRQUFFOUIsT0FBTztJQUFLO0lBQ25FSCxPQUFPbUMsTUFBTSxDQUFDakMsUUFBUStCLE9BQU8sRUFBRS9CO0lBQy9Ca0MsT0FBT2xDLE9BQU8sR0FBR0EsUUFBUStCLE9BQU87QUFDbEMsRUFFQSxpREFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcGFyc2UtY29tcG9uZW50LXN0YWNrLmpzPzBjZjAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXJzZUNvbXBvbmVudFN0YWNrXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwYXJzZUNvbXBvbmVudFN0YWNrO1xuICAgIH1cbn0pO1xudmFyIExvY2F0aW9uVHlwZTtcbihmdW5jdGlvbihMb2NhdGlvblR5cGUpIHtcbiAgICBMb2NhdGlvblR5cGVbXCJGSUxFXCJdID0gXCJmaWxlXCI7XG4gICAgTG9jYXRpb25UeXBlW1wiV0VCUEFDS19JTlRFUk5BTFwiXSA9IFwid2VicGFjay1pbnRlcm5hbFwiO1xuICAgIExvY2F0aW9uVHlwZVtcIkhUVFBcIl0gPSBcImh0dHBcIjtcbiAgICBMb2NhdGlvblR5cGVbXCJQUk9UT0NPTF9SRUxBVElWRVwiXSA9IFwicHJvdG9jb2wtcmVsYXRpdmVcIjtcbiAgICBMb2NhdGlvblR5cGVbXCJVTktOT1dOXCJdID0gXCJ1bmtub3duXCI7XG59KShMb2NhdGlvblR5cGUgfHwgKExvY2F0aW9uVHlwZSA9IHt9KSk7XG4vKipcbiAqIEdldCB0aGUgdHlwZSBvZiBmcmFtZSBsaW5lIGJhc2VkIG9uIHRoZSBsb2NhdGlvblxuICovIGZ1bmN0aW9uIGdldExvY2F0aW9uVHlwZShsb2NhdGlvbikge1xuICAgIGlmIChsb2NhdGlvbi5zdGFydHNXaXRoKFwiZmlsZTovL1wiKSkge1xuICAgICAgICByZXR1cm4gXCJmaWxlXCI7XG4gICAgfVxuICAgIGlmIChsb2NhdGlvbi5zdGFydHNXaXRoKFwid2VicGFjay1pbnRlcm5hbDovL1wiKSkge1xuICAgICAgICByZXR1cm4gXCJ3ZWJwYWNrLWludGVybmFsXCI7XG4gICAgfVxuICAgIGlmIChsb2NhdGlvbi5zdGFydHNXaXRoKFwiaHR0cDovL1wiKSB8fCBsb2NhdGlvbi5zdGFydHNXaXRoKFwiaHR0cHM6Ly9cIikpIHtcbiAgICAgICAgcmV0dXJuIFwiaHR0cFwiO1xuICAgIH1cbiAgICBpZiAobG9jYXRpb24uc3RhcnRzV2l0aChcIi8vXCIpKSB7XG4gICAgICAgIHJldHVybiBcInByb3RvY29sLXJlbGF0aXZlXCI7XG4gICAgfVxuICAgIHJldHVybiBcInVua25vd25cIjtcbn1cbmZ1bmN0aW9uIHBhcnNlU3RhY2tGcmFtZUxvY2F0aW9uKGxvY2F0aW9uKSB7XG4gICAgY29uc3QgbG9jYXRpb25UeXBlID0gZ2V0TG9jYXRpb25UeXBlKGxvY2F0aW9uKTtcbiAgICBjb25zdCBtb2R1bGVQYXRoID0gbG9jYXRpb24gPT0gbnVsbCA/IHZvaWQgMCA6IGxvY2F0aW9uLnJlcGxhY2UoL14od2VicGFjay1pbnRlcm5hbDpcXC9cXC9cXC98ZmlsZTpcXC9cXC8pKFxcKC4qXFwpXFwvKT8vLCBcIlwiKTtcbiAgICB2YXIgX21vZHVsZVBhdGhfbWF0Y2g7XG4gICAgY29uc3QgWywgZmlsZSwgbGluZU51bWJlciwgY29sdW1uXSA9IChfbW9kdWxlUGF0aF9tYXRjaCA9IG1vZHVsZVBhdGggPT0gbnVsbCA/IHZvaWQgMCA6IG1vZHVsZVBhdGgubWF0Y2goL14oLispOihcXGQrKTooXFxkKykvKSkgIT0gbnVsbCA/IF9tb2R1bGVQYXRoX21hdGNoIDogW107XG4gICAgc3dpdGNoKGxvY2F0aW9uVHlwZSl7XG4gICAgICAgIGNhc2UgXCJmaWxlXCI6XG4gICAgICAgIGNhc2UgXCJ3ZWJwYWNrLWludGVybmFsXCI6XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGNhbk9wZW5JbkVkaXRvcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgICAgIGxpbmVOdW1iZXI6IGxpbmVOdW1iZXIgPyBOdW1iZXIobGluZU51bWJlcikgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY29sdW1uOiBjb2x1bW4gPyBOdW1iZXIoY29sdW1uKSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfTtcbiAgICAgICAgLy8gV2hlbiB0aGUgbG9jYXRpb24gaXMgYSBVUkwgd2Ugb25seSBzaG93IHRoZSBmaWxlXG4gICAgICAgIC8vIFRPRE86IFJlc29sdmUgaHR0cChzKSBVUkxzIHRocm91Z2ggc291cmNlbWFwc1xuICAgICAgICBjYXNlIFwiaHR0cFwiOlxuICAgICAgICBjYXNlIFwicHJvdG9jb2wtcmVsYXRpdmVcIjpcbiAgICAgICAgY2FzZSBcInVua25vd25cIjpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBjYW5PcGVuSW5FZGl0b3I6IGZhbHNlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBwYXJzZUNvbXBvbmVudFN0YWNrKGNvbXBvbmVudFN0YWNrKSB7XG4gICAgY29uc3QgY29tcG9uZW50U3RhY2tGcmFtZXMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGxpbmUgb2YgY29tcG9uZW50U3RhY2sudHJpbSgpLnNwbGl0KFwiXFxuXCIpKXtcbiAgICAgICAgLy8gR2V0IGNvbXBvbmVudCBhbmQgZmlsZSBmcm9tIHRoZSBjb21wb25lbnQgc3RhY2sgbGluZVxuICAgICAgICBjb25zdCBtYXRjaCA9IC9hdCAoW14gXSspKCBcXCgoLiopXFwpKT8vLmV4ZWMobGluZSk7XG4gICAgICAgIGlmIChtYXRjaCA9PSBudWxsID8gdm9pZCAwIDogbWF0Y2hbMV0pIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IG1hdGNoWzFdO1xuICAgICAgICAgICAgY29uc3QgbG9jYXRpb24gPSBtYXRjaFszXTtcbiAgICAgICAgICAgIGlmICghbG9jYXRpb24pIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRTdGFja0ZyYW1lcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgY2FuT3BlbkluRWRpdG9yOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBTdG9wIHBhcnNpbmcgdGhlIGNvbXBvbmVudCBzdGFjayBpZiB3ZSByZWFjaCBhIE5leHQuanMgY29tcG9uZW50XG4gICAgICAgICAgICBpZiAobG9jYXRpb24gPT0gbnVsbCA/IHZvaWQgMCA6IGxvY2F0aW9uLmluY2x1ZGVzKFwibmV4dC9kaXN0XCIpKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBmcmFtZUxvY2F0aW9uID0gcGFyc2VTdGFja0ZyYW1lTG9jYXRpb24obG9jYXRpb24pO1xuICAgICAgICAgICAgY29tcG9uZW50U3RhY2tGcmFtZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50LFxuICAgICAgICAgICAgICAgIC4uLmZyYW1lTG9jYXRpb25cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb21wb25lbnRTdGFja0ZyYW1lcztcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGFyc2UtY29tcG9uZW50LXN0YWNrLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJwYXJzZUNvbXBvbmVudFN0YWNrIiwiTG9jYXRpb25UeXBlIiwiZ2V0TG9jYXRpb25UeXBlIiwibG9jYXRpb24iLCJzdGFydHNXaXRoIiwicGFyc2VTdGFja0ZyYW1lTG9jYXRpb24iLCJsb2NhdGlvblR5cGUiLCJtb2R1bGVQYXRoIiwicmVwbGFjZSIsIl9tb2R1bGVQYXRoX21hdGNoIiwiZmlsZSIsImxpbmVOdW1iZXIiLCJjb2x1bW4iLCJtYXRjaCIsImNhbk9wZW5JbkVkaXRvciIsIk51bWJlciIsInVuZGVmaW5lZCIsImNvbXBvbmVudFN0YWNrIiwiY29tcG9uZW50U3RhY2tGcmFtZXMiLCJsaW5lIiwidHJpbSIsInNwbGl0IiwiZXhlYyIsImNvbXBvbmVudCIsInB1c2giLCJpbmNsdWRlcyIsImZyYW1lTG9jYXRpb24iLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js": /*!***************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js ***! \***************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseStack\", ({\n enumerable: true,\n get: function() {\n return parseStack;\n }\n}));\nconst _stacktraceparser = __webpack_require__(/*! next/dist/compiled/stacktrace-parser */ \"(ssr)/./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\");\nconst regexNextStatic = /\\/_next(\\/static\\/.+)/;\nfunction parseStack(stack) {\n const frames = (0, _stacktraceparser.parse)(stack);\n return frames.map((frame)=>{\n try {\n const url = new URL(frame.file);\n const res = regexNextStatic.exec(url.pathname);\n if (res) {\n var _process_env___NEXT_DIST_DIR_replace, _process_env___NEXT_DIST_DIR;\n const distDir = (_process_env___NEXT_DIST_DIR = process.env.__NEXT_DIST_DIR) == null ? void 0 : (_process_env___NEXT_DIST_DIR_replace = _process_env___NEXT_DIST_DIR.replace(/\\\\/g, \"/\")) == null ? void 0 : _process_env___NEXT_DIST_DIR_replace.replace(/\\/$/, \"\");\n if (distDir) {\n frame.file = \"file://\" + distDir.concat(res.pop());\n }\n }\n } catch (e) {}\n return frame;\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=parseStack.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcGFyc2VTdGFjay5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsOENBQTZDO0lBQ3pDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsb0JBQW9CQyxtQkFBT0EsQ0FBQyxpSUFBc0M7QUFDeEUsTUFBTUMsa0JBQWtCO0FBQ3hCLFNBQVNILFdBQVdJLEtBQUs7SUFDckIsTUFBTUMsU0FBUyxDQUFDLEdBQUdKLGtCQUFrQkssS0FBSyxFQUFFRjtJQUM1QyxPQUFPQyxPQUFPRSxHQUFHLENBQUMsQ0FBQ0M7UUFDZixJQUFJO1lBQ0EsTUFBTUMsTUFBTSxJQUFJQyxJQUFJRixNQUFNRyxJQUFJO1lBQzlCLE1BQU1DLE1BQU1ULGdCQUFnQlUsSUFBSSxDQUFDSixJQUFJSyxRQUFRO1lBQzdDLElBQUlGLEtBQUs7Z0JBQ0wsSUFBSUcsc0NBQXNDQztnQkFDMUMsTUFBTUMsVUFBVSxDQUFDRCwrQkFBK0JFLFFBQVFDLEdBQUcsQ0FBQ0MsZUFBZSxLQUFLLE9BQU8sS0FBSyxJQUFJLENBQUNMLHVDQUF1Q0MsNkJBQTZCSyxPQUFPLENBQUMsT0FBTyxJQUFHLEtBQU0sT0FBTyxLQUFLLElBQUlOLHFDQUFxQ00sT0FBTyxDQUFDLE9BQU87Z0JBQ2pRLElBQUlKLFNBQVM7b0JBQ1RULE1BQU1HLElBQUksR0FBRyxZQUFZTSxRQUFRSyxNQUFNLENBQUNWLElBQUlXLEdBQUc7Z0JBQ25EO1lBQ0o7UUFDSixFQUFFLE9BQU9DLEdBQUcsQ0FBQztRQUNiLE9BQU9oQjtJQUNYO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT1osUUFBUTZCLE9BQU8sS0FBSyxjQUFlLE9BQU83QixRQUFRNkIsT0FBTyxLQUFLLFlBQVk3QixRQUFRNkIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPN0IsUUFBUTZCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktoQyxPQUFPQyxjQUFjLENBQUNDLFFBQVE2QixPQUFPLEVBQUUsY0FBYztRQUFFNUIsT0FBTztJQUFLO0lBQ25FSCxPQUFPaUMsTUFBTSxDQUFDL0IsUUFBUTZCLE9BQU8sRUFBRTdCO0lBQy9CZ0MsT0FBT2hDLE9BQU8sR0FBR0EsUUFBUTZCLE9BQU87QUFDbEMsRUFFQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcGFyc2VTdGFjay5qcz8zNTQyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VTdGFja1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcGFyc2VTdGFjaztcbiAgICB9XG59KTtcbmNvbnN0IF9zdGFja3RyYWNlcGFyc2VyID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9zdGFja3RyYWNlLXBhcnNlclwiKTtcbmNvbnN0IHJlZ2V4TmV4dFN0YXRpYyA9IC9cXC9fbmV4dChcXC9zdGF0aWNcXC8uKykvO1xuZnVuY3Rpb24gcGFyc2VTdGFjayhzdGFjaykge1xuICAgIGNvbnN0IGZyYW1lcyA9ICgwLCBfc3RhY2t0cmFjZXBhcnNlci5wYXJzZSkoc3RhY2spO1xuICAgIHJldHVybiBmcmFtZXMubWFwKChmcmFtZSk9PntcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoZnJhbWUuZmlsZSk7XG4gICAgICAgICAgICBjb25zdCByZXMgPSByZWdleE5leHRTdGF0aWMuZXhlYyh1cmwucGF0aG5hbWUpO1xuICAgICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgICAgIHZhciBfcHJvY2Vzc19lbnZfX19ORVhUX0RJU1RfRElSX3JlcGxhY2UsIF9wcm9jZXNzX2Vudl9fX05FWFRfRElTVF9ESVI7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlzdERpciA9IChfcHJvY2Vzc19lbnZfX19ORVhUX0RJU1RfRElSID0gcHJvY2Vzcy5lbnYuX19ORVhUX0RJU1RfRElSKSA9PSBudWxsID8gdm9pZCAwIDogKF9wcm9jZXNzX2Vudl9fX05FWFRfRElTVF9ESVJfcmVwbGFjZSA9IF9wcm9jZXNzX2Vudl9fX05FWFRfRElTVF9ESVIucmVwbGFjZSgvXFxcXC9nLCBcIi9cIikpID09IG51bGwgPyB2b2lkIDAgOiBfcHJvY2Vzc19lbnZfX19ORVhUX0RJU1RfRElSX3JlcGxhY2UucmVwbGFjZSgvXFwvJC8sIFwiXCIpO1xuICAgICAgICAgICAgICAgIGlmIChkaXN0RGlyKSB7XG4gICAgICAgICAgICAgICAgICAgIGZyYW1lLmZpbGUgPSBcImZpbGU6Ly9cIiArIGRpc3REaXIuY29uY2F0KHJlcy5wb3AoKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7fVxuICAgICAgICByZXR1cm4gZnJhbWU7XG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlU3RhY2suanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInBhcnNlU3RhY2siLCJfc3RhY2t0cmFjZXBhcnNlciIsInJlcXVpcmUiLCJyZWdleE5leHRTdGF0aWMiLCJzdGFjayIsImZyYW1lcyIsInBhcnNlIiwibWFwIiwiZnJhbWUiLCJ1cmwiLCJVUkwiLCJmaWxlIiwicmVzIiwiZXhlYyIsInBhdGhuYW1lIiwiX3Byb2Nlc3NfZW52X19fTkVYVF9ESVNUX0RJUl9yZXBsYWNlIiwiX3Byb2Nlc3NfZW52X19fTkVYVF9ESVNUX0RJUiIsImRpc3REaXIiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0RJU1RfRElSIiwicmVwbGFjZSIsImNvbmNhdCIsInBvcCIsImUiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js": /*!****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js ***! \****************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getOriginalStackFrame: function() {\n return getOriginalStackFrame;\n },\n getOriginalStackFrames: function() {\n return getOriginalStackFrames;\n },\n getFrameSource: function() {\n return getFrameSource;\n }\n});\nfunction getOriginalStackFrame(source, type, errorMessage) {\n var _source_file, _source_file1;\n async function _getOriginalStackFrame() {\n var /* collapsed */ _source_file, _body_originalStackFrame_file, _body_originalStackFrame;\n const params = new URLSearchParams();\n params.append(\"isServer\", String(type === \"server\"));\n params.append(\"isEdgeServer\", String(type === \"edge-server\"));\n params.append(\"isAppDirectory\", \"true\");\n params.append(\"errorMessage\", errorMessage);\n for(const key in source){\n var _source_key;\n params.append(key, ((_source_key = source[key]) != null ? _source_key : \"\").toString());\n }\n const controller = new AbortController();\n const tm = setTimeout(()=>controller.abort(), 3000);\n const res = await self.fetch(( false || \"\") + \"/__nextjs_original-stack-frame?\" + params.toString(), {\n signal: controller.signal\n }).finally(()=>{\n clearTimeout(tm);\n });\n if (!res.ok || res.status === 204) {\n return Promise.reject(new Error(await res.text()));\n }\n const body = await res.json();\n var _ref;\n return {\n error: false,\n reason: null,\n external: false,\n expanded: !Boolean((_ref = ((_source_file = source.file) == null ? void 0 : _source_file.includes(\"node_modules\")) || ((_body_originalStackFrame = body.originalStackFrame) == null ? void 0 : (_body_originalStackFrame_file = _body_originalStackFrame.file) == null ? void 0 : _body_originalStackFrame_file.includes(\"node_modules\"))) != null ? _ref : true),\n sourceStackFrame: source,\n originalStackFrame: body.originalStackFrame,\n originalCodeFrame: body.originalCodeFrame || null,\n sourcePackage: body.sourcePackage\n };\n }\n if (source.file === \"<anonymous>\" || ((_source_file = source.file) == null ? void 0 : _source_file.match(/^node:/)) || ((_source_file1 = source.file) == null ? void 0 : _source_file1.match(/https?:\\/\\//))) {\n return Promise.resolve({\n error: false,\n reason: null,\n external: true,\n expanded: false,\n sourceStackFrame: source,\n originalStackFrame: null,\n originalCodeFrame: null\n });\n }\n var _err_message, _ref;\n return _getOriginalStackFrame().catch((err)=>({\n error: true,\n reason: (_ref = (_err_message = err == null ? void 0 : err.message) != null ? _err_message : err == null ? void 0 : err.toString()) != null ? _ref : \"Unknown Error\",\n external: false,\n expanded: false,\n sourceStackFrame: source,\n originalStackFrame: null,\n originalCodeFrame: null\n }));\n}\nfunction getOriginalStackFrames(frames, type, errorMessage) {\n return Promise.all(frames.map((frame)=>getOriginalStackFrame(frame, type, errorMessage)));\n}\nfunction formatFrameSourceFile(file) {\n return file.replace(/^webpack-internal:(\\/)+(\\.)?/, \"\").replace(/^webpack:(\\/)+(\\.)?/, \"\");\n}\nfunction getFrameSource(frame) {\n let str = \"\";\n try {\n var _globalThis_location;\n const u = new URL(frame.file);\n // Strip the origin for same-origin scripts.\n if (typeof globalThis !== \"undefined\" && ((_globalThis_location = globalThis.location) == null ? void 0 : _globalThis_location.origin) !== u.origin) {\n // URLs can be valid without an `origin`, so long as they have a\n // `protocol`. However, `origin` is preferred.\n if (u.origin === \"null\") {\n str += u.protocol;\n } else {\n str += u.origin;\n }\n }\n // Strip query string information as it's typically too verbose to be\n // meaningful.\n str += u.pathname;\n str += \" \";\n str = formatFrameSourceFile(str);\n } catch (e) {\n str += formatFrameSourceFile(frame.file || \"(unknown)\") + \" \";\n }\n if (frame.lineNumber != null) {\n if (frame.column != null) {\n str += \"(\" + frame.lineNumber + \":\" + frame.column + \") \";\n } else {\n str += \"(\" + frame.lineNumber + \") \";\n }\n }\n return str.slice(0, -1);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=stack-frame.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvc3RhY2stZnJhbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FJTjtBQUNBLFNBQVNJLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlWLE9BQU9DLGNBQWMsQ0FBQ1EsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTixTQUFTO0lBQ2JHLHVCQUF1QjtRQUNuQixPQUFPQTtJQUNYO0lBQ0FDLHdCQUF3QjtRQUNwQixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLFNBQVNGLHNCQUFzQlMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFlBQVk7SUFDckQsSUFBSUMsY0FBY0M7SUFDbEIsZUFBZUM7UUFDWCxJQUFJLGFBQWEsR0FBR0YsY0FBY0csK0JBQStCQztRQUNqRSxNQUFNQyxTQUFTLElBQUlDO1FBQ25CRCxPQUFPRSxNQUFNLENBQUMsWUFBWUMsT0FBT1YsU0FBUztRQUMxQ08sT0FBT0UsTUFBTSxDQUFDLGdCQUFnQkMsT0FBT1YsU0FBUztRQUM5Q08sT0FBT0UsTUFBTSxDQUFDLGtCQUFrQjtRQUNoQ0YsT0FBT0UsTUFBTSxDQUFDLGdCQUFnQlI7UUFDOUIsSUFBSSxNQUFNVSxPQUFPWixPQUFPO1lBQ3BCLElBQUlhO1lBQ0pMLE9BQU9FLE1BQU0sQ0FBQ0UsS0FBSyxDQUFDLENBQUNDLGNBQWNiLE1BQU0sQ0FBQ1ksSUFBSSxLQUFLLE9BQU9DLGNBQWMsRUFBQyxFQUFHQyxRQUFRO1FBQ3hGO1FBQ0EsTUFBTUMsYUFBYSxJQUFJQztRQUN2QixNQUFN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TSxNQUFNSixFQUFFSSxNQUFNLEVBQUU7WUFDakosZ0VBQWdFO1lBQ2hFLDhDQUE4QztZQUM5QyxJQUFJSixFQUFFSSxNQUFNLEtBQUssUUFBUTtnQkFDckJOLE9BQU9FLEVBQUVLLFFBQVE7WUFDckIsT0FBTztnQkFDSFAsT0FBT0UsRUFBRUksTUFBTTtZQUNuQjtRQUNKO1FBQ0EscUVBQXFFO1FBQ3JFLGNBQWM7UUFDZE4sT0FBT0UsRUFBRU0sUUFBUTtRQUNqQlIsT0FBTztRQUNQQSxNQUFNRixzQkFBc0JFO0lBQ2hDLEVBQUUsT0FBT1MsR0FBRztRQUNSVCxPQUFPRixzQkFBc0JELE1BQU1kLElBQUksSUFBSSxlQUFlO0lBQzlEO0lBQ0EsSUFBSWMsTUFBTWEsVUFBVSxJQUFJLE1BQU07UUFDMUIsSUFBSWIsTUFBTWMsTUFBTSxJQUFJLE1BQU07WUFDdEJYLE9BQU8sTUFBTUgsTUFBTWEsVUFBVSxHQUFHLE1BQU1iLE1BQU1jLE1BQU0sR0FBRztRQUN6RCxPQUFPO1lBQ0hYLE9BQU8sTUFBTUgsTUFBTWEsVUFBVSxHQUFHO1FBQ3BDO0lBQ0o7SUFDQSxPQUFPVixJQUFJWSxLQUFLLENBQUMsR0FBRyxDQUFDO0FBQ3pCO0FBRUEsSUFBSSxDQUFDLE9BQU9wRixRQUFRcUYsT0FBTyxLQUFLLGNBQWUsT0FBT3JGLFFBQVFxRixPQUFPLEtBQUssWUFBWXJGLFFBQVFxRixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9yRixRQUFRcUYsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3hGLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUXFGLE9BQU8sRUFBRSxjQUFjO1FBQUVwRixPQUFPO0lBQUs7SUFDbkVILE9BQU95RixNQUFNLENBQUN2RixRQUFRcUYsT0FBTyxFQUFFckY7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUXFGLE9BQU87QUFDbEMsRUFFQSx1Q0FBdUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvc3RhY2stZnJhbWUuanM/MzlhNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGdldE9yaWdpbmFsU3RhY2tGcmFtZTogbnVsbCxcbiAgICBnZXRPcmlnaW5hbFN0YWNrRnJhbWVzOiBudWxsLFxuICAgIGdldEZyYW1lU291cmNlOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGdldE9yaWdpbmFsU3RhY2tGcmFtZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRPcmlnaW5hbFN0YWNrRnJhbWU7XG4gICAgfSxcbiAgICBnZXRPcmlnaW5hbFN0YWNrRnJhbWVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldE9yaWdpbmFsU3RhY2tGcmFtZXM7XG4gICAgfSxcbiAgICBnZXRGcmFtZVNvdXJjZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRGcmFtZVNvdXJjZTtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGdldE9yaWdpbmFsU3RhY2tGcmFtZShzb3VyY2UsIHR5cGUsIGVycm9yTWVzc2FnZSkge1xuICAgIHZhciBfc291cmNlX2ZpbGUsIF9zb3VyY2VfZmlsZTE7XG4gICAgYXN5bmMgZnVuY3Rpb24gX2dldE9yaWdpbmFsU3RhY2tGcmFtZSgpIHtcbiAgICAgICAgdmFyIC8qIGNvbGxhcHNlZCAqLyBfc291cmNlX2ZpbGUsIF9ib2R5X29yaWdpbmFsU3RhY2tGcmFtZV9maWxlLCBfYm9keV9vcmlnaW5hbFN0YWNrRnJhbWU7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICAgICAgcGFyYW1zLmFwcGVuZChcImlzU2VydmVyXCIsIFN0cmluZyh0eXBlID09PSBcInNlcnZlclwiKSk7XG4gICAgICAgIHBhcmFtcy5hcHBlbmQoXCJpc0VkZ2VTZXJ2ZXJcIiwgU3RyaW5nKHR5cGUgPT09IFwiZWRnZS1zZXJ2ZXJcIikpO1xuICAgICAgICBwYXJhbXMuYXBwZW5kKFwiaXNBcHBEaXJlY3RvcnlcIiwgXCJ0cnVlXCIpO1xuICAgICAgICBwYXJhbXMuYXBwZW5kKFwiZXJyb3JNZXNzYWdlXCIsIGVycm9yTWVzc2FnZSk7XG4gICAgICAgIGZvcihjb25zdCBrZXkgaW4gc291cmNlKXtcbiAgICAgICAgICAgIHZhciBfc291cmNlX2tleTtcbiAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQoa2V5LCAoKF9zb3VyY2Vfa2V5ID0gc291cmNlW2tleV0pICE9IG51bGwgPyBfc291cmNlX2tleSA6IFwiXCIpLnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICAgIGNvbnN0IHRtID0gc2V0VGltZW91dCgoKT0+Y29udHJvbGxlci5hYm9ydCgpLCAzMDAwKTtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgc2VsZi5mZXRjaCgocHJvY2Vzcy5lbnYuX19ORVhUX1JPVVRFUl9CQVNFUEFUSCB8fCBcIlwiKSArIFwiL19fbmV4dGpzX29yaWdpbmFsLXN0YWNrLWZyYW1lP1wiICsgcGFyYW1zLnRvU3RyaW5nKCksIHtcbiAgICAgICAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWxcbiAgICAgICAgfSkuZmluYWxseSgoKT0+e1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRtKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghcmVzLm9rIHx8IHJlcy5zdGF0dXMgPT09IDIwNCkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihhd2FpdCByZXMudGV4dCgpKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYm9keSA9IGF3YWl0IHJlcy5qc29uKCk7XG4gICAgICAgIHZhciBfcmVmO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZXJyb3I6IGZhbHNlLFxuICAgICAgICAgICAgcmVhc29uOiBudWxsLFxuICAgICAgICAgICAgZXh0ZXJuYWw6IGZhbHNlLFxuICAgICAgICAgICAgZXhwYW5kZWQ6ICFCb29sZWFuKChfcmVmID0gKChfc291cmNlX2ZpbGUgPSBzb3VyY2UuZmlsZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9zb3VyY2VfZmlsZS5pbmNsdWRlcyhcIm5vZGVfbW9kdWxlc1wiKSkgfHwgKChfYm9keV9vcmlnaW5hbFN0YWNrRnJhbWUgPSBib2R5Lm9yaWdpbmFsU3RhY2tGcmFtZSkgPT0gbnVsbCA/IHZvaWQgMCA6IChfYm9keV9vcmlnaW5hbFN0YWNrRnJhbWVfZmlsZSA9IF9ib2R5X29yaWdpbmFsU3RhY2tGcmFtZS5maWxlKSA9PSBudWxsID8gdm9pZCAwIDogX2JvZHlfb3JpZ2luYWxTdGFja0ZyYW1lX2ZpbGUuaW5jbHVkZXMoXCJub2RlX21vZHVsZXNcIikpKSAhPSBudWxsID8gX3JlZiA6IHRydWUpLFxuICAgICAgICAgICAgc291cmNlU3RhY2tGcmFtZTogc291cmNlLFxuICAgICAgICAgICAgb3JpZ2luYWxTdGFja0ZyYW1lOiBib2R5Lm9yaWdpbmFsU3RhY2tGcmFtZSxcbiAgICAgICAgICAgIG9yaWdpbmFsQ29kZUZyYW1lOiBib2R5Lm9yaWdpbmFsQ29kZUZyYW1lIHx8IG51bGwsXG4gICAgICAgICAgICBzb3VyY2VQYWNrYWdlOiBib2R5LnNvdXJjZVBhY2thZ2VcbiAgICAgICAgfTtcbiAgICB9XG4gICAgaWYgKHNvdXJjZS5maWxlID09PSBcIjxhbm9ueW1vdXM+XCIgfHwgKChfc291cmNlX2ZpbGUgPSBzb3VyY2UuZmlsZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9zb3VyY2VfZmlsZS5tYXRjaCgvXm5vZGU6LykpIHx8ICgoX3NvdXJjZV9maWxlMSA9IHNvdXJjZS5maWxlKSA9PSBudWxsID8gdm9pZCAwIDogX3NvdXJjZV9maWxlMS5tYXRjaCgvaHR0cHM/OlxcL1xcLy8pKSkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtcbiAgICAgICAgICAgIGVycm9yOiBmYWxzZSxcbiAgICAgICAgICAgIHJlYXNvbjogbnVsbCxcbiAgICAgICAgICAgIGV4dGVybmFsOiB0cnVlLFxuICAgICAgICAgICAgZXhwYW5kZWQ6IGZhbHNlLFxuICAgICAgICAgICAgc291cmNlU3RhY2tGcmFtZTogc291cmNlLFxuICAgICAgICAgICAgb3JpZ2luYWxTdGFja0ZyYW1lOiBudWxsLFxuICAgICAgICAgICAgb3JpZ2luYWxDb2RlRnJhbWU6IG51bGxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHZhciBfZXJyX21lc3NhZ2UsIF9yZWY7XG4gICAgcmV0dXJuIF9nZXRPcmlnaW5hbFN0YWNrRnJhbWUoKS5jYXRjaCgoZXJyKT0+KHtcbiAgICAgICAgICAgIGVycm9yOiB0cnVlLFxuICAgICAgICAgICAgcmVhc29uOiAoX3JlZiA9IChfZXJyX21lc3NhZ2UgPSBlcnIgPT0gbnVsbCA/IHZvaWQgMCA6IGVyci5tZXNzYWdlKSAhPSBudWxsID8gX2Vycl9tZXNzYWdlIDogZXJyID09IG51bGwgPyB2b2lkIDAgOiBlcnIudG9TdHJpbmcoKSkgIT0gbnVsbCA/IF9yZWYgOiBcIlVua25vd24gRXJyb3JcIixcbiAgICAgICAgICAgIGV4dGVybmFsOiBmYWxzZSxcbiAgICAgICAgICAgIGV4cGFuZGVkOiBmYWxzZSxcbiAgICAgICAgICAgIHNvdXJjZVN0YWNrRnJhbWU6IHNvdXJjZSxcbiAgICAgICAgICAgIG9yaWdpbmFsU3RhY2tGcmFtZTogbnVsbCxcbiAgICAgICAgICAgIG9yaWdpbmFsQ29kZUZyYW1lOiBudWxsXG4gICAgICAgIH0pKTtcbn1cbmZ1bmN0aW9uIGdldE9yaWdpbmFsU3RhY2tGcmFtZXMoZnJhbWVzLCB0eXBlLCBlcnJvck1lc3NhZ2UpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoZnJhbWVzLm1hcCgoZnJhbWUpPT5nZXRPcmlnaW5hbFN0YWNrRnJhbWUoZnJhbWUsIHR5cGUsIGVycm9yTWVzc2FnZSkpKTtcbn1cbmZ1bmN0aW9uIGZvcm1hdEZyYW1lU291cmNlRmlsZShmaWxlKSB7XG4gICAgcmV0dXJuIGZpbGUucmVwbGFjZSgvXndlYnBhY2staW50ZXJuYWw6KFxcLykrKFxcLik/LywgXCJcIikucmVwbGFjZSgvXndlYnBhY2s6KFxcLykrKFxcLik/LywgXCJcIik7XG59XG5mdW5jdGlvbiBnZXRGcmFtZVNvdXJjZShmcmFtZSkge1xuICAgIGxldCBzdHIgPSBcIlwiO1xuICAgIHRyeSB7XG4gICAgICAgIHZhciBfZ2xvYmFsVGhpc19sb2NhdGlvbjtcbiAgICAgICAgY29uc3QgdSA9IG5ldyBVUkwoZnJhbWUuZmlsZSk7XG4gICAgICAgIC8vIFN0cmlwIHRoZSBvcmlnaW4gZm9yIHNhbWUtb3JpZ2luIHNjcmlwdHMuXG4gICAgICAgIGlmICh0eXBlb2YgZ2xvYmFsVGhpcyAhPT0gXCJ1bmRlZmluZWRcIiAmJiAoKF9nbG9iYWxUaGlzX2xvY2F0aW9uID0gZ2xvYmFsVGhpcy5sb2NhdGlvbikgPT0gbnVsbCA/IHZvaWQgMCA6IF9nbG9iYWxUaGlzX2xvY2F0aW9uLm9yaWdpbikgIT09IHUub3JpZ2luKSB7XG4gICAgICAgICAgICAvLyBVUkxzIGNhbiBiZSB2YWxpZCB3aXRob3V0IGFuIGBvcmlnaW5gLCBzbyBsb25nIGFzIHRoZXkgaGF2ZSBhXG4gICAgICAgICAgICAvLyBgcHJvdG9jb2xgLiBIb3dldmVyLCBgb3JpZ2luYCBpcyBwcmVmZXJyZWQuXG4gICAgICAgICAgICBpZiAodS5vcmlnaW4gPT09IFwibnVsbFwiKSB7XG4gICAgICAgICAgICAgICAgc3RyICs9IHUucHJvdG9jb2w7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHN0ciArPSB1Lm9yaWdpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBTdHJpcCBxdWVyeSBzdHJpbmcgaW5mb3JtYXRpb24gYXMgaXQncyB0eXBpY2FsbHkgdG9vIHZlcmJvc2UgdG8gYmVcbiAgICAgICAgLy8gbWVhbmluZ2Z1bC5cbiAgICAgICAgc3RyICs9IHUucGF0aG5hbWU7XG4gICAgICAgIHN0ciArPSBcIiBcIjtcbiAgICAgICAgc3RyID0gZm9ybWF0RnJhbWVTb3VyY2VGaWxlKHN0cik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBzdHIgKz0gZm9ybWF0RnJhbWVTb3VyY2VGaWxlKGZyYW1lLmZpbGUgfHwgXCIodW5rbm93bilcIikgKyBcIiBcIjtcbiAgICB9XG4gICAgaWYgKGZyYW1lLmxpbmVOdW1iZXIgIT0gbnVsbCkge1xuICAgICAgICBpZiAoZnJhbWUuY29sdW1uICE9IG51bGwpIHtcbiAgICAgICAgICAgIHN0ciArPSBcIihcIiArIGZyYW1lLmxpbmVOdW1iZXIgKyBcIjpcIiArIGZyYW1lLmNvbHVtbiArIFwiKSBcIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0ciArPSBcIihcIiArIGZyYW1lLmxpbmVOdW1iZXIgKyBcIikgXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHN0ci5zbGljZSgwLCAtMSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0YWNrLWZyYW1lLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImdldE9yaWdpbmFsU3RhY2tGcmFtZSIsImdldE9yaWdpbmFsU3RhY2tGcmFtZXMiLCJnZXRGcmFtZVNvdXJjZSIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsInNvdXJjZSIsInR5cGUiLCJlcnJvck1lc3NhZ2UiLCJfc291cmNlX2ZpbGUiLCJfc291cmNlX2ZpbGUxIiwiX2dldE9yaWdpbmFsU3RhY2tGcmFtZSIsIl9ib2R5X29yaWdpbmFsU3RhY2tGcmFtZV9maWxlIiwiX2JvZHlfb3JpZ2luYWxTdGFja0ZyYW1lIiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwiYXBwZW5kIiwiU3RyaW5nIiwia2V5IiwiX3NvdXJjZV9rZXkiLCJ0b1N0cmluZyIsImNvbnRyb2xsZXIiLCJBYm9ydENvbnRyb2xsZXIiLCJ0bSIsInNldFRpbWVvdXQiLCJhYm9ydCIsInJlcyIsInNlbGYiLCJmZXRjaCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwic2lnbmFsIiwiZmluYWxseSIsImNsZWFyVGltZW91dCIsIm9rIiwic3RhdHVzIiwiUHJvbWlzZSIsInJlamVjdCIsIkVycm9yIiwidGV4dCIsImJvZHkiLCJqc29uIiwiX3JlZiIsImVycm9yIiwicmVhc29uIiwiZXh0ZXJuYWwiLCJleHBhbmRlZCIsIkJvb2xlYW4iLCJmaWxlIiwiaW5jbHVkZXMiLCJvcmlnaW5hbFN0YWNrRnJhbWUiLCJzb3VyY2VTdGFja0ZyYW1lIiwib3JpZ2luYWxDb2RlRnJhbWUiLCJzb3VyY2VQYWNrYWdlIiwibWF0Y2giLCJyZXNvbHZlIiwiX2Vycl9tZXNzYWdlIiwiY2F0Y2giLCJlcnIiLCJtZXNzYWdlIiwiZnJhbWVzIiwibWFwIiwiZnJhbWUiLCJmb3JtYXRGcmFtZVNvdXJjZUZpbGUiLCJyZXBsYWNlIiwic3RyIiwiX2dsb2JhbFRoaXNfbG9jYXRpb24iLCJ1IiwiVVJMIiwiZ2xvYmFsVGhpcyIsImxvY2F0aW9uIiwib3JpZ2luIiwicHJvdG9jb2wiLCJwYXRobmFtZSIsImUiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwic2xpY2UiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js ***! \**********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RuntimeErrorHandler: function() {\n return RuntimeErrorHandler;\n },\n useErrorHandler: function() {\n return useErrorHandler;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _hydrationerrorinfo = __webpack_require__(/*! ./hydration-error-info */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\");\nconst _isnextroutererror = __webpack_require__(/*! ../../../is-next-router-error */ \"(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js\");\nconst RuntimeErrorHandler = {\n hadRuntimeError: false\n};\nfunction isHydrationError(error) {\n return error.message.match(/(hydration|content does not match|did not match)/i) != null;\n}\nif (false) {}\nconst errorQueue = [];\nconst rejectionQueue = [];\nconst errorHandlers = [];\nconst rejectionHandlers = [];\nif (false) {}\nfunction useErrorHandler(handleOnUnhandledError, handleOnUnhandledRejection) {\n (0, _react.useEffect)(()=>{\n // Handle queued errors.\n errorQueue.forEach(handleOnUnhandledError);\n rejectionQueue.forEach(handleOnUnhandledRejection);\n // Listen to new errors.\n errorHandlers.push(handleOnUnhandledError);\n rejectionHandlers.push(handleOnUnhandledRejection);\n return ()=>{\n // Remove listeners.\n errorHandlers.splice(errorHandlers.indexOf(handleOnUnhandledError), 1);\n rejectionHandlers.splice(rejectionHandlers.indexOf(handleOnUnhandledRejection), 1);\n };\n }, [\n handleOnUnhandledError,\n handleOnUnhandledRejection\n ]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-error-handler.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvdXNlLWVycm9yLWhhbmRsZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLFNBQVNDLG1CQUFPQSxDQUFDLHdHQUFPO0FBQzlCLE1BQU1DLHNCQUFzQkQsbUJBQU9BLENBQUMsMklBQXdCO0FBQzVELE1BQU1FLHFCQUFxQkYsbUJBQU9BLENBQUMsK0dBQStCO0FBQ2xFLE1BQU1ULHNCQUFzQjtJQUN4QlksaUJBQWlCO0FBQ3JCO0FBQ0EsU0FBU0MsaUJBQWlCQyxLQUFLO0lBQzNCLE9BQU9BLE1BQU1DLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLHdEQUF3RDtBQUN2RjtBQUNBLElBQUksS0FBNkIsRUFBRSxFQUtsQztBQUNELE1BQU1JLGFBQWEsRUFBRTtBQUNyQixNQUFNQyxpQkFBaUIsRUFBRTtBQUN6QixNQUFNQyxnQkFBZ0IsRUFBRTtBQUN4QixNQUFNQyxvQkFBb0IsRUFBRTtBQUM1QixJQUFJLEtBQTZCLEVBQUUsRUEyQ2xDO0FBQ0QsU0FBU3RCLGdCQUFnQm9DLHNCQUFzQixFQUFFQywwQkFBMEI7SUFDdEUsSUFBRzlCLE9BQU8rQixTQUFTLEVBQUU7UUFDbEIsd0JBQXdCO1FBQ3hCbkIsV0FBV29CLE9BQU8sQ0FBQ0g7UUFDbkJoQixlQUFlbUIsT0FBTyxDQUFDRjtRQUN2Qix3QkFBd0I7UUFDeEJoQixjQUFjWSxJQUFJLENBQUNHO1FBQ25CZCxrQkFBa0JXLElBQUksQ0FBQ0k7UUFDdkIsT0FBTztZQUNILG9CQUFvQjtZQUNwQmhCLGNBQWNtQixNQUFNLENBQUNuQixjQUFjb0IsT0FBTyxDQUFDTCx5QkFBeUI7WUFDcEVkLGtCQUFrQmtCLE1BQU0sQ0FBQ2xCLGtCQUFrQm1CLE9BQU8sQ0FBQ0osNkJBQTZCO1FBQ3BGO0lBQ0osR0FBRztRQUNDRDtRQUNBQztLQUNIO0FBQ0w7QUFFQSxJQUFJLENBQUMsT0FBT3pDLFFBQVE4QyxPQUFPLEtBQUssY0FBZSxPQUFPOUMsUUFBUThDLE9BQU8sS0FBSyxZQUFZOUMsUUFBUThDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzlDLFFBQVE4QyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLakQsT0FBT0MsY0FBYyxDQUFDQyxRQUFROEMsT0FBTyxFQUFFLGNBQWM7UUFBRTdDLE9BQU87SUFBSztJQUNuRUgsT0FBT2tELE1BQU0sQ0FBQ2hELFFBQVE4QyxPQUFPLEVBQUU5QztJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFROEMsT0FBTztBQUNsQyxFQUVBLDZDQUE2QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy91c2UtZXJyb3ItaGFuZGxlci5qcz9hNjA1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUnVudGltZUVycm9ySGFuZGxlcjogbnVsbCxcbiAgICB1c2VFcnJvckhhbmRsZXI6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUnVudGltZUVycm9ySGFuZGxlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSdW50aW1lRXJyb3JIYW5kbGVyO1xuICAgIH0sXG4gICAgdXNlRXJyb3JIYW5kbGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZUVycm9ySGFuZGxlcjtcbiAgICB9XG59KTtcbmNvbnN0IF9yZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKTtcbmNvbnN0IF9oeWRyYXRpb25lcnJvcmluZm8gPSByZXF1aXJlKFwiLi9oeWRyYXRpb24tZXJyb3ItaW5mb1wiKTtcbmNvbnN0IF9pc25leHRyb3V0ZXJlcnJvciA9IHJlcXVpcmUoXCIuLi8uLi8uLi9pcy1uZXh0LXJvdXRlci1lcnJvclwiKTtcbmNvbnN0IFJ1bnRpbWVFcnJvckhhbmRsZXIgPSB7XG4gICAgaGFkUnVudGltZUVycm9yOiBmYWxzZVxufTtcbmZ1bmN0aW9uIGlzSHlkcmF0aW9uRXJyb3IoZXJyb3IpIHtcbiAgICByZXR1cm4gZXJyb3IubWVzc2FnZS5tYXRjaCgvKGh5ZHJhdGlvbnxjb250ZW50IGRvZXMgbm90IG1hdGNofGRpZCBub3QgbWF0Y2gpL2kpICE9IG51bGw7XG59XG5pZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIHRyeSB7XG4gICAgICAgIC8vIEluY3JlYXNlIHRoZSBudW1iZXIgb2Ygc3RhY2sgZnJhbWVzIG9uIHRoZSBjbGllbnRcbiAgICAgICAgRXJyb3Iuc3RhY2tUcmFjZUxpbWl0ID0gNTA7XG4gICAgfSBjYXRjaCAoZSkge31cbn1cbmNvbnN0IGVycm9yUXVldWUgPSBbXTtcbmNvbnN0IHJlamVjdGlvblF1ZXVlID0gW107XG5jb25zdCBlcnJvckhhbmRsZXJzID0gW107XG5jb25zdCByZWplY3Rpb25IYW5kbGVycyA9IFtdO1xuaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAvLyBUaGVzZSBldmVudCBoYW5kbGVycyBtdXN0IGJlIGFkZGVkIG91dHNpZGUgb2YgdGhlIGhvb2sgYmVjYXVzZSB0aGVyZSBpcyBub1xuICAgIC8vIGd1YXJhbnRlZSB0aGF0IHRoZSBob29rIHdpbGwgYmUgYWxpdmUgaW4gYSBtb3VudGVkIGNvbXBvbmVudCBpbiB0aW1lIHRvXG4gICAgLy8gd2hlbiB0aGUgZXJyb3JzIG9jY3VyLlxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZXJyb3JcIiwgKGV2KT0+e1xuICAgICAgICBpZiAoKDAsIF9pc25leHRyb3V0ZXJlcnJvci5pc05leHRSb3V0ZXJFcnJvcikoZXYuZXJyb3IpKSB7XG4gICAgICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVycm9yID0gZXYgPT0gbnVsbCA/IHZvaWQgMCA6IGV2LmVycm9yO1xuICAgICAgICBpZiAoIWVycm9yIHx8ICEoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikgfHwgdHlwZW9mIGVycm9yLnN0YWNrICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAvLyBBIG5vbi1lcnJvciB3YXMgdGhyb3duLCB3ZSBkb24ndCBoYXZlIGFueXRoaW5nIHRvIHNob3cuIDotKFxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0h5ZHJhdGlvbkVycm9yKGVycm9yKSAmJiAhZXJyb3IubWVzc2FnZS5pbmNsdWRlcyhcImh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3JlYWN0LWh5ZHJhdGlvbi1lcnJvclwiKSkge1xuICAgICAgICAgICAgaWYgKF9oeWRyYXRpb25lcnJvcmluZm8uaHlkcmF0aW9uRXJyb3JXYXJuaW5nKSB7XG4gICAgICAgICAgICAgICAgLy8gVGhlIHBhdGNoZWQgY29uc29sZS5lcnJvciBmb3VuZCBoeWRyYXRpb24gZXJyb3JzIGxvZ2dlZCBieSBSZWFjdFxuICAgICAgICAgICAgICAgIC8vIEFwcGVuZCB0aGUgbG9nZ2VkIHdhcm5pbmcgdG8gdGhlIGVycm9yIG1lc3NhZ2VcbiAgICAgICAgICAgICAgICBlcnJvci5tZXNzYWdlICs9IFwiXFxuXFxuXCIgKyBfaHlkcmF0aW9uZXJyb3JpbmZvLmh5ZHJhdGlvbkVycm9yV2FybmluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChfaHlkcmF0aW9uZXJyb3JpbmZvLmh5ZHJhdGlvbkVycm9yQ29tcG9uZW50U3RhY2spIHtcbiAgICAgICAgICAgICAgICBlcnJvci5fY29tcG9uZW50U3RhY2sgPSBfaHlkcmF0aW9uZXJyb3JpbmZvLmh5ZHJhdGlvbkVycm9yQ29tcG9uZW50U3RhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlcnJvci5tZXNzYWdlICs9IFwiXFxuXFxuU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9yZWFjdC1oeWRyYXRpb24tZXJyb3JcIjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlID0gZXJyb3I7XG4gICAgICAgIGVycm9yUXVldWUucHVzaChlKTtcbiAgICAgICAgZm9yIChjb25zdCBoYW5kbGVyIG9mIGVycm9ySGFuZGxlcnMpe1xuICAgICAgICAgICAgaGFuZGxlcihlKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwidW5oYW5kbGVkcmVqZWN0aW9uXCIsIChldik9PntcbiAgICAgICAgY29uc3QgcmVhc29uID0gZXYgPT0gbnVsbCA/IHZvaWQgMCA6IGV2LnJlYXNvbjtcbiAgICAgICAgaWYgKCFyZWFzb24gfHwgIShyZWFzb24gaW5zdGFuY2VvZiBFcnJvcikgfHwgdHlwZW9mIHJlYXNvbi5zdGFjayAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgLy8gQSBub24tZXJyb3Igd2FzIHRocm93biwgd2UgZG9uJ3QgaGF2ZSBhbnl0aGluZyB0byBzaG93LiA6LShcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlID0gcmVhc29uO1xuICAgICAgICByZWplY3Rpb25RdWV1ZS5wdXNoKGUpO1xuICAgICAgICBmb3IgKGNvbnN0IGhhbmRsZXIgb2YgcmVqZWN0aW9uSGFuZGxlcnMpe1xuICAgICAgICAgICAgaGFuZGxlcihlKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuZnVuY3Rpb24gdXNlRXJyb3JIYW5kbGVyKGhhbmRsZU9uVW5oYW5kbGVkRXJyb3IsIGhhbmRsZU9uVW5oYW5kbGVkUmVqZWN0aW9uKSB7XG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIC8vIEhhbmRsZSBxdWV1ZWQgZXJyb3JzLlxuICAgICAgICBlcnJvclF1ZXVlLmZvckVhY2goaGFuZGxlT25VbmhhbmRsZWRFcnJvcik7XG4gICAgICAgIHJlamVjdGlvblF1ZXVlLmZvckVhY2goaGFuZGxlT25VbmhhbmRsZWRSZWplY3Rpb24pO1xuICAgICAgICAvLyBMaXN0ZW4gdG8gbmV3IGVycm9ycy5cbiAgICAgICAgZXJyb3JIYW5kbGVycy5wdXNoKGhhbmRsZU9uVW5oYW5kbGVkRXJyb3IpO1xuICAgICAgICByZWplY3Rpb25IYW5kbGVycy5wdXNoKGhhbmRsZU9uVW5oYW5kbGVkUmVqZWN0aW9uKTtcbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICAvLyBSZW1vdmUgbGlzdGVuZXJzLlxuICAgICAgICAgICAgZXJyb3JIYW5kbGVycy5zcGxpY2UoZXJyb3JIYW5kbGVycy5pbmRleE9mKGhhbmRsZU9uVW5oYW5kbGVkRXJyb3IpLCAxKTtcbiAgICAgICAgICAgIHJlamVjdGlvbkhhbmRsZXJzLnNwbGljZShyZWplY3Rpb25IYW5kbGVycy5pbmRleE9mKGhhbmRsZU9uVW5oYW5kbGVkUmVqZWN0aW9uKSwgMSk7XG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBoYW5kbGVPblVuaGFuZGxlZEVycm9yLFxuICAgICAgICBoYW5kbGVPblVuaGFuZGxlZFJlamVjdGlvblxuICAgIF0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2UtZXJyb3ItaGFuZGxlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJSdW50aW1lRXJyb3JIYW5kbGVyIiwidXNlRXJyb3JIYW5kbGVyIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3JlYWN0IiwicmVxdWlyZSIsIl9oeWRyYXRpb25lcnJvcmluZm8iLCJfaXNuZXh0cm91dGVyZXJyb3IiLCJoYWRSdW50aW1lRXJyb3IiLCJpc0h5ZHJhdGlvbkVycm9yIiwiZXJyb3IiLCJtZXNzYWdlIiwibWF0Y2giLCJFcnJvciIsInN0YWNrVHJhY2VMaW1pdCIsImUiLCJlcnJvclF1ZXVlIiwicmVqZWN0aW9uUXVldWUiLCJlcnJvckhhbmRsZXJzIiwicmVqZWN0aW9uSGFuZGxlcnMiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwiZXYiLCJpc05leHRSb3V0ZXJFcnJvciIsInByZXZlbnREZWZhdWx0Iiwic3RhY2siLCJpbmNsdWRlcyIsImh5ZHJhdGlvbkVycm9yV2FybmluZyIsImh5ZHJhdGlvbkVycm9yQ29tcG9uZW50U3RhY2siLCJfY29tcG9uZW50U3RhY2siLCJwdXNoIiwiaGFuZGxlciIsInJlYXNvbiIsImhhbmRsZU9uVW5oYW5kbGVkRXJyb3IiLCJoYW5kbGVPblVuaGFuZGxlZFJlamVjdGlvbiIsInVzZUVmZmVjdCIsImZvckVhY2giLCJzcGxpY2UiLCJpbmRleE9mIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js ***! \***********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useOpenInEditor\", ({\n enumerable: true,\n get: function() {\n return useOpenInEditor;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nfunction useOpenInEditor(param) {\n let { file, lineNumber, column } = param === void 0 ? {} : param;\n const openInEditor = (0, _react.useCallback)(()=>{\n if (file == null || lineNumber == null || column == null) return;\n const params = new URLSearchParams();\n params.append(\"file\", file);\n params.append(\"lineNumber\", String(lineNumber));\n params.append(\"column\", String(column));\n self.fetch(( false || \"\") + \"/__nextjs_launch-editor?\" + params.toString()).then(()=>{}, ()=>{\n console.error(\"There was an issue opening this code in your editor.\");\n });\n }, [\n file,\n lineNumber,\n column\n ]);\n return openInEditor;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-open-in-editor.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvdXNlLW9wZW4taW4tZWRpdG9yLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxtREFBa0Q7SUFDOUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxTQUFTQyxtQkFBT0EsQ0FBQyx3R0FBTztBQUM5QixTQUFTRixnQkFBZ0JHLEtBQUs7SUFDMUIsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsTUFBTSxFQUFFLEdBQUdILFVBQVUsS0FBSyxJQUFJLENBQUMsSUFBSUE7SUFDM0QsTUFBTUksZUFBZSxDQUFDLEdBQUdOLE9BQU9PLFdBQVcsRUFBRTtRQUN6QyxJQUFJSixRQUFRLFFBQVFDLGNBQWMsUUFBUUMsVUFBVSxNQUFNO1FBQzFELE1BQU1HLFNBQVMsSUFBSUM7UUFDbkJELE9BQU9FLE1BQU0sQ0FBQyxRQUFRUDtRQUN0QkssT0FBT0UsTUFBTSxDQUFDLGNBQWNDLE9BQU9QO1FBQ25DSSxPQUFPRSxNQUFNLENBQUMsVUFBVUMsT0FBT047UUFDL0JPLEtBQUtDLEtBQUssQ0FBQyxDQUFDQyxNQUFrQyxJQUFJLEVBQUMsSUFBSyw2QkFBNkJOLE9BQU9TLFFBQVEsSUFBSUMsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNqSEMsUUFBUUMsS0FBSyxDQUFDO1FBQ2xCO0lBQ0osR0FBRztRQUNDakI7UUFDQUM7UUFDQUM7S0FDSDtJQUNELE9BQU9DO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBT1gsUUFBUTBCLE9BQU8sS0FBSyxjQUFlLE9BQU8xQixRQUFRMEIsT0FBTyxLQUFLLFlBQVkxQixRQUFRMEIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPMUIsUUFBUTBCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcks3QixPQUFPQyxjQUFjLENBQUNDLFFBQVEwQixPQUFPLEVBQUUsY0FBYztRQUFFekIsT0FBTztJQUFLO0lBQ25FSCxPQUFPOEIsTUFBTSxDQUFDNUIsUUFBUTBCLE9BQU8sRUFBRTFCO0lBQy9CNkIsT0FBTzdCLE9BQU8sR0FBR0EsUUFBUTBCLE9BQU87QUFDbEMsRUFFQSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvdXNlLW9wZW4taW4tZWRpdG9yLmpzPzE0MjIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJ1c2VPcGVuSW5FZGl0b3JcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZU9wZW5JbkVkaXRvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9yZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKTtcbmZ1bmN0aW9uIHVzZU9wZW5JbkVkaXRvcihwYXJhbSkge1xuICAgIGxldCB7IGZpbGUsIGxpbmVOdW1iZXIsIGNvbHVtbiB9ID0gcGFyYW0gPT09IHZvaWQgMCA/IHt9IDogcGFyYW07XG4gICAgY29uc3Qgb3BlbkluRWRpdG9yID0gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKCk9PntcbiAgICAgICAgaWYgKGZpbGUgPT0gbnVsbCB8fCBsaW5lTnVtYmVyID09IG51bGwgfHwgY29sdW1uID09IG51bGwpIHJldHVybjtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgICAgICBwYXJhbXMuYXBwZW5kKFwiZmlsZVwiLCBmaWxlKTtcbiAgICAgICAgcGFyYW1zLmFwcGVuZChcImxpbmVOdW1iZXJcIiwgU3RyaW5nKGxpbmVOdW1iZXIpKTtcbiAgICAgICAgcGFyYW1zLmFwcGVuZChcImNvbHVtblwiLCBTdHJpbmcoY29sdW1uKSk7XG4gICAgICAgIHNlbGYuZmV0Y2goKHByb2Nlc3MuZW52Ll9fTkVYVF9ST1VURVJfQkFTRVBBVEggfHwgXCJcIikgKyBcIi9fX25leHRqc19sYXVuY2gtZWRpdG9yP1wiICsgcGFyYW1zLnRvU3RyaW5nKCkpLnRoZW4oKCk9Pnt9LCAoKT0+e1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIlRoZXJlIHdhcyBhbiBpc3N1ZSBvcGVuaW5nIHRoaXMgY29kZSBpbiB5b3VyIGVkaXRvci5cIik7XG4gICAgICAgIH0pO1xuICAgIH0sIFtcbiAgICAgICAgZmlsZSxcbiAgICAgICAgbGluZU51bWJlcixcbiAgICAgICAgY29sdW1uXG4gICAgXSk7XG4gICAgcmV0dXJuIG9wZW5JbkVkaXRvcjtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlLW9wZW4taW4tZWRpdG9yLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJ1c2VPcGVuSW5FZGl0b3IiLCJfcmVhY3QiLCJyZXF1aXJlIiwicGFyYW0iLCJmaWxlIiwibGluZU51bWJlciIsImNvbHVtbiIsIm9wZW5JbkVkaXRvciIsInVzZUNhbGxiYWNrIiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwiYXBwZW5kIiwiU3RyaW5nIiwic2VsZiIsImZldGNoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJ0b1N0cmluZyIsInRoZW4iLCJjb25zb2xlIiwiZXJyb3IiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js": /*!******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js ***! \******************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n useWebsocket: function() {\n return useWebsocket;\n },\n useSendMessage: function() {\n return useSendMessage;\n },\n useTurbopack: function() {\n return useTurbopack;\n },\n useWebsocketPing: function() {\n return useWebsocketPing;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../../../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _getsocketurl = __webpack_require__(/*! ./get-socket-url */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js\");\nfunction useWebsocket(assetPrefix) {\n const webSocketRef = (0, _react.useRef)();\n (0, _react.useEffect)(()=>{\n if (webSocketRef.current) {\n return;\n }\n const url = (0, _getsocketurl.getSocketUrl)(assetPrefix);\n webSocketRef.current = new window.WebSocket(\"\" + url + \"/_next/webpack-hmr\");\n }, [\n assetPrefix\n ]);\n return webSocketRef;\n}\nfunction useSendMessage(webSocketRef) {\n const sendMessage = (0, _react.useCallback)((data)=>{\n const socket = webSocketRef.current;\n if (!socket || socket.readyState !== socket.OPEN) {\n return;\n }\n return socket.send(data);\n }, [\n webSocketRef\n ]);\n return sendMessage;\n}\nfunction useTurbopack(sendMessage) {\n const turbopackState = (0, _react.useRef)({\n init: false,\n // Until the dynamic import resolves, queue any turbopack messages which will be replayed.\n queue: [],\n callback: undefined\n });\n const processTurbopackMessage = (0, _react.useCallback)((msg)=>{\n var _msg_type;\n if (\"type\" in msg && ((_msg_type = msg.type) == null ? void 0 : _msg_type.startsWith(\"turbopack-\"))) {\n const { callback, queue } = turbopackState.current;\n if (callback) {\n callback(msg);\n } else {\n queue.push(msg);\n }\n return true;\n }\n return false;\n }, []);\n (0, _react.useEffect)(()=>{\n const { current: initCurrent } = turbopackState;\n // TODO(WEB-1589): only install if `process.turbopack` set.\n if (initCurrent.init) {\n return;\n }\n initCurrent.init = true;\n Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! @vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts */ \"(ssr)/./node_modules/next/dist/client/dev/noop-turbopack-hmr.js\"))).then((param)=>{\n let { connect } = param;\n const { current } = turbopackState;\n connect({\n addMessageListener (cb) {\n current.callback = cb;\n // Replay all Turbopack messages before we were able to establish the HMR client.\n for (const msg of current.queue){\n cb(msg);\n }\n current.queue = undefined;\n },\n sendMessage\n });\n });\n }, [\n sendMessage\n ]);\n return processTurbopackMessage;\n}\nfunction useWebsocketPing(websocketRef) {\n const sendMessage = useSendMessage(websocketRef);\n const { tree } = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n (0, _react.useEffect)(()=>{\n // Taken from on-demand-entries-client.js\n const interval = setInterval(()=>{\n sendMessage(JSON.stringify({\n event: \"ping\",\n tree,\n appDirRoute: true\n }));\n }, 2500);\n return ()=>clearInterval(interval);\n }, [\n tree,\n sendMessage\n ]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-websocket.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvdXNlLXdlYnNvY2tldC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7Ozs7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FLTjtBQUNBLFNBQVNLLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlYLE9BQU9DLGNBQWMsQ0FBQ1MsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRUCxTQUFTO0lBQ2JHLGNBQWM7UUFDVixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsY0FBYztRQUNWLE9BQU9BO0lBQ1g7SUFDQUMsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sU0FBU0MsbUJBQU9BLENBQUMsd0dBQU87QUFDOUIsTUFBTUMsaUNBQWlDRCxtQkFBT0EsQ0FBQyxnTEFBNkQ7QUFDNUcsTUFBTUUsZ0JBQWdCRixtQkFBT0EsQ0FBQywrSEFBa0I7QUFDaEQsU0FBU1gsYUFBYWMsV0FBVztJQUM3QixNQUFNQyxlQUFlLENBQUMsR0FBR0wsT0FBT00sTUFBTTtJQUNyQyxJQUFHTixPQUFPTyxTQUFTLEVBQUU7UUFDbEIsSUFBSUYsYUFBYUcsT0FBTyxFQUFFO1lBQ3RCO1FBQ0o7UUFDQSxNQUFNQyxNQUFNLENBQUMsR0FBR04sY0FBY08sWUFBWSxFQUFFTjtRQUM1Q0MsYUFBYUcsT0FBTyxHQUFHLElBQUlHLE9BQU9DLFNBQVMsQ0FBQyxLQUFLSCxNQUFNO0lBQzNELEdBQUc7UUFDQ0w7S0FDSDtJQUNELE9BQU9DO0FBQ1g7QUFDQSxTQUFTZCxlQUFlYyxZQUFZO0lBQ2hDLE1BQU1RLGNBQWMs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L25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL3VzZS13ZWJzb2NrZXQuanM/N2I4MSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHVzZVdlYnNvY2tldDogbnVsbCxcbiAgICB1c2VTZW5kTWVzc2FnZTogbnVsbCxcbiAgICB1c2VUdXJib3BhY2s6IG51bGwsXG4gICAgdXNlV2Vic29ja2V0UGluZzogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICB1c2VXZWJzb2NrZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlV2Vic29ja2V0O1xuICAgIH0sXG4gICAgdXNlU2VuZE1lc3NhZ2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlU2VuZE1lc3NhZ2U7XG4gICAgfSxcbiAgICB1c2VUdXJib3BhY2s6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlVHVyYm9wYWNrO1xuICAgIH0sXG4gICAgdXNlV2Vic29ja2V0UGluZzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1c2VXZWJzb2NrZXRQaW5nO1xuICAgIH1cbn0pO1xuY29uc3QgX3JlYWN0ID0gcmVxdWlyZShcInJlYWN0XCIpO1xuY29uc3QgX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY29uc3QgX2dldHNvY2tldHVybCA9IHJlcXVpcmUoXCIuL2dldC1zb2NrZXQtdXJsXCIpO1xuZnVuY3Rpb24gdXNlV2Vic29ja2V0KGFzc2V0UHJlZml4KSB7XG4gICAgY29uc3Qgd2ViU29ja2V0UmVmID0gKDAsIF9yZWFjdC51c2VSZWYpKCk7XG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIGlmICh3ZWJTb2NrZXRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHVybCA9ICgwLCBfZ2V0c29ja2V0dXJsLmdldFNvY2tldFVybCkoYXNzZXRQcmVmaXgpO1xuICAgICAgICB3ZWJTb2NrZXRSZWYuY3VycmVudCA9IG5ldyB3aW5kb3cuV2ViU29ja2V0KFwiXCIgKyB1cmwgKyBcIi9fbmV4dC93ZWJwYWNrLWhtclwiKTtcbiAgICB9LCBbXG4gICAgICAgIGFzc2V0UHJlZml4XG4gICAgXSk7XG4gICAgcmV0dXJuIHdlYlNvY2tldFJlZjtcbn1cbmZ1bmN0aW9uIHVzZVNlbmRNZXNzYWdlKHdlYlNvY2tldFJlZikge1xuICAgIGNvbnN0IHNlbmRNZXNzYWdlID0gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKGRhdGEpPT57XG4gICAgICAgIGNvbnN0IHNvY2tldCA9IHdlYlNvY2tldFJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIXNvY2tldCB8fCBzb2NrZXQucmVhZHlTdGF0ZSAhPT0gc29ja2V0Lk9QRU4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc29ja2V0LnNlbmQoZGF0YSk7XG4gICAgfSwgW1xuICAgICAgICB3ZWJTb2NrZXRSZWZcbiAgICBdKTtcbiAgICByZXR1cm4gc2VuZE1lc3NhZ2U7XG59XG5mdW5jdGlvbiB1c2VUdXJib3BhY2soc2VuZE1lc3NhZ2UpIHtcbiAgICBjb25zdCB0dXJib3BhY2tTdGF0ZSA9ICgwLCBfcmVhY3QudXNlUmVmKSh7XG4gICAgICAgIGluaXQ6IGZhbHNlLFxuICAgICAgICAvLyBVbnRpbCB0aGUgZHluYW1pYyBpbXBvcnQgcmVzb2x2ZXMsIHF1ZXVlIGFueSB0dXJib3BhY2sgbWVzc2FnZXMgd2hpY2ggd2lsbCBiZSByZXBsYXllZC5cbiAgICAgICAgcXVldWU6IFtdLFxuICAgICAgICBjYWxsYmFjazogdW5kZWZpbmVkXG4gICAgfSk7XG4gICAgY29uc3QgcHJvY2Vzc1R1cmJvcGFja01lc3NhZ2UgPSAoMCwgX3JlYWN0LnVzZUNhbGxiYWNrKSgobXNnKT0+e1xuICAgICAgICB2YXIgX21zZ190eXBlO1xuICAgICAgICBpZiAoXCJ0eXBlXCIgaW4gbXNnICYmICgoX21zZ190eXBlID0gbXNnLnR5cGUpID09IG51bGwgPyB2b2lkIDAgOiBfbXNnX3R5cGUuc3RhcnRzV2l0aChcInR1cmJvcGFjay1cIikpKSB7XG4gICAgICAgICAgICBjb25zdCB7IGNhbGxiYWNrLCBxdWV1ZSB9ID0gdHVyYm9wYWNrU3RhdGUuY3VycmVudDtcbiAgICAgICAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGNhbGxiYWNrKG1zZyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHF1ZXVlLnB1c2gobXNnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LCBbXSk7XG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIGNvbnN0IHsgY3VycmVudDogaW5pdEN1cnJlbnQgfSA9IHR1cmJvcGFja1N0YXRlO1xuICAgICAgICAvLyBUT0RPKFdFQi0xNTg5KTogb25seSBpbnN0YWxsIGlmIGBwcm9jZXNzLnR1cmJvcGFja2Agc2V0LlxuICAgICAgICBpZiAoaW5pdEN1cnJlbnQuaW5pdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGluaXRDdXJyZW50LmluaXQgPSB0cnVlO1xuICAgICAgICBpbXBvcnQoLy8gQHRzLWV4cGVjdC1lcnJvciByZXF1aXJlcyBcIm1vZHVsZVJlc29sdXRpb25cIjogXCJub2RlMTZcIiBpbiB0c2NvbmZpZy5qc29uIGFuZCBub3QgLnRzIGV4dGVuc2lvblxuICAgICAgICBcIkB2ZXJjZWwvdHVyYm9wYWNrLWVjbWFzY3JpcHQtcnVudGltZS9kZXYvY2xpZW50L2htci1jbGllbnQudHNcIikudGhlbigocGFyYW0pPT57XG4gICAgICAgICAgICBsZXQgeyBjb25uZWN0IH0gPSBwYXJhbTtcbiAgICAgICAgICAgIGNvbnN0IHsgY3VycmVudCB9ID0gdHVyYm9wYWNrU3RhdGU7XG4gICAgICAgICAgICBjb25uZWN0KHtcbiAgICAgICAgICAgICAgICBhZGRNZXNzYWdlTGlzdGVuZXIgKGNiKSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQuY2FsbGJhY2sgPSBjYjtcbiAgICAgICAgICAgICAgICAgICAgLy8gUmVwbGF5IGFsbCBUdXJib3BhY2sgbWVzc2FnZXMgYmVmb3JlIHdlIHdlcmUgYWJsZSB0byBlc3RhYmxpc2ggdGhlIEhNUiBjbGllbnQuXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbXNnIG9mIGN1cnJlbnQucXVldWUpe1xuICAgICAgICAgICAgICAgICAgICAgICAgY2IobXNnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50LnF1ZXVlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc2VuZE1lc3NhZ2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9LCBbXG4gICAgICAgIHNlbmRNZXNzYWdlXG4gICAgXSk7XG4gICAgcmV0dXJuIHByb2Nlc3NUdXJib3BhY2tNZXNzYWdlO1xufVxuZnVuY3Rpb24gdXNlV2Vic29ja2V0UGluZyh3ZWJzb2NrZXRSZWYpIHtcbiAgICBjb25zdCBzZW5kTWVzc2FnZSA9IHVzZVNlbmRNZXNzYWdlKHdlYnNvY2tldFJlZik7XG4gICAgY29uc3QgeyB0cmVlIH0gPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0KTtcbiAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgLy8gVGFrZW4gZnJvbSBvbi1kZW1hbmQtZW50cmllcy1jbGllbnQuanNcbiAgICAgICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKT0+e1xuICAgICAgICAgICAgc2VuZE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGV2ZW50OiBcInBpbmdcIixcbiAgICAgICAgICAgICAgICB0cmVlLFxuICAgICAgICAgICAgICAgIGFwcERpclJvdXRlOiB0cnVlXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH0sIDI1MDApO1xuICAgICAgICByZXR1cm4gKCk9PmNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xuICAgIH0sIFtcbiAgICAgICAgdHJlZSxcbiAgICAgICAgc2VuZE1lc3NhZ2VcbiAgICBdKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlLXdlYnNvY2tldC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJ1c2VXZWJzb2NrZXQiLCJ1c2VTZW5kTWVzc2FnZSIsInVzZVR1cmJvcGFjayIsInVzZVdlYnNvY2tldFBpbmciLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfcmVhY3QiLCJyZXF1aXJlIiwiX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lIiwiX2dldHNvY2tldHVybCIsImFzc2V0UHJlZml4Iiwid2ViU29ja2V0UmVmIiwidXNlUmVmIiwidXNlRWZmZWN0IiwiY3VycmVudCIsInVybCIsImdldFNvY2tldFVybCIsIndpbmRvdyIsIldlYlNvY2tldCIsInNlbmRNZXNzYWdlIiwidXNlQ2FsbGJhY2siLCJkYXRhIiwic29ja2V0IiwicmVhZHlTdGF0ZSIsIk9QRU4iLCJzZW5kIiwidHVyYm9wYWNrU3RhdGUiLCJpbml0IiwicXVldWUiLCJjYWxsYmFjayIsInVuZGVmaW5lZCIsInByb2Nlc3NUdXJib3BhY2tNZXNzYWdlIiwibXNnIiwiX21zZ190eXBlIiwidHlwZSIsInN0YXJ0c1dpdGgiLCJwdXNoIiwiaW5pdEN1cnJlbnQiLCJ0aGVuIiwicGFyYW0iLCJjb25uZWN0IiwiYWRkTWVzc2FnZUxpc3RlbmVyIiwiY2IiLCJ3ZWJzb2NrZXRSZWYiLCJ0cmVlIiwidXNlQ29udGV4dCIsIkdsb2JhbExheW91dFJvdXRlckNvbnRleHQiLCJpbnRlcnZhbCIsInNldEludGVydmFsIiwiSlNPTiIsInN0cmluZ2lmeSIsImV2ZW50IiwiYXBwRGlyUm91dGUiLCJjbGVhckludGVydmFsIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js ***! \***********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useOnClickOutside\", ({\n enumerable: true,\n get: function() {\n return useOnClickOutside;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nfunction useOnClickOutside(el, handler) {\n _react.useEffect(()=>{\n if (el == null || handler == null) {\n return;\n }\n const listener = (e)=>{\n // Do nothing if clicking ref's element or descendent elements\n if (!el || el.contains(e.target)) {\n return;\n }\n handler(e);\n };\n const root = el.getRootNode();\n root.addEventListener(\"mousedown\", listener);\n root.addEventListener(\"touchstart\", listener);\n return function() {\n root.removeEventListener(\"mousedown\", listener);\n root.removeEventListener(\"touchstart\", listener);\n };\n }, [\n handler,\n el\n ]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-on-click-outside.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hvb2tzL3VzZS1vbi1jbGljay1vdXRzaWRlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxxREFBb0Q7SUFDaERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyw0QkFBNEJDLG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNQyxTQUFTLFdBQVcsR0FBR0YsMEJBQTBCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLFNBQVNGLGtCQUFrQkssRUFBRSxFQUFFQyxPQUFPO0lBQ2xDSCxPQUFPSSxTQUFTLENBQUM7UUFDYixJQUFJRixNQUFNLFFBQVFDLFdBQVcsTUFBTTtZQUMvQjtRQUNKO1FBQ0EsTUFBTUUsV0FBVyxDQUFDQztZQUNkLDhEQUE4RDtZQUM5RCxJQUFJLENBQUNKLE1BQU1BLEdBQUdLLFFBQVEsQ0FBQ0QsRUFBRUUsTUFBTSxHQUFHO2dCQUM5QjtZQUNKO1lBQ0FMLFFBQVFHO1FBQ1o7UUFDQSxNQUFNRyxPQUFPUCxHQUFHUSxXQUFXO1FBQzNCRCxLQUFLRSxnQkFBZ0IsQ0FBQyxhQUFhTjtRQUNuQ0ksS0FBS0UsZ0JBQWdCLENBQUMsY0FBY047UUFDcEMsT0FBTztZQUNISSxLQUFLRyxtQkFBbUIsQ0FBQyxhQUFhUDtZQUN0Q0ksS0FBS0csbUJBQW1CLENBQUMsY0FBY1A7UUFDM0M7SUFDSixHQUFHO1FBQ0NGO1FBQ0FEO0tBQ0g7QUFDTDtBQUVBLElBQUksQ0FBQyxPQUFPVCxRQUFRb0IsT0FBTyxLQUFLLGNBQWUsT0FBT3BCLFFBQVFvQixPQUFPLEtBQUssWUFBWXBCLFFBQVFvQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wQixRQUFRb0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9CLE9BQU8sRUFBRSxjQUFjO1FBQUVuQixPQUFPO0lBQUs7SUFDbkVILE9BQU93QixNQUFNLENBQUN0QixRQUFRb0IsT0FBTyxFQUFFcEI7SUFDL0J1QixPQUFPdkIsT0FBTyxHQUFHQSxRQUFRb0IsT0FBTztBQUNsQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaG9va3MvdXNlLW9uLWNsaWNrLW91dHNpZGUuanM/YzY5MCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInVzZU9uQ2xpY2tPdXRzaWRlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1c2VPbkNsaWNrT3V0c2lkZTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5mdW5jdGlvbiB1c2VPbkNsaWNrT3V0c2lkZShlbCwgaGFuZGxlcikge1xuICAgIF9yZWFjdC51c2VFZmZlY3QoKCk9PntcbiAgICAgICAgaWYgKGVsID09IG51bGwgfHwgaGFuZGxlciA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGlzdGVuZXIgPSAoZSk9PntcbiAgICAgICAgICAgIC8vIERvIG5vdGhpbmcgaWYgY2xpY2tpbmcgcmVmJ3MgZWxlbWVudCBvciBkZXNjZW5kZW50IGVsZW1lbnRzXG4gICAgICAgICAgICBpZiAoIWVsIHx8IGVsLmNvbnRhaW5zKGUudGFyZ2V0KSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGhhbmRsZXIoZSk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHJvb3QgPSBlbC5nZXRSb290Tm9kZSgpO1xuICAgICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgbGlzdGVuZXIpO1xuICAgICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoXCJ0b3VjaHN0YXJ0XCIsIGxpc3RlbmVyKTtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgcm9vdC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIGxpc3RlbmVyKTtcbiAgICAgICAgICAgIHJvb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRvdWNoc3RhcnRcIiwgbGlzdGVuZXIpO1xuICAgICAgICB9O1xuICAgIH0sIFtcbiAgICAgICAgaGFuZGxlcixcbiAgICAgICAgZWxcbiAgICBdKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlLW9uLWNsaWNrLW91dHNpZGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInVzZU9uQ2xpY2tPdXRzaWRlIiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfIiwiZWwiLCJoYW5kbGVyIiwidXNlRWZmZWN0IiwibGlzdGVuZXIiLCJlIiwiY29udGFpbnMiLCJ0YXJnZXQiLCJyb290IiwiZ2V0Um9vdE5vZGUiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js": /*!************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js ***! \************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CloseIcon\", ({\n enumerable: true,\n get: function() {\n return CloseIcon;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst CloseIcon = ()=>{\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 6L6 18\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6 6L18 18\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CloseIcon.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2ljb25zL0Nsb3NlSWNvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNkNBQTRDO0lBQ3hDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCwwQkFBMEJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUYsWUFBWTtJQUNkLE9BQXFCLFdBQUgsR0FBSSxJQUFHRyxZQUFZRyxJQUFJLEVBQUUsT0FBTztRQUM5Q0MsT0FBTztRQUNQQyxRQUFRO1FBQ1JDLFNBQVM7UUFDVEMsTUFBTTtRQUNOQyxPQUFPO1FBQ1BDLFVBQVU7WUFDTixXQUFXLEdBQUksSUFBR1QsWUFBWVUsR0FBRyxFQUFFLFFBQVE7Z0JBQ3ZDQyxHQUFHO2dCQUNIQyxRQUFRO2dCQUNSQyxhQUFhO2dCQUNiQyxlQUFlO2dCQUNmQyxnQkFBZ0I7WUFDcEI7WUFDQSxXQUFXLEdBQUksSUFBR2YsWUFBWVUsR0FBRyxFQUFFLFFBQVE7Z0JBQ3ZDQyxHQUFHO2dCQUNIQyxRQUFRO2dCQUNSQyxhQUFhO2dCQUNiQyxlQUFlO2dCQUNmQyxnQkFBZ0I7WUFDcEI7U0FDSDtJQUNMO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT3RCLFFBQVF1QixPQUFPLEtBQUssY0FBZSxPQUFPdkIsUUFBUXVCLE9BQU8sS0FBSyxZQUFZdkIsUUFBUXVCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3ZCLFFBQVF1QixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLMUIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRdUIsT0FBTyxFQUFFLGNBQWM7UUFBRXRCLE9BQU87SUFBSztJQUNuRUgsT0FBTzJCLE1BQU0sQ0FBQ3pCLFFBQVF1QixPQUFPLEVBQUV2QjtJQUMvQjBCLE9BQU8xQixPQUFPLEdBQUdBLFFBQVF1QixPQUFPO0FBQ2xDLEVBRUEscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9pY29ucy9DbG9zZUljb24uanM/NjhjOCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkNsb3NlSWNvblwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ2xvc2VJY29uO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgQ2xvc2VJY29uID0gKCk9PntcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJzdmdcIiwge1xuICAgICAgICB3aWR0aDogXCIyNFwiLFxuICAgICAgICBoZWlnaHQ6IFwiMjRcIixcbiAgICAgICAgdmlld0JveDogXCIwIDAgMjQgMjRcIixcbiAgICAgICAgZmlsbDogXCJub25lXCIsXG4gICAgICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwicGF0aFwiLCB7XG4gICAgICAgICAgICAgICAgZDogXCJNMTggNkw2IDE4XCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcImN1cnJlbnRDb2xvclwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiBcIjJcIixcbiAgICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwOiBcInJvdW5kXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwicGF0aFwiLCB7XG4gICAgICAgICAgICAgICAgZDogXCJNNiA2TDE4IDE4XCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcImN1cnJlbnRDb2xvclwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiBcIjJcIixcbiAgICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwOiBcInJvdW5kXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIlxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0pO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Q2xvc2VJY29uLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJDbG9zZUljb24iLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsImpzeHMiLCJ3aWR0aCIsImhlaWdodCIsInZpZXdCb3giLCJmaWxsIiwieG1sbnMiLCJjaGlsZHJlbiIsImpzeCIsImQiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js": /*!********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js ***! \********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Base\", ({\n enumerable: true,\n get: function() {\n return Base;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n :host {\\n --size-gap-half: 4px;\\n --size-gap: 8px;\\n --size-gap-double: 16px;\\n --size-gap-triple: 24px;\\n --size-gap-quad: 32px;\\n\\n --size-font-small: 14px;\\n --size-font: 16px;\\n --size-font-big: 20px;\\n --size-font-bigger: 24px;\\n\\n --color-accents-1: #808080;\\n --color-accents-2: #222222;\\n --color-accents-3: #404040;\\n\\n --font-stack-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono',\\n Menlo, Courier, monospace;\\n\\n --color-ansi-selection: rgba(95, 126, 151, 0.48);\\n --color-ansi-bg: #111111;\\n --color-ansi-fg: #cccccc;\\n\\n --color-ansi-white: #777777;\\n --color-ansi-black: #141414;\\n --color-ansi-blue: #00aaff;\\n --color-ansi-cyan: #88ddff;\\n --color-ansi-green: #98ec65;\\n --color-ansi-magenta: #aa88ff;\\n --color-ansi-red: #ff5555;\\n --color-ansi-yellow: #ffcc33;\\n --color-ansi-bright-white: #ffffff;\\n --color-ansi-bright-black: #777777;\\n --color-ansi-bright-blue: #33bbff;\\n --color-ansi-bright-cyan: #bbecff;\\n --color-ansi-bright-green: #b6f292;\\n --color-ansi-bright-magenta: #cebbff;\\n --color-ansi-bright-red: #ff8888;\\n --color-ansi-bright-yellow: #ffd966;\\n }\\n\\n .mono {\\n font-family: var(--font-stack-monospace);\\n }\\n\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n margin-bottom: var(--size-gap);\\n font-weight: 500;\\n line-height: 1.5;\\n }\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction Base() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject())\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Base.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9CYXNlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx3Q0FBdUM7SUFDbkNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyw0QkFBNEJDLG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNQyxpQ0FBaUNELG1CQUFPQSxDQUFDLDhIQUErQztBQUM5RixNQUFNRSxjQUFjRixtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUcsU0FBUyxXQUFXLEdBQUdKLDBCQUEwQkssQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNSyxnQkFBZ0JMLG1CQUFPQSxDQUFDLHNJQUEwQjtBQUN4RCxTQUFTTTtJQUNMLE1BQU1DLE9BQU9OLCtCQUErQkcsQ0FBQyxDQUFDO1FBQzFDO0tBQ0g7SUFDREUsa0JBQWtCO1FBQ2QsT0FBT0M7SUFDWDtJQUNBLE9BQU9BO0FBQ1g7QUFDQSxTQUFTVDtJQUNMLE9BQXFCLFdBQUgsR0FBSSxJQUFHSSxZQUFZTSxHQUFHLEVBQUUsU0FBUztRQUMvQ0MsVUFBVSxDQUFDLEdBQUdKLGNBQWNLLElBQUksRUFBRUo7SUFDdEM7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPWixRQUFRaUIsT0FBTyxLQUFLLGNBQWUsT0FBT2pCLFFBQVFpQixPQUFPLEtBQUssWUFBWWpCLFFBQVFpQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9qQixRQUFRaUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3BCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWlCLE9BQU8sRUFBRSxjQUFjO1FBQUVoQixPQUFPO0lBQUs7SUFDbkVILE9BQU9xQixNQUFNLENBQUNuQixRQUFRaUIsT0FBTyxFQUFFakI7SUFDL0JvQixPQUFPcEIsT0FBTyxHQUFHQSxRQUFRaUIsT0FBTztBQUNsQyxFQUVBLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvc3R5bGVzL0Jhc2UuanM/ZTEyMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkJhc2VcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEJhc2U7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX25vb3B0ZW1wbGF0ZSA9IHJlcXVpcmUoXCIuLi9oZWxwZXJzL25vb3AtdGVtcGxhdGVcIik7XG5mdW5jdGlvbiBfdGVtcGxhdGVPYmplY3QoKSB7XG4gICAgY29uc3QgZGF0YSA9IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZS5fKFtcbiAgICAgICAgXCJcXG4gICAgICAgIDpob3N0IHtcXG4gICAgICAgICAgLS1zaXplLWdhcC1oYWxmOiA0cHg7XFxuICAgICAgICAgIC0tc2l6ZS1nYXA6IDhweDtcXG4gICAgICAgICAgLS1zaXplLWdhcC1kb3VibGU6IDE2cHg7XFxuICAgICAgICAgIC0tc2l6ZS1nYXAtdHJpcGxlOiAyNHB4O1xcbiAgICAgICAgICAtLXNpemUtZ2FwLXF1YWQ6IDMycHg7XFxuXFxuICAgICAgICAgIC0tc2l6ZS1mb250LXNtYWxsOiAxNHB4O1xcbiAgICAgICAgICAtLXNpemUtZm9udDogMTZweDtcXG4gICAgICAgICAgLS1zaXplLWZvbnQtYmlnOiAyMHB4O1xcbiAgICAgICAgICAtLXNpemUtZm9udC1iaWdnZXI6IDI0cHg7XFxuXFxuICAgICAgICAgIC0tY29sb3ItYWNjZW50cy0xOiAjODA4MDgwO1xcbiAgICAgICAgICAtLWNvbG9yLWFjY2VudHMtMjogIzIyMjIyMjtcXG4gICAgICAgICAgLS1jb2xvci1hY2NlbnRzLTM6ICM0MDQwNDA7XFxuXFxuICAgICAgICAgIC0tZm9udC1zdGFjay1tb25vc3BhY2U6ICdTRk1vbm8tUmVndWxhcicsIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJyxcXG4gICAgICAgICAgICBNZW5sbywgQ291cmllciwgbW9ub3NwYWNlO1xcblxcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktc2VsZWN0aW9uOiByZ2JhKDk1LCAxMjYsIDE1MSwgMC40OCk7XFxuICAgICAgICAgIC0tY29sb3ItYW5zaS1iZzogIzExMTExMTtcXG4gICAgICAgICAgLS1jb2xvci1hbnNpLWZnOiAjY2NjY2NjO1xcblxcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktd2hpdGU6ICM3Nzc3Nzc7XFxuICAgICAgICAgIC0tY29sb3ItYW5zaS1ibGFjazogIzE0MTQxNDtcXG4gICAgICAgICAgLS1jb2xvci1hbnNpLWJsdWU6ICMwMGFhZmY7XFxuICAgICAgICAgIC0tY29sb3ItYW5zaS1jeWFuOiAjODhkZGZmO1xcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktZ3JlZW46ICM5OGVjNjU7XFxuICAgICAgICAgIC0tY29sb3ItYW5zaS1tYWdlbnRhOiAjYWE4OGZmO1xcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktcmVkOiAjZmY1NTU1O1xcbiAgICAgICAgICAtLWNvbG9yLWFuc2kteWVsbG93OiAjZmZjYzMzO1xcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktYnJpZ2h0LXdoaXRlOiAjZmZmZmZmO1xcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktYnJpZ2h0LWJsYWNrOiAjNzc3Nzc3O1xcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktYnJpZ2h0LWJsdWU6ICMzM2JiZmY7XFxuICAgICAgICAgIC0tY29sb3ItYW5zaS1icmlnaHQtY3lhbjogI2JiZWNmZjtcXG4gICAgICAgICAgLS1jb2xvci1hbnNpLWJyaWdodC1ncmVlbjogI2I2ZjI5MjtcXG4gICAgICAgICAgLS1jb2xvci1hbnNpLWJyaWdodC1tYWdlbnRhOiAjY2ViYmZmO1xcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktYnJpZ2h0LXJlZDogI2ZmODg4ODtcXG4gICAgICAgICAgLS1jb2xvci1hbnNpLWJyaWdodC15ZWxsb3c6ICNmZmQ5NjY7XFxuICAgICAgICB9XFxuXFxuICAgICAgICAubW9ubyB7XFxuICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN0YWNrLW1vbm9zcGFjZSk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBoMSxcXG4gICAgICAgIGgyLFxcbiAgICAgICAgaDMsXFxuICAgICAgICBoNCxcXG4gICAgICAgIGg1LFxcbiAgICAgICAgaDYge1xcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLWdhcCk7XFxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICAgICAgICB9XFxuICAgICAgXCJcbiAgICBdKTtcbiAgICBfdGVtcGxhdGVPYmplY3QgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfTtcbiAgICByZXR1cm4gZGF0YTtcbn1cbmZ1bmN0aW9uIEJhc2UoKSB7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzdHlsZVwiLCB7XG4gICAgICAgIGNoaWxkcmVuOiAoMCwgX25vb3B0ZW1wbGF0ZS5ub29wKShfdGVtcGxhdGVPYmplY3QoKSlcbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QmFzZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiQmFzZSIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJyZXF1aXJlIiwiX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwiX25vb3B0ZW1wbGF0ZSIsIl90ZW1wbGF0ZU9iamVjdCIsImRhdGEiLCJqc3giLCJjaGlsZHJlbiIsIm5vb3AiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js ***! \*******************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ComponentStyles\", ({\n enumerable: true,\n get: function() {\n return ComponentStyles;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _styles = __webpack_require__(/*! ../components/CodeFrame/styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js\");\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _styles1 = __webpack_require__(/*! ../components/LeftRightDialogHeader/styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\");\nconst _styles2 = __webpack_require__(/*! ../components/Overlay/styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js\");\nconst _styles3 = __webpack_require__(/*! ../components/Terminal/styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js\");\nconst _Toast = __webpack_require__(/*! ../components/Toast */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _BuildError = __webpack_require__(/*! ../container/BuildError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _RootLayoutError = __webpack_require__(/*! ../container/RootLayoutError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RootLayoutError.js\");\nconst _Errors = __webpack_require__(/*! ../container/Errors */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _RuntimeError = __webpack_require__(/*! ../container/RuntimeError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction ComponentStyles() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject(), _styles2.styles, _Toast.styles, _Dialog.styles, _styles1.styles, _styles.styles, _styles3.styles, _BuildError.styles, _RootLayoutError.styles, _Errors.styles, _RuntimeError.styles, _VersionStalenessInfo.styles)\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ComponentStyles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9Db21wb25lbnRTdHlsZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG1EQUFrRDtJQUM5Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDRCQUE0QkMsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1DLGlDQUFpQ0QsbUJBQU9BLENBQUMsOEhBQStDO0FBQzlGLE1BQU1FLGNBQWNGLG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRyxTQUFTLFdBQVcsR0FBR0osMEJBQTBCSyxDQUFDLENBQUNKLG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1LLFVBQVVMLG1CQUFPQSxDQUFDLGtKQUFnQztBQUN4RCxNQUFNTSxVQUFVTixtQkFBT0EsQ0FBQyxvSUFBc0I7QUFDOUMsTUFBTU8sV0FBV1AsbUJBQU9BLENBQUMsMEtBQTRDO0FBQ3JFLE1BQU1RLFdBQVdSLG1CQUFPQSxDQUFDLDhJQUE4QjtBQUN2RCxNQUFNUyxXQUFXVCxtQkFBT0EsQ0FBQyxnSkFBK0I7QUFDeEQsTUFBTVUsU0FBU1YsbUJBQU9BLENBQUMsa0lBQXFCO0FBQzVDLE1BQU1XLHdCQUF3QlgsbUJBQU9BLENBQUMsZ0tBQW9DO0FBQzFFLE1BQU1ZLGNBQWNaLG1CQUFPQSxDQUFDLG9JQUF5QjtBQUNyRCxNQUFNYSxtQkFBbUJiLG1CQUFPQSxDQUFDLDhJQUE4QjtBQUMvRCxNQUFNYyxVQUFVZCxtQkFBT0EsQ0FBQyw0SEFBcUI7QUFDN0MsTUFBTWUsZ0JBQWdCZixtQkFBT0EsQ0FBQyw4SUFBMkI7QUFDekQsTUFBTWdCLGdCQUFnQmhCLG1CQUFPQSxDQUFDLHNJQUEwQjtBQUN4RCxTQUFTaUI7SUFDTCxNQUFNQyxPQUFPakIsK0JBQStCRyxDQUFDLENBQUM7UUFDMUM7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO0tBQ0g7SUFDRGEsa0JBQWtCO1FBQ2QsT0FBT0M7SUFDWDtJQUNBLE9BQU9BO0FBQ1g7QUFDQSxTQUFTcEI7SUFDTCxPQUFxQixXQUFILEdBQUksSUFBR0ksWUFBWWlCLEdBQUcsRUFBRSxTQUFTO1FBQy9DQyxVQUFVLENBQUMsR0FBR0osY0FBY0ssSUFBSSxFQUFFSixtQkFBbUJULFNBQVNjLE1BQU0sRUFBRVosT0FBT1ksTUFBTSxFQUFFaEIsUUFBUWdCLE1BQU0sRUFBRWYsU0FBU2UsTUFBTSxFQUFFakIsUUFBUWlCLE1BQU0sRUFBRWIsU0FBU2EsTUFBTSxFQUFFVixZQUFZVSxNQUFNLEVBQUVULGlCQUFpQlMsTUFBTSxFQUFFUixRQUFRUSxNQUFNLEVBQUVQLGNBQWNPLE1BQU0sRUFBRVgsc0JBQXNCVyxNQUFNO0lBQzFRO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBTzVCLFFBQVE2QixPQUFPLEtBQUssY0FBZSxPQUFPN0IsUUFBUTZCLE9BQU8sS0FBSyxZQUFZN0IsUUFBUTZCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzdCLFFBQVE2QixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLaEMsT0FBT0MsY0FBYyxDQUFDQyxRQUFRNkIsT0FBTyxFQUFFLGNBQWM7UUFBRTVCLE9BQU87SUFBSztJQUNuRUgsT0FBT2lDLE1BQU0sQ0FBQy9CLFFBQVE2QixPQUFPLEVBQUU3QjtJQUMvQmdDLE9BQU9oQyxPQUFPLEdBQUdBLFFBQVE2QixPQUFPO0FBQ2xDLEVBRUEsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9zdHlsZXMvQ29tcG9uZW50U3R5bGVzLmpzPzc4MTUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJDb21wb25lbnRTdHlsZXNcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENvbXBvbmVudFN0eWxlcztcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2VcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfc3R5bGVzID0gcmVxdWlyZShcIi4uL2NvbXBvbmVudHMvQ29kZUZyYW1lL3N0eWxlc1wiKTtcbmNvbnN0IF9EaWFsb2cgPSByZXF1aXJlKFwiLi4vY29tcG9uZW50cy9EaWFsb2dcIik7XG5jb25zdCBfc3R5bGVzMSA9IHJlcXVpcmUoXCIuLi9jb21wb25lbnRzL0xlZnRSaWdodERpYWxvZ0hlYWRlci9zdHlsZXNcIik7XG5jb25zdCBfc3R5bGVzMiA9IHJlcXVpcmUoXCIuLi9jb21wb25lbnRzL092ZXJsYXkvc3R5bGVzXCIpO1xuY29uc3QgX3N0eWxlczMgPSByZXF1aXJlKFwiLi4vY29tcG9uZW50cy9UZXJtaW5hbC9zdHlsZXNcIik7XG5jb25zdCBfVG9hc3QgPSByZXF1aXJlKFwiLi4vY29tcG9uZW50cy9Ub2FzdFwiKTtcbmNvbnN0IF9WZXJzaW9uU3RhbGVuZXNzSW5mbyA9IHJlcXVpcmUoXCIuLi9jb21wb25lbnRzL1ZlcnNpb25TdGFsZW5lc3NJbmZvXCIpO1xuY29uc3QgX0J1aWxkRXJyb3IgPSByZXF1aXJlKFwiLi4vY29udGFpbmVyL0J1aWxkRXJyb3JcIik7XG5jb25zdCBfUm9vdExheW91dEVycm9yID0gcmVxdWlyZShcIi4uL2NvbnRhaW5lci9Sb290TGF5b3V0RXJyb3JcIik7XG5jb25zdCBfRXJyb3JzID0gcmVxdWlyZShcIi4uL2NvbnRhaW5lci9FcnJvcnNcIik7XG5jb25zdCBfUnVudGltZUVycm9yID0gcmVxdWlyZShcIi4uL2NvbnRhaW5lci9SdW50aW1lRXJyb3JcIik7XG5jb25zdCBfbm9vcHRlbXBsYXRlID0gcmVxdWlyZShcIi4uL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZVwiKTtcbmZ1bmN0aW9uIF90ZW1wbGF0ZU9iamVjdCgpIHtcbiAgICBjb25zdCBkYXRhID0gX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlLl8oW1xuICAgICAgICBcIlxcbiAgICAgICAgXCIsXG4gICAgICAgIFwiXFxuICAgICAgICBcIixcbiAgICAgICAgXCJcXG4gICAgICAgIFwiLFxuICAgICAgICBcIlxcbiAgICAgICAgXCIsXG4gICAgICAgIFwiXFxuICAgICAgICBcIixcbiAgICAgICAgXCJcXG4gICAgICAgIFwiLFxuICAgICAgICBcIlxcbiAgICAgICAgXFxuICAgICAgICBcIixcbiAgICAgICAgXCJcXG4gICAgICAgIFwiLFxuICAgICAgICBcIlxcbiAgICAgICAgXCIsXG4gICAgICAgIFwiXFxuICAgICAgICBcIixcbiAgICAgICAgXCJcXG4gICAgICAgIFwiLFxuICAgICAgICBcIlxcbiAgICAgIFwiXG4gICAgXSk7XG4gICAgX3RlbXBsYXRlT2JqZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH07XG4gICAgcmV0dXJuIGRhdGE7XG59XG5mdW5jdGlvbiBDb21wb25lbnRTdHlsZXMoKSB7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzdHlsZVwiLCB7XG4gICAgICAgIGNoaWxkcmVuOiAoMCwgX25vb3B0ZW1wbGF0ZS5ub29wKShfdGVtcGxhdGVPYmplY3QoKSwgX3N0eWxlczIuc3R5bGVzLCBfVG9hc3Quc3R5bGVzLCBfRGlhbG9nLnN0eWxlcywgX3N0eWxlczEuc3R5bGVzLCBfc3R5bGVzLnN0eWxlcywgX3N0eWxlczMuc3R5bGVzLCBfQnVpbGRFcnJvci5zdHlsZXMsIF9Sb290TGF5b3V0RXJyb3Iuc3R5bGVzLCBfRXJyb3JzLnN0eWxlcywgX1J1bnRpbWVFcnJvci5zdHlsZXMsIF9WZXJzaW9uU3RhbGVuZXNzSW5mby5zdHlsZXMpXG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbXBvbmVudFN0eWxlcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiQ29tcG9uZW50U3R5bGVzIiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfc3R5bGVzIiwiX0RpYWxvZyIsIl9zdHlsZXMxIiwiX3N0eWxlczIiLCJfc3R5bGVzMyIsIl9Ub2FzdCIsIl9WZXJzaW9uU3RhbGVuZXNzSW5mbyIsIl9CdWlsZEVycm9yIiwiX1Jvb3RMYXlvdXRFcnJvciIsIl9FcnJvcnMiLCJfUnVudGltZUVycm9yIiwiX25vb3B0ZW1wbGF0ZSIsIl90ZW1wbGF0ZU9iamVjdCIsImRhdGEiLCJqc3giLCJjaGlsZHJlbiIsIm5vb3AiLCJzdHlsZXMiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js": /*!************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js ***! \************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CssReset\", ({\n enumerable: true,\n get: function() {\n return CssReset;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n :host {\\n all: initial;\\n\\n /* the direction property is not reset by 'all' */\\n direction: ltr;\\n }\\n\\n /*!\\n * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)\\n * Copyright 2011-2019 The Bootstrap Authors\\n * Copyright 2011-2019 Twitter, Inc.\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\\n */\\n *,\\n *::before,\\n *::after {\\n box-sizing: border-box;\\n }\\n\\n :host {\\n font-family: sans-serif;\\n line-height: 1.15;\\n -webkit-text-size-adjust: 100%;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n }\\n\\n article,\\n aside,\\n figcaption,\\n figure,\\n footer,\\n header,\\n hgroup,\\n main,\\n nav,\\n section {\\n display: block;\\n }\\n\\n :host {\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,\\n 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,\\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\\n 'Noto Color Emoji';\\n font-size: 16px;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #212529;\\n text-align: left;\\n background-color: #fff;\\n }\\n\\n [tabindex='-1']:focus:not(:focus-visible) {\\n outline: 0 !important;\\n }\\n\\n hr {\\n box-sizing: content-box;\\n height: 0;\\n overflow: visible;\\n }\\n\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n margin-top: 0;\\n margin-bottom: 8px;\\n }\\n\\n p {\\n margin-top: 0;\\n margin-bottom: 16px;\\n }\\n\\n abbr[title],\\n abbr[data-original-title] {\\n text-decoration: underline;\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n cursor: help;\\n border-bottom: 0;\\n -webkit-text-decoration-skip-ink: none;\\n text-decoration-skip-ink: none;\\n }\\n\\n address {\\n margin-bottom: 16px;\\n font-style: normal;\\n line-height: inherit;\\n }\\n\\n ol,\\n ul,\\n dl {\\n margin-top: 0;\\n margin-bottom: 16px;\\n }\\n\\n ol ol,\\n ul ul,\\n ol ul,\\n ul ol {\\n margin-bottom: 0;\\n }\\n\\n dt {\\n font-weight: 700;\\n }\\n\\n dd {\\n margin-bottom: 8px;\\n margin-left: 0;\\n }\\n\\n blockquote {\\n margin: 0 0 16px;\\n }\\n\\n b,\\n strong {\\n font-weight: bolder;\\n }\\n\\n small {\\n font-size: 80%;\\n }\\n\\n sub,\\n sup {\\n position: relative;\\n font-size: 75%;\\n line-height: 0;\\n vertical-align: baseline;\\n }\\n\\n sub {\\n bottom: -0.25em;\\n }\\n\\n sup {\\n top: -0.5em;\\n }\\n\\n a {\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent;\\n }\\n\\n a:hover {\\n color: #0056b3;\\n text-decoration: underline;\\n }\\n\\n a:not([href]) {\\n color: inherit;\\n text-decoration: none;\\n }\\n\\n a:not([href]):hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\\n pre,\\n code,\\n kbd,\\n samp {\\n font-family: SFMono-Regular, Menlo, Monaco, Consolas,\\n 'Liberation Mono', 'Courier New', monospace;\\n font-size: 1em;\\n }\\n\\n pre {\\n margin-top: 0;\\n margin-bottom: 16px;\\n overflow: auto;\\n }\\n\\n figure {\\n margin: 0 0 16px;\\n }\\n\\n img {\\n vertical-align: middle;\\n border-style: none;\\n }\\n\\n svg {\\n overflow: hidden;\\n vertical-align: middle;\\n }\\n\\n table {\\n border-collapse: collapse;\\n }\\n\\n caption {\\n padding-top: 12px;\\n padding-bottom: 12px;\\n color: #6c757d;\\n text-align: left;\\n caption-side: bottom;\\n }\\n\\n th {\\n text-align: inherit;\\n }\\n\\n label {\\n display: inline-block;\\n margin-bottom: 8px;\\n }\\n\\n button {\\n border-radius: 0;\\n }\\n\\n button:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color;\\n }\\n\\n input,\\n button,\\n select,\\n optgroup,\\n textarea {\\n margin: 0;\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n }\\n\\n button,\\n input {\\n overflow: visible;\\n }\\n\\n button,\\n select {\\n text-transform: none;\\n }\\n\\n select {\\n word-wrap: normal;\\n }\\n\\n button,\\n [type='button'],\\n [type='reset'],\\n [type='submit'] {\\n -webkit-appearance: button;\\n }\\n\\n button:not(:disabled),\\n [type='button']:not(:disabled),\\n [type='reset']:not(:disabled),\\n [type='submit']:not(:disabled) {\\n cursor: pointer;\\n }\\n\\n button::-moz-focus-inner,\\n [type='button']::-moz-focus-inner,\\n [type='reset']::-moz-focus-inner,\\n [type='submit']::-moz-focus-inner {\\n padding: 0;\\n border-style: none;\\n }\\n\\n input[type='radio'],\\n input[type='checkbox'] {\\n box-sizing: border-box;\\n padding: 0;\\n }\\n\\n input[type='date'],\\n input[type='time'],\\n input[type='datetime-local'],\\n input[type='month'] {\\n -webkit-appearance: listbox;\\n }\\n\\n textarea {\\n overflow: auto;\\n resize: vertical;\\n }\\n\\n fieldset {\\n min-width: 0;\\n padding: 0;\\n margin: 0;\\n border: 0;\\n }\\n\\n legend {\\n display: block;\\n width: 100%;\\n max-width: 100%;\\n padding: 0;\\n margin-bottom: 8px;\\n font-size: 24px;\\n line-height: inherit;\\n color: inherit;\\n white-space: normal;\\n }\\n\\n progress {\\n vertical-align: baseline;\\n }\\n\\n [type='number']::-webkit-inner-spin-button,\\n [type='number']::-webkit-outer-spin-button {\\n height: auto;\\n }\\n\\n [type='search'] {\\n outline-offset: -2px;\\n -webkit-appearance: none;\\n }\\n\\n [type='search']::-webkit-search-decoration {\\n -webkit-appearance: none;\\n }\\n\\n ::-webkit-file-upload-button {\\n font: inherit;\\n -webkit-appearance: button;\\n }\\n\\n output {\\n display: inline-block;\\n }\\n\\n summary {\\n display: list-item;\\n cursor: pointer;\\n }\\n\\n template {\\n display: none;\\n }\\n\\n [hidden] {\\n display: none !important;\\n }\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction CssReset() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject())\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CssReset.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9Dc3NSZXNldC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNENBQTJDO0lBQ3ZDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsaUNBQWlDRCxtQkFBT0EsQ0FBQyw4SEFBK0M7QUFDOUYsTUFBTUUsY0FBY0YsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1HLFNBQVMsV0FBVyxHQUFHSiwwQkFBMEJLLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUssZ0JBQWdCTCxtQkFBT0EsQ0FBQyxzSUFBMEI7QUFDeEQsU0FBU007SUFDTCxNQUFNQyxPQUFPTiwrQkFBK0JHLENBQUMsQ0FBQztRQUMxQztLQUNIO0lBQ0RFLGtCQUFrQjtRQUNkLE9BQU9DO0lBQ1g7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsU0FBU1Q7SUFDTCxPQUFxQixXQUFILEdBQUksSUFBR0ksWUFBWU0sR0FBRyxFQUFFLFNBQVM7UUFDL0NDLFVBQVUsQ0FBQyxHQUFHSixjQUFjSyxJQUFJLEVBQUVKO0lBQ3RDO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT1osUUFBUWlCLE9BQU8sS0FBSyxjQUFlLE9BQU9qQixRQUFRaUIsT0FBTyxLQUFLLFlBQVlqQixRQUFRaUIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPakIsUUFBUWlCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktwQixPQUFPQyxjQUFjLENBQUNDLFFBQVFpQixPQUFPLEVBQUUsY0FBYztRQUFFaEIsT0FBTztJQUFLO0lBQ25FSCxPQUFPcUIsTUFBTSxDQUFDbkIsUUFBUWlCLE9BQU8sRUFBRWpCO0lBQy9Cb0IsT0FBT3BCLE9BQU8sR0FBR0EsUUFBUWlCLE9BQU87QUFDbEMsRUFFQSxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9Dc3NSZXNldC5qcz8xYTM4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQ3NzUmVzZXRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENzc1Jlc2V0O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL190YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZVwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9ub29wdGVtcGxhdGUgPSByZXF1aXJlKFwiLi4vaGVscGVycy9ub29wLXRlbXBsYXRlXCIpO1xuZnVuY3Rpb24gX3RlbXBsYXRlT2JqZWN0KCkge1xuICAgIGNvbnN0IGRhdGEgPSBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuXyhbXG4gICAgICAgIFwiXFxuICAgICAgICA6aG9zdCB7XFxuICAgICAgICAgIGFsbDogaW5pdGlhbDtcXG5cXG4gICAgICAgICAgLyogdGhlIGRpcmVjdGlvbiBwcm9wZXJ0eSBpcyBub3QgcmVzZXQgYnkgJ2FsbCcgKi9cXG4gICAgICAgICAgZGlyZWN0aW9uOiBsdHI7XFxuICAgICAgICB9XFxuXFxuICAgICAgICAvKiFcXG4gICAgICAgICAqIEJvb3RzdHJhcCBSZWJvb3QgdjQuNC4xIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxcbiAgICAgICAgICogQ29weXJpZ2h0IDIwMTEtMjAxOSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcXG4gICAgICAgICAqIENvcHlyaWdodCAyMDExLTIwMTkgVHdpdHRlciwgSW5jLlxcbiAgICAgICAgICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcXG4gICAgICAgICAqIEZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MsIGxpY2Vuc2VkIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9ibG9iL21hc3Rlci9MSUNFTlNFLm1kKVxcbiAgICAgICAgICovXFxuICAgICAgICAqLFxcbiAgICAgICAgKjo6YmVmb3JlLFxcbiAgICAgICAgKjo6YWZ0ZXIge1xcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgOmhvc3Qge1xcbiAgICAgICAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XFxuICAgICAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcXG4gICAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgYXJ0aWNsZSxcXG4gICAgICAgIGFzaWRlLFxcbiAgICAgICAgZmlnY2FwdGlvbixcXG4gICAgICAgIGZpZ3VyZSxcXG4gICAgICAgIGZvb3RlcixcXG4gICAgICAgIGhlYWRlcixcXG4gICAgICAgIGhncm91cCxcXG4gICAgICAgIG1haW4sXFxuICAgICAgICBuYXYsXFxuICAgICAgICBzZWN0aW9uIHtcXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XFxuICAgICAgICB9XFxuXFxuICAgICAgICA6aG9zdCB7XFxuICAgICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLFxcbiAgICAgICAgICAgICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCAnTm90byBTYW5zJywgc2Fucy1zZXJpZixcXG4gICAgICAgICAgICAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCAnU2Vnb2UgVUkgU3ltYm9sJyxcXG4gICAgICAgICAgICAnTm90byBDb2xvciBFbW9qaSc7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gICAgICAgICAgY29sb3I6ICMyMTI1Mjk7XFxuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XFxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBbdGFiaW5kZXg9Jy0xJ106Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XFxuICAgICAgICAgIG91dGxpbmU6IDAgIWltcG9ydGFudDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGhyIHtcXG4gICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XFxuICAgICAgICAgIGhlaWdodDogMDtcXG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBoMSxcXG4gICAgICAgIGgyLFxcbiAgICAgICAgaDMsXFxuICAgICAgICBoNCxcXG4gICAgICAgIGg1LFxcbiAgICAgICAgaDYge1xcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBwIHtcXG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGFiYnJbdGl0bGVdLFxcbiAgICAgICAgYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbiAgICAgICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgICAgICAgICBjdXJzb3I6IGhlbHA7XFxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XFxuICAgICAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lO1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBhZGRyZXNzIHtcXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcXG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIG9sLFxcbiAgICAgICAgdWwsXFxuICAgICAgICBkbCB7XFxuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XFxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBvbCBvbCxcXG4gICAgICAgIHVsIHVsLFxcbiAgICAgICAgb2wgdWwsXFxuICAgICAgICB1bCBvbCB7XFxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBkdCB7XFxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBkZCB7XFxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBibG9ja3F1b3RlIHtcXG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTZweDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGIsXFxuICAgICAgICBzdHJvbmcge1xcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgc21hbGwge1xcbiAgICAgICAgICBmb250LXNpemU6IDgwJTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHN1YixcXG4gICAgICAgIHN1cCB7XFxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgICAgICAgZm9udC1zaXplOiA3NSU7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBzdWIge1xcbiAgICAgICAgICBib3R0b206IC0wLjI1ZW07XFxuICAgICAgICB9XFxuXFxuICAgICAgICBzdXAge1xcbiAgICAgICAgICB0b3A6IC0wLjVlbTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGEge1xcbiAgICAgICAgICBjb2xvcjogIzAwN2JmZjtcXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGE6aG92ZXIge1xcbiAgICAgICAgICBjb2xvcjogIzAwNTZiMztcXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBhOm5vdChbaHJlZl0pIHtcXG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGE6bm90KFtocmVmXSk6aG92ZXIge1xcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgcHJlLFxcbiAgICAgICAgY29kZSxcXG4gICAgICAgIGtiZCxcXG4gICAgICAgIHNhbXAge1xcbiAgICAgICAgICBmb250LWZhbWlseTogU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLFxcbiAgICAgICAgICAgICdMaWJlcmF0aW9uIE1vbm8nLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgcHJlIHtcXG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcXG4gICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XFxuICAgICAgICB9XFxuXFxuICAgICAgICBmaWd1cmUge1xcbiAgICAgICAgICBtYXJnaW46IDAgMCAxNnB4O1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaW1nIHtcXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgc3ZnIHtcXG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHRhYmxlIHtcXG4gICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGNhcHRpb24ge1xcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XFxuICAgICAgICAgIGNvbG9yOiAjNmM3NTdkO1xcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcbiAgICAgICAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHRoIHtcXG4gICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGxhYmVsIHtcXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBidXR0b24ge1xcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgYnV0dG9uOmZvY3VzIHtcXG4gICAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZDtcXG4gICAgICAgICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaW5wdXQsXFxuICAgICAgICBidXR0b24sXFxuICAgICAgICBzZWxlY3QsXFxuICAgICAgICBvcHRncm91cCxcXG4gICAgICAgIHRleHRhcmVhIHtcXG4gICAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcXG4gICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGJ1dHRvbixcXG4gICAgICAgIGlucHV0IHtcXG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBidXR0b24sXFxuICAgICAgICBzZWxlY3Qge1xcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHNlbGVjdCB7XFxuICAgICAgICAgIHdvcmQtd3JhcDogbm9ybWFsO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgYnV0dG9uLFxcbiAgICAgICAgW3R5cGU9J2J1dHRvbiddLFxcbiAgICAgICAgW3R5cGU9J3Jlc2V0J10sXFxuICAgICAgICBbdHlwZT0nc3VibWl0J10ge1xcbiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGJ1dHRvbjpub3QoOmRpc2FibGVkKSxcXG4gICAgICAgIFt0eXBlPSdidXR0b24nXTpub3QoOmRpc2FibGVkKSxcXG4gICAgICAgIFt0eXBlPSdyZXNldCddOm5vdCg6ZGlzYWJsZWQpLFxcbiAgICAgICAgW3R5cGU9J3N1Ym1pdCddOm5vdCg6ZGlzYWJsZWQpIHtcXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxcbiAgICAgICAgW3R5cGU9J2J1dHRvbiddOjotbW96LWZvY3VzLWlubmVyLFxcbiAgICAgICAgW3R5cGU9J3Jlc2V0J106Oi1tb3otZm9jdXMtaW5uZXIsXFxuICAgICAgICBbdHlwZT0nc3VibWl0J106Oi1tb3otZm9jdXMtaW5uZXIge1xcbiAgICAgICAgICBwYWRkaW5nOiAwO1xcbiAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddLFxcbiAgICAgICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XFxuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICAgICAgICAgIHBhZGRpbmc6IDA7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpbnB1dFt0eXBlPSdkYXRlJ10sXFxuICAgICAgICBpbnB1dFt0eXBlPSd0aW1lJ10sXFxuICAgICAgICBpbnB1dFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxcbiAgICAgICAgaW5wdXRbdHlwZT0nbW9udGgnXSB7XFxuICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbGlzdGJveDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHRleHRhcmVhIHtcXG4gICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XFxuICAgICAgICAgIHJlc2l6ZTogdmVydGljYWw7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBmaWVsZHNldCB7XFxuICAgICAgICAgIG1pbi13aWR0aDogMDtcXG4gICAgICAgICAgcGFkZGluZzogMDtcXG4gICAgICAgICAgbWFyZ2luOiAwO1xcbiAgICAgICAgICBib3JkZXI6IDA7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBsZWdlbmQge1xcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcXG4gICAgICAgICAgcGFkZGluZzogMDtcXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcXG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHByb2dyZXNzIHtcXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgW3R5cGU9J251bWJlciddOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxcbiAgICAgICAgW3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcXG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgW3R5cGU9J3NlYXJjaCddIHtcXG4gICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XFxuICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XFxuICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xcbiAgICAgICAgICBmb250OiBpbmhlcml0O1xcbiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIG91dHB1dCB7XFxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHN1bW1hcnkge1xcbiAgICAgICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XFxuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHRlbXBsYXRlIHtcXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIFtoaWRkZW5dIHtcXG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xcbiAgICAgICAgfVxcbiAgICAgIFwiXG4gICAgXSk7XG4gICAgX3RlbXBsYXRlT2JqZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH07XG4gICAgcmV0dXJuIGRhdGE7XG59XG5mdW5jdGlvbiBDc3NSZXNldCgpIHtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInN0eWxlXCIsIHtcbiAgICAgICAgY2hpbGRyZW46ICgwLCBfbm9vcHRlbXBsYXRlLm5vb3ApKF90ZW1wbGF0ZU9iamVjdCgpKVxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Dc3NSZXNldC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiQ3NzUmVzZXQiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9ub29wdGVtcGxhdGUiLCJfdGVtcGxhdGVPYmplY3QiLCJkYXRhIiwianN4IiwiY2hpbGRyZW4iLCJub29wIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js": /*!***********************************************************************!*\ !*** ./node_modules/next/dist/client/components/redirect-boundary.js ***! \***********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RedirectErrorBoundary: function() {\n return RedirectErrorBoundary;\n },\n RedirectBoundary: function() {\n return RedirectBoundary;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(ssr)/./node_modules/next/dist/client/components/redirect.js\");\nfunction HandleRedirect(param) {\n let { redirect, reset, redirectType } = param;\n const router = (0, _navigation.useRouter)();\n (0, _react.useEffect)(()=>{\n _react.default.startTransition(()=>{\n if (redirectType === _redirect.RedirectType.push) {\n router.push(redirect, {});\n } else {\n router.replace(redirect, {});\n }\n reset();\n });\n }, [\n redirect,\n redirectType,\n reset,\n router\n ]);\n return null;\n}\nclass RedirectErrorBoundary extends _react.default.Component {\n static getDerivedStateFromError(error) {\n if ((0, _redirect.isRedirectError)(error)) {\n const url = (0, _redirect.getURLFromRedirectError)(error);\n const redirectType = (0, _redirect.getRedirectTypeFromError)(error);\n return {\n redirect: url,\n redirectType\n };\n }\n // Re-throw if error is not for redirect\n throw error;\n }\n render() {\n const { redirect, redirectType } = this.state;\n if (redirect !== null && redirectType !== null) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleRedirect, {\n redirect: redirect,\n redirectType: redirectType,\n reset: ()=>this.setState({\n redirect: null\n })\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.state = {\n redirect: null,\n redirectType: null\n };\n }\n}\nfunction RedirectBoundary(param) {\n let { children } = param;\n const router = (0, _navigation.useRouter)();\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(RedirectErrorBoundary, {\n router: router,\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=redirect-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LWJvdW5kYXJ5LmpzIiwibWFwcGluZ3MiOiJxREFFYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsdUJBQXVCO1FBQ25CLE9BQU9BO0lBQ1g7SUFDQUMsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCwwQkFBMEJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUksY0FBY0osbUJBQU9BLENBQUMsb0ZBQWM7QUFDMUMsTUFBTUssWUFBWUwsbUJBQU9BLENBQUMsZ0ZBQVk7QUFDdEMsU0FBU00sZUFBZUMsS0FBSztJQUN6QixJQUFJLEVBQUVDLFFBQVEsRUFBRUMsS0FBSyxFQUFFQyxZQUFZLEVBQUUsR0FBR0g7SUFDeEMsTUFBTUksU0FBUyxDQUFDLEdBQUdQLFlBQVlRLFNBQVM7SUFDdkMsSUFBR1YsT0FBT1csU0FBUyxFQUFFO1FBQ2xCWCxPQUFPWSxPQUFPLENBQUNDLGVBQWUsQ0FBQztZQUMzQixJQUFJTCxpQkFBaUJMLFVBQVVXLFlBQVksQ0FBQ0MsSUFBSSxFQUFFO2dCQUM5Q04sT0FBT00sSUFBSSxDQUFDVCxVQUFVLENBQUM7WUFDM0IsT0FBTztnQkFDSEcsT0FBT08sT0FBTyxDQUFDVixVQUFVLENBQUM7WUFDOUI7WUFDQUM7UUFDSjtJQUNKLEdBQUc7UUFDQ0Q7UUFDQUU7UUFDQUQ7UUFDQUU7S0FDSDtJQUNELE9BQU87QUFDWDtBQUNBLE1BQU1wQiw4QkFBOEJXLE9BQU9ZLE9BQU8sQ0FBQ0ssU0FBUztJQUN4RCxPQUFPQyx5QkFBeUJDLEtBQUssRUFBRTtRQUNuQyxJQUFJLENBQUMsR0FBR2hCLFVBQVVpQixlQUFlLEVBQUVELFFBQVE7WUFDdkMsTUFBTUUsTUFBTSxDQUFDLEdBQUdsQixVQUFVbUIsdUJBQXVCLEVBQUVIO1lBQ25ELE1BQU1YLGVBQWUsQ0FBQyxHQUFHTCxVQUFVb0Isd0JBQXdCLEVBQUVKO1lBQzdELE9BQU87Z0JBQ0hiLFVBQVVlO2dCQUNWYjtZQUNKO1FBQ0o7UUFDQSx3Q0FBd0M7UUFDeEMsTUFBTVc7SUFDVjtJQUNBSyxTQUFTO1FBQ0wsTUFBTSxFQUFFbEIsUUFBUSxFQUFFRSxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUNpQixLQUFLO1FBQzdDLElBQUluQixhQUFhLFFBQVFFLGlCQUFpQixNQUFNO1lBQzVDLE9BQXFCLFdBQUgsR0FBSSxJQUFHVCxZQUFZMkIsR0FBRyxFQUFFdEIsZ0JBQWdCO2dCQUN0REUsVUFBVUE7Z0JBQ1ZFLGNBQWNBO2dCQUNkRCxPQUFPLElBQUksSUFBSSxDQUFDb0IsUUFBUSxDQUFDO3dCQUNqQnJCLFVBQVU7b0JBQ2Q7WUFDUjtRQUNKO1FBQ0EsT0FBTyxJQUFJLENBQUNzQixLQUFLLENBQUNDLFFBQVE7SUFDOUI7SUFDQUMsWUFBWUYsS0FBSyxDQUFDO1FBQ2QsS0FBSyxDQUFDQTtRQUNOLElBQUksQ0FBQ0gsS0FBSyxHQUFHO1lBQ1RuQixVQUFVO1lBQ1ZFLGNBQWM7UUFDbEI7SUFDSjtBQUNKO0FBQ0EsU0FBU2xCLGlCQUFpQmUsS0FBSztJQUMzQixJQUFJLEVBQUV3QixRQUFRLEVBQUUsR0FBR3hCO0lBQ25CLE1BQU1JLFNBQVMsQ0FBQyxHQUFHUCxZQUFZUSxTQUFTO0lBQ3hDLE9BQXFCLFdBQUgsR0FBSSxJQUFHWCxZQUFZMkIsR0FBRyxFQUFFckMsdUJBQXVCO1FBQzdEb0IsUUFBUUE7UUFDUm9CLFVBQVVBO0lBQ2Q7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPM0MsUUFBUTBCLE9BQU8sS0FBSyxjQUFlLE9BQU8xQixRQUFRMEIsT0FBTyxLQUFLLFlBQVkxQixRQUFRMEIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPMUIsUUFBUTBCLE9BQU8sQ0FBQ21CLFVBQVUsS0FBSyxhQUFhO0lBQ3JLL0MsT0FBT0MsY0FBYyxDQUFDQyxRQUFRMEIsT0FBTyxFQUFFLGNBQWM7UUFBRXpCLE9BQU87SUFBSztJQUNuRUgsT0FBT2dELE1BQU0sQ0FBQzlDLFFBQVEwQixPQUFPLEVBQUUxQjtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRMEIsT0FBTztBQUNsQyxFQUVBLDZDQUE2QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVkaXJlY3QtYm91bmRhcnkuanM/YjQ0NCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBSZWRpcmVjdEVycm9yQm91bmRhcnk6IG51bGwsXG4gICAgUmVkaXJlY3RCb3VuZGFyeTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBSZWRpcmVjdEVycm9yQm91bmRhcnk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVkaXJlY3RFcnJvckJvdW5kYXJ5O1xuICAgIH0sXG4gICAgUmVkaXJlY3RCb3VuZGFyeTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSZWRpcmVjdEJvdW5kYXJ5O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX25hdmlnYXRpb24gPSByZXF1aXJlKFwiLi9uYXZpZ2F0aW9uXCIpO1xuY29uc3QgX3JlZGlyZWN0ID0gcmVxdWlyZShcIi4vcmVkaXJlY3RcIik7XG5mdW5jdGlvbiBIYW5kbGVSZWRpcmVjdChwYXJhbSkge1xuICAgIGxldCB7IHJlZGlyZWN0LCByZXNldCwgcmVkaXJlY3RUeXBlIH0gPSBwYXJhbTtcbiAgICBjb25zdCByb3V0ZXIgPSAoMCwgX25hdmlnYXRpb24udXNlUm91dGVyKSgpO1xuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICBfcmVhY3QuZGVmYXVsdC5zdGFydFRyYW5zaXRpb24oKCk9PntcbiAgICAgICAgICAgIGlmIChyZWRpcmVjdFR5cGUgPT09IF9yZWRpcmVjdC5SZWRpcmVjdFR5cGUucHVzaCkge1xuICAgICAgICAgICAgICAgIHJvdXRlci5wdXNoKHJlZGlyZWN0LCB7fSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJvdXRlci5yZXBsYWNlKHJlZGlyZWN0LCB7fSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNldCgpO1xuICAgICAgICB9KTtcbiAgICB9LCBbXG4gICAgICAgIHJlZGlyZWN0LFxuICAgICAgICByZWRpcmVjdFR5cGUsXG4gICAgICAgIHJlc2V0LFxuICAgICAgICByb3V0ZXJcbiAgICBdKTtcbiAgICByZXR1cm4gbnVsbDtcbn1cbmNsYXNzIFJlZGlyZWN0RXJyb3JCb3VuZGFyeSBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlcnJvcikge1xuICAgICAgICBpZiAoKDAsIF9yZWRpcmVjdC5pc1JlZGlyZWN0RXJyb3IpKGVycm9yKSkge1xuICAgICAgICAgICAgY29uc3QgdXJsID0gKDAsIF9yZWRpcmVjdC5nZXRVUkxGcm9tUmVkaXJlY3RFcnJvcikoZXJyb3IpO1xuICAgICAgICAgICAgY29uc3QgcmVkaXJlY3RUeXBlID0gKDAsIF9yZWRpcmVjdC5nZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3IpKGVycm9yKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVkaXJlY3Q6IHVybCxcbiAgICAgICAgICAgICAgICByZWRpcmVjdFR5cGVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gUmUtdGhyb3cgaWYgZXJyb3IgaXMgbm90IGZvciByZWRpcmVjdFxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCB7IHJlZGlyZWN0LCByZWRpcmVjdFR5cGUgfSA9IHRoaXMuc3RhdGU7XG4gICAgICAgIGlmIChyZWRpcmVjdCAhPT0gbnVsbCAmJiByZWRpcmVjdFR5cGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKEhhbmRsZVJlZGlyZWN0LCB7XG4gICAgICAgICAgICAgICAgcmVkaXJlY3Q6IHJlZGlyZWN0LFxuICAgICAgICAgICAgICAgIHJlZGlyZWN0VHlwZTogcmVkaXJlY3RUeXBlLFxuICAgICAgICAgICAgICAgIHJlc2V0OiAoKT0+dGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWRpcmVjdDogbnVsbFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW47XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHByb3BzKXtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgcmVkaXJlY3Q6IG51bGwsXG4gICAgICAgICAgICByZWRpcmVjdFR5cGU6IG51bGxcbiAgICAgICAgfTtcbiAgICB9XG59XG5mdW5jdGlvbiBSZWRpcmVjdEJvdW5kYXJ5KHBhcmFtKSB7XG4gICAgbGV0IHsgY2hpbGRyZW4gfSA9IHBhcmFtO1xuICAgIGNvbnN0IHJvdXRlciA9ICgwLCBfbmF2aWdhdGlvbi51c2VSb3V0ZXIpKCk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoUmVkaXJlY3RFcnJvckJvdW5kYXJ5LCB7XG4gICAgICAgIHJvdXRlcjogcm91dGVyLFxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVkaXJlY3QtYm91bmRhcnkuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiUmVkaXJlY3RFcnJvckJvdW5kYXJ5IiwiUmVkaXJlY3RCb3VuZGFyeSIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwiX25hdmlnYXRpb24iLCJfcmVkaXJlY3QiLCJIYW5kbGVSZWRpcmVjdCIsInBhcmFtIiwicmVkaXJlY3QiLCJyZXNldCIsInJlZGlyZWN0VHlwZSIsInJvdXRlciIsInVzZVJvdXRlciIsInVzZUVmZmVjdCIsImRlZmF1bHQiLCJzdGFydFRyYW5zaXRpb24iLCJSZWRpcmVjdFR5cGUiLCJwdXNoIiwicmVwbGFjZSIsIkNvbXBvbmVudCIsImdldERlcml2ZWRTdGF0ZUZyb21FcnJvciIsImVycm9yIiwiaXNSZWRpcmVjdEVycm9yIiwidXJsIiwiZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IiLCJnZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3IiLCJyZW5kZXIiLCJzdGF0ZSIsImpzeCIsInNldFN0YXRlIiwicHJvcHMiLCJjaGlsZHJlbiIsImNvbnN0cnVjdG9yIiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/redirect-status-code.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/redirect-status-code.js ***! \**************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RedirectStatusCode\", ({\n enumerable: true,\n get: function() {\n return RedirectStatusCode;\n }\n}));\nvar RedirectStatusCode;\n(function(RedirectStatusCode) {\n RedirectStatusCode[RedirectStatusCode[\"SeeOther\"] = 303] = \"SeeOther\";\n RedirectStatusCode[RedirectStatusCode[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n RedirectStatusCode[RedirectStatusCode[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n})(RedirectStatusCode || (RedirectStatusCode = {}));\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=redirect-status-code.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LXN0YXR1cy1jb2RlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixJQUFJQTtBQUNILFVBQVNBLGtCQUFrQjtJQUN4QkEsa0JBQWtCLENBQUNBLGtCQUFrQixDQUFDLFdBQVcsR0FBRyxJQUFJLEdBQUc7SUFDM0RBLGtCQUFrQixDQUFDQSxrQkFBa0IsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLEdBQUc7SUFDcEVBLGtCQUFrQixDQUFDQSxrQkFBa0IsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLEdBQUc7QUFDeEUsR0FBR0Esc0JBQXVCQSxDQUFBQSxxQkFBcUIsQ0FBQztBQUVoRCxJQUFJLENBQUMsT0FBT0osUUFBUUssT0FBTyxLQUFLLGNBQWUsT0FBT0wsUUFBUUssT0FBTyxLQUFLLFlBQVlMLFFBQVFLLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT0wsUUFBUUssT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS1IsT0FBT0MsY0FBYyxDQUFDQyxRQUFRSyxPQUFPLEVBQUUsY0FBYztRQUFFSixPQUFPO0lBQUs7SUFDbkVILE9BQU9TLE1BQU0sQ0FBQ1AsUUFBUUssT0FBTyxFQUFFTDtJQUMvQlEsT0FBT1IsT0FBTyxHQUFHQSxRQUFRSyxPQUFPO0FBQ2xDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWRpcmVjdC1zdGF0dXMtY29kZS5qcz80YjEzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiUmVkaXJlY3RTdGF0dXNDb2RlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSZWRpcmVjdFN0YXR1c0NvZGU7XG4gICAgfVxufSk7XG52YXIgUmVkaXJlY3RTdGF0dXNDb2RlO1xuKGZ1bmN0aW9uKFJlZGlyZWN0U3RhdHVzQ29kZSkge1xuICAgIFJlZGlyZWN0U3RhdHVzQ29kZVtSZWRpcmVjdFN0YXR1c0NvZGVbXCJTZWVPdGhlclwiXSA9IDMwM10gPSBcIlNlZU90aGVyXCI7XG4gICAgUmVkaXJlY3RTdGF0dXNDb2RlW1JlZGlyZWN0U3RhdHVzQ29kZVtcIlRlbXBvcmFyeVJlZGlyZWN0XCJdID0gMzA3XSA9IFwiVGVtcG9yYXJ5UmVkaXJlY3RcIjtcbiAgICBSZWRpcmVjdFN0YXR1c0NvZGVbUmVkaXJlY3RTdGF0dXNDb2RlW1wiUGVybWFuZW50UmVkaXJlY3RcIl0gPSAzMDhdID0gXCJQZXJtYW5lbnRSZWRpcmVjdFwiO1xufSkoUmVkaXJlY3RTdGF0dXNDb2RlIHx8IChSZWRpcmVjdFN0YXR1c0NvZGUgPSB7fSkpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWRpcmVjdC1zdGF0dXMtY29kZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiUmVkaXJlY3RTdGF0dXNDb2RlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/redirect-status-code.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/redirect.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/client/components/redirect.js ***! \**************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RedirectType: function() {\n return RedirectType;\n },\n getRedirectError: function() {\n return getRedirectError;\n },\n redirect: function() {\n return redirect;\n },\n permanentRedirect: function() {\n return permanentRedirect;\n },\n isRedirectError: function() {\n return isRedirectError;\n },\n getURLFromRedirectError: function() {\n return getURLFromRedirectError;\n },\n getRedirectTypeFromError: function() {\n return getRedirectTypeFromError;\n },\n getRedirectStatusCodeFromError: function() {\n return getRedirectStatusCodeFromError;\n }\n});\nconst _requestasyncstorageexternal = __webpack_require__(/*! ./request-async-storage.external */ \"./request-async-storage.external\");\nconst _actionasyncstorageexternal = __webpack_require__(/*! ./action-async-storage.external */ \"./action-async-storage.external\");\nconst _redirectstatuscode = __webpack_require__(/*! ./redirect-status-code */ \"(ssr)/./node_modules/next/dist/client/components/redirect-status-code.js\");\nconst REDIRECT_ERROR_CODE = \"NEXT_REDIRECT\";\nvar RedirectType;\n(function(RedirectType) {\n RedirectType[\"push\"] = \"push\";\n RedirectType[\"replace\"] = \"replace\";\n})(RedirectType || (RedirectType = {}));\nfunction getRedirectError(url, type, statusCode) {\n if (statusCode === void 0) statusCode = _redirectstatuscode.RedirectStatusCode.TemporaryRedirect;\n const error = new Error(REDIRECT_ERROR_CODE);\n error.digest = REDIRECT_ERROR_CODE + \";\" + type + \";\" + url + \";\" + statusCode + \";\";\n const requestStore = _requestasyncstorageexternal.requestAsyncStorage.getStore();\n if (requestStore) {\n error.mutableCookies = requestStore.mutableCookies;\n }\n return error;\n}\nfunction redirect(url, type) {\n if (type === void 0) type = \"replace\";\n const actionStore = _actionasyncstorageexternal.actionAsyncStorage.getStore();\n throw getRedirectError(url, type, // as we don't want the POST request to follow the redirect,\n // as it could result in erroneous re-submissions.\n (actionStore == null ? void 0 : actionStore.isAction) ? _redirectstatuscode.RedirectStatusCode.SeeOther : _redirectstatuscode.RedirectStatusCode.TemporaryRedirect);\n}\nfunction permanentRedirect(url, type) {\n if (type === void 0) type = \"replace\";\n const actionStore = _actionasyncstorageexternal.actionAsyncStorage.getStore();\n throw getRedirectError(url, type, // as we don't want the POST request to follow the redirect,\n // as it could result in erroneous re-submissions.\n (actionStore == null ? void 0 : actionStore.isAction) ? _redirectstatuscode.RedirectStatusCode.SeeOther : _redirectstatuscode.RedirectStatusCode.PermanentRedirect);\n}\nfunction isRedirectError(error) {\n if (typeof error !== \"object\" || error === null || !(\"digest\" in error) || typeof error.digest !== \"string\") {\n return false;\n }\n const [errorCode, type, destination, status] = error.digest.split(\";\", 4);\n const statusCode = Number(status);\n return errorCode === REDIRECT_ERROR_CODE && (type === \"replace\" || type === \"push\") && typeof destination === \"string\" && !isNaN(statusCode) && statusCode in _redirectstatuscode.RedirectStatusCode;\n}\nfunction getURLFromRedirectError(error) {\n if (!isRedirectError(error)) return null;\n // Slices off the beginning of the digest that contains the code and the\n // separating ';'.\n return error.digest.split(\";\", 3)[2];\n}\nfunction getRedirectTypeFromError(error) {\n if (!isRedirectError(error)) {\n throw new Error(\"Not a redirect error\");\n }\n return error.digest.split(\";\", 2)[1];\n}\nfunction getRedirectStatusCodeFromError(error) {\n if (!isRedirectError(error)) {\n throw new Error(\"Not a redirect error\");\n }\n return Number(error.digest.split(\";\", 4)[3]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=redirect.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBU047QUFDQSxTQUFTUyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJZixPQUFPQyxjQUFjLENBQUNhLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUVgsU0FBUztJQUNiRyxjQUFjO1FBQ1YsT0FBT0E7SUFDWDtJQUNBQyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPQTtJQUNYO0lBQ0FDLG1CQUFtQjtRQUNmLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtJQUNBQyx5QkFBeUI7UUFDckIsT0FBT0E7SUFDWDtJQUNBQywwQkFBMEI7UUFDdEIsT0FBT0E7SUFDWDtJQUNBQyxnQ0FBZ0M7UUFDNUIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sK0JBQStCQyxtQkFBT0EsQ0FBQywwRUFBa0M7QUFDL0UsTUFBTUMsOEJBQThCRCxtQkFBT0EsQ0FBQyx3RUFBaUM7QUFDN0UsTUFBTUUsc0JBQXNCRixtQkFBT0EsQ0FBQyx3R0FBd0I7QUFDNUQsTUFBTUcsc0JBQXNCO0FBQzVCLElBQUlsQjtBQUNILFVBQVNBLFlBQVk7SUFDbEJBLFlBQVksQ0FBQyxPQUFPLEdBQUc7SUFDdkJBLFlBQVksQ0FBQyxVQUFVLEdBQUc7QUFDOUIsR0FBR0EsZ0JBQWlCQSxDQUFBQSxlQUFlLENBQUM7QUFDcEMsU0FBU0MsaUJBQWlCa0IsR0FBRyxFQUFFQyxJQUFJLEVBQUVDLFVBQVU7SUFDM0MsSUFBSUEsZUFBZSxLQUFLLEdBQUdBLGFBQWFKLG9CQUFvQkss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LEVBQUUsY0FBYztRQUFFNUMsT0FBTztJQUFLO0lBQ25FSCxPQUFPaUQsTUFBTSxDQUFDL0MsUUFBUTZDLE9BQU8sRUFBRTdDO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVE2QyxPQUFPO0FBQ2xDLEVBRUEsb0NBQW9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWRpcmVjdC5qcz9iMjViIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUmVkaXJlY3RUeXBlOiBudWxsLFxuICAgIGdldFJlZGlyZWN0RXJyb3I6IG51bGwsXG4gICAgcmVkaXJlY3Q6IG51bGwsXG4gICAgcGVybWFuZW50UmVkaXJlY3Q6IG51bGwsXG4gICAgaXNSZWRpcmVjdEVycm9yOiBudWxsLFxuICAgIGdldFVSTEZyb21SZWRpcmVjdEVycm9yOiBudWxsLFxuICAgIGdldFJlZGlyZWN0VHlwZUZyb21FcnJvcjogbnVsbCxcbiAgICBnZXRSZWRpcmVjdFN0YXR1c0NvZGVGcm9tRXJyb3I6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUmVkaXJlY3RUeXBlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJlZGlyZWN0VHlwZTtcbiAgICB9LFxuICAgIGdldFJlZGlyZWN0RXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0UmVkaXJlY3RFcnJvcjtcbiAgICB9LFxuICAgIHJlZGlyZWN0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlZGlyZWN0O1xuICAgIH0sXG4gICAgcGVybWFuZW50UmVkaXJlY3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcGVybWFuZW50UmVkaXJlY3Q7XG4gICAgfSxcbiAgICBpc1JlZGlyZWN0RXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNSZWRpcmVjdEVycm9yO1xuICAgIH0sXG4gICAgZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3I7XG4gICAgfSxcbiAgICBnZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0UmVkaXJlY3RUeXBlRnJvbUVycm9yO1xuICAgIH0sXG4gICAgZ2V0UmVkaXJlY3RTdGF0dXNDb2RlRnJvbUVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFJlZGlyZWN0U3RhdHVzQ29kZUZyb21FcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9yZXF1ZXN0YXN5bmNzdG9yYWdlZXh0ZXJuYWwgPSByZXF1aXJlKFwiLi9yZXF1ZXN0LWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWxcIik7XG5jb25zdCBfYWN0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwgPSByZXF1aXJlKFwiLi9hY3Rpb24tYXN5bmMtc3RvcmFnZS5leHRlcm5hbFwiKTtcbmNvbnN0IF9yZWRpcmVjdHN0YXR1c2NvZGUgPSByZXF1aXJlKFwiLi9yZWRpcmVjdC1zdGF0dXMtY29kZVwiKTtcbmNvbnN0IFJFRElSRUNUX0VSUk9SX0NPREUgPSBcIk5FWFRfUkVESVJFQ1RcIjtcbnZhciBSZWRpcmVjdFR5cGU7XG4oZnVuY3Rpb24oUmVkaXJlY3RUeXBlKSB7XG4gICAgUmVkaXJlY3RUeXBlW1wicHVzaFwiXSA9IFwicHVzaFwiO1xuICAgIFJlZGlyZWN0VHlwZVtcInJlcGxhY2VcIl0gPSBcInJlcGxhY2VcIjtcbn0pKFJlZGlyZWN0VHlwZSB8fCAoUmVkaXJlY3RUeXBlID0ge30pKTtcbmZ1bmN0aW9uIGdldFJlZGlyZWN0RXJyb3IodXJsLCB0eXBlLCBzdGF0dXNDb2RlKSB7XG4gICAgaWYgKHN0YXR1c0NvZGUgPT09IHZvaWQgMCkgc3RhdHVzQ29kZSA9IF9yZWRpcmVjdHN0YXR1c2NvZGUuUmVkaXJlY3RTdGF0dXNDb2RlLlRlbXBvcmFyeVJlZGlyZWN0O1xuICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKFJFRElSRUNUX0VSUk9SX0NPREUpO1xuICAgIGVycm9yLmRpZ2VzdCA9IFJFRElSRUNUX0VSUk9SX0NPREUgKyBcIjtcIiArIHR5cGUgKyBcIjtcIiArIHVybCArIFwiO1wiICsgc3RhdHVzQ29kZSArIFwiO1wiO1xuICAgIGNvbnN0IHJlcXVlc3RTdG9yZSA9IF9yZXF1ZXN0YXN5bmNzdG9yYWdlZXh0ZXJuYWwucmVxdWVzdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO1xuICAgIGlmIChyZXF1ZXN0U3RvcmUpIHtcbiAgICAgICAgZXJyb3IubXV0YWJsZUNvb2tpZXMgPSByZXF1ZXN0U3RvcmUubXV0YWJsZUNvb2tpZXM7XG4gICAgfVxuICAgIHJldHVybiBlcnJvcjtcbn1cbmZ1bmN0aW9uIHJlZGlyZWN0KHVybCwgdHlwZSkge1xuICAgIGlmICh0eXBlID09PSB2b2lkIDApIHR5cGUgPSBcInJlcGxhY2VcIjtcbiAgICBjb25zdCBhY3Rpb25TdG9yZSA9IF9hY3Rpb25hc3luY3N0b3JhZ2VleHRlcm5hbC5hY3Rpb25Bc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtcbiAgICB0aHJvdyBnZXRSZWRpcmVjdEVycm9yKHVybCwgdHlwZSwgLy8gSWYgd2UncmUgaW4gYW4gYWN0aW9uLCB3ZSB3YW50IHRvIHVzZSBhIDMwMyByZWRpcmVjdFxuICAgIC8vIGFzIHdlIGRvbid0IHdhbnQgdGhlIFBPU1QgcmVxdWVzdCB0byBmb2xsb3cgdGhlIHJlZGlyZWN0LFxuICAgIC8vIGFzIGl0IGNvdWxkIHJlc3VsdCBpbiBlcnJvbmVvdXMgcmUtc3VibWlzc2lvbnMuXG4gICAgKGFjdGlvblN0b3JlID09IG51bGwgPyB2b2lkIDAgOiBhY3Rpb25TdG9yZS5pc0FjdGlvbikgPyBfcmVkaXJlY3RzdGF0dXNjb2RlLlJlZGlyZWN0U3RhdHVzQ29kZS5TZWVPdGhlciA6IF9yZWRpcmVjdHN0YXR1c2NvZGUuUmVkaXJlY3RTdGF0dXNDb2RlLlRlbXBvcmFyeVJlZGlyZWN0KTtcbn1cbmZ1bmN0aW9uIHBlcm1hbmVudFJlZGlyZWN0KHVybCwgdHlwZSkge1xuICAgIGlmICh0eXBlID09PSB2b2lkIDApIHR5cGUgPSBcInJlcGxhY2VcIjtcbiAgICBjb25zdCBhY3Rpb25TdG9yZSA9IF9hY3Rpb25hc3luY3N0b3JhZ2VleHRlcm5hbC5hY3Rpb25Bc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtcbiAgICB0aHJvdyBnZXRSZWRpcmVjdEVycm9yKHVybCwgdHlwZSwgLy8gSWYgd2UncmUgaW4gYW4gYWN0aW9uLCB3ZSB3YW50IHRvIHVzZSBhIDMwMyByZWRpcmVjdFxuICAgIC8vIGFzIHdlIGRvbid0IHdhbnQgdGhlIFBPU1QgcmVxdWVzdCB0byBmb2xsb3cgdGhlIHJlZGlyZWN0LFxuICAgIC8vIGFzIGl0IGNvdWxkIHJlc3VsdCBpbiBlcnJvbmVvdXMgcmUtc3VibWlzc2lvbnMuXG4gICAgKGFjdGlvblN0b3JlID09IG51bGwgPyB2b2lkIDAgOiBhY3Rpb25TdG9yZS5pc0FjdGlvbikgPyBfcmVkaXJlY3RzdGF0dXNjb2RlLlJlZGlyZWN0U3RhdHVzQ29kZS5TZWVPdGhlciA6IF9yZWRpcmVjdHN0YXR1c2NvZGUuUmVkaXJlY3RTdGF0dXNDb2RlLlBlcm1hbmVudFJlZGlyZWN0KTtcbn1cbmZ1bmN0aW9uIGlzUmVkaXJlY3RFcnJvcihlcnJvcikge1xuICAgIGlmICh0eXBlb2YgZXJyb3IgIT09IFwib2JqZWN0XCIgfHwgZXJyb3IgPT09IG51bGwgfHwgIShcImRpZ2VzdFwiIGluIGVycm9yKSB8fCB0eXBlb2YgZXJyb3IuZGlnZXN0ICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgW2Vycm9yQ29kZSwgdHlwZSwgZGVzdGluYXRpb24sIHN0YXR1c10gPSBlcnJvci5kaWdlc3Quc3BsaXQoXCI7XCIsIDQpO1xuICAgIGNvbnN0IHN0YXR1c0NvZGUgPSBOdW1iZXIoc3RhdHVzKTtcbiAgICByZXR1cm4gZXJyb3JDb2RlID09PSBSRURJUkVDVF9FUlJPUl9DT0RFICYmICh0eXBlID09PSBcInJlcGxhY2VcIiB8fCB0eXBlID09PSBcInB1c2hcIikgJiYgdHlwZW9mIGRlc3RpbmF0aW9uID09PSBcInN0cmluZ1wiICYmICFpc05hTihzdGF0dXNDb2RlKSAmJiBzdGF0dXNDb2RlIGluIF9yZWRpcmVjdHN0YXR1c2NvZGUuUmVkaXJlY3RTdGF0dXNDb2RlO1xufVxuZnVuY3Rpb24gZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IoZXJyb3IpIHtcbiAgICBpZiAoIWlzUmVkaXJlY3RFcnJvcihlcnJvcikpIHJldHVybiBudWxsO1xuICAgIC8vIFNsaWNlcyBvZmYgdGhlIGJlZ2lubmluZyBvZiB0aGUgZGlnZXN0IHRoYXQgY29udGFpbnMgdGhlIGNvZGUgYW5kIHRoZVxuICAgIC8vIHNlcGFyYXRpbmcgJzsnLlxuICAgIHJldHVybiBlcnJvci5kaWdlc3Quc3BsaXQoXCI7XCIsIDMpWzJdO1xufVxuZnVuY3Rpb24gZ2V0UmVkaXJlY3RUeXBlRnJvbUVycm9yKGVycm9yKSB7XG4gICAgaWYgKCFpc1JlZGlyZWN0RXJyb3IoZXJyb3IpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBhIHJlZGlyZWN0IGVycm9yXCIpO1xuICAgIH1cbiAgICByZXR1cm4gZXJyb3IuZGlnZXN0LnNwbGl0KFwiO1wiLCAyKVsxXTtcbn1cbmZ1bmN0aW9uIGdldFJlZGlyZWN0U3RhdHVzQ29kZUZyb21FcnJvcihlcnJvcikge1xuICAgIGlmICghaXNSZWRpcmVjdEVycm9yKGVycm9yKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgYSByZWRpcmVjdCBlcnJvclwiKTtcbiAgICB9XG4gICAgcmV0dXJuIE51bWJlcihlcnJvci5kaWdlc3Quc3BsaXQoXCI7XCIsIDQpWzNdKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVkaXJlY3QuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiUmVkaXJlY3RUeXBlIiwiZ2V0UmVkaXJlY3RFcnJvciIsInJlZGlyZWN0IiwicGVybWFuZW50UmVkaXJlY3QiLCJpc1JlZGlyZWN0RXJyb3IiLCJnZXRVUkxGcm9tUmVkaXJlY3RFcnJvciIsImdldFJlZGlyZWN0VHlwZUZyb21FcnJvciIsImdldFJlZGlyZWN0U3RhdHVzQ29kZUZyb21FcnJvciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9yZXF1ZXN0YXN5bmNzdG9yYWdlZXh0ZXJuYWwiLCJyZXF1aXJlIiwiX2FjdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsIiwiX3JlZGlyZWN0c3RhdHVzY29kZSIsIlJFRElSRUNUX0VSUk9SX0NPREUiLCJ1cmwiLCJ0eXBlIiwic3RhdHVzQ29kZSIsIlJlZGlyZWN0U3RhdHVzQ29kZSIsIlRlbXBvcmFyeVJlZGlyZWN0IiwiZXJyb3IiLCJFcnJvciIsImRpZ2VzdCIsInJlcXVlc3RTdG9yZSIsInJlcXVlc3RBc3luY1N0b3JhZ2UiLCJnZXRTdG9yZSIsIm11dGFibGVDb29raWVzIiwiYWN0aW9uU3RvcmUiLCJhY3Rpb25Bc3luY1N0b3JhZ2UiLCJpc0FjdGlvbiIsIlNlZU90aGVyIiwiUGVybWFuZW50UmVkaXJlY3QiLCJlcnJvckNvZGUiLCJkZXN0aW5hdGlvbiIsInN0YXR1cyIsInNwbGl0IiwiTnVtYmVyIiwiaXNOYU4iLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/redirect.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js": /*!**********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/render-from-template-context.js ***! \**********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return RenderFromTemplateContext;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nfunction RenderFromTemplateContext() {\n const children = (0, _react.useContext)(_approutercontextsharedruntime.TemplateContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=render-from-template-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6InFEQUVhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwyQ0FBMEM7SUFDdENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyw0QkFBNEJDLG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNQyxjQUFjRCxtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUUsU0FBUyxXQUFXLEdBQUdILDBCQUEwQkksQ0FBQyxDQUFDSCxtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNSSxpQ0FBaUNKLG1CQUFPQSxDQUFDLHVLQUFvRDtBQUNuRyxTQUFTRjtJQUNMLE1BQU1PLFdBQVcsQ0FBQyxHQUFHSCxPQUFPSSxVQUFVLEVBQUVGLCtCQUErQkcsZUFBZTtJQUN0RixPQUFxQixXQUFILEdBQUksSUFBR04sWUFBWU8sR0FBRyxFQUFFUCxZQUFZUSxRQUFRLEVBQUU7UUFDNURKLFVBQVVBO0lBQ2Q7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPWCxRQUFRZ0IsT0FBTyxLQUFLLGNBQWUsT0FBT2hCLFFBQVFnQixPQUFPLEtBQUssWUFBWWhCLFFBQVFnQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9oQixRQUFRZ0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS25CLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWdCLE9BQU8sRUFBRSxjQUFjO1FBQUVmLE9BQU87SUFBSztJQUNuRUgsT0FBT29CLE1BQU0sQ0FBQ2xCLFFBQVFnQixPQUFPLEVBQUVoQjtJQUMvQm1CLE9BQU9uQixPQUFPLEdBQUdBLFFBQVFnQixPQUFPO0FBQ2xDLEVBRUEsd0RBQXdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzPzhlZTYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVuZGVyRnJvbVRlbXBsYXRlQ29udGV4dDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmZ1bmN0aW9uIFJlbmRlckZyb21UZW1wbGF0ZUNvbnRleHQoKSB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5UZW1wbGF0ZUNvbnRleHQpO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJSZW5kZXJGcm9tVGVtcGxhdGVDb250ZXh0IiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJjaGlsZHJlbiIsInVzZUNvbnRleHQiLCJUZW1wbGF0ZUNvbnRleHQiLCJqc3giLCJGcmFnbWVudCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js": /*!**************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js ***! \**************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"applyFlightData\", ({\n enumerable: true,\n get: function() {\n return applyFlightData;\n }\n}));\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ./fill-lazy-items-till-leaf-with-head */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _fillcachewithnewsubtreedata = __webpack_require__(/*! ./fill-cache-with-new-subtree-data */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js\");\nfunction applyFlightData(existingCache, cache, flightDataPath, wasPrefetched) {\n if (wasPrefetched === void 0) wasPrefetched = false;\n // The one before last item is the router state tree patch\n const [treePatch, cacheNodeSeedData, head] = flightDataPath.slice(-3);\n // Handles case where prefetch only returns the router tree patch without rendered components.\n if (cacheNodeSeedData === null) {\n return false;\n }\n if (flightDataPath.length === 3) {\n const rsc = cacheNodeSeedData[2];\n cache.rsc = rsc;\n // This is a PPR-only field. When PPR is enabled, we shouldn't hit\n // this path during a navigation, but until PPR is fully implemented\n // yet it's possible the existing node does have a non-null\n // `prefetchRsc`. As an incremental step, we'll just de-opt to the\n // old behavior — no PPR value.\n cache.prefetchRsc = null;\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, existingCache, treePatch, cacheNodeSeedData, head, wasPrefetched);\n } else {\n // Copy rsc for the root node of the cache.\n cache.rsc = existingCache.rsc;\n // This is a PPR-only field. Unlike the previous branch, since we're\n // just cloning the existing cache node, we might as well keep the\n // PPR value, if it exists.\n cache.prefetchRsc = existingCache.prefetchRsc;\n cache.parallelRoutes = new Map(existingCache.parallelRoutes);\n // Create a copy of the existing cache with the rsc applied.\n (0, _fillcachewithnewsubtreedata.fillCacheWithNewSubTreeData)(cache, existingCache, flightDataPath, wasPrefetched);\n }\n return true;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=apply-flight-data.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2FwcGx5LWZsaWdodC1kYXRhLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxtREFBa0Q7SUFDOUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQ0FBaUNDLG1CQUFPQSxDQUFDLHFKQUF1QztBQUN0RixNQUFNQywrQkFBK0JELG1CQUFPQSxDQUFDLCtJQUFvQztBQUNqRixTQUFTRixnQkFBZ0JJLGFBQWEsRUFBRUMsS0FBSyxFQUFFQyxjQUFjLEVBQUVDLGFBQWE7SUFDeEUsSUFBSUEsa0JBQWtCLEtBQUssR0FBR0EsZ0JBQWdCO0lBQzlDLDBEQUEwRDtJQUMxRCxNQUFNLENBQUNDLFdBQVdDLG1CQUFtQkMsS0FBSyxHQUFHSixlQUFlSyxLQUFLLENBQUMsQ0FBQztJQUNuRSw4RkFBOEY7SUFDOUYsSUFBSUYsc0JBQXNCLE1BQU07UUFDNUIsT0FBTztJQUNYO0lBQ0EsSUFBSUgsZUFBZU0sTUFBTSxLQUFLLEdBQUc7UUFDN0IsTUFBTUMsTUFBTUosaUJBQWlCLENBQUMsRUFBRTtRQUNoQ0osTUFBTVEsR0FBRyxHQUFHQTtRQUNaLGtFQUFrRTtRQUNsRSxvRUFBb0U7UUFDcEUsMkRBQTJEO1FBQzNELGtFQUFrRTtRQUNsRSwrQkFBK0I7UUFDL0JSLE1BQU1TLFdBQVcsR0FBRztRQUNuQixJQUFHYiwrQkFBK0JjLDZCQUE2QixFQUFFVixPQUFPRCxlQUFlSSxXQUFXQyxtQkFBbUJDLE1BQU1IO0lBQ2hJLE9BQU87UUFDSCwyQ0FBMkM7UUFDM0NGLE1BQU1RLEdBQUcsR0FBR1QsY0FBY1MsR0FBRztRQUM3QixvRUFBb0U7UUFDcEUsa0VBQWtFO1FBQ2xFLDJCQUEyQjtRQUMzQlIsTUFBTVMsV0FBVyxHQUFHVixjQUFjVSxXQUFXO1FBQzdDVCxNQUFNVyxjQUFjLEdBQUcsSUFBSUMsSUFBSWIsY0FBY1ksY0FBYztRQUMzRCw0REFBNEQ7UUFDM0QsSUFBR2IsNkJBQTZCZSwyQkFBMkIsRUFBRWIsT0FBT0QsZUFBZUUsZ0JBQWdCQztJQUN4RztJQUNBLE9BQU87QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPWCxRQUFRdUIsT0FBTyxLQUFLLGNBQWUsT0FBT3ZCLFFBQVF1QixPQUFPLEtBQUssWUFBWXZCLFFBQVF1QixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU92QixRQUFRdUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySzFCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUXVCLE9BQU8sRUFBRSxjQUFjO1FBQUV0QixPQUFPO0lBQUs7SUFDbkVILE9BQU8yQixNQUFNLENBQUN6QixRQUFRdUIsT0FBTyxFQUFFdkI7SUFDL0IwQixPQUFPMUIsT0FBTyxHQUFHQSxRQUFRdUIsT0FBTztBQUNsQyxFQUVBLDZDQUE2QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvYXBwbHktZmxpZ2h0LWRhdGEuanM/ZjZkNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFwcGx5RmxpZ2h0RGF0YVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYXBwbHlGbGlnaHREYXRhO1xuICAgIH1cbn0pO1xuY29uc3QgX2ZpbGxsYXp5aXRlbXN0aWxsbGVhZndpdGhoZWFkID0gcmVxdWlyZShcIi4vZmlsbC1sYXp5LWl0ZW1zLXRpbGwtbGVhZi13aXRoLWhlYWRcIik7XG5jb25zdCBfZmlsbGNhY2hld2l0aG5ld3N1YnRyZWVkYXRhID0gcmVxdWlyZShcIi4vZmlsbC1jYWNoZS13aXRoLW5ldy1zdWJ0cmVlLWRhdGFcIik7XG5mdW5jdGlvbiBhcHBseUZsaWdodERhdGEoZXhpc3RpbmdDYWNoZSwgY2FjaGUsIGZsaWdodERhdGFQYXRoLCB3YXNQcmVmZXRjaGVkKSB7XG4gICAgaWYgKHdhc1ByZWZldGNoZWQgPT09IHZvaWQgMCkgd2FzUHJlZmV0Y2hlZCA9IGZhbHNlO1xuICAgIC8vIFRoZSBvbmUgYmVmb3JlIGxhc3QgaXRlbSBpcyB0aGUgcm91dGVyIHN0YXRlIHRyZWUgcGF0Y2hcbiAgICBjb25zdCBbdHJlZVBhdGNoLCBjYWNoZU5vZGVTZWVkRGF0YSwgaGVhZF0gPSBmbGlnaHREYXRhUGF0aC5zbGljZSgtMyk7XG4gICAgLy8gSGFuZGxlcyBjYXNlIHdoZXJlIHByZWZldGNoIG9ubHkgcmV0dXJucyB0aGUgcm91dGVyIHRyZWUgcGF0Y2ggd2l0aG91dCByZW5kZXJlZCBjb21wb25lbnRzLlxuICAgIGlmIChjYWNoZU5vZGVTZWVkRGF0YSA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChmbGlnaHREYXRhUGF0aC5sZW5ndGggPT09IDMpIHtcbiAgICAgICAgY29uc3QgcnNjID0gY2FjaGVOb2RlU2VlZERhdGFbMl07XG4gICAgICAgIGNhY2hlLnJzYyA9IHJzYztcbiAgICAgICAgLy8gVGhpcyBpcyBhIFBQUi1vbmx5IGZpZWxkLiBXaGVuIFBQUiBpcyBlbmFibGVkLCB3ZSBzaG91bGRuJ3QgaGl0XG4gICAgICAgIC8vIHRoaXMgcGF0aCBkdXJpbmcgYSBuYXZpZ2F0aW9uLCBidXQgdW50aWwgUFBSIGlzIGZ1bGx5IGltcGxlbWVudGVkXG4gICAgICAgIC8vIHlldCBpdCdzIHBvc3NpYmxlIHRoZSBleGlzdGluZyBub2RlIGRvZXMgaGF2ZSBhIG5vbi1udWxsXG4gICAgICAgIC8vIGBwcmVmZXRjaFJzY2AuIEFzIGFuIGluY3JlbWVudGFsIHN0ZXAsIHdlJ2xsIGp1c3QgZGUtb3B0IHRvIHRoZVxuICAgICAgICAvLyBvbGQgYmVoYXZpb3Ig4oCUIG5vIFBQUiB2YWx1ZS5cbiAgICAgICAgY2FjaGUucHJlZmV0Y2hSc2MgPSBudWxsO1xuICAgICAgICAoMCwgX2ZpbGxsYXp5aXRlbXN0aWxsbGVhZndpdGhoZWFkLmZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkKShjYWNoZSwgZXhpc3RpbmdDYWNoZSwgdHJlZVBhdGNoLCBjYWNoZU5vZGVTZWVkRGF0YSwgaGVhZCwgd2FzUHJlZmV0Y2hlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQ29weSByc2MgZm9yIHRoZSByb290IG5vZGUgb2YgdGhlIGNhY2hlLlxuICAgICAgICBjYWNoZS5yc2MgPSBleGlzdGluZ0NhY2hlLnJzYztcbiAgICAgICAgLy8gVGhpcyBpcyBhIFBQUi1vbmx5IGZpZWxkLiBVbmxpa2UgdGhlIHByZXZpb3VzIGJyYW5jaCwgc2luY2Ugd2UncmVcbiAgICAgICAgLy8ganVzdCBjbG9uaW5nIHRoZSBleGlzdGluZyBjYWNoZSBub2RlLCB3ZSBtaWdodCBhcyB3ZWxsIGtlZXAgdGhlXG4gICAgICAgIC8vIFBQUiB2YWx1ZSwgaWYgaXQgZXhpc3RzLlxuICAgICAgICBjYWNoZS5wcmVmZXRjaFJzYyA9IGV4aXN0aW5nQ2FjaGUucHJlZmV0Y2hSc2M7XG4gICAgICAgIGNhY2hlLnBhcmFsbGVsUm91dGVzID0gbmV3IE1hcChleGlzdGluZ0NhY2hlLnBhcmFsbGVsUm91dGVzKTtcbiAgICAgICAgLy8gQ3JlYXRlIGEgY29weSBvZiB0aGUgZXhpc3RpbmcgY2FjaGUgd2l0aCB0aGUgcnNjIGFwcGxpZWQuXG4gICAgICAgICgwLCBfZmlsbGNhY2hld2l0aG5ld3N1YnRyZWVkYXRhLmZpbGxDYWNoZVdpdGhOZXdTdWJUcmVlRGF0YSkoY2FjaGUsIGV4aXN0aW5nQ2FjaGUsIGZsaWdodERhdGFQYXRoLCB3YXNQcmVmZXRjaGVkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcGx5LWZsaWdodC1kYXRhLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJhcHBseUZsaWdodERhdGEiLCJfZmlsbGxhenlpdGVtc3RpbGxsZWFmd2l0aGhlYWQiLCJyZXF1aXJlIiwiX2ZpbGxjYWNoZXdpdGhuZXdzdWJ0cmVlZGF0YSIsImV4aXN0aW5nQ2FjaGUiLCJjYWNoZSIsImZsaWdodERhdGFQYXRoIiwid2FzUHJlZmV0Y2hlZCIsInRyZWVQYXRjaCIsImNhY2hlTm9kZVNlZWREYXRhIiwiaGVhZCIsInNsaWNlIiwibGVuZ3RoIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCIsInBhcmFsbGVsUm91dGVzIiwiTWFwIiwiZmlsbENhY2hlV2l0aE5ld1N1YlRyZWVEYXRhIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js ***! \*****************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n applyRouterStatePatchToFullTree: function() {\n return applyRouterStatePatchToFullTree;\n },\n applyRouterStatePatchToTreeSkipDefault: function() {\n return applyRouterStatePatchToTreeSkipDefault;\n }\n});\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\n/**\n * Deep merge of the two router states. Parallel route keys are preserved if the patch doesn't have them.\n */ function applyPatch(initialTree, patchTree, applyPatchToDefaultSegment) {\n if (applyPatchToDefaultSegment === void 0) applyPatchToDefaultSegment = false;\n const [initialSegment, initialParallelRoutes] = initialTree;\n const [patchSegment, patchParallelRoutes] = patchTree;\n // if the applied patch segment is __DEFAULT__ then it can be ignored in favor of the initial tree\n // this is because the __DEFAULT__ segment is used as a placeholder on navigation\n // however, there are cases where we _do_ want to apply the patch to the default segment,\n // such as when revalidating the router cache with router.refresh/revalidatePath\n if (!applyPatchToDefaultSegment && patchSegment === _segment.DEFAULT_SEGMENT_KEY && initialSegment !== _segment.DEFAULT_SEGMENT_KEY) {\n return initialTree;\n }\n if ((0, _matchsegments.matchSegment)(initialSegment, patchSegment)) {\n const newParallelRoutes = {};\n for(const key in initialParallelRoutes){\n const isInPatchTreeParallelRoutes = typeof patchParallelRoutes[key] !== \"undefined\";\n if (isInPatchTreeParallelRoutes) {\n newParallelRoutes[key] = applyPatch(initialParallelRoutes[key], patchParallelRoutes[key], applyPatchToDefaultSegment);\n } else {\n newParallelRoutes[key] = initialParallelRoutes[key];\n }\n }\n for(const key in patchParallelRoutes){\n if (newParallelRoutes[key]) {\n continue;\n }\n newParallelRoutes[key] = patchParallelRoutes[key];\n }\n const tree = [\n initialSegment,\n newParallelRoutes\n ];\n if (initialTree[2]) {\n tree[2] = initialTree[2];\n }\n if (initialTree[3]) {\n tree[3] = initialTree[3];\n }\n if (initialTree[4]) {\n tree[4] = initialTree[4];\n }\n return tree;\n }\n return patchTree;\n}\nfunction applyRouterStatePatchToTreeImpl(flightSegmentPath, flightRouterState, treePatch, applyPatchDefaultSegment) {\n if (applyPatchDefaultSegment === void 0) applyPatchDefaultSegment = false;\n const [segment, parallelRoutes, , , isRootLayout] = flightRouterState;\n // Root refresh\n if (flightSegmentPath.length === 1) {\n const tree = applyPatch(flightRouterState, treePatch, applyPatchDefaultSegment);\n return tree;\n }\n const [currentSegment, parallelRouteKey] = flightSegmentPath;\n // Tree path returned from the server should always match up with the current tree in the browser\n if (!(0, _matchsegments.matchSegment)(currentSegment, segment)) {\n return null;\n }\n const lastSegment = flightSegmentPath.length === 2;\n let parallelRoutePatch;\n if (lastSegment) {\n parallelRoutePatch = applyPatch(parallelRoutes[parallelRouteKey], treePatch, applyPatchDefaultSegment);\n } else {\n parallelRoutePatch = applyRouterStatePatchToTreeImpl(flightSegmentPath.slice(2), parallelRoutes[parallelRouteKey], treePatch, applyPatchDefaultSegment);\n if (parallelRoutePatch === null) {\n return null;\n }\n }\n const tree = [\n flightSegmentPath[0],\n {\n ...parallelRoutes,\n [parallelRouteKey]: parallelRoutePatch\n }\n ];\n // Current segment is the root layout\n if (isRootLayout) {\n tree[4] = true;\n }\n return tree;\n}\nfunction applyRouterStatePatchToFullTree(flightSegmentPath, flightRouterState, treePatch) {\n return applyRouterStatePatchToTreeImpl(flightSegmentPath, flightRouterState, treePatch, true);\n}\nfunction applyRouterStatePatchToTreeSkipDefault(flightSegmentPath, flightRouterState, treePatch) {\n return applyRouterStatePatchToTreeImpl(flightSegmentPath, flightRouterState, treePatch, false);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=apply-router-state-patch-to-tree.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2FwcGx5LXJvdXRlci1zdGF0ZS1wYXRjaC10by10cmVlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxpQ0FBaUM7UUFDN0IsT0FBT0E7SUFDWDtJQUNBQyx3Q0FBd0M7UUFDcEMsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sV0FBV0MsbUJBQU9BLENBQUMseUZBQTZCO0FBQ3RELE1BQU1DLGlCQUFpQkQsbUJBQU9BLENBQUMsNkZBQW1CO0FBQ2xEOztDQUVDLEdBQUcsU0FBU0UsV0FBV0MsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLDBCQUEwQjtJQUN0RSxJQUFJQSwrQkFBK0IsS0FBSyxHQUFHQSw2QkFBNkI7SUFDeEUsTUFBTSxDQUFDQyxnQkFBZ0JDLHNCQUFzQixHQUFHSjtJQUNoRCxNQUFNLENBQUNLLGNBQWNDLG9CQUFvQixHQUFHTDtJQUM1QyxrR0FBa0c7SUFDbEcsaUZBQWlGO0lBQ2pGLHlGQUF5RjtJQUN6RixnRkFBZ0Y7SUFDaEYsSUFBSSxDQUFDQyw4QkFBOEJHLGlCQUFpQlQsU0FBU1csbUJBQW1CLElBQUlKLG1CQUFtQlAsU0FBU1csbUJBQW1CLEVBQUU7UUFDakksT0FBT1A7SUFDWDtJQUNBLElBQUksQ0FBQyxHQUFHRixlQUFlVSxZQUFZLEVBQUVMLGdCQUFnQkUsZUFBZTtRQUNoRSxNQUFNSSxvQkFBb0IsQ0FBQztRQUMzQixJQUFJ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LGFBQWE7SUFDcks3QyxPQUFPQyxjQUFjLENBQUNDLFFBQVEwQyxPQUFPLEVBQUUsY0FBYztRQUFFekMsT0FBTztJQUFLO0lBQ25FSCxPQUFPOEMsTUFBTSxDQUFDNUMsUUFBUTBDLE9BQU8sRUFBRTFDO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVEwQyxPQUFPO0FBQ2xDLEVBRUEsNERBQTREIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9hcHBseS1yb3V0ZXItc3RhdGUtcGF0Y2gtdG8tdHJlZS5qcz9mN2MzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9GdWxsVHJlZTogbnVsbCxcbiAgICBhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVTa2lwRGVmYXVsdDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBhcHBseVJvdXRlclN0YXRlUGF0Y2hUb0Z1bGxUcmVlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFwcGx5Um91dGVyU3RhdGVQYXRjaFRvRnVsbFRyZWU7XG4gICAgfSxcbiAgICBhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVTa2lwRGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVTa2lwRGVmYXVsdDtcbiAgICB9XG59KTtcbmNvbnN0IF9zZWdtZW50ID0gcmVxdWlyZShcIi4uLy4uLy4uL3NoYXJlZC9saWIvc2VnbWVudFwiKTtcbmNvbnN0IF9tYXRjaHNlZ21lbnRzID0gcmVxdWlyZShcIi4uL21hdGNoLXNlZ21lbnRzXCIpO1xuLyoqXG4gKiBEZWVwIG1lcmdlIG9mIHRoZSB0d28gcm91dGVyIHN0YXRlcy4gUGFyYWxsZWwgcm91dGUga2V5cyBhcmUgcHJlc2VydmVkIGlmIHRoZSBwYXRjaCBkb2Vzbid0IGhhdmUgdGhlbS5cbiAqLyBmdW5jdGlvbiBhcHBseVBhdGNoKGluaXRpYWxUcmVlLCBwYXRjaFRyZWUsIGFwcGx5UGF0Y2hUb0RlZmF1bHRTZWdtZW50KSB7XG4gICAgaWYgKGFwcGx5UGF0Y2hUb0RlZmF1bHRTZWdtZW50ID09PSB2b2lkIDApIGFwcGx5UGF0Y2hUb0RlZmF1bHRTZWdtZW50ID0gZmFsc2U7XG4gICAgY29uc3QgW2luaXRpYWxTZWdtZW50LCBpbml0aWFsUGFyYWxsZWxSb3V0ZXNdID0gaW5pdGlhbFRyZWU7XG4gICAgY29uc3QgW3BhdGNoU2VnbWVudCwgcGF0Y2hQYXJhbGxlbFJvdXRlc10gPSBwYXRjaFRyZWU7XG4gICAgLy8gaWYgdGhlIGFwcGxpZWQgcGF0Y2ggc2VnbWVudCBpcyBfX0RFRkFVTFRfXyB0aGVuIGl0IGNhbiBiZSBpZ25vcmVkIGluIGZhdm9yIG9mIHRoZSBpbml0aWFsIHRyZWVcbiAgICAvLyB0aGlzIGlzIGJlY2F1c2UgdGhlIF9fREVGQVVMVF9fIHNlZ21lbnQgaXMgdXNlZCBhcyBhIHBsYWNlaG9sZGVyIG9uIG5hdmlnYXRpb25cbiAgICAvLyBob3dldmVyLCB0aGVyZSBhcmUgY2FzZXMgd2hlcmUgd2UgX2RvXyB3YW50IHRvIGFwcGx5IHRoZSBwYXRjaCB0byB0aGUgZGVmYXVsdCBzZWdtZW50LFxuICAgIC8vIHN1Y2ggYXMgd2hlbiByZXZhbGlkYXRpbmcgdGhlIHJvdXRlciBjYWNoZSB3aXRoIHJvdXRlci5yZWZyZXNoL3JldmFsaWRhdGVQYXRoXG4gICAgaWYgKCFhcHBseVBhdGNoVG9EZWZhdWx0U2VnbWVudCAmJiBwYXRjaFNlZ21lbnQgPT09IF9zZWdtZW50LkRFRkFVTFRfU0VHTUVOVF9LRVkgJiYgaW5pdGlhbFNlZ21lbnQgIT09IF9zZWdtZW50LkRFRkFVTFRfU0VHTUVOVF9LRVkpIHtcbiAgICAgICAgcmV0dXJuIGluaXRpYWxUcmVlO1xuICAgIH1cbiAgICBpZiAoKDAsIF9tYXRjaHNlZ21lbnRzLm1hdGNoU2VnbWVudCkoaW5pdGlhbFNlZ21lbnQsIHBhdGNoU2VnbWVudCkpIHtcbiAgICAgICAgY29uc3QgbmV3UGFyYWxsZWxSb3V0ZXMgPSB7fTtcbiAgICAgICAgZm9yKGNvbnN0IGtleSBpbiBpbml0aWFsUGFyYWxsZWxSb3V0ZXMpe1xuICAgICAgICAgICAgY29uc3QgaXNJblBhdGNoVHJlZVBhcmFsbGVsUm91dGVzID0gdHlwZW9mIHBhdGNoUGFyYWxsZWxSb3V0ZXNba2V5XSAhPT0gXCJ1bmRlZmluZWRcIjtcbiAgICAgICAgICAgIGlmIChpc0luUGF0Y2hUcmVlUGFyYWxsZWxSb3V0ZXMpIHtcbiAgICAgICAgICAgICAgICBuZXdQYXJhbGxlbFJvdXRlc1trZXldID0gYXBwbHlQYXRjaChpbml0aWFsUGFyYWxsZWxSb3V0ZXNba2V5XSwgcGF0Y2hQYXJhbGxlbFJvdXRlc1trZXldLCBhcHBseVBhdGNoVG9EZWZhdWx0U2VnbWVudCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5ld1BhcmFsbGVsUm91dGVzW2tleV0gPSBpbml0aWFsUGFyYWxsZWxSb3V0ZXNba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmb3IoY29uc3Qga2V5IGluIHBhdGNoUGFyYWxsZWxSb3V0ZXMpe1xuICAgICAgICAgICAgaWYgKG5ld1BhcmFsbGVsUm91dGVzW2tleV0pIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5ld1BhcmFsbGVsUm91dGVzW2tleV0gPSBwYXRjaFBhcmFsbGVsUm91dGVzW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdHJlZSA9IFtcbiAgICAgICAgICAgIGluaXRpYWxTZWdtZW50LFxuICAgICAgICAgICAgbmV3UGFyYWxsZWxSb3V0ZXNcbiAgICAgICAgXTtcbiAgICAgICAgaWYgKGluaXRpYWxUcmVlWzJdKSB7XG4gICAgICAgICAgICB0cmVlWzJdID0gaW5pdGlhbFRyZWVbMl07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluaXRpYWxUcmVlWzNdKSB7XG4gICAgICAgICAgICB0cmVlWzNdID0gaW5pdGlhbFRyZWVbM107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluaXRpYWxUcmVlWzRdKSB7XG4gICAgICAgICAgICB0cmVlWzRdID0gaW5pdGlhbFRyZWVbNF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRyZWU7XG4gICAgfVxuICAgIHJldHVybiBwYXRjaFRyZWU7XG59XG5mdW5jdGlvbiBhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVJbXBsKGZsaWdodFNlZ21lbnRQYXRoLCBmbGlnaHRSb3V0ZXJTdGF0ZSwgdHJlZVBhdGNoLCBhcHBseVBhdGNoRGVmYXVsdFNlZ21lbnQpIHtcbiAgICBpZiAoYXBwbHlQYXRjaERlZmF1bHRTZWdtZW50ID09PSB2b2lkIDApIGFwcGx5UGF0Y2hEZWZhdWx0U2VnbWVudCA9IGZhbHNlO1xuICAgIGNvbnN0IFtzZWdtZW50LCBwYXJhbGxlbFJvdXRlcywgLCAsIGlzUm9vdExheW91dF0gPSBmbGlnaHRSb3V0ZXJTdGF0ZTtcbiAgICAvLyBSb290IHJlZnJlc2hcbiAgICBpZiAoZmxpZ2h0U2VnbWVudFBhdGgubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIGNvbnN0IHRyZWUgPSBhcHBseVBhdGNoKGZsaWdodFJvdXRlclN0YXRlLCB0cmVlUGF0Y2gsIGFwcGx5UGF0Y2hEZWZhdWx0U2VnbWVudCk7XG4gICAgICAgIHJldHVybiB0cmVlO1xuICAgIH1cbiAgICBjb25zdCBbY3VycmVudFNlZ21lbnQsIHBhcmFsbGVsUm91dGVLZXldID0gZmxpZ2h0U2VnbWVudFBhdGg7XG4gICAgLy8gVHJlZSBwYXRoIHJldHVybmVkIGZyb20gdGhlIHNlcnZlciBzaG91bGQgYWx3YXlzIG1hdGNoIHVwIHdpdGggdGhlIGN1cnJlbnQgdHJlZSBpbiB0aGUgYnJvd3NlclxuICAgIGlmICghKDAsIF9tYXRjaHNlZ21lbnRzLm1hdGNoU2VnbWVudCkoY3VycmVudFNlZ21lbnQsIHNlZ21lbnQpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBsYXN0U2VnbWVudCA9IGZsaWdodFNlZ21lbnRQYXRoLmxlbmd0aCA9PT0gMjtcbiAgICBsZXQgcGFyYWxsZWxSb3V0ZVBhdGNoO1xuICAgIGlmIChsYXN0U2VnbWVudCkge1xuICAgICAgICBwYXJhbGxlbFJvdXRlUGF0Y2ggPSBhcHBseVBhdGNoKHBhcmFsbGVsUm91dGVzW3BhcmFsbGVsUm91dGVLZXldLCB0cmVlUGF0Y2gsIGFwcGx5UGF0Y2hEZWZhdWx0U2VnbWVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcGFyYWxsZWxSb3V0ZVBhdGNoID0gYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlSW1wbChmbGlnaHRTZWdtZW50UGF0aC5zbGljZSgyKSwgcGFyYWxsZWxSb3V0ZXNbcGFyYWxsZWxSb3V0ZUtleV0sIHRyZWVQYXRjaCwgYXBwbHlQYXRjaERlZmF1bHRTZWdtZW50KTtcbiAgICAgICAgaWYgKHBhcmFsbGVsUm91dGVQYXRjaCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgdHJlZSA9IFtcbiAgICAgICAgZmxpZ2h0U2VnbWVudFBhdGhbMF0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIC4uLnBhcmFsbGVsUm91dGVzLFxuICAgICAgICAgICAgW3BhcmFsbGVsUm91dGVLZXldOiBwYXJhbGxlbFJvdXRlUGF0Y2hcbiAgICAgICAgfVxuICAgIF07XG4gICAgLy8gQ3VycmVudCBzZWdtZW50IGlzIHRoZSByb290IGxheW91dFxuICAgIGlmIChpc1Jvb3RMYXlvdXQpIHtcbiAgICAgICAgdHJlZVs0XSA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiB0cmVlO1xufVxuZnVuY3Rpb24gYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9GdWxsVHJlZShmbGlnaHRTZWdtZW50UGF0aCwgZmxpZ2h0Um91dGVyU3RhdGUsIHRyZWVQYXRjaCkge1xuICAgIHJldHVybiBhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVJbXBsKGZsaWdodFNlZ21lbnRQYXRoLCBmbGlnaHRSb3V0ZXJTdGF0ZSwgdHJlZVBhdGNoLCB0cnVlKTtcbn1cbmZ1bmN0aW9uIGFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZVNraXBEZWZhdWx0KGZsaWdodFNlZ21lbnRQYXRoLCBmbGlnaHRSb3V0ZXJTdGF0ZSwgdHJlZVBhdGNoKSB7XG4gICAgcmV0dXJuIGFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZUltcGwoZmxpZ2h0U2VnbWVudFBhdGgsIGZsaWdodFJvdXRlclN0YXRlLCB0cmVlUGF0Y2gsIGZhbHNlKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwbHktcm91dGVyLXN0YXRlLXBhdGNoLXRvLXRyZWUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9GdWxsVHJlZSIsImFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZVNraXBEZWZhdWx0IiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3NlZ21lbnQiLCJyZXF1aXJlIiwiX21hdGNoc2VnbWVudHMiLCJhcHBseVBhdGNoIiwiaW5pdGlhbFRyZWUiLCJwYXRjaFRyZWUiLCJhcHBseVBhdGNoVG9EZWZhdWx0U2VnbWVudCIsImluaXRpYWxTZWdtZW50IiwiaW5pdGlhbFBhcmFsbGVsUm91dGVzIiwicGF0Y2hTZWdtZW50IiwicGF0Y2hQYXJhbGxlbFJvdXRlcyIsIkRFRkFVTFRfU0VHTUVOVF9LRVkiLCJtYXRjaFNlZ21lbnQiLCJuZXdQYXJhbGxlbFJvdXRlcyIsImtleSIsImlzSW5QYXRjaFRyZWVQYXJhbGxlbFJvdXRlcyIsInRyZWUiLCJhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVJbXBsIiwiZmxpZ2h0U2VnbWVudFBhdGgiLCJmbGlnaHRSb3V0ZXJTdGF0ZSIsInRyZWVQYXRjaCIsImFwcGx5UGF0Y2hEZWZhdWx0U2VnbWVudCIsInNlZ21lbnQiLCJwYXJhbGxlbFJvdXRlcyIsImlzUm9vdExheW91dCIsImxlbmd0aCIsImN1cnJlbnRTZWdtZW50IiwicGFyYWxsZWxSb3V0ZUtleSIsImxhc3RTZWdtZW50IiwicGFyYWxsZWxSb3V0ZVBhdGNoIiwic2xpY2UiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js ***! \*****************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n extractPathFromFlightRouterState: function() {\n return extractPathFromFlightRouterState;\n },\n computeChangedPath: function() {\n return computeChangedPath;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../server/future/helpers/interception-routes */ \"(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nconst removeLeadingSlash = (segment)=>{\n return segment[0] === \"/\" ? segment.slice(1) : segment;\n};\nconst segmentToPathname = (segment)=>{\n if (typeof segment === \"string\") {\n return segment;\n }\n return segment[1];\n};\nfunction normalizeSegments(segments) {\n return segments.reduce((acc, segment)=>{\n segment = removeLeadingSlash(segment);\n if (segment === \"\" || (0, _segment.isGroupSegment)(segment)) {\n return acc;\n }\n return acc + \"/\" + segment;\n }, \"\") || \"/\";\n}\nfunction extractPathFromFlightRouterState(flightRouterState) {\n const segment = Array.isArray(flightRouterState[0]) ? flightRouterState[0][1] : flightRouterState[0];\n if (segment === _segment.DEFAULT_SEGMENT_KEY || _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m))) return undefined;\n if (segment.startsWith(_segment.PAGE_SEGMENT_KEY)) return \"\";\n const segments = [\n segment\n ];\n var _flightRouterState_;\n const parallelRoutes = (_flightRouterState_ = flightRouterState[1]) != null ? _flightRouterState_ : {};\n const childrenPath = parallelRoutes.children ? extractPathFromFlightRouterState(parallelRoutes.children) : undefined;\n if (childrenPath !== undefined) {\n segments.push(childrenPath);\n } else {\n for (const [key, value] of Object.entries(parallelRoutes)){\n if (key === \"children\") continue;\n const childPath = extractPathFromFlightRouterState(value);\n if (childPath !== undefined) {\n segments.push(childPath);\n }\n }\n }\n return normalizeSegments(segments);\n}\nfunction computeChangedPathImpl(treeA, treeB) {\n const [segmentA, parallelRoutesA] = treeA;\n const [segmentB, parallelRoutesB] = treeB;\n const normalizedSegmentA = segmentToPathname(segmentA);\n const normalizedSegmentB = segmentToPathname(segmentB);\n if (_interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>normalizedSegmentA.startsWith(m) || normalizedSegmentB.startsWith(m))) {\n return \"\";\n }\n if (!(0, _matchsegments.matchSegment)(segmentA, segmentB)) {\n var _extractPathFromFlightRouterState;\n // once we find where the tree changed, we compute the rest of the path by traversing the tree\n return (_extractPathFromFlightRouterState = extractPathFromFlightRouterState(treeB)) != null ? _extractPathFromFlightRouterState : \"\";\n }\n for(const parallelRouterKey in parallelRoutesA){\n if (parallelRoutesB[parallelRouterKey]) {\n const changedPath = computeChangedPathImpl(parallelRoutesA[parallelRouterKey], parallelRoutesB[parallelRouterKey]);\n if (changedPath !== null) {\n return segmentToPathname(segmentB) + \"/\" + changedPath;\n }\n }\n }\n return null;\n}\nfunction computeChangedPath(treeA, treeB) {\n const changedPath = computeChangedPathImpl(treeA, treeB);\n if (changedPath == null || changedPath === \"/\") {\n return changedPath;\n }\n // lightweight normalization to remove route groups\n return normalizeSegments(changedPath.split(\"/\"));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=compute-changed-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NvbXB1dGUtY2hhbmdlZC1wYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxrQ0FBa0M7UUFDOUIsT0FBT0E7SUFDWDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sc0JBQXNCQyxtQkFBT0EsQ0FBQyx1SUFBb0Q7QUFDeEYsTUFBTUMsV0FBV0QsbUJBQU9BLENBQUMseUZBQTZCO0FBQ3RELE1BQU1FLGlCQUFpQkYsbUJBQU9BLENBQUMsNkZBQW1CO0FBQ2xELE1BQU1HLHFCQUFxQixDQUFDQztJQUN4QixPQUFPQSxPQUFPLENBQUMsRUFBRSxLQUFLLE1BQU1BLFFBQVFDLEtBQUssQ0FBQyxLQUFLRDtBQUNuRDtBQUNBLE1BQU1FLG9CQUFvQixDQUFDRjtJQUN2QixJQUFJLE9BQU9BLFlBQVksVUFBVTtRQUM3QixPQUFPQTtJQUNYO0lBQ0EsT0FBT0EsT0FBTyxDQUFDLEVBQUU7QUFDckI7QUFDQSxTQUFTRyxrQkFBa0JDLFFBQVE7SUFDL0IsT0FBT0EsU0FBU0MsTUFBTSxDQUFDLENBQUNDLEtBQUtOO1FBQ3pCQSxVQUFVRCxtQkFBbUJDO1FBQzdCLElBQUlBLFlBQVksTUFBTSxDQUFDLEdBQUdILFNBQVNVLGNBQWMsRUFBRVAsVUFBVTtZQUN6RCxPQUFPTTtRQUNYO1FBQ0EsT0FBT0EsTUFBTSxNQUFNTjtJQUN2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O0lBQ25FSCxPQUFPNEQsTUFBTSxDQUFDMUQsUUFBUXdELE9BQU8sRUFBRXhEO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVF3RCxPQUFPO0FBQ2xDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9jb21wdXRlLWNoYW5nZWQtcGF0aC5qcz82MDkyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGU6IG51bGwsXG4gICAgY29tcHV0ZUNoYW5nZWRQYXRoOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlO1xuICAgIH0sXG4gICAgY29tcHV0ZUNoYW5nZWRQYXRoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNvbXB1dGVDaGFuZ2VkUGF0aDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcmNlcHRpb25yb3V0ZXMgPSByZXF1aXJlKFwiLi4vLi4vLi4vc2VydmVyL2Z1dHVyZS9oZWxwZXJzL2ludGVyY2VwdGlvbi1yb3V0ZXNcIik7XG5jb25zdCBfc2VnbWVudCA9IHJlcXVpcmUoXCIuLi8uLi8uLi9zaGFyZWQvbGliL3NlZ21lbnRcIik7XG5jb25zdCBfbWF0Y2hzZWdtZW50cyA9IHJlcXVpcmUoXCIuLi9tYXRjaC1zZWdtZW50c1wiKTtcbmNvbnN0IHJlbW92ZUxlYWRpbmdTbGFzaCA9IChzZWdtZW50KT0+e1xuICAgIHJldHVybiBzZWdtZW50WzBdID09PSBcIi9cIiA/IHNlZ21lbnQuc2xpY2UoMSkgOiBzZWdtZW50O1xufTtcbmNvbnN0IHNlZ21lbnRUb1BhdGhuYW1lID0gKHNlZ21lbnQpPT57XG4gICAgaWYgKHR5cGVvZiBzZWdtZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBzZWdtZW50O1xuICAgIH1cbiAgICByZXR1cm4gc2VnbWVudFsxXTtcbn07XG5mdW5jdGlvbiBub3JtYWxpemVTZWdtZW50cyhzZWdtZW50cykge1xuICAgIHJldHVybiBzZWdtZW50cy5yZWR1Y2UoKGFjYywgc2VnbWVudCk9PntcbiAgICAgICAgc2VnbWVudCA9IHJlbW92ZUxlYWRpbmdTbGFzaChzZWdtZW50KTtcbiAgICAgICAgaWYgKHNlZ21lbnQgPT09IFwiXCIgfHwgKDAsIF9zZWdtZW50LmlzR3JvdXBTZWdtZW50KShzZWdtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjICsgXCIvXCIgKyBzZWdtZW50O1xuICAgIH0sIFwiXCIpIHx8IFwiL1wiO1xufVxuZnVuY3Rpb24gZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUoZmxpZ2h0Um91dGVyU3RhdGUpIHtcbiAgICBjb25zdCBzZWdtZW50ID0gQXJyYXkuaXNBcnJheShmbGlnaHRSb3V0ZXJTdGF0ZVswXSkgPyBmbGlnaHRSb3V0ZXJTdGF0ZVswXVsxXSA6IGZsaWdodFJvdXRlclN0YXRlWzBdO1xuICAgIGlmIChzZWdtZW50ID09PSBfc2VnbWVudC5ERUZBVUxUX1NFR01FTlRfS0VZIHx8IF9pbnRlcmNlcHRpb25yb3V0ZXMuSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuc29tZSgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSkpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgaWYgKHNlZ21lbnQuc3RhcnRzV2l0aChfc2VnbWVudC5QQUdFX1NFR01FTlRfS0VZKSkgcmV0dXJuIFwiXCI7XG4gICAgY29uc3Qgc2VnbWVudHMgPSBbXG4gICAgICAgIHNlZ21lbnRcbiAgICBdO1xuICAgIHZhciBfZmxpZ2h0Um91dGVyU3RhdGVfO1xuICAgIGNvbnN0IHBhcmFsbGVsUm91dGVzID0gKF9mbGlnaHRSb3V0ZXJTdGF0ZV8gPSBmbGlnaHRSb3V0ZXJTdGF0ZVsxXSkgIT0gbnVsbCA/IF9mbGlnaHRSb3V0ZXJTdGF0ZV8gOiB7fTtcbiAgICBjb25zdCBjaGlsZHJlblBhdGggPSBwYXJhbGxlbFJvdXRlcy5jaGlsZHJlbiA/IGV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKHBhcmFsbGVsUm91dGVzLmNoaWxkcmVuKSA6IHVuZGVmaW5lZDtcbiAgICBpZiAoY2hpbGRyZW5QYXRoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgc2VnbWVudHMucHVzaChjaGlsZHJlblBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFsbGVsUm91dGVzKSl7XG4gICAgICAgICAgICBpZiAoa2V5ID09PSBcImNoaWxkcmVuXCIpIGNvbnRpbnVlO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRQYXRoID0gZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUodmFsdWUpO1xuICAgICAgICAgICAgaWYgKGNoaWxkUGF0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgc2VnbWVudHMucHVzaChjaGlsZFBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBub3JtYWxpemVTZWdtZW50cyhzZWdtZW50cyk7XG59XG5mdW5jdGlvbiBjb21wdXRlQ2hhbmdlZFBhdGhJbXBsKHRyZWVBLCB0cmVlQikge1xuICAgIGNvbnN0IFtzZWdtZW50QSwgcGFyYWxsZWxSb3V0ZXNBXSA9IHRyZWVBO1xuICAgIGNvbnN0IFtzZWdtZW50QiwgcGFyYWxsZWxSb3V0ZXNCXSA9IHRyZWVCO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRTZWdtZW50QSA9IHNlZ21lbnRUb1BhdGhuYW1lKHNlZ21lbnRBKTtcbiAgICBjb25zdCBub3JtYWxpemVkU2VnbWVudEIgPSBzZWdtZW50VG9QYXRobmFtZShzZWdtZW50Qik7XG4gICAgaWYgKF9pbnRlcmNlcHRpb25yb3V0ZXMuSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuc29tZSgobSk9Pm5vcm1hbGl6ZWRTZWdtZW50QS5zdGFydHNXaXRoKG0pIHx8IG5vcm1hbGl6ZWRTZWdtZW50Qi5zdGFydHNXaXRoKG0pKSkge1xuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgaWYgKCEoMCwgX21hdGNoc2VnbWVudHMubWF0Y2hTZWdtZW50KShzZWdtZW50QSwgc2VnbWVudEIpKSB7XG4gICAgICAgIHZhciBfZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGU7XG4gICAgICAgIC8vIG9uY2Ugd2UgZmluZCB3aGVyZSB0aGUgdHJlZSBjaGFuZ2VkLCB3ZSBjb21wdXRlIHRoZSByZXN0IG9mIHRoZSBwYXRoIGJ5IHRyYXZlcnNpbmcgdGhlIHRyZWVcbiAgICAgICAgcmV0dXJuIChfZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUgPSBleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZSh0cmVlQikpICE9IG51bGwgPyBfZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUgOiBcIlwiO1xuICAgIH1cbiAgICBmb3IoY29uc3QgcGFyYWxsZWxSb3V0ZXJLZXkgaW4gcGFyYWxsZWxSb3V0ZXNBKXtcbiAgICAgICAgaWYgKHBhcmFsbGVsUm91dGVzQltwYXJhbGxlbFJvdXRlcktleV0pIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZWRQYXRoID0gY29tcHV0ZUNoYW5nZWRQYXRoSW1wbChwYXJhbGxlbFJvdXRlc0FbcGFyYWxsZWxSb3V0ZXJLZXldLCBwYXJhbGxlbFJvdXRlc0JbcGFyYWxsZWxSb3V0ZXJLZXldKTtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VkUGF0aCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZWdtZW50VG9QYXRobmFtZShzZWdtZW50QikgKyBcIi9cIiArIGNoYW5nZWRQYXRoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gY29tcHV0ZUNoYW5nZWRQYXRoKHRyZWVBLCB0cmVlQikge1xuICAgIGNvbnN0IGNoYW5nZWRQYXRoID0gY29tcHV0ZUNoYW5nZWRQYXRoSW1wbCh0cmVlQSwgdHJlZUIpO1xuICAgIGlmIChjaGFuZ2VkUGF0aCA9PSBudWxsIHx8IGNoYW5nZWRQYXRoID09PSBcIi9cIikge1xuICAgICAgICByZXR1cm4gY2hhbmdlZFBhdGg7XG4gICAgfVxuICAgIC8vIGxpZ2h0d2VpZ2h0IG5vcm1hbGl6YXRpb24gdG8gcmVtb3ZlIHJvdXRlIGdyb3Vwc1xuICAgIHJldHVybiBub3JtYWxpemVTZWdtZW50cyhjaGFuZ2VkUGF0aC5zcGxpdChcIi9cIikpO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb21wdXRlLWNoYW5nZWQtcGF0aC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZSIsImNvbXB1dGVDaGFuZ2VkUGF0aCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9pbnRlcmNlcHRpb25yb3V0ZXMiLCJyZXF1aXJlIiwiX3NlZ21lbnQiLCJfbWF0Y2hzZWdtZW50cyIsInJlbW92ZUxlYWRpbmdTbGFzaCIsInNlZ21lbnQiLCJzbGljZSIsInNlZ21lbnRUb1BhdGhuYW1lIiwibm9ybWFsaXplU2VnbWVudHMiLCJzZWdtZW50cyIsInJlZHVjZSIsImFjYyIsImlzR3JvdXBTZWdtZW50IiwiZmxpZ2h0Um91dGVyU3RhdGUiLCJBcnJheSIsImlzQXJyYXkiLCJERUZBVUxUX1NFR01FTlRfS0VZIiwiSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMiLCJzb21lIiwibSIsInN0YXJ0c1dpdGgiLCJ1bmRlZmluZWQiLCJQQUdFX1NFR01FTlRfS0VZIiwiX2ZsaWdodFJvdXRlclN0YXRlXyIsInBhcmFsbGVsUm91dGVzIiwiY2hpbGRyZW5QYXRoIiwiY2hpbGRyZW4iLCJwdXNoIiwia2V5IiwiZW50cmllcyIsImNoaWxkUGF0aCIsImNvbXB1dGVDaGFuZ2VkUGF0aEltcGwiLCJ0cmVlQSIsInRyZWVCIiwic2VnbWVudEEiLCJwYXJhbGxlbFJvdXRlc0EiLCJzZWdtZW50QiIsInBhcmFsbGVsUm91dGVzQiIsIm5vcm1hbGl6ZWRTZWdtZW50QSIsIm5vcm1hbGl6ZWRTZWdtZW50QiIsIm1hdGNoU2VnbWVudCIsIl9leHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZSIsInBhcmFsbGVsUm91dGVyS2V5IiwiY2hhbmdlZFBhdGgiLCJzcGxpdCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js ***! \*****************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createHrefFromUrl\", ({\n enumerable: true,\n get: function() {\n return createHrefFromUrl;\n }\n}));\nfunction createHrefFromUrl(url, includeHash) {\n if (includeHash === void 0) includeHash = true;\n return url.pathname + url.search + (includeHash ? url.hash : \"\");\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=create-href-from-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1ocmVmLWZyb20tdXJsLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxxREFBb0Q7SUFDaERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSxrQkFBa0JDLEdBQUcsRUFBRUMsV0FBVztJQUN2QyxJQUFJQSxnQkFBZ0IsS0FBSyxHQUFHQSxjQUFjO0lBQzFDLE9BQU9ELElBQUlFLFFBQVEsR0FBR0YsSUFBSUcsTUFBTSxHQUFJRixDQUFBQSxjQUFjRCxJQUFJSSxJQUFJLEdBQUcsRUFBQztBQUNsRTtBQUVBLElBQUksQ0FBQyxPQUFPVCxRQUFRVSxPQUFPLEtBQUssY0FBZSxPQUFPVixRQUFRVSxPQUFPLEtBQUssWUFBWVYsUUFBUVUsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPVixRQUFRVSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLYixPQUFPQyxjQUFjLENBQUNDLFFBQVFVLE9BQU8sRUFBRSxjQUFjO1FBQUVULE9BQU87SUFBSztJQUNuRUgsT0FBT2MsTUFBTSxDQUFDWixRQUFRVSxPQUFPLEVBQUVWO0lBQy9CYSxPQUFPYixPQUFPLEdBQUdBLFFBQVFVLE9BQU87QUFDbEMsRUFFQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1ocmVmLWZyb20tdXJsLmpzP2E3NzQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjcmVhdGVIcmVmRnJvbVVybFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlSHJlZkZyb21Vcmw7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBjcmVhdGVIcmVmRnJvbVVybCh1cmwsIGluY2x1ZGVIYXNoKSB7XG4gICAgaWYgKGluY2x1ZGVIYXNoID09PSB2b2lkIDApIGluY2x1ZGVIYXNoID0gdHJ1ZTtcbiAgICByZXR1cm4gdXJsLnBhdGhuYW1lICsgdXJsLnNlYXJjaCArIChpbmNsdWRlSGFzaCA/IHVybC5oYXNoIDogXCJcIik7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyZWF0ZS1ocmVmLWZyb20tdXJsLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJjcmVhdGVIcmVmRnJvbVVybCIsInVybCIsImluY2x1ZGVIYXNoIiwicGF0aG5hbWUiLCJzZWFyY2giLCJoYXNoIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js": /*!************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js ***! \************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createInitialRouterState\", ({\n enumerable: true,\n get: function() {\n return createInitialRouterState;\n }\n}));\nconst _createhreffromurl = __webpack_require__(/*! ./create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ./fill-lazy-items-till-leaf-with-head */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _computechangedpath = __webpack_require__(/*! ./compute-changed-path */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nfunction createInitialRouterState(param) {\n let { buildId, initialTree, initialSeedData, initialCanonicalUrl, initialParallelRoutes, isServer, location, initialHead } = param;\n const rsc = initialSeedData[2];\n const cache = {\n lazyData: null,\n rsc: rsc,\n prefetchRsc: null,\n // The cache gets seeded during the first render. `initialParallelRoutes` ensures the cache from the first render is there during the second render.\n parallelRoutes: isServer ? new Map() : initialParallelRoutes\n };\n // When the cache hasn't been seeded yet we fill the cache with the head.\n if (initialParallelRoutes === null || initialParallelRoutes.size === 0) {\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, undefined, initialTree, initialSeedData, initialHead);\n }\n var _ref;\n return {\n buildId,\n tree: initialTree,\n cache,\n prefetchCache: new Map(),\n pushRef: {\n pendingPush: false,\n mpaNavigation: false,\n // First render needs to preserve the previous window.history.state\n // to avoid it being overwritten on navigation back/forward with MPA Navigation.\n preserveCustomHistoryState: true\n },\n focusAndScrollRef: {\n apply: false,\n onlyHashChange: false,\n hashFragment: null,\n segmentPaths: []\n },\n canonicalUrl: // This is safe to do as canonicalUrl can't be rendered, it's only used to control the history updates in the useEffect further down in this file.\n location ? (0, _createhreffromurl.createHrefFromUrl)(location) : initialCanonicalUrl,\n nextUrl: (_ref = (0, _computechangedpath.extractPathFromFlightRouterState)(initialTree) || (location == null ? void 0 : location.pathname)) != null ? _ref : null\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=create-initial-router-state.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1pbml0aWFsLXJvdXRlci1zdGF0ZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNERBQTJEO0lBQ3ZESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMscUJBQXFCQyxtQkFBT0EsQ0FBQyx1SEFBd0I7QUFDM0QsTUFBTUMsaUNBQWlDRCxtQkFBT0EsQ0FBQyxxSkFBdUM7QUFDdEYsTUFBTUUsc0JBQXNCRixtQkFBT0EsQ0FBQyx1SEFBd0I7QUFDNUQsU0FBU0YseUJBQXlCSyxLQUFLO0lBQ25DLElBQUksRUFBRUMsT0FBTyxFQUFFQyxXQUFXLEVBQUVDLGVBQWUsRUFBRUMsbUJBQW1CLEVBQUVDLHFCQUFxQixFQUFFQyxRQUFRLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFLEdBQUdSO0lBQzdILE1BQU1TLE1BQU1OLGVBQWUsQ0FBQyxFQUFFO0lBQzlCLE1BQU1PLFFBQVE7UUFDVkMsVUFBVTtRQUNWRixLQUFLQTtRQUNMRyxhQUFhO1FBQ2Isb0pBQW9KO1FBQ3BKQyxnQkFBZ0JQLFdBQVcsSUFBSVEsUUFBUVQ7SUFDM0M7SUFDQSx5RUFBeUU7SUFDekUsSUFBSUEsMEJBQTBCLFFBQVFBLHNCQUFzQlUsSUFBSSxLQUFLLEdBQUc7UUFDbkUsSUFBR2pCLCtCQUErQmtCLDZCQUE2QixFQUFFTixPQUFPTyxXQUFXZixhQUFhQyxpQkFBaUJLO0lBQ3RIO0lBQ0EsSUFDQVU7SUFDQSxPQUFPO1FBQ0hqQjtRQUNBa0IsTUFBTWpCO1FBQ05RO1FBQ0FVLGVBQWUsSUFBSU47UUFDbkJPLFNBQVM7WUFDTEMsYUFBYTtZQUNiQyxlQUFlO1lBQ2YsbUVBQW1FO1lBQ25FLGdGQUFnRjtZQUNoRkMsNEJBQTRCO1FBQ2hDO1FBQ0FDLG1CQUFtQjtZQUNmQyxPQUFPO1lBQ1BDLGdCQUFnQjtZQUNoQkMsY0FBYztZQUNkQyxjQUFjLEVBQUU7UUFDcEI7UUFDQUMsY0FDQSxrSkFBa0o7UUFDbEp2QixXQUFXLENBQUMsR0FBR1gsbUJBQW1CbUMsaUJBQWlCLEVBQUV4QixZQUFZSDtRQUNqRTRCLFNBQVMsQ0FBQ2QsT0FBTyxDQUFDLEdBQUduQixvQkFBb0JrQyxnQ0FBZ0MsRUFBRS9CLGdCQUFpQkssQ0FBQUEsWUFBWSxPQUFPLEtBQUssSUFBSUEsU0FBUzJCLFFBQVEsTUFBTSxPQUFPaEIsT0FBTztJQUNqSztBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU8zQixRQUFRNEMsT0FBTyxLQUFLLGNBQWUsT0FBTzVDLFFBQVE0QyxPQUFPLEtBQUssWUFBWTVDLFFBQVE0QyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU81QyxRQUFRNEMsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySy9DLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTRDLE9BQU8sRUFBRSxjQUFjO1FBQUUzQyxPQUFPO0lBQUs7SUFDbkVILE9BQU9nRCxNQUFNLENBQUM5QyxRQUFRNEMsT0FBTyxFQUFFNUM7SUFDL0IrQyxPQUFPL0MsT0FBTyxHQUFHQSxRQUFRNEMsT0FBTztBQUNsQyxFQUVBLHVEQUF1RCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY3JlYXRlLWluaXRpYWwtcm91dGVyLXN0YXRlLmpzP2RjYjQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjcmVhdGVJbml0aWFsUm91dGVyU3RhdGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxSb3V0ZXJTdGF0ZTtcbiAgICB9XG59KTtcbmNvbnN0IF9jcmVhdGVocmVmZnJvbXVybCA9IHJlcXVpcmUoXCIuL2NyZWF0ZS1ocmVmLWZyb20tdXJsXCIpO1xuY29uc3QgX2ZpbGxsYXp5aXRlbXN0aWxsbGVhZndpdGhoZWFkID0gcmVxdWlyZShcIi4vZmlsbC1sYXp5LWl0ZW1zLXRpbGwtbGVhZi13aXRoLWhlYWRcIik7XG5jb25zdCBfY29tcHV0ZWNoYW5nZWRwYXRoID0gcmVxdWlyZShcIi4vY29tcHV0ZS1jaGFuZ2VkLXBhdGhcIik7XG5mdW5jdGlvbiBjcmVhdGVJbml0aWFsUm91dGVyU3RhdGUocGFyYW0pIHtcbiAgICBsZXQgeyBidWlsZElkLCBpbml0aWFsVHJlZSwgaW5pdGlhbFNlZWREYXRhLCBpbml0aWFsQ2Fub25pY2FsVXJsLCBpbml0aWFsUGFyYWxsZWxSb3V0ZXMsIGlzU2VydmVyLCBsb2NhdGlvbiwgaW5pdGlhbEhlYWQgfSA9IHBhcmFtO1xuICAgIGNvbnN0IHJzYyA9IGluaXRpYWxTZWVkRGF0YVsyXTtcbiAgICBjb25zdCBjYWNoZSA9IHtcbiAgICAgICAgbGF6eURhdGE6IG51bGwsXG4gICAgICAgIHJzYzogcnNjLFxuICAgICAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICAgICAgLy8gVGhlIGNhY2hlIGdldHMgc2VlZGVkIGR1cmluZyB0aGUgZmlyc3QgcmVuZGVyLiBgaW5pdGlhbFBhcmFsbGVsUm91dGVzYCBlbnN1cmVzIHRoZSBjYWNoZSBmcm9tIHRoZSBmaXJzdCByZW5kZXIgaXMgdGhlcmUgZHVyaW5nIHRoZSBzZWNvbmQgcmVuZGVyLlxuICAgICAgICBwYXJhbGxlbFJvdXRlczogaXNTZXJ2ZXIgPyBuZXcgTWFwKCkgOiBpbml0aWFsUGFyYWxsZWxSb3V0ZXNcbiAgICB9O1xuICAgIC8vIFdoZW4gdGhlIGNhY2hlIGhhc24ndCBiZWVuIHNlZWRlZCB5ZXQgd2UgZmlsbCB0aGUgY2FjaGUgd2l0aCB0aGUgaGVhZC5cbiAgICBpZiAoaW5pdGlhbFBhcmFsbGVsUm91dGVzID09PSBudWxsIHx8IGluaXRpYWxQYXJhbGxlbFJvdXRlcy5zaXplID09PSAwKSB7XG4gICAgICAgICgwLCBfZmlsbGxhenlpdGVtc3RpbGxsZWFmd2l0aGhlYWQuZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQpKGNhY2hlLCB1bmRlZmluZWQsIGluaXRpYWxUcmVlLCBpbml0aWFsU2VlZERhdGEsIGluaXRpYWxIZWFkKTtcbiAgICB9XG4gICAgdmFyIC8vIHRoZSB8fCBvcGVyYXRvciBpcyBpbnRlbnRpb25hbCwgdGhlIHBhdGhuYW1lIGNhbiBiZSBhbiBlbXB0eSBzdHJpbmdcbiAgICBfcmVmO1xuICAgIHJldHVybiB7XG4gICAgICAgIGJ1aWxkSWQsXG4gICAgICAgIHRyZWU6IGluaXRpYWxUcmVlLFxuICAgICAgICBjYWNoZSxcbiAgICAgICAgcHJlZmV0Y2hDYWNoZTogbmV3IE1hcCgpLFxuICAgICAgICBwdXNoUmVmOiB7XG4gICAgICAgICAgICBwZW5kaW5nUHVzaDogZmFsc2UsXG4gICAgICAgICAgICBtcGFOYXZpZ2F0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIC8vIEZpcnN0IHJlbmRlciBuZWVkcyB0byBwcmVzZXJ2ZSB0aGUgcHJldmlvdXMgd2luZG93Lmhpc3Rvcnkuc3RhdGVcbiAgICAgICAgICAgIC8vIHRvIGF2b2lkIGl0IGJlaW5nIG92ZXJ3cml0dGVuIG9uIG5hdmlnYXRpb24gYmFjay9mb3J3YXJkIHdpdGggTVBBIE5hdmlnYXRpb24uXG4gICAgICAgICAgICBwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBmb2N1c0FuZFNjcm9sbFJlZjoge1xuICAgICAgICAgICAgYXBwbHk6IGZhbHNlLFxuICAgICAgICAgICAgb25seUhhc2hDaGFuZ2U6IGZhbHNlLFxuICAgICAgICAgICAgaGFzaEZyYWdtZW50OiBudWxsLFxuICAgICAgICAgICAgc2VnbWVudFBhdGhzOiBbXVxuICAgICAgICB9LFxuICAgICAgICBjYW5vbmljYWxVcmw6IC8vIGxvY2F0aW9uLmhyZWYgaXMgcmVhZCBhcyB0aGUgaW5pdGlhbCB2YWx1ZSBmb3IgY2Fub25pY2FsVXJsIGluIHRoZSBicm93c2VyXG4gICAgICAgIC8vIFRoaXMgaXMgc2FmZSB0byBkbyBhcyBjYW5vbmljYWxVcmwgY2FuJ3QgYmUgcmVuZGVyZWQsIGl0J3Mgb25seSB1c2VkIHRvIGNvbnRyb2wgdGhlIGhpc3RvcnkgdXBkYXRlcyBpbiB0aGUgdXNlRWZmZWN0IGZ1cnRoZXIgZG93biBpbiB0aGlzIGZpbGUuXG4gICAgICAgIGxvY2F0aW9uID8gKDAsIF9jcmVhdGVocmVmZnJvbXVybC5jcmVhdGVIcmVmRnJvbVVybCkobG9jYXRpb24pIDogaW5pdGlhbENhbm9uaWNhbFVybCxcbiAgICAgICAgbmV4dFVybDogKF9yZWYgPSAoMCwgX2NvbXB1dGVjaGFuZ2VkcGF0aC5leHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZSkoaW5pdGlhbFRyZWUpIHx8IChsb2NhdGlvbiA9PSBudWxsID8gdm9pZCAwIDogbG9jYXRpb24ucGF0aG5hbWUpKSAhPSBudWxsID8gX3JlZiA6IG51bGxcbiAgICB9O1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jcmVhdGUtaW5pdGlhbC1yb3V0ZXItc3RhdGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImNyZWF0ZUluaXRpYWxSb3V0ZXJTdGF0ZSIsIl9jcmVhdGVocmVmZnJvbXVybCIsInJlcXVpcmUiLCJfZmlsbGxhenlpdGVtc3RpbGxsZWFmd2l0aGhlYWQiLCJfY29tcHV0ZWNoYW5nZWRwYXRoIiwicGFyYW0iLCJidWlsZElkIiwiaW5pdGlhbFRyZWUiLCJpbml0aWFsU2VlZERhdGEiLCJpbml0aWFsQ2Fub25pY2FsVXJsIiwiaW5pdGlhbFBhcmFsbGVsUm91dGVzIiwiaXNTZXJ2ZXIiLCJsb2NhdGlvbiIsImluaXRpYWxIZWFkIiwicnNjIiwiY2FjaGUiLCJsYXp5RGF0YSIsInByZWZldGNoUnNjIiwicGFyYWxsZWxSb3V0ZXMiLCJNYXAiLCJzaXplIiwiZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQiLCJ1bmRlZmluZWQiLCJfcmVmIiwidHJlZSIsInByZWZldGNoQ2FjaGUiLCJwdXNoUmVmIiwicGVuZGluZ1B1c2giLCJtcGFOYXZpZ2F0aW9uIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJmb2N1c0FuZFNjcm9sbFJlZiIsImFwcGx5Iiwib25seUhhc2hDaGFuZ2UiLCJoYXNoRnJhZ21lbnQiLCJzZWdtZW50UGF0aHMiLCJjYW5vbmljYWxVcmwiLCJjcmVhdGVIcmVmRnJvbVVybCIsIm5leHRVcmwiLCJleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZSIsInBhdGhuYW1lIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js": /*!********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js ***! \********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createRouterCacheKey\", ({\n enumerable: true,\n get: function() {\n return createRouterCacheKey;\n }\n}));\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nfunction createRouterCacheKey(segment, withoutSearchParameters) {\n if (withoutSearchParameters === void 0) withoutSearchParameters = false;\n // if the segment is an array, it means it's a dynamic segment\n // for example, ['lang', 'en', 'd']. We need to convert it to a string to store it as a cache node key.\n if (Array.isArray(segment)) {\n return (segment[0] + \"|\" + segment[1] + \"|\" + segment[2]).toLowerCase();\n }\n // Page segments might have search parameters, ie __PAGE__?foo=bar\n // When `withoutSearchParameters` is true, we only want to return the page segment\n if (withoutSearchParameters && segment.startsWith(_segment.PAGE_SEGMENT_KEY)) {\n return _segment.PAGE_SEGMENT_KEY;\n }\n return segment;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=create-router-cache-key.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1yb3V0ZXItY2FjaGUta2V5LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx3REFBdUQ7SUFDbkRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxXQUFXQyxtQkFBT0EsQ0FBQyx5RkFBNkI7QUFDdEQsU0FBU0YscUJBQXFCRyxPQUFPLEVBQUVDLHVCQUF1QjtJQUMxRCxJQUFJQSw0QkFBNEIsS0FBSyxHQUFHQSwwQkFBMEI7SUFDbEUsOERBQThEO0lBQzlELHVHQUF1RztJQUN2RyxJQUFJQyxNQUFNQyxPQUFPLENBQUNILFVBQVU7UUFDeEIsT0FBTyxDQUFDQSxPQUFPLENBQUMsRUFBRSxHQUFHLE1BQU1BLE9BQU8sQ0FBQyxFQUFFLEdBQUcsTUFBTUEsT0FBTyxDQUFDLEVBQUUsRUFBRUksV0FBVztJQUN6RTtJQUNBLGtFQUFrRTtJQUNsRSxrRkFBa0Y7SUFDbEYsSUFBSUgsMkJBQTJCRCxRQUFRSyxVQUFVLENBQUNQLFNBQVNRLGdCQUFnQixHQUFHO1FBQzFFLE9BQU9SLFNBQVNRLGdCQUFnQjtJQUNwQztJQUNBLE9BQU9OO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBT1AsUUFBUWMsT0FBTyxLQUFLLGNBQWUsT0FBT2QsUUFBUWMsT0FBTyxLQUFLLFlBQVlkLFFBQVFjLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2QsUUFBUWMsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2pCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWMsT0FBTyxFQUFFLGNBQWM7UUFBRWIsT0FBTztJQUFLO0lBQ25FSCxPQUFPa0IsTUFBTSxDQUFDaEIsUUFBUWMsT0FBTyxFQUFFZDtJQUMvQmlCLE9BQU9qQixPQUFPLEdBQUdBLFFBQVFjLE9BQU87QUFDbEMsRUFFQSxtREFBbUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1yb3V0ZXItY2FjaGUta2V5LmpzP2ZlYzIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjcmVhdGVSb3V0ZXJDYWNoZUtleVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlUm91dGVyQ2FjaGVLZXk7XG4gICAgfVxufSk7XG5jb25zdCBfc2VnbWVudCA9IHJlcXVpcmUoXCIuLi8uLi8uLi9zaGFyZWQvbGliL3NlZ21lbnRcIik7XG5mdW5jdGlvbiBjcmVhdGVSb3V0ZXJDYWNoZUtleShzZWdtZW50LCB3aXRob3V0U2VhcmNoUGFyYW1ldGVycykge1xuICAgIGlmICh3aXRob3V0U2VhcmNoUGFyYW1ldGVycyA9PT0gdm9pZCAwKSB3aXRob3V0U2VhcmNoUGFyYW1ldGVycyA9IGZhbHNlO1xuICAgIC8vIGlmIHRoZSBzZWdtZW50IGlzIGFuIGFycmF5LCBpdCBtZWFucyBpdCdzIGEgZHluYW1pYyBzZWdtZW50XG4gICAgLy8gZm9yIGV4YW1wbGUsIFsnbGFuZycsICdlbicsICdkJ10uIFdlIG5lZWQgdG8gY29udmVydCBpdCB0byBhIHN0cmluZyB0byBzdG9yZSBpdCBhcyBhIGNhY2hlIG5vZGUga2V5LlxuICAgIGlmIChBcnJheS5pc0FycmF5KHNlZ21lbnQpKSB7XG4gICAgICAgIHJldHVybiAoc2VnbWVudFswXSArIFwifFwiICsgc2VnbWVudFsxXSArIFwifFwiICsgc2VnbWVudFsyXSkudG9Mb3dlckNhc2UoKTtcbiAgICB9XG4gICAgLy8gUGFnZSBzZWdtZW50cyBtaWdodCBoYXZlIHNlYXJjaCBwYXJhbWV0ZXJzLCBpZSBfX1BBR0VfXz9mb289YmFyXG4gICAgLy8gV2hlbiBgd2l0aG91dFNlYXJjaFBhcmFtZXRlcnNgIGlzIHRydWUsIHdlIG9ubHkgd2FudCB0byByZXR1cm4gdGhlIHBhZ2Ugc2VnbWVudFxuICAgIGlmICh3aXRob3V0U2VhcmNoUGFyYW1ldGVycyAmJiBzZWdtZW50LnN0YXJ0c1dpdGgoX3NlZ21lbnQuUEFHRV9TRUdNRU5UX0tFWSkpIHtcbiAgICAgICAgcmV0dXJuIF9zZWdtZW50LlBBR0VfU0VHTUVOVF9LRVk7XG4gICAgfVxuICAgIHJldHVybiBzZWdtZW50O1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jcmVhdGUtcm91dGVyLWNhY2hlLWtleS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJfc2VnbWVudCIsInJlcXVpcmUiLCJzZWdtZW50Iiwid2l0aG91dFNlYXJjaFBhcmFtZXRlcnMiLCJBcnJheSIsImlzQXJyYXkiLCJ0b0xvd2VyQ2FzZSIsInN0YXJ0c1dpdGgiLCJQQUdFX1NFR01FTlRfS0VZIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js": /*!******************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js ***! \******************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fetchServerResponse\", ({\n enumerable: true,\n get: function() {\n return fetchServerResponse;\n }\n}));\nconst _approuterheaders = __webpack_require__(/*! ../app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _approuter = __webpack_require__(/*! ../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _appcallserver = __webpack_require__(/*! ../../app-call-server */ \"(ssr)/./node_modules/next/dist/client/app-call-server.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _hash = __webpack_require__(/*! ../../../shared/lib/hash */ \"(ssr)/./node_modules/next/dist/shared/lib/hash.js\");\n// @ts-ignore\n// eslint-disable-next-line import/no-extraneous-dependencies\n// import { createFromFetch } from 'react-server-dom-webpack/client'\nconst { createFromFetch } = true ? __webpack_require__(/*! react-server-dom-webpack/client.edge */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js\") : 0;\nfunction doMpaNavigation(url) {\n return [\n (0, _approuter.urlToUrlWithoutFlightMarker)(url).toString(),\n undefined\n ];\n}\nasync function fetchServerResponse(url, flightRouterState, nextUrl, currentBuildId, prefetchKind) {\n const headers = {\n // Enable flight response\n [_approuterheaders.RSC_HEADER]: \"1\",\n // Provide the current router state\n [_approuterheaders.NEXT_ROUTER_STATE_TREE]: encodeURIComponent(JSON.stringify(flightRouterState))\n };\n /**\n * Three cases:\n * - `prefetchKind` is `undefined`, it means it's a normal navigation, so we want to prefetch the page data fully\n * - `prefetchKind` is `full` - we want to prefetch the whole page so same as above\n * - `prefetchKind` is `auto` - if the page is dynamic, prefetch the page data partially, if static prefetch the page data fully\n */ if (prefetchKind === _routerreducertypes.PrefetchKind.AUTO) {\n headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] = \"1\";\n }\n if (nextUrl) {\n headers[_approuterheaders.NEXT_URL] = nextUrl;\n }\n const uniqueCacheQuery = (0, _hash.hexHash)([\n headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] || \"0\",\n headers[_approuterheaders.NEXT_ROUTER_STATE_TREE],\n headers[_approuterheaders.NEXT_URL]\n ].join(\",\"));\n try {\n let fetchUrl = new URL(url);\n if (false) {}\n // Add unique cache query to avoid caching conflicts on CDN which don't respect to Vary header\n fetchUrl.searchParams.set(_approuterheaders.NEXT_RSC_UNION_QUERY, uniqueCacheQuery);\n const res = await fetch(fetchUrl, {\n // Backwards compat for older browsers. `same-origin` is the default in modern browsers.\n credentials: \"same-origin\",\n headers\n });\n const responseUrl = (0, _approuter.urlToUrlWithoutFlightMarker)(res.url);\n const canonicalUrl = res.redirected ? responseUrl : undefined;\n const contentType = res.headers.get(\"content-type\") || \"\";\n const postponed = !!res.headers.get(_approuterheaders.NEXT_DID_POSTPONE_HEADER);\n let isFlightResponse = contentType === _approuterheaders.RSC_CONTENT_TYPE_HEADER;\n if (false) {}\n // If fetch returns something different than flight response handle it like a mpa navigation\n // If the fetch was not 200, we also handle it like a mpa navigation\n if (!isFlightResponse || !res.ok) {\n // in case the original URL came with a hash, preserve it before redirecting to the new URL\n if (url.hash) {\n responseUrl.hash = url.hash;\n }\n return doMpaNavigation(responseUrl.toString());\n }\n // Handle the `fetch` readable stream that can be unwrapped by `React.use`.\n const [buildId, flightData] = await createFromFetch(Promise.resolve(res), {\n callServer: _appcallserver.callServer\n });\n if (currentBuildId !== buildId) {\n return doMpaNavigation(res.url);\n }\n return [\n flightData,\n canonicalUrl,\n postponed\n ];\n } catch (err) {\n console.error(\"Failed to fetch RSC payload for \" + url + \". Falling back to browser navigation.\", err);\n // If fetch fails handle it like a mpa navigation\n // TODO-APP: Add a test for the case where a CORS request fails, e.g. external url redirect coming from the response.\n // See https://github.com/vercel/next.js/issues/43605#issuecomment-1451617521 for a reproduction.\n return [\n url.toString(),\n undefined\n ];\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fetch-server-response.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZldGNoLXNlcnZlci1yZXNwb25zZS5qcyIsIm1hcHBpbmdzIjoicURBRWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHVEQUFzRDtJQUNsREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLG9CQUFvQkMsbUJBQU9BLENBQUMscUdBQXVCO0FBQ3pELE1BQU1DLGFBQWFELG1CQUFPQSxDQUFDLHFGQUFlO0FBQzFDLE1BQU1FLGlCQUFpQkYsbUJBQU9BLENBQUMsdUZBQXVCO0FBQ3RELE1BQU1HLHNCQUFzQkgsbUJBQU9BLENBQUMsdUhBQXdCO0FBQzVELE1BQU1JLFFBQVFKLG1CQUFPQSxDQUFDLG1GQUEwQjtBQUNoRCxhQUFhO0FBQ2IsNkRBQTZEO0FBQzdELG9FQUFvRTtBQUNwRSxNQUFNLEVBQUVLLGVBQWUsRUFBRSxHQUFHLEtBQTBCLEdBQUdMLG1CQUFPQSxDQUFDLHNLQUFzQyxJQUFJQSxDQUEwQztBQUNySixTQUFTUyxnQkFBZ0JDLEdBQUc7SUFDeEIsT0FBTztRQUNGLElBQUdULFdBQVdVLDJCQUEyQixFQUFFRCxLQUFLRSxRQUFRO1FBQ3pEQztLQUNIO0FBQ0w7QUFDQSxlQUFlZixvQkFBb0JZLEdBQUcsRUFBRUksaUJBQWlCLEVBQUVDLE9BQU8sRUFBRUMsY0FBYyxFQUFFQyxZQUFZO0lBQzVGLE1BQU1DLFVBQVU7UUFDWix5QkFBeUI7UUFDekIsQ0FBQ25CLGtCQUFrQm9CLFVBQVUsQ0FBQyxFQUFFO1FBQ2hDLG1DQUFtQztRQUNuQyxDQUFDcEIsa0JBQWtCcUIsc0JBQXNCLENBQUMsRUFBRUMsbUJBQW1CQyxLQUFLQyxTQUFTLENBQUNUO0lBQ2xGO0lBQ0E7Ozs7O0dBS0QsR0FBRyxJQUFJRyxpQkFBaUJkLG9CQUFvQnFCLFlBQVksQ0FBQ0MsSUFBSSxFQUFFO1FBQzFEUCxPQUFPLENBQUNuQixrQkFBa0IyQiwyQkFBMkIsQ0FBQyxHQUFHO0lBQzdEO0lBQ0EsSUFBSVgsU0FBUztRQUNURyxPQUFPLENBQUNuQixrQkFBa0I0QixRQUFRLENBQUMsR0FBR1o7SUFDMUM7SUFDQSxNQUFNYSxtQkFBbUIsQ0FBQyxHQUFHeEIsTUFBTXlCLE9BQU8sRUFBRTtRQUN4Q1gsT0FBTyxDQUFDbkIsa0JBQWtCMkIsMkJBQTJCLENBQUMsSUFBSTtRQUMxRFIsT0FBTyxDQUFDbkIsa0JBQWtCcUIsc0JBQXNCLENBQUM7UUFDakRGLE9BQU8sQ0FBQ25CLGtCQUFrQjRCLFFBQVEsQ0FBQztLQUN0QyxDQUFDRyxJQUFJLENBQUM7SUFDUCxJQUFJO1FBQ0EsSUFBSUMsV0FBVyxJQUFJQyxJQUFJdEI7UUFDdkIsSUFBSUosS0FBcUMsRUFBRSxFQVExQztRQUNELDhGQUE4RjtRQUM5RnlCLFNBQVNLLFlBQVksQ0FBQ0MsR0FBRyxDQUFDdEMsa0JBQWtCdUMsb0JBQW9CLEVBQUVWO1FBQ2xFLE1BQU1XLE1BQU0sTUFBTUMsTUFBTVQsVUFBVTtZQUM5Qix3RkFBd0Y7WUFDeEZVLGFBQWE7WUFDYnZCO1FBQ0o7UUFDQSxNQUFNd0IsY0FBYyxDQUFDLEdBQUd6QyxXQUFXVSwyQkFBMkIsRUFBRTRCLElBQUk3QixHQUFHO1FBQ3ZFLE1BQU1pQyxlQUFlSixJQUFJSyxVQUFVLEdBQUdGLGNBQWM3QjtRQUNwRCxNQUFNZ0MsY0FBY04sSUFBSXJCLE9BQU8sQ0FBQ3JCLEdBQUcsQ0FBQyxtQkFBbUI7UUFDdkQsTUFBTWlELFlBQVksQ0FBQyxDQUFDUCxJQUFJckIsT0FBTyxDQUFDckIsR0FBRyxDQUFDRSxrQkFBa0JnRCx3QkFBd0I7UUFDOUUsSUFBSUMsbUJBQW1CSCxnQkFBZ0I5QyxrQkFBa0JrRCx1QkFBdUI7UUFDaEYsSUFBSTNDLEtBQXFDLEVBQUUsRUFNMUM7UUFDRCw0RkFBNEY7UUFDNUYsb0VBQW9FO1FBQ3BFLElBQUksQ0FBQzBDLG9CQUFvQixDQUFDVCxJQUFJWSxFQUFFLEVBQUU7WUFDOUIsMkZBQTJGO1lBQzNGLElBQUl6QyxJQUFJMEMsSUFBSSxFQUFFO2dCQUNWVixZQUFZVSxJQUFJLEdBQUcxQyxJQUFJMEMsSUFBSTtZQUMvQjtZQUNBLE9BQU8zQyxnQkFBZ0JpQyxZQUFZOUIsUUFBUTtRQUMvQztRQUNBLDJFQUEyRTtRQUMzRSxNQUFNLENBQUN5QyxTQUFTQyxXQUFXLEdBQUcsTUFBTWpELGdCQUFnQmtELFFBQVFDLE9BQU8sQ0FBQ2pCLE1BQU07WUFDdEVrQixZQUFZdkQsZUFBZXVELFVBQVU7UUFDekM7UUFDQSxJQUFJekMsbUJBQW1CcUMsU0FBUztZQUM1QixPQUFPNUMsZ0JBQWdCOEIsSUFBSTdCLEdBQUc7UUFDbEM7UUFDQSxPQUFPO1lBQ0g0QztZQUNBWDtZQUNBRztTQUNIO0lBQ0wsRUFBRSxPQUFPWSxLQUFLO1FBQ1ZDLFFBQVFDLEtBQUssQ0FBQyxxQ0FBcUNsRCxNQUFNLHlDQUF5Q2dEO1FBQ2xHLGlEQUFpRDtRQUNqRCxxSEFBcUg7UUFDckgsaUdBQWlHO1FBQ2pHLE9BQU87WUFDSGhELElBQUlFLFFBQVE7WUFDWkM7U0FDSDtJQUNMO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT25CLFFBQVFtRSxPQUFPLEtBQUssY0FBZSxPQUFPbkUsUUFBUW1FLE9BQU8sS0FBSyxZQUFZbkUsUUFBUW1FLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT25FLFFBQVFtRSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLdEUsT0FBT0MsY0FBYyxDQUFDQyxRQUFRbUUsT0FBTyxFQUFFLGNBQWM7UUFBRWxFLE9BQU87SUFBSztJQUNuRUgsT0FBT3VFLE1BQU0sQ0FBQ3JFLFFBQVFtRSxPQUFPLEVBQUVuRTtJQUMvQnNFLE9BQU90RSxPQUFPLEdBQUdBLFFBQVFtRSxPQUFPO0FBQ2xDLEVBRUEsaURBQWlEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9mZXRjaC1zZXJ2ZXItcmVzcG9uc2UuanM/ZmE3OCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJmZXRjaFNlcnZlclJlc3BvbnNlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBmZXRjaFNlcnZlclJlc3BvbnNlO1xuICAgIH1cbn0pO1xuY29uc3QgX2FwcHJvdXRlcmhlYWRlcnMgPSByZXF1aXJlKFwiLi4vYXBwLXJvdXRlci1oZWFkZXJzXCIpO1xuY29uc3QgX2FwcHJvdXRlciA9IHJlcXVpcmUoXCIuLi9hcHAtcm91dGVyXCIpO1xuY29uc3QgX2FwcGNhbGxzZXJ2ZXIgPSByZXF1aXJlKFwiLi4vLi4vYXBwLWNhbGwtc2VydmVyXCIpO1xuY29uc3QgX3JvdXRlcnJlZHVjZXJ0eXBlcyA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyLXR5cGVzXCIpO1xuY29uc3QgX2hhc2ggPSByZXF1aXJlKFwiLi4vLi4vLi4vc2hhcmVkL2xpYi9oYXNoXCIpO1xuLy8gQHRzLWlnbm9yZVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuLy8gaW1wb3J0IHsgY3JlYXRlRnJvbUZldGNoIH0gZnJvbSAncmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudCdcbmNvbnN0IHsgY3JlYXRlRnJvbUZldGNoIH0gPSAhIXByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA/IHJlcXVpcmUoXCJyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svY2xpZW50LmVkZ2VcIikgOiByZXF1aXJlKFwicmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudFwiKTtcbmZ1bmN0aW9uIGRvTXBhTmF2aWdhdGlvbih1cmwpIHtcbiAgICByZXR1cm4gW1xuICAgICAgICAoMCwgX2FwcHJvdXRlci51cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXIpKHVybCkudG9TdHJpbmcoKSxcbiAgICAgICAgdW5kZWZpbmVkXG4gICAgXTtcbn1cbmFzeW5jIGZ1bmN0aW9uIGZldGNoU2VydmVyUmVzcG9uc2UodXJsLCBmbGlnaHRSb3V0ZXJTdGF0ZSwgbmV4dFVybCwgY3VycmVudEJ1aWxkSWQsIHByZWZldGNoS2luZCkge1xuICAgIGNvbnN0IGhlYWRlcnMgPSB7XG4gICAgICAgIC8vIEVuYWJsZSBmbGlnaHQgcmVzcG9uc2VcbiAgICAgICAgW19hcHByb3V0ZXJoZWFkZXJzLlJTQ19IRUFERVJdOiBcIjFcIixcbiAgICAgICAgLy8gUHJvdmlkZSB0aGUgY3VycmVudCByb3V0ZXIgc3RhdGVcbiAgICAgICAgW19hcHByb3V0ZXJoZWFkZXJzLk5FWFRfUk9VVEVSX1NUQVRFX1RSRUVdOiBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZmxpZ2h0Um91dGVyU3RhdGUpKVxuICAgIH07XG4gICAgLyoqXG4gICAqIFRocmVlIGNhc2VzOlxuICAgKiAtIGBwcmVmZXRjaEtpbmRgIGlzIGB1bmRlZmluZWRgLCBpdCBtZWFucyBpdCdzIGEgbm9ybWFsIG5hdmlnYXRpb24sIHNvIHdlIHdhbnQgdG8gcHJlZmV0Y2ggdGhlIHBhZ2UgZGF0YSBmdWxseVxuICAgKiAtIGBwcmVmZXRjaEtpbmRgIGlzIGBmdWxsYCAtIHdlIHdhbnQgdG8gcHJlZmV0Y2ggdGhlIHdob2xlIHBhZ2Ugc28gc2FtZSBhcyBhYm92ZVxuICAgKiAtIGBwcmVmZXRjaEtpbmRgIGlzIGBhdXRvYCAtIGlmIHRoZSBwYWdlIGlzIGR5bmFtaWMsIHByZWZldGNoIHRoZSBwYWdlIGRhdGEgcGFydGlhbGx5LCBpZiBzdGF0aWMgcHJlZmV0Y2ggdGhlIHBhZ2UgZGF0YSBmdWxseVxuICAgKi8gaWYgKHByZWZldGNoS2luZCA9PT0gX3JvdXRlcnJlZHVjZXJ0eXBlcy5QcmVmZXRjaEtpbmQuQVVUTykge1xuICAgICAgICBoZWFkZXJzW19hcHByb3V0ZXJoZWFkZXJzLk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUl0gPSBcIjFcIjtcbiAgICB9XG4gICAgaWYgKG5leHRVcmwpIHtcbiAgICAgICAgaGVhZGVyc1tfYXBwcm91dGVyaGVhZGVycy5ORVhUX1VSTF0gPSBuZXh0VXJsO1xuICAgIH1cbiAgICBjb25zdCB1bmlxdWVDYWNoZVF1ZXJ5ID0gKDAsIF9oYXNoLmhleEhhc2gpKFtcbiAgICAgICAgaGVhZGVyc1tfYXBwcm91dGVyaGVhZGVycy5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdIHx8IFwiMFwiLFxuICAgICAgICBoZWFkZXJzW19hcHByb3V0ZXJoZWFkZXJzLk5FWFRfUk9VVEVSX1NUQVRFX1RSRUVdLFxuICAgICAgICBoZWFkZXJzW19hcHByb3V0ZXJoZWFkZXJzLk5FWFRfVVJMXVxuICAgIF0uam9pbihcIixcIikpO1xuICAgIHRyeSB7XG4gICAgICAgIGxldCBmZXRjaFVybCA9IG5ldyBVUkwodXJsKTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9DT05GSUdfT1VUUFVUID09PSBcImV4cG9ydFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKGZldGNoVXJsLnBhdGhuYW1lLmVuZHNXaXRoKFwiL1wiKSkge1xuICAgICAgICAgICAgICAgICAgICBmZXRjaFVybC5wYXRobmFtZSArPSBcImluZGV4LnR4dFwiO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGZldGNoVXJsLnBhdGhuYW1lICs9IFwiLnR4dFwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBBZGQgdW5pcXVlIGNhY2hlIHF1ZXJ5IHRvIGF2b2lkIGNhY2hpbmcgY29uZmxpY3RzIG9uIENETiB3aGljaCBkb24ndCByZXNwZWN0IHRvIFZhcnkgaGVhZGVyXG4gICAgICAgIGZldGNoVXJsLnNlYXJjaFBhcmFtcy5zZXQoX2FwcHJvdXRlcmhlYWRlcnMuTkVYVF9SU0NfVU5JT05fUVVFUlksIHVuaXF1ZUNhY2hlUXVlcnkpO1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChmZXRjaFVybCwge1xuICAgICAgICAgICAgLy8gQmFja3dhcmRzIGNvbXBhdCBmb3Igb2xkZXIgYnJvd3NlcnMuIGBzYW1lLW9yaWdpbmAgaXMgdGhlIGRlZmF1bHQgaW4gbW9kZXJuIGJyb3dzZXJzLlxuICAgICAgICAgICAgY3JlZGVudGlhbHM6IFwic2FtZS1vcmlnaW5cIixcbiAgICAgICAgICAgIGhlYWRlcnNcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlVXJsID0gKDAsIF9hcHByb3V0ZXIudXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyKShyZXMudXJsKTtcbiAgICAgICAgY29uc3QgY2Fub25pY2FsVXJsID0gcmVzLnJlZGlyZWN0ZWQgPyByZXNwb25zZVVybCA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgY29udGVudFR5cGUgPSByZXMuaGVhZGVycy5nZXQoXCJjb250ZW50LXR5cGVcIikgfHwgXCJcIjtcbiAgICAgICAgY29uc3QgcG9zdHBvbmVkID0gISFyZXMuaGVhZGVycy5nZXQoX2FwcHJvdXRlcmhlYWRlcnMuTkVYVF9ESURfUE9TVFBPTkVfSEVBREVSKTtcbiAgICAgICAgbGV0IGlzRmxpZ2h0UmVzcG9uc2UgPSBjb250ZW50VHlwZSA9PT0gX2FwcHJvdXRlcmhlYWRlcnMuUlNDX0NPTlRFTlRfVFlQRV9IRUFERVI7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfQ09ORklHX09VVFBVVCA9PT0gXCJleHBvcnRcIikge1xuICAgICAgICAgICAgICAgIGlmICghaXNGbGlnaHRSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICBpc0ZsaWdodFJlc3BvbnNlID0gY29udGVudFR5cGUuc3RhcnRzV2l0aChcInRleHQvcGxhaW5cIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIElmIGZldGNoIHJldHVybnMgc29tZXRoaW5nIGRpZmZlcmVudCB0aGFuIGZsaWdodCByZXNwb25zZSBoYW5kbGUgaXQgbGlrZSBhIG1wYSBuYXZpZ2F0aW9uXG4gICAgICAgIC8vIElmIHRoZSBmZXRjaCB3YXMgbm90IDIwMCwgd2UgYWxzbyBoYW5kbGUgaXQgbGlrZSBhIG1wYSBuYXZpZ2F0aW9uXG4gICAgICAgIGlmICghaXNGbGlnaHRSZXNwb25zZSB8fCAhcmVzLm9rKSB7XG4gICAgICAgICAgICAvLyBpbiBjYXNlIHRoZSBvcmlnaW5hbCBVUkwgY2FtZSB3aXRoIGEgaGFzaCwgcHJlc2VydmUgaXQgYmVmb3JlIHJlZGlyZWN0aW5nIHRvIHRoZSBuZXcgVVJMXG4gICAgICAgICAgICBpZiAodXJsLmhhc2gpIHtcbiAgICAgICAgICAgICAgICByZXNwb25zZVVybC5oYXNoID0gdXJsLmhhc2g7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZG9NcGFOYXZpZ2F0aW9uKHJlc3BvbnNlVXJsLnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIEhhbmRsZSB0aGUgYGZldGNoYCByZWFkYWJsZSBzdHJlYW0gdGhhdCBjYW4gYmUgdW53cmFwcGVkIGJ5IGBSZWFjdC51c2VgLlxuICAgICAgICBjb25zdCBbYnVpbGRJZCwgZmxpZ2h0RGF0YV0gPSBhd2FpdCBjcmVhdGVGcm9tRmV0Y2goUHJvbWlzZS5yZXNvbHZlKHJlcyksIHtcbiAgICAgICAgICAgIGNhbGxTZXJ2ZXI6IF9hcHBjYWxsc2VydmVyLmNhbGxTZXJ2ZXJcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChjdXJyZW50QnVpbGRJZCAhPT0gYnVpbGRJZCkge1xuICAgICAgICAgICAgcmV0dXJuIGRvTXBhTmF2aWdhdGlvbihyZXMudXJsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgZmxpZ2h0RGF0YSxcbiAgICAgICAgICAgIGNhbm9uaWNhbFVybCxcbiAgICAgICAgICAgIHBvc3Rwb25lZFxuICAgICAgICBdO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRmFpbGVkIHRvIGZldGNoIFJTQyBwYXlsb2FkIGZvciBcIiArIHVybCArIFwiLiBGYWxsaW5nIGJhY2sgdG8gYnJvd3NlciBuYXZpZ2F0aW9uLlwiLCBlcnIpO1xuICAgICAgICAvLyBJZiBmZXRjaCBmYWlscyBoYW5kbGUgaXQgbGlrZSBhIG1wYSBuYXZpZ2F0aW9uXG4gICAgICAgIC8vIFRPRE8tQVBQOiBBZGQgYSB0ZXN0IGZvciB0aGUgY2FzZSB3aGVyZSBhIENPUlMgcmVxdWVzdCBmYWlscywgZS5nLiBleHRlcm5hbCB1cmwgcmVkaXJlY3QgY29taW5nIGZyb20gdGhlIHJlc3BvbnNlLlxuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3ZlcmNlbC9uZXh0LmpzL2lzc3Vlcy80MzYwNSNpc3N1ZWNvbW1lbnQtMTQ1MTYxNzUyMSBmb3IgYSByZXByb2R1Y3Rpb24uXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB1cmwudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICBdO1xuICAgIH1cbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZmV0Y2gtc2VydmVyLXJlc3BvbnNlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJmZXRjaFNlcnZlclJlc3BvbnNlIiwiX2FwcHJvdXRlcmhlYWRlcnMiLCJyZXF1aXJlIiwiX2FwcHJvdXRlciIsIl9hcHBjYWxsc2VydmVyIiwiX3JvdXRlcnJlZHVjZXJ0eXBlcyIsIl9oYXNoIiwiY3JlYXRlRnJvbUZldGNoIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsImRvTXBhTmF2aWdhdGlvbiIsInVybCIsInVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlciIsInRvU3RyaW5nIiwidW5kZWZpbmVkIiwiZmxpZ2h0Um91dGVyU3RhdGUiLCJuZXh0VXJsIiwiY3VycmVudEJ1aWxkSWQiLCJwcmVmZXRjaEtpbmQiLCJoZWFkZXJzIiwiUlNDX0hFQURFUiIsIk5FWFRfUk9VVEVSX1NUQVRFX1RSRUUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJKU09OIiwic3RyaW5naWZ5IiwiUHJlZmV0Y2hLaW5kIiwiQVVUTyIsIk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUiIsIk5FWFRfVVJMIiwidW5pcXVlQ2FjaGVRdWVyeSIsImhleEhhc2giLCJqb2luIiwiZmV0Y2hVcmwiLCJVUkwiLCJfX05FWFRfQ09ORklHX09VVFBVVCIsInBhdGhuYW1lIiwiZW5kc1dpdGgiLCJzZWFyY2hQYXJhbXMiLCJzZXQiLCJORVhUX1JTQ19VTklPTl9RVUVSWSIsInJlcyIsImZldGNoIiwiY3JlZGVudGlhbHMiLCJyZXNwb25zZVVybCIsImNhbm9uaWNhbFVybCIsInJlZGlyZWN0ZWQiLCJjb250ZW50VHlwZSIsInBvc3Rwb25lZCIsIk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiIsImlzRmxpZ2h0UmVzcG9uc2UiLCJSU0NfQ09OVEVOVF9UWVBFX0hFQURFUiIsInN0YXJ0c1dpdGgiLCJvayIsImhhc2giLCJidWlsZElkIiwiZmxpZ2h0RGF0YSIsIlByb21pc2UiLCJyZXNvbHZlIiwiY2FsbFNlcnZlciIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-data-property.js": /*!**************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/fill-cache-with-data-property.js ***! \**************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fillCacheWithDataProperty\", ({\n enumerable: true,\n get: function() {\n return fillCacheWithDataProperty;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction fillCacheWithDataProperty(newCache, existingCache, flightSegmentPath, fetchResponse) {\n const isLastEntry = flightSegmentPath.length <= 2;\n const [parallelRouteKey, segment] = flightSegmentPath;\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey);\n let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey);\n if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) {\n childSegmentMap = new Map(existingChildSegmentMap);\n newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap);\n }\n const existingChildCacheNode = existingChildSegmentMap == null ? void 0 : existingChildSegmentMap.get(cacheKey);\n let childCacheNode = childSegmentMap.get(cacheKey);\n // In case of last segment start off the fetch at this level and don't copy further down.\n if (isLastEntry) {\n if (!childCacheNode || !childCacheNode.lazyData || childCacheNode === existingChildCacheNode) {\n childSegmentMap.set(cacheKey, {\n lazyData: fetchResponse(),\n rsc: null,\n prefetchRsc: null,\n parallelRoutes: new Map()\n });\n }\n return;\n }\n if (!childCacheNode || !existingChildCacheNode) {\n // Start fetch in the place where the existing cache doesn't have the data yet.\n if (!childCacheNode) {\n childSegmentMap.set(cacheKey, {\n lazyData: fetchResponse(),\n rsc: null,\n prefetchRsc: null,\n parallelRoutes: new Map()\n });\n }\n return;\n }\n if (childCacheNode === existingChildCacheNode) {\n childCacheNode = {\n lazyData: childCacheNode.lazyData,\n rsc: childCacheNode.rsc,\n prefetchRsc: childCacheNode.prefetchRsc,\n parallelRoutes: new Map(childCacheNode.parallelRoutes)\n };\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n return fillCacheWithDataProperty(childCacheNode, existingChildCacheNode, flightSegmentPath.slice(2), fetchResponse);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fill-cache-with-data-property.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZpbGwtY2FjaGUtd2l0aC1kYXRhLXByb3BlcnR5LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCw2REFBNEQ7SUFDeERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyx3QkFBd0JDLG1CQUFPQSxDQUFDLDZIQUEyQjtBQUNqRSxTQUFTRiwwQkFBMEJHLFFBQVEsRUFBRUMsYUFBYSxFQUFFQyxpQkFBaUIsRUFBRUMsYUFBYTtJQUN4RixNQUFNQyxjQUFjRixrQkFBa0JHLE1BQU0sSUFBSTtJQUNoRCxNQUFNLENBQUNDLGtCQUFrQkMsUUFBUSxHQUFHTDtJQUNwQyxNQUFNTSxXQUFXLENBQUMsR0FBR1Ysc0JBQXNCVyxvQkFBb0IsRUFBRUY7SUFDakUsTUFBTUcsMEJBQTBCVCxjQUFjVSxjQUFjLENBQUNmLEdBQUcsQ0FBQ1U7SUFDakUsSUFBSU0sa0JBQWtCWixTQUFTVyxjQUFjLENBQUNmLEdBQUcsQ0FBQ1U7SUFDbEQsSUFBSSxDQUFDTSxtQkFBbUJBLG9CQUFvQkYseUJBQXlCO1FBQ2pFRSxrQkFBa0IsSUFBSUMsSUFBSUg7UUFDMUJWLFNBQVNXLGNBQWMsQ0FBQ0csR0FBRyxDQUFDUixrQkFBa0JNO0lBQ2xEO0lBQ0EsTUFBTUcseUJBQXlCTCwyQkFBMkIsT0FBTyxLQUFLLElBQUlBLHdCQUF3QmQsR0FBRyxDQUFDWTtJQUN0RyxJQUFJUSxpQkFBaUJKLGdCQUFnQmhCLEdBQUcsQ0FBQ1k7SUFDekMseUZBQXlGO0lBQ3pGLElBQUlKLGFBQWE7UUFDYixJQUFJLENBQUNZLGtCQUFrQixDQUFDQSxlQUFlQyxRQUFRLElBQUlELG1CQUFtQkQsd0JBQXdCO1lBQzFGSCxnQkFBZ0JFLEdBQUcsQ0FBQ04sVUFBVTtnQkFDMUJTLFVBQVVkO2dCQUNWZSxLQUFLO2dCQUNMQyxhQUFhO2dCQUNiUixnQkFBZ0IsSUFBSUU7WUFDeEI7UUFDSjtRQUNBO0lBQ0o7SUFDQSxJQUFJLENBQUNHLGtCQUFrQixDQUFDRCx3QkFBd0I7UUFDNUMsK0VBQStFO1FBQy9FLElBQUksQ0FBQ0MsZ0JBQWdCO1lBQ2pCSixnQkFBZ0JFLEdBQUcsQ0FBQ04sVUFBVTtnQkFDMUJTLFVBQVVkO2dCQUNWZSxLQUFLO2dCQUNMQyxhQUFhO2dCQUNiUixnQkFBZ0IsSUFBSUU7WUFDeEI7UUFDSjtRQUNBO0lBQ0o7SUFDQSxJQUFJRyxtQkFBbUJELHdCQUF3QjtRQUMzQ0MsaUJBQWlCO1lBQ2JDLFVBQVVELGVBQWVDLFFBQVE7WUFDakNDLEtBQUtGLGVBQWVFLEdBQUc7WUFDdkJDLGFBQWFILGVBQWVHLFdBQVc7WUFDdkNSLGdCQUFnQixJQUFJRSxJQUFJRyxlQUFlTCxjQUFjO1FBQ3pEO1FBQ0FDLGdCQUFnQkUsR0FBRyxDQUFDTixVQUFVUTtJQUNsQztJQUNBLE9BQU9uQiwwQkFBMEJtQixnQkFBZ0JELHdCQUF3QmIsa0JBQWtCa0IsS0FBSyxDQUFDLElBQUlqQjtBQUN6RztBQUVBLElBQUksQ0FBQyxPQUFPVixRQUFRNEIsT0FBTyxLQUFLLGNBQWUsT0FBTzVCLFFBQVE0QixPQUFPLEtBQUssWUFBWTVCLFFBQVE0QixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU81QixRQUFRNEIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySy9CLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTRCLE9BQU8sRUFBRSxjQUFjO1FBQUUzQixPQUFPO0lBQUs7SUFDbkVILE9BQU9nQyxNQUFNLENBQUM5QixRQUFRNEIsT0FBTyxFQUFFNUI7SUFDL0IrQixPQUFPL0IsT0FBTyxHQUFHQSxRQUFRNEIsT0FBTztBQUNsQyxFQUVBLHlEQUF5RCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmlsbC1jYWNoZS13aXRoLWRhdGEtcHJvcGVydHkuanM/ZjU1MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZpbGxDYWNoZVdpdGhEYXRhUHJvcGVydHlcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGZpbGxDYWNoZVdpdGhEYXRhUHJvcGVydHk7XG4gICAgfVxufSk7XG5jb25zdCBfY3JlYXRlcm91dGVyY2FjaGVrZXkgPSByZXF1aXJlKFwiLi9jcmVhdGUtcm91dGVyLWNhY2hlLWtleVwiKTtcbmZ1bmN0aW9uIGZpbGxDYWNoZVdpdGhEYXRhUHJvcGVydHkobmV3Q2FjaGUsIGV4aXN0aW5nQ2FjaGUsIGZsaWdodFNlZ21lbnRQYXRoLCBmZXRjaFJlc3BvbnNlKSB7XG4gICAgY29uc3QgaXNMYXN0RW50cnkgPSBmbGlnaHRTZWdtZW50UGF0aC5sZW5ndGggPD0gMjtcbiAgICBjb25zdCBbcGFyYWxsZWxSb3V0ZUtleSwgc2VnbWVudF0gPSBmbGlnaHRTZWdtZW50UGF0aDtcbiAgICBjb25zdCBjYWNoZUtleSA9ICgwLCBfY3JlYXRlcm91dGVyY2FjaGVrZXkuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKHNlZ21lbnQpO1xuICAgIGNvbnN0IGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwID0gZXhpc3RpbmdDYWNoZS5wYXJhbGxlbFJvdXRlcy5nZXQocGFyYWxsZWxSb3V0ZUtleSk7XG4gICAgbGV0IGNoaWxkU2VnbWVudE1hcCA9IG5ld0NhY2hlLnBhcmFsbGVsUm91dGVzLmdldChwYXJhbGxlbFJvdXRlS2V5KTtcbiAgICBpZiAoIWNoaWxkU2VnbWVudE1hcCB8fCBjaGlsZFNlZ21lbnRNYXAgPT09IGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwKSB7XG4gICAgICAgIGNoaWxkU2VnbWVudE1hcCA9IG5ldyBNYXAoZXhpc3RpbmdDaGlsZFNlZ21lbnRNYXApO1xuICAgICAgICBuZXdDYWNoZS5wYXJhbGxlbFJvdXRlcy5zZXQocGFyYWxsZWxSb3V0ZUtleSwgY2hpbGRTZWdtZW50TWFwKTtcbiAgICB9XG4gICAgY29uc3QgZXhpc3RpbmdDaGlsZENhY2hlTm9kZSA9IGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwID09IG51bGwgPyB2b2lkIDAgOiBleGlzdGluZ0NoaWxkU2VnbWVudE1hcC5nZXQoY2FjaGVLZXkpO1xuICAgIGxldCBjaGlsZENhY2hlTm9kZSA9IGNoaWxkU2VnbWVudE1hcC5nZXQoY2FjaGVLZXkpO1xuICAgIC8vIEluIGNhc2Ugb2YgbGFzdCBzZWdtZW50IHN0YXJ0IG9mZiB0aGUgZmV0Y2ggYXQgdGhpcyBsZXZlbCBhbmQgZG9uJ3QgY29weSBmdXJ0aGVyIGRvd24uXG4gICAgaWYgKGlzTGFzdEVudHJ5KSB7XG4gICAgICAgIGlmICghY2hpbGRDYWNoZU5vZGUgfHwgIWNoaWxkQ2FjaGVOb2RlLmxhenlEYXRhIHx8IGNoaWxkQ2FjaGVOb2RlID09PSBleGlzdGluZ0NoaWxkQ2FjaGVOb2RlKSB7XG4gICAgICAgICAgICBjaGlsZFNlZ21lbnRNYXAuc2V0KGNhY2hlS2V5LCB7XG4gICAgICAgICAgICAgICAgbGF6eURhdGE6IGZldGNoUmVzcG9uc2UoKSxcbiAgICAgICAgICAgICAgICByc2M6IG51bGwsXG4gICAgICAgICAgICAgICAgcHJlZmV0Y2hSc2M6IG51bGwsXG4gICAgICAgICAgICAgICAgcGFyYWxsZWxSb3V0ZXM6IG5ldyBNYXAoKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWNoaWxkQ2FjaGVOb2RlIHx8ICFleGlzdGluZ0NoaWxkQ2FjaGVOb2RlKSB7XG4gICAgICAgIC8vIFN0YXJ0IGZldGNoIGluIHRoZSBwbGFjZSB3aGVyZSB0aGUgZXhpc3RpbmcgY2FjaGUgZG9lc24ndCBoYXZlIHRoZSBkYXRhIHlldC5cbiAgICAgICAgaWYgKCFjaGlsZENhY2hlTm9kZSkge1xuICAgICAgICAgICAgY2hpbGRTZWdtZW50TWFwLnNldChjYWNoZUtleSwge1xuICAgICAgICAgICAgICAgIGxhenlEYXRhOiBmZXRjaFJlc3BvbnNlKCksXG4gICAgICAgICAgICAgICAgcnNjOiBudWxsLFxuICAgICAgICAgICAgICAgIHByZWZldGNoUnNjOiBudWxsLFxuICAgICAgICAgICAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGNoaWxkQ2FjaGVOb2RlID09PSBleGlzdGluZ0NoaWxkQ2FjaGVOb2RlKSB7XG4gICAgICAgIGNoaWxkQ2FjaGVOb2RlID0ge1xuICAgICAgICAgICAgbGF6eURhdGE6IGNoaWxkQ2FjaGVOb2RlLmxhenlEYXRhLFxuICAgICAgICAgICAgcnNjOiBjaGlsZENhY2hlTm9kZS5yc2MsXG4gICAgICAgICAgICBwcmVmZXRjaFJzYzogY2hpbGRDYWNoZU5vZGUucHJlZmV0Y2hSc2MsXG4gICAgICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcChjaGlsZENhY2hlTm9kZS5wYXJhbGxlbFJvdXRlcylcbiAgICAgICAgfTtcbiAgICAgICAgY2hpbGRTZWdtZW50TWFwLnNldChjYWNoZUtleSwgY2hpbGRDYWNoZU5vZGUpO1xuICAgIH1cbiAgICByZXR1cm4gZmlsbENhY2hlV2l0aERhdGFQcm9wZXJ0eShjaGlsZENhY2hlTm9kZSwgZXhpc3RpbmdDaGlsZENhY2hlTm9kZSwgZmxpZ2h0U2VnbWVudFBhdGguc2xpY2UoMiksIGZldGNoUmVzcG9uc2UpO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1maWxsLWNhY2hlLXdpdGgtZGF0YS1wcm9wZXJ0eS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZmlsbENhY2hlV2l0aERhdGFQcm9wZXJ0eSIsIl9jcmVhdGVyb3V0ZXJjYWNoZWtleSIsInJlcXVpcmUiLCJuZXdDYWNoZSIsImV4aXN0aW5nQ2FjaGUiLCJmbGlnaHRTZWdtZW50UGF0aCIsImZldGNoUmVzcG9uc2UiLCJpc0xhc3RFbnRyeSIsImxlbmd0aCIsInBhcmFsbGVsUm91dGVLZXkiLCJzZWdtZW50IiwiY2FjaGVLZXkiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsImV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwIiwicGFyYWxsZWxSb3V0ZXMiLCJjaGlsZFNlZ21lbnRNYXAiLCJNYXAiLCJzZXQiLCJleGlzdGluZ0NoaWxkQ2FjaGVOb2RlIiwiY2hpbGRDYWNoZU5vZGUiLCJsYXp5RGF0YSIsInJzYyIsInByZWZldGNoUnNjIiwic2xpY2UiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-data-property.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js ***! \*****************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fillCacheWithNewSubTreeData\", ({\n enumerable: true,\n get: function() {\n return fillCacheWithNewSubTreeData;\n }\n}));\nconst _invalidatecachebyrouterstate = __webpack_require__(/*! ./invalidate-cache-by-router-state */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ./fill-lazy-items-till-leaf-with-head */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction fillCacheWithNewSubTreeData(newCache, existingCache, flightDataPath, wasPrefetched) {\n const isLastEntry = flightDataPath.length <= 5;\n const [parallelRouteKey, segment] = flightDataPath;\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey);\n if (!existingChildSegmentMap) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey);\n if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) {\n childSegmentMap = new Map(existingChildSegmentMap);\n newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap);\n }\n const existingChildCacheNode = existingChildSegmentMap.get(cacheKey);\n let childCacheNode = childSegmentMap.get(cacheKey);\n if (isLastEntry) {\n if (!childCacheNode || !childCacheNode.lazyData || childCacheNode === existingChildCacheNode) {\n const seedData = flightDataPath[3];\n const rsc = seedData[2];\n childCacheNode = {\n lazyData: null,\n rsc,\n prefetchRsc: null,\n // Ensure segments other than the one we got data for are preserved.\n parallelRoutes: existingChildCacheNode ? new Map(existingChildCacheNode.parallelRoutes) : new Map()\n };\n if (existingChildCacheNode) {\n (0, _invalidatecachebyrouterstate.invalidateCacheByRouterState)(childCacheNode, existingChildCacheNode, flightDataPath[2]);\n }\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(childCacheNode, existingChildCacheNode, flightDataPath[2], seedData, flightDataPath[4], wasPrefetched);\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n return;\n }\n if (!childCacheNode || !existingChildCacheNode) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n if (childCacheNode === existingChildCacheNode) {\n childCacheNode = {\n lazyData: childCacheNode.lazyData,\n rsc: childCacheNode.rsc,\n prefetchRsc: childCacheNode.prefetchRsc,\n parallelRoutes: new Map(childCacheNode.parallelRoutes)\n };\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n fillCacheWithNewSubTreeData(childCacheNode, existingChildCacheNode, flightDataPath.slice(2), wasPrefetched);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fill-cache-with-new-subtree-data.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZpbGwtY2FjaGUtd2l0aC1uZXctc3VidHJlZS1kYXRhLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwrREFBOEQ7SUFDMURJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxnQ0FBZ0NDLG1CQUFPQSxDQUFDLCtJQUFvQztBQUNsRixNQUFNQyxpQ0FBaUNELG1CQUFPQSxDQUFDLHFKQUF1QztBQUN0RixNQUFNRSx3QkFBd0JGLG1CQUFPQSxDQUFDLDZIQUEyQjtBQUNqRSxTQUFTRiw0QkFBNEJLLFFBQVEsRUFBRUMsYUFBYSxFQUFFQyxjQUFjLEVBQUVDLGFBQWE7SUFDdkYsTUFBTUMsY0FBY0YsZUFBZUcsTUFBTSxJQUFJO0lBQzdDLE1BQU0sQ0FBQ0Msa0JBQWtCQyxRQUFRLEdBQUdMO0lBQ3BDLE1BQU1NLFdBQVcsQ0FBQyxHQUFHVCxzQkFBc0JVLG9CQUFvQixFQUFFRjtJQUNqRSxNQUFNRywwQkFBMEJULGNBQWNVLGNBQWMsQ0FBQ2pCLEdBQUcsQ0FBQ1k7SUFDakUsSUFBSSxDQUFDSSx5QkFBeUI7UUFDMUIsNkVBQTZFO1FBQzdFLHNFQUFzRTtRQUN0RTtJQUNKO0lBQ0EsSUFBSUUsa0JBQWtCWixTQUFTVyxjQUFjLENBQUNqQixHQUFHLENBQUNZO0lBQ2xELElBQUksQ0FBQ00sbUJBQW1CQSxvQkFBb0JGLHlCQUF5QjtRQUNqRUUsa0JBQWtCLElBQUlDLElBQUlIO1FBQzFCVixTQUFTVyxjQUFjLENBQUNHLEdBQUcsQ0FBQ1Isa0JBQWtCTTtJQUNsRDtJQUNBLE1BQU1HLHlCQUF5Qkwsd0JBQXdCaEIsR0FBRyxDQUFDYztJQUMzRCxJQUFJUSxpQkFBaUJKLGdCQUFnQmxCLEdBQUcsQ0FBQ2M7SUFDekMsSUFBSUosYUFBYTtRQUNiLElBQUksQ0FBQ1ksa0JBQWtCLENBQUNBLGVBQWVDLFFBQVEsSUFBSUQsbUJBQW1CRCx3QkFBd0I7WUFDMUYsTUFBTUcsV0FBV2hCLGNBQWMsQ0FBQyxFQUFFO1lBQ2xDLE1BQU1pQixNQUFNRCxRQUFRLENBQUMsRUFBRTtZQUN2QkYsaUJBQWlCO2dCQUNiQyxVQUFVO2dCQUNWRTtnQkFDQUMsYUFBYTtnQkFDYixvRUFBb0U7Z0JBQ3BFVCxnQkFBZ0JJLHlCQUF5QixJQUFJRixJQUFJRSx1QkFBdUJKLGNBQWMsSUFBSSxJQUFJRTtZQUNsRztZQUNBLElBQUlFLHdCQUF3QjtnQkFDdkIsSUFBR25CLDhCQUE4QnlCLDRCQUE0QixFQUFFTCxnQkFBZ0JELHdCQUF3QmIsY0FBYyxDQUFDLEVBQUU7WUFDN0g7WUFDQyxJQUFHSiwrQkFBK0J3Qiw2QkFBNkIsRUFBRU4sZ0JBQWdCRCx3QkFBd0JiLGNBQWMsQ0FBQyxFQUFFLEVBQUVnQixVQUFVaEIsY0FBYyxDQUFDLEVBQUUsRUFBRUM7WUFDMUpTLGdCQUFnQkUsR0FBRyxDQUFDTixVQUFVUTtRQUNsQztRQUNBO0lBQ0o7SUFDQSxJQUFJLENBQUNBLGtCQUFrQixDQUFDRCx3QkFBd0I7UUFDNUMsNkVBQTZFO1FBQzdFLHNFQUFzRTtRQUN0RTtJQUNKO0lBQ0EsSUFBSUMsbUJBQW1CRCx3QkFBd0I7UUFDM0NDLGlCQUFpQjtZQUNiQyxVQUFVRCxlQUFlQyxRQUFRO1lBQ2pDRSxLQUFLSCxlQUFlRyxHQUFHO1lBQ3ZCQyxhQUFhSixlQUFlSSxXQUFXO1lBQ3ZDVCxnQkFBZ0IsSUFBSUUsSUFBSUcsZUFBZUwsY0FBYztRQUN6RDtRQUNBQyxnQkFBZ0JFLEdBQUcsQ0FBQ04sVUFBVVE7SUFDbEM7SUFDQXJCLDRCQUE0QnFCLGdCQUFnQkQsd0JBQXdCYixlQUFlcUIsS0FBSyxDQUFDLElBQUlwQjtBQUNqRztBQUVBLElBQUksQ0FBQyxPQUFPWixRQUFRaUMsT0FBTyxLQUFLLGNBQWUsT0FBT2pDLFFBQVFpQyxPQUFPLEtBQUssWUFBWWpDLFFBQVFpQyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9qQyxRQUFRaUMsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3BDLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWlDLE9BQU8sRUFBRSxjQUFjO1FBQUVoQyxPQUFPO0lBQUs7SUFDbkVILE9BQU9xQyxNQUFNLENBQUNuQyxRQUFRaUMsT0FBTyxFQUFFakM7SUFDL0JvQyxPQUFPcEMsT0FBTyxHQUFHQSxRQUFRaUMsT0FBTztBQUNsQyxFQUVBLDREQUE0RCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmlsbC1jYWNoZS13aXRoLW5ldy1zdWJ0cmVlLWRhdGEuanM/OWZlNyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZpbGxDYWNoZVdpdGhOZXdTdWJUcmVlRGF0YVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZmlsbENhY2hlV2l0aE5ld1N1YlRyZWVEYXRhO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludmFsaWRhdGVjYWNoZWJ5cm91dGVyc3RhdGUgPSByZXF1aXJlKFwiLi9pbnZhbGlkYXRlLWNhY2hlLWJ5LXJvdXRlci1zdGF0ZVwiKTtcbmNvbnN0IF9maWxsbGF6eWl0ZW1zdGlsbGxlYWZ3aXRoaGVhZCA9IHJlcXVpcmUoXCIuL2ZpbGwtbGF6eS1pdGVtcy10aWxsLWxlYWYtd2l0aC1oZWFkXCIpO1xuY29uc3QgX2NyZWF0ZXJvdXRlcmNhY2hla2V5ID0gcmVxdWlyZShcIi4vY3JlYXRlLXJvdXRlci1jYWNoZS1rZXlcIik7XG5mdW5jdGlvbiBmaWxsQ2FjaGVXaXRoTmV3U3ViVHJlZURhdGEobmV3Q2FjaGUsIGV4aXN0aW5nQ2FjaGUsIGZsaWdodERhdGFQYXRoLCB3YXNQcmVmZXRjaGVkKSB7XG4gICAgY29uc3QgaXNMYXN0RW50cnkgPSBmbGlnaHREYXRhUGF0aC5sZW5ndGggPD0gNTtcbiAgICBjb25zdCBbcGFyYWxsZWxSb3V0ZUtleSwgc2VnbWVudF0gPSBmbGlnaHREYXRhUGF0aDtcbiAgICBjb25zdCBjYWNoZUtleSA9ICgwLCBfY3JlYXRlcm91dGVyY2FjaGVrZXkuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKHNlZ21lbnQpO1xuICAgIGNvbnN0IGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwID0gZXhpc3RpbmdDYWNoZS5wYXJhbGxlbFJvdXRlcy5nZXQocGFyYWxsZWxSb3V0ZUtleSk7XG4gICAgaWYgKCFleGlzdGluZ0NoaWxkU2VnbWVudE1hcCkge1xuICAgICAgICAvLyBCYWlsb3V0IGJlY2F1c2UgdGhlIGV4aXN0aW5nIGNhY2hlIGRvZXMgbm90IGhhdmUgdGhlIHBhdGggdG8gdGhlIGxlYWYgbm9kZVxuICAgICAgICAvLyBXaWxsIHRyaWdnZXIgbGF6eSBmZXRjaCBpbiBsYXlvdXQtcm91dGVyIGJlY2F1c2Ugb2YgbWlzc2luZyBzZWdtZW50XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IGNoaWxkU2VnbWVudE1hcCA9IG5ld0NhY2hlLnBhcmFsbGVsUm91dGVzLmdldChwYXJhbGxlbFJvdXRlS2V5KTtcbiAgICBpZiAoIWNoaWxkU2VnbWVudE1hcCB8fCBjaGlsZFNlZ21lbnRNYXAgPT09IGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwKSB7XG4gICAgICAgIGNoaWxkU2VnbWVudE1hcCA9IG5ldyBNYXAoZXhpc3RpbmdDaGlsZFNlZ21lbnRNYXApO1xuICAgICAgICBuZXdDYWNoZS5wYXJhbGxlbFJvdXRlcy5zZXQocGFyYWxsZWxSb3V0ZUtleSwgY2hpbGRTZWdtZW50TWFwKTtcbiAgICB9XG4gICAgY29uc3QgZXhpc3RpbmdDaGlsZENhY2hlTm9kZSA9IGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwLmdldChjYWNoZUtleSk7XG4gICAgbGV0IGNoaWxkQ2FjaGVOb2RlID0gY2hpbGRTZWdtZW50TWFwLmdldChjYWNoZUtleSk7XG4gICAgaWYgKGlzTGFzdEVudHJ5KSB7XG4gICAgICAgIGlmICghY2hpbGRDYWNoZU5vZGUgfHwgIWNoaWxkQ2FjaGVOb2RlLmxhenlEYXRhIHx8IGNoaWxkQ2FjaGVOb2RlID09PSBleGlzdGluZ0NoaWxkQ2FjaGVOb2RlKSB7XG4gICAgICAgICAgICBjb25zdCBzZWVkRGF0YSA9IGZsaWdodERhdGFQYXRoWzNdO1xuICAgICAgICAgICAgY29uc3QgcnNjID0gc2VlZERhdGFbMl07XG4gICAgICAgICAgICBjaGlsZENhY2hlTm9kZSA9IHtcbiAgICAgICAgICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgICAgICAgICByc2MsXG4gICAgICAgICAgICAgICAgcHJlZmV0Y2hSc2M6IG51bGwsXG4gICAgICAgICAgICAgICAgLy8gRW5zdXJlIHNlZ21lbnRzIG90aGVyIHRoYW4gdGhlIG9uZSB3ZSBnb3QgZGF0YSBmb3IgYXJlIHByZXNlcnZlZC5cbiAgICAgICAgICAgICAgICBwYXJhbGxlbFJvdXRlczogZXhpc3RpbmdDaGlsZENhY2hlTm9kZSA/IG5ldyBNYXAoZXhpc3RpbmdDaGlsZENhY2hlTm9kZS5wYXJhbGxlbFJvdXRlcykgOiBuZXcgTWFwKClcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAoZXhpc3RpbmdDaGlsZENhY2hlTm9kZSkge1xuICAgICAgICAgICAgICAgICgwLCBfaW52YWxpZGF0ZWNhY2hlYnlyb3V0ZXJzdGF0ZS5pbnZhbGlkYXRlQ2FjaGVCeVJvdXRlclN0YXRlKShjaGlsZENhY2hlTm9kZSwgZXhpc3RpbmdDaGlsZENhY2hlTm9kZSwgZmxpZ2h0RGF0YVBhdGhbMl0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgKDAsIF9maWxsbGF6eWl0ZW1zdGlsbGxlYWZ3aXRoaGVhZC5maWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCkoY2hpbGRDYWNoZU5vZGUsIGV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUsIGZsaWdodERhdGFQYXRoWzJdLCBzZWVkRGF0YSwgZmxpZ2h0RGF0YVBhdGhbNF0sIHdhc1ByZWZldGNoZWQpO1xuICAgICAgICAgICAgY2hpbGRTZWdtZW50TWFwLnNldChjYWNoZUtleSwgY2hpbGRDYWNoZU5vZGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFjaGlsZENhY2hlTm9kZSB8fCAhZXhpc3RpbmdDaGlsZENhY2hlTm9kZSkge1xuICAgICAgICAvLyBCYWlsb3V0IGJlY2F1c2UgdGhlIGV4aXN0aW5nIGNhY2hlIGRvZXMgbm90IGhhdmUgdGhlIHBhdGggdG8gdGhlIGxlYWYgbm9kZVxuICAgICAgICAvLyBXaWxsIHRyaWdnZXIgbGF6eSBmZXRjaCBpbiBsYXlvdXQtcm91dGVyIGJlY2F1c2Ugb2YgbWlzc2luZyBzZWdtZW50XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGNoaWxkQ2FjaGVOb2RlID09PSBleGlzdGluZ0NoaWxkQ2FjaGVOb2RlKSB7XG4gICAgICAgIGNoaWxkQ2FjaGVOb2RlID0ge1xuICAgICAgICAgICAgbGF6eURhdGE6IGNoaWxkQ2FjaGVOb2RlLmxhenlEYXRhLFxuICAgICAgICAgICAgcnNjOiBjaGlsZENhY2hlTm9kZS5yc2MsXG4gICAgICAgICAgICBwcmVmZXRjaFJzYzogY2hpbGRDYWNoZU5vZGUucHJlZmV0Y2hSc2MsXG4gICAgICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcChjaGlsZENhY2hlTm9kZS5wYXJhbGxlbFJvdXRlcylcbiAgICAgICAgfTtcbiAgICAgICAgY2hpbGRTZWdtZW50TWFwLnNldChjYWNoZUtleSwgY2hpbGRDYWNoZU5vZGUpO1xuICAgIH1cbiAgICBmaWxsQ2FjaGVXaXRoTmV3U3ViVHJlZURhdGEoY2hpbGRDYWNoZU5vZGUsIGV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUsIGZsaWdodERhdGFQYXRoLnNsaWNlKDIpLCB3YXNQcmVmZXRjaGVkKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZmlsbC1jYWNoZS13aXRoLW5ldy1zdWJ0cmVlLWRhdGEuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImZpbGxDYWNoZVdpdGhOZXdTdWJUcmVlRGF0YSIsIl9pbnZhbGlkYXRlY2FjaGVieXJvdXRlcnN0YXRlIiwicmVxdWlyZSIsIl9maWxsbGF6eWl0ZW1zdGlsbGxlYWZ3aXRoaGVhZCIsIl9jcmVhdGVyb3V0ZXJjYWNoZWtleSIsIm5ld0NhY2hlIiwiZXhpc3RpbmdDYWNoZSIsImZsaWdodERhdGFQYXRoIiwid2FzUHJlZmV0Y2hlZCIsImlzTGFzdEVudHJ5IiwibGVuZ3RoIiwicGFyYWxsZWxSb3V0ZUtleSIsInNlZ21lbnQiLCJjYWNoZUtleSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwiZXhpc3RpbmdDaGlsZFNlZ21lbnRNYXAiLCJwYXJhbGxlbFJvdXRlcyIsImNoaWxkU2VnbWVudE1hcCIsIk1hcCIsInNldCIsImV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUiLCJjaGlsZENhY2hlTm9kZSIsImxhenlEYXRhIiwic2VlZERhdGEiLCJyc2MiLCJwcmVmZXRjaFJzYyIsImludmFsaWRhdGVDYWNoZUJ5Um91dGVyU3RhdGUiLCJmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCIsInNsaWNlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js": /*!********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js ***! \********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fillLazyItemsTillLeafWithHead\", ({\n enumerable: true,\n get: function() {\n return fillLazyItemsTillLeafWithHead;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction fillLazyItemsTillLeafWithHead(newCache, existingCache, routerState, cacheNodeSeedData, head, wasPrefetched) {\n const isLastSegment = Object.keys(routerState[1]).length === 0;\n if (isLastSegment) {\n newCache.head = head;\n return;\n }\n // Remove segment that we got data for so that it is filled in during rendering of rsc.\n for(const key in routerState[1]){\n const parallelRouteState = routerState[1][key];\n const segmentForParallelRoute = parallelRouteState[0];\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segmentForParallelRoute);\n // TODO: We should traverse the cacheNodeSeedData tree instead of the router\n // state tree. Ideally, they would always be the same shape, but because of\n // the loading.js pattern, cacheNodeSeedData sometimes only represents a\n // partial tree. That's why this node is sometimes null. Once PPR lands,\n // loading.js will no longer have special behavior and we can traverse the\n // data tree instead.\n //\n // We should also consider merging the router state tree and the data tree\n // in the response format, so that we don't have to send the keys twice.\n // Then the client can convert them into separate representations.\n const parallelSeedData = cacheNodeSeedData !== null && cacheNodeSeedData[1][key] !== undefined ? cacheNodeSeedData[1][key] : null;\n if (existingCache) {\n const existingParallelRoutesCacheNode = existingCache.parallelRoutes.get(key);\n if (existingParallelRoutesCacheNode) {\n let parallelRouteCacheNode = new Map(existingParallelRoutesCacheNode);\n const existingCacheNode = parallelRouteCacheNode.get(cacheKey);\n let newCacheNode;\n if (parallelSeedData !== null) {\n // New data was sent from the server.\n const seedNode = parallelSeedData[2];\n newCacheNode = {\n lazyData: null,\n rsc: seedNode,\n // This is a PPR-only field. When PPR is enabled, we shouldn't hit\n // this path during a navigation, but until PPR is fully implemented\n // yet it's possible the existing node does have a non-null\n // `prefetchRsc`. As an incremental step, we'll just de-opt to the\n // old behavior — no PPR value.\n prefetchRsc: null,\n parallelRoutes: new Map(existingCacheNode == null ? void 0 : existingCacheNode.parallelRoutes)\n };\n } else if (wasPrefetched && existingCacheNode) {\n // No new data was sent from the server, but the existing cache node\n // was prefetched, so we should reuse that.\n newCacheNode = {\n lazyData: existingCacheNode.lazyData,\n rsc: existingCacheNode.rsc,\n // This is a PPR-only field. Unlike the previous branch, since we're\n // just cloning the existing cache node, we might as well keep the\n // PPR value, if it exists.\n prefetchRsc: existingCacheNode.prefetchRsc,\n parallelRoutes: new Map(existingCacheNode.parallelRoutes)\n };\n } else {\n // No data available for this node. This will trigger a lazy fetch\n // during render.\n newCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n parallelRoutes: new Map(existingCacheNode == null ? void 0 : existingCacheNode.parallelRoutes)\n };\n }\n // Overrides the cache key with the new cache node.\n parallelRouteCacheNode.set(cacheKey, newCacheNode);\n // Traverse deeper to apply the head / fill lazy items till the head.\n fillLazyItemsTillLeafWithHead(newCacheNode, existingCacheNode, parallelRouteState, parallelSeedData ? parallelSeedData : null, head, wasPrefetched);\n newCache.parallelRoutes.set(key, parallelRouteCacheNode);\n continue;\n }\n }\n let newCacheNode;\n if (parallelSeedData !== null) {\n // New data was sent from the server.\n const seedNode = parallelSeedData[2];\n newCacheNode = {\n lazyData: null,\n rsc: seedNode,\n prefetchRsc: null,\n parallelRoutes: new Map()\n };\n } else {\n // No data available for this node. This will trigger a lazy fetch\n // during render.\n newCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n parallelRoutes: new Map()\n };\n }\n const existingParallelRoutes = newCache.parallelRoutes.get(key);\n if (existingParallelRoutes) {\n existingParallelRoutes.set(cacheKey, newCacheNode);\n } else {\n newCache.parallelRoutes.set(key, new Map([\n [\n cacheKey,\n newCacheNode\n ]\n ]));\n }\n fillLazyItemsTillLeafWithHead(newCacheNode, undefined, parallelRouteState, parallelSeedData, head, wasPrefetched);\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fill-lazy-items-till-leaf-with-head.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZpbGwtbGF6eS1pdGVtcy10aWxsLWxlYWYtd2l0aC1oZWFkLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxpRUFBZ0U7SUFDNURJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyx3QkFBd0JDLG1CQUFPQSxDQUFDLDZIQUEyQjtBQUNqRSxTQUFTRiw4QkFBOEJHLFFBQVEsRUFBRUMsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLGlCQUFpQixFQUFFQyxJQUFJLEVBQUVDLGFBQWE7SUFDL0csTUFBTUMsZ0JBQWdCZixPQUFPZ0IsSUFBSSxDQUFDTCxXQUFXLENBQUMsRUFBRSxFQUFFTSxNQUFNLEtBQUs7SUFDN0QsSUFBSUYsZUFBZTtRQUNmTixTQUFTSSxJQUFJLEdBQUdBO1FBQ2hCO0lBQ0o7SUFDQSx1RkFBdUY7SUFDdkYsSUFBSSxNQUFNSyxPQUFPUCxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQzVCLE1BQU1RLHFCQUFxQlIsV0FBVyxDQUFDLEVBQUUsQ0FBQ08sSUFBSTtRQUM5QyxNQUFNRSwwQkFBMEJELGtCQUFrQixDQUFDLEVBQUU7UUFDckQsTUFBTUUsV0FBVyxDQUFDLEdBQUdkLHNCQUFzQmUsb0JBQW9CLEVBQUVGO1FBQ2pFLDRFQUE0RTtRQUM1RSwyRUFBMkU7UUFDM0Usd0VBQXdFO1FBQ3hFLHdFQUF3RTtRQUN4RSwwRUFBMEU7UUFDMUUscUJBQXFCO1FBQ3JCLEVBQUU7UUFDRiwwRUFBMEU7UUFDMUUsd0VBQXdFO1FBQ3hFLGtFQUFrRTtRQUNsRSxNQUFNRyxtQkFBbUJYLHNCQUFzQixRQUFRQSxpQkFBaUIsQ0FBQyxFQUFFLENBQUNNLElBQUksS0FBS00sWUFBWVosaUJBQWlCLENBQUMsRUFBRSxDQUFDTSxJ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QyxRQUFRbUMsT0FBTyxFQUFFbkM7SUFDL0JzQyxPQUFPdEMsT0FBTyxHQUFHQSxRQUFRbUMsT0FBTztBQUNsQyxFQUVBLCtEQUErRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmlsbC1sYXp5LWl0ZW1zLXRpbGwtbGVhZi13aXRoLWhlYWQuanM/NmM5ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZDtcbiAgICB9XG59KTtcbmNvbnN0IF9jcmVhdGVyb3V0ZXJjYWNoZWtleSA9IHJlcXVpcmUoXCIuL2NyZWF0ZS1yb3V0ZXItY2FjaGUta2V5XCIpO1xuZnVuY3Rpb24gZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQobmV3Q2FjaGUsIGV4aXN0aW5nQ2FjaGUsIHJvdXRlclN0YXRlLCBjYWNoZU5vZGVTZWVkRGF0YSwgaGVhZCwgd2FzUHJlZmV0Y2hlZCkge1xuICAgIGNvbnN0IGlzTGFzdFNlZ21lbnQgPSBPYmplY3Qua2V5cyhyb3V0ZXJTdGF0ZVsxXSkubGVuZ3RoID09PSAwO1xuICAgIGlmIChpc0xhc3RTZWdtZW50KSB7XG4gICAgICAgIG5ld0NhY2hlLmhlYWQgPSBoZWFkO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIFJlbW92ZSBzZWdtZW50IHRoYXQgd2UgZ290IGRhdGEgZm9yIHNvIHRoYXQgaXQgaXMgZmlsbGVkIGluIGR1cmluZyByZW5kZXJpbmcgb2YgcnNjLlxuICAgIGZvcihjb25zdCBrZXkgaW4gcm91dGVyU3RhdGVbMV0pe1xuICAgICAgICBjb25zdCBwYXJhbGxlbFJvdXRlU3RhdGUgPSByb3V0ZXJTdGF0ZVsxXVtrZXldO1xuICAgICAgICBjb25zdCBzZWdtZW50Rm9yUGFyYWxsZWxSb3V0ZSA9IHBhcmFsbGVsUm91dGVTdGF0ZVswXTtcbiAgICAgICAgY29uc3QgY2FjaGVLZXkgPSAoMCwgX2NyZWF0ZXJvdXRlcmNhY2hla2V5LmNyZWF0ZVJvdXRlckNhY2hlS2V5KShzZWdtZW50Rm9yUGFyYWxsZWxSb3V0ZSk7XG4gICAgICAgIC8vIFRPRE86IFdlIHNob3VsZCB0cmF2ZXJzZSB0aGUgY2FjaGVOb2RlU2VlZERhdGEgdHJlZSBpbnN0ZWFkIG9mIHRoZSByb3V0ZXJcbiAgICAgICAgLy8gc3RhdGUgdHJlZS4gSWRlYWxseSwgdGhleSB3b3VsZCBhbHdheXMgYmUgdGhlIHNhbWUgc2hhcGUsIGJ1dCBiZWNhdXNlIG9mXG4gICAgICAgIC8vIHRoZSBsb2FkaW5nLmpzIHBhdHRlcm4sIGNhY2hlTm9kZVNlZWREYXRhIHNvbWV0aW1lcyBvbmx5IHJlcHJlc2VudHMgYVxuICAgICAgICAvLyBwYXJ0aWFsIHRyZWUuIFRoYXQncyB3aHkgdGhpcyBub2RlIGlzIHNvbWV0aW1lcyBudWxsLiBPbmNlIFBQUiBsYW5kcyxcbiAgICAgICAgLy8gbG9hZGluZy5qcyB3aWxsIG5vIGxvbmdlciBoYXZlIHNwZWNpYWwgYmVoYXZpb3IgYW5kIHdlIGNhbiB0cmF2ZXJzZSB0aGVcbiAgICAgICAgLy8gZGF0YSB0cmVlIGluc3RlYWQuXG4gICAgICAgIC8vXG4gICAgICAgIC8vIFdlIHNob3VsZCBhbHNvIGNvbnNpZGVyIG1lcmdpbmcgdGhlIHJvdXRlciBzdGF0ZSB0cmVlIGFuZCB0aGUgZGF0YSB0cmVlXG4gICAgICAgIC8vIGluIHRoZSByZXNwb25zZSBmb3JtYXQsIHNvIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0byBzZW5kIHRoZSBrZXlzIHR3aWNlLlxuICAgICAgICAvLyBUaGVuIHRoZSBjbGllbnQgY2FuIGNvbnZlcnQgdGhlbSBpbnRvIHNlcGFyYXRlIHJlcHJlc2VudGF0aW9ucy5cbiAgICAgICAgY29uc3QgcGFyYWxsZWxTZWVkRGF0YSA9IGNhY2hlTm9kZVNlZWREYXRhICE9PSBudWxsICYmIGNhY2hlTm9kZVNlZWREYXRhWzFdW2tleV0gIT09IHVuZGVmaW5lZCA/IGNhY2hlTm9kZVNlZWREYXRhWzFdW2tleV0gOiBudWxsO1xuICAgICAgICBpZiAoZXhpc3RpbmdDYWNoZSkge1xuICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdQYXJhbGxlbFJvdXRlc0NhY2hlTm9kZSA9IGV4aXN0aW5nQ2FjaGUucGFyYWxsZWxSb3V0ZXMuZ2V0KGtleSk7XG4gICAgICAgICAgICBpZiAoZXhpc3RpbmdQYXJhbGxlbFJvdXRlc0NhY2hlTm9kZSkge1xuICAgICAgICAgICAgICAgIGxldCBwYXJhbGxlbFJvdXRlQ2FjaGVOb2RlID0gbmV3IE1hcChleGlzdGluZ1BhcmFsbGVsUm91dGVzQ2FjaGVOb2RlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBleGlzdGluZ0NhY2hlTm9kZSA9IHBhcmFsbGVsUm91dGVDYWNoZU5vZGUuZ2V0KGNhY2hlS2V5KTtcbiAgICAgICAgICAgICAgICBsZXQgbmV3Q2FjaGVOb2RlO1xuICAgICAgICAgICAgICAgIGlmIChwYXJhbGxlbFNlZWREYXRhICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIE5ldyBkYXRhIHdhcyBzZW50IGZyb20gdGhlIHNlcnZlci5cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VlZE5vZGUgPSBwYXJhbGxlbFNlZWREYXRhWzJdO1xuICAgICAgICAgICAgICAgICAgICBuZXdDYWNoZU5vZGUgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJzYzogc2VlZE5vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGEgUFBSLW9ubHkgZmllbGQuIFdoZW4gUFBSIGlzIGVuYWJsZWQsIHdlIHNob3VsZG4ndCBoaXRcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgcGF0aCBkdXJpbmcgYSBuYXZpZ2F0aW9uLCBidXQgdW50aWwgUFBSIGlzIGZ1bGx5IGltcGxlbWVudGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB5ZXQgaXQncyBwb3NzaWJsZSB0aGUgZXhpc3Rpbmcgbm9kZSBkb2VzIGhhdmUgYSBub24tbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYHByZWZldGNoUnNjYC4gQXMgYW4gaW5jcmVtZW50YWwgc3RlcCwgd2UnbGwganVzdCBkZS1vcHQgdG8gdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvbGQgYmVoYXZpb3Ig4oCUIG5vIFBQUiB2YWx1ZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZldGNoUnNjOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYWxsZWxSb3V0ZXM6IG5ldyBNYXAoZXhpc3RpbmdDYWNoZU5vZGUgPT0gbnVsbCA/IHZvaWQgMCA6IGV4aXN0aW5nQ2FjaGVOb2RlLnBhcmFsbGVsUm91dGVzKVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAod2FzUHJlZmV0Y2hlZCAmJiBleGlzdGluZ0NhY2hlTm9kZSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBObyBuZXcgZGF0YSB3YXMgc2VudCBmcm9tIHRoZSBzZXJ2ZXIsIGJ1dCB0aGUgZXhpc3RpbmcgY2FjaGUgbm9kZVxuICAgICAgICAgICAgICAgICAgICAvLyB3YXMgcHJlZmV0Y2hlZCwgc28gd2Ugc2hvdWxkIHJldXNlIHRoYXQuXG4gICAgICAgICAgICAgICAgICAgIG5ld0NhY2hlTm9kZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhenlEYXRhOiBleGlzdGluZ0NhY2hlTm9kZS5sYXp5RGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJzYzogZXhpc3RpbmdDYWNoZU5vZGUucnNjLFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIFBQUi1vbmx5IGZpZWxkLiBVbmxpa2UgdGhlIHByZXZpb3VzIGJyYW5jaCwgc2luY2Ugd2UncmVcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGp1c3QgY2xvbmluZyB0aGUgZXhpc3RpbmcgY2FjaGUgbm9kZSwgd2UgbWlnaHQgYXMgd2VsbCBrZWVwIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUFBSIHZhbHVlLCBpZiBpdCBleGlzdHMuXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmVmZXRjaFJzYzogZXhpc3RpbmdDYWNoZU5vZGUucHJlZmV0Y2hSc2MsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcChleGlzdGluZ0NhY2hlTm9kZS5wYXJhbGxlbFJvdXRlcylcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBObyBkYXRhIGF2YWlsYWJsZSBmb3IgdGhpcyBub2RlLiBUaGlzIHdpbGwgdHJpZ2dlciBhIGxhenkgZmV0Y2hcbiAgICAgICAgICAgICAgICAgICAgLy8gZHVyaW5nIHJlbmRlci5cbiAgICAgICAgICAgICAgICAgICAgbmV3Q2FjaGVOb2RlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGF6eURhdGE6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICByc2M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKGV4aXN0aW5nQ2FjaGVOb2RlID09IG51bGwgPyB2b2lkIDAgOiBleGlzdGluZ0NhY2hlTm9kZS5wYXJhbGxlbFJvdXRlcylcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGVzIHRoZSBjYWNoZSBrZXkgd2l0aCB0aGUgbmV3IGNhY2hlIG5vZGUuXG4gICAgICAgICAgICAgICAgcGFyYWxsZWxSb3V0ZUNhY2hlTm9kZS5zZXQoY2FjaGVLZXksIG5ld0NhY2hlTm9kZSk7XG4gICAgICAgICAgICAgICAgLy8gVHJhdmVyc2UgZGVlcGVyIHRvIGFwcGx5IHRoZSBoZWFkIC8gZmlsbCBsYXp5IGl0ZW1zIHRpbGwgdGhlIGhlYWQuXG4gICAgICAgICAgICAgICAgZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQobmV3Q2FjaGVOb2RlLCBleGlzdGluZ0NhY2hlTm9kZSwgcGFyYWxsZWxSb3V0ZVN0YXRlLCBwYXJhbGxlbFNlZWREYXRhID8gcGFyYWxsZWxTZWVkRGF0YSA6IG51bGwsIGhlYWQsIHdhc1ByZWZldGNoZWQpO1xuICAgICAgICAgICAgICAgIG5ld0NhY2hlLnBhcmFsbGVsUm91dGVzLnNldChrZXksIHBhcmFsbGVsUm91dGVDYWNoZU5vZGUpO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxldCBuZXdDYWNoZU5vZGU7XG4gICAgICAgIGlmIChwYXJhbGxlbFNlZWREYXRhICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBOZXcgZGF0YSB3YXMgc2VudCBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAgICAgICAgICBjb25zdCBzZWVkTm9kZSA9IHBhcmFsbGVsU2VlZERhdGFbMl07XG4gICAgICAgICAgICBuZXdDYWNoZU5vZGUgPSB7XG4gICAgICAgICAgICAgICAgbGF6eURhdGE6IG51bGwsXG4gICAgICAgICAgICAgICAgcnNjOiBzZWVkTm9kZSxcbiAgICAgICAgICAgICAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICAgICAgICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcCgpXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gTm8gZGF0YSBhdmFpbGFibGUgZm9yIHRoaXMgbm9kZS4gVGhpcyB3aWxsIHRyaWdnZXIgYSBsYXp5IGZldGNoXG4gICAgICAgICAgICAvLyBkdXJpbmcgcmVuZGVyLlxuICAgICAgICAgICAgbmV3Q2FjaGVOb2RlID0ge1xuICAgICAgICAgICAgICAgIGxhenlEYXRhOiBudWxsLFxuICAgICAgICAgICAgICAgIHJzYzogbnVsbCxcbiAgICAgICAgICAgICAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICAgICAgICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcCgpXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nUGFyYWxsZWxSb3V0ZXMgPSBuZXdDYWNoZS5wYXJhbGxlbFJvdXRlcy5nZXQoa2V5KTtcbiAgICAgICAgaWYgKGV4aXN0aW5nUGFyYWxsZWxSb3V0ZXMpIHtcbiAgICAgICAgICAgIGV4aXN0aW5nUGFyYWxsZWxSb3V0ZXMuc2V0KGNhY2hlS2V5LCBuZXdDYWNoZU5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3Q2FjaGUucGFyYWxsZWxSb3V0ZXMuc2V0KGtleSwgbmV3IE1hcChbXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBjYWNoZUtleSxcbiAgICAgICAgICAgICAgICAgICAgbmV3Q2FjaGVOb2RlXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgXSkpO1xuICAgICAgICB9XG4gICAgICAgIGZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkKG5ld0NhY2hlTm9kZSwgdW5kZWZpbmVkLCBwYXJhbGxlbFJvdXRlU3RhdGUsIHBhcmFsbGVsU2VlZERhdGEsIGhlYWQsIHdhc1ByZWZldGNoZWQpO1xuICAgIH1cbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZmlsbC1sYXp5LWl0ZW1zLXRpbGwtbGVhZi13aXRoLWhlYWQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkIiwiX2NyZWF0ZXJvdXRlcmNhY2hla2V5IiwicmVxdWlyZSIsIm5ld0NhY2hlIiwiZXhpc3RpbmdDYWNoZSIsInJvdXRlclN0YXRlIiwiY2FjaGVOb2RlU2VlZERhdGEiLCJoZWFkIiwid2FzUHJlZmV0Y2hlZCIsImlzTGFzdFNlZ21lbnQiLCJrZXlzIiwibGVuZ3RoIiwia2V5IiwicGFyYWxsZWxSb3V0ZVN0YXRlIiwic2VnbWVudEZvclBhcmFsbGVsUm91dGUiLCJjYWNoZUtleSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwicGFyYWxsZWxTZWVkRGF0YSIsInVuZGVmaW5lZCIsImV4aXN0aW5nUGFyYWxsZWxSb3V0ZXNDYWNoZU5vZGUiLCJwYXJhbGxlbFJvdXRlcyIsInBhcmFsbGVsUm91dGVDYWNoZU5vZGUiLCJNYXAiLCJleGlzdGluZ0NhY2hlTm9kZSIsIm5ld0NhY2hlTm9kZSIsInNlZWROb2RlIiwibGF6eURhdGEiLCJyc2MiLCJwcmVmZXRjaFJzYyIsInNldCIsImV4aXN0aW5nUGFyYWxsZWxSb3V0ZXMiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/get-prefetch-cache-entry-status.js": /*!****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/get-prefetch-cache-entry-status.js ***! \****************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PrefetchCacheEntryStatus: function() {\n return PrefetchCacheEntryStatus;\n },\n getPrefetchEntryCacheStatus: function() {\n return getPrefetchEntryCacheStatus;\n }\n});\nconst FIVE_MINUTES = 5 * 60 * 1000;\nconst THIRTY_SECONDS = 30 * 1000;\nvar PrefetchCacheEntryStatus;\n(function(PrefetchCacheEntryStatus) {\n PrefetchCacheEntryStatus[\"fresh\"] = \"fresh\";\n PrefetchCacheEntryStatus[\"reusable\"] = \"reusable\";\n PrefetchCacheEntryStatus[\"expired\"] = \"expired\";\n PrefetchCacheEntryStatus[\"stale\"] = \"stale\";\n})(PrefetchCacheEntryStatus || (PrefetchCacheEntryStatus = {}));\nfunction getPrefetchEntryCacheStatus(param) {\n let { kind, prefetchTime, lastUsedTime } = param;\n // if the cache entry was prefetched or read less than 30s ago, then we want to re-use it\n if (Date.now() < (lastUsedTime != null ? lastUsedTime : prefetchTime) + THIRTY_SECONDS) {\n return lastUsedTime ? \"reusable\" : \"fresh\";\n }\n // if the cache entry was prefetched less than 5 mins ago, then we want to re-use only the loading state\n if (kind === \"auto\") {\n if (Date.now() < prefetchTime + FIVE_MINUTES) {\n return \"stale\";\n }\n }\n // if the cache entry was prefetched less than 5 mins ago and was a \"full\" prefetch, then we want to re-use it \"full\n if (kind === \"full\") {\n if (Date.now() < prefetchTime + FIVE_MINUTES) {\n return \"reusable\";\n }\n }\n return \"expired\";\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-prefetch-cache-entry-status.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2dldC1wcmVmZXRjaC1jYWNoZS1lbnRyeS1zdGF0dXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLDZCQUE2QjtRQUN6QixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxlQUFlLElBQUksS0FBSztBQUM5QixNQUFNQyxpQkFBaUIsS0FBSztBQUM1QixJQUFJVDtBQUNILFVBQVNBLHdCQUF3QjtJQUM5QkEsd0JBQXdCLENBQUMsUUFBUSxHQUFHO0lBQ3BDQSx3QkFBd0IsQ0FBQyxXQUFXLEdBQUc7SUFDdkNBLHdCQUF3QixDQUFDLFVBQVUsR0FBRztJQUN0Q0Esd0JBQXdCLENBQUMsUUFBUSxHQUFHO0FBQ3hDLEdBQUdBLDRCQUE2QkEsQ0FBQUEsMkJBQTJCLENBQUM7QUFDNUQsU0FBU0MsNEJBQTRCUyxLQUFLO0lBQ3RDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxZQUFZLEVBQUVDLFlBQVksRUFBRSxHQUFHSDtJQUMzQyx5RkFBeUY7SUFDekYsSUFBSUksS0FBS0MsR0FBRyxLQUFLLENBQUNGLGdCQUFnQixPQUFPQSxlQUFlRCxZQUFXLElBQUtILGdCQUFnQjtRQUNwRixPQUFPSSxlQUFlLGFBQWE7SUFDdkM7SUFDQSx3R0FBd0c7SUFDeEcsSUFBSUYsU0FBUyxRQUFRO1FBQ2pCLElBQUlHLEtBQUtDLEdBQUcsS0FBS0gsZUFBZUosY0FBYztZQUMxQyxPQUFPO1FBQ1g7SUFDSjtJQUNBLG9IQUFvSDtJQUNwSCxJQUFJRyxTQUFTLFFBQVE7UUFDakIsSUFBSUcsS0FBS0MsR0FBRyxLQUFLSCxlQUFlSixjQUFjO1lBQzFDLE9BQU87UUFDWDtJQUNKO0lBQ0EsT0FBTztBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU9YLFFBQVFtQixPQUFPLEtBQUssY0FBZSxPQUFPbkIsUUFBUW1CLE9BQU8sS0FBSyxZQUFZbkIsUUFBUW1CLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT25CLFFBQVFtQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLdEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRbUIsT0FBTyxFQUFFLGNBQWM7UUFBRWxCLE9BQU87SUFBSztJQUNuRUgsT0FBT3VCLE1BQU0sQ0FBQ3JCLFFBQVFtQixPQUFPLEVBQUVuQjtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRbUIsT0FBTztBQUNsQyxFQUVBLDJEQUEyRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZ2V0LXByZWZldGNoLWNhY2hlLWVudHJ5LXN0YXR1cy5qcz82Y2RhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzOiBudWxsLFxuICAgIGdldFByZWZldGNoRW50cnlDYWNoZVN0YXR1czogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBQcmVmZXRjaENhY2hlRW50cnlTdGF0dXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzO1xuICAgIH0sXG4gICAgZ2V0UHJlZmV0Y2hFbnRyeUNhY2hlU3RhdHVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFByZWZldGNoRW50cnlDYWNoZVN0YXR1cztcbiAgICB9XG59KTtcbmNvbnN0IEZJVkVfTUlOVVRFUyA9IDUgKiA2MCAqIDEwMDA7XG5jb25zdCBUSElSVFlfU0VDT05EUyA9IDMwICogMTAwMDtcbnZhciBQcmVmZXRjaENhY2hlRW50cnlTdGF0dXM7XG4oZnVuY3Rpb24oUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzKSB7XG4gICAgUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzW1wiZnJlc2hcIl0gPSBcImZyZXNoXCI7XG4gICAgUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzW1wicmV1c2FibGVcIl0gPSBcInJldXNhYmxlXCI7XG4gICAgUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzW1wiZXhwaXJlZFwiXSA9IFwiZXhwaXJlZFwiO1xuICAgIFByZWZldGNoQ2FjaGVFbnRyeVN0YXR1c1tcInN0YWxlXCJdID0gXCJzdGFsZVwiO1xufSkoUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzIHx8IChQcmVmZXRjaENhY2hlRW50cnlTdGF0dXMgPSB7fSkpO1xuZnVuY3Rpb24gZ2V0UHJlZmV0Y2hFbnRyeUNhY2hlU3RhdHVzKHBhcmFtKSB7XG4gICAgbGV0IHsga2luZCwgcHJlZmV0Y2hUaW1lLCBsYXN0VXNlZFRpbWUgfSA9IHBhcmFtO1xuICAgIC8vIGlmIHRoZSBjYWNoZSBlbnRyeSB3YXMgcHJlZmV0Y2hlZCBvciByZWFkIGxlc3MgdGhhbiAzMHMgYWdvLCB0aGVuIHdlIHdhbnQgdG8gcmUtdXNlIGl0XG4gICAgaWYgKERhdGUubm93KCkgPCAobGFzdFVzZWRUaW1lICE9IG51bGwgPyBsYXN0VXNlZFRpbWUgOiBwcmVmZXRjaFRpbWUpICsgVEhJUlRZX1NFQ09ORFMpIHtcbiAgICAgICAgcmV0dXJuIGxhc3RVc2VkVGltZSA/IFwicmV1c2FibGVcIiA6IFwiZnJlc2hcIjtcbiAgICB9XG4gICAgLy8gaWYgdGhlIGNhY2hlIGVudHJ5IHdhcyBwcmVmZXRjaGVkIGxlc3MgdGhhbiA1IG1pbnMgYWdvLCB0aGVuIHdlIHdhbnQgdG8gcmUtdXNlIG9ubHkgdGhlIGxvYWRpbmcgc3RhdGVcbiAgICBpZiAoa2luZCA9PT0gXCJhdXRvXCIpIHtcbiAgICAgICAgaWYgKERhdGUubm93KCkgPCBwcmVmZXRjaFRpbWUgKyBGSVZFX01JTlVURVMpIHtcbiAgICAgICAgICAgIHJldHVybiBcInN0YWxlXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gaWYgdGhlIGNhY2hlIGVudHJ5IHdhcyBwcmVmZXRjaGVkIGxlc3MgdGhhbiA1IG1pbnMgYWdvIGFuZCB3YXMgYSBcImZ1bGxcIiBwcmVmZXRjaCwgdGhlbiB3ZSB3YW50IHRvIHJlLXVzZSBpdCBcImZ1bGxcbiAgICBpZiAoa2luZCA9PT0gXCJmdWxsXCIpIHtcbiAgICAgICAgaWYgKERhdGUubm93KCkgPCBwcmVmZXRjaFRpbWUgKyBGSVZFX01JTlVURVMpIHtcbiAgICAgICAgICAgIHJldHVybiBcInJldXNhYmxlXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFwiZXhwaXJlZFwiO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXQtcHJlZmV0Y2gtY2FjaGUtZW50cnktc3RhdHVzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIlByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cyIsImdldFByZWZldGNoRW50cnlDYWNoZVN0YXR1cyIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIkZJVkVfTUlOVVRFUyIsIlRISVJUWV9TRUNPTkRTIiwicGFyYW0iLCJraW5kIiwicHJlZmV0Y2hUaW1lIiwibGFzdFVzZWRUaW1lIiwiRGF0ZSIsIm5vdyIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/get-prefetch-cache-entry-status.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js": /*!***********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/handle-mutable.js ***! \***********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleMutable\", ({\n enumerable: true,\n get: function() {\n return handleMutable;\n }\n}));\nconst _computechangedpath = __webpack_require__(/*! ./compute-changed-path */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nfunction isNotUndefined(value) {\n return typeof value !== \"undefined\";\n}\nfunction handleMutable(state, mutable) {\n var _mutable_canonicalUrl;\n var _mutable_shouldScroll;\n // shouldScroll is true by default, can override to false.\n const shouldScroll = (_mutable_shouldScroll = mutable.shouldScroll) != null ? _mutable_shouldScroll : true;\n let nextUrl = state.nextUrl;\n if (isNotUndefined(mutable.patchedTree)) {\n // If we received a patched tree, we need to compute the changed path.\n const changedPath = (0, _computechangedpath.computeChangedPath)(state.tree, mutable.patchedTree);\n if (changedPath) {\n // If the tree changed, we need to update the nextUrl\n nextUrl = changedPath;\n } else if (!nextUrl) {\n // if the tree ends up being the same (ie, no changed path), and we don't have a nextUrl, then we should use the canonicalUrl\n nextUrl = state.canonicalUrl;\n }\n // otherwise this will be a no-op and continue to use the existing nextUrl\n }\n var _mutable_scrollableSegments;\n return {\n buildId: state.buildId,\n // Set href.\n canonicalUrl: isNotUndefined(mutable.canonicalUrl) ? mutable.canonicalUrl === state.canonicalUrl ? state.canonicalUrl : mutable.canonicalUrl : state.canonicalUrl,\n pushRef: {\n pendingPush: isNotUndefined(mutable.pendingPush) ? mutable.pendingPush : state.pushRef.pendingPush,\n mpaNavigation: isNotUndefined(mutable.mpaNavigation) ? mutable.mpaNavigation : state.pushRef.mpaNavigation,\n preserveCustomHistoryState: isNotUndefined(mutable.preserveCustomHistoryState) ? mutable.preserveCustomHistoryState : state.pushRef.preserveCustomHistoryState\n },\n // All navigation requires scroll and focus management to trigger.\n focusAndScrollRef: {\n apply: shouldScroll ? isNotUndefined(mutable == null ? void 0 : mutable.scrollableSegments) ? true : state.focusAndScrollRef.apply : false,\n onlyHashChange: !!mutable.hashFragment && state.canonicalUrl.split(\"#\", 1)[0] === ((_mutable_canonicalUrl = mutable.canonicalUrl) == null ? void 0 : _mutable_canonicalUrl.split(\"#\", 1)[0]),\n hashFragment: shouldScroll ? mutable.hashFragment && mutable.hashFragment !== \"\" ? decodeURIComponent(mutable.hashFragment.slice(1)) : state.focusAndScrollRef.hashFragment : null,\n segmentPaths: shouldScroll ? (_mutable_scrollableSegments = mutable == null ? void 0 : mutable.scrollableSegments) != null ? _mutable_scrollableSegments : state.focusAndScrollRef.segmentPaths : []\n },\n // Apply cache.\n cache: mutable.cache ? mutable.cache : state.cache,\n prefetchCache: mutable.prefetchCache ? mutable.prefetchCache : state.prefetchCache,\n // Apply patched router state.\n tree: isNotUndefined(mutable.patchedTree) ? mutable.patchedTree : state.tree,\n nextUrl\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=handle-mutable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2hhbmRsZS1tdXRhYmxlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxpREFBZ0Q7SUFDNUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxzQkFBc0JDLG1CQUFPQSxDQUFDLHVIQUF3QjtBQUM1RCxTQUFTQyxlQUFlTixLQUFLO0lBQ3pCLE9BQU8sT0FBT0EsVUFBVTtBQUM1QjtBQUNBLFNBQVNHLGNBQWNJLEtBQUssRUFBRUMsT0FBTztJQUNqQyxJQUFJQztJQUNKLElBQUlDO0lBQ0osMERBQTBEO0lBQzFELE1BQU1DLGVBQWUsQ0FBQ0Qsd0JBQXdCRixRQUFRRyxZQUFZLEtBQUssT0FBT0Qsd0JBQXdCO0lBQ3RHLElBQUlFLFVBQVVMLE1BQU1LLE9BQU87SUFDM0IsSUFBSU4sZUFBZUUsUUFBUUssV0FBVyxHQUFHO1FBQ3JDLHNFQUFzRTtRQUN0RSxNQUFNQyxjQUFjLENBQUMsR0FBR1Ysb0JBQW9CVyxrQkFBa0IsRUFBRVIsTUFBTVMsSUFBSSxFQUFFUixRQUFRSyxXQUFXO1FBQy9GLElBQUlDLGFBQWE7WUFDYixxREFBcUQ7WUFDckRGLFVBQVVFO1FBQ2QsT0FBTyxJQUFJLENBQUNGLFNBQVM7WUFDakIsNkhBQTZIO1lBQzdIQSxVQUFVTCxNQUFNVSxZQUFZO1FBQ2hDO0lBQ0osMEVBQTBFO0lBQzFFO0lBQ0EsSUFBSUM7SUFDSixPQUFPO1FBQ0hDLFNBQVNaLE1BQU1ZLE9BQU87UUFDdEIsWUFBWTtRQUNaRixjQUFjWCxlQUFlRSxRQUFRUyxZQUFZLElBQUlULFFBQVFTLFlBQVksS0FBS1YsTUFBTVUsWUFBWSxHQUFHVixNQUFNVSxZQUFZLEdBQUdULFFBQVFTLFlBQVksR0FBR1YsTUFBTVUsWUFBWTtRQUNqS0csU0FBUztZQUNMQyxhQUFhZixlQUFlRSxRQUFRYSxXQUFXLElBQUliLFFBQVFhLFdBQVcsR0FBR2QsTUFBTWEsT0FBTyxDQUFDQyxXQUFXO1lBQ2xHQyxlQUFlaEIsZUFBZUUsUUFBUWMsYUFBYSxJQUFJZCxRQUFRYyxhQUFhLEdBQUdmLE1BQU1hLE9BQU8sQ0FBQ0UsYUFBYTtZQUMxR0MsNEJBQTRCakIsZUFBZUUsUUFBUWUsMEJBQTBCLElBQUlmLFFBQVFlLDBCQUEwQixHQUFHaEIsTUFBTWEsT0FBTyxDQUFDRywwQkFBMEI7UUFDbEs7UUFDQSxrRUFBa0U7UUFDbEVDLG1CQUFtQjtZQUNmQyxPQUFPZCxlQUFlTCxlQUFlRSxXQUFXLE9BQU8sS0FBSyxJQUFJQSxRQUFRa0Isa0JBQWtCLElBQUksT0FBT25CLE1BQU1pQixpQkFBaUIsQ0FBQ0MsS0FBSyxHQUFHO1lBQ3JJRSxnQkFBZ0IsQ0FBQyxDQUFDbkIsUUFBUW9CLFlBQVksSUFBSXJCLE1BQU1VLFlBQVksQ0FBQ1ksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBTSxFQUFDcEIsd0JBQXdCRCxRQUFRUyxZQUFZLEtBQUssT0FBTyxLQUFLLElBQUlSLHNCQUFzQm9CLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQzNMRCxjQUFjakIsZUFDZEgsUUFBUW9CLFlBQVksSUFBSXBCLFFBQVFvQixZQUFZLEtBQUssS0FBS0UsbUJBQW1CdEIsUUFBUW9CLFlBQVksQ0FBQ0csS0FBSyxDQUFDLE1BQU14QixNQUFNaUIsaUJBQWlCLENBQUNJLFlBQVksR0FBRztZQUNqSkksY0FBY3JCLGVBQWUsQ0FBQ08sOEJBQThCVixXQUFXLE9BQU8sS0FBSyxJQUFJQSxRQUFRa0Isa0JBQWtCLEtBQUssT0FBT1IsOEJBQThCWCxNQUFNaUIsaUJBQWlCLENBQUNRLFlBQVksR0FBRyxFQUFFO1FBQ3hNO1FBQ0EsZUFBZTtRQUNmQyxPQUFPekIsUUFBUXlCLEtBQUssR0FBR3pCLFFBQVF5QixLQUFLLEdBQUcxQixNQUFNMEIsS0FBSztRQUNsREMsZUFBZTFCLFFBQVEwQixhQUFhLEdBQUcxQixRQUFRMEIsYUFBYSxHQUFHM0IsTUFBTTJCLGFBQWE7UUFDbEYsOEJBQThCO1FBQzlCbEIsTUFBTVYsZUFBZUUsUUFBUUssV0FBVyxJQUFJTCxRQUFRSyxXQUFXLEdBQUdOLE1BQU1TLElBQUk7UUFDNUVKO0lBQ0o7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPYixRQUFRb0MsT0FBTyxLQUFLLGNBQWUsT0FBT3BDLFFBQVFvQyxPQUFPLEtBQUssWUFBWXBDLFFBQVFvQyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wQyxRQUFRb0MsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZDLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9DLE9BQU8sRUFBRSxjQUFjO1FBQUVuQyxPQUFPO0lBQUs7SUFDbkVILE9BQU93QyxNQUFNLENBQUN0QyxRQUFRb0MsT0FBTyxFQUFFcEM7SUFDL0J1QyxPQUFPdkMsT0FBTyxHQUFHQSxRQUFRb0MsT0FBTztBQUNsQyxFQUVBLDBDQUEwQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaGFuZGxlLW11dGFibGUuanM/NDJmMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImhhbmRsZU11dGFibGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhhbmRsZU11dGFibGU7XG4gICAgfVxufSk7XG5jb25zdCBfY29tcHV0ZWNoYW5nZWRwYXRoID0gcmVxdWlyZShcIi4vY29tcHV0ZS1jaGFuZ2VkLXBhdGhcIik7XG5mdW5jdGlvbiBpc05vdFVuZGVmaW5lZCh2YWx1ZSkge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgIT09IFwidW5kZWZpbmVkXCI7XG59XG5mdW5jdGlvbiBoYW5kbGVNdXRhYmxlKHN0YXRlLCBtdXRhYmxlKSB7XG4gICAgdmFyIF9tdXRhYmxlX2Nhbm9uaWNhbFVybDtcbiAgICB2YXIgX211dGFibGVfc2hvdWxkU2Nyb2xsO1xuICAgIC8vIHNob3VsZFNjcm9sbCBpcyB0cnVlIGJ5IGRlZmF1bHQsIGNhbiBvdmVycmlkZSB0byBmYWxzZS5cbiAgICBjb25zdCBzaG91bGRTY3JvbGwgPSAoX211dGFibGVfc2hvdWxkU2Nyb2xsID0gbXV0YWJsZS5zaG91bGRTY3JvbGwpICE9IG51bGwgPyBfbXV0YWJsZV9zaG91bGRTY3JvbGwgOiB0cnVlO1xuICAgIGxldCBuZXh0VXJsID0gc3RhdGUubmV4dFVybDtcbiAgICBpZiAoaXNOb3RVbmRlZmluZWQobXV0YWJsZS5wYXRjaGVkVHJlZSkpIHtcbiAgICAgICAgLy8gSWYgd2UgcmVjZWl2ZWQgYSBwYXRjaGVkIHRyZWUsIHdlIG5lZWQgdG8gY29tcHV0ZSB0aGUgY2hhbmdlZCBwYXRoLlxuICAgICAgICBjb25zdCBjaGFuZ2VkUGF0aCA9ICgwLCBfY29tcHV0ZWNoYW5nZWRwYXRoLmNvbXB1dGVDaGFuZ2VkUGF0aCkoc3RhdGUudHJlZSwgbXV0YWJsZS5wYXRjaGVkVHJlZSk7XG4gICAgICAgIGlmIChjaGFuZ2VkUGF0aCkge1xuICAgICAgICAgICAgLy8gSWYgdGhlIHRyZWUgY2hhbmdlZCwgd2UgbmVlZCB0byB1cGRhdGUgdGhlIG5leHRVcmxcbiAgICAgICAgICAgIG5leHRVcmwgPSBjaGFuZ2VkUGF0aDtcbiAgICAgICAgfSBlbHNlIGlmICghbmV4dFVybCkge1xuICAgICAgICAgICAgLy8gaWYgdGhlIHRyZWUgZW5kcyB1cCBiZWluZyB0aGUgc2FtZSAoaWUsIG5vIGNoYW5nZWQgcGF0aCksIGFuZCB3ZSBkb24ndCBoYXZlIGEgbmV4dFVybCwgdGhlbiB3ZSBzaG91bGQgdXNlIHRoZSBjYW5vbmljYWxVcmxcbiAgICAgICAgICAgIG5leHRVcmwgPSBzdGF0ZS5jYW5vbmljYWxVcmw7XG4gICAgICAgIH1cbiAgICAvLyBvdGhlcndpc2UgdGhpcyB3aWxsIGJlIGEgbm8tb3AgYW5kIGNvbnRpbnVlIHRvIHVzZSB0aGUgZXhpc3RpbmcgbmV4dFVybFxuICAgIH1cbiAgICB2YXIgX211dGFibGVfc2Nyb2xsYWJsZVNlZ21lbnRzO1xuICAgIHJldHVybiB7XG4gICAgICAgIGJ1aWxkSWQ6IHN0YXRlLmJ1aWxkSWQsXG4gICAgICAgIC8vIFNldCBocmVmLlxuICAgICAgICBjYW5vbmljYWxVcmw6IGlzTm90VW5kZWZpbmVkKG11dGFibGUuY2Fub25pY2FsVXJsKSA/IG11dGFibGUuY2Fub25pY2FsVXJsID09PSBzdGF0ZS5jYW5vbmljYWxVcmwgPyBzdGF0ZS5jYW5vbmljYWxVcmwgOiBtdXRhYmxlLmNhbm9uaWNhbFVybCA6IHN0YXRlLmNhbm9uaWNhbFVybCxcbiAgICAgICAgcHVzaFJlZjoge1xuICAgICAgICAgICAgcGVuZGluZ1B1c2g6IGlzTm90VW5kZWZpbmVkKG11dGFibGUucGVuZGluZ1B1c2gpID8gbXV0YWJsZS5wZW5kaW5nUHVzaCA6IHN0YXRlLnB1c2hSZWYucGVuZGluZ1B1c2gsXG4gICAgICAgICAgICBtcGFOYXZpZ2F0aW9uOiBpc05vdFVuZGVmaW5lZChtdXRhYmxlLm1wYU5hdmlnYXRpb24pID8gbXV0YWJsZS5tcGFOYXZpZ2F0aW9uIDogc3RhdGUucHVzaFJlZi5tcGFOYXZpZ2F0aW9uLFxuICAgICAgICAgICAgcHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGU6IGlzTm90VW5kZWZpbmVkKG11dGFibGUucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUpID8gbXV0YWJsZS5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSA6IHN0YXRlLnB1c2hSZWYucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGVcbiAgICAgICAgfSxcbiAgICAgICAgLy8gQWxsIG5hdmlnYXRpb24gcmVxdWlyZXMgc2Nyb2xsIGFuZCBmb2N1cyBtYW5hZ2VtZW50IHRvIHRyaWdnZXIuXG4gICAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmOiB7XG4gICAgICAgICAgICBhcHBseTogc2hvdWxkU2Nyb2xsID8gaXNOb3RVbmRlZmluZWQobXV0YWJsZSA9PSBudWxsID8gdm9pZCAwIDogbXV0YWJsZS5zY3JvbGxhYmxlU2VnbWVudHMpID8gdHJ1ZSA6IHN0YXRlLmZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5IDogZmFsc2UsXG4gICAgICAgICAgICBvbmx5SGFzaENoYW5nZTogISFtdXRhYmxlLmhhc2hGcmFnbWVudCAmJiBzdGF0ZS5jYW5vbmljYWxVcmwuc3BsaXQoXCIjXCIsIDEpWzBdID09PSAoKF9tdXRhYmxlX2Nhbm9uaWNhbFVybCA9IG11dGFibGUuY2Fub25pY2FsVXJsKSA9PSBudWxsID8gdm9pZCAwIDogX211dGFibGVfY2Fub25pY2FsVXJsLnNwbGl0KFwiI1wiLCAxKVswXSksXG4gICAgICAgICAgICBoYXNoRnJhZ21lbnQ6IHNob3VsZFNjcm9sbCA/IC8vICN0b3AgaXMgaGFuZGxlZCBpbiBsYXlvdXQtcm91dGVyLlxuICAgICAgICAgICAgbXV0YWJsZS5oYXNoRnJhZ21lbnQgJiYgbXV0YWJsZS5oYXNoRnJhZ21lbnQgIT09IFwiXCIgPyBkZWNvZGVVUklDb21wb25lbnQobXV0YWJsZS5oYXNoRnJhZ21lbnQuc2xpY2UoMSkpIDogc3RhdGUuZm9jdXNBbmRTY3JvbGxSZWYuaGFzaEZyYWdtZW50IDogbnVsbCxcbiAgICAgICAgICAgIHNlZ21lbnRQYXRoczogc2hvdWxkU2Nyb2xsID8gKF9tdXRhYmxlX3Njcm9sbGFibGVTZWdtZW50cyA9IG11dGFibGUgPT0gbnVsbCA/IHZvaWQgMCA6IG11dGFibGUuc2Nyb2xsYWJsZVNlZ21lbnRzKSAhPSBudWxsID8gX211dGFibGVfc2Nyb2xsYWJsZVNlZ21lbnRzIDogc3RhdGUuZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzIDogW11cbiAgICAgICAgfSxcbiAgICAgICAgLy8gQXBwbHkgY2FjaGUuXG4gICAgICAgIGNhY2hlOiBtdXRhYmxlLmNhY2hlID8gbXV0YWJsZS5jYWNoZSA6IHN0YXRlLmNhY2hlLFxuICAgICAgICBwcmVmZXRjaENhY2hlOiBtdXRhYmxlLnByZWZldGNoQ2FjaGUgPyBtdXRhYmxlLnByZWZldGNoQ2FjaGUgOiBzdGF0ZS5wcmVmZXRjaENhY2hlLFxuICAgICAgICAvLyBBcHBseSBwYXRjaGVkIHJvdXRlciBzdGF0ZS5cbiAgICAgICAgdHJlZTogaXNOb3RVbmRlZmluZWQobXV0YWJsZS5wYXRjaGVkVHJlZSkgPyBtdXRhYmxlLnBhdGNoZWRUcmVlIDogc3RhdGUudHJlZSxcbiAgICAgICAgbmV4dFVybFxuICAgIH07XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhhbmRsZS1tdXRhYmxlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJoYW5kbGVNdXRhYmxlIiwiX2NvbXB1dGVjaGFuZ2VkcGF0aCIsInJlcXVpcmUiLCJpc05vdFVuZGVmaW5lZCIsInN0YXRlIiwibXV0YWJsZSIsIl9tdXRhYmxlX2Nhbm9uaWNhbFVybCIsIl9tdXRhYmxlX3Nob3VsZFNjcm9sbCIsInNob3VsZFNjcm9sbCIsIm5leHRVcmwiLCJwYXRjaGVkVHJlZSIsImNoYW5nZWRQYXRoIiwiY29tcHV0ZUNoYW5nZWRQYXRoIiwidHJlZSIsImNhbm9uaWNhbFVybCIsIl9tdXRhYmxlX3Njcm9sbGFibGVTZWdtZW50cyIsImJ1aWxkSWQiLCJwdXNoUmVmIiwicGVuZGluZ1B1c2giLCJtcGFOYXZpZ2F0aW9uIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJmb2N1c0FuZFNjcm9sbFJlZiIsImFwcGx5Iiwic2Nyb2xsYWJsZVNlZ21lbnRzIiwib25seUhhc2hDaGFuZ2UiLCJoYXNoRnJhZ21lbnQiLCJzcGxpdCIsImRlY29kZVVSSUNvbXBvbmVudCIsInNsaWNlIiwic2VnbWVudFBhdGhzIiwiY2FjaGUiLCJwcmVmZXRjaENhY2hlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js": /*!********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js ***! \********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleSegmentMismatch\", ({\n enumerable: true,\n get: function() {\n return handleSegmentMismatch;\n }\n}));\nconst _navigatereducer = __webpack_require__(/*! ./reducers/navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nfunction handleSegmentMismatch(state, action, treePatch) {\n if (true) {\n console.warn(\"Performing hard navigation because your application experienced an unrecoverable error. If this keeps occurring, please file a Next.js issue.\\n\\n\" + \"Reason: Segment mismatch\\n\" + (\"Last Action: \" + action.type + \"\\n\\n\") + (\"Current Tree: \" + JSON.stringify(state.tree) + \"\\n\\n\") + (\"Tree Patch Payload: \" + JSON.stringify(treePatch)));\n }\n return (0, _navigatereducer.handleExternalUrl)(state, {}, state.canonicalUrl, true);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=handle-segment-mismatch.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2hhbmRsZS1zZWdtZW50LW1pc21hdGNoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx5REFBd0Q7SUFDcERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxtQkFBbUJDLG1CQUFPQSxDQUFDLGlJQUE2QjtBQUM5RCxTQUFTRixzQkFBc0JHLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxTQUFTO0lBQ25ELElBQUlDLElBQXNDLEVBQUU7UUFDeENDLFFBQVFDLElBQUksQ0FBQyxzSkFBc0osK0JBQWdDLG1CQUFrQkosT0FBT0ssSUFBSSxHQUFHLE1BQUssSUFBTSxvQkFBbUJDLEtBQUtDLFNBQVMsQ0FBQ1IsTUFBTVMsSUFBSSxJQUFJLE1BQUssSUFBTSwwQkFBeUJGLEtBQUtDLFNBQVMsQ0FBQ04sVUFBUztJQUM5VjtJQUNBLE9BQU8sQ0FBQyxHQUFHSixpQkFBaUJZLGlCQUFpQixFQUFFVixPQUFPLENBQUMsR0FBR0EsTUFBTVcsWUFBWSxFQUFFO0FBQ2xGO0FBRUEsSUFBSSxDQUFDLE9BQU9sQixRQUFRbUIsT0FBTyxLQUFLLGNBQWUsT0FBT25CLFFBQVFtQixPQUFPLEtBQUssWUFBWW5CLFFBQVFtQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9uQixRQUFRbUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3RCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW1CLE9BQU8sRUFBRSxjQUFjO1FBQUVsQixPQUFPO0lBQUs7SUFDbkVILE9BQU91QixNQUFNLENBQUNyQixRQUFRbUIsT0FBTyxFQUFFbkI7SUFDL0JzQixPQUFPdEIsT0FBTyxHQUFHQSxRQUFRbUIsT0FBTztBQUNsQyxFQUVBLG1EQUFtRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaGFuZGxlLXNlZ21lbnQtbWlzbWF0Y2guanM/YWQyMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImhhbmRsZVNlZ21lbnRNaXNtYXRjaFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaGFuZGxlU2VnbWVudE1pc21hdGNoO1xuICAgIH1cbn0pO1xuY29uc3QgX25hdmlnYXRlcmVkdWNlciA9IHJlcXVpcmUoXCIuL3JlZHVjZXJzL25hdmlnYXRlLXJlZHVjZXJcIik7XG5mdW5jdGlvbiBoYW5kbGVTZWdtZW50TWlzbWF0Y2goc3RhdGUsIGFjdGlvbiwgdHJlZVBhdGNoKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFwiUGVyZm9ybWluZyBoYXJkIG5hdmlnYXRpb24gYmVjYXVzZSB5b3VyIGFwcGxpY2F0aW9uIGV4cGVyaWVuY2VkIGFuIHVucmVjb3ZlcmFibGUgZXJyb3IuIElmIHRoaXMga2VlcHMgb2NjdXJyaW5nLCBwbGVhc2UgZmlsZSBhIE5leHQuanMgaXNzdWUuXFxuXFxuXCIgKyBcIlJlYXNvbjogU2VnbWVudCBtaXNtYXRjaFxcblwiICsgKFwiTGFzdCBBY3Rpb246IFwiICsgYWN0aW9uLnR5cGUgKyBcIlxcblxcblwiKSArIChcIkN1cnJlbnQgVHJlZTogXCIgKyBKU09OLnN0cmluZ2lmeShzdGF0ZS50cmVlKSArIFwiXFxuXFxuXCIpICsgKFwiVHJlZSBQYXRjaCBQYXlsb2FkOiBcIiArIEpTT04uc3RyaW5naWZ5KHRyZWVQYXRjaCkpKTtcbiAgICB9XG4gICAgcmV0dXJuICgwLCBfbmF2aWdhdGVyZWR1Y2VyLmhhbmRsZUV4dGVybmFsVXJsKShzdGF0ZSwge30sIHN0YXRlLmNhbm9uaWNhbFVybCwgdHJ1ZSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhhbmRsZS1zZWdtZW50LW1pc21hdGNoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJoYW5kbGVTZWdtZW50TWlzbWF0Y2giLCJfbmF2aWdhdGVyZWR1Y2VyIiwicmVxdWlyZSIsInN0YXRlIiwiYWN0aW9uIiwidHJlZVBhdGNoIiwicHJvY2VzcyIsImNvbnNvbGUiLCJ3YXJuIiwidHlwZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0cmVlIiwiaGFuZGxlRXh0ZXJuYWxVcmwiLCJjYW5vbmljYWxVcmwiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js": /*!**************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js ***! \**************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"invalidateCacheBelowFlightSegmentPath\", ({\n enumerable: true,\n get: function() {\n return invalidateCacheBelowFlightSegmentPath;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction invalidateCacheBelowFlightSegmentPath(newCache, existingCache, flightSegmentPath) {\n const isLastEntry = flightSegmentPath.length <= 2;\n const [parallelRouteKey, segment] = flightSegmentPath;\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey);\n if (!existingChildSegmentMap) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey);\n if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) {\n childSegmentMap = new Map(existingChildSegmentMap);\n newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap);\n }\n // In case of last entry don't copy further down.\n if (isLastEntry) {\n childSegmentMap.delete(cacheKey);\n return;\n }\n const existingChildCacheNode = existingChildSegmentMap.get(cacheKey);\n let childCacheNode = childSegmentMap.get(cacheKey);\n if (!childCacheNode || !existingChildCacheNode) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n if (childCacheNode === existingChildCacheNode) {\n childCacheNode = {\n lazyData: childCacheNode.lazyData,\n rsc: childCacheNode.rsc,\n prefetchRsc: childCacheNode.prefetchRsc,\n parallelRoutes: new Map(childCacheNode.parallelRoutes)\n };\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n invalidateCacheBelowFlightSegmentPath(childCacheNode, existingChildCacheNode, flightSegmentPath.slice(2));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=invalidate-cache-below-flight-segmentpath.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ludmFsaWRhdGUtY2FjaGUtYmVsb3ctZmxpZ2h0LXNlZ21lbnRwYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx5RUFBd0U7SUFDcEVJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyx3QkFBd0JDLG1CQUFPQSxDQUFDLDZIQUEyQjtBQUNqRSxTQUFTRixzQ0FBc0NHLFFBQVEsRUFBRUMsYUFBYSxFQUFFQyxpQkFBaUI7SUFDckYsTUFBTUMsY0FBY0Qsa0JBQWtCRSxNQUFNLElBQUk7SUFDaEQsTUFBTSxDQUFDQyxrQkFBa0JDLFFBQVEsR0FBR0o7SUFDcEMsTUFBTUssV0FBVyxDQUFDLEdBQUdULHNCQUFzQlUsb0JBQW9CLEVBQUVGO0lBQ2pFLE1BQU1HLDBCQUEwQlIsY0FBY1MsY0FBYyxDQUFDZCxHQUFHLENBQUNTO0lBQ2pFLElBQUksQ0FBQ0kseUJBQXlCO1FBQzFCLDZFQUE2RTtRQUM3RSxzRUFBc0U7UUFDdEU7SUFDSjtJQUNBLElBQUlFLGtCQUFrQlgsU0FBU1UsY0FBYyxDQUFDZCxHQUFHLENBQUNTO0lBQ2xELElBQUksQ0FBQ00sbUJBQW1CQSxvQkFBb0JGLHlCQUF5QjtRQUNqRUUsa0JBQWtCLElBQUlDLElBQUlIO1FBQzFCVCxTQUFTVSxjQUFjLENBQUNHLEdBQUcsQ0FBQ1Isa0JBQWtCTTtJQUNsRDtJQUNBLGlEQUFpRDtJQUNqRCxJQUFJUixhQUFhO1FBQ2JRLGdCQUFnQkcsTUFBTSxDQUFDUDtRQUN2QjtJQUNKO0lBQ0EsTUFBTVEseUJBQXlCTix3QkFBd0JiLEdBQUcsQ0FBQ1c7SUFDM0QsSUFBSVMsaUJBQWlCTCxnQkFBZ0JmLEdBQUcsQ0FBQ1c7SUFDekMsSUFBSSxDQUFDUyxrQkFBa0IsQ0FBQ0Qsd0JBQXdCO1FBQzVDLDZFQUE2RTtRQUM3RSxzRUFBc0U7UUFDdEU7SUFDSjtJQUNBLElBQUlDLG1CQUFtQkQsd0JBQXdCO1FBQzNDQyxpQkFBaUI7WUFDYkMsVUFBVUQsZUFBZUMsUUFBUTtZQUNqQ0MsS0FBS0YsZUFBZUUsR0FBRztZQUN2QkMsYUFBYUgsZUFBZUcsV0FBVztZQUN2Q1QsZ0JBQWdCLElBQUlFLElBQUlJLGVBQWVOLGNBQWM7UUFDekQ7UUFDQUMsZ0JBQWdCRSxHQUFHLENBQUNOLFVBQVVTO0lBQ2xDO0lBQ0FuQixzQ0FBc0NtQixnQkFBZ0JELHdCQUF3QmIsa0JBQWtCa0IsS0FBSyxDQUFDO0FBQzFHO0FBRUEsSUFBSSxDQUFDLE9BQU8zQixRQUFRNEIsT0FBTyxLQUFLLGNBQWUsT0FBTzVCLFFBQVE0QixPQUFPLEtBQUssWUFBWTVCLFFBQVE0QixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU81QixRQUFRNEIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySy9CLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTRCLE9BQU8sRUFBRSxjQUFjO1FBQUUzQixPQUFPO0lBQUs7SUFDbkVILE9BQU9nQyxNQUFNLENBQUM5QixRQUFRNEIsT0FBTyxFQUFFNUI7SUFDL0IrQixPQUFPL0IsT0FBTyxHQUFHQSxRQUFRNEIsT0FBTztBQUNsQyxFQUVBLHFFQUFxRSIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaW52YWxpZGF0ZS1jYWNoZS1iZWxvdy1mbGlnaHQtc2VnbWVudHBhdGguanM/OGZlMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImludmFsaWRhdGVDYWNoZUJlbG93RmxpZ2h0U2VnbWVudFBhdGhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGludmFsaWRhdGVDYWNoZUJlbG93RmxpZ2h0U2VnbWVudFBhdGg7XG4gICAgfVxufSk7XG5jb25zdCBfY3JlYXRlcm91dGVyY2FjaGVrZXkgPSByZXF1aXJlKFwiLi9jcmVhdGUtcm91dGVyLWNhY2hlLWtleVwiKTtcbmZ1bmN0aW9uIGludmFsaWRhdGVDYWNoZUJlbG93RmxpZ2h0U2VnbWVudFBhdGgobmV3Q2FjaGUsIGV4aXN0aW5nQ2FjaGUsIGZsaWdodFNlZ21lbnRQYXRoKSB7XG4gICAgY29uc3QgaXNMYXN0RW50cnkgPSBmbGlnaHRTZWdtZW50UGF0aC5sZW5ndGggPD0gMjtcbiAgICBjb25zdCBbcGFyYWxsZWxSb3V0ZUtleSwgc2VnbWVudF0gPSBmbGlnaHRTZWdtZW50UGF0aDtcbiAgICBjb25zdCBjYWNoZUtleSA9ICgwLCBfY3JlYXRlcm91dGVyY2FjaGVrZXkuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKHNlZ21lbnQpO1xuICAgIGNvbnN0IGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwID0gZXhpc3RpbmdDYWNoZS5wYXJhbGxlbFJvdXRlcy5nZXQocGFyYWxsZWxSb3V0ZUtleSk7XG4gICAgaWYgKCFleGlzdGluZ0NoaWxkU2VnbWVudE1hcCkge1xuICAgICAgICAvLyBCYWlsb3V0IGJlY2F1c2UgdGhlIGV4aXN0aW5nIGNhY2hlIGRvZXMgbm90IGhhdmUgdGhlIHBhdGggdG8gdGhlIGxlYWYgbm9kZVxuICAgICAgICAvLyBXaWxsIHRyaWdnZXIgbGF6eSBmZXRjaCBpbiBsYXlvdXQtcm91dGVyIGJlY2F1c2Ugb2YgbWlzc2luZyBzZWdtZW50XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IGNoaWxkU2VnbWVudE1hcCA9IG5ld0NhY2hlLnBhcmFsbGVsUm91dGVzLmdldChwYXJhbGxlbFJvdXRlS2V5KTtcbiAgICBpZiAoIWNoaWxkU2VnbWVudE1hcCB8fCBjaGlsZFNlZ21lbnRNYXAgPT09IGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwKSB7XG4gICAgICAgIGNoaWxkU2VnbWVudE1hcCA9IG5ldyBNYXAoZXhpc3RpbmdDaGlsZFNlZ21lbnRNYXApO1xuICAgICAgICBuZXdDYWNoZS5wYXJhbGxlbFJvdXRlcy5zZXQocGFyYWxsZWxSb3V0ZUtleSwgY2hpbGRTZWdtZW50TWFwKTtcbiAgICB9XG4gICAgLy8gSW4gY2FzZSBvZiBsYXN0IGVudHJ5IGRvbid0IGNvcHkgZnVydGhlciBkb3duLlxuICAgIGlmIChpc0xhc3RFbnRyeSkge1xuICAgICAgICBjaGlsZFNlZ21lbnRNYXAuZGVsZXRlKGNhY2hlS2V5KTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBleGlzdGluZ0NoaWxkQ2FjaGVOb2RlID0gZXhpc3RpbmdDaGlsZFNlZ21lbnRNYXAuZ2V0KGNhY2hlS2V5KTtcbiAgICBsZXQgY2hpbGRDYWNoZU5vZGUgPSBjaGlsZFNlZ21lbnRNYXAuZ2V0KGNhY2hlS2V5KTtcbiAgICBpZiAoIWNoaWxkQ2FjaGVOb2RlIHx8ICFleGlzdGluZ0NoaWxkQ2FjaGVOb2RlKSB7XG4gICAgICAgIC8vIEJhaWxvdXQgYmVjYXVzZSB0aGUgZXhpc3RpbmcgY2FjaGUgZG9lcyBub3QgaGF2ZSB0aGUgcGF0aCB0byB0aGUgbGVhZiBub2RlXG4gICAgICAgIC8vIFdpbGwgdHJpZ2dlciBsYXp5IGZldGNoIGluIGxheW91dC1yb3V0ZXIgYmVjYXVzZSBvZiBtaXNzaW5nIHNlZ21lbnRcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoY2hpbGRDYWNoZU5vZGUgPT09IGV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUpIHtcbiAgICAgICAgY2hpbGRDYWNoZU5vZGUgPSB7XG4gICAgICAgICAgICBsYXp5RGF0YTogY2hpbGRDYWNoZU5vZGUubGF6eURhdGEsXG4gICAgICAgICAgICByc2M6IGNoaWxkQ2FjaGVOb2RlLnJzYyxcbiAgICAgICAgICAgIHByZWZldGNoUnNjOiBjaGlsZENhY2hlTm9kZS5wcmVmZXRjaFJzYyxcbiAgICAgICAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKGNoaWxkQ2FjaGVOb2RlLnBhcmFsbGVsUm91dGVzKVxuICAgICAgICB9O1xuICAgICAgICBjaGlsZFNlZ21lbnRNYXAuc2V0KGNhY2hlS2V5LCBjaGlsZENhY2hlTm9kZSk7XG4gICAgfVxuICAgIGludmFsaWRhdGVDYWNoZUJlbG93RmxpZ2h0U2VnbWVudFBhdGgoY2hpbGRDYWNoZU5vZGUsIGV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUsIGZsaWdodFNlZ21lbnRQYXRoLnNsaWNlKDIpKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW52YWxpZGF0ZS1jYWNoZS1iZWxvdy1mbGlnaHQtc2VnbWVudHBhdGguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImludmFsaWRhdGVDYWNoZUJlbG93RmxpZ2h0U2VnbWVudFBhdGgiLCJfY3JlYXRlcm91dGVyY2FjaGVrZXkiLCJyZXF1aXJlIiwibmV3Q2FjaGUiLCJleGlzdGluZ0NhY2hlIiwiZmxpZ2h0U2VnbWVudFBhdGgiLCJpc0xhc3RFbnRyeSIsImxlbmd0aCIsInBhcmFsbGVsUm91dGVLZXkiLCJzZWdtZW50IiwiY2FjaGVLZXkiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsImV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwIiwicGFyYWxsZWxSb3V0ZXMiLCJjaGlsZFNlZ21lbnRNYXAiLCJNYXAiLCJzZXQiLCJkZWxldGUiLCJleGlzdGluZ0NoaWxkQ2FjaGVOb2RlIiwiY2hpbGRDYWNoZU5vZGUiLCJsYXp5RGF0YSIsInJzYyIsInByZWZldGNoUnNjIiwic2xpY2UiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js ***! \*****************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"invalidateCacheByRouterState\", ({\n enumerable: true,\n get: function() {\n return invalidateCacheByRouterState;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction invalidateCacheByRouterState(newCache, existingCache, routerState) {\n // Remove segment that we got data for so that it is filled in during rendering of rsc.\n for(const key in routerState[1]){\n const segmentForParallelRoute = routerState[1][key][0];\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segmentForParallelRoute);\n const existingParallelRoutesCacheNode = existingCache.parallelRoutes.get(key);\n if (existingParallelRoutesCacheNode) {\n let parallelRouteCacheNode = new Map(existingParallelRoutesCacheNode);\n parallelRouteCacheNode.delete(cacheKey);\n newCache.parallelRoutes.set(key, parallelRouteCacheNode);\n }\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=invalidate-cache-by-router-state.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ludmFsaWRhdGUtY2FjaGUtYnktcm91dGVyLXN0YXRlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxnRUFBK0Q7SUFDM0RJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyx3QkFBd0JDLG1CQUFPQSxDQUFDLDZIQUEyQjtBQUNqRSxTQUFTRiw2QkFBNkJHLFFBQVEsRUFBRUMsYUFBYSxFQUFFQyxXQUFXO0lBQ3RFLHVGQUF1RjtJQUN2RixJQUFJLE1BQU1DLE9BQU9ELFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDNUIsTUFBTUUsMEJBQTBCRixXQUFXLENBQUMsRUFBRSxDQUFDQyxJQUFJLENBQUMsRUFBRTtRQUN0RCxNQUFNRSxXQUFXLENBQUMsR0FBR1Asc0JBQXNCUSxvQkFBb0IsRUFBRUY7UUFDakUsTUFBTUcsa0NBQWtDTixjQUFjTyxjQUFjLENBQUNaLEdBQUcsQ0FBQ087UUFDekUsSUFBSUksaUNBQWlDO1lBQ2pDLElBQUlFLHlCQUF5QixJQUFJQyxJQUFJSDtZQUNyQ0UsdUJBQXVCRSxNQUFNLENBQUNOO1lBQzlCTCxTQUFTUSxjQUFjLENBQUNJLEdBQUcsQ0FBQ1QsS0FBS007UUFDckM7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9oQixRQUFRb0IsT0FBTyxLQUFLLGNBQWUsT0FBT3BCLFFBQVFvQixPQUFPLEtBQUssWUFBWXBCLFFBQVFvQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wQixRQUFRb0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9CLE9BQU8sRUFBRSxjQUFjO1FBQUVuQixPQUFPO0lBQUs7SUFDbkVILE9BQU93QixNQUFNLENBQUN0QixRQUFRb0IsT0FBTyxFQUFFcEI7SUFDL0J1QixPQUFPdkIsT0FBTyxHQUFHQSxRQUFRb0IsT0FBTztBQUNsQyxFQUVBLDREQUE0RCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaW52YWxpZGF0ZS1jYWNoZS1ieS1yb3V0ZXItc3RhdGUuanM/MDY3NyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImludmFsaWRhdGVDYWNoZUJ5Um91dGVyU3RhdGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGludmFsaWRhdGVDYWNoZUJ5Um91dGVyU3RhdGU7XG4gICAgfVxufSk7XG5jb25zdCBfY3JlYXRlcm91dGVyY2FjaGVrZXkgPSByZXF1aXJlKFwiLi9jcmVhdGUtcm91dGVyLWNhY2hlLWtleVwiKTtcbmZ1bmN0aW9uIGludmFsaWRhdGVDYWNoZUJ5Um91dGVyU3RhdGUobmV3Q2FjaGUsIGV4aXN0aW5nQ2FjaGUsIHJvdXRlclN0YXRlKSB7XG4gICAgLy8gUmVtb3ZlIHNlZ21lbnQgdGhhdCB3ZSBnb3QgZGF0YSBmb3Igc28gdGhhdCBpdCBpcyBmaWxsZWQgaW4gZHVyaW5nIHJlbmRlcmluZyBvZiByc2MuXG4gICAgZm9yKGNvbnN0IGtleSBpbiByb3V0ZXJTdGF0ZVsxXSl7XG4gICAgICAgIGNvbnN0IHNlZ21lbnRGb3JQYXJhbGxlbFJvdXRlID0gcm91dGVyU3RhdGVbMV1ba2V5XVswXTtcbiAgICAgICAgY29uc3QgY2FjaGVLZXkgPSAoMCwgX2NyZWF0ZXJvdXRlcmNhY2hla2V5LmNyZWF0ZVJvdXRlckNhY2hlS2V5KShzZWdtZW50Rm9yUGFyYWxsZWxSb3V0ZSk7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nUGFyYWxsZWxSb3V0ZXNDYWNoZU5vZGUgPSBleGlzdGluZ0NhY2hlLnBhcmFsbGVsUm91dGVzLmdldChrZXkpO1xuICAgICAgICBpZiAoZXhpc3RpbmdQYXJhbGxlbFJvdXRlc0NhY2hlTm9kZSkge1xuICAgICAgICAgICAgbGV0IHBhcmFsbGVsUm91dGVDYWNoZU5vZGUgPSBuZXcgTWFwKGV4aXN0aW5nUGFyYWxsZWxSb3V0ZXNDYWNoZU5vZGUpO1xuICAgICAgICAgICAgcGFyYWxsZWxSb3V0ZUNhY2hlTm9kZS5kZWxldGUoY2FjaGVLZXkpO1xuICAgICAgICAgICAgbmV3Q2FjaGUucGFyYWxsZWxSb3V0ZXMuc2V0KGtleSwgcGFyYWxsZWxSb3V0ZUNhY2hlTm9kZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWludmFsaWRhdGUtY2FjaGUtYnktcm91dGVyLXN0YXRlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJpbnZhbGlkYXRlQ2FjaGVCeVJvdXRlclN0YXRlIiwiX2NyZWF0ZXJvdXRlcmNhY2hla2V5IiwicmVxdWlyZSIsIm5ld0NhY2hlIiwiZXhpc3RpbmdDYWNoZSIsInJvdXRlclN0YXRlIiwia2V5Iiwic2VnbWVudEZvclBhcmFsbGVsUm91dGUiLCJjYWNoZUtleSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwiZXhpc3RpbmdQYXJhbGxlbFJvdXRlc0NhY2hlTm9kZSIsInBhcmFsbGVsUm91dGVzIiwicGFyYWxsZWxSb3V0ZUNhY2hlTm9kZSIsIk1hcCIsImRlbGV0ZSIsInNldCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js ***! \*****************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isNavigatingToNewRootLayout\", ({\n enumerable: true,\n get: function() {\n return isNavigatingToNewRootLayout;\n }\n}));\nfunction isNavigatingToNewRootLayout(currentTree, nextTree) {\n // Compare segments\n const currentTreeSegment = currentTree[0];\n const nextTreeSegment = nextTree[0];\n // If any segment is different before we find the root layout, the root layout has changed.\n // E.g. /same/(group1)/layout.js -> /same/(group2)/layout.js\n // First segment is 'same' for both, keep looking. (group1) changed to (group2) before the root layout was found, it must have changed.\n if (Array.isArray(currentTreeSegment) && Array.isArray(nextTreeSegment)) {\n // Compare dynamic param name and type but ignore the value, different values would not affect the current root layout\n // /[name] - /slug1 and /slug2, both values (slug1 & slug2) still has the same layout /[name]/layout.js\n if (currentTreeSegment[0] !== nextTreeSegment[0] || currentTreeSegment[2] !== nextTreeSegment[2]) {\n return true;\n }\n } else if (currentTreeSegment !== nextTreeSegment) {\n return true;\n }\n // Current tree root layout found\n if (currentTree[4]) {\n // If the next tree doesn't have the root layout flag, it must have changed.\n return !nextTree[4];\n }\n // Current tree didn't have its root layout here, must have changed.\n if (nextTree[4]) {\n return true;\n }\n // We can't assume it's `parallelRoutes.children` here in case the root layout is `app/@something/layout.js`\n // But it's not possible to be more than one parallelRoutes before the root layout is found\n // TODO-APP: change to traverse all parallel routes\n const currentTreeChild = Object.values(currentTree[1])[0];\n const nextTreeChild = Object.values(nextTree[1])[0];\n if (!currentTreeChild || !nextTreeChild) return true;\n return isNavigatingToNewRootLayout(currentTreeChild, nextTreeChild);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=is-navigating-to-new-root-layout.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2lzLW5hdmlnYXRpbmctdG8tbmV3LXJvb3QtbGF5b3V0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwrREFBOEQ7SUFDMURJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSw0QkFBNEJDLFdBQVcsRUFBRUMsUUFBUTtJQUN0RCxtQkFBbUI7SUFDbkIsTUFBTUMscUJBQXFCRixXQUFXLENBQUMsRUFBRTtJQUN6QyxNQUFNRyxrQkFBa0JGLFFBQVEsQ0FBQyxFQUFFO0lBQ25DLDJGQUEyRjtJQUMzRiw0REFBNEQ7SUFDNUQsdUlBQXVJO0lBQ3ZJLElBQUlHLE1BQU1DLE9BQU8sQ0FBQ0gsdUJBQXVCRSxNQUFNQyxPQUFPLENBQUNGLGtCQUFrQjtRQUNyRSxzSEFBc0g7UUFDdEgsdUdBQXVHO1FBQ3ZHLElBQUlELGtCQUFrQixDQUFDLEVBQUUsS0FBS0MsZUFBZSxDQUFDLEVBQUUsSUFBSUQsa0JBQWtCLENBQUMsRUFBRSxLQUFLQyxlQUFlLENBQUMsRUFBRSxFQUFFO1lBQzlGLE9BQU87UUFDWDtJQUNKLE9BQU8sSUFBSUQsdUJBQXVCQyxpQkFBaUI7UUFDL0MsT0FBTztJQUNYO0lBQ0EsaUNBQWlDO0lBQ2pDLElBQUlILFdBQVcsQ0FBQyxFQUFFLEVBQUU7UUFDaEIsNEVBQTRFO1FBQzVFLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDLEVBQUU7SUFDdkI7SUFDQSxxRUFBcUU7SUFDckUsSUFBSUEsUUFBUSxDQUFDLEVBQUUsRUFBRTtRQUNiLE9BQU87SUFDWDtJQUNBLDRHQUE0RztJQUM1RywyRkFBMkY7SUFDM0YsbURBQW1EO0lBQ25ELE1BQU1LLG1CQUFtQmIsT0FBT2MsTUFBTSxDQUFDUCxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtJQUN6RCxNQUFNUSxnQkFBZ0JmLE9BQU9jLE1BQU0sQ0FBQ04sUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7SUFDbkQsSUFBSSxDQUFDSyxvQkFBb0IsQ0FBQ0UsZUFBZSxPQUFPO0lBQ2hELE9BQU9ULDRCQUE0Qk8sa0JBQWtCRTtBQUN6RDtBQUVBLElBQUksQ0FBQyxPQUFPYixRQUFRYyxPQUFPLEtBQUssY0FBZSxPQUFPZCxRQUFRYyxPQUFPLEtBQUssWUFBWWQsUUFBUWMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZCxRQUFRYyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLakIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRYyxPQUFPLEVBQUUsY0FBYztRQUFFYixPQUFPO0lBQUs7SUFDbkVILE9BQU9rQixNQUFNLENBQUNoQixRQUFRYyxPQUFPLEVBQUVkO0lBQy9CaUIsT0FBT2pCLE9BQU8sR0FBR0EsUUFBUWMsT0FBTztBQUNsQyxFQUVBLDREQUE0RCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaXMtbmF2aWdhdGluZy10by1uZXctcm9vdC1sYXlvdXQuanM/Y2M1OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0O1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0KGN1cnJlbnRUcmVlLCBuZXh0VHJlZSkge1xuICAgIC8vIENvbXBhcmUgc2VnbWVudHNcbiAgICBjb25zdCBjdXJyZW50VHJlZVNlZ21lbnQgPSBjdXJyZW50VHJlZVswXTtcbiAgICBjb25zdCBuZXh0VHJlZVNlZ21lbnQgPSBuZXh0VHJlZVswXTtcbiAgICAvLyBJZiBhbnkgc2VnbWVudCBpcyBkaWZmZXJlbnQgYmVmb3JlIHdlIGZpbmQgdGhlIHJvb3QgbGF5b3V0LCB0aGUgcm9vdCBsYXlvdXQgaGFzIGNoYW5nZWQuXG4gICAgLy8gRS5nLiAvc2FtZS8oZ3JvdXAxKS9sYXlvdXQuanMgLT4gL3NhbWUvKGdyb3VwMikvbGF5b3V0LmpzXG4gICAgLy8gRmlyc3Qgc2VnbWVudCBpcyAnc2FtZScgZm9yIGJvdGgsIGtlZXAgbG9va2luZy4gKGdyb3VwMSkgY2hhbmdlZCB0byAoZ3JvdXAyKSBiZWZvcmUgdGhlIHJvb3QgbGF5b3V0IHdhcyBmb3VuZCwgaXQgbXVzdCBoYXZlIGNoYW5nZWQuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY3VycmVudFRyZWVTZWdtZW50KSAmJiBBcnJheS5pc0FycmF5KG5leHRUcmVlU2VnbWVudCkpIHtcbiAgICAgICAgLy8gQ29tcGFyZSBkeW5hbWljIHBhcmFtIG5hbWUgYW5kIHR5cGUgYnV0IGlnbm9yZSB0aGUgdmFsdWUsIGRpZmZlcmVudCB2YWx1ZXMgd291bGQgbm90IGFmZmVjdCB0aGUgY3VycmVudCByb290IGxheW91dFxuICAgICAgICAvLyAvW25hbWVdIC0gL3NsdWcxIGFuZCAvc2x1ZzIsIGJvdGggdmFsdWVzIChzbHVnMSAmIHNsdWcyKSBzdGlsbCBoYXMgdGhlIHNhbWUgbGF5b3V0IC9bbmFtZV0vbGF5b3V0LmpzXG4gICAgICAgIGlmIChjdXJyZW50VHJlZVNlZ21lbnRbMF0gIT09IG5leHRUcmVlU2VnbWVudFswXSB8fCBjdXJyZW50VHJlZVNlZ21lbnRbMl0gIT09IG5leHRUcmVlU2VnbWVudFsyXSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRUcmVlU2VnbWVudCAhPT0gbmV4dFRyZWVTZWdtZW50KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBDdXJyZW50IHRyZWUgcm9vdCBsYXlvdXQgZm91bmRcbiAgICBpZiAoY3VycmVudFRyZWVbNF0pIHtcbiAgICAgICAgLy8gSWYgdGhlIG5leHQgdHJlZSBkb2Vzbid0IGhhdmUgdGhlIHJvb3QgbGF5b3V0IGZsYWcsIGl0IG11c3QgaGF2ZSBjaGFuZ2VkLlxuICAgICAgICByZXR1cm4gIW5leHRUcmVlWzRdO1xuICAgIH1cbiAgICAvLyBDdXJyZW50IHRyZWUgIGRpZG4ndCBoYXZlIGl0cyByb290IGxheW91dCBoZXJlLCBtdXN0IGhhdmUgY2hhbmdlZC5cbiAgICBpZiAobmV4dFRyZWVbNF0pIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8vIFdlIGNhbid0IGFzc3VtZSBpdCdzIGBwYXJhbGxlbFJvdXRlcy5jaGlsZHJlbmAgaGVyZSBpbiBjYXNlIHRoZSByb290IGxheW91dCBpcyBgYXBwL0Bzb21ldGhpbmcvbGF5b3V0LmpzYFxuICAgIC8vIEJ1dCBpdCdzIG5vdCBwb3NzaWJsZSB0byBiZSBtb3JlIHRoYW4gb25lIHBhcmFsbGVsUm91dGVzIGJlZm9yZSB0aGUgcm9vdCBsYXlvdXQgaXMgZm91bmRcbiAgICAvLyBUT0RPLUFQUDogY2hhbmdlIHRvIHRyYXZlcnNlIGFsbCBwYXJhbGxlbCByb3V0ZXNcbiAgICBjb25zdCBjdXJyZW50VHJlZUNoaWxkID0gT2JqZWN0LnZhbHVlcyhjdXJyZW50VHJlZVsxXSlbMF07XG4gICAgY29uc3QgbmV4dFRyZWVDaGlsZCA9IE9iamVjdC52YWx1ZXMobmV4dFRyZWVbMV0pWzBdO1xuICAgIGlmICghY3VycmVudFRyZWVDaGlsZCB8fCAhbmV4dFRyZWVDaGlsZCkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIGlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dChjdXJyZW50VHJlZUNoaWxkLCBuZXh0VHJlZUNoaWxkKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXMtbmF2aWdhdGluZy10by1uZXctcm9vdC1sYXlvdXQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIsImN1cnJlbnRUcmVlIiwibmV4dFRyZWUiLCJjdXJyZW50VHJlZVNlZ21lbnQiLCJuZXh0VHJlZVNlZ21lbnQiLCJBcnJheSIsImlzQXJyYXkiLCJjdXJyZW50VHJlZUNoaWxkIiwidmFsdWVzIiwibmV4dFRyZWVDaGlsZCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js": /*!************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js ***! \************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n updateCacheNodeOnNavigation: function() {\n return updateCacheNodeOnNavigation;\n },\n listenForDynamicRequest: function() {\n return listenForDynamicRequest;\n },\n abortTask: function() {\n return abortTask;\n },\n updateCacheNodeOnPopstateRestoration: function() {\n return updateCacheNodeOnPopstateRestoration;\n }\n});\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction updateCacheNodeOnNavigation(oldCacheNode, oldRouterState, newRouterState, prefetchData, prefetchHead, isPrefetchStale) {\n // Diff the old and new trees to reuse the shared layouts.\n const oldRouterStateChildren = oldRouterState[1];\n const newRouterStateChildren = newRouterState[1];\n const prefetchDataChildren = prefetchData[1];\n const oldParallelRoutes = oldCacheNode.parallelRoutes;\n // Clone the current set of segment children, even if they aren't active in\n // the new tree.\n // TODO: We currently retain all the inactive segments indefinitely, until\n // there's an explicit refresh, or a parent layout is lazily refreshed. We\n // rely on this for popstate navigations, which update the Router State Tree\n // but do not eagerly perform a data fetch, because they expect the segment\n // data to already be in the Cache Node tree. For highly static sites that\n // are mostly read-only, this may happen only rarely, causing memory to\n // leak. We should figure out a better model for the lifetime of inactive\n // segments, so we can maintain instant back/forward navigations without\n // leaking memory indefinitely.\n const prefetchParallelRoutes = new Map(oldParallelRoutes);\n // As we diff the trees, we may sometimes modify (copy-on-write, not mutate)\n // the Route Tree that was returned by the server — for example, in the case\n // of default parallel routes, we preserve the currently active segment. To\n // avoid mutating the original tree, we clone the router state children along\n // the return path.\n let patchedRouterStateChildren = {};\n let taskChildren = null;\n for(let parallelRouteKey in newRouterStateChildren){\n const newRouterStateChild = newRouterStateChildren[parallelRouteKey];\n const oldRouterStateChild = oldRouterStateChildren[parallelRouteKey];\n const oldSegmentMapChild = oldParallelRoutes.get(parallelRouteKey);\n const prefetchDataChild = prefetchDataChildren[parallelRouteKey];\n const newSegmentChild = newRouterStateChild[0];\n const newSegmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(newSegmentChild);\n const oldSegmentChild = oldRouterStateChild !== undefined ? oldRouterStateChild[0] : undefined;\n const oldCacheNodeChild = oldSegmentMapChild !== undefined ? oldSegmentMapChild.get(newSegmentKeyChild) : undefined;\n let taskChild;\n if (newSegmentChild === _segment.PAGE_SEGMENT_KEY) {\n // This is a leaf segment — a page, not a shared layout. We always apply\n // its data.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead, isPrefetchStale);\n } else if (newSegmentChild === _segment.DEFAULT_SEGMENT_KEY) {\n // This is another kind of leaf segment — a default route.\n //\n // Default routes have special behavior. When there's no matching segment\n // for a parallel route, Next.js preserves the currently active segment\n // during a client navigation — but not for initial render. The server\n // leaves it to the client to account for this. So we need to handle\n // it here.\n if (oldRouterStateChild !== undefined) {\n // Reuse the existing Router State for this segment. We spawn a \"task\"\n // just to keep track of the updated router state; unlike most, it's\n // already fulfilled and won't be affected by the dynamic response.\n taskChild = spawnReusedTask(oldRouterStateChild);\n } else {\n // There's no currently active segment. Switch to the \"create\" path.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead, isPrefetchStale);\n }\n } else if (oldSegmentChild !== undefined && (0, _matchsegments.matchSegment)(newSegmentChild, oldSegmentChild)) {\n if (oldCacheNodeChild !== undefined && oldRouterStateChild !== undefined) {\n // This segment exists in both the old and new trees.\n if (prefetchDataChild !== undefined && prefetchDataChild !== null) {\n // Recursively update the children.\n taskChild = updateCacheNodeOnNavigation(oldCacheNodeChild, oldRouterStateChild, newRouterStateChild, prefetchDataChild, prefetchHead, isPrefetchStale);\n } else {\n // The server didn't send any prefetch data for this segment. This\n // shouldn't happen because the Route Tree and the Seed Data tree\n // should always be the same shape, but until we unify those types\n // it's still possible. For now we're going to deopt and trigger a\n // lazy fetch during render.\n taskChild = spawnTaskForMissingData(newRouterStateChild);\n }\n } else {\n // Either there's no existing Cache Node for this segment, or this\n // segment doesn't exist in the old Router State tree. Switch to the\n // \"create\" path.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead, isPrefetchStale);\n }\n } else {\n // This is a new tree. Switch to the \"create\" path.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead, isPrefetchStale);\n }\n if (taskChild !== null) {\n // Something changed in the child tree. Keep track of the child task.\n if (taskChildren === null) {\n taskChildren = new Map();\n }\n taskChildren.set(parallelRouteKey, taskChild);\n const newCacheNodeChild = taskChild.node;\n if (newCacheNodeChild !== null) {\n const newSegmentMapChild = new Map(oldSegmentMapChild);\n newSegmentMapChild.set(newSegmentKeyChild, newCacheNodeChild);\n prefetchParallelRoutes.set(parallelRouteKey, newSegmentMapChild);\n }\n // The child tree's route state may be different from the prefetched\n // route sent by the server. We need to clone it as we traverse back up\n // the tree.\n patchedRouterStateChildren[parallelRouteKey] = taskChild.route;\n } else {\n // The child didn't change. We can use the prefetched router state.\n patchedRouterStateChildren[parallelRouteKey] = newRouterStateChild;\n }\n }\n if (taskChildren === null) {\n // No new tasks were spawned.\n return null;\n }\n const newCacheNode = {\n lazyData: null,\n rsc: oldCacheNode.rsc,\n // We intentionally aren't updating the prefetchRsc field, since this node\n // is already part of the current tree, because it would be weird for\n // prefetch data to be newer than the final data. It probably won't ever be\n // observable anyway, but it could happen if the segment is unmounted then\n // mounted again, because LayoutRouter will momentarily switch to rendering\n // prefetchRsc, via useDeferredValue.\n prefetchRsc: oldCacheNode.prefetchRsc,\n head: oldCacheNode.head,\n prefetchHead: oldCacheNode.prefetchHead,\n // Everything is cloned except for the children, which we computed above.\n parallelRoutes: prefetchParallelRoutes\n };\n return {\n // Return a cloned copy of the router state with updated children.\n route: patchRouterStateWithNewChildren(newRouterState, patchedRouterStateChildren),\n node: newCacheNode,\n children: taskChildren\n };\n}\nfunction patchRouterStateWithNewChildren(baseRouterState, newChildren) {\n const clone = [\n baseRouterState[0],\n newChildren\n ];\n // Based on equivalent logic in apply-router-state-patch-to-tree, but should\n // confirm whether we need to copy all of these fields. Not sure the server\n // ever sends, e.g. the refetch marker.\n if (2 in baseRouterState) {\n clone[2] = baseRouterState[2];\n }\n if (3 in baseRouterState) {\n clone[3] = baseRouterState[3];\n }\n if (4 in baseRouterState) {\n clone[4] = baseRouterState[4];\n }\n return clone;\n}\nfunction spawnPendingTask(routerState, prefetchData, prefetchHead, isPrefetchStale) {\n // Create a task that will later be fulfilled by data from the server.\n const pendingCacheNode = createPendingCacheNode(routerState, prefetchData, prefetchHead, isPrefetchStale);\n return {\n route: routerState,\n node: pendingCacheNode,\n children: null\n };\n}\nfunction spawnReusedTask(reusedRouterState) {\n // Create a task that reuses an existing segment, e.g. when reusing\n // the current active segment in place of a default route.\n return {\n route: reusedRouterState,\n node: null,\n children: null\n };\n}\nfunction spawnTaskForMissingData(routerState) {\n // Create a task for a new subtree that wasn't prefetched by the server.\n // This shouldn't really ever happen but it's here just in case the Seed Data\n // Tree and the Router State Tree disagree unexpectedly.\n const pendingCacheNode = createPendingCacheNode(routerState, null, null, false);\n return {\n route: routerState,\n node: pendingCacheNode,\n children: null\n };\n}\nfunction listenForDynamicRequest(task, responsePromise) {\n responsePromise.then((response)=>{\n const flightData = response[0];\n for (const flightDataPath of flightData){\n const segmentPath = flightDataPath.slice(0, -3);\n const serverRouterState = flightDataPath[flightDataPath.length - 3];\n const dynamicData = flightDataPath[flightDataPath.length - 2];\n const dynamicHead = flightDataPath[flightDataPath.length - 1];\n if (typeof segmentPath === \"string\") {\n continue;\n }\n writeDynamicDataIntoPendingTask(task, segmentPath, serverRouterState, dynamicData, dynamicHead);\n }\n // Now that we've exhausted all the data we received from the server, if\n // there are any remaining pending tasks in the tree, abort them now.\n // If there's any missing data, it will trigger a lazy fetch.\n abortTask(task, null);\n }, (error)=>{\n // This will trigger an error during render\n abortTask(task, error);\n });\n}\nfunction writeDynamicDataIntoPendingTask(rootTask, segmentPath, serverRouterState, dynamicData, dynamicHead) {\n // The data sent by the server represents only a subtree of the app. We need\n // to find the part of the task tree that matches the server response, and\n // fulfill it using the dynamic data.\n //\n // segmentPath represents the parent path of subtree. It's a repeating pattern\n // of parallel route key and segment:\n //\n // [string, Segment, string, Segment, string, Segment, ...]\n //\n // Iterate through the path and finish any tasks that match this payload.\n let task = rootTask;\n for(let i = 0; i < segmentPath.length; i += 2){\n const parallelRouteKey = segmentPath[i];\n const segment = segmentPath[i + 1];\n const taskChildren = task.children;\n if (taskChildren !== null) {\n const taskChild = taskChildren.get(parallelRouteKey);\n if (taskChild !== undefined) {\n const taskSegment = taskChild.route[0];\n if ((0, _matchsegments.matchSegment)(segment, taskSegment)) {\n // Found a match for this task. Keep traversing down the task tree.\n task = taskChild;\n continue;\n }\n }\n }\n // We didn't find a child task that matches the server data. Exit. We won't\n // abort the task, though, because a different FlightDataPath may be able to\n // fulfill it (see loop in listenForDynamicRequest). We only abort tasks\n // once we've run out of data.\n return;\n }\n finishTaskUsingDynamicDataPayload(task, serverRouterState, dynamicData, dynamicHead);\n}\nfunction finishTaskUsingDynamicDataPayload(task, serverRouterState, dynamicData, dynamicHead) {\n // dynamicData may represent a larger subtree than the task. Before we can\n // finish the task, we need to line them up.\n const taskChildren = task.children;\n const taskNode = task.node;\n if (taskChildren === null) {\n // We've reached the leaf node of the pending task. The server data tree\n // lines up the pending Cache Node tree. We can now switch to the\n // normal algorithm.\n if (taskNode !== null) {\n finishPendingCacheNode(taskNode, task.route, serverRouterState, dynamicData, dynamicHead);\n // Null this out to indicate that the task is complete.\n task.node = null;\n }\n return;\n }\n // The server returned more data than we need to finish the task. Skip over\n // the extra segments until we reach the leaf task node.\n const serverChildren = serverRouterState[1];\n const dynamicDataChildren = dynamicData[1];\n for(const parallelRouteKey in serverRouterState){\n const serverRouterStateChild = serverChildren[parallelRouteKey];\n const dynamicDataChild = dynamicDataChildren[parallelRouteKey];\n const taskChild = taskChildren.get(parallelRouteKey);\n if (taskChild !== undefined) {\n const taskSegment = taskChild.route[0];\n if ((0, _matchsegments.matchSegment)(serverRouterStateChild[0], taskSegment) && dynamicDataChild !== null && dynamicDataChild !== undefined) {\n // Found a match for this task. Keep traversing down the task tree.\n return finishTaskUsingDynamicDataPayload(taskChild, serverRouterStateChild, dynamicDataChild, dynamicHead);\n }\n }\n // We didn't find a child task that matches the server data. We won't abort\n // the task, though, because a different FlightDataPath may be able to\n // fulfill it (see loop in listenForDynamicRequest). We only abort tasks\n // once we've run out of data.\n }\n}\nfunction createPendingCacheNode(routerState, prefetchData, prefetchHead, isPrefetchStale) {\n const routerStateChildren = routerState[1];\n const prefetchDataChildren = prefetchData !== null ? prefetchData[1] : null;\n const parallelRoutes = new Map();\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const prefetchDataChild = prefetchDataChildren !== null ? prefetchDataChildren[parallelRouteKey] : null;\n const segmentChild = routerStateChild[0];\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const newCacheNodeChild = createPendingCacheNode(routerStateChild, prefetchDataChild === undefined ? null : prefetchDataChild, prefetchHead, isPrefetchStale);\n const newSegmentMapChild = new Map();\n newSegmentMapChild.set(segmentKeyChild, newCacheNodeChild);\n parallelRoutes.set(parallelRouteKey, newSegmentMapChild);\n }\n // The head is assigned to every leaf segment delivered by the server. Based\n // on corresponding logic in fill-lazy-items-till-leaf-with-head.ts\n const isLeafSegment = parallelRoutes.size === 0;\n const maybePrefetchRsc = prefetchData !== null ? prefetchData[2] : null;\n return {\n lazyData: null,\n parallelRoutes: parallelRoutes,\n prefetchRsc: // dynamic data to stream in.\n // TODO: This check is aruably too deep in the stack. Might be better to\n // pass an empty prefetchData Cache Seed object instead.\n !isPrefetchStale && maybePrefetchRsc !== undefined ? maybePrefetchRsc : null,\n prefetchHead: !isPrefetchStale && isLeafSegment ? prefetchHead : null,\n // Create a deferred promise. This will be fulfilled once the dynamic\n // response is received from the server.\n rsc: createDeferredRsc(),\n head: isLeafSegment ? createDeferredRsc() : null\n };\n}\nfunction finishPendingCacheNode(cacheNode, taskState, serverState, dynamicData, dynamicHead) {\n // Writes a dynamic response into an existing Cache Node tree. This does _not_\n // create a new tree, it updates the existing tree in-place. So it must follow\n // the Suspense rules of cache safety — it can resolve pending promises, but\n // it cannot overwrite existing data. It can add segments to the tree (because\n // a missing segment will cause the layout router to suspend).\n // but it cannot delete them.\n //\n // We must resolve every promise in the tree, or else it will suspend\n // indefinitely. If we did not receive data for a segment, we will resolve its\n // data promise to `null` to trigger a lazy fetch during render.\n const taskStateChildren = taskState[1];\n const serverStateChildren = serverState[1];\n const dataChildren = dynamicData[1];\n // The router state that we traverse the tree with (taskState) is the same one\n // that we used to construct the pending Cache Node tree. That way we're sure\n // to resolve all the pending promises.\n const parallelRoutes = cacheNode.parallelRoutes;\n for(let parallelRouteKey in taskStateChildren){\n const taskStateChild = taskStateChildren[parallelRouteKey];\n const serverStateChild = serverStateChildren[parallelRouteKey];\n const dataChild = dataChildren[parallelRouteKey];\n const segmentMapChild = parallelRoutes.get(parallelRouteKey);\n const taskSegmentChild = taskStateChild[0];\n const taskSegmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(taskSegmentChild);\n const cacheNodeChild = segmentMapChild !== undefined ? segmentMapChild.get(taskSegmentKeyChild) : undefined;\n if (cacheNodeChild !== undefined) {\n if (serverStateChild !== undefined && (0, _matchsegments.matchSegment)(taskSegmentChild, serverStateChild[0])) {\n if (dataChild !== undefined && dataChild !== null) {\n // This is the happy path. Recursively update all the children.\n finishPendingCacheNode(cacheNodeChild, taskStateChild, serverStateChild, dataChild, dynamicHead);\n } else {\n // The server never returned data for this segment. Trigger a lazy\n // fetch during render. This shouldn't happen because the Route Tree\n // and the Seed Data tree sent by the server should always be the same\n // shape when part of the same server response.\n abortPendingCacheNode(taskStateChild, cacheNodeChild, null);\n }\n } else {\n // The server never returned data for this segment. Trigger a lazy\n // fetch during render.\n abortPendingCacheNode(taskStateChild, cacheNodeChild, null);\n }\n } else {\n // The server response matches what was expected to receive, but there's\n // no matching Cache Node in the task tree. This is a bug in the\n // implementation because we should have created a node for every\n // segment in the tree that's associated with this task.\n }\n }\n // Use the dynamic data from the server to fulfill the deferred RSC promise\n // on the Cache Node.\n const rsc = cacheNode.rsc;\n const dynamicSegmentData = dynamicData[2];\n if (rsc === null) {\n // This is a lazy cache node. We can overwrite it. This is only safe\n // because we know that the LayoutRouter suspends if `rsc` is `null`.\n cacheNode.rsc = dynamicSegmentData;\n } else if (isDeferredRsc(rsc)) {\n // This is a deferred RSC promise. We can fulfill it with the data we just\n // received from the server. If it was already resolved by a different\n // navigation, then this does nothing because we can't overwrite data.\n rsc.resolve(dynamicSegmentData);\n } else {\n // This is not a deferred RSC promise, nor is it empty, so it must have\n // been populated by a different navigation. We must not overwrite it.\n }\n // Check if this is a leaf segment. If so, it will have a `head` property with\n // a pending promise that needs to be resolved with the dynamic head from\n // the server.\n const head = cacheNode.head;\n if (isDeferredRsc(head)) {\n head.resolve(dynamicHead);\n }\n}\nfunction abortTask(task, error) {\n const cacheNode = task.node;\n if (cacheNode === null) {\n // This indicates the task is already complete.\n return;\n }\n const taskChildren = task.children;\n if (taskChildren === null) {\n // Reached the leaf task node. This is the root of a pending cache\n // node tree.\n abortPendingCacheNode(task.route, cacheNode, error);\n } else {\n // This is an intermediate task node. Keep traversing until we reach a\n // task node with no children. That will be the root of the cache node tree\n // that needs to be resolved.\n for (const taskChild of taskChildren.values()){\n abortTask(taskChild, error);\n }\n }\n // Null this out to indicate that the task is complete.\n task.node = null;\n}\nfunction abortPendingCacheNode(routerState, cacheNode, error) {\n // For every pending segment in the tree, resolve its `rsc` promise to `null`\n // to trigger a lazy fetch during render.\n //\n // Or, if an error object is provided, it will error instead.\n const routerStateChildren = routerState[1];\n const parallelRoutes = cacheNode.parallelRoutes;\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const segmentMapChild = parallelRoutes.get(parallelRouteKey);\n if (segmentMapChild === undefined) {\n continue;\n }\n const segmentChild = routerStateChild[0];\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const cacheNodeChild = segmentMapChild.get(segmentKeyChild);\n if (cacheNodeChild !== undefined) {\n abortPendingCacheNode(routerStateChild, cacheNodeChild, error);\n } else {\n // This shouldn't happen because we're traversing the same tree that was\n // used to construct the cache nodes in the first place.\n }\n }\n const rsc = cacheNode.rsc;\n if (isDeferredRsc(rsc)) {\n if (error === null) {\n // This will trigger a lazy fetch during render.\n rsc.resolve(null);\n } else {\n // This will trigger an error during rendering.\n rsc.reject(error);\n }\n }\n // Check if this is a leaf segment. If so, it will have a `head` property with\n // a pending promise that needs to be resolved. If an error was provided, we\n // will not resolve it with an error, since this is rendered at the root of\n // the app. We want the segment to error, not the entire app.\n const head = cacheNode.head;\n if (isDeferredRsc(head)) {\n head.resolve(null);\n }\n}\nfunction updateCacheNodeOnPopstateRestoration(oldCacheNode, routerState) {\n // A popstate navigation reads data from the local cache. It does not issue\n // new network requests (unless the cache entries have been evicted). So, we\n // update the cache to drop the prefetch data for any segment whose dynamic\n // data was already received. This prevents an unnecessary flash back to PPR\n // state during a back/forward navigation.\n //\n // This function clones the entire cache node tree and sets the `prefetchRsc`\n // field to `null` to prevent it from being rendered. We can't mutate the node\n // in place because this is a concurrent data structure.\n const routerStateChildren = routerState[1];\n const oldParallelRoutes = oldCacheNode.parallelRoutes;\n const newParallelRoutes = new Map(oldParallelRoutes);\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const segmentChild = routerStateChild[0];\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const oldSegmentMapChild = oldParallelRoutes.get(parallelRouteKey);\n if (oldSegmentMapChild !== undefined) {\n const oldCacheNodeChild = oldSegmentMapChild.get(segmentKeyChild);\n if (oldCacheNodeChild !== undefined) {\n const newCacheNodeChild = updateCacheNodeOnPopstateRestoration(oldCacheNodeChild, routerStateChild);\n const newSegmentMapChild = new Map(oldSegmentMapChild);\n newSegmentMapChild.set(segmentKeyChild, newCacheNodeChild);\n newParallelRoutes.set(parallelRouteKey, newSegmentMapChild);\n }\n }\n }\n // Only show prefetched data if the dynamic data is still pending.\n //\n // Tehnically, what we're actually checking is whether the dynamic network\n // response was received. But since it's a streaming response, this does not\n // mean that all the dynamic data has fully streamed in. It just means that\n // _some_ of the dynamic data was received. But as a heuristic, we assume that\n // the rest dynamic data will stream in quickly, so it's still better to skip\n // the prefetch state.\n const rsc = oldCacheNode.rsc;\n const shouldUsePrefetch = isDeferredRsc(rsc) && rsc.status === \"pending\";\n return {\n lazyData: null,\n rsc,\n head: oldCacheNode.head,\n prefetchHead: shouldUsePrefetch ? oldCacheNode.prefetchHead : null,\n prefetchRsc: shouldUsePrefetch ? oldCacheNode.prefetchRsc : null,\n // These are the cloned children we computed above\n parallelRoutes: newParallelRoutes\n };\n}\nconst DEFERRED = Symbol();\n// This type exists to distinguish a DeferredRsc from a Flight promise. It's a\n// compromise to avoid adding an extra field on every Cache Node, which would be\n// awkward because the pre-PPR parts of codebase would need to account for it,\n// too. We can remove it once type Cache Node type is more settled.\nfunction isDeferredRsc(value) {\n return value && value.tag === DEFERRED;\n}\nfunction createDeferredRsc() {\n let resolve;\n let reject;\n const pendingRsc = new Promise((res, rej)=>{\n resolve = res;\n reject = rej;\n });\n pendingRsc.status = \"pending\";\n pendingRsc.resolve = (value)=>{\n if (pendingRsc.status === \"pending\") {\n const fulfilledRsc = pendingRsc;\n fulfilledRsc.status = \"fulfilled\";\n fulfilledRsc.value = value;\n resolve(value);\n }\n };\n pendingRsc.reject = (error)=>{\n if (pendingRsc.status === \"pending\") {\n const rejectedRsc = pendingRsc;\n rejectedRsc.status = \"rejected\";\n rejectedRsc.reason = error;\n reject(error);\n }\n };\n pendingRsc.tag = DEFERRED;\n return pendingRsc;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ppr-navigations.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3Bwci1uYXZpZ2F0aW9ucy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUtOO0FBQ0EsU0FBU0ssUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVgsT0FBT0MsY0FBYyxDQUFDUyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFQLFNBQVM7SUFDYkcsNkJBQTZCO1FBQ3pCLE9BQU9BO0lBQ1g7SUFDQUMseUJBQXlCO1FBQ3JCLE9BQU9BO0lBQ1g7SUFDQUMsV0FBVztRQUNQLE9BQU9BO0lBQ1g7SUFDQUMsc0NBQXNDO1FBQ2xDLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLFdBQVdDLG1CQUFPQSxDQUFDLHlGQUE2QjtBQUN0RCxNQUFNQyxpQkFBaUJELG1CQUFPQSxDQUFDLDZGQUFtQjtBQUNsRCxNQUFNRSx3QkFBd0JGLG1CQUFPQSxDQUFDLDZIQUEyQjtBQUNqRSxTQUFTWCw0QkFBNEJjLFlBQVksRUFBRUMsY0FBYyxFQUFFQyxjQUFjLEVBQUVDLFlBQVksRUFBRUMsWUFBWSxFQUFFQyxlQUFlO0lBQzFILDBEQUEwRDtJQUMxRCxNQUFNQyx5QkFBeUJMLGNBQWMsQ0FBQyxFQUFFO0lBQ2hELE1BQU1NLHlCQUF5QkwsY0FBYyxDQUFDLEVBQUU7SUFDaEQsTUFBTU0sdUJBQXVCTCxZQUFZLENBQUMsRUFBRTtJQUM1QyxNQUFNTSxvQkFBb0JULGFBQWFVLGNBQWM7SUFDckQsMkVBQTJFO0lBQzNFLGdCQUFnQjtJQUNoQiwwRUFBMEU7SUFDMUUsMEVBQTBFO0lBQzFFLDRFQUE0RTtJQUM1RSwyRUFBMkU7SUFDM0UsMEVBQTBFO0lB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LE1BQU0sR0FBRztZQUNyQlMsWUFBWUMsTUFBTSxHQUFHbkQ7WUFDckJzQyxPQUFPdEM7UUFDWDtJQUNKO0lBQ0E2QyxXQUFXRCxHQUFHLEdBQUdGO0lBQ2pCLE9BQU9HO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBTy9ILFFBQVFzSSxPQUFPLEtBQUssY0FBZSxPQUFPdEksUUFBUXNJLE9BQU8sS0FBSyxZQUFZdEksUUFBUXNJLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3RJLFFBQVFzSSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLekksT0FBT0MsY0FBYyxDQUFDQyxRQUFRc0ksT0FBTyxFQUFFLGNBQWM7UUFBRXJJLE9BQU87SUFBSztJQUNuRUgsT0FBTzBJLE1BQU0sQ0FBQ3hJLFFBQVFzSSxPQUFPLEVBQUV0STtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRc0ksT0FBTztBQUNsQyxFQUVBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcHByLW5hdmlnYXRpb25zLmpzPzY4NWIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICB1cGRhdGVDYWNoZU5vZGVPbk5hdmlnYXRpb246IG51bGwsXG4gICAgbGlzdGVuRm9yRHluYW1pY1JlcXVlc3Q6IG51bGwsXG4gICAgYWJvcnRUYXNrOiBudWxsLFxuICAgIHVwZGF0ZUNhY2hlTm9kZU9uUG9wc3RhdGVSZXN0b3JhdGlvbjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICB1cGRhdGVDYWNoZU5vZGVPbk5hdmlnYXRpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXBkYXRlQ2FjaGVOb2RlT25OYXZpZ2F0aW9uO1xuICAgIH0sXG4gICAgbGlzdGVuRm9yRHluYW1pY1JlcXVlc3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbGlzdGVuRm9yRHluYW1pY1JlcXVlc3Q7XG4gICAgfSxcbiAgICBhYm9ydFRhc2s6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYWJvcnRUYXNrO1xuICAgIH0sXG4gICAgdXBkYXRlQ2FjaGVOb2RlT25Qb3BzdGF0ZVJlc3RvcmF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZUNhY2hlTm9kZU9uUG9wc3RhdGVSZXN0b3JhdGlvbjtcbiAgICB9XG59KTtcbmNvbnN0IF9zZWdtZW50ID0gcmVxdWlyZShcIi4uLy4uLy4uL3NoYXJlZC9saWIvc2VnbWVudFwiKTtcbmNvbnN0IF9tYXRjaHNlZ21lbnRzID0gcmVxdWlyZShcIi4uL21hdGNoLXNlZ21lbnRzXCIpO1xuY29uc3QgX2NyZWF0ZXJvdXRlcmNhY2hla2V5ID0gcmVxdWlyZShcIi4vY3JlYXRlLXJvdXRlci1jYWNoZS1rZXlcIik7XG5mdW5jdGlvbiB1cGRhdGVDYWNoZU5vZGVPbk5hdmlnYXRpb24ob2xkQ2FjaGVOb2RlLCBvbGRSb3V0ZXJTdGF0ZSwgbmV3Um91dGVyU3RhdGUsIHByZWZldGNoRGF0YSwgcHJlZmV0Y2hIZWFkLCBpc1ByZWZldGNoU3RhbGUpIHtcbiAgICAvLyBEaWZmIHRoZSBvbGQgYW5kIG5ldyB0cmVlcyB0byByZXVzZSB0aGUgc2hhcmVkIGxheW91dHMuXG4gICAgY29uc3Qgb2xkUm91dGVyU3RhdGVDaGlsZHJlbiA9IG9sZFJvdXRlclN0YXRlWzFdO1xuICAgIGNvbnN0IG5ld1JvdXRlclN0YXRlQ2hpbGRyZW4gPSBuZXdSb3V0ZXJTdGF0ZVsxXTtcbiAgICBjb25zdCBwcmVmZXRjaERhdGFDaGlsZHJlbiA9IHByZWZldGNoRGF0YVsxXTtcbiAgICBjb25zdCBvbGRQYXJhbGxlbFJvdXRlcyA9IG9sZENhY2hlTm9kZS5wYXJhbGxlbFJvdXRlcztcbiAgICAvLyBDbG9uZSB0aGUgY3VycmVudCBzZXQgb2Ygc2VnbWVudCBjaGlsZHJlbiwgZXZlbiBpZiB0aGV5IGFyZW4ndCBhY3RpdmUgaW5cbiAgICAvLyB0aGUgbmV3IHRyZWUuXG4gICAgLy8gVE9ETzogV2UgY3VycmVudGx5IHJldGFpbiBhbGwgdGhlIGluYWN0aXZlIHNlZ21lbnRzIGluZGVmaW5pdGVseSwgdW50aWxcbiAgICAvLyB0aGVyZSdzIGFuIGV4cGxpY2l0IHJlZnJlc2gsIG9yIGEgcGFyZW50IGxheW91dCBpcyBsYXppbHkgcmVmcmVzaGVkLiBXZVxuICAgIC8vIHJlbHkgb24gdGhpcyBmb3IgcG9wc3RhdGUgbmF2aWdhdGlvbnMsIHdoaWNoIHVwZGF0ZSB0aGUgUm91dGVyIFN0YXRlIFRyZWVcbiAgICAvLyBidXQgZG8gbm90IGVhZ2VybHkgcGVyZm9ybSBhIGRhdGEgZmV0Y2gsIGJlY2F1c2UgdGhleSBleHBlY3QgdGhlIHNlZ21lbnRcbiAgICAvLyBkYXRhIHRvIGFscmVhZHkgYmUgaW4gdGhlIENhY2hlIE5vZGUgdHJlZS4gRm9yIGhpZ2hseSBzdGF0aWMgc2l0ZXMgdGhhdFxuICAgIC8vIGFyZSBtb3N0bHkgcmVhZC1vbmx5LCB0aGlzIG1heSBoYXBwZW4gb25seSByYXJlbHksIGNhdXNpbmcgbWVtb3J5IHRvXG4gICAgLy8gbGVhay4gV2Ugc2hvdWxkIGZpZ3VyZSBvdXQgYSBiZXR0ZXIgbW9kZWwgZm9yIHRoZSBsaWZldGltZSBvZiBpbmFjdGl2ZVxuICAgIC8vIHNlZ21lbnRzLCBzbyB3ZSBjYW4gbWFpbnRhaW4gaW5zdGFudCBiYWNrL2ZvcndhcmQgbmF2aWdhdGlvbnMgd2l0aG91dFxuICAgIC8vIGxlYWtpbmcgbWVtb3J5IGluZGVmaW5pdGVseS5cbiAgICBjb25zdCBwcmVmZXRjaFBhcmFsbGVsUm91dGVzID0gbmV3IE1hcChvbGRQYXJhbGxlbFJvdXRlcyk7XG4gICAgLy8gQXMgd2UgZGlmZiB0aGUgdHJlZXMsIHdlIG1heSBzb21ldGltZXMgbW9kaWZ5IChjb3B5LW9uLXdyaXRlLCBub3QgbXV0YXRlKVxuICAgIC8vIHRoZSBSb3V0ZSBUcmVlIHRoYXQgd2FzIHJldHVybmVkIGJ5IHRoZSBzZXJ2ZXIg4oCUIGZvciBleGFtcGxlLCBpbiB0aGUgY2FzZVxuICAgIC8vIG9mIGRlZmF1bHQgcGFyYWxsZWwgcm91dGVzLCB3ZSBwcmVzZXJ2ZSB0aGUgY3VycmVudGx5IGFjdGl2ZSBzZWdtZW50LiBUb1xuICAgIC8vIGF2b2lkIG11dGF0aW5nIHRoZSBvcmlnaW5hbCB0cmVlLCB3ZSBjbG9uZSB0aGUgcm91dGVyIHN0YXRlIGNoaWxkcmVuIGFsb25nXG4gICAgLy8gdGhlIHJldHVybiBwYXRoLlxuICAgIGxldCBwYXRjaGVkUm91dGVyU3RhdGVDaGlsZHJlbiA9IHt9O1xuICAgIGxldCB0YXNrQ2hpbGRyZW4gPSBudWxsO1xuICAgIGZvcihsZXQgcGFyYWxsZWxSb3V0ZUtleSBpbiBuZXdSb3V0ZXJTdGF0ZUNoaWxkcmVuKXtcbiAgICAgICAgY29uc3QgbmV3Um91dGVyU3RhdGVDaGlsZCA9IG5ld1JvdXRlclN0YXRlQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV07XG4gICAgICAgIGNvbnN0IG9sZFJvdXRlclN0YXRlQ2hpbGQgPSBvbGRSb3V0ZXJTdGF0ZUNoaWxkcmVuW3BhcmFsbGVsUm91dGVLZXldO1xuICAgICAgICBjb25zdCBvbGRTZWdtZW50TWFwQ2hpbGQgPSBvbGRQYXJhbGxlbFJvdXRlcy5nZXQocGFyYWxsZWxSb3V0ZUtleSk7XG4gICAgICAgIGNvbnN0IHByZWZldGNoRGF0YUNoaWxkID0gcHJlZmV0Y2hEYXRhQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV07XG4gICAgICAgIGNvbnN0IG5ld1NlZ21lbnRDaGlsZCA9IG5ld1JvdXRlclN0YXRlQ2hpbGRbMF07XG4gICAgICAgIGNvbnN0IG5ld1NlZ21lbnRLZXlDaGlsZCA9ICgwLCBfY3JlYXRlcm91dGVyY2FjaGVrZXkuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKG5ld1NlZ21lbnRDaGlsZCk7XG4gICAgICAgIGNvbnN0IG9sZFNlZ21lbnRDaGlsZCA9IG9sZFJvdXRlclN0YXRlQ2hpbGQgIT09IHVuZGVmaW5lZCA/IG9sZFJvdXRlclN0YXRlQ2hpbGRbMF0gOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IG9sZENhY2hlTm9kZUNoaWxkID0gb2xkU2VnbWVudE1hcENoaWxkICE9PSB1bmRlZmluZWQgPyBvbGRTZWdtZW50TWFwQ2hpbGQuZ2V0KG5ld1NlZ21lbnRLZXlDaGlsZCkgOiB1bmRlZmluZWQ7XG4gICAgICAgIGxldCB0YXNrQ2hpbGQ7XG4gICAgICAgIGlmIChuZXdTZWdtZW50Q2hpbGQgPT09IF9zZWdtZW50LlBBR0VfU0VHTUVOVF9LRVkpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBsZWFmIHNlZ21lbnQg4oCUIGEgcGFnZSwgbm90IGEgc2hhcmVkIGxheW91dC4gV2UgYWx3YXlzIGFwcGx5XG4gICAgICAgICAgICAvLyBpdHMgZGF0YS5cbiAgICAgICAgICAgIHRhc2tDaGlsZCA9IHNwYXduUGVuZGluZ1Rhc2sobmV3Um91dGVyU3RhdGVDaGlsZCwgcHJlZmV0Y2hEYXRhQ2hpbGQgIT09IHVuZGVmaW5lZCA/IHByZWZldGNoRGF0YUNoaWxkIDogbnVsbCwgcHJlZmV0Y2hIZWFkLCBpc1ByZWZldGNoU3RhbGUpO1xuICAgICAgICB9IGVsc2UgaWYgKG5ld1NlZ21lbnRDaGlsZCA9PT0gX3NlZ21lbnQuREVGQVVMVF9TRUdNRU5UX0tFWSkge1xuICAgICAgICAgICAgLy8gVGhpcyBpcyBhbm90aGVyIGtpbmQgb2YgbGVhZiBzZWdtZW50IOKAlCBhIGRlZmF1bHQgcm91dGUuXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gRGVmYXVsdCByb3V0ZXMgaGF2ZSBzcGVjaWFsIGJlaGF2aW9yLiBXaGVuIHRoZXJlJ3Mgbm8gbWF0Y2hpbmcgc2VnbWVudFxuICAgICAgICAgICAgLy8gZm9yIGEgcGFyYWxsZWwgcm91dGUsIE5leHQuanMgcHJlc2VydmVzIHRoZSBjdXJyZW50bHkgYWN0aXZlIHNlZ21lbnRcbiAgICAgICAgICAgIC8vIGR1cmluZyBhIGNsaWVudCBuYXZpZ2F0aW9uIOKAlCBidXQgbm90IGZvciBpbml0aWFsIHJlbmRlci4gVGhlIHNlcnZlclxuICAgICAgICAgICAgLy8gbGVhdmVzIGl0IHRvIHRoZSBjbGllbnQgdG8gYWNjb3VudCBmb3IgdGhpcy4gU28gd2UgbmVlZCB0byBoYW5kbGVcbiAgICAgICAgICAgIC8vIGl0IGhlcmUuXG4gICAgICAgICAgICBpZiAob2xkUm91dGVyU3RhdGVDaGlsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgLy8gUmV1c2UgdGhlIGV4aXN0aW5nIFJvdXRlciBTdGF0ZSBmb3IgdGhpcyBzZWdtZW50LiBXZSBzcGF3biBhIFwidGFza1wiXG4gICAgICAgICAgICAgICAgLy8ganVzdCB0byBrZWVwIHRyYWNrIG9mIHRoZSB1cGRhdGVkIHJvdXRlciBzdGF0ZTsgdW5saWtlIG1vc3QsIGl0J3NcbiAgICAgICAgICAgICAgICAvLyBhbHJlYWR5IGZ1bGZpbGxlZCBhbmQgd29uJ3QgYmUgYWZmZWN0ZWQgYnkgdGhlIGR5bmFtaWMgcmVzcG9uc2UuXG4gICAgICAgICAgICAgICAgdGFza0NoaWxkID0gc3Bhd25SZXVzZWRUYXNrKG9sZFJvdXRlclN0YXRlQ2hpbGQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBUaGVyZSdzIG5vIGN1cnJlbnRseSBhY3RpdmUgc2VnbWVudC4gU3dpdGNoIHRvIHRoZSBcImNyZWF0ZVwiIHBhdGguXG4gICAgICAgICAgICAgICAgdGFza0NoaWxkID0gc3Bhd25QZW5kaW5nVGFzayhuZXdSb3V0ZXJTdGF0ZUNoaWxkLCBwcmVmZXRjaERhdGFDaGlsZCAhPT0gdW5kZWZpbmVkID8gcHJlZmV0Y2hEYXRhQ2hpbGQgOiBudWxsLCBwcmVmZXRjaEhlYWQsIGlzUHJlZmV0Y2hTdGFsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAob2xkU2VnbWVudENoaWxkICE9PSB1bmRlZmluZWQgJiYgKDAsIF9tYXRjaHNlZ21lbnRzLm1hdGNoU2VnbWVudCkobmV3U2VnbWVudENoaWxkLCBvbGRTZWdtZW50Q2hpbGQpKSB7XG4gICAgICAgICAgICBpZiAob2xkQ2FjaGVOb2RlQ2hpbGQgIT09IHVuZGVmaW5lZCAmJiBvbGRSb3V0ZXJTdGF0ZUNoaWxkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBUaGlzIHNlZ21lbnQgZXhpc3RzIGluIGJvdGggdGhlIG9sZCBhbmQgbmV3IHRyZWVzLlxuICAgICAgICAgICAgICAgIGlmIChwcmVmZXRjaERhdGFDaGlsZCAhPT0gdW5kZWZpbmVkICYmIHByZWZldGNoRGF0YUNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFJlY3Vyc2l2ZWx5IHVwZGF0ZSB0aGUgY2hpbGRyZW4uXG4gICAgICAgICAgICAgICAgICAgIHRhc2tDaGlsZCA9IHVwZGF0ZUNhY2hlTm9kZU9uTmF2aWdhdGlvbihvbGRDYWNoZU5vZGVDaGlsZCwgb2xkUm91dGVyU3RhdGVDaGlsZCwgbmV3Um91dGVyU3RhdGVDaGlsZCwgcHJlZmV0Y2hEYXRhQ2hpbGQsIHByZWZldGNoSGVhZCwgaXNQcmVmZXRjaFN0YWxlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBUaGUgc2VydmVyIGRpZG4ndCBzZW5kIGFueSBwcmVmZXRjaCBkYXRhIGZvciB0aGlzIHNlZ21lbnQuIFRoaXNcbiAgICAgICAgICAgICAgICAgICAgLy8gc2hvdWxkbid0IGhhcHBlbiBiZWNhdXNlIHRoZSBSb3V0ZSBUcmVlIGFuZCB0aGUgU2VlZCBEYXRhIHRyZWVcbiAgICAgICAgICAgICAgICAgICAgLy8gc2hvdWxkIGFsd2F5cyBiZSB0aGUgc2FtZSBzaGFwZSwgYnV0IHVudGlsIHdlIHVuaWZ5IHRob3NlIHR5cGVzXG4gICAgICAgICAgICAgICAgICAgIC8vIGl0J3Mgc3RpbGwgcG9zc2libGUuIEZvciBub3cgd2UncmUgZ29pbmcgdG8gZGVvcHQgYW5kIHRyaWdnZXIgYVxuICAgICAgICAgICAgICAgICAgICAvLyBsYXp5IGZldGNoIGR1cmluZyByZW5kZXIuXG4gICAgICAgICAgICAgICAgICAgIHRhc2tDaGlsZCA9IHNwYXduVGFza0Zvck1pc3NpbmdEYXRhKG5ld1JvdXRlclN0YXRlQ2hpbGQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gRWl0aGVyIHRoZXJlJ3Mgbm8gZXhpc3RpbmcgQ2FjaGUgTm9kZSBmb3IgdGhpcyBzZWdtZW50LCBvciB0aGlzXG4gICAgICAgICAgICAgICAgLy8gc2VnbWVudCBkb2Vzbid0IGV4aXN0IGluIHRoZSBvbGQgUm91dGVyIFN0YXRlIHRyZWUuIFN3aXRjaCB0byB0aGVcbiAgICAgICAgICAgICAgICAvLyBcImNyZWF0ZVwiIHBhdGguXG4gICAgICAgICAgICAgICAgdGFza0NoaWxkID0gc3Bhd25QZW5kaW5nVGFzayhuZXdSb3V0ZXJTdGF0ZUNoaWxkLCBwcmVmZXRjaERhdGFDaGlsZCAhPT0gdW5kZWZpbmVkID8gcHJlZmV0Y2hEYXRhQ2hpbGQgOiBudWxsLCBwcmVmZXRjaEhlYWQsIGlzUHJlZmV0Y2hTdGFsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBUaGlzIGlzIGEgbmV3IHRyZWUuIFN3aXRjaCB0byB0aGUgXCJjcmVhdGVcIiBwYXRoLlxuICAgICAgICAgICAgdGFza0NoaWxkID0gc3Bhd25QZW5kaW5nVGFzayhuZXdSb3V0ZXJTdGF0ZUNoaWxkLCBwcmVmZXRjaERhdGFDaGlsZCAhPT0gdW5kZWZpbmVkID8gcHJlZmV0Y2hEYXRhQ2hpbGQgOiBudWxsLCBwcmVmZXRjaEhlYWQsIGlzUHJlZmV0Y2hTdGFsZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRhc2tDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gU29tZXRoaW5nIGNoYW5nZWQgaW4gdGhlIGNoaWxkIHRyZWUuIEtlZXAgdHJhY2sgb2YgdGhlIGNoaWxkIHRhc2suXG4gICAgICAgICAgICBpZiAodGFza0NoaWxkcmVuID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGFza0NoaWxkcmVuID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGFza0NoaWxkcmVuLnNldChwYXJhbGxlbFJvdXRlS2V5LCB0YXNrQ2hpbGQpO1xuICAgICAgICAgICAgY29uc3QgbmV3Q2FjaGVOb2RlQ2hpbGQgPSB0YXNrQ2hpbGQubm9kZTtcbiAgICAgICAgICAgIGlmIChuZXdDYWNoZU5vZGVDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1NlZ21lbnRNYXBDaGlsZCA9IG5ldyBNYXAob2xkU2VnbWVudE1hcENoaWxkKTtcbiAgICAgICAgICAgICAgICBuZXdTZWdtZW50TWFwQ2hpbGQuc2V0KG5ld1NlZ21lbnRLZXlDaGlsZCwgbmV3Q2FjaGVOb2RlQ2hpbGQpO1xuICAgICAgICAgICAgICAgIHByZWZldGNoUGFyYWxsZWxSb3V0ZXMuc2V0KHBhcmFsbGVsUm91dGVLZXksIG5ld1NlZ21lbnRNYXBDaGlsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUaGUgY2hpbGQgdHJlZSdzIHJvdXRlIHN0YXRlIG1heSBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgcHJlZmV0Y2hlZFxuICAgICAgICAgICAgLy8gcm91dGUgc2VudCBieSB0aGUgc2VydmVyLiBXZSBuZWVkIHRvIGNsb25lIGl0IGFzIHdlIHRyYXZlcnNlIGJhY2sgdXBcbiAgICAgICAgICAgIC8vIHRoZSB0cmVlLlxuICAgICAgICAgICAgcGF0Y2hlZFJvdXRlclN0YXRlQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV0gPSB0YXNrQ2hpbGQucm91dGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBUaGUgY2hpbGQgZGlkbid0IGNoYW5nZS4gV2UgY2FuIHVzZSB0aGUgcHJlZmV0Y2hlZCByb3V0ZXIgc3RhdGUuXG4gICAgICAgICAgICBwYXRjaGVkUm91dGVyU3RhdGVDaGlsZHJlbltwYXJhbGxlbFJvdXRlS2V5XSA9IG5ld1JvdXRlclN0YXRlQ2hpbGQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRhc2tDaGlsZHJlbiA9PT0gbnVsbCkge1xuICAgICAgICAvLyBObyBuZXcgdGFza3Mgd2VyZSBzcGF3bmVkLlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgbmV3Q2FjaGVOb2RlID0ge1xuICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgcnNjOiBvbGRDYWNoZU5vZGUucnNjLFxuICAgICAgICAvLyBXZSBpbnRlbnRpb25hbGx5IGFyZW4ndCB1cGRhdGluZyB0aGUgcHJlZmV0Y2hSc2MgZmllbGQsIHNpbmNlIHRoaXMgbm9kZVxuICAgICAgICAvLyBpcyBhbHJlYWR5IHBhcnQgb2YgdGhlIGN1cnJlbnQgdHJlZSwgYmVjYXVzZSBpdCB3b3VsZCBiZSB3ZWlyZCBmb3JcbiAgICAgICAgLy8gcHJlZmV0Y2ggZGF0YSB0byBiZSBuZXdlciB0aGFuIHRoZSBmaW5hbCBkYXRhLiBJdCBwcm9iYWJseSB3b24ndCBldmVyIGJlXG4gICAgICAgIC8vIG9ic2VydmFibGUgYW55d2F5LCBidXQgaXQgY291bGQgaGFwcGVuIGlmIHRoZSBzZWdtZW50IGlzIHVubW91bnRlZCB0aGVuXG4gICAgICAgIC8vIG1vdW50ZWQgYWdhaW4sIGJlY2F1c2UgTGF5b3V0Um91dGVyIHdpbGwgbW9tZW50YXJpbHkgc3dpdGNoIHRvIHJlbmRlcmluZ1xuICAgICAgICAvLyBwcmVmZXRjaFJzYywgdmlhIHVzZURlZmVycmVkVmFsdWUuXG4gICAgICAgIHByZWZldGNoUnNjOiBvbGRDYWNoZU5vZGUucHJlZmV0Y2hSc2MsXG4gICAgICAgIGhlYWQ6IG9sZENhY2hlTm9kZS5oZWFkLFxuICAgICAgICBwcmVmZXRjaEhlYWQ6IG9sZENhY2hlTm9kZS5wcmVmZXRjaEhlYWQsXG4gICAgICAgIC8vIEV2ZXJ5dGhpbmcgaXMgY2xvbmVkIGV4Y2VwdCBmb3IgdGhlIGNoaWxkcmVuLCB3aGljaCB3ZSBjb21wdXRlZCBhYm92ZS5cbiAgICAgICAgcGFyYWxsZWxSb3V0ZXM6IHByZWZldGNoUGFyYWxsZWxSb3V0ZXNcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIC8vIFJldHVybiBhIGNsb25lZCBjb3B5IG9mIHRoZSByb3V0ZXIgc3RhdGUgd2l0aCB1cGRhdGVkIGNoaWxkcmVuLlxuICAgICAgICByb3V0ZTogcGF0Y2hSb3V0ZXJTdGF0ZVdpdGhOZXdDaGlsZHJlbihuZXdSb3V0ZXJTdGF0ZSwgcGF0Y2hlZFJvdXRlclN0YXRlQ2hpbGRyZW4pLFxuICAgICAgICBub2RlOiBuZXdDYWNoZU5vZGUsXG4gICAgICAgIGNoaWxkcmVuOiB0YXNrQ2hpbGRyZW5cbiAgICB9O1xufVxuZnVuY3Rpb24gcGF0Y2hSb3V0ZXJTdGF0ZVdpdGhOZXdDaGlsZHJlbihiYXNlUm91dGVyU3RhdGUsIG5ld0NoaWxkcmVuKSB7XG4gICAgY29uc3QgY2xvbmUgPSBbXG4gICAgICAgIGJhc2VSb3V0ZXJTdGF0ZVswXSxcbiAgICAgICAgbmV3Q2hpbGRyZW5cbiAgICBdO1xuICAgIC8vIEJhc2VkIG9uIGVxdWl2YWxlbnQgbG9naWMgaW4gYXBwbHktcm91dGVyLXN0YXRlLXBhdGNoLXRvLXRyZWUsIGJ1dCBzaG91bGRcbiAgICAvLyBjb25maXJtIHdoZXRoZXIgd2UgbmVlZCB0byBjb3B5IGFsbCBvZiB0aGVzZSBmaWVsZHMuIE5vdCBzdXJlIHRoZSBzZXJ2ZXJcbiAgICAvLyBldmVyIHNlbmRzLCBlLmcuIHRoZSByZWZldGNoIG1hcmtlci5cbiAgICBpZiAoMiBpbiBiYXNlUm91dGVyU3RhdGUpIHtcbiAgICAgICAgY2xvbmVbMl0gPSBiYXNlUm91dGVyU3RhdGVbMl07XG4gICAgfVxuICAgIGlmICgzIGluIGJhc2VSb3V0ZXJTdGF0ZSkge1xuICAgICAgICBjbG9uZVszXSA9IGJhc2VSb3V0ZXJTdGF0ZVszXTtcbiAgICB9XG4gICAgaWYgKDQgaW4gYmFzZVJvdXRlclN0YXRlKSB7XG4gICAgICAgIGNsb25lWzRdID0gYmFzZVJvdXRlclN0YXRlWzRdO1xuICAgIH1cbiAgICByZXR1cm4gY2xvbmU7XG59XG5mdW5jdGlvbiBzcGF3blBlbmRpbmdUYXNrKHJvdXRlclN0YXRlLCBwcmVmZXRjaERhdGEsIHByZWZldGNoSGVhZCwgaXNQcmVmZXRjaFN0YWxlKSB7XG4gICAgLy8gQ3JlYXRlIGEgdGFzayB0aGF0IHdpbGwgbGF0ZXIgYmUgZnVsZmlsbGVkIGJ5IGRhdGEgZnJvbSB0aGUgc2VydmVyLlxuICAgIGNvbnN0IHBlbmRpbmdDYWNoZU5vZGUgPSBjcmVhdGVQZW5kaW5nQ2FjaGVOb2RlKHJvdXRlclN0YXRlLCBwcmVmZXRjaERhdGEsIHByZWZldGNoSGVhZCwgaXNQcmVmZXRjaFN0YWxlKTtcbiAgICByZXR1cm4ge1xuICAgICAgICByb3V0ZTogcm91dGVyU3RhdGUsXG4gICAgICAgIG5vZGU6IHBlbmRpbmdDYWNoZU5vZGUsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsXG4gICAgfTtcbn1cbmZ1bmN0aW9uIHNwYXduUmV1c2VkVGFzayhyZXVzZWRSb3V0ZXJTdGF0ZSkge1xuICAgIC8vIENyZWF0ZSBhIHRhc2sgdGhhdCByZXVzZXMgYW4gZXhpc3Rpbmcgc2VnbWVudCwgZS5nLiB3aGVuIHJldXNpbmdcbiAgICAvLyB0aGUgY3VycmVudCBhY3RpdmUgc2VnbWVudCBpbiBwbGFjZSBvZiBhIGRlZmF1bHQgcm91dGUuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgcm91dGU6IHJldXNlZFJvdXRlclN0YXRlLFxuICAgICAgICBub2RlOiBudWxsLFxuICAgICAgICBjaGlsZHJlbjogbnVsbFxuICAgIH07XG59XG5mdW5jdGlvbiBzcGF3blRhc2tGb3JNaXNzaW5nRGF0YShyb3V0ZXJTdGF0ZSkge1xuICAgIC8vIENyZWF0ZSBhIHRhc2sgZm9yIGEgbmV3IHN1YnRyZWUgdGhhdCB3YXNuJ3QgcHJlZmV0Y2hlZCBieSB0aGUgc2VydmVyLlxuICAgIC8vIFRoaXMgc2hvdWxkbid0IHJlYWxseSBldmVyIGhhcHBlbiBidXQgaXQncyBoZXJlIGp1c3QgaW4gY2FzZSB0aGUgU2VlZCBEYXRhXG4gICAgLy8gVHJlZSBhbmQgdGhlIFJvdXRlciBTdGF0ZSBUcmVlIGRpc2FncmVlIHVuZXhwZWN0ZWRseS5cbiAgICBjb25zdCBwZW5kaW5nQ2FjaGVOb2RlID0gY3JlYXRlUGVuZGluZ0NhY2hlTm9kZShyb3V0ZXJTdGF0ZSwgbnVsbCwgbnVsbCwgZmFsc2UpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHJvdXRlOiByb3V0ZXJTdGF0ZSxcbiAgICAgICAgbm9kZTogcGVuZGluZ0NhY2hlTm9kZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGxcbiAgICB9O1xufVxuZnVuY3Rpb24gbGlzdGVuRm9yRHluYW1pY1JlcXVlc3QodGFzaywgcmVzcG9uc2VQcm9taXNlKSB7XG4gICAgcmVzcG9uc2VQcm9taXNlLnRoZW4oKHJlc3BvbnNlKT0+e1xuICAgICAgICBjb25zdCBmbGlnaHREYXRhID0gcmVzcG9uc2VbMF07XG4gICAgICAgIGZvciAoY29uc3QgZmxpZ2h0RGF0YVBhdGggb2YgZmxpZ2h0RGF0YSl7XG4gICAgICAgICAgICBjb25zdCBzZWdtZW50UGF0aCA9IGZsaWdodERhdGFQYXRoLnNsaWNlKDAsIC0zKTtcbiAgICAgICAgICAgIGNvbnN0IHNlcnZlclJvdXRlclN0YXRlID0gZmxpZ2h0RGF0YVBhdGhbZmxpZ2h0RGF0YVBhdGgubGVuZ3RoIC0gM107XG4gICAgICAgICAgICBjb25zdCBkeW5hbWljRGF0YSA9IGZsaWdodERhdGFQYXRoW2ZsaWdodERhdGFQYXRoLmxlbmd0aCAtIDJdO1xuICAgICAgICAgICAgY29uc3QgZHluYW1pY0hlYWQgPSBmbGlnaHREYXRhUGF0aFtmbGlnaHREYXRhUGF0aC5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc2VnbWVudFBhdGggPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHdyaXRlRHluYW1pY0RhdGFJbnRvUGVuZGluZ1Rhc2sodGFzaywgc2VnbWVudFBhdGgsIHNlcnZlclJvdXRlclN0YXRlLCBkeW5hbWljRGF0YSwgZHluYW1pY0hlYWQpO1xuICAgICAgICB9XG4gICAgICAgIC8vIE5vdyB0aGF0IHdlJ3ZlIGV4aGF1c3RlZCBhbGwgdGhlIGRhdGEgd2UgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyLCBpZlxuICAgICAgICAvLyB0aGVyZSBhcmUgYW55IHJlbWFpbmluZyBwZW5kaW5nIHRhc2tzIGluIHRoZSB0cmVlLCBhYm9ydCB0aGVtIG5vdy5cbiAgICAgICAgLy8gSWYgdGhlcmUncyBhbnkgbWlzc2luZyBkYXRhLCBpdCB3aWxsIHRyaWdnZXIgYSBsYXp5IGZldGNoLlxuICAgICAgICBhYm9ydFRhc2sodGFzaywgbnVsbCk7XG4gICAgfSwgKGVycm9yKT0+e1xuICAgICAgICAvLyBUaGlzIHdpbGwgdHJpZ2dlciBhbiBlcnJvciBkdXJpbmcgcmVuZGVyXG4gICAgICAgIGFib3J0VGFzayh0YXNrLCBlcnJvcik7XG4gICAgfSk7XG59XG5mdW5jdGlvbiB3cml0ZUR5bmFtaWNEYXRhSW50b1BlbmRpbmdUYXNrKHJvb3RUYXNrLCBzZWdtZW50UGF0aCwgc2VydmVyUm91dGVyU3RhdGUsIGR5bmFtaWNEYXRhLCBkeW5hbWljSGVhZCkge1xuICAgIC8vIFRoZSBkYXRhIHNlbnQgYnkgdGhlIHNlcnZlciByZXByZXNlbnRzIG9ubHkgYSBzdWJ0cmVlIG9mIHRoZSBhcHAuIFdlIG5lZWRcbiAgICAvLyB0byBmaW5kIHRoZSBwYXJ0IG9mIHRoZSB0YXNrIHRyZWUgdGhhdCBtYXRjaGVzIHRoZSBzZXJ2ZXIgcmVzcG9uc2UsIGFuZFxuICAgIC8vIGZ1bGZpbGwgaXQgdXNpbmcgdGhlIGR5bmFtaWMgZGF0YS5cbiAgICAvL1xuICAgIC8vIHNlZ21lbnRQYXRoIHJlcHJlc2VudHMgdGhlIHBhcmVudCBwYXRoIG9mIHN1YnRyZWUuIEl0J3MgYSByZXBlYXRpbmcgcGF0dGVyblxuICAgIC8vIG9mIHBhcmFsbGVsIHJvdXRlIGtleSBhbmQgc2VnbWVudDpcbiAgICAvL1xuICAgIC8vICAgW3N0cmluZywgU2VnbWVudCwgc3RyaW5nLCBTZWdtZW50LCBzdHJpbmcsIFNlZ21lbnQsIC4uLl1cbiAgICAvL1xuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgcGF0aCBhbmQgZmluaXNoIGFueSB0YXNrcyB0aGF0IG1hdGNoIHRoaXMgcGF5bG9hZC5cbiAgICBsZXQgdGFzayA9IHJvb3RUYXNrO1xuICAgIGZvcihsZXQgaSA9IDA7IGkgPCBzZWdtZW50UGF0aC5sZW5ndGg7IGkgKz0gMil7XG4gICAgICAgIGNvbnN0IHBhcmFsbGVsUm91dGVLZXkgPSBzZWdtZW50UGF0aFtpXTtcbiAgICAgICAgY29uc3Qgc2VnbWVudCA9IHNlZ21lbnRQYXRoW2kgKyAxXTtcbiAgICAgICAgY29uc3QgdGFza0NoaWxkcmVuID0gdGFzay5jaGlsZHJlbjtcbiAgICAgICAgaWYgKHRhc2tDaGlsZHJlbiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgdGFza0NoaWxkID0gdGFza0NoaWxkcmVuLmdldChwYXJhbGxlbFJvdXRlS2V5KTtcbiAgICAgICAgICAgIGlmICh0YXNrQ2hpbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhc2tTZWdtZW50ID0gdGFza0NoaWxkLnJvdXRlWzBdO1xuICAgICAgICAgICAgICAgIGlmICgoMCwgX21hdGNoc2VnbWVudHMubWF0Y2hTZWdtZW50KShzZWdtZW50LCB0YXNrU2VnbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gRm91bmQgYSBtYXRjaCBmb3IgdGhpcyB0YXNrLiBLZWVwIHRyYXZlcnNpbmcgZG93biB0aGUgdGFzayB0cmVlLlxuICAgICAgICAgICAgICAgICAgICB0YXNrID0gdGFza0NoaWxkO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gV2UgZGlkbid0IGZpbmQgYSBjaGlsZCB0YXNrIHRoYXQgbWF0Y2hlcyB0aGUgc2VydmVyIGRhdGEuIEV4aXQuIFdlIHdvbid0XG4gICAgICAgIC8vIGFib3J0IHRoZSB0YXNrLCB0aG91Z2gsIGJlY2F1c2UgYSBkaWZmZXJlbnQgRmxpZ2h0RGF0YVBhdGggbWF5IGJlIGFibGUgdG9cbiAgICAgICAgLy8gZnVsZmlsbCBpdCAoc2VlIGxvb3AgaW4gbGlzdGVuRm9yRHluYW1pY1JlcXVlc3QpLiBXZSBvbmx5IGFib3J0IHRhc2tzXG4gICAgICAgIC8vIG9uY2Ugd2UndmUgcnVuIG91dCBvZiBkYXRhLlxuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGZpbmlzaFRhc2tVc2luZ0R5bmFtaWNEYXRhUGF5bG9hZCh0YXNrLCBzZXJ2ZXJSb3V0ZXJTdGF0ZSwgZHluYW1pY0RhdGEsIGR5bmFtaWNIZWFkKTtcbn1cbmZ1bmN0aW9uIGZpbmlzaFRhc2tVc2luZ0R5bmFtaWNEYXRhUGF5bG9hZCh0YXNrLCBzZXJ2ZXJSb3V0ZXJTdGF0ZSwgZHluYW1pY0RhdGEsIGR5bmFtaWNIZWFkKSB7XG4gICAgLy8gZHluYW1pY0RhdGEgbWF5IHJlcHJlc2VudCBhIGxhcmdlciBzdWJ0cmVlIHRoYW4gdGhlIHRhc2suIEJlZm9yZSB3ZSBjYW5cbiAgICAvLyBmaW5pc2ggdGhlIHRhc2ssIHdlIG5lZWQgdG8gbGluZSB0aGVtIHVwLlxuICAgIGNvbnN0IHRhc2tDaGlsZHJlbiA9IHRhc2suY2hpbGRyZW47XG4gICAgY29uc3QgdGFza05vZGUgPSB0YXNrLm5vZGU7XG4gICAgaWYgKHRhc2tDaGlsZHJlbiA9PT0gbnVsbCkge1xuICAgICAgICAvLyBXZSd2ZSByZWFjaGVkIHRoZSBsZWFmIG5vZGUgb2YgdGhlIHBlbmRpbmcgdGFzay4gVGhlIHNlcnZlciBkYXRhIHRyZWVcbiAgICAgICAgLy8gbGluZXMgdXAgdGhlIHBlbmRpbmcgQ2FjaGUgTm9kZSB0cmVlLiBXZSBjYW4gbm93IHN3aXRjaCB0byB0aGVcbiAgICAgICAgLy8gbm9ybWFsIGFsZ29yaXRobS5cbiAgICAgICAgaWYgKHRhc2tOb2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBmaW5pc2hQZW5kaW5nQ2FjaGVOb2RlKHRhc2tOb2RlLCB0YXNrLnJvdXRlLCBzZXJ2ZXJSb3V0ZXJTdGF0ZSwgZHluYW1pY0RhdGEsIGR5bmFtaWNIZWFkKTtcbiAgICAgICAgICAgIC8vIE51bGwgdGhpcyBvdXQgdG8gaW5kaWNhdGUgdGhhdCB0aGUgdGFzayBpcyBjb21wbGV0ZS5cbiAgICAgICAgICAgIHRhc2subm9kZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBUaGUgc2VydmVyIHJldHVybmVkIG1vcmUgZGF0YSB0aGFuIHdlIG5lZWQgdG8gZmluaXNoIHRoZSB0YXNrLiBTa2lwIG92ZXJcbiAgICAvLyB0aGUgZXh0cmEgc2VnbWVudHMgdW50aWwgd2UgcmVhY2ggdGhlIGxlYWYgdGFzayBub2RlLlxuICAgIGNvbnN0IHNlcnZlckNoaWxkcmVuID0gc2VydmVyUm91dGVyU3RhdGVbMV07XG4gICAgY29uc3QgZHluYW1pY0RhdGFDaGlsZHJlbiA9IGR5bmFtaWNEYXRhWzFdO1xuICAgIGZvcihjb25zdCBwYXJhbGxlbFJvdXRlS2V5IGluIHNlcnZlclJvdXRlclN0YXRlKXtcbiAgICAgICAgY29uc3Qgc2VydmVyUm91dGVyU3RhdGVDaGlsZCA9IHNlcnZlckNoaWxkcmVuW3BhcmFsbGVsUm91dGVLZXldO1xuICAgICAgICBjb25zdCBkeW5hbWljRGF0YUNoaWxkID0gZHluYW1pY0RhdGFDaGlsZHJlbltwYXJhbGxlbFJvdXRlS2V5XTtcbiAgICAgICAgY29uc3QgdGFza0NoaWxkID0gdGFza0NoaWxkcmVuLmdldChwYXJhbGxlbFJvdXRlS2V5KTtcbiAgICAgICAgaWYgKHRhc2tDaGlsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCB0YXNrU2VnbWVudCA9IHRhc2tDaGlsZC5yb3V0ZVswXTtcbiAgICAgICAgICAgIGlmICgoMCwgX21hdGNoc2VnbWVudHMubWF0Y2hTZWdtZW50KShzZXJ2ZXJSb3V0ZXJTdGF0ZUNoaWxkWzBdLCB0YXNrU2VnbWVudCkgJiYgZHluYW1pY0RhdGFDaGlsZCAhPT0gbnVsbCAmJiBkeW5hbWljRGF0YUNoaWxkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBGb3VuZCBhIG1hdGNoIGZvciB0aGlzIHRhc2suIEtlZXAgdHJhdmVyc2luZyBkb3duIHRoZSB0YXNrIHRyZWUuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpbmlzaFRhc2tVc2luZ0R5bmFtaWNEYXRhUGF5bG9hZCh0YXNrQ2hpbGQsIHNlcnZlclJvdXRlclN0YXRlQ2hpbGQsIGR5bmFtaWNEYXRhQ2hpbGQsIGR5bmFtaWNIZWFkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIC8vIFdlIGRpZG4ndCBmaW5kIGEgY2hpbGQgdGFzayB0aGF0IG1hdGNoZXMgdGhlIHNlcnZlciBkYXRhLiBXZSB3b24ndCBhYm9ydFxuICAgIC8vIHRoZSB0YXNrLCB0aG91Z2gsIGJlY2F1c2UgYSBkaWZmZXJlbnQgRmxpZ2h0RGF0YVBhdGggbWF5IGJlIGFibGUgdG9cbiAgICAvLyBmdWxmaWxsIGl0IChzZWUgbG9vcCBpbiBsaXN0ZW5Gb3JEeW5hbWljUmVxdWVzdCkuIFdlIG9ubHkgYWJvcnQgdGFza3NcbiAgICAvLyBvbmNlIHdlJ3ZlIHJ1biBvdXQgb2YgZGF0YS5cbiAgICB9XG59XG5mdW5jdGlvbiBjcmVhdGVQZW5kaW5nQ2FjaGVOb2RlKHJvdXRlclN0YXRlLCBwcmVmZXRjaERhdGEsIHByZWZldGNoSGVhZCwgaXNQcmVmZXRjaFN0YWxlKSB7XG4gICAgY29uc3Qgcm91dGVyU3RhdGVDaGlsZHJlbiA9IHJvdXRlclN0YXRlWzFdO1xuICAgIGNvbnN0IHByZWZldGNoRGF0YUNoaWxkcmVuID0gcHJlZmV0Y2hEYXRhICE9PSBudWxsID8gcHJlZmV0Y2hEYXRhWzFdIDogbnVsbDtcbiAgICBjb25zdCBwYXJhbGxlbFJvdXRlcyA9IG5ldyBNYXAoKTtcbiAgICBmb3IobGV0IHBhcmFsbGVsUm91dGVLZXkgaW4gcm91dGVyU3RhdGVDaGlsZHJlbil7XG4gICAgICAgIGNvbnN0IHJvdXRlclN0YXRlQ2hpbGQgPSByb3V0ZXJTdGF0ZUNoaWxkcmVuW3BhcmFsbGVsUm91dGVLZXldO1xuICAgICAgICBjb25zdCBwcmVmZXRjaERhdGFDaGlsZCA9IHByZWZldGNoRGF0YUNoaWxkcmVuICE9PSBudWxsID8gcHJlZmV0Y2hEYXRhQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV0gOiBudWxsO1xuICAgICAgICBjb25zdCBzZWdtZW50Q2hpbGQgPSByb3V0ZXJTdGF0ZUNoaWxkWzBdO1xuICAgICAgICBjb25zdCBzZWdtZW50S2V5Q2hpbGQgPSAoMCwgX2NyZWF0ZXJvdXRlcmNhY2hla2V5LmNyZWF0ZVJvdXRlckNhY2hlS2V5KShzZWdtZW50Q2hpbGQpO1xuICAgICAgICBjb25zdCBuZXdDYWNoZU5vZGVDaGlsZCA9IGNyZWF0ZVBlbmRpbmdDYWNoZU5vZGUocm91dGVyU3RhdGVDaGlsZCwgcHJlZmV0Y2hEYXRhQ2hpbGQgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBwcmVmZXRjaERhdGFDaGlsZCwgcHJlZmV0Y2hIZWFkLCBpc1ByZWZldGNoU3RhbGUpO1xuICAgICAgICBjb25zdCBuZXdTZWdtZW50TWFwQ2hpbGQgPSBuZXcgTWFwKCk7XG4gICAgICAgIG5ld1NlZ21lbnRNYXBDaGlsZC5zZXQoc2VnbWVudEtleUNoaWxkLCBuZXdDYWNoZU5vZGVDaGlsZCk7XG4gICAgICAgIHBhcmFsbGVsUm91dGVzLnNldChwYXJhbGxlbFJvdXRlS2V5LCBuZXdTZWdtZW50TWFwQ2hpbGQpO1xuICAgIH1cbiAgICAvLyBUaGUgaGVhZCBpcyBhc3NpZ25lZCB0byBldmVyeSBsZWFmIHNlZ21lbnQgZGVsaXZlcmVkIGJ5IHRoZSBzZXJ2ZXIuIEJhc2VkXG4gICAgLy8gb24gY29ycmVzcG9uZGluZyBsb2dpYyBpbiBmaWxsLWxhenktaXRlbXMtdGlsbC1sZWFmLXdpdGgtaGVhZC50c1xuICAgIGNvbnN0IGlzTGVhZlNlZ21lbnQgPSBwYXJhbGxlbFJvdXRlcy5zaXplID09PSAwO1xuICAgIGNvbnN0IG1heWJlUHJlZmV0Y2hSc2MgPSBwcmVmZXRjaERhdGEgIT09IG51bGwgPyBwcmVmZXRjaERhdGFbMl0gOiBudWxsO1xuICAgIHJldHVybiB7XG4gICAgICAgIGxhenlEYXRhOiBudWxsLFxuICAgICAgICBwYXJhbGxlbFJvdXRlczogcGFyYWxsZWxSb3V0ZXMsXG4gICAgICAgIHByZWZldGNoUnNjOiAvLyBJZiB0aGUgcHJlZmV0Y2hlZCBjYWNoZSBlbnRyeSBpcyBzdGFsZSwgd2UgZG9uJ3Qgc2hvdyBpdC4gV2Ugd2FpdCBmb3IgdGhlXG4gICAgICAgIC8vIGR5bmFtaWMgZGF0YSB0byBzdHJlYW0gaW4uXG4gICAgICAgIC8vIFRPRE86IFRoaXMgY2hlY2sgaXMgYXJ1YWJseSB0b28gZGVlcCBpbiB0aGUgc3RhY2suIE1pZ2h0IGJlIGJldHRlciB0b1xuICAgICAgICAvLyBwYXNzIGFuIGVtcHR5IHByZWZldGNoRGF0YSBDYWNoZSBTZWVkIG9iamVjdCBpbnN0ZWFkLlxuICAgICAgICAhaXNQcmVmZXRjaFN0YWxlICYmIG1heWJlUHJlZmV0Y2hSc2MgIT09IHVuZGVmaW5lZCA/IG1heWJlUHJlZmV0Y2hSc2MgOiBudWxsLFxuICAgICAgICBwcmVmZXRjaEhlYWQ6ICFpc1ByZWZldGNoU3RhbGUgJiYgaXNMZWFmU2VnbWVudCA/IHByZWZldGNoSGVhZCA6IG51bGwsXG4gICAgICAgIC8vIENyZWF0ZSBhIGRlZmVycmVkIHByb21pc2UuIFRoaXMgd2lsbCBiZSBmdWxmaWxsZWQgb25jZSB0aGUgZHluYW1pY1xuICAgICAgICAvLyByZXNwb25zZSBpcyByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAgICAgIHJzYzogY3JlYXRlRGVmZXJyZWRSc2MoKSxcbiAgICAgICAgaGVhZDogaXNMZWFmU2VnbWVudCA/IGNyZWF0ZURlZmVycmVkUnNjKCkgOiBudWxsXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGZpbmlzaFBlbmRpbmdDYWNoZU5vZGUoY2FjaGVOb2RlLCB0YXNrU3RhdGUsIHNlcnZlclN0YXRlLCBkeW5hbWljRGF0YSwgZHluYW1pY0hlYWQpIHtcbiAgICAvLyBXcml0ZXMgYSBkeW5hbWljIHJlc3BvbnNlIGludG8gYW4gZXhpc3RpbmcgQ2FjaGUgTm9kZSB0cmVlLiBUaGlzIGRvZXMgX25vdF9cbiAgICAvLyBjcmVhdGUgYSBuZXcgdHJlZSwgaXQgdXBkYXRlcyB0aGUgZXhpc3RpbmcgdHJlZSBpbi1wbGFjZS4gU28gaXQgbXVzdCBmb2xsb3dcbiAgICAvLyB0aGUgU3VzcGVuc2UgcnVsZXMgb2YgY2FjaGUgc2FmZXR5IOKAlCBpdCBjYW4gcmVzb2x2ZSBwZW5kaW5nIHByb21pc2VzLCBidXRcbiAgICAvLyBpdCBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGRhdGEuIEl0IGNhbiBhZGQgc2VnbWVudHMgdG8gdGhlIHRyZWUgKGJlY2F1c2VcbiAgICAvLyBhIG1pc3Npbmcgc2VnbWVudCB3aWxsIGNhdXNlIHRoZSBsYXlvdXQgcm91dGVyIHRvIHN1c3BlbmQpLlxuICAgIC8vIGJ1dCBpdCBjYW5ub3QgZGVsZXRlIHRoZW0uXG4gICAgLy9cbiAgICAvLyBXZSBtdXN0IHJlc29sdmUgZXZlcnkgcHJvbWlzZSBpbiB0aGUgdHJlZSwgb3IgZWxzZSBpdCB3aWxsIHN1c3BlbmRcbiAgICAvLyBpbmRlZmluaXRlbHkuIElmIHdlIGRpZCBub3QgcmVjZWl2ZSBkYXRhIGZvciBhIHNlZ21lbnQsIHdlIHdpbGwgcmVzb2x2ZSBpdHNcbiAgICAvLyBkYXRhIHByb21pc2UgdG8gYG51bGxgIHRvIHRyaWdnZXIgYSBsYXp5IGZldGNoIGR1cmluZyByZW5kZXIuXG4gICAgY29uc3QgdGFza1N0YXRlQ2hpbGRyZW4gPSB0YXNrU3RhdGVbMV07XG4gICAgY29uc3Qgc2VydmVyU3RhdGVDaGlsZHJlbiA9IHNlcnZlclN0YXRlWzFdO1xuICAgIGNvbnN0IGRhdGFDaGlsZHJlbiA9IGR5bmFtaWNEYXRhWzFdO1xuICAgIC8vIFRoZSByb3V0ZXIgc3RhdGUgdGhhdCB3ZSB0cmF2ZXJzZSB0aGUgdHJlZSB3aXRoICh0YXNrU3RhdGUpIGlzIHRoZSBzYW1lIG9uZVxuICAgIC8vIHRoYXQgd2UgdXNlZCB0byBjb25zdHJ1Y3QgdGhlIHBlbmRpbmcgQ2FjaGUgTm9kZSB0cmVlLiBUaGF0IHdheSB3ZSdyZSBzdXJlXG4gICAgLy8gdG8gcmVzb2x2ZSBhbGwgdGhlIHBlbmRpbmcgcHJvbWlzZXMuXG4gICAgY29uc3QgcGFyYWxsZWxSb3V0ZXMgPSBjYWNoZU5vZGUucGFyYWxsZWxSb3V0ZXM7XG4gICAgZm9yKGxldCBwYXJhbGxlbFJvdXRlS2V5IGluIHRhc2tTdGF0ZUNoaWxkcmVuKXtcbiAgICAgICAgY29uc3QgdGFza1N0YXRlQ2hpbGQgPSB0YXNrU3RhdGVDaGlsZHJlbltwYXJhbGxlbFJvdXRlS2V5XTtcbiAgICAgICAgY29uc3Qgc2VydmVyU3RhdGVDaGlsZCA9IHNlcnZlclN0YXRlQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV07XG4gICAgICAgIGNvbnN0IGRhdGFDaGlsZCA9IGRhdGFDaGlsZHJlbltwYXJhbGxlbFJvdXRlS2V5XTtcbiAgICAgICAgY29uc3Qgc2VnbWVudE1hcENoaWxkID0gcGFyYWxsZWxSb3V0ZXMuZ2V0KHBhcmFsbGVsUm91dGVLZXkpO1xuICAgICAgICBjb25zdCB0YXNrU2VnbWVudENoaWxkID0gdGFza1N0YXRlQ2hpbGRbMF07XG4gICAgICAgIGNvbnN0IHRhc2tTZWdtZW50S2V5Q2hpbGQgPSAoMCwgX2NyZWF0ZXJvdXRlcmNhY2hla2V5LmNyZWF0ZVJvdXRlckNhY2hlS2V5KSh0YXNrU2VnbWVudENoaWxkKTtcbiAgICAgICAgY29uc3QgY2FjaGVOb2RlQ2hpbGQgPSBzZWdtZW50TWFwQ2hpbGQgIT09IHVuZGVmaW5lZCA/IHNlZ21lbnRNYXBDaGlsZC5nZXQodGFza1NlZ21lbnRLZXlDaGlsZCkgOiB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChjYWNoZU5vZGVDaGlsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAoc2VydmVyU3RhdGVDaGlsZCAhPT0gdW5kZWZpbmVkICYmICgwLCBfbWF0Y2hzZWdtZW50cy5tYXRjaFNlZ21lbnQpKHRhc2tTZWdtZW50Q2hpbGQsIHNlcnZlclN0YXRlQ2hpbGRbMF0pKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGFDaGlsZCAhPT0gdW5kZWZpbmVkICYmIGRhdGFDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBoYXBweSBwYXRoLiBSZWN1cnNpdmVseSB1cGRhdGUgYWxsIHRoZSBjaGlsZHJlbi5cbiAgICAgICAgICAgICAgICAgICAgZmluaXNoUGVuZGluZ0NhY2hlTm9kZShjYWNoZU5vZGVDaGlsZCwgdGFza1N0YXRlQ2hpbGQsIHNlcnZlclN0YXRlQ2hpbGQsIGRhdGFDaGlsZCwgZHluYW1pY0hlYWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBzZXJ2ZXIgbmV2ZXIgcmV0dXJuZWQgZGF0YSBmb3IgdGhpcyBzZWdtZW50LiBUcmlnZ2VyIGEgbGF6eVxuICAgICAgICAgICAgICAgICAgICAvLyBmZXRjaCBkdXJpbmcgcmVuZGVyLiBUaGlzIHNob3VsZG4ndCBoYXBwZW4gYmVjYXVzZSB0aGUgUm91dGUgVHJlZVxuICAgICAgICAgICAgICAgICAgICAvLyBhbmQgdGhlIFNlZWQgRGF0YSB0cmVlIHNlbnQgYnkgdGhlIHNlcnZlciBzaG91bGQgYWx3YXlzIGJlIHRoZSBzYW1lXG4gICAgICAgICAgICAgICAgICAgIC8vIHNoYXBlIHdoZW4gcGFydCBvZiB0aGUgc2FtZSBzZXJ2ZXIgcmVzcG9uc2UuXG4gICAgICAgICAgICAgICAgICAgIGFib3J0UGVuZGluZ0NhY2hlTm9kZSh0YXNrU3RhdGVDaGlsZCwgY2FjaGVOb2RlQ2hpbGQsIG51bGwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gVGhlIHNlcnZlciBuZXZlciByZXR1cm5lZCBkYXRhIGZvciB0aGlzIHNlZ21lbnQuIFRyaWdnZXIgYSBsYXp5XG4gICAgICAgICAgICAgICAgLy8gZmV0Y2ggZHVyaW5nIHJlbmRlci5cbiAgICAgICAgICAgICAgICBhYm9ydFBlbmRpbmdDYWNoZU5vZGUodGFza1N0YXRlQ2hpbGQsIGNhY2hlTm9kZUNoaWxkLCBudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVGhlIHNlcnZlciByZXNwb25zZSBtYXRjaGVzIHdoYXQgd2FzIGV4cGVjdGVkIHRvIHJlY2VpdmUsIGJ1dCB0aGVyZSdzXG4gICAgICAgIC8vIG5vIG1hdGNoaW5nIENhY2hlIE5vZGUgaW4gdGhlIHRhc2sgdHJlZS4gVGhpcyBpcyBhIGJ1ZyBpbiB0aGVcbiAgICAgICAgLy8gaW1wbGVtZW50YXRpb24gYmVjYXVzZSB3ZSBzaG91bGQgaGF2ZSBjcmVhdGVkIGEgbm9kZSBmb3IgZXZlcnlcbiAgICAgICAgLy8gc2VnbWVudCBpbiB0aGUgdHJlZSB0aGF0J3MgYXNzb2NpYXRlZCB3aXRoIHRoaXMgdGFzay5cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBVc2UgdGhlIGR5bmFtaWMgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIgdG8gZnVsZmlsbCB0aGUgZGVmZXJyZWQgUlNDIHByb21pc2VcbiAgICAvLyBvbiB0aGUgQ2FjaGUgTm9kZS5cbiAgICBjb25zdCByc2MgPSBjYWNoZU5vZGUucnNjO1xuICAgIGNvbnN0IGR5bmFtaWNTZWdtZW50RGF0YSA9IGR5bmFtaWNEYXRhWzJdO1xuICAgIGlmIChyc2MgPT09IG51bGwpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBhIGxhenkgY2FjaGUgbm9kZS4gV2UgY2FuIG92ZXJ3cml0ZSBpdC4gVGhpcyBpcyBvbmx5IHNhZmVcbiAgICAgICAgLy8gYmVjYXVzZSB3ZSBrbm93IHRoYXQgdGhlIExheW91dFJvdXRlciBzdXNwZW5kcyBpZiBgcnNjYCBpcyBgbnVsbGAuXG4gICAgICAgIGNhY2hlTm9kZS5yc2MgPSBkeW5hbWljU2VnbWVudERhdGE7XG4gICAgfSBlbHNlIGlmIChpc0RlZmVycmVkUnNjKHJzYykpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBhIGRlZmVycmVkIFJTQyBwcm9taXNlLiBXZSBjYW4gZnVsZmlsbCBpdCB3aXRoIHRoZSBkYXRhIHdlIGp1c3RcbiAgICAgICAgLy8gcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyLiBJZiBpdCB3YXMgYWxyZWFkeSByZXNvbHZlZCBieSBhIGRpZmZlcmVudFxuICAgICAgICAvLyBuYXZpZ2F0aW9uLCB0aGVuIHRoaXMgZG9lcyBub3RoaW5nIGJlY2F1c2Ugd2UgY2FuJ3Qgb3ZlcndyaXRlIGRhdGEuXG4gICAgICAgIHJzYy5yZXNvbHZlKGR5bmFtaWNTZWdtZW50RGF0YSk7XG4gICAgfSBlbHNlIHtcbiAgICAvLyBUaGlzIGlzIG5vdCBhIGRlZmVycmVkIFJTQyBwcm9taXNlLCBub3IgaXMgaXQgZW1wdHksIHNvIGl0IG11c3QgaGF2ZVxuICAgIC8vIGJlZW4gcG9wdWxhdGVkIGJ5IGEgZGlmZmVyZW50IG5hdmlnYXRpb24uIFdlIG11c3Qgbm90IG92ZXJ3cml0ZSBpdC5cbiAgICB9XG4gICAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIGxlYWYgc2VnbWVudC4gSWYgc28sIGl0IHdpbGwgaGF2ZSBhIGBoZWFkYCBwcm9wZXJ0eSB3aXRoXG4gICAgLy8gYSBwZW5kaW5nIHByb21pc2UgdGhhdCBuZWVkcyB0byBiZSByZXNvbHZlZCB3aXRoIHRoZSBkeW5hbWljIGhlYWQgZnJvbVxuICAgIC8vIHRoZSBzZXJ2ZXIuXG4gICAgY29uc3QgaGVhZCA9IGNhY2hlTm9kZS5oZWFkO1xuICAgIGlmIChpc0RlZmVycmVkUnNjKGhlYWQpKSB7XG4gICAgICAgIGhlYWQucmVzb2x2ZShkeW5hbWljSGVhZCk7XG4gICAgfVxufVxuZnVuY3Rpb24gYWJvcnRUYXNrKHRhc2ssIGVycm9yKSB7XG4gICAgY29uc3QgY2FjaGVOb2RlID0gdGFzay5ub2RlO1xuICAgIGlmIChjYWNoZU5vZGUgPT09IG51bGwpIHtcbiAgICAgICAgLy8gVGhpcyBpbmRpY2F0ZXMgdGhlIHRhc2sgaXMgYWxyZWFkeSBjb21wbGV0ZS5cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0YXNrQ2hpbGRyZW4gPSB0YXNrLmNoaWxkcmVuO1xuICAgIGlmICh0YXNrQ2hpbGRyZW4gPT09IG51bGwpIHtcbiAgICAgICAgLy8gUmVhY2hlZCB0aGUgbGVhZiB0YXNrIG5vZGUuIFRoaXMgaXMgdGhlIHJvb3Qgb2YgYSBwZW5kaW5nIGNhY2hlXG4gICAgICAgIC8vIG5vZGUgdHJlZS5cbiAgICAgICAgYWJvcnRQZW5kaW5nQ2FjaGVOb2RlKHRhc2sucm91dGUsIGNhY2hlTm9kZSwgZXJyb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYW4gaW50ZXJtZWRpYXRlIHRhc2sgbm9kZS4gS2VlcCB0cmF2ZXJzaW5nIHVudGlsIHdlIHJlYWNoIGFcbiAgICAgICAgLy8gdGFzayBub2RlIHdpdGggbm8gY2hpbGRyZW4uIFRoYXQgd2lsbCBiZSB0aGUgcm9vdCBvZiB0aGUgY2FjaGUgbm9kZSB0cmVlXG4gICAgICAgIC8vIHRoYXQgbmVlZHMgdG8gYmUgcmVzb2x2ZWQuXG4gICAgICAgIGZvciAoY29uc3QgdGFza0NoaWxkIG9mIHRhc2tDaGlsZHJlbi52YWx1ZXMoKSl7XG4gICAgICAgICAgICBhYm9ydFRhc2sodGFza0NoaWxkLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gTnVsbCB0aGlzIG91dCB0byBpbmRpY2F0ZSB0aGF0IHRoZSB0YXNrIGlzIGNvbXBsZXRlLlxuICAgIHRhc2subm9kZSA9IG51bGw7XG59XG5mdW5jdGlvbiBhYm9ydFBlbmRpbmdDYWNoZU5vZGUocm91dGVyU3RhdGUsIGNhY2hlTm9kZSwgZXJyb3IpIHtcbiAgICAvLyBGb3IgZXZlcnkgcGVuZGluZyBzZWdtZW50IGluIHRoZSB0cmVlLCByZXNvbHZlIGl0cyBgcnNjYCBwcm9taXNlIHRvIGBudWxsYFxuICAgIC8vIHRvIHRyaWdnZXIgYSBsYXp5IGZldGNoIGR1cmluZyByZW5kZXIuXG4gICAgLy9cbiAgICAvLyBPciwgaWYgYW4gZXJyb3Igb2JqZWN0IGlzIHByb3ZpZGVkLCBpdCB3aWxsIGVycm9yIGluc3RlYWQuXG4gICAgY29uc3Qgcm91dGVyU3RhdGVDaGlsZHJlbiA9IHJvdXRlclN0YXRlWzFdO1xuICAgIGNvbnN0IHBhcmFsbGVsUm91dGVzID0gY2FjaGVOb2RlLnBhcmFsbGVsUm91dGVzO1xuICAgIGZvcihsZXQgcGFyYWxsZWxSb3V0ZUtleSBpbiByb3V0ZXJTdGF0ZUNoaWxkcmVuKXtcbiAgICAgICAgY29uc3Qgcm91dGVyU3RhdGVDaGlsZCA9IHJvdXRlclN0YXRlQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV07XG4gICAgICAgIGNvbnN0IHNlZ21lbnRNYXBDaGlsZCA9IHBhcmFsbGVsUm91dGVzLmdldChwYXJhbGxlbFJvdXRlS2V5KTtcbiAgICAgICAgaWYgKHNlZ21lbnRNYXBDaGlsZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzZWdtZW50Q2hpbGQgPSByb3V0ZXJTdGF0ZUNoaWxkWzBdO1xuICAgICAgICBjb25zdCBzZWdtZW50S2V5Q2hpbGQgPSAoMCwgX2NyZWF0ZXJvdXRlcmNhY2hla2V5LmNyZWF0ZVJvdXRlckNhY2hlS2V5KShzZWdtZW50Q2hpbGQpO1xuICAgICAgICBjb25zdCBjYWNoZU5vZGVDaGlsZCA9IHNlZ21lbnRNYXBDaGlsZC5nZXQoc2VnbWVudEtleUNoaWxkKTtcbiAgICAgICAgaWYgKGNhY2hlTm9kZUNoaWxkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGFib3J0UGVuZGluZ0NhY2hlTm9kZShyb3V0ZXJTdGF0ZUNoaWxkLCBjYWNoZU5vZGVDaGlsZCwgZXJyb3IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGlzIHNob3VsZG4ndCBoYXBwZW4gYmVjYXVzZSB3ZSdyZSB0cmF2ZXJzaW5nIHRoZSBzYW1lIHRyZWUgdGhhdCB3YXNcbiAgICAgICAgLy8gdXNlZCB0byBjb25zdHJ1Y3QgdGhlIGNhY2hlIG5vZGVzIGluIHRoZSBmaXJzdCBwbGFjZS5cbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByc2MgPSBjYWNoZU5vZGUucnNjO1xuICAgIGlmIChpc0RlZmVycmVkUnNjKHJzYykpIHtcbiAgICAgICAgaWYgKGVycm9yID09PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBUaGlzIHdpbGwgdHJpZ2dlciBhIGxhenkgZmV0Y2ggZHVyaW5nIHJlbmRlci5cbiAgICAgICAgICAgIHJzYy5yZXNvbHZlKG51bGwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gVGhpcyB3aWxsIHRyaWdnZXIgYW4gZXJyb3IgZHVyaW5nIHJlbmRlcmluZy5cbiAgICAgICAgICAgIHJzYy5yZWplY3QoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYSBsZWFmIHNlZ21lbnQuIElmIHNvLCBpdCB3aWxsIGhhdmUgYSBgaGVhZGAgcHJvcGVydHkgd2l0aFxuICAgIC8vIGEgcGVuZGluZyBwcm9taXNlIHRoYXQgbmVlZHMgdG8gYmUgcmVzb2x2ZWQuIElmIGFuIGVycm9yIHdhcyBwcm92aWRlZCwgd2VcbiAgICAvLyB3aWxsIG5vdCByZXNvbHZlIGl0IHdpdGggYW4gZXJyb3IsIHNpbmNlIHRoaXMgaXMgcmVuZGVyZWQgYXQgdGhlIHJvb3Qgb2ZcbiAgICAvLyB0aGUgYXBwLiBXZSB3YW50IHRoZSBzZWdtZW50IHRvIGVycm9yLCBub3QgdGhlIGVudGlyZSBhcHAuXG4gICAgY29uc3QgaGVhZCA9IGNhY2hlTm9kZS5oZWFkO1xuICAgIGlmIChpc0RlZmVycmVkUnNjKGhlYWQpKSB7XG4gICAgICAgIGhlYWQucmVzb2x2ZShudWxsKTtcbiAgICB9XG59XG5mdW5jdGlvbiB1cGRhdGVDYWNoZU5vZGVPblBvcHN0YXRlUmVzdG9yYXRpb24ob2xkQ2FjaGVOb2RlLCByb3V0ZXJTdGF0ZSkge1xuICAgIC8vIEEgcG9wc3RhdGUgbmF2aWdhdGlvbiByZWFkcyBkYXRhIGZyb20gdGhlIGxvY2FsIGNhY2hlLiBJdCBkb2VzIG5vdCBpc3N1ZVxuICAgIC8vIG5ldyBuZXR3b3JrIHJlcXVlc3RzICh1bmxlc3MgdGhlIGNhY2hlIGVudHJpZXMgaGF2ZSBiZWVuIGV2aWN0ZWQpLiBTbywgd2VcbiAgICAvLyB1cGRhdGUgdGhlIGNhY2hlIHRvIGRyb3AgdGhlIHByZWZldGNoICBkYXRhIGZvciBhbnkgc2VnbWVudCB3aG9zZSBkeW5hbWljXG4gICAgLy8gZGF0YSB3YXMgYWxyZWFkeSByZWNlaXZlZC4gVGhpcyBwcmV2ZW50cyBhbiB1bm5lY2Vzc2FyeSBmbGFzaCBiYWNrIHRvIFBQUlxuICAgIC8vIHN0YXRlIGR1cmluZyBhIGJhY2svZm9yd2FyZCBuYXZpZ2F0aW9uLlxuICAgIC8vXG4gICAgLy8gVGhpcyBmdW5jdGlvbiBjbG9uZXMgdGhlIGVudGlyZSBjYWNoZSBub2RlIHRyZWUgYW5kIHNldHMgdGhlIGBwcmVmZXRjaFJzY2BcbiAgICAvLyBmaWVsZCB0byBgbnVsbGAgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIHJlbmRlcmVkLiBXZSBjYW4ndCBtdXRhdGUgdGhlIG5vZGVcbiAgICAvLyBpbiBwbGFjZSBiZWNhdXNlIHRoaXMgaXMgYSBjb25jdXJyZW50IGRhdGEgc3RydWN0dXJlLlxuICAgIGNvbnN0IHJvdXRlclN0YXRlQ2hpbGRyZW4gPSByb3V0ZXJTdGF0ZVsxXTtcbiAgICBjb25zdCBvbGRQYXJhbGxlbFJvdXRlcyA9IG9sZENhY2hlTm9kZS5wYXJhbGxlbFJvdXRlcztcbiAgICBjb25zdCBuZXdQYXJhbGxlbFJvdXRlcyA9IG5ldyBNYXAob2xkUGFyYWxsZWxSb3V0ZXMpO1xuICAgIGZvcihsZXQgcGFyYWxsZWxSb3V0ZUtleSBpbiByb3V0ZXJTdGF0ZUNoaWxkcmVuKXtcbiAgICAgICAgY29uc3Qgcm91dGVyU3RhdGVDaGlsZCA9IHJvdXRlclN0YXRlQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV07XG4gICAgICAgIGNvbnN0IHNlZ21lbnRDaGlsZCA9IHJvdXRlclN0YXRlQ2hpbGRbMF07XG4gICAgICAgIGNvbnN0IHNlZ21lbnRLZXlDaGlsZCA9ICgwLCBfY3JlYXRlcm91dGVyY2FjaGVrZXkuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKHNlZ21lbnRDaGlsZCk7XG4gICAgICAgIGNvbnN0IG9sZFNlZ21lbnRNYXBDaGlsZCA9IG9sZFBhcmFsbGVsUm91dGVzLmdldChwYXJhbGxlbFJvdXRlS2V5KTtcbiAgICAgICAgaWYgKG9sZFNlZ21lbnRNYXBDaGlsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCBvbGRDYWNoZU5vZGVDaGlsZCA9IG9sZFNlZ21lbnRNYXBDaGlsZC5nZXQoc2VnbWVudEtleUNoaWxkKTtcbiAgICAgICAgICAgIGlmIChvbGRDYWNoZU5vZGVDaGlsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3Q2FjaGVOb2RlQ2hpbGQgPSB1cGRhdGVDYWNoZU5vZGVPblBvcHN0YXRlUmVzdG9yYXRpb24ob2xkQ2FjaGVOb2RlQ2hpbGQsIHJvdXRlclN0YXRlQ2hpbGQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1NlZ21lbnRNYXBDaGlsZCA9IG5ldyBNYXAob2xkU2VnbWVudE1hcENoaWxkKTtcbiAgICAgICAgICAgICAgICBuZXdTZWdtZW50TWFwQ2hpbGQuc2V0KHNlZ21lbnRLZXlDaGlsZCwgbmV3Q2FjaGVOb2RlQ2hpbGQpO1xuICAgICAgICAgICAgICAgIG5ld1BhcmFsbGVsUm91dGVzLnNldChwYXJhbGxlbFJvdXRlS2V5LCBuZXdTZWdtZW50TWFwQ2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIE9ubHkgc2hvdyBwcmVmZXRjaGVkIGRhdGEgaWYgdGhlIGR5bmFtaWMgZGF0YSBpcyBzdGlsbCBwZW5kaW5nLlxuICAgIC8vXG4gICAgLy8gVGVobmljYWxseSwgd2hhdCB3ZSdyZSBhY3R1YWxseSBjaGVja2luZyBpcyB3aGV0aGVyIHRoZSBkeW5hbWljIG5ldHdvcmtcbiAgICAvLyByZXNwb25zZSB3YXMgcmVjZWl2ZWQuIEJ1dCBzaW5jZSBpdCdzIGEgc3RyZWFtaW5nIHJlc3BvbnNlLCB0aGlzIGRvZXMgbm90XG4gICAgLy8gbWVhbiB0aGF0IGFsbCB0aGUgZHluYW1pYyBkYXRhIGhhcyBmdWxseSBzdHJlYW1lZCBpbi4gSXQganVzdCBtZWFucyB0aGF0XG4gICAgLy8gX3NvbWVfIG9mIHRoZSBkeW5hbWljIGRhdGEgd2FzIHJlY2VpdmVkLiBCdXQgYXMgYSBoZXVyaXN0aWMsIHdlIGFzc3VtZSB0aGF0XG4gICAgLy8gdGhlIHJlc3QgZHluYW1pYyBkYXRhIHdpbGwgc3RyZWFtIGluIHF1aWNrbHksIHNvIGl0J3Mgc3RpbGwgYmV0dGVyIHRvIHNraXBcbiAgICAvLyB0aGUgcHJlZmV0Y2ggc3RhdGUuXG4gICAgY29uc3QgcnNjID0gb2xkQ2FjaGVOb2RlLnJzYztcbiAgICBjb25zdCBzaG91bGRVc2VQcmVmZXRjaCA9IGlzRGVmZXJyZWRSc2MocnNjKSAmJiByc2Muc3RhdHVzID09PSBcInBlbmRpbmdcIjtcbiAgICByZXR1cm4ge1xuICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgcnNjLFxuICAgICAgICBoZWFkOiBvbGRDYWNoZU5vZGUuaGVhZCxcbiAgICAgICAgcHJlZmV0Y2hIZWFkOiBzaG91bGRVc2VQcmVmZXRjaCA/IG9sZENhY2hlTm9kZS5wcmVmZXRjaEhlYWQgOiBudWxsLFxuICAgICAgICBwcmVmZXRjaFJzYzogc2hvdWxkVXNlUHJlZmV0Y2ggPyBvbGRDYWNoZU5vZGUucHJlZmV0Y2hSc2MgOiBudWxsLFxuICAgICAgICAvLyBUaGVzZSBhcmUgdGhlIGNsb25lZCBjaGlsZHJlbiB3ZSBjb21wdXRlZCBhYm92ZVxuICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3UGFyYWxsZWxSb3V0ZXNcbiAgICB9O1xufVxuY29uc3QgREVGRVJSRUQgPSBTeW1ib2woKTtcbi8vIFRoaXMgdHlwZSBleGlzdHMgdG8gZGlzdGluZ3Vpc2ggYSBEZWZlcnJlZFJzYyBmcm9tIGEgRmxpZ2h0IHByb21pc2UuIEl0J3MgYVxuLy8gY29tcHJvbWlzZSB0byBhdm9pZCBhZGRpbmcgYW4gZXh0cmEgZmllbGQgb24gZXZlcnkgQ2FjaGUgTm9kZSwgd2hpY2ggd291bGQgYmVcbi8vIGF3a3dhcmQgYmVjYXVzZSB0aGUgcHJlLVBQUiBwYXJ0cyBvZiBjb2RlYmFzZSB3b3VsZCBuZWVkIHRvIGFjY291bnQgZm9yIGl0LFxuLy8gdG9vLiBXZSBjYW4gcmVtb3ZlIGl0IG9uY2UgdHlwZSBDYWNoZSBOb2RlIHR5cGUgaXMgbW9yZSBzZXR0bGVkLlxuZnVuY3Rpb24gaXNEZWZlcnJlZFJzYyh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZSAmJiB2YWx1ZS50YWcgPT09IERFRkVSUkVEO1xufVxuZnVuY3Rpb24gY3JlYXRlRGVmZXJyZWRSc2MoKSB7XG4gICAgbGV0IHJlc29sdmU7XG4gICAgbGV0IHJlamVjdDtcbiAgICBjb25zdCBwZW5kaW5nUnNjID0gbmV3IFByb21pc2UoKHJlcywgcmVqKT0+e1xuICAgICAgICByZXNvbHZlID0gcmVzO1xuICAgICAgICByZWplY3QgPSByZWo7XG4gICAgfSk7XG4gICAgcGVuZGluZ1JzYy5zdGF0dXMgPSBcInBlbmRpbmdcIjtcbiAgICBwZW5kaW5nUnNjLnJlc29sdmUgPSAodmFsdWUpPT57XG4gICAgICAgIGlmIChwZW5kaW5nUnNjLnN0YXR1cyA9PT0gXCJwZW5kaW5nXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IGZ1bGZpbGxlZFJzYyA9IHBlbmRpbmdSc2M7XG4gICAgICAgICAgICBmdWxmaWxsZWRSc2Muc3RhdHVzID0gXCJmdWxmaWxsZWRcIjtcbiAgICAgICAgICAgIGZ1bGZpbGxlZFJzYy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgcmVzb2x2ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHBlbmRpbmdSc2MucmVqZWN0ID0gKGVycm9yKT0+e1xuICAgICAgICBpZiAocGVuZGluZ1JzYy5zdGF0dXMgPT09IFwicGVuZGluZ1wiKSB7XG4gICAgICAgICAgICBjb25zdCByZWplY3RlZFJzYyA9IHBlbmRpbmdSc2M7XG4gICAgICAgICAgICByZWplY3RlZFJzYy5zdGF0dXMgPSBcInJlamVjdGVkXCI7XG4gICAgICAgICAgICByZWplY3RlZFJzYy5yZWFzb24gPSBlcnJvcjtcbiAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHBlbmRpbmdSc2MudGFnID0gREVGRVJSRUQ7XG4gICAgcmV0dXJuIHBlbmRpbmdSc2M7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBwci1uYXZpZ2F0aW9ucy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJ1cGRhdGVDYWNoZU5vZGVPbk5hdmlnYXRpb24iLCJsaXN0ZW5Gb3JEeW5hbWljUmVxdWVzdCIsImFib3J0VGFzayIsInVwZGF0ZUNhY2hlTm9kZU9uUG9wc3RhdGVSZXN0b3JhdGlvbiIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9zZWdtZW50IiwicmVxdWlyZSIsIl9tYXRjaHNlZ21lbnRzIiwiX2NyZWF0ZXJvdXRlcmNhY2hla2V5Iiwib2xkQ2FjaGVOb2RlIiwib2xkUm91dGVyU3RhdGUiLCJuZXdSb3V0ZXJTdGF0ZSIsInByZWZldGNoRGF0YSIsInByZWZldGNoSGVhZCIsImlzUHJlZmV0Y2hTdGFsZSIsIm9sZFJvdXRlclN0YXRlQ2hpbGRyZW4iLCJuZXdSb3V0ZXJTdGF0ZUNoaWxkcmVuIiwicHJlZmV0Y2hEYXRhQ2hpbGRyZW4iLCJvbGRQYXJhbGxlbFJvdXRlcyIsInBhcmFsbGVsUm91dGVzIiwicHJlZmV0Y2hQYXJhbGxlbFJvdXRlcyIsIk1hcCIsInBhdGNoZWRSb3V0ZXJTdGF0ZUNoaWxkcmVuIiwidGFza0NoaWxkcmVuIiwicGFyYWxsZWxSb3V0ZUtleSIsIm5ld1JvdXRlclN0YXRlQ2hpbGQiLCJvbGRSb3V0ZXJTdGF0ZUNoaWxkIiwib2xkU2VnbWVudE1hcENoaWxkIiwicHJlZmV0Y2hEYXRhQ2hpbGQiLCJuZXdTZWdtZW50Q2hpbGQiLCJuZXdTZWdtZW50S2V5Q2hpbGQiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsIm9sZFNlZ21lbnRDaGlsZCIsInVuZGVmaW5lZCIsIm9sZENhY2hlTm9kZUNoaWxkIiwidGFza0NoaWxkIiwiUEFHRV9TRUdNRU5UX0tFWSIsInNwYXduUGVuZGluZ1Rhc2siLCJERUZBVUxUX1NFR01FTlRfS0VZIiwic3Bhd25SZXVzZWRUYXNrIiwibWF0Y2hTZWdtZW50Iiwic3Bhd25UYXNrRm9yTWlzc2luZ0RhdGEiLCJzZXQiLCJuZXdDYWNoZU5vZGVDaGlsZCIsIm5vZGUiLCJuZXdTZWdtZW50TWFwQ2hpbGQiLCJyb3V0ZSIsIm5ld0NhY2hlTm9kZSIsImxhenlEYXRhIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJoZWFkIiwicGF0Y2hSb3V0ZXJTdGF0ZVdpdGhOZXdDaGlsZHJlbiIsImNoaWxkcmVuIiwiYmFzZVJvdXRlclN0YXRlIiwibmV3Q2hpbGRyZW4iLCJjbG9uZSIsInJvdXRlclN0YXRlIiwicGVuZGluZ0NhY2hlTm9kZSIsImNyZWF0ZVBlbmRpbmdDYWNoZU5vZGUiLCJyZXVzZWRSb3V0ZXJTdGF0ZSIsInRhc2siLCJyZXNwb25zZVByb21pc2UiLCJ0aGVuIiwicmVzcG9uc2UiLCJmbGlnaHREYXRhIiwiZmxpZ2h0RGF0YVBhdGgiLCJzZWdtZW50UGF0aCIsInNsaWNlIiwic2VydmVyUm91dGVyU3RhdGUiLCJsZW5ndGgiLCJkeW5hbWljRGF0YSIsImR5bmFtaWNIZWFkIiwid3JpdGVEeW5hbWljRGF0YUludG9QZW5kaW5nVGFzayIsImVycm9yIiwicm9vdFRhc2siLCJpIiwic2VnbWVudCIsInRhc2tTZWdtZW50IiwiZmluaXNoVGFza1VzaW5nRHluYW1pY0RhdGFQYXlsb2FkIiwidGFza05vZGUiLCJmaW5pc2hQZW5kaW5nQ2FjaGVOb2RlIiwic2VydmVyQ2hpbGRyZW4iLCJkeW5hbWljRGF0YUNoaWxkcmVuIiwic2VydmVyUm91dGVyU3RhdGVDaGlsZCIsImR5bmFtaWNEYXRhQ2hpbGQiLCJyb3V0ZXJTdGF0ZUNoaWxkcmVuIiwicm91dGVyU3RhdGVDaGlsZCIsInNlZ21lbnRDaGlsZCIsInNlZ21lbnRLZXlDaGlsZCIsImlzTGVhZlNlZ21lbnQiLCJzaXplIiwibWF5YmVQcmVmZXRjaFJzYyIsImNyZWF0ZURlZmVycmVkUnNjIiwiY2FjaGVOb2RlIiwidGFza1N0YXRlIiwic2VydmVyU3RhdGUiLCJ0YXNrU3RhdGVDaGlsZHJlbiIsInNlcnZlclN0YXRlQ2hpbGRyZW4iLCJkYXRhQ2hpbGRyZW4iLCJ0YXNrU3RhdGVDaGlsZCIsInNlcnZlclN0YXRlQ2hpbGQiLCJkYXRhQ2hpbGQiLCJzZWdtZW50TWFwQ2hpbGQiLCJ0YXNrU2VnbWVudENoaWxkIiwidGFza1NlZ21lbnRLZXlDaGlsZCIsImNhY2hlTm9kZUNoaWxkIiwiYWJvcnRQZW5kaW5nQ2FjaGVOb2RlIiwiZHluYW1pY1NlZ21lbnREYXRhIiwiaXNEZWZlcnJlZFJzYyIsInJlc29sdmUiLCJ2YWx1ZXMiLCJyZWplY3QiLCJuZXdQYXJhbGxlbFJvdXRlcyIsInNob3VsZFVzZVByZWZldGNoIiwic3RhdHVzIiwiREVGRVJSRUQiLCJTeW1ib2wiLCJ0YWciLCJwZW5kaW5nUnNjIiwiUHJvbWlzZSIsInJlcyIsInJlaiIsImZ1bGZpbGxlZFJzYyIsInJlamVjdGVkUnNjIiwicmVhc29uIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/create-prefetch-cache-key.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/create-prefetch-cache-key.js ***! \*******************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createPrefetchCacheKey\", ({\n enumerable: true,\n get: function() {\n return createPrefetchCacheKey;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ../../../../shared/lib/router/utils/add-path-prefix */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ../../../../shared/lib/router/utils/path-has-prefix */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nfunction createPrefetchCacheKey(url, nextUrl) {\n const pathnameFromUrl = (0, _createhreffromurl.createHrefFromUrl)(url, false);\n // delimit the prefix so we don't conflict with other pages\n const nextUrlPrefix = \"\" + nextUrl + \"%\";\n // Route interception depends on `nextUrl` values which aren't a 1:1 mapping to a URL\n // The cache key that we store needs to use `nextUrl` to properly distinguish cache entries\n if (nextUrl && !(0, _pathhasprefix.pathHasPrefix)(pathnameFromUrl, nextUrl)) {\n return (0, _addpathprefix.addPathPrefix)(pathnameFromUrl, nextUrlPrefix);\n }\n return pathnameFromUrl;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=create-prefetch-cache-key.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2NyZWF0ZS1wcmVmZXRjaC1jYWNoZS1rZXkuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDBEQUF5RDtJQUNyREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGlCQUFpQkMsbUJBQU9BLENBQUMsc0lBQXFEO0FBQ3BGLE1BQU1DLGlCQUFpQkQsbUJBQU9BLENBQUMsc0lBQXFEO0FBQ3BGLE1BQU1FLHFCQUFxQkYsbUJBQU9BLENBQUMsd0hBQXlCO0FBQzVELFNBQVNGLHVCQUF1QkssR0FBRyxFQUFFQyxPQUFPO0lBQ3hDLE1BQU1DLGtCQUFrQixDQUFDLEdBQUdILG1CQUFtQkksaUJBQWlCLEVBQUVILEtBQ2xFO0lBQ0EsMkRBQTJEO0lBQzNELE1BQU1JLGdCQUFnQixLQUFLSCxVQUFVO0lBQ3JDLHFGQUFxRjtJQUNyRiwyRkFBMkY7SUFDM0YsSUFBSUEsV0FBVyxDQUFDLENBQUMsR0FBR0gsZUFBZU8sYUFBYSxFQUFFSCxpQkFBaUJELFVBQVU7UUFDekUsT0FBTyxDQUFDLEdBQUdMLGVBQWVVLGFBQWEsRUFBRUosaUJBQWlCRTtJQUM5RDtJQUNBLE9BQU9GO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBT1gsUUFBUWdCLE9BQU8sS0FBSyxjQUFlLE9BQU9oQixRQUFRZ0IsT0FBTyxLQUFLLFlBQVloQixRQUFRZ0IsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPaEIsUUFBUWdCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktuQixPQUFPQyxjQUFjLENBQUNDLFFBQVFnQixPQUFPLEVBQUUsY0FBYztRQUFFZixPQUFPO0lBQUs7SUFDbkVILE9BQU9vQixNQUFNLENBQUNsQixRQUFRZ0IsT0FBTyxFQUFFaEI7SUFDL0JtQixPQUFPbkIsT0FBTyxHQUFHQSxRQUFRZ0IsT0FBTztBQUNsQyxFQUVBLHFEQUFxRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvY3JlYXRlLXByZWZldGNoLWNhY2hlLWtleS5qcz9mNDkzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiY3JlYXRlUHJlZmV0Y2hDYWNoZUtleVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlUHJlZmV0Y2hDYWNoZUtleTtcbiAgICB9XG59KTtcbmNvbnN0IF9hZGRwYXRocHJlZml4ID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeFwiKTtcbmNvbnN0IF9wYXRoaGFzcHJlZml4ID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeFwiKTtcbmNvbnN0IF9jcmVhdGVocmVmZnJvbXVybCA9IHJlcXVpcmUoXCIuLi9jcmVhdGUtaHJlZi1mcm9tLXVybFwiKTtcbmZ1bmN0aW9uIGNyZWF0ZVByZWZldGNoQ2FjaGVLZXkodXJsLCBuZXh0VXJsKSB7XG4gICAgY29uc3QgcGF0aG5hbWVGcm9tVXJsID0gKDAsIF9jcmVhdGVocmVmZnJvbXVybC5jcmVhdGVIcmVmRnJvbVVybCkodXJsLCAvLyBFbnN1cmVzIHRoZSBoYXNoIGlzIG5vdCBwYXJ0IG9mIHRoZSBjYWNoZSBrZXkgYXMgaXQgZG9lcyBub3QgaW1wYWN0IHRoZSBzZXJ2ZXIgZmV0Y2hcbiAgICBmYWxzZSk7XG4gICAgLy8gZGVsaW1pdCB0aGUgcHJlZml4IHNvIHdlIGRvbid0IGNvbmZsaWN0IHdpdGggb3RoZXIgcGFnZXNcbiAgICBjb25zdCBuZXh0VXJsUHJlZml4ID0gXCJcIiArIG5leHRVcmwgKyBcIiVcIjtcbiAgICAvLyBSb3V0ZSBpbnRlcmNlcHRpb24gZGVwZW5kcyBvbiBgbmV4dFVybGAgdmFsdWVzIHdoaWNoIGFyZW4ndCBhIDE6MSBtYXBwaW5nIHRvIGEgVVJMXG4gICAgLy8gVGhlIGNhY2hlIGtleSB0aGF0IHdlIHN0b3JlIG5lZWRzIHRvIHVzZSBgbmV4dFVybGAgdG8gcHJvcGVybHkgZGlzdGluZ3Vpc2ggY2FjaGUgZW50cmllc1xuICAgIGlmIChuZXh0VXJsICYmICEoMCwgX3BhdGhoYXNwcmVmaXgucGF0aEhhc1ByZWZpeCkocGF0aG5hbWVGcm9tVXJsLCBuZXh0VXJsKSkge1xuICAgICAgICByZXR1cm4gKDAsIF9hZGRwYXRocHJlZml4LmFkZFBhdGhQcmVmaXgpKHBhdGhuYW1lRnJvbVVybCwgbmV4dFVybFByZWZpeCk7XG4gICAgfVxuICAgIHJldHVybiBwYXRobmFtZUZyb21Vcmw7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyZWF0ZS1wcmVmZXRjaC1jYWNoZS1rZXkuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImNyZWF0ZVByZWZldGNoQ2FjaGVLZXkiLCJfYWRkcGF0aHByZWZpeCIsInJlcXVpcmUiLCJfcGF0aGhhc3ByZWZpeCIsIl9jcmVhdGVocmVmZnJvbXVybCIsInVybCIsIm5leHRVcmwiLCJwYXRobmFtZUZyb21VcmwiLCJjcmVhdGVIcmVmRnJvbVVybCIsIm5leHRVcmxQcmVmaXgiLCJwYXRoSGFzUHJlZml4IiwiYWRkUGF0aFByZWZpeCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/create-prefetch-cache-key.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js": /*!**************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js ***! \**************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fastRefreshReducer\", ({\n enumerable: true,\n get: function() {\n return fastRefreshReducer;\n }\n}));\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _applyflightdata = __webpack_require__(/*! ../apply-flight-data */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\n// A version of refresh reducer that keeps the cache around instead of wiping all of it.\nfunction fastRefreshReducerImpl(state, action) {\n const { origin } = action;\n const mutable = {};\n const href = state.canonicalUrl;\n mutable.preserveCustomHistoryState = false;\n const cache = (0, _approuter.createEmptyCacheNode)();\n // TODO-APP: verify that `href` is not an external url.\n // Fetch data from the root of the tree.\n cache.lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(href, origin), [\n state.tree[0],\n state.tree[1],\n state.tree[2],\n \"refetch\"\n ], state.nextUrl, state.buildId);\n return cache.lazyData.then((param)=>{\n let [flightData, canonicalUrlOverride] = param;\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n // Remove cache.lazyData as it has been resolved at this point.\n cache.lazyData = null;\n let currentTree = state.tree;\n let currentCache = state.cache;\n for (const flightDataPath of flightData){\n // FlightDataPath with more than two items means unexpected Flight data was returned\n if (flightDataPath.length !== 3) {\n // TODO-APP: handle this case better\n console.log(\"REFRESH FAILED\");\n return state;\n }\n // Given the path can only have two items the items are only the router state and rsc for the root.\n const [treePatch] = flightDataPath;\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)([\n \"\"\n ], currentTree, treePatch);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush);\n }\n const canonicalUrlOverrideHref = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : undefined;\n if (canonicalUrlOverride) {\n mutable.canonicalUrl = canonicalUrlOverrideHref;\n }\n const applied = (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath);\n if (applied) {\n mutable.cache = cache;\n currentCache = cache;\n }\n mutable.patchedTree = newTree;\n mutable.canonicalUrl = href;\n currentTree = newTree;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\nfunction fastRefreshReducerNoop(state, _action) {\n return state;\n}\nconst fastRefreshReducer = false ? 0 : fastRefreshReducerImpl;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fast-refresh-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2Zhc3QtcmVmcmVzaC1yZWR1Y2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyx1QkFBdUJDLG1CQUFPQSxDQUFDLDBIQUEwQjtBQUMvRCxNQUFNQyxxQkFBcUJELG1CQUFPQSxDQUFDLHdIQUF5QjtBQUM1RCxNQUFNRSwrQkFBK0JGLG1CQUFPQSxDQUFDLGdKQUFxQztBQUNsRixNQUFNRywrQkFBK0JILG1CQUFPQSxDQUFDLGdKQUFxQztBQUNsRixNQUFNSSxtQkFBbUJKLG1CQUFPQSxDQUFDLHdIQUFvQjtBQUNyRCxNQUFNSyxpQkFBaUJMLG1CQUFPQSxDQUFDLDRHQUFtQjtBQUNsRCxNQUFNTSxtQkFBbUJOLG1CQUFPQSxDQUFDLGtIQUFzQjtBQUN2RCxNQUFNTyxhQUFhUCxtQkFBT0EsQ0FBQyx3RkFBa0I7QUFDN0MsTUFBTVEseUJBQXlCUixtQkFBT0EsQ0FBQyw4SEFBNEI7QUFDbkUsd0ZBQXdGO0FBQ3hGLFNBQVNTLHVCQUF1QkMsS0FBSyxFQUFFQyxNQUFNO0lBQ3pDLE1BQU0sRUFBRUMsTUFBTSxFQUFFLEdBQUdEO0lBQ25CLE1BQU1FLFVBQVUsQ0FBQztJQUNqQixNQUFNQyxPQUFPSixNQUFNSyxZQUFZO0lBQy9CRixRQUFRRywwQkFBMEIsR0FBRztJQUNyQyxNQUFNQyxRQUFRLENBQUMsR0FBR1YsV0FBV1csb0JBQW9CO0lBQ2pELHVEQUF1RDtJQUN2RCx3Q0FBd0M7SUFDeENELE1BQU1FLFFBQVEsR0FBRyxDQUFDLEdBQUdwQixxQkFBcUJxQixtQkFBbUIsRUFBRSxJQUFJQyxJQUFJUCxNQUFNRixTQUFTO1FBQ2xGRixNQUFNWSxJQUFJLENBQUMsRUFBRTtRQUNiWixNQUFNWSxJQUFJLENBQUMsRUFBRTtRQUNiWixNQUFNWSxJQUFJLENBQUMsRUFBRTtRQUNiO0tBQ0gsRUFBRVosTUFBTWEsT0FBTyxFQUFFYixNQUFNYyxPQUFPO0lBQy9CLE9BQU9QLE1BQU1FLFFBQVEsQ0FBQ00sSUFBSSxDQUFDLENBQUNDO1FBQ3hCLElBQUksQ0FBQ0MsWUFBWUMscUJBQXFCLEdBQUdGO1FBQ3pDLDREQUE0RDtRQUM1RCxJQUFJLE9BQU9DLGVBQWUsVUFBVTtZQUNoQyxPQUFPLENBQUMsR0FBR3ZCLGlCQUFpQnlCLGlCQUFpQixFQUFFbkIsT0FBT0csU0FBU2MsWUFBWWpCLE1BQU1vQixPQUFPLENBQUNDLFdBQVc7UUFDeEc7UUFDQSwrREFBK0Q7UUFDL0RkLE1BQU1FLFFBQVEsR0FBRztRQUNqQixJQUFJYSxjQUFjdEIsTUFBTVksSUFBSTtRQUM1QixJQUFJVyxlQUFldkIsTUFBTU8sS0FBSztRQUM5QixLQUFLLE1BQU1pQixrQkFBa0JQLFdBQVc7WUFDcEMsb0ZBQW9GO1lBQ3BGLElBQUlPLGVBQWVDLE1BQU0sS0FBSyxHQUFHO2dCQUM3QixvQ0FBb0M7Z0JBQ3BDQyxRQUFRQyxHQUFHLENBQUM7Z0JBQ1osT0FBTzNCO1lBQ1g7WUFDQSxtR0FBbUc7WUFDbkcsTUFBTSxDQUFDNEIsVUFBVSxHQUFHSjtZQUNwQixNQUFNSyxVQUFVLENBQUMsR0FBR3JDLDZCQUE2QnNDLHNDQUFzQyxFQUN2RjtnQkFDSTthQUNILEVBQUVSLGFBQWFNO1lBQ2hCLElBQUlDLFlBQVksTUFBTTtnQkFDbEIsT0FBTyxDQUFDLEdBQUcvQix1QkFBdUJpQyxxQkFBcUIsRUFBRS9CLE9BQU9DLFFBQVEyQjtZQUM1RTtZQUNBLElBQUksQ0FBQyxHQUFHbkMsNkJBQTZCdUMsMkJBQTJCLEVBQUVWLGFBQWFPLFVBQVU7Z0JBQ3JGLE9BQU8sQ0FBQyxHQUFHbkMsaUJBQWlCeUIsaUJBQWlCLEVBQUVuQixPQUFPRyxTQUFTQyxNQUFNSixNQUFNb0IsT0FBTyxDQUFDQyxXQUFXO1lBQ2xHO1lBQ0EsTUFBTVksMkJBQTJCZix1QkFBdUIsQ0FBQyxHQUFHM0IsbUJBQW1CMkMsaUJBQWlCLEVBQUVoQix3QkFBd0JpQjtZQUMxSCxJQUFJakIsc0JBQXNCO2dCQUN0QmYsUUFBUUUsWUFBWSxHQUFHNEI7WUFDM0I7WUFDQSxNQUFNRyxVQUFVLENBQUMsR0FBR3hDLGlCQUFpQnlDLGVBQWUsRUFBRWQsY0FBY2hCLE9BQU9pQjtZQUMzRSxJQUFJWSxTQUFTO2dCQUNUakMsUUFBUUksS0FBSyxHQUFHQTtnQkFDaEJnQixlQUFlaEI7WUFDbkI7WUFDQUosUUFBUW1DLFdBQVcsR0FBR1Q7WUFDdEIxQixRQUFRRSxZQUFZLEdBQUdEO1lBQ3ZCa0IsY0FBY087UUFDbEI7UUFDQSxPQUFPLENBQUMsR0FBR2xDLGVBQWU0QyxhQUFhLEVBQUV2QyxPQUFPRztJQUNwRCxHQUFHLElBQUlIO0FBQ1g7QUFDQSxTQUFTd0MsdUJBQXVCeEMsS0FBSyxFQUFFeUMsT0FBTztJQUMxQyxPQUFPekM7QUFDWDtBQUNBLE1BQU1aLHFCQUFxQnNELE1BQXFDLEdBQUdGLENBQXNCQSxHQUFHekM7QUFFNUYsSUFBSSxDQUFDLE9BQU9mLFFBQVEyRCxPQUFPLEtBQUssY0FBZSxPQUFPM0QsUUFBUTJELE9BQU8sS0FBSyxZQUFZM0QsUUFBUTJELE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzNELFFBQVEyRCxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLOUQsT0FBT0MsY0FBYyxDQUFDQyxRQUFRMkQsT0FBTyxFQUFFLGNBQWM7UUFBRTFELE9BQU87SUFBSztJQUNuRUgsT0FBTytELE1BQU0sQ0FBQzdELFFBQVEyRCxPQUFPLEVBQUUzRDtJQUMvQjhELE9BQU85RCxPQUFPLEdBQUdBLFFBQVEyRCxPQUFPO0FBQ2xDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9mYXN0LXJlZnJlc2gtcmVkdWNlci5qcz8xM2EwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZmFzdFJlZnJlc2hSZWR1Y2VyXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBmYXN0UmVmcmVzaFJlZHVjZXI7XG4gICAgfVxufSk7XG5jb25zdCBfZmV0Y2hzZXJ2ZXJyZXNwb25zZSA9IHJlcXVpcmUoXCIuLi9mZXRjaC1zZXJ2ZXItcmVzcG9uc2VcIik7XG5jb25zdCBfY3JlYXRlaHJlZmZyb211cmwgPSByZXF1aXJlKFwiLi4vY3JlYXRlLWhyZWYtZnJvbS11cmxcIik7XG5jb25zdCBfYXBwbHlyb3V0ZXJzdGF0ZXBhdGNodG90cmVlID0gcmVxdWlyZShcIi4uL2FwcGx5LXJvdXRlci1zdGF0ZS1wYXRjaC10by10cmVlXCIpO1xuY29uc3QgX2lzbmF2aWdhdGluZ3RvbmV3cm9vdGxheW91dCA9IHJlcXVpcmUoXCIuLi9pcy1uYXZpZ2F0aW5nLXRvLW5ldy1yb290LWxheW91dFwiKTtcbmNvbnN0IF9uYXZpZ2F0ZXJlZHVjZXIgPSByZXF1aXJlKFwiLi9uYXZpZ2F0ZS1yZWR1Y2VyXCIpO1xuY29uc3QgX2hhbmRsZW11dGFibGUgPSByZXF1aXJlKFwiLi4vaGFuZGxlLW11dGFibGVcIik7XG5jb25zdCBfYXBwbHlmbGlnaHRkYXRhID0gcmVxdWlyZShcIi4uL2FwcGx5LWZsaWdodC1kYXRhXCIpO1xuY29uc3QgX2FwcHJvdXRlciA9IHJlcXVpcmUoXCIuLi8uLi9hcHAtcm91dGVyXCIpO1xuY29uc3QgX2hhbmRsZXNlZ21lbnRtaXNtYXRjaCA9IHJlcXVpcmUoXCIuLi9oYW5kbGUtc2VnbWVudC1taXNtYXRjaFwiKTtcbi8vIEEgdmVyc2lvbiBvZiByZWZyZXNoIHJlZHVjZXIgdGhhdCBrZWVwcyB0aGUgY2FjaGUgYXJvdW5kIGluc3RlYWQgb2Ygd2lwaW5nIGFsbCBvZiBpdC5cbmZ1bmN0aW9uIGZhc3RSZWZyZXNoUmVkdWNlckltcGwoc3RhdGUsIGFjdGlvbikge1xuICAgIGNvbnN0IHsgb3JpZ2luIH0gPSBhY3Rpb247XG4gICAgY29uc3QgbXV0YWJsZSA9IHt9O1xuICAgIGNvbnN0IGhyZWYgPSBzdGF0ZS5jYW5vbmljYWxVcmw7XG4gICAgbXV0YWJsZS5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSA9IGZhbHNlO1xuICAgIGNvbnN0IGNhY2hlID0gKDAsIF9hcHByb3V0ZXIuY3JlYXRlRW1wdHlDYWNoZU5vZGUpKCk7XG4gICAgLy8gVE9ETy1BUFA6IHZlcmlmeSB0aGF0IGBocmVmYCBpcyBub3QgYW4gZXh0ZXJuYWwgdXJsLlxuICAgIC8vIEZldGNoIGRhdGEgZnJvbSB0aGUgcm9vdCBvZiB0aGUgdHJlZS5cbiAgICBjYWNoZS5sYXp5RGF0YSA9ICgwLCBfZmV0Y2hzZXJ2ZXJyZXNwb25zZS5mZXRjaFNlcnZlclJlc3BvbnNlKShuZXcgVVJMKGhyZWYsIG9yaWdpbiksIFtcbiAgICAgICAgc3RhdGUudHJlZVswXSxcbiAgICAgICAgc3RhdGUudHJlZVsxXSxcbiAgICAgICAgc3RhdGUudHJlZVsyXSxcbiAgICAgICAgXCJyZWZldGNoXCJcbiAgICBdLCBzdGF0ZS5uZXh0VXJsLCBzdGF0ZS5idWlsZElkKTtcbiAgICByZXR1cm4gY2FjaGUubGF6eURhdGEudGhlbigocGFyYW0pPT57XG4gICAgICAgIGxldCBbZmxpZ2h0RGF0YSwgY2Fub25pY2FsVXJsT3ZlcnJpZGVdID0gcGFyYW07XG4gICAgICAgIC8vIEhhbmRsZSBjYXNlIHdoZW4gbmF2aWdhdGluZyB0byBwYWdlIGluIGBwYWdlc2AgZnJvbSBgYXBwYFxuICAgICAgICBpZiAodHlwZW9mIGZsaWdodERhdGEgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHJldHVybiAoMCwgX25hdmlnYXRlcmVkdWNlci5oYW5kbGVFeHRlcm5hbFVybCkoc3RhdGUsIG11dGFibGUsIGZsaWdodERhdGEsIHN0YXRlLnB1c2hSZWYucGVuZGluZ1B1c2gpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFJlbW92ZSBjYWNoZS5sYXp5RGF0YSBhcyBpdCBoYXMgYmVlbiByZXNvbHZlZCBhdCB0aGlzIHBvaW50LlxuICAgICAgICBjYWNoZS5sYXp5RGF0YSA9IG51bGw7XG4gICAgICAgIGxldCBjdXJyZW50VHJlZSA9IHN0YXRlLnRyZWU7XG4gICAgICAgIGxldCBjdXJyZW50Q2FjaGUgPSBzdGF0ZS5jYWNoZTtcbiAgICAgICAgZm9yIChjb25zdCBmbGlnaHREYXRhUGF0aCBvZiBmbGlnaHREYXRhKXtcbiAgICAgICAgICAgIC8vIEZsaWdodERhdGFQYXRoIHdpdGggbW9yZSB0aGFuIHR3byBpdGVtcyBtZWFucyB1bmV4cGVjdGVkIEZsaWdodCBkYXRhIHdhcyByZXR1cm5lZFxuICAgICAgICAgICAgaWYgKGZsaWdodERhdGFQYXRoLmxlbmd0aCAhPT0gMykge1xuICAgICAgICAgICAgICAgIC8vIFRPRE8tQVBQOiBoYW5kbGUgdGhpcyBjYXNlIGJldHRlclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiUkVGUkVTSCBGQUlMRURcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gR2l2ZW4gdGhlIHBhdGggY2FuIG9ubHkgaGF2ZSB0d28gaXRlbXMgdGhlIGl0ZW1zIGFyZSBvbmx5IHRoZSByb3V0ZXIgc3RhdGUgYW5kIHJzYyBmb3IgdGhlIHJvb3QuXG4gICAgICAgICAgICBjb25zdCBbdHJlZVBhdGNoXSA9IGZsaWdodERhdGFQYXRoO1xuICAgICAgICAgICAgY29uc3QgbmV3VHJlZSA9ICgwLCBfYXBwbHlyb3V0ZXJzdGF0ZXBhdGNodG90cmVlLmFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZVNraXBEZWZhdWx0KSgvLyBUT0RPLUFQUDogcmVtb3ZlICcnXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgXCJcIlxuICAgICAgICAgICAgXSwgY3VycmVudFRyZWUsIHRyZWVQYXRjaCk7XG4gICAgICAgICAgICBpZiAobmV3VHJlZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2hhbmRsZXNlZ21lbnRtaXNtYXRjaC5oYW5kbGVTZWdtZW50TWlzbWF0Y2gpKHN0YXRlLCBhY3Rpb24sIHRyZWVQYXRjaCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKDAsIF9pc25hdmlnYXRpbmd0b25ld3Jvb3RsYXlvdXQuaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0KShjdXJyZW50VHJlZSwgbmV3VHJlZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9uYXZpZ2F0ZXJlZHVjZXIuaGFuZGxlRXh0ZXJuYWxVcmwpKHN0YXRlLCBtdXRhYmxlLCBocmVmLCBzdGF0ZS5wdXNoUmVmLnBlbmRpbmdQdXNoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGNhbm9uaWNhbFVybE92ZXJyaWRlSHJlZiA9IGNhbm9uaWNhbFVybE92ZXJyaWRlID8gKDAsIF9jcmVhdGVocmVmZnJvbXVybC5jcmVhdGVIcmVmRnJvbVVybCkoY2Fub25pY2FsVXJsT3ZlcnJpZGUpIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgaWYgKGNhbm9uaWNhbFVybE92ZXJyaWRlKSB7XG4gICAgICAgICAgICAgICAgbXV0YWJsZS5jYW5vbmljYWxVcmwgPSBjYW5vbmljYWxVcmxPdmVycmlkZUhyZWY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBhcHBsaWVkID0gKDAsIF9hcHBseWZsaWdodGRhdGEuYXBwbHlGbGlnaHREYXRhKShjdXJyZW50Q2FjaGUsIGNhY2hlLCBmbGlnaHREYXRhUGF0aCk7XG4gICAgICAgICAgICBpZiAoYXBwbGllZCkge1xuICAgICAgICAgICAgICAgIG11dGFibGUuY2FjaGUgPSBjYWNoZTtcbiAgICAgICAgICAgICAgICBjdXJyZW50Q2FjaGUgPSBjYWNoZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG11dGFibGUucGF0Y2hlZFRyZWUgPSBuZXdUcmVlO1xuICAgICAgICAgICAgbXV0YWJsZS5jYW5vbmljYWxVcmwgPSBocmVmO1xuICAgICAgICAgICAgY3VycmVudFRyZWUgPSBuZXdUcmVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoMCwgX2hhbmRsZW11dGFibGUuaGFuZGxlTXV0YWJsZSkoc3RhdGUsIG11dGFibGUpO1xuICAgIH0sICgpPT5zdGF0ZSk7XG59XG5mdW5jdGlvbiBmYXN0UmVmcmVzaFJlZHVjZXJOb29wKHN0YXRlLCBfYWN0aW9uKSB7XG4gICAgcmV0dXJuIHN0YXRlO1xufVxuY29uc3QgZmFzdFJlZnJlc2hSZWR1Y2VyID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gZmFzdFJlZnJlc2hSZWR1Y2VyTm9vcCA6IGZhc3RSZWZyZXNoUmVkdWNlckltcGw7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZhc3QtcmVmcmVzaC1yZWR1Y2VyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJmYXN0UmVmcmVzaFJlZHVjZXIiLCJfZmV0Y2hzZXJ2ZXJyZXNwb25zZSIsInJlcXVpcmUiLCJfY3JlYXRlaHJlZmZyb211cmwiLCJfYXBwbHlyb3V0ZXJzdGF0ZXBhdGNodG90cmVlIiwiX2lzbmF2aWdhdGluZ3RvbmV3cm9vdGxheW91dCIsIl9uYXZpZ2F0ZXJlZHVjZXIiLCJfaGFuZGxlbXV0YWJsZSIsIl9hcHBseWZsaWdodGRhdGEiLCJfYXBwcm91dGVyIiwiX2hhbmRsZXNlZ21lbnRtaXNtYXRjaCIsImZhc3RSZWZyZXNoUmVkdWNlckltcGwiLCJzdGF0ZSIsImFjdGlvbiIsIm9yaWdpbiIsIm11dGFibGUiLCJocmVmIiwiY2Fub25pY2FsVXJsIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJjYWNoZSIsImNyZWF0ZUVtcHR5Q2FjaGVOb2RlIiwibGF6eURhdGEiLCJmZXRjaFNlcnZlclJlc3BvbnNlIiwiVVJMIiwidHJlZSIsIm5leHRVcmwiLCJidWlsZElkIiwidGhlbiIsInBhcmFtIiwiZmxpZ2h0RGF0YSIsImNhbm9uaWNhbFVybE92ZXJyaWRlIiwiaGFuZGxlRXh0ZXJuYWxVcmwiLCJwdXNoUmVmIiwicGVuZGluZ1B1c2giLCJjdXJyZW50VHJlZSIsImN1cnJlbnRDYWNoZSIsImZsaWdodERhdGFQYXRoIiwibGVuZ3RoIiwiY29uc29sZSIsImxvZyIsInRyZWVQYXRjaCIsIm5ld1RyZWUiLCJhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVTa2lwRGVmYXVsdCIsImhhbmRsZVNlZ21lbnRNaXNtYXRjaCIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIsImNhbm9uaWNhbFVybE92ZXJyaWRlSHJlZiIsImNyZWF0ZUhyZWZGcm9tVXJsIiwidW5kZWZpbmVkIiwiYXBwbGllZCIsImFwcGx5RmxpZ2h0RGF0YSIsInBhdGNoZWRUcmVlIiwiaGFuZGxlTXV0YWJsZSIsImZhc3RSZWZyZXNoUmVkdWNlck5vb3AiLCJfYWN0aW9uIiwicHJvY2VzcyIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js": /*!************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js ***! \************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"findHeadInCache\", ({\n enumerable: true,\n get: function() {\n return findHeadInCache;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ../create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction findHeadInCache(cache, parallelRoutes) {\n return findHeadInCacheImpl(cache, parallelRoutes, \"\");\n}\nfunction findHeadInCacheImpl(cache, parallelRoutes, keyPrefix) {\n const isLastItem = Object.keys(parallelRoutes).length === 0;\n if (isLastItem) {\n // Returns the entire Cache Node of the segment whose head we will render.\n return [\n cache,\n keyPrefix\n ];\n }\n for(const key in parallelRoutes){\n const [segment, childParallelRoutes] = parallelRoutes[key];\n const childSegmentMap = cache.parallelRoutes.get(key);\n if (!childSegmentMap) {\n continue;\n }\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const cacheNode = childSegmentMap.get(cacheKey);\n if (!cacheNode) {\n continue;\n }\n const item = findHeadInCacheImpl(cacheNode, childParallelRoutes, keyPrefix + \"/\" + cacheKey);\n if (item) {\n return item;\n }\n }\n return null;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=find-head-in-cache.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2ZpbmQtaGVhZC1pbi1jYWNoZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsbURBQWtEO0lBQzlDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsd0JBQXdCQyxtQkFBT0EsQ0FBQyw4SEFBNEI7QUFDbEUsU0FBU0YsZ0JBQWdCRyxLQUFLLEVBQUVDLGNBQWM7SUFDMUMsT0FBT0Msb0JBQW9CRixPQUFPQyxnQkFBZ0I7QUFDdEQ7QUFDQSxTQUFTQyxvQkFBb0JGLEtBQUssRUFBRUMsY0FBYyxFQUFFRSxTQUFTO0lBQ3pELE1BQU1DLGFBQWFiLE9BQU9jLElBQUksQ0FBQ0osZ0JBQWdCSyxNQUFNLEtBQUs7SUFDMUQsSUFBSUYsWUFBWTtRQUNaLDBFQUEwRTtRQUMxRSxPQUFPO1lBQ0hKO1lBQ0FHO1NBQ0g7SUFDTDtJQUNBLElBQUksTUFBTUksT0FBT04sZUFBZTtRQUM1QixNQUFNLENBQUNPLFNBQVNDLG9CQUFvQixHQUFHUixjQUFjLENBQUNNLElBQUk7UUFDMUQsTUFBTUcsa0JBQWtCVixNQUFNQyxjQUFjLENBQUNMLEdBQUcsQ0FBQ1c7UUFDakQsSUFBSSxDQUFDRyxpQkFBaUI7WUFDbEI7UUFDSjtRQUNBLE1BQU1DLFdBQVcsQ0FBQyxHQUFHYixzQkFBc0JjLG9CQUFvQixFQUFFSjtRQUNqRSxNQUFNSyxZQUFZSCxnQkFBZ0JkLEdBQUcsQ0FBQ2U7UUFDdEMsSUFBSSxDQUFDRSxXQUFXO1lBQ1o7UUFDSjtRQUNBLE1BQU1DLE9BQU9aLG9CQUFvQlcsV0FBV0oscUJBQXFCTixZQUFZLE1BQU1RO1FBQ25GLElBQUlHLE1BQU07WUFDTixPQUFPQTtRQUNYO0lBQ0o7SUFDQSxPQUFPO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBT3JCLFFBQVFzQixPQUFPLEtBQUssY0FBZSxPQUFPdEIsUUFBUXNCLE9BQU8sS0FBSyxZQUFZdEIsUUFBUXNCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3RCLFFBQVFzQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLekIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRc0IsT0FBTyxFQUFFLGNBQWM7UUFBRXJCLE9BQU87SUFBSztJQUNuRUgsT0FBTzBCLE1BQU0sQ0FBQ3hCLFFBQVFzQixPQUFPLEVBQUV0QjtJQUMvQnlCLE9BQU96QixPQUFPLEdBQUdBLFFBQVFzQixPQUFPO0FBQ2xDLEVBRUEsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9maW5kLWhlYWQtaW4tY2FjaGUuanM/NzVjNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZpbmRIZWFkSW5DYWNoZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZmluZEhlYWRJbkNhY2hlO1xuICAgIH1cbn0pO1xuY29uc3QgX2NyZWF0ZXJvdXRlcmNhY2hla2V5ID0gcmVxdWlyZShcIi4uL2NyZWF0ZS1yb3V0ZXItY2FjaGUta2V5XCIpO1xuZnVuY3Rpb24gZmluZEhlYWRJbkNhY2hlKGNhY2hlLCBwYXJhbGxlbFJvdXRlcykge1xuICAgIHJldHVybiBmaW5kSGVhZEluQ2FjaGVJbXBsKGNhY2hlLCBwYXJhbGxlbFJvdXRlcywgXCJcIik7XG59XG5mdW5jdGlvbiBmaW5kSGVhZEluQ2FjaGVJbXBsKGNhY2hlLCBwYXJhbGxlbFJvdXRlcywga2V5UHJlZml4KSB7XG4gICAgY29uc3QgaXNMYXN0SXRlbSA9IE9iamVjdC5rZXlzKHBhcmFsbGVsUm91dGVzKS5sZW5ndGggPT09IDA7XG4gICAgaWYgKGlzTGFzdEl0ZW0pIHtcbiAgICAgICAgLy8gUmV0dXJucyB0aGUgZW50aXJlIENhY2hlIE5vZGUgb2YgdGhlIHNlZ21lbnQgd2hvc2UgaGVhZCB3ZSB3aWxsIHJlbmRlci5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIGNhY2hlLFxuICAgICAgICAgICAga2V5UHJlZml4XG4gICAgICAgIF07XG4gICAgfVxuICAgIGZvcihjb25zdCBrZXkgaW4gcGFyYWxsZWxSb3V0ZXMpe1xuICAgICAgICBjb25zdCBbc2VnbWVudCwgY2hpbGRQYXJhbGxlbFJvdXRlc10gPSBwYXJhbGxlbFJvdXRlc1trZXldO1xuICAgICAgICBjb25zdCBjaGlsZFNlZ21lbnRNYXAgPSBjYWNoZS5wYXJhbGxlbFJvdXRlcy5nZXQoa2V5KTtcbiAgICAgICAgaWYgKCFjaGlsZFNlZ21lbnRNYXApIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNhY2hlS2V5ID0gKDAsIF9jcmVhdGVyb3V0ZXJjYWNoZWtleS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoc2VnbWVudCk7XG4gICAgICAgIGNvbnN0IGNhY2hlTm9kZSA9IGNoaWxkU2VnbWVudE1hcC5nZXQoY2FjaGVLZXkpO1xuICAgICAgICBpZiAoIWNhY2hlTm9kZSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXRlbSA9IGZpbmRIZWFkSW5DYWNoZUltcGwoY2FjaGVOb2RlLCBjaGlsZFBhcmFsbGVsUm91dGVzLCBrZXlQcmVmaXggKyBcIi9cIiArIGNhY2hlS2V5KTtcbiAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1maW5kLWhlYWQtaW4tY2FjaGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImZpbmRIZWFkSW5DYWNoZSIsIl9jcmVhdGVyb3V0ZXJjYWNoZWtleSIsInJlcXVpcmUiLCJjYWNoZSIsInBhcmFsbGVsUm91dGVzIiwiZmluZEhlYWRJbkNhY2hlSW1wbCIsImtleVByZWZpeCIsImlzTGFzdEl0ZW0iLCJrZXlzIiwibGVuZ3RoIiwia2V5Iiwic2VnbWVudCIsImNoaWxkUGFyYWxsZWxSb3V0ZXMiLCJjaGlsZFNlZ21lbnRNYXAiLCJjYWNoZUtleSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwiY2FjaGVOb2RlIiwiaXRlbSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js": /*!***********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js ***! \***********************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSegmentValue\", ({\n enumerable: true,\n get: function() {\n return getSegmentValue;\n }\n}));\nfunction getSegmentValue(segment) {\n return Array.isArray(segment) ? segment[1] : segment;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-segment-value.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2dldC1zZWdtZW50LXZhbHVlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxtREFBa0Q7SUFDOUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSxnQkFBZ0JDLE9BQU87SUFDNUIsT0FBT0MsTUFBTUMsT0FBTyxDQUFDRixXQUFXQSxPQUFPLENBQUMsRUFBRSxHQUFHQTtBQUNqRDtBQUVBLElBQUksQ0FBQyxPQUFPTCxRQUFRUSxPQUFPLEtBQUssY0FBZSxPQUFPUixRQUFRUSxPQUFPLEtBQUssWUFBWVIsUUFBUVEsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPUixRQUFRUSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLWCxPQUFPQyxjQUFjLENBQUNDLFFBQVFRLE9BQU8sRUFBRSxjQUFjO1FBQUVQLE9BQU87SUFBSztJQUNuRUgsT0FBT1ksTUFBTSxDQUFDVixRQUFRUSxPQUFPLEVBQUVSO0lBQy9CVyxPQUFPWCxPQUFPLEdBQUdBLFFBQVFRLE9BQU87QUFDbEMsRUFFQSw2Q0FBNkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2dldC1zZWdtZW50LXZhbHVlLmpzPzRlNjMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRTZWdtZW50VmFsdWVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFNlZ21lbnRWYWx1ZTtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGdldFNlZ21lbnRWYWx1ZShzZWdtZW50KSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoc2VnbWVudCkgPyBzZWdtZW50WzFdIDogc2VnbWVudDtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0LXNlZ21lbnQtdmFsdWUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImdldFNlZ21lbnRWYWx1ZSIsInNlZ21lbnQiLCJBcnJheSIsImlzQXJyYXkiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js": /*!**********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js ***! \**********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n handleExternalUrl: function() {\n return handleExternalUrl;\n },\n navigateReducer: function() {\n return navigateReducer;\n }\n});\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _invalidatecachebelowflightsegmentpath = __webpack_require__(/*! ../invalidate-cache-below-flight-segmentpath */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js\");\nconst _fillcachewithdataproperty = __webpack_require__(/*! ../fill-cache-with-data-property */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-data-property.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _shouldhardnavigate = __webpack_require__(/*! ../should-hard-navigate */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _routerreducertypes = __webpack_require__(/*! ../router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _applyflightdata = __webpack_require__(/*! ../apply-flight-data */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _getprefetchcacheentrystatus = __webpack_require__(/*! ../get-prefetch-cache-entry-status */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/get-prefetch-cache-entry-status.js\");\nconst _pruneprefetchcache = __webpack_require__(/*! ./prune-prefetch-cache */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prune-prefetch-cache.js\");\nconst _prefetchreducer = __webpack_require__(/*! ./prefetch-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _segment = __webpack_require__(/*! ../../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _pprnavigations = __webpack_require__(/*! ../ppr-navigations */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js\");\nconst _createprefetchcachekey = __webpack_require__(/*! ./create-prefetch-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/create-prefetch-cache-key.js\");\nfunction handleExternalUrl(state, mutable, url, pendingPush) {\n mutable.mpaNavigation = true;\n mutable.canonicalUrl = url;\n mutable.pendingPush = pendingPush;\n mutable.scrollableSegments = undefined;\n return (0, _handlemutable.handleMutable)(state, mutable);\n}\nfunction generateSegmentsFromPatch(flightRouterPatch) {\n const segments = [];\n const [segment, parallelRoutes] = flightRouterPatch;\n if (Object.keys(parallelRoutes).length === 0) {\n return [\n [\n segment\n ]\n ];\n }\n for (const [parallelRouteKey, parallelRoute] of Object.entries(parallelRoutes)){\n for (const childSegment of generateSegmentsFromPatch(parallelRoute)){\n // If the segment is empty, it means we are at the root of the tree\n if (segment === \"\") {\n segments.push([\n parallelRouteKey,\n ...childSegment\n ]);\n } else {\n segments.push([\n segment,\n parallelRouteKey,\n ...childSegment\n ]);\n }\n }\n }\n return segments;\n}\nfunction addRefetchToLeafSegments(newCache, currentCache, flightSegmentPath, treePatch, data) {\n let appliedPatch = false;\n newCache.rsc = currentCache.rsc;\n newCache.prefetchRsc = currentCache.prefetchRsc;\n newCache.parallelRoutes = new Map(currentCache.parallelRoutes);\n const segmentPathsToFill = generateSegmentsFromPatch(treePatch).map((segment)=>[\n ...flightSegmentPath,\n ...segment\n ]);\n for (const segmentPaths of segmentPathsToFill){\n (0, _fillcachewithdataproperty.fillCacheWithDataProperty)(newCache, currentCache, segmentPaths, data);\n appliedPatch = true;\n }\n return appliedPatch;\n}\nconst navigateReducer = false ? 0 : navigateReducer_noPPR;\n// This is the implementation when PPR is disabled. We can assume its behavior\n// is relatively stable because it's been running in production for a while.\nfunction navigateReducer_noPPR(state, action) {\n const { url, isExternalUrl, navigateType, shouldScroll } = action;\n const mutable = {};\n const { hash } = url;\n const href = (0, _createhreffromurl.createHrefFromUrl)(url);\n const pendingPush = navigateType === \"push\";\n // we want to prune the prefetch cache on every navigation to avoid it growing too large\n (0, _pruneprefetchcache.prunePrefetchCache)(state.prefetchCache);\n mutable.preserveCustomHistoryState = false;\n if (isExternalUrl) {\n return handleExternalUrl(state, mutable, url.toString(), pendingPush);\n }\n const prefetchCacheKey = (0, _createprefetchcachekey.createPrefetchCacheKey)(url, state.nextUrl);\n let prefetchValues = state.prefetchCache.get(prefetchCacheKey);\n // If we don't have a prefetch value, we need to create one\n if (!prefetchValues) {\n const data = (0, _fetchserverresponse.fetchServerResponse)(url, state.tree, state.nextUrl, state.buildId, // in order to simulate the behavior of the prefetch cache\n true ? _routerreducertypes.PrefetchKind.AUTO : 0);\n const newPrefetchValue = {\n data,\n // this will make sure that the entry will be discarded after 30s\n kind: true ? _routerreducertypes.PrefetchKind.AUTO : 0,\n prefetchTime: Date.now(),\n treeAtTimeOfPrefetch: state.tree,\n lastUsedTime: null\n };\n state.prefetchCache.set(prefetchCacheKey, newPrefetchValue);\n prefetchValues = newPrefetchValue;\n }\n const prefetchEntryCacheStatus = (0, _getprefetchcacheentrystatus.getPrefetchEntryCacheStatus)(prefetchValues);\n // The one before last item is the router state tree patch\n const { treeAtTimeOfPrefetch, data } = prefetchValues;\n _prefetchreducer.prefetchQueue.bump(data);\n return data.then((param)=>{\n let [flightData, canonicalUrlOverride, postponed] = param;\n // we only want to mark this once\n if (prefetchValues && !prefetchValues.lastUsedTime) {\n // important: we should only mark the cache node as dirty after we unsuspend from the call above\n prefetchValues.lastUsedTime = Date.now();\n }\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return handleExternalUrl(state, mutable, flightData, pendingPush);\n }\n let currentTree = state.tree;\n let currentCache = state.cache;\n let scrollableSegments = [];\n for (const flightDataPath of flightData){\n const flightSegmentPath = flightDataPath.slice(0, -4);\n // The one before last item is the router state tree patch\n const treePatch = flightDataPath.slice(-3)[0];\n // TODO-APP: remove ''\n const flightSegmentPathWithLeadingEmpty = [\n \"\",\n ...flightSegmentPath\n ];\n // Create new tree based on the flightSegmentPath and router state patch\n let newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)(flightSegmentPathWithLeadingEmpty, currentTree, treePatch);\n // If the tree patch can't be applied to the current tree then we use the tree at time of prefetch\n // TODO-APP: This should instead fill in the missing pieces in `currentTree` with the data from `treeAtTimeOfPrefetch`, then apply the patch.\n if (newTree === null) {\n newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)(flightSegmentPathWithLeadingEmpty, treeAtTimeOfPrefetch, treePatch);\n }\n if (newTree !== null) {\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return handleExternalUrl(state, mutable, href, pendingPush);\n }\n const cache = (0, _approuter.createEmptyCacheNode)();\n let applied = (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath, (prefetchValues == null ? void 0 : prefetchValues.kind) === \"auto\" && prefetchEntryCacheStatus === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.reusable);\n if (!applied && prefetchEntryCacheStatus === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.stale || // TODO-APP: If the prefetch was postponed, we don't want to apply it\n // until we land router changes to handle the postponed case.\n postponed) {\n applied = addRefetchToLeafSegments(cache, currentCache, flightSegmentPath, treePatch, ()=>(0, _fetchserverresponse.fetchServerResponse)(url, currentTree, state.nextUrl, state.buildId));\n }\n const hardNavigate = (0, _shouldhardnavigate.shouldHardNavigate)(flightSegmentPathWithLeadingEmpty, currentTree);\n if (hardNavigate) {\n // Copy rsc for the root node of the cache.\n cache.rsc = currentCache.rsc;\n cache.prefetchRsc = currentCache.prefetchRsc;\n (0, _invalidatecachebelowflightsegmentpath.invalidateCacheBelowFlightSegmentPath)(cache, currentCache, flightSegmentPath);\n // Ensure the existing cache value is used when the cache was not invalidated.\n mutable.cache = cache;\n } else if (applied) {\n mutable.cache = cache;\n }\n currentCache = cache;\n currentTree = newTree;\n for (const subSegment of generateSegmentsFromPatch(treePatch)){\n const scrollableSegmentPath = [\n ...flightSegmentPath,\n ...subSegment\n ];\n // Filter out the __DEFAULT__ paths as they shouldn't be scrolled to in this case.\n if (scrollableSegmentPath[scrollableSegmentPath.length - 1] !== _segment.DEFAULT_SEGMENT_KEY) {\n scrollableSegments.push(scrollableSegmentPath);\n }\n }\n }\n }\n mutable.patchedTree = currentTree;\n mutable.canonicalUrl = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : href;\n mutable.pendingPush = pendingPush;\n mutable.scrollableSegments = scrollableSegments;\n mutable.hashFragment = hash;\n mutable.shouldScroll = shouldScroll;\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\n// This is the experimental PPR implementation. It's closer to the behavior we\n// want, but is likelier to include accidental regressions because it rewrites\n// existing functionality.\nfunction navigateReducer_PPR(state, action) {\n const { url, isExternalUrl, navigateType, shouldScroll } = action;\n const mutable = {};\n const { hash } = url;\n const href = (0, _createhreffromurl.createHrefFromUrl)(url);\n const pendingPush = navigateType === \"push\";\n // we want to prune the prefetch cache on every navigation to avoid it growing too large\n (0, _pruneprefetchcache.prunePrefetchCache)(state.prefetchCache);\n mutable.preserveCustomHistoryState = false;\n if (isExternalUrl) {\n return handleExternalUrl(state, mutable, url.toString(), pendingPush);\n }\n const prefetchCacheKey = (0, _createprefetchcachekey.createPrefetchCacheKey)(url, state.nextUrl);\n let prefetchValues = state.prefetchCache.get(prefetchCacheKey);\n // If we don't have a prefetch value, we need to create one\n if (!prefetchValues) {\n const data = (0, _fetchserverresponse.fetchServerResponse)(url, state.tree, state.nextUrl, state.buildId, // in order to simulate the behavior of the prefetch cache\n true ? _routerreducertypes.PrefetchKind.AUTO : 0);\n const newPrefetchValue = {\n data,\n // this will make sure that the entry will be discarded after 30s\n kind: true ? _routerreducertypes.PrefetchKind.AUTO : 0,\n prefetchTime: Date.now(),\n treeAtTimeOfPrefetch: state.tree,\n lastUsedTime: null\n };\n state.prefetchCache.set(prefetchCacheKey, newPrefetchValue);\n prefetchValues = newPrefetchValue;\n }\n const prefetchEntryCacheStatus = (0, _getprefetchcacheentrystatus.getPrefetchEntryCacheStatus)(prefetchValues);\n // The one before last item is the router state tree patch\n const { treeAtTimeOfPrefetch, data } = prefetchValues;\n _prefetchreducer.prefetchQueue.bump(data);\n return data.then((param)=>{\n let [flightData, canonicalUrlOverride, _postponed] = param;\n // we only want to mark this once\n if (prefetchValues && !prefetchValues.lastUsedTime) {\n // important: we should only mark the cache node as dirty after we unsuspend from the call above\n prefetchValues.lastUsedTime = Date.now();\n }\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return handleExternalUrl(state, mutable, flightData, pendingPush);\n }\n let currentTree = state.tree;\n let currentCache = state.cache;\n let scrollableSegments = [];\n // TODO: In practice, this is always a single item array. We probably\n // aren't going to every send multiple segments, at least not in this\n // format. So we could remove the extra wrapper for now until\n // that settles.\n for (const flightDataPath of flightData){\n const flightSegmentPath = flightDataPath.slice(0, -4);\n // The one before last item is the router state tree patch\n const treePatch = flightDataPath.slice(-3)[0];\n // TODO-APP: remove ''\n const flightSegmentPathWithLeadingEmpty = [\n \"\",\n ...flightSegmentPath\n ];\n // Create new tree based on the flightSegmentPath and router state patch\n let newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)(flightSegmentPathWithLeadingEmpty, currentTree, treePatch);\n // If the tree patch can't be applied to the current tree then we use the tree at time of prefetch\n // TODO-APP: This should instead fill in the missing pieces in `currentTree` with the data from `treeAtTimeOfPrefetch`, then apply the patch.\n if (newTree === null) {\n newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)(flightSegmentPathWithLeadingEmpty, treeAtTimeOfPrefetch, treePatch);\n }\n if (newTree !== null) {\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return handleExternalUrl(state, mutable, href, pendingPush);\n }\n if (// will always send back a static response that's rendered from\n // the root. If for some reason it doesn't, we fall back to the\n // non-PPR implementation.\n // TODO: We should get rid of the else branch and do all navigations\n // via updateCacheNodeOnNavigation. The current structure is just\n // an incremental step.\n flightDataPath.length === 3) {\n const prefetchedTree = flightDataPath[0];\n const seedData = flightDataPath[1];\n const head = flightDataPath[2];\n // Check whether the prefetched data is stale. If so, we'll\n // ignore it and wait for the dynamic data to stream in before\n // showing new segments.\n const isPrefetchStale = prefetchEntryCacheStatus === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.stale;\n const task = (0, _pprnavigations.updateCacheNodeOnNavigation)(currentCache, currentTree, prefetchedTree, seedData, head, isPrefetchStale);\n if (task !== null && task.node !== null) {\n // We've created a new Cache Node tree that contains a prefetched\n // version of the next page. This can be rendered instantly.\n // Use the tree computed by updateCacheNodeOnNavigation instead\n // of the one computed by applyRouterStatePatchToTreeSkipDefault.\n // TODO: We should remove applyRouterStatePatchToTreeSkipDefault\n // from the PPR path entirely.\n const patchedRouterState = task.route;\n newTree = patchedRouterState;\n const newCache = task.node;\n // The prefetched tree has dynamic holes in it. We initiate a\n // dynamic request to fill them in.\n //\n // Do not block on the result. We'll immediately render the Cache\n // Node tree and suspend on the dynamic parts. When the request\n // comes in, we'll fill in missing data and ping React to\n // re-render. Unlike the lazy fetching model in the non-PPR\n // implementation, this is modeled as a single React update +\n // streaming, rather than multiple top-level updates. (However,\n // even in the new model, we'll still need to sometimes update the\n // root multiple times per navigation, like if the server sends us\n // a different response than we expected. For now, we revert back\n // to the lazy fetching mechanism in that case.)\n (0, _pprnavigations.listenForDynamicRequest)(task, (0, _fetchserverresponse.fetchServerResponse)(url, currentTree, state.nextUrl, state.buildId));\n mutable.cache = newCache;\n } else {\n // Nothing changed, so reuse the old cache.\n // TODO: What if the head changed but not any of the segment data?\n // Is that possible? If so, we should clone the whole tree and\n // update the head.\n newTree = prefetchedTree;\n }\n } else {\n // The static response does not include any dynamic holes, so\n // there's no need to do a second request.\n // TODO: As an incremental step this just reverts back to the\n // non-PPR implementation. We can simplify this branch further,\n // given that PPR prefetches are always static and return the whole\n // tree. Or in the meantime we could factor it out into a\n // separate function.\n const cache = (0, _approuter.createEmptyCacheNode)();\n let applied = (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath, (prefetchValues == null ? void 0 : prefetchValues.kind) === \"auto\" && prefetchEntryCacheStatus === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.reusable);\n if (!applied && prefetchEntryCacheStatus === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.stale) {\n applied = addRefetchToLeafSegments(cache, currentCache, flightSegmentPath, treePatch, ()=>(0, _fetchserverresponse.fetchServerResponse)(url, currentTree, state.nextUrl, state.buildId));\n }\n const hardNavigate = (0, _shouldhardnavigate.shouldHardNavigate)(flightSegmentPathWithLeadingEmpty, currentTree);\n if (hardNavigate) {\n // Copy rsc for the root node of the cache.\n cache.rsc = currentCache.rsc;\n cache.prefetchRsc = currentCache.prefetchRsc;\n (0, _invalidatecachebelowflightsegmentpath.invalidateCacheBelowFlightSegmentPath)(cache, currentCache, flightSegmentPath);\n // Ensure the existing cache value is used when the cache was not invalidated.\n mutable.cache = cache;\n } else if (applied) {\n mutable.cache = cache;\n }\n }\n currentTree = newTree;\n for (const subSegment of generateSegmentsFromPatch(treePatch)){\n const scrollableSegmentPath = [\n ...flightSegmentPath,\n ...subSegment\n ];\n // Filter out the __DEFAULT__ paths as they shouldn't be scrolled to in this case.\n if (scrollableSegmentPath[scrollableSegmentPath.length - 1] !== _segment.DEFAULT_SEGMENT_KEY) {\n scrollableSegments.push(scrollableSegmentPath);\n }\n }\n }\n }\n mutable.patchedTree = currentTree;\n mutable.canonicalUrl = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : href;\n mutable.pendingPush = pendingPush;\n mutable.scrollableSegments = scrollableSegments;\n mutable.hashFragment = hash;\n mutable.shouldScroll = shouldScroll;\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=navigate-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL25hdmlnYXRlLXJlZHVjZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLG1CQUFtQjtRQUNmLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sdUJBQXVCQyxtQkFBT0EsQ0FBQywwSEFBMEI7QUFDL0QsTUFBTUMscUJBQXFCRCxtQkFBT0EsQ0FBQyx3SEFBeUI7QUFDNUQsTUFBTUUseUNBQXlDRixtQkFBT0EsQ0FBQyxrS0FBOEM7QUFDckcsTUFBTUcsNkJBQTZCSCxtQkFBT0EsQ0FBQywwSUFBa0M7QUFDN0UsTUFBTUksK0JBQStCSixtQkFBT0EsQ0FBQyxnSkFBcUM7QUFDbEYsTUFBTUssc0JBQXNCTCxtQkFBT0EsQ0FBQyx3SEFBeUI7QUFDN0QsTUFBTU0sK0JBQStCTixtQkFBT0EsQ0FBQyxnSkFBcUM7QUFDbEYsTUFBTU8sc0JBQXNCUCxtQkFBT0EsQ0FBQyx3SEFBeUI7QUFDN0QsTUFBTVEsaUJBQWlCUixtQkFBT0EsQ0FBQyw0R0FBbUI7QUFDbEQsTUFBTVMsbUJBQW1CVCxtQkFBT0EsQ0FBQyxrSEFBc0I7QUFDdkQsTUFBTVUsK0JBQStCVixtQkFBT0EsQ0FBQyw4SUFBb0M7QUFDakYsTUFBTVcsc0JBQXNCWCxtQkFBT0EsQ0FBQyxnSUFBd0I7QUFDNUQsTUFBTVksbUJBQW1C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O1FBQ3RCRixRQUFRSyxrQkFBa0IsR0FBR0E7UUFDN0JMLFFBQVFrRyxZQUFZLEdBQUd2RDtRQUN2QjNDLFFBQVEwQyxZQUFZLEdBQUdBO1FBQ3ZCLE9BQU8sQ0FBQyxHQUFHcEQsZUFBZWlCLGFBQWEsRUFBRVIsT0FBT0M7SUFDcEQsR0FBRyxJQUFJRDtBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU83QixRQUFRNEksT0FBTyxLQUFLLGNBQWUsT0FBTzVJLFFBQVE0SSxPQUFPLEtBQUssWUFBWTVJLFFBQVE0SSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU81SSxRQUFRNEksT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySy9JLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTRJLE9BQU8sRUFBRSxjQUFjO1FBQUUzSSxPQUFPO0lBQUs7SUFDbkVILE9BQU9nSixNQUFNLENBQUM5SSxRQUFRNEksT0FBTyxFQUFFNUk7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUTRJLE9BQU87QUFDbEMsRUFFQSw0Q0FBNEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL25hdmlnYXRlLXJlZHVjZXIuanM/ZDgxNyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGhhbmRsZUV4dGVybmFsVXJsOiBudWxsLFxuICAgIG5hdmlnYXRlUmVkdWNlcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBoYW5kbGVFeHRlcm5hbFVybDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBoYW5kbGVFeHRlcm5hbFVybDtcbiAgICB9LFxuICAgIG5hdmlnYXRlUmVkdWNlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBuYXZpZ2F0ZVJlZHVjZXI7XG4gICAgfVxufSk7XG5jb25zdCBfZmV0Y2hzZXJ2ZXJyZXNwb25zZSA9IHJlcXVpcmUoXCIuLi9mZXRjaC1zZXJ2ZXItcmVzcG9uc2VcIik7XG5jb25zdCBfY3JlYXRlaHJlZmZyb211cmwgPSByZXF1aXJlKFwiLi4vY3JlYXRlLWhyZWYtZnJvbS11cmxcIik7XG5jb25zdCBfaW52YWxpZGF0ZWNhY2hlYmVsb3dmbGlnaHRzZWdtZW50cGF0aCA9IHJlcXVpcmUoXCIuLi9pbnZhbGlkYXRlLWNhY2hlLWJlbG93LWZsaWdodC1zZWdtZW50cGF0aFwiKTtcbmNvbnN0IF9maWxsY2FjaGV3aXRoZGF0YXByb3BlcnR5ID0gcmVxdWlyZShcIi4uL2ZpbGwtY2FjaGUtd2l0aC1kYXRhLXByb3BlcnR5XCIpO1xuY29uc3QgX2FwcGx5cm91dGVyc3RhdGVwYXRjaHRvdHJlZSA9IHJlcXVpcmUoXCIuLi9hcHBseS1yb3V0ZXItc3RhdGUtcGF0Y2gtdG8tdHJlZVwiKTtcbmNvbnN0IF9zaG91bGRoYXJkbmF2aWdhdGUgPSByZXF1aXJlKFwiLi4vc2hvdWxkLWhhcmQtbmF2aWdhdGVcIik7XG5jb25zdCBfaXNuYXZpZ2F0aW5ndG9uZXdyb290bGF5b3V0ID0gcmVxdWlyZShcIi4uL2lzLW5hdmlnYXRpbmctdG8tbmV3LXJvb3QtbGF5b3V0XCIpO1xuY29uc3QgX3JvdXRlcnJlZHVjZXJ0eXBlcyA9IHJlcXVpcmUoXCIuLi9yb3V0ZXItcmVkdWNlci10eXBlc1wiKTtcbmNvbnN0IF9oYW5kbGVtdXRhYmxlID0gcmVxdWlyZShcIi4uL2hhbmRsZS1tdXRhYmxlXCIpO1xuY29uc3QgX2FwcGx5ZmxpZ2h0ZGF0YSA9IHJlcXVpcmUoXCIuLi9hcHBseS1mbGlnaHQtZGF0YVwiKTtcbmNvbnN0IF9nZXRwcmVmZXRjaGNhY2hlZW50cnlzdGF0dXMgPSByZXF1aXJlKFwiLi4vZ2V0LXByZWZldGNoLWNhY2hlLWVudHJ5LXN0YXR1c1wiKTtcbmNvbnN0IF9wcnVuZXByZWZldGNoY2FjaGUgPSByZXF1aXJlKFwiLi9wcnVuZS1wcmVmZXRjaC1jYWNoZVwiKTtcbmNvbnN0IF9wcmVmZXRjaHJlZHVjZXIgPSByZXF1aXJlKFwiLi9wcmVmZXRjaC1yZWR1Y2VyXCIpO1xuY29uc3QgX2FwcHJvdXRlciA9IHJlcXVpcmUoXCIuLi8uLi9hcHAtcm91dGVyXCIpO1xuY29uc3QgX3NlZ21lbnQgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vc2hhcmVkL2xpYi9zZWdtZW50XCIpO1xuY29uc3QgX3Bwcm5hdmlnYXRpb25zID0gcmVxdWlyZShcIi4uL3Bwci1uYXZpZ2F0aW9uc1wiKTtcbmNvbnN0IF9jcmVhdGVwcmVmZXRjaGNhY2hla2V5ID0gcmVxdWlyZShcIi4vY3JlYXRlLXByZWZldGNoLWNhY2hlLWtleVwiKTtcbmZ1bmN0aW9uIGhhbmRsZUV4dGVybmFsVXJsKHN0YXRlLCBtdXRhYmxlLCB1cmwsIHBlbmRpbmdQdXNoKSB7XG4gICAgbXV0YWJsZS5tcGFOYXZpZ2F0aW9uID0gdHJ1ZTtcbiAgICBtdXRhYmxlLmNhbm9uaWNhbFVybCA9IHVybDtcbiAgICBtdXRhYmxlLnBlbmRpbmdQdXNoID0gcGVuZGluZ1B1c2g7XG4gICAgbXV0YWJsZS5zY3JvbGxhYmxlU2VnbWVudHMgPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuICgwLCBfaGFuZGxlbXV0YWJsZS5oYW5kbGVNdXRhYmxlKShzdGF0ZSwgbXV0YWJsZSk7XG59XG5mdW5jdGlvbiBnZW5lcmF0ZVNlZ21lbnRzRnJvbVBhdGNoKGZsaWdodFJvdXRlclBhdGNoKSB7XG4gICAgY29uc3Qgc2VnbWVudHMgPSBbXTtcbiAgICBjb25zdCBbc2VnbWVudCwgcGFyYWxsZWxSb3V0ZXNdID0gZmxpZ2h0Um91dGVyUGF0Y2g7XG4gICAgaWYgKE9iamVjdC5rZXlzKHBhcmFsbGVsUm91dGVzKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBzZWdtZW50XG4gICAgICAgICAgICBdXG4gICAgICAgIF07XG4gICAgfVxuICAgIGZvciAoY29uc3QgW3BhcmFsbGVsUm91dGVLZXksIHBhcmFsbGVsUm91dGVdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFsbGVsUm91dGVzKSl7XG4gICAgICAgIGZvciAoY29uc3QgY2hpbGRTZWdtZW50IG9mIGdlbmVyYXRlU2VnbWVudHNGcm9tUGF0Y2gocGFyYWxsZWxSb3V0ZSkpe1xuICAgICAgICAgICAgLy8gSWYgdGhlIHNlZ21lbnQgaXMgZW1wdHksIGl0IG1lYW5zIHdlIGFyZSBhdCB0aGUgcm9vdCBvZiB0aGUgdHJlZVxuICAgICAgICAgICAgaWYgKHNlZ21lbnQgPT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICBzZWdtZW50cy5wdXNoKFtcbiAgICAgICAgICAgICAgICAgICAgcGFyYWxsZWxSb3V0ZUtleSxcbiAgICAgICAgICAgICAgICAgICAgLi4uY2hpbGRTZWdtZW50XG4gICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNlZ21lbnRzLnB1c2goW1xuICAgICAgICAgICAgICAgICAgICBzZWdtZW50LFxuICAgICAgICAgICAgICAgICAgICBwYXJhbGxlbFJvdXRlS2V5LFxuICAgICAgICAgICAgICAgICAgICAuLi5jaGlsZFNlZ21lbnRcbiAgICAgICAgICAgICAgICBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc2VnbWVudHM7XG59XG5mdW5jdGlvbiBhZGRSZWZldGNoVG9MZWFmU2VnbWVudHMobmV3Q2FjaGUsIGN1cnJlbnRDYWNoZSwgZmxpZ2h0U2VnbWVudFBhdGgsIHRyZWVQYXRjaCwgZGF0YSkge1xuICAgIGxldCBhcHBsaWVkUGF0Y2ggPSBmYWxzZTtcbiAgICBuZXdDYWNoZS5yc2MgPSBjdXJyZW50Q2FjaGUucnNjO1xuICAgIG5ld0NhY2hlLnByZWZldGNoUnNjID0gY3VycmVudENhY2hlLnByZWZldGNoUnNjO1xuICAgIG5ld0NhY2hlLnBhcmFsbGVsUm91dGVzID0gbmV3IE1hcChjdXJyZW50Q2FjaGUucGFyYWxsZWxSb3V0ZXMpO1xuICAgIGNvbnN0IHNlZ21lbnRQYXRoc1RvRmlsbCA9IGdlbmVyYXRlU2VnbWVudHNGcm9tUGF0Y2godHJlZVBhdGNoKS5tYXAoKHNlZ21lbnQpPT5bXG4gICAgICAgICAgICAuLi5mbGlnaHRTZWdtZW50UGF0aCxcbiAgICAgICAgICAgIC4uLnNlZ21lbnRcbiAgICAgICAgXSk7XG4gICAgZm9yIChjb25zdCBzZWdtZW50UGF0aHMgb2Ygc2VnbWVudFBhdGhzVG9GaWxsKXtcbiAgICAgICAgKDAsIF9maWxsY2FjaGV3aXRoZGF0YXByb3BlcnR5LmZpbGxDYWNoZVdpdGhEYXRhUHJvcGVydHkpKG5ld0NhY2hlLCBjdXJyZW50Q2FjaGUsIHNlZ21lbnRQYXRocywgZGF0YSk7XG4gICAgICAgIGFwcGxpZWRQYXRjaCA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiBhcHBsaWVkUGF0Y2g7XG59XG5jb25zdCBuYXZpZ2F0ZVJlZHVjZXIgPSBwcm9jZXNzLmVudi5fX05FWFRfUFBSID8gbmF2aWdhdGVSZWR1Y2VyX1BQUiA6IG5hdmlnYXRlUmVkdWNlcl9ub1BQUjtcbi8vIFRoaXMgaXMgdGhlIGltcGxlbWVudGF0aW9uIHdoZW4gUFBSIGlzIGRpc2FibGVkLiBXZSBjYW4gYXNzdW1lIGl0cyBiZWhhdmlvclxuLy8gaXMgcmVsYXRpdmVseSBzdGFibGUgYmVjYXVzZSBpdCdzIGJlZW4gcnVubmluZyBpbiBwcm9kdWN0aW9uIGZvciBhIHdoaWxlLlxuZnVuY3Rpb24gbmF2aWdhdGVSZWR1Y2VyX25vUFBSKHN0YXRlLCBhY3Rpb24pIHtcbiAgICBjb25zdCB7IHVybCwgaXNFeHRlcm5hbFVybCwgbmF2aWdhdGVUeXBlLCBzaG91bGRTY3JvbGwgfSA9IGFjdGlvbjtcbiAgICBjb25zdCBtdXRhYmxlID0ge307XG4gICAgY29uc3QgeyBoYXNoIH0gPSB1cmw7XG4gICAgY29uc3QgaHJlZiA9ICgwLCBfY3JlYXRlaHJlZmZyb211cmwuY3JlYXRlSHJlZkZyb21VcmwpKHVybCk7XG4gICAgY29uc3QgcGVuZGluZ1B1c2ggPSBuYXZpZ2F0ZVR5cGUgPT09IFwicHVzaFwiO1xuICAgIC8vIHdlIHdhbnQgdG8gcHJ1bmUgdGhlIHByZWZldGNoIGNhY2hlIG9uIGV2ZXJ5IG5hdmlnYXRpb24gdG8gYXZvaWQgaXQgZ3Jvd2luZyB0b28gbGFyZ2VcbiAgICAoMCwgX3BydW5lcHJlZmV0Y2hjYWNoZS5wcnVuZVByZWZldGNoQ2FjaGUpKHN0YXRlLnByZWZldGNoQ2FjaGUpO1xuICAgIG11dGFibGUucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUgPSBmYWxzZTtcbiAgICBpZiAoaXNFeHRlcm5hbFVybCkge1xuICAgICAgICByZXR1cm4gaGFuZGxlRXh0ZXJuYWxVcmwoc3RhdGUsIG11dGFibGUsIHVybC50b1N0cmluZygpLCBwZW5kaW5nUHVzaCk7XG4gICAgfVxuICAgIGNvbnN0IHByZWZldGNoQ2FjaGVLZXkgPSAoMCwgX2NyZWF0ZXByZWZldGNoY2FjaGVrZXkuY3JlYXRlUHJlZmV0Y2hDYWNoZUtleSkodXJsLCBzdGF0ZS5uZXh0VXJsKTtcbiAgICBsZXQgcHJlZmV0Y2hWYWx1ZXMgPSBzdGF0ZS5wcmVmZXRjaENhY2hlLmdldChwcmVmZXRjaENhY2hlS2V5KTtcbiAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGEgcHJlZmV0Y2ggdmFsdWUsIHdlIG5lZWQgdG8gY3JlYXRlIG9uZVxuICAgIGlmICghcHJlZmV0Y2hWYWx1ZXMpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9ICgwLCBfZmV0Y2hzZXJ2ZXJyZXNwb25zZS5mZXRjaFNlcnZlclJlc3BvbnNlKSh1cmwsIHN0YXRlLnRyZWUsIHN0YXRlLm5leHRVcmwsIHN0YXRlLmJ1aWxkSWQsIC8vIGluIGRldiwgdGhlcmUncyBuZXZlciBnb25uYSBiZSBhIHByZWZldGNoIGVudHJ5IHNvIHdlIHdhbnQgdG8gcHJlZmV0Y2ggaGVyZVxuICAgICAgICAvLyBpbiBvcmRlciB0byBzaW11bGF0ZSB0aGUgYmVoYXZpb3Igb2YgdGhlIHByZWZldGNoIGNhY2hlXG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIgPyBfcm91dGVycmVkdWNlcnR5cGVzLlByZWZldGNoS2luZC5BVVRPIDogdW5kZWZpbmVkKTtcbiAgICAgICAgY29uc3QgbmV3UHJlZmV0Y2hWYWx1ZSA9IHtcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAvLyB0aGlzIHdpbGwgbWFrZSBzdXJlIHRoYXQgdGhlIGVudHJ5IHdpbGwgYmUgZGlzY2FyZGVkIGFmdGVyIDMwc1xuICAgICAgICAgICAga2luZDogcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIiA/IF9yb3V0ZXJyZWR1Y2VydHlwZXMuUHJlZmV0Y2hLaW5kLkFVVE8gOiBfcm91dGVycmVkdWNlcnR5cGVzLlByZWZldGNoS2luZC5URU1QT1JBUlksXG4gICAgICAgICAgICBwcmVmZXRjaFRpbWU6IERhdGUubm93KCksXG4gICAgICAgICAgICB0cmVlQXRUaW1lT2ZQcmVmZXRjaDogc3RhdGUudHJlZSxcbiAgICAgICAgICAgIGxhc3RVc2VkVGltZTogbnVsbFxuICAgICAgICB9O1xuICAgICAgICBzdGF0ZS5wcmVmZXRjaENhY2hlLnNldChwcmVmZXRjaENhY2hlS2V5LCBuZXdQcmVmZXRjaFZhbHVlKTtcbiAgICAgICAgcHJlZmV0Y2hWYWx1ZXMgPSBuZXdQcmVmZXRjaFZhbHVlO1xuICAgIH1cbiAgICBjb25zdCBwcmVmZXRjaEVudHJ5Q2FjaGVTdGF0dXMgPSAoMCwgX2dldHByZWZldGNoY2FjaGVlbnRyeXN0YXR1cy5nZXRQcmVmZXRjaEVudHJ5Q2FjaGVTdGF0dXMpKHByZWZldGNoVmFsdWVzKTtcbiAgICAvLyBUaGUgb25lIGJlZm9yZSBsYXN0IGl0ZW0gaXMgdGhlIHJvdXRlciBzdGF0ZSB0cmVlIHBhdGNoXG4gICAgY29uc3QgeyB0cmVlQXRUaW1lT2ZQcmVmZXRjaCwgZGF0YSB9ID0gcHJlZmV0Y2hWYWx1ZXM7XG4gICAgX3ByZWZldGNocmVkdWNlci5wcmVmZXRjaFF1ZXVlLmJ1bXAoZGF0YSk7XG4gICAgcmV0dXJuIGRhdGEudGhlbigocGFyYW0pPT57XG4gICAgICAgIGxldCBbZmxpZ2h0RGF0YSwgY2Fub25pY2FsVXJsT3ZlcnJpZGUsIHBvc3Rwb25lZF0gPSBwYXJhbTtcbiAgICAgICAgLy8gd2Ugb25seSB3YW50IHRvIG1hcmsgdGhpcyBvbmNlXG4gICAgICAgIGlmIChwcmVmZXRjaFZhbHVlcyAmJiAhcHJlZmV0Y2hWYWx1ZXMubGFzdFVzZWRUaW1lKSB7XG4gICAgICAgICAgICAvLyBpbXBvcnRhbnQ6IHdlIHNob3VsZCBvbmx5IG1hcmsgdGhlIGNhY2hlIG5vZGUgYXMgZGlydHkgYWZ0ZXIgd2UgdW5zdXNwZW5kIGZyb20gdGhlIGNhbGwgYWJvdmVcbiAgICAgICAgICAgIHByZWZldGNoVmFsdWVzLmxhc3RVc2VkVGltZSA9IERhdGUubm93KCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSGFuZGxlIGNhc2Ugd2hlbiBuYXZpZ2F0aW5nIHRvIHBhZ2UgaW4gYHBhZ2VzYCBmcm9tIGBhcHBgXG4gICAgICAgIGlmICh0eXBlb2YgZmxpZ2h0RGF0YSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIGhhbmRsZUV4dGVybmFsVXJsKHN0YXRlLCBtdXRhYmxlLCBmbGlnaHREYXRhLCBwZW5kaW5nUHVzaCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGN1cnJlbnRUcmVlID0gc3RhdGUudHJlZTtcbiAgICAgICAgbGV0IGN1cnJlbnRDYWNoZSA9IHN0YXRlLmNhY2hlO1xuICAgICAgICBsZXQgc2Nyb2xsYWJsZVNlZ21lbnRzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgZmxpZ2h0RGF0YVBhdGggb2YgZmxpZ2h0RGF0YSl7XG4gICAgICAgICAgICBjb25zdCBmbGlnaHRTZWdtZW50UGF0aCA9IGZsaWdodERhdGFQYXRoLnNsaWNlKDAsIC00KTtcbiAgICAgICAgICAgIC8vIFRoZSBvbmUgYmVmb3JlIGxhc3QgaXRlbSBpcyB0aGUgcm91dGVyIHN0YXRlIHRyZWUgcGF0Y2hcbiAgICAgICAgICAgIGNvbnN0IHRyZWVQYXRjaCA9IGZsaWdodERhdGFQYXRoLnNsaWNlKC0zKVswXTtcbiAgICAgICAgICAgIC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgICAgICAgIGNvbnN0IGZsaWdodFNlZ21lbnRQYXRoV2l0aExlYWRpbmdFbXB0eSA9IFtcbiAgICAgICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgICAgIC4uLmZsaWdodFNlZ21lbnRQYXRoXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgLy8gQ3JlYXRlIG5ldyB0cmVlIGJhc2VkIG9uIHRoZSBmbGlnaHRTZWdtZW50UGF0aCBhbmQgcm91dGVyIHN0YXRlIHBhdGNoXG4gICAgICAgICAgICBsZXQgbmV3VHJlZSA9ICgwLCBfYXBwbHlyb3V0ZXJzdGF0ZXBhdGNodG90cmVlLmFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZVNraXBEZWZhdWx0KSgvLyBUT0RPLUFQUDogcmVtb3ZlICcnXG4gICAgICAgICAgICBmbGlnaHRTZWdtZW50UGF0aFdpdGhMZWFkaW5nRW1wdHksIGN1cnJlbnRUcmVlLCB0cmVlUGF0Y2gpO1xuICAgICAgICAgICAgLy8gSWYgdGhlIHRyZWUgcGF0Y2ggY2FuJ3QgYmUgYXBwbGllZCB0byB0aGUgY3VycmVudCB0cmVlIHRoZW4gd2UgdXNlIHRoZSB0cmVlIGF0IHRpbWUgb2YgcHJlZmV0Y2hcbiAgICAgICAgICAgIC8vIFRPRE8tQVBQOiBUaGlzIHNob3VsZCBpbnN0ZWFkIGZpbGwgaW4gdGhlIG1pc3NpbmcgcGllY2VzIGluIGBjdXJyZW50VHJlZWAgd2l0aCB0aGUgZGF0YSBmcm9tIGB0cmVlQXRUaW1lT2ZQcmVmZXRjaGAsIHRoZW4gYXBwbHkgdGhlIHBhdGNoLlxuICAgICAgICAgICAgaWYgKG5ld1RyZWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBuZXdUcmVlID0gKDAsIF9hcHBseXJvdXRlcnN0YXRlcGF0Y2h0b3RyZWUuYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlU2tpcERlZmF1bHQpKC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgICAgICAgICAgICBmbGlnaHRTZWdtZW50UGF0aFdpdGhMZWFkaW5nRW1wdHksIHRyZWVBdFRpbWVPZlByZWZldGNoLCB0cmVlUGF0Y2gpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG5ld1RyZWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBpZiAoKDAsIF9pc25hdmlnYXRpbmd0b25ld3Jvb3RsYXlvdXQuaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0KShjdXJyZW50VHJlZSwgbmV3VHJlZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZUV4dGVybmFsVXJsKHN0YXRlLCBtdXRhYmxlLCBocmVmLCBwZW5kaW5nUHVzaCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGNhY2hlID0gKDAsIF9hcHByb3V0ZXIuY3JlYXRlRW1wdHlDYWNoZU5vZGUpKCk7XG4gICAgICAgICAgICAgICAgbGV0IGFwcGxpZWQgPSAoMCwgX2FwcGx5ZmxpZ2h0ZGF0YS5hcHBseUZsaWdodERhdGEpKGN1cnJlbnRDYWNoZSwgY2FjaGUsIGZsaWdodERhdGFQYXRoLCAocHJlZmV0Y2hWYWx1ZXMgPT0gbnVsbCA/IHZvaWQgMCA6IHByZWZldGNoVmFsdWVzLmtpbmQpID09PSBcImF1dG9cIiAmJiBwcmVmZXRjaEVudHJ5Q2FjaGVTdGF0dXMgPT09IF9nZXRwcmVmZXRjaGNhY2hlZW50cnlzdGF0dXMuUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzLnJldXNhYmxlKTtcbiAgICAgICAgICAgICAgICBpZiAoIWFwcGxpZWQgJiYgcHJlZmV0Y2hFbnRyeUNhY2hlU3RhdHVzID09PSBfZ2V0cHJlZmV0Y2hjYWNoZWVudHJ5c3RhdHVzLlByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cy5zdGFsZSB8fCAvLyBUT0RPLUFQUDogSWYgdGhlIHByZWZldGNoIHdhcyBwb3N0cG9uZWQsIHdlIGRvbid0IHdhbnQgdG8gYXBwbHkgaXRcbiAgICAgICAgICAgICAgICAvLyB1bnRpbCB3ZSBsYW5kIHJvdXRlciBjaGFuZ2VzIHRvIGhhbmRsZSB0aGUgcG9zdHBvbmVkIGNhc2UuXG4gICAgICAgICAgICAgICAgcG9zdHBvbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGFwcGxpZWQgPSBhZGRSZWZldGNoVG9MZWFmU2VnbWVudHMoY2FjaGUsIGN1cnJlbnRDYWNoZSwgZmxpZ2h0U2VnbWVudFBhdGgsIHRyZWVQYXRjaCwgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWxvb3AtZnVuY1xuICAgICAgICAgICAgICAgICAgICAoKT0+KDAsIF9mZXRjaHNlcnZlcnJlc3BvbnNlLmZldGNoU2VydmVyUmVzcG9uc2UpKHVybCwgY3VycmVudFRyZWUsIHN0YXRlLm5leHRVcmwsIHN0YXRlLmJ1aWxkSWQpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgaGFyZE5hdmlnYXRlID0gKDAsIF9zaG91bGRoYXJkbmF2aWdhdGUuc2hvdWxkSGFyZE5hdmlnYXRlKSgvLyBUT0RPLUFQUDogcmVtb3ZlICcnXG4gICAgICAgICAgICAgICAgZmxpZ2h0U2VnbWVudFBhdGhXaXRoTGVhZGluZ0VtcHR5LCBjdXJyZW50VHJlZSk7XG4gICAgICAgICAgICAgICAgaWYgKGhhcmROYXZpZ2F0ZSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBDb3B5IHJzYyBmb3IgdGhlIHJvb3Qgbm9kZSBvZiB0aGUgY2FjaGUuXG4gICAgICAgICAgICAgICAgICAgIGNhY2hlLnJzYyA9IGN1cnJlbnRDYWNoZS5yc2M7XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlLnByZWZldGNoUnNjID0gY3VycmVudENhY2hlLnByZWZldGNoUnNjO1xuICAgICAgICAgICAgICAgICAgICAoMCwgX2ludmFsaWRhdGVjYWNoZWJlbG93ZmxpZ2h0c2VnbWVudHBhdGguaW52YWxpZGF0ZUNhY2hlQmVsb3dGbGlnaHRTZWdtZW50UGF0aCkoY2FjaGUsIGN1cnJlbnRDYWNoZSwgZmxpZ2h0U2VnbWVudFBhdGgpO1xuICAgICAgICAgICAgICAgICAgICAvLyBFbnN1cmUgdGhlIGV4aXN0aW5nIGNhY2hlIHZhbHVlIGlzIHVzZWQgd2hlbiB0aGUgY2FjaGUgd2FzIG5vdCBpbnZhbGlkYXRlZC5cbiAgICAgICAgICAgICAgICAgICAgbXV0YWJsZS5jYWNoZSA9IGNhY2hlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYXBwbGllZCkge1xuICAgICAgICAgICAgICAgICAgICBtdXRhYmxlLmNhY2hlID0gY2FjaGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGN1cnJlbnRDYWNoZSA9IGNhY2hlO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRUcmVlID0gbmV3VHJlZTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHN1YlNlZ21lbnQgb2YgZ2VuZXJhdGVTZWdtZW50c0Zyb21QYXRjaCh0cmVlUGF0Y2gpKXtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsYWJsZVNlZ21lbnRQYXRoID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZmxpZ2h0U2VnbWVudFBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5zdWJTZWdtZW50XG4gICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgICAgIC8vIEZpbHRlciBvdXQgdGhlIF9fREVGQVVMVF9fIHBhdGhzIGFzIHRoZXkgc2hvdWxkbid0IGJlIHNjcm9sbGVkIHRvIGluIHRoaXMgY2FzZS5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHNjcm9sbGFibGVTZWdtZW50UGF0aFtzY3JvbGxhYmxlU2VnbWVudFBhdGgubGVuZ3RoIC0gMV0gIT09IF9zZWdtZW50LkRFRkFVTFRfU0VHTUVOVF9LRVkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGFibGVTZWdtZW50cy5wdXNoKHNjcm9sbGFibGVTZWdtZW50UGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbXV0YWJsZS5wYXRjaGVkVHJlZSA9IGN1cnJlbnRUcmVlO1xuICAgICAgICBtdXRhYmxlLmNhbm9uaWNhbFVybCA9IGNhbm9uaWNhbFVybE92ZXJyaWRlID8gKDAsIF9jcmVhdGVocmVmZnJvbXVybC5jcmVhdGVIcmVmRnJvbVVybCkoY2Fub25pY2FsVXJsT3ZlcnJpZGUpIDogaHJlZjtcbiAgICAgICAgbXV0YWJsZS5wZW5kaW5nUHVzaCA9IHBlbmRpbmdQdXNoO1xuICAgICAgICBtdXRhYmxlLnNjcm9sbGFibGVTZWdtZW50cyA9IHNjcm9sbGFibGVTZWdtZW50cztcbiAgICAgICAgbXV0YWJsZS5oYXNoRnJhZ21lbnQgPSBoYXNoO1xuICAgICAgICBtdXRhYmxlLnNob3VsZFNjcm9sbCA9IHNob3VsZFNjcm9sbDtcbiAgICAgICAgcmV0dXJuICgwLCBfaGFuZGxlbXV0YWJsZS5oYW5kbGVNdXRhYmxlKShzdGF0ZSwgbXV0YWJsZSk7XG4gICAgfSwgKCk9PnN0YXRlKTtcbn1cbi8vIFRoaXMgaXMgdGhlIGV4cGVyaW1lbnRhbCBQUFIgaW1wbGVtZW50YXRpb24uIEl0J3MgY2xvc2VyIHRvIHRoZSBiZWhhdmlvciB3ZVxuLy8gd2FudCwgYnV0IGlzIGxpa2VsaWVyIHRvIGluY2x1ZGUgYWNjaWRlbnRhbCByZWdyZXNzaW9ucyBiZWNhdXNlIGl0IHJld3JpdGVzXG4vLyBleGlzdGluZyBmdW5jdGlvbmFsaXR5LlxuZnVuY3Rpb24gbmF2aWdhdGVSZWR1Y2VyX1BQUihzdGF0ZSwgYWN0aW9uKSB7XG4gICAgY29uc3QgeyB1cmwsIGlzRXh0ZXJuYWxVcmwsIG5hdmlnYXRlVHlwZSwgc2hvdWxkU2Nyb2xsIH0gPSBhY3Rpb247XG4gICAgY29uc3QgbXV0YWJsZSA9IHt9O1xuICAgIGNvbnN0IHsgaGFzaCB9ID0gdXJsO1xuICAgIGNvbnN0IGhyZWYgPSAoMCwgX2NyZWF0ZWhyZWZmcm9tdXJsLmNyZWF0ZUhyZWZGcm9tVXJsKSh1cmwpO1xuICAgIGNvbnN0IHBlbmRpbmdQdXNoID0gbmF2aWdhdGVUeXBlID09PSBcInB1c2hcIjtcbiAgICAvLyB3ZSB3YW50IHRvIHBydW5lIHRoZSBwcmVmZXRjaCBjYWNoZSBvbiBldmVyeSBuYXZpZ2F0aW9uIHRvIGF2b2lkIGl0IGdyb3dpbmcgdG9vIGxhcmdlXG4gICAgKDAsIF9wcnVuZXByZWZldGNoY2FjaGUucHJ1bmVQcmVmZXRjaENhY2hlKShzdGF0ZS5wcmVmZXRjaENhY2hlKTtcbiAgICBtdXRhYmxlLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlID0gZmFsc2U7XG4gICAgaWYgKGlzRXh0ZXJuYWxVcmwpIHtcbiAgICAgICAgcmV0dXJuIGhhbmRsZUV4dGVybmFsVXJsKHN0YXRlLCBtdXRhYmxlLCB1cmwudG9TdHJpbmcoKSwgcGVuZGluZ1B1c2gpO1xuICAgIH1cbiAgICBjb25zdCBwcmVmZXRjaENhY2hlS2V5ID0gKDAsIF9jcmVhdGVwcmVmZXRjaGNhY2hla2V5LmNyZWF0ZVByZWZldGNoQ2FjaGVLZXkpKHVybCwgc3RhdGUubmV4dFVybCk7XG4gICAgbGV0IHByZWZldGNoVmFsdWVzID0gc3RhdGUucHJlZmV0Y2hDYWNoZS5nZXQocHJlZmV0Y2hDYWNoZUtleSk7XG4gICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIHByZWZldGNoIHZhbHVlLCB3ZSBuZWVkIHRvIGNyZWF0ZSBvbmVcbiAgICBpZiAoIXByZWZldGNoVmFsdWVzKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSAoMCwgX2ZldGNoc2VydmVycmVzcG9uc2UuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkodXJsLCBzdGF0ZS50cmVlLCBzdGF0ZS5uZXh0VXJsLCBzdGF0ZS5idWlsZElkLCAvLyBpbiBkZXYsIHRoZXJlJ3MgbmV2ZXIgZ29ubmEgYmUgYSBwcmVmZXRjaCBlbnRyeSBzbyB3ZSB3YW50IHRvIHByZWZldGNoIGhlcmVcbiAgICAgICAgLy8gaW4gb3JkZXIgdG8gc2ltdWxhdGUgdGhlIGJlaGF2aW9yIG9mIHRoZSBwcmVmZXRjaCBjYWNoZVxuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiID8gX3JvdXRlcnJlZHVjZXJ0eXBlcy5QcmVmZXRjaEtpbmQuQVVUTyA6IHVuZGVmaW5lZCk7XG4gICAgICAgIGNvbnN0IG5ld1ByZWZldGNoVmFsdWUgPSB7XG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgLy8gdGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IHRoZSBlbnRyeSB3aWxsIGJlIGRpc2NhcmRlZCBhZnRlciAzMHNcbiAgICAgICAgICAgIGtpbmQ6IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIgPyBfcm91dGVycmVkdWNlcnR5cGVzLlByZWZldGNoS2luZC5BVVRPIDogX3JvdXRlcnJlZHVjZXJ0eXBlcy5QcmVmZXRjaEtpbmQuVEVNUE9SQVJZLFxuICAgICAgICAgICAgcHJlZmV0Y2hUaW1lOiBEYXRlLm5vdygpLFxuICAgICAgICAgICAgdHJlZUF0VGltZU9mUHJlZmV0Y2g6IHN0YXRlLnRyZWUsXG4gICAgICAgICAgICBsYXN0VXNlZFRpbWU6IG51bGxcbiAgICAgICAgfTtcbiAgICAgICAgc3RhdGUucHJlZmV0Y2hDYWNoZS5zZXQocHJlZmV0Y2hDYWNoZUtleSwgbmV3UHJlZmV0Y2hWYWx1ZSk7XG4gICAgICAgIHByZWZldGNoVmFsdWVzID0gbmV3UHJlZmV0Y2hWYWx1ZTtcbiAgICB9XG4gICAgY29uc3QgcHJlZmV0Y2hFbnRyeUNhY2hlU3RhdHVzID0gKDAsIF9nZXRwcmVmZXRjaGNhY2hlZW50cnlzdGF0dXMuZ2V0UHJlZmV0Y2hFbnRyeUNhY2hlU3RhdHVzKShwcmVmZXRjaFZhbHVlcyk7XG4gICAgLy8gVGhlIG9uZSBiZWZvcmUgbGFzdCBpdGVtIGlzIHRoZSByb3V0ZXIgc3RhdGUgdHJlZSBwYXRjaFxuICAgIGNvbnN0IHsgdHJlZUF0VGltZU9mUHJlZmV0Y2gsIGRhdGEgfSA9IHByZWZldGNoVmFsdWVzO1xuICAgIF9wcmVmZXRjaHJlZHVjZXIucHJlZmV0Y2hRdWV1ZS5idW1wKGRhdGEpO1xuICAgIHJldHVybiBkYXRhLnRoZW4oKHBhcmFtKT0+e1xuICAgICAgICBsZXQgW2ZsaWdodERhdGEsIGNhbm9uaWNhbFVybE92ZXJyaWRlLCBfcG9zdHBvbmVkXSA9IHBhcmFtO1xuICAgICAgICAvLyB3ZSBvbmx5IHdhbnQgdG8gbWFyayB0aGlzIG9uY2VcbiAgICAgICAgaWYgKHByZWZldGNoVmFsdWVzICYmICFwcmVmZXRjaFZhbHVlcy5sYXN0VXNlZFRpbWUpIHtcbiAgICAgICAgICAgIC8vIGltcG9ydGFudDogd2Ugc2hvdWxkIG9ubHkgbWFyayB0aGUgY2FjaGUgbm9kZSBhcyBkaXJ0eSBhZnRlciB3ZSB1bnN1c3BlbmQgZnJvbSB0aGUgY2FsbCBhYm92ZVxuICAgICAgICAgICAgcHJlZmV0Y2hWYWx1ZXMubGFzdFVzZWRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBIYW5kbGUgY2FzZSB3aGVuIG5hdmlnYXRpbmcgdG8gcGFnZSBpbiBgcGFnZXNgIGZyb20gYGFwcGBcbiAgICAgICAgaWYgKHR5cGVvZiBmbGlnaHREYXRhID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gaGFuZGxlRXh0ZXJuYWxVcmwoc3RhdGUsIG11dGFibGUsIGZsaWdodERhdGEsIHBlbmRpbmdQdXNoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY3VycmVudFRyZWUgPSBzdGF0ZS50cmVlO1xuICAgICAgICBsZXQgY3VycmVudENhY2hlID0gc3RhdGUuY2FjaGU7XG4gICAgICAgIGxldCBzY3JvbGxhYmxlU2VnbWVudHMgPSBbXTtcbiAgICAgICAgLy8gVE9ETzogSW4gcHJhY3RpY2UsIHRoaXMgaXMgYWx3YXlzIGEgc2luZ2xlIGl0ZW0gYXJyYXkuIFdlIHByb2JhYmx5XG4gICAgICAgIC8vIGFyZW4ndCBnb2luZyB0byBldmVyeSBzZW5kIG11bHRpcGxlIHNlZ21lbnRzLCBhdCBsZWFzdCBub3QgaW4gdGhpc1xuICAgICAgICAvLyBmb3JtYXQuIFNvIHdlIGNvdWxkIHJlbW92ZSB0aGUgZXh0cmEgd3JhcHBlciBmb3Igbm93IHVudGlsXG4gICAgICAgIC8vIHRoYXQgc2V0dGxlcy5cbiAgICAgICAgZm9yIChjb25zdCBmbGlnaHREYXRhUGF0aCBvZiBmbGlnaHREYXRhKXtcbiAgICAgICAgICAgIGNvbnN0IGZsaWdodFNlZ21lbnRQYXRoID0gZmxpZ2h0RGF0YVBhdGguc2xpY2UoMCwgLTQpO1xuICAgICAgICAgICAgLy8gVGhlIG9uZSBiZWZvcmUgbGFzdCBpdGVtIGlzIHRoZSByb3V0ZXIgc3RhdGUgdHJlZSBwYXRjaFxuICAgICAgICAgICAgY29uc3QgdHJlZVBhdGNoID0gZmxpZ2h0RGF0YVBhdGguc2xpY2UoLTMpWzBdO1xuICAgICAgICAgICAgLy8gVE9ETy1BUFA6IHJlbW92ZSAnJ1xuICAgICAgICAgICAgY29uc3QgZmxpZ2h0U2VnbWVudFBhdGhXaXRoTGVhZGluZ0VtcHR5ID0gW1xuICAgICAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICAgICAgLi4uZmxpZ2h0U2VnbWVudFBhdGhcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICAvLyBDcmVhdGUgbmV3IHRyZWUgYmFzZWQgb24gdGhlIGZsaWdodFNlZ21lbnRQYXRoIGFuZCByb3V0ZXIgc3RhdGUgcGF0Y2hcbiAgICAgICAgICAgIGxldCBuZXdUcmVlID0gKDAsIF9hcHBseXJvdXRlcnN0YXRlcGF0Y2h0b3RyZWUuYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlU2tpcERlZmF1bHQpKC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgICAgICAgIGZsaWdodFNlZ21lbnRQYXRoV2l0aExlYWRpbmdFbXB0eSwgY3VycmVudFRyZWUsIHRyZWVQYXRjaCk7XG4gICAgICAgICAgICAvLyBJZiB0aGUgdHJlZSBwYXRjaCBjYW4ndCBiZSBhcHBsaWVkIHRvIHRoZSBjdXJyZW50IHRyZWUgdGhlbiB3ZSB1c2UgdGhlIHRyZWUgYXQgdGltZSBvZiBwcmVmZXRjaFxuICAgICAgICAgICAgLy8gVE9ETy1BUFA6IFRoaXMgc2hvdWxkIGluc3RlYWQgZmlsbCBpbiB0aGUgbWlzc2luZyBwaWVjZXMgaW4gYGN1cnJlbnRUcmVlYCB3aXRoIHRoZSBkYXRhIGZyb20gYHRyZWVBdFRpbWVPZlByZWZldGNoYCwgdGhlbiBhcHBseSB0aGUgcGF0Y2guXG4gICAgICAgICAgICBpZiAobmV3VHJlZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIG5ld1RyZWUgPSAoMCwgX2FwcGx5cm91dGVyc3RhdGVwYXRjaHRvdHJlZS5hcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVTa2lwRGVmYXVsdCkoLy8gVE9ETy1BUFA6IHJlbW92ZSAnJ1xuICAgICAgICAgICAgICAgIGZsaWdodFNlZ21lbnRQYXRoV2l0aExlYWRpbmdFbXB0eSwgdHJlZUF0VGltZU9mUHJlZmV0Y2gsIHRyZWVQYXRjaCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobmV3VHJlZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGlmICgoMCwgX2lzbmF2aWdhdGluZ3RvbmV3cm9vdGxheW91dC5pc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQpKGN1cnJlbnRUcmVlLCBuZXdUcmVlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGFuZGxlRXh0ZXJuYWxVcmwoc3RhdGUsIG11dGFibGUsIGhyZWYsIHBlbmRpbmdQdXNoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKC8vIFRoaXMgaXMganVzdCBhIHBhcmFub2lkIGNoZWNrLiBXaGVuIFBQUiBpcyBlbmFibGVkLCB0aGUgc2VydmVyXG4gICAgICAgICAgICAgICAgLy8gd2lsbCBhbHdheXMgc2VuZCBiYWNrIGEgc3RhdGljIHJlc3BvbnNlIHRoYXQncyByZW5kZXJlZCBmcm9tXG4gICAgICAgICAgICAgICAgLy8gdGhlIHJvb3QuIElmIGZvciBzb21lIHJlYXNvbiBpdCBkb2Vzbid0LCB3ZSBmYWxsIGJhY2sgdG8gdGhlXG4gICAgICAgICAgICAgICAgLy8gbm9uLVBQUiBpbXBsZW1lbnRhdGlvbi5cbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBXZSBzaG91bGQgZ2V0IHJpZCBvZiB0aGUgZWxzZSBicmFuY2ggYW5kIGRvIGFsbCBuYXZpZ2F0aW9uc1xuICAgICAgICAgICAgICAgIC8vIHZpYSB1cGRhdGVDYWNoZU5vZGVPbk5hdmlnYXRpb24uIFRoZSBjdXJyZW50IHN0cnVjdHVyZSBpcyBqdXN0XG4gICAgICAgICAgICAgICAgLy8gYW4gaW5jcmVtZW50YWwgc3RlcC5cbiAgICAgICAgICAgICAgICBmbGlnaHREYXRhUGF0aC5sZW5ndGggPT09IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJlZmV0Y2hlZFRyZWUgPSBmbGlnaHREYXRhUGF0aFswXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VlZERhdGEgPSBmbGlnaHREYXRhUGF0aFsxXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaGVhZCA9IGZsaWdodERhdGFQYXRoWzJdO1xuICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSBwcmVmZXRjaGVkIGRhdGEgaXMgc3RhbGUuIElmIHNvLCB3ZSdsbFxuICAgICAgICAgICAgICAgICAgICAvLyBpZ25vcmUgaXQgYW5kIHdhaXQgZm9yIHRoZSBkeW5hbWljIGRhdGEgdG8gc3RyZWFtIGluIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAvLyBzaG93aW5nIG5ldyBzZWdtZW50cy5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNQcmVmZXRjaFN0YWxlID0gcHJlZmV0Y2hFbnRyeUNhY2hlU3RhdHVzID09PSBfZ2V0cHJlZmV0Y2hjYWNoZWVudHJ5c3RhdHVzLlByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cy5zdGFsZTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFzayA9ICgwLCBfcHBybmF2aWdhdGlvbnMudXBkYXRlQ2FjaGVOb2RlT25OYXZpZ2F0aW9uKShjdXJyZW50Q2FjaGUsIGN1cnJlbnRUcmVlLCBwcmVmZXRjaGVkVHJlZSwgc2VlZERhdGEsIGhlYWQsIGlzUHJlZmV0Y2hTdGFsZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0YXNrICE9PSBudWxsICYmIHRhc2subm9kZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UndmUgY3JlYXRlZCBhIG5ldyBDYWNoZSBOb2RlIHRyZWUgdGhhdCBjb250YWlucyBhIHByZWZldGNoZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZlcnNpb24gb2YgdGhlIG5leHQgcGFnZS4gVGhpcyBjYW4gYmUgcmVuZGVyZWQgaW5zdGFudGx5LlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVXNlIHRoZSB0cmVlIGNvbXB1dGVkIGJ5IHVwZGF0ZUNhY2hlTm9kZU9uTmF2aWdhdGlvbiBpbnN0ZWFkXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvZiB0aGUgb25lIGNvbXB1dGVkIGJ5IGFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZVNraXBEZWZhdWx0LlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogV2Ugc2hvdWxkIHJlbW92ZSBhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVTa2lwRGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZnJvbSB0aGUgUFBSIHBhdGggZW50aXJlbHkuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRjaGVkUm91dGVyU3RhdGUgPSB0YXNrLnJvdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VHJlZSA9IHBhdGNoZWRSb3V0ZXJTdGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NhY2hlID0gdGFzay5ub2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHByZWZldGNoZWQgdHJlZSBoYXMgZHluYW1pYyBob2xlcyBpbiBpdC4gV2UgaW5pdGlhdGUgYVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZHluYW1pYyByZXF1ZXN0IHRvIGZpbGwgdGhlbSBpbi5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBEbyBub3QgYmxvY2sgb24gdGhlIHJlc3VsdC4gV2UnbGwgaW1tZWRpYXRlbHkgcmVuZGVyIHRoZSBDYWNoZVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm9kZSB0cmVlIGFuZCBzdXNwZW5kIG9uIHRoZSBkeW5hbWljIHBhcnRzLiBXaGVuIHRoZSByZXF1ZXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb21lcyBpbiwgd2UnbGwgZmlsbCBpbiBtaXNzaW5nIGRhdGEgYW5kIHBpbmcgUmVhY3QgdG9cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlLXJlbmRlci4gVW5saWtlIHRoZSBsYXp5IGZldGNoaW5nIG1vZGVsIGluIHRoZSBub24tUFBSXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpbXBsZW1lbnRhdGlvbiwgdGhpcyBpcyBtb2RlbGVkIGFzIGEgc2luZ2xlIFJlYWN0IHVwZGF0ZSArXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzdHJlYW1pbmcsIHJhdGhlciB0aGFuIG11bHRpcGxlIHRvcC1sZXZlbCB1cGRhdGVzLiAoSG93ZXZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGV2ZW4gaW4gdGhlIG5ldyBtb2RlbCwgd2UnbGwgc3RpbGwgbmVlZCB0byBzb21ldGltZXMgdXBkYXRlIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcm9vdCBtdWx0aXBsZSB0aW1lcyBwZXIgbmF2aWdhdGlvbiwgbGlrZSBpZiB0aGUgc2VydmVyIHNlbmRzIHVzXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhIGRpZmZlcmVudCByZXNwb25zZSB0aGFuIHdlIGV4cGVjdGVkLiBGb3Igbm93LCB3ZSByZXZlcnQgYmFja1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdG8gdGhlIGxhenkgZmV0Y2hpbmcgbWVjaGFuaXNtIGluIHRoYXQgY2FzZS4pXG4gICAgICAgICAgICAgICAgICAgICAgICAoMCwgX3Bwcm5hdmlnYXRpb25zLmxpc3RlbkZvckR5bmFtaWNSZXF1ZXN0KSh0YXNrLCAoMCwgX2ZldGNoc2VydmVycmVzcG9uc2UuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkodXJsLCBjdXJyZW50VHJlZSwgc3RhdGUubmV4dFVybCwgc3RhdGUuYnVpbGRJZCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbXV0YWJsZS5jYWNoZSA9IG5ld0NhY2hlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm90aGluZyBjaGFuZ2VkLCBzbyByZXVzZSB0aGUgb2xkIGNhY2hlLlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogV2hhdCBpZiB0aGUgaGVhZCBjaGFuZ2VkIGJ1dCBub3QgYW55IG9mIHRoZSBzZWdtZW50IGRhdGE/XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJcyB0aGF0IHBvc3NpYmxlPyBJZiBzbywgd2Ugc2hvdWxkIGNsb25lIHRoZSB3aG9sZSB0cmVlIGFuZFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdXBkYXRlIHRoZSBoZWFkLlxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VHJlZSA9IHByZWZldGNoZWRUcmVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHN0YXRpYyByZXNwb25zZSBkb2VzIG5vdCBpbmNsdWRlIGFueSBkeW5hbWljIGhvbGVzLCBzb1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGVyZSdzIG5vIG5lZWQgdG8gZG8gYSBzZWNvbmQgcmVxdWVzdC5cbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogQXMgYW4gaW5jcmVtZW50YWwgc3RlcCB0aGlzIGp1c3QgcmV2ZXJ0cyBiYWNrIHRvIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyBub24tUFBSIGltcGxlbWVudGF0aW9uLiBXZSBjYW4gc2ltcGxpZnkgdGhpcyBicmFuY2ggZnVydGhlcixcbiAgICAgICAgICAgICAgICAgICAgLy8gZ2l2ZW4gdGhhdCBQUFIgcHJlZmV0Y2hlcyBhcmUgYWx3YXlzIHN0YXRpYyBhbmQgcmV0dXJuIHRoZSB3aG9sZVxuICAgICAgICAgICAgICAgICAgICAvLyB0cmVlLiBPciBpbiB0aGUgbWVhbnRpbWUgd2UgY291bGQgZmFjdG9yIGl0IG91dCBpbnRvIGFcbiAgICAgICAgICAgICAgICAgICAgLy8gc2VwYXJhdGUgZnVuY3Rpb24uXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNhY2hlID0gKDAsIF9hcHByb3V0ZXIuY3JlYXRlRW1wdHlDYWNoZU5vZGUpKCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBhcHBsaWVkID0gKDAsIF9hcHBseWZsaWdodGRhdGEuYXBwbHlGbGlnaHREYXRhKShjdXJyZW50Q2FjaGUsIGNhY2hlLCBmbGlnaHREYXRhUGF0aCwgKHByZWZldGNoVmFsdWVzID09IG51bGwgPyB2b2lkIDAgOiBwcmVmZXRjaFZhbHVlcy5raW5kKSA9PT0gXCJhdXRvXCIgJiYgcHJlZmV0Y2hFbnRyeUNhY2hlU3RhdHVzID09PSBfZ2V0cHJlZmV0Y2hjYWNoZWVudHJ5c3RhdHVzLlByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cy5yZXVzYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghYXBwbGllZCAmJiBwcmVmZXRjaEVudHJ5Q2FjaGVTdGF0dXMgPT09IF9nZXRwcmVmZXRjaGNhY2hlZW50cnlzdGF0dXMuUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzLnN0YWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWVkID0gYWRkUmVmZXRjaFRvTGVhZlNlZ21lbnRzKGNhY2hlLCBjdXJyZW50Q2FjaGUsIGZsaWdodFNlZ21lbnRQYXRoLCB0cmVlUGF0Y2gsIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1sb29wLWZ1bmNcbiAgICAgICAgICAgICAgICAgICAgICAgICgpPT4oMCwgX2ZldGNoc2VydmVycmVzcG9uc2UuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkodXJsLCBjdXJyZW50VHJlZSwgc3RhdGUubmV4dFVybCwgc3RhdGUuYnVpbGRJZCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhcmROYXZpZ2F0ZSA9ICgwLCBfc2hvdWxkaGFyZG5hdmlnYXRlLnNob3VsZEhhcmROYXZpZ2F0ZSkoLy8gVE9ETy1BUFA6IHJlbW92ZSAnJ1xuICAgICAgICAgICAgICAgICAgICBmbGlnaHRTZWdtZW50UGF0aFdpdGhMZWFkaW5nRW1wdHksIGN1cnJlbnRUcmVlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGhhcmROYXZpZ2F0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29weSByc2MgZm9yIHRoZSByb290IG5vZGUgb2YgdGhlIGNhY2hlLlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGUucnNjID0gY3VycmVudENhY2hlLnJzYztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlLnByZWZldGNoUnNjID0gY3VycmVudENhY2hlLnByZWZldGNoUnNjO1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9pbnZhbGlkYXRlY2FjaGViZWxvd2ZsaWdodHNlZ21lbnRwYXRoLmludmFsaWRhdGVDYWNoZUJlbG93RmxpZ2h0U2VnbWVudFBhdGgpKGNhY2hlLCBjdXJyZW50Q2FjaGUsIGZsaWdodFNlZ21lbnRQYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuc3VyZSB0aGUgZXhpc3RpbmcgY2FjaGUgdmFsdWUgaXMgdXNlZCB3aGVuIHRoZSBjYWNoZSB3YXMgbm90IGludmFsaWRhdGVkLlxuICAgICAgICAgICAgICAgICAgICAgICAgbXV0YWJsZS5jYWNoZSA9IGNhY2hlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGFwcGxpZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG11dGFibGUuY2FjaGUgPSBjYWNoZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjdXJyZW50VHJlZSA9IG5ld1RyZWU7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBzdWJTZWdtZW50IG9mIGdlbmVyYXRlU2VnbWVudHNGcm9tUGF0Y2godHJlZVBhdGNoKSl7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbGFibGVTZWdtZW50UGF0aCA9IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZsaWdodFNlZ21lbnRQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3ViU2VnbWVudFxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgICAgICAvLyBGaWx0ZXIgb3V0IHRoZSBfX0RFRkFVTFRfXyBwYXRocyBhcyB0aGV5IHNob3VsZG4ndCBiZSBzY3JvbGxlZCB0byBpbiB0aGlzIGNhc2UuXG4gICAgICAgICAgICAgICAgICAgIGlmIChzY3JvbGxhYmxlU2VnbWVudFBhdGhbc2Nyb2xsYWJsZVNlZ21lbnRQYXRoLmxlbmd0aCAtIDFdICE9PSBfc2VnbWVudC5ERUZBVUxUX1NFR01FTlRfS0VZKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlU2VnbWVudHMucHVzaChzY3JvbGxhYmxlU2VnbWVudFBhdGgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG11dGFibGUucGF0Y2hlZFRyZWUgPSBjdXJyZW50VHJlZTtcbiAgICAgICAgbXV0YWJsZS5jYW5vbmljYWxVcmwgPSBjYW5vbmljYWxVcmxPdmVycmlkZSA/ICgwLCBfY3JlYXRlaHJlZmZyb211cmwuY3JlYXRlSHJlZkZyb21VcmwpKGNhbm9uaWNhbFVybE92ZXJyaWRlKSA6IGhyZWY7XG4gICAgICAgIG11dGFibGUucGVuZGluZ1B1c2ggPSBwZW5kaW5nUHVzaDtcbiAgICAgICAgbXV0YWJsZS5zY3JvbGxhYmxlU2VnbWVudHMgPSBzY3JvbGxhYmxlU2VnbWVudHM7XG4gICAgICAgIG11dGFibGUuaGFzaEZyYWdtZW50ID0gaGFzaDtcbiAgICAgICAgbXV0YWJsZS5zaG91bGRTY3JvbGwgPSBzaG91bGRTY3JvbGw7XG4gICAgICAgIHJldHVybiAoMCwgX2hhbmRsZW11dGFibGUuaGFuZGxlTXV0YWJsZSkoc3RhdGUsIG11dGFibGUpO1xuICAgIH0sICgpPT5zdGF0ZSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5hdmlnYXRlLXJlZHVjZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiaGFuZGxlRXh0ZXJuYWxVcmwiLCJuYXZpZ2F0ZVJlZHVjZXIiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfZmV0Y2hzZXJ2ZXJyZXNwb25zZSIsInJlcXVpcmUiLCJfY3JlYXRlaHJlZmZyb211cmwiLCJfaW52YWxpZGF0ZWNhY2hlYmVsb3dmbGlnaHRzZWdtZW50cGF0aCIsIl9maWxsY2FjaGV3aXRoZGF0YXByb3BlcnR5IiwiX2FwcGx5cm91dGVyc3RhdGVwYXRjaHRvdHJlZSIsIl9zaG91bGRoYXJkbmF2aWdhdGUiLCJfaXNuYXZpZ2F0aW5ndG9uZXdyb290bGF5b3V0IiwiX3JvdXRlcnJlZHVjZXJ0eXBlcyIsIl9oYW5kbGVtdXRhYmxlIiwiX2FwcGx5ZmxpZ2h0ZGF0YSIsIl9nZXRwcmVmZXRjaGNhY2hlZW50cnlzdGF0dXMiLCJfcHJ1bmVwcmVmZXRjaGNhY2hlIiwiX3ByZWZldGNocmVkdWNlciIsIl9hcHByb3V0ZXIiLCJfc2VnbWVudCIsIl9wcHJuYXZpZ2F0aW9ucyIsIl9jcmVhdGVwcmVmZXRjaGNhY2hla2V5Iiwic3RhdGUiLCJtdXRhYmxlIiwidXJsIiwicGVuZGluZ1B1c2giLCJtcGFOYXZpZ2F0aW9uIiwiY2Fub25pY2FsVXJsIiwic2Nyb2xsYWJsZVNlZ21lbnRzIiwidW5kZWZpbmVkIiwiaGFuZGxlTXV0YWJsZSIsImdlbmVyYXRlU2VnbWVudHNGcm9tUGF0Y2giLCJmbGlnaHRSb3V0ZXJQYXRjaCIsInNlZ21lbnRzIiwic2VnbWVudCIsInBhcmFsbGVsUm91dGVzIiwia2V5cyIsImxlbmd0aCIsInBhcmFsbGVsUm91dGVLZXkiLCJwYXJhbGxlbFJvdXRlIiwiZW50cmllcyIsImNoaWxkU2VnbWVudCIsInB1c2giLCJhZGRSZWZldGNoVG9MZWFmU2VnbWVudHMiLCJuZXdDYWNoZSIsImN1cnJlbnRDYWNoZSIsImZsaWdodFNlZ21lbnRQYXRoIiwidHJlZVBhdGNoIiwiZGF0YSIsImFwcGxpZWRQYXRjaCIsInJzYyIsInByZWZldGNoUnNjIiwiTWFwIiwic2VnbWVudFBhdGhzVG9GaWxsIiwibWFwIiwic2VnbWVudFBhdGhzIiwiZmlsbENhY2hlV2l0aERhdGFQcm9wZXJ0eSIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUFBSIiwibmF2aWdhdGVSZWR1Y2VyX1BQUiIsIm5hdmlnYXRlUmVkdWNlcl9ub1BQUiIsImFjdGlvbiIsImlzRXh0ZXJuYWxVcmwiLCJuYXZpZ2F0ZVR5cGUiLCJzaG91bGRTY3JvbGwiLCJoYXNoIiwiaHJlZiIsImNyZWF0ZUhyZWZGcm9tVXJsIiwicHJ1bmVQcmVmZXRjaENhY2hlIiwicHJlZmV0Y2hDYWNoZSIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwidG9TdHJpbmciLCJwcmVmZXRjaENhY2hlS2V5IiwiY3JlYXRlUHJlZmV0Y2hDYWNoZUtleSIsIm5leHRVcmwiLCJwcmVmZXRjaFZhbHVlcyIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJ0cmVlIiwiYnVpbGRJZCIsIlByZWZldGNoS2luZCIsIkFVVE8iLCJuZXdQcmVmZXRjaFZhbHVlIiwia2luZCIsIlRFTVBPUkFSWSIsInByZWZldGNoVGltZSIsIkRhdGUiLCJub3ciLCJ0cmVlQXRUaW1lT2ZQcmVmZXRjaCIsImxhc3RVc2VkVGltZSIsInNldCIsInByZWZldGNoRW50cnlDYWNoZVN0YXR1cyIsImdldFByZWZldGNoRW50cnlDYWNoZVN0YXR1cyIsInByZWZldGNoUXVldWUiLCJidW1wIiwidGhlbiIsInBhcmFtIiwiZmxpZ2h0RGF0YSIsImNhbm9uaWNhbFVybE92ZXJyaWRlIiwicG9zdHBvbmVkIiwiY3VycmVudFRyZWUiLCJjYWNoZSIsImZsaWdodERhdGFQYXRoIiwic2xpY2UiLCJmbGlnaHRTZWdtZW50UGF0aFdpdGhMZWFkaW5nRW1wdHkiLCJuZXdUcmVlIiwiYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlU2tpcERlZmF1bHQiLCJpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQiLCJjcmVhdGVFbXB0eUNhY2hlTm9kZSIsImFwcGxpZWQiLCJhcHBseUZsaWdodERhdGEiLCJQcmVmZXRjaENhY2hlRW50cnlTdGF0dXMiLCJyZXVzYWJsZSIsInN0YWxlIiwiaGFyZE5hdmlnYXRlIiwic2hvdWxkSGFyZE5hdmlnYXRlIiwiaW52YWxpZGF0ZUNhY2hlQmVsb3dGbGlnaHRTZWdtZW50UGF0aCIsInN1YlNlZ21lbnQiLCJzY3JvbGxhYmxlU2VnbWVudFBhdGgiLCJERUZBVUxUX1NFR01FTlRfS0VZIiwicGF0Y2hlZFRyZWUiLCJoYXNoRnJhZ21lbnQiLCJfcG9zdHBvbmVkIiwicHJlZmV0Y2hlZFRyZWUiLCJzZWVkRGF0YSIsImhlYWQiLCJpc1ByZWZldGNoU3RhbGUiLCJ0YXNrIiwidXBkYXRlQ2FjaGVOb2RlT25OYXZpZ2F0aW9uIiwibm9kZSIsInBhdGNoZWRSb3V0ZXJTdGF0ZSIsInJvdXRlIiwibGlzdGVuRm9yRHluYW1pY1JlcXVlc3QiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js": /*!**********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js ***! \**********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n prefetchQueue: function() {\n return prefetchQueue;\n },\n prefetchReducer: function() {\n return prefetchReducer;\n }\n});\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _routerreducertypes = __webpack_require__(/*! ../router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _pruneprefetchcache = __webpack_require__(/*! ./prune-prefetch-cache */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prune-prefetch-cache.js\");\nconst _approuterheaders = __webpack_require__(/*! ../../app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _promisequeue = __webpack_require__(/*! ../../promise-queue */ \"(ssr)/./node_modules/next/dist/client/components/promise-queue.js\");\nconst _createprefetchcachekey = __webpack_require__(/*! ./create-prefetch-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/create-prefetch-cache-key.js\");\nconst prefetchQueue = new _promisequeue.PromiseQueue(5);\nfunction prefetchReducer(state, action) {\n // let's prune the prefetch cache before we do anything else\n (0, _pruneprefetchcache.prunePrefetchCache)(state.prefetchCache);\n const { url } = action;\n url.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);\n const prefetchCacheKey = (0, _createprefetchcachekey.createPrefetchCacheKey)(url, state.nextUrl);\n const cacheEntry = state.prefetchCache.get(prefetchCacheKey);\n if (cacheEntry) {\n /**\n * If the cache entry present was marked as temporary, it means that we prefetched it from the navigate reducer,\n * where we didn't have the prefetch intent. We want to update it to the new, more accurate, kind here.\n */ if (cacheEntry.kind === _routerreducertypes.PrefetchKind.TEMPORARY) {\n state.prefetchCache.set(prefetchCacheKey, {\n ...cacheEntry,\n kind: action.kind\n });\n }\n /**\n * if the prefetch action was a full prefetch and that the current cache entry wasn't one, we want to re-prefetch,\n * otherwise we can re-use the current cache entry\n **/ if (!(cacheEntry.kind === _routerreducertypes.PrefetchKind.AUTO && action.kind === _routerreducertypes.PrefetchKind.FULL)) {\n return state;\n }\n }\n // fetchServerResponse is intentionally not awaited so that it can be unwrapped in the navigate-reducer\n const serverResponse = prefetchQueue.enqueue(()=>(0, _fetchserverresponse.fetchServerResponse)(url, state.tree, state.nextUrl, state.buildId, action.kind));\n // Create new tree based on the flightSegmentPath and router state patch\n state.prefetchCache.set(prefetchCacheKey, {\n // Create new tree based on the flightSegmentPath and router state patch\n treeAtTimeOfPrefetch: state.tree,\n data: serverResponse,\n kind: action.kind,\n prefetchTime: Date.now(),\n lastUsedTime: null\n });\n return state;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=prefetch-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3ByZWZldGNoLXJlZHVjZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLGVBQWU7UUFDWCxPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLHVCQUF1QkMsbUJBQU9BLENBQUMsMEhBQTBCO0FBQy9ELE1BQU1DLHNCQUFzQkQsbUJBQU9BLENBQUMsd0hBQXlCO0FBQzdELE1BQU1FLHNCQUFzQkYsbUJBQU9BLENBQUMsZ0lBQXdCO0FBQzVELE1BQU1HLG9CQUFvQkgsbUJBQU9BLENBQUMsd0dBQTBCO0FBQzVELE1BQU1JLGdCQUFnQkosbUJBQU9BLENBQUMsOEZBQXFCO0FBQ25ELE1BQU1LLDBCQUEwQkwsbUJBQU9BLENBQUMsMElBQTZCO0FBQ3JFLE1BQU1ULGdCQUFnQixJQUFJYSxjQUFjRSxZQUFZLENBQUM7QUFDckQsU0FBU2QsZ0JBQWdCZSxLQUFLLEVBQUVDLE1BQU07SUFDbEMsNERBQTREO0lBQzNELElBQUdOLG9CQUFvQk8sa0JBQWtCLEVBQUVGLE1BQU1HLGFBQWE7SUFDL0QsTUFBTSxFQUFFQyxHQUFHLEVBQUUsR0FBR0g7SUFDaEJHLElBQUlDLFlBQVksQ0FBQ0MsTUFBTSxDQUFDVixrQkFBa0JXLG9CQUFvQjtJQUM5RCxNQUFNQyxtQkFBbUIsQ0FBQyxHQUFHVix3QkFBd0JXLHNCQUFzQixFQUFFTCxLQUFLSixNQUFNVSxPQUFPO0lBQy9GLE1BQU1DLGFBQWFYLE1BQU1HLGFBQWEsQ0FBQ1osR0FBRyxDQUFDaUI7SUFDM0MsSUFBSUcsWUFBWTtRQUNaOzs7S0FHSCxHQUFHLElBQUlBLFdBQVdDLElBQUksS0FBS2xCLG9CQUFvQm1CLFlBQVksQ0FBQ0MsU0FBUyxFQUFFO1lBQ2hFZCxNQUFNRyxhQUFhLENBQUNZLEdBQUcsQ0FBQ1Asa0JBQWtCO2dCQUN0QyxHQUFHRyxVQUFVO2dCQUNiQyxNQUFNWCxPQUFPVyxJQUFJO1lBQ3JCO1FBQ0o7UUFDQTs7O01BR0YsR0FBRyxJQUFJLENBQUVELENBQUFBLFdBQVdDLElBQUksS0FBS2xCLG9CQUFvQm1CLFlBQVksQ0FBQ0csSUFBSSxJQUFJZixPQUFPVyxJQUFJLEtBQUtsQixvQkFBb0JtQixZQUFZLENBQUNJLElBQUksR0FBRztZQUN4SCxPQUFPakI7UUFDWDtJQUNKO0lBQ0EsdUdBQXVHO0lBQ3ZHLE1BQU1rQixpQkFBaUJsQyxjQUFjbUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHM0IscUJBQXFCNEIsbUJBQW1CLEVBQUVoQixLQUMzRkosTUFBTXFCLElBQUksRUFBRXJCLE1BQU1VLE9BQU8sRUFBRVYsTUFBTXNCLE9BQU8sRUFBRXJCLE9BQU9XLElBQUk7SUFDekQsd0VBQXdFO0lBQ3hFWixNQUFNRyxhQUFhLENBQUNZLEdBQUcsQ0FBQ1Asa0JBQWtCO1FBQ3RDLHdFQUF3RTtRQUN4RWUsc0JBQXNCdkIsTUFBTXFCLElBQUk7UUFDaENHLE1BQU1OO1FBQ05OLE1BQU1YLE9BQU9XLElBQUk7UUFDakJhLGNBQWNDLEtBQUtDLEdBQUc7UUFDdEJDLGNBQWM7SUFDbEI7SUFDQSxPQUFPNUI7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPbkIsUUFBUWdELE9BQU8sS0FBSyxjQUFlLE9BQU9oRCxRQUFRZ0QsT0FBTyxLQUFLLFlBQVloRCxRQUFRZ0QsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPaEQsUUFBUWdELE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktuRCxPQUFPQyxjQUFjLENBQUNDLFFBQVFnRCxPQUFPLEVBQUUsY0FBYztRQUFFL0MsT0FBTztJQUFLO0lBQ25FSCxPQUFPb0QsTUFBTSxDQUFDbEQsUUFBUWdELE9BQU8sRUFBRWhEO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVFnRCxPQUFPO0FBQ2xDLEVBRUEsNENBQTRDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9wcmVmZXRjaC1yZWR1Y2VyLmpzPzNiM2IiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBwcmVmZXRjaFF1ZXVlOiBudWxsLFxuICAgIHByZWZldGNoUmVkdWNlcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBwcmVmZXRjaFF1ZXVlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHByZWZldGNoUXVldWU7XG4gICAgfSxcbiAgICBwcmVmZXRjaFJlZHVjZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcHJlZmV0Y2hSZWR1Y2VyO1xuICAgIH1cbn0pO1xuY29uc3QgX2ZldGNoc2VydmVycmVzcG9uc2UgPSByZXF1aXJlKFwiLi4vZmV0Y2gtc2VydmVyLXJlc3BvbnNlXCIpO1xuY29uc3QgX3JvdXRlcnJlZHVjZXJ0eXBlcyA9IHJlcXVpcmUoXCIuLi9yb3V0ZXItcmVkdWNlci10eXBlc1wiKTtcbmNvbnN0IF9wcnVuZXByZWZldGNoY2FjaGUgPSByZXF1aXJlKFwiLi9wcnVuZS1wcmVmZXRjaC1jYWNoZVwiKTtcbmNvbnN0IF9hcHByb3V0ZXJoZWFkZXJzID0gcmVxdWlyZShcIi4uLy4uL2FwcC1yb3V0ZXItaGVhZGVyc1wiKTtcbmNvbnN0IF9wcm9taXNlcXVldWUgPSByZXF1aXJlKFwiLi4vLi4vcHJvbWlzZS1xdWV1ZVwiKTtcbmNvbnN0IF9jcmVhdGVwcmVmZXRjaGNhY2hla2V5ID0gcmVxdWlyZShcIi4vY3JlYXRlLXByZWZldGNoLWNhY2hlLWtleVwiKTtcbmNvbnN0IHByZWZldGNoUXVldWUgPSBuZXcgX3Byb21pc2VxdWV1ZS5Qcm9taXNlUXVldWUoNSk7XG5mdW5jdGlvbiBwcmVmZXRjaFJlZHVjZXIoc3RhdGUsIGFjdGlvbikge1xuICAgIC8vIGxldCdzIHBydW5lIHRoZSBwcmVmZXRjaCBjYWNoZSBiZWZvcmUgd2UgZG8gYW55dGhpbmcgZWxzZVxuICAgICgwLCBfcHJ1bmVwcmVmZXRjaGNhY2hlLnBydW5lUHJlZmV0Y2hDYWNoZSkoc3RhdGUucHJlZmV0Y2hDYWNoZSk7XG4gICAgY29uc3QgeyB1cmwgfSA9IGFjdGlvbjtcbiAgICB1cmwuc2VhcmNoUGFyYW1zLmRlbGV0ZShfYXBwcm91dGVyaGVhZGVycy5ORVhUX1JTQ19VTklPTl9RVUVSWSk7XG4gICAgY29uc3QgcHJlZmV0Y2hDYWNoZUtleSA9ICgwLCBfY3JlYXRlcHJlZmV0Y2hjYWNoZWtleS5jcmVhdGVQcmVmZXRjaENhY2hlS2V5KSh1cmwsIHN0YXRlLm5leHRVcmwpO1xuICAgIGNvbnN0IGNhY2hlRW50cnkgPSBzdGF0ZS5wcmVmZXRjaENhY2hlLmdldChwcmVmZXRjaENhY2hlS2V5KTtcbiAgICBpZiAoY2FjaGVFbnRyeSkge1xuICAgICAgICAvKipcbiAgICAgKiBJZiB0aGUgY2FjaGUgZW50cnkgcHJlc2VudCB3YXMgbWFya2VkIGFzIHRlbXBvcmFyeSwgaXQgbWVhbnMgdGhhdCB3ZSBwcmVmZXRjaGVkIGl0IGZyb20gdGhlIG5hdmlnYXRlIHJlZHVjZXIsXG4gICAgICogd2hlcmUgd2UgZGlkbid0IGhhdmUgdGhlIHByZWZldGNoIGludGVudC4gV2Ugd2FudCB0byB1cGRhdGUgaXQgdG8gdGhlIG5ldywgbW9yZSBhY2N1cmF0ZSwga2luZCBoZXJlLlxuICAgICAqLyBpZiAoY2FjaGVFbnRyeS5raW5kID09PSBfcm91dGVycmVkdWNlcnR5cGVzLlByZWZldGNoS2luZC5URU1QT1JBUlkpIHtcbiAgICAgICAgICAgIHN0YXRlLnByZWZldGNoQ2FjaGUuc2V0KHByZWZldGNoQ2FjaGVLZXksIHtcbiAgICAgICAgICAgICAgICAuLi5jYWNoZUVudHJ5LFxuICAgICAgICAgICAgICAgIGtpbmQ6IGFjdGlvbi5raW5kXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICAvKipcbiAgICAgKiBpZiB0aGUgcHJlZmV0Y2ggYWN0aW9uIHdhcyBhIGZ1bGwgcHJlZmV0Y2ggYW5kIHRoYXQgdGhlIGN1cnJlbnQgY2FjaGUgZW50cnkgd2Fzbid0IG9uZSwgd2Ugd2FudCB0byByZS1wcmVmZXRjaCxcbiAgICAgKiBvdGhlcndpc2Ugd2UgY2FuIHJlLXVzZSB0aGUgY3VycmVudCBjYWNoZSBlbnRyeVxuICAgICAqKi8gaWYgKCEoY2FjaGVFbnRyeS5raW5kID09PSBfcm91dGVycmVkdWNlcnR5cGVzLlByZWZldGNoS2luZC5BVVRPICYmIGFjdGlvbi5raW5kID09PSBfcm91dGVycmVkdWNlcnR5cGVzLlByZWZldGNoS2luZC5GVUxMKSkge1xuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIGZldGNoU2VydmVyUmVzcG9uc2UgaXMgaW50ZW50aW9uYWxseSBub3QgYXdhaXRlZCBzbyB0aGF0IGl0IGNhbiBiZSB1bndyYXBwZWQgaW4gdGhlIG5hdmlnYXRlLXJlZHVjZXJcbiAgICBjb25zdCBzZXJ2ZXJSZXNwb25zZSA9IHByZWZldGNoUXVldWUuZW5xdWV1ZSgoKT0+KDAsIF9mZXRjaHNlcnZlcnJlc3BvbnNlLmZldGNoU2VydmVyUmVzcG9uc2UpKHVybCwgLy8gaW5pdGlhbFRyZWUgaXMgdXNlZCB3aGVuIGhpc3Rvcnkuc3RhdGUudHJlZSBpcyBtaXNzaW5nIGJlY2F1c2UgdGhlIGhpc3Rvcnkgc3RhdGUgaXMgc2V0IGluIGB1c2VFZmZlY3RgIGJlbG93LCBpdCBiZWluZyBtaXNzaW5nIG1lYW5zIHRoaXMgaXMgdGhlIGh5ZHJhdGlvbiBjYXNlLlxuICAgICAgICBzdGF0ZS50cmVlLCBzdGF0ZS5uZXh0VXJsLCBzdGF0ZS5idWlsZElkLCBhY3Rpb24ua2luZCkpO1xuICAgIC8vIENyZWF0ZSBuZXcgdHJlZSBiYXNlZCBvbiB0aGUgZmxpZ2h0U2VnbWVudFBhdGggYW5kIHJvdXRlciBzdGF0ZSBwYXRjaFxuICAgIHN0YXRlLnByZWZldGNoQ2FjaGUuc2V0KHByZWZldGNoQ2FjaGVLZXksIHtcbiAgICAgICAgLy8gQ3JlYXRlIG5ldyB0cmVlIGJhc2VkIG9uIHRoZSBmbGlnaHRTZWdtZW50UGF0aCBhbmQgcm91dGVyIHN0YXRlIHBhdGNoXG4gICAgICAgIHRyZWVBdFRpbWVPZlByZWZldGNoOiBzdGF0ZS50cmVlLFxuICAgICAgICBkYXRhOiBzZXJ2ZXJSZXNwb25zZSxcbiAgICAgICAga2luZDogYWN0aW9uLmtpbmQsXG4gICAgICAgIHByZWZldGNoVGltZTogRGF0ZS5ub3coKSxcbiAgICAgICAgbGFzdFVzZWRUaW1lOiBudWxsXG4gICAgfSk7XG4gICAgcmV0dXJuIHN0YXRlO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wcmVmZXRjaC1yZWR1Y2VyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsInByZWZldGNoUXVldWUiLCJwcmVmZXRjaFJlZHVjZXIiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfZmV0Y2hzZXJ2ZXJyZXNwb25zZSIsInJlcXVpcmUiLCJfcm91dGVycmVkdWNlcnR5cGVzIiwiX3BydW5lcHJlZmV0Y2hjYWNoZSIsIl9hcHByb3V0ZXJoZWFkZXJzIiwiX3Byb21pc2VxdWV1ZSIsIl9jcmVhdGVwcmVmZXRjaGNhY2hla2V5IiwiUHJvbWlzZVF1ZXVlIiwic3RhdGUiLCJhY3Rpb24iLCJwcnVuZVByZWZldGNoQ2FjaGUiLCJwcmVmZXRjaENhY2hlIiwidXJsIiwic2VhcmNoUGFyYW1zIiwiZGVsZXRlIiwiTkVYVF9SU0NfVU5JT05fUVVFUlkiLCJwcmVmZXRjaENhY2hlS2V5IiwiY3JlYXRlUHJlZmV0Y2hDYWNoZUtleSIsIm5leHRVcmwiLCJjYWNoZUVudHJ5Iiwia2luZCIsIlByZWZldGNoS2luZCIsIlRFTVBPUkFSWSIsInNldCIsIkFVVE8iLCJGVUxMIiwic2VydmVyUmVzcG9uc2UiLCJlbnF1ZXVlIiwiZmV0Y2hTZXJ2ZXJSZXNwb25zZSIsInRyZWUiLCJidWlsZElkIiwidHJlZUF0VGltZU9mUHJlZmV0Y2giLCJkYXRhIiwicHJlZmV0Y2hUaW1lIiwiRGF0ZSIsIm5vdyIsImxhc3RVc2VkVGltZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prune-prefetch-cache.js": /*!**************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/prune-prefetch-cache.js ***! \**************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"prunePrefetchCache\", ({\n enumerable: true,\n get: function() {\n return prunePrefetchCache;\n }\n}));\nconst _getprefetchcacheentrystatus = __webpack_require__(/*! ../get-prefetch-cache-entry-status */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/get-prefetch-cache-entry-status.js\");\nfunction prunePrefetchCache(prefetchCache) {\n for (const [href, prefetchCacheEntry] of prefetchCache){\n if ((0, _getprefetchcacheentrystatus.getPrefetchEntryCacheStatus)(prefetchCacheEntry) === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.expired) {\n prefetchCache.delete(href);\n }\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=prune-prefetch-cache.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3BydW5lLXByZWZldGNoLWNhY2hlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywrQkFBK0JDLG1CQUFPQSxDQUFDLDhJQUFvQztBQUNqRixTQUFTRixtQkFBbUJHLGFBQWE7SUFDckMsS0FBSyxNQUFNLENBQUNDLE1BQU1DLG1CQUFtQixJQUFJRixjQUFjO1FBQ25ELElBQUksQ0FBQyxHQUFHRiw2QkFBNkJLLDJCQUEyQixFQUFFRCx3QkFBd0JKLDZCQUE2Qk0sd0JBQXdCLENBQUNDLE9BQU8sRUFBRTtZQUNySkwsY0FBY00sTUFBTSxDQUFDTDtRQUN6QjtJQUNKO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT1IsUUFBUWMsT0FBTyxLQUFLLGNBQWUsT0FBT2QsUUFBUWMsT0FBTyxLQUFLLFlBQVlkLFFBQVFjLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2QsUUFBUWMsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2pCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWMsT0FBTyxFQUFFLGNBQWM7UUFBRWIsT0FBTztJQUFLO0lBQ25FSCxPQUFPa0IsTUFBTSxDQUFDaEIsUUFBUWMsT0FBTyxFQUFFZDtJQUMvQmlCLE9BQU9qQixPQUFPLEdBQUdBLFFBQVFjLE9BQU87QUFDbEMsRUFFQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3BydW5lLXByZWZldGNoLWNhY2hlLmpzPzFiZmMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwcnVuZVByZWZldGNoQ2FjaGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHBydW5lUHJlZmV0Y2hDYWNoZTtcbiAgICB9XG59KTtcbmNvbnN0IF9nZXRwcmVmZXRjaGNhY2hlZW50cnlzdGF0dXMgPSByZXF1aXJlKFwiLi4vZ2V0LXByZWZldGNoLWNhY2hlLWVudHJ5LXN0YXR1c1wiKTtcbmZ1bmN0aW9uIHBydW5lUHJlZmV0Y2hDYWNoZShwcmVmZXRjaENhY2hlKSB7XG4gICAgZm9yIChjb25zdCBbaHJlZiwgcHJlZmV0Y2hDYWNoZUVudHJ5XSBvZiBwcmVmZXRjaENhY2hlKXtcbiAgICAgICAgaWYgKCgwLCBfZ2V0cHJlZmV0Y2hjYWNoZWVudHJ5c3RhdHVzLmdldFByZWZldGNoRW50cnlDYWNoZVN0YXR1cykocHJlZmV0Y2hDYWNoZUVudHJ5KSA9PT0gX2dldHByZWZldGNoY2FjaGVlbnRyeXN0YXR1cy5QcmVmZXRjaENhY2hlRW50cnlTdGF0dXMuZXhwaXJlZCkge1xuICAgICAgICAgICAgcHJlZmV0Y2hDYWNoZS5kZWxldGUoaHJlZik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBydW5lLXByZWZldGNoLWNhY2hlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJwcnVuZVByZWZldGNoQ2FjaGUiLCJfZ2V0cHJlZmV0Y2hjYWNoZWVudHJ5c3RhdHVzIiwicmVxdWlyZSIsInByZWZldGNoQ2FjaGUiLCJocmVmIiwicHJlZmV0Y2hDYWNoZUVudHJ5IiwiZ2V0UHJlZmV0Y2hFbnRyeUNhY2hlU3RhdHVzIiwiUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzIiwiZXhwaXJlZCIsImRlbGV0ZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prune-prefetch-cache.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js": /*!*********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js ***! \*********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"refreshReducer\", ({\n enumerable: true,\n get: function() {\n return refreshReducer;\n }\n}));\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ../fill-lazy-items-till-leaf-with-head */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\nfunction refreshReducer(state, action) {\n const { origin } = action;\n const mutable = {};\n const href = state.canonicalUrl;\n let currentTree = state.tree;\n mutable.preserveCustomHistoryState = false;\n const cache = (0, _approuter.createEmptyCacheNode)();\n // TODO-APP: verify that `href` is not an external url.\n // Fetch data from the root of the tree.\n cache.lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(href, origin), [\n currentTree[0],\n currentTree[1],\n currentTree[2],\n \"refetch\"\n ], state.nextUrl, state.buildId);\n return cache.lazyData.then((param)=>{\n let [flightData, canonicalUrlOverride] = param;\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n // Remove cache.lazyData as it has been resolved at this point.\n cache.lazyData = null;\n for (const flightDataPath of flightData){\n // FlightDataPath with more than two items means unexpected Flight data was returned\n if (flightDataPath.length !== 3) {\n // TODO-APP: handle this case better\n console.log(\"REFRESH FAILED\");\n return state;\n }\n // Given the path can only have two items the items are only the router state and rsc for the root.\n const [treePatch] = flightDataPath;\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToFullTree)([\n \"\"\n ], currentTree, treePatch);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush);\n }\n const canonicalUrlOverrideHref = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : undefined;\n if (canonicalUrlOverride) {\n mutable.canonicalUrl = canonicalUrlOverrideHref;\n }\n // The one before last item is the router state tree patch\n const [cacheNodeSeedData, head] = flightDataPath.slice(-2);\n // Handles case where prefetch only returns the router tree patch without rendered components.\n if (cacheNodeSeedData !== null) {\n const rsc = cacheNodeSeedData[2];\n cache.rsc = rsc;\n cache.prefetchRsc = null;\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, undefined, treePatch, cacheNodeSeedData, head);\n mutable.cache = cache;\n mutable.prefetchCache = new Map();\n }\n mutable.patchedTree = newTree;\n mutable.canonicalUrl = href;\n currentTree = newTree;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=refresh-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3JlZnJlc2gtcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsa0RBQWlEO0lBQzdDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsdUJBQXVCQyxtQkFBT0EsQ0FBQywwSEFBMEI7QUFDL0QsTUFBTUMscUJBQXFCRCxtQkFBT0EsQ0FBQyx3SEFBeUI7QUFDNUQsTUFBTUUsK0JBQStCRixtQkFBT0EsQ0FBQyxnSkFBcUM7QUFDbEYsTUFBTUcsK0JBQStCSCxtQkFBT0EsQ0FBQyxnSkFBcUM7QUFDbEYsTUFBTUksbUJBQW1CSixtQkFBT0EsQ0FBQyx3SEFBb0I7QUFDckQsTUFBTUssaUJBQWlCTCxtQkFBT0EsQ0FBQyw0R0FBbUI7QUFDbEQsTUFBTU0saUNBQWlDTixtQkFBT0EsQ0FBQyxzSkFBd0M7QUFDdkYsTUFBTU8sYUFBYVAsbUJBQU9BLENBQUMsd0ZBQWtCO0FBQzdDLE1BQU1RLHlCQUF5QlIsbUJBQU9BLENBQUMsOEhBQTRCO0FBQ25FLFNBQVNGLGVBQWVXLEtBQUssRUFBRUMsTUFBTTtJQUNqQyxNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHRDtJQUNuQixNQUFNRSxVQUFVLENBQUM7SUFDakIsTUFBTUMsT0FBT0osTUFBTUssWUFBWTtJQUMvQixJQUFJQyxjQUFjTixNQUFNTyxJQUFJO0lBQzVCSixRQUFRSywwQkFBMEIsR0FBRztJQUNyQyxNQUFNQyxRQUFRLENBQUMsR0FBR1gsV0FBV1ksb0JBQW9CO0lBQ2pELHVEQUF1RDtJQUN2RCx3Q0FBd0M7SUFDeENELE1BQU1FLFFBQVEsR0FBRyxDQUFDLEdBQUdyQixxQkFBcUJzQixtQkFBbUIsRUFBRSxJQUFJQyxJQUFJVCxNQUFNRixT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aWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3JlZnJlc2gtcmVkdWNlci5qcz8yOTNiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicmVmcmVzaFJlZHVjZXJcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlZnJlc2hSZWR1Y2VyO1xuICAgIH1cbn0pO1xuY29uc3QgX2ZldGNoc2VydmVycmVzcG9uc2UgPSByZXF1aXJlKFwiLi4vZmV0Y2gtc2VydmVyLXJlc3BvbnNlXCIpO1xuY29uc3QgX2NyZWF0ZWhyZWZmcm9tdXJsID0gcmVxdWlyZShcIi4uL2NyZWF0ZS1ocmVmLWZyb20tdXJsXCIpO1xuY29uc3QgX2FwcGx5cm91dGVyc3RhdGVwYXRjaHRvdHJlZSA9IHJlcXVpcmUoXCIuLi9hcHBseS1yb3V0ZXItc3RhdGUtcGF0Y2gtdG8tdHJlZVwiKTtcbmNvbnN0IF9pc25hdmlnYXRpbmd0b25ld3Jvb3RsYXlvdXQgPSByZXF1aXJlKFwiLi4vaXMtbmF2aWdhdGluZy10by1uZXctcm9vdC1sYXlvdXRcIik7XG5jb25zdCBfbmF2aWdhdGVyZWR1Y2VyID0gcmVxdWlyZShcIi4vbmF2aWdhdGUtcmVkdWNlclwiKTtcbmNvbnN0IF9oYW5kbGVtdXRhYmxlID0gcmVxdWlyZShcIi4uL2hhbmRsZS1tdXRhYmxlXCIpO1xuY29uc3QgX2ZpbGxsYXp5aXRlbXN0aWxsbGVhZndpdGhoZWFkID0gcmVxdWlyZShcIi4uL2ZpbGwtbGF6eS1pdGVtcy10aWxsLWxlYWYtd2l0aC1oZWFkXCIpO1xuY29uc3QgX2FwcHJvdXRlciA9IHJlcXVpcmUoXCIuLi8uLi9hcHAtcm91dGVyXCIpO1xuY29uc3QgX2hhbmRsZXNlZ21lbnRtaXNtYXRjaCA9IHJlcXVpcmUoXCIuLi9oYW5kbGUtc2VnbWVudC1taXNtYXRjaFwiKTtcbmZ1bmN0aW9uIHJlZnJlc2hSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pIHtcbiAgICBjb25zdCB7IG9yaWdpbiB9ID0gYWN0aW9uO1xuICAgIGNvbnN0IG11dGFibGUgPSB7fTtcbiAgICBjb25zdCBocmVmID0gc3RhdGUuY2Fub25pY2FsVXJsO1xuICAgIGxldCBjdXJyZW50VHJlZSA9IHN0YXRlLnRyZWU7XG4gICAgbXV0YWJsZS5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSA9IGZhbHNlO1xuICAgIGNvbnN0IGNhY2hlID0gKDAsIF9hcHByb3V0ZXIuY3JlYXRlRW1wdHlDYWNoZU5vZGUpKCk7XG4gICAgLy8gVE9ETy1BUFA6IHZlcmlmeSB0aGF0IGBocmVmYCBpcyBub3QgYW4gZXh0ZXJuYWwgdXJsLlxuICAgIC8vIEZldGNoIGRhdGEgZnJvbSB0aGUgcm9vdCBvZiB0aGUgdHJlZS5cbiAgICBjYWNoZS5sYXp5RGF0YSA9ICgwLCBfZmV0Y2hzZXJ2ZXJyZXNwb25zZS5mZXRjaFNlcnZlclJlc3BvbnNlKShuZXcgVVJMKGhyZWYsIG9yaWdpbiksIFtcbiAgICAgICAgY3VycmVudFRyZWVbMF0sXG4gICAgICAgIGN1cnJlbnRUcmVlWzFdLFxuICAgICAgICBjdXJyZW50VHJlZVsyXSxcbiAgICAgICAgXCJyZWZldGNoXCJcbiAgICBdLCBzdGF0ZS5uZXh0VXJsLCBzdGF0ZS5idWlsZElkKTtcbiAgICByZXR1cm4gY2FjaGUubGF6eURhdGEudGhlbigocGFyYW0pPT57XG4gICAgICAgIGxldCBbZmxpZ2h0RGF0YSwgY2Fub25pY2FsVXJsT3ZlcnJpZGVdID0gcGFyYW07XG4gICAgICAgIC8vIEhhbmRsZSBjYXNlIHdoZW4gbmF2aWdhdGluZyB0byBwYWdlIGluIGBwYWdlc2AgZnJvbSBgYXBwYFxuICAgICAgICBpZiAodHlwZW9mIGZsaWdodERhdGEgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHJldHVybiAoMCwgX25hdmlnYXRlcmVkdWNlci5oYW5kbGVFeHRlcm5hbFVybCkoc3RhdGUsIG11dGFibGUsIGZsaWdodERhdGEsIHN0YXRlLnB1c2hSZWYucGVuZGluZ1B1c2gpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFJlbW92ZSBjYWNoZS5sYXp5RGF0YSBhcyBpdCBoYXMgYmVlbiByZXNvbHZlZCBhdCB0aGlzIHBvaW50LlxuICAgICAgICBjYWNoZS5sYXp5RGF0YSA9IG51bGw7XG4gICAgICAgIGZvciAoY29uc3QgZmxpZ2h0RGF0YVBhdGggb2YgZmxpZ2h0RGF0YSl7XG4gICAgICAgICAgICAvLyBGbGlnaHREYXRhUGF0aCB3aXRoIG1vcmUgdGhhbiB0d28gaXRlbXMgbWVhbnMgdW5leHBlY3RlZCBGbGlnaHQgZGF0YSB3YXMgcmV0dXJuZWRcbiAgICAgICAgICAgIGlmIChmbGlnaHREYXRhUGF0aC5sZW5ndGggIT09IDMpIHtcbiAgICAgICAgICAgICAgICAvLyBUT0RPLUFQUDogaGFuZGxlIHRoaXMgY2FzZSBiZXR0ZXJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIlJFRlJFU0ggRkFJTEVEXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEdpdmVuIHRoZSBwYXRoIGNhbiBvbmx5IGhhdmUgdHdvIGl0ZW1zIHRoZSBpdGVtcyBhcmUgb25seSB0aGUgcm91dGVyIHN0YXRlIGFuZCByc2MgZm9yIHRoZSByb290LlxuICAgICAgICAgICAgY29uc3QgW3RyZWVQYXRjaF0gPSBmbGlnaHREYXRhUGF0aDtcbiAgICAgICAgICAgIGNvbnN0IG5ld1RyZWUgPSAoMCwgX2FwcGx5cm91dGVyc3RhdGVwYXRjaHRvdHJlZS5hcHBseVJvdXRlclN0YXRlUGF0Y2hUb0Z1bGxUcmVlKSgvLyBUT0RPLUFQUDogcmVtb3ZlICcnXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgXCJcIlxuICAgICAgICAgICAgXSwgY3VycmVudFRyZWUsIHRyZWVQYXRjaCk7XG4gICAgICAgICAgICBpZiAobmV3VHJlZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2hhbmRsZXNlZ21lbnRtaXNtYXRjaC5oYW5kbGVTZWdtZW50TWlzbWF0Y2gpKHN0YXRlLCBhY3Rpb24sIHRyZWVQYXRjaCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKDAsIF9pc25hdmlnYXRpbmd0b25ld3Jvb3RsYXlvdXQuaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0KShjdXJyZW50VHJlZSwgbmV3VHJlZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9uYXZpZ2F0ZXJlZHVjZXIuaGFuZGxlRXh0ZXJuYWxVcmwpKHN0YXRlLCBtdXRhYmxlLCBocmVmLCBzdGF0ZS5wdXNoUmVmLnBlbmRpbmdQdXNoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGNhbm9uaWNhbFVybE92ZXJyaWRlSHJlZiA9IGNhbm9uaWNhbFVybE92ZXJyaWRlID8gKDAsIF9jcmVhdGVocmVmZnJvbXVybC5jcmVhdGVIcmVmRnJvbVVybCkoY2Fub25pY2FsVXJsT3ZlcnJpZGUpIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgaWYgKGNhbm9uaWNhbFVybE92ZXJyaWRlKSB7XG4gICAgICAgICAgICAgICAgbXV0YWJsZS5jYW5vbmljYWxVcmwgPSBjYW5vbmljYWxVcmxPdmVycmlkZUhyZWY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUaGUgb25lIGJlZm9yZSBsYXN0IGl0ZW0gaXMgdGhlIHJvdXRlciBzdGF0ZSB0cmVlIHBhdGNoXG4gICAgICAgICAgICBjb25zdCBbY2FjaGVOb2RlU2VlZERhdGEsIGhlYWRdID0gZmxpZ2h0RGF0YVBhdGguc2xpY2UoLTIpO1xuICAgICAgICAgICAgLy8gSGFuZGxlcyBjYXNlIHdoZXJlIHByZWZldGNoIG9ubHkgcmV0dXJucyB0aGUgcm91dGVyIHRyZWUgcGF0Y2ggd2l0aG91dCByZW5kZXJlZCBjb21wb25lbnRzLlxuICAgICAgICAgICAgaWYgKGNhY2hlTm9kZVNlZWREYXRhICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcnNjID0gY2FjaGVOb2RlU2VlZERhdGFbMl07XG4gICAgICAgICAgICAgICAgY2FjaGUucnNjID0gcnNjO1xuICAgICAgICAgICAgICAgIGNhY2hlLnByZWZldGNoUnNjID0gbnVsbDtcbiAgICAgICAgICAgICAgICAoMCwgX2ZpbGxsYXp5aXRlbXN0aWxsbGVhZndpdGhoZWFkLmZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkKShjYWNoZSwgLy8gRXhpc3RpbmcgY2FjaGUgaXMgbm90IHBhc3NlZCBpbiBhcyBgcm91dGVyLnJlZnJlc2goKWAgaGFzIHRvIGludmFsaWRhdGUgdGhlIGVudGlyZSBjYWNoZS5cbiAgICAgICAgICAgICAgICB1bmRlZmluZWQsIHRyZWVQYXRjaCwgY2FjaGVOb2RlU2VlZERhdGEsIGhlYWQpO1xuICAgICAgICAgICAgICAgIG11dGFibGUuY2FjaGUgPSBjYWNoZTtcbiAgICAgICAgICAgICAgICBtdXRhYmxlLnByZWZldGNoQ2FjaGUgPSBuZXcgTWFwKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtdXRhYmxlLnBhdGNoZWRUcmVlID0gbmV3VHJlZTtcbiAgICAgICAgICAgIG11dGFibGUuY2Fub25pY2FsVXJsID0gaHJlZjtcbiAgICAgICAgICAgIGN1cnJlbnRUcmVlID0gbmV3VHJlZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKDAsIF9oYW5kbGVtdXRhYmxlLmhhbmRsZU11dGFibGUpKHN0YXRlLCBtdXRhYmxlKTtcbiAgICB9LCAoKT0+c3RhdGUpO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWZyZXNoLXJlZHVjZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInJlZnJlc2hSZWR1Y2VyIiwiX2ZldGNoc2VydmVycmVzcG9uc2UiLCJyZXF1aXJlIiwiX2NyZWF0ZWhyZWZmcm9tdXJsIiwiX2FwcGx5cm91dGVyc3RhdGVwYXRjaHRvdHJlZSIsIl9pc25hdmlnYXRpbmd0b25ld3Jvb3RsYXlvdXQiLCJfbmF2aWdhdGVyZWR1Y2VyIiwiX2hhbmRsZW11dGFibGUiLCJfZmlsbGxhenlpdGVtc3RpbGxsZWFmd2l0aGhlYWQiLCJfYXBwcm91dGVyIiwiX2hhbmRsZXNlZ21lbnRtaXNtYXRjaCIsInN0YXRlIiwiYWN0aW9uIiwib3JpZ2luIiwibXV0YWJsZSIsImhyZWYiLCJjYW5vbmljYWxVcmwiLCJjdXJyZW50VHJlZSIsInRyZWUiLCJwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSIsImNhY2hlIiwiY3JlYXRlRW1wdHlDYWNoZU5vZGUiLCJsYXp5RGF0YSIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJVUkwiLCJuZXh0VXJsIiwiYnVpbGRJZCIsInRoZW4iLCJwYXJhbSIsImZsaWdodERhdGEiLCJjYW5vbmljYWxVcmxPdmVycmlkZSIsImhhbmRsZUV4dGVybmFsVXJsIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwiZmxpZ2h0RGF0YVBhdGgiLCJsZW5ndGgiLCJjb25zb2xlIiwibG9nIiwidHJlZVBhdGNoIiwibmV3VHJlZSIsImFwcGx5Um91dGVyU3RhdGVQYXRjaFRvRnVsbFRyZWUiLCJoYW5kbGVTZWdtZW50TWlzbWF0Y2giLCJpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQiLCJjYW5vbmljYWxVcmxPdmVycmlkZUhyZWYiLCJjcmVhdGVIcmVmRnJvbVVybCIsInVuZGVmaW5lZCIsImNhY2hlTm9kZVNlZWREYXRhIiwiaGVhZCIsInNsaWNlIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCIsInByZWZldGNoQ2FjaGUiLCJNYXAiLCJwYXRjaGVkVHJlZSIsImhhbmRsZU11dGFibGUiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js": /*!*********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js ***! \*********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"restoreReducer\", ({\n enumerable: true,\n get: function() {\n return restoreReducer;\n }\n}));\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _computechangedpath = __webpack_require__(/*! ../compute-changed-path */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nconst _pprnavigations = __webpack_require__(/*! ../ppr-navigations */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js\");\nfunction restoreReducer(state, action) {\n const { url, tree } = action;\n const href = (0, _createhreffromurl.createHrefFromUrl)(url);\n const oldCache = state.cache;\n const newCache = false ? // prevents an unnecessary flash back to PPR state during a\n // back/forward navigation.\n 0 : oldCache;\n var _extractPathFromFlightRouterState;\n return {\n buildId: state.buildId,\n // Set canonical url\n canonicalUrl: href,\n pushRef: {\n pendingPush: false,\n mpaNavigation: false,\n // Ensures that the custom history state that was set is preserved when applying this update.\n preserveCustomHistoryState: true\n },\n focusAndScrollRef: state.focusAndScrollRef,\n cache: newCache,\n prefetchCache: state.prefetchCache,\n // Restore provided tree\n tree: tree,\n nextUrl: (_extractPathFromFlightRouterState = (0, _computechangedpath.extractPathFromFlightRouterState)(tree)) != null ? _extractPathFromFlightRouterState : url.pathname\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=restore-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3Jlc3RvcmUtcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsa0RBQWlEO0lBQzdDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMscUJBQXFCQyxtQkFBT0EsQ0FBQyx3SEFBeUI7QUFDNUQsTUFBTUMsc0JBQXNCRCxtQkFBT0EsQ0FBQyx3SEFBeUI7QUFDN0QsTUFBTUUsa0JBQWtCRixtQkFBT0EsQ0FBQyw4R0FBb0I7QUFDcEQsU0FBU0YsZUFBZUssS0FBSyxFQUFFQyxNQUFNO0lBQ2pDLE1BQU0sRUFBRUMsR0FBRyxFQUFFQyxJQUFJLEVBQUUsR0FBR0Y7SUFDdEIsTUFBTUcsT0FBTyxDQUFDLEdBQUdSLG1CQUFtQlMsaUJBQWlCLEVBQUVIO0lBQ3ZELE1BQU1JLFdBQVdOLE1BQU1PLEtBQUs7SUFDNUIsTUFBTUMsV0FBV0MsTUFBc0IsR0FHdkMsMkRBRjJEO0lBQzNELDJCQUEyQjtJQUMxQixDQUF3RU4sR0FBR0c7SUFDNUUsSUFBSU87SUFDSixPQUFPO1FBQ0hDLFNBQVNkLE1BQU1jLE9BQU87UUFDdEIsb0JBQW9CO1FBQ3BCQyxjQUFjWDtRQUNkWSxTQUFTO1lBQ0xDLGFBQWE7WUFDYkMsZUFBZTtZQUNmLDZGQUE2RjtZQUM3RkMsNEJBQTRCO1FBQ2hDO1FBQ0FDLG1CQUFtQnBCLE1BQU1vQixpQkFBaUI7UUFDMUNiLE9BQU9DO1FBQ1BhLGVBQWVyQixNQUFNcUIsYUFBYTtRQUNsQyx3QkFBd0I7UUFDeEJsQixNQUFNQTtRQUNObUIsU0FBUyxDQUFDVCxvQ0FBb0MsQ0FBQyxHQUFHZixvQkFBb0J5QixnQ0FBZ0MsRUFBRXBCLEtBQUksS0FBTSxPQUFPVSxvQ0FBb0NYLElBQUlzQixRQUFRO0lBQzdLO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT2pDLFFBQVFrQyxPQUFPLEtBQUssY0FBZSxPQUFPbEMsUUFBUWtDLE9BQU8sS0FBSyxZQUFZbEMsUUFBUWtDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2xDLFFBQVFrQyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLckMsT0FBT0MsY0FBYyxDQUFDQyxRQUFRa0MsT0FBTyxFQUFFLGNBQWM7UUFBRWpDLE9BQU87SUFBSztJQUNuRUgsT0FBT3NDLE1BQU0sQ0FBQ3BDLFFBQVFrQyxPQUFPLEVBQUVsQztJQUMvQnFDLE9BQU9yQyxPQUFPLEdBQUdBLFFBQVFrQyxPQUFPO0FBQ2xDLEVBRUEsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9yZXN0b3JlLXJlZHVjZXIuanM/NzkzZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInJlc3RvcmVSZWR1Y2VyXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByZXN0b3JlUmVkdWNlcjtcbiAgICB9XG59KTtcbmNvbnN0IF9jcmVhdGVocmVmZnJvbXVybCA9IHJlcXVpcmUoXCIuLi9jcmVhdGUtaHJlZi1mcm9tLXVybFwiKTtcbmNvbnN0IF9jb21wdXRlY2hhbmdlZHBhdGggPSByZXF1aXJlKFwiLi4vY29tcHV0ZS1jaGFuZ2VkLXBhdGhcIik7XG5jb25zdCBfcHBybmF2aWdhdGlvbnMgPSByZXF1aXJlKFwiLi4vcHByLW5hdmlnYXRpb25zXCIpO1xuZnVuY3Rpb24gcmVzdG9yZVJlZHVjZXIoc3RhdGUsIGFjdGlvbikge1xuICAgIGNvbnN0IHsgdXJsLCB0cmVlIH0gPSBhY3Rpb247XG4gICAgY29uc3QgaHJlZiA9ICgwLCBfY3JlYXRlaHJlZmZyb211cmwuY3JlYXRlSHJlZkZyb21VcmwpKHVybCk7XG4gICAgY29uc3Qgb2xkQ2FjaGUgPSBzdGF0ZS5jYWNoZTtcbiAgICBjb25zdCBuZXdDYWNoZSA9IHByb2Nlc3MuZW52Ll9fTkVYVF9QUFIgPyAvLyBkYXRhIGZvciBhbnkgc2VnbWVudCB3aG9zZSBkeW5hbWljIGRhdGEgd2FzIGFscmVhZHkgcmVjZWl2ZWQuIFRoaXNcbiAgICAvLyBwcmV2ZW50cyBhbiB1bm5lY2Vzc2FyeSBmbGFzaCBiYWNrIHRvIFBQUiBzdGF0ZSBkdXJpbmcgYVxuICAgIC8vIGJhY2svZm9yd2FyZCBuYXZpZ2F0aW9uLlxuICAgICgwLCBfcHBybmF2aWdhdGlvbnMudXBkYXRlQ2FjaGVOb2RlT25Qb3BzdGF0ZVJlc3RvcmF0aW9uKShvbGRDYWNoZSwgdHJlZSkgOiBvbGRDYWNoZTtcbiAgICB2YXIgX2V4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlO1xuICAgIHJldHVybiB7XG4gICAgICAgIGJ1aWxkSWQ6IHN0YXRlLmJ1aWxkSWQsXG4gICAgICAgIC8vIFNldCBjYW5vbmljYWwgdXJsXG4gICAgICAgIGNhbm9uaWNhbFVybDogaHJlZixcbiAgICAgICAgcHVzaFJlZjoge1xuICAgICAgICAgICAgcGVuZGluZ1B1c2g6IGZhbHNlLFxuICAgICAgICAgICAgbXBhTmF2aWdhdGlvbjogZmFsc2UsXG4gICAgICAgICAgICAvLyBFbnN1cmVzIHRoYXQgdGhlIGN1c3RvbSBoaXN0b3J5IHN0YXRlIHRoYXQgd2FzIHNldCBpcyBwcmVzZXJ2ZWQgd2hlbiBhcHBseWluZyB0aGlzIHVwZGF0ZS5cbiAgICAgICAgICAgIHByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmOiBzdGF0ZS5mb2N1c0FuZFNjcm9sbFJlZixcbiAgICAgICAgY2FjaGU6IG5ld0NhY2hlLFxuICAgICAgICBwcmVmZXRjaENhY2hlOiBzdGF0ZS5wcmVmZXRjaENhY2hlLFxuICAgICAgICAvLyBSZXN0b3JlIHByb3ZpZGVkIHRyZWVcbiAgICAgICAgdHJlZTogdHJlZSxcbiAgICAgICAgbmV4dFVybDogKF9leHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZSA9ICgwLCBfY29tcHV0ZWNoYW5nZWRwYXRoLmV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKSh0cmVlKSkgIT0gbnVsbCA/IF9leHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZSA6IHVybC5wYXRobmFtZVxuICAgIH07XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlc3RvcmUtcmVkdWNlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicmVzdG9yZVJlZHVjZXIiLCJfY3JlYXRlaHJlZmZyb211cmwiLCJyZXF1aXJlIiwiX2NvbXB1dGVjaGFuZ2VkcGF0aCIsIl9wcHJuYXZpZ2F0aW9ucyIsInN0YXRlIiwiYWN0aW9uIiwidXJsIiwidHJlZSIsImhyZWYiLCJjcmVhdGVIcmVmRnJvbVVybCIsIm9sZENhY2hlIiwiY2FjaGUiLCJuZXdDYWNoZSIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUFBSIiwidXBkYXRlQ2FjaGVOb2RlT25Qb3BzdGF0ZVJlc3RvcmF0aW9uIiwiX2V4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlIiwiYnVpbGRJZCIsImNhbm9uaWNhbFVybCIsInB1c2hSZWYiLCJwZW5kaW5nUHVzaCIsIm1wYU5hdmlnYXRpb24iLCJwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSIsImZvY3VzQW5kU2Nyb2xsUmVmIiwicHJlZmV0Y2hDYWNoZSIsIm5leHRVcmwiLCJleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZSIsInBhdGhuYW1lIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js": /*!***************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js ***! \***************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"serverActionReducer\", ({\n enumerable: true,\n get: function() {\n return serverActionReducer;\n }\n}));\nconst _appcallserver = __webpack_require__(/*! ../../../app-call-server */ \"(ssr)/./node_modules/next/dist/client/app-call-server.js\");\nconst _approuterheaders = __webpack_require__(/*! ../../app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _addbasepath = __webpack_require__(/*! ../../../add-base-path */ \"(ssr)/./node_modules/next/dist/client/add-base-path.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ../fill-lazy-items-till-leaf-with-head */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _computechangedpath = __webpack_require__(/*! ../compute-changed-path */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\n// // eslint-disable-next-line import/no-extraneous-dependencies\n// import { createFromFetch } from 'react-server-dom-webpack/client'\n// // eslint-disable-next-line import/no-extraneous-dependencies\n// import { encodeReply } from 'react-server-dom-webpack/client'\nconst { createFromFetch, encodeReply } = true ? __webpack_require__(/*! react-server-dom-webpack/client.edge */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js\") : 0;\nasync function fetchServerAction(state, param) {\n let { actionId, actionArgs } = param;\n const body = await encodeReply(actionArgs);\n const newNextUrl = (0, _computechangedpath.extractPathFromFlightRouterState)(state.tree);\n // only pass along the `nextUrl` param (used for interception routes) if it exists and\n // if it's different from the current `nextUrl`. This indicates the route has already been intercepted,\n // and so the action should be as well. Otherwise the server action might be intercepted\n // with the wrong action id (ie, one that corresponds with the intercepted route)\n const includeNextUrl = state.nextUrl && state.nextUrl !== newNextUrl;\n const res = await fetch(\"\", {\n method: \"POST\",\n headers: {\n Accept: _approuterheaders.RSC_CONTENT_TYPE_HEADER,\n [_approuterheaders.ACTION]: actionId,\n [_approuterheaders.NEXT_ROUTER_STATE_TREE]: encodeURIComponent(JSON.stringify(state.tree)),\n ... false ? 0 : {},\n ...includeNextUrl ? {\n [_approuterheaders.NEXT_URL]: state.nextUrl\n } : {}\n },\n body\n });\n const location = res.headers.get(\"x-action-redirect\");\n let revalidatedParts;\n try {\n const revalidatedHeader = JSON.parse(res.headers.get(\"x-action-revalidated\") || \"[[],0,0]\");\n revalidatedParts = {\n paths: revalidatedHeader[0] || [],\n tag: !!revalidatedHeader[1],\n cookie: revalidatedHeader[2]\n };\n } catch (e) {\n revalidatedParts = {\n paths: [],\n tag: false,\n cookie: false\n };\n }\n const redirectLocation = location ? new URL((0, _addbasepath.addBasePath)(location), new URL(state.canonicalUrl, window.location.href)) : undefined;\n let isFlightResponse = res.headers.get(\"content-type\") === _approuterheaders.RSC_CONTENT_TYPE_HEADER;\n if (isFlightResponse) {\n const response = await createFromFetch(Promise.resolve(res), {\n callServer: _appcallserver.callServer\n });\n if (location) {\n // if it was a redirection, then result is just a regular RSC payload\n const [, actionFlightData] = response != null ? response : [];\n return {\n actionFlightData: actionFlightData,\n redirectLocation,\n revalidatedParts\n };\n }\n // otherwise it's a tuple of [actionResult, actionFlightData]\n const [actionResult, [, actionFlightData]] = response != null ? response : [];\n return {\n actionResult,\n actionFlightData,\n redirectLocation,\n revalidatedParts\n };\n }\n return {\n redirectLocation,\n revalidatedParts\n };\n}\nfunction serverActionReducer(state, action) {\n const { resolve, reject } = action;\n const mutable = {};\n const href = state.canonicalUrl;\n let currentTree = state.tree;\n mutable.preserveCustomHistoryState = false;\n mutable.inFlightServerAction = fetchServerAction(state, action);\n // suspends until the server action is resolved.\n return mutable.inFlightServerAction.then((param)=>{\n let { actionResult, actionFlightData: flightData, redirectLocation } = param;\n // Make sure the redirection is a push instead of a replace.\n // Issue: https://github.com/vercel/next.js/issues/53911\n if (redirectLocation) {\n state.pushRef.pendingPush = true;\n mutable.pendingPush = true;\n }\n if (!flightData) {\n if (!mutable.actionResultResolved) {\n resolve(actionResult);\n mutable.actionResultResolved = true;\n }\n // If there is a redirect but no flight data we need to do a mpaNavigation.\n if (redirectLocation) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, redirectLocation.href, state.pushRef.pendingPush);\n }\n return state;\n }\n if (typeof flightData === \"string\") {\n // Handle case when navigating to page in `pages` from `app`\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n // Remove cache.data as it has been resolved at this point.\n mutable.inFlightServerAction = null;\n for (const flightDataPath of flightData){\n // FlightDataPath with more than two items means unexpected Flight data was returned\n if (flightDataPath.length !== 3) {\n // TODO-APP: handle this case better\n console.log(\"SERVER ACTION APPLY FAILED\");\n return state;\n }\n // Given the path can only have two items the items are only the router state and rsc for the root.\n const [treePatch] = flightDataPath;\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToFullTree)([\n \"\"\n ], currentTree, treePatch);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush);\n }\n // The one before last item is the router state tree patch\n const [cacheNodeSeedData, head] = flightDataPath.slice(-2);\n const rsc = cacheNodeSeedData !== null ? cacheNodeSeedData[2] : null;\n // Handles case where prefetch only returns the router tree patch without rendered components.\n if (rsc !== null) {\n const cache = (0, _approuter.createEmptyCacheNode)();\n cache.rsc = rsc;\n cache.prefetchRsc = null;\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, undefined, treePatch, cacheNodeSeedData, head);\n mutable.cache = cache;\n mutable.prefetchCache = new Map();\n }\n mutable.patchedTree = newTree;\n mutable.canonicalUrl = href;\n currentTree = newTree;\n }\n if (redirectLocation) {\n const newHref = (0, _createhreffromurl.createHrefFromUrl)(redirectLocation, false);\n mutable.canonicalUrl = newHref;\n }\n if (!mutable.actionResultResolved) {\n resolve(actionResult);\n mutable.actionResultResolved = true;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, (e)=>{\n if (e.status === \"rejected\") {\n if (!mutable.actionResultResolved) {\n reject(e.reason);\n mutable.actionResultResolved = true;\n }\n // When the server action is rejected we don't update the state and instead call the reject handler of the promise.\n return state;\n }\n throw e;\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=server-action-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3NlcnZlci1hY3Rpb24tcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsdURBQXNEO0lBQ2xESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUJBQWlCQyxtQkFBT0EsQ0FBQywwRkFBMEI7QUFDekQsTUFBTUMsb0JBQW9CRCxtQkFBT0EsQ0FBQyx3R0FBMEI7QUFDNUQsTUFBTUUsZUFBZUYsbUJBQU9BLENBQUMsc0ZBQXdCO0FBQ3JELE1BQU1HLHFCQUFxQkgsbUJBQU9BLENBQUMsd0hBQXlCO0FBQzVELE1BQU1JLG1CQUFtQkosbUJBQU9BLENBQUMsd0hBQW9CO0FBQ3JELE1BQU1LLCtCQUErQkwsbUJBQU9BLENBQUMsZ0pBQXFDO0FBQ2xGLE1BQU1NLCtCQUErQk4sbUJBQU9BLENBQUMsZ0pBQXFDO0FBQ2xGLE1BQU1PLGlCQUFpQlAsbUJBQU9BLENBQUMsNEdBQW1CO0FBQ2xELE1BQU1RLGlDQUFpQ1IsbUJBQU9BLENBQUMsc0pBQXdDO0FBQ3ZGLE1BQU1TLGFBQWFULG1CQUFPQSxDQUFDLHdGQUFrQjtBQUM3QyxNQUFNVSxzQkFBc0JWLG1CQUFPQSxDQUFDLHdIQUF5QjtBQUM3RCxNQUFNVyx5QkFBeUJYLG1CQUFPQSxDQUFDLDhIQUE0QjtBQUNuRSxnRUFBZ0U7QUFDaEUsb0VBQW9FO0FBQ3BFLGdFQUFnRTtBQUNoRSxnRUFBZ0U7QUFDaEUsTUFBTSxFQUFFWSxlQUFlLEVBQUVDLFdBQVcsRUFBRSxHQUFHLEtBQTBCLEdBQUdiLG1CQUFPQSxDQUFDLHNLQUFzQyxJQUFJQSxDQUEwQztBQUNsSyxlQUFlaUIsa0JBQWtCQyxLQUFLLEVBQUVDLEtBQUs7SUFDekMsSUFBSSxFQUFFQyxR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SUFDcEQsR0FBRyxDQUFDakI7UUFDQSxJQUFJQSxFQUFFa0QsTUFBTSxLQUFLLFlBQVk7WUFDekIsSUFBSSxDQUFDakMsUUFBUVEsb0JBQW9CLEVBQUU7Z0JBQy9CVCxPQUFPaEIsRUFBRW1ELE1BQU07Z0JBQ2ZsQyxRQUFRUSxvQkFBb0IsR0FBRztZQUNuQztZQUNBLG1IQUFtSDtZQUNuSCxPQUFPeEQ7UUFDWDtRQUNBLE1BQU0rQjtJQUNWO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT3ZELFFBQVEyRyxPQUFPLEtBQUssY0FBZSxPQUFPM0csUUFBUTJHLE9BQU8sS0FBSyxZQUFZM0csUUFBUTJHLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzNHLFFBQVEyRyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLOUcsT0FBT0MsY0FBYyxDQUFDQyxRQUFRMkcsT0FBTyxFQUFFLGNBQWM7UUFBRTFHLE9BQU87SUFBSztJQUNuRUgsT0FBTytHLE1BQU0sQ0FBQzdHLFFBQVEyRyxPQUFPLEVBQUUzRztJQUMvQjhHLE9BQU85RyxPQUFPLEdBQUdBLFFBQVEyRyxPQUFPO0FBQ2xDLEVBRUEsaURBQWlEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9zZXJ2ZXItYWN0aW9uLXJlZHVjZXIuanM/MDYxNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInNlcnZlckFjdGlvblJlZHVjZXJcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHNlcnZlckFjdGlvblJlZHVjZXI7XG4gICAgfVxufSk7XG5jb25zdCBfYXBwY2FsbHNlcnZlciA9IHJlcXVpcmUoXCIuLi8uLi8uLi9hcHAtY2FsbC1zZXJ2ZXJcIik7XG5jb25zdCBfYXBwcm91dGVyaGVhZGVycyA9IHJlcXVpcmUoXCIuLi8uLi9hcHAtcm91dGVyLWhlYWRlcnNcIik7XG5jb25zdCBfYWRkYmFzZXBhdGggPSByZXF1aXJlKFwiLi4vLi4vLi4vYWRkLWJhc2UtcGF0aFwiKTtcbmNvbnN0IF9jcmVhdGVocmVmZnJvbXVybCA9IHJlcXVpcmUoXCIuLi9jcmVhdGUtaHJlZi1mcm9tLXVybFwiKTtcbmNvbnN0IF9uYXZpZ2F0ZXJlZHVjZXIgPSByZXF1aXJlKFwiLi9uYXZpZ2F0ZS1yZWR1Y2VyXCIpO1xuY29uc3QgX2FwcGx5cm91dGVyc3RhdGVwYXRjaHRvdHJlZSA9IHJlcXVpcmUoXCIuLi9hcHBseS1yb3V0ZXItc3RhdGUtcGF0Y2gtdG8tdHJlZVwiKTtcbmNvbnN0IF9pc25hdmlnYXRpbmd0b25ld3Jvb3RsYXlvdXQgPSByZXF1aXJlKFwiLi4vaXMtbmF2aWdhdGluZy10by1uZXctcm9vdC1sYXlvdXRcIik7XG5jb25zdCBfaGFuZGxlbXV0YWJsZSA9IHJlcXVpcmUoXCIuLi9oYW5kbGUtbXV0YWJsZVwiKTtcbmNvbnN0IF9maWxsbGF6eWl0ZW1zdGlsbGxlYWZ3aXRoaGVhZCA9IHJlcXVpcmUoXCIuLi9maWxsLWxhenktaXRlbXMtdGlsbC1sZWFmLXdpdGgtaGVhZFwiKTtcbmNvbnN0IF9hcHByb3V0ZXIgPSByZXF1aXJlKFwiLi4vLi4vYXBwLXJvdXRlclwiKTtcbmNvbnN0IF9jb21wdXRlY2hhbmdlZHBhdGggPSByZXF1aXJlKFwiLi4vY29tcHV0ZS1jaGFuZ2VkLXBhdGhcIik7XG5jb25zdCBfaGFuZGxlc2VnbWVudG1pc21hdGNoID0gcmVxdWlyZShcIi4uL2hhbmRsZS1zZWdtZW50LW1pc21hdGNoXCIpO1xuLy8gLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuLy8gaW1wb3J0IHsgY3JlYXRlRnJvbUZldGNoIH0gZnJvbSAncmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudCdcbi8vIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbi8vIGltcG9ydCB7IGVuY29kZVJlcGx5IH0gZnJvbSAncmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudCdcbmNvbnN0IHsgY3JlYXRlRnJvbUZldGNoLCBlbmNvZGVSZXBseSB9ID0gISFwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgPyByZXF1aXJlKFwicmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudC5lZGdlXCIpIDogcmVxdWlyZShcInJlYWN0LXNlcnZlci1kb20td2VicGFjay9jbGllbnRcIik7XG5hc3luYyBmdW5jdGlvbiBmZXRjaFNlcnZlckFjdGlvbihzdGF0ZSwgcGFyYW0pIHtcbiAgICBsZXQgeyBhY3Rpb25JZCwgYWN0aW9uQXJncyB9ID0gcGFyYW07XG4gICAgY29uc3QgYm9keSA9IGF3YWl0IGVuY29kZVJlcGx5KGFjdGlvbkFyZ3MpO1xuICAgIGNvbnN0IG5ld05leHRVcmwgPSAoMCwgX2NvbXB1dGVjaGFuZ2VkcGF0aC5leHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZSkoc3RhdGUudHJlZSk7XG4gICAgLy8gb25seSBwYXNzIGFsb25nIHRoZSBgbmV4dFVybGAgcGFyYW0gKHVzZWQgZm9yIGludGVyY2VwdGlvbiByb3V0ZXMpIGlmIGl0IGV4aXN0cyBhbmRcbiAgICAvLyBpZiBpdCdzIGRpZmZlcmVudCBmcm9tIHRoZSBjdXJyZW50IGBuZXh0VXJsYC4gVGhpcyBpbmRpY2F0ZXMgdGhlIHJvdXRlIGhhcyBhbHJlYWR5IGJlZW4gaW50ZXJjZXB0ZWQsXG4gICAgLy8gYW5kIHNvIHRoZSBhY3Rpb24gc2hvdWxkIGJlIGFzIHdlbGwuIE90aGVyd2lzZSB0aGUgc2VydmVyIGFjdGlvbiBtaWdodCBiZSBpbnRlcmNlcHRlZFxuICAgIC8vIHdpdGggdGhlIHdyb25nIGFjdGlvbiBpZCAoaWUsIG9uZSB0aGF0IGNvcnJlc3BvbmRzIHdpdGggdGhlIGludGVyY2VwdGVkIHJvdXRlKVxuICAgIGNvbnN0IGluY2x1ZGVOZXh0VXJsID0gc3RhdGUubmV4dFVybCAmJiBzdGF0ZS5uZXh0VXJsICE9PSBuZXdOZXh0VXJsO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKFwiXCIsIHtcbiAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgQWNjZXB0OiBfYXBwcm91dGVyaGVhZGVycy5SU0NfQ09OVEVOVF9UWVBFX0hFQURFUixcbiAgICAgICAgICAgIFtfYXBwcm91dGVyaGVhZGVycy5BQ1RJT05dOiBhY3Rpb25JZCxcbiAgICAgICAgICAgIFtfYXBwcm91dGVyaGVhZGVycy5ORVhUX1JPVVRFUl9TVEFURV9UUkVFXTogZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHN0YXRlLnRyZWUpKSxcbiAgICAgICAgICAgIC4uLnByb2Nlc3MuZW52Ll9fTkVYVF9BQ1RJT05TX0RFUExPWU1FTlRfSUQgJiYgcHJvY2Vzcy5lbnYuTkVYVF9ERVBMT1lNRU5UX0lEID8ge1xuICAgICAgICAgICAgICAgIFwieC1kZXBsb3ltZW50LWlkXCI6IHByb2Nlc3MuZW52Lk5FWFRfREVQTE9ZTUVOVF9JRFxuICAgICAgICAgICAgfSA6IHt9LFxuICAgICAgICAgICAgLi4uaW5jbHVkZU5leHRVcmwgPyB7XG4gICAgICAgICAgICAgICAgW19hcHByb3V0ZXJoZWFkZXJzLk5FWFRfVVJMXTogc3RhdGUubmV4dFVybFxuICAgICAgICAgICAgfSA6IHt9XG4gICAgICAgIH0sXG4gICAgICAgIGJvZHlcbiAgICB9KTtcbiAgICBjb25zdCBsb2NhdGlvbiA9IHJlcy5oZWFkZXJzLmdldChcIngtYWN0aW9uLXJlZGlyZWN0XCIpO1xuICAgIGxldCByZXZhbGlkYXRlZFBhcnRzO1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJldmFsaWRhdGVkSGVhZGVyID0gSlNPTi5wYXJzZShyZXMuaGVhZGVycy5nZXQoXCJ4LWFjdGlvbi1yZXZhbGlkYXRlZFwiKSB8fCBcIltbXSwwLDBdXCIpO1xuICAgICAgICByZXZhbGlkYXRlZFBhcnRzID0ge1xuICAgICAgICAgICAgcGF0aHM6IHJldmFsaWRhdGVkSGVhZGVyWzBdIHx8IFtdLFxuICAgICAgICAgICAgdGFnOiAhIXJldmFsaWRhdGVkSGVhZGVyWzFdLFxuICAgICAgICAgICAgY29va2llOiByZXZhbGlkYXRlZEhlYWRlclsyXVxuICAgICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV2YWxpZGF0ZWRQYXJ0cyA9IHtcbiAgICAgICAgICAgIHBhdGhzOiBbXSxcbiAgICAgICAgICAgIHRhZzogZmFsc2UsXG4gICAgICAgICAgICBjb29raWU6IGZhbHNlXG4gICAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IHJlZGlyZWN0TG9jYXRpb24gPSBsb2NhdGlvbiA/IG5ldyBVUkwoKDAsIF9hZGRiYXNlcGF0aC5hZGRCYXNlUGF0aCkobG9jYXRpb24pLCAvLyBFbnN1cmUgcmVsYXRpdmUgcmVkaXJlY3RzIGluIFNlcnZlciBBY3Rpb25zIHdvcmssIGUuZy4gcmVkaXJlY3QoJy4vc29tZXdoZXJlLWVsc2UnKVxuICAgIG5ldyBVUkwoc3RhdGUuY2Fub25pY2FsVXJsLCB3aW5kb3cubG9jYXRpb24uaHJlZikpIDogdW5kZWZpbmVkO1xuICAgIGxldCBpc0ZsaWdodFJlc3BvbnNlID0gcmVzLmhlYWRlcnMuZ2V0KFwiY29udGVudC10eXBlXCIpID09PSBfYXBwcm91dGVyaGVhZGVycy5SU0NfQ09OVEVOVF9UWVBFX0hFQURFUjtcbiAgICBpZiAoaXNGbGlnaHRSZXNwb25zZSkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNyZWF0ZUZyb21GZXRjaChQcm9taXNlLnJlc29sdmUocmVzKSwge1xuICAgICAgICAgICAgY2FsbFNlcnZlcjogX2FwcGNhbGxzZXJ2ZXIuY2FsbFNlcnZlclxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGxvY2F0aW9uKSB7XG4gICAgICAgICAgICAvLyBpZiBpdCB3YXMgYSByZWRpcmVjdGlvbiwgdGhlbiByZXN1bHQgaXMganVzdCBhIHJlZ3VsYXIgUlNDIHBheWxvYWRcbiAgICAgICAgICAgIGNvbnN0IFssIGFjdGlvbkZsaWdodERhdGFdID0gcmVzcG9uc2UgIT0gbnVsbCA/IHJlc3BvbnNlIDogW107XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGFjdGlvbkZsaWdodERhdGE6IGFjdGlvbkZsaWdodERhdGEsXG4gICAgICAgICAgICAgICAgcmVkaXJlY3RMb2NhdGlvbixcbiAgICAgICAgICAgICAgICByZXZhbGlkYXRlZFBhcnRzXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIC8vIG90aGVyd2lzZSBpdCdzIGEgdHVwbGUgb2YgW2FjdGlvblJlc3VsdCwgYWN0aW9uRmxpZ2h0RGF0YV1cbiAgICAgICAgY29uc3QgW2FjdGlvblJlc3VsdCwgWywgYWN0aW9uRmxpZ2h0RGF0YV1dID0gcmVzcG9uc2UgIT0gbnVsbCA/IHJlc3BvbnNlIDogW107XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBhY3Rpb25SZXN1bHQsXG4gICAgICAgICAgICBhY3Rpb25GbGlnaHREYXRhLFxuICAgICAgICAgICAgcmVkaXJlY3RMb2NhdGlvbixcbiAgICAgICAgICAgIHJldmFsaWRhdGVkUGFydHNcbiAgICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmVkaXJlY3RMb2NhdGlvbixcbiAgICAgICAgcmV2YWxpZGF0ZWRQYXJ0c1xuICAgIH07XG59XG5mdW5jdGlvbiBzZXJ2ZXJBY3Rpb25SZWR1Y2VyKHN0YXRlLCBhY3Rpb24pIHtcbiAgICBjb25zdCB7IHJlc29sdmUsIHJlamVjdCB9ID0gYWN0aW9uO1xuICAgIGNvbnN0IG11dGFibGUgPSB7fTtcbiAgICBjb25zdCBocmVmID0gc3RhdGUuY2Fub25pY2FsVXJsO1xuICAgIGxldCBjdXJyZW50VHJlZSA9IHN0YXRlLnRyZWU7XG4gICAgbXV0YWJsZS5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSA9IGZhbHNlO1xuICAgIG11dGFibGUuaW5GbGlnaHRTZXJ2ZXJBY3Rpb24gPSBmZXRjaFNlcnZlckFjdGlvbihzdGF0ZSwgYWN0aW9uKTtcbiAgICAvLyBzdXNwZW5kcyB1bnRpbCB0aGUgc2VydmVyIGFjdGlvbiBpcyByZXNvbHZlZC5cbiAgICByZXR1cm4gbXV0YWJsZS5pbkZsaWdodFNlcnZlckFjdGlvbi50aGVuKChwYXJhbSk9PntcbiAgICAgICAgbGV0IHsgYWN0aW9uUmVzdWx0LCBhY3Rpb25GbGlnaHREYXRhOiBmbGlnaHREYXRhLCByZWRpcmVjdExvY2F0aW9uIH0gPSBwYXJhbTtcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSByZWRpcmVjdGlvbiBpcyBhIHB1c2ggaW5zdGVhZCBvZiBhIHJlcGxhY2UuXG4gICAgICAgIC8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdmVyY2VsL25leHQuanMvaXNzdWVzLzUzOTExXG4gICAgICAgIGlmIChyZWRpcmVjdExvY2F0aW9uKSB7XG4gICAgICAgICAgICBzdGF0ZS5wdXNoUmVmLnBlbmRpbmdQdXNoID0gdHJ1ZTtcbiAgICAgICAgICAgIG11dGFibGUucGVuZGluZ1B1c2ggPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZmxpZ2h0RGF0YSkge1xuICAgICAgICAgICAgaWYgKCFtdXRhYmxlLmFjdGlvblJlc3VsdFJlc29sdmVkKSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShhY3Rpb25SZXN1bHQpO1xuICAgICAgICAgICAgICAgIG11dGFibGUuYWN0aW9uUmVzdWx0UmVzb2x2ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSByZWRpcmVjdCBidXQgbm8gZmxpZ2h0IGRhdGEgd2UgbmVlZCB0byBkbyBhIG1wYU5hdmlnYXRpb24uXG4gICAgICAgICAgICBpZiAocmVkaXJlY3RMb2NhdGlvbikge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX25hdmlnYXRlcmVkdWNlci5oYW5kbGVFeHRlcm5hbFVybCkoc3RhdGUsIG11dGFibGUsIHJlZGlyZWN0TG9jYXRpb24uaHJlZiwgc3RhdGUucHVzaFJlZi5wZW5kaW5nUHVzaCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBmbGlnaHREYXRhID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAvLyBIYW5kbGUgY2FzZSB3aGVuIG5hdmlnYXRpbmcgdG8gcGFnZSBpbiBgcGFnZXNgIGZyb20gYGFwcGBcbiAgICAgICAgICAgIHJldHVybiAoMCwgX25hdmlnYXRlcmVkdWNlci5oYW5kbGVFeHRlcm5hbFVybCkoc3RhdGUsIG11dGFibGUsIGZsaWdodERhdGEsIHN0YXRlLnB1c2hSZWYucGVuZGluZ1B1c2gpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFJlbW92ZSBjYWNoZS5kYXRhIGFzIGl0IGhhcyBiZWVuIHJlc29sdmVkIGF0IHRoaXMgcG9pbnQuXG4gICAgICAgIG11dGFibGUuaW5GbGlnaHRTZXJ2ZXJBY3Rpb24gPSBudWxsO1xuICAgICAgICBmb3IgKGNvbnN0IGZsaWdodERhdGFQYXRoIG9mIGZsaWdodERhdGEpe1xuICAgICAgICAgICAgLy8gRmxpZ2h0RGF0YVBhdGggd2l0aCBtb3JlIHRoYW4gdHdvIGl0ZW1zIG1lYW5zIHVuZXhwZWN0ZWQgRmxpZ2h0IGRhdGEgd2FzIHJldHVybmVkXG4gICAgICAgICAgICBpZiAoZmxpZ2h0RGF0YVBhdGgubGVuZ3RoICE9PSAzKSB7XG4gICAgICAgICAgICAgICAgLy8gVE9ETy1BUFA6IGhhbmRsZSB0aGlzIGNhc2UgYmV0dGVyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJTRVJWRVIgQUNUSU9OIEFQUExZIEZBSUxFRFwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBHaXZlbiB0aGUgcGF0aCBjYW4gb25seSBoYXZlIHR3byBpdGVtcyB0aGUgaXRlbXMgYXJlIG9ubHkgdGhlIHJvdXRlciBzdGF0ZSBhbmQgcnNjIGZvciB0aGUgcm9vdC5cbiAgICAgICAgICAgIGNvbnN0IFt0cmVlUGF0Y2hdID0gZmxpZ2h0RGF0YVBhdGg7XG4gICAgICAgICAgICBjb25zdCBuZXdUcmVlID0gKDAsIF9hcHBseXJvdXRlcnN0YXRlcGF0Y2h0b3RyZWUuYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9GdWxsVHJlZSkoLy8gVE9ETy1BUFA6IHJlbW92ZSAnJ1xuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIFwiXCJcbiAgICAgICAgICAgIF0sIGN1cnJlbnRUcmVlLCB0cmVlUGF0Y2gpO1xuICAgICAgICAgICAgaWYgKG5ld1RyZWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9oYW5kbGVzZWdtZW50bWlzbWF0Y2guaGFuZGxlU2VnbWVudE1pc21hdGNoKShzdGF0ZSwgYWN0aW9uLCB0cmVlUGF0Y2gpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCgwLCBfaXNuYXZpZ2F0aW5ndG9uZXdyb290bGF5b3V0LmlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCkoY3VycmVudFRyZWUsIG5ld1RyZWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfbmF2aWdhdGVyZWR1Y2VyLmhhbmRsZUV4dGVybmFsVXJsKShzdGF0ZSwgbXV0YWJsZSwgaHJlZiwgc3RhdGUucHVzaFJlZi5wZW5kaW5nUHVzaCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUaGUgb25lIGJlZm9yZSBsYXN0IGl0ZW0gaXMgdGhlIHJvdXRlciBzdGF0ZSB0cmVlIHBhdGNoXG4gICAgICAgICAgICBjb25zdCBbY2FjaGVOb2RlU2VlZERhdGEsIGhlYWRdID0gZmxpZ2h0RGF0YVBhdGguc2xpY2UoLTIpO1xuICAgICAgICAgICAgY29uc3QgcnNjID0gY2FjaGVOb2RlU2VlZERhdGEgIT09IG51bGwgPyBjYWNoZU5vZGVTZWVkRGF0YVsyXSA6IG51bGw7XG4gICAgICAgICAgICAvLyBIYW5kbGVzIGNhc2Ugd2hlcmUgcHJlZmV0Y2ggb25seSByZXR1cm5zIHRoZSByb3V0ZXIgdHJlZSBwYXRjaCB3aXRob3V0IHJlbmRlcmVkIGNvbXBvbmVudHMuXG4gICAgICAgICAgICBpZiAocnNjICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2FjaGUgPSAoMCwgX2FwcHJvdXRlci5jcmVhdGVFbXB0eUNhY2hlTm9kZSkoKTtcbiAgICAgICAgICAgICAgICBjYWNoZS5yc2MgPSByc2M7XG4gICAgICAgICAgICAgICAgY2FjaGUucHJlZmV0Y2hSc2MgPSBudWxsO1xuICAgICAgICAgICAgICAgICgwLCBfZmlsbGxhenlpdGVtc3RpbGxsZWFmd2l0aGhlYWQuZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQpKGNhY2hlLCAvLyBFeGlzdGluZyBjYWNoZSBpcyBub3QgcGFzc2VkIGluIGFzIGByb3V0ZXIucmVmcmVzaCgpYCBoYXMgdG8gaW52YWxpZGF0ZSB0aGUgZW50aXJlIGNhY2hlLlxuICAgICAgICAgICAgICAgIHVuZGVmaW5lZCwgdHJlZVBhdGNoLCBjYWNoZU5vZGVTZWVkRGF0YSwgaGVhZCk7XG4gICAgICAgICAgICAgICAgbXV0YWJsZS5jYWNoZSA9IGNhY2hlO1xuICAgICAgICAgICAgICAgIG11dGFibGUucHJlZmV0Y2hDYWNoZSA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG11dGFibGUucGF0Y2hlZFRyZWUgPSBuZXdUcmVlO1xuICAgICAgICAgICAgbXV0YWJsZS5jYW5vbmljYWxVcmwgPSBocmVmO1xuICAgICAgICAgICAgY3VycmVudFRyZWUgPSBuZXdUcmVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZWRpcmVjdExvY2F0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdIcmVmID0gKDAsIF9jcmVhdGVocmVmZnJvbXVybC5jcmVhdGVIcmVmRnJvbVVybCkocmVkaXJlY3RMb2NhdGlvbiwgZmFsc2UpO1xuICAgICAgICAgICAgbXV0YWJsZS5jYW5vbmljYWxVcmwgPSBuZXdIcmVmO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbXV0YWJsZS5hY3Rpb25SZXN1bHRSZXNvbHZlZCkge1xuICAgICAgICAgICAgcmVzb2x2ZShhY3Rpb25SZXN1bHQpO1xuICAgICAgICAgICAgbXV0YWJsZS5hY3Rpb25SZXN1bHRSZXNvbHZlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICgwLCBfaGFuZGxlbXV0YWJsZS5oYW5kbGVNdXRhYmxlKShzdGF0ZSwgbXV0YWJsZSk7XG4gICAgfSwgKGUpPT57XG4gICAgICAgIGlmIChlLnN0YXR1cyA9PT0gXCJyZWplY3RlZFwiKSB7XG4gICAgICAgICAgICBpZiAoIW11dGFibGUuYWN0aW9uUmVzdWx0UmVzb2x2ZWQpIHtcbiAgICAgICAgICAgICAgICByZWplY3QoZS5yZWFzb24pO1xuICAgICAgICAgICAgICAgIG11dGFibGUuYWN0aW9uUmVzdWx0UmVzb2x2ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gV2hlbiB0aGUgc2VydmVyIGFjdGlvbiBpcyByZWplY3RlZCB3ZSBkb24ndCB1cGRhdGUgdGhlIHN0YXRlIGFuZCBpbnN0ZWFkIGNhbGwgdGhlIHJlamVjdCBoYW5kbGVyIG9mIHRoZSBwcm9taXNlLlxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGU7XG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNlcnZlci1hY3Rpb24tcmVkdWNlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic2VydmVyQWN0aW9uUmVkdWNlciIsIl9hcHBjYWxsc2VydmVyIiwicmVxdWlyZSIsIl9hcHByb3V0ZXJoZWFkZXJzIiwiX2FkZGJhc2VwYXRoIiwiX2NyZWF0ZWhyZWZmcm9tdXJsIiwiX25hdmlnYXRlcmVkdWNlciIsIl9hcHBseXJvdXRlcnN0YXRlcGF0Y2h0b3RyZWUiLCJfaXNuYXZpZ2F0aW5ndG9uZXdyb290bGF5b3V0IiwiX2hhbmRsZW11dGFibGUiLCJfZmlsbGxhenlpdGVtc3RpbGxsZWFmd2l0aGhlYWQiLCJfYXBwcm91dGVyIiwiX2NvbXB1dGVjaGFuZ2VkcGF0aCIsIl9oYW5kbGVzZWdtZW50bWlzbWF0Y2giLCJjcmVhdGVGcm9tRmV0Y2giLCJlbmNvZGVSZXBseSIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1JVTlRJTUUiLCJmZXRjaFNlcnZlckFjdGlvbiIsInN0YXRlIiwicGFyYW0iLCJhY3Rpb25JZCIsImFjdGlvbkFyZ3MiLCJib2R5IiwibmV3TmV4dFVybCIsImV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlIiwidHJlZSIsImluY2x1ZGVOZXh0VXJsIiwibmV4dFVybCIsInJlcyIsImZldGNoIiwibWV0aG9kIiwiaGVhZGVycyIsIkFjY2VwdCIsIlJTQ19DT05URU5UX1RZUEVfSEVBREVSIiwiQUNUSU9OIiwiTkVYVF9ST1VURVJfU1RBVEVfVFJFRSIsImVuY29kZVVSSUNvbXBvbmVudCIsIkpTT04iLCJzdHJpbmdpZnkiLCJfX05FWFRfQUNUSU9OU19ERVBMT1lNRU5UX0lEIiwiTkVYVF9ERVBMT1lNRU5UX0lEIiwiTkVYVF9VUkwiLCJsb2NhdGlvbiIsInJldmFsaWRhdGVkUGFydHMiLCJyZXZhbGlkYXRlZEhlYWRlciIsInBhcnNlIiwicGF0aHMiLCJ0YWciLCJjb29raWUiLCJlIiwicmVkaXJlY3RMb2NhdGlvbiIsIlVSTCIsImFkZEJhc2VQYXRoIiwiY2Fub25pY2FsVXJsIiwid2luZG93IiwiaHJlZiIsInVuZGVmaW5lZCIsImlzRmxpZ2h0UmVzcG9uc2UiLCJyZXNwb25zZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiY2FsbFNlcnZlciIsImFjdGlvbkZsaWdodERhdGEiLCJhY3Rpb25SZXN1bHQiLCJhY3Rpb24iLCJyZWplY3QiLCJtdXRhYmxlIiwiY3VycmVudFRyZWUiLCJwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSIsImluRmxpZ2h0U2VydmVyQWN0aW9uIiwidGhlbiIsImZsaWdodERhdGEiLCJwdXNoUmVmIiwicGVuZGluZ1B1c2giLCJhY3Rpb25SZXN1bHRSZXNvbHZlZCIsImhhbmRsZUV4dGVybmFsVXJsIiwiZmxpZ2h0RGF0YVBhdGgiLCJsZW5ndGgiLCJjb25zb2xlIiwibG9nIiwidHJlZVBhdGNoIiwibmV3VHJlZSIsImFwcGx5Um91dGVyU3RhdGVQYXRjaFRvRnVsbFRyZWUiLCJoYW5kbGVTZWdtZW50TWlzbWF0Y2giLCJpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQiLCJjYWNoZU5vZGVTZWVkRGF0YSIsImhlYWQiLCJzbGljZSIsInJzYyIsImNhY2hlIiwiY3JlYXRlRW1wdHlDYWNoZU5vZGUiLCJwcmVmZXRjaFJzYyIsImZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkIiwicHJlZmV0Y2hDYWNoZSIsIk1hcCIsInBhdGNoZWRUcmVlIiwibmV3SHJlZiIsImNyZWF0ZUhyZWZGcm9tVXJsIiwiaGFuZGxlTXV0YWJsZSIsInN0YXR1cyIsInJlYXNvbiIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js": /*!**************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js ***! \**************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"serverPatchReducer\", ({\n enumerable: true,\n get: function() {\n return serverPatchReducer;\n }\n}));\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _applyflightdata = __webpack_require__(/*! ../apply-flight-data */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\nfunction serverPatchReducer(state, action) {\n const { flightData, overrideCanonicalUrl } = action;\n const mutable = {};\n mutable.preserveCustomHistoryState = false;\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n let currentTree = state.tree;\n let currentCache = state.cache;\n for (const flightDataPath of flightData){\n // Slices off the last segment (which is at -4) as it doesn't exist in the tree yet\n const flightSegmentPath = flightDataPath.slice(0, -4);\n const [treePatch] = flightDataPath.slice(-3, -2);\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)([\n \"\",\n ...flightSegmentPath\n ], currentTree, treePatch);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, state.canonicalUrl, state.pushRef.pendingPush);\n }\n const canonicalUrlOverrideHref = overrideCanonicalUrl ? (0, _createhreffromurl.createHrefFromUrl)(overrideCanonicalUrl) : undefined;\n if (canonicalUrlOverrideHref) {\n mutable.canonicalUrl = canonicalUrlOverrideHref;\n }\n const cache = (0, _approuter.createEmptyCacheNode)();\n (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath);\n mutable.patchedTree = newTree;\n mutable.cache = cache;\n currentCache = cache;\n currentTree = newTree;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=server-patch-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3NlcnZlci1wYXRjaC1yZWR1Y2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxxQkFBcUJDLG1CQUFPQSxDQUFDLHdIQUF5QjtBQUM1RCxNQUFNQywrQkFBK0JELG1CQUFPQSxDQUFDLGdKQUFxQztBQUNsRixNQUFNRSwrQkFBK0JGLG1CQUFPQSxDQUFDLGdKQUFxQztBQUNsRixNQUFNRyxtQkFBbUJILG1CQUFPQSxDQUFDLHdIQUFvQjtBQUNyRCxNQUFNSSxtQkFBbUJKLG1CQUFPQSxDQUFDLGtIQUFzQjtBQUN2RCxNQUFNSyxpQkFBaUJMLG1CQUFPQSxDQUFDLDRHQUFtQjtBQUNsRCxNQUFNTSxhQUFhTixtQkFBT0EsQ0FBQyx3RkFBa0I7QUFDN0MsTUFBTU8seUJBQXlCUCxtQkFBT0EsQ0FBQyw4SEFBNEI7QUFDbkUsU0FBU0YsbUJBQW1CVSxLQUFLLEVBQUVDLE1BQU07SUFDckMsTUFBTSxFQUFFQyxVQUFVLEVBQUVDLG9CQUFvQixFQUFFLEdBQUdGO0lBQzdDLE1BQU1HLFVBQVUsQ0FBQztJQUNqQkEsUUFBUUMsMEJBQTBCLEdBQUc7SUFDckMsNERBQTREO0lBQzVELElBQUksT0FBT0gsZUFBZSxVQUFVO1FBQ2hDLE9BQU8sQ0FBQyxHQUFHUCxpQkFBaUJXLGlCQUFpQixFQUFFTixPQUFPSSxTQUFTRixZQUFZRixNQUFNTyxPQUFPLENBQUNDLFdBQVc7SUFDeEc7SUFDQSxJQUFJQyxjQUFjVCxNQUFNVSxJQUFJO0lBQzVCLElBQUlDLGVBQWVYLE1BQU1ZLEtBQUs7SUFDOUIsS0FBSyxNQUFNQyxrQkFBa0JYLFdBQVc7UUFDcEMsbUZBQW1GO1FBQ25GLE1BQU1ZLG9CQUFvQkQsZUFBZUUsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNuRCxNQUFNLENBQUNDLFVBQVUsR0FBR0gsZUFBZUUsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzlDLE1BQU1FLFVBQVUsQ0FBQyxHQUFHeEIsNkJBQTZCeUIsc0NBQXNDLEVBQ3ZGO1lBQ0k7ZUFDR0o7U0FDTixFQUFFTCxhQUFhTztRQUNoQixJQUFJQyxZQUFZLE1BQU07WUFDbEIsT0FBTyxDQUFDLEdBQUdsQix1QkFBdUJvQixxQkFBcUIsRUFBRW5CLE9BQU9DLFFBQVFlO1FBQzVFO1FBQ0EsSUFBSSxDQUFDLEdBQUd0Qiw2QkFBNkIwQiwyQkFBMkIsRUFBRVgsYUFBYVEsVUFBVTtZQUNyRixPQUFPLENBQUMsR0FBR3RCLGlCQUFpQlcsaUJBQWlCLEVBQUVOLE9BQU9JLFNBQVNKLE1BQU1xQixZQUFZLEVBQUVyQixNQUFNTyxPQUFPLENBQUNDLFdBQVc7UUFDaEg7UUFDQSxNQUFNYywyQkFBMkJuQix1QkFBdUIsQ0FBQyxHQUFHWixtQkFBbUJnQyxpQkFBaUIsRUFBRXBCLHdCQUF3QnFCO1FBQzFILElBQUlGLDBCQUEwQjtZQUMxQmxCLFFBQVFpQixZQUFZLEdBQUdDO1FBQzNCO1FBQ0EsTUFBTVYsUUFBUSxDQUFDLEdBQUdkLFdBQVcyQixvQkFBb0I7UUFDaEQsSUFBRzdCLGlCQUFpQjhCLGVBQWUsRUFBRWYsY0FBY0MsT0FBT0M7UUFDM0RULFFBQVF1QixXQUFXLEdBQUdWO1FBQ3RCYixRQUFRUSxLQUFLLEdBQUdBO1FBQ2hCRCxlQUFlQztRQUNmSCxjQUFjUTtJQUNsQjtJQUNBLE9BQU8sQ0FBQyxHQUFHcEIsZUFBZStCLGFBQWEsRUFBRTVCLE9BQU9JO0FBQ3BEO0FBRUEsSUFBSSxDQUFDLE9BQU9sQixRQUFRMkMsT0FBTyxLQUFLLGNBQWUsT0FBTzNDLFFBQVEyQyxPQUFPLEtBQUssWUFBWTNDLFFBQVEyQyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU8zQyxRQUFRMkMsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySzlDLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTJDLE9BQU8sRUFBRSxjQUFjO1FBQUUxQyxPQUFPO0lBQUs7SUFDbkVILE9BQU8rQyxNQUFNLENBQUM3QyxRQUFRMkMsT0FBTyxFQUFFM0M7SUFDL0I4QyxPQUFPOUMsT0FBTyxHQUFHQSxRQUFRMkMsT0FBTztBQUNsQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvc2VydmVyLXBhdGNoLXJlZHVjZXIuanM/ZGFmMiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInNlcnZlclBhdGNoUmVkdWNlclwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc2VydmVyUGF0Y2hSZWR1Y2VyO1xuICAgIH1cbn0pO1xuY29uc3QgX2NyZWF0ZWhyZWZmcm9tdXJsID0gcmVxdWlyZShcIi4uL2NyZWF0ZS1ocmVmLWZyb20tdXJsXCIpO1xuY29uc3QgX2FwcGx5cm91dGVyc3RhdGVwYXRjaHRvdHJlZSA9IHJlcXVpcmUoXCIuLi9hcHBseS1yb3V0ZXItc3RhdGUtcGF0Y2gtdG8tdHJlZVwiKTtcbmNvbnN0IF9pc25hdmlnYXRpbmd0b25ld3Jvb3RsYXlvdXQgPSByZXF1aXJlKFwiLi4vaXMtbmF2aWdhdGluZy10by1uZXctcm9vdC1sYXlvdXRcIik7XG5jb25zdCBfbmF2aWdhdGVyZWR1Y2VyID0gcmVxdWlyZShcIi4vbmF2aWdhdGUtcmVkdWNlclwiKTtcbmNvbnN0IF9hcHBseWZsaWdodGRhdGEgPSByZXF1aXJlKFwiLi4vYXBwbHktZmxpZ2h0LWRhdGFcIik7XG5jb25zdCBfaGFuZGxlbXV0YWJsZSA9IHJlcXVpcmUoXCIuLi9oYW5kbGUtbXV0YWJsZVwiKTtcbmNvbnN0IF9hcHByb3V0ZXIgPSByZXF1aXJlKFwiLi4vLi4vYXBwLXJvdXRlclwiKTtcbmNvbnN0IF9oYW5kbGVzZWdtZW50bWlzbWF0Y2ggPSByZXF1aXJlKFwiLi4vaGFuZGxlLXNlZ21lbnQtbWlzbWF0Y2hcIik7XG5mdW5jdGlvbiBzZXJ2ZXJQYXRjaFJlZHVjZXIoc3RhdGUsIGFjdGlvbikge1xuICAgIGNvbnN0IHsgZmxpZ2h0RGF0YSwgb3ZlcnJpZGVDYW5vbmljYWxVcmwgfSA9IGFjdGlvbjtcbiAgICBjb25zdCBtdXRhYmxlID0ge307XG4gICAgbXV0YWJsZS5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSA9IGZhbHNlO1xuICAgIC8vIEhhbmRsZSBjYXNlIHdoZW4gbmF2aWdhdGluZyB0byBwYWdlIGluIGBwYWdlc2AgZnJvbSBgYXBwYFxuICAgIGlmICh0eXBlb2YgZmxpZ2h0RGF0YSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gKDAsIF9uYXZpZ2F0ZXJlZHVjZXIuaGFuZGxlRXh0ZXJuYWxVcmwpKHN0YXRlLCBtdXRhYmxlLCBmbGlnaHREYXRhLCBzdGF0ZS5wdXNoUmVmLnBlbmRpbmdQdXNoKTtcbiAgICB9XG4gICAgbGV0IGN1cnJlbnRUcmVlID0gc3RhdGUudHJlZTtcbiAgICBsZXQgY3VycmVudENhY2hlID0gc3RhdGUuY2FjaGU7XG4gICAgZm9yIChjb25zdCBmbGlnaHREYXRhUGF0aCBvZiBmbGlnaHREYXRhKXtcbiAgICAgICAgLy8gU2xpY2VzIG9mZiB0aGUgbGFzdCBzZWdtZW50ICh3aGljaCBpcyBhdCAtNCkgYXMgaXQgZG9lc24ndCBleGlzdCBpbiB0aGUgdHJlZSB5ZXRcbiAgICAgICAgY29uc3QgZmxpZ2h0U2VnbWVudFBhdGggPSBmbGlnaHREYXRhUGF0aC5zbGljZSgwLCAtNCk7XG4gICAgICAgIGNvbnN0IFt0cmVlUGF0Y2hdID0gZmxpZ2h0RGF0YVBhdGguc2xpY2UoLTMsIC0yKTtcbiAgICAgICAgY29uc3QgbmV3VHJlZSA9ICgwLCBfYXBwbHlyb3V0ZXJzdGF0ZXBhdGNodG90cmVlLmFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZVNraXBEZWZhdWx0KSgvLyBUT0RPLUFQUDogcmVtb3ZlICcnXG4gICAgICAgIFtcbiAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICAuLi5mbGlnaHRTZWdtZW50UGF0aFxuICAgICAgICBdLCBjdXJyZW50VHJlZSwgdHJlZVBhdGNoKTtcbiAgICAgICAgaWYgKG5ld1RyZWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAoMCwgX2hhbmRsZXNlZ21lbnRtaXNtYXRjaC5oYW5kbGVTZWdtZW50TWlzbWF0Y2gpKHN0YXRlLCBhY3Rpb24sIHRyZWVQYXRjaCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCgwLCBfaXNuYXZpZ2F0aW5ndG9uZXdyb290bGF5b3V0LmlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCkoY3VycmVudFRyZWUsIG5ld1RyZWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gKDAsIF9uYXZpZ2F0ZXJlZHVjZXIuaGFuZGxlRXh0ZXJuYWxVcmwpKHN0YXRlLCBtdXRhYmxlLCBzdGF0ZS5jYW5vbmljYWxVcmwsIHN0YXRlLnB1c2hSZWYucGVuZGluZ1B1c2gpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNhbm9uaWNhbFVybE92ZXJyaWRlSHJlZiA9IG92ZXJyaWRlQ2Fub25pY2FsVXJsID8gKDAsIF9jcmVhdGVocmVmZnJvbXVybC5jcmVhdGVIcmVmRnJvbVVybCkob3ZlcnJpZGVDYW5vbmljYWxVcmwpIDogdW5kZWZpbmVkO1xuICAgICAgICBpZiAoY2Fub25pY2FsVXJsT3ZlcnJpZGVIcmVmKSB7XG4gICAgICAgICAgICBtdXRhYmxlLmNhbm9uaWNhbFVybCA9IGNhbm9uaWNhbFVybE92ZXJyaWRlSHJlZjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjYWNoZSA9ICgwLCBfYXBwcm91dGVyLmNyZWF0ZUVtcHR5Q2FjaGVOb2RlKSgpO1xuICAgICAgICAoMCwgX2FwcGx5ZmxpZ2h0ZGF0YS5hcHBseUZsaWdodERhdGEpKGN1cnJlbnRDYWNoZSwgY2FjaGUsIGZsaWdodERhdGFQYXRoKTtcbiAgICAgICAgbXV0YWJsZS5wYXRjaGVkVHJlZSA9IG5ld1RyZWU7XG4gICAgICAgIG11dGFibGUuY2FjaGUgPSBjYWNoZTtcbiAgICAgICAgY3VycmVudENhY2hlID0gY2FjaGU7XG4gICAgICAgIGN1cnJlbnRUcmVlID0gbmV3VHJlZTtcbiAgICB9XG4gICAgcmV0dXJuICgwLCBfaGFuZGxlbXV0YWJsZS5oYW5kbGVNdXRhYmxlKShzdGF0ZSwgbXV0YWJsZSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNlcnZlci1wYXRjaC1yZWR1Y2VyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJzZXJ2ZXJQYXRjaFJlZHVjZXIiLCJfY3JlYXRlaHJlZmZyb211cmwiLCJyZXF1aXJlIiwiX2FwcGx5cm91dGVyc3RhdGVwYXRjaHRvdHJlZSIsIl9pc25hdmlnYXRpbmd0b25ld3Jvb3RsYXlvdXQiLCJfbmF2aWdhdGVyZWR1Y2VyIiwiX2FwcGx5ZmxpZ2h0ZGF0YSIsIl9oYW5kbGVtdXRhYmxlIiwiX2FwcHJvdXRlciIsIl9oYW5kbGVzZWdtZW50bWlzbWF0Y2giLCJzdGF0ZSIsImFjdGlvbiIsImZsaWdodERhdGEiLCJvdmVycmlkZUNhbm9uaWNhbFVybCIsIm11dGFibGUiLCJwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSIsImhhbmRsZUV4dGVybmFsVXJsIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwiY3VycmVudFRyZWUiLCJ0cmVlIiwiY3VycmVudENhY2hlIiwiY2FjaGUiLCJmbGlnaHREYXRhUGF0aCIsImZsaWdodFNlZ21lbnRQYXRoIiwic2xpY2UiLCJ0cmVlUGF0Y2giLCJuZXdUcmVlIiwiYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlU2tpcERlZmF1bHQiLCJoYW5kbGVTZWdtZW50TWlzbWF0Y2giLCJpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQiLCJjYW5vbmljYWxVcmwiLCJjYW5vbmljYWxVcmxPdmVycmlkZUhyZWYiLCJjcmVhdGVIcmVmRnJvbVVybCIsInVuZGVmaW5lZCIsImNyZWF0ZUVtcHR5Q2FjaGVOb2RlIiwiYXBwbHlGbGlnaHREYXRhIiwicGF0Y2hlZFRyZWUiLCJoYW5kbGVNdXRhYmxlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js ***! \*****************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PrefetchKind: function() {\n return PrefetchKind;\n },\n ACTION_REFRESH: function() {\n return ACTION_REFRESH;\n },\n ACTION_NAVIGATE: function() {\n return ACTION_NAVIGATE;\n },\n ACTION_RESTORE: function() {\n return ACTION_RESTORE;\n },\n ACTION_SERVER_PATCH: function() {\n return ACTION_SERVER_PATCH;\n },\n ACTION_PREFETCH: function() {\n return ACTION_PREFETCH;\n },\n ACTION_FAST_REFRESH: function() {\n return ACTION_FAST_REFRESH;\n },\n ACTION_SERVER_ACTION: function() {\n return ACTION_SERVER_ACTION;\n },\n isThenable: function() {\n return isThenable;\n }\n});\nconst ACTION_REFRESH = \"refresh\";\nconst ACTION_NAVIGATE = \"navigate\";\nconst ACTION_RESTORE = \"restore\";\nconst ACTION_SERVER_PATCH = \"server-patch\";\nconst ACTION_PREFETCH = \"prefetch\";\nconst ACTION_FAST_REFRESH = \"fast-refresh\";\nconst ACTION_SERVER_ACTION = \"server-action\";\nvar PrefetchKind;\n(function(PrefetchKind) {\n PrefetchKind[\"AUTO\"] = \"auto\";\n PrefetchKind[\"FULL\"] = \"full\";\n PrefetchKind[\"TEMPORARY\"] = \"temporary\";\n})(PrefetchKind || (PrefetchKind = {}));\nfunction isThenable(value) {\n // TODO: We don't gain anything from this abstraction. It's unsound, and only\n // makes sense in the specific places where we use it. So it's better to keep\n // the type coercion inline, instead of leaking this to other places in\n // the codebase.\n return value && (typeof value === \"object\" || typeof value === \"function\") && typeof value.then === \"function\";\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=router-reducer-types.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyLXR5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBVU47QUFDQSxTQUFTVSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJaEIsT0FBT0MsY0FBYyxDQUFDYyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFaLFNBQVM7SUFDYkcsY0FBYztRQUNWLE9BQU9BO0lBQ1g7SUFDQUMsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtJQUNBQyxpQkFBaUI7UUFDYixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMscUJBQXFCO1FBQ2pCLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtJQUNBQyxzQkFBc0I7UUFDbEIsT0FBT0E7SUFDWDtJQUNBQyxZQUFZO1FBQ1IsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTVAsaUJBQWlCO0FBQ3ZCLE1BQU1DLGtCQUFrQjtBQUN4QixNQUFNQyxpQkFBaUI7QUFDdkIsTUFBTUMsc0JBQXNCO0FBQzVCLE1BQU1DLGtCQUFrQjtBQUN4QixNQUFNQyxzQkFBc0I7QUFDNUIsTUFBTUMsdUJBQXVCO0FBQzdCLElBQUlQO0FBQ0gsVUFBU0EsWUFBWTtJQUNsQkEsWUFBWSxDQUFDLE9BQU8sR0FBRztJQUN2QkEsWUFBWSxDQUFDLE9BQU8sR0FBRztJQUN2QkEsWUFBWSxDQUFDLFlBQVksR0FBRztBQUNoQyxHQUFHQSxnQkFBaUJBLENBQUFBLGVBQWUsQ0FBQztBQUNwQyxTQUFTUSxXQUFXVixLQUFLO0lBQ3JCLDZFQUE2RTtJQUM3RSw2RUFBNkU7SUFDN0UsdUVBQXVFO0lBQ3ZFLGdCQUFnQjtJQUNoQixPQUFPQSxTQUFVLFFBQU9BLFVBQVUsWUFBWSxPQUFPQSxVQUFVLFVBQVMsS0FBTSxPQUFPQSxNQUFNaUIsSUFBSSxLQUFLO0FBQ3hHO0FBRUEsSUFBSSxDQUFDLE9BQU9sQixRQUFRbUIsT0FBTyxLQUFLLGNBQWUsT0FBT25CLFFBQVFtQixPQUFPLEtBQUssWUFBWW5CLFFBQVFtQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9uQixRQUFRbUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3RCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW1CLE9BQU8sRUFBRSxjQUFjO1FBQUVsQixPQUFPO0lBQUs7SUFDbkVILE9BQU91QixNQUFNLENBQUNyQixRQUFRbUIsT0FBTyxFQUFFbkI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUW1CLE9BQU87QUFDbEMsRUFFQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyLXR5cGVzLmpzPzY1N2QiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBQcmVmZXRjaEtpbmQ6IG51bGwsXG4gICAgQUNUSU9OX1JFRlJFU0g6IG51bGwsXG4gICAgQUNUSU9OX05BVklHQVRFOiBudWxsLFxuICAgIEFDVElPTl9SRVNUT1JFOiBudWxsLFxuICAgIEFDVElPTl9TRVJWRVJfUEFUQ0g6IG51bGwsXG4gICAgQUNUSU9OX1BSRUZFVENIOiBudWxsLFxuICAgIEFDVElPTl9GQVNUX1JFRlJFU0g6IG51bGwsXG4gICAgQUNUSU9OX1NFUlZFUl9BQ1RJT046IG51bGwsXG4gICAgaXNUaGVuYWJsZTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBQcmVmZXRjaEtpbmQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUHJlZmV0Y2hLaW5kO1xuICAgIH0sXG4gICAgQUNUSU9OX1JFRlJFU0g6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQUNUSU9OX1JFRlJFU0g7XG4gICAgfSxcbiAgICBBQ1RJT05fTkFWSUdBVEU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQUNUSU9OX05BVklHQVRFO1xuICAgIH0sXG4gICAgQUNUSU9OX1JFU1RPUkU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQUNUSU9OX1JFU1RPUkU7XG4gICAgfSxcbiAgICBBQ1RJT05fU0VSVkVSX1BBVENIOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFDVElPTl9TRVJWRVJfUEFUQ0g7XG4gICAgfSxcbiAgICBBQ1RJT05fUFJFRkVUQ0g6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQUNUSU9OX1BSRUZFVENIO1xuICAgIH0sXG4gICAgQUNUSU9OX0ZBU1RfUkVGUkVTSDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBQ1RJT05fRkFTVF9SRUZSRVNIO1xuICAgIH0sXG4gICAgQUNUSU9OX1NFUlZFUl9BQ1RJT046IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQUNUSU9OX1NFUlZFUl9BQ1RJT047XG4gICAgfSxcbiAgICBpc1RoZW5hYmxlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzVGhlbmFibGU7XG4gICAgfVxufSk7XG5jb25zdCBBQ1RJT05fUkVGUkVTSCA9IFwicmVmcmVzaFwiO1xuY29uc3QgQUNUSU9OX05BVklHQVRFID0gXCJuYXZpZ2F0ZVwiO1xuY29uc3QgQUNUSU9OX1JFU1RPUkUgPSBcInJlc3RvcmVcIjtcbmNvbnN0IEFDVElPTl9TRVJWRVJfUEFUQ0ggPSBcInNlcnZlci1wYXRjaFwiO1xuY29uc3QgQUNUSU9OX1BSRUZFVENIID0gXCJwcmVmZXRjaFwiO1xuY29uc3QgQUNUSU9OX0ZBU1RfUkVGUkVTSCA9IFwiZmFzdC1yZWZyZXNoXCI7XG5jb25zdCBBQ1RJT05fU0VSVkVSX0FDVElPTiA9IFwic2VydmVyLWFjdGlvblwiO1xudmFyIFByZWZldGNoS2luZDtcbihmdW5jdGlvbihQcmVmZXRjaEtpbmQpIHtcbiAgICBQcmVmZXRjaEtpbmRbXCJBVVRPXCJdID0gXCJhdXRvXCI7XG4gICAgUHJlZmV0Y2hLaW5kW1wiRlVMTFwiXSA9IFwiZnVsbFwiO1xuICAgIFByZWZldGNoS2luZFtcIlRFTVBPUkFSWVwiXSA9IFwidGVtcG9yYXJ5XCI7XG59KShQcmVmZXRjaEtpbmQgfHwgKFByZWZldGNoS2luZCA9IHt9KSk7XG5mdW5jdGlvbiBpc1RoZW5hYmxlKHZhbHVlKSB7XG4gICAgLy8gVE9ETzogV2UgZG9uJ3QgZ2FpbiBhbnl0aGluZyBmcm9tIHRoaXMgYWJzdHJhY3Rpb24uIEl0J3MgdW5zb3VuZCwgYW5kIG9ubHlcbiAgICAvLyBtYWtlcyBzZW5zZSBpbiB0aGUgc3BlY2lmaWMgcGxhY2VzIHdoZXJlIHdlIHVzZSBpdC4gU28gaXQncyBiZXR0ZXIgdG8ga2VlcFxuICAgIC8vIHRoZSB0eXBlIGNvZXJjaW9uIGlubGluZSwgaW5zdGVhZCBvZiBsZWFraW5nIHRoaXMgdG8gb3RoZXIgcGxhY2VzIGluXG4gICAgLy8gdGhlIGNvZGViYXNlLlxuICAgIHJldHVybiB2YWx1ZSAmJiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiKSAmJiB0eXBlb2YgdmFsdWUudGhlbiA9PT0gXCJmdW5jdGlvblwiO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yb3V0ZXItcmVkdWNlci10eXBlcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJQcmVmZXRjaEtpbmQiLCJBQ1RJT05fUkVGUkVTSCIsIkFDVElPTl9OQVZJR0FURSIsIkFDVElPTl9SRVNUT1JFIiwiQUNUSU9OX1NFUlZFUl9QQVRDSCIsIkFDVElPTl9QUkVGRVRDSCIsIkFDVElPTl9GQVNUX1JFRlJFU0giLCJBQ1RJT05fU0VSVkVSX0FDVElPTiIsImlzVGhlbmFibGUiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJ0aGVuIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js": /*!***********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/router-reducer.js ***! \***********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"reducer\", ({\n enumerable: true,\n get: function() {\n return reducer;\n }\n}));\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _navigatereducer = __webpack_require__(/*! ./reducers/navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _serverpatchreducer = __webpack_require__(/*! ./reducers/server-patch-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js\");\nconst _restorereducer = __webpack_require__(/*! ./reducers/restore-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js\");\nconst _refreshreducer = __webpack_require__(/*! ./reducers/refresh-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js\");\nconst _prefetchreducer = __webpack_require__(/*! ./reducers/prefetch-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\");\nconst _fastrefreshreducer = __webpack_require__(/*! ./reducers/fast-refresh-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js\");\nconst _serveractionreducer = __webpack_require__(/*! ./reducers/server-action-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js\");\n/**\n * Reducer that handles the app-router state updates.\n */ function clientReducer(state, action) {\n switch(action.type){\n case _routerreducertypes.ACTION_NAVIGATE:\n {\n return (0, _navigatereducer.navigateReducer)(state, action);\n }\n case _routerreducertypes.ACTION_SERVER_PATCH:\n {\n return (0, _serverpatchreducer.serverPatchReducer)(state, action);\n }\n case _routerreducertypes.ACTION_RESTORE:\n {\n return (0, _restorereducer.restoreReducer)(state, action);\n }\n case _routerreducertypes.ACTION_REFRESH:\n {\n return (0, _refreshreducer.refreshReducer)(state, action);\n }\n case _routerreducertypes.ACTION_FAST_REFRESH:\n {\n return (0, _fastrefreshreducer.fastRefreshReducer)(state, action);\n }\n case _routerreducertypes.ACTION_PREFETCH:\n {\n return (0, _prefetchreducer.prefetchReducer)(state, action);\n }\n case _routerreducertypes.ACTION_SERVER_ACTION:\n {\n return (0, _serveractionreducer.serverActionReducer)(state, action);\n }\n // This case should never be hit as dispatch is strongly typed.\n default:\n throw new Error(\"Unknown action\");\n }\n}\nfunction serverReducer(state, _action) {\n return state;\n}\nconst reducer = true ? serverReducer : 0;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=router-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwyQ0FBMEM7SUFDdENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxzQkFBc0JDLG1CQUFPQSxDQUFDLHVIQUF3QjtBQUM1RCxNQUFNQyxtQkFBbUJELG1CQUFPQSxDQUFDLGlJQUE2QjtBQUM5RCxNQUFNRSxzQkFBc0JGLG1CQUFPQSxDQUFDLHlJQUFpQztBQUNyRSxNQUFNRyxrQkFBa0JILG1CQUFPQSxDQUFDLCtIQUE0QjtBQUM1RCxNQUFNSSxrQkFBa0JKLG1CQUFPQSxDQUFDLCtIQUE0QjtBQUM1RCxNQUFNSyxtQkFBbUJMLG1CQUFPQSxDQUFDLGlJQUE2QjtBQUM5RCxNQUFNTSxzQkFBc0JOLG1CQUFPQSxDQUFDLHlJQUFpQztBQUNyRSxNQUFNTyx1QkFBdUJQLG1CQUFPQSxDQUFDLDJJQUFrQztBQUN2RTs7Q0FFQyxHQUFHLFNBQVNRLGNBQWNDLEtBQUssRUFBRUMsTUFBTTtJQUNwQyxPQUFPQSxPQUFPQyxJQUFJO1FBQ2QsS0FBS1osb0JBQW9CYSxlQUFlO1lBQ3BDO2dCQUNJLE9BQU8sQ0FBQyxHQUFHWCxpQkFBaUJZLGVBQWUsRUFBRUosT0FBT0M7WUFDeEQ7UUFDSixLQUFLWCxvQkFBb0JlLG1CQUFtQjtZQUN4QztnQkFDSSxPQUFPLENBQUMsR0FBR1osb0JBQW9CYSxrQkFBa0IsRUFBRU4sT0FBT0M7WUFDOUQ7UUFDSixLQUFLWCxvQkFBb0JpQixjQUFjO1lBQ25DO2dCQUNJLE9BQU8sQ0FBQyxHQUFHYixnQkFBZ0JjLGNBQWMsRUFBRVIsT0FBT0M7WUFDdEQ7UUFDSixLQUFLWCxvQkFBb0JtQixjQUFjO1lBQ25DO2dCQUNJLE9BQU8sQ0FBQyxHQUFHZCxnQkFBZ0JlLGNBQWMsRUFBRVYsT0FBT0M7WUFDdEQ7UUFDSixLQUFLWCxvQkFBb0JxQixtQkFBbUI7WUFDeEM7Z0JBQ0ksT0FBTyxDQUFDLEdBQUdkLG9CQUFvQmUsa0JBQWtCLEVBQUVaLE9BQU9DO1lBQzlEO1FBQ0osS0FBS1gsb0JBQW9CdUIsZUFBZTtZQUNwQztnQkFDSSxPQUFPLENBQUMsR0FBR2pCLGlCQUFpQmtCLGVBQWUsRUFBRWQsT0FBT0M7WUFDeEQ7UUFDSixLQUFLWCxvQkFBb0J5QixvQkFBb0I7WUFDekM7Z0JBQ0ksT0FBTyxDQUFDLEdBQUdqQixxQkFBcUJrQixtQkFBbUIsRUFBRWhCLE9BQU9DO1lBQ2hFO1FBQ0osK0RBQStEO1FBQy9EO1lBQ0ksTUFBTSxJQUFJZ0IsTUFBTTtJQUN4QjtBQUNKO0FBQ0EsU0FBU0MsY0FBY2xCLEtBQUssRUFBRW1CLE9BQU87SUFDakMsT0FBT25CO0FBQ1g7QUFDQSxNQUFNWCxVQUFVLEtBQTZCLEdBQUc2QixnQkFBZ0JuQixDQUFhQTtBQUU3RSxJQUFJLENBQUMsT0FBT2QsUUFBUW1DLE9BQU8sS0FBSyxjQUFlLE9BQU9uQyxRQUFRbUMsT0FBTyxLQUFLLFlBQVluQyxRQUFRbUMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPbkMsUUFBUW1DLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDckt0QyxPQUFPQyxjQUFjLENBQUNDLFFBQVFtQyxPQUFPLEVBQUUsY0FBYztRQUFFbEMsT0FBTztJQUFLO0lBQ25FSCxPQUFPdUMsTUFBTSxDQUFDckMsUUFBUW1DLE9BQU8sRUFBRW5DO0lBQy9Cc0MsT0FBT3RDLE9BQU8sR0FBR0EsUUFBUW1DLE9BQU87QUFDbEMsRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyLmpzPzFkZGMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJyZWR1Y2VyXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByZWR1Y2VyO1xuICAgIH1cbn0pO1xuY29uc3QgX3JvdXRlcnJlZHVjZXJ0eXBlcyA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyLXR5cGVzXCIpO1xuY29uc3QgX25hdmlnYXRlcmVkdWNlciA9IHJlcXVpcmUoXCIuL3JlZHVjZXJzL25hdmlnYXRlLXJlZHVjZXJcIik7XG5jb25zdCBfc2VydmVycGF0Y2hyZWR1Y2VyID0gcmVxdWlyZShcIi4vcmVkdWNlcnMvc2VydmVyLXBhdGNoLXJlZHVjZXJcIik7XG5jb25zdCBfcmVzdG9yZXJlZHVjZXIgPSByZXF1aXJlKFwiLi9yZWR1Y2Vycy9yZXN0b3JlLXJlZHVjZXJcIik7XG5jb25zdCBfcmVmcmVzaHJlZHVjZXIgPSByZXF1aXJlKFwiLi9yZWR1Y2Vycy9yZWZyZXNoLXJlZHVjZXJcIik7XG5jb25zdCBfcHJlZmV0Y2hyZWR1Y2VyID0gcmVxdWlyZShcIi4vcmVkdWNlcnMvcHJlZmV0Y2gtcmVkdWNlclwiKTtcbmNvbnN0IF9mYXN0cmVmcmVzaHJlZHVjZXIgPSByZXF1aXJlKFwiLi9yZWR1Y2Vycy9mYXN0LXJlZnJlc2gtcmVkdWNlclwiKTtcbmNvbnN0IF9zZXJ2ZXJhY3Rpb25yZWR1Y2VyID0gcmVxdWlyZShcIi4vcmVkdWNlcnMvc2VydmVyLWFjdGlvbi1yZWR1Y2VyXCIpO1xuLyoqXG4gKiBSZWR1Y2VyIHRoYXQgaGFuZGxlcyB0aGUgYXBwLXJvdXRlciBzdGF0ZSB1cGRhdGVzLlxuICovIGZ1bmN0aW9uIGNsaWVudFJlZHVjZXIoc3RhdGUsIGFjdGlvbikge1xuICAgIHN3aXRjaChhY3Rpb24udHlwZSl7XG4gICAgICAgIGNhc2UgX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fTkFWSUdBVEU6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfbmF2aWdhdGVyZWR1Y2VyLm5hdmlnYXRlUmVkdWNlcikoc3RhdGUsIGFjdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fU0VSVkVSX1BBVENIOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX3NlcnZlcnBhdGNocmVkdWNlci5zZXJ2ZXJQYXRjaFJlZHVjZXIpKHN0YXRlLCBhY3Rpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1JFU1RPUkU6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfcmVzdG9yZXJlZHVjZXIucmVzdG9yZVJlZHVjZXIpKHN0YXRlLCBhY3Rpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1JFRlJFU0g6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfcmVmcmVzaHJlZHVjZXIucmVmcmVzaFJlZHVjZXIpKHN0YXRlLCBhY3Rpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX0ZBU1RfUkVGUkVTSDpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9mYXN0cmVmcmVzaHJlZHVjZXIuZmFzdFJlZnJlc2hSZWR1Y2VyKShzdGF0ZSwgYWN0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9QUkVGRVRDSDpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9wcmVmZXRjaHJlZHVjZXIucHJlZmV0Y2hSZWR1Y2VyKShzdGF0ZSwgYWN0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9TRVJWRVJfQUNUSU9OOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX3NlcnZlcmFjdGlvbnJlZHVjZXIuc2VydmVyQWN0aW9uUmVkdWNlcikoc3RhdGUsIGFjdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIC8vIFRoaXMgY2FzZSBzaG91bGQgbmV2ZXIgYmUgaGl0IGFzIGRpc3BhdGNoIGlzIHN0cm9uZ2x5IHR5cGVkLlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBhY3Rpb25cIik7XG4gICAgfVxufVxuZnVuY3Rpb24gc2VydmVyUmVkdWNlcihzdGF0ZSwgX2FjdGlvbikge1xuICAgIHJldHVybiBzdGF0ZTtcbn1cbmNvbnN0IHJlZHVjZXIgPSB0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiID8gc2VydmVyUmVkdWNlciA6IGNsaWVudFJlZHVjZXI7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJvdXRlci1yZWR1Y2VyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJyZWR1Y2VyIiwiX3JvdXRlcnJlZHVjZXJ0eXBlcyIsInJlcXVpcmUiLCJfbmF2aWdhdGVyZWR1Y2VyIiwiX3NlcnZlcnBhdGNocmVkdWNlciIsIl9yZXN0b3JlcmVkdWNlciIsIl9yZWZyZXNocmVkdWNlciIsIl9wcmVmZXRjaHJlZHVjZXIiLCJfZmFzdHJlZnJlc2hyZWR1Y2VyIiwiX3NlcnZlcmFjdGlvbnJlZHVjZXIiLCJjbGllbnRSZWR1Y2VyIiwic3RhdGUiLCJhY3Rpb24iLCJ0eXBlIiwiQUNUSU9OX05BVklHQVRFIiwibmF2aWdhdGVSZWR1Y2VyIiwiQUNUSU9OX1NFUlZFUl9QQVRDSCIsInNlcnZlclBhdGNoUmVkdWNlciIsIkFDVElPTl9SRVNUT1JFIiwicmVzdG9yZVJlZHVjZXIiLCJBQ1RJT05fUkVGUkVTSCIsInJlZnJlc2hSZWR1Y2VyIiwiQUNUSU9OX0ZBU1RfUkVGUkVTSCIsImZhc3RSZWZyZXNoUmVkdWNlciIsIkFDVElPTl9QUkVGRVRDSCIsInByZWZldGNoUmVkdWNlciIsIkFDVElPTl9TRVJWRVJfQUNUSU9OIiwic2VydmVyQWN0aW9uUmVkdWNlciIsIkVycm9yIiwic2VydmVyUmVkdWNlciIsIl9hY3Rpb24iLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js ***! \*****************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"shouldHardNavigate\", ({\n enumerable: true,\n get: function() {\n return shouldHardNavigate;\n }\n}));\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nfunction shouldHardNavigate(flightSegmentPath, flightRouterState) {\n const [segment, parallelRoutes] = flightRouterState;\n // TODO-APP: Check if `as` can be replaced.\n const [currentSegment, parallelRouteKey] = flightSegmentPath;\n // Check if current segment matches the existing segment.\n if (!(0, _matchsegments.matchSegment)(currentSegment, segment)) {\n // If dynamic parameter in tree doesn't match up with segment path a hard navigation is triggered.\n if (Array.isArray(currentSegment)) {\n return true;\n }\n // If the existing segment did not match soft navigation is triggered.\n return false;\n }\n const lastSegment = flightSegmentPath.length <= 2;\n if (lastSegment) {\n return false;\n }\n return shouldHardNavigate(flightSegmentPath.slice(2), parallelRoutes[parallelRouteKey]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=should-hard-navigate.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3Nob3VsZC1oYXJkLW5hdmlnYXRlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQkFBaUJDLG1CQUFPQSxDQUFDLDZGQUFtQjtBQUNsRCxTQUFTRixtQkFBbUJHLGlCQUFpQixFQUFFQyxpQkFBaUI7SUFDNUQsTUFBTSxDQUFDQyxTQUFTQyxlQUFlLEdBQUdGO0lBQ2xDLDJDQUEyQztJQUMzQyxNQUFNLENBQUNHLGdCQUFnQkMsaUJBQWlCLEdBQUdMO0lBQzNDLHlEQUF5RDtJQUN6RCxJQUFJLENBQUMsQ0FBQyxHQUFHRixlQUFlUSxZQUFZLEVBQUVGLGdCQUFnQkYsVUFBVTtRQUM1RCxrR0FBa0c7UUFDbEcsSUFBSUssTUFBTUMsT0FBTyxDQUFDSixpQkFBaUI7WUFDL0IsT0FBTztRQUNYO1FBQ0Esc0VBQXNFO1FBQ3RFLE9BQU87SUFDWDtJQUNBLE1BQU1LLGNBQWNULGtCQUFrQlUsTUFBTSxJQUFJO0lBQ2hELElBQUlELGFBQWE7UUFDYixPQUFPO0lBQ1g7SUFDQSxPQUFPWixtQkFBbUJHLGtCQUFrQlcsS0FBSyxDQUFDLElBQUlSLGNBQWMsQ0FBQ0UsaUJBQWlCO0FBQzFGO0FBRUEsSUFBSSxDQUFDLE9BQU9aLFFBQVFtQixPQUFPLEtBQUssY0FBZSxPQUFPbkIsUUFBUW1CLE9BQU8sS0FBSyxZQUFZbkIsUUFBUW1CLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT25CLFFBQVFtQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLdEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRbUIsT0FBTyxFQUFFLGNBQWM7UUFBRWxCLE9BQU87SUFBSztJQUNuRUgsT0FBT3VCLE1BQU0sQ0FBQ3JCLFFBQVFtQixPQUFPLEVBQUVuQjtJQUMvQnNCLE9BQU90QixPQUFPLEdBQUdBLFFBQVFtQixPQUFPO0FBQ2xDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9zaG91bGQtaGFyZC1uYXZpZ2F0ZS5qcz82NjMxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwic2hvdWxkSGFyZE5hdmlnYXRlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzaG91bGRIYXJkTmF2aWdhdGU7XG4gICAgfVxufSk7XG5jb25zdCBfbWF0Y2hzZWdtZW50cyA9IHJlcXVpcmUoXCIuLi9tYXRjaC1zZWdtZW50c1wiKTtcbmZ1bmN0aW9uIHNob3VsZEhhcmROYXZpZ2F0ZShmbGlnaHRTZWdtZW50UGF0aCwgZmxpZ2h0Um91dGVyU3RhdGUpIHtcbiAgICBjb25zdCBbc2VnbWVudCwgcGFyYWxsZWxSb3V0ZXNdID0gZmxpZ2h0Um91dGVyU3RhdGU7XG4gICAgLy8gVE9ETy1BUFA6IENoZWNrIGlmIGBhc2AgY2FuIGJlIHJlcGxhY2VkLlxuICAgIGNvbnN0IFtjdXJyZW50U2VnbWVudCwgcGFyYWxsZWxSb3V0ZUtleV0gPSBmbGlnaHRTZWdtZW50UGF0aDtcbiAgICAvLyBDaGVjayBpZiBjdXJyZW50IHNlZ21lbnQgbWF0Y2hlcyB0aGUgZXhpc3Rpbmcgc2VnbWVudC5cbiAgICBpZiAoISgwLCBfbWF0Y2hzZWdtZW50cy5tYXRjaFNlZ21lbnQpKGN1cnJlbnRTZWdtZW50LCBzZWdtZW50KSkge1xuICAgICAgICAvLyBJZiBkeW5hbWljIHBhcmFtZXRlciBpbiB0cmVlIGRvZXNuJ3QgbWF0Y2ggdXAgd2l0aCBzZWdtZW50IHBhdGggYSBoYXJkIG5hdmlnYXRpb24gaXMgdHJpZ2dlcmVkLlxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjdXJyZW50U2VnbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIHRoZSBleGlzdGluZyBzZWdtZW50IGRpZCBub3QgbWF0Y2ggc29mdCBuYXZpZ2F0aW9uIGlzIHRyaWdnZXJlZC5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBsYXN0U2VnbWVudCA9IGZsaWdodFNlZ21lbnRQYXRoLmxlbmd0aCA8PSAyO1xuICAgIGlmIChsYXN0U2VnbWVudCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBzaG91bGRIYXJkTmF2aWdhdGUoZmxpZ2h0U2VnbWVudFBhdGguc2xpY2UoMiksIHBhcmFsbGVsUm91dGVzW3BhcmFsbGVsUm91dGVLZXldKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2hvdWxkLWhhcmQtbmF2aWdhdGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInNob3VsZEhhcmROYXZpZ2F0ZSIsIl9tYXRjaHNlZ21lbnRzIiwicmVxdWlyZSIsImZsaWdodFNlZ21lbnRQYXRoIiwiZmxpZ2h0Um91dGVyU3RhdGUiLCJzZWdtZW50IiwicGFyYWxsZWxSb3V0ZXMiLCJjdXJyZW50U2VnbWVudCIsInBhcmFsbGVsUm91dGVLZXkiLCJtYXRjaFNlZ21lbnQiLCJBcnJheSIsImlzQXJyYXkiLCJsYXN0U2VnbWVudCIsImxlbmd0aCIsInNsaWNlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/searchparams-bailout-proxy.js": /*!********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/searchparams-bailout-proxy.js ***! \********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createSearchParamsBailoutProxy\", ({\n enumerable: true,\n get: function() {\n return createSearchParamsBailoutProxy;\n }\n}));\nconst _staticgenerationbailout = __webpack_require__(/*! ./static-generation-bailout */ \"(ssr)/./node_modules/next/dist/client/components/static-generation-bailout.js\");\nfunction createSearchParamsBailoutProxy() {\n return new Proxy({}, {\n get (_target, prop) {\n // React adds some properties on the object when serializing for client components\n if (typeof prop === \"string\") {\n (0, _staticgenerationbailout.staticGenerationBailout)(\"searchParams.\" + prop);\n }\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=searchparams-bailout-proxy.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3NlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3h5LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxrRUFBaUU7SUFDN0RJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLGtIQUE2QjtBQUN0RSxTQUFTRjtJQUNMLE9BQU8sSUFBSUcsTUFBTSxDQUFDLEdBQUc7UUFDakJKLEtBQUtLLE9BQU8sRUFBRUMsSUFBSTtZQUNkLGtGQUFrRjtZQUNsRixJQUFJLE9BQU9BLFNBQVMsVUFBVTtnQkFDekIsSUFBR0oseUJBQXlCSyx1QkFBdUIsRUFBRSxrQkFBa0JEO1lBQzVFO1FBQ0o7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9ULFFBQVFXLE9BQU8sS0FBSyxjQUFlLE9BQU9YLFFBQVFXLE9BQU8sS0FBSyxZQUFZWCxRQUFRVyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9YLFFBQVFXLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktkLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVcsT0FBTyxFQUFFLGNBQWM7UUFBRVYsT0FBTztJQUFLO0lBQ25FSCxPQUFPZSxNQUFNLENBQUNiLFFBQVFXLE9BQU8sRUFBRVg7SUFDL0JjLE9BQU9kLE9BQU8sR0FBR0EsUUFBUVcsT0FBTztBQUNsQyxFQUVBLHNEQUFzRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvc2VhcmNocGFyYW1zLWJhaWxvdXQtcHJveHkuanM/YjZkZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNyZWF0ZVNlYXJjaFBhcmFtc0JhaWxvdXRQcm94eVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlU2VhcmNoUGFyYW1zQmFpbG91dFByb3h5O1xuICAgIH1cbn0pO1xuY29uc3QgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0ID0gcmVxdWlyZShcIi4vc3RhdGljLWdlbmVyYXRpb24tYmFpbG91dFwiKTtcbmZ1bmN0aW9uIGNyZWF0ZVNlYXJjaFBhcmFtc0JhaWxvdXRQcm94eSgpIHtcbiAgICByZXR1cm4gbmV3IFByb3h5KHt9LCB7XG4gICAgICAgIGdldCAoX3RhcmdldCwgcHJvcCkge1xuICAgICAgICAgICAgLy8gUmVhY3QgYWRkcyBzb21lIHByb3BlcnRpZXMgb24gdGhlIG9iamVjdCB3aGVuIHNlcmlhbGl6aW5nIGZvciBjbGllbnQgY29tcG9uZW50c1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm9wID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dC5zdGF0aWNHZW5lcmF0aW9uQmFpbG91dCkoXCJzZWFyY2hQYXJhbXMuXCIgKyBwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZWFyY2hwYXJhbXMtYmFpbG91dC1wcm94eS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiY3JlYXRlU2VhcmNoUGFyYW1zQmFpbG91dFByb3h5IiwiX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0IiwicmVxdWlyZSIsIlByb3h5IiwiX3RhcmdldCIsInByb3AiLCJzdGF0aWNHZW5lcmF0aW9uQmFpbG91dCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/searchparams-bailout-proxy.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/static-generation-bailout.js": /*!*******************************************************************************!*\ !*** ./node_modules/next/dist/client/components/static-generation-bailout.js ***! \*******************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isStaticGenBailoutError: function() {\n return isStaticGenBailoutError;\n },\n staticGenerationBailout: function() {\n return staticGenerationBailout;\n }\n});\nconst _hooksservercontext = __webpack_require__(/*! ./hooks-server-context */ \"(ssr)/./node_modules/next/dist/client/components/hooks-server-context.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"./static-generation-async-storage.external\");\nconst NEXT_STATIC_GEN_BAILOUT = \"NEXT_STATIC_GEN_BAILOUT\";\nclass StaticGenBailoutError extends Error {\n constructor(...args){\n super(...args);\n this.code = NEXT_STATIC_GEN_BAILOUT;\n }\n}\nfunction isStaticGenBailoutError(error) {\n if (typeof error !== \"object\" || error === null || !(\"code\" in error)) {\n return false;\n }\n return error.code === NEXT_STATIC_GEN_BAILOUT;\n}\nfunction formatErrorMessage(reason, opts) {\n const { dynamic, link } = opts || {};\n const suffix = link ? \" See more info here: \" + link : \"\";\n return \"Page\" + (dynamic ? ' with `dynamic = \"' + dynamic + '\"`' : \"\") + \" couldn't be rendered statically because it used `\" + reason + \"`.\" + suffix;\n}\nconst staticGenerationBailout = (reason, param)=>{\n let { dynamic, link } = param === void 0 ? {} : param;\n const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (!staticGenerationStore) return false;\n if (staticGenerationStore.forceStatic) {\n return true;\n }\n if (staticGenerationStore.dynamicShouldError) {\n throw new StaticGenBailoutError(formatErrorMessage(reason, {\n link,\n dynamic: dynamic != null ? dynamic : \"error\"\n }));\n }\n const message = formatErrorMessage(reason, {\n dynamic,\n // this error should be caught by Next to bail out of static generation\n // in case it's uncaught, this link provides some additional context as to why\n link: \"https://nextjs.org/docs/messages/dynamic-server-error\"\n });\n // If postpone is available, we should postpone the render.\n staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, reason);\n // As this is a bailout, we don't want to revalidate, so set the revalidate\n // to 0.\n staticGenerationStore.revalidate = 0;\n if (staticGenerationStore.isStaticGeneration) {\n const err = new _hooksservercontext.DynamicServerError(message);\n staticGenerationStore.dynamicUsageDescription = reason;\n staticGenerationStore.dynamicUsageStack = err.stack;\n throw err;\n }\n return false;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=static-generation-bailout.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxzQkFBc0JDLG1CQUFPQSxDQUFDLHdHQUF3QjtBQUM1RCxNQUFNQyx3Q0FBd0NELG1CQUFPQSxDQUFDLDhGQUE0QztBQUNsRyxNQUFNRSwwQkFBMEI7QUFDaEMsTUFBTUMsOEJBQThCQztJQUNoQ0MsWUFBWSxHQUFHQyxJQUFJLENBQUM7UUFDaEIsS0FBSyxJQUFJQTtRQUNULElBQUksQ0FBQ0MsSUFBSSxHQUFHTDtJQUNoQjtBQUNKO0FBQ0EsU0FBU1gsd0JBQXdCaUIsS0FBSztJQUNsQyxJQUFJLE9BQU9BLFVBQVUsWUFBWUEsVUFBVSxRQUFRLENBQUUsV0FBVUEsS0FBSSxHQUFJO1FBQ25FLE9BQU87SUFDWDtJQUNBLE9BQU9BLE1BQU1ELElBQUksS0FBS0w7QUFDMUI7QUFDQSxTQUFTTyxtQkFBbUJDLE1BQU0sRUFBRUMsSUFBSTtJQUNwQyxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsSUFBSSxFQUFFLEdBQUdGLFFBQVEsQ0FBQztJQUNuQyxNQUFNRyxTQUFTRCxPQUFPLDBCQUEwQkEsT0FBTztJQUN2RCxPQUFPLFNBQVVELENBQUFBLFVBQVUsdUJBQXVCQSxVQUFVLE9BQU8sRUFBQyxJQUFLLHVEQUF1REYsU0FBUyxPQUFPSTtBQUNwSjtBQUNBLE1BQU10QiwwQkFBMEIsQ0FBQ2tCLFFBQVFLO0lBQ3JDLElBQUksRUFBRUgsT0FBTyxFQUFFQyxJQUFJLEVBQUUsR0FBR0UsVUFBVSxLQUFLLElBQUksQ0FBQyxJQUFJQTtJQUNoRCxNQUFNQyx3QkFBd0JmLHNDQUFzQ2dCLDRCQUE0QixDQUFDQyxRQUFRO0lBQ3pHLElBQUksQ0FBQ0YsdUJBQXVCLE9BQU87SUFDbkMsSUFBSUEsc0JBQXNCRyxXQUFXLEVBQUU7UUFDbkMsT0FBTztJQUNYO0lBQ0EsSUFBSUgsc0JBQXNCSSxrQkFBa0IsRUFBRTtRQUMxQyxNQUFNLElBQUlqQixzQkFBc0JNLG1CQUFtQkMsUUFBUTtZQUN2REc7WUFDQUQsU0FBU0EsV0FBVyxPQUFPQSxVQUFVO1FBQ3pDO0lBQ0o7SUFDQSxNQUFNUyxVQUFVWixtQkFBbUJDLFFBQVE7UUFDdkNFO1FBQ0EsdUVBQXVFO1FBQ3ZFLDhFQUE4RTtRQUM5RUMsTUFBTTtJQUNWO0lBQ0EsMkRBQTJEO0lBQzNERyxzQkFBc0JNLFFBQVEsSUFBSSxPQUFPLEtBQUssSUFBSU4sc0JBQXNCTSxRQUFRLENBQUNDLElBQUksQ0FBQ1AsdUJBQXVCTjtJQUM3RywyRUFBMkU7SUFDM0UsUUFBUTtJQUNSTSxzQkFBc0JRLFVBQVUsR0FBRztJQUNuQyxJQUFJUixzQkFBc0JTLGtCQUFrQixFQUFFO1FBQzFDLE1BQU1DLE1BQU0sSUFBSTNCLG9CQUFvQjRCLGtCQUFrQixDQUFDTjtRQUN2REwsc0JBQXNCWSx1QkFBdUIsR0FBR2xCO1FBQ2hETSxzQkFBc0JhLGlCQUFpQixHQUFHSCxJQUFJSSxLQUFLO1FBQ25ELE1BQU1KO0lBQ1Y7SUFDQSxPQUFPO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBT3RDLFFBQVEyQyxPQUFPLEtBQUssY0FBZSxPQUFPM0MsUUFBUTJDLE9BQU8sS0FBSyxZQUFZM0MsUUFBUTJDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzNDLFFBQVEyQyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLOUMsT0FBT0MsY0FBYyxDQUFDQyxRQUFRMkMsT0FBTyxFQUFFLGNBQWM7UUFBRTFDLE9BQU87SUFBSztJQUNuRUgsT0FBTytDLE1BQU0sQ0FBQzdDLFFBQVEyQyxPQUFPLEVBQUUzQztJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRMkMsT0FBTztBQUNsQyxFQUVBLHFEQUFxRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvc3RhdGljLWdlbmVyYXRpb24tYmFpbG91dC5qcz8wNDZjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgaXNTdGF0aWNHZW5CYWlsb3V0RXJyb3I6IG51bGwsXG4gICAgc3RhdGljR2VuZXJhdGlvbkJhaWxvdXQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgaXNTdGF0aWNHZW5CYWlsb3V0RXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNTdGF0aWNHZW5CYWlsb3V0RXJyb3I7XG4gICAgfSxcbiAgICBzdGF0aWNHZW5lcmF0aW9uQmFpbG91dDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzdGF0aWNHZW5lcmF0aW9uQmFpbG91dDtcbiAgICB9XG59KTtcbmNvbnN0IF9ob29rc3NlcnZlcmNvbnRleHQgPSByZXF1aXJlKFwiLi9ob29rcy1zZXJ2ZXItY29udGV4dFwiKTtcbmNvbnN0IF9zdGF0aWNnZW5lcmF0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwgPSByZXF1aXJlKFwiLi9zdGF0aWMtZ2VuZXJhdGlvbi1hc3luYy1zdG9yYWdlLmV4dGVybmFsXCIpO1xuY29uc3QgTkVYVF9TVEFUSUNfR0VOX0JBSUxPVVQgPSBcIk5FWFRfU1RBVElDX0dFTl9CQUlMT1VUXCI7XG5jbGFzcyBTdGF0aWNHZW5CYWlsb3V0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IoLi4uYXJncyl7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgICAgICB0aGlzLmNvZGUgPSBORVhUX1NUQVRJQ19HRU5fQkFJTE9VVDtcbiAgICB9XG59XG5mdW5jdGlvbiBpc1N0YXRpY0dlbkJhaWxvdXRFcnJvcihlcnJvcikge1xuICAgIGlmICh0eXBlb2YgZXJyb3IgIT09IFwib2JqZWN0XCIgfHwgZXJyb3IgPT09IG51bGwgfHwgIShcImNvZGVcIiBpbiBlcnJvcikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZXJyb3IuY29kZSA9PT0gTkVYVF9TVEFUSUNfR0VOX0JBSUxPVVQ7XG59XG5mdW5jdGlvbiBmb3JtYXRFcnJvck1lc3NhZ2UocmVhc29uLCBvcHRzKSB7XG4gICAgY29uc3QgeyBkeW5hbWljLCBsaW5rIH0gPSBvcHRzIHx8IHt9O1xuICAgIGNvbnN0IHN1ZmZpeCA9IGxpbmsgPyBcIiBTZWUgbW9yZSBpbmZvIGhlcmU6IFwiICsgbGluayA6IFwiXCI7XG4gICAgcmV0dXJuIFwiUGFnZVwiICsgKGR5bmFtaWMgPyAnIHdpdGggYGR5bmFtaWMgPSBcIicgKyBkeW5hbWljICsgJ1wiYCcgOiBcIlwiKSArIFwiIGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkIGBcIiArIHJlYXNvbiArIFwiYC5cIiArIHN1ZmZpeDtcbn1cbmNvbnN0IHN0YXRpY0dlbmVyYXRpb25CYWlsb3V0ID0gKHJlYXNvbiwgcGFyYW0pPT57XG4gICAgbGV0IHsgZHluYW1pYywgbGluayB9ID0gcGFyYW0gPT09IHZvaWQgMCA/IHt9IDogcGFyYW07XG4gICAgY29uc3Qgc3RhdGljR2VuZXJhdGlvblN0b3JlID0gX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbC5zdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7XG4gICAgaWYgKCFzdGF0aWNHZW5lcmF0aW9uU3RvcmUpIHJldHVybiBmYWxzZTtcbiAgICBpZiAoc3RhdGljR2VuZXJhdGlvblN0b3JlLmZvcmNlU3RhdGljKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoc3RhdGljR2VuZXJhdGlvblN0b3JlLmR5bmFtaWNTaG91bGRFcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgU3RhdGljR2VuQmFpbG91dEVycm9yKGZvcm1hdEVycm9yTWVzc2FnZShyZWFzb24sIHtcbiAgICAgICAgICAgIGxpbmssXG4gICAgICAgICAgICBkeW5hbWljOiBkeW5hbWljICE9IG51bGwgPyBkeW5hbWljIDogXCJlcnJvclwiXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgY29uc3QgbWVzc2FnZSA9IGZvcm1hdEVycm9yTWVzc2FnZShyZWFzb24sIHtcbiAgICAgICAgZHluYW1pYyxcbiAgICAgICAgLy8gdGhpcyBlcnJvciBzaG91bGQgYmUgY2F1Z2h0IGJ5IE5leHQgdG8gYmFpbCBvdXQgb2Ygc3RhdGljIGdlbmVyYXRpb25cbiAgICAgICAgLy8gaW4gY2FzZSBpdCdzIHVuY2F1Z2h0LCB0aGlzIGxpbmsgcHJvdmlkZXMgc29tZSBhZGRpdGlvbmFsIGNvbnRleHQgYXMgdG8gd2h5XG4gICAgICAgIGxpbms6IFwiaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZHluYW1pYy1zZXJ2ZXItZXJyb3JcIlxuICAgIH0pO1xuICAgIC8vIElmIHBvc3Rwb25lIGlzIGF2YWlsYWJsZSwgd2Ugc2hvdWxkIHBvc3Rwb25lIHRoZSByZW5kZXIuXG4gICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnBvc3Rwb25lID09IG51bGwgPyB2b2lkIDAgOiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucG9zdHBvbmUuY2FsbChzdGF0aWNHZW5lcmF0aW9uU3RvcmUsIHJlYXNvbik7XG4gICAgLy8gQXMgdGhpcyBpcyBhIGJhaWxvdXQsIHdlIGRvbid0IHdhbnQgdG8gcmV2YWxpZGF0ZSwgc28gc2V0IHRoZSByZXZhbGlkYXRlXG4gICAgLy8gdG8gMC5cbiAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSA9IDA7XG4gICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5pc1N0YXRpY0dlbmVyYXRpb24pIHtcbiAgICAgICAgY29uc3QgZXJyID0gbmV3IF9ob29rc3NlcnZlcmNvbnRleHQuRHluYW1pY1NlcnZlckVycm9yKG1lc3NhZ2UpO1xuICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZHluYW1pY1VzYWdlRGVzY3JpcHRpb24gPSByZWFzb247XG4gICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5keW5hbWljVXNhZ2VTdGFjayA9IGVyci5zdGFjaztcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdGF0aWMtZ2VuZXJhdGlvbi1iYWlsb3V0LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImlzU3RhdGljR2VuQmFpbG91dEVycm9yIiwic3RhdGljR2VuZXJhdGlvbkJhaWxvdXQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfaG9va3NzZXJ2ZXJjb250ZXh0IiwicmVxdWlyZSIsIl9zdGF0aWNnZW5lcmF0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwiLCJORVhUX1NUQVRJQ19HRU5fQkFJTE9VVCIsIlN0YXRpY0dlbkJhaWxvdXRFcnJvciIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJhcmdzIiwiY29kZSIsImVycm9yIiwiZm9ybWF0RXJyb3JNZXNzYWdlIiwicmVhc29uIiwib3B0cyIsImR5bmFtaWMiLCJsaW5rIiwic3VmZml4IiwicGFyYW0iLCJzdGF0aWNHZW5lcmF0aW9uU3RvcmUiLCJzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlIiwiZ2V0U3RvcmUiLCJmb3JjZVN0YXRpYyIsImR5bmFtaWNTaG91bGRFcnJvciIsIm1lc3NhZ2UiLCJwb3N0cG9uZSIsImNhbGwiLCJyZXZhbGlkYXRlIiwiaXNTdGF0aWNHZW5lcmF0aW9uIiwiZXJyIiwiRHluYW1pY1NlcnZlckVycm9yIiwiZHluYW1pY1VzYWdlRGVzY3JpcHRpb24iLCJkeW5hbWljVXNhZ2VTdGFjayIsInN0YWNrIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/static-generation-bailout.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js ***! \*****************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return StaticGenerationSearchParamsBailoutProvider;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _searchparamsbailoutproxy = __webpack_require__(/*! ./searchparams-bailout-proxy */ \"(ssr)/./node_modules/next/dist/client/components/searchparams-bailout-proxy.js\");\nfunction StaticGenerationSearchParamsBailoutProvider(param) {\n let { Component, propsForComponent, isStaticGeneration } = param;\n if (isStaticGeneration) {\n const searchParams = (0, _searchparamsbailoutproxy.createSearchParamsBailoutProxy)();\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {\n searchParams: searchParams,\n ...propsForComponent\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {\n ...propsForComponent\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=static-generation-searchparams-bailout-provider.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLXNlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3ZpZGVyLmpzIiwibWFwcGluZ3MiOiJxREFFYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsTUFBTUksNEJBQTRCSixtQkFBT0EsQ0FBQyxvSEFBOEI7QUFDeEUsU0FBU0YsNENBQTRDTyxLQUFLO0lBQ3RELElBQUksRUFBRUMsU0FBUyxFQUFFQyxpQkFBaUIsRUFBRUMsa0JBQWtCLEVBQUUsR0FBR0g7SUFDM0QsSUFBSUcsb0JBQW9CO1FBQ3BCLE1BQU1DLGVBQWUsQ0FBQyxHQUFHTCwwQkFBMEJNLDhCQUE4QjtRQUNqRixPQUFxQixXQUFILEdBQUksSUFBR1QsWUFBWVUsR0FBRyxFQUFFTCxXQUFXO1lBQ2pERyxjQUFjQTtZQUNkLEdBQUdGLGlCQUFpQjtRQUN4QjtJQUNKO0lBQ0EsT0FBcUIsV0FBSCxHQUFJLElBQUdOLFlBQVlVLEdBQUcsRUFBRUwsV0FBVztRQUNqRCxHQUFHQyxpQkFBaUI7SUFDeEI7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPYixRQUFRa0IsT0FBTyxLQUFLLGNBQWUsT0FBT2xCLFFBQVFrQixPQUFPLEtBQUssWUFBWWxCLFFBQVFrQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9sQixRQUFRa0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3JCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWtCLE9BQU8sRUFBRSxjQUFjO1FBQUVqQixPQUFPO0lBQUs7SUFDbkVILE9BQU9zQixNQUFNLENBQUNwQixRQUFRa0IsT0FBTyxFQUFFbEI7SUFDL0JxQixPQUFPckIsT0FBTyxHQUFHQSxRQUFRa0IsT0FBTztBQUNsQyxFQUVBLDJFQUEyRSIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvc3RhdGljLWdlbmVyYXRpb24tc2VhcmNocGFyYW1zLWJhaWxvdXQtcHJvdmlkZXIuanM/OTcxYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTdGF0aWNHZW5lcmF0aW9uU2VhcmNoUGFyYW1zQmFpbG91dFByb3ZpZGVyO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3NlYXJjaHBhcmFtc2JhaWxvdXRwcm94eSA9IHJlcXVpcmUoXCIuL3NlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3h5XCIpO1xuZnVuY3Rpb24gU3RhdGljR2VuZXJhdGlvblNlYXJjaFBhcmFtc0JhaWxvdXRQcm92aWRlcihwYXJhbSkge1xuICAgIGxldCB7IENvbXBvbmVudCwgcHJvcHNGb3JDb21wb25lbnQsIGlzU3RhdGljR2VuZXJhdGlvbiB9ID0gcGFyYW07XG4gICAgaWYgKGlzU3RhdGljR2VuZXJhdGlvbikge1xuICAgICAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSAoMCwgX3NlYXJjaHBhcmFtc2JhaWxvdXRwcm94eS5jcmVhdGVTZWFyY2hQYXJhbXNCYWlsb3V0UHJveHkpKCk7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKENvbXBvbmVudCwge1xuICAgICAgICAgICAgc2VhcmNoUGFyYW1zOiBzZWFyY2hQYXJhbXMsXG4gICAgICAgICAgICAuLi5wcm9wc0ZvckNvbXBvbmVudFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoQ29tcG9uZW50LCB7XG4gICAgICAgIC4uLnByb3BzRm9yQ29tcG9uZW50XG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0YXRpYy1nZW5lcmF0aW9uLXNlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3ZpZGVyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJTdGF0aWNHZW5lcmF0aW9uU2VhcmNoUGFyYW1zQmFpbG91dFByb3ZpZGVyIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9zZWFyY2hwYXJhbXNiYWlsb3V0cHJveHkiLCJwYXJhbSIsIkNvbXBvbmVudCIsInByb3BzRm9yQ29tcG9uZW50IiwiaXNTdGF0aWNHZW5lcmF0aW9uIiwic2VhcmNoUGFyYW1zIiwiY3JlYXRlU2VhcmNoUGFyYW1zQmFpbG91dFByb3h5IiwianN4IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/use-reducer-with-devtools.js": /*!*******************************************************************************!*\ !*** ./node_modules/next/dist/client/components/use-reducer-with-devtools.js ***! \*******************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n useUnwrapState: function() {\n return useUnwrapState;\n },\n useReducerWithReduxDevtools: function() {\n return useReducerWithReduxDevtools;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _actionqueue = __webpack_require__(/*! ../../shared/lib/router/action-queue */ \"(ssr)/./node_modules/next/dist/shared/lib/router/action-queue.js\");\nfunction normalizeRouterState(val) {\n if (val instanceof Map) {\n const obj = {};\n for (const [key, value] of val.entries()){\n if (typeof value === \"function\") {\n obj[key] = \"fn()\";\n continue;\n }\n if (typeof value === \"object\" && value !== null) {\n if (value.$$typeof) {\n obj[key] = value.$$typeof.toString();\n continue;\n }\n if (value._bundlerConfig) {\n obj[key] = \"FlightData\";\n continue;\n }\n }\n obj[key] = normalizeRouterState(value);\n }\n return obj;\n }\n if (typeof val === \"object\" && val !== null) {\n const obj = {};\n for(const key in val){\n const value = val[key];\n if (typeof value === \"function\") {\n obj[key] = \"fn()\";\n continue;\n }\n if (typeof value === \"object\" && value !== null) {\n if (value.$$typeof) {\n obj[key] = value.$$typeof.toString();\n continue;\n }\n if (value.hasOwnProperty(\"_bundlerConfig\")) {\n obj[key] = \"FlightData\";\n continue;\n }\n }\n obj[key] = normalizeRouterState(value);\n }\n return obj;\n }\n if (Array.isArray(val)) {\n return val.map(normalizeRouterState);\n }\n return val;\n}\nfunction useUnwrapState(state) {\n // reducer actions can be async, so sometimes we need to suspend until the state is resolved\n if ((0, _routerreducertypes.isThenable)(state)) {\n const result = (0, _react.use)(state);\n return result;\n }\n return state;\n}\nfunction useReducerWithReduxDevtoolsNoop(initialState) {\n return [\n initialState,\n ()=>{},\n ()=>{}\n ];\n}\nfunction useReducerWithReduxDevtoolsImpl(initialState) {\n const [state, setState] = _react.default.useState(initialState);\n const actionQueue = (0, _react.useContext)(_actionqueue.ActionQueueContext);\n if (!actionQueue) {\n throw new Error(\"Invariant: Missing ActionQueueContext\");\n }\n const devtoolsConnectionRef = (0, _react.useRef)();\n const enabledRef = (0, _react.useRef)();\n (0, _react.useEffect)(()=>{\n if (devtoolsConnectionRef.current || enabledRef.current === false) {\n return;\n }\n if (enabledRef.current === undefined && typeof window.__REDUX_DEVTOOLS_EXTENSION__ === \"undefined\") {\n enabledRef.current = false;\n return;\n }\n devtoolsConnectionRef.current = window.__REDUX_DEVTOOLS_EXTENSION__.connect({\n instanceId: 8000,\n name: \"next-router\"\n });\n if (devtoolsConnectionRef.current) {\n devtoolsConnectionRef.current.init(normalizeRouterState(initialState));\n if (actionQueue) {\n actionQueue.devToolsInstance = devtoolsConnectionRef.current;\n }\n }\n return ()=>{\n devtoolsConnectionRef.current = undefined;\n };\n }, [\n initialState,\n actionQueue\n ]);\n const dispatch = (0, _react.useCallback)((action)=>{\n if (!actionQueue.state) {\n // we lazy initialize the mutable action queue state since the data needed\n // to generate the state is not available when the actionQueue context is created\n actionQueue.state = initialState;\n }\n actionQueue.dispatch(action, setState);\n }, [\n actionQueue,\n initialState\n ]);\n // Sync is called after a state update in the HistoryUpdater,\n // for debugging purposes. Since the reducer state may be a Promise,\n // we let the app router use() it and sync on the resolved value if\n // something changed.\n // Using the `state` here would be referentially unstable and cause\n // undesirable re-renders and history updates.\n const sync = (0, _react.useCallback)((resolvedState)=>{\n if (devtoolsConnectionRef.current) {\n devtoolsConnectionRef.current.send({\n type: \"RENDER_SYNC\"\n }, normalizeRouterState(resolvedState));\n }\n }, []);\n return [\n state,\n dispatch,\n sync\n ];\n}\nconst useReducerWithReduxDevtools = false ? 0 : useReducerWithReduxDevtoolsNoop;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-reducer-with-devtools.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VzZS1yZWR1Y2VyLXdpdGgtZGV2dG9vbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsNkJBQTZCO1FBQ3pCLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLDRCQUE0QkMsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1DLFNBQVMsV0FBVyxHQUFHRiwwQkFBMEJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUcsc0JBQXNCSCxtQkFBT0EsQ0FBQyxzSUFBdUM7QUFDM0UsTUFBTUksZUFBZUosbUJBQU9BLENBQUMsOEdBQXNDO0FBQ25FLFNBQVNLLHFCQUFxQkMsR0FBRztJQUM3QixJQUFJQSxlQUFlQyxLQUFLO1FBQ3BCLE1BQU1DLE1BQU0sQ0FBQztRQUNiLEtBQUssTUFBTSxDQUFDQyxLQUFLcEIsTUFBTSxJQUFJaUIsSUFBSUksT0FBTyxHQUFHO1lBQ3JDLElBQUksT0FBT3JCLFVBQVUsWUFBWTtnQkFDN0JtQixHQUFHLENBQUNDLElBQUksR0FBRztnQkFDWDtZQUNKO1lBQ0EsSUFBSSxPQUFPcEIsVUFBVSxZQUFZQSxVQUFVLE1BQU07Z0JBQzdDLElBQUlBLE1BQU1zQixRQUFRLEVBQUU7b0JBQ2hCSCxHQUFHLENBQUNDLElBQUksR0FBR3BCLE1BQU1zQixRQUFRLENBQUNDLFFBQVE7b0JB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QzFFLGlGQUFpRjtZQUNqRlUsWUFBWVYsS0FBSyxHQUFHSztRQUN4QjtRQUNBSyxZQUFZZ0IsUUFBUSxDQUFDRSxRQUFRckI7SUFDakMsR0FBRztRQUNDRztRQUNBTDtLQUNIO0lBQ0QsNkRBQTZEO0lBQzdELG9FQUFvRTtJQUNwRSxtRUFBbUU7SUFDbkUscUJBQXFCO0lBQ3JCLG1FQUFtRTtJQUNuRSw4Q0FBOEM7SUFDOUMsTUFBTXdCLE9BQU8sQ0FBQyxHQUFHOUMsT0FBTzRDLFdBQVcsRUFBRSxDQUFDRztRQUNsQyxJQUFJaEIsc0JBQXNCSSxPQUFPLEVBQUU7WUFDL0JKLHNCQUFzQkksT0FBTyxDQUFDYSxJQUFJLENBQUM7Z0JBQy9CQyxNQUFNO1lBQ1YsR0FBRzdDLHFCQUFxQjJDO1FBQzVCO0lBQ0osR0FBRyxFQUFFO0lBQ0wsT0FBTztRQUNIOUI7UUFDQTBCO1FBQ0FHO0tBQ0g7QUFDTDtBQUNBLE1BQU12RCw4QkFBOEIsTUFBNkIsR0FBR2dDLENBQStCQSxHQUFHRjtBQUV0RyxJQUFJLENBQUMsT0FBT2xDLFFBQVFzQyxPQUFPLEtBQUssY0FBZSxPQUFPdEMsUUFBUXNDLE9BQU8sS0FBSyxZQUFZdEMsUUFBUXNDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3RDLFFBQVFzQyxPQUFPLENBQUN5QixVQUFVLEtBQUssYUFBYTtJQUNyS2pFLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUXNDLE9BQU8sRUFBRSxjQUFjO1FBQUVyQyxPQUFPO0lBQUs7SUFDbkVILE9BQU9rRSxNQUFNLENBQUNoRSxRQUFRc0MsT0FBTyxFQUFFdEM7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUXNDLE9BQU87QUFDbEMsRUFFQSxxREFBcUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VzZS1yZWR1Y2VyLXdpdGgtZGV2dG9vbHMuanM/NDUwMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHVzZVVud3JhcFN0YXRlOiBudWxsLFxuICAgIHVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29sczogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICB1c2VVbndyYXBTdGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1c2VVbndyYXBTdGF0ZTtcbiAgICB9LFxuICAgIHVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29sczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1c2VSZWR1Y2VyV2l0aFJlZHV4RGV2dG9vbHM7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3JvdXRlcnJlZHVjZXJ0eXBlcyA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyLXR5cGVzXCIpO1xuY29uc3QgX2FjdGlvbnF1ZXVlID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvcm91dGVyL2FjdGlvbi1xdWV1ZVwiKTtcbmZ1bmN0aW9uIG5vcm1hbGl6ZVJvdXRlclN0YXRlKHZhbCkge1xuICAgIGlmICh2YWwgaW5zdGFuY2VvZiBNYXApIHtcbiAgICAgICAgY29uc3Qgb2JqID0ge307XG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIHZhbC5lbnRyaWVzKCkpe1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgb2JqW2tleV0gPSBcImZuKClcIjtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUuJCR0eXBlb2YpIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqW2tleV0gPSB2YWx1ZS4kJHR5cGVvZi50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLl9idW5kbGVyQ29uZmlnKSB7XG4gICAgICAgICAgICAgICAgICAgIG9ialtrZXldID0gXCJGbGlnaHREYXRhXCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9ialtrZXldID0gbm9ybWFsaXplUm91dGVyU3RhdGUodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdmFsID09PSBcIm9iamVjdFwiICYmIHZhbCAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBvYmogPSB7fTtcbiAgICAgICAgZm9yKGNvbnN0IGtleSBpbiB2YWwpe1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB2YWxba2V5XTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIG9ialtrZXldID0gXCJmbigpXCI7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLiQkdHlwZW9mKSB7XG4gICAgICAgICAgICAgICAgICAgIG9ialtrZXldID0gdmFsdWUuJCR0eXBlb2YudG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5oYXNPd25Qcm9wZXJ0eShcIl9idW5kbGVyQ29uZmlnXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIG9ialtrZXldID0gXCJGbGlnaHREYXRhXCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9ialtrZXldID0gbm9ybWFsaXplUm91dGVyU3RhdGUodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgcmV0dXJuIHZhbC5tYXAobm9ybWFsaXplUm91dGVyU3RhdGUpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsO1xufVxuZnVuY3Rpb24gdXNlVW53cmFwU3RhdGUoc3RhdGUpIHtcbiAgICAvLyByZWR1Y2VyIGFjdGlvbnMgY2FuIGJlIGFzeW5jLCBzbyBzb21ldGltZXMgd2UgbmVlZCB0byBzdXNwZW5kIHVudGlsIHRoZSBzdGF0ZSBpcyByZXNvbHZlZFxuICAgIGlmICgoMCwgX3JvdXRlcnJlZHVjZXJ0eXBlcy5pc1RoZW5hYmxlKShzdGF0ZSkpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gKDAsIF9yZWFjdC51c2UpKHN0YXRlKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgcmV0dXJuIHN0YXRlO1xufVxuZnVuY3Rpb24gdXNlUmVkdWNlcldpdGhSZWR1eERldnRvb2xzTm9vcChpbml0aWFsU3RhdGUpIHtcbiAgICByZXR1cm4gW1xuICAgICAgICBpbml0aWFsU3RhdGUsXG4gICAgICAgICgpPT57fSxcbiAgICAgICAgKCk9Pnt9XG4gICAgXTtcbn1cbmZ1bmN0aW9uIHVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29sc0ltcGwoaW5pdGlhbFN0YXRlKSB7XG4gICAgY29uc3QgW3N0YXRlLCBzZXRTdGF0ZV0gPSBfcmVhY3QuZGVmYXVsdC51c2VTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgIGNvbnN0IGFjdGlvblF1ZXVlID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYWN0aW9ucXVldWUuQWN0aW9uUXVldWVDb250ZXh0KTtcbiAgICBpZiAoIWFjdGlvblF1ZXVlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFyaWFudDogTWlzc2luZyBBY3Rpb25RdWV1ZUNvbnRleHRcIik7XG4gICAgfVxuICAgIGNvbnN0IGRldnRvb2xzQ29ubmVjdGlvblJlZiA9ICgwLCBfcmVhY3QudXNlUmVmKSgpO1xuICAgIGNvbnN0IGVuYWJsZWRSZWYgPSAoMCwgX3JlYWN0LnVzZVJlZikoKTtcbiAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgaWYgKGRldnRvb2xzQ29ubmVjdGlvblJlZi5jdXJyZW50IHx8IGVuYWJsZWRSZWYuY3VycmVudCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5hYmxlZFJlZi5jdXJyZW50ID09PSB1bmRlZmluZWQgJiYgdHlwZW9mIHdpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICBlbmFibGVkUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBkZXZ0b29sc0Nvbm5lY3Rpb25SZWYuY3VycmVudCA9IHdpbmRvdy5fX1JFRFVYX0RFVlRPT0xTX0VYVEVOU0lPTl9fLmNvbm5lY3Qoe1xuICAgICAgICAgICAgaW5zdGFuY2VJZDogODAwMCxcbiAgICAgICAgICAgIG5hbWU6IFwibmV4dC1yb3V0ZXJcIlxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGRldnRvb2xzQ29ubmVjdGlvblJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBkZXZ0b29sc0Nvbm5lY3Rpb25SZWYuY3VycmVudC5pbml0KG5vcm1hbGl6ZVJvdXRlclN0YXRlKGluaXRpYWxTdGF0ZSkpO1xuICAgICAgICAgICAgaWYgKGFjdGlvblF1ZXVlKSB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUXVldWUuZGV2VG9vbHNJbnN0YW5jZSA9IGRldnRvb2xzQ29ubmVjdGlvblJlZi5jdXJyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgZGV2dG9vbHNDb25uZWN0aW9uUmVmLmN1cnJlbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBpbml0aWFsU3RhdGUsXG4gICAgICAgIGFjdGlvblF1ZXVlXG4gICAgXSk7XG4gICAgY29uc3QgZGlzcGF0Y2ggPSAoMCwgX3JlYWN0LnVzZUNhbGxiYWNrKSgoYWN0aW9uKT0+e1xuICAgICAgICBpZiAoIWFjdGlvblF1ZXVlLnN0YXRlKSB7XG4gICAgICAgICAgICAvLyB3ZSBsYXp5IGluaXRpYWxpemUgdGhlIG11dGFibGUgYWN0aW9uIHF1ZXVlIHN0YXRlIHNpbmNlIHRoZSBkYXRhIG5lZWRlZFxuICAgICAgICAgICAgLy8gdG8gZ2VuZXJhdGUgdGhlIHN0YXRlIGlzIG5vdCBhdmFpbGFibGUgd2hlbiB0aGUgYWN0aW9uUXVldWUgY29udGV4dCBpcyBjcmVhdGVkXG4gICAgICAgICAgICBhY3Rpb25RdWV1ZS5zdGF0ZSA9IGluaXRpYWxTdGF0ZTtcbiAgICAgICAgfVxuICAgICAgICBhY3Rpb25RdWV1ZS5kaXNwYXRjaChhY3Rpb24sIHNldFN0YXRlKTtcbiAgICB9LCBbXG4gICAgICAgIGFjdGlvblF1ZXVlLFxuICAgICAgICBpbml0aWFsU3RhdGVcbiAgICBdKTtcbiAgICAvLyBTeW5jIGlzIGNhbGxlZCBhZnRlciBhIHN0YXRlIHVwZGF0ZSBpbiB0aGUgSGlzdG9yeVVwZGF0ZXIsXG4gICAgLy8gZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4gU2luY2UgdGhlIHJlZHVjZXIgc3RhdGUgbWF5IGJlIGEgUHJvbWlzZSxcbiAgICAvLyB3ZSBsZXQgdGhlIGFwcCByb3V0ZXIgdXNlKCkgaXQgYW5kIHN5bmMgb24gdGhlIHJlc29sdmVkIHZhbHVlIGlmXG4gICAgLy8gc29tZXRoaW5nIGNoYW5nZWQuXG4gICAgLy8gVXNpbmcgdGhlIGBzdGF0ZWAgaGVyZSB3b3VsZCBiZSByZWZlcmVudGlhbGx5IHVuc3RhYmxlIGFuZCBjYXVzZVxuICAgIC8vIHVuZGVzaXJhYmxlIHJlLXJlbmRlcnMgYW5kIGhpc3RvcnkgdXBkYXRlcy5cbiAgICBjb25zdCBzeW5jID0gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKHJlc29sdmVkU3RhdGUpPT57XG4gICAgICAgIGlmIChkZXZ0b29sc0Nvbm5lY3Rpb25SZWYuY3VycmVudCkge1xuICAgICAgICAgICAgZGV2dG9vbHNDb25uZWN0aW9uUmVmLmN1cnJlbnQuc2VuZCh7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJSRU5ERVJfU1lOQ1wiXG4gICAgICAgICAgICB9LCBub3JtYWxpemVSb3V0ZXJTdGF0ZShyZXNvbHZlZFN0YXRlKSk7XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgc3RhdGUsXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBzeW5jXG4gICAgXTtcbn1cbmNvbnN0IHVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29scyA9IHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgPyB1c2VSZWR1Y2VyV2l0aFJlZHV4RGV2dG9vbHNJbXBsIDogdXNlUmVkdWNlcldpdGhSZWR1eERldnRvb2xzTm9vcDtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlLXJlZHVjZXItd2l0aC1kZXZ0b29scy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJ1c2VVbndyYXBTdGF0ZSIsInVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29scyIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiXyIsIl9yb3V0ZXJyZWR1Y2VydHlwZXMiLCJfYWN0aW9ucXVldWUiLCJub3JtYWxpemVSb3V0ZXJTdGF0ZSIsInZhbCIsIk1hcCIsIm9iaiIsImtleSIsImVudHJpZXMiLCIkJHR5cGVvZiIsInRvU3RyaW5nIiwiX2J1bmRsZXJDb25maWciLCJoYXNPd25Qcm9wZXJ0eSIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsInN0YXRlIiwiaXNUaGVuYWJsZSIsInJlc3VsdCIsInVzZSIsInVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29sc05vb3AiLCJpbml0aWFsU3RhdGUiLCJ1c2VSZWR1Y2VyV2l0aFJlZHV4RGV2dG9vbHNJbXBsIiwic2V0U3RhdGUiLCJkZWZhdWx0IiwidXNlU3RhdGUiLCJhY3Rpb25RdWV1ZSIsInVzZUNvbnRleHQiLCJBY3Rpb25RdWV1ZUNvbnRleHQiLCJFcnJvciIsImRldnRvb2xzQ29ubmVjdGlvblJlZiIsInVzZVJlZiIsImVuYWJsZWRSZWYiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwidW5kZWZpbmVkIiwid2luZG93IiwiX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXyIsImNvbm5lY3QiLCJpbnN0YW5jZUlkIiwiaW5pdCIsImRldlRvb2xzSW5zdGFuY2UiLCJkaXNwYXRjaCIsInVzZUNhbGxiYWNrIiwiYWN0aW9uIiwic3luYyIsInJlc29sdmVkU3RhdGUiLCJzZW5kIiwidHlwZSIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/use-reducer-with-devtools.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/dev/error-overlay/format-webpack-messages.js": /*!************************************************************************************!*\ !*** ./node_modules/next/dist/client/dev/error-overlay/format-webpack-messages.js ***! \************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/**\nMIT License\n\nCopyright (c) 2015-present, Facebook, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return formatWebpackMessages;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\n// This file is based on https://github.com/facebook/create-react-app/blob/7b1a32be6ec9f99a6c9a3c66813f3ac09c4736b9/packages/react-dev-utils/formatWebpackMessages.js\n// It's been edited to remove chalk and CRA-specific logic\nconst friendlySyntaxErrorLabel = \"Syntax error:\";\nconst WEBPACK_BREAKING_CHANGE_POLYFILLS = \"\\n\\nBREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.\";\nfunction isLikelyASyntaxError(message) {\n return (0, _stripansi.default)(message).includes(friendlySyntaxErrorLabel);\n}\nlet hadMissingSassError = false;\n// Cleans up webpack error messages.\nfunction formatMessage(message, verbose, importTraceNote) {\n // TODO: Replace this once webpack 5 is stable\n if (typeof message === \"object\" && message.message) {\n const filteredModuleTrace = message.moduleTrace && message.moduleTrace.filter((trace)=>!/next-(middleware|client-pages|route|edge-function)-loader\\.js/.test(trace.originName));\n let body = message.message;\n const breakingChangeIndex = body.indexOf(WEBPACK_BREAKING_CHANGE_POLYFILLS);\n if (breakingChangeIndex >= 0) {\n body = body.slice(0, breakingChangeIndex);\n }\n message = (message.moduleName ? (0, _stripansi.default)(message.moduleName) + \"\\n\" : \"\") + (message.file ? (0, _stripansi.default)(message.file) + \"\\n\" : \"\") + body + (message.details && verbose ? \"\\n\" + message.details : \"\") + (filteredModuleTrace && filteredModuleTrace.length ? (importTraceNote || \"\\n\\nImport trace for requested module:\") + filteredModuleTrace.map((trace)=>\"\\n\" + trace.moduleName).join(\"\") : \"\") + (message.stack && verbose ? \"\\n\" + message.stack : \"\");\n }\n let lines = message.split(\"\\n\");\n // Strip Webpack-added headers off errors/warnings\n // https://github.com/webpack/webpack/blob/master/lib/ModuleError.js\n lines = lines.filter((line)=>!/Module [A-z ]+\\(from/.test(line));\n // Transform parsing error into syntax error\n // TODO: move this to our ESLint formatter?\n lines = lines.map((line)=>{\n const parsingError = /Line (\\d+):(?:(\\d+):)?\\s*Parsing error: (.+)$/.exec(line);\n if (!parsingError) {\n return line;\n }\n const [, errorLine, errorColumn, errorMessage] = parsingError;\n return friendlySyntaxErrorLabel + \" \" + errorMessage + \" (\" + errorLine + \":\" + errorColumn + \")\";\n });\n message = lines.join(\"\\n\");\n // Smoosh syntax errors (commonly found in CSS)\n message = message.replace(/SyntaxError\\s+\\((\\d+):(\\d+)\\)\\s*(.+?)\\n/g, \"\" + friendlySyntaxErrorLabel + \" $3 ($1:$2)\\n\");\n // Clean up export errors\n message = message.replace(/^.*export '(.+?)' was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$2'.\");\n message = message.replace(/^.*export 'default' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$2' does not contain a default export (imported as '$1').\");\n message = message.replace(/^.*export '(.+?)' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$3' (imported as '$2').\");\n lines = message.split(\"\\n\");\n // Remove leading newline\n if (lines.length > 2 && lines[1].trim() === \"\") {\n lines.splice(1, 1);\n }\n // Cleans up verbose \"module not found\" messages for files and packages.\n if (lines[1] && lines[1].indexOf(\"Module not found: \") === 0) {\n lines = [\n lines[0],\n lines[1].replace(\"Error: \", \"\").replace(\"Module not found: Cannot find file:\", \"Cannot find file:\"),\n ...lines.slice(2)\n ];\n }\n // Add helpful message for users trying to use Sass for the first time\n if (lines[1] && lines[1].match(/Cannot find module.+sass/)) {\n // ./file.module.scss (<<loader info>>) => ./file.module.scss\n const firstLine = lines[0].split(\"!\");\n lines[0] = firstLine[firstLine.length - 1];\n lines[1] = \"To use Next.js' built-in Sass support, you first need to install `sass`.\\n\";\n lines[1] += \"Run `npm i sass` or `yarn add sass` inside your workspace.\\n\";\n lines[1] += \"\\nLearn more: https://nextjs.org/docs/messages/install-sass\";\n // dispose of unhelpful stack trace\n lines = lines.slice(0, 2);\n hadMissingSassError = true;\n } else if (hadMissingSassError && message.match(/(sass-loader|resolve-url-loader: CSS error)/)) {\n // dispose of unhelpful stack trace following missing sass module\n lines = [];\n }\n if (!verbose) {\n message = lines.join(\"\\n\");\n // Internal stacks are generally useless so we strip them... with the\n // exception of stacks containing `webpack:` because they're normally\n // from user code generated by Webpack. For more information see\n // https://github.com/facebook/create-react-app/pull/1050\n message = message.replace(/^\\s*at\\s((?!webpack:).)*:\\d+:\\d+[\\s)]*(\\n|$)/gm, \"\") // at ... ...:x:y\n ;\n message = message.replace(/^\\s*at\\s<anonymous>(\\n|$)/gm, \"\") // at <anonymous>\n ;\n message = message.replace(/File was processed with these loaders:\\n(.+[\\\\/](next[\\\\/]dist[\\\\/].+|@next[\\\\/]react-refresh-utils[\\\\/]loader)\\.js\\n)*You may need an additional loader to handle the result of these loaders.\\n/g, \"\");\n lines = message.split(\"\\n\");\n }\n // Remove duplicated newlines\n lines = lines.filter((line, index, arr)=>index === 0 || line.trim() !== \"\" || line.trim() !== arr[index - 1].trim());\n // Reassemble the message\n message = lines.join(\"\\n\");\n return message.trim();\n}\nfunction formatWebpackMessages(json, verbose) {\n const formattedErrors = json.errors.map((message)=>{\n const isUnknownNextFontError = message.message.includes(\"An error occured in `next/font`.\");\n return formatMessage(message, isUnknownNextFontError || verbose);\n });\n const formattedWarnings = json.warnings.map((message)=>{\n return formatMessage(message, verbose);\n });\n // Reorder errors to put the most relevant ones first.\n let reactServerComponentsError = -1;\n for(let i = 0; i < formattedErrors.length; i++){\n const error = formattedErrors[i];\n if (error.includes(\"ReactServerComponentsError\")) {\n reactServerComponentsError = i;\n break;\n }\n }\n // Move the reactServerComponentsError to the top if it exists\n if (reactServerComponentsError !== -1) {\n const error = formattedErrors.splice(reactServerComponentsError, 1);\n formattedErrors.unshift(error[0]);\n }\n const result = {\n ...json,\n errors: formattedErrors,\n warnings: formattedWarnings\n };\n if (!verbose && result.errors.some(isLikelyASyntaxError)) {\n // If there are any syntax errors, show just them.\n result.errors = result.errors.filter(isLikelyASyntaxError);\n result.warnings = [];\n }\n return result;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=format-webpack-messages.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZXJyb3Itb3ZlcmxheS9mb3JtYXQtd2VicGFjay1tZXNzYWdlcy5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNCQSxHQUFnQjtBQUNoQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsa0hBQXlDO0FBQ2xGLE1BQU1DLGFBQWEsV0FBVyxHQUFHRix5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsa0dBQStCO0FBQ25HLHFLQUFxSztBQUNySywwREFBMEQ7QUFDMUQsTUFBTUcsMkJBQTJCO0FBQ2pDLE1BQU1DLG9DQUFvQztBQUMxQyxTQUFTQyxxQkFBcUJDLE9BQU87SUFDakMsT0FBTyxDQUFDLEdBQUdMLFdBQVdNLE9BQU8sRUFBRUQsU0FBU0UsUUFBUSxDQUFDTDtBQUNyRDtBQUNBLElBQUlNLHNCQUFzQjtBQUMxQixvQ0FBb0M7QUFDcEMsU0FBU0MsY0FBY0osT0FBTyxFQUFFSyxPQUFPLEVBQUVDLGVBQWU7SUFDcEQsOENBQThDO0lBQzlDLElBQUksT0FBT04sWUFBWSxZQUFZQSxRQUFRQSxPQUFPLEVBQUU7UUFDaEQsTUFBTU8sc0JBQXNCUCxRQUFRUSxXQUFXLElBQUlSLFFBQVFRLFdBQVcsQ0FBQ0MsTUFBTSxDQUFDLENBQUNDLFFBQVEsQ0FBQyxnRUFBZ0VDLElBQUksQ0FBQ0QsTUFBTUUsVUFBVTtRQUM3SyxJQUFJQyxPQUFPYixRQUFRQSxPQUFPO1FBQzFCLE1BQU1jLHNCQUFzQkQsS0FBS0UsT0FBTyxDQUFDakI7UUFDekMsSUFBSWdCLHVCQUF1QixHQUFHO1lBQzFCRCxPQUFPQSxLQUFLRyxLQUFLLENBQUMsR0FBR0Y7UUFDekI7UUFDQWQs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TUMsUUFBUVAsZUFBZSxDQUFDTSxFQUFFO1FBQ2hDLElBQUlDLE1BQU03QyxRQUFRLENBQUMsK0JBQStCO1lBQzlDMkMsNkJBQTZCQztZQUM3QjtRQUNKO0lBQ0o7SUFDQSw4REFBOEQ7SUFDOUQsSUFBSUQsK0JBQStCLENBQUMsR0FBRztRQUNuQyxNQUFNRSxRQUFRUCxnQkFBZ0JOLE1BQU0sQ0FBQ1csNEJBQTRCO1FBQ2pFTCxnQkFBZ0JRLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDLEVBQUU7SUFDcEM7SUFDQSxNQUFNRSxTQUFTO1FBQ1gsR0FBR1YsSUFBSTtRQUNQRSxRQUFRRDtRQUNSSSxVQUFVRDtJQUNkO0lBQ0EsSUFBSSxDQUFDdEMsV0FBVzRDLE9BQU9SLE1BQU0sQ0FBQ1MsSUFBSSxDQUFDbkQsdUJBQXVCO1FBQ3RELGtEQUFrRDtRQUNsRGtELE9BQU9SLE1BQU0sR0FBR1EsT0FBT1IsTUFBTSxDQUFDaEMsTUFBTSxDQUFDVjtRQUNyQ2tELE9BQU9MLFFBQVEsR0FBRyxFQUFFO0lBQ3hCO0lBQ0EsT0FBT0s7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPN0QsUUFBUWEsT0FBTyxLQUFLLGNBQWUsT0FBT2IsUUFBUWEsT0FBTyxLQUFLLFlBQVliLFFBQVFhLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2IsUUFBUWEsT0FBTyxDQUFDa0QsVUFBVSxLQUFLLGFBQWE7SUFDcktqRSxPQUFPQyxjQUFjLENBQUNDLFFBQVFhLE9BQU8sRUFBRSxjQUFjO1FBQUVaLE9BQU87SUFBSztJQUNuRUgsT0FBT2tFLE1BQU0sQ0FBQ2hFLFFBQVFhLE9BQU8sRUFBRWI7SUFDL0JpRSxPQUFPakUsT0FBTyxHQUFHQSxRQUFRYSxPQUFPO0FBQ2xDLEVBRUEsbURBQW1EIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvZGV2L2Vycm9yLW92ZXJsYXkvZm9ybWF0LXdlYnBhY2stbWVzc2FnZXMuanM/NzVlYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbk1JVCBMaWNlbnNlXG5cbkNvcHlyaWdodCAoYykgMjAxNS1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuXG5QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG5vZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG5pbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG50byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG5jb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbmZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cblRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG5GSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbkFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbkxJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG5PVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuU09GVFdBUkUuXG4qLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdFdlYnBhY2tNZXNzYWdlcztcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfc3RyaXBhbnNpID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3N0cmlwLWFuc2lcIikpO1xuLy8gVGhpcyBmaWxlIGlzIGJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9jcmVhdGUtcmVhY3QtYXBwL2Jsb2IvN2IxYTMyYmU2ZWM5Zjk5YTZjOWEzYzY2ODEzZjNhYzA5YzQ3MzZiOS9wYWNrYWdlcy9yZWFjdC1kZXYtdXRpbHMvZm9ybWF0V2VicGFja01lc3NhZ2VzLmpzXG4vLyBJdCdzIGJlZW4gZWRpdGVkIHRvIHJlbW92ZSBjaGFsayBhbmQgQ1JBLXNwZWNpZmljIGxvZ2ljXG5jb25zdCBmcmllbmRseVN5bnRheEVycm9yTGFiZWwgPSBcIlN5bnRheCBlcnJvcjpcIjtcbmNvbnN0IFdFQlBBQ0tfQlJFQUtJTkdfQ0hBTkdFX1BPTFlGSUxMUyA9IFwiXFxuXFxuQlJFQUtJTkcgQ0hBTkdFOiB3ZWJwYWNrIDwgNSB1c2VkIHRvIGluY2x1ZGUgcG9seWZpbGxzIGZvciBub2RlLmpzIGNvcmUgbW9kdWxlcyBieSBkZWZhdWx0LlwiO1xuZnVuY3Rpb24gaXNMaWtlbHlBU3ludGF4RXJyb3IobWVzc2FnZSkge1xuICAgIHJldHVybiAoMCwgX3N0cmlwYW5zaS5kZWZhdWx0KShtZXNzYWdlKS5pbmNsdWRlcyhmcmllbmRseVN5bnRheEVycm9yTGFiZWwpO1xufVxubGV0IGhhZE1pc3NpbmdTYXNzRXJyb3IgPSBmYWxzZTtcbi8vIENsZWFucyB1cCB3ZWJwYWNrIGVycm9yIG1lc3NhZ2VzLlxuZnVuY3Rpb24gZm9ybWF0TWVzc2FnZShtZXNzYWdlLCB2ZXJib3NlLCBpbXBvcnRUcmFjZU5vdGUpIHtcbiAgICAvLyBUT0RPOiBSZXBsYWNlIHRoaXMgb25jZSB3ZWJwYWNrIDUgaXMgc3RhYmxlXG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSBcIm9iamVjdFwiICYmIG1lc3NhZ2UubWVzc2FnZSkge1xuICAgICAgICBjb25zdCBmaWx0ZXJlZE1vZHVsZVRyYWNlID0gbWVzc2FnZS5tb2R1bGVUcmFjZSAmJiBtZXNzYWdlLm1vZHVsZVRyYWNlLmZpbHRlcigodHJhY2UpPT4hL25leHQtKG1pZGRsZXdhcmV8Y2xpZW50LXBhZ2VzfHJvdXRlfGVkZ2UtZnVuY3Rpb24pLWxvYWRlclxcLmpzLy50ZXN0KHRyYWNlLm9yaWdpbk5hbWUpKTtcbiAgICAgICAgbGV0IGJvZHkgPSBtZXNzYWdlLm1lc3NhZ2U7XG4gICAgICAgIGNvbnN0IGJyZWFraW5nQ2hhbmdlSW5kZXggPSBib2R5LmluZGV4T2YoV0VCUEFDS19CUkVBS0lOR19DSEFOR0VfUE9MWUZJTExTKTtcbiAgICAgICAgaWYgKGJyZWFraW5nQ2hhbmdlSW5kZXggPj0gMCkge1xuICAgICAgICAgICAgYm9keSA9IGJvZHkuc2xpY2UoMCwgYnJlYWtpbmdDaGFuZ2VJbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgbWVzc2FnZSA9IChtZXNzYWdlLm1vZHVsZU5hbWUgPyAoMCwgX3N0cmlwYW5zaS5kZWZhdWx0KShtZXNzYWdlLm1vZHVsZU5hbWUpICsgXCJcXG5cIiA6IFwiXCIpICsgKG1lc3NhZ2UuZmlsZSA/ICgwLCBfc3RyaXBhbnNpLmRlZmF1bHQpKG1lc3NhZ2UuZmlsZSkgKyBcIlxcblwiIDogXCJcIikgKyBib2R5ICsgKG1lc3NhZ2UuZGV0YWlscyAmJiB2ZXJib3NlID8gXCJcXG5cIiArIG1lc3NhZ2UuZGV0YWlscyA6IFwiXCIpICsgKGZpbHRlcmVkTW9kdWxlVHJhY2UgJiYgZmlsdGVyZWRNb2R1bGVUcmFjZS5sZW5ndGggPyAoaW1wb3J0VHJhY2VOb3RlIHx8IFwiXFxuXFxuSW1wb3J0IHRyYWNlIGZvciByZXF1ZXN0ZWQgbW9kdWxlOlwiKSArIGZpbHRlcmVkTW9kdWxlVHJhY2UubWFwKCh0cmFjZSk9PlwiXFxuXCIgKyB0cmFjZS5tb2R1bGVOYW1lKS5qb2luKFwiXCIpIDogXCJcIikgKyAobWVzc2FnZS5zdGFjayAmJiB2ZXJib3NlID8gXCJcXG5cIiArIG1lc3NhZ2Uuc3RhY2sgOiBcIlwiKTtcbiAgICB9XG4gICAgbGV0IGxpbmVzID0gbWVzc2FnZS5zcGxpdChcIlxcblwiKTtcbiAgICAvLyBTdHJpcCBXZWJwYWNrLWFkZGVkIGhlYWRlcnMgb2ZmIGVycm9ycy93YXJuaW5nc1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrL3dlYnBhY2svYmxvYi9tYXN0ZXIvbGliL01vZHVsZUVycm9yLmpzXG4gICAgbGluZXMgPSBsaW5lcy5maWx0ZXIoKGxpbmUpPT4hL01vZHVsZSBbQS16IF0rXFwoZnJvbS8udGVzdChsaW5lKSk7XG4gICAgLy8gVHJhbnNmb3JtIHBhcnNpbmcgZXJyb3IgaW50byBzeW50YXggZXJyb3JcbiAgICAvLyBUT0RPOiBtb3ZlIHRoaXMgdG8gb3VyIEVTTGludCBmb3JtYXR0ZXI/XG4gICAgbGluZXMgPSBsaW5lcy5tYXAoKGxpbmUpPT57XG4gICAgICAgIGNvbnN0IHBhcnNpbmdFcnJvciA9IC9MaW5lIChcXGQrKTooPzooXFxkKyk6KT9cXHMqUGFyc2luZyBlcnJvcjogKC4rKSQvLmV4ZWMobGluZSk7XG4gICAgICAgIGlmICghcGFyc2luZ0Vycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gbGluZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBbLCBlcnJvckxpbmUsIGVycm9yQ29sdW1uLCBlcnJvck1lc3NhZ2VdID0gcGFyc2luZ0Vycm9yO1xuICAgICAgICByZXR1cm4gZnJpZW5kbHlTeW50YXhFcnJvckxhYmVsICsgXCIgXCIgKyBlcnJvck1lc3NhZ2UgKyBcIiAoXCIgKyBlcnJvckxpbmUgKyBcIjpcIiArIGVycm9yQ29sdW1uICsgXCIpXCI7XG4gICAgfSk7XG4gICAgbWVzc2FnZSA9IGxpbmVzLmpvaW4oXCJcXG5cIik7XG4gICAgLy8gU21vb3NoIHN5bnRheCBlcnJvcnMgKGNvbW1vbmx5IGZvdW5kIGluIENTUylcbiAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9TeW50YXhFcnJvclxccytcXCgoXFxkKyk6KFxcZCspXFwpXFxzKiguKz8pXFxuL2csIFwiXCIgKyBmcmllbmRseVN5bnRheEVycm9yTGFiZWwgKyBcIiAkMyAoJDE6JDIpXFxuXCIpO1xuICAgIC8vIENsZWFuIHVwIGV4cG9ydCBlcnJvcnNcbiAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9eLipleHBvcnQgJyguKz8pJyB3YXMgbm90IGZvdW5kIGluICcoLis/KScuKiQvZ20sIFwiQXR0ZW1wdGVkIGltcG9ydCBlcnJvcjogJyQxJyBpcyBub3QgZXhwb3J0ZWQgZnJvbSAnJDInLlwiKTtcbiAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9eLipleHBvcnQgJ2RlZmF1bHQnIFxcKGltcG9ydGVkIGFzICcoLis/KSdcXCkgd2FzIG5vdCBmb3VuZCBpbiAnKC4rPyknLiokL2dtLCBcIkF0dGVtcHRlZCBpbXBvcnQgZXJyb3I6ICckMicgZG9lcyBub3QgY29udGFpbiBhIGRlZmF1bHQgZXhwb3J0IChpbXBvcnRlZCBhcyAnJDEnKS5cIik7XG4gICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSgvXi4qZXhwb3J0ICcoLis/KScgXFwoaW1wb3J0ZWQgYXMgJyguKz8pJ1xcKSB3YXMgbm90IGZvdW5kIGluICcoLis/KScuKiQvZ20sIFwiQXR0ZW1wdGVkIGltcG9ydCBlcnJvcjogJyQxJyBpcyBub3QgZXhwb3J0ZWQgZnJvbSAnJDMnIChpbXBvcnRlZCBhcyAnJDInKS5cIik7XG4gICAgbGluZXMgPSBtZXNzYWdlLnNwbGl0KFwiXFxuXCIpO1xuICAgIC8vIFJlbW92ZSBsZWFkaW5nIG5ld2xpbmVcbiAgICBpZiAobGluZXMubGVuZ3RoID4gMiAmJiBsaW5lc1sxXS50cmltKCkgPT09IFwiXCIpIHtcbiAgICAgICAgbGluZXMuc3BsaWNlKDEsIDEpO1xuICAgIH1cbiAgICAvLyBDbGVhbnMgdXAgdmVyYm9zZSBcIm1vZHVsZSBub3QgZm91bmRcIiBtZXNzYWdlcyBmb3IgZmlsZXMgYW5kIHBhY2thZ2VzLlxuICAgIGlmIChsaW5lc1sxXSAmJiBsaW5lc1sxXS5pbmRleE9mKFwiTW9kdWxlIG5vdCBmb3VuZDogXCIpID09PSAwKSB7XG4gICAgICAgIGxpbmVzID0gW1xuICAgICAgICAgICAgbGluZXNbMF0sXG4gICAgICAgICAgICBsaW5lc1sxXS5yZXBsYWNlKFwiRXJyb3I6IFwiLCBcIlwiKS5yZXBsYWNlKFwiTW9kdWxlIG5vdCBmb3VuZDogQ2Fubm90IGZpbmQgZmlsZTpcIiwgXCJDYW5ub3QgZmluZCBmaWxlOlwiKSxcbiAgICAgICAgICAgIC4uLmxpbmVzLnNsaWNlKDIpXG4gICAgICAgIF07XG4gICAgfVxuICAgIC8vIEFkZCBoZWxwZnVsIG1lc3NhZ2UgZm9yIHVzZXJzIHRyeWluZyB0byB1c2UgU2FzcyBmb3IgdGhlIGZpcnN0IHRpbWVcbiAgICBpZiAobGluZXNbMV0gJiYgbGluZXNbMV0ubWF0Y2goL0Nhbm5vdCBmaW5kIG1vZHVsZS4rc2Fzcy8pKSB7XG4gICAgICAgIC8vIC4vZmlsZS5tb2R1bGUuc2NzcyAoPDxsb2FkZXIgaW5mbz4+KSA9PiAuL2ZpbGUubW9kdWxlLnNjc3NcbiAgICAgICAgY29uc3QgZmlyc3RMaW5lID0gbGluZXNbMF0uc3BsaXQoXCIhXCIpO1xuICAgICAgICBsaW5lc1swXSA9IGZpcnN0TGluZVtmaXJzdExpbmUubGVuZ3RoIC0gMV07XG4gICAgICAgIGxpbmVzWzFdID0gXCJUbyB1c2UgTmV4dC5qcycgYnVpbHQtaW4gU2FzcyBzdXBwb3J0LCB5b3UgZmlyc3QgbmVlZCB0byBpbnN0YWxsIGBzYXNzYC5cXG5cIjtcbiAgICAgICAgbGluZXNbMV0gKz0gXCJSdW4gYG5wbSBpIHNhc3NgIG9yIGB5YXJuIGFkZCBzYXNzYCBpbnNpZGUgeW91ciB3b3Jrc3BhY2UuXFxuXCI7XG4gICAgICAgIGxpbmVzWzFdICs9IFwiXFxuTGVhcm4gbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvaW5zdGFsbC1zYXNzXCI7XG4gICAgICAgIC8vIGRpc3Bvc2Ugb2YgdW5oZWxwZnVsIHN0YWNrIHRyYWNlXG4gICAgICAgIGxpbmVzID0gbGluZXMuc2xpY2UoMCwgMik7XG4gICAgICAgIGhhZE1pc3NpbmdTYXNzRXJyb3IgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoaGFkTWlzc2luZ1Nhc3NFcnJvciAmJiBtZXNzYWdlLm1hdGNoKC8oc2Fzcy1sb2FkZXJ8cmVzb2x2ZS11cmwtbG9hZGVyOiBDU1MgZXJyb3IpLykpIHtcbiAgICAgICAgLy8gZGlzcG9zZSBvZiB1bmhlbHBmdWwgc3RhY2sgdHJhY2UgZm9sbG93aW5nIG1pc3Npbmcgc2FzcyBtb2R1bGVcbiAgICAgICAgbGluZXMgPSBbXTtcbiAgICB9XG4gICAgaWYgKCF2ZXJib3NlKSB7XG4gICAgICAgIG1lc3NhZ2UgPSBsaW5lcy5qb2luKFwiXFxuXCIpO1xuICAgICAgICAvLyBJbnRlcm5hbCBzdGFja3MgYXJlIGdlbmVyYWxseSB1c2VsZXNzIHNvIHdlIHN0cmlwIHRoZW0uLi4gd2l0aCB0aGVcbiAgICAgICAgLy8gZXhjZXB0aW9uIG9mIHN0YWNrcyBjb250YWluaW5nIGB3ZWJwYWNrOmAgYmVjYXVzZSB0aGV5J3JlIG5vcm1hbGx5XG4gICAgICAgIC8vIGZyb20gdXNlciBjb2RlIGdlbmVyYXRlZCBieSBXZWJwYWNrLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWVcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2NyZWF0ZS1yZWFjdC1hcHAvcHVsbC8xMDUwXG4gICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoL15cXHMqYXRcXHMoKD8hd2VicGFjazopLikqOlxcZCs6XFxkK1tcXHMpXSooXFxufCQpL2dtLCBcIlwiKSAvLyBhdCAuLi4gLi4uOng6eVxuICAgICAgICA7XG4gICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoL15cXHMqYXRcXHM8YW5vbnltb3VzPihcXG58JCkvZ20sIFwiXCIpIC8vIGF0IDxhbm9ueW1vdXM+XG4gICAgICAgIDtcbiAgICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSgvRmlsZSB3YXMgcHJvY2Vzc2VkIHdpdGggdGhlc2UgbG9hZGVyczpcXG4oLitbXFxcXC9dKG5leHRbXFxcXC9dZGlzdFtcXFxcL10uK3xAbmV4dFtcXFxcL11yZWFjdC1yZWZyZXNoLXV0aWxzW1xcXFwvXWxvYWRlcilcXC5qc1xcbikqWW91IG1heSBuZWVkIGFuIGFkZGl0aW9uYWwgbG9hZGVyIHRvIGhhbmRsZSB0aGUgcmVzdWx0IG9mIHRoZXNlIGxvYWRlcnMuXFxuL2csIFwiXCIpO1xuICAgICAgICBsaW5lcyA9IG1lc3NhZ2Uuc3BsaXQoXCJcXG5cIik7XG4gICAgfVxuICAgIC8vIFJlbW92ZSBkdXBsaWNhdGVkIG5ld2xpbmVzXG4gICAgbGluZXMgPSBsaW5lcy5maWx0ZXIoKGxpbmUsIGluZGV4LCBhcnIpPT5pbmRleCA9PT0gMCB8fCBsaW5lLnRyaW0oKSAhPT0gXCJcIiB8fCBsaW5lLnRyaW0oKSAhPT0gYXJyW2luZGV4IC0gMV0udHJpbSgpKTtcbiAgICAvLyBSZWFzc2VtYmxlIHRoZSBtZXNzYWdlXG4gICAgbWVzc2FnZSA9IGxpbmVzLmpvaW4oXCJcXG5cIik7XG4gICAgcmV0dXJuIG1lc3NhZ2UudHJpbSgpO1xufVxuZnVuY3Rpb24gZm9ybWF0V2VicGFja01lc3NhZ2VzKGpzb24sIHZlcmJvc2UpIHtcbiAgICBjb25zdCBmb3JtYXR0ZWRFcnJvcnMgPSBqc29uLmVycm9ycy5tYXAoKG1lc3NhZ2UpPT57XG4gICAgICAgIGNvbnN0IGlzVW5rbm93bk5leHRGb250RXJyb3IgPSBtZXNzYWdlLm1lc3NhZ2UuaW5jbHVkZXMoXCJBbiBlcnJvciBvY2N1cmVkIGluIGBuZXh0L2ZvbnRgLlwiKTtcbiAgICAgICAgcmV0dXJuIGZvcm1hdE1lc3NhZ2UobWVzc2FnZSwgaXNVbmtub3duTmV4dEZvbnRFcnJvciB8fCB2ZXJib3NlKTtcbiAgICB9KTtcbiAgICBjb25zdCBmb3JtYXR0ZWRXYXJuaW5ncyA9IGpzb24ud2FybmluZ3MubWFwKChtZXNzYWdlKT0+e1xuICAgICAgICByZXR1cm4gZm9ybWF0TWVzc2FnZShtZXNzYWdlLCB2ZXJib3NlKTtcbiAgICB9KTtcbiAgICAvLyBSZW9yZGVyIGVycm9ycyB0byBwdXQgdGhlIG1vc3QgcmVsZXZhbnQgb25lcyBmaXJzdC5cbiAgICBsZXQgcmVhY3RTZXJ2ZXJDb21wb25lbnRzRXJyb3IgPSAtMTtcbiAgICBmb3IobGV0IGkgPSAwOyBpIDwgZm9ybWF0dGVkRXJyb3JzLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgY29uc3QgZXJyb3IgPSBmb3JtYXR0ZWRFcnJvcnNbaV07XG4gICAgICAgIGlmIChlcnJvci5pbmNsdWRlcyhcIlJlYWN0U2VydmVyQ29tcG9uZW50c0Vycm9yXCIpKSB7XG4gICAgICAgICAgICByZWFjdFNlcnZlckNvbXBvbmVudHNFcnJvciA9IGk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBNb3ZlIHRoZSByZWFjdFNlcnZlckNvbXBvbmVudHNFcnJvciB0byB0aGUgdG9wIGlmIGl0IGV4aXN0c1xuICAgIGlmIChyZWFjdFNlcnZlckNvbXBvbmVudHNFcnJvciAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSBmb3JtYXR0ZWRFcnJvcnMuc3BsaWNlKHJlYWN0U2VydmVyQ29tcG9uZW50c0Vycm9yLCAxKTtcbiAgICAgICAgZm9ybWF0dGVkRXJyb3JzLnVuc2hpZnQoZXJyb3JbMF0pO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgIC4uLmpzb24sXG4gICAgICAgIGVycm9yczogZm9ybWF0dGVkRXJyb3JzLFxuICAgICAgICB3YXJuaW5nczogZm9ybWF0dGVkV2FybmluZ3NcbiAgICB9O1xuICAgIGlmICghdmVyYm9zZSAmJiByZXN1bHQuZXJyb3JzLnNvbWUoaXNMaWtlbHlBU3ludGF4RXJyb3IpKSB7XG4gICAgICAgIC8vIElmIHRoZXJlIGFyZSBhbnkgc3ludGF4IGVycm9ycywgc2hvdyBqdXN0IHRoZW0uXG4gICAgICAgIHJlc3VsdC5lcnJvcnMgPSByZXN1bHQuZXJyb3JzLmZpbHRlcihpc0xpa2VseUFTeW50YXhFcnJvcik7XG4gICAgICAgIHJlc3VsdC53YXJuaW5ncyA9IFtdO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1mb3JtYXQtd2VicGFjay1tZXNzYWdlcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZm9ybWF0V2VicGFja01lc3NhZ2VzIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9zdHJpcGFuc2kiLCJfIiwiZnJpZW5kbHlTeW50YXhFcnJvckxhYmVsIiwiV0VCUEFDS19CUkVBS0lOR19DSEFOR0VfUE9MWUZJTExTIiwiaXNMaWtlbHlBU3ludGF4RXJyb3IiLCJtZXNzYWdlIiwiZGVmYXVsdCIsImluY2x1ZGVzIiwiaGFkTWlzc2luZ1Nhc3NFcnJvciIsImZvcm1hdE1lc3NhZ2UiLCJ2ZXJib3NlIiwiaW1wb3J0VHJhY2VOb3RlIiwiZmlsdGVyZWRNb2R1bGVUcmFjZSIsIm1vZHVsZVRyYWNlIiwiZmlsdGVyIiwidHJhY2UiLCJ0ZXN0Iiwib3JpZ2luTmFtZSIsImJvZHkiLCJicmVha2luZ0NoYW5nZUluZGV4IiwiaW5kZXhPZiIsInNsaWNlIiwibW9kdWxlTmFtZSIsImZpbGUiLCJkZXRhaWxzIiwibGVuZ3RoIiwibWFwIiwiam9pbiIsInN0YWNrIiwibGluZXMiLCJzcGxpdCIsImxpbmUiLCJwYXJzaW5nRXJyb3IiLCJleGVjIiwiZXJyb3JMaW5lIiwiZXJyb3JDb2x1bW4iLCJlcnJvck1lc3NhZ2UiLCJyZXBsYWNlIiwidHJpbSIsInNwbGljZSIsIm1hdGNoIiwiZmlyc3RMaW5lIiwiaW5kZXgiLCJhcnIiLCJqc29uIiwiZm9ybWF0dGVkRXJyb3JzIiwiZXJyb3JzIiwiaXNVbmtub3duTmV4dEZvbnRFcnJvciIsImZvcm1hdHRlZFdhcm5pbmdzIiwid2FybmluZ3MiLCJyZWFjdFNlcnZlckNvbXBvbmVudHNFcnJvciIsImkiLCJlcnJvciIsInVuc2hpZnQiLCJyZXN1bHQiLCJzb21lIiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/dev/error-overlay/format-webpack-messages.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/dev/noop-turbopack-hmr.js": /*!*****************************************************************!*\ !*** ./node_modules/next/dist/client/dev/noop-turbopack-hmr.js ***! \*****************************************************************/ /***/ ((module, exports) => { "use strict"; eval("// The Turbopack HMR client can't be properly omitted at the moment (WEB-1589),\n// so instead we remap its import to this file in webpack builds.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"connect\", ({\n enumerable: true,\n get: function() {\n return connect;\n }\n}));\nfunction connect() {}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=noop-turbopack-hmr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvbm9vcC10dXJib3BhY2staG1yLmpzIiwibWFwcGluZ3MiOiJBQUFBLCtFQUErRTtBQUMvRSxpRUFBaUU7QUFDcEQ7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLFdBQVc7QUFFcEIsSUFBSSxDQUFDLE9BQU9KLFFBQVFLLE9BQU8sS0FBSyxjQUFlLE9BQU9MLFFBQVFLLE9BQU8sS0FBSyxZQUFZTCxRQUFRSyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9MLFFBQVFLLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktSLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUUssT0FBTyxFQUFFLGNBQWM7UUFBRUosT0FBTztJQUFLO0lBQ25FSCxPQUFPUyxNQUFNLENBQUNQLFFBQVFLLE9BQU8sRUFBRUw7SUFDL0JRLE9BQU9SLE9BQU8sR0FBR0EsUUFBUUssT0FBTztBQUNsQyxFQUVBLDhDQUE4QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9ub29wLXR1cmJvcGFjay1obXIuanM/NDE0YyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGUgVHVyYm9wYWNrIEhNUiBjbGllbnQgY2FuJ3QgYmUgcHJvcGVybHkgb21pdHRlZCBhdCB0aGUgbW9tZW50IChXRUItMTU4OSksXG4vLyBzbyBpbnN0ZWFkIHdlIHJlbWFwIGl0cyBpbXBvcnQgdG8gdGhpcyBmaWxlIGluIHdlYnBhY2sgYnVpbGRzLlxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjb25uZWN0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjb25uZWN0O1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gY29ubmVjdCgpIHt9XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5vb3AtdHVyYm9wYWNrLWhtci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiY29ubmVjdCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/dev/noop-turbopack-hmr.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/get-domain-locale.js": /*!************************************************************!*\ !*** ./node_modules/next/dist/client/get-domain-locale.js ***! \************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getDomainLocale\", ({\n enumerable: true,\n get: function() {\n return getDomainLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction getDomainLocale(path, locale, locales, domainLocales) {\n if (false) {} else {\n return false;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-domain-locale.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9nZXQtZG9tYWluLWxvY2FsZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsbURBQWtEO0lBQzlDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMEJBQTBCQyxtQkFBT0EsQ0FBQyxxR0FBNEI7QUFDcEUsTUFBTUMsV0FBV0MsTUFBa0MsSUFBSTtBQUN2RCxTQUFTSixnQkFBZ0JPLElBQUksRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLGFBQWE7SUFDekQsSUFBSU4sS0FBK0IsRUFBRSxFQVdwQyxNQUFNO1FBQ0gsT0FBTztJQUNYO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT1IsUUFBUTJCLE9BQU8sS0FBSyxjQUFlLE9BQU8zQixRQUFRMkIsT0FBTyxLQUFLLFlBQVkzQixRQUFRMkIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPM0IsUUFBUTJCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcks5QixPQUFPQyxjQUFjLENBQUNDLFFBQVEyQixPQUFPLEVBQUUsY0FBYztRQUFFMUIsT0FBTztJQUFLO0lBQ25FSCxPQUFPK0IsTUFBTSxDQUFDN0IsUUFBUTJCLE9BQU8sRUFBRTNCO0lBQy9COEIsT0FBTzlCLE9BQU8sR0FBR0EsUUFBUTJCLE9BQU87QUFDbEMsRUFFQSw2Q0FBNkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9nZXQtZG9tYWluLWxvY2FsZS5qcz81YzI3Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0RG9tYWluTG9jYWxlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXREb21haW5Mb2NhbGU7XG4gICAgfVxufSk7XG5jb25zdCBfbm9ybWFsaXpldHJhaWxpbmdzbGFzaCA9IHJlcXVpcmUoXCIuL25vcm1hbGl6ZS10cmFpbGluZy1zbGFzaFwiKTtcbmNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5lbnYuX19ORVhUX1JPVVRFUl9CQVNFUEFUSCB8fCBcIlwiO1xuZnVuY3Rpb24gZ2V0RG9tYWluTG9jYWxlKHBhdGgsIGxvY2FsZSwgbG9jYWxlcywgZG9tYWluTG9jYWxlcykge1xuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfSTE4Tl9TVVBQT1JUKSB7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZUxvY2FsZVBhdGggPSByZXF1aXJlKFwiLi9ub3JtYWxpemUtbG9jYWxlLXBhdGhcIikubm9ybWFsaXplTG9jYWxlUGF0aDtcbiAgICAgICAgY29uc3QgZGV0ZWN0RG9tYWluTG9jYWxlID0gcmVxdWlyZShcIi4vZGV0ZWN0LWRvbWFpbi1sb2NhbGVcIikuZGV0ZWN0RG9tYWluTG9jYWxlO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBsb2NhbGUgfHwgbm9ybWFsaXplTG9jYWxlUGF0aChwYXRoLCBsb2NhbGVzKS5kZXRlY3RlZExvY2FsZTtcbiAgICAgICAgY29uc3QgZG9tYWluID0gZGV0ZWN0RG9tYWluTG9jYWxlKGRvbWFpbkxvY2FsZXMsIHVuZGVmaW5lZCwgdGFyZ2V0KTtcbiAgICAgICAgaWYgKGRvbWFpbikge1xuICAgICAgICAgICAgY29uc3QgcHJvdG8gPSBcImh0dHBcIiArIChkb21haW4uaHR0cCA/IFwiXCIgOiBcInNcIikgKyBcIjovL1wiO1xuICAgICAgICAgICAgY29uc3QgZmluYWxMb2NhbGUgPSB0YXJnZXQgPT09IGRvbWFpbi5kZWZhdWx0TG9jYWxlID8gXCJcIiA6IFwiL1wiICsgdGFyZ2V0O1xuICAgICAgICAgICAgcmV0dXJuIFwiXCIgKyBwcm90byArIGRvbWFpbi5kb21haW4gKyAoMCwgX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2gubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2gpKFwiXCIgKyBiYXNlUGF0aCArIGZpbmFsTG9jYWxlICsgcGF0aCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldC1kb21haW4tbG9jYWxlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJnZXREb21haW5Mb2NhbGUiLCJfbm9ybWFsaXpldHJhaWxpbmdzbGFzaCIsInJlcXVpcmUiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsImxvY2FsZSIsImxvY2FsZXMiLCJkb21haW5Mb2NhbGVzIiwiX19ORVhUX0kxOE5fU1VQUE9SVCIsIm5vcm1hbGl6ZUxvY2FsZVBhdGgiLCJkZXRlY3REb21haW5Mb2NhbGUiLCJ0YXJnZXQiLCJkZXRlY3RlZExvY2FsZSIsImRvbWFpbiIsInVuZGVmaW5lZCIsInByb3RvIiwiaHR0cCIsImZpbmFsTG9jYWxlIiwiZGVmYXVsdExvY2FsZSIsIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/get-domain-locale.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/has-base-path.js": /*!********************************************************!*\ !*** ./node_modules/next/dist/client/has-base-path.js ***! \********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hasBasePath\", ({\n enumerable: true,\n get: function() {\n return hasBasePath;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ../shared/lib/router/utils/path-has-prefix */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nconst basePath = false || \"\";\nfunction hasBasePath(path) {\n return (0, _pathhasprefix.pathHasPrefix)(path, basePath);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=has-base-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oYXMtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwrQ0FBOEM7SUFDMUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQkFBaUJDLG1CQUFPQSxDQUFDLDZIQUE0QztBQUMzRSxNQUFNQyxXQUFXQyxNQUFrQyxJQUFJO0FBQ3ZELFNBQVNKLFlBQVlPLElBQUk7SUFDckIsT0FBTyxDQUFDLEdBQUdOLGVBQWVPLGFBQWEsRUFBRUQsTUFBTUo7QUFDbkQ7QUFFQSxJQUFJLENBQUMsT0FBT1AsUUFBUWEsT0FBTyxLQUFLLGNBQWUsT0FBT2IsUUFBUWEsT0FBTyxLQUFLLFlBQVliLFFBQVFhLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2IsUUFBUWEsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2hCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWEsT0FBTyxFQUFFLGNBQWM7UUFBRVosT0FBTztJQUFLO0lBQ25FSCxPQUFPaUIsTUFBTSxDQUFDZixRQUFRYSxPQUFPLEVBQUViO0lBQy9CZ0IsT0FBT2hCLE9BQU8sR0FBR0EsUUFBUWEsT0FBTztBQUNsQyxFQUVBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2hhcy1iYXNlLXBhdGguanM/NWE0OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImhhc0Jhc2VQYXRoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBoYXNCYXNlUGF0aDtcbiAgICB9XG59KTtcbmNvbnN0IF9wYXRoaGFzcHJlZml4ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeFwiKTtcbmNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5lbnYuX19ORVhUX1JPVVRFUl9CQVNFUEFUSCB8fCBcIlwiO1xuZnVuY3Rpb24gaGFzQmFzZVBhdGgocGF0aCkge1xuICAgIHJldHVybiAoMCwgX3BhdGhoYXNwcmVmaXgucGF0aEhhc1ByZWZpeCkocGF0aCwgYmFzZVBhdGgpO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1oYXMtYmFzZS1wYXRoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJoYXNCYXNlUGF0aCIsIl9wYXRoaGFzcHJlZml4IiwicmVxdWlyZSIsImJhc2VQYXRoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJwYXRoIiwicGF0aEhhc1ByZWZpeCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/has-base-path.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/link.js": /*!***********************************************!*\ !*** ./node_modules/next/dist/client/link.js ***! \***********************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _resolvehref = __webpack_require__(/*! ./resolve-href */ \"(ssr)/./node_modules/next/dist/client/resolve-href.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(ssr)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"(ssr)/./node_modules/next/dist/client/add-locale.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _useintersection = __webpack_require__(/*! ./use-intersection */ \"(ssr)/./node_modules/next/dist/client/use-intersection.js\");\nconst _getdomainlocale = __webpack_require__(/*! ./get-domain-locale */ \"(ssr)/./node_modules/next/dist/client/get-domain-locale.js\");\nconst _addbasepath = __webpack_require__(/*! ./add-base-path */ \"(ssr)/./node_modules/next/dist/client/add-base-path.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./components/router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst prefetched = new Set();\nfunction prefetch(router, href, as, options, appOptions, isAppRouter) {\n if (true) {\n return;\n }\n // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n if (!isAppRouter && !(0, _islocalurl.isLocalURL)(href)) {\n return;\n }\n // We should only dedupe requests when experimental.optimisticClientCache is\n // disabled.\n if (!options.bypassPrefetchedCheck) {\n const locale = typeof options.locale !== \"undefined\" ? options.locale : \"locale\" in router ? router.locale : undefined;\n const prefetchedKey = href + \"%\" + as + \"%\" + locale;\n // If we've already fetched the key, then don't prefetch it again!\n if (prefetched.has(prefetchedKey)) {\n return;\n }\n // Mark this URL as prefetched.\n prefetched.add(prefetchedKey);\n }\n const prefetchPromise = isAppRouter ? router.prefetch(href, appOptions) : router.prefetch(href, as, options);\n // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n Promise.resolve(prefetchPromise).catch((err)=>{\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n}\nfunction isModifiedEvent(event) {\n const eventTarget = event.currentTarget;\n const target = eventTarget.getAttribute(\"target\");\n return target && target !== \"_self\" || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === \"A\";\n if (isAnchorNodeName && (isModifiedEvent(e) || // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n !isAppRouter && !(0, _islocalurl.isLocalURL)(href))) {\n // ignore click for browser’s default behavior\n return;\n }\n e.preventDefault();\n const navigate = ()=>{\n // If the router is an NextRouter instance it will have `beforePopState`\n const routerScroll = scroll != null ? scroll : true;\n if (\"beforePopState\" in router) {\n router[replace ? \"replace\" : \"push\"](href, as, {\n shallow,\n locale,\n scroll: routerScroll\n });\n } else {\n router[replace ? \"replace\" : \"push\"](as || href, {\n scroll: routerScroll\n });\n }\n };\n if (isAppRouter) {\n _react.default.startTransition(navigate);\n } else {\n navigate();\n }\n}\nfunction formatStringOrUrl(urlObjOrString) {\n if (typeof urlObjOrString === \"string\") {\n return urlObjOrString;\n }\n return (0, _formaturl.formatUrl)(urlObjOrString);\n}\n/**\n * React Component that enables client-side transitions between routes.\n */ const Link = /*#__PURE__*/ _react.default.forwardRef(function LinkComponent(props, forwardedRef) {\n let children;\n const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, locale, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, ...restProps } = props;\n children = childrenProp;\n if (legacyBehavior && (typeof children === \"string\" || typeof children === \"number\")) {\n children = /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n children: children\n });\n }\n const pagesRouter = _react.default.useContext(_routercontextsharedruntime.RouterContext);\n const appRouter = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext);\n const router = pagesRouter != null ? pagesRouter : appRouter;\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const prefetchEnabled = prefetchProp !== false;\n /**\n * The possible states for prefetch are:\n * - null: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport\n * - true: we will prefetch if the link is visible and prefetch the full page, not just partially\n * - false: we will not prefetch if in the viewport at all\n */ const appPrefetchKind = prefetchProp === null ? _routerreducertypes.PrefetchKind.AUTO : _routerreducertypes.PrefetchKind.FULL;\n if (true) {\n function createPropError(args) {\n return new Error(\"Failed prop type: The prop `\" + args.key + \"` expects a \" + args.expected + \" in `<Link>`, but got `\" + args.actual + \"` instead.\" + ( false ? 0 : \"\"));\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === \"href\") {\n if (props[key] == null || typeof props[key] !== \"string\" && typeof props[key] !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: props[key] === null ? \"null\" : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === \"as\") {\n if (props[key] && valType !== \"string\" && valType !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: valType\n });\n }\n } else if (key === \"locale\") {\n if (props[key] && valType !== \"string\") {\n throw createPropError({\n key,\n expected: \"`string`\",\n actual: valType\n });\n }\n } else if (key === \"onClick\" || key === \"onMouseEnter\" || key === \"onTouchStart\") {\n if (props[key] && valType !== \"function\") {\n throw createPropError({\n key,\n expected: \"`function`\",\n actual: valType\n });\n }\n } else if (key === \"replace\" || key === \"scroll\" || key === \"shallow\" || key === \"passHref\" || key === \"prefetch\" || key === \"legacyBehavior\") {\n if (props[key] != null && valType !== \"boolean\") {\n throw createPropError({\n key,\n expected: \"`boolean`\",\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const hasWarned = _react.default.useRef(false);\n if (props.prefetch && !hasWarned.current && !isAppRouter) {\n hasWarned.current = true;\n console.warn(\"Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated\");\n }\n }\n if (true) {\n if (isAppRouter && !asProp) {\n let href;\n if (typeof hrefProp === \"string\") {\n href = hrefProp;\n } else if (typeof hrefProp === \"object\" && typeof hrefProp.pathname === \"string\") {\n href = hrefProp.pathname;\n }\n if (href) {\n const hasDynamicSegment = href.split(\"/\").some((segment)=>segment.startsWith(\"[\") && segment.endsWith(\"]\"));\n if (hasDynamicSegment) {\n throw new Error(\"Dynamic href `\" + href + \"` found in <Link> while using the `/app` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href\");\n }\n }\n }\n }\n const { href, as } = _react.default.useMemo(()=>{\n if (!pagesRouter) {\n const resolvedHref = formatStringOrUrl(hrefProp);\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref\n };\n }\n const [resolvedHref, resolvedAs] = (0, _resolvehref.resolveHref)(pagesRouter, hrefProp, true);\n return {\n href: resolvedHref,\n as: asProp ? (0, _resolvehref.resolveHref)(pagesRouter, asProp) : resolvedAs || resolvedHref\n };\n }, [\n pagesRouter,\n hrefProp,\n asProp\n ]);\n const previousHref = _react.default.useRef(href);\n const previousAs = _react.default.useRef(as);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (true) {\n if (onClick) {\n console.warn('\"onClick\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link');\n }\n if (onMouseEnterProp) {\n console.warn('\"onMouseEnter\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link');\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(\"No children were passed to <Link> with `href` of `\" + hrefProp + \"` but one child is required https://nextjs.org/docs/messages/link-no-children\");\n }\n throw new Error(\"Multiple children were passed to <Link> with `href` of `\" + hrefProp + \"` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children\" + ( false ? 0 : \"\"));\n }\n } else {}\n } else {\n if (true) {\n if ((children == null ? void 0 : children.type) === \"a\") {\n throw new Error(\"Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor\");\n }\n }\n }\n const childRef = legacyBehavior ? child && typeof child === \"object\" && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useintersection.useIntersection)({\n rootMargin: \"200px\"\n });\n const setRef = _react.default.useCallback((el)=>{\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n setIntersectionRef(el);\n if (childRef) {\n if (typeof childRef === \"function\") childRef(el);\n else if (typeof childRef === \"object\") {\n childRef.current = el;\n }\n }\n }, [\n as,\n childRef,\n href,\n resetVisible,\n setIntersectionRef\n ]);\n // Prefetch the URL if we haven't already and it's visible.\n _react.default.useEffect(()=>{\n // in dev, we only prefetch on hover to avoid wasting resources as the prefetch will trigger compiling the page.\n if (true) {\n return;\n }\n if (!router) {\n return;\n }\n // If we don't need to prefetch the URL, don't do prefetch.\n if (!isVisible || !prefetchEnabled) {\n return;\n }\n // Prefetch the URL.\n prefetch(router, href, as, {\n locale\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }, [\n as,\n href,\n isVisible,\n locale,\n prefetchEnabled,\n pagesRouter == null ? void 0 : pagesRouter.locale,\n router,\n isAppRouter,\n appPrefetchKind\n ]);\n const childProps = {\n ref: setRef,\n onClick (e) {\n if (true) {\n if (!e) {\n throw new Error('Component rendered inside next/link has to pass click event to \"onClick\" prop.');\n }\n }\n if (!legacyBehavior && typeof onClick === \"function\") {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === \"function\") {\n child.props.onClick(e);\n }\n if (!router) {\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter);\n },\n onMouseEnter (e) {\n if (!legacyBehavior && typeof onMouseEnterProp === \"function\") {\n onMouseEnterProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === \"function\") {\n child.props.onMouseEnter(e);\n }\n if (!router) {\n return;\n }\n if ((!prefetchEnabled || \"development\" === \"development\") && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n },\n onTouchStart (e) {\n if (!legacyBehavior && typeof onTouchStartProp === \"function\") {\n onTouchStartProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === \"function\") {\n child.props.onTouchStart(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }\n };\n // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user.\n // If the url is absolute, we can bypass the logic to prepend the domain and locale.\n if ((0, _utils.isAbsoluteUrl)(as)) {\n childProps.href = as;\n } else if (!legacyBehavior || passHref || child.type === \"a\" && !(\"href\" in child.props)) {\n const curLocale = typeof locale !== \"undefined\" ? locale : pagesRouter == null ? void 0 : pagesRouter.locale;\n // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n const localeDomain = (pagesRouter == null ? void 0 : pagesRouter.isLocaleDomain) && (0, _getdomainlocale.getDomainLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.locales, pagesRouter == null ? void 0 : pagesRouter.domainLocales);\n childProps.href = localeDomain || (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.defaultLocale));\n }\n return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n ...restProps,\n ...childProps,\n children: children\n });\n});\nconst _default = Link;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=link.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9saW5rLmpzIiwibWFwcGluZ3MiOiJxREFFYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsTUFBTUksZUFBZUosbUJBQU9BLENBQUMsNkVBQWdCO0FBQzdDLE1BQU1LLGNBQWNMLG1CQUFPQSxDQUFDLHVIQUF5QztBQUNyRSxNQUFNTSxhQUFhTixtQkFBT0EsQ0FBQyxtSEFBdUM7QUFDbEUsTUFBTU8sU0FBU1AsbUJBQU9BLENBQUMsK0VBQXFCO0FBQzVDLE1BQU1RLGFBQWFSLG1CQUFPQSxDQUFDLHlFQUFjO0FBQ3pDLE1BQU1TLDhCQUE4QlQsbUJBQU9BLENBQUMsNEpBQTZDO0FBQ3pGLE1BQU1VLGlDQUFpQ1YsbUJBQU9BLENBQUMsb0tBQWlEO0FBQ2hHLE1BQU1XLG1CQUFtQlgsbUJBQU9BLENBQUMscUZBQW9CO0FBQ3JELE1BQU1ZLG1CQUFtQlosbUJBQU9BLENBQUMsdUZBQXFCO0FBQ3RELE1BQU1hLGVBQWViLG1CQUFPQSxDQUFDLCtFQUFpQjtBQUM5QyxNQUFNYyxzQkFBc0JkLG1CQUFPQSxDQUFDLGlKQUFrRDtBQUN0RixNQUFNZSxhQUFhLElBQUlDO0FBQ3ZCLFNBQVNDLFNBQVNDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxFQUFFLEVBQUVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFQyxXQUFXO0lBQ2hFLElBQUksSUFBNkIsRUFBRTtRQUMvQjtJQUNKO0lBQ0EsZ0pBQWdKO0lBQ2hKLElBQUksQ0FBQ0EsZUFBZSxDQUFDLENBQUMsR0FBR2xCLFlBQVltQixVQUFVLEVBQUVMLE9BQU87UUFDcEQ7SUFDSjtJQUNBLDRFQUE0RTtJQUM1RSxZQUFZO0lBQ1osSUFBSSxDQUFDRSxRQUFRSSxxQkFBcUIsRUFBRTtRQUNoQyxNQUFNQyxTQUNOLE9BQU9MLFFBQVFLLE1BQU0sS0FBSyxjQUFjTCxRQUFRSyxNQUFNLEdBQUcsWUFBWVIsU0FBU0EsT0FBT1EsTUFBTSxHQUFHQztRQUM5RixNQUFNQyxnQkFBZ0JULE9BQU8sTUFBTUMsS0FBSyxNQUFNTTtRQUM5QyxrRUFBa0U7UUFDbEUsSUFBSVgsV0FBV2MsR0FBRyxDQUFDRCxnQkFBZ0I7WUFDL0I7UUFDSjtRQUNBLCtCQUErQjtRQUMvQmIsV0FBV2UsR0FBRyxDQUFDRjtJQUNuQjtJQUNBLE1BQU1HLGtCQUFrQlIsY0FBY0wsT0FBT0QsUUFBUSxDQUFDRSxNQUFNRyxjQUFjSixPQUFPRCxRQUFRLENBQUNFLE1BQU1DLElBQUlDO0lBQ3BHLHVEQUF1RDtJQUN2RCwwREFBMEQ7SUFDMUQsc0RBQXNEO0lBQ3RELHlEQUF5RDtJQUN6RFcsUUFBUUMsT0FBTyxDQUFDRixpQkFBaUJHLEtBQUssQ0FBQyxDQUFDQztRQUNwQyxJQUFJQyxJQUFxQyxFQUFFO1lBQ3ZDLHFDQUFxQztZQUNyQyxNQUFNRDtRQUNWO0lBQ0o7QUFDSjtBQUNBLFNBQVNFLGdCQUFnQkMsS0FBSztJQUMxQixNQUFNQyxjQUFjRCxNQUFNRSxhQUFhO0lBQ3ZDLE1BQU1DLFNBQVNGLFlBQVlHLFlBQVksQ0FBQztJQUN4QyxPQUFPRCxVQUFVQSxXQUFXLFdBQVdILE1BQU1LLE9BQU8sSUFBSUwsTUFBTU0sT0FBTyxJQUFJTixNQUFNTyxRQUFRLElBQUlQLE1BQU1RLE1BQU0sSUFBSSw2QkFBNkI7SUFDeElSLE1BQU1TLFdBQVcsSUFBSVQsTUFBTVMsV0FBVyxDQUFDQyxLQUFLLEtBQUs7QUFDckQ7QUFDQSxTQUFTQyxZQUFZQyxDQUFDLEVBQUVoQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsRUFBRSxFQUFFK0IsT0FBTyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRTNCLE1BQU0sRUFBRUgsV0FBVztJQUNuRixNQUFNLEVBQUUrQixRQUFRLEVBQUUsR0FBR0osRUFBRVYsYUFBYTtJQUNwQyxrREFBa0Q7SUFDbEQsTUFBTWUsbUJBQW1CRCxTQUFTRSxXQUFXLE9BQU87SUFDcEQsSUFBSUQsb0JBQXFCbEIsQ0FBQUEsZ0JBQWdCYSxNQUFNLGdKQUFnSjtJQUMvTCxDQUFDM0IsZUFBZSxDQUFDLENBQUMsR0FBR2xCLFlBQVltQixVQUFVLEVBQUVMLEtBQUksR0FBSTtRQUNqRCw4Q0FBOEM7UUFDOUM7SUFDSjtJQUNBK0IsRUFBRU8sY0FBYztJQUNoQixNQUFNQyxXQUFXO1FBQ2Isd0VBQXdFO1FBQ3hFLE1BQU1DLGVBQWVOLFVBQVUsT0FBT0EsU0FBUztRQUMvQyxJQUFJLG9CQUFvQm5DLFFBQVE7WUFDNUJBLE1BQU0sQ0FBQ2lDLFVBQVUsWUFBWSxPQUFPLENBQUNoQyxNQUFNQyxJQUFJO2dCQUMzQ2dDO2dCQUNBMUI7Z0JBQ0EyQixRQUFRTTtZQUNaO1FBQ0osT0FBTztZQUNIekMsTUFBTSxDQUFDaUMsVUFBVSxZQUFZLE9BQU8sQ0FBQy9CLE1BQU1ELE1BQU07Z0JBQzdDa0MsUUFBUU07WUFDWjtRQUNKO0lBQ0o7SUFDQSxJQUFJcEMsYUFBYTtRQUNickIsT0FBTzBELE9BQU8sQ0FBQ0MsZUFBZSxDQUFDSDtJQUNuQyxPQUFPO1FBQ0hBO0lBQ0o7QUFDSjtBQUNBLFNBQVNJLGtCQUFrQkMsY0FBYztJQUNyQyxJQUFJLE9BQU9BLG1CQUFtQixVQUFVO1FBQ3BDLE9BQU9BO0lBQ1g7SUFDQSxPQUFPLENBQUMsR0FBR3pELFdBQVcwRCxTQUFTLEVBQUVEO0FBQ3JDO0FBQ0E7O0NBRUMsR0FBRyxNQUFNRSxPQUFPLFdBQVcsR0FBRy9ELE9BQU8wRCxPQUFPLENBQUNNLFVBQVUsQ0FBQyxTQUFTQyxjQUFjQyxLQUFLLEVBQUVDLFlBQVk7SUFDL0YsSUFBSUM7SUFDSixNQUFNLEVBQUVuRCxNQUFNb0QsUUFBUSxFQUFFbkQsSUFBSW9ELE1BQU0sRUFBRUYsVUFBVUcsWUFBWSxFQUFFeEQsVUFBVXlELGVBQWUsSUFBSSxFQUFFQyxRQUFRLEVBQUV4QixPQUFPLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFM0IsTUFBTSxFQUFFa0QsT0FBTyxFQUFFQyxjQUFjQyxnQkFBZ0IsRUFBRUMsY0FBY0MsZ0JBQWdCLEVBQUVDLGlCQUFpQixLQUFLLEVBQUUsR0FBR0MsV0FBVyxHQUFHZDtJQUN6UEUsV0FBV0c7SUFDWCxJQUFJUSxrQkFBbUIsUUFBT1gsYUFBYSxZQUFZLE9BQU9BLGFBQWEsUUFBTyxHQUFJO1FBQ2xGQSxXQUF5QixXQUFILEdBQUksSUFBR3JFLFlBQVlrRixHQUFHLEVBQUUsS0FBSztZQUMvQ2IsVUFBVUE7UUFDZDtJQUNKO0lBQ0EsTUFBTWMsY0FBY2xGLE9BQU8wRCxPQUFPLENBQUN5QixVQUFVLENBQUM1RSw0QkFBNEI2RSxhQUFhO0lBQ3ZGLE1BQU1DLFlBQVlyRixPQUFPMEQsT0FBTyxDQUFDeUIsVUFBVSxDQUFDM0UsK0JBQStCOEUsZ0JBQWdCO0lBQzNGLE1BQU10RSxTQUFTa0UsZUFBZSxPQUFPQSxjQUFjRztJQUNuRCwwREFBMEQ7SUFDMUQsTUFBTWhFLGNBQWMsQ0FBQzZEO0lBQ3JCLE1BQU1LLGtCQUFrQmYsaUJBQWlCO0lBQ3pDOzs7OztLQUtDLEdBQUcsTUFBTWdCLGtCQUFrQmhCLGlCQUFpQixPQUFPNUQsb0JBQW9CNkUsWUFBWSxDQUFDQyxJQUFJLEdBQUc5RSxvQkFBb0I2RSxZQUFZLENBQUNFLElBQUk7SUFDakksSUFBSXpELElBQXFDLEVBQUU7UUFDdkMsU0FBUzBELGdCQUFnQkMsSUFBSTtZQUN6QixPQUFPLElBQUlDLE1BQU0saUNBQWlDRCxLQUFLRSxHQUFHLEdBQUcsaUJBQWlCRixLQUFLRyxRQUFRLEdBQUcsNEJBQTRCSCxLQUFLSSxNQUFNLEdBQUcsZUFBZ0IsT0FBNkIsR0FBRyxDQUFrRSxHQUFHLEVBQUM7UUFDbFE7UUFDQSxzQ0FBc0M7UUFDdEMsTUFBTUMscUJBQXFCO1lBQ3ZCakYsTUFBTTtRQUNWO1FBQ0EsTUFBTWtGLGdCQUFnQjdHLE9BQU84RyxJQUFJLENBQUNGO1FBQ2xDQyxjQUFjRSxPQUFPLENBQUMsQ0FBQ047WUFDbkIsSUFBSUEsUUFBUSxRQUFRO2dCQUNoQixJQUFJN0IsS0FBSyxDQUFDNkIsSUFBSSxJQUFJLFFBQVEsT0FBTzdCLEtBQUssQ0FBQzZCLElBQUksS0FBSyxZQUFZLE9BQU83QixLQUFLLENBQUM2QixJQUFJLEtBQUssVUFBVTtvQkFDeEYsTUFBTUgsZ0JBQWdCO3dCQUNsQkc7d0JBQ0FDLFVBQVU7d0JBQ1ZDLFFBQVEvQixLQUFLLENBQUM2QixJQUFJLEtBQUssT0FBTyxTQUFTLE9BQU83QixLQUFLLENBQUM2QixJQUFJO29CQUM1RDtnQkFDSjtZQUNKLE9BQU87Z0JBQ0gsc0NBQXNDO2dCQUN0Qyw2REFBNkQ7Z0JBQzdELE1BQU05RixJQUFJOEY7WUFDZDtRQUNKO1FBQ0Esc0NBQXNDO1FBQ3RDLE1BQU1PLHFCQUFxQjtZQUN2QnBGLElBQUk7WUFDSitCLFNBQVM7WUFDVEUsUUFBUTtZQUNSRCxTQUFTO1lBQ1R1QixVQUFVO1lBQ1YxRCxVQUFVO1lBQ1ZTLFFBQVE7WUFDUmtELFNBQVM7WUFDVEMsY0FBYztZQUNkRSxjQUFjO1lBQ2RFLGdCQUFnQjtRQUNwQjtRQUNBLE1BQU13QixnQkFBZ0JqSCxPQUFPOEcsSUFBSSxDQUFDRTtRQUNsQ0MsY0FBY0YsT0FBTyxDQUFDLENBQUNOO1lBQ25CLE1BQU1TLFVBQVUsT0FBT3RDLEtBQUssQ0FBQzZCLElBQUk7WUFDakMsSUFBSUEsUUFBUSxNQUFNO2dCQUNkLElBQUk3QixLQUFLLENBQUM2QixJQUFJLElBQUlTLFlBQVksWUFBWUEsWUFBWSxVQUFVO29CQUM1RCxNQUFNWixnQkFBZ0I7d0JBQ2xCRzt3QkFDQUMsVUFBVTt3QkFDVkMsUUFBUU87b0JBQ1o7Z0JBQ0o7WUFDSixPQUFPLElBQUlULFFBQVEsVUFBVTtnQkFDekIsSUFBSTdCLEtBQUssQ0FBQzZCLElBQUksSUFBSVMsWUFBWSxVQUFVO29CQUNwQyxNQUFNWixnQkFBZ0I7d0JBQ2xCRzt3QkFDQUMsVUFBVTt3QkFDVkMsUUFBUU87b0JBQ1o7Z0JBQ0o7WUFDSixPQUFPLElBQUlULFFBQVEsYUFBYUEsUUFBUSxrQkFBa0JBLFFBQVEsZ0JBQWdCO2dCQUM5RSxJQUFJN0IsS0FBSyxDQUFDNkIsSUFBSSxJQUFJUyxZQUFZLFlBQVk7b0JBQ3RDLE1BQU1aLGdCQUFnQjt3QkFDbEJHO3dCQUNBQyxVQUFVO3dCQUNWQyxRQUFRTztvQkFDWjtnQkFDSjtZQUNKLE9BQU8sSUFBSVQsUUFBUSxhQUFhQSxRQUFRLFlBQVlBLFFBQVEsYUFBYUEsUUFBUSxjQUFjQSxRQUFRLGNBQWNBLFFBQVEsa0JBQWtCO2dCQUMzSSxJQUFJN0IsS0FBSyxDQUFDNkIsSUFBSSxJQUFJLFFBQVFTLFlBQVksV0FBVztvQkFDN0MsTUFBTVosZ0JBQWdCO3dCQUNsQkc7d0JBQ0FDLFVBQVU7d0JBQ1ZDLFFBQVFPO29CQUNaO2dCQUNKO1lBQ0osT0FBTztnQkFDSCxzQ0FBc0M7Z0JBQ3RDLDZEQUE2RDtnQkFDN0QsTUFBTXZHLElBQUk4RjtZQUNkO1FBQ0o7UUFDQSw0RkFBNEY7UUFDNUYsc0RBQXNEO1FBQ3RELE1BQU1VLFlBQVl6RyxPQUFPMEQsT0FBTyxDQUFDZ0QsTUFBTSxDQUFDO1FBQ3hDLElBQUl4QyxNQUFNbkQsUUFBUSxJQUFJLENBQUMwRixVQUFVRSxPQUFPLElBQUksQ0FBQ3RGLGFBQWE7WUFDdERvRixVQUFVRSxPQUFPLEdBQUc7WUFDcEJDLFFBQVFDLElBQUksQ0FBQztRQUNqQjtJQUNKO0lBQ0EsSUFBSTNFLElBQXFDLEVBQUU7UUFDdkMsSUFBSWIsZUFBZSxDQUFDaUQsUUFBUTtZQUN4QixJQUFJckQ7WUFDSixJQUFJLE9BQU9vRCxhQUFhLFVBQVU7Z0JBQzlCcEQsT0FBT29EO1lBQ1gsT0FBTyxJQUFJLE9BQU9BLGFBQWEsWUFBWSxPQUFPQSxTQUFTeUMsUUFBUSxLQUFLLFVBQVU7Z0JBQzlFN0YsT0FBT29ELFNBQVN5QyxRQUFRO1lBQzVCO1lBQ0EsSUFBSTdGLE1BQU07Z0JBQ04sTUFBTThGLG9CQUFvQjlGLEtBQUsrRixLQUFLLENBQUMsS0FBS0MsSUFBSSxDQUFDLENBQUNDLFVBQVVBLFFBQVFDLFVBQVUsQ0FBQyxRQUFRRCxRQUFRRSxRQUFRLENBQUM7Z0JBQ3RHLElBQUlMLG1CQUFtQjtvQkFDbkIsTUFBTSxJQUFJakIsTUFBTSxtQkFBbUI3RSxPQUFPO2dCQUM5QztZQUNKO1FBQ0o7SUFDSjtJQUNBLE1BQU0sRUFBRUEsSUFBSSxFQUFFQyxFQUFFLEVBQUUsR0FBR2xCLE9BQU8wRCxPQUFPLENBQUMyRCxPQUFPLENBQUM7UUFDeEMsSUFBSSxDQUFDbkMsYUFBYTtZQUNkLE1BQU1vQyxlQUFlMUQsa0JBQWtCUztZQUN2QyxPQUFPO2dCQUNIcEQsTUFBTXFHO2dCQUNOcEcsSUFBSW9ELFNBQVNWLGtCQUFrQlUsVUFBVWdEO1lBQzdDO1FBQ0o7UUFDQSxNQUFNLENBQUNBLGNBQWNDLFdBQVcsR0FBRyxDQUFDLEdBQUdySCxhQUFhc0gsV0FBVyxFQUFFdEMsYUFBYWIsVUFBVTtRQUN4RixPQUFPO1lBQ0hwRCxNQUFNcUc7WUFDTnBHLElBQUlvRCxTQUFTLENBQUMsR0FBR3BFLGFBQWFzSCxXQUFXLEVBQUV0QyxhQUFhWixVQUFVaUQsY0FBY0Q7UUFDcEY7SUFDSixHQUFHO1FBQ0NwQztRQUNBYjtRQUNBQztLQUNIO0lBQ0QsTUFBTW1ELGVBQWV6SCxPQUFPMEQsT0FBTyxDQUFDZ0QsTUFBTSxDQUFDekY7SUFDM0MsTUFBTXlHLGFBQWExSCxPQUFPMEQsT0FBTyxDQUFDZ0QsTUFBTSxDQUFDeEY7SUFDekMsb0ZBQW9GO0lBQ3BGLElBQUl5RztJQUNKLElBQUk1QyxnQkFBZ0I7UUFDaEIsSUFBSTdDLElBQXNDLEVBQUU7WUFDeEMsSUFBSXdDLFNBQVM7Z0JBQ1RrQyxRQUFRQyxJQUFJLENBQUMsb0RBQW9EeEMsV0FBVztZQUNoRjtZQUNBLElBQUlPLGtCQUFrQjtnQkFDbEJnQyxRQUFRQyxJQUFJLENBQUMseURBQXlEeEMsV0FBVztZQUNyRjtZQUNBLElBQUk7Z0JBQ0FzRCxRQUFRM0gsT0FBTzBELE9BQU8sQ0FBQ2tFLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDekQ7WUFDekMsRUFBRSxPQUFPbkMsS0FBSztnQkFDVixJQUFJLENBQUNtQyxVQUFVO29CQUNYLE1BQU0sSUFBSTBCLE1BQU0sdURBQXVEekIsV0FBVztnQkFDdEY7Z0JBQ0EsTUFBTSxJQUFJeUIsTUFBTSw2REFBNkR6QixXQUFXLDhGQUErRixPQUE2QixHQUFHLENBQW1FLEdBQUcsRUFBQztZQUNsUztRQUNKLE9BQU8sRUFFTjtJQUNMLE9BQU87UUFDSCxJQUFJbkMsSUFBc0MsRUFBRTtZQUN4QyxJQUFJLENBQUNrQyxZQUFZLE9BQU8sS0FBSyxJQUFJQSxTQUFTMEQsSUFBSSxNQUFNLEtBQUs7Z0JBQ3JELE1BQU0sSUFBSWhDLE1BQU07WUFDcEI7UUFDSjtJQUNKO0lBQ0EsTUFBTWlDLFdBQVdoRCxpQkFBaUI0QyxTQUFTLE9BQU9BLFVBQVUsWUFBWUEsTUFBTUssR0FBRyxHQUFHN0Q7SUFDcEYsTUFBTSxDQUFDOEQsb0JBQW9CQyxXQUFXQyxhQUFhLEdBQUcsQ0FBQyxHQUFHMUgsaUJBQWlCMkgsZUFBZSxFQUFFO1FBQ3hGQyxZQUFZO0lBQ2hCO0lBQ0EsTUFBTUMsU0FBU3RJLE9BQU8wRCxPQUFPLENBQUM2RSxXQUFXLENBQUMsQ0FBQ0M7UUFDdkMsNEVBQTRFO1FBQzVFLElBQUlkLFdBQVdmLE9BQU8sS0FBS3pGLE1BQU11RyxhQUFhZCxPQUFPLEtBQUsxRixNQUFNO1lBQzVEa0g7WUFDQVQsV0FBV2YsT0FBTyxHQUFHekY7WUFDckJ1RyxhQUFhZCxPQUFPLEdBQUcxRjtRQUMzQjtRQUNBZ0gsbUJBQW1CTztRQUNuQixJQUFJVCxVQUFVO1lBQ1YsSUFBSSxPQUFPQSxhQUFhLFlBQVlBLFNBQVNTO2lCQUN4QyxJQUFJLE9BQU9ULGFBQWEsVUFBVTtnQkFDbkNBLFNBQVNwQixPQUFPLEdBQUc2QjtZQUN2QjtRQUNKO0lBQ0osR0FBRztRQUNDdEg7UUFDQTZHO1FBQ0E5RztRQUNBa0g7UUFDQUY7S0FDSDtJQUNELDJEQUEyRDtJQUMzRGpJLE9BQU8wRCxPQUFPLENBQUMrRSxTQUFTLENBQUM7UUFDckIsZ0hBQWdIO1FBQ2hILElBQUl2RyxJQUFxQyxFQUFFO1lBQ3ZDO1FBQ0o7UUFDQSxJQUFJLENBQUNsQixRQUFRO1lBQ1Q7UUFDSjtRQUNBLDJEQUEyRDtRQUMzRCxJQUFJLENBQUNrSCxhQUFhLENBQUMzQyxpQkFBaUI7WUFDaEM7UUFDSjtRQUNBLG9CQUFvQjtRQUNwQnhFLFNBQVNDLFFBQVFDLE1BQU1DLElBQUk7WUFDdkJNO1FBQ0osR0FBRztZQUNDa0gsTUFBTWxEO1FBQ1YsR0FBR25FO0lBQ1AsR0FBRztRQUNDSDtRQUNBRDtRQUNBaUg7UUFDQTFHO1FBQ0ErRDtRQUNBTCxlQUFlLE9BQU8sS0FBSyxJQUFJQSxZQUFZMUQsTUFBTTtRQUNqRFI7UUFDQUs7UUFDQW1FO0tBQ0g7SUFDRCxNQUFNbUQsYUFBYTtRQUNmWCxLQUFLTTtRQUNMNUQsU0FBUzFCLENBQUM7WUFDTixJQUFJZCxJQUFxQyxFQUFFO2dCQUN2QyxJQUFJLENBQUNjLEdBQUc7b0JBQ0osTUFBTSxJQUFJOEMsTUFBTTtnQkFDcEI7WUFDSjtZQUNBLElBQUksQ0FBQ2Ysa0JBQWtCLE9BQU9MLFlBQVksWUFBWTtnQkFDbERBLFFBQVExQjtZQUNaO1lBQ0EsSUFBSStCLGtCQUFrQjRDLE1BQU16RCxLQUFLLElBQUksT0FBT3lELE1BQU16RCxLQUFLLENBQUNRLE9BQU8sS0FBSyxZQUFZO2dCQUM1RWlELE1BQU16RCxLQUFLLENBQUNRLE9BQU8sQ0FBQzFCO1lBQ3hCO1lBQ0EsSUFBSSxDQUFDaEMsUUFBUTtnQkFDVDtZQUNKO1lBQ0EsSUFBSWdDLEVBQUU0RixnQkFBZ0IsRUFBRTtnQkFDcEI7WUFDSjtZQUNBN0YsWUFBWUMsR0FBR2hDLFFBQVFDLE1BQU1DLElBQUkrQixTQUFTQyxTQUFTQyxRQUFRM0IsUUFBUUg7UUFDdkU7UUFDQXNELGNBQWMzQixDQUFDO1lBQ1gsSUFBSSxDQUFDK0Isa0JBQWtCLE9BQU9ILHFCQUFxQixZQUFZO2dCQUMzREEsaUJBQWlCNUI7WUFDckI7WUFDQSxJQUFJK0Isa0JBQWtCNEMsTUFBTXpELEtBQUssSUFBSSxPQUFPeUQsTUFBTXpELEtBQUssQ0FBQ1MsWUFBWSxLQUFLLFlBQVk7Z0JBQ2pGZ0QsTUFBTXpELEtBQUssQ0FBQ1MsWUFBWSxDQUFDM0I7WUFDN0I7WUFDQSxJQUFJLENBQUNoQyxRQUFRO2dCQUNUO1lBQ0o7WUFDQSxJQUFJLENBQUMsQ0FBQ3VFLG1CQUFtQnJELGtCQUF5QixhQUFZLEtBQU1iLGFBQWE7Z0JBQzdFO1lBQ0o7WUFDQU4sU0FBU0MsUUFBUUMsTUFBTUMsSUFBSTtnQkFDdkJNO2dCQUNBcUgsVUFBVTtnQkFDVixnR0FBZ0c7Z0JBQ2hHdEgsdUJBQXVCO1lBQzNCLEdBQUc7Z0JBQ0NtSCxNQUFNbEQ7WUFDVixHQUFHbkU7UUFDUDtRQUNBd0QsY0FBYzdCLENBQUM7WUFDWCxJQUFJLENBQUMrQixrQkFBa0IsT0FBT0QscUJBQXFCLFlBQVk7Z0JBQzNEQSxpQkFBaUI5QjtZQUNyQjtZQUNBLElBQUkrQixrQkFBa0I0QyxNQUFNekQsS0FBSyxJQUFJLE9BQU95RCxNQUFNekQsS0FBSyxDQUFDVyxZQUFZLEtBQUssWUFBWTtnQkFDakY4QyxNQUFNekQsS0FBSyxDQUFDVyxZQUFZLENBQUM3QjtZQUM3QjtZQUNBLElBQUksQ0FBQ2hDLFFBQVE7Z0JBQ1Q7WUFDSjtZQUNBLElBQUksQ0FBQ3VFLG1CQUFtQmxFLGFBQWE7Z0JBQ2pDO1lBQ0o7WUFDQU4sU0FBU0MsUUFBUUMsTUFBTUMsSUFBSTtnQkFDdkJNO2dCQUNBcUgsVUFBVTtnQkFDVixnR0FBZ0c7Z0JBQ2hHdEgsdUJBQXVCO1lBQzNCLEdBQUc7Z0JBQ0NtSCxNQUFNbEQ7WUFDVixHQUFHbkU7UUFDUDtJQUNKO0lBQ0EsNkZBQTZGO0lBQzdGLHdGQUF3RjtJQUN4RixvRkFBb0Y7SUFDcEYsSUFBSSxDQUFDLEdBQUdoQixPQUFPeUksYUFBYSxFQUFFNUgsS0FBSztRQUMvQnlILFdBQVcxSCxJQUFJLEdBQUdDO0lBQ3RCLE9BQU8sSUFBSSxDQUFDNkQsa0JBQWtCTixZQUFZa0QsTUFBTUcsSUFBSSxLQUFLLE9BQU8sQ0FBRSxXQUFVSCxNQUFNekQsS0FBSyxHQUFHO1FBQ3RGLE1BQU02RSxZQUFZLE9BQU92SCxXQUFXLGNBQWNBLFNBQVMwRCxlQUFlLE9BQU8sS0FBSyxJQUFJQSxZQUFZMUQsTUFBTTtRQUM1Ryx1RUFBdUU7UUFDdkUsdUVBQXVFO1FBQ3ZFLE1BQU13SCxlQUFlLENBQUM5RCxlQUFlLE9BQU8sS0FBSyxJQUFJQSxZQUFZK0QsY0FBYyxLQUFLLENBQUMsR0FBR3ZJLGlCQUFpQndJLGVBQWUsRUFBRWhJLElBQUk2SCxXQUFXN0QsZUFBZSxPQUFPLEtBQUssSUFBSUEsWUFBWWlFLE9BQU8sRUFBRWpFLGVBQWUsT0FBTyxLQUFLLElBQUlBLFlBQVlrRSxhQUFhO1FBQ3JQVCxXQUFXMUgsSUFBSSxHQUFHK0gsZ0JBQWdCLENBQUMsR0FBR3JJLGFBQWEwSSxXQUFXLEVBQUUsQ0FBQyxHQUFHL0ksV0FBV2dKLFNBQVMsRUFBRXBJLElBQUk2SCxXQUFXN0QsZUFBZSxPQUFPLEtBQUssSUFBSUEsWUFBWXFFLGFBQWE7SUFDcks7SUFDQSxPQUFPeEUsaUJBQWlCLFdBQVcsR0FBRy9FLE9BQU8wRCxPQUFPLENBQUM4RixZQUFZLENBQUM3QixPQUFPZ0IsY0FBNEIsV0FBSCxHQUFJLElBQUc1SSxZQUFZa0YsR0FBRyxFQUFFLEtBQUs7UUFDM0gsR0FBR0QsU0FBUztRQUNaLEdBQUcyRCxVQUFVO1FBQ2J2RSxVQUFVQTtJQUNkO0FBQ0o7QUFDQSxNQUFNeEUsV0FBV21FO0FBRWpCLElBQUksQ0FBQyxPQUFPdkUsUUFBUWtFLE9BQU8sS0FBSyxjQUFlLE9BQU9sRSxRQUFRa0UsT0FBTyxLQUFLLFlBQVlsRSxRQUFRa0UsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPbEUsUUFBUWtFLE9BQU8sQ0FBQytGLFVBQVUsS0FBSyxhQUFhO0lBQ3JLbkssT0FBT0MsY0FBYyxDQUFDQyxRQUFRa0UsT0FBTyxFQUFFLGNBQWM7UUFBRWpFLE9BQU87SUFBSztJQUNuRUgsT0FBT29LLE1BQU0sQ0FBQ2xLLFFBQVFrRSxPQUFPLEVBQUVsRTtJQUMvQm1LLE9BQU9uSyxPQUFPLEdBQUdBLFFBQVFrRSxPQUFPO0FBQ2xDLEVBRUEsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvbGluay5qcz9lNGY5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9kZWZhdWx0O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3Jlc29sdmVocmVmID0gcmVxdWlyZShcIi4vcmVzb2x2ZS1ocmVmXCIpO1xuY29uc3QgX2lzbG9jYWx1cmwgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsXCIpO1xuY29uc3QgX2Zvcm1hdHVybCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9mb3JtYXQtdXJsXCIpO1xuY29uc3QgX3V0aWxzID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvdXRpbHNcIik7XG5jb25zdCBfYWRkbG9jYWxlID0gcmVxdWlyZShcIi4vYWRkLWxvY2FsZVwiKTtcbmNvbnN0IF9yb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY29uc3QgX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY29uc3QgX3VzZWludGVyc2VjdGlvbiA9IHJlcXVpcmUoXCIuL3VzZS1pbnRlcnNlY3Rpb25cIik7XG5jb25zdCBfZ2V0ZG9tYWlubG9jYWxlID0gcmVxdWlyZShcIi4vZ2V0LWRvbWFpbi1sb2NhbGVcIik7XG5jb25zdCBfYWRkYmFzZXBhdGggPSByZXF1aXJlKFwiLi9hZGQtYmFzZS1wYXRoXCIpO1xuY29uc3QgX3JvdXRlcnJlZHVjZXJ0eXBlcyA9IHJlcXVpcmUoXCIuL2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXItdHlwZXNcIik7XG5jb25zdCBwcmVmZXRjaGVkID0gbmV3IFNldCgpO1xuZnVuY3Rpb24gcHJlZmV0Y2gocm91dGVyLCBocmVmLCBhcywgb3B0aW9ucywgYXBwT3B0aW9ucywgaXNBcHBSb3V0ZXIpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGFwcC1yb3V0ZXIgc3VwcG9ydHMgZXh0ZXJuYWwgdXJscyBvdXQgb2YgdGhlIGJveCBzbyBpdCBzaG91bGRuJ3Qgc2hvcnQtY2lyY3VpdCBoZXJlIGFzIHN1cHBvcnQgZm9yIGUuZy4gYHJlcGxhY2VgIGlzIGFkZGVkIGluIHRoZSBhcHAtcm91dGVyLlxuICAgIGlmICghaXNBcHBSb3V0ZXIgJiYgISgwLCBfaXNsb2NhbHVybC5pc0xvY2FsVVJMKShocmVmKSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIFdlIHNob3VsZCBvbmx5IGRlZHVwZSByZXF1ZXN0cyB3aGVuIGV4cGVyaW1lbnRhbC5vcHRpbWlzdGljQ2xpZW50Q2FjaGUgaXNcbiAgICAvLyBkaXNhYmxlZC5cbiAgICBpZiAoIW9wdGlvbnMuYnlwYXNzUHJlZmV0Y2hlZENoZWNrKSB7XG4gICAgICAgIGNvbnN0IGxvY2FsZSA9IC8vIExldCB0aGUgbGluaydzIGxvY2FsZSBwcm9wIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHJvdXRlciBsb2NhbGUuXG4gICAgICAgIHR5cGVvZiBvcHRpb25zLmxvY2FsZSAhPT0gXCJ1bmRlZmluZWRcIiA/IG9wdGlvbnMubG9jYWxlIDogXCJsb2NhbGVcIiBpbiByb3V0ZXIgPyByb3V0ZXIubG9jYWxlIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBwcmVmZXRjaGVkS2V5ID0gaHJlZiArIFwiJVwiICsgYXMgKyBcIiVcIiArIGxvY2FsZTtcbiAgICAgICAgLy8gSWYgd2UndmUgYWxyZWFkeSBmZXRjaGVkIHRoZSBrZXksIHRoZW4gZG9uJ3QgcHJlZmV0Y2ggaXQgYWdhaW4hXG4gICAgICAgIGlmIChwcmVmZXRjaGVkLmhhcyhwcmVmZXRjaGVkS2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIE1hcmsgdGhpcyBVUkwgYXMgcHJlZmV0Y2hlZC5cbiAgICAgICAgcHJlZmV0Y2hlZC5hZGQocHJlZmV0Y2hlZEtleSk7XG4gICAgfVxuICAgIGNvbnN0IHByZWZldGNoUHJvbWlzZSA9IGlzQXBwUm91dGVyID8gcm91dGVyLnByZWZldGNoKGhyZWYsIGFwcE9wdGlvbnMpIDogcm91dGVyLnByZWZldGNoKGhyZWYsIGFzLCBvcHRpb25zKTtcbiAgICAvLyBQcmVmZXRjaCB0aGUgSlNPTiBwYWdlIGlmIGFza2VkIChvbmx5IGluIHRoZSBjbGllbnQpXG4gICAgLy8gV2UgbmVlZCB0byBoYW5kbGUgYSBwcmVmZXRjaCBlcnJvciBoZXJlIHNpbmNlIHdlIG1heSBiZVxuICAgIC8vIGxvYWRpbmcgd2l0aCBwcmlvcml0eSB3aGljaCBjYW4gcmVqZWN0IGJ1dCB3ZSBkb24ndFxuICAgIC8vIHdhbnQgdG8gZm9yY2UgbmF2aWdhdGlvbiBzaW5jZSB0aGlzIGlzIG9ubHkgYSBwcmVmZXRjaFxuICAgIFByb21pc2UucmVzb2x2ZShwcmVmZXRjaFByb21pc2UpLmNhdGNoKChlcnIpPT57XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIC8vIHJldGhyb3cgdG8gc2hvdyBpbnZhbGlkIFVSTCBlcnJvcnNcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuZnVuY3Rpb24gaXNNb2RpZmllZEV2ZW50KGV2ZW50KSB7XG4gICAgY29uc3QgZXZlbnRUYXJnZXQgPSBldmVudC5jdXJyZW50VGFyZ2V0O1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50VGFyZ2V0LmdldEF0dHJpYnV0ZShcInRhcmdldFwiKTtcbiAgICByZXR1cm4gdGFyZ2V0ICYmIHRhcmdldCAhPT0gXCJfc2VsZlwiIHx8IGV2ZW50Lm1ldGFLZXkgfHwgZXZlbnQuY3RybEtleSB8fCBldmVudC5zaGlmdEtleSB8fCBldmVudC5hbHRLZXkgfHwgLy8gdHJpZ2dlcnMgcmVzb3VyY2UgZG93bmxvYWRcbiAgICBldmVudC5uYXRpdmVFdmVudCAmJiBldmVudC5uYXRpdmVFdmVudC53aGljaCA9PT0gMjtcbn1cbmZ1bmN0aW9uIGxpbmtDbGlja2VkKGUsIHJvdXRlciwgaHJlZiwgYXMsIHJlcGxhY2UsIHNoYWxsb3csIHNjcm9sbCwgbG9jYWxlLCBpc0FwcFJvdXRlcikge1xuICAgIGNvbnN0IHsgbm9kZU5hbWUgfSA9IGUuY3VycmVudFRhcmdldDtcbiAgICAvLyBhbmNob3JzIGluc2lkZSBhbiBzdmcgaGF2ZSBhIGxvd2VyY2FzZSBub2RlTmFtZVxuICAgIGNvbnN0IGlzQW5jaG9yTm9kZU5hbWUgPSBub2RlTmFtZS50b1VwcGVyQ2FzZSgpID09PSBcIkFcIjtcbiAgICBpZiAoaXNBbmNob3JOb2RlTmFtZSAmJiAoaXNNb2RpZmllZEV2ZW50KGUpIHx8IC8vIGFwcC1yb3V0ZXIgc3VwcG9ydHMgZXh0ZXJuYWwgdXJscyBvdXQgb2YgdGhlIGJveCBzbyBpdCBzaG91bGRuJ3Qgc2hvcnQtY2lyY3VpdCBoZXJlIGFzIHN1cHBvcnQgZm9yIGUuZy4gYHJlcGxhY2VgIGlzIGFkZGVkIGluIHRoZSBhcHAtcm91dGVyLlxuICAgICFpc0FwcFJvdXRlciAmJiAhKDAsIF9pc2xvY2FsdXJsLmlzTG9jYWxVUkwpKGhyZWYpKSkge1xuICAgICAgICAvLyBpZ25vcmUgY2xpY2sgZm9yIGJyb3dzZXLigJlzIGRlZmF1bHQgYmVoYXZpb3JcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgbmF2aWdhdGUgPSAoKT0+e1xuICAgICAgICAvLyBJZiB0aGUgcm91dGVyIGlzIGFuIE5leHRSb3V0ZXIgaW5zdGFuY2UgaXQgd2lsbCBoYXZlIGBiZWZvcmVQb3BTdGF0ZWBcbiAgICAgICAgY29uc3Qgcm91dGVyU2Nyb2xsID0gc2Nyb2xsICE9IG51bGwgPyBzY3JvbGwgOiB0cnVlO1xuICAgICAgICBpZiAoXCJiZWZvcmVQb3BTdGF0ZVwiIGluIHJvdXRlcikge1xuICAgICAgICAgICAgcm91dGVyW3JlcGxhY2UgPyBcInJlcGxhY2VcIiA6IFwicHVzaFwiXShocmVmLCBhcywge1xuICAgICAgICAgICAgICAgIHNoYWxsb3csXG4gICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgIHNjcm9sbDogcm91dGVyU2Nyb2xsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJvdXRlcltyZXBsYWNlID8gXCJyZXBsYWNlXCIgOiBcInB1c2hcIl0oYXMgfHwgaHJlZiwge1xuICAgICAgICAgICAgICAgIHNjcm9sbDogcm91dGVyU2Nyb2xsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgaWYgKGlzQXBwUm91dGVyKSB7XG4gICAgICAgIF9yZWFjdC5kZWZhdWx0LnN0YXJ0VHJhbnNpdGlvbihuYXZpZ2F0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbmF2aWdhdGUoKTtcbiAgICB9XG59XG5mdW5jdGlvbiBmb3JtYXRTdHJpbmdPclVybCh1cmxPYmpPclN0cmluZykge1xuICAgIGlmICh0eXBlb2YgdXJsT2JqT3JTdHJpbmcgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIHVybE9iak9yU3RyaW5nO1xuICAgIH1cbiAgICByZXR1cm4gKDAsIF9mb3JtYXR1cmwuZm9ybWF0VXJsKSh1cmxPYmpPclN0cmluZyk7XG59XG4vKipcbiAqIFJlYWN0IENvbXBvbmVudCB0aGF0IGVuYWJsZXMgY2xpZW50LXNpZGUgdHJhbnNpdGlvbnMgYmV0d2VlbiByb3V0ZXMuXG4gKi8gY29uc3QgTGluayA9IC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuZm9yd2FyZFJlZihmdW5jdGlvbiBMaW5rQ29tcG9uZW50KHByb3BzLCBmb3J3YXJkZWRSZWYpIHtcbiAgICBsZXQgY2hpbGRyZW47XG4gICAgY29uc3QgeyBocmVmOiBocmVmUHJvcCwgYXM6IGFzUHJvcCwgY2hpbGRyZW46IGNoaWxkcmVuUHJvcCwgcHJlZmV0Y2g6IHByZWZldGNoUHJvcCA9IG51bGwsIHBhc3NIcmVmLCByZXBsYWNlLCBzaGFsbG93LCBzY3JvbGwsIGxvY2FsZSwgb25DbGljaywgb25Nb3VzZUVudGVyOiBvbk1vdXNlRW50ZXJQcm9wLCBvblRvdWNoU3RhcnQ6IG9uVG91Y2hTdGFydFByb3AsIGxlZ2FjeUJlaGF2aW9yID0gZmFsc2UsIC4uLnJlc3RQcm9wcyB9ID0gcHJvcHM7XG4gICAgY2hpbGRyZW4gPSBjaGlsZHJlblByb3A7XG4gICAgaWYgKGxlZ2FjeUJlaGF2aW9yICYmICh0eXBlb2YgY2hpbGRyZW4gPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIGNoaWxkcmVuID09PSBcIm51bWJlclwiKSkge1xuICAgICAgICBjaGlsZHJlbiA9IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJhXCIsIHtcbiAgICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgcGFnZXNSb3V0ZXIgPSBfcmVhY3QuZGVmYXVsdC51c2VDb250ZXh0KF9yb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5Sb3V0ZXJDb250ZXh0KTtcbiAgICBjb25zdCBhcHBSb3V0ZXIgPSBfcmVhY3QuZGVmYXVsdC51c2VDb250ZXh0KF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5BcHBSb3V0ZXJDb250ZXh0KTtcbiAgICBjb25zdCByb3V0ZXIgPSBwYWdlc1JvdXRlciAhPSBudWxsID8gcGFnZXNSb3V0ZXIgOiBhcHBSb3V0ZXI7XG4gICAgLy8gV2UncmUgaW4gdGhlIGFwcCBkaXJlY3RvcnkgaWYgdGhlcmUgaXMgbm8gcGFnZXMgcm91dGVyLlxuICAgIGNvbnN0IGlzQXBwUm91dGVyID0gIXBhZ2VzUm91dGVyO1xuICAgIGNvbnN0IHByZWZldGNoRW5hYmxlZCA9IHByZWZldGNoUHJvcCAhPT0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogVGhlIHBvc3NpYmxlIHN0YXRlcyBmb3IgcHJlZmV0Y2ggYXJlOlxuICAgICAqIC0gbnVsbDogdGhpcyBpcyB0aGUgZGVmYXVsdCBcImF1dG9cIiBtb2RlLCB3aGVyZSB3ZSB3aWxsIHByZWZldGNoIHBhcnRpYWxseSBpZiB0aGUgbGluayBpcyBpbiB0aGUgdmlld3BvcnRcbiAgICAgKiAtIHRydWU6IHdlIHdpbGwgcHJlZmV0Y2ggaWYgdGhlIGxpbmsgaXMgdmlzaWJsZSBhbmQgcHJlZmV0Y2ggdGhlIGZ1bGwgcGFnZSwgbm90IGp1c3QgcGFydGlhbGx5XG4gICAgICogLSBmYWxzZTogd2Ugd2lsbCBub3QgcHJlZmV0Y2ggaWYgaW4gdGhlIHZpZXdwb3J0IGF0IGFsbFxuICAgICAqLyBjb25zdCBhcHBQcmVmZXRjaEtpbmQgPSBwcmVmZXRjaFByb3AgPT09IG51bGwgPyBfcm91dGVycmVkdWNlcnR5cGVzLlByZWZldGNoS2luZC5BVVRPIDogX3JvdXRlcnJlZHVjZXJ0eXBlcy5QcmVmZXRjaEtpbmQuRlVMTDtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZVByb3BFcnJvcihhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKFwiRmFpbGVkIHByb3AgdHlwZTogVGhlIHByb3AgYFwiICsgYXJncy5rZXkgKyBcImAgZXhwZWN0cyBhIFwiICsgYXJncy5leHBlY3RlZCArIFwiIGluIGA8TGluaz5gLCBidXQgZ290IGBcIiArIGFyZ3MuYWN0dWFsICsgXCJgIGluc3RlYWQuXCIgKyAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiA/IFwiXFxuT3BlbiB5b3VyIGJyb3dzZXIncyBjb25zb2xlIHRvIHZpZXcgdGhlIENvbXBvbmVudCBzdGFjayB0cmFjZS5cIiA6IFwiXCIpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUeXBlU2NyaXB0IHRyaWNrIGZvciB0eXBlLWd1YXJkaW5nOlxuICAgICAgICBjb25zdCByZXF1aXJlZFByb3BzR3VhcmQgPSB7XG4gICAgICAgICAgICBocmVmOiB0cnVlXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHJlcXVpcmVkUHJvcHMgPSBPYmplY3Qua2V5cyhyZXF1aXJlZFByb3BzR3VhcmQpO1xuICAgICAgICByZXF1aXJlZFByb3BzLmZvckVhY2goKGtleSk9PntcbiAgICAgICAgICAgIGlmIChrZXkgPT09IFwiaHJlZlwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzW2tleV0gPT0gbnVsbCB8fCB0eXBlb2YgcHJvcHNba2V5XSAhPT0gXCJzdHJpbmdcIiAmJiB0eXBlb2YgcHJvcHNba2V5XSAhPT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFwiYHN0cmluZ2Agb3IgYG9iamVjdGBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbDogcHJvcHNba2V5XSA9PT0gbnVsbCA/IFwibnVsbFwiIDogdHlwZW9mIHByb3BzW2tleV1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBUeXBlU2NyaXB0IHRyaWNrIGZvciB0eXBlLWd1YXJkaW5nOlxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICBjb25zdCBfID0ga2V5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgLy8gVHlwZVNjcmlwdCB0cmljayBmb3IgdHlwZS1ndWFyZGluZzpcbiAgICAgICAgY29uc3Qgb3B0aW9uYWxQcm9wc0d1YXJkID0ge1xuICAgICAgICAgICAgYXM6IHRydWUsXG4gICAgICAgICAgICByZXBsYWNlOiB0cnVlLFxuICAgICAgICAgICAgc2Nyb2xsOiB0cnVlLFxuICAgICAgICAgICAgc2hhbGxvdzogdHJ1ZSxcbiAgICAgICAgICAgIHBhc3NIcmVmOiB0cnVlLFxuICAgICAgICAgICAgcHJlZmV0Y2g6IHRydWUsXG4gICAgICAgICAgICBsb2NhbGU6IHRydWUsXG4gICAgICAgICAgICBvbkNsaWNrOiB0cnVlLFxuICAgICAgICAgICAgb25Nb3VzZUVudGVyOiB0cnVlLFxuICAgICAgICAgICAgb25Ub3VjaFN0YXJ0OiB0cnVlLFxuICAgICAgICAgICAgbGVnYWN5QmVoYXZpb3I6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgb3B0aW9uYWxQcm9wcyA9IE9iamVjdC5rZXlzKG9wdGlvbmFsUHJvcHNHdWFyZCk7XG4gICAgICAgIG9wdGlvbmFsUHJvcHMuZm9yRWFjaCgoa2V5KT0+e1xuICAgICAgICAgICAgY29uc3QgdmFsVHlwZSA9IHR5cGVvZiBwcm9wc1trZXldO1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gXCJhc1wiKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzW2tleV0gJiYgdmFsVHlwZSAhPT0gXCJzdHJpbmdcIiAmJiB2YWxUeXBlICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZDogXCJgc3RyaW5nYCBvciBgb2JqZWN0YFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsOiB2YWxUeXBlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBcImxvY2FsZVwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzW2tleV0gJiYgdmFsVHlwZSAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFwiYHN0cmluZ2BcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbDogdmFsVHlwZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gXCJvbkNsaWNrXCIgfHwga2V5ID09PSBcIm9uTW91c2VFbnRlclwiIHx8IGtleSA9PT0gXCJvblRvdWNoU3RhcnRcIikge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wc1trZXldICYmIHZhbFR5cGUgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFwiYGZ1bmN0aW9uYFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsOiB2YWxUeXBlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBcInJlcGxhY2VcIiB8fCBrZXkgPT09IFwic2Nyb2xsXCIgfHwga2V5ID09PSBcInNoYWxsb3dcIiB8fCBrZXkgPT09IFwicGFzc0hyZWZcIiB8fCBrZXkgPT09IFwicHJlZmV0Y2hcIiB8fCBrZXkgPT09IFwibGVnYWN5QmVoYXZpb3JcIikge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wc1trZXldICE9IG51bGwgJiYgdmFsVHlwZSAhPT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgY3JlYXRlUHJvcEVycm9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBcImBib29sZWFuYFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsOiB2YWxUeXBlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gVHlwZVNjcmlwdCB0cmljayBmb3IgdHlwZS1ndWFyZGluZzpcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICAgICAgICAgICAgY29uc3QgXyA9IGtleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIFRoaXMgaG9vayBpcyBpbiBhIGNvbmRpdGlvbmFsIGJ1dCB0aGF0IGlzIG9rIGJlY2F1c2UgYHByb2Nlc3MuZW52Lk5PREVfRU5WYCBuZXZlciBjaGFuZ2VzXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgICAgICBjb25zdCBoYXNXYXJuZWQgPSBfcmVhY3QuZGVmYXVsdC51c2VSZWYoZmFsc2UpO1xuICAgICAgICBpZiAocHJvcHMucHJlZmV0Y2ggJiYgIWhhc1dhcm5lZC5jdXJyZW50ICYmICFpc0FwcFJvdXRlcikge1xuICAgICAgICAgICAgaGFzV2FybmVkLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiTmV4dC5qcyBhdXRvLXByZWZldGNoZXMgYXV0b21hdGljYWxseSBiYXNlZCBvbiB2aWV3cG9ydC4gVGhlIHByZWZldGNoIGF0dHJpYnV0ZSBpcyBubyBsb25nZXIgbmVlZGVkLiBNb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9wcmVmZXRjaC10cnVlLWRlcHJlY2F0ZWRcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICBpZiAoaXNBcHBSb3V0ZXIgJiYgIWFzUHJvcCkge1xuICAgICAgICAgICAgbGV0IGhyZWY7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGhyZWZQcm9wID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgaHJlZiA9IGhyZWZQcm9wO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaHJlZlByb3AgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIGhyZWZQcm9wLnBhdGhuYW1lID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgaHJlZiA9IGhyZWZQcm9wLnBhdGhuYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGhyZWYpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNEeW5hbWljU2VnbWVudCA9IGhyZWYuc3BsaXQoXCIvXCIpLnNvbWUoKHNlZ21lbnQpPT5zZWdtZW50LnN0YXJ0c1dpdGgoXCJbXCIpICYmIHNlZ21lbnQuZW5kc1dpdGgoXCJdXCIpKTtcbiAgICAgICAgICAgICAgICBpZiAoaGFzRHluYW1pY1NlZ21lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRHluYW1pYyBocmVmIGBcIiArIGhyZWYgKyBcImAgZm91bmQgaW4gPExpbms+IHdoaWxlIHVzaW5nIHRoZSBgL2FwcGAgcm91dGVyLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvYXBwLWRpci1keW5hbWljLWhyZWZcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHsgaHJlZiwgYXMgfSA9IF9yZWFjdC5kZWZhdWx0LnVzZU1lbW8oKCk9PntcbiAgICAgICAgaWYgKCFwYWdlc1JvdXRlcikge1xuICAgICAgICAgICAgY29uc3QgcmVzb2x2ZWRIcmVmID0gZm9ybWF0U3RyaW5nT3JVcmwoaHJlZlByb3ApO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBocmVmOiByZXNvbHZlZEhyZWYsXG4gICAgICAgICAgICAgICAgYXM6IGFzUHJvcCA/IGZvcm1hdFN0cmluZ09yVXJsKGFzUHJvcCkgOiByZXNvbHZlZEhyZWZcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgW3Jlc29sdmVkSHJlZiwgcmVzb2x2ZWRBc10gPSAoMCwgX3Jlc29sdmVocmVmLnJlc29sdmVIcmVmKShwYWdlc1JvdXRlciwgaHJlZlByb3AsIHRydWUpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaHJlZjogcmVzb2x2ZWRIcmVmLFxuICAgICAgICAgICAgYXM6IGFzUHJvcCA/ICgwLCBfcmVzb2x2ZWhyZWYucmVzb2x2ZUhyZWYpKHBhZ2VzUm91dGVyLCBhc1Byb3ApIDogcmVzb2x2ZWRBcyB8fCByZXNvbHZlZEhyZWZcbiAgICAgICAgfTtcbiAgICB9LCBbXG4gICAgICAgIHBhZ2VzUm91dGVyLFxuICAgICAgICBocmVmUHJvcCxcbiAgICAgICAgYXNQcm9wXG4gICAgXSk7XG4gICAgY29uc3QgcHJldmlvdXNIcmVmID0gX3JlYWN0LmRlZmF1bHQudXNlUmVmKGhyZWYpO1xuICAgIGNvbnN0IHByZXZpb3VzQXMgPSBfcmVhY3QuZGVmYXVsdC51c2VSZWYoYXMpO1xuICAgIC8vIFRoaXMgd2lsbCByZXR1cm4gdGhlIGZpcnN0IGNoaWxkLCBpZiBtdWx0aXBsZSBhcmUgcHJvdmlkZWQgaXQgd2lsbCB0aHJvdyBhbiBlcnJvclxuICAgIGxldCBjaGlsZDtcbiAgICBpZiAobGVnYWN5QmVoYXZpb3IpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdcIm9uQ2xpY2tcIiB3YXMgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIGBocmVmYCBvZiBgJyArIGhyZWZQcm9wICsgJ2AgYnV0IFwibGVnYWN5QmVoYXZpb3JcIiB3YXMgc2V0LiBUaGUgbGVnYWN5IGJlaGF2aW9yIHJlcXVpcmVzIG9uQ2xpY2sgYmUgc2V0IG9uIHRoZSBjaGlsZCBvZiBuZXh0L2xpbmsnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvbk1vdXNlRW50ZXJQcm9wKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdcIm9uTW91c2VFbnRlclwiIHdhcyBwYXNzZWQgdG8gPExpbms+IHdpdGggYGhyZWZgIG9mIGAnICsgaHJlZlByb3AgKyAnYCBidXQgXCJsZWdhY3lCZWhhdmlvclwiIHdhcyBzZXQuIFRoZSBsZWdhY3kgYmVoYXZpb3IgcmVxdWlyZXMgb25Nb3VzZUVudGVyIGJlIHNldCBvbiB0aGUgY2hpbGQgb2YgbmV4dC9saW5rJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNoaWxkID0gX3JlYWN0LmRlZmF1bHQuQ2hpbGRyZW4ub25seShjaGlsZHJlbik7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIGNoaWxkcmVuIHdlcmUgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIGBocmVmYCBvZiBgXCIgKyBocmVmUHJvcCArIFwiYCBidXQgb25lIGNoaWxkIGlzIHJlcXVpcmVkIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2xpbmstbm8tY2hpbGRyZW5cIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk11bHRpcGxlIGNoaWxkcmVuIHdlcmUgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIGBocmVmYCBvZiBgXCIgKyBocmVmUHJvcCArIFwiYCBidXQgb25seSBvbmUgY2hpbGQgaXMgc3VwcG9ydGVkIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2xpbmstbXVsdGlwbGUtY2hpbGRyZW5cIiArICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiID8gXCIgXFxuT3BlbiB5b3VyIGJyb3dzZXIncyBjb25zb2xlIHRvIHZpZXcgdGhlIENvbXBvbmVudCBzdGFjayB0cmFjZS5cIiA6IFwiXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNoaWxkID0gX3JlYWN0LmRlZmF1bHQuQ2hpbGRyZW4ub25seShjaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgaWYgKChjaGlsZHJlbiA9PSBudWxsID8gdm9pZCAwIDogY2hpbGRyZW4udHlwZSkgPT09IFwiYVwiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCA8TGluaz4gd2l0aCA8YT4gY2hpbGQuIFBsZWFzZSByZW1vdmUgPGE+IG9yIHVzZSA8TGluayBsZWdhY3lCZWhhdmlvcj4uXFxuTGVhcm4gbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvaW52YWxpZC1uZXctbGluay13aXRoLWV4dHJhLWFuY2hvclwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBjaGlsZFJlZiA9IGxlZ2FjeUJlaGF2aW9yID8gY2hpbGQgJiYgdHlwZW9mIGNoaWxkID09PSBcIm9iamVjdFwiICYmIGNoaWxkLnJlZiA6IGZvcndhcmRlZFJlZjtcbiAgICBjb25zdCBbc2V0SW50ZXJzZWN0aW9uUmVmLCBpc1Zpc2libGUsIHJlc2V0VmlzaWJsZV0gPSAoMCwgX3VzZWludGVyc2VjdGlvbi51c2VJbnRlcnNlY3Rpb24pKHtcbiAgICAgICAgcm9vdE1hcmdpbjogXCIyMDBweFwiXG4gICAgfSk7XG4gICAgY29uc3Qgc2V0UmVmID0gX3JlYWN0LmRlZmF1bHQudXNlQ2FsbGJhY2soKGVsKT0+e1xuICAgICAgICAvLyBCZWZvcmUgdGhlIGxpbmsgZ2V0dGluZyBvYnNlcnZlZCwgY2hlY2sgaWYgdmlzaWJsZSBzdGF0ZSBuZWVkIHRvIGJlIHJlc2V0XG4gICAgICAgIGlmIChwcmV2aW91c0FzLmN1cnJlbnQgIT09IGFzIHx8IHByZXZpb3VzSHJlZi5jdXJyZW50ICE9PSBocmVmKSB7XG4gICAgICAgICAgICByZXNldFZpc2libGUoKTtcbiAgICAgICAgICAgIHByZXZpb3VzQXMuY3VycmVudCA9IGFzO1xuICAgICAgICAgICAgcHJldmlvdXNIcmVmLmN1cnJlbnQgPSBocmVmO1xuICAgICAgICB9XG4gICAgICAgIHNldEludGVyc2VjdGlvblJlZihlbCk7XG4gICAgICAgIGlmIChjaGlsZFJlZikge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjaGlsZFJlZiA9PT0gXCJmdW5jdGlvblwiKSBjaGlsZFJlZihlbCk7XG4gICAgICAgICAgICBlbHNlIGlmICh0eXBlb2YgY2hpbGRSZWYgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgICAgICBjaGlsZFJlZi5jdXJyZW50ID0gZWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LCBbXG4gICAgICAgIGFzLFxuICAgICAgICBjaGlsZFJlZixcbiAgICAgICAgaHJlZixcbiAgICAgICAgcmVzZXRWaXNpYmxlLFxuICAgICAgICBzZXRJbnRlcnNlY3Rpb25SZWZcbiAgICBdKTtcbiAgICAvLyBQcmVmZXRjaCB0aGUgVVJMIGlmIHdlIGhhdmVuJ3QgYWxyZWFkeSBhbmQgaXQncyB2aXNpYmxlLlxuICAgIF9yZWFjdC5kZWZhdWx0LnVzZUVmZmVjdCgoKT0+e1xuICAgICAgICAvLyBpbiBkZXYsIHdlIG9ubHkgcHJlZmV0Y2ggb24gaG92ZXIgdG8gYXZvaWQgd2FzdGluZyByZXNvdXJjZXMgYXMgdGhlIHByZWZldGNoIHdpbGwgdHJpZ2dlciBjb21waWxpbmcgdGhlIHBhZ2UuXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXJvdXRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIHdlIGRvbid0IG5lZWQgdG8gcHJlZmV0Y2ggdGhlIFVSTCwgZG9uJ3QgZG8gcHJlZmV0Y2guXG4gICAgICAgIGlmICghaXNWaXNpYmxlIHx8ICFwcmVmZXRjaEVuYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBQcmVmZXRjaCB0aGUgVVJMLlxuICAgICAgICBwcmVmZXRjaChyb3V0ZXIsIGhyZWYsIGFzLCB7XG4gICAgICAgICAgICBsb2NhbGVcbiAgICAgICAgfSwge1xuICAgICAgICAgICAga2luZDogYXBwUHJlZmV0Y2hLaW5kXG4gICAgICAgIH0sIGlzQXBwUm91dGVyKTtcbiAgICB9LCBbXG4gICAgICAgIGFzLFxuICAgICAgICBocmVmLFxuICAgICAgICBpc1Zpc2libGUsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgcHJlZmV0Y2hFbmFibGVkLFxuICAgICAgICBwYWdlc1JvdXRlciA9PSBudWxsID8gdm9pZCAwIDogcGFnZXNSb3V0ZXIubG9jYWxlLFxuICAgICAgICByb3V0ZXIsXG4gICAgICAgIGlzQXBwUm91dGVyLFxuICAgICAgICBhcHBQcmVmZXRjaEtpbmRcbiAgICBdKTtcbiAgICBjb25zdCBjaGlsZFByb3BzID0ge1xuICAgICAgICByZWY6IHNldFJlZixcbiAgICAgICAgb25DbGljayAoZSkge1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgICAgIGlmICghZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbXBvbmVudCByZW5kZXJlZCBpbnNpZGUgbmV4dC9saW5rIGhhcyB0byBwYXNzIGNsaWNrIGV2ZW50IHRvIFwib25DbGlja1wiIHByb3AuJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFsZWdhY3lCZWhhdmlvciAmJiB0eXBlb2Ygb25DbGljayA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgb25DbGljayhlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsZWdhY3lCZWhhdmlvciAmJiBjaGlsZC5wcm9wcyAmJiB0eXBlb2YgY2hpbGQucHJvcHMub25DbGljayA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgY2hpbGQucHJvcHMub25DbGljayhlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghcm91dGVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGUuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpbmtDbGlja2VkKGUsIHJvdXRlciwgaHJlZiwgYXMsIHJlcGxhY2UsIHNoYWxsb3csIHNjcm9sbCwgbG9jYWxlLCBpc0FwcFJvdXRlcik7XG4gICAgICAgIH0sXG4gICAgICAgIG9uTW91c2VFbnRlciAoZSkge1xuICAgICAgICAgICAgaWYgKCFsZWdhY3lCZWhhdmlvciAmJiB0eXBlb2Ygb25Nb3VzZUVudGVyUHJvcCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyUHJvcChlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsZWdhY3lCZWhhdmlvciAmJiBjaGlsZC5wcm9wcyAmJiB0eXBlb2YgY2hpbGQucHJvcHMub25Nb3VzZUVudGVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICBjaGlsZC5wcm9wcy5vbk1vdXNlRW50ZXIoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXJvdXRlcikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgoIXByZWZldGNoRW5hYmxlZCB8fCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSAmJiBpc0FwcFJvdXRlcikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHByZWZldGNoKHJvdXRlciwgaHJlZiwgYXMsIHtcbiAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgcHJpb3JpdHk6IHRydWUsXG4gICAgICAgICAgICAgICAgLy8gQHNlZSB7aHR0cHM6Ly9naXRodWIuY29tL3ZlcmNlbC9uZXh0LmpzL2Rpc2N1c3Npb25zLzQwMjY4P3NvcnQ9dG9wI2Rpc2N1c3Npb25jb21tZW50LTM1NzI2NDJ9XG4gICAgICAgICAgICAgICAgYnlwYXNzUHJlZmV0Y2hlZENoZWNrOiB0cnVlXG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2luZDogYXBwUHJlZmV0Y2hLaW5kXG4gICAgICAgICAgICB9LCBpc0FwcFJvdXRlcik7XG4gICAgICAgIH0sXG4gICAgICAgIG9uVG91Y2hTdGFydCAoZSkge1xuICAgICAgICAgICAgaWYgKCFsZWdhY3lCZWhhdmlvciAmJiB0eXBlb2Ygb25Ub3VjaFN0YXJ0UHJvcCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgb25Ub3VjaFN0YXJ0UHJvcChlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsZWdhY3lCZWhhdmlvciAmJiBjaGlsZC5wcm9wcyAmJiB0eXBlb2YgY2hpbGQucHJvcHMub25Ub3VjaFN0YXJ0ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICBjaGlsZC5wcm9wcy5vblRvdWNoU3RhcnQoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXJvdXRlcikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghcHJlZmV0Y2hFbmFibGVkICYmIGlzQXBwUm91dGVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHJlZmV0Y2gocm91dGVyLCBocmVmLCBhcywge1xuICAgICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgICBwcmlvcml0eTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAvLyBAc2VlIHtodHRwczovL2dpdGh1Yi5jb20vdmVyY2VsL25leHQuanMvZGlzY3Vzc2lvbnMvNDAyNjg/c29ydD10b3AjZGlzY3Vzc2lvbmNvbW1lbnQtMzU3MjY0Mn1cbiAgICAgICAgICAgICAgICBieXBhc3NQcmVmZXRjaGVkQ2hlY2s6IHRydWVcbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBraW5kOiBhcHBQcmVmZXRjaEtpbmRcbiAgICAgICAgICAgIH0sIGlzQXBwUm91dGVyKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgLy8gSWYgY2hpbGQgaXMgYW4gPGE+IHRhZyBhbmQgZG9lc24ndCBoYXZlIGEgaHJlZiBhdHRyaWJ1dGUsIG9yIGlmIHRoZSAncGFzc0hyZWYnIHByb3BlcnR5IGlzXG4gICAgLy8gZGVmaW5lZCwgd2Ugc3BlY2lmeSB0aGUgY3VycmVudCAnaHJlZicsIHNvIHRoYXQgcmVwZXRpdGlvbiBpcyBub3QgbmVlZGVkIGJ5IHRoZSB1c2VyLlxuICAgIC8vIElmIHRoZSB1cmwgaXMgYWJzb2x1dGUsIHdlIGNhbiBieXBhc3MgdGhlIGxvZ2ljIHRvIHByZXBlbmQgdGhlIGRvbWFpbiBhbmQgbG9jYWxlLlxuICAgIGlmICgoMCwgX3V0aWxzLmlzQWJzb2x1dGVVcmwpKGFzKSkge1xuICAgICAgICBjaGlsZFByb3BzLmhyZWYgPSBhcztcbiAgICB9IGVsc2UgaWYgKCFsZWdhY3lCZWhhdmlvciB8fCBwYXNzSHJlZiB8fCBjaGlsZC50eXBlID09PSBcImFcIiAmJiAhKFwiaHJlZlwiIGluIGNoaWxkLnByb3BzKSkge1xuICAgICAgICBjb25zdCBjdXJMb2NhbGUgPSB0eXBlb2YgbG9jYWxlICE9PSBcInVuZGVmaW5lZFwiID8gbG9jYWxlIDogcGFnZXNSb3V0ZXIgPT0gbnVsbCA/IHZvaWQgMCA6IHBhZ2VzUm91dGVyLmxvY2FsZTtcbiAgICAgICAgLy8gd2Ugb25seSByZW5kZXIgZG9tYWluIGxvY2FsZXMgaWYgd2UgYXJlIGN1cnJlbnRseSBvbiBhIGRvbWFpbiBsb2NhbGVcbiAgICAgICAgLy8gc28gdGhhdCBsb2NhbGUgbGlua3MgYXJlIHN0aWxsIHZpc2l0YWJsZSBpbiBkZXZlbG9wbWVudC9wcmV2aWV3IGVudnNcbiAgICAgICAgY29uc3QgbG9jYWxlRG9tYWluID0gKHBhZ2VzUm91dGVyID09IG51bGwgPyB2b2lkIDAgOiBwYWdlc1JvdXRlci5pc0xvY2FsZURvbWFpbikgJiYgKDAsIF9nZXRkb21haW5sb2NhbGUuZ2V0RG9tYWluTG9jYWxlKShhcywgY3VyTG9jYWxlLCBwYWdlc1JvdXRlciA9PSBudWxsID8gdm9pZCAwIDogcGFnZXNSb3V0ZXIubG9jYWxlcywgcGFnZXNSb3V0ZXIgPT0gbnVsbCA/IHZvaWQgMCA6IHBhZ2VzUm91dGVyLmRvbWFpbkxvY2FsZXMpO1xuICAgICAgICBjaGlsZFByb3BzLmhyZWYgPSBsb2NhbGVEb21haW4gfHwgKDAsIF9hZGRiYXNlcGF0aC5hZGRCYXNlUGF0aCkoKDAsIF9hZGRsb2NhbGUuYWRkTG9jYWxlKShhcywgY3VyTG9jYWxlLCBwYWdlc1JvdXRlciA9PSBudWxsID8gdm9pZCAwIDogcGFnZXNSb3V0ZXIuZGVmYXVsdExvY2FsZSkpO1xuICAgIH1cbiAgICByZXR1cm4gbGVnYWN5QmVoYXZpb3IgPyAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNsb25lRWxlbWVudChjaGlsZCwgY2hpbGRQcm9wcykgOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiYVwiLCB7XG4gICAgICAgIC4uLnJlc3RQcm9wcyxcbiAgICAgICAgLi4uY2hpbGRQcm9wcyxcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfSk7XG59KTtcbmNvbnN0IF9kZWZhdWx0ID0gTGluaztcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGluay5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2RlZmF1bHQiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwiX3Jlc29sdmVocmVmIiwiX2lzbG9jYWx1cmwiLCJfZm9ybWF0dXJsIiwiX3V0aWxzIiwiX2FkZGxvY2FsZSIsIl9yb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSIsIl9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSIsIl91c2VpbnRlcnNlY3Rpb24iLCJfZ2V0ZG9tYWlubG9jYWxlIiwiX2FkZGJhc2VwYXRoIiwiX3JvdXRlcnJlZHVjZXJ0eXBlcyIsInByZWZldGNoZWQiLCJTZXQiLCJwcmVmZXRjaCIsInJvdXRlciIsImhyZWYiLCJhcyIsIm9wdGlvbnMiLCJhcHBPcHRpb25zIiwiaXNBcHBSb3V0ZXIiLCJpc0xvY2FsVVJMIiwiYnlwYXNzUHJlZmV0Y2hlZENoZWNrIiwibG9jYWxlIiwidW5kZWZpbmVkIiwicHJlZmV0Y2hlZEtleSIsImhhcyIsImFkZCIsInByZWZldGNoUHJvbWlzZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiY2F0Y2giLCJlcnIiLCJwcm9jZXNzIiwiaXNNb2RpZmllZEV2ZW50IiwiZXZlbnQiLCJldmVudFRhcmdldCIsImN1cnJlbnRUYXJnZXQiLCJ0YXJnZXQiLCJnZXRBdHRyaWJ1dGUiLCJtZXRhS2V5IiwiY3RybEtleSIsInNoaWZ0S2V5IiwiYWx0S2V5IiwibmF0aXZlRXZlbnQiLCJ3aGljaCIsImxpbmtDbGlja2VkIiwiZSIsInJlcGxhY2UiLCJzaGFsbG93Iiwic2Nyb2xsIiwibm9kZU5hbWUiLCJpc0FuY2hvck5vZGVOYW1lIiwidG9VcHBlckNhc2UiLCJwcmV2ZW50RGVmYXVsdCIsIm5hdmlnYXRlIiwicm91dGVyU2Nyb2xsIiwiZGVmYXVsdCIsInN0YXJ0VHJhbnNpdGlvbiIsImZvcm1hdFN0cmluZ09yVXJsIiwidXJsT2JqT3JTdHJpbmciLCJmb3JtYXRVcmwiLCJMaW5rIiwiZm9yd2FyZFJlZiIsIkxpbmtDb21wb25lbnQiLCJwcm9wcyIsImZvcndhcmRlZFJlZiIsImNoaWxkcmVuIiwiaHJlZlByb3AiLCJhc1Byb3AiLCJjaGlsZHJlblByb3AiLCJwcmVmZXRjaFByb3AiLCJwYXNzSHJlZiIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlRW50ZXJQcm9wIiwib25Ub3VjaFN0YXJ0Iiwib25Ub3VjaFN0YXJ0UHJvcCIsImxlZ2FjeUJlaGF2aW9yIiwicmVzdFByb3BzIiwianN4IiwicGFnZXNSb3V0ZXIiLCJ1c2VDb250ZXh0IiwiUm91dGVyQ29udGV4dCIsImFwcFJvdXRlciIsIkFwcFJvdXRlckNvbnRleHQiLCJwcmVmZXRjaEVuYWJsZWQiLCJhcHBQcmVmZXRjaEtpbmQiLCJQcmVmZXRjaEtpbmQiLCJBVVRPIiwiRlVMTCIsImNyZWF0ZVByb3BFcnJvciIsImFyZ3MiLCJFcnJvciIsImtleSIsImV4cGVjdGVkIiwiYWN0dWFsIiwicmVxdWlyZWRQcm9wc0d1YXJkIiwicmVxdWlyZWRQcm9wcyIsImtleXMiLCJmb3JFYWNoIiwib3B0aW9uYWxQcm9wc0d1YXJkIiwib3B0aW9uYWxQcm9wcyIsInZhbFR5cGUiLCJoYXNXYXJuZWQiLCJ1c2VSZWYiLCJjdXJyZW50IiwiY29uc29sZSIsIndhcm4iLCJwYXRobmFtZSIsImhhc0R5bmFtaWNTZWdtZW50Iiwic3BsaXQiLCJzb21lIiwic2VnbWVudCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInVzZU1lbW8iLCJyZXNvbHZlZEhyZWYiLCJyZXNvbHZlZEFzIiwicmVzb2x2ZUhyZWYiLCJwcmV2aW91c0hyZWYiLCJwcmV2aW91c0FzIiwiY2hpbGQiLCJDaGlsZHJlbiIsIm9ubHkiLCJ0eXBlIiwiY2hpbGRSZWYiLCJyZWYiLCJzZXRJbnRlcnNlY3Rpb25SZWYiLCJpc1Zpc2libGUiLCJyZXNldFZpc2libGUiLCJ1c2VJbnRlcnNlY3Rpb24iLCJyb290TWFyZ2luIiwic2V0UmVmIiwidXNlQ2FsbGJhY2siLCJlbCIsInVzZUVmZmVjdCIsImtpbmQiLCJjaGlsZFByb3BzIiwiZGVmYXVsdFByZXZlbnRlZCIsInByaW9yaXR5IiwiaXNBYnNvbHV0ZVVybCIsImN1ckxvY2FsZSIsImxvY2FsZURvbWFpbiIsImlzTG9jYWxlRG9tYWluIiwiZ2V0RG9tYWluTG9jYWxlIiwibG9jYWxlcyIsImRvbWFpbkxvY2FsZXMiLCJhZGRCYXNlUGF0aCIsImFkZExvY2FsZSIsImRlZmF1bHRMb2NhbGUiLCJjbG9uZUVsZW1lbnQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/link.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/client/normalize-trailing-slash.js ***! \*******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return normalizePathTrailingSlash;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ../shared/lib/router/utils/remove-trailing-slash */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _parsepath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nconst normalizePathTrailingSlash = (path)=>{\n if (!path.startsWith(\"/\") || undefined) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n if (false) {}\n return \"\" + (0, _removetrailingslash.removeTrailingSlash)(pathname) + query + hash;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=normalize-trailing-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2guanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDhEQUE2RDtJQUN6REksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHVCQUF1QkMsbUJBQU9BLENBQUMseUlBQWtEO0FBQ3ZGLE1BQU1DLGFBQWFELG1CQUFPQSxDQUFDLG1IQUF1QztBQUNsRSxNQUFNRiw2QkFBNkIsQ0FBQ0k7SUFDaEMsSUFBSSxDQUFDQSxLQUFLQyxVQUFVLENBQUMsUUFBUUMsU0FBd0MsRUFBRTtRQUNuRSxPQUFPRjtJQUNYO0lBQ0EsTUFBTSxFQUFFSyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHUixXQUFXUyxTQUFTLEVBQUVSO0lBQzVELElBQUlFLEtBQWlDLEVBQUUsRUFRdEM7SUFDRCxPQUFPLEtBQUssQ0FBQyxHQUFHTCxxQkFBcUJjLG1CQUFtQixFQUFFTixZQUFZQyxRQUFRQztBQUNsRjtBQUVBLElBQUksQ0FBQyxPQUFPZixRQUFRcUIsT0FBTyxLQUFLLGNBQWUsT0FBT3JCLFFBQVFxQixPQUFPLEtBQUssWUFBWXJCLFFBQVFxQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9yQixRQUFRcUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3hCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUXFCLE9BQU8sRUFBRSxjQUFjO1FBQUVwQixPQUFPO0lBQUs7SUFDbkVILE9BQU95QixNQUFNLENBQUN2QixRQUFRcUIsT0FBTyxFQUFFckI7SUFDL0J3QixPQUFPeEIsT0FBTyxHQUFHQSxRQUFRcUIsT0FBTztBQUNsQyxFQUVBLG9EQUFvRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L25vcm1hbGl6ZS10cmFpbGluZy1zbGFzaC5qcz80YzJlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2hcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoO1xuICAgIH1cbn0pO1xuY29uc3QgX3JlbW92ZXRyYWlsaW5nc2xhc2ggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcmVtb3ZlLXRyYWlsaW5nLXNsYXNoXCIpO1xuY29uc3QgX3BhcnNlcGF0aCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9wYXJzZS1wYXRoXCIpO1xuY29uc3Qgbm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2ggPSAocGF0aCk9PntcbiAgICBpZiAoIXBhdGguc3RhcnRzV2l0aChcIi9cIikgfHwgcHJvY2Vzcy5lbnYuX19ORVhUX01BTlVBTF9UUkFJTElOR19TTEFTSCkge1xuICAgICAgICByZXR1cm4gcGF0aDtcbiAgICB9XG4gICAgY29uc3QgeyBwYXRobmFtZSwgcXVlcnksIGhhc2ggfSA9ICgwLCBfcGFyc2VwYXRoLnBhcnNlUGF0aCkocGF0aCk7XG4gICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9UUkFJTElOR19TTEFTSCkge1xuICAgICAgICBpZiAoL1xcLlteL10rXFwvPyQvLnRlc3QocGF0aG5hbWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJcIiArICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShwYXRobmFtZSkgKyBxdWVyeSArIGhhc2g7XG4gICAgICAgIH0gZWxzZSBpZiAocGF0aG5hbWUuZW5kc1dpdGgoXCIvXCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJcIiArIHBhdGhuYW1lICsgcXVlcnkgKyBoYXNoO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGhuYW1lICsgXCIvXCIgKyBxdWVyeSArIGhhc2g7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFwiXCIgKyAoMCwgX3JlbW92ZXRyYWlsaW5nc2xhc2gucmVtb3ZlVHJhaWxpbmdTbGFzaCkocGF0aG5hbWUpICsgcXVlcnkgKyBoYXNoO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm9ybWFsaXplLXRyYWlsaW5nLXNsYXNoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsIl9yZW1vdmV0cmFpbGluZ3NsYXNoIiwicmVxdWlyZSIsIl9wYXJzZXBhdGgiLCJwYXRoIiwic3RhcnRzV2l0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfTUFOVUFMX1RSQUlMSU5HX1NMQVNIIiwicGF0aG5hbWUiLCJxdWVyeSIsImhhc2giLCJwYXJzZVBhdGgiLCJfX05FWFRfVFJBSUxJTkdfU0xBU0giLCJ0ZXN0IiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsImVuZHNXaXRoIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/remove-base-path.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/client/remove-base-path.js ***! \***********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeBasePath\", ({\n enumerable: true,\n get: function() {\n return removeBasePath;\n }\n}));\nconst _hasbasepath = __webpack_require__(/*! ./has-base-path */ \"(ssr)/./node_modules/next/dist/client/has-base-path.js\");\nconst basePath = false || \"\";\nfunction removeBasePath(path) {\n if (false) {}\n // Can't trim the basePath if it has zero length!\n if (basePath.length === 0) return path;\n path = path.slice(basePath.length);\n if (!path.startsWith(\"/\")) path = \"/\" + path;\n return path;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=remove-base-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxrREFBaUQ7SUFDN0NJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxlQUFlQyxtQkFBT0EsQ0FBQywrRUFBaUI7QUFDOUMsTUFBTUMsV0FBV0MsTUFBa0MsSUFBSTtBQUN2RCxTQUFTSixlQUFlTyxJQUFJO0lBQ3hCLElBQUlILEtBQTBDLEVBQUUsRUFJL0M7SUFDRCxpREFBaUQ7SUFDakQsSUFBSUQsU0FBU08sTUFBTSxLQUFLLEdBQUcsT0FBT0g7SUFDbENBLE9BQU9BLEtBQUtJLEtBQUssQ0FBQ1IsU0FBU08sTUFBTTtJQUNqQyxJQUFJLENBQUNILEtBQUtLLFVBQVUsQ0FBQyxNQUFNTCxPQUFPLE1BQU1BO0lBQ3hDLE9BQU9BO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBT1gsUUFBUWlCLE9BQU8sS0FBSyxjQUFlLE9BQU9qQixRQUFRaUIsT0FBTyxLQUFLLFlBQVlqQixRQUFRaUIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPakIsUUFBUWlCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktwQixPQUFPQyxjQUFjLENBQUNDLFFBQVFpQixPQUFPLEVBQUUsY0FBYztRQUFFaEIsT0FBTztJQUFLO0lBQ25FSCxPQUFPcUIsTUFBTSxDQUFDbkIsUUFBUWlCLE9BQU8sRUFBRWpCO0lBQy9Cb0IsT0FBT3BCLE9BQU8sR0FBR0EsUUFBUWlCLE9BQU87QUFDbEMsRUFFQSw0Q0FBNEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtYmFzZS1wYXRoLmpzP2I0ZjEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJyZW1vdmVCYXNlUGF0aFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcmVtb3ZlQmFzZVBhdGg7XG4gICAgfVxufSk7XG5jb25zdCBfaGFzYmFzZXBhdGggPSByZXF1aXJlKFwiLi9oYXMtYmFzZS1wYXRoXCIpO1xuY29uc3QgYmFzZVBhdGggPSBwcm9jZXNzLmVudi5fX05FWFRfUk9VVEVSX0JBU0VQQVRIIHx8IFwiXCI7XG5mdW5jdGlvbiByZW1vdmVCYXNlUGF0aChwYXRoKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9NQU5VQUxfQ0xJRU5UX0JBU0VfUEFUSCkge1xuICAgICAgICBpZiAoISgwLCBfaGFzYmFzZXBhdGguaGFzQmFzZVBhdGgpKHBhdGgpKSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBDYW4ndCB0cmltIHRoZSBiYXNlUGF0aCBpZiBpdCBoYXMgemVybyBsZW5ndGghXG4gICAgaWYgKGJhc2VQYXRoLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHBhdGg7XG4gICAgcGF0aCA9IHBhdGguc2xpY2UoYmFzZVBhdGgubGVuZ3RoKTtcbiAgICBpZiAoIXBhdGguc3RhcnRzV2l0aChcIi9cIikpIHBhdGggPSBcIi9cIiArIHBhdGg7XG4gICAgcmV0dXJuIHBhdGg7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlbW92ZS1iYXNlLXBhdGguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInJlbW92ZUJhc2VQYXRoIiwiX2hhc2Jhc2VwYXRoIiwicmVxdWlyZSIsImJhc2VQYXRoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJwYXRoIiwiX19ORVhUX01BTlVBTF9DTElFTlRfQkFTRV9QQVRIIiwiaGFzQmFzZVBhdGgiLCJsZW5ndGgiLCJzbGljZSIsInN0YXJ0c1dpdGgiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/remove-base-path.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/request-idle-callback.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/client/request-idle-callback.js ***! \****************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n requestIdleCallback: function() {\n return requestIdleCallback;\n },\n cancelIdleCallback: function() {\n return cancelIdleCallback;\n }\n});\nconst requestIdleCallback = typeof self !== \"undefined\" && self.requestIdleCallback && self.requestIdleCallback.bind(window) || function(cb) {\n let start = Date.now();\n return self.setTimeout(function() {\n cb({\n didTimeout: false,\n timeRemaining: function() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nconst cancelIdleCallback = typeof self !== \"undefined\" && self.cancelIdleCallback && self.cancelIdleCallback.bind(window) || function(id) {\n return clearTimeout(id);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=request-idle-callback.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXF1ZXN0LWlkbGUtY2FsbGJhY2suanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNRCxzQkFBc0IsT0FBT1EsU0FBUyxlQUFlQSxLQUFLUixtQkFBbUIsSUFBSVEsS0FBS1IsbUJBQW1CLENBQUNTLElBQUksQ0FBQ0MsV0FBVyxTQUFTQyxFQUFFO0lBQ3ZJLElBQUlDLFFBQVFDLEtBQUtDLEdBQUc7SUFDcEIsT0FBT04sS0FBS08sVUFBVSxDQUFDO1FBQ25CSixHQUFHO1lBQ0NLLFlBQVk7WUFDWkMsZUFBZTtnQkFDWCxPQUFPQyxLQUFLQyxHQUFHLENBQUMsR0FBRyxLQUFNTixDQUFBQSxLQUFLQyxHQUFHLEtBQUtGLEtBQUk7WUFDOUM7UUFDSjtJQUNKLEdBQUc7QUFDUDtBQUNBLE1BQU1YLHFCQUFxQixPQUFPTyxTQUFTLGVBQWVBLEtBQUtQLGtCQUFrQixJQUFJTyxLQUFLUCxrQkFBa0IsQ0FBQ1EsSUFBSSxDQUFDQyxXQUFXLFNBQVNVLEVBQUU7SUFDcEksT0FBT0MsYUFBYUQ7QUFDeEI7QUFFQSxJQUFJLENBQUMsT0FBT3ZCLFFBQVF5QixPQUFPLEtBQUssY0FBZSxPQUFPekIsUUFBUXlCLE9BQU8sS0FBSyxZQUFZekIsUUFBUXlCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3pCLFFBQVF5QixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLNUIsT0FBT0MsY0FBYyxDQUFDQyxRQUFReUIsT0FBTyxFQUFFLGNBQWM7UUFBRXhCLE9BQU87SUFBSztJQUNuRUgsT0FBTzZCLE1BQU0sQ0FBQzNCLFFBQVF5QixPQUFPLEVBQUV6QjtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFReUIsT0FBTztBQUNsQyxFQUVBLGlEQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JlcXVlc3QtaWRsZS1jYWxsYmFjay5qcz8xZTIwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgcmVxdWVzdElkbGVDYWxsYmFjazogbnVsbCxcbiAgICBjYW5jZWxJZGxlQ2FsbGJhY2s6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgcmVxdWVzdElkbGVDYWxsYmFjazogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByZXF1ZXN0SWRsZUNhbGxiYWNrO1xuICAgIH0sXG4gICAgY2FuY2VsSWRsZUNhbGxiYWNrOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNhbmNlbElkbGVDYWxsYmFjaztcbiAgICB9XG59KTtcbmNvbnN0IHJlcXVlc3RJZGxlQ2FsbGJhY2sgPSB0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIiAmJiBzZWxmLnJlcXVlc3RJZGxlQ2FsbGJhY2sgJiYgc2VsZi5yZXF1ZXN0SWRsZUNhbGxiYWNrLmJpbmQod2luZG93KSB8fCBmdW5jdGlvbihjYikge1xuICAgIGxldCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgcmV0dXJuIHNlbGYuc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgY2Ioe1xuICAgICAgICAgICAgZGlkVGltZW91dDogZmFsc2UsXG4gICAgICAgICAgICB0aW1lUmVtYWluaW5nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gTWF0aC5tYXgoMCwgNTAgLSAoRGF0ZS5ub3coKSAtIHN0YXJ0KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0sIDEpO1xufTtcbmNvbnN0IGNhbmNlbElkbGVDYWxsYmFjayA9IHR5cGVvZiBzZWxmICE9PSBcInVuZGVmaW5lZFwiICYmIHNlbGYuY2FuY2VsSWRsZUNhbGxiYWNrICYmIHNlbGYuY2FuY2VsSWRsZUNhbGxiYWNrLmJpbmQod2luZG93KSB8fCBmdW5jdGlvbihpZCkge1xuICAgIHJldHVybiBjbGVhclRpbWVvdXQoaWQpO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVxdWVzdC1pZGxlLWNhbGxiYWNrLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJjYW5jZWxJZGxlQ2FsbGJhY2siLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJzZWxmIiwiYmluZCIsIndpbmRvdyIsImNiIiwic3RhcnQiLCJEYXRlIiwibm93Iiwic2V0VGltZW91dCIsImRpZFRpbWVvdXQiLCJ0aW1lUmVtYWluaW5nIiwiTWF0aCIsIm1heCIsImlkIiwiY2xlYXJUaW1lb3V0IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/request-idle-callback.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/resolve-href.js": /*!*******************************************************!*\ !*** ./node_modules/next/dist/client/resolve-href.js ***! \*******************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"resolveHref\", ({\n enumerable: true,\n get: function() {\n return resolveHref;\n }\n}));\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _omit = __webpack_require__(/*! ../shared/lib/router/utils/omit */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(ssr)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _utils1 = __webpack_require__(/*! ../shared/lib/router/utils */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _interpolateas = __webpack_require__(/*! ../shared/lib/router/utils/interpolate-as */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nfunction resolveHref(router, href, resolveAs) {\n // we use a dummy base url for relative urls\n let base;\n let urlAsString = typeof href === \"string\" ? href : (0, _formaturl.formatWithValidation)(href);\n // repeated slashes and backslashes in the URL are considered\n // invalid and will never match a Next.js page/file\n const urlProtoMatch = urlAsString.match(/^[a-zA-Z]{1,}:\\/\\//);\n const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;\n const urlParts = urlAsStringNoProto.split(\"?\", 1);\n if ((urlParts[0] || \"\").match(/(\\/\\/|\\\\)/)) {\n console.error(\"Invalid href '\" + urlAsString + \"' passed to next/router in page: '\" + router.pathname + \"'. Repeated forward-slashes (//) or backslashes \\\\ are not valid in the href.\");\n const normalizedUrl = (0, _utils.normalizeRepeatedSlashes)(urlAsStringNoProto);\n urlAsString = (urlProtoMatch ? urlProtoMatch[0] : \"\") + normalizedUrl;\n }\n // Return because it cannot be routed by the Next.js router\n if (!(0, _islocalurl.isLocalURL)(urlAsString)) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n try {\n base = new URL(urlAsString.startsWith(\"#\") ? router.asPath : router.pathname, \"http://n\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n base = new URL(\"/\", \"http://n\");\n }\n try {\n const finalUrl = new URL(urlAsString, base);\n finalUrl.pathname = (0, _normalizetrailingslash.normalizePathTrailingSlash)(finalUrl.pathname);\n let interpolatedAs = \"\";\n if ((0, _utils1.isDynamicRoute)(finalUrl.pathname) && finalUrl.searchParams && resolveAs) {\n const query = (0, _querystring.searchParamsToUrlQuery)(finalUrl.searchParams);\n const { result, params } = (0, _interpolateas.interpolateAs)(finalUrl.pathname, finalUrl.pathname, query);\n if (result) {\n interpolatedAs = (0, _formaturl.formatWithValidation)({\n pathname: result,\n hash: finalUrl.hash,\n query: (0, _omit.omit)(query, params)\n });\n }\n }\n // if the origin didn't change, it means we received a relative href\n const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href;\n return resolveAs ? [\n resolvedHref,\n interpolatedAs || resolvedHref\n ] : resolvedHref;\n } catch (_) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=resolve-href.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXNvbHZlLWhyZWYuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILCtDQUE4QztJQUMxQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGVBQWVDLG1CQUFPQSxDQUFDLHFIQUF3QztBQUNyRSxNQUFNQyxhQUFhRCxtQkFBT0EsQ0FBQyxtSEFBdUM7QUFDbEUsTUFBTUUsUUFBUUYsbUJBQU9BLENBQUMsdUdBQWlDO0FBQ3ZELE1BQU1HLFNBQVNILG1CQUFPQSxDQUFDLCtFQUFxQjtBQUM1QyxNQUFNSSwwQkFBMEJKLG1CQUFPQSxDQUFDLHFHQUE0QjtBQUNwRSxNQUFNSyxjQUFjTCxtQkFBT0EsQ0FBQyx1SEFBeUM7QUFDckUsTUFBTU0sVUFBVU4sbUJBQU9BLENBQUMsbUdBQTRCO0FBQ3BELE1BQU1PLGlCQUFpQlAsbUJBQU9BLENBQUMsMkhBQTJDO0FBQzFFLFNBQVNGLFlBQVlVLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxTQUFTO0lBQ3hDLDRDQUE0QztJQUM1QyxJQUFJQztJQUNKLElBQUlDLGNBQWMsT0FBT0gsU0FBUyxXQUFXQSxPQUFPLENBQUMsR0FBR1IsV0FBV1ksb0JBQW9CLEVBQUVKO0lBQ3pGLDZEQUE2RDtJQUM3RCxtREFBbUQ7SUFDbkQsTUFBTUssZ0JBQWdCRixZQUFZRyxLQUFLLENBQUM7SUFDeEMsTUFBTUMscUJBQXFCRixnQkFBZ0JGLFlBQVlLLEtBQUssQ0FBQ0gsYUFBYSxDQUFDLEVBQUUsQ0FBQ0ksTUFBTSxJQUFJTjtJQUN4RixNQUFNTyxXQUFXSCxtQkFBbUJJLEtBQUssQ0FBQyxLQUFLO0lBQy9DLElBQUksQ0FBQ0QsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFDLEVBQUdKLEtBQUssQ0FBQyxjQUFjO1FBQ3hDTSxRQUFRQyxLQUFLLENBQUMsbUJBQW1CVixjQUFjLHVDQUF1Q0osT0FBT2UsUUFBUSxHQUFHO1FBQ3hHLE1BQU1DLGdCQUFnQixDQUFDLEdBQUdyQixPQUFPc0Isd0JBQXdCLEVBQUVUO1FBQzNESixjQUFjLENBQUNFLGdCQUFnQkEsYUFBYSxDQUFDLEVBQUUsR0FBRyxFQUFDLElBQUtVO0lBQzVEO0lBQ0EsMkRBQTJEO0lBQzNELElBQUksQ0FBQyxDQUFDLEdBQUduQixZQUFZcUIsVUFBVSxFQUFFZCxjQUFjO1FBQzNDLE9BQU9GLFlBQVk7WUFDZkU7U0FDSCxHQUFHQTtJQUNSO0lBQ0EsSUFBSTtRQUNBRCxPQUFPLElBQUlnQixJQUFJZixZQUFZZ0IsVUFBVSxDQUFDLE9BQU9wQixPQUFPcUIsTUFBTSxHQUFHckIsT0FBT2UsUUFBUSxFQUFFO0lBQ2xGLEVBQUUsT0FBT08sR0FBRztRQUNSLGtEQUFrRDtRQUNsRG5CLE9BQU8sSUFBSWdCLElBQUksS0FBSztJQUN4QjtJQUNBLElBQUk7UUFDQSxNQUFNSSxXQUFXLElBQUlKLElBQUlmLGFBQWFEO1FBQ3RDb0IsU0FBU1IsUUFBUSxHQUFHLENBQUMsR0FBR25CLHdCQUF3QjRCLDBCQUEwQixFQUFFRCxTQUFTUixRQUFRO1FBQzdGLElBQUlVLGlCQUFpQjtRQUNyQixJQUFJLENBQUMsR0FBRzNCLFFBQVE0QixjQUFjLEVBQUVILFNBQVNSLFFBQVEsS0FBS1EsU0FBU0ksWUFBWSxJQUFJekIsV0FBVztZQUN0RixNQUFNMEIsUUFBUSxDQUFDLEdBQUdyQyxhQUFhc0Msc0JBQXNCLEVBQUVOLFNBQVNJLFlBQVk7WUFDNUUsTUFBTSxFQUFFRyxNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBR2hDLGVBQWVpQyxhQUFhLEVBQUVULFNBQVNSLFFBQVEsRUFBRVEsU0FBU1IsUUFBUSxFQUFFYTtZQUNuRyxJQUFJRSxRQUFRO2dCQUNSTCxpQkFBaUIsQ0FBQyxHQUFHaEMsV0FBV1ksb0JBQW9CLEVBQUU7b0JBQ2xEVSxVQUFVZTtvQkFDVkcsTUFBTVYsU0FBU1UsSUFBSTtvQkFDbkJMLE9BQU8sQ0FBQyxHQUFHbEMsTUFBTXdDLElBQUksRUFBRU4sT0FBT0c7Z0JBQ2xDO1lBQ0o7UUFDSjtRQUNBLG9FQUFvRTtRQUNwRSxNQUFNSSxlQUFlWixTQUFTYSxNQUFNLEtBQUtqQyxLQUFLaUMsTUFBTSxHQUFHYixTQUFTdEIsSUFBSSxDQUFDUSxLQUFLLENBQUNjLFNBQVNhLE1BQU0sQ0FBQzFCLE1BQU0sSUFBSWEsU0FBU3RCLElBQUk7UUFDbEgsT0FBT0MsWUFBWTtZQUNmaUM7WUFDQVYsa0JBQWtCVTtTQUNyQixHQUFHQTtJQUNSLEVBQUUsT0FBT2IsR0FBRztRQUNSLE9BQU9wQixZQUFZO1lBQ2ZFO1NBQ0gsR0FBR0E7SUFDUjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9sQixRQUFRbUQsT0FBTyxLQUFLLGNBQWUsT0FBT25ELFFBQVFtRCxPQUFPLEtBQUssWUFBWW5ELFFBQVFtRCxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9uRCxRQUFRbUQsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3RELE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW1ELE9BQU8sRUFBRSxjQUFjO1FBQUVsRCxPQUFPO0lBQUs7SUFDbkVILE9BQU91RCxNQUFNLENBQUNyRCxRQUFRbUQsT0FBTyxFQUFFbkQ7SUFDL0JzRCxPQUFPdEQsT0FBTyxHQUFHQSxRQUFRbUQsT0FBTztBQUNsQyxFQUVBLHdDQUF3QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3Jlc29sdmUtaHJlZi5qcz8yZjllIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicmVzb2x2ZUhyZWZcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmVIcmVmO1xuICAgIH1cbn0pO1xuY29uc3QgX3F1ZXJ5c3RyaW5nID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nXCIpO1xuY29uc3QgX2Zvcm1hdHVybCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9mb3JtYXQtdXJsXCIpO1xuY29uc3QgX29taXQgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvb21pdFwiKTtcbmNvbnN0IF91dGlscyA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3V0aWxzXCIpO1xuY29uc3QgX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2ggPSByZXF1aXJlKFwiLi9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2hcIik7XG5jb25zdCBfaXNsb2NhbHVybCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1sb2NhbC11cmxcIik7XG5jb25zdCBfdXRpbHMxID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzXCIpO1xuY29uc3QgX2ludGVycG9sYXRlYXMgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJwb2xhdGUtYXNcIik7XG5mdW5jdGlvbiByZXNvbHZlSHJlZihyb3V0ZXIsIGhyZWYsIHJlc29sdmVBcykge1xuICAgIC8vIHdlIHVzZSBhIGR1bW15IGJhc2UgdXJsIGZvciByZWxhdGl2ZSB1cmxzXG4gICAgbGV0IGJhc2U7XG4gICAgbGV0IHVybEFzU3RyaW5nID0gdHlwZW9mIGhyZWYgPT09IFwic3RyaW5nXCIgPyBocmVmIDogKDAsIF9mb3JtYXR1cmwuZm9ybWF0V2l0aFZhbGlkYXRpb24pKGhyZWYpO1xuICAgIC8vIHJlcGVhdGVkIHNsYXNoZXMgYW5kIGJhY2tzbGFzaGVzIGluIHRoZSBVUkwgYXJlIGNvbnNpZGVyZWRcbiAgICAvLyBpbnZhbGlkIGFuZCB3aWxsIG5ldmVyIG1hdGNoIGEgTmV4dC5qcyBwYWdlL2ZpbGVcbiAgICBjb25zdCB1cmxQcm90b01hdGNoID0gdXJsQXNTdHJpbmcubWF0Y2goL15bYS16QS1aXXsxLH06XFwvXFwvLyk7XG4gICAgY29uc3QgdXJsQXNTdHJpbmdOb1Byb3RvID0gdXJsUHJvdG9NYXRjaCA/IHVybEFzU3RyaW5nLnNsaWNlKHVybFByb3RvTWF0Y2hbMF0ubGVuZ3RoKSA6IHVybEFzU3RyaW5nO1xuICAgIGNvbnN0IHVybFBhcnRzID0gdXJsQXNTdHJpbmdOb1Byb3RvLnNwbGl0KFwiP1wiLCAxKTtcbiAgICBpZiAoKHVybFBhcnRzWzBdIHx8IFwiXCIpLm1hdGNoKC8oXFwvXFwvfFxcXFwpLykpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkludmFsaWQgaHJlZiAnXCIgKyB1cmxBc1N0cmluZyArIFwiJyBwYXNzZWQgdG8gbmV4dC9yb3V0ZXIgaW4gcGFnZTogJ1wiICsgcm91dGVyLnBhdGhuYW1lICsgXCInLiBSZXBlYXRlZCBmb3J3YXJkLXNsYXNoZXMgKC8vKSBvciBiYWNrc2xhc2hlcyBcXFxcIGFyZSBub3QgdmFsaWQgaW4gdGhlIGhyZWYuXCIpO1xuICAgICAgICBjb25zdCBub3JtYWxpemVkVXJsID0gKDAsIF91dGlscy5ub3JtYWxpemVSZXBlYXRlZFNsYXNoZXMpKHVybEFzU3RyaW5nTm9Qcm90byk7XG4gICAgICAgIHVybEFzU3RyaW5nID0gKHVybFByb3RvTWF0Y2ggPyB1cmxQcm90b01hdGNoWzBdIDogXCJcIikgKyBub3JtYWxpemVkVXJsO1xuICAgIH1cbiAgICAvLyBSZXR1cm4gYmVjYXVzZSBpdCBjYW5ub3QgYmUgcm91dGVkIGJ5IHRoZSBOZXh0LmpzIHJvdXRlclxuICAgIGlmICghKDAsIF9pc2xvY2FsdXJsLmlzTG9jYWxVUkwpKHVybEFzU3RyaW5nKSkge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZUFzID8gW1xuICAgICAgICAgICAgdXJsQXNTdHJpbmdcbiAgICAgICAgXSA6IHVybEFzU3RyaW5nO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICBiYXNlID0gbmV3IFVSTCh1cmxBc1N0cmluZy5zdGFydHNXaXRoKFwiI1wiKSA/IHJvdXRlci5hc1BhdGggOiByb3V0ZXIucGF0aG5hbWUsIFwiaHR0cDovL25cIik7XG4gICAgfSBjYXRjaCAoXykge1xuICAgICAgICAvLyBmYWxsYmFjayB0byAvIGZvciBpbnZhbGlkIGFzUGF0aCB2YWx1ZXMgZS5nLiAvL1xuICAgICAgICBiYXNlID0gbmV3IFVSTChcIi9cIiwgXCJodHRwOi8vblwiKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZmluYWxVcmwgPSBuZXcgVVJMKHVybEFzU3RyaW5nLCBiYXNlKTtcbiAgICAgICAgZmluYWxVcmwucGF0aG5hbWUgPSAoMCwgX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2gubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2gpKGZpbmFsVXJsLnBhdGhuYW1lKTtcbiAgICAgICAgbGV0IGludGVycG9sYXRlZEFzID0gXCJcIjtcbiAgICAgICAgaWYgKCgwLCBfdXRpbHMxLmlzRHluYW1pY1JvdXRlKShmaW5hbFVybC5wYXRobmFtZSkgJiYgZmluYWxVcmwuc2VhcmNoUGFyYW1zICYmIHJlc29sdmVBcykge1xuICAgICAgICAgICAgY29uc3QgcXVlcnkgPSAoMCwgX3F1ZXJ5c3RyaW5nLnNlYXJjaFBhcmFtc1RvVXJsUXVlcnkpKGZpbmFsVXJsLnNlYXJjaFBhcmFtcyk7XG4gICAgICAgICAgICBjb25zdCB7IHJlc3VsdCwgcGFyYW1zIH0gPSAoMCwgX2ludGVycG9sYXRlYXMuaW50ZXJwb2xhdGVBcykoZmluYWxVcmwucGF0aG5hbWUsIGZpbmFsVXJsLnBhdGhuYW1lLCBxdWVyeSk7XG4gICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgaW50ZXJwb2xhdGVkQXMgPSAoMCwgX2Zvcm1hdHVybC5mb3JtYXRXaXRoVmFsaWRhdGlvbikoe1xuICAgICAgICAgICAgICAgICAgICBwYXRobmFtZTogcmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICBoYXNoOiBmaW5hbFVybC5oYXNoLFxuICAgICAgICAgICAgICAgICAgICBxdWVyeTogKDAsIF9vbWl0Lm9taXQpKHF1ZXJ5LCBwYXJhbXMpXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gaWYgdGhlIG9yaWdpbiBkaWRuJ3QgY2hhbmdlLCBpdCBtZWFucyB3ZSByZWNlaXZlZCBhIHJlbGF0aXZlIGhyZWZcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRIcmVmID0gZmluYWxVcmwub3JpZ2luID09PSBiYXNlLm9yaWdpbiA/IGZpbmFsVXJsLmhyZWYuc2xpY2UoZmluYWxVcmwub3JpZ2luLmxlbmd0aCkgOiBmaW5hbFVybC5ocmVmO1xuICAgICAgICByZXR1cm4gcmVzb2x2ZUFzID8gW1xuICAgICAgICAgICAgcmVzb2x2ZWRIcmVmLFxuICAgICAgICAgICAgaW50ZXJwb2xhdGVkQXMgfHwgcmVzb2x2ZWRIcmVmXG4gICAgICAgIF0gOiByZXNvbHZlZEhyZWY7XG4gICAgfSBjYXRjaCAoXykge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZUFzID8gW1xuICAgICAgICAgICAgdXJsQXNTdHJpbmdcbiAgICAgICAgXSA6IHVybEFzU3RyaW5nO1xuICAgIH1cbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVzb2x2ZS1ocmVmLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJyZXNvbHZlSHJlZiIsIl9xdWVyeXN0cmluZyIsInJlcXVpcmUiLCJfZm9ybWF0dXJsIiwiX29taXQiLCJfdXRpbHMiLCJfbm9ybWFsaXpldHJhaWxpbmdzbGFzaCIsIl9pc2xvY2FsdXJsIiwiX3V0aWxzMSIsIl9pbnRlcnBvbGF0ZWFzIiwicm91dGVyIiwiaHJlZiIsInJlc29sdmVBcyIsImJhc2UiLCJ1cmxBc1N0cmluZyIsImZvcm1hdFdpdGhWYWxpZGF0aW9uIiwidXJsUHJvdG9NYXRjaCIsIm1hdGNoIiwidXJsQXNTdHJpbmdOb1Byb3RvIiwic2xpY2UiLCJsZW5ndGgiLCJ1cmxQYXJ0cyIsInNwbGl0IiwiY29uc29sZSIsImVycm9yIiwicGF0aG5hbWUiLCJub3JtYWxpemVkVXJsIiwibm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzIiwiaXNMb2NhbFVSTCIsIlVSTCIsInN0YXJ0c1dpdGgiLCJhc1BhdGgiLCJfIiwiZmluYWxVcmwiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsImludGVycG9sYXRlZEFzIiwiaXNEeW5hbWljUm91dGUiLCJzZWFyY2hQYXJhbXMiLCJxdWVyeSIsInNlYXJjaFBhcmFtc1RvVXJsUXVlcnkiLCJyZXN1bHQiLCJwYXJhbXMiLCJpbnRlcnBvbGF0ZUFzIiwiaGFzaCIsIm9taXQiLCJyZXNvbHZlZEhyZWYiLCJvcmlnaW4iLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/resolve-href.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/use-intersection.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/client/use-intersection.js ***! \***********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useIntersection\", ({\n enumerable: true,\n get: function() {\n return useIntersection;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"(ssr)/./node_modules/next/dist/client/request-idle-callback.js\");\nconst hasIntersectionObserver = typeof IntersectionObserver === \"function\";\nconst observers = new Map();\nconst idList = [];\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || \"\"\n };\n const existing = idList.find((obj)=>obj.root === id.root && obj.margin === id.margin);\n let instance;\n if (existing) {\n instance = observers.get(existing);\n if (instance) {\n return instance;\n }\n }\n const elements = new Map();\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n instance = {\n id,\n observer,\n elements\n };\n idList.push(id);\n observers.set(id, instance);\n return instance;\n}\nfunction observe(element, callback, options) {\n const { id, observer, elements } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element);\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n const index = idList.findIndex((obj)=>obj.root === id.root && obj.margin === id.margin);\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\nfunction useIntersection(param) {\n let { rootRef, rootMargin, disabled } = param;\n const isDisabled = disabled || !hasIntersectionObserver;\n const [visible, setVisible] = (0, _react.useState)(false);\n const elementRef = (0, _react.useRef)(null);\n const setElement = (0, _react.useCallback)((element)=>{\n elementRef.current = element;\n }, []);\n (0, _react.useEffect)(()=>{\n if (hasIntersectionObserver) {\n if (isDisabled || visible) return;\n const element = elementRef.current;\n if (element && element.tagName) {\n const unobserve = observe(element, (isVisible)=>isVisible && setVisible(isVisible), {\n root: rootRef == null ? void 0 : rootRef.current,\n rootMargin\n });\n return unobserve;\n }\n } else {\n if (!visible) {\n const idleCallback = (0, _requestidlecallback.requestIdleCallback)(()=>setVisible(true));\n return ()=>(0, _requestidlecallback.cancelIdleCallback)(idleCallback);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled,\n rootMargin,\n rootRef,\n visible,\n elementRef.current\n ]);\n const resetVisible = (0, _react.useCallback)(()=>{\n setVisible(false);\n }, []);\n return [\n setElement,\n visible,\n resetVisible\n ];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-intersection.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC91c2UtaW50ZXJzZWN0aW9uLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxtREFBa0Q7SUFDOUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxTQUFTQyxtQkFBT0EsQ0FBQyx3R0FBTztBQUM5QixNQUFNQyx1QkFBdUJELG1CQUFPQSxDQUFDLCtGQUF5QjtBQUM5RCxNQUFNRSwwQkFBMEIsT0FBT0MseUJBQXlCO0FBQ2hFLE1BQU1DLFlBQVksSUFBSUM7QUFDdEIsTUFBTUMsU0FBUyxFQUFFO0FBQ2pCLFNBQVNDLGVBQWVDLE9BQU87SUFDM0IsTUFBTUMsS0FBSztRQUNQQyxNQUFNRixRQUFRRSxJQUFJLElBQUk7UUFDdEJDLFFBQVFILFFBQVFJLFVBQVUsSUFBSTtJQUNsQztJQUNBLE1BQU1DLFdBQVdQLE9BQU9RLElBQUksQ0FBQyxDQUFDQyxNQUFNQSxJQUFJTCxJQUFJLEtBQUtELEdBQUdDLElBQUksSUFBSUssSUFBSUosTUFBTSxLQUFLRixHQUFHRSxNQUFNO0lBQ3BGLElBQUlLO0lBQ0osSUFBSUgsVUFBVTtRQUNWRyxXQUFXWixVQUFVUCxHQUFHLENBQUNnQjtRQUN6QixJQUFJRyxVQUFVO1lBQ1YsT0FBT0E7UUFDWDtJQUNKO0lBQ0EsTUFBTUMsV0FBVyxJQUFJWjtJQUNyQixNQUFNYSxXQUFXLElBQUlmLHFCQUFxQixDQUFDZ0I7UUFDdkNBLFFBQVFDLE9BQU8sQ0FBQyxDQUFDQztZQUNiLE1BQU1DLFdBQVdMLFNBQVNwQixHQUFHLENBQUN3QixNQUFNRSxNQUFNO1lBQzFDLE1BQU1DLFlBQVlILE1BQU1JLGNBQWMsSUFBSUosTUFBTUssaUJBQWlCLEdBQUc7WUFDcEUsSUFBSUosWUFBWUUsV0FBVztnQkFDdkJGLFNBQVNFO1lBQ2I7UUFDSjtJQUNK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QUFFOUQ7SUFDL0JpRSxPQUFPakUsT0FBTyxHQUFHQSxRQUFROEQsT0FBTztBQUNsQyxFQUVBLDRDQUE0QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3VzZS1pbnRlcnNlY3Rpb24uanM/ZmQ5NCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInVzZUludGVyc2VjdGlvblwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlSW50ZXJzZWN0aW9uO1xuICAgIH1cbn0pO1xuY29uc3QgX3JlYWN0ID0gcmVxdWlyZShcInJlYWN0XCIpO1xuY29uc3QgX3JlcXVlc3RpZGxlY2FsbGJhY2sgPSByZXF1aXJlKFwiLi9yZXF1ZXN0LWlkbGUtY2FsbGJhY2tcIik7XG5jb25zdCBoYXNJbnRlcnNlY3Rpb25PYnNlcnZlciA9IHR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlciA9PT0gXCJmdW5jdGlvblwiO1xuY29uc3Qgb2JzZXJ2ZXJzID0gbmV3IE1hcCgpO1xuY29uc3QgaWRMaXN0ID0gW107XG5mdW5jdGlvbiBjcmVhdGVPYnNlcnZlcihvcHRpb25zKSB7XG4gICAgY29uc3QgaWQgPSB7XG4gICAgICAgIHJvb3Q6IG9wdGlvbnMucm9vdCB8fCBudWxsLFxuICAgICAgICBtYXJnaW46IG9wdGlvbnMucm9vdE1hcmdpbiB8fCBcIlwiXG4gICAgfTtcbiAgICBjb25zdCBleGlzdGluZyA9IGlkTGlzdC5maW5kKChvYmopPT5vYmoucm9vdCA9PT0gaWQucm9vdCAmJiBvYmoubWFyZ2luID09PSBpZC5tYXJnaW4pO1xuICAgIGxldCBpbnN0YW5jZTtcbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgICAgaW5zdGFuY2UgPSBvYnNlcnZlcnMuZ2V0KGV4aXN0aW5nKTtcbiAgICAgICAgaWYgKGluc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5zdGFuY2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgZWxlbWVudHMgPSBuZXcgTWFwKCk7XG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMpPT57XG4gICAgICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpPT57XG4gICAgICAgICAgICBjb25zdCBjYWxsYmFjayA9IGVsZW1lbnRzLmdldChlbnRyeS50YXJnZXQpO1xuICAgICAgICAgICAgY29uc3QgaXNWaXNpYmxlID0gZW50cnkuaXNJbnRlcnNlY3RpbmcgfHwgZW50cnkuaW50ZXJzZWN0aW9uUmF0aW8gPiAwO1xuICAgICAgICAgICAgaWYgKGNhbGxiYWNrICYmIGlzVmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIGNhbGxiYWNrKGlzVmlzaWJsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0sIG9wdGlvbnMpO1xuICAgIGluc3RhbmNlID0ge1xuICAgICAgICBpZCxcbiAgICAgICAgb2JzZXJ2ZXIsXG4gICAgICAgIGVsZW1lbnRzXG4gICAgfTtcbiAgICBpZExpc3QucHVzaChpZCk7XG4gICAgb2JzZXJ2ZXJzLnNldChpZCwgaW5zdGFuY2UpO1xuICAgIHJldHVybiBpbnN0YW5jZTtcbn1cbmZ1bmN0aW9uIG9ic2VydmUoZWxlbWVudCwgY2FsbGJhY2ssIG9wdGlvbnMpIHtcbiAgICBjb25zdCB7IGlkLCBvYnNlcnZlciwgZWxlbWVudHMgfSA9IGNyZWF0ZU9ic2VydmVyKG9wdGlvbnMpO1xuICAgIGVsZW1lbnRzLnNldChlbGVtZW50LCBjYWxsYmFjayk7XG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50KTtcbiAgICByZXR1cm4gZnVuY3Rpb24gdW5vYnNlcnZlKCkge1xuICAgICAgICBlbGVtZW50cy5kZWxldGUoZWxlbWVudCk7XG4gICAgICAgIG9ic2VydmVyLnVub2JzZXJ2ZShlbGVtZW50KTtcbiAgICAgICAgLy8gRGVzdHJveSBvYnNlcnZlciB3aGVuIHRoZXJlJ3Mgbm90aGluZyBsZWZ0IHRvIHdhdGNoOlxuICAgICAgICBpZiAoZWxlbWVudHMuc2l6ZSA9PT0gMCkge1xuICAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgb2JzZXJ2ZXJzLmRlbGV0ZShpZCk7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IGlkTGlzdC5maW5kSW5kZXgoKG9iaik9Pm9iai5yb290ID09PSBpZC5yb290ICYmIG9iai5tYXJnaW4gPT09IGlkLm1hcmdpbik7XG4gICAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIGlkTGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbn1cbmZ1bmN0aW9uIHVzZUludGVyc2VjdGlvbihwYXJhbSkge1xuICAgIGxldCB7IHJvb3RSZWYsIHJvb3RNYXJnaW4sIGRpc2FibGVkIH0gPSBwYXJhbTtcbiAgICBjb25zdCBpc0Rpc2FibGVkID0gZGlzYWJsZWQgfHwgIWhhc0ludGVyc2VjdGlvbk9ic2VydmVyO1xuICAgIGNvbnN0IFt2aXNpYmxlLCBzZXRWaXNpYmxlXSA9ICgwLCBfcmVhY3QudXNlU3RhdGUpKGZhbHNlKTtcbiAgICBjb25zdCBlbGVtZW50UmVmID0gKDAsIF9yZWFjdC51c2VSZWYpKG51bGwpO1xuICAgIGNvbnN0IHNldEVsZW1lbnQgPSAoMCwgX3JlYWN0LnVzZUNhbGxiYWNrKSgoZWxlbWVudCk9PntcbiAgICAgICAgZWxlbWVudFJlZi5jdXJyZW50ID0gZWxlbWVudDtcbiAgICB9LCBbXSk7XG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIGlmIChoYXNJbnRlcnNlY3Rpb25PYnNlcnZlcikge1xuICAgICAgICAgICAgaWYgKGlzRGlzYWJsZWQgfHwgdmlzaWJsZSkgcmV0dXJuO1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGVsZW1lbnRSZWYuY3VycmVudDtcbiAgICAgICAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQudGFnTmFtZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVub2JzZXJ2ZSA9IG9ic2VydmUoZWxlbWVudCwgKGlzVmlzaWJsZSk9PmlzVmlzaWJsZSAmJiBzZXRWaXNpYmxlKGlzVmlzaWJsZSksIHtcbiAgICAgICAgICAgICAgICAgICAgcm9vdDogcm9vdFJlZiA9PSBudWxsID8gdm9pZCAwIDogcm9vdFJlZi5jdXJyZW50LFxuICAgICAgICAgICAgICAgICAgICByb290TWFyZ2luXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVub2JzZXJ2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghdmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlkbGVDYWxsYmFjayA9ICgwLCBfcmVxdWVzdGlkbGVjYWxsYmFjay5yZXF1ZXN0SWRsZUNhbGxiYWNrKSgoKT0+c2V0VmlzaWJsZSh0cnVlKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgpPT4oMCwgX3JlcXVlc3RpZGxlY2FsbGJhY2suY2FuY2VsSWRsZUNhbGxiYWNrKShpZGxlQ2FsbGJhY2spO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIH0sIFtcbiAgICAgICAgaXNEaXNhYmxlZCxcbiAgICAgICAgcm9vdE1hcmdpbixcbiAgICAgICAgcm9vdFJlZixcbiAgICAgICAgdmlzaWJsZSxcbiAgICAgICAgZWxlbWVudFJlZi5jdXJyZW50XG4gICAgXSk7XG4gICAgY29uc3QgcmVzZXRWaXNpYmxlID0gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKCk9PntcbiAgICAgICAgc2V0VmlzaWJsZShmYWxzZSk7XG4gICAgfSwgW10pO1xuICAgIHJldHVybiBbXG4gICAgICAgIHNldEVsZW1lbnQsXG4gICAgICAgIHZpc2libGUsXG4gICAgICAgIHJlc2V0VmlzaWJsZVxuICAgIF07XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZS1pbnRlcnNlY3Rpb24uanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInVzZUludGVyc2VjdGlvbiIsIl9yZWFjdCIsInJlcXVpcmUiLCJfcmVxdWVzdGlkbGVjYWxsYmFjayIsImhhc0ludGVyc2VjdGlvbk9ic2VydmVyIiwiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJvYnNlcnZlcnMiLCJNYXAiLCJpZExpc3QiLCJjcmVhdGVPYnNlcnZlciIsIm9wdGlvbnMiLCJpZCIsInJvb3QiLCJtYXJnaW4iLCJyb290TWFyZ2luIiwiZXhpc3RpbmciLCJmaW5kIiwib2JqIiwiaW5zdGFuY2UiLCJlbGVtZW50cyIsIm9ic2VydmVyIiwiZW50cmllcyIsImZvckVhY2giLCJlbnRyeSIsImNhbGxiYWNrIiwidGFyZ2V0IiwiaXNWaXNpYmxlIiwiaXNJbnRlcnNlY3RpbmciLCJpbnRlcnNlY3Rpb25SYXRpbyIsInB1c2giLCJzZXQiLCJvYnNlcnZlIiwiZWxlbWVudCIsInVub2JzZXJ2ZSIsImRlbGV0ZSIsInNpemUiLCJkaXNjb25uZWN0IiwiaW5kZXgiLCJmaW5kSW5kZXgiLCJzcGxpY2UiLCJwYXJhbSIsInJvb3RSZWYiLCJkaXNhYmxlZCIsImlzRGlzYWJsZWQiLCJ2aXNpYmxlIiwic2V0VmlzaWJsZSIsInVzZVN0YXRlIiwiZWxlbWVudFJlZiIsInVzZVJlZiIsInNldEVsZW1lbnQiLCJ1c2VDYWxsYmFjayIsImN1cnJlbnQiLCJ1c2VFZmZlY3QiLCJ0YWdOYW1lIiwiaWRsZUNhbGxiYWNrIiwicmVxdWVzdElkbGVDYWxsYmFjayIsImNhbmNlbElkbGVDYWxsYmFjayIsInJlc2V0VmlzaWJsZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/use-intersection.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/compiled/anser/index.js": /*!********************************************************!*\ !*** ./node_modules/next/dist/compiled/anser/index.js ***! \********************************************************/ /***/ ((module) => { "use strict"; eval("\n(()=>{\n \"use strict\";\n var e = {\n 211: (e)=>{\n var r = function() {\n function defineProperties(e, r) {\n for(var n = 0; n < r.length; n++){\n var s = r[n];\n s.enumerable = s.enumerable || false;\n s.configurable = true;\n if (\"value\" in s) s.writable = true;\n Object.defineProperty(e, s.key, s);\n }\n }\n return function(e, r, n) {\n if (r) defineProperties(e.prototype, r);\n if (n) defineProperties(e, n);\n return e;\n };\n }();\n function _classCallCheck(e, r) {\n if (!(e instanceof r)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var n = [\n [\n {\n color: \"0, 0, 0\",\n class: \"ansi-black\"\n },\n {\n color: \"187, 0, 0\",\n class: \"ansi-red\"\n },\n {\n color: \"0, 187, 0\",\n class: \"ansi-green\"\n },\n {\n color: \"187, 187, 0\",\n class: \"ansi-yellow\"\n },\n {\n color: \"0, 0, 187\",\n class: \"ansi-blue\"\n },\n {\n color: \"187, 0, 187\",\n class: \"ansi-magenta\"\n },\n {\n color: \"0, 187, 187\",\n class: \"ansi-cyan\"\n },\n {\n color: \"255,255,255\",\n class: \"ansi-white\"\n }\n ],\n [\n {\n color: \"85, 85, 85\",\n class: \"ansi-bright-black\"\n },\n {\n color: \"255, 85, 85\",\n class: \"ansi-bright-red\"\n },\n {\n color: \"0, 255, 0\",\n class: \"ansi-bright-green\"\n },\n {\n color: \"255, 255, 85\",\n class: \"ansi-bright-yellow\"\n },\n {\n color: \"85, 85, 255\",\n class: \"ansi-bright-blue\"\n },\n {\n color: \"255, 85, 255\",\n class: \"ansi-bright-magenta\"\n },\n {\n color: \"85, 255, 255\",\n class: \"ansi-bright-cyan\"\n },\n {\n color: \"255, 255, 255\",\n class: \"ansi-bright-white\"\n }\n ]\n ];\n var s = function() {\n r(Anser, null, [\n {\n key: \"escapeForHtml\",\n value: function escapeForHtml(e) {\n return (new Anser).escapeForHtml(e);\n }\n },\n {\n key: \"linkify\",\n value: function linkify(e) {\n return (new Anser).linkify(e);\n }\n },\n {\n key: \"ansiToHtml\",\n value: function ansiToHtml(e, r) {\n return (new Anser).ansiToHtml(e, r);\n }\n },\n {\n key: \"ansiToJson\",\n value: function ansiToJson(e, r) {\n return (new Anser).ansiToJson(e, r);\n }\n },\n {\n key: \"ansiToText\",\n value: function ansiToText(e) {\n return (new Anser).ansiToText(e);\n }\n }\n ]);\n function Anser() {\n _classCallCheck(this, Anser);\n this.fg = this.bg = this.fg_truecolor = this.bg_truecolor = null;\n this.bright = 0;\n }\n r(Anser, [\n {\n key: \"setupPalette\",\n value: function setupPalette() {\n this.PALETTE_COLORS = [];\n for(var e = 0; e < 2; ++e){\n for(var r = 0; r < 8; ++r){\n this.PALETTE_COLORS.push(n[e][r].color);\n }\n }\n var s = [\n 0,\n 95,\n 135,\n 175,\n 215,\n 255\n ];\n var i = function format(e, r, n) {\n return s[e] + \", \" + s[r] + \", \" + s[n];\n };\n var t = void 0, o = void 0, a = void 0;\n for(var l = 0; l < 6; ++l){\n for(var c = 0; c < 6; ++c){\n for(var u = 0; u < 6; ++u){\n this.PALETTE_COLORS.push(i(l, c, u));\n }\n }\n }\n var f = 8;\n for(var h = 0; h < 24; ++h, f += 10){\n this.PALETTE_COLORS.push(i(f, f, f));\n }\n }\n },\n {\n key: \"escapeForHtml\",\n value: function escapeForHtml(e) {\n return e.replace(/[&<>]/gm, function(e) {\n return e == \"&\" ? \"&\" : e == \"<\" ? \"<\" : e == \">\" ? \">\" : \"\";\n });\n }\n },\n {\n key: \"linkify\",\n value: function linkify(e) {\n return e.replace(/(https?:\\/\\/[^\\s]+)/gm, function(e) {\n return '<a href=\"' + e + '\">' + e + \"</a>\";\n });\n }\n },\n {\n key: \"ansiToHtml\",\n value: function ansiToHtml(e, r) {\n return this.process(e, r, true);\n }\n },\n {\n key: \"ansiToJson\",\n value: function ansiToJson(e, r) {\n r = r || {};\n r.json = true;\n r.clearLine = false;\n return this.process(e, r, true);\n }\n },\n {\n key: \"ansiToText\",\n value: function ansiToText(e) {\n return this.process(e, {}, false);\n }\n },\n {\n key: \"process\",\n value: function process(e, r, n) {\n var s = this;\n var i = this;\n var t = e.split(/\\033\\[/);\n var o = t.shift();\n if (r === undefined || r === null) {\n r = {};\n }\n r.clearLine = /\\r/.test(e);\n var a = t.map(function(e) {\n return s.processChunk(e, r, n);\n });\n if (r && r.json) {\n var l = i.processChunkJson(\"\");\n l.content = o;\n l.clearLine = r.clearLine;\n a.unshift(l);\n if (r.remove_empty) {\n a = a.filter(function(e) {\n return !e.isEmpty();\n });\n }\n return a;\n } else {\n a.unshift(o);\n }\n return a.join(\"\");\n }\n },\n {\n key: \"processChunkJson\",\n value: function processChunkJson(e, r, s) {\n r = typeof r == \"undefined\" ? {} : r;\n var i = r.use_classes = typeof r.use_classes != \"undefined\" && r.use_classes;\n var t = r.key = i ? \"class\" : \"color\";\n var o = {\n content: e,\n fg: null,\n bg: null,\n fg_truecolor: null,\n bg_truecolor: null,\n clearLine: r.clearLine,\n decoration: null,\n was_processed: false,\n isEmpty: function isEmpty() {\n return !o.content;\n }\n };\n var a = e.match(/^([!\\x3c-\\x3f]*)([\\d;]*)([\\x20-\\x2c]*[\\x40-\\x7e])([\\s\\S]*)/m);\n if (!a) return o;\n var l = o.content = a[4];\n var c = a[2].split(\";\");\n if (a[1] !== \"\" || a[3] !== \"m\") {\n return o;\n }\n if (!s) {\n return o;\n }\n var u = this;\n u.decoration = null;\n while(c.length > 0){\n var f = c.shift();\n var h = parseInt(f);\n if (isNaN(h) || h === 0) {\n u.fg = u.bg = u.decoration = null;\n } else if (h === 1) {\n u.decoration = \"bold\";\n } else if (h === 2) {\n u.decoration = \"dim\";\n } else if (h == 3) {\n u.decoration = \"italic\";\n } else if (h == 4) {\n u.decoration = \"underline\";\n } else if (h == 5) {\n u.decoration = \"blink\";\n } else if (h === 7) {\n u.decoration = \"reverse\";\n } else if (h === 8) {\n u.decoration = \"hidden\";\n } else if (h === 9) {\n u.decoration = \"strikethrough\";\n } else if (h == 39) {\n u.fg = null;\n } else if (h == 49) {\n u.bg = null;\n } else if (h >= 30 && h < 38) {\n u.fg = n[0][h % 10][t];\n } else if (h >= 90 && h < 98) {\n u.fg = n[1][h % 10][t];\n } else if (h >= 40 && h < 48) {\n u.bg = n[0][h % 10][t];\n } else if (h >= 100 && h < 108) {\n u.bg = n[1][h % 10][t];\n } else if (h === 38 || h === 48) {\n var p = h === 38;\n if (c.length >= 1) {\n var g = c.shift();\n if (g === \"5\" && c.length >= 1) {\n var v = parseInt(c.shift());\n if (v >= 0 && v <= 255) {\n if (!i) {\n if (!this.PALETTE_COLORS) {\n u.setupPalette();\n }\n if (p) {\n u.fg = this.PALETTE_COLORS[v];\n } else {\n u.bg = this.PALETTE_COLORS[v];\n }\n } else {\n var d = v >= 16 ? \"ansi-palette-\" + v : n[v > 7 ? 1 : 0][v % 8][\"class\"];\n if (p) {\n u.fg = d;\n } else {\n u.bg = d;\n }\n }\n }\n } else if (g === \"2\" && c.length >= 3) {\n var _ = parseInt(c.shift());\n var b = parseInt(c.shift());\n var y = parseInt(c.shift());\n if (_ >= 0 && _ <= 255 && b >= 0 && b <= 255 && y >= 0 && y <= 255) {\n var k = _ + \", \" + b + \", \" + y;\n if (!i) {\n if (p) {\n u.fg = k;\n } else {\n u.bg = k;\n }\n } else {\n if (p) {\n u.fg = \"ansi-truecolor\";\n u.fg_truecolor = k;\n } else {\n u.bg = \"ansi-truecolor\";\n u.bg_truecolor = k;\n }\n }\n }\n }\n }\n }\n }\n if (u.fg === null && u.bg === null && u.decoration === null) {\n return o;\n } else {\n var T = [];\n var m = [];\n var w = {};\n o.fg = u.fg;\n o.bg = u.bg;\n o.fg_truecolor = u.fg_truecolor;\n o.bg_truecolor = u.bg_truecolor;\n o.decoration = u.decoration;\n o.was_processed = true;\n return o;\n }\n }\n },\n {\n key: \"processChunk\",\n value: function processChunk(e, r, n) {\n var s = this;\n var i = this;\n r = r || {};\n var t = this.processChunkJson(e, r, n);\n if (r.json) {\n return t;\n }\n if (t.isEmpty()) {\n return \"\";\n }\n if (!t.was_processed) {\n return t.content;\n }\n var o = r.use_classes;\n var a = [];\n var l = [];\n var c = {};\n var u = function render_data(e) {\n var r = [];\n var n = void 0;\n for(n in e){\n if (e.hasOwnProperty(n)) {\n r.push(\"data-\" + n + '=\"' + s.escapeForHtml(e[n]) + '\"');\n }\n }\n return r.length > 0 ? \" \" + r.join(\" \") : \"\";\n };\n if (t.fg) {\n if (o) {\n l.push(t.fg + \"-fg\");\n if (t.fg_truecolor !== null) {\n c[\"ansi-truecolor-fg\"] = t.fg_truecolor;\n t.fg_truecolor = null;\n }\n } else {\n a.push(\"color:rgb(\" + t.fg + \")\");\n }\n }\n if (t.bg) {\n if (o) {\n l.push(t.bg + \"-bg\");\n if (t.bg_truecolor !== null) {\n c[\"ansi-truecolor-bg\"] = t.bg_truecolor;\n t.bg_truecolor = null;\n }\n } else {\n a.push(\"background-color:rgb(\" + t.bg + \")\");\n }\n }\n if (t.decoration) {\n if (o) {\n l.push(\"ansi-\" + t.decoration);\n } else if (t.decoration === \"bold\") {\n a.push(\"font-weight:bold\");\n } else if (t.decoration === \"dim\") {\n a.push(\"opacity:0.5\");\n } else if (t.decoration === \"italic\") {\n a.push(\"font-style:italic\");\n } else if (t.decoration === \"reverse\") {\n a.push(\"filter:invert(100%)\");\n } else if (t.decoration === \"hidden\") {\n a.push(\"visibility:hidden\");\n } else if (t.decoration === \"strikethrough\") {\n a.push(\"text-decoration:line-through\");\n } else {\n a.push(\"text-decoration:\" + t.decoration);\n }\n }\n if (o) {\n return '<span class=\"' + l.join(\" \") + '\"' + u(c) + \">\" + t.content + \"</span>\";\n } else {\n return '<span style=\"' + a.join(\";\") + '\"' + u(c) + \">\" + t.content + \"</span>\";\n }\n }\n }\n ]);\n return Anser;\n }();\n e.exports = s;\n }\n };\n var r = {};\n function __nccwpck_require__(n) {\n var s = r[n];\n if (s !== undefined) {\n return s.exports;\n }\n var i = r[n] = {\n exports: {}\n };\n var t = true;\n try {\n e[n](i, i.exports, __nccwpck_require__);\n t = false;\n } finally{\n if (t) delete r[n];\n }\n return i.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var n = __nccwpck_require__(211);\n module.exports = n;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Fuc2VyL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7QUFBQztJQUFLO0lBQWEsSUFBSUEsSUFBRTtRQUFDLEtBQUlBLENBQUFBO1lBQUksSUFBSUMsSUFBRTtnQkFBVyxTQUFTQyxpQkFBaUJGLENBQUMsRUFBQ0MsQ0FBQztvQkFBRSxJQUFJLElBQUlFLElBQUUsR0FBRUEsSUFBRUYsRUFBRUcsTUFBTSxFQUFDRCxJQUFJO3dCQUFDLElBQUlFLElBQUVKLENBQUMsQ0FBQ0UsRUFBRTt3QkFBQ0UsRUFBRUMsVUFBVSxHQUFDRCxFQUFFQyxVQUFVLElBQUU7d0JBQU1ELEVBQUVFLFlBQVksR0FBQzt3QkFBSyxJQUFHLFdBQVVGLEdBQUVBLEVBQUVHLFFBQVEsR0FBQzt3QkFBS0MsT0FBT0MsY0FBYyxDQUFDVixHQUFFSyxFQUFFTSxHQUFHLEVBQUNOO29CQUFFO2dCQUFDO2dCQUFDLE9BQU8sU0FBU0wsQ0FBQyxFQUFDQyxDQUFDLEVBQUNFLENBQUM7b0JBQUUsSUFBR0YsR0FBRUMsaUJBQWlCRixFQUFFWSxTQUFTLEVBQUNYO29CQUFHLElBQUdFLEdBQUVELGlCQUFpQkYsR0FBRUc7b0JBQUcsT0FBT0g7Z0JBQUM7WUFBQztZQUFJLFNBQVNhLGdCQUFnQmIsQ0FBQyxFQUFDQyxDQUFDO2dCQUFFLElBQUcsQ0FBRUQsQ0FBQUEsYUFBYUMsQ0FBQUEsR0FBRztvQkFBQyxNQUFNLElBQUlhLFVBQVU7Z0JBQW9DO1lBQUM7WUFBQyxJQUFJWCxJQUFFO2dCQUFDO29CQUFDO3dCQUFDWSxPQUFNO3dCQUFVQyxPQUFNO29CQUFZO29CQUFFO3dCQUFDRCxPQUFNO3dCQUFZQyxPQUFNO29CQUFVO29CQUFFO3dCQUFDRCxPQUFNO3dCQUFZQyxPQUFNO29CQUFZO29CQUFFO3dCQUFDRCxPQUFNO3dCQUFjQyxPQUFNO29CQUFhO29CQUFFO3dCQUFDRCxPQUFNO3dCQUFZQyxPQUFNO29CQUFXO29CQUFFO3dCQUFD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Q0FBQyxPQUFLLE1BQUluQixFQUFFRCxLQUFHLE1BQUlKLEVBQUVtQixPQUFPLEdBQUM7NEJBQVMsT0FBSztnQ0FBQyxPQUFNLGtCQUFnQmpCLEVBQUVzQixJQUFJLENBQUMsT0FBSyxNQUFJbkIsRUFBRUQsS0FBRyxNQUFJSixFQUFFbUIsT0FBTyxHQUFDOzRCQUFTO3dCQUFDO29CQUFDO2lCQUFFO2dCQUFFLE9BQU9wQztZQUFLO1lBQUlqQixFQUFFOEUsT0FBTyxHQUFDekU7UUFBQztJQUFDO0lBQUUsSUFBSUosSUFBRSxDQUFDO0lBQUUsU0FBUzhFLG9CQUFvQjVFLENBQUM7UUFBRSxJQUFJRSxJQUFFSixDQUFDLENBQUNFLEVBQUU7UUFBQyxJQUFHRSxNQUFJMkMsV0FBVTtZQUFDLE9BQU8zQyxFQUFFeUUsT0FBTztRQUFBO1FBQUMsSUFBSTlDLElBQUUvQixDQUFDLENBQUNFLEVBQUUsR0FBQztZQUFDMkUsU0FBUSxDQUFDO1FBQUM7UUFBRSxJQUFJNUMsSUFBRTtRQUFLLElBQUc7WUFBQ2xDLENBQUMsQ0FBQ0csRUFBRSxDQUFDNkIsR0FBRUEsRUFBRThDLE9BQU8sRUFBQ0M7WUFBcUI3QyxJQUFFO1FBQUssU0FBUTtZQUFDLElBQUdBLEdBQUUsT0FBT2pDLENBQUMsQ0FBQ0UsRUFBRTtRQUFBO1FBQUMsT0FBTzZCLEVBQUU4QyxPQUFPO0lBQUE7SUFBQyxJQUFHLE9BQU9DLHdCQUFzQixhQUFZQSxvQkFBb0JDLEVBQUUsR0FBQ0MsWUFBVTtJQUFJLElBQUk5RSxJQUFFNEUsb0JBQW9CO0lBQUtHLE9BQU9KLE9BQU8sR0FBQzNFO0FBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Fuc2VyL2luZGV4LmpzPzQyZGQiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9ezIxMTplPT57dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKGUscil7Zm9yKHZhciBuPTA7bjxyLmxlbmd0aDtuKyspe3ZhciBzPXJbbl07cy5lbnVtZXJhYmxlPXMuZW51bWVyYWJsZXx8ZmFsc2U7cy5jb25maWd1cmFibGU9dHJ1ZTtpZihcInZhbHVlXCJpbiBzKXMud3JpdGFibGU9dHJ1ZTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxzLmtleSxzKX19cmV0dXJuIGZ1bmN0aW9uKGUscixuKXtpZihyKWRlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUscik7aWYobilkZWZpbmVQcm9wZXJ0aWVzKGUsbik7cmV0dXJuIGV9fSgpO2Z1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhlLHIpe2lmKCEoZSBpbnN0YW5jZW9mIHIpKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfX12YXIgbj1bW3tjb2xvcjpcIjAsIDAsIDBcIixjbGFzczpcImFuc2ktYmxhY2tcIn0se2NvbG9yOlwiMTg3LCAwLCAwXCIsY2xhc3M6XCJhbnNpLXJlZFwifSx7Y29sb3I6XCIwLCAxODcsIDBcIixjbGFzczpcImFuc2ktZ3JlZW5cIn0se2NvbG9yOlwiMTg3LCAxODcsIDBcIixjbGFzczpcImFuc2kteWVsbG93XCJ9LHtjb2xvcjpcIjAsIDAsIDE4N1wiLGNsYXNzOlwiYW5zaS1ibHVlXCJ9LHtjb2xvcjpcIjE4NywgMCwgMTg3XCIsY2xhc3M6XCJhbnNpLW1hZ2VudGFcIn0se2NvbG9yOlwiMCwgMTg3LCAxODdcIixjbGFzczpcImFuc2ktY3lhblwifSx7Y29sb3I6XCIyNTUsMjU1LDI1NVwiLGNsYXNzOlwiYW5zaS13aGl0ZVwifV0sW3tjb2xvcjpcIjg1LCA4NSwgODVcIixjbGFzczpcImFuc2ktYnJpZ2h0LWJsYWNrXCJ9LHtjb2xvcjpcIjI1NSwgODUsIDg1XCIsY2xhc3M6XCJhbnNpLWJyaWdodC1yZWRcIn0se2NvbG9yOlwiMCwgMjU1LCAwXCIsY2xhc3M6XCJhbnNpLWJyaWdodC1ncmVlblwifSx7Y29sb3I6XCIyNTUsIDI1NSwgODVcIixjbGFzczpcImFuc2ktYnJpZ2h0LXllbGxvd1wifSx7Y29sb3I6XCI4NSwgODUsIDI1NVwiLGNsYXNzOlwiYW5zaS1icmlnaHQtYmx1ZVwifSx7Y29sb3I6XCIyNTUsIDg1LCAyNTVcIixjbGFzczpcImFuc2ktYnJpZ2h0LW1hZ2VudGFcIn0se2NvbG9yOlwiODUsIDI1NSwgMjU1XCIsY2xhc3M6XCJhbnNpLWJyaWdodC1jeWFuXCJ9LHtjb2xvcjpcIjI1NSwgMjU1LCAyNTVcIixjbGFzczpcImFuc2ktYnJpZ2h0LXdoaXRlXCJ9XV07dmFyIHM9ZnVuY3Rpb24oKXtyKEFuc2VyLG51bGwsW3trZXk6XCJlc2NhcGVGb3JIdG1sXCIsdmFsdWU6ZnVuY3Rpb24gZXNjYXBlRm9ySHRtbChlKXtyZXR1cm4obmV3IEFuc2VyKS5lc2NhcGVGb3JIdG1sKGUpfX0se2tleTpcImxpbmtpZnlcIix2YWx1ZTpmdW5jdGlvbiBsaW5raWZ5KGUpe3JldHVybihuZXcgQW5zZXIpLmxpbmtpZnkoZSl9fSx7a2V5OlwiYW5zaVRvSHRtbFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0h0bWwoZSxyKXtyZXR1cm4obmV3IEFuc2VyKS5hbnNpVG9IdG1sKGUscil9fSx7a2V5OlwiYW5zaVRvSnNvblwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0pzb24oZSxyKXtyZXR1cm4obmV3IEFuc2VyKS5hbnNpVG9Kc29uKGUscil9fSx7a2V5OlwiYW5zaVRvVGV4dFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb1RleHQoZSl7cmV0dXJuKG5ldyBBbnNlcikuYW5zaVRvVGV4dChlKX19XSk7ZnVuY3Rpb24gQW5zZXIoKXtfY2xhc3NDYWxsQ2hlY2sodGhpcyxBbnNlcik7dGhpcy5mZz10aGlzLmJnPXRoaXMuZmdfdHJ1ZWNvbG9yPXRoaXMuYmdfdHJ1ZWNvbG9yPW51bGw7dGhpcy5icmlnaHQ9MH1yKEFuc2VyLFt7a2V5Olwic2V0dXBQYWxldHRlXCIsdmFsdWU6ZnVuY3Rpb24gc2V0dXBQYWxldHRlKCl7dGhpcy5QQUxFVFRFX0NPTE9SUz1bXTtmb3IodmFyIGU9MDtlPDI7KytlKXtmb3IodmFyIHI9MDtyPDg7KytyKXt0aGlzLlBBTEVUVEVfQ09MT1JTLnB1c2gobltlXVtyXS5jb2xvcil9fXZhciBzPVswLDk1LDEzNSwxNzUsMjE1LDI1NV07dmFyIGk9ZnVuY3Rpb24gZm9ybWF0KGUscixuKXtyZXR1cm4gc1tlXStcIiwgXCIrc1tyXStcIiwgXCIrc1tuXX07dmFyIHQ9dm9pZCAwLG89dm9pZCAwLGE9dm9pZCAwO2Zvcih2YXIgbD0wO2w8NjsrK2wpe2Zvcih2YXIgYz0wO2M8NjsrK2Mpe2Zvcih2YXIgdT0wO3U8NjsrK3Upe3RoaXMuUEFMRVRURV9DT0xPUlMucHVzaChpKGwsYyx1KSl9fX12YXIgZj04O2Zvcih2YXIgaD0wO2g8MjQ7KytoLGYrPTEwKXt0aGlzLlBBTEVUVEVfQ09MT1JTLnB1c2goaShmLGYsZikpfX19LHtrZXk6XCJlc2NhcGVGb3JIdG1sXCIsdmFsdWU6ZnVuY3Rpb24gZXNjYXBlRm9ySHRtbChlKXtyZXR1cm4gZS5yZXBsYWNlKC9bJjw+XS9nbSwoZnVuY3Rpb24oZSl7cmV0dXJuIGU9PVwiJlwiP1wiJmFtcDtcIjplPT1cIjxcIj9cIiZsdDtcIjplPT1cIj5cIj9cIiZndDtcIjpcIlwifSkpfX0se2tleTpcImxpbmtpZnlcIix2YWx1ZTpmdW5jdGlvbiBsaW5raWZ5KGUpe3JldHVybiBlLnJlcGxhY2UoLyhodHRwcz86XFwvXFwvW15cXHNdKykvZ20sKGZ1bmN0aW9uKGUpe3JldHVybic8YSBocmVmPVwiJytlKydcIj4nK2UrXCI8L2E+XCJ9KSl9fSx7a2V5OlwiYW5zaVRvSHRtbFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0h0bWwoZSxyKXtyZXR1cm4gdGhpcy5wcm9jZXNzKGUscix0cnVlKX19LHtrZXk6XCJhbnNpVG9Kc29uXCIsdmFsdWU6ZnVuY3Rpb24gYW5zaVRvSnNvbihlLHIpe3I9cnx8e307ci5qc29uPXRydWU7ci5jbGVhckxpbmU9ZmFsc2U7cmV0dXJuIHRoaXMucHJvY2VzcyhlLHIsdHJ1ZSl9fSx7a2V5OlwiYW5zaVRvVGV4dFwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb1RleHQoZSl7cmV0dXJuIHRoaXMucHJvY2VzcyhlLHt9LGZhbHNlKX19LHtrZXk6XCJwcm9jZXNzXCIsdmFsdWU6ZnVuY3Rpb24gcHJvY2VzcyhlLHIsbil7dmFyIHM9dGhpczt2YXIgaT10aGlzO3ZhciB0PWUuc3BsaXQoL1xcMDMzXFxbLyk7dmFyIG89dC5zaGlmdCgpO2lmKHI9PT11bmRlZmluZWR8fHI9PT1udWxsKXtyPXt9fXIuY2xlYXJMaW5lPS9cXHIvLnRlc3QoZSk7dmFyIGE9dC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBzLnByb2Nlc3NDaHVuayhlLHIsbil9KSk7aWYociYmci5qc29uKXt2YXIgbD1pLnByb2Nlc3NDaHVua0pzb24oXCJcIik7bC5jb250ZW50PW87bC5jbGVhckxpbmU9ci5jbGVhckxpbmU7YS51bnNoaWZ0KGwpO2lmKHIucmVtb3ZlX2VtcHR5KXthPWEuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4hZS5pc0VtcHR5KCl9KSl9cmV0dXJuIGF9ZWxzZXthLnVuc2hpZnQobyl9cmV0dXJuIGEuam9pbihcIlwiKX19LHtrZXk6XCJwcm9jZXNzQ2h1bmtKc29uXCIsdmFsdWU6ZnVuY3Rpb24gcHJvY2Vzc0NodW5rSnNvbihlLHIscyl7cj10eXBlb2Ygcj09XCJ1bmRlZmluZWRcIj97fTpyO3ZhciBpPXIudXNlX2NsYXNzZXM9dHlwZW9mIHIudXNlX2NsYXNzZXMhPVwidW5kZWZpbmVkXCImJnIudXNlX2NsYXNzZXM7dmFyIHQ9ci5rZXk9aT9cImNsYXNzXCI6XCJjb2xvclwiO3ZhciBvPXtjb250ZW50OmUsZmc6bnVsbCxiZzpudWxsLGZnX3RydWVjb2xvcjpudWxsLGJnX3RydWVjb2xvcjpudWxsLGNsZWFyTGluZTpyLmNsZWFyTGluZSxkZWNvcmF0aW9uOm51bGwsd2FzX3Byb2Nlc3NlZDpmYWxzZSxpc0VtcHR5OmZ1bmN0aW9uIGlzRW1wdHkoKXtyZXR1cm4hby5jb250ZW50fX07dmFyIGE9ZS5tYXRjaCgvXihbIVxceDNjLVxceDNmXSopKFtcXGQ7XSopKFtcXHgyMC1cXHgyY10qW1xceDQwLVxceDdlXSkoW1xcc1xcU10qKS9tKTtpZighYSlyZXR1cm4gbzt2YXIgbD1vLmNvbnRlbnQ9YVs0XTt2YXIgYz1hWzJdLnNwbGl0KFwiO1wiKTtpZihhWzFdIT09XCJcInx8YVszXSE9PVwibVwiKXtyZXR1cm4gb31pZighcyl7cmV0dXJuIG99dmFyIHU9dGhpczt1LmRlY29yYXRpb249bnVsbDt3aGlsZShjLmxlbmd0aD4wKXt2YXIgZj1jLnNoaWZ0KCk7dmFyIGg9cGFyc2VJbnQoZik7aWYoaXNOYU4oaCl8fGg9PT0wKXt1LmZnPXUuYmc9dS5kZWNvcmF0aW9uPW51bGx9ZWxzZSBpZihoPT09MSl7dS5kZWNvcmF0aW9uPVwiYm9sZFwifWVsc2UgaWYoaD09PTIpe3UuZGVjb3JhdGlvbj1cImRpbVwifWVsc2UgaWYoaD09Myl7dS5kZWNvcmF0aW9uPVwiaXRhbGljXCJ9ZWxzZSBpZihoPT00KXt1LmRlY29yYXRpb249XCJ1bmRlcmxpbmVcIn1lbHNlIGlmKGg9PTUpe3UuZGVjb3JhdGlvbj1cImJsaW5rXCJ9ZWxzZSBpZihoPT09Nyl7dS5kZWNvcmF0aW9uPVwicmV2ZXJzZVwifWVsc2UgaWYoaD09PTgpe3UuZGVjb3JhdGlvbj1cImhpZGRlblwifWVsc2UgaWYoaD09PTkpe3UuZGVjb3JhdGlvbj1cInN0cmlrZXRocm91Z2hcIn1lbHNlIGlmKGg9PTM5KXt1LmZnPW51bGx9ZWxzZSBpZihoPT00OSl7dS5iZz1udWxsfWVsc2UgaWYoaD49MzAmJmg8Mzgpe3UuZmc9blswXVtoJTEwXVt0XX1lbHNlIGlmKGg+PTkwJiZoPDk4KXt1LmZnPW5bMV1baCUxMF1bdF19ZWxzZSBpZihoPj00MCYmaDw0OCl7dS5iZz1uWzBdW2glMTBdW3RdfWVsc2UgaWYoaD49MTAwJiZoPDEwOCl7dS5iZz1uWzFdW2glMTBdW3RdfWVsc2UgaWYoaD09PTM4fHxoPT09NDgpe3ZhciBwPWg9PT0zODtpZihjLmxlbmd0aD49MSl7dmFyIGc9Yy5zaGlmdCgpO2lmKGc9PT1cIjVcIiYmYy5sZW5ndGg+PTEpe3ZhciB2PXBhcnNlSW50KGMuc2hpZnQoKSk7aWYodj49MCYmdjw9MjU1KXtpZighaSl7aWYoIXRoaXMuUEFMRVRURV9DT0xPUlMpe3Uuc2V0dXBQYWxldHRlKCl9aWYocCl7dS5mZz10aGlzLlBBTEVUVEVfQ09MT1JTW3ZdfWVsc2V7dS5iZz10aGlzLlBBTEVUVEVfQ09MT1JTW3ZdfX1lbHNle3ZhciBkPXY+PTE2P1wiYW5zaS1wYWxldHRlLVwiK3Y6blt2Pjc/MTowXVt2JThdW1wiY2xhc3NcIl07aWYocCl7dS5mZz1kfWVsc2V7dS5iZz1kfX19fWVsc2UgaWYoZz09PVwiMlwiJiZjLmxlbmd0aD49Myl7dmFyIF89cGFyc2VJbnQoYy5zaGlmdCgpKTt2YXIgYj1wYXJzZUludChjLnNoaWZ0KCkpO3ZhciB5PXBhcnNlSW50KGMuc2hpZnQoKSk7aWYoXz49MCYmXzw9MjU1JiZiPj0wJiZiPD0yNTUmJnk+PTAmJnk8PTI1NSl7dmFyIGs9XytcIiwgXCIrYitcIiwgXCIreTtpZighaSl7aWYocCl7dS5mZz1rfWVsc2V7dS5iZz1rfX1lbHNle2lmKHApe3UuZmc9XCJhbnNpLXRydWVjb2xvclwiO3UuZmdfdHJ1ZWNvbG9yPWt9ZWxzZXt1LmJnPVwiYW5zaS10cnVlY29sb3JcIjt1LmJnX3RydWVjb2xvcj1rfX19fX19fWlmKHUuZmc9PT1udWxsJiZ1LmJnPT09bnVsbCYmdS5kZWNvcmF0aW9uPT09bnVsbCl7cmV0dXJuIG99ZWxzZXt2YXIgVD1bXTt2YXIgbT1bXTt2YXIgdz17fTtvLmZnPXUuZmc7by5iZz11LmJnO28uZmdfdHJ1ZWNvbG9yPXUuZmdfdHJ1ZWNvbG9yO28uYmdfdHJ1ZWNvbG9yPXUuYmdfdHJ1ZWNvbG9yO28uZGVjb3JhdGlvbj11LmRlY29yYXRpb247by53YXNfcHJvY2Vzc2VkPXRydWU7cmV0dXJuIG99fX0se2tleTpcInByb2Nlc3NDaHVua1wiLHZhbHVlOmZ1bmN0aW9uIHByb2Nlc3NDaHVuayhlLHIsbil7dmFyIHM9dGhpczt2YXIgaT10aGlzO3I9cnx8e307dmFyIHQ9dGhpcy5wcm9jZXNzQ2h1bmtKc29uKGUscixuKTtpZihyLmpzb24pe3JldHVybiB0fWlmKHQuaXNFbXB0eSgpKXtyZXR1cm5cIlwifWlmKCF0Lndhc19wcm9jZXNzZWQpe3JldHVybiB0LmNvbnRlbnR9dmFyIG89ci51c2VfY2xhc3Nlczt2YXIgYT1bXTt2YXIgbD1bXTt2YXIgYz17fTt2YXIgdT1mdW5jdGlvbiByZW5kZXJfZGF0YShlKXt2YXIgcj1bXTt2YXIgbj12b2lkIDA7Zm9yKG4gaW4gZSl7aWYoZS5oYXNPd25Qcm9wZXJ0eShuKSl7ci5wdXNoKFwiZGF0YS1cIituKyc9XCInK3MuZXNjYXBlRm9ySHRtbChlW25dKSsnXCInKX19cmV0dXJuIHIubGVuZ3RoPjA/XCIgXCIrci5qb2luKFwiIFwiKTpcIlwifTtpZih0LmZnKXtpZihvKXtsLnB1c2godC5mZytcIi1mZ1wiKTtpZih0LmZnX3RydWVjb2xvciE9PW51bGwpe2NbXCJhbnNpLXRydWVjb2xvci1mZ1wiXT10LmZnX3RydWVjb2xvcjt0LmZnX3RydWVjb2xvcj1udWxsfX1lbHNle2EucHVzaChcImNvbG9yOnJnYihcIit0LmZnK1wiKVwiKX19aWYodC5iZyl7aWYobyl7bC5wdXNoKHQuYmcrXCItYmdcIik7aWYodC5iZ190cnVlY29sb3IhPT1udWxsKXtjW1wiYW5zaS10cnVlY29sb3ItYmdcIl09dC5iZ190cnVlY29sb3I7dC5iZ190cnVlY29sb3I9bnVsbH19ZWxzZXthLnB1c2goXCJiYWNrZ3JvdW5kLWNvbG9yOnJnYihcIit0LmJnK1wiKVwiKX19aWYodC5kZWNvcmF0aW9uKXtpZihvKXtsLnB1c2goXCJhbnNpLVwiK3QuZGVjb3JhdGlvbil9ZWxzZSBpZih0LmRlY29yYXRpb249PT1cImJvbGRcIil7YS5wdXNoKFwiZm9udC13ZWlnaHQ6Ym9sZFwiKX1lbHNlIGlmKHQuZGVjb3JhdGlvbj09PVwiZGltXCIpe2EucHVzaChcIm9wYWNpdHk6MC41XCIpfWVsc2UgaWYodC5kZWNvcmF0aW9uPT09XCJpdGFsaWNcIil7YS5wdXNoKFwiZm9udC1zdHlsZTppdGFsaWNcIil9ZWxzZSBpZih0LmRlY29yYXRpb249PT1cInJldmVyc2VcIil7YS5wdXNoKFwiZmlsdGVyOmludmVydCgxMDAlKVwiKX1lbHNlIGlmKHQuZGVjb3JhdGlvbj09PVwiaGlkZGVuXCIpe2EucHVzaChcInZpc2liaWxpdHk6aGlkZGVuXCIpfWVsc2UgaWYodC5kZWNvcmF0aW9uPT09XCJzdHJpa2V0aHJvdWdoXCIpe2EucHVzaChcInRleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2hcIil9ZWxzZXthLnB1c2goXCJ0ZXh0LWRlY29yYXRpb246XCIrdC5kZWNvcmF0aW9uKX19aWYobyl7cmV0dXJuJzxzcGFuIGNsYXNzPVwiJytsLmpvaW4oXCIgXCIpKydcIicrdShjKStcIj5cIit0LmNvbnRlbnQrXCI8L3NwYW4+XCJ9ZWxzZXtyZXR1cm4nPHNwYW4gc3R5bGU9XCInK2Euam9pbihcIjtcIikrJ1wiJyt1KGMpK1wiPlwiK3QuY29udGVudCtcIjwvc3Bhbj5cIn19fV0pO3JldHVybiBBbnNlcn0oKTtlLmV4cG9ydHM9c319O3ZhciByPXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18obil7dmFyIHM9cltuXTtpZihzIT09dW5kZWZpbmVkKXtyZXR1cm4gcy5leHBvcnRzfXZhciBpPXJbbl09e2V4cG9ydHM6e319O3ZhciB0PXRydWU7dHJ5e2Vbbl0oaSxpLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7dD1mYWxzZX1maW5hbGx5e2lmKHQpZGVsZXRlIHJbbl19cmV0dXJuIGkuZXhwb3J0c31pZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIG49X19uY2N3cGNrX3JlcXVpcmVfXygyMTEpO21vZHVsZS5leHBvcnRzPW59KSgpOyJdLCJuYW1lcyI6WyJlIiwiciIsImRlZmluZVByb3BlcnRpZXMiLCJuIiwibGVuZ3RoIiwicyIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5Iiwia2V5IiwicHJvdG90eXBlIiwiX2NsYXNzQ2FsbENoZWNrIiwiVHlwZUVycm9yIiwiY29sb3IiLCJjbGFzcyIsIkFuc2VyIiwidmFsdWUiLCJlc2NhcGVGb3JIdG1sIiwibGlua2lmeSIsImFuc2lUb0h0bWwiLCJhbnNpVG9Kc29uIiwiYW5zaVRvVGV4dCIsImZnIiwiYmciLCJmZ190cnVlY29sb3IiLCJiZ190cnVlY29sb3IiLCJicmlnaHQiLCJzZXR1cFBhbGV0dGUiLCJQQUxFVFRFX0NPTE9SUyIsInB1c2giLCJpIiwiZm9ybWF0IiwidCIsIm8iLCJhIiwibCIsImMiLCJ1IiwiZiIsImgiLCJyZXBsYWNlIiwicHJvY2VzcyIsImpzb24iLCJjbGVhckxpbmUiLCJzcGxpdCIsInNoaWZ0IiwidW5kZWZpbmVkIiwidGVzdCIsIm1hcCIsInByb2Nlc3NDaHVuayIsInByb2Nlc3NDaHVua0pzb24iLCJjb250ZW50IiwidW5zaGlmdCIsInJlbW92ZV9lbXB0eSIsImZpbHRlciIsImlzRW1wdHkiLCJqb2luIiwidXNlX2NsYXNzZXMiLCJkZWNvcmF0aW9uIiwid2FzX3Byb2Nlc3NlZCIsIm1hdGNoIiwicGFyc2VJbnQiLCJpc05hTiIsInAiLCJnIiwidiIsImQiLCJfIiwiYiIsInkiLCJrIiwiVCIsIm0iLCJ3IiwicmVuZGVyX2RhdGEiLCJoYXNPd25Qcm9wZXJ0eSIsImV4cG9ydHMiLCJfX25jY3dwY2tfcmVxdWlyZV9fIiwiYWIiLCJfX2Rpcm5hbWUiLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/anser/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/compiled/css.escape/css.escape.js": /*!******************************************************************!*\ !*** ./node_modules/next/dist/compiled/css.escape/css.escape.js ***! \******************************************************************/ /***/ ((module) => { "use strict"; eval("\n(()=>{\n var e = {\n 553: function(e) {\n (function(r, t) {\n if (true) {\n e.exports = t(r);\n } else {}\n })(typeof global != \"undefined\" ? global : this, function(e) {\n if (e.CSS && e.CSS.escape) {\n return e.CSS.escape;\n }\n var cssEscape = function(e) {\n if (arguments.length == 0) {\n throw new TypeError(\"`CSS.escape` requires an argument.\");\n }\n var r = String(e);\n var t = r.length;\n var n = -1;\n var a;\n var i = \"\";\n var u = r.charCodeAt(0);\n while(++n < t){\n a = r.charCodeAt(n);\n if (a == 0) {\n i += \"�\";\n continue;\n }\n if (a >= 1 && a <= 31 || a == 127 || n == 0 && a >= 48 && a <= 57 || n == 1 && a >= 48 && a <= 57 && u == 45) {\n i += \"\\\\\" + a.toString(16) + \" \";\n continue;\n }\n if (n == 0 && t == 1 && a == 45) {\n i += \"\\\\\" + r.charAt(n);\n continue;\n }\n if (a >= 128 || a == 45 || a == 95 || a >= 48 && a <= 57 || a >= 65 && a <= 90 || a >= 97 && a <= 122) {\n i += r.charAt(n);\n continue;\n }\n i += \"\\\\\" + r.charAt(n);\n }\n return i;\n };\n if (!e.CSS) {\n e.CSS = {};\n }\n e.CSS.escape = cssEscape;\n return cssEscape;\n });\n }\n };\n var r = {};\n function __nccwpck_require__(t) {\n var n = r[t];\n if (n !== undefined) {\n return n.exports;\n }\n var a = r[t] = {\n exports: {}\n };\n var i = true;\n try {\n e[t].call(a.exports, a, a.exports, __nccwpck_require__);\n i = false;\n } finally{\n if (i) delete r[t];\n }\n return a.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var t = __nccwpck_require__(553);\n module.exports = t;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Nzcy5lc2NhcGUvY3NzLmVzY2FwZS5qcyIsIm1hcHBpbmdzIjoiO0FBQUM7SUFBSyxJQUFJQSxJQUFFO1FBQUMsS0FBSSxTQUFTQSxDQUFDO1lBQUcsVUFBU0MsQ0FBQyxFQUFDQyxDQUFDO2dCQUFFLElBQUcsSUFBSSxFQUFDO29CQUFDRixFQUFFRyxPQUFPLEdBQUNELEVBQUVEO2dCQUFFLE9BQUssRUFBRTtZQUFBLEdBQUcsT0FBT0csVUFBUSxjQUFZQSxTQUFPLElBQUksRUFBRSxTQUFTSixDQUFDO2dCQUFFLElBQUdBLEVBQUVLLEdBQUcsSUFBRUwsRUFBRUssR0FBRyxDQUFDQyxNQUFNLEVBQUM7b0JBQUMsT0FBT04sRUFBRUssR0FBRyxDQUFDQyxNQUFNO2dCQUFBO2dCQUFDLElBQUlDLFlBQVUsU0FBU1AsQ0FBQztvQkFBRSxJQUFHUSxVQUFVQyxNQUFNLElBQUUsR0FBRTt3QkFBQyxNQUFNLElBQUlDLFVBQVU7b0JBQXFDO29CQUFDLElBQUlULElBQUVVLE9BQU9YO29CQUFHLElBQUlFLElBQUVELEVBQUVRLE1BQU07b0JBQUMsSUFBSUcsSUFBRSxDQUFDO29CQUFFLElBQUlDO29CQUFFLElBQUlDLElBQUU7b0JBQUcsSUFBSUMsSUFBRWQsRUFBRWUsVUFBVSxDQUFDO29CQUFHLE1BQU0sRUFBRUosSUFBRVYsRUFBRTt3QkFBQ1csSUFBRVosRUFBRWUsVUFBVSxDQUFDSjt3QkFBRyxJQUFHQyxLQUFHLEdBQUU7NEJBQUNDLEtBQUc7NEJBQUk7d0JBQVE7d0JBQUMsSUFBR0QsS0FBRyxLQUFHQSxLQUFHLE1BQUlBLEtBQUcsT0FBS0QsS0FBRyxLQUFHQyxLQUFHLE1BQUlBLEtBQUcsTUFBSUQsS0FBRyxLQUFHQyxLQUFHLE1BQUlBLEtBQUcsTUFBSUUsS0FBRyxJQUFHOzRCQUFDRCxLQUFHLE9BQUtELEVBQUVJLFFBQVEsQ0FBQyxNQUFJOzRCQUFJO3dCQUFRO3dCQUFDLElBQUdMLEtBQUcsS0FBR1YsS0FBRyxLQUFHVyxLQUFHLElBQUc7NEJBQUNDLEtBQUcsT0FBS2IsRUFBRWlCLE1BQU0sQ0FBQ047NEJBQUc7d0JBQVE7d0JBQUMsSUFBR0MsS0FBRyxPQUFLQSxLQUFHLE1BQUlBLEtBQUcsTUFBSUEsS0FBRyxNQUFJQSxLQUFHLE1BQUlBLEtBQUcsTUFBSUEsS0FBRyxNQUFJQSxLQUFHLE1BQUlBLEtBQUcsS0FBSTs0QkFBQ0MsS0FBR2IsRUFBRWlCLE1BQU0sQ0FBQ047NEJBQUc7d0JBQVE7d0JBQUNFLEtBQUcsT0FBS2IsRUFBRWlCLE1BQU0sQ0FBQ047b0JBQUU7b0JBQUMsT0FBT0U7Z0JBQUM7Z0JBQUUsSUFBRyxDQUFDZCxFQUFFSyxHQUFHLEVBQUM7b0JBQUNMLEVBQUVLLEdBQUcsR0FBQyxDQUFDO2dCQUFDO2dCQUFDTCxFQUFFSyxHQUFHLENBQUNDLE1BQU0sR0FBQ0M7Z0JBQVUsT0FBT0E7WUFBUztRQUFHO0lBQUM7SUFBRSxJQUFJTixJQUFFLENBQUM7SUFBRSxTQUFTa0Isb0JBQW9CakIsQ0FBQztRQUFFLElBQUlVLElBQUVYLENBQUMsQ0FBQ0MsRUFBRTtRQUFDLElBQUdVLE1BQUlRLFdBQVU7WUFBQyxPQUFPUixFQUFFVCxPQUFPO1FBQUE7UUFBQyxJQUFJVSxJQUFFWixDQUFDLENBQUNDLEVBQUUsR0FBQztZQUFDQyxTQUFRLENBQUM7UUFBQztRQUFFLElBQUlXLElBQUU7UUFBSyxJQUFHO1lBQUNkLENBQUMsQ0FBQ0UsRUFBRSxDQUFDbUIsSUFBSSxDQUFDUixFQUFFVixPQUFPLEVBQUNVLEdBQUVBLEVBQUVWLE9BQU8sRUFBQ2dCO1lBQXFCTCxJQUFFO1FBQUssU0FBUTtZQUFDLElBQUdBLEdBQUUsT0FBT2IsQ0FBQyxDQUFDQyxFQUFFO1FBQUE7UUFBQyxPQUFPVyxFQUFFVixPQUFPO0lBQUE7SUFBQyxJQUFHLE9BQU9nQix3QkFBc0IsYUFBWUEsb0JBQW9CRyxFQUFFLEdBQUNDLFlBQVU7SUFBSSxJQUFJckIsSUFBRWlCLG9CQUFvQjtJQUFLSyxPQUFPckIsT0FBTyxHQUFDRDtBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9jc3MuZXNjYXBlL2Nzcy5lc2NhcGUuanM/NDczMyJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9Pnt2YXIgZT17NTUzOmZ1bmN0aW9uKGUpeyhmdW5jdGlvbihyLHQpe2lmKHRydWUpe2UuZXhwb3J0cz10KHIpfWVsc2V7fX0pKHR5cGVvZiBnbG9iYWwhPVwidW5kZWZpbmVkXCI/Z2xvYmFsOnRoaXMsKGZ1bmN0aW9uKGUpe2lmKGUuQ1NTJiZlLkNTUy5lc2NhcGUpe3JldHVybiBlLkNTUy5lc2NhcGV9dmFyIGNzc0VzY2FwZT1mdW5jdGlvbihlKXtpZihhcmd1bWVudHMubGVuZ3RoPT0wKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiYENTUy5lc2NhcGVgIHJlcXVpcmVzIGFuIGFyZ3VtZW50LlwiKX12YXIgcj1TdHJpbmcoZSk7dmFyIHQ9ci5sZW5ndGg7dmFyIG49LTE7dmFyIGE7dmFyIGk9XCJcIjt2YXIgdT1yLmNoYXJDb2RlQXQoMCk7d2hpbGUoKytuPHQpe2E9ci5jaGFyQ29kZUF0KG4pO2lmKGE9PTApe2krPVwi77+9XCI7Y29udGludWV9aWYoYT49MSYmYTw9MzF8fGE9PTEyN3x8bj09MCYmYT49NDgmJmE8PTU3fHxuPT0xJiZhPj00OCYmYTw9NTcmJnU9PTQ1KXtpKz1cIlxcXFxcIithLnRvU3RyaW5nKDE2KStcIiBcIjtjb250aW51ZX1pZihuPT0wJiZ0PT0xJiZhPT00NSl7aSs9XCJcXFxcXCIrci5jaGFyQXQobik7Y29udGludWV9aWYoYT49MTI4fHxhPT00NXx8YT09OTV8fGE+PTQ4JiZhPD01N3x8YT49NjUmJmE8PTkwfHxhPj05NyYmYTw9MTIyKXtpKz1yLmNoYXJBdChuKTtjb250aW51ZX1pKz1cIlxcXFxcIityLmNoYXJBdChuKX1yZXR1cm4gaX07aWYoIWUuQ1NTKXtlLkNTUz17fX1lLkNTUy5lc2NhcGU9Y3NzRXNjYXBlO3JldHVybiBjc3NFc2NhcGV9KSl9fTt2YXIgcj17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHQpe3ZhciBuPXJbdF07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgYT1yW3RdPXtleHBvcnRzOnt9fTt2YXIgaT10cnVlO3RyeXtlW3RdLmNhbGwoYS5leHBvcnRzLGEsYS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO2k9ZmFsc2V9ZmluYWxseXtpZihpKWRlbGV0ZSByW3RdfXJldHVybiBhLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciB0PV9fbmNjd3Bja19yZXF1aXJlX18oNTUzKTttb2R1bGUuZXhwb3J0cz10fSkoKTsiXSwibmFtZXMiOlsiZSIsInIiLCJ0IiwiZXhwb3J0cyIsImdsb2JhbCIsIkNTUyIsImVzY2FwZSIsImNzc0VzY2FwZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsIlR5cGVFcnJvciIsIlN0cmluZyIsIm4iLCJhIiwiaSIsInUiLCJjaGFyQ29kZUF0IiwidG9TdHJpbmciLCJjaGFyQXQiLCJfX25jY3dwY2tfcmVxdWlyZV9fIiwidW5kZWZpbmVkIiwiY2FsbCIsImFiIiwiX19kaXJuYW1lIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/css.escape/css.escape.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/compiled/platform/platform.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/compiled/platform/platform.js ***! \**************************************************************/ /***/ ((module) => { "use strict"; eval("\n(()=>{\n var e = {\n 541: function(e, i, t) {\n e = t.nmd(e);\n /*!\n * Platform.js v1.3.6\n * Copyright 2014-2020 Benjamin Tan\n * Copyright 2011-2013 John-David Dalton\n * Available under MIT license\n */ (function() {\n \"use strict\";\n var t = {\n function: true,\n object: true\n };\n var r = t[\"undefined\"] && window || this;\n var a = r;\n var n = t[typeof i] && i;\n var o = t[\"object\"] && e && !e.nodeType && e;\n var l = n && o && typeof global == \"object\" && global;\n if (l && (l.global === l || l.window === l || l.self === l)) {\n r = l;\n }\n var s = Math.pow(2, 53) - 1;\n var f = /\\bOpera/;\n var b = this;\n var c = Object.prototype;\n var p = c.hasOwnProperty;\n var u = c.toString;\n function capitalize(e) {\n e = String(e);\n return e.charAt(0).toUpperCase() + e.slice(1);\n }\n function cleanupOS(e, i, t) {\n var r = {\n \"10.0\": \"10\",\n 6.4: \"10 Technical Preview\",\n 6.3: \"8.1\",\n 6.2: \"8\",\n 6.1: \"Server 2008 R2 / 7\",\n \"6.0\": \"Server 2008 / Vista\",\n 5.2: \"Server 2003 / XP 64-bit\",\n 5.1: \"XP\",\n 5.01: \"2000 SP1\",\n \"5.0\": \"2000\",\n \"4.0\": \"NT\",\n \"4.90\": \"ME\"\n };\n if (i && t && /^Win/i.test(e) && !/^Windows Phone /i.test(e) && (r = r[/[\\d.]+$/.exec(e)])) {\n e = \"Windows \" + r;\n }\n e = String(e);\n if (i && t) {\n e = e.replace(RegExp(i, \"i\"), t);\n }\n e = format(e.replace(/ ce$/i, \" CE\").replace(/\\bhpw/i, \"web\").replace(/\\bMacintosh\\b/, \"Mac OS\").replace(/_PowerPC\\b/i, \" OS\").replace(/\\b(OS X) [^ \\d]+/i, \"$1\").replace(/\\bMac (OS X)\\b/, \"$1\").replace(/\\/(\\d)/, \" $1\").replace(/_/g, \".\").replace(/(?: BePC|[ .]*fc[ \\d.]+)$/i, \"\").replace(/\\bx86\\.64\\b/gi, \"x86_64\").replace(/\\b(Windows Phone) OS\\b/, \"$1\").replace(/\\b(Chrome OS \\w+) [\\d.]+\\b/, \"$1\").split(\" on \")[0]);\n return e;\n }\n function each(e, i) {\n var t = -1, r = e ? e.length : 0;\n if (typeof r == \"number\" && r > -1 && r <= s) {\n while(++t < r){\n i(e[t], t, e);\n }\n } else {\n forOwn(e, i);\n }\n }\n function format(e) {\n e = trim(e);\n return /^(?:webOS|i(?:OS|P))/.test(e) ? e : capitalize(e);\n }\n function forOwn(e, i) {\n for(var t in e){\n if (p.call(e, t)) {\n i(e[t], t, e);\n }\n }\n }\n function getClassOf(e) {\n return e == null ? capitalize(e) : u.call(e).slice(8, -1);\n }\n function isHostType(e, i) {\n var t = e != null ? typeof e[i] : \"number\";\n return !/^(?:boolean|number|string|undefined)$/.test(t) && (t == \"object\" ? !!e[i] : true);\n }\n function qualify(e) {\n return String(e).replace(/([ -])(?!$)/g, \"$1?\");\n }\n function reduce(e, i) {\n var t = null;\n each(e, function(r, a) {\n t = i(t, r, a, e);\n });\n return t;\n }\n function trim(e) {\n return String(e).replace(/^ +| +$/g, \"\");\n }\n function parse(e) {\n var i = r;\n var t = e && typeof e == \"object\" && getClassOf(e) != \"String\";\n if (t) {\n i = e;\n e = null;\n }\n var n = i.navigator || {};\n var o = n.userAgent || \"\";\n e || (e = o);\n var l = t || b == a;\n var s = t ? !!n.likeChrome : /\\bChrome\\b/.test(e) && !/internal|\\n/i.test(u.toString());\n var c = \"Object\", p = t ? c : \"ScriptBridgingProxyObject\", d = t ? c : \"Environment\", S = t && i.java ? \"JavaPackage\" : getClassOf(i.java), x = t ? c : \"RuntimeObject\";\n var m = /\\bJava/.test(S) && i.java;\n var g = m && getClassOf(i.environment) == d;\n var h = m ? \"a\" : \"α\";\n var v = m ? \"b\" : \"β\";\n var O = i.document || {};\n var y = i.operamini || i.opera;\n var w = f.test(w = t && y ? y[\"[[Class]]\"] : getClassOf(y)) ? w : y = null;\n var M;\n var E = e;\n var P = [];\n var C = null;\n var k = e == o;\n var B = k && y && typeof y.version == \"function\" && y.version();\n var W;\n var _ = getLayout([\n {\n label: \"EdgeHTML\",\n pattern: \"Edge\"\n },\n \"Trident\",\n {\n label: \"WebKit\",\n pattern: \"AppleWebKit\"\n },\n \"iCab\",\n \"Presto\",\n \"NetFront\",\n \"Tasman\",\n \"KHTML\",\n \"Gecko\"\n ]);\n var R = getName([\n \"Adobe AIR\",\n \"Arora\",\n \"Avant Browser\",\n \"Breach\",\n \"Camino\",\n \"Electron\",\n \"Epiphany\",\n \"Fennec\",\n \"Flock\",\n \"Galeon\",\n \"GreenBrowser\",\n \"iCab\",\n \"Iceweasel\",\n \"K-Meleon\",\n \"Konqueror\",\n \"Lunascape\",\n \"Maxthon\",\n {\n label: \"Microsoft Edge\",\n pattern: \"(?:Edge|Edg|EdgA|EdgiOS)\"\n },\n \"Midori\",\n \"Nook Browser\",\n \"PaleMoon\",\n \"PhantomJS\",\n \"Raven\",\n \"Rekonq\",\n \"RockMelt\",\n {\n label: \"Samsung Internet\",\n pattern: \"SamsungBrowser\"\n },\n \"SeaMonkey\",\n {\n label: \"Silk\",\n pattern: \"(?:Cloud9|Silk-Accelerated)\"\n },\n \"Sleipnir\",\n \"SlimBrowser\",\n {\n label: \"SRWare Iron\",\n pattern: \"Iron\"\n },\n \"Sunrise\",\n \"Swiftfox\",\n \"Vivaldi\",\n \"Waterfox\",\n \"WebPositive\",\n {\n label: \"Yandex Browser\",\n pattern: \"YaBrowser\"\n },\n {\n label: \"UC Browser\",\n pattern: \"UCBrowser\"\n },\n \"Opera Mini\",\n {\n label: \"Opera Mini\",\n pattern: \"OPiOS\"\n },\n \"Opera\",\n {\n label: \"Opera\",\n pattern: \"OPR\"\n },\n \"Chromium\",\n \"Chrome\",\n {\n label: \"Chrome\",\n pattern: \"(?:HeadlessChrome)\"\n },\n {\n label: \"Chrome Mobile\",\n pattern: \"(?:CriOS|CrMo)\"\n },\n {\n label: \"Firefox\",\n pattern: \"(?:Firefox|Minefield)\"\n },\n {\n label: \"Firefox for iOS\",\n pattern: \"FxiOS\"\n },\n {\n label: \"IE\",\n pattern: \"IEMobile\"\n },\n {\n label: \"IE\",\n pattern: \"MSIE\"\n },\n \"Safari\"\n ]);\n var A = getProduct([\n {\n label: \"BlackBerry\",\n pattern: \"BB10\"\n },\n \"BlackBerry\",\n {\n label: \"Galaxy S\",\n pattern: \"GT-I9000\"\n },\n {\n label: \"Galaxy S2\",\n pattern: \"GT-I9100\"\n },\n {\n label: \"Galaxy S3\",\n pattern: \"GT-I9300\"\n },\n {\n label: \"Galaxy S4\",\n pattern: \"GT-I9500\"\n },\n {\n label: \"Galaxy S5\",\n pattern: \"SM-G900\"\n },\n {\n label: \"Galaxy S6\",\n pattern: \"SM-G920\"\n },\n {\n label: \"Galaxy S6 Edge\",\n pattern: \"SM-G925\"\n },\n {\n label: \"Galaxy S7\",\n pattern: \"SM-G930\"\n },\n {\n label: \"Galaxy S7 Edge\",\n pattern: \"SM-G935\"\n },\n \"Google TV\",\n \"Lumia\",\n \"iPad\",\n \"iPod\",\n \"iPhone\",\n \"Kindle\",\n {\n label: \"Kindle Fire\",\n pattern: \"(?:Cloud9|Silk-Accelerated)\"\n },\n \"Nexus\",\n \"Nook\",\n \"PlayBook\",\n \"PlayStation Vita\",\n \"PlayStation\",\n \"TouchPad\",\n \"Transformer\",\n {\n label: \"Wii U\",\n pattern: \"WiiU\"\n },\n \"Wii\",\n \"Xbox One\",\n {\n label: \"Xbox 360\",\n pattern: \"Xbox\"\n },\n \"Xoom\"\n ]);\n var I = getManufacturer({\n Apple: {\n iPad: 1,\n iPhone: 1,\n iPod: 1\n },\n Alcatel: {},\n Archos: {},\n Amazon: {\n Kindle: 1,\n \"Kindle Fire\": 1\n },\n Asus: {\n Transformer: 1\n },\n \"Barnes & Noble\": {\n Nook: 1\n },\n BlackBerry: {\n PlayBook: 1\n },\n Google: {\n \"Google TV\": 1,\n Nexus: 1\n },\n HP: {\n TouchPad: 1\n },\n HTC: {},\n Huawei: {},\n Lenovo: {},\n LG: {},\n Microsoft: {\n Xbox: 1,\n \"Xbox One\": 1\n },\n Motorola: {\n Xoom: 1\n },\n Nintendo: {\n \"Wii U\": 1,\n Wii: 1\n },\n Nokia: {\n Lumia: 1\n },\n Oppo: {},\n Samsung: {\n \"Galaxy S\": 1,\n \"Galaxy S2\": 1,\n \"Galaxy S3\": 1,\n \"Galaxy S4\": 1\n },\n Sony: {\n PlayStation: 1,\n \"PlayStation Vita\": 1\n },\n Xiaomi: {\n Mi: 1,\n Redmi: 1\n }\n });\n var T = getOS([\n \"Windows Phone\",\n \"KaiOS\",\n \"Android\",\n \"CentOS\",\n {\n label: \"Chrome OS\",\n pattern: \"CrOS\"\n },\n \"Debian\",\n {\n label: \"DragonFly BSD\",\n pattern: \"DragonFly\"\n },\n \"Fedora\",\n \"FreeBSD\",\n \"Gentoo\",\n \"Haiku\",\n \"Kubuntu\",\n \"Linux Mint\",\n \"OpenBSD\",\n \"Red Hat\",\n \"SuSE\",\n \"Ubuntu\",\n \"Xubuntu\",\n \"Cygwin\",\n \"Symbian OS\",\n \"hpwOS\",\n \"webOS \",\n \"webOS\",\n \"Tablet OS\",\n \"Tizen\",\n \"Linux\",\n \"Mac OS X\",\n \"Macintosh\",\n \"Mac\",\n \"Windows 98;\",\n \"Windows \"\n ]);\n function getLayout(i) {\n return reduce(i, function(i, t) {\n return i || RegExp(\"\\\\b\" + (t.pattern || qualify(t)) + \"\\\\b\", \"i\").exec(e) && (t.label || t);\n });\n }\n function getManufacturer(i) {\n return reduce(i, function(i, t, r) {\n return i || (t[A] || t[/^[a-z]+(?: +[a-z]+\\b)*/i.exec(A)] || RegExp(\"\\\\b\" + qualify(r) + \"(?:\\\\b|\\\\w*\\\\d)\", \"i\").exec(e)) && r;\n });\n }\n function getName(i) {\n return reduce(i, function(i, t) {\n return i || RegExp(\"\\\\b\" + (t.pattern || qualify(t)) + \"\\\\b\", \"i\").exec(e) && (t.label || t);\n });\n }\n function getOS(i) {\n return reduce(i, function(i, t) {\n var r = t.pattern || qualify(t);\n if (!i && (i = RegExp(\"\\\\b\" + r + \"(?:/[\\\\d.]+|[ \\\\w.]*)\", \"i\").exec(e))) {\n i = cleanupOS(i, r, t.label || t);\n }\n return i;\n });\n }\n function getProduct(i) {\n return reduce(i, function(i, t) {\n var r = t.pattern || qualify(t);\n if (!i && (i = RegExp(\"\\\\b\" + r + \" *\\\\d+[.\\\\w_]*\", \"i\").exec(e) || RegExp(\"\\\\b\" + r + \" *\\\\w+-[\\\\w]*\", \"i\").exec(e) || RegExp(\"\\\\b\" + r + \"(?:; *(?:[a-z]+[_-])?[a-z]+\\\\d+|[^ ();-]*)\", \"i\").exec(e))) {\n if ((i = String(t.label && !RegExp(r, \"i\").test(t.label) ? t.label : i).split(\"/\"))[1] && !/[\\d.]+/.test(i[0])) {\n i[0] += \" \" + i[1];\n }\n t = t.label || t;\n i = format(i[0].replace(RegExp(r, \"i\"), t).replace(RegExp(\"; *(?:\" + t + \"[_-])?\", \"i\"), \" \").replace(RegExp(\"(\" + t + \")[-_.]?(\\\\w)\", \"i\"), \"$1 $2\"));\n }\n return i;\n });\n }\n function getVersion(i) {\n return reduce(i, function(i, t) {\n return i || (RegExp(t + \"(?:-[\\\\d.]+/|(?: for [\\\\w-]+)?[ /-])([\\\\d.]+[^ ();/_-]*)\", \"i\").exec(e) || 0)[1] || null;\n });\n }\n function toStringPlatform() {\n return this.description || \"\";\n }\n _ && (_ = [\n _\n ]);\n if (/\\bAndroid\\b/.test(T) && !A && (M = /\\bAndroid[^;]*;(.*?)(?:Build|\\) AppleWebKit)\\b/i.exec(e))) {\n A = trim(M[1]).replace(/^[a-z]{2}-[a-z]{2};\\s*/i, \"\") || null;\n }\n if (I && !A) {\n A = getProduct([\n I\n ]);\n } else if (I && A) {\n A = A.replace(RegExp(\"^(\" + qualify(I) + \")[-_.\\\\s]\", \"i\"), I + \" \").replace(RegExp(\"^(\" + qualify(I) + \")[-_.]?(\\\\w)\", \"i\"), I + \" $2\");\n }\n if (M = /\\bGoogle TV\\b/.exec(A)) {\n A = M[0];\n }\n if (/\\bSimulator\\b/i.test(e)) {\n A = (A ? A + \" \" : \"\") + \"Simulator\";\n }\n if (R == \"Opera Mini\" && /\\bOPiOS\\b/.test(e)) {\n P.push(\"running in Turbo/Uncompressed mode\");\n }\n if (R == \"IE\" && /\\blike iPhone OS\\b/.test(e)) {\n M = parse(e.replace(/like iPhone OS/, \"\"));\n I = M.manufacturer;\n A = M.product;\n } else if (/^iP/.test(A)) {\n R || (R = \"Safari\");\n T = \"iOS\" + ((M = / OS ([\\d_]+)/i.exec(e)) ? \" \" + M[1].replace(/_/g, \".\") : \"\");\n } else if (R == \"Konqueror\" && /^Linux\\b/i.test(T)) {\n T = \"Kubuntu\";\n } else if (I && I != \"Google\" && (/Chrome/.test(R) && !/\\bMobile Safari\\b/i.test(e) || /\\bVita\\b/.test(A)) || /\\bAndroid\\b/.test(T) && /^Chrome/.test(R) && /\\bVersion\\//i.test(e)) {\n R = \"Android Browser\";\n T = /\\bAndroid\\b/.test(T) ? T : \"Android\";\n } else if (R == \"Silk\") {\n if (!/\\bMobi/i.test(e)) {\n T = \"Android\";\n P.unshift(\"desktop mode\");\n }\n if (/Accelerated *= *true/i.test(e)) {\n P.unshift(\"accelerated\");\n }\n } else if (R == \"UC Browser\" && /\\bUCWEB\\b/.test(e)) {\n P.push(\"speed mode\");\n } else if (R == \"PaleMoon\" && (M = /\\bFirefox\\/([\\d.]+)\\b/.exec(e))) {\n P.push(\"identifying as Firefox \" + M[1]);\n } else if (R == \"Firefox\" && (M = /\\b(Mobile|Tablet|TV)\\b/i.exec(e))) {\n T || (T = \"Firefox OS\");\n A || (A = M[1]);\n } else if (!R || (M = !/\\bMinefield\\b/i.test(e) && /\\b(?:Firefox|Safari)\\b/.exec(R))) {\n if (R && !A && /[\\/,]|^[^(]+?\\)/.test(e.slice(e.indexOf(M + \"/\") + 8))) {\n R = null;\n }\n if ((M = A || I || T) && (A || I || /\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b/.test(T))) {\n R = /[a-z]+(?: Hat)?/i.exec(/\\bAndroid\\b/.test(T) ? T : M) + \" Browser\";\n }\n } else if (R == \"Electron\" && (M = (/\\bChrome\\/([\\d.]+)\\b/.exec(e) || 0)[1])) {\n P.push(\"Chromium \" + M);\n }\n if (!B) {\n B = getVersion([\n \"(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\\\d.]+$)|UCBrowser|YaBrowser)\",\n \"Version\",\n qualify(R),\n \"(?:Firefox|Minefield|NetFront)\"\n ]);\n }\n if (M = _ == \"iCab\" && parseFloat(B) > 3 && \"WebKit\" || /\\bOpera\\b/.test(R) && (/\\bOPR\\b/.test(e) ? \"Blink\" : \"Presto\") || /\\b(?:Midori|Nook|Safari)\\b/i.test(e) && !/^(?:Trident|EdgeHTML)$/.test(_) && \"WebKit\" || !_ && /\\bMSIE\\b/i.test(e) && (T == \"Mac OS\" ? \"Tasman\" : \"Trident\") || _ == \"WebKit\" && /\\bPlayStation\\b(?! Vita\\b)/i.test(R) && \"NetFront\") {\n _ = [\n M\n ];\n }\n if (R == \"IE\" && (M = (/; *(?:XBLWP|ZuneWP)(\\d+)/i.exec(e) || 0)[1])) {\n R += \" Mobile\";\n T = \"Windows Phone \" + (/\\+$/.test(M) ? M : M + \".x\");\n P.unshift(\"desktop mode\");\n } else if (/\\bWPDesktop\\b/i.test(e)) {\n R = \"IE Mobile\";\n T = \"Windows Phone 8.x\";\n P.unshift(\"desktop mode\");\n B || (B = (/\\brv:([\\d.]+)/.exec(e) || 0)[1]);\n } else if (R != \"IE\" && _ == \"Trident\" && (M = /\\brv:([\\d.]+)/.exec(e))) {\n if (R) {\n P.push(\"identifying as \" + R + (B ? \" \" + B : \"\"));\n }\n R = \"IE\";\n B = M[1];\n }\n if (k) {\n if (isHostType(i, \"global\")) {\n if (m) {\n M = m.lang.System;\n E = M.getProperty(\"os.arch\");\n T = T || M.getProperty(\"os.name\") + \" \" + M.getProperty(\"os.version\");\n }\n if (g) {\n try {\n B = i.require(\"ringo/engine\").version.join(\".\");\n R = \"RingoJS\";\n } catch (e) {\n if ((M = i.system) && M.global.system == i.system) {\n R = \"Narwhal\";\n T || (T = M[0].os || null);\n }\n }\n if (!R) {\n R = \"Rhino\";\n }\n } else if (typeof i.process == \"object\" && !i.process.browser && (M = i.process)) {\n if (typeof M.versions == \"object\") {\n if (typeof M.versions.electron == \"string\") {\n P.push(\"Node \" + M.versions.node);\n R = \"Electron\";\n B = M.versions.electron;\n } else if (typeof M.versions.nw == \"string\") {\n P.push(\"Chromium \" + B, \"Node \" + M.versions.node);\n R = \"NW.js\";\n B = M.versions.nw;\n }\n }\n if (!R) {\n R = \"Node.js\";\n E = M.arch;\n T = M.platform;\n B = /[\\d.]+/.exec(M.version);\n B = B ? B[0] : null;\n }\n }\n } else if (getClassOf(M = i.runtime) == p) {\n R = \"Adobe AIR\";\n T = M.flash.system.Capabilities.os;\n } else if (getClassOf(M = i.phantom) == x) {\n R = \"PhantomJS\";\n B = (M = M.version || null) && M.major + \".\" + M.minor + \".\" + M.patch;\n } else if (typeof O.documentMode == \"number\" && (M = /\\bTrident\\/(\\d+)/i.exec(e))) {\n B = [\n B,\n O.documentMode\n ];\n if ((M = +M[1] + 4) != B[1]) {\n P.push(\"IE \" + B[1] + \" mode\");\n _ && (_[1] = \"\");\n B[1] = M;\n }\n B = R == \"IE\" ? String(B[1].toFixed(1)) : B[0];\n } else if (typeof O.documentMode == \"number\" && /^(?:Chrome|Firefox)\\b/.test(R)) {\n P.push(\"masking as \" + R + \" \" + B);\n R = \"IE\";\n B = \"11.0\";\n _ = [\n \"Trident\"\n ];\n T = \"Windows\";\n }\n T = T && format(T);\n }\n if (B && (M = /(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$/i.exec(B) || /(?:alpha|beta)(?: ?\\d)?/i.exec(e + \";\" + (k && n.appMinorVersion)) || /\\bMinefield\\b/i.test(e) && \"a\")) {\n C = /b/i.test(M) ? \"beta\" : \"alpha\";\n B = B.replace(RegExp(M + \"\\\\+?$\"), \"\") + (C == \"beta\" ? v : h) + (/\\d+\\+?/.exec(M) || \"\");\n }\n if (R == \"Fennec\" || R == \"Firefox\" && /\\b(?:Android|Firefox OS|KaiOS)\\b/.test(T)) {\n R = \"Firefox Mobile\";\n } else if (R == \"Maxthon\" && B) {\n B = B.replace(/\\.[\\d.]+/, \".x\");\n } else if (/\\bXbox\\b/i.test(A)) {\n if (A == \"Xbox 360\") {\n T = null;\n }\n if (A == \"Xbox 360\" && /\\bIEMobile\\b/.test(e)) {\n P.unshift(\"mobile mode\");\n }\n } else if ((/^(?:Chrome|IE|Opera)$/.test(R) || R && !A && !/Browser|Mobi/.test(R)) && (T == \"Windows CE\" || /Mobi/i.test(e))) {\n R += \" Mobile\";\n } else if (R == \"IE\" && k) {\n try {\n if (i.external === null) {\n P.unshift(\"platform preview\");\n }\n } catch (e) {\n P.unshift(\"embedded\");\n }\n } else if ((/\\bBlackBerry\\b/.test(A) || /\\bBB10\\b/.test(e)) && (M = (RegExp(A.replace(/ +/g, \" *\") + \"/([.\\\\d]+)\", \"i\").exec(e) || 0)[1] || B)) {\n M = [\n M,\n /BB10/.test(e)\n ];\n T = (M[1] ? (A = null, I = \"BlackBerry\") : \"Device Software\") + \" \" + M[0];\n B = null;\n } else if (this != forOwn && A != \"Wii\" && (k && y || /Opera/.test(R) && /\\b(?:MSIE|Firefox)\\b/i.test(e) || R == \"Firefox\" && /\\bOS X (?:\\d+\\.){2,}/.test(T) || R == \"IE\" && (T && !/^Win/.test(T) && B > 5.5 || /\\bWindows XP\\b/.test(T) && B > 8 || B == 8 && !/\\bTrident\\b/.test(e))) && !f.test(M = parse.call(forOwn, e.replace(f, \"\") + \";\")) && M.name) {\n M = \"ing as \" + M.name + ((M = M.version) ? \" \" + M : \"\");\n if (f.test(R)) {\n if (/\\bIE\\b/.test(M) && T == \"Mac OS\") {\n T = null;\n }\n M = \"identify\" + M;\n } else {\n M = \"mask\" + M;\n if (w) {\n R = format(w.replace(/([a-z])([A-Z])/g, \"$1 $2\"));\n } else {\n R = \"Opera\";\n }\n if (/\\bIE\\b/.test(M)) {\n T = null;\n }\n if (!k) {\n B = null;\n }\n }\n _ = [\n \"Presto\"\n ];\n P.push(M);\n }\n if (M = (/\\bAppleWebKit\\/([\\d.]+\\+?)/i.exec(e) || 0)[1]) {\n M = [\n parseFloat(M.replace(/\\.(\\d)$/, \".0$1\")),\n M\n ];\n if (R == \"Safari\" && M[1].slice(-1) == \"+\") {\n R = \"WebKit Nightly\";\n C = \"alpha\";\n B = M[1].slice(0, -1);\n } else if (B == M[1] || B == (M[2] = (/\\bSafari\\/([\\d.]+\\+?)/i.exec(e) || 0)[1])) {\n B = null;\n }\n M[1] = (/\\b(?:Headless)?Chrome\\/([\\d.]+)/i.exec(e) || 0)[1];\n if (M[0] == 537.36 && M[2] == 537.36 && parseFloat(M[1]) >= 28 && _ == \"WebKit\") {\n _ = [\n \"Blink\"\n ];\n }\n if (!k || !s && !M[1]) {\n _ && (_[1] = \"like Safari\");\n M = (M = M[0], M < 400 ? 1 : M < 500 ? 2 : M < 526 ? 3 : M < 533 ? 4 : M < 534 ? \"4+\" : M < 535 ? 5 : M < 537 ? 6 : M < 538 ? 7 : M < 601 ? 8 : M < 602 ? 9 : M < 604 ? 10 : M < 606 ? 11 : M < 608 ? 12 : \"12\");\n } else {\n _ && (_[1] = \"like Chrome\");\n M = M[1] || (M = M[0], M < 530 ? 1 : M < 532 ? 2 : M < 532.05 ? 3 : M < 533 ? 4 : M < 534.03 ? 5 : M < 534.07 ? 6 : M < 534.1 ? 7 : M < 534.13 ? 8 : M < 534.16 ? 9 : M < 534.24 ? 10 : M < 534.3 ? 11 : M < 535.01 ? 12 : M < 535.02 ? \"13+\" : M < 535.07 ? 15 : M < 535.11 ? 16 : M < 535.19 ? 17 : M < 536.05 ? 18 : M < 536.1 ? 19 : M < 537.01 ? 20 : M < 537.11 ? \"21+\" : M < 537.13 ? 23 : M < 537.18 ? 24 : M < 537.24 ? 25 : M < 537.36 ? 26 : _ != \"Blink\" ? \"27\" : \"28\");\n }\n _ && (_[1] += \" \" + (M += typeof M == \"number\" ? \".x\" : /[.+]/.test(M) ? \"\" : \"+\"));\n if (R == \"Safari\" && (!B || parseInt(B) > 45)) {\n B = M;\n } else if (R == \"Chrome\" && /\\bHeadlessChrome/i.test(e)) {\n P.unshift(\"headless\");\n }\n }\n if (R == \"Opera\" && (M = /\\bzbov|zvav$/.exec(T))) {\n R += \" \";\n P.unshift(\"desktop mode\");\n if (M == \"zvav\") {\n R += \"Mini\";\n B = null;\n } else {\n R += \"Mobile\";\n }\n T = T.replace(RegExp(\" *\" + M + \"$\"), \"\");\n } else if (R == \"Safari\" && /\\bChrome\\b/.exec(_ && _[1])) {\n P.unshift(\"desktop mode\");\n R = \"Chrome Mobile\";\n B = null;\n if (/\\bOS X\\b/.test(T)) {\n I = \"Apple\";\n T = \"iOS 4.3+\";\n } else {\n T = null;\n }\n } else if (/\\bSRWare Iron\\b/.test(R) && !B) {\n B = getVersion(\"Chrome\");\n }\n if (B && B.indexOf(M = /[\\d.]+$/.exec(T)) == 0 && e.indexOf(\"/\" + M + \"-\") > -1) {\n T = trim(T.replace(M, \"\"));\n }\n if (T && T.indexOf(R) != -1 && !RegExp(R + \" OS\").test(T)) {\n T = T.replace(RegExp(\" *\" + qualify(R) + \" *\"), \"\");\n }\n if (_ && !/\\b(?:Avant|Nook)\\b/.test(R) && (/Browser|Lunascape|Maxthon/.test(R) || R != \"Safari\" && /^iOS/.test(T) && /\\bSafari\\b/.test(_[1]) || /^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(R) && _[1])) {\n (M = _[_.length - 1]) && P.push(M);\n }\n if (P.length) {\n P = [\n \"(\" + P.join(\"; \") + \")\"\n ];\n }\n if (I && A && A.indexOf(I) < 0) {\n P.push(\"on \" + I);\n }\n if (A) {\n P.push((/^on /.test(P[P.length - 1]) ? \"\" : \"on \") + A);\n }\n if (T) {\n M = / ([\\d.+]+)$/.exec(T);\n W = M && T.charAt(T.length - M[0].length - 1) == \"/\";\n T = {\n architecture: 32,\n family: M && !W ? T.replace(M[0], \"\") : T,\n version: M ? M[1] : null,\n toString: function() {\n var e = this.version;\n return this.family + (e && !W ? \" \" + e : \"\") + (this.architecture == 64 ? \" 64-bit\" : \"\");\n }\n };\n }\n if ((M = /\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b/i.exec(E)) && !/\\bi686\\b/i.test(E)) {\n if (T) {\n T.architecture = 64;\n T.family = T.family.replace(RegExp(\" *\" + M), \"\");\n }\n if (R && (/\\bWOW64\\b/i.test(e) || k && /\\w(?:86|32)$/.test(n.cpuClass || n.platform) && !/\\bWin64; x64\\b/i.test(e))) {\n P.unshift(\"32-bit\");\n }\n } else if (T && /^OS X/.test(T.family) && R == \"Chrome\" && parseFloat(B) >= 39) {\n T.architecture = 64;\n }\n e || (e = null);\n var F = {};\n F.description = e;\n F.layout = _ && _[0];\n F.manufacturer = I;\n F.name = R;\n F.prerelease = C;\n F.product = A;\n F.ua = e;\n F.version = R && B;\n F.os = T || {\n architecture: null,\n family: null,\n version: null,\n toString: function() {\n return \"null\";\n }\n };\n F.parse = parse;\n F.toString = toStringPlatform;\n if (F.version) {\n P.unshift(B);\n }\n if (F.name) {\n P.unshift(R);\n }\n if (T && R && !(T == String(T).split(\" \")[0] && (T == R.split(\" \")[0] || A))) {\n P.push(A ? \"(\" + T + \")\" : \"on \" + T);\n }\n if (P.length) {\n F.description = P.join(\" \");\n }\n return F;\n }\n var d = parse();\n if (n && o) {\n forOwn(d, function(e, i) {\n n[i] = e;\n });\n } else {\n r.platform = d;\n }\n }).call(this);\n }\n };\n var i = {};\n function __nccwpck_require__(t) {\n var r = i[t];\n if (r !== undefined) {\n return r.exports;\n }\n var a = i[t] = {\n id: t,\n loaded: false,\n exports: {}\n };\n var n = true;\n try {\n e[t].call(a.exports, a, a.exports, __nccwpck_require__);\n n = false;\n } finally{\n if (n) delete i[t];\n }\n a.loaded = true;\n return a.exports;\n }\n (()=>{\n __nccwpck_require__.nmd = (e)=>{\n e.paths = [];\n if (!e.children) e.children = [];\n return e;\n };\n })();\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var t = __nccwpck_require__(541);\n module.exports = t;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BsYXRmb3JtL3BsYXRmb3JtLmpzIiwibWFwcGluZ3MiOiI7QUFBQztJQUFLLElBQUlBLElBQUU7UUFBQyxLQUFJLFNBQVNBLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDO1lBQUVGLElBQUVFLEVBQUVDLEdBQUcsQ0FBQ0g7WUFDekM7Ozs7O0NBS0MsR0FBRztnQkFBVztnQkFBYSxJQUFJRSxJQUFFO29CQUFDRSxVQUFTO29CQUFLQyxRQUFPO2dCQUFJO2dCQUFFLElBQUlDLElBQUVKLENBQUMsQ0FBQyxZQUFjLElBQUVLLFVBQVEsSUFBSTtnQkFBQyxJQUFJQyxJQUFFRjtnQkFBRSxJQUFJRyxJQUFFUCxDQUFDLENBQUMsT0FBT0QsRUFBRSxJQUFFQTtnQkFBRSxJQUFJUyxJQUFFUixDQUFDLENBQUMsU0FBUyxJQUFFRixLQUFHLENBQUNBLEVBQUVXLFFBQVEsSUFBRVg7Z0JBQUUsSUFBSVksSUFBRUgsS0FBR0MsS0FBRyxPQUFPRyxVQUFRLFlBQVVBO2dCQUFPLElBQUdELEtBQUlBLENBQUFBLEVBQUVDLE1BQU0sS0FBR0QsS0FBR0EsRUFBRUwsTUFBTSxLQUFHSyxLQUFHQSxFQUFFRSxJQUFJLEtBQUdGLENBQUFBLEdBQUc7b0JBQUNOLElBQUVNO2dCQUFDO2dCQUFDLElBQUlHLElBQUVDLEtBQUtDLEdBQUcsQ0FBQyxHQUFFLE1BQUk7Z0JBQUUsSUFBSUMsSUFBRTtnQkFBVSxJQUFJQyxJQUFFLElBQUk7Z0JBQUMsSUFBSUMsSUFBRUMsT0FBT0MsU0FBUztnQkFBQyxJQUFJQyxJQUFFSCxFQUFFSSxjQUFjO2dCQUFDLElBQUlDLElBQUVMLEVBQUVNLFFBQVE7Z0JBQUMsU0FBU0MsV0FBVzNCLENBQUM7b0JBQUVBLElBQUU0QixPQUFPNUI7b0JBQUcsT0FBT0EsRUFBRTZCLE1BQU0sQ0FBQyxHQUFHQyxXQUFXLEtBQUc5QixFQUFFK0IsS0FBSyxDQUFDO2dCQUFFO2dCQUFDLFNBQVND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QUM7UUFBRSxJQUFJaEssSUFBRTtRQUFLLElBQUc7WUFBQ1QsQ0FBQyxDQUFDRSxFQUFFLENBQUN5QyxJQUFJLENBQUNuQyxFQUFFaUssT0FBTyxFQUFDakssR0FBRUEsRUFBRWlLLE9BQU8sRUFBQ0Y7WUFBcUI5SixJQUFFO1FBQUssU0FBUTtZQUFDLElBQUdBLEdBQUUsT0FBT1IsQ0FBQyxDQUFDQyxFQUFFO1FBQUE7UUFBQ00sRUFBRW1LLE1BQU0sR0FBQztRQUFLLE9BQU9uSyxFQUFFaUssT0FBTztJQUFBO0lBQUU7UUFBS0Ysb0JBQW9CcEssR0FBRyxHQUFDSCxDQUFBQTtZQUFJQSxFQUFFNEssS0FBSyxHQUFDLEVBQUU7WUFBQyxJQUFHLENBQUM1SyxFQUFFNkssUUFBUSxFQUFDN0ssRUFBRTZLLFFBQVEsR0FBQyxFQUFFO1lBQUMsT0FBTzdLO1FBQUM7SUFBQztJQUFLLElBQUcsT0FBT3VLLHdCQUFzQixhQUFZQSxvQkFBb0JPLEVBQUUsR0FBQ0MsWUFBVTtJQUFJLElBQUk3SyxJQUFFcUssb0JBQW9CO0lBQUtTLE9BQU9QLE9BQU8sR0FBQ3ZLO0FBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BsYXRmb3JtL3BsYXRmb3JtLmpzP2VhZmYiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57dmFyIGU9ezU0MTpmdW5jdGlvbihlLGksdCl7ZT10Lm5tZChlKTtcbi8qIVxuICogUGxhdGZvcm0uanMgdjEuMy42XG4gKiBDb3B5cmlnaHQgMjAxNC0yMDIwIEJlbmphbWluIFRhblxuICogQ29weXJpZ2h0IDIwMTEtMjAxMyBKb2huLURhdmlkIERhbHRvblxuICogQXZhaWxhYmxlIHVuZGVyIE1JVCBsaWNlbnNlXG4gKi8oZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgdD17ZnVuY3Rpb246dHJ1ZSxvYmplY3Q6dHJ1ZX07dmFyIHI9dFt0eXBlb2Ygd2luZG93XSYmd2luZG93fHx0aGlzO3ZhciBhPXI7dmFyIG49dFt0eXBlb2YgaV0mJmk7dmFyIG89dFtcIm9iamVjdFwiXSYmZSYmIWUubm9kZVR5cGUmJmU7dmFyIGw9biYmbyYmdHlwZW9mIGdsb2JhbD09XCJvYmplY3RcIiYmZ2xvYmFsO2lmKGwmJihsLmdsb2JhbD09PWx8fGwud2luZG93PT09bHx8bC5zZWxmPT09bCkpe3I9bH12YXIgcz1NYXRoLnBvdygyLDUzKS0xO3ZhciBmPS9cXGJPcGVyYS87dmFyIGI9dGhpczt2YXIgYz1PYmplY3QucHJvdG90eXBlO3ZhciBwPWMuaGFzT3duUHJvcGVydHk7dmFyIHU9Yy50b1N0cmluZztmdW5jdGlvbiBjYXBpdGFsaXplKGUpe2U9U3RyaW5nKGUpO3JldHVybiBlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSl9ZnVuY3Rpb24gY2xlYW51cE9TKGUsaSx0KXt2YXIgcj17XCIxMC4wXCI6XCIxMFwiLDYuNDpcIjEwIFRlY2huaWNhbCBQcmV2aWV3XCIsNi4zOlwiOC4xXCIsNi4yOlwiOFwiLDYuMTpcIlNlcnZlciAyMDA4IFIyIC8gN1wiLFwiNi4wXCI6XCJTZXJ2ZXIgMjAwOCAvIFZpc3RhXCIsNS4yOlwiU2VydmVyIDIwMDMgLyBYUCA2NC1iaXRcIiw1LjE6XCJYUFwiLDUuMDE6XCIyMDAwIFNQMVwiLFwiNS4wXCI6XCIyMDAwXCIsXCI0LjBcIjpcIk5UXCIsXCI0LjkwXCI6XCJNRVwifTtpZihpJiZ0JiYvXldpbi9pLnRlc3QoZSkmJiEvXldpbmRvd3MgUGhvbmUgL2kudGVzdChlKSYmKHI9clsvW1xcZC5dKyQvLmV4ZWMoZSldKSl7ZT1cIldpbmRvd3MgXCIrcn1lPVN0cmluZyhlKTtpZihpJiZ0KXtlPWUucmVwbGFjZShSZWdFeHAoaSxcImlcIiksdCl9ZT1mb3JtYXQoZS5yZXBsYWNlKC8gY2UkL2ksXCIgQ0VcIikucmVwbGFjZSgvXFxiaHB3L2ksXCJ3ZWJcIikucmVwbGFjZSgvXFxiTWFjaW50b3NoXFxiLyxcIk1hYyBPU1wiKS5yZXBsYWNlKC9fUG93ZXJQQ1xcYi9pLFwiIE9TXCIpLnJlcGxhY2UoL1xcYihPUyBYKSBbXiBcXGRdKy9pLFwiJDFcIikucmVwbGFjZSgvXFxiTWFjIChPUyBYKVxcYi8sXCIkMVwiKS5yZXBsYWNlKC9cXC8oXFxkKS8sXCIgJDFcIikucmVwbGFjZSgvXy9nLFwiLlwiKS5yZXBsYWNlKC8oPzogQmVQQ3xbIC5dKmZjWyBcXGQuXSspJC9pLFwiXCIpLnJlcGxhY2UoL1xcYng4NlxcLjY0XFxiL2dpLFwieDg2XzY0XCIpLnJlcGxhY2UoL1xcYihXaW5kb3dzIFBob25lKSBPU1xcYi8sXCIkMVwiKS5yZXBsYWNlKC9cXGIoQ2hyb21lIE9TIFxcdyspIFtcXGQuXStcXGIvLFwiJDFcIikuc3BsaXQoXCIgb24gXCIpWzBdKTtyZXR1cm4gZX1mdW5jdGlvbiBlYWNoKGUsaSl7dmFyIHQ9LTEscj1lP2UubGVuZ3RoOjA7aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI+LTEmJnI8PXMpe3doaWxlKCsrdDxyKXtpKGVbdF0sdCxlKX19ZWxzZXtmb3JPd24oZSxpKX19ZnVuY3Rpb24gZm9ybWF0KGUpe2U9dHJpbShlKTtyZXR1cm4vXig/OndlYk9TfGkoPzpPU3xQKSkvLnRlc3QoZSk/ZTpjYXBpdGFsaXplKGUpfWZ1bmN0aW9uIGZvck93bihlLGkpe2Zvcih2YXIgdCBpbiBlKXtpZihwLmNhbGwoZSx0KSl7aShlW3RdLHQsZSl9fX1mdW5jdGlvbiBnZXRDbGFzc09mKGUpe3JldHVybiBlPT1udWxsP2NhcGl0YWxpemUoZSk6dS5jYWxsKGUpLnNsaWNlKDgsLTEpfWZ1bmN0aW9uIGlzSG9zdFR5cGUoZSxpKXt2YXIgdD1lIT1udWxsP3R5cGVvZiBlW2ldOlwibnVtYmVyXCI7cmV0dXJuIS9eKD86Ym9vbGVhbnxudW1iZXJ8c3RyaW5nfHVuZGVmaW5lZCkkLy50ZXN0KHQpJiYodD09XCJvYmplY3RcIj8hIWVbaV06dHJ1ZSl9ZnVuY3Rpb24gcXVhbGlmeShlKXtyZXR1cm4gU3RyaW5nKGUpLnJlcGxhY2UoLyhbIC1dKSg/ISQpL2csXCIkMT9cIil9ZnVuY3Rpb24gcmVkdWNlKGUsaSl7dmFyIHQ9bnVsbDtlYWNoKGUsKGZ1bmN0aW9uKHIsYSl7dD1pKHQscixhLGUpfSkpO3JldHVybiB0fWZ1bmN0aW9uIHRyaW0oZSl7cmV0dXJuIFN0cmluZyhlKS5yZXBsYWNlKC9eICt8ICskL2csXCJcIil9ZnVuY3Rpb24gcGFyc2UoZSl7dmFyIGk9cjt2YXIgdD1lJiZ0eXBlb2YgZT09XCJvYmplY3RcIiYmZ2V0Q2xhc3NPZihlKSE9XCJTdHJpbmdcIjtpZih0KXtpPWU7ZT1udWxsfXZhciBuPWkubmF2aWdhdG9yfHx7fTt2YXIgbz1uLnVzZXJBZ2VudHx8XCJcIjtlfHwoZT1vKTt2YXIgbD10fHxiPT1hO3ZhciBzPXQ/ISFuLmxpa2VDaHJvbWU6L1xcYkNocm9tZVxcYi8udGVzdChlKSYmIS9pbnRlcm5hbHxcXG4vaS50ZXN0KHUudG9TdHJpbmcoKSk7dmFyIGM9XCJPYmplY3RcIixwPXQ/YzpcIlNjcmlwdEJyaWRnaW5nUHJveHlPYmplY3RcIixkPXQ/YzpcIkVudmlyb25tZW50XCIsUz10JiZpLmphdmE/XCJKYXZhUGFja2FnZVwiOmdldENsYXNzT2YoaS5qYXZhKSx4PXQ/YzpcIlJ1bnRpbWVPYmplY3RcIjt2YXIgbT0vXFxiSmF2YS8udGVzdChTKSYmaS5qYXZhO3ZhciBnPW0mJmdldENsYXNzT2YoaS5lbnZpcm9ubWVudCk9PWQ7dmFyIGg9bT9cImFcIjpcIs6xXCI7dmFyIHY9bT9cImJcIjpcIs6yXCI7dmFyIE89aS5kb2N1bWVudHx8e307dmFyIHk9aS5vcGVyYW1pbml8fGkub3BlcmE7dmFyIHc9Zi50ZXN0KHc9dCYmeT95W1wiW1tDbGFzc11dXCJdOmdldENsYXNzT2YoeSkpP3c6eT1udWxsO3ZhciBNO3ZhciBFPWU7dmFyIFA9W107dmFyIEM9bnVsbDt2YXIgaz1lPT1vO3ZhciBCPWsmJnkmJnR5cGVvZiB5LnZlcnNpb249PVwiZnVuY3Rpb25cIiYmeS52ZXJzaW9uKCk7dmFyIFc7dmFyIF89Z2V0TGF5b3V0KFt7bGFiZWw6XCJFZGdlSFRNTFwiLHBhdHRlcm46XCJFZGdlXCJ9LFwiVHJpZGVudFwiLHtsYWJlbDpcIldlYktpdFwiLHBhdHRlcm46XCJBcHBsZVdlYktpdFwifSxcImlDYWJcIixcIlByZXN0b1wiLFwiTmV0RnJvbnRcIixcIlRhc21hblwiLFwiS0hUTUxcIixcIkdlY2tvXCJdKTt2YXIgUj1nZXROYW1lKFtcIkFkb2JlIEFJUlwiLFwiQXJvcmFcIixcIkF2YW50IEJyb3dzZXJcIixcIkJyZWFjaFwiLFwiQ2FtaW5vXCIsXCJFbGVjdHJvblwiLFwiRXBpcGhhbnlcIixcIkZlbm5lY1wiLFwiRmxvY2tcIixcIkdhbGVvblwiLFwiR3JlZW5Ccm93c2VyXCIsXCJpQ2FiXCIsXCJJY2V3ZWFzZWxcIixcIkstTWVsZW9uXCIsXCJLb25xdWVyb3JcIixcIkx1bmFzY2FwZVwiLFwiTWF4dGhvblwiLHtsYWJlbDpcIk1pY3Jvc29mdCBFZGdlXCIscGF0dGVybjpcIig/OkVkZ2V8RWRnfEVkZ0F8RWRnaU9TKVwifSxcIk1pZG9yaVwiLFwiTm9vayBCcm93c2VyXCIsXCJQYWxlTW9vblwiLFwiUGhhbnRvbUpTXCIsXCJSYXZlblwiLFwiUmVrb25xXCIsXCJSb2NrTWVsdFwiLHtsYWJlbDpcIlNhbXN1bmcgSW50ZXJuZXRcIixwYXR0ZXJuOlwiU2Ftc3VuZ0Jyb3dzZXJcIn0sXCJTZWFNb25rZXlcIix7bGFiZWw6XCJTaWxrXCIscGF0dGVybjpcIig/OkNsb3VkOXxTaWxrLUFjY2VsZXJhdGVkKVwifSxcIlNsZWlwbmlyXCIsXCJTbGltQnJvd3NlclwiLHtsYWJlbDpcIlNSV2FyZSBJcm9uXCIscGF0dGVybjpcIklyb25cIn0sXCJTdW5yaXNlXCIsXCJTd2lmdGZveFwiLFwiVml2YWxkaVwiLFwiV2F0ZXJmb3hcIixcIldlYlBvc2l0aXZlXCIse2xhYmVsOlwiWWFuZGV4IEJyb3dzZXJcIixwYXR0ZXJuOlwiWWFCcm93c2VyXCJ9LHtsYWJlbDpcIlVDIEJyb3dzZXJcIixwYXR0ZXJuOlwiVUNCcm93c2VyXCJ9LFwiT3BlcmEgTWluaVwiLHtsYWJlbDpcIk9wZXJhIE1pbmlcIixwYXR0ZXJuOlwiT1BpT1NcIn0sXCJPcGVyYVwiLHtsYWJlbDpcIk9wZXJhXCIscGF0dGVybjpcIk9QUlwifSxcIkNocm9taXVtXCIsXCJDaHJvbWVcIix7bGFiZWw6XCJDaHJvbWVcIixwYXR0ZXJuOlwiKD86SGVhZGxlc3NDaHJvbWUpXCJ9LHtsYWJlbDpcIkNocm9tZSBNb2JpbGVcIixwYXR0ZXJuOlwiKD86Q3JpT1N8Q3JNbylcIn0se2xhYmVsOlwiRmlyZWZveFwiLHBhdHRlcm46XCIoPzpGaXJlZm94fE1pbmVmaWVsZClcIn0se2xhYmVsOlwiRmlyZWZveCBmb3IgaU9TXCIscGF0dGVybjpcIkZ4aU9TXCJ9LHtsYWJlbDpcIklFXCIscGF0dGVybjpcIklFTW9iaWxlXCJ9LHtsYWJlbDpcIklFXCIscGF0dGVybjpcIk1TSUVcIn0sXCJTYWZhcmlcIl0pO3ZhciBBPWdldFByb2R1Y3QoW3tsYWJlbDpcIkJsYWNrQmVycnlcIixwYXR0ZXJuOlwiQkIxMFwifSxcIkJsYWNrQmVycnlcIix7bGFiZWw6XCJHYWxheHkgU1wiLHBhdHRlcm46XCJHVC1JOTAwMFwifSx7bGFiZWw6XCJHYWxheHkgUzJcIixwYXR0ZXJuOlwiR1QtSTkxMDBcIn0se2xhYmVsOlwiR2FsYXh5IFMzXCIscGF0dGVybjpcIkdULUk5MzAwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTNFwiLHBhdHRlcm46XCJHVC1JOTUwMFwifSx7bGFiZWw6XCJHYWxheHkgUzVcIixwYXR0ZXJuOlwiU00tRzkwMFwifSx7bGFiZWw6XCJHYWxheHkgUzZcIixwYXR0ZXJuOlwiU00tRzkyMFwifSx7bGFiZWw6XCJHYWxheHkgUzYgRWRnZVwiLHBhdHRlcm46XCJTTS1HOTI1XCJ9LHtsYWJlbDpcIkdhbGF4eSBTN1wiLHBhdHRlcm46XCJTTS1HOTMwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTNyBFZGdlXCIscGF0dGVybjpcIlNNLUc5MzVcIn0sXCJHb29nbGUgVFZcIixcIkx1bWlhXCIsXCJpUGFkXCIsXCJpUG9kXCIsXCJpUGhvbmVcIixcIktpbmRsZVwiLHtsYWJlbDpcIktpbmRsZSBGaXJlXCIscGF0dGVybjpcIig/OkNsb3VkOXxTaWxrLUFjY2VsZXJhdGVkKVwifSxcIk5leHVzXCIsXCJOb29rXCIsXCJQbGF5Qm9va1wiLFwiUGxheVN0YXRpb24gVml0YVwiLFwiUGxheVN0YXRpb25cIixcIlRvdWNoUGFkXCIsXCJUcmFuc2Zvcm1lclwiLHtsYWJlbDpcIldpaSBVXCIscGF0dGVybjpcIldpaVVcIn0sXCJXaWlcIixcIlhib3ggT25lXCIse2xhYmVsOlwiWGJveCAzNjBcIixwYXR0ZXJuOlwiWGJveFwifSxcIlhvb21cIl0pO3ZhciBJPWdldE1hbnVmYWN0dXJlcih7QXBwbGU6e2lQYWQ6MSxpUGhvbmU6MSxpUG9kOjF9LEFsY2F0ZWw6e30sQXJjaG9zOnt9LEFtYXpvbjp7S2luZGxlOjEsXCJLaW5kbGUgRmlyZVwiOjF9LEFzdXM6e1RyYW5zZm9ybWVyOjF9LFwiQmFybmVzICYgTm9ibGVcIjp7Tm9vazoxfSxCbGFja0JlcnJ5OntQbGF5Qm9vazoxfSxHb29nbGU6e1wiR29vZ2xlIFRWXCI6MSxOZXh1czoxfSxIUDp7VG91Y2hQYWQ6MX0sSFRDOnt9LEh1YXdlaTp7fSxMZW5vdm86e30sTEc6e30sTWljcm9zb2Z0OntYYm94OjEsXCJYYm94IE9uZVwiOjF9LE1vdG9yb2xhOntYb29tOjF9LE5pbnRlbmRvOntcIldpaSBVXCI6MSxXaWk6MX0sTm9raWE6e0x1bWlhOjF9LE9wcG86e30sU2Ftc3VuZzp7XCJHYWxheHkgU1wiOjEsXCJHYWxheHkgUzJcIjoxLFwiR2FsYXh5IFMzXCI6MSxcIkdhbGF4eSBTNFwiOjF9LFNvbnk6e1BsYXlTdGF0aW9uOjEsXCJQbGF5U3RhdGlvbiBWaXRhXCI6MX0sWGlhb21pOntNaToxLFJlZG1pOjF9fSk7dmFyIFQ9Z2V0T1MoW1wiV2luZG93cyBQaG9uZVwiLFwiS2FpT1NcIixcIkFuZHJvaWRcIixcIkNlbnRPU1wiLHtsYWJlbDpcIkNocm9tZSBPU1wiLHBhdHRlcm46XCJDck9TXCJ9LFwiRGViaWFuXCIse2xhYmVsOlwiRHJhZ29uRmx5IEJTRFwiLHBhdHRlcm46XCJEcmFnb25GbHlcIn0sXCJGZWRvcmFcIixcIkZyZWVCU0RcIixcIkdlbnRvb1wiLFwiSGFpa3VcIixcIkt1YnVudHVcIixcIkxpbnV4IE1pbnRcIixcIk9wZW5CU0RcIixcIlJlZCBIYXRcIixcIlN1U0VcIixcIlVidW50dVwiLFwiWHVidW50dVwiLFwiQ3lnd2luXCIsXCJTeW1iaWFuIE9TXCIsXCJocHdPU1wiLFwid2ViT1MgXCIsXCJ3ZWJPU1wiLFwiVGFibGV0IE9TXCIsXCJUaXplblwiLFwiTGludXhcIixcIk1hYyBPUyBYXCIsXCJNYWNpbnRvc2hcIixcIk1hY1wiLFwiV2luZG93cyA5ODtcIixcIldpbmRvd3MgXCJdKTtmdW5jdGlvbiBnZXRMYXlvdXQoaSl7cmV0dXJuIHJlZHVjZShpLChmdW5jdGlvbihpLHQpe3JldHVybiBpfHxSZWdFeHAoXCJcXFxcYlwiKyh0LnBhdHRlcm58fHF1YWxpZnkodCkpK1wiXFxcXGJcIixcImlcIikuZXhlYyhlKSYmKHQubGFiZWx8fHQpfSkpfWZ1bmN0aW9uIGdldE1hbnVmYWN0dXJlcihpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCxyKXtyZXR1cm4gaXx8KHRbQV18fHRbL15bYS16XSsoPzogK1thLXpdK1xcYikqL2kuZXhlYyhBKV18fFJlZ0V4cChcIlxcXFxiXCIrcXVhbGlmeShyKStcIig/OlxcXFxifFxcXFx3KlxcXFxkKVwiLFwiaVwiKS5leGVjKGUpKSYmcn0pKX1mdW5jdGlvbiBnZXROYW1lKGkpe3JldHVybiByZWR1Y2UoaSwoZnVuY3Rpb24oaSx0KXtyZXR1cm4gaXx8UmVnRXhwKFwiXFxcXGJcIisodC5wYXR0ZXJufHxxdWFsaWZ5KHQpKStcIlxcXFxiXCIsXCJpXCIpLmV4ZWMoZSkmJih0LmxhYmVsfHx0KX0pKX1mdW5jdGlvbiBnZXRPUyhpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCl7dmFyIHI9dC5wYXR0ZXJufHxxdWFsaWZ5KHQpO2lmKCFpJiYoaT1SZWdFeHAoXCJcXFxcYlwiK3IrXCIoPzovW1xcXFxkLl0rfFsgXFxcXHcuXSopXCIsXCJpXCIpLmV4ZWMoZSkpKXtpPWNsZWFudXBPUyhpLHIsdC5sYWJlbHx8dCl9cmV0dXJuIGl9KSl9ZnVuY3Rpb24gZ2V0UHJvZHVjdChpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCl7dmFyIHI9dC5wYXR0ZXJufHxxdWFsaWZ5KHQpO2lmKCFpJiYoaT1SZWdFeHAoXCJcXFxcYlwiK3IrXCIgKlxcXFxkK1suXFxcXHdfXSpcIixcImlcIikuZXhlYyhlKXx8UmVnRXhwKFwiXFxcXGJcIityK1wiICpcXFxcdystW1xcXFx3XSpcIixcImlcIikuZXhlYyhlKXx8UmVnRXhwKFwiXFxcXGJcIityK1wiKD86OyAqKD86W2Etel0rW18tXSk/W2Etel0rXFxcXGQrfFteICgpOy1dKilcIixcImlcIikuZXhlYyhlKSkpe2lmKChpPVN0cmluZyh0LmxhYmVsJiYhUmVnRXhwKHIsXCJpXCIpLnRlc3QodC5sYWJlbCk/dC5sYWJlbDppKS5zcGxpdChcIi9cIikpWzFdJiYhL1tcXGQuXSsvLnRlc3QoaVswXSkpe2lbMF0rPVwiIFwiK2lbMV19dD10LmxhYmVsfHx0O2k9Zm9ybWF0KGlbMF0ucmVwbGFjZShSZWdFeHAocixcImlcIiksdCkucmVwbGFjZShSZWdFeHAoXCI7ICooPzpcIit0K1wiW18tXSk/XCIsXCJpXCIpLFwiIFwiKS5yZXBsYWNlKFJlZ0V4cChcIihcIit0K1wiKVstXy5dPyhcXFxcdylcIixcImlcIiksXCIkMSAkMlwiKSl9cmV0dXJuIGl9KSl9ZnVuY3Rpb24gZ2V0VmVyc2lvbihpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCl7cmV0dXJuIGl8fChSZWdFeHAodCtcIig/Oi1bXFxcXGQuXSsvfCg/OiBmb3IgW1xcXFx3LV0rKT9bIC8tXSkoW1xcXFxkLl0rW14gKCk7L18tXSopXCIsXCJpXCIpLmV4ZWMoZSl8fDApWzFdfHxudWxsfSkpfWZ1bmN0aW9uIHRvU3RyaW5nUGxhdGZvcm0oKXtyZXR1cm4gdGhpcy5kZXNjcmlwdGlvbnx8XCJcIn1fJiYoXz1bX10pO2lmKC9cXGJBbmRyb2lkXFxiLy50ZXN0KFQpJiYhQSYmKE09L1xcYkFuZHJvaWRbXjtdKjsoLio/KSg/OkJ1aWxkfFxcKSBBcHBsZVdlYktpdClcXGIvaS5leGVjKGUpKSl7QT10cmltKE1bMV0pLnJlcGxhY2UoL15bYS16XXsyfS1bYS16XXsyfTtcXHMqL2ksXCJcIil8fG51bGx9aWYoSSYmIUEpe0E9Z2V0UHJvZHVjdChbSV0pfWVsc2UgaWYoSSYmQSl7QT1BLnJlcGxhY2UoUmVnRXhwKFwiXihcIitxdWFsaWZ5KEkpK1wiKVstXy5cXFxcc11cIixcImlcIiksSStcIiBcIikucmVwbGFjZShSZWdFeHAoXCJeKFwiK3F1YWxpZnkoSSkrXCIpWy1fLl0/KFxcXFx3KVwiLFwiaVwiKSxJK1wiICQyXCIpfWlmKE09L1xcYkdvb2dsZSBUVlxcYi8uZXhlYyhBKSl7QT1NWzBdfWlmKC9cXGJTaW11bGF0b3JcXGIvaS50ZXN0KGUpKXtBPShBP0ErXCIgXCI6XCJcIikrXCJTaW11bGF0b3JcIn1pZihSPT1cIk9wZXJhIE1pbmlcIiYmL1xcYk9QaU9TXFxiLy50ZXN0KGUpKXtQLnB1c2goXCJydW5uaW5nIGluIFR1cmJvL1VuY29tcHJlc3NlZCBtb2RlXCIpfWlmKFI9PVwiSUVcIiYmL1xcYmxpa2UgaVBob25lIE9TXFxiLy50ZXN0KGUpKXtNPXBhcnNlKGUucmVwbGFjZSgvbGlrZSBpUGhvbmUgT1MvLFwiXCIpKTtJPU0ubWFudWZhY3R1cmVyO0E9TS5wcm9kdWN0fWVsc2UgaWYoL15pUC8udGVzdChBKSl7Unx8KFI9XCJTYWZhcmlcIik7VD1cImlPU1wiKygoTT0vIE9TIChbXFxkX10rKS9pLmV4ZWMoZSkpP1wiIFwiK01bMV0ucmVwbGFjZSgvXy9nLFwiLlwiKTpcIlwiKX1lbHNlIGlmKFI9PVwiS29ucXVlcm9yXCImJi9eTGludXhcXGIvaS50ZXN0KFQpKXtUPVwiS3VidW50dVwifWVsc2UgaWYoSSYmSSE9XCJHb29nbGVcIiYmKC9DaHJvbWUvLnRlc3QoUikmJiEvXFxiTW9iaWxlIFNhZmFyaVxcYi9pLnRlc3QoZSl8fC9cXGJWaXRhXFxiLy50ZXN0KEEpKXx8L1xcYkFuZHJvaWRcXGIvLnRlc3QoVCkmJi9eQ2hyb21lLy50ZXN0KFIpJiYvXFxiVmVyc2lvblxcLy9pLnRlc3QoZSkpe1I9XCJBbmRyb2lkIEJyb3dzZXJcIjtUPS9cXGJBbmRyb2lkXFxiLy50ZXN0KFQpP1Q6XCJBbmRyb2lkXCJ9ZWxzZSBpZihSPT1cIlNpbGtcIil7aWYoIS9cXGJNb2JpL2kudGVzdChlKSl7VD1cIkFuZHJvaWRcIjtQLnVuc2hpZnQoXCJkZXNrdG9wIG1vZGVcIil9aWYoL0FjY2VsZXJhdGVkICo9ICp0cnVlL2kudGVzdChlKSl7UC51bnNoaWZ0KFwiYWNjZWxlcmF0ZWRcIil9fWVsc2UgaWYoUj09XCJVQyBCcm93c2VyXCImJi9cXGJVQ1dFQlxcYi8udGVzdChlKSl7UC5wdXNoKFwic3BlZWQgbW9kZVwiKX1lbHNlIGlmKFI9PVwiUGFsZU1vb25cIiYmKE09L1xcYkZpcmVmb3hcXC8oW1xcZC5dKylcXGIvLmV4ZWMoZSkpKXtQLnB1c2goXCJpZGVudGlmeWluZyBhcyBGaXJlZm94IFwiK01bMV0pfWVsc2UgaWYoUj09XCJGaXJlZm94XCImJihNPS9cXGIoTW9iaWxlfFRhYmxldHxUVilcXGIvaS5leGVjKGUpKSl7VHx8KFQ9XCJGaXJlZm94IE9TXCIpO0F8fChBPU1bMV0pfWVsc2UgaWYoIVJ8fChNPSEvXFxiTWluZWZpZWxkXFxiL2kudGVzdChlKSYmL1xcYig/OkZpcmVmb3h8U2FmYXJpKVxcYi8uZXhlYyhSKSkpe2lmKFImJiFBJiYvW1xcLyxdfF5bXihdKz9cXCkvLnRlc3QoZS5zbGljZShlLmluZGV4T2YoTStcIi9cIikrOCkpKXtSPW51bGx9aWYoKE09QXx8SXx8VCkmJihBfHxJfHwvXFxiKD86QW5kcm9pZHxTeW1iaWFuIE9TfFRhYmxldCBPU3x3ZWJPUylcXGIvLnRlc3QoVCkpKXtSPS9bYS16XSsoPzogSGF0KT8vaS5leGVjKC9cXGJBbmRyb2lkXFxiLy50ZXN0KFQpP1Q6TSkrXCIgQnJvd3NlclwifX1lbHNlIGlmKFI9PVwiRWxlY3Ryb25cIiYmKE09KC9cXGJDaHJvbWVcXC8oW1xcZC5dKylcXGIvLmV4ZWMoZSl8fDApWzFdKSl7UC5wdXNoKFwiQ2hyb21pdW0gXCIrTSl9aWYoIUIpe0I9Z2V0VmVyc2lvbihbXCIoPzpDbG91ZDl8Q3JpT1N8Q3JNb3xFZGdlfEVkZ3xFZGdBfEVkZ2lPU3xGeGlPU3xIZWFkbGVzc0Nocm9tZXxJRU1vYmlsZXxJcm9ufE9wZXJhID9NaW5pfE9QaU9TfE9QUnxSYXZlbnxTYW1zdW5nQnJvd3NlcnxTaWxrKD8hL1tcXFxcZC5dKyQpfFVDQnJvd3NlcnxZYUJyb3dzZXIpXCIsXCJWZXJzaW9uXCIscXVhbGlmeShSKSxcIig/OkZpcmVmb3h8TWluZWZpZWxkfE5ldEZyb250KVwiXSl9aWYoTT1fPT1cImlDYWJcIiYmcGFyc2VGbG9hdChCKT4zJiZcIldlYktpdFwifHwvXFxiT3BlcmFcXGIvLnRlc3QoUikmJigvXFxiT1BSXFxiLy50ZXN0KGUpP1wiQmxpbmtcIjpcIlByZXN0b1wiKXx8L1xcYig/Ok1pZG9yaXxOb29rfFNhZmFyaSlcXGIvaS50ZXN0KGUpJiYhL14oPzpUcmlkZW50fEVkZ2VIVE1MKSQvLnRlc3QoXykmJlwiV2ViS2l0XCJ8fCFfJiYvXFxiTVNJRVxcYi9pLnRlc3QoZSkmJihUPT1cIk1hYyBPU1wiP1wiVGFzbWFuXCI6XCJUcmlkZW50XCIpfHxfPT1cIldlYktpdFwiJiYvXFxiUGxheVN0YXRpb25cXGIoPyEgVml0YVxcYikvaS50ZXN0KFIpJiZcIk5ldEZyb250XCIpe189W01dfWlmKFI9PVwiSUVcIiYmKE09KC87ICooPzpYQkxXUHxadW5lV1ApKFxcZCspL2kuZXhlYyhlKXx8MClbMV0pKXtSKz1cIiBNb2JpbGVcIjtUPVwiV2luZG93cyBQaG9uZSBcIisoL1xcKyQvLnRlc3QoTSk/TTpNK1wiLnhcIik7UC51bnNoaWZ0KFwiZGVza3RvcCBtb2RlXCIpfWVsc2UgaWYoL1xcYldQRGVza3RvcFxcYi9pLnRlc3QoZSkpe1I9XCJJRSBNb2JpbGVcIjtUPVwiV2luZG93cyBQaG9uZSA4LnhcIjtQLnVuc2hpZnQoXCJkZXNrdG9wIG1vZGVcIik7Qnx8KEI9KC9cXGJydjooW1xcZC5dKykvLmV4ZWMoZSl8fDApWzFdKX1lbHNlIGlmKFIhPVwiSUVcIiYmXz09XCJUcmlkZW50XCImJihNPS9cXGJydjooW1xcZC5dKykvLmV4ZWMoZSkpKXtpZihSKXtQLnB1c2goXCJpZGVudGlmeWluZyBhcyBcIitSKyhCP1wiIFwiK0I6XCJcIikpfVI9XCJJRVwiO0I9TVsxXX1pZihrKXtpZihpc0hvc3RUeXBlKGksXCJnbG9iYWxcIikpe2lmKG0pe009bS5sYW5nLlN5c3RlbTtFPU0uZ2V0UHJvcGVydHkoXCJvcy5hcmNoXCIpO1Q9VHx8TS5nZXRQcm9wZXJ0eShcIm9zLm5hbWVcIikrXCIgXCIrTS5nZXRQcm9wZXJ0eShcIm9zLnZlcnNpb25cIil9aWYoZyl7dHJ5e0I9aS5yZXF1aXJlKFwicmluZ28vZW5naW5lXCIpLnZlcnNpb24uam9pbihcIi5cIik7Uj1cIlJpbmdvSlNcIn1jYXRjaChlKXtpZigoTT1pLnN5c3RlbSkmJk0uZ2xvYmFsLnN5c3RlbT09aS5zeXN0ZW0pe1I9XCJOYXJ3aGFsXCI7VHx8KFQ9TVswXS5vc3x8bnVsbCl9fWlmKCFSKXtSPVwiUmhpbm9cIn19ZWxzZSBpZih0eXBlb2YgaS5wcm9jZXNzPT1cIm9iamVjdFwiJiYhaS5wcm9jZXNzLmJyb3dzZXImJihNPWkucHJvY2Vzcykpe2lmKHR5cGVvZiBNLnZlcnNpb25zPT1cIm9iamVjdFwiKXtpZih0eXBlb2YgTS52ZXJzaW9ucy5lbGVjdHJvbj09XCJzdHJpbmdcIil7UC5wdXNoKFwiTm9kZSBcIitNLnZlcnNpb25zLm5vZGUpO1I9XCJFbGVjdHJvblwiO0I9TS52ZXJzaW9ucy5lbGVjdHJvbn1lbHNlIGlmKHR5cGVvZiBNLnZlcnNpb25zLm53PT1cInN0cmluZ1wiKXtQLnB1c2goXCJDaHJvbWl1bSBcIitCLFwiTm9kZSBcIitNLnZlcnNpb25zLm5vZGUpO1I9XCJOVy5qc1wiO0I9TS52ZXJzaW9ucy5ud319aWYoIVIpe1I9XCJOb2RlLmpzXCI7RT1NLmFyY2g7VD1NLnBsYXRmb3JtO0I9L1tcXGQuXSsvLmV4ZWMoTS52ZXJzaW9uKTtCPUI/QlswXTpudWxsfX19ZWxzZSBpZihnZXRDbGFzc09mKE09aS5ydW50aW1lKT09cCl7Uj1cIkFkb2JlIEFJUlwiO1Q9TS5mbGFzaC5zeXN0ZW0uQ2FwYWJpbGl0aWVzLm9zfWVsc2UgaWYoZ2V0Q2xhc3NPZihNPWkucGhhbnRvbSk9PXgpe1I9XCJQaGFudG9tSlNcIjtCPShNPU0udmVyc2lvbnx8bnVsbCkmJk0ubWFqb3IrXCIuXCIrTS5taW5vcitcIi5cIitNLnBhdGNofWVsc2UgaWYodHlwZW9mIE8uZG9jdW1lbnRNb2RlPT1cIm51bWJlclwiJiYoTT0vXFxiVHJpZGVudFxcLyhcXGQrKS9pLmV4ZWMoZSkpKXtCPVtCLE8uZG9jdW1lbnRNb2RlXTtpZigoTT0rTVsxXSs0KSE9QlsxXSl7UC5wdXNoKFwiSUUgXCIrQlsxXStcIiBtb2RlXCIpO18mJihfWzFdPVwiXCIpO0JbMV09TX1CPVI9PVwiSUVcIj9TdHJpbmcoQlsxXS50b0ZpeGVkKDEpKTpCWzBdfWVsc2UgaWYodHlwZW9mIE8uZG9jdW1lbnRNb2RlPT1cIm51bWJlclwiJiYvXig/OkNocm9tZXxGaXJlZm94KVxcYi8udGVzdChSKSl7UC5wdXNoKFwibWFza2luZyBhcyBcIitSK1wiIFwiK0IpO1I9XCJJRVwiO0I9XCIxMS4wXCI7Xz1bXCJUcmlkZW50XCJdO1Q9XCJXaW5kb3dzXCJ9VD1UJiZmb3JtYXQoVCl9aWYoQiYmKE09Lyg/OlthYl18ZHB8cHJlfFthYl1cXGQrcHJlKSg/OlxcZCtcXCs/KT8kL2kuZXhlYyhCKXx8Lyg/OmFscGhhfGJldGEpKD86ID9cXGQpPy9pLmV4ZWMoZStcIjtcIisoayYmbi5hcHBNaW5vclZlcnNpb24pKXx8L1xcYk1pbmVmaWVsZFxcYi9pLnRlc3QoZSkmJlwiYVwiKSl7Qz0vYi9pLnRlc3QoTSk/XCJiZXRhXCI6XCJhbHBoYVwiO0I9Qi5yZXBsYWNlKFJlZ0V4cChNK1wiXFxcXCs/JFwiKSxcIlwiKSsoQz09XCJiZXRhXCI/djpoKSsoL1xcZCtcXCs/Ly5leGVjKE0pfHxcIlwiKX1pZihSPT1cIkZlbm5lY1wifHxSPT1cIkZpcmVmb3hcIiYmL1xcYig/OkFuZHJvaWR8RmlyZWZveCBPU3xLYWlPUylcXGIvLnRlc3QoVCkpe1I9XCJGaXJlZm94IE1vYmlsZVwifWVsc2UgaWYoUj09XCJNYXh0aG9uXCImJkIpe0I9Qi5yZXBsYWNlKC9cXC5bXFxkLl0rLyxcIi54XCIpfWVsc2UgaWYoL1xcYlhib3hcXGIvaS50ZXN0KEEpKXtpZihBPT1cIlhib3ggMzYwXCIpe1Q9bnVsbH1pZihBPT1cIlhib3ggMzYwXCImJi9cXGJJRU1vYmlsZVxcYi8udGVzdChlKSl7UC51bnNoaWZ0KFwibW9iaWxlIG1vZGVcIil9fWVsc2UgaWYoKC9eKD86Q2hyb21lfElFfE9wZXJhKSQvLnRlc3QoUil8fFImJiFBJiYhL0Jyb3dzZXJ8TW9iaS8udGVzdChSKSkmJihUPT1cIldpbmRvd3MgQ0VcInx8L01vYmkvaS50ZXN0KGUpKSl7Uis9XCIgTW9iaWxlXCJ9ZWxzZSBpZihSPT1cIklFXCImJmspe3RyeXtpZihpLmV4dGVybmFsPT09bnVsbCl7UC51bnNoaWZ0KFwicGxhdGZvcm0gcHJldmlld1wiKX19Y2F0Y2goZSl7UC51bnNoaWZ0KFwiZW1iZWRkZWRcIil9fWVsc2UgaWYoKC9cXGJCbGFja0JlcnJ5XFxiLy50ZXN0KEEpfHwvXFxiQkIxMFxcYi8udGVzdChlKSkmJihNPShSZWdFeHAoQS5yZXBsYWNlKC8gKy9nLFwiICpcIikrXCIvKFsuXFxcXGRdKylcIixcImlcIikuZXhlYyhlKXx8MClbMV18fEIpKXtNPVtNLC9CQjEwLy50ZXN0KGUpXTtUPShNWzFdPyhBPW51bGwsST1cIkJsYWNrQmVycnlcIik6XCJEZXZpY2UgU29mdHdhcmVcIikrXCIgXCIrTVswXTtCPW51bGx9ZWxzZSBpZih0aGlzIT1mb3JPd24mJkEhPVwiV2lpXCImJihrJiZ5fHwvT3BlcmEvLnRlc3QoUikmJi9cXGIoPzpNU0lFfEZpcmVmb3gpXFxiL2kudGVzdChlKXx8Uj09XCJGaXJlZm94XCImJi9cXGJPUyBYICg/OlxcZCtcXC4pezIsfS8udGVzdChUKXx8Uj09XCJJRVwiJiYoVCYmIS9eV2luLy50ZXN0KFQpJiZCPjUuNXx8L1xcYldpbmRvd3MgWFBcXGIvLnRlc3QoVCkmJkI+OHx8Qj09OCYmIS9cXGJUcmlkZW50XFxiLy50ZXN0KGUpKSkmJiFmLnRlc3QoTT1wYXJzZS5jYWxsKGZvck93bixlLnJlcGxhY2UoZixcIlwiKStcIjtcIikpJiZNLm5hbWUpe009XCJpbmcgYXMgXCIrTS5uYW1lKygoTT1NLnZlcnNpb24pP1wiIFwiK006XCJcIik7aWYoZi50ZXN0KFIpKXtpZigvXFxiSUVcXGIvLnRlc3QoTSkmJlQ9PVwiTWFjIE9TXCIpe1Q9bnVsbH1NPVwiaWRlbnRpZnlcIitNfWVsc2V7TT1cIm1hc2tcIitNO2lmKHcpe1I9Zm9ybWF0KHcucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZyxcIiQxICQyXCIpKX1lbHNle1I9XCJPcGVyYVwifWlmKC9cXGJJRVxcYi8udGVzdChNKSl7VD1udWxsfWlmKCFrKXtCPW51bGx9fV89W1wiUHJlc3RvXCJdO1AucHVzaChNKX1pZihNPSgvXFxiQXBwbGVXZWJLaXRcXC8oW1xcZC5dK1xcKz8pL2kuZXhlYyhlKXx8MClbMV0pe009W3BhcnNlRmxvYXQoTS5yZXBsYWNlKC9cXC4oXFxkKSQvLFwiLjAkMVwiKSksTV07aWYoUj09XCJTYWZhcmlcIiYmTVsxXS5zbGljZSgtMSk9PVwiK1wiKXtSPVwiV2ViS2l0IE5pZ2h0bHlcIjtDPVwiYWxwaGFcIjtCPU1bMV0uc2xpY2UoMCwtMSl9ZWxzZSBpZihCPT1NWzFdfHxCPT0oTVsyXT0oL1xcYlNhZmFyaVxcLyhbXFxkLl0rXFwrPykvaS5leGVjKGUpfHwwKVsxXSkpe0I9bnVsbH1NWzFdPSgvXFxiKD86SGVhZGxlc3MpP0Nocm9tZVxcLyhbXFxkLl0rKS9pLmV4ZWMoZSl8fDApWzFdO2lmKE1bMF09PTUzNy4zNiYmTVsyXT09NTM3LjM2JiZwYXJzZUZsb2F0KE1bMV0pPj0yOCYmXz09XCJXZWJLaXRcIil7Xz1bXCJCbGlua1wiXX1pZigha3x8IXMmJiFNWzFdKXtfJiYoX1sxXT1cImxpa2UgU2FmYXJpXCIpO009KE09TVswXSxNPDQwMD8xOk08NTAwPzI6TTw1MjY/MzpNPDUzMz80Ok08NTM0P1wiNCtcIjpNPDUzNT81Ok08NTM3PzY6TTw1Mzg/NzpNPDYwMT84Ok08NjAyPzk6TTw2MDQ/MTA6TTw2MDY/MTE6TTw2MDg/MTI6XCIxMlwiKX1lbHNle18mJihfWzFdPVwibGlrZSBDaHJvbWVcIik7TT1NWzFdfHwoTT1NWzBdLE08NTMwPzE6TTw1MzI/MjpNPDUzMi4wNT8zOk08NTMzPzQ6TTw1MzQuMDM/NTpNPDUzNC4wNz82Ok08NTM0LjE/NzpNPDUzNC4xMz84Ok08NTM0LjE2Pzk6TTw1MzQuMjQ/MTA6TTw1MzQuMz8xMTpNPDUzNS4wMT8xMjpNPDUzNS4wMj9cIjEzK1wiOk08NTM1LjA3PzE1Ok08NTM1LjExPzE2Ok08NTM1LjE5PzE3Ok08NTM2LjA1PzE4Ok08NTM2LjE/MTk6TTw1MzcuMDE/MjA6TTw1MzcuMTE/XCIyMStcIjpNPDUzNy4xMz8yMzpNPDUzNy4xOD8yNDpNPDUzNy4yND8yNTpNPDUzNy4zNj8yNjpfIT1cIkJsaW5rXCI/XCIyN1wiOlwiMjhcIil9XyYmKF9bMV0rPVwiIFwiKyhNKz10eXBlb2YgTT09XCJudW1iZXJcIj9cIi54XCI6L1suK10vLnRlc3QoTSk/XCJcIjpcIitcIikpO2lmKFI9PVwiU2FmYXJpXCImJighQnx8cGFyc2VJbnQoQik+NDUpKXtCPU19ZWxzZSBpZihSPT1cIkNocm9tZVwiJiYvXFxiSGVhZGxlc3NDaHJvbWUvaS50ZXN0KGUpKXtQLnVuc2hpZnQoXCJoZWFkbGVzc1wiKX19aWYoUj09XCJPcGVyYVwiJiYoTT0vXFxiemJvdnx6dmF2JC8uZXhlYyhUKSkpe1IrPVwiIFwiO1AudW5zaGlmdChcImRlc2t0b3AgbW9kZVwiKTtpZihNPT1cInp2YXZcIil7Uis9XCJNaW5pXCI7Qj1udWxsfWVsc2V7Uis9XCJNb2JpbGVcIn1UPVQucmVwbGFjZShSZWdFeHAoXCIgKlwiK00rXCIkXCIpLFwiXCIpfWVsc2UgaWYoUj09XCJTYWZhcmlcIiYmL1xcYkNocm9tZVxcYi8uZXhlYyhfJiZfWzFdKSl7UC51bnNoaWZ0KFwiZGVza3RvcCBtb2RlXCIpO1I9XCJDaHJvbWUgTW9iaWxlXCI7Qj1udWxsO2lmKC9cXGJPUyBYXFxiLy50ZXN0KFQpKXtJPVwiQXBwbGVcIjtUPVwiaU9TIDQuMytcIn1lbHNle1Q9bnVsbH19ZWxzZSBpZigvXFxiU1JXYXJlIElyb25cXGIvLnRlc3QoUikmJiFCKXtCPWdldFZlcnNpb24oXCJDaHJvbWVcIil9aWYoQiYmQi5pbmRleE9mKE09L1tcXGQuXSskLy5leGVjKFQpKT09MCYmZS5pbmRleE9mKFwiL1wiK00rXCItXCIpPi0xKXtUPXRyaW0oVC5yZXBsYWNlKE0sXCJcIikpfWlmKFQmJlQuaW5kZXhPZihSKSE9LTEmJiFSZWdFeHAoUitcIiBPU1wiKS50ZXN0KFQpKXtUPVQucmVwbGFjZShSZWdFeHAoXCIgKlwiK3F1YWxpZnkoUikrXCIgKlwiKSxcIlwiKX1pZihfJiYhL1xcYig/OkF2YW50fE5vb2spXFxiLy50ZXN0KFIpJiYoL0Jyb3dzZXJ8THVuYXNjYXBlfE1heHRob24vLnRlc3QoUil8fFIhPVwiU2FmYXJpXCImJi9eaU9TLy50ZXN0KFQpJiYvXFxiU2FmYXJpXFxiLy50ZXN0KF9bMV0pfHwvXig/OkFkb2JlfEFyb3JhfEJyZWFjaHxNaWRvcml8T3BlcmF8UGhhbnRvbXxSZWtvbnF8Um9ja3xTYW1zdW5nIEludGVybmV0fFNsZWlwbmlyfFNSV2FyZSBJcm9ufFZpdmFsZGl8V2ViKS8udGVzdChSKSYmX1sxXSkpeyhNPV9bXy5sZW5ndGgtMV0pJiZQLnB1c2goTSl9aWYoUC5sZW5ndGgpe1A9W1wiKFwiK1Auam9pbihcIjsgXCIpK1wiKVwiXX1pZihJJiZBJiZBLmluZGV4T2YoSSk8MCl7UC5wdXNoKFwib24gXCIrSSl9aWYoQSl7UC5wdXNoKCgvXm9uIC8udGVzdChQW1AubGVuZ3RoLTFdKT9cIlwiOlwib24gXCIpK0EpfWlmKFQpe009LyAoW1xcZC4rXSspJC8uZXhlYyhUKTtXPU0mJlQuY2hhckF0KFQubGVuZ3RoLU1bMF0ubGVuZ3RoLTEpPT1cIi9cIjtUPXthcmNoaXRlY3R1cmU6MzIsZmFtaWx5Ok0mJiFXP1QucmVwbGFjZShNWzBdLFwiXCIpOlQsdmVyc2lvbjpNP01bMV06bnVsbCx0b1N0cmluZzpmdW5jdGlvbigpe3ZhciBlPXRoaXMudmVyc2lvbjtyZXR1cm4gdGhpcy5mYW1pbHkrKGUmJiFXP1wiIFwiK2U6XCJcIikrKHRoaXMuYXJjaGl0ZWN0dXJlPT02ND9cIiA2NC1iaXRcIjpcIlwiKX19fWlmKChNPS9cXGIoPzpBTUR8SUF8V2lufFdPV3x4ODZffHgpNjRcXGIvaS5leGVjKEUpKSYmIS9cXGJpNjg2XFxiL2kudGVzdChFKSl7aWYoVCl7VC5hcmNoaXRlY3R1cmU9NjQ7VC5mYW1pbHk9VC5mYW1pbHkucmVwbGFjZShSZWdFeHAoXCIgKlwiK00pLFwiXCIpfWlmKFImJigvXFxiV09XNjRcXGIvaS50ZXN0KGUpfHxrJiYvXFx3KD86ODZ8MzIpJC8udGVzdChuLmNwdUNsYXNzfHxuLnBsYXRmb3JtKSYmIS9cXGJXaW42NDsgeDY0XFxiL2kudGVzdChlKSkpe1AudW5zaGlmdChcIjMyLWJpdFwiKX19ZWxzZSBpZihUJiYvXk9TIFgvLnRlc3QoVC5mYW1pbHkpJiZSPT1cIkNocm9tZVwiJiZwYXJzZUZsb2F0KEIpPj0zOSl7VC5hcmNoaXRlY3R1cmU9NjR9ZXx8KGU9bnVsbCk7dmFyIEY9e307Ri5kZXNjcmlwdGlvbj1lO0YubGF5b3V0PV8mJl9bMF07Ri5tYW51ZmFjdHVyZXI9STtGLm5hbWU9UjtGLnByZXJlbGVhc2U9QztGLnByb2R1Y3Q9QTtGLnVhPWU7Ri52ZXJzaW9uPVImJkI7Ri5vcz1UfHx7YXJjaGl0ZWN0dXJlOm51bGwsZmFtaWx5Om51bGwsdmVyc2lvbjpudWxsLHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuXCJudWxsXCJ9fTtGLnBhcnNlPXBhcnNlO0YudG9TdHJpbmc9dG9TdHJpbmdQbGF0Zm9ybTtpZihGLnZlcnNpb24pe1AudW5zaGlmdChCKX1pZihGLm5hbWUpe1AudW5zaGlmdChSKX1pZihUJiZSJiYhKFQ9PVN0cmluZyhUKS5zcGxpdChcIiBcIilbMF0mJihUPT1SLnNwbGl0KFwiIFwiKVswXXx8QSkpKXtQLnB1c2goQT9cIihcIitUK1wiKVwiOlwib24gXCIrVCl9aWYoUC5sZW5ndGgpe0YuZGVzY3JpcHRpb249UC5qb2luKFwiIFwiKX1yZXR1cm4gRn12YXIgZD1wYXJzZSgpO2lmKG4mJm8pe2Zvck93bihkLChmdW5jdGlvbihlLGkpe25baV09ZX0pKX1lbHNle3IucGxhdGZvcm09ZH19KS5jYWxsKHRoaXMpfX07dmFyIGk9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyh0KXt2YXIgcj1pW3RdO2lmKHIhPT11bmRlZmluZWQpe3JldHVybiByLmV4cG9ydHN9dmFyIGE9aVt0XT17aWQ6dCxsb2FkZWQ6ZmFsc2UsZXhwb3J0czp7fX07dmFyIG49dHJ1ZTt0cnl7ZVt0XS5jYWxsKGEuZXhwb3J0cyxhLGEuZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtuPWZhbHNlfWZpbmFsbHl7aWYobilkZWxldGUgaVt0XX1hLmxvYWRlZD10cnVlO3JldHVybiBhLmV4cG9ydHN9KCgpPT57X19uY2N3cGNrX3JlcXVpcmVfXy5ubWQ9ZT0+e2UucGF0aHM9W107aWYoIWUuY2hpbGRyZW4pZS5jaGlsZHJlbj1bXTtyZXR1cm4gZX19KSgpO2lmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgdD1fX25jY3dwY2tfcmVxdWlyZV9fKDU0MSk7bW9kdWxlLmV4cG9ydHM9dH0pKCk7Il0sIm5hbWVzIjpbImUiLCJpIiwidCIsIm5tZCIsImZ1bmN0aW9uIiwib2JqZWN0IiwiciIsIndpbmRvdyIsImEiLCJuIiwibyIsIm5vZGVUeXBlIiwibCIsImdsb2JhbCIsInNlbGYiLCJzIiwiTWF0aCIsInBvdyIsImYiLCJiIiwiYyIsIk9iamVjdCIsInByb3RvdHlwZSIsInAiLCJoYXNPd25Qcm9wZXJ0eSIsInUiLCJ0b1N0cmluZyIsImNhcGl0YWxpemUiLCJTdHJpbmciLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwiY2xlYW51cE9TIiwidGVzdCIsImV4ZWMiLCJyZXBsYWNlIiwiUmVnRXhwIiwiZm9ybWF0Iiwic3BsaXQiLCJlYWNoIiwibGVuZ3RoIiwiZm9yT3duIiwidHJpbSIsImNhbGwiLCJnZXRDbGFzc09mIiwiaXNIb3N0VHlwZSIsInF1YWxpZnkiLCJyZWR1Y2UiLCJwYXJzZSIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsImxpa2VDaHJvbWUiLCJkIiwiUyIsImphdmEiLCJ4IiwibSIsImciLCJlbnZpcm9ubWVudCIsImgiLCJ2IiwiTyIsImRvY3VtZW50IiwieSIsIm9wZXJhbWluaSIsIm9wZXJhIiwidyIsIk0iLCJFIiwiUCIsIkMiLCJrIiwiQiIsInZlcnNpb24iLCJXIiwiXyIsImdldExheW91dCIsImxhYmVsIiwicGF0dGVybiIsIlIiLCJnZXROYW1lIiwiQSIsImdldFByb2R1Y3QiLCJJIiwiZ2V0TWFudWZhY3R1cmVyIiwiQXBwbGUiLCJpUGFkIiwiaVBob25lIiwiaVBvZCIsIkFsY2F0ZWwiLCJBcmNob3MiLCJBbWF6b24iLCJLaW5kbGUiLCJBc3VzIiwiVHJhbnNmb3JtZXIiLCJOb29rIiwiQmxhY2tCZXJyeSIsIlBsYXlCb29rIiwiR29vZ2xlIiwiTmV4dXMiLCJIUCIsIlRvdWNoUGFkIiwiSFRDIiwiSHVhd2VpIiwiTGVub3ZvIiwiTEciLCJNaWNyb3NvZnQiLCJYYm94IiwiTW90b3JvbGEiLCJYb29tIiwiTmludGVuZG8iLCJXaWkiLCJOb2tpYSIsIkx1bWlhIiwiT3BwbyIsIlNhbXN1bmciLCJTb255IiwiUGxheVN0YXRpb24iLCJYaWFvbWkiLCJNaSIsIlJlZG1pIiwiVCIsImdldE9TIiwiZ2V0VmVyc2lvbiIsInRvU3RyaW5nUGxhdGZvcm0iLCJkZXNjcmlwdGlvbiIsInB1c2giLCJtYW51ZmFjdHVyZXIiLCJwcm9kdWN0IiwidW5zaGlmdCIsImluZGV4T2YiLCJwYXJzZUZsb2F0IiwibGFuZyIsIlN5c3RlbSIsImdldFByb3BlcnR5IiwicmVxdWlyZSIsImpvaW4iLCJzeXN0ZW0iLCJvcyIsInByb2Nlc3MiLCJicm93c2VyIiwidmVyc2lvbnMiLCJlbGVjdHJvbiIsIm5vZGUiLCJudyIsImFyY2giLCJwbGF0Zm9ybSIsInJ1bnRpbWUiLCJmbGFzaCIsIkNhcGFiaWxpdGllcyIsInBoYW50b20iLCJtYWpvciIsIm1pbm9yIiwicGF0Y2giLCJkb2N1bWVudE1vZGUiLCJ0b0ZpeGVkIiwiYXBwTWlub3JWZXJzaW9uIiwiZXh0ZXJuYWwiLCJuYW1lIiwicGFyc2VJbnQiLCJhcmNoaXRlY3R1cmUiLCJmYW1pbHkiLCJjcHVDbGFzcyIsIkYiLCJsYXlvdXQiLCJwcmVyZWxlYXNlIiwidWEiLCJfX25jY3dwY2tfcmVxdWlyZV9fIiwidW5kZWZpbmVkIiwiZXhwb3J0cyIsImlkIiwibG9hZGVkIiwicGF0aHMiLCJjaGlsZHJlbiIsImFiIiwiX19kaXJuYW1lIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/platform/platform.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js": /*!*************************************************************************************!*\ !*** ./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js ***! \*************************************************************************************/ /***/ ((module) => { "use strict"; eval("\n(()=>{\n \"use strict\";\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var e = {};\n (()=>{\n var r = e;\n Object.defineProperty(r, \"__esModule\", {\n value: true\n });\n var n = \"<unknown>\";\n function parse(e) {\n var r = e.split(\"\\n\");\n return r.reduce(function(e, r) {\n var n = parseChrome(r) || parseWinjs(r) || parseGecko(r) || parseNode(r) || parseJSC(r);\n if (n) {\n e.push(n);\n }\n return e;\n }, []);\n }\n var a = /^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\n var l = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n function parseChrome(e) {\n var r = a.exec(e);\n if (!r) {\n return null;\n }\n var u = r[2] && r[2].indexOf(\"native\") === 0;\n var t = r[2] && r[2].indexOf(\"eval\") === 0;\n var i = l.exec(r[2]);\n if (t && i != null) {\n r[2] = i[1];\n r[3] = i[2];\n r[4] = i[3];\n }\n return {\n file: !u ? r[2] : null,\n methodName: r[1] || n,\n arguments: u ? [\n r[2]\n ] : [],\n lineNumber: r[3] ? +r[3] : null,\n column: r[4] ? +r[4] : null\n };\n }\n var u = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n function parseWinjs(e) {\n var r = u.exec(e);\n if (!r) {\n return null;\n }\n return {\n file: r[2],\n methodName: r[1] || n,\n arguments: [],\n lineNumber: +r[3],\n column: r[4] ? +r[4] : null\n };\n }\n var t = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\n var i = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n function parseGecko(e) {\n var r = t.exec(e);\n if (!r) {\n return null;\n }\n var a = r[3] && r[3].indexOf(\" > eval\") > -1;\n var l = i.exec(r[3]);\n if (a && l != null) {\n r[3] = l[1];\n r[4] = l[2];\n r[5] = null;\n }\n return {\n file: r[3],\n methodName: r[1] || n,\n arguments: r[2] ? r[2].split(\",\") : [],\n lineNumber: r[4] ? +r[4] : null,\n column: r[5] ? +r[5] : null\n };\n }\n var s = /^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;\n function parseJSC(e) {\n var r = s.exec(e);\n if (!r) {\n return null;\n }\n return {\n file: r[3],\n methodName: r[1] || n,\n arguments: [],\n lineNumber: +r[4],\n column: r[5] ? +r[5] : null\n };\n }\n var o = /^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n function parseNode(e) {\n var r = o.exec(e);\n if (!r) {\n return null;\n }\n return {\n file: r[2],\n methodName: r[1] || n,\n arguments: [],\n lineNumber: +r[3],\n column: r[4] ? +r[4] : null\n };\n }\n r.parse = parse;\n })();\n module.exports = e;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0YWNrdHJhY2UtcGFyc2VyL3N0YWNrLXRyYWNlLXBhcnNlci5janMuanMiLCJtYXBwaW5ncyI6IjtBQUFDO0lBQUs7SUFBYSxJQUFHLE9BQU9BLHdCQUFzQixhQUFZQSxvQkFBb0JDLEVBQUUsR0FBQ0MsWUFBVTtJQUFJLElBQUlDLElBQUUsQ0FBQztJQUFHO1FBQUssSUFBSUMsSUFBRUQ7UUFBRUUsT0FBT0MsY0FBYyxDQUFDRixHQUFFLGNBQWE7WUFBQ0csT0FBTTtRQUFJO1FBQUcsSUFBSUMsSUFBRTtRQUFZLFNBQVNDLE1BQU1OLENBQUM7WUFBRSxJQUFJQyxJQUFFRCxFQUFFTyxLQUFLLENBQUM7WUFBTSxPQUFPTixFQUFFTyxNQUFNLENBQUUsU0FBU1IsQ0FBQyxFQUFDQyxDQUFDO2dCQUFFLElBQUlJLElBQUVJLFlBQVlSLE1BQUlTLFdBQVdULE1BQUlVLFdBQVdWLE1BQUlXLFVBQVVYLE1BQUlZLFNBQVNaO2dCQUFHLElBQUdJLEdBQUU7b0JBQUNMLEVBQUVjLElBQUksQ0FBQ1Q7Z0JBQUU7Z0JBQUMsT0FBT0w7WUFBQyxHQUFHLEVBQUU7UUFBQztRQUFDLElBQUllLElBQUU7UUFBNEksSUFBSUMsSUFBRTtRQUFnQyxTQUFTUCxZQUFZVCxDQUFDO1lBQUUsSUFBSUMsSUFBRWMsRUFBRUUsSUFBSSxDQUFDakI7WUFBRyxJQUFHLENBQUNDLEdBQUU7Z0JBQUMsT0FBTztZQUFJO1lBQUMsSUFBSWlCLElBQUVqQixDQUFDLENBQUMsRUFBRSxJQUFFQSxDQUFDLENBQUMsRUFBRSxDQUFDa0IsT0FBTyxDQUFDLGNBQVk7WUFBRSxJQUFJQyxJQUFFbkIsQ0FBQyxDQUFDLEVBQUUsSUFBRUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQ2tCLE9BQU8sQ0FBQyxZQUFVO1lBQUUsSUFBSUUsSUFBRUwsRUFBRUMsSUFBSSxDQUFDaEIsQ0FBQyxDQUFDLEVBQUU7WUFBRSxJQUFHbUIsS0FBR0MsS0FBRyxN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QUVYLElBQUksQ0FBQ2pCO1lBQUcsSUFBRyxDQUFDQyxHQUFFO2dCQUFDLE9BQU87WUFBSTtZQUFDLE9BQU07Z0JBQUNxQixNQUFLckIsQ0FBQyxDQUFDLEVBQUU7Z0JBQUNzQixZQUFXdEIsQ0FBQyxDQUFDLEVBQUUsSUFBRUk7Z0JBQUVtQixXQUFVLEVBQUU7Z0JBQUNDLFlBQVcsQ0FBQ3hCLENBQUMsQ0FBQyxFQUFFO2dCQUFDeUIsUUFBT3pCLENBQUMsQ0FBQyxFQUFFLEdBQUMsQ0FBQ0EsQ0FBQyxDQUFDLEVBQUUsR0FBQztZQUFJO1FBQUM7UUFBQ0EsRUFBRUssS0FBSyxHQUFDQTtJQUFLO0lBQUt1QixPQUFPQyxPQUFPLEdBQUM5QjtBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9zdGFja3RyYWNlLXBhcnNlci9zdGFjay10cmFjZS1wYXJzZXIuY2pzLmpzP2ZlMGUiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57XCJ1c2Ugc3RyaWN0XCI7aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciBlPXt9OygoKT0+e3ZhciByPWU7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt2YXIgbj1cIjx1bmtub3duPlwiO2Z1bmN0aW9uIHBhcnNlKGUpe3ZhciByPWUuc3BsaXQoXCJcXG5cIik7cmV0dXJuIHIucmVkdWNlKChmdW5jdGlvbihlLHIpe3ZhciBuPXBhcnNlQ2hyb21lKHIpfHxwYXJzZVdpbmpzKHIpfHxwYXJzZUdlY2tvKHIpfHxwYXJzZU5vZGUocil8fHBhcnNlSlNDKHIpO2lmKG4pe2UucHVzaChuKX1yZXR1cm4gZX0pLFtdKX12YXIgYT0vXlxccyphdCAoLio/KSA/XFwoKCg/OmZpbGV8aHR0cHM/fGJsb2J8Y2hyb21lLWV4dGVuc2lvbnxuYXRpdmV8ZXZhbHx3ZWJwYWNrfDxhbm9ueW1vdXM+fFxcL3xbYS16XTpcXFxcfFxcXFxcXFxcKS4qPykoPzo6KFxcZCspKT8oPzo6KFxcZCspKT9cXCk/XFxzKiQvaTt2YXIgbD0vXFwoKFxcUyopKD86OihcXGQrKSkoPzo6KFxcZCspKVxcKS87ZnVuY3Rpb24gcGFyc2VDaHJvbWUoZSl7dmFyIHI9YS5leGVjKGUpO2lmKCFyKXtyZXR1cm4gbnVsbH12YXIgdT1yWzJdJiZyWzJdLmluZGV4T2YoXCJuYXRpdmVcIik9PT0wO3ZhciB0PXJbMl0mJnJbMl0uaW5kZXhPZihcImV2YWxcIik9PT0wO3ZhciBpPWwuZXhlYyhyWzJdKTtpZih0JiZpIT1udWxsKXtyWzJdPWlbMV07clszXT1pWzJdO3JbNF09aVszXX1yZXR1cm57ZmlsZTohdT9yWzJdOm51bGwsbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czp1P1tyWzJdXTpbXSxsaW5lTnVtYmVyOnJbM10/K3JbM106bnVsbCxjb2x1bW46cls0XT8rcls0XTpudWxsfX12YXIgdT0vXlxccyphdCAoPzooKD86XFxbb2JqZWN0IG9iamVjdFxcXSk/LispICk/XFwoPygoPzpmaWxlfG1zLWFwcHh8aHR0cHM/fHdlYnBhY2t8YmxvYik6Lio/KTooXFxkKykoPzo6KFxcZCspKT9cXCk/XFxzKiQvaTtmdW5jdGlvbiBwYXJzZVdpbmpzKGUpe3ZhciByPXUuZXhlYyhlKTtpZighcil7cmV0dXJuIG51bGx9cmV0dXJue2ZpbGU6clsyXSxtZXRob2ROYW1lOnJbMV18fG4sYXJndW1lbnRzOltdLGxpbmVOdW1iZXI6K3JbM10sY29sdW1uOnJbNF0/K3JbNF06bnVsbH19dmFyIHQ9L15cXHMqKC4qPykoPzpcXCgoLio/KVxcKSk/KD86XnxAKSgoPzpmaWxlfGh0dHBzP3xibG9ifGNocm9tZXx3ZWJwYWNrfHJlc291cmNlfFxcW25hdGl2ZSkuKj98W15AXSpidW5kbGUpKD86OihcXGQrKSk/KD86OihcXGQrKSk/XFxzKiQvaTt2YXIgaT0vKFxcUyspIGxpbmUgKFxcZCspKD86ID4gZXZhbCBsaW5lIFxcZCspKiA+IGV2YWwvaTtmdW5jdGlvbiBwYXJzZUdlY2tvKGUpe3ZhciByPXQuZXhlYyhlKTtpZighcil7cmV0dXJuIG51bGx9dmFyIGE9clszXSYmclszXS5pbmRleE9mKFwiID4gZXZhbFwiKT4tMTt2YXIgbD1pLmV4ZWMoclszXSk7aWYoYSYmbCE9bnVsbCl7clszXT1sWzFdO3JbNF09bFsyXTtyWzVdPW51bGx9cmV0dXJue2ZpbGU6clszXSxtZXRob2ROYW1lOnJbMV18fG4sYXJndW1lbnRzOnJbMl0/clsyXS5zcGxpdChcIixcIik6W10sbGluZU51bWJlcjpyWzRdPytyWzRdOm51bGwsY29sdW1uOnJbNV0/K3JbNV06bnVsbH19dmFyIHM9L15cXHMqKD86KFteQF0qKSg/OlxcKCguKj8pXFwpKT9AKT8oXFxTLio/KTooXFxkKykoPzo6KFxcZCspKT9cXHMqJC9pO2Z1bmN0aW9uIHBhcnNlSlNDKGUpe3ZhciByPXMuZXhlYyhlKTtpZighcil7cmV0dXJuIG51bGx9cmV0dXJue2ZpbGU6clszXSxtZXRob2ROYW1lOnJbMV18fG4sYXJndW1lbnRzOltdLGxpbmVOdW1iZXI6K3JbNF0sY29sdW1uOnJbNV0/K3JbNV06bnVsbH19dmFyIG89L15cXHMqYXQgKD86KCg/OlxcW29iamVjdCBvYmplY3RcXF0pP1teXFxcXC9dKyg/OiBcXFthcyBcXFMrXFxdKT8pICk/XFwoPyguKj8pOihcXGQrKSg/OjooXFxkKykpP1xcKT9cXHMqJC9pO2Z1bmN0aW9uIHBhcnNlTm9kZShlKXt2YXIgcj1vLmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXJldHVybntmaWxlOnJbMl0sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpbXSxsaW5lTnVtYmVyOityWzNdLGNvbHVtbjpyWzRdPytyWzRdOm51bGx9fXIucGFyc2U9cGFyc2V9KSgpO21vZHVsZS5leHBvcnRzPWV9KSgpOyJdLCJuYW1lcyI6WyJfX25jY3dwY2tfcmVxdWlyZV9fIiwiYWIiLCJfX2Rpcm5hbWUiLCJlIiwiciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJuIiwicGFyc2UiLCJzcGxpdCIsInJlZHVjZSIsInBhcnNlQ2hyb21lIiwicGFyc2VXaW5qcyIsInBhcnNlR2Vja28iLCJwYXJzZU5vZGUiLCJwYXJzZUpTQyIsInB1c2giLCJhIiwibCIsImV4ZWMiLCJ1IiwiaW5kZXhPZiIsInQiLCJpIiwiZmlsZSIsIm1ldGhvZE5hbWUiLCJhcmd1bWVudHMiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwicyIsIm8iLCJtb2R1bGUiLCJleHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js": /*!*************************************************************!*\ !*** ./node_modules/next/dist/compiled/strip-ansi/index.js ***! \*************************************************************/ /***/ ((module) => { "use strict"; eval("\n(()=>{\n \"use strict\";\n var e = {\n 511: (e)=>{\n e.exports = ({ onlyFirst: e = false } = {})=>{\n const r = [\n \"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\n \"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"\n ].join(\"|\");\n return new RegExp(r, e ? undefined : \"g\");\n };\n },\n 532: (e, r, _)=>{\n const t = _(511);\n e.exports = (e)=>typeof e === \"string\" ? e.replace(t(), \"\") : e;\n }\n };\n var r = {};\n function __nccwpck_require__(_) {\n var t = r[_];\n if (t !== undefined) {\n return t.exports;\n }\n var a = r[_] = {\n exports: {}\n };\n var n = true;\n try {\n e[_](a, a.exports, __nccwpck_require__);\n n = false;\n } finally{\n if (n) delete r[_];\n }\n return a.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var _ = __nccwpck_require__(532);\n module.exports = _;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0cmlwLWFuc2kvaW5kZXguanMiLCJtYXBwaW5ncyI6IjtBQUFDO0lBQUs7SUFBYSxJQUFJQSxJQUFFO1FBQUMsS0FBSUEsQ0FBQUE7WUFBSUEsRUFBRUMsT0FBTyxHQUFDLENBQUMsRUFBQ0MsV0FBVUYsSUFBRSxLQUFLLEVBQUMsR0FBQyxDQUFDLENBQUM7Z0JBQUksTUFBTUcsSUFBRTtvQkFBQztvQkFBK0g7aUJBQTJELENBQUNDLElBQUksQ0FBQztnQkFBSyxPQUFPLElBQUlDLE9BQU9GLEdBQUVILElBQUVNLFlBQVU7WUFBSTtRQUFDO1FBQUUsS0FBSSxDQUFDTixHQUFFRyxHQUFFSTtZQUFLLE1BQU1DLElBQUVELEVBQUU7WUFBS1AsRUFBRUMsT0FBTyxHQUFDRCxDQUFBQSxJQUFHLE9BQU9BLE1BQUksV0FBU0EsRUFBRVMsT0FBTyxDQUFDRCxLQUFJLE1BQUlSO1FBQUM7SUFBQztJQUFFLElBQUlHLElBQUUsQ0FBQztJQUFFLFNBQVNPLG9CQUFvQkgsQ0FBQztRQUFFLElBQUlDLElBQUVMLENBQUMsQ0FBQ0ksRUFBRTtRQUFDLElBQUdDLE1BQUlGLFdBQVU7WUFBQyxPQUFPRSxFQUFFUCxPQUFPO1FBQUE7UUFBQyxJQUFJVSxJQUFFUixDQUFDLENBQUNJLEVBQUUsR0FBQztZQUFDTixTQUFRLENBQUM7UUFBQztRQUFFLElBQUlXLElBQUU7UUFBSyxJQUFHO1lBQUNaLENBQUMsQ0FBQ08sRUFBRSxDQUFDSSxHQUFFQSxFQUFFVixPQUFPLEVBQUNTO1lBQXFCRSxJQUFFO1FBQUssU0FBUTtZQUFDLElBQUdBLEdBQUUsT0FBT1QsQ0FBQyxDQUFDSSxFQUFFO1FBQUE7UUFBQyxPQUFPSSxFQUFFVixPQUFPO0lBQUE7SUFBQyxJQUFHLE9BQU9TLHdCQUFzQixhQUFZQSxvQkFBb0JHLEVBQUUsR0FBQ0MsWUFBVTtJQUFJLElBQUlQLElBQUVHLG9CQUFvQjtJQUFLSyxPQUFPZCxPQUFPLEdBQUNNO0FBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0cmlwLWFuc2kvaW5kZXguanM/MTFmYSJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9PntcInVzZSBzdHJpY3RcIjt2YXIgZT17NTExOmU9PntlLmV4cG9ydHM9KHtvbmx5Rmlyc3Q6ZT1mYWxzZX09e30pPT57Y29uc3Qgcj1bXCJbXFxcXHUwMDFCXFxcXHUwMDlCXVtbXFxcXF0oKSM7P10qKD86KD86KD86KD86O1stYS16QS1aXFxcXGRcXFxcLyMmLjo9PyVAfl9dKykqfFthLXpBLVpcXFxcZF0rKD86O1stYS16QS1aXFxcXGRcXFxcLyMmLjo9PyVAfl9dKikqKT9cXFxcdTAwMDcpXCIsXCIoPzooPzpcXFxcZHsxLDR9KD86O1xcXFxkezAsNH0pKik/W1xcXFxkQS1QUi1UWmNmLW50cXJ5PT48fl0pKVwiXS5qb2luKFwifFwiKTtyZXR1cm4gbmV3IFJlZ0V4cChyLGU/dW5kZWZpbmVkOlwiZ1wiKX19LDUzMjooZSxyLF8pPT57Y29uc3QgdD1fKDUxMSk7ZS5leHBvcnRzPWU9PnR5cGVvZiBlPT09XCJzdHJpbmdcIj9lLnJlcGxhY2UodCgpLFwiXCIpOmV9fTt2YXIgcj17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKF8pe3ZhciB0PXJbX107aWYodCE9PXVuZGVmaW5lZCl7cmV0dXJuIHQuZXhwb3J0c312YXIgYT1yW19dPXtleHBvcnRzOnt9fTt2YXIgbj10cnVlO3RyeXtlW19dKGEsYS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO249ZmFsc2V9ZmluYWxseXtpZihuKWRlbGV0ZSByW19dfXJldHVybiBhLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciBfPV9fbmNjd3Bja19yZXF1aXJlX18oNTMyKTttb2R1bGUuZXhwb3J0cz1ffSkoKTsiXSwibmFtZXMiOlsiZSIsImV4cG9ydHMiLCJvbmx5Rmlyc3QiLCJyIiwiam9pbiIsIlJlZ0V4cCIsInVuZGVmaW5lZCIsIl8iLCJ0IiwicmVwbGFjZSIsIl9fbmNjd3Bja19yZXF1aXJlX18iLCJhIiwibiIsImFiIiwiX19kaXJuYW1lIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/app-render/get-segment-param.js": /*!***********************************************************************!*\ !*** ./node_modules/next/dist/server/app-render/get-segment-param.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSegmentParam\", ({\n enumerable: true,\n get: function() {\n return getSegmentParam;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../future/helpers/interception-routes */ \"(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nfunction getSegmentParam(segment) {\n const interceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((marker)=>segment.startsWith(marker));\n // if an interception marker is part of the path segment, we need to jump ahead\n // to the relevant portion for param parsing\n if (interceptionMarker) {\n segment = segment.slice(interceptionMarker.length);\n }\n if (segment.startsWith(\"[[...\") && segment.endsWith(\"]]\")) {\n return {\n type: \"optional-catchall\",\n param: segment.slice(5, -2)\n };\n }\n if (segment.startsWith(\"[...\") && segment.endsWith(\"]\")) {\n return {\n type: \"catchall\",\n param: segment.slice(4, -1)\n };\n }\n if (segment.startsWith(\"[\") && segment.endsWith(\"]\")) {\n return {\n type: \"dynamic\",\n param: segment.slice(1, -1)\n };\n }\n return null;\n} //# sourceMappingURL=get-segment-param.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2dldC1zZWdtZW50LXBhcmFtLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxtREFBa0Q7SUFDOUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxzQkFBc0JDLG1CQUFPQSxDQUFDLDBIQUF1QztBQUMzRSxTQUFTRixnQkFBZ0JHLE9BQU87SUFDNUIsTUFBTUMscUJBQXFCSCxvQkFBb0JJLDBCQUEwQixDQUFDQyxJQUFJLENBQUMsQ0FBQ0MsU0FBU0osUUFBUUssVUFBVSxDQUFDRDtJQUM1RywrRUFBK0U7SUFDL0UsNENBQTRDO0lBQzVDLElBQUlILG9CQUFvQjtRQUNwQkQsVUFBVUEsUUFBUU0sS0FBSyxDQUFDTCxtQkFBbUJNLE1BQU07SUFDckQ7SUFDQSxJQUFJUCxRQUFRSyxVQUFVLENBQUMsWUFBWUwsUUFBUVEsUUFBUSxDQUFDLE9BQU87UUFDdkQsT0FBTztZQUNIQyxNQUFNO1lBQ05DLE9BQU9WLFFBQVFNLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDN0I7SUFDSjtJQUNBLElBQUlOLFFBQVFLLFVBQVUsQ0FBQyxXQUFXTCxRQUFRUSxRQUFRLENBQUMsTUFBTTtRQUNyRCxPQUFPO1lBQ0hDLE1BQU07WUFDTkMsT0FBT1YsUUFBUU0sS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUM3QjtJQUNKO0lBQ0EsSUFBSU4sUUFBUUssVUFBVSxDQUFDLFFBQVFMLFFBQVFRLFFBQVEsQ0FBQyxNQUFNO1FBQ2xELE9BQU87WUFDSEMsTUFBTTtZQUNOQyxPQUFPVixRQUFRTSxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQzdCO0lBQ0o7SUFDQSxPQUFPO0FBQ1gsRUFFQSw2Q0FBNkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2dldC1zZWdtZW50LXBhcmFtLmpzPzRhMDUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRTZWdtZW50UGFyYW1cIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFNlZ21lbnRQYXJhbTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcmNlcHRpb25yb3V0ZXMgPSByZXF1aXJlKFwiLi4vZnV0dXJlL2hlbHBlcnMvaW50ZXJjZXB0aW9uLXJvdXRlc1wiKTtcbmZ1bmN0aW9uIGdldFNlZ21lbnRQYXJhbShzZWdtZW50KSB7XG4gICAgY29uc3QgaW50ZXJjZXB0aW9uTWFya2VyID0gX2ludGVyY2VwdGlvbnJvdXRlcy5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtYXJrZXIpPT5zZWdtZW50LnN0YXJ0c1dpdGgobWFya2VyKSk7XG4gICAgLy8gaWYgYW4gaW50ZXJjZXB0aW9uIG1hcmtlciBpcyBwYXJ0IG9mIHRoZSBwYXRoIHNlZ21lbnQsIHdlIG5lZWQgdG8ganVtcCBhaGVhZFxuICAgIC8vIHRvIHRoZSByZWxldmFudCBwb3J0aW9uIGZvciBwYXJhbSBwYXJzaW5nXG4gICAgaWYgKGludGVyY2VwdGlvbk1hcmtlcikge1xuICAgICAgICBzZWdtZW50ID0gc2VnbWVudC5zbGljZShpbnRlcmNlcHRpb25NYXJrZXIubGVuZ3RoKTtcbiAgICB9XG4gICAgaWYgKHNlZ21lbnQuc3RhcnRzV2l0aChcIltbLi4uXCIpICYmIHNlZ21lbnQuZW5kc1dpdGgoXCJdXVwiKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogXCJvcHRpb25hbC1jYXRjaGFsbFwiLFxuICAgICAgICAgICAgcGFyYW06IHNlZ21lbnQuc2xpY2UoNSwgLTIpXG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmIChzZWdtZW50LnN0YXJ0c1dpdGgoXCJbLi4uXCIpICYmIHNlZ21lbnQuZW5kc1dpdGgoXCJdXCIpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiBcImNhdGNoYWxsXCIsXG4gICAgICAgICAgICBwYXJhbTogc2VnbWVudC5zbGljZSg0LCAtMSlcbiAgICAgICAgfTtcbiAgICB9XG4gICAgaWYgKHNlZ21lbnQuc3RhcnRzV2l0aChcIltcIikgJiYgc2VnbWVudC5lbmRzV2l0aChcIl1cIikpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IFwiZHluYW1pY1wiLFxuICAgICAgICAgICAgcGFyYW06IHNlZ21lbnQuc2xpY2UoMSwgLTEpXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXQtc2VnbWVudC1wYXJhbS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZ2V0U2VnbWVudFBhcmFtIiwiX2ludGVyY2VwdGlvbnJvdXRlcyIsInJlcXVpcmUiLCJzZWdtZW50IiwiaW50ZXJjZXB0aW9uTWFya2VyIiwiSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMiLCJmaW5kIiwibWFya2VyIiwic3RhcnRzV2l0aCIsInNsaWNlIiwibGVuZ3RoIiwiZW5kc1dpdGgiLCJ0eXBlIiwicGFyYW0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/app-render/get-segment-param.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/dev/hot-reloader-types.js": /*!*****************************************************************!*\ !*** ./node_modules/next/dist/server/dev/hot-reloader-types.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HMR_ACTIONS_SENT_TO_BROWSER\", ({\n enumerable: true,\n get: function() {\n return HMR_ACTIONS_SENT_TO_BROWSER;\n }\n}));\nvar HMR_ACTIONS_SENT_TO_BROWSER;\n(function(HMR_ACTIONS_SENT_TO_BROWSER) {\n HMR_ACTIONS_SENT_TO_BROWSER[\"ADDED_PAGE\"] = \"addedPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"REMOVED_PAGE\"] = \"removedPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"RELOAD_PAGE\"] = \"reloadPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_COMPONENT_CHANGES\"] = \"serverComponentChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"MIDDLEWARE_CHANGES\"] = \"middlewareChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"CLIENT_CHANGES\"] = \"clientChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_ONLY_CHANGES\"] = \"serverOnlyChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SYNC\"] = \"sync\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"BUILT\"] = \"built\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"BUILDING\"] = \"building\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"FINISH_BUILDING\"] = \"finishBuilding\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"DEV_PAGES_MANIFEST_UPDATE\"] = \"devPagesManifestUpdate\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"TURBOPACK_MESSAGE\"] = \"turbopack-message\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_ERROR\"] = \"serverError\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"TURBOPACK_CONNECTED\"] = \"turbopack-connected\";\n})(HMR_ACTIONS_SENT_TO_BROWSER || (HMR_ACTIONS_SENT_TO_BROWSER = {})); //# sourceMappingURL=hot-reloader-types.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9kZXYvaG90LXJlbG9hZGVyLXR5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwrREFBOEQ7SUFDMURJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixJQUFJQTtBQUNILFVBQVNBLDJCQUEyQjtJQUNqQ0EsMkJBQTJCLENBQUMsYUFBYSxHQUFHO0lBQzVDQSwyQkFBMkIsQ0FBQyxlQUFlLEdBQUc7SUFDOUNBLDJCQUEyQixDQUFDLGNBQWMsR0FBRztJQUM3Q0EsMkJBQTJCLENBQUMsMkJBQTJCLEdBQUc7SUFDMURBLDJCQUEyQixDQUFDLHFCQUFxQixHQUFHO0lBQ3BEQSwyQkFBMkIsQ0FBQyxpQkFBaUIsR0FBRztJQUNoREEsMkJBQTJCLENBQUMsc0JBQXNCLEdBQUc7SUFDckRBLDJCQUEyQixDQUFDLE9BQU8sR0FBRztJQUN0Q0EsMkJBQTJCLENBQUMsUUFBUSxHQUFHO0lBQ3ZDQSwyQkFBMkIsQ0FBQyxXQUFXLEdBQUc7SUFDMUNBLDJCQUEyQixDQUFDLGtCQUFrQixHQUFHO0lBQ2pEQSwyQkFBMkIsQ0FBQyw0QkFBNEIsR0FBRztJQUMzREEsMkJBQTJCLENBQUMsb0JBQW9CLEdBQUc7SUFDbkRBLDJCQUEyQixDQUFDLGVBQWUsR0FBRztJQUM5Q0EsMkJBQTJCLENBQUMsc0JBQXNCLEdBQUc7QUFDekQsR0FBR0EsK0JBQWdDQSxDQUFBQSw4QkFBOEIsQ0FBQyxLQUVsRSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9kZXYvaG90LXJlbG9hZGVyLXR5cGVzLmpzP2JmYWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUjtcbiAgICB9XG59KTtcbnZhciBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVI7XG4oZnVuY3Rpb24oSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSKSB7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiQURERURfUEFHRVwiXSA9IFwiYWRkZWRQYWdlXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiUkVNT1ZFRF9QQUdFXCJdID0gXCJyZW1vdmVkUGFnZVwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlJFTE9BRF9QQUdFXCJdID0gXCJyZWxvYWRQYWdlXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiU0VSVkVSX0NPTVBPTkVOVF9DSEFOR0VTXCJdID0gXCJzZXJ2ZXJDb21wb25lbnRDaGFuZ2VzXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiTUlERExFV0FSRV9DSEFOR0VTXCJdID0gXCJtaWRkbGV3YXJlQ2hhbmdlc1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkNMSUVOVF9DSEFOR0VTXCJdID0gXCJjbGllbnRDaGFuZ2VzXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiU0VSVkVSX09OTFlfQ0hBTkdFU1wiXSA9IFwic2VydmVyT25seUNoYW5nZXNcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJTWU5DXCJdID0gXCJzeW5jXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiQlVJTFRcIl0gPSBcImJ1aWx0XCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiQlVJTERJTkdcIl0gPSBcImJ1aWxkaW5nXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiRklOSVNIX0JVSUxESU5HXCJdID0gXCJmaW5pc2hCdWlsZGluZ1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkRFVl9QQUdFU19NQU5JRkVTVF9VUERBVEVcIl0gPSBcImRldlBhZ2VzTWFuaWZlc3RVcGRhdGVcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJUVVJCT1BBQ0tfTUVTU0FHRVwiXSA9IFwidHVyYm9wYWNrLW1lc3NhZ2VcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJTRVJWRVJfRVJST1JcIl0gPSBcInNlcnZlckVycm9yXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiVFVSQk9QQUNLX0NPTk5FQ1RFRFwiXSA9IFwidHVyYm9wYWNrLWNvbm5lY3RlZFwiO1xufSkoSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSIHx8IChITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIgPSB7fSkpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ob3QtcmVsb2FkZXItdHlwZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/dev/hot-reloader-types.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/server/future/helpers/interception-routes.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERCEPTION_ROUTE_MARKERS: function() {\n return INTERCEPTION_ROUTE_MARKERS;\n },\n isInterceptionRouteAppPath: function() {\n return isInterceptionRouteAppPath;\n },\n extractInterceptionRouteInformation: function() {\n return extractInterceptionRouteInformation;\n }\n});\nconst _apppaths = __webpack_require__(/*! ../../../shared/lib/router/utils/app-paths */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst INTERCEPTION_ROUTE_MARKERS = [\n \"(..)(..)\",\n \"(.)\",\n \"(..)\",\n \"(...)\"\n];\nfunction isInterceptionRouteAppPath(path) {\n // TODO-APP: add more serious validation\n return path.split(\"/\").find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined;\n}\nfunction extractInterceptionRouteInformation(path) {\n let interceptingRoute, marker, interceptedRoute;\n for (const segment of path.split(\"/\")){\n marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n [interceptingRoute, interceptedRoute] = path.split(marker, 2);\n break;\n }\n }\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);\n }\n interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n ;\n switch(marker){\n case \"(.)\":\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === \"/\") {\n interceptedRoute = `/${interceptedRoute}`;\n } else {\n interceptedRoute = interceptingRoute + \"/\" + interceptedRoute;\n }\n break;\n case \"(..)\":\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === \"/\") {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`);\n }\n interceptedRoute = interceptingRoute.split(\"/\").slice(0, -1).concat(interceptedRoute).join(\"/\");\n break;\n case \"(...)\":\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = \"/\" + interceptedRoute;\n break;\n case \"(..)(..)\":\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n const splitInterceptingRoute = interceptingRoute.split(\"/\");\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`);\n }\n interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join(\"/\");\n break;\n default:\n throw new Error(\"Invariant: unexpected marker\");\n }\n return {\n interceptingRoute,\n interceptedRoute\n };\n} //# sourceMappingURL=interception-routes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyw0QkFBNEI7UUFDeEIsT0FBT0E7SUFDWDtJQUNBQyw0QkFBNEI7UUFDeEIsT0FBT0E7SUFDWDtJQUNBQyxxQ0FBcUM7UUFDakMsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sWUFBWUMsbUJBQU9BLENBQUMsdUhBQTRDO0FBQ3RFLE1BQU1WLDZCQUE2QjtJQUMvQjtJQUNBO0lBQ0E7SUFDQTtDQUNIO0FBQ0QsU0FBU0MsMkJBQTJCVSxJQUFJO0lBQ3BDLHdDQUF3QztJQUN4QyxPQUFPQSxLQUFLQyxLQUFLLENBQUMsS0FBS0MsSUFBSSxDQUFDLENBQUNDLFVBQVVkLDJCQUEyQmEsSUFBSSxDQUFDLENBQUNFLElBQUlELFFBQVFFLFVBQVUsQ0FBQ0QsU0FBU0U7QUFDNUc7QUFDQSxTQUFTZixvQ0FBb0NTLElBQUk7SUFDN0MsSUFBSU8sbUJBQW1CQyxRQUFRQztJQUMvQixLQUFLLE1BQU1OLFdBQVdILEtBQUtDLEtBQUssQ0FBQyxLQUFLO1FBQ2xDTyxTQUFTbkIsMkJBQTJCYSxJQUFJLENBQUMsQ0FBQ0UsSUFBSUQsUUFBUUUsVUFBVSxDQUFDRDtRQUNqRSxJQUFJSSxRQUFRO1lBQ1IsQ0FBQ0QsbUJBQW1CRSxpQkFBaUIsR0FBR1QsS0FBS0MsS0FBSyxDQUFDTyxRQUFRO1lBQzNEO1FBQ0o7SUFDSjtJQUNBLElBQUksQ0FBQ0QscUJBQXFCLENBQUNDLFVBQVUsQ0FBQ0Msa0JBQWtCO1FBQ3BELE1BQU0sSUFBSUMsTUFBTSxDQUFDLDRCQUE0QixFQUFFVixLQUFLLGlGQUFpRixDQUFDO0lBQzFJO0lBQ0FPLG9CQUFvQixDQUFDLEdBQUdULFVBQVVhLGdCQUFnQixFQUFFSixtQkFBbUIsaURBQWlEOztJQUV4SCxPQUFPQztRQUNILEtBQUs7WUFDRCxvSUFBb0k7WUFDcEksSUFBSUQsc0JBQXNCLEtBQUs7Z0JBQzNCRSxtQkFBbUIsQ0FBQyxDQUFDLEVBQUVBLGlCQUFpQixDQUFDO1lBQzdDLE9BQU87Z0JBQ0hBLG1CQUFtQkYsb0JBQW9CLE1BQU1FO1lBQ2pEO1lBQ0E7UUFDSixLQUFLO1lBQ0QsdUhBQXVIO1lBQ3ZILElBQUlGLHNCQUFzQixLQUFLO2dCQUMzQixNQUFNLElBQUlHLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRVYsS0FBSyw0REFBNEQsQ0FBQztZQUNySDtZQUNBUyxtQkFBbUJGLGtCQUFrQk4sS0FBSyxDQUFDLEtBQUtXLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBR0MsTUFBTSxDQUFDSixrQkFBa0JLLElBQUksQ0FBQztZQUMzRjtRQUNKLEtBQUs7WUFDRCxrSUFBa0k7WUFDbElMLG1CQUFtQixNQUFNQTtZQUN6QjtRQUNKLEtBQUs7WUFDRCxpSUFBaUk7WUFDakksTUFBTU0seUJBQXlCUixrQkFBa0JOLEtBQUssQ0FBQztZQUN2RCxJQUFJYyx1QkFBdUJDLE1BQU0sSUFBSSxHQUFHO2dCQUNwQyxNQUFNLElBQUlOLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRVYsS0FBSywrREFBK0QsQ0FBQztZQUN4SDtZQUNBUyxtQkFBbUJNLHVCQUF1QkgsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHQyxNQUFNLENBQUNKLGtCQUFrQkssSUFBSSxDQUFDO1lBQ3JGO1FBQ0o7WUFDSSxNQUFNLElBQUlKLE1BQU07SUFDeEI7SUFDQSxPQUFPO1FBQ0hIO1FBQ0FFO0lBQ0o7QUFDSixFQUVBLCtDQUErQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9oZWxwZXJzL2ludGVyY2VwdGlvbi1yb3V0ZXMuanM/MzVjYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTOiBudWxsLFxuICAgIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoOiBudWxsLFxuICAgIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTO1xuICAgIH0sXG4gICAgaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGg7XG4gICAgfSxcbiAgICBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjtcbiAgICB9XG59KTtcbmNvbnN0IF9hcHBwYXRocyA9IHJlcXVpcmUoXCIuLi8uLi8uLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHNcIik7XG5jb25zdCBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUyA9IFtcbiAgICBcIiguLikoLi4pXCIsXG4gICAgXCIoLilcIixcbiAgICBcIiguLilcIixcbiAgICBcIiguLi4pXCJcbl07XG5mdW5jdGlvbiBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aChwYXRoKSB7XG4gICAgLy8gVE9ETy1BUFA6IGFkZCBtb3JlIHNlcmlvdXMgdmFsaWRhdGlvblxuICAgIHJldHVybiBwYXRoLnNwbGl0KFwiL1wiKS5maW5kKChzZWdtZW50KT0+SU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuZmluZCgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSkpICE9PSB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbihwYXRoKSB7XG4gICAgbGV0IGludGVyY2VwdGluZ1JvdXRlLCBtYXJrZXIsIGludGVyY2VwdGVkUm91dGU7XG4gICAgZm9yIChjb25zdCBzZWdtZW50IG9mIHBhdGguc3BsaXQoXCIvXCIpKXtcbiAgICAgICAgbWFya2VyID0gSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuZmluZCgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSk7XG4gICAgICAgIGlmIChtYXJrZXIpIHtcbiAgICAgICAgICAgIFtpbnRlcmNlcHRpbmdSb3V0ZSwgaW50ZXJjZXB0ZWRSb3V0ZV0gPSBwYXRoLnNwbGl0KG1hcmtlciwgMik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWludGVyY2VwdGluZ1JvdXRlIHx8ICFtYXJrZXIgfHwgIWludGVyY2VwdGVkUm91dGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gTXVzdCBiZSBpbiB0aGUgZm9ybWF0IC88aW50ZXJjZXB0aW5nIHJvdXRlPi8oLi58Li4ufC4uKSguLikvPGludGVyY2VwdGVkIHJvdXRlPmApO1xuICAgIH1cbiAgICBpbnRlcmNlcHRpbmdSb3V0ZSA9ICgwLCBfYXBwcGF0aHMubm9ybWFsaXplQXBwUGF0aCkoaW50ZXJjZXB0aW5nUm91dGUpIC8vIG5vcm1hbGl6ZSB0aGUgcGF0aCwgZS5nLiAvKGJsb2cpL2ZlZWQgLT4gL2ZlZWRcbiAgICA7XG4gICAgc3dpdGNoKG1hcmtlcil7XG4gICAgICAgIGNhc2UgXCIoLilcIjpcbiAgICAgICAgICAgIC8vICguKSBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgbWF0Y2ggd2l0aCBzaWJsaW5nIHJvdXRlcywgc28gd2UganVzdCBuZWVkIHRvIGFwcGVuZCB0aGUgaW50ZXJjZXB0ZWQgcm91dGUgdG8gdGhlIGludGVyY2VwdGluZyByb3V0ZVxuICAgICAgICAgICAgaWYgKGludGVyY2VwdGluZ1JvdXRlID09PSBcIi9cIikge1xuICAgICAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBgLyR7aW50ZXJjZXB0ZWRSb3V0ZX1gO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUgKyBcIi9cIiArIGludGVyY2VwdGVkUm91dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIiguLilcIjpcbiAgICAgICAgICAgIC8vICguLikgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkIG1hdGNoIGF0IG9uZSBsZXZlbCB1cCwgc28gd2UgbmVlZCB0byByZW1vdmUgdGhlIGxhc3Qgc2VnbWVudCBvZiB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBpZiAoaW50ZXJjZXB0aW5nUm91dGUgPT09IFwiL1wiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gQ2Fubm90IHVzZSAoLi4pIG1hcmtlciBhdCB0aGUgcm9vdCBsZXZlbCwgdXNlICguKSBpbnN0ZWFkLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IGludGVyY2VwdGluZ1JvdXRlLnNwbGl0KFwiL1wiKS5zbGljZSgwLCAtMSkuY29uY2F0KGludGVyY2VwdGVkUm91dGUpLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCIoLi4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uLikgd2lsbCBtYXRjaCB0aGUgcm91dGUgc2VnbWVudCBpbiB0aGUgcm9vdCBkaXJlY3RvcnksIHNvIHdlIG5lZWQgdG8gdXNlIHRoZSByb290IGRpcmVjdG9yeSB0byBwcmVwZW5kIHRoZSBpbnRlcmNlcHRlZCByb3V0ZVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IFwiL1wiICsgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiKC4uKSguLilcIjpcbiAgICAgICAgICAgIC8vICguLikoLi4pIGluZGljYXRlcyB0aGF0IHdlIHNob3VsZCBtYXRjaCBhdCB0d28gbGV2ZWxzIHVwLCBzbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgbGFzdCB0d28gc2VnbWVudHMgb2YgdGhlIGludGVyY2VwdGluZyByb3V0ZVxuICAgICAgICAgICAgY29uc3Qgc3BsaXRJbnRlcmNlcHRpbmdSb3V0ZSA9IGludGVyY2VwdGluZ1JvdXRlLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgICAgIGlmIChzcGxpdEludGVyY2VwdGluZ1JvdXRlLmxlbmd0aCA8PSAyKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gQ2Fubm90IHVzZSAoLi4pKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwgb3Igb25lIGxldmVsIHVwLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IHNwbGl0SW50ZXJjZXB0aW5nUm91dGUuc2xpY2UoMCwgLTIpLmNvbmNhdChpbnRlcmNlcHRlZFJvdXRlKS5qb2luKFwiL1wiKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YXJpYW50OiB1bmV4cGVjdGVkIG1hcmtlclwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaW50ZXJjZXB0aW5nUm91dGUsXG4gICAgICAgIGludGVyY2VwdGVkUm91dGVcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnRlcmNlcHRpb24tcm91dGVzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTIiwiaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgiLCJleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbiIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9hcHBwYXRocyIsInJlcXVpcmUiLCJwYXRoIiwic3BsaXQiLCJmaW5kIiwic2VnbWVudCIsIm0iLCJzdGFydHNXaXRoIiwidW5kZWZpbmVkIiwiaW50ZXJjZXB0aW5nUm91dGUiLCJtYXJrZXIiLCJpbnRlcmNlcHRlZFJvdXRlIiwiRXJyb3IiLCJub3JtYWxpemVBcHBQYXRoIiwic2xpY2UiLCJjb25jYXQiLCJqb2luIiwic3BsaXRJbnRlcmNlcHRpbmdSb3V0ZSIsImxlbmd0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7": /*!****************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js ***! \****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nif (false) {} else {\n if (false) {} else {\n if (true) {\n module.exports = __webpack_require__(/*! next/dist/compiled/next-server/app-page.runtime.dev.js */ \"next/dist/compiled/next-server/app-page.runtime.dev.js\");\n } else {}\n }\n} //# sourceMappingURL=module.compiled.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWQuanM/M2ZiNyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLElBQUlBLEtBQW1DLEVBQUUsRUFFeEMsTUFBTTtJQUNILElBQUlBLEtBQXFDLEVBQUUsRUFRMUMsTUFBTTtRQUNILElBQUlBLElBQXNDLEVBQUU7WUFDeENHLDRKQUFrRjtRQUN0RixPQUFPLEVBSU47SUFDTDtBQUNKLEVBRUEsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkLmpzP2M0ZWUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5pZiAocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID09PSBcImVkZ2VcIikge1xuICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmpzXCIpO1xufSBlbHNlIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0VYUEVSSU1FTlRBTF9SRUFDVCkge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL25leHQtc2VydmVyL2FwcC1wYWdlLWV4cGVyaW1lbnRhbC5ydW50aW1lLmRldi5qc1wiKTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5UVVJCT1BBQ0spIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS10dXJiby1leHBlcmltZW50YWwucnVudGltZS5wcm9kLmpzXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL25leHQtc2VydmVyL2FwcC1wYWdlLWV4cGVyaW1lbnRhbC5ydW50aW1lLnByb2QuanNcIik7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL25leHQtc2VydmVyL2FwcC1wYWdlLnJ1bnRpbWUuZGV2LmpzXCIpO1xuICAgICAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52LlRVUkJPUEFDSykge1xuICAgICAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL25leHQtc2VydmVyL2FwcC1wYWdlLXR1cmJvLnJ1bnRpbWUucHJvZC5qc1wiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS5ydW50aW1lLnByb2QuanNcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1vZHVsZS5jb21waWxlZC5qcy5tYXAiXSwibmFtZXMiOlsicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIiwiX19ORVhUX0VYUEVSSU1FTlRBTF9SRUFDVCIsIlRVUkJPUEFDSyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js ***! \*************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored.contexts.AppRouterContext; //# sourceMappingURL=app-router-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9hcHAtcm91dGVyLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsbU1BQXVGLEVBRXZGLDhDQUE4QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL2NvbnRleHRzL2FwcC1yb3V0ZXItY29udGV4dC5qcz9lNjZiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wiY29udGV4dHNcIl0uQXBwUm91dGVyQ29udGV4dDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXJvdXRlci1jb250ZXh0LmpzLm1hcCJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsInZlbmRvcmVkIiwiQXBwUm91dGVyQ29udGV4dCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js ***! \***************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored.contexts.HooksClientContext; //# sourceMappingURL=hooks-client-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9ob29rcy1jbGllbnQtY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSxxTUFBeUYsRUFFekYsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvY29udGV4dHMvaG9va3MtY2xpZW50LWNvbnRleHQuanM/NDMxYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcImNvbnRleHRzXCJdLkhvb2tzQ2xpZW50Q29udGV4dDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aG9va3MtY2xpZW50LWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIiwidmVuZG9yZWQiLCJIb29rc0NsaWVudENvbnRleHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js ***! \*********************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored.contexts.RouterContext; //# sourceMappingURL=router-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9yb3V0ZXItY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSxnTUFBb0YsRUFFcEYsMENBQTBDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvY29udGV4dHMvcm91dGVyLWNvbnRleHQuanM/ODA3MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcImNvbnRleHRzXCJdLlJvdXRlckNvbnRleHQ7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJvdXRlci1jb250ZXh0LmpzLm1hcCJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsInZlbmRvcmVkIiwiUm91dGVyQ29udGV4dCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js ***! \***************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored.contexts.ServerInsertedHtml; //# sourceMappingURL=server-inserted-html.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9zZXJ2ZXItaW5zZXJ0ZWQtaHRtbC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSxxTUFBeUYsRUFFekYsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvY29udGV4dHMvc2VydmVyLWluc2VydGVkLWh0bWwuanM/ZWFkNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcImNvbnRleHRzXCJdLlNlcnZlckluc2VydGVkSHRtbDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2VydmVyLWluc2VydGVkLWh0bWwuanMubWFwIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIiwidmVuZG9yZWQiLCJTZXJ2ZXJJbnNlcnRlZEh0bWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js": /*!***********************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js ***! \***********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored[\"react-ssr\"].ReactDOM; //# sourceMappingURL=react-dom.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QtZG9tLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLCtMQUFnRixFQUVoRixxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QtZG9tLmpzPzk5MjYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJyZWFjdC1zc3JcIl0uUmVhY3RET007XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlYWN0LWRvbS5qcy5tYXAiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInJlcXVpcmUiLCJ2ZW5kb3JlZCIsIlJlYWN0RE9NIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js ***! \***********************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored[\"react-ssr\"].ReactJsxDevRuntime; //# sourceMappingURL=react-jsx-dev-runtime.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QtanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLHlNQUEwRixFQUUxRixpREFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QtanN4LWRldi1ydW50aW1lLmpzPzQwYjQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJyZWFjdC1zc3JcIl0uUmVhY3RKc3hEZXZSdW50aW1lO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuanMubWFwIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIiwidmVuZG9yZWQiLCJSZWFjdEpzeERldlJ1bnRpbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js ***! \*******************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored[\"react-ssr\"].ReactJsxRuntime; //# sourceMappingURL=react-jsx-runtime.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QtanN4LXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsc01BQXVGLEVBRXZGLDZDQUE2QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL3Nzci9yZWFjdC1qc3gtcnVudGltZS5qcz85YmNiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wicmVhY3Qtc3NyXCJdLlJlYWN0SnN4UnVudGltZTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVhY3QtanN4LXJ1bnRpbWUuanMubWFwIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIiwidmVuZG9yZWQiLCJSZWFjdEpzeFJ1bnRpbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js": /*!**************************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js ***! \**************************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored[\"react-ssr\"].ReactServerDOMWebpackClientEdge; //# sourceMappingURL=react-server-dom-webpack-client-edge.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLWNsaWVudC1lZGdlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLHNOQUF1RyxFQUV2RyxnRUFBZ0UiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLWNsaWVudC1lZGdlLmpzPzY5ZDQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJyZWFjdC1zc3JcIl0uUmVhY3RTZXJ2ZXJET01XZWJwYWNrQ2xpZW50RWRnZTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLWNsaWVudC1lZGdlLmpzLm1hcCJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsInZlbmRvcmVkIiwiUmVhY3RTZXJ2ZXJET01XZWJwYWNrQ2xpZW50RWRnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js": /*!*******************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js ***! \*******************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored[\"react-ssr\"].React; //# sourceMappingURL=react.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsNExBQTZFLEVBRTdFLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL3Nzci9yZWFjdC5qcz8xYWU0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wicmVhY3Qtc3NyXCJdLlJlYWN0O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWFjdC5qcy5tYXAiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInJlcXVpcmUiLCJ2ZW5kb3JlZCIsIlJlYWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/escape-regexp.js": /*!************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/escape-regexp.js ***! \************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("// regexp is based on https://github.com/sindresorhus/escape-string-regexp\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"escapeStringRegexp\", ({\n enumerable: true,\n get: function() {\n return escapeStringRegexp;\n }\n}));\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/;\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g;\nfunction escapeStringRegexp(str) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, \"\\\\$&\");\n }\n return str;\n} //# sourceMappingURL=escape-regexp.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZXNjYXBlLXJlZ2V4cC5qcyIsIm1hcHBpbmdzIjoiQUFBQSwwRUFBMEU7QUFDN0Q7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHNEQUFxRDtJQUNqREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGNBQWM7QUFDcEIsTUFBTUMsa0JBQWtCO0FBQ3hCLFNBQVNGLG1CQUFtQkcsR0FBRztJQUMzQiwrR0FBK0c7SUFDL0csSUFBSUYsWUFBWUcsSUFBSSxDQUFDRCxNQUFNO1FBQ3ZCLE9BQU9BLElBQUlFLE9BQU8sQ0FBQ0gsaUJBQWlCO0lBQ3hDO0lBQ0EsT0FBT0M7QUFDWCxFQUVBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9lc2NhcGUtcmVnZXhwLmpzP2RiZmIiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVnZXhwIGlzIGJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvZXNjYXBlLXN0cmluZy1yZWdleHBcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZXNjYXBlU3RyaW5nUmVnZXhwXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBlc2NhcGVTdHJpbmdSZWdleHA7XG4gICAgfVxufSk7XG5jb25zdCByZUhhc1JlZ0V4cCA9IC9bfFxcXFx7fSgpW1xcXV4kKyo/Li1dLztcbmNvbnN0IHJlUmVwbGFjZVJlZ0V4cCA9IC9bfFxcXFx7fSgpW1xcXV4kKyo/Li1dL2c7XG5mdW5jdGlvbiBlc2NhcGVTdHJpbmdSZWdleHAoc3RyKSB7XG4gICAgLy8gc2VlIGFsc286IGh0dHBzOi8vZ2l0aHViLmNvbS9sb2Rhc2gvbG9kYXNoL2Jsb2IvMmRhMDI0YzNiNGY5OTQ3YTQ4NTE3NjM5ZGU3NTYwNDU3Y2Q0ZWM2Yy9lc2NhcGVSZWdFeHAuanMjTDIzXG4gICAgaWYgKHJlSGFzUmVnRXhwLnRlc3Qoc3RyKSkge1xuICAgICAgICByZXR1cm4gc3RyLnJlcGxhY2UocmVSZXBsYWNlUmVnRXhwLCBcIlxcXFwkJlwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0cjtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXNjYXBlLXJlZ2V4cC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZXNjYXBlU3RyaW5nUmVnZXhwIiwicmVIYXNSZWdFeHAiLCJyZVJlcGxhY2VSZWdFeHAiLCJzdHIiLCJ0ZXN0IiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/escape-regexp.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/hash.js": /*!***************************************************!*\ !*** ./node_modules/next/dist/shared/lib/hash.js ***! \***************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("// http://www.cse.yorku.ca/~oz/hash.html\n// More specifically, 32-bit hash via djbxor\n// (ref: https://gist.github.com/eplawless/52813b1d8ad9af510d85?permalink_comment_id=3367765#gistcomment-3367765)\n// This is due to number type differences between rust for turbopack to js number types,\n// where rust does not have easy way to repreesnt js's 53-bit float number type for the matching\n// overflow behavior. This is more `correct` in terms of having canonical hash across different runtime / implementation\n// as can gaurantee determinstic output from 32bit hash.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n djb2Hash: function() {\n return djb2Hash;\n },\n hexHash: function() {\n return hexHash;\n }\n});\nfunction djb2Hash(str) {\n let hash = 5381;\n for(let i = 0; i < str.length; i++){\n const char = str.charCodeAt(i);\n hash = (hash << 5) + hash + char & 0xffffffff;\n }\n return hash >>> 0;\n}\nfunction hexHash(str) {\n return djb2Hash(str).toString(36).slice(0, 5);\n} //# sourceMappingURL=hash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQSx3Q0FBd0M7QUFDeEMsNENBQTRDO0FBQzVDLGlIQUFpSDtBQUNqSCx3RkFBd0Y7QUFDeEYsZ0dBQWdHO0FBQ2hHLHdIQUF3SDtBQUN4SCx3REFBd0Q7QUFDM0M7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLFVBQVU7UUFDTixPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPQTtJQUNYO0FBQ0o7QUFDQSxTQUFTRCxTQUFTUSxHQUFHO0lBQ2pCLElBQUlDLE9BQU87SUFDWCxJQUFJLElBQUlDLElBQUksR0FBR0EsSUFBSUYsSUFBSUcsTUFBTSxFQUFFRCxJQUFJO1FBQy9CLE1BQU1FLE9BQU9KLElBQUlLLFVBQVUsQ0FBQ0g7UUFDNUJELE9BQU8sQ0FBQ0EsUUFBUSxLQUFLQSxPQUFPRyxPQUFPO0lBQ3ZDO0lBQ0EsT0FBT0gsU0FBUztBQUNwQjtBQUNBLFNBQVNSLFFBQVFPLEdBQUc7SUFDaEIsT0FBT1IsU0FBU1EsS0FBS00sUUFBUSxDQUFDLElBQUlDLEtBQUssQ0FBQyxHQUFHO0FBQy9DLEVBRUEsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2hhc2guanM/Y2I2ZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwOi8vd3d3LmNzZS55b3JrdS5jYS9+b3ovaGFzaC5odG1sXG4vLyBNb3JlIHNwZWNpZmljYWxseSwgMzItYml0IGhhc2ggdmlhIGRqYnhvclxuLy8gKHJlZjogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vZXBsYXdsZXNzLzUyODEzYjFkOGFkOWFmNTEwZDg1P3Blcm1hbGlua19jb21tZW50X2lkPTMzNjc3NjUjZ2lzdGNvbW1lbnQtMzM2Nzc2NSlcbi8vIFRoaXMgaXMgZHVlIHRvIG51bWJlciB0eXBlIGRpZmZlcmVuY2VzIGJldHdlZW4gcnVzdCBmb3IgdHVyYm9wYWNrIHRvIGpzIG51bWJlciB0eXBlcyxcbi8vIHdoZXJlIHJ1c3QgZG9lcyBub3QgaGF2ZSBlYXN5IHdheSB0byByZXByZWVzbnQganMncyA1My1iaXQgZmxvYXQgbnVtYmVyIHR5cGUgZm9yIHRoZSBtYXRjaGluZ1xuLy8gb3ZlcmZsb3cgYmVoYXZpb3IuIFRoaXMgaXMgbW9yZSBgY29ycmVjdGAgaW4gdGVybXMgb2YgaGF2aW5nIGNhbm9uaWNhbCBoYXNoIGFjcm9zcyBkaWZmZXJlbnQgcnVudGltZSAvIGltcGxlbWVudGF0aW9uXG4vLyBhcyBjYW4gZ2F1cmFudGVlIGRldGVybWluc3RpYyBvdXRwdXQgZnJvbSAzMmJpdCBoYXNoLlxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBkamIySGFzaDogbnVsbCxcbiAgICBoZXhIYXNoOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGRqYjJIYXNoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGRqYjJIYXNoO1xuICAgIH0sXG4gICAgaGV4SGFzaDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBoZXhIYXNoO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gZGpiMkhhc2goc3RyKSB7XG4gICAgbGV0IGhhc2ggPSA1MzgxO1xuICAgIGZvcihsZXQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspe1xuICAgICAgICBjb25zdCBjaGFyID0gc3RyLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgIGhhc2ggPSAoaGFzaCA8PCA1KSArIGhhc2ggKyBjaGFyICYgMHhmZmZmZmZmZjtcbiAgICB9XG4gICAgcmV0dXJuIGhhc2ggPj4+IDA7XG59XG5mdW5jdGlvbiBoZXhIYXNoKHN0cikge1xuICAgIHJldHVybiBkamIySGFzaChzdHIpLnRvU3RyaW5nKDM2KS5zbGljZSgwLCA1KTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGFzaC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJkamIySGFzaCIsImhleEhhc2giLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJzdHIiLCJoYXNoIiwiaSIsImxlbmd0aCIsImNoYXIiLCJjaGFyQ29kZUF0IiwidG9TdHJpbmciLCJzbGljZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/hash.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js ***! \**************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("// This has to be a shared module which is shared between client component error boundary and dynamic component\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n BailoutToCSRError: function() {\n return BailoutToCSRError;\n },\n isBailoutToCSRError: function() {\n return isBailoutToCSRError;\n }\n});\nconst BAILOUT_TO_CSR = \"BAILOUT_TO_CLIENT_SIDE_RENDERING\";\nclass BailoutToCSRError extends Error {\n constructor(reason){\n super(\"Bail out to client-side rendering: \" + reason);\n this.reason = reason;\n this.digest = BAILOUT_TO_CSR;\n }\n}\nfunction isBailoutToCSRError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err)) {\n return false;\n }\n return err.digest === BAILOUT_TO_CSR;\n} //# sourceMappingURL=bailout-to-csr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2JhaWxvdXQtdG8tY3NyLmpzIiwibWFwcGluZ3MiOiJBQUFBLCtHQUErRztBQUNsRztBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8saUJBQWlCO0FBQ3ZCLE1BQU1SLDBCQUEwQlM7SUFDNUJDLFlBQVlDLE1BQU0sQ0FBQztRQUNmLEtBQUssQ0FBQyx3Q0FBd0NBO1FBQzlDLElBQUksQ0FBQ0EsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsTUFBTSxHQUFHSjtJQUNsQjtBQUNKO0FBQ0EsU0FBU1Asb0JBQW9CWSxHQUFHO0lBQzVCLElBQUksT0FBT0EsUUFBUSxZQUFZQSxRQUFRLFFBQVEsQ0FBRSxhQUFZQSxHQUFFLEdBQUk7UUFDL0QsT0FBTztJQUNYO0lBQ0EsT0FBT0EsSUFBSUQsTUFBTSxLQUFLSjtBQUMxQixFQUVBLDBDQUEwQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9sYXp5LWR5bmFtaWMvYmFpbG91dC10by1jc3IuanM/MDA5OCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGhhcyB0byBiZSBhIHNoYXJlZCBtb2R1bGUgd2hpY2ggaXMgc2hhcmVkIGJldHdlZW4gY2xpZW50IGNvbXBvbmVudCBlcnJvciBib3VuZGFyeSBhbmQgZHluYW1pYyBjb21wb25lbnRcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgQmFpbG91dFRvQ1NSRXJyb3I6IG51bGwsXG4gICAgaXNCYWlsb3V0VG9DU1JFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBCYWlsb3V0VG9DU1JFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBCYWlsb3V0VG9DU1JFcnJvcjtcbiAgICB9LFxuICAgIGlzQmFpbG91dFRvQ1NSRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNCYWlsb3V0VG9DU1JFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IEJBSUxPVVRfVE9fQ1NSID0gXCJCQUlMT1VUX1RPX0NMSUVOVF9TSURFX1JFTkRFUklOR1wiO1xuY2xhc3MgQmFpbG91dFRvQ1NSRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IocmVhc29uKXtcbiAgICAgICAgc3VwZXIoXCJCYWlsIG91dCB0byBjbGllbnQtc2lkZSByZW5kZXJpbmc6IFwiICsgcmVhc29uKTtcbiAgICAgICAgdGhpcy5yZWFzb24gPSByZWFzb247XG4gICAgICAgIHRoaXMuZGlnZXN0ID0gQkFJTE9VVF9UT19DU1I7XG4gICAgfVxufVxuZnVuY3Rpb24gaXNCYWlsb3V0VG9DU1JFcnJvcihlcnIpIHtcbiAgICBpZiAodHlwZW9mIGVyciAhPT0gXCJvYmplY3RcIiB8fCBlcnIgPT09IG51bGwgfHwgIShcImRpZ2VzdFwiIGluIGVycikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZXJyLmRpZ2VzdCA9PT0gQkFJTE9VVF9UT19DU1I7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJhaWxvdXQtdG8tY3NyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIkJhaWxvdXRUb0NTUkVycm9yIiwiaXNCYWlsb3V0VG9DU1JFcnJvciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIkJBSUxPVVRfVE9fQ1NSIiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsInJlYXNvbiIsImRpZ2VzdCIsImVyciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ensureLeadingSlash\", ({\n enumerable: true,\n get: function() {\n return ensureLeadingSlash;\n }\n}));\nfunction ensureLeadingSlash(path) {\n return path.startsWith(\"/\") ? path : \"/\" + path;\n} //# sourceMappingURL=ensure-leading-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUFnQjtBQUNqQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHNEQUFxRDtJQUNqREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLG1CQUFtQkMsSUFBSTtJQUM1QixPQUFPQSxLQUFLQyxVQUFVLENBQUMsT0FBT0QsT0FBTyxNQUFNQTtBQUMvQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9wYWdlLXBhdGgvZW5zdXJlLWxlYWRpbmctc2xhc2guanM/Y2YzMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZvciBhIGdpdmVuIHBhZ2UgcGF0aCwgdGhpcyBmdW5jdGlvbiBlbnN1cmVzIHRoYXQgdGhlcmUgaXMgYSBsZWFkaW5nIHNsYXNoLlxuICogSWYgdGhlcmUgaXMgbm90IGEgbGVhZGluZyBzbGFzaCwgb25lIGlzIGFkZGVkLCBvdGhlcndpc2UgaXQgaXMgbm9vcC5cbiAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImVuc3VyZUxlYWRpbmdTbGFzaFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZW5zdXJlTGVhZGluZ1NsYXNoO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gZW5zdXJlTGVhZGluZ1NsYXNoKHBhdGgpIHtcbiAgICByZXR1cm4gcGF0aC5zdGFydHNXaXRoKFwiL1wiKSA/IHBhdGggOiBcIi9cIiArIHBhdGg7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVuc3VyZS1sZWFkaW5nLXNsYXNoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJlbnN1cmVMZWFkaW5nU2xhc2giLCJwYXRoIiwic3RhcnRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/action-queue.js": /*!******************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/action-queue.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ActionQueueContext: function() {\n return ActionQueueContext;\n },\n createMutableActionQueue: function() {\n return createMutableActionQueue;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _routerreducertypes = __webpack_require__(/*! ../../../client/components/router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _routerreducer = __webpack_require__(/*! ../../../client/components/router-reducer/router-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst ActionQueueContext = _react.default.createContext(null);\nfunction runRemainingActions(actionQueue, setState) {\n if (actionQueue.pending !== null) {\n actionQueue.pending = actionQueue.pending.next;\n if (actionQueue.pending !== null) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n runAction({\n actionQueue,\n action: actionQueue.pending,\n setState\n });\n }\n }\n}\nasync function runAction(param) {\n let { actionQueue, action, setState } = param;\n const prevState = actionQueue.state;\n if (!prevState) {\n // This shouldn't happen as the state is initialized in the dispatcher if it's not set\n throw new Error(\"Invariant: Router state not initialized\");\n }\n actionQueue.pending = action;\n const payload = action.payload;\n const actionResult = actionQueue.action(prevState, payload);\n function handleResult(nextState) {\n // if we discarded this action, the state should also be discarded\n if (action.discarded) {\n // if a refresh is needed, we only want to trigger it once the action queue is empty\n if (actionQueue.needsRefresh && actionQueue.pending === null) {\n actionQueue.needsRefresh = false;\n actionQueue.dispatch({\n type: _routerreducertypes.ACTION_REFRESH,\n origin: window.location.origin\n }, setState);\n }\n return;\n }\n actionQueue.state = nextState;\n if (actionQueue.devToolsInstance) {\n actionQueue.devToolsInstance.send(payload, nextState);\n }\n runRemainingActions(actionQueue, setState);\n action.resolve(nextState);\n }\n // if the action is a promise, set up a callback to resolve it\n if ((0, _routerreducertypes.isThenable)(actionResult)) {\n actionResult.then(handleResult, (err)=>{\n runRemainingActions(actionQueue, setState);\n action.reject(err);\n });\n } else {\n handleResult(actionResult);\n }\n}\nfunction dispatchAction(actionQueue, payload, setState) {\n let resolvers = {\n resolve: setState,\n reject: ()=>{}\n };\n // most of the action types are async with the exception of restore\n // it's important that restore is handled quickly since it's fired on the popstate event\n // and we don't want to add any delay on a back/forward nav\n // this only creates a promise for the async actions\n if (payload.type !== _routerreducertypes.ACTION_RESTORE) {\n // Create the promise and assign the resolvers to the object.\n const deferredPromise = new Promise((resolve, reject)=>{\n resolvers = {\n resolve,\n reject\n };\n });\n (0, _react.startTransition)(()=>{\n // we immediately notify React of the pending promise -- the resolver is attached to the action node\n // and will be called when the associated action promise resolves\n setState(deferredPromise);\n });\n }\n const newAction = {\n payload,\n next: null,\n resolve: resolvers.resolve,\n reject: resolvers.reject\n };\n // Check if the queue is empty\n if (actionQueue.pending === null) {\n // The queue is empty, so add the action and start it immediately\n // Mark this action as the last in the queue\n actionQueue.last = newAction;\n runAction({\n actionQueue,\n action: newAction,\n setState\n });\n } else if (payload.type === _routerreducertypes.ACTION_NAVIGATE) {\n // Navigations take priority over any pending actions.\n // Mark the pending action as discarded (so the state is never applied) and start the navigation action immediately.\n actionQueue.pending.discarded = true;\n // Mark this action as the last in the queue\n actionQueue.last = newAction;\n // if the pending action was a server action, mark the queue as needing a refresh once events are processed\n if (actionQueue.pending.payload.type === _routerreducertypes.ACTION_SERVER_ACTION) {\n actionQueue.needsRefresh = true;\n }\n runAction({\n actionQueue,\n action: newAction,\n setState\n });\n } else {\n // The queue is not empty, so add the action to the end of the queue\n // It will be started by runRemainingActions after the previous action finishes\n if (actionQueue.last !== null) {\n actionQueue.last.next = newAction;\n }\n actionQueue.last = newAction;\n }\n}\nfunction createMutableActionQueue() {\n const actionQueue = {\n state: null,\n dispatch: (payload, setState)=>dispatchAction(actionQueue, payload, setState),\n action: async (state, action)=>{\n if (state === null) {\n throw new Error(\"Invariant: Router state not initialized\");\n }\n const result = (0, _routerreducer.reducer)(state, action);\n return result;\n },\n pending: null,\n last: null\n };\n return actionQueue;\n} //# sourceMappingURL=action-queue.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL2FjdGlvbi1xdWV1ZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7SUFDQUMsMEJBQTBCO1FBQ3RCLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLDRCQUE0QkMsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1DLHNCQUFzQkQsbUJBQU9BLENBQUMsK0pBQWdFO0FBQ3BHLE1BQU1FLGlCQUFpQkYsbUJBQU9BLENBQUMsbUpBQTBEO0FBQ3pGLE1BQU1HLFNBQVMsV0FBVyxHQUFHSiwwQkFBMEJLLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTVQscUJBQXFCWSxPQUFPRSxPQUFPLENBQUNDLGFBQWEsQ0FBQztBQUN4RCxTQUFTQyxvQkFBb0JDLFdBQVcsRUFBRUMsUUFBUTtJQUM5QyxJQUFJRCxZQUFZRSxPQUFPLEtBQUssTUFBTTtRQUM5QkYsWUFBWUUsT0FBTyxHQUFHRixZQUFZRSxPQUFPLENBQUNDLElBQUk7UUFDOUMsSUFBSUgsWUFBWUUsT0FBTyxLQUFLLE1BQU07WUFDOUIsbUVBQW1FO1lBQ25FRSxVQUFVO2dCQUNOSjtnQkFDQUssUUFBUUwsWUFBWUUsT0FBTztnQkFDM0JEO1lBQ0o7UUFDSjtJQUNKO0FBQ0o7QUFDQSxlQUFlRyxVQUFVRSxLQUFLO0lBQzFCLElBQUksRUFBRU4sV0FBVyxFQUFFSyxN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QzNCcEMsWUFBWW9DLElBQUksQ0FBQ2pDLElBQUksR0FBR2dDO1FBQzVCO1FBQ0FuQyxZQUFZb0MsSUFBSSxHQUFHRDtJQUN2QjtBQUNKO0FBQ0EsU0FBU25EO0lBQ0wsTUFBTWdCLGNBQWM7UUFDaEJRLE9BQU87UUFDUFEsVUFBVSxDQUFDTixTQUFTVCxXQUFXNEIsZUFBZTdCLGFBQWFVLFNBQVNUO1FBQ3BFSSxRQUFRLE9BQU9HLE9BQU9IO1lBQ2xCLElBQUlHLFVBQVUsTUFBTTtnQkFDaEIsTUFBTSxJQUFJQyxNQUFNO1lBQ3BCO1lBQ0EsTUFBTThCLFNBQVMsQ0FBQyxHQUFHN0MsZUFBZThDLE9BQU8sRUFBRWhDLE9BQU9IO1lBQ2xELE9BQU9rQztRQUNYO1FBQ0FyQyxTQUFTO1FBQ1RrQyxNQUFNO0lBQ1Y7SUFDQSxPQUFPcEM7QUFDWCxFQUVBLHdDQUF3QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvYWN0aW9uLXF1ZXVlLmpzPzg0NzkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBBY3Rpb25RdWV1ZUNvbnRleHQ6IG51bGwsXG4gICAgY3JlYXRlTXV0YWJsZUFjdGlvblF1ZXVlOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIEFjdGlvblF1ZXVlQ29udGV4dDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBY3Rpb25RdWV1ZUNvbnRleHQ7XG4gICAgfSxcbiAgICBjcmVhdGVNdXRhYmxlQWN0aW9uUXVldWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlTXV0YWJsZUFjdGlvblF1ZXVlO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX3JvdXRlcnJlZHVjZXJ0eXBlcyA9IHJlcXVpcmUoXCIuLi8uLi8uLi9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yb3V0ZXItcmVkdWNlci10eXBlc1wiKTtcbmNvbnN0IF9yb3V0ZXJyZWR1Y2VyID0gcmVxdWlyZShcIi4uLy4uLy4uL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IEFjdGlvblF1ZXVlQ29udGV4dCA9IF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCk7XG5mdW5jdGlvbiBydW5SZW1haW5pbmdBY3Rpb25zKGFjdGlvblF1ZXVlLCBzZXRTdGF0ZSkge1xuICAgIGlmIChhY3Rpb25RdWV1ZS5wZW5kaW5nICE9PSBudWxsKSB7XG4gICAgICAgIGFjdGlvblF1ZXVlLnBlbmRpbmcgPSBhY3Rpb25RdWV1ZS5wZW5kaW5nLm5leHQ7XG4gICAgICAgIGlmIChhY3Rpb25RdWV1ZS5wZW5kaW5nICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZS1iZWZvcmUtZGVmaW5lXG4gICAgICAgICAgICBydW5BY3Rpb24oe1xuICAgICAgICAgICAgICAgIGFjdGlvblF1ZXVlLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogYWN0aW9uUXVldWUucGVuZGluZyxcbiAgICAgICAgICAgICAgICBzZXRTdGF0ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5hc3luYyBmdW5jdGlvbiBydW5BY3Rpb24ocGFyYW0pIHtcbiAgICBsZXQgeyBhY3Rpb25RdWV1ZSwgYWN0aW9uLCBzZXRTdGF0ZSB9ID0gcGFyYW07XG4gICAgY29uc3QgcHJldlN0YXRlID0gYWN0aW9uUXVldWUuc3RhdGU7XG4gICAgaWYgKCFwcmV2U3RhdGUpIHtcbiAgICAgICAgLy8gVGhpcyBzaG91bGRuJ3QgaGFwcGVuIGFzIHRoZSBzdGF0ZSBpcyBpbml0aWFsaXplZCBpbiB0aGUgZGlzcGF0Y2hlciBpZiBpdCdzIG5vdCBzZXRcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YXJpYW50OiBSb3V0ZXIgc3RhdGUgbm90IGluaXRpYWxpemVkXCIpO1xuICAgIH1cbiAgICBhY3Rpb25RdWV1ZS5wZW5kaW5nID0gYWN0aW9uO1xuICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICBjb25zdCBhY3Rpb25SZXN1bHQgPSBhY3Rpb25RdWV1ZS5hY3Rpb24ocHJldlN0YXRlLCBwYXlsb2FkKTtcbiAgICBmdW5jdGlvbiBoYW5kbGVSZXN1bHQobmV4dFN0YXRlKSB7XG4gICAgICAgIC8vIGlmIHdlIGRpc2NhcmRlZCB0aGlzIGFjdGlvbiwgdGhlIHN0YXRlIHNob3VsZCBhbHNvIGJlIGRpc2NhcmRlZFxuICAgICAgICBpZiAoYWN0aW9uLmRpc2NhcmRlZCkge1xuICAgICAgICAgICAgLy8gaWYgYSByZWZyZXNoIGlzIG5lZWRlZCwgd2Ugb25seSB3YW50IHRvIHRyaWdnZXIgaXQgb25jZSB0aGUgYWN0aW9uIHF1ZXVlIGlzIGVtcHR5XG4gICAgICAgICAgICBpZiAoYWN0aW9uUXVldWUubmVlZHNSZWZyZXNoICYmIGFjdGlvblF1ZXVlLnBlbmRpbmcgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBhY3Rpb25RdWV1ZS5uZWVkc1JlZnJlc2ggPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBhY3Rpb25RdWV1ZS5kaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1JFRlJFU0gsXG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbjogd2luZG93LmxvY2F0aW9uLm9yaWdpblxuICAgICAgICAgICAgICAgIH0sIHNldFN0YXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBhY3Rpb25RdWV1ZS5zdGF0ZSA9IG5leHRTdGF0ZTtcbiAgICAgICAgaWYgKGFjdGlvblF1ZXVlLmRldlRvb2xzSW5zdGFuY2UpIHtcbiAgICAgICAgICAgIGFjdGlvblF1ZXVlLmRldlRvb2xzSW5zdGFuY2Uuc2VuZChwYXlsb2FkLCBuZXh0U3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIHJ1blJlbWFpbmluZ0FjdGlvbnMoYWN0aW9uUXVldWUsIHNldFN0YXRlKTtcbiAgICAgICAgYWN0aW9uLnJlc29sdmUobmV4dFN0YXRlKTtcbiAgICB9XG4gICAgLy8gaWYgdGhlIGFjdGlvbiBpcyBhIHByb21pc2UsIHNldCB1cCBhIGNhbGxiYWNrIHRvIHJlc29sdmUgaXRcbiAgICBpZiAoKDAsIF9yb3V0ZXJyZWR1Y2VydHlwZXMuaXNUaGVuYWJsZSkoYWN0aW9uUmVzdWx0KSkge1xuICAgICAgICBhY3Rpb25SZXN1bHQudGhlbihoYW5kbGVSZXN1bHQsIChlcnIpPT57XG4gICAgICAgICAgICBydW5SZW1haW5pbmdBY3Rpb25zKGFjdGlvblF1ZXVlLCBzZXRTdGF0ZSk7XG4gICAgICAgICAgICBhY3Rpb24ucmVqZWN0KGVycik7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGhhbmRsZVJlc3VsdChhY3Rpb25SZXN1bHQpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGRpc3BhdGNoQWN0aW9uKGFjdGlvblF1ZXVlLCBwYXlsb2FkLCBzZXRTdGF0ZSkge1xuICAgIGxldCByZXNvbHZlcnMgPSB7XG4gICAgICAgIHJlc29sdmU6IHNldFN0YXRlLFxuICAgICAgICByZWplY3Q6ICgpPT57fVxuICAgIH07XG4gICAgLy8gbW9zdCBvZiB0aGUgYWN0aW9uIHR5cGVzIGFyZSBhc3luYyB3aXRoIHRoZSBleGNlcHRpb24gb2YgcmVzdG9yZVxuICAgIC8vIGl0J3MgaW1wb3J0YW50IHRoYXQgcmVzdG9yZSBpcyBoYW5kbGVkIHF1aWNrbHkgc2luY2UgaXQncyBmaXJlZCBvbiB0aGUgcG9wc3RhdGUgZXZlbnRcbiAgICAvLyBhbmQgd2UgZG9uJ3Qgd2FudCB0byBhZGQgYW55IGRlbGF5IG9uIGEgYmFjay9mb3J3YXJkIG5hdlxuICAgIC8vIHRoaXMgb25seSBjcmVhdGVzIGEgcHJvbWlzZSBmb3IgdGhlIGFzeW5jIGFjdGlvbnNcbiAgICBpZiAocGF5bG9hZC50eXBlICE9PSBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9SRVNUT1JFKSB7XG4gICAgICAgIC8vIENyZWF0ZSB0aGUgcHJvbWlzZSBhbmQgYXNzaWduIHRoZSByZXNvbHZlcnMgdG8gdGhlIG9iamVjdC5cbiAgICAgICAgY29uc3QgZGVmZXJyZWRQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk9PntcbiAgICAgICAgICAgIHJlc29sdmVycyA9IHtcbiAgICAgICAgICAgICAgICByZXNvbHZlLFxuICAgICAgICAgICAgICAgIHJlamVjdFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgLy8gd2UgaW1tZWRpYXRlbHkgbm90aWZ5IFJlYWN0IG9mIHRoZSBwZW5kaW5nIHByb21pc2UgLS0gdGhlIHJlc29sdmVyIGlzIGF0dGFjaGVkIHRvIHRoZSBhY3Rpb24gbm9kZVxuICAgICAgICAgICAgLy8gYW5kIHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIGFzc29jaWF0ZWQgYWN0aW9uIHByb21pc2UgcmVzb2x2ZXNcbiAgICAgICAgICAgIHNldFN0YXRlKGRlZmVycmVkUHJvbWlzZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBuZXdBY3Rpb24gPSB7XG4gICAgICAgIHBheWxvYWQsXG4gICAgICAgIG5leHQ6IG51bGwsXG4gICAgICAgIHJlc29sdmU6IHJlc29sdmVycy5yZXNvbHZlLFxuICAgICAgICByZWplY3Q6IHJlc29sdmVycy5yZWplY3RcbiAgICB9O1xuICAgIC8vIENoZWNrIGlmIHRoZSBxdWV1ZSBpcyBlbXB0eVxuICAgIGlmIChhY3Rpb25RdWV1ZS5wZW5kaW5nID09PSBudWxsKSB7XG4gICAgICAgIC8vIFRoZSBxdWV1ZSBpcyBlbXB0eSwgc28gYWRkIHRoZSBhY3Rpb24gYW5kIHN0YXJ0IGl0IGltbWVkaWF0ZWx5XG4gICAgICAgIC8vIE1hcmsgdGhpcyBhY3Rpb24gYXMgdGhlIGxhc3QgaW4gdGhlIHF1ZXVlXG4gICAgICAgIGFjdGlvblF1ZXVlLmxhc3QgPSBuZXdBY3Rpb247XG4gICAgICAgIHJ1bkFjdGlvbih7XG4gICAgICAgICAgICBhY3Rpb25RdWV1ZSxcbiAgICAgICAgICAgIGFjdGlvbjogbmV3QWN0aW9uLFxuICAgICAgICAgICAgc2V0U3RhdGVcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChwYXlsb2FkLnR5cGUgPT09IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX05BVklHQVRFKSB7XG4gICAgICAgIC8vIE5hdmlnYXRpb25zIHRha2UgcHJpb3JpdHkgb3ZlciBhbnkgcGVuZGluZyBhY3Rpb25zLlxuICAgICAgICAvLyBNYXJrIHRoZSBwZW5kaW5nIGFjdGlvbiBhcyBkaXNjYXJkZWQgKHNvIHRoZSBzdGF0ZSBpcyBuZXZlciBhcHBsaWVkKSBhbmQgc3RhcnQgdGhlIG5hdmlnYXRpb24gYWN0aW9uIGltbWVkaWF0ZWx5LlxuICAgICAgICBhY3Rpb25RdWV1ZS5wZW5kaW5nLmRpc2NhcmRlZCA9IHRydWU7XG4gICAgICAgIC8vIE1hcmsgdGhpcyBhY3Rpb24gYXMgdGhlIGxhc3QgaW4gdGhlIHF1ZXVlXG4gICAgICAgIGFjdGlvblF1ZXVlLmxhc3QgPSBuZXdBY3Rpb247XG4gICAgICAgIC8vIGlmIHRoZSBwZW5kaW5nIGFjdGlvbiB3YXMgYSBzZXJ2ZXIgYWN0aW9uLCBtYXJrIHRoZSBxdWV1ZSBhcyBuZWVkaW5nIGEgcmVmcmVzaCBvbmNlIGV2ZW50cyBhcmUgcHJvY2Vzc2VkXG4gICAgICAgIGlmIChhY3Rpb25RdWV1ZS5wZW5kaW5nLnBheWxvYWQudHlwZSA9PT0gX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fU0VSVkVSX0FDVElPTikge1xuICAgICAgICAgICAgYWN0aW9uUXVldWUubmVlZHNSZWZyZXNoID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBydW5BY3Rpb24oe1xuICAgICAgICAgICAgYWN0aW9uUXVldWUsXG4gICAgICAgICAgICBhY3Rpb246IG5ld0FjdGlvbixcbiAgICAgICAgICAgIHNldFN0YXRlXG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRoZSBxdWV1ZSBpcyBub3QgZW1wdHksIHNvIGFkZCB0aGUgYWN0aW9uIHRvIHRoZSBlbmQgb2YgdGhlIHF1ZXVlXG4gICAgICAgIC8vIEl0IHdpbGwgYmUgc3RhcnRlZCBieSBydW5SZW1haW5pbmdBY3Rpb25zIGFmdGVyIHRoZSBwcmV2aW91cyBhY3Rpb24gZmluaXNoZXNcbiAgICAgICAgaWYgKGFjdGlvblF1ZXVlLmxhc3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGFjdGlvblF1ZXVlLmxhc3QubmV4dCA9IG5ld0FjdGlvbjtcbiAgICAgICAgfVxuICAgICAgICBhY3Rpb25RdWV1ZS5sYXN0ID0gbmV3QWN0aW9uO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZSgpIHtcbiAgICBjb25zdCBhY3Rpb25RdWV1ZSA9IHtcbiAgICAgICAgc3RhdGU6IG51bGwsXG4gICAgICAgIGRpc3BhdGNoOiAocGF5bG9hZCwgc2V0U3RhdGUpPT5kaXNwYXRjaEFjdGlvbihhY3Rpb25RdWV1ZSwgcGF5bG9hZCwgc2V0U3RhdGUpLFxuICAgICAgICBhY3Rpb246IGFzeW5jIChzdGF0ZSwgYWN0aW9uKT0+e1xuICAgICAgICAgICAgaWYgKHN0YXRlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YXJpYW50OiBSb3V0ZXIgc3RhdGUgbm90IGluaXRpYWxpemVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gKDAsIF9yb3V0ZXJyZWR1Y2VyLnJlZHVjZXIpKHN0YXRlLCBhY3Rpb24pO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSxcbiAgICAgICAgcGVuZGluZzogbnVsbCxcbiAgICAgICAgbGFzdDogbnVsbFxuICAgIH07XG4gICAgcmV0dXJuIGFjdGlvblF1ZXVlO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hY3Rpb24tcXVldWUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiQWN0aW9uUXVldWVDb250ZXh0IiwiY3JlYXRlTXV0YWJsZUFjdGlvblF1ZXVlIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfcm91dGVycmVkdWNlcnR5cGVzIiwiX3JvdXRlcnJlZHVjZXIiLCJfcmVhY3QiLCJfIiwiZGVmYXVsdCIsImNyZWF0ZUNvbnRleHQiLCJydW5SZW1haW5pbmdBY3Rpb25zIiwiYWN0aW9uUXVldWUiLCJzZXRTdGF0ZSIsInBlbmRpbmciLCJuZXh0IiwicnVuQWN0aW9uIiwiYWN0aW9uIiwicGFyYW0iLCJwcmV2U3RhdGUiLCJzdGF0ZSIsIkVycm9yIiwicGF5bG9hZCIsImFjdGlvblJlc3VsdCIsImhhbmRsZVJlc3VsdCIsIm5leHRTdGF0ZSIsImRpc2NhcmRlZCIsIm5lZWRzUmVmcmVzaCIsImRpc3BhdGNoIiwidHlwZSIsIkFDVElPTl9SRUZSRVNIIiwib3JpZ2luIiwid2luZG93IiwibG9jYXRpb24iLCJkZXZUb29sc0luc3RhbmNlIiwic2VuZCIsInJlc29sdmUiLCJpc1RoZW5hYmxlIiwidGhlbiIsImVyciIsInJlamVjdCIsImRpc3BhdGNoQWN0aW9uIiwicmVzb2x2ZXJzIiwiQUNUSU9OX1JFU1RPUkUiLCJkZWZlcnJlZFByb21pc2UiLCJQcm9taXNlIiwic3RhcnRUcmFuc2l0aW9uIiwibmV3QWN0aW9uIiwibGFzdCIsIkFDVElPTl9OQVZJR0FURSIsIkFDVElPTl9TRVJWRVJfQUNUSU9OIiwicmVzdWx0IiwicmVkdWNlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/action-queue.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js": /*!***************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathPrefix\", ({\n enumerable: true,\n get: function() {\n return addPathPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathPrefix(path, prefix) {\n if (!path.startsWith(\"/\") || !prefix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + prefix + pathname + query + hash;\n} //# sourceMappingURL=add-path-prefix.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsYUFBYUMsbUJBQU9BLENBQUMsMEZBQWM7QUFDekMsU0FBU0YsY0FBY0csSUFBSSxFQUFFQyxNQUFNO0lBQy9CLElBQUksQ0FBQ0QsS0FBS0UsVUFBVSxDQUFDLFFBQVEsQ0FBQ0QsUUFBUTtRQUNsQyxPQUFPRDtJQUNYO0lBQ0EsTUFBTSxFQUFFRyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHUCxXQUFXUSxTQUFTLEVBQUVOO0lBQzVELE9BQU8sS0FBS0MsU0FBU0UsV0FBV0MsUUFBUUM7QUFDNUMsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeC5qcz9jMTI5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYWRkUGF0aFByZWZpeFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYWRkUGF0aFByZWZpeDtcbiAgICB9XG59KTtcbmNvbnN0IF9wYXJzZXBhdGggPSByZXF1aXJlKFwiLi9wYXJzZS1wYXRoXCIpO1xuZnVuY3Rpb24gYWRkUGF0aFByZWZpeChwYXRoLCBwcmVmaXgpIHtcbiAgICBpZiAoIXBhdGguc3RhcnRzV2l0aChcIi9cIikgfHwgIXByZWZpeCkge1xuICAgICAgICByZXR1cm4gcGF0aDtcbiAgICB9XG4gICAgY29uc3QgeyBwYXRobmFtZSwgcXVlcnksIGhhc2ggfSA9ICgwLCBfcGFyc2VwYXRoLnBhcnNlUGF0aCkocGF0aCk7XG4gICAgcmV0dXJuIFwiXCIgKyBwcmVmaXggKyBwYXRobmFtZSArIHF1ZXJ5ICsgaGFzaDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWRkLXBhdGgtcHJlZml4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJhZGRQYXRoUHJlZml4IiwiX3BhcnNlcGF0aCIsInJlcXVpcmUiLCJwYXRoIiwicHJlZml4Iiwic3RhcnRzV2l0aCIsInBhdGhuYW1lIiwicXVlcnkiLCJoYXNoIiwicGFyc2VQYXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/app-paths.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalizeAppPath: function() {\n return normalizeAppPath;\n },\n normalizeRscURL: function() {\n return normalizeRscURL;\n }\n});\nconst _ensureleadingslash = __webpack_require__(/*! ../../page-path/ensure-leading-slash */ \"(ssr)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _segment = __webpack_require__(/*! ../../segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nfunction normalizeAppPath(route) {\n return (0, _ensureleadingslash.ensureLeadingSlash)(route.split(\"/\").reduce((pathname, segment, index, segments)=>{\n // Empty segments are ignored.\n if (!segment) {\n return pathname;\n }\n // Groups are ignored.\n if ((0, _segment.isGroupSegment)(segment)) {\n return pathname;\n }\n // Parallel segments are ignored.\n if (segment[0] === \"@\") {\n return pathname;\n }\n // The last segment (if it's a leaf) should be ignored.\n if ((segment === \"page\" || segment === \"route\") && index === segments.length - 1) {\n return pathname;\n }\n return pathname + \"/\" + segment;\n }, \"\"));\n}\nfunction normalizeRscURL(url) {\n return url.replace(/\\.rsc($|\\?)/, \"$1\");\n} //# sourceMappingURL=app-paths.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRocy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtJQUNBQyxpQkFBaUI7UUFDYixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxzQkFBc0JDLG1CQUFPQSxDQUFDLHlIQUFzQztBQUMxRSxNQUFNQyxXQUFXRCxtQkFBT0EsQ0FBQywyRUFBZTtBQUN4QyxTQUFTVCxpQkFBaUJXLEtBQUs7SUFDM0IsT0FBTyxDQUFDLEdBQUdILG9CQUFvQkksa0JBQWtCLEVBQUVELE1BQU1FLEtBQUssQ0FBQyxLQUFLQyxNQUFNLENBQUMsQ0FBQ0MsVUFBVUMsU0FBU0MsT0FBT0M7UUFDbEcsOEJBQThCO1FBQzlCLElBQUksQ0FBQ0YsU0FBUztZQUNWLE9BQU9EO1FBQ1g7UUFDQSxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLEdBQUdMLFNBQVNTLGNBQWMsRUFBRUgsVUFBVTtZQUN2QyxPQUFPRDtRQUNYO1FBQ0EsaUNBQWlDO1FBQ2pDLElBQUlDLE9BQU8sQ0FBQyxFQUFFLEtBQUssS0FBSztZQUNwQixPQUFPRDtRQUNYO1FBQ0EsdURBQXVEO1FBQ3ZELElBQUksQ0FBQ0MsWUFBWSxVQUFVQSxZQUFZLE9BQU0sS0FBTUMsVUFBVUMsU0FBU0UsTUFBTSxHQUFHLEdBQUc7WUFDOUUsT0FBT0w7UUFDWDtRQUNBLE9BQU9BLFdBQVcsTUFBTUM7SUFDNUIsR0FBRztBQUNQO0FBQ0EsU0FBU2YsZ0JBQWdCb0IsR0FBRztJQUN4QixPQUFPQSxJQUFJQyxPQUFPLENBQUMsZUFDbkI7QUFDSixFQUVBLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYXBwLXBhdGhzLmpzPzdlNTIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBub3JtYWxpemVBcHBQYXRoOiBudWxsLFxuICAgIG5vcm1hbGl6ZVJzY1VSTDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBub3JtYWxpemVBcHBQYXRoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZUFwcFBhdGg7XG4gICAgfSxcbiAgICBub3JtYWxpemVSc2NVUkw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplUnNjVVJMO1xuICAgIH1cbn0pO1xuY29uc3QgX2Vuc3VyZWxlYWRpbmdzbGFzaCA9IHJlcXVpcmUoXCIuLi8uLi9wYWdlLXBhdGgvZW5zdXJlLWxlYWRpbmctc2xhc2hcIik7XG5jb25zdCBfc2VnbWVudCA9IHJlcXVpcmUoXCIuLi8uLi9zZWdtZW50XCIpO1xuZnVuY3Rpb24gbm9ybWFsaXplQXBwUGF0aChyb3V0ZSkge1xuICAgIHJldHVybiAoMCwgX2Vuc3VyZWxlYWRpbmdzbGFzaC5lbnN1cmVMZWFkaW5nU2xhc2gpKHJvdXRlLnNwbGl0KFwiL1wiKS5yZWR1Y2UoKHBhdGhuYW1lLCBzZWdtZW50LCBpbmRleCwgc2VnbWVudHMpPT57XG4gICAgICAgIC8vIEVtcHR5IHNlZ21lbnRzIGFyZSBpZ25vcmVkLlxuICAgICAgICBpZiAoIXNlZ21lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRobmFtZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBHcm91cHMgYXJlIGlnbm9yZWQuXG4gICAgICAgIGlmICgoMCwgX3NlZ21lbnQuaXNHcm91cFNlZ21lbnQpKHNlZ21lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aG5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUGFyYWxsZWwgc2VnbWVudHMgYXJlIGlnbm9yZWQuXG4gICAgICAgIGlmIChzZWdtZW50WzBdID09PSBcIkBcIikge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGhuYW1lO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRoZSBsYXN0IHNlZ21lbnQgKGlmIGl0J3MgYSBsZWFmKSBzaG91bGQgYmUgaWdub3JlZC5cbiAgICAgICAgaWYgKChzZWdtZW50ID09PSBcInBhZ2VcIiB8fCBzZWdtZW50ID09PSBcInJvdXRlXCIpICYmIGluZGV4ID09PSBzZWdtZW50cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aG5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhdGhuYW1lICsgXCIvXCIgKyBzZWdtZW50O1xuICAgIH0sIFwiXCIpKTtcbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZVJzY1VSTCh1cmwpIHtcbiAgICByZXR1cm4gdXJsLnJlcGxhY2UoL1xcLnJzYygkfFxcPykvLCAvLyAkMSBlbnN1cmVzIGA/YCBpcyBwcmVzZXJ2ZWRcbiAgICBcIiQxXCIpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcGF0aHMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwibm9ybWFsaXplQXBwUGF0aCIsIm5vcm1hbGl6ZVJzY1VSTCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9lbnN1cmVsZWFkaW5nc2xhc2giLCJyZXF1aXJlIiwiX3NlZ21lbnQiLCJyb3V0ZSIsImVuc3VyZUxlYWRpbmdTbGFzaCIsInNwbGl0IiwicmVkdWNlIiwicGF0aG5hbWUiLCJzZWdtZW50IiwiaW5kZXgiLCJzZWdtZW50cyIsImlzR3JvdXBTZWdtZW50IiwibGVuZ3RoIiwidXJsIiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/format-url.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/format-url.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n formatUrl: function() {\n return formatUrl;\n },\n urlObjectKeys: function() {\n return urlObjectKeys;\n },\n formatWithValidation: function() {\n return formatWithValidation;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _querystring = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./querystring */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\"));\nconst slashedProtocols = /https?|ftp|gopher|file/;\nfunction formatUrl(urlObj) {\n let { auth, hostname } = urlObj;\n let protocol = urlObj.protocol || \"\";\n let pathname = urlObj.pathname || \"\";\n let hash = urlObj.hash || \"\";\n let query = urlObj.query || \"\";\n let host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, \":\") + \"@\" : \"\";\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(\":\") ? \"[\" + hostname + \"]\" : hostname);\n if (urlObj.port) {\n host += \":\" + urlObj.port;\n }\n }\n if (query && typeof query === \"object\") {\n query = String(_querystring.urlQueryToSearchParams(query));\n }\n let search = urlObj.search || query && \"?\" + query || \"\";\n if (protocol && !protocol.endsWith(\":\")) protocol += \":\";\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = \"//\" + (host || \"\");\n if (pathname && pathname[0] !== \"/\") pathname = \"/\" + pathname;\n } else if (!host) {\n host = \"\";\n }\n if (hash && hash[0] !== \"#\") hash = \"#\" + hash;\n if (search && search[0] !== \"?\") search = \"?\" + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace(\"#\", \"%23\");\n return \"\" + protocol + host + pathname + search + hash;\n}\nconst urlObjectKeys = [\n \"auth\",\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"slashes\"\n];\nfunction formatWithValidation(url) {\n if (true) {\n if (url !== null && typeof url === \"object\") {\n Object.keys(url).forEach((key)=>{\n if (!urlObjectKeys.includes(key)) {\n console.warn(\"Unknown key passed via urlObject into url.format: \" + key);\n }\n });\n }\n }\n return formatUrl(url);\n} //# sourceMappingURL=format-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwuanMiLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBQ3ZDLHNEQUFzRDtBQUN0RCxFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLGdFQUFnRTtBQUNoRSxzRUFBc0U7QUFDdEUsc0VBQXNFO0FBQ3RFLDRFQUE0RTtBQUM1RSxxRUFBcUU7QUFDckUsd0JBQXdCO0FBQ3hCLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUseURBQXlEO0FBQ3pELEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsNkRBQTZEO0FBQzdELDRFQUE0RTtBQUM1RSwyRUFBMkU7QUFDM0Usd0VBQXdFO0FBQ3hFLDRFQUE0RTtBQUM1RSx5Q0FBeUM7QUFDNUI7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FJTjtBQUNBLFNBQVNJLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlWLE9BQU9DLGNBQWMsQ0FBQ1EsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTixTQUFTO0lBQ2JHLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLGVBQWU7UUFDWCxPQUFPQTtJQUNYO0lBQ0FDLHNCQUFzQjtRQUNsQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyw0QkFBNEJDLG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNQyxlQUFlLFdBQVcsR0FBR0YsMEJBQTBCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLDRGQUFlO0FBQ3RGLE1BQU1HLG1CQUFtQjtBQUN6QixTQUFTYixVQUFVYyxNQUFNO0lBQ3JCLElBQUksRUFBRUMsSUFBSSxFQUFFQyxRQUFRLEVBQUUsR0FBR0Y7SUFDekIsSUFBSUcsV0FBV0gsT0FBT0csUUFBUSxJQUFJO0lBQ2xDLElBQUlDLFdBQVdKLE9BQU9JLFFBQVEsSUFBSTtJQUNsQyxJQUFJQyxPQUFPTCxPQUFPSyxJQUFJLElBQUk7SUFDMUIsSUFBSUMsUUFBUU4sT0FBT00sS0FBSyxJQUFJO0lBQzVCLElBQUlDLE9BQU87SUFDWE4sT0FBT0EsT0FBT08sbUJBQW1CUCxNQUFNUSxPQUFPLENBQUMsUUFBUSxPQUFPLE1BQU07SUFDcEUsSUFBSVQsT0FBT08sSUFBSSxFQUFFO1FBQ2JBLE9BQU9OLE9BQU9ELE9BQU9PLElBQUk7SUFDN0IsT0FBTyxJQUFJTCxVQUFVO1FBQ2pCSyxPQUFPTixPQUFRLEVBQUNDLFNBQVNRLE9BQU8sQ0FBQyxPQUFPLE1BQU1SLFdBQVcsTUFBTUEsUUFBTztRQUN0RSxJQUFJRixPQUFPVyxJQUFJLEVBQUU7WUFDYkosUUFBUSxNQUFNUCxPQUFPVyxJQUFJO1FBQzdCO0lBQ0o7SUFDQSxJQUFJTCxTQUFTLE9BQU9BLFVBQVUsVUFBVTtRQUNwQ0EsUUFBUU0sT0FBT2YsYUFBYWdCLHNCQUFzQixDQUFDUDtJQUN2RDtJQUNBLElBQUlRLFNBQVNkLE9BQU9jLE1BQU0sSUFBSVIsU0FBUyxNQUFNQSxTQUFTO0lBQ3RELElBQUlILFlBQVksQ0FBQ0EsU0FBU1ksUUFBUSxDQUFDLE1BQU1aLFlBQVk7SUFDckQsSUFBSUgsT0FBT2dCLE9BQU8sSUFBSSxDQUFDLENBQUNiLFlBQVlKLGlCQUFpQmtCLElBQUksQ0FBQ2QsU0FBUSxLQUFNSSxTQUFTLE9BQU87UUFDcEZBLE9BQU8sT0FBUUEsQ0FBQUEsUUFBUSxFQUFDO1FBQ3hCLElBQUlILFlBQVlBLFFBQVEsQ0FBQyxFQUFFLEtBQUssS0FBS0EsV0FBVyxNQUFNQTtJQUMxRCxPQUFPLElBQUksQ0FBQ0csTUFBTTtRQUNkQSxPQUFPO0lBQ1g7SUFDQSxJQUFJRixRQUFRQSxJQUFJLENBQUMsRUFBRSxLQUFLLEtBQUtBLE9BQU8sTUFBTUE7SUFDMUMsSUFBSVMsVUFBVUEsTUFBTSxDQUFDLEVBQUUsS0FBSyxLQUFLQSxTQUFTLE1BQU1BO0lBQ2hEVixXQUFXQSxTQUFTSyxPQUFPLENBQUMsU0FBU0Q7SUFDckNNLFNBQVNBLE9BQU9MLE9BQU8sQ0FBQyxLQUFLO0lBQzdCLE9BQU8sS0FBS04sV0FBV0ksT0FBT0gsV0FBV1UsU0FBU1Q7QUFDdEQ7QUFDQSxNQUFNbEIsZ0JBQWdCO0lBQ2xCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNIO0FBQ0QsU0FBU0MscUJBQXFCOEIsR0FBRztJQUM3QixJQUFJQyxJQUFzQyxFQUFFO1FBQ3hDLElBQUlELFFBQVEsUUFBUSxPQUFPQSxRQUFRLFVBQVU7WUFDekNyQyxPQUFPdUMsSUFBSSxDQUFDRixLQUFLRyxPQUFPLENBQUMsQ0FBQ0M7Z0JBQ3RCLElBQUksQ0FBQ25DLGNBQWNvQyxRQUFRLENBQUNELE1BQU07b0JBQzlCRSxRQUFRQyxJQUFJLENBQUMsdURBQXVESDtnQkFDeEU7WUFDSjtRQUNKO0lBQ0o7SUFDQSxPQUFPcEMsVUFBVWdDO0FBQ3JCLEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9mb3JtYXQtdXJsLmpzPzdiNTMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gRm9ybWF0IGZ1bmN0aW9uIG1vZGlmaWVkIGZyb20gbm9kZWpzXG4vLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZm9ybWF0VXJsOiBudWxsLFxuICAgIHVybE9iamVjdEtleXM6IG51bGwsXG4gICAgZm9ybWF0V2l0aFZhbGlkYXRpb246IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZm9ybWF0VXJsOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdFVybDtcbiAgICB9LFxuICAgIHVybE9iamVjdEtleXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXJsT2JqZWN0S2V5cztcbiAgICB9LFxuICAgIGZvcm1hdFdpdGhWYWxpZGF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdFdpdGhWYWxpZGF0aW9uO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX3F1ZXJ5c3RyaW5nID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcIi4vcXVlcnlzdHJpbmdcIikpO1xuY29uc3Qgc2xhc2hlZFByb3RvY29scyA9IC9odHRwcz98ZnRwfGdvcGhlcnxmaWxlLztcbmZ1bmN0aW9uIGZvcm1hdFVybCh1cmxPYmopIHtcbiAgICBsZXQgeyBhdXRoLCBob3N0bmFtZSB9ID0gdXJsT2JqO1xuICAgIGxldCBwcm90b2NvbCA9IHVybE9iai5wcm90b2NvbCB8fCBcIlwiO1xuICAgIGxldCBwYXRobmFtZSA9IHVybE9iai5wYXRobmFtZSB8fCBcIlwiO1xuICAgIGxldCBoYXNoID0gdXJsT2JqLmhhc2ggfHwgXCJcIjtcbiAgICBsZXQgcXVlcnkgPSB1cmxPYmoucXVlcnkgfHwgXCJcIjtcbiAgICBsZXQgaG9zdCA9IGZhbHNlO1xuICAgIGF1dGggPSBhdXRoID8gZW5jb2RlVVJJQ29tcG9uZW50KGF1dGgpLnJlcGxhY2UoLyUzQS9pLCBcIjpcIikgKyBcIkBcIiA6IFwiXCI7XG4gICAgaWYgKHVybE9iai5ob3N0KSB7XG4gICAgICAgIGhvc3QgPSBhdXRoICsgdXJsT2JqLmhvc3Q7XG4gICAgfSBlbHNlIGlmIChob3N0bmFtZSkge1xuICAgICAgICBob3N0ID0gYXV0aCArICh+aG9zdG5hbWUuaW5kZXhPZihcIjpcIikgPyBcIltcIiArIGhvc3RuYW1lICsgXCJdXCIgOiBob3N0bmFtZSk7XG4gICAgICAgIGlmICh1cmxPYmoucG9ydCkge1xuICAgICAgICAgICAgaG9zdCArPSBcIjpcIiArIHVybE9iai5wb3J0O1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChxdWVyeSAmJiB0eXBlb2YgcXVlcnkgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcXVlcnkgPSBTdHJpbmcoX3F1ZXJ5c3RyaW5nLnVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMocXVlcnkpKTtcbiAgICB9XG4gICAgbGV0IHNlYXJjaCA9IHVybE9iai5zZWFyY2ggfHwgcXVlcnkgJiYgXCI/XCIgKyBxdWVyeSB8fCBcIlwiO1xuICAgIGlmIChwcm90b2NvbCAmJiAhcHJvdG9jb2wuZW5kc1dpdGgoXCI6XCIpKSBwcm90b2NvbCArPSBcIjpcIjtcbiAgICBpZiAodXJsT2JqLnNsYXNoZXMgfHwgKCFwcm90b2NvbCB8fCBzbGFzaGVkUHJvdG9jb2xzLnRlc3QocHJvdG9jb2wpKSAmJiBob3N0ICE9PSBmYWxzZSkge1xuICAgICAgICBob3N0ID0gXCIvL1wiICsgKGhvc3QgfHwgXCJcIik7XG4gICAgICAgIGlmIChwYXRobmFtZSAmJiBwYXRobmFtZVswXSAhPT0gXCIvXCIpIHBhdGhuYW1lID0gXCIvXCIgKyBwYXRobmFtZTtcbiAgICB9IGVsc2UgaWYgKCFob3N0KSB7XG4gICAgICAgIGhvc3QgPSBcIlwiO1xuICAgIH1cbiAgICBpZiAoaGFzaCAmJiBoYXNoWzBdICE9PSBcIiNcIikgaGFzaCA9IFwiI1wiICsgaGFzaDtcbiAgICBpZiAoc2VhcmNoICYmIHNlYXJjaFswXSAhPT0gXCI/XCIpIHNlYXJjaCA9IFwiP1wiICsgc2VhcmNoO1xuICAgIHBhdGhuYW1lID0gcGF0aG5hbWUucmVwbGFjZSgvWz8jXS9nLCBlbmNvZGVVUklDb21wb25lbnQpO1xuICAgIHNlYXJjaCA9IHNlYXJjaC5yZXBsYWNlKFwiI1wiLCBcIiUyM1wiKTtcbiAgICByZXR1cm4gXCJcIiArIHByb3RvY29sICsgaG9zdCArIHBhdGhuYW1lICsgc2VhcmNoICsgaGFzaDtcbn1cbmNvbnN0IHVybE9iamVjdEtleXMgPSBbXG4gICAgXCJhdXRoXCIsXG4gICAgXCJoYXNoXCIsXG4gICAgXCJob3N0XCIsXG4gICAgXCJob3N0bmFtZVwiLFxuICAgIFwiaHJlZlwiLFxuICAgIFwicGF0aFwiLFxuICAgIFwicGF0aG5hbWVcIixcbiAgICBcInBvcnRcIixcbiAgICBcInByb3RvY29sXCIsXG4gICAgXCJxdWVyeVwiLFxuICAgIFwic2VhcmNoXCIsXG4gICAgXCJzbGFzaGVzXCJcbl07XG5mdW5jdGlvbiBmb3JtYXRXaXRoVmFsaWRhdGlvbih1cmwpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICBpZiAodXJsICE9PSBudWxsICYmIHR5cGVvZiB1cmwgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHVybCkuZm9yRWFjaCgoa2V5KT0+e1xuICAgICAgICAgICAgICAgIGlmICghdXJsT2JqZWN0S2V5cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlVua25vd24ga2V5IHBhc3NlZCB2aWEgdXJsT2JqZWN0IGludG8gdXJsLmZvcm1hdDogXCIgKyBrZXkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmb3JtYXRVcmwodXJsKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Zm9ybWF0LXVybC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJmb3JtYXRVcmwiLCJ1cmxPYmplY3RLZXlzIiwiZm9ybWF0V2l0aFZhbGlkYXRpb24iLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9xdWVyeXN0cmluZyIsIl8iLCJzbGFzaGVkUHJvdG9jb2xzIiwidXJsT2JqIiwiYXV0aCIsImhvc3RuYW1lIiwicHJvdG9jb2wiLCJwYXRobmFtZSIsImhhc2giLCJxdWVyeSIsImhvc3QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZXBsYWNlIiwiaW5kZXhPZiIsInBvcnQiLCJTdHJpbmciLCJ1cmxRdWVyeVRvU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiZW5kc1dpdGgiLCJzbGFzaGVzIiwidGVzdCIsInVybCIsInByb2Nlc3MiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsImluY2x1ZGVzIiwiY29uc29sZSIsIndhcm4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js": /*!********************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js ***! \********************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Run function with `scroll-behavior: auto` applied to `<html/>`.\n * This css change will be reverted after the function finishes.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleSmoothScroll\", ({\n enumerable: true,\n get: function() {\n return handleSmoothScroll;\n }\n}));\nfunction handleSmoothScroll(fn, options) {\n if (options === void 0) options = {};\n // if only the hash is changed, we don't need to disable smooth scrolling\n // we only care to prevent smooth scrolling when navigating to a new page to avoid jarring UX\n if (options.onlyHashChange) {\n fn();\n return;\n }\n const htmlElement = document.documentElement;\n const existing = htmlElement.style.scrollBehavior;\n htmlElement.style.scrollBehavior = \"auto\";\n if (!options.dontForceLayout) {\n // In Chrome-based browsers we need to force reflow before calling `scrollTo`.\n // Otherwise it will not pickup the change in scrollBehavior\n // More info here: https://github.com/vercel/next.js/issues/40719#issuecomment-1336248042\n htmlElement.getClientRects();\n }\n fn();\n htmlElement.style.scrollBehavior = existing;\n} //# sourceMappingURL=handle-smooth-scroll.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2hhbmRsZS1zbW9vdGgtc2Nyb2xsLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUFnQjtBQUNqQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHNEQUFxRDtJQUNqREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLG1CQUFtQkMsRUFBRSxFQUFFQyxPQUFPO0lBQ25DLElBQUlBLFlBQVksS0FBSyxHQUFHQSxVQUFVLENBQUM7SUFDbkMseUVBQXlFO0lBQ3pFLDZGQUE2RjtJQUM3RixJQUFJQSxRQUFRQyxjQUFjLEVBQUU7UUFDeEJGO1FBQ0E7SUFDSjtJQUNBLE1BQU1HLGNBQWNDLFNBQVNDLGVBQWU7SUFDNUMsTUFBTUMsV0FBV0gsWUFBWUksS0FBSyxDQUFDQyxjQUFjO0lBQ2pETCxZQUFZSSxLQUFLLENBQUNDLGNBQWMsR0FBRztJQUNuQyxJQUFJLENBQUNQLFFBQVFRLGVBQWUsRUFBRTtRQUMxQiw4RUFBOEU7UUFDOUUsNERBQTREO1FBQzVELHlGQUF5RjtRQUN6Rk4sWUFBWU8sY0FBYztJQUM5QjtJQUNBVjtJQUNBRyxZQUFZSSxLQUFLLENBQUNDLGNBQWMsR0FBR0Y7QUFDdkMsRUFFQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2hhbmRsZS1zbW9vdGgtc2Nyb2xsLmpzPzY1NjMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSdW4gZnVuY3Rpb24gd2l0aCBgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvYCBhcHBsaWVkIHRvIGA8aHRtbC8+YC5cbiAqIFRoaXMgY3NzIGNoYW5nZSB3aWxsIGJlIHJldmVydGVkIGFmdGVyIHRoZSBmdW5jdGlvbiBmaW5pc2hlcy5cbiAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImhhbmRsZVNtb290aFNjcm9sbFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaGFuZGxlU21vb3RoU2Nyb2xsO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaGFuZGxlU21vb3RoU2Nyb2xsKGZuLCBvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkgb3B0aW9ucyA9IHt9O1xuICAgIC8vIGlmIG9ubHkgdGhlIGhhc2ggaXMgY2hhbmdlZCwgd2UgZG9uJ3QgbmVlZCB0byBkaXNhYmxlIHNtb290aCBzY3JvbGxpbmdcbiAgICAvLyB3ZSBvbmx5IGNhcmUgdG8gcHJldmVudCBzbW9vdGggc2Nyb2xsaW5nIHdoZW4gbmF2aWdhdGluZyB0byBhIG5ldyBwYWdlIHRvIGF2b2lkIGphcnJpbmcgVVhcbiAgICBpZiAob3B0aW9ucy5vbmx5SGFzaENoYW5nZSkge1xuICAgICAgICBmbigpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGh0bWxFbGVtZW50ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIGNvbnN0IGV4aXN0aW5nID0gaHRtbEVsZW1lbnQuc3R5bGUuc2Nyb2xsQmVoYXZpb3I7XG4gICAgaHRtbEVsZW1lbnQuc3R5bGUuc2Nyb2xsQmVoYXZpb3IgPSBcImF1dG9cIjtcbiAgICBpZiAoIW9wdGlvbnMuZG9udEZvcmNlTGF5b3V0KSB7XG4gICAgICAgIC8vIEluIENocm9tZS1iYXNlZCBicm93c2VycyB3ZSBuZWVkIHRvIGZvcmNlIHJlZmxvdyBiZWZvcmUgY2FsbGluZyBgc2Nyb2xsVG9gLlxuICAgICAgICAvLyBPdGhlcndpc2UgaXQgd2lsbCBub3QgcGlja3VwIHRoZSBjaGFuZ2UgaW4gc2Nyb2xsQmVoYXZpb3JcbiAgICAgICAgLy8gTW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS92ZXJjZWwvbmV4dC5qcy9pc3N1ZXMvNDA3MTkjaXNzdWVjb21tZW50LTEzMzYyNDgwNDJcbiAgICAgICAgaHRtbEVsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKTtcbiAgICB9XG4gICAgZm4oKTtcbiAgICBodG1sRWxlbWVudC5zdHlsZS5zY3JvbGxCZWhhdmlvciA9IGV4aXN0aW5nO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1oYW5kbGUtc21vb3RoLXNjcm9sbC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaGFuZGxlU21vb3RoU2Nyb2xsIiwiZm4iLCJvcHRpb25zIiwib25seUhhc2hDaGFuZ2UiLCJodG1sRWxlbWVudCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiZXhpc3RpbmciLCJzdHlsZSIsInNjcm9sbEJlaGF2aW9yIiwiZG9udEZvcmNlTGF5b3V0IiwiZ2V0Q2xpZW50UmVjdHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/index.js": /*!*****************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxpQkFBaUI7UUFDYixPQUFPUSxjQUFjUixlQUFlO0lBQ3hDO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9RLFdBQVdSLGNBQWM7SUFDcEM7QUFDSjtBQUNBLE1BQU1PLGdCQUFnQkUsbUJBQU9BLENBQUMsZ0dBQWlCO0FBQy9DLE1BQU1ELGFBQWFDLG1CQUFPQSxDQUFDLDBGQUFjLEdBRXpDLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW5kZXguanM/ZjUyNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGdldFNvcnRlZFJvdXRlczogbnVsbCxcbiAgICBpc0R5bmFtaWNSb3V0ZTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBnZXRTb3J0ZWRSb3V0ZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3NvcnRlZHJvdXRlcy5nZXRTb3J0ZWRSb3V0ZXM7XG4gICAgfSxcbiAgICBpc0R5bmFtaWNSb3V0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfaXNkeW5hbWljLmlzRHluYW1pY1JvdXRlO1xuICAgIH1cbn0pO1xuY29uc3QgX3NvcnRlZHJvdXRlcyA9IHJlcXVpcmUoXCIuL3NvcnRlZC1yb3V0ZXNcIik7XG5jb25zdCBfaXNkeW5hbWljID0gcmVxdWlyZShcIi4vaXMtZHluYW1pY1wiKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiZ2V0U29ydGVkUm91dGVzIiwiaXNEeW5hbWljUm91dGUiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfc29ydGVkcm91dGVzIiwiX2lzZHluYW1pYyIsInJlcXVpcmUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js ***! \**************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"interpolateAs\", ({\n enumerable: true,\n get: function() {\n return interpolateAs;\n }\n}));\nconst _routematcher = __webpack_require__(/*! ./route-matcher */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./route-regex */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nfunction interpolateAs(route, asPathname, query) {\n let interpolatedRoute = \"\";\n const dynamicRegex = (0, _routeregex.getRouteRegex)(route);\n const dynamicGroups = dynamicRegex.groups;\n const dynamicMatches = (asPathname !== route ? (0, _routematcher.getRouteMatcher)(dynamicRegex)(asPathname) : \"\") || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n const params = Object.keys(dynamicGroups);\n if (!params.every((param)=>{\n let value = dynamicMatches[param] || \"\";\n const { repeat, optional } = dynamicGroups[param];\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = \"[\" + (repeat ? \"...\" : \"\") + param + \"]\";\n if (optional) {\n replaced = (!value ? \"/\" : \"\") + \"[\" + replaced + \"]\";\n }\n if (repeat && !Array.isArray(value)) value = [\n value\n ];\n return (optional || param in dynamicMatches) && // Interpolate group into data URL if present\n (interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map(// path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment)=>encodeURIComponent(segment)).join(\"/\") : encodeURIComponent(value)) || \"/\");\n })) {\n interpolatedRoute = \"\" // did not satisfy all requirements\n ;\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `<Link>` component directly.\n }\n return {\n params,\n result: interpolatedRoute\n };\n} //# sourceMappingURL=interpolate-as.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2ludGVycG9sYXRlLWFzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxpREFBZ0Q7SUFDNUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxnQkFBZ0JDLG1CQUFPQSxDQUFDLGdHQUFpQjtBQUMvQyxNQUFNQyxjQUFjRCxtQkFBT0EsQ0FBQyw0RkFBZTtBQUMzQyxTQUFTRixjQUFjSSxLQUFLLEVBQUVDLFVBQVUsRUFBRUMsS0FBSztJQUMzQyxJQUFJQyxvQkFBb0I7SUFDeEIsTUFBTUMsZUFBZSxDQUFDLEdBQUdMLFlBQVlNLGFBQWEsRUFBRUw7SUFDcEQsTUFBTU0sZ0JBQWdCRixhQUFhRyxNQUFNO0lBQ3pDLE1BQU1DLGlCQUNOLENBQUNQLGVBQWVELFFBQVEsQ0FBQyxHQUFHSCxjQUFjWSxlQUFlLEVBQUVMLGNBQWNILGNBQWMsRUFBQyxLQUFNLGdEQUFnRDtJQUM5SSxzRUFBc0U7SUFDdEVDO0lBQ0FDLG9CQUFvQkg7SUFDcEIsTUFBTVUsU0FBU3BCLE9BQU9xQixJQUFJLENBQUNMO0lBQzNCLElBQUksQ0FBQ0ksT0FBT0UsS0FBSyxDQUFDLENBQUNDO1FBQ2YsSUFBSXBCLFFBQVFlLGNBQWMsQ0FBQ0ssTUFBTSxJQUFJO1FBQ3JDLE1BQU0sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUUsR0FBR1QsYUFBYSxDQUFDTyxNQUFNO1FBQ2pELGlDQUFpQztRQUNqQywwREFBMEQ7UUFDMUQsSUFBSUcsV0FBVyxNQUFPRixDQUFBQSxTQUFTLFFBQVEsRUFBQyxJQUFLRCxRQUFRO1FBQ3JELElBQUlFLFVBQVU7WUFDVkMsV0FBVyxDQUFDLENBQUN2QixRQUFRLE1BQU0sRUFBQyxJQUFLLE1BQU11QixXQUFXO1FBQ3REO1FBQ0EsSUFBSUYsVUFBVSxDQUFDRyxNQUFNQyxPQUFPLENBQUN6QixRQUFRQSxRQUFRO1lBQ3pDQTtTQUNIO1FBQ0QsT0FBTyxDQUFDc0IsWUFBWUYsU0FBU0wsY0FBYSxLQUFNLDZDQUE2QztRQUM1RkwsQ0FBQUEsb0JBQW9CQSxrQkFBa0JnQixPQUFPLENBQUNILFVBQVVGLFNBQVNyQixNQUFNMkIsR0FBRyxDQUMzRSx1REFBdUQ7UUFDdkQsa0RBQWtEO1FBQ2xELG9DQUFvQztRQUNwQyxDQUFDQyxVQUFVQyxtQkFBbUJELFVBQVVFLElBQUksQ0FBQyxPQUFPRCxtQkFBbUI3QixXQUFXLEdBQUU7SUFDeEYsSUFBSTtRQUNBVSxvQkFBb0IsR0FBRyxtQ0FBbUM7O0lBRTlELHVFQUF1RTtJQUN2RSxrREFBa0Q7SUFDbEQ7SUFDQSxPQUFPO1FBQ0hPO1FBQ0FjLFFBQVFyQjtJQUNaO0FBQ0osRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2ludGVycG9sYXRlLWFzLmpzP2QwZTQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpbnRlcnBvbGF0ZUFzXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpbnRlcnBvbGF0ZUFzO1xuICAgIH1cbn0pO1xuY29uc3QgX3JvdXRlbWF0Y2hlciA9IHJlcXVpcmUoXCIuL3JvdXRlLW1hdGNoZXJcIik7XG5jb25zdCBfcm91dGVyZWdleCA9IHJlcXVpcmUoXCIuL3JvdXRlLXJlZ2V4XCIpO1xuZnVuY3Rpb24gaW50ZXJwb2xhdGVBcyhyb3V0ZSwgYXNQYXRobmFtZSwgcXVlcnkpIHtcbiAgICBsZXQgaW50ZXJwb2xhdGVkUm91dGUgPSBcIlwiO1xuICAgIGNvbnN0IGR5bmFtaWNSZWdleCA9ICgwLCBfcm91dGVyZWdleC5nZXRSb3V0ZVJlZ2V4KShyb3V0ZSk7XG4gICAgY29uc3QgZHluYW1pY0dyb3VwcyA9IGR5bmFtaWNSZWdleC5ncm91cHM7XG4gICAgY29uc3QgZHluYW1pY01hdGNoZXMgPSAvLyBUcnkgdG8gbWF0Y2ggdGhlIGR5bmFtaWMgcm91dGUgYWdhaW5zdCB0aGUgYXNQYXRoXG4gICAgKGFzUGF0aG5hbWUgIT09IHJvdXRlID8gKDAsIF9yb3V0ZW1hdGNoZXIuZ2V0Um91dGVNYXRjaGVyKShkeW5hbWljUmVnZXgpKGFzUGF0aG5hbWUpIDogXCJcIikgfHwgLy8gRmFsbCBiYWNrIHRvIHJlYWRpbmcgdGhlIHZhbHVlcyBmcm9tIHRoZSBocmVmXG4gICAgLy8gVE9ETzogc2hvdWxkIHRoaXMgdGFrZSBwcmlvcml0eTsgYWxzbyBuZWVkIHRvIGNoYW5nZSBpbiB0aGUgcm91dGVyLlxuICAgIHF1ZXJ5O1xuICAgIGludGVycG9sYXRlZFJvdXRlID0gcm91dGU7XG4gICAgY29uc3QgcGFyYW1zID0gT2JqZWN0LmtleXMoZHluYW1pY0dyb3Vwcyk7XG4gICAgaWYgKCFwYXJhbXMuZXZlcnkoKHBhcmFtKT0+e1xuICAgICAgICBsZXQgdmFsdWUgPSBkeW5hbWljTWF0Y2hlc1twYXJhbV0gfHwgXCJcIjtcbiAgICAgICAgY29uc3QgeyByZXBlYXQsIG9wdGlvbmFsIH0gPSBkeW5hbWljR3JvdXBzW3BhcmFtXTtcbiAgICAgICAgLy8gc3VwcG9ydCBzaW5nbGUtbGV2ZWwgY2F0Y2gtYWxsXG4gICAgICAgIC8vIFRPRE86IG1vcmUgcm9idXN0IGhhbmRsaW5nIGZvciB1c2VyLWVycm9yIChwYXNzaW5nIGAvYClcbiAgICAgICAgbGV0IHJlcGxhY2VkID0gXCJbXCIgKyAocmVwZWF0ID8gXCIuLi5cIiA6IFwiXCIpICsgcGFyYW0gKyBcIl1cIjtcbiAgICAgICAgaWYgKG9wdGlvbmFsKSB7XG4gICAgICAgICAgICByZXBsYWNlZCA9ICghdmFsdWUgPyBcIi9cIiA6IFwiXCIpICsgXCJbXCIgKyByZXBsYWNlZCArIFwiXVwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXBlYXQgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpKSB2YWx1ZSA9IFtcbiAgICAgICAgICAgIHZhbHVlXG4gICAgICAgIF07XG4gICAgICAgIHJldHVybiAob3B0aW9uYWwgfHwgcGFyYW0gaW4gZHluYW1pY01hdGNoZXMpICYmIC8vIEludGVycG9sYXRlIGdyb3VwIGludG8gZGF0YSBVUkwgaWYgcHJlc2VudFxuICAgICAgICAoaW50ZXJwb2xhdGVkUm91dGUgPSBpbnRlcnBvbGF0ZWRSb3V0ZS5yZXBsYWNlKHJlcGxhY2VkLCByZXBlYXQgPyB2YWx1ZS5tYXAoLy8gdGhlc2UgdmFsdWVzIHNob3VsZCBiZSBmdWxseSBlbmNvZGVkIGluc3RlYWQgb2YganVzdFxuICAgICAgICAvLyBwYXRoIGRlbGltaXRlciBlc2NhcGVkIHNpbmNlIHRoZXkgYXJlIGJlaW5nIGluc2VydGVkXG4gICAgICAgIC8vIGludG8gdGhlIFVSTCBhbmQgd2UgZXhwZWN0IFVSTCBlbmNvZGVkIHNlZ21lbnRzXG4gICAgICAgIC8vIHdoZW4gcGFyc2luZyBkeW5hbWljIHJvdXRlIHBhcmFtc1xuICAgICAgICAoc2VnbWVudCk9PmVuY29kZVVSSUNvbXBvbmVudChzZWdtZW50KSkuam9pbihcIi9cIikgOiBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpKSB8fCBcIi9cIik7XG4gICAgfSkpIHtcbiAgICAgICAgaW50ZXJwb2xhdGVkUm91dGUgPSBcIlwiIC8vIGRpZCBub3Qgc2F0aXNmeSBhbGwgcmVxdWlyZW1lbnRzXG4gICAgICAgIDtcbiAgICAvLyBuLmIuIFdlIGlnbm9yZSB0aGlzIGVycm9yIGJlY2F1c2Ugd2UgaGFuZGxlIHdhcm5pbmcgZm9yIHRoaXMgY2FzZSBpblxuICAgIC8vIGRldmVsb3BtZW50IGluIHRoZSBgPExpbms+YCBjb21wb25lbnQgZGlyZWN0bHkuXG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgcmVzdWx0OiBpbnRlcnBvbGF0ZWRSb3V0ZVxuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWludGVycG9sYXRlLWFzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJpbnRlcnBvbGF0ZUFzIiwiX3JvdXRlbWF0Y2hlciIsInJlcXVpcmUiLCJfcm91dGVyZWdleCIsInJvdXRlIiwiYXNQYXRobmFtZSIsInF1ZXJ5IiwiaW50ZXJwb2xhdGVkUm91dGUiLCJkeW5hbWljUmVnZXgiLCJnZXRSb3V0ZVJlZ2V4IiwiZHluYW1pY0dyb3VwcyIsImdyb3VwcyIsImR5bmFtaWNNYXRjaGVzIiwiZ2V0Um91dGVNYXRjaGVyIiwicGFyYW1zIiwia2V5cyIsImV2ZXJ5IiwicGFyYW0iLCJyZXBlYXQiLCJvcHRpb25hbCIsInJlcGxhY2VkIiwiQXJyYXkiLCJpc0FycmF5IiwicmVwbGFjZSIsIm1hcCIsInNlZ21lbnQiLCJlbmNvZGVVUklDb21wb25lbnQiLCJqb2luIiwicmVzdWx0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js": /*!******************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/is-bot.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isBot\", ({\n enumerable: true,\n get: function() {\n return isBot;\n }\n}));\nfunction isBot(userAgent) {\n return /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(userAgent);\n} //# sourceMappingURL=is-bot.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgseUNBQXdDO0lBQ3BDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0EsTUFBTUMsU0FBUztJQUNwQixPQUFPLG9WQUFvVkMsSUFBSSxDQUFDRDtBQUNwVyxFQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtYm90LmpzPzA3MTUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0JvdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNCb3Q7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBpc0JvdCh1c2VyQWdlbnQpIHtcbiAgICByZXR1cm4gL0dvb2dsZWJvdHxNZWRpYXBhcnRuZXJzLUdvb2dsZXxBZHNCb3QtR29vZ2xlfGdvb2dsZXdlYmxpZ2h0fFN0b3JlYm90LUdvb2dsZXxHb29nbGUtUGFnZVJlbmRlcmVyfEJpbmdib3R8QmluZ1ByZXZpZXd8U2x1cnB8RHVja0R1Y2tCb3R8YmFpZHVzcGlkZXJ8eWFuZGV4fHNvZ291fExpbmtlZEluQm90fGJpdGx5Ym90fHR1bWJscnx2a1NoYXJlfHF1b3JhIGxpbmsgcHJldmlld3xmYWNlYm9va2V4dGVybmFsaGl0fGZhY2Vib29rY2F0YWxvZ3xUd2l0dGVyYm90fGFwcGxlYm90fHJlZGRpdGJvdHxTbGFja2JvdHxEaXNjb3JkYm90fFdoYXRzQXBwfFNreXBlVXJpUHJldmlld3xpYV9hcmNoaXZlci9pLnRlc3QodXNlckFnZW50KTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXMtYm90LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJpc0JvdCIsInVzZXJBZ2VudCIsInRlc3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWR5bmFtaWMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGtEQUFpRDtJQUM3Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHNCQUFzQkMsbUJBQU9BLENBQUMsMElBQXVEO0FBQzNGLHFDQUFxQztBQUNyQyxNQUFNQyxhQUFhO0FBQ25CLFNBQVNILGVBQWVJLEtBQUs7SUFDekIsSUFBSSxDQUFDLEdBQUdILG9CQUFvQkksMEJBQTBCLEVBQUVELFFBQVE7UUFDNURBLFFBQVEsQ0FBQyxHQUFHSCxvQkFBb0JLLG1DQUFtQyxFQUFFRixPQUFPRyxnQkFBZ0I7SUFDaEc7SUFDQSxPQUFPSixXQUFXSyxJQUFJLENBQUNKO0FBQzNCLEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1keW5hbWljLmpzPzQ2ZjkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0R5bmFtaWNSb3V0ZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNEeW5hbWljUm91dGU7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJjZXB0aW9ucm91dGVzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzXCIpO1xuLy8gSWRlbnRpZnkgL1twYXJhbV0vIGluIHJvdXRlIHN0cmluZ1xuY29uc3QgVEVTVF9ST1VURSA9IC9cXC9cXFtbXi9dKz9cXF0oPz1cXC98JCkvO1xuZnVuY3Rpb24gaXNEeW5hbWljUm91dGUocm91dGUpIHtcbiAgICBpZiAoKDAsIF9pbnRlcmNlcHRpb25yb3V0ZXMuaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgpKHJvdXRlKSkge1xuICAgICAgICByb3V0ZSA9ICgwLCBfaW50ZXJjZXB0aW9ucm91dGVzLmV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uKShyb3V0ZSkuaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICB9XG4gICAgcmV0dXJuIFRFU1RfUk9VVEUudGVzdChyb3V0ZSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWR5bmFtaWMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImlzRHluYW1pY1JvdXRlIiwiX2ludGVyY2VwdGlvbnJvdXRlcyIsInJlcXVpcmUiLCJURVNUX1JPVVRFIiwicm91dGUiLCJpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aCIsImV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uIiwiaW50ZXJjZXB0ZWRSb3V0ZSIsInRlc3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/is-local-url.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isLocalURL\", ({\n enumerable: true,\n get: function() {\n return isLocalURL;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(ssr)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../../client/has-base-path */ \"(ssr)/./node_modules/next/dist/client/has-base-path.js\");\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (!(0, _utils.isAbsoluteUrl)(url)) return true;\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils.getLocationOrigin)();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname);\n } catch (_) {\n return false;\n }\n} //# sourceMappingURL=is-local-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWxvY2FsLXVybC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsOENBQTZDO0lBQ3pDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsU0FBU0MsbUJBQU9BLENBQUMsdUVBQWE7QUFDcEMsTUFBTUMsZUFBZUQsbUJBQU9BLENBQUMsZ0dBQWtDO0FBQy9ELFNBQVNGLFdBQVdJLEdBQUc7SUFDbkIsZ0VBQWdFO0lBQ2hFLElBQUksQ0FBQyxDQUFDLEdBQUdILE9BQU9JLGFBQWEsRUFBRUQsTUFBTSxPQUFPO0lBQzVDLElBQUk7UUFDQSw0REFBNEQ7UUFDNUQsTUFBTUUsaUJBQWlCLENBQUMsR0FBR0wsT0FBT00saUJBQWlCO1FBQ25ELE1BQU1DLFdBQVcsSUFBSUMsSUFBSUwsS0FBS0U7UUFDOUIsT0FBT0UsU0FBU0UsTUFBTSxLQUFLSixrQkFBa0IsQ0FBQyxHQUFHSCxhQUFhUSxXQUFXLEVBQUVILFNBQVNJLFFBQVE7SUFDaEcsRUFBRSxPQUFPQyxHQUFHO1FBQ1IsT0FBTztJQUNYO0FBQ0osRUFFQSx3Q0FBd0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWxvY2FsLXVybC5qcz81ZDI4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaXNMb2NhbFVSTFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNMb2NhbFVSTDtcbiAgICB9XG59KTtcbmNvbnN0IF91dGlscyA9IHJlcXVpcmUoXCIuLi8uLi91dGlsc1wiKTtcbmNvbnN0IF9oYXNiYXNlcGF0aCA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9jbGllbnQvaGFzLWJhc2UtcGF0aFwiKTtcbmZ1bmN0aW9uIGlzTG9jYWxVUkwodXJsKSB7XG4gICAgLy8gcHJldmVudCBhIGh5ZHJhdGlvbiBtaXNtYXRjaCBvbiBocmVmIGZvciB1cmwgd2l0aCBhbmNob3IgcmVmc1xuICAgIGlmICghKDAsIF91dGlscy5pc0Fic29sdXRlVXJsKSh1cmwpKSByZXR1cm4gdHJ1ZTtcbiAgICB0cnkge1xuICAgICAgICAvLyBhYnNvbHV0ZSB1cmxzIGNhbiBiZSBsb2NhbCBpZiB0aGV5IGFyZSBvbiB0aGUgc2FtZSBvcmlnaW5cbiAgICAgICAgY29uc3QgbG9jYXRpb25PcmlnaW4gPSAoMCwgX3V0aWxzLmdldExvY2F0aW9uT3JpZ2luKSgpO1xuICAgICAgICBjb25zdCByZXNvbHZlZCA9IG5ldyBVUkwodXJsLCBsb2NhdGlvbk9yaWdpbik7XG4gICAgICAgIHJldHVybiByZXNvbHZlZC5vcmlnaW4gPT09IGxvY2F0aW9uT3JpZ2luICYmICgwLCBfaGFzYmFzZXBhdGguaGFzQmFzZVBhdGgpKHJlc29sdmVkLnBhdGhuYW1lKTtcbiAgICB9IGNhdGNoIChfKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWxvY2FsLXVybC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaXNMb2NhbFVSTCIsIl91dGlscyIsInJlcXVpcmUiLCJfaGFzYmFzZXBhdGgiLCJ1cmwiLCJpc0Fic29sdXRlVXJsIiwibG9jYXRpb25PcmlnaW4iLCJnZXRMb2NhdGlvbk9yaWdpbiIsInJlc29sdmVkIiwiVVJMIiwib3JpZ2luIiwiaGFzQmFzZVBhdGgiLCJwYXRobmFtZSIsIl8iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/omit.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/omit.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"omit\", ({\n enumerable: true,\n get: function() {\n return omit;\n }\n}));\nfunction omit(object, keys) {\n const omitted = {};\n Object.keys(object).forEach((key)=>{\n if (!keys.includes(key)) {\n omitted[key] = object[key];\n }\n });\n return omitted;\n} //# sourceMappingURL=omit.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL29taXQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHdDQUF1QztJQUNuQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLEtBQUtDLE1BQU0sRUFBRUMsSUFBSTtJQUN0QixNQUFNQyxVQUFVLENBQUM7SUFDakJULE9BQU9RLElBQUksQ0FBQ0QsUUFBUUcsT0FBTyxDQUFDLENBQUNDO1FBQ3pCLElBQUksQ0FBQ0gsS0FBS0ksUUFBUSxDQUFDRCxNQUFNO1lBQ3JCRixPQUFPLENBQUNFLElBQUksR0FBR0osTUFBTSxDQUFDSSxJQUFJO1FBQzlCO0lBQ0o7SUFDQSxPQUFPRjtBQUNYLEVBRUEsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9vbWl0LmpzP2ZiNzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJvbWl0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBvbWl0O1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gb21pdChvYmplY3QsIGtleXMpIHtcbiAgICBjb25zdCBvbWl0dGVkID0ge307XG4gICAgT2JqZWN0LmtleXMob2JqZWN0KS5mb3JFYWNoKChrZXkpPT57XG4gICAgICAgIGlmICgha2V5cy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICBvbWl0dGVkW2tleV0gPSBvYmplY3Rba2V5XTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBvbWl0dGVkO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1vbWl0LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJvbWl0Iiwib2JqZWN0Iiwia2V5cyIsIm9taXR0ZWQiLCJmb3JFYWNoIiwia2V5IiwiaW5jbHVkZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/omit.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/parse-path.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Given a path this function will find the pathname, query and hash and return\n * them. This is useful to parse full paths on the client side.\n * @param path A path to parse e.g. /foo/bar?id=1#hash\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parsePath\", ({\n enumerable: true,\n get: function() {\n return parsePath;\n }\n}));\nfunction parsePath(path) {\n const hashIndex = path.indexOf(\"#\");\n const queryIndex = path.indexOf(\"?\");\n const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex);\n if (hasQuery || hashIndex > -1) {\n return {\n pathname: path.substring(0, hasQuery ? queryIndex : hashIndex),\n query: hasQuery ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined) : \"\",\n hash: hashIndex > -1 ? path.slice(hashIndex) : \"\"\n };\n }\n return {\n pathname: path,\n query: \"\",\n hash: \"\"\n };\n} //# sourceMappingURL=parse-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Q0FJQyxHQUFnQjtBQUNqQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDZDQUE0QztJQUN4Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLFVBQVVDLElBQUk7SUFDbkIsTUFBTUMsWUFBWUQsS0FBS0UsT0FBTyxDQUFDO0lBQy9CLE1BQU1DLGFBQWFILEtBQUtFLE9BQU8sQ0FBQztJQUNoQyxNQUFNRSxXQUFXRCxhQUFhLENBQUMsS0FBTUYsQ0FBQUEsWUFBWSxLQUFLRSxhQUFhRixTQUFRO0lBQzNFLElBQUlHLFlBQVlILFlBQVksQ0FBQyxHQUFHO1FBQzVCLE9BQU87WUFDSEksVUFBVUwsS0FBS00sU0FBUyxDQUFDLEdBQUdGLFdBQVdELGFBQWFGO1lBQ3BETSxPQUFPSCxXQUFXSixLQUFLTSxTQUFTLENBQUNILFlBQVlGLFlBQVksQ0FBQyxJQUFJQSxZQUFZTyxhQUFhO1lBQ3ZGQyxNQUFNUixZQUFZLENBQUMsSUFBSUQsS0FBS1UsS0FBSyxDQUFDVCxhQUFhO1FBQ25EO0lBQ0o7SUFDQSxPQUFPO1FBQ0hJLFVBQVVMO1FBQ1ZPLE9BQU87UUFDUEUsTUFBTTtJQUNWO0FBQ0osRUFFQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXBhdGguanM/ZTUyYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdpdmVuIGEgcGF0aCB0aGlzIGZ1bmN0aW9uIHdpbGwgZmluZCB0aGUgcGF0aG5hbWUsIHF1ZXJ5IGFuZCBoYXNoIGFuZCByZXR1cm5cbiAqIHRoZW0uIFRoaXMgaXMgdXNlZnVsIHRvIHBhcnNlIGZ1bGwgcGF0aHMgb24gdGhlIGNsaWVudCBzaWRlLlxuICogQHBhcmFtIHBhdGggQSBwYXRoIHRvIHBhcnNlIGUuZy4gL2Zvby9iYXI/aWQ9MSNoYXNoXG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXJzZVBhdGhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlUGF0aDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIHBhcnNlUGF0aChwYXRoKSB7XG4gICAgY29uc3QgaGFzaEluZGV4ID0gcGF0aC5pbmRleE9mKFwiI1wiKTtcbiAgICBjb25zdCBxdWVyeUluZGV4ID0gcGF0aC5pbmRleE9mKFwiP1wiKTtcbiAgICBjb25zdCBoYXNRdWVyeSA9IHF1ZXJ5SW5kZXggPiAtMSAmJiAoaGFzaEluZGV4IDwgMCB8fCBxdWVyeUluZGV4IDwgaGFzaEluZGV4KTtcbiAgICBpZiAoaGFzUXVlcnkgfHwgaGFzaEluZGV4ID4gLTEpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHBhdGhuYW1lOiBwYXRoLnN1YnN0cmluZygwLCBoYXNRdWVyeSA/IHF1ZXJ5SW5kZXggOiBoYXNoSW5kZXgpLFxuICAgICAgICAgICAgcXVlcnk6IGhhc1F1ZXJ5ID8gcGF0aC5zdWJzdHJpbmcocXVlcnlJbmRleCwgaGFzaEluZGV4ID4gLTEgPyBoYXNoSW5kZXggOiB1bmRlZmluZWQpIDogXCJcIixcbiAgICAgICAgICAgIGhhc2g6IGhhc2hJbmRleCA+IC0xID8gcGF0aC5zbGljZShoYXNoSW5kZXgpIDogXCJcIlxuICAgICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBwYXRobmFtZTogcGF0aCxcbiAgICAgICAgcXVlcnk6IFwiXCIsXG4gICAgICAgIGhhc2g6IFwiXCJcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXJzZS1wYXRoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJwYXJzZVBhdGgiLCJwYXRoIiwiaGFzaEluZGV4IiwiaW5kZXhPZiIsInF1ZXJ5SW5kZXgiLCJoYXNRdWVyeSIsInBhdGhuYW1lIiwic3Vic3RyaW5nIiwicXVlcnkiLCJ1bmRlZmluZWQiLCJoYXNoIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js": /*!***************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"pathHasPrefix\", ({\n enumerable: true,\n get: function() {\n return pathHasPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction pathHasPrefix(path, prefix) {\n if (typeof path !== \"string\") {\n return false;\n }\n const { pathname } = (0, _parsepath.parsePath)(path);\n return pathname === prefix || pathname.startsWith(prefix + \"/\");\n} //# sourceMappingURL=path-has-prefix.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsYUFBYUMsbUJBQU9BLENBQUMsMEZBQWM7QUFDekMsU0FBU0YsY0FBY0csSUFBSSxFQUFFQyxNQUFNO0lBQy9CLElBQUksT0FBT0QsU0FBUyxVQUFVO1FBQzFCLE9BQU87SUFDWDtJQUNBLE1BQU0sRUFBRUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxHQUFHSixXQUFXSyxTQUFTLEVBQUVIO0lBQy9DLE9BQU9FLGFBQWFELFVBQVVDLFNBQVNFLFVBQVUsQ0FBQ0gsU0FBUztBQUMvRCxFQUVBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGF0aC1oYXMtcHJlZml4LmpzP2I1MzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXRoSGFzUHJlZml4XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwYXRoSGFzUHJlZml4O1xuICAgIH1cbn0pO1xuY29uc3QgX3BhcnNlcGF0aCA9IHJlcXVpcmUoXCIuL3BhcnNlLXBhdGhcIik7XG5mdW5jdGlvbiBwYXRoSGFzUHJlZml4KHBhdGgsIHByZWZpeCkge1xuICAgIGlmICh0eXBlb2YgcGF0aCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IHsgcGF0aG5hbWUgfSA9ICgwLCBfcGFyc2VwYXRoLnBhcnNlUGF0aCkocGF0aCk7XG4gICAgcmV0dXJuIHBhdGhuYW1lID09PSBwcmVmaXggfHwgcGF0aG5hbWUuc3RhcnRzV2l0aChwcmVmaXggKyBcIi9cIik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhdGgtaGFzLXByZWZpeC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicGF0aEhhc1ByZWZpeCIsIl9wYXJzZXBhdGgiLCJyZXF1aXJlIiwicGF0aCIsInByZWZpeCIsInBhdGhuYW1lIiwicGFyc2VQYXRoIiwic3RhcnRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/querystring.js": /*!***********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/querystring.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n },\n assign: function() {\n return assign;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n searchParams.forEach((value, key)=>{\n if (typeof query[key] === \"undefined\") {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [\n query[key],\n value\n ];\n }\n });\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === \"string\" || typeof param === \"number\" && !isNaN(param) || typeof param === \"boolean\") {\n return String(param);\n } else {\n return \"\";\n }\n}\nfunction urlQueryToSearchParams(urlQuery) {\n const result = new URLSearchParams();\n Object.entries(urlQuery).forEach((param)=>{\n let [key, value] = param;\n if (Array.isArray(value)) {\n value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\nfunction assign(target) {\n for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n searchParamsList[_key - 1] = arguments[_key];\n }\n searchParamsList.forEach((searchParams)=>{\n Array.from(searchParams.keys()).forEach((key)=>target.delete(key));\n searchParams.forEach((value, key)=>target.append(key, value));\n });\n return target;\n} //# sourceMappingURL=querystring.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtJQUNBQyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7SUFDWDtBQUNKO0FBQ0EsU0FBU0YsdUJBQXVCUyxZQUFZO0lBQ3hDLE1BQU1DLFFBQVEsQ0FBQztJQUNmRCxhQUFhRSxPQUFPLENBQUMsQ0FBQ2IsT0FBT2M7UUFDekIsSUFBSSxPQUFPRixLQUFLLENBQUNFLElBQUksS0FBSyxhQUFhO1lBQ25DRixLQUFLLENBQUNFLElBQUksR0FBR2Q7UUFDakIsT0FBTyxJQUFJZSxNQUFNQyxPQUFPLENBQUNKLEtBQUssQ0FBQ0UsSUFBSSxHQUFHO1lBQ2xDRixLQUFLLENBQUNFLElBQUksQ0FBQ0csSUFBSSxDQUFDakI7UUFDcEIsT0FBTztZQUNIWSxLQUFLLENBQUNFLElBQUksR0FBRztnQkFDVEYsS0FBSyxDQUFDRSxJQUFJO2dCQUNWZDthQUNIO1FBQ0w7SUFDSjtJQUNBLE9BQU9ZO0FBQ1g7QUFDQSxTQUFTTSx1QkFBdUJDLEtBQUs7SUFDakMsSUFBSSxPQUFPQSxVQUFVLFlBQVksT0FBT0EsVUFBVSxZQUFZLENBQUNDLE1BQU1ELFVBQVUsT0FBT0EsVUFBVSxXQUFXO1FBQ3ZHLE9BQU9FLE9BQU9GO0lBQ2xCLE9BQU87UUFDSCxPQUFPO0lBQ1g7QUFDSjtBQUNBLFNBQVNoQix1QkFBdUJtQixRQUFRO0lBQ3BDLE1BQU1DLFNBQVMsSUFBSUM7SUFDbkIzQixPQUFPNEIsT0FBTyxDQUFDSCxVQUFVVCxPQUFPLENBQUMsQ0FBQ007UUFDOUIsSUFBSSxDQUFDTCxLQUFLZCxNQUFNLEdBQUdtQjtRQUNuQixJQUFJSixNQUFNQyxPQUFPLENBQUNoQixRQUFRO1lBQ3RCQSxNQUFNYSxPQUFPLENBQUMsQ0FBQ2EsT0FBT0gsT0FBT0ksTUFBTSxDQUFDYixLQUFLSSx1QkFBdUJRO1FBQ3BFLE9BQU87WUFDSEgsT0FBT0ssR0FBRyxDQUFDZCxLQUFLSSx1QkFBdUJsQjtRQUMzQztJQUNKO0lBQ0EsT0FBT3VCO0FBQ1g7QUFDQSxTQUFTbkIsT0FBT0UsTUFBTTtJQUNsQixJQUFJLElBQUl1QixPQUFPQyxVQUFVQyxNQUFNLEVBQUVDLG1CQUFtQixJQUFJakIsTUFBTWMsT0FBTyxJQUFJQSxPQUFPLElBQUksSUFBSUksT0FBTyxHQUFHQSxPQUFPSixNQUFNSSxPQUFPO1FBQ2xIRCxnQkFBZ0IsQ0FBQ0MsT0FBTyxFQUFFLEdBQUdILFNBQVMsQ0FBQ0csS0FBSztJQUNoRDtJQUNBRCxpQkFBaUJuQixPQUFPLENBQUMsQ0FBQ0Y7UUFDdEJJLE1BQU1tQixJQUFJLENBQUN2QixhQUFhd0IsSUFBSSxJQUFJdEIsT0FBTyxDQUFDLENBQUNDLE1BQU1SLE9BQU84QixNQUFNLENBQUN0QjtRQUM3REgsYUFBYUUsT0FBTyxDQUFDLENBQUNiLE9BQU9jLE1BQU1SLE9BQU9xQixNQUFNLENBQUNiLEtBQUtkO0lBQzFEO0lBQ0EsT0FBT007QUFDWCxFQUVBLHVDQUF1QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcXVlcnlzdHJpbmcuanM/MDE0OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHNlYXJjaFBhcmFtc1RvVXJsUXVlcnk6IG51bGwsXG4gICAgdXJsUXVlcnlUb1NlYXJjaFBhcmFtczogbnVsbCxcbiAgICBhc3NpZ246IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgc2VhcmNoUGFyYW1zVG9VcmxRdWVyeTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5O1xuICAgIH0sXG4gICAgdXJsUXVlcnlUb1NlYXJjaFBhcmFtczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1cmxRdWVyeVRvU2VhcmNoUGFyYW1zO1xuICAgIH0sXG4gICAgYXNzaWduOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFzc2lnbjtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIHNlYXJjaFBhcmFtc1RvVXJsUXVlcnkoc2VhcmNoUGFyYW1zKSB7XG4gICAgY29uc3QgcXVlcnkgPSB7fTtcbiAgICBzZWFyY2hQYXJhbXMuZm9yRWFjaCgodmFsdWUsIGtleSk9PntcbiAgICAgICAgaWYgKHR5cGVvZiBxdWVyeVtrZXldID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICBxdWVyeVtrZXldID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShxdWVyeVtrZXldKSkge1xuICAgICAgICAgICAgcXVlcnlba2V5XS5wdXNoKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHF1ZXJ5W2tleV0gPSBbXG4gICAgICAgICAgICAgICAgcXVlcnlba2V5XSxcbiAgICAgICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBxdWVyeTtcbn1cbmZ1bmN0aW9uIHN0cmluZ2lmeVVybFF1ZXJ5UGFyYW0ocGFyYW0pIHtcbiAgICBpZiAodHlwZW9mIHBhcmFtID09PSBcInN0cmluZ1wiIHx8IHR5cGVvZiBwYXJhbSA9PT0gXCJudW1iZXJcIiAmJiAhaXNOYU4ocGFyYW0pIHx8IHR5cGVvZiBwYXJhbSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyhwYXJhbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxufVxuZnVuY3Rpb24gdXJsUXVlcnlUb1NlYXJjaFBhcmFtcyh1cmxRdWVyeSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICBPYmplY3QuZW50cmllcyh1cmxRdWVyeSkuZm9yRWFjaCgocGFyYW0pPT57XG4gICAgICAgIGxldCBba2V5LCB2YWx1ZV0gPSBwYXJhbTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKChpdGVtKT0+cmVzdWx0LmFwcGVuZChrZXksIHN0cmluZ2lmeVVybFF1ZXJ5UGFyYW0oaXRlbSkpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdC5zZXQoa2V5LCBzdHJpbmdpZnlVcmxRdWVyeVBhcmFtKHZhbHVlKSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gYXNzaWduKHRhcmdldCkge1xuICAgIGZvcih2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIHNlYXJjaFBhcmFtc0xpc3QgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKyl7XG4gICAgICAgIHNlYXJjaFBhcmFtc0xpc3RbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgIH1cbiAgICBzZWFyY2hQYXJhbXNMaXN0LmZvckVhY2goKHNlYXJjaFBhcmFtcyk9PntcbiAgICAgICAgQXJyYXkuZnJvbShzZWFyY2hQYXJhbXMua2V5cygpKS5mb3JFYWNoKChrZXkpPT50YXJnZXQuZGVsZXRlKGtleSkpO1xuICAgICAgICBzZWFyY2hQYXJhbXMuZm9yRWFjaCgodmFsdWUsIGtleSk9PnRhcmdldC5hcHBlbmQoa2V5LCB2YWx1ZSkpO1xuICAgIH0pO1xuICAgIHJldHVybiB0YXJnZXQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXF1ZXJ5c3RyaW5nLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsInNlYXJjaFBhcmFtc1RvVXJsUXVlcnkiLCJ1cmxRdWVyeVRvU2VhcmNoUGFyYW1zIiwiYXNzaWduIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic2VhcmNoUGFyYW1zIiwicXVlcnkiLCJmb3JFYWNoIiwia2V5IiwiQXJyYXkiLCJpc0FycmF5IiwicHVzaCIsInN0cmluZ2lmeVVybFF1ZXJ5UGFyYW0iLCJwYXJhbSIsImlzTmFOIiwiU3RyaW5nIiwidXJsUXVlcnkiLCJyZXN1bHQiLCJVUkxTZWFyY2hQYXJhbXMiLCJlbnRyaWVzIiwiaXRlbSIsImFwcGVuZCIsInNldCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzZWFyY2hQYXJhbXNMaXN0IiwiX2tleSIsImZyb20iLCJrZXlzIiwiZGVsZXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js": /*!*********************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js ***! \*********************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Removes the trailing slash for a given route or page path. Preserves the\n * root page. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n * - `/` -> `/`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return removeTrailingSlash;\n }\n}));\nfunction removeTrailingSlash(route) {\n return route.replace(/\\/$/, \"\") || \"/\";\n} //# sourceMappingURL=remove-trailing-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUMsR0FBZ0I7QUFDakJBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx1REFBc0Q7SUFDbERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSxvQkFBb0JDLEtBQUs7SUFDOUIsT0FBT0EsTUFBTUMsT0FBTyxDQUFDLE9BQU8sT0FBTztBQUN2QyxFQUVBLGlEQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcmVtb3ZlLXRyYWlsaW5nLXNsYXNoLmpzP2VjMDYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZW1vdmVzIHRoZSB0cmFpbGluZyBzbGFzaCBmb3IgYSBnaXZlbiByb3V0ZSBvciBwYWdlIHBhdGguIFByZXNlcnZlcyB0aGVcbiAqIHJvb3QgcGFnZS4gRXhhbXBsZXM6XG4gKiAgIC0gYC9mb28vYmFyL2AgLT4gYC9mb28vYmFyYFxuICogICAtIGAvZm9vL2JhcmAgLT4gYC9mb28vYmFyYFxuICogICAtIGAvYCAtPiBgL2BcbiAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInJlbW92ZVRyYWlsaW5nU2xhc2hcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlbW92ZVRyYWlsaW5nU2xhc2g7XG4gICAgfVxufSk7XG5mdW5jdGlvbiByZW1vdmVUcmFpbGluZ1NsYXNoKHJvdXRlKSB7XG4gICAgcmV0dXJuIHJvdXRlLnJlcGxhY2UoL1xcLyQvLCBcIlwiKSB8fCBcIi9cIjtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVtb3ZlLXRyYWlsaW5nLXNsYXNoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJyZW1vdmVUcmFpbGluZ1NsYXNoIiwicm91dGUiLCJyZXBsYWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/route-matcher.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getRouteMatcher\", ({\n enumerable: true,\n get: function() {\n return getRouteMatcher;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(ssr)/./node_modules/next/dist/shared/lib/utils.js\");\nfunction getRouteMatcher(param) {\n let { re, groups } = param;\n return (pathname)=>{\n const routeMatch = re.exec(pathname);\n if (!routeMatch) {\n return false;\n }\n const decode = (param)=>{\n try {\n return decodeURIComponent(param);\n } catch (_) {\n throw new _utils.DecodeError(\"failed to decode param\");\n }\n };\n const params = {};\n Object.keys(groups).forEach((slugName)=>{\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n if (m !== undefined) {\n params[slugName] = ~m.indexOf(\"/\") ? m.split(\"/\").map((entry)=>decode(entry)) : g.repeat ? [\n decode(m)\n ] : decode(m);\n }\n });\n return params;\n };\n} //# sourceMappingURL=route-matcher.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLW1hdGNoZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG1EQUFrRDtJQUM5Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLFNBQVNDLG1CQUFPQSxDQUFDLHVFQUFhO0FBQ3BDLFNBQVNGLGdCQUFnQkcsS0FBSztJQUMxQixJQUFJLEVBQUVDLEVBQUUsRUFBRUMsTUFBTSxFQUFFLEdBQUdGO0lBQ3JCLE9BQU8sQ0FBQ0c7UUFDSixNQUFNQyxhQUFhSCxHQUFHSSxJQUFJLENBQUNGO1FBQzNCLElBQUksQ0FBQ0MsWUFBWTtZQUNiLE9BQU87UUFDWDtRQUNBLE1BQU1FLFNBQVMsQ0FBQ047WUFDWixJQUFJO2dCQUNBLE9BQU9PLG1CQUFtQlA7WUFDOUIsRUFBRSxPQUFPUSxHQUFHO2dCQUNSLE1BQU0sSUFBSVYsT0FBT1csV0FBVyxDQUFDO1lBQ2pDO1FBQ0o7UUFDQSxNQUFNQyxTQUFTLENBQUM7UUFDaEJuQixPQUFPb0IsSUFBSSxDQUFDVCxRQUFRVSxPQUFPLENBQUMsQ0FBQ0M7WUFDekIsTUFBTUMsSUFBSVosTUFBTSxDQUFDVyxTQUFTO1lBQzFCLE1BQU1FLElBQUlYLFVBQVUsQ0FBQ1UsRUFBRUUsR0FBRyxDQUFDO1lBQzNCLElBQUlELE1BQU1FLFdBQVc7Z0JBQ2pCUCxNQUFNLENBQUNHLFNBQVMsR0FBRyxDQUFDRSxFQUFFRyxPQUFPLENBQUMsT0FBT0gsRUFBRUksS0FBSyxDQUFDLEtBQUtDLEdBQUcsQ0FBQyxDQUFDQyxRQUFRZixPQUFPZSxVQUFVUCxFQUFFUSxNQUFNLEdBQUc7b0JBQ3ZGaEIsT0FBT1M7aUJBQ1YsR0FBR1QsT0FBT1M7WUFDZjtRQUNKO1FBQ0EsT0FBT0w7SUFDWDtBQUNKLEVBRUEseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1tYXRjaGVyLmpzP2M4NmMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRSb3V0ZU1hdGNoZXJcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFJvdXRlTWF0Y2hlcjtcbiAgICB9XG59KTtcbmNvbnN0IF91dGlscyA9IHJlcXVpcmUoXCIuLi8uLi91dGlsc1wiKTtcbmZ1bmN0aW9uIGdldFJvdXRlTWF0Y2hlcihwYXJhbSkge1xuICAgIGxldCB7IHJlLCBncm91cHMgfSA9IHBhcmFtO1xuICAgIHJldHVybiAocGF0aG5hbWUpPT57XG4gICAgICAgIGNvbnN0IHJvdXRlTWF0Y2ggPSByZS5leGVjKHBhdGhuYW1lKTtcbiAgICAgICAgaWYgKCFyb3V0ZU1hdGNoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGVjb2RlID0gKHBhcmFtKT0+e1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHBhcmFtKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKF8pIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgX3V0aWxzLkRlY29kZUVycm9yKFwiZmFpbGVkIHRvIGRlY29kZSBwYXJhbVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgICAgIE9iamVjdC5rZXlzKGdyb3VwcykuZm9yRWFjaCgoc2x1Z05hbWUpPT57XG4gICAgICAgICAgICBjb25zdCBnID0gZ3JvdXBzW3NsdWdOYW1lXTtcbiAgICAgICAgICAgIGNvbnN0IG0gPSByb3V0ZU1hdGNoW2cucG9zXTtcbiAgICAgICAgICAgIGlmIChtICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXNbc2x1Z05hbWVdID0gfm0uaW5kZXhPZihcIi9cIikgPyBtLnNwbGl0KFwiL1wiKS5tYXAoKGVudHJ5KT0+ZGVjb2RlKGVudHJ5KSkgOiBnLnJlcGVhdCA/IFtcbiAgICAgICAgICAgICAgICAgICAgZGVjb2RlKG0pXG4gICAgICAgICAgICAgICAgXSA6IGRlY29kZShtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cm91dGUtbWF0Y2hlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZ2V0Um91dGVNYXRjaGVyIiwiX3V0aWxzIiwicmVxdWlyZSIsInBhcmFtIiwicmUiLCJncm91cHMiLCJwYXRobmFtZSIsInJvdXRlTWF0Y2giLCJleGVjIiwiZGVjb2RlIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiXyIsIkRlY29kZUVycm9yIiwicGFyYW1zIiwia2V5cyIsImZvckVhY2giLCJzbHVnTmFtZSIsImciLCJtIiwicG9zIiwidW5kZWZpbmVkIiwiaW5kZXhPZiIsInNwbGl0IiwibWFwIiwiZW50cnkiLCJyZXBlYXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js": /*!***********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/route-regex.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getRouteRegex: function() {\n return getRouteRegex;\n },\n getNamedRouteRegex: function() {\n return getNamedRouteRegex;\n },\n getNamedMiddlewareRegex: function() {\n return getNamedMiddlewareRegex;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"(ssr)/./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route. Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n */ function parseParameter(param) {\n const optional = param.startsWith(\"[\") && param.endsWith(\"]\");\n if (optional) {\n param = param.slice(1, -1);\n }\n const repeat = param.startsWith(\"...\");\n if (repeat) {\n param = param.slice(3);\n }\n return {\n key: param,\n repeat,\n optional\n };\n}\nfunction getParametrizedRoute(route) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const groups = {};\n let groupIndex = 1;\n return {\n parameterizedRoute: segments.map((segment)=>{\n const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (markerMatch && paramMatches) {\n const { key, optional, repeat } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + \"([^/]+?)\";\n } else if (paramMatches) {\n const { key, repeat, optional } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return repeat ? optional ? \"(?:/(.+?))?\" : \"/(.+?)\" : \"/([^/]+?)\";\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n groups\n };\n}\nfunction getRouteRegex(normalizedRoute) {\n const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);\n return {\n re: new RegExp(\"^\" + parameterizedRoute + \"(?:/)?$\"),\n groups: groups\n };\n}\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */ function buildGetSafeRouteKey() {\n let i = 0;\n return ()=>{\n let routeKey = \"\";\n let j = ++i;\n while(j > 0){\n routeKey += String.fromCharCode(97 + (j - 1) % 26);\n j = Math.floor((j - 1) / 26);\n }\n return routeKey;\n };\n}\nfunction getSafeKeyFromSegment(param) {\n let { interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix } = param;\n const { key, optional, repeat } = parseParameter(segment);\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, \"\");\n if (keyPrefix) {\n cleanedKey = \"\" + keyPrefix + cleanedKey;\n }\n let invalidKey = false;\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true;\n }\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n if (keyPrefix) {\n routeKeys[cleanedKey] = \"\" + keyPrefix + key;\n } else {\n routeKeys[cleanedKey] = key;\n }\n // if the segment has an interception marker, make sure that's part of the regex pattern\n // this is to ensure that the route with the interception marker doesn't incorrectly match\n // the non-intercepted route (ie /app/(.)[username] should not match /app/[username])\n const interceptionPrefix = interceptionMarker ? (0, _escaperegexp.escapeStringRegexp)(interceptionMarker) : \"\";\n return repeat ? optional ? \"(?:/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?))?\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?)\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">[^/]+?)\";\n}\nfunction getNamedParametrizedRoute(route, prefixRouteKeys) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const getSafeRouteKey = buildGetSafeRouteKey();\n const routeKeys = {};\n return {\n namedParameterizedRoute: segments.map((segment)=>{\n const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (hasInterceptionMarker && paramMatches) {\n const [usedMarker] = segment.split(paramMatches[0]);\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n interceptionMarker: usedMarker,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n });\n } else if (paramMatches) {\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n });\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n routeKeys\n };\n}\nfunction getNamedRouteRegex(normalizedRoute, prefixRouteKey) {\n const result = getNamedParametrizedRoute(normalizedRoute, prefixRouteKey);\n return {\n ...getRouteRegex(normalizedRoute),\n namedRegex: \"^\" + result.namedParameterizedRoute + \"(?:/)?$\",\n routeKeys: result.routeKeys\n };\n}\nfunction getNamedMiddlewareRegex(normalizedRoute, options) {\n const { parameterizedRoute } = getParametrizedRoute(normalizedRoute);\n const { catchAll = true } = options;\n if (parameterizedRoute === \"/\") {\n let catchAllRegex = catchAll ? \".*\" : \"\";\n return {\n namedRegex: \"^/\" + catchAllRegex + \"$\"\n };\n }\n const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false);\n let catchAllGroupedRegex = catchAll ? \"(?:(/.*)?)\" : \"\";\n return {\n namedRegex: \"^\" + namedParameterizedRoute + catchAllGroupedRegex + \"$\"\n };\n} //# sourceMappingURL=route-regex.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLXJlZ2V4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyxlQUFlO1FBQ1gsT0FBT0E7SUFDWDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyx5QkFBeUI7UUFDckIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sc0JBQXNCQyxtQkFBT0EsQ0FBQywwSUFBdUQ7QUFDM0YsTUFBTUMsZ0JBQWdCRCxtQkFBT0EsQ0FBQyx1RkFBcUI7QUFDbkQsTUFBTUUsdUJBQXVCRixtQkFBT0EsQ0FBQyxnSEFBeUI7QUFDOUQsTUFBTUcsMEJBQTBCO0FBQ2hDLE1BQU1DLGtDQUFrQztBQUN4Qzs7Ozs7OztDQU9DLEdBQUcsU0FBU0MsZUFBZUMsS0FBSztJQUM3QixNQUFNQyxXQUFXRCxNQUFNRSxVQUFVLENBQUMsUUFBUUYsTUFBTUcsUUFBUSxDQUFDO0lBQ3pELElBQUlGLFVBQVU7UUFDVkQsUUFBUUEsTUFBTUksS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM1QjtJQUNBLE1BQU1DLFNBQVNMLE1BQU1FLFVBQVUsQ0FBQztJQUNoQyxJQUFJRyxRQUFRO1FBQ1JMLFFBQVFBLE1BQU1JLEtBQUssQ0FBQztJQUN4QjtJQUNBLE9BQU87UUFDSEUsS0FBS047UUFDTEs7UUFDQUo7SUFDSjtBQUNKO0FBQ0EsU0FBU00scUJBQXFCQyxLQUFLO0lBQy9CLE1BQU1DLFdBQVcs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QU8sTUFBTSxDQUFDLEdBQUc1RCxjQUFjNkIsa0JBQWtCLEVBQUVSO1lBQ3ZEO1FBQ0osR0FBR1MsSUFBSSxDQUFDO1FBQ1JlO0lBQ0o7QUFDSjtBQUNBLFNBQVN2RCxtQkFBbUJ5QyxlQUFlLEVBQUU4QixjQUFjO0lBQ3ZELE1BQU1DLFNBQVNSLDBCQUEwQnZCLGlCQUFpQjhCO0lBQzFELE9BQU87UUFDSCxHQUFHeEUsY0FBYzBDLGdCQUFnQjtRQUNqQ2dDLFlBQVksTUFBTUQsT0FBT04sdUJBQXVCLEdBQUc7UUFDbkRYLFdBQVdpQixPQUFPakIsU0FBUztJQUMvQjtBQUNKO0FBQ0EsU0FBU3RELHdCQUF3QndDLGVBQWUsRUFBRWlDLE9BQU87SUFDckQsTUFBTSxFQUFFN0Msa0JBQWtCLEVBQUUsR0FBR1AscUJBQXFCbUI7SUFDcEQsTUFBTSxFQUFFa0MsV0FBVyxJQUFJLEVBQUUsR0FBR0Q7SUFDNUIsSUFBSTdDLHVCQUF1QixLQUFLO1FBQzVCLElBQUkrQyxnQkFBZ0JELFdBQVcsT0FBTztRQUN0QyxPQUFPO1lBQ0hGLFlBQVksT0FBT0csZ0JBQWdCO1FBQ3ZDO0lBQ0o7SUFDQSxNQUFNLEVBQUVWLHVCQUF1QixFQUFFLEdBQUdGLDBCQUEwQnZCLGlCQUFpQjtJQUMvRSxJQUFJb0MsdUJBQXVCRixXQUFXLGVBQWU7SUFDckQsT0FBTztRQUNIRixZQUFZLE1BQU1QLDBCQUEwQlcsdUJBQXVCO0lBQ3ZFO0FBQ0osRUFFQSx1Q0FBdUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLXJlZ2V4LmpzP2VhYzIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBnZXRSb3V0ZVJlZ2V4OiBudWxsLFxuICAgIGdldE5hbWVkUm91dGVSZWdleDogbnVsbCxcbiAgICBnZXROYW1lZE1pZGRsZXdhcmVSZWdleDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBnZXRSb3V0ZVJlZ2V4OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFJvdXRlUmVnZXg7XG4gICAgfSxcbiAgICBnZXROYW1lZFJvdXRlUmVnZXg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0TmFtZWRSb3V0ZVJlZ2V4O1xuICAgIH0sXG4gICAgZ2V0TmFtZWRNaWRkbGV3YXJlUmVnZXg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0TmFtZWRNaWRkbGV3YXJlUmVnZXg7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJjZXB0aW9ucm91dGVzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzXCIpO1xuY29uc3QgX2VzY2FwZXJlZ2V4cCA9IHJlcXVpcmUoXCIuLi8uLi9lc2NhcGUtcmVnZXhwXCIpO1xuY29uc3QgX3JlbW92ZXRyYWlsaW5nc2xhc2ggPSByZXF1aXJlKFwiLi9yZW1vdmUtdHJhaWxpbmctc2xhc2hcIik7XG5jb25zdCBORVhUX1FVRVJZX1BBUkFNX1BSRUZJWCA9IFwibnh0UFwiO1xuY29uc3QgTkVYVF9JTlRFUkNFUFRJT05fTUFSS0VSX1BSRUZJWCA9IFwibnh0SVwiO1xuLyoqXG4gKiBQYXJzZXMgYSBnaXZlbiBwYXJhbWV0ZXIgZnJvbSBhIHJvdXRlIHRvIGEgZGF0YSBzdHJ1Y3R1cmUgdGhhdCBjYW4gYmUgdXNlZFxuICogdG8gZ2VuZXJhdGUgdGhlIHBhcmFtZXRyaXplZCByb3V0ZS4gRXhhbXBsZXM6XG4gKiAgIC0gYFsuLi5zbHVnXWAgLT4gYHsga2V5OiAnc2x1ZycsIHJlcGVhdDogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfWBcbiAqICAgLSBgLi4uc2x1Z2AgLT4gYHsga2V5OiAnc2x1ZycsIHJlcGVhdDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlIH1gXG4gKiAgIC0gYFtmb29dYCAtPiBgeyBrZXk6ICdmb28nLCByZXBlYXQ6IGZhbHNlLCBvcHRpb25hbDogdHJ1ZSB9YFxuICogICAtIGBiYXJgIC0+IGB7IGtleTogJ2JhcicsIHJlcGVhdDogZmFsc2UsIG9wdGlvbmFsOiBmYWxzZSB9YFxuICovIGZ1bmN0aW9uIHBhcnNlUGFyYW1ldGVyKHBhcmFtKSB7XG4gICAgY29uc3Qgb3B0aW9uYWwgPSBwYXJhbS5zdGFydHNXaXRoKFwiW1wiKSAmJiBwYXJhbS5lbmRzV2l0aChcIl1cIik7XG4gICAgaWYgKG9wdGlvbmFsKSB7XG4gICAgICAgIHBhcmFtID0gcGFyYW0uc2xpY2UoMSwgLTEpO1xuICAgIH1cbiAgICBjb25zdCByZXBlYXQgPSBwYXJhbS5zdGFydHNXaXRoKFwiLi4uXCIpO1xuICAgIGlmIChyZXBlYXQpIHtcbiAgICAgICAgcGFyYW0gPSBwYXJhbS5zbGljZSgzKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAga2V5OiBwYXJhbSxcbiAgICAgICAgcmVwZWF0LFxuICAgICAgICBvcHRpb25hbFxuICAgIH07XG59XG5mdW5jdGlvbiBnZXRQYXJhbWV0cml6ZWRSb3V0ZShyb3V0ZSkge1xuICAgIGNvbnN0IHNlZ21lbnRzID0gKDAsIF9yZW1vdmV0cmFpbGluZ3NsYXNoLnJlbW92ZVRyYWlsaW5nU2xhc2gpKHJvdXRlKS5zbGljZSgxKS5zcGxpdChcIi9cIik7XG4gICAgY29uc3QgZ3JvdXBzID0ge307XG4gICAgbGV0IGdyb3VwSW5kZXggPSAxO1xuICAgIHJldHVybiB7XG4gICAgICAgIHBhcmFtZXRlcml6ZWRSb3V0ZTogc2VnbWVudHMubWFwKChzZWdtZW50KT0+e1xuICAgICAgICAgICAgY29uc3QgbWFya2VyTWF0Y2ggPSBfaW50ZXJjZXB0aW9ucm91dGVzLklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTLmZpbmQoKG0pPT5zZWdtZW50LnN0YXJ0c1dpdGgobSkpO1xuICAgICAgICAgICAgY29uc3QgcGFyYW1NYXRjaGVzID0gc2VnbWVudC5tYXRjaCgvXFxbKCg/OlxcWy4qXFxdKXwuKylcXF0vKSAvLyBDaGVjayBmb3IgcGFyYW1ldGVyc1xuICAgICAgICAgICAgO1xuICAgICAgICAgICAgaWYgKG1hcmtlck1hdGNoICYmIHBhcmFtTWF0Y2hlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsga2V5LCBvcHRpb25hbCwgcmVwZWF0IH0gPSBwYXJzZVBhcmFtZXRlcihwYXJhbU1hdGNoZXNbMV0pO1xuICAgICAgICAgICAgICAgIGdyb3Vwc1trZXldID0ge1xuICAgICAgICAgICAgICAgICAgICBwb3M6IGdyb3VwSW5kZXgrKyxcbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0LFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25hbFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiL1wiICsgKDAsIF9lc2NhcGVyZWdleHAuZXNjYXBlU3RyaW5nUmVnZXhwKShtYXJrZXJNYXRjaCkgKyBcIihbXi9dKz8pXCI7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBhcmFtTWF0Y2hlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsga2V5LCByZXBlYXQsIG9wdGlvbmFsIH0gPSBwYXJzZVBhcmFtZXRlcihwYXJhbU1hdGNoZXNbMV0pO1xuICAgICAgICAgICAgICAgIGdyb3Vwc1trZXldID0ge1xuICAgICAgICAgICAgICAgICAgICBwb3M6IGdyb3VwSW5kZXgrKyxcbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0LFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25hbFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcGVhdCA/IG9wdGlvbmFsID8gXCIoPzovKC4rPykpP1wiIDogXCIvKC4rPylcIiA6IFwiLyhbXi9dKz8pXCI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBcIi9cIiArICgwLCBfZXNjYXBlcmVnZXhwLmVzY2FwZVN0cmluZ1JlZ2V4cCkoc2VnbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLmpvaW4oXCJcIiksXG4gICAgICAgIGdyb3Vwc1xuICAgIH07XG59XG5mdW5jdGlvbiBnZXRSb3V0ZVJlZ2V4KG5vcm1hbGl6ZWRSb3V0ZSkge1xuICAgIGNvbnN0IHsgcGFyYW1ldGVyaXplZFJvdXRlLCBncm91cHMgfSA9IGdldFBhcmFtZXRyaXplZFJvdXRlKG5vcm1hbGl6ZWRSb3V0ZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmU6IG5ldyBSZWdFeHAoXCJeXCIgKyBwYXJhbWV0ZXJpemVkUm91dGUgKyBcIig/Oi8pPyRcIiksXG4gICAgICAgIGdyb3VwczogZ3JvdXBzXG4gICAgfTtcbn1cbi8qKlxuICogQnVpbGRzIGEgZnVuY3Rpb24gdG8gZ2VuZXJhdGUgYSBtaW5pbWFsIHJvdXRlS2V5IHVzaW5nIG9ubHkgYS16IGFuZCBtaW5pbWFsXG4gKiBudW1iZXIgb2YgY2hhcmFjdGVycy5cbiAqLyBmdW5jdGlvbiBidWlsZEdldFNhZmVSb3V0ZUtleSgpIHtcbiAgICBsZXQgaSA9IDA7XG4gICAgcmV0dXJuICgpPT57XG4gICAgICAgIGxldCByb3V0ZUtleSA9IFwiXCI7XG4gICAgICAgIGxldCBqID0gKytpO1xuICAgICAgICB3aGlsZShqID4gMCl7XG4gICAgICAgICAgICByb3V0ZUtleSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDk3ICsgKGogLSAxKSAlIDI2KTtcbiAgICAgICAgICAgIGogPSBNYXRoLmZsb29yKChqIC0gMSkgLyAyNik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvdXRlS2V5O1xuICAgIH07XG59XG5mdW5jdGlvbiBnZXRTYWZlS2V5RnJvbVNlZ21lbnQocGFyYW0pIHtcbiAgICBsZXQgeyBpbnRlcmNlcHRpb25NYXJrZXIsIGdldFNhZmVSb3V0ZUtleSwgc2VnbWVudCwgcm91dGVLZXlzLCBrZXlQcmVmaXggfSA9IHBhcmFtO1xuICAgIGNvbnN0IHsga2V5LCBvcHRpb25hbCwgcmVwZWF0IH0gPSBwYXJzZVBhcmFtZXRlcihzZWdtZW50KTtcbiAgICAvLyByZXBsYWNlIGFueSBub24td29yZCBjaGFyYWN0ZXJzIHNpbmNlIHRoZXkgY2FuIGJyZWFrXG4gICAgLy8gdGhlIG5hbWVkIHJlZ2V4XG4gICAgbGV0IGNsZWFuZWRLZXkgPSBrZXkucmVwbGFjZSgvXFxXL2csIFwiXCIpO1xuICAgIGlmIChrZXlQcmVmaXgpIHtcbiAgICAgICAgY2xlYW5lZEtleSA9IFwiXCIgKyBrZXlQcmVmaXggKyBjbGVhbmVkS2V5O1xuICAgIH1cbiAgICBsZXQgaW52YWxpZEtleSA9IGZhbHNlO1xuICAgIC8vIGNoZWNrIGlmIHRoZSBrZXkgaXMgc3RpbGwgaW52YWxpZCBhbmQgZmFsbGJhY2sgdG8gdXNpbmcgYSBrbm93blxuICAgIC8vIHNhZmUga2V5XG4gICAgaWYgKGNsZWFuZWRLZXkubGVuZ3RoID09PSAwIHx8IGNsZWFuZWRLZXkubGVuZ3RoID4gMzApIHtcbiAgICAgICAgaW52YWxpZEtleSA9IHRydWU7XG4gICAgfVxuICAgIGlmICghaXNOYU4ocGFyc2VJbnQoY2xlYW5lZEtleS5zbGljZSgwLCAxKSkpKSB7XG4gICAgICAgIGludmFsaWRLZXkgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoaW52YWxpZEtleSkge1xuICAgICAgICBjbGVhbmVkS2V5ID0gZ2V0U2FmZVJvdXRlS2V5KCk7XG4gICAgfVxuICAgIGlmIChrZXlQcmVmaXgpIHtcbiAgICAgICAgcm91dGVLZXlzW2NsZWFuZWRLZXldID0gXCJcIiArIGtleVByZWZpeCArIGtleTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByb3V0ZUtleXNbY2xlYW5lZEtleV0gPSBrZXk7XG4gICAgfVxuICAgIC8vIGlmIHRoZSBzZWdtZW50IGhhcyBhbiBpbnRlcmNlcHRpb24gbWFya2VyLCBtYWtlIHN1cmUgdGhhdCdzIHBhcnQgb2YgdGhlIHJlZ2V4IHBhdHRlcm5cbiAgICAvLyB0aGlzIGlzIHRvIGVuc3VyZSB0aGF0IHRoZSByb3V0ZSB3aXRoIHRoZSBpbnRlcmNlcHRpb24gbWFya2VyIGRvZXNuJ3QgaW5jb3JyZWN0bHkgbWF0Y2hcbiAgICAvLyB0aGUgbm9uLWludGVyY2VwdGVkIHJvdXRlIChpZSAvYXBwLyguKVt1c2VybmFtZV0gc2hvdWxkIG5vdCBtYXRjaCAvYXBwL1t1c2VybmFtZV0pXG4gICAgY29uc3QgaW50ZXJjZXB0aW9uUHJlZml4ID0gaW50ZXJjZXB0aW9uTWFya2VyID8gKDAsIF9lc2NhcGVyZWdleHAuZXNjYXBlU3RyaW5nUmVnZXhwKShpbnRlcmNlcHRpb25NYXJrZXIpIDogXCJcIjtcbiAgICByZXR1cm4gcmVwZWF0ID8gb3B0aW9uYWwgPyBcIig/Oi9cIiArIGludGVyY2VwdGlvblByZWZpeCArIFwiKD88XCIgKyBjbGVhbmVkS2V5ICsgXCI+Lis/KSk/XCIgOiBcIi9cIiArIGludGVyY2VwdGlvblByZWZpeCArIFwiKD88XCIgKyBjbGVhbmVkS2V5ICsgXCI+Lis/KVwiIDogXCIvXCIgKyBpbnRlcmNlcHRpb25QcmVmaXggKyBcIig/PFwiICsgY2xlYW5lZEtleSArIFwiPlteL10rPylcIjtcbn1cbmZ1bmN0aW9uIGdldE5hbWVkUGFyYW1ldHJpemVkUm91dGUocm91dGUsIHByZWZpeFJvdXRlS2V5cykge1xuICAgIGNvbnN0IHNlZ21lbnRzID0gKDAsIF9yZW1vdmV0cmFpbGluZ3NsYXNoLnJlbW92ZVRyYWlsaW5nU2xhc2gpKHJvdXRlKS5zbGljZSgxKS5zcGxpdChcIi9cIik7XG4gICAgY29uc3QgZ2V0U2FmZVJvdXRlS2V5ID0gYnVpbGRHZXRTYWZlUm91dGVLZXkoKTtcbiAgICBjb25zdCByb3V0ZUtleXMgPSB7fTtcbiAgICByZXR1cm4ge1xuICAgICAgICBuYW1lZFBhcmFtZXRlcml6ZWRSb3V0ZTogc2VnbWVudHMubWFwKChzZWdtZW50KT0+e1xuICAgICAgICAgICAgY29uc3QgaGFzSW50ZXJjZXB0aW9uTWFya2VyID0gX2ludGVyY2VwdGlvbnJvdXRlcy5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5zb21lKChtKT0+c2VnbWVudC5zdGFydHNXaXRoKG0pKTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtTWF0Y2hlcyA9IHNlZ21lbnQubWF0Y2goL1xcWygoPzpcXFsuKlxcXSl8LispXFxdLykgLy8gQ2hlY2sgZm9yIHBhcmFtZXRlcnNcbiAgICAgICAgICAgIDtcbiAgICAgICAgICAgIGlmIChoYXNJbnRlcmNlcHRpb25NYXJrZXIgJiYgcGFyYW1NYXRjaGVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgW3VzZWRNYXJrZXJdID0gc2VnbWVudC5zcGxpdChwYXJhbU1hdGNoZXNbMF0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXRTYWZlS2V5RnJvbVNlZ21lbnQoe1xuICAgICAgICAgICAgICAgICAgICBnZXRTYWZlUm91dGVLZXksXG4gICAgICAgICAgICAgICAgICAgIGludGVyY2VwdGlvbk1hcmtlcjogdXNlZE1hcmtlcixcbiAgICAgICAgICAgICAgICAgICAgc2VnbWVudDogcGFyYW1NYXRjaGVzWzFdLFxuICAgICAgICAgICAgICAgICAgICByb3V0ZUtleXMsXG4gICAgICAgICAgICAgICAgICAgIGtleVByZWZpeDogcHJlZml4Um91dGVLZXlzID8gTkVYVF9JTlRFUkNFUFRJT05fTUFSS0VSX1BSRUZJWCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwYXJhbU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0U2FmZUtleUZyb21TZWdtZW50KHtcbiAgICAgICAgICAgICAgICAgICAgZ2V0U2FmZVJvdXRlS2V5LFxuICAgICAgICAgICAgICAgICAgICBzZWdtZW50OiBwYXJhbU1hdGNoZXNbMV0sXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlS2V5cyxcbiAgICAgICAgICAgICAgICAgICAga2V5UHJlZml4OiBwcmVmaXhSb3V0ZUtleXMgPyBORVhUX1FVRVJZX1BBUkFNX1BSRUZJWCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gXCIvXCIgKyAoMCwgX2VzY2FwZXJlZ2V4cC5lc2NhcGVTdHJpbmdSZWdleHApKHNlZ21lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KS5qb2luKFwiXCIpLFxuICAgICAgICByb3V0ZUtleXNcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0TmFtZWRSb3V0ZVJlZ2V4KG5vcm1hbGl6ZWRSb3V0ZSwgcHJlZml4Um91dGVLZXkpIHtcbiAgICBjb25zdCByZXN1bHQgPSBnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlKG5vcm1hbGl6ZWRSb3V0ZSwgcHJlZml4Um91dGVLZXkpO1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmdldFJvdXRlUmVnZXgobm9ybWFsaXplZFJvdXRlKSxcbiAgICAgICAgbmFtZWRSZWdleDogXCJeXCIgKyByZXN1bHQubmFtZWRQYXJhbWV0ZXJpemVkUm91dGUgKyBcIig/Oi8pPyRcIixcbiAgICAgICAgcm91dGVLZXlzOiByZXN1bHQucm91dGVLZXlzXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGdldE5hbWVkTWlkZGxld2FyZVJlZ2V4KG5vcm1hbGl6ZWRSb3V0ZSwgb3B0aW9ucykge1xuICAgIGNvbnN0IHsgcGFyYW1ldGVyaXplZFJvdXRlIH0gPSBnZXRQYXJhbWV0cml6ZWRSb3V0ZShub3JtYWxpemVkUm91dGUpO1xuICAgIGNvbnN0IHsgY2F0Y2hBbGwgPSB0cnVlIH0gPSBvcHRpb25zO1xuICAgIGlmIChwYXJhbWV0ZXJpemVkUm91dGUgPT09IFwiL1wiKSB7XG4gICAgICAgIGxldCBjYXRjaEFsbFJlZ2V4ID0gY2F0Y2hBbGwgPyBcIi4qXCIgOiBcIlwiO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmFtZWRSZWdleDogXCJeL1wiICsgY2F0Y2hBbGxSZWdleCArIFwiJFwiXG4gICAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IHsgbmFtZWRQYXJhbWV0ZXJpemVkUm91dGUgfSA9IGdldE5hbWVkUGFyYW1ldHJpemVkUm91dGUobm9ybWFsaXplZFJvdXRlLCBmYWxzZSk7XG4gICAgbGV0IGNhdGNoQWxsR3JvdXBlZFJlZ2V4ID0gY2F0Y2hBbGwgPyBcIig/OigvLiopPylcIiA6IFwiXCI7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZWRSZWdleDogXCJeXCIgKyBuYW1lZFBhcmFtZXRlcml6ZWRSb3V0ZSArIGNhdGNoQWxsR3JvdXBlZFJlZ2V4ICsgXCIkXCJcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yb3V0ZS1yZWdleC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJnZXRSb3V0ZVJlZ2V4IiwiZ2V0TmFtZWRSb3V0ZVJlZ2V4IiwiZ2V0TmFtZWRNaWRkbGV3YXJlUmVnZXgiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfaW50ZXJjZXB0aW9ucm91dGVzIiwicmVxdWlyZSIsIl9lc2NhcGVyZWdleHAiLCJfcmVtb3ZldHJhaWxpbmdzbGFzaCIsIk5FWFRfUVVFUllfUEFSQU1fUFJFRklYIiwiTkVYVF9JTlRFUkNFUFRJT05fTUFSS0VSX1BSRUZJWCIsInBhcnNlUGFyYW1ldGVyIiwicGFyYW0iLCJvcHRpb25hbCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNsaWNlIiwicmVwZWF0Iiwia2V5IiwiZ2V0UGFyYW1ldHJpemVkUm91dGUiLCJyb3V0ZSIsInNlZ21lbnRzIiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInNwbGl0IiwiZ3JvdXBzIiwiZ3JvdXBJbmRleCIsInBhcmFtZXRlcml6ZWRSb3V0ZSIsIm1hcCIsInNlZ21lbnQiLCJtYXJrZXJNYXRjaCIsIklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTIiwiZmluZCIsIm0iLCJwYXJhbU1hdGNoZXMiLCJtYXRjaCIsInBvcyIsImVzY2FwZVN0cmluZ1JlZ2V4cCIsImpvaW4iLCJub3JtYWxpemVkUm91dGUiLCJyZSIsIlJlZ0V4cCIsImJ1aWxkR2V0U2FmZVJvdXRlS2V5IiwiaSIsInJvdXRlS2V5IiwiaiIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsIk1hdGgiLCJmbG9vciIsImdldFNhZmVLZXlGcm9tU2VnbWVudCIsImludGVyY2VwdGlvbk1hcmtlciIsImdldFNhZmVSb3V0ZUtleSIsInJvdXRlS2V5cyIsImtleVByZWZpeCIsImNsZWFuZWRLZXkiLCJyZXBsYWNlIiwiaW52YWxpZEtleSIsImxlbmd0aCIsImlzTmFOIiwicGFyc2VJbnQiLCJpbnRlcmNlcHRpb25QcmVmaXgiLCJnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlIiwicHJlZml4Um91dGVLZXlzIiwibmFtZWRQYXJhbWV0ZXJpemVkUm91dGUiLCJoYXNJbnRlcmNlcHRpb25NYXJrZXIiLCJzb21lIiwidXNlZE1hcmtlciIsInVuZGVmaW5lZCIsInByZWZpeFJvdXRlS2V5IiwicmVzdWx0IiwibmFtZWRSZWdleCIsIm9wdGlvbnMiLCJjYXRjaEFsbCIsImNhdGNoQWxsUmVnZXgiLCJjYXRjaEFsbEdyb3VwZWRSZWdleCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3NvcnRlZC1yb3V0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG1EQUFrRDtJQUM5Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DO0lBQ0ZDLE9BQU9DLE9BQU8sRUFBRTtRQUNaLElBQUksQ0FBQ0MsT0FBTyxDQUFDRCxRQUFRRSxLQUFLLENBQUMsS0FBS0MsTUFBTSxDQUFDQyxVQUFVLEVBQUUsRUFBRTtJQUN6RDtJQUNBQyxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUNDLE9BQU87SUFDdkI7SUFDQUEsUUFBUUMsTUFBTSxFQUFFO1FBQ1osSUFBSUEsV0FBVyxLQUFLLEdBQUdBLFNBQVM7UUFDaEMsTUFBTUMsZ0JBQWdCO2VBQ2YsSUFBSSxDQUFDQyxRQUFRLENBQUNDLElBQUk7U0FDeEIsQ0FBQ0MsSUFBSTtRQUNOLElBQUksSUFBSSxDQUFDQyxRQUFRLEtBQUssTUFBTTtZQUN4QkosY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsT0FBTztRQUN0RDtRQUNBLElBQUksSUFBSSxDQUFDQyxZQUFZLEtBQUssTUFBTTtZQUM1QlAsY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsVUFBVTtRQUN6RDtRQUNBLElBQUksSUFBSSxDQUFDRSxvQkFBb0IsS0FBSyxNQUFNO1lBQ3BDUixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxZQUFZO1FBQzNEO1FBQ0EsTUFBTUcsU0FBU1QsY0FBY1UsR0FBRyxDQUFDLENBQUNDLElBQUksSUFBSSxDQUFDVixRQUFRLENBQUNiLEdBQUcsQ0FBQ3VCLEdBQUdiLE9BQU8sQ0FBQyxLQUFLQyxTQUFTWSxJQUFJLE1BQU1DLE1BQU0sQ0FBQyxDQUFDQyxNQUFNQyxP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QUksQ0FBQyxJQUFJLENBQUN4QixRQUFRLENBQUNvQyxHQUFHLENBQUNaLGNBQWM7WUFDakMsSUFBSSxDQUFDeEIsUUFBUSxDQUFDcUMsR0FBRyxDQUFDYixhQUFhLElBQUluQztRQUN2QztRQUNBLElBQUksQ0FBQ1csUUFBUSxDQUFDYixHQUFHLENBQUNxQyxhQUFhaEMsT0FBTyxDQUFDNEIsU0FBU0gsS0FBSyxDQUFDLElBQUlJLFdBQVdDO0lBQ3pFO0lBQ0FnQixhQUFhO1FBQ1QsSUFBSSxDQUFDdkIsV0FBVyxHQUFHO1FBQ25CLElBQUksQ0FBQ2YsUUFBUSxHQUFHLElBQUl1QztRQUNwQixJQUFJLENBQUNwQyxRQUFRLEdBQUc7UUFDaEIsSUFBSSxDQUFDRyxZQUFZLEdBQUc7UUFDcEIsSUFBSSxDQUFDQyxvQkFBb0IsR0FBRztJQUNoQztBQUNKO0FBQ0EsU0FBU25CLGdCQUFnQm9ELGVBQWU7SUFDcEMsa0ZBQWtGO0lBQ2xGLDRFQUE0RTtJQUM1RSwyQ0FBMkM7SUFDM0MseUVBQXlFO0lBQ3pFLDJCQUEyQjtJQUMzQixvQ0FBb0M7SUFDcEMsOEVBQThFO0lBQzlFLHdFQUF3RTtJQUN4RSxnSEFBZ0g7SUFDaEgsNEVBQTRFO0lBQzVFLE1BQU1DLE9BQU8sSUFBSXBEO0lBQ2pCLDZGQUE2RjtJQUM3Rm1ELGdCQUFnQlAsT0FBTyxDQUFDLENBQUNTLFdBQVdELEtBQUtuRCxNQUFNLENBQUNvRDtJQUNoRCw0R0FBNEc7SUFDNUcsT0FBT0QsS0FBSzdDLE1BQU07QUFDdEIsRUFFQSx5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3NvcnRlZC1yb3V0ZXMuanM/MmY3OCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldFNvcnRlZFJvdXRlc1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0U29ydGVkUm91dGVzO1xuICAgIH1cbn0pO1xuY2xhc3MgVXJsTm9kZSB7XG4gICAgaW5zZXJ0KHVybFBhdGgpIHtcbiAgICAgICAgdGhpcy5faW5zZXJ0KHVybFBhdGguc3BsaXQoXCIvXCIpLmZpbHRlcihCb29sZWFuKSwgW10sIGZhbHNlKTtcbiAgICB9XG4gICAgc21vb3NoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc21vb3NoKCk7XG4gICAgfVxuICAgIF9zbW9vc2gocHJlZml4KSB7XG4gICAgICAgIGlmIChwcmVmaXggPT09IHZvaWQgMCkgcHJlZml4ID0gXCIvXCI7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuUGF0aHMgPSBbXG4gICAgICAgICAgICAuLi50aGlzLmNoaWxkcmVuLmtleXMoKVxuICAgICAgICBdLnNvcnQoKTtcbiAgICAgICAgaWYgKHRoaXMuc2x1Z05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuUGF0aHMuc3BsaWNlKGNoaWxkcmVuUGF0aHMuaW5kZXhPZihcIltdXCIpLCAxKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yZXN0U2x1Z05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuUGF0aHMuc3BsaWNlKGNoaWxkcmVuUGF0aHMuaW5kZXhPZihcIlsuLi5dXCIpLCAxKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY2hpbGRyZW5QYXRocy5zcGxpY2UoY2hpbGRyZW5QYXRocy5pbmRleE9mKFwiW1suLi5dXVwiKSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgcm91dGVzID0gY2hpbGRyZW5QYXRocy5tYXAoKGMpPT50aGlzLmNoaWxkcmVuLmdldChjKS5fc21vb3NoKFwiXCIgKyBwcmVmaXggKyBjICsgXCIvXCIpKS5yZWR1Y2UoKHByZXYsIGN1cnIpPT5bXG4gICAgICAgICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICAgICAgICAuLi5jdXJyXG4gICAgICAgICAgICBdLCBbXSk7XG4gICAgICAgIGlmICh0aGlzLnNsdWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICByb3V0ZXMucHVzaCguLi50aGlzLmNoaWxkcmVuLmdldChcIltdXCIpLl9zbW9vc2gocHJlZml4ICsgXCJbXCIgKyB0aGlzLnNsdWdOYW1lICsgXCJdL1wiKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLnBsYWNlaG9sZGVyKSB7XG4gICAgICAgICAgICBjb25zdCByID0gcHJlZml4ID09PSBcIi9cIiA/IFwiL1wiIDogcHJlZml4LnNsaWNlKDAsIC0xKTtcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3QgZGVmaW5lIGEgcm91dGUgd2l0aCB0aGUgc2FtZSBzcGVjaWZpY2l0eSBhcyBhIG9wdGlvbmFsIGNhdGNoLWFsbCByb3V0ZSAoXCInICsgciArICdcIiBhbmQgXCInICsgciArIFwiW1suLi5cIiArIHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgKyAnXV1cIikuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb3V0ZXMudW5zaGlmdChyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yZXN0U2x1Z05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJvdXRlcy5wdXNoKC4uLnRoaXMuY2hpbGRyZW4uZ2V0KFwiWy4uLl1cIikuX3Ntb29zaChwcmVmaXggKyBcIlsuLi5cIiArIHRoaXMucmVzdFNsdWdOYW1lICsgXCJdL1wiKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJvdXRlcy5wdXNoKC4uLnRoaXMuY2hpbGRyZW4uZ2V0KFwiW1suLi5dXVwiKS5fc21vb3NoKHByZWZpeCArIFwiW1suLi5cIiArIHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgKyBcIl1dL1wiKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvdXRlcztcbiAgICB9XG4gICAgX2luc2VydCh1cmxQYXRocywgc2x1Z05hbWVzLCBpc0NhdGNoQWxsKSB7XG4gICAgICAgIGlmICh1cmxQYXRocy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNDYXRjaEFsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2F0Y2gtYWxsIG11c3QgYmUgdGhlIGxhc3QgcGFydCBvZiB0aGUgVVJMLlwiKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUaGUgbmV4dCBzZWdtZW50IGluIHRoZSB1cmxQYXRocyBsaXN0XG4gICAgICAgIGxldCBuZXh0U2VnbWVudCA9IHVybFBhdGhzWzBdO1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgc2VnbWVudCBtYXRjaGVzIGBbc29tZXRoaW5nXWBcbiAgICAgICAgaWYgKG5leHRTZWdtZW50LnN0YXJ0c1dpdGgoXCJbXCIpICYmIG5leHRTZWdtZW50LmVuZHNXaXRoKFwiXVwiKSkge1xuICAgICAgICAgICAgLy8gU3RyaXAgYFtgIGFuZCBgXWAsIGxlYXZpbmcgb25seSBgc29tZXRoaW5nYFxuICAgICAgICAgICAgbGV0IHNlZ21lbnROYW1lID0gbmV4dFNlZ21lbnQuc2xpY2UoMSwgLTEpO1xuICAgICAgICAgICAgbGV0IGlzT3B0aW9uYWwgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChzZWdtZW50TmFtZS5zdGFydHNXaXRoKFwiW1wiKSAmJiBzZWdtZW50TmFtZS5lbmRzV2l0aChcIl1cIikpIHtcbiAgICAgICAgICAgICAgICAvLyBTdHJpcCBvcHRpb25hbCBgW2AgYW5kIGBdYCwgbGVhdmluZyBvbmx5IGBzb21ldGhpbmdgXG4gICAgICAgICAgICAgICAgc2VnbWVudE5hbWUgPSBzZWdtZW50TmFtZS5zbGljZSgxLCAtMSk7XG4gICAgICAgICAgICAgICAgaXNPcHRpb25hbCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VnbWVudE5hbWUuc3RhcnRzV2l0aChcIi4uLlwiKSkge1xuICAgICAgICAgICAgICAgIC8vIFN0cmlwIGAuLi5gLCBsZWF2aW5nIG9ubHkgYHNvbWV0aGluZ2BcbiAgICAgICAgICAgICAgICBzZWdtZW50TmFtZSA9IHNlZ21lbnROYW1lLnN1YnN0cmluZygzKTtcbiAgICAgICAgICAgICAgICBpc0NhdGNoQWxsID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZWdtZW50TmFtZS5zdGFydHNXaXRoKFwiW1wiKSB8fCBzZWdtZW50TmFtZS5lbmRzV2l0aChcIl1cIikpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJTZWdtZW50IG5hbWVzIG1heSBub3Qgc3RhcnQgb3IgZW5kIHdpdGggZXh0cmEgYnJhY2tldHMgKCdcIiArIHNlZ21lbnROYW1lICsgXCInKS5cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VnbWVudE5hbWUuc3RhcnRzV2l0aChcIi5cIikpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJTZWdtZW50IG5hbWVzIG1heSBub3Qgc3RhcnQgd2l0aCBlcnJvbmVvdXMgcGVyaW9kcyAoJ1wiICsgc2VnbWVudE5hbWUgKyBcIicpLlwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZ1bmN0aW9uIGhhbmRsZVNsdWcocHJldmlvdXNTbHVnLCBuZXh0U2x1Zykge1xuICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c1NsdWcgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIHNwZWNpZmljIHNlZ21lbnQgYWxyZWFkeSBoYXMgYSBzbHVnIGJ1dCB0aGUgc2x1ZyBpcyBub3QgYHNvbWV0aGluZ2BcbiAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBwcmV2ZW50cyBjb2xsaXNpb25zIGxpa2U6XG4gICAgICAgICAgICAgICAgICAgIC8vIHBhZ2VzL1twb3N0XS9pbmRleC5qc1xuICAgICAgICAgICAgICAgICAgICAvLyBwYWdlcy9baWRdL2luZGV4LmpzXG4gICAgICAgICAgICAgICAgICAgIC8vIEJlY2F1c2UgY3VycmVudGx5IG11bHRpcGxlIGR5bmFtaWMgcGFyYW1zIG9uIHRoZSBzYW1lIHNlZ21lbnQgbGV2ZWwgYXJlIG5vdCBzdXBwb3J0ZWRcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzU2x1ZyAhPT0gbmV4dFNsdWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IFRoaXMgZXJyb3Igc2VlbXMgdG8gYmUgY29uZnVzaW5nIGZvciB1c2VycywgbmVlZHMgYW4gZXJyb3IgbGluaywgdGhlIGRlc2NyaXB0aW9uIGNhbiBiZSBiYXNlZCBvbiBhYm92ZSBjb21tZW50LlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiWW91IGNhbm5vdCB1c2UgZGlmZmVyZW50IHNsdWcgbmFtZXMgZm9yIHRoZSBzYW1lIGR5bmFtaWMgcGF0aCAoJ1wiICsgcHJldmlvdXNTbHVnICsgXCInICE9PSAnXCIgKyBuZXh0U2x1ZyArIFwiJykuXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNsdWdOYW1lcy5mb3JFYWNoKChzbHVnKT0+e1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2x1ZyA9PT0gbmV4dFNsdWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IGNhbm5vdCBoYXZlIHRoZSBzYW1lIHNsdWcgbmFtZSBcIicgKyBuZXh0U2x1ZyArICdcIiByZXBlYXQgd2l0aGluIGEgc2luZ2xlIGR5bmFtaWMgcGF0aCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChzbHVnLnJlcGxhY2UoL1xcVy9nLCBcIlwiKSA9PT0gbmV4dFNlZ21lbnQucmVwbGFjZSgvXFxXL2csIFwiXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3QgaGF2ZSB0aGUgc2x1ZyBuYW1lcyBcIicgKyBzbHVnICsgJ1wiIGFuZCBcIicgKyBuZXh0U2x1ZyArICdcIiBkaWZmZXIgb25seSBieSBub24td29yZCBzeW1ib2xzIHdpdGhpbiBhIHNpbmdsZSBkeW5hbWljIHBhdGgnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHNsdWdOYW1lcy5wdXNoKG5leHRTbHVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0NhdGNoQWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzT3B0aW9uYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucmVzdFNsdWdOYW1lICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IGNhbm5vdCB1c2UgYm90aCBhbiByZXF1aXJlZCBhbmQgb3B0aW9uYWwgY2F0Y2gtYWxsIHJvdXRlIGF0IHRoZSBzYW1lIGxldmVsIChcIlsuLi4nICsgdGhpcy5yZXN0U2x1Z05hbWUgKyAnXVwiIGFuZCBcIicgKyB1cmxQYXRoc1swXSArICdcIiApLicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZVNsdWcodGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSwgc2VnbWVudE5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAvLyBzbHVnTmFtZSBpcyBrZXB0IGFzIGl0IGNhbiBvbmx5IGJlIG9uZSBwYXJ0aWN1bGFyIHNsdWdOYW1lXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgPSBzZWdtZW50TmFtZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gbmV4dFNlZ21lbnQgaXMgb3ZlcndyaXR0ZW4gdG8gW1suLi5dXSBzbyB0aGF0IGl0IGNhbiBsYXRlciBiZSBzb3J0ZWQgc3BlY2lmaWNhbGx5XG4gICAgICAgICAgICAgICAgICAgIG5leHRTZWdtZW50ID0gXCJbWy4uLl1dXCI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2Fubm90IHVzZSBib3RoIGFuIG9wdGlvbmFsIGFuZCByZXF1aXJlZCBjYXRjaC1hbGwgcm91dGUgYXQgdGhlIHNhbWUgbGV2ZWwgKFwiW1suLi4nICsgdGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSArICddXVwiIGFuZCBcIicgKyB1cmxQYXRoc1swXSArICdcIikuJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2x1Zyh0aGlzLnJlc3RTbHVnTmFtZSwgc2VnbWVudE5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAvLyBzbHVnTmFtZSBpcyBrZXB0IGFzIGl0IGNhbiBvbmx5IGJlIG9uZSBwYXJ0aWN1bGFyIHNsdWdOYW1lXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdFNsdWdOYW1lID0gc2VnbWVudE5hbWU7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5leHRTZWdtZW50IGlzIG92ZXJ3cml0dGVuIHRvIFsuLi5dIHNvIHRoYXQgaXQgY2FuIGxhdGVyIGJlIHNvcnRlZCBzcGVjaWZpY2FsbHlcbiAgICAgICAgICAgICAgICAgICAgbmV4dFNlZ21lbnQgPSBcIlsuLi5dXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNPcHRpb25hbCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ09wdGlvbmFsIHJvdXRlIHBhcmFtZXRlcnMgYXJlIG5vdCB5ZXQgc3VwcG9ydGVkIChcIicgKyB1cmxQYXRoc1swXSArICdcIikuJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGhhbmRsZVNsdWcodGhpcy5zbHVnTmFtZSwgc2VnbWVudE5hbWUpO1xuICAgICAgICAgICAgICAgIC8vIHNsdWdOYW1lIGlzIGtlcHQgYXMgaXQgY2FuIG9ubHkgYmUgb25lIHBhcnRpY3VsYXIgc2x1Z05hbWVcbiAgICAgICAgICAgICAgICB0aGlzLnNsdWdOYW1lID0gc2VnbWVudE5hbWU7XG4gICAgICAgICAgICAgICAgLy8gbmV4dFNlZ21lbnQgaXMgb3ZlcndyaXR0ZW4gdG8gW10gc28gdGhhdCBpdCBjYW4gbGF0ZXIgYmUgc29ydGVkIHNwZWNpZmljYWxseVxuICAgICAgICAgICAgICAgIG5leHRTZWdtZW50ID0gXCJbXVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIElmIHRoaXMgVXJsTm9kZSBkb2Vzbid0IGhhdmUgdGhlIG5leHRTZWdtZW50IHlldCB3ZSBjcmVhdGUgYSBuZXcgY2hpbGQgVXJsTm9kZVxuICAgICAgICBpZiAoIXRoaXMuY2hpbGRyZW4uaGFzKG5leHRTZWdtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5jaGlsZHJlbi5zZXQobmV4dFNlZ21lbnQsIG5ldyBVcmxOb2RlKCkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hpbGRyZW4uZ2V0KG5leHRTZWdtZW50KS5faW5zZXJ0KHVybFBhdGhzLnNsaWNlKDEpLCBzbHVnTmFtZXMsIGlzQ2F0Y2hBbGwpO1xuICAgIH1cbiAgICBjb25zdHJ1Y3Rvcigpe1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jaGlsZHJlbiA9IG5ldyBNYXAoKTtcbiAgICAgICAgdGhpcy5zbHVnTmFtZSA9IG51bGw7XG4gICAgICAgIHRoaXMucmVzdFNsdWdOYW1lID0gbnVsbDtcbiAgICAgICAgdGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSA9IG51bGw7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0U29ydGVkUm91dGVzKG5vcm1hbGl6ZWRQYWdlcykge1xuICAgIC8vIEZpcnN0IHRoZSBVcmxOb2RlIGlzIGNyZWF0ZWQsIGFuZCBldmVyeSBVcmxOb2RlIGNhbiBoYXZlIG9ubHkgMSBkeW5hbWljIHNlZ21lbnRcbiAgICAvLyBFZyB5b3UgY2FuJ3QgaGF2ZSBwYWdlcy9bcG9zdF0vYWJjLmpzIGFuZCBwYWdlcy9baGVsbG9dL3NvbWV0aGluZy1lbHNlLmpzXG4gICAgLy8gT25seSAxIGR5bmFtaWMgc2VnbWVudCBwZXIgbmVzdGluZyBsZXZlbFxuICAgIC8vIFNvIGluIHRoZSBjYXNlIHRoYXQgaXMgdGVzdC9pbnRlZ3JhdGlvbi9keW5hbWljLXJvdXRpbmcgaXQnbGwgYmUgdGhpczpcbiAgICAvLyBwYWdlcy9bcG9zdF0vY29tbWVudHMuanNcbiAgICAvLyBwYWdlcy9ibG9nL1twb3N0XS9jb21tZW50L1tpZF0uanNcbiAgICAvLyBCb3RoIGFyZSBmaW5lIGJlY2F1c2UgYHBhZ2VzL1twb3N0XWAgYW5kIGBwYWdlcy9ibG9nYCBhcmUgb24gdGhlIHNhbWUgbGV2ZWxcbiAgICAvLyBTbyBpbiB0aGlzIGNhc2UgYFVybE5vZGVgIGNyZWF0ZWQgaGVyZSBoYXMgYHRoaXMuc2x1Z05hbWUgPT09ICdwb3N0J2BcbiAgICAvLyBBbmQgc2luY2UgeW91ciBQUiBwYXNzZWQgdGhyb3VnaCBgc2x1Z05hbWVgIGFzIGFuIGFycmF5IGJhc2ljYWxseSBpdCdkIGluY2x1ZGluZyBpdCBpbiB0b28gbWFueSBwb3NzaWJpbGl0aWVzXG4gICAgLy8gSW5zdGVhZCB3aGF0IGhhcyB0byBiZSBwYXNzZWQgdGhyb3VnaCBpcyB0aGUgdXB3YXJkcyBwYXRoJ3MgZHluYW1pYyBuYW1lc1xuICAgIGNvbnN0IHJvb3QgPSBuZXcgVXJsTm9kZSgpO1xuICAgIC8vIEhlcmUgdGhlIGByb290YCBnZXRzIGluamVjdGVkIG11bHRpcGxlIHBhdGhzLCBhbmQgaW5zZXJ0IHdpbGwgYnJlYWsgdGhlbSB1cCBpbnRvIHN1YmxldmVsc1xuICAgIG5vcm1hbGl6ZWRQYWdlcy5mb3JFYWNoKChwYWdlUGF0aCk9PnJvb3QuaW5zZXJ0KHBhZ2VQYXRoKSk7XG4gICAgLy8gU21vb3NoIHdpbGwgdGhlbiBzb3J0IHRob3NlIHN1YmxldmVscyB1cCB0byB0aGUgcG9pbnQgd2hlcmUgeW91IGdldCB0aGUgY29ycmVjdCByb3V0ZSBkZWZpbml0aW9uIHByaW9yaXR5XG4gICAgcmV0dXJuIHJvb3Quc21vb3NoKCk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNvcnRlZC1yb3V0ZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImdldFNvcnRlZFJvdXRlcyIsIlVybE5vZGUiLCJpbnNlcnQiLCJ1cmxQYXRoIiwiX2luc2VydCIsInNwbGl0IiwiZmlsdGVyIiwiQm9vbGVhbiIsInNtb29zaCIsIl9zbW9vc2giLCJwcmVmaXgiLCJjaGlsZHJlblBhdGhzIiwiY2hpbGRyZW4iLCJrZXlzIiwic29ydCIsInNsdWdOYW1lIiwic3BsaWNlIiwiaW5kZXhPZiIsInJlc3RTbHVnTmFtZSIsIm9wdGlvbmFsUmVzdFNsdWdOYW1lIiwicm91dGVzIiwibWFwIiwiYyIsInJlZHVjZSIsInByZXYiLCJjdXJyIiwicHVzaCIsInBsYWNlaG9sZGVyIiwiciIsInNsaWNlIiwiRXJyb3IiLCJ1bnNoaWZ0IiwidXJsUGF0aHMiLCJzbHVnTmFtZXMiLCJpc0NhdGNoQWxsIiwibGVuZ3RoIiwibmV4dFNlZ21lbnQiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJzZWdtZW50TmFtZSIsImlzT3B0aW9uYWwiLCJzdWJzdHJpbmciLCJoYW5kbGVTbHVnIiwicHJldmlvdXNTbHVnIiwibmV4dFNsdWciLCJmb3JFYWNoIiwic2x1ZyIsInJlcGxhY2UiLCJoYXMiLCJzZXQiLCJjb25zdHJ1Y3RvciIsIk1hcCIsIm5vcm1hbGl6ZWRQYWdlcyIsInJvb3QiLCJwYWdlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/segment.js": /*!******************************************************!*\ !*** ./node_modules/next/dist/shared/lib/segment.js ***! \******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isGroupSegment: function() {\n return isGroupSegment;\n },\n PAGE_SEGMENT_KEY: function() {\n return PAGE_SEGMENT_KEY;\n },\n DEFAULT_SEGMENT_KEY: function() {\n return DEFAULT_SEGMENT_KEY;\n }\n});\nfunction isGroupSegment(segment) {\n // Use array[0] for performant purpose\n return segment[0] === \"(\" && segment.endsWith(\")\");\n}\nconst PAGE_SEGMENT_KEY = \"__PAGE__\";\nconst DEFAULT_SEGMENT_KEY = \"__DEFAULT__\"; //# sourceMappingURL=segment.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2VnbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUlOO0FBQ0EsU0FBU0ksUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVYsT0FBT0MsY0FBYyxDQUFDUSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFOLFNBQVM7SUFDYkcsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtJQUNBQyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxTQUFTRixlQUFlUyxPQUFPO0lBQzNCLHNDQUFzQztJQUN0QyxPQUFPQSxPQUFPLENBQUMsRUFBRSxLQUFLLE9BQU9BLFFBQVFDLFFBQVEsQ0FBQztBQUNsRDtBQUNBLE1BQU1ULG1CQUFtQjtBQUN6QixNQUFNQyxzQkFBc0IsZUFFNUIsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3NlZ21lbnQuanM/ZmY3MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGlzR3JvdXBTZWdtZW50OiBudWxsLFxuICAgIFBBR0VfU0VHTUVOVF9LRVk6IG51bGwsXG4gICAgREVGQVVMVF9TRUdNRU5UX0tFWTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBpc0dyb3VwU2VnbWVudDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0dyb3VwU2VnbWVudDtcbiAgICB9LFxuICAgIFBBR0VfU0VHTUVOVF9LRVk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUEFHRV9TRUdNRU5UX0tFWTtcbiAgICB9LFxuICAgIERFRkFVTFRfU0VHTUVOVF9LRVk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gREVGQVVMVF9TRUdNRU5UX0tFWTtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGlzR3JvdXBTZWdtZW50KHNlZ21lbnQpIHtcbiAgICAvLyBVc2UgYXJyYXlbMF0gZm9yIHBlcmZvcm1hbnQgcHVycG9zZVxuICAgIHJldHVybiBzZWdtZW50WzBdID09PSBcIihcIiAmJiBzZWdtZW50LmVuZHNXaXRoKFwiKVwiKTtcbn1cbmNvbnN0IFBBR0VfU0VHTUVOVF9LRVkgPSBcIl9fUEFHRV9fXCI7XG5jb25zdCBERUZBVUxUX1NFR01FTlRfS0VZID0gXCJfX0RFRkFVTFRfX1wiO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZWdtZW50LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImlzR3JvdXBTZWdtZW50IiwiUEFHRV9TRUdNRU5UX0tFWSIsIkRFRkFVTFRfU0VHTUVOVF9LRVkiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJzZWdtZW50IiwiZW5kc1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/segment.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/utils.js": /*!****************************************************!*\ !*** ./node_modules/next/dist/shared/lib/utils.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n isResSent: function() {\n return isResSent;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n DecodeError: function() {\n return DecodeError;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FrQk47QUFDQSxTQUFTa0IsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSXhCLE9BQU9DLGNBQWMsQ0FBQ3NCLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUXBCLFNBQVM7SUFDYkcsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsVUFBVTtRQUNOLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLElBQUk7UUFDQSxPQUFPQTtJQUNYO0lBQ0FDLElBQUk7UUFDQSxPQUFPQTtJQUNYO0lBQ0FDLGFBQWE7UUFDVCxPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxtQkFBbUI7UUFDZixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1oQixhQUFhO0lBQ2Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0g7QUFDRCxTQUFTQyxTQUFTc0IsRUFBRTtJQUNoQixJQUFJQyxPQUFPO0lBQ1gsSUFB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UUMsSUFBSSxDQUFDLEtBQUs3RCxlQUFlaUQsT0FBTztRQUM1QztJQUNKO0lBQ0EsT0FBT1M7QUFDWDtBQUNBLE1BQU10RCxLQUFLLE9BQU8wRCxnQkFBZ0I7QUFDbEMsTUFBTXpELEtBQUtELE1BQU07SUFDYjtJQUNBO0lBQ0E7Q0FDSCxDQUFDMkQsS0FBSyxDQUFDLENBQUNDLFNBQVMsT0FBT0YsV0FBVyxDQUFDRSxPQUFPLEtBQUs7QUFDakQsTUFBTTFELG9CQUFvQmtEO0FBQzFCO0FBQ0EsTUFBTWpELHVCQUF1QmlEO0FBQzdCO0FBQ0EsTUFBTWhELDBCQUEwQmdEO0lBQzVCUyxZQUFZQyxJQUFJLENBQUM7UUFDYixLQUFLO1FBQ0wsSUFBSSxDQUFDQyxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNwRCxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUN3QyxPQUFPLEdBQUcsa0NBQWtDVztJQUNyRDtBQUNKO0FBQ0EsTUFBTXpELDBCQUEwQitDO0lBQzVCUyxZQUFZQyxJQUFJLEVBQUVYLE9BQU8sQ0FBQztRQUN0QixLQUFLO1FBQ0wsSUFBSSxDQUFDQSxPQUFPLEdBQUcsMENBQTBDVyxPQUFPLE1BQU1YO0lBQzFFO0FBQ0o7QUFDQSxNQUFNN0MsZ0NBQWdDOEM7SUFDbENTLGFBQWE7UUFDVCxLQUFLO1FBQ0wsSUFBSSxDQUFDRSxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNaLE9BQU8sR0FBRztJQUNuQjtBQUNKO0FBQ0EsU0FBUzVDLGVBQWV5RCxLQUFLO0lBQ3pCLE9BQU9DLEtBQUtDLFNBQVMsQ0FBQztRQUNsQmYsU0FBU2EsTUFBTWIsT0FBTztRQUN0QmdCLE9BQU9ILE1BQU1HLEtBQUs7SUFDdEI7QUFDSixFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi91dGlscy5qcz9lN2ZmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgV0VCX1ZJVEFMUzogbnVsbCxcbiAgICBleGVjT25jZTogbnVsbCxcbiAgICBpc0Fic29sdXRlVXJsOiBudWxsLFxuICAgIGdldExvY2F0aW9uT3JpZ2luOiBudWxsLFxuICAgIGdldFVSTDogbnVsbCxcbiAgICBnZXREaXNwbGF5TmFtZTogbnVsbCxcbiAgICBpc1Jlc1NlbnQ6IG51bGwsXG4gICAgbm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzOiBudWxsLFxuICAgIGxvYWRHZXRJbml0aWFsUHJvcHM6IG51bGwsXG4gICAgU1A6IG51bGwsXG4gICAgU1Q6IG51bGwsXG4gICAgRGVjb2RlRXJyb3I6IG51bGwsXG4gICAgTm9ybWFsaXplRXJyb3I6IG51bGwsXG4gICAgUGFnZU5vdEZvdW5kRXJyb3I6IG51bGwsXG4gICAgTWlzc2luZ1N0YXRpY1BhZ2U6IG51bGwsXG4gICAgTWlkZGxld2FyZU5vdEZvdW5kRXJyb3I6IG51bGwsXG4gICAgc3RyaW5naWZ5RXJyb3I6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgV0VCX1ZJVEFMUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBXRUJfVklUQUxTO1xuICAgIH0sXG4gICAgZXhlY09uY2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXhlY09uY2U7XG4gICAgfSxcbiAgICBpc0Fic29sdXRlVXJsOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzQWJzb2x1dGVVcmw7XG4gICAgfSxcbiAgICBnZXRMb2NhdGlvbk9yaWdpbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRMb2NhdGlvbk9yaWdpbjtcbiAgICB9LFxuICAgIGdldFVSTDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRVUkw7XG4gICAgfSxcbiAgICBnZXREaXNwbGF5TmFtZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXREaXNwbGF5TmFtZTtcbiAgICB9LFxuICAgIGlzUmVzU2VudDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc1Jlc1NlbnQ7XG4gICAgfSxcbiAgICBub3JtYWxpemVSZXBlYXRlZFNsYXNoZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzO1xuICAgIH0sXG4gICAgbG9hZEdldEluaXRpYWxQcm9wczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBsb2FkR2V0SW5pdGlhbFByb3BzO1xuICAgIH0sXG4gICAgU1A6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU1A7XG4gICAgfSxcbiAgICBTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTVDtcbiAgICB9LFxuICAgIERlY29kZUVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERlY29kZUVycm9yO1xuICAgIH0sXG4gICAgTm9ybWFsaXplRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTm9ybWFsaXplRXJyb3I7XG4gICAgfSxcbiAgICBQYWdlTm90Rm91bmRFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQYWdlTm90Rm91bmRFcnJvcjtcbiAgICB9LFxuICAgIE1pc3NpbmdTdGF0aWNQYWdlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE1pc3NpbmdTdGF0aWNQYWdlO1xuICAgIH0sXG4gICAgTWlkZGxld2FyZU5vdEZvdW5kRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTWlkZGxld2FyZU5vdEZvdW5kRXJyb3I7XG4gICAgfSxcbiAgICBzdHJpbmdpZnlFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmdpZnlFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IFdFQl9WSVRBTFMgPSBbXG4gICAgXCJDTFNcIixcbiAgICBcIkZDUFwiLFxuICAgIFwiRklEXCIsXG4gICAgXCJJTlBcIixcbiAgICBcIkxDUFwiLFxuICAgIFwiVFRGQlwiXG5dO1xuZnVuY3Rpb24gZXhlY09uY2UoZm4pIHtcbiAgICBsZXQgdXNlZCA9IGZhbHNlO1xuICAgIGxldCByZXN1bHQ7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICBmb3IodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKyl7XG4gICAgICAgICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdXNlZCkge1xuICAgICAgICAgICAgdXNlZCA9IHRydWU7XG4gICAgICAgICAgICByZXN1bHQgPSBmbiguLi5hcmdzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG59XG4vLyBTY2hlbWU6IGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMy4xXG4vLyBBYnNvbHV0ZSBVUkw6IGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tNC4zXG5jb25zdCBBQlNPTFVURV9VUkxfUkVHRVggPSAvXlthLXpBLVpdW2EtekEtWlxcZCtcXC0uXSo/Oi87XG5jb25zdCBpc0Fic29sdXRlVXJsID0gKHVybCk9PkFCU09MVVRFX1VSTF9SRUdFWC50ZXN0KHVybCk7XG5mdW5jdGlvbiBnZXRMb2NhdGlvbk9yaWdpbigpIHtcbiAgICBjb25zdCB7IHByb3RvY29sLCBob3N0bmFtZSwgcG9ydCB9ID0gd2luZG93LmxvY2F0aW9uO1xuICAgIHJldHVybiBwcm90b2NvbCArIFwiLy9cIiArIGhvc3RuYW1lICsgKHBvcnQgPyBcIjpcIiArIHBvcnQgOiBcIlwiKTtcbn1cbmZ1bmN0aW9uIGdldFVSTCgpIHtcbiAgICBjb25zdCB7IGhyZWYgfSA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICBjb25zdCBvcmlnaW4gPSBnZXRMb2NhdGlvbk9yaWdpbigpO1xuICAgIHJldHVybiBocmVmLnN1YnN0cmluZyhvcmlnaW4ubGVuZ3RoKTtcbn1cbmZ1bmN0aW9uIGdldERpc3BsYXlOYW1lKENvbXBvbmVudCkge1xuICAgIHJldHVybiB0eXBlb2YgQ29tcG9uZW50ID09PSBcInN0cmluZ1wiID8gQ29tcG9uZW50IDogQ29tcG9uZW50LmRpc3BsYXlOYW1lIHx8IENvbXBvbmVudC5uYW1lIHx8IFwiVW5rbm93blwiO1xufVxuZnVuY3Rpb24gaXNSZXNTZW50KHJlcykge1xuICAgIHJldHVybiByZXMuZmluaXNoZWQgfHwgcmVzLmhlYWRlcnNTZW50O1xufVxuZnVuY3Rpb24gbm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzKHVybCkge1xuICAgIGNvbnN0IHVybFBhcnRzID0gdXJsLnNwbGl0KFwiP1wiKTtcbiAgICBjb25zdCB1cmxOb1F1ZXJ5ID0gdXJsUGFydHNbMF07XG4gICAgcmV0dXJuIHVybE5vUXVlcnkvLyBmaXJzdCB3ZSByZXBsYWNlIGFueSBub24tZW5jb2RlZCBiYWNrc2xhc2hlcyB3aXRoIGZvcndhcmRcbiAgICAvLyB0aGVuIG5vcm1hbGl6ZSByZXBlYXRlZCBmb3J3YXJkIHNsYXNoZXNcbiAgICAucmVwbGFjZSgvXFxcXC9nLCBcIi9cIikucmVwbGFjZSgvXFwvXFwvKy9nLCBcIi9cIikgKyAodXJsUGFydHNbMV0gPyBcIj9cIiArIHVybFBhcnRzLnNsaWNlKDEpLmpvaW4oXCI/XCIpIDogXCJcIik7XG59XG5hc3luYyBmdW5jdGlvbiBsb2FkR2V0SW5pdGlhbFByb3BzKEFwcCwgY3R4KSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICB2YXIgX0FwcF9wcm90b3R5cGU7XG4gICAgICAgIGlmICgoX0FwcF9wcm90b3R5cGUgPSBBcHAucHJvdG90eXBlKSA9PSBudWxsID8gdm9pZCAwIDogX0FwcF9wcm90b3R5cGUuZ2V0SW5pdGlhbFByb3BzKSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gJ1wiJyArIGdldERpc3BsYXlOYW1lKEFwcCkgKyAnLmdldEluaXRpYWxQcm9wcygpXCIgaXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBtZXRob2QgLSB2aXNpdCBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9nZXQtaW5pdGlhbC1wcm9wcy1hcy1hbi1pbnN0YW5jZS1tZXRob2QgZm9yIG1vcmUgaW5mb3JtYXRpb24uJztcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyB3aGVuIGNhbGxlZCBmcm9tIF9hcHAgYGN0eGAgaXMgbmVzdGVkIGluIGBjdHhgXG4gICAgY29uc3QgcmVzID0gY3R4LnJlcyB8fCBjdHguY3R4ICYmIGN0eC5jdHgucmVzO1xuICAgIGlmICghQXBwLmdldEluaXRpYWxQcm9wcykge1xuICAgICAgICBpZiAoY3R4LmN0eCAmJiBjdHguQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlIHBhZ2VQcm9wcyBkZWZhdWx0XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHBhZ2VQcm9wczogYXdhaXQgbG9hZEdldEluaXRpYWxQcm9wcyhjdHguQ29tcG9uZW50LCBjdHguY3R4KVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IHByb3BzID0gYXdhaXQgQXBwLmdldEluaXRpYWxQcm9wcyhjdHgpO1xuICAgIGlmIChyZXMgJiYgaXNSZXNTZW50KHJlcykpIHtcbiAgICAgICAgcmV0dXJuIHByb3BzO1xuICAgIH1cbiAgICBpZiAoIXByb3BzKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnXCInICsgZ2V0RGlzcGxheU5hbWUoQXBwKSArICcuZ2V0SW5pdGlhbFByb3BzKClcIiBzaG91bGQgcmVzb2x2ZSB0byBhbiBvYmplY3QuIEJ1dCBmb3VuZCBcIicgKyBwcm9wcyArICdcIiBpbnN0ZWFkLic7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMocHJvcHMpLmxlbmd0aCA9PT0gMCAmJiAhY3R4LmN0eCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiXCIgKyBnZXREaXNwbGF5TmFtZShBcHApICsgXCIgcmV0dXJuZWQgYW4gZW1wdHkgb2JqZWN0IGZyb20gYGdldEluaXRpYWxQcm9wc2AuIFRoaXMgZGUtb3B0aW1pemVzIGFuZCBwcmV2ZW50cyBhdXRvbWF0aWMgc3RhdGljIG9wdGltaXphdGlvbi4gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZW1wdHktb2JqZWN0LWdldEluaXRpYWxQcm9wc1wiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcHJvcHM7XG59XG5jb25zdCBTUCA9IHR5cGVvZiBwZXJmb3JtYW5jZSAhPT0gXCJ1bmRlZmluZWRcIjtcbmNvbnN0IFNUID0gU1AgJiYgW1xuICAgIFwibWFya1wiLFxuICAgIFwibWVhc3VyZVwiLFxuICAgIFwiZ2V0RW50cmllc0J5TmFtZVwiXG5dLmV2ZXJ5KChtZXRob2QpPT50eXBlb2YgcGVyZm9ybWFuY2VbbWV0aG9kXSA9PT0gXCJmdW5jdGlvblwiKTtcbmNsYXNzIERlY29kZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xufVxuY2xhc3MgTm9ybWFsaXplRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG59XG5jbGFzcyBQYWdlTm90Rm91bmRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihwYWdlKXtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5jb2RlID0gXCJFTk9FTlRcIjtcbiAgICAgICAgdGhpcy5uYW1lID0gXCJQYWdlTm90Rm91bmRFcnJvclwiO1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBcIkNhbm5vdCBmaW5kIG1vZHVsZSBmb3IgcGFnZTogXCIgKyBwYWdlO1xuICAgIH1cbn1cbmNsYXNzIE1pc3NpbmdTdGF0aWNQYWdlIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHBhZ2UsIG1lc3NhZ2Upe1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBcIkZhaWxlZCB0byBsb2FkIHN0YXRpYyBmaWxlIGZvciBwYWdlOiBcIiArIHBhZ2UgKyBcIiBcIiArIG1lc3NhZ2U7XG4gICAgfVxufVxuY2xhc3MgTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IoKXtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5jb2RlID0gXCJFTk9FTlRcIjtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gXCJDYW5ub3QgZmluZCB0aGUgbWlkZGxld2FyZSBtb2R1bGVcIjtcbiAgICB9XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlFcnJvcihlcnJvcikge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgIHN0YWNrOiBlcnJvci5zdGFja1xuICAgIH0pO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJXRUJfVklUQUxTIiwiZXhlY09uY2UiLCJpc0Fic29sdXRlVXJsIiwiZ2V0TG9jYXRpb25PcmlnaW4iLCJnZXRVUkwiLCJnZXREaXNwbGF5TmFtZSIsImlzUmVzU2VudCIsIm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyIsImxvYWRHZXRJbml0aWFsUHJvcHMiLCJTUCIsIlNUIiwiRGVjb2RlRXJyb3IiLCJOb3JtYWxpemVFcnJvciIsIlBhZ2VOb3RGb3VuZEVycm9yIiwiTWlzc2luZ1N0YXRpY1BhZ2UiLCJNaWRkbGV3YXJlTm90Rm91bmRFcnJvciIsInN0cmluZ2lmeUVycm9yIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZm4iLCJ1c2VkIiwicmVzdWx0IiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJBQlNPTFVURV9VUkxfUkVHRVgiLCJ1cmwiLCJ0ZXN0IiwicHJvdG9jb2wiLCJob3N0bmFtZSIsInBvcnQiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJvcmlnaW4iLCJzdWJzdHJpbmciLCJDb21wb25lbnQiLCJkaXNwbGF5TmFtZSIsInJlcyIsImZpbmlzaGVkIiwiaGVhZGVyc1NlbnQiLCJ1cmxQYXJ0cyIsInNwbGl0IiwidXJsTm9RdWVyeSIsInJlcGxhY2UiLCJzbGljZSIsImpvaW4iLCJBcHAiLCJjdHgiLCJwcm9jZXNzIiwiX0FwcF9wcm90b3R5cGUiLCJwcm90b3R5cGUiLCJnZXRJbml0aWFsUHJvcHMiLCJtZXNzYWdlIiwiRXJyb3IiLCJwYWdlUHJvcHMiLCJwcm9wcyIsImtleXMiLCJjb25zb2xlIiwid2FybiIsInBlcmZvcm1hbmNlIiwiZXZlcnkiLCJtZXRob2QiLCJjb25zdHJ1Y3RvciIsInBhZ2UiLCJjb2RlIiwiZXJyb3IiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/utils.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/utils/warn-once.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"warnOnce\", ({\n enumerable: true,\n get: function() {\n return warnOnce;\n }\n}));\nlet warnOnce = (_)=>{};\nif (true) {\n const warnings = new Set();\n warnOnce = (msg)=>{\n if (!warnings.has(msg)) {\n console.warn(msg);\n }\n warnings.add(msg);\n };\n} //# sourceMappingURL=warn-once.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMvd2Fybi1vbmNlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCw0Q0FBMkM7SUFDdkNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixJQUFJQSxXQUFXLENBQUNDLEtBQUs7QUFDckIsSUFBSUMsSUFBcUMsRUFBRTtJQUN2QyxNQUFNQyxXQUFXLElBQUlDO0lBQ3JCSixXQUFXLENBQUNLO1FBQ1IsSUFBSSxDQUFDRixTQUFTRyxHQUFHLENBQUNELE1BQU07WUFDcEJFLFFBQVFDLElBQUksQ0FBQ0g7UUFDakI7UUFDQUYsU0FBU00sR0FBRyxDQUFDSjtJQUNqQjtBQUNKLEVBRUEscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3V0aWxzL3dhcm4tb25jZS5qcz83Mzk1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwid2Fybk9uY2VcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHdhcm5PbmNlO1xuICAgIH1cbn0pO1xubGV0IHdhcm5PbmNlID0gKF8pPT57fTtcbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICBjb25zdCB3YXJuaW5ncyA9IG5ldyBTZXQoKTtcbiAgICB3YXJuT25jZSA9IChtc2cpPT57XG4gICAgICAgIGlmICghd2FybmluZ3MuaGFzKG1zZykpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2Fybihtc2cpO1xuICAgICAgICB9XG4gICAgICAgIHdhcm5pbmdzLmFkZChtc2cpO1xuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdhcm4tb25jZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwid2Fybk9uY2UiLCJfIiwicHJvY2VzcyIsIndhcm5pbmdzIiwiU2V0IiwibXNnIiwiaGFzIiwiY29uc29sZSIsIndhcm4iLCJhZGQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/cache.js": /*!************************************!*\ !*** ./node_modules/next/cache.js ***! \************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nconst cacheExports = {\n unstable_cache: (__webpack_require__(/*! next/dist/server/web/spec-extension/unstable-cache */ \"(action-browser)/./node_modules/next/dist/server/web/spec-extension/unstable-cache.js\").unstable_cache),\n revalidateTag: (__webpack_require__(/*! next/dist/server/web/spec-extension/revalidate-tag */ \"(action-browser)/./node_modules/next/dist/server/web/spec-extension/revalidate-tag.js\").revalidateTag),\n revalidatePath: (__webpack_require__(/*! next/dist/server/web/spec-extension/revalidate-path */ \"(action-browser)/./node_modules/next/dist/server/web/spec-extension/revalidate-path.js\").revalidatePath),\n unstable_noStore: (__webpack_require__(/*! next/dist/server/web/spec-extension/unstable-no-store */ \"(action-browser)/./node_modules/next/dist/server/web/spec-extension/unstable-no-store.js\").unstable_noStore)\n};\n// https://nodejs.org/api/esm.html#commonjs-namespaces\n// When importing CommonJS modules, the module.exports object is provided as the default export\nmodule.exports = cacheExports;\n// make import { xxx } from 'next/cache' work\nexports.unstable_cache = cacheExports.unstable_cache;\nexports.revalidatePath = cacheExports.revalidatePath;\nexports.revalidateTag = cacheExports.revalidateTag;\nexports.unstable_noStore = cacheExports.unstable_noStore;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2NhY2hlLmpzIiwibWFwcGluZ3MiOiI7QUFBQSxNQUFNQSxlQUFlO0lBQ25CQyxnQkFBZ0JDLHVMQUNDO0lBQ2pCQyxlQUFlRCxzTEFDQztJQUNoQkUsZ0JBQWdCRix5TEFDQztJQUNqQkcsa0JBQ0VILCtMQUNtQjtBQUN2QjtBQUVBLHNEQUFzRDtBQUN0RCwrRkFBK0Y7QUFDL0ZJLE9BQU9DLE9BQU8sR0FBR1A7QUFFakIsNkNBQTZDO0FBQzdDTyxzQkFBc0IsR0FBR1AsYUFBYUMsY0FBYztBQUNwRE0sc0JBQXNCLEdBQUdQLGFBQWFJLGNBQWM7QUFDcERHLHFCQUFxQixHQUFHUCxhQUFhRyxhQUFhO0FBQ2xESSx3QkFBd0IsR0FBR1AsYUFBYUssZ0JBQWdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvY2FjaGUuanM/MzMyYyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjYWNoZUV4cG9ydHMgPSB7XG4gIHVuc3RhYmxlX2NhY2hlOiByZXF1aXJlKCduZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi91bnN0YWJsZS1jYWNoZScpXG4gICAgLnVuc3RhYmxlX2NhY2hlLFxuICByZXZhbGlkYXRlVGFnOiByZXF1aXJlKCduZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9yZXZhbGlkYXRlLXRhZycpXG4gICAgLnJldmFsaWRhdGVUYWcsXG4gIHJldmFsaWRhdGVQYXRoOiByZXF1aXJlKCduZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9yZXZhbGlkYXRlLXBhdGgnKVxuICAgIC5yZXZhbGlkYXRlUGF0aCxcbiAgdW5zdGFibGVfbm9TdG9yZTpcbiAgICByZXF1aXJlKCduZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi91bnN0YWJsZS1uby1zdG9yZScpXG4gICAgICAudW5zdGFibGVfbm9TdG9yZSxcbn1cblxuLy8gaHR0cHM6Ly9ub2RlanMub3JnL2FwaS9lc20uaHRtbCNjb21tb25qcy1uYW1lc3BhY2VzXG4vLyBXaGVuIGltcG9ydGluZyBDb21tb25KUyBtb2R1bGVzLCB0aGUgbW9kdWxlLmV4cG9ydHMgb2JqZWN0IGlzIHByb3ZpZGVkIGFzIHRoZSBkZWZhdWx0IGV4cG9ydFxubW9kdWxlLmV4cG9ydHMgPSBjYWNoZUV4cG9ydHNcblxuLy8gbWFrZSBpbXBvcnQgeyB4eHggfSBmcm9tICduZXh0L2NhY2hlJyB3b3JrXG5leHBvcnRzLnVuc3RhYmxlX2NhY2hlID0gY2FjaGVFeHBvcnRzLnVuc3RhYmxlX2NhY2hlXG5leHBvcnRzLnJldmFsaWRhdGVQYXRoID0gY2FjaGVFeHBvcnRzLnJldmFsaWRhdGVQYXRoXG5leHBvcnRzLnJldmFsaWRhdGVUYWcgPSBjYWNoZUV4cG9ydHMucmV2YWxpZGF0ZVRhZ1xuZXhwb3J0cy51bnN0YWJsZV9ub1N0b3JlID0gY2FjaGVFeHBvcnRzLnVuc3RhYmxlX25vU3RvcmVcbiJdLCJuYW1lcyI6WyJjYWNoZUV4cG9ydHMiLCJ1bnN0YWJsZV9jYWNoZSIsInJlcXVpcmUiLCJyZXZhbGlkYXRlVGFnIiwicmV2YWxpZGF0ZVBhdGgiLCJ1bnN0YWJsZV9ub1N0b3JlIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/cache.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/api/headers.js": /*!***********************************************!*\ !*** ./node_modules/next/dist/api/headers.js ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _client_components_headers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/components/headers */ \"(action-browser)/./node_modules/next/dist/client/components/headers.js\");\n/* harmony import */ var _client_components_headers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_headers__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _client_components_headers__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _client_components_headers__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n //# sourceMappingURL=headers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2hlYWRlcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQTZDLENBRTdDLG1DQUFtQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2hlYWRlcnMuanM/YzhlMyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi4vY2xpZW50L2NvbXBvbmVudHMvaGVhZGVyc1wiO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWFkZXJzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/api/headers.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/api/headers.js": /*!***********************************************!*\ !*** ./node_modules/next/dist/api/headers.js ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _client_components_headers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/components/headers */ \"(rsc)/./node_modules/next/dist/client/components/headers.js\");\n/* harmony import */ var _client_components_headers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_headers__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _client_components_headers__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _client_components_headers__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n //# sourceMappingURL=headers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9oZWFkZXJzLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE2QyxDQUU3QyxtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9oZWFkZXJzLmpzP2M4ZTMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4uL2NsaWVudC9jb21wb25lbnRzL2hlYWRlcnNcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGVhZGVycy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/api/headers.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/api/link.js": /*!********************************************!*\ !*** ./node_modules/next/dist/api/link.js ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a)\n/* harmony export */ });\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/link */ \"(rsc)/./node_modules/next/dist/client/link.js\");\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _client_link__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _client_link__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n //# sourceMappingURL=link.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9saW5rLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF5QztBQUNWLENBRS9CLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL2xpbmsuanM/MTMwZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4uL2NsaWVudC9saW5rXCI7XG5leHBvcnQgKiBmcm9tIFwiLi4vY2xpZW50L2xpbmtcIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGluay5qcy5tYXAiXSwibmFtZXMiOlsiZGVmYXVsdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/api/link.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/api/navigation.js": /*!**************************************************!*\ !*** ./node_modules/next/dist/api/navigation.js ***! \**************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/components/navigation */ \"(rsc)/./node_modules/next/dist/client/components/navigation.js\");\n/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n //# sourceMappingURL=navigation.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9uYXZpZ2F0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFnRCxDQUVoRCxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9uYXZpZ2F0aW9uLmpzPzFkMjgiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4uL2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb25cIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bmF2aWdhdGlvbi5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/api/navigation.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/build/output/log.js": /*!****************************************************!*\ !*** ./node_modules/next/dist/build/output/log.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n prefixes: function() {\n return prefixes;\n },\n bootstrap: function() {\n return bootstrap;\n },\n wait: function() {\n return wait;\n },\n error: function() {\n return error;\n },\n warn: function() {\n return warn;\n },\n ready: function() {\n return ready;\n },\n info: function() {\n return info;\n },\n event: function() {\n return event;\n },\n trace: function() {\n return trace;\n },\n warnOnce: function() {\n return warnOnce;\n }\n});\nconst _picocolors = __webpack_require__(/*! ../../lib/picocolors */ \"(action-browser)/./node_modules/next/dist/lib/picocolors.js\");\nconst prefixes = {\n wait: (0, _picocolors.white)((0, _picocolors.bold)(\"○\")),\n error: (0, _picocolors.red)((0, _picocolors.bold)(\"⨯\")),\n warn: (0, _picocolors.yellow)((0, _picocolors.bold)(\"⚠\")),\n ready: \"▲\",\n info: (0, _picocolors.white)((0, _picocolors.bold)(\" \")),\n event: (0, _picocolors.green)((0, _picocolors.bold)(\"✓\")),\n trace: (0, _picocolors.magenta)((0, _picocolors.bold)(\"\\xbb\"))\n};\nconst LOGGING_METHOD = {\n log: \"log\",\n warn: \"warn\",\n error: \"error\"\n};\nfunction prefixedLog(prefixType, ...message) {\n if ((message[0] === \"\" || message[0] === undefined) && message.length === 1) {\n message.shift();\n }\n const consoleMethod = prefixType in LOGGING_METHOD ? LOGGING_METHOD[prefixType] : \"log\";\n const prefix = prefixes[prefixType];\n // If there's no message, don't print the prefix but a new line\n if (message.length === 0) {\n console[consoleMethod](\"\");\n } else {\n console[consoleMethod](\" \" + prefix, ...message);\n }\n}\nfunction bootstrap(...message) {\n console.log(\" \", ...message);\n}\nfunction wait(...message) {\n prefixedLog(\"wait\", ...message);\n}\nfunction error(...message) {\n prefixedLog(\"error\", ...message);\n}\nfunction warn(...message) {\n prefixedLog(\"warn\", ...message);\n}\nfunction ready(...message) {\n prefixedLog(\"ready\", ...message);\n}\nfunction info(...message) {\n prefixedLog(\"info\", ...message);\n}\nfunction event(...message) {\n prefixedLog(\"event\", ...message);\n}\nfunction trace(...message) {\n prefixedLog(\"trace\", ...message);\n}\nconst warnOnceMessages = new Set();\nfunction warnOnce(...message) {\n if (!warnOnceMessages.has(message[0])) {\n warnOnceMessages.add(message.join(\" \"));\n warn(...message);\n }\n} //# sourceMappingURL=log.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvb3V0cHV0L2xvZy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQVdOO0FBQ0EsU0FBU1csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSWpCLE9BQU9DLGNBQWMsQ0FBQ2UsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRYixTQUFTO0lBQ2JHLFVBQVU7UUFDTixPQUFPQTtJQUNYO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLE1BQU07UUFDRixPQUFPQTtJQUNYO0lBQ0FDLE9BQU87UUFDSCxPQUFPQTtJQUNYO0lBQ0FDLE1BQU07UUFDRixPQUFPQTtJQUNYO0lBQ0FDLE9BQU87UUFDSCxPQUFPQTtJQUNYO0lBQ0FDLE1BQU07UUFDRixPQUFPQTtJQUNYO0lBQ0FDLE9BQU87UUFDSCxPQUFPQTtJQUNYO0lBQ0FDLE9BQU87UUFDSCxPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxjQUFjQyxtQkFBT0EsQ0FBQyx5RkFBc0I7QUFDbEQsTUFBTWpCLFdBQVc7SUFDYkUsTUFBTSxDQUFDLEdBQUdjLFlBQVlFLEtBQUssRUFBRSxDQUFDLEdBQUdGLFlBQVlHLElBQUksRUFBRTtJQUNuRGhCLE9BQU8sQ0FBQyxHQUFHYSxZQUFZSSxHQUFHLEVBQUUsQ0FBQyxHQUFHSixZQUFZRyxJQUFJLEVBQUU7SUFDbERmLE1BQU0sQ0FBQyxHQUFHWSxZQUFZSyxNQUFNLEVBQUUsQ0FBQyxHQUFHTCxZQUFZRyxJQUFJLEVBQUU7SUFDcERkLE9BQU87SUFDUEMsTUFBTSxDQUFDLEdBQUdVLFlBQVlFLEtBQUssRUFBRSxDQUFDLEdBQUdGLFlBQVlHLElBQUksRUFBRTtJQUNuRFosT0FBTyxDQUFDLEdBQUdTLFlBQVlNLEtBQUssRUFBRSxDQUFDLEdBQUdOLFlBQVlHLElBQUksRUFBRTtJQUNwRFgsT0FBTyxDQUFDLEdBQUdRLFlBQVlPLE9BQU8sRUFBRSxDQUFDLEdBQUdQLFlBQVlHLElBQUksRUFBRTtBQUMxRDtBQUNBLE1BQU1LLGlCQUFpQjtJQUNuQkMsS0FBSztJQUNMckIsTUFBTTtJQUNORCxPQUFPO0FBQ1g7QUFDQSxTQUFTdUIsWUFBWUMsVUFBVSxFQUFFLEdBQUdDLE9BQU87SUFDdkMsSUFBSSxDQUFDQSxPQUFPLENBQUMsRUFBRSxLQUFLLE1BQU1BLE9BQU8sQ0FBQyxFQUFFLEtBQUtDLFNBQVEsS0FBTUQsUUFBUUUsTUFBTSxLQUFLLEdBQUc7UUFDekVGLFFBQVFHLEtBQUs7SUFDakI7SUFDQSxNQUFNQyxnQkFBZ0JMLGNBQWNILGlCQUFpQkEsY0FBYyxDQUFDRyxXQUFXLEdBQUc7SUFDbEYsTUFBTU0sU0FBU2pDLFFBQVEsQ0FBQzJCLFdBQVc7SUFDbkMsK0RBQStEO0lBQy9ELElBQUlDLFFBQVFFLE1BQU0sS0FBSyxHQUFHO1FBQ3RCSSxPQUFPLENBQUNGLGNBQWMsQ0FBQztJQUMzQixPQUFPO1FBQ0hFLE9BQU8sQ0FBQ0YsY0FBYyxDQUFDLE1BQU1DLFdBQVdMO0lBQzVDO0FBQ0o7QUFDQSxTQUFTM0IsVUFBVSxHQUFHMkIsT0FBTztJQUN6Qk0sUUFBUVQsR0FBRyxDQUFDLFFBQVFHO0FBQ3hCO0FBQ0EsU0FBUzFCLEtBQUssR0FBRzBCLE9BQU87SUFDcEJGLFlBQVksV0FBV0U7QUFDM0I7QUFDQSxTQUFTekIsTUFBTSxHQUFHeUIsT0FBTztJQUNyQkYsWUFBWSxZQUFZRTtBQUM1QjtBQUNBLFNBQVN4QixLQUFLLEdBQUd3QixPQUFPO0lBQ3BCRixZQUFZLFdBQVdFO0FBQzNCO0FBQ0EsU0FBU3ZCLE1BQU0sR0FBR3VCLE9BQU87SUFDckJGLFlBQVksWUFBWUU7QUFDNUI7QUFDQSxTQUFTdEIsS0FBSyxHQUFHc0IsT0FBTztJQUNwQkYsWUFBWSxXQUFXRTtBQUMzQjtBQUNBLFNBQVNyQixNQUFNLEdBQUdxQixPQUFPO0lBQ3JCRixZQUFZLFlBQVlFO0FBQzVCO0FBQ0EsU0FBU3BCLE1BQU0sR0FBR29CLE9BQU87SUFDckJGLFlBQVksWUFBWUU7QUFDNUI7QUFDQSxNQUFNTyxtQkFBbUIsSUFBSUM7QUFDN0IsU0FBUzNCLFNBQVMsR0FBR21CLE9BQU87SUFDeEIsSUFBSSxDQUFDTyxpQkFBaUJFLEdBQUcsQ0FBQ1QsT0FBTyxDQUFDLEVBQUUsR0FBRztRQUNuQ08saUJBQWlCRyxHQUFHLENBQUNWLFFBQVFXLElBQUksQ0FBQztRQUNsQ25DLFFBQVF3QjtJQUNaO0FBQ0osRUFFQSwrQkFBK0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL291dHB1dC9sb2cuanM/ZTk0ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHByZWZpeGVzOiBudWxsLFxuICAgIGJvb3RzdHJhcDogbnVsbCxcbiAgICB3YWl0OiBudWxsLFxuICAgIGVycm9yOiBudWxsLFxuICAgIHdhcm46IG51bGwsXG4gICAgcmVhZHk6IG51bGwsXG4gICAgaW5mbzogbnVsbCxcbiAgICBldmVudDogbnVsbCxcbiAgICB0cmFjZTogbnVsbCxcbiAgICB3YXJuT25jZTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBwcmVmaXhlczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwcmVmaXhlcztcbiAgICB9LFxuICAgIGJvb3RzdHJhcDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBib290c3RyYXA7XG4gICAgfSxcbiAgICB3YWl0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHdhaXQ7XG4gICAgfSxcbiAgICBlcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBlcnJvcjtcbiAgICB9LFxuICAgIHdhcm46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gd2FybjtcbiAgICB9LFxuICAgIHJlYWR5OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlYWR5O1xuICAgIH0sXG4gICAgaW5mbzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpbmZvO1xuICAgIH0sXG4gICAgZXZlbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXZlbnQ7XG4gICAgfSxcbiAgICB0cmFjZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0cmFjZTtcbiAgICB9LFxuICAgIHdhcm5PbmNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHdhcm5PbmNlO1xuICAgIH1cbn0pO1xuY29uc3QgX3BpY29jb2xvcnMgPSByZXF1aXJlKFwiLi4vLi4vbGliL3BpY29jb2xvcnNcIik7XG5jb25zdCBwcmVmaXhlcyA9IHtcbiAgICB3YWl0OiAoMCwgX3BpY29jb2xvcnMud2hpdGUpKCgwLCBfcGljb2NvbG9ycy5ib2xkKShcIuKXi1wiKSksXG4gICAgZXJyb3I6ICgwLCBfcGljb2NvbG9ycy5yZWQpKCgwLCBfcGljb2NvbG9ycy5ib2xkKShcIuKor1wiKSksXG4gICAgd2FybjogKDAsIF9waWNvY29sb3JzLnllbGxvdykoKDAsIF9waWNvY29sb3JzLmJvbGQpKFwi4pqgXCIpKSxcbiAgICByZWFkeTogXCLilrJcIixcbiAgICBpbmZvOiAoMCwgX3BpY29jb2xvcnMud2hpdGUpKCgwLCBfcGljb2NvbG9ycy5ib2xkKShcIiBcIikpLFxuICAgIGV2ZW50OiAoMCwgX3BpY29jb2xvcnMuZ3JlZW4pKCgwLCBfcGljb2NvbG9ycy5ib2xkKShcIuKck1wiKSksXG4gICAgdHJhY2U6ICgwLCBfcGljb2NvbG9ycy5tYWdlbnRhKSgoMCwgX3BpY29jb2xvcnMuYm9sZCkoXCJcXHhiYlwiKSlcbn07XG5jb25zdCBMT0dHSU5HX01FVEhPRCA9IHtcbiAgICBsb2c6IFwibG9nXCIsXG4gICAgd2FybjogXCJ3YXJuXCIsXG4gICAgZXJyb3I6IFwiZXJyb3JcIlxufTtcbmZ1bmN0aW9uIHByZWZpeGVkTG9nKHByZWZpeFR5cGUsIC4uLm1lc3NhZ2UpIHtcbiAgICBpZiAoKG1lc3NhZ2VbMF0gPT09IFwiXCIgfHwgbWVzc2FnZVswXSA9PT0gdW5kZWZpbmVkKSAmJiBtZXNzYWdlLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICBtZXNzYWdlLnNoaWZ0KCk7XG4gICAgfVxuICAgIGNvbnN0IGNvbnNvbGVNZXRob2QgPSBwcmVmaXhUeXBlIGluIExPR0dJTkdfTUVUSE9EID8gTE9HR0lOR19NRVRIT0RbcHJlZml4VHlwZV0gOiBcImxvZ1wiO1xuICAgIGNvbnN0IHByZWZpeCA9IHByZWZpeGVzW3ByZWZpeFR5cGVdO1xuICAgIC8vIElmIHRoZXJlJ3Mgbm8gbWVzc2FnZSwgZG9uJ3QgcHJpbnQgdGhlIHByZWZpeCBidXQgYSBuZXcgbGluZVxuICAgIGlmIChtZXNzYWdlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBjb25zb2xlW2NvbnNvbGVNZXRob2RdKFwiXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGVbY29uc29sZU1ldGhvZF0oXCIgXCIgKyBwcmVmaXgsIC4uLm1lc3NhZ2UpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGJvb3RzdHJhcCguLi5tZXNzYWdlKSB7XG4gICAgY29uc29sZS5sb2coXCIgXCIsIC4uLm1lc3NhZ2UpO1xufVxuZnVuY3Rpb24gd2FpdCguLi5tZXNzYWdlKSB7XG4gICAgcHJlZml4ZWRMb2coXCJ3YWl0XCIsIC4uLm1lc3NhZ2UpO1xufVxuZnVuY3Rpb24gZXJyb3IoLi4ubWVzc2FnZSkge1xuICAgIHByZWZpeGVkTG9nKFwiZXJyb3JcIiwgLi4ubWVzc2FnZSk7XG59XG5mdW5jdGlvbiB3YXJuKC4uLm1lc3NhZ2UpIHtcbiAgICBwcmVmaXhlZExvZyhcIndhcm5cIiwgLi4ubWVzc2FnZSk7XG59XG5mdW5jdGlvbiByZWFkeSguLi5tZXNzYWdlKSB7XG4gICAgcHJlZml4ZWRMb2coXCJyZWFkeVwiLCAuLi5tZXNzYWdlKTtcbn1cbmZ1bmN0aW9uIGluZm8oLi4ubWVzc2FnZSkge1xuICAgIHByZWZpeGVkTG9nKFwiaW5mb1wiLCAuLi5tZXNzYWdlKTtcbn1cbmZ1bmN0aW9uIGV2ZW50KC4uLm1lc3NhZ2UpIHtcbiAgICBwcmVmaXhlZExvZyhcImV2ZW50XCIsIC4uLm1lc3NhZ2UpO1xufVxuZnVuY3Rpb24gdHJhY2UoLi4ubWVzc2FnZSkge1xuICAgIHByZWZpeGVkTG9nKFwidHJhY2VcIiwgLi4ubWVzc2FnZSk7XG59XG5jb25zdCB3YXJuT25jZU1lc3NhZ2VzID0gbmV3IFNldCgpO1xuZnVuY3Rpb24gd2Fybk9uY2UoLi4ubWVzc2FnZSkge1xuICAgIGlmICghd2Fybk9uY2VNZXNzYWdlcy5oYXMobWVzc2FnZVswXSkpIHtcbiAgICAgICAgd2Fybk9uY2VNZXNzYWdlcy5hZGQobWVzc2FnZS5qb2luKFwiIFwiKSk7XG4gICAgICAgIHdhcm4oLi4ubWVzc2FnZSk7XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1sb2cuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwicHJlZml4ZXMiLCJib290c3RyYXAiLCJ3YWl0IiwiZXJyb3IiLCJ3YXJuIiwicmVhZHkiLCJpbmZvIiwiZXZlbnQiLCJ0cmFjZSIsIndhcm5PbmNlIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3BpY29jb2xvcnMiLCJyZXF1aXJlIiwid2hpdGUiLCJib2xkIiwicmVkIiwieWVsbG93IiwiZ3JlZW4iLCJtYWdlbnRhIiwiTE9HR0lOR19NRVRIT0QiLCJsb2ciLCJwcmVmaXhlZExvZyIsInByZWZpeFR5cGUiLCJtZXNzYWdlIiwidW5kZWZpbmVkIiwibGVuZ3RoIiwic2hpZnQiLCJjb25zb2xlTWV0aG9kIiwicHJlZml4IiwiY29uc29sZSIsIndhcm5PbmNlTWVzc2FnZXMiLCJTZXQiLCJoYXMiLCJhZGQiLCJqb2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/build/output/log.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/build/output/log.js": /*!****************************************************!*\ !*** ./node_modules/next/dist/build/output/log.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n prefixes: function() {\n return prefixes;\n },\n bootstrap: function() {\n return bootstrap;\n },\n wait: function() {\n return wait;\n },\n error: function() {\n return error;\n },\n warn: function() {\n return warn;\n },\n ready: function() {\n return ready;\n },\n info: function() {\n return info;\n },\n event: function() {\n return event;\n },\n trace: function() {\n return trace;\n },\n warnOnce: function() {\n return warnOnce;\n }\n});\nconst _picocolors = __webpack_require__(/*! ../../lib/picocolors */ \"(rsc)/./node_modules/next/dist/lib/picocolors.js\");\nconst prefixes = {\n wait: (0, _picocolors.white)((0, _picocolors.bold)(\"○\")),\n error: (0, _picocolors.red)((0, _picocolors.bold)(\"⨯\")),\n warn: (0, _picocolors.yellow)((0, _picocolors.bold)(\"⚠\")),\n ready: \"▲\",\n info: (0, _picocolors.white)((0, _picocolors.bold)(\" \")),\n event: (0, _picocolors.green)((0, _picocolors.bold)(\"✓\")),\n trace: (0, _picocolors.magenta)((0, _picocolors.bold)(\"\\xbb\"))\n};\nconst LOGGING_METHOD = {\n log: \"log\",\n warn: \"warn\",\n error: \"error\"\n};\nfunction prefixedLog(prefixType, ...message) {\n if ((message[0] === \"\" || message[0] === undefined) && message.length === 1) {\n message.shift();\n }\n const consoleMethod = prefixType in LOGGING_METHOD ? LOGGING_METHOD[prefixType] : \"log\";\n const prefix = prefixes[prefixType];\n // If there's no message, don't print the prefix but a new line\n if (message.length === 0) {\n console[consoleMethod](\"\");\n } else {\n console[consoleMethod](\" \" + prefix, ...message);\n }\n}\nfunction bootstrap(...message) {\n console.log(\" \", ...message);\n}\nfunction wait(...message) {\n prefixedLog(\"wait\", ...message);\n}\nfunction error(...message) {\n prefixedLog(\"error\", ...message);\n}\nfunction warn(...message) {\n prefixedLog(\"warn\", ...message);\n}\nfunction ready(...message) {\n prefixedLog(\"ready\", ...message);\n}\nfunction info(...message) {\n prefixedLog(\"info\", ...message);\n}\nfunction event(...message) {\n prefixedLog(\"event\", ...message);\n}\nfunction trace(...message) {\n prefixedLog(\"trace\", ...message);\n}\nconst warnOnceMessages = new Set();\nfunction warnOnce(...message) {\n if (!warnOnceMessages.has(message[0])) {\n warnOnceMessages.add(message.join(\" \"));\n warn(...message);\n }\n} //# sourceMappingURL=log.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL291dHB1dC9sb2cuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FXTjtBQUNBLFNBQVNXLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlqQixPQUFPQyxjQUFjLENBQUNlLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUWIsU0FBUztJQUNiRyxVQUFVO1FBQ04sT0FBT0E7SUFDWDtJQUNBQyxXQUFXO1FBQ1AsT0FBT0E7SUFDWDtJQUNBQyxNQUFNO1FBQ0YsT0FBT0E7SUFDWDtJQUNBQyxPQUFPO1FBQ0gsT0FBT0E7SUFDWDtJQUNBQyxNQUFNO1FBQ0YsT0FBT0E7SUFDWDtJQUNBQyxPQUFPO1FBQ0gsT0FBT0E7SUFDWDtJQUNBQyxNQUFNO1FBQ0YsT0FBT0E7SUFDWDtJQUNBQyxPQUFPO1FBQ0gsT0FBT0E7SUFDWDtJQUNBQyxPQUFPO1FBQ0gsT0FBT0E7SUFDWDtJQUNBQyxVQUFVO1FBQ04sT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sY0FBY0MsbUJBQU9BLENBQUMsOEVBQXNCO0FBQ2xELE1BQU1qQixXQUFXO0lBQ2JFLE1BQU0sQ0FBQyxHQUFHYyxZQUFZRSxLQUFLLEVBQUUsQ0FBQyxHQUFHRixZQUFZRyxJQUFJLEVBQUU7SUFDbkRoQixPQUFPLENBQUMsR0FBR2EsWUFBWUksR0FBRyxFQUFFLENBQUMsR0FBR0osWUFBWUcsSUFBSSxFQUFFO0lBQ2xEZixNQUFNLENBQUMsR0FBR1ksWUFBWUssTUFBTSxFQUFFLENBQUMsR0FBR0wsWUFBWUcsSUFBSSxFQUFFO0lBQ3BEZCxPQUFPO0lBQ1BDLE1BQU0sQ0FBQyxHQUFHVSxZQUFZRSxLQUFLLEVBQUUsQ0FBQyxHQUFHRixZQUFZRyxJQUFJLEVBQUU7SUFDbkRaLE9BQU8sQ0FBQyxHQUFHUyxZQUFZTSxLQUFLLEVBQUUsQ0FBQyxHQUFHTixZQUFZRyxJQUFJLEVBQUU7SUFDcERYLE9BQU8sQ0FBQyxHQUFHUSxZQUFZTyxPQUFPLEVBQUUsQ0FBQyxHQUFHUCxZQUFZRyxJQUFJLEVBQUU7QUFDMUQ7QUFDQSxNQUFNSyxpQkFBaUI7SUFDbkJDLEtBQUs7SUFDTHJCLE1BQU07SUFDTkQsT0FBTztBQUNYO0FBQ0EsU0FBU3VCLFlBQVlDLFVBQVUsRUFBRSxHQUFHQyxPQUFPO0lBQ3ZDLElBQUksQ0FBQ0EsT0FBTyxDQUFDLEVBQUUsS0FBSyxNQUFNQSxPQUFPLENBQUMsRUFBRSxLQUFLQyxTQUFRLEtBQU1ELFFBQVFFLE1BQU0sS0FBSyxHQUFHO1FBQ3pFRixRQUFRRyxLQUFLO0lBQ2pCO0lBQ0EsTUFBTUMsZ0JBQWdCTCxjQUFjSCxpQkFBaUJBLGNBQWMsQ0FBQ0csV0FBVyxHQUFHO0lBQ2xGLE1BQU1NLFNBQVNqQyxRQUFRLENBQUMyQixXQUFXO0lBQ25DLCtEQUErRDtJQUMvRCxJQUFJQyxRQUFRRSxNQUFNLEtBQUssR0FBRztRQUN0QkksT0FBTyxDQUFDRixjQUFjLENBQUM7SUFDM0IsT0FBTztRQUNIRSxPQUFPLENBQUNGLGNBQWMsQ0FBQyxNQUFNQyxXQUFXTDtJQUM1QztBQUNKO0FBQ0EsU0FBUzNCLFVBQVUsR0FBRzJCLE9BQU87SUFDekJNLFFBQVFULEdBQUcsQ0FBQyxRQUFRRztBQUN4QjtBQUNBLFNBQVMxQixLQUFLLEdBQUcwQixPQUFPO0lBQ3BCRixZQUFZLFdBQVdFO0FBQzNCO0FBQ0EsU0FBU3pCLE1BQU0sR0FBR3lCLE9BQU87SUFDckJGLFlBQVksWUFBWUU7QUFDNUI7QUFDQSxTQUFTeEIsS0FBSyxHQUFHd0IsT0FBTztJQUNwQkYsWUFBWSxXQUFXRTtBQUMzQjtBQUNBLFNBQVN2QixNQUFNLEdBQUd1QixPQUFPO0lBQ3JCRixZQUFZLFlBQVlFO0FBQzVCO0FBQ0EsU0FBU3RCLEtBQUssR0FBR3NCLE9BQU87SUFDcEJGLFlBQVksV0FBV0U7QUFDM0I7QUFDQSxTQUFTckIsTUFBTSxHQUFHcUIsT0FBTztJQUNyQkYsWUFBWSxZQUFZRTtBQUM1QjtBQUNBLFNBQVNwQixNQUFNLEdBQUdvQixPQUFPO0lBQ3JCRixZQUFZLFlBQVlFO0FBQzVCO0FBQ0EsTUFBTU8sbUJBQW1CLElBQUlDO0FBQzdCLFNBQVMzQixTQUFTLEdBQUdtQixPQUFPO0lBQ3hCLElBQUksQ0FBQ08saUJBQWlCRSxHQUFHLENBQUNULE9BQU8sQ0FBQyxFQUFFLEdBQUc7UUFDbkNPLGlCQUFpQkcsR0FBRyxDQUFDVixRQUFRVyxJQUFJLENBQUM7UUFDbENuQyxRQUFRd0I7SUFDWjtBQUNKLEVBRUEsK0JBQStCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC9vdXRwdXQvbG9nLmpzP2U5NGUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBwcmVmaXhlczogbnVsbCxcbiAgICBib290c3RyYXA6IG51bGwsXG4gICAgd2FpdDogbnVsbCxcbiAgICBlcnJvcjogbnVsbCxcbiAgICB3YXJuOiBudWxsLFxuICAgIHJlYWR5OiBudWxsLFxuICAgIGluZm86IG51bGwsXG4gICAgZXZlbnQ6IG51bGwsXG4gICAgdHJhY2U6IG51bGwsXG4gICAgd2Fybk9uY2U6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgcHJlZml4ZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcHJlZml4ZXM7XG4gICAgfSxcbiAgICBib290c3RyYXA6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYm9vdHN0cmFwO1xuICAgIH0sXG4gICAgd2FpdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB3YWl0O1xuICAgIH0sXG4gICAgZXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXJyb3I7XG4gICAgfSxcbiAgICB3YXJuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHdhcm47XG4gICAgfSxcbiAgICByZWFkeTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByZWFkeTtcbiAgICB9LFxuICAgIGluZm86IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaW5mbztcbiAgICB9LFxuICAgIGV2ZW50OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGV2ZW50O1xuICAgIH0sXG4gICAgdHJhY2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdHJhY2U7XG4gICAgfSxcbiAgICB3YXJuT25jZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB3YXJuT25jZTtcbiAgICB9XG59KTtcbmNvbnN0IF9waWNvY29sb3JzID0gcmVxdWlyZShcIi4uLy4uL2xpYi9waWNvY29sb3JzXCIpO1xuY29uc3QgcHJlZml4ZXMgPSB7XG4gICAgd2FpdDogKDAsIF9waWNvY29sb3JzLndoaXRlKSgoMCwgX3BpY29jb2xvcnMuYm9sZCkoXCLil4tcIikpLFxuICAgIGVycm9yOiAoMCwgX3BpY29jb2xvcnMucmVkKSgoMCwgX3BpY29jb2xvcnMuYm9sZCkoXCLiqK9cIikpLFxuICAgIHdhcm46ICgwLCBfcGljb2NvbG9ycy55ZWxsb3cpKCgwLCBfcGljb2NvbG9ycy5ib2xkKShcIuKaoFwiKSksXG4gICAgcmVhZHk6IFwi4payXCIsXG4gICAgaW5mbzogKDAsIF9waWNvY29sb3JzLndoaXRlKSgoMCwgX3BpY29jb2xvcnMuYm9sZCkoXCIgXCIpKSxcbiAgICBldmVudDogKDAsIF9waWNvY29sb3JzLmdyZWVuKSgoMCwgX3BpY29jb2xvcnMuYm9sZCkoXCLinJNcIikpLFxuICAgIHRyYWNlOiAoMCwgX3BpY29jb2xvcnMubWFnZW50YSkoKDAsIF9waWNvY29sb3JzLmJvbGQpKFwiXFx4YmJcIikpXG59O1xuY29uc3QgTE9HR0lOR19NRVRIT0QgPSB7XG4gICAgbG9nOiBcImxvZ1wiLFxuICAgIHdhcm46IFwid2FyblwiLFxuICAgIGVycm9yOiBcImVycm9yXCJcbn07XG5mdW5jdGlvbiBwcmVmaXhlZExvZyhwcmVmaXhUeXBlLCAuLi5tZXNzYWdlKSB7XG4gICAgaWYgKChtZXNzYWdlWzBdID09PSBcIlwiIHx8IG1lc3NhZ2VbMF0gPT09IHVuZGVmaW5lZCkgJiYgbWVzc2FnZS5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgbWVzc2FnZS5zaGlmdCgpO1xuICAgIH1cbiAgICBjb25zdCBjb25zb2xlTWV0aG9kID0gcHJlZml4VHlwZSBpbiBMT0dHSU5HX01FVEhPRCA/IExPR0dJTkdfTUVUSE9EW3ByZWZpeFR5cGVdIDogXCJsb2dcIjtcbiAgICBjb25zdCBwcmVmaXggPSBwcmVmaXhlc1twcmVmaXhUeXBlXTtcbiAgICAvLyBJZiB0aGVyZSdzIG5vIG1lc3NhZ2UsIGRvbid0IHByaW50IHRoZSBwcmVmaXggYnV0IGEgbmV3IGxpbmVcbiAgICBpZiAobWVzc2FnZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgY29uc29sZVtjb25zb2xlTWV0aG9kXShcIlwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlW2NvbnNvbGVNZXRob2RdKFwiIFwiICsgcHJlZml4LCAuLi5tZXNzYWdlKTtcbiAgICB9XG59XG5mdW5jdGlvbiBib290c3RyYXAoLi4ubWVzc2FnZSkge1xuICAgIGNvbnNvbGUubG9nKFwiIFwiLCAuLi5tZXNzYWdlKTtcbn1cbmZ1bmN0aW9uIHdhaXQoLi4ubWVzc2FnZSkge1xuICAgIHByZWZpeGVkTG9nKFwid2FpdFwiLCAuLi5tZXNzYWdlKTtcbn1cbmZ1bmN0aW9uIGVycm9yKC4uLm1lc3NhZ2UpIHtcbiAgICBwcmVmaXhlZExvZyhcImVycm9yXCIsIC4uLm1lc3NhZ2UpO1xufVxuZnVuY3Rpb24gd2FybiguLi5tZXNzYWdlKSB7XG4gICAgcHJlZml4ZWRMb2coXCJ3YXJuXCIsIC4uLm1lc3NhZ2UpO1xufVxuZnVuY3Rpb24gcmVhZHkoLi4ubWVzc2FnZSkge1xuICAgIHByZWZpeGVkTG9nKFwicmVhZHlcIiwgLi4ubWVzc2FnZSk7XG59XG5mdW5jdGlvbiBpbmZvKC4uLm1lc3NhZ2UpIHtcbiAgICBwcmVmaXhlZExvZyhcImluZm9cIiwgLi4ubWVzc2FnZSk7XG59XG5mdW5jdGlvbiBldmVudCguLi5tZXNzYWdlKSB7XG4gICAgcHJlZml4ZWRMb2coXCJldmVudFwiLCAuLi5tZXNzYWdlKTtcbn1cbmZ1bmN0aW9uIHRyYWNlKC4uLm1lc3NhZ2UpIHtcbiAgICBwcmVmaXhlZExvZyhcInRyYWNlXCIsIC4uLm1lc3NhZ2UpO1xufVxuY29uc3Qgd2Fybk9uY2VNZXNzYWdlcyA9IG5ldyBTZXQoKTtcbmZ1bmN0aW9uIHdhcm5PbmNlKC4uLm1lc3NhZ2UpIHtcbiAgICBpZiAoIXdhcm5PbmNlTWVzc2FnZXMuaGFzKG1lc3NhZ2VbMF0pKSB7XG4gICAgICAgIHdhcm5PbmNlTWVzc2FnZXMuYWRkKG1lc3NhZ2Uuam9pbihcIiBcIikpO1xuICAgICAgICB3YXJuKC4uLm1lc3NhZ2UpO1xuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bG9nLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsInByZWZpeGVzIiwiYm9vdHN0cmFwIiwid2FpdCIsImVycm9yIiwid2FybiIsInJlYWR5IiwiaW5mbyIsImV2ZW50IiwidHJhY2UiLCJ3YXJuT25jZSIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9waWNvY29sb3JzIiwicmVxdWlyZSIsIndoaXRlIiwiYm9sZCIsInJlZCIsInllbGxvdyIsImdyZWVuIiwibWFnZW50YSIsIkxPR0dJTkdfTUVUSE9EIiwibG9nIiwicHJlZml4ZWRMb2ciLCJwcmVmaXhUeXBlIiwibWVzc2FnZSIsInVuZGVmaW5lZCIsImxlbmd0aCIsInNoaWZ0IiwiY29uc29sZU1ldGhvZCIsInByZWZpeCIsImNvbnNvbGUiLCJ3YXJuT25jZU1lc3NhZ2VzIiwiU2V0IiwiaGFzIiwiYWRkIiwiam9pbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/output/log.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/build/webpack/loaders/metadata/resolve-route-data.js": /*!*************************************************************************************!*\ !*** ./node_modules/next/dist/build/webpack/loaders/metadata/resolve-route-data.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n resolveRobots: function() {\n return resolveRobots;\n },\n resolveSitemap: function() {\n return resolveSitemap;\n },\n resolveManifest: function() {\n return resolveManifest;\n },\n resolveRouteData: function() {\n return resolveRouteData;\n }\n});\nconst _utils = __webpack_require__(/*! ../../../../lib/metadata/generate/utils */ \"(app-metadata-route)/./node_modules/next/dist/lib/metadata/generate/utils.js\");\nfunction resolveRobots(data) {\n let content = \"\";\n const rules = Array.isArray(data.rules) ? data.rules : [\n data.rules\n ];\n for (const rule of rules){\n const userAgent = (0, _utils.resolveArray)(rule.userAgent || [\n \"*\"\n ]);\n for (const agent of userAgent){\n content += `User-Agent: ${agent}\\n`;\n }\n if (rule.allow) {\n const allow = (0, _utils.resolveArray)(rule.allow);\n for (const item of allow){\n content += `Allow: ${item}\\n`;\n }\n }\n if (rule.disallow) {\n const disallow = (0, _utils.resolveArray)(rule.disallow);\n for (const item of disallow){\n content += `Disallow: ${item}\\n`;\n }\n }\n if (rule.crawlDelay) {\n content += `Crawl-delay: ${rule.crawlDelay}\\n`;\n }\n content += \"\\n\";\n }\n if (data.host) {\n content += `Host: ${data.host}\\n`;\n }\n if (data.sitemap) {\n const sitemap = (0, _utils.resolveArray)(data.sitemap);\n // TODO-METADATA: support injecting sitemap url into robots.txt\n sitemap.forEach((item)=>{\n content += `Sitemap: ${item}\\n`;\n });\n }\n return content;\n}\nfunction resolveSitemap(data) {\n let content = \"\";\n content += '<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n';\n content += '<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\\n';\n for (const item of data){\n content += \"<url>\\n\";\n content += `<loc>${item.url}</loc>\\n`;\n if (item.lastModified) {\n const serializedDate = item.lastModified instanceof Date ? item.lastModified.toISOString() : item.lastModified;\n content += `<lastmod>${serializedDate}</lastmod>\\n`;\n }\n if (item.changeFrequency) {\n content += `<changefreq>${item.changeFrequency}</changefreq>\\n`;\n }\n if (typeof item.priority === \"number\") {\n content += `<priority>${item.priority}</priority>\\n`;\n }\n content += \"</url>\\n\";\n }\n content += \"</urlset>\\n\";\n return content;\n}\nfunction resolveManifest(data) {\n return JSON.stringify(data);\n}\nfunction resolveRouteData(data, fileType) {\n if (fileType === \"robots\") {\n return resolveRobots(data);\n }\n if (fileType === \"sitemap\") {\n return resolveSitemap(data);\n }\n if (fileType === \"manifest\") {\n return resolveManifest(data);\n }\n return \"\";\n} //# sourceMappingURL=resolve-route-data.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9tZXRhZGF0YS9yZXNvbHZlLXJvdXRlLWRhdGEuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FLTjtBQUNBLFNBQVNLLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlYLE9BQU9DLGNBQWMsQ0FBQ1MsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRUCxTQUFTO0lBQ2JHLGVBQWU7UUFDWCxPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtJQUNBQyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxTQUFTQyxtQkFBT0EsQ0FBQyw2SEFBeUM7QUFDaEUsU0FBU1gsY0FBY1ksSUFBSTtJQUN2QixJQUFJQyxVQUFVO0lBQ2QsTUFBTUMsUUFBUUMsTUFBTUMsT0FBTyxDQUFDSixLQUFLRSxLQUFLLElBQUlGLEtBQUtFLEtBQUssR0FBRztRQUNuREYsS0FBS0UsS0FBSztLQUNiO0lBQ0QsS0FBSyxNQUFNRyxRQUFRSCxNQUFNO1FBQ3JCLE1BQU1JLFlBQVksQ0FBQyxHQUFHUixPQUFPUyxZQUFZLEVBQUVGLEtBQUtDLFNBQVMsSUFBSTtZQUN6RDtTQUNIO1FBQ0QsS0FBSyxNQUFNRSxTQUFTRixVQUFVO1lBQzFCTCxXQUFXLENBQUMsWUFBWSxFQUFFTyxNQUFNLEVBQUUsQ0FBQztRQUN2QztRQUNBLElBQUlILEtBQUtJLEtBQUssRUFBRTtZQUNaLE1BQU1BLFFBQVEsQ0FBQyxHQUFHWCxPQUFPUyxZQUFZLEVBQUVGLEtBQUtJLEtBQUs7WUFDakQsS0FBSyxNQUFNQyxRQUFRRCxNQUFNO2dCQUNyQlIsV0FBVyxDQUFDLE9BQU8sRUFBRVMsS0FBSyxFQUFFLENBQUM7WUFDakM7UUFDSjtRQUNBLElBQUlMLEtBQUtNLFFBQVEsRUFBRTtZQUNmLE1BQU1BLFdBQVcsQ0FBQyxHQUFHYixPQUFPUyxZQUFZLEVBQUVGLEtBQUtNLFFBQVE7WUFDdkQsS0FBSyxNQUFNRCxRQUFRQyxTQUFTO2dCQUN4QlYsV0FBVyxDQUFDLFVBQVUsRUFBRVMsS0FBSyxFQUFFLENBQUM7WUFDcEM7UUFDSjtRQUNBLElBQUlMLEtBQUtPLFVBQVUsRUFBRTtZQUNqQlgsV0FBVyxDQUFDLGFBQWEsRUFBRUksS0FBS08sVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUNsRDtRQUNBWCxXQUFXO0lBQ2Y7SUFDQSxJQUFJRCxLQUFLYSxJQUFJLEVBQUU7UUFDWFosV0FBVyxDQUFDLE1BQU0sRUFBRUQsS0FBS2EsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNyQztJQUNBLElBQUliLEtBQUtjLE9BQU8sRUFBRTtRQUNkLE1BQU1BLFVBQVUsQ0FBQyxHQUFHaEIsT0FBT1MsWUFBWSxFQUFFUCxLQUFLYyxPQUFPO1FBQ3JELCtEQUErRDtRQUMvREEsUUFBUUMsT0FBTyxDQUFDLENBQUNMO1lBQ2JULFdBQVcsQ0FBQyxTQUFTLEVBQUVTLEtBQUssRUFBRSxDQUFDO1FBQ25DO0lBQ0o7SUFDQSxPQUFPVDtBQUNYO0FBQ0EsU0FBU1osZUFBZVcsSUFBSTtJQUN4QixJQUFJQyxVQUFVO0lBQ2RBLFdBQVc7SUFDWEEsV0FBVztJQUNYLEtBQUssTUFBTVMsUUFBUVYsS0FBSztRQUNwQkMsV0FBVztRQUNYQSxXQUFXLENBQUMsS0FBSyxFQUFFUyxLQUFLTSxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3JDLElBQUlOLEtBQUtPLFlBQVksRUFBRTtZQUNuQixNQUFNQyxpQkFBaUJSLEtBQUtPLFlBQVksWUFBWUUsT0FBT1QsS0FBS08sWUFBWSxDQUFDRyxXQUFXLEtBQUtWLEtBQUtPLFlBQVk7WUFDOUdoQixXQUFXLENBQUMsU0FBUyxFQUFFaUIsZUFBZSxZQUFZLENBQUM7UUFDdkQ7UUFDQSxJQUFJUixLQUFLVyxlQUFlLEVBQUU7WUFDdEJwQixXQUFXLENBQUMsWUFBWSxFQUFFUyxLQUFLVyxlQUFlLENBQUMsZUFBZSxDQUFDO1FBQ25FO1FBQ0EsSUFBSSxPQUFPWCxLQUFLWSxRQUFRLEtBQUssVUFBVTtZQUNuQ3JCLFdBQVcsQ0FBQyxVQUFVLEVBQUVTLEtBQUtZLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFDeEQ7UUFDQXJCLFdBQVc7SUFDZjtJQUNBQSxXQUFXO0lBQ1gsT0FBT0E7QUFDWDtBQUNBLFNBQVNYLGdCQUFnQlUsSUFBSTtJQUN6QixPQUFPdUIsS0FBS0MsU0FBUyxDQUFDeEI7QUFDMUI7QUFDQSxTQUFTVCxpQkFBaUJTLElBQUksRUFBRXlCLFFBQVE7SUFDcEMsSUFBSUEsYUFBYSxVQUFVO1FBQ3ZCLE9BQU9yQyxjQUFjWTtJQUN6QjtJQUNBLElBQUl5QixhQUFhLFdBQVc7UUFDeEIsT0FBT3BDLGVBQWVXO0lBQzFCO0lBQ0EsSUFBSXlCLGFBQWEsWUFBWTtRQUN6QixPQUFPbkMsZ0JBQWdCVTtJQUMzQjtJQUNBLE9BQU87QUFDWCxFQUVBLDhDQUE4QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL21ldGFkYXRhL3Jlc29sdmUtcm91dGUtZGF0YS5qcz83ODBhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgcmVzb2x2ZVJvYm90czogbnVsbCxcbiAgICByZXNvbHZlU2l0ZW1hcDogbnVsbCxcbiAgICByZXNvbHZlTWFuaWZlc3Q6IG51bGwsXG4gICAgcmVzb2x2ZVJvdXRlRGF0YTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICByZXNvbHZlUm9ib3RzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmVSb2JvdHM7XG4gICAgfSxcbiAgICByZXNvbHZlU2l0ZW1hcDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlU2l0ZW1hcDtcbiAgICB9LFxuICAgIHJlc29sdmVNYW5pZmVzdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlTWFuaWZlc3Q7XG4gICAgfSxcbiAgICByZXNvbHZlUm91dGVEYXRhOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmVSb3V0ZURhdGE7XG4gICAgfVxufSk7XG5jb25zdCBfdXRpbHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vbGliL21ldGFkYXRhL2dlbmVyYXRlL3V0aWxzXCIpO1xuZnVuY3Rpb24gcmVzb2x2ZVJvYm90cyhkYXRhKSB7XG4gICAgbGV0IGNvbnRlbnQgPSBcIlwiO1xuICAgIGNvbnN0IHJ1bGVzID0gQXJyYXkuaXNBcnJheShkYXRhLnJ1bGVzKSA/IGRhdGEucnVsZXMgOiBbXG4gICAgICAgIGRhdGEucnVsZXNcbiAgICBdO1xuICAgIGZvciAoY29uc3QgcnVsZSBvZiBydWxlcyl7XG4gICAgICAgIGNvbnN0IHVzZXJBZ2VudCA9ICgwLCBfdXRpbHMucmVzb2x2ZUFycmF5KShydWxlLnVzZXJBZ2VudCB8fCBbXG4gICAgICAgICAgICBcIipcIlxuICAgICAgICBdKTtcbiAgICAgICAgZm9yIChjb25zdCBhZ2VudCBvZiB1c2VyQWdlbnQpe1xuICAgICAgICAgICAgY29udGVudCArPSBgVXNlci1BZ2VudDogJHthZ2VudH1cXG5gO1xuICAgICAgICB9XG4gICAgICAgIGlmIChydWxlLmFsbG93KSB7XG4gICAgICAgICAgICBjb25zdCBhbGxvdyA9ICgwLCBfdXRpbHMucmVzb2x2ZUFycmF5KShydWxlLmFsbG93KTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBhbGxvdyl7XG4gICAgICAgICAgICAgICAgY29udGVudCArPSBgQWxsb3c6ICR7aXRlbX1cXG5gO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChydWxlLmRpc2FsbG93KSB7XG4gICAgICAgICAgICBjb25zdCBkaXNhbGxvdyA9ICgwLCBfdXRpbHMucmVzb2x2ZUFycmF5KShydWxlLmRpc2FsbG93KTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBkaXNhbGxvdyl7XG4gICAgICAgICAgICAgICAgY29udGVudCArPSBgRGlzYWxsb3c6ICR7aXRlbX1cXG5gO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChydWxlLmNyYXdsRGVsYXkpIHtcbiAgICAgICAgICAgIGNvbnRlbnQgKz0gYENyYXdsLWRlbGF5OiAke3J1bGUuY3Jhd2xEZWxheX1cXG5gO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRlbnQgKz0gXCJcXG5cIjtcbiAgICB9XG4gICAgaWYgKGRhdGEuaG9zdCkge1xuICAgICAgICBjb250ZW50ICs9IGBIb3N0OiAke2RhdGEuaG9zdH1cXG5gO1xuICAgIH1cbiAgICBpZiAoZGF0YS5zaXRlbWFwKSB7XG4gICAgICAgIGNvbnN0IHNpdGVtYXAgPSAoMCwgX3V0aWxzLnJlc29sdmVBcnJheSkoZGF0YS5zaXRlbWFwKTtcbiAgICAgICAgLy8gVE9ETy1NRVRBREFUQTogc3VwcG9ydCBpbmplY3Rpbmcgc2l0ZW1hcCB1cmwgaW50byByb2JvdHMudHh0XG4gICAgICAgIHNpdGVtYXAuZm9yRWFjaCgoaXRlbSk9PntcbiAgICAgICAgICAgIGNvbnRlbnQgKz0gYFNpdGVtYXA6ICR7aXRlbX1cXG5gO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG59XG5mdW5jdGlvbiByZXNvbHZlU2l0ZW1hcChkYXRhKSB7XG4gICAgbGV0IGNvbnRlbnQgPSBcIlwiO1xuICAgIGNvbnRlbnQgKz0gJzw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cIlVURi04XCI/Plxcbic7XG4gICAgY29udGVudCArPSAnPHVybHNldCB4bWxucz1cImh0dHA6Ly93d3cuc2l0ZW1hcHMub3JnL3NjaGVtYXMvc2l0ZW1hcC8wLjlcIj5cXG4nO1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBkYXRhKXtcbiAgICAgICAgY29udGVudCArPSBcIjx1cmw+XFxuXCI7XG4gICAgICAgIGNvbnRlbnQgKz0gYDxsb2M+JHtpdGVtLnVybH08L2xvYz5cXG5gO1xuICAgICAgICBpZiAoaXRlbS5sYXN0TW9kaWZpZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlcmlhbGl6ZWREYXRlID0gaXRlbS5sYXN0TW9kaWZpZWQgaW5zdGFuY2VvZiBEYXRlID8gaXRlbS5sYXN0TW9kaWZpZWQudG9JU09TdHJpbmcoKSA6IGl0ZW0ubGFzdE1vZGlmaWVkO1xuICAgICAgICAgICAgY29udGVudCArPSBgPGxhc3Rtb2Q+JHtzZXJpYWxpemVkRGF0ZX08L2xhc3Rtb2Q+XFxuYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXRlbS5jaGFuZ2VGcmVxdWVuY3kpIHtcbiAgICAgICAgICAgIGNvbnRlbnQgKz0gYDxjaGFuZ2VmcmVxPiR7aXRlbS5jaGFuZ2VGcmVxdWVuY3l9PC9jaGFuZ2VmcmVxPlxcbmA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtLnByaW9yaXR5ID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICBjb250ZW50ICs9IGA8cHJpb3JpdHk+JHtpdGVtLnByaW9yaXR5fTwvcHJpb3JpdHk+XFxuYDtcbiAgICAgICAgfVxuICAgICAgICBjb250ZW50ICs9IFwiPC91cmw+XFxuXCI7XG4gICAgfVxuICAgIGNvbnRlbnQgKz0gXCI8L3VybHNldD5cXG5cIjtcbiAgICByZXR1cm4gY29udGVudDtcbn1cbmZ1bmN0aW9uIHJlc29sdmVNYW5pZmVzdChkYXRhKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGRhdGEpO1xufVxuZnVuY3Rpb24gcmVzb2x2ZVJvdXRlRGF0YShkYXRhLCBmaWxlVHlwZSkge1xuICAgIGlmIChmaWxlVHlwZSA9PT0gXCJyb2JvdHNcIikge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZVJvYm90cyhkYXRhKTtcbiAgICB9XG4gICAgaWYgKGZpbGVUeXBlID09PSBcInNpdGVtYXBcIikge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZVNpdGVtYXAoZGF0YSk7XG4gICAgfVxuICAgIGlmIChmaWxlVHlwZSA9PT0gXCJtYW5pZmVzdFwiKSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlTWFuaWZlc3QoZGF0YSk7XG4gICAgfVxuICAgIHJldHVybiBcIlwiO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZXNvbHZlLXJvdXRlLWRhdGEuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwicmVzb2x2ZVJvYm90cyIsInJlc29sdmVTaXRlbWFwIiwicmVzb2x2ZU1hbmlmZXN0IiwicmVzb2x2ZVJvdXRlRGF0YSIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl91dGlscyIsInJlcXVpcmUiLCJkYXRhIiwiY29udGVudCIsInJ1bGVzIiwiQXJyYXkiLCJpc0FycmF5IiwicnVsZSIsInVzZXJBZ2VudCIsInJlc29sdmVBcnJheSIsImFnZW50IiwiYWxsb3ciLCJpdGVtIiwiZGlzYWxsb3ciLCJjcmF3bERlbGF5IiwiaG9zdCIsInNpdGVtYXAiLCJmb3JFYWNoIiwidXJsIiwibGFzdE1vZGlmaWVkIiwic2VyaWFsaXplZERhdGUiLCJEYXRlIiwidG9JU09TdHJpbmciLCJjaGFuZ2VGcmVxdWVuY3kiLCJwcmlvcml0eSIsIkpTT04iLCJzdHJpbmdpZnkiLCJmaWxlVHlwZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/build/webpack/loaders/metadata/resolve-route-data.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/action-proxy.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-loader/action-proxy.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("/* eslint-disable import/no-extraneous-dependencies */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createActionProxy\", ({\n enumerable: true,\n get: function() {\n return createActionProxy;\n }\n}));\nconst _serveredge = __webpack_require__(/*! react-server-dom-webpack/server.edge */ \"(action-browser)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js\");\nfunction createActionProxy(id, action) {\n return (0, _serveredge.registerServerReference)(action, id, null);\n} //# sourceMappingURL=action-proxy.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWxvYWRlci9hY3Rpb24tcHJveHkuanMiLCJtYXBwaW5ncyI6IkFBQUEsb0RBQW9ELEdBQWdCO0FBQ3BFQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgscURBQW9EO0lBQ2hESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsY0FBY0MsbUJBQU9BLENBQUMsaUxBQXNDO0FBQ2xFLFNBQVNGLGtCQUFrQkcsRUFBRSxFQUFFQyxNQUFNO0lBQ2pDLE9BQU8sQ0FBQyxHQUFHSCxZQUFZSSx1QkFBdUIsRUFBRUQsUUFBUUQsSUFBSTtBQUNoRSxFQUVBLHdDQUF3QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWxvYWRlci9hY3Rpb24tcHJveHkuanM/YTlmYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXMgKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjcmVhdGVBY3Rpb25Qcm94eVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlQWN0aW9uUHJveHk7XG4gICAgfVxufSk7XG5jb25zdCBfc2VydmVyZWRnZSA9IHJlcXVpcmUoXCJyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svc2VydmVyLmVkZ2VcIik7XG5mdW5jdGlvbiBjcmVhdGVBY3Rpb25Qcm94eShpZCwgYWN0aW9uKSB7XG4gICAgcmV0dXJuICgwLCBfc2VydmVyZWRnZS5yZWdpc3RlclNlcnZlclJlZmVyZW5jZSkoYWN0aW9uLCBpZCwgbnVsbCk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFjdGlvbi1wcm94eS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiY3JlYXRlQWN0aW9uUHJveHkiLCJfc2VydmVyZWRnZSIsInJlcXVpcmUiLCJpZCIsImFjdGlvbiIsInJlZ2lzdGVyU2VydmVyUmVmZXJlbmNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/action-proxy.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/action-validate.js": /*!********************************************************************************************!*\ !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-loader/action-validate.js ***! \********************************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ensureServerEntryExports\", ({\n enumerable: true,\n get: function() {\n return ensureServerEntryExports;\n }\n}));\nfunction ensureServerEntryExports(actions) {\n for(let i = 0; i < actions.length; i++){\n const action = actions[i];\n if (typeof action !== \"function\") {\n throw new Error(`A \"use server\" file can only export async functions, found ${typeof action}.`);\n }\n }\n} //# sourceMappingURL=action-validate.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWxvYWRlci9hY3Rpb24tdmFsaWRhdGUuanMiLCJtYXBwaW5ncyI6IkFBQUEsK0VBQStFO0FBQy9FLHlFQUF5RTtBQUN6RSxpRUFBaUU7QUFDcEQ7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDREQUEyRDtJQUN2REksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLHlCQUF5QkMsT0FBTztJQUNyQyxJQUFJLElBQUlDLElBQUksR0FBR0EsSUFBSUQsUUFBUUUsTUFBTSxFQUFFRCxJQUFJO1FBQ25DLE1BQU1FLFNBQVNILE9BQU8sQ0FBQ0MsRUFBRTtRQUN6QixJQUFJLE9BQU9FLFdBQVcsWUFBWTtZQUM5QixNQUFNLElBQUlDLE1BQU0sQ0FBQywyREFBMkQsRUFBRSxPQUFPRCxPQUFPLENBQUMsQ0FBQztRQUNsRztJQUNKO0FBQ0osRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1sb2FkZXIvYWN0aW9uLXZhbGlkYXRlLmpzPzYwMmQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBmdW5jdGlvbiBlbnN1cmVzIHRoYXQgYWxsIHRoZSBleHBvcnRlZCB2YWx1ZXMgYXJlIHZhbGlkIHNlcnZlciBhY3Rpb25zLFxuLy8gZHVyaW5nIHRoZSBydW50aW1lLiBCeSBkZWZpbml0aW9uIGFsbCBhY3Rpb25zIGFyZSByZXF1aXJlZCB0byBiZSBhc3luY1xuLy8gZnVuY3Rpb25zLCBidXQgaGVyZSB3ZSBjYW4gb25seSBjaGVjayB0aGF0IHRoZXkgYXJlIGZ1bmN0aW9ucy5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZW5zdXJlU2VydmVyRW50cnlFeHBvcnRzXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBlbnN1cmVTZXJ2ZXJFbnRyeUV4cG9ydHM7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBlbnN1cmVTZXJ2ZXJFbnRyeUV4cG9ydHMoYWN0aW9ucykge1xuICAgIGZvcihsZXQgaSA9IDA7IGkgPCBhY3Rpb25zLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgY29uc3QgYWN0aW9uID0gYWN0aW9uc1tpXTtcbiAgICAgICAgaWYgKHR5cGVvZiBhY3Rpb24gIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBIFwidXNlIHNlcnZlclwiIGZpbGUgY2FuIG9ubHkgZXhwb3J0IGFzeW5jIGZ1bmN0aW9ucywgZm91bmQgJHt0eXBlb2YgYWN0aW9ufS5gKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWN0aW9uLXZhbGlkYXRlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJlbnN1cmVTZXJ2ZXJFbnRyeUV4cG9ydHMiLCJhY3Rpb25zIiwiaSIsImxlbmd0aCIsImFjdGlvbiIsIkVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/action-validate.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("/* eslint-disable import/no-extraneous-dependencies */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createProxy\", ({\n enumerable: true,\n get: function() {\n return createProxy;\n }\n}));\nconst _serveredge = __webpack_require__(/*! react-server-dom-webpack/server.edge */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js\");\nconst createProxy = _serveredge.createClientModuleProxy; //# sourceMappingURL=module-proxy.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1sb2FkZXIvbW9kdWxlLXByb3h5LmpzIiwibWFwcGluZ3MiOiJBQUFBLG9EQUFvRCxHQUFnQjtBQUNwRUEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILCtDQUE4QztJQUMxQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGNBQWNDLG1CQUFPQSxDQUFDLHNLQUFzQztBQUNsRSxNQUFNRixjQUFjQyxZQUFZRSx1QkFBdUIsRUFFdkQsd0NBQXdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvbmV4dC1mbGlnaHQtbG9hZGVyL21vZHVsZS1wcm94eS5qcz84YWMxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNyZWF0ZVByb3h5XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVQcm94eTtcbiAgICB9XG59KTtcbmNvbnN0IF9zZXJ2ZXJlZGdlID0gcmVxdWlyZShcInJlYWN0LXNlcnZlci1kb20td2VicGFjay9zZXJ2ZXIuZWRnZVwiKTtcbmNvbnN0IGNyZWF0ZVByb3h5ID0gX3NlcnZlcmVkZ2UuY3JlYXRlQ2xpZW50TW9kdWxlUHJveHk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1vZHVsZS1wcm94eS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiY3JlYXRlUHJveHkiLCJfc2VydmVyZWRnZSIsInJlcXVpcmUiLCJjcmVhdGVDbGllbnRNb2R1bGVQcm94eSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/app-router.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/client/components/app-router.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nconst { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\nmodule.exports = createProxy(\"/home/robin/AI/Coding/Whisky/node_modules/next/dist/client/components/app-router.js\");\n //# sourceMappingURL=app-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7O0NBeWlCQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXIuanM/NDE1OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBnZXRTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyOiBudWxsLFxuICAgIHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcjogbnVsbCxcbiAgICBjcmVhdGVFbXB0eUNhY2hlTm9kZTogbnVsbCxcbiAgICBkZWZhdWx0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGdldFNlcnZlckFjdGlvbkRpc3BhdGNoZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0U2VydmVyQWN0aW9uRGlzcGF0Y2hlcjtcbiAgICB9LFxuICAgIHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXI7XG4gICAgfSxcbiAgICBjcmVhdGVFbXB0eUNhY2hlTm9kZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVFbXB0eUNhY2hlTm9kZTtcbiAgICB9LFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQXBwUm91dGVyO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY29uc3QgX3JvdXRlcnJlZHVjZXJ0eXBlcyA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyLXR5cGVzXCIpO1xuY29uc3QgX2NyZWF0ZWhyZWZmcm9tdXJsID0gcmVxdWlyZShcIi4vcm91dGVyLXJlZHVjZXIvY3JlYXRlLWhyZWYtZnJvbS11cmxcIik7XG5jb25zdCBfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2hvb2tzLWNsaWVudC1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY29uc3QgX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMgPSByZXF1aXJlKFwiLi91c2UtcmVkdWNlci13aXRoLWRldnRvb2xzXCIpO1xuY29uc3QgX2Vycm9yYm91bmRhcnkgPSByZXF1aXJlKFwiLi9lcnJvci1ib3VuZGFyeVwiKTtcbmNvbnN0IF9jcmVhdGVpbml0aWFscm91dGVyc3RhdGUgPSByZXF1aXJlKFwiLi9yb3V0ZXItcmVkdWNlci9jcmVhdGUtaW5pdGlhbC1yb3V0ZXItc3RhdGVcIik7XG5jb25zdCBfaXNib3QgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtYm90XCIpO1xuY29uc3QgX2FkZGJhc2VwYXRoID0gcmVxdWlyZShcIi4uL2FkZC1iYXNlLXBhdGhcIik7XG5jb25zdCBfYXBwcm91dGVyYW5ub3VuY2VyID0gcmVxdWlyZShcIi4vYXBwLXJvdXRlci1hbm5vdW5jZXJcIik7XG5jb25zdCBfcmVkaXJlY3Rib3VuZGFyeSA9IHJlcXVpcmUoXCIuL3JlZGlyZWN0LWJvdW5kYXJ5XCIpO1xuY29uc3QgX2ZpbmRoZWFkaW5jYWNoZSA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2ZpbmQtaGVhZC1pbi1jYWNoZVwiKTtcbmNvbnN0IF9pbmZpbml0ZXByb21pc2UgPSByZXF1aXJlKFwiLi9pbmZpbml0ZS1wcm9taXNlXCIpO1xuY29uc3QgX2FwcHJvdXRlcmhlYWRlcnMgPSByZXF1aXJlKFwiLi9hcHAtcm91dGVyLWhlYWRlcnNcIik7XG5jb25zdCBfcmVtb3ZlYmFzZXBhdGggPSByZXF1aXJlKFwiLi4vcmVtb3ZlLWJhc2UtcGF0aFwiKTtcbmNvbnN0IF9oYXNiYXNlcGF0aCA9IHJlcXVpcmUoXCIuLi9oYXMtYmFzZS1wYXRoXCIpO1xuY29uc3QgaXNTZXJ2ZXIgPSB0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiO1xuLy8gRW5zdXJlIHRoZSBpbml0aWFsUGFyYWxsZWxSb3V0ZXMgYXJlIG5vdCBjb21iaW5lZCBiZWNhdXNlIG9mIGRvdWJsZS1yZW5kZXJpbmcgaW4gdGhlIGJyb3dzZXIgd2l0aCBTdHJpY3QgTW9kZS5cbmxldCBpbml0aWFsUGFyYWxsZWxSb3V0ZXMgPSBpc1NlcnZlciA/IG51bGwgOiBuZXcgTWFwKCk7XG5sZXQgZ2xvYmFsU2VydmVyQWN0aW9uRGlzcGF0Y2hlciA9IG51bGw7XG5mdW5jdGlvbiBnZXRTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyKCkge1xuICAgIHJldHVybiBnbG9iYWxTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyO1xufVxuY29uc3QgZ2xvYmFsTXV0YWJsZSA9IHt9O1xuZnVuY3Rpb24gdXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyKHVybCkge1xuICAgIGNvbnN0IHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzID0gbmV3IFVSTCh1cmwsIGxvY2F0aW9uLm9yaWdpbik7XG4gICAgdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMuc2VhcmNoUGFyYW1zLmRlbGV0ZShfYXBwcm91dGVyaGVhZGVycy5ORVhUX1JTQ19VTklPTl9RVUVSWSk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0NPTkZJR19PVVRQVVQgPT09IFwiZXhwb3J0XCIgJiYgdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMucGF0aG5hbWUuZW5kc1dpdGgoXCIudHh0XCIpKSB7XG4gICAgICAgICAgICBjb25zdCB7IHBhdGhuYW1lIH0gPSB1cmxXaXRob3V0RmxpZ2h0UGFyYW1ldGVycztcbiAgICAgICAgICAgIGNvbnN0IGxlbmd0aCA9IHBhdGhuYW1lLmVuZHNXaXRoKFwiL2luZGV4LnR4dFwiKSA/IDEwIDogNDtcbiAgICAgICAgICAgIC8vIFNsaWNlIG9mZiBgL2luZGV4LnR4dGAgb3IgYC50eHRgIGZyb20gdGhlIGVuZCBvZiB0aGUgcGF0aG5hbWVcbiAgICAgICAgICAgIHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzLnBhdGhuYW1lID0gcGF0aG5hbWUuc2xpY2UoMCwgLWxlbmd0aCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzO1xufVxuZnVuY3Rpb24gaXNFeHRlcm5hbFVSTCh1cmwpIHtcbiAgICByZXR1cm4gdXJsLm9yaWdpbiAhPT0gd2luZG93LmxvY2F0aW9uLm9yaWdpbjtcbn1cbmZ1bmN0aW9uIEhpc3RvcnlVcGRhdGVyKHBhcmFtKSB7XG4gICAgbGV0IHsgYXBwUm91dGVyU3RhdGUsIHN5bmMgfSA9IHBhcmFtO1xuICAgICgwLCBfcmVhY3QudXNlSW5zZXJ0aW9uRWZmZWN0KSgoKT0+e1xuICAgICAgICBjb25zdCB7IHRyZWUsIHB1c2hSZWYsIGNhbm9uaWNhbFVybCB9ID0gYXBwUm91dGVyU3RhdGU7XG4gICAgICAgIGNvbnN0IGhpc3RvcnlTdGF0ZSA9IHtcbiAgICAgICAgICAgIC4uLnB1c2hSZWYucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUgPyB3aW5kb3cuaGlzdG9yeS5zdGF0ZSA6IHt9LFxuICAgICAgICAgICAgLy8gSWRlbnRpZmllciBpcyBzaG9ydGVuZWQgaW50ZW50aW9uYWxseS5cbiAgICAgICAgICAgIC8vIF9fTkEgaXMgdXNlZCB0byBpZGVudGlmeSBpZiB0aGUgaGlzdG9yeSBlbnRyeSBjYW4gYmUgaGFuZGxlZCBieSB0aGUgYXBwLXJvdXRlci5cbiAgICAgICAgICAgIC8vIF9fTiBpcyB1c2VkIHRvIGlkZW50aWZ5IGlmIHRoZSBoaXN0b3J5IGVudHJ5IGNhbiBiZSBoYW5kbGVkIGJ5IHRoZSBvbGQgcm91dGVyLlxuICAgICAgICAgICAgX19OQTogdHJ1ZSxcbiAgICAgICAgICAgIF9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU6IHRyZWVcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHB1c2hSZWYucGVuZGluZ1B1c2ggJiYgLy8gU2tpcCBwdXNoaW5nIGFuIGFkZGl0aW9uYWwgaGlzdG9yeSBlbnRyeSBpZiB0aGUgY2Fub25pY2FsVXJsIGlzIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IHVybC5cbiAgICAgICAgLy8gVGhpcyBtaXJyb3JzIHRoZSBicm93c2VyIGJlaGF2aW9yIGZvciBub3JtYWwgbmF2aWdhdGlvbi5cbiAgICAgICAgKDAsIF9jcmVhdGVocmVmZnJvbXVybC5jcmVhdGVIcmVmRnJvbVVybCkobmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZikpICE9PSBjYW5vbmljYWxVcmwpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgaW50ZW50aW9uYWxseSBtdXRhdGVzIFJlYWN0IHN0YXRlLCBwdXNoUmVmIGlzIG92ZXJ3cml0dGVuIHRvIGVuc3VyZSBhZGRpdGlvbmFsIHB1c2gvcmVwbGFjZSBjYWxscyBkbyBub3QgdHJpZ2dlciBhbiBhZGRpdGlvbmFsIGhpc3RvcnkgZW50cnkuXG4gICAgICAgICAgICBwdXNoUmVmLnBlbmRpbmdQdXNoID0gZmFsc2U7XG4gICAgICAgICAgICB3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoaGlzdG9yeVN0YXRlLCBcIlwiLCBjYW5vbmljYWxVcmwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKGhpc3RvcnlTdGF0ZSwgXCJcIiwgY2Fub25pY2FsVXJsKTtcbiAgICAgICAgfVxuICAgICAgICBzeW5jKGFwcFJvdXRlclN0YXRlKTtcbiAgICB9LCBbXG4gICAgICAgIGFwcFJvdXRlclN0YXRlLFxuICAgICAgICBzeW5jXG4gICAgXSk7XG4gICAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBjcmVhdGVFbXB0eUNhY2hlTm9kZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgcnNjOiBudWxsLFxuICAgICAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICAgICAgcGFyYWxsZWxSb3V0ZXM6IG5ldyBNYXAoKVxuICAgIH07XG59XG5mdW5jdGlvbiB1c2VTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyKGRpc3BhdGNoKSB7XG4gICAgY29uc3Qgc2VydmVyQWN0aW9uRGlzcGF0Y2hlciA9ICgwLCBfcmVhY3QudXNlQ2FsbGJhY2spKChhY3Rpb25QYXlsb2FkKT0+e1xuICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAuLi5hY3Rpb25QYXlsb2FkLFxuICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1NFUlZFUl9BQ1RJT05cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9LCBbXG4gICAgICAgIGRpc3BhdGNoXG4gICAgXSk7XG4gICAgZ2xvYmFsU2VydmVyQWN0aW9uRGlzcGF0Y2hlciA9IHNlcnZlckFjdGlvbkRpc3BhdGNoZXI7XG59XG4vKipcbiAqIFNlcnZlciByZXNwb25zZSB0aGF0IG9ubHkgcGF0Y2hlcyB0aGUgY2FjaGUgYW5kIHRyZWUuXG4gKi8gZnVuY3Rpb24gdXNlQ2hhbmdlQnlTZXJ2ZXJSZXNwb25zZShkaXNwYXRjaCkge1xuICAgIHJldHVybiAoMCwgX3JlYWN0LnVzZUNhbGxiYWNrKSgocHJldmlvdXNUcmVlLCBmbGlnaHREYXRhLCBvdmVycmlkZUNhbm9uaWNhbFVybCk9PntcbiAgICAgICAgKDAsIF9yZWFjdC5zdGFydFRyYW5zaXRpb24pKCgpPT57XG4gICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fU0VSVkVSX1BBVENILFxuICAgICAgICAgICAgICAgIGZsaWdodERhdGEsXG4gICAgICAgICAgICAgICAgcHJldmlvdXNUcmVlLFxuICAgICAgICAgICAgICAgIG92ZXJyaWRlQ2Fub25pY2FsVXJsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSwgW1xuICAgICAgICBkaXNwYXRjaFxuICAgIF0pO1xufVxuZnVuY3Rpb24gdXNlTmF2aWdhdGUoZGlzcGF0Y2gpIHtcbiAgICByZXR1cm4gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKGhyZWYsIG5hdmlnYXRlVHlwZSwgc2hvdWxkU2Nyb2xsKT0+e1xuICAgICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKCgwLCBfYWRkYmFzZXBhdGguYWRkQmFzZVBhdGgpKGhyZWYpLCBsb2NhdGlvbi5ocmVmKTtcbiAgICAgICAgcmV0dXJuIGRpc3BhdGNoKHtcbiAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX05BVklHQVRFLFxuICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgaXNFeHRlcm5hbFVybDogaXNFeHRlcm5hbFVSTCh1cmwpLFxuICAgICAgICAgICAgbG9jYXRpb25TZWFyY2g6IGxvY2F0aW9uLnNlYXJjaCxcbiAgICAgICAgICAgIHNob3VsZFNjcm9sbDogc2hvdWxkU2Nyb2xsICE9IG51bGwgPyBzaG91bGRTY3JvbGwgOiB0cnVlLFxuICAgICAgICAgICAgbmF2aWdhdGVUeXBlXG4gICAgICAgIH0pO1xuICAgIH0sIFtcbiAgICAgICAgZGlzcGF0Y2hcbiAgICBdKTtcbn1cbmZ1bmN0aW9uIGNvcHlOZXh0SnNJbnRlcm5hbEhpc3RvcnlTdGF0ZShkYXRhKSB7XG4gICAgaWYgKGRhdGEgPT0gbnVsbCkgZGF0YSA9IHt9O1xuICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHdpbmRvdy5oaXN0b3J5LnN0YXRlO1xuICAgIGNvbnN0IF9fTkEgPSBjdXJyZW50U3RhdGUgPT0gbnVsbCA/IHZvaWQgMCA6IGN1cnJlbnRTdGF0ZS5fX05BO1xuICAgIGlmIChfX05BKSB7XG4gICAgICAgIGRhdGEuX19OQSA9IF9fTkE7XG4gICAgfVxuICAgIGNvbnN0IF9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUUgPSBjdXJyZW50U3RhdGUgPT0gbnVsbCA/IHZvaWQgMCA6IGN1cnJlbnRTdGF0ZS5fX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFO1xuICAgIGlmIChfX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFKSB7XG4gICAgICAgIGRhdGEuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSA9IF9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xufVxuZnVuY3Rpb24gSGVhZChwYXJhbSkge1xuICAgIGxldCB7IGhlYWRDYWNoZU5vZGUgfSA9IHBhcmFtO1xuICAgIC8vIElmIHRoaXMgc2VnbWVudCBoYXMgYSBgcHJlZmV0Y2hIZWFkYCwgaXQncyB0aGUgc3RhdGljYWxseSBwcmVmZXRjaGVkIGRhdGEuXG4gICAgLy8gV2Ugc2hvdWxkIHVzZSB0aGF0IG9uIGluaXRpYWwgcmVuZGVyIGluc3RlYWQgb2YgYGhlYWRgLiBUaGVuIHdlJ2xsIHN3aXRjaFxuICAgIC8vIHRvIGBoZWFkYCB3aGVuIHRoZSBkeW5hbWljIHJlc3BvbnNlIHN0cmVhbXMgaW4uXG4gICAgY29uc3QgaGVhZCA9IGhlYWRDYWNoZU5vZGUgIT09IG51bGwgPyBoZWFkQ2FjaGVOb2RlLmhlYWQgOiBudWxsO1xuICAgIGNvbnN0IHByZWZldGNoSGVhZCA9IGhlYWRDYWNoZU5vZGUgIT09IG51bGwgPyBoZWFkQ2FjaGVOb2RlLnByZWZldGNoSGVhZCA6IG51bGw7XG4gICAgLy8gSWYgbm8gcHJlZmV0Y2ggZGF0YSBpcyBhdmFpbGFibGUsIHRoZW4gd2UgZ28gc3RyYWlnaHQgdG8gcmVuZGVyaW5nIGBoZWFkYC5cbiAgICBjb25zdCByZXNvbHZlZFByZWZldGNoUnNjID0gcHJlZmV0Y2hIZWFkICE9PSBudWxsID8gcHJlZmV0Y2hIZWFkIDogaGVhZDtcbiAgICAvLyBXZSB1c2UgYHVzZURlZmVycmVkVmFsdWVgIHRvIGhhbmRsZSBzd2l0Y2hpbmcgYmV0d2VlbiB0aGUgcHJlZmV0Y2hlZCBhbmRcbiAgICAvLyBmaW5hbCB2YWx1ZXMuIFRoZSBzZWNvbmQgYXJndW1lbnQgaXMgcmV0dXJuZWQgb24gaW5pdGlhbCByZW5kZXIsIHRoZW4gaXRcbiAgICAvLyByZS1yZW5kZXJzIHdpdGggdGhlIGZpcnN0IGFyZ3VtZW50LlxuICAgIC8vXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUaGUgc2Vjb25kIGFyZ3VtZW50IHRvIGB1c2VEZWZlcnJlZFZhbHVlYCBpcyBvbmx5XG4gICAgLy8gYXZhaWxhYmxlIGluIHRoZSBleHBlcmltZW50YWwgYnVpbGRzLiBXaGVuIGl0cyBkaXNhYmxlZCwgaXQgd2lsbCBhbHdheXNcbiAgICAvLyByZXR1cm4gYGhlYWRgLlxuICAgIHJldHVybiAoMCwgX3JlYWN0LnVzZURlZmVycmVkVmFsdWUpKGhlYWQsIHJlc29sdmVkUHJlZmV0Y2hSc2MpO1xufVxuLyoqXG4gKiBUaGUgZ2xvYmFsIHJvdXRlciB0aGF0IHdyYXBzIHRoZSBhcHBsaWNhdGlvbiBjb21wb25lbnRzLlxuICovIGZ1bmN0aW9uIFJvdXRlcihwYXJhbSkge1xuICAgIGxldCB7IGJ1aWxkSWQsIGluaXRpYWxIZWFkLCBpbml0aWFsVHJlZSwgaW5pdGlhbENhbm9uaWNhbFVybCwgaW5pdGlhbFNlZWREYXRhLCBhc3NldFByZWZpeCwgbWlzc2luZ1Nsb3RzIH0gPSBwYXJhbTtcbiAgICBjb25zdCBpbml0aWFsU3RhdGUgPSAoMCwgX3JlYWN0LnVzZU1lbW8pKCgpPT4oMCwgX2NyZWF0ZWluaXRpYWxyb3V0ZXJzdGF0ZS5jcmVhdGVJbml0aWFsUm91dGVyU3RhdGUpKHtcbiAgICAgICAgICAgIGJ1aWxkSWQsXG4gICAgICAgICAgICBpbml0aWFsU2VlZERhdGEsXG4gICAgICAgICAgICBpbml0aWFsQ2Fub25pY2FsVXJsLFxuICAgICAgICAgICAgaW5pdGlhbFRyZWUsXG4gICAgICAgICAgICBpbml0aWFsUGFyYWxsZWxSb3V0ZXMsXG4gICAgICAgICAgICBpc1NlcnZlcixcbiAgICAgICAgICAgIGxvY2F0aW9uOiAhaXNTZXJ2ZXIgPyB3aW5kb3cubG9jYXRpb24gOiBudWxsLFxuICAgICAgICAgICAgaW5pdGlhbEhlYWRcbiAgICAgICAgfSksIFtcbiAgICAgICAgYnVpbGRJZCxcbiAgICAgICAgaW5pdGlhbFNlZWREYXRhLFxuICAgICAgICBpbml0aWFsQ2Fub25pY2FsVXJsLFxuICAgICAgICBpbml0aWFsVHJlZSxcbiAgICAgICAgaW5pdGlhbEhlYWRcbiAgICBdKTtcbiAgICBjb25zdCBbcmVkdWNlclN0YXRlLCBkaXNwYXRjaCwgc3luY10gPSAoMCwgX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMudXNlUmVkdWNlcldpdGhSZWR1eERldnRvb2xzKShpbml0aWFsU3RhdGUpO1xuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICAvLyBFbnN1cmUgaW5pdGlhbFBhcmFsbGVsUm91dGVzIGlzIGNsZWFuZWQgdXAgZnJvbSBtZW1vcnkgb25jZSBpdCdzIHVzZWQuXG4gICAgICAgIGluaXRpYWxQYXJhbGxlbFJvdXRlcyA9IG51bGw7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IHsgY2Fub25pY2FsVXJsIH0gPSAoMCwgX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMudXNlVW53cmFwU3RhdGUpKHJlZHVjZXJTdGF0ZSk7XG4gICAgLy8gQWRkIG1lbW9pemVkIHBhdGhuYW1lL3F1ZXJ5IGZvciB1c2VTZWFyY2hQYXJhbXMgYW5kIHVzZVBhdGhuYW1lLlxuICAgIGNvbnN0IHsgc2VhcmNoUGFyYW1zLCBwYXRobmFtZSB9ID0gKDAsIF9yZWFjdC51c2VNZW1vKSgoKT0+e1xuICAgICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGNhbm9uaWNhbFVybCwgdHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIiA/IFwiaHR0cDovL25cIiA6IHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgdHVybmVkIGludG8gYSByZWFkb25seSBjbGFzcyBpbiBgdXNlU2VhcmNoUGFyYW1zYFxuICAgICAgICAgICAgc2VhcmNoUGFyYW1zOiB1cmwuc2VhcmNoUGFyYW1zLFxuICAgICAgICAgICAgcGF0aG5hbWU6ICgwLCBfaGFzYmFzZXBhdGguaGFzQmFzZVBhdGgpKHVybC5wYXRobmFtZSkgPyAoMCwgX3JlbW92ZWJhc2VwYXRoLnJlbW92ZUJhc2VQYXRoKSh1cmwucGF0aG5hbWUpIDogdXJsLnBhdGhuYW1lXG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBjYW5vbmljYWxVcmxcbiAgICBdKTtcbiAgICBjb25zdCBjaGFuZ2VCeVNlcnZlclJlc3BvbnNlID0gdXNlQ2hhbmdlQnlTZXJ2ZXJSZXNwb25zZShkaXNwYXRjaCk7XG4gICAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZShkaXNwYXRjaCk7XG4gICAgdXNlU2VydmVyQWN0aW9uRGlzcGF0Y2hlcihkaXNwYXRjaCk7XG4gICAgLyoqXG4gICAqIFRoZSBhcHAgcm91dGVyIHRoYXQgaXMgZXhwb3NlZCB0aHJvdWdoIGB1c2VSb3V0ZXJgLiBJdCdzIG9ubHkgY29uY2VybmVkIHdpdGggZGlzcGF0Y2hpbmcgYWN0aW9ucyB0byB0aGUgcmVkdWNlciwgZG9lcyBub3QgaG9sZCBzdGF0ZS5cbiAgICovIGNvbnN0IGFwcFJvdXRlciA9ICgwLCBfcmVhY3QudXNlTWVtbykoKCk9PntcbiAgICAgICAgY29uc3Qgcm91dGVySW5zdGFuY2UgPSB7XG4gICAgICAgICAgICBiYWNrOiAoKT0+d2luZG93Lmhpc3RvcnkuYmFjaygpLFxuICAgICAgICAgICAgZm9yd2FyZDogKCk9PndpbmRvdy5oaXN0b3J5LmZvcndhcmQoKSxcbiAgICAgICAgICAgIHByZWZldGNoOiAoaHJlZiwgb3B0aW9ucyk9PntcbiAgICAgICAgICAgICAgICAvLyBEb24ndCBwcmVmZXRjaCBmb3IgYm90cyBhcyB0aGV5IGRvbid0IG5hdmlnYXRlLlxuICAgICAgICAgICAgICAgIC8vIERvbid0IHByZWZldGNoIGR1cmluZyBkZXZlbG9wbWVudCAoaW1wcm92ZXMgY29tcGlsYXRpb24gcGVyZm9ybWFuY2UpXG4gICAgICAgICAgICAgICAgaWYgKCgwLCBfaXNib3QuaXNCb3QpKHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KSB8fCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCgoMCwgX2FkZGJhc2VwYXRoLmFkZEJhc2VQYXRoKShocmVmKSwgd2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICAgICAgICAgICAgICAgIC8vIEV4dGVybmFsIHVybHMgY2FuJ3QgYmUgcHJlZmV0Y2hlZCBpbiB0aGUgc2FtZSB3YXkuXG4gICAgICAgICAgICAgICAgaWYgKGlzRXh0ZXJuYWxVUkwodXJsKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgICAgICAgICB2YXIgX29wdGlvbnNfa2luZDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fUFJFRkVUQ0gsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICAgICAgICAgICAgICBraW5kOiAoX29wdGlvbnNfa2luZCA9IG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMua2luZCkgIT0gbnVsbCA/IF9vcHRpb25zX2tpbmQgOiBfcm91dGVycmVkdWNlcnR5cGVzLlByZWZldGNoS2luZC5GVUxMXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlcGxhY2U6IChocmVmLCBvcHRpb25zKT0+e1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zID09PSB2b2lkIDApIG9wdGlvbnMgPSB7fTtcbiAgICAgICAgICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9vcHRpb25zX3Njcm9sbDtcbiAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGUoaHJlZiwgXCJyZXBsYWNlXCIsIChfb3B0aW9uc19zY3JvbGwgPSBvcHRpb25zLnNjcm9sbCkgIT0gbnVsbCA/IF9vcHRpb25zX3Njcm9sbCA6IHRydWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHB1c2g6IChocmVmLCBvcHRpb25zKT0+e1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zID09PSB2b2lkIDApIG9wdGlvbnMgPSB7fTtcbiAgICAgICAgICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9vcHRpb25zX3Njcm9sbDtcbiAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGUoaHJlZiwgXCJwdXNoXCIsIChfb3B0aW9uc19zY3JvbGwgPSBvcHRpb25zLnNjcm9sbCkgIT0gbnVsbCA/IF9vcHRpb25zX3Njcm9sbCA6IHRydWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlZnJlc2g6ICgpPT57XG4gICAgICAgICAgICAgICAgKDAsIF9yZWFjdC5zdGFydFRyYW5zaXRpb24pKCgpPT57XG4gICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1JFRlJFU0gsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW46IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSB3ZSBkb24ndCB3YW50IHRvIGV4cG9zZSB0aGlzIG1ldGhvZCBhdCBhbGxcbiAgICAgICAgICAgIGZhc3RSZWZyZXNoOiAoKT0+e1xuICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImZhc3RSZWZyZXNoIGNhbiBvbmx5IGJlIHVzZWQgaW4gZGV2ZWxvcG1lbnQgbW9kZS4gUGxlYXNlIHVzZSByZWZyZXNoIGluc3RlYWQuXCIpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX0ZBU1RfUkVGUkVTSCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW46IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiByb3V0ZXJJbnN0YW5jZTtcbiAgICB9LCBbXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBuYXZpZ2F0ZVxuICAgIF0pO1xuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICAvLyBFeGlzdHMgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4gRG9uJ3QgdXNlIGluIGFwcGxpY2F0aW9uIGNvZGUuXG4gICAgICAgIGlmICh3aW5kb3cubmV4dCkge1xuICAgICAgICAgICAgd2luZG93Lm5leHQucm91dGVyID0gYXBwUm91dGVyO1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBhcHBSb3V0ZXJcbiAgICBdKTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgICAgICBjb25zdCB7IGNhY2hlLCBwcmVmZXRjaENhY2hlLCB0cmVlIH0gPSAoMCwgX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMudXNlVW53cmFwU3RhdGUpKHJlZHVjZXJTdGF0ZSk7XG4gICAgICAgIC8vIFRoaXMgaG9vayBpcyBpbiBhIGNvbmRpdGlvbmFsIGJ1dCB0aGF0IGlzIG9rIGJlY2F1c2UgYHByb2Nlc3MuZW52Lk5PREVfRU5WYCBuZXZlciBjaGFuZ2VzXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgICAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgICAgIC8vIEFkZCBgd2luZG93Lm5kYCBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLlxuICAgICAgICAgICAgLy8gVGhpcyBpcyBub3QgbWVhbnQgZm9yIHVzZSBpbiBhcHBsaWNhdGlvbnMgYXMgY29uY3VycmVudCByZW5kZXJpbmcgd2lsbCBhZmZlY3QgdGhlIGNhY2hlL3RyZWUvcm91dGVyLlxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSB0aGlzIGlzIGZvciBkZWJ1Z2dpbmdcbiAgICAgICAgICAgIHdpbmRvdy5uZCA9IHtcbiAgICAgICAgICAgICAgICByb3V0ZXI6IGFwcFJvdXRlcixcbiAgICAgICAgICAgICAgICBjYWNoZSxcbiAgICAgICAgICAgICAgICBwcmVmZXRjaENhY2hlLFxuICAgICAgICAgICAgICAgIHRyZWVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sIFtcbiAgICAgICAgICAgIGFwcFJvdXRlcixcbiAgICAgICAgICAgIGNhY2hlLFxuICAgICAgICAgICAgcHJlZmV0Y2hDYWNoZSxcbiAgICAgICAgICAgIHRyZWVcbiAgICAgICAgXSk7XG4gICAgfVxuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICAvLyBJZiB0aGUgYXBwIGlzIHJlc3RvcmVkIGZyb20gYmZjYWNoZSwgaXQncyBwb3NzaWJsZSB0aGF0XG4gICAgICAgIC8vIHB1c2hSZWYubXBhTmF2aWdhdGlvbiBpcyB0cnVlLCB3aGljaCB3b3VsZCBtZWFuIHRoYXQgYW55IHJlLXJlbmRlciBvZiB0aGlzIGNvbXBvbmVudFxuICAgICAgICAvLyB3b3VsZCB0cmlnZ2VyIHRoZSBtcGEgbmF2aWdhdGlvbiBsb2dpYyBhZ2FpbiBmcm9tIHRoZSBsaW5lcyBiZWxvdy5cbiAgICAgICAgLy8gVGhpcyB3aWxsIHJlc3RvcmUgdGhlIHJvdXRlciB0byB0aGUgaW5pdGlhbCBzdGF0ZSBpbiB0aGUgZXZlbnQgdGhhdCB0aGUgYXBwIGlzIHJlc3RvcmVkIGZyb20gYmZjYWNoZS5cbiAgICAgICAgZnVuY3Rpb24gaGFuZGxlUGFnZVNob3coZXZlbnQpIHtcbiAgICAgICAgICAgIHZhciBfd2luZG93X2hpc3Rvcnlfc3RhdGU7XG4gICAgICAgICAgICBpZiAoIWV2ZW50LnBlcnNpc3RlZCB8fCAhKChfd2luZG93X2hpc3Rvcnlfc3RhdGUgPSB3aW5kb3cuaGlzdG9yeS5zdGF0ZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF93aW5kb3dfaGlzdG9yeV9zdGF0ZS5fX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9SRVNUT1JFLFxuICAgICAgICAgICAgICAgIHVybDogbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZiksXG4gICAgICAgICAgICAgICAgdHJlZTogd2luZG93Lmhpc3Rvcnkuc3RhdGUuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJwYWdlc2hvd1wiLCBoYW5kbGVQYWdlU2hvdyk7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwYWdlc2hvd1wiLCBoYW5kbGVQYWdlU2hvdyk7XG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBkaXNwYXRjaFxuICAgIF0pO1xuICAgIC8vIFdoZW4gbXBhTmF2aWdhdGlvbiBmbGFnIGlzIHNldCBkbyBhIGhhcmQgbmF2aWdhdGlvbiB0byB0aGUgbmV3IHVybC5cbiAgICAvLyBJbmZpbml0ZWx5IHN1c3BlbmQgYmVjYXVzZSB3ZSBkb24ndCBhY3R1YWxseSB3YW50IHRvIHJlcmVuZGVyIGFueSBjaGlsZFxuICAgIC8vIGNvbXBvbmVudHMgd2l0aCB0aGUgbmV3IFVSTCBhbmQgYW55IGVudGFuZ2xlZCBzdGF0ZSB1cGRhdGVzIHNob3VsZG4ndFxuICAgIC8vIGNvbW1pdCBlaXRoZXIgKGVnOiB1c2VUcmFuc2l0aW9uIGlzUGVuZGluZyBzaG91bGQgc3RheSB0cnVlIHVudGlsIHRoZSBwYWdlXG4gICAgLy8gdW5sb2FkcykuXG4gICAgLy9cbiAgICAvLyBUaGlzIGlzIGEgc2lkZSBlZmZlY3QgaW4gcmVuZGVyLiBEb24ndCB0cnkgdGhpcyBhdCBob21lLCBraWRzLiBJdCdzXG4gICAgLy8gcHJvYmFibHkgc2FmZSBiZWNhdXNlIHdlIGtub3cgdGhpcyBpcyBhIHNpbmdsZXRvbiBjb21wb25lbnQgYW5kIGl0J3MgbmV2ZXJcbiAgICAvLyBpbiA8T2Zmc2NyZWVuPi4gQXQgbGVhc3QgSSBob3BlIHNvLiAoSXQgd2lsbCBydW4gdHdpY2UgaW4gZGV2IHN0cmljdCBtb2RlLFxuICAgIC8vIGJ1dCB0aGF0J3MuLi4gZmluZT8pXG4gICAgY29uc3QgeyBwdXNoUmVmIH0gPSAoMCwgX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMudXNlVW53cmFwU3RhdGUpKHJlZHVjZXJTdGF0ZSk7XG4gICAgaWYgKHB1c2hSZWYubXBhTmF2aWdhdGlvbikge1xuICAgICAgICAvLyBpZiB0aGVyZSdzIGEgcmUtcmVuZGVyLCB3ZSBkb24ndCB3YW50IHRvIHRyaWdnZXIgYW5vdGhlciByZWRpcmVjdCBpZiBvbmUgaXMgYWxyZWFkeSBpbiBmbGlnaHQgdG8gdGhlIHNhbWUgVVJMXG4gICAgICAgIGlmIChnbG9iYWxNdXRhYmxlLnBlbmRpbmdNcGFQYXRoICE9PSBjYW5vbmljYWxVcmwpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uMSA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICAgICAgICAgIGlmIChwdXNoUmVmLnBlbmRpbmdQdXNoKSB7XG4gICAgICAgICAgICAgICAgbG9jYXRpb24xLmFzc2lnbihjYW5vbmljYWxVcmwpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsb2NhdGlvbjEucmVwbGFjZShjYW5vbmljYWxVcmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZ2xvYmFsTXV0YWJsZS5wZW5kaW5nTXBhUGF0aCA9IGNhbm9uaWNhbFVybDtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPLUFQUDogU2hvdWxkIHdlIGxpc3RlbiB0byBuYXZpZ2F0ZWVycm9yIGhlcmUgdG8gY2F0Y2ggZmFpbGVkXG4gICAgICAgIC8vIG5hdmlnYXRpb25zIHNvbWVob3c/IEFuZCBzaG91bGQgd2UgY2FsbCB3aW5kb3cuc3RvcCgpIGlmIGEgU1BBIG5hdmlnYXRpb25cbiAgICAgICAgLy8gc2hvdWxkIGludGVycnVwdCBhbiBNUEEgb25lP1xuICAgICAgICAoMCwgX3JlYWN0LnVzZSkoKDAsIF9pbmZpbml0ZXByb21pc2UuY3JlYXRlSW5maW5pdGVQcm9taXNlKSgpKTtcbiAgICB9XG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsUHVzaFN0YXRlID0gd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlLmJpbmQod2luZG93Lmhpc3RvcnkpO1xuICAgICAgICBjb25zdCBvcmlnaW5hbFJlcGxhY2VTdGF0ZSA9IHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZS5iaW5kKHdpbmRvdy5oaXN0b3J5KTtcbiAgICAgICAgLy8gRW5zdXJlIHRoZSBjYW5vbmljYWwgVVJMIGluIHRoZSBOZXh0LmpzIFJvdXRlciBpcyB1cGRhdGVkIHdoZW4gdGhlIFVSTCBpcyBjaGFuZ2VkIHNvIHRoYXQgYHVzZVBhdGhuYW1lYCBhbmQgYHVzZVNlYXJjaFBhcmFtc2AgaG9sZCB0aGUgcHVzaGVkIHZhbHVlcy5cbiAgICAgICAgY29uc3QgYXBwbHlVcmxGcm9tSGlzdG9yeVB1c2hSZXBsYWNlID0gKHVybCk9PntcbiAgICAgICAgICAgIGNvbnN0IGhyZWYgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fUkVTVE9SRSxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBuZXcgVVJMKHVybCAhPSBudWxsID8gdXJsIDogaHJlZiwgaHJlZiksXG4gICAgICAgICAgICAgICAgICAgIHRyZWU6IHdpbmRvdy5oaXN0b3J5LnN0YXRlLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICAvKipcbiAgICAgKiBQYXRjaCBwdXNoU3RhdGUgdG8gZW5zdXJlIGV4dGVybmFsIGNoYW5nZXMgdG8gdGhlIGhpc3RvcnkgYXJlIHJlZmxlY3RlZCBpbiB0aGUgTmV4dC5qcyBSb3V0ZXIuXG4gICAgICogRW5zdXJlcyBOZXh0LmpzIGludGVybmFsIGhpc3Rvcnkgc3RhdGUgaXMgY29waWVkIHRvIHRoZSBuZXcgaGlzdG9yeSBlbnRyeS5cbiAgICAgKiBFbnN1cmVzIHVzZVBhdGhuYW1lIGFuZCB1c2VTZWFyY2hQYXJhbXMgaG9sZCB0aGUgbmV3bHkgcHJvdmlkZWQgdXJsLlxuICAgICAqLyB3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUgPSBmdW5jdGlvbiBwdXNoU3RhdGUoZGF0YSwgX3VudXNlZCwgdXJsKSB7XG4gICAgICAgICAgICAvLyBBdm9pZCBhIGxvb3Agd2hlbiBOZXh0LmpzIGludGVybmFscyB0cmlnZ2VyIHB1c2hTdGF0ZS9yZXBsYWNlU3RhdGVcbiAgICAgICAgICAgIGlmICgoZGF0YSA9PSBudWxsID8gdm9pZCAwIDogZGF0YS5fX05BKSB8fCAoZGF0YSA9PSBudWxsID8gdm9pZCAwIDogZGF0YS5fTikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxQdXNoU3RhdGUoZGF0YSwgX3VudXNlZCwgdXJsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRhdGEgPSBjb3B5TmV4dEpzSW50ZXJuYWxIaXN0b3J5U3RhdGUoZGF0YSk7XG4gICAgICAgICAgICBpZiAodXJsKSB7XG4gICAgICAgICAgICAgICAgYXBwbHlVcmxGcm9tSGlzdG9yeVB1c2hSZXBsYWNlKHVybCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxQdXNoU3RhdGUoZGF0YSwgX3VudXNlZCwgdXJsKTtcbiAgICAgICAgfTtcbiAgICAgICAgLyoqXG4gICAgICogUGF0Y2ggcmVwbGFjZVN0YXRlIHRvIGVuc3VyZSBleHRlcm5hbCBjaGFuZ2VzIHRvIHRoZSBoaXN0b3J5IGFyZSByZWZsZWN0ZWQgaW4gdGhlIE5leHQuanMgUm91dGVyLlxuICAgICAqIEVuc3VyZXMgTmV4dC5qcyBpbnRlcm5hbCBoaXN0b3J5IHN0YXRlIGlzIGNvcGllZCB0byB0aGUgbmV3IGhpc3RvcnkgZW50cnkuXG4gICAgICogRW5zdXJlcyB1c2VQYXRobmFtZSBhbmQgdXNlU2VhcmNoUGFyYW1zIGhvbGQgdGhlIG5ld2x5IHByb3ZpZGVkIHVybC5cbiAgICAgKi8gd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlID0gZnVuY3Rpb24gcmVwbGFjZVN0YXRlKGRhdGEsIF91bnVzZWQsIHVybCkge1xuICAgICAgICAgICAgLy8gQXZvaWQgYSBsb29wIHdoZW4gTmV4dC5qcyBpbnRlcm5hbHMgdHJpZ2dlciBwdXNoU3RhdGUvcmVwbGFjZVN0YXRlXG4gICAgICAgICAgICBpZiAoKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IGRhdGEuX19OQSkgfHwgKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IGRhdGEuX04pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsUmVwbGFjZVN0YXRlKGRhdGEsIF91bnVzZWQsIHVybCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkYXRhID0gY29weU5leHRKc0ludGVybmFsSGlzdG9yeVN0YXRlKGRhdGEpO1xuICAgICAgICAgICAgaWYgKHVybCkge1xuICAgICAgICAgICAgICAgIGFwcGx5VXJsRnJvbUhpc3RvcnlQdXNoUmVwbGFjZSh1cmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsUmVwbGFjZVN0YXRlKGRhdGEsIF91bnVzZWQsIHVybCk7XG4gICAgICAgIH07XG4gICAgICAgIC8qKlxuICAgICAqIEhhbmRsZSBwb3BzdGF0ZSBldmVudCwgdGhpcyBpcyB1c2VkIHRvIGhhbmRsZSBiYWNrL2ZvcndhcmQgaW4gdGhlIGJyb3dzZXIuXG4gICAgICogQnkgZGVmYXVsdCBkaXNwYXRjaGVzIEFDVElPTl9SRVNUT1JFLCBob3dldmVyIGlmIHRoZSBoaXN0b3J5IGVudHJ5IHdhcyBub3QgcHVzaGVkL3JlcGxhY2VkIGJ5IGFwcC1yb3V0ZXIgaXQgd2lsbCByZWxvYWQgdGhlIHBhZ2UuXG4gICAgICogVGhhdCBjYXNlIGNhbiBoYXBwZW4gd2hlbiB0aGUgb2xkIHJvdXRlciBpbmplY3RlZCB0aGUgaGlzdG9yeSBlbnRyeS5cbiAgICAgKi8gY29uc3Qgb25Qb3BTdGF0ZSA9IChwYXJhbSk9PntcbiAgICAgICAgICAgIGxldCB7IHN0YXRlIH0gPSBwYXJhbTtcbiAgICAgICAgICAgIGlmICghc3RhdGUpIHtcbiAgICAgICAgICAgICAgICAvLyBUT0RPLUFQUDogdGhpcyBjYXNlIG9ubHkgaGFwcGVucyB3aGVuIHB1c2hTdGF0ZS9yZXBsYWNlU3RhdGUgd2FzIGNhbGxlZCBvdXRzaWRlIG9mIE5leHQuanMuIEl0IHNob3VsZCBwcm9iYWJseSByZWxvYWQgdGhlIHBhZ2UgaW4gdGhpcyBjYXNlLlxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFRoaXMgY2FzZSBoYXBwZW5zIHdoZW4gdGhlIGhpc3RvcnkgZW50cnkgd2FzIHB1c2hlZCBieSB0aGUgYHBhZ2VzYCByb3V0ZXIuXG4gICAgICAgICAgICBpZiAoIXN0YXRlLl9fTkEpIHtcbiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSB1c2VUcmFuc2l0aW9uIGV4aXN0c1xuICAgICAgICAgICAgLy8gVE9ETy1BUFA6IElkZWFsbHkgdGhlIGJhY2sgYnV0dG9uIHNob3VsZCBub3QgdXNlIHN0YXJ0VHJhbnNpdGlvbiBhcyBpdCBzaG91bGQgYXBwbHkgdGhlIHVwZGF0ZXMgc3luY2hyb25vdXNseVxuICAgICAgICAgICAgLy8gV2l0aG91dCBzdGFydFRyYW5zaXRpb24gd29ya3MgaWYgdGhlIGNhY2hlIGlzIHRoZXJlIGZvciB0aGlzIHBhdGhcbiAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fUkVTVE9SRSxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSxcbiAgICAgICAgICAgICAgICAgICAgdHJlZTogc3RhdGUuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIC8vIFJlZ2lzdGVyIHBvcHN0YXRlIGV2ZW50IHRvIGNhbGwgb25Qb3BzdGF0ZS5cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJwb3BzdGF0ZVwiLCBvblBvcFN0YXRlKTtcbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICB3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUgPSBvcmlnaW5hbFB1c2hTdGF0ZTtcbiAgICAgICAgICAgIHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSA9IG9yaWdpbmFsUmVwbGFjZVN0YXRlO1xuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb3BzdGF0ZVwiLCBvblBvcFN0YXRlKTtcbiAgICAgICAgfTtcbiAgICB9LCBbXG4gICAgICAgIGRpc3BhdGNoXG4gICAgXSk7XG4gICAgY29uc3QgeyBjYWNoZSwgdHJlZSwgbmV4dFVybCwgZm9jdXNBbmRTY3JvbGxSZWYgfSA9ICgwLCBfdXNlcmVkdWNlcndpdGhkZXZ0b29scy51c2VVbndyYXBTdGF0ZSkocmVkdWNlclN0YXRlKTtcbiAgICBjb25zdCBtYXRjaGluZ0hlYWQgPSAoMCwgX3JlYWN0LnVzZU1lbW8pKCgpPT57XG4gICAgICAgIHJldHVybiAoMCwgX2ZpbmRoZWFkaW5jYWNoZS5maW5kSGVhZEluQ2FjaGUpKGNhY2hlLCB0cmVlWzFdKTtcbiAgICB9LCBbXG4gICAgICAgIGNhY2hlLFxuICAgICAgICB0cmVlXG4gICAgXSk7XG4gICAgbGV0IGhlYWQ7XG4gICAgaWYgKG1hdGNoaW5nSGVhZCAhPT0gbnVsbCkge1xuICAgICAgICAvLyBUaGUgaGVhZCBpcyB3cmFwcGVkIGluIGFuIGV4dHJhIGNvbXBvbmVudCBzbyB3ZSBjYW4gdXNlXG4gICAgICAgIC8vIGB1c2VEZWZlcnJlZFZhbHVlYCB0byBzd2FwIGJldHdlZW4gdGhlIHByZWZldGNoZWQgYW5kIGZpbmFsIHZlcnNpb25zIG9mXG4gICAgICAgIC8vIHRoZSBoZWFkLiAoVGhpcyBpcyB3aGF0IExheW91dFJvdXRlciBkb2VzIGZvciBzZWdtZW50IGRhdGEsIHRvby4pXG4gICAgICAgIC8vXG4gICAgICAgIC8vIFRoZSBga2V5YCBpcyB1c2VkIHRvIHJlbW91bnQgdGhlIGNvbXBvbmVudCB3aGVuZXZlciB0aGUgaGVhZCBtb3ZlcyB0b1xuICAgICAgICAvLyBhIGRpZmZlcmVudCBzZWdtZW50LlxuICAgICAgICBjb25zdCBbaGVhZENhY2hlTm9kZSwgaGVhZEtleV0gPSBtYXRjaGluZ0hlYWQ7XG4gICAgICAgIGhlYWQgPSAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKEhlYWQsIHtcbiAgICAgICAgICAgIGhlYWRDYWNoZU5vZGU6IGhlYWRDYWNoZU5vZGVcbiAgICAgICAgfSwgaGVhZEtleSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaGVhZCA9IG51bGw7XG4gICAgfVxuICAgIGxldCBjb250ZW50ID0gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX3JlZGlyZWN0Ym91bmRhcnkuUmVkaXJlY3RCb3VuZGFyeSwge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgaGVhZCxcbiAgICAgICAgICAgIGNhY2hlLnJzYyxcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2FwcHJvdXRlcmFubm91bmNlci5BcHBSb3V0ZXJBbm5vdW5jZXIsIHtcbiAgICAgICAgICAgICAgICB0cmVlOiB0cmVlXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgY29uc3QgRGV2Um9vdE5vdEZvdW5kQm91bmRhcnkgPSByZXF1aXJlKFwiLi9kZXYtcm9vdC1ub3QtZm91bmQtYm91bmRhcnlcIikuRGV2Um9vdE5vdEZvdW5kQm91bmRhcnk7XG4gICAgICAgICAgICBjb250ZW50ID0gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShEZXZSb290Tm90Rm91bmRCb3VuZGFyeSwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5NaXNzaW5nU2xvdENvbnRleHQuUHJvdmlkZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG1pc3NpbmdTbG90cyxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IGNvbnRlbnRcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgSG90UmVsb2FkZXIgPSByZXF1aXJlKFwiLi9yZWFjdC1kZXYtb3ZlcmxheS9ob3QtcmVsb2FkZXItY2xpZW50XCIpLmRlZmF1bHQ7XG4gICAgICAgIGNvbnRlbnQgPSAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKEhvdFJlbG9hZGVyLCB7XG4gICAgICAgICAgICBhc3NldFByZWZpeDogYXNzZXRQcmVmaXgsXG4gICAgICAgICAgICBjaGlsZHJlbjogY29udGVudFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKEhpc3RvcnlVcGRhdGVyLCB7XG4gICAgICAgICAgICAgICAgYXBwUm91dGVyU3RhdGU6ICgwLCBfdXNlcmVkdWNlcndpdGhkZXZ0b29scy51c2VVbndyYXBTdGF0ZSkocmVkdWNlclN0YXRlKSxcbiAgICAgICAgICAgICAgICBzeW5jOiBzeW5jXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2hvb2tzY2xpZW50Y29udGV4dHNoYXJlZHJ1bnRpbWUuUGF0aG5hbWVDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHBhdGhuYW1lLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9ob29rc2NsaWVudGNvbnRleHRzaGFyZWRydW50aW1lLlNlYXJjaFBhcmFtc0NvbnRleHQuUHJvdmlkZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHNlYXJjaFBhcmFtcyxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkdsb2JhbExheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VCeVNlcnZlclJlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyZWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNBbmRTY3JvbGxSZWYsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFVybFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5BcHBSb3V0ZXJDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGFwcFJvdXRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuTGF5b3V0Um91dGVyQ29udGV4dC5Qcm92aWRlciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGROb2RlczogY2FjaGUucGFyYWxsZWxSb3V0ZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUm9vdCBub2RlIGFsd2F5cyBoYXMgYHVybGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFByb3ZpZGVkIGluIEFwcFRyZWVDb250ZXh0IHRvIGVuc3VyZSBpdCBjYW4gYmUgb3ZlcndyaXR0ZW4gaW4gbGF5b3V0LXJvdXRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBjYW5vbmljYWxVcmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IGNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0pO1xufVxuZnVuY3Rpb24gQXBwUm91dGVyKHByb3BzKSB7XG4gICAgY29uc3QgeyBnbG9iYWxFcnJvckNvbXBvbmVudCwgLi4ucmVzdCB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2Vycm9yYm91bmRhcnkuRXJyb3JCb3VuZGFyeSwge1xuICAgICAgICBlcnJvckNvbXBvbmVudDogZ2xvYmFsRXJyb3JDb21wb25lbnQsXG4gICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFJvdXRlciwge1xuICAgICAgICAgICAgLi4ucmVzdFxuICAgICAgICB9KVxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcm91dGVyLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/app-router.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js": /*!*********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/bailout-to-client-rendering.js ***! \*********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"bailoutToClientRendering\", ({\n enumerable: true,\n get: function() {\n return bailoutToClientRendering;\n }\n}));\nconst _bailouttocsr = __webpack_require__(/*! ../../shared/lib/lazy-dynamic/bailout-to-csr */ \"(rsc)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"../../client/components/static-generation-async-storage.external\");\nfunction bailoutToClientRendering(reason) {\n const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.forceStatic) return;\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.isStaticGeneration) throw new _bailouttocsr.BailoutToCSRError(reason);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=bailout-to-client-rendering.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2JhaWxvdXQtdG8tY2xpZW50LXJlbmRlcmluZy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNERBQTJEO0lBQ3ZESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsZ0JBQWdCQyxtQkFBT0EsQ0FBQyw4SEFBOEM7QUFDNUUsTUFBTUMsd0NBQXdDRCxtQkFBT0EsQ0FBQyxvSEFBNEM7QUFDbEcsU0FBU0YseUJBQXlCSSxNQUFNO0lBQ3BDLE1BQU1DLHdCQUF3QkYsc0NBQXNDRyw0QkFBNEIsQ0FBQ0MsUUFBUTtJQUN6RyxJQUFJRix5QkFBeUIsT0FBTyxLQUFLLElBQUlBLHNCQUFzQkcsV0FBVyxFQUFFO0lBQ2hGLElBQUlILHlCQUF5QixPQUFPLEtBQUssSUFBSUEsc0JBQXNCSSxrQkFBa0IsRUFBRSxNQUFNLElBQUlSLGNBQWNTLGlCQUFpQixDQUFDTjtBQUNySTtBQUVBLElBQUksQ0FBQyxPQUFPUixRQUFRZSxPQUFPLEtBQUssY0FBZSxPQUFPZixRQUFRZSxPQUFPLEtBQUssWUFBWWYsUUFBUWUsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZixRQUFRZSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLbEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRZSxPQUFPLEVBQUUsY0FBYztRQUFFZCxPQUFPO0lBQUs7SUFDbkVILE9BQU9tQixNQUFNLENBQUNqQixRQUFRZSxPQUFPLEVBQUVmO0lBQy9Ca0IsT0FBT2xCLE9BQU8sR0FBR0EsUUFBUWUsT0FBTztBQUNsQyxFQUVBLHVEQUF1RCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYmFpbG91dC10by1jbGllbnQtcmVuZGVyaW5nLmpzP2IxNzciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJiYWlsb3V0VG9DbGllbnRSZW5kZXJpbmdcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJhaWxvdXRUb0NsaWVudFJlbmRlcmluZztcbiAgICB9XG59KTtcbmNvbnN0IF9iYWlsb3V0dG9jc3IgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9sYXp5LWR5bmFtaWMvYmFpbG91dC10by1jc3JcIik7XG5jb25zdCBfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsID0gcmVxdWlyZShcIi4vc3RhdGljLWdlbmVyYXRpb24tYXN5bmMtc3RvcmFnZS5leHRlcm5hbFwiKTtcbmZ1bmN0aW9uIGJhaWxvdXRUb0NsaWVudFJlbmRlcmluZyhyZWFzb24pIHtcbiAgICBjb25zdCBzdGF0aWNHZW5lcmF0aW9uU3RvcmUgPSBfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsLnN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtcbiAgICBpZiAoc3RhdGljR2VuZXJhdGlvblN0b3JlID09IG51bGwgPyB2b2lkIDAgOiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZm9yY2VTdGF0aWMpIHJldHVybjtcbiAgICBpZiAoc3RhdGljR2VuZXJhdGlvblN0b3JlID09IG51bGwgPyB2b2lkIDAgOiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaXNTdGF0aWNHZW5lcmF0aW9uKSB0aHJvdyBuZXcgX2JhaWxvdXR0b2Nzci5CYWlsb3V0VG9DU1JFcnJvcihyZWFzb24pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1iYWlsb3V0LXRvLWNsaWVudC1yZW5kZXJpbmcuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImJhaWxvdXRUb0NsaWVudFJlbmRlcmluZyIsIl9iYWlsb3V0dG9jc3IiLCJyZXF1aXJlIiwiX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbCIsInJlYXNvbiIsInN0YXRpY0dlbmVyYXRpb25TdG9yZSIsInN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UiLCJnZXRTdG9yZSIsImZvcmNlU3RhdGljIiwiaXNTdGF0aWNHZW5lcmF0aW9uIiwiQmFpbG91dFRvQ1NSRXJyb3IiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/client-hook-in-server-component-error.js": /*!*******************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/client-hook-in-server-component-error.js ***! \*******************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"clientHookInServerComponentError\", ({\n enumerable: true,\n get: function() {\n return clientHookInServerComponentError;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(rsc)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\"));\nfunction clientHookInServerComponentError(hookName) {\n if (true) {\n // If useState is undefined we're in a server component\n if (!_react.default.useState) {\n throw new Error(\"\" + hookName + ' only works in Client Components. Add the \"use client\" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component');\n }\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=client-hook-in-server-component-error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1ob29rLWluLXNlcnZlci1jb21wb25lbnQtZXJyb3IuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG9FQUFtRTtJQUMvREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsa0hBQXlDO0FBQ2xGLE1BQU1DLFNBQVMsV0FBVyxHQUFHRix5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsU0FBU0YsaUNBQWlDSyxRQUFRO0lBQzlDLElBQUlDLElBQXFDLEVBQUU7UUFDdkMsdURBQXVEO1FBQ3ZELElBQUksQ0FBQ0gsT0FBT0ksT0FBTyxDQUFDQyxRQUFRLEVBQUU7WUFDMUIsTUFBTSxJQUFJQyxNQUFNLEtBQUtKLFdBQVc7UUFDcEM7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9ULFFBQVFXLE9BQU8sS0FBSyxjQUFlLE9BQU9YLFFBQVFXLE9BQU8sS0FBSyxZQUFZWCxRQUFRVyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9YLFFBQVFXLE9BQU8sQ0FBQ0csVUFBVSxLQUFLLGFBQWE7SUFDcktoQixPQUFPQyxjQUFjLENBQUNDLFFBQVFXLE9BQU8sRUFBRSxjQUFjO1FBQUVWLE9BQU87SUFBSztJQUNuRUgsT0FBT2lCLE1BQU0sQ0FBQ2YsUUFBUVcsT0FBTyxFQUFFWDtJQUMvQmdCLE9BQU9oQixPQUFPLEdBQUdBLFFBQVFXLE9BQU87QUFDbEMsRUFFQSxpRUFBaUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1ob29rLWluLXNlcnZlci1jb21wb25lbnQtZXJyb3IuanM/M2RhYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNsaWVudEhvb2tJblNlcnZlckNvbXBvbmVudEVycm9yXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5mdW5jdGlvbiBjbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvcihob29rTmFtZSkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgLy8gSWYgdXNlU3RhdGUgaXMgdW5kZWZpbmVkIHdlJ3JlIGluIGEgc2VydmVyIGNvbXBvbmVudFxuICAgICAgICBpZiAoIV9yZWFjdC5kZWZhdWx0LnVzZVN0YXRlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJcIiArIGhvb2tOYW1lICsgJyBvbmx5IHdvcmtzIGluIENsaWVudCBDb21wb25lbnRzLiBBZGQgdGhlIFwidXNlIGNsaWVudFwiIGRpcmVjdGl2ZSBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlIHRvIHVzZSBpdC4gUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9yZWFjdC1jbGllbnQtaG9vay1pbi1zZXJ2ZXItY29tcG9uZW50Jyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNsaWVudC1ob29rLWluLXNlcnZlci1jb21wb25lbnQtZXJyb3IuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImNsaWVudEhvb2tJblNlcnZlckNvbXBvbmVudEVycm9yIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdCIsIl8iLCJob29rTmFtZSIsInByb2Nlc3MiLCJkZWZhdWx0IiwidXNlU3RhdGUiLCJFcnJvciIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/client-hook-in-server-component-error.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/client/components/draft-mode.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/client/components/draft-mode.js ***! \****************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DraftMode\", ({\n enumerable: true,\n get: function() {\n return DraftMode;\n }\n}));\nconst _staticgenerationbailout = __webpack_require__(/*! ./static-generation-bailout */ \"(action-browser)/./node_modules/next/dist/client/components/static-generation-bailout.js\");\nclass DraftMode {\n get isEnabled() {\n return this._provider.isEnabled;\n }\n enable() {\n if ((0, _staticgenerationbailout.staticGenerationBailout)(\"draftMode().enable()\")) {\n return;\n }\n return this._provider.enable();\n }\n disable() {\n if ((0, _staticgenerationbailout.staticGenerationBailout)(\"draftMode().disable()\")) {\n return;\n }\n return this._provider.disable();\n }\n constructor(provider){\n this._provider = provider;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=draft-mode.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZHJhZnQtbW9kZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNkNBQTRDO0lBQ3hDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyw2SEFBNkI7QUFDdEUsTUFBTUY7SUFDRixJQUFJRyxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUNDLFNBQVMsQ0FBQ0QsU0FBUztJQUNuQztJQUNBRSxTQUFTO1FBQ0wsSUFBSSxDQUFDLEdBQUdKLHlCQUF5QkssdUJBQXVCLEVBQUUseUJBQXlCO1lBQy9FO1FBQ0o7UUFDQSxPQUFPLElBQUksQ0FBQ0YsU0FBUyxDQUFDQyxNQUFNO0lBQ2hDO0lBQ0FFLFVBQVU7UUFDTixJQUFJLENBQUMsR0FBR04seUJBQXlCSyx1QkFBdUIsRUFBRSwwQkFBMEI7WUFDaEY7UUFDSjtRQUNBLE9BQU8sSUFBSSxDQUFDRixTQUFTLENBQUNHLE9BQU87SUFDakM7SUFDQUMsWUFBWUMsUUFBUSxDQUFDO1FBQ2pCLElBQUksQ0FBQ0wsU0FBUyxHQUFHSztJQUNyQjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9iLFFBQVFjLE9BQU8sS0FBSyxjQUFlLE9BQU9kLFFBQVFjLE9BQU8sS0FBSyxZQUFZZCxRQUFRYyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9kLFFBQVFjLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktqQixPQUFPQyxjQUFjLENBQUNDLFFBQVFjLE9BQU8sRUFBRSxjQUFjO1FBQUViLE9BQU87SUFBSztJQUNuRUgsT0FBT2tCLE1BQU0sQ0FBQ2hCLFFBQVFjLE9BQU8sRUFBRWQ7SUFDL0JpQixPQUFPakIsT0FBTyxHQUFHQSxRQUFRYyxPQUFPO0FBQ2xDLEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9kcmFmdC1tb2RlLmpzPzMxYWMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJEcmFmdE1vZGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERyYWZ0TW9kZTtcbiAgICB9XG59KTtcbmNvbnN0IF9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dCA9IHJlcXVpcmUoXCIuL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXRcIik7XG5jbGFzcyBEcmFmdE1vZGUge1xuICAgIGdldCBpc0VuYWJsZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm92aWRlci5pc0VuYWJsZWQ7XG4gICAgfVxuICAgIGVuYWJsZSgpIHtcbiAgICAgICAgaWYgKCgwLCBfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQuc3RhdGljR2VuZXJhdGlvbkJhaWxvdXQpKFwiZHJhZnRNb2RlKCkuZW5hYmxlKClcIikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fcHJvdmlkZXIuZW5hYmxlKCk7XG4gICAgfVxuICAgIGRpc2FibGUoKSB7XG4gICAgICAgIGlmICgoMCwgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0LnN0YXRpY0dlbmVyYXRpb25CYWlsb3V0KShcImRyYWZ0TW9kZSgpLmRpc2FibGUoKVwiKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm92aWRlci5kaXNhYmxlKCk7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHByb3ZpZGVyKXtcbiAgICAgICAgdGhpcy5fcHJvdmlkZXIgPSBwcm92aWRlcjtcbiAgICB9XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRyYWZ0LW1vZGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkRyYWZ0TW9kZSIsIl9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dCIsInJlcXVpcmUiLCJpc0VuYWJsZWQiLCJfcHJvdmlkZXIiLCJlbmFibGUiLCJzdGF0aWNHZW5lcmF0aW9uQmFpbG91dCIsImRpc2FibGUiLCJjb25zdHJ1Y3RvciIsInByb3ZpZGVyIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/client/components/draft-mode.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/draft-mode.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/client/components/draft-mode.js ***! \****************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DraftMode\", ({\n enumerable: true,\n get: function() {\n return DraftMode;\n }\n}));\nconst _staticgenerationbailout = __webpack_require__(/*! ./static-generation-bailout */ \"(rsc)/./node_modules/next/dist/client/components/static-generation-bailout.js\");\nclass DraftMode {\n get isEnabled() {\n return this._provider.isEnabled;\n }\n enable() {\n if ((0, _staticgenerationbailout.staticGenerationBailout)(\"draftMode().enable()\")) {\n return;\n }\n return this._provider.enable();\n }\n disable() {\n if ((0, _staticgenerationbailout.staticGenerationBailout)(\"draftMode().disable()\")) {\n return;\n }\n return this._provider.disable();\n }\n constructor(provider){\n this._provider = provider;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=draft-mode.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2RyYWZ0LW1vZGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDZDQUE0QztJQUN4Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsa0hBQTZCO0FBQ3RFLE1BQU1GO0lBQ0YsSUFBSUcsWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDQyxTQUFTLENBQUNELFNBQVM7SUFDbkM7SUFDQUUsU0FBUztRQUNMLElBQUksQ0FBQyxHQUFHSix5QkFBeUJLLHVCQUF1QixFQUFFLHlCQUF5QjtZQUMvRTtRQUNKO1FBQ0EsT0FBTyxJQUFJLENBQUNGLFNBQVMsQ0FBQ0MsTUFBTTtJQUNoQztJQUNBRSxVQUFVO1FBQ04sSUFBSSxDQUFDLEdBQUdOLHlCQUF5QkssdUJBQXVCLEVBQUUsMEJBQTBCO1lBQ2hGO1FBQ0o7UUFDQSxPQUFPLElBQUksQ0FBQ0YsU0FBUyxDQUFDRyxPQUFPO0lBQ2pDO0lBQ0FDLFlBQVlDLFFBQVEsQ0FBQztRQUNqQixJQUFJLENBQUNMLFNBQVMsR0FBR0s7SUFDckI7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPYixRQUFRYyxPQUFPLEtBQUssY0FBZSxPQUFPZCxRQUFRYyxPQUFPLEtBQUssWUFBWWQsUUFBUWMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZCxRQUFRYyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLakIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRYyxPQUFPLEVBQUUsY0FBYztRQUFFYixPQUFPO0lBQUs7SUFDbkVILE9BQU9rQixNQUFNLENBQUNoQixRQUFRYyxPQUFPLEVBQUVkO0lBQy9CaUIsT0FBT2pCLE9BQU8sR0FBR0EsUUFBUWMsT0FBTztBQUNsQyxFQUVBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZHJhZnQtbW9kZS5qcz8zMWFjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRHJhZnRNb2RlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBEcmFmdE1vZGU7XG4gICAgfVxufSk7XG5jb25zdCBfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQgPSByZXF1aXJlKFwiLi9zdGF0aWMtZ2VuZXJhdGlvbi1iYWlsb3V0XCIpO1xuY2xhc3MgRHJhZnRNb2RlIHtcbiAgICBnZXQgaXNFbmFibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvdmlkZXIuaXNFbmFibGVkO1xuICAgIH1cbiAgICBlbmFibGUoKSB7XG4gICAgICAgIGlmICgoMCwgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0LnN0YXRpY0dlbmVyYXRpb25CYWlsb3V0KShcImRyYWZ0TW9kZSgpLmVuYWJsZSgpXCIpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3ZpZGVyLmVuYWJsZSgpO1xuICAgIH1cbiAgICBkaXNhYmxlKCkge1xuICAgICAgICBpZiAoKDAsIF9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dC5zdGF0aWNHZW5lcmF0aW9uQmFpbG91dCkoXCJkcmFmdE1vZGUoKS5kaXNhYmxlKClcIikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fcHJvdmlkZXIuZGlzYWJsZSgpO1xuICAgIH1cbiAgICBjb25zdHJ1Y3Rvcihwcm92aWRlcil7XG4gICAgICAgIHRoaXMuX3Byb3ZpZGVyID0gcHJvdmlkZXI7XG4gICAgfVxufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kcmFmdC1tb2RlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJEcmFmdE1vZGUiLCJfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQiLCJyZXF1aXJlIiwiaXNFbmFibGVkIiwiX3Byb3ZpZGVyIiwiZW5hYmxlIiwic3RhdGljR2VuZXJhdGlvbkJhaWxvdXQiLCJkaXNhYmxlIiwiY29uc3RydWN0b3IiLCJwcm92aWRlciIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/draft-mode.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/error-boundary.js": /*!********************************************************************!*\ !*** ./node_modules/next/dist/client/components/error-boundary.js ***! \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nconst { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\nmodule.exports = createProxy(\"/home/robin/AI/Coding/Whisky/node_modules/next/dist/client/components/error-boundary.js\");\n //# sourceMappingURL=error-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzIiwibWFwcGluZ3MiOiI7OztDQTJMQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzPzc2OTciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgRXJyb3JCb3VuZGFyeUhhbmRsZXI6IG51bGwsXG4gICAgR2xvYmFsRXJyb3I6IG51bGwsXG4gICAgZGVmYXVsdDogbnVsbCxcbiAgICBFcnJvckJvdW5kYXJ5OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIEVycm9yQm91bmRhcnlIYW5kbGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEVycm9yQm91bmRhcnlIYW5kbGVyO1xuICAgIH0sXG4gICAgR2xvYmFsRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gR2xvYmFsRXJyb3I7XG4gICAgfSxcbiAgICAvLyBFeHBvcnRlZCBzbyB0aGF0IHRoZSBpbXBvcnQgc2lnbmF0dXJlIGluIHRoZSBsb2FkZXJzIGNhbiBiZSBpZGVudGljYWwgdG8gdXNlclxuICAgIC8vIHN1cHBsaWVkIGN1c3RvbSBnbG9iYWwgZXJyb3Igc2lnbmF0dXJlcy5cbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9kZWZhdWx0O1xuICAgIH0sXG4gICAgRXJyb3JCb3VuZGFyeTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBFcnJvckJvdW5kYXJ5O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX25hdmlnYXRpb24gPSByZXF1aXJlKFwiLi9uYXZpZ2F0aW9uXCIpO1xuY29uc3QgX2lzbmV4dHJvdXRlcmVycm9yID0gcmVxdWlyZShcIi4vaXMtbmV4dC1yb3V0ZXItZXJyb3JcIik7XG5jb25zdCBzdHlsZXMgPSB7XG4gICAgZXJyb3I6IHtcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9tb2Rlcm4tbm9ybWFsaXplL2Jsb2IvbWFpbi9tb2Rlcm4tbm9ybWFsaXplLmNzcyNMMzgtTDUyXG4gICAgICAgIGZvbnRGYW1pbHk6ICdzeXN0ZW0tdWksXCJTZWdvZSBVSVwiLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZixcIkFwcGxlIENvbG9yIEVtb2ppXCIsXCJTZWdvZSBVSSBFbW9qaVwiJyxcbiAgICAgICAgaGVpZ2h0OiBcIjEwMHZoXCIsXG4gICAgICAgIHRleHRBbGlnbjogXCJjZW50ZXJcIixcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiXG4gICAgfSxcbiAgICB0ZXh0OiB7XG4gICAgICAgIGZvbnRTaXplOiBcIjE0cHhcIixcbiAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICBsaW5lSGVpZ2h0OiBcIjI4cHhcIixcbiAgICAgICAgbWFyZ2luOiBcIjAgOHB4XCJcbiAgICB9XG59O1xuLy8gaWYgd2UgYXJlIHJldmFsaWRhdGluZyB3ZSB3YW50IHRvIHJlLXRocm93IHRoZSBlcnJvciBzbyB0aGVcbi8vIGZ1bmN0aW9uIGNyYXNoZXMgc28gd2UgY2FuIG1haW50YWluIG91ciBwcmV2aW91cyBjYWNoZVxuLy8gaW5zdGVhZCBvZiBjYWNoaW5nIHRoZSBlcnJvciBwYWdlXG5mdW5jdGlvbiBIYW5kbGVJU1JFcnJvcihwYXJhbSkge1xuICAgIGxldCB7IGVycm9yIH0gPSBwYXJhbTtcbiAgICBpZiAodHlwZW9mIGZldGNoLl9fbmV4dEdldFN0YXRpY1N0b3JlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgdmFyIF9mZXRjaF9fX25leHRHZXRTdGF0aWNTdG9yZTtcbiAgICAgICAgY29uc3Qgc3RvcmUgPSAoX2ZldGNoX19fbmV4dEdldFN0YXRpY1N0b3JlID0gZmV0Y2guX19uZXh0R2V0U3RhdGljU3RvcmUoKSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9mZXRjaF9fX25leHRHZXRTdGF0aWNTdG9yZS5nZXRTdG9yZSgpO1xuICAgICAgICBpZiAoKHN0b3JlID09IG51bGwgPyB2b2lkIDAgOiBzdG9yZS5pc1JldmFsaWRhdGUpIHx8IChzdG9yZSA9PSBudWxsID8gdm9pZCAwIDogc3RvcmUuaXNTdGF0aWNHZW5lcmF0aW9uKSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbmNsYXNzIEVycm9yQm91bmRhcnlIYW5kbGVyIGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yKSB7XG4gICAgICAgIGlmICgoMCwgX2lzbmV4dHJvdXRlcmVycm9yLmlzTmV4dFJvdXRlckVycm9yKShlcnJvcikpIHtcbiAgICAgICAgICAgIC8vIFJlLXRocm93IGlmIGFuIGV4cGVjdGVkIGludGVybmFsIE5leHQuanMgcm91dGVyIGVycm9yIG9jY3Vyc1xuICAgICAgICAgICAgLy8gdGhpcyBtZWFucyBpdCBzaG91bGQgYmUgaGFuZGxlZCBieSBhIGRpZmZlcmVudCBib3VuZGFyeSAoc3VjaCBhcyBhIE5vdEZvdW5kIGJvdW5kYXJ5IGluIGEgcGFyZW50IHNlZ21lbnQpXG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZXJyb3JcbiAgICAgICAgfTtcbiAgICB9XG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICAgICAgLyoqXG4gICAgICogSGFuZGxlcyByZXNldCBvZiB0aGUgZXJyb3IgYm91bmRhcnkgd2hlbiBhIG5hdmlnYXRpb24gaGFwcGVucy5cbiAgICAgKiBFbnN1cmVzIHRoZSBlcnJvciBib3VuZGFyeSBkb2VzIG5vdCBzdGF5IGVuYWJsZWQgd2hlbiBuYXZpZ2F0aW5nIHRvIGEgbmV3IHBhZ2UuXG4gICAgICogQXBwcm9hY2ggb2Ygc2V0U3RhdGUgaW4gcmVuZGVyIGlzIHNhZmUgYXMgaXQgY2hlY2tzIHRoZSBwcmV2aW91cyBwYXRobmFtZSBhbmQgdGhlbiBvdmVycmlkZXNcbiAgICAgKiBpdCBhcyBvdXRsaW5lZCBpbiBodHRwczovL3JlYWN0LmRldi9yZWZlcmVuY2UvcmVhY3QvdXNlU3RhdGUjc3RvcmluZy1pbmZvcm1hdGlvbi1mcm9tLXByZXZpb3VzLXJlbmRlcnNcbiAgICAgKi8gaWYgKHByb3BzLnBhdGhuYW1lICE9PSBzdGF0ZS5wcmV2aW91c1BhdGhuYW1lICYmIHN0YXRlLmVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgICAgICAgIHByZXZpb3VzUGF0aG5hbWU6IHByb3BzLnBhdGhuYW1lXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBlcnJvcjogc3RhdGUuZXJyb3IsXG4gICAgICAgICAgICBwcmV2aW91c1BhdGhuYW1lOiBwcm9wcy5wYXRobmFtZVxuICAgICAgICB9O1xuICAgIH1cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLnN0YXRlLmVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKEhhbmRsZUlTUkVycm9yLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogdGhpcy5zdGF0ZS5lcnJvclxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5lcnJvclN0eWxlcyxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5lcnJvclNjcmlwdHMsXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkodGhpcy5wcm9wcy5lcnJvckNvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IHRoaXMuc3RhdGUuZXJyb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNldDogdGhpcy5yZXNldFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgIH1cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcyl7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgdGhpcy5yZXNldCA9ICgpPT57XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgICAgIHByZXZpb3VzUGF0aG5hbWU6IHRoaXMucHJvcHMucGF0aG5hbWVcbiAgICAgICAgfTtcbiAgICB9XG59XG5mdW5jdGlvbiBHbG9iYWxFcnJvcihwYXJhbSkge1xuICAgIGxldCB7IGVycm9yIH0gPSBwYXJhbTtcbiAgICBjb25zdCBkaWdlc3QgPSBlcnJvciA9PSBudWxsID8gdm9pZCAwIDogZXJyb3IuZGlnZXN0O1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImh0bWxcIiwge1xuICAgICAgICBpZDogXCJfX25leHRfZXJyb3JfX1wiLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImhlYWRcIiwge30pLFxuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJib2R5XCIsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKEhhbmRsZUlTUkVycm9yLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy5lcnJvcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImgyXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBzdHlsZXMudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBcIkFwcGxpY2F0aW9uIGVycm9yOiBhIFwiICsgKGRpZ2VzdCA/IFwic2VydmVyXCIgOiBcImNsaWVudFwiKSArIFwiLXNpZGUgZXhjZXB0aW9uIGhhcyBvY2N1cnJlZCAoc2VlIHRoZSBcIiArIChkaWdlc3QgPyBcInNlcnZlciBsb2dzXCIgOiBcImJyb3dzZXIgY29uc29sZVwiKSArIFwiIGZvciBtb3JlIGluZm9ybWF0aW9uKS5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlnZXN0ID8gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy50ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFwiRGlnZXN0OiBcIiArIGRpZ2VzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9KTtcbn1cbmNvbnN0IF9kZWZhdWx0ID0gR2xvYmFsRXJyb3I7XG5mdW5jdGlvbiBFcnJvckJvdW5kYXJ5KHBhcmFtKSB7XG4gICAgbGV0IHsgZXJyb3JDb21wb25lbnQsIGVycm9yU3R5bGVzLCBlcnJvclNjcmlwdHMsIGNoaWxkcmVuIH0gPSBwYXJhbTtcbiAgICBjb25zdCBwYXRobmFtZSA9ICgwLCBfbmF2aWdhdGlvbi51c2VQYXRobmFtZSkoKTtcbiAgICBpZiAoZXJyb3JDb21wb25lbnQpIHtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoRXJyb3JCb3VuZGFyeUhhbmRsZXIsIHtcbiAgICAgICAgICAgIHBhdGhuYW1lOiBwYXRobmFtZSxcbiAgICAgICAgICAgIGVycm9yQ29tcG9uZW50OiBlcnJvckNvbXBvbmVudCxcbiAgICAgICAgICAgIGVycm9yU3R5bGVzOiBlcnJvclN0eWxlcyxcbiAgICAgICAgICAgIGVycm9yU2NyaXB0czogZXJyb3JTY3JpcHRzLFxuICAgICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXJyb3ItYm91bmRhcnkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/error-boundary.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/client/components/headers.js": /*!*************************************************************!*\ !*** ./node_modules/next/dist/client/components/headers.js ***! \*************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n headers: function() {\n return headers;\n },\n cookies: function() {\n return cookies;\n },\n draftMode: function() {\n return draftMode;\n }\n});\nconst _requestcookies = __webpack_require__(/*! ../../server/web/spec-extension/adapters/request-cookies */ \"(action-browser)/./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js\");\nconst _headers = __webpack_require__(/*! ../../server/web/spec-extension/adapters/headers */ \"(action-browser)/./node_modules/next/dist/server/web/spec-extension/adapters/headers.js\");\nconst _cookies = __webpack_require__(/*! ../../server/web/spec-extension/cookies */ \"(action-browser)/./node_modules/next/dist/server/web/spec-extension/cookies.js\");\nconst _requestasyncstorageexternal = __webpack_require__(/*! ./request-async-storage.external */ \"../../client/components/request-async-storage.external\");\nconst _actionasyncstorageexternal = __webpack_require__(/*! ./action-async-storage.external */ \"../../client/components/action-async-storage.external\");\nconst _staticgenerationbailout = __webpack_require__(/*! ./static-generation-bailout */ \"(action-browser)/./node_modules/next/dist/client/components/static-generation-bailout.js\");\nconst _draftmode = __webpack_require__(/*! ./draft-mode */ \"(action-browser)/./node_modules/next/dist/client/components/draft-mode.js\");\nfunction headers() {\n if ((0, _staticgenerationbailout.staticGenerationBailout)(\"headers\", {\n link: \"https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering\"\n })) {\n return _headers.HeadersAdapter.seal(new Headers({}));\n }\n const requestStore = _requestasyncstorageexternal.requestAsyncStorage.getStore();\n if (!requestStore) {\n throw new Error(\"Invariant: headers() expects to have requestAsyncStorage, none available.\");\n }\n return requestStore.headers;\n}\nfunction cookies() {\n if ((0, _staticgenerationbailout.staticGenerationBailout)(\"cookies\", {\n link: \"https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering\"\n })) {\n return _requestcookies.RequestCookiesAdapter.seal(new _cookies.RequestCookies(new Headers({})));\n }\n const requestStore = _requestasyncstorageexternal.requestAsyncStorage.getStore();\n if (!requestStore) {\n throw new Error(\"Invariant: cookies() expects to have requestAsyncStorage, none available.\");\n }\n const asyncActionStore = _actionasyncstorageexternal.actionAsyncStorage.getStore();\n if (asyncActionStore && (asyncActionStore.isAction || asyncActionStore.isAppRoute)) {\n // We can't conditionally return different types here based on the context.\n // To avoid confusion, we always return the readonly type here.\n return requestStore.mutableCookies;\n }\n return requestStore.cookies;\n}\nfunction draftMode() {\n const requestStore = _requestasyncstorageexternal.requestAsyncStorage.getStore();\n if (!requestStore) {\n throw new Error(\"Invariant: draftMode() expects to have requestAsyncStorage, none available.\");\n }\n return new _draftmode.DraftMode(requestStore.draftMode);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=headers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaGVhZGVycy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUlOO0FBQ0EsU0FBU0ksUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVYsT0FBT0MsY0FBYyxDQUFDUSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFOLFNBQVM7SUFDYkcsU0FBUztRQUNMLE9BQU9BO0lBQ1g7SUFDQUMsU0FBUztRQUNMLE9BQU9BO0lBQ1g7SUFDQUMsV0FBVztRQUNQLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLGtCQUFrQkMsbUJBQU9BLENBQUMsaUtBQTBEO0FBQzFGLE1BQU1DLFdBQVdELG1CQUFPQSxDQUFDLGlKQUFrRDtBQUMzRSxNQUFNRSxXQUFXRixtQkFBT0EsQ0FBQywrSEFBeUM7QUFDbEUsTUFBTUcsK0JBQStCSCxtQkFBT0EsQ0FBQyxnR0FBa0M7QUFDL0UsTUFBTUksOEJBQThCSixtQkFBT0EsQ0FBQyw4RkFBaUM7QUFDN0UsTUFBTUssMkJBQTJCTCxtQkFBT0EsQ0FBQyw2SEFBNkI7QUFDdEUsTUFBTU0sYUFBYU4sbUJBQU9BLENBQUMsK0ZBQWM7QUFDekMsU0FBU1Y7SUFDTCxJQUFJLENBQUMsR0FBR2UseUJBQXlCRSx1QkFBdUIsRUFBRSxXQUFXO1FBQ2pFQyxNQUFNO0lBQ1YsSUFBSTtRQUNBLE9BQU9QLFNBQVNRLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDLElBQUlDLFFBQVEsQ0FBQztJQUNyRDtJQUNBLE1BQU1DLGVBQWVULDZCQUE2QlUsbUJBQW1CLENBQUNDLFFBQVE7SUFDOUUsSUFBSSxDQUFDRixjQUFjO1FBQ2YsTUFBTSxJQUFJRyxNQUFNO0lBQ3BCO0lBQ0EsT0FBT0gsYUFBYXRCLE9BQU87QUFDL0I7QUFDQSxTQUFTQztJQUNMLElBQUksQ0FBQyxHQUFHYyx5QkFBeUJFLHVCQUF1QixFQUFFLFdBQVc7UUFDakVDLE1BQU07SUFDVixJQUFJO1FBQ0EsT0FBT1QsZ0JBQWdCaUIscUJBQXFCLENBQUNOLElBQUksQ0FBQyxJQUFJUixTQUFTZSxjQUFjLENBQUMsSUFBSU4sUUFBUSxDQUFDO0lBQy9GO0lBQ0EsTUFBTUMsZUFBZVQsNkJBQTZCVSxtQkFBbUIsQ0FBQ0MsUUFBUTtJQUM5RSxJQUFJLENBQUNGLGNBQWM7UUFDZixNQUFNLElBQUlHLE1BQU07SUFDcEI7SUFDQSxNQUFNRyxtQkFBbUJkLDRCQUE0QmUsa0JBQWtCLENBQUNMLFFBQVE7SUFDaEYsSUFBSUksb0JBQXFCQSxDQUFBQSxpQkFBaUJFLFFBQVEsSUFBSUYsaUJBQWlCRyxVQUFVLEdBQUc7UUFDaEYsMkVBQTJFO1FBQzNFLCtEQUErRDtRQUMvRCxPQUFPVCxhQUFhVSxjQUFjO0lBQ3RDO0lBQ0EsT0FBT1YsYUFBYXJCLE9BQU87QUFDL0I7QUFDQSxTQUFTQztJQUNMLE1BQU1vQixlQUFlVCw2QkFBNkJVLG1CQUFtQixDQUFDQyxRQUFRO0lBQzlFLElBQUksQ0FBQ0YsY0FBYztRQUNmLE1BQU0sSUFBSUcsTUFBTTtJQUNwQjtJQUNBLE9BQU8sSUFBSVQsV0FBV2lCLFNBQVMsQ0FBQ1gsYUFBYXBCLFNBQVM7QUFDMUQ7QUFFQSxJQUFJLENBQUMsT0FBT0wsUUFBUXFDLE9BQU8sS0FBSyxjQUFlLE9BQU9yQyxRQUFRcUMsT0FBTyxLQUFLLFlBQVlyQyxRQUFRcUMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPckMsUUFBUXFDLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDckt4QyxPQUFPQyxjQUFjLENBQUNDLFFBQVFxQyxPQUFPLEVBQUUsY0FBYztRQUFFcEMsT0FBTztJQUFLO0lBQ25FSCxPQUFPeUMsTUFBTSxDQUFDdkMsUUFBUXFDLE9BQU8sRUFBRXJDO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVFxQyxPQUFPO0FBQ2xDLEVBRUEsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9oZWFkZXJzLmpzPzBiYWYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBoZWFkZXJzOiBudWxsLFxuICAgIGNvb2tpZXM6IG51bGwsXG4gICAgZHJhZnRNb2RlOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGhlYWRlcnM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaGVhZGVycztcbiAgICB9LFxuICAgIGNvb2tpZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY29va2llcztcbiAgICB9LFxuICAgIGRyYWZ0TW9kZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkcmFmdE1vZGU7XG4gICAgfVxufSk7XG5jb25zdCBfcmVxdWVzdGNvb2tpZXMgPSByZXF1aXJlKFwiLi4vLi4vc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9hZGFwdGVycy9yZXF1ZXN0LWNvb2tpZXNcIik7XG5jb25zdCBfaGVhZGVycyA9IHJlcXVpcmUoXCIuLi8uLi9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL2FkYXB0ZXJzL2hlYWRlcnNcIik7XG5jb25zdCBfY29va2llcyA9IHJlcXVpcmUoXCIuLi8uLi9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL2Nvb2tpZXNcIik7XG5jb25zdCBfcmVxdWVzdGFzeW5jc3RvcmFnZWV4dGVybmFsID0gcmVxdWlyZShcIi4vcmVxdWVzdC1hc3luYy1zdG9yYWdlLmV4dGVybmFsXCIpO1xuY29uc3QgX2FjdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsID0gcmVxdWlyZShcIi4vYWN0aW9uLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWxcIik7XG5jb25zdCBfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQgPSByZXF1aXJlKFwiLi9zdGF0aWMtZ2VuZXJhdGlvbi1iYWlsb3V0XCIpO1xuY29uc3QgX2RyYWZ0bW9kZSA9IHJlcXVpcmUoXCIuL2RyYWZ0LW1vZGVcIik7XG5mdW5jdGlvbiBoZWFkZXJzKCkge1xuICAgIGlmICgoMCwgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0LnN0YXRpY0dlbmVyYXRpb25CYWlsb3V0KShcImhlYWRlcnNcIiwge1xuICAgICAgICBsaW5rOiBcImh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JlbmRlcmluZy9zdGF0aWMtYW5kLWR5bmFtaWMjZHluYW1pYy1yZW5kZXJpbmdcIlxuICAgIH0pKSB7XG4gICAgICAgIHJldHVybiBfaGVhZGVycy5IZWFkZXJzQWRhcHRlci5zZWFsKG5ldyBIZWFkZXJzKHt9KSk7XG4gICAgfVxuICAgIGNvbnN0IHJlcXVlc3RTdG9yZSA9IF9yZXF1ZXN0YXN5bmNzdG9yYWdlZXh0ZXJuYWwucmVxdWVzdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO1xuICAgIGlmICghcmVxdWVzdFN0b3JlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFyaWFudDogaGVhZGVycygpIGV4cGVjdHMgdG8gaGF2ZSByZXF1ZXN0QXN5bmNTdG9yYWdlLCBub25lIGF2YWlsYWJsZS5cIik7XG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0U3RvcmUuaGVhZGVycztcbn1cbmZ1bmN0aW9uIGNvb2tpZXMoKSB7XG4gICAgaWYgKCgwLCBfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQuc3RhdGljR2VuZXJhdGlvbkJhaWxvdXQpKFwiY29va2llc1wiLCB7XG4gICAgICAgIGxpbms6IFwiaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcmVuZGVyaW5nL3N0YXRpYy1hbmQtZHluYW1pYyNkeW5hbWljLXJlbmRlcmluZ1wiXG4gICAgfSkpIHtcbiAgICAgICAgcmV0dXJuIF9yZXF1ZXN0Y29va2llcy5SZXF1ZXN0Q29va2llc0FkYXB0ZXIuc2VhbChuZXcgX2Nvb2tpZXMuUmVxdWVzdENvb2tpZXMobmV3IEhlYWRlcnMoe30pKSk7XG4gICAgfVxuICAgIGNvbnN0IHJlcXVlc3RTdG9yZSA9IF9yZXF1ZXN0YXN5bmNzdG9yYWdlZXh0ZXJuYWwucmVxdWVzdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO1xuICAgIGlmICghcmVxdWVzdFN0b3JlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFyaWFudDogY29va2llcygpIGV4cGVjdHMgdG8gaGF2ZSByZXF1ZXN0QXN5bmNTdG9yYWdlLCBub25lIGF2YWlsYWJsZS5cIik7XG4gICAgfVxuICAgIGNvbnN0IGFzeW5jQWN0aW9uU3RvcmUgPSBfYWN0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwuYWN0aW9uQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7XG4gICAgaWYgKGFzeW5jQWN0aW9uU3RvcmUgJiYgKGFzeW5jQWN0aW9uU3RvcmUuaXNBY3Rpb24gfHwgYXN5bmNBY3Rpb25TdG9yZS5pc0FwcFJvdXRlKSkge1xuICAgICAgICAvLyBXZSBjYW4ndCBjb25kaXRpb25hbGx5IHJldHVybiBkaWZmZXJlbnQgdHlwZXMgaGVyZSBiYXNlZCBvbiB0aGUgY29udGV4dC5cbiAgICAgICAgLy8gVG8gYXZvaWQgY29uZnVzaW9uLCB3ZSBhbHdheXMgcmV0dXJuIHRoZSByZWFkb25seSB0eXBlIGhlcmUuXG4gICAgICAgIHJldHVybiByZXF1ZXN0U3RvcmUubXV0YWJsZUNvb2tpZXM7XG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0U3RvcmUuY29va2llcztcbn1cbmZ1bmN0aW9uIGRyYWZ0TW9kZSgpIHtcbiAgICBjb25zdCByZXF1ZXN0U3RvcmUgPSBfcmVxdWVzdGFzeW5jc3RvcmFnZWV4dGVybmFsLnJlcXVlc3RBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtcbiAgICBpZiAoIXJlcXVlc3RTdG9yZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhcmlhbnQ6IGRyYWZ0TW9kZSgpIGV4cGVjdHMgdG8gaGF2ZSByZXF1ZXN0QXN5bmNTdG9yYWdlLCBub25lIGF2YWlsYWJsZS5cIik7XG4gICAgfVxuICAgIHJldHVybiBuZXcgX2RyYWZ0bW9kZS5EcmFmdE1vZGUocmVxdWVzdFN0b3JlLmRyYWZ0TW9kZSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlYWRlcnMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiaGVhZGVycyIsImNvb2tpZXMiLCJkcmFmdE1vZGUiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfcmVxdWVzdGNvb2tpZXMiLCJyZXF1aXJlIiwiX2hlYWRlcnMiLCJfY29va2llcyIsIl9yZXF1ZXN0YXN5bmNzdG9yYWdlZXh0ZXJuYWwiLCJfYWN0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwiLCJfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQiLCJfZHJhZnRtb2RlIiwic3RhdGljR2VuZXJhdGlvbkJhaWxvdXQiLCJsaW5rIiwiSGVhZGVyc0FkYXB0ZXIiLCJzZWFsIiwiSGVhZGVycyIsInJlcXVlc3RTdG9yZSIsInJlcXVlc3RBc3luY1N0b3JhZ2UiLCJnZXRTdG9yZSIsIkVycm9yIiwiUmVxdWVzdENvb2tpZXNBZGFwdGVyIiwiUmVxdWVzdENvb2tpZXMiLCJhc3luY0FjdGlvblN0b3JlIiwiYWN0aW9uQXN5bmNTdG9yYWdlIiwiaXNBY3Rpb24iLCJpc0FwcFJvdXRlIiwibXV0YWJsZUNvb2tpZXMiLCJEcmFmdE1vZGUiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/client/components/headers.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/headers.js": /*!*************************************************************!*\ !*** ./node_modules/next/dist/client/components/headers.js ***! \*************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n headers: function() {\n return headers;\n },\n cookies: function() {\n return cookies;\n },\n draftMode: function() {\n return draftMode;\n }\n});\nconst _requestcookies = __webpack_require__(/*! ../../server/web/spec-extension/adapters/request-cookies */ \"(rsc)/./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js\");\nconst _headers = __webpack_require__(/*! ../../server/web/spec-extension/adapters/headers */ \"(rsc)/./node_modules/next/dist/server/web/spec-extension/adapters/headers.js\");\nconst _cookies = __webpack_require__(/*! ../../server/web/spec-extension/cookies */ \"(rsc)/./node_modules/next/dist/server/web/spec-extension/cookies.js\");\nconst _requestasyncstorageexternal = __webpack_require__(/*! ./request-async-storage.external */ \"../../client/components/request-async-storage.external\");\nconst _actionasyncstorageexternal = __webpack_require__(/*! ./action-async-storage.external */ \"../../client/components/action-async-storage.external\");\nconst _staticgenerationbailout = __webpack_require__(/*! ./static-generation-bailout */ \"(rsc)/./node_modules/next/dist/client/components/static-generation-bailout.js\");\nconst _draftmode = __webpack_require__(/*! ./draft-mode */ \"(rsc)/./node_modules/next/dist/client/components/draft-mode.js\");\nfunction headers() {\n if ((0, _staticgenerationbailout.staticGenerationBailout)(\"headers\", {\n link: \"https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering\"\n })) {\n return _headers.HeadersAdapter.seal(new Headers({}));\n }\n const requestStore = _requestasyncstorageexternal.requestAsyncStorage.getStore();\n if (!requestStore) {\n throw new Error(\"Invariant: headers() expects to have requestAsyncStorage, none available.\");\n }\n return requestStore.headers;\n}\nfunction cookies() {\n if ((0, _staticgenerationbailout.staticGenerationBailout)(\"cookies\", {\n link: \"https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering\"\n })) {\n return _requestcookies.RequestCookiesAdapter.seal(new _cookies.RequestCookies(new Headers({})));\n }\n const requestStore = _requestasyncstorageexternal.requestAsyncStorage.getStore();\n if (!requestStore) {\n throw new Error(\"Invariant: cookies() expects to have requestAsyncStorage, none available.\");\n }\n const asyncActionStore = _actionasyncstorageexternal.actionAsyncStorage.getStore();\n if (asyncActionStore && (asyncActionStore.isAction || asyncActionStore.isAppRoute)) {\n // We can't conditionally return different types here based on the context.\n // To avoid confusion, we always return the readonly type here.\n return requestStore.mutableCookies;\n }\n return requestStore.cookies;\n}\nfunction draftMode() {\n const requestStore = _requestasyncstorageexternal.requestAsyncStorage.getStore();\n if (!requestStore) {\n throw new Error(\"Invariant: draftMode() expects to have requestAsyncStorage, none available.\");\n }\n return new _draftmode.DraftMode(requestStore.draftMode);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=headers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2hlYWRlcnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FJTjtBQUNBLFNBQVNJLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlWLE9BQU9DLGNBQWMsQ0FBQ1EsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTixTQUFTO0lBQ2JHLFNBQVM7UUFDTCxPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPQTtJQUNYO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxrQkFBa0JDLG1CQUFPQSxDQUFDLHNKQUEwRDtBQUMxRixNQUFNQyxXQUFXRCxtQkFBT0EsQ0FBQyxzSUFBa0Q7QUFDM0UsTUFBTUUsV0FBV0YsbUJBQU9BLENBQUMsb0hBQXlDO0FBQ2xFLE1BQU1HLCtCQUErQkgsbUJBQU9BLENBQUMsZ0dBQWtDO0FBQy9FLE1BQU1JLDhCQUE4QkosbUJBQU9BLENBQUMsOEZBQWlDO0FBQzdFLE1BQU1LLDJCQUEyQkwsbUJBQU9BLENBQUMsa0hBQTZCO0FBQ3RFLE1BQU1NLGFBQWFOLG1CQUFPQSxDQUFDLG9GQUFjO0FBQ3pDLFNBQVNWO0lBQ0wsSUFBSSxDQUFDLEdBQUdlLHlCQUF5QkUsdUJBQXVCLEVBQUUsV0FBVztRQUNqRUMsTUFBTTtJQUNWLElBQUk7UUFDQSxPQUFPUCxTQUFTUSxjQUFjLENBQUNDLElBQUksQ0FBQyxJQUFJQyxRQUFRLENBQUM7SUFDckQ7SUFDQSxNQUFNQyxlQUFlVCw2QkFBNkJVLG1CQUFtQixDQUFDQyxRQUFRO0lBQzlFLElBQUksQ0FBQ0YsY0FBYztRQUNmLE1BQU0sSUFBSUcsTUFBTTtJQUNwQjtJQUNBLE9BQU9ILGFBQWF0QixPQUFPO0FBQy9CO0FBQ0EsU0FBU0M7SUFDTCxJQUFJLENBQUMsR0FBR2MseUJBQXlCRSx1QkFBdUIsRUFBRSxXQUFXO1FBQ2pFQyxNQUFNO0lBQ1YsSUFBSTtRQUNBLE9BQU9ULGdCQUFnQmlCLHFCQUFxQixDQUFDTixJQUFJLENBQUMsSUFBSVIsU0FBU2UsY0FBYyxDQUFDLElBQUlOLFFBQVEsQ0FBQztJQUMvRjtJQUNBLE1BQU1DLGVBQWVULDZCQUE2QlUsbUJBQW1CLENBQUNDLFFBQVE7SUFDOUUsSUFBSSxDQUFDRixjQUFjO1FBQ2YsTUFBTSxJQUFJRyxNQUFNO0lBQ3BCO0lBQ0EsTUFBTUcsbUJBQW1CZCw0QkFBNEJlLGtCQUFrQixDQUFDTCxRQUFRO0lBQ2hGLElBQUlJLG9CQUFxQkEsQ0FBQUEsaUJBQWlCRSxRQUFRLElBQUlGLGlCQUFpQkcsVUFBVSxHQUFHO1FBQ2hGLDJFQUEyRTtRQUMzRSwrREFBK0Q7UUFDL0QsT0FBT1QsYUFBYVUsY0FBYztJQUN0QztJQUNBLE9BQU9WLGFBQWFyQixPQUFPO0FBQy9CO0FBQ0EsU0FBU0M7SUFDTCxNQUFNb0IsZUFBZVQsNkJBQTZCVSxtQkFBbUIsQ0FBQ0MsUUFBUTtJQUM5RSxJQUFJLENBQUNGLGNBQWM7UUFDZixNQUFNLElBQUlHLE1BQU07SUFDcEI7SUFDQSxPQUFPLElBQUlULFdBQVdpQixTQUFTLENBQUNYLGFBQWFwQixTQUFTO0FBQzFEO0FBRUEsSUFBSSxDQUFDLE9BQU9MLFFBQVFxQyxPQUFPLEtBQUssY0FBZSxPQUFPckMsUUFBUXFDLE9BQU8sS0FBSyxZQUFZckMsUUFBUXFDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3JDLFFBQVFxQyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLeEMsT0FBT0MsY0FBYyxDQUFDQyxRQUFRcUMsT0FBTyxFQUFFLGNBQWM7UUFBRXBDLE9BQU87SUFBSztJQUNuRUgsT0FBT3lDLE1BQU0sQ0FBQ3ZDLFFBQVFxQyxPQUFPLEVBQUVyQztJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRcUMsT0FBTztBQUNsQyxFQUVBLG1DQUFtQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaGVhZGVycy5qcz8wYmFmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgaGVhZGVyczogbnVsbCxcbiAgICBjb29raWVzOiBudWxsLFxuICAgIGRyYWZ0TW9kZTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBoZWFkZXJzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhlYWRlcnM7XG4gICAgfSxcbiAgICBjb29raWVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNvb2tpZXM7XG4gICAgfSxcbiAgICBkcmFmdE1vZGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZHJhZnRNb2RlO1xuICAgIH1cbn0pO1xuY29uc3QgX3JlcXVlc3Rjb29raWVzID0gcmVxdWlyZShcIi4uLy4uL3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vYWRhcHRlcnMvcmVxdWVzdC1jb29raWVzXCIpO1xuY29uc3QgX2hlYWRlcnMgPSByZXF1aXJlKFwiLi4vLi4vc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9hZGFwdGVycy9oZWFkZXJzXCIpO1xuY29uc3QgX2Nvb2tpZXMgPSByZXF1aXJlKFwiLi4vLi4vc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9jb29raWVzXCIpO1xuY29uc3QgX3JlcXVlc3Rhc3luY3N0b3JhZ2VleHRlcm5hbCA9IHJlcXVpcmUoXCIuL3JlcXVlc3QtYXN5bmMtc3RvcmFnZS5leHRlcm5hbFwiKTtcbmNvbnN0IF9hY3Rpb25hc3luY3N0b3JhZ2VleHRlcm5hbCA9IHJlcXVpcmUoXCIuL2FjdGlvbi1hc3luYy1zdG9yYWdlLmV4dGVybmFsXCIpO1xuY29uc3QgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0ID0gcmVxdWlyZShcIi4vc3RhdGljLWdlbmVyYXRpb24tYmFpbG91dFwiKTtcbmNvbnN0IF9kcmFmdG1vZGUgPSByZXF1aXJlKFwiLi9kcmFmdC1tb2RlXCIpO1xuZnVuY3Rpb24gaGVhZGVycygpIHtcbiAgICBpZiAoKDAsIF9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dC5zdGF0aWNHZW5lcmF0aW9uQmFpbG91dCkoXCJoZWFkZXJzXCIsIHtcbiAgICAgICAgbGluazogXCJodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yZW5kZXJpbmcvc3RhdGljLWFuZC1keW5hbWljI2R5bmFtaWMtcmVuZGVyaW5nXCJcbiAgICB9KSkge1xuICAgICAgICByZXR1cm4gX2hlYWRlcnMuSGVhZGVyc0FkYXB0ZXIuc2VhbChuZXcgSGVhZGVycyh7fSkpO1xuICAgIH1cbiAgICBjb25zdCByZXF1ZXN0U3RvcmUgPSBfcmVxdWVzdGFzeW5jc3RvcmFnZWV4dGVybmFsLnJlcXVlc3RBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtcbiAgICBpZiAoIXJlcXVlc3RTdG9yZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhcmlhbnQ6IGhlYWRlcnMoKSBleHBlY3RzIHRvIGhhdmUgcmVxdWVzdEFzeW5jU3RvcmFnZSwgbm9uZSBhdmFpbGFibGUuXCIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVxdWVzdFN0b3JlLmhlYWRlcnM7XG59XG5mdW5jdGlvbiBjb29raWVzKCkge1xuICAgIGlmICgoMCwgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0LnN0YXRpY0dlbmVyYXRpb25CYWlsb3V0KShcImNvb2tpZXNcIiwge1xuICAgICAgICBsaW5rOiBcImh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JlbmRlcmluZy9zdGF0aWMtYW5kLWR5bmFtaWMjZHluYW1pYy1yZW5kZXJpbmdcIlxuICAgIH0pKSB7XG4gICAgICAgIHJldHVybiBfcmVxdWVzdGNvb2tpZXMuUmVxdWVzdENvb2tpZXNBZGFwdGVyLnNlYWwobmV3IF9jb29raWVzLlJlcXVlc3RDb29raWVzKG5ldyBIZWFkZXJzKHt9KSkpO1xuICAgIH1cbiAgICBjb25zdCByZXF1ZXN0U3RvcmUgPSBfcmVxdWVzdGFzeW5jc3RvcmFnZWV4dGVybmFsLnJlcXVlc3RBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtcbiAgICBpZiAoIXJlcXVlc3RTdG9yZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhcmlhbnQ6IGNvb2tpZXMoKSBleHBlY3RzIHRvIGhhdmUgcmVxdWVzdEFzeW5jU3RvcmFnZSwgbm9uZSBhdmFpbGFibGUuXCIpO1xuICAgIH1cbiAgICBjb25zdCBhc3luY0FjdGlvblN0b3JlID0gX2FjdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsLmFjdGlvbkFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO1xuICAgIGlmIChhc3luY0FjdGlvblN0b3JlICYmIChhc3luY0FjdGlvblN0b3JlLmlzQWN0aW9uIHx8IGFzeW5jQWN0aW9uU3RvcmUuaXNBcHBSb3V0ZSkpIHtcbiAgICAgICAgLy8gV2UgY2FuJ3QgY29uZGl0aW9uYWxseSByZXR1cm4gZGlmZmVyZW50IHR5cGVzIGhlcmUgYmFzZWQgb24gdGhlIGNvbnRleHQuXG4gICAgICAgIC8vIFRvIGF2b2lkIGNvbmZ1c2lvbiwgd2UgYWx3YXlzIHJldHVybiB0aGUgcmVhZG9ubHkgdHlwZSBoZXJlLlxuICAgICAgICByZXR1cm4gcmVxdWVzdFN0b3JlLm11dGFibGVDb29raWVzO1xuICAgIH1cbiAgICByZXR1cm4gcmVxdWVzdFN0b3JlLmNvb2tpZXM7XG59XG5mdW5jdGlvbiBkcmFmdE1vZGUoKSB7XG4gICAgY29uc3QgcmVxdWVzdFN0b3JlID0gX3JlcXVlc3Rhc3luY3N0b3JhZ2VleHRlcm5hbC5yZXF1ZXN0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7XG4gICAgaWYgKCFyZXF1ZXN0U3RvcmUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YXJpYW50OiBkcmFmdE1vZGUoKSBleHBlY3RzIHRvIGhhdmUgcmVxdWVzdEFzeW5jU3RvcmFnZSwgbm9uZSBhdmFpbGFibGUuXCIpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IF9kcmFmdG1vZGUuRHJhZnRNb2RlKHJlcXVlc3RTdG9yZS5kcmFmdE1vZGUpO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWFkZXJzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImhlYWRlcnMiLCJjb29raWVzIiwiZHJhZnRNb2RlIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3JlcXVlc3Rjb29raWVzIiwicmVxdWlyZSIsIl9oZWFkZXJzIiwiX2Nvb2tpZXMiLCJfcmVxdWVzdGFzeW5jc3RvcmFnZWV4dGVybmFsIiwiX2FjdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsIiwiX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0IiwiX2RyYWZ0bW9kZSIsInN0YXRpY0dlbmVyYXRpb25CYWlsb3V0IiwibGluayIsIkhlYWRlcnNBZGFwdGVyIiwic2VhbCIsIkhlYWRlcnMiLCJyZXF1ZXN0U3RvcmUiLCJyZXF1ZXN0QXN5bmNTdG9yYWdlIiwiZ2V0U3RvcmUiLCJFcnJvciIsIlJlcXVlc3RDb29raWVzQWRhcHRlciIsIlJlcXVlc3RDb29raWVzIiwiYXN5bmNBY3Rpb25TdG9yZSIsImFjdGlvbkFzeW5jU3RvcmFnZSIsImlzQWN0aW9uIiwiaXNBcHBSb3V0ZSIsIm11dGFibGVDb29raWVzIiwiRHJhZnRNb2RlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/headers.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/client/components/hooks-server-context.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/hooks-server-context.js ***! \**************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DynamicServerError: function() {\n return DynamicServerError;\n },\n isDynamicServerError: function() {\n return isDynamicServerError;\n }\n});\nconst DYNAMIC_ERROR_CODE = \"DYNAMIC_SERVER_USAGE\";\nclass DynamicServerError extends Error {\n constructor(description){\n super(\"Dynamic server usage: \" + description);\n this.description = description;\n this.digest = DYNAMIC_ERROR_CODE;\n }\n}\nfunction isDynamicServerError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err) || typeof err.digest !== \"string\") {\n return false;\n }\n return err.digest === DYNAMIC_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hooks-server-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaG9va3Mtc2VydmVyLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLHNCQUFzQjtRQUNsQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxxQkFBcUI7QUFDM0IsTUFBTVIsMkJBQTJCUztJQUM3QkMsWUFBWUMsV0FBVyxDQUFDO1FBQ3BCLEtBQUssQ0FBQywyQkFBMkJBO1FBQ2pDLElBQUksQ0FBQ0EsV0FBVyxHQUFHQTtRQUNuQixJQUFJLENBQUNDLE1BQU0sR0FBR0o7SUFDbEI7QUFDSjtBQUNBLFNBQVNQLHFCQUFxQlksR0FBRztJQUM3QixJQUFJLE9BQU9BLFFBQVEsWUFBWUEsUUFBUSxRQUFRLENBQUUsYUFBWUEsR0FBRSxLQUFNLE9BQU9BLElBQUlELE1BQU0sS0FBSyxVQUFVO1FBQ2pHLE9BQU87SUFDWDtJQUNBLE9BQU9DLElBQUlELE1BQU0sS0FBS0o7QUFDMUI7QUFFQSxJQUFJLENBQUMsT0FBT1gsUUFBUWlCLE9BQU8sS0FBSyxjQUFlLE9BQU9qQixRQUFRaUIsT0FBTyxLQUFLLFlBQVlqQixRQUFRaUIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPakIsUUFBUWlCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktwQixPQUFPQyxjQUFjLENBQUNDLFFBQVFpQixPQUFPLEVBQUUsY0FBYztRQUFFaEIsT0FBTztJQUFLO0lBQ25FSCxPQUFPcUIsTUFBTSxDQUFDbkIsUUFBUWlCLE9BQU8sRUFBRWpCO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVFpQixPQUFPO0FBQ2xDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ob29rcy1zZXJ2ZXItY29udGV4dC5qcz8wMDlhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgRHluYW1pY1NlcnZlckVycm9yOiBudWxsLFxuICAgIGlzRHluYW1pY1NlcnZlckVycm9yOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIER5bmFtaWNTZXJ2ZXJFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBEeW5hbWljU2VydmVyRXJyb3I7XG4gICAgfSxcbiAgICBpc0R5bmFtaWNTZXJ2ZXJFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0R5bmFtaWNTZXJ2ZXJFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IERZTkFNSUNfRVJST1JfQ09ERSA9IFwiRFlOQU1JQ19TRVJWRVJfVVNBR0VcIjtcbmNsYXNzIER5bmFtaWNTZXJ2ZXJFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihkZXNjcmlwdGlvbil7XG4gICAgICAgIHN1cGVyKFwiRHluYW1pYyBzZXJ2ZXIgdXNhZ2U6IFwiICsgZGVzY3JpcHRpb24pO1xuICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gICAgICAgIHRoaXMuZGlnZXN0ID0gRFlOQU1JQ19FUlJPUl9DT0RFO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGlzRHluYW1pY1NlcnZlckVycm9yKGVycikge1xuICAgIGlmICh0eXBlb2YgZXJyICE9PSBcIm9iamVjdFwiIHx8IGVyciA9PT0gbnVsbCB8fCAhKFwiZGlnZXN0XCIgaW4gZXJyKSB8fCB0eXBlb2YgZXJyLmRpZ2VzdCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBlcnIuZGlnZXN0ID09PSBEWU5BTUlDX0VSUk9SX0NPREU7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhvb2tzLXNlcnZlci1jb250ZXh0LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIkR5bmFtaWNTZXJ2ZXJFcnJvciIsImlzRHluYW1pY1NlcnZlckVycm9yIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiRFlOQU1JQ19FUlJPUl9DT0RFIiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsImRlc2NyaXB0aW9uIiwiZGlnZXN0IiwiZXJyIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/client/components/hooks-server-context.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/hooks-server-context.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/hooks-server-context.js ***! \**************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DynamicServerError: function() {\n return DynamicServerError;\n },\n isDynamicServerError: function() {\n return isDynamicServerError;\n }\n});\nconst DYNAMIC_ERROR_CODE = \"DYNAMIC_SERVER_USAGE\";\nclass DynamicServerError extends Error {\n constructor(description){\n super(\"Dynamic server usage: \" + description);\n this.description = description;\n this.digest = DYNAMIC_ERROR_CODE;\n }\n}\nfunction isDynamicServerError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err) || typeof err.digest !== \"string\") {\n return false;\n }\n return err.digest === DYNAMIC_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hooks-server-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyxzQkFBc0I7UUFDbEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8scUJBQXFCO0FBQzNCLE1BQU1SLDJCQUEyQlM7SUFDN0JDLFlBQVlDLFdBQVcsQ0FBQztRQUNwQixLQUFLLENBQUMsMkJBQTJCQTtRQUNqQyxJQUFJLENBQUNBLFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDQyxNQUFNLEdBQUdKO0lBQ2xCO0FBQ0o7QUFDQSxTQUFTUCxxQkFBcUJZLEdBQUc7SUFDN0IsSUFBSSxPQUFPQSxRQUFRLFlBQVlBLFFBQVEsUUFBUSxDQUFFLGFBQVlBLEdBQUUsS0FBTSxPQUFPQSxJQUFJRCxNQUFNLEtBQUssVUFBVTtRQUNqRyxPQUFPO0lBQ1g7SUFDQSxPQUFPQyxJQUFJRCxNQUFNLEtBQUtKO0FBQzFCO0FBRUEsSUFBSSxDQUFDLE9BQU9YLFFBQVFpQixPQUFPLEtBQUssY0FBZSxPQUFPakIsUUFBUWlCLE9BQU8sS0FBSyxZQUFZakIsUUFBUWlCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2pCLFFBQVFpQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLcEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRaUIsT0FBTyxFQUFFLGNBQWM7UUFBRWhCLE9BQU87SUFBSztJQUNuRUgsT0FBT3FCLE1BQU0sQ0FBQ25CLFFBQVFpQixPQUFPLEVBQUVqQjtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRaUIsT0FBTztBQUNsQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaG9va3Mtc2VydmVyLWNvbnRleHQuanM/MDA5YSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIER5bmFtaWNTZXJ2ZXJFcnJvcjogbnVsbCxcbiAgICBpc0R5bmFtaWNTZXJ2ZXJFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBEeW5hbWljU2VydmVyRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRHluYW1pY1NlcnZlckVycm9yO1xuICAgIH0sXG4gICAgaXNEeW5hbWljU2VydmVyRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNEeW5hbWljU2VydmVyRXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBEWU5BTUlDX0VSUk9SX0NPREUgPSBcIkRZTkFNSUNfU0VSVkVSX1VTQUdFXCI7XG5jbGFzcyBEeW5hbWljU2VydmVyRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IoZGVzY3JpcHRpb24pe1xuICAgICAgICBzdXBlcihcIkR5bmFtaWMgc2VydmVyIHVzYWdlOiBcIiArIGRlc2NyaXB0aW9uKTtcbiAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xuICAgICAgICB0aGlzLmRpZ2VzdCA9IERZTkFNSUNfRVJST1JfQ09ERTtcbiAgICB9XG59XG5mdW5jdGlvbiBpc0R5bmFtaWNTZXJ2ZXJFcnJvcihlcnIpIHtcbiAgICBpZiAodHlwZW9mIGVyciAhPT0gXCJvYmplY3RcIiB8fCBlcnIgPT09IG51bGwgfHwgIShcImRpZ2VzdFwiIGluIGVycikgfHwgdHlwZW9mIGVyci5kaWdlc3QgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZXJyLmRpZ2VzdCA9PT0gRFlOQU1JQ19FUlJPUl9DT0RFO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ob29rcy1zZXJ2ZXItY29udGV4dC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJEeW5hbWljU2VydmVyRXJyb3IiLCJpc0R5bmFtaWNTZXJ2ZXJFcnJvciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIkRZTkFNSUNfRVJST1JfQ09ERSIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJkZXNjcmlwdGlvbiIsImRpZ2VzdCIsImVyciIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/hooks-server-context.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/layout-router.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/client/components/layout-router.js ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nconst { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\nmodule.exports = createProxy(\"/home/robin/AI/Coding/Whisky/node_modules/next/dist/client/components/layout-router.js\");\n //# sourceMappingURL=layout-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7O0NBNGJBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbGF5b3V0LXJvdXRlci5qcz8wYmZhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAvKipcbiAqIE91dGVyTGF5b3V0Um91dGVyIGhhbmRsZXMgdGhlIGN1cnJlbnQgc2VnbWVudCBhcyB3ZWxsIGFzIDxPZmZzY3JlZW4+IHJlbmRlcmluZyBvZiBvdGhlciBzZWdtZW50cy5cbiAqIEl0IGNhbiBiZSByZW5kZXJlZCBuZXh0IHRvIGVhY2ggb3RoZXIgd2l0aCBhIGRpZmZlcmVudCBgcGFyYWxsZWxSb3V0ZXJLZXlgLCBhbGxvd2luZyBmb3IgUGFyYWxsZWwgcm91dGVzLlxuICovIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gT3V0ZXJMYXlvdXRSb3V0ZXI7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3JlYWN0ZG9tID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3QtZG9tXCIpKTtcbmNvbnN0IF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmNvbnN0IF9mZXRjaHNlcnZlcnJlc3BvbnNlID0gcmVxdWlyZShcIi4vcm91dGVyLXJlZHVjZXIvZmV0Y2gtc2VydmVyLXJlc3BvbnNlXCIpO1xuY29uc3QgX2luZmluaXRlcHJvbWlzZSA9IHJlcXVpcmUoXCIuL2luZmluaXRlLXByb21pc2VcIik7XG5jb25zdCBfZXJyb3Jib3VuZGFyeSA9IHJlcXVpcmUoXCIuL2Vycm9yLWJvdW5kYXJ5XCIpO1xuY29uc3QgX21hdGNoc2VnbWVudHMgPSByZXF1aXJlKFwiLi9tYXRjaC1zZWdtZW50c1wiKTtcbmNvbnN0IF9oYW5kbGVzbW9vdGhzY3JvbGwgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaGFuZGxlLXNtb290aC1zY3JvbGxcIik7XG5jb25zdCBfcmVkaXJlY3Rib3VuZGFyeSA9IHJlcXVpcmUoXCIuL3JlZGlyZWN0LWJvdW5kYXJ5XCIpO1xuY29uc3QgX25vdGZvdW5kYm91bmRhcnkgPSByZXF1aXJlKFwiLi9ub3QtZm91bmQtYm91bmRhcnlcIik7XG5jb25zdCBfZ2V0c2VnbWVudHZhbHVlID0gcmVxdWlyZShcIi4vcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZ2V0LXNlZ21lbnQtdmFsdWVcIik7XG5jb25zdCBfY3JlYXRlcm91dGVyY2FjaGVrZXkgPSByZXF1aXJlKFwiLi9yb3V0ZXItcmVkdWNlci9jcmVhdGUtcm91dGVyLWNhY2hlLWtleVwiKTtcbi8qKlxuICogQWRkIHJlZmV0Y2ggbWFya2VyIHRvIHJvdXRlciBzdGF0ZSBhdCB0aGUgcG9pbnQgb2YgdGhlIGN1cnJlbnQgbGF5b3V0IHNlZ21lbnQuXG4gKiBUaGlzIGVuc3VyZXMgdGhlIHJlc3BvbnNlIHJldHVybmVkIGlzIG5vdCBmdXJ0aGVyIGRvd24gdGhhbiB0aGUgY3VycmVudCBsYXlvdXQgc2VnbWVudC5cbiAqLyBmdW5jdGlvbiB3YWxrQWRkUmVmZXRjaChzZWdtZW50UGF0aFRvV2FsaywgdHJlZVRvUmVjcmVhdGUpIHtcbiAgICBpZiAoc2VnbWVudFBhdGhUb1dhbGspIHtcbiAgICAgICAgY29uc3QgW3NlZ21lbnQsIHBhcmFsbGVsUm91dGVLZXldID0gc2VnbWVudFBhdGhUb1dhbGs7XG4gICAgICAgIGNvbnN0IGlzTGFzdCA9IHNlZ21lbnRQYXRoVG9XYWxrLmxlbmd0aCA9PT0gMjtcbiAgICAgICAgaWYgKCgwLCBfbWF0Y2hzZWdtZW50cy5tYXRjaFNlZ21lbnQpKHRyZWVUb1JlY3JlYXRlWzBdLCBzZWdtZW50KSkge1xuICAgICAgICAgICAgaWYgKHRyZWVUb1JlY3JlYXRlWzFdLmhhc093blByb3BlcnR5KHBhcmFsbGVsUm91dGVLZXkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzTGFzdCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWJUcmVlID0gd2Fsa0FkZFJlZmV0Y2godW5kZWZpbmVkLCB0cmVlVG9SZWNyZWF0ZVsxXVtwYXJhbGxlbFJvdXRlS2V5XSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmVlVG9SZWNyZWF0ZVswXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50cmVlVG9SZWNyZWF0ZVsxXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFyYWxsZWxSb3V0ZUtleV06IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViVHJlZVswXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViVHJlZVsxXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViVHJlZVsyXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyZWZldGNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIHRyZWVUb1JlY3JlYXRlWzBdLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi50cmVlVG9SZWNyZWF0ZVsxXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJhbGxlbFJvdXRlS2V5XTogd2Fsa0FkZFJlZmV0Y2goc2VnbWVudFBhdGhUb1dhbGsuc2xpY2UoMiksIHRyZWVUb1JlY3JlYXRlWzFdW3BhcmFsbGVsUm91dGVLZXldKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJlZVRvUmVjcmVhdGU7XG59XG4vLyBUT0RPLUFQUDogUmVwbGFjZSB3aXRoIG5ldyBSZWFjdCBBUEkgZm9yIGZpbmRpbmcgZG9tIG5vZGVzIHdpdGhvdXQgYSBgcmVmYCB3aGVuIGF2YWlsYWJsZVxuLyoqXG4gKiBXcmFwcyBSZWFjdERPTS5maW5kRE9NTm9kZSB3aXRoIGFkZGl0aW9uYWwgbG9naWMgdG8gaGlkZSBSZWFjdCBTdHJpY3QgTW9kZSB3YXJuaW5nXG4gKi8gZnVuY3Rpb24gZmluZERPTU5vZGUoaW5zdGFuY2UpIHtcbiAgICAvLyBUcmVlLXNoYWtlIGZvciBzZXJ2ZXIgYnVuZGxlXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybiBudWxsO1xuICAgIC8vIE9ubHkgYXBwbHkgc3RyaWN0IG1vZGUgd2FybmluZyB3aGVuIG5vdCBpbiBwcm9kdWN0aW9uXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICBjb25zdCBvcmlnaW5hbENvbnNvbGVFcnJvciA9IGNvbnNvbGUuZXJyb3I7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgZm9yKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgbWVzc2FnZXMgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKXtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIElnbm9yZSBzdHJpY3QgbW9kZSB3YXJuaW5nIGZvciB0aGUgZmluZERvbU5vZGUgY2FsbCBiZWxvd1xuICAgICAgICAgICAgICAgIGlmICghbWVzc2FnZXNbMF0uaW5jbHVkZXMoXCJXYXJuaW5nOiAlcyBpcyBkZXByZWNhdGVkIGluIFN0cmljdE1vZGUuXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsQ29uc29sZUVycm9yKC4uLm1lc3NhZ2VzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmV0dXJuIF9yZWFjdGRvbS5kZWZhdWx0LmZpbmRET01Ob2RlKGluc3RhbmNlKTtcbiAgICAgICAgfSBmaW5hbGx5e1xuICAgICAgICAgICAgY29uc29sZS5lcnJvciA9IG9yaWdpbmFsQ29uc29sZUVycm9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBfcmVhY3Rkb20uZGVmYXVsdC5maW5kRE9NTm9kZShpbnN0YW5jZSk7XG59XG5jb25zdCByZWN0UHJvcGVydGllcyA9IFtcbiAgICBcImJvdHRvbVwiLFxuICAgIFwiaGVpZ2h0XCIsXG4gICAgXCJsZWZ0XCIsXG4gICAgXCJyaWdodFwiLFxuICAgIFwidG9wXCIsXG4gICAgXCJ3aWR0aFwiLFxuICAgIFwieFwiLFxuICAgIFwieVwiXG5dO1xuLyoqXG4gKiBDaGVjayBpZiBhIEhUTUxFbGVtZW50IGlzIGhpZGRlbiBvciBmaXhlZC9zdGlja3kgcG9zaXRpb25cbiAqLyBmdW5jdGlvbiBzaG91bGRTa2lwRWxlbWVudChlbGVtZW50KSB7XG4gICAgLy8gd2UgaWdub3JlIGZpeGVkIG9yIHN0aWNreSBwb3NpdGlvbmVkIGVsZW1lbnRzIHNpbmNlIHRoZXknbGwgbGlrZWx5IHBhc3MgdGhlIFwiaW4tdmlld3BvcnRcIiBjaGVja1xuICAgIC8vIGFuZCB3aWxsIHJlc3VsdCBpbiBhIHNpdHVhdGlvbiB3ZSBiYWlsIG9uIHNjcm9sbCBiZWNhdXNlIG9mIHNvbWV0aGluZyBsaWtlIGEgZml4ZWQgbmF2LFxuICAgIC8vIGV2ZW4gdGhvdWdoIHRoZSBhY3R1YWwgcGFnZSBjb250ZW50IGlzIG9mZnNjcmVlblxuICAgIGlmIChbXG4gICAgICAgIFwic3RpY2t5XCIsXG4gICAgICAgIFwiZml4ZWRcIlxuICAgIF0uaW5jbHVkZXMoZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5wb3NpdGlvbikpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlNraXBwaW5nIGF1dG8tc2Nyb2xsIGJlaGF2aW9yIGR1ZSB0byBgcG9zaXRpb246IHN0aWNreWAgb3IgYHBvc2l0aW9uOiBmaXhlZGAgb24gZWxlbWVudDpcIiwgZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8vIFVzZXMgYGdldEJvdW5kaW5nQ2xpZW50UmVjdGAgdG8gY2hlY2sgaWYgdGhlIGVsZW1lbnQgaXMgaGlkZGVuIGluc3RlYWQgb2YgYG9mZnNldFBhcmVudGBcbiAgICAvLyBiZWNhdXNlIGBvZmZzZXRQYXJlbnRgIGRvZXNuJ3QgY29uc2lkZXIgZG9jdW1lbnQvYm9keVxuICAgIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHJldHVybiByZWN0UHJvcGVydGllcy5ldmVyeSgoaXRlbSk9PnJlY3RbaXRlbV0gPT09IDApO1xufVxuLyoqXG4gKiBDaGVjayBpZiB0aGUgdG9wIGNvcm5lciBvZiB0aGUgSFRNTEVsZW1lbnQgaXMgaW4gdGhlIHZpZXdwb3J0LlxuICovIGZ1bmN0aW9uIHRvcE9mRWxlbWVudEluVmlld3BvcnQoZWxlbWVudCwgdmlld3BvcnRIZWlnaHQpIHtcbiAgICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICByZXR1cm4gcmVjdC50b3AgPj0gMCAmJiByZWN0LnRvcCA8PSB2aWV3cG9ydEhlaWdodDtcbn1cbi8qKlxuICogRmluZCB0aGUgRE9NIG5vZGUgZm9yIGEgaGFzaCBmcmFnbWVudC5cbiAqIElmIGB0b3BgIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIHRvcCBvZiB0aGUgcGFnZS4gVGhpcyBtaXJyb3JzIHRoZSBicm93c2VyJ3MgYmVoYXZpb3IuXG4gKiBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhbiBpZCwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZWxlbWVudCB3aXRoIHRoYXQgaWQuXG4gKiBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhIG5hbWUsIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIGZpcnN0IGVsZW1lbnQgd2l0aCB0aGF0IG5hbWUuXG4gKi8gZnVuY3Rpb24gZ2V0SGFzaEZyYWdtZW50RG9tTm9kZShoYXNoRnJhZ21lbnQpIHtcbiAgICAvLyBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBgdG9wYCB0aGUgcGFnZSBoYXMgdG8gc2Nyb2xsIHRvIHRoZSB0b3Agb2YgdGhlIHBhZ2UuXG4gICAgaWYgKGhhc2hGcmFnbWVudCA9PT0gXCJ0b3BcIikge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQuYm9keTtcbiAgICB9XG4gICAgdmFyIF9kb2N1bWVudF9nZXRFbGVtZW50QnlJZDtcbiAgICAvLyBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhbiBpZCwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZWxlbWVudCB3aXRoIHRoYXQgaWQuXG4gICAgcmV0dXJuIChfZG9jdW1lbnRfZ2V0RWxlbWVudEJ5SWQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChoYXNoRnJhZ21lbnQpKSAhPSBudWxsID8gX2RvY3VtZW50X2dldEVsZW1lbnRCeUlkIDogLy8gSWYgdGhlIGhhc2ggZnJhZ21lbnQgaXMgYSBuYW1lLCB0aGUgcGFnZSBoYXMgdG8gc2Nyb2xsIHRvIHRoZSBmaXJzdCBlbGVtZW50IHdpdGggdGhhdCBuYW1lLlxuICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKGhhc2hGcmFnbWVudClbMF07XG59XG5jbGFzcyBJbm5lclNjcm9sbEFuZEZvY3VzSGFuZGxlciBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlUG90ZW50aWFsU2Nyb2xsKCk7XG4gICAgfVxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgICAgLy8gQmVjYXVzZSB0aGlzIHByb3BlcnR5IGlzIG92ZXJ3cml0dGVuIGluIGhhbmRsZVBvdGVudGlhbFNjcm9sbCBpdCdzIGZpbmUgdG8gYWx3YXlzIHJ1biBpdCB3aGVuIHRydWUgYXMgaXQnbGwgYmUgc2V0IHRvIGZhbHNlIGZvciBzdWJzZXF1ZW50IHJlbmRlcnMuXG4gICAgICAgIGlmICh0aGlzLnByb3BzLmZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5KSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVBvdGVudGlhbFNjcm9sbCgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW47XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3Mpe1xuICAgICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgICAgdGhpcy5oYW5kbGVQb3RlbnRpYWxTY3JvbGwgPSAoKT0+e1xuICAgICAgICAgICAgLy8gSGFuZGxlIHNjcm9sbCBhbmQgZm9jdXMsIGl0J3Mgb25seSBhcHBsaWVkIG9uY2UgaW4gdGhlIGZpcnN0IHVzZUVmZmVjdCB0aGF0IHRyaWdnZXJzIHRoYXQgY2hhbmdlZC5cbiAgICAgICAgICAgIGNvbnN0IHsgZm9jdXNBbmRTY3JvbGxSZWYsIHNlZ21lbnRQYXRoIH0gPSB0aGlzLnByb3BzO1xuICAgICAgICAgICAgaWYgKGZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5KSB7XG4gICAgICAgICAgICAgICAgLy8gc2VnbWVudFBhdGhzIGlzIGFuIGFycmF5IG9mIHNlZ21lbnQgcGF0aHMgdGhhdCBzaG91bGQgYmUgc2Nyb2xsZWQgdG9cbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgY3VycmVudCBzZWdtZW50IHBhdGggaXMgbm90IGluIHRoZSBhcnJheSwgdGhlIHNjcm9sbCBpcyBub3QgYXBwbGllZFxuICAgICAgICAgICAgICAgIC8vIHVubGVzcyB0aGUgYXJyYXkgaXMgZW1wdHksIGluIHdoaWNoIGNhc2UgdGhlIHNjcm9sbCBpcyBhbHdheXMgYXBwbGllZFxuICAgICAgICAgICAgICAgIGlmIChmb2N1c0FuZFNjcm9sbFJlZi5zZWdtZW50UGF0aHMubGVuZ3RoICE9PSAwICYmICFmb2N1c0FuZFNjcm9sbFJlZi5zZWdtZW50UGF0aHMuc29tZSgoc2Nyb2xsUmVmU2VnbWVudFBhdGgpPT5zZWdtZW50UGF0aC5ldmVyeSgoc2VnbWVudCwgaW5kZXgpPT4oMCwgX21hdGNoc2VnbWVudHMubWF0Y2hTZWdtZW50KShzZWdtZW50LCBzY3JvbGxSZWZTZWdtZW50UGF0aFtpbmRleF0pKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsZXQgZG9tTm9kZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgY29uc3QgaGFzaEZyYWdtZW50ID0gZm9jdXNBbmRTY3JvbGxSZWYuaGFzaEZyYWdtZW50O1xuICAgICAgICAgICAgICAgIGlmIChoYXNoRnJhZ21lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9tTm9kZSA9IGdldEhhc2hGcmFnbWVudERvbU5vZGUoaGFzaEZyYWdtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gYGZpbmRET01Ob2RlYCBpcyB0cmlja3kgYmVjYXVzZSBpdCByZXR1cm5zIGp1c3QgdGhlIGZpcnN0IGNoaWxkIGlmIHRoZSBjb21wb25lbnQgaXMgYSBmcmFnbWVudC5cbiAgICAgICAgICAgICAgICAvLyBUaGlzIGFscmVhZHkgY2F1c2VkIGEgYnVnIHdoZXJlIHRoZSBmaXJzdCBjaGlsZCB3YXMgYSA8bGluay8+IGluIGhlYWQuXG4gICAgICAgICAgICAgICAgaWYgKCFkb21Ob2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRvbU5vZGUgPSBmaW5kRE9NTm9kZSh0aGlzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gRE9NIG5vZGUgdGhpcyBsYXlvdXQtcm91dGVyIGxldmVsIGlzIHNraXBwZWQuIEl0J2xsIGJlIGhhbmRsZWQgaGlnaGVyLXVwIGluIHRoZSB0cmVlLlxuICAgICAgICAgICAgICAgIGlmICghKGRvbU5vZGUgaW5zdGFuY2VvZiBFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIFZlcmlmeSBpZiB0aGUgZWxlbWVudCBpcyBhIEhUTUxFbGVtZW50IGFuZCBpZiB3ZSB3YW50IHRvIGNvbnNpZGVyIGl0IGZvciBzY3JvbGwgYmVoYXZpb3IuXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIGVsZW1lbnQgaXMgc2tpcHBlZCwgdHJ5IHRvIHNlbGVjdCB0aGUgbmV4dCBzaWJsaW5nIGFuZCB0cnkgYWdhaW4uXG4gICAgICAgICAgICAgICAgd2hpbGUoIShkb21Ob2RlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHx8IHNob3VsZFNraXBFbGVtZW50KGRvbU5vZGUpKXtcbiAgICAgICAgICAgICAgICAgICAgLy8gTm8gc2libGluZ3MgZm91bmQgdGhhdCBtYXRjaCB0aGUgY3JpdGVyaWEgYXJlIGZvdW5kLCBzbyBoYW5kbGUgc2Nyb2xsIGhpZ2hlciB1cCBpbiB0aGUgdHJlZSBpbnN0ZWFkLlxuICAgICAgICAgICAgICAgICAgICBpZiAoZG9tTm9kZS5uZXh0RWxlbWVudFNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBkb21Ob2RlID0gZG9tTm9kZS5uZXh0RWxlbWVudFNpYmxpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIFN0YXRlIGlzIG11dGF0ZWQgdG8gZW5zdXJlIHRoYXQgdGhlIGZvY3VzIGFuZCBzY3JvbGwgaXMgYXBwbGllZCBvbmx5IG9uY2UuXG4gICAgICAgICAgICAgICAgZm9jdXNBbmRTY3JvbGxSZWYuYXBwbHkgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBmb2N1c0FuZFNjcm9sbFJlZi5oYXNoRnJhZ21lbnQgPSBudWxsO1xuICAgICAgICAgICAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLnNlZ21lbnRQYXRocyA9IFtdO1xuICAgICAgICAgICAgICAgICgwLCBfaGFuZGxlc21vb3Roc2Nyb2xsLmhhbmRsZVNtb290aFNjcm9sbCkoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgLy8gSW4gY2FzZSBvZiBoYXNoIHNjcm9sbCwgd2Ugb25seSBuZWVkIHRvIHNjcm9sbCB0aGUgZWxlbWVudCBpbnRvIHZpZXdcbiAgICAgICAgICAgICAgICAgICAgaWYgKGhhc2hGcmFnbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9tTm9kZS5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIFN0b3JlIHRoZSBjdXJyZW50IHZpZXdwb3J0IGhlaWdodCBiZWNhdXNlIHJlYWRpbmcgYGNsaWVudEhlaWdodGAgY2F1c2VzIGEgcmVmbG93LFxuICAgICAgICAgICAgICAgICAgICAvLyBhbmQgaXQgd29uJ3QgY2hhbmdlIGR1cmluZyB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBodG1sRWxlbWVudCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSBodG1sRWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBlbGVtZW50J3MgdG9wIGVkZ2UgaXMgYWxyZWFkeSBpbiB0aGUgdmlld3BvcnQsIGV4aXQgZWFybHkuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0b3BPZkVsZW1lbnRJblZpZXdwb3J0KGRvbU5vZGUsIHZpZXdwb3J0SGVpZ2h0KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgdHJ5IHNjcm9sbGluZyBnbyB0aGUgdG9wIG9mIHRoZSBkb2N1bWVudCB0byBiZSBiYWNrd2FyZCBjb21wYXRpYmxlIHdpdGggcGFnZXNcbiAgICAgICAgICAgICAgICAgICAgLy8gc2Nyb2xsSW50b1ZpZXcoKSBjYWxsZWQgb24gYDxodG1sLz5gIGVsZW1lbnQgc2Nyb2xscyBob3Jpem9udGFsbHkgb24gY2hyb21lIGFuZCBmaXJlZm94ICh0aGF0IHNob3VsZG4ndCBoYXBwZW4pXG4gICAgICAgICAgICAgICAgICAgIC8vIFdlIGNvdWxkIHVzZSBpdCB0byBzY3JvbGwgaG9yaXpvbnRhbGx5IGZvbGxvd2luZyBSVEwgYnV0IHRoYXQgYWxzbyBzZWVtcyB0byBiZSBicm9rZW4gLSBpdCB3aWxsIGFsd2F5cyBzY3JvbGwgbGVmdFxuICAgICAgICAgICAgICAgICAgICAvLyBzY3JvbGxMZWZ0ID0gMCBhbHNvIHNlZW1zIHRvIGlnbm9yZSBSVEwgYW5kIG1hbnVhbGx5IGNoZWNraW5nIGZvciBSVEwgaXMgdG9vIG11Y2ggaGFzc2xlIHNvIHdlIHdpbGwgc2Nyb2xsIGp1c3QgdmVydGljYWxseVxuICAgICAgICAgICAgICAgICAgICBodG1sRWxlbWVudC5zY3JvbGxUb3AgPSAwO1xuICAgICAgICAgICAgICAgICAgICAvLyBTY3JvbGwgdG8gZG9tTm9kZSBpZiBkb21Ob2RlIGlzIG5vdCBpbiB2aWV3cG9ydCB3aGVuIHNjcm9sbGVkIHRvIHRvcCBvZiBkb2N1bWVudFxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRvcE9mRWxlbWVudEluVmlld3BvcnQoZG9tTm9kZSwgdmlld3BvcnRIZWlnaHQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkb21Ob2RlLnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFdlIHdpbGwgZm9yY2UgbGF5b3V0IGJ5IHF1ZXJ5aW5nIGRvbU5vZGUgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgICAgZG9udEZvcmNlTGF5b3V0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBvbmx5SGFzaENoYW5nZTogZm9jdXNBbmRTY3JvbGxSZWYub25seUhhc2hDaGFuZ2VcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyBNdXRhdGUgYWZ0ZXIgc2Nyb2xsaW5nIHNvIHRoYXQgaXQgY2FuIGJlIHJlYWQgYnkgYGhhbmRsZVNtb290aFNjcm9sbGBcbiAgICAgICAgICAgICAgICBmb2N1c0FuZFNjcm9sbFJlZi5vbmx5SGFzaENoYW5nZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIC8vIFNldCBmb2N1cyBvbiB0aGUgZWxlbWVudFxuICAgICAgICAgICAgICAgIGRvbU5vZGUuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG59XG5mdW5jdGlvbiBTY3JvbGxBbmRGb2N1c0hhbmRsZXIocGFyYW0pIHtcbiAgICBsZXQgeyBzZWdtZW50UGF0aCwgY2hpbGRyZW4gfSA9IHBhcmFtO1xuICAgIGNvbnN0IGNvbnRleHQgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0KTtcbiAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkXCIpO1xuICAgIH1cbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShJbm5lclNjcm9sbEFuZEZvY3VzSGFuZGxlciwge1xuICAgICAgICBzZWdtZW50UGF0aDogc2VnbWVudFBhdGgsXG4gICAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmOiBjb250ZXh0LmZvY3VzQW5kU2Nyb2xsUmVmLFxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KTtcbn1cbi8qKlxuICogSW5uZXJMYXlvdXRSb3V0ZXIgaGFuZGxlcyByZW5kZXJpbmcgdGhlIHByb3ZpZGVkIHNlZ21lbnQgYmFzZWQgb24gdGhlIGNhY2hlLlxuICovIGZ1bmN0aW9uIElubmVyTGF5b3V0Um91dGVyKHBhcmFtKSB7XG4gICAgbGV0IHsgcGFyYWxsZWxSb3V0ZXJLZXksIHVybCwgY2hpbGROb2Rlcywgc2VnbWVudFBhdGgsIHRyZWUsIC8vIFRPRE8tQVBQOiBpbXBsZW1lbnQgYDxPZmZzY3JlZW4+YCB3aGVuIGF2YWlsYWJsZS5cbiAgICAvLyBpc0FjdGl2ZSxcbiAgICBjYWNoZUtleSB9ID0gcGFyYW07XG4gICAgY29uc3QgY29udGV4dCA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkdsb2JhbExheW91dFJvdXRlckNvbnRleHQpO1xuICAgIGlmICghY29udGV4dCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpbnZhcmlhbnQgZ2xvYmFsIGxheW91dCByb3V0ZXIgbm90IG1vdW50ZWRcIik7XG4gICAgfVxuICAgIGNvbnN0IHsgYnVpbGRJZCwgY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZSwgdHJlZTogZnVsbFRyZWUgfSA9IGNvbnRleHQ7XG4gICAgLy8gUmVhZCBzZWdtZW50IHBhdGggZnJvbSB0aGUgcGFyYWxsZWwgcm91dGVyIGNhY2hlIG5vZGUuXG4gICAgbGV0IGNoaWxkTm9kZSA9IGNoaWxkTm9kZXMuZ2V0KGNhY2hlS2V5KTtcbiAgICAvLyBXaGVuIGRhdGEgaXMgbm90IGF2YWlsYWJsZSBkdXJpbmcgcmVuZGVyaW5nIGNsaWVudC1zaWRlIHdlIG5lZWQgdG8gZmV0Y2hcbiAgICAvLyBpdCBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAgaWYgKGNoaWxkTm9kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG5ld0xhenlDYWNoZU5vZGUgPSB7XG4gICAgICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgICAgIHJzYzogbnVsbCxcbiAgICAgICAgICAgIHByZWZldGNoUnNjOiBudWxsLFxuICAgICAgICAgICAgaGVhZDogbnVsbCxcbiAgICAgICAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKClcbiAgICAgICAgfTtcbiAgICAgICAgLyoqXG4gICAgICogRmxpZ2h0IGRhdGEgZmV0Y2gga2lja2VkIG9mZiBkdXJpbmcgcmVuZGVyIGFuZCBwdXQgaW50byB0aGUgY2FjaGUuXG4gICAgICovIGNoaWxkTm9kZSA9IG5ld0xhenlDYWNoZU5vZGU7XG4gICAgICAgIGNoaWxkTm9kZXMuc2V0KGNhY2hlS2V5LCBuZXdMYXp5Q2FjaGVOb2RlKTtcbiAgICB9XG4gICAgLy8gYHJzY2AgcmVwcmVzZW50cyB0aGUgcmVuZGVyYWJsZSBub2RlIGZvciB0aGlzIHNlZ21lbnQuXG4gICAgLy8gSWYgdGhpcyBzZWdtZW50IGhhcyBhIGBwcmVmZXRjaFJzY2AsIGl0J3MgdGhlIHN0YXRpY2FsbHkgcHJlZmV0Y2hlZCBkYXRhLlxuICAgIC8vIFdlIHNob3VsZCB1c2UgdGhhdCBvbiBpbml0aWFsIHJlbmRlciBpbnN0ZWFkIG9mIGByc2NgLiBUaGVuIHdlJ2xsIHN3aXRjaFxuICAgIC8vIHRvIGByc2NgIHdoZW4gdGhlIGR5bmFtaWMgcmVzcG9uc2Ugc3RyZWFtcyBpbi5cbiAgICAvL1xuICAgIC8vIElmIG5vIHByZWZldGNoIGRhdGEgaXMgYXZhaWxhYmxlLCB0aGVuIHdlIGdvIHN0cmFpZ2h0IHRvIHJlbmRlcmluZyBgcnNjYC5cbiAgICBjb25zdCByZXNvbHZlZFByZWZldGNoUnNjID0gY2hpbGROb2RlLnByZWZldGNoUnNjICE9PSBudWxsID8gY2hpbGROb2RlLnByZWZldGNoUnNjIDogY2hpbGROb2RlLnJzYztcbiAgICAvLyBXZSB1c2UgYHVzZURlZmVycmVkVmFsdWVgIHRvIGhhbmRsZSBzd2l0Y2hpbmcgYmV0d2VlbiB0aGUgcHJlZmV0Y2hlZCBhbmRcbiAgICAvLyBmaW5hbCB2YWx1ZXMuIFRoZSBzZWNvbmQgYXJndW1lbnQgaXMgcmV0dXJuZWQgb24gaW5pdGlhbCByZW5kZXIsIHRoZW4gaXRcbiAgICAvLyByZS1yZW5kZXJzIHdpdGggdGhlIGZpcnN0IGFyZ3VtZW50LlxuICAgIC8vXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUaGUgc2Vjb25kIGFyZ3VtZW50IHRvIGB1c2VEZWZlcnJlZFZhbHVlYCBpcyBvbmx5XG4gICAgLy8gYXZhaWxhYmxlIGluIHRoZSBleHBlcmltZW50YWwgYnVpbGRzLiBXaGVuIGl0cyBkaXNhYmxlZCwgaXQgd2lsbCBhbHdheXNcbiAgICAvLyByZXR1cm4gYHJzY2AuXG4gICAgY29uc3QgcnNjID0gKDAsIF9yZWFjdC51c2VEZWZlcnJlZFZhbHVlKShjaGlsZE5vZGUucnNjLCByZXNvbHZlZFByZWZldGNoUnNjKTtcbiAgICAvLyBgcnNjYCBpcyBlaXRoZXIgYSBSZWFjdCBub2RlIG9yIGEgcHJvbWlzZSBmb3IgYSBSZWFjdCBub2RlLCBleGNlcHQgd2VcbiAgICAvLyBzcGVjaWFsIGNhc2UgYG51bGxgIHRvIHJlcHJlc2VudCB0aGF0IHRoaXMgc2VnbWVudCdzIGRhdGEgaXMgbWlzc2luZy4gSWZcbiAgICAvLyBpdCdzIGEgcHJvbWlzZSwgd2UgbmVlZCB0byB1bndyYXAgaXQgc28gd2UgY2FuIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB0aGVcbiAgICAvLyBkYXRhIGlzIG1pc3NpbmcuXG4gICAgY29uc3QgcmVzb2x2ZWRSc2MgPSB0eXBlb2YgcnNjID09PSBcIm9iamVjdFwiICYmIHJzYyAhPT0gbnVsbCAmJiB0eXBlb2YgcnNjLnRoZW4gPT09IFwiZnVuY3Rpb25cIiA/ICgwLCBfcmVhY3QudXNlKShyc2MpIDogcnNjO1xuICAgIGlmICghcmVzb2x2ZWRSc2MpIHtcbiAgICAgICAgLy8gVGhlIGRhdGEgZm9yIHRoaXMgc2VnbWVudCBpcyBub3QgYXZhaWxhYmxlLCBhbmQgdGhlcmUncyBubyBwZW5kaW5nXG4gICAgICAgIC8vIG5hdmlnYXRpb24gdGhhdCB3aWxsIGJlIGFibGUgdG8gZnVsZmlsbCBpdC4gV2UgbmVlZCB0byBmZXRjaCBtb3JlIGZyb21cbiAgICAgICAgLy8gdGhlIHNlcnZlciBhbmQgcGF0Y2ggdGhlIGNhY2hlLlxuICAgICAgICAvLyBDaGVjayBpZiB0aGVyZSdzIGFscmVhZHkgYSBwZW5kaW5nIHJlcXVlc3QuXG4gICAgICAgIGxldCBsYXp5RGF0YSA9IGNoaWxkTm9kZS5sYXp5RGF0YTtcbiAgICAgICAgaWYgKGxhenlEYXRhID09PSBudWxsKSB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAqIFJvdXRlciBzdGF0ZSB3aXRoIHJlZmV0Y2ggbWFya2VyIGFkZGVkXG4gICAgICAgKi8gLy8gVE9ETy1BUFA6IHJlbW92ZSAnJ1xuICAgICAgICAgICAgY29uc3QgcmVmZXRjaFRyZWUgPSB3YWxrQWRkUmVmZXRjaChbXG4gICAgICAgICAgICAgICAgXCJcIixcbiAgICAgICAgICAgICAgICAuLi5zZWdtZW50UGF0aFxuICAgICAgICAgICAgXSwgZnVsbFRyZWUpO1xuICAgICAgICAgICAgY2hpbGROb2RlLmxhenlEYXRhID0gbGF6eURhdGEgPSAoMCwgX2ZldGNoc2VydmVycmVzcG9uc2UuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkobmV3IFVSTCh1cmwsIGxvY2F0aW9uLm9yaWdpbiksIHJlZmV0Y2hUcmVlLCBjb250ZXh0Lm5leHRVcmwsIGJ1aWxkSWQpO1xuICAgICAgICB9XG4gICAgICAgIC8qKlxuICAgICAqIEZsaWdodCByZXNwb25zZSBkYXRhXG4gICAgICovIC8vIFdoZW4gdGhlIGRhdGEgaGFzIG5vdCByZXNvbHZlZCB5ZXQgYHVzZWAgd2lsbCBzdXNwZW5kIGhlcmUuXG4gICAgICAgIGNvbnN0IFtmbGlnaHREYXRhLCBvdmVycmlkZUNhbm9uaWNhbFVybF0gPSAoMCwgX3JlYWN0LnVzZSkobGF6eURhdGEpO1xuICAgICAgICAvLyBzZWdtZW50UGF0aCBmcm9tIHRoZSBzZXJ2ZXIgZG9lcyBub3QgbWF0Y2ggdGhlIGxheW91dCdzIHNlZ21lbnRQYXRoXG4gICAgICAgIGNoaWxkTm9kZS5sYXp5RGF0YSA9IG51bGw7XG4gICAgICAgIC8vIHNldFRpbWVvdXQgaXMgdXNlZCB0byBzdGFydCBhIG5ldyB0cmFuc2l0aW9uIGR1cmluZyByZW5kZXIsIHRoaXMgaXMgYW4gaW50ZW50aW9uYWwgaGFjayBhcm91bmQgUmVhY3QuXG4gICAgICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgICAgIGNoYW5nZUJ5U2VydmVyUmVzcG9uc2UoZnVsbFRyZWUsIGZsaWdodERhdGEsIG92ZXJyaWRlQ2Fub25pY2FsVXJsKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gU3VzcGVuZCBpbmZpbml0ZWx5IGFzIGBjaGFuZ2VCeVNlcnZlclJlc3BvbnNlYCB3aWxsIGNhdXNlIGEgZGlmZmVyZW50IHBhcnQgb2YgdGhlIHRyZWUgdG8gYmUgcmVuZGVyZWQuXG4gICAgICAgICgwLCBfcmVhY3QudXNlKSgoMCwgX2luZmluaXRlcHJvbWlzZS5jcmVhdGVJbmZpbml0ZVByb21pc2UpKCkpO1xuICAgIH1cbiAgICAvLyBJZiB3ZSBnZXQgdG8gdGhpcyBwb2ludCwgdGhlbiB3ZSBrbm93IHdlIGhhdmUgc29tZXRoaW5nIHdlIGNhbiByZW5kZXIuXG4gICAgY29uc3Qgc3VidHJlZSA9IC8vIFRoZSBsYXlvdXQgcm91dGVyIGNvbnRleHQgbmFycm93cyBkb3duIHRyZWUgYW5kIGNoaWxkTm9kZXMgYXQgZWFjaCBsZXZlbC5cbiAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5MYXlvdXRSb3V0ZXJDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICB0cmVlOiB0cmVlWzFdW3BhcmFsbGVsUm91dGVyS2V5XSxcbiAgICAgICAgICAgIGNoaWxkTm9kZXM6IGNoaWxkTm9kZS5wYXJhbGxlbFJvdXRlcyxcbiAgICAgICAgICAgIC8vIFRPRE8tQVBQOiBvdmVycmlkaW5nIG9mIHVybCBmb3IgcGFyYWxsZWwgcm91dGVzXG4gICAgICAgICAgICB1cmw6IHVybFxuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogcmVzb2x2ZWRSc2NcbiAgICB9KTtcbiAgICAvLyBFbnN1cmUgcm9vdCBsYXlvdXQgaXMgbm90IHdyYXBwZWQgaW4gYSBkaXYgYXMgdGhlIHJvb3QgbGF5b3V0IHJlbmRlcnMgYDxodG1sPmBcbiAgICByZXR1cm4gc3VidHJlZTtcbn1cbi8qKlxuICogUmVuZGVycyBzdXNwZW5zZSBib3VuZGFyeSB3aXRoIHRoZSBwcm92aWRlZCBcImxvYWRpbmdcIiBwcm9wZXJ0eSBhcyB0aGUgZmFsbGJhY2suXG4gKiBJZiBubyBsb2FkaW5nIHByb3BlcnR5IGlzIHByb3ZpZGVkIGl0IHJlbmRlcnMgdGhlIGNoaWxkcmVuIHdpdGhvdXQgYSBzdXNwZW5zZSBib3VuZGFyeS5cbiAqLyBmdW5jdGlvbiBMb2FkaW5nQm91bmRhcnkocGFyYW0pIHtcbiAgICBsZXQgeyBjaGlsZHJlbiwgbG9hZGluZywgbG9hZGluZ1N0eWxlcywgbG9hZGluZ1NjcmlwdHMsIGhhc0xvYWRpbmcgfSA9IHBhcmFtO1xuICAgIGlmIChoYXNMb2FkaW5nKSB7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9yZWFjdC5TdXNwZW5zZSwge1xuICAgICAgICAgICAgZmFsbGJhY2s6IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1N0eWxlcyxcbiAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1NjcmlwdHMsXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmdcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfSk7XG59XG5mdW5jdGlvbiBPdXRlckxheW91dFJvdXRlcihwYXJhbSkge1xuICAgIGxldCB7IHBhcmFsbGVsUm91dGVyS2V5LCBzZWdtZW50UGF0aCwgZXJyb3IsIGVycm9yU3R5bGVzLCBlcnJvclNjcmlwdHMsIHRlbXBsYXRlU3R5bGVzLCB0ZW1wbGF0ZVNjcmlwdHMsIGxvYWRpbmcsIGxvYWRpbmdTdHlsZXMsIGxvYWRpbmdTY3JpcHRzLCBoYXNMb2FkaW5nLCB0ZW1wbGF0ZSwgbm90Rm91bmQsIG5vdEZvdW5kU3R5bGVzLCBzdHlsZXMgfSA9IHBhcmFtO1xuICAgIGNvbnN0IGNvbnRleHQgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5MYXlvdXRSb3V0ZXJDb250ZXh0KTtcbiAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW52YXJpYW50IGV4cGVjdGVkIGxheW91dCByb3V0ZXIgdG8gYmUgbW91bnRlZFwiKTtcbiAgICB9XG4gICAgY29uc3QgeyBjaGlsZE5vZGVzLCB0cmVlLCB1cmwgfSA9IGNvbnRleHQ7XG4gICAgLy8gR2V0IHRoZSBjdXJyZW50IHBhcmFsbGVsUm91dGVyIGNhY2hlIG5vZGVcbiAgICBsZXQgY2hpbGROb2Rlc0ZvclBhcmFsbGVsUm91dGVyID0gY2hpbGROb2Rlcy5nZXQocGFyYWxsZWxSb3V0ZXJLZXkpO1xuICAgIC8vIElmIHRoZSBwYXJhbGxlbCByb3V0ZXIgY2FjaGUgbm9kZSBkb2VzIG5vdCBleGlzdCB5ZXQsIGNyZWF0ZSBpdC5cbiAgICAvLyBUaGlzIHdyaXRlcyB0byB0aGUgY2FjaGUgd2hlbiB0aGVyZSBpcyBubyBpdGVtIGluIHRoZSBjYWNoZSB5ZXQuIEl0IG5ldmVyICpvdmVyd3JpdGVzKiBleGlzdGluZyBjYWNoZSBpdGVtcyB3aGljaCBpcyB3aHkgaXQncyBzYWZlIGluIGNvbmN1cnJlbnQgbW9kZS5cbiAgICBpZiAoIWNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlcikge1xuICAgICAgICBjaGlsZE5vZGVzRm9yUGFyYWxsZWxSb3V0ZXIgPSBuZXcgTWFwKCk7XG4gICAgICAgIGNoaWxkTm9kZXMuc2V0KHBhcmFsbGVsUm91dGVyS2V5LCBjaGlsZE5vZGVzRm9yUGFyYWxsZWxSb3V0ZXIpO1xuICAgIH1cbiAgICAvLyBHZXQgdGhlIGFjdGl2ZSBzZWdtZW50IGluIHRoZSB0cmVlXG4gICAgLy8gVGhlIHJlYXNvbiBhcnJheXMgYXJlIHVzZWQgaW4gdGhlIGRhdGEgZm9ybWF0IGlzIHRoYXQgdGhlc2UgYXJlIHRyYW5zZmVycmVkIGZyb20gdGhlIHNlcnZlciB0byB0aGUgYnJvd3NlciBzbyBpdCdzIG9wdGltaXplZCB0byBzYXZlIGJ5dGVzLlxuICAgIGNvbnN0IHRyZWVTZWdtZW50ID0gdHJlZVsxXVtwYXJhbGxlbFJvdXRlcktleV1bMF07XG4gICAgLy8gSWYgc2VnbWVudCBpcyBhbiBhcnJheSBpdCdzIGEgZHluYW1pYyByb3V0ZSBhbmQgd2Ugd2FudCB0byByZWFkIHRoZSBkeW5hbWljIHJvdXRlIHZhbHVlIGFzIHRoZSBzZWdtZW50IHRvIGdldCBmcm9tIHRoZSBjYWNoZS5cbiAgICBjb25zdCBjdXJyZW50Q2hpbGRTZWdtZW50VmFsdWUgPSAoMCwgX2dldHNlZ21lbnR2YWx1ZS5nZXRTZWdtZW50VmFsdWUpKHRyZWVTZWdtZW50KTtcbiAgICAvKipcbiAgICogRGVjaWRlcyB3aGljaCBzZWdtZW50cyB0byBrZWVwIHJlbmRlcmluZywgYWxsIHNlZ21lbnRzIHRoYXQgYXJlIG5vdCBhY3RpdmUgd2lsbCBiZSB3cmFwcGVkIGluIGA8T2Zmc2NyZWVuPmAuXG4gICAqLyAvLyBUT0RPLUFQUDogQWRkIGhhbmRsaW5nIG9mIGA8T2Zmc2NyZWVuPmAgd2hlbiBpdCdzIGF2YWlsYWJsZS5cbiAgICBjb25zdCBwcmVzZXJ2ZWRTZWdtZW50cyA9IFtcbiAgICAgICAgdHJlZVNlZ21lbnRcbiAgICBdO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgc3R5bGVzLFxuICAgICAgICAgICAgcHJlc2VydmVkU2VnbWVudHMubWFwKChwcmVzZXJ2ZWRTZWdtZW50KT0+e1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZXNlcnZlZFNlZ21lbnRWYWx1ZSA9ICgwLCBfZ2V0c2VnbWVudHZhbHVlLmdldFNlZ21lbnRWYWx1ZSkocHJlc2VydmVkU2VnbWVudCk7XG4gICAgICAgICAgICAgICAgY29uc3QgY2FjaGVLZXkgPSAoMCwgX2NyZWF0ZXJvdXRlcmNhY2hla2V5LmNyZWF0ZVJvdXRlckNhY2hlS2V5KShwcmVzZXJ2ZWRTZWdtZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm4oLypcbiAgICAgICAgICAgIC0gRXJyb3IgYm91bmRhcnlcbiAgICAgICAgICAgICAgLSBPbmx5IHJlbmRlcnMgZXJyb3IgYm91bmRhcnkgaWYgZXJyb3IgY29tcG9uZW50IGlzIHByb3ZpZGVkLlxuICAgICAgICAgICAgICAtIFJlbmRlcmVkIGZvciBlYWNoIHNlZ21lbnQgdG8gZW5zdXJlIHRoZXkgaGF2ZSB0aGVpciBvd24gZXJyb3Igc3RhdGUuXG4gICAgICAgICAgICAtIExvYWRpbmcgYm91bmRhcnlcbiAgICAgICAgICAgICAgLSBPbmx5IHJlbmRlcnMgc3VzcGVuc2UgYm91bmRhcnkgaWYgbG9hZGluZyBjb21wb25lbnRzIGlzIHByb3ZpZGVkLlxuICAgICAgICAgICAgICAtIFJlbmRlcmVkIGZvciBlYWNoIHNlZ21lbnQgdG8gZW5zdXJlIHRoZXkgaGF2ZSB0aGVpciBvd24gbG9hZGluZyBzdGF0ZS5cbiAgICAgICAgICAgICAgLSBQYXNzZWQgdG8gdGhlIHJvdXRlciBkdXJpbmcgcmVuZGVyaW5nIHRvIGVuc3VyZSBpdCBjYW4gYmUgaW1tZWRpYXRlbHkgcmVuZGVyZWQgd2hlbiBzdXNwZW5kaW5nIG9uIGEgRmxpZ2h0IGZldGNoLlxuICAgICAgICAgICovIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5UZW1wbGF0ZUNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoU2Nyb2xsQW5kRm9jdXNIYW5kbGVyLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWdtZW50UGF0aDogc2VnbWVudFBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfZXJyb3Jib3VuZGFyeS5FcnJvckJvdW5kYXJ5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JDb21wb25lbnQ6IGVycm9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yU3R5bGVzOiBlcnJvclN0eWxlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvclNjcmlwdHM6IGVycm9yU2NyaXB0cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShMb2FkaW5nQm91bmRhcnksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzTG9hZGluZzogaGFzTG9hZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZzogbG9hZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1N0eWxlczogbG9hZGluZ1N0eWxlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1NjcmlwdHM6IGxvYWRpbmdTY3JpcHRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfbm90Zm91bmRib3VuZGFyeS5Ob3RGb3VuZEJvdW5kYXJ5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RGb3VuZDogbm90Rm91bmQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RGb3VuZFN0eWxlczogbm90Rm91bmRTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfcmVkaXJlY3Rib3VuZGFyeS5SZWRpcmVjdEJvdW5kYXJ5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoSW5uZXJMYXlvdXRSb3V0ZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYWxsZWxSb3V0ZXJLZXk6IHBhcmFsbGVsUm91dGVyS2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJlZTogdHJlZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGROb2RlczogY2hpbGROb2Rlc0ZvclBhcmFsbGVsUm91dGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWdtZW50UGF0aDogc2VnbWVudFBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlS2V5OiBjYWNoZUtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNBY3RpdmU6IGN1cnJlbnRDaGlsZFNlZ21lbnRWYWx1ZSA9PT0gcHJlc2VydmVkU2VnbWVudFZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVNjcmlwdHMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSwgKDAsIF9jcmVhdGVyb3V0ZXJjYWNoZWtleS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkocHJlc2VydmVkU2VnbWVudCwgdHJ1ZSkpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGF5b3V0LXJvdXRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/layout-router.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/navigation.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/client/components/navigation.js ***! \****************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReadonlyURLSearchParams: function() {\n return ReadonlyURLSearchParams;\n },\n useSearchParams: function() {\n return useSearchParams;\n },\n usePathname: function() {\n return usePathname;\n },\n ServerInsertedHTMLContext: function() {\n return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext;\n },\n useServerInsertedHTML: function() {\n return _serverinsertedhtmlsharedruntime.useServerInsertedHTML;\n },\n useRouter: function() {\n return useRouter;\n },\n useParams: function() {\n return useParams;\n },\n useSelectedLayoutSegments: function() {\n return useSelectedLayoutSegments;\n },\n useSelectedLayoutSegment: function() {\n return useSelectedLayoutSegment;\n },\n redirect: function() {\n return _redirect.redirect;\n },\n permanentRedirect: function() {\n return _redirect.permanentRedirect;\n },\n RedirectType: function() {\n return _redirect.RedirectType;\n },\n notFound: function() {\n return _notfound.notFound;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\");\nconst _clienthookinservercomponenterror = __webpack_require__(/*! ./client-hook-in-server-component-error */ \"(rsc)/./node_modules/next/dist/client/components/client-hook-in-server-component-error.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(rsc)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _segment = __webpack_require__(/*! ../../shared/lib/segment */ \"(rsc)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _serverinsertedhtmlsharedruntime = __webpack_require__(/*! ../../shared/lib/server-inserted-html.shared-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(rsc)/./node_modules/next/dist/client/components/redirect.js\");\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(rsc)/./node_modules/next/dist/client/components/not-found.js\");\nconst INTERNAL_URLSEARCHPARAMS_INSTANCE = Symbol(\"internal for urlsearchparams readonly\");\nfunction readonlyURLSearchParamsError() {\n return new Error(\"ReadonlyURLSearchParams cannot be modified\");\n}\nclass ReadonlyURLSearchParams {\n [Symbol.iterator]() {\n return this[INTERNAL_URLSEARCHPARAMS_INSTANCE][Symbol.iterator]();\n }\n append() {\n throw readonlyURLSearchParamsError();\n }\n delete() {\n throw readonlyURLSearchParamsError();\n }\n set() {\n throw readonlyURLSearchParamsError();\n }\n sort() {\n throw readonlyURLSearchParamsError();\n }\n constructor(urlSearchParams){\n this[INTERNAL_URLSEARCHPARAMS_INSTANCE] = urlSearchParams;\n this.entries = urlSearchParams.entries.bind(urlSearchParams);\n this.forEach = urlSearchParams.forEach.bind(urlSearchParams);\n this.get = urlSearchParams.get.bind(urlSearchParams);\n this.getAll = urlSearchParams.getAll.bind(urlSearchParams);\n this.has = urlSearchParams.has.bind(urlSearchParams);\n this.keys = urlSearchParams.keys.bind(urlSearchParams);\n this.values = urlSearchParams.values.bind(urlSearchParams);\n this.toString = urlSearchParams.toString.bind(urlSearchParams);\n this.size = urlSearchParams.size;\n }\n}\nfunction useSearchParams() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useSearchParams\");\n const searchParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.SearchParamsContext);\n // In the case where this is `null`, the compat types added in\n // `next-env.d.ts` will add a new overload that changes the return type to\n // include `null`.\n const readonlySearchParams = (0, _react.useMemo)(()=>{\n if (!searchParams) {\n // When the router is not ready in pages, we won't have the search params\n // available.\n return null;\n }\n return new ReadonlyURLSearchParams(searchParams);\n }, [\n searchParams\n ]);\n if (true) {\n // AsyncLocalStorage should not be included in the client bundle.\n const { bailoutToClientRendering } = __webpack_require__(/*! ./bailout-to-client-rendering */ \"(rsc)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js\");\n // TODO-APP: handle dynamic = 'force-static' here and on the client\n bailoutToClientRendering(\"useSearchParams()\");\n }\n return readonlySearchParams;\n}\nfunction usePathname() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"usePathname\");\n // In the case where this is `null`, the compat types added in `next-env.d.ts`\n // will add a new overload that changes the return type to include `null`.\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext);\n}\nfunction useRouter() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useRouter\");\n const router = (0, _react.useContext)(_approutercontextsharedruntime.AppRouterContext);\n if (router === null) {\n throw new Error(\"invariant expected app router to be mounted\");\n }\n return router;\n}\n// this function performs a depth-first search of the tree to find the selected\n// params\nfunction getSelectedParams(tree, params) {\n if (params === void 0) params = {};\n const parallelRoutes = tree[1];\n for (const parallelRoute of Object.values(parallelRoutes)){\n const segment = parallelRoute[0];\n const isDynamicParameter = Array.isArray(segment);\n const segmentValue = isDynamicParameter ? segment[1] : segment;\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) continue;\n // Ensure catchAll and optional catchall are turned into an array\n const isCatchAll = isDynamicParameter && (segment[2] === \"c\" || segment[2] === \"oc\");\n if (isCatchAll) {\n params[segment[0]] = segment[1].split(\"/\");\n } else if (isDynamicParameter) {\n params[segment[0]] = segment[1];\n }\n params = getSelectedParams(parallelRoute, params);\n }\n return params;\n}\nfunction useParams() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useParams\");\n const globalLayoutRouter = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n const pathParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext);\n return (0, _react.useMemo)(()=>{\n // When it's under app router\n if (globalLayoutRouter == null ? void 0 : globalLayoutRouter.tree) {\n return getSelectedParams(globalLayoutRouter.tree);\n }\n // When it's under client side pages router\n return pathParams;\n }, [\n globalLayoutRouter == null ? void 0 : globalLayoutRouter.tree,\n pathParams\n ]);\n}\n// TODO-APP: handle parallel routes\n/**\n * Get the canonical parameters from the current level to the leaf node.\n */ function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first, segmentPath) {\n if (first === void 0) first = true;\n if (segmentPath === void 0) segmentPath = [];\n let node;\n if (first) {\n // Use the provided parallel route key on the first parallel route\n node = tree[1][parallelRouteKey];\n } else {\n // After first parallel route prefer children, if there's no children pick the first parallel route.\n const parallelRoutes = tree[1];\n var _parallelRoutes_children;\n node = (_parallelRoutes_children = parallelRoutes.children) != null ? _parallelRoutes_children : Object.values(parallelRoutes)[0];\n }\n if (!node) return segmentPath;\n const segment = node[0];\n const segmentValue = (0, _getsegmentvalue.getSegmentValue)(segment);\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) {\n return segmentPath;\n }\n segmentPath.push(segmentValue);\n return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath);\n}\nfunction useSelectedLayoutSegments(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useSelectedLayoutSegments\");\n const { tree } = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n return getSelectedLayoutSegmentPath(tree, parallelRouteKey);\n}\nfunction useSelectedLayoutSegment(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useSelectedLayoutSegment\");\n const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey);\n if (selectedLayoutSegments.length === 0) {\n return null;\n }\n return selectedLayoutSegments[0];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=navigation.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FjTjtBQUNBLFNBQVNjLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlwQixPQUFPQyxjQUFjLENBQUNrQixRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFoQixTQUFTO0lBQ2JHLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsYUFBYTtRQUNULE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9nQixpQ0FBaUNoQix5QkFBeUI7SUFDckU7SUFDQUMsdUJBQXVCO1FBQ25CLE9BQU9lLGlDQUFpQ2YscUJBQXFCO0lBQ2pFO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLDJCQUEyQjtRQUN2QixPQUFPQTtJQUNYO0lBQ0FDLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPVyxVQUFVWCxRQUFRO0lBQzdCO0lBQ0FDLG1CQUFtQjtRQUNmLE9BQU9VLFVBQVVWLGlCQUFpQjtJQUN0QztJQUNBQyxjQUFjO1FBQ1YsT0FBT1MsVUFBVVQsWUFBWTtJQUNqQztJQUNBQyxVQUFVO1FBQ04sT0FBT1MsVUFBVVQsUUFBUTtJQUM3QjtBQUNKO0FBQ0EsTUFBTVUsU0FBU0MsbUJBQU9BLENBQUMsd0dBQU87QUFDOUIsTUFBTUMsaUNBQWlDRCxtQkFBT0EsQ0FBQyx1S0FBb0Q7QUFDbkcsTUFBTUUsbUNBQW1DRixtQkFBT0EsQ0FBQywyS0FBc0Q7QUFD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U0FBU3pFLDBCQUEwQnVFLGdCQUFnQjtJQUMvQyxJQUFJQSxxQkFBcUIsS0FBSyxHQUFHQSxtQkFBbUI7SUFDbkQsSUFBR3BELGtDQUFrQ3VCLGdDQUFnQyxFQUFFO0lBQ3hFLE1BQU0sRUFBRVcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHdEMsT0FBTzZCLFVBQVUsRUFBRTNCLCtCQUErQjhELG1CQUFtQjtJQUMxRixPQUFPVCw2QkFBNkJqQixNQUFNa0I7QUFDOUM7QUFDQSxTQUFTdEUseUJBQXlCc0UsZ0JBQWdCO0lBQzlDLElBQUlBLHFCQUFxQixLQUFLLEdBQUdBLG1CQUFtQjtJQUNuRCxJQUFHcEQsa0NBQWtDdUIsZ0NBQWdDLEVBQUU7SUFDeEUsTUFBTXNDLHlCQUF5QmhGLDBCQUEwQnVFO0lBQ3pELElBQUlTLHVCQUF1QkMsTUFBTSxLQUFLLEdBQUc7UUFDckMsT0FBTztJQUNYO0lBQ0EsT0FBT0Qsc0JBQXNCLENBQUMsRUFBRTtBQUNwQztBQUVBLElBQUksQ0FBQyxPQUFPMUYsUUFBUTRGLE9BQU8sS0FBSyxjQUFlLE9BQU81RixRQUFRNEYsT0FBTyxLQUFLLFlBQVk1RixRQUFRNEYsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPNUYsUUFBUTRGLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcksvRixPQUFPQyxjQUFjLENBQUNDLFFBQVE0RixPQUFPLEVBQUUsY0FBYztRQUFFM0YsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0csTUFBTSxDQUFDOUYsUUFBUTRGLE9BQU8sRUFBRTVGO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVE0RixPQUFPO0FBQ2xDLEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9uYXZpZ2F0aW9uLmpzPzM0ODIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBSZWFkb25seVVSTFNlYXJjaFBhcmFtczogbnVsbCxcbiAgICB1c2VTZWFyY2hQYXJhbXM6IG51bGwsXG4gICAgdXNlUGF0aG5hbWU6IG51bGwsXG4gICAgU2VydmVySW5zZXJ0ZWRIVE1MQ29udGV4dDogbnVsbCxcbiAgICB1c2VTZXJ2ZXJJbnNlcnRlZEhUTUw6IG51bGwsXG4gICAgdXNlUm91dGVyOiBudWxsLFxuICAgIHVzZVBhcmFtczogbnVsbCxcbiAgICB1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzOiBudWxsLFxuICAgIHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudDogbnVsbCxcbiAgICByZWRpcmVjdDogbnVsbCxcbiAgICBwZXJtYW5lbnRSZWRpcmVjdDogbnVsbCxcbiAgICBSZWRpcmVjdFR5cGU6IG51bGwsXG4gICAgbm90Rm91bmQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXM7XG4gICAgfSxcbiAgICB1c2VTZWFyY2hQYXJhbXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlU2VhcmNoUGFyYW1zO1xuICAgIH0sXG4gICAgdXNlUGF0aG5hbWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlUGF0aG5hbWU7XG4gICAgfSxcbiAgICBTZXJ2ZXJJbnNlcnRlZEhUTUxDb250ZXh0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zZXJ2ZXJpbnNlcnRlZGh0bWxzaGFyZWRydW50aW1lLlNlcnZlckluc2VydGVkSFRNTENvbnRleHQ7XG4gICAgfSxcbiAgICB1c2VTZXJ2ZXJJbnNlcnRlZEhUTUw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3NlcnZlcmluc2VydGVkaHRtbHNoYXJlZHJ1bnRpbWUudXNlU2VydmVySW5zZXJ0ZWRIVE1MO1xuICAgIH0sXG4gICAgdXNlUm91dGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZVJvdXRlcjtcbiAgICB9LFxuICAgIHVzZVBhcmFtczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1c2VQYXJhbXM7XG4gICAgfSxcbiAgICB1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHM7XG4gICAgfSxcbiAgICB1c2VTZWxlY3RlZExheW91dFNlZ21lbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50O1xuICAgIH0sXG4gICAgcmVkaXJlY3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3JlZGlyZWN0LnJlZGlyZWN0O1xuICAgIH0sXG4gICAgcGVybWFuZW50UmVkaXJlY3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3JlZGlyZWN0LnBlcm1hbmVudFJlZGlyZWN0O1xuICAgIH0sXG4gICAgUmVkaXJlY3RUeXBlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9yZWRpcmVjdC5SZWRpcmVjdFR5cGU7XG4gICAgfSxcbiAgICBub3RGb3VuZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfbm90Zm91bmQubm90Rm91bmQ7XG4gICAgfVxufSk7XG5jb25zdCBfcmVhY3QgPSByZXF1aXJlKFwicmVhY3RcIik7XG5jb25zdCBfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWVcIik7XG5jb25zdCBfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2hvb2tzLWNsaWVudC1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY29uc3QgX2NsaWVudGhvb2tpbnNlcnZlcmNvbXBvbmVudGVycm9yID0gcmVxdWlyZShcIi4vY2xpZW50LWhvb2staW4tc2VydmVyLWNvbXBvbmVudC1lcnJvclwiKTtcbmNvbnN0IF9nZXRzZWdtZW50dmFsdWUgPSByZXF1aXJlKFwiLi9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9nZXQtc2VnbWVudC12YWx1ZVwiKTtcbmNvbnN0IF9zZWdtZW50ID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvc2VnbWVudFwiKTtcbmNvbnN0IF9zZXJ2ZXJpbnNlcnRlZGh0bWxzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvc2VydmVyLWluc2VydGVkLWh0bWwuc2hhcmVkLXJ1bnRpbWVcIik7XG5jb25zdCBfcmVkaXJlY3QgPSByZXF1aXJlKFwiLi9yZWRpcmVjdFwiKTtcbmNvbnN0IF9ub3Rmb3VuZCA9IHJlcXVpcmUoXCIuL25vdC1mb3VuZFwiKTtcbmNvbnN0IElOVEVSTkFMX1VSTFNFQVJDSFBBUkFNU19JTlNUQU5DRSA9IFN5bWJvbChcImludGVybmFsIGZvciB1cmxzZWFyY2hwYXJhbXMgcmVhZG9ubHlcIik7XG5mdW5jdGlvbiByZWFkb25seVVSTFNlYXJjaFBhcmFtc0Vycm9yKCkge1xuICAgIHJldHVybiBuZXcgRXJyb3IoXCJSZWFkb25seVVSTFNlYXJjaFBhcmFtcyBjYW5ub3QgYmUgbW9kaWZpZWRcIik7XG59XG5jbGFzcyBSZWFkb25seVVSTFNlYXJjaFBhcmFtcyB7XG4gICAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0lOVEVSTkFMX1VSTFNFQVJDSFBBUkFNU19JTlNUQU5DRV1bU3ltYm9sLml0ZXJhdG9yXSgpO1xuICAgIH1cbiAgICBhcHBlbmQoKSB7XG4gICAgICAgIHRocm93IHJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zRXJyb3IoKTtcbiAgICB9XG4gICAgZGVsZXRlKCkge1xuICAgICAgICB0aHJvdyByZWFkb25seVVSTFNlYXJjaFBhcmFtc0Vycm9yKCk7XG4gICAgfVxuICAgIHNldCgpIHtcbiAgICAgICAgdGhyb3cgcmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNFcnJvcigpO1xuICAgIH1cbiAgICBzb3J0KCkge1xuICAgICAgICB0aHJvdyByZWFkb25seVVSTFNlYXJjaFBhcmFtc0Vycm9yKCk7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHVybFNlYXJjaFBhcmFtcyl7XG4gICAgICAgIHRoaXNbSU5URVJOQUxfVVJMU0VBUkNIUEFSQU1TX0lOU1RBTkNFXSA9IHVybFNlYXJjaFBhcmFtcztcbiAgICAgICAgdGhpcy5lbnRyaWVzID0gdXJsU2VhcmNoUGFyYW1zLmVudHJpZXMuYmluZCh1cmxTZWFyY2hQYXJhbXMpO1xuICAgICAgICB0aGlzLmZvckVhY2ggPSB1cmxTZWFyY2hQYXJhbXMuZm9yRWFjaC5iaW5kKHVybFNlYXJjaFBhcmFtcyk7XG4gICAgICAgIHRoaXMuZ2V0ID0gdXJsU2VhcmNoUGFyYW1zLmdldC5iaW5kKHVybFNlYXJjaFBhcmFtcyk7XG4gICAgICAgIHRoaXMuZ2V0QWxsID0gdXJsU2VhcmNoUGFyYW1zLmdldEFsbC5iaW5kKHVybFNlYXJjaFBhcmFtcyk7XG4gICAgICAgIHRoaXMuaGFzID0gdXJsU2VhcmNoUGFyYW1zLmhhcy5iaW5kKHVybFNlYXJjaFBhcmFtcyk7XG4gICAgICAgIHRoaXMua2V5cyA9IHVybFNlYXJjaFBhcmFtcy5rZXlzLmJpbmQodXJsU2VhcmNoUGFyYW1zKTtcbiAgICAgICAgdGhpcy52YWx1ZXMgPSB1cmxTZWFyY2hQYXJhbXMudmFsdWVzLmJpbmQodXJsU2VhcmNoUGFyYW1zKTtcbiAgICAgICAgdGhpcy50b1N0cmluZyA9IHVybFNlYXJjaFBhcmFtcy50b1N0cmluZy5iaW5kKHVybFNlYXJjaFBhcmFtcyk7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHVybFNlYXJjaFBhcmFtcy5zaXplO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHVzZVNlYXJjaFBhcmFtcygpIHtcbiAgICAoMCwgX2NsaWVudGhvb2tpbnNlcnZlcmNvbXBvbmVudGVycm9yLmNsaWVudEhvb2tJblNlcnZlckNvbXBvbmVudEVycm9yKShcInVzZVNlYXJjaFBhcmFtc1wiKTtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9ob29rc2NsaWVudGNvbnRleHRzaGFyZWRydW50aW1lLlNlYXJjaFBhcmFtc0NvbnRleHQpO1xuICAgIC8vIEluIHRoZSBjYXNlIHdoZXJlIHRoaXMgaXMgYG51bGxgLCB0aGUgY29tcGF0IHR5cGVzIGFkZGVkIGluXG4gICAgLy8gYG5leHQtZW52LmQudHNgIHdpbGwgYWRkIGEgbmV3IG92ZXJsb2FkIHRoYXQgY2hhbmdlcyB0aGUgcmV0dXJuIHR5cGUgdG9cbiAgICAvLyBpbmNsdWRlIGBudWxsYC5cbiAgICBjb25zdCByZWFkb25seVNlYXJjaFBhcmFtcyA9ICgwLCBfcmVhY3QudXNlTWVtbykoKCk9PntcbiAgICAgICAgaWYgKCFzZWFyY2hQYXJhbXMpIHtcbiAgICAgICAgICAgIC8vIFdoZW4gdGhlIHJvdXRlciBpcyBub3QgcmVhZHkgaW4gcGFnZXMsIHdlIHdvbid0IGhhdmUgdGhlIHNlYXJjaCBwYXJhbXNcbiAgICAgICAgICAgIC8vIGF2YWlsYWJsZS5cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMoc2VhcmNoUGFyYW1zKTtcbiAgICB9LCBbXG4gICAgICAgIHNlYXJjaFBhcmFtc1xuICAgIF0pO1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIC8vIEFzeW5jTG9jYWxTdG9yYWdlIHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIGNsaWVudCBidW5kbGUuXG4gICAgICAgIGNvbnN0IHsgYmFpbG91dFRvQ2xpZW50UmVuZGVyaW5nIH0gPSByZXF1aXJlKFwiLi9iYWlsb3V0LXRvLWNsaWVudC1yZW5kZXJpbmdcIik7XG4gICAgICAgIC8vIFRPRE8tQVBQOiBoYW5kbGUgZHluYW1pYyA9ICdmb3JjZS1zdGF0aWMnIGhlcmUgYW5kIG9uIHRoZSBjbGllbnRcbiAgICAgICAgYmFpbG91dFRvQ2xpZW50UmVuZGVyaW5nKFwidXNlU2VhcmNoUGFyYW1zKClcIik7XG4gICAgfVxuICAgIHJldHVybiByZWFkb25seVNlYXJjaFBhcmFtcztcbn1cbmZ1bmN0aW9uIHVzZVBhdGhuYW1lKCkge1xuICAgICgwLCBfY2xpZW50aG9va2luc2VydmVyY29tcG9uZW50ZXJyb3IuY2xpZW50SG9va0luU2VydmVyQ29tcG9uZW50RXJyb3IpKFwidXNlUGF0aG5hbWVcIik7XG4gICAgLy8gSW4gdGhlIGNhc2Ugd2hlcmUgdGhpcyBpcyBgbnVsbGAsIHRoZSBjb21wYXQgdHlwZXMgYWRkZWQgaW4gYG5leHQtZW52LmQudHNgXG4gICAgLy8gd2lsbCBhZGQgYSBuZXcgb3ZlcmxvYWQgdGhhdCBjaGFuZ2VzIHRoZSByZXR1cm4gdHlwZSB0byBpbmNsdWRlIGBudWxsYC5cbiAgICByZXR1cm4gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZS5QYXRobmFtZUNvbnRleHQpO1xufVxuZnVuY3Rpb24gdXNlUm91dGVyKCkge1xuICAgICgwLCBfY2xpZW50aG9va2luc2VydmVyY29tcG9uZW50ZXJyb3IuY2xpZW50SG9va0luU2VydmVyQ29tcG9uZW50RXJyb3IpKFwidXNlUm91dGVyXCIpO1xuICAgIGNvbnN0IHJvdXRlciA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkFwcFJvdXRlckNvbnRleHQpO1xuICAgIGlmIChyb3V0ZXIgPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW52YXJpYW50IGV4cGVjdGVkIGFwcCByb3V0ZXIgdG8gYmUgbW91bnRlZFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHJvdXRlcjtcbn1cbi8vIHRoaXMgZnVuY3Rpb24gcGVyZm9ybXMgYSBkZXB0aC1maXJzdCBzZWFyY2ggb2YgdGhlIHRyZWUgdG8gZmluZCB0aGUgc2VsZWN0ZWRcbi8vIHBhcmFtc1xuZnVuY3Rpb24gZ2V0U2VsZWN0ZWRQYXJhbXModHJlZSwgcGFyYW1zKSB7XG4gICAgaWYgKHBhcmFtcyA9PT0gdm9pZCAwKSBwYXJhbXMgPSB7fTtcbiAgICBjb25zdCBwYXJhbGxlbFJvdXRlcyA9IHRyZWVbMV07XG4gICAgZm9yIChjb25zdCBwYXJhbGxlbFJvdXRlIG9mIE9iamVjdC52YWx1ZXMocGFyYWxsZWxSb3V0ZXMpKXtcbiAgICAgICAgY29uc3Qgc2VnbWVudCA9IHBhcmFsbGVsUm91dGVbMF07XG4gICAgICAgIGNvbnN0IGlzRHluYW1pY1BhcmFtZXRlciA9IEFycmF5LmlzQXJyYXkoc2VnbWVudCk7XG4gICAgICAgIGNvbnN0IHNlZ21lbnRWYWx1ZSA9IGlzRHluYW1pY1BhcmFtZXRlciA/IHNlZ21lbnRbMV0gOiBzZWdtZW50O1xuICAgICAgICBpZiAoIXNlZ21lbnRWYWx1ZSB8fCBzZWdtZW50VmFsdWUuc3RhcnRzV2l0aChfc2VnbWVudC5QQUdFX1NFR01FTlRfS0VZKSkgY29udGludWU7XG4gICAgICAgIC8vIEVuc3VyZSBjYXRjaEFsbCBhbmQgb3B0aW9uYWwgY2F0Y2hhbGwgYXJlIHR1cm5lZCBpbnRvIGFuIGFycmF5XG4gICAgICAgIGNvbnN0IGlzQ2F0Y2hBbGwgPSBpc0R5bmFtaWNQYXJhbWV0ZXIgJiYgKHNlZ21lbnRbMl0gPT09IFwiY1wiIHx8IHNlZ21lbnRbMl0gPT09IFwib2NcIik7XG4gICAgICAgIGlmIChpc0NhdGNoQWxsKSB7XG4gICAgICAgICAgICBwYXJhbXNbc2VnbWVudFswXV0gPSBzZWdtZW50WzFdLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0R5bmFtaWNQYXJhbWV0ZXIpIHtcbiAgICAgICAgICAgIHBhcmFtc1tzZWdtZW50WzBdXSA9IHNlZ21lbnRbMV07XG4gICAgICAgIH1cbiAgICAgICAgcGFyYW1zID0gZ2V0U2VsZWN0ZWRQYXJhbXMocGFyYWxsZWxSb3V0ZSwgcGFyYW1zKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbn1cbmZ1bmN0aW9uIHVzZVBhcmFtcygpIHtcbiAgICAoMCwgX2NsaWVudGhvb2tpbnNlcnZlcmNvbXBvbmVudGVycm9yLmNsaWVudEhvb2tJblNlcnZlckNvbXBvbmVudEVycm9yKShcInVzZVBhcmFtc1wiKTtcbiAgICBjb25zdCBnbG9iYWxMYXlvdXRSb3V0ZXIgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0KTtcbiAgICBjb25zdCBwYXRoUGFyYW1zID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZS5QYXRoUGFyYW1zQ29udGV4dCk7XG4gICAgcmV0dXJuICgwLCBfcmVhY3QudXNlTWVtbykoKCk9PntcbiAgICAgICAgLy8gV2hlbiBpdCdzIHVuZGVyIGFwcCByb3V0ZXJcbiAgICAgICAgaWYgKGdsb2JhbExheW91dFJvdXRlciA9PSBudWxsID8gdm9pZCAwIDogZ2xvYmFsTGF5b3V0Um91dGVyLnRyZWUpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRTZWxlY3RlZFBhcmFtcyhnbG9iYWxMYXlvdXRSb3V0ZXIudHJlZSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gV2hlbiBpdCdzIHVuZGVyIGNsaWVudCBzaWRlIHBhZ2VzIHJvdXRlclxuICAgICAgICByZXR1cm4gcGF0aFBhcmFtcztcbiAgICB9LCBbXG4gICAgICAgIGdsb2JhbExheW91dFJvdXRlciA9PSBudWxsID8gdm9pZCAwIDogZ2xvYmFsTGF5b3V0Um91dGVyLnRyZWUsXG4gICAgICAgIHBhdGhQYXJhbXNcbiAgICBdKTtcbn1cbi8vIFRPRE8tQVBQOiBoYW5kbGUgcGFyYWxsZWwgcm91dGVzXG4vKipcbiAqIEdldCB0aGUgY2Fub25pY2FsIHBhcmFtZXRlcnMgZnJvbSB0aGUgY3VycmVudCBsZXZlbCB0byB0aGUgbGVhZiBub2RlLlxuICovIGZ1bmN0aW9uIGdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgodHJlZSwgcGFyYWxsZWxSb3V0ZUtleSwgZmlyc3QsIHNlZ21lbnRQYXRoKSB7XG4gICAgaWYgKGZpcnN0ID09PSB2b2lkIDApIGZpcnN0ID0gdHJ1ZTtcbiAgICBpZiAoc2VnbWVudFBhdGggPT09IHZvaWQgMCkgc2VnbWVudFBhdGggPSBbXTtcbiAgICBsZXQgbm9kZTtcbiAgICBpZiAoZmlyc3QpIHtcbiAgICAgICAgLy8gVXNlIHRoZSBwcm92aWRlZCBwYXJhbGxlbCByb3V0ZSBrZXkgb24gdGhlIGZpcnN0IHBhcmFsbGVsIHJvdXRlXG4gICAgICAgIG5vZGUgPSB0cmVlWzFdW3BhcmFsbGVsUm91dGVLZXldO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFmdGVyIGZpcnN0IHBhcmFsbGVsIHJvdXRlIHByZWZlciBjaGlsZHJlbiwgaWYgdGhlcmUncyBubyBjaGlsZHJlbiBwaWNrIHRoZSBmaXJzdCBwYXJhbGxlbCByb3V0ZS5cbiAgICAgICAgY29uc3QgcGFyYWxsZWxSb3V0ZXMgPSB0cmVlWzFdO1xuICAgICAgICB2YXIgX3BhcmFsbGVsUm91dGVzX2NoaWxkcmVuO1xuICAgICAgICBub2RlID0gKF9wYXJhbGxlbFJvdXRlc19jaGlsZHJlbiA9IHBhcmFsbGVsUm91dGVzLmNoaWxkcmVuKSAhPSBudWxsID8gX3BhcmFsbGVsUm91dGVzX2NoaWxkcmVuIDogT2JqZWN0LnZhbHVlcyhwYXJhbGxlbFJvdXRlcylbMF07XG4gICAgfVxuICAgIGlmICghbm9kZSkgcmV0dXJuIHNlZ21lbnRQYXRoO1xuICAgIGNvbnN0IHNlZ21lbnQgPSBub2RlWzBdO1xuICAgIGNvbnN0IHNlZ21lbnRWYWx1ZSA9ICgwLCBfZ2V0c2VnbWVudHZhbHVlLmdldFNlZ21lbnRWYWx1ZSkoc2VnbWVudCk7XG4gICAgaWYgKCFzZWdtZW50VmFsdWUgfHwgc2VnbWVudFZhbHVlLnN0YXJ0c1dpdGgoX3NlZ21lbnQuUEFHRV9TRUdNRU5UX0tFWSkpIHtcbiAgICAgICAgcmV0dXJuIHNlZ21lbnRQYXRoO1xuICAgIH1cbiAgICBzZWdtZW50UGF0aC5wdXNoKHNlZ21lbnRWYWx1ZSk7XG4gICAgcmV0dXJuIGdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgobm9kZSwgcGFyYWxsZWxSb3V0ZUtleSwgZmFsc2UsIHNlZ21lbnRQYXRoKTtcbn1cbmZ1bmN0aW9uIHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMocGFyYWxsZWxSb3V0ZUtleSkge1xuICAgIGlmIChwYXJhbGxlbFJvdXRlS2V5ID09PSB2b2lkIDApIHBhcmFsbGVsUm91dGVLZXkgPSBcImNoaWxkcmVuXCI7XG4gICAgKDAsIF9jbGllbnRob29raW5zZXJ2ZXJjb21wb25lbnRlcnJvci5jbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvcikoXCJ1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzXCIpO1xuICAgIGNvbnN0IHsgdHJlZSB9ID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuTGF5b3V0Um91dGVyQ29udGV4dCk7XG4gICAgcmV0dXJuIGdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgodHJlZSwgcGFyYWxsZWxSb3V0ZUtleSk7XG59XG5mdW5jdGlvbiB1c2VTZWxlY3RlZExheW91dFNlZ21lbnQocGFyYWxsZWxSb3V0ZUtleSkge1xuICAgIGlmIChwYXJhbGxlbFJvdXRlS2V5ID09PSB2b2lkIDApIHBhcmFsbGVsUm91dGVLZXkgPSBcImNoaWxkcmVuXCI7XG4gICAgKDAsIF9jbGllbnRob29raW5zZXJ2ZXJjb21wb25lbnRlcnJvci5jbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvcikoXCJ1c2VTZWxlY3RlZExheW91dFNlZ21lbnRcIik7XG4gICAgY29uc3Qgc2VsZWN0ZWRMYXlvdXRTZWdtZW50cyA9IHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMocGFyYWxsZWxSb3V0ZUtleSk7XG4gICAgaWYgKHNlbGVjdGVkTGF5b3V0U2VnbWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gc2VsZWN0ZWRMYXlvdXRTZWdtZW50c1swXTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bmF2aWdhdGlvbi5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJSZWFkb25seVVSTFNlYXJjaFBhcmFtcyIsInVzZVNlYXJjaFBhcmFtcyIsInVzZVBhdGhuYW1lIiwiU2VydmVySW5zZXJ0ZWRIVE1MQ29udGV4dCIsInVzZVNlcnZlckluc2VydGVkSFRNTCIsInVzZVJvdXRlciIsInVzZVBhcmFtcyIsInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMiLCJ1c2VTZWxlY3RlZExheW91dFNlZ21lbnQiLCJyZWRpcmVjdCIsInBlcm1hbmVudFJlZGlyZWN0IiwiUmVkaXJlY3RUeXBlIiwibm90Rm91bmQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfc2VydmVyaW5zZXJ0ZWRodG1sc2hhcmVkcnVudGltZSIsIl9yZWRpcmVjdCIsIl9ub3Rmb3VuZCIsIl9yZWFjdCIsInJlcXVpcmUiLCJfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZSIsIl9jbGllbnRob29raW5zZXJ2ZXJjb21wb25lbnRlcnJvciIsIl9nZXRzZWdtZW50dmFsdWUiLCJfc2VnbWVudCIsIklOVEVSTkFMX1VSTFNFQVJDSFBBUkFNU19JTlNUQU5DRSIsIlN5bWJvbCIsInJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zRXJyb3IiLCJFcnJvciIsIml0ZXJhdG9yIiwiYXBwZW5kIiwiZGVsZXRlIiwic2V0Iiwic29ydCIsImNvbnN0cnVjdG9yIiwidXJsU2VhcmNoUGFyYW1zIiwiZW50cmllcyIsImJpbmQiLCJmb3JFYWNoIiwiZ2V0QWxsIiwiaGFzIiwia2V5cyIsInZhbHVlcyIsInRvU3RyaW5nIiwic2l6ZSIsImNsaWVudEhvb2tJblNlcnZlckNvbXBvbmVudEVycm9yIiwic2VhcmNoUGFyYW1zIiwidXNlQ29udGV4dCIsIlNlYXJjaFBhcmFtc0NvbnRleHQiLCJyZWFkb25seVNlYXJjaFBhcmFtcyIsInVzZU1lbW8iLCJiYWlsb3V0VG9DbGllbnRSZW5kZXJpbmciLCJQYXRobmFtZUNvbnRleHQiLCJyb3V0ZXIiLCJBcHBSb3V0ZXJDb250ZXh0IiwiZ2V0U2VsZWN0ZWRQYXJhbXMiLCJ0cmVlIiwicGFyYW1zIiwicGFyYWxsZWxSb3V0ZXMiLCJwYXJhbGxlbFJvdXRlIiwic2VnbWVudCIsImlzRHluYW1pY1BhcmFtZXRlciIsIkFycmF5IiwiaXNBcnJheSIsInNlZ21lbnRWYWx1ZSIsInN0YXJ0c1dpdGgiLCJQQUdFX1NFR01FTlRfS0VZIiwiaXNDYXRjaEFsbCIsInNwbGl0IiwiZ2xvYmFsTGF5b3V0Um91dGVyIiwiR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCIsInBhdGhQYXJhbXMiLCJQYXRoUGFyYW1zQ29udGV4dCIsImdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgiLCJwYXJhbGxlbFJvdXRlS2V5IiwiZmlyc3QiLCJzZWdtZW50UGF0aCIsIm5vZGUiLCJfcGFyYWxsZWxSb3V0ZXNfY2hpbGRyZW4iLCJjaGlsZHJlbiIsImdldFNlZ21lbnRWYWx1ZSIsInB1c2giLCJMYXlvdXRSb3V0ZXJDb250ZXh0Iiwic2VsZWN0ZWRMYXlvdXRTZWdtZW50cyIsImxlbmd0aCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/navigation.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/not-found-boundary.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/client/components/not-found-boundary.js ***! \************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nconst { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\nmodule.exports = createProxy(\"/home/robin/AI/Coding/Whisky/node_modules/next/dist/client/components/not-found-boundary.js\");\n //# sourceMappingURL=not-found-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qcyIsIm1hcHBpbmdzIjoiOzs7Q0EwR0EsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtYm91bmRhcnkuanM/MzJjOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJOb3RGb3VuZEJvdW5kYXJ5XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBOb3RGb3VuZEJvdW5kYXJ5O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX25hdmlnYXRpb24gPSByZXF1aXJlKFwiLi9uYXZpZ2F0aW9uXCIpO1xuY29uc3QgX25vdGZvdW5kID0gcmVxdWlyZShcIi4vbm90LWZvdW5kXCIpO1xuY29uc3QgX3dhcm5vbmNlID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvdXRpbHMvd2Fybi1vbmNlXCIpO1xuY29uc3QgX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY2xhc3MgTm90Rm91bmRFcnJvckJvdW5kYXJ5IGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcbiAgICBjb21wb25lbnREaWRDYXRjaCgpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIgJiYgLy8gQSBtaXNzaW5nIGNoaWxkcmVuIHNsb3QgaXMgdGhlIHR5cGljYWwgbm90LWZvdW5kIGNhc2UsIHNvIG5vIG5lZWQgdG8gd2FyblxuICAgICAgICAhdGhpcy5wcm9wcy5taXNzaW5nU2xvdHMuaGFzKFwiY2hpbGRyZW5cIikpIHtcbiAgICAgICAgICAgIGxldCB3YXJuaW5nTWVzc2FnZSA9IFwiTm8gZGVmYXVsdCBjb21wb25lbnQgd2FzIGZvdW5kIGZvciBhIHBhcmFsbGVsIHJvdXRlIHJlbmRlcmVkIG9uIHRoaXMgcGFnZS4gRmFsbGluZyBiYWNrIHRvIG5lYXJlc3QgTm90Rm91bmQgYm91bmRhcnkuXFxuXCIgKyBcIkxlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JvdXRpbmcvcGFyYWxsZWwtcm91dGVzI2RlZmF1bHRqc1xcblxcblwiO1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMubWlzc2luZ1Nsb3RzLnNpemUgPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkU2xvdHMgPSBBcnJheS5mcm9tKHRoaXMucHJvcHMubWlzc2luZ1Nsb3RzKS5zb3J0KChhLCBiKT0+YS5sb2NhbGVDb21wYXJlKGIpKS5tYXAoKHNsb3QpPT5cIkBcIiArIHNsb3QpLmpvaW4oXCIsIFwiKTtcbiAgICAgICAgICAgICAgICB3YXJuaW5nTWVzc2FnZSArPSBcIk1pc3Npbmcgc2xvdHM6IFwiICsgZm9ybWF0dGVkU2xvdHM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAoMCwgX3dhcm5vbmNlLndhcm5PbmNlKSh3YXJuaW5nTWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlcnJvcikge1xuICAgICAgICBpZiAoKDAsIF9ub3Rmb3VuZC5pc05vdEZvdW5kRXJyb3IpKGVycm9yKSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBub3RGb3VuZFRyaWdnZXJlZDogdHJ1ZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZS10aHJvdyBpZiBlcnJvciBpcyBub3QgZm9yIDQwNFxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICAgICAgLyoqXG4gICAgICogSGFuZGxlcyByZXNldCBvZiB0aGUgZXJyb3IgYm91bmRhcnkgd2hlbiBhIG5hdmlnYXRpb24gaGFwcGVucy5cbiAgICAgKiBFbnN1cmVzIHRoZSBlcnJvciBib3VuZGFyeSBkb2VzIG5vdCBzdGF5IGVuYWJsZWQgd2hlbiBuYXZpZ2F0aW5nIHRvIGEgbmV3IHBhZ2UuXG4gICAgICogQXBwcm9hY2ggb2Ygc2V0U3RhdGUgaW4gcmVuZGVyIGlzIHNhZmUgYXMgaXQgY2hlY2tzIHRoZSBwcmV2aW91cyBwYXRobmFtZSBhbmQgdGhlbiBvdmVycmlkZXNcbiAgICAgKiBpdCBhcyBvdXRsaW5lZCBpbiBodHRwczovL3JlYWN0LmRldi9yZWZlcmVuY2UvcmVhY3QvdXNlU3RhdGUjc3RvcmluZy1pbmZvcm1hdGlvbi1mcm9tLXByZXZpb3VzLXJlbmRlcnNcbiAgICAgKi8gaWYgKHByb3BzLnBhdGhuYW1lICE9PSBzdGF0ZS5wcmV2aW91c1BhdGhuYW1lICYmIHN0YXRlLm5vdEZvdW5kVHJpZ2dlcmVkKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG5vdEZvdW5kVHJpZ2dlcmVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBwcmV2aW91c1BhdGhuYW1lOiBwcm9wcy5wYXRobmFtZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbm90Rm91bmRUcmlnZ2VyZWQ6IHN0YXRlLm5vdEZvdW5kVHJpZ2dlcmVkLFxuICAgICAgICAgICAgcHJldmlvdXNQYXRobmFtZTogcHJvcHMucGF0aG5hbWVcbiAgICAgICAgfTtcbiAgICB9XG4gICAgcmVuZGVyKCkge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZS5ub3RGb3VuZFRyaWdnZXJlZCkge1xuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcIm1ldGFcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJyb2JvdHNcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwibm9pbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiICYmIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwibmV4dC1lcnJvclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJub3QtZm91bmRcIlxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5ub3RGb3VuZFN0eWxlcyxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5ub3RGb3VuZFxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgIH1cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcyl7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIG5vdEZvdW5kVHJpZ2dlcmVkOiAhIXByb3BzLmFzTm90Rm91bmQsXG4gICAgICAgICAgICBwcmV2aW91c1BhdGhuYW1lOiBwcm9wcy5wYXRobmFtZVxuICAgICAgICB9O1xuICAgIH1cbn1cbmZ1bmN0aW9uIE5vdEZvdW5kQm91bmRhcnkocGFyYW0pIHtcbiAgICBsZXQgeyBub3RGb3VuZCwgbm90Rm91bmRTdHlsZXMsIGFzTm90Rm91bmQsIGNoaWxkcmVuIH0gPSBwYXJhbTtcbiAgICBjb25zdCBwYXRobmFtZSA9ICgwLCBfbmF2aWdhdGlvbi51c2VQYXRobmFtZSkoKTtcbiAgICBjb25zdCBtaXNzaW5nU2xvdHMgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5NaXNzaW5nU2xvdENvbnRleHQpO1xuICAgIHJldHVybiBub3RGb3VuZCA/IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoTm90Rm91bmRFcnJvckJvdW5kYXJ5LCB7XG4gICAgICAgIHBhdGhuYW1lOiBwYXRobmFtZSxcbiAgICAgICAgbm90Rm91bmQ6IG5vdEZvdW5kLFxuICAgICAgICBub3RGb3VuZFN0eWxlczogbm90Rm91bmRTdHlsZXMsXG4gICAgICAgIGFzTm90Rm91bmQ6IGFzTm90Rm91bmQsXG4gICAgICAgIG1pc3NpbmdTbG90czogbWlzc2luZ1Nsb3RzLFxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KSA6IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5vdC1mb3VuZC1ib3VuZGFyeS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/not-found-boundary.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/not-found-error.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/client/components/not-found-error.js ***! \*********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return NotFound;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(rsc)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\"));\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n desc: {\n display: \"inline-block\"\n },\n h1: {\n display: \"inline-block\",\n margin: \"0 20px 0 0\",\n padding: \"0 23px 0 0\",\n fontSize: 24,\n fontWeight: 500,\n verticalAlign: \"top\",\n lineHeight: \"49px\"\n },\n h2: {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: \"49px\",\n margin: 0\n }\n};\nfunction NotFound() {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"404: This page could not be found.\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.error,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n dangerouslySetInnerHTML: {\n /* Minified CSS from\n body { margin: 0; color: #000; background: #fff; }\n .next-error-h1 {\n border-right: 1px solid rgba(0, 0, 0, .3);\n }\n\n @media (prefers-color-scheme: dark) {\n body { color: #fff; background: #000; }\n .next-error-h1 {\n border-right: 1px solid rgba(255, 255, 255, .3);\n }\n }\n */ __html: \"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"\n }\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n className: \"next-error-h1\",\n style: styles.h1,\n children: \"404\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.desc,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n style: styles.h2,\n children: \"This page could not be found.\"\n })\n })\n ]\n })\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found-error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsTUFBTUksU0FBUztJQUNYQyxPQUFPO1FBQ0gsMEZBQTBGO1FBQzFGQyxZQUFZO1FBQ1pDLFFBQVE7UUFDUkMsV0FBVztRQUNYQyxTQUFTO1FBQ1RDLGVBQWU7UUFDZkMsWUFBWTtRQUNaQyxnQkFBZ0I7SUFDcEI7SUFDQUMsTUFBTTtRQUNGSixTQUFTO0lBQ2I7SUFDQUssSUFBSTtRQUNBTCxTQUFTO1FBQ1RNLFFBQVE7UUFDUkMsU0FBUztRQUNUQyxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkMsZUFBZTtRQUNmQyxZQUFZO0lBQ2hCO0lBQ0FDLElBQUk7UUFDQUosVUFBVTtRQUNWQyxZQUFZO1FBQ1pFLFlBQVk7UUFDWkwsUUFBUTtJQUNaO0FBQ0o7QUFDQSxTQUFTakI7SUFDTCxPQUFxQixXQUFILEdBQUksSUFBR0csWUFBWXFCLElBQUksRUFBRXJCLFlBQVlzQixRQUFRLEVBQUU7UUFDN0RDLFVBQVU7WUFDTixXQUFXLEdBQUksSUFBR3ZCLFlBQVl3QixHQUFHLEVBQUUsU0FBUztnQkFDeENELFVBQVU7WUFDZDtZQUNBLFdBQVcsR0FBSSxJQUFHdkIsWUFBWXdCLEdBQUcsRUFBRSxPQUFPO2dCQUN0Q0MsT0FBT3RCLE9BQU9DLEtBQUs7Z0JBQ25CbUIsVUFBd0IsV0FBSCxHQUFJLElBQUd2QixZQUFZcUIsSUFBSSxFQUFFLE9BQU87b0JBQ2pERSxVQUFVO3dCQUNOLFdBQVcsR0FBSSxJQUFHdkIsWUFBWXdCLEdBQUcsRUFBRSxTQUFTOzRCQUN4Q0UseUJBQXlCO2dDQUNyQjs7Ozs7Ozs7Ozs7O2NBWWxCLEdBQUdDLFFBQVE7NEJBQ0c7d0JBQ0o7d0JBQ0EsV0FBVyxHQUFJLElBQUczQixZQUFZd0IsR0FBRyxFQUFFLE1BQU07NEJBQ3JDSSxXQUFXOzRCQUNYSCxPQUFPdEIsT0FBT1UsRUFBRTs0QkFDaEJVLFVBQVU7d0JBQ2Q7d0JBQ0EsV0FBVyxHQUFJLElBQUd2QixZQUFZd0IsR0FBRyxFQUFFLE9BQU87NEJBQ3RDQyxPQUFPdEIsT0FBT1MsSUFBSTs0QkFDbEJXLFVBQXdCLFdBQUgsR0FBSSxJQUFHdkIsWUFBWXdCLEdBQUcsRUFBRSxNQUFNO2dDQUMvQ0MsT0FBT3RCLE9BQU9pQixFQUFFO2dDQUNoQkcsVUFBVTs0QkFDZDt3QkFDSjtxQkFDSDtnQkFDTDtZQUNKO1NBQ0g7SUFDTDtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU85QixRQUFRb0MsT0FBTyxLQUFLLGNBQWUsT0FBT3BDLFFBQVFvQyxPQUFPLEtBQUssWUFBWXBDLFFBQVFvQyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wQyxRQUFRb0MsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZDLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9DLE9BQU8sRUFBRSxjQUFjO1FBQUVuQyxPQUFPO0lBQUs7SUFDbkVILE9BQU93QyxNQUFNLENBQUN0QyxRQUFRb0MsT0FBTyxFQUFFcEM7SUFDL0J1QyxPQUFPdkMsT0FBTyxHQUFHQSxRQUFRb0MsT0FBTztBQUNsQyxFQUVBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yLmpzP2U1YzkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBOb3RGb3VuZDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IHN0eWxlcyA9IHtcbiAgICBlcnJvcjoge1xuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL21vZGVybi1ub3JtYWxpemUvYmxvYi9tYWluL21vZGVybi1ub3JtYWxpemUuY3NzI0wzOC1MNTJcbiAgICAgICAgZm9udEZhbWlseTogJ3N5c3RlbS11aSxcIlNlZ29lIFVJXCIsUm9ib3RvLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmLFwiQXBwbGUgQ29sb3IgRW1vamlcIixcIlNlZ29lIFVJIEVtb2ppXCInLFxuICAgICAgICBoZWlnaHQ6IFwiMTAwdmhcIixcbiAgICAgICAgdGV4dEFsaWduOiBcImNlbnRlclwiLFxuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCJcbiAgICB9LFxuICAgIGRlc2M6IHtcbiAgICAgICAgZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIlxuICAgIH0sXG4gICAgaDE6IHtcbiAgICAgICAgZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIixcbiAgICAgICAgbWFyZ2luOiBcIjAgMjBweCAwIDBcIixcbiAgICAgICAgcGFkZGluZzogXCIwIDIzcHggMCAwXCIsXG4gICAgICAgIGZvbnRTaXplOiAyNCxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICB2ZXJ0aWNhbEFsaWduOiBcInRvcFwiLFxuICAgICAgICBsaW5lSGVpZ2h0OiBcIjQ5cHhcIlxuICAgIH0sXG4gICAgaDI6IHtcbiAgICAgICAgZm9udFNpemU6IDE0LFxuICAgICAgICBmb250V2VpZ2h0OiA0MDAsXG4gICAgICAgIGxpbmVIZWlnaHQ6IFwiNDlweFwiLFxuICAgICAgICBtYXJnaW46IDBcbiAgICB9XG59O1xuZnVuY3Rpb24gTm90Rm91bmQoKSB7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwidGl0bGVcIiwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBcIjQwNDogVGhpcyBwYWdlIGNvdWxkIG5vdCBiZSBmb3VuZC5cIlxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICBzdHlsZTogc3R5bGVzLmVycm9yLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic3R5bGVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE1pbmlmaWVkIENTUyBmcm9tXG4gICAgICAgICAgICAgICAgYm9keSB7IG1hcmdpbjogMDsgY29sb3I6ICMwMDA7IGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAgICAgICAgICAgICAubmV4dC1lcnJvci1oMSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIC4zKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAgICAgICAgICAgICBib2R5IHsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQ6ICMwMDA7IH1cbiAgICAgICAgICAgICAgICAgIC5uZXh0LWVycm9yLWgxIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAqLyBfX2h0bWw6IFwiYm9keXtjb2xvcjojMDAwO2JhY2tncm91bmQ6I2ZmZjttYXJnaW46MH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpfUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7Ym9keXtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzAwMH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImgxXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IFwibmV4dC1lcnJvci1oMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBzdHlsZXMuaDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFwiNDA0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy5kZXNjLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiaDJcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogc3R5bGVzLmgyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogXCJUaGlzIHBhZ2UgY291bGQgbm90IGJlIGZvdW5kLlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ub3QtZm91bmQtZXJyb3IuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIk5vdEZvdW5kIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsInN0eWxlcyIsImVycm9yIiwiZm9udEZhbWlseSIsImhlaWdodCIsInRleHRBbGlnbiIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwiZGVzYyIsImgxIiwibWFyZ2luIiwicGFkZGluZyIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsInZlcnRpY2FsQWxpZ24iLCJsaW5lSGVpZ2h0IiwiaDIiLCJqc3hzIiwiRnJhZ21lbnQiLCJjaGlsZHJlbiIsImpzeCIsInN0eWxlIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJjbGFzc05hbWUiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/not-found-error.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/not-found.js": /*!***************************************************************!*\ !*** ./node_modules/next/dist/client/components/not-found.js ***! \***************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n notFound: function() {\n return notFound;\n },\n isNotFoundError: function() {\n return isNotFoundError;\n }\n});\nconst NOT_FOUND_ERROR_CODE = \"NEXT_NOT_FOUND\";\nfunction notFound() {\n // eslint-disable-next-line no-throw-literal\n const error = new Error(NOT_FOUND_ERROR_CODE);\n error.digest = NOT_FOUND_ERROR_CODE;\n throw error;\n}\nfunction isNotFoundError(error) {\n if (typeof error !== \"object\" || error === null || !(\"digest\" in error)) {\n return false;\n }\n return error.digest === NOT_FOUND_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsVUFBVTtRQUNOLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sdUJBQXVCO0FBQzdCLFNBQVNSO0lBQ0wsNENBQTRDO0lBQzVDLE1BQU1TLFFBQVEsSUFBSUMsTUFBTUY7SUFDeEJDLE1BQU1FLE1BQU0sR0FBR0g7SUFDZixNQUFNQztBQUNWO0FBQ0EsU0FBU1IsZ0JBQWdCUSxLQUFLO0lBQzFCLElBQUksT0FBT0EsVUFBVSxZQUFZQSxVQUFVLFFBQVEsQ0FBRSxhQUFZQSxLQUFJLEdBQUk7UUFDckUsT0FBTztJQUNYO0lBQ0EsT0FBT0EsTUFBTUUsTUFBTSxLQUFLSDtBQUM1QjtBQUVBLElBQUksQ0FBQyxPQUFPWCxRQUFRZSxPQUFPLEtBQUssY0FBZSxPQUFPZixRQUFRZSxPQUFPLEtBQUssWUFBWWYsUUFBUWUsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZixRQUFRZSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLbEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRZSxPQUFPLEVBQUUsY0FBYztRQUFFZCxPQUFPO0lBQUs7SUFDbkVILE9BQU9tQixNQUFNLENBQUNqQixRQUFRZSxPQUFPLEVBQUVmO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVFlLE9BQU87QUFDbEMsRUFFQSxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC5qcz80MjAzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgbm90Rm91bmQ6IG51bGwsXG4gICAgaXNOb3RGb3VuZEVycm9yOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIG5vdEZvdW5kOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vdEZvdW5kO1xuICAgIH0sXG4gICAgaXNOb3RGb3VuZEVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzTm90Rm91bmRFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IE5PVF9GT1VORF9FUlJPUl9DT0RFID0gXCJORVhUX05PVF9GT1VORFwiO1xuZnVuY3Rpb24gbm90Rm91bmQoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXRocm93LWxpdGVyYWxcbiAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihOT1RfRk9VTkRfRVJST1JfQ09ERSk7XG4gICAgZXJyb3IuZGlnZXN0ID0gTk9UX0ZPVU5EX0VSUk9SX0NPREU7XG4gICAgdGhyb3cgZXJyb3I7XG59XG5mdW5jdGlvbiBpc05vdEZvdW5kRXJyb3IoZXJyb3IpIHtcbiAgICBpZiAodHlwZW9mIGVycm9yICE9PSBcIm9iamVjdFwiIHx8IGVycm9yID09PSBudWxsIHx8ICEoXCJkaWdlc3RcIiBpbiBlcnJvcikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZXJyb3IuZGlnZXN0ID09PSBOT1RfRk9VTkRfRVJST1JfQ09ERTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm90LWZvdW5kLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIm5vdEZvdW5kIiwiaXNOb3RGb3VuZEVycm9yIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiTk9UX0ZPVU5EX0VSUk9SX0NPREUiLCJlcnJvciIsIkVycm9yIiwiZGlnZXN0IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/not-found.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/parallel-route-default.js": /*!****************************************************************************!*\ !*** ./node_modules/next/dist/client/components/parallel-route-default.js ***! \****************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PARALLEL_ROUTE_DEFAULT_PATH: function() {\n return PARALLEL_ROUTE_DEFAULT_PATH;\n },\n default: function() {\n return ParallelRouteDefault;\n }\n});\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(rsc)/./node_modules/next/dist/client/components/not-found.js\");\nconst PARALLEL_ROUTE_DEFAULT_PATH = \"next/dist/client/components/parallel-route-default\";\nfunction ParallelRouteDefault() {\n (0, _notfound.notFound)();\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=parallel-route-default.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3BhcmFsbGVsLXJvdXRlLWRlZmF1bHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLDZCQUE2QjtRQUN6QixPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPTztJQUNYO0FBQ0o7QUFDQSxNQUFNQyxZQUFZQyxtQkFBT0EsQ0FBQyxrRkFBYTtBQUN2QyxNQUFNViw4QkFBOEI7QUFDcEMsU0FBU1E7SUFDSixJQUFHQyxVQUFVRSxRQUFRO0FBQzFCO0FBRUEsSUFBSSxDQUFDLE9BQU9kLFFBQVFJLE9BQU8sS0FBSyxjQUFlLE9BQU9KLFFBQVFJLE9BQU8sS0FBSyxZQUFZSixRQUFRSSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9KLFFBQVFJLE9BQU8sQ0FBQ1csVUFBVSxLQUFLLGFBQWE7SUFDcktqQixPQUFPQyxjQUFjLENBQUNDLFFBQVFJLE9BQU8sRUFBRSxjQUFjO1FBQUVILE9BQU87SUFBSztJQUNuRUgsT0FBT2tCLE1BQU0sQ0FBQ2hCLFFBQVFJLE9BQU8sRUFBRUo7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUUksT0FBTztBQUNsQyxFQUVBLGtEQUFrRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcGFyYWxsZWwtcm91dGUtZGVmYXVsdC5qcz84ZTdiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUEFSQUxMRUxfUk9VVEVfREVGQVVMVF9QQVRIOiBudWxsLFxuICAgIGRlZmF1bHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUEFSQUxMRUxfUk9VVEVfREVGQVVMVF9QQVRIOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBBUkFMTEVMX1JPVVRFX0RFRkFVTFRfUEFUSDtcbiAgICB9LFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUGFyYWxsZWxSb3V0ZURlZmF1bHQ7XG4gICAgfVxufSk7XG5jb25zdCBfbm90Zm91bmQgPSByZXF1aXJlKFwiLi9ub3QtZm91bmRcIik7XG5jb25zdCBQQVJBTExFTF9ST1VURV9ERUZBVUxUX1BBVEggPSBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9wYXJhbGxlbC1yb3V0ZS1kZWZhdWx0XCI7XG5mdW5jdGlvbiBQYXJhbGxlbFJvdXRlRGVmYXVsdCgpIHtcbiAgICAoMCwgX25vdGZvdW5kLm5vdEZvdW5kKSgpO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXJhbGxlbC1yb3V0ZS1kZWZhdWx0LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIlBBUkFMTEVMX1JPVVRFX0RFRkFVTFRfUEFUSCIsImRlZmF1bHQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJQYXJhbGxlbFJvdXRlRGVmYXVsdCIsIl9ub3Rmb3VuZCIsInJlcXVpcmUiLCJub3RGb3VuZCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/parallel-route-default.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/redirect-status-code.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/redirect-status-code.js ***! \**************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RedirectStatusCode\", ({\n enumerable: true,\n get: function() {\n return RedirectStatusCode;\n }\n}));\nvar RedirectStatusCode;\n(function(RedirectStatusCode) {\n RedirectStatusCode[RedirectStatusCode[\"SeeOther\"] = 303] = \"SeeOther\";\n RedirectStatusCode[RedirectStatusCode[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n RedirectStatusCode[RedirectStatusCode[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n})(RedirectStatusCode || (RedirectStatusCode = {}));\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=redirect-status-code.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LXN0YXR1cy1jb2RlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixJQUFJQTtBQUNILFVBQVNBLGtCQUFrQjtJQUN4QkEsa0JBQWtCLENBQUNBLGtCQUFrQixDQUFDLFdBQVcsR0FBRyxJQUFJLEdBQUc7SUFDM0RBLGtCQUFrQixDQUFDQSxrQkFBa0IsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLEdBQUc7SUFDcEVBLGtCQUFrQixDQUFDQSxrQkFBa0IsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLEdBQUc7QUFDeEUsR0FBR0Esc0JBQXVCQSxDQUFBQSxxQkFBcUIsQ0FBQztBQUVoRCxJQUFJLENBQUMsT0FBT0osUUFBUUssT0FBTyxLQUFLLGNBQWUsT0FBT0wsUUFBUUssT0FBTyxLQUFLLFlBQVlMLFFBQVFLLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT0wsUUFBUUssT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS1IsT0FBT0MsY0FBYyxDQUFDQyxRQUFRSyxPQUFPLEVBQUUsY0FBYztRQUFFSixPQUFPO0lBQUs7SUFDbkVILE9BQU9TLE1BQU0sQ0FBQ1AsUUFBUUssT0FBTyxFQUFFTDtJQUMvQlEsT0FBT1IsT0FBTyxHQUFHQSxRQUFRSyxPQUFPO0FBQ2xDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWRpcmVjdC1zdGF0dXMtY29kZS5qcz80YjEzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiUmVkaXJlY3RTdGF0dXNDb2RlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSZWRpcmVjdFN0YXR1c0NvZGU7XG4gICAgfVxufSk7XG52YXIgUmVkaXJlY3RTdGF0dXNDb2RlO1xuKGZ1bmN0aW9uKFJlZGlyZWN0U3RhdHVzQ29kZSkge1xuICAgIFJlZGlyZWN0U3RhdHVzQ29kZVtSZWRpcmVjdFN0YXR1c0NvZGVbXCJTZWVPdGhlclwiXSA9IDMwM10gPSBcIlNlZU90aGVyXCI7XG4gICAgUmVkaXJlY3RTdGF0dXNDb2RlW1JlZGlyZWN0U3RhdHVzQ29kZVtcIlRlbXBvcmFyeVJlZGlyZWN0XCJdID0gMzA3XSA9IFwiVGVtcG9yYXJ5UmVkaXJlY3RcIjtcbiAgICBSZWRpcmVjdFN0YXR1c0NvZGVbUmVkaXJlY3RTdGF0dXNDb2RlW1wiUGVybWFuZW50UmVkaXJlY3RcIl0gPSAzMDhdID0gXCJQZXJtYW5lbnRSZWRpcmVjdFwiO1xufSkoUmVkaXJlY3RTdGF0dXNDb2RlIHx8IChSZWRpcmVjdFN0YXR1c0NvZGUgPSB7fSkpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWRpcmVjdC1zdGF0dXMtY29kZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiUmVkaXJlY3RTdGF0dXNDb2RlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/redirect-status-code.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/redirect.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/client/components/redirect.js ***! \**************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RedirectType: function() {\n return RedirectType;\n },\n getRedirectError: function() {\n return getRedirectError;\n },\n redirect: function() {\n return redirect;\n },\n permanentRedirect: function() {\n return permanentRedirect;\n },\n isRedirectError: function() {\n return isRedirectError;\n },\n getURLFromRedirectError: function() {\n return getURLFromRedirectError;\n },\n getRedirectTypeFromError: function() {\n return getRedirectTypeFromError;\n },\n getRedirectStatusCodeFromError: function() {\n return getRedirectStatusCodeFromError;\n }\n});\nconst _requestasyncstorageexternal = __webpack_require__(/*! ./request-async-storage.external */ \"../../client/components/request-async-storage.external\");\nconst _actionasyncstorageexternal = __webpack_require__(/*! ./action-async-storage.external */ \"../../client/components/action-async-storage.external\");\nconst _redirectstatuscode = __webpack_require__(/*! ./redirect-status-code */ \"(rsc)/./node_modules/next/dist/client/components/redirect-status-code.js\");\nconst REDIRECT_ERROR_CODE = \"NEXT_REDIRECT\";\nvar RedirectType;\n(function(RedirectType) {\n RedirectType[\"push\"] = \"push\";\n RedirectType[\"replace\"] = \"replace\";\n})(RedirectType || (RedirectType = {}));\nfunction getRedirectError(url, type, statusCode) {\n if (statusCode === void 0) statusCode = _redirectstatuscode.RedirectStatusCode.TemporaryRedirect;\n const error = new Error(REDIRECT_ERROR_CODE);\n error.digest = REDIRECT_ERROR_CODE + \";\" + type + \";\" + url + \";\" + statusCode + \";\";\n const requestStore = _requestasyncstorageexternal.requestAsyncStorage.getStore();\n if (requestStore) {\n error.mutableCookies = requestStore.mutableCookies;\n }\n return error;\n}\nfunction redirect(url, type) {\n if (type === void 0) type = \"replace\";\n const actionStore = _actionasyncstorageexternal.actionAsyncStorage.getStore();\n throw getRedirectError(url, type, // as we don't want the POST request to follow the redirect,\n // as it could result in erroneous re-submissions.\n (actionStore == null ? void 0 : actionStore.isAction) ? _redirectstatuscode.RedirectStatusCode.SeeOther : _redirectstatuscode.RedirectStatusCode.TemporaryRedirect);\n}\nfunction permanentRedirect(url, type) {\n if (type === void 0) type = \"replace\";\n const actionStore = _actionasyncstorageexternal.actionAsyncStorage.getStore();\n throw getRedirectError(url, type, // as we don't want the POST request to follow the redirect,\n // as it could result in erroneous re-submissions.\n (actionStore == null ? void 0 : actionStore.isAction) ? _redirectstatuscode.RedirectStatusCode.SeeOther : _redirectstatuscode.RedirectStatusCode.PermanentRedirect);\n}\nfunction isRedirectError(error) {\n if (typeof error !== \"object\" || error === null || !(\"digest\" in error) || typeof error.digest !== \"string\") {\n return false;\n }\n const [errorCode, type, destination, status] = error.digest.split(\";\", 4);\n const statusCode = Number(status);\n return errorCode === REDIRECT_ERROR_CODE && (type === \"replace\" || type === \"push\") && typeof destination === \"string\" && !isNaN(statusCode) && statusCode in _redirectstatuscode.RedirectStatusCode;\n}\nfunction getURLFromRedirectError(error) {\n if (!isRedirectError(error)) return null;\n // Slices off the beginning of the digest that contains the code and the\n // separating ';'.\n return error.digest.split(\";\", 3)[2];\n}\nfunction getRedirectTypeFromError(error) {\n if (!isRedirectError(error)) {\n throw new Error(\"Not a redirect error\");\n }\n return error.digest.split(\";\", 2)[1];\n}\nfunction getRedirectStatusCodeFromError(error) {\n if (!isRedirectError(error)) {\n throw new Error(\"Not a redirect error\");\n }\n return Number(error.digest.split(\";\", 4)[3]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=redirect.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBU047QUFDQSxTQUFTUyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJZixPQUFPQyxjQUFjLENBQUNhLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUVgsU0FBUztJQUNiRyxjQUFjO1FBQ1YsT0FBT0E7SUFDWDtJQUNBQyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPQTtJQUNYO0lBQ0FDLG1CQUFtQjtRQUNmLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtJQUNBQyx5QkFBeUI7UUFDckIsT0FBT0E7SUFDWDtJQUNBQywwQkFBMEI7UUFDdEIsT0FBT0E7SUFDWDtJQUNBQyxnQ0FBZ0M7UUFDNUIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sK0JBQStCQyxtQkFBT0EsQ0FBQyxnR0FBa0M7QUFDL0UsTUFBTUMsOEJBQThCRCxtQkFBT0EsQ0FBQyw4RkFBaUM7QUFDN0UsTUFBTUUsc0JBQXNCRixtQkFBT0EsQ0FBQyx3R0FBd0I7QUFDNUQsTUFBTUcsc0JBQXNCO0FBQzVCLElBQUlsQjtBQUNILFVBQVNBLFlBQVk7SUFDbEJBLFlBQVksQ0FBQyxPQUFPLEdBQUc7SUFDdkJBLFlBQVksQ0FBQyxVQUFVLEdBQUc7QUFDOUIsR0FBR0EsZ0JBQWlCQSxDQUFBQSxlQUFlLENBQUM7QUFDcEMsU0FBU0MsaUJBQWlCa0IsR0FBRyxFQUFFQyxJQUFJLEVBQUVDLFVBQVU7SUFDM0MsSUFBSUEsZUFBZSxLQUFLLEdBQUdBLGFBQWFKLG9CQUFvQkss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LEVBQUUsY0FBYztRQUFFNUMsT0FBTztJQUFLO0lBQ25FSCxPQUFPaUQsTUFBTSxDQUFDL0MsUUFBUTZDLE9BQU8sRUFBRTdDO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVE2QyxPQUFPO0FBQ2xDLEVBRUEsb0NBQW9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWRpcmVjdC5qcz9iMjViIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUmVkaXJlY3RUeXBlOiBudWxsLFxuICAgIGdldFJlZGlyZWN0RXJyb3I6IG51bGwsXG4gICAgcmVkaXJlY3Q6IG51bGwsXG4gICAgcGVybWFuZW50UmVkaXJlY3Q6IG51bGwsXG4gICAgaXNSZWRpcmVjdEVycm9yOiBudWxsLFxuICAgIGdldFVSTEZyb21SZWRpcmVjdEVycm9yOiBudWxsLFxuICAgIGdldFJlZGlyZWN0VHlwZUZyb21FcnJvcjogbnVsbCxcbiAgICBnZXRSZWRpcmVjdFN0YXR1c0NvZGVGcm9tRXJyb3I6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUmVkaXJlY3RUeXBlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJlZGlyZWN0VHlwZTtcbiAgICB9LFxuICAgIGdldFJlZGlyZWN0RXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0UmVkaXJlY3RFcnJvcjtcbiAgICB9LFxuICAgIHJlZGlyZWN0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlZGlyZWN0O1xuICAgIH0sXG4gICAgcGVybWFuZW50UmVkaXJlY3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcGVybWFuZW50UmVkaXJlY3Q7XG4gICAgfSxcbiAgICBpc1JlZGlyZWN0RXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNSZWRpcmVjdEVycm9yO1xuICAgIH0sXG4gICAgZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3I7XG4gICAgfSxcbiAgICBnZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0UmVkaXJlY3RUeXBlRnJvbUVycm9yO1xuICAgIH0sXG4gICAgZ2V0UmVkaXJlY3RTdGF0dXNDb2RlRnJvbUVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFJlZGlyZWN0U3RhdHVzQ29kZUZyb21FcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9yZXF1ZXN0YXN5bmNzdG9yYWdlZXh0ZXJuYWwgPSByZXF1aXJlKFwiLi9yZXF1ZXN0LWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWxcIik7XG5jb25zdCBfYWN0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwgPSByZXF1aXJlKFwiLi9hY3Rpb24tYXN5bmMtc3RvcmFnZS5leHRlcm5hbFwiKTtcbmNvbnN0IF9yZWRpcmVjdHN0YXR1c2NvZGUgPSByZXF1aXJlKFwiLi9yZWRpcmVjdC1zdGF0dXMtY29kZVwiKTtcbmNvbnN0IFJFRElSRUNUX0VSUk9SX0NPREUgPSBcIk5FWFRfUkVESVJFQ1RcIjtcbnZhciBSZWRpcmVjdFR5cGU7XG4oZnVuY3Rpb24oUmVkaXJlY3RUeXBlKSB7XG4gICAgUmVkaXJlY3RUeXBlW1wicHVzaFwiXSA9IFwicHVzaFwiO1xuICAgIFJlZGlyZWN0VHlwZVtcInJlcGxhY2VcIl0gPSBcInJlcGxhY2VcIjtcbn0pKFJlZGlyZWN0VHlwZSB8fCAoUmVkaXJlY3RUeXBlID0ge30pKTtcbmZ1bmN0aW9uIGdldFJlZGlyZWN0RXJyb3IodXJsLCB0eXBlLCBzdGF0dXNDb2RlKSB7XG4gICAgaWYgKHN0YXR1c0NvZGUgPT09IHZvaWQgMCkgc3RhdHVzQ29kZSA9IF9yZWRpcmVjdHN0YXR1c2NvZGUuUmVkaXJlY3RTdGF0dXNDb2RlLlRlbXBvcmFyeVJlZGlyZWN0O1xuICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKFJFRElSRUNUX0VSUk9SX0NPREUpO1xuICAgIGVycm9yLmRpZ2VzdCA9IFJFRElSRUNUX0VSUk9SX0NPREUgKyBcIjtcIiArIHR5cGUgKyBcIjtcIiArIHVybCArIFwiO1wiICsgc3RhdHVzQ29kZSArIFwiO1wiO1xuICAgIGNvbnN0IHJlcXVlc3RTdG9yZSA9IF9yZXF1ZXN0YXN5bmNzdG9yYWdlZXh0ZXJuYWwucmVxdWVzdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO1xuICAgIGlmIChyZXF1ZXN0U3RvcmUpIHtcbiAgICAgICAgZXJyb3IubXV0YWJsZUNvb2tpZXMgPSByZXF1ZXN0U3RvcmUubXV0YWJsZUNvb2tpZXM7XG4gICAgfVxuICAgIHJldHVybiBlcnJvcjtcbn1cbmZ1bmN0aW9uIHJlZGlyZWN0KHVybCwgdHlwZSkge1xuICAgIGlmICh0eXBlID09PSB2b2lkIDApIHR5cGUgPSBcInJlcGxhY2VcIjtcbiAgICBjb25zdCBhY3Rpb25TdG9yZSA9IF9hY3Rpb25hc3luY3N0b3JhZ2VleHRlcm5hbC5hY3Rpb25Bc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtcbiAgICB0aHJvdyBnZXRSZWRpcmVjdEVycm9yKHVybCwgdHlwZSwgLy8gSWYgd2UncmUgaW4gYW4gYWN0aW9uLCB3ZSB3YW50IHRvIHVzZSBhIDMwMyByZWRpcmVjdFxuICAgIC8vIGFzIHdlIGRvbid0IHdhbnQgdGhlIFBPU1QgcmVxdWVzdCB0byBmb2xsb3cgdGhlIHJlZGlyZWN0LFxuICAgIC8vIGFzIGl0IGNvdWxkIHJlc3VsdCBpbiBlcnJvbmVvdXMgcmUtc3VibWlzc2lvbnMuXG4gICAgKGFjdGlvblN0b3JlID09IG51bGwgPyB2b2lkIDAgOiBhY3Rpb25TdG9yZS5pc0FjdGlvbikgPyBfcmVkaXJlY3RzdGF0dXNjb2RlLlJlZGlyZWN0U3RhdHVzQ29kZS5TZWVPdGhlciA6IF9yZWRpcmVjdHN0YXR1c2NvZGUuUmVkaXJlY3RTdGF0dXNDb2RlLlRlbXBvcmFyeVJlZGlyZWN0KTtcbn1cbmZ1bmN0aW9uIHBlcm1hbmVudFJlZGlyZWN0KHVybCwgdHlwZSkge1xuICAgIGlmICh0eXBlID09PSB2b2lkIDApIHR5cGUgPSBcInJlcGxhY2VcIjtcbiAgICBjb25zdCBhY3Rpb25TdG9yZSA9IF9hY3Rpb25hc3luY3N0b3JhZ2VleHRlcm5hbC5hY3Rpb25Bc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtcbiAgICB0aHJvdyBnZXRSZWRpcmVjdEVycm9yKHVybCwgdHlwZSwgLy8gSWYgd2UncmUgaW4gYW4gYWN0aW9uLCB3ZSB3YW50IHRvIHVzZSBhIDMwMyByZWRpcmVjdFxuICAgIC8vIGFzIHdlIGRvbid0IHdhbnQgdGhlIFBPU1QgcmVxdWVzdCB0byBmb2xsb3cgdGhlIHJlZGlyZWN0LFxuICAgIC8vIGFzIGl0IGNvdWxkIHJlc3VsdCBpbiBlcnJvbmVvdXMgcmUtc3VibWlzc2lvbnMuXG4gICAgKGFjdGlvblN0b3JlID09IG51bGwgPyB2b2lkIDAgOiBhY3Rpb25TdG9yZS5pc0FjdGlvbikgPyBfcmVkaXJlY3RzdGF0dXNjb2RlLlJlZGlyZWN0U3RhdHVzQ29kZS5TZWVPdGhlciA6IF9yZWRpcmVjdHN0YXR1c2NvZGUuUmVkaXJlY3RTdGF0dXNDb2RlLlBlcm1hbmVudFJlZGlyZWN0KTtcbn1cbmZ1bmN0aW9uIGlzUmVkaXJlY3RFcnJvcihlcnJvcikge1xuICAgIGlmICh0eXBlb2YgZXJyb3IgIT09IFwib2JqZWN0XCIgfHwgZXJyb3IgPT09IG51bGwgfHwgIShcImRpZ2VzdFwiIGluIGVycm9yKSB8fCB0eXBlb2YgZXJyb3IuZGlnZXN0ICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgW2Vycm9yQ29kZSwgdHlwZSwgZGVzdGluYXRpb24sIHN0YXR1c10gPSBlcnJvci5kaWdlc3Quc3BsaXQoXCI7XCIsIDQpO1xuICAgIGNvbnN0IHN0YXR1c0NvZGUgPSBOdW1iZXIoc3RhdHVzKTtcbiAgICByZXR1cm4gZXJyb3JDb2RlID09PSBSRURJUkVDVF9FUlJPUl9DT0RFICYmICh0eXBlID09PSBcInJlcGxhY2VcIiB8fCB0eXBlID09PSBcInB1c2hcIikgJiYgdHlwZW9mIGRlc3RpbmF0aW9uID09PSBcInN0cmluZ1wiICYmICFpc05hTihzdGF0dXNDb2RlKSAmJiBzdGF0dXNDb2RlIGluIF9yZWRpcmVjdHN0YXR1c2NvZGUuUmVkaXJlY3RTdGF0dXNDb2RlO1xufVxuZnVuY3Rpb24gZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IoZXJyb3IpIHtcbiAgICBpZiAoIWlzUmVkaXJlY3RFcnJvcihlcnJvcikpIHJldHVybiBudWxsO1xuICAgIC8vIFNsaWNlcyBvZmYgdGhlIGJlZ2lubmluZyBvZiB0aGUgZGlnZXN0IHRoYXQgY29udGFpbnMgdGhlIGNvZGUgYW5kIHRoZVxuICAgIC8vIHNlcGFyYXRpbmcgJzsnLlxuICAgIHJldHVybiBlcnJvci5kaWdlc3Quc3BsaXQoXCI7XCIsIDMpWzJdO1xufVxuZnVuY3Rpb24gZ2V0UmVkaXJlY3RUeXBlRnJvbUVycm9yKGVycm9yKSB7XG4gICAgaWYgKCFpc1JlZGlyZWN0RXJyb3IoZXJyb3IpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vdCBhIHJlZGlyZWN0IGVycm9yXCIpO1xuICAgIH1cbiAgICByZXR1cm4gZXJyb3IuZGlnZXN0LnNwbGl0KFwiO1wiLCAyKVsxXTtcbn1cbmZ1bmN0aW9uIGdldFJlZGlyZWN0U3RhdHVzQ29kZUZyb21FcnJvcihlcnJvcikge1xuICAgIGlmICghaXNSZWRpcmVjdEVycm9yKGVycm9yKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgYSByZWRpcmVjdCBlcnJvclwiKTtcbiAgICB9XG4gICAgcmV0dXJuIE51bWJlcihlcnJvci5kaWdlc3Quc3BsaXQoXCI7XCIsIDQpWzNdKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVkaXJlY3QuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiUmVkaXJlY3RUeXBlIiwiZ2V0UmVkaXJlY3RFcnJvciIsInJlZGlyZWN0IiwicGVybWFuZW50UmVkaXJlY3QiLCJpc1JlZGlyZWN0RXJyb3IiLCJnZXRVUkxGcm9tUmVkaXJlY3RFcnJvciIsImdldFJlZGlyZWN0VHlwZUZyb21FcnJvciIsImdldFJlZGlyZWN0U3RhdHVzQ29kZUZyb21FcnJvciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9yZXF1ZXN0YXN5bmNzdG9yYWdlZXh0ZXJuYWwiLCJyZXF1aXJlIiwiX2FjdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsIiwiX3JlZGlyZWN0c3RhdHVzY29kZSIsIlJFRElSRUNUX0VSUk9SX0NPREUiLCJ1cmwiLCJ0eXBlIiwic3RhdHVzQ29kZSIsIlJlZGlyZWN0U3RhdHVzQ29kZSIsIlRlbXBvcmFyeVJlZGlyZWN0IiwiZXJyb3IiLCJFcnJvciIsImRpZ2VzdCIsInJlcXVlc3RTdG9yZSIsInJlcXVlc3RBc3luY1N0b3JhZ2UiLCJnZXRTdG9yZSIsIm11dGFibGVDb29raWVzIiwiYWN0aW9uU3RvcmUiLCJhY3Rpb25Bc3luY1N0b3JhZ2UiLCJpc0FjdGlvbiIsIlNlZU90aGVyIiwiUGVybWFuZW50UmVkaXJlY3QiLCJlcnJvckNvZGUiLCJkZXN0aW5hdGlvbiIsInN0YXR1cyIsInNwbGl0IiwiTnVtYmVyIiwiaXNOYU4iLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/redirect.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js": /*!**********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/render-from-template-context.js ***! \**********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nconst { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\nmodule.exports = createProxy(\"/home/robin/AI/Coding/Whisky/node_modules/next/dist/client/components/render-from-template-context.js\");\n //# sourceMappingURL=render-from-template-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6Ijs7O0NBNkJBLHdEQUF3RCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcz84ZWU2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJlbmRlckZyb21UZW1wbGF0ZUNvbnRleHQ7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWVcIik7XG5mdW5jdGlvbiBSZW5kZXJGcm9tVGVtcGxhdGVDb250ZXh0KCkge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuVGVtcGxhdGVDb250ZXh0KTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js": /*!***********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js ***! \***********************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSegmentValue\", ({\n enumerable: true,\n get: function() {\n return getSegmentValue;\n }\n}));\nfunction getSegmentValue(segment) {\n return Array.isArray(segment) ? segment[1] : segment;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-segment-value.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2dldC1zZWdtZW50LXZhbHVlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxtREFBa0Q7SUFDOUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSxnQkFBZ0JDLE9BQU87SUFDNUIsT0FBT0MsTUFBTUMsT0FBTyxDQUFDRixXQUFXQSxPQUFPLENBQUMsRUFBRSxHQUFHQTtBQUNqRDtBQUVBLElBQUksQ0FBQyxPQUFPTCxRQUFRUSxPQUFPLEtBQUssY0FBZSxPQUFPUixRQUFRUSxPQUFPLEtBQUssWUFBWVIsUUFBUVEsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPUixRQUFRUSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLWCxPQUFPQyxjQUFjLENBQUNDLFFBQVFRLE9BQU8sRUFBRSxjQUFjO1FBQUVQLE9BQU87SUFBSztJQUNuRUgsT0FBT1ksTUFBTSxDQUFDVixRQUFRUSxPQUFPLEVBQUVSO0lBQy9CVyxPQUFPWCxPQUFPLEdBQUdBLFFBQVFRLE9BQU87QUFDbEMsRUFFQSw2Q0FBNkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2dldC1zZWdtZW50LXZhbHVlLmpzPzRlNjMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRTZWdtZW50VmFsdWVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFNlZ21lbnRWYWx1ZTtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGdldFNlZ21lbnRWYWx1ZShzZWdtZW50KSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoc2VnbWVudCkgPyBzZWdtZW50WzFdIDogc2VnbWVudDtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0LXNlZ21lbnQtdmFsdWUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImdldFNlZ21lbnRWYWx1ZSIsInNlZ21lbnQiLCJBcnJheSIsImlzQXJyYXkiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/searchparams-bailout-proxy.js": /*!********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/searchparams-bailout-proxy.js ***! \********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createSearchParamsBailoutProxy\", ({\n enumerable: true,\n get: function() {\n return createSearchParamsBailoutProxy;\n }\n}));\nconst _staticgenerationbailout = __webpack_require__(/*! ./static-generation-bailout */ \"(rsc)/./node_modules/next/dist/client/components/static-generation-bailout.js\");\nfunction createSearchParamsBailoutProxy() {\n return new Proxy({}, {\n get (_target, prop) {\n // React adds some properties on the object when serializing for client components\n if (typeof prop === \"string\") {\n (0, _staticgenerationbailout.staticGenerationBailout)(\"searchParams.\" + prop);\n }\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=searchparams-bailout-proxy.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3NlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3h5LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxrRUFBaUU7SUFDN0RJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLGtIQUE2QjtBQUN0RSxTQUFTRjtJQUNMLE9BQU8sSUFBSUcsTUFBTSxDQUFDLEdBQUc7UUFDakJKLEtBQUtLLE9BQU8sRUFBRUMsSUFBSTtZQUNkLGtGQUFrRjtZQUNsRixJQUFJLE9BQU9BLFNBQVMsVUFBVTtnQkFDekIsSUFBR0oseUJBQXlCSyx1QkFBdUIsRUFBRSxrQkFBa0JEO1lBQzVFO1FBQ0o7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9ULFFBQVFXLE9BQU8sS0FBSyxjQUFlLE9BQU9YLFFBQVFXLE9BQU8sS0FBSyxZQUFZWCxRQUFRVyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9YLFFBQVFXLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktkLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVcsT0FBTyxFQUFFLGNBQWM7UUFBRVYsT0FBTztJQUFLO0lBQ25FSCxPQUFPZSxNQUFNLENBQUNiLFFBQVFXLE9BQU8sRUFBRVg7SUFDL0JjLE9BQU9kLE9BQU8sR0FBR0EsUUFBUVcsT0FBTztBQUNsQyxFQUVBLHNEQUFzRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvc2VhcmNocGFyYW1zLWJhaWxvdXQtcHJveHkuanM/YjZkZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNyZWF0ZVNlYXJjaFBhcmFtc0JhaWxvdXRQcm94eVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlU2VhcmNoUGFyYW1zQmFpbG91dFByb3h5O1xuICAgIH1cbn0pO1xuY29uc3QgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0ID0gcmVxdWlyZShcIi4vc3RhdGljLWdlbmVyYXRpb24tYmFpbG91dFwiKTtcbmZ1bmN0aW9uIGNyZWF0ZVNlYXJjaFBhcmFtc0JhaWxvdXRQcm94eSgpIHtcbiAgICByZXR1cm4gbmV3IFByb3h5KHt9LCB7XG4gICAgICAgIGdldCAoX3RhcmdldCwgcHJvcCkge1xuICAgICAgICAgICAgLy8gUmVhY3QgYWRkcyBzb21lIHByb3BlcnRpZXMgb24gdGhlIG9iamVjdCB3aGVuIHNlcmlhbGl6aW5nIGZvciBjbGllbnQgY29tcG9uZW50c1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm9wID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgKDAsIF9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dC5zdGF0aWNHZW5lcmF0aW9uQmFpbG91dCkoXCJzZWFyY2hQYXJhbXMuXCIgKyBwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZWFyY2hwYXJhbXMtYmFpbG91dC1wcm94eS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiY3JlYXRlU2VhcmNoUGFyYW1zQmFpbG91dFByb3h5IiwiX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0IiwicmVxdWlyZSIsIlByb3h5IiwiX3RhcmdldCIsInByb3AiLCJzdGF0aWNHZW5lcmF0aW9uQmFpbG91dCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/searchparams-bailout-proxy.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/client/components/static-generation-bailout.js": /*!*******************************************************************************!*\ !*** ./node_modules/next/dist/client/components/static-generation-bailout.js ***! \*******************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isStaticGenBailoutError: function() {\n return isStaticGenBailoutError;\n },\n staticGenerationBailout: function() {\n return staticGenerationBailout;\n }\n});\nconst _hooksservercontext = __webpack_require__(/*! ./hooks-server-context */ \"(action-browser)/./node_modules/next/dist/client/components/hooks-server-context.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"../../client/components/static-generation-async-storage.external\");\nconst NEXT_STATIC_GEN_BAILOUT = \"NEXT_STATIC_GEN_BAILOUT\";\nclass StaticGenBailoutError extends Error {\n constructor(...args){\n super(...args);\n this.code = NEXT_STATIC_GEN_BAILOUT;\n }\n}\nfunction isStaticGenBailoutError(error) {\n if (typeof error !== \"object\" || error === null || !(\"code\" in error)) {\n return false;\n }\n return error.code === NEXT_STATIC_GEN_BAILOUT;\n}\nfunction formatErrorMessage(reason, opts) {\n const { dynamic, link } = opts || {};\n const suffix = link ? \" See more info here: \" + link : \"\";\n return \"Page\" + (dynamic ? ' with `dynamic = \"' + dynamic + '\"`' : \"\") + \" couldn't be rendered statically because it used `\" + reason + \"`.\" + suffix;\n}\nconst staticGenerationBailout = (reason, param)=>{\n let { dynamic, link } = param === void 0 ? {} : param;\n const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (!staticGenerationStore) return false;\n if (staticGenerationStore.forceStatic) {\n return true;\n }\n if (staticGenerationStore.dynamicShouldError) {\n throw new StaticGenBailoutError(formatErrorMessage(reason, {\n link,\n dynamic: dynamic != null ? dynamic : \"error\"\n }));\n }\n const message = formatErrorMessage(reason, {\n dynamic,\n // this error should be caught by Next to bail out of static generation\n // in case it's uncaught, this link provides some additional context as to why\n link: \"https://nextjs.org/docs/messages/dynamic-server-error\"\n });\n // If postpone is available, we should postpone the render.\n staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, reason);\n // As this is a bailout, we don't want to revalidate, so set the revalidate\n // to 0.\n staticGenerationStore.revalidate = 0;\n if (staticGenerationStore.isStaticGeneration) {\n const err = new _hooksservercontext.DynamicServerError(message);\n staticGenerationStore.dynamicUsageDescription = reason;\n staticGenerationStore.dynamicUsageStack = err.stack;\n throw err;\n }\n return false;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=static-generation-bailout.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvc3RhdGljLWdlbmVyYXRpb24tYmFpbG91dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcseUJBQXlCO1FBQ3JCLE9BQU9BO0lBQ1g7SUFDQUMseUJBQXlCO1FBQ3JCLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLHNCQUFzQkMsbUJBQU9BLENBQUMsbUhBQXdCO0FBQzVELE1BQU1DLHdDQUF3Q0QsbUJBQU9BLENBQUMsb0hBQTRDO0FBQ2xHLE1BQU1FLDBCQUEwQjtBQUNoQyxNQUFNQyw4QkFBOEJDO0lBQ2hDQyxZQUFZLEdBQUdDLElBQUksQ0FBQztRQUNoQixLQUFLLElBQUlBO1FBQ1QsSUFBSSxDQUFDQyxJQUFJLEdBQUdMO0lBQ2hCO0FBQ0o7QUFDQSxTQUFTWCx3QkFBd0JpQixLQUFLO0lBQ2xDLElBQUksT0FBT0EsVUFBVSxZQUFZQSxVQUFVLFFBQVEsQ0FBRSxXQUFVQSxLQUFJLEdBQUk7UUFDbkUsT0FBTztJQUNYO0lBQ0EsT0FBT0EsTUFBTUQsSUFBSSxLQUFLTDtBQUMxQjtBQUNBLFNBQVNPLG1CQUFtQkMsTUFBTSxFQUFFQyxJQUFJO0lBQ3BDLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxJQUFJLEVBQUUsR0FBR0YsUUFBUSxDQUFDO0lBQ25DLE1BQU1HLFNBQVNELE9BQU8sMEJBQTBCQSxPQUFPO0lBQ3ZELE9BQU8sU0FBVUQsQ0FBQUEsVUFBVSx1QkFBdUJBLFVBQVUsT0FBTyxFQUFDLElBQUssdURBQXVERixTQUFTLE9BQU9JO0FBQ3BKO0FBQ0EsTUFBTXRCLDBCQUEwQixDQUFDa0IsUUFBUUs7SUFDckMsSUFBSSxFQUFFSCxPQUFPLEVBQUVDLElBQUksRUFBRSxHQUFHRSxVQUFVLEtBQUssSUFBSSxDQUFDLElBQUlBO0lBQ2hELE1BQU1DLHdCQUF3QmYsc0NBQXNDZ0IsNEJBQTRCLENBQUNDLFFBQVE7SUFDekcsSUFBSSxDQUFDRix1QkFBdUIsT0FBTztJQUNuQyxJQUFJQSxzQkFBc0JHLFdBQVcsRUFBRTtRQUNuQyxPQUFPO0lBQ1g7SUFDQSxJQUFJSCxzQkFBc0JJLGtCQUFrQixFQUFFO1FBQzFDLE1BQU0sSUFBSWpCLHNCQUFzQk0sbUJBQW1CQyxRQUFRO1lBQ3ZERztZQUNBRCxTQUFTQSxXQUFXLE9BQU9BLFVBQVU7UUFDekM7SUFDSjtJQUNBLE1BQU1TLFVBQVVaLG1CQUFtQkMsUUFBUTtRQUN2Q0U7UUFDQSx1RUFBdUU7UUFDdkUsOEVBQThFO1FBQzlFQyxNQUFNO0lBQ1Y7SUFDQSwyREFBMkQ7SUFDM0RHLHNCQUFzQk0sUUFBUSxJQUFJLE9BQU8sS0FBSyxJQUFJTixzQkFBc0JNLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDUCx1QkFBdUJOO0lBQzdHLDJFQUEyRTtJQUMzRSxRQUFRO0lBQ1JNLHNCQUFzQlEsVUFBVSxHQUFHO0lBQ25DLElBQUlSLHNCQUFzQlMsa0JBQWtCLEVBQUU7UUFDMUMsTUFBTUMsTUFBTSxJQUFJM0Isb0JBQW9CNEIsa0JBQWtCLENBQUNOO1FBQ3ZETCxzQkFBc0JZLHVCQUF1QixHQUFHbEI7UUFDaERNLHNCQUFzQmEsaUJBQWlCLEdBQUdILElBQUlJLEtBQUs7UUFDbkQsTUFBTUo7SUFDVjtJQUNBLE9BQU87QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPdEMsUUFBUTJDLE9BQU8sS0FBSyxjQUFlLE9BQU8zQyxRQUFRMkMsT0FBTyxLQUFLLFlBQVkzQyxRQUFRMkMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPM0MsUUFBUTJDLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcks5QyxPQUFPQyxjQUFjLENBQUNDLFFBQVEyQyxPQUFPLEVBQUUsY0FBYztRQUFFMUMsT0FBTztJQUFLO0lBQ25FSCxPQUFPK0MsTUFBTSxDQUFDN0MsUUFBUTJDLE9BQU8sRUFBRTNDO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVEyQyxPQUFPO0FBQ2xDLEVBRUEscURBQXFEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9zdGF0aWMtZ2VuZXJhdGlvbi1iYWlsb3V0LmpzPzA0NmMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBpc1N0YXRpY0dlbkJhaWxvdXRFcnJvcjogbnVsbCxcbiAgICBzdGF0aWNHZW5lcmF0aW9uQmFpbG91dDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBpc1N0YXRpY0dlbkJhaWxvdXRFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc1N0YXRpY0dlbkJhaWxvdXRFcnJvcjtcbiAgICB9LFxuICAgIHN0YXRpY0dlbmVyYXRpb25CYWlsb3V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHN0YXRpY0dlbmVyYXRpb25CYWlsb3V0O1xuICAgIH1cbn0pO1xuY29uc3QgX2hvb2tzc2VydmVyY29udGV4dCA9IHJlcXVpcmUoXCIuL2hvb2tzLXNlcnZlci1jb250ZXh0XCIpO1xuY29uc3QgX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbCA9IHJlcXVpcmUoXCIuL3N0YXRpYy1nZW5lcmF0aW9uLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWxcIik7XG5jb25zdCBORVhUX1NUQVRJQ19HRU5fQkFJTE9VVCA9IFwiTkVYVF9TVEFUSUNfR0VOX0JBSUxPVVRcIjtcbmNsYXNzIFN0YXRpY0dlbkJhaWxvdXRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3RvciguLi5hcmdzKXtcbiAgICAgICAgc3VwZXIoLi4uYXJncyk7XG4gICAgICAgIHRoaXMuY29kZSA9IE5FWFRfU1RBVElDX0dFTl9CQUlMT1VUO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGlzU3RhdGljR2VuQmFpbG91dEVycm9yKGVycm9yKSB7XG4gICAgaWYgKHR5cGVvZiBlcnJvciAhPT0gXCJvYmplY3RcIiB8fCBlcnJvciA9PT0gbnVsbCB8fCAhKFwiY29kZVwiIGluIGVycm9yKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBlcnJvci5jb2RlID09PSBORVhUX1NUQVRJQ19HRU5fQkFJTE9VVDtcbn1cbmZ1bmN0aW9uIGZvcm1hdEVycm9yTWVzc2FnZShyZWFzb24sIG9wdHMpIHtcbiAgICBjb25zdCB7IGR5bmFtaWMsIGxpbmsgfSA9IG9wdHMgfHwge307XG4gICAgY29uc3Qgc3VmZml4ID0gbGluayA/IFwiIFNlZSBtb3JlIGluZm8gaGVyZTogXCIgKyBsaW5rIDogXCJcIjtcbiAgICByZXR1cm4gXCJQYWdlXCIgKyAoZHluYW1pYyA/ICcgd2l0aCBgZHluYW1pYyA9IFwiJyArIGR5bmFtaWMgKyAnXCJgJyA6IFwiXCIpICsgXCIgY291bGRuJ3QgYmUgcmVuZGVyZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHVzZWQgYFwiICsgcmVhc29uICsgXCJgLlwiICsgc3VmZml4O1xufVxuY29uc3Qgc3RhdGljR2VuZXJhdGlvbkJhaWxvdXQgPSAocmVhc29uLCBwYXJhbSk9PntcbiAgICBsZXQgeyBkeW5hbWljLCBsaW5rIH0gPSBwYXJhbSA9PT0gdm9pZCAwID8ge30gOiBwYXJhbTtcbiAgICBjb25zdCBzdGF0aWNHZW5lcmF0aW9uU3RvcmUgPSBfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsLnN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtcbiAgICBpZiAoIXN0YXRpY0dlbmVyYXRpb25TdG9yZSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZm9yY2VTdGF0aWMpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZHluYW1pY1Nob3VsZEVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBTdGF0aWNHZW5CYWlsb3V0RXJyb3IoZm9ybWF0RXJyb3JNZXNzYWdlKHJlYXNvbiwge1xuICAgICAgICAgICAgbGluayxcbiAgICAgICAgICAgIGR5bmFtaWM6IGR5bmFtaWMgIT0gbnVsbCA/IGR5bmFtaWMgOiBcImVycm9yXCJcbiAgICAgICAgfSkpO1xuICAgIH1cbiAgICBjb25zdCBtZXNzYWdlID0gZm9ybWF0RXJyb3JNZXNzYWdlKHJlYXNvbiwge1xuICAgICAgICBkeW5hbWljLFxuICAgICAgICAvLyB0aGlzIGVycm9yIHNob3VsZCBiZSBjYXVnaHQgYnkgTmV4dCB0byBiYWlsIG91dCBvZiBzdGF0aWMgZ2VuZXJhdGlvblxuICAgICAgICAvLyBpbiBjYXNlIGl0J3MgdW5jYXVnaHQsIHRoaXMgbGluayBwcm92aWRlcyBzb21lIGFkZGl0aW9uYWwgY29udGV4dCBhcyB0byB3aHlcbiAgICAgICAgbGluazogXCJodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9keW5hbWljLXNlcnZlci1lcnJvclwiXG4gICAgfSk7XG4gICAgLy8gSWYgcG9zdHBvbmUgaXMgYXZhaWxhYmxlLCB3ZSBzaG91bGQgcG9zdHBvbmUgdGhlIHJlbmRlci5cbiAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucG9zdHBvbmUgPT0gbnVsbCA/IHZvaWQgMCA6IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wb3N0cG9uZS5jYWxsKHN0YXRpY0dlbmVyYXRpb25TdG9yZSwgcmVhc29uKTtcbiAgICAvLyBBcyB0aGlzIGlzIGEgYmFpbG91dCwgd2UgZG9uJ3Qgd2FudCB0byByZXZhbGlkYXRlLCBzbyBzZXQgdGhlIHJldmFsaWRhdGVcbiAgICAvLyB0byAwLlxuICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID0gMDtcbiAgICBpZiAoc3RhdGljR2VuZXJhdGlvblN0b3JlLmlzU3RhdGljR2VuZXJhdGlvbikge1xuICAgICAgICBjb25zdCBlcnIgPSBuZXcgX2hvb2tzc2VydmVyY29udGV4dC5EeW5hbWljU2VydmVyRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5keW5hbWljVXNhZ2VEZXNjcmlwdGlvbiA9IHJlYXNvbjtcbiAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLmR5bmFtaWNVc2FnZVN0YWNrID0gZXJyLnN0YWNrO1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiaXNTdGF0aWNHZW5CYWlsb3V0RXJyb3IiLCJzdGF0aWNHZW5lcmF0aW9uQmFpbG91dCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9ob29rc3NlcnZlcmNvbnRleHQiLCJyZXF1aXJlIiwiX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbCIsIk5FWFRfU1RBVElDX0dFTl9CQUlMT1VUIiwiU3RhdGljR2VuQmFpbG91dEVycm9yIiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJjb2RlIiwiZXJyb3IiLCJmb3JtYXRFcnJvck1lc3NhZ2UiLCJyZWFzb24iLCJvcHRzIiwiZHluYW1pYyIsImxpbmsiLCJzdWZmaXgiLCJwYXJhbSIsInN0YXRpY0dlbmVyYXRpb25TdG9yZSIsInN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UiLCJnZXRTdG9yZSIsImZvcmNlU3RhdGljIiwiZHluYW1pY1Nob3VsZEVycm9yIiwibWVzc2FnZSIsInBvc3Rwb25lIiwiY2FsbCIsInJldmFsaWRhdGUiLCJpc1N0YXRpY0dlbmVyYXRpb24iLCJlcnIiLCJEeW5hbWljU2VydmVyRXJyb3IiLCJkeW5hbWljVXNhZ2VEZXNjcmlwdGlvbiIsImR5bmFtaWNVc2FnZVN0YWNrIiwic3RhY2siLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/client/components/static-generation-bailout.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/static-generation-bailout.js": /*!*******************************************************************************!*\ !*** ./node_modules/next/dist/client/components/static-generation-bailout.js ***! \*******************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isStaticGenBailoutError: function() {\n return isStaticGenBailoutError;\n },\n staticGenerationBailout: function() {\n return staticGenerationBailout;\n }\n});\nconst _hooksservercontext = __webpack_require__(/*! ./hooks-server-context */ \"(rsc)/./node_modules/next/dist/client/components/hooks-server-context.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"../../client/components/static-generation-async-storage.external\");\nconst NEXT_STATIC_GEN_BAILOUT = \"NEXT_STATIC_GEN_BAILOUT\";\nclass StaticGenBailoutError extends Error {\n constructor(...args){\n super(...args);\n this.code = NEXT_STATIC_GEN_BAILOUT;\n }\n}\nfunction isStaticGenBailoutError(error) {\n if (typeof error !== \"object\" || error === null || !(\"code\" in error)) {\n return false;\n }\n return error.code === NEXT_STATIC_GEN_BAILOUT;\n}\nfunction formatErrorMessage(reason, opts) {\n const { dynamic, link } = opts || {};\n const suffix = link ? \" See more info here: \" + link : \"\";\n return \"Page\" + (dynamic ? ' with `dynamic = \"' + dynamic + '\"`' : \"\") + \" couldn't be rendered statically because it used `\" + reason + \"`.\" + suffix;\n}\nconst staticGenerationBailout = (reason, param)=>{\n let { dynamic, link } = param === void 0 ? {} : param;\n const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (!staticGenerationStore) return false;\n if (staticGenerationStore.forceStatic) {\n return true;\n }\n if (staticGenerationStore.dynamicShouldError) {\n throw new StaticGenBailoutError(formatErrorMessage(reason, {\n link,\n dynamic: dynamic != null ? dynamic : \"error\"\n }));\n }\n const message = formatErrorMessage(reason, {\n dynamic,\n // this error should be caught by Next to bail out of static generation\n // in case it's uncaught, this link provides some additional context as to why\n link: \"https://nextjs.org/docs/messages/dynamic-server-error\"\n });\n // If postpone is available, we should postpone the render.\n staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, reason);\n // As this is a bailout, we don't want to revalidate, so set the revalidate\n // to 0.\n staticGenerationStore.revalidate = 0;\n if (staticGenerationStore.isStaticGeneration) {\n const err = new _hooksservercontext.DynamicServerError(message);\n staticGenerationStore.dynamicUsageDescription = reason;\n staticGenerationStore.dynamicUsageStack = err.stack;\n throw err;\n }\n return false;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=static-generation-bailout.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxzQkFBc0JDLG1CQUFPQSxDQUFDLHdHQUF3QjtBQUM1RCxNQUFNQyx3Q0FBd0NELG1CQUFPQSxDQUFDLG9IQUE0QztBQUNsRyxNQUFNRSwwQkFBMEI7QUFDaEMsTUFBTUMsOEJBQThCQztJQUNoQ0MsWUFBWSxHQUFHQyxJQUFJLENBQUM7UUFDaEIsS0FBSyxJQUFJQTtRQUNULElBQUksQ0FBQ0MsSUFBSSxHQUFHTDtJQUNoQjtBQUNKO0FBQ0EsU0FBU1gsd0JBQXdCaUIsS0FBSztJQUNsQyxJQUFJLE9BQU9BLFVBQVUsWUFBWUEsVUFBVSxRQUFRLENBQUUsV0FBVUEsS0FBSSxHQUFJO1FBQ25FLE9BQU87SUFDWDtJQUNBLE9BQU9BLE1BQU1ELElBQUksS0FBS0w7QUFDMUI7QUFDQSxTQUFTTyxtQkFBbUJDLE1BQU0sRUFBRUMsSUFBSTtJQUNwQyxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsSUFBSSxFQUFFLEdBQUdGLFFBQVEsQ0FBQztJQUNuQyxNQUFNRyxTQUFTRCxPQUFPLDBCQUEwQkEsT0FBTztJQUN2RCxPQUFPLFNBQVVELENBQUFBLFVBQVUsdUJBQXVCQSxVQUFVLE9BQU8sRUFBQyxJQUFLLHVEQUF1REYsU0FBUyxPQUFPSTtBQUNwSjtBQUNBLE1BQU10QiwwQkFBMEIsQ0FBQ2tCLFFBQVFLO0lBQ3JDLElBQUksRUFBRUgsT0FBTyxFQUFFQyxJQUFJLEVBQUUsR0FBR0UsVUFBVSxLQUFLLElBQUksQ0FBQyxJQUFJQTtJQUNoRCxNQUFNQyx3QkFBd0JmLHNDQUFzQ2dCLDRCQUE0QixDQUFDQyxRQUFRO0lBQ3pHLElBQUksQ0FBQ0YsdUJBQXVCLE9BQU87SUFDbkMsSUFBSUEsc0JBQXNCRyxXQUFXLEVBQUU7UUFDbkMsT0FBTztJQUNYO0lBQ0EsSUFBSUgsc0JBQXNCSSxrQkFBa0IsRUFBRTtRQUMxQyxNQUFNLElBQUlqQixzQkFBc0JNLG1CQUFtQkMsUUFBUTtZQUN2REc7WUFDQUQsU0FBU0EsV0FBVyxPQUFPQSxVQUFVO1FBQ3pDO0lBQ0o7SUFDQSxNQUFNUyxVQUFVWixtQkFBbUJDLFFBQVE7UUFDdkNFO1FBQ0EsdUVBQXVFO1FBQ3ZFLDhFQUE4RTtRQUM5RUMsTUFBTTtJQUNWO0lBQ0EsMkRBQTJEO0lBQzNERyxzQkFBc0JNLFFBQVEsSUFBSSxPQUFPLEtBQUssSUFBSU4sc0JBQXNCTSxRQUFRLENBQUNDLElBQUksQ0FBQ1AsdUJBQXVCTjtJQUM3RywyRUFBMkU7SUFDM0UsUUFBUTtJQUNSTSxzQkFBc0JRLFVBQVUsR0FBRztJQUNuQyxJQUFJUixzQkFBc0JTLGtCQUFrQixFQUFFO1FBQzFDLE1BQU1DLE1BQU0sSUFBSTNCLG9CQUFvQjRCLGtCQUFrQixDQUFDTjtRQUN2REwsc0JBQXNCWSx1QkFBdUIsR0FBR2xCO1FBQ2hETSxzQkFBc0JhLGlCQUFpQixHQUFHSCxJQUFJSSxLQUFLO1FBQ25ELE1BQU1KO0lBQ1Y7SUFDQSxPQUFPO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBT3RDLFFBQVEyQyxPQUFPLEtBQUssY0FBZSxPQUFPM0MsUUFBUTJDLE9BQU8sS0FBSyxZQUFZM0MsUUFBUTJDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzNDLFFBQVEyQyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLOUMsT0FBT0MsY0FBYyxDQUFDQyxRQUFRMkMsT0FBTyxFQUFFLGNBQWM7UUFBRTFDLE9BQU87SUFBSztJQUNuRUgsT0FBTytDLE1BQU0sQ0FBQzdDLFFBQVEyQyxPQUFPLEVBQUUzQztJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRMkMsT0FBTztBQUNsQyxFQUVBLHFEQUFxRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvc3RhdGljLWdlbmVyYXRpb24tYmFpbG91dC5qcz8wNDZjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgaXNTdGF0aWNHZW5CYWlsb3V0RXJyb3I6IG51bGwsXG4gICAgc3RhdGljR2VuZXJhdGlvbkJhaWxvdXQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgaXNTdGF0aWNHZW5CYWlsb3V0RXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNTdGF0aWNHZW5CYWlsb3V0RXJyb3I7XG4gICAgfSxcbiAgICBzdGF0aWNHZW5lcmF0aW9uQmFpbG91dDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzdGF0aWNHZW5lcmF0aW9uQmFpbG91dDtcbiAgICB9XG59KTtcbmNvbnN0IF9ob29rc3NlcnZlcmNvbnRleHQgPSByZXF1aXJlKFwiLi9ob29rcy1zZXJ2ZXItY29udGV4dFwiKTtcbmNvbnN0IF9zdGF0aWNnZW5lcmF0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwgPSByZXF1aXJlKFwiLi9zdGF0aWMtZ2VuZXJhdGlvbi1hc3luYy1zdG9yYWdlLmV4dGVybmFsXCIpO1xuY29uc3QgTkVYVF9TVEFUSUNfR0VOX0JBSUxPVVQgPSBcIk5FWFRfU1RBVElDX0dFTl9CQUlMT1VUXCI7XG5jbGFzcyBTdGF0aWNHZW5CYWlsb3V0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IoLi4uYXJncyl7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgICAgICB0aGlzLmNvZGUgPSBORVhUX1NUQVRJQ19HRU5fQkFJTE9VVDtcbiAgICB9XG59XG5mdW5jdGlvbiBpc1N0YXRpY0dlbkJhaWxvdXRFcnJvcihlcnJvcikge1xuICAgIGlmICh0eXBlb2YgZXJyb3IgIT09IFwib2JqZWN0XCIgfHwgZXJyb3IgPT09IG51bGwgfHwgIShcImNvZGVcIiBpbiBlcnJvcikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZXJyb3IuY29kZSA9PT0gTkVYVF9TVEFUSUNfR0VOX0JBSUxPVVQ7XG59XG5mdW5jdGlvbiBmb3JtYXRFcnJvck1lc3NhZ2UocmVhc29uLCBvcHRzKSB7XG4gICAgY29uc3QgeyBkeW5hbWljLCBsaW5rIH0gPSBvcHRzIHx8IHt9O1xuICAgIGNvbnN0IHN1ZmZpeCA9IGxpbmsgPyBcIiBTZWUgbW9yZSBpbmZvIGhlcmU6IFwiICsgbGluayA6IFwiXCI7XG4gICAgcmV0dXJuIFwiUGFnZVwiICsgKGR5bmFtaWMgPyAnIHdpdGggYGR5bmFtaWMgPSBcIicgKyBkeW5hbWljICsgJ1wiYCcgOiBcIlwiKSArIFwiIGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkIGBcIiArIHJlYXNvbiArIFwiYC5cIiArIHN1ZmZpeDtcbn1cbmNvbnN0IHN0YXRpY0dlbmVyYXRpb25CYWlsb3V0ID0gKHJlYXNvbiwgcGFyYW0pPT57XG4gICAgbGV0IHsgZHluYW1pYywgbGluayB9ID0gcGFyYW0gPT09IHZvaWQgMCA/IHt9IDogcGFyYW07XG4gICAgY29uc3Qgc3RhdGljR2VuZXJhdGlvblN0b3JlID0gX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbC5zdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7XG4gICAgaWYgKCFzdGF0aWNHZW5lcmF0aW9uU3RvcmUpIHJldHVybiBmYWxzZTtcbiAgICBpZiAoc3RhdGljR2VuZXJhdGlvblN0b3JlLmZvcmNlU3RhdGljKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoc3RhdGljR2VuZXJhdGlvblN0b3JlLmR5bmFtaWNTaG91bGRFcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgU3RhdGljR2VuQmFpbG91dEVycm9yKGZvcm1hdEVycm9yTWVzc2FnZShyZWFzb24sIHtcbiAgICAgICAgICAgIGxpbmssXG4gICAgICAgICAgICBkeW5hbWljOiBkeW5hbWljICE9IG51bGwgPyBkeW5hbWljIDogXCJlcnJvclwiXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgY29uc3QgbWVzc2FnZSA9IGZvcm1hdEVycm9yTWVzc2FnZShyZWFzb24sIHtcbiAgICAgICAgZHluYW1pYyxcbiAgICAgICAgLy8gdGhpcyBlcnJvciBzaG91bGQgYmUgY2F1Z2h0IGJ5IE5leHQgdG8gYmFpbCBvdXQgb2Ygc3RhdGljIGdlbmVyYXRpb25cbiAgICAgICAgLy8gaW4gY2FzZSBpdCdzIHVuY2F1Z2h0LCB0aGlzIGxpbmsgcHJvdmlkZXMgc29tZSBhZGRpdGlvbmFsIGNvbnRleHQgYXMgdG8gd2h5XG4gICAgICAgIGxpbms6IFwiaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZHluYW1pYy1zZXJ2ZXItZXJyb3JcIlxuICAgIH0pO1xuICAgIC8vIElmIHBvc3Rwb25lIGlzIGF2YWlsYWJsZSwgd2Ugc2hvdWxkIHBvc3Rwb25lIHRoZSByZW5kZXIuXG4gICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnBvc3Rwb25lID09IG51bGwgPyB2b2lkIDAgOiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucG9zdHBvbmUuY2FsbChzdGF0aWNHZW5lcmF0aW9uU3RvcmUsIHJlYXNvbik7XG4gICAgLy8gQXMgdGhpcyBpcyBhIGJhaWxvdXQsIHdlIGRvbid0IHdhbnQgdG8gcmV2YWxpZGF0ZSwgc28gc2V0IHRoZSByZXZhbGlkYXRlXG4gICAgLy8gdG8gMC5cbiAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSA9IDA7XG4gICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5pc1N0YXRpY0dlbmVyYXRpb24pIHtcbiAgICAgICAgY29uc3QgZXJyID0gbmV3IF9ob29rc3NlcnZlcmNvbnRleHQuRHluYW1pY1NlcnZlckVycm9yKG1lc3NhZ2UpO1xuICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZHluYW1pY1VzYWdlRGVzY3JpcHRpb24gPSByZWFzb247XG4gICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5keW5hbWljVXNhZ2VTdGFjayA9IGVyci5zdGFjaztcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdGF0aWMtZ2VuZXJhdGlvbi1iYWlsb3V0LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImlzU3RhdGljR2VuQmFpbG91dEVycm9yIiwic3RhdGljR2VuZXJhdGlvbkJhaWxvdXQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfaG9va3NzZXJ2ZXJjb250ZXh0IiwicmVxdWlyZSIsIl9zdGF0aWNnZW5lcmF0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwiLCJORVhUX1NUQVRJQ19HRU5fQkFJTE9VVCIsIlN0YXRpY0dlbkJhaWxvdXRFcnJvciIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJhcmdzIiwiY29kZSIsImVycm9yIiwiZm9ybWF0RXJyb3JNZXNzYWdlIiwicmVhc29uIiwib3B0cyIsImR5bmFtaWMiLCJsaW5rIiwic3VmZml4IiwicGFyYW0iLCJzdGF0aWNHZW5lcmF0aW9uU3RvcmUiLCJzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlIiwiZ2V0U3RvcmUiLCJmb3JjZVN0YXRpYyIsImR5bmFtaWNTaG91bGRFcnJvciIsIm1lc3NhZ2UiLCJwb3N0cG9uZSIsImNhbGwiLCJyZXZhbGlkYXRlIiwiaXNTdGF0aWNHZW5lcmF0aW9uIiwiZXJyIiwiRHluYW1pY1NlcnZlckVycm9yIiwiZHluYW1pY1VzYWdlRGVzY3JpcHRpb24iLCJkeW5hbWljVXNhZ2VTdGFjayIsInN0YWNrIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/static-generation-bailout.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js ***! \*****************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nconst { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\nmodule.exports = createProxy(\"/home/robin/AI/Coding/Whisky/node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js\");\n //# sourceMappingURL=static-generation-searchparams-bailout-provider.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLXNlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3ZpZGVyLmpzIiwibWFwcGluZ3MiOiI7OztDQW9DQSwyRUFBMkUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLXNlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3ZpZGVyLmpzPzk3MWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU3RhdGljR2VuZXJhdGlvblNlYXJjaFBhcmFtc0JhaWxvdXRQcm92aWRlcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9zZWFyY2hwYXJhbXNiYWlsb3V0cHJveHkgPSByZXF1aXJlKFwiLi9zZWFyY2hwYXJhbXMtYmFpbG91dC1wcm94eVwiKTtcbmZ1bmN0aW9uIFN0YXRpY0dlbmVyYXRpb25TZWFyY2hQYXJhbXNCYWlsb3V0UHJvdmlkZXIocGFyYW0pIHtcbiAgICBsZXQgeyBDb21wb25lbnQsIHByb3BzRm9yQ29tcG9uZW50LCBpc1N0YXRpY0dlbmVyYXRpb24gfSA9IHBhcmFtO1xuICAgIGlmIChpc1N0YXRpY0dlbmVyYXRpb24pIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gKDAsIF9zZWFyY2hwYXJhbXNiYWlsb3V0cHJveHkuY3JlYXRlU2VhcmNoUGFyYW1zQmFpbG91dFByb3h5KSgpO1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShDb21wb25lbnQsIHtcbiAgICAgICAgICAgIHNlYXJjaFBhcmFtczogc2VhcmNoUGFyYW1zLFxuICAgICAgICAgICAgLi4ucHJvcHNGb3JDb21wb25lbnRcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKENvbXBvbmVudCwge1xuICAgICAgICAuLi5wcm9wc0ZvckNvbXBvbmVudFxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdGF0aWMtZ2VuZXJhdGlvbi1zZWFyY2hwYXJhbXMtYmFpbG91dC1wcm92aWRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/link.js": /*!***********************************************!*\ !*** ./node_modules/next/dist/client/link.js ***! \***********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nconst { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\nmodule.exports = createProxy(\"/home/robin/AI/Coding/Whisky/node_modules/next/dist/client/link.js\");\n //# sourceMappingURL=link.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9saW5rLmpzIiwibWFwcGluZ3MiOiI7OztDQXlhQSxnQ0FBZ0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9saW5rLmpzP2U0ZjkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2RlZmF1bHQ7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfcmVzb2x2ZWhyZWYgPSByZXF1aXJlKFwiLi9yZXNvbHZlLWhyZWZcIik7XG5jb25zdCBfaXNsb2NhbHVybCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1sb2NhbC11cmxcIik7XG5jb25zdCBfZm9ybWF0dXJsID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmxcIik7XG5jb25zdCBfdXRpbHMgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi91dGlsc1wiKTtcbmNvbnN0IF9hZGRsb2NhbGUgPSByZXF1aXJlKFwiLi9hZGQtbG9jYWxlXCIpO1xuY29uc3QgX3JvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWVcIik7XG5jb25zdCBfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWVcIik7XG5jb25zdCBfdXNlaW50ZXJzZWN0aW9uID0gcmVxdWlyZShcIi4vdXNlLWludGVyc2VjdGlvblwiKTtcbmNvbnN0IF9nZXRkb21haW5sb2NhbGUgPSByZXF1aXJlKFwiLi9nZXQtZG9tYWluLWxvY2FsZVwiKTtcbmNvbnN0IF9hZGRiYXNlcGF0aCA9IHJlcXVpcmUoXCIuL2FkZC1iYXNlLXBhdGhcIik7XG5jb25zdCBfcm91dGVycmVkdWNlcnR5cGVzID0gcmVxdWlyZShcIi4vY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yb3V0ZXItcmVkdWNlci10eXBlc1wiKTtcbmNvbnN0IHByZWZldGNoZWQgPSBuZXcgU2V0KCk7XG5mdW5jdGlvbiBwcmVmZXRjaChyb3V0ZXIsIGhyZWYsIGFzLCBvcHRpb25zLCBhcHBPcHRpb25zLCBpc0FwcFJvdXRlcikge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gYXBwLXJvdXRlciBzdXBwb3J0cyBleHRlcm5hbCB1cmxzIG91dCBvZiB0aGUgYm94IHNvIGl0IHNob3VsZG4ndCBzaG9ydC1jaXJjdWl0IGhlcmUgYXMgc3VwcG9ydCBmb3IgZS5nLiBgcmVwbGFjZWAgaXMgYWRkZWQgaW4gdGhlIGFwcC1yb3V0ZXIuXG4gICAgaWYgKCFpc0FwcFJvdXRlciAmJiAhKDAsIF9pc2xvY2FsdXJsLmlzTG9jYWxVUkwpKGhyZWYpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gV2Ugc2hvdWxkIG9ubHkgZGVkdXBlIHJlcXVlc3RzIHdoZW4gZXhwZXJpbWVudGFsLm9wdGltaXN0aWNDbGllbnRDYWNoZSBpc1xuICAgIC8vIGRpc2FibGVkLlxuICAgIGlmICghb3B0aW9ucy5ieXBhc3NQcmVmZXRjaGVkQ2hlY2spIHtcbiAgICAgICAgY29uc3QgbG9jYWxlID0gLy8gTGV0IHRoZSBsaW5rJ3MgbG9jYWxlIHByb3Agb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcm91dGVyIGxvY2FsZS5cbiAgICAgICAgdHlwZW9mIG9wdGlvbnMubG9jYWxlICE9PSBcInVuZGVmaW5lZFwiID8gb3B0aW9ucy5sb2NhbGUgOiBcImxvY2FsZVwiIGluIHJvdXRlciA/IHJvdXRlci5sb2NhbGUgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHByZWZldGNoZWRLZXkgPSBocmVmICsgXCIlXCIgKyBhcyArIFwiJVwiICsgbG9jYWxlO1xuICAgICAgICAvLyBJZiB3ZSd2ZSBhbHJlYWR5IGZldGNoZWQgdGhlIGtleSwgdGhlbiBkb24ndCBwcmVmZXRjaCBpdCBhZ2FpbiFcbiAgICAgICAgaWYgKHByZWZldGNoZWQuaGFzKHByZWZldGNoZWRLZXkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gTWFyayB0aGlzIFVSTCBhcyBwcmVmZXRjaGVkLlxuICAgICAgICBwcmVmZXRjaGVkLmFkZChwcmVmZXRjaGVkS2V5KTtcbiAgICB9XG4gICAgY29uc3QgcHJlZmV0Y2hQcm9taXNlID0gaXNBcHBSb3V0ZXIgPyByb3V0ZXIucHJlZmV0Y2goaHJlZiwgYXBwT3B0aW9ucykgOiByb3V0ZXIucHJlZmV0Y2goaHJlZiwgYXMsIG9wdGlvbnMpO1xuICAgIC8vIFByZWZldGNoIHRoZSBKU09OIHBhZ2UgaWYgYXNrZWQgKG9ubHkgaW4gdGhlIGNsaWVudClcbiAgICAvLyBXZSBuZWVkIHRvIGhhbmRsZSBhIHByZWZldGNoIGVycm9yIGhlcmUgc2luY2Ugd2UgbWF5IGJlXG4gICAgLy8gbG9hZGluZyB3aXRoIHByaW9yaXR5IHdoaWNoIGNhbiByZWplY3QgYnV0IHdlIGRvbid0XG4gICAgLy8gd2FudCB0byBmb3JjZSBuYXZpZ2F0aW9uIHNpbmNlIHRoaXMgaXMgb25seSBhIHByZWZldGNoXG4gICAgUHJvbWlzZS5yZXNvbHZlKHByZWZldGNoUHJvbWlzZSkuY2F0Y2goKGVycik9PntcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgLy8gcmV0aHJvdyB0byBzaG93IGludmFsaWQgVVJMIGVycm9yc1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5mdW5jdGlvbiBpc01vZGlmaWVkRXZlbnQoZXZlbnQpIHtcbiAgICBjb25zdCBldmVudFRhcmdldCA9IGV2ZW50LmN1cnJlbnRUYXJnZXQ7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnRUYXJnZXQuZ2V0QXR0cmlidXRlKFwidGFyZ2V0XCIpO1xuICAgIHJldHVybiB0YXJnZXQgJiYgdGFyZ2V0ICE9PSBcIl9zZWxmXCIgfHwgZXZlbnQubWV0YUtleSB8fCBldmVudC5jdHJsS2V5IHx8IGV2ZW50LnNoaWZ0S2V5IHx8IGV2ZW50LmFsdEtleSB8fCAvLyB0cmlnZ2VycyByZXNvdXJjZSBkb3dubG9hZFxuICAgIGV2ZW50Lm5hdGl2ZUV2ZW50ICYmIGV2ZW50Lm5hdGl2ZUV2ZW50LndoaWNoID09PSAyO1xufVxuZnVuY3Rpb24gbGlua0NsaWNrZWQoZSwgcm91dGVyLCBocmVmLCBhcywgcmVwbGFjZSwgc2hhbGxvdywgc2Nyb2xsLCBsb2NhbGUsIGlzQXBwUm91dGVyKSB7XG4gICAgY29uc3QgeyBub2RlTmFtZSB9ID0gZS5jdXJyZW50VGFyZ2V0O1xuICAgIC8vIGFuY2hvcnMgaW5zaWRlIGFuIHN2ZyBoYXZlIGEgbG93ZXJjYXNlIG5vZGVOYW1lXG4gICAgY29uc3QgaXNBbmNob3JOb2RlTmFtZSA9IG5vZGVOYW1lLnRvVXBwZXJDYXNlKCkgPT09IFwiQVwiO1xuICAgIGlmIChpc0FuY2hvck5vZGVOYW1lICYmIChpc01vZGlmaWVkRXZlbnQoZSkgfHwgLy8gYXBwLXJvdXRlciBzdXBwb3J0cyBleHRlcm5hbCB1cmxzIG91dCBvZiB0aGUgYm94IHNvIGl0IHNob3VsZG4ndCBzaG9ydC1jaXJjdWl0IGhlcmUgYXMgc3VwcG9ydCBmb3IgZS5nLiBgcmVwbGFjZWAgaXMgYWRkZWQgaW4gdGhlIGFwcC1yb3V0ZXIuXG4gICAgIWlzQXBwUm91dGVyICYmICEoMCwgX2lzbG9jYWx1cmwuaXNMb2NhbFVSTCkoaHJlZikpKSB7XG4gICAgICAgIC8vIGlnbm9yZSBjbGljayBmb3IgYnJvd3NlcuKAmXMgZGVmYXVsdCBiZWhhdmlvclxuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCBuYXZpZ2F0ZSA9ICgpPT57XG4gICAgICAgIC8vIElmIHRoZSByb3V0ZXIgaXMgYW4gTmV4dFJvdXRlciBpbnN0YW5jZSBpdCB3aWxsIGhhdmUgYGJlZm9yZVBvcFN0YXRlYFxuICAgICAgICBjb25zdCByb3V0ZXJTY3JvbGwgPSBzY3JvbGwgIT0gbnVsbCA/IHNjcm9sbCA6IHRydWU7XG4gICAgICAgIGlmIChcImJlZm9yZVBvcFN0YXRlXCIgaW4gcm91dGVyKSB7XG4gICAgICAgICAgICByb3V0ZXJbcmVwbGFjZSA/IFwicmVwbGFjZVwiIDogXCJwdXNoXCJdKGhyZWYsIGFzLCB7XG4gICAgICAgICAgICAgICAgc2hhbGxvdyxcbiAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgc2Nyb2xsOiByb3V0ZXJTY3JvbGxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcm91dGVyW3JlcGxhY2UgPyBcInJlcGxhY2VcIiA6IFwicHVzaFwiXShhcyB8fCBocmVmLCB7XG4gICAgICAgICAgICAgICAgc2Nyb2xsOiByb3V0ZXJTY3JvbGxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBpZiAoaXNBcHBSb3V0ZXIpIHtcbiAgICAgICAgX3JlYWN0LmRlZmF1bHQuc3RhcnRUcmFuc2l0aW9uKG5hdmlnYXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBuYXZpZ2F0ZSgpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGZvcm1hdFN0cmluZ09yVXJsKHVybE9iak9yU3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiB1cmxPYmpPclN0cmluZyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gdXJsT2JqT3JTdHJpbmc7XG4gICAgfVxuICAgIHJldHVybiAoMCwgX2Zvcm1hdHVybC5mb3JtYXRVcmwpKHVybE9iak9yU3RyaW5nKTtcbn1cbi8qKlxuICogUmVhY3QgQ29tcG9uZW50IHRoYXQgZW5hYmxlcyBjbGllbnQtc2lkZSB0cmFuc2l0aW9ucyBiZXR3ZWVuIHJvdXRlcy5cbiAqLyBjb25zdCBMaW5rID0gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIExpbmtDb21wb25lbnQocHJvcHMsIGZvcndhcmRlZFJlZikge1xuICAgIGxldCBjaGlsZHJlbjtcbiAgICBjb25zdCB7IGhyZWY6IGhyZWZQcm9wLCBhczogYXNQcm9wLCBjaGlsZHJlbjogY2hpbGRyZW5Qcm9wLCBwcmVmZXRjaDogcHJlZmV0Y2hQcm9wID0gbnVsbCwgcGFzc0hyZWYsIHJlcGxhY2UsIHNoYWxsb3csIHNjcm9sbCwgbG9jYWxlLCBvbkNsaWNrLCBvbk1vdXNlRW50ZXI6IG9uTW91c2VFbnRlclByb3AsIG9uVG91Y2hTdGFydDogb25Ub3VjaFN0YXJ0UHJvcCwgbGVnYWN5QmVoYXZpb3IgPSBmYWxzZSwgLi4ucmVzdFByb3BzIH0gPSBwcm9wcztcbiAgICBjaGlsZHJlbiA9IGNoaWxkcmVuUHJvcDtcbiAgICBpZiAobGVnYWN5QmVoYXZpb3IgJiYgKHR5cGVvZiBjaGlsZHJlbiA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgY2hpbGRyZW4gPT09IFwibnVtYmVyXCIpKSB7XG4gICAgICAgIGNoaWxkcmVuID0gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImFcIiwge1xuICAgICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBwYWdlc1JvdXRlciA9IF9yZWFjdC5kZWZhdWx0LnVzZUNvbnRleHQoX3JvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLlJvdXRlckNvbnRleHQpO1xuICAgIGNvbnN0IGFwcFJvdXRlciA9IF9yZWFjdC5kZWZhdWx0LnVzZUNvbnRleHQoX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkFwcFJvdXRlckNvbnRleHQpO1xuICAgIGNvbnN0IHJvdXRlciA9IHBhZ2VzUm91dGVyICE9IG51bGwgPyBwYWdlc1JvdXRlciA6IGFwcFJvdXRlcjtcbiAgICAvLyBXZSdyZSBpbiB0aGUgYXBwIGRpcmVjdG9yeSBpZiB0aGVyZSBpcyBubyBwYWdlcyByb3V0ZXIuXG4gICAgY29uc3QgaXNBcHBSb3V0ZXIgPSAhcGFnZXNSb3V0ZXI7XG4gICAgY29uc3QgcHJlZmV0Y2hFbmFibGVkID0gcHJlZmV0Y2hQcm9wICE9PSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBUaGUgcG9zc2libGUgc3RhdGVzIGZvciBwcmVmZXRjaCBhcmU6XG4gICAgICogLSBudWxsOiB0aGlzIGlzIHRoZSBkZWZhdWx0IFwiYXV0b1wiIG1vZGUsIHdoZXJlIHdlIHdpbGwgcHJlZmV0Y2ggcGFydGlhbGx5IGlmIHRoZSBsaW5rIGlzIGluIHRoZSB2aWV3cG9ydFxuICAgICAqIC0gdHJ1ZTogd2Ugd2lsbCBwcmVmZXRjaCBpZiB0aGUgbGluayBpcyB2aXNpYmxlIGFuZCBwcmVmZXRjaCB0aGUgZnVsbCBwYWdlLCBub3QganVzdCBwYXJ0aWFsbHlcbiAgICAgKiAtIGZhbHNlOiB3ZSB3aWxsIG5vdCBwcmVmZXRjaCBpZiBpbiB0aGUgdmlld3BvcnQgYXQgYWxsXG4gICAgICovIGNvbnN0IGFwcFByZWZldGNoS2luZCA9IHByZWZldGNoUHJvcCA9PT0gbnVsbCA/IF9yb3V0ZXJyZWR1Y2VydHlwZXMuUHJlZmV0Y2hLaW5kLkFVVE8gOiBfcm91dGVycmVkdWNlcnR5cGVzLlByZWZldGNoS2luZC5GVUxMO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgZnVuY3Rpb24gY3JlYXRlUHJvcEVycm9yKGFyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoXCJGYWlsZWQgcHJvcCB0eXBlOiBUaGUgcHJvcCBgXCIgKyBhcmdzLmtleSArIFwiYCBleHBlY3RzIGEgXCIgKyBhcmdzLmV4cGVjdGVkICsgXCIgaW4gYDxMaW5rPmAsIGJ1dCBnb3QgYFwiICsgYXJncy5hY3R1YWwgKyBcImAgaW5zdGVhZC5cIiArICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiID8gXCJcXG5PcGVuIHlvdXIgYnJvd3NlcidzIGNvbnNvbGUgdG8gdmlldyB0aGUgQ29tcG9uZW50IHN0YWNrIHRyYWNlLlwiIDogXCJcIikpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFR5cGVTY3JpcHQgdHJpY2sgZm9yIHR5cGUtZ3VhcmRpbmc6XG4gICAgICAgIGNvbnN0IHJlcXVpcmVkUHJvcHNHdWFyZCA9IHtcbiAgICAgICAgICAgIGhyZWY6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVxdWlyZWRQcm9wcyA9IE9iamVjdC5rZXlzKHJlcXVpcmVkUHJvcHNHdWFyZCk7XG4gICAgICAgIHJlcXVpcmVkUHJvcHMuZm9yRWFjaCgoa2V5KT0+e1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gXCJocmVmXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvcHNba2V5XSA9PSBudWxsIHx8IHR5cGVvZiBwcm9wc1trZXldICE9PSBcInN0cmluZ1wiICYmIHR5cGVvZiBwcm9wc1trZXldICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZDogXCJgc3RyaW5nYCBvciBgb2JqZWN0YFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsOiBwcm9wc1trZXldID09PSBudWxsID8gXCJudWxsXCIgOiB0eXBlb2YgcHJvcHNba2V5XVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIFR5cGVTY3JpcHQgdHJpY2sgZm9yIHR5cGUtZ3VhcmRpbmc6XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICAgIGNvbnN0IF8gPSBrZXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBUeXBlU2NyaXB0IHRyaWNrIGZvciB0eXBlLWd1YXJkaW5nOlxuICAgICAgICBjb25zdCBvcHRpb25hbFByb3BzR3VhcmQgPSB7XG4gICAgICAgICAgICBhczogdHJ1ZSxcbiAgICAgICAgICAgIHJlcGxhY2U6IHRydWUsXG4gICAgICAgICAgICBzY3JvbGw6IHRydWUsXG4gICAgICAgICAgICBzaGFsbG93OiB0cnVlLFxuICAgICAgICAgICAgcGFzc0hyZWY6IHRydWUsXG4gICAgICAgICAgICBwcmVmZXRjaDogdHJ1ZSxcbiAgICAgICAgICAgIGxvY2FsZTogdHJ1ZSxcbiAgICAgICAgICAgIG9uQ2xpY2s6IHRydWUsXG4gICAgICAgICAgICBvbk1vdXNlRW50ZXI6IHRydWUsXG4gICAgICAgICAgICBvblRvdWNoU3RhcnQ6IHRydWUsXG4gICAgICAgICAgICBsZWdhY3lCZWhhdmlvcjogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBvcHRpb25hbFByb3BzID0gT2JqZWN0LmtleXMob3B0aW9uYWxQcm9wc0d1YXJkKTtcbiAgICAgICAgb3B0aW9uYWxQcm9wcy5mb3JFYWNoKChrZXkpPT57XG4gICAgICAgICAgICBjb25zdCB2YWxUeXBlID0gdHlwZW9mIHByb3BzW2tleV07XG4gICAgICAgICAgICBpZiAoa2V5ID09PSBcImFzXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvcHNba2V5XSAmJiB2YWxUeXBlICE9PSBcInN0cmluZ1wiICYmIHZhbFR5cGUgIT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgY3JlYXRlUHJvcEVycm9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBcImBzdHJpbmdgIG9yIGBvYmplY3RgXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHZhbFR5cGVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09IFwibG9jYWxlXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvcHNba2V5XSAmJiB2YWxUeXBlICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZDogXCJgc3RyaW5nYFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsOiB2YWxUeXBlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBcIm9uQ2xpY2tcIiB8fCBrZXkgPT09IFwib25Nb3VzZUVudGVyXCIgfHwga2V5ID09PSBcIm9uVG91Y2hTdGFydFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzW2tleV0gJiYgdmFsVHlwZSAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZDogXCJgZnVuY3Rpb25gXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHZhbFR5cGVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09IFwicmVwbGFjZVwiIHx8IGtleSA9PT0gXCJzY3JvbGxcIiB8fCBrZXkgPT09IFwic2hhbGxvd1wiIHx8IGtleSA9PT0gXCJwYXNzSHJlZlwiIHx8IGtleSA9PT0gXCJwcmVmZXRjaFwiIHx8IGtleSA9PT0gXCJsZWdhY3lCZWhhdmlvclwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzW2tleV0gIT0gbnVsbCAmJiB2YWxUeXBlICE9PSBcImJvb2xlYW5cIikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFwiYGJvb2xlYW5gXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHZhbFR5cGVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBUeXBlU2NyaXB0IHRyaWNrIGZvciB0eXBlLWd1YXJkaW5nOlxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICBjb25zdCBfID0ga2V5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgLy8gVGhpcyBob29rIGlzIGluIGEgY29uZGl0aW9uYWwgYnV0IHRoYXQgaXMgb2sgYmVjYXVzZSBgcHJvY2Vzcy5lbnYuTk9ERV9FTlZgIG5ldmVyIGNoYW5nZXNcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgICAgIGNvbnN0IGhhc1dhcm5lZCA9IF9yZWFjdC5kZWZhdWx0LnVzZVJlZihmYWxzZSk7XG4gICAgICAgIGlmIChwcm9wcy5wcmVmZXRjaCAmJiAhaGFzV2FybmVkLmN1cnJlbnQgJiYgIWlzQXBwUm91dGVyKSB7XG4gICAgICAgICAgICBoYXNXYXJuZWQuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJOZXh0LmpzIGF1dG8tcHJlZmV0Y2hlcyBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIHZpZXdwb3J0LiBUaGUgcHJlZmV0Y2ggYXR0cmlidXRlIGlzIG5vIGxvbmdlciBuZWVkZWQuIE1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3ByZWZldGNoLXRydWUtZGVwcmVjYXRlZFwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIGlmIChpc0FwcFJvdXRlciAmJiAhYXNQcm9wKSB7XG4gICAgICAgICAgICBsZXQgaHJlZjtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgaHJlZlByb3AgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICBocmVmID0gaHJlZlByb3A7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBocmVmUHJvcCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgaHJlZlByb3AucGF0aG5hbWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICBocmVmID0gaHJlZlByb3AucGF0aG5hbWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaHJlZikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhhc0R5bmFtaWNTZWdtZW50ID0gaHJlZi5zcGxpdChcIi9cIikuc29tZSgoc2VnbWVudCk9PnNlZ21lbnQuc3RhcnRzV2l0aChcIltcIikgJiYgc2VnbWVudC5lbmRzV2l0aChcIl1cIikpO1xuICAgICAgICAgICAgICAgIGlmIChoYXNEeW5hbWljU2VnbWVudCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJEeW5hbWljIGhyZWYgYFwiICsgaHJlZiArIFwiYCBmb3VuZCBpbiA8TGluaz4gd2hpbGUgdXNpbmcgdGhlIGAvYXBwYCByb3V0ZXIsIHRoaXMgaXMgbm90IHN1cHBvcnRlZC4gUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9hcHAtZGlyLWR5bmFtaWMtaHJlZlwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgeyBocmVmLCBhcyB9ID0gX3JlYWN0LmRlZmF1bHQudXNlTWVtbygoKT0+e1xuICAgICAgICBpZiAoIXBhZ2VzUm91dGVyKSB7XG4gICAgICAgICAgICBjb25zdCByZXNvbHZlZEhyZWYgPSBmb3JtYXRTdHJpbmdPclVybChocmVmUHJvcCk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGhyZWY6IHJlc29sdmVkSHJlZixcbiAgICAgICAgICAgICAgICBhczogYXNQcm9wID8gZm9ybWF0U3RyaW5nT3JVcmwoYXNQcm9wKSA6IHJlc29sdmVkSHJlZlxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBbcmVzb2x2ZWRIcmVmLCByZXNvbHZlZEFzXSA9ICgwLCBfcmVzb2x2ZWhyZWYucmVzb2x2ZUhyZWYpKHBhZ2VzUm91dGVyLCBocmVmUHJvcCwgdHJ1ZSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBocmVmOiByZXNvbHZlZEhyZWYsXG4gICAgICAgICAgICBhczogYXNQcm9wID8gKDAsIF9yZXNvbHZlaHJlZi5yZXNvbHZlSHJlZikocGFnZXNSb3V0ZXIsIGFzUHJvcCkgOiByZXNvbHZlZEFzIHx8IHJlc29sdmVkSHJlZlxuICAgICAgICB9O1xuICAgIH0sIFtcbiAgICAgICAgcGFnZXNSb3V0ZXIsXG4gICAgICAgIGhyZWZQcm9wLFxuICAgICAgICBhc1Byb3BcbiAgICBdKTtcbiAgICBjb25zdCBwcmV2aW91c0hyZWYgPSBfcmVhY3QuZGVmYXVsdC51c2VSZWYoaHJlZik7XG4gICAgY29uc3QgcHJldmlvdXNBcyA9IF9yZWFjdC5kZWZhdWx0LnVzZVJlZihhcyk7XG4gICAgLy8gVGhpcyB3aWxsIHJldHVybiB0aGUgZmlyc3QgY2hpbGQsIGlmIG11bHRpcGxlIGFyZSBwcm92aWRlZCBpdCB3aWxsIHRocm93IGFuIGVycm9yXG4gICAgbGV0IGNoaWxkO1xuICAgIGlmIChsZWdhY3lCZWhhdmlvcikge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgaWYgKG9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1wib25DbGlja1wiIHdhcyBwYXNzZWQgdG8gPExpbms+IHdpdGggYGhyZWZgIG9mIGAnICsgaHJlZlByb3AgKyAnYCBidXQgXCJsZWdhY3lCZWhhdmlvclwiIHdhcyBzZXQuIFRoZSBsZWdhY3kgYmVoYXZpb3IgcmVxdWlyZXMgb25DbGljayBiZSBzZXQgb24gdGhlIGNoaWxkIG9mIG5leHQvbGluaycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9uTW91c2VFbnRlclByb3ApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1wib25Nb3VzZUVudGVyXCIgd2FzIHBhc3NlZCB0byA8TGluaz4gd2l0aCBgaHJlZmAgb2YgYCcgKyBocmVmUHJvcCArICdgIGJ1dCBcImxlZ2FjeUJlaGF2aW9yXCIgd2FzIHNldC4gVGhlIGxlZ2FjeSBiZWhhdmlvciByZXF1aXJlcyBvbk1vdXNlRW50ZXIgYmUgc2V0IG9uIHRoZSBjaGlsZCBvZiBuZXh0L2xpbmsnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY2hpbGQgPSBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5vbmx5KGNoaWxkcmVuKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGlmICghY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gY2hpbGRyZW4gd2VyZSBwYXNzZWQgdG8gPExpbms+IHdpdGggYGhyZWZgIG9mIGBcIiArIGhyZWZQcm9wICsgXCJgIGJ1dCBvbmUgY2hpbGQgaXMgcmVxdWlyZWQgaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbGluay1uby1jaGlsZHJlblwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTXVsdGlwbGUgY2hpbGRyZW4gd2VyZSBwYXNzZWQgdG8gPExpbms+IHdpdGggYGhyZWZgIG9mIGBcIiArIGhyZWZQcm9wICsgXCJgIGJ1dCBvbmx5IG9uZSBjaGlsZCBpcyBzdXBwb3J0ZWQgaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbGluay1tdWx0aXBsZS1jaGlsZHJlblwiICsgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgPyBcIiBcXG5PcGVuIHlvdXIgYnJvd3NlcidzIGNvbnNvbGUgdG8gdmlldyB0aGUgQ29tcG9uZW50IHN0YWNrIHRyYWNlLlwiIDogXCJcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2hpbGQgPSBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5vbmx5KGNoaWxkcmVuKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgICAgICBpZiAoKGNoaWxkcmVuID09IG51bGwgPyB2b2lkIDAgOiBjaGlsZHJlbi50eXBlKSA9PT0gXCJhXCIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIDxMaW5rPiB3aXRoIDxhPiBjaGlsZC4gUGxlYXNlIHJlbW92ZSA8YT4gb3IgdXNlIDxMaW5rIGxlZ2FjeUJlaGF2aW9yPi5cXG5MZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9pbnZhbGlkLW5ldy1saW5rLXdpdGgtZXh0cmEtYW5jaG9yXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGNoaWxkUmVmID0gbGVnYWN5QmVoYXZpb3IgPyBjaGlsZCAmJiB0eXBlb2YgY2hpbGQgPT09IFwib2JqZWN0XCIgJiYgY2hpbGQucmVmIDogZm9yd2FyZGVkUmVmO1xuICAgIGNvbnN0IFtzZXRJbnRlcnNlY3Rpb25SZWYsIGlzVmlzaWJsZSwgcmVzZXRWaXNpYmxlXSA9ICgwLCBfdXNlaW50ZXJzZWN0aW9uLnVzZUludGVyc2VjdGlvbikoe1xuICAgICAgICByb290TWFyZ2luOiBcIjIwMHB4XCJcbiAgICB9KTtcbiAgICBjb25zdCBzZXRSZWYgPSBfcmVhY3QuZGVmYXVsdC51c2VDYWxsYmFjaygoZWwpPT57XG4gICAgICAgIC8vIEJlZm9yZSB0aGUgbGluayBnZXR0aW5nIG9ic2VydmVkLCBjaGVjayBpZiB2aXNpYmxlIHN0YXRlIG5lZWQgdG8gYmUgcmVzZXRcbiAgICAgICAgaWYgKHByZXZpb3VzQXMuY3VycmVudCAhPT0gYXMgfHwgcHJldmlvdXNIcmVmLmN1cnJlbnQgIT09IGhyZWYpIHtcbiAgICAgICAgICAgIHJlc2V0VmlzaWJsZSgpO1xuICAgICAgICAgICAgcHJldmlvdXNBcy5jdXJyZW50ID0gYXM7XG4gICAgICAgICAgICBwcmV2aW91c0hyZWYuY3VycmVudCA9IGhyZWY7XG4gICAgICAgIH1cbiAgICAgICAgc2V0SW50ZXJzZWN0aW9uUmVmKGVsKTtcbiAgICAgICAgaWYgKGNoaWxkUmVmKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGNoaWxkUmVmID09PSBcImZ1bmN0aW9uXCIpIGNoaWxkUmVmKGVsKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiBjaGlsZFJlZiA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgICAgIGNoaWxkUmVmLmN1cnJlbnQgPSBlbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgYXMsXG4gICAgICAgIGNoaWxkUmVmLFxuICAgICAgICBocmVmLFxuICAgICAgICByZXNldFZpc2libGUsXG4gICAgICAgIHNldEludGVyc2VjdGlvblJlZlxuICAgIF0pO1xuICAgIC8vIFByZWZldGNoIHRoZSBVUkwgaWYgd2UgaGF2ZW4ndCBhbHJlYWR5IGFuZCBpdCdzIHZpc2libGUuXG4gICAgX3JlYWN0LmRlZmF1bHQudXNlRWZmZWN0KCgpPT57XG4gICAgICAgIC8vIGluIGRldiwgd2Ugb25seSBwcmVmZXRjaCBvbiBob3ZlciB0byBhdm9pZCB3YXN0aW5nIHJlc291cmNlcyBhcyB0aGUgcHJlZmV0Y2ggd2lsbCB0cmlnZ2VyIGNvbXBpbGluZyB0aGUgcGFnZS5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcm91dGVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgd2UgZG9uJ3QgbmVlZCB0byBwcmVmZXRjaCB0aGUgVVJMLCBkb24ndCBkbyBwcmVmZXRjaC5cbiAgICAgICAgaWYgKCFpc1Zpc2libGUgfHwgIXByZWZldGNoRW5hYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIFByZWZldGNoIHRoZSBVUkwuXG4gICAgICAgIHByZWZldGNoKHJvdXRlciwgaHJlZiwgYXMsIHtcbiAgICAgICAgICAgIGxvY2FsZVxuICAgICAgICB9LCB7XG4gICAgICAgICAgICBraW5kOiBhcHBQcmVmZXRjaEtpbmRcbiAgICAgICAgfSwgaXNBcHBSb3V0ZXIpO1xuICAgIH0sIFtcbiAgICAgICAgYXMsXG4gICAgICAgIGhyZWYsXG4gICAgICAgIGlzVmlzaWJsZSxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBwcmVmZXRjaEVuYWJsZWQsXG4gICAgICAgIHBhZ2VzUm91dGVyID09IG51bGwgPyB2b2lkIDAgOiBwYWdlc1JvdXRlci5sb2NhbGUsXG4gICAgICAgIHJvdXRlcixcbiAgICAgICAgaXNBcHBSb3V0ZXIsXG4gICAgICAgIGFwcFByZWZldGNoS2luZFxuICAgIF0pO1xuICAgIGNvbnN0IGNoaWxkUHJvcHMgPSB7XG4gICAgICAgIHJlZjogc2V0UmVmLFxuICAgICAgICBvbkNsaWNrIChlKSB7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ29tcG9uZW50IHJlbmRlcmVkIGluc2lkZSBuZXh0L2xpbmsgaGFzIHRvIHBhc3MgY2xpY2sgZXZlbnQgdG8gXCJvbkNsaWNrXCIgcHJvcC4nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWxlZ2FjeUJlaGF2aW9yICYmIHR5cGVvZiBvbkNsaWNrID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICBvbkNsaWNrKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGxlZ2FjeUJlaGF2aW9yICYmIGNoaWxkLnByb3BzICYmIHR5cGVvZiBjaGlsZC5wcm9wcy5vbkNsaWNrID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICBjaGlsZC5wcm9wcy5vbkNsaWNrKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFyb3V0ZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZS5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGlua0NsaWNrZWQoZSwgcm91dGVyLCBocmVmLCBhcywgcmVwbGFjZSwgc2hhbGxvdywgc2Nyb2xsLCBsb2NhbGUsIGlzQXBwUm91dGVyKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Nb3VzZUVudGVyIChlKSB7XG4gICAgICAgICAgICBpZiAoIWxlZ2FjeUJlaGF2aW9yICYmIHR5cGVvZiBvbk1vdXNlRW50ZXJQcm9wID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXJQcm9wKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGxlZ2FjeUJlaGF2aW9yICYmIGNoaWxkLnByb3BzICYmIHR5cGVvZiBjaGlsZC5wcm9wcy5vbk1vdXNlRW50ZXIgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIGNoaWxkLnByb3BzLm9uTW91c2VFbnRlcihlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghcm91dGVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCghcHJlZmV0Y2hFbmFibGVkIHx8IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpICYmIGlzQXBwUm91dGVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHJlZmV0Y2gocm91dGVyLCBocmVmLCBhcywge1xuICAgICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgICBwcmlvcml0eTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAvLyBAc2VlIHtodHRwczovL2dpdGh1Yi5jb20vdmVyY2VsL25leHQuanMvZGlzY3Vzc2lvbnMvNDAyNjg/c29ydD10b3AjZGlzY3Vzc2lvbmNvbW1lbnQtMzU3MjY0Mn1cbiAgICAgICAgICAgICAgICBieXBhc3NQcmVmZXRjaGVkQ2hlY2s6IHRydWVcbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBraW5kOiBhcHBQcmVmZXRjaEtpbmRcbiAgICAgICAgICAgIH0sIGlzQXBwUm91dGVyKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Ub3VjaFN0YXJ0IChlKSB7XG4gICAgICAgICAgICBpZiAoIWxlZ2FjeUJlaGF2aW9yICYmIHR5cGVvZiBvblRvdWNoU3RhcnRQcm9wID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICBvblRvdWNoU3RhcnRQcm9wKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGxlZ2FjeUJlaGF2aW9yICYmIGNoaWxkLnByb3BzICYmIHR5cGVvZiBjaGlsZC5wcm9wcy5vblRvdWNoU3RhcnQgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIGNoaWxkLnByb3BzLm9uVG91Y2hTdGFydChlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghcm91dGVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFwcmVmZXRjaEVuYWJsZWQgJiYgaXNBcHBSb3V0ZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcmVmZXRjaChyb3V0ZXIsIGhyZWYsIGFzLCB7XG4gICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgIHByaW9yaXR5OiB0cnVlLFxuICAgICAgICAgICAgICAgIC8vIEBzZWUge2h0dHBzOi8vZ2l0aHViLmNvbS92ZXJjZWwvbmV4dC5qcy9kaXNjdXNzaW9ucy80MDI2OD9zb3J0PXRvcCNkaXNjdXNzaW9uY29tbWVudC0zNTcyNjQyfVxuICAgICAgICAgICAgICAgIGJ5cGFzc1ByZWZldGNoZWRDaGVjazogdHJ1ZVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtpbmQ6IGFwcFByZWZldGNoS2luZFxuICAgICAgICAgICAgfSwgaXNBcHBSb3V0ZXIpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICAvLyBJZiBjaGlsZCBpcyBhbiA8YT4gdGFnIGFuZCBkb2Vzbid0IGhhdmUgYSBocmVmIGF0dHJpYnV0ZSwgb3IgaWYgdGhlICdwYXNzSHJlZicgcHJvcGVydHkgaXNcbiAgICAvLyBkZWZpbmVkLCB3ZSBzcGVjaWZ5IHRoZSBjdXJyZW50ICdocmVmJywgc28gdGhhdCByZXBldGl0aW9uIGlzIG5vdCBuZWVkZWQgYnkgdGhlIHVzZXIuXG4gICAgLy8gSWYgdGhlIHVybCBpcyBhYnNvbHV0ZSwgd2UgY2FuIGJ5cGFzcyB0aGUgbG9naWMgdG8gcHJlcGVuZCB0aGUgZG9tYWluIGFuZCBsb2NhbGUuXG4gICAgaWYgKCgwLCBfdXRpbHMuaXNBYnNvbHV0ZVVybCkoYXMpKSB7XG4gICAgICAgIGNoaWxkUHJvcHMuaHJlZiA9IGFzO1xuICAgIH0gZWxzZSBpZiAoIWxlZ2FjeUJlaGF2aW9yIHx8IHBhc3NIcmVmIHx8IGNoaWxkLnR5cGUgPT09IFwiYVwiICYmICEoXCJocmVmXCIgaW4gY2hpbGQucHJvcHMpKSB7XG4gICAgICAgIGNvbnN0IGN1ckxvY2FsZSA9IHR5cGVvZiBsb2NhbGUgIT09IFwidW5kZWZpbmVkXCIgPyBsb2NhbGUgOiBwYWdlc1JvdXRlciA9PSBudWxsID8gdm9pZCAwIDogcGFnZXNSb3V0ZXIubG9jYWxlO1xuICAgICAgICAvLyB3ZSBvbmx5IHJlbmRlciBkb21haW4gbG9jYWxlcyBpZiB3ZSBhcmUgY3VycmVudGx5IG9uIGEgZG9tYWluIGxvY2FsZVxuICAgICAgICAvLyBzbyB0aGF0IGxvY2FsZSBsaW5rcyBhcmUgc3RpbGwgdmlzaXRhYmxlIGluIGRldmVsb3BtZW50L3ByZXZpZXcgZW52c1xuICAgICAgICBjb25zdCBsb2NhbGVEb21haW4gPSAocGFnZXNSb3V0ZXIgPT0gbnVsbCA/IHZvaWQgMCA6IHBhZ2VzUm91dGVyLmlzTG9jYWxlRG9tYWluKSAmJiAoMCwgX2dldGRvbWFpbmxvY2FsZS5nZXREb21haW5Mb2NhbGUpKGFzLCBjdXJMb2NhbGUsIHBhZ2VzUm91dGVyID09IG51bGwgPyB2b2lkIDAgOiBwYWdlc1JvdXRlci5sb2NhbGVzLCBwYWdlc1JvdXRlciA9PSBudWxsID8gdm9pZCAwIDogcGFnZXNSb3V0ZXIuZG9tYWluTG9jYWxlcyk7XG4gICAgICAgIGNoaWxkUHJvcHMuaHJlZiA9IGxvY2FsZURvbWFpbiB8fCAoMCwgX2FkZGJhc2VwYXRoLmFkZEJhc2VQYXRoKSgoMCwgX2FkZGxvY2FsZS5hZGRMb2NhbGUpKGFzLCBjdXJMb2NhbGUsIHBhZ2VzUm91dGVyID09IG51bGwgPyB2b2lkIDAgOiBwYWdlc1JvdXRlci5kZWZhdWx0TG9jYWxlKSk7XG4gICAgfVxuICAgIHJldHVybiBsZWdhY3lCZWhhdmlvciA/IC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY2xvbmVFbGVtZW50KGNoaWxkLCBjaGlsZFByb3BzKSA6IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJhXCIsIHtcbiAgICAgICAgLi4ucmVzdFByb3BzLFxuICAgICAgICAuLi5jaGlsZFByb3BzLFxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KTtcbn0pO1xuY29uc3QgX2RlZmF1bHQgPSBMaW5rO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1saW5rLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/link.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js ***! \************************************************************************/ /***/ ((module) => { "use strict"; eval("\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all)=>{\n for(var name in all)__defProp(target, name, {\n get: all[name],\n enumerable: true\n });\n};\nvar __copyProps = (to, from, except, desc)=>{\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n get: ()=>from[key],\n enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n });\n }\n return to;\n};\nvar __toCommonJS = (mod)=>__copyProps(__defProp({}, \"__esModule\", {\n value: true\n }), mod);\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n RequestCookies: ()=>RequestCookies,\n ResponseCookies: ()=>ResponseCookies,\n parseCookie: ()=>parseCookie,\n parseSetCookie: ()=>parseSetCookie,\n stringifyCookie: ()=>stringifyCookie\n});\nmodule.exports = __toCommonJS(src_exports);\n// src/serialize.ts\nfunction stringifyCookie(c) {\n var _a;\n const attrs = [\n \"path\" in c && c.path && `Path=${c.path}`,\n \"expires\" in c && (c.expires || c.expires === 0) && `Expires=${(typeof c.expires === \"number\" ? new Date(c.expires) : c.expires).toUTCString()}`,\n \"maxAge\" in c && typeof c.maxAge === \"number\" && `Max-Age=${c.maxAge}`,\n \"domain\" in c && c.domain && `Domain=${c.domain}`,\n \"secure\" in c && c.secure && \"Secure\",\n \"httpOnly\" in c && c.httpOnly && \"HttpOnly\",\n \"sameSite\" in c && c.sameSite && `SameSite=${c.sameSite}`,\n \"priority\" in c && c.priority && `Priority=${c.priority}`\n ].filter(Boolean);\n return `${c.name}=${encodeURIComponent((_a = c.value) != null ? _a : \"\")}; ${attrs.join(\"; \")}`;\n}\nfunction parseCookie(cookie) {\n const map = /* @__PURE__ */ new Map();\n for (const pair of cookie.split(/; */)){\n if (!pair) continue;\n const splitAt = pair.indexOf(\"=\");\n if (splitAt === -1) {\n map.set(pair, \"true\");\n continue;\n }\n const [key, value] = [\n pair.slice(0, splitAt),\n pair.slice(splitAt + 1)\n ];\n try {\n map.set(key, decodeURIComponent(value != null ? value : \"true\"));\n } catch {}\n }\n return map;\n}\nfunction parseSetCookie(setCookie) {\n if (!setCookie) {\n return void 0;\n }\n const [[name, value], ...attributes] = parseCookie(setCookie);\n const { domain, expires, httponly, maxage, path, samesite, secure, priority } = Object.fromEntries(attributes.map(([key, value2])=>[\n key.toLowerCase(),\n value2\n ]));\n const cookie = {\n name,\n value: decodeURIComponent(value),\n domain,\n ...expires && {\n expires: new Date(expires)\n },\n ...httponly && {\n httpOnly: true\n },\n ...typeof maxage === \"string\" && {\n maxAge: Number(maxage)\n },\n path,\n ...samesite && {\n sameSite: parseSameSite(samesite)\n },\n ...secure && {\n secure: true\n },\n ...priority && {\n priority: parsePriority(priority)\n }\n };\n return compact(cookie);\n}\nfunction compact(t) {\n const newT = {};\n for(const key in t){\n if (t[key]) {\n newT[key] = t[key];\n }\n }\n return newT;\n}\nvar SAME_SITE = [\n \"strict\",\n \"lax\",\n \"none\"\n];\nfunction parseSameSite(string) {\n string = string.toLowerCase();\n return SAME_SITE.includes(string) ? string : void 0;\n}\nvar PRIORITY = [\n \"low\",\n \"medium\",\n \"high\"\n];\nfunction parsePriority(string) {\n string = string.toLowerCase();\n return PRIORITY.includes(string) ? string : void 0;\n}\nfunction splitCookiesString(cookiesString) {\n if (!cookiesString) return [];\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n function skipWhitespace() {\n while(pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))){\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n while(pos < cookiesString.length){\n start = pos;\n cookiesSeparatorFound = false;\n while(skipWhitespace()){\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n lastComma = pos;\n pos += 1;\n skipWhitespace();\n nextStart = pos;\n while(pos < cookiesString.length && notSpecialChar()){\n pos += 1;\n }\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n cookiesSeparatorFound = true;\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n return cookiesStrings;\n}\n// src/request-cookies.ts\nvar RequestCookies = class {\n constructor(requestHeaders){\n /** @internal */ this._parsed = /* @__PURE__ */ new Map();\n this._headers = requestHeaders;\n const header = requestHeaders.get(\"cookie\");\n if (header) {\n const parsed = parseCookie(header);\n for (const [name, value] of parsed){\n this._parsed.set(name, {\n name,\n value\n });\n }\n }\n }\n [Symbol.iterator]() {\n return this._parsed[Symbol.iterator]();\n }\n /**\n * The amount of cookies received from the client\n */ get size() {\n return this._parsed.size;\n }\n get(...args) {\n const name = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(name);\n }\n getAll(...args) {\n var _a;\n const all = Array.from(this._parsed);\n if (!args.length) {\n return all.map(([_, value])=>value);\n }\n const name = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter(([n])=>n === name).map(([_, value])=>value);\n }\n has(name) {\n return this._parsed.has(name);\n }\n set(...args) {\n const [name, value] = args.length === 1 ? [\n args[0].name,\n args[0].value\n ] : args;\n const map = this._parsed;\n map.set(name, {\n name,\n value\n });\n this._headers.set(\"cookie\", Array.from(map).map(([_, value2])=>stringifyCookie(value2)).join(\"; \"));\n return this;\n }\n /**\n * Delete the cookies matching the passed name or names in the request.\n */ delete(names) {\n const map = this._parsed;\n const result = !Array.isArray(names) ? map.delete(names) : names.map((name)=>map.delete(name));\n this._headers.set(\"cookie\", Array.from(map).map(([_, value])=>stringifyCookie(value)).join(\"; \"));\n return result;\n }\n /**\n * Delete all the cookies in the cookies in the request.\n */ clear() {\n this.delete(Array.from(this._parsed.keys()));\n return this;\n }\n /**\n * Format the cookies in the request as a string for logging\n */ [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [\n ...this._parsed.values()\n ].map((v)=>`${v.name}=${encodeURIComponent(v.value)}`).join(\"; \");\n }\n};\n// src/response-cookies.ts\nvar ResponseCookies = class {\n constructor(responseHeaders){\n /** @internal */ this._parsed = /* @__PURE__ */ new Map();\n var _a, _b, _c;\n this._headers = responseHeaders;\n const setCookie = (_c = (_b = (_a = responseHeaders.getSetCookie) == null ? void 0 : _a.call(responseHeaders)) != null ? _b : responseHeaders.get(\"set-cookie\")) != null ? _c : [];\n const cookieStrings = Array.isArray(setCookie) ? setCookie : splitCookiesString(setCookie);\n for (const cookieString of cookieStrings){\n const parsed = parseSetCookie(cookieString);\n if (parsed) this._parsed.set(parsed.name, parsed);\n }\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise.\n */ get(...args) {\n const key = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(key);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise.\n */ getAll(...args) {\n var _a;\n const all = Array.from(this._parsed.values());\n if (!args.length) {\n return all;\n }\n const key = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter((c)=>c.name === key);\n }\n has(name) {\n return this._parsed.has(name);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise.\n */ set(...args) {\n const [name, value, cookie] = args.length === 1 ? [\n args[0].name,\n args[0].value,\n args[0]\n ] : args;\n const map = this._parsed;\n map.set(name, normalizeCookie({\n name,\n value,\n ...cookie\n }));\n replace(map, this._headers);\n return this;\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise.\n */ delete(...args) {\n const [name, path, domain] = typeof args[0] === \"string\" ? [\n args[0]\n ] : [\n args[0].name,\n args[0].path,\n args[0].domain\n ];\n return this.set({\n name,\n path,\n domain,\n value: \"\",\n expires: /* @__PURE__ */ new Date(0)\n });\n }\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [\n ...this._parsed.values()\n ].map(stringifyCookie).join(\"; \");\n }\n};\nfunction replace(bag, headers) {\n headers.delete(\"set-cookie\");\n for (const [, value] of bag){\n const serialized = stringifyCookie(value);\n headers.append(\"set-cookie\", serialized);\n }\n}\nfunction normalizeCookie(cookie = {\n name: \"\",\n value: \"\"\n}) {\n if (typeof cookie.expires === \"number\") {\n cookie.expires = new Date(cookie.expires);\n }\n if (cookie.maxAge) {\n cookie.expires = new Date(Date.now() + cookie.maxAge * 1e3);\n }\n if (cookie.path === null || cookie.path === void 0) {\n cookie.path = \"/\";\n }\n return cookie;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (0);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvQGVkZ2UtcnVudGltZS9jb29raWVzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsSUFBSUEsWUFBWUMsT0FBT0MsY0FBYztBQUNyQyxJQUFJQyxtQkFBbUJGLE9BQU9HLHdCQUF3QjtBQUN0RCxJQUFJQyxvQkFBb0JKLE9BQU9LLG1CQUFtQjtBQUNsRCxJQUFJQyxlQUFlTixPQUFPTyxTQUFTLENBQUNDLGNBQWM7QUFDbEQsSUFBSUMsV0FBVyxDQUFDQyxRQUFRQztJQUN0QixJQUFLLElBQUlDLFFBQVFELElBQ2ZaLFVBQVVXLFFBQVFFLE1BQU07UUFBRUMsS0FBS0YsR0FBRyxDQUFDQyxLQUFLO1FBQUVFLFlBQVk7SUFBSztBQUMvRDtBQUNBLElBQUlDLGNBQWMsQ0FBQ0MsSUFBSUMsTUFBTUMsUUFBUUM7SUFDbkMsSUFBSUYsUUFBUSxPQUFPQSxTQUFTLFlBQVksT0FBT0EsU0FBUyxZQUFZO1FBQ2xFLEtBQUssSUFBSUcsT0FBT2hCLGtCQUFrQmEsTUFDaEMsSUFBSSxDQUFDWCxhQUFhZSxJQUFJLENBQUNMLElBQUlJLFFBQVFBLFFBQVFGLFFBQ3pDbkIsVUFBVWlCLElBQUlJLEtBQUs7WUFBRVAsS0FBSyxJQUFNSSxJQUFJLENBQUNHLElBQUk7WUFBRU4sWUFBWSxDQUFFSyxDQUFBQSxPQUFPakIsaUJBQWlCZSxNQUFNRyxJQUFHLEtBQU1ELEtBQUtMLFVBQVU7UUFBQztJQUN0SDtJQUNBLE9BQU9FO0FBQ1Q7QUFDQSxJQUFJTSxlQUFlLENBQUNDLE1BQVFSLFlBQVloQixVQUFVLENBQUMsR0FBRyxjQUFjO1FBQUV5QixPQUFPO0lBQUssSUFBSUQ7QUFFdEYsZUFBZTtBQUNmLElBQUlFLGNBQWMsQ0FBQztBQUNuQmhCLFNBQVNnQixhQUFhO0lBQ3BCQyxnQkFBZ0IsSUFBTUE7SUFDdEJDLGlCQUFpQixJQUFNQTtJQUN2QkMsYUFBYSxJQUFNQTtJQUNuQkMs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TUFBTUUsYUFBYXJHLGdCQUFnQk47UUFDbkMwRyxRQUFRRSxNQUFNLENBQUMsY0FBY0Q7SUFDL0I7QUFDRjtBQUNBLFNBQVNKLGdCQUFnQjdFLFNBQVM7SUFBRXRDLE1BQU07SUFBSVksT0FBTztBQUFHLENBQUM7SUFDdkQsSUFBSSxPQUFPMEIsT0FBT2IsT0FBTyxLQUFLLFVBQVU7UUFDdENhLE9BQU9iLE9BQU8sR0FBRyxJQUFJQyxLQUFLWSxPQUFPYixPQUFPO0lBQzFDO0lBQ0EsSUFBSWEsT0FBT1YsTUFBTSxFQUFFO1FBQ2pCVSxPQUFPYixPQUFPLEdBQUcsSUFBSUMsS0FBS0EsS0FBSytGLEdBQUcsS0FBS25GLE9BQU9WLE1BQU0sR0FBRztJQUN6RDtJQUNBLElBQUlVLE9BQU9kLElBQUksS0FBSyxRQUFRYyxPQUFPZCxJQUFJLEtBQUssS0FBSyxHQUFHO1FBQ2xEYyxPQUFPZCxJQUFJLEdBQUc7SUFDaEI7SUFDQSxPQUFPYztBQUNUO0FBQ0EsNkRBQTZEO0FBQzdELEtBQU1uQixDQUFBQSxDQU1OIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9AZWRnZS1ydW50aW1lL2Nvb2tpZXMvaW5kZXguanM/YzA5OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbnZhciBfX2RlZlByb3AgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG52YXIgX19nZXRPd25Qcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG52YXIgX19nZXRPd25Qcm9wTmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcztcbnZhciBfX2hhc093blByb3AgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIF9fZXhwb3J0ID0gKHRhcmdldCwgYWxsKSA9PiB7XG4gIGZvciAodmFyIG5hbWUgaW4gYWxsKVxuICAgIF9fZGVmUHJvcCh0YXJnZXQsIG5hbWUsIHsgZ2V0OiBhbGxbbmFtZV0sIGVudW1lcmFibGU6IHRydWUgfSk7XG59O1xudmFyIF9fY29weVByb3BzID0gKHRvLCBmcm9tLCBleGNlcHQsIGRlc2MpID0+IHtcbiAgaWYgKGZyb20gJiYgdHlwZW9mIGZyb20gPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGZyb20gPT09IFwiZnVuY3Rpb25cIikge1xuICAgIGZvciAobGV0IGtleSBvZiBfX2dldE93blByb3BOYW1lcyhmcm9tKSlcbiAgICAgIGlmICghX19oYXNPd25Qcm9wLmNhbGwodG8sIGtleSkgJiYga2V5ICE9PSBleGNlcHQpXG4gICAgICAgIF9fZGVmUHJvcCh0bywga2V5LCB7IGdldDogKCkgPT4gZnJvbVtrZXldLCBlbnVtZXJhYmxlOiAhKGRlc2MgPSBfX2dldE93blByb3BEZXNjKGZyb20sIGtleSkpIHx8IGRlc2MuZW51bWVyYWJsZSB9KTtcbiAgfVxuICByZXR1cm4gdG87XG59O1xudmFyIF9fdG9Db21tb25KUyA9IChtb2QpID0+IF9fY29weVByb3BzKF9fZGVmUHJvcCh7fSwgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSksIG1vZCk7XG5cbi8vIHNyYy9pbmRleC50c1xudmFyIHNyY19leHBvcnRzID0ge307XG5fX2V4cG9ydChzcmNfZXhwb3J0cywge1xuICBSZXF1ZXN0Q29va2llczogKCkgPT4gUmVxdWVzdENvb2tpZXMsXG4gIFJlc3BvbnNlQ29va2llczogKCkgPT4gUmVzcG9uc2VDb29raWVzLFxuICBwYXJzZUNvb2tpZTogKCkgPT4gcGFyc2VDb29raWUsXG4gIHBhcnNlU2V0Q29va2llOiAoKSA9PiBwYXJzZVNldENvb2tpZSxcbiAgc3RyaW5naWZ5Q29va2llOiAoKSA9PiBzdHJpbmdpZnlDb29raWVcbn0pO1xubW9kdWxlLmV4cG9ydHMgPSBfX3RvQ29tbW9uSlMoc3JjX2V4cG9ydHMpO1xuXG4vLyBzcmMvc2VyaWFsaXplLnRzXG5mdW5jdGlvbiBzdHJpbmdpZnlDb29raWUoYykge1xuICB2YXIgX2E7XG4gIGNvbnN0IGF0dHJzID0gW1xuICAgIFwicGF0aFwiIGluIGMgJiYgYy5wYXRoICYmIGBQYXRoPSR7Yy5wYXRofWAsXG4gICAgXCJleHBpcmVzXCIgaW4gYyAmJiAoYy5leHBpcmVzIHx8IGMuZXhwaXJlcyA9PT0gMCkgJiYgYEV4cGlyZXM9JHsodHlwZW9mIGMuZXhwaXJlcyA9PT0gXCJudW1iZXJcIiA/IG5ldyBEYXRlKGMuZXhwaXJlcykgOiBjLmV4cGlyZXMpLnRvVVRDU3RyaW5nKCl9YCxcbiAgICBcIm1heEFnZVwiIGluIGMgJiYgdHlwZW9mIGMubWF4QWdlID09PSBcIm51bWJlclwiICYmIGBNYXgtQWdlPSR7Yy5tYXhBZ2V9YCxcbiAgICBcImRvbWFpblwiIGluIGMgJiYgYy5kb21haW4gJiYgYERvbWFpbj0ke2MuZG9tYWlufWAsXG4gICAgXCJzZWN1cmVcIiBpbiBjICYmIGMuc2VjdXJlICYmIFwiU2VjdXJlXCIsXG4gICAgXCJodHRwT25seVwiIGluIGMgJiYgYy5odHRwT25seSAmJiBcIkh0dHBPbmx5XCIsXG4gICAgXCJzYW1lU2l0ZVwiIGluIGMgJiYgYy5zYW1lU2l0ZSAmJiBgU2FtZVNpdGU9JHtjLnNhbWVTaXRlfWAsXG4gICAgXCJwcmlvcml0eVwiIGluIGMgJiYgYy5wcmlvcml0eSAmJiBgUHJpb3JpdHk9JHtjLnByaW9yaXR5fWBcbiAgXS5maWx0ZXIoQm9vbGVhbik7XG4gIHJldHVybiBgJHtjLm5hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KChfYSA9IGMudmFsdWUpICE9IG51bGwgPyBfYSA6IFwiXCIpfTsgJHthdHRycy5qb2luKFwiOyBcIil9YDtcbn1cbmZ1bmN0aW9uIHBhcnNlQ29va2llKGNvb2tpZSkge1xuICBjb25zdCBtYXAgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuICBmb3IgKGNvbnN0IHBhaXIgb2YgY29va2llLnNwbGl0KC87ICovKSkge1xuICAgIGlmICghcGFpcilcbiAgICAgIGNvbnRpbnVlO1xuICAgIGNvbnN0IHNwbGl0QXQgPSBwYWlyLmluZGV4T2YoXCI9XCIpO1xuICAgIGlmIChzcGxpdEF0ID09PSAtMSkge1xuICAgICAgbWFwLnNldChwYWlyLCBcInRydWVcIik7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgW2tleSwgdmFsdWVdID0gW3BhaXIuc2xpY2UoMCwgc3BsaXRBdCksIHBhaXIuc2xpY2Uoc3BsaXRBdCArIDEpXTtcbiAgICB0cnkge1xuICAgICAgbWFwLnNldChrZXksIGRlY29kZVVSSUNvbXBvbmVudCh2YWx1ZSAhPSBudWxsID8gdmFsdWUgOiBcInRydWVcIikpO1xuICAgIH0gY2F0Y2gge1xuICAgIH1cbiAgfVxuICByZXR1cm4gbWFwO1xufVxuZnVuY3Rpb24gcGFyc2VTZXRDb29raWUoc2V0Q29va2llKSB7XG4gIGlmICghc2V0Q29va2llKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBjb25zdCBbW25hbWUsIHZhbHVlXSwgLi4uYXR0cmlidXRlc10gPSBwYXJzZUNvb2tpZShzZXRDb29raWUpO1xuICBjb25zdCB7XG4gICAgZG9tYWluLFxuICAgIGV4cGlyZXMsXG4gICAgaHR0cG9ubHksXG4gICAgbWF4YWdlLFxuICAgIHBhdGgsXG4gICAgc2FtZXNpdGUsXG4gICAgc2VjdXJlLFxuICAgIHByaW9yaXR5XG4gIH0gPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgYXR0cmlidXRlcy5tYXAoKFtrZXksIHZhbHVlMl0pID0+IFtrZXkudG9Mb3dlckNhc2UoKSwgdmFsdWUyXSlcbiAgKTtcbiAgY29uc3QgY29va2llID0ge1xuICAgIG5hbWUsXG4gICAgdmFsdWU6IGRlY29kZVVSSUNvbXBvbmVudCh2YWx1ZSksXG4gICAgZG9tYWluLFxuICAgIC4uLmV4cGlyZXMgJiYgeyBleHBpcmVzOiBuZXcgRGF0ZShleHBpcmVzKSB9LFxuICAgIC4uLmh0dHBvbmx5ICYmIHsgaHR0cE9ubHk6IHRydWUgfSxcbiAgICAuLi50eXBlb2YgbWF4YWdlID09PSBcInN0cmluZ1wiICYmIHsgbWF4QWdlOiBOdW1iZXIobWF4YWdlKSB9LFxuICAgIHBhdGgsXG4gICAgLi4uc2FtZXNpdGUgJiYgeyBzYW1lU2l0ZTogcGFyc2VTYW1lU2l0ZShzYW1lc2l0ZSkgfSxcbiAgICAuLi5zZWN1cmUgJiYgeyBzZWN1cmU6IHRydWUgfSxcbiAgICAuLi5wcmlvcml0eSAmJiB7IHByaW9yaXR5OiBwYXJzZVByaW9yaXR5KHByaW9yaXR5KSB9XG4gIH07XG4gIHJldHVybiBjb21wYWN0KGNvb2tpZSk7XG59XG5mdW5jdGlvbiBjb21wYWN0KHQpIHtcbiAgY29uc3QgbmV3VCA9IHt9O1xuICBmb3IgKGNvbnN0IGtleSBpbiB0KSB7XG4gICAgaWYgKHRba2V5XSkge1xuICAgICAgbmV3VFtrZXldID0gdFtrZXldO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbmV3VDtcbn1cbnZhciBTQU1FX1NJVEUgPSBbXCJzdHJpY3RcIiwgXCJsYXhcIiwgXCJub25lXCJdO1xuZnVuY3Rpb24gcGFyc2VTYW1lU2l0ZShzdHJpbmcpIHtcbiAgc3RyaW5nID0gc3RyaW5nLnRvTG93ZXJDYXNlKCk7XG4gIHJldHVybiBTQU1FX1NJVEUuaW5jbHVkZXMoc3RyaW5nKSA/IHN0cmluZyA6IHZvaWQgMDtcbn1cbnZhciBQUklPUklUWSA9IFtcImxvd1wiLCBcIm1lZGl1bVwiLCBcImhpZ2hcIl07XG5mdW5jdGlvbiBwYXJzZVByaW9yaXR5KHN0cmluZykge1xuICBzdHJpbmcgPSBzdHJpbmcudG9Mb3dlckNhc2UoKTtcbiAgcmV0dXJuIFBSSU9SSVRZLmluY2x1ZGVzKHN0cmluZykgPyBzdHJpbmcgOiB2b2lkIDA7XG59XG5mdW5jdGlvbiBzcGxpdENvb2tpZXNTdHJpbmcoY29va2llc1N0cmluZykge1xuICBpZiAoIWNvb2tpZXNTdHJpbmcpXG4gICAgcmV0dXJuIFtdO1xuICB2YXIgY29va2llc1N0cmluZ3MgPSBbXTtcbiAgdmFyIHBvcyA9IDA7XG4gIHZhciBzdGFydDtcbiAgdmFyIGNoO1xuICB2YXIgbGFzdENvbW1hO1xuICB2YXIgbmV4dFN0YXJ0O1xuICB2YXIgY29va2llc1NlcGFyYXRvckZvdW5kO1xuICBmdW5jdGlvbiBza2lwV2hpdGVzcGFjZSgpIHtcbiAgICB3aGlsZSAocG9zIDwgY29va2llc1N0cmluZy5sZW5ndGggJiYgL1xccy8udGVzdChjb29raWVzU3RyaW5nLmNoYXJBdChwb3MpKSkge1xuICAgICAgcG9zICs9IDE7XG4gICAgfVxuICAgIHJldHVybiBwb3MgPCBjb29raWVzU3RyaW5nLmxlbmd0aDtcbiAgfVxuICBmdW5jdGlvbiBub3RTcGVjaWFsQ2hhcigpIHtcbiAgICBjaCA9IGNvb2tpZXNTdHJpbmcuY2hhckF0KHBvcyk7XG4gICAgcmV0dXJuIGNoICE9PSBcIj1cIiAmJiBjaCAhPT0gXCI7XCIgJiYgY2ggIT09IFwiLFwiO1xuICB9XG4gIHdoaWxlIChwb3MgPCBjb29raWVzU3RyaW5nLmxlbmd0aCkge1xuICAgIHN0YXJ0ID0gcG9zO1xuICAgIGNvb2tpZXNTZXBhcmF0b3JGb3VuZCA9IGZhbHNlO1xuICAgIHdoaWxlIChza2lwV2hpdGVzcGFjZSgpKSB7XG4gICAgICBjaCA9IGNvb2tpZXNTdHJpbmcuY2hhckF0KHBvcyk7XG4gICAgICBpZiAoY2ggPT09IFwiLFwiKSB7XG4gICAgICAgIGxhc3RDb21tYSA9IHBvcztcbiAgICAgICAgcG9zICs9IDE7XG4gICAgICAgIHNraXBXaGl0ZXNwYWNlKCk7XG4gICAgICAgIG5leHRTdGFydCA9IHBvcztcbiAgICAgICAgd2hpbGUgKHBvcyA8IGNvb2tpZXNTdHJpbmcubGVuZ3RoICYmIG5vdFNwZWNpYWxDaGFyKCkpIHtcbiAgICAgICAgICBwb3MgKz0gMTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocG9zIDwgY29va2llc1N0cmluZy5sZW5ndGggJiYgY29va2llc1N0cmluZy5jaGFyQXQocG9zKSA9PT0gXCI9XCIpIHtcbiAgICAgICAgICBjb29raWVzU2VwYXJhdG9yRm91bmQgPSB0cnVlO1xuICAgICAgICAgIHBvcyA9IG5leHRTdGFydDtcbiAgICAgICAgICBjb29raWVzU3RyaW5ncy5wdXNoKGNvb2tpZXNTdHJpbmcuc3Vic3RyaW5nKHN0YXJ0LCBsYXN0Q29tbWEpKTtcbiAgICAgICAgICBzdGFydCA9IHBvcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwb3MgPSBsYXN0Q29tbWEgKyAxO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwb3MgKz0gMTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFjb29raWVzU2VwYXJhdG9yRm91bmQgfHwgcG9zID49IGNvb2tpZXNTdHJpbmcubGVuZ3RoKSB7XG4gICAgICBjb29raWVzU3RyaW5ncy5wdXNoKGNvb2tpZXNTdHJpbmcuc3Vic3RyaW5nKHN0YXJ0LCBjb29raWVzU3RyaW5nLmxlbmd0aCkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gY29va2llc1N0cmluZ3M7XG59XG5cbi8vIHNyYy9yZXF1ZXN0LWNvb2tpZXMudHNcbnZhciBSZXF1ZXN0Q29va2llcyA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3IocmVxdWVzdEhlYWRlcnMpIHtcbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5fcGFyc2VkID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgICB0aGlzLl9oZWFkZXJzID0gcmVxdWVzdEhlYWRlcnM7XG4gICAgY29uc3QgaGVhZGVyID0gcmVxdWVzdEhlYWRlcnMuZ2V0KFwiY29va2llXCIpO1xuICAgIGlmIChoZWFkZXIpIHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlQ29va2llKGhlYWRlcik7XG4gICAgICBmb3IgKGNvbnN0IFtuYW1lLCB2YWx1ZV0gb2YgcGFyc2VkKSB7XG4gICAgICAgIHRoaXMuX3BhcnNlZC5zZXQobmFtZSwgeyBuYW1lLCB2YWx1ZSB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnNlZFtTeW1ib2wuaXRlcmF0b3JdKCk7XG4gIH1cbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgY29va2llcyByZWNlaXZlZCBmcm9tIHRoZSBjbGllbnRcbiAgICovXG4gIGdldCBzaXplKCkge1xuICAgIHJldHVybiB0aGlzLl9wYXJzZWQuc2l6ZTtcbiAgfVxuICBnZXQoLi4uYXJncykge1xuICAgIGNvbnN0IG5hbWUgPSB0eXBlb2YgYXJnc1swXSA9PT0gXCJzdHJpbmdcIiA/IGFyZ3NbMF0gOiBhcmdzWzBdLm5hbWU7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnNlZC5nZXQobmFtZSk7XG4gIH1cbiAgZ2V0QWxsKC4uLmFyZ3MpIHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgYWxsID0gQXJyYXkuZnJvbSh0aGlzLl9wYXJzZWQpO1xuICAgIGlmICghYXJncy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBhbGwubWFwKChbXywgdmFsdWVdKSA9PiB2YWx1ZSk7XG4gICAgfVxuICAgIGNvbnN0IG5hbWUgPSB0eXBlb2YgYXJnc1swXSA9PT0gXCJzdHJpbmdcIiA/IGFyZ3NbMF0gOiAoX2EgPSBhcmdzWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX2EubmFtZTtcbiAgICByZXR1cm4gYWxsLmZpbHRlcigoW25dKSA9PiBuID09PSBuYW1lKS5tYXAoKFtfLCB2YWx1ZV0pID0+IHZhbHVlKTtcbiAgfVxuICBoYXMobmFtZSkge1xuICAgIHJldHVybiB0aGlzLl9wYXJzZWQuaGFzKG5hbWUpO1xuICB9XG4gIHNldCguLi5hcmdzKSB7XG4gICAgY29uc3QgW25hbWUsIHZhbHVlXSA9IGFyZ3MubGVuZ3RoID09PSAxID8gW2FyZ3NbMF0ubmFtZSwgYXJnc1swXS52YWx1ZV0gOiBhcmdzO1xuICAgIGNvbnN0IG1hcCA9IHRoaXMuX3BhcnNlZDtcbiAgICBtYXAuc2V0KG5hbWUsIHsgbmFtZSwgdmFsdWUgfSk7XG4gICAgdGhpcy5faGVhZGVycy5zZXQoXG4gICAgICBcImNvb2tpZVwiLFxuICAgICAgQXJyYXkuZnJvbShtYXApLm1hcCgoW18sIHZhbHVlMl0pID0+IHN0cmluZ2lmeUNvb2tpZSh2YWx1ZTIpKS5qb2luKFwiOyBcIilcbiAgICApO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIC8qKlxuICAgKiBEZWxldGUgdGhlIGNvb2tpZXMgbWF0Y2hpbmcgdGhlIHBhc3NlZCBuYW1lIG9yIG5hbWVzIGluIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgZGVsZXRlKG5hbWVzKSB7XG4gICAgY29uc3QgbWFwID0gdGhpcy5fcGFyc2VkO1xuICAgIGNvbnN0IHJlc3VsdCA9ICFBcnJheS5pc0FycmF5KG5hbWVzKSA/IG1hcC5kZWxldGUobmFtZXMpIDogbmFtZXMubWFwKChuYW1lKSA9PiBtYXAuZGVsZXRlKG5hbWUpKTtcbiAgICB0aGlzLl9oZWFkZXJzLnNldChcbiAgICAgIFwiY29va2llXCIsXG4gICAgICBBcnJheS5mcm9tKG1hcCkubWFwKChbXywgdmFsdWVdKSA9PiBzdHJpbmdpZnlDb29raWUodmFsdWUpKS5qb2luKFwiOyBcIilcbiAgICApO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgLyoqXG4gICAqIERlbGV0ZSBhbGwgdGhlIGNvb2tpZXMgaW4gdGhlIGNvb2tpZXMgaW4gdGhlIHJlcXVlc3QuXG4gICAqL1xuICBjbGVhcigpIHtcbiAgICB0aGlzLmRlbGV0ZShBcnJheS5mcm9tKHRoaXMuX3BhcnNlZC5rZXlzKCkpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuICAvKipcbiAgICogRm9ybWF0IHRoZSBjb29raWVzIGluIHRoZSByZXF1ZXN0IGFzIGEgc3RyaW5nIGZvciBsb2dnaW5nXG4gICAqL1xuICBbU3ltYm9sLmZvcihcImVkZ2UtcnVudGltZS5pbnNwZWN0LmN1c3RvbVwiKV0oKSB7XG4gICAgcmV0dXJuIGBSZXF1ZXN0Q29va2llcyAke0pTT04uc3RyaW5naWZ5KE9iamVjdC5mcm9tRW50cmllcyh0aGlzLl9wYXJzZWQpKX1gO1xuICB9XG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiBbLi4udGhpcy5fcGFyc2VkLnZhbHVlcygpXS5tYXAoKHYpID0+IGAke3YubmFtZX09JHtlbmNvZGVVUklDb21wb25lbnQodi52YWx1ZSl9YCkuam9pbihcIjsgXCIpO1xuICB9XG59O1xuXG4vLyBzcmMvcmVzcG9uc2UtY29va2llcy50c1xudmFyIFJlc3BvbnNlQ29va2llcyA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3IocmVzcG9uc2VIZWFkZXJzKSB7XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHRoaXMuX3BhcnNlZCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgdGhpcy5faGVhZGVycyA9IHJlc3BvbnNlSGVhZGVycztcbiAgICBjb25zdCBzZXRDb29raWUgPSAoX2MgPSAoX2IgPSAoX2EgPSByZXNwb25zZUhlYWRlcnMuZ2V0U2V0Q29va2llKSA9PSBudWxsID8gdm9pZCAwIDogX2EuY2FsbChyZXNwb25zZUhlYWRlcnMpKSAhPSBudWxsID8gX2IgOiByZXNwb25zZUhlYWRlcnMuZ2V0KFwic2V0LWNvb2tpZVwiKSkgIT0gbnVsbCA/IF9jIDogW107XG4gICAgY29uc3QgY29va2llU3RyaW5ncyA9IEFycmF5LmlzQXJyYXkoc2V0Q29va2llKSA/IHNldENvb2tpZSA6IHNwbGl0Q29va2llc1N0cmluZyhzZXRDb29raWUpO1xuICAgIGZvciAoY29uc3QgY29va2llU3RyaW5nIG9mIGNvb2tpZVN0cmluZ3MpIHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlU2V0Q29va2llKGNvb2tpZVN0cmluZyk7XG4gICAgICBpZiAocGFyc2VkKVxuICAgICAgICB0aGlzLl9wYXJzZWQuc2V0KHBhcnNlZC5uYW1lLCBwYXJzZWQpO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICoge0BsaW5rIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vY29va2llLXN0b3JlLyNDb29raWVTdG9yZS1nZXQgQ29va2llU3RvcmUjZ2V0fSB3aXRob3V0IHRoZSBQcm9taXNlLlxuICAgKi9cbiAgZ2V0KC4uLmFyZ3MpIHtcbiAgICBjb25zdCBrZXkgPSB0eXBlb2YgYXJnc1swXSA9PT0gXCJzdHJpbmdcIiA/IGFyZ3NbMF0gOiBhcmdzWzBdLm5hbWU7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnNlZC5nZXQoa2V5KTtcbiAgfVxuICAvKipcbiAgICoge0BsaW5rIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vY29va2llLXN0b3JlLyNDb29raWVTdG9yZS1nZXRBbGwgQ29va2llU3RvcmUjZ2V0QWxsfSB3aXRob3V0IHRoZSBQcm9taXNlLlxuICAgKi9cbiAgZ2V0QWxsKC4uLmFyZ3MpIHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgYWxsID0gQXJyYXkuZnJvbSh0aGlzLl9wYXJzZWQudmFsdWVzKCkpO1xuICAgIGlmICghYXJncy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBhbGw7XG4gICAgfVxuICAgIGNvbnN0IGtleSA9IHR5cGVvZiBhcmdzWzBdID09PSBcInN0cmluZ1wiID8gYXJnc1swXSA6IChfYSA9IGFyZ3NbMF0pID09IG51bGwgPyB2b2lkIDAgOiBfYS5uYW1lO1xuICAgIHJldHVybiBhbGwuZmlsdGVyKChjKSA9PiBjLm5hbWUgPT09IGtleSk7XG4gIH1cbiAgaGFzKG5hbWUpIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyc2VkLmhhcyhuYW1lKTtcbiAgfVxuICAvKipcbiAgICoge0BsaW5rIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vY29va2llLXN0b3JlLyNDb29raWVTdG9yZS1zZXQgQ29va2llU3RvcmUjc2V0fSB3aXRob3V0IHRoZSBQcm9taXNlLlxuICAgKi9cbiAgc2V0KC4uLmFyZ3MpIHtcbiAgICBjb25zdCBbbmFtZSwgdmFsdWUsIGNvb2tpZV0gPSBhcmdzLmxlbmd0aCA9PT0gMSA/IFthcmdzWzBdLm5hbWUsIGFyZ3NbMF0udmFsdWUsIGFyZ3NbMF1dIDogYXJncztcbiAgICBjb25zdCBtYXAgPSB0aGlzLl9wYXJzZWQ7XG4gICAgbWFwLnNldChuYW1lLCBub3JtYWxpemVDb29raWUoeyBuYW1lLCB2YWx1ZSwgLi4uY29va2llIH0pKTtcbiAgICByZXBsYWNlKG1hcCwgdGhpcy5faGVhZGVycyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgLyoqXG4gICAqIHtAbGluayBodHRwczovL3dpY2cuZ2l0aHViLmlvL2Nvb2tpZS1zdG9yZS8jQ29va2llU3RvcmUtZGVsZXRlIENvb2tpZVN0b3JlI2RlbGV0ZX0gd2l0aG91dCB0aGUgUHJvbWlzZS5cbiAgICovXG4gIGRlbGV0ZSguLi5hcmdzKSB7XG4gICAgY29uc3QgW25hbWUsIHBhdGgsIGRvbWFpbl0gPSB0eXBlb2YgYXJnc1swXSA9PT0gXCJzdHJpbmdcIiA/IFthcmdzWzBdXSA6IFthcmdzWzBdLm5hbWUsIGFyZ3NbMF0ucGF0aCwgYXJnc1swXS5kb21haW5dO1xuICAgIHJldHVybiB0aGlzLnNldCh7IG5hbWUsIHBhdGgsIGRvbWFpbiwgdmFsdWU6IFwiXCIsIGV4cGlyZXM6IC8qIEBfX1BVUkVfXyAqLyBuZXcgRGF0ZSgwKSB9KTtcbiAgfVxuICBbU3ltYm9sLmZvcihcImVkZ2UtcnVudGltZS5pbnNwZWN0LmN1c3RvbVwiKV0oKSB7XG4gICAgcmV0dXJuIGBSZXNwb25zZUNvb2tpZXMgJHtKU09OLnN0cmluZ2lmeShPYmplY3QuZnJvbUVudHJpZXModGhpcy5fcGFyc2VkKSl9YDtcbiAgfVxuICB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuX3BhcnNlZC52YWx1ZXMoKV0ubWFwKHN0cmluZ2lmeUNvb2tpZSkuam9pbihcIjsgXCIpO1xuICB9XG59O1xuZnVuY3Rpb24gcmVwbGFjZShiYWcsIGhlYWRlcnMpIHtcbiAgaGVhZGVycy5kZWxldGUoXCJzZXQtY29va2llXCIpO1xuICBmb3IgKGNvbnN0IFssIHZhbHVlXSBvZiBiYWcpIHtcbiAgICBjb25zdCBzZXJpYWxpemVkID0gc3RyaW5naWZ5Q29va2llKHZhbHVlKTtcbiAgICBoZWFkZXJzLmFwcGVuZChcInNldC1jb29raWVcIiwgc2VyaWFsaXplZCk7XG4gIH1cbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZUNvb2tpZShjb29raWUgPSB7IG5hbWU6IFwiXCIsIHZhbHVlOiBcIlwiIH0pIHtcbiAgaWYgKHR5cGVvZiBjb29raWUuZXhwaXJlcyA9PT0gXCJudW1iZXJcIikge1xuICAgIGNvb2tpZS5leHBpcmVzID0gbmV3IERhdGUoY29va2llLmV4cGlyZXMpO1xuICB9XG4gIGlmIChjb29raWUubWF4QWdlKSB7XG4gICAgY29va2llLmV4cGlyZXMgPSBuZXcgRGF0ZShEYXRlLm5vdygpICsgY29va2llLm1heEFnZSAqIDFlMyk7XG4gIH1cbiAgaWYgKGNvb2tpZS5wYXRoID09PSBudWxsIHx8IGNvb2tpZS5wYXRoID09PSB2b2lkIDApIHtcbiAgICBjb29raWUucGF0aCA9IFwiL1wiO1xuICB9XG4gIHJldHVybiBjb29raWU7XG59XG4vLyBBbm5vdGF0ZSB0aGUgQ29tbW9uSlMgZXhwb3J0IG5hbWVzIGZvciBFU00gaW1wb3J0IGluIG5vZGU6XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgUmVxdWVzdENvb2tpZXMsXG4gIFJlc3BvbnNlQ29va2llcyxcbiAgcGFyc2VDb29raWUsXG4gIHBhcnNlU2V0Q29va2llLFxuICBzdHJpbmdpZnlDb29raWVcbn0pO1xuIl0sIm5hbWVzIjpbIl9fZGVmUHJvcCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiX19nZXRPd25Qcm9wRGVzYyIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9fZ2V0T3duUHJvcE5hbWVzIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsIl9faGFzT3duUHJvcCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiX19leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZ2V0IiwiZW51bWVyYWJsZSIsIl9fY29weVByb3BzIiwidG8iLCJmcm9tIiwiZXhjZXB0IiwiZGVzYyIsImtleSIsImNhbGwiLCJfX3RvQ29tbW9uSlMiLCJtb2QiLCJ2YWx1ZSIsInNyY19leHBvcnRzIiwiUmVxdWVzdENvb2tpZXMiLCJSZXNwb25zZUNvb2tpZXMiLCJwYXJzZUNvb2tpZSIsInBhcnNlU2V0Q29va2llIiwic3RyaW5naWZ5Q29va2llIiwibW9kdWxlIiwiZXhwb3J0cyIsImMiLCJfYSIsImF0dHJzIiwicGF0aCIsImV4cGlyZXMiLCJEYXRlIiwidG9VVENTdHJpbmciLCJtYXhBZ2UiLCJkb21haW4iLCJzZWN1cmUiLCJodHRwT25seSIsInNhbWVTaXRlIiwicHJpb3JpdHkiLCJmaWx0ZXIiLCJCb29sZWFuIiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwiam9pbiIsImNvb2tpZSIsIm1hcCIsIk1hcCIsInBhaXIiLCJzcGxpdCIsInNwbGl0QXQiLCJpbmRleE9mIiwic2V0Iiwic2xpY2UiLCJkZWNvZGVVUklDb21wb25lbnQiLCJzZXRDb29raWUiLCJhdHRyaWJ1dGVzIiwiaHR0cG9ubHkiLCJtYXhhZ2UiLCJzYW1lc2l0ZSIsImZyb21FbnRyaWVzIiwidmFsdWUyIiwidG9Mb3dlckNhc2UiLCJOdW1iZXIiLCJwYXJzZVNhbWVTaXRlIiwicGFyc2VQcmlvcml0eSIsImNvbXBhY3QiLCJ0IiwibmV3VCIsIlNBTUVfU0lURSIsInN0cmluZyIsImluY2x1ZGVzIiwiUFJJT1JJVFkiLCJzcGxpdENvb2tpZXNTdHJpbmciLCJjb29raWVzU3RyaW5nIiwiY29va2llc1N0cmluZ3MiLCJwb3MiLCJzdGFydCIsImNoIiwibGFzdENvbW1hIiwibmV4dFN0YXJ0IiwiY29va2llc1NlcGFyYXRvckZvdW5kIiwic2tpcFdoaXRlc3BhY2UiLCJsZW5ndGgiLCJ0ZXN0IiwiY2hhckF0Iiwibm90U3BlY2lhbENoYXIiLCJwdXNoIiwic3Vic3RyaW5nIiwiY29uc3RydWN0b3IiLCJyZXF1ZXN0SGVhZGVycyIsIl9wYXJzZWQiLCJfaGVhZGVycyIsImhlYWRlciIsInBhcnNlZCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwic2l6ZSIsImFyZ3MiLCJnZXRBbGwiLCJBcnJheSIsIl8iLCJuIiwiaGFzIiwiZGVsZXRlIiwibmFtZXMiLCJyZXN1bHQiLCJpc0FycmF5IiwiY2xlYXIiLCJrZXlzIiwiZm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsInRvU3RyaW5nIiwidmFsdWVzIiwidiIsInJlc3BvbnNlSGVhZGVycyIsIl9iIiwiX2MiLCJnZXRTZXRDb29raWUiLCJjb29raWVTdHJpbmdzIiwiY29va2llU3RyaW5nIiwibm9ybWFsaXplQ29va2llIiwicmVwbGFjZSIsImJhZyIsImhlYWRlcnMiLCJzZXJpYWxpemVkIiwiYXBwZW5kIiwibm93Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js ***! \************************************************************************/ /***/ ((module) => { "use strict"; eval("\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all)=>{\n for(var name in all)__defProp(target, name, {\n get: all[name],\n enumerable: true\n });\n};\nvar __copyProps = (to, from, except, desc)=>{\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n get: ()=>from[key],\n enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n });\n }\n return to;\n};\nvar __toCommonJS = (mod)=>__copyProps(__defProp({}, \"__esModule\", {\n value: true\n }), mod);\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n RequestCookies: ()=>RequestCookies,\n ResponseCookies: ()=>ResponseCookies,\n parseCookie: ()=>parseCookie,\n parseSetCookie: ()=>parseSetCookie,\n stringifyCookie: ()=>stringifyCookie\n});\nmodule.exports = __toCommonJS(src_exports);\n// src/serialize.ts\nfunction stringifyCookie(c) {\n var _a;\n const attrs = [\n \"path\" in c && c.path && `Path=${c.path}`,\n \"expires\" in c && (c.expires || c.expires === 0) && `Expires=${(typeof c.expires === \"number\" ? new Date(c.expires) : c.expires).toUTCString()}`,\n \"maxAge\" in c && typeof c.maxAge === \"number\" && `Max-Age=${c.maxAge}`,\n \"domain\" in c && c.domain && `Domain=${c.domain}`,\n \"secure\" in c && c.secure && \"Secure\",\n \"httpOnly\" in c && c.httpOnly && \"HttpOnly\",\n \"sameSite\" in c && c.sameSite && `SameSite=${c.sameSite}`,\n \"priority\" in c && c.priority && `Priority=${c.priority}`\n ].filter(Boolean);\n return `${c.name}=${encodeURIComponent((_a = c.value) != null ? _a : \"\")}; ${attrs.join(\"; \")}`;\n}\nfunction parseCookie(cookie) {\n const map = /* @__PURE__ */ new Map();\n for (const pair of cookie.split(/; */)){\n if (!pair) continue;\n const splitAt = pair.indexOf(\"=\");\n if (splitAt === -1) {\n map.set(pair, \"true\");\n continue;\n }\n const [key, value] = [\n pair.slice(0, splitAt),\n pair.slice(splitAt + 1)\n ];\n try {\n map.set(key, decodeURIComponent(value != null ? value : \"true\"));\n } catch {}\n }\n return map;\n}\nfunction parseSetCookie(setCookie) {\n if (!setCookie) {\n return void 0;\n }\n const [[name, value], ...attributes] = parseCookie(setCookie);\n const { domain, expires, httponly, maxage, path, samesite, secure, priority } = Object.fromEntries(attributes.map(([key, value2])=>[\n key.toLowerCase(),\n value2\n ]));\n const cookie = {\n name,\n value: decodeURIComponent(value),\n domain,\n ...expires && {\n expires: new Date(expires)\n },\n ...httponly && {\n httpOnly: true\n },\n ...typeof maxage === \"string\" && {\n maxAge: Number(maxage)\n },\n path,\n ...samesite && {\n sameSite: parseSameSite(samesite)\n },\n ...secure && {\n secure: true\n },\n ...priority && {\n priority: parsePriority(priority)\n }\n };\n return compact(cookie);\n}\nfunction compact(t) {\n const newT = {};\n for(const key in t){\n if (t[key]) {\n newT[key] = t[key];\n }\n }\n return newT;\n}\nvar SAME_SITE = [\n \"strict\",\n \"lax\",\n \"none\"\n];\nfunction parseSameSite(string) {\n string = string.toLowerCase();\n return SAME_SITE.includes(string) ? string : void 0;\n}\nvar PRIORITY = [\n \"low\",\n \"medium\",\n \"high\"\n];\nfunction parsePriority(string) {\n string = string.toLowerCase();\n return PRIORITY.includes(string) ? string : void 0;\n}\nfunction splitCookiesString(cookiesString) {\n if (!cookiesString) return [];\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n function skipWhitespace() {\n while(pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))){\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n while(pos < cookiesString.length){\n start = pos;\n cookiesSeparatorFound = false;\n while(skipWhitespace()){\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n lastComma = pos;\n pos += 1;\n skipWhitespace();\n nextStart = pos;\n while(pos < cookiesString.length && notSpecialChar()){\n pos += 1;\n }\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n cookiesSeparatorFound = true;\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n return cookiesStrings;\n}\n// src/request-cookies.ts\nvar RequestCookies = class {\n constructor(requestHeaders){\n /** @internal */ this._parsed = /* @__PURE__ */ new Map();\n this._headers = requestHeaders;\n const header = requestHeaders.get(\"cookie\");\n if (header) {\n const parsed = parseCookie(header);\n for (const [name, value] of parsed){\n this._parsed.set(name, {\n name,\n value\n });\n }\n }\n }\n [Symbol.iterator]() {\n return this._parsed[Symbol.iterator]();\n }\n /**\n * The amount of cookies received from the client\n */ get size() {\n return this._parsed.size;\n }\n get(...args) {\n const name = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(name);\n }\n getAll(...args) {\n var _a;\n const all = Array.from(this._parsed);\n if (!args.length) {\n return all.map(([_, value])=>value);\n }\n const name = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter(([n])=>n === name).map(([_, value])=>value);\n }\n has(name) {\n return this._parsed.has(name);\n }\n set(...args) {\n const [name, value] = args.length === 1 ? [\n args[0].name,\n args[0].value\n ] : args;\n const map = this._parsed;\n map.set(name, {\n name,\n value\n });\n this._headers.set(\"cookie\", Array.from(map).map(([_, value2])=>stringifyCookie(value2)).join(\"; \"));\n return this;\n }\n /**\n * Delete the cookies matching the passed name or names in the request.\n */ delete(names) {\n const map = this._parsed;\n const result = !Array.isArray(names) ? map.delete(names) : names.map((name)=>map.delete(name));\n this._headers.set(\"cookie\", Array.from(map).map(([_, value])=>stringifyCookie(value)).join(\"; \"));\n return result;\n }\n /**\n * Delete all the cookies in the cookies in the request.\n */ clear() {\n this.delete(Array.from(this._parsed.keys()));\n return this;\n }\n /**\n * Format the cookies in the request as a string for logging\n */ [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [\n ...this._parsed.values()\n ].map((v)=>`${v.name}=${encodeURIComponent(v.value)}`).join(\"; \");\n }\n};\n// src/response-cookies.ts\nvar ResponseCookies = class {\n constructor(responseHeaders){\n /** @internal */ this._parsed = /* @__PURE__ */ new Map();\n var _a, _b, _c;\n this._headers = responseHeaders;\n const setCookie = (_c = (_b = (_a = responseHeaders.getSetCookie) == null ? void 0 : _a.call(responseHeaders)) != null ? _b : responseHeaders.get(\"set-cookie\")) != null ? _c : [];\n const cookieStrings = Array.isArray(setCookie) ? setCookie : splitCookiesString(setCookie);\n for (const cookieString of cookieStrings){\n const parsed = parseSetCookie(cookieString);\n if (parsed) this._parsed.set(parsed.name, parsed);\n }\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise.\n */ get(...args) {\n const key = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(key);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise.\n */ getAll(...args) {\n var _a;\n const all = Array.from(this._parsed.values());\n if (!args.length) {\n return all;\n }\n const key = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter((c)=>c.name === key);\n }\n has(name) {\n return this._parsed.has(name);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise.\n */ set(...args) {\n const [name, value, cookie] = args.length === 1 ? [\n args[0].name,\n args[0].value,\n args[0]\n ] : args;\n const map = this._parsed;\n map.set(name, normalizeCookie({\n name,\n value,\n ...cookie\n }));\n replace(map, this._headers);\n return this;\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise.\n */ delete(...args) {\n const [name, path, domain] = typeof args[0] === \"string\" ? [\n args[0]\n ] : [\n args[0].name,\n args[0].path,\n args[0].domain\n ];\n return this.set({\n name,\n path,\n domain,\n value: \"\",\n expires: /* @__PURE__ */ new Date(0)\n });\n }\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [\n ...this._parsed.values()\n ].map(stringifyCookie).join(\"; \");\n }\n};\nfunction replace(bag, headers) {\n headers.delete(\"set-cookie\");\n for (const [, value] of bag){\n const serialized = stringifyCookie(value);\n headers.append(\"set-cookie\", serialized);\n }\n}\nfunction normalizeCookie(cookie = {\n name: \"\",\n value: \"\"\n}) {\n if (typeof cookie.expires === \"number\") {\n cookie.expires = new Date(cookie.expires);\n }\n if (cookie.maxAge) {\n cookie.expires = new Date(Date.now() + cookie.maxAge * 1e3);\n }\n if (cookie.path === null || cookie.path === void 0) {\n cookie.path = \"/\";\n }\n return cookie;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (0);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BlZGdlLXJ1bnRpbWUvY29va2llcy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLElBQUlBLFlBQVlDLE9BQU9DLGNBQWM7QUFDckMsSUFBSUMsbUJBQW1CRixPQUFPRyx3QkFBd0I7QUFDdEQsSUFBSUMsb0JBQW9CSixPQUFPSyxtQkFBbUI7QUFDbEQsSUFBSUMsZUFBZU4sT0FBT08sU0FBUyxDQUFDQyxjQUFjO0FBQ2xELElBQUlDLFdBQVcsQ0FBQ0MsUUFBUUM7SUFDdEIsSUFBSyxJQUFJQyxRQUFRRCxJQUNmWixVQUFVVyxRQUFRRSxNQUFNO1FBQUVDLEtBQUtGLEdBQUcsQ0FBQ0MsS0FBSztRQUFFRSxZQUFZO0lBQUs7QUFDL0Q7QUFDQSxJQUFJQyxjQUFjLENBQUNDLElBQUlDLE1BQU1DLFFBQVFDO0lBQ25DLElBQUlGLFFBQVEsT0FBT0EsU0FBUyxZQUFZLE9BQU9BLFNBQVMsWUFBWTtRQUNsRSxLQUFLLElBQUlHLE9BQU9oQixrQkFBa0JhLE1BQ2hDLElBQUksQ0FBQ1gsYUFBYWUsSUFBSSxDQUFDTCxJQUFJSSxRQUFRQSxRQUFRRixRQUN6Q25CLFVBQVVpQixJQUFJSSxLQUFLO1lBQUVQLEtBQUssSUFBTUksSUFBSSxDQUFDRyxJQUFJO1lBQUVOLFlBQVksQ0FBRUssQ0FBQUEsT0FBT2pCLGlCQUFpQmUsTUFBTUcsSUFBRyxLQUFNRCxLQUFLTCxVQUFVO1FBQUM7SUFDdEg7SUFDQSxPQUFPRTtBQUNUO0FBQ0EsSUFBSU0sZUFBZSxDQUFDQyxNQUFRUixZQUFZaEIsVUFBVSxDQUFDLEdBQUcsY0FBYztRQUFFeUIsT0FBTztJQUFLLElBQUlEO0FBRXRGLGVBQWU7QUFDZixJQUFJRSxjQUFjLENBQUM7QUFDbkJoQixTQUFTZ0IsYUFBYTtJQUNwQkMsZ0JBQWdCLElBQU1BO0lBQ3RCQyxpQkFBaUIsSUFBTUE7SUFDdkJDLGFBQWEsSUFBTUE7SUFD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QzNCLE1BQU1FLGFBQWFyRyxnQkFBZ0JOO1FBQ25DMEcsUUFBUUUsTUFBTSxDQUFDLGNBQWNEO0lBQy9CO0FBQ0Y7QUFDQSxTQUFTSixnQkFBZ0I3RSxTQUFTO0lBQUV0QyxNQUFNO0lBQUlZLE9BQU87QUFBRyxDQUFDO0lBQ3ZELElBQUksT0FBTzBCLE9BQU9iLE9BQU8sS0FBSyxVQUFVO1FBQ3RDYSxPQUFPYixPQUFPLEdBQUcsSUFBSUMsS0FBS1ksT0FBT2IsT0FBTztJQUMxQztJQUNBLElBQUlhLE9BQU9WLE1BQU0sRUFBRTtRQUNqQlUsT0FBT2IsT0FBTyxHQUFHLElBQUlDLEtBQUtBLEtBQUsrRixHQUFHLEtBQUtuRixPQUFPVixNQUFNLEdBQUc7SUFDekQ7SUFDQSxJQUFJVSxPQUFPZCxJQUFJLEtBQUssUUFBUWMsT0FBT2QsSUFBSSxLQUFLLEtBQUssR0FBRztRQUNsRGMsT0FBT2QsSUFBSSxHQUFHO0lBQ2hCO0lBQ0EsT0FBT2M7QUFDVDtBQUNBLDZEQUE2RDtBQUM3RCxLQUFNbkIsQ0FBQUEsQ0FNTiIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvQGVkZ2UtcnVudGltZS9jb29raWVzL2luZGV4LmpzP2MwOTkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG52YXIgX19kZWZQcm9wID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIF9fZ2V0T3duUHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xudmFyIF9fZ2V0T3duUHJvcE5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7XG52YXIgX19oYXNPd25Qcm9wID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbnZhciBfX2V4cG9ydCA9ICh0YXJnZXQsIGFsbCkgPT4ge1xuICBmb3IgKHZhciBuYW1lIGluIGFsbClcbiAgICBfX2RlZlByb3AodGFyZ2V0LCBuYW1lLCB7IGdldDogYWxsW25hbWVdLCBlbnVtZXJhYmxlOiB0cnVlIH0pO1xufTtcbnZhciBfX2NvcHlQcm9wcyA9ICh0bywgZnJvbSwgZXhjZXB0LCBkZXNjKSA9PiB7XG4gIGlmIChmcm9tICYmIHR5cGVvZiBmcm9tID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBmcm9tID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBmb3IgKGxldCBrZXkgb2YgX19nZXRPd25Qcm9wTmFtZXMoZnJvbSkpXG4gICAgICBpZiAoIV9faGFzT3duUHJvcC5jYWxsKHRvLCBrZXkpICYmIGtleSAhPT0gZXhjZXB0KVxuICAgICAgICBfX2RlZlByb3AodG8sIGtleSwgeyBnZXQ6ICgpID0+IGZyb21ba2V5XSwgZW51bWVyYWJsZTogIShkZXNjID0gX19nZXRPd25Qcm9wRGVzYyhmcm9tLCBrZXkpKSB8fCBkZXNjLmVudW1lcmFibGUgfSk7XG4gIH1cbiAgcmV0dXJuIHRvO1xufTtcbnZhciBfX3RvQ29tbW9uSlMgPSAobW9kKSA9PiBfX2NvcHlQcm9wcyhfX2RlZlByb3Aoe30sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pLCBtb2QpO1xuXG4vLyBzcmMvaW5kZXgudHNcbnZhciBzcmNfZXhwb3J0cyA9IHt9O1xuX19leHBvcnQoc3JjX2V4cG9ydHMsIHtcbiAgUmVxdWVzdENvb2tpZXM6ICgpID0+IFJlcXVlc3RDb29raWVzLFxuICBSZXNwb25zZUNvb2tpZXM6ICgpID0+IFJlc3BvbnNlQ29va2llcyxcbiAgcGFyc2VDb29raWU6ICgpID0+IHBhcnNlQ29va2llLFxuICBwYXJzZVNldENvb2tpZTogKCkgPT4gcGFyc2VTZXRDb29raWUsXG4gIHN0cmluZ2lmeUNvb2tpZTogKCkgPT4gc3RyaW5naWZ5Q29va2llXG59KTtcbm1vZHVsZS5leHBvcnRzID0gX190b0NvbW1vbkpTKHNyY19leHBvcnRzKTtcblxuLy8gc3JjL3NlcmlhbGl6ZS50c1xuZnVuY3Rpb24gc3RyaW5naWZ5Q29va2llKGMpIHtcbiAgdmFyIF9hO1xuICBjb25zdCBhdHRycyA9IFtcbiAgICBcInBhdGhcIiBpbiBjICYmIGMucGF0aCAmJiBgUGF0aD0ke2MucGF0aH1gLFxuICAgIFwiZXhwaXJlc1wiIGluIGMgJiYgKGMuZXhwaXJlcyB8fCBjLmV4cGlyZXMgPT09IDApICYmIGBFeHBpcmVzPSR7KHR5cGVvZiBjLmV4cGlyZXMgPT09IFwibnVtYmVyXCIgPyBuZXcgRGF0ZShjLmV4cGlyZXMpIDogYy5leHBpcmVzKS50b1VUQ1N0cmluZygpfWAsXG4gICAgXCJtYXhBZ2VcIiBpbiBjICYmIHR5cGVvZiBjLm1heEFnZSA9PT0gXCJudW1iZXJcIiAmJiBgTWF4LUFnZT0ke2MubWF4QWdlfWAsXG4gICAgXCJkb21haW5cIiBpbiBjICYmIGMuZG9tYWluICYmIGBEb21haW49JHtjLmRvbWFpbn1gLFxuICAgIFwic2VjdXJlXCIgaW4gYyAmJiBjLnNlY3VyZSAmJiBcIlNlY3VyZVwiLFxuICAgIFwiaHR0cE9ubHlcIiBpbiBjICYmIGMuaHR0cE9ubHkgJiYgXCJIdHRwT25seVwiLFxuICAgIFwic2FtZVNpdGVcIiBpbiBjICYmIGMuc2FtZVNpdGUgJiYgYFNhbWVTaXRlPSR7Yy5zYW1lU2l0ZX1gLFxuICAgIFwicHJpb3JpdHlcIiBpbiBjICYmIGMucHJpb3JpdHkgJiYgYFByaW9yaXR5PSR7Yy5wcmlvcml0eX1gXG4gIF0uZmlsdGVyKEJvb2xlYW4pO1xuICByZXR1cm4gYCR7Yy5uYW1lfT0ke2VuY29kZVVSSUNvbXBvbmVudCgoX2EgPSBjLnZhbHVlKSAhPSBudWxsID8gX2EgOiBcIlwiKX07ICR7YXR0cnMuam9pbihcIjsgXCIpfWA7XG59XG5mdW5jdGlvbiBwYXJzZUNvb2tpZShjb29raWUpIHtcbiAgY29uc3QgbWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgZm9yIChjb25zdCBwYWlyIG9mIGNvb2tpZS5zcGxpdCgvOyAqLykpIHtcbiAgICBpZiAoIXBhaXIpXG4gICAgICBjb250aW51ZTtcbiAgICBjb25zdCBzcGxpdEF0ID0gcGFpci5pbmRleE9mKFwiPVwiKTtcbiAgICBpZiAoc3BsaXRBdCA9PT0gLTEpIHtcbiAgICAgIG1hcC5zZXQocGFpciwgXCJ0cnVlXCIpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IFtwYWlyLnNsaWNlKDAsIHNwbGl0QXQpLCBwYWlyLnNsaWNlKHNwbGl0QXQgKyAxKV07XG4gICAgdHJ5IHtcbiAgICAgIG1hcC5zZXQoa2V5LCBkZWNvZGVVUklDb21wb25lbnQodmFsdWUgIT0gbnVsbCA/IHZhbHVlIDogXCJ0cnVlXCIpKTtcbiAgICB9IGNhdGNoIHtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1hcDtcbn1cbmZ1bmN0aW9uIHBhcnNlU2V0Q29va2llKHNldENvb2tpZSkge1xuICBpZiAoIXNldENvb2tpZSkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgY29uc3QgW1tuYW1lLCB2YWx1ZV0sIC4uLmF0dHJpYnV0ZXNdID0gcGFyc2VDb29raWUoc2V0Q29va2llKTtcbiAgY29uc3Qge1xuICAgIGRvbWFpbixcbiAgICBleHBpcmVzLFxuICAgIGh0dHBvbmx5LFxuICAgIG1heGFnZSxcbiAgICBwYXRoLFxuICAgIHNhbWVzaXRlLFxuICAgIHNlY3VyZSxcbiAgICBwcmlvcml0eVxuICB9ID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIGF0dHJpYnV0ZXMubWFwKChba2V5LCB2YWx1ZTJdKSA9PiBba2V5LnRvTG93ZXJDYXNlKCksIHZhbHVlMl0pXG4gICk7XG4gIGNvbnN0IGNvb2tpZSA9IHtcbiAgICBuYW1lLFxuICAgIHZhbHVlOiBkZWNvZGVVUklDb21wb25lbnQodmFsdWUpLFxuICAgIGRvbWFpbixcbiAgICAuLi5leHBpcmVzICYmIHsgZXhwaXJlczogbmV3IERhdGUoZXhwaXJlcykgfSxcbiAgICAuLi5odHRwb25seSAmJiB7IGh0dHBPbmx5OiB0cnVlIH0sXG4gICAgLi4udHlwZW9mIG1heGFnZSA9PT0gXCJzdHJpbmdcIiAmJiB7IG1heEFnZTogTnVtYmVyKG1heGFnZSkgfSxcbiAgICBwYXRoLFxuICAgIC4uLnNhbWVzaXRlICYmIHsgc2FtZVNpdGU6IHBhcnNlU2FtZVNpdGUoc2FtZXNpdGUpIH0sXG4gICAgLi4uc2VjdXJlICYmIHsgc2VjdXJlOiB0cnVlIH0sXG4gICAgLi4ucHJpb3JpdHkgJiYgeyBwcmlvcml0eTogcGFyc2VQcmlvcml0eShwcmlvcml0eSkgfVxuICB9O1xuICByZXR1cm4gY29tcGFjdChjb29raWUpO1xufVxuZnVuY3Rpb24gY29tcGFjdCh0KSB7XG4gIGNvbnN0IG5ld1QgPSB7fTtcbiAgZm9yIChjb25zdCBrZXkgaW4gdCkge1xuICAgIGlmICh0W2tleV0pIHtcbiAgICAgIG5ld1Rba2V5XSA9IHRba2V5XTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5ld1Q7XG59XG52YXIgU0FNRV9TSVRFID0gW1wic3RyaWN0XCIsIFwibGF4XCIsIFwibm9uZVwiXTtcbmZ1bmN0aW9uIHBhcnNlU2FtZVNpdGUoc3RyaW5nKSB7XG4gIHN0cmluZyA9IHN0cmluZy50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gU0FNRV9TSVRFLmluY2x1ZGVzKHN0cmluZykgPyBzdHJpbmcgOiB2b2lkIDA7XG59XG52YXIgUFJJT1JJVFkgPSBbXCJsb3dcIiwgXCJtZWRpdW1cIiwgXCJoaWdoXCJdO1xuZnVuY3Rpb24gcGFyc2VQcmlvcml0eShzdHJpbmcpIHtcbiAgc3RyaW5nID0gc3RyaW5nLnRvTG93ZXJDYXNlKCk7XG4gIHJldHVybiBQUklPUklUWS5pbmNsdWRlcyhzdHJpbmcpID8gc3RyaW5nIDogdm9pZCAwO1xufVxuZnVuY3Rpb24gc3BsaXRDb29raWVzU3RyaW5nKGNvb2tpZXNTdHJpbmcpIHtcbiAgaWYgKCFjb29raWVzU3RyaW5nKVxuICAgIHJldHVybiBbXTtcbiAgdmFyIGNvb2tpZXNTdHJpbmdzID0gW107XG4gIHZhciBwb3MgPSAwO1xuICB2YXIgc3RhcnQ7XG4gIHZhciBjaDtcbiAgdmFyIGxhc3RDb21tYTtcbiAgdmFyIG5leHRTdGFydDtcbiAgdmFyIGNvb2tpZXNTZXBhcmF0b3JGb3VuZDtcbiAgZnVuY3Rpb24gc2tpcFdoaXRlc3BhY2UoKSB7XG4gICAgd2hpbGUgKHBvcyA8IGNvb2tpZXNTdHJpbmcubGVuZ3RoICYmIC9cXHMvLnRlc3QoY29va2llc1N0cmluZy5jaGFyQXQocG9zKSkpIHtcbiAgICAgIHBvcyArPSAxO1xuICAgIH1cbiAgICByZXR1cm4gcG9zIDwgY29va2llc1N0cmluZy5sZW5ndGg7XG4gIH1cbiAgZnVuY3Rpb24gbm90U3BlY2lhbENoYXIoKSB7XG4gICAgY2ggPSBjb29raWVzU3RyaW5nLmNoYXJBdChwb3MpO1xuICAgIHJldHVybiBjaCAhPT0gXCI9XCIgJiYgY2ggIT09IFwiO1wiICYmIGNoICE9PSBcIixcIjtcbiAgfVxuICB3aGlsZSAocG9zIDwgY29va2llc1N0cmluZy5sZW5ndGgpIHtcbiAgICBzdGFydCA9IHBvcztcbiAgICBjb29raWVzU2VwYXJhdG9yRm91bmQgPSBmYWxzZTtcbiAgICB3aGlsZSAoc2tpcFdoaXRlc3BhY2UoKSkge1xuICAgICAgY2ggPSBjb29raWVzU3RyaW5nLmNoYXJBdChwb3MpO1xuICAgICAgaWYgKGNoID09PSBcIixcIikge1xuICAgICAgICBsYXN0Q29tbWEgPSBwb3M7XG4gICAgICAgIHBvcyArPSAxO1xuICAgICAgICBza2lwV2hpdGVzcGFjZSgpO1xuICAgICAgICBuZXh0U3RhcnQgPSBwb3M7XG4gICAgICAgIHdoaWxlIChwb3MgPCBjb29raWVzU3RyaW5nLmxlbmd0aCAmJiBub3RTcGVjaWFsQ2hhcigpKSB7XG4gICAgICAgICAgcG9zICs9IDE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBvcyA8IGNvb2tpZXNTdHJpbmcubGVuZ3RoICYmIGNvb2tpZXNTdHJpbmcuY2hhckF0KHBvcykgPT09IFwiPVwiKSB7XG4gICAgICAgICAgY29va2llc1NlcGFyYXRvckZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICBwb3MgPSBuZXh0U3RhcnQ7XG4gICAgICAgICAgY29va2llc1N0cmluZ3MucHVzaChjb29raWVzU3RyaW5nLnN1YnN0cmluZyhzdGFydCwgbGFzdENvbW1hKSk7XG4gICAgICAgICAgc3RhcnQgPSBwb3M7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcG9zID0gbGFzdENvbW1hICsgMTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcG9zICs9IDE7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghY29va2llc1NlcGFyYXRvckZvdW5kIHx8IHBvcyA+PSBjb29raWVzU3RyaW5nLmxlbmd0aCkge1xuICAgICAgY29va2llc1N0cmluZ3MucHVzaChjb29raWVzU3RyaW5nLnN1YnN0cmluZyhzdGFydCwgY29va2llc1N0cmluZy5sZW5ndGgpKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGNvb2tpZXNTdHJpbmdzO1xufVxuXG4vLyBzcmMvcmVxdWVzdC1jb29raWVzLnRzXG52YXIgUmVxdWVzdENvb2tpZXMgPSBjbGFzcyB7XG4gIGNvbnN0cnVjdG9yKHJlcXVlc3RIZWFkZXJzKSB7XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHRoaXMuX3BhcnNlZCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gICAgdGhpcy5faGVhZGVycyA9IHJlcXVlc3RIZWFkZXJzO1xuICAgIGNvbnN0IGhlYWRlciA9IHJlcXVlc3RIZWFkZXJzLmdldChcImNvb2tpZVwiKTtcbiAgICBpZiAoaGVhZGVyKSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUNvb2tpZShoZWFkZXIpO1xuICAgICAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIHBhcnNlZCkge1xuICAgICAgICB0aGlzLl9wYXJzZWQuc2V0KG5hbWUsIHsgbmFtZSwgdmFsdWUgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFtTeW1ib2wuaXRlcmF0b3JdKCkge1xuICAgIHJldHVybiB0aGlzLl9wYXJzZWRbU3ltYm9sLml0ZXJhdG9yXSgpO1xuICB9XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIGNvb2tpZXMgcmVjZWl2ZWQgZnJvbSB0aGUgY2xpZW50XG4gICAqL1xuICBnZXQgc2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyc2VkLnNpemU7XG4gIH1cbiAgZ2V0KC4uLmFyZ3MpIHtcbiAgICBjb25zdCBuYW1lID0gdHlwZW9mIGFyZ3NbMF0gPT09IFwic3RyaW5nXCIgPyBhcmdzWzBdIDogYXJnc1swXS5uYW1lO1xuICAgIHJldHVybiB0aGlzLl9wYXJzZWQuZ2V0KG5hbWUpO1xuICB9XG4gIGdldEFsbCguLi5hcmdzKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IGFsbCA9IEFycmF5LmZyb20odGhpcy5fcGFyc2VkKTtcbiAgICBpZiAoIWFyZ3MubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gYWxsLm1hcCgoW18sIHZhbHVlXSkgPT4gdmFsdWUpO1xuICAgIH1cbiAgICBjb25zdCBuYW1lID0gdHlwZW9mIGFyZ3NbMF0gPT09IFwic3RyaW5nXCIgPyBhcmdzWzBdIDogKF9hID0gYXJnc1swXSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLm5hbWU7XG4gICAgcmV0dXJuIGFsbC5maWx0ZXIoKFtuXSkgPT4gbiA9PT0gbmFtZSkubWFwKChbXywgdmFsdWVdKSA9PiB2YWx1ZSk7XG4gIH1cbiAgaGFzKG5hbWUpIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyc2VkLmhhcyhuYW1lKTtcbiAgfVxuICBzZXQoLi4uYXJncykge1xuICAgIGNvbnN0IFtuYW1lLCB2YWx1ZV0gPSBhcmdzLmxlbmd0aCA9PT0gMSA/IFthcmdzWzBdLm5hbWUsIGFyZ3NbMF0udmFsdWVdIDogYXJncztcbiAgICBjb25zdCBtYXAgPSB0aGlzLl9wYXJzZWQ7XG4gICAgbWFwLnNldChuYW1lLCB7IG5hbWUsIHZhbHVlIH0pO1xuICAgIHRoaXMuX2hlYWRlcnMuc2V0KFxuICAgICAgXCJjb29raWVcIixcbiAgICAgIEFycmF5LmZyb20obWFwKS5tYXAoKFtfLCB2YWx1ZTJdKSA9PiBzdHJpbmdpZnlDb29raWUodmFsdWUyKSkuam9pbihcIjsgXCIpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuICAvKipcbiAgICogRGVsZXRlIHRoZSBjb29raWVzIG1hdGNoaW5nIHRoZSBwYXNzZWQgbmFtZSBvciBuYW1lcyBpbiB0aGUgcmVxdWVzdC5cbiAgICovXG4gIGRlbGV0ZShuYW1lcykge1xuICAgIGNvbnN0IG1hcCA9IHRoaXMuX3BhcnNlZDtcbiAgICBjb25zdCByZXN1bHQgPSAhQXJyYXkuaXNBcnJheShuYW1lcykgPyBtYXAuZGVsZXRlKG5hbWVzKSA6IG5hbWVzLm1hcCgobmFtZSkgPT4gbWFwLmRlbGV0ZShuYW1lKSk7XG4gICAgdGhpcy5faGVhZGVycy5zZXQoXG4gICAgICBcImNvb2tpZVwiLFxuICAgICAgQXJyYXkuZnJvbShtYXApLm1hcCgoW18sIHZhbHVlXSkgPT4gc3RyaW5naWZ5Q29va2llKHZhbHVlKSkuam9pbihcIjsgXCIpXG4gICAgKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIC8qKlxuICAgKiBEZWxldGUgYWxsIHRoZSBjb29raWVzIGluIHRoZSBjb29raWVzIGluIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5kZWxldGUoQXJyYXkuZnJvbSh0aGlzLl9wYXJzZWQua2V5cygpKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgLyoqXG4gICAqIEZvcm1hdCB0aGUgY29va2llcyBpbiB0aGUgcmVxdWVzdCBhcyBhIHN0cmluZyBmb3IgbG9nZ2luZ1xuICAgKi9cbiAgW1N5bWJvbC5mb3IoXCJlZGdlLXJ1bnRpbWUuaW5zcGVjdC5jdXN0b21cIildKCkge1xuICAgIHJldHVybiBgUmVxdWVzdENvb2tpZXMgJHtKU09OLnN0cmluZ2lmeShPYmplY3QuZnJvbUVudHJpZXModGhpcy5fcGFyc2VkKSl9YDtcbiAgfVxuICB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuX3BhcnNlZC52YWx1ZXMoKV0ubWFwKCh2KSA9PiBgJHt2Lm5hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHYudmFsdWUpfWApLmpvaW4oXCI7IFwiKTtcbiAgfVxufTtcblxuLy8gc3JjL3Jlc3BvbnNlLWNvb2tpZXMudHNcbnZhciBSZXNwb25zZUNvb2tpZXMgPSBjbGFzcyB7XG4gIGNvbnN0cnVjdG9yKHJlc3BvbnNlSGVhZGVycykge1xuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICB0aGlzLl9wYXJzZWQgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuICAgIHZhciBfYSwgX2IsIF9jO1xuICAgIHRoaXMuX2hlYWRlcnMgPSByZXNwb25zZUhlYWRlcnM7XG4gICAgY29uc3Qgc2V0Q29va2llID0gKF9jID0gKF9iID0gKF9hID0gcmVzcG9uc2VIZWFkZXJzLmdldFNldENvb2tpZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmNhbGwocmVzcG9uc2VIZWFkZXJzKSkgIT0gbnVsbCA/IF9iIDogcmVzcG9uc2VIZWFkZXJzLmdldChcInNldC1jb29raWVcIikpICE9IG51bGwgPyBfYyA6IFtdO1xuICAgIGNvbnN0IGNvb2tpZVN0cmluZ3MgPSBBcnJheS5pc0FycmF5KHNldENvb2tpZSkgPyBzZXRDb29raWUgOiBzcGxpdENvb2tpZXNTdHJpbmcoc2V0Q29va2llKTtcbiAgICBmb3IgKGNvbnN0IGNvb2tpZVN0cmluZyBvZiBjb29raWVTdHJpbmdzKSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZVNldENvb2tpZShjb29raWVTdHJpbmcpO1xuICAgICAgaWYgKHBhcnNlZClcbiAgICAgICAgdGhpcy5fcGFyc2VkLnNldChwYXJzZWQubmFtZSwgcGFyc2VkKTtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIHtAbGluayBodHRwczovL3dpY2cuZ2l0aHViLmlvL2Nvb2tpZS1zdG9yZS8jQ29va2llU3RvcmUtZ2V0IENvb2tpZVN0b3JlI2dldH0gd2l0aG91dCB0aGUgUHJvbWlzZS5cbiAgICovXG4gIGdldCguLi5hcmdzKSB7XG4gICAgY29uc3Qga2V5ID0gdHlwZW9mIGFyZ3NbMF0gPT09IFwic3RyaW5nXCIgPyBhcmdzWzBdIDogYXJnc1swXS5uYW1lO1xuICAgIHJldHVybiB0aGlzLl9wYXJzZWQuZ2V0KGtleSk7XG4gIH1cbiAgLyoqXG4gICAqIHtAbGluayBodHRwczovL3dpY2cuZ2l0aHViLmlvL2Nvb2tpZS1zdG9yZS8jQ29va2llU3RvcmUtZ2V0QWxsIENvb2tpZVN0b3JlI2dldEFsbH0gd2l0aG91dCB0aGUgUHJvbWlzZS5cbiAgICovXG4gIGdldEFsbCguLi5hcmdzKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IGFsbCA9IEFycmF5LmZyb20odGhpcy5fcGFyc2VkLnZhbHVlcygpKTtcbiAgICBpZiAoIWFyZ3MubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gYWxsO1xuICAgIH1cbiAgICBjb25zdCBrZXkgPSB0eXBlb2YgYXJnc1swXSA9PT0gXCJzdHJpbmdcIiA/IGFyZ3NbMF0gOiAoX2EgPSBhcmdzWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX2EubmFtZTtcbiAgICByZXR1cm4gYWxsLmZpbHRlcigoYykgPT4gYy5uYW1lID09PSBrZXkpO1xuICB9XG4gIGhhcyhuYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnNlZC5oYXMobmFtZSk7XG4gIH1cbiAgLyoqXG4gICAqIHtAbGluayBodHRwczovL3dpY2cuZ2l0aHViLmlvL2Nvb2tpZS1zdG9yZS8jQ29va2llU3RvcmUtc2V0IENvb2tpZVN0b3JlI3NldH0gd2l0aG91dCB0aGUgUHJvbWlzZS5cbiAgICovXG4gIHNldCguLi5hcmdzKSB7XG4gICAgY29uc3QgW25hbWUsIHZhbHVlLCBjb29raWVdID0gYXJncy5sZW5ndGggPT09IDEgPyBbYXJnc1swXS5uYW1lLCBhcmdzWzBdLnZhbHVlLCBhcmdzWzBdXSA6IGFyZ3M7XG4gICAgY29uc3QgbWFwID0gdGhpcy5fcGFyc2VkO1xuICAgIG1hcC5zZXQobmFtZSwgbm9ybWFsaXplQ29va2llKHsgbmFtZSwgdmFsdWUsIC4uLmNvb2tpZSB9KSk7XG4gICAgcmVwbGFjZShtYXAsIHRoaXMuX2hlYWRlcnMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9jb29raWUtc3RvcmUvI0Nvb2tpZVN0b3JlLWRlbGV0ZSBDb29raWVTdG9yZSNkZWxldGV9IHdpdGhvdXQgdGhlIFByb21pc2UuXG4gICAqL1xuICBkZWxldGUoLi4uYXJncykge1xuICAgIGNvbnN0IFtuYW1lLCBwYXRoLCBkb21haW5dID0gdHlwZW9mIGFyZ3NbMF0gPT09IFwic3RyaW5nXCIgPyBbYXJnc1swXV0gOiBbYXJnc1swXS5uYW1lLCBhcmdzWzBdLnBhdGgsIGFyZ3NbMF0uZG9tYWluXTtcbiAgICByZXR1cm4gdGhpcy5zZXQoeyBuYW1lLCBwYXRoLCBkb21haW4sIHZhbHVlOiBcIlwiLCBleHBpcmVzOiAvKiBAX19QVVJFX18gKi8gbmV3IERhdGUoMCkgfSk7XG4gIH1cbiAgW1N5bWJvbC5mb3IoXCJlZGdlLXJ1bnRpbWUuaW5zcGVjdC5jdXN0b21cIildKCkge1xuICAgIHJldHVybiBgUmVzcG9uc2VDb29raWVzICR7SlNPTi5zdHJpbmdpZnkoT2JqZWN0LmZyb21FbnRyaWVzKHRoaXMuX3BhcnNlZCkpfWA7XG4gIH1cbiAgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLl9wYXJzZWQudmFsdWVzKCldLm1hcChzdHJpbmdpZnlDb29raWUpLmpvaW4oXCI7IFwiKTtcbiAgfVxufTtcbmZ1bmN0aW9uIHJlcGxhY2UoYmFnLCBoZWFkZXJzKSB7XG4gIGhlYWRlcnMuZGVsZXRlKFwic2V0LWNvb2tpZVwiKTtcbiAgZm9yIChjb25zdCBbLCB2YWx1ZV0gb2YgYmFnKSB7XG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IHN0cmluZ2lmeUNvb2tpZSh2YWx1ZSk7XG4gICAgaGVhZGVycy5hcHBlbmQoXCJzZXQtY29va2llXCIsIHNlcmlhbGl6ZWQpO1xuICB9XG59XG5mdW5jdGlvbiBub3JtYWxpemVDb29raWUoY29va2llID0geyBuYW1lOiBcIlwiLCB2YWx1ZTogXCJcIiB9KSB7XG4gIGlmICh0eXBlb2YgY29va2llLmV4cGlyZXMgPT09IFwibnVtYmVyXCIpIHtcbiAgICBjb29raWUuZXhwaXJlcyA9IG5ldyBEYXRlKGNvb2tpZS5leHBpcmVzKTtcbiAgfVxuICBpZiAoY29va2llLm1heEFnZSkge1xuICAgIGNvb2tpZS5leHBpcmVzID0gbmV3IERhdGUoRGF0ZS5ub3coKSArIGNvb2tpZS5tYXhBZ2UgKiAxZTMpO1xuICB9XG4gIGlmIChjb29raWUucGF0aCA9PT0gbnVsbCB8fCBjb29raWUucGF0aCA9PT0gdm9pZCAwKSB7XG4gICAgY29va2llLnBhdGggPSBcIi9cIjtcbiAgfVxuICByZXR1cm4gY29va2llO1xufVxuLy8gQW5ub3RhdGUgdGhlIENvbW1vbkpTIGV4cG9ydCBuYW1lcyBmb3IgRVNNIGltcG9ydCBpbiBub2RlOlxuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gIFJlcXVlc3RDb29raWVzLFxuICBSZXNwb25zZUNvb2tpZXMsXG4gIHBhcnNlQ29va2llLFxuICBwYXJzZVNldENvb2tpZSxcbiAgc3RyaW5naWZ5Q29va2llXG59KTtcbiJdLCJuYW1lcyI6WyJfX2RlZlByb3AiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsIl9fZ2V0T3duUHJvcERlc2MiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfX2dldE93blByb3BOYW1lcyIsImdldE93blByb3BlcnR5TmFtZXMiLCJfX2hhc093blByb3AiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsIl9fZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImdldCIsImVudW1lcmFibGUiLCJfX2NvcHlQcm9wcyIsInRvIiwiZnJvbSIsImV4Y2VwdCIsImRlc2MiLCJrZXkiLCJjYWxsIiwiX190b0NvbW1vbkpTIiwibW9kIiwidmFsdWUiLCJzcmNfZXhwb3J0cyIsIlJlcXVlc3RDb29raWVzIiwiUmVzcG9uc2VDb29raWVzIiwicGFyc2VDb29raWUiLCJwYXJzZVNldENvb2tpZSIsInN0cmluZ2lmeUNvb2tpZSIsIm1vZHVsZSIsImV4cG9ydHMiLCJjIiwiX2EiLCJhdHRycyIsInBhdGgiLCJleHBpcmVzIiwiRGF0ZSIsInRvVVRDU3RyaW5nIiwibWF4QWdlIiwiZG9tYWluIiwic2VjdXJlIiwiaHR0cE9ubHkiLCJzYW1lU2l0ZSIsInByaW9yaXR5IiwiZmlsdGVyIiwiQm9vbGVhbiIsImVuY29kZVVSSUNvbXBvbmVudCIsImpvaW4iLCJjb29raWUiLCJtYXAiLCJNYXAiLCJwYWlyIiwic3BsaXQiLCJzcGxpdEF0IiwiaW5kZXhPZiIsInNldCIsInNsaWNlIiwiZGVjb2RlVVJJQ29tcG9uZW50Iiwic2V0Q29va2llIiwiYXR0cmlidXRlcyIsImh0dHBvbmx5IiwibWF4YWdlIiwic2FtZXNpdGUiLCJmcm9tRW50cmllcyIsInZhbHVlMiIsInRvTG93ZXJDYXNlIiwiTnVtYmVyIiwicGFyc2VTYW1lU2l0ZSIsInBhcnNlUHJpb3JpdHkiLCJjb21wYWN0IiwidCIsIm5ld1QiLCJTQU1FX1NJVEUiLCJzdHJpbmciLCJpbmNsdWRlcyIsIlBSSU9SSVRZIiwic3BsaXRDb29raWVzU3RyaW5nIiwiY29va2llc1N0cmluZyIsImNvb2tpZXNTdHJpbmdzIiwicG9zIiwic3RhcnQiLCJjaCIsImxhc3RDb21tYSIsIm5leHRTdGFydCIsImNvb2tpZXNTZXBhcmF0b3JGb3VuZCIsInNraXBXaGl0ZXNwYWNlIiwibGVuZ3RoIiwidGVzdCIsImNoYXJBdCIsIm5vdFNwZWNpYWxDaGFyIiwicHVzaCIsInN1YnN0cmluZyIsImNvbnN0cnVjdG9yIiwicmVxdWVzdEhlYWRlcnMiLCJfcGFyc2VkIiwiX2hlYWRlcnMiLCJoZWFkZXIiLCJwYXJzZWQiLCJTeW1ib2wiLCJpdGVyYXRvciIsInNpemUiLCJhcmdzIiwiZ2V0QWxsIiwiQXJyYXkiLCJfIiwibiIsImhhcyIsImRlbGV0ZSIsIm5hbWVzIiwicmVzdWx0IiwiaXNBcnJheSIsImNsZWFyIiwia2V5cyIsImZvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0b1N0cmluZyIsInZhbHVlcyIsInYiLCJyZXNwb25zZUhlYWRlcnMiLCJfYiIsIl9jIiwiZ2V0U2V0Q29va2llIiwiY29va2llU3RyaW5ncyIsImNvb2tpZVN0cmluZyIsIm5vcm1hbGl6ZUNvb2tpZSIsInJlcGxhY2UiLCJiYWciLCJoZWFkZXJzIiwic2VyaWFsaXplZCIsImFwcGVuZCIsIm5vdyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js ***! \************************************************************************/ /***/ ((module) => { "use strict"; eval("\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all)=>{\n for(var name in all)__defProp(target, name, {\n get: all[name],\n enumerable: true\n });\n};\nvar __copyProps = (to, from, except, desc)=>{\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n get: ()=>from[key],\n enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n });\n }\n return to;\n};\nvar __toCommonJS = (mod)=>__copyProps(__defProp({}, \"__esModule\", {\n value: true\n }), mod);\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n RequestCookies: ()=>RequestCookies,\n ResponseCookies: ()=>ResponseCookies,\n parseCookie: ()=>parseCookie,\n parseSetCookie: ()=>parseSetCookie,\n stringifyCookie: ()=>stringifyCookie\n});\nmodule.exports = __toCommonJS(src_exports);\n// src/serialize.ts\nfunction stringifyCookie(c) {\n var _a;\n const attrs = [\n \"path\" in c && c.path && `Path=${c.path}`,\n \"expires\" in c && (c.expires || c.expires === 0) && `Expires=${(typeof c.expires === \"number\" ? new Date(c.expires) : c.expires).toUTCString()}`,\n \"maxAge\" in c && typeof c.maxAge === \"number\" && `Max-Age=${c.maxAge}`,\n \"domain\" in c && c.domain && `Domain=${c.domain}`,\n \"secure\" in c && c.secure && \"Secure\",\n \"httpOnly\" in c && c.httpOnly && \"HttpOnly\",\n \"sameSite\" in c && c.sameSite && `SameSite=${c.sameSite}`,\n \"priority\" in c && c.priority && `Priority=${c.priority}`\n ].filter(Boolean);\n return `${c.name}=${encodeURIComponent((_a = c.value) != null ? _a : \"\")}; ${attrs.join(\"; \")}`;\n}\nfunction parseCookie(cookie) {\n const map = /* @__PURE__ */ new Map();\n for (const pair of cookie.split(/; */)){\n if (!pair) continue;\n const splitAt = pair.indexOf(\"=\");\n if (splitAt === -1) {\n map.set(pair, \"true\");\n continue;\n }\n const [key, value] = [\n pair.slice(0, splitAt),\n pair.slice(splitAt + 1)\n ];\n try {\n map.set(key, decodeURIComponent(value != null ? value : \"true\"));\n } catch {}\n }\n return map;\n}\nfunction parseSetCookie(setCookie) {\n if (!setCookie) {\n return void 0;\n }\n const [[name, value], ...attributes] = parseCookie(setCookie);\n const { domain, expires, httponly, maxage, path, samesite, secure, priority } = Object.fromEntries(attributes.map(([key, value2])=>[\n key.toLowerCase(),\n value2\n ]));\n const cookie = {\n name,\n value: decodeURIComponent(value),\n domain,\n ...expires && {\n expires: new Date(expires)\n },\n ...httponly && {\n httpOnly: true\n },\n ...typeof maxage === \"string\" && {\n maxAge: Number(maxage)\n },\n path,\n ...samesite && {\n sameSite: parseSameSite(samesite)\n },\n ...secure && {\n secure: true\n },\n ...priority && {\n priority: parsePriority(priority)\n }\n };\n return compact(cookie);\n}\nfunction compact(t) {\n const newT = {};\n for(const key in t){\n if (t[key]) {\n newT[key] = t[key];\n }\n }\n return newT;\n}\nvar SAME_SITE = [\n \"strict\",\n \"lax\",\n \"none\"\n];\nfunction parseSameSite(string) {\n string = string.toLowerCase();\n return SAME_SITE.includes(string) ? string : void 0;\n}\nvar PRIORITY = [\n \"low\",\n \"medium\",\n \"high\"\n];\nfunction parsePriority(string) {\n string = string.toLowerCase();\n return PRIORITY.includes(string) ? string : void 0;\n}\nfunction splitCookiesString(cookiesString) {\n if (!cookiesString) return [];\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n function skipWhitespace() {\n while(pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))){\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n while(pos < cookiesString.length){\n start = pos;\n cookiesSeparatorFound = false;\n while(skipWhitespace()){\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n lastComma = pos;\n pos += 1;\n skipWhitespace();\n nextStart = pos;\n while(pos < cookiesString.length && notSpecialChar()){\n pos += 1;\n }\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n cookiesSeparatorFound = true;\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n return cookiesStrings;\n}\n// src/request-cookies.ts\nvar RequestCookies = class {\n constructor(requestHeaders){\n /** @internal */ this._parsed = /* @__PURE__ */ new Map();\n this._headers = requestHeaders;\n const header = requestHeaders.get(\"cookie\");\n if (header) {\n const parsed = parseCookie(header);\n for (const [name, value] of parsed){\n this._parsed.set(name, {\n name,\n value\n });\n }\n }\n }\n [Symbol.iterator]() {\n return this._parsed[Symbol.iterator]();\n }\n /**\n * The amount of cookies received from the client\n */ get size() {\n return this._parsed.size;\n }\n get(...args) {\n const name = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(name);\n }\n getAll(...args) {\n var _a;\n const all = Array.from(this._parsed);\n if (!args.length) {\n return all.map(([_, value])=>value);\n }\n const name = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter(([n])=>n === name).map(([_, value])=>value);\n }\n has(name) {\n return this._parsed.has(name);\n }\n set(...args) {\n const [name, value] = args.length === 1 ? [\n args[0].name,\n args[0].value\n ] : args;\n const map = this._parsed;\n map.set(name, {\n name,\n value\n });\n this._headers.set(\"cookie\", Array.from(map).map(([_, value2])=>stringifyCookie(value2)).join(\"; \"));\n return this;\n }\n /**\n * Delete the cookies matching the passed name or names in the request.\n */ delete(names) {\n const map = this._parsed;\n const result = !Array.isArray(names) ? map.delete(names) : names.map((name)=>map.delete(name));\n this._headers.set(\"cookie\", Array.from(map).map(([_, value])=>stringifyCookie(value)).join(\"; \"));\n return result;\n }\n /**\n * Delete all the cookies in the cookies in the request.\n */ clear() {\n this.delete(Array.from(this._parsed.keys()));\n return this;\n }\n /**\n * Format the cookies in the request as a string for logging\n */ [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [\n ...this._parsed.values()\n ].map((v)=>`${v.name}=${encodeURIComponent(v.value)}`).join(\"; \");\n }\n};\n// src/response-cookies.ts\nvar ResponseCookies = class {\n constructor(responseHeaders){\n /** @internal */ this._parsed = /* @__PURE__ */ new Map();\n var _a, _b, _c;\n this._headers = responseHeaders;\n const setCookie = (_c = (_b = (_a = responseHeaders.getSetCookie) == null ? void 0 : _a.call(responseHeaders)) != null ? _b : responseHeaders.get(\"set-cookie\")) != null ? _c : [];\n const cookieStrings = Array.isArray(setCookie) ? setCookie : splitCookiesString(setCookie);\n for (const cookieString of cookieStrings){\n const parsed = parseSetCookie(cookieString);\n if (parsed) this._parsed.set(parsed.name, parsed);\n }\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise.\n */ get(...args) {\n const key = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(key);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise.\n */ getAll(...args) {\n var _a;\n const all = Array.from(this._parsed.values());\n if (!args.length) {\n return all;\n }\n const key = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter((c)=>c.name === key);\n }\n has(name) {\n return this._parsed.has(name);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise.\n */ set(...args) {\n const [name, value, cookie] = args.length === 1 ? [\n args[0].name,\n args[0].value,\n args[0]\n ] : args;\n const map = this._parsed;\n map.set(name, normalizeCookie({\n name,\n value,\n ...cookie\n }));\n replace(map, this._headers);\n return this;\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise.\n */ delete(...args) {\n const [name, path, domain] = typeof args[0] === \"string\" ? [\n args[0]\n ] : [\n args[0].name,\n args[0].path,\n args[0].domain\n ];\n return this.set({\n name,\n path,\n domain,\n value: \"\",\n expires: /* @__PURE__ */ new Date(0)\n });\n }\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [\n ...this._parsed.values()\n ].map(stringifyCookie).join(\"; \");\n }\n};\nfunction replace(bag, headers) {\n headers.delete(\"set-cookie\");\n for (const [, value] of bag){\n const serialized = stringifyCookie(value);\n headers.append(\"set-cookie\", serialized);\n }\n}\nfunction normalizeCookie(cookie = {\n name: \"\",\n value: \"\"\n}) {\n if (typeof cookie.expires === \"number\") {\n cookie.expires = new Date(cookie.expires);\n }\n if (cookie.maxAge) {\n cookie.expires = new Date(Date.now() + cookie.maxAge * 1e3);\n }\n if (cookie.path === null || cookie.path === void 0) {\n cookie.path = \"/\";\n }\n return cookie;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (0);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BlZGdlLXJ1bnRpbWUvY29va2llcy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLElBQUlBLFlBQVlDLE9BQU9DLGNBQWM7QUFDckMsSUFBSUMsbUJBQW1CRixPQUFPRyx3QkFBd0I7QUFDdEQsSUFBSUMsb0JBQW9CSixPQUFPSyxtQkFBbUI7QUFDbEQsSUFBSUMsZUFBZU4sT0FBT08sU0FBUyxDQUFDQyxjQUFjO0FBQ2xELElBQUlDLFdBQVcsQ0FBQ0MsUUFBUUM7SUFDdEIsSUFBSyxJQUFJQyxRQUFRRCxJQUNmWixVQUFVVyxRQUFRRSxNQUFNO1FBQUVDLEtBQUtGLEdBQUcsQ0FBQ0MsS0FBSztRQUFFRSxZQUFZO0lBQUs7QUFDL0Q7QUFDQSxJQUFJQyxjQUFjLENBQUNDLElBQUlDLE1BQU1DLFFBQVFDO0lBQ25DLElBQUlGLFFBQVEsT0FBT0EsU0FBUyxZQUFZLE9BQU9BLFNBQVMsWUFBWTtRQUNsRSxLQUFLLElBQUlHLE9BQU9oQixrQkFBa0JhLE1BQ2hDLElBQUksQ0FBQ1gsYUFBYWUsSUFBSSxDQUFDTCxJQUFJSSxRQUFRQSxRQUFRRixRQUN6Q25CLFVBQVVpQixJQUFJSSxLQUFLO1lBQUVQLEtBQUssSUFBTUksSUFBSSxDQUFDRyxJQUFJO1lBQUVOLFlBQVksQ0FBRUssQ0FBQUEsT0FBT2pCLGlCQUFpQmUsTUFBTUcsSUFBRyxLQUFNRCxLQUFLTCxVQUFVO1FBQUM7SUFDdEg7SUFDQSxPQUFPRTtBQUNUO0FBQ0EsSUFBSU0sZUFBZSxDQUFDQyxNQUFRUixZQUFZaEIsVUFBVSxDQUFDLEdBQUcsY0FBYztRQUFFeUIsT0FBTztJQUFLLElBQUlEO0FBRXRGLGVBQWU7QUFDZixJQUFJRSxjQUFjLENBQUM7QUFDbkJoQixTQUFTZ0IsYUFBYTtJQUNwQkMsZ0JBQWdCLElBQU1BO0lBQ3RCQyxpQkFBaUIsSUFBTUE7SUFDdkJDLGFBQWEsSUFBTUE7SUFDbkJDLGdCQUFnQixJQUFNQTtJQUN0QkMsaUJBQWlCLElBQU1BO0FBQ3pCO0FBQ0FDLE9BQU9DLE9BQU8sR0FBR1YsYUFBYUc7QUFFOUIsbUJBQW1CO0FBQ25CLFNBQVNLLGdCQUFnQkcsQ0FBQztJQUN4QixJQUFJQztJQUNKLE1BQU1DLFFBQVE7UUFDWixVQUFVRixLQUFLQSxFQUFFRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUVILEVBQUVHLElBQUksQ0FBQyxDQUFDO1FBQ3pDLGFBQWFILEtBQU1BLENBQUFBLEVBQUVJLE9BQU8sSUFBSUosRUFBRUksT0FBTyxLQUFLLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPSixFQUFFSSxPQUFPLEtBQUssV0FBVyxJQUFJQyxLQUFLTCxFQUFFSSxPQUFPLElBQUlKLEVBQUVJLE9BQU8sRUFBRUUsV0FBVyxHQUFHLENBQUM7UUFDaEosWUFBWU4sS0FBSyxPQUFPQSxFQUFFTyxNQUFNLEtBQUssWUFBWSxDQUFDLFFBQVEsRUFBRVAsRUFBRU8sTUFBTSxDQUFDLENBQUM7UUFDdEUsWUFBWVAsS0FBS0EsRUFBRVEsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFUixFQUFFUSxNQUFNLENBQUMsQ0FBQztRQUNqRCxZQUFZUixLQUFLQSxFQUFFUyxNQUFNLElBQUk7UUFDN0IsY0FBY1QsS0FBS0EsRUFBRVUsUUFBUSxJQUFJO1FBQ2pDLGNBQWNWLEtBQUtBLEVBQUVXLFFBQVEsSUFBSSxDQUFDLFNBQVMsRUFBRVgsRUFBRVcsUUFBUSxDQUFDLENBQUM7UUFDekQsY0FBY1gsS0FBS0EsRUFBRVksUUFBUSxJQUFJLENBQUMsU0FBUyxFQUFFWixFQUFFWSxRQUFRLENBQUMsQ0FBQztLQUMxRCxDQUFDQyxNQUFNLENBQUNDO0lBQ1QsT0FBTyxDQUFDLEVBQUVkLEVBQUVyQixJQUFJLENBQUMsQ0FBQyxFQUFFb0MsbUJBQW1CLENBQUNkLEtBQUtELEVBQUVULEtBQUssS0FBSyxPQUFPVSxLQUFLLElBQUksRUFBRSxFQUFFQyxNQUFNYyxJQUFJLENBQUMsTUFBTSxDQUFDO0FBQ2pHO0FBQ0EsU0FBU3JCLFlBQVlzQixNQUFNO0lBQ3pCLE1BQU1DLE1BQU0sYUFBYSxHQUFHLElBQUlDO0lBQ2hDLEtBQUssTUFBTUMsUUFBUUgsT0FBT0ksS0FBSyxDQUFDLE9BQVE7UUFDdEMsSUFBSSxDQUFDRCxNQUNIO1FBQ0YsTUFBTUUsVUFBVUYsS0FBS0csT0FBTyxDQUFDO1FBQzdCLElBQUlELFlBQVksQ0FBQyxHQUFHO1lBQ2xCSixJQUFJTSxHQUFHLENBQUNKLE1BQU07WUFDZDtRQUNGO1FBQ0EsTUFBTSxDQUFDakMsS0FBS0ksTUFBTSxHQUFHO1lBQUM2QixLQUFLSyxLQUFLLENBQUMsR0FBR0g7WUFBVUYsS0FBS0ssS0FBSyxDQUFDSCxVQUFVO1NBQUc7UUFDdEUsSUFBSTtZQUNGSixJQUFJTSxHQUFHLENBQUNyQyxLQUFLdUMsbUJBQW1CbkMsU0FBUyxPQUFPQSxRQUFRO1FBQzFELEVBQUUsT0FBTSxDQUNSO0lBQ0Y7SUFDQSxPQUFPMkI7QUFDVDtBQUNBLFNBQVN0QixlQUFlK0IsU0FBUztJQUMvQixJQUFJLENBQUNBLFdBQVc7UUFDZCxPQUFPLEtBQUs7SUFDZDtJQUNBLE1BQU0sQ0FBQyxDQUFDaEQsTUFBTVksTUFBTSxFQUFFLEdBQUdxQyxXQUFXLEdBQUdqQyxZQUFZZ0M7SUFDbkQsTUFBTSxFQUNKbkIsTUFBTSxFQUNOSixPQUFPLEVBQ1B5QixRQUFRLEVBQ1JDLE1BQU0sRUFDTjNCLElBQUksRUFDSjRCLFFBQVEsRUFDUnRCLE1BQU0sRUFDTkcsUUFBUSxFQUNULEdBQUc3QyxPQUFPaUUsV0FBVyxDQUNwQkosV0FBV1YsR0FBRyxDQUFDLENBQUMsQ0FBQy9CLEtBQUs4QyxPQUFPLEdBQUs7WUFBQzlDLElBQUkrQyxXQUFXO1lBQUlEO1NBQU87SUFFL0QsTUFBTWhCLFNBQVM7UUFDYnRDO1FBQ0FZLE9BQU9tQyxtQkFBbUJuQztRQUMxQmlCO1FBQ0EsR0FBR0osV0FBVztZQUFFQSxTQUFTLElBQUlDLEtBQUtEO1FBQVMsQ0FBQztRQUM1QyxHQUFHeUIsWUFBWTtZQUFFbkIsVUFBVTtRQUFLLENBQUM7UUFDakMsR0FBRyxPQUFPb0IsV0FBVyxZQUFZO1lBQUV2QixRQUFRNEIsT0FBT0w7UUFBUSxDQUFDO1FBQzNEM0I7UUFDQSxHQUFHNEIsWUFBWTtZQUFFcEIsVUFBVXlCLGNBQWNMO1FBQVUsQ0FBQztRQUNwRCxHQUFHdEIsVUFBVTtZQUFFQSxRQUFRO1FBQUssQ0FBQztRQUM3QixHQUFHRyxZQUFZO1lBQUVBLFVBQVV5QixjQUFjekI7UUFBVSxDQUFDO0lBQ3REO0lBQ0EsT0FBTzBCLFFBQVFyQjtBQUNqQjtBQUNBLFNBQVNxQixRQUFRQyxDQUFDO0lBQ2hCLE1BQU1DLE9BQU8sQ0FBQztJQUNkLElBQUssTUFBTXJELE9BQU9vRCxFQUFHO1FBQ25CLElBQUlBLENBQUMsQ0FBQ3BELElBQUksRUFBRTtZQUNWcUQsSUFBSSxDQUFDckQsSUFBSSxHQUFHb0QsQ0FBQyxDQUFDcEQsSUFBSTtRQUNwQjtJQUNGO0lBQ0EsT0FBT3FEO0FBQ1Q7QUFDQSxJQUFJQyxZQUFZO0lBQUM7SUFBVTtJQUFPO0NBQU87QUFDekMsU0FBU0wsY0FBY00sTUFBTTtJQUMzQkEsU0FBU0EsT0FBT1IsV0FBVztJQUMzQixPQUFPTyxVQUFVRSxRQUFRLENBQUNELFVBQVVBLFNBQVMsS0FBSztBQUNwRDtBQUNBLElBQUlFLFdBQVc7SUFBQztJQUFPO0lBQVU7Q0FBTztBQUN4QyxTQUFTUCxjQUFjSyxNQUFNO0lBQzNCQSxTQUFTQSxPQUFPUixXQUFXO0lBQzNCLE9BQU9VLFNBQVNELFFBQVEsQ0FBQ0QsVUFBVUEsU0FBUyxLQUFLO0FBQ25EO0FBQ0EsU0FBU0csbUJBQW1CQyxhQUFhO0lBQ3ZDLElBQUksQ0FBQ0EsZUFDSCxPQUFPLEVBQUU7SUFDWCxJQUFJQyxpQkFBaUIsRUFBRTtJQUN2QixJQUFJQyxNQUFNO0lBQ1YsSUFBSUM7SUFDSixJQUFJQztJQUNKLElBQUlDO0lBQ0osSUFBSUM7SUFDSixJQUFJQztJQUNKLFNBQVNDO1FBQ1AsTUFBT04sTUFBTUYsY0FBY1MsTUFBTSxJQUFJLEtBQUtDLElBQUksQ0FBQ1YsY0FBY1csTUFBTSxDQUFDVCxNQUFPO1lBQ3pFQSxPQUFPO1FBQ1Q7UUFDQSxPQUFPQSxNQUFNRixjQUFjUyxNQUFNO0lBQ25DO0lBQ0EsU0FBU0c7UUFDUFIsS0FBS0osY0FBY1csTUFBTSxDQUFDVDtRQUMxQixPQUFPRSxPQUFPLE9BQU9BLE9BQU8sT0FBT0EsT0FBTztJQUM1QztJQUNBLE1BQU9GLE1BQU1GLGNBQWNTLE1BQU0sQ0FBRTtRQUNqQ04sUUFBUUQ7UUFDUkssd0JBQXdCO1FBQ3hCLE1BQU9DLGlCQUFrQjtZQUN2QkosS0FBS0osY0FBY1csTUFBTSxDQUFDVDtZQUMxQixJQUFJRSxPQUFPLEtBQUs7Z0JBQ2RDLFlBQVlIO2dCQUNaQSxPQUFPO2dCQUNQTTtnQkFDQUYsWUFBWUo7Z0JBQ1osTUFBT0EsTUFBTUYsY0FBY1MsTUFBTSxJQUFJRyxpQkFBa0I7b0JBQ3JEVixPQUFPO2dCQUNUO2dCQUNBLElBQUlBLE1BQU1GLGNBQWNTLE1BQU0sSUFBSVQsY0FBY1csTUFBTSxDQUFDVCxTQUFTLEtBQUs7b0JBQ25FSyx3QkFBd0I7b0JBQ3hCTCxNQUFNSTtvQkFDTkwsZUFBZVksSUFBSSxDQUFDYixjQUFjYyxTQUFTLENBQUNYLE9BQU9FO29CQUNuREYsUUFBUUQ7Z0JBQ1YsT0FBTztvQkFDTEEsTUFBTUcsWUFBWTtnQkFDcEI7WUFDRixPQUFPO2dCQUNMSCxPQUFPO1lBQ1Q7UUFDRjtRQUNBLElBQUksQ0FBQ0sseUJBQXlCTCxPQUFPRixjQUFjUyxNQUFNLEVBQUU7WUFDekRSLGVBQWVZLElBQUksQ0FBQ2IsY0FBY2MsU0FBUyxDQUFDWCxPQUFPSCxjQUFjUyxNQUFNO1FBQ3pFO0lBQ0Y7SUFDQSxPQUFPUjtBQUNUO0FBRUEseUJBQXlCO0FBQ3pCLElBQUl0RCxpQkFBaUI7SUFDbkJvRSxZQUFZQyxjQUFjLENBQUU7UUFDMUIsY0FBYyxHQUNkLElBQUksQ0FBQ0MsT0FBTyxHQUFHLGFBQWEsR0FBRyxJQUFJNUM7UUFDbkMsSUFBSSxDQUFDNkMsUUFBUSxHQUFHRjtRQUNoQixNQUFNRyxTQUFTSCxlQUFlbEYsR0FBRyxDQUFDO1FBQ2xDLElBQUlxRixRQUFRO1lBQ1YsTUFBTUMsU0FBU3ZFLFlBQVlzRTtZQUMzQixLQUFLLE1BQU0sQ0FBQ3RGLE1BQU1ZLE1BQU0sSUFBSTJFLE9BQVE7Z0JBQ2xDLElBQUksQ0FBQ0gsT0FBTyxDQUFDdkMsR0FBRyxDQUFDN0MsTUFBTTtvQkFBRUE7b0JBQU1ZO2dCQUFNO1lBQ3ZDO1FBQ0Y7SUFDRjtJQUNBLENBQUM0RSxPQUFPQyxRQUFRLENBQUMsR0FBRztRQUNsQixPQUFPLElBQUksQ0FBQ0wsT0FBTyxDQUFDSSxPQUFPQyxRQUFRLENBQUM7SUFDdEM7SUFDQTs7R0FFQyxHQUNELElBQUlDLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQ04sT0FBTyxDQUFDTSxJQUFJO0lBQzFCO0lBQ0F6RixJQUFJLEdBQUcwRixJQUFJLEVBQUU7UUFDWCxNQUFNM0YsT0FBTyxPQUFPMkYsSUFBSSxDQUFDLEVBQUUsS0FBSyxXQUFXQSxJQUFJLENBQUMsRUFBRSxHQUFHQSxJQUFJLENBQUMsRUFBRSxDQUFDM0YsSUFBSTtRQUNqRSxPQUFPLElBQUksQ0FBQ29GLE9BQU8sQ0FBQ25GLEdBQUcsQ0FBQ0Q7SUFDMUI7SUFDQTRGLE9BQU8sR0FBR0QsSUFBSSxFQUFFO1FBQ2QsSUFBSXJFO1FBQ0osTUFBTXZCLE1BQU04RixNQUFNeEYsSUFBSSxDQUFDLElBQUksQ0FBQytFLE9BQU87UUFDbkMsSUFBSSxDQUFDTyxLQUFLZixNQUFNLEVBQUU7WUFDaEIsT0FBTzdFLElBQUl3QyxHQUFHLENBQUMsQ0FBQyxDQUFDdUQsR0FBR2xGLE1BQU0sR0FBS0E7UUFDakM7UUFDQSxNQUFNWixPQUFPLE9BQU8yRixJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVdBLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQ3JFLEtBQUtxRSxJQUFJLENBQUMsRUFBRSxLQUFLLE9BQU8sS0FBSyxJQUFJckUsR0FBR3RCLElBQUk7UUFDOUYsT0FBT0QsSUFBSW1DLE1BQU0sQ0FBQyxDQUFDLENBQUM2RCxFQUFFLEdBQUtBLE1BQU0vRixNQUFNdUMsR0FBRyxDQUFDLENBQUMsQ0FBQ3VELEdBQUdsRixNQUFNLEdBQUtBO0lBQzdEO0lBQ0FvRixJQUFJaEcsSUFBSSxFQUFFO1FBQ1IsT0FBTyxJQUFJLENBQUNvRixPQUFPLENBQUNZLEdBQUcsQ0FBQ2hHO0lBQzFCO0lBQ0E2QyxJQUFJLEdBQUc4QyxJQUFJLEVBQUU7UUFDWCxNQUFNLENBQUMzRixNQUFNWSxNQUFNLEdBQUcrRSxLQUFLZixNQUFNLEtBQUssSUFBSTtZQUFDZSxJQUFJLENBQUMsRUFBRSxDQUFDM0YsSUFBSTtZQUFFMkYsSUFBSSxDQUFDLEVBQUUsQ0FBQy9FLEtBQUs7U0FBQyxHQUFHK0U7UUFDMUUsTUFBTXBELE1BQU0sSUFBSSxDQUFDNkMsT0FBTztRQUN4QjdDLElBQUlNLEdBQUcsQ0FBQzdDLE1BQU07WUFBRUE7WUFBTVk7UUFBTTtRQUM1QixJQUFJLENBQUN5RSxRQUFRLENBQUN4QyxHQUFHLENBQ2YsVUFDQWdELE1BQU14RixJQUFJLENBQUNrQyxLQUFLQSxHQUFHLENBQUMsQ0FBQyxDQUFDdUQsR0FBR3hDLE9BQU8sR0FBS3BDLGdCQUFnQm9DLFNBQVNqQixJQUFJLENBQUM7UUFFckUsT0FBTyxJQUFJO0lBQ2I7SUFDQTs7R0FFQyxHQUNENEQsT0FBT0MsS0FBSyxFQUFFO1FBQ1osTUFBTTNELE1BQU0sSUFBSSxDQUFDNkMsT0FBTztRQUN4QixNQUFNZSxTQUFTLENBQUNOLE1BQU1PLE9BQU8sQ0FBQ0YsU0FBUzNELElBQUkwRCxNQUFNLENBQUNDLFNBQVNBLE1BQU0zRCxHQUFHLENBQUMsQ0FBQ3ZDLE9BQVN1QyxJQUFJMEQsTUFBTSxDQUFDakc7UUFDMUYsSUFBSSxDQUFDcUYsUUFBUSxDQUFDeEMsR0FBRyxDQUNmLFVBQ0FnRCxNQUFNeEYsSUFBSSxDQUFDa0MsS0FBS0EsR0FBRyxDQUFDLENBQUMsQ0FBQ3VELEdBQUdsRixNQUFNLEdBQUtNLGdCQUFnQk4sUUFBUXlCLElBQUksQ0FBQztRQUVuRSxPQUFPOEQ7SUFDVDtJQUNBOztHQUVDLEdBQ0RFLFFBQVE7UUFDTixJQUFJLENBQUNKLE1BQU0sQ0FBQ0osTUFBTXhGLElBQUksQ0FBQyxJQUFJLENBQUMrRSxPQUFPLENBQUNrQixJQUFJO1FBQ3hDLE9BQU8sSUFBSTtJQUNiO0lBQ0E7O0dBRUMsR0FDRCxDQUFDZCxPQUFPZSxHQUFHLENBQUMsK0JBQStCLEdBQUc7UUFDNUMsT0FBTyxDQUFDLGVBQWUsRUFBRUMsS0FBS0MsU0FBUyxDQUFDckgsT0FBT2lFLFdBQVcsQ0FBQyxJQUFJLENBQUMrQixPQUFPLEdBQUcsQ0FBQztJQUM3RTtJQUNBc0IsV0FBVztRQUNULE9BQU87ZUFBSSxJQUFJLENBQUN0QixPQUFPLENBQUN1QixNQUFNO1NBQUcsQ0FBQ3BFLEdBQUcsQ0FBQyxDQUFDcUUsSUFBTSxDQUFDLEVBQUVBLEVBQUU1RyxJQUFJLENBQUMsQ0FBQyxFQUFFb0MsbUJBQW1Cd0UsRUFBRWhHLEtBQUssRUFBRSxDQUFDLEVBQUV5QixJQUFJLENBQUM7SUFDaEc7QUFDRjtBQUVBLDBCQUEwQjtBQUMxQixJQUFJdEIsa0JBQWtCO0lBQ3BCbUUsWUFBWTJCLGVBQWUsQ0FBRTtRQUMzQixjQUFjLEdBQ2QsSUFBSSxDQUFDekIsT0FBTyxHQUFHLGFBQWEsR0FBRyxJQUFJNUM7UUFDbkMsSUFBSWxCLElBQUl3RixJQUFJQztRQUNaLElBQUksQ0FBQzFCLFFBQVEsR0FBR3dCO1FBQ2hCLE1BQU03RCxZQUFZLENBQUMrRCxLQUFLLENBQUNELEtBQUssQ0FBQ3hGLEtBQUt1RixnQkFBZ0JHLFlBQVksS0FBSyxPQUFPLEtBQUssSUFBSTFGLEdBQUdiLElBQUksQ0FBQ29HLGdCQUFlLEtBQU0sT0FBT0MsS0FBS0QsZ0JBQWdCNUcsR0FBRyxDQUFDLGFBQVksS0FBTSxPQUFPOEcsS0FBSyxFQUFFO1FBQ2xMLE1BQU1FLGdCQUFnQnBCLE1BQU1PLE9BQU8sQ0FBQ3BELGFBQWFBLFlBQVlrQixtQkFBbUJsQjtRQUNoRixLQUFLLE1BQU1rRSxnQkFBZ0JELGNBQWU7WUFDeEMsTUFBTTFCLFNBQVN0RSxlQUFlaUc7WUFDOUIsSUFBSTNCLFFBQ0YsSUFBSSxDQUFDSCxPQUFPLENBQUN2QyxHQUFHLENBQUMwQyxPQUFPdkYsSUFBSSxFQUFFdUY7UUFDbEM7SUFDRjtJQUNBOztHQUVDLEdBQ0R0RixJQUFJLEdBQUcwRixJQUFJLEVBQUU7UUFDWCxNQUFNbkYsTUFBTSxPQUFPbUYsSUFBSSxDQUFDLEVBQUUsS0FBSyxXQUFXQSxJQUFJLENBQUMsRUFBRSxHQUFHQSxJQUFJLENBQUMsRUFBRSxDQUFDM0YsSUFBSTtRQUNoRSxPQUFPLElBQUksQ0FBQ29GLE9BQU8sQ0FBQ25GLEdBQUcsQ0FBQ087SUFDMUI7SUFDQTs7R0FFQyxHQUNEb0YsT0FBTyxHQUFHRCxJQUFJLEVBQUU7UUFDZCxJQUFJckU7UUFDSixNQUFNdkIsTUFBTThGLE1BQU14RixJQUFJLENBQUMsSUFBSSxDQUFDK0UsT0FBTyxDQUFDdUIsTUFBTTtRQUMxQyxJQUFJLENBQUNoQixLQUFLZixNQUFNLEVBQUU7WUFDaEIsT0FBTzdFO1FBQ1Q7UUFDQSxNQUFNUyxNQUFNLE9BQU9tRixJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVdBLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQ3JFLEtBQUtxRSxJQUFJLENBQUMsRUFBRSxLQUFLLE9BQU8sS0FBSyxJQUFJckUsR0FBR3RCLElBQUk7UUFDN0YsT0FBT0QsSUFBSW1DLE1BQU0sQ0FBQyxDQUFDYixJQUFNQSxFQUFFckIsSUFBSSxLQUFLUTtJQUN0QztJQUNBd0YsSUFBSWhHLElBQUksRUFBRTtRQUNSLE9BQU8sSUFBSSxDQUFDb0YsT0FBTyxDQUFDWSxHQUFHLENBQUNoRztJQUMxQjtJQUNBOztHQUVDLEdBQ0Q2QyxJQUFJLEdBQUc4QyxJQUFJLEVBQUU7UUFDWCxNQUFNLENBQUMzRixNQUFNWSxPQUFPMEIsT0FBTyxHQUFHcUQsS0FBS2YsTUFBTSxLQUFLLElBQUk7WUFBQ2UsSUFBSSxDQUFDLEVBQUUsQ0FBQzNGLElBQUk7WUFBRTJGLElBQUksQ0FBQyxFQUFFLENBQUMvRSxLQUFLO1lBQUUrRSxJQUFJLENBQUMsRUFBRTtTQUFDLEdBQUdBO1FBQzNGLE1BQU1wRCxNQUFNLElBQUksQ0FBQzZDLE9BQU87UUFDeEI3QyxJQUFJTSxHQUFHLENBQUM3QyxNQUFNbUgsZ0JBQWdCO1lBQUVuSDtZQUFNWTtZQUFPLEdBQUcwQixNQUFNO1FBQUM7UUFDdkQ4RSxRQUFRN0UsS0FBSyxJQUFJLENBQUM4QyxRQUFRO1FBQzFCLE9BQU8sSUFBSTtJQUNiO0lBQ0E7O0dBRUMsR0FDRFksT0FBTyxHQUFHTixJQUFJLEVBQUU7UUFDZCxNQUFNLENBQUMzRixNQUFNd0IsTUFBTUssT0FBTyxHQUFHLE9BQU84RCxJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVc7WUFBQ0EsSUFBSSxDQUFDLEVBQUU7U0FBQyxHQUFHO1lBQUNBLElBQUksQ0FBQyxFQUFFLENBQUMzRixJQUFJO1lBQUUyRixJQUFJLENBQUMsRUFBRSxDQUFDbkUsSUFBSTtZQUFFbUUsSUFBSSxDQUFDLEVBQUUsQ0FBQzlELE1BQU07U0FBQztRQUNuSCxPQUFPLElBQUksQ0FBQ2dCLEdBQUcsQ0FBQztZQUFFN0M7WUFBTXdCO1lBQU1LO1lBQVFqQixPQUFPO1lBQUlhLFNBQVMsYUFBYSxHQUFHLElBQUlDLEtBQUs7UUFBRztJQUN4RjtJQUNBLENBQUM4RCxPQUFPZSxHQUFHLENBQUMsK0JBQStCLEdBQUc7UUFDNUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFQyxLQUFLQyxTQUFTLENBQUNySCxPQUFPaUUsV0FBVyxDQUFDLElBQUksQ0FBQytCLE9BQU8sR0FBRyxDQUFDO0lBQzlFO0lBQ0FzQixXQUFXO1FBQ1QsT0FBTztlQUFJLElBQUksQ0FBQ3RCLE9BQU8sQ0FBQ3VCLE1BQU07U0FBRyxDQUFDcEUsR0FBRyxDQUFDckIsaUJBQWlCbUIsSUFBSSxDQUFDO0lBQzlEO0FBQ0Y7QUFDQSxTQUFTK0UsUUFBUUMsR0FBRyxFQUFFQyxPQUFPO0lBQzNCQSxRQUFRckIsTUFBTSxDQUFDO0lBQ2YsS0FBSyxNQUFNLEdBQUdyRixNQUFNLElBQUl5RyxJQUFLO1FBQzNCLE1BQU1FLGFBQWFyRyxnQkFBZ0JOO1FBQ25DMEcsUUFBUUUsTUFBTSxDQUFDLGNBQWNEO0lBQy9CO0FBQ0Y7QUFDQSxTQUFTSixnQkFBZ0I3RSxTQUFTO0lBQUV0QyxNQUFNO0lBQUlZLE9BQU87QUFBRyxDQUFDO0lBQ3ZELElBQUksT0FBTzBCLE9BQU9iLE9BQU8sS0FBSyxVQUFVO1FBQ3RDYSxPQUFPYixPQUFPLEdBQUcsSUFBSUMsS0FBS1ksT0FBT2IsT0FBTztJQUMxQztJQUNBLElBQUlhLE9BQU9WLE1BQU0sRUFBRTtRQUNqQlUsT0FBT2IsT0FBTyxHQUFHLElBQUlDLEtBQUtBLEtBQUsrRixHQUFHLEtBQUtuRixPQUFPVixNQUFNLEdBQUc7SUFDekQ7SUFDQSxJQUFJVSxPQUFPZCxJQUFJLEtBQUssUUFBUWMsT0FBT2QsSUFBSSxLQUFLLEtBQUssR0FBRztRQUNsRGMsT0FBT2QsSUFBSSxHQUFHO0lBQ2hCO0lBQ0EsT0FBT2M7QUFDVDtBQUNBLDZEQUE2RDtBQUM3RCxLQUFNbkIsQ0FBQUEsQ0FNTiIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvQGVkZ2UtcnVudGltZS9jb29raWVzL2luZGV4LmpzP2MwOTkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG52YXIgX19kZWZQcm9wID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIF9fZ2V0T3duUHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xudmFyIF9fZ2V0T3duUHJvcE5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7XG52YXIgX19oYXNPd25Qcm9wID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbnZhciBfX2V4cG9ydCA9ICh0YXJnZXQsIGFsbCkgPT4ge1xuICBmb3IgKHZhciBuYW1lIGluIGFsbClcbiAgICBfX2RlZlByb3AodGFyZ2V0LCBuYW1lLCB7IGdldDogYWxsW25hbWVdLCBlbnVtZXJhYmxlOiB0cnVlIH0pO1xufTtcbnZhciBfX2NvcHlQcm9wcyA9ICh0bywgZnJvbSwgZXhjZXB0LCBkZXNjKSA9PiB7XG4gIGlmIChmcm9tICYmIHR5cGVvZiBmcm9tID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBmcm9tID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBmb3IgKGxldCBrZXkgb2YgX19nZXRPd25Qcm9wTmFtZXMoZnJvbSkpXG4gICAgICBpZiAoIV9faGFzT3duUHJvcC5jYWxsKHRvLCBrZXkpICYmIGtleSAhPT0gZXhjZXB0KVxuICAgICAgICBfX2RlZlByb3AodG8sIGtleSwgeyBnZXQ6ICgpID0+IGZyb21ba2V5XSwgZW51bWVyYWJsZTogIShkZXNjID0gX19nZXRPd25Qcm9wRGVzYyhmcm9tLCBrZXkpKSB8fCBkZXNjLmVudW1lcmFibGUgfSk7XG4gIH1cbiAgcmV0dXJuIHRvO1xufTtcbnZhciBfX3RvQ29tbW9uSlMgPSAobW9kKSA9PiBfX2NvcHlQcm9wcyhfX2RlZlByb3Aoe30sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pLCBtb2QpO1xuXG4vLyBzcmMvaW5kZXgudHNcbnZhciBzcmNfZXhwb3J0cyA9IHt9O1xuX19leHBvcnQoc3JjX2V4cG9ydHMsIHtcbiAgUmVxdWVzdENvb2tpZXM6ICgpID0+IFJlcXVlc3RDb29raWVzLFxuICBSZXNwb25zZUNvb2tpZXM6ICgpID0+IFJlc3BvbnNlQ29va2llcyxcbiAgcGFyc2VDb29raWU6ICgpID0+IHBhcnNlQ29va2llLFxuICBwYXJzZVNldENvb2tpZTogKCkgPT4gcGFyc2VTZXRDb29raWUsXG4gIHN0cmluZ2lmeUNvb2tpZTogKCkgPT4gc3RyaW5naWZ5Q29va2llXG59KTtcbm1vZHVsZS5leHBvcnRzID0gX190b0NvbW1vbkpTKHNyY19leHBvcnRzKTtcblxuLy8gc3JjL3NlcmlhbGl6ZS50c1xuZnVuY3Rpb24gc3RyaW5naWZ5Q29va2llKGMpIHtcbiAgdmFyIF9hO1xuICBjb25zdCBhdHRycyA9IFtcbiAgICBcInBhdGhcIiBpbiBjICYmIGMucGF0aCAmJiBgUGF0aD0ke2MucGF0aH1gLFxuICAgIFwiZXhwaXJlc1wiIGluIGMgJiYgKGMuZXhwaXJlcyB8fCBjLmV4cGlyZXMgPT09IDApICYmIGBFeHBpcmVzPSR7KHR5cGVvZiBjLmV4cGlyZXMgPT09IFwibnVtYmVyXCIgPyBuZXcgRGF0ZShjLmV4cGlyZXMpIDogYy5leHBpcmVzKS50b1VUQ1N0cmluZygpfWAsXG4gICAgXCJtYXhBZ2VcIiBpbiBjICYmIHR5cGVvZiBjLm1heEFnZSA9PT0gXCJudW1iZXJcIiAmJiBgTWF4LUFnZT0ke2MubWF4QWdlfWAsXG4gICAgXCJkb21haW5cIiBpbiBjICYmIGMuZG9tYWluICYmIGBEb21haW49JHtjLmRvbWFpbn1gLFxuICAgIFwic2VjdXJlXCIgaW4gYyAmJiBjLnNlY3VyZSAmJiBcIlNlY3VyZVwiLFxuICAgIFwiaHR0cE9ubHlcIiBpbiBjICYmIGMuaHR0cE9ubHkgJiYgXCJIdHRwT25seVwiLFxuICAgIFwic2FtZVNpdGVcIiBpbiBjICYmIGMuc2FtZVNpdGUgJiYgYFNhbWVTaXRlPSR7Yy5zYW1lU2l0ZX1gLFxuICAgIFwicHJpb3JpdHlcIiBpbiBjICYmIGMucHJpb3JpdHkgJiYgYFByaW9yaXR5PSR7Yy5wcmlvcml0eX1gXG4gIF0uZmlsdGVyKEJvb2xlYW4pO1xuICByZXR1cm4gYCR7Yy5uYW1lfT0ke2VuY29kZVVSSUNvbXBvbmVudCgoX2EgPSBjLnZhbHVlKSAhPSBudWxsID8gX2EgOiBcIlwiKX07ICR7YXR0cnMuam9pbihcIjsgXCIpfWA7XG59XG5mdW5jdGlvbiBwYXJzZUNvb2tpZShjb29raWUpIHtcbiAgY29uc3QgbWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgZm9yIChjb25zdCBwYWlyIG9mIGNvb2tpZS5zcGxpdCgvOyAqLykpIHtcbiAgICBpZiAoIXBhaXIpXG4gICAgICBjb250aW51ZTtcbiAgICBjb25zdCBzcGxpdEF0ID0gcGFpci5pbmRleE9mKFwiPVwiKTtcbiAgICBpZiAoc3BsaXRBdCA9PT0gLTEpIHtcbiAgICAgIG1hcC5zZXQocGFpciwgXCJ0cnVlXCIpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IFtwYWlyLnNsaWNlKDAsIHNwbGl0QXQpLCBwYWlyLnNsaWNlKHNwbGl0QXQgKyAxKV07XG4gICAgdHJ5IHtcbiAgICAgIG1hcC5zZXQoa2V5LCBkZWNvZGVVUklDb21wb25lbnQodmFsdWUgIT0gbnVsbCA/IHZhbHVlIDogXCJ0cnVlXCIpKTtcbiAgICB9IGNhdGNoIHtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1hcDtcbn1cbmZ1bmN0aW9uIHBhcnNlU2V0Q29va2llKHNldENvb2tpZSkge1xuICBpZiAoIXNldENvb2tpZSkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgY29uc3QgW1tuYW1lLCB2YWx1ZV0sIC4uLmF0dHJpYnV0ZXNdID0gcGFyc2VDb29raWUoc2V0Q29va2llKTtcbiAgY29uc3Qge1xuICAgIGRvbWFpbixcbiAgICBleHBpcmVzLFxuICAgIGh0dHBvbmx5LFxuICAgIG1heGFnZSxcbiAgICBwYXRoLFxuICAgIHNhbWVzaXRlLFxuICAgIHNlY3VyZSxcbiAgICBwcmlvcml0eVxuICB9ID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIGF0dHJpYnV0ZXMubWFwKChba2V5LCB2YWx1ZTJdKSA9PiBba2V5LnRvTG93ZXJDYXNlKCksIHZhbHVlMl0pXG4gICk7XG4gIGNvbnN0IGNvb2tpZSA9IHtcbiAgICBuYW1lLFxuICAgIHZhbHVlOiBkZWNvZGVVUklDb21wb25lbnQodmFsdWUpLFxuICAgIGRvbWFpbixcbiAgICAuLi5leHBpcmVzICYmIHsgZXhwaXJlczogbmV3IERhdGUoZXhwaXJlcykgfSxcbiAgICAuLi5odHRwb25seSAmJiB7IGh0dHBPbmx5OiB0cnVlIH0sXG4gICAgLi4udHlwZW9mIG1heGFnZSA9PT0gXCJzdHJpbmdcIiAmJiB7IG1heEFnZTogTnVtYmVyKG1heGFnZSkgfSxcbiAgICBwYXRoLFxuICAgIC4uLnNhbWVzaXRlICYmIHsgc2FtZVNpdGU6IHBhcnNlU2FtZVNpdGUoc2FtZXNpdGUpIH0sXG4gICAgLi4uc2VjdXJlICYmIHsgc2VjdXJlOiB0cnVlIH0sXG4gICAgLi4ucHJpb3JpdHkgJiYgeyBwcmlvcml0eTogcGFyc2VQcmlvcml0eShwcmlvcml0eSkgfVxuICB9O1xuICByZXR1cm4gY29tcGFjdChjb29raWUpO1xufVxuZnVuY3Rpb24gY29tcGFjdCh0KSB7XG4gIGNvbnN0IG5ld1QgPSB7fTtcbiAgZm9yIChjb25zdCBrZXkgaW4gdCkge1xuICAgIGlmICh0W2tleV0pIHtcbiAgICAgIG5ld1Rba2V5XSA9IHRba2V5XTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5ld1Q7XG59XG52YXIgU0FNRV9TSVRFID0gW1wic3RyaWN0XCIsIFwibGF4XCIsIFwibm9uZVwiXTtcbmZ1bmN0aW9uIHBhcnNlU2FtZVNpdGUoc3RyaW5nKSB7XG4gIHN0cmluZyA9IHN0cmluZy50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gU0FNRV9TSVRFLmluY2x1ZGVzKHN0cmluZykgPyBzdHJpbmcgOiB2b2lkIDA7XG59XG52YXIgUFJJT1JJVFkgPSBbXCJsb3dcIiwgXCJtZWRpdW1cIiwgXCJoaWdoXCJdO1xuZnVuY3Rpb24gcGFyc2VQcmlvcml0eShzdHJpbmcpIHtcbiAgc3RyaW5nID0gc3RyaW5nLnRvTG93ZXJDYXNlKCk7XG4gIHJldHVybiBQUklPUklUWS5pbmNsdWRlcyhzdHJpbmcpID8gc3RyaW5nIDogdm9pZCAwO1xufVxuZnVuY3Rpb24gc3BsaXRDb29raWVzU3RyaW5nKGNvb2tpZXNTdHJpbmcpIHtcbiAgaWYgKCFjb29raWVzU3RyaW5nKVxuICAgIHJldHVybiBbXTtcbiAgdmFyIGNvb2tpZXNTdHJpbmdzID0gW107XG4gIHZhciBwb3MgPSAwO1xuICB2YXIgc3RhcnQ7XG4gIHZhciBjaDtcbiAgdmFyIGxhc3RDb21tYTtcbiAgdmFyIG5leHRTdGFydDtcbiAgdmFyIGNvb2tpZXNTZXBhcmF0b3JGb3VuZDtcbiAgZnVuY3Rpb24gc2tpcFdoaXRlc3BhY2UoKSB7XG4gICAgd2hpbGUgKHBvcyA8IGNvb2tpZXNTdHJpbmcubGVuZ3RoICYmIC9cXHMvLnRlc3QoY29va2llc1N0cmluZy5jaGFyQXQocG9zKSkpIHtcbiAgICAgIHBvcyArPSAxO1xuICAgIH1cbiAgICByZXR1cm4gcG9zIDwgY29va2llc1N0cmluZy5sZW5ndGg7XG4gIH1cbiAgZnVuY3Rpb24gbm90U3BlY2lhbENoYXIoKSB7XG4gICAgY2ggPSBjb29raWVzU3RyaW5nLmNoYXJBdChwb3MpO1xuICAgIHJldHVybiBjaCAhPT0gXCI9XCIgJiYgY2ggIT09IFwiO1wiICYmIGNoICE9PSBcIixcIjtcbiAgfVxuICB3aGlsZSAocG9zIDwgY29va2llc1N0cmluZy5sZW5ndGgpIHtcbiAgICBzdGFydCA9IHBvcztcbiAgICBjb29raWVzU2VwYXJhdG9yRm91bmQgPSBmYWxzZTtcbiAgICB3aGlsZSAoc2tpcFdoaXRlc3BhY2UoKSkge1xuICAgICAgY2ggPSBjb29raWVzU3RyaW5nLmNoYXJBdChwb3MpO1xuICAgICAgaWYgKGNoID09PSBcIixcIikge1xuICAgICAgICBsYXN0Q29tbWEgPSBwb3M7XG4gICAgICAgIHBvcyArPSAxO1xuICAgICAgICBza2lwV2hpdGVzcGFjZSgpO1xuICAgICAgICBuZXh0U3RhcnQgPSBwb3M7XG4gICAgICAgIHdoaWxlIChwb3MgPCBjb29raWVzU3RyaW5nLmxlbmd0aCAmJiBub3RTcGVjaWFsQ2hhcigpKSB7XG4gICAgICAgICAgcG9zICs9IDE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBvcyA8IGNvb2tpZXNTdHJpbmcubGVuZ3RoICYmIGNvb2tpZXNTdHJpbmcuY2hhckF0KHBvcykgPT09IFwiPVwiKSB7XG4gICAgICAgICAgY29va2llc1NlcGFyYXRvckZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICBwb3MgPSBuZXh0U3RhcnQ7XG4gICAgICAgICAgY29va2llc1N0cmluZ3MucHVzaChjb29raWVzU3RyaW5nLnN1YnN0cmluZyhzdGFydCwgbGFzdENvbW1hKSk7XG4gICAgICAgICAgc3RhcnQgPSBwb3M7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcG9zID0gbGFzdENvbW1hICsgMTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcG9zICs9IDE7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghY29va2llc1NlcGFyYXRvckZvdW5kIHx8IHBvcyA+PSBjb29raWVzU3RyaW5nLmxlbmd0aCkge1xuICAgICAgY29va2llc1N0cmluZ3MucHVzaChjb29raWVzU3RyaW5nLnN1YnN0cmluZyhzdGFydCwgY29va2llc1N0cmluZy5sZW5ndGgpKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGNvb2tpZXNTdHJpbmdzO1xufVxuXG4vLyBzcmMvcmVxdWVzdC1jb29raWVzLnRzXG52YXIgUmVxdWVzdENvb2tpZXMgPSBjbGFzcyB7XG4gIGNvbnN0cnVjdG9yKHJlcXVlc3RIZWFkZXJzKSB7XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHRoaXMuX3BhcnNlZCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gICAgdGhpcy5faGVhZGVycyA9IHJlcXVlc3RIZWFkZXJzO1xuICAgIGNvbnN0IGhlYWRlciA9IHJlcXVlc3RIZWFkZXJzLmdldChcImNvb2tpZVwiKTtcbiAgICBpZiAoaGVhZGVyKSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUNvb2tpZShoZWFkZXIpO1xuICAgICAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIHBhcnNlZCkge1xuICAgICAgICB0aGlzLl9wYXJzZWQuc2V0KG5hbWUsIHsgbmFtZSwgdmFsdWUgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFtTeW1ib2wuaXRlcmF0b3JdKCkge1xuICAgIHJldHVybiB0aGlzLl9wYXJzZWRbU3ltYm9sLml0ZXJhdG9yXSgpO1xuICB9XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIGNvb2tpZXMgcmVjZWl2ZWQgZnJvbSB0aGUgY2xpZW50XG4gICAqL1xuICBnZXQgc2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyc2VkLnNpemU7XG4gIH1cbiAgZ2V0KC4uLmFyZ3MpIHtcbiAgICBjb25zdCBuYW1lID0gdHlwZW9mIGFyZ3NbMF0gPT09IFwic3RyaW5nXCIgPyBhcmdzWzBdIDogYXJnc1swXS5uYW1lO1xuICAgIHJldHVybiB0aGlzLl9wYXJzZWQuZ2V0KG5hbWUpO1xuICB9XG4gIGdldEFsbCguLi5hcmdzKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IGFsbCA9IEFycmF5LmZyb20odGhpcy5fcGFyc2VkKTtcbiAgICBpZiAoIWFyZ3MubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gYWxsLm1hcCgoW18sIHZhbHVlXSkgPT4gdmFsdWUpO1xuICAgIH1cbiAgICBjb25zdCBuYW1lID0gdHlwZW9mIGFyZ3NbMF0gPT09IFwic3RyaW5nXCIgPyBhcmdzWzBdIDogKF9hID0gYXJnc1swXSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLm5hbWU7XG4gICAgcmV0dXJuIGFsbC5maWx0ZXIoKFtuXSkgPT4gbiA9PT0gbmFtZSkubWFwKChbXywgdmFsdWVdKSA9PiB2YWx1ZSk7XG4gIH1cbiAgaGFzKG5hbWUpIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyc2VkLmhhcyhuYW1lKTtcbiAgfVxuICBzZXQoLi4uYXJncykge1xuICAgIGNvbnN0IFtuYW1lLCB2YWx1ZV0gPSBhcmdzLmxlbmd0aCA9PT0gMSA/IFthcmdzWzBdLm5hbWUsIGFyZ3NbMF0udmFsdWVdIDogYXJncztcbiAgICBjb25zdCBtYXAgPSB0aGlzLl9wYXJzZWQ7XG4gICAgbWFwLnNldChuYW1lLCB7IG5hbWUsIHZhbHVlIH0pO1xuICAgIHRoaXMuX2hlYWRlcnMuc2V0KFxuICAgICAgXCJjb29raWVcIixcbiAgICAgIEFycmF5LmZyb20obWFwKS5tYXAoKFtfLCB2YWx1ZTJdKSA9PiBzdHJpbmdpZnlDb29raWUodmFsdWUyKSkuam9pbihcIjsgXCIpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuICAvKipcbiAgICogRGVsZXRlIHRoZSBjb29raWVzIG1hdGNoaW5nIHRoZSBwYXNzZWQgbmFtZSBvciBuYW1lcyBpbiB0aGUgcmVxdWVzdC5cbiAgICovXG4gIGRlbGV0ZShuYW1lcykge1xuICAgIGNvbnN0IG1hcCA9IHRoaXMuX3BhcnNlZDtcbiAgICBjb25zdCByZXN1bHQgPSAhQXJyYXkuaXNBcnJheShuYW1lcykgPyBtYXAuZGVsZXRlKG5hbWVzKSA6IG5hbWVzLm1hcCgobmFtZSkgPT4gbWFwLmRlbGV0ZShuYW1lKSk7XG4gICAgdGhpcy5faGVhZGVycy5zZXQoXG4gICAgICBcImNvb2tpZVwiLFxuICAgICAgQXJyYXkuZnJvbShtYXApLm1hcCgoW18sIHZhbHVlXSkgPT4gc3RyaW5naWZ5Q29va2llKHZhbHVlKSkuam9pbihcIjsgXCIpXG4gICAgKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIC8qKlxuICAgKiBEZWxldGUgYWxsIHRoZSBjb29raWVzIGluIHRoZSBjb29raWVzIGluIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5kZWxldGUoQXJyYXkuZnJvbSh0aGlzLl9wYXJzZWQua2V5cygpKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgLyoqXG4gICAqIEZvcm1hdCB0aGUgY29va2llcyBpbiB0aGUgcmVxdWVzdCBhcyBhIHN0cmluZyBmb3IgbG9nZ2luZ1xuICAgKi9cbiAgW1N5bWJvbC5mb3IoXCJlZGdlLXJ1bnRpbWUuaW5zcGVjdC5jdXN0b21cIildKCkge1xuICAgIHJldHVybiBgUmVxdWVzdENvb2tpZXMgJHtKU09OLnN0cmluZ2lmeShPYmplY3QuZnJvbUVudHJpZXModGhpcy5fcGFyc2VkKSl9YDtcbiAgfVxuICB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuX3BhcnNlZC52YWx1ZXMoKV0ubWFwKCh2KSA9PiBgJHt2Lm5hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHYudmFsdWUpfWApLmpvaW4oXCI7IFwiKTtcbiAgfVxufTtcblxuLy8gc3JjL3Jlc3BvbnNlLWNvb2tpZXMudHNcbnZhciBSZXNwb25zZUNvb2tpZXMgPSBjbGFzcyB7XG4gIGNvbnN0cnVjdG9yKHJlc3BvbnNlSGVhZGVycykge1xuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICB0aGlzLl9wYXJzZWQgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuICAgIHZhciBfYSwgX2IsIF9jO1xuICAgIHRoaXMuX2hlYWRlcnMgPSByZXNwb25zZUhlYWRlcnM7XG4gICAgY29uc3Qgc2V0Q29va2llID0gKF9jID0gKF9iID0gKF9hID0gcmVzcG9uc2VIZWFkZXJzLmdldFNldENvb2tpZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmNhbGwocmVzcG9uc2VIZWFkZXJzKSkgIT0gbnVsbCA/IF9iIDogcmVzcG9uc2VIZWFkZXJzLmdldChcInNldC1jb29raWVcIikpICE9IG51bGwgPyBfYyA6IFtdO1xuICAgIGNvbnN0IGNvb2tpZVN0cmluZ3MgPSBBcnJheS5pc0FycmF5KHNldENvb2tpZSkgPyBzZXRDb29raWUgOiBzcGxpdENvb2tpZXNTdHJpbmcoc2V0Q29va2llKTtcbiAgICBmb3IgKGNvbnN0IGNvb2tpZVN0cmluZyBvZiBjb29raWVTdHJpbmdzKSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZVNldENvb2tpZShjb29raWVTdHJpbmcpO1xuICAgICAgaWYgKHBhcnNlZClcbiAgICAgICAgdGhpcy5fcGFyc2VkLnNldChwYXJzZWQubmFtZSwgcGFyc2VkKTtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIHtAbGluayBodHRwczovL3dpY2cuZ2l0aHViLmlvL2Nvb2tpZS1zdG9yZS8jQ29va2llU3RvcmUtZ2V0IENvb2tpZVN0b3JlI2dldH0gd2l0aG91dCB0aGUgUHJvbWlzZS5cbiAgICovXG4gIGdldCguLi5hcmdzKSB7XG4gICAgY29uc3Qga2V5ID0gdHlwZW9mIGFyZ3NbMF0gPT09IFwic3RyaW5nXCIgPyBhcmdzWzBdIDogYXJnc1swXS5uYW1lO1xuICAgIHJldHVybiB0aGlzLl9wYXJzZWQuZ2V0KGtleSk7XG4gIH1cbiAgLyoqXG4gICAqIHtAbGluayBodHRwczovL3dpY2cuZ2l0aHViLmlvL2Nvb2tpZS1zdG9yZS8jQ29va2llU3RvcmUtZ2V0QWxsIENvb2tpZVN0b3JlI2dldEFsbH0gd2l0aG91dCB0aGUgUHJvbWlzZS5cbiAgICovXG4gIGdldEFsbCguLi5hcmdzKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IGFsbCA9IEFycmF5LmZyb20odGhpcy5fcGFyc2VkLnZhbHVlcygpKTtcbiAgICBpZiAoIWFyZ3MubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gYWxsO1xuICAgIH1cbiAgICBjb25zdCBrZXkgPSB0eXBlb2YgYXJnc1swXSA9PT0gXCJzdHJpbmdcIiA/IGFyZ3NbMF0gOiAoX2EgPSBhcmdzWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX2EubmFtZTtcbiAgICByZXR1cm4gYWxsLmZpbHRlcigoYykgPT4gYy5uYW1lID09PSBrZXkpO1xuICB9XG4gIGhhcyhuYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnNlZC5oYXMobmFtZSk7XG4gIH1cbiAgLyoqXG4gICAqIHtAbGluayBodHRwczovL3dpY2cuZ2l0aHViLmlvL2Nvb2tpZS1zdG9yZS8jQ29va2llU3RvcmUtc2V0IENvb2tpZVN0b3JlI3NldH0gd2l0aG91dCB0aGUgUHJvbWlzZS5cbiAgICovXG4gIHNldCguLi5hcmdzKSB7XG4gICAgY29uc3QgW25hbWUsIHZhbHVlLCBjb29raWVdID0gYXJncy5sZW5ndGggPT09IDEgPyBbYXJnc1swXS5uYW1lLCBhcmdzWzBdLnZhbHVlLCBhcmdzWzBdXSA6IGFyZ3M7XG4gICAgY29uc3QgbWFwID0gdGhpcy5fcGFyc2VkO1xuICAgIG1hcC5zZXQobmFtZSwgbm9ybWFsaXplQ29va2llKHsgbmFtZSwgdmFsdWUsIC4uLmNvb2tpZSB9KSk7XG4gICAgcmVwbGFjZShtYXAsIHRoaXMuX2hlYWRlcnMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9jb29raWUtc3RvcmUvI0Nvb2tpZVN0b3JlLWRlbGV0ZSBDb29raWVTdG9yZSNkZWxldGV9IHdpdGhvdXQgdGhlIFByb21pc2UuXG4gICAqL1xuICBkZWxldGUoLi4uYXJncykge1xuICAgIGNvbnN0IFtuYW1lLCBwYXRoLCBkb21haW5dID0gdHlwZW9mIGFyZ3NbMF0gPT09IFwic3RyaW5nXCIgPyBbYXJnc1swXV0gOiBbYXJnc1swXS5uYW1lLCBhcmdzWzBdLnBhdGgsIGFyZ3NbMF0uZG9tYWluXTtcbiAgICByZXR1cm4gdGhpcy5zZXQoeyBuYW1lLCBwYXRoLCBkb21haW4sIHZhbHVlOiBcIlwiLCBleHBpcmVzOiAvKiBAX19QVVJFX18gKi8gbmV3IERhdGUoMCkgfSk7XG4gIH1cbiAgW1N5bWJvbC5mb3IoXCJlZGdlLXJ1bnRpbWUuaW5zcGVjdC5jdXN0b21cIildKCkge1xuICAgIHJldHVybiBgUmVzcG9uc2VDb29raWVzICR7SlNPTi5zdHJpbmdpZnkoT2JqZWN0LmZyb21FbnRyaWVzKHRoaXMuX3BhcnNlZCkpfWA7XG4gIH1cbiAgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLl9wYXJzZWQudmFsdWVzKCldLm1hcChzdHJpbmdpZnlDb29raWUpLmpvaW4oXCI7IFwiKTtcbiAgfVxufTtcbmZ1bmN0aW9uIHJlcGxhY2UoYmFnLCBoZWFkZXJzKSB7XG4gIGhlYWRlcnMuZGVsZXRlKFwic2V0LWNvb2tpZVwiKTtcbiAgZm9yIChjb25zdCBbLCB2YWx1ZV0gb2YgYmFnKSB7XG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IHN0cmluZ2lmeUNvb2tpZSh2YWx1ZSk7XG4gICAgaGVhZGVycy5hcHBlbmQoXCJzZXQtY29va2llXCIsIHNlcmlhbGl6ZWQpO1xuICB9XG59XG5mdW5jdGlvbiBub3JtYWxpemVDb29raWUoY29va2llID0geyBuYW1lOiBcIlwiLCB2YWx1ZTogXCJcIiB9KSB7XG4gIGlmICh0eXBlb2YgY29va2llLmV4cGlyZXMgPT09IFwibnVtYmVyXCIpIHtcbiAgICBjb29raWUuZXhwaXJlcyA9IG5ldyBEYXRlKGNvb2tpZS5leHBpcmVzKTtcbiAgfVxuICBpZiAoY29va2llLm1heEFnZSkge1xuICAgIGNvb2tpZS5leHBpcmVzID0gbmV3IERhdGUoRGF0ZS5ub3coKSArIGNvb2tpZS5tYXhBZ2UgKiAxZTMpO1xuICB9XG4gIGlmIChjb29raWUucGF0aCA9PT0gbnVsbCB8fCBjb29raWUucGF0aCA9PT0gdm9pZCAwKSB7XG4gICAgY29va2llLnBhdGggPSBcIi9cIjtcbiAgfVxuICByZXR1cm4gY29va2llO1xufVxuLy8gQW5ub3RhdGUgdGhlIENvbW1vbkpTIGV4cG9ydCBuYW1lcyBmb3IgRVNNIGltcG9ydCBpbiBub2RlOlxuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gIFJlcXVlc3RDb29raWVzLFxuICBSZXNwb25zZUNvb2tpZXMsXG4gIHBhcnNlQ29va2llLFxuICBwYXJzZVNldENvb2tpZSxcbiAgc3RyaW5naWZ5Q29va2llXG59KTtcbiJdLCJuYW1lcyI6WyJfX2RlZlByb3AiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsIl9fZ2V0T3duUHJvcERlc2MiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfX2dldE93blByb3BOYW1lcyIsImdldE93blByb3BlcnR5TmFtZXMiLCJfX2hhc093blByb3AiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsIl9fZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImdldCIsImVudW1lcmFibGUiLCJfX2NvcHlQcm9wcyIsInRvIiwiZnJvbSIsImV4Y2VwdCIsImRlc2MiLCJrZXkiLCJjYWxsIiwiX190b0NvbW1vbkpTIiwibW9kIiwidmFsdWUiLCJzcmNfZXhwb3J0cyIsIlJlcXVlc3RDb29raWVzIiwiUmVzcG9uc2VDb29raWVzIiwicGFyc2VDb29raWUiLCJwYXJzZVNldENvb2tpZSIsInN0cmluZ2lmeUNvb2tpZSIsIm1vZHVsZSIsImV4cG9ydHMiLCJjIiwiX2EiLCJhdHRycyIsInBhdGgiLCJleHBpcmVzIiwiRGF0ZSIsInRvVVRDU3RyaW5nIiwibWF4QWdlIiwiZG9tYWluIiwic2VjdXJlIiwiaHR0cE9ubHkiLCJzYW1lU2l0ZSIsInByaW9yaXR5IiwiZmlsdGVyIiwiQm9vbGVhbiIsImVuY29kZVVSSUNvbXBvbmVudCIsImpvaW4iLCJjb29raWUiLCJtYXAiLCJNYXAiLCJwYWlyIiwic3BsaXQiLCJzcGxpdEF0IiwiaW5kZXhPZiIsInNldCIsInNsaWNlIiwiZGVjb2RlVVJJQ29tcG9uZW50Iiwic2V0Q29va2llIiwiYXR0cmlidXRlcyIsImh0dHBvbmx5IiwibWF4YWdlIiwic2FtZXNpdGUiLCJmcm9tRW50cmllcyIsInZhbHVlMiIsInRvTG93ZXJDYXNlIiwiTnVtYmVyIiwicGFyc2VTYW1lU2l0ZSIsInBhcnNlUHJpb3JpdHkiLCJjb21wYWN0IiwidCIsIm5ld1QiLCJTQU1FX1NJVEUiLCJzdHJpbmciLCJpbmNsdWRlcyIsIlBSSU9SSVRZIiwic3BsaXRDb29raWVzU3RyaW5nIiwiY29va2llc1N0cmluZyIsImNvb2tpZXNTdHJpbmdzIiwicG9zIiwic3RhcnQiLCJjaCIsImxhc3RDb21tYSIsIm5leHRTdGFydCIsImNvb2tpZXNTZXBhcmF0b3JGb3VuZCIsInNraXBXaGl0ZXNwYWNlIiwibGVuZ3RoIiwidGVzdCIsImNoYXJBdCIsIm5vdFNwZWNpYWxDaGFyIiwicHVzaCIsInN1YnN0cmluZyIsImNvbnN0cnVjdG9yIiwicmVxdWVzdEhlYWRlcnMiLCJfcGFyc2VkIiwiX2hlYWRlcnMiLCJoZWFkZXIiLCJwYXJzZWQiLCJTeW1ib2wiLCJpdGVyYXRvciIsInNpemUiLCJhcmdzIiwiZ2V0QWxsIiwiQXJyYXkiLCJfIiwibiIsImhhcyIsImRlbGV0ZSIsIm5hbWVzIiwicmVzdWx0IiwiaXNBcnJheSIsImNsZWFyIiwia2V5cyIsImZvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0b1N0cmluZyIsInZhbHVlcyIsInYiLCJyZXNwb25zZUhlYWRlcnMiLCJfYiIsIl9jIiwiZ2V0U2V0Q29va2llIiwiY29va2llU3RyaW5ncyIsImNvb2tpZVN0cmluZyIsIm5vcm1hbGl6ZUNvb2tpZSIsInJlcGxhY2UiLCJiYWciLCJoZWFkZXJzIiwic2VyaWFsaXplZCIsImFwcGVuZCIsIm5vdyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/compiled/@opentelemetry/api/index.js ***! \*********************************************************************/ /***/ ((module) => { "use strict"; eval("\n(()=>{\n \"use strict\";\n var e = {\n 491: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.ContextAPI = void 0;\n const n = r(223);\n const a = r(172);\n const o = r(930);\n const i = \"context\";\n const c = new n.NoopContextManager;\n class ContextAPI {\n constructor(){}\n static getInstance() {\n if (!this._instance) {\n this._instance = new ContextAPI;\n }\n return this._instance;\n }\n setGlobalContextManager(e) {\n return (0, a.registerGlobal)(i, e, o.DiagAPI.instance());\n }\n active() {\n return this._getContextManager().active();\n }\n with(e, t, r, ...n) {\n return this._getContextManager().with(e, t, r, ...n);\n }\n bind(e, t) {\n return this._getContextManager().bind(e, t);\n }\n _getContextManager() {\n return (0, a.getGlobal)(i) || c;\n }\n disable() {\n this._getContextManager().disable();\n (0, a.unregisterGlobal)(i, o.DiagAPI.instance());\n }\n }\n t.ContextAPI = ContextAPI;\n },\n 930: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.DiagAPI = void 0;\n const n = r(56);\n const a = r(912);\n const o = r(957);\n const i = r(172);\n const c = \"diag\";\n class DiagAPI {\n constructor(){\n function _logProxy(e) {\n return function(...t) {\n const r = (0, i.getGlobal)(\"diag\");\n if (!r) return;\n return r[e](...t);\n };\n }\n const e = this;\n const setLogger = (t, r = {\n logLevel: o.DiagLogLevel.INFO\n })=>{\n var n, c, s;\n if (t === e) {\n const t = new Error(\"Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation\");\n e.error((n = t.stack) !== null && n !== void 0 ? n : t.message);\n return false;\n }\n if (typeof r === \"number\") {\n r = {\n logLevel: r\n };\n }\n const u = (0, i.getGlobal)(\"diag\");\n const l = (0, a.createLogLevelDiagLogger)((c = r.logLevel) !== null && c !== void 0 ? c : o.DiagLogLevel.INFO, t);\n if (u && !r.suppressOverrideMessage) {\n const e = (s = (new Error).stack) !== null && s !== void 0 ? s : \"<failed to generate stacktrace>\";\n u.warn(`Current logger will be overwritten from ${e}`);\n l.warn(`Current logger will overwrite one already registered from ${e}`);\n }\n return (0, i.registerGlobal)(\"diag\", l, e, true);\n };\n e.setLogger = setLogger;\n e.disable = ()=>{\n (0, i.unregisterGlobal)(c, e);\n };\n e.createComponentLogger = (e)=>new n.DiagComponentLogger(e);\n e.verbose = _logProxy(\"verbose\");\n e.debug = _logProxy(\"debug\");\n e.info = _logProxy(\"info\");\n e.warn = _logProxy(\"warn\");\n e.error = _logProxy(\"error\");\n }\n static instance() {\n if (!this._instance) {\n this._instance = new DiagAPI;\n }\n return this._instance;\n }\n }\n t.DiagAPI = DiagAPI;\n },\n 653: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.MetricsAPI = void 0;\n const n = r(660);\n const a = r(172);\n const o = r(930);\n const i = \"metrics\";\n class MetricsAPI {\n constructor(){}\n static getInstance() {\n if (!this._instance) {\n this._instance = new MetricsAPI;\n }\n return this._instance;\n }\n setGlobalMeterProvider(e) {\n return (0, a.registerGlobal)(i, e, o.DiagAPI.instance());\n }\n getMeterProvider() {\n return (0, a.getGlobal)(i) || n.NOOP_METER_PROVIDER;\n }\n getMeter(e, t, r) {\n return this.getMeterProvider().getMeter(e, t, r);\n }\n disable() {\n (0, a.unregisterGlobal)(i, o.DiagAPI.instance());\n }\n }\n t.MetricsAPI = MetricsAPI;\n },\n 181: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.PropagationAPI = void 0;\n const n = r(172);\n const a = r(874);\n const o = r(194);\n const i = r(277);\n const c = r(369);\n const s = r(930);\n const u = \"propagation\";\n const l = new a.NoopTextMapPropagator;\n class PropagationAPI {\n constructor(){\n this.createBaggage = c.createBaggage;\n this.getBaggage = i.getBaggage;\n this.getActiveBaggage = i.getActiveBaggage;\n this.setBaggage = i.setBaggage;\n this.deleteBaggage = i.deleteBaggage;\n }\n static getInstance() {\n if (!this._instance) {\n this._instance = new PropagationAPI;\n }\n return this._instance;\n }\n setGlobalPropagator(e) {\n return (0, n.registerGlobal)(u, e, s.DiagAPI.instance());\n }\n inject(e, t, r = o.defaultTextMapSetter) {\n return this._getGlobalPropagator().inject(e, t, r);\n }\n extract(e, t, r = o.defaultTextMapGetter) {\n return this._getGlobalPropagator().extract(e, t, r);\n }\n fields() {\n return this._getGlobalPropagator().fields();\n }\n disable() {\n (0, n.unregisterGlobal)(u, s.DiagAPI.instance());\n }\n _getGlobalPropagator() {\n return (0, n.getGlobal)(u) || l;\n }\n }\n t.PropagationAPI = PropagationAPI;\n },\n 997: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.TraceAPI = void 0;\n const n = r(172);\n const a = r(846);\n const o = r(139);\n const i = r(607);\n const c = r(930);\n const s = \"trace\";\n class TraceAPI {\n constructor(){\n this._proxyTracerProvider = new a.ProxyTracerProvider;\n this.wrapSpanContext = o.wrapSpanContext;\n this.isSpanContextValid = o.isSpanContextValid;\n this.deleteSpan = i.deleteSpan;\n this.getSpan = i.getSpan;\n this.getActiveSpan = i.getActiveSpan;\n this.getSpanContext = i.getSpanContext;\n this.setSpan = i.setSpan;\n this.setSpanContext = i.setSpanContext;\n }\n static getInstance() {\n if (!this._instance) {\n this._instance = new TraceAPI;\n }\n return this._instance;\n }\n setGlobalTracerProvider(e) {\n const t = (0, n.registerGlobal)(s, this._proxyTracerProvider, c.DiagAPI.instance());\n if (t) {\n this._proxyTracerProvider.setDelegate(e);\n }\n return t;\n }\n getTracerProvider() {\n return (0, n.getGlobal)(s) || this._proxyTracerProvider;\n }\n getTracer(e, t) {\n return this.getTracerProvider().getTracer(e, t);\n }\n disable() {\n (0, n.unregisterGlobal)(s, c.DiagAPI.instance());\n this._proxyTracerProvider = new a.ProxyTracerProvider;\n }\n }\n t.TraceAPI = TraceAPI;\n },\n 277: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.deleteBaggage = t.setBaggage = t.getActiveBaggage = t.getBaggage = void 0;\n const n = r(491);\n const a = r(780);\n const o = (0, a.createContextKey)(\"OpenTelemetry Baggage Key\");\n function getBaggage(e) {\n return e.getValue(o) || undefined;\n }\n t.getBaggage = getBaggage;\n function getActiveBaggage() {\n return getBaggage(n.ContextAPI.getInstance().active());\n }\n t.getActiveBaggage = getActiveBaggage;\n function setBaggage(e, t) {\n return e.setValue(o, t);\n }\n t.setBaggage = setBaggage;\n function deleteBaggage(e) {\n return e.deleteValue(o);\n }\n t.deleteBaggage = deleteBaggage;\n },\n 993: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.BaggageImpl = void 0;\n class BaggageImpl {\n constructor(e){\n this._entries = e ? new Map(e) : new Map;\n }\n getEntry(e) {\n const t = this._entries.get(e);\n if (!t) {\n return undefined;\n }\n return Object.assign({}, t);\n }\n getAllEntries() {\n return Array.from(this._entries.entries()).map(([e, t])=>[\n e,\n t\n ]);\n }\n setEntry(e, t) {\n const r = new BaggageImpl(this._entries);\n r._entries.set(e, t);\n return r;\n }\n removeEntry(e) {\n const t = new BaggageImpl(this._entries);\n t._entries.delete(e);\n return t;\n }\n removeEntries(...e) {\n const t = new BaggageImpl(this._entries);\n for (const r of e){\n t._entries.delete(r);\n }\n return t;\n }\n clear() {\n return new BaggageImpl;\n }\n }\n t.BaggageImpl = BaggageImpl;\n },\n 830: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.baggageEntryMetadataSymbol = void 0;\n t.baggageEntryMetadataSymbol = Symbol(\"BaggageEntryMetadata\");\n },\n 369: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.baggageEntryMetadataFromString = t.createBaggage = void 0;\n const n = r(930);\n const a = r(993);\n const o = r(830);\n const i = n.DiagAPI.instance();\n function createBaggage(e = {}) {\n return new a.BaggageImpl(new Map(Object.entries(e)));\n }\n t.createBaggage = createBaggage;\n function baggageEntryMetadataFromString(e) {\n if (typeof e !== \"string\") {\n i.error(`Cannot create baggage metadata from unknown type: ${typeof e}`);\n e = \"\";\n }\n return {\n __TYPE__: o.baggageEntryMetadataSymbol,\n toString () {\n return e;\n }\n };\n }\n t.baggageEntryMetadataFromString = baggageEntryMetadataFromString;\n },\n 67: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.context = void 0;\n const n = r(491);\n t.context = n.ContextAPI.getInstance();\n },\n 223: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NoopContextManager = void 0;\n const n = r(780);\n class NoopContextManager {\n active() {\n return n.ROOT_CONTEXT;\n }\n with(e, t, r, ...n) {\n return t.call(r, ...n);\n }\n bind(e, t) {\n return t;\n }\n enable() {\n return this;\n }\n disable() {\n return this;\n }\n }\n t.NoopContextManager = NoopContextManager;\n },\n 780: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.ROOT_CONTEXT = t.createContextKey = void 0;\n function createContextKey(e) {\n return Symbol.for(e);\n }\n t.createContextKey = createContextKey;\n class BaseContext {\n constructor(e){\n const t = this;\n t._currentContext = e ? new Map(e) : new Map;\n t.getValue = (e)=>t._currentContext.get(e);\n t.setValue = (e, r)=>{\n const n = new BaseContext(t._currentContext);\n n._currentContext.set(e, r);\n return n;\n };\n t.deleteValue = (e)=>{\n const r = new BaseContext(t._currentContext);\n r._currentContext.delete(e);\n return r;\n };\n }\n }\n t.ROOT_CONTEXT = new BaseContext;\n },\n 506: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.diag = void 0;\n const n = r(930);\n t.diag = n.DiagAPI.instance();\n },\n 56: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.DiagComponentLogger = void 0;\n const n = r(172);\n class DiagComponentLogger {\n constructor(e){\n this._namespace = e.namespace || \"DiagComponentLogger\";\n }\n debug(...e) {\n return logProxy(\"debug\", this._namespace, e);\n }\n error(...e) {\n return logProxy(\"error\", this._namespace, e);\n }\n info(...e) {\n return logProxy(\"info\", this._namespace, e);\n }\n warn(...e) {\n return logProxy(\"warn\", this._namespace, e);\n }\n verbose(...e) {\n return logProxy(\"verbose\", this._namespace, e);\n }\n }\n t.DiagComponentLogger = DiagComponentLogger;\n function logProxy(e, t, r) {\n const a = (0, n.getGlobal)(\"diag\");\n if (!a) {\n return;\n }\n r.unshift(t);\n return a[e](...r);\n }\n },\n 972: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.DiagConsoleLogger = void 0;\n const r = [\n {\n n: \"error\",\n c: \"error\"\n },\n {\n n: \"warn\",\n c: \"warn\"\n },\n {\n n: \"info\",\n c: \"info\"\n },\n {\n n: \"debug\",\n c: \"debug\"\n },\n {\n n: \"verbose\",\n c: \"trace\"\n }\n ];\n class DiagConsoleLogger {\n constructor(){\n function _consoleFunc(e) {\n return function(...t) {\n if (console) {\n let r = console[e];\n if (typeof r !== \"function\") {\n r = console.log;\n }\n if (typeof r === \"function\") {\n return r.apply(console, t);\n }\n }\n };\n }\n for(let e = 0; e < r.length; e++){\n this[r[e].n] = _consoleFunc(r[e].c);\n }\n }\n }\n t.DiagConsoleLogger = DiagConsoleLogger;\n },\n 912: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.createLogLevelDiagLogger = void 0;\n const n = r(957);\n function createLogLevelDiagLogger(e, t) {\n if (e < n.DiagLogLevel.NONE) {\n e = n.DiagLogLevel.NONE;\n } else if (e > n.DiagLogLevel.ALL) {\n e = n.DiagLogLevel.ALL;\n }\n t = t || {};\n function _filterFunc(r, n) {\n const a = t[r];\n if (typeof a === \"function\" && e >= n) {\n return a.bind(t);\n }\n return function() {};\n }\n return {\n error: _filterFunc(\"error\", n.DiagLogLevel.ERROR),\n warn: _filterFunc(\"warn\", n.DiagLogLevel.WARN),\n info: _filterFunc(\"info\", n.DiagLogLevel.INFO),\n debug: _filterFunc(\"debug\", n.DiagLogLevel.DEBUG),\n verbose: _filterFunc(\"verbose\", n.DiagLogLevel.VERBOSE)\n };\n }\n t.createLogLevelDiagLogger = createLogLevelDiagLogger;\n },\n 957: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.DiagLogLevel = void 0;\n var r;\n (function(e) {\n e[e[\"NONE\"] = 0] = \"NONE\";\n e[e[\"ERROR\"] = 30] = \"ERROR\";\n e[e[\"WARN\"] = 50] = \"WARN\";\n e[e[\"INFO\"] = 60] = \"INFO\";\n e[e[\"DEBUG\"] = 70] = \"DEBUG\";\n e[e[\"VERBOSE\"] = 80] = \"VERBOSE\";\n e[e[\"ALL\"] = 9999] = \"ALL\";\n })(r = t.DiagLogLevel || (t.DiagLogLevel = {}));\n },\n 172: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.unregisterGlobal = t.getGlobal = t.registerGlobal = void 0;\n const n = r(200);\n const a = r(521);\n const o = r(130);\n const i = a.VERSION.split(\".\")[0];\n const c = Symbol.for(`opentelemetry.js.api.${i}`);\n const s = n._globalThis;\n function registerGlobal(e, t, r, n = false) {\n var o;\n const i = s[c] = (o = s[c]) !== null && o !== void 0 ? o : {\n version: a.VERSION\n };\n if (!n && i[e]) {\n const t = new Error(`@opentelemetry/api: Attempted duplicate registration of API: ${e}`);\n r.error(t.stack || t.message);\n return false;\n }\n if (i.version !== a.VERSION) {\n const t = new Error(`@opentelemetry/api: Registration of version v${i.version} for ${e} does not match previously registered API v${a.VERSION}`);\n r.error(t.stack || t.message);\n return false;\n }\n i[e] = t;\n r.debug(`@opentelemetry/api: Registered a global for ${e} v${a.VERSION}.`);\n return true;\n }\n t.registerGlobal = registerGlobal;\n function getGlobal(e) {\n var t, r;\n const n = (t = s[c]) === null || t === void 0 ? void 0 : t.version;\n if (!n || !(0, o.isCompatible)(n)) {\n return;\n }\n return (r = s[c]) === null || r === void 0 ? void 0 : r[e];\n }\n t.getGlobal = getGlobal;\n function unregisterGlobal(e, t) {\n t.debug(`@opentelemetry/api: Unregistering a global for ${e} v${a.VERSION}.`);\n const r = s[c];\n if (r) {\n delete r[e];\n }\n }\n t.unregisterGlobal = unregisterGlobal;\n },\n 130: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.isCompatible = t._makeCompatibilityCheck = void 0;\n const n = r(521);\n const a = /^(\\d+)\\.(\\d+)\\.(\\d+)(-(.+))?$/;\n function _makeCompatibilityCheck(e) {\n const t = new Set([\n e\n ]);\n const r = new Set;\n const n = e.match(a);\n if (!n) {\n return ()=>false;\n }\n const o = {\n major: +n[1],\n minor: +n[2],\n patch: +n[3],\n prerelease: n[4]\n };\n if (o.prerelease != null) {\n return function isExactmatch(t) {\n return t === e;\n };\n }\n function _reject(e) {\n r.add(e);\n return false;\n }\n function _accept(e) {\n t.add(e);\n return true;\n }\n return function isCompatible(e) {\n if (t.has(e)) {\n return true;\n }\n if (r.has(e)) {\n return false;\n }\n const n = e.match(a);\n if (!n) {\n return _reject(e);\n }\n const i = {\n major: +n[1],\n minor: +n[2],\n patch: +n[3],\n prerelease: n[4]\n };\n if (i.prerelease != null) {\n return _reject(e);\n }\n if (o.major !== i.major) {\n return _reject(e);\n }\n if (o.major === 0) {\n if (o.minor === i.minor && o.patch <= i.patch) {\n return _accept(e);\n }\n return _reject(e);\n }\n if (o.minor <= i.minor) {\n return _accept(e);\n }\n return _reject(e);\n };\n }\n t._makeCompatibilityCheck = _makeCompatibilityCheck;\n t.isCompatible = _makeCompatibilityCheck(n.VERSION);\n },\n 886: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.metrics = void 0;\n const n = r(653);\n t.metrics = n.MetricsAPI.getInstance();\n },\n 901: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.ValueType = void 0;\n var r;\n (function(e) {\n e[e[\"INT\"] = 0] = \"INT\";\n e[e[\"DOUBLE\"] = 1] = \"DOUBLE\";\n })(r = t.ValueType || (t.ValueType = {}));\n },\n 102: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.createNoopMeter = t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = t.NOOP_OBSERVABLE_GAUGE_METRIC = t.NOOP_OBSERVABLE_COUNTER_METRIC = t.NOOP_UP_DOWN_COUNTER_METRIC = t.NOOP_HISTOGRAM_METRIC = t.NOOP_COUNTER_METRIC = t.NOOP_METER = t.NoopObservableUpDownCounterMetric = t.NoopObservableGaugeMetric = t.NoopObservableCounterMetric = t.NoopObservableMetric = t.NoopHistogramMetric = t.NoopUpDownCounterMetric = t.NoopCounterMetric = t.NoopMetric = t.NoopMeter = void 0;\n class NoopMeter {\n constructor(){}\n createHistogram(e, r) {\n return t.NOOP_HISTOGRAM_METRIC;\n }\n createCounter(e, r) {\n return t.NOOP_COUNTER_METRIC;\n }\n createUpDownCounter(e, r) {\n return t.NOOP_UP_DOWN_COUNTER_METRIC;\n }\n createObservableGauge(e, r) {\n return t.NOOP_OBSERVABLE_GAUGE_METRIC;\n }\n createObservableCounter(e, r) {\n return t.NOOP_OBSERVABLE_COUNTER_METRIC;\n }\n createObservableUpDownCounter(e, r) {\n return t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC;\n }\n addBatchObservableCallback(e, t) {}\n removeBatchObservableCallback(e) {}\n }\n t.NoopMeter = NoopMeter;\n class NoopMetric {\n }\n t.NoopMetric = NoopMetric;\n class NoopCounterMetric extends NoopMetric {\n add(e, t) {}\n }\n t.NoopCounterMetric = NoopCounterMetric;\n class NoopUpDownCounterMetric extends NoopMetric {\n add(e, t) {}\n }\n t.NoopUpDownCounterMetric = NoopUpDownCounterMetric;\n class NoopHistogramMetric extends NoopMetric {\n record(e, t) {}\n }\n t.NoopHistogramMetric = NoopHistogramMetric;\n class NoopObservableMetric {\n addCallback(e) {}\n removeCallback(e) {}\n }\n t.NoopObservableMetric = NoopObservableMetric;\n class NoopObservableCounterMetric extends NoopObservableMetric {\n }\n t.NoopObservableCounterMetric = NoopObservableCounterMetric;\n class NoopObservableGaugeMetric extends NoopObservableMetric {\n }\n t.NoopObservableGaugeMetric = NoopObservableGaugeMetric;\n class NoopObservableUpDownCounterMetric extends NoopObservableMetric {\n }\n t.NoopObservableUpDownCounterMetric = NoopObservableUpDownCounterMetric;\n t.NOOP_METER = new NoopMeter;\n t.NOOP_COUNTER_METRIC = new NoopCounterMetric;\n t.NOOP_HISTOGRAM_METRIC = new NoopHistogramMetric;\n t.NOOP_UP_DOWN_COUNTER_METRIC = new NoopUpDownCounterMetric;\n t.NOOP_OBSERVABLE_COUNTER_METRIC = new NoopObservableCounterMetric;\n t.NOOP_OBSERVABLE_GAUGE_METRIC = new NoopObservableGaugeMetric;\n t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = new NoopObservableUpDownCounterMetric;\n function createNoopMeter() {\n return t.NOOP_METER;\n }\n t.createNoopMeter = createNoopMeter;\n },\n 660: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NOOP_METER_PROVIDER = t.NoopMeterProvider = void 0;\n const n = r(102);\n class NoopMeterProvider {\n getMeter(e, t, r) {\n return n.NOOP_METER;\n }\n }\n t.NoopMeterProvider = NoopMeterProvider;\n t.NOOP_METER_PROVIDER = new NoopMeterProvider;\n },\n 200: function(e, t, r) {\n var n = this && this.__createBinding || (Object.create ? function(e, t, r, n) {\n if (n === undefined) n = r;\n Object.defineProperty(e, n, {\n enumerable: true,\n get: function() {\n return t[r];\n }\n });\n } : function(e, t, r, n) {\n if (n === undefined) n = r;\n e[n] = t[r];\n });\n var a = this && this.__exportStar || function(e, t) {\n for(var r in e)if (r !== \"default\" && !Object.prototype.hasOwnProperty.call(t, r)) n(t, e, r);\n };\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n a(r(46), t);\n },\n 651: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t._globalThis = void 0;\n t._globalThis = typeof globalThis === \"object\" ? globalThis : global;\n },\n 46: function(e, t, r) {\n var n = this && this.__createBinding || (Object.create ? function(e, t, r, n) {\n if (n === undefined) n = r;\n Object.defineProperty(e, n, {\n enumerable: true,\n get: function() {\n return t[r];\n }\n });\n } : function(e, t, r, n) {\n if (n === undefined) n = r;\n e[n] = t[r];\n });\n var a = this && this.__exportStar || function(e, t) {\n for(var r in e)if (r !== \"default\" && !Object.prototype.hasOwnProperty.call(t, r)) n(t, e, r);\n };\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n a(r(651), t);\n },\n 939: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.propagation = void 0;\n const n = r(181);\n t.propagation = n.PropagationAPI.getInstance();\n },\n 874: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NoopTextMapPropagator = void 0;\n class NoopTextMapPropagator {\n inject(e, t) {}\n extract(e, t) {\n return e;\n }\n fields() {\n return [];\n }\n }\n t.NoopTextMapPropagator = NoopTextMapPropagator;\n },\n 194: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.defaultTextMapSetter = t.defaultTextMapGetter = void 0;\n t.defaultTextMapGetter = {\n get (e, t) {\n if (e == null) {\n return undefined;\n }\n return e[t];\n },\n keys (e) {\n if (e == null) {\n return [];\n }\n return Object.keys(e);\n }\n };\n t.defaultTextMapSetter = {\n set (e, t, r) {\n if (e == null) {\n return;\n }\n e[t] = r;\n }\n };\n },\n 845: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.trace = void 0;\n const n = r(997);\n t.trace = n.TraceAPI.getInstance();\n },\n 403: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NonRecordingSpan = void 0;\n const n = r(476);\n class NonRecordingSpan {\n constructor(e = n.INVALID_SPAN_CONTEXT){\n this._spanContext = e;\n }\n spanContext() {\n return this._spanContext;\n }\n setAttribute(e, t) {\n return this;\n }\n setAttributes(e) {\n return this;\n }\n addEvent(e, t) {\n return this;\n }\n setStatus(e) {\n return this;\n }\n updateName(e) {\n return this;\n }\n end(e) {}\n isRecording() {\n return false;\n }\n recordException(e, t) {}\n }\n t.NonRecordingSpan = NonRecordingSpan;\n },\n 614: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NoopTracer = void 0;\n const n = r(491);\n const a = r(607);\n const o = r(403);\n const i = r(139);\n const c = n.ContextAPI.getInstance();\n class NoopTracer {\n startSpan(e, t, r = c.active()) {\n const n = Boolean(t === null || t === void 0 ? void 0 : t.root);\n if (n) {\n return new o.NonRecordingSpan;\n }\n const s = r && (0, a.getSpanContext)(r);\n if (isSpanContext(s) && (0, i.isSpanContextValid)(s)) {\n return new o.NonRecordingSpan(s);\n } else {\n return new o.NonRecordingSpan;\n }\n }\n startActiveSpan(e, t, r, n) {\n let o;\n let i;\n let s;\n if (arguments.length < 2) {\n return;\n } else if (arguments.length === 2) {\n s = t;\n } else if (arguments.length === 3) {\n o = t;\n s = r;\n } else {\n o = t;\n i = r;\n s = n;\n }\n const u = i !== null && i !== void 0 ? i : c.active();\n const l = this.startSpan(e, o, u);\n const g = (0, a.setSpan)(u, l);\n return c.with(g, s, undefined, l);\n }\n }\n t.NoopTracer = NoopTracer;\n function isSpanContext(e) {\n return typeof e === \"object\" && typeof e[\"spanId\"] === \"string\" && typeof e[\"traceId\"] === \"string\" && typeof e[\"traceFlags\"] === \"number\";\n }\n },\n 124: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NoopTracerProvider = void 0;\n const n = r(614);\n class NoopTracerProvider {\n getTracer(e, t, r) {\n return new n.NoopTracer;\n }\n }\n t.NoopTracerProvider = NoopTracerProvider;\n },\n 125: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.ProxyTracer = void 0;\n const n = r(614);\n const a = new n.NoopTracer;\n class ProxyTracer {\n constructor(e, t, r, n){\n this._provider = e;\n this.name = t;\n this.version = r;\n this.options = n;\n }\n startSpan(e, t, r) {\n return this._getTracer().startSpan(e, t, r);\n }\n startActiveSpan(e, t, r, n) {\n const a = this._getTracer();\n return Reflect.apply(a.startActiveSpan, a, arguments);\n }\n _getTracer() {\n if (this._delegate) {\n return this._delegate;\n }\n const e = this._provider.getDelegateTracer(this.name, this.version, this.options);\n if (!e) {\n return a;\n }\n this._delegate = e;\n return this._delegate;\n }\n }\n t.ProxyTracer = ProxyTracer;\n },\n 846: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.ProxyTracerProvider = void 0;\n const n = r(125);\n const a = r(124);\n const o = new a.NoopTracerProvider;\n class ProxyTracerProvider {\n getTracer(e, t, r) {\n var a;\n return (a = this.getDelegateTracer(e, t, r)) !== null && a !== void 0 ? a : new n.ProxyTracer(this, e, t, r);\n }\n getDelegate() {\n var e;\n return (e = this._delegate) !== null && e !== void 0 ? e : o;\n }\n setDelegate(e) {\n this._delegate = e;\n }\n getDelegateTracer(e, t, r) {\n var n;\n return (n = this._delegate) === null || n === void 0 ? void 0 : n.getTracer(e, t, r);\n }\n }\n t.ProxyTracerProvider = ProxyTracerProvider;\n },\n 996: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.SamplingDecision = void 0;\n var r;\n (function(e) {\n e[e[\"NOT_RECORD\"] = 0] = \"NOT_RECORD\";\n e[e[\"RECORD\"] = 1] = \"RECORD\";\n e[e[\"RECORD_AND_SAMPLED\"] = 2] = \"RECORD_AND_SAMPLED\";\n })(r = t.SamplingDecision || (t.SamplingDecision = {}));\n },\n 607: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.getSpanContext = t.setSpanContext = t.deleteSpan = t.setSpan = t.getActiveSpan = t.getSpan = void 0;\n const n = r(780);\n const a = r(403);\n const o = r(491);\n const i = (0, n.createContextKey)(\"OpenTelemetry Context Key SPAN\");\n function getSpan(e) {\n return e.getValue(i) || undefined;\n }\n t.getSpan = getSpan;\n function getActiveSpan() {\n return getSpan(o.ContextAPI.getInstance().active());\n }\n t.getActiveSpan = getActiveSpan;\n function setSpan(e, t) {\n return e.setValue(i, t);\n }\n t.setSpan = setSpan;\n function deleteSpan(e) {\n return e.deleteValue(i);\n }\n t.deleteSpan = deleteSpan;\n function setSpanContext(e, t) {\n return setSpan(e, new a.NonRecordingSpan(t));\n }\n t.setSpanContext = setSpanContext;\n function getSpanContext(e) {\n var t;\n return (t = getSpan(e)) === null || t === void 0 ? void 0 : t.spanContext();\n }\n t.getSpanContext = getSpanContext;\n },\n 325: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.TraceStateImpl = void 0;\n const n = r(564);\n const a = 32;\n const o = 512;\n const i = \",\";\n const c = \"=\";\n class TraceStateImpl {\n constructor(e){\n this._internalState = new Map;\n if (e) this._parse(e);\n }\n set(e, t) {\n const r = this._clone();\n if (r._internalState.has(e)) {\n r._internalState.delete(e);\n }\n r._internalState.set(e, t);\n return r;\n }\n unset(e) {\n const t = this._clone();\n t._internalState.delete(e);\n return t;\n }\n get(e) {\n return this._internalState.get(e);\n }\n serialize() {\n return this._keys().reduce((e, t)=>{\n e.push(t + c + this.get(t));\n return e;\n }, []).join(i);\n }\n _parse(e) {\n if (e.length > o) return;\n this._internalState = e.split(i).reverse().reduce((e, t)=>{\n const r = t.trim();\n const a = r.indexOf(c);\n if (a !== -1) {\n const o = r.slice(0, a);\n const i = r.slice(a + 1, t.length);\n if ((0, n.validateKey)(o) && (0, n.validateValue)(i)) {\n e.set(o, i);\n } else {}\n }\n return e;\n }, new Map);\n if (this._internalState.size > a) {\n this._internalState = new Map(Array.from(this._internalState.entries()).reverse().slice(0, a));\n }\n }\n _keys() {\n return Array.from(this._internalState.keys()).reverse();\n }\n _clone() {\n const e = new TraceStateImpl;\n e._internalState = new Map(this._internalState);\n return e;\n }\n }\n t.TraceStateImpl = TraceStateImpl;\n },\n 564: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.validateValue = t.validateKey = void 0;\n const r = \"[_0-9a-z-*/]\";\n const n = `[a-z]${r}{0,255}`;\n const a = `[a-z0-9]${r}{0,240}@[a-z]${r}{0,13}`;\n const o = new RegExp(`^(?:${n}|${a})$`);\n const i = /^[ -~]{0,255}[!-~]$/;\n const c = /,|=/;\n function validateKey(e) {\n return o.test(e);\n }\n t.validateKey = validateKey;\n function validateValue(e) {\n return i.test(e) && !c.test(e);\n }\n t.validateValue = validateValue;\n },\n 98: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.createTraceState = void 0;\n const n = r(325);\n function createTraceState(e) {\n return new n.TraceStateImpl(e);\n }\n t.createTraceState = createTraceState;\n },\n 476: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.INVALID_SPAN_CONTEXT = t.INVALID_TRACEID = t.INVALID_SPANID = void 0;\n const n = r(475);\n t.INVALID_SPANID = \"0000000000000000\";\n t.INVALID_TRACEID = \"00000000000000000000000000000000\";\n t.INVALID_SPAN_CONTEXT = {\n traceId: t.INVALID_TRACEID,\n spanId: t.INVALID_SPANID,\n traceFlags: n.TraceFlags.NONE\n };\n },\n 357: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.SpanKind = void 0;\n var r;\n (function(e) {\n e[e[\"INTERNAL\"] = 0] = \"INTERNAL\";\n e[e[\"SERVER\"] = 1] = \"SERVER\";\n e[e[\"CLIENT\"] = 2] = \"CLIENT\";\n e[e[\"PRODUCER\"] = 3] = \"PRODUCER\";\n e[e[\"CONSUMER\"] = 4] = \"CONSUMER\";\n })(r = t.SpanKind || (t.SpanKind = {}));\n },\n 139: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.wrapSpanContext = t.isSpanContextValid = t.isValidSpanId = t.isValidTraceId = void 0;\n const n = r(476);\n const a = r(403);\n const o = /^([0-9a-f]{32})$/i;\n const i = /^[0-9a-f]{16}$/i;\n function isValidTraceId(e) {\n return o.test(e) && e !== n.INVALID_TRACEID;\n }\n t.isValidTraceId = isValidTraceId;\n function isValidSpanId(e) {\n return i.test(e) && e !== n.INVALID_SPANID;\n }\n t.isValidSpanId = isValidSpanId;\n function isSpanContextValid(e) {\n return isValidTraceId(e.traceId) && isValidSpanId(e.spanId);\n }\n t.isSpanContextValid = isSpanContextValid;\n function wrapSpanContext(e) {\n return new a.NonRecordingSpan(e);\n }\n t.wrapSpanContext = wrapSpanContext;\n },\n 847: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.SpanStatusCode = void 0;\n var r;\n (function(e) {\n e[e[\"UNSET\"] = 0] = \"UNSET\";\n e[e[\"OK\"] = 1] = \"OK\";\n e[e[\"ERROR\"] = 2] = \"ERROR\";\n })(r = t.SpanStatusCode || (t.SpanStatusCode = {}));\n },\n 475: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.TraceFlags = void 0;\n var r;\n (function(e) {\n e[e[\"NONE\"] = 0] = \"NONE\";\n e[e[\"SAMPLED\"] = 1] = \"SAMPLED\";\n })(r = t.TraceFlags || (t.TraceFlags = {}));\n },\n 521: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.VERSION = void 0;\n t.VERSION = \"1.6.0\";\n }\n };\n var t = {};\n function __nccwpck_require__(r) {\n var n = t[r];\n if (n !== undefined) {\n return n.exports;\n }\n var a = t[r] = {\n exports: {}\n };\n var o = true;\n try {\n e[r].call(a.exports, a, a.exports, __nccwpck_require__);\n o = false;\n } finally{\n if (o) delete t[r];\n }\n return a.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var r = {};\n (()=>{\n var e = r;\n Object.defineProperty(e, \"__esModule\", {\n value: true\n });\n e.trace = e.propagation = e.metrics = e.diag = e.context = e.INVALID_SPAN_CONTEXT = e.INVALID_TRACEID = e.INVALID_SPANID = e.isValidSpanId = e.isValidTraceId = e.isSpanContextValid = e.createTraceState = e.TraceFlags = e.SpanStatusCode = e.SpanKind = e.SamplingDecision = e.ProxyTracerProvider = e.ProxyTracer = e.defaultTextMapSetter = e.defaultTextMapGetter = e.ValueType = e.createNoopMeter = e.DiagLogLevel = e.DiagConsoleLogger = e.ROOT_CONTEXT = e.createContextKey = e.baggageEntryMetadataFromString = void 0;\n var t = __nccwpck_require__(369);\n Object.defineProperty(e, \"baggageEntryMetadataFromString\", {\n enumerable: true,\n get: function() {\n return t.baggageEntryMetadataFromString;\n }\n });\n var n = __nccwpck_require__(780);\n Object.defineProperty(e, \"createContextKey\", {\n enumerable: true,\n get: function() {\n return n.createContextKey;\n }\n });\n Object.defineProperty(e, \"ROOT_CONTEXT\", {\n enumerable: true,\n get: function() {\n return n.ROOT_CONTEXT;\n }\n });\n var a = __nccwpck_require__(972);\n Object.defineProperty(e, \"DiagConsoleLogger\", {\n enumerable: true,\n get: function() {\n return a.DiagConsoleLogger;\n }\n });\n var o = __nccwpck_require__(957);\n Object.defineProperty(e, \"DiagLogLevel\", {\n enumerable: true,\n get: function() {\n return o.DiagLogLevel;\n }\n });\n var i = __nccwpck_require__(102);\n Object.defineProperty(e, \"createNoopMeter\", {\n enumerable: true,\n get: function() {\n return i.createNoopMeter;\n }\n });\n var c = __nccwpck_require__(901);\n Object.defineProperty(e, \"ValueType\", {\n enumerable: true,\n get: function() {\n return c.ValueType;\n }\n });\n var s = __nccwpck_require__(194);\n Object.defineProperty(e, \"defaultTextMapGetter\", {\n enumerable: true,\n get: function() {\n return s.defaultTextMapGetter;\n }\n });\n Object.defineProperty(e, \"defaultTextMapSetter\", {\n enumerable: true,\n get: function() {\n return s.defaultTextMapSetter;\n }\n });\n var u = __nccwpck_require__(125);\n Object.defineProperty(e, \"ProxyTracer\", {\n enumerable: true,\n get: function() {\n return u.ProxyTracer;\n }\n });\n var l = __nccwpck_require__(846);\n Object.defineProperty(e, \"ProxyTracerProvider\", {\n enumerable: true,\n get: function() {\n return l.ProxyTracerProvider;\n }\n });\n var g = __nccwpck_require__(996);\n Object.defineProperty(e, \"SamplingDecision\", {\n enumerable: true,\n get: function() {\n return g.SamplingDecision;\n }\n });\n var p = __nccwpck_require__(357);\n Object.defineProperty(e, \"SpanKind\", {\n enumerable: true,\n get: function() {\n return p.SpanKind;\n }\n });\n var d = __nccwpck_require__(847);\n Object.defineProperty(e, \"SpanStatusCode\", {\n enumerable: true,\n get: function() {\n return d.SpanStatusCode;\n }\n });\n var _ = __nccwpck_require__(475);\n Object.defineProperty(e, \"TraceFlags\", {\n enumerable: true,\n get: function() {\n return _.TraceFlags;\n }\n });\n var f = __nccwpck_require__(98);\n Object.defineProperty(e, \"createTraceState\", {\n enumerable: true,\n get: function() {\n return f.createTraceState;\n }\n });\n var b = __nccwpck_require__(139);\n Object.defineProperty(e, \"isSpanContextValid\", {\n enumerable: true,\n get: function() {\n return b.isSpanContextValid;\n }\n });\n Object.defineProperty(e, \"isValidTraceId\", {\n enumerable: true,\n get: function() {\n return b.isValidTraceId;\n }\n });\n Object.defineProperty(e, \"isValidSpanId\", {\n enumerable: true,\n get: function() {\n return b.isValidSpanId;\n }\n });\n var v = __nccwpck_require__(476);\n Object.defineProperty(e, \"INVALID_SPANID\", {\n enumerable: true,\n get: function() {\n return v.INVALID_SPANID;\n }\n });\n Object.defineProperty(e, \"INVALID_TRACEID\", {\n enumerable: true,\n get: function() {\n return v.INVALID_TRACEID;\n }\n });\n Object.defineProperty(e, \"INVALID_SPAN_CONTEXT\", {\n enumerable: true,\n get: function() {\n return v.INVALID_SPAN_CONTEXT;\n }\n });\n const O = __nccwpck_require__(67);\n Object.defineProperty(e, \"context\", {\n enumerable: true,\n get: function() {\n return O.context;\n }\n });\n const P = __nccwpck_require__(506);\n Object.defineProperty(e, \"diag\", {\n enumerable: true,\n get: function() {\n return P.diag;\n }\n });\n const N = __nccwpck_require__(886);\n Object.defineProperty(e, \"metrics\", {\n enumerable: true,\n get: function() {\n return N.metrics;\n }\n });\n const S = __nccwpck_require__(939);\n Object.defineProperty(e, \"propagation\", {\n enumerable: true,\n get: function() {\n return S.propagation;\n }\n });\n const C = __nccwpck_require__(845);\n Object.defineProperty(e, \"trace\", {\n enumerable: true,\n get: function() {\n return C.trace;\n }\n });\n e[\"default\"] = {\n context: O.context,\n diag: P.diag,\n metrics: N.metrics,\n propagation: S.propagation,\n trace: C.trace\n };\n })();\n module.exports = r;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvQG9wZW50ZWxlbWV0cnkvYXBpL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7QUFBQztJQUFLO0lBQWEsSUFBSUEsSUFBRTtRQUFDLEtBQUksQ0FBQ0EsR0FBRUMsR0FBRUM7WUFBS0MsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFSyxVQUFVLEdBQUMsS0FBSztZQUFFLE1BQU1DLElBQUVMLEVBQUU7WUFBSyxNQUFNTSxJQUFFTixFQUFFO1lBQUssTUFBTU8sSUFBRVAsRUFBRTtZQUFLLE1BQU1RLElBQUU7WUFBVSxNQUFNQyxJQUFFLElBQUlKLEVBQUVLLGtCQUFrQjtZQUFDLE1BQU1OO2dCQUFXTyxhQUFhLENBQUM7Z0JBQUMsT0FBT0MsY0FBYTtvQkFBQyxJQUFHLENBQUMsSUFBSSxDQUFDQyxTQUFTLEVBQUM7d0JBQUMsSUFBSSxDQUFDQSxTQUFTLEdBQUMsSUFBSVQ7b0JBQVU7b0JBQUMsT0FBTyxJQUFJLENBQUNTLFNBQVM7Z0JBQUE7Z0JBQUNDLHdCQUF3QmhCLENBQUMsRUFBQztvQkFBQyxPQUFNLENBQUMsR0FBRVEsRUFBRVMsY0FBYyxFQUFFUCxHQUFFVixHQUFFUyxFQUFFUyxPQUFPLENBQUNDLFFBQVE7Z0JBQUc7Z0JBQUNDLFNBQVE7b0JBQUMsT0FBTyxJQUFJLENBQUNDLGtCQUFrQixHQUFHRCxNQUFNO2dCQUFFO2dCQUFDRSxLQUFLdEIsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUMsRUFBQyxHQUFHSyxDQUFDLEVBQUM7b0JBQUMsT0FBTyxJQUFJLENBQUNjLGtCQUFrQixHQUFHQyxJQUFJLENBQUN0QixHQUFFQyxHQUFFQyxNQUFLSztnQkFBRTtnQkFBQ2dCLEtBQUt2QixDQUFDLEVBQUNDLENBQUMsRUFBQztvQkFBQyxPQUFPLElBQUksQ0FBQ29CLGtCQUFrQixHQUFHRSxJQUFJLENBQUN2QixHQUFFQztnQkFBRTtnQkFBQ29CLHFCQUFvQjtvQkFBQyxPQUFNLENBQUMsR0FBRWIsRUFBRWdCLFNBQVMsRUFBRWQsTUFBSUM7Z0JBQUM7Z0JBQUNjLFVBQVM7b0JBQUMsSUFBSSxDQUFDSixrQkFBa0IsR0FBR0ksT0FBTztvQkFBSSxJQUFFakIsRUFBRWtCLGdCQUFnQixFQUFFaEIsR0FBRUQsRUFBRVMsT0FBTyxDQUFDQyxRQUFRO2dCQUFHO1lBQUM7WUFBQ2xCLEVBQUVLLFVBQVUsR0FBQ0E7UUFBVTtRQUFFLEtBQUksQ0FBQ04sR0FBRUMsR0FBRUM7WUFBS0MsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFaUIsT0FBTyxHQUFDLEtBQUs7WUFBRSxNQUFNWCxJQUFFTCxFQUFFO1lBQUksTUFBTU0sSUFBRU4sRUFBRTtZQUFLLE1BQU1PLElBQUVQLEVBQUU7WUFBSyxNQUFNUSxJQUFFUixFQUFFO1lBQUssTUFBTVMsSUFBRTtZQUFPLE1BQU1PO2dCQUFRTCxhQUFhO29CQUFDLFNBQVNjLFVBQVUzQixDQUFDO3dCQUFFLE9BQU8sU0FBUyxHQUFHQyxDQUFDOzRCQUFFLE1BQU1DLElBQUUsQ0FBQyxHQUFFUSxFQUFFYyxTQUFTLEVBQUU7NEJBQVEsSUFBRyxDQUFDdEIsR0FBRTs0QkFBTyxPQUFPQSxDQUFDLENBQUNGLEVBQUUsSUFBSUM7d0JBQUU7b0JBQUM7b0JBQUMsTUFBTUQsSUFBRSxJQUFJO29CQUFDLE1BQU00QixZQUFVLENBQUMzQixHQUFFQyxJQUFFO3dCQUFDMkIsVUFBU3BCLEVBQUVxQixZQUFZLENBQUNDLElBQUk7b0JBQUEsQ0FBQzt3QkFBSSxJQUFJeEIsR0FBRUksR0FBRXFCO3dCQUFFLElBQUcvQixNQUFJRCxHQUFFOzRCQUFDLE1BQU1DLElBQUUsSUFBSWdDLE1BQU07NEJBQXNJakMsRUFBRWtDLEtBQUssQ0FBQyxDQUFDM0IsSUFBRU4sRUFBRWtDLEtBQUssTUFBSSxRQUFNNUIsTUFBSSxLQUFLLElBQUVBLElBQUVOLEVBQUVtQyxPQUFPOzRCQUFFLE9BQU87d0JBQUs7d0JBQUMsSUFBRyxPQUFPbEMsTUFBSSxVQUFTOzRCQUFDQSxJQUFFO2dDQUFDMkIsVUFBUzNCOzRCQUFDO3dCQUFDO3dCQUFDLE1BQU1tQyxJQUFFLENBQUMsR0FBRTNCLEVBQUVjLFNBQVMsRUFBRTt3QkFBUSxNQUFNYyxJQUFFLENBQUMsR0FBRTlCLEVBQUUrQix3QkFBd0IsRUFBRSxDQUFDNUIsSUFBRVQsRUFBRTJCLFFBQVEsTUFBSSxRQUFNbEIsTUFBSSxLQUFLLElBQUVBLElBQUVGLEVBQUVxQixZQUFZLENBQUNDLElBQUksRUFBQzlCO3dCQUFHLElBQUdvQyxLQUFHLENBQUNuQyxFQUFFc0MsdUJBQXVCLEVBQUM7NEJBQUMsTUFBTXhDLElBQUUsQ0FBQ2dDLElBQUUsQ0FBQyxJQUFJQyxLQUFJLEVBQUdFLEtBQUssTUFBSSxRQUFNSCxNQUFJLEtBQUssSUFBRUEsSUFBRTs0QkFBa0NLLEVBQUVJLElBQUksQ0FBQyxDQUFDLHdDQUF3QyxFQUFFekMsRUFBRSxDQUFDOzRCQUFFc0MsRUFBRUcsSUFBSSxDQUFDLENBQUMsMERBQTBELEVBQUV6QyxFQUFFLENBQUM7d0JBQUM7d0JBQUMsT0FBTSxDQUFDLEdBQUVVLEVBQUVPLGNBQWMsRUFBRSxRQUFPcUIsR0FBRXRDLEdBQUU7b0JBQUs7b0JBQUVBLEVBQUU0QixTQUFTLEdBQUNBO29CQUFVNUIsRUFBRXlCLE9BQU8sR0FBQzt3QkFBTSxJQUFFZixFQUFFZ0IsZ0JBQWdCLEVBQUVmLEdBQUVYO29CQUFFO29CQUFFQSxFQUFFMEMscUJBQXFCLEdBQUMxQyxDQUFBQSxJQUFHLElBQUlPLEVBQUVvQyxtQkFBbUIsQ0FBQzNDO29CQUFHQSxFQUFFNEMsT0FBTyxHQUFDakIsVUFBVTtvQkFBVzNCLEVBQUU2QyxLQUFLLEdBQUNsQixVQUFVO29CQUFTM0IsRUFBRThDLElBQUksR0FBQ25CLFVBQVU7b0JBQVEzQixFQUFFeUMsSUFBSSxHQUFDZCxVQUFVO29CQUFRM0IsRUFBRWtDLEtBQUssR0FBQ1AsVUFBVTtnQkFBUTtnQkFBQyxPQUFPUixXQUFVO29CQUFDLElBQUcsQ0FBQyxJQUFJLENBQUNKLFNBQVMsRUFBQzt3QkFBQyxJQUFJLENBQUNBLFNBQVMsR0FBQyxJQUFJRztvQkFBTztvQkFBQyxPQUFPLElBQUksQ0FBQ0gsU0FBUztnQkFBQTtZQUFDO1lBQUNkLEVBQUVpQixPQUFPLEdBQUNBO1FBQU87UUFBRSxLQUFJLENBQUNsQixHQUFFQyxHQUFFQztZQUFLQyxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUU4QyxVQUFVLEdBQUMsS0FBSztZQUFFLE1BQU14QyxJQUFFTCxFQUFFO1lBQUssTUFBTU0sSUFBRU4sRUFBRTtZQUFLLE1BQU1PLElBQUVQLEVBQUU7WUFBSyxNQUFNUSxJQUFFO1lBQVUsTUFBTXFDO2dCQUFXbEMsYUFBYSxDQUFDO2dCQUFDLE9BQU9DLGNBQWE7b0JBQUMsSUFBRyxDQUFDLElBQUksQ0FBQ0MsU0FBUyxFQUFDO3dCQUFDLElBQUksQ0FBQ0EsU0FBUyxHQUFDLElBQUlnQztvQkFBVTtvQkFBQyxPQUFPLElBQUksQ0FBQ2hDLFNBQVM7Z0JBQUE7Z0JBQUNpQyx1QkFBdUJoRCxDQUFDLEVBQUM7b0JBQUMsT0FBTSxDQUFDLEdBQUVRLEVBQUVTLGNBQWMsRUFBRVAsR0FBRVYsR0FBRVMsRUFBRVMsT0FBTyxDQUFDQyxRQUFRO2dCQUFHO2dCQUFDOEIsbUJBQWtCO29CQUFDLE9BQU0sQ0FBQyxHQUFFekMsRUFBRWdCLFNBQVMsRUFBRWQsTUFBSUgsRUFBRTJDLG1CQUFtQjtnQkFBQTtnQkFBQ0MsU0FBU25ELENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDLEVBQUM7b0JBQUMsT0FBTyxJQUFJLENBQUMrQyxnQkFBZ0IsR0FBR0UsUUFBUSxDQUFDbkQsR0FBRUMsR0FBRUM7Z0JBQUU7Z0JBQUN1QixVQUFTO29CQUFFLElBQUVqQixFQUFFa0IsZ0JBQWdCLEVBQUVoQixHQUFFRCxFQUFFUyxPQUFPLENBQUNDLFFBQVE7Z0JBQUc7WUFBQztZQUFDbEIsRUFBRThDLFVBQVUsR0FBQ0E7UUFBVTtRQUFFLEtBQUksQ0FBQy9DLEdBQUVDLEdBQUVDO1lBQUtDLE9BQU9DLGNBQWMsQ0FBQ0gsR0FBRSxjQUFhO2dCQUFDSSxPQUFNO1lBQUk7WUFBR0osRUFBRW1ELGNBQWMsR0FBQyxLQUFLO1lBQUUsTUFBTTdDLElBQUVMLEVBQUU7WUFBSyxNQUFNTSxJQUFFTixFQUFFO1lBQUssTUFBTU8sSUFBRVAsRUFBRTtZQUFLLE1BQU1RLElBQUVSLEVBQUU7WUFBSyxNQUFNUyxJQUFFVCxFQUFFO1lBQUssTUFBTThCLElBQUU5QixFQUFFO1lBQUssTUFBTW1DLElBQUU7WUFBYyxNQUFNQyxJQUFFLElBQUk5QixFQUFFNkMscUJBQXFCO1lBQUMsTUFBTUQ7Z0JBQWV2QyxhQUFhO29CQUFDLElBQUksQ0FBQ3lDLGFBQWEsR0FBQzNDLEVBQUUyQyxhQUFhO29CQUFDLElBQUksQ0FBQ0MsVUFBVSxHQUFDN0MsRUFBRTZDLFVBQVU7b0JBQUMsSUFBSSxDQUFDQyxnQkFBZ0IsR0FBQzlDLEVBQUU4QyxnQkFBZ0I7b0JBQUMsSUFBSSxDQUFDQyxVQUFVLEdBQUMvQyxFQUFFK0MsVUFBVTtvQkFBQyxJQUFJLENBQUNDLGFBQWEsR0FBQ2hELEVBQUVnRCxhQUFhO2dCQUFBO2dCQUFDLE9BQU81QyxjQUFhO29CQUFDLElBQUcsQ0FBQyxJQUFJLENBQUNDLFNBQVMsRUFBQzt3QkFBQyxJQUFJLENBQUNBLFNBQVMsR0FBQyxJQUFJcUM7b0JBQWM7b0JBQUMsT0FBTyxJQUFJLENBQUNyQyxTQUFTO2dCQUFBO2dCQUFDNEMsb0JBQW9CM0QsQ0FBQyxFQUFDO29CQUFDLE9BQU0sQ0FBQyxHQUFFTyxFQUFFVSxjQUFjLEVBQUVvQixHQUFFckMsR0FBRWdDLEVBQUVkLE9BQU8sQ0FBQ0MsUUFBUTtnQkFBRztnQkFBQ3lDLE9BQU81RCxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsSUFBRU8sRUFBRW9ELG9CQUFvQixFQUFDO29CQUFDLE9BQU8sSUFBSSxDQUFDQyxvQkFBb0IsR0FBR0YsTUFBTSxDQUFDNUQsR0FBRUMsR0FBRUM7Z0JBQUU7Z0JBQUM2RCxRQUFRL0QsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLElBQUVPLEVBQUV1RCxvQkFBb0IsRUFBQztvQkFBQyxPQUFPLElBQUksQ0FBQ0Ysb0JBQW9CLEdBQUdDLE9BQU8sQ0FBQy9ELEdBQUVDLEdBQUVDO2dCQUFFO2dCQUFDK0QsU0FBUTtvQkFBQyxPQUFPLElBQUksQ0FBQ0gsb0JBQW9CLEdBQUdHLE1BQU07Z0JBQUU7Z0JBQUN4QyxVQUFTO29CQUFFLElBQUVsQixFQUFFbUIsZ0JBQWdCLEVBQUVXLEdBQUVMLEVBQUVkLE9BQU8sQ0FBQ0MsUUFBUTtnQkFBRztnQkFBQzJDLHVCQUFzQjtvQkFBQyxPQUFNLENBQUMsR0FBRXZELEVBQUVpQixTQUFTLEVBQUVhLE1BQUlDO2dCQUFDO1lBQUM7WUFBQ3JDLEVBQUVtRCxjQUFjLEdBQUNBO1FBQWM7UUFBRSxLQUFJLENBQUNwRCxHQUFFQyxHQUFFQztZQUFLQyxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUVpRSxRQUFRLEdBQUMsS0FBSztZQUFFLE1BQU0zRCxJQUFFTCxFQUFFO1lBQUssTUFBTU0sSUFBRU4sRUFBRTtZQUFLLE1BQU1PLElBQUVQLEVBQUU7WUFBSyxNQUFNUSxJQUFFUixFQUFFO1lBQUssTUFBTVMsSUFBRVQsRUFBRTtZQUFLLE1BQU04QixJQUFFO1lBQVEsTUFBTWtDO2dCQUFTckQsYUFBYTtvQkFBQyxJQUFJLENBQUNzRCxvQkFBb0IsR0FBQyxJQUFJM0QsRUFBRTRELG1CQUFtQjtvQkFBQyxJQUFJLENBQUNDLGVBQWUsR0FBQzVELEVBQUU0RCxlQUFlO29CQUFDLElBQUksQ0FBQ0Msa0JBQWtCLEdBQUM3RCxFQUFFNkQsa0JBQWtCO29CQUFDLElBQUksQ0FBQ0MsVUFBVSxHQUFDN0QsRUFBRTZELFVBQVU7b0JBQUMsSUFBSSxDQUFDQyxPQUFPLEdBQUM5RCxFQUFFOEQsT0FBTztvQkFBQyxJQUFJLENBQUNDLGFBQWEsR0FBQy9ELEVBQUUrRCxhQUFhO29CQUFDLElBQUksQ0FBQ0MsY0FBYyxHQUFDaEUsRUFBRWdFLGNBQWM7b0JBQUMsSUFBSSxDQUFDQyxPQUFPLEdBQUNqRSxFQUFFaUUsT0FBTztvQkFBQyxJQUFJLENBQUNDLGNBQWMsR0FBQ2xFLEVBQUVrRSxjQUFjO2dCQUFBO2dCQUFDLE9BQU85RCxjQUFhO29CQUFDLElBQUcsQ0FBQyxJQUFJLENBQUNDLFNBQVMsRUFBQzt3QkFBQyxJQUFJLENBQUNBLFNBQVMsR0FBQyxJQUFJbUQ7b0JBQVE7b0JBQUMsT0FBTyxJQUFJLENBQUNuRCxTQUFTO2dCQUFBO2dCQUFDOEQsd0JBQXdCN0UsQ0FBQyxFQUFDO29CQUFDLE1BQU1DLElBQUUsQ0FBQyxHQUFFTSxFQUFFVSxjQUFjLEVBQUVlLEdBQUUsSUFBSSxDQUFDbUMsb0JBQW9CLEVBQUN4RCxFQUFFTyxPQUFPLENBQUNDLFFBQVE7b0JBQUksSUFBR2xCLEdBQUU7d0JBQUMsSUFBSSxDQUFDa0Usb0JBQW9CLENBQUNXLFdBQVcsQ0FBQzlFO29CQUFFO29CQUFDLE9BQU9DO2dCQUFDO2dCQUFDOEUsb0JBQW1CO29CQUFDLE9BQU0sQ0FBQyxHQUFFeEUsRUFBRWlCLFNBQVMsRUFBRVEsTUFBSSxJQUFJLENBQUNtQyxvQkFBb0I7Z0JBQUE7Z0JBQUNhLFVBQVVoRixDQUFDLEVBQUNDLENBQUMsRUFBQztvQkFBQyxPQUFPLElBQUksQ0FBQzhFLGlCQUFpQixHQUFHQyxTQUFTLENBQUNoRixHQUFFQztnQkFBRTtnQkFBQ3dCLFVBQVM7b0JBQUUsSUFBRWxCLEVBQUVtQixnQkFBZ0IsRUFBRU0sR0FBRXJCLEVBQUVPLE9BQU8sQ0FBQ0MsUUFBUTtvQkFBSSxJQUFJLENBQUNnRCxvQkFBb0IsR0FBQyxJQUFJM0QsRUFBRTRELG1CQUFtQjtnQkFBQTtZQUFDO1lBQUNuRSxFQUFFaUUsUUFBUSxHQUFDQTtRQUFRO1FBQUUsS0FBSSxDQUFDbEUsR0FBRUMsR0FBRUM7WUFBS0MsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFeUQsYUFBYSxHQUFDekQsRUFBRXdELFVBQVUsR0FBQ3hELEVBQUV1RCxnQkFBZ0IsR0FBQ3ZELEVBQUVzRCxVQUFVLEdBQUMsS0FBSztZQUFFLE1BQU1oRCxJQUFFTCxFQUFFO1lBQUssTUFBTU0sSUFBRU4sRUFBRTtZQUFLLE1BQU1PLElBQUUsQ0FBQyxHQUFFRCxFQUFFeUUsZ0JBQWdCLEVBQUU7WUFBNkIsU0FBUzFCLFdBQVd2RCxDQUFDO2dCQUFFLE9BQU9BLEVBQUVrRixRQUFRLENBQUN6RSxNQUFJMEU7WUFBUztZQUFDbEYsRUFBRXNELFVBQVUsR0FBQ0E7WUFBVyxTQUFTQztnQkFBbUIsT0FBT0QsV0FBV2hELEVBQUVELFVBQVUsQ0FBQ1EsV0FBVyxHQUFHTSxNQUFNO1lBQUc7WUFBQ25CLEVBQUV1RCxnQkFBZ0IsR0FBQ0E7WUFBaUIsU0FBU0MsV0FBV3pELENBQUMsRUFBQ0MsQ0FBQztnQkFBRSxPQUFPRCxFQUFFb0YsUUFBUSxDQUFDM0UsR0FBRVI7WUFBRTtZQUFDQSxFQUFFd0QsVUFBVSxHQUFDQTtZQUFXLFNBQVNDLGNBQWMxRCxDQUFDO2dCQUFFLE9BQU9BLEVBQUVxRixXQUFXLENBQUM1RTtZQUFFO1lBQUNSLEVBQUV5RCxhQUFhLEdBQUNBO1FBQWE7UUFBRSxLQUFJLENBQUMxRCxHQUFFQztZQUFLRSxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUVxRixXQUFXLEdBQUMsS0FBSztZQUFFLE1BQU1BO2dCQUFZekUsWUFBWWIsQ0FBQyxDQUFDO29CQUFDLElBQUksQ0FBQ3VGLFFBQVEsR0FBQ3ZGLElBQUUsSUFBSXdGLElBQUl4RixLQUFHLElBQUl3RjtnQkFBRztnQkFBQ0MsU0FBU3pGLENBQUMsRUFBQztvQkFBQyxNQUFNQyxJQUFFLElBQUksQ0FBQ3NGLFFBQVEsQ0FBQ0csR0FBRyxDQUFDMUY7b0JBQUcsSUFBRyxDQUFDQyxHQUFFO3dCQUFDLE9BQU9rRjtvQkFBUztvQkFBQyxPQUFPaEYsT0FBT3dGLE1BQU0sQ0FBQyxDQUFDLEdBQUUxRjtnQkFBRTtnQkFBQzJGLGdCQUFlO29CQUFDLE9BQU9DLE1BQU1DLElBQUksQ0FBQyxJQUFJLENBQUNQLFFBQVEsQ0FBQ1EsT0FBTyxJQUFJQyxHQUFHLENBQUUsQ0FBQyxDQUFDaEcsR0FBRUMsRUFBRSxHQUFHOzRCQUFDRDs0QkFBRUM7eUJBQUU7Z0JBQUU7Z0JBQUNnRyxTQUFTakcsQ0FBQyxFQUFDQyxDQUFDLEVBQUM7b0JBQUMsTUFBTUMsSUFBRSxJQUFJb0YsWUFBWSxJQUFJLENBQUNDLFFBQVE7b0JBQUVyRixFQUFFcUYsUUFBUSxDQUFDVyxHQUFHLENBQUNsRyxHQUFFQztvQkFBRyxPQUFPQztnQkFBQztnQkFBQ2lHLFlBQVluRyxDQUFDLEVBQUM7b0JBQUMsTUFBTUMsSUFBRSxJQUFJcUYsWUFBWSxJQUFJLENBQUNDLFFBQVE7b0JBQUV0RixFQUFFc0YsUUFBUSxDQUFDYSxNQUFNLENBQUNwRztvQkFBRyxPQUFPQztnQkFBQztnQkFBQ29HLGNBQWMsR0FBR3JHLENBQUMsRUFBQztvQkFBQyxNQUFNQyxJQUFFLElBQUlxRixZQUFZLElBQUksQ0FBQ0MsUUFBUTtvQkFBRSxLQUFJLE1BQU1yRixLQUFLRixFQUFFO3dCQUFDQyxFQUFFc0YsUUFBUSxDQUFDYSxNQUFNLENBQUNsRztvQkFBRTtvQkFBQyxPQUFPRDtnQkFBQztnQkFBQ3FHLFFBQU87b0JBQUMsT0FBTyxJQUFJaEI7Z0JBQVc7WUFBQztZQUFDckYsRUFBRXFGLFdBQVcsR0FBQ0E7UUFBVztRQUFFLEtBQUksQ0FBQ3RGLEdBQUVDO1lBQUtFLE9BQU9DLGNBQWMsQ0FBQ0gsR0FBRSxjQUFhO2dCQUFDSSxPQUFNO1lBQUk7WUFBR0osRUFBRXNHLDBCQUEwQixHQUFDLEtBQUs7WUFBRXRHLEVBQUVzRywwQkFBMEIsR0FBQ0MsT0FBTztRQUF1QjtRQUFFLEtBQUksQ0FBQ3hHLEdBQUVDLEdBQUVDO1lBQUtDLE9BQU9DLGNBQWMsQ0FBQ0gsR0FBRSxjQUFhO2dCQUFDSSxPQUFNO1lBQUk7WUFBR0osRUFBRXdHLDhCQUE4QixHQUFDeEcsRUFBRXFELGFBQWEsR0FBQyxLQUFLO1lBQUUsTUFBTS9DLElBQUVMLEVBQUU7WUFBSyxNQUFNTSxJQUFFTixFQUFFO1lBQUssTUFBTU8sSUFBRVAsRUFBRTtZQUFLLE1BQU1RLElBQUVILEVBQUVXLE9BQU8sQ0FBQ0MsUUFBUTtZQUFHLFNBQVNtQyxjQUFjdEQsSUFBRSxDQUFDLENBQUM7Z0JBQUUsT0FBTyxJQUFJUSxFQUFFOEUsV0FBVyxDQUFDLElBQUlFLElBQUlyRixPQUFPNEYsT0FBTyxDQUFDL0Y7WUFBSTtZQUFDQyxFQUFFcUQsYUFBYSxHQUFDQTtZQUFjLFNBQVNtRCwrQkFBK0J6RyxDQUFDO2dCQUFFLElBQUcsT0FBT0EsTUFBSSxVQUFTO29CQUFDVSxFQUFFd0IsS0FBSyxDQUFDLENBQUMsa0RBQWtELEVBQUUsT0FBT2xDLEVBQUUsQ0FBQztvQkFBRUEsSUFBRTtnQkFBRTtnQkFBQyxPQUFNO29CQUFDMEcsVUFBU2pHLEVBQUU4RiwwQkFBMEI7b0JBQUNJO3dCQUFXLE9BQU8zRztvQkFBQztnQkFBQztZQUFDO1lBQUNDLEVBQUV3Ryw4QkFBOEIsR0FBQ0E7UUFBOEI7UUFBRSxJQUFHLENBQUN6RyxHQUFFQyxHQUFFQztZQUFLQyxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUUyRyxPQUFPLEdBQUMsS0FBSztZQUFFLE1BQU1yRyxJQUFFTCxFQUFFO1lBQUtELEVBQUUyRyxPQUFPLEdBQUNyRyxFQUFFRCxVQUFVLENBQUNRLFdBQVc7UUFBRTtRQUFFLEtBQUksQ0FBQ2QsR0FBRUMsR0FBRUM7WUFBS0MsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFVyxrQkFBa0IsR0FBQyxLQUFLO1lBQUUsTUFBTUwsSUFBRUwsRUFBRTtZQUFLLE1BQU1VO2dCQUFtQlEsU0FBUTtvQkFBQyxPQUFPYixFQUFFc0csWUFBWTtnQkFBQTtnQkFBQ3ZGLEtBQUt0QixDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDLEdBQUdLLENBQUMsRUFBQztvQkFBQyxPQUFPTixFQUFFNkcsSUFBSSxDQUFDNUcsTUFBS0s7Z0JBQUU7Z0JBQUNnQixLQUFLdkIsQ0FBQyxFQUFDQyxDQUFDLEVBQUM7b0JBQUMsT0FBT0E7Z0JBQUM7Z0JBQUM4RyxTQUFRO29CQUFDLE9BQU8sSUFBSTtnQkFBQTtnQkFBQ3RGLFVBQVM7b0JBQUMsT0FBTyxJQUFJO2dCQUFBO1lBQUM7WUFBQ3hCLEVBQUVXLGtCQUFrQixHQUFDQTtRQUFrQjtRQUFFLEtBQUksQ0FBQ1osR0FBRUM7WUFBS0UsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFNEcsWUFBWSxHQUFDNUcsRUFBRWdGLGdCQUFnQixHQUFDLEtBQUs7WUFBRSxTQUFTQSxpQkFBaUJqRixDQUFDO2dCQUFFLE9BQU93RyxPQUFPUSxHQUFHLENBQUNoSDtZQUFFO1lBQUNDLEVBQUVnRixnQkFBZ0IsR0FBQ0E7WUFBaUIsTUFBTWdDO2dCQUFZcEcsWUFBWWIsQ0FBQyxDQUFDO29CQUFDLE1BQU1DLElBQUUsSUFBSTtvQkFBQ0EsRUFBRWlILGVBQWUsR0FBQ2xILElBQUUsSUFBSXdGLElBQUl4RixLQUFHLElBQUl3RjtvQkFBSXZGLEVBQUVpRixRQUFRLEdBQUNsRixDQUFBQSxJQUFHQyxFQUFFaUgsZUFBZSxDQUFDeEIsR0FBRyxDQUFDMUY7b0JBQUdDLEVBQUVtRixRQUFRLEdBQUMsQ0FBQ3BGLEdBQUVFO3dCQUFLLE1BQU1LLElBQUUsSUFBSTBHLFlBQVloSCxFQUFFaUgsZUFBZTt3QkFBRTNHLEVBQUUyRyxlQUFlLENBQUNoQixHQUFHLENBQUNsRyxHQUFFRTt3QkFBRyxPQUFPSztvQkFBQztvQkFBRU4sRUFBRW9GLFdBQVcsR0FBQ3JGLENBQUFBO3dCQUFJLE1BQU1FLElBQUUsSUFBSStHLFlBQVloSCxFQUFFaUgsZUFBZTt3QkFBRWhILEVBQUVnSCxlQUFlLENBQUNkLE1BQU0sQ0FBQ3BHO3dCQUFHLE9BQU9FO29CQUFDO2dCQUFDO1lBQUM7WUFBQ0QsRUFBRTRHLFlBQVksR0FBQyxJQUFJSTtRQUFXO1FBQUUsS0FBSSxDQUFDakgsR0FBRUMsR0FBRUM7WUFBS0MsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFa0gsSUFBSSxHQUFDLEtBQUs7WUFBRSxNQUFNNUcsSUFBRUwsRUFBRTtZQUFLRCxFQUFFa0gsSUFBSSxHQUFDNUcsRUFBRVcsT0FBTyxDQUFDQyxRQUFRO1FBQUU7UUFBRSxJQUFHLENBQUNuQixHQUFFQyxHQUFFQztZQUFLQyxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUUwQyxtQkFBbUIsR0FBQyxLQUFLO1lBQUUsTUFBTXBDLElBQUVMLEVBQUU7WUFBSyxNQUFNeUM7Z0JBQW9COUIsWUFBWWIsQ0FBQyxDQUFDO29CQUFDLElBQUksQ0FBQ29ILFVBQVUsR0FBQ3BILEVBQUVxSCxTQUFTLElBQUU7Z0JBQXFCO2dCQUFDeEUsTUFBTSxHQUFHN0MsQ0FBQyxFQUFDO29CQUFDLE9BQU9zSCxTQUFTLFNBQVEsSUFBSSxDQUFDRixVQUFVLEVBQUNwSDtnQkFBRTtnQkFBQ2tDLE1BQU0sR0FBR2xDLENBQUMsRUFBQztvQkFBQyxPQUFPc0gsU0FBUyxTQUFRLElBQUksQ0FBQ0YsVUFBVSxFQUFDcEg7Z0JBQUU7Z0JBQUM4QyxLQUFLLEdBQUc5QyxDQUFDLEVBQUM7b0JBQUMsT0FBT3NILFNBQVMsUUFBTyxJQUFJLENBQUNGLFVBQVUsRUFBQ3BIO2dCQUFFO2dCQUFDeUMsS0FBSyxHQUFHekMsQ0FBQyxFQUFDO29CQUFDLE9BQU9zSCxTQUFTLFFBQU8sSUFBSSxDQUFDRixVQUFVLEVBQUNwSDtnQkFBRTtnQkFBQzRDLFFBQVEsR0FBRzVDLENBQUMsRUFBQztvQkFBQyxPQUFPc0gsU0FBUyxXQUFVLElBQUksQ0FBQ0YsVUFBVSxFQUFDcEg7Z0JBQUU7WUFBQztZQUFDQyxFQUFFMEMsbUJBQW1CLEdBQUNBO1lBQW9CLFNBQVMyRSxTQUFTdEgsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUM7Z0JBQUUsTUFBTU0sSUFBRSxDQUFDLEdBQUVELEVBQUVpQixTQUFTLEVBQUU7Z0JBQVEsSUFBRyxDQUFDaEIsR0FBRTtvQkFBQztnQkFBTTtnQkFBQ04sRUFBRXFILE9BQU8sQ0FBQ3RIO2dCQUFHLE9BQU9PLENBQUMsQ0FBQ1IsRUFBRSxJQUFJRTtZQUFFO1FBQUM7UUFBRSxLQUFJLENBQUNGLEdBQUVDO1lBQUtFLE9BQU9DLGNBQWMsQ0FBQ0gsR0FBRSxjQUFhO2dCQUFDSSxPQUFNO1lBQUk7WUFBR0osRUFBRXVILGlCQUFpQixHQUFDLEtBQUs7WUFBRSxNQUFNdEgsSUFBRTtnQkFBQztvQkFBQ0ssR0FBRTtvQkFBUUksR0FBRTtnQkFBTztnQkFBRTtvQkFBQ0osR0FBRTtvQkFBT0ksR0FBRTtnQkFBTTtnQkFBRTtvQkFBQ0osR0FBRTtvQkFBT0ksR0FBRTtnQkFBTTtnQkFBRTtvQkFBQ0osR0FBRTtvQkFBUUksR0FBRTtnQkFBTztnQkFBRTtvQkFBQ0osR0FBRTtvQkFBVUksR0FBRTtnQkFBTzthQUFFO1lBQUMsTUFBTTZHO2dCQUFrQjNHLGFBQWE7b0JBQUMsU0FBUzRHLGFBQWF6SCxDQUFDO3dCQUFFLE9BQU8sU0FBUyxHQUFHQyxDQUFDOzRCQUFFLElBQUd5SCxTQUFRO2dDQUFDLElBQUl4SCxJQUFFd0gsT0FBTyxDQUFDMUgsRUFBRTtnQ0FBQyxJQUFHLE9BQU9FLE1BQUksWUFBVztvQ0FBQ0EsSUFBRXdILFFBQVFDLEdBQUc7Z0NBQUE7Z0NBQUMsSUFBRyxPQUFPekgsTUFBSSxZQUFXO29DQUFDLE9BQU9BLEVBQUUwSCxLQUFLLENBQUNGLFNBQVF6SDtnQ0FBRTs0QkFBQzt3QkFBQztvQkFBQztvQkFBQyxJQUFJLElBQUlELElBQUUsR0FBRUEsSUFBRUUsRUFBRTJILE1BQU0sRUFBQzdILElBQUk7d0JBQUMsSUFBSSxDQUFDRSxDQUFDLENBQUNGLEVBQUUsQ0FBQ08sQ0FBQyxDQUFDLEdBQUNrSCxhQUFhdkgsQ0FBQyxDQUFDRixFQUFFLENBQUNXLENBQUM7b0JBQUM7Z0JBQUM7WUFBQztZQUFDVixFQUFFdUgsaUJBQWlCLEdBQUNBO1FBQWlCO1FBQUUsS0FBSSxDQUFDeEgsR0FBRUMsR0FBRUM7WUFBS0MsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFc0Msd0JBQXdCLEdBQUMsS0FBSztZQUFFLE1BQU1oQyxJQUFFTCxFQUFFO1lBQUssU0FBU3FDLHlCQUF5QnZDLENBQUMsRUFBQ0MsQ0FBQztnQkFBRSxJQUFHRCxJQUFFTyxFQUFFdUIsWUFBWSxDQUFDZ0csSUFBSSxFQUFDO29CQUFDOUgsSUFBRU8sRUFBRXVCLFlBQVksQ0FBQ2dHLElBQUk7Z0JBQUEsT0FBTSxJQUFHOUgsSUFBRU8sRUFBRXVCLFlBQVksQ0FBQ2lHLEdBQUcsRUFBQztvQkFBQy9ILElBQUVPLEVBQUV1QixZQUFZLENBQUNpRyxHQUFHO2dCQUFBO2dCQUFDOUgsSUFBRUEsS0FBRyxDQUFDO2dCQUFFLFNBQVMrSCxZQUFZOUgsQ0FBQyxFQUFDSyxDQUFDO29CQUFFLE1BQU1DLElBQUVQLENBQUMsQ0FBQ0MsRUFBRTtvQkFBQyxJQUFHLE9BQU9NLE1BQUksY0FBWVIsS0FBR08sR0FBRTt3QkFBQyxPQUFPQyxFQUFFZSxJQUFJLENBQUN0QjtvQkFBRTtvQkFBQyxPQUFPLFlBQVc7Z0JBQUM7Z0JBQUMsT0FBTTtvQkFBQ2lDLE9BQU04RixZQUFZLFNBQVF6SCxFQUFFdUIsWUFBWSxDQUFDbUcsS0FBSztvQkFBRXhGLE1BQUt1RixZQUFZLFFBQU96SCxFQUFFdUIsWUFBWSxDQUFDb0csSUFBSTtvQkFBRXBGLE1BQUtrRixZQUFZLFFBQU96SCxFQUFFdUIsWUFBWSxDQUFDQyxJQUFJO29CQUFFYyxPQUFNbUYsWUFBWSxTQUFRekgsRUFBRXVCLFlBQVksQ0FBQ3FHLEtBQUs7b0JBQUV2RixTQUFRb0YsWUFBWSxXQUFVekgsRUFBRXVCLFlBQVksQ0FBQ3NHLE9BQU87Z0JBQUM7WUFBQztZQUFDbkksRUFBRXNDLHdCQUF3QixHQUFDQTtRQUF3QjtRQUFFLEtBQUksQ0FBQ3ZDLEdBQUVDO1lBQUtFLE9BQU9DLGNBQWMsQ0FBQ0gsR0FBRSxjQUFhO2dCQUFDSSxPQUFNO1lBQUk7WUFBR0osRUFBRTZCLFlBQVksR0FBQyxLQUFLO1lBQUUsSUFBSTVCO1lBQUcsVUFBU0YsQ0FBQztnQkFBRUEsQ0FBQyxDQUFDQSxDQUFDLENBQUMsT0FBTyxHQUFDLEVBQUUsR0FBQztnQkFBT0EsQ0FBQyxDQUFDQSxDQUFDLENBQUMsUUFBUSxHQUFDLEdBQUcsR0FBQztnQkFBUUEsQ0FBQyxDQUFDQSxDQUFDLENBQUMsT0FBTyxHQUFDLEdBQUcsR0FBQztnQkFBT0EsQ0FBQyxDQUFDQSxDQUFDLENBQUMsT0FBTyxHQUFDLEdBQUcsR0FBQztnQkFBT0EsQ0FBQyxDQUFDQSxDQUFDLENBQUMsUUFBUSxHQUFDLEdBQUcsR0FBQztnQkFBUUEsQ0FBQyxDQUFDQSxDQUFDLENBQUMsVUFBVSxHQUFDLEdBQUcsR0FBQztnQkFBVUEsQ0FBQyxDQUFDQSxDQUFDLENBQUMsTUFBTSxHQUFDLEtBQUssR0FBQztZQUFLLEdBQUdFLElBQUVELEVBQUU2QixZQUFZLElBQUc3QixDQUFBQSxFQUFFNkIsWUFBWSxHQUFDLENBQUM7UUFBRztRQUFFLEtBQUksQ0FBQzlCLEdBQUVDLEdBQUVDO1lBQUtDLE9BQU9DLGNBQWMsQ0FBQ0gsR0FBRSxjQUFhO2dCQUFDSSxPQUFNO1lBQUk7WUFBR0osRUFBRXlCLGdCQUFnQixHQUFDekIsRUFBRXVCLFNBQVMsR0FBQ3ZCLEVBQUVnQixjQUFjLEdBQUMsS0FBSztZQUFFLE1BQU1WLElBQUVMLEVBQUU7WUFBSyxNQUFNTSxJQUFFTixFQUFFO1lBQUssTUFBTU8sSUFBRVAsRUFBRTtZQUFLLE1BQU1RLElBQUVGLEVBQUU2SCxPQUFPLENBQUNDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUFDLE1BQU0zSCxJQUFFNkYsT0FBT1EsR0FBRyxDQUFDLENBQUMscUJBQXFCLEVBQUV0RyxFQUFFLENBQUM7WUFBRSxNQUFNc0IsSUFBRXpCLEVBQUVnSSxXQUFXO1lBQUMsU0FBU3RILGVBQWVqQixDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDSyxJQUFFLEtBQUs7Z0JBQUUsSUFBSUU7Z0JBQUUsTUFBTUMsSUFBRXNCLENBQUMsQ0FBQ3JCLEVBQUUsR0FBQyxDQUFDRixJQUFFdUIsQ0FBQyxDQUFDckIsRUFBRSxNQUFJLFFBQU1GLE1BQUksS0FBSyxJQUFFQSxJQUFFO29CQUFDK0gsU0FBUWhJLEVBQUU2SCxPQUFPO2dCQUFBO2dCQUFFLElBQUcsQ0FBQzlILEtBQUdHLENBQUMsQ0FBQ1YsRUFBRSxFQUFDO29CQUFDLE1BQU1DLElBQUUsSUFBSWdDLE1BQU0sQ0FBQyw2REFBNkQsRUFBRWpDLEVBQUUsQ0FBQztvQkFBRUUsRUFBRWdDLEtBQUssQ0FBQ2pDLEVBQUVrQyxLQUFLLElBQUVsQyxFQUFFbUMsT0FBTztvQkFBRSxPQUFPO2dCQUFLO2dCQUFDLElBQUcxQixFQUFFOEgsT0FBTyxLQUFHaEksRUFBRTZILE9BQU8sRUFBQztvQkFBQyxNQUFNcEksSUFBRSxJQUFJZ0MsTUFBTSxDQUFDLDZDQUE2QyxFQUFFdkIsRUFBRThILE9BQU8sQ0FBQyxLQUFLLEVBQUV4SSxFQUFFLDJDQUEyQyxFQUFFUSxFQUFFNkgsT0FBTyxDQUFDLENBQUM7b0JBQUVuSSxFQUFFZ0MsS0FBSyxDQUFDakMsRUFBRWtDLEtBQUssSUFBRWxDLEVBQUVtQyxPQUFPO29CQUFFLE9BQU87Z0JBQUs7Z0JBQUMxQixDQUFDLENBQUNWLEVBQUUsR0FBQ0M7Z0JBQUVDLEVBQUUyQyxLQUFLLENBQUMsQ0FBQyw0Q0FBNEMsRUFBRTdDLEVBQUUsRUFBRSxFQUFFUSxFQUFFNkgsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFBRSxPQUFPO1lBQUk7WUFBQ3BJLEVBQUVnQixjQUFjLEdBQUNBO1lBQWUsU0FBU08sVUFBVXhCLENBQUM7Z0JBQUUsSUFBSUMsR0FBRUM7Z0JBQUUsTUFBTUssSUFBRSxDQUFDTixJQUFFK0IsQ0FBQyxDQUFDckIsRUFBRSxNQUFJLFFBQU1WLE1BQUksS0FBSyxJQUFFLEtBQUssSUFBRUEsRUFBRXVJLE9BQU87Z0JBQUMsSUFBRyxDQUFDakksS0FBRyxDQUFDLENBQUMsR0FBRUUsRUFBRWdJLFlBQVksRUFBRWxJLElBQUc7b0JBQUM7Z0JBQU07Z0JBQUMsT0FBTSxDQUFDTCxJQUFFOEIsQ0FBQyxDQUFDckIsRUFBRSxNQUFJLFFBQU1ULE1BQUksS0FBSyxJQUFFLEtBQUssSUFBRUEsQ0FBQyxDQUFDRixFQUFFO1lBQUE7WUFBQ0MsRUFBRXVCLFNBQVMsR0FBQ0E7WUFBVSxTQUFTRSxpQkFBaUIxQixDQUFDLEVBQUNDLENBQUM7Z0JBQUVBLEVBQUU0QyxLQUFLLENBQUMsQ0FBQywrQ0FBK0MsRUFBRTdDLEVBQUUsRUFBRSxFQUFFUSxFQUFFNkgsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFBRSxNQUFNbkksSUFBRThCLENBQUMsQ0FBQ3JCLEVBQUU7Z0JBQUMsSUFBR1QsR0FBRTtvQkFBQyxPQUFPQSxDQUFDLENBQUNGLEVBQUU7Z0JBQUE7WUFBQztZQUFDQyxFQUFFeUIsZ0JBQWdCLEdBQUNBO1FBQWdCO1FBQUUsS0FBSSxDQUFDMUIsR0FBRUMsR0FBRUM7WUFBS0MsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFd0ksWUFBWSxHQUFDeEksRUFBRXlJLHVCQUF1QixHQUFDLEtBQUs7WUFBRSxNQUFNbkksSUFBRUwsRUFBRTtZQUFLLE1BQU1NLElBQUU7WUFBZ0MsU0FBU2tJLHdCQUF3QjFJLENBQUM7Z0JBQUUsTUFBTUMsSUFBRSxJQUFJMEksSUFBSTtvQkFBQzNJO2lCQUFFO2dCQUFFLE1BQU1FLElBQUUsSUFBSXlJO2dCQUFJLE1BQU1wSSxJQUFFUCxFQUFFNEksS0FBSyxDQUFDcEk7Z0JBQUcsSUFBRyxDQUFDRCxHQUFFO29CQUFDLE9BQU0sSUFBSTtnQkFBSztnQkFBQyxNQUFNRSxJQUFFO29CQUFDb0ksT0FBTSxDQUFDdEksQ0FBQyxDQUFDLEVBQUU7b0JBQUN1SSxPQUFNLENBQUN2SSxDQUFDLENBQUMsRUFBRTtvQkFBQ3dJLE9BQU0sQ0FBQ3hJLENBQUMsQ0FBQyxFQUFFO29CQUFDeUksWUFBV3pJLENBQUMsQ0FBQyxFQUFFO2dCQUFBO2dCQUFFLElBQUdFLEVBQUV1SSxVQUFVLElBQUUsTUFBSztvQkFBQyxPQUFPLFNBQVNDLGFBQWFoSixDQUFDO3dCQUFFLE9BQU9BLE1BQUlEO29CQUFDO2dCQUFDO2dCQUFDLFNBQVNrSixRQUFRbEosQ0FBQztvQkFBRUUsRUFBRWlKLEdBQUcsQ0FBQ25KO29CQUFHLE9BQU87Z0JBQUs7Z0JBQUMsU0FBU29KLFFBQVFwSixDQUFDO29CQUFFQyxFQUFFa0osR0FBRyxDQUFDbko7b0JBQUcsT0FBTztnQkFBSTtnQkFBQyxPQUFPLFNBQVN5SSxhQUFhekksQ0FBQztvQkFBRSxJQUFHQyxFQUFFb0osR0FBRyxDQUFDckosSUFBRzt3QkFBQyxPQUFPO29CQUFJO29CQUFDLElBQUdFLEVBQUVtSixHQUFHLENBQUNySixJQUFHO3dCQUFDLE9BQU87b0JBQUs7b0JBQUMsTUFBTU8sSUFBRVAsRUFBRTRJLEtBQUssQ0FBQ3BJO29CQUFHLElBQUcsQ0FBQ0QsR0FBRTt3QkFBQyxPQUFPMkksUUFBUWxKO29CQUFFO29CQUFDLE1BQU1VLElBQUU7d0JBQUNtSSxPQUFNLENBQUN0SSxDQUFDLENBQUMsRUFBRTt3QkFBQ3VJLE9BQU0sQ0FBQ3ZJLENBQUMsQ0FBQyxFQUFFO3dCQUFDd0ksT0FBTSxDQUFDeEksQ0FBQyxDQUFDLEVBQUU7d0JBQUN5SSxZQUFXekksQ0FBQyxDQUFDLEVBQUU7b0JBQUE7b0JBQUUsSUFBR0csRUFBRXNJLFVBQVUsSUFBRSxNQUFLO3dCQUFDLE9BQU9FLFFBQVFsSjtvQkFBRTtvQkFBQyxJQUFHUyxFQUFFb0ksS0FBSyxLQUFHbkksRUFBRW1JLEtBQUssRUFBQzt3QkFBQyxPQUFPSyxRQUFRbEo7b0JBQUU7b0JBQUMsSUFBR1MsRUFBRW9JLEtBQUssS0FBRyxHQUFFO3dCQUFDLElBQUdwSSxFQUFFcUksS0FBSyxLQUFHcEksRUFBRW9JLEtBQUssSUFBRXJJLEVBQUVzSSxLQUFLLElBQUVySSxFQUFFcUksS0FBSyxFQUFDOzRCQUFDLE9BQU9LLFFBQVFwSjt3QkFBRTt3QkFBQyxPQUFPa0osUUFBUWxKO29CQUFFO29CQUFDLElBQUdTLEVBQUVxSSxLQUFLLElBQUVwSSxFQUFFb0ksS0FBSyxFQUFDO3dCQUFDLE9BQU9NLFFBQVFwSjtvQkFBRTtvQkFBQyxPQUFPa0osUUFBUWxKO2dCQUFFO1lBQUM7WUFBQ0MsRUFBRXlJLHVCQUF1QixHQUFDQTtZQUF3QnpJLEVBQUV3SSxZQUFZLEdBQUNDLHdCQUF3Qm5JLEVBQUU4SCxPQUFPO1FBQUM7UUFBRSxLQUFJLENBQUNySSxHQUFFQyxHQUFFQztZQUFLQyxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUVxSixPQUFPLEdBQUMsS0FBSztZQUFFLE1BQU0vSSxJQUFFTCxFQUFFO1lBQUtELEVBQUVxSixPQUFPLEdBQUMvSSxFQUFFd0MsVUFBVSxDQUFDakMsV0FBVztRQUFFO1FBQUUsS0FBSSxDQUFDZCxHQUFFQztZQUFLRSxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUVzSixTQUFTLEdBQUMsS0FBSztZQUFFLElBQUlySjtZQUFHLFVBQVNGLENBQUM7Z0JBQUVBLENBQUMsQ0FBQ0EsQ0FBQyxDQUFDLE1BQU0sR0FBQyxFQUFFLEdBQUM7Z0JBQU1BLENBQUMsQ0FBQ0EsQ0FBQyxDQUFDLFNBQVMsR0FBQyxFQUFFLEdBQUM7WUFBUSxHQUFHRSxJQUFFRCxFQUFFc0osU0FBUyxJQUFHdEosQ0FBQUEsRUFBRXNKLFNBQVMsR0FBQyxDQUFDO1FBQUc7UUFBRSxLQUFJLENBQUN2SixHQUFFQztZQUFLRSxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUV1SixlQUFlLEdBQUN2SixFQUFFd0osc0NBQXNDLEdBQUN4SixFQUFFeUosNEJBQTRCLEdBQUN6SixFQUFFMEosOEJBQThCLEdBQUMxSixFQUFFMkosMkJBQTJCLEdBQUMzSixFQUFFNEoscUJBQXFCLEdBQUM1SixFQUFFNkosbUJBQW1CLEdBQUM3SixFQUFFOEosVUFBVSxHQUFDOUosRUFBRStKLGlDQUFpQyxHQUFDL0osRUFBRWdLLHlCQUF5QixHQUFDaEssRUFBRWlLLDJCQUEyQixHQUFDakssRUFBRWtLLG9CQUFvQixHQUFDbEssRUFBRW1LLG1CQUFtQixHQUFDbkssRUFBRW9LLHVCQUF1QixHQUFDcEssRUFBRXFLLGlCQUFpQixHQUFDckssRUFBRXNLLFVBQVUsR0FBQ3RLLEVBQUV1SyxTQUFTLEdBQUMsS0FBSztZQUFFLE1BQU1BO2dCQUFVM0osYUFBYSxDQUFDO2dCQUFDNEosZ0JBQWdCekssQ0FBQyxFQUFDRSxDQUFDLEVBQUM7b0JBQUMsT0FBT0QsRUFBRTRKLHFCQUFxQjtnQkFBQTtnQkFBQ2EsY0FBYzFLLENBQUMsRUFBQ0UsQ0FBQyxFQUFDO29CQUFDLE9BQU9ELEVBQUU2SixtQkFBbUI7Z0JBQUE7Z0JBQUNhLG9CQUFvQjNLLENBQUMsRUFBQ0UsQ0FBQyxFQUFDO29CQUFDLE9BQU9ELEVBQUUySiwyQkFBMkI7Z0JBQUE7Z0JBQUNnQixzQkFBc0I1SyxDQUFDLEVBQUNFLENBQUMsRUFBQztvQkFBQyxPQUFPRCxFQUFFeUosNEJBQTRCO2dCQUFBO2dCQUFDbUIsd0JBQXdCN0ssQ0FBQyxFQUFDRSxDQUFDLEVBQUM7b0JBQUMsT0FBT0QsRUFBRTBKLDhCQUE4QjtnQkFBQTtnQkFBQ21CLDhCQUE4QjlLLENBQUMsRUFBQ0UsQ0FBQyxFQUFDO29CQUFDLE9BQU9ELEVBQUV3SixzQ0FBc0M7Z0JBQUE7Z0JBQUNzQiwyQkFBMkIvSyxDQUFDLEVBQUNDLENBQUMsRUFBQyxDQUFDO2dCQUFDK0ssOEJBQThCaEwsQ0FBQyxFQUFDLENBQUM7WUFBQztZQUFDQyxFQUFFdUssU0FBUyxHQUFDQTtZQUFVLE1BQU1EO1lBQVc7WUFBQ3RLLEVBQUVzSyxVQUFVLEdBQUNBO1lBQVcsTUFBTUQsMEJBQTBCQztnQkFBV3BCLElBQUluSixDQUFDLEVBQUNDLENBQUMsRUFBQyxDQUFDO1lBQUM7WUFBQ0EsRUFBRXFLLGlCQUFpQixHQUFDQTtZQUFrQixNQUFNRCxnQ0FBZ0NFO2dCQUFXcEIsSUFBSW5KLENBQUMsRUFBQ0MsQ0FBQyxFQUFDLENBQUM7WUFBQztZQUFDQSxFQUFFb0ssdUJBQXVCLEdBQUNBO1lBQXdCLE1BQU1ELDRCQUE0Qkc7Z0JBQVdVLE9BQU9qTCxDQUFDLEVBQUNDLENBQUMsRUFBQyxDQUFDO1lBQUM7WUFBQ0EsRUFBRW1LLG1CQUFtQixHQUFDQTtZQUFvQixNQUFNRDtnQkFBcUJlLFlBQVlsTCxDQUFDLEVBQUMsQ0FBQztnQkFBQ21MLGVBQWVuTCxDQUFDLEVBQUMsQ0FBQztZQUFDO1lBQUNDLEVBQUVrSyxvQkFBb0IsR0FBQ0E7WUFBcUIsTUFBTUQsb0NBQW9DQztZQUFxQjtZQUFDbEssRUFBRWlLLDJCQUEyQixHQUFDQTtZQUE0QixNQUFNRCxrQ0FBa0NFO1lBQXFCO1lBQUNsSyxFQUFFZ0sseUJBQXlCLEdBQUNBO1lBQTBCLE1BQU1ELDBDQUEwQ0c7WUFBcUI7WUFBQ2xLLEVBQUUrSixpQ0FBaUMsR0FBQ0E7WUFBa0MvSixFQUFFOEosVUFBVSxHQUFDLElBQUlTO1lBQVV2SyxFQUFFNkosbUJBQW1CLEdBQUMsSUFBSVE7WUFBa0JySyxFQUFFNEoscUJBQXFCLEdBQUMsSUFBSU87WUFBb0JuSyxFQUFFMkosMkJBQTJCLEdBQUMsSUFBSVM7WUFBd0JwSyxFQUFFMEosOEJBQThCLEdBQUMsSUFBSU87WUFBNEJqSyxFQUFFeUosNEJBQTRCLEdBQUMsSUFBSU87WUFBMEJoSyxFQUFFd0osc0NBQXNDLEdBQUMsSUFBSU87WUFBa0MsU0FBU1I7Z0JBQWtCLE9BQU92SixFQUFFOEosVUFBVTtZQUFBO1lBQUM5SixFQUFFdUosZUFBZSxHQUFDQTtRQUFlO1FBQUUsS0FBSSxDQUFDeEosR0FBRUMsR0FBRUM7WUFBS0MsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFaUQsbUJBQW1CLEdBQUNqRCxFQUFFbUwsaUJBQWlCLEdBQUMsS0FBSztZQUFFLE1BQU03SyxJQUFFTCxFQUFFO1lBQUssTUFBTWtMO2dCQUFrQmpJLFNBQVNuRCxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDO29CQUFDLE9BQU9LLEVBQUV3SixVQUFVO2dCQUFBO1lBQUM7WUFBQzlKLEVBQUVtTCxpQkFBaUIsR0FBQ0E7WUFBa0JuTCxFQUFFaUQsbUJBQW1CLEdBQUMsSUFBSWtJO1FBQWlCO1FBQUUsS0FBSSxTQUFTcEwsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUM7WUFBRSxJQUFJSyxJQUFFLElBQUksSUFBRSxJQUFJLENBQUM4SyxlQUFlLElBQUdsTCxDQUFBQSxPQUFPbUwsTUFBTSxHQUFDLFNBQVN0TCxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDSyxDQUFDO2dCQUFFLElBQUdBLE1BQUk0RSxXQUFVNUUsSUFBRUw7Z0JBQUVDLE9BQU9DLGNBQWMsQ0FBQ0osR0FBRU8sR0FBRTtvQkFBQ2dMLFlBQVc7b0JBQUs3RixLQUFJO3dCQUFXLE9BQU96RixDQUFDLENBQUNDLEVBQUU7b0JBQUE7Z0JBQUM7WUFBRSxJQUFFLFNBQVNGLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDLEVBQUNLLENBQUM7Z0JBQUUsSUFBR0EsTUFBSTRFLFdBQVU1RSxJQUFFTDtnQkFBRUYsQ0FBQyxDQUFDTyxFQUFFLEdBQUNOLENBQUMsQ0FBQ0MsRUFBRTtZQUFBO1lBQUcsSUFBSU0sSUFBRSxJQUFJLElBQUUsSUFBSSxDQUFDZ0wsWUFBWSxJQUFFLFNBQVN4TCxDQUFDLEVBQUNDLENBQUM7Z0JBQUUsSUFBSSxJQUFJQyxLQUFLRixFQUFFLElBQUdFLE1BQUksYUFBVyxDQUFDQyxPQUFPc0wsU0FBUyxDQUFDQyxjQUFjLENBQUM1RSxJQUFJLENBQUM3RyxHQUFFQyxJQUFHSyxFQUFFTixHQUFFRCxHQUFFRTtZQUFFO1lBQUVDLE9BQU9DLGNBQWMsQ0FBQ0gsR0FBRSxjQUFhO2dCQUFDSSxPQUFNO1lBQUk7WUFBR0csRUFBRU4sRUFBRSxLQUFJRDtRQUFFO1FBQUUsS0FBSSxDQUFDRCxHQUFFQztZQUFLRSxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUVzSSxXQUFXLEdBQUMsS0FBSztZQUFFdEksRUFBRXNJLFdBQVcsR0FBQyxPQUFPb0QsZUFBYSxXQUFTQSxhQUFXQztRQUFNO1FBQUUsSUFBRyxTQUFTNUwsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUM7WUFBRSxJQUFJSyxJQUFFLElBQUksSUFBRSxJQUFJLENBQUM4SyxlQUFlLElBQUdsTCxDQUFBQSxPQUFPbUwsTUFBTSxHQUFDLFNBQVN0TCxDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDSyxDQUFDO2dCQUFFLElBQUdBLE1BQUk0RSxXQUFVNUUsSUFBRUw7Z0JBQUVDLE9BQU9DLGNBQWMsQ0FBQ0osR0FBRU8sR0FBRTtvQkFBQ2dMLFlBQVc7b0JBQUs3RixLQUFJO3dCQUFXLE9BQU96RixDQUFDLENBQUNDLEVBQUU7b0JBQUE7Z0JBQUM7WUFBRSxJQUFFLFNBQVNGLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDLEVBQUNLLENBQUM7Z0JBQUUsSUFBR0EsTUFBSTRFLFdBQVU1RSxJQUFFTDtnQkFBRUYsQ0FBQyxDQUFDTyxFQUFFLEdBQUNOLENBQUMsQ0FBQ0MsRUFBRTtZQUFBO1lBQUcsSUFBSU0sSUFBRSxJQUFJLElBQUUsSUFBSSxDQUFDZ0wsWUFBWSxJQUFFLFNBQVN4TCxDQUFDLEVBQUNDLENBQUM7Z0JBQUUsSUFBSSxJQUFJQyxLQUFLRixFQUFFLElBQUdFLE1BQUksYUFBVyxDQUFDQyxPQUFPc0wsU0FBUyxDQUFDQyxjQUFjLENBQUM1RSxJQUFJLENBQUM3RyxHQUFFQyxJQUFHSyxFQUFFTixHQUFFRCxHQUFFRTtZQUFFO1lBQUVDLE9BQU9DLGNBQWMsQ0FBQ0gsR0FBRSxjQUFhO2dCQUFDSSxPQUFNO1lBQUk7WUFBR0csRUFBRU4sRUFBRSxNQUFLRDtRQUFFO1FBQUUsS0FBSSxDQUFDRCxHQUFFQyxHQUFFQztZQUFLQyxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUU0TCxXQUFXLEdBQUMsS0FBSztZQUFFLE1BQU10TCxJQUFFTCxFQUFFO1lBQUtELEVBQUU0TCxXQUFXLEdBQUN0TCxFQUFFNkMsY0FBYyxDQUFDdEMsV0FBVztRQUFFO1FBQUUsS0FBSSxDQUFDZCxHQUFFQztZQUFLRSxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUVvRCxxQkFBcUIsR0FBQyxLQUFLO1lBQUUsTUFBTUE7Z0JBQXNCTyxPQUFPNUQsQ0FBQyxFQUFDQyxDQUFDLEVBQUMsQ0FBQztnQkFBQzhELFFBQVEvRCxDQUFDLEVBQUNDLENBQUMsRUFBQztvQkFBQyxPQUFPRDtnQkFBQztnQkFBQ2lFLFNBQVE7b0JBQUMsT0FBTSxFQUFFO2dCQUFBO1lBQUM7WUFBQ2hFLEVBQUVvRCxxQkFBcUIsR0FBQ0E7UUFBcUI7UUFBRSxLQUFJLENBQUNyRCxHQUFFQztZQUFLRSxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUU0RCxvQkFBb0IsR0FBQzVELEVBQUUrRCxvQkFBb0IsR0FBQyxLQUFLO1lBQUUvRCxFQUFFK0Qsb0JBQW9CLEdBQUM7Z0JBQUMwQixLQUFJMUYsQ0FBQyxFQUFDQyxDQUFDO29CQUFFLElBQUdELEtBQUcsTUFBSzt3QkFBQyxPQUFPbUY7b0JBQVM7b0JBQUMsT0FBT25GLENBQUMsQ0FBQ0MsRUFBRTtnQkFBQTtnQkFBRTZMLE1BQUs5TCxDQUFDO29CQUFFLElBQUdBLEtBQUcsTUFBSzt3QkFBQyxPQUFNLEVBQUU7b0JBQUE7b0JBQUMsT0FBT0csT0FBTzJMLElBQUksQ0FBQzlMO2dCQUFFO1lBQUM7WUFBRUMsRUFBRTRELG9CQUFvQixHQUFDO2dCQUFDcUMsS0FBSWxHLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDO29CQUFFLElBQUdGLEtBQUcsTUFBSzt3QkFBQztvQkFBTTtvQkFBQ0EsQ0FBQyxDQUFDQyxFQUFFLEdBQUNDO2dCQUFDO1lBQUM7UUFBQztRQUFFLEtBQUksQ0FBQ0YsR0FBRUMsR0FBRUM7WUFBS0MsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFOEwsS0FBSyxHQUFDLEtBQUs7WUFBRSxNQUFNeEwsSUFBRUwsRUFBRTtZQUFLRCxFQUFFOEwsS0FBSyxHQUFDeEwsRUFBRTJELFFBQVEsQ0FBQ3BELFdBQVc7UUFBRTtRQUFFLEtBQUksQ0FBQ2QsR0FBRUMsR0FBRUM7WUFBS0MsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFK0wsZ0JBQWdCLEdBQUMsS0FBSztZQUFFLE1BQU16TCxJQUFFTCxFQUFFO1lBQUssTUFBTThMO2dCQUFpQm5MLFlBQVliLElBQUVPLEVBQUUwTCxvQkFBb0IsQ0FBQztvQkFBQyxJQUFJLENBQUNDLFlBQVksR0FBQ2xNO2dCQUFDO2dCQUFDbU0sY0FBYTtvQkFBQyxPQUFPLElBQUksQ0FBQ0QsWUFBWTtnQkFBQTtnQkFBQ0UsYUFBYXBNLENBQUMsRUFBQ0MsQ0FBQyxFQUFDO29CQUFDLE9BQU8sSUFBSTtnQkFBQTtnQkFBQ29NLGNBQWNyTSxDQUFDLEVBQUM7b0JBQUMsT0FBTyxJQUFJO2dCQUFBO2dCQUFDc00sU0FBU3RNLENBQUMsRUFBQ0MsQ0FBQyxFQUFDO29CQUFDLE9BQU8sSUFBSTtnQkFBQTtnQkFBQ3NNLFVBQVV2TSxDQUFDLEVBQUM7b0JBQUMsT0FBTyxJQUFJO2dCQUFBO2dCQUFDd00sV0FBV3hNLENBQUMsRUFBQztvQkFBQyxPQUFPLElBQUk7Z0JBQUE7Z0JBQUN5TSxJQUFJek0sQ0FBQyxFQUFDLENBQUM7Z0JBQUMwTSxjQUFhO29CQUFDLE9BQU87Z0JBQUs7Z0JBQUNDLGdCQUFnQjNNLENBQUMsRUFBQ0MsQ0FBQyxFQUFDLENBQUM7WUFBQztZQUFDQSxFQUFFK0wsZ0JBQWdCLEdBQUNBO1FBQWdCO1FBQUUsS0FBSSxDQUFDaE0sR0FBRUMsR0FBRUM7WUFBS0MsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFMk0sVUFBVSxHQUFDLEtBQUs7WUFBRSxNQUFNck0sSUFBRUwsRUFBRTtZQUFLLE1BQU1NLElBQUVOLEVBQUU7WUFBSyxNQUFNTyxJQUFFUCxFQUFFO1lBQUssTUFBTVEsSUFBRVIsRUFBRTtZQUFLLE1BQU1TLElBQUVKLEVBQUVELFVBQVUsQ0FBQ1EsV0FBVztZQUFHLE1BQU04TDtnQkFBV0MsVUFBVTdNLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxJQUFFUyxFQUFFUyxNQUFNLEVBQUUsRUFBQztvQkFBQyxNQUFNYixJQUFFdU0sUUFBUTdNLE1BQUksUUFBTUEsTUFBSSxLQUFLLElBQUUsS0FBSyxJQUFFQSxFQUFFOE0sSUFBSTtvQkFBRSxJQUFHeE0sR0FBRTt3QkFBQyxPQUFPLElBQUlFLEVBQUV1TCxnQkFBZ0I7b0JBQUE7b0JBQUMsTUFBTWhLLElBQUU5QixLQUFHLENBQUMsR0FBRU0sRUFBRWtFLGNBQWMsRUFBRXhFO29CQUFHLElBQUc4TSxjQUFjaEwsTUFBSSxDQUFDLEdBQUV0QixFQUFFNEQsa0JBQWtCLEVBQUV0QyxJQUFHO3dCQUFDLE9BQU8sSUFBSXZCLEVBQUV1TCxnQkFBZ0IsQ0FBQ2hLO29CQUFFLE9BQUs7d0JBQUMsT0FBTyxJQUFJdkIsRUFBRXVMLGdCQUFnQjtvQkFBQTtnQkFBQztnQkFBQ2lCLGdCQUFnQmpOLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDLEVBQUNLLENBQUMsRUFBQztvQkFBQyxJQUFJRTtvQkFBRSxJQUFJQztvQkFBRSxJQUFJc0I7b0JBQUUsSUFBR2tMLFVBQVVyRixNQUFNLEdBQUMsR0FBRTt3QkFBQztvQkFBTSxPQUFNLElBQUdxRixVQUFVckYsTUFBTSxLQUFHLEdBQUU7d0JBQUM3RixJQUFFL0I7b0JBQUMsT0FBTSxJQUFHaU4sVUFBVXJGLE1BQU0sS0FBRyxHQUFFO3dCQUFDcEgsSUFBRVI7d0JBQUUrQixJQUFFOUI7b0JBQUMsT0FBSzt3QkFBQ08sSUFBRVI7d0JBQUVTLElBQUVSO3dCQUFFOEIsSUFBRXpCO29CQUFDO29CQUFDLE1BQU04QixJQUFFM0IsTUFBSSxRQUFNQSxNQUFJLEtBQUssSUFBRUEsSUFBRUMsRUFBRVMsTUFBTTtvQkFBRyxNQUFNa0IsSUFBRSxJQUFJLENBQUN1SyxTQUFTLENBQUM3TSxHQUFFUyxHQUFFNEI7b0JBQUcsTUFBTThLLElBQUUsQ0FBQyxHQUFFM00sRUFBRW1FLE9BQU8sRUFBRXRDLEdBQUVDO29CQUFHLE9BQU8zQixFQUFFVyxJQUFJLENBQUM2TCxHQUFFbkwsR0FBRW1ELFdBQVU3QztnQkFBRTtZQUFDO1lBQUNyQyxFQUFFMk0sVUFBVSxHQUFDQTtZQUFXLFNBQVNJLGNBQWNoTixDQUFDO2dCQUFFLE9BQU8sT0FBT0EsTUFBSSxZQUFVLE9BQU9BLENBQUMsQ0FBQyxTQUFTLEtBQUcsWUFBVSxPQUFPQSxDQUFDLENBQUMsVUFBVSxLQUFHLFlBQVUsT0FBT0EsQ0FBQyxDQUFDLGFBQWEsS0FBRztZQUFRO1FBQUM7UUFBRSxLQUFJLENBQUNBLEdBQUVDLEdBQUVDO1lBQUtDLE9BQU9DLGNBQWMsQ0FBQ0gsR0FBRSxjQUFhO2dCQUFDSSxPQUFNO1lBQUk7WUFBR0osRUFBRW1OLGtCQUFrQixHQUFDLEtBQUs7WUFBRSxNQUFNN00sSUFBRUwsRUFBRTtZQUFLLE1BQU1rTjtnQkFBbUJwSSxVQUFVaEYsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUMsRUFBQztvQkFBQyxPQUFPLElBQUlLLEVBQUVxTSxVQUFVO2dCQUFBO1lBQUM7WUFBQzNNLEVBQUVtTixrQkFBa0IsR0FBQ0E7UUFBa0I7UUFBRSxLQUFJLENBQUNwTixHQUFFQyxHQUFFQztZQUFLQyxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUVvTixXQUFXLEdBQUMsS0FBSztZQUFFLE1BQU05TSxJQUFFTCxFQUFFO1lBQUssTUFBTU0sSUFBRSxJQUFJRCxFQUFFcU0sVUFBVTtZQUFDLE1BQU1TO2dCQUFZeE0sWUFBWWIsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0ssQ0FBQyxDQUFDO29CQUFDLElBQUksQ0FBQytNLFNBQVMsR0FBQ3ROO29CQUFFLElBQUksQ0FBQ3VOLElBQUksR0FBQ3ROO29CQUFFLElBQUksQ0FBQ3VJLE9BQU8sR0FBQ3RJO29CQUFFLElBQUksQ0FBQ3NOLE9BQU8sR0FBQ2pOO2dCQUFDO2dCQUFDc00sVUFBVTdNLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDLEVBQUM7b0JBQUMsT0FBTyxJQUFJLENBQUN1TixVQUFVLEdBQUdaLFNBQVMsQ0FBQzdNLEdBQUVDLEdBQUVDO2dCQUFFO2dCQUFDK00sZ0JBQWdCak4sQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUMsRUFBQ0ssQ0FBQyxFQUFDO29CQUFDLE1BQU1DLElBQUUsSUFBSSxDQUFDaU4sVUFBVTtvQkFBRyxPQUFPQyxRQUFROUYsS0FBSyxDQUFDcEgsRUFBRXlNLGVBQWUsRUFBQ3pNLEdBQUUwTTtnQkFBVTtnQkFBQ08sYUFBWTtvQkFBQyxJQUFHLElBQUksQ0FBQ0UsU0FBUyxFQUFDO3dCQUFDLE9BQU8sSUFBSSxDQUFDQSxTQUFTO29CQUFBO29CQUFDLE1BQU0zTixJQUFFLElBQUksQ0FBQ3NOLFNBQVMsQ0FBQ00saUJBQWlCLENBQUMsSUFBSSxDQUFDTCxJQUFJLEVBQUMsSUFBSSxDQUFDL0UsT0FBTyxFQUFDLElBQUksQ0FBQ2dGLE9BQU87b0JBQUUsSUFBRyxDQUFDeE4sR0FBRTt3QkFBQyxPQUFPUTtvQkFBQztvQkFBQyxJQUFJLENBQUNtTixTQUFTLEdBQUMzTjtvQkFBRSxPQUFPLElBQUksQ0FBQzJOLFNBQVM7Z0JBQUE7WUFBQztZQUFDMU4sRUFBRW9OLFdBQVcsR0FBQ0E7UUFBVztRQUFFLEtBQUksQ0FBQ3JOLEdBQUVDLEdBQUVDO1lBQUtDLE9BQU9DLGNBQWMsQ0FBQ0gsR0FBRSxjQUFhO2dCQUFDSSxPQUFNO1lBQUk7WUFBR0osRUFBRW1FLG1CQUFtQixHQUFDLEtBQUs7WUFBRSxNQUFNN0QsSUFBRUwsRUFBRTtZQUFLLE1BQU1NLElBQUVOLEVBQUU7WUFBSyxNQUFNTyxJQUFFLElBQUlELEVBQUU0TSxrQkFBa0I7WUFBQyxNQUFNaEo7Z0JBQW9CWSxVQUFVaEYsQ0FBQyxFQUFDQyxDQUFDLEVBQUNDLENBQUMsRUFBQztvQkFBQyxJQUFJTTtvQkFBRSxPQUFNLENBQUNBLElBQUUsSUFBSSxDQUFDb04saUJBQWlCLENBQUM1TixHQUFFQyxHQUFFQyxFQUFDLE1BQUssUUFBTU0sTUFBSSxLQUFLLElBQUVBLElBQUUsSUFBSUQsRUFBRThNLFdBQVcsQ0FBQyxJQUFJLEVBQUNyTixHQUFFQyxHQUFFQztnQkFBRTtnQkFBQzJOLGNBQWE7b0JBQUMsSUFBSTdOO29CQUFFLE9BQU0sQ0FBQ0EsSUFBRSxJQUFJLENBQUMyTixTQUFTLE1BQUksUUFBTTNOLE1BQUksS0FBSyxJQUFFQSxJQUFFUztnQkFBQztnQkFBQ3FFLFlBQVk5RSxDQUFDLEVBQUM7b0JBQUMsSUFBSSxDQUFDMk4sU0FBUyxHQUFDM047Z0JBQUM7Z0JBQUM0TixrQkFBa0I1TixDQUFDLEVBQUNDLENBQUMsRUFBQ0MsQ0FBQyxFQUFDO29CQUFDLElBQUlLO29CQUFFLE9BQU0sQ0FBQ0EsSUFBRSxJQUFJLENBQUNvTixTQUFTLE1BQUksUUFBTXBOLE1BQUksS0FBSyxJQUFFLEtBQUssSUFBRUEsRUFBRXlFLFNBQVMsQ0FBQ2hGLEdBQUVDLEdBQUVDO2dCQUFFO1lBQUM7WUFBQ0QsRUFBRW1FLG1CQUFtQixHQUFDQTtRQUFtQjtRQUFFLEtBQUksQ0FBQ3BFLEdBQUVDO1lBQUtFLE9BQU9DLGNBQWMsQ0FBQ0gsR0FBRSxjQUFhO2dCQUFDSSxPQUFNO1lBQUk7WUFBR0osRUFBRTZOLGdCQUFnQixHQUFDLEtBQUs7WUFBRSxJQUFJNU47WUFBRyxVQUFTRixDQUFDO2dCQUFFQSxDQUFDLENBQUNBLENBQUMsQ0FBQyxhQUFhLEdBQUMsRUFBRSxHQUFDO2dCQUFhQSxDQUFDLENBQUNBLENBQUMsQ0FBQyxTQUFTLEdBQUMsRUFBRSxHQUFDO2dCQUFTQSxDQUFDLENBQUNBLENBQUMsQ0FBQyxxQkFBcUIsR0FBQyxFQUFFLEdBQUM7WUFBb0IsR0FBR0UsSUFBRUQsRUFBRTZOLGdCQUFnQixJQUFHN04sQ0FBQUEsRUFBRTZOLGdCQUFnQixHQUFDLENBQUM7UUFBRztRQUFFLEtBQUksQ0FBQzlOLEdBQUVDLEdBQUVDO1lBQUtDLE9BQU9DLGNBQWMsQ0FBQ0gsR0FBRSxjQUFhO2dCQUFDSSxPQUFNO1lBQUk7WUFBR0osRUFBRXlFLGNBQWMsR0FBQ3pFLEVBQUUyRSxjQUFjLEdBQUMzRSxFQUFFc0UsVUFBVSxHQUFDdEUsRUFBRTBFLE9BQU8sR0FBQzFFLEVBQUV3RSxhQUFhLEdBQUN4RSxFQUFFdUUsT0FBTyxHQUFDLEtBQUs7WUFBRSxNQUFNakUsSUFBRUwsRUFBRTtZQUFLLE1BQU1NLElBQUVOLEVBQUU7WUFBSyxNQUFNTyxJQUFFUCxFQUFFO1lBQUssTUFBTVEsSUFBRSxDQUFDLEdBQUVILEVBQUUwRSxnQkFBZ0IsRUFBRTtZQUFrQyxTQUFTVCxRQUFReEUsQ0FBQztnQkFBRSxPQUFPQSxFQUFFa0YsUUFBUSxDQUFDeEUsTUFBSXlFO1lBQVM7WUFBQ2xGLEVBQUV1RSxPQUFPLEdBQUNBO1lBQVEsU0FBU0M7Z0JBQWdCLE9BQU9ELFFBQVEvRCxFQUFFSCxVQUFVLENBQUNRLFdBQVcsR0FBR00sTUFBTTtZQUFHO1lBQUNuQixFQUFFd0UsYUFBYSxHQUFDQTtZQUFjLFNBQVNFLFFBQVEzRSxDQUFDLEVBQUNDLENBQUM7Z0JBQUUsT0FBT0QsRUFBRW9GLFFBQVEsQ0FBQzFFLEdBQUVUO1lBQUU7WUFBQ0EsRUFBRTBFLE9BQU8sR0FBQ0E7WUFBUSxTQUFTSixXQUFXdkUsQ0FBQztnQkFBRSxPQUFPQSxFQUFFcUYsV0FBVyxDQUFDM0U7WUFBRTtZQUFDVCxFQUFFc0UsVUFBVSxHQUFDQTtZQUFXLFNBQVNLLGVBQWU1RSxDQUFDLEVBQUNDLENBQUM7Z0JBQUUsT0FBTzBFLFFBQVEzRSxHQUFFLElBQUlRLEVBQUV3TCxnQkFBZ0IsQ0FBQy9MO1lBQUc7WUFBQ0EsRUFBRTJFLGNBQWMsR0FBQ0E7WUFBZSxTQUFTRixlQUFlMUUsQ0FBQztnQkFBRSxJQUFJQztnQkFBRSxPQUFNLENBQUNBLElBQUV1RSxRQUFReEUsRUFBQyxNQUFLLFFBQU1DLE1BQUksS0FBSyxJQUFFLEtBQUssSUFBRUEsRUFBRWtNLFdBQVc7WUFBRTtZQUFDbE0sRUFBRXlFLGNBQWMsR0FBQ0E7UUFBYztRQUFFLEtBQUksQ0FBQzFFLEdBQUVDLEdBQUVDO1lBQUtDLE9BQU9DLGNBQWMsQ0FBQ0gsR0FBRSxjQUFhO2dCQUFDSSxPQUFNO1lBQUk7WUFBR0osRUFBRThOLGNBQWMsR0FBQyxLQUFLO1lBQUUsTUFBTXhOLElBQUVMLEVBQUU7WUFBSyxNQUFNTSxJQUFFO1lBQUcsTUFBTUMsSUFBRTtZQUFJLE1BQU1DLElBQUU7WUFBSSxNQUFNQyxJQUFFO1lBQUksTUFBTW9OO2dCQUFlbE4sWUFBWWIsQ0FBQyxDQUFDO29CQUFDLElBQUksQ0FBQ2dPLGNBQWMsR0FBQyxJQUFJeEk7b0JBQUksSUFBR3hGLEdBQUUsSUFBSSxDQUFDaU8sTUFBTSxDQUFDak87Z0JBQUU7Z0JBQUNrRyxJQUFJbEcsQ0FBQyxFQUFDQyxDQUFDLEVBQUM7b0JBQUMsTUFBTUMsSUFBRSxJQUFJLENBQUNnTyxNQUFNO29CQUFHLElBQUdoTyxFQUFFOE4sY0FBYyxDQUFDM0UsR0FBRyxDQUFDckosSUFBRzt3QkFBQ0UsRUFBRThOLGNBQWMsQ0FBQzVILE1BQU0sQ0FBQ3BHO29CQUFFO29CQUFDRSxFQUFFOE4sY0FBYyxDQUFDOUgsR0FBRyxDQUFDbEcsR0FBRUM7b0JBQUcsT0FBT0M7Z0JBQUM7Z0JBQUNpTyxNQUFNbk8sQ0FBQyxFQUFDO29CQUFDLE1BQU1DLElBQUUsSUFBSSxDQUFDaU8sTUFBTTtvQkFBR2pPLEVBQUUrTixjQUFjLENBQUM1SCxNQUFNLENBQUNwRztvQkFBRyxPQUFPQztnQkFBQztnQkFBQ3lGLElBQUkxRixDQUFDLEVBQUM7b0JBQUMsT0FBTyxJQUFJLENBQUNnTyxjQUFjLENBQUN0SSxHQUFHLENBQUMxRjtnQkFBRTtnQkFBQ29PLFlBQVc7b0JBQUMsT0FBTyxJQUFJLENBQUNDLEtBQUssR0FBR0MsTUFBTSxDQUFFLENBQUN0TyxHQUFFQzt3QkFBS0QsRUFBRXVPLElBQUksQ0FBQ3RPLElBQUVVLElBQUUsSUFBSSxDQUFDK0UsR0FBRyxDQUFDekY7d0JBQUksT0FBT0Q7b0JBQUMsR0FBRyxFQUFFLEVBQUV3TyxJQUFJLENBQUM5TjtnQkFBRTtnQkFBQ3VOLE9BQU9qTyxDQUFDLEVBQUM7b0JBQUMsSUFBR0EsRUFBRTZILE1BQU0sR0FBQ3BILEdBQUU7b0JBQU8sSUFBSSxDQUFDdU4sY0FBYyxHQUFDaE8sRUFBRXNJLEtBQUssQ0FBQzVILEdBQUcrTixPQUFPLEdBQUdILE1BQU0sQ0FBRSxDQUFDdE8sR0FBRUM7d0JBQUssTUFBTUMsSUFBRUQsRUFBRXlPLElBQUk7d0JBQUcsTUFBTWxPLElBQUVOLEVBQUV5TyxPQUFPLENBQUNoTzt3QkFBRyxJQUFHSCxNQUFJLENBQUMsR0FBRTs0QkFBQyxNQUFNQyxJQUFFUCxFQUFFME8sS0FBSyxDQUFDLEdBQUVwTzs0QkFBRyxNQUFNRSxJQUFFUixFQUFFME8sS0FBSyxDQUFDcE8sSUFBRSxHQUFFUCxFQUFFNEgsTUFBTTs0QkFBRSxJQUFHLENBQUMsR0FBRXRILEVBQUVzTyxXQUFXLEVBQUVwTyxNQUFJLENBQUMsR0FBRUYsRUFBRXVPLGFBQWEsRUFBRXBPLElBQUc7Z0NBQUNWLEVBQUVrRyxHQUFHLENBQUN6RixHQUFFQzs0QkFBRSxPQUFLLENBQUM7d0JBQUM7d0JBQUMsT0FBT1Y7b0JBQUMsR0FBRyxJQUFJd0Y7b0JBQUssSUFBRyxJQUFJLENBQUN3SSxjQUFjLENBQUNlLElBQUksR0FBQ3ZPLEdBQUU7d0JBQUMsSUFBSSxDQUFDd04sY0FBYyxHQUFDLElBQUl4SSxJQUFJSyxNQUFNQyxJQUFJLENBQUMsSUFBSSxDQUFDa0ksY0FBYyxDQUFDakksT0FBTyxJQUFJMEksT0FBTyxHQUFHRyxLQUFLLENBQUMsR0FBRXBPO29CQUFHO2dCQUFDO2dCQUFDNk4sUUFBTztvQkFBQyxPQUFPeEksTUFBTUMsSUFBSSxDQUFDLElBQUksQ0FBQ2tJLGNBQWMsQ0FBQ2xDLElBQUksSUFBSTJDLE9BQU87Z0JBQUU7Z0JBQUNQLFNBQVE7b0JBQUMsTUFBTWxPLElBQUUsSUFBSStOO29CQUFlL04sRUFBRWdPLGNBQWMsR0FBQyxJQUFJeEksSUFBSSxJQUFJLENBQUN3SSxjQUFjO29CQUFFLE9BQU9oTztnQkFBQztZQUFDO1lBQUNDLEVBQUU4TixjQUFjLEdBQUNBO1FBQWM7UUFBRSxLQUFJLENBQUMvTixHQUFFQztZQUFLRSxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUU2TyxhQUFhLEdBQUM3TyxFQUFFNE8sV0FBVyxHQUFDLEtBQUs7WUFBRSxNQUFNM08sSUFBRTtZQUFlLE1BQU1LLElBQUUsQ0FBQyxLQUFLLEVBQUVMLEVBQUUsT0FBTyxDQUFDO1lBQUMsTUFBTU0sSUFBRSxDQUFDLFFBQVEsRUFBRU4sRUFBRSxhQUFhLEVBQUVBLEVBQUUsTUFBTSxDQUFDO1lBQUMsTUFBTU8sSUFBRSxJQUFJdU8sT0FBTyxDQUFDLElBQUksRUFBRXpPLEVBQUUsQ0FBQyxFQUFFQyxFQUFFLEVBQUUsQ0FBQztZQUFFLE1BQU1FLElBQUU7WUFBc0IsTUFBTUMsSUFBRTtZQUFNLFNBQVNrTyxZQUFZN08sQ0FBQztnQkFBRSxPQUFPUyxFQUFFd08sSUFBSSxDQUFDalA7WUFBRTtZQUFDQyxFQUFFNE8sV0FBVyxHQUFDQTtZQUFZLFNBQVNDLGNBQWM5TyxDQUFDO2dCQUFFLE9BQU9VLEVBQUV1TyxJQUFJLENBQUNqUCxNQUFJLENBQUNXLEVBQUVzTyxJQUFJLENBQUNqUDtZQUFFO1lBQUNDLEVBQUU2TyxhQUFhLEdBQUNBO1FBQWE7UUFBRSxJQUFHLENBQUM5TyxHQUFFQyxHQUFFQztZQUFLQyxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUVpUCxnQkFBZ0IsR0FBQyxLQUFLO1lBQUUsTUFBTTNPLElBQUVMLEVBQUU7WUFBSyxTQUFTZ1AsaUJBQWlCbFAsQ0FBQztnQkFBRSxPQUFPLElBQUlPLEVBQUV3TixjQUFjLENBQUMvTjtZQUFFO1lBQUNDLEVBQUVpUCxnQkFBZ0IsR0FBQ0E7UUFBZ0I7UUFBRSxLQUFJLENBQUNsUCxHQUFFQyxHQUFFQztZQUFLQyxPQUFPQyxjQUFjLENBQUNILEdBQUUsY0FBYTtnQkFBQ0ksT0FBTTtZQUFJO1lBQUdKLEVBQUVnTSxvQkFBb0IsR0FBQ2hNLEVBQUVrUCxlQUFlLEdBQUNsUCxFQUFFbVAsY0FBYyxHQUFDLEtBQUs7WUFBRSxNQUFNN08sSUFBRUwsRUFBRTtZQUFLRCxFQUFFbVAsY0FBYyxHQUFDO1lBQW1CblAsRUFBRWtQLGVBQWUsR0FBQztZQUFtQ2xQLEVBQUVnTSxvQkFBb0IsR0FBQztnQkFBQ29ELFNBQVFwUCxFQUFFa1AsZUFBZTtnQkFBQ0csUUFBT3JQLEVBQUVtUCxjQUFjO2dCQUFDRyxZQUFXaFAsRUFBRWlQLFVBQVUsQ0FBQzFILElBQUk7WUFBQTtRQUFDO1FBQUUsS0FBSSxDQUFDOUgsR0FBRUM7WUFBS0UsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFd1AsUUFBUSxHQUFDLEtBQUs7WUFBRSxJQUFJdlA7WUFBRyxVQUFTRixDQUFDO2dCQUFFQSxDQUFDLENBQUNBLENBQUMsQ0FBQyxXQUFXLEdBQUMsRUFBRSxHQUFDO2dCQUFXQSxDQUFDLENBQUNBLENBQUMsQ0FBQyxTQUFTLEdBQUMsRUFBRSxHQUFDO2dCQUFTQSxDQUFDLENBQUNBLENBQUMsQ0FBQyxTQUFTLEdBQUMsRUFBRSxHQUFDO2dCQUFTQSxDQUFDLENBQUNBLENBQUMsQ0FBQyxXQUFXLEdBQUMsRUFBRSxHQUFDO2dCQUFXQSxDQUFDLENBQUNBLENBQUMsQ0FBQyxXQUFXLEdBQUMsRUFBRSxHQUFDO1lBQVUsR0FBR0UsSUFBRUQsRUFBRXdQLFFBQVEsSUFBR3hQLENBQUFBLEVBQUV3UCxRQUFRLEdBQUMsQ0FBQztRQUFHO1FBQUUsS0FBSSxDQUFDelAsR0FBRUMsR0FBRUM7WUFBS0MsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFb0UsZUFBZSxHQUFDcEUsRUFBRXFFLGtCQUFrQixHQUFDckUsRUFBRXlQLGFBQWEsR0FBQ3pQLEVBQUUwUCxjQUFjLEdBQUMsS0FBSztZQUFFLE1BQU1wUCxJQUFFTCxFQUFFO1lBQUssTUFBTU0sSUFBRU4sRUFBRTtZQUFLLE1BQU1PLElBQUU7WUFBb0IsTUFBTUMsSUFBRTtZQUFrQixTQUFTaVAsZUFBZTNQLENBQUM7Z0JBQUUsT0FBT1MsRUFBRXdPLElBQUksQ0FBQ2pQLE1BQUlBLE1BQUlPLEVBQUU0TyxlQUFlO1lBQUE7WUFBQ2xQLEVBQUUwUCxjQUFjLEdBQUNBO1lBQWUsU0FBU0QsY0FBYzFQLENBQUM7Z0JBQUUsT0FBT1UsRUFBRXVPLElBQUksQ0FBQ2pQLE1BQUlBLE1BQUlPLEVBQUU2TyxjQUFjO1lBQUE7WUFBQ25QLEVBQUV5UCxhQUFhLEdBQUNBO1lBQWMsU0FBU3BMLG1CQUFtQnRFLENBQUM7Z0JBQUUsT0FBTzJQLGVBQWUzUCxFQUFFcVAsT0FBTyxLQUFHSyxjQUFjMVAsRUFBRXNQLE1BQU07WUFBQztZQUFDclAsRUFBRXFFLGtCQUFrQixHQUFDQTtZQUFtQixTQUFTRCxnQkFBZ0JyRSxDQUFDO2dCQUFFLE9BQU8sSUFBSVEsRUFBRXdMLGdCQUFnQixDQUFDaE07WUFBRTtZQUFDQyxFQUFFb0UsZUFBZSxHQUFDQTtRQUFlO1FBQUUsS0FBSSxDQUFDckUsR0FBRUM7WUFBS0UsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFMlAsY0FBYyxHQUFDLEtBQUs7WUFBRSxJQUFJMVA7WUFBRyxVQUFTRixDQUFDO2dCQUFFQSxDQUFDLENBQUNBLENBQUMsQ0FBQyxRQUFRLEdBQUMsRUFBRSxHQUFDO2dCQUFRQSxDQUFDLENBQUNBLENBQUMsQ0FBQyxLQUFLLEdBQUMsRUFBRSxHQUFDO2dCQUFLQSxDQUFDLENBQUNBLENBQUMsQ0FBQyxRQUFRLEdBQUMsRUFBRSxHQUFDO1lBQU8sR0FBR0UsSUFBRUQsRUFBRTJQLGNBQWMsSUFBRzNQLENBQUFBLEVBQUUyUCxjQUFjLEdBQUMsQ0FBQztRQUFHO1FBQUUsS0FBSSxDQUFDNVAsR0FBRUM7WUFBS0UsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFdVAsVUFBVSxHQUFDLEtBQUs7WUFBRSxJQUFJdFA7WUFBRyxVQUFTRixDQUFDO2dCQUFFQSxDQUFDLENBQUNBLENBQUMsQ0FBQyxPQUFPLEdBQUMsRUFBRSxHQUFDO2dCQUFPQSxDQUFDLENBQUNBLENBQUMsQ0FBQyxVQUFVLEdBQUMsRUFBRSxHQUFDO1lBQVMsR0FBR0UsSUFBRUQsRUFBRXVQLFVBQVUsSUFBR3ZQLENBQUFBLEVBQUV1UCxVQUFVLEdBQUMsQ0FBQztRQUFHO1FBQUUsS0FBSSxDQUFDeFAsR0FBRUM7WUFBS0UsT0FBT0MsY0FBYyxDQUFDSCxHQUFFLGNBQWE7Z0JBQUNJLE9BQU07WUFBSTtZQUFHSixFQUFFb0ksT0FBTyxHQUFDLEtBQUs7WUFBRXBJLEVBQUVvSSxPQUFPLEdBQUM7UUFBTztJQUFDO0lBQUUsSUFBSXBJLElBQUUsQ0FBQztJQUFFLFNBQVM0UCxvQkFBb0IzUCxDQUFDO1FBQUUsSUFBSUssSUFBRU4sQ0FBQyxDQUFDQyxFQUFFO1FBQUMsSUFBR0ssTUFBSTRFLFdBQVU7WUFBQyxPQUFPNUUsRUFBRXVQLE9BQU87UUFBQTtRQUFDLElBQUl0UCxJQUFFUCxDQUFDLENBQUNDLEVBQUUsR0FBQztZQUFDNFAsU0FBUSxDQUFDO1FBQUM7UUFBRSxJQUFJclAsSUFBRTtRQUFLLElBQUc7WUFBQ1QsQ0FBQyxDQUFDRSxFQUFFLENBQUM0RyxJQUFJLENBQUN0RyxFQUFFc1AsT0FBTyxFQUFDdFAsR0FBRUEsRUFBRXNQLE9BQU8sRUFBQ0Q7WUFBcUJwUCxJQUFFO1FBQUssU0FBUTtZQUFDLElBQUdBLEdBQUUsT0FBT1IsQ0FBQyxDQUFDQyxFQUFFO1FBQUE7UUFBQyxPQUFPTSxFQUFFc1AsT0FBTztJQUFBO0lBQUMsSUFBRyxPQUFPRCx3QkFBc0IsYUFBWUEsb0JBQW9CRSxFQUFFLEdBQUNDLFlBQVU7SUFBSSxJQUFJOVAsSUFBRSxDQUFDO0lBQUc7UUFBSyxJQUFJRixJQUFFRTtRQUFFQyxPQUFPQyxjQUFjLENBQUNKLEdBQUUsY0FBYTtZQUFDSyxPQUFNO1FBQUk7UUFBR0wsRUFBRStMLEtBQUssR0FBQy9MLEVBQUU2TCxXQUFXLEdBQUM3TCxFQUFFc0osT0FBTyxHQUFDdEosRUFBRW1ILElBQUksR0FBQ25ILEVBQUU0RyxPQUFPLEdBQUM1RyxFQUFFaU0sb0JBQW9CLEdBQUNqTSxFQUFFbVAsZUFBZSxHQUFDblAsRUFBRW9QLGNBQWMsR0FBQ3BQLEVBQUUwUCxhQUFhLEdBQUMxUCxFQUFFMlAsY0FBYyxHQUFDM1AsRUFBRXNFLGtCQUFrQixHQUFDdEUsRUFBRWtQLGdCQUFnQixHQUFDbFAsRUFBRXdQLFVBQVUsR0FBQ3hQLEVBQUU0UCxjQUFjLEdBQUM1UCxFQUFFeVAsUUFBUSxHQUFDelAsRUFBRThOLGdCQUFnQixHQUFDOU4sRUFBRW9FLG1CQUFtQixHQUFDcEUsRUFBRXFOLFdBQVcsR0FBQ3JOLEVBQUU2RCxvQkFBb0IsR0FBQzdELEVBQUVnRSxvQkFBb0IsR0FBQ2hFLEVBQUV1SixTQUFTLEdBQUN2SixFQUFFd0osZUFBZSxHQUFDeEosRUFBRThCLFlBQVksR0FBQzlCLEVBQUV3SCxpQkFBaUIsR0FBQ3hILEVBQUU2RyxZQUFZLEdBQUM3RyxFQUFFaUYsZ0JBQWdCLEdBQUNqRixFQUFFeUcsOEJBQThCLEdBQUMsS0FBSztRQUFFLElBQUl4RyxJQUFFNFAsb0JBQW9CO1FBQUsxUCxPQUFPQyxjQUFjLENBQUNKLEdBQUUsa0NBQWlDO1lBQUN1TCxZQUFXO1lBQUs3RixLQUFJO2dCQUFXLE9BQU96RixFQUFFd0csOEJBQThCO1lBQUE7UUFBQztRQUFHLElBQUlsRyxJQUFFc1Asb0JBQW9CO1FBQUsxUCxPQUFPQyxjQUFjLENBQUNKLEdBQUUsb0JBQW1CO1lBQUN1TCxZQUFXO1lBQUs3RixLQUFJO2dCQUFXLE9BQU9uRixFQUFFMEUsZ0JBQWdCO1lBQUE7UUFBQztRQUFHOUUsT0FBT0MsY0FBYyxDQUFDSixHQUFFLGdCQUFlO1lBQUN1TCxZQUFXO1lBQUs3RixLQUFJO2dCQUFXLE9BQU9uRixFQUFFc0csWUFBWTtZQUFBO1FBQUM7UUFBRyxJQUFJckcsSUFBRXFQLG9CQUFvQjtRQUFLMVAsT0FBT0MsY0FBYyxDQUFDSixHQUFFLHFCQUFvQjtZQUFDdUwsWUFBVztZQUFLN0YsS0FBSTtnQkFBVyxPQUFPbEYsRUFBRWdILGlCQUFpQjtZQUFBO1FBQUM7UUFBRyxJQUFJL0csSUFBRW9QLG9CQUFvQjtRQUFLMVAsT0FBT0MsY0FBYyxDQUFDSixHQUFFLGdCQUFlO1lBQUN1TCxZQUFXO1lBQUs3RixLQUFJO2dCQUFXLE9BQU9qRixFQUFFcUIsWUFBWTtZQUFBO1FBQUM7UUFBRyxJQUFJcEIsSUFBRW1QLG9CQUFvQjtRQUFLMVAsT0FBT0MsY0FBYyxDQUFDSixHQUFFLG1CQUFrQjtZQUFDdUwsWUFBVztZQUFLN0YsS0FBSTtnQkFBVyxPQUFPaEYsRUFBRThJLGVBQWU7WUFBQTtRQUFDO1FBQUcsSUFBSTdJLElBQUVrUCxvQkFBb0I7UUFBSzFQLE9BQU9DLGNBQWMsQ0FBQ0osR0FBRSxhQUFZO1lBQUN1TCxZQUFXO1lBQUs3RixLQUFJO2dCQUFXLE9BQU8vRSxFQUFFNEksU0FBUztZQUFBO1FBQUM7UUFBRyxJQUFJdkgsSUFBRTZOLG9CQUFvQjtRQUFLMVAsT0FBT0MsY0FBYyxDQUFDSixHQUFFLHdCQUF1QjtZQUFDdUwsWUFBVztZQUFLN0YsS0FBSTtnQkFBVyxPQUFPMUQsRUFBRWdDLG9CQUFvQjtZQUFBO1FBQUM7UUFBRzdELE9BQU9DLGNBQWMsQ0FBQ0osR0FBRSx3QkFBdUI7WUFBQ3VMLFlBQVc7WUFBSzdGLEtBQUk7Z0JBQVcsT0FBTzFELEVBQUU2QixvQkFBb0I7WUFBQTtRQUFDO1FBQUcsSUFBSXhCLElBQUV3TixvQkFBb0I7UUFBSzFQLE9BQU9DLGNBQWMsQ0FBQ0osR0FBRSxlQUFjO1lBQUN1TCxZQUFXO1lBQUs3RixLQUFJO2dCQUFXLE9BQU9yRCxFQUFFZ0wsV0FBVztZQUFBO1FBQUM7UUFBRyxJQUFJL0ssSUFBRXVOLG9CQUFvQjtRQUFLMVAsT0FBT0MsY0FBYyxDQUFDSixHQUFFLHVCQUFzQjtZQUFDdUwsWUFBVztZQUFLN0YsS0FBSTtnQkFBVyxPQUFPcEQsRUFBRThCLG1CQUFtQjtZQUFBO1FBQUM7UUFBRyxJQUFJK0ksSUFBRTBDLG9CQUFvQjtRQUFLMVAsT0FBT0MsY0FBYyxDQUFDSixHQUFFLG9CQUFtQjtZQUFDdUwsWUFBVztZQUFLN0YsS0FBSTtnQkFBVyxPQUFPeUgsRUFBRVcsZ0JBQWdCO1lBQUE7UUFBQztRQUFHLElBQUltQyxJQUFFSixvQkFBb0I7UUFBSzFQLE9BQU9DLGNBQWMsQ0FBQ0osR0FBRSxZQUFXO1lBQUN1TCxZQUFXO1lBQUs3RixLQUFJO2dCQUFXLE9BQU91SyxFQUFFUixRQUFRO1lBQUE7UUFBQztRQUFHLElBQUlTLElBQUVMLG9CQUFvQjtRQUFLMVAsT0FBT0MsY0FBYyxDQUFDSixHQUFFLGtCQUFpQjtZQUFDdUwsWUFBVztZQUFLN0YsS0FBSTtnQkFBVyxPQUFPd0ssRUFBRU4sY0FBYztZQUFBO1FBQUM7UUFBRyxJQUFJTyxJQUFFTixvQkFBb0I7UUFBSzFQLE9BQU9DLGNBQWMsQ0FBQ0osR0FBRSxjQUFhO1lBQUN1TCxZQUFXO1lBQUs3RixLQUFJO2dCQUFXLE9BQU95SyxFQUFFWCxVQUFVO1lBQUE7UUFBQztRQUFHLElBQUlZLElBQUVQLG9CQUFvQjtRQUFJMVAsT0FBT0MsY0FBYyxDQUFDSixHQUFFLG9CQUFtQjtZQUFDdUwsWUFBVztZQUFLN0YsS0FBSTtnQkFBVyxPQUFPMEssRUFBRWxCLGdCQUFnQjtZQUFBO1FBQUM7UUFBRyxJQUFJbUIsSUFBRVIsb0JBQW9CO1FBQUsxUCxPQUFPQyxjQUFjLENBQUNKLEdBQUUsc0JBQXFCO1lBQUN1TCxZQUFXO1lBQUs3RixLQUFJO2dCQUFXLE9BQU8ySyxFQUFFL0wsa0JBQWtCO1lBQUE7UUFBQztRQUFHbkUsT0FBT0MsY0FBYyxDQUFDSixHQUFFLGtCQUFpQjtZQUFDdUwsWUFBVztZQUFLN0YsS0FBSTtnQkFBVyxPQUFPMkssRUFBRVYsY0FBYztZQUFBO1FBQUM7UUFBR3hQLE9BQU9DLGNBQWMsQ0FBQ0osR0FBRSxpQkFBZ0I7WUFBQ3VMLFlBQVc7WUFBSzdGLEtBQUk7Z0JBQVcsT0FBTzJLLEVBQUVYLGFBQWE7WUFBQTtRQUFDO1FBQUcsSUFBSVksSUFBRVQsb0JBQW9CO1FBQUsxUCxPQUFPQyxjQUFjLENBQUNKLEdBQUUsa0JBQWlCO1lBQUN1TCxZQUFXO1lBQUs3RixLQUFJO2dCQUFXLE9BQU80SyxFQUFFbEIsY0FBYztZQUFBO1FBQUM7UUFBR2pQLE9BQU9DLGNBQWMsQ0FBQ0osR0FBRSxtQkFBa0I7WUFBQ3VMLFlBQVc7WUFBSzdGLEtBQUk7Z0JBQVcsT0FBTzRLLEVBQUVuQixlQUFlO1lBQUE7UUFBQztRQUFHaFAsT0FBT0MsY0FBYyxDQUFDSixHQUFFLHdCQUF1QjtZQUFDdUwsWUFBVztZQUFLN0YsS0FBSTtnQkFBVyxPQUFPNEssRUFBRXJFLG9CQUFvQjtZQUFBO1FBQUM7UUFBRyxNQUFNc0UsSUFBRVYsb0JBQW9CO1FBQUkxUCxPQUFPQyxjQUFjLENBQUNKLEdBQUUsV0FBVTtZQUFDdUwsWUFBVztZQUFLN0YsS0FBSTtnQkFBVyxPQUFPNkssRUFBRTNKLE9BQU87WUFBQTtRQUFDO1FBQUcsTUFBTTRKLElBQUVYLG9CQUFvQjtRQUFLMVAsT0FBT0MsY0FBYyxDQUFDSixHQUFFLFFBQU87WUFBQ3VMLFlBQVc7WUFBSzdGLEtBQUk7Z0JBQVcsT0FBTzhLLEVBQUVySixJQUFJO1lBQUE7UUFBQztRQUFHLE1BQU1zSixJQUFFWixvQkFBb0I7UUFBSzFQLE9BQU9DLGNBQWMsQ0FBQ0osR0FBRSxXQUFVO1lBQUN1TCxZQUFXO1lBQUs3RixLQUFJO2dCQUFXLE9BQU8rSyxFQUFFbkgsT0FBTztZQUFBO1FBQUM7UUFBRyxNQUFNb0gsSUFBRWIsb0JBQW9CO1FBQUsxUCxPQUFPQyxjQUFjLENBQUNKLEdBQUUsZUFBYztZQUFDdUwsWUFBVztZQUFLN0YsS0FBSTtnQkFBVyxPQUFPZ0wsRUFBRTdFLFdBQVc7WUFBQTtRQUFDO1FBQUcsTUFBTThFLElBQUVkLG9CQUFvQjtRQUFLMVAsT0FBT0MsY0FBYyxDQUFDSixHQUFFLFNBQVE7WUFBQ3VMLFlBQVc7WUFBSzdGLEtBQUk7Z0JBQVcsT0FBT2lMLEVBQUU1RSxLQUFLO1lBQUE7UUFBQztRQUFHL0wsQ0FBQyxDQUFDLFVBQVUsR0FBQztZQUFDNEcsU0FBUTJKLEVBQUUzSixPQUFPO1lBQUNPLE1BQUtxSixFQUFFckosSUFBSTtZQUFDbUMsU0FBUW1ILEVBQUVuSCxPQUFPO1lBQUN1QyxhQUFZNkUsRUFBRTdFLFdBQVc7WUFBQ0UsT0FBTTRFLEVBQUU1RSxLQUFLO1FBQUE7SUFBQztJQUFLNkUsT0FBT2QsT0FBTyxHQUFDNVA7QUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvQG9wZW50ZWxlbWV0cnkvYXBpL2luZGV4LmpzPzE0ODMiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9ezQ5MTooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LkNvbnRleHRBUEk9dm9pZCAwO2NvbnN0IG49cigyMjMpO2NvbnN0IGE9cigxNzIpO2NvbnN0IG89cig5MzApO2NvbnN0IGk9XCJjb250ZXh0XCI7Y29uc3QgYz1uZXcgbi5Ob29wQ29udGV4dE1hbmFnZXI7Y2xhc3MgQ29udGV4dEFQSXtjb25zdHJ1Y3Rvcigpe31zdGF0aWMgZ2V0SW5zdGFuY2UoKXtpZighdGhpcy5faW5zdGFuY2Upe3RoaXMuX2luc3RhbmNlPW5ldyBDb250ZXh0QVBJfXJldHVybiB0aGlzLl9pbnN0YW5jZX1zZXRHbG9iYWxDb250ZXh0TWFuYWdlcihlKXtyZXR1cm4oMCxhLnJlZ2lzdGVyR2xvYmFsKShpLGUsby5EaWFnQVBJLmluc3RhbmNlKCkpfWFjdGl2ZSgpe3JldHVybiB0aGlzLl9nZXRDb250ZXh0TWFuYWdlcigpLmFjdGl2ZSgpfXdpdGgoZSx0LHIsLi4ubil7cmV0dXJuIHRoaXMuX2dldENvbnRleHRNYW5hZ2VyKCkud2l0aChlLHQsciwuLi5uKX1iaW5kKGUsdCl7cmV0dXJuIHRoaXMuX2dldENvbnRleHRNYW5hZ2VyKCkuYmluZChlLHQpfV9nZXRDb250ZXh0TWFuYWdlcigpe3JldHVybigwLGEuZ2V0R2xvYmFsKShpKXx8Y31kaXNhYmxlKCl7dGhpcy5fZ2V0Q29udGV4dE1hbmFnZXIoKS5kaXNhYmxlKCk7KDAsYS51bnJlZ2lzdGVyR2xvYmFsKShpLG8uRGlhZ0FQSS5pbnN0YW5jZSgpKX19dC5Db250ZXh0QVBJPUNvbnRleHRBUEl9LDkzMDooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LkRpYWdBUEk9dm9pZCAwO2NvbnN0IG49cig1Nik7Y29uc3QgYT1yKDkxMik7Y29uc3Qgbz1yKDk1Nyk7Y29uc3QgaT1yKDE3Mik7Y29uc3QgYz1cImRpYWdcIjtjbGFzcyBEaWFnQVBJe2NvbnN0cnVjdG9yKCl7ZnVuY3Rpb24gX2xvZ1Byb3h5KGUpe3JldHVybiBmdW5jdGlvbiguLi50KXtjb25zdCByPSgwLGkuZ2V0R2xvYmFsKShcImRpYWdcIik7aWYoIXIpcmV0dXJuO3JldHVybiByW2VdKC4uLnQpfX1jb25zdCBlPXRoaXM7Y29uc3Qgc2V0TG9nZ2VyPSh0LHI9e2xvZ0xldmVsOm8uRGlhZ0xvZ0xldmVsLklORk99KT0+e3ZhciBuLGMscztpZih0PT09ZSl7Y29uc3QgdD1uZXcgRXJyb3IoXCJDYW5ub3QgdXNlIGRpYWcgYXMgdGhlIGxvZ2dlciBmb3IgaXRzZWxmLiBQbGVhc2UgdXNlIGEgRGlhZ0xvZ2dlciBpbXBsZW1lbnRhdGlvbiBsaWtlIENvbnNvbGVEaWFnTG9nZ2VyIG9yIGEgY3VzdG9tIGltcGxlbWVudGF0aW9uXCIpO2UuZXJyb3IoKG49dC5zdGFjaykhPT1udWxsJiZuIT09dm9pZCAwP246dC5tZXNzYWdlKTtyZXR1cm4gZmFsc2V9aWYodHlwZW9mIHI9PT1cIm51bWJlclwiKXtyPXtsb2dMZXZlbDpyfX1jb25zdCB1PSgwLGkuZ2V0R2xvYmFsKShcImRpYWdcIik7Y29uc3QgbD0oMCxhLmNyZWF0ZUxvZ0xldmVsRGlhZ0xvZ2dlcikoKGM9ci5sb2dMZXZlbCkhPT1udWxsJiZjIT09dm9pZCAwP2M6by5EaWFnTG9nTGV2ZWwuSU5GTyx0KTtpZih1JiYhci5zdXBwcmVzc092ZXJyaWRlTWVzc2FnZSl7Y29uc3QgZT0ocz0obmV3IEVycm9yKS5zdGFjaykhPT1udWxsJiZzIT09dm9pZCAwP3M6XCI8ZmFpbGVkIHRvIGdlbmVyYXRlIHN0YWNrdHJhY2U+XCI7dS53YXJuKGBDdXJyZW50IGxvZ2dlciB3aWxsIGJlIG92ZXJ3cml0dGVuIGZyb20gJHtlfWApO2wud2FybihgQ3VycmVudCBsb2dnZXIgd2lsbCBvdmVyd3JpdGUgb25lIGFscmVhZHkgcmVnaXN0ZXJlZCBmcm9tICR7ZX1gKX1yZXR1cm4oMCxpLnJlZ2lzdGVyR2xvYmFsKShcImRpYWdcIixsLGUsdHJ1ZSl9O2Uuc2V0TG9nZ2VyPXNldExvZ2dlcjtlLmRpc2FibGU9KCk9PnsoMCxpLnVucmVnaXN0ZXJHbG9iYWwpKGMsZSl9O2UuY3JlYXRlQ29tcG9uZW50TG9nZ2VyPWU9Pm5ldyBuLkRpYWdDb21wb25lbnRMb2dnZXIoZSk7ZS52ZXJib3NlPV9sb2dQcm94eShcInZlcmJvc2VcIik7ZS5kZWJ1Zz1fbG9nUHJveHkoXCJkZWJ1Z1wiKTtlLmluZm89X2xvZ1Byb3h5KFwiaW5mb1wiKTtlLndhcm49X2xvZ1Byb3h5KFwid2FyblwiKTtlLmVycm9yPV9sb2dQcm94eShcImVycm9yXCIpfXN0YXRpYyBpbnN0YW5jZSgpe2lmKCF0aGlzLl9pbnN0YW5jZSl7dGhpcy5faW5zdGFuY2U9bmV3IERpYWdBUEl9cmV0dXJuIHRoaXMuX2luc3RhbmNlfX10LkRpYWdBUEk9RGlhZ0FQSX0sNjUzOihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuTWV0cmljc0FQST12b2lkIDA7Y29uc3Qgbj1yKDY2MCk7Y29uc3QgYT1yKDE3Mik7Y29uc3Qgbz1yKDkzMCk7Y29uc3QgaT1cIm1ldHJpY3NcIjtjbGFzcyBNZXRyaWNzQVBJe2NvbnN0cnVjdG9yKCl7fXN0YXRpYyBnZXRJbnN0YW5jZSgpe2lmKCF0aGlzLl9pbnN0YW5jZSl7dGhpcy5faW5zdGFuY2U9bmV3IE1ldHJpY3NBUEl9cmV0dXJuIHRoaXMuX2luc3RhbmNlfXNldEdsb2JhbE1ldGVyUHJvdmlkZXIoZSl7cmV0dXJuKDAsYS5yZWdpc3Rlckdsb2JhbCkoaSxlLG8uRGlhZ0FQSS5pbnN0YW5jZSgpKX1nZXRNZXRlclByb3ZpZGVyKCl7cmV0dXJuKDAsYS5nZXRHbG9iYWwpKGkpfHxuLk5PT1BfTUVURVJfUFJPVklERVJ9Z2V0TWV0ZXIoZSx0LHIpe3JldHVybiB0aGlzLmdldE1ldGVyUHJvdmlkZXIoKS5nZXRNZXRlcihlLHQscil9ZGlzYWJsZSgpeygwLGEudW5yZWdpc3Rlckdsb2JhbCkoaSxvLkRpYWdBUEkuaW5zdGFuY2UoKSl9fXQuTWV0cmljc0FQST1NZXRyaWNzQVBJfSwxODE6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5Qcm9wYWdhdGlvbkFQST12b2lkIDA7Y29uc3Qgbj1yKDE3Mik7Y29uc3QgYT1yKDg3NCk7Y29uc3Qgbz1yKDE5NCk7Y29uc3QgaT1yKDI3Nyk7Y29uc3QgYz1yKDM2OSk7Y29uc3Qgcz1yKDkzMCk7Y29uc3QgdT1cInByb3BhZ2F0aW9uXCI7Y29uc3QgbD1uZXcgYS5Ob29wVGV4dE1hcFByb3BhZ2F0b3I7Y2xhc3MgUHJvcGFnYXRpb25BUEl7Y29uc3RydWN0b3IoKXt0aGlzLmNyZWF0ZUJhZ2dhZ2U9Yy5jcmVhdGVCYWdnYWdlO3RoaXMuZ2V0QmFnZ2FnZT1pLmdldEJhZ2dhZ2U7dGhpcy5nZXRBY3RpdmVCYWdnYWdlPWkuZ2V0QWN0aXZlQmFnZ2FnZTt0aGlzLnNldEJhZ2dhZ2U9aS5zZXRCYWdnYWdlO3RoaXMuZGVsZXRlQmFnZ2FnZT1pLmRlbGV0ZUJhZ2dhZ2V9c3RhdGljIGdldEluc3RhbmNlKCl7aWYoIXRoaXMuX2luc3RhbmNlKXt0aGlzLl9pbnN0YW5jZT1uZXcgUHJvcGFnYXRpb25BUEl9cmV0dXJuIHRoaXMuX2luc3RhbmNlfXNldEdsb2JhbFByb3BhZ2F0b3IoZSl7cmV0dXJuKDAsbi5yZWdpc3Rlckdsb2JhbCkodSxlLHMuRGlhZ0FQSS5pbnN0YW5jZSgpKX1pbmplY3QoZSx0LHI9by5kZWZhdWx0VGV4dE1hcFNldHRlcil7cmV0dXJuIHRoaXMuX2dldEdsb2JhbFByb3BhZ2F0b3IoKS5pbmplY3QoZSx0LHIpfWV4dHJhY3QoZSx0LHI9by5kZWZhdWx0VGV4dE1hcEdldHRlcil7cmV0dXJuIHRoaXMuX2dldEdsb2JhbFByb3BhZ2F0b3IoKS5leHRyYWN0KGUsdCxyKX1maWVsZHMoKXtyZXR1cm4gdGhpcy5fZ2V0R2xvYmFsUHJvcGFnYXRvcigpLmZpZWxkcygpfWRpc2FibGUoKXsoMCxuLnVucmVnaXN0ZXJHbG9iYWwpKHUscy5EaWFnQVBJLmluc3RhbmNlKCkpfV9nZXRHbG9iYWxQcm9wYWdhdG9yKCl7cmV0dXJuKDAsbi5nZXRHbG9iYWwpKHUpfHxsfX10LlByb3BhZ2F0aW9uQVBJPVByb3BhZ2F0aW9uQVBJfSw5OTc6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5UcmFjZUFQST12b2lkIDA7Y29uc3Qgbj1yKDE3Mik7Y29uc3QgYT1yKDg0Nik7Y29uc3Qgbz1yKDEzOSk7Y29uc3QgaT1yKDYwNyk7Y29uc3QgYz1yKDkzMCk7Y29uc3Qgcz1cInRyYWNlXCI7Y2xhc3MgVHJhY2VBUEl7Y29uc3RydWN0b3IoKXt0aGlzLl9wcm94eVRyYWNlclByb3ZpZGVyPW5ldyBhLlByb3h5VHJhY2VyUHJvdmlkZXI7dGhpcy53cmFwU3BhbkNvbnRleHQ9by53cmFwU3BhbkNvbnRleHQ7dGhpcy5pc1NwYW5Db250ZXh0VmFsaWQ9by5pc1NwYW5Db250ZXh0VmFsaWQ7dGhpcy5kZWxldGVTcGFuPWkuZGVsZXRlU3Bhbjt0aGlzLmdldFNwYW49aS5nZXRTcGFuO3RoaXMuZ2V0QWN0aXZlU3Bhbj1pLmdldEFjdGl2ZVNwYW47dGhpcy5nZXRTcGFuQ29udGV4dD1pLmdldFNwYW5Db250ZXh0O3RoaXMuc2V0U3Bhbj1pLnNldFNwYW47dGhpcy5zZXRTcGFuQ29udGV4dD1pLnNldFNwYW5Db250ZXh0fXN0YXRpYyBnZXRJbnN0YW5jZSgpe2lmKCF0aGlzLl9pbnN0YW5jZSl7dGhpcy5faW5zdGFuY2U9bmV3IFRyYWNlQVBJfXJldHVybiB0aGlzLl9pbnN0YW5jZX1zZXRHbG9iYWxUcmFjZXJQcm92aWRlcihlKXtjb25zdCB0PSgwLG4ucmVnaXN0ZXJHbG9iYWwpKHMsdGhpcy5fcHJveHlUcmFjZXJQcm92aWRlcixjLkRpYWdBUEkuaW5zdGFuY2UoKSk7aWYodCl7dGhpcy5fcHJveHlUcmFjZXJQcm92aWRlci5zZXREZWxlZ2F0ZShlKX1yZXR1cm4gdH1nZXRUcmFjZXJQcm92aWRlcigpe3JldHVybigwLG4uZ2V0R2xvYmFsKShzKXx8dGhpcy5fcHJveHlUcmFjZXJQcm92aWRlcn1nZXRUcmFjZXIoZSx0KXtyZXR1cm4gdGhpcy5nZXRUcmFjZXJQcm92aWRlcigpLmdldFRyYWNlcihlLHQpfWRpc2FibGUoKXsoMCxuLnVucmVnaXN0ZXJHbG9iYWwpKHMsYy5EaWFnQVBJLmluc3RhbmNlKCkpO3RoaXMuX3Byb3h5VHJhY2VyUHJvdmlkZXI9bmV3IGEuUHJveHlUcmFjZXJQcm92aWRlcn19dC5UcmFjZUFQST1UcmFjZUFQSX0sMjc3OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuZGVsZXRlQmFnZ2FnZT10LnNldEJhZ2dhZ2U9dC5nZXRBY3RpdmVCYWdnYWdlPXQuZ2V0QmFnZ2FnZT12b2lkIDA7Y29uc3Qgbj1yKDQ5MSk7Y29uc3QgYT1yKDc4MCk7Y29uc3Qgbz0oMCxhLmNyZWF0ZUNvbnRleHRLZXkpKFwiT3BlblRlbGVtZXRyeSBCYWdnYWdlIEtleVwiKTtmdW5jdGlvbiBnZXRCYWdnYWdlKGUpe3JldHVybiBlLmdldFZhbHVlKG8pfHx1bmRlZmluZWR9dC5nZXRCYWdnYWdlPWdldEJhZ2dhZ2U7ZnVuY3Rpb24gZ2V0QWN0aXZlQmFnZ2FnZSgpe3JldHVybiBnZXRCYWdnYWdlKG4uQ29udGV4dEFQSS5nZXRJbnN0YW5jZSgpLmFjdGl2ZSgpKX10LmdldEFjdGl2ZUJhZ2dhZ2U9Z2V0QWN0aXZlQmFnZ2FnZTtmdW5jdGlvbiBzZXRCYWdnYWdlKGUsdCl7cmV0dXJuIGUuc2V0VmFsdWUobyx0KX10LnNldEJhZ2dhZ2U9c2V0QmFnZ2FnZTtmdW5jdGlvbiBkZWxldGVCYWdnYWdlKGUpe3JldHVybiBlLmRlbGV0ZVZhbHVlKG8pfXQuZGVsZXRlQmFnZ2FnZT1kZWxldGVCYWdnYWdlfSw5OTM6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuQmFnZ2FnZUltcGw9dm9pZCAwO2NsYXNzIEJhZ2dhZ2VJbXBse2NvbnN0cnVjdG9yKGUpe3RoaXMuX2VudHJpZXM9ZT9uZXcgTWFwKGUpOm5ldyBNYXB9Z2V0RW50cnkoZSl7Y29uc3QgdD10aGlzLl9lbnRyaWVzLmdldChlKTtpZighdCl7cmV0dXJuIHVuZGVmaW5lZH1yZXR1cm4gT2JqZWN0LmFzc2lnbih7fSx0KX1nZXRBbGxFbnRyaWVzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5fZW50cmllcy5lbnRyaWVzKCkpLm1hcCgoKFtlLHRdKT0+W2UsdF0pKX1zZXRFbnRyeShlLHQpe2NvbnN0IHI9bmV3IEJhZ2dhZ2VJbXBsKHRoaXMuX2VudHJpZXMpO3IuX2VudHJpZXMuc2V0KGUsdCk7cmV0dXJuIHJ9cmVtb3ZlRW50cnkoZSl7Y29uc3QgdD1uZXcgQmFnZ2FnZUltcGwodGhpcy5fZW50cmllcyk7dC5fZW50cmllcy5kZWxldGUoZSk7cmV0dXJuIHR9cmVtb3ZlRW50cmllcyguLi5lKXtjb25zdCB0PW5ldyBCYWdnYWdlSW1wbCh0aGlzLl9lbnRyaWVzKTtmb3IoY29uc3QgciBvZiBlKXt0Ll9lbnRyaWVzLmRlbGV0ZShyKX1yZXR1cm4gdH1jbGVhcigpe3JldHVybiBuZXcgQmFnZ2FnZUltcGx9fXQuQmFnZ2FnZUltcGw9QmFnZ2FnZUltcGx9LDgzMDooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5iYWdnYWdlRW50cnlNZXRhZGF0YVN5bWJvbD12b2lkIDA7dC5iYWdnYWdlRW50cnlNZXRhZGF0YVN5bWJvbD1TeW1ib2woXCJCYWdnYWdlRW50cnlNZXRhZGF0YVwiKX0sMzY5OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuYmFnZ2FnZUVudHJ5TWV0YWRhdGFGcm9tU3RyaW5nPXQuY3JlYXRlQmFnZ2FnZT12b2lkIDA7Y29uc3Qgbj1yKDkzMCk7Y29uc3QgYT1yKDk5Myk7Y29uc3Qgbz1yKDgzMCk7Y29uc3QgaT1uLkRpYWdBUEkuaW5zdGFuY2UoKTtmdW5jdGlvbiBjcmVhdGVCYWdnYWdlKGU9e30pe3JldHVybiBuZXcgYS5CYWdnYWdlSW1wbChuZXcgTWFwKE9iamVjdC5lbnRyaWVzKGUpKSl9dC5jcmVhdGVCYWdnYWdlPWNyZWF0ZUJhZ2dhZ2U7ZnVuY3Rpb24gYmFnZ2FnZUVudHJ5TWV0YWRhdGFGcm9tU3RyaW5nKGUpe2lmKHR5cGVvZiBlIT09XCJzdHJpbmdcIil7aS5lcnJvcihgQ2Fubm90IGNyZWF0ZSBiYWdnYWdlIG1ldGFkYXRhIGZyb20gdW5rbm93biB0eXBlOiAke3R5cGVvZiBlfWApO2U9XCJcIn1yZXR1cm57X19UWVBFX186by5iYWdnYWdlRW50cnlNZXRhZGF0YVN5bWJvbCx0b1N0cmluZygpe3JldHVybiBlfX19dC5iYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmc9YmFnZ2FnZUVudHJ5TWV0YWRhdGFGcm9tU3RyaW5nfSw2NzooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LmNvbnRleHQ9dm9pZCAwO2NvbnN0IG49cig0OTEpO3QuY29udGV4dD1uLkNvbnRleHRBUEkuZ2V0SW5zdGFuY2UoKX0sMjIzOihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuTm9vcENvbnRleHRNYW5hZ2VyPXZvaWQgMDtjb25zdCBuPXIoNzgwKTtjbGFzcyBOb29wQ29udGV4dE1hbmFnZXJ7YWN0aXZlKCl7cmV0dXJuIG4uUk9PVF9DT05URVhUfXdpdGgoZSx0LHIsLi4ubil7cmV0dXJuIHQuY2FsbChyLC4uLm4pfWJpbmQoZSx0KXtyZXR1cm4gdH1lbmFibGUoKXtyZXR1cm4gdGhpc31kaXNhYmxlKCl7cmV0dXJuIHRoaXN9fXQuTm9vcENvbnRleHRNYW5hZ2VyPU5vb3BDb250ZXh0TWFuYWdlcn0sNzgwOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LlJPT1RfQ09OVEVYVD10LmNyZWF0ZUNvbnRleHRLZXk9dm9pZCAwO2Z1bmN0aW9uIGNyZWF0ZUNvbnRleHRLZXkoZSl7cmV0dXJuIFN5bWJvbC5mb3IoZSl9dC5jcmVhdGVDb250ZXh0S2V5PWNyZWF0ZUNvbnRleHRLZXk7Y2xhc3MgQmFzZUNvbnRleHR7Y29uc3RydWN0b3IoZSl7Y29uc3QgdD10aGlzO3QuX2N1cnJlbnRDb250ZXh0PWU/bmV3IE1hcChlKTpuZXcgTWFwO3QuZ2V0VmFsdWU9ZT0+dC5fY3VycmVudENvbnRleHQuZ2V0KGUpO3Quc2V0VmFsdWU9KGUscik9Pntjb25zdCBuPW5ldyBCYXNlQ29udGV4dCh0Ll9jdXJyZW50Q29udGV4dCk7bi5fY3VycmVudENvbnRleHQuc2V0KGUscik7cmV0dXJuIG59O3QuZGVsZXRlVmFsdWU9ZT0+e2NvbnN0IHI9bmV3IEJhc2VDb250ZXh0KHQuX2N1cnJlbnRDb250ZXh0KTtyLl9jdXJyZW50Q29udGV4dC5kZWxldGUoZSk7cmV0dXJuIHJ9fX10LlJPT1RfQ09OVEVYVD1uZXcgQmFzZUNvbnRleHR9LDUwNjooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LmRpYWc9dm9pZCAwO2NvbnN0IG49cig5MzApO3QuZGlhZz1uLkRpYWdBUEkuaW5zdGFuY2UoKX0sNTY6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5EaWFnQ29tcG9uZW50TG9nZ2VyPXZvaWQgMDtjb25zdCBuPXIoMTcyKTtjbGFzcyBEaWFnQ29tcG9uZW50TG9nZ2Vye2NvbnN0cnVjdG9yKGUpe3RoaXMuX25hbWVzcGFjZT1lLm5hbWVzcGFjZXx8XCJEaWFnQ29tcG9uZW50TG9nZ2VyXCJ9ZGVidWcoLi4uZSl7cmV0dXJuIGxvZ1Byb3h5KFwiZGVidWdcIix0aGlzLl9uYW1lc3BhY2UsZSl9ZXJyb3IoLi4uZSl7cmV0dXJuIGxvZ1Byb3h5KFwiZXJyb3JcIix0aGlzLl9uYW1lc3BhY2UsZSl9aW5mbyguLi5lKXtyZXR1cm4gbG9nUHJveHkoXCJpbmZvXCIsdGhpcy5fbmFtZXNwYWNlLGUpfXdhcm4oLi4uZSl7cmV0dXJuIGxvZ1Byb3h5KFwid2FyblwiLHRoaXMuX25hbWVzcGFjZSxlKX12ZXJib3NlKC4uLmUpe3JldHVybiBsb2dQcm94eShcInZlcmJvc2VcIix0aGlzLl9uYW1lc3BhY2UsZSl9fXQuRGlhZ0NvbXBvbmVudExvZ2dlcj1EaWFnQ29tcG9uZW50TG9nZ2VyO2Z1bmN0aW9uIGxvZ1Byb3h5KGUsdCxyKXtjb25zdCBhPSgwLG4uZ2V0R2xvYmFsKShcImRpYWdcIik7aWYoIWEpe3JldHVybn1yLnVuc2hpZnQodCk7cmV0dXJuIGFbZV0oLi4ucil9fSw5NzI6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuRGlhZ0NvbnNvbGVMb2dnZXI9dm9pZCAwO2NvbnN0IHI9W3tuOlwiZXJyb3JcIixjOlwiZXJyb3JcIn0se246XCJ3YXJuXCIsYzpcIndhcm5cIn0se246XCJpbmZvXCIsYzpcImluZm9cIn0se246XCJkZWJ1Z1wiLGM6XCJkZWJ1Z1wifSx7bjpcInZlcmJvc2VcIixjOlwidHJhY2VcIn1dO2NsYXNzIERpYWdDb25zb2xlTG9nZ2Vye2NvbnN0cnVjdG9yKCl7ZnVuY3Rpb24gX2NvbnNvbGVGdW5jKGUpe3JldHVybiBmdW5jdGlvbiguLi50KXtpZihjb25zb2xlKXtsZXQgcj1jb25zb2xlW2VdO2lmKHR5cGVvZiByIT09XCJmdW5jdGlvblwiKXtyPWNvbnNvbGUubG9nfWlmKHR5cGVvZiByPT09XCJmdW5jdGlvblwiKXtyZXR1cm4gci5hcHBseShjb25zb2xlLHQpfX19fWZvcihsZXQgZT0wO2U8ci5sZW5ndGg7ZSsrKXt0aGlzW3JbZV0ubl09X2NvbnNvbGVGdW5jKHJbZV0uYyl9fX10LkRpYWdDb25zb2xlTG9nZ2VyPURpYWdDb25zb2xlTG9nZ2VyfSw5MTI6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5jcmVhdGVMb2dMZXZlbERpYWdMb2dnZXI9dm9pZCAwO2NvbnN0IG49cig5NTcpO2Z1bmN0aW9uIGNyZWF0ZUxvZ0xldmVsRGlhZ0xvZ2dlcihlLHQpe2lmKGU8bi5EaWFnTG9nTGV2ZWwuTk9ORSl7ZT1uLkRpYWdMb2dMZXZlbC5OT05FfWVsc2UgaWYoZT5uLkRpYWdMb2dMZXZlbC5BTEwpe2U9bi5EaWFnTG9nTGV2ZWwuQUxMfXQ9dHx8e307ZnVuY3Rpb24gX2ZpbHRlckZ1bmMocixuKXtjb25zdCBhPXRbcl07aWYodHlwZW9mIGE9PT1cImZ1bmN0aW9uXCImJmU+PW4pe3JldHVybiBhLmJpbmQodCl9cmV0dXJuIGZ1bmN0aW9uKCl7fX1yZXR1cm57ZXJyb3I6X2ZpbHRlckZ1bmMoXCJlcnJvclwiLG4uRGlhZ0xvZ0xldmVsLkVSUk9SKSx3YXJuOl9maWx0ZXJGdW5jKFwid2FyblwiLG4uRGlhZ0xvZ0xldmVsLldBUk4pLGluZm86X2ZpbHRlckZ1bmMoXCJpbmZvXCIsbi5EaWFnTG9nTGV2ZWwuSU5GTyksZGVidWc6X2ZpbHRlckZ1bmMoXCJkZWJ1Z1wiLG4uRGlhZ0xvZ0xldmVsLkRFQlVHKSx2ZXJib3NlOl9maWx0ZXJGdW5jKFwidmVyYm9zZVwiLG4uRGlhZ0xvZ0xldmVsLlZFUkJPU0UpfX10LmNyZWF0ZUxvZ0xldmVsRGlhZ0xvZ2dlcj1jcmVhdGVMb2dMZXZlbERpYWdMb2dnZXJ9LDk1NzooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5EaWFnTG9nTGV2ZWw9dm9pZCAwO3ZhciByOyhmdW5jdGlvbihlKXtlW2VbXCJOT05FXCJdPTBdPVwiTk9ORVwiO2VbZVtcIkVSUk9SXCJdPTMwXT1cIkVSUk9SXCI7ZVtlW1wiV0FSTlwiXT01MF09XCJXQVJOXCI7ZVtlW1wiSU5GT1wiXT02MF09XCJJTkZPXCI7ZVtlW1wiREVCVUdcIl09NzBdPVwiREVCVUdcIjtlW2VbXCJWRVJCT1NFXCJdPTgwXT1cIlZFUkJPU0VcIjtlW2VbXCJBTExcIl09OTk5OV09XCJBTExcIn0pKHI9dC5EaWFnTG9nTGV2ZWx8fCh0LkRpYWdMb2dMZXZlbD17fSkpfSwxNzI6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC51bnJlZ2lzdGVyR2xvYmFsPXQuZ2V0R2xvYmFsPXQucmVnaXN0ZXJHbG9iYWw9dm9pZCAwO2NvbnN0IG49cigyMDApO2NvbnN0IGE9cig1MjEpO2NvbnN0IG89cigxMzApO2NvbnN0IGk9YS5WRVJTSU9OLnNwbGl0KFwiLlwiKVswXTtjb25zdCBjPVN5bWJvbC5mb3IoYG9wZW50ZWxlbWV0cnkuanMuYXBpLiR7aX1gKTtjb25zdCBzPW4uX2dsb2JhbFRoaXM7ZnVuY3Rpb24gcmVnaXN0ZXJHbG9iYWwoZSx0LHIsbj1mYWxzZSl7dmFyIG87Y29uc3QgaT1zW2NdPShvPXNbY10pIT09bnVsbCYmbyE9PXZvaWQgMD9vOnt2ZXJzaW9uOmEuVkVSU0lPTn07aWYoIW4mJmlbZV0pe2NvbnN0IHQ9bmV3IEVycm9yKGBAb3BlbnRlbGVtZXRyeS9hcGk6IEF0dGVtcHRlZCBkdXBsaWNhdGUgcmVnaXN0cmF0aW9uIG9mIEFQSTogJHtlfWApO3IuZXJyb3IodC5zdGFja3x8dC5tZXNzYWdlKTtyZXR1cm4gZmFsc2V9aWYoaS52ZXJzaW9uIT09YS5WRVJTSU9OKXtjb25zdCB0PW5ldyBFcnJvcihgQG9wZW50ZWxlbWV0cnkvYXBpOiBSZWdpc3RyYXRpb24gb2YgdmVyc2lvbiB2JHtpLnZlcnNpb259IGZvciAke2V9IGRvZXMgbm90IG1hdGNoIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBBUEkgdiR7YS5WRVJTSU9OfWApO3IuZXJyb3IodC5zdGFja3x8dC5tZXNzYWdlKTtyZXR1cm4gZmFsc2V9aVtlXT10O3IuZGVidWcoYEBvcGVudGVsZW1ldHJ5L2FwaTogUmVnaXN0ZXJlZCBhIGdsb2JhbCBmb3IgJHtlfSB2JHthLlZFUlNJT059LmApO3JldHVybiB0cnVlfXQucmVnaXN0ZXJHbG9iYWw9cmVnaXN0ZXJHbG9iYWw7ZnVuY3Rpb24gZ2V0R2xvYmFsKGUpe3ZhciB0LHI7Y29uc3Qgbj0odD1zW2NdKT09PW51bGx8fHQ9PT12b2lkIDA/dm9pZCAwOnQudmVyc2lvbjtpZighbnx8ISgwLG8uaXNDb21wYXRpYmxlKShuKSl7cmV0dXJufXJldHVybihyPXNbY10pPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6cltlXX10LmdldEdsb2JhbD1nZXRHbG9iYWw7ZnVuY3Rpb24gdW5yZWdpc3Rlckdsb2JhbChlLHQpe3QuZGVidWcoYEBvcGVudGVsZW1ldHJ5L2FwaTogVW5yZWdpc3RlcmluZyBhIGdsb2JhbCBmb3IgJHtlfSB2JHthLlZFUlNJT059LmApO2NvbnN0IHI9c1tjXTtpZihyKXtkZWxldGUgcltlXX19dC51bnJlZ2lzdGVyR2xvYmFsPXVucmVnaXN0ZXJHbG9iYWx9LDEzMDooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LmlzQ29tcGF0aWJsZT10Ll9tYWtlQ29tcGF0aWJpbGl0eUNoZWNrPXZvaWQgMDtjb25zdCBuPXIoNTIxKTtjb25zdCBhPS9eKFxcZCspXFwuKFxcZCspXFwuKFxcZCspKC0oLispKT8kLztmdW5jdGlvbiBfbWFrZUNvbXBhdGliaWxpdHlDaGVjayhlKXtjb25zdCB0PW5ldyBTZXQoW2VdKTtjb25zdCByPW5ldyBTZXQ7Y29uc3Qgbj1lLm1hdGNoKGEpO2lmKCFuKXtyZXR1cm4oKT0+ZmFsc2V9Y29uc3Qgbz17bWFqb3I6K25bMV0sbWlub3I6K25bMl0scGF0Y2g6K25bM10scHJlcmVsZWFzZTpuWzRdfTtpZihvLnByZXJlbGVhc2UhPW51bGwpe3JldHVybiBmdW5jdGlvbiBpc0V4YWN0bWF0Y2godCl7cmV0dXJuIHQ9PT1lfX1mdW5jdGlvbiBfcmVqZWN0KGUpe3IuYWRkKGUpO3JldHVybiBmYWxzZX1mdW5jdGlvbiBfYWNjZXB0KGUpe3QuYWRkKGUpO3JldHVybiB0cnVlfXJldHVybiBmdW5jdGlvbiBpc0NvbXBhdGlibGUoZSl7aWYodC5oYXMoZSkpe3JldHVybiB0cnVlfWlmKHIuaGFzKGUpKXtyZXR1cm4gZmFsc2V9Y29uc3Qgbj1lLm1hdGNoKGEpO2lmKCFuKXtyZXR1cm4gX3JlamVjdChlKX1jb25zdCBpPXttYWpvcjorblsxXSxtaW5vcjorblsyXSxwYXRjaDorblszXSxwcmVyZWxlYXNlOm5bNF19O2lmKGkucHJlcmVsZWFzZSE9bnVsbCl7cmV0dXJuIF9yZWplY3QoZSl9aWYoby5tYWpvciE9PWkubWFqb3Ipe3JldHVybiBfcmVqZWN0KGUpfWlmKG8ubWFqb3I9PT0wKXtpZihvLm1pbm9yPT09aS5taW5vciYmby5wYXRjaDw9aS5wYXRjaCl7cmV0dXJuIF9hY2NlcHQoZSl9cmV0dXJuIF9yZWplY3QoZSl9aWYoby5taW5vcjw9aS5taW5vcil7cmV0dXJuIF9hY2NlcHQoZSl9cmV0dXJuIF9yZWplY3QoZSl9fXQuX21ha2VDb21wYXRpYmlsaXR5Q2hlY2s9X21ha2VDb21wYXRpYmlsaXR5Q2hlY2s7dC5pc0NvbXBhdGlibGU9X21ha2VDb21wYXRpYmlsaXR5Q2hlY2sobi5WRVJTSU9OKX0sODg2OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QubWV0cmljcz12b2lkIDA7Y29uc3Qgbj1yKDY1Myk7dC5tZXRyaWNzPW4uTWV0cmljc0FQSS5nZXRJbnN0YW5jZSgpfSw5MDE6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuVmFsdWVUeXBlPXZvaWQgMDt2YXIgcjsoZnVuY3Rpb24oZSl7ZVtlW1wiSU5UXCJdPTBdPVwiSU5UXCI7ZVtlW1wiRE9VQkxFXCJdPTFdPVwiRE9VQkxFXCJ9KShyPXQuVmFsdWVUeXBlfHwodC5WYWx1ZVR5cGU9e30pKX0sMTAyOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LmNyZWF0ZU5vb3BNZXRlcj10Lk5PT1BfT0JTRVJWQUJMRV9VUF9ET1dOX0NPVU5URVJfTUVUUklDPXQuTk9PUF9PQlNFUlZBQkxFX0dBVUdFX01FVFJJQz10Lk5PT1BfT0JTRVJWQUJMRV9DT1VOVEVSX01FVFJJQz10Lk5PT1BfVVBfRE9XTl9DT1VOVEVSX01FVFJJQz10Lk5PT1BfSElTVE9HUkFNX01FVFJJQz10Lk5PT1BfQ09VTlRFUl9NRVRSSUM9dC5OT09QX01FVEVSPXQuTm9vcE9ic2VydmFibGVVcERvd25Db3VudGVyTWV0cmljPXQuTm9vcE9ic2VydmFibGVHYXVnZU1ldHJpYz10Lk5vb3BPYnNlcnZhYmxlQ291bnRlck1ldHJpYz10Lk5vb3BPYnNlcnZhYmxlTWV0cmljPXQuTm9vcEhpc3RvZ3JhbU1ldHJpYz10Lk5vb3BVcERvd25Db3VudGVyTWV0cmljPXQuTm9vcENvdW50ZXJNZXRyaWM9dC5Ob29wTWV0cmljPXQuTm9vcE1ldGVyPXZvaWQgMDtjbGFzcyBOb29wTWV0ZXJ7Y29uc3RydWN0b3IoKXt9Y3JlYXRlSGlzdG9ncmFtKGUscil7cmV0dXJuIHQuTk9PUF9ISVNUT0dSQU1fTUVUUklDfWNyZWF0ZUNvdW50ZXIoZSxyKXtyZXR1cm4gdC5OT09QX0NPVU5URVJfTUVUUklDfWNyZWF0ZVVwRG93bkNvdW50ZXIoZSxyKXtyZXR1cm4gdC5OT09QX1VQX0RPV05fQ09VTlRFUl9NRVRSSUN9Y3JlYXRlT2JzZXJ2YWJsZUdhdWdlKGUscil7cmV0dXJuIHQuTk9PUF9PQlNFUlZBQkxFX0dBVUdFX01FVFJJQ31jcmVhdGVPYnNlcnZhYmxlQ291bnRlcihlLHIpe3JldHVybiB0Lk5PT1BfT0JTRVJWQUJMRV9DT1VOVEVSX01FVFJJQ31jcmVhdGVPYnNlcnZhYmxlVXBEb3duQ291bnRlcihlLHIpe3JldHVybiB0Lk5PT1BfT0JTRVJWQUJMRV9VUF9ET1dOX0NPVU5URVJfTUVUUklDfWFkZEJhdGNoT2JzZXJ2YWJsZUNhbGxiYWNrKGUsdCl7fXJlbW92ZUJhdGNoT2JzZXJ2YWJsZUNhbGxiYWNrKGUpe319dC5Ob29wTWV0ZXI9Tm9vcE1ldGVyO2NsYXNzIE5vb3BNZXRyaWN7fXQuTm9vcE1ldHJpYz1Ob29wTWV0cmljO2NsYXNzIE5vb3BDb3VudGVyTWV0cmljIGV4dGVuZHMgTm9vcE1ldHJpY3thZGQoZSx0KXt9fXQuTm9vcENvdW50ZXJNZXRyaWM9Tm9vcENvdW50ZXJNZXRyaWM7Y2xhc3MgTm9vcFVwRG93bkNvdW50ZXJNZXRyaWMgZXh0ZW5kcyBOb29wTWV0cmlje2FkZChlLHQpe319dC5Ob29wVXBEb3duQ291bnRlck1ldHJpYz1Ob29wVXBEb3duQ291bnRlck1ldHJpYztjbGFzcyBOb29wSGlzdG9ncmFtTWV0cmljIGV4dGVuZHMgTm9vcE1ldHJpY3tyZWNvcmQoZSx0KXt9fXQuTm9vcEhpc3RvZ3JhbU1ldHJpYz1Ob29wSGlzdG9ncmFtTWV0cmljO2NsYXNzIE5vb3BPYnNlcnZhYmxlTWV0cmlje2FkZENhbGxiYWNrKGUpe31yZW1vdmVDYWxsYmFjayhlKXt9fXQuTm9vcE9ic2VydmFibGVNZXRyaWM9Tm9vcE9ic2VydmFibGVNZXRyaWM7Y2xhc3MgTm9vcE9ic2VydmFibGVDb3VudGVyTWV0cmljIGV4dGVuZHMgTm9vcE9ic2VydmFibGVNZXRyaWN7fXQuTm9vcE9ic2VydmFibGVDb3VudGVyTWV0cmljPU5vb3BPYnNlcnZhYmxlQ291bnRlck1ldHJpYztjbGFzcyBOb29wT2JzZXJ2YWJsZUdhdWdlTWV0cmljIGV4dGVuZHMgTm9vcE9ic2VydmFibGVNZXRyaWN7fXQuTm9vcE9ic2VydmFibGVHYXVnZU1ldHJpYz1Ob29wT2JzZXJ2YWJsZUdhdWdlTWV0cmljO2NsYXNzIE5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYyBleHRlbmRzIE5vb3BPYnNlcnZhYmxlTWV0cmlje310Lk5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYz1Ob29wT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXJNZXRyaWM7dC5OT09QX01FVEVSPW5ldyBOb29wTWV0ZXI7dC5OT09QX0NPVU5URVJfTUVUUklDPW5ldyBOb29wQ291bnRlck1ldHJpYzt0Lk5PT1BfSElTVE9HUkFNX01FVFJJQz1uZXcgTm9vcEhpc3RvZ3JhbU1ldHJpYzt0Lk5PT1BfVVBfRE9XTl9DT1VOVEVSX01FVFJJQz1uZXcgTm9vcFVwRG93bkNvdW50ZXJNZXRyaWM7dC5OT09QX09CU0VSVkFCTEVfQ09VTlRFUl9NRVRSSUM9bmV3IE5vb3BPYnNlcnZhYmxlQ291bnRlck1ldHJpYzt0Lk5PT1BfT0JTRVJWQUJMRV9HQVVHRV9NRVRSSUM9bmV3IE5vb3BPYnNlcnZhYmxlR2F1Z2VNZXRyaWM7dC5OT09QX09CU0VSVkFCTEVfVVBfRE9XTl9DT1VOVEVSX01FVFJJQz1uZXcgTm9vcE9ic2VydmFibGVVcERvd25Db3VudGVyTWV0cmljO2Z1bmN0aW9uIGNyZWF0ZU5vb3BNZXRlcigpe3JldHVybiB0Lk5PT1BfTUVURVJ9dC5jcmVhdGVOb29wTWV0ZXI9Y3JlYXRlTm9vcE1ldGVyfSw2NjA6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5OT09QX01FVEVSX1BST1ZJREVSPXQuTm9vcE1ldGVyUHJvdmlkZXI9dm9pZCAwO2NvbnN0IG49cigxMDIpO2NsYXNzIE5vb3BNZXRlclByb3ZpZGVye2dldE1ldGVyKGUsdCxyKXtyZXR1cm4gbi5OT09QX01FVEVSfX10Lk5vb3BNZXRlclByb3ZpZGVyPU5vb3BNZXRlclByb3ZpZGVyO3QuTk9PUF9NRVRFUl9QUk9WSURFUj1uZXcgTm9vcE1ldGVyUHJvdmlkZXJ9LDIwMDpmdW5jdGlvbihlLHQscil7dmFyIG49dGhpcyYmdGhpcy5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKGUsdCxyLG4pe2lmKG49PT11bmRlZmluZWQpbj1yO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtyXX19KX06ZnVuY3Rpb24oZSx0LHIsbil7aWYobj09PXVuZGVmaW5lZCluPXI7ZVtuXT10W3JdfSk7dmFyIGE9dGhpcyYmdGhpcy5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByIGluIGUpaWYociE9PVwiZGVmYXVsdFwiJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikpbih0LGUscil9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7YShyKDQ2KSx0KX0sNjUxOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0Ll9nbG9iYWxUaGlzPXZvaWQgMDt0Ll9nbG9iYWxUaGlzPXR5cGVvZiBnbG9iYWxUaGlzPT09XCJvYmplY3RcIj9nbG9iYWxUaGlzOmdsb2JhbH0sNDY6ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXRoaXMmJnRoaXMuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihlLHQscixuKXtpZihuPT09dW5kZWZpbmVkKW49cjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbcl19fSl9OmZ1bmN0aW9uKGUsdCxyLG4pe2lmKG49PT11bmRlZmluZWQpbj1yO2Vbbl09dFtyXX0pO3ZhciBhPXRoaXMmJnRoaXMuX19leHBvcnRTdGFyfHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiBlKWlmKHIhPT1cImRlZmF1bHRcIiYmIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpKW4odCxlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO2Eocig2NTEpLHQpfSw5Mzk6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5wcm9wYWdhdGlvbj12b2lkIDA7Y29uc3Qgbj1yKDE4MSk7dC5wcm9wYWdhdGlvbj1uLlByb3BhZ2F0aW9uQVBJLmdldEluc3RhbmNlKCl9LDg3NDooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5Ob29wVGV4dE1hcFByb3BhZ2F0b3I9dm9pZCAwO2NsYXNzIE5vb3BUZXh0TWFwUHJvcGFnYXRvcntpbmplY3QoZSx0KXt9ZXh0cmFjdChlLHQpe3JldHVybiBlfWZpZWxkcygpe3JldHVybltdfX10Lk5vb3BUZXh0TWFwUHJvcGFnYXRvcj1Ob29wVGV4dE1hcFByb3BhZ2F0b3J9LDE5NDooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5kZWZhdWx0VGV4dE1hcFNldHRlcj10LmRlZmF1bHRUZXh0TWFwR2V0dGVyPXZvaWQgMDt0LmRlZmF1bHRUZXh0TWFwR2V0dGVyPXtnZXQoZSx0KXtpZihlPT1udWxsKXtyZXR1cm4gdW5kZWZpbmVkfXJldHVybiBlW3RdfSxrZXlzKGUpe2lmKGU9PW51bGwpe3JldHVybltdfXJldHVybiBPYmplY3Qua2V5cyhlKX19O3QuZGVmYXVsdFRleHRNYXBTZXR0ZXI9e3NldChlLHQscil7aWYoZT09bnVsbCl7cmV0dXJufWVbdF09cn19fSw4NDU6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC50cmFjZT12b2lkIDA7Y29uc3Qgbj1yKDk5Nyk7dC50cmFjZT1uLlRyYWNlQVBJLmdldEluc3RhbmNlKCl9LDQwMzooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0Lk5vblJlY29yZGluZ1NwYW49dm9pZCAwO2NvbnN0IG49cig0NzYpO2NsYXNzIE5vblJlY29yZGluZ1NwYW57Y29uc3RydWN0b3IoZT1uLklOVkFMSURfU1BBTl9DT05URVhUKXt0aGlzLl9zcGFuQ29udGV4dD1lfXNwYW5Db250ZXh0KCl7cmV0dXJuIHRoaXMuX3NwYW5Db250ZXh0fXNldEF0dHJpYnV0ZShlLHQpe3JldHVybiB0aGlzfXNldEF0dHJpYnV0ZXMoZSl7cmV0dXJuIHRoaXN9YWRkRXZlbnQoZSx0KXtyZXR1cm4gdGhpc31zZXRTdGF0dXMoZSl7cmV0dXJuIHRoaXN9dXBkYXRlTmFtZShlKXtyZXR1cm4gdGhpc31lbmQoZSl7fWlzUmVjb3JkaW5nKCl7cmV0dXJuIGZhbHNlfXJlY29yZEV4Y2VwdGlvbihlLHQpe319dC5Ob25SZWNvcmRpbmdTcGFuPU5vblJlY29yZGluZ1NwYW59LDYxNDooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0Lk5vb3BUcmFjZXI9dm9pZCAwO2NvbnN0IG49cig0OTEpO2NvbnN0IGE9cig2MDcpO2NvbnN0IG89cig0MDMpO2NvbnN0IGk9cigxMzkpO2NvbnN0IGM9bi5Db250ZXh0QVBJLmdldEluc3RhbmNlKCk7Y2xhc3MgTm9vcFRyYWNlcntzdGFydFNwYW4oZSx0LHI9Yy5hY3RpdmUoKSl7Y29uc3Qgbj1Cb29sZWFuKHQ9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0LnJvb3QpO2lmKG4pe3JldHVybiBuZXcgby5Ob25SZWNvcmRpbmdTcGFufWNvbnN0IHM9ciYmKDAsYS5nZXRTcGFuQ29udGV4dCkocik7aWYoaXNTcGFuQ29udGV4dChzKSYmKDAsaS5pc1NwYW5Db250ZXh0VmFsaWQpKHMpKXtyZXR1cm4gbmV3IG8uTm9uUmVjb3JkaW5nU3BhbihzKX1lbHNle3JldHVybiBuZXcgby5Ob25SZWNvcmRpbmdTcGFufX1zdGFydEFjdGl2ZVNwYW4oZSx0LHIsbil7bGV0IG87bGV0IGk7bGV0IHM7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXtyZXR1cm59ZWxzZSBpZihhcmd1bWVudHMubGVuZ3RoPT09Mil7cz10fWVsc2UgaWYoYXJndW1lbnRzLmxlbmd0aD09PTMpe289dDtzPXJ9ZWxzZXtvPXQ7aT1yO3M9bn1jb25zdCB1PWkhPT1udWxsJiZpIT09dm9pZCAwP2k6Yy5hY3RpdmUoKTtjb25zdCBsPXRoaXMuc3RhcnRTcGFuKGUsbyx1KTtjb25zdCBnPSgwLGEuc2V0U3BhbikodSxsKTtyZXR1cm4gYy53aXRoKGcscyx1bmRlZmluZWQsbCl9fXQuTm9vcFRyYWNlcj1Ob29wVHJhY2VyO2Z1bmN0aW9uIGlzU3BhbkNvbnRleHQoZSl7cmV0dXJuIHR5cGVvZiBlPT09XCJvYmplY3RcIiYmdHlwZW9mIGVbXCJzcGFuSWRcIl09PT1cInN0cmluZ1wiJiZ0eXBlb2YgZVtcInRyYWNlSWRcIl09PT1cInN0cmluZ1wiJiZ0eXBlb2YgZVtcInRyYWNlRmxhZ3NcIl09PT1cIm51bWJlclwifX0sMTI0OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuTm9vcFRyYWNlclByb3ZpZGVyPXZvaWQgMDtjb25zdCBuPXIoNjE0KTtjbGFzcyBOb29wVHJhY2VyUHJvdmlkZXJ7Z2V0VHJhY2VyKGUsdCxyKXtyZXR1cm4gbmV3IG4uTm9vcFRyYWNlcn19dC5Ob29wVHJhY2VyUHJvdmlkZXI9Tm9vcFRyYWNlclByb3ZpZGVyfSwxMjU6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5Qcm94eVRyYWNlcj12b2lkIDA7Y29uc3Qgbj1yKDYxNCk7Y29uc3QgYT1uZXcgbi5Ob29wVHJhY2VyO2NsYXNzIFByb3h5VHJhY2Vye2NvbnN0cnVjdG9yKGUsdCxyLG4pe3RoaXMuX3Byb3ZpZGVyPWU7dGhpcy5uYW1lPXQ7dGhpcy52ZXJzaW9uPXI7dGhpcy5vcHRpb25zPW59c3RhcnRTcGFuKGUsdCxyKXtyZXR1cm4gdGhpcy5fZ2V0VHJhY2VyKCkuc3RhcnRTcGFuKGUsdCxyKX1zdGFydEFjdGl2ZVNwYW4oZSx0LHIsbil7Y29uc3QgYT10aGlzLl9nZXRUcmFjZXIoKTtyZXR1cm4gUmVmbGVjdC5hcHBseShhLnN0YXJ0QWN0aXZlU3BhbixhLGFyZ3VtZW50cyl9X2dldFRyYWNlcigpe2lmKHRoaXMuX2RlbGVnYXRlKXtyZXR1cm4gdGhpcy5fZGVsZWdhdGV9Y29uc3QgZT10aGlzLl9wcm92aWRlci5nZXREZWxlZ2F0ZVRyYWNlcih0aGlzLm5hbWUsdGhpcy52ZXJzaW9uLHRoaXMub3B0aW9ucyk7aWYoIWUpe3JldHVybiBhfXRoaXMuX2RlbGVnYXRlPWU7cmV0dXJuIHRoaXMuX2RlbGVnYXRlfX10LlByb3h5VHJhY2VyPVByb3h5VHJhY2VyfSw4NDY6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5Qcm94eVRyYWNlclByb3ZpZGVyPXZvaWQgMDtjb25zdCBuPXIoMTI1KTtjb25zdCBhPXIoMTI0KTtjb25zdCBvPW5ldyBhLk5vb3BUcmFjZXJQcm92aWRlcjtjbGFzcyBQcm94eVRyYWNlclByb3ZpZGVye2dldFRyYWNlcihlLHQscil7dmFyIGE7cmV0dXJuKGE9dGhpcy5nZXREZWxlZ2F0ZVRyYWNlcihlLHQscikpIT09bnVsbCYmYSE9PXZvaWQgMD9hOm5ldyBuLlByb3h5VHJhY2VyKHRoaXMsZSx0LHIpfWdldERlbGVnYXRlKCl7dmFyIGU7cmV0dXJuKGU9dGhpcy5fZGVsZWdhdGUpIT09bnVsbCYmZSE9PXZvaWQgMD9lOm99c2V0RGVsZWdhdGUoZSl7dGhpcy5fZGVsZWdhdGU9ZX1nZXREZWxlZ2F0ZVRyYWNlcihlLHQscil7dmFyIG47cmV0dXJuKG49dGhpcy5fZGVsZWdhdGUpPT09bnVsbHx8bj09PXZvaWQgMD92b2lkIDA6bi5nZXRUcmFjZXIoZSx0LHIpfX10LlByb3h5VHJhY2VyUHJvdmlkZXI9UHJveHlUcmFjZXJQcm92aWRlcn0sOTk2OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LlNhbXBsaW5nRGVjaXNpb249dm9pZCAwO3ZhciByOyhmdW5jdGlvbihlKXtlW2VbXCJOT1RfUkVDT1JEXCJdPTBdPVwiTk9UX1JFQ09SRFwiO2VbZVtcIlJFQ09SRFwiXT0xXT1cIlJFQ09SRFwiO2VbZVtcIlJFQ09SRF9BTkRfU0FNUExFRFwiXT0yXT1cIlJFQ09SRF9BTkRfU0FNUExFRFwifSkocj10LlNhbXBsaW5nRGVjaXNpb258fCh0LlNhbXBsaW5nRGVjaXNpb249e30pKX0sNjA3OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuZ2V0U3BhbkNvbnRleHQ9dC5zZXRTcGFuQ29udGV4dD10LmRlbGV0ZVNwYW49dC5zZXRTcGFuPXQuZ2V0QWN0aXZlU3Bhbj10LmdldFNwYW49dm9pZCAwO2NvbnN0IG49cig3ODApO2NvbnN0IGE9cig0MDMpO2NvbnN0IG89cig0OTEpO2NvbnN0IGk9KDAsbi5jcmVhdGVDb250ZXh0S2V5KShcIk9wZW5UZWxlbWV0cnkgQ29udGV4dCBLZXkgU1BBTlwiKTtmdW5jdGlvbiBnZXRTcGFuKGUpe3JldHVybiBlLmdldFZhbHVlKGkpfHx1bmRlZmluZWR9dC5nZXRTcGFuPWdldFNwYW47ZnVuY3Rpb24gZ2V0QWN0aXZlU3Bhbigpe3JldHVybiBnZXRTcGFuKG8uQ29udGV4dEFQSS5nZXRJbnN0YW5jZSgpLmFjdGl2ZSgpKX10LmdldEFjdGl2ZVNwYW49Z2V0QWN0aXZlU3BhbjtmdW5jdGlvbiBzZXRTcGFuKGUsdCl7cmV0dXJuIGUuc2V0VmFsdWUoaSx0KX10LnNldFNwYW49c2V0U3BhbjtmdW5jdGlvbiBkZWxldGVTcGFuKGUpe3JldHVybiBlLmRlbGV0ZVZhbHVlKGkpfXQuZGVsZXRlU3Bhbj1kZWxldGVTcGFuO2Z1bmN0aW9uIHNldFNwYW5Db250ZXh0KGUsdCl7cmV0dXJuIHNldFNwYW4oZSxuZXcgYS5Ob25SZWNvcmRpbmdTcGFuKHQpKX10LnNldFNwYW5Db250ZXh0PXNldFNwYW5Db250ZXh0O2Z1bmN0aW9uIGdldFNwYW5Db250ZXh0KGUpe3ZhciB0O3JldHVybih0PWdldFNwYW4oZSkpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5zcGFuQ29udGV4dCgpfXQuZ2V0U3BhbkNvbnRleHQ9Z2V0U3BhbkNvbnRleHR9LDMyNTooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LlRyYWNlU3RhdGVJbXBsPXZvaWQgMDtjb25zdCBuPXIoNTY0KTtjb25zdCBhPTMyO2NvbnN0IG89NTEyO2NvbnN0IGk9XCIsXCI7Y29uc3QgYz1cIj1cIjtjbGFzcyBUcmFjZVN0YXRlSW1wbHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9pbnRlcm5hbFN0YXRlPW5ldyBNYXA7aWYoZSl0aGlzLl9wYXJzZShlKX1zZXQoZSx0KXtjb25zdCByPXRoaXMuX2Nsb25lKCk7aWYoci5faW50ZXJuYWxTdGF0ZS5oYXMoZSkpe3IuX2ludGVybmFsU3RhdGUuZGVsZXRlKGUpfXIuX2ludGVybmFsU3RhdGUuc2V0KGUsdCk7cmV0dXJuIHJ9dW5zZXQoZSl7Y29uc3QgdD10aGlzLl9jbG9uZSgpO3QuX2ludGVybmFsU3RhdGUuZGVsZXRlKGUpO3JldHVybiB0fWdldChlKXtyZXR1cm4gdGhpcy5faW50ZXJuYWxTdGF0ZS5nZXQoZSl9c2VyaWFsaXplKCl7cmV0dXJuIHRoaXMuX2tleXMoKS5yZWR1Y2UoKChlLHQpPT57ZS5wdXNoKHQrYyt0aGlzLmdldCh0KSk7cmV0dXJuIGV9KSxbXSkuam9pbihpKX1fcGFyc2UoZSl7aWYoZS5sZW5ndGg+bylyZXR1cm47dGhpcy5faW50ZXJuYWxTdGF0ZT1lLnNwbGl0KGkpLnJldmVyc2UoKS5yZWR1Y2UoKChlLHQpPT57Y29uc3Qgcj10LnRyaW0oKTtjb25zdCBhPXIuaW5kZXhPZihjKTtpZihhIT09LTEpe2NvbnN0IG89ci5zbGljZSgwLGEpO2NvbnN0IGk9ci5zbGljZShhKzEsdC5sZW5ndGgpO2lmKCgwLG4udmFsaWRhdGVLZXkpKG8pJiYoMCxuLnZhbGlkYXRlVmFsdWUpKGkpKXtlLnNldChvLGkpfWVsc2V7fX1yZXR1cm4gZX0pLG5ldyBNYXApO2lmKHRoaXMuX2ludGVybmFsU3RhdGUuc2l6ZT5hKXt0aGlzLl9pbnRlcm5hbFN0YXRlPW5ldyBNYXAoQXJyYXkuZnJvbSh0aGlzLl9pbnRlcm5hbFN0YXRlLmVudHJpZXMoKSkucmV2ZXJzZSgpLnNsaWNlKDAsYSkpfX1fa2V5cygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuX2ludGVybmFsU3RhdGUua2V5cygpKS5yZXZlcnNlKCl9X2Nsb25lKCl7Y29uc3QgZT1uZXcgVHJhY2VTdGF0ZUltcGw7ZS5faW50ZXJuYWxTdGF0ZT1uZXcgTWFwKHRoaXMuX2ludGVybmFsU3RhdGUpO3JldHVybiBlfX10LlRyYWNlU3RhdGVJbXBsPVRyYWNlU3RhdGVJbXBsfSw1NjQ6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QudmFsaWRhdGVWYWx1ZT10LnZhbGlkYXRlS2V5PXZvaWQgMDtjb25zdCByPVwiW18wLTlhLXotKi9dXCI7Y29uc3Qgbj1gW2Etel0ke3J9ezAsMjU1fWA7Y29uc3QgYT1gW2EtejAtOV0ke3J9ezAsMjQwfUBbYS16XSR7cn17MCwxM31gO2NvbnN0IG89bmV3IFJlZ0V4cChgXig/OiR7bn18JHthfSkkYCk7Y29uc3QgaT0vXlsgLX5dezAsMjU1fVshLX5dJC87Y29uc3QgYz0vLHw9LztmdW5jdGlvbiB2YWxpZGF0ZUtleShlKXtyZXR1cm4gby50ZXN0KGUpfXQudmFsaWRhdGVLZXk9dmFsaWRhdGVLZXk7ZnVuY3Rpb24gdmFsaWRhdGVWYWx1ZShlKXtyZXR1cm4gaS50ZXN0KGUpJiYhYy50ZXN0KGUpfXQudmFsaWRhdGVWYWx1ZT12YWxpZGF0ZVZhbHVlfSw5ODooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LmNyZWF0ZVRyYWNlU3RhdGU9dm9pZCAwO2NvbnN0IG49cigzMjUpO2Z1bmN0aW9uIGNyZWF0ZVRyYWNlU3RhdGUoZSl7cmV0dXJuIG5ldyBuLlRyYWNlU3RhdGVJbXBsKGUpfXQuY3JlYXRlVHJhY2VTdGF0ZT1jcmVhdGVUcmFjZVN0YXRlfSw0NzY6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5JTlZBTElEX1NQQU5fQ09OVEVYVD10LklOVkFMSURfVFJBQ0VJRD10LklOVkFMSURfU1BBTklEPXZvaWQgMDtjb25zdCBuPXIoNDc1KTt0LklOVkFMSURfU1BBTklEPVwiMDAwMDAwMDAwMDAwMDAwMFwiO3QuSU5WQUxJRF9UUkFDRUlEPVwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBcIjt0LklOVkFMSURfU1BBTl9DT05URVhUPXt0cmFjZUlkOnQuSU5WQUxJRF9UUkFDRUlELHNwYW5JZDp0LklOVkFMSURfU1BBTklELHRyYWNlRmxhZ3M6bi5UcmFjZUZsYWdzLk5PTkV9fSwzNTc6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuU3BhbktpbmQ9dm9pZCAwO3ZhciByOyhmdW5jdGlvbihlKXtlW2VbXCJJTlRFUk5BTFwiXT0wXT1cIklOVEVSTkFMXCI7ZVtlW1wiU0VSVkVSXCJdPTFdPVwiU0VSVkVSXCI7ZVtlW1wiQ0xJRU5UXCJdPTJdPVwiQ0xJRU5UXCI7ZVtlW1wiUFJPRFVDRVJcIl09M109XCJQUk9EVUNFUlwiO2VbZVtcIkNPTlNVTUVSXCJdPTRdPVwiQ09OU1VNRVJcIn0pKHI9dC5TcGFuS2luZHx8KHQuU3BhbktpbmQ9e30pKX0sMTM5OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3Qud3JhcFNwYW5Db250ZXh0PXQuaXNTcGFuQ29udGV4dFZhbGlkPXQuaXNWYWxpZFNwYW5JZD10LmlzVmFsaWRUcmFjZUlkPXZvaWQgMDtjb25zdCBuPXIoNDc2KTtjb25zdCBhPXIoNDAzKTtjb25zdCBvPS9eKFswLTlhLWZdezMyfSkkL2k7Y29uc3QgaT0vXlswLTlhLWZdezE2fSQvaTtmdW5jdGlvbiBpc1ZhbGlkVHJhY2VJZChlKXtyZXR1cm4gby50ZXN0KGUpJiZlIT09bi5JTlZBTElEX1RSQUNFSUR9dC5pc1ZhbGlkVHJhY2VJZD1pc1ZhbGlkVHJhY2VJZDtmdW5jdGlvbiBpc1ZhbGlkU3BhbklkKGUpe3JldHVybiBpLnRlc3QoZSkmJmUhPT1uLklOVkFMSURfU1BBTklEfXQuaXNWYWxpZFNwYW5JZD1pc1ZhbGlkU3BhbklkO2Z1bmN0aW9uIGlzU3BhbkNvbnRleHRWYWxpZChlKXtyZXR1cm4gaXNWYWxpZFRyYWNlSWQoZS50cmFjZUlkKSYmaXNWYWxpZFNwYW5JZChlLnNwYW5JZCl9dC5pc1NwYW5Db250ZXh0VmFsaWQ9aXNTcGFuQ29udGV4dFZhbGlkO2Z1bmN0aW9uIHdyYXBTcGFuQ29udGV4dChlKXtyZXR1cm4gbmV3IGEuTm9uUmVjb3JkaW5nU3BhbihlKX10LndyYXBTcGFuQ29udGV4dD13cmFwU3BhbkNvbnRleHR9LDg0NzooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5TcGFuU3RhdHVzQ29kZT12b2lkIDA7dmFyIHI7KGZ1bmN0aW9uKGUpe2VbZVtcIlVOU0VUXCJdPTBdPVwiVU5TRVRcIjtlW2VbXCJPS1wiXT0xXT1cIk9LXCI7ZVtlW1wiRVJST1JcIl09Ml09XCJFUlJPUlwifSkocj10LlNwYW5TdGF0dXNDb2RlfHwodC5TcGFuU3RhdHVzQ29kZT17fSkpfSw0NzU6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuVHJhY2VGbGFncz12b2lkIDA7dmFyIHI7KGZ1bmN0aW9uKGUpe2VbZVtcIk5PTkVcIl09MF09XCJOT05FXCI7ZVtlW1wiU0FNUExFRFwiXT0xXT1cIlNBTVBMRURcIn0pKHI9dC5UcmFjZUZsYWdzfHwodC5UcmFjZUZsYWdzPXt9KSl9LDUyMTooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5WRVJTSU9OPXZvaWQgMDt0LlZFUlNJT049XCIxLjYuMFwifX07dmFyIHQ9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyhyKXt2YXIgbj10W3JdO2lmKG4hPT11bmRlZmluZWQpe3JldHVybiBuLmV4cG9ydHN9dmFyIGE9dFtyXT17ZXhwb3J0czp7fX07dmFyIG89dHJ1ZTt0cnl7ZVtyXS5jYWxsKGEuZXhwb3J0cyxhLGEuZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtvPWZhbHNlfWZpbmFsbHl7aWYobylkZWxldGUgdFtyXX1yZXR1cm4gYS5leHBvcnRzfWlmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgcj17fTsoKCk9Pnt2YXIgZT1yO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7ZS50cmFjZT1lLnByb3BhZ2F0aW9uPWUubWV0cmljcz1lLmRpYWc9ZS5jb250ZXh0PWUuSU5WQUxJRF9TUEFOX0NPTlRFWFQ9ZS5JTlZBTElEX1RSQUNFSUQ9ZS5JTlZBTElEX1NQQU5JRD1lLmlzVmFsaWRTcGFuSWQ9ZS5pc1ZhbGlkVHJhY2VJZD1lLmlzU3BhbkNvbnRleHRWYWxpZD1lLmNyZWF0ZVRyYWNlU3RhdGU9ZS5UcmFjZUZsYWdzPWUuU3BhblN0YXR1c0NvZGU9ZS5TcGFuS2luZD1lLlNhbXBsaW5nRGVjaXNpb249ZS5Qcm94eVRyYWNlclByb3ZpZGVyPWUuUHJveHlUcmFjZXI9ZS5kZWZhdWx0VGV4dE1hcFNldHRlcj1lLmRlZmF1bHRUZXh0TWFwR2V0dGVyPWUuVmFsdWVUeXBlPWUuY3JlYXRlTm9vcE1ldGVyPWUuRGlhZ0xvZ0xldmVsPWUuRGlhZ0NvbnNvbGVMb2dnZXI9ZS5ST09UX0NPTlRFWFQ9ZS5jcmVhdGVDb250ZXh0S2V5PWUuYmFnZ2FnZUVudHJ5TWV0YWRhdGFGcm9tU3RyaW5nPXZvaWQgMDt2YXIgdD1fX25jY3dwY2tfcmVxdWlyZV9fKDM2OSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJiYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmdcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB0LmJhZ2dhZ2VFbnRyeU1ldGFkYXRhRnJvbVN0cmluZ319KTt2YXIgbj1fX25jY3dwY2tfcmVxdWlyZV9fKDc4MCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJjcmVhdGVDb250ZXh0S2V5XCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5jcmVhdGVDb250ZXh0S2V5fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiUk9PVF9DT05URVhUXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5ST09UX0NPTlRFWFR9fSk7dmFyIGE9X19uY2N3cGNrX3JlcXVpcmVfXyg5NzIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiRGlhZ0NvbnNvbGVMb2dnZXJcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBhLkRpYWdDb25zb2xlTG9nZ2VyfX0pO3ZhciBvPV9fbmNjd3Bja19yZXF1aXJlX18oOTU3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIkRpYWdMb2dMZXZlbFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG8uRGlhZ0xvZ0xldmVsfX0pO3ZhciBpPV9fbmNjd3Bja19yZXF1aXJlX18oMTAyKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcImNyZWF0ZU5vb3BNZXRlclwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGkuY3JlYXRlTm9vcE1ldGVyfX0pO3ZhciBjPV9fbmNjd3Bja19yZXF1aXJlX18oOTAxKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIlZhbHVlVHlwZVwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGMuVmFsdWVUeXBlfX0pO3ZhciBzPV9fbmNjd3Bja19yZXF1aXJlX18oMTk0KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcImRlZmF1bHRUZXh0TWFwR2V0dGVyXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcy5kZWZhdWx0VGV4dE1hcEdldHRlcn19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcImRlZmF1bHRUZXh0TWFwU2V0dGVyXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcy5kZWZhdWx0VGV4dE1hcFNldHRlcn19KTt2YXIgdT1fX25jY3dwY2tfcmVxdWlyZV9fKDEyNSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJQcm94eVRyYWNlclwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHUuUHJveHlUcmFjZXJ9fSk7dmFyIGw9X19uY2N3cGNrX3JlcXVpcmVfXyg4NDYpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiUHJveHlUcmFjZXJQcm92aWRlclwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuUHJveHlUcmFjZXJQcm92aWRlcn19KTt2YXIgZz1fX25jY3dwY2tfcmVxdWlyZV9fKDk5Nik7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJTYW1wbGluZ0RlY2lzaW9uXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZy5TYW1wbGluZ0RlY2lzaW9ufX0pO3ZhciBwPV9fbmNjd3Bja19yZXF1aXJlX18oMzU3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIlNwYW5LaW5kXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcC5TcGFuS2luZH19KTt2YXIgZD1fX25jY3dwY2tfcmVxdWlyZV9fKDg0Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJTcGFuU3RhdHVzQ29kZVwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGQuU3BhblN0YXR1c0NvZGV9fSk7dmFyIF89X19uY2N3cGNrX3JlcXVpcmVfXyg0NzUpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiVHJhY2VGbGFnc1wiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIF8uVHJhY2VGbGFnc319KTt2YXIgZj1fX25jY3dwY2tfcmVxdWlyZV9fKDk4KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcImNyZWF0ZVRyYWNlU3RhdGVcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBmLmNyZWF0ZVRyYWNlU3RhdGV9fSk7dmFyIGI9X19uY2N3cGNrX3JlcXVpcmVfXygxMzkpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiaXNTcGFuQ29udGV4dFZhbGlkXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYi5pc1NwYW5Db250ZXh0VmFsaWR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJpc1ZhbGlkVHJhY2VJZFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGIuaXNWYWxpZFRyYWNlSWR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJpc1ZhbGlkU3BhbklkXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYi5pc1ZhbGlkU3BhbklkfX0pO3ZhciB2PV9fbmNjd3Bja19yZXF1aXJlX18oNDc2KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIklOVkFMSURfU1BBTklEXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdi5JTlZBTElEX1NQQU5JRH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIklOVkFMSURfVFJBQ0VJRFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHYuSU5WQUxJRF9UUkFDRUlEfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiSU5WQUxJRF9TUEFOX0NPTlRFWFRcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB2LklOVkFMSURfU1BBTl9DT05URVhUfX0pO2NvbnN0IE89X19uY2N3cGNrX3JlcXVpcmVfXyg2Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJjb250ZXh0XCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gTy5jb250ZXh0fX0pO2NvbnN0IFA9X19uY2N3cGNrX3JlcXVpcmVfXyg1MDYpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiZGlhZ1wiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFAuZGlhZ319KTtjb25zdCBOPV9fbmNjd3Bja19yZXF1aXJlX18oODg2KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIm1ldHJpY3NcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBOLm1ldHJpY3N9fSk7Y29uc3QgUz1fX25jY3dwY2tfcmVxdWlyZV9fKDkzOSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJwcm9wYWdhdGlvblwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFMucHJvcGFnYXRpb259fSk7Y29uc3QgQz1fX25jY3dwY2tfcmVxdWlyZV9fKDg0NSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJ0cmFjZVwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEMudHJhY2V9fSk7ZVtcImRlZmF1bHRcIl09e2NvbnRleHQ6Ty5jb250ZXh0LGRpYWc6UC5kaWFnLG1ldHJpY3M6Ti5tZXRyaWNzLHByb3BhZ2F0aW9uOlMucHJvcGFnYXRpb24sdHJhY2U6Qy50cmFjZX19KSgpO21vZHVsZS5leHBvcnRzPXJ9KSgpOyJdLCJuYW1lcyI6WyJlIiwidCIsInIiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiQ29udGV4dEFQSSIsIm4iLCJhIiwibyIsImkiLCJjIiwiTm9vcENvbnRleHRNYW5hZ2VyIiwiY29uc3RydWN0b3IiLCJnZXRJbnN0YW5jZSIsIl9pbnN0YW5jZSIsInNldEdsb2JhbENvbnRleHRNYW5hZ2VyIiwicmVnaXN0ZXJHbG9iYWwiLCJEaWFnQVBJIiwiaW5zdGFuY2UiLCJhY3RpdmUiLCJfZ2V0Q29udGV4dE1hbmFnZXIiLCJ3aXRoIiwiYmluZCIsImdldEdsb2JhbCIsImRpc2FibGUiLCJ1bnJlZ2lzdGVyR2xvYmFsIiwiX2xvZ1Byb3h5Iiwic2V0TG9nZ2VyIiwibG9nTGV2ZWwiLCJEaWFnTG9nTGV2ZWwiLCJJTkZPIiwicyIsIkVycm9yIiwiZXJyb3IiLCJzdGFjayIsIm1lc3NhZ2UiLCJ1IiwibCIsImNyZWF0ZUxvZ0xldmVsRGlhZ0xvZ2dlciIsInN1cHByZXNzT3ZlcnJpZGVNZXNzYWdlIiwid2FybiIsImNyZWF0ZUNvbXBvbmVudExvZ2dlciIsIkRpYWdDb21wb25lbnRMb2dnZXIiLCJ2ZXJib3NlIiwiZGVidWciLCJpbmZvIiwiTWV0cmljc0FQSSIsInNldEdsb2JhbE1ldGVyUHJvdmlkZXIiLCJnZXRNZXRlclByb3ZpZGVyIiwiTk9PUF9NRVRFUl9QUk9WSURFUiIsImdldE1ldGVyIiwiUHJvcGFnYXRpb25BUEkiLCJOb29wVGV4dE1hcFByb3BhZ2F0b3IiLCJjcmVhdGVCYWdnYWdlIiwiZ2V0QmFnZ2FnZSIsImdldEFjdGl2ZUJhZ2dhZ2UiLCJzZXRCYWdnYWdlIiwiZGVsZXRlQmFnZ2FnZSIsInNldEdsb2JhbFByb3BhZ2F0b3IiLCJpbmplY3QiLCJkZWZhdWx0VGV4dE1hcFNldHRlciIsIl9nZXRHbG9iYWxQcm9wYWdhdG9yIiwiZXh0cmFjdCIsImRlZmF1bHRUZXh0TWFwR2V0dGVyIiwiZmllbGRzIiwiVHJhY2VBUEkiLCJfcHJveHlUcmFjZXJQcm92aWRlciIsIlByb3h5VHJhY2VyUHJvdmlkZXIiLCJ3cmFwU3BhbkNvbnRleHQiLCJpc1NwYW5Db250ZXh0VmFsaWQiLCJkZWxldGVTcGFuIiwiZ2V0U3BhbiIsImdldEFjdGl2ZVNwYW4iLCJnZXRTcGFuQ29udGV4dCIsInNldFNwYW4iLCJzZXRTcGFuQ29udGV4dCIsInNldEdsb2JhbFRyYWNlclByb3ZpZGVyIiwic2V0RGVsZWdhdGUiLCJnZXRUcmFjZXJQcm92aWRlciIsImdldFRyYWNlciIsImNyZWF0ZUNvbnRleHRLZXkiLCJnZXRWYWx1ZSIsInVuZGVmaW5lZCIsInNldFZhbHVlIiwiZGVsZXRlVmFsdWUiLCJCYWdnYWdlSW1wbCIsIl9lbnRyaWVzIiwiTWFwIiwiZ2V0RW50cnkiLCJnZXQiLCJhc3NpZ24iLCJnZXRBbGxFbnRyaWVzIiwiQXJyYXkiLCJmcm9tIiwiZW50cmllcyIsIm1hcCIsInNldEVudHJ5Iiwic2V0IiwicmVtb3ZlRW50cnkiLCJkZWxldGUiLCJyZW1vdmVFbnRyaWVzIiwiY2xlYXIiLCJiYWdnYWdlRW50cnlNZXRhZGF0YVN5bWJvbCIsIlN5bWJvbCIsImJhZ2dhZ2VFbnRyeU1ldGFkYXRhRnJvbVN0cmluZyIsIl9fVFlQRV9fIiwidG9TdHJpbmciLCJjb250ZXh0IiwiUk9PVF9DT05URVhUIiwiY2FsbCIsImVuYWJsZSIsImZvciIsIkJhc2VDb250ZXh0IiwiX2N1cnJlbnRDb250ZXh0IiwiZGlhZyIsIl9uYW1lc3BhY2UiLCJuYW1lc3BhY2UiLCJsb2dQcm94eSIsInVuc2hpZnQiLCJEaWFnQ29uc29sZUxvZ2dlciIsIl9jb25zb2xlRnVuYyIsImNvbnNvbGUiLCJsb2ciLCJhcHBseSIsImxlbmd0aCIsIk5PTkUiLCJBTEwiLCJfZmlsdGVyRnVuYyIsIkVSUk9SIiwiV0FSTiIsIkRFQlVHIiwiVkVSQk9TRSIsIlZFUlNJT04iLCJzcGxpdCIsIl9nbG9iYWxUaGlzIiwidmVyc2lvbiIsImlzQ29tcGF0aWJsZSIsIl9tYWtlQ29tcGF0aWJpbGl0eUNoZWNrIiwiU2V0IiwibWF0Y2giLCJtYWpvciIsIm1pbm9yIiwicGF0Y2giLCJwcmVyZWxlYXNlIiwiaXNFeGFjdG1hdGNoIiwiX3JlamVjdCIsImFkZCIsIl9hY2NlcHQiLCJoYXMiLCJtZXRyaWNzIiwiVmFsdWVUeXBlIiwiY3JlYXRlTm9vcE1ldGVyIiwiTk9PUF9PQlNFUlZBQkxFX1VQX0RPV05fQ09VTlRFUl9NRVRSSUMiLCJOT09QX09CU0VSVkFCTEVfR0FVR0VfTUVUUklDIiwiTk9PUF9PQlNFUlZBQkxFX0NPVU5URVJfTUVUUklDIiwiTk9PUF9VUF9ET1dOX0NPVU5URVJfTUVUUklDIiwiTk9PUF9ISVNUT0dSQU1fTUVUUklDIiwiTk9PUF9DT1VOVEVSX01FVFJJQyIsIk5PT1BfTUVURVIiLCJOb29wT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXJNZXRyaWMiLCJOb29wT2JzZXJ2YWJsZUdhdWdlTWV0cmljIiwiTm9vcE9ic2VydmFibGVDb3VudGVyTWV0cmljIiwiTm9vcE9ic2VydmFibGVNZXRyaWMiLCJOb29wSGlzdG9ncmFtTWV0cmljIiwiTm9vcFVwRG93bkNvdW50ZXJNZXRyaWMiLCJOb29wQ291bnRlck1ldHJpYyIsIk5vb3BNZXRyaWMiLCJOb29wTWV0ZXIiLCJjcmVhdGVIaXN0b2dyYW0iLCJjcmVhdGVDb3VudGVyIiwiY3JlYXRlVXBEb3duQ291bnRlciIsImNyZWF0ZU9ic2VydmFibGVHYXVnZSIsImNyZWF0ZU9ic2VydmFibGVDb3VudGVyIiwiY3JlYXRlT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXIiLCJhZGRCYXRjaE9ic2VydmFibGVDYWxsYmFjayIsInJlbW92ZUJhdGNoT2JzZXJ2YWJsZUNhbGxiYWNrIiwicmVjb3JkIiwiYWRkQ2FsbGJhY2siLCJyZW1vdmVDYWxsYmFjayIsIk5vb3BNZXRlclByb3ZpZGVyIiwiX19jcmVhdGVCaW5kaW5nIiwiY3JlYXRlIiwiZW51bWVyYWJsZSIsIl9fZXhwb3J0U3RhciIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiZ2xvYmFsVGhpcyIsImdsb2JhbCIsInByb3BhZ2F0aW9uIiwia2V5cyIsInRyYWNlIiwiTm9uUmVjb3JkaW5nU3BhbiIsIklOVkFMSURfU1BBTl9DT05URVhUIiwiX3NwYW5Db250ZXh0Iiwic3BhbkNvbnRleHQiLCJzZXRBdHRyaWJ1dGUiLCJzZXRBdHRyaWJ1dGVzIiwiYWRkRXZlbnQiLCJzZXRTdGF0dXMiLCJ1cGRhdGVOYW1lIiwiZW5kIiwiaXNSZWNvcmRpbmciLCJyZWNvcmRFeGNlcHRpb24iLCJOb29wVHJhY2VyIiwic3RhcnRTcGFuIiwiQm9vbGVhbiIsInJvb3QiLCJpc1NwYW5Db250ZXh0Iiwic3RhcnRBY3RpdmVTcGFuIiwiYXJndW1lbnRzIiwiZyIsIk5vb3BUcmFjZXJQcm92aWRlciIsIlByb3h5VHJhY2VyIiwiX3Byb3ZpZGVyIiwibmFtZSIsIm9wdGlvbnMiLCJfZ2V0VHJhY2VyIiwiUmVmbGVjdCIsIl9kZWxlZ2F0ZSIsImdldERlbGVnYXRlVHJhY2VyIiwiZ2V0RGVsZWdhdGUiLCJTYW1wbGluZ0RlY2lzaW9uIiwiVHJhY2VTdGF0ZUltcGwiLCJfaW50ZXJuYWxTdGF0ZSIsIl9wYXJzZSIsIl9jbG9uZSIsInVuc2V0Iiwic2VyaWFsaXplIiwiX2tleXMiLCJyZWR1Y2UiLCJwdXNoIiwiam9pbiIsInJldmVyc2UiLCJ0cmltIiwiaW5kZXhPZiIsInNsaWNlIiwidmFsaWRhdGVLZXkiLCJ2YWxpZGF0ZVZhbHVlIiwic2l6ZSIsIlJlZ0V4cCIsInRlc3QiLCJjcmVhdGVUcmFjZVN0YXRlIiwiSU5WQUxJRF9UUkFDRUlEIiwiSU5WQUxJRF9TUEFOSUQiLCJ0cmFjZUlkIiwic3BhbklkIiwidHJhY2VGbGFncyIsIlRyYWNlRmxhZ3MiLCJTcGFuS2luZCIsImlzVmFsaWRTcGFuSWQiLCJpc1ZhbGlkVHJhY2VJZCIsIlNwYW5TdGF0dXNDb2RlIiwiX19uY2N3cGNrX3JlcXVpcmVfXyIsImV4cG9ydHMiLCJhYiIsIl9fZGlybmFtZSIsInAiLCJkIiwiXyIsImYiLCJiIiwidiIsIk8iLCJQIiwiTiIsIlMiLCJDIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/compiled/@opentelemetry/api/index.js ***! \*********************************************************************/ /***/ ((module) => { "use strict"; eval("\n(()=>{\n \"use strict\";\n var e = {\n 491: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.ContextAPI = void 0;\n const n = r(223);\n const a = r(172);\n const o = r(930);\n const i = \"context\";\n const c = new n.NoopContextManager;\n class ContextAPI {\n constructor(){}\n static getInstance() {\n if (!this._instance) {\n this._instance = new ContextAPI;\n }\n return this._instance;\n }\n setGlobalContextManager(e) {\n return (0, a.registerGlobal)(i, e, o.DiagAPI.instance());\n }\n active() {\n return this._getContextManager().active();\n }\n with(e, t, r, ...n) {\n return this._getContextManager().with(e, t, r, ...n);\n }\n bind(e, t) {\n return this._getContextManager().bind(e, t);\n }\n _getContextManager() {\n return (0, a.getGlobal)(i) || c;\n }\n disable() {\n this._getContextManager().disable();\n (0, a.unregisterGlobal)(i, o.DiagAPI.instance());\n }\n }\n t.ContextAPI = ContextAPI;\n },\n 930: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.DiagAPI = void 0;\n const n = r(56);\n const a = r(912);\n const o = r(957);\n const i = r(172);\n const c = \"diag\";\n class DiagAPI {\n constructor(){\n function _logProxy(e) {\n return function(...t) {\n const r = (0, i.getGlobal)(\"diag\");\n if (!r) return;\n return r[e](...t);\n };\n }\n const e = this;\n const setLogger = (t, r = {\n logLevel: o.DiagLogLevel.INFO\n })=>{\n var n, c, s;\n if (t === e) {\n const t = new Error(\"Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation\");\n e.error((n = t.stack) !== null && n !== void 0 ? n : t.message);\n return false;\n }\n if (typeof r === \"number\") {\n r = {\n logLevel: r\n };\n }\n const u = (0, i.getGlobal)(\"diag\");\n const l = (0, a.createLogLevelDiagLogger)((c = r.logLevel) !== null && c !== void 0 ? c : o.DiagLogLevel.INFO, t);\n if (u && !r.suppressOverrideMessage) {\n const e = (s = (new Error).stack) !== null && s !== void 0 ? s : \"<failed to generate stacktrace>\";\n u.warn(`Current logger will be overwritten from ${e}`);\n l.warn(`Current logger will overwrite one already registered from ${e}`);\n }\n return (0, i.registerGlobal)(\"diag\", l, e, true);\n };\n e.setLogger = setLogger;\n e.disable = ()=>{\n (0, i.unregisterGlobal)(c, e);\n };\n e.createComponentLogger = (e)=>new n.DiagComponentLogger(e);\n e.verbose = _logProxy(\"verbose\");\n e.debug = _logProxy(\"debug\");\n e.info = _logProxy(\"info\");\n e.warn = _logProxy(\"warn\");\n e.error = _logProxy(\"error\");\n }\n static instance() {\n if (!this._instance) {\n this._instance = new DiagAPI;\n }\n return this._instance;\n }\n }\n t.DiagAPI = DiagAPI;\n },\n 653: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.MetricsAPI = void 0;\n const n = r(660);\n const a = r(172);\n const o = r(930);\n const i = \"metrics\";\n class MetricsAPI {\n constructor(){}\n static getInstance() {\n if (!this._instance) {\n this._instance = new MetricsAPI;\n }\n return this._instance;\n }\n setGlobalMeterProvider(e) {\n return (0, a.registerGlobal)(i, e, o.DiagAPI.instance());\n }\n getMeterProvider() {\n return (0, a.getGlobal)(i) || n.NOOP_METER_PROVIDER;\n }\n getMeter(e, t, r) {\n return this.getMeterProvider().getMeter(e, t, r);\n }\n disable() {\n (0, a.unregisterGlobal)(i, o.DiagAPI.instance());\n }\n }\n t.MetricsAPI = MetricsAPI;\n },\n 181: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.PropagationAPI = void 0;\n const n = r(172);\n const a = r(874);\n const o = r(194);\n const i = r(277);\n const c = r(369);\n const s = r(930);\n const u = \"propagation\";\n const l = new a.NoopTextMapPropagator;\n class PropagationAPI {\n constructor(){\n this.createBaggage = c.createBaggage;\n this.getBaggage = i.getBaggage;\n this.getActiveBaggage = i.getActiveBaggage;\n this.setBaggage = i.setBaggage;\n this.deleteBaggage = i.deleteBaggage;\n }\n static getInstance() {\n if (!this._instance) {\n this._instance = new PropagationAPI;\n }\n return this._instance;\n }\n setGlobalPropagator(e) {\n return (0, n.registerGlobal)(u, e, s.DiagAPI.instance());\n }\n inject(e, t, r = o.defaultTextMapSetter) {\n return this._getGlobalPropagator().inject(e, t, r);\n }\n extract(e, t, r = o.defaultTextMapGetter) {\n return this._getGlobalPropagator().extract(e, t, r);\n }\n fields() {\n return this._getGlobalPropagator().fields();\n }\n disable() {\n (0, n.unregisterGlobal)(u, s.DiagAPI.instance());\n }\n _getGlobalPropagator() {\n return (0, n.getGlobal)(u) || l;\n }\n }\n t.PropagationAPI = PropagationAPI;\n },\n 997: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.TraceAPI = void 0;\n const n = r(172);\n const a = r(846);\n const o = r(139);\n const i = r(607);\n const c = r(930);\n const s = \"trace\";\n class TraceAPI {\n constructor(){\n this._proxyTracerProvider = new a.ProxyTracerProvider;\n this.wrapSpanContext = o.wrapSpanContext;\n this.isSpanContextValid = o.isSpanContextValid;\n this.deleteSpan = i.deleteSpan;\n this.getSpan = i.getSpan;\n this.getActiveSpan = i.getActiveSpan;\n this.getSpanContext = i.getSpanContext;\n this.setSpan = i.setSpan;\n this.setSpanContext = i.setSpanContext;\n }\n static getInstance() {\n if (!this._instance) {\n this._instance = new TraceAPI;\n }\n return this._instance;\n }\n setGlobalTracerProvider(e) {\n const t = (0, n.registerGlobal)(s, this._proxyTracerProvider, c.DiagAPI.instance());\n if (t) {\n this._proxyTracerProvider.setDelegate(e);\n }\n return t;\n }\n getTracerProvider() {\n return (0, n.getGlobal)(s) || this._proxyTracerProvider;\n }\n getTracer(e, t) {\n return this.getTracerProvider().getTracer(e, t);\n }\n disable() {\n (0, n.unregisterGlobal)(s, c.DiagAPI.instance());\n this._proxyTracerProvider = new a.ProxyTracerProvider;\n }\n }\n t.TraceAPI = TraceAPI;\n },\n 277: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.deleteBaggage = t.setBaggage = t.getActiveBaggage = t.getBaggage = void 0;\n const n = r(491);\n const a = r(780);\n const o = (0, a.createContextKey)(\"OpenTelemetry Baggage Key\");\n function getBaggage(e) {\n return e.getValue(o) || undefined;\n }\n t.getBaggage = getBaggage;\n function getActiveBaggage() {\n return getBaggage(n.ContextAPI.getInstance().active());\n }\n t.getActiveBaggage = getActiveBaggage;\n function setBaggage(e, t) {\n return e.setValue(o, t);\n }\n t.setBaggage = setBaggage;\n function deleteBaggage(e) {\n return e.deleteValue(o);\n }\n t.deleteBaggage = deleteBaggage;\n },\n 993: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.BaggageImpl = void 0;\n class BaggageImpl {\n constructor(e){\n this._entries = e ? new Map(e) : new Map;\n }\n getEntry(e) {\n const t = this._entries.get(e);\n if (!t) {\n return undefined;\n }\n return Object.assign({}, t);\n }\n getAllEntries() {\n return Array.from(this._entries.entries()).map(([e, t])=>[\n e,\n t\n ]);\n }\n setEntry(e, t) {\n const r = new BaggageImpl(this._entries);\n r._entries.set(e, t);\n return r;\n }\n removeEntry(e) {\n const t = new BaggageImpl(this._entries);\n t._entries.delete(e);\n return t;\n }\n removeEntries(...e) {\n const t = new BaggageImpl(this._entries);\n for (const r of e){\n t._entries.delete(r);\n }\n return t;\n }\n clear() {\n return new BaggageImpl;\n }\n }\n t.BaggageImpl = BaggageImpl;\n },\n 830: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.baggageEntryMetadataSymbol = void 0;\n t.baggageEntryMetadataSymbol = Symbol(\"BaggageEntryMetadata\");\n },\n 369: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.baggageEntryMetadataFromString = t.createBaggage = void 0;\n const n = r(930);\n const a = r(993);\n const o = r(830);\n const i = n.DiagAPI.instance();\n function createBaggage(e = {}) {\n return new a.BaggageImpl(new Map(Object.entries(e)));\n }\n t.createBaggage = createBaggage;\n function baggageEntryMetadataFromString(e) {\n if (typeof e !== \"string\") {\n i.error(`Cannot create baggage metadata from unknown type: ${typeof e}`);\n e = \"\";\n }\n return {\n __TYPE__: o.baggageEntryMetadataSymbol,\n toString () {\n return e;\n }\n };\n }\n t.baggageEntryMetadataFromString = baggageEntryMetadataFromString;\n },\n 67: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.context = void 0;\n const n = r(491);\n t.context = n.ContextAPI.getInstance();\n },\n 223: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NoopContextManager = void 0;\n const n = r(780);\n class NoopContextManager {\n active() {\n return n.ROOT_CONTEXT;\n }\n with(e, t, r, ...n) {\n return t.call(r, ...n);\n }\n bind(e, t) {\n return t;\n }\n enable() {\n return this;\n }\n disable() {\n return this;\n }\n }\n t.NoopContextManager = NoopContextManager;\n },\n 780: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.ROOT_CONTEXT = t.createContextKey = void 0;\n function createContextKey(e) {\n return Symbol.for(e);\n }\n t.createContextKey = createContextKey;\n class BaseContext {\n constructor(e){\n const t = this;\n t._currentContext = e ? new Map(e) : new Map;\n t.getValue = (e)=>t._currentContext.get(e);\n t.setValue = (e, r)=>{\n const n = new BaseContext(t._currentContext);\n n._currentContext.set(e, r);\n return n;\n };\n t.deleteValue = (e)=>{\n const r = new BaseContext(t._currentContext);\n r._currentContext.delete(e);\n return r;\n };\n }\n }\n t.ROOT_CONTEXT = new BaseContext;\n },\n 506: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.diag = void 0;\n const n = r(930);\n t.diag = n.DiagAPI.instance();\n },\n 56: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.DiagComponentLogger = void 0;\n const n = r(172);\n class DiagComponentLogger {\n constructor(e){\n this._namespace = e.namespace || \"DiagComponentLogger\";\n }\n debug(...e) {\n return logProxy(\"debug\", this._namespace, e);\n }\n error(...e) {\n return logProxy(\"error\", this._namespace, e);\n }\n info(...e) {\n return logProxy(\"info\", this._namespace, e);\n }\n warn(...e) {\n return logProxy(\"warn\", this._namespace, e);\n }\n verbose(...e) {\n return logProxy(\"verbose\", this._namespace, e);\n }\n }\n t.DiagComponentLogger = DiagComponentLogger;\n function logProxy(e, t, r) {\n const a = (0, n.getGlobal)(\"diag\");\n if (!a) {\n return;\n }\n r.unshift(t);\n return a[e](...r);\n }\n },\n 972: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.DiagConsoleLogger = void 0;\n const r = [\n {\n n: \"error\",\n c: \"error\"\n },\n {\n n: \"warn\",\n c: \"warn\"\n },\n {\n n: \"info\",\n c: \"info\"\n },\n {\n n: \"debug\",\n c: \"debug\"\n },\n {\n n: \"verbose\",\n c: \"trace\"\n }\n ];\n class DiagConsoleLogger {\n constructor(){\n function _consoleFunc(e) {\n return function(...t) {\n if (console) {\n let r = console[e];\n if (typeof r !== \"function\") {\n r = console.log;\n }\n if (typeof r === \"function\") {\n return r.apply(console, t);\n }\n }\n };\n }\n for(let e = 0; e < r.length; e++){\n this[r[e].n] = _consoleFunc(r[e].c);\n }\n }\n }\n t.DiagConsoleLogger = DiagConsoleLogger;\n },\n 912: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.createLogLevelDiagLogger = void 0;\n const n = r(957);\n function createLogLevelDiagLogger(e, t) {\n if (e < n.DiagLogLevel.NONE) {\n e = n.DiagLogLevel.NONE;\n } else if (e > n.DiagLogLevel.ALL) {\n e = n.DiagLogLevel.ALL;\n }\n t = t || {};\n function _filterFunc(r, n) {\n const a = t[r];\n if (typeof a === \"function\" && e >= n) {\n return a.bind(t);\n }\n return function() {};\n }\n return {\n error: _filterFunc(\"error\", n.DiagLogLevel.ERROR),\n warn: _filterFunc(\"warn\", n.DiagLogLevel.WARN),\n info: _filterFunc(\"info\", n.DiagLogLevel.INFO),\n debug: _filterFunc(\"debug\", n.DiagLogLevel.DEBUG),\n verbose: _filterFunc(\"verbose\", n.DiagLogLevel.VERBOSE)\n };\n }\n t.createLogLevelDiagLogger = createLogLevelDiagLogger;\n },\n 957: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.DiagLogLevel = void 0;\n var r;\n (function(e) {\n e[e[\"NONE\"] = 0] = \"NONE\";\n e[e[\"ERROR\"] = 30] = \"ERROR\";\n e[e[\"WARN\"] = 50] = \"WARN\";\n e[e[\"INFO\"] = 60] = \"INFO\";\n e[e[\"DEBUG\"] = 70] = \"DEBUG\";\n e[e[\"VERBOSE\"] = 80] = \"VERBOSE\";\n e[e[\"ALL\"] = 9999] = \"ALL\";\n })(r = t.DiagLogLevel || (t.DiagLogLevel = {}));\n },\n 172: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.unregisterGlobal = t.getGlobal = t.registerGlobal = void 0;\n const n = r(200);\n const a = r(521);\n const o = r(130);\n const i = a.VERSION.split(\".\")[0];\n const c = Symbol.for(`opentelemetry.js.api.${i}`);\n const s = n._globalThis;\n function registerGlobal(e, t, r, n = false) {\n var o;\n const i = s[c] = (o = s[c]) !== null && o !== void 0 ? o : {\n version: a.VERSION\n };\n if (!n && i[e]) {\n const t = new Error(`@opentelemetry/api: Attempted duplicate registration of API: ${e}`);\n r.error(t.stack || t.message);\n return false;\n }\n if (i.version !== a.VERSION) {\n const t = new Error(`@opentelemetry/api: Registration of version v${i.version} for ${e} does not match previously registered API v${a.VERSION}`);\n r.error(t.stack || t.message);\n return false;\n }\n i[e] = t;\n r.debug(`@opentelemetry/api: Registered a global for ${e} v${a.VERSION}.`);\n return true;\n }\n t.registerGlobal = registerGlobal;\n function getGlobal(e) {\n var t, r;\n const n = (t = s[c]) === null || t === void 0 ? void 0 : t.version;\n if (!n || !(0, o.isCompatible)(n)) {\n return;\n }\n return (r = s[c]) === null || r === void 0 ? void 0 : r[e];\n }\n t.getGlobal = getGlobal;\n function unregisterGlobal(e, t) {\n t.debug(`@opentelemetry/api: Unregistering a global for ${e} v${a.VERSION}.`);\n const r = s[c];\n if (r) {\n delete r[e];\n }\n }\n t.unregisterGlobal = unregisterGlobal;\n },\n 130: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.isCompatible = t._makeCompatibilityCheck = void 0;\n const n = r(521);\n const a = /^(\\d+)\\.(\\d+)\\.(\\d+)(-(.+))?$/;\n function _makeCompatibilityCheck(e) {\n const t = new Set([\n e\n ]);\n const r = new Set;\n const n = e.match(a);\n if (!n) {\n return ()=>false;\n }\n const o = {\n major: +n[1],\n minor: +n[2],\n patch: +n[3],\n prerelease: n[4]\n };\n if (o.prerelease != null) {\n return function isExactmatch(t) {\n return t === e;\n };\n }\n function _reject(e) {\n r.add(e);\n return false;\n }\n function _accept(e) {\n t.add(e);\n return true;\n }\n return function isCompatible(e) {\n if (t.has(e)) {\n return true;\n }\n if (r.has(e)) {\n return false;\n }\n const n = e.match(a);\n if (!n) {\n return _reject(e);\n }\n const i = {\n major: +n[1],\n minor: +n[2],\n patch: +n[3],\n prerelease: n[4]\n };\n if (i.prerelease != null) {\n return _reject(e);\n }\n if (o.major !== i.major) {\n return _reject(e);\n }\n if (o.major === 0) {\n if (o.minor === i.minor && o.patch <= i.patch) {\n return _accept(e);\n }\n return _reject(e);\n }\n if (o.minor <= i.minor) {\n return _accept(e);\n }\n return _reject(e);\n };\n }\n t._makeCompatibilityCheck = _makeCompatibilityCheck;\n t.isCompatible = _makeCompatibilityCheck(n.VERSION);\n },\n 886: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.metrics = void 0;\n const n = r(653);\n t.metrics = n.MetricsAPI.getInstance();\n },\n 901: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.ValueType = void 0;\n var r;\n (function(e) {\n e[e[\"INT\"] = 0] = \"INT\";\n e[e[\"DOUBLE\"] = 1] = \"DOUBLE\";\n })(r = t.ValueType || (t.ValueType = {}));\n },\n 102: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.createNoopMeter = t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = t.NOOP_OBSERVABLE_GAUGE_METRIC = t.NOOP_OBSERVABLE_COUNTER_METRIC = t.NOOP_UP_DOWN_COUNTER_METRIC = t.NOOP_HISTOGRAM_METRIC = t.NOOP_COUNTER_METRIC = t.NOOP_METER = t.NoopObservableUpDownCounterMetric = t.NoopObservableGaugeMetric = t.NoopObservableCounterMetric = t.NoopObservableMetric = t.NoopHistogramMetric = t.NoopUpDownCounterMetric = t.NoopCounterMetric = t.NoopMetric = t.NoopMeter = void 0;\n class NoopMeter {\n constructor(){}\n createHistogram(e, r) {\n return t.NOOP_HISTOGRAM_METRIC;\n }\n createCounter(e, r) {\n return t.NOOP_COUNTER_METRIC;\n }\n createUpDownCounter(e, r) {\n return t.NOOP_UP_DOWN_COUNTER_METRIC;\n }\n createObservableGauge(e, r) {\n return t.NOOP_OBSERVABLE_GAUGE_METRIC;\n }\n createObservableCounter(e, r) {\n return t.NOOP_OBSERVABLE_COUNTER_METRIC;\n }\n createObservableUpDownCounter(e, r) {\n return t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC;\n }\n addBatchObservableCallback(e, t) {}\n removeBatchObservableCallback(e) {}\n }\n t.NoopMeter = NoopMeter;\n class NoopMetric {\n }\n t.NoopMetric = NoopMetric;\n class NoopCounterMetric extends NoopMetric {\n add(e, t) {}\n }\n t.NoopCounterMetric = NoopCounterMetric;\n class NoopUpDownCounterMetric extends NoopMetric {\n add(e, t) {}\n }\n t.NoopUpDownCounterMetric = NoopUpDownCounterMetric;\n class NoopHistogramMetric extends NoopMetric {\n record(e, t) {}\n }\n t.NoopHistogramMetric = NoopHistogramMetric;\n class NoopObservableMetric {\n addCallback(e) {}\n removeCallback(e) {}\n }\n t.NoopObservableMetric = NoopObservableMetric;\n class NoopObservableCounterMetric extends NoopObservableMetric {\n }\n t.NoopObservableCounterMetric = NoopObservableCounterMetric;\n class NoopObservableGaugeMetric extends NoopObservableMetric {\n }\n t.NoopObservableGaugeMetric = NoopObservableGaugeMetric;\n class NoopObservableUpDownCounterMetric extends NoopObservableMetric {\n }\n t.NoopObservableUpDownCounterMetric = NoopObservableUpDownCounterMetric;\n t.NOOP_METER = new NoopMeter;\n t.NOOP_COUNTER_METRIC = new NoopCounterMetric;\n t.NOOP_HISTOGRAM_METRIC = new NoopHistogramMetric;\n t.NOOP_UP_DOWN_COUNTER_METRIC = new NoopUpDownCounterMetric;\n t.NOOP_OBSERVABLE_COUNTER_METRIC = new NoopObservableCounterMetric;\n t.NOOP_OBSERVABLE_GAUGE_METRIC = new NoopObservableGaugeMetric;\n t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = new NoopObservableUpDownCounterMetric;\n function createNoopMeter() {\n return t.NOOP_METER;\n }\n t.createNoopMeter = createNoopMeter;\n },\n 660: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NOOP_METER_PROVIDER = t.NoopMeterProvider = void 0;\n const n = r(102);\n class NoopMeterProvider {\n getMeter(e, t, r) {\n return n.NOOP_METER;\n }\n }\n t.NoopMeterProvider = NoopMeterProvider;\n t.NOOP_METER_PROVIDER = new NoopMeterProvider;\n },\n 200: function(e, t, r) {\n var n = this && this.__createBinding || (Object.create ? function(e, t, r, n) {\n if (n === undefined) n = r;\n Object.defineProperty(e, n, {\n enumerable: true,\n get: function() {\n return t[r];\n }\n });\n } : function(e, t, r, n) {\n if (n === undefined) n = r;\n e[n] = t[r];\n });\n var a = this && this.__exportStar || function(e, t) {\n for(var r in e)if (r !== \"default\" && !Object.prototype.hasOwnProperty.call(t, r)) n(t, e, r);\n };\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n a(r(46), t);\n },\n 651: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t._globalThis = void 0;\n t._globalThis = typeof globalThis === \"object\" ? globalThis : global;\n },\n 46: function(e, t, r) {\n var n = this && this.__createBinding || (Object.create ? function(e, t, r, n) {\n if (n === undefined) n = r;\n Object.defineProperty(e, n, {\n enumerable: true,\n get: function() {\n return t[r];\n }\n });\n } : function(e, t, r, n) {\n if (n === undefined) n = r;\n e[n] = t[r];\n });\n var a = this && this.__exportStar || function(e, t) {\n for(var r in e)if (r !== \"default\" && !Object.prototype.hasOwnProperty.call(t, r)) n(t, e, r);\n };\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n a(r(651), t);\n },\n 939: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.propagation = void 0;\n const n = r(181);\n t.propagation = n.PropagationAPI.getInstance();\n },\n 874: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NoopTextMapPropagator = void 0;\n class NoopTextMapPropagator {\n inject(e, t) {}\n extract(e, t) {\n return e;\n }\n fields() {\n return [];\n }\n }\n t.NoopTextMapPropagator = NoopTextMapPropagator;\n },\n 194: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.defaultTextMapSetter = t.defaultTextMapGetter = void 0;\n t.defaultTextMapGetter = {\n get (e, t) {\n if (e == null) {\n return undefined;\n }\n return e[t];\n },\n keys (e) {\n if (e == null) {\n return [];\n }\n return Object.keys(e);\n }\n };\n t.defaultTextMapSetter = {\n set (e, t, r) {\n if (e == null) {\n return;\n }\n e[t] = r;\n }\n };\n },\n 845: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.trace = void 0;\n const n = r(997);\n t.trace = n.TraceAPI.getInstance();\n },\n 403: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NonRecordingSpan = void 0;\n const n = r(476);\n class NonRecordingSpan {\n constructor(e = n.INVALID_SPAN_CONTEXT){\n this._spanContext = e;\n }\n spanContext() {\n return this._spanContext;\n }\n setAttribute(e, t) {\n return this;\n }\n setAttributes(e) {\n return this;\n }\n addEvent(e, t) {\n return this;\n }\n setStatus(e) {\n return this;\n }\n updateName(e) {\n return this;\n }\n end(e) {}\n isRecording() {\n return false;\n }\n recordException(e, t) {}\n }\n t.NonRecordingSpan = NonRecordingSpan;\n },\n 614: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NoopTracer = void 0;\n const n = r(491);\n const a = r(607);\n const o = r(403);\n const i = r(139);\n const c = n.ContextAPI.getInstance();\n class NoopTracer {\n startSpan(e, t, r = c.active()) {\n const n = Boolean(t === null || t === void 0 ? void 0 : t.root);\n if (n) {\n return new o.NonRecordingSpan;\n }\n const s = r && (0, a.getSpanContext)(r);\n if (isSpanContext(s) && (0, i.isSpanContextValid)(s)) {\n return new o.NonRecordingSpan(s);\n } else {\n return new o.NonRecordingSpan;\n }\n }\n startActiveSpan(e, t, r, n) {\n let o;\n let i;\n let s;\n if (arguments.length < 2) {\n return;\n } else if (arguments.length === 2) {\n s = t;\n } else if (arguments.length === 3) {\n o = t;\n s = r;\n } else {\n o = t;\n i = r;\n s = n;\n }\n const u = i !== null && i !== void 0 ? i : c.active();\n const l = this.startSpan(e, o, u);\n const g = (0, a.setSpan)(u, l);\n return c.with(g, s, undefined, l);\n }\n }\n t.NoopTracer = NoopTracer;\n function isSpanContext(e) {\n return typeof e === \"object\" && typeof e[\"spanId\"] === \"string\" && typeof e[\"traceId\"] === \"string\" && typeof e[\"traceFlags\"] === \"number\";\n }\n },\n 124: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NoopTracerProvider = void 0;\n const n = r(614);\n class NoopTracerProvider {\n getTracer(e, t, r) {\n return new n.NoopTracer;\n }\n }\n t.NoopTracerProvider = NoopTracerProvider;\n },\n 125: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.ProxyTracer = void 0;\n const n = r(614);\n const a = new n.NoopTracer;\n class ProxyTracer {\n constructor(e, t, r, n){\n this._provider = e;\n this.name = t;\n this.version = r;\n this.options = n;\n }\n startSpan(e, t, r) {\n return this._getTracer().startSpan(e, t, r);\n }\n startActiveSpan(e, t, r, n) {\n const a = this._getTracer();\n return Reflect.apply(a.startActiveSpan, a, arguments);\n }\n _getTracer() {\n if (this._delegate) {\n return this._delegate;\n }\n const e = this._provider.getDelegateTracer(this.name, this.version, this.options);\n if (!e) {\n return a;\n }\n this._delegate = e;\n return this._delegate;\n }\n }\n t.ProxyTracer = ProxyTracer;\n },\n 846: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.ProxyTracerProvider = void 0;\n const n = r(125);\n const a = r(124);\n const o = new a.NoopTracerProvider;\n class ProxyTracerProvider {\n getTracer(e, t, r) {\n var a;\n return (a = this.getDelegateTracer(e, t, r)) !== null && a !== void 0 ? a : new n.ProxyTracer(this, e, t, r);\n }\n getDelegate() {\n var e;\n return (e = this._delegate) !== null && e !== void 0 ? e : o;\n }\n setDelegate(e) {\n this._delegate = e;\n }\n getDelegateTracer(e, t, r) {\n var n;\n return (n = this._delegate) === null || n === void 0 ? void 0 : n.getTracer(e, t, r);\n }\n }\n t.ProxyTracerProvider = ProxyTracerProvider;\n },\n 996: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.SamplingDecision = void 0;\n var r;\n (function(e) {\n e[e[\"NOT_RECORD\"] = 0] = \"NOT_RECORD\";\n e[e[\"RECORD\"] = 1] = \"RECORD\";\n e[e[\"RECORD_AND_SAMPLED\"] = 2] = \"RECORD_AND_SAMPLED\";\n })(r = t.SamplingDecision || (t.SamplingDecision = {}));\n },\n 607: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.getSpanContext = t.setSpanContext = t.deleteSpan = t.setSpan = t.getActiveSpan = t.getSpan = void 0;\n const n = r(780);\n const a = r(403);\n const o = r(491);\n const i = (0, n.createContextKey)(\"OpenTelemetry Context Key SPAN\");\n function getSpan(e) {\n return e.getValue(i) || undefined;\n }\n t.getSpan = getSpan;\n function getActiveSpan() {\n return getSpan(o.ContextAPI.getInstance().active());\n }\n t.getActiveSpan = getActiveSpan;\n function setSpan(e, t) {\n return e.setValue(i, t);\n }\n t.setSpan = setSpan;\n function deleteSpan(e) {\n return e.deleteValue(i);\n }\n t.deleteSpan = deleteSpan;\n function setSpanContext(e, t) {\n return setSpan(e, new a.NonRecordingSpan(t));\n }\n t.setSpanContext = setSpanContext;\n function getSpanContext(e) {\n var t;\n return (t = getSpan(e)) === null || t === void 0 ? void 0 : t.spanContext();\n }\n t.getSpanContext = getSpanContext;\n },\n 325: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.TraceStateImpl = void 0;\n const n = r(564);\n const a = 32;\n const o = 512;\n const i = \",\";\n const c = \"=\";\n class TraceStateImpl {\n constructor(e){\n this._internalState = new Map;\n if (e) this._parse(e);\n }\n set(e, t) {\n const r = this._clone();\n if (r._internalState.has(e)) {\n r._internalState.delete(e);\n }\n r._internalState.set(e, t);\n return r;\n }\n unset(e) {\n const t = this._clone();\n t._internalState.delete(e);\n return t;\n }\n get(e) {\n return this._internalState.get(e);\n }\n serialize() {\n return this._keys().reduce((e, t)=>{\n e.push(t + c + this.get(t));\n return e;\n }, []).join(i);\n }\n _parse(e) {\n if (e.length > o) return;\n this._internalState = e.split(i).reverse().reduce((e, t)=>{\n const r = t.trim();\n const a = r.indexOf(c);\n if (a !== -1) {\n const o = r.slice(0, a);\n const i = r.slice(a + 1, t.length);\n if ((0, n.validateKey)(o) && (0, n.validateValue)(i)) {\n e.set(o, i);\n } else {}\n }\n return e;\n }, new Map);\n if (this._internalState.size > a) {\n this._internalState = new Map(Array.from(this._internalState.entries()).reverse().slice(0, a));\n }\n }\n _keys() {\n return Array.from(this._internalState.keys()).reverse();\n }\n _clone() {\n const e = new TraceStateImpl;\n e._internalState = new Map(this._internalState);\n return e;\n }\n }\n t.TraceStateImpl = TraceStateImpl;\n },\n 564: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.validateValue = t.validateKey = void 0;\n const r = \"[_0-9a-z-*/]\";\n const n = `[a-z]${r}{0,255}`;\n const a = `[a-z0-9]${r}{0,240}@[a-z]${r}{0,13}`;\n const o = new RegExp(`^(?:${n}|${a})$`);\n const i = /^[ -~]{0,255}[!-~]$/;\n const c = /,|=/;\n function validateKey(e) {\n return o.test(e);\n }\n t.validateKey = validateKey;\n function validateValue(e) {\n return i.test(e) && !c.test(e);\n }\n t.validateValue = validateValue;\n },\n 98: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.createTraceState = void 0;\n const n = r(325);\n function createTraceState(e) {\n return new n.TraceStateImpl(e);\n }\n t.createTraceState = createTraceState;\n },\n 476: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.INVALID_SPAN_CONTEXT = t.INVALID_TRACEID = t.INVALID_SPANID = void 0;\n const n = r(475);\n t.INVALID_SPANID = \"0000000000000000\";\n t.INVALID_TRACEID = \"00000000000000000000000000000000\";\n t.INVALID_SPAN_CONTEXT = {\n traceId: t.INVALID_TRACEID,\n spanId: t.INVALID_SPANID,\n traceFlags: n.TraceFlags.NONE\n };\n },\n 357: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.SpanKind = void 0;\n var r;\n (function(e) {\n e[e[\"INTERNAL\"] = 0] = \"INTERNAL\";\n e[e[\"SERVER\"] = 1] = \"SERVER\";\n e[e[\"CLIENT\"] = 2] = \"CLIENT\";\n e[e[\"PRODUCER\"] = 3] = \"PRODUCER\";\n e[e[\"CONSUMER\"] = 4] = \"CONSUMER\";\n })(r = t.SpanKind || (t.SpanKind = {}));\n },\n 139: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.wrapSpanContext = t.isSpanContextValid = t.isValidSpanId = t.isValidTraceId = void 0;\n const n = r(476);\n const a = r(403);\n const o = /^([0-9a-f]{32})$/i;\n const i = /^[0-9a-f]{16}$/i;\n function isValidTraceId(e) {\n return o.test(e) && e !== n.INVALID_TRACEID;\n }\n t.isValidTraceId = isValidTraceId;\n function isValidSpanId(e) {\n return i.test(e) && e !== n.INVALID_SPANID;\n }\n t.isValidSpanId = isValidSpanId;\n function isSpanContextValid(e) {\n return isValidTraceId(e.traceId) && isValidSpanId(e.spanId);\n }\n t.isSpanContextValid = isSpanContextValid;\n function wrapSpanContext(e) {\n return new a.NonRecordingSpan(e);\n }\n t.wrapSpanContext = wrapSpanContext;\n },\n 847: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.SpanStatusCode = void 0;\n var r;\n (function(e) {\n e[e[\"UNSET\"] = 0] = \"UNSET\";\n e[e[\"OK\"] = 1] = \"OK\";\n e[e[\"ERROR\"] = 2] = \"ERROR\";\n })(r = t.SpanStatusCode || (t.SpanStatusCode = {}));\n },\n 475: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.TraceFlags = void 0;\n var r;\n (function(e) {\n e[e[\"NONE\"] = 0] = \"NONE\";\n e[e[\"SAMPLED\"] = 1] = \"SAMPLED\";\n })(r = t.TraceFlags || (t.TraceFlags = {}));\n },\n 521: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.VERSION = void 0;\n t.VERSION = \"1.6.0\";\n }\n };\n var t = {};\n function __nccwpck_require__(r) {\n var n = t[r];\n if (n !== undefined) {\n return n.exports;\n }\n var a = t[r] = {\n exports: {}\n };\n var o = true;\n try {\n e[r].call(a.exports, a, a.exports, __nccwpck_require__);\n o = false;\n } finally{\n if (o) delete t[r];\n }\n return a.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var r = {};\n (()=>{\n var e = r;\n Object.defineProperty(e, \"__esModule\", {\n value: true\n });\n e.trace = e.propagation = e.metrics = e.diag = e.context = e.INVALID_SPAN_CONTEXT = e.INVALID_TRACEID = e.INVALID_SPANID = e.isValidSpanId = e.isValidTraceId = e.isSpanContextValid = e.createTraceState = e.TraceFlags = e.SpanStatusCode = e.SpanKind = e.SamplingDecision = e.ProxyTracerProvider = e.ProxyTracer = e.defaultTextMapSetter = e.defaultTextMapGetter = e.ValueType = e.createNoopMeter = e.DiagLogLevel = e.DiagConsoleLogger = e.ROOT_CONTEXT = e.createContextKey = e.baggageEntryMetadataFromString = void 0;\n var t = __nccwpck_require__(369);\n Object.defineProperty(e, \"baggageEntryMetadataFromString\", {\n enumerable: true,\n get: function() {\n return t.baggageEntryMetadataFromString;\n }\n });\n var n = __nccwpck_require__(780);\n Object.defineProperty(e, \"createContextKey\", {\n enumerable: true,\n get: function() {\n return n.createContextKey;\n }\n });\n Object.defineProperty(e, \"ROOT_CONTEXT\", {\n enumerable: true,\n get: function() {\n return n.ROOT_CONTEXT;\n }\n });\n var a = __nccwpck_require__(972);\n Object.defineProperty(e, \"DiagConsoleLogger\", {\n enumerable: true,\n get: function() {\n return a.DiagConsoleLogger;\n }\n });\n var o = __nccwpck_require__(957);\n Object.defineProperty(e, \"DiagLogLevel\", {\n enumerable: true,\n get: function() {\n return o.DiagLogLevel;\n }\n });\n var i = __nccwpck_require__(102);\n Object.defineProperty(e, \"createNoopMeter\", {\n enumerable: true,\n get: function() {\n return i.createNoopMeter;\n }\n });\n var c = __nccwpck_require__(901);\n Object.defineProperty(e, \"ValueType\", {\n enumerable: true,\n get: function() {\n return c.ValueType;\n }\n });\n var s = __nccwpck_require__(194);\n Object.defineProperty(e, \"defaultTextMapGetter\", {\n enumerable: true,\n get: function() {\n return s.defaultTextMapGetter;\n }\n });\n Object.defineProperty(e, \"defaultTextMapSetter\", {\n enumerable: true,\n get: function() {\n return s.defaultTextMapSetter;\n }\n });\n var u = __nccwpck_require__(125);\n Object.defineProperty(e, \"ProxyTracer\", {\n enumerable: true,\n get: function() {\n return u.ProxyTracer;\n }\n });\n var l = __nccwpck_require__(846);\n Object.defineProperty(e, \"ProxyTracerProvider\", {\n enumerable: true,\n get: function() {\n return l.ProxyTracerProvider;\n }\n });\n var g = __nccwpck_require__(996);\n Object.defineProperty(e, \"SamplingDecision\", {\n enumerable: true,\n get: function() {\n return g.SamplingDecision;\n }\n });\n var p = __nccwpck_require__(357);\n Object.defineProperty(e, \"SpanKind\", {\n enumerable: true,\n get: function() {\n return p.SpanKind;\n }\n });\n var d = __nccwpck_require__(847);\n Object.defineProperty(e, \"SpanStatusCode\", {\n enumerable: true,\n get: function() {\n return d.SpanStatusCode;\n }\n });\n var _ = __nccwpck_require__(475);\n Object.defineProperty(e, \"TraceFlags\", {\n enumerable: true,\n get: function() {\n return _.TraceFlags;\n }\n });\n var f = __nccwpck_require__(98);\n Object.defineProperty(e, \"createTraceState\", {\n enumerable: true,\n get: function() {\n return f.createTraceState;\n }\n });\n var b = __nccwpck_require__(139);\n Object.defineProperty(e, \"isSpanContextValid\", {\n enumerable: true,\n get: function() {\n return b.isSpanContextValid;\n }\n });\n Object.defineProperty(e, \"isValidTraceId\", {\n enumerable: true,\n get: function() {\n return b.isValidTraceId;\n }\n });\n Object.defineProperty(e, \"isValidSpanId\", {\n enumerable: true,\n get: function() {\n return b.isValidSpanId;\n }\n });\n var v = __nccwpck_require__(476);\n Object.defineProperty(e, \"INVALID_SPANID\", {\n enumerable: true,\n get: function() {\n return v.INVALID_SPANID;\n }\n });\n Object.defineProperty(e, \"INVALID_TRACEID\", {\n enumerable: true,\n get: function() {\n return v.INVALID_TRACEID;\n }\n });\n Object.defineProperty(e, \"INVALID_SPAN_CONTEXT\", {\n enumerable: true,\n get: function() {\n return v.INVALID_SPAN_CONTEXT;\n }\n });\n const O = __nccwpck_require__(67);\n Object.defineProperty(e, \"context\", {\n enumerable: true,\n get: function() {\n return O.context;\n }\n });\n const P = __nccwpck_require__(506);\n Object.defineProperty(e, \"diag\", {\n enumerable: true,\n get: function() {\n return P.diag;\n }\n });\n const N = __nccwpck_require__(886);\n Object.defineProperty(e, \"metrics\", {\n enumerable: true,\n get: function() {\n return N.metrics;\n }\n });\n const S = __nccwpck_require__(939);\n Object.defineProperty(e, \"propagation\", {\n enumerable: true,\n get: function() {\n return S.propagation;\n }\n });\n const C = __nccwpck_require__(845);\n Object.defineProperty(e, \"trace\", {\n enumerable: true,\n get: function() {\n return C.trace;\n }\n });\n e[\"default\"] = {\n context: O.context,\n diag: P.diag,\n metrics: N.metrics,\n propagation: S.propagation,\n trace: C.trace\n };\n })();\n module.exports = r;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BvcGVudGVsZW1ldHJ5L2FwaS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiO0FBQUM7SUFBSztJQUFhLElBQUlBLElBQUU7UUFBQyxLQUFJLENBQUNBLEdBQUVDLEdBQUVDO1lBQUtDLE9BQU9DLGNBQWMsQ0FBQ0gsR0FBRSxjQUFhO2dCQUFDSSxPQUFNO1lBQUk7WUFBR0osRUFBRUssVUFBVSxHQUFDLEtBQUs7WUFBRSxNQUFNQyxJQUFFTCxFQUFFO1lBQUssTUFBTU0sSUFBRU4sRUFBRTtZQUFLLE1BQU1PLElBQUVQLEVBQUU7WUFBSyxNQUFNUSxJQUFFO1lBQVUsTUFBTUMsSUFBRSxJQUFJSixFQUFFSyxrQkFBa0I7WUFBQyxNQUFNTjtnQkFBV08sYUFBYSxDQUFDO2dCQUFDLE9BQU9DLGNBQWE7b0JBQUMsSUFBRyxDQUFDLElBQUksQ0FBQ0MsU0FBUyxFQUFDO3dCQUFDLElBQUksQ0FBQ0EsU0FBUyxHQUFDLElBQUlUO29CQUFVO29CQUFDLE9BQU8sSUFBSSxDQUFDUyxTQUFTO2dCQUFBO2dCQUFDQyx3QkFBd0JoQixDQUFDLEVBQUM7b0JBQUMsT0FBTSxDQUFDLEdBQUVRLEVBQUVTLGNBQWMsRUFBRVAsR0FBRVYsR0FBRVMsRUFBRVMsT0FBTyxDQUFDQyxRQUFRO2dCQUFHO2dCQUFDQyxTQUFRO29CQUFDLE9BQU8sSUFBSSxDQUFDQyxrQkFBa0IsR0FBR0QsTUFBTTtnQkFBRTtnQkFBQ0UsS0FBS3RCLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDLEVBQUMsR0FBR0ssQ0FBQyxFQUFDO29CQUFDLE9BQU8sSUFBSSxDQUFDYyxrQkFBa0IsR0FBR0MsSUFBSSxDQUFDdEIsR0FBRUMsR0FBRUMsTUFBS0s7Z0JBQUU7Z0JBQUNnQixLQUFLdkIsQ0FBQyxFQUFDQyxDQUFDLEVBQUM7b0JBQUMsT0FBTyxJQUFJLENBQUNvQixrQkFBa0IsR0FBR0UsSUFBSSxDQUFDdkIsR0FBRUM7Z0JBQUU7Z0JB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VyxPQUFPK0ssRUFBRW5ILE9BQU87WUFBQTtRQUFDO1FBQUcsTUFBTW9ILElBQUViLG9CQUFvQjtRQUFLMVAsT0FBT0MsY0FBYyxDQUFDSixHQUFFLGVBQWM7WUFBQ3VMLFlBQVc7WUFBSzdGLEtBQUk7Z0JBQVcsT0FBT2dMLEVBQUU3RSxXQUFXO1lBQUE7UUFBQztRQUFHLE1BQU04RSxJQUFFZCxvQkFBb0I7UUFBSzFQLE9BQU9DLGNBQWMsQ0FBQ0osR0FBRSxTQUFRO1lBQUN1TCxZQUFXO1lBQUs3RixLQUFJO2dCQUFXLE9BQU9pTCxFQUFFNUUsS0FBSztZQUFBO1FBQUM7UUFBRy9MLENBQUMsQ0FBQyxVQUFVLEdBQUM7WUFBQzRHLFNBQVEySixFQUFFM0osT0FBTztZQUFDTyxNQUFLcUosRUFBRXJKLElBQUk7WUFBQ21DLFNBQVFtSCxFQUFFbkgsT0FBTztZQUFDdUMsYUFBWTZFLEVBQUU3RSxXQUFXO1lBQUNFLE9BQU00RSxFQUFFNUUsS0FBSztRQUFBO0lBQUM7SUFBSzZFLE9BQU9kLE9BQU8sR0FBQzVQO0FBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BvcGVudGVsZW1ldHJ5L2FwaS9pbmRleC5qcz8xNDgzIl0sInNvdXJjZXNDb250ZW50IjpbIigoKT0+e1widXNlIHN0cmljdFwiO3ZhciBlPXs0OTE6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5Db250ZXh0QVBJPXZvaWQgMDtjb25zdCBuPXIoMjIzKTtjb25zdCBhPXIoMTcyKTtjb25zdCBvPXIoOTMwKTtjb25zdCBpPVwiY29udGV4dFwiO2NvbnN0IGM9bmV3IG4uTm9vcENvbnRleHRNYW5hZ2VyO2NsYXNzIENvbnRleHRBUEl7Y29uc3RydWN0b3IoKXt9c3RhdGljIGdldEluc3RhbmNlKCl7aWYoIXRoaXMuX2luc3RhbmNlKXt0aGlzLl9pbnN0YW5jZT1uZXcgQ29udGV4dEFQSX1yZXR1cm4gdGhpcy5faW5zdGFuY2V9c2V0R2xvYmFsQ29udGV4dE1hbmFnZXIoZSl7cmV0dXJuKDAsYS5yZWdpc3Rlckdsb2JhbCkoaSxlLG8uRGlhZ0FQSS5pbnN0YW5jZSgpKX1hY3RpdmUoKXtyZXR1cm4gdGhpcy5fZ2V0Q29udGV4dE1hbmFnZXIoKS5hY3RpdmUoKX13aXRoKGUsdCxyLC4uLm4pe3JldHVybiB0aGlzLl9nZXRDb250ZXh0TWFuYWdlcigpLndpdGgoZSx0LHIsLi4ubil9YmluZChlLHQpe3JldHVybiB0aGlzLl9nZXRDb250ZXh0TWFuYWdlcigpLmJpbmQoZSx0KX1fZ2V0Q29udGV4dE1hbmFnZXIoKXtyZXR1cm4oMCxhLmdldEdsb2JhbCkoaSl8fGN9ZGlzYWJsZSgpe3RoaXMuX2dldENvbnRleHRNYW5hZ2VyKCkuZGlzYWJsZSgpOygwLGEudW5yZWdpc3Rlckdsb2JhbCkoaSxvLkRpYWdBUEkuaW5zdGFuY2UoKSl9fXQuQ29udGV4dEFQST1Db250ZXh0QVBJfSw5MzA6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5EaWFnQVBJPXZvaWQgMDtjb25zdCBuPXIoNTYpO2NvbnN0IGE9cig5MTIpO2NvbnN0IG89cig5NTcpO2NvbnN0IGk9cigxNzIpO2NvbnN0IGM9XCJkaWFnXCI7Y2xhc3MgRGlhZ0FQSXtjb25zdHJ1Y3Rvcigpe2Z1bmN0aW9uIF9sb2dQcm94eShlKXtyZXR1cm4gZnVuY3Rpb24oLi4udCl7Y29uc3Qgcj0oMCxpLmdldEdsb2JhbCkoXCJkaWFnXCIpO2lmKCFyKXJldHVybjtyZXR1cm4gcltlXSguLi50KX19Y29uc3QgZT10aGlzO2NvbnN0IHNldExvZ2dlcj0odCxyPXtsb2dMZXZlbDpvLkRpYWdMb2dMZXZlbC5JTkZPfSk9Pnt2YXIgbixjLHM7aWYodD09PWUpe2NvbnN0IHQ9bmV3IEVycm9yKFwiQ2Fubm90IHVzZSBkaWFnIGFzIHRoZSBsb2dnZXIgZm9yIGl0c2VsZi4gUGxlYXNlIHVzZSBhIERpYWdMb2dnZXIgaW1wbGVtZW50YXRpb24gbGlrZSBDb25zb2xlRGlhZ0xvZ2dlciBvciBhIGN1c3RvbSBpbXBsZW1lbnRhdGlvblwiKTtlLmVycm9yKChuPXQuc3RhY2spIT09bnVsbCYmbiE9PXZvaWQgMD9uOnQubWVzc2FnZSk7cmV0dXJuIGZhbHNlfWlmKHR5cGVvZiByPT09XCJudW1iZXJcIil7cj17bG9nTGV2ZWw6cn19Y29uc3QgdT0oMCxpLmdldEdsb2JhbCkoXCJkaWFnXCIpO2NvbnN0IGw9KDAsYS5jcmVhdGVMb2dMZXZlbERpYWdMb2dnZXIpKChjPXIubG9nTGV2ZWwpIT09bnVsbCYmYyE9PXZvaWQgMD9jOm8uRGlhZ0xvZ0xldmVsLklORk8sdCk7aWYodSYmIXIuc3VwcHJlc3NPdmVycmlkZU1lc3NhZ2Upe2NvbnN0IGU9KHM9KG5ldyBFcnJvcikuc3RhY2spIT09bnVsbCYmcyE9PXZvaWQgMD9zOlwiPGZhaWxlZCB0byBnZW5lcmF0ZSBzdGFja3RyYWNlPlwiO3Uud2FybihgQ3VycmVudCBsb2dnZXIgd2lsbCBiZSBvdmVyd3JpdHRlbiBmcm9tICR7ZX1gKTtsLndhcm4oYEN1cnJlbnQgbG9nZ2VyIHdpbGwgb3ZlcndyaXRlIG9uZSBhbHJlYWR5IHJlZ2lzdGVyZWQgZnJvbSAke2V9YCl9cmV0dXJuKDAsaS5yZWdpc3Rlckdsb2JhbCkoXCJkaWFnXCIsbCxlLHRydWUpfTtlLnNldExvZ2dlcj1zZXRMb2dnZXI7ZS5kaXNhYmxlPSgpPT57KDAsaS51bnJlZ2lzdGVyR2xvYmFsKShjLGUpfTtlLmNyZWF0ZUNvbXBvbmVudExvZ2dlcj1lPT5uZXcgbi5EaWFnQ29tcG9uZW50TG9nZ2VyKGUpO2UudmVyYm9zZT1fbG9nUHJveHkoXCJ2ZXJib3NlXCIpO2UuZGVidWc9X2xvZ1Byb3h5KFwiZGVidWdcIik7ZS5pbmZvPV9sb2dQcm94eShcImluZm9cIik7ZS53YXJuPV9sb2dQcm94eShcIndhcm5cIik7ZS5lcnJvcj1fbG9nUHJveHkoXCJlcnJvclwiKX1zdGF0aWMgaW5zdGFuY2UoKXtpZighdGhpcy5faW5zdGFuY2Upe3RoaXMuX2luc3RhbmNlPW5ldyBEaWFnQVBJfXJldHVybiB0aGlzLl9pbnN0YW5jZX19dC5EaWFnQVBJPURpYWdBUEl9LDY1MzooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0Lk1ldHJpY3NBUEk9dm9pZCAwO2NvbnN0IG49cig2NjApO2NvbnN0IGE9cigxNzIpO2NvbnN0IG89cig5MzApO2NvbnN0IGk9XCJtZXRyaWNzXCI7Y2xhc3MgTWV0cmljc0FQSXtjb25zdHJ1Y3Rvcigpe31zdGF0aWMgZ2V0SW5zdGFuY2UoKXtpZighdGhpcy5faW5zdGFuY2Upe3RoaXMuX2luc3RhbmNlPW5ldyBNZXRyaWNzQVBJfXJldHVybiB0aGlzLl9pbnN0YW5jZX1zZXRHbG9iYWxNZXRlclByb3ZpZGVyKGUpe3JldHVybigwLGEucmVnaXN0ZXJHbG9iYWwpKGksZSxvLkRpYWdBUEkuaW5zdGFuY2UoKSl9Z2V0TWV0ZXJQcm92aWRlcigpe3JldHVybigwLGEuZ2V0R2xvYmFsKShpKXx8bi5OT09QX01FVEVSX1BST1ZJREVSfWdldE1ldGVyKGUsdCxyKXtyZXR1cm4gdGhpcy5nZXRNZXRlclByb3ZpZGVyKCkuZ2V0TWV0ZXIoZSx0LHIpfWRpc2FibGUoKXsoMCxhLnVucmVnaXN0ZXJHbG9iYWwpKGksby5EaWFnQVBJLmluc3RhbmNlKCkpfX10Lk1ldHJpY3NBUEk9TWV0cmljc0FQSX0sMTgxOihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuUHJvcGFnYXRpb25BUEk9dm9pZCAwO2NvbnN0IG49cigxNzIpO2NvbnN0IGE9cig4NzQpO2NvbnN0IG89cigxOTQpO2NvbnN0IGk9cigyNzcpO2NvbnN0IGM9cigzNjkpO2NvbnN0IHM9cig5MzApO2NvbnN0IHU9XCJwcm9wYWdhdGlvblwiO2NvbnN0IGw9bmV3IGEuTm9vcFRleHRNYXBQcm9wYWdhdG9yO2NsYXNzIFByb3BhZ2F0aW9uQVBJe2NvbnN0cnVjdG9yKCl7dGhpcy5jcmVhdGVCYWdnYWdlPWMuY3JlYXRlQmFnZ2FnZTt0aGlzLmdldEJhZ2dhZ2U9aS5nZXRCYWdnYWdlO3RoaXMuZ2V0QWN0aXZlQmFnZ2FnZT1pLmdldEFjdGl2ZUJhZ2dhZ2U7dGhpcy5zZXRCYWdnYWdlPWkuc2V0QmFnZ2FnZTt0aGlzLmRlbGV0ZUJhZ2dhZ2U9aS5kZWxldGVCYWdnYWdlfXN0YXRpYyBnZXRJbnN0YW5jZSgpe2lmKCF0aGlzLl9pbnN0YW5jZSl7dGhpcy5faW5zdGFuY2U9bmV3IFByb3BhZ2F0aW9uQVBJfXJldHVybiB0aGlzLl9pbnN0YW5jZX1zZXRHbG9iYWxQcm9wYWdhdG9yKGUpe3JldHVybigwLG4ucmVnaXN0ZXJHbG9iYWwpKHUsZSxzLkRpYWdBUEkuaW5zdGFuY2UoKSl9aW5qZWN0KGUsdCxyPW8uZGVmYXVsdFRleHRNYXBTZXR0ZXIpe3JldHVybiB0aGlzLl9nZXRHbG9iYWxQcm9wYWdhdG9yKCkuaW5qZWN0KGUsdCxyKX1leHRyYWN0KGUsdCxyPW8uZGVmYXVsdFRleHRNYXBHZXR0ZXIpe3JldHVybiB0aGlzLl9nZXRHbG9iYWxQcm9wYWdhdG9yKCkuZXh0cmFjdChlLHQscil9ZmllbGRzKCl7cmV0dXJuIHRoaXMuX2dldEdsb2JhbFByb3BhZ2F0b3IoKS5maWVsZHMoKX1kaXNhYmxlKCl7KDAsbi51bnJlZ2lzdGVyR2xvYmFsKSh1LHMuRGlhZ0FQSS5pbnN0YW5jZSgpKX1fZ2V0R2xvYmFsUHJvcGFnYXRvcigpe3JldHVybigwLG4uZ2V0R2xvYmFsKSh1KXx8bH19dC5Qcm9wYWdhdGlvbkFQST1Qcm9wYWdhdGlvbkFQSX0sOTk3OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuVHJhY2VBUEk9dm9pZCAwO2NvbnN0IG49cigxNzIpO2NvbnN0IGE9cig4NDYpO2NvbnN0IG89cigxMzkpO2NvbnN0IGk9cig2MDcpO2NvbnN0IGM9cig5MzApO2NvbnN0IHM9XCJ0cmFjZVwiO2NsYXNzIFRyYWNlQVBJe2NvbnN0cnVjdG9yKCl7dGhpcy5fcHJveHlUcmFjZXJQcm92aWRlcj1uZXcgYS5Qcm94eVRyYWNlclByb3ZpZGVyO3RoaXMud3JhcFNwYW5Db250ZXh0PW8ud3JhcFNwYW5Db250ZXh0O3RoaXMuaXNTcGFuQ29udGV4dFZhbGlkPW8uaXNTcGFuQ29udGV4dFZhbGlkO3RoaXMuZGVsZXRlU3Bhbj1pLmRlbGV0ZVNwYW47dGhpcy5nZXRTcGFuPWkuZ2V0U3Bhbjt0aGlzLmdldEFjdGl2ZVNwYW49aS5nZXRBY3RpdmVTcGFuO3RoaXMuZ2V0U3BhbkNvbnRleHQ9aS5nZXRTcGFuQ29udGV4dDt0aGlzLnNldFNwYW49aS5zZXRTcGFuO3RoaXMuc2V0U3BhbkNvbnRleHQ9aS5zZXRTcGFuQ29udGV4dH1zdGF0aWMgZ2V0SW5zdGFuY2UoKXtpZighdGhpcy5faW5zdGFuY2Upe3RoaXMuX2luc3RhbmNlPW5ldyBUcmFjZUFQSX1yZXR1cm4gdGhpcy5faW5zdGFuY2V9c2V0R2xvYmFsVHJhY2VyUHJvdmlkZXIoZSl7Y29uc3QgdD0oMCxuLnJlZ2lzdGVyR2xvYmFsKShzLHRoaXMuX3Byb3h5VHJhY2VyUHJvdmlkZXIsYy5EaWFnQVBJLmluc3RhbmNlKCkpO2lmKHQpe3RoaXMuX3Byb3h5VHJhY2VyUHJvdmlkZXIuc2V0RGVsZWdhdGUoZSl9cmV0dXJuIHR9Z2V0VHJhY2VyUHJvdmlkZXIoKXtyZXR1cm4oMCxuLmdldEdsb2JhbCkocyl8fHRoaXMuX3Byb3h5VHJhY2VyUHJvdmlkZXJ9Z2V0VHJhY2VyKGUsdCl7cmV0dXJuIHRoaXMuZ2V0VHJhY2VyUHJvdmlkZXIoKS5nZXRUcmFjZXIoZSx0KX1kaXNhYmxlKCl7KDAsbi51bnJlZ2lzdGVyR2xvYmFsKShzLGMuRGlhZ0FQSS5pbnN0YW5jZSgpKTt0aGlzLl9wcm94eVRyYWNlclByb3ZpZGVyPW5ldyBhLlByb3h5VHJhY2VyUHJvdmlkZXJ9fXQuVHJhY2VBUEk9VHJhY2VBUEl9LDI3NzooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LmRlbGV0ZUJhZ2dhZ2U9dC5zZXRCYWdnYWdlPXQuZ2V0QWN0aXZlQmFnZ2FnZT10LmdldEJhZ2dhZ2U9dm9pZCAwO2NvbnN0IG49cig0OTEpO2NvbnN0IGE9cig3ODApO2NvbnN0IG89KDAsYS5jcmVhdGVDb250ZXh0S2V5KShcIk9wZW5UZWxlbWV0cnkgQmFnZ2FnZSBLZXlcIik7ZnVuY3Rpb24gZ2V0QmFnZ2FnZShlKXtyZXR1cm4gZS5nZXRWYWx1ZShvKXx8dW5kZWZpbmVkfXQuZ2V0QmFnZ2FnZT1nZXRCYWdnYWdlO2Z1bmN0aW9uIGdldEFjdGl2ZUJhZ2dhZ2UoKXtyZXR1cm4gZ2V0QmFnZ2FnZShuLkNvbnRleHRBUEkuZ2V0SW5zdGFuY2UoKS5hY3RpdmUoKSl9dC5nZXRBY3RpdmVCYWdnYWdlPWdldEFjdGl2ZUJhZ2dhZ2U7ZnVuY3Rpb24gc2V0QmFnZ2FnZShlLHQpe3JldHVybiBlLnNldFZhbHVlKG8sdCl9dC5zZXRCYWdnYWdlPXNldEJhZ2dhZ2U7ZnVuY3Rpb24gZGVsZXRlQmFnZ2FnZShlKXtyZXR1cm4gZS5kZWxldGVWYWx1ZShvKX10LmRlbGV0ZUJhZ2dhZ2U9ZGVsZXRlQmFnZ2FnZX0sOTkzOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LkJhZ2dhZ2VJbXBsPXZvaWQgMDtjbGFzcyBCYWdnYWdlSW1wbHtjb25zdHJ1Y3RvcihlKXt0aGlzLl9lbnRyaWVzPWU/bmV3IE1hcChlKTpuZXcgTWFwfWdldEVudHJ5KGUpe2NvbnN0IHQ9dGhpcy5fZW50cmllcy5nZXQoZSk7aWYoIXQpe3JldHVybiB1bmRlZmluZWR9cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sdCl9Z2V0QWxsRW50cmllcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuX2VudHJpZXMuZW50cmllcygpKS5tYXAoKChbZSx0XSk9PltlLHRdKSl9c2V0RW50cnkoZSx0KXtjb25zdCByPW5ldyBCYWdnYWdlSW1wbCh0aGlzLl9lbnRyaWVzKTtyLl9lbnRyaWVzLnNldChlLHQpO3JldHVybiByfXJlbW92ZUVudHJ5KGUpe2NvbnN0IHQ9bmV3IEJhZ2dhZ2VJbXBsKHRoaXMuX2VudHJpZXMpO3QuX2VudHJpZXMuZGVsZXRlKGUpO3JldHVybiB0fXJlbW92ZUVudHJpZXMoLi4uZSl7Y29uc3QgdD1uZXcgQmFnZ2FnZUltcGwodGhpcy5fZW50cmllcyk7Zm9yKGNvbnN0IHIgb2YgZSl7dC5fZW50cmllcy5kZWxldGUocil9cmV0dXJuIHR9Y2xlYXIoKXtyZXR1cm4gbmV3IEJhZ2dhZ2VJbXBsfX10LkJhZ2dhZ2VJbXBsPUJhZ2dhZ2VJbXBsfSw4MzA6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuYmFnZ2FnZUVudHJ5TWV0YWRhdGFTeW1ib2w9dm9pZCAwO3QuYmFnZ2FnZUVudHJ5TWV0YWRhdGFTeW1ib2w9U3ltYm9sKFwiQmFnZ2FnZUVudHJ5TWV0YWRhdGFcIil9LDM2OTooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LmJhZ2dhZ2VFbnRyeU1ldGFkYXRhRnJvbVN0cmluZz10LmNyZWF0ZUJhZ2dhZ2U9dm9pZCAwO2NvbnN0IG49cig5MzApO2NvbnN0IGE9cig5OTMpO2NvbnN0IG89cig4MzApO2NvbnN0IGk9bi5EaWFnQVBJLmluc3RhbmNlKCk7ZnVuY3Rpb24gY3JlYXRlQmFnZ2FnZShlPXt9KXtyZXR1cm4gbmV3IGEuQmFnZ2FnZUltcGwobmV3IE1hcChPYmplY3QuZW50cmllcyhlKSkpfXQuY3JlYXRlQmFnZ2FnZT1jcmVhdGVCYWdnYWdlO2Z1bmN0aW9uIGJhZ2dhZ2VFbnRyeU1ldGFkYXRhRnJvbVN0cmluZyhlKXtpZih0eXBlb2YgZSE9PVwic3RyaW5nXCIpe2kuZXJyb3IoYENhbm5vdCBjcmVhdGUgYmFnZ2FnZSBtZXRhZGF0YSBmcm9tIHVua25vd24gdHlwZTogJHt0eXBlb2YgZX1gKTtlPVwiXCJ9cmV0dXJue19fVFlQRV9fOm8uYmFnZ2FnZUVudHJ5TWV0YWRhdGFTeW1ib2wsdG9TdHJpbmcoKXtyZXR1cm4gZX19fXQuYmFnZ2FnZUVudHJ5TWV0YWRhdGFGcm9tU3RyaW5nPWJhZ2dhZ2VFbnRyeU1ldGFkYXRhRnJvbVN0cmluZ30sNjc6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5jb250ZXh0PXZvaWQgMDtjb25zdCBuPXIoNDkxKTt0LmNvbnRleHQ9bi5Db250ZXh0QVBJLmdldEluc3RhbmNlKCl9LDIyMzooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0Lk5vb3BDb250ZXh0TWFuYWdlcj12b2lkIDA7Y29uc3Qgbj1yKDc4MCk7Y2xhc3MgTm9vcENvbnRleHRNYW5hZ2Vye2FjdGl2ZSgpe3JldHVybiBuLlJPT1RfQ09OVEVYVH13aXRoKGUsdCxyLC4uLm4pe3JldHVybiB0LmNhbGwociwuLi5uKX1iaW5kKGUsdCl7cmV0dXJuIHR9ZW5hYmxlKCl7cmV0dXJuIHRoaXN9ZGlzYWJsZSgpe3JldHVybiB0aGlzfX10Lk5vb3BDb250ZXh0TWFuYWdlcj1Ob29wQ29udGV4dE1hbmFnZXJ9LDc4MDooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5ST09UX0NPTlRFWFQ9dC5jcmVhdGVDb250ZXh0S2V5PXZvaWQgMDtmdW5jdGlvbiBjcmVhdGVDb250ZXh0S2V5KGUpe3JldHVybiBTeW1ib2wuZm9yKGUpfXQuY3JlYXRlQ29udGV4dEtleT1jcmVhdGVDb250ZXh0S2V5O2NsYXNzIEJhc2VDb250ZXh0e2NvbnN0cnVjdG9yKGUpe2NvbnN0IHQ9dGhpczt0Ll9jdXJyZW50Q29udGV4dD1lP25ldyBNYXAoZSk6bmV3IE1hcDt0LmdldFZhbHVlPWU9PnQuX2N1cnJlbnRDb250ZXh0LmdldChlKTt0LnNldFZhbHVlPShlLHIpPT57Y29uc3Qgbj1uZXcgQmFzZUNvbnRleHQodC5fY3VycmVudENvbnRleHQpO24uX2N1cnJlbnRDb250ZXh0LnNldChlLHIpO3JldHVybiBufTt0LmRlbGV0ZVZhbHVlPWU9Pntjb25zdCByPW5ldyBCYXNlQ29udGV4dCh0Ll9jdXJyZW50Q29udGV4dCk7ci5fY3VycmVudENvbnRleHQuZGVsZXRlKGUpO3JldHVybiByfX19dC5ST09UX0NPTlRFWFQ9bmV3IEJhc2VDb250ZXh0fSw1MDY6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5kaWFnPXZvaWQgMDtjb25zdCBuPXIoOTMwKTt0LmRpYWc9bi5EaWFnQVBJLmluc3RhbmNlKCl9LDU2OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuRGlhZ0NvbXBvbmVudExvZ2dlcj12b2lkIDA7Y29uc3Qgbj1yKDE3Mik7Y2xhc3MgRGlhZ0NvbXBvbmVudExvZ2dlcntjb25zdHJ1Y3RvcihlKXt0aGlzLl9uYW1lc3BhY2U9ZS5uYW1lc3BhY2V8fFwiRGlhZ0NvbXBvbmVudExvZ2dlclwifWRlYnVnKC4uLmUpe3JldHVybiBsb2dQcm94eShcImRlYnVnXCIsdGhpcy5fbmFtZXNwYWNlLGUpfWVycm9yKC4uLmUpe3JldHVybiBsb2dQcm94eShcImVycm9yXCIsdGhpcy5fbmFtZXNwYWNlLGUpfWluZm8oLi4uZSl7cmV0dXJuIGxvZ1Byb3h5KFwiaW5mb1wiLHRoaXMuX25hbWVzcGFjZSxlKX13YXJuKC4uLmUpe3JldHVybiBsb2dQcm94eShcIndhcm5cIix0aGlzLl9uYW1lc3BhY2UsZSl9dmVyYm9zZSguLi5lKXtyZXR1cm4gbG9nUHJveHkoXCJ2ZXJib3NlXCIsdGhpcy5fbmFtZXNwYWNlLGUpfX10LkRpYWdDb21wb25lbnRMb2dnZXI9RGlhZ0NvbXBvbmVudExvZ2dlcjtmdW5jdGlvbiBsb2dQcm94eShlLHQscil7Y29uc3QgYT0oMCxuLmdldEdsb2JhbCkoXCJkaWFnXCIpO2lmKCFhKXtyZXR1cm59ci51bnNoaWZ0KHQpO3JldHVybiBhW2VdKC4uLnIpfX0sOTcyOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LkRpYWdDb25zb2xlTG9nZ2VyPXZvaWQgMDtjb25zdCByPVt7bjpcImVycm9yXCIsYzpcImVycm9yXCJ9LHtuOlwid2FyblwiLGM6XCJ3YXJuXCJ9LHtuOlwiaW5mb1wiLGM6XCJpbmZvXCJ9LHtuOlwiZGVidWdcIixjOlwiZGVidWdcIn0se246XCJ2ZXJib3NlXCIsYzpcInRyYWNlXCJ9XTtjbGFzcyBEaWFnQ29uc29sZUxvZ2dlcntjb25zdHJ1Y3Rvcigpe2Z1bmN0aW9uIF9jb25zb2xlRnVuYyhlKXtyZXR1cm4gZnVuY3Rpb24oLi4udCl7aWYoY29uc29sZSl7bGV0IHI9Y29uc29sZVtlXTtpZih0eXBlb2YgciE9PVwiZnVuY3Rpb25cIil7cj1jb25zb2xlLmxvZ31pZih0eXBlb2Ygcj09PVwiZnVuY3Rpb25cIil7cmV0dXJuIHIuYXBwbHkoY29uc29sZSx0KX19fX1mb3IobGV0IGU9MDtlPHIubGVuZ3RoO2UrKyl7dGhpc1tyW2VdLm5dPV9jb25zb2xlRnVuYyhyW2VdLmMpfX19dC5EaWFnQ29uc29sZUxvZ2dlcj1EaWFnQ29uc29sZUxvZ2dlcn0sOTEyOihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuY3JlYXRlTG9nTGV2ZWxEaWFnTG9nZ2VyPXZvaWQgMDtjb25zdCBuPXIoOTU3KTtmdW5jdGlvbiBjcmVhdGVMb2dMZXZlbERpYWdMb2dnZXIoZSx0KXtpZihlPG4uRGlhZ0xvZ0xldmVsLk5PTkUpe2U9bi5EaWFnTG9nTGV2ZWwuTk9ORX1lbHNlIGlmKGU+bi5EaWFnTG9nTGV2ZWwuQUxMKXtlPW4uRGlhZ0xvZ0xldmVsLkFMTH10PXR8fHt9O2Z1bmN0aW9uIF9maWx0ZXJGdW5jKHIsbil7Y29uc3QgYT10W3JdO2lmKHR5cGVvZiBhPT09XCJmdW5jdGlvblwiJiZlPj1uKXtyZXR1cm4gYS5iaW5kKHQpfXJldHVybiBmdW5jdGlvbigpe319cmV0dXJue2Vycm9yOl9maWx0ZXJGdW5jKFwiZXJyb3JcIixuLkRpYWdMb2dMZXZlbC5FUlJPUiksd2FybjpfZmlsdGVyRnVuYyhcIndhcm5cIixuLkRpYWdMb2dMZXZlbC5XQVJOKSxpbmZvOl9maWx0ZXJGdW5jKFwiaW5mb1wiLG4uRGlhZ0xvZ0xldmVsLklORk8pLGRlYnVnOl9maWx0ZXJGdW5jKFwiZGVidWdcIixuLkRpYWdMb2dMZXZlbC5ERUJVRyksdmVyYm9zZTpfZmlsdGVyRnVuYyhcInZlcmJvc2VcIixuLkRpYWdMb2dMZXZlbC5WRVJCT1NFKX19dC5jcmVhdGVMb2dMZXZlbERpYWdMb2dnZXI9Y3JlYXRlTG9nTGV2ZWxEaWFnTG9nZ2VyfSw5NTc6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuRGlhZ0xvZ0xldmVsPXZvaWQgMDt2YXIgcjsoZnVuY3Rpb24oZSl7ZVtlW1wiTk9ORVwiXT0wXT1cIk5PTkVcIjtlW2VbXCJFUlJPUlwiXT0zMF09XCJFUlJPUlwiO2VbZVtcIldBUk5cIl09NTBdPVwiV0FSTlwiO2VbZVtcIklORk9cIl09NjBdPVwiSU5GT1wiO2VbZVtcIkRFQlVHXCJdPTcwXT1cIkRFQlVHXCI7ZVtlW1wiVkVSQk9TRVwiXT04MF09XCJWRVJCT1NFXCI7ZVtlW1wiQUxMXCJdPTk5OTldPVwiQUxMXCJ9KShyPXQuRGlhZ0xvZ0xldmVsfHwodC5EaWFnTG9nTGV2ZWw9e30pKX0sMTcyOihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QudW5yZWdpc3Rlckdsb2JhbD10LmdldEdsb2JhbD10LnJlZ2lzdGVyR2xvYmFsPXZvaWQgMDtjb25zdCBuPXIoMjAwKTtjb25zdCBhPXIoNTIxKTtjb25zdCBvPXIoMTMwKTtjb25zdCBpPWEuVkVSU0lPTi5zcGxpdChcIi5cIilbMF07Y29uc3QgYz1TeW1ib2wuZm9yKGBvcGVudGVsZW1ldHJ5LmpzLmFwaS4ke2l9YCk7Y29uc3Qgcz1uLl9nbG9iYWxUaGlzO2Z1bmN0aW9uIHJlZ2lzdGVyR2xvYmFsKGUsdCxyLG49ZmFsc2Upe3ZhciBvO2NvbnN0IGk9c1tjXT0obz1zW2NdKSE9PW51bGwmJm8hPT12b2lkIDA/bzp7dmVyc2lvbjphLlZFUlNJT059O2lmKCFuJiZpW2VdKXtjb25zdCB0PW5ldyBFcnJvcihgQG9wZW50ZWxlbWV0cnkvYXBpOiBBdHRlbXB0ZWQgZHVwbGljYXRlIHJlZ2lzdHJhdGlvbiBvZiBBUEk6ICR7ZX1gKTtyLmVycm9yKHQuc3RhY2t8fHQubWVzc2FnZSk7cmV0dXJuIGZhbHNlfWlmKGkudmVyc2lvbiE9PWEuVkVSU0lPTil7Y29uc3QgdD1uZXcgRXJyb3IoYEBvcGVudGVsZW1ldHJ5L2FwaTogUmVnaXN0cmF0aW9uIG9mIHZlcnNpb24gdiR7aS52ZXJzaW9ufSBmb3IgJHtlfSBkb2VzIG5vdCBtYXRjaCBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgQVBJIHYke2EuVkVSU0lPTn1gKTtyLmVycm9yKHQuc3RhY2t8fHQubWVzc2FnZSk7cmV0dXJuIGZhbHNlfWlbZV09dDtyLmRlYnVnKGBAb3BlbnRlbGVtZXRyeS9hcGk6IFJlZ2lzdGVyZWQgYSBnbG9iYWwgZm9yICR7ZX0gdiR7YS5WRVJTSU9OfS5gKTtyZXR1cm4gdHJ1ZX10LnJlZ2lzdGVyR2xvYmFsPXJlZ2lzdGVyR2xvYmFsO2Z1bmN0aW9uIGdldEdsb2JhbChlKXt2YXIgdCxyO2NvbnN0IG49KHQ9c1tjXSk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0LnZlcnNpb247aWYoIW58fCEoMCxvLmlzQ29tcGF0aWJsZSkobikpe3JldHVybn1yZXR1cm4ocj1zW2NdKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnJbZV19dC5nZXRHbG9iYWw9Z2V0R2xvYmFsO2Z1bmN0aW9uIHVucmVnaXN0ZXJHbG9iYWwoZSx0KXt0LmRlYnVnKGBAb3BlbnRlbGVtZXRyeS9hcGk6IFVucmVnaXN0ZXJpbmcgYSBnbG9iYWwgZm9yICR7ZX0gdiR7YS5WRVJTSU9OfS5gKTtjb25zdCByPXNbY107aWYocil7ZGVsZXRlIHJbZV19fXQudW5yZWdpc3Rlckdsb2JhbD11bnJlZ2lzdGVyR2xvYmFsfSwxMzA6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5pc0NvbXBhdGlibGU9dC5fbWFrZUNvbXBhdGliaWxpdHlDaGVjaz12b2lkIDA7Y29uc3Qgbj1yKDUyMSk7Y29uc3QgYT0vXihcXGQrKVxcLihcXGQrKVxcLihcXGQrKSgtKC4rKSk/JC87ZnVuY3Rpb24gX21ha2VDb21wYXRpYmlsaXR5Q2hlY2soZSl7Y29uc3QgdD1uZXcgU2V0KFtlXSk7Y29uc3Qgcj1uZXcgU2V0O2NvbnN0IG49ZS5tYXRjaChhKTtpZighbil7cmV0dXJuKCk9PmZhbHNlfWNvbnN0IG89e21ham9yOituWzFdLG1pbm9yOituWzJdLHBhdGNoOituWzNdLHByZXJlbGVhc2U6bls0XX07aWYoby5wcmVyZWxlYXNlIT1udWxsKXtyZXR1cm4gZnVuY3Rpb24gaXNFeGFjdG1hdGNoKHQpe3JldHVybiB0PT09ZX19ZnVuY3Rpb24gX3JlamVjdChlKXtyLmFkZChlKTtyZXR1cm4gZmFsc2V9ZnVuY3Rpb24gX2FjY2VwdChlKXt0LmFkZChlKTtyZXR1cm4gdHJ1ZX1yZXR1cm4gZnVuY3Rpb24gaXNDb21wYXRpYmxlKGUpe2lmKHQuaGFzKGUpKXtyZXR1cm4gdHJ1ZX1pZihyLmhhcyhlKSl7cmV0dXJuIGZhbHNlfWNvbnN0IG49ZS5tYXRjaChhKTtpZighbil7cmV0dXJuIF9yZWplY3QoZSl9Y29uc3QgaT17bWFqb3I6K25bMV0sbWlub3I6K25bMl0scGF0Y2g6K25bM10scHJlcmVsZWFzZTpuWzRdfTtpZihpLnByZXJlbGVhc2UhPW51bGwpe3JldHVybiBfcmVqZWN0KGUpfWlmKG8ubWFqb3IhPT1pLm1ham9yKXtyZXR1cm4gX3JlamVjdChlKX1pZihvLm1ham9yPT09MCl7aWYoby5taW5vcj09PWkubWlub3ImJm8ucGF0Y2g8PWkucGF0Y2gpe3JldHVybiBfYWNjZXB0KGUpfXJldHVybiBfcmVqZWN0KGUpfWlmKG8ubWlub3I8PWkubWlub3Ipe3JldHVybiBfYWNjZXB0KGUpfXJldHVybiBfcmVqZWN0KGUpfX10Ll9tYWtlQ29tcGF0aWJpbGl0eUNoZWNrPV9tYWtlQ29tcGF0aWJpbGl0eUNoZWNrO3QuaXNDb21wYXRpYmxlPV9tYWtlQ29tcGF0aWJpbGl0eUNoZWNrKG4uVkVSU0lPTil9LDg4NjooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0Lm1ldHJpY3M9dm9pZCAwO2NvbnN0IG49cig2NTMpO3QubWV0cmljcz1uLk1ldHJpY3NBUEkuZ2V0SW5zdGFuY2UoKX0sOTAxOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LlZhbHVlVHlwZT12b2lkIDA7dmFyIHI7KGZ1bmN0aW9uKGUpe2VbZVtcIklOVFwiXT0wXT1cIklOVFwiO2VbZVtcIkRPVUJMRVwiXT0xXT1cIkRPVUJMRVwifSkocj10LlZhbHVlVHlwZXx8KHQuVmFsdWVUeXBlPXt9KSl9LDEwMjooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5jcmVhdGVOb29wTWV0ZXI9dC5OT09QX09CU0VSVkFCTEVfVVBfRE9XTl9DT1VOVEVSX01FVFJJQz10Lk5PT1BfT0JTRVJWQUJMRV9HQVVHRV9NRVRSSUM9dC5OT09QX09CU0VSVkFCTEVfQ09VTlRFUl9NRVRSSUM9dC5OT09QX1VQX0RPV05fQ09VTlRFUl9NRVRSSUM9dC5OT09QX0hJU1RPR1JBTV9NRVRSSUM9dC5OT09QX0NPVU5URVJfTUVUUklDPXQuTk9PUF9NRVRFUj10Lk5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYz10Lk5vb3BPYnNlcnZhYmxlR2F1Z2VNZXRyaWM9dC5Ob29wT2JzZXJ2YWJsZUNvdW50ZXJNZXRyaWM9dC5Ob29wT2JzZXJ2YWJsZU1ldHJpYz10Lk5vb3BIaXN0b2dyYW1NZXRyaWM9dC5Ob29wVXBEb3duQ291bnRlck1ldHJpYz10Lk5vb3BDb3VudGVyTWV0cmljPXQuTm9vcE1ldHJpYz10Lk5vb3BNZXRlcj12b2lkIDA7Y2xhc3MgTm9vcE1ldGVye2NvbnN0cnVjdG9yKCl7fWNyZWF0ZUhpc3RvZ3JhbShlLHIpe3JldHVybiB0Lk5PT1BfSElTVE9HUkFNX01FVFJJQ31jcmVhdGVDb3VudGVyKGUscil7cmV0dXJuIHQuTk9PUF9DT1VOVEVSX01FVFJJQ31jcmVhdGVVcERvd25Db3VudGVyKGUscil7cmV0dXJuIHQuTk9PUF9VUF9ET1dOX0NPVU5URVJfTUVUUklDfWNyZWF0ZU9ic2VydmFibGVHYXVnZShlLHIpe3JldHVybiB0Lk5PT1BfT0JTRVJWQUJMRV9HQVVHRV9NRVRSSUN9Y3JlYXRlT2JzZXJ2YWJsZUNvdW50ZXIoZSxyKXtyZXR1cm4gdC5OT09QX09CU0VSVkFCTEVfQ09VTlRFUl9NRVRSSUN9Y3JlYXRlT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXIoZSxyKXtyZXR1cm4gdC5OT09QX09CU0VSVkFCTEVfVVBfRE9XTl9DT1VOVEVSX01FVFJJQ31hZGRCYXRjaE9ic2VydmFibGVDYWxsYmFjayhlLHQpe31yZW1vdmVCYXRjaE9ic2VydmFibGVDYWxsYmFjayhlKXt9fXQuTm9vcE1ldGVyPU5vb3BNZXRlcjtjbGFzcyBOb29wTWV0cmlje310Lk5vb3BNZXRyaWM9Tm9vcE1ldHJpYztjbGFzcyBOb29wQ291bnRlck1ldHJpYyBleHRlbmRzIE5vb3BNZXRyaWN7YWRkKGUsdCl7fX10Lk5vb3BDb3VudGVyTWV0cmljPU5vb3BDb3VudGVyTWV0cmljO2NsYXNzIE5vb3BVcERvd25Db3VudGVyTWV0cmljIGV4dGVuZHMgTm9vcE1ldHJpY3thZGQoZSx0KXt9fXQuTm9vcFVwRG93bkNvdW50ZXJNZXRyaWM9Tm9vcFVwRG93bkNvdW50ZXJNZXRyaWM7Y2xhc3MgTm9vcEhpc3RvZ3JhbU1ldHJpYyBleHRlbmRzIE5vb3BNZXRyaWN7cmVjb3JkKGUsdCl7fX10Lk5vb3BIaXN0b2dyYW1NZXRyaWM9Tm9vcEhpc3RvZ3JhbU1ldHJpYztjbGFzcyBOb29wT2JzZXJ2YWJsZU1ldHJpY3thZGRDYWxsYmFjayhlKXt9cmVtb3ZlQ2FsbGJhY2soZSl7fX10Lk5vb3BPYnNlcnZhYmxlTWV0cmljPU5vb3BPYnNlcnZhYmxlTWV0cmljO2NsYXNzIE5vb3BPYnNlcnZhYmxlQ291bnRlck1ldHJpYyBleHRlbmRzIE5vb3BPYnNlcnZhYmxlTWV0cmlje310Lk5vb3BPYnNlcnZhYmxlQ291bnRlck1ldHJpYz1Ob29wT2JzZXJ2YWJsZUNvdW50ZXJNZXRyaWM7Y2xhc3MgTm9vcE9ic2VydmFibGVHYXVnZU1ldHJpYyBleHRlbmRzIE5vb3BPYnNlcnZhYmxlTWV0cmlje310Lk5vb3BPYnNlcnZhYmxlR2F1Z2VNZXRyaWM9Tm9vcE9ic2VydmFibGVHYXVnZU1ldHJpYztjbGFzcyBOb29wT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXJNZXRyaWMgZXh0ZW5kcyBOb29wT2JzZXJ2YWJsZU1ldHJpY3t9dC5Ob29wT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXJNZXRyaWM9Tm9vcE9ic2VydmFibGVVcERvd25Db3VudGVyTWV0cmljO3QuTk9PUF9NRVRFUj1uZXcgTm9vcE1ldGVyO3QuTk9PUF9DT1VOVEVSX01FVFJJQz1uZXcgTm9vcENvdW50ZXJNZXRyaWM7dC5OT09QX0hJU1RPR1JBTV9NRVRSSUM9bmV3IE5vb3BIaXN0b2dyYW1NZXRyaWM7dC5OT09QX1VQX0RPV05fQ09VTlRFUl9NRVRSSUM9bmV3IE5vb3BVcERvd25Db3VudGVyTWV0cmljO3QuTk9PUF9PQlNFUlZBQkxFX0NPVU5URVJfTUVUUklDPW5ldyBOb29wT2JzZXJ2YWJsZUNvdW50ZXJNZXRyaWM7dC5OT09QX09CU0VSVkFCTEVfR0FVR0VfTUVUUklDPW5ldyBOb29wT2JzZXJ2YWJsZUdhdWdlTWV0cmljO3QuTk9PUF9PQlNFUlZBQkxFX1VQX0RPV05fQ09VTlRFUl9NRVRSSUM9bmV3IE5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYztmdW5jdGlvbiBjcmVhdGVOb29wTWV0ZXIoKXtyZXR1cm4gdC5OT09QX01FVEVSfXQuY3JlYXRlTm9vcE1ldGVyPWNyZWF0ZU5vb3BNZXRlcn0sNjYwOihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuTk9PUF9NRVRFUl9QUk9WSURFUj10Lk5vb3BNZXRlclByb3ZpZGVyPXZvaWQgMDtjb25zdCBuPXIoMTAyKTtjbGFzcyBOb29wTWV0ZXJQcm92aWRlcntnZXRNZXRlcihlLHQscil7cmV0dXJuIG4uTk9PUF9NRVRFUn19dC5Ob29wTWV0ZXJQcm92aWRlcj1Ob29wTWV0ZXJQcm92aWRlcjt0Lk5PT1BfTUVURVJfUFJPVklERVI9bmV3IE5vb3BNZXRlclByb3ZpZGVyfSwyMDA6ZnVuY3Rpb24oZSx0LHIpe3ZhciBuPXRoaXMmJnRoaXMuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihlLHQscixuKXtpZihuPT09dW5kZWZpbmVkKW49cjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbcl19fSl9OmZ1bmN0aW9uKGUsdCxyLG4pe2lmKG49PT11bmRlZmluZWQpbj1yO2Vbbl09dFtyXX0pO3ZhciBhPXRoaXMmJnRoaXMuX19leHBvcnRTdGFyfHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiBlKWlmKHIhPT1cImRlZmF1bHRcIiYmIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpKW4odCxlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO2Eocig0NiksdCl9LDY1MTooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5fZ2xvYmFsVGhpcz12b2lkIDA7dC5fZ2xvYmFsVGhpcz10eXBlb2YgZ2xvYmFsVGhpcz09PVwib2JqZWN0XCI/Z2xvYmFsVGhpczpnbG9iYWx9LDQ2OmZ1bmN0aW9uKGUsdCxyKXt2YXIgbj10aGlzJiZ0aGlzLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/ZnVuY3Rpb24oZSx0LHIsbil7aWYobj09PXVuZGVmaW5lZCluPXI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB0W3JdfX0pfTpmdW5jdGlvbihlLHQscixuKXtpZihuPT09dW5kZWZpbmVkKW49cjtlW25dPXRbcl19KTt2YXIgYT10aGlzJiZ0aGlzLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gZSlpZihyIT09XCJkZWZhdWx0XCImJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSluKHQsZSxyKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTthKHIoNjUxKSx0KX0sOTM5OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QucHJvcGFnYXRpb249dm9pZCAwO2NvbnN0IG49cigxODEpO3QucHJvcGFnYXRpb249bi5Qcm9wYWdhdGlvbkFQSS5nZXRJbnN0YW5jZSgpfSw4NzQ6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuTm9vcFRleHRNYXBQcm9wYWdhdG9yPXZvaWQgMDtjbGFzcyBOb29wVGV4dE1hcFByb3BhZ2F0b3J7aW5qZWN0KGUsdCl7fWV4dHJhY3QoZSx0KXtyZXR1cm4gZX1maWVsZHMoKXtyZXR1cm5bXX19dC5Ob29wVGV4dE1hcFByb3BhZ2F0b3I9Tm9vcFRleHRNYXBQcm9wYWdhdG9yfSwxOTQ6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuZGVmYXVsdFRleHRNYXBTZXR0ZXI9dC5kZWZhdWx0VGV4dE1hcEdldHRlcj12b2lkIDA7dC5kZWZhdWx0VGV4dE1hcEdldHRlcj17Z2V0KGUsdCl7aWYoZT09bnVsbCl7cmV0dXJuIHVuZGVmaW5lZH1yZXR1cm4gZVt0XX0sa2V5cyhlKXtpZihlPT1udWxsKXtyZXR1cm5bXX1yZXR1cm4gT2JqZWN0LmtleXMoZSl9fTt0LmRlZmF1bHRUZXh0TWFwU2V0dGVyPXtzZXQoZSx0LHIpe2lmKGU9PW51bGwpe3JldHVybn1lW3RdPXJ9fX0sODQ1OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QudHJhY2U9dm9pZCAwO2NvbnN0IG49cig5OTcpO3QudHJhY2U9bi5UcmFjZUFQSS5nZXRJbnN0YW5jZSgpfSw0MDM6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5Ob25SZWNvcmRpbmdTcGFuPXZvaWQgMDtjb25zdCBuPXIoNDc2KTtjbGFzcyBOb25SZWNvcmRpbmdTcGFue2NvbnN0cnVjdG9yKGU9bi5JTlZBTElEX1NQQU5fQ09OVEVYVCl7dGhpcy5fc3BhbkNvbnRleHQ9ZX1zcGFuQ29udGV4dCgpe3JldHVybiB0aGlzLl9zcGFuQ29udGV4dH1zZXRBdHRyaWJ1dGUoZSx0KXtyZXR1cm4gdGhpc31zZXRBdHRyaWJ1dGVzKGUpe3JldHVybiB0aGlzfWFkZEV2ZW50KGUsdCl7cmV0dXJuIHRoaXN9c2V0U3RhdHVzKGUpe3JldHVybiB0aGlzfXVwZGF0ZU5hbWUoZSl7cmV0dXJuIHRoaXN9ZW5kKGUpe31pc1JlY29yZGluZygpe3JldHVybiBmYWxzZX1yZWNvcmRFeGNlcHRpb24oZSx0KXt9fXQuTm9uUmVjb3JkaW5nU3Bhbj1Ob25SZWNvcmRpbmdTcGFufSw2MTQ6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5Ob29wVHJhY2VyPXZvaWQgMDtjb25zdCBuPXIoNDkxKTtjb25zdCBhPXIoNjA3KTtjb25zdCBvPXIoNDAzKTtjb25zdCBpPXIoMTM5KTtjb25zdCBjPW4uQ29udGV4dEFQSS5nZXRJbnN0YW5jZSgpO2NsYXNzIE5vb3BUcmFjZXJ7c3RhcnRTcGFuKGUsdCxyPWMuYWN0aXZlKCkpe2NvbnN0IG49Qm9vbGVhbih0PT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5yb290KTtpZihuKXtyZXR1cm4gbmV3IG8uTm9uUmVjb3JkaW5nU3Bhbn1jb25zdCBzPXImJigwLGEuZ2V0U3BhbkNvbnRleHQpKHIpO2lmKGlzU3BhbkNvbnRleHQocykmJigwLGkuaXNTcGFuQ29udGV4dFZhbGlkKShzKSl7cmV0dXJuIG5ldyBvLk5vblJlY29yZGluZ1NwYW4ocyl9ZWxzZXtyZXR1cm4gbmV3IG8uTm9uUmVjb3JkaW5nU3Bhbn19c3RhcnRBY3RpdmVTcGFuKGUsdCxyLG4pe2xldCBvO2xldCBpO2xldCBzO2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7cmV0dXJufWVsc2UgaWYoYXJndW1lbnRzLmxlbmd0aD09PTIpe3M9dH1lbHNlIGlmKGFyZ3VtZW50cy5sZW5ndGg9PT0zKXtvPXQ7cz1yfWVsc2V7bz10O2k9cjtzPW59Y29uc3QgdT1pIT09bnVsbCYmaSE9PXZvaWQgMD9pOmMuYWN0aXZlKCk7Y29uc3QgbD10aGlzLnN0YXJ0U3BhbihlLG8sdSk7Y29uc3QgZz0oMCxhLnNldFNwYW4pKHUsbCk7cmV0dXJuIGMud2l0aChnLHMsdW5kZWZpbmVkLGwpfX10Lk5vb3BUcmFjZXI9Tm9vcFRyYWNlcjtmdW5jdGlvbiBpc1NwYW5Db250ZXh0KGUpe3JldHVybiB0eXBlb2YgZT09PVwib2JqZWN0XCImJnR5cGVvZiBlW1wic3BhbklkXCJdPT09XCJzdHJpbmdcIiYmdHlwZW9mIGVbXCJ0cmFjZUlkXCJdPT09XCJzdHJpbmdcIiYmdHlwZW9mIGVbXCJ0cmFjZUZsYWdzXCJdPT09XCJudW1iZXJcIn19LDEyNDooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0Lk5vb3BUcmFjZXJQcm92aWRlcj12b2lkIDA7Y29uc3Qgbj1yKDYxNCk7Y2xhc3MgTm9vcFRyYWNlclByb3ZpZGVye2dldFRyYWNlcihlLHQscil7cmV0dXJuIG5ldyBuLk5vb3BUcmFjZXJ9fXQuTm9vcFRyYWNlclByb3ZpZGVyPU5vb3BUcmFjZXJQcm92aWRlcn0sMTI1OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuUHJveHlUcmFjZXI9dm9pZCAwO2NvbnN0IG49cig2MTQpO2NvbnN0IGE9bmV3IG4uTm9vcFRyYWNlcjtjbGFzcyBQcm94eVRyYWNlcntjb25zdHJ1Y3RvcihlLHQscixuKXt0aGlzLl9wcm92aWRlcj1lO3RoaXMubmFtZT10O3RoaXMudmVyc2lvbj1yO3RoaXMub3B0aW9ucz1ufXN0YXJ0U3BhbihlLHQscil7cmV0dXJuIHRoaXMuX2dldFRyYWNlcigpLnN0YXJ0U3BhbihlLHQscil9c3RhcnRBY3RpdmVTcGFuKGUsdCxyLG4pe2NvbnN0IGE9dGhpcy5fZ2V0VHJhY2VyKCk7cmV0dXJuIFJlZmxlY3QuYXBwbHkoYS5zdGFydEFjdGl2ZVNwYW4sYSxhcmd1bWVudHMpfV9nZXRUcmFjZXIoKXtpZih0aGlzLl9kZWxlZ2F0ZSl7cmV0dXJuIHRoaXMuX2RlbGVnYXRlfWNvbnN0IGU9dGhpcy5fcHJvdmlkZXIuZ2V0RGVsZWdhdGVUcmFjZXIodGhpcy5uYW1lLHRoaXMudmVyc2lvbix0aGlzLm9wdGlvbnMpO2lmKCFlKXtyZXR1cm4gYX10aGlzLl9kZWxlZ2F0ZT1lO3JldHVybiB0aGlzLl9kZWxlZ2F0ZX19dC5Qcm94eVRyYWNlcj1Qcm94eVRyYWNlcn0sODQ2OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuUHJveHlUcmFjZXJQcm92aWRlcj12b2lkIDA7Y29uc3Qgbj1yKDEyNSk7Y29uc3QgYT1yKDEyNCk7Y29uc3Qgbz1uZXcgYS5Ob29wVHJhY2VyUHJvdmlkZXI7Y2xhc3MgUHJveHlUcmFjZXJQcm92aWRlcntnZXRUcmFjZXIoZSx0LHIpe3ZhciBhO3JldHVybihhPXRoaXMuZ2V0RGVsZWdhdGVUcmFjZXIoZSx0LHIpKSE9PW51bGwmJmEhPT12b2lkIDA/YTpuZXcgbi5Qcm94eVRyYWNlcih0aGlzLGUsdCxyKX1nZXREZWxlZ2F0ZSgpe3ZhciBlO3JldHVybihlPXRoaXMuX2RlbGVnYXRlKSE9PW51bGwmJmUhPT12b2lkIDA/ZTpvfXNldERlbGVnYXRlKGUpe3RoaXMuX2RlbGVnYXRlPWV9Z2V0RGVsZWdhdGVUcmFjZXIoZSx0LHIpe3ZhciBuO3JldHVybihuPXRoaXMuX2RlbGVnYXRlKT09PW51bGx8fG49PT12b2lkIDA/dm9pZCAwOm4uZ2V0VHJhY2VyKGUsdCxyKX19dC5Qcm94eVRyYWNlclByb3ZpZGVyPVByb3h5VHJhY2VyUHJvdmlkZXJ9LDk5NjooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5TYW1wbGluZ0RlY2lzaW9uPXZvaWQgMDt2YXIgcjsoZnVuY3Rpb24oZSl7ZVtlW1wiTk9UX1JFQ09SRFwiXT0wXT1cIk5PVF9SRUNPUkRcIjtlW2VbXCJSRUNPUkRcIl09MV09XCJSRUNPUkRcIjtlW2VbXCJSRUNPUkRfQU5EX1NBTVBMRURcIl09Ml09XCJSRUNPUkRfQU5EX1NBTVBMRURcIn0pKHI9dC5TYW1wbGluZ0RlY2lzaW9ufHwodC5TYW1wbGluZ0RlY2lzaW9uPXt9KSl9LDYwNzooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LmdldFNwYW5Db250ZXh0PXQuc2V0U3BhbkNvbnRleHQ9dC5kZWxldGVTcGFuPXQuc2V0U3Bhbj10LmdldEFjdGl2ZVNwYW49dC5nZXRTcGFuPXZvaWQgMDtjb25zdCBuPXIoNzgwKTtjb25zdCBhPXIoNDAzKTtjb25zdCBvPXIoNDkxKTtjb25zdCBpPSgwLG4uY3JlYXRlQ29udGV4dEtleSkoXCJPcGVuVGVsZW1ldHJ5IENvbnRleHQgS2V5IFNQQU5cIik7ZnVuY3Rpb24gZ2V0U3BhbihlKXtyZXR1cm4gZS5nZXRWYWx1ZShpKXx8dW5kZWZpbmVkfXQuZ2V0U3Bhbj1nZXRTcGFuO2Z1bmN0aW9uIGdldEFjdGl2ZVNwYW4oKXtyZXR1cm4gZ2V0U3BhbihvLkNvbnRleHRBUEkuZ2V0SW5zdGFuY2UoKS5hY3RpdmUoKSl9dC5nZXRBY3RpdmVTcGFuPWdldEFjdGl2ZVNwYW47ZnVuY3Rpb24gc2V0U3BhbihlLHQpe3JldHVybiBlLnNldFZhbHVlKGksdCl9dC5zZXRTcGFuPXNldFNwYW47ZnVuY3Rpb24gZGVsZXRlU3BhbihlKXtyZXR1cm4gZS5kZWxldGVWYWx1ZShpKX10LmRlbGV0ZVNwYW49ZGVsZXRlU3BhbjtmdW5jdGlvbiBzZXRTcGFuQ29udGV4dChlLHQpe3JldHVybiBzZXRTcGFuKGUsbmV3IGEuTm9uUmVjb3JkaW5nU3Bhbih0KSl9dC5zZXRTcGFuQ29udGV4dD1zZXRTcGFuQ29udGV4dDtmdW5jdGlvbiBnZXRTcGFuQ29udGV4dChlKXt2YXIgdDtyZXR1cm4odD1nZXRTcGFuKGUpKT09PW51bGx8fHQ9PT12b2lkIDA/dm9pZCAwOnQuc3BhbkNvbnRleHQoKX10LmdldFNwYW5Db250ZXh0PWdldFNwYW5Db250ZXh0fSwzMjU6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5UcmFjZVN0YXRlSW1wbD12b2lkIDA7Y29uc3Qgbj1yKDU2NCk7Y29uc3QgYT0zMjtjb25zdCBvPTUxMjtjb25zdCBpPVwiLFwiO2NvbnN0IGM9XCI9XCI7Y2xhc3MgVHJhY2VTdGF0ZUltcGx7Y29uc3RydWN0b3IoZSl7dGhpcy5faW50ZXJuYWxTdGF0ZT1uZXcgTWFwO2lmKGUpdGhpcy5fcGFyc2UoZSl9c2V0KGUsdCl7Y29uc3Qgcj10aGlzLl9jbG9uZSgpO2lmKHIuX2ludGVybmFsU3RhdGUuaGFzKGUpKXtyLl9pbnRlcm5hbFN0YXRlLmRlbGV0ZShlKX1yLl9pbnRlcm5hbFN0YXRlLnNldChlLHQpO3JldHVybiByfXVuc2V0KGUpe2NvbnN0IHQ9dGhpcy5fY2xvbmUoKTt0Ll9pbnRlcm5hbFN0YXRlLmRlbGV0ZShlKTtyZXR1cm4gdH1nZXQoZSl7cmV0dXJuIHRoaXMuX2ludGVybmFsU3RhdGUuZ2V0KGUpfXNlcmlhbGl6ZSgpe3JldHVybiB0aGlzLl9rZXlzKCkucmVkdWNlKCgoZSx0KT0+e2UucHVzaCh0K2MrdGhpcy5nZXQodCkpO3JldHVybiBlfSksW10pLmpvaW4oaSl9X3BhcnNlKGUpe2lmKGUubGVuZ3RoPm8pcmV0dXJuO3RoaXMuX2ludGVybmFsU3RhdGU9ZS5zcGxpdChpKS5yZXZlcnNlKCkucmVkdWNlKCgoZSx0KT0+e2NvbnN0IHI9dC50cmltKCk7Y29uc3QgYT1yLmluZGV4T2YoYyk7aWYoYSE9PS0xKXtjb25zdCBvPXIuc2xpY2UoMCxhKTtjb25zdCBpPXIuc2xpY2UoYSsxLHQubGVuZ3RoKTtpZigoMCxuLnZhbGlkYXRlS2V5KShvKSYmKDAsbi52YWxpZGF0ZVZhbHVlKShpKSl7ZS5zZXQobyxpKX1lbHNle319cmV0dXJuIGV9KSxuZXcgTWFwKTtpZih0aGlzLl9pbnRlcm5hbFN0YXRlLnNpemU+YSl7dGhpcy5faW50ZXJuYWxTdGF0ZT1uZXcgTWFwKEFycmF5LmZyb20odGhpcy5faW50ZXJuYWxTdGF0ZS5lbnRyaWVzKCkpLnJldmVyc2UoKS5zbGljZSgwLGEpKX19X2tleXMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9pbnRlcm5hbFN0YXRlLmtleXMoKSkucmV2ZXJzZSgpfV9jbG9uZSgpe2NvbnN0IGU9bmV3IFRyYWNlU3RhdGVJbXBsO2UuX2ludGVybmFsU3RhdGU9bmV3IE1hcCh0aGlzLl9pbnRlcm5hbFN0YXRlKTtyZXR1cm4gZX19dC5UcmFjZVN0YXRlSW1wbD1UcmFjZVN0YXRlSW1wbH0sNTY0OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LnZhbGlkYXRlVmFsdWU9dC52YWxpZGF0ZUtleT12b2lkIDA7Y29uc3Qgcj1cIltfMC05YS16LSovXVwiO2NvbnN0IG49YFthLXpdJHtyfXswLDI1NX1gO2NvbnN0IGE9YFthLXowLTldJHtyfXswLDI0MH1AW2Etel0ke3J9ezAsMTN9YDtjb25zdCBvPW5ldyBSZWdFeHAoYF4oPzoke259fCR7YX0pJGApO2NvbnN0IGk9L15bIC1+XXswLDI1NX1bIS1+XSQvO2NvbnN0IGM9Lyx8PS87ZnVuY3Rpb24gdmFsaWRhdGVLZXkoZSl7cmV0dXJuIG8udGVzdChlKX10LnZhbGlkYXRlS2V5PXZhbGlkYXRlS2V5O2Z1bmN0aW9uIHZhbGlkYXRlVmFsdWUoZSl7cmV0dXJuIGkudGVzdChlKSYmIWMudGVzdChlKX10LnZhbGlkYXRlVmFsdWU9dmFsaWRhdGVWYWx1ZX0sOTg6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5jcmVhdGVUcmFjZVN0YXRlPXZvaWQgMDtjb25zdCBuPXIoMzI1KTtmdW5jdGlvbiBjcmVhdGVUcmFjZVN0YXRlKGUpe3JldHVybiBuZXcgbi5UcmFjZVN0YXRlSW1wbChlKX10LmNyZWF0ZVRyYWNlU3RhdGU9Y3JlYXRlVHJhY2VTdGF0ZX0sNDc2OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuSU5WQUxJRF9TUEFOX0NPTlRFWFQ9dC5JTlZBTElEX1RSQUNFSUQ9dC5JTlZBTElEX1NQQU5JRD12b2lkIDA7Y29uc3Qgbj1yKDQ3NSk7dC5JTlZBTElEX1NQQU5JRD1cIjAwMDAwMDAwMDAwMDAwMDBcIjt0LklOVkFMSURfVFJBQ0VJRD1cIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwXCI7dC5JTlZBTElEX1NQQU5fQ09OVEVYVD17dHJhY2VJZDp0LklOVkFMSURfVFJBQ0VJRCxzcGFuSWQ6dC5JTlZBTElEX1NQQU5JRCx0cmFjZUZsYWdzOm4uVHJhY2VGbGFncy5OT05FfX0sMzU3OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LlNwYW5LaW5kPXZvaWQgMDt2YXIgcjsoZnVuY3Rpb24oZSl7ZVtlW1wiSU5URVJOQUxcIl09MF09XCJJTlRFUk5BTFwiO2VbZVtcIlNFUlZFUlwiXT0xXT1cIlNFUlZFUlwiO2VbZVtcIkNMSUVOVFwiXT0yXT1cIkNMSUVOVFwiO2VbZVtcIlBST0RVQ0VSXCJdPTNdPVwiUFJPRFVDRVJcIjtlW2VbXCJDT05TVU1FUlwiXT00XT1cIkNPTlNVTUVSXCJ9KShyPXQuU3BhbktpbmR8fCh0LlNwYW5LaW5kPXt9KSl9LDEzOTooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LndyYXBTcGFuQ29udGV4dD10LmlzU3BhbkNvbnRleHRWYWxpZD10LmlzVmFsaWRTcGFuSWQ9dC5pc1ZhbGlkVHJhY2VJZD12b2lkIDA7Y29uc3Qgbj1yKDQ3Nik7Y29uc3QgYT1yKDQwMyk7Y29uc3Qgbz0vXihbMC05YS1mXXszMn0pJC9pO2NvbnN0IGk9L15bMC05YS1mXXsxNn0kL2k7ZnVuY3Rpb24gaXNWYWxpZFRyYWNlSWQoZSl7cmV0dXJuIG8udGVzdChlKSYmZSE9PW4uSU5WQUxJRF9UUkFDRUlEfXQuaXNWYWxpZFRyYWNlSWQ9aXNWYWxpZFRyYWNlSWQ7ZnVuY3Rpb24gaXNWYWxpZFNwYW5JZChlKXtyZXR1cm4gaS50ZXN0KGUpJiZlIT09bi5JTlZBTElEX1NQQU5JRH10LmlzVmFsaWRTcGFuSWQ9aXNWYWxpZFNwYW5JZDtmdW5jdGlvbiBpc1NwYW5Db250ZXh0VmFsaWQoZSl7cmV0dXJuIGlzVmFsaWRUcmFjZUlkKGUudHJhY2VJZCkmJmlzVmFsaWRTcGFuSWQoZS5zcGFuSWQpfXQuaXNTcGFuQ29udGV4dFZhbGlkPWlzU3BhbkNvbnRleHRWYWxpZDtmdW5jdGlvbiB3cmFwU3BhbkNvbnRleHQoZSl7cmV0dXJuIG5ldyBhLk5vblJlY29yZGluZ1NwYW4oZSl9dC53cmFwU3BhbkNvbnRleHQ9d3JhcFNwYW5Db250ZXh0fSw4NDc6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuU3BhblN0YXR1c0NvZGU9dm9pZCAwO3ZhciByOyhmdW5jdGlvbihlKXtlW2VbXCJVTlNFVFwiXT0wXT1cIlVOU0VUXCI7ZVtlW1wiT0tcIl09MV09XCJPS1wiO2VbZVtcIkVSUk9SXCJdPTJdPVwiRVJST1JcIn0pKHI9dC5TcGFuU3RhdHVzQ29kZXx8KHQuU3BhblN0YXR1c0NvZGU9e30pKX0sNDc1OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LlRyYWNlRmxhZ3M9dm9pZCAwO3ZhciByOyhmdW5jdGlvbihlKXtlW2VbXCJOT05FXCJdPTBdPVwiTk9ORVwiO2VbZVtcIlNBTVBMRURcIl09MV09XCJTQU1QTEVEXCJ9KShyPXQuVHJhY2VGbGFnc3x8KHQuVHJhY2VGbGFncz17fSkpfSw1MjE6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuVkVSU0lPTj12b2lkIDA7dC5WRVJTSU9OPVwiMS42LjBcIn19O3ZhciB0PXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18ocil7dmFyIG49dFtyXTtpZihuIT09dW5kZWZpbmVkKXtyZXR1cm4gbi5leHBvcnRzfXZhciBhPXRbcl09e2V4cG9ydHM6e319O3ZhciBvPXRydWU7dHJ5e2Vbcl0uY2FsbChhLmV4cG9ydHMsYSxhLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7bz1mYWxzZX1maW5hbGx5e2lmKG8pZGVsZXRlIHRbcl19cmV0dXJuIGEuZXhwb3J0c31pZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIHI9e307KCgpPT57dmFyIGU9cjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO2UudHJhY2U9ZS5wcm9wYWdhdGlvbj1lLm1ldHJpY3M9ZS5kaWFnPWUuY29udGV4dD1lLklOVkFMSURfU1BBTl9DT05URVhUPWUuSU5WQUxJRF9UUkFDRUlEPWUuSU5WQUxJRF9TUEFOSUQ9ZS5pc1ZhbGlkU3BhbklkPWUuaXNWYWxpZFRyYWNlSWQ9ZS5pc1NwYW5Db250ZXh0VmFsaWQ9ZS5jcmVhdGVUcmFjZVN0YXRlPWUuVHJhY2VGbGFncz1lLlNwYW5TdGF0dXNDb2RlPWUuU3BhbktpbmQ9ZS5TYW1wbGluZ0RlY2lzaW9uPWUuUHJveHlUcmFjZXJQcm92aWRlcj1lLlByb3h5VHJhY2VyPWUuZGVmYXVsdFRleHRNYXBTZXR0ZXI9ZS5kZWZhdWx0VGV4dE1hcEdldHRlcj1lLlZhbHVlVHlwZT1lLmNyZWF0ZU5vb3BNZXRlcj1lLkRpYWdMb2dMZXZlbD1lLkRpYWdDb25zb2xlTG9nZ2VyPWUuUk9PVF9DT05URVhUPWUuY3JlYXRlQ29udGV4dEtleT1lLmJhZ2dhZ2VFbnRyeU1ldGFkYXRhRnJvbVN0cmluZz12b2lkIDA7dmFyIHQ9X19uY2N3cGNrX3JlcXVpcmVfXygzNjkpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiYmFnZ2FnZUVudHJ5TWV0YWRhdGFGcm9tU3RyaW5nXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC5iYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmd9fSk7dmFyIG49X19uY2N3cGNrX3JlcXVpcmVfXyg3ODApO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiY3JlYXRlQ29udGV4dEtleVwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG4uY3JlYXRlQ29udGV4dEtleX19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIlJPT1RfQ09OVEVYVFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG4uUk9PVF9DT05URVhUfX0pO3ZhciBhPV9fbmNjd3Bja19yZXF1aXJlX18oOTcyKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIkRpYWdDb25zb2xlTG9nZ2VyXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYS5EaWFnQ29uc29sZUxvZ2dlcn19KTt2YXIgbz1fX25jY3dwY2tfcmVxdWlyZV9fKDk1Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJEaWFnTG9nTGV2ZWxcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBvLkRpYWdMb2dMZXZlbH19KTt2YXIgaT1fX25jY3dwY2tfcmVxdWlyZV9fKDEwMik7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJjcmVhdGVOb29wTWV0ZXJcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBpLmNyZWF0ZU5vb3BNZXRlcn19KTt2YXIgYz1fX25jY3dwY2tfcmVxdWlyZV9fKDkwMSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJWYWx1ZVR5cGVcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBjLlZhbHVlVHlwZX19KTt2YXIgcz1fX25jY3dwY2tfcmVxdWlyZV9fKDE5NCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJkZWZhdWx0VGV4dE1hcEdldHRlclwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHMuZGVmYXVsdFRleHRNYXBHZXR0ZXJ9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJkZWZhdWx0VGV4dE1hcFNldHRlclwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHMuZGVmYXVsdFRleHRNYXBTZXR0ZXJ9fSk7dmFyIHU9X19uY2N3cGNrX3JlcXVpcmVfXygxMjUpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiUHJveHlUcmFjZXJcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB1LlByb3h5VHJhY2VyfX0pO3ZhciBsPV9fbmNjd3Bja19yZXF1aXJlX18oODQ2KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIlByb3h5VHJhY2VyUHJvdmlkZXJcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBsLlByb3h5VHJhY2VyUHJvdmlkZXJ9fSk7dmFyIGc9X19uY2N3cGNrX3JlcXVpcmVfXyg5OTYpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiU2FtcGxpbmdEZWNpc2lvblwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGcuU2FtcGxpbmdEZWNpc2lvbn19KTt2YXIgcD1fX25jY3dwY2tfcmVxdWlyZV9fKDM1Nyk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJTcGFuS2luZFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHAuU3BhbktpbmR9fSk7dmFyIGQ9X19uY2N3cGNrX3JlcXVpcmVfXyg4NDcpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiU3BhblN0YXR1c0NvZGVcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBkLlNwYW5TdGF0dXNDb2RlfX0pO3ZhciBfPV9fbmNjd3Bja19yZXF1aXJlX18oNDc1KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIlRyYWNlRmxhZ3NcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBfLlRyYWNlRmxhZ3N9fSk7dmFyIGY9X19uY2N3cGNrX3JlcXVpcmVfXyg5OCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJjcmVhdGVUcmFjZVN0YXRlXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZi5jcmVhdGVUcmFjZVN0YXRlfX0pO3ZhciBiPV9fbmNjd3Bja19yZXF1aXJlX18oMTM5KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcImlzU3BhbkNvbnRleHRWYWxpZFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGIuaXNTcGFuQ29udGV4dFZhbGlkfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiaXNWYWxpZFRyYWNlSWRcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBiLmlzVmFsaWRUcmFjZUlkfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiaXNWYWxpZFNwYW5JZFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGIuaXNWYWxpZFNwYW5JZH19KTt2YXIgdj1fX25jY3dwY2tfcmVxdWlyZV9fKDQ3Nik7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJJTlZBTElEX1NQQU5JRFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHYuSU5WQUxJRF9TUEFOSUR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJJTlZBTElEX1RSQUNFSURcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB2LklOVkFMSURfVFJBQ0VJRH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIklOVkFMSURfU1BBTl9DT05URVhUXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdi5JTlZBTElEX1NQQU5fQ09OVEVYVH19KTtjb25zdCBPPV9fbmNjd3Bja19yZXF1aXJlX18oNjcpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiY29udGV4dFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE8uY29udGV4dH19KTtjb25zdCBQPV9fbmNjd3Bja19yZXF1aXJlX18oNTA2KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcImRpYWdcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBQLmRpYWd9fSk7Y29uc3QgTj1fX25jY3dwY2tfcmVxdWlyZV9fKDg4Nik7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJtZXRyaWNzXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gTi5tZXRyaWNzfX0pO2NvbnN0IFM9X19uY2N3cGNrX3JlcXVpcmVfXyg5MzkpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwicHJvcGFnYXRpb25cIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBTLnByb3BhZ2F0aW9ufX0pO2NvbnN0IEM9X19uY2N3cGNrX3JlcXVpcmVfXyg4NDUpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwidHJhY2VcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBDLnRyYWNlfX0pO2VbXCJkZWZhdWx0XCJdPXtjb250ZXh0Ok8uY29udGV4dCxkaWFnOlAuZGlhZyxtZXRyaWNzOk4ubWV0cmljcyxwcm9wYWdhdGlvbjpTLnByb3BhZ2F0aW9uLHRyYWNlOkMudHJhY2V9fSkoKTttb2R1bGUuZXhwb3J0cz1yfSkoKTsiXSwibmFtZXMiOlsiZSIsInQiLCJyIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsIkNvbnRleHRBUEkiLCJuIiwiYSIsIm8iLCJpIiwiYyIsIk5vb3BDb250ZXh0TWFuYWdlciIsImNvbnN0cnVjdG9yIiwiZ2V0SW5zdGFuY2UiLCJfaW5zdGFuY2UiLCJzZXRHbG9iYWxDb250ZXh0TWFuYWdlciIsInJlZ2lzdGVyR2xvYmFsIiwiRGlhZ0FQSSIsImluc3RhbmNlIiwiYWN0aXZlIiwiX2dldENvbnRleHRNYW5hZ2VyIiwid2l0aCIsImJpbmQiLCJnZXRHbG9iYWwiLCJkaXNhYmxlIiwidW5yZWdpc3Rlckdsb2JhbCIsIl9sb2dQcm94eSIsInNldExvZ2dlciIsImxvZ0xldmVsIiwiRGlhZ0xvZ0xldmVsIiwiSU5GTyIsInMiLCJFcnJvciIsImVycm9yIiwic3RhY2siLCJtZXNzYWdlIiwidSIsImwiLCJjcmVhdGVMb2dMZXZlbERpYWdMb2dnZXIiLCJzdXBwcmVzc092ZXJyaWRlTWVzc2FnZSIsIndhcm4iLCJjcmVhdGVDb21wb25lbnRMb2dnZXIiLCJEaWFnQ29tcG9uZW50TG9nZ2VyIiwidmVyYm9zZSIsImRlYnVnIiwiaW5mbyIsIk1ldHJpY3NBUEkiLCJzZXRHbG9iYWxNZXRlclByb3ZpZGVyIiwiZ2V0TWV0ZXJQcm92aWRlciIsIk5PT1BfTUVURVJfUFJPVklERVIiLCJnZXRNZXRlciIsIlByb3BhZ2F0aW9uQVBJIiwiTm9vcFRleHRNYXBQcm9wYWdhdG9yIiwiY3JlYXRlQmFnZ2FnZSIsImdldEJhZ2dhZ2UiLCJnZXRBY3RpdmVCYWdnYWdlIiwic2V0QmFnZ2FnZSIsImRlbGV0ZUJhZ2dhZ2UiLCJzZXRHbG9iYWxQcm9wYWdhdG9yIiwiaW5qZWN0IiwiZGVmYXVsdFRleHRNYXBTZXR0ZXIiLCJfZ2V0R2xvYmFsUHJvcGFnYXRvciIsImV4dHJhY3QiLCJkZWZhdWx0VGV4dE1hcEdldHRlciIsImZpZWxkcyIsIlRyYWNlQVBJIiwiX3Byb3h5VHJhY2VyUHJvdmlkZXIiLCJQcm94eVRyYWNlclByb3ZpZGVyIiwid3JhcFNwYW5Db250ZXh0IiwiaXNTcGFuQ29udGV4dFZhbGlkIiwiZGVsZXRlU3BhbiIsImdldFNwYW4iLCJnZXRBY3RpdmVTcGFuIiwiZ2V0U3BhbkNvbnRleHQiLCJzZXRTcGFuIiwic2V0U3BhbkNvbnRleHQiLCJzZXRHbG9iYWxUcmFjZXJQcm92aWRlciIsInNldERlbGVnYXRlIiwiZ2V0VHJhY2VyUHJvdmlkZXIiLCJnZXRUcmFjZXIiLCJjcmVhdGVDb250ZXh0S2V5IiwiZ2V0VmFsdWUiLCJ1bmRlZmluZWQiLCJzZXRWYWx1ZSIsImRlbGV0ZVZhbHVlIiwiQmFnZ2FnZUltcGwiLCJfZW50cmllcyIsIk1hcCIsImdldEVudHJ5IiwiZ2V0IiwiYXNzaWduIiwiZ2V0QWxsRW50cmllcyIsIkFycmF5IiwiZnJvbSIsImVudHJpZXMiLCJtYXAiLCJzZXRFbnRyeSIsInNldCIsInJlbW92ZUVudHJ5IiwiZGVsZXRlIiwicmVtb3ZlRW50cmllcyIsImNsZWFyIiwiYmFnZ2FnZUVudHJ5TWV0YWRhdGFTeW1ib2wiLCJTeW1ib2wiLCJiYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmciLCJfX1RZUEVfXyIsInRvU3RyaW5nIiwiY29udGV4dCIsIlJPT1RfQ09OVEVYVCIsImNhbGwiLCJlbmFibGUiLCJmb3IiLCJCYXNlQ29udGV4dCIsIl9jdXJyZW50Q29udGV4dCIsImRpYWciLCJfbmFtZXNwYWNlIiwibmFtZXNwYWNlIiwibG9nUHJveHkiLCJ1bnNoaWZ0IiwiRGlhZ0NvbnNvbGVMb2dnZXIiLCJfY29uc29sZUZ1bmMiLCJjb25zb2xlIiwibG9nIiwiYXBwbHkiLCJsZW5ndGgiLCJOT05FIiwiQUxMIiwiX2ZpbHRlckZ1bmMiLCJFUlJPUiIsIldBUk4iLCJERUJVRyIsIlZFUkJPU0UiLCJWRVJTSU9OIiwic3BsaXQiLCJfZ2xvYmFsVGhpcyIsInZlcnNpb24iLCJpc0NvbXBhdGlibGUiLCJfbWFrZUNvbXBhdGliaWxpdHlDaGVjayIsIlNldCIsIm1hdGNoIiwibWFqb3IiLCJtaW5vciIsInBhdGNoIiwicHJlcmVsZWFzZSIsImlzRXhhY3RtYXRjaCIsIl9yZWplY3QiLCJhZGQiLCJfYWNjZXB0IiwiaGFzIiwibWV0cmljcyIsIlZhbHVlVHlwZSIsImNyZWF0ZU5vb3BNZXRlciIsIk5PT1BfT0JTRVJWQUJMRV9VUF9ET1dOX0NPVU5URVJfTUVUUklDIiwiTk9PUF9PQlNFUlZBQkxFX0dBVUdFX01FVFJJQyIsIk5PT1BfT0JTRVJWQUJMRV9DT1VOVEVSX01FVFJJQyIsIk5PT1BfVVBfRE9XTl9DT1VOVEVSX01FVFJJQyIsIk5PT1BfSElTVE9HUkFNX01FVFJJQyIsIk5PT1BfQ09VTlRFUl9NRVRSSUMiLCJOT09QX01FVEVSIiwiTm9vcE9ic2VydmFibGVVcERvd25Db3VudGVyTWV0cmljIiwiTm9vcE9ic2VydmFibGVHYXVnZU1ldHJpYyIsIk5vb3BPYnNlcnZhYmxlQ291bnRlck1ldHJpYyIsIk5vb3BPYnNlcnZhYmxlTWV0cmljIiwiTm9vcEhpc3RvZ3JhbU1ldHJpYyIsIk5vb3BVcERvd25Db3VudGVyTWV0cmljIiwiTm9vcENvdW50ZXJNZXRyaWMiLCJOb29wTWV0cmljIiwiTm9vcE1ldGVyIiwiY3JlYXRlSGlzdG9ncmFtIiwiY3JlYXRlQ291bnRlciIsImNyZWF0ZVVwRG93bkNvdW50ZXIiLCJjcmVhdGVPYnNlcnZhYmxlR2F1Z2UiLCJjcmVhdGVPYnNlcnZhYmxlQ291bnRlciIsImNyZWF0ZU9ic2VydmFibGVVcERvd25Db3VudGVyIiwiYWRkQmF0Y2hPYnNlcnZhYmxlQ2FsbGJhY2siLCJyZW1vdmVCYXRjaE9ic2VydmFibGVDYWxsYmFjayIsInJlY29yZCIsImFkZENhbGxiYWNrIiwicmVtb3ZlQ2FsbGJhY2siLCJOb29wTWV0ZXJQcm92aWRlciIsIl9fY3JlYXRlQmluZGluZyIsImNyZWF0ZSIsImVudW1lcmFibGUiLCJfX2V4cG9ydFN0YXIiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImdsb2JhbFRoaXMiLCJnbG9iYWwiLCJwcm9wYWdhdGlvbiIsImtleXMiLCJ0cmFjZSIsIk5vblJlY29yZGluZ1NwYW4iLCJJTlZBTElEX1NQQU5fQ09OVEVYVCIsIl9zcGFuQ29udGV4dCIsInNwYW5Db250ZXh0Iiwic2V0QXR0cmlidXRlIiwic2V0QXR0cmlidXRlcyIsImFkZEV2ZW50Iiwic2V0U3RhdHVzIiwidXBkYXRlTmFtZSIsImVuZCIsImlzUmVjb3JkaW5nIiwicmVjb3JkRXhjZXB0aW9uIiwiTm9vcFRyYWNlciIsInN0YXJ0U3BhbiIsIkJvb2xlYW4iLCJyb290IiwiaXNTcGFuQ29udGV4dCIsInN0YXJ0QWN0aXZlU3BhbiIsImFyZ3VtZW50cyIsImciLCJOb29wVHJhY2VyUHJvdmlkZXIiLCJQcm94eVRyYWNlciIsIl9wcm92aWRlciIsIm5hbWUiLCJvcHRpb25zIiwiX2dldFRyYWNlciIsIlJlZmxlY3QiLCJfZGVsZWdhdGUiLCJnZXREZWxlZ2F0ZVRyYWNlciIsImdldERlbGVnYXRlIiwiU2FtcGxpbmdEZWNpc2lvbiIsIlRyYWNlU3RhdGVJbXBsIiwiX2ludGVybmFsU3RhdGUiLCJfcGFyc2UiLCJfY2xvbmUiLCJ1bnNldCIsInNlcmlhbGl6ZSIsIl9rZXlzIiwicmVkdWNlIiwicHVzaCIsImpvaW4iLCJyZXZlcnNlIiwidHJpbSIsImluZGV4T2YiLCJzbGljZSIsInZhbGlkYXRlS2V5IiwidmFsaWRhdGVWYWx1ZSIsInNpemUiLCJSZWdFeHAiLCJ0ZXN0IiwiY3JlYXRlVHJhY2VTdGF0ZSIsIklOVkFMSURfVFJBQ0VJRCIsIklOVkFMSURfU1BBTklEIiwidHJhY2VJZCIsInNwYW5JZCIsInRyYWNlRmxhZ3MiLCJUcmFjZUZsYWdzIiwiU3BhbktpbmQiLCJpc1ZhbGlkU3BhbklkIiwiaXNWYWxpZFRyYWNlSWQiLCJTcGFuU3RhdHVzQ29kZSIsIl9fbmNjd3Bja19yZXF1aXJlX18iLCJleHBvcnRzIiwiYWIiLCJfX2Rpcm5hbWUiLCJwIiwiZCIsIl8iLCJmIiwiYiIsInYiLCJPIiwiUCIsIk4iLCJTIiwiQyIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js": /*!**************************************************************************************************************************!*\ !*** ./node_modules/next/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js ***! \**************************************************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("/**\n * @license React\n * react-server-dom-webpack-client.edge.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\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 */ \nif (true) {\n (function() {\n \"use strict\";\n var ReactDOM = __webpack_require__(/*! react-dom */ \"(action-browser)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js\");\n var React = __webpack_require__(/*! react */ \"(action-browser)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\");\n // -----------------------------------------------------------------------------\n var enableBinaryFlight = false;\n function createStringDecoder() {\n return new TextDecoder();\n }\n var decoderOptions = {\n stream: true\n };\n function readPartialStringChunk(decoder, buffer) {\n return decoder.decode(buffer, decoderOptions);\n }\n function readFinalStringChunk(decoder, buffer) {\n return decoder.decode(buffer);\n }\n // This is the parsed shape of the wire format which is why it is\n // condensed to only the essentialy information\n var ID = 0;\n var CHUNKS = 1;\n var NAME = 2; // export const ASYNC = 3;\n // This logic is correct because currently only include the 4th tuple member\n // when the module is async. If that changes we will need to actually assert\n // the value is true. We don't index into the 4th slot because flow does not\n // like the potential out of bounds access\n function isAsyncImport(metadata) {\n return metadata.length === 4;\n }\n // The reason this function needs to defined here in this file instead of just\n // being exported directly from the WebpackDestination... file is because the\n // ClientReferenceMetadata is opaque and we can't unwrap it there.\n // This should get inlined and we could also just implement an unwrapping function\n // though that risks it getting used in places it shouldn't be. This is unfortunate\n // but currently it seems to be the best option we have.\n function prepareDestinationForModule(moduleLoading, nonce, metadata) {\n prepareDestinationWithChunks(moduleLoading, metadata[CHUNKS], nonce);\n }\n function resolveClientReference(bundlerConfig, metadata) {\n if (bundlerConfig) {\n var moduleExports = bundlerConfig[metadata[ID]];\n var resolvedModuleData = moduleExports[metadata[NAME]];\n var name;\n if (resolvedModuleData) {\n // The potentially aliased name.\n name = resolvedModuleData.name;\n } else {\n // If we don't have this specific name, we might have the full module.\n resolvedModuleData = moduleExports[\"*\"];\n if (!resolvedModuleData) {\n throw new Error('Could not find the module \"' + metadata[ID] + '\" in the React SSR Manifest. ' + \"This is probably a bug in the React Server Components bundler.\");\n }\n name = metadata[NAME];\n }\n if (isAsyncImport(metadata)) {\n return [\n resolvedModuleData.id,\n resolvedModuleData.chunks,\n name,\n 1\n ];\n } else {\n return [\n resolvedModuleData.id,\n resolvedModuleData.chunks,\n name\n ];\n }\n }\n return metadata;\n }\n // If they're still pending they're a thenable. This map also exists\n // in Webpack but unfortunately it's not exposed so we have to\n // replicate it in user space. null means that it has already loaded.\n var chunkCache = new Map();\n function requireAsyncModule(id) {\n // We've already loaded all the chunks. We can require the module.\n var promise = globalThis.__next_require__(id);\n if (typeof promise.then !== \"function\") {\n // This wasn't a promise after all.\n return null;\n } else if (promise.status === \"fulfilled\") {\n // This module was already resolved earlier.\n return null;\n } else {\n // Instrument the Promise to stash the result.\n promise.then(function(value) {\n var fulfilledThenable = promise;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = value;\n }, function(reason) {\n var rejectedThenable = promise;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = reason;\n });\n return promise;\n }\n }\n function ignoreReject() {} // Start preloading the modules since we might need them soon.\n // This function doesn't suspend.\n function preloadModule(metadata) {\n var chunks = metadata[CHUNKS];\n var promises = [];\n var i = 0;\n while(i < chunks.length){\n var chunkId = chunks[i++];\n chunks[i++];\n var entry = chunkCache.get(chunkId);\n if (entry === undefined) {\n var thenable = loadChunk(chunkId);\n promises.push(thenable); // $FlowFixMe[method-unbinding]\n var resolve = chunkCache.set.bind(chunkCache, chunkId, null);\n thenable.then(resolve, ignoreReject);\n chunkCache.set(chunkId, thenable);\n } else if (entry !== null) {\n promises.push(entry);\n }\n }\n if (isAsyncImport(metadata)) {\n if (promises.length === 0) {\n return requireAsyncModule(metadata[ID]);\n } else {\n return Promise.all(promises).then(function() {\n return requireAsyncModule(metadata[ID]);\n });\n }\n } else if (promises.length > 0) {\n return Promise.all(promises);\n } else {\n return null;\n }\n } // Actually require the module or suspend if it's not yet ready.\n // Increase priority if necessary.\n function requireModule(metadata) {\n var moduleExports = globalThis.__next_require__(metadata[ID]);\n if (isAsyncImport(metadata)) {\n if (typeof moduleExports.then !== \"function\") ;\n else if (moduleExports.status === \"fulfilled\") {\n // This Promise should've been instrumented by preloadModule.\n moduleExports = moduleExports.value;\n } else {\n throw moduleExports.reason;\n }\n }\n if (metadata[NAME] === \"*\") {\n // This is a placeholder value that represents that the caller imported this\n // as a CommonJS module as is.\n return moduleExports;\n }\n if (metadata[NAME] === \"\") {\n // This is a placeholder value that represents that the caller accessed the\n // default property of this if it was an ESM interop module.\n return moduleExports.__esModule ? moduleExports.default : moduleExports;\n }\n return moduleExports[metadata[NAME]];\n }\n function loadChunk(chunkId, filename) {\n return __webpack_require__.e(chunkId);\n }\n function prepareDestinationWithChunks(moduleLoading, chunks, nonce) {\n if (moduleLoading !== null) {\n for(var i = 1; i < chunks.length; i += 2){\n preinitScriptForSSR(moduleLoading.prefix + chunks[i], nonce, moduleLoading.crossOrigin);\n }\n }\n }\n var ReactDOMSharedInternals = ReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n function getCrossOriginString(input) {\n if (typeof input === \"string\") {\n return input === \"use-credentials\" ? input : \"\";\n }\n return undefined;\n }\n // This client file is in the shared folder because it applies to both SSR and browser contexts.\n var ReactDOMCurrentDispatcher = ReactDOMSharedInternals.Dispatcher;\n function dispatchHint(code, model) {\n var dispatcher = ReactDOMCurrentDispatcher.current;\n if (dispatcher) {\n switch(code){\n case \"D\":\n {\n var refined = refineModel(code, model);\n var href = refined;\n dispatcher.prefetchDNS(href);\n return;\n }\n case \"C\":\n {\n var _refined = refineModel(code, model);\n if (typeof _refined === \"string\") {\n var _href = _refined;\n dispatcher.preconnect(_href);\n } else {\n var _href2 = _refined[0];\n var crossOrigin = _refined[1];\n dispatcher.preconnect(_href2, crossOrigin);\n }\n return;\n }\n case \"L\":\n {\n var _refined2 = refineModel(code, model);\n var _href3 = _refined2[0];\n var as = _refined2[1];\n if (_refined2.length === 3) {\n var options = _refined2[2];\n dispatcher.preload(_href3, as, options);\n } else {\n dispatcher.preload(_href3, as);\n }\n return;\n }\n case \"m\":\n {\n var _refined3 = refineModel(code, model);\n if (typeof _refined3 === \"string\") {\n var _href4 = _refined3;\n dispatcher.preloadModule(_href4);\n } else {\n var _href5 = _refined3[0];\n var _options = _refined3[1];\n dispatcher.preloadModule(_href5, _options);\n }\n return;\n }\n case \"S\":\n {\n var _refined4 = refineModel(code, model);\n if (typeof _refined4 === \"string\") {\n var _href6 = _refined4;\n dispatcher.preinitStyle(_href6);\n } else {\n var _href7 = _refined4[0];\n var precedence = _refined4[1] === 0 ? undefined : _refined4[1];\n var _options2 = _refined4.length === 3 ? _refined4[2] : undefined;\n dispatcher.preinitStyle(_href7, precedence, _options2);\n }\n return;\n }\n case \"X\":\n {\n var _refined5 = refineModel(code, model);\n if (typeof _refined5 === \"string\") {\n var _href8 = _refined5;\n dispatcher.preinitScript(_href8);\n } else {\n var _href9 = _refined5[0];\n var _options3 = _refined5[1];\n dispatcher.preinitScript(_href9, _options3);\n }\n return;\n }\n case \"M\":\n {\n var _refined6 = refineModel(code, model);\n if (typeof _refined6 === \"string\") {\n var _href10 = _refined6;\n dispatcher.preinitModuleScript(_href10);\n } else {\n var _href11 = _refined6[0];\n var _options4 = _refined6[1];\n dispatcher.preinitModuleScript(_href11, _options4);\n }\n return;\n }\n }\n }\n } // Flow is having trouble refining the HintModels so we help it a bit.\n // This should be compiled out in the production build.\n function refineModel(code, model) {\n return model;\n }\n function preinitScriptForSSR(href, nonce, crossOrigin) {\n var dispatcher = ReactDOMCurrentDispatcher.current;\n if (dispatcher) {\n dispatcher.preinitScript(href, {\n crossOrigin: getCrossOriginString(crossOrigin),\n nonce: nonce\n });\n }\n }\n var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n function error(format) {\n {\n {\n for(var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++){\n args[_key2 - 1] = arguments[_key2];\n }\n printWarning(\"error\", format, args);\n }\n }\n }\n function printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n if (stack !== \"\") {\n format += \"%s\";\n args = args.concat([\n stack\n ]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n var argsWithFormat = args.map(function(item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n argsWithFormat.unshift(\"Warning: \" + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n }\n // ATTENTION\n // When adding new symbols to this file,\n // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n // The Symbol used to tag the ReactElement-like types.\n var REACT_ELEMENT_TYPE = Symbol.for(\"react.element\");\n var REACT_PROVIDER_TYPE = Symbol.for(\"react.provider\");\n var REACT_SERVER_CONTEXT_TYPE = Symbol.for(\"react.server_context\");\n var REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\");\n var REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\");\n var REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\");\n var REACT_MEMO_TYPE = Symbol.for(\"react.memo\");\n var REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\n var REACT_SERVER_CONTEXT_DEFAULT_VALUE_NOT_LOADED = Symbol.for(\"react.default_value\");\n var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = \"@@iterator\";\n function getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== \"object\") {\n return null;\n }\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n if (typeof maybeIterator === \"function\") {\n return maybeIterator;\n }\n return null;\n }\n var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n function isArray(a) {\n return isArrayImpl(a);\n }\n var getPrototypeOf = Object.getPrototypeOf;\n // in case they error.\n var jsxPropsParents = new WeakMap();\n var jsxChildrenParents = new WeakMap();\n function isObjectPrototype(object) {\n if (!object) {\n return false;\n }\n var ObjectPrototype = Object.prototype;\n if (object === ObjectPrototype) {\n return true;\n } // It might be an object from a different Realm which is\n // still just a plain simple object.\n if (getPrototypeOf(object)) {\n return false;\n }\n var names = Object.getOwnPropertyNames(object);\n for(var i = 0; i < names.length; i++){\n if (!(names[i] in ObjectPrototype)) {\n return false;\n }\n }\n return true;\n }\n function isSimpleObject(object) {\n if (!isObjectPrototype(getPrototypeOf(object))) {\n return false;\n }\n var names = Object.getOwnPropertyNames(object);\n for(var i = 0; i < names.length; i++){\n var descriptor = Object.getOwnPropertyDescriptor(object, names[i]);\n if (!descriptor) {\n return false;\n }\n if (!descriptor.enumerable) {\n if ((names[i] === \"key\" || names[i] === \"ref\") && typeof descriptor.get === \"function\") {\n continue;\n }\n return false;\n }\n }\n return true;\n }\n function objectName(object) {\n // $FlowFixMe[method-unbinding]\n var name = Object.prototype.toString.call(object);\n return name.replace(/^\\[object (.*)\\]$/, function(m, p0) {\n return p0;\n });\n }\n function describeKeyForErrorMessage(key) {\n var encodedKey = JSON.stringify(key);\n return '\"' + key + '\"' === encodedKey ? key : encodedKey;\n }\n function describeValueForErrorMessage(value) {\n switch(typeof value){\n case \"string\":\n {\n return JSON.stringify(value.length <= 10 ? value : value.slice(0, 10) + \"...\");\n }\n case \"object\":\n {\n if (isArray(value)) {\n return \"[...]\";\n }\n var name = objectName(value);\n if (name === \"Object\") {\n return \"{...}\";\n }\n return name;\n }\n case \"function\":\n return \"function\";\n default:\n // eslint-disable-next-line react-internal/safe-string-coercion\n return String(value);\n }\n }\n function describeElementType(type) {\n if (typeof type === \"string\") {\n return type;\n }\n switch(type){\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (typeof type === \"object\") {\n switch(type.$$typeof){\n case REACT_FORWARD_REF_TYPE:\n return describeElementType(type.render);\n case REACT_MEMO_TYPE:\n return describeElementType(type.type);\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeElementType(init(payload));\n } catch (x) {}\n }\n }\n }\n return \"\";\n }\n function describeObjectForErrorMessage(objectOrArray, expandedName) {\n var objKind = objectName(objectOrArray);\n if (objKind !== \"Object\" && objKind !== \"Array\") {\n return objKind;\n }\n var str = \"\";\n var start = -1;\n var length = 0;\n if (isArray(objectOrArray)) {\n if (jsxChildrenParents.has(objectOrArray)) {\n // Print JSX Children\n var type = jsxChildrenParents.get(objectOrArray);\n str = \"<\" + describeElementType(type) + \">\";\n var array = objectOrArray;\n for(var i = 0; i < array.length; i++){\n var value = array[i];\n var substr = void 0;\n if (typeof value === \"string\") {\n substr = value;\n } else if (typeof value === \"object\" && value !== null) {\n substr = \"{\" + describeObjectForErrorMessage(value) + \"}\";\n } else {\n substr = \"{\" + describeValueForErrorMessage(value) + \"}\";\n }\n if (\"\" + i === expandedName) {\n start = str.length;\n length = substr.length;\n str += substr;\n } else if (substr.length < 15 && str.length + substr.length < 40) {\n str += substr;\n } else {\n str += \"{...}\";\n }\n }\n str += \"</\" + describeElementType(type) + \">\";\n } else {\n // Print Array\n str = \"[\";\n var _array = objectOrArray;\n for(var _i = 0; _i < _array.length; _i++){\n if (_i > 0) {\n str += \", \";\n }\n var _value = _array[_i];\n var _substr = void 0;\n if (typeof _value === \"object\" && _value !== null) {\n _substr = describeObjectForErrorMessage(_value);\n } else {\n _substr = describeValueForErrorMessage(_value);\n }\n if (\"\" + _i === expandedName) {\n start = str.length;\n length = _substr.length;\n str += _substr;\n } else if (_substr.length < 10 && str.length + _substr.length < 40) {\n str += _substr;\n } else {\n str += \"...\";\n }\n }\n str += \"]\";\n }\n } else {\n if (objectOrArray.$$typeof === REACT_ELEMENT_TYPE) {\n str = \"<\" + describeElementType(objectOrArray.type) + \"/>\";\n } else if (jsxPropsParents.has(objectOrArray)) {\n // Print JSX\n var _type = jsxPropsParents.get(objectOrArray);\n str = \"<\" + (describeElementType(_type) || \"...\");\n var object = objectOrArray;\n var names = Object.keys(object);\n for(var _i2 = 0; _i2 < names.length; _i2++){\n str += \" \";\n var name = names[_i2];\n str += describeKeyForErrorMessage(name) + \"=\";\n var _value2 = object[name];\n var _substr2 = void 0;\n if (name === expandedName && typeof _value2 === \"object\" && _value2 !== null) {\n _substr2 = describeObjectForErrorMessage(_value2);\n } else {\n _substr2 = describeValueForErrorMessage(_value2);\n }\n if (typeof _value2 !== \"string\") {\n _substr2 = \"{\" + _substr2 + \"}\";\n }\n if (name === expandedName) {\n start = str.length;\n length = _substr2.length;\n str += _substr2;\n } else if (_substr2.length < 10 && str.length + _substr2.length < 40) {\n str += _substr2;\n } else {\n str += \"...\";\n }\n }\n str += \">\";\n } else {\n // Print Object\n str = \"{\";\n var _object = objectOrArray;\n var _names = Object.keys(_object);\n for(var _i3 = 0; _i3 < _names.length; _i3++){\n if (_i3 > 0) {\n str += \", \";\n }\n var _name = _names[_i3];\n str += describeKeyForErrorMessage(_name) + \": \";\n var _value3 = _object[_name];\n var _substr3 = void 0;\n if (typeof _value3 === \"object\" && _value3 !== null) {\n _substr3 = describeObjectForErrorMessage(_value3);\n } else {\n _substr3 = describeValueForErrorMessage(_value3);\n }\n if (_name === expandedName) {\n start = str.length;\n length = _substr3.length;\n str += _substr3;\n } else if (_substr3.length < 10 && str.length + _substr3.length < 40) {\n str += _substr3;\n } else {\n str += \"...\";\n }\n }\n str += \"}\";\n }\n }\n if (expandedName === undefined) {\n return str;\n }\n if (start > -1 && length > 0) {\n var highlight = \" \".repeat(start) + \"^\".repeat(length);\n return \"\\n \" + str + \"\\n \" + highlight;\n }\n return \"\\n \" + str;\n }\n var ObjectPrototype = Object.prototype;\n var knownServerReferences = new WeakMap(); // Serializable values\n // Thenable<ReactServerValue>\n // function serializeByValueID(id: number): string {\n // return '$' + id.toString(16);\n // }\n function serializePromiseID(id) {\n return \"$@\" + id.toString(16);\n }\n function serializeServerReferenceID(id) {\n return \"$F\" + id.toString(16);\n }\n function serializeSymbolReference(name) {\n return \"$S\" + name;\n }\n function serializeFormDataReference(id) {\n // Why K? F is \"Function\". D is \"Date\". What else?\n return \"$K\" + id.toString(16);\n }\n function serializeNumber(number) {\n if (Number.isFinite(number)) {\n if (number === 0 && 1 / number === -Infinity) {\n return \"$-0\";\n } else {\n return number;\n }\n } else {\n if (number === Infinity) {\n return \"$Infinity\";\n } else if (number === -Infinity) {\n return \"$-Infinity\";\n } else {\n return \"$NaN\";\n }\n }\n }\n function serializeUndefined() {\n return \"$undefined\";\n }\n function serializeDateFromDateJSON(dateJSON) {\n // JSON.stringify automatically calls Date.prototype.toJSON which calls toISOString.\n // We need only tack on a $D prefix.\n return \"$D\" + dateJSON;\n }\n function serializeBigInt(n) {\n return \"$n\" + n.toString(10);\n }\n function serializeMapID(id) {\n return \"$Q\" + id.toString(16);\n }\n function serializeSetID(id) {\n return \"$W\" + id.toString(16);\n }\n function escapeStringValue(value) {\n if (value[0] === \"$\") {\n // We need to escape $ prefixed strings since we use those to encode\n // references to IDs and as special symbol values.\n return \"$\" + value;\n } else {\n return value;\n }\n }\n function processReply(root, formFieldPrefix, resolve, reject) {\n var nextPartId = 1;\n var pendingParts = 0;\n var formData = null;\n function resolveToJSON(key, value) {\n var parent = this; // Make sure that `parent[key]` wasn't JSONified before `value` was passed to us\n {\n // $FlowFixMe[incompatible-use]\n var originalValue = parent[key];\n if (typeof originalValue === \"object\" && originalValue !== value && !(originalValue instanceof Date)) {\n if (objectName(originalValue) !== \"Object\") {\n error(\"Only plain objects can be passed to Server Functions from the Client. \" + \"%s objects are not supported.%s\", objectName(originalValue), describeObjectForErrorMessage(parent, key));\n } else {\n error(\"Only plain objects can be passed to Server Functions from the Client. \" + \"Objects with toJSON methods are not supported. Convert it manually \" + \"to a simple value before passing it to props.%s\", describeObjectForErrorMessage(parent, key));\n }\n }\n }\n if (value === null) {\n return null;\n }\n if (typeof value === \"object\") {\n // $FlowFixMe[method-unbinding]\n if (typeof value.then === \"function\") {\n // We assume that any object with a .then property is a \"Thenable\" type,\n // or a Promise type. Either of which can be represented by a Promise.\n if (formData === null) {\n // Upgrade to use FormData to allow us to stream this value.\n formData = new FormData();\n }\n pendingParts++;\n var promiseId = nextPartId++;\n var thenable = value;\n thenable.then(function(partValue) {\n var partJSON = JSON.stringify(partValue, resolveToJSON); // $FlowFixMe[incompatible-type] We know it's not null because we assigned it above.\n var data = formData; // eslint-disable-next-line react-internal/safe-string-coercion\n data.append(formFieldPrefix + promiseId, partJSON);\n pendingParts--;\n if (pendingParts === 0) {\n resolve(data);\n }\n }, function(reason) {\n // In the future we could consider serializing this as an error\n // that throws on the server instead.\n reject(reason);\n });\n return serializePromiseID(promiseId);\n }\n if (isArray(value)) {\n // $FlowFixMe[incompatible-return]\n return value;\n } // TODO: Should we the Object.prototype.toString.call() to test for cross-realm objects?\n if (value instanceof FormData) {\n if (formData === null) {\n // Upgrade to use FormData to allow us to use rich objects as its values.\n formData = new FormData();\n }\n var data = formData;\n var refId = nextPartId++; // Copy all the form fields with a prefix for this reference.\n // These must come first in the form order because we assume that all the\n // fields are available before this is referenced.\n var prefix = formFieldPrefix + refId + \"_\"; // $FlowFixMe[prop-missing]: FormData has forEach.\n value.forEach(function(originalValue, originalKey) {\n data.append(prefix + originalKey, originalValue);\n });\n return serializeFormDataReference(refId);\n }\n if (value instanceof Map) {\n var partJSON = JSON.stringify(Array.from(value), resolveToJSON);\n if (formData === null) {\n formData = new FormData();\n }\n var mapId = nextPartId++;\n formData.append(formFieldPrefix + mapId, partJSON);\n return serializeMapID(mapId);\n }\n if (value instanceof Set) {\n var _partJSON = JSON.stringify(Array.from(value), resolveToJSON);\n if (formData === null) {\n formData = new FormData();\n }\n var setId = nextPartId++;\n formData.append(formFieldPrefix + setId, _partJSON);\n return serializeSetID(setId);\n }\n var iteratorFn = getIteratorFn(value);\n if (iteratorFn) {\n return Array.from(value);\n } // Verify that this is a simple plain object.\n var proto = getPrototypeOf(value);\n if (proto !== ObjectPrototype && (proto === null || getPrototypeOf(proto) !== null)) {\n throw new Error(\"Only plain objects, and a few built-ins, can be passed to Server Actions. \" + \"Classes or null prototypes are not supported.\");\n }\n {\n if (value.$$typeof === REACT_ELEMENT_TYPE) {\n error(\"React Element cannot be passed to Server Functions from the Client.%s\", describeObjectForErrorMessage(parent, key));\n } else if (value.$$typeof === REACT_LAZY_TYPE) {\n error(\"React Lazy cannot be passed to Server Functions from the Client.%s\", describeObjectForErrorMessage(parent, key));\n } else if (value.$$typeof === REACT_PROVIDER_TYPE) {\n error(\"React Context Providers cannot be passed to Server Functions from the Client.%s\", describeObjectForErrorMessage(parent, key));\n } else if (objectName(value) !== \"Object\") {\n error(\"Only plain objects can be passed to Server Functions from the Client. \" + \"%s objects are not supported.%s\", objectName(value), describeObjectForErrorMessage(parent, key));\n } else if (!isSimpleObject(value)) {\n error(\"Only plain objects can be passed to Server Functions from the Client. \" + \"Classes or other objects with methods are not supported.%s\", describeObjectForErrorMessage(parent, key));\n } else if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(value);\n if (symbols.length > 0) {\n error(\"Only plain objects can be passed to Server Functions from the Client. \" + \"Objects with symbol properties like %s are not supported.%s\", symbols[0].description, describeObjectForErrorMessage(parent, key));\n }\n }\n }\n return value;\n }\n if (typeof value === \"string\") {\n // TODO: Maybe too clever. If we support URL there's no similar trick.\n if (value[value.length - 1] === \"Z\") {\n // Possibly a Date, whose toJSON automatically calls toISOString\n // $FlowFixMe[incompatible-use]\n var _originalValue = parent[key];\n if (_originalValue instanceof Date) {\n return serializeDateFromDateJSON(value);\n }\n }\n return escapeStringValue(value);\n }\n if (typeof value === \"boolean\") {\n return value;\n }\n if (typeof value === \"number\") {\n return serializeNumber(value);\n }\n if (typeof value === \"undefined\") {\n return serializeUndefined();\n }\n if (typeof value === \"function\") {\n var metaData = knownServerReferences.get(value);\n if (metaData !== undefined) {\n var metaDataJSON = JSON.stringify(metaData, resolveToJSON);\n if (formData === null) {\n // Upgrade to use FormData to allow us to stream this value.\n formData = new FormData();\n } // The reference to this function came from the same client so we can pass it back.\n var _refId = nextPartId++; // eslint-disable-next-line react-internal/safe-string-coercion\n formData.set(formFieldPrefix + _refId, metaDataJSON);\n return serializeServerReferenceID(_refId);\n }\n throw new Error(\"Client Functions cannot be passed directly to Server Functions. \" + \"Only Functions passed from the Server can be passed back again.\");\n }\n if (typeof value === \"symbol\") {\n // $FlowFixMe[incompatible-type] `description` might be undefined\n var name = value.description;\n if (Symbol.for(name) !== value) {\n throw new Error(\"Only global symbols received from Symbol.for(...) can be passed to Server Functions. \" + (\"The symbol Symbol.for(\" + // $FlowFixMe[incompatible-type] `description` might be undefined\n value.description + \") cannot be found among global symbols.\"));\n }\n return serializeSymbolReference(name);\n }\n if (typeof value === \"bigint\") {\n return serializeBigInt(value);\n }\n throw new Error(\"Type \" + typeof value + \" is not supported as an argument to a Server Function.\");\n } // $FlowFixMe[incompatible-type] it's not going to be undefined because we'll encode it.\n var json = JSON.stringify(root, resolveToJSON);\n if (formData === null) {\n // If it's a simple data structure, we just use plain JSON.\n resolve(json);\n } else {\n // Otherwise, we use FormData to let us stream in the result.\n formData.set(formFieldPrefix + \"0\", json);\n if (pendingParts === 0) {\n // $FlowFixMe[incompatible-call] this has already been refined.\n resolve(formData);\n }\n }\n }\n var boundCache = new WeakMap();\n function encodeFormData(reference) {\n var resolve, reject; // We need to have a handle on the thenable so that we can synchronously set\n // its status from processReply, when it can complete synchronously.\n var thenable = new Promise(function(res, rej) {\n resolve = res;\n reject = rej;\n });\n processReply(reference, \"\", function(body) {\n if (typeof body === \"string\") {\n var data = new FormData();\n data.append(\"0\", body);\n body = data;\n }\n var fulfilled = thenable;\n fulfilled.status = \"fulfilled\";\n fulfilled.value = body;\n resolve(body);\n }, function(e) {\n var rejected = thenable;\n rejected.status = \"rejected\";\n rejected.reason = e;\n reject(e);\n });\n return thenable;\n }\n function encodeFormAction(identifierPrefix) {\n var reference = knownServerReferences.get(this);\n if (!reference) {\n throw new Error(\"Tried to encode a Server Action from a different instance than the encoder is from. \" + \"This is a bug in React.\");\n }\n var data = null;\n var name;\n var boundPromise = reference.bound;\n if (boundPromise !== null) {\n var thenable = boundCache.get(reference);\n if (!thenable) {\n thenable = encodeFormData(reference);\n boundCache.set(reference, thenable);\n }\n if (thenable.status === \"rejected\") {\n throw thenable.reason;\n } else if (thenable.status !== \"fulfilled\") {\n throw thenable;\n }\n var encodedFormData = thenable.value; // This is hacky but we need the identifier prefix to be added to\n // all fields but the suspense cache would break since we might get\n // a new identifier each time. So we just append it at the end instead.\n var prefixedData = new FormData(); // $FlowFixMe[prop-missing]\n encodedFormData.forEach(function(value, key) {\n prefixedData.append(\"$ACTION_\" + identifierPrefix + \":\" + key, value);\n });\n data = prefixedData; // We encode the name of the prefix containing the data.\n name = \"$ACTION_REF_\" + identifierPrefix;\n } else {\n // This is the simple case so we can just encode the ID.\n name = \"$ACTION_ID_\" + reference.id;\n }\n return {\n name: name,\n method: \"POST\",\n encType: \"multipart/form-data\",\n data: data\n };\n }\n function isSignatureEqual(referenceId, numberOfBoundArgs) {\n var reference = knownServerReferences.get(this);\n if (!reference) {\n throw new Error(\"Tried to encode a Server Action from a different instance than the encoder is from. \" + \"This is a bug in React.\");\n }\n if (reference.id !== referenceId) {\n // These are different functions.\n return false;\n } // Now check if the number of bound arguments is the same.\n var boundPromise = reference.bound;\n if (boundPromise === null) {\n // No bound arguments.\n return numberOfBoundArgs === 0;\n } // Unwrap the bound arguments array by suspending, if necessary. As with\n // encodeFormData, this means isSignatureEqual can only be called while React\n // is rendering.\n switch(boundPromise.status){\n case \"fulfilled\":\n {\n var boundArgs = boundPromise.value;\n return boundArgs.length === numberOfBoundArgs;\n }\n case \"pending\":\n {\n throw boundPromise;\n }\n case \"rejected\":\n {\n throw boundPromise.reason;\n }\n default:\n {\n if (typeof boundPromise.status === \"string\") ;\n else {\n var pendingThenable = boundPromise;\n pendingThenable.status = \"pending\";\n pendingThenable.then(function(boundArgs) {\n var fulfilledThenable = boundPromise;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = boundArgs;\n }, function(error) {\n var rejectedThenable = boundPromise;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n });\n }\n throw boundPromise;\n }\n }\n }\n function registerServerReference(proxy, reference) {\n // Expose encoder for use by SSR, as well as a special bind that can be used to\n // keep server capabilities.\n {\n // Only expose this in builds that would actually use it. Not needed on the client.\n Object.defineProperties(proxy, {\n $$FORM_ACTION: {\n value: encodeFormAction\n },\n $$IS_SIGNATURE_EQUAL: {\n value: isSignatureEqual\n },\n bind: {\n value: bind\n }\n });\n }\n knownServerReferences.set(proxy, reference);\n } // $FlowFixMe[method-unbinding]\n var FunctionBind = Function.prototype.bind; // $FlowFixMe[method-unbinding]\n var ArraySlice = Array.prototype.slice;\n function bind() {\n // $FlowFixMe[unsupported-syntax]\n var newFn = FunctionBind.apply(this, arguments);\n var reference = knownServerReferences.get(this);\n if (reference) {\n var args = ArraySlice.call(arguments, 1);\n var boundPromise = null;\n if (reference.bound !== null) {\n boundPromise = Promise.resolve(reference.bound).then(function(boundArgs) {\n return boundArgs.concat(args);\n });\n } else {\n boundPromise = Promise.resolve(args);\n }\n registerServerReference(newFn, {\n id: reference.id,\n bound: boundPromise\n });\n }\n return newFn;\n }\n function createServerReference$1(id, callServer) {\n var proxy = function() {\n // $FlowFixMe[method-unbinding]\n var args = Array.prototype.slice.call(arguments);\n return callServer(id, args);\n };\n registerServerReference(proxy, {\n id: id,\n bound: null\n });\n return proxy;\n }\n var ContextRegistry = ReactSharedInternals.ContextRegistry;\n function getOrCreateServerContext(globalName) {\n if (!ContextRegistry[globalName]) {\n var context = {\n $$typeof: REACT_SERVER_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: REACT_SERVER_CONTEXT_DEFAULT_VALUE_NOT_LOADED,\n _currentValue2: REACT_SERVER_CONTEXT_DEFAULT_VALUE_NOT_LOADED,\n _defaultValue: REACT_SERVER_CONTEXT_DEFAULT_VALUE_NOT_LOADED,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null,\n _globalName: globalName\n };\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n {\n var hasWarnedAboutUsingConsumer;\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n Object.defineProperties(context, {\n Consumer: {\n get: function() {\n if (!hasWarnedAboutUsingConsumer) {\n error(\"Consumer pattern is not supported by ReactServerContext\");\n hasWarnedAboutUsingConsumer = true;\n }\n return null;\n }\n }\n });\n }\n ContextRegistry[globalName] = context;\n }\n return ContextRegistry[globalName];\n }\n var ROW_ID = 0;\n var ROW_TAG = 1;\n var ROW_LENGTH = 2;\n var ROW_CHUNK_BY_NEWLINE = 3;\n var ROW_CHUNK_BY_LENGTH = 4;\n var PENDING = \"pending\";\n var BLOCKED = \"blocked\";\n var CYCLIC = \"cyclic\";\n var RESOLVED_MODEL = \"resolved_model\";\n var RESOLVED_MODULE = \"resolved_module\";\n var INITIALIZED = \"fulfilled\";\n var ERRORED = \"rejected\"; // $FlowFixMe[missing-this-annot]\n function Chunk(status, value, reason, response) {\n this.status = status;\n this.value = value;\n this.reason = reason;\n this._response = response;\n } // We subclass Promise.prototype so that we get other methods like .catch\n Chunk.prototype = Object.create(Promise.prototype); // TODO: This doesn't return a new Promise chain unlike the real .then\n Chunk.prototype.then = function(resolve, reject) {\n var chunk = this; // If we have resolved content, we try to initialize it first which\n // might put us back into one of the other states.\n switch(chunk.status){\n case RESOLVED_MODEL:\n initializeModelChunk(chunk);\n break;\n case RESOLVED_MODULE:\n initializeModuleChunk(chunk);\n break;\n } // The status might have changed after initialization.\n switch(chunk.status){\n case INITIALIZED:\n resolve(chunk.value);\n break;\n case PENDING:\n case BLOCKED:\n case CYCLIC:\n if (resolve) {\n if (chunk.value === null) {\n chunk.value = [];\n }\n chunk.value.push(resolve);\n }\n if (reject) {\n if (chunk.reason === null) {\n chunk.reason = [];\n }\n chunk.reason.push(reject);\n }\n break;\n default:\n reject(chunk.reason);\n break;\n }\n };\n function readChunk(chunk) {\n // If we have resolved content, we try to initialize it first which\n // might put us back into one of the other states.\n switch(chunk.status){\n case RESOLVED_MODEL:\n initializeModelChunk(chunk);\n break;\n case RESOLVED_MODULE:\n initializeModuleChunk(chunk);\n break;\n } // The status might have changed after initialization.\n switch(chunk.status){\n case INITIALIZED:\n return chunk.value;\n case PENDING:\n case BLOCKED:\n case CYCLIC:\n // eslint-disable-next-line no-throw-literal\n throw chunk;\n default:\n throw chunk.reason;\n }\n }\n function getRoot(response) {\n var chunk = getChunk(response, 0);\n return chunk;\n }\n function createPendingChunk(response) {\n // $FlowFixMe[invalid-constructor] Flow doesn't support functions as constructors\n return new Chunk(PENDING, null, null, response);\n }\n function createBlockedChunk(response) {\n // $FlowFixMe[invalid-constructor] Flow doesn't support functions as constructors\n return new Chunk(BLOCKED, null, null, response);\n }\n function createErrorChunk(response, error) {\n // $FlowFixMe[invalid-constructor] Flow doesn't support functions as constructors\n return new Chunk(ERRORED, null, error, response);\n }\n function wakeChunk(listeners, value) {\n for(var i = 0; i < listeners.length; i++){\n var listener = listeners[i];\n listener(value);\n }\n }\n function wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners) {\n switch(chunk.status){\n case INITIALIZED:\n wakeChunk(resolveListeners, chunk.value);\n break;\n case PENDING:\n case BLOCKED:\n case CYCLIC:\n chunk.value = resolveListeners;\n chunk.reason = rejectListeners;\n break;\n case ERRORED:\n if (rejectListeners) {\n wakeChunk(rejectListeners, chunk.reason);\n }\n break;\n }\n }\n function triggerErrorOnChunk(chunk, error) {\n if (chunk.status !== PENDING && chunk.status !== BLOCKED) {\n // We already resolved. We didn't expect to see this.\n return;\n }\n var listeners = chunk.reason;\n var erroredChunk = chunk;\n erroredChunk.status = ERRORED;\n erroredChunk.reason = error;\n if (listeners !== null) {\n wakeChunk(listeners, error);\n }\n }\n function createResolvedModelChunk(response, value) {\n // $FlowFixMe[invalid-constructor] Flow doesn't support functions as constructors\n return new Chunk(RESOLVED_MODEL, value, null, response);\n }\n function createResolvedModuleChunk(response, value) {\n // $FlowFixMe[invalid-constructor] Flow doesn't support functions as constructors\n return new Chunk(RESOLVED_MODULE, value, null, response);\n }\n function createInitializedTextChunk(response, value) {\n // $FlowFixMe[invalid-constructor] Flow doesn't support functions as constructors\n return new Chunk(INITIALIZED, value, null, response);\n }\n function resolveModelChunk(chunk, value) {\n if (chunk.status !== PENDING) {\n // We already resolved. We didn't expect to see this.\n return;\n }\n var resolveListeners = chunk.value;\n var rejectListeners = chunk.reason;\n var resolvedChunk = chunk;\n resolvedChunk.status = RESOLVED_MODEL;\n resolvedChunk.value = value;\n if (resolveListeners !== null) {\n // This is unfortunate that we're reading this eagerly if\n // we already have listeners attached since they might no\n // longer be rendered or might not be the highest pri.\n initializeModelChunk(resolvedChunk); // The status might have changed after initialization.\n wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners);\n }\n }\n function resolveModuleChunk(chunk, value) {\n if (chunk.status !== PENDING && chunk.status !== BLOCKED) {\n // We already resolved. We didn't expect to see this.\n return;\n }\n var resolveListeners = chunk.value;\n var rejectListeners = chunk.reason;\n var resolvedChunk = chunk;\n resolvedChunk.status = RESOLVED_MODULE;\n resolvedChunk.value = value;\n if (resolveListeners !== null) {\n initializeModuleChunk(resolvedChunk);\n wakeChunkIfInitialized(chunk, resolveListeners, rejectListeners);\n }\n }\n var initializingChunk = null;\n var initializingChunkBlockedModel = null;\n function initializeModelChunk(chunk) {\n var prevChunk = initializingChunk;\n var prevBlocked = initializingChunkBlockedModel;\n initializingChunk = chunk;\n initializingChunkBlockedModel = null;\n var resolvedModel = chunk.value; // We go to the CYCLIC state until we've fully resolved this.\n // We do this before parsing in case we try to initialize the same chunk\n // while parsing the model. Such as in a cyclic reference.\n var cyclicChunk = chunk;\n cyclicChunk.status = CYCLIC;\n cyclicChunk.value = null;\n cyclicChunk.reason = null;\n try {\n var value = parseModel(chunk._response, resolvedModel);\n if (initializingChunkBlockedModel !== null && initializingChunkBlockedModel.deps > 0) {\n initializingChunkBlockedModel.value = value; // We discovered new dependencies on modules that are not yet resolved.\n // We have to go the BLOCKED state until they're resolved.\n var blockedChunk = chunk;\n blockedChunk.status = BLOCKED;\n blockedChunk.value = null;\n blockedChunk.reason = null;\n } else {\n var resolveListeners = cyclicChunk.value;\n var initializedChunk = chunk;\n initializedChunk.status = INITIALIZED;\n initializedChunk.value = value;\n if (resolveListeners !== null) {\n wakeChunk(resolveListeners, value);\n }\n }\n } catch (error) {\n var erroredChunk = chunk;\n erroredChunk.status = ERRORED;\n erroredChunk.reason = error;\n } finally{\n initializingChunk = prevChunk;\n initializingChunkBlockedModel = prevBlocked;\n }\n }\n function initializeModuleChunk(chunk) {\n try {\n var value = requireModule(chunk.value);\n var initializedChunk = chunk;\n initializedChunk.status = INITIALIZED;\n initializedChunk.value = value;\n } catch (error) {\n var erroredChunk = chunk;\n erroredChunk.status = ERRORED;\n erroredChunk.reason = error;\n }\n } // Report that any missing chunks in the model is now going to throw this\n // error upon read. Also notify any pending promises.\n function reportGlobalError(response, error) {\n response._chunks.forEach(function(chunk) {\n // If this chunk was already resolved or errored, it won't\n // trigger an error but if it wasn't then we need to\n // because we won't be getting any new data to resolve it.\n if (chunk.status === PENDING) {\n triggerErrorOnChunk(chunk, error);\n }\n });\n }\n function createElement(type, key, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: null,\n props: props,\n // Record the component responsible for creating this element.\n _owner: null\n };\n {\n // We don't really need to add any of these but keeping them for good measure.\n // Unfortunately, _store is enumerable in jest matchers so for equality to\n // work, I need to keep it or make _store non-enumerable in the other file.\n element._store = {};\n Object.defineProperty(element._store, \"validated\", {\n configurable: false,\n enumerable: false,\n writable: true,\n value: true // This element has already been validated on the server.\n });\n Object.defineProperty(element, \"_self\", {\n configurable: false,\n enumerable: false,\n writable: false,\n value: null\n });\n Object.defineProperty(element, \"_source\", {\n configurable: false,\n enumerable: false,\n writable: false,\n value: null\n });\n }\n return element;\n }\n function createLazyChunkWrapper(chunk) {\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: chunk,\n _init: readChunk\n };\n return lazyType;\n }\n function getChunk(response, id) {\n var chunks = response._chunks;\n var chunk = chunks.get(id);\n if (!chunk) {\n chunk = createPendingChunk(response);\n chunks.set(id, chunk);\n }\n return chunk;\n }\n function createModelResolver(chunk, parentObject, key, cyclic) {\n var blocked;\n if (initializingChunkBlockedModel) {\n blocked = initializingChunkBlockedModel;\n if (!cyclic) {\n blocked.deps++;\n }\n } else {\n blocked = initializingChunkBlockedModel = {\n deps: cyclic ? 0 : 1,\n value: null\n };\n }\n return function(value) {\n parentObject[key] = value;\n blocked.deps--;\n if (blocked.deps === 0) {\n if (chunk.status !== BLOCKED) {\n return;\n }\n var resolveListeners = chunk.value;\n var initializedChunk = chunk;\n initializedChunk.status = INITIALIZED;\n initializedChunk.value = blocked.value;\n if (resolveListeners !== null) {\n wakeChunk(resolveListeners, blocked.value);\n }\n }\n };\n }\n function createModelReject(chunk) {\n return function(error) {\n return triggerErrorOnChunk(chunk, error);\n };\n }\n function createServerReferenceProxy(response, metaData) {\n var callServer = response._callServer;\n var proxy = function() {\n // $FlowFixMe[method-unbinding]\n var args = Array.prototype.slice.call(arguments);\n var p = metaData.bound;\n if (!p) {\n return callServer(metaData.id, args);\n }\n if (p.status === INITIALIZED) {\n var bound = p.value;\n return callServer(metaData.id, bound.concat(args));\n } // Since this is a fake Promise whose .then doesn't chain, we have to wrap it.\n // TODO: Remove the wrapper once that's fixed.\n return Promise.resolve(p).then(function(bound) {\n return callServer(metaData.id, bound.concat(args));\n });\n };\n registerServerReference(proxy, metaData);\n return proxy;\n }\n function getOutlinedModel(response, id) {\n var chunk = getChunk(response, id);\n switch(chunk.status){\n case RESOLVED_MODEL:\n initializeModelChunk(chunk);\n break;\n } // The status might have changed after initialization.\n switch(chunk.status){\n case INITIALIZED:\n {\n return chunk.value;\n }\n // We always encode it first in the stream so it won't be pending.\n default:\n throw chunk.reason;\n }\n }\n function parseModelString(response, parentObject, key, value) {\n if (value[0] === \"$\") {\n if (value === \"$\") {\n // A very common symbol.\n return REACT_ELEMENT_TYPE;\n }\n switch(value[1]){\n case \"$\":\n {\n // This was an escaped string value.\n return value.slice(1);\n }\n case \"L\":\n {\n // Lazy node\n var id = parseInt(value.slice(2), 16);\n var chunk = getChunk(response, id); // We create a React.lazy wrapper around any lazy values.\n // When passed into React, we'll know how to suspend on this.\n return createLazyChunkWrapper(chunk);\n }\n case \"@\":\n {\n // Promise\n var _id = parseInt(value.slice(2), 16);\n var _chunk = getChunk(response, _id);\n return _chunk;\n }\n case \"S\":\n {\n // Symbol\n return Symbol.for(value.slice(2));\n }\n case \"P\":\n {\n // Server Context Provider\n return getOrCreateServerContext(value.slice(2)).Provider;\n }\n case \"F\":\n {\n // Server Reference\n var _id2 = parseInt(value.slice(2), 16);\n var metadata = getOutlinedModel(response, _id2);\n return createServerReferenceProxy(response, metadata);\n }\n case \"Q\":\n {\n // Map\n var _id3 = parseInt(value.slice(2), 16);\n var data = getOutlinedModel(response, _id3);\n return new Map(data);\n }\n case \"W\":\n {\n // Set\n var _id4 = parseInt(value.slice(2), 16);\n var _data = getOutlinedModel(response, _id4);\n return new Set(_data);\n }\n case \"I\":\n {\n // $Infinity\n return Infinity;\n }\n case \"-\":\n {\n // $-0 or $-Infinity\n if (value === \"$-0\") {\n return -0;\n } else {\n return -Infinity;\n }\n }\n case \"N\":\n {\n // $NaN\n return NaN;\n }\n case \"u\":\n {\n // matches \"$undefined\"\n // Special encoding for `undefined` which can't be serialized as JSON otherwise.\n return undefined;\n }\n case \"D\":\n {\n // Date\n return new Date(Date.parse(value.slice(2)));\n }\n case \"n\":\n {\n // BigInt\n return BigInt(value.slice(2));\n }\n default:\n {\n // We assume that anything else is a reference ID.\n var _id5 = parseInt(value.slice(1), 16);\n var _chunk2 = getChunk(response, _id5);\n switch(_chunk2.status){\n case RESOLVED_MODEL:\n initializeModelChunk(_chunk2);\n break;\n case RESOLVED_MODULE:\n initializeModuleChunk(_chunk2);\n break;\n } // The status might have changed after initialization.\n switch(_chunk2.status){\n case INITIALIZED:\n return _chunk2.value;\n case PENDING:\n case BLOCKED:\n case CYCLIC:\n var parentChunk = initializingChunk;\n _chunk2.then(createModelResolver(parentChunk, parentObject, key, _chunk2.status === CYCLIC), createModelReject(parentChunk));\n return null;\n default:\n throw _chunk2.reason;\n }\n }\n }\n }\n return value;\n }\n function parseModelTuple(response, value) {\n var tuple = value;\n if (tuple[0] === REACT_ELEMENT_TYPE) {\n // TODO: Consider having React just directly accept these arrays as elements.\n // Or even change the ReactElement type to be an array.\n return createElement(tuple[1], tuple[2], tuple[3]);\n }\n return value;\n }\n function missingCall() {\n throw new Error('Trying to call a function from \"use server\" but the callServer option ' + \"was not implemented in your router runtime.\");\n }\n function createResponse(bundlerConfig, moduleLoading, callServer, nonce) {\n var chunks = new Map();\n var response = {\n _bundlerConfig: bundlerConfig,\n _moduleLoading: moduleLoading,\n _callServer: callServer !== undefined ? callServer : missingCall,\n _nonce: nonce,\n _chunks: chunks,\n _stringDecoder: createStringDecoder(),\n _fromJSON: null,\n _rowState: 0,\n _rowID: 0,\n _rowTag: 0,\n _rowLength: 0,\n _buffer: []\n }; // Don't inline this call because it causes closure to outline the call above.\n response._fromJSON = createFromJSONCallback(response);\n return response;\n }\n function resolveModel(response, id, model) {\n var chunks = response._chunks;\n var chunk = chunks.get(id);\n if (!chunk) {\n chunks.set(id, createResolvedModelChunk(response, model));\n } else {\n resolveModelChunk(chunk, model);\n }\n }\n function resolveText(response, id, text) {\n var chunks = response._chunks; // We assume that we always reference large strings after they've been\n // emitted.\n chunks.set(id, createInitializedTextChunk(response, text));\n }\n function resolveModule(response, id, model) {\n var chunks = response._chunks;\n var chunk = chunks.get(id);\n var clientReferenceMetadata = parseModel(response, model);\n var clientReference = resolveClientReference(response._bundlerConfig, clientReferenceMetadata);\n prepareDestinationForModule(response._moduleLoading, response._nonce, clientReferenceMetadata); // TODO: Add an option to encode modules that are lazy loaded.\n // For now we preload all modules as early as possible since it's likely\n // that we'll need them.\n var promise = preloadModule(clientReference);\n if (promise) {\n var blockedChunk;\n if (!chunk) {\n // Technically, we should just treat promise as the chunk in this\n // case. Because it'll just behave as any other promise.\n blockedChunk = createBlockedChunk(response);\n chunks.set(id, blockedChunk);\n } else {\n // This can't actually happen because we don't have any forward\n // references to modules.\n blockedChunk = chunk;\n blockedChunk.status = BLOCKED;\n }\n promise.then(function() {\n return resolveModuleChunk(blockedChunk, clientReference);\n }, function(error) {\n return triggerErrorOnChunk(blockedChunk, error);\n });\n } else {\n if (!chunk) {\n chunks.set(id, createResolvedModuleChunk(response, clientReference));\n } else {\n // This can't actually happen because we don't have any forward\n // references to modules.\n resolveModuleChunk(chunk, clientReference);\n }\n }\n }\n function resolveErrorDev(response, id, digest, message, stack) {\n var error = new Error(message || \"An error occurred in the Server Components render but no message was provided\");\n error.stack = stack;\n error.digest = digest;\n var errorWithDigest = error;\n var chunks = response._chunks;\n var chunk = chunks.get(id);\n if (!chunk) {\n chunks.set(id, createErrorChunk(response, errorWithDigest));\n } else {\n triggerErrorOnChunk(chunk, errorWithDigest);\n }\n }\n function resolveHint(response, code, model) {\n var hintModel = parseModel(response, model);\n dispatchHint(code, hintModel);\n }\n function processFullRow(response, id, tag, buffer, chunk) {\n var stringDecoder = response._stringDecoder;\n var row = \"\";\n for(var i = 0; i < buffer.length; i++){\n row += readPartialStringChunk(stringDecoder, buffer[i]);\n }\n row += readFinalStringChunk(stringDecoder, chunk);\n switch(tag){\n case 73:\n {\n resolveModule(response, id, row);\n return;\n }\n case 72:\n {\n var code = row[0];\n resolveHint(response, code, row.slice(1));\n return;\n }\n case 69:\n {\n var errorInfo = JSON.parse(row);\n {\n resolveErrorDev(response, id, errorInfo.digest, errorInfo.message, errorInfo.stack);\n }\n return;\n }\n case 84:\n {\n resolveText(response, id, row);\n return;\n }\n case 80:\n // Fallthrough\n default:\n /* \"\"\" \"{\" \"[\" \"t\" \"f\" \"n\" \"0\" - \"9\" */ {\n // We assume anything else is JSON.\n resolveModel(response, id, row);\n return;\n }\n }\n }\n function processBinaryChunk(response, chunk) {\n var i = 0;\n var rowState = response._rowState;\n var rowID = response._rowID;\n var rowTag = response._rowTag;\n var rowLength = response._rowLength;\n var buffer = response._buffer;\n var chunkLength = chunk.length;\n while(i < chunkLength){\n var lastIdx = -1;\n switch(rowState){\n case ROW_ID:\n {\n var byte = chunk[i++];\n if (byte === 58) {\n // Finished the rowID, next we'll parse the tag.\n rowState = ROW_TAG;\n } else {\n rowID = rowID << 4 | (byte > 96 ? byte - 87 : byte - 48);\n }\n continue;\n }\n case ROW_TAG:\n {\n var resolvedRowTag = chunk[i];\n if (resolvedRowTag === 84 || enableBinaryFlight) {\n rowTag = resolvedRowTag;\n rowState = ROW_LENGTH;\n i++;\n } else if (resolvedRowTag > 64 && resolvedRowTag < 91) {\n rowTag = resolvedRowTag;\n rowState = ROW_CHUNK_BY_NEWLINE;\n i++;\n } else {\n rowTag = 0;\n rowState = ROW_CHUNK_BY_NEWLINE; // This was an unknown tag so it was probably part of the data.\n }\n continue;\n }\n case ROW_LENGTH:\n {\n var _byte = chunk[i++];\n if (_byte === 44) {\n // Finished the rowLength, next we'll buffer up to that length.\n rowState = ROW_CHUNK_BY_LENGTH;\n } else {\n rowLength = rowLength << 4 | (_byte > 96 ? _byte - 87 : _byte - 48);\n }\n continue;\n }\n case ROW_CHUNK_BY_NEWLINE:\n {\n // We're looking for a newline\n lastIdx = chunk.indexOf(10, i);\n break;\n }\n case ROW_CHUNK_BY_LENGTH:\n {\n // We're looking for the remaining byte length\n lastIdx = i + rowLength;\n if (lastIdx > chunk.length) {\n lastIdx = -1;\n }\n break;\n }\n }\n var offset = chunk.byteOffset + i;\n if (lastIdx > -1) {\n // We found the last chunk of the row\n var length = lastIdx - i;\n var lastChunk = new Uint8Array(chunk.buffer, offset, length);\n processFullRow(response, rowID, rowTag, buffer, lastChunk); // Reset state machine for a new row\n i = lastIdx;\n if (rowState === ROW_CHUNK_BY_NEWLINE) {\n // If we're trailing by a newline we need to skip it.\n i++;\n }\n rowState = ROW_ID;\n rowTag = 0;\n rowID = 0;\n rowLength = 0;\n buffer.length = 0;\n } else {\n // The rest of this row is in a future chunk. We stash the rest of the\n // current chunk until we can process the full row.\n var _length = chunk.byteLength - i;\n var remainingSlice = new Uint8Array(chunk.buffer, offset, _length);\n buffer.push(remainingSlice); // Update how many bytes we're still waiting for. If we're looking for\n // a newline, this doesn't hurt since we'll just ignore it.\n rowLength -= remainingSlice.byteLength;\n break;\n }\n }\n response._rowState = rowState;\n response._rowID = rowID;\n response._rowTag = rowTag;\n response._rowLength = rowLength;\n }\n function parseModel(response, json) {\n return JSON.parse(json, response._fromJSON);\n }\n function createFromJSONCallback(response) {\n // $FlowFixMe[missing-this-annot]\n return function(key, value) {\n if (typeof value === \"string\") {\n // We can't use .bind here because we need the \"this\" value.\n return parseModelString(response, this, key, value);\n }\n if (typeof value === \"object\" && value !== null) {\n return parseModelTuple(response, value);\n }\n return value;\n };\n }\n function close(response) {\n // In case there are any remaining unresolved chunks, they won't\n // be resolved now. So we need to issue an error to those.\n // Ideally we should be able to early bail out if we kept a\n // ref count of pending chunks.\n reportGlobalError(response, new Error(\"Connection closed.\"));\n }\n function noServerCall() {\n throw new Error(\"Server Functions cannot be called during initial render. \" + \"This would create a fetch waterfall. Try to use a Server Component \" + \"to pass data to Client Components instead.\");\n }\n function createServerReference(id, callServer) {\n return createServerReference$1(id, noServerCall);\n }\n function createResponseFromOptions(options) {\n return createResponse(options.ssrManifest.moduleMap, options.ssrManifest.moduleLoading, noServerCall, typeof options.nonce === \"string\" ? options.nonce : undefined);\n }\n function startReadingFromStream(response, stream) {\n var reader = stream.getReader();\n function progress(_ref) {\n var done = _ref.done, value = _ref.value;\n if (done) {\n close(response);\n return;\n }\n var buffer = value;\n processBinaryChunk(response, buffer);\n return reader.read().then(progress).catch(error);\n }\n function error(e) {\n reportGlobalError(response, e);\n }\n reader.read().then(progress).catch(error);\n }\n function createFromReadableStream(stream, options) {\n var response = createResponseFromOptions(options);\n startReadingFromStream(response, stream);\n return getRoot(response);\n }\n function createFromFetch(promiseForResponse, options) {\n var response = createResponseFromOptions(options);\n promiseForResponse.then(function(r) {\n startReadingFromStream(response, r.body);\n }, function(e) {\n reportGlobalError(response, e);\n });\n return getRoot(response);\n }\n function encodeReply(value) /* We don't use URLSearchParams yet but maybe */ {\n return new Promise(function(resolve, reject) {\n processReply(value, \"\", resolve, reject);\n });\n }\n exports.createFromFetch = createFromFetch;\n exports.createFromReadableStream = createFromReadableStream;\n exports.createServerReference = createServerReference;\n exports.encodeReply = encodeReply;\n })();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2Nqcy9yZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2stY2xpZW50LmVkZ2UuZGV2ZWxvcG1lbnQuanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0NBUUMsR0FFRDtBQUVBLElBQUlBLElBQXFDLEVBQUU7SUFDeEM7UUFDSDtRQUVBLElBQUlDLFdBQVdDLG1CQUFPQSxDQUFDO1FBQ3ZCLElBQUlDLFFBQVFELG1CQUFPQSxDQUFDO1FBRXBCLGdGQUFnRjtRQUNoRixJQUFJRSxxQkFBcUI7UUFFekIsU0FBU0M7WUFDUCxPQUFPLElBQUlDO1FBQ2I7UUFDQSxJQUFJQyxpQkFBaUI7WUFDbkJDLFFBQVE7UUFDVjtRQUNBLFNBQVNDLHVCQUF1QkMsT0FBTyxFQUFFQyxNQUFNO1lBQzdDLE9BQU9ELFFBQVFFLE1BQU0sQ0FBQ0QsUUFBUUo7UUFDaEM7UUFDQSxTQUFTTSxxQkFBcUJILE9BQU8sRUFBRUMsTUFBTTtZQUMzQyxPQUFPRCxRQUFRRSxNQUFNLENBQUNEO1FBQ3hCO1FBRUEsaUVBQWlFO1FBQ2pFLCtDQUErQztRQUMvQyxJQUFJRyxLQUFLO1FBQ1QsSUFBSUMsU0FBUztRQUNiLElBQUlDLE9BQU8sR0FBRywwQkFBMEI7UUFDeEMsNEVBQTRFO1FBQzVFLDRFQUE0RTtRQUM1RSw0RUFBNEU7UUFDNUUsMENBQTBDO1FBRTFDLFNBQVNDLGNBQWNDLFFBQVE7WUFDN0IsT0FBT0EsU0FBU0MsTUFBTSxLQUFLO1FBQzdCO1FBRUEsOEVBQThFO1FBQzlFLDZFQUE2RTtRQUM3RSxrRUFBa0U7UUFDbEUsa0ZBQWtGO1FBQ2xGLG1GQUFtRjtRQUNuRix3REFBd0Q7UUFFeEQsU0FBU0MsNEJBQTRCQyxhQUFhLEVBQUVDLEtBQUssRUFBRUosUUFBUTtZQUNqRUssNkJBQTZCRixlQUFlSCxRQUFRLENBQUNILE9BQU8sRUFBRU87UUFDaEU7UUFDQSxT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RjtnQkFFQSxJQUFJaFUsU0FBUzZCO2dCQUNiMlksbUJBQW1CeEcsVUFBVWhVO2dCQUM3QixPQUFPaWMsT0FBT0ssSUFBSSxHQUFHM2EsSUFBSSxDQUFDd2EsVUFBVUksS0FBSyxDQUFDalc7WUFDNUM7WUFFQSxTQUFTQSxNQUFNcUssQ0FBQztnQkFDZHlGLGtCQUFrQnBDLFVBQVVyRDtZQUM5QjtZQUVBc0wsT0FBT0ssSUFBSSxHQUFHM2EsSUFBSSxDQUFDd2EsVUFBVUksS0FBSyxDQUFDalc7UUFDckM7UUFFQSxTQUFTa1cseUJBQXlCM2MsTUFBTSxFQUFFa0YsT0FBTztZQUMvQyxJQUFJaVAsV0FBVzZILDBCQUEwQjlXO1lBQ3pDaVgsdUJBQXVCaEksVUFBVW5VO1lBQ2pDLE9BQU8wVSxRQUFRUDtRQUNqQjtRQUVBLFNBQVN5SSxnQkFBZ0JDLGtCQUFrQixFQUFFM1gsT0FBTztZQUNsRCxJQUFJaVAsV0FBVzZILDBCQUEwQjlXO1lBQ3pDMlgsbUJBQW1CL2EsSUFBSSxDQUFDLFNBQVVnYixDQUFDO2dCQUNqQ1gsdUJBQXVCaEksVUFBVTJJLEVBQUVsTSxJQUFJO1lBQ3pDLEdBQUcsU0FBVUUsQ0FBQztnQkFDWnlGLGtCQUFrQnBDLFVBQVVyRDtZQUM5QjtZQUNBLE9BQU80RCxRQUFRUDtRQUNqQjtRQUVBLFNBQVM0SSxZQUFZL2EsS0FBSyxFQUMxQiw4Q0FBOEM7WUFFNUMsT0FBTyxJQUFJa0IsUUFBUSxTQUFVSCxPQUFPLEVBQUV3TCxNQUFNO2dCQUMxQ0gsYUFBYXBNLE9BQU8sSUFBSWUsU0FBU3dMO1lBQ25DO1FBQ0Y7UUFFQXlPLHVCQUF1QixHQUFHSjtRQUMxQkksZ0NBQWdDLEdBQUdMO1FBQ25DSyw2QkFBNkIsR0FBR2pCO1FBQ2hDaUIsbUJBQW1CLEdBQUdEO0lBQ3BCO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0LXNlcnZlci1kb20td2VicGFjay9janMvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLWNsaWVudC5lZGdlLmRldmVsb3BtZW50LmpzP2VlMDUiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBSZWFjdFxuICogcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLWNsaWVudC5lZGdlLmRldmVsb3BtZW50LmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBNZXRhIFBsYXRmb3JtcywgSW5jLiBhbmQgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUmVhY3RET00gPSByZXF1aXJlKCdyZWFjdC1kb20nKTtcbnZhciBSZWFjdCA9IHJlcXVpcmUoJ3JlYWN0Jyk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YXIgZW5hYmxlQmluYXJ5RmxpZ2h0ID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0cmluZ0RlY29kZXIoKSB7XG4gIHJldHVybiBuZXcgVGV4dERlY29kZXIoKTtcbn1cbnZhciBkZWNvZGVyT3B0aW9ucyA9IHtcbiAgc3RyZWFtOiB0cnVlXG59O1xuZnVuY3Rpb24gcmVhZFBhcnRpYWxTdHJpbmdDaHVuayhkZWNvZGVyLCBidWZmZXIpIHtcbiAgcmV0dXJuIGRlY29kZXIuZGVjb2RlKGJ1ZmZlciwgZGVjb2Rlck9wdGlvbnMpO1xufVxuZnVuY3Rpb24gcmVhZEZpbmFsU3RyaW5nQ2h1bmsoZGVjb2RlciwgYnVmZmVyKSB7XG4gIHJldHVybiBkZWNvZGVyLmRlY29kZShidWZmZXIpO1xufVxuXG4vLyBUaGlzIGlzIHRoZSBwYXJzZWQgc2hhcGUgb2YgdGhlIHdpcmUgZm9ybWF0IHdoaWNoIGlzIHdoeSBpdCBpc1xuLy8gY29uZGVuc2VkIHRvIG9ubHkgdGhlIGVzc2VudGlhbHkgaW5mb3JtYXRpb25cbnZhciBJRCA9IDA7XG52YXIgQ0hVTktTID0gMTtcbnZhciBOQU1FID0gMjsgLy8gZXhwb3J0IGNvbnN0IEFTWU5DID0gMztcbi8vIFRoaXMgbG9naWMgaXMgY29ycmVjdCBiZWNhdXNlIGN1cnJlbnRseSBvbmx5IGluY2x1ZGUgdGhlIDR0aCB0dXBsZSBtZW1iZXJcbi8vIHdoZW4gdGhlIG1vZHVsZSBpcyBhc3luYy4gSWYgdGhhdCBjaGFuZ2VzIHdlIHdpbGwgbmVlZCB0byBhY3R1YWxseSBhc3NlcnRcbi8vIHRoZSB2YWx1ZSBpcyB0cnVlLiBXZSBkb24ndCBpbmRleCBpbnRvIHRoZSA0dGggc2xvdCBiZWNhdXNlIGZsb3cgZG9lcyBub3Rcbi8vIGxpa2UgdGhlIHBvdGVudGlhbCBvdXQgb2YgYm91bmRzIGFjY2Vzc1xuXG5mdW5jdGlvbiBpc0FzeW5jSW1wb3J0KG1ldGFkYXRhKSB7XG4gIHJldHVybiBtZXRhZGF0YS5sZW5ndGggPT09IDQ7XG59XG5cbi8vIFRoZSByZWFzb24gdGhpcyBmdW5jdGlvbiBuZWVkcyB0byBkZWZpbmVkIGhlcmUgaW4gdGhpcyBmaWxlIGluc3RlYWQgb2YganVzdFxuLy8gYmVpbmcgZXhwb3J0ZWQgZGlyZWN0bHkgZnJvbSB0aGUgV2VicGFja0Rlc3RpbmF0aW9uLi4uIGZpbGUgaXMgYmVjYXVzZSB0aGVcbi8vIENsaWVudFJlZmVyZW5jZU1ldGFkYXRhIGlzIG9wYXF1ZSBhbmQgd2UgY2FuJ3QgdW53cmFwIGl0IHRoZXJlLlxuLy8gVGhpcyBzaG91bGQgZ2V0IGlubGluZWQgYW5kIHdlIGNvdWxkIGFsc28ganVzdCBpbXBsZW1lbnQgYW4gdW53cmFwcGluZyBmdW5jdGlvblxuLy8gdGhvdWdoIHRoYXQgcmlza3MgaXQgZ2V0dGluZyB1c2VkIGluIHBsYWNlcyBpdCBzaG91bGRuJ3QgYmUuIFRoaXMgaXMgdW5mb3J0dW5hdGVcbi8vIGJ1dCBjdXJyZW50bHkgaXQgc2VlbXMgdG8gYmUgdGhlIGJlc3Qgb3B0aW9uIHdlIGhhdmUuXG5cbmZ1bmN0aW9uIHByZXBhcmVEZXN0aW5hdGlvbkZvck1vZHVsZShtb2R1bGVMb2FkaW5nLCBub25jZSwgbWV0YWRhdGEpIHtcbiAgcHJlcGFyZURlc3RpbmF0aW9uV2l0aENodW5rcyhtb2R1bGVMb2FkaW5nLCBtZXRhZGF0YVtDSFVOS1NdLCBub25jZSk7XG59XG5mdW5jdGlvbiByZXNvbHZlQ2xpZW50UmVmZXJlbmNlKGJ1bmRsZXJDb25maWcsIG1ldGFkYXRhKSB7XG4gIGlmIChidW5kbGVyQ29uZmlnKSB7XG4gICAgdmFyIG1vZHVsZUV4cG9ydHMgPSBidW5kbGVyQ29uZmlnW21ldGFkYXRhW0lEXV07XG4gICAgdmFyIHJlc29sdmVkTW9kdWxlRGF0YSA9IG1vZHVsZUV4cG9ydHNbbWV0YWRhdGFbTkFNRV1dO1xuICAgIHZhciBuYW1lO1xuXG4gICAgaWYgKHJlc29sdmVkTW9kdWxlRGF0YSkge1xuICAgICAgLy8gVGhlIHBvdGVudGlhbGx5IGFsaWFzZWQgbmFtZS5cbiAgICAgIG5hbWUgPSByZXNvbHZlZE1vZHVsZURhdGEubmFtZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSB0aGlzIHNwZWNpZmljIG5hbWUsIHdlIG1pZ2h0IGhhdmUgdGhlIGZ1bGwgbW9kdWxlLlxuICAgICAgcmVzb2x2ZWRNb2R1bGVEYXRhID0gbW9kdWxlRXhwb3J0c1snKiddO1xuXG4gICAgICBpZiAoIXJlc29sdmVkTW9kdWxlRGF0YSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHRoZSBtb2R1bGUgXCInICsgbWV0YWRhdGFbSURdICsgJ1wiIGluIHRoZSBSZWFjdCBTU1IgTWFuaWZlc3QuICcgKyAnVGhpcyBpcyBwcm9iYWJseSBhIGJ1ZyBpbiB0aGUgUmVhY3QgU2VydmVyIENvbXBvbmVudHMgYnVuZGxlci4nKTtcbiAgICAgIH1cblxuICAgICAgbmFtZSA9IG1ldGFkYXRhW05BTUVdO1xuICAgIH1cblxuICAgIGlmIChpc0FzeW5jSW1wb3J0KG1ldGFkYXRhKSkge1xuICAgICAgcmV0dXJuIFtyZXNvbHZlZE1vZHVsZURhdGEuaWQsIHJlc29sdmVkTW9kdWxlRGF0YS5jaHVua3MsIG5hbWUsIDFcbiAgICAgIC8qIGFzeW5jICovXG4gICAgICBdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW3Jlc29sdmVkTW9kdWxlRGF0YS5pZCwgcmVzb2x2ZWRNb2R1bGVEYXRhLmNodW5rcywgbmFtZV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFkYXRhO1xufVxuLy8gSWYgdGhleSdyZSBzdGlsbCBwZW5kaW5nIHRoZXkncmUgYSB0aGVuYWJsZS4gVGhpcyBtYXAgYWxzbyBleGlzdHNcbi8vIGluIFdlYnBhY2sgYnV0IHVuZm9ydHVuYXRlbHkgaXQncyBub3QgZXhwb3NlZCBzbyB3ZSBoYXZlIHRvXG4vLyByZXBsaWNhdGUgaXQgaW4gdXNlciBzcGFjZS4gbnVsbCBtZWFucyB0aGF0IGl0IGhhcyBhbHJlYWR5IGxvYWRlZC5cblxudmFyIGNodW5rQ2FjaGUgPSBuZXcgTWFwKCk7XG5cbmZ1bmN0aW9uIHJlcXVpcmVBc3luY01vZHVsZShpZCkge1xuICAvLyBXZSd2ZSBhbHJlYWR5IGxvYWRlZCBhbGwgdGhlIGNodW5rcy4gV2UgY2FuIHJlcXVpcmUgdGhlIG1vZHVsZS5cbiAgdmFyIHByb21pc2UgPSBnbG9iYWxUaGlzLl9fbmV4dF9yZXF1aXJlX18oaWQpO1xuXG4gIGlmICh0eXBlb2YgcHJvbWlzZS50aGVuICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gVGhpcyB3YXNuJ3QgYSBwcm9taXNlIGFmdGVyIGFsbC5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSBlbHNlIGlmIChwcm9taXNlLnN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCcpIHtcbiAgICAvLyBUaGlzIG1vZHVsZSB3YXMgYWxyZWFkeSByZXNvbHZlZCBlYXJsaWVyLlxuICAgIHJldHVybiBudWxsO1xuICB9IGVsc2Uge1xuICAgIC8vIEluc3RydW1lbnQgdGhlIFByb21pc2UgdG8gc3Rhc2ggdGhlIHJlc3VsdC5cbiAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICB2YXIgZnVsZmlsbGVkVGhlbmFibGUgPSBwcm9taXNlO1xuICAgICAgZnVsZmlsbGVkVGhlbmFibGUuc3RhdHVzID0gJ2Z1bGZpbGxlZCc7XG4gICAgICBmdWxmaWxsZWRUaGVuYWJsZS52YWx1ZSA9IHZhbHVlO1xuICAgIH0sIGZ1bmN0aW9uIChyZWFzb24pIHtcbiAgICAgIHZhciByZWplY3RlZFRoZW5hYmxlID0gcHJvbWlzZTtcbiAgICAgIHJlamVjdGVkVGhlbmFibGUuc3RhdHVzID0gJ3JlamVjdGVkJztcbiAgICAgIHJlamVjdGVkVGhlbmFibGUucmVhc29uID0gcmVhc29uO1xuICAgIH0pO1xuICAgIHJldHVybiBwcm9taXNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlnbm9yZVJlamVjdCgpIHsvLyBXZSByZWx5IG9uIHJlamVjdGVkIHByb21pc2VzIHRvIGJlIGhhbmRsZWQgYnkgYW5vdGhlciBsaXN0ZW5lci5cbn0gLy8gU3RhcnQgcHJlbG9hZGluZyB0aGUgbW9kdWxlcyBzaW5jZSB3ZSBtaWdodCBuZWVkIHRoZW0gc29vbi5cbi8vIFRoaXMgZnVuY3Rpb24gZG9lc24ndCBzdXNwZW5kLlxuXG5cbmZ1bmN0aW9uIHByZWxvYWRNb2R1bGUobWV0YWRhdGEpIHtcbiAgdmFyIGNodW5rcyA9IG1ldGFkYXRhW0NIVU5LU107XG4gIHZhciBwcm9taXNlcyA9IFtdO1xuICB2YXIgaSA9IDA7XG5cbiAgd2hpbGUgKGkgPCBjaHVua3MubGVuZ3RoKSB7XG4gICAgdmFyIGNodW5rSWQgPSBjaHVua3NbaSsrXTtcbiAgICBjaHVua3NbaSsrXTtcbiAgICB2YXIgZW50cnkgPSBjaHVua0NhY2hlLmdldChjaHVua0lkKTtcblxuICAgIGlmIChlbnRyeSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YXIgdGhlbmFibGUgPSBsb2FkQ2h1bmsoY2h1bmtJZCk7XG4gICAgICBwcm9taXNlcy5wdXNoKHRoZW5hYmxlKTsgLy8gJEZsb3dGaXhNZVttZXRob2QtdW5iaW5kaW5nXVxuXG4gICAgICB2YXIgcmVzb2x2ZSA9IGNodW5rQ2FjaGUuc2V0LmJpbmQoY2h1bmtDYWNoZSwgY2h1bmtJZCwgbnVsbCk7XG4gICAgICB0aGVuYWJsZS50aGVuKHJlc29sdmUsIGlnbm9yZVJlamVjdCk7XG4gICAgICBjaHVua0NhY2hlLnNldChjaHVua0lkLCB0aGVuYWJsZSk7XG4gICAgfSBlbHNlIGlmIChlbnRyeSAhPT0gbnVsbCkge1xuICAgICAgcHJvbWlzZXMucHVzaChlbnRyeSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGlzQXN5bmNJbXBvcnQobWV0YWRhdGEpKSB7XG4gICAgaWYgKHByb21pc2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHJlcXVpcmVBc3luY01vZHVsZShtZXRhZGF0YVtJRF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZUFzeW5jTW9kdWxlKG1ldGFkYXRhW0lEXSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0gZWxzZSBpZiAocHJvbWlzZXMubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn0gLy8gQWN0dWFsbHkgcmVxdWlyZSB0aGUgbW9kdWxlIG9yIHN1c3BlbmQgaWYgaXQncyBub3QgeWV0IHJlYWR5LlxuLy8gSW5jcmVhc2UgcHJpb3JpdHkgaWYgbmVjZXNzYXJ5LlxuXG5mdW5jdGlvbiByZXF1aXJlTW9kdWxlKG1ldGFkYXRhKSB7XG4gIHZhciBtb2R1bGVFeHBvcnRzID0gZ2xvYmFsVGhpcy5fX25leHRfcmVxdWlyZV9fKG1ldGFkYXRhW0lEXSk7XG5cbiAgaWYgKGlzQXN5bmNJbXBvcnQobWV0YWRhdGEpKSB7XG4gICAgaWYgKHR5cGVvZiBtb2R1bGVFeHBvcnRzLnRoZW4gIT09ICdmdW5jdGlvbicpIDsgZWxzZSBpZiAobW9kdWxlRXhwb3J0cy5zdGF0dXMgPT09ICdmdWxmaWxsZWQnKSB7XG4gICAgICAvLyBUaGlzIFByb21pc2Ugc2hvdWxkJ3ZlIGJlZW4gaW5zdHJ1bWVudGVkIGJ5IHByZWxvYWRNb2R1bGUuXG4gICAgICBtb2R1bGVFeHBvcnRzID0gbW9kdWxlRXhwb3J0cy52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbW9kdWxlRXhwb3J0cy5yZWFzb247XG4gICAgfVxuICB9XG5cbiAgaWYgKG1ldGFkYXRhW05BTUVdID09PSAnKicpIHtcbiAgICAvLyBUaGlzIGlzIGEgcGxhY2Vob2xkZXIgdmFsdWUgdGhhdCByZXByZXNlbnRzIHRoYXQgdGhlIGNhbGxlciBpbXBvcnRlZCB0aGlzXG4gICAgLy8gYXMgYSBDb21tb25KUyBtb2R1bGUgYXMgaXMuXG4gICAgcmV0dXJuIG1vZHVsZUV4cG9ydHM7XG4gIH1cblxuICBpZiAobWV0YWRhdGFbTkFNRV0gPT09ICcnKSB7XG4gICAgLy8gVGhpcyBpcyBhIHBsYWNlaG9sZGVyIHZhbHVlIHRoYXQgcmVwcmVzZW50cyB0aGF0IHRoZSBjYWxsZXIgYWNjZXNzZWQgdGhlXG4gICAgLy8gZGVmYXVsdCBwcm9wZXJ0eSBvZiB0aGlzIGlmIGl0IHdhcyBhbiBFU00gaW50ZXJvcCBtb2R1bGUuXG4gICAgcmV0dXJuIG1vZHVsZUV4cG9ydHMuX19lc01vZHVsZSA/IG1vZHVsZUV4cG9ydHMuZGVmYXVsdCA6IG1vZHVsZUV4cG9ydHM7XG4gIH1cblxuICByZXR1cm4gbW9kdWxlRXhwb3J0c1ttZXRhZGF0YVtOQU1FXV07XG59XG5cbmZ1bmN0aW9uIGxvYWRDaHVuayhjaHVua0lkLCBmaWxlbmFtZSkge1xuICByZXR1cm4gX193ZWJwYWNrX2NodW5rX2xvYWRfXyhjaHVua0lkKTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZURlc3RpbmF0aW9uV2l0aENodW5rcyhtb2R1bGVMb2FkaW5nLCAvLyBDaHVua3MgYXJlIGRvdWJsZS1pbmRleGVkIFsuLi4sIGlkeCwgZmlsZW5hbWV4LCBpZHksIGZpbGVuYW1leSwgLi4uXVxuY2h1bmtzLCBub25jZSkge1xuICBpZiAobW9kdWxlTG9hZGluZyAhPT0gbnVsbCkge1xuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgY2h1bmtzLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgICBwcmVpbml0U2NyaXB0Rm9yU1NSKG1vZHVsZUxvYWRpbmcucHJlZml4ICsgY2h1bmtzW2ldLCBub25jZSwgbW9kdWxlTG9hZGluZy5jcm9zc09yaWdpbik7XG4gICAgfVxuICB9XG59XG5cbnZhciBSZWFjdERPTVNoYXJlZEludGVybmFscyA9IFJlYWN0RE9NLl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEO1xuXG5mdW5jdGlvbiBnZXRDcm9zc09yaWdpblN0cmluZyhpbnB1dCkge1xuICBpZiAodHlwZW9mIGlucHV0ID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBpbnB1dCA9PT0gJ3VzZS1jcmVkZW50aWFscycgPyBpbnB1dCA6ICcnO1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLy8gVGhpcyBjbGllbnQgZmlsZSBpcyBpbiB0aGUgc2hhcmVkIGZvbGRlciBiZWNhdXNlIGl0IGFwcGxpZXMgdG8gYm90aCBTU1IgYW5kIGJyb3dzZXIgY29udGV4dHMuXG52YXIgUmVhY3RET01DdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0RE9NU2hhcmVkSW50ZXJuYWxzLkRpc3BhdGNoZXI7XG5mdW5jdGlvbiBkaXNwYXRjaEhpbnQoY29kZSwgbW9kZWwpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSBSZWFjdERPTUN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XG5cbiAgaWYgKGRpc3BhdGNoZXIpIHtcbiAgICBzd2l0Y2ggKGNvZGUpIHtcbiAgICAgIGNhc2UgJ0QnOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHJlZmluZWQgPSByZWZpbmVNb2RlbChjb2RlLCBtb2RlbCk7XG4gICAgICAgICAgdmFyIGhyZWYgPSByZWZpbmVkO1xuICAgICAgICAgIGRpc3BhdGNoZXIucHJlZmV0Y2hETlMoaHJlZik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ0MnOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9yZWZpbmVkID0gcmVmaW5lTW9kZWwoY29kZSwgbW9kZWwpO1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBfcmVmaW5lZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHZhciBfaHJlZiA9IF9yZWZpbmVkO1xuICAgICAgICAgICAgZGlzcGF0Y2hlci5wcmVjb25uZWN0KF9ocmVmKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIF9ocmVmMiA9IF9yZWZpbmVkWzBdO1xuICAgICAgICAgICAgdmFyIGNyb3NzT3JpZ2luID0gX3JlZmluZWRbMV07XG4gICAgICAgICAgICBkaXNwYXRjaGVyLnByZWNvbm5lY3QoX2hyZWYyLCBjcm9zc09yaWdpbik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ0wnOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9yZWZpbmVkMiA9IHJlZmluZU1vZGVsKGNvZGUsIG1vZGVsKTtcblxuICAgICAgICAgIHZhciBfaHJlZjMgPSBfcmVmaW5lZDJbMF07XG4gICAgICAgICAgdmFyIGFzID0gX3JlZmluZWQyWzFdO1xuXG4gICAgICAgICAgaWYgKF9yZWZpbmVkMi5sZW5ndGggPT09IDMpIHtcbiAgICAgICAgICAgIHZhciBvcHRpb25zID0gX3JlZmluZWQyWzJdO1xuICAgICAgICAgICAgZGlzcGF0Y2hlci5wcmVsb2FkKF9ocmVmMywgYXMsIG9wdGlvbnMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkaXNwYXRjaGVyLnByZWxvYWQoX2hyZWYzLCBhcyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ20nOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9yZWZpbmVkMyA9IHJlZmluZU1vZGVsKGNvZGUsIG1vZGVsKTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgX3JlZmluZWQzID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdmFyIF9ocmVmNCA9IF9yZWZpbmVkMztcbiAgICAgICAgICAgIGRpc3BhdGNoZXIucHJlbG9hZE1vZHVsZShfaHJlZjQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgX2hyZWY1ID0gX3JlZmluZWQzWzBdO1xuICAgICAgICAgICAgdmFyIF9vcHRpb25zID0gX3JlZmluZWQzWzFdO1xuICAgICAgICAgICAgZGlzcGF0Y2hlci5wcmVsb2FkTW9kdWxlKF9ocmVmNSwgX29wdGlvbnMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdTJzpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBfcmVmaW5lZDQgPSByZWZpbmVNb2RlbChjb2RlLCBtb2RlbCk7XG5cbiAgICAgICAgICBpZiAodHlwZW9mIF9yZWZpbmVkNCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHZhciBfaHJlZjYgPSBfcmVmaW5lZDQ7XG4gICAgICAgICAgICBkaXNwYXRjaGVyLnByZWluaXRTdHlsZShfaHJlZjYpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgX2hyZWY3ID0gX3JlZmluZWQ0WzBdO1xuICAgICAgICAgICAgdmFyIHByZWNlZGVuY2UgPSBfcmVmaW5lZDRbMV0gPT09IDAgPyB1bmRlZmluZWQgOiBfcmVmaW5lZDRbMV07XG5cbiAgICAgICAgICAgIHZhciBfb3B0aW9uczIgPSBfcmVmaW5lZDQubGVuZ3RoID09PSAzID8gX3JlZmluZWQ0WzJdIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBkaXNwYXRjaGVyLnByZWluaXRTdHlsZShfaHJlZjcsIHByZWNlZGVuY2UsIF9vcHRpb25zMik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ1gnOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9yZWZpbmVkNSA9IHJlZmluZU1vZGVsKGNvZGUsIG1vZGVsKTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgX3JlZmluZWQ1ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdmFyIF9ocmVmOCA9IF9yZWZpbmVkNTtcbiAgICAgICAgICAgIGRpc3BhdGNoZXIucHJlaW5pdFNjcmlwdChfaHJlZjgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgX2hyZWY5ID0gX3JlZmluZWQ1WzBdO1xuICAgICAgICAgICAgdmFyIF9vcHRpb25zMyA9IF9yZWZpbmVkNVsxXTtcbiAgICAgICAgICAgIGRpc3BhdGNoZXIucHJlaW5pdFNjcmlwdChfaHJlZjksIF9vcHRpb25zMyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ00nOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9yZWZpbmVkNiA9IHJlZmluZU1vZGVsKGNvZGUsIG1vZGVsKTtcblxuICAgICAgICAgIGlmICh0eXBlb2YgX3JlZmluZWQ2ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdmFyIF9ocmVmMTAgPSBfcmVmaW5lZDY7XG4gICAgICAgICAgICBkaXNwYXRjaGVyLnByZWluaXRNb2R1bGVTY3JpcHQoX2hyZWYxMCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBfaHJlZjExID0gX3JlZmluZWQ2WzBdO1xuICAgICAgICAgICAgdmFyIF9vcHRpb25zNCA9IF9yZWZpbmVkNlsxXTtcbiAgICAgICAgICAgIGRpc3BhdGNoZXIucHJlaW5pdE1vZHVsZVNjcmlwdChfaHJlZjExLCBfb3B0aW9uczQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufSAvLyBGbG93IGlzIGhhdmluZyB0cm91YmxlIHJlZmluaW5nIHRoZSBIaW50TW9kZWxzIHNvIHdlIGhlbHAgaXQgYSBiaXQuXG4vLyBUaGlzIHNob3VsZCBiZSBjb21waWxlZCBvdXQgaW4gdGhlIHByb2R1Y3Rpb24gYnVpbGQuXG5cbmZ1bmN0aW9uIHJlZmluZU1vZGVsKGNvZGUsIG1vZGVsKSB7XG4gIHJldHVybiBtb2RlbDtcbn1cbmZ1bmN0aW9uIHByZWluaXRTY3JpcHRGb3JTU1IoaHJlZiwgbm9uY2UsIGNyb3NzT3JpZ2luKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gUmVhY3RET01DdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xuXG4gIGlmIChkaXNwYXRjaGVyKSB7XG4gICAgZGlzcGF0Y2hlci5wcmVpbml0U2NyaXB0KGhyZWYsIHtcbiAgICAgIGNyb3NzT3JpZ2luOiBnZXRDcm9zc09yaWdpblN0cmluZyhjcm9zc09yaWdpbiksXG4gICAgICBub25jZTogbm9uY2VcbiAgICB9KTtcbiAgfVxufVxuXG52YXIgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPSBSZWFjdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRDtcblxuZnVuY3Rpb24gZXJyb3IoZm9ybWF0KSB7XG4gIHtcbiAgICB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICBwcmludFdhcm5pbmcoJ2Vycm9yJywgZm9ybWF0LCBhcmdzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xuXG4gICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICBhcmdzID0gYXJncy5jb25jYXQoW3N0YWNrXSk7XG4gICAgfSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuXG4gICAgdmFyIGFyZ3NXaXRoRm9ybWF0ID0gYXJncy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIHJldHVybiBTdHJpbmcoaXRlbSk7XG4gICAgfSk7IC8vIENhcmVmdWw6IFJOIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJlZml4XG5cbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcbiAgICAvLyBicmVha3MgSUU5OiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjEwXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL25vLXByb2R1Y3Rpb24tbG9nZ2luZ1xuXG4gICAgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZVtsZXZlbF0sIGNvbnNvbGUsIGFyZ3NXaXRoRm9ybWF0KTtcbiAgfVxufVxuXG4vLyBBVFRFTlRJT05cbi8vIFdoZW4gYWRkaW5nIG5ldyBzeW1ib2xzIHRvIHRoaXMgZmlsZSxcbi8vIFBsZWFzZSBjb25zaWRlciBhbHNvIGFkZGluZyB0byAncmVhY3QtZGV2dG9vbHMtc2hhcmVkL3NyYy9iYWNrZW5kL1JlYWN0U3ltYm9scydcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLlxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKTtcbnZhciBSRUFDVF9QUk9WSURFUl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QucHJvdmlkZXInKTtcbnZhciBSRUFDVF9TRVJWRVJfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc2VydmVyX2NvbnRleHQnKTtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0Jyk7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcigncmVhY3QubWVtbycpO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKTtcbnZhciBSRUFDVF9TRVJWRVJfQ09OVEVYVF9ERUZBVUxUX1ZBTFVFX05PVF9MT0FERUQgPSBTeW1ib2wuZm9yKCdyZWFjdC5kZWZhdWx0X3ZhbHVlJyk7XG52YXIgTUFZQkVfSVRFUkFUT1JfU1lNQk9MID0gU3ltYm9sLml0ZXJhdG9yO1xudmFyIEZBVVhfSVRFUkFUT1JfU1lNQk9MID0gJ0BAaXRlcmF0b3InO1xuZnVuY3Rpb24gZ2V0SXRlcmF0b3JGbihtYXliZUl0ZXJhYmxlKSB7XG4gIGlmIChtYXliZUl0ZXJhYmxlID09PSBudWxsIHx8IHR5cGVvZiBtYXliZUl0ZXJhYmxlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIG1heWJlSXRlcmF0b3IgPSBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgJiYgbWF5YmVJdGVyYWJsZVtNQVlCRV9JVEVSQVRPUl9TWU1CT0xdIHx8IG1heWJlSXRlcmFibGVbRkFVWF9JVEVSQVRPUl9TWU1CT0xdO1xuXG4gIGlmICh0eXBlb2YgbWF5YmVJdGVyYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBtYXliZUl0ZXJhdG9yO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciBpc0FycmF5SW1wbCA9IEFycmF5LmlzQXJyYXk7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcblxuZnVuY3Rpb24gaXNBcnJheShhKSB7XG4gIHJldHVybiBpc0FycmF5SW1wbChhKTtcbn1cblxudmFyIGdldFByb3RvdHlwZU9mID0gT2JqZWN0LmdldFByb3RvdHlwZU9mO1xuXG4vLyBpbiBjYXNlIHRoZXkgZXJyb3IuXG5cbnZhciBqc3hQcm9wc1BhcmVudHMgPSBuZXcgV2Vha01hcCgpO1xudmFyIGpzeENoaWxkcmVuUGFyZW50cyA9IG5ldyBXZWFrTWFwKCk7XG5cbmZ1bmN0aW9uIGlzT2JqZWN0UHJvdG90eXBlKG9iamVjdCkge1xuICBpZiAoIW9iamVjdCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciBPYmplY3RQcm90b3R5cGUgPSBPYmplY3QucHJvdG90eXBlO1xuXG4gIGlmIChvYmplY3QgPT09IE9iamVjdFByb3RvdHlwZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIEl0IG1pZ2h0IGJlIGFuIG9iamVjdCBmcm9tIGEgZGlmZmVyZW50IFJlYWxtIHdoaWNoIGlzXG4gIC8vIHN0aWxsIGp1c3QgYSBwbGFpbiBzaW1wbGUgb2JqZWN0LlxuXG5cbiAgaWYgKGdldFByb3RvdHlwZU9mKG9iamVjdCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgbmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmplY3QpO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbmFtZXMubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoIShuYW1lc1tpXSBpbiBPYmplY3RQcm90b3R5cGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGlzU2ltcGxlT2JqZWN0KG9iamVjdCkge1xuICBpZiAoIWlzT2JqZWN0UHJvdG90eXBlKGdldFByb3RvdHlwZU9mKG9iamVjdCkpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIG5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqZWN0KTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IG5hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgbmFtZXNbaV0pO1xuXG4gICAgaWYgKCFkZXNjcmlwdG9yKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKCFkZXNjcmlwdG9yLmVudW1lcmFibGUpIHtcbiAgICAgIGlmICgobmFtZXNbaV0gPT09ICdrZXknIHx8IG5hbWVzW2ldID09PSAncmVmJykgJiYgdHlwZW9mIGRlc2NyaXB0b3IuZ2V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIFJlYWN0IGFkZHMga2V5IGFuZCByZWYgZ2V0dGVycyB0byBwcm9wcyBvYmplY3RzIHRvIGlzc3VlIHdhcm5pbmdzLlxuICAgICAgICAvLyBUaG9zZSBnZXR0ZXJzIHdpbGwgbm90IGJlIHRyYW5zZmVycmVkIHRvIHRoZSBjbGllbnQsIGJ1dCB0aGF0J3Mgb2ssXG4gICAgICAgIC8vIHNvIHdlJ2xsIHNwZWNpYWwgY2FzZSB0aGVtLlxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gb2JqZWN0TmFtZShvYmplY3QpIHtcbiAgLy8gJEZsb3dGaXhNZVttZXRob2QtdW5iaW5kaW5nXVxuICB2YXIgbmFtZSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmplY3QpO1xuICByZXR1cm4gbmFtZS5yZXBsYWNlKC9eXFxbb2JqZWN0ICguKilcXF0kLywgZnVuY3Rpb24gKG0sIHAwKSB7XG4gICAgcmV0dXJuIHAwO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVLZXlGb3JFcnJvck1lc3NhZ2Uoa2V5KSB7XG4gIHZhciBlbmNvZGVkS2V5ID0gSlNPTi5zdHJpbmdpZnkoa2V5KTtcbiAgcmV0dXJuICdcIicgKyBrZXkgKyAnXCInID09PSBlbmNvZGVkS2V5ID8ga2V5IDogZW5jb2RlZEtleTtcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVWYWx1ZUZvckVycm9yTWVzc2FnZSh2YWx1ZSkge1xuICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZS5sZW5ndGggPD0gMTAgPyB2YWx1ZSA6IHZhbHVlLnNsaWNlKDAsIDEwKSArICcuLi4nKTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICB7XG4gICAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiAnWy4uLl0nO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIG5hbWUgPSBvYmplY3ROYW1lKHZhbHVlKTtcblxuICAgICAgICBpZiAobmFtZSA9PT0gJ09iamVjdCcpIHtcbiAgICAgICAgICByZXR1cm4gJ3suLi59JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuYW1lO1xuICAgICAgfVxuXG4gICAgY2FzZSAnZnVuY3Rpb24nOlxuICAgICAgcmV0dXJuICdmdW5jdGlvbic7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWludGVybmFsL3NhZmUtc3RyaW5nLWNvZXJjaW9uXG4gICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkZXNjcmliZUVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlRWxlbWVudFR5cGUodHlwZS5yZW5kZXIpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgcmV0dXJuIGRlc2NyaWJlRWxlbWVudFR5cGUodHlwZS50eXBlKTtcblxuICAgICAgY2FzZSBSRUFDVF9MQVpZX1RZUEU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGF6eUNvbXBvbmVudCA9IHR5cGU7XG4gICAgICAgICAgdmFyIHBheWxvYWQgPSBsYXp5Q29tcG9uZW50Ll9wYXlsb2FkO1xuICAgICAgICAgIHZhciBpbml0ID0gbGF6eUNvbXBvbmVudC5faW5pdDtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBMYXp5IG1heSBjb250YWluIGFueSBjb21wb25lbnQgdHlwZSBzbyB3ZSByZWN1cnNpdmVseSByZXNvbHZlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlRWxlbWVudFR5cGUoaW5pdChwYXlsb2FkKSk7XG4gICAgICAgICAgfSBjYXRjaCAoeCkge31cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAnJztcbn1cblxuZnVuY3Rpb24gZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2Uob2JqZWN0T3JBcnJheSwgZXhwYW5kZWROYW1lKSB7XG4gIHZhciBvYmpLaW5kID0gb2JqZWN0TmFtZShvYmplY3RPckFycmF5KTtcblxuICBpZiAob2JqS2luZCAhPT0gJ09iamVjdCcgJiYgb2JqS2luZCAhPT0gJ0FycmF5Jykge1xuICAgIHJldHVybiBvYmpLaW5kO1xuICB9XG5cbiAgdmFyIHN0ciA9ICcnO1xuICB2YXIgc3RhcnQgPSAtMTtcbiAgdmFyIGxlbmd0aCA9IDA7XG5cbiAgaWYgKGlzQXJyYXkob2JqZWN0T3JBcnJheSkpIHtcbiAgICBpZiAoanN4Q2hpbGRyZW5QYXJlbnRzLmhhcyhvYmplY3RPckFycmF5KSkge1xuICAgICAgLy8gUHJpbnQgSlNYIENoaWxkcmVuXG4gICAgICB2YXIgdHlwZSA9IGpzeENoaWxkcmVuUGFyZW50cy5nZXQob2JqZWN0T3JBcnJheSk7XG4gICAgICBzdHIgPSAnPCcgKyBkZXNjcmliZUVsZW1lbnRUeXBlKHR5cGUpICsgJz4nO1xuICAgICAgdmFyIGFycmF5ID0gb2JqZWN0T3JBcnJheTtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpXTtcbiAgICAgICAgdmFyIHN1YnN0ciA9IHZvaWQgMDtcblxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHN1YnN0ciA9IHZhbHVlO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICBzdWJzdHIgPSAneycgKyBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZSh2YWx1ZSkgKyAnfSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3Vic3RyID0gJ3snICsgZGVzY3JpYmVWYWx1ZUZvckVycm9yTWVzc2FnZSh2YWx1ZSkgKyAnfSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoJycgKyBpID09PSBleHBhbmRlZE5hbWUpIHtcbiAgICAgICAgICBzdGFydCA9IHN0ci5sZW5ndGg7XG4gICAgICAgICAgbGVuZ3RoID0gc3Vic3RyLmxlbmd0aDtcbiAgICAgICAgICBzdHIgKz0gc3Vic3RyO1xuICAgICAgICB9IGVsc2UgaWYgKHN1YnN0ci5sZW5ndGggPCAxNSAmJiBzdHIubGVuZ3RoICsgc3Vic3RyLmxlbmd0aCA8IDQwKSB7XG4gICAgICAgICAgc3RyICs9IHN1YnN0cjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdHIgKz0gJ3suLi59JztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzdHIgKz0gJzwvJyArIGRlc2NyaWJlRWxlbWVudFR5cGUodHlwZSkgKyAnPic7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFByaW50IEFycmF5XG4gICAgICBzdHIgPSAnWyc7XG4gICAgICB2YXIgX2FycmF5ID0gb2JqZWN0T3JBcnJheTtcblxuICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IF9hcnJheS5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgaWYgKF9pID4gMCkge1xuICAgICAgICAgIHN0ciArPSAnLCAnO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIF92YWx1ZSA9IF9hcnJheVtfaV07XG5cbiAgICAgICAgdmFyIF9zdWJzdHIgPSB2b2lkIDA7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBfdmFsdWUgPT09ICdvYmplY3QnICYmIF92YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgIF9zdWJzdHIgPSBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZShfdmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIF9zdWJzdHIgPSBkZXNjcmliZVZhbHVlRm9yRXJyb3JNZXNzYWdlKF92YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoJycgKyBfaSA9PT0gZXhwYW5kZWROYW1lKSB7XG4gICAgICAgICAgc3RhcnQgPSBzdHIubGVuZ3RoO1xuICAgICAgICAgIGxlbmd0aCA9IF9zdWJzdHIubGVuZ3RoO1xuICAgICAgICAgIHN0ciArPSBfc3Vic3RyO1xuICAgICAgICB9IGVsc2UgaWYgKF9zdWJzdHIubGVuZ3RoIDwgMTAgJiYgc3RyLmxlbmd0aCArIF9zdWJzdHIubGVuZ3RoIDwgNDApIHtcbiAgICAgICAgICBzdHIgKz0gX3N1YnN0cjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdHIgKz0gJy4uLic7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3RyICs9ICddJztcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKG9iamVjdE9yQXJyYXkuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRSkge1xuICAgICAgc3RyID0gJzwnICsgZGVzY3JpYmVFbGVtZW50VHlwZShvYmplY3RPckFycmF5LnR5cGUpICsgJy8+JztcbiAgICB9IGVsc2UgaWYgKGpzeFByb3BzUGFyZW50cy5oYXMob2JqZWN0T3JBcnJheSkpIHtcbiAgICAgIC8vIFByaW50IEpTWFxuICAgICAgdmFyIF90eXBlID0ganN4UHJvcHNQYXJlbnRzLmdldChvYmplY3RPckFycmF5KTtcblxuICAgICAgc3RyID0gJzwnICsgKGRlc2NyaWJlRWxlbWVudFR5cGUoX3R5cGUpIHx8ICcuLi4nKTtcbiAgICAgIHZhciBvYmplY3QgPSBvYmplY3RPckFycmF5O1xuICAgICAgdmFyIG5hbWVzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcblxuICAgICAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDwgbmFtZXMubGVuZ3RoOyBfaTIrKykge1xuICAgICAgICBzdHIgKz0gJyAnO1xuICAgICAgICB2YXIgbmFtZSA9IG5hbWVzW19pMl07XG4gICAgICAgIHN0ciArPSBkZXNjcmliZUtleUZvckVycm9yTWVzc2FnZShuYW1lKSArICc9JztcbiAgICAgICAgdmFyIF92YWx1ZTIgPSBvYmplY3RbbmFtZV07XG5cbiAgICAgICAgdmFyIF9zdWJzdHIyID0gdm9pZCAwO1xuXG4gICAgICAgIGlmIChuYW1lID09PSBleHBhbmRlZE5hbWUgJiYgdHlwZW9mIF92YWx1ZTIgPT09ICdvYmplY3QnICYmIF92YWx1ZTIgIT09IG51bGwpIHtcbiAgICAgICAgICBfc3Vic3RyMiA9IGRlc2NyaWJlT2JqZWN0Rm9yRXJyb3JNZXNzYWdlKF92YWx1ZTIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIF9zdWJzdHIyID0gZGVzY3JpYmVWYWx1ZUZvckVycm9yTWVzc2FnZShfdmFsdWUyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgX3ZhbHVlMiAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBfc3Vic3RyMiA9ICd7JyArIF9zdWJzdHIyICsgJ30nO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5hbWUgPT09IGV4cGFuZGVkTmFtZSkge1xuICAgICAgICAgIHN0YXJ0ID0gc3RyLmxlbmd0aDtcbiAgICAgICAgICBsZW5ndGggPSBfc3Vic3RyMi5sZW5ndGg7XG4gICAgICAgICAgc3RyICs9IF9zdWJzdHIyO1xuICAgICAgICB9IGVsc2UgaWYgKF9zdWJzdHIyLmxlbmd0aCA8IDEwICYmIHN0ci5sZW5ndGggKyBfc3Vic3RyMi5sZW5ndGggPCA0MCkge1xuICAgICAgICAgIHN0ciArPSBfc3Vic3RyMjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdHIgKz0gJy4uLic7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3RyICs9ICc+JztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUHJpbnQgT2JqZWN0XG4gICAgICBzdHIgPSAneyc7XG4gICAgICB2YXIgX29iamVjdCA9IG9iamVjdE9yQXJyYXk7XG5cbiAgICAgIHZhciBfbmFtZXMgPSBPYmplY3Qua2V5cyhfb2JqZWN0KTtcblxuICAgICAgZm9yICh2YXIgX2kzID0gMDsgX2kzIDwgX25hbWVzLmxlbmd0aDsgX2kzKyspIHtcbiAgICAgICAgaWYgKF9pMyA+IDApIHtcbiAgICAgICAgICBzdHIgKz0gJywgJztcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBfbmFtZSA9IF9uYW1lc1tfaTNdO1xuICAgICAgICBzdHIgKz0gZGVzY3JpYmVLZXlGb3JFcnJvck1lc3NhZ2UoX25hbWUpICsgJzogJztcbiAgICAgICAgdmFyIF92YWx1ZTMgPSBfb2JqZWN0W19uYW1lXTtcblxuICAgICAgICB2YXIgX3N1YnN0cjMgPSB2b2lkIDA7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBfdmFsdWUzID09PSAnb2JqZWN0JyAmJiBfdmFsdWUzICE9PSBudWxsKSB7XG4gICAgICAgICAgX3N1YnN0cjMgPSBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZShfdmFsdWUzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBfc3Vic3RyMyA9IGRlc2NyaWJlVmFsdWVGb3JFcnJvck1lc3NhZ2UoX3ZhbHVlMyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoX25hbWUgPT09IGV4cGFuZGVkTmFtZSkge1xuICAgICAgICAgIHN0YXJ0ID0gc3RyLmxlbmd0aDtcbiAgICAgICAgICBsZW5ndGggPSBfc3Vic3RyMy5sZW5ndGg7XG4gICAgICAgICAgc3RyICs9IF9zdWJzdHIzO1xuICAgICAgICB9IGVsc2UgaWYgKF9zdWJzdHIzLmxlbmd0aCA8IDEwICYmIHN0ci5sZW5ndGggKyBfc3Vic3RyMy5sZW5ndGggPCA0MCkge1xuICAgICAgICAgIHN0ciArPSBfc3Vic3RyMztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdHIgKz0gJy4uLic7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3RyICs9ICd9JztcbiAgICB9XG4gIH1cblxuICBpZiAoZXhwYW5kZWROYW1lID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gc3RyO1xuICB9XG5cbiAgaWYgKHN0YXJ0ID4gLTEgJiYgbGVuZ3RoID4gMCkge1xuICAgIHZhciBoaWdobGlnaHQgPSAnICcucmVwZWF0KHN0YXJ0KSArICdeJy5yZXBlYXQobGVuZ3RoKTtcbiAgICByZXR1cm4gJ1xcbiAgJyArIHN0ciArICdcXG4gICcgKyBoaWdobGlnaHQ7XG4gIH1cblxuICByZXR1cm4gJ1xcbiAgJyArIHN0cjtcbn1cblxudmFyIE9iamVjdFByb3RvdHlwZSA9IE9iamVjdC5wcm90b3R5cGU7XG52YXIga25vd25TZXJ2ZXJSZWZlcmVuY2VzID0gbmV3IFdlYWtNYXAoKTsgLy8gU2VyaWFsaXphYmxlIHZhbHVlc1xuLy8gVGhlbmFibGU8UmVhY3RTZXJ2ZXJWYWx1ZT5cbi8vIGZ1bmN0aW9uIHNlcmlhbGl6ZUJ5VmFsdWVJRChpZDogbnVtYmVyKTogc3RyaW5nIHtcbi8vICAgcmV0dXJuICckJyArIGlkLnRvU3RyaW5nKDE2KTtcbi8vIH1cblxuZnVuY3Rpb24gc2VyaWFsaXplUHJvbWlzZUlEKGlkKSB7XG4gIHJldHVybiAnJEAnICsgaWQudG9TdHJpbmcoMTYpO1xufVxuXG5mdW5jdGlvbiBzZXJpYWxpemVTZXJ2ZXJSZWZlcmVuY2VJRChpZCkge1xuICByZXR1cm4gJyRGJyArIGlkLnRvU3RyaW5nKDE2KTtcbn1cblxuZnVuY3Rpb24gc2VyaWFsaXplU3ltYm9sUmVmZXJlbmNlKG5hbWUpIHtcbiAgcmV0dXJuICckUycgKyBuYW1lO1xufVxuXG5mdW5jdGlvbiBzZXJpYWxpemVGb3JtRGF0YVJlZmVyZW5jZShpZCkge1xuICAvLyBXaHkgSz8gRiBpcyBcIkZ1bmN0aW9uXCIuIEQgaXMgXCJEYXRlXCIuIFdoYXQgZWxzZT9cbiAgcmV0dXJuICckSycgKyBpZC50b1N0cmluZygxNik7XG59XG5cbmZ1bmN0aW9uIHNlcmlhbGl6ZU51bWJlcihudW1iZXIpIHtcbiAgaWYgKE51bWJlci5pc0Zpbml0ZShudW1iZXIpKSB7XG4gICAgaWYgKG51bWJlciA9PT0gMCAmJiAxIC8gbnVtYmVyID09PSAtSW5maW5pdHkpIHtcbiAgICAgIHJldHVybiAnJC0wJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bWJlcjtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKG51bWJlciA9PT0gSW5maW5pdHkpIHtcbiAgICAgIHJldHVybiAnJEluZmluaXR5JztcbiAgICB9IGVsc2UgaWYgKG51bWJlciA9PT0gLUluZmluaXR5KSB7XG4gICAgICByZXR1cm4gJyQtSW5maW5pdHknO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyROYU4nO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzZXJpYWxpemVVbmRlZmluZWQoKSB7XG4gIHJldHVybiAnJHVuZGVmaW5lZCc7XG59XG5cbmZ1bmN0aW9uIHNlcmlhbGl6ZURhdGVGcm9tRGF0ZUpTT04oZGF0ZUpTT04pIHtcbiAgLy8gSlNPTi5zdHJpbmdpZnkgYXV0b21hdGljYWxseSBjYWxscyBEYXRlLnByb3RvdHlwZS50b0pTT04gd2hpY2ggY2FsbHMgdG9JU09TdHJpbmcuXG4gIC8vIFdlIG5lZWQgb25seSB0YWNrIG9uIGEgJEQgcHJlZml4LlxuICByZXR1cm4gJyREJyArIGRhdGVKU09OO1xufVxuXG5mdW5jdGlvbiBzZXJpYWxpemVCaWdJbnQobikge1xuICByZXR1cm4gJyRuJyArIG4udG9TdHJpbmcoMTApO1xufVxuXG5mdW5jdGlvbiBzZXJpYWxpemVNYXBJRChpZCkge1xuICByZXR1cm4gJyRRJyArIGlkLnRvU3RyaW5nKDE2KTtcbn1cblxuZnVuY3Rpb24gc2VyaWFsaXplU2V0SUQoaWQpIHtcbiAgcmV0dXJuICckVycgKyBpZC50b1N0cmluZygxNik7XG59XG5cbmZ1bmN0aW9uIGVzY2FwZVN0cmluZ1ZhbHVlKHZhbHVlKSB7XG4gIGlmICh2YWx1ZVswXSA9PT0gJyQnKSB7XG4gICAgLy8gV2UgbmVlZCB0byBlc2NhcGUgJCBwcmVmaXhlZCBzdHJpbmdzIHNpbmNlIHdlIHVzZSB0aG9zZSB0byBlbmNvZGVcbiAgICAvLyByZWZlcmVuY2VzIHRvIElEcyBhbmQgYXMgc3BlY2lhbCBzeW1ib2wgdmFsdWVzLlxuICAgIHJldHVybiAnJCcgKyB2YWx1ZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc1JlcGx5KHJvb3QsIGZvcm1GaWVsZFByZWZpeCwgcmVzb2x2ZSwgcmVqZWN0KSB7XG4gIHZhciBuZXh0UGFydElkID0gMTtcbiAgdmFyIHBlbmRpbmdQYXJ0cyA9IDA7XG4gIHZhciBmb3JtRGF0YSA9IG51bGw7XG5cbiAgZnVuY3Rpb24gcmVzb2x2ZVRvSlNPTihrZXksIHZhbHVlKSB7XG4gICAgdmFyIHBhcmVudCA9IHRoaXM7IC8vIE1ha2Ugc3VyZSB0aGF0IGBwYXJlbnRba2V5XWAgd2Fzbid0IEpTT05pZmllZCBiZWZvcmUgYHZhbHVlYCB3YXMgcGFzc2VkIHRvIHVzXG5cbiAgICB7XG4gICAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS11c2VdXG4gICAgICB2YXIgb3JpZ2luYWxWYWx1ZSA9IHBhcmVudFtrZXldO1xuXG4gICAgICBpZiAodHlwZW9mIG9yaWdpbmFsVmFsdWUgPT09ICdvYmplY3QnICYmIG9yaWdpbmFsVmFsdWUgIT09IHZhbHVlICYmICEob3JpZ2luYWxWYWx1ZSBpbnN0YW5jZW9mIERhdGUpKSB7XG4gICAgICAgIGlmIChvYmplY3ROYW1lKG9yaWdpbmFsVmFsdWUpICE9PSAnT2JqZWN0Jykge1xuICAgICAgICAgIGVycm9yKCdPbmx5IHBsYWluIG9iamVjdHMgY2FuIGJlIHBhc3NlZCB0byBTZXJ2ZXIgRnVuY3Rpb25zIGZyb20gdGhlIENsaWVudC4gJyArICclcyBvYmplY3RzIGFyZSBub3Qgc3VwcG9ydGVkLiVzJywgb2JqZWN0TmFtZShvcmlnaW5hbFZhbHVlKSwgZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UocGFyZW50LCBrZXkpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlcnJvcignT25seSBwbGFpbiBvYmplY3RzIGNhbiBiZSBwYXNzZWQgdG8gU2VydmVyIEZ1bmN0aW9ucyBmcm9tIHRoZSBDbGllbnQuICcgKyAnT2JqZWN0cyB3aXRoIHRvSlNPTiBtZXRob2RzIGFyZSBub3Qgc3VwcG9ydGVkLiBDb252ZXJ0IGl0IG1hbnVhbGx5ICcgKyAndG8gYSBzaW1wbGUgdmFsdWUgYmVmb3JlIHBhc3NpbmcgaXQgdG8gcHJvcHMuJXMnLCBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZShwYXJlbnQsIGtleSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgLy8gJEZsb3dGaXhNZVttZXRob2QtdW5iaW5kaW5nXVxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIFdlIGFzc3VtZSB0aGF0IGFueSBvYmplY3Qgd2l0aCBhIC50aGVuIHByb3BlcnR5IGlzIGEgXCJUaGVuYWJsZVwiIHR5cGUsXG4gICAgICAgIC8vIG9yIGEgUHJvbWlzZSB0eXBlLiBFaXRoZXIgb2Ygd2hpY2ggY2FuIGJlIHJlcHJlc2VudGVkIGJ5IGEgUHJvbWlzZS5cbiAgICAgICAgaWYgKGZvcm1EYXRhID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gVXBncmFkZSB0byB1c2UgRm9ybURhdGEgdG8gYWxsb3cgdXMgdG8gc3RyZWFtIHRoaXMgdmFsdWUuXG4gICAgICAgICAgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBlbmRpbmdQYXJ0cysrO1xuICAgICAgICB2YXIgcHJvbWlzZUlkID0gbmV4dFBhcnRJZCsrO1xuICAgICAgICB2YXIgdGhlbmFibGUgPSB2YWx1ZTtcbiAgICAgICAgdGhlbmFibGUudGhlbihmdW5jdGlvbiAocGFydFZhbHVlKSB7XG4gICAgICAgICAgdmFyIHBhcnRKU09OID0gSlNPTi5zdHJpbmdpZnkocGFydFZhbHVlLCByZXNvbHZlVG9KU09OKTsgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV0gV2Uga25vdyBpdCdzIG5vdCBudWxsIGJlY2F1c2Ugd2UgYXNzaWduZWQgaXQgYWJvdmUuXG5cbiAgICAgICAgICB2YXIgZGF0YSA9IGZvcm1EYXRhOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvc2FmZS1zdHJpbmctY29lcmNpb25cblxuICAgICAgICAgIGRhdGEuYXBwZW5kKGZvcm1GaWVsZFByZWZpeCArIHByb21pc2VJZCwgcGFydEpTT04pO1xuICAgICAgICAgIHBlbmRpbmdQYXJ0cy0tO1xuXG4gICAgICAgICAgaWYgKHBlbmRpbmdQYXJ0cyA9PT0gMCkge1xuICAgICAgICAgICAgcmVzb2x2ZShkYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIGZ1bmN0aW9uIChyZWFzb24pIHtcbiAgICAgICAgICAvLyBJbiB0aGUgZnV0dXJlIHdlIGNvdWxkIGNvbnNpZGVyIHNlcmlhbGl6aW5nIHRoaXMgYXMgYW4gZXJyb3JcbiAgICAgICAgICAvLyB0aGF0IHRocm93cyBvbiB0aGUgc2VydmVyIGluc3RlYWQuXG4gICAgICAgICAgcmVqZWN0KHJlYXNvbik7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gc2VyaWFsaXplUHJvbWlzZUlEKHByb21pc2VJZCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0gLy8gVE9ETzogU2hvdWxkIHdlIHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoKSB0byB0ZXN0IGZvciBjcm9zcy1yZWFsbSBvYmplY3RzP1xuXG5cbiAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XG4gICAgICAgIGlmIChmb3JtRGF0YSA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFVwZ3JhZGUgdG8gdXNlIEZvcm1EYXRhIHRvIGFsbG93IHVzIHRvIHVzZSByaWNoIG9iamVjdHMgYXMgaXRzIHZhbHVlcy5cbiAgICAgICAgICBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGRhdGEgPSBmb3JtRGF0YTtcbiAgICAgICAgdmFyIHJlZklkID0gbmV4dFBhcnRJZCsrOyAvLyBDb3B5IGFsbCB0aGUgZm9ybSBmaWVsZHMgd2l0aCBhIHByZWZpeCBmb3IgdGhpcyByZWZlcmVuY2UuXG4gICAgICAgIC8vIFRoZXNlIG11c3QgY29tZSBmaXJzdCBpbiB0aGUgZm9ybSBvcmRlciBiZWNhdXNlIHdlIGFzc3VtZSB0aGF0IGFsbCB0aGVcbiAgICAgICAgLy8gZmllbGRzIGFyZSBhdmFpbGFibGUgYmVmb3JlIHRoaXMgaXMgcmVmZXJlbmNlZC5cblxuICAgICAgICB2YXIgcHJlZml4ID0gZm9ybUZpZWxkUHJlZml4ICsgcmVmSWQgKyAnXyc7IC8vICRGbG93Rml4TWVbcHJvcC1taXNzaW5nXTogRm9ybURhdGEgaGFzIGZvckVhY2guXG5cbiAgICAgICAgdmFsdWUuZm9yRWFjaChmdW5jdGlvbiAob3JpZ2luYWxWYWx1ZSwgb3JpZ2luYWxLZXkpIHtcbiAgICAgICAgICBkYXRhLmFwcGVuZChwcmVmaXggKyBvcmlnaW5hbEtleSwgb3JpZ2luYWxWYWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gc2VyaWFsaXplRm9ybURhdGFSZWZlcmVuY2UocmVmSWQpO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBNYXApIHtcbiAgICAgICAgdmFyIHBhcnRKU09OID0gSlNPTi5zdHJpbmdpZnkoQXJyYXkuZnJvbSh2YWx1ZSksIHJlc29sdmVUb0pTT04pO1xuXG4gICAgICAgIGlmIChmb3JtRGF0YSA9PT0gbnVsbCkge1xuICAgICAgICAgIGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbWFwSWQgPSBuZXh0UGFydElkKys7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChmb3JtRmllbGRQcmVmaXggKyBtYXBJZCwgcGFydEpTT04pO1xuICAgICAgICByZXR1cm4gc2VyaWFsaXplTWFwSUQobWFwSWQpO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBTZXQpIHtcbiAgICAgICAgdmFyIF9wYXJ0SlNPTiA9IEpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20odmFsdWUpLCByZXNvbHZlVG9KU09OKTtcblxuICAgICAgICBpZiAoZm9ybURhdGEgPT09IG51bGwpIHtcbiAgICAgICAgICBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHNldElkID0gbmV4dFBhcnRJZCsrO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoZm9ybUZpZWxkUHJlZml4ICsgc2V0SWQsIF9wYXJ0SlNPTik7XG4gICAgICAgIHJldHVybiBzZXJpYWxpemVTZXRJRChzZXRJZCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBpdGVyYXRvckZuID0gZ2V0SXRlcmF0b3JGbih2YWx1ZSk7XG5cbiAgICAgIGlmIChpdGVyYXRvckZuKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHZhbHVlKTtcbiAgICAgIH0gLy8gVmVyaWZ5IHRoYXQgdGhpcyBpcyBhIHNpbXBsZSBwbGFpbiBvYmplY3QuXG5cblxuICAgICAgdmFyIHByb3RvID0gZ2V0UHJvdG90eXBlT2YodmFsdWUpO1xuXG4gICAgICBpZiAocHJvdG8gIT09IE9iamVjdFByb3RvdHlwZSAmJiAocHJvdG8gPT09IG51bGwgfHwgZ2V0UHJvdG90eXBlT2YocHJvdG8pICE9PSBudWxsKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ09ubHkgcGxhaW4gb2JqZWN0cywgYW5kIGEgZmV3IGJ1aWx0LWlucywgY2FuIGJlIHBhc3NlZCB0byBTZXJ2ZXIgQWN0aW9ucy4gJyArICdDbGFzc2VzIG9yIG51bGwgcHJvdG90eXBlcyBhcmUgbm90IHN1cHBvcnRlZC4nKTtcbiAgICAgIH1cblxuICAgICAge1xuICAgICAgICBpZiAodmFsdWUuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRSkge1xuICAgICAgICAgIGVycm9yKCdSZWFjdCBFbGVtZW50IGNhbm5vdCBiZSBwYXNzZWQgdG8gU2VydmVyIEZ1bmN0aW9ucyBmcm9tIHRoZSBDbGllbnQuJXMnLCBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZShwYXJlbnQsIGtleSkpO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgICAgICBlcnJvcignUmVhY3QgTGF6eSBjYW5ub3QgYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50LiVzJywgZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UocGFyZW50LCBrZXkpKTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSkge1xuICAgICAgICAgIGVycm9yKCdSZWFjdCBDb250ZXh0IFByb3ZpZGVycyBjYW5ub3QgYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMgZnJvbSB0aGUgQ2xpZW50LiVzJywgZGVzY3JpYmVPYmplY3RGb3JFcnJvck1lc3NhZ2UocGFyZW50LCBrZXkpKTtcbiAgICAgICAgfSBlbHNlIGlmIChvYmplY3ROYW1lKHZhbHVlKSAhPT0gJ09iamVjdCcpIHtcbiAgICAgICAgICBlcnJvcignT25seSBwbGFpbiBvYmplY3RzIGNhbiBiZSBwYXNzZWQgdG8gU2VydmVyIEZ1bmN0aW9ucyBmcm9tIHRoZSBDbGllbnQuICcgKyAnJXMgb2JqZWN0cyBhcmUgbm90IHN1cHBvcnRlZC4lcycsIG9iamVjdE5hbWUodmFsdWUpLCBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZShwYXJlbnQsIGtleSkpO1xuICAgICAgICB9IGVsc2UgaWYgKCFpc1NpbXBsZU9iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgICBlcnJvcignT25seSBwbGFpbiBvYmplY3RzIGNhbiBiZSBwYXNzZWQgdG8gU2VydmVyIEZ1bmN0aW9ucyBmcm9tIHRoZSBDbGllbnQuICcgKyAnQ2xhc3NlcyBvciBvdGhlciBvYmplY3RzIHdpdGggbWV0aG9kcyBhcmUgbm90IHN1cHBvcnRlZC4lcycsIGRlc2NyaWJlT2JqZWN0Rm9yRXJyb3JNZXNzYWdlKHBhcmVudCwga2V5KSk7XG4gICAgICAgIH0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgICAgICAgIHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh2YWx1ZSk7XG5cbiAgICAgICAgICBpZiAoc3ltYm9scy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBlcnJvcignT25seSBwbGFpbiBvYmplY3RzIGNhbiBiZSBwYXNzZWQgdG8gU2VydmVyIEZ1bmN0aW9ucyBmcm9tIHRoZSBDbGllbnQuICcgKyAnT2JqZWN0cyB3aXRoIHN5bWJvbCBwcm9wZXJ0aWVzIGxpa2UgJXMgYXJlIG5vdCBzdXBwb3J0ZWQuJXMnLCBzeW1ib2xzWzBdLmRlc2NyaXB0aW9uLCBkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZShwYXJlbnQsIGtleSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSAvLyAkRmxvd0ZpeE1lW2luY29tcGF0aWJsZS1yZXR1cm5dXG5cblxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBUT0RPOiBNYXliZSB0b28gY2xldmVyLiBJZiB3ZSBzdXBwb3J0IFVSTCB0aGVyZSdzIG5vIHNpbWlsYXIgdHJpY2suXG4gICAgICBpZiAodmFsdWVbdmFsdWUubGVuZ3RoIC0gMV0gPT09ICdaJykge1xuICAgICAgICAvLyBQb3NzaWJseSBhIERhdGUsIHdob3NlIHRvSlNPTiBhdXRvbWF0aWNhbGx5IGNhbGxzIHRvSVNPU3RyaW5nXG4gICAgICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXVzZV1cbiAgICAgICAgdmFyIF9vcmlnaW5hbFZhbHVlID0gcGFyZW50W2tleV07XG5cbiAgICAgICAgaWYgKF9vcmlnaW5hbFZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgIHJldHVybiBzZXJpYWxpemVEYXRlRnJvbURhdGVKU09OKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZXNjYXBlU3RyaW5nVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gc2VyaWFsaXplTnVtYmVyKHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHNlcmlhbGl6ZVVuZGVmaW5lZCgpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBtZXRhRGF0YSA9IGtub3duU2VydmVyUmVmZXJlbmNlcy5nZXQodmFsdWUpO1xuXG4gICAgICBpZiAobWV0YURhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB2YXIgbWV0YURhdGFKU09OID0gSlNPTi5zdHJpbmdpZnkobWV0YURhdGEsIHJlc29sdmVUb0pTT04pO1xuXG4gICAgICAgIGlmIChmb3JtRGF0YSA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFVwZ3JhZGUgdG8gdXNlIEZvcm1EYXRhIHRvIGFsbG93IHVzIHRvIHN0cmVhbSB0aGlzIHZhbHVlLlxuICAgICAgICAgIGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIH0gLy8gVGhlIHJlZmVyZW5jZSB0byB0aGlzIGZ1bmN0aW9uIGNhbWUgZnJvbSB0aGUgc2FtZSBjbGllbnQgc28gd2UgY2FuIHBhc3MgaXQgYmFjay5cblxuXG4gICAgICAgIHZhciBfcmVmSWQgPSBuZXh0UGFydElkKys7IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9zYWZlLXN0cmluZy1jb2VyY2lvblxuXG5cbiAgICAgICAgZm9ybURhdGEuc2V0KGZvcm1GaWVsZFByZWZpeCArIF9yZWZJZCwgbWV0YURhdGFKU09OKTtcbiAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZVNlcnZlclJlZmVyZW5jZUlEKF9yZWZJZCk7XG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2xpZW50IEZ1bmN0aW9ucyBjYW5ub3QgYmUgcGFzc2VkIGRpcmVjdGx5IHRvIFNlcnZlciBGdW5jdGlvbnMuICcgKyAnT25seSBGdW5jdGlvbnMgcGFzc2VkIGZyb20gdGhlIFNlcnZlciBjYW4gYmUgcGFzc2VkIGJhY2sgYWdhaW4uJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N5bWJvbCcpIHtcbiAgICAgIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdIGBkZXNjcmlwdGlvbmAgbWlnaHQgYmUgdW5kZWZpbmVkXG4gICAgICB2YXIgbmFtZSA9IHZhbHVlLmRlc2NyaXB0aW9uO1xuXG4gICAgICBpZiAoU3ltYm9sLmZvcihuYW1lKSAhPT0gdmFsdWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdPbmx5IGdsb2JhbCBzeW1ib2xzIHJlY2VpdmVkIGZyb20gU3ltYm9sLmZvciguLi4pIGNhbiBiZSBwYXNzZWQgdG8gU2VydmVyIEZ1bmN0aW9ucy4gJyArIChcIlRoZSBzeW1ib2wgU3ltYm9sLmZvcihcIiArIC8vICRGbG93Rml4TWVbaW5jb21wYXRpYmxlLXR5cGVdIGBkZXNjcmlwdGlvbmAgbWlnaHQgYmUgdW5kZWZpbmVkXG4gICAgICAgIHZhbHVlLmRlc2NyaXB0aW9uICsgXCIpIGNhbm5vdCBiZSBmb3VuZCBhbW9uZyBnbG9iYWwgc3ltYm9scy5cIikpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc2VyaWFsaXplU3ltYm9sUmVmZXJlbmNlKG5hbWUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdiaWdpbnQnKSB7XG4gICAgICByZXR1cm4gc2VyaWFsaXplQmlnSW50KHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJUeXBlIFwiICsgdHlwZW9mIHZhbHVlICsgXCIgaXMgbm90IHN1cHBvcnRlZCBhcyBhbiBhcmd1bWVudCB0byBhIFNlcnZlciBGdW5jdGlvbi5cIik7XG4gIH0gLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtdHlwZV0gaXQncyBub3QgZ29pbmcgdG8gYmUgdW5kZWZpbmVkIGJlY2F1c2Ugd2UnbGwgZW5jb2RlIGl0LlxuXG5cbiAgdmFyIGpzb24gPSBKU09OLnN0cmluZ2lmeShyb290LCByZXNvbHZlVG9KU09OKTtcblxuICBpZiAoZm9ybURhdGEgPT09IG51bGwpIHtcbiAgICAvLyBJZiBpdCdzIGEgc2ltcGxlIGRhdGEgc3RydWN0dXJlLCB3ZSBqdXN0IHVzZSBwbGFpbiBKU09OLlxuICAgIHJlc29sdmUoanNvbik7XG4gIH0gZWxzZSB7XG4gICAgLy8gT3RoZXJ3aXNlLCB3ZSB1c2UgRm9ybURhdGEgdG8gbGV0IHVzIHN0cmVhbSBpbiB0aGUgcmVzdWx0LlxuICAgIGZvcm1EYXRhLnNldChmb3JtRmllbGRQcmVmaXggKyAnMCcsIGpzb24pO1xuXG4gICAgaWYgKHBlbmRpbmdQYXJ0cyA9PT0gMCkge1xuICAgICAgLy8gJEZsb3dGaXhNZVtpbmNvbXBhdGlibGUtY2FsbF0gdGhpcyBoYXMgYWxyZWFkeSBiZWVuIHJlZmluZWQuXG4gICAgICByZXNvbHZlKGZvcm1EYXRhKTtcbiAgICB9XG4gIH1cbn1cbnZhciBib3VuZENhY2hlID0gbmV3IFdlYWtNYXAoKTtcblxuZnVuY3Rpb24gZW5jb2RlRm9ybURhdGEocmVmZXJlbmNlKSB7XG4gIHZhciByZXNvbHZlLCByZWplY3Q7IC8vIFdlIG5lZWQgdG8gaGF2ZSBhIGhhbmRsZSBvbiB0aGUgdGhlbmFibGUgc28gdGhhdCB3ZSBjYW4gc3luY2hyb25vdXNseSBzZXRcbiAgLy8gaXRzIHN0YXR1cyBmcm9tIHByb2Nlc3NSZXBseSwgd2hlbiBpdCBjYW4gY29tcGxldGUgc3luY2hyb25vdXNseS5cblxuICB2YXIgdGhlbmFibGUgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzLCByZWopIHtcbiAgICByZXNvbHZlID0gcmVzO1xuICAgIHJlamVjdCA9IHJlajtcbiAgfSk7XG4gIHByb2Nlc3NSZXBseShyZWZlcmVuY2UsICcnLCBmdW5jdGlvbiAoYm9keSkge1xuICAgIGlmICh0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhciBkYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICBkYXRhLmFwcGVuZCgnMCcsIGJvZHkpO1xuICAgICAgYm9keSA9IGRhdGE7XG4gICAgfVxuXG4gICAgdmFyIGZ1bGZpbGxlZCA9IHRoZW5hYmxlO1xuICAgIGZ1bGZpbGxlZC5zdGF0dXMgPSAnZnVsZmlsbGVkJztcbiAgICBmdWxmaWxsZWQudmFsdWUgPSBib2R5O1xuICAgIHJlc29sdmUoYm9keSk7XG4gIH0sIGZ1bmN0aW9uIChlKSB7XG4gICAgdmFyIHJlamVjdGVkID0gdGhlbmFibGU7XG4gICAgcmVqZWN0ZWQuc3RhdHVzID0gJ3JlamVjdGVkJztcbiAgICByZWplY3RlZC5yZWFzb24gPSBlO1xuICAgIHJlamVjdChlKTtcbiAgfSk7XG4gIHJldHVybiB0aGVuYWJsZTtcbn1cblxuZnVuY3Rpb24gZW5jb2RlRm9ybUFjdGlvbihpZGVudGlmaWVyUHJlZml4KSB7XG4gIHZhciByZWZlcmVuY2UgPSBrbm93blNlcnZlclJlZmVyZW5jZXMuZ2V0KHRoaXMpO1xuXG4gIGlmICghcmVmZXJlbmNlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUcmllZCB0byBlbmNvZGUgYSBTZXJ2ZXIgQWN0aW9uIGZyb20gYSBkaWZmZXJlbnQgaW5zdGFuY2UgdGhhbiB0aGUgZW5jb2RlciBpcyBmcm9tLiAnICsgJ1RoaXMgaXMgYSBidWcgaW4gUmVhY3QuJyk7XG4gIH1cblxuICB2YXIgZGF0YSA9IG51bGw7XG4gIHZhciBuYW1lO1xuICB2YXIgYm91bmRQcm9taXNlID0gcmVmZXJlbmNlLmJvdW5kO1xuXG4gIGlmIChib3VuZFByb21pc2UgIT09IG51bGwpIHtcbiAgICB2YXIgdGhlbmFibGUgPSBib3VuZENhY2hlLmdldChyZWZlcmVuY2UpO1xuXG4gICAgaWYgKCF0aGVuYWJsZSkge1xuICAgICAgdGhlbmFibGUgPSBlbmNvZGVGb3JtRGF0YShyZWZlcmVuY2UpO1xuICAgICAgYm91bmRDYWNoZS5zZXQocmVmZXJlbmNlLCB0aGVuYWJsZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoZW5hYmxlLnN0YXR1cyA9PT0gJ3JlamVjdGVkJykge1xuICAgICAgdGhyb3cgdGhlbmFibGUucmVhc29uO1xuICAgIH0gZWxzZSBpZiAodGhlbmFibGUuc3RhdHVzICE9PSAnZnVsZmlsbGVkJykge1xuICAgICAgdGhyb3cgdGhlbmFibGU7XG4gICAgfVxuXG4gICAgdmFyIGVuY29kZWRGb3JtRGF0YSA9IHRoZW5hYmxlLnZhbHVlOyAvLyBUaGlzIGlzIGhhY2t5IGJ1dCB3ZSBuZWVkIHRoZSBpZGVudGlmaWVyIHByZWZpeCB0byBiZSBhZGRlZCB0b1xuICAgIC8vIGFsbCBmaWVsZHMgYnV0IHRoZSBzdXNwZW5zZSBjYWNoZSB3b3VsZCBicmVhayBzaW5jZSB3ZSBtaWdodCBnZXRcbiAgICAvLyBhIG5ldyBpZGVudGlmaWVyIGVhY2ggdGltZS4gU28gd2UganVzdCBhcHBlbmQgaXQgYXQgdGhlIGVuZCBpbnN0ZWFkLlxuXG4gICAgdmFyIHByZWZpeGVkRGF0YSA9IG5ldyBGb3JtRGF0YSgpOyAvLyAkRmxvd0ZpeE1lW3Byb3AtbWlzc2luZ11cblxuICAgIGVuY29kZWRGb3JtRGF0YS5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSwga2V5KSB7XG4gICAgICBwcmVmaXhlZERhdGEuYXBwZW5kKCckQUNUSU9OXycgKyBpZGVudGlmaWVyUHJlZml4ICsgJzonICsga2V5LCB2YWx1ZSk7XG4gICAgfSk7XG4gICAgZGF0YSA9IHByZWZpeGVkRGF0YTsgLy8gV2UgZW5jb2RlIHRoZSBuYW1lIG9mIHRoZSBwcmVmaXggY29udGFpbmluZyB0aGUgZGF0YS5cblxuICAgIG5hbWUgPSAnJEFDVElPTl9SRUZfJyArIGlkZW50aWZpZXJQcmVmaXg7XG4gIH0gZWxzZSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgc2ltcGxlIGNhc2Ugc28gd2UgY2FuIGp1c3QgZW5jb2RlIHRoZSBJRC5cbiAgICBuYW1lID0gJyRBQ1RJT05fSURfJyArIHJlZmVyZW5jZS5pZDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbmFtZTogbmFtZSxcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBlbmNUeXBlOiAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsXG4gICAgZGF0YTogZGF0YVxuICB9O1xufVxuXG5mdW5jdGlvbiBpc1NpZ25hdHVyZUVxdWFsKHJlZmVyZW5jZUlkLCBudW1iZXJPZkJvdW5kQXJncykge1xuICB2YXIgcmVmZXJlbmNlID0ga25vd25TZXJ2ZXJSZWZlcmVuY2VzLmdldCh0aGlzKTtcblxuICBpZiAoIXJlZmVyZW5jZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVHJpZWQgdG8gZW5jb2RlIGEgU2VydmVyIEFjdGlvbiBmcm9tIGEgZGlmZmVyZW50IGluc3RhbmNlIHRoYW4gdGhlIGVuY29kZXIgaXMgZnJvbS4gJyArICdUaGlzIGlzIGEgYnVnIGluIFJlYWN0LicpO1xuICB9XG5cbiAgaWYgKHJlZmVyZW5jZS5pZCAhPT0gcmVmZXJlbmNlSWQpIHtcbiAgICAvLyBUaGVzZSBhcmUgZGlmZmVyZW50IGZ1bmN0aW9ucy5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gLy8gTm93IGNoZWNrIGlmIHRoZSBudW1iZXIgb2YgYm91bmQgYXJndW1lbnRzIGlzIHRoZSBzYW1lLlxuXG5cbiAgdmFyIGJvdW5kUHJvbWlzZSA9IHJlZmVyZW5jZS5ib3VuZDtcblxuICBpZiAoYm91bmRQcm9taXNlID09PSBudWxsKSB7XG4gICAgLy8gTm8gYm91bmQgYXJndW1lbnRzLlxuICAgIHJldHVybiBudW1iZXJPZkJvdW5kQXJncyA9PT0gMDtcbiAgfSAvLyBVbndyYXAgdGhlIGJvdW5kIGFyZ3VtZW50cyBhcnJheSBieSBzdXNwZW5kaW5nLCBpZiBuZWNlc3NhcnkuIEFzIHdpdGhcbiAgLy8gZW5jb2RlRm9ybURhdGEsIHRoaXMgbWVhbnMgaXNTaWduYXR1cmVFcXVhbCBjYW4gb25seSBiZSBjYWxsZWQgd2hpbGUgUmVhY3RcbiAgLy8gaXMgcmVuZGVyaW5nLlxuXG5cbiAgc3dpdGNoIChib3VuZFByb21pc2Uuc3RhdHVzKSB7XG4gICAgY2FzZSAnZnVsZmlsbGVkJzpcbiAgICAgIHtcbiAgICAgICAgdmFyIGJvdW5kQXJncyA9IGJvdW5kUHJvbWlzZS52YWx1ZTtcbiAgICAgICAgcmV0dXJuIGJvdW5kQXJncy5sZW5ndGggPT09IG51bWJlck9mQm91bmRBcmdzO1xuICAgICAgfVxuXG4gICAgY2FzZSAncGVuZGluZyc6XG4gICAgICB7XG4gICAgICAgIHRocm93IGJvdW5kUHJvbWlzZTtcbiAgICAgIH1cblxuICAgIGNhc2UgJ3JlamVjdGVkJzpcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgYm91bmRQcm9taXNlLnJlYXNvbjtcbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIGlmICh0eXBlb2YgYm91bmRQcm9taXNlLnN0YXR1cyA9PT0gJ3N0cmluZycpIDsgZWxzZSB7XG4gICAgICAgICAgdmFyIHBlbmRpbmdUaGVuYWJsZSA9IGJvdW5kUHJvbWlzZTtcbiAgICAgICAgICBwZW5kaW5nVGhlbmFibGUuc3RhdHVzID0gJ3BlbmRpbmcnO1xuICAgICAgICAgIHBlbmRpbmdUaGVuYWJsZS50aGVuKGZ1bmN0aW9uIChib3VuZEFyZ3MpIHtcbiAgICAgICAgICAgIHZhciBmdWxmaWxsZWRUaGVuYWJsZSA9IGJvdW5kUHJvbWlzZTtcbiAgICAgICAgICAgIGZ1bGZpbGxlZFRoZW5hYmxlLnN0YXR1cyA9ICdmdWxmaWxsZWQnO1xuICAgICAgICAgICAgZnVsZmlsbGVkVGhlbmFibGUudmFsdWUgPSBib3VuZEFyZ3M7XG4gICAgICAgICAgfSwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgICAgICB2YXIgcmVqZWN0ZWRUaGVuYWJsZSA9IGJvdW5kUHJvbWlzZTtcbiAgICAgICAgICAgIHJlamVjdGVkVGhlbmFibGUuc3RhdHVzID0gJ3JlamVjdGVkJztcbiAgICAgICAgICAgIHJlamVjdGVkVGhlbmFibGUucmVhc29uID0gZXJyb3I7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBib3VuZFByb21pc2U7XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJTZXJ2ZXJSZWZlcmVuY2UocHJveHksIHJlZmVyZW5jZSkge1xuICAvLyBFeHBvc2UgZW5jb2RlciBmb3IgdXNlIGJ5IFNTUiwgYXMgd2VsbCBhcyBhIHNwZWNpYWwgYmluZCB0aGF0IGNhbiBiZSB1c2VkIHRvXG4gIC8vIGtlZXAgc2VydmVyIGNhcGFiaWxpdGllcy5cbiAge1xuICAgIC8vIE9ubHkgZXhwb3NlIHRoaXMgaW4gYnVpbGRzIHRoYXQgd291bGQgYWN0dWFsbHkgdXNlIGl0LiBOb3QgbmVlZGVkIG9uIHRoZSBjbGllbnQuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMocHJveHksIHtcbiAgICAgICQkRk9STV9BQ1RJT046IHtcbiAgICAgICAgdmFsdWU6IGVuY29kZUZvcm1BY3Rpb25cbiAgICAgIH0sXG4gICAgICAkJElTX1NJR05BVFVSRV9FUVVBTDoge1xuICAgICAgICB2YWx1ZTogaXNTaWduYXR1cmVFcXVhbFxuICAgICAgfSxcbiAgICAgIGJpbmQ6IHtcbiAgICAgICAgdmFsdWU6IGJpbmRcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGtub3duU2VydmVyUmVmZXJlbmNlcy5zZXQocHJveHksIHJlZmVyZW5jZSk7XG59IC8vICRGbG93Rml4TWVbbWV0aG9kLXVuYmluZGluZ11cblxudmFyIEZ1bmN0aW9uQmluZCA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kOyAvLyAkRmxvd0ZpeE1lW21ldGhvZC11bmJpbmRpbmddXG5cbnZhciBBcnJheVNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlO1xuXG5mdW5jdGlvbiBiaW5kKCkge1xuICAvLyAkRmxvd0ZpeE1lW3Vuc3VwcG9ydGVkLXN5bnRheF1cbiAgdmFyIG5ld0ZuID0gRnVuY3Rpb25CaW5kLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gIHZhciByZWZlcmVuY2UgPSBrbm93blNlcnZlclJlZmVyZW5jZXMuZ2V0KHRoaXMpO1xuXG4gIGlmIChyZWZlcmVuY2UpIHtcbiAgICB2YXIgYXJncyA9IEFycmF5U2xpY2UuY2FsbChhcmd1bWVudHMsIDEpO1xuICAgIHZhciBib3VuZFByb21pc2UgPSBudWxsO1xuXG4gICAgaWYgKHJlZmVyZW5jZS5ib3VuZCAhPT0gbnVsbCkge1xuICAgICAgYm91bmRQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKHJlZmVyZW5jZS5ib3VuZCkudGhlbihmdW5jdGlvbiAoYm91bmRBcmdzKSB7XG4gICAgICAgIHJldHVybiBib3VuZEFyZ3MuY29uY2F0KGFyZ3MpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJvdW5kUHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZShhcmdzKTtcbiAgICB9XG5cbiAgICByZWdpc3RlclNlcnZlclJlZmVyZW5jZShuZXdGbiwge1xuICAgICAgaWQ6IHJlZmVyZW5jZS5pZCxcbiAgICAgIGJvdW5kOiBib3VuZFByb21pc2VcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBuZXdGbjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlU2VydmVyUmVmZXJlbmNlJDEoaWQsIGNhbGxTZXJ2ZXIpIHtcbiAgdmFyIHByb3h5ID0gZnVuY3Rpb24gKCkge1xuICAgIC8vICRGbG93Rml4TWVbbWV0aG9kLXVuYmluZGluZ11cbiAgICB2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG4gICAgcmV0dXJuIGNhbGxTZXJ2ZXIoaWQsIGFyZ3MpO1xuICB9O1xuXG4gIHJlZ2lzdGVyU2VydmVyUmVmZXJlbmNlKHByb3h5LCB7XG4gICAgaWQ6IGlkLFxuICAgIGJvdW5kOiBudWxsXG4gIH0pO1xuICByZXR1cm4gcHJveHk7XG59XG5cbnZhciBDb250ZXh0UmVnaXN0cnkgPSBSZWFjdFNoYXJlZEludGVybmFscy5Db250ZXh0UmVnaXN0cnk7XG5mdW5jdGlvbiBnZXRPckNyZWF0ZVNlcnZlckNvbnRleHQoZ2xvYmFsTmFtZSkge1xuICBpZiAoIUNvbnRleHRSZWdpc3RyeVtnbG9iYWxOYW1lXSkge1xuICAgIHZhciBjb250ZXh0ID0ge1xuICAgICAgJCR0eXBlb2Y6IFJFQUNUX1NFUlZFUl9DT05URVhUX1RZUEUsXG4gICAgICAvLyBBcyBhIHdvcmthcm91bmQgdG8gc3VwcG9ydCBtdWx0aXBsZSBjb25jdXJyZW50IHJlbmRlcmVycywgd2UgY2F0ZWdvcml6ZVxuICAgICAgLy8gc29tZSByZW5kZXJlcnMgYXMgcHJpbWFyeSBhbmQgb3RoZXJzIGFzIHNlY29uZGFyeS4gV2Ugb25seSBleHBlY3RcbiAgICAgIC8vIHRoZXJlIHRvIGJlIHR3byBjb25jdXJyZW50IHJlbmRlcmVycyBhdCBtb3N0OiBSZWFjdCBOYXRpdmUgKHByaW1hcnkpIGFuZFxuICAgICAgLy8gRmFicmljIChzZWNvbmRhcnkpOyBSZWFjdCBET00gKHByaW1hcnkpIGFuZCBSZWFjdCBBUlQgKHNlY29uZGFyeSkuXG4gICAgICAvLyBTZWNvbmRhcnkgcmVuZGVyZXJzIHN0b3JlIHRoZWlyIGNvbnRleHQgdmFsdWVzIG9uIHNlcGFyYXRlIGZpZWxkcy5cbiAgICAgIF9jdXJyZW50VmFsdWU6IFJFQUNUX1NFUlZFUl9DT05URVhUX0RFRkFVTFRfVkFMVUVfTk9UX0xPQURFRCxcbiAgICAgIF9jdXJyZW50VmFsdWUyOiBSRUFDVF9TRVJWRVJfQ09OVEVYVF9ERUZBVUxUX1ZBTFVFX05PVF9MT0FERUQsXG4gICAgICBfZGVmYXVsdFZhbHVlOiBSRUFDVF9TRVJWRVJfQ09OVEVYVF9ERUZBVUxUX1ZBTFVFX05PVF9MT0FERUQsXG4gICAgICAvLyBVc2VkIHRvIHRyYWNrIGhvdyBtYW55IGNvbmN1cnJlbnQgcmVuZGVyZXJzIHRoaXMgY29udGV4dCBjdXJyZW50bHlcbiAgICAgIC8vIHN1cHBvcnRzIHdpdGhpbiBpbiBhIHNpbmdsZSByZW5kZXJlci4gU3VjaCBhcyBwYXJhbGxlbCBzZXJ2ZXIgcmVuZGVyaW5nLlxuICAgICAgX3RocmVhZENvdW50OiAwLFxuICAgICAgLy8gVGhlc2UgYXJlIGNpcmN1bGFyXG4gICAgICBQcm92aWRlcjogbnVsbCxcbiAgICAgIENvbnN1bWVyOiBudWxsLFxuICAgICAgX2dsb2JhbE5hbWU6IGdsb2JhbE5hbWVcbiAgICB9O1xuICAgIGNvbnRleHQuUHJvdmlkZXIgPSB7XG4gICAgICAkJHR5cGVvZjogUkVBQ1RfUFJPVklERVJfVFlQRSxcbiAgICAgIF9jb250ZXh0OiBjb250ZXh0XG4gICAgfTtcblxuICAgIHtcbiAgICAgIHZhciBoYXNXYXJuZWRBYm91dFVzaW5nQ29uc3VtZXI7XG4gICAgICBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgPSBudWxsO1xuICAgICAgY29udGV4dC5fY3VycmVudFJlbmRlcmVyMiA9IG51bGw7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhjb250ZXh0LCB7XG4gICAgICAgIENvbnN1bWVyOiB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoIWhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lcikge1xuICAgICAgICAgICAgICBlcnJvcignQ29uc3VtZXIgcGF0dGVybiBpcyBub3Qgc3VwcG9ydGVkIGJ5IFJlYWN0U2VydmVyQ29udGV4dCcpO1xuXG4gICAgICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lciA9IHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgQ29udGV4dFJlZ2lzdHJ5W2dsb2JhbE5hbWVdID0gY29udGV4dDtcbiAgfVxuXG4gIHJldHVybiBDb250ZXh0UmVnaXN0cnlbZ2xvYmFsTmFtZV07XG59XG5cbnZhciBST1dfSUQgPSAwO1xudmFyIFJPV19UQUcgPSAxO1xudmFyIFJPV19MRU5HVEggPSAyO1xudmFyIFJPV19DSFVOS19CWV9ORVdMSU5FID0gMztcbnZhciBST1dfQ0hVTktfQllfTEVOR1RIID0gNDtcbnZhciBQRU5ESU5HID0gJ3BlbmRpbmcnO1xudmFyIEJMT0NLRUQgPSAnYmxvY2tlZCc7XG52YXIgQ1lDTElDID0gJ2N5Y2xpYyc7XG52YXIgUkVTT0xWRURfTU9ERUwgPSAncmVzb2x2ZWRfbW9kZWwnO1xudmFyIFJFU09MVkVEX01PRFVMRSA9ICdyZXNvbHZlZF9tb2R1bGUnO1xudmFyIElOSVRJQUxJWkVEID0gJ2Z1bGZpbGxlZCc7XG52YXIgRVJST1JFRCA9ICdyZWplY3RlZCc7IC8vICRGbG93Rml4TWVbbWlzc2luZy10aGlzLWFubm90XVxuXG5mdW5jdGlvbiBDaHVuayhzdGF0dXMsIHZhbHVlLCByZWFzb24sIHJlc3BvbnNlKSB7XG4gIHRoaXMuc3RhdHVzID0gc3RhdHVzO1xuICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIHRoaXMucmVhc29uID0gcmVhc29uO1xuICB0aGlzLl9yZXNwb25zZSA9IHJlc3BvbnNlO1xufSAvLyBXZSBzdWJjbGFzcyBQcm9taXNlLnByb3RvdHlwZSBzbyB0aGF0IHdlIGdldCBvdGhlciBtZXRob2RzIGxpa2UgLmNhdGNoXG5cblxuQ2h1bmsucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShQcm9taXNlLnByb3RvdHlwZSk7IC8vIFRPRE86IFRoaXMgZG9lc24ndCByZXR1cm4gYSBuZXcgUHJvbWlzZSBjaGFpbiB1bmxpa2UgdGhlIHJlYWwgLnRoZW5cblxuQ2h1bmsucHJvdG90eXBlLnRoZW4gPSBmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gIHZhciBjaHVuayA9IHRoaXM7IC8vIElmIHdlIGhhdmUgcmVzb2x2ZWQgY29udGVudCwgd2UgdHJ5IHRvIGluaXRpYWxpemUgaXQgZmlyc3Qgd2hpY2hcbiAgLy8gbWlnaHQgcHV0IHVzIGJhY2sgaW50byBvbmUgb2YgdGhlIG90aGVyIHN0YXRlcy5cblxuICBzd2l0Y2ggKGNodW5rLnN0YXR1cykge1xuICAgIGNhc2UgUkVTT0xWRURfTU9ERUw6XG4gICAgICBpbml0aWFsaXplTW9kZWxDaHVuayhjaHVuayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgUkVTT0xWRURfTU9EVUxFOlxuICAgICAgaW5pdGlhbGl6ZU1vZHVsZUNodW5rKGNodW5rKTtcbiAgICAgIGJyZWFrO1xuICB9IC8vIFRoZSBzdGF0dXMgbWlnaHQgaGF2ZSBjaGFuZ2VkIGFmdGVyIGluaXRpYWxpemF0aW9uLlxuXG5cbiAgc3dpdGNoIChjaHVuay5zdGF0dXMpIHtcbiAgICBjYXNlIElOSVRJQUxJWkVEOlxuICAgICAgcmVzb2x2ZShjaHVuay52YWx1ZSk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgUEVORElORzpcbiAgICBjYXNlIEJMT0NLRUQ6XG4gICAgY2FzZSBDWUNMSUM6XG4gICAgICBpZiAocmVzb2x2ZSkge1xuICAgICAgICBpZiAoY2h1bmsudmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICBjaHVuay52YWx1ZSA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgY2h1bmsudmFsdWUucHVzaChyZXNvbHZlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlamVjdCkge1xuICAgICAgICBpZiAoY2h1bmsucmVhc29uID09PSBudWxsKSB7XG4gICAgICAgICAgY2h1bmsucmVhc29uID0gW107XG4gICAgICAgIH1cblxuICAgICAgICBjaHVuay5yZWFzb24ucHVzaChyZWplY3QpO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZWplY3QoY2h1bmsucmVhc29uKTtcbiAgICAgIGJyZWFrO1xuICB9XG59O1xuXG5mdW5jdGlvbiByZWFkQ2h1bmsoY2h1bmspIHtcbiAgLy8gSWYgd2UgaGF2ZSByZXNvbHZlZCBjb250ZW50LCB3ZSB0cnkgdG8gaW5pdGlhbGl6ZSBpdCBmaXJzdCB3aGljaFxuICAvLyBtaWdodCBwdXQgdXMgYmFjayBpbnRvIG9uZSBvZiB0aGUgb3RoZXIgc3RhdGVzLlxuICBzd2l0Y2ggKGNodW5rLnN0YXR1cykge1xuICAgIGNhc2UgUkVTT0xWRURfTU9ERUw6XG4gICAgICBpbml0aWFsaXplTW9kZWxDaHVuayhjaHVuayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgUkVTT0xWRURfTU9EVUxFOlxuICAgICAgaW5pdGlhbGl6ZU1vZHVsZUNodW5rKGNodW5rKTtcbiAgICAgIGJyZWFrO1xuICB9IC8vIFRoZSBzdGF0dXMgbWlnaHQgaGF2ZSBjaGFuZ2VkIGFmdGVyIGluaXRpYWxpemF0aW9uLlxuXG5cbiAgc3dpdGNoIChjaHVuay5zdGF0dXMpIHtcbiAgICBjYXNlIElOSVRJQUxJWkVEOlxuICAgICAgcmV0dXJuIGNodW5rLnZhbHVlO1xuXG4gICAgY2FzZSBQRU5ESU5HOlxuICAgIGNhc2UgQkxPQ0tFRDpcbiAgICBjYXNlIENZQ0xJQzpcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby10aHJvdy1saXRlcmFsXG4gICAgICB0aHJvdyBjaHVuaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBjaHVuay5yZWFzb247XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0Um9vdChyZXNwb25zZSkge1xuICB2YXIgY2h1bmsgPSBnZXRDaHVuayhyZXNwb25zZSwgMCk7XG4gIHJldHVybiBjaHVuaztcbn1cblxuZnVuY3Rpb24gY3JlYXRlUGVuZGluZ0NodW5rKHJlc3BvbnNlKSB7XG4gIC8vICRGbG93Rml4TWVbaW52YWxpZC1jb25zdHJ1Y3Rvcl0gRmxvdyBkb2Vzbid0IHN1cHBvcnQgZnVuY3Rpb25zIGFzIGNvbnN0cnVjdG9yc1xuICByZXR1cm4gbmV3IENodW5rKFBFTkRJTkcsIG51bGwsIG51bGwsIHJlc3BvbnNlKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQmxvY2tlZENodW5rKHJlc3BvbnNlKSB7XG4gIC8vICRGbG93Rml4TWVbaW52YWxpZC1jb25zdHJ1Y3Rvcl0gRmxvdyBkb2Vzbid0IHN1cHBvcnQgZnVuY3Rpb25zIGFzIGNvbnN0cnVjdG9yc1xuICByZXR1cm4gbmV3IENodW5rKEJMT0NLRUQsIG51bGwsIG51bGwsIHJlc3BvbnNlKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRXJyb3JDaHVuayhyZXNwb25zZSwgZXJyb3IpIHtcbiAgLy8gJEZsb3dGaXhNZVtpbnZhbGlkLWNvbnN0cnVjdG9yXSBGbG93IGRvZXNuJ3Qgc3VwcG9ydCBmdW5jdGlvbnMgYXMgY29uc3RydWN0b3JzXG4gIHJldHVybiBuZXcgQ2h1bmsoRVJST1JFRCwgbnVsbCwgZXJyb3IsIHJlc3BvbnNlKTtcbn1cblxuZnVuY3Rpb24gd2FrZUNodW5rKGxpc3RlbmVycywgdmFsdWUpIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaXN0ZW5lcnMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgbGlzdGVuZXIgPSBsaXN0ZW5lcnNbaV07XG4gICAgbGlzdGVuZXIodmFsdWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHdha2VDaHVua0lmSW5pdGlhbGl6ZWQoY2h1bmssIHJlc29sdmVMaXN0ZW5lcnMsIHJlamVjdExpc3RlbmVycykge1xuICBzd2l0Y2ggKGNodW5rLnN0YXR1cykge1xuICAgIGNhc2UgSU5JVElBTElaRUQ6XG4gICAgICB3YWtlQ2h1bmsocmVzb2x2ZUxpc3RlbmVycywgY2h1bmsudmFsdWUpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFBFTkRJTkc6XG4gICAgY2FzZSBCTE9DS0VEOlxuICAgIGNhc2UgQ1lDTElDOlxuICAgICAgY2h1bmsudmFsdWUgPSByZXNvbHZlTGlzdGVuZXJzO1xuICAgICAgY2h1bmsucmVhc29uID0gcmVqZWN0TGlzdGVuZXJzO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIEVSUk9SRUQ6XG4gICAgICBpZiAocmVqZWN0TGlzdGVuZXJzKSB7XG4gICAgICAgIHdha2VDaHVuayhyZWplY3RMaXN0ZW5lcnMsIGNodW5rLnJlYXNvbik7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRyaWdnZXJFcnJvck9uQ2h1bmsoY2h1bmssIGVycm9yKSB7XG4gIGlmIChjaHVuay5zdGF0dXMgIT09IFBFTkRJTkcgJiYgY2h1bmsuc3RhdHVzICE9PSBCTE9DS0VEKSB7XG4gICAgLy8gV2UgYWxyZWFkeSByZXNvbHZlZC4gV2UgZGlkbid0IGV4cGVjdCB0byBzZWUgdGhpcy5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgbGlzdGVuZXJzID0gY2h1bmsucmVhc29uO1xuICB2YXIgZXJyb3JlZENodW5rID0gY2h1bms7XG4gIGVycm9yZWRDaHVuay5zdGF0dXMgPSBFUlJPUkVEO1xuICBlcnJvcmVkQ2h1bmsucmVhc29uID0gZXJyb3I7XG5cbiAgaWYgKGxpc3RlbmVycyAhPT0gbnVsbCkge1xuICAgIHdha2VDaHVuayhsaXN0ZW5lcnMsIGVycm9yKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVSZXNvbHZlZE1vZGVsQ2h1bmsocmVzcG9uc2UsIHZhbHVlKSB7XG4gIC8vICRGbG93Rml4TWVbaW52YWxpZC1jb25zdHJ1Y3Rvcl0gRmxvdyBkb2Vzbid0IHN1cHBvcnQgZnVuY3Rpb25zIGFzIGNvbnN0cnVjdG9yc1xuICByZXR1cm4gbmV3IENodW5rKFJFU09MVkVEX01PREVMLCB2YWx1ZSwgbnVsbCwgcmVzcG9uc2UpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVSZXNvbHZlZE1vZHVsZUNodW5rKHJlc3BvbnNlLCB2YWx1ZSkge1xuICAvLyAkRmxvd0ZpeE1lW2ludmFsaWQtY29uc3RydWN0b3JdIEZsb3cgZG9lc24ndCBzdXBwb3J0IGZ1bmN0aW9ucyBhcyBjb25zdHJ1Y3RvcnNcbiAgcmV0dXJuIG5ldyBDaHVuayhSRVNPTFZFRF9NT0RVTEUsIHZhbHVlLCBudWxsLCByZXNwb25zZSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluaXRpYWxpemVkVGV4dENodW5rKHJlc3BvbnNlLCB2YWx1ZSkge1xuICAvLyAkRmxvd0ZpeE1lW2ludmFsaWQtY29uc3RydWN0b3JdIEZsb3cgZG9lc24ndCBzdXBwb3J0IGZ1bmN0aW9ucyBhcyBjb25zdHJ1Y3RvcnNcbiAgcmV0dXJuIG5ldyBDaHVuayhJTklUSUFMSVpFRCwgdmFsdWUsIG51bGwsIHJlc3BvbnNlKTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZU1vZGVsQ2h1bmsoY2h1bmssIHZhbHVlKSB7XG4gIGlmIChjaHVuay5zdGF0dXMgIT09IFBFTkRJTkcpIHtcbiAgICAvLyBXZSBhbHJlYWR5IHJlc29sdmVkLiBXZSBkaWRuJ3QgZXhwZWN0IHRvIHNlZSB0aGlzLlxuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciByZXNvbHZlTGlzdGVuZXJzID0gY2h1bmsudmFsdWU7XG4gIHZhciByZWplY3RMaXN0ZW5lcnMgPSBjaHVuay5yZWFzb247XG4gIHZhciByZXNvbHZlZENodW5rID0gY2h1bms7XG4gIHJlc29sdmVkQ2h1bmsuc3RhdHVzID0gUkVTT0xWRURfTU9ERUw7XG4gIHJlc29sdmVkQ2h1bmsudmFsdWUgPSB2YWx1ZTtcblxuICBpZiAocmVzb2x2ZUxpc3RlbmVycyAhPT0gbnVsbCkge1xuICAgIC8vIFRoaXMgaXMgdW5mb3J0dW5hdGUgdGhhdCB3ZSdyZSByZWFkaW5nIHRoaXMgZWFnZXJseSBpZlxuICAgIC8vIHdlIGFscmVhZHkgaGF2ZSBsaXN0ZW5lcnMgYXR0YWNoZWQgc2luY2UgdGhleSBtaWdodCBub1xuICAgIC8vIGxvbmdlciBiZSByZW5kZXJlZCBvciBtaWdodCBub3QgYmUgdGhlIGhpZ2hlc3QgcHJpLlxuICAgIGluaXRpYWxpemVNb2RlbENodW5rKHJlc29sdmVkQ2h1bmspOyAvLyBUaGUgc3RhdHVzIG1pZ2h0IGhhdmUgY2hhbmdlZCBhZnRlciBpbml0aWFsaXphdGlvbi5cblxuICAgIHdha2VDaHVua0lmSW5pdGlhbGl6ZWQoY2h1bmssIHJlc29sdmVMaXN0ZW5lcnMsIHJlamVjdExpc3RlbmVycyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzb2x2ZU1vZHVsZUNodW5rKGNodW5rLCB2YWx1ZSkge1xuICBpZiAoY2h1bmsuc3RhdHVzICE9PSBQRU5ESU5HICYmIGNodW5rLnN0YXR1cyAhPT0gQkxPQ0tFRCkge1xuICAgIC8vIFdlIGFscmVhZHkgcmVzb2x2ZWQuIFdlIGRpZG4ndCBleHBlY3QgdG8gc2VlIHRoaXMuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHJlc29sdmVMaXN0ZW5lcnMgPSBjaHVuay52YWx1ZTtcbiAgdmFyIHJlamVjdExpc3RlbmVycyA9IGNodW5rLnJlYXNvbjtcbiAgdmFyIHJlc29sdmVkQ2h1bmsgPSBjaHVuaztcbiAgcmVzb2x2ZWRDaHVuay5zdGF0dXMgPSBSRVNPTFZFRF9NT0RVTEU7XG4gIHJlc29sdmVkQ2h1bmsudmFsdWUgPSB2YWx1ZTtcblxuICBpZiAocmVzb2x2ZUxpc3RlbmVycyAhPT0gbnVsbCkge1xuICAgIGluaXRpYWxpemVNb2R1bGVDaHVuayhyZXNvbHZlZENodW5rKTtcbiAgICB3YWtlQ2h1bmtJZkluaXRpYWxpemVkKGNodW5rLCByZXNvbHZlTGlzdGVuZXJzLCByZWplY3RMaXN0ZW5lcnMpO1xuICB9XG59XG5cbnZhciBpbml0aWFsaXppbmdDaHVuayA9IG51bGw7XG52YXIgaW5pdGlhbGl6aW5nQ2h1bmtCbG9ja2VkTW9kZWwgPSBudWxsO1xuXG5mdW5jdGlvbiBpbml0aWFsaXplTW9kZWxDaHVuayhjaHVuaykge1xuICB2YXIgcHJldkNodW5rID0gaW5pdGlhbGl6aW5nQ2h1bms7XG4gIHZhciBwcmV2QmxvY2tlZCA9IGluaXRpYWxpemluZ0NodW5rQmxvY2tlZE1vZGVsO1xuICBpbml0aWFsaXppbmdDaHVuayA9IGNodW5rO1xuICBpbml0aWFsaXppbmdDaHVua0Jsb2NrZWRNb2RlbCA9IG51bGw7XG4gIHZhciByZXNvbHZlZE1vZGVsID0gY2h1bmsudmFsdWU7IC8vIFdlIGdvIHRvIHRoZSBDWUNMSUMgc3RhdGUgdW50aWwgd2UndmUgZnVsbHkgcmVzb2x2ZWQgdGhpcy5cbiAgLy8gV2UgZG8gdGhpcyBiZWZvcmUgcGFyc2luZyBpbiBjYXNlIHdlIHRyeSB0byBpbml0aWFsaXplIHRoZSBzYW1lIGNodW5rXG4gIC8vIHdoaWxlIHBhcnNpbmcgdGhlIG1vZGVsLiBTdWNoIGFzIGluIGEgY3ljbGljIHJlZmVyZW5jZS5cblxuICB2YXIgY3ljbGljQ2h1bmsgPSBjaHVuaztcbiAgY3ljbGljQ2h1bmsuc3RhdHVzID0gQ1lDTElDO1xuICBjeWNsaWNDaHVuay52YWx1ZSA9IG51bGw7XG4gIGN5Y2xpY0NodW5rLnJlYXNvbiA9IG51bGw7XG5cbiAgdHJ5IHtcbiAgICB2YXIgdmFsdWUgPSBwYXJzZU1vZGVsKGNodW5rLl9yZXNwb25zZSwgcmVzb2x2ZWRNb2RlbCk7XG5cbiAgICBpZiAoaW5pdGlhbGl6aW5nQ2h1bmtCbG9ja2VkTW9kZWwgIT09IG51bGwgJiYgaW5pdGlhbGl6aW5nQ2h1bmtCbG9ja2VkTW9kZWwuZGVwcyA+IDApIHtcbiAgICAgIGluaXRpYWxpemluZ0NodW5rQmxvY2tlZE1vZGVsLnZhbHVlID0gdmFsdWU7IC8vIFdlIGRpc2NvdmVyZWQgbmV3IGRlcGVuZGVuY2llcyBvbiBtb2R1bGVzIHRoYXQgYXJlIG5vdCB5ZXQgcmVzb2x2ZWQuXG4gICAgICAvLyBXZSBoYXZlIHRvIGdvIHRoZSBCTE9DS0VEIHN0YXRlIHVudGlsIHRoZXkncmUgcmVzb2x2ZWQuXG5cbiAgICAgIHZhciBibG9ja2VkQ2h1bmsgPSBjaHVuaztcbiAgICAgIGJsb2NrZWRDaHVuay5zdGF0dXMgPSBCTE9DS0VEO1xuICAgICAgYmxvY2tlZENodW5rLnZhbHVlID0gbnVsbDtcbiAgICAgIGJsb2NrZWRDaHVuay5yZWFzb24gPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgcmVzb2x2ZUxpc3RlbmVycyA9IGN5Y2xpY0NodW5rLnZhbHVlO1xuICAgICAgdmFyIGluaXRpYWxpemVkQ2h1bmsgPSBjaHVuaztcbiAgICAgIGluaXRpYWxpemVkQ2h1bmsuc3RhdHVzID0gSU5JVElBTElaRUQ7XG4gICAgICBpbml0aWFsaXplZENodW5rLnZhbHVlID0gdmFsdWU7XG5cbiAgICAgIGlmIChyZXNvbHZlTGlzdGVuZXJzICE9PSBudWxsKSB7XG4gICAgICAgIHdha2VDaHVuayhyZXNvbHZlTGlzdGVuZXJzLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHZhciBlcnJvcmVkQ2h1bmsgPSBjaHVuaztcbiAgICBlcnJvcmVkQ2h1bmsuc3RhdHVzID0gRVJST1JFRDtcbiAgICBlcnJvcmVkQ2h1bmsucmVhc29uID0gZXJyb3I7XG4gIH0gZmluYWxseSB7XG4gICAgaW5pdGlhbGl6aW5nQ2h1bmsgPSBwcmV2Q2h1bms7XG4gICAgaW5pdGlhbGl6aW5nQ2h1bmtCbG9ja2VkTW9kZWwgPSBwcmV2QmxvY2tlZDtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0aWFsaXplTW9kdWxlQ2h1bmsoY2h1bmspIHtcbiAgdHJ5IHtcbiAgICB2YXIgdmFsdWUgPSByZXF1aXJlTW9kdWxlKGNodW5rLnZhbHVlKTtcbiAgICB2YXIgaW5pdGlhbGl6ZWRDaHVuayA9IGNodW5rO1xuICAgIGluaXRpYWxpemVkQ2h1bmsuc3RhdHVzID0gSU5JVElBTElaRUQ7XG4gICAgaW5pdGlhbGl6ZWRDaHVuay52YWx1ZSA9IHZhbHVlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHZhciBlcnJvcmVkQ2h1bmsgPSBjaHVuaztcbiAgICBlcnJvcmVkQ2h1bmsuc3RhdHVzID0gRVJST1JFRDtcbiAgICBlcnJvcmVkQ2h1bmsucmVhc29uID0gZXJyb3I7XG4gIH1cbn0gLy8gUmVwb3J0IHRoYXQgYW55IG1pc3NpbmcgY2h1bmtzIGluIHRoZSBtb2RlbCBpcyBub3cgZ29pbmcgdG8gdGhyb3cgdGhpc1xuLy8gZXJyb3IgdXBvbiByZWFkLiBBbHNvIG5vdGlmeSBhbnkgcGVuZGluZyBwcm9taXNlcy5cblxuXG5mdW5jdGlvbiByZXBvcnRHbG9iYWxFcnJvcihyZXNwb25zZSwgZXJyb3IpIHtcbiAgcmVzcG9uc2UuX2NodW5rcy5mb3JFYWNoKGZ1bmN0aW9uIChjaHVuaykge1xuICAgIC8vIElmIHRoaXMgY2h1bmsgd2FzIGFscmVhZHkgcmVzb2x2ZWQgb3IgZXJyb3JlZCwgaXQgd29uJ3RcbiAgICAvLyB0cmlnZ2VyIGFuIGVycm9yIGJ1dCBpZiBpdCB3YXNuJ3QgdGhlbiB3ZSBuZWVkIHRvXG4gICAgLy8gYmVjYXVzZSB3ZSB3b24ndCBiZSBnZXR0aW5nIGFueSBuZXcgZGF0YSB0byByZXNvbHZlIGl0LlxuICAgIGlmIChjaHVuay5zdGF0dXMgPT09IFBFTkRJTkcpIHtcbiAgICAgIHRyaWdnZXJFcnJvck9uQ2h1bmsoY2h1bmssIGVycm9yKTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50KHR5cGUsIGtleSwgcHJvcHMpIHtcbiAgdmFyIGVsZW1lbnQgPSB7XG4gICAgLy8gVGhpcyB0YWcgYWxsb3dzIHVzIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoaXMgYXMgYSBSZWFjdCBFbGVtZW50XG4gICAgJCR0eXBlb2Y6IFJFQUNUX0VMRU1FTlRfVFlQRSxcbiAgICAvLyBCdWlsdC1pbiBwcm9wZXJ0aWVzIHRoYXQgYmVsb25nIG9uIHRoZSBlbGVtZW50XG4gICAgdHlwZTogdHlwZSxcbiAgICBrZXk6IGtleSxcbiAgICByZWY6IG51bGwsXG4gICAgcHJvcHM6IHByb3BzLFxuICAgIC8vIFJlY29yZCB0aGUgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGVsZW1lbnQuXG4gICAgX293bmVyOiBudWxsXG4gIH07XG5cbiAge1xuICAgIC8vIFdlIGRvbid0IHJlYWxseSBuZWVkIHRvIGFkZCBhbnkgb2YgdGhlc2UgYnV0IGtlZXBpbmcgdGhlbSBmb3IgZ29vZCBtZWFzdXJlLlxuICAgIC8vIFVuZm9ydHVuYXRlbHksIF9zdG9yZSBpcyBlbnVtZXJhYmxlIGluIGplc3QgbWF0Y2hlcnMgc28gZm9yIGVxdWFsaXR5IHRvXG4gICAgLy8gd29yaywgSSBuZWVkIHRvIGtlZXAgaXQgb3IgbWFrZSBfc3RvcmUgbm9uLWVudW1lcmFibGUgaW4gdGhlIG90aGVyIGZpbGUuXG4gICAgZWxlbWVudC5fc3RvcmUgPSB7fTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudC5fc3RvcmUsICd2YWxpZGF0ZWQnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiB0cnVlIC8vIFRoaXMgZWxlbWVudCBoYXMgYWxyZWFkeSBiZWVuIHZhbGlkYXRlZCBvbiB0aGUgc2VydmVyLlxuXG4gICAgfSk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc2VsZicsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIHZhbHVlOiBudWxsXG4gICAgfSk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc291cmNlJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgdmFsdWU6IG51bGxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMYXp5Q2h1bmtXcmFwcGVyKGNodW5rKSB7XG4gIHZhciBsYXp5VHlwZSA9IHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfTEFaWV9UWVBFLFxuICAgIF9wYXlsb2FkOiBjaHVuayxcbiAgICBfaW5pdDogcmVhZENodW5rXG4gIH07XG4gIHJldHVybiBsYXp5VHlwZTtcbn1cblxuZnVuY3Rpb24gZ2V0Q2h1bmsocmVzcG9uc2UsIGlkKSB7XG4gIHZhciBjaHVua3MgPSByZXNwb25zZS5fY2h1bmtzO1xuICB2YXIgY2h1bmsgPSBjaHVua3MuZ2V0KGlkKTtcblxuICBpZiAoIWNodW5rKSB7XG4gICAgY2h1bmsgPSBjcmVhdGVQZW5kaW5nQ2h1bmsocmVzcG9uc2UpO1xuICAgIGNodW5rcy5zZXQoaWQsIGNodW5rKTtcbiAgfVxuXG4gIHJldHVybiBjaHVuaztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTW9kZWxSZXNvbHZlcihjaHVuaywgcGFyZW50T2JqZWN0LCBrZXksIGN5Y2xpYykge1xuICB2YXIgYmxvY2tlZDtcblxuICBpZiAoaW5pdGlhbGl6aW5nQ2h1bmtCbG9ja2VkTW9kZWwpIHtcbiAgICBibG9ja2VkID0gaW5pdGlhbGl6aW5nQ2h1bmtCbG9ja2VkTW9kZWw7XG5cbiAgICBpZiAoIWN5Y2xpYykge1xuICAgICAgYmxvY2tlZC5kZXBzKys7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGJsb2NrZWQgPSBpbml0aWFsaXppbmdDaHVua0Jsb2NrZWRNb2RlbCA9IHtcbiAgICAgIGRlcHM6IGN5Y2xpYyA/IDAgOiAxLFxuICAgICAgdmFsdWU6IG51bGxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgIHBhcmVudE9iamVjdFtrZXldID0gdmFsdWU7XG4gICAgYmxvY2tlZC5kZXBzLS07XG5cbiAgICBpZiAoYmxvY2tlZC5kZXBzID09PSAwKSB7XG4gICAgICBpZiAoY2h1bmsuc3RhdHVzICE9PSBCTE9DS0VEKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIHJlc29sdmVMaXN0ZW5lcnMgPSBjaHVuay52YWx1ZTtcbiAgICAgIHZhciBpbml0aWFsaXplZENodW5rID0gY2h1bms7XG4gICAgICBpbml0aWFsaXplZENodW5rLnN0YXR1cyA9IElOSVRJQUxJWkVEO1xuICAgICAgaW5pdGlhbGl6ZWRDaHVuay52YWx1ZSA9IGJsb2NrZWQudmFsdWU7XG5cbiAgICAgIGlmIChyZXNvbHZlTGlzdGVuZXJzICE9PSBudWxsKSB7XG4gICAgICAgIHdha2VDaHVuayhyZXNvbHZlTGlzdGVuZXJzLCBibG9ja2VkLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZU1vZGVsUmVqZWN0KGNodW5rKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICByZXR1cm4gdHJpZ2dlckVycm9yT25DaHVuayhjaHVuaywgZXJyb3IpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVTZXJ2ZXJSZWZlcmVuY2VQcm94eShyZXNwb25zZSwgbWV0YURhdGEpIHtcbiAgdmFyIGNhbGxTZXJ2ZXIgPSByZXNwb25zZS5fY2FsbFNlcnZlcjtcblxuICB2YXIgcHJveHkgPSBmdW5jdGlvbiAoKSB7XG4gICAgLy8gJEZsb3dGaXhNZVttZXRob2QtdW5iaW5kaW5nXVxuICAgIHZhciBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtcbiAgICB2YXIgcCA9IG1ldGFEYXRhLmJvdW5kO1xuXG4gICAgaWYgKCFwKSB7XG4gICAgICByZXR1cm4gY2FsbFNlcnZlcihtZXRhRGF0YS5pZCwgYXJncyk7XG4gICAgfVxuXG4gICAgaWYgKHAuc3RhdHVzID09PSBJTklUSUFMSVpFRCkge1xuICAgICAgdmFyIGJvdW5kID0gcC52YWx1ZTtcbiAgICAgIHJldHVybiBjYWxsU2VydmVyKG1ldGFEYXRhLmlkLCBib3VuZC5jb25jYXQoYXJncykpO1xuICAgIH0gLy8gU2luY2UgdGhpcyBpcyBhIGZha2UgUHJvbWlzZSB3aG9zZSAudGhlbiBkb2Vzbid0IGNoYWluLCB3ZSBoYXZlIHRvIHdyYXAgaXQuXG4gICAgLy8gVE9ETzogUmVtb3ZlIHRoZSB3cmFwcGVyIG9uY2UgdGhhdCdzIGZpeGVkLlxuXG5cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHApLnRoZW4oZnVuY3Rpb24gKGJvdW5kKSB7XG4gICAgICByZXR1cm4gY2FsbFNlcnZlcihtZXRhRGF0YS5pZCwgYm91bmQuY29uY2F0KGFyZ3MpKTtcbiAgICB9KTtcbiAgfTtcblxuICByZWdpc3RlclNlcnZlclJlZmVyZW5jZShwcm94eSwgbWV0YURhdGEpO1xuICByZXR1cm4gcHJveHk7XG59XG5cbmZ1bmN0aW9uIGdldE91dGxpbmVkTW9kZWwocmVzcG9uc2UsIGlkKSB7XG4gIHZhciBjaHVuayA9IGdldENodW5rKHJlc3BvbnNlLCBpZCk7XG5cbiAgc3dpdGNoIChjaHVuay5zdGF0dXMpIHtcbiAgICBjYXNlIFJFU09MVkVEX01PREVMOlxuICAgICAgaW5pdGlhbGl6ZU1vZGVsQ2h1bmsoY2h1bmspO1xuICAgICAgYnJlYWs7XG4gIH0gLy8gVGhlIHN0YXR1cyBtaWdodCBoYXZlIGNoYW5nZWQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24uXG5cblxuICBzd2l0Y2ggKGNodW5rLnN0YXR1cykge1xuICAgIGNhc2UgSU5JVElBTElaRUQ6XG4gICAgICB7XG4gICAgICAgIHJldHVybiBjaHVuay52YWx1ZTtcbiAgICAgIH1cbiAgICAvLyBXZSBhbHdheXMgZW5jb2RlIGl0IGZpcnN0IGluIHRoZSBzdHJlYW0gc28gaXQgd29uJ3QgYmUgcGVuZGluZy5cblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBjaHVuay5yZWFzb247XG4gIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VNb2RlbFN0cmluZyhyZXNwb25zZSwgcGFyZW50T2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gIGlmICh2YWx1ZVswXSA9PT0gJyQnKSB7XG4gICAgaWYgKHZhbHVlID09PSAnJCcpIHtcbiAgICAgIC8vIEEgdmVyeSBjb21tb24gc3ltYm9sLlxuICAgICAgcmV0dXJuIFJFQUNUX0VMRU1FTlRfVFlQRTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHZhbHVlWzFdKSB7XG4gICAgICBjYXNlICckJzpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRoaXMgd2FzIGFuIGVzY2FwZWQgc3RyaW5nIHZhbHVlLlxuICAgICAgICAgIHJldHVybiB2YWx1ZS5zbGljZSgxKTtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdMJzpcbiAgICAgICAge1xuICAgICAgICAgIC8vIExhenkgbm9kZVxuICAgICAgICAgIHZhciBpZCA9IHBhcnNlSW50KHZhbHVlLnNsaWNlKDIpLCAxNik7XG4gICAgICAgICAgdmFyIGNodW5rID0gZ2V0Q2h1bmsocmVzcG9uc2UsIGlkKTsgLy8gV2UgY3JlYXRlIGEgUmVhY3QubGF6eSB3cmFwcGVyIGFyb3VuZCBhbnkgbGF6eSB2YWx1ZXMuXG4gICAgICAgICAgLy8gV2hlbiBwYXNzZWQgaW50byBSZWFjdCwgd2UnbGwga25vdyBob3cgdG8gc3VzcGVuZCBvbiB0aGlzLlxuXG4gICAgICAgICAgcmV0dXJuIGNyZWF0ZUxhenlDaHVua1dyYXBwZXIoY2h1bmspO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ0AnOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gUHJvbWlzZVxuICAgICAgICAgIHZhciBfaWQgPSBwYXJzZUludCh2YWx1ZS5zbGljZSgyKSwgMTYpO1xuXG4gICAgICAgICAgdmFyIF9jaHVuayA9IGdldENodW5rKHJlc3BvbnNlLCBfaWQpO1xuXG4gICAgICAgICAgcmV0dXJuIF9jaHVuaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdTJzpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFN5bWJvbFxuICAgICAgICAgIHJldHVybiBTeW1ib2wuZm9yKHZhbHVlLnNsaWNlKDIpKTtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdQJzpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFNlcnZlciBDb250ZXh0IFByb3ZpZGVyXG4gICAgICAgICAgcmV0dXJuIGdldE9yQ3JlYXRlU2VydmVyQ29udGV4dCh2YWx1ZS5zbGljZSgyKSkuUHJvdmlkZXI7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnRic6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBTZXJ2ZXIgUmVmZXJlbmNlXG4gICAgICAgICAgdmFyIF9pZDIgPSBwYXJzZUludCh2YWx1ZS5zbGljZSgyKSwgMTYpO1xuXG4gICAgICAgICAgdmFyIG1ldGFkYXRhID0gZ2V0T3V0bGluZWRNb2RlbChyZXNwb25zZSwgX2lkMik7XG4gICAgICAgICAgcmV0dXJuIGNyZWF0ZVNlcnZlclJlZmVyZW5jZVByb3h5KHJlc3BvbnNlLCBtZXRhZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnUSc6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBNYXBcbiAgICAgICAgICB2YXIgX2lkMyA9IHBhcnNlSW50KHZhbHVlLnNsaWNlKDIpLCAxNik7XG5cbiAgICAgICAgICB2YXIgZGF0YSA9IGdldE91dGxpbmVkTW9kZWwocmVzcG9uc2UsIF9pZDMpO1xuICAgICAgICAgIHJldHVybiBuZXcgTWFwKGRhdGEpO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgJ1cnOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gU2V0XG4gICAgICAgICAgdmFyIF9pZDQgPSBwYXJzZUludCh2YWx1ZS5zbGljZSgyKSwgMTYpO1xuXG4gICAgICAgICAgdmFyIF9kYXRhID0gZ2V0T3V0bGluZWRNb2RlbChyZXNwb25zZSwgX2lkNCk7XG5cbiAgICAgICAgICByZXR1cm4gbmV3IFNldChfZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnSSc6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyAkSW5maW5pdHlcbiAgICAgICAgICByZXR1cm4gSW5maW5pdHk7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnLSc6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyAkLTAgb3IgJC1JbmZpbml0eVxuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJyQtMCcpIHtcbiAgICAgICAgICAgIHJldHVybiAtMDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIC1JbmZpbml0eTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnTic6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyAkTmFOXG4gICAgICAgICAgcmV0dXJuIE5hTjtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICd1JzpcbiAgICAgICAge1xuICAgICAgICAgIC8vIG1hdGNoZXMgXCIkdW5kZWZpbmVkXCJcbiAgICAgICAgICAvLyBTcGVjaWFsIGVuY29kaW5nIGZvciBgdW5kZWZpbmVkYCB3aGljaCBjYW4ndCBiZSBzZXJpYWxpemVkIGFzIEpTT04gb3RoZXJ3aXNlLlxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAnRCc6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBEYXRlXG4gICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKERhdGUucGFyc2UodmFsdWUuc2xpY2UoMikpKTtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICduJzpcbiAgICAgICAge1xuICAgICAgICAgIC8vIEJpZ0ludFxuICAgICAgICAgIHJldHVybiBCaWdJbnQodmFsdWUuc2xpY2UoMikpO1xuICAgICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBXZSBhc3N1bWUgdGhhdCBhbnl0aGluZyBlbHNlIGlzIGEgcmVmZXJlbmNlIElELlxuICAgICAgICAgIHZhciBfaWQ1ID0gcGFyc2VJbnQodmFsdWUuc2xpY2UoMSksIDE2KTtcblxuICAgICAgICAgIHZhciBfY2h1bmsyID0gZ2V0Q2h1bmsocmVzcG9uc2UsIF9pZDUpO1xuXG4gICAgICAgICAgc3dpdGNoIChfY2h1bmsyLnN0YXR1cykge1xuICAgICAgICAgICAgY2FzZSBSRVNPTFZFRF9NT0RFTDpcbiAgICAgICAgICAgICAgaW5pdGlhbGl6ZU1vZGVsQ2h1bmsoX2NodW5rMik7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFJFU09MVkVEX01PRFVMRTpcbiAgICAgICAgICAgICAgaW5pdGlhbGl6ZU1vZHVsZUNodW5rKF9jaHVuazIpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9IC8vIFRoZSBzdGF0dXMgbWlnaHQgaGF2ZSBjaGFuZ2VkIGFmdGVyIGluaXRpYWxpemF0aW9uLlxuXG5cbiAgICAgICAgICBzd2l0Y2ggKF9jaHVuazIuc3RhdHVzKSB7XG4gICAgICAgICAgICBjYXNlIElOSVRJQUxJWkVEOlxuICAgICAgICAgICAgICByZXR1cm4gX2NodW5rMi52YWx1ZTtcblxuICAgICAgICAgICAgY2FzZSBQRU5ESU5HOlxuICAgICAgICAgICAgY2FzZSBCTE9DS0VEOlxuICAgICAgICAgICAgY2FzZSBDWUNMSUM6XG4gICAgICAgICAgICAgIHZhciBwYXJlbnRDaHVuayA9IGluaXRpYWxpemluZ0NodW5rO1xuXG4gICAgICAgICAgICAgIF9jaHVuazIudGhlbihjcmVhdGVNb2RlbFJlc29sdmVyKHBhcmVudENodW5rLCBwYXJlbnRPYmplY3QsIGtleSwgX2NodW5rMi5zdGF0dXMgPT09IENZQ0xJQyksIGNyZWF0ZU1vZGVsUmVqZWN0KHBhcmVudENodW5rKSk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHRocm93IF9jaHVuazIucmVhc29uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gcGFyc2VNb2RlbFR1cGxlKHJlc3BvbnNlLCB2YWx1ZSkge1xuICB2YXIgdHVwbGUgPSB2YWx1ZTtcblxuICBpZiAodHVwbGVbMF0gPT09IFJFQUNUX0VMRU1FTlRfVFlQRSkge1xuICAgIC8vIFRPRE86IENvbnNpZGVyIGhhdmluZyBSZWFjdCBqdXN0IGRpcmVjdGx5IGFjY2VwdCB0aGVzZSBhcnJheXMgYXMgZWxlbWVudHMuXG4gICAgLy8gT3IgZXZlbiBjaGFuZ2UgdGhlIFJlYWN0RWxlbWVudCB0eXBlIHRvIGJlIGFuIGFycmF5LlxuICAgIHJldHVybiBjcmVhdGVFbGVtZW50KHR1cGxlWzFdLCB0dXBsZVsyXSwgdHVwbGVbM10pO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5mdW5jdGlvbiBtaXNzaW5nQ2FsbCgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdUcnlpbmcgdG8gY2FsbCBhIGZ1bmN0aW9uIGZyb20gXCJ1c2Ugc2VydmVyXCIgYnV0IHRoZSBjYWxsU2VydmVyIG9wdGlvbiAnICsgJ3dhcyBub3QgaW1wbGVtZW50ZWQgaW4geW91ciByb3V0ZXIgcnVudGltZS4nKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlUmVzcG9uc2UoYnVuZGxlckNvbmZpZywgbW9kdWxlTG9hZGluZywgY2FsbFNlcnZlciwgbm9uY2UpIHtcbiAgdmFyIGNodW5rcyA9IG5ldyBNYXAoKTtcbiAgdmFyIHJlc3BvbnNlID0ge1xuICAgIF9idW5kbGVyQ29uZmlnOiBidW5kbGVyQ29uZmlnLFxuICAgIF9tb2R1bGVMb2FkaW5nOiBtb2R1bGVMb2FkaW5nLFxuICAgIF9jYWxsU2VydmVyOiBjYWxsU2VydmVyICE9PSB1bmRlZmluZWQgPyBjYWxsU2VydmVyIDogbWlzc2luZ0NhbGwsXG4gICAgX25vbmNlOiBub25jZSxcbiAgICBfY2h1bmtzOiBjaHVua3MsXG4gICAgX3N0cmluZ0RlY29kZXI6IGNyZWF0ZVN0cmluZ0RlY29kZXIoKSxcbiAgICBfZnJvbUpTT046IG51bGwsXG4gICAgX3Jvd1N0YXRlOiAwLFxuICAgIF9yb3dJRDogMCxcbiAgICBfcm93VGFnOiAwLFxuICAgIF9yb3dMZW5ndGg6IDAsXG4gICAgX2J1ZmZlcjogW11cbiAgfTsgLy8gRG9uJ3QgaW5saW5lIHRoaXMgY2FsbCBiZWNhdXNlIGl0IGNhdXNlcyBjbG9zdXJlIHRvIG91dGxpbmUgdGhlIGNhbGwgYWJvdmUuXG5cbiAgcmVzcG9uc2UuX2Zyb21KU09OID0gY3JlYXRlRnJvbUpTT05DYWxsYmFjayhyZXNwb25zZSk7XG4gIHJldHVybiByZXNwb25zZTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZU1vZGVsKHJlc3BvbnNlLCBpZCwgbW9kZWwpIHtcbiAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3M7XG4gIHZhciBjaHVuayA9IGNodW5rcy5nZXQoaWQpO1xuXG4gIGlmICghY2h1bmspIHtcbiAgICBjaHVua3Muc2V0KGlkLCBjcmVhdGVSZXNvbHZlZE1vZGVsQ2h1bmsocmVzcG9uc2UsIG1vZGVsKSk7XG4gIH0gZWxzZSB7XG4gICAgcmVzb2x2ZU1vZGVsQ2h1bmsoY2h1bmssIG1vZGVsKTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNvbHZlVGV4dChyZXNwb25zZSwgaWQsIHRleHQpIHtcbiAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3M7IC8vIFdlIGFzc3VtZSB0aGF0IHdlIGFsd2F5cyByZWZlcmVuY2UgbGFyZ2Ugc3RyaW5ncyBhZnRlciB0aGV5J3ZlIGJlZW5cbiAgLy8gZW1pdHRlZC5cblxuICBjaHVua3Muc2V0KGlkLCBjcmVhdGVJbml0aWFsaXplZFRleHRDaHVuayhyZXNwb25zZSwgdGV4dCkpO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlTW9kdWxlKHJlc3BvbnNlLCBpZCwgbW9kZWwpIHtcbiAgdmFyIGNodW5rcyA9IHJlc3BvbnNlLl9jaHVua3M7XG4gIHZhciBjaHVuayA9IGNodW5rcy5nZXQoaWQpO1xuICB2YXIgY2xpZW50UmVmZXJlbmNlTWV0YWRhdGEgPSBwYXJzZU1vZGVsKHJlc3BvbnNlLCBtb2RlbCk7XG4gIHZhciBjbGllbnRSZWZlcmVuY2UgPSByZXNvbHZlQ2xpZW50UmVmZXJlbmNlKHJlc3BvbnNlLl9idW5kbGVyQ29uZmlnLCBjbGllbnRSZWZlcmVuY2VNZXRhZGF0YSk7XG4gIHByZXBhcmVEZXN0aW5hdGlvbkZvck1vZHVsZShyZXNwb25zZS5fbW9kdWxlTG9hZGluZywgcmVzcG9uc2UuX25vbmNlLCBjbGllbnRSZWZlcmVuY2VNZXRhZGF0YSk7IC8vIFRPRE86IEFkZCBhbiBvcHRpb24gdG8gZW5jb2RlIG1vZHVsZXMgdGhhdCBhcmUgbGF6eSBsb2FkZWQuXG4gIC8vIEZvciBub3cgd2UgcHJlbG9hZCBhbGwgbW9kdWxlcyBhcyBlYXJseSBhcyBwb3NzaWJsZSBzaW5jZSBpdCdzIGxpa2VseVxuICAvLyB0aGF0IHdlJ2xsIG5lZWQgdGhlbS5cblxuICB2YXIgcHJvbWlzZSA9IHByZWxvYWRNb2R1bGUoY2xpZW50UmVmZXJlbmNlKTtcblxuICBpZiAocHJvbWlzZSkge1xuICAgIHZhciBibG9ja2VkQ2h1bms7XG5cbiAgICBpZiAoIWNodW5rKSB7XG4gICAgICAvLyBUZWNobmljYWxseSwgd2Ugc2hvdWxkIGp1c3QgdHJlYXQgcHJvbWlzZSBhcyB0aGUgY2h1bmsgaW4gdGhpc1xuICAgICAgLy8gY2FzZS4gQmVjYXVzZSBpdCdsbCBqdXN0IGJlaGF2ZSBhcyBhbnkgb3RoZXIgcHJvbWlzZS5cbiAgICAgIGJsb2NrZWRDaHVuayA9IGNyZWF0ZUJsb2NrZWRDaHVuayhyZXNwb25zZSk7XG4gICAgICBjaHVua3Muc2V0KGlkLCBibG9ja2VkQ2h1bmspO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGlzIGNhbid0IGFjdHVhbGx5IGhhcHBlbiBiZWNhdXNlIHdlIGRvbid0IGhhdmUgYW55IGZvcndhcmRcbiAgICAgIC8vIHJlZmVyZW5jZXMgdG8gbW9kdWxlcy5cbiAgICAgIGJsb2NrZWRDaHVuayA9IGNodW5rO1xuICAgICAgYmxvY2tlZENodW5rLnN0YXR1cyA9IEJMT0NLRUQ7XG4gICAgfVxuXG4gICAgcHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiByZXNvbHZlTW9kdWxlQ2h1bmsoYmxvY2tlZENodW5rLCBjbGllbnRSZWZlcmVuY2UpO1xuICAgIH0sIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgcmV0dXJuIHRyaWdnZXJFcnJvck9uQ2h1bmsoYmxvY2tlZENodW5rLCBlcnJvcik7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKCFjaHVuaykge1xuICAgICAgY2h1bmtzLnNldChpZCwgY3JlYXRlUmVzb2x2ZWRNb2R1bGVDaHVuayhyZXNwb25zZSwgY2xpZW50UmVmZXJlbmNlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgY2FuJ3QgYWN0dWFsbHkgaGFwcGVuIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBhbnkgZm9yd2FyZFxuICAgICAgLy8gcmVmZXJlbmNlcyB0byBtb2R1bGVzLlxuICAgICAgcmVzb2x2ZU1vZHVsZUNodW5rKGNodW5rLCBjbGllbnRSZWZlcmVuY2UpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiByZXNvbHZlRXJyb3JEZXYocmVzcG9uc2UsIGlkLCBkaWdlc3QsIG1lc3NhZ2UsIHN0YWNrKSB7XG5cblxuICB2YXIgZXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSB8fCAnQW4gZXJyb3Igb2NjdXJyZWQgaW4gdGhlIFNlcnZlciBDb21wb25lbnRzIHJlbmRlciBidXQgbm8gbWVzc2FnZSB3YXMgcHJvdmlkZWQnKTtcbiAgZXJyb3Iuc3RhY2sgPSBzdGFjaztcbiAgZXJyb3IuZGlnZXN0ID0gZGlnZXN0O1xuICB2YXIgZXJyb3JXaXRoRGlnZXN0ID0gZXJyb3I7XG4gIHZhciBjaHVua3MgPSByZXNwb25zZS5fY2h1bmtzO1xuICB2YXIgY2h1bmsgPSBjaHVua3MuZ2V0KGlkKTtcblxuICBpZiAoIWNodW5rKSB7XG4gICAgY2h1bmtzLnNldChpZCwgY3JlYXRlRXJyb3JDaHVuayhyZXNwb25zZSwgZXJyb3JXaXRoRGlnZXN0KSk7XG4gIH0gZWxzZSB7XG4gICAgdHJpZ2dlckVycm9yT25DaHVuayhjaHVuaywgZXJyb3JXaXRoRGlnZXN0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNvbHZlSGludChyZXNwb25zZSwgY29kZSwgbW9kZWwpIHtcbiAgdmFyIGhpbnRNb2RlbCA9IHBhcnNlTW9kZWwocmVzcG9uc2UsIG1vZGVsKTtcbiAgZGlzcGF0Y2hIaW50KGNvZGUsIGhpbnRNb2RlbCk7XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NGdWxsUm93KHJlc3BvbnNlLCBpZCwgdGFnLCBidWZmZXIsIGNodW5rKSB7XG5cbiAgdmFyIHN0cmluZ0RlY29kZXIgPSByZXNwb25zZS5fc3RyaW5nRGVjb2RlcjtcbiAgdmFyIHJvdyA9ICcnO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYnVmZmVyLmxlbmd0aDsgaSsrKSB7XG4gICAgcm93ICs9IHJlYWRQYXJ0aWFsU3RyaW5nQ2h1bmsoc3RyaW5nRGVjb2RlciwgYnVmZmVyW2ldKTtcbiAgfVxuXG4gIHJvdyArPSByZWFkRmluYWxTdHJpbmdDaHVuayhzdHJpbmdEZWNvZGVyLCBjaHVuayk7XG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlIDczXG4gICAgLyogXCJJXCIgKi9cbiAgICA6XG4gICAgICB7XG4gICAgICAgIHJlc29sdmVNb2R1bGUocmVzcG9uc2UsIGlkLCByb3cpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIDcyXG4gICAgLyogXCJIXCIgKi9cbiAgICA6XG4gICAgICB7XG4gICAgICAgIHZhciBjb2RlID0gcm93WzBdO1xuICAgICAgICByZXNvbHZlSGludChyZXNwb25zZSwgY29kZSwgcm93LnNsaWNlKDEpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSA2OVxuICAgIC8qIFwiRVwiICovXG4gICAgOlxuICAgICAge1xuICAgICAgICB2YXIgZXJyb3JJbmZvID0gSlNPTi5wYXJzZShyb3cpO1xuXG4gICAgICAgIHtcbiAgICAgICAgICByZXNvbHZlRXJyb3JEZXYocmVzcG9uc2UsIGlkLCBlcnJvckluZm8uZGlnZXN0LCBlcnJvckluZm8ubWVzc2FnZSwgZXJyb3JJbmZvLnN0YWNrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgODRcbiAgICAvKiBcIlRcIiAqL1xuICAgIDpcbiAgICAgIHtcbiAgICAgICAgcmVzb2x2ZVRleHQocmVzcG9uc2UsIGlkLCByb3cpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIDgwXG4gICAgLyogXCJQXCIgKi9cbiAgICA6XG4gICAgLy8gRmFsbHRocm91Z2hcblxuICAgIGRlZmF1bHQ6XG4gICAgICAvKiBcIlwiXCIgXCJ7XCIgXCJbXCIgXCJ0XCIgXCJmXCIgXCJuXCIgXCIwXCIgLSBcIjlcIiAqL1xuICAgICAge1xuICAgICAgICAvLyBXZSBhc3N1bWUgYW55dGhpbmcgZWxzZSBpcyBKU09OLlxuICAgICAgICByZXNvbHZlTW9kZWwocmVzcG9uc2UsIGlkLCByb3cpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0JpbmFyeUNodW5rKHJlc3BvbnNlLCBjaHVuaykge1xuICB2YXIgaSA9IDA7XG4gIHZhciByb3dTdGF0ZSA9IHJlc3BvbnNlLl9yb3dTdGF0ZTtcbiAgdmFyIHJvd0lEID0gcmVzcG9uc2UuX3Jvd0lEO1xuICB2YXIgcm93VGFnID0gcmVzcG9uc2UuX3Jvd1RhZztcbiAgdmFyIHJvd0xlbmd0aCA9IHJlc3BvbnNlLl9yb3dMZW5ndGg7XG4gIHZhciBidWZmZXIgPSByZXNwb25zZS5fYnVmZmVyO1xuICB2YXIgY2h1bmtMZW5ndGggPSBjaHVuay5sZW5ndGg7XG5cbiAgd2hpbGUgKGkgPCBjaHVua0xlbmd0aCkge1xuICAgIHZhciBsYXN0SWR4ID0gLTE7XG5cbiAgICBzd2l0Y2ggKHJvd1N0YXRlKSB7XG4gICAgICBjYXNlIFJPV19JRDpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBieXRlID0gY2h1bmtbaSsrXTtcblxuICAgICAgICAgIGlmIChieXRlID09PSA1OFxuICAgICAgICAgIC8qIFwiOlwiICovXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIC8vIEZpbmlzaGVkIHRoZSByb3dJRCwgbmV4dCB3ZSdsbCBwYXJzZSB0aGUgdGFnLlxuICAgICAgICAgICAgICByb3dTdGF0ZSA9IFJPV19UQUc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcm93SUQgPSByb3dJRCA8PCA0IHwgKGJ5dGUgPiA5NiA/IGJ5dGUgLSA4NyA6IGJ5dGUgLSA0OCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBST1dfVEFHOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHJlc29sdmVkUm93VGFnID0gY2h1bmtbaV07XG5cbiAgICAgICAgICBpZiAocmVzb2x2ZWRSb3dUYWcgPT09IDg0XG4gICAgICAgICAgLyogXCJUXCIgKi9cbiAgICAgICAgICB8fCBlbmFibGVCaW5hcnlGbGlnaHQgXG4gICAgICAgICAgLyogXCJWXCIgKi9cbiAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcm93VGFnID0gcmVzb2x2ZWRSb3dUYWc7XG4gICAgICAgICAgICAgIHJvd1N0YXRlID0gUk9XX0xFTkdUSDtcbiAgICAgICAgICAgICAgaSsrO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChyZXNvbHZlZFJvd1RhZyA+IDY0ICYmIHJlc29sdmVkUm93VGFnIDwgOTFcbiAgICAgICAgICAvKiBcIkFcIi1cIlpcIiAqL1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgICByb3dUYWcgPSByZXNvbHZlZFJvd1RhZztcbiAgICAgICAgICAgICAgcm93U3RhdGUgPSBST1dfQ0hVTktfQllfTkVXTElORTtcbiAgICAgICAgICAgICAgaSsrO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJvd1RhZyA9IDA7XG4gICAgICAgICAgICByb3dTdGF0ZSA9IFJPV19DSFVOS19CWV9ORVdMSU5FOyAvLyBUaGlzIHdhcyBhbiB1bmtub3duIHRhZyBzbyBpdCB3YXMgcHJvYmFibHkgcGFydCBvZiB0aGUgZGF0YS5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIFJPV19MRU5HVEg6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgX2J5dGUgPSBjaHVua1tpKytdO1xuXG4gICAgICAgICAgaWYgKF9ieXRlID09PSA0NFxuICAgICAgICAgIC8qIFwiLFwiICovXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIC8vIEZpbmlzaGVkIHRoZSByb3dMZW5ndGgsIG5leHQgd2UnbGwgYnVmZmVyIHVwIHRvIHRoYXQgbGVuZ3RoLlxuICAgICAgICAgICAgICByb3dTdGF0ZSA9IFJPV19DSFVOS19CWV9MRU5HVEg7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcm93TGVuZ3RoID0gcm93TGVuZ3RoIDw8IDQgfCAoX2J5dGUgPiA5NiA/IF9ieXRlIC0gODcgOiBfYnl0ZSAtIDQ4KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIFJPV19DSFVOS19CWV9ORVdMSU5FOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gV2UncmUgbG9va2luZyBmb3IgYSBuZXdsaW5lXG4gICAgICAgICAgbGFzdElkeCA9IGNodW5rLmluZGV4T2YoMTBcbiAgICAgICAgICAvKiBcIlxcblwiICovXG4gICAgICAgICAgLCBpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIFJPV19DSFVOS19CWV9MRU5HVEg6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBXZSdyZSBsb29raW5nIGZvciB0aGUgcmVtYWluaW5nIGJ5dGUgbGVuZ3RoXG4gICAgICAgICAgbGFzdElkeCA9IGkgKyByb3dMZW5ndGg7XG5cbiAgICAgICAgICBpZiAobGFzdElkeCA+IGNodW5rLmxlbmd0aCkge1xuICAgICAgICAgICAgbGFzdElkeCA9IC0xO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdmFyIG9mZnNldCA9IGNodW5rLmJ5dGVPZmZzZXQgKyBpO1xuXG4gICAgaWYgKGxhc3RJZHggPiAtMSkge1xuICAgICAgLy8gV2UgZm91bmQgdGhlIGxhc3QgY2h1bmsgb2YgdGhlIHJvd1xuICAgICAgdmFyIGxlbmd0aCA9IGxhc3RJZHggLSBpO1xuICAgICAgdmFyIGxhc3RDaHVuayA9IG5ldyBVaW50OEFycmF5KGNodW5rLmJ1ZmZlciwgb2Zmc2V0LCBsZW5ndGgpO1xuICAgICAgcHJvY2Vzc0Z1bGxSb3cocmVzcG9uc2UsIHJvd0lELCByb3dUYWcsIGJ1ZmZlciwgbGFzdENodW5rKTsgLy8gUmVzZXQgc3RhdGUgbWFjaGluZSBmb3IgYSBuZXcgcm93XG5cbiAgICAgIGkgPSBsYXN0SWR4O1xuXG4gICAgICBpZiAocm93U3RhdGUgPT09IFJPV19DSFVOS19CWV9ORVdMSU5FKSB7XG4gICAgICAgIC8vIElmIHdlJ3JlIHRyYWlsaW5nIGJ5IGEgbmV3bGluZSB3ZSBuZWVkIHRvIHNraXAgaXQuXG4gICAgICAgIGkrKztcbiAgICAgIH1cblxuICAgICAgcm93U3RhdGUgPSBST1dfSUQ7XG4gICAgICByb3dUYWcgPSAwO1xuICAgICAgcm93SUQgPSAwO1xuICAgICAgcm93TGVuZ3RoID0gMDtcbiAgICAgIGJ1ZmZlci5sZW5ndGggPSAwO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgcmVzdCBvZiB0aGlzIHJvdyBpcyBpbiBhIGZ1dHVyZSBjaHVuay4gV2Ugc3Rhc2ggdGhlIHJlc3Qgb2YgdGhlXG4gICAgICAvLyBjdXJyZW50IGNodW5rIHVudGlsIHdlIGNhbiBwcm9jZXNzIHRoZSBmdWxsIHJvdy5cbiAgICAgIHZhciBfbGVuZ3RoID0gY2h1bmsuYnl0ZUxlbmd0aCAtIGk7XG5cbiAgICAgIHZhciByZW1haW5pbmdTbGljZSA9IG5ldyBVaW50OEFycmF5KGNodW5rLmJ1ZmZlciwgb2Zmc2V0LCBfbGVuZ3RoKTtcbiAgICAgIGJ1ZmZlci5wdXNoKHJlbWFpbmluZ1NsaWNlKTsgLy8gVXBkYXRlIGhvdyBtYW55IGJ5dGVzIHdlJ3JlIHN0aWxsIHdhaXRpbmcgZm9yLiBJZiB3ZSdyZSBsb29raW5nIGZvclxuICAgICAgLy8gYSBuZXdsaW5lLCB0aGlzIGRvZXNuJ3QgaHVydCBzaW5jZSB3ZSdsbCBqdXN0IGlnbm9yZSBpdC5cblxuICAgICAgcm93TGVuZ3RoIC09IHJlbWFpbmluZ1NsaWNlLmJ5dGVMZW5ndGg7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXNwb25zZS5fcm93U3RhdGUgPSByb3dTdGF0ZTtcbiAgcmVzcG9uc2UuX3Jvd0lEID0gcm93SUQ7XG4gIHJlc3BvbnNlLl9yb3dUYWcgPSByb3dUYWc7XG4gIHJlc3BvbnNlLl9yb3dMZW5ndGggPSByb3dMZW5ndGg7XG59XG5cbmZ1bmN0aW9uIHBhcnNlTW9kZWwocmVzcG9uc2UsIGpzb24pIHtcbiAgcmV0dXJuIEpTT04ucGFyc2UoanNvbiwgcmVzcG9uc2UuX2Zyb21KU09OKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRnJvbUpTT05DYWxsYmFjayhyZXNwb25zZSkge1xuICAvLyAkRmxvd0ZpeE1lW21pc3NpbmctdGhpcy1hbm5vdF1cbiAgcmV0dXJuIGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFdlIGNhbid0IHVzZSAuYmluZCBoZXJlIGJlY2F1c2Ugd2UgbmVlZCB0aGUgXCJ0aGlzXCIgdmFsdWUuXG4gICAgICByZXR1cm4gcGFyc2VNb2RlbFN0cmluZyhyZXNwb25zZSwgdGhpcywga2V5LCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBwYXJzZU1vZGVsVHVwbGUocmVzcG9uc2UsIHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGNsb3NlKHJlc3BvbnNlKSB7XG4gIC8vIEluIGNhc2UgdGhlcmUgYXJlIGFueSByZW1haW5pbmcgdW5yZXNvbHZlZCBjaHVua3MsIHRoZXkgd29uJ3RcbiAgLy8gYmUgcmVzb2x2ZWQgbm93LiBTbyB3ZSBuZWVkIHRvIGlzc3VlIGFuIGVycm9yIHRvIHRob3NlLlxuICAvLyBJZGVhbGx5IHdlIHNob3VsZCBiZSBhYmxlIHRvIGVhcmx5IGJhaWwgb3V0IGlmIHdlIGtlcHQgYVxuICAvLyByZWYgY291bnQgb2YgcGVuZGluZyBjaHVua3MuXG4gIHJlcG9ydEdsb2JhbEVycm9yKHJlc3BvbnNlLCBuZXcgRXJyb3IoJ0Nvbm5lY3Rpb24gY2xvc2VkLicpKTtcbn1cblxuZnVuY3Rpb24gbm9TZXJ2ZXJDYWxsKCkge1xuICB0aHJvdyBuZXcgRXJyb3IoJ1NlcnZlciBGdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBkdXJpbmcgaW5pdGlhbCByZW5kZXIuICcgKyAnVGhpcyB3b3VsZCBjcmVhdGUgYSBmZXRjaCB3YXRlcmZhbGwuIFRyeSB0byB1c2UgYSBTZXJ2ZXIgQ29tcG9uZW50ICcgKyAndG8gcGFzcyBkYXRhIHRvIENsaWVudCBDb21wb25lbnRzIGluc3RlYWQuJyk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVNlcnZlclJlZmVyZW5jZShpZCwgY2FsbFNlcnZlcikge1xuICByZXR1cm4gY3JlYXRlU2VydmVyUmVmZXJlbmNlJDEoaWQsIG5vU2VydmVyQ2FsbCk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVJlc3BvbnNlRnJvbU9wdGlvbnMob3B0aW9ucykge1xuICByZXR1cm4gY3JlYXRlUmVzcG9uc2Uob3B0aW9ucy5zc3JNYW5pZmVzdC5tb2R1bGVNYXAsIG9wdGlvbnMuc3NyTWFuaWZlc3QubW9kdWxlTG9hZGluZywgbm9TZXJ2ZXJDYWxsLCB0eXBlb2Ygb3B0aW9ucy5ub25jZSA9PT0gJ3N0cmluZycgPyBvcHRpb25zLm5vbmNlIDogdW5kZWZpbmVkKTtcbn1cblxuZnVuY3Rpb24gc3RhcnRSZWFkaW5nRnJvbVN0cmVhbShyZXNwb25zZSwgc3RyZWFtKSB7XG4gIHZhciByZWFkZXIgPSBzdHJlYW0uZ2V0UmVhZGVyKCk7XG5cbiAgZnVuY3Rpb24gcHJvZ3Jlc3MoX3JlZikge1xuICAgIHZhciBkb25lID0gX3JlZi5kb25lLFxuICAgICAgICB2YWx1ZSA9IF9yZWYudmFsdWU7XG5cbiAgICBpZiAoZG9uZSkge1xuICAgICAgY2xvc2UocmVzcG9uc2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBidWZmZXIgPSB2YWx1ZTtcbiAgICBwcm9jZXNzQmluYXJ5Q2h1bmsocmVzcG9uc2UsIGJ1ZmZlcik7XG4gICAgcmV0dXJuIHJlYWRlci5yZWFkKCkudGhlbihwcm9ncmVzcykuY2F0Y2goZXJyb3IpO1xuICB9XG5cbiAgZnVuY3Rpb24gZXJyb3IoZSkge1xuICAgIHJlcG9ydEdsb2JhbEVycm9yKHJlc3BvbnNlLCBlKTtcbiAgfVxuXG4gIHJlYWRlci5yZWFkKCkudGhlbihwcm9ncmVzcykuY2F0Y2goZXJyb3IpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0oc3RyZWFtLCBvcHRpb25zKSB7XG4gIHZhciByZXNwb25zZSA9IGNyZWF0ZVJlc3BvbnNlRnJvbU9wdGlvbnMob3B0aW9ucyk7XG4gIHN0YXJ0UmVhZGluZ0Zyb21TdHJlYW0ocmVzcG9uc2UsIHN0cmVhbSk7XG4gIHJldHVybiBnZXRSb290KHJlc3BvbnNlKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRnJvbUZldGNoKHByb21pc2VGb3JSZXNwb25zZSwgb3B0aW9ucykge1xuICB2YXIgcmVzcG9uc2UgPSBjcmVhdGVSZXNwb25zZUZyb21PcHRpb25zKG9wdGlvbnMpO1xuICBwcm9taXNlRm9yUmVzcG9uc2UudGhlbihmdW5jdGlvbiAocikge1xuICAgIHN0YXJ0UmVhZGluZ0Zyb21TdHJlYW0ocmVzcG9uc2UsIHIuYm9keSk7XG4gIH0sIGZ1bmN0aW9uIChlKSB7XG4gICAgcmVwb3J0R2xvYmFsRXJyb3IocmVzcG9uc2UsIGUpO1xuICB9KTtcbiAgcmV0dXJuIGdldFJvb3QocmVzcG9uc2UpO1xufVxuXG5mdW5jdGlvbiBlbmNvZGVSZXBseSh2YWx1ZSlcbi8qIFdlIGRvbid0IHVzZSBVUkxTZWFyY2hQYXJhbXMgeWV0IGJ1dCBtYXliZSAqL1xue1xuICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgIHByb2Nlc3NSZXBseSh2YWx1ZSwgJycsIHJlc29sdmUsIHJlamVjdCk7XG4gIH0pO1xufVxuXG5leHBvcnRzLmNyZWF0ZUZyb21GZXRjaCA9IGNyZWF0ZUZyb21GZXRjaDtcbmV4cG9ydHMuY3JlYXRlRnJvbVJlYWRhYmxlU3RyZWFtID0gY3JlYXRlRnJvbVJlYWRhYmxlU3RyZWFtO1xuZXhwb3J0cy5jcmVhdGVTZXJ2ZXJSZWZlcmVuY2UgPSBjcmVhdGVTZXJ2ZXJSZWZlcmVuY2U7XG5leHBvcnRzLmVuY29kZVJlcGx5ID0gZW5jb2RlUmVwbHk7XG4gIH0pKCk7XG59XG4iXSwibmFtZXMiOlsicHJvY2VzcyIsIlJlYWN0RE9NIiwicmVxdWlyZSIsIlJlYWN0IiwiZW5hYmxlQmluYXJ5RmxpZ2h0IiwiY3JlYXRlU3RyaW5nRGVjb2RlciIsIlRleHREZWNvZGVyIiwiZGVjb2Rlck9wdGlvbnMiLCJzdHJlYW0iLCJyZWFkUGFydGlhbFN0cmluZ0NodW5rIiwiZGVjb2RlciIsImJ1ZmZlciIsImRlY29kZSIsInJlYWRGaW5hbFN0cmluZ0NodW5rIiwiSUQiLCJDSFVOS1MiLCJOQU1FIiwiaXNBc3luY0ltcG9ydCIsIm1ldGFkYXRhIiwibGVuZ3RoIiwicHJlcGFyZURlc3RpbmF0aW9uRm9yTW9kdWxlIiwibW9kdWxlTG9hZGluZyIsIm5vbmNlIiwicHJlcGFyZURlc3RpbmF0aW9uV2l0aENodW5rcyIsInJlc29sdmVDbGllbnRSZWZlcmVuY2UiLCJidW5kbGVyQ29uZmlnIiwibW9kdWxlRXhwb3J0cyIsInJlc29sdmVkTW9kdWxlRGF0YSIsIm5hbWUiLCJFcnJvciIsImlkIiwiY2h1bmtzIiwiY2h1bmtDYWNoZSIsIk1hcCIsInJlcXVpcmVBc3luY01vZHVsZSIsInByb21pc2UiLCJnbG9iYWxUaGlzIiwiX19uZXh0X3JlcXVpcmVfXyIsInRoZW4iLCJzdGF0dXMiLCJ2YWx1ZSIsImZ1bGZpbGxlZFRoZW5hYmxlIiwicmVhc29uIiwicmVqZWN0ZWRUaGVuYWJsZSIsImlnbm9yZVJlamVjdCIsInByZWxvYWRNb2R1bGUiLCJwcm9taXNlcyIsImkiLCJjaHVua0lkIiwiZW50cnkiLCJnZXQiLCJ1bmRlZmluZWQiLCJ0aGVuYWJsZSIsImxvYWRDaHVuayIsInB1c2giLCJyZXNvbHZlIiwic2V0IiwiYmluZCIsIlByb21pc2UiLCJhbGwiLCJyZXF1aXJlTW9kdWxlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJmaWxlbmFtZSIsIl9fd2VicGFja19jaHVua19sb2FkX18iLCJwcmVpbml0U2NyaXB0Rm9yU1NSIiwicHJlZml4IiwiY3Jvc3NPcmlnaW4iLCJSZWFjdERPTVNoYXJlZEludGVybmFscyIsIl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEIiwiZ2V0Q3Jvc3NPcmlnaW5TdHJpbmciLCJpbnB1dCIsIlJlYWN0RE9NQ3VycmVudERpc3BhdGNoZXIiLCJEaXNwYXRjaGVyIiwiZGlzcGF0Y2hIaW50IiwiY29kZSIsIm1vZGVsIiwiZGlzcGF0Y2hlciIsImN1cnJlbnQiLCJyZWZpbmVkIiwicmVmaW5lTW9kZWwiLCJocmVmIiwicHJlZmV0Y2hETlMiLCJfcmVmaW5lZCIsIl9ocmVmIiwicHJlY29ubmVjdCIsIl9ocmVmMiIsIl9yZWZpbmVkMiIsIl9ocmVmMyIsImFzIiwib3B0aW9ucyIsInByZWxvYWQiLCJfcmVmaW5lZDMiLCJfaHJlZjQiLCJfaHJlZjUiLCJfb3B0aW9ucyIsIl9yZWZpbmVkNCIsIl9ocmVmNiIsInByZWluaXRTdHlsZSIsIl9ocmVmNyIsInByZWNlZGVuY2UiLCJfb3B0aW9uczIiLCJfcmVmaW5lZDUiLCJfaHJlZjgiLCJwcmVpbml0U2NyaXB0IiwiX2hyZWY5IiwiX29wdGlvbnMzIiwiX3JlZmluZWQ2IiwiX2hyZWYxMCIsInByZWluaXRNb2R1bGVTY3JpcHQiLCJfaHJlZjExIiwiX29wdGlvbnM0IiwiUmVhY3RTaGFyZWRJbnRlcm5hbHMiLCJlcnJvciIsImZvcm1hdCIsIl9sZW4yIiwiYXJndW1lbnRzIiwiYXJncyIsIkFycmF5IiwiX2tleTIiLCJwcmludFdhcm5pbmciLCJsZXZlbCIsIlJlYWN0RGVidWdDdXJyZW50RnJhbWUiLCJzdGFjayIsImdldFN0YWNrQWRkZW5kdW0iLCJjb25jYXQiLCJhcmdzV2l0aEZvcm1hdCIsIm1hcCIsIml0ZW0iLCJTdHJpbmciLCJ1bnNoaWZ0IiwiRnVuY3Rpb24iLCJwcm90b3R5cGUiLCJhcHBseSIsImNhbGwiLCJjb25zb2xlIiwiUkVBQ1RfRUxFTUVOVF9UWVBFIiwiU3ltYm9sIiwiZm9yIiwiUkVBQ1RfUFJPVklERVJfVFlQRSIsIlJFQUNUX1NFUlZFUl9DT05URVhUX1RZUEUiLCJSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIiwiUkVBQ1RfU1VTUEVOU0VfVFlQRSIsIlJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSIsIlJFQUNUX01FTU9fVFlQRSIsIlJFQUNUX0xBWllfVFlQRSIsIlJFQUNUX1NFUlZFUl9DT05URVhUX0RFRkFVTFRfVkFMVUVfTk9UX0xPQURFRCIsIk1BWUJFX0lURVJBVE9SX1NZTUJPTCIsIml0ZXJhdG9yIiwiRkFVWF9JVEVSQVRPUl9TWU1CT0wiLCJnZXRJdGVyYXRvckZuIiwibWF5YmVJdGVyYWJsZSIsIm1heWJlSXRlcmF0b3IiLCJpc0FycmF5SW1wbCIsImlzQXJyYXkiLCJhIiwiZ2V0UHJvdG90eXBlT2YiLCJPYmplY3QiLCJqc3hQcm9wc1BhcmVudHMiLCJXZWFrTWFwIiwianN4Q2hpbGRyZW5QYXJlbnRzIiwiaXNPYmplY3RQcm90b3R5cGUiLCJvYmplY3QiLCJPYmplY3RQcm90b3R5cGUiLCJuYW1lcyIsImdldE93blByb3BlcnR5TmFtZXMiLCJpc1NpbXBsZU9iamVjdCIsImRlc2NyaXB0b3IiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwib2JqZWN0TmFtZSIsInRvU3RyaW5nIiwicmVwbGFjZSIsIm0iLCJwMCIsImRlc2NyaWJlS2V5Rm9yRXJyb3JNZXNzYWdlIiwia2V5IiwiZW5jb2RlZEtleSIsIkpTT04iLCJzdHJpbmdpZnkiLCJkZXNjcmliZVZhbHVlRm9yRXJyb3JNZXNzYWdlIiwic2xpY2UiLCJkZXNjcmliZUVsZW1lbnRUeXBlIiwidHlwZSIsIiQkdHlwZW9mIiwicmVuZGVyIiwibGF6eUNvbXBvbmVudCIsInBheWxvYWQiLCJfcGF5bG9hZCIsImluaXQiLCJfaW5pdCIsIngiLCJkZXNjcmliZU9iamVjdEZvckVycm9yTWVzc2FnZSIsIm9iamVjdE9yQXJyYXkiLCJleHBhbmRlZE5hbWUiLCJvYmpLaW5kIiwic3RyIiwic3RhcnQiLCJoYXMiLCJhcnJheSIsInN1YnN0ciIsIl9hcnJheSIsIl9pIiwiX3ZhbHVlIiwiX3N1YnN0ciIsIl90eXBlIiwia2V5cyIsIl9pMiIsIl92YWx1ZTIiLCJfc3Vic3RyMiIsIl9vYmplY3QiLCJfbmFtZXMiLCJfaTMiLCJfbmFtZSIsIl92YWx1ZTMiLCJfc3Vic3RyMyIsImhpZ2hsaWdodCIsInJlcGVhdCIsImtub3duU2VydmVyUmVmZXJlbmNlcyIsInNlcmlhbGl6ZVByb21pc2VJRCIsInNlcmlhbGl6ZVNlcnZlclJlZmVyZW5jZUlEIiwic2VyaWFsaXplU3ltYm9sUmVmZXJlbmNlIiwic2VyaWFsaXplRm9ybURhdGFSZWZlcmVuY2UiLCJzZXJpYWxpemVOdW1iZXIiLCJudW1iZXIiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsIkluZmluaXR5Iiwic2VyaWFsaXplVW5kZWZpbmVkIiwic2VyaWFsaXplRGF0ZUZyb21EYXRlSlNPTiIsImRhdGVKU09OIiwic2VyaWFsaXplQmlnSW50IiwibiIsInNlcmlhbGl6ZU1hcElEIiwic2VyaWFsaXplU2V0SUQiLCJlc2NhcGVTdHJpbmdWYWx1ZSIsInByb2Nlc3NSZXBseSIsInJvb3QiLCJmb3JtRmllbGRQcmVmaXgiLCJyZWplY3QiLCJuZXh0UGFydElkIiwicGVuZGluZ1BhcnRzIiwiZm9ybURhdGEiLCJyZXNvbHZlVG9KU09OIiwicGFyZW50Iiwib3JpZ2luYWxWYWx1ZSIsIkRhdGUiLCJGb3JtRGF0YSIsInByb21pc2VJZCIsInBhcnRWYWx1ZSIsInBhcnRKU09OIiwiZGF0YSIsImFwcGVuZCIsInJlZklkIiwiZm9yRWFjaCIsIm9yaWdpbmFsS2V5IiwiZnJvbSIsIm1hcElkIiwiU2V0IiwiX3BhcnRKU09OIiwic2V0SWQiLCJpdGVyYXRvckZuIiwicHJvdG8iLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJzeW1ib2xzIiwiZGVzY3JpcHRpb24iLCJfb3JpZ2luYWxWYWx1ZSIsIm1ldGFEYXRhIiwibWV0YURhdGFKU09OIiwiX3JlZklkIiwianNvbiIsImJvdW5kQ2FjaGUiLCJlbmNvZGVGb3JtRGF0YSIsInJlZmVyZW5jZSIsInJlcyIsInJlaiIsImJvZHkiLCJmdWxmaWxsZWQiLCJlIiwicmVqZWN0ZWQiLCJlbmNvZGVGb3JtQWN0aW9uIiwiaWRlbnRpZmllclByZWZpeCIsImJvdW5kUHJvbWlzZSIsImJvdW5kIiwiZW5jb2RlZEZvcm1EYXRhIiwicHJlZml4ZWREYXRhIiwibWV0aG9kIiwiZW5jVHlwZSIsImlzU2lnbmF0dXJlRXF1YWwiLCJyZWZlcmVuY2VJZCIsIm51bWJlck9mQm91bmRBcmdzIiwiYm91bmRBcmdzIiwicGVuZGluZ1RoZW5hYmxlIiwicmVnaXN0ZXJTZXJ2ZXJSZWZlcmVuY2UiLCJwcm94eSIsImRlZmluZVByb3BlcnRpZXMiLCIkJEZPUk1fQUNUSU9OIiwiJCRJU19TSUdOQVRVUkVfRVFVQUwiLCJGdW5jdGlvbkJpbmQiLCJBcnJheVNsaWNlIiwibmV3Rm4iLCJjcmVhdGVTZXJ2ZXJSZWZlcmVuY2UkMSIsImNhbGxTZXJ2ZXIiLCJDb250ZXh0UmVnaXN0cnkiLCJnZXRPckNyZWF0ZVNlcnZlckNvbnRleHQiLCJnbG9iYWxOYW1lIiwiY29udGV4dCIsIl9jdXJyZW50VmFsdWUiLCJfY3VycmVudFZhbHVlMiIsIl9kZWZhdWx0VmFsdWUiLCJfdGhyZWFkQ291bnQiLCJQcm92aWRlciIsIkNvbnN1bWVyIiwiX2dsb2JhbE5hbWUiLCJfY29udGV4dCIsImhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lciIsIl9jdXJyZW50UmVuZGVyZXIiLCJfY3VycmVudFJlbmRlcmVyMiIsIlJPV19JRCIsIlJPV19UQUciLCJST1dfTEVOR1RIIiwiUk9XX0NIVU5LX0JZX05FV0xJTkUiLCJST1dfQ0hVTktfQllfTEVOR1RIIiwiUEVORElORyIsIkJMT0NLRUQiLCJDWUNMSUMiLCJSRVNPTFZFRF9NT0RFTCIsIlJFU09MVkVEX01PRFVMRSIsIklOSVRJQUxJWkVEIiwiRVJST1JFRCIsIkNodW5rIiwicmVzcG9uc2UiLCJfcmVzcG9uc2UiLCJjcmVhdGUiLCJjaHVuayIsImluaXRpYWxpemVNb2RlbENodW5rIiwiaW5pdGlhbGl6ZU1vZHVsZUNodW5rIiwicmVhZENodW5rIiwiZ2V0Um9vdCIsImdldENodW5rIiwiY3JlYXRlUGVuZGluZ0NodW5rIiwiY3JlYXRlQmxvY2tlZENodW5rIiwiY3JlYXRlRXJyb3JDaHVuayIsIndha2VDaHVuayIsImxpc3RlbmVycyIsImxpc3RlbmVyIiwid2FrZUNodW5rSWZJbml0aWFsaXplZCIsInJlc29sdmVMaXN0ZW5lcnMiLCJyZWplY3RMaXN0ZW5lcnMiLCJ0cmlnZ2VyRXJyb3JPbkNodW5rIiwiZXJyb3JlZENodW5rIiwiY3JlYXRlUmVzb2x2ZWRNb2RlbENodW5rIiwiY3JlYXRlUmVzb2x2ZWRNb2R1bGVDaHVuayIsImNyZWF0ZUluaXRpYWxpemVkVGV4dENodW5rIiwicmVzb2x2ZU1vZGVsQ2h1bmsiLCJyZXNvbHZlZENodW5rIiwicmVzb2x2ZU1vZHVsZUNodW5rIiwiaW5pdGlhbGl6aW5nQ2h1bmsiLCJpbml0aWFsaXppbmdDaHVua0Jsb2NrZWRNb2RlbCIsInByZXZDaHVuayIsInByZXZCbG9ja2VkIiwicmVzb2x2ZWRNb2RlbCIsImN5Y2xpY0NodW5rIiwicGFyc2VNb2RlbCIsImRlcHMiLCJibG9ja2VkQ2h1bmsiLCJpbml0aWFsaXplZENodW5rIiwicmVwb3J0R2xvYmFsRXJyb3IiLCJfY2h1bmtzIiwiY3JlYXRlRWxlbWVudCIsInByb3BzIiwiZWxlbWVudCIsInJlZiIsIl9vd25lciIsIl9zdG9yZSIsImRlZmluZVByb3BlcnR5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJjcmVhdGVMYXp5Q2h1bmtXcmFwcGVyIiwibGF6eVR5cGUiLCJjcmVhdGVNb2RlbFJlc29sdmVyIiwicGFyZW50T2JqZWN0IiwiY3ljbGljIiwiYmxvY2tlZCIsImNyZWF0ZU1vZGVsUmVqZWN0IiwiY3JlYXRlU2VydmVyUmVmZXJlbmNlUHJveHkiLCJfY2FsbFNlcnZlciIsInAiLCJnZXRPdXRsaW5lZE1vZGVsIiwicGFyc2VNb2RlbFN0cmluZyIsInBhcnNlSW50IiwiX2lkIiwiX2NodW5rIiwiX2lkMiIsIl9pZDMiLCJfaWQ0IiwiX2RhdGEiLCJOYU4iLCJwYXJzZSIsIkJpZ0ludCIsIl9pZDUiLCJfY2h1bmsyIiwicGFyZW50Q2h1bmsiLCJwYXJzZU1vZGVsVHVwbGUiLCJ0dXBsZSIsIm1pc3NpbmdDYWxsIiwiY3JlYXRlUmVzcG9uc2UiLCJfYnVuZGxlckNvbmZpZyIsIl9tb2R1bGVMb2FkaW5nIiwiX25vbmNlIiwiX3N0cmluZ0RlY29kZXIiLCJfZnJvbUpTT04iLCJfcm93U3RhdGUiLCJfcm93SUQiLCJfcm93VGFnIiwiX3Jvd0xlbmd0aCIsIl9idWZmZXIiLCJjcmVhdGVGcm9tSlNPTkNhbGxiYWNrIiwicmVzb2x2ZU1vZGVsIiwicmVzb2x2ZVRleHQiLCJ0ZXh0IiwicmVzb2x2ZU1vZHVsZSIsImNsaWVudFJlZmVyZW5jZU1ldGFkYXRhIiwiY2xpZW50UmVmZXJlbmNlIiwicmVzb2x2ZUVycm9yRGV2IiwiZGlnZXN0IiwibWVzc2FnZSIsImVycm9yV2l0aERpZ2VzdCIsInJlc29sdmVIaW50IiwiaGludE1vZGVsIiwicHJvY2Vzc0Z1bGxSb3ciLCJ0YWciLCJzdHJpbmdEZWNvZGVyIiwicm93IiwiZXJyb3JJbmZvIiwicHJvY2Vzc0JpbmFyeUNodW5rIiwicm93U3RhdGUiLCJyb3dJRCIsInJvd1RhZyIsInJvd0xlbmd0aCIsImNodW5rTGVuZ3RoIiwibGFzdElkeCIsImJ5dGUiLCJyZXNvbHZlZFJvd1RhZyIsIl9ieXRlIiwiaW5kZXhPZiIsIm9mZnNldCIsImJ5dGVPZmZzZXQiLCJsYXN0Q2h1bmsiLCJVaW50OEFycmF5IiwiX2xlbmd0aCIsImJ5dGVMZW5ndGgiLCJyZW1haW5pbmdTbGljZSIsImNsb3NlIiwibm9TZXJ2ZXJDYWxsIiwiY3JlYXRlU2VydmVyUmVmZXJlbmNlIiwiY3JlYXRlUmVzcG9uc2VGcm9tT3B0aW9ucyIsInNzck1hbmlmZXN0IiwibW9kdWxlTWFwIiwic3RhcnRSZWFkaW5nRnJvbVN0cmVhbSIsInJlYWRlciIsImdldFJlYWRlciIsInByb2dyZXNzIiwiX3JlZiIsImRvbmUiLCJyZWFkIiwiY2F0Y2giLCJjcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0iLCJjcmVhdGVGcm9tRmV0Y2giLCJwcm9taXNlRm9yUmVzcG9uc2UiLCJyIiwiZW5jb2RlUmVwbHkiLCJleHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/client.edge.js": /*!*********************************************************************************!*\ !*** ./node_modules/next/dist/compiled/react-server-dom-webpack/client.edge.js ***! \*********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-server-dom-webpack-client.edge.development.js */ \"(action-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-client.edge.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudC5lZGdlLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBRUEsSUFBSUEsS0FBeUIsRUFBYyxFQUUxQyxNQUFNO0lBQ0xDLDRPQUF5QjtBQUMzQiIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudC5lZGdlLmpzP2JmZjkiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LXNlcnZlci1kb20td2VicGFjay1jbGllbnQuZWRnZS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2stY2xpZW50LmVkZ2UuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJuYW1lcyI6WyJwcm9jZXNzIiwibW9kdWxlIiwiZXhwb3J0cyIsInJlcXVpcmUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/client.edge.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/compiled/server-only/empty.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/compiled/server-only/empty.js ***! \**************************************************************/ /***/ (() => { eval("//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiIoYWN0aW9uLWJyb3dzZXIpLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9zZXJ2ZXItb25seS9lbXB0eS5qcyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/compiled/server-only/empty.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/compiled/ua-parser-js/ua-parser.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/compiled/ua-parser-js/ua-parser.js ***! \*******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("var __WEBPACK_AMD_DEFINE_RESULT__;\n(()=>{\n var i = {\n 226: function(i, e) {\n (function(o, a) {\n \"use strict\";\n var r = \"1.0.35\", t = \"\", n = \"?\", s = \"function\", b = \"undefined\", w = \"object\", l = \"string\", d = \"major\", c = \"model\", u = \"name\", p = \"type\", m = \"vendor\", f = \"version\", h = \"architecture\", v = \"console\", g = \"mobile\", k = \"tablet\", x = \"smarttv\", _ = \"wearable\", y = \"embedded\", q = 350;\n var T = \"Amazon\", S = \"Apple\", z = \"ASUS\", N = \"BlackBerry\", A = \"Browser\", C = \"Chrome\", E = \"Edge\", O = \"Firefox\", U = \"Google\", j = \"Huawei\", P = \"LG\", R = \"Microsoft\", M = \"Motorola\", B = \"Opera\", V = \"Samsung\", D = \"Sharp\", I = \"Sony\", W = \"Viera\", F = \"Xiaomi\", G = \"Zebra\", H = \"Facebook\", L = \"Chromium OS\", Z = \"Mac OS\";\n var extend = function(i, e) {\n var o = {};\n for(var a in i){\n if (e[a] && e[a].length % 2 === 0) {\n o[a] = e[a].concat(i[a]);\n } else {\n o[a] = i[a];\n }\n }\n return o;\n }, enumerize = function(i) {\n var e = {};\n for(var o = 0; o < i.length; o++){\n e[i[o].toUpperCase()] = i[o];\n }\n return e;\n }, has = function(i, e) {\n return typeof i === l ? lowerize(e).indexOf(lowerize(i)) !== -1 : false;\n }, lowerize = function(i) {\n return i.toLowerCase();\n }, majorize = function(i) {\n return typeof i === l ? i.replace(/[^\\d\\.]/g, t).split(\".\")[0] : a;\n }, trim = function(i, e) {\n if (typeof i === l) {\n i = i.replace(/^\\s\\s*/, t);\n return typeof e === b ? i : i.substring(0, q);\n }\n };\n var rgxMapper = function(i, e) {\n var o = 0, r, t, n, b, l, d;\n while(o < e.length && !l){\n var c = e[o], u = e[o + 1];\n r = t = 0;\n while(r < c.length && !l){\n if (!c[r]) {\n break;\n }\n l = c[r++].exec(i);\n if (!!l) {\n for(n = 0; n < u.length; n++){\n d = l[++t];\n b = u[n];\n if (typeof b === w && b.length > 0) {\n if (b.length === 2) {\n if (typeof b[1] == s) {\n this[b[0]] = b[1].call(this, d);\n } else {\n this[b[0]] = b[1];\n }\n } else if (b.length === 3) {\n if (typeof b[1] === s && !(b[1].exec && b[1].test)) {\n this[b[0]] = d ? b[1].call(this, d, b[2]) : a;\n } else {\n this[b[0]] = d ? d.replace(b[1], b[2]) : a;\n }\n } else if (b.length === 4) {\n this[b[0]] = d ? b[3].call(this, d.replace(b[1], b[2])) : a;\n }\n } else {\n this[b] = d ? d : a;\n }\n }\n }\n }\n o += 2;\n }\n }, strMapper = function(i, e) {\n for(var o in e){\n if (typeof e[o] === w && e[o].length > 0) {\n for(var r = 0; r < e[o].length; r++){\n if (has(e[o][r], i)) {\n return o === n ? a : o;\n }\n }\n } else if (has(e[o], i)) {\n return o === n ? a : o;\n }\n }\n return i;\n };\n var $ = {\n \"1.0\": \"/8\",\n 1.2: \"/1\",\n 1.3: \"/3\",\n \"2.0\": \"/412\",\n \"2.0.2\": \"/416\",\n \"2.0.3\": \"/417\",\n \"2.0.4\": \"/419\",\n \"?\": \"/\"\n }, X = {\n ME: \"4.90\",\n \"NT 3.11\": \"NT3.51\",\n \"NT 4.0\": \"NT4.0\",\n 2e3: \"NT 5.0\",\n XP: [\n \"NT 5.1\",\n \"NT 5.2\"\n ],\n Vista: \"NT 6.0\",\n 7: \"NT 6.1\",\n 8: \"NT 6.2\",\n 8.1: \"NT 6.3\",\n 10: [\n \"NT 6.4\",\n \"NT 10.0\"\n ],\n RT: \"ARM\"\n };\n var K = {\n browser: [\n [\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"Chrome\"\n ]\n ],\n [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"Edge\"\n ]\n ],\n [\n /(opera mini)\\/([-\\w\\.]+)/i,\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i,\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i\n ],\n [\n u,\n f\n ],\n [\n /opios[\\/ ]+([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n B + \" Mini\"\n ]\n ],\n [\n /\\bopr\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n B\n ]\n ],\n [\n /(kindle)\\/([\\w\\.]+)/i,\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i,\n /(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i,\n /(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i,\n /(?:ms|\\()(ie) ([\\w\\.]+)/i,\n /(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\\/([-\\w\\.]+)/i,\n /(heytap|ovi)browser\\/([\\d\\.]+)/i,\n /(weibo)__([\\d\\.]+)/i\n ],\n [\n u,\n f\n ],\n [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"UC\" + A\n ]\n ],\n [\n /microm.+\\bqbcore\\/([\\w\\.]+)/i,\n /\\bqbcore\\/([\\w\\.]+).+microm/i\n ],\n [\n f,\n [\n u,\n \"WeChat(Win) Desktop\"\n ]\n ],\n [\n /micromessenger\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"WeChat\"\n ]\n ],\n [\n /konqueror\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"Konqueror\"\n ]\n ],\n [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i\n ],\n [\n f,\n [\n u,\n \"IE\"\n ]\n ],\n [\n /ya(?:search)?browser\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"Yandex\"\n ]\n ],\n [\n /(avast|avg)\\/([\\w\\.]+)/i\n ],\n [\n [\n u,\n /(.+)/,\n \"$1 Secure \" + A\n ],\n f\n ],\n [\n /\\bfocus\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n O + \" Focus\"\n ]\n ],\n [\n /\\bopt\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n B + \" Touch\"\n ]\n ],\n [\n /coc_coc\\w+\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"Coc Coc\"\n ]\n ],\n [\n /dolfin\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"Dolphin\"\n ]\n ],\n [\n /coast\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n B + \" Coast\"\n ]\n ],\n [\n /miuibrowser\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"MIUI \" + A\n ]\n ],\n [\n /fxios\\/([-\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n O\n ]\n ],\n [\n /\\bqihu|(qi?ho?o?|360)browser/i\n ],\n [\n [\n u,\n \"360 \" + A\n ]\n ],\n [\n /(oculus|samsung|sailfish|huawei)browser\\/([\\w\\.]+)/i\n ],\n [\n [\n u,\n /(.+)/,\n \"$1 \" + A\n ],\n f\n ],\n [\n /(comodo_dragon)\\/([\\w\\.]+)/i\n ],\n [\n [\n u,\n /_/g,\n \" \"\n ],\n f\n ],\n [\n /(electron)\\/([\\w\\.]+) safari/i,\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i,\n /m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i\n ],\n [\n u,\n f\n ],\n [\n /(metasr)[\\/ ]?([\\w\\.]+)/i,\n /(lbbrowser)/i,\n /\\[(linkedin)app\\]/i\n ],\n [\n u\n ],\n [\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i\n ],\n [\n [\n u,\n H\n ],\n f\n ],\n [\n /(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i,\n /(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i,\n /safari (line)\\/([\\w\\.]+)/i,\n /\\b(line)\\/([\\w\\.]+)\\/iab/i,\n /(chromium|instagram)[\\/ ]([-\\w\\.]+)/i\n ],\n [\n u,\n f\n ],\n [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i\n ],\n [\n f,\n [\n u,\n \"GSA\"\n ]\n ],\n [\n /musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"TikTok\"\n ]\n ],\n [\n /headlesschrome(?:\\/([\\w\\.]+)| )/i\n ],\n [\n f,\n [\n u,\n C + \" Headless\"\n ]\n ],\n [\n / wv\\).+(chrome)\\/([\\w\\.]+)/i\n ],\n [\n [\n u,\n C + \" WebView\"\n ],\n f\n ],\n [\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i\n ],\n [\n f,\n [\n u,\n \"Android \" + A\n ]\n ],\n [\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i\n ],\n [\n u,\n f\n ],\n [\n /version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i\n ],\n [\n f,\n [\n u,\n \"Mobile Safari\"\n ]\n ],\n [\n /version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i\n ],\n [\n f,\n u\n ],\n [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i\n ],\n [\n u,\n [\n f,\n strMapper,\n $\n ]\n ],\n [\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ],\n [\n u,\n f\n ],\n [\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i\n ],\n [\n [\n u,\n \"Netscape\"\n ],\n f\n ],\n [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i\n ],\n [\n f,\n [\n u,\n O + \" Reality\"\n ]\n ],\n [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i,\n /(swiftfox)/i,\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n /(firefox)\\/([\\w\\.]+)/i,\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i,\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n /(links) \\(([\\w\\.]+)/i,\n /panasonic;(viera)/i\n ],\n [\n u,\n f\n ],\n [\n /(cobalt)\\/([\\w\\.]+)/i\n ],\n [\n u,\n [\n f,\n /master.|lts./,\n \"\"\n ]\n ]\n ],\n cpu: [\n [\n /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i\n ],\n [\n [\n h,\n \"amd64\"\n ]\n ],\n [\n /(ia32(?=;))/i\n ],\n [\n [\n h,\n lowerize\n ]\n ],\n [\n /((?:i[346]|x)86)[;\\)]/i\n ],\n [\n [\n h,\n \"ia32\"\n ]\n ],\n [\n /\\b(aarch64|arm(v?8e?l?|_?64))\\b/i\n ],\n [\n [\n h,\n \"arm64\"\n ]\n ],\n [\n /\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i\n ],\n [\n [\n h,\n \"armhf\"\n ]\n ],\n [\n /windows (ce|mobile); ppc;/i\n ],\n [\n [\n h,\n \"arm\"\n ]\n ],\n [\n /((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i\n ],\n [\n [\n h,\n /ower/,\n t,\n lowerize\n ]\n ],\n [\n /(sun4\\w)[;\\)]/i\n ],\n [\n [\n h,\n \"sparc\"\n ]\n ],\n [\n /((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i\n ],\n [\n [\n h,\n lowerize\n ]\n ]\n ],\n device: [\n [\n /\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n ],\n [\n c,\n [\n m,\n V\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b((?:s[cgp]h|gt|sm)-\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i,\n /samsung[- ]([-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ],\n [\n c,\n [\n m,\n V\n ],\n [\n p,\n g\n ]\n ],\n [\n /(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i\n ],\n [\n c,\n [\n m,\n S\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\((ipad);[-\\w\\),; ]+apple/i,\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ],\n [\n c,\n [\n m,\n S\n ],\n [\n p,\n k\n ]\n ],\n [\n /(macintosh);/i\n ],\n [\n c,\n [\n m,\n S\n ]\n ],\n [\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ],\n [\n c,\n [\n m,\n D\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i\n ],\n [\n c,\n [\n m,\n j\n ],\n [\n p,\n k\n ]\n ],\n [\n /(?:huawei|honor)([-\\w ]+)[;\\)]/i,\n /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i\n ],\n [\n c,\n [\n m,\n j\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(poco[\\w ]+)(?: bui|\\))/i,\n /\\b; (\\w+) build\\/hm\\1/i,\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i,\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i,\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i\n ],\n [\n [\n c,\n /_/g,\n \" \"\n ],\n [\n m,\n F\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i\n ],\n [\n [\n c,\n /_/g,\n \" \"\n ],\n [\n m,\n F\n ],\n [\n p,\n k\n ]\n ],\n [\n /; (\\w+) bui.+ oppo/i,\n /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i\n ],\n [\n c,\n [\n m,\n \"OPPO\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ],\n [\n c,\n [\n m,\n \"Vivo\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(rmx[12]\\d{3})(?: bui|;|\\))/i\n ],\n [\n c,\n [\n m,\n \"Realme\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ](\\w*)/i,\n /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i\n ],\n [\n c,\n [\n m,\n M\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n ],\n [\n c,\n [\n m,\n M\n ],\n [\n p,\n k\n ]\n ],\n [\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ],\n [\n c,\n [\n m,\n P\n ],\n [\n p,\n k\n ]\n ],\n [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i\n ],\n [\n c,\n [\n m,\n P\n ],\n [\n p,\n g\n ]\n ],\n [\n /(ideatab[-\\w ]+)/i,\n /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i\n ],\n [\n c,\n [\n m,\n \"Lenovo\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /(?:maemo|nokia).*(n900|lumia \\d+)/i,\n /nokia[-_ ]?([-\\w\\.]*)/i\n ],\n [\n [\n c,\n /_/g,\n \" \"\n ],\n [\n m,\n \"Nokia\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /(pixel c)\\b/i\n ],\n [\n c,\n [\n m,\n U\n ],\n [\n p,\n k\n ]\n ],\n [\n /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i\n ],\n [\n c,\n [\n m,\n U\n ],\n [\n p,\n g\n ]\n ],\n [\n /droid.+ (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ],\n [\n c,\n [\n m,\n I\n ],\n [\n p,\n g\n ]\n ],\n [\n /sony tablet [ps]/i,\n /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n ],\n [\n [\n c,\n \"Xperia Tablet\"\n ],\n [\n m,\n I\n ],\n [\n p,\n k\n ]\n ],\n [\n / (kb2005|in20[12]5|be20[12][59])\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ],\n [\n c,\n [\n m,\n \"OnePlus\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /(alexa)webm/i,\n /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\))/i,\n /(kf[a-z]+)( bui|\\)).+silk\\//i\n ],\n [\n c,\n [\n m,\n T\n ],\n [\n p,\n k\n ]\n ],\n [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i\n ],\n [\n [\n c,\n /(.+)/g,\n \"Fire Phone $1\"\n ],\n [\n m,\n T\n ],\n [\n p,\n g\n ]\n ],\n [\n /(playbook);[-\\w\\),; ]+(rim)/i\n ],\n [\n c,\n m,\n [\n p,\n k\n ]\n ],\n [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i\n ],\n [\n c,\n [\n m,\n N\n ],\n [\n p,\n g\n ]\n ],\n [\n /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n ],\n [\n c,\n [\n m,\n z\n ],\n [\n p,\n k\n ]\n ],\n [\n / (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i\n ],\n [\n c,\n [\n m,\n z\n ],\n [\n p,\n g\n ]\n ],\n [\n /(nexus 9)/i\n ],\n [\n c,\n [\n m,\n \"HTC\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i,\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i\n ],\n [\n m,\n [\n c,\n /_/g,\n \" \"\n ],\n [\n p,\n g\n ]\n ],\n [\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ],\n [\n c,\n [\n m,\n \"Acer\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ],\n [\n c,\n [\n m,\n \"Meizu\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,\n /(hp) ([\\w ]+\\w)/i,\n /(asus)-?(\\w+)/i,\n /(microsoft); (lumia[\\w ]+)/i,\n /(lenovo)[-_ ]?([-\\w]+)/i,\n /(jolla)/i,\n /(oppo) ?([\\w ]+) bui/i\n ],\n [\n m,\n c,\n [\n p,\n g\n ]\n ],\n [\n /(kobo)\\s(ereader|touch)/i,\n /(archos) (gamepad2?)/i,\n /(hp).+(touchpad(?!.+tablet)|tablet)/i,\n /(kindle)\\/([\\w\\.]+)/i,\n /(nook)[\\w ]+build\\/(\\w+)/i,\n /(dell) (strea[kpr\\d ]*[\\dko])/i,\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i,\n /(trinity)[- ]*(t\\d{3}) bui/i,\n /(gigaset)[- ]+(q\\w{1,9}) bui/i,\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i\n ],\n [\n m,\n c,\n [\n p,\n k\n ]\n ],\n [\n /(surface duo)/i\n ],\n [\n c,\n [\n m,\n R\n ],\n [\n p,\n k\n ]\n ],\n [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i\n ],\n [\n c,\n [\n m,\n \"Fairphone\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /(u304aa)/i\n ],\n [\n c,\n [\n m,\n \"AT&T\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\bsie-(\\w*)/i\n ],\n [\n c,\n [\n m,\n \"Siemens\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(rct\\w+) b/i\n ],\n [\n c,\n [\n m,\n \"RCA\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(venue[\\d ]{2,7}) b/i\n ],\n [\n c,\n [\n m,\n \"Dell\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(q(?:mv|ta)\\w+) b/i\n ],\n [\n c,\n [\n m,\n \"Verizon\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i\n ],\n [\n c,\n [\n m,\n \"Barnes & Noble\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(tm\\d{3}\\w+) b/i\n ],\n [\n c,\n [\n m,\n \"NuVision\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(k88) b/i\n ],\n [\n c,\n [\n m,\n \"ZTE\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(nx\\d{3}j) b/i\n ],\n [\n c,\n [\n m,\n \"ZTE\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(gen\\d{3}) b.+49h/i\n ],\n [\n c,\n [\n m,\n \"Swiss\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(zur\\d{3}) b/i\n ],\n [\n c,\n [\n m,\n \"Swiss\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b((zeki)?tb.*\\b) b/i\n ],\n [\n c,\n [\n m,\n \"Zeki\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b([yr]\\d{2}) b/i,\n /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i\n ],\n [\n [\n m,\n \"Dragon Touch\"\n ],\n c,\n [\n p,\n k\n ]\n ],\n [\n /\\b(ns-?\\w{0,9}) b/i\n ],\n [\n c,\n [\n m,\n \"Insignia\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b((nxa|next)-?\\w{0,9}) b/i\n ],\n [\n c,\n [\n m,\n \"NextBook\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i\n ],\n [\n [\n m,\n \"Voice\"\n ],\n c,\n [\n p,\n g\n ]\n ],\n [\n /\\b(lvtel\\-)?(v1[12]) b/i\n ],\n [\n [\n m,\n \"LvTel\"\n ],\n c,\n [\n p,\n g\n ]\n ],\n [\n /\\b(ph-1) /i\n ],\n [\n c,\n [\n m,\n \"Essential\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(v(100md|700na|7011|917g).*\\b) b/i\n ],\n [\n c,\n [\n m,\n \"Envizen\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(trio[-\\w\\. ]+) b/i\n ],\n [\n c,\n [\n m,\n \"MachSpeed\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\btu_(1491) b/i\n ],\n [\n c,\n [\n m,\n \"Rotor\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /(shield[\\w ]+) b/i\n ],\n [\n c,\n [\n m,\n \"Nvidia\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /(sprint) (\\w+)/i\n ],\n [\n m,\n c,\n [\n p,\n g\n ]\n ],\n [\n /(kin\\.[onetw]{3})/i\n ],\n [\n [\n c,\n /\\./g,\n \" \"\n ],\n [\n m,\n R\n ],\n [\n p,\n g\n ]\n ],\n [\n /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i\n ],\n [\n c,\n [\n m,\n G\n ],\n [\n p,\n k\n ]\n ],\n [\n /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n ],\n [\n c,\n [\n m,\n G\n ],\n [\n p,\n g\n ]\n ],\n [\n /smart-tv.+(samsung)/i\n ],\n [\n m,\n [\n p,\n x\n ]\n ],\n [\n /hbbtv.+maple;(\\d+)/i\n ],\n [\n [\n c,\n /^/,\n \"SmartTV\"\n ],\n [\n m,\n V\n ],\n [\n p,\n x\n ]\n ],\n [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i\n ],\n [\n [\n m,\n P\n ],\n [\n p,\n x\n ]\n ],\n [\n /(apple) ?tv/i\n ],\n [\n m,\n [\n c,\n S + \" TV\"\n ],\n [\n p,\n x\n ]\n ],\n [\n /crkey/i\n ],\n [\n [\n c,\n C + \"cast\"\n ],\n [\n m,\n U\n ],\n [\n p,\n x\n ]\n ],\n [\n /droid.+aft(\\w)( bui|\\))/i\n ],\n [\n c,\n [\n m,\n T\n ],\n [\n p,\n x\n ]\n ],\n [\n /\\(dtv[\\);].+(aquos)/i,\n /(aquos-tv[\\w ]+)\\)/i\n ],\n [\n c,\n [\n m,\n D\n ],\n [\n p,\n x\n ]\n ],\n [\n /(bravia[\\w ]+)( bui|\\))/i\n ],\n [\n c,\n [\n m,\n I\n ],\n [\n p,\n x\n ]\n ],\n [\n /(mitv-\\w{5}) bui/i\n ],\n [\n c,\n [\n m,\n F\n ],\n [\n p,\n x\n ]\n ],\n [\n /Hbbtv.*(technisat) (.*);/i\n ],\n [\n m,\n c,\n [\n p,\n x\n ]\n ],\n [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i,\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i\n ],\n [\n [\n m,\n trim\n ],\n [\n c,\n trim\n ],\n [\n p,\n x\n ]\n ],\n [\n /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i\n ],\n [\n [\n p,\n x\n ]\n ],\n [\n /(ouya)/i,\n /(nintendo) ([wids3utch]+)/i\n ],\n [\n m,\n c,\n [\n p,\n v\n ]\n ],\n [\n /droid.+; (shield) bui/i\n ],\n [\n c,\n [\n m,\n \"Nvidia\"\n ],\n [\n p,\n v\n ]\n ],\n [\n /(playstation [345portablevi]+)/i\n ],\n [\n c,\n [\n m,\n I\n ],\n [\n p,\n v\n ]\n ],\n [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i\n ],\n [\n c,\n [\n m,\n R\n ],\n [\n p,\n v\n ]\n ],\n [\n /((pebble))app/i\n ],\n [\n m,\n c,\n [\n p,\n _\n ]\n ],\n [\n /(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i\n ],\n [\n c,\n [\n m,\n S\n ],\n [\n p,\n _\n ]\n ],\n [\n /droid.+; (glass) \\d/i\n ],\n [\n c,\n [\n m,\n U\n ],\n [\n p,\n _\n ]\n ],\n [\n /droid.+; (wt63?0{2,3})\\)/i\n ],\n [\n c,\n [\n m,\n G\n ],\n [\n p,\n _\n ]\n ],\n [\n /(quest( 2| pro)?)/i\n ],\n [\n c,\n [\n m,\n H\n ],\n [\n p,\n _\n ]\n ],\n [\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i\n ],\n [\n m,\n [\n p,\n y\n ]\n ],\n [\n /(aeobc)\\b/i\n ],\n [\n c,\n [\n m,\n T\n ],\n [\n p,\n y\n ]\n ],\n [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i\n ],\n [\n c,\n [\n p,\n g\n ]\n ],\n [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i\n ],\n [\n c,\n [\n p,\n k\n ]\n ],\n [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i\n ],\n [\n [\n p,\n k\n ]\n ],\n [\n /(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i\n ],\n [\n [\n p,\n g\n ]\n ],\n [\n /(android[-\\w\\. ]{0,9});.+buil/i\n ],\n [\n c,\n [\n m,\n \"Generic\"\n ]\n ]\n ],\n engine: [\n [\n /windows.+ edge\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n E + \"HTML\"\n ]\n ],\n [\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"Blink\"\n ]\n ],\n [\n /(presto)\\/([\\w\\.]+)/i,\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i,\n /ekioh(flow)\\/([\\w\\.]+)/i,\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i,\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i,\n /\\b(libweb)/i\n ],\n [\n u,\n f\n ],\n [\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i\n ],\n [\n f,\n u\n ]\n ],\n os: [\n [\n /microsoft (windows) (vista|xp)/i\n ],\n [\n u,\n f\n ],\n [\n /(windows) nt 6\\.2; (arm)/i,\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i,\n /(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i\n ],\n [\n u,\n [\n f,\n strMapper,\n X\n ]\n ],\n [\n /(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i\n ],\n [\n [\n u,\n \"Windows\"\n ],\n [\n f,\n strMapper,\n X\n ]\n ],\n [\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i,\n /ios;fbsv\\/([\\d\\.]+)/i,\n /cfnetwork\\/.+darwin/i\n ],\n [\n [\n f,\n /_/g,\n \".\"\n ],\n [\n u,\n \"iOS\"\n ]\n ],\n [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+haiku)/i\n ],\n [\n [\n u,\n Z\n ],\n [\n f,\n /_/g,\n \".\"\n ]\n ],\n [\n /droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i\n ],\n [\n f,\n u\n ],\n [\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,\n /(blackberry)\\w*\\/([\\w\\.]*)/i,\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i,\n /\\((series40);/i\n ],\n [\n u,\n f\n ],\n [\n /\\(bb(10);/i\n ],\n [\n f,\n [\n u,\n N\n ]\n ],\n [\n /(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i\n ],\n [\n f,\n [\n u,\n \"Symbian\"\n ]\n ],\n [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n O + \" OS\"\n ]\n ],\n [\n /web0s;.+rt(tv)/i,\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"webOS\"\n ]\n ],\n [\n /watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"watchOS\"\n ]\n ],\n [\n /crkey\\/([\\d\\.]+)/i\n ],\n [\n f,\n [\n u,\n C + \"cast\"\n ]\n ],\n [\n /(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i\n ],\n [\n [\n u,\n L\n ],\n f\n ],\n [\n /panasonic;(viera)/i,\n /(netrange)mmh/i,\n /(nettv)\\/(\\d+\\.[\\w\\.]+)/i,\n /(nintendo|playstation) ([wids345portablevuch]+)/i,\n /(xbox); +xbox ([^\\);]+)/i,\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i,\n /(mint)[\\/\\(\\) ]?(\\w*)/i,\n /(mageia|vectorlinux)[; ]/i,\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n /(hurd|linux) ?([\\w\\.]*)/i,\n /(gnu) ?([\\w\\.]*)/i,\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i,\n /(haiku) (\\w+)/i\n ],\n [\n u,\n f\n ],\n [\n /(sunos) ?([\\w\\.\\d]*)/i\n ],\n [\n [\n u,\n \"Solaris\"\n ],\n f\n ],\n [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i,\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i,\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,\n /(unix) ?([\\w\\.]*)/i\n ],\n [\n u,\n f\n ]\n ]\n };\n var UAParser = function(i, e) {\n if (typeof i === w) {\n e = i;\n i = a;\n }\n if (!(this instanceof UAParser)) {\n return new UAParser(i, e).getResult();\n }\n var r = typeof o !== b && o.navigator ? o.navigator : a;\n var n = i || (r && r.userAgent ? r.userAgent : t);\n var v = r && r.userAgentData ? r.userAgentData : a;\n var x = e ? extend(K, e) : K;\n var _ = r && r.userAgent == n;\n this.getBrowser = function() {\n var i = {};\n i[u] = a;\n i[f] = a;\n rgxMapper.call(i, n, x.browser);\n i[d] = majorize(i[f]);\n if (_ && r && r.brave && typeof r.brave.isBrave == s) {\n i[u] = \"Brave\";\n }\n return i;\n };\n this.getCPU = function() {\n var i = {};\n i[h] = a;\n rgxMapper.call(i, n, x.cpu);\n return i;\n };\n this.getDevice = function() {\n var i = {};\n i[m] = a;\n i[c] = a;\n i[p] = a;\n rgxMapper.call(i, n, x.device);\n if (_ && !i[p] && v && v.mobile) {\n i[p] = g;\n }\n if (_ && i[c] == \"Macintosh\" && r && typeof r.standalone !== b && r.maxTouchPoints && r.maxTouchPoints > 2) {\n i[c] = \"iPad\";\n i[p] = k;\n }\n return i;\n };\n this.getEngine = function() {\n var i = {};\n i[u] = a;\n i[f] = a;\n rgxMapper.call(i, n, x.engine);\n return i;\n };\n this.getOS = function() {\n var i = {};\n i[u] = a;\n i[f] = a;\n rgxMapper.call(i, n, x.os);\n if (_ && !i[u] && v && v.platform != \"Unknown\") {\n i[u] = v.platform.replace(/chrome os/i, L).replace(/macos/i, Z);\n }\n return i;\n };\n this.getResult = function() {\n return {\n ua: this.getUA(),\n browser: this.getBrowser(),\n engine: this.getEngine(),\n os: this.getOS(),\n device: this.getDevice(),\n cpu: this.getCPU()\n };\n };\n this.getUA = function() {\n return n;\n };\n this.setUA = function(i) {\n n = typeof i === l && i.length > q ? trim(i, q) : i;\n return this;\n };\n this.setUA(n);\n return this;\n };\n UAParser.VERSION = r;\n UAParser.BROWSER = enumerize([\n u,\n f,\n d\n ]);\n UAParser.CPU = enumerize([\n h\n ]);\n UAParser.DEVICE = enumerize([\n c,\n m,\n p,\n v,\n g,\n x,\n k,\n _,\n y\n ]);\n UAParser.ENGINE = UAParser.OS = enumerize([\n u,\n f\n ]);\n if (typeof e !== b) {\n if (\"object\" !== b && i.exports) {\n e = i.exports = UAParser;\n }\n e.UAParser = UAParser;\n } else {\n if (\"function\" === s && __webpack_require__.amdO) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {\n return UAParser;\n }).call(exports, __webpack_require__, exports, module),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof o !== b) {\n o.UAParser = UAParser;\n }\n }\n var Q = typeof o !== b && (o.jQuery || o.Zepto);\n if (Q && !Q.ua) {\n var Y = new UAParser;\n Q.ua = Y.getResult();\n Q.ua.get = function() {\n return Y.getUA();\n };\n Q.ua.set = function(i) {\n Y.setUA(i);\n var e = Y.getResult();\n for(var o in e){\n Q.ua[o] = e[o];\n }\n };\n }\n })( false ? 0 : this);\n }\n };\n var e = {};\n function __nccwpck_require__(o) {\n var a = e[o];\n if (a !== undefined) {\n return a.exports;\n }\n var r = e[o] = {\n exports: {}\n };\n var t = true;\n try {\n i[o].call(r.exports, r, r.exports, __nccwpck_require__);\n t = false;\n } finally{\n if (t) delete e[o];\n }\n return r.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var o = __nccwpck_require__(226);\n module.exports = o;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3VhLXBhcnNlci1qcy91YS1wYXJzZXIuanMiLCJtYXBwaW5ncyI6IjtBQUFDO0lBQUssSUFBSUEsSUFBRTtRQUFDLEtBQUksU0FBU0EsQ0FBQyxFQUFDQyxDQUFDO1lBQUcsVUFBU0MsQ0FBQyxFQUFDQyxDQUFDO2dCQUFFO2dCQUFhLElBQUlDLElBQUUsVUFBU0MsSUFBRSxJQUFHQyxJQUFFLEtBQUlDLElBQUUsWUFBV0MsSUFBRSxhQUFZQyxJQUFFLFVBQVNDLElBQUUsVUFBU0MsSUFBRSxTQUFRQyxJQUFFLFNBQVFDLElBQUUsUUFBT0MsSUFBRSxRQUFPQyxJQUFFLFVBQVNDLElBQUUsV0FBVUMsSUFBRSxnQkFBZUMsSUFBRSxXQUFVQyxJQUFFLFVBQVNDLElBQUUsVUFBU0MsSUFBRSxXQUFVQyxJQUFFLFlBQVdDLElBQUUsWUFBV0MsSUFBRTtnQkFBSSxJQUFJQyxJQUFFLFVBQVNDLElBQUUsU0FBUUMsSUFBRSxRQUFPQyxJQUFFLGNBQWFDLElBQUUsV0FBVUMsSUFBRSxVQUFTQyxJQUFFLFFBQU9DLElBQUUsV0FBVUMsSUFBRSxVQUFTQyxJQUFFLFVBQVNDLElBQUUsTUFBS0MsSUFBRSxhQUFZQyxJQUFFLFlBQVdDLElBQUUsU0FBUUMsSUFBRSxXQUFVQyxJQUFFLFNBQVFDLElBQUUsUUFBT0MsSUFBRSxTQUFRQyxJQUFFLFVBQVNDLElBQUUsU0FBUUMsSUFBRSxZQUFXQyxJQUFFLGVBQWNDLElBQUU7Z0JBQVMsSUFBSUMsU0FBTyxTQUFTaEQsQ0FBQyxFQUFDQyxDQUFDO29CQUFFLElBQUlDLElBQUUsQ0FBQztvQkFBRSxJQUFJLElBQUlDLEtBQUtILEVBQUU7d0JBQUMsSUFBR0MsQ0FBQyxDQUFDRSxFQUFFLElBQUVGLENBQUMsQ0FBQ0UsRUFBRSxDQUFDOEMsTUFBTSxHQUFDLE1BQUksR0FBRTs0QkFBQy9DLENBQUMsQ0FBQ0MsRUFBRSxHQUFDRixDQUFD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SUFBSSxJQUFJOUUsS0FBS0QsRUFBRTs0QkFBQzBHLEVBQUVaLEVBQUUsQ0FBQzdGLEVBQUUsR0FBQ0QsQ0FBQyxDQUFDQyxFQUFFO3dCQUFBO29CQUFDO2dCQUFDO1lBQUMsR0FBRyxNQUF3QixHQUFDK0csQ0FBTUEsR0FBQyxJQUFJO1FBQUM7SUFBQztJQUFFLElBQUloSCxJQUFFLENBQUM7SUFBRSxTQUFTaUgsb0JBQW9CaEgsQ0FBQztRQUFFLElBQUlDLElBQUVGLENBQUMsQ0FBQ0MsRUFBRTtRQUFDLElBQUdDLE1BQUlnSCxXQUFVO1lBQUMsT0FBT2hILEVBQUVxRyxPQUFPO1FBQUE7UUFBQyxJQUFJcEcsSUFBRUgsQ0FBQyxDQUFDQyxFQUFFLEdBQUM7WUFBQ3NHLFNBQVEsQ0FBQztRQUFDO1FBQUUsSUFBSW5HLElBQUU7UUFBSyxJQUFHO1lBQUNMLENBQUMsQ0FBQ0UsRUFBRSxDQUFDOEQsSUFBSSxDQUFDNUQsRUFBRW9HLE9BQU8sRUFBQ3BHLEdBQUVBLEVBQUVvRyxPQUFPLEVBQUNVO1lBQXFCN0csSUFBRTtRQUFLLFNBQVE7WUFBQyxJQUFHQSxHQUFFLE9BQU9KLENBQUMsQ0FBQ0MsRUFBRTtRQUFBO1FBQUMsT0FBT0UsRUFBRW9HLE9BQU87SUFBQTtJQUFDLElBQUcsT0FBT1Usd0JBQXNCLGFBQVlBLG9CQUFvQkUsRUFBRSxHQUFDQyxZQUFVO0lBQUksSUFBSW5ILElBQUVnSCxvQkFBb0I7SUFBS0ksT0FBT2QsT0FBTyxHQUFDdEc7QUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvdWEtcGFyc2VyLWpzL3VhLXBhcnNlci5qcz85MmIzIl0sInNvdXJjZXNDb250ZW50IjpbIigoKT0+e3ZhciBpPXsyMjY6ZnVuY3Rpb24oaSxlKXsoZnVuY3Rpb24obyxhKXtcInVzZSBzdHJpY3RcIjt2YXIgcj1cIjEuMC4zNVwiLHQ9XCJcIixuPVwiP1wiLHM9XCJmdW5jdGlvblwiLGI9XCJ1bmRlZmluZWRcIix3PVwib2JqZWN0XCIsbD1cInN0cmluZ1wiLGQ9XCJtYWpvclwiLGM9XCJtb2RlbFwiLHU9XCJuYW1lXCIscD1cInR5cGVcIixtPVwidmVuZG9yXCIsZj1cInZlcnNpb25cIixoPVwiYXJjaGl0ZWN0dXJlXCIsdj1cImNvbnNvbGVcIixnPVwibW9iaWxlXCIsaz1cInRhYmxldFwiLHg9XCJzbWFydHR2XCIsXz1cIndlYXJhYmxlXCIseT1cImVtYmVkZGVkXCIscT0zNTA7dmFyIFQ9XCJBbWF6b25cIixTPVwiQXBwbGVcIix6PVwiQVNVU1wiLE49XCJCbGFja0JlcnJ5XCIsQT1cIkJyb3dzZXJcIixDPVwiQ2hyb21lXCIsRT1cIkVkZ2VcIixPPVwiRmlyZWZveFwiLFU9XCJHb29nbGVcIixqPVwiSHVhd2VpXCIsUD1cIkxHXCIsUj1cIk1pY3Jvc29mdFwiLE09XCJNb3Rvcm9sYVwiLEI9XCJPcGVyYVwiLFY9XCJTYW1zdW5nXCIsRD1cIlNoYXJwXCIsST1cIlNvbnlcIixXPVwiVmllcmFcIixGPVwiWGlhb21pXCIsRz1cIlplYnJhXCIsSD1cIkZhY2Vib29rXCIsTD1cIkNocm9taXVtIE9TXCIsWj1cIk1hYyBPU1wiO3ZhciBleHRlbmQ9ZnVuY3Rpb24oaSxlKXt2YXIgbz17fTtmb3IodmFyIGEgaW4gaSl7aWYoZVthXSYmZVthXS5sZW5ndGglMj09PTApe29bYV09ZVthXS5jb25jYXQoaVthXSl9ZWxzZXtvW2FdPWlbYV19fXJldHVybiBvfSxlbnVtZXJpemU9ZnVuY3Rpb24oaSl7dmFyIGU9e307Zm9yKHZhciBvPTA7bzxpLmxlbmd0aDtvKyspe2VbaVtvXS50b1VwcGVyQ2FzZSgpXT1pW29dfXJldHVybiBlfSxoYXM9ZnVuY3Rpb24oaSxlKXtyZXR1cm4gdHlwZW9mIGk9PT1sP2xvd2VyaXplKGUpLmluZGV4T2YobG93ZXJpemUoaSkpIT09LTE6ZmFsc2V9LGxvd2VyaXplPWZ1bmN0aW9uKGkpe3JldHVybiBpLnRvTG93ZXJDYXNlKCl9LG1ham9yaXplPWZ1bmN0aW9uKGkpe3JldHVybiB0eXBlb2YgaT09PWw/aS5yZXBsYWNlKC9bXlxcZFxcLl0vZyx0KS5zcGxpdChcIi5cIilbMF06YX0sdHJpbT1mdW5jdGlvbihpLGUpe2lmKHR5cGVvZiBpPT09bCl7aT1pLnJlcGxhY2UoL15cXHNcXHMqLyx0KTtyZXR1cm4gdHlwZW9mIGU9PT1iP2k6aS5zdWJzdHJpbmcoMCxxKX19O3ZhciByZ3hNYXBwZXI9ZnVuY3Rpb24oaSxlKXt2YXIgbz0wLHIsdCxuLGIsbCxkO3doaWxlKG88ZS5sZW5ndGgmJiFsKXt2YXIgYz1lW29dLHU9ZVtvKzFdO3I9dD0wO3doaWxlKHI8Yy5sZW5ndGgmJiFsKXtpZighY1tyXSl7YnJlYWt9bD1jW3IrK10uZXhlYyhpKTtpZighIWwpe2ZvcihuPTA7bjx1Lmxlbmd0aDtuKyspe2Q9bFsrK3RdO2I9dVtuXTtpZih0eXBlb2YgYj09PXcmJmIubGVuZ3RoPjApe2lmKGIubGVuZ3RoPT09Mil7aWYodHlwZW9mIGJbMV09PXMpe3RoaXNbYlswXV09YlsxXS5jYWxsKHRoaXMsZCl9ZWxzZXt0aGlzW2JbMF1dPWJbMV19fWVsc2UgaWYoYi5sZW5ndGg9PT0zKXtpZih0eXBlb2YgYlsxXT09PXMmJiEoYlsxXS5leGVjJiZiWzFdLnRlc3QpKXt0aGlzW2JbMF1dPWQ/YlsxXS5jYWxsKHRoaXMsZCxiWzJdKTphfWVsc2V7dGhpc1tiWzBdXT1kP2QucmVwbGFjZShiWzFdLGJbMl0pOmF9fWVsc2UgaWYoYi5sZW5ndGg9PT00KXt0aGlzW2JbMF1dPWQ/YlszXS5jYWxsKHRoaXMsZC5yZXBsYWNlKGJbMV0sYlsyXSkpOmF9fWVsc2V7dGhpc1tiXT1kP2Q6YX19fX1vKz0yfX0sc3RyTWFwcGVyPWZ1bmN0aW9uKGksZSl7Zm9yKHZhciBvIGluIGUpe2lmKHR5cGVvZiBlW29dPT09dyYmZVtvXS5sZW5ndGg+MCl7Zm9yKHZhciByPTA7cjxlW29dLmxlbmd0aDtyKyspe2lmKGhhcyhlW29dW3JdLGkpKXtyZXR1cm4gbz09PW4/YTpvfX19ZWxzZSBpZihoYXMoZVtvXSxpKSl7cmV0dXJuIG89PT1uP2E6b319cmV0dXJuIGl9O3ZhciAkPXtcIjEuMFwiOlwiLzhcIiwxLjI6XCIvMVwiLDEuMzpcIi8zXCIsXCIyLjBcIjpcIi80MTJcIixcIjIuMC4yXCI6XCIvNDE2XCIsXCIyLjAuM1wiOlwiLzQxN1wiLFwiMi4wLjRcIjpcIi80MTlcIixcIj9cIjpcIi9cIn0sWD17TUU6XCI0LjkwXCIsXCJOVCAzLjExXCI6XCJOVDMuNTFcIixcIk5UIDQuMFwiOlwiTlQ0LjBcIiwyZTM6XCJOVCA1LjBcIixYUDpbXCJOVCA1LjFcIixcIk5UIDUuMlwiXSxWaXN0YTpcIk5UIDYuMFwiLDc6XCJOVCA2LjFcIiw4OlwiTlQgNi4yXCIsOC4xOlwiTlQgNi4zXCIsMTA6W1wiTlQgNi40XCIsXCJOVCAxMC4wXCJdLFJUOlwiQVJNXCJ9O3ZhciBLPXticm93c2VyOltbL1xcYig/OmNybW98Y3Jpb3MpXFwvKFtcXHdcXC5dKykvaV0sW2YsW3UsXCJDaHJvbWVcIl1dLFsvZWRnKD86ZXxpb3N8YSk/XFwvKFtcXHdcXC5dKykvaV0sW2YsW3UsXCJFZGdlXCJdXSxbLyhvcGVyYSBtaW5pKVxcLyhbLVxcd1xcLl0rKS9pLC8ob3BlcmEgW21vYmlsZXRhYl17Myw2fSlcXGIuK3ZlcnNpb25cXC8oWy1cXHdcXC5dKykvaSwvKG9wZXJhKSg/Oi4rdmVyc2lvblxcL3xbXFwvIF0rKShbXFx3XFwuXSspL2ldLFt1LGZdLFsvb3Bpb3NbXFwvIF0rKFtcXHdcXC5dKykvaV0sW2YsW3UsQitcIiBNaW5pXCJdXSxbL1xcYm9wclxcLyhbXFx3XFwuXSspL2ldLFtmLFt1LEJdXSxbLyhraW5kbGUpXFwvKFtcXHdcXC5dKykvaSwvKGx1bmFzY2FwZXxtYXh0aG9ufG5ldGZyb250fGphc21pbmV8YmxhemVyKVtcXC8gXT8oW1xcd1xcLl0qKS9pLC8oYXZhbnQgfGllbW9iaWxlfHNsaW0pKD86YnJvd3Nlcik/W1xcLyBdPyhbXFx3XFwuXSopL2ksLyhiYT9pZHVicm93c2VyKVtcXC8gXT8oW1xcd1xcLl0rKS9pLC8oPzptc3xcXCgpKGllKSAoW1xcd1xcLl0rKS9pLC8oZmxvY2t8cm9ja21lbHR8bWlkb3JpfGVwaXBoYW55fHNpbGt8c2t5ZmlyZXxib2x0fGlyb258dml2YWxkaXxpcmlkaXVtfHBoYW50b21qc3xib3dzZXJ8cXVhcmt8cXVwemlsbGF8ZmFsa29ufHJla29ucXxwdWZmaW58YnJhdmV8d2hhbGUoPyEuK25hdmVyKXxxcWJyb3dzZXJsaXRlfHFxfGR1Y2tkdWNrZ28pXFwvKFstXFx3XFwuXSspL2ksLyhoZXl0YXB8b3ZpKWJyb3dzZXJcXC8oW1xcZFxcLl0rKS9pLC8od2VpYm8pX18oW1xcZFxcLl0rKS9pXSxbdSxmXSxbLyg/OlxcYnVjPyA/YnJvd3NlcnwoPzpqdWMuKyl1Y3dlYilbXFwvIF0/KFtcXHdcXC5dKykvaV0sW2YsW3UsXCJVQ1wiK0FdXSxbL21pY3JvbS4rXFxicWJjb3JlXFwvKFtcXHdcXC5dKykvaSwvXFxicWJjb3JlXFwvKFtcXHdcXC5dKykuK21pY3JvbS9pXSxbZixbdSxcIldlQ2hhdChXaW4pIERlc2t0b3BcIl1dLFsvbWljcm9tZXNzZW5nZXJcXC8oW1xcd1xcLl0rKS9pXSxbZixbdSxcIldlQ2hhdFwiXV0sWy9rb25xdWVyb3JcXC8oW1xcd1xcLl0rKS9pXSxbZixbdSxcIktvbnF1ZXJvclwiXV0sWy90cmlkZW50Litydls6IF0oW1xcd1xcLl17MSw5fSlcXGIuK2xpa2UgZ2Vja28vaV0sW2YsW3UsXCJJRVwiXV0sWy95YSg/OnNlYXJjaCk/YnJvd3NlclxcLyhbXFx3XFwuXSspL2ldLFtmLFt1LFwiWWFuZGV4XCJdXSxbLyhhdmFzdHxhdmcpXFwvKFtcXHdcXC5dKykvaV0sW1t1LC8oLispLyxcIiQxIFNlY3VyZSBcIitBXSxmXSxbL1xcYmZvY3VzXFwvKFtcXHdcXC5dKykvaV0sW2YsW3UsTytcIiBGb2N1c1wiXV0sWy9cXGJvcHRcXC8oW1xcd1xcLl0rKS9pXSxbZixbdSxCK1wiIFRvdWNoXCJdXSxbL2NvY19jb2NcXHcrXFwvKFtcXHdcXC5dKykvaV0sW2YsW3UsXCJDb2MgQ29jXCJdXSxbL2RvbGZpblxcLyhbXFx3XFwuXSspL2ldLFtmLFt1LFwiRG9scGhpblwiXV0sWy9jb2FzdFxcLyhbXFx3XFwuXSspL2ldLFtmLFt1LEIrXCIgQ29hc3RcIl1dLFsvbWl1aWJyb3dzZXJcXC8oW1xcd1xcLl0rKS9pXSxbZixbdSxcIk1JVUkgXCIrQV1dLFsvZnhpb3NcXC8oWy1cXHdcXC5dKykvaV0sW2YsW3UsT11dLFsvXFxicWlodXwocWk/aG8/bz98MzYwKWJyb3dzZXIvaV0sW1t1LFwiMzYwIFwiK0FdXSxbLyhvY3VsdXN8c2Ftc3VuZ3xzYWlsZmlzaHxodWF3ZWkpYnJvd3NlclxcLyhbXFx3XFwuXSspL2ldLFtbdSwvKC4rKS8sXCIkMSBcIitBXSxmXSxbLyhjb21vZG9fZHJhZ29uKVxcLyhbXFx3XFwuXSspL2ldLFtbdSwvXy9nLFwiIFwiXSxmXSxbLyhlbGVjdHJvbilcXC8oW1xcd1xcLl0rKSBzYWZhcmkvaSwvKHRlc2xhKSg/OiBxdGNhcmJyb3dzZXJ8XFwvKDIwXFxkXFxkXFwuWy1cXHdcXC5dKykpL2ksL20/KHFxYnJvd3NlcnxiYWlkdWJveGFwcHwyMzQ1RXhwbG9yZXIpW1xcLyBdPyhbXFx3XFwuXSspL2ldLFt1LGZdLFsvKG1ldGFzcilbXFwvIF0/KFtcXHdcXC5dKykvaSwvKGxiYnJvd3NlcikvaSwvXFxbKGxpbmtlZGluKWFwcFxcXS9pXSxbdV0sWy8oKD86ZmJhblxcL2ZiaW9zfGZiX2lhYlxcL2ZiNGEpKD8hLitmYmF2KXw7ZmJhdlxcLyhbXFx3XFwuXSspOykvaV0sW1t1LEhdLGZdLFsvKGtha2FvKD86dGFsa3xzdG9yeSkpW1xcLyBdKFtcXHdcXC5dKykvaSwvKG5hdmVyKVxcKC4qPyhcXGQrXFwuW1xcd1xcLl0rKS4qXFwpL2ksL3NhZmFyaSAobGluZSlcXC8oW1xcd1xcLl0rKS9pLC9cXGIobGluZSlcXC8oW1xcd1xcLl0rKVxcL2lhYi9pLC8oY2hyb21pdW18aW5zdGFncmFtKVtcXC8gXShbLVxcd1xcLl0rKS9pXSxbdSxmXSxbL1xcYmdzYVxcLyhbXFx3XFwuXSspIC4qc2FmYXJpXFwvL2ldLFtmLFt1LFwiR1NBXCJdXSxbL211c2ljYWxfbHkoPzouK2FwcF8/dmVyc2lvblxcL3xfKShbXFx3XFwuXSspL2ldLFtmLFt1LFwiVGlrVG9rXCJdXSxbL2hlYWRsZXNzY2hyb21lKD86XFwvKFtcXHdcXC5dKyl8ICkvaV0sW2YsW3UsQytcIiBIZWFkbGVzc1wiXV0sWy8gd3ZcXCkuKyhjaHJvbWUpXFwvKFtcXHdcXC5dKykvaV0sW1t1LEMrXCIgV2ViVmlld1wiXSxmXSxbL2Ryb2lkLisgdmVyc2lvblxcLyhbXFx3XFwuXSspXFxiLisoPzptb2JpbGUgc2FmYXJpfHNhZmFyaSkvaV0sW2YsW3UsXCJBbmRyb2lkIFwiK0FdXSxbLyhjaHJvbWV8b21uaXdlYnxhcm9yYXxbdGl6ZW5va2FdezV9ID9icm93c2VyKVxcL3Y/KFtcXHdcXC5dKykvaV0sW3UsZl0sWy92ZXJzaW9uXFwvKFtcXHdcXC5cXCxdKykgLiptb2JpbGVcXC9cXHcrIChzYWZhcmkpL2ldLFtmLFt1LFwiTW9iaWxlIFNhZmFyaVwiXV0sWy92ZXJzaW9uXFwvKFtcXHcoXFwufFxcLCldKykgLioobW9iaWxlID9zYWZhcml8c2FmYXJpKS9pXSxbZix1XSxbL3dlYmtpdC4rPyhtb2JpbGUgP3NhZmFyaXxzYWZhcmkpKFxcL1tcXHdcXC5dKykvaV0sW3UsW2Ysc3RyTWFwcGVyLCRdXSxbLyh3ZWJraXR8a2h0bWwpXFwvKFtcXHdcXC5dKykvaV0sW3UsZl0sWy8obmF2aWdhdG9yfG5ldHNjYXBlXFxkPylcXC8oWy1cXHdcXC5dKykvaV0sW1t1LFwiTmV0c2NhcGVcIl0sZl0sWy9tb2JpbGUgdnI7IHJ2OihbXFx3XFwuXSspXFwpLitmaXJlZm94L2ldLFtmLFt1LE8rXCIgUmVhbGl0eVwiXV0sWy9la2lvaGYuKyhmbG93KVxcLyhbXFx3XFwuXSspL2ksLyhzd2lmdGZveCkvaSwvKGljZWRyYWdvbnxpY2V3ZWFzZWx8Y2FtaW5vfGNoaW1lcmF8ZmVubmVjfG1hZW1vIGJyb3dzZXJ8bWluaW1vfGNvbmtlcm9yfGtsYXIpW1xcLyBdPyhbXFx3XFwuXFwrXSspL2ksLyhzZWFtb25rZXl8ay1tZWxlb258aWNlY2F0fGljZWFwZXxmaXJlYmlyZHxwaG9lbml4fHBhbGVtb29ufGJhc2lsaXNrfHdhdGVyZm94KVxcLyhbLVxcd1xcLl0rKSQvaSwvKGZpcmVmb3gpXFwvKFtcXHdcXC5dKykvaSwvKG1vemlsbGEpXFwvKFtcXHdcXC5dKykgLitydlxcOi4rZ2Vja29cXC9cXGQrL2ksLyhwb2xhcmlzfGx5bnh8ZGlsbG98aWNhYnxkb3Jpc3xhbWF5YXx3M218bmV0c3VyZnxzbGVpcG5pcnxvYmlnb3xtb3NhaWN8KD86Z298aWNlfHVwKVtcXC4gXT9icm93c2VyKVstXFwvIF0/dj8oW1xcd1xcLl0rKS9pLC8obGlua3MpIFxcKChbXFx3XFwuXSspL2ksL3BhbmFzb25pYzsodmllcmEpL2ldLFt1LGZdLFsvKGNvYmFsdClcXC8oW1xcd1xcLl0rKS9pXSxbdSxbZiwvbWFzdGVyLnxsdHMuLyxcIlwiXV1dLGNwdTpbWy8oPzooYW1kfHgoPzooPzo4Nnw2NClbLV9dKT98d293fHdpbik2NClbO1xcKV0vaV0sW1toLFwiYW1kNjRcIl1dLFsvKGlhMzIoPz07KSkvaV0sW1toLGxvd2VyaXplXV0sWy8oKD86aVszNDZdfHgpODYpWztcXCldL2ldLFtbaCxcImlhMzJcIl1dLFsvXFxiKGFhcmNoNjR8YXJtKHY/OGU/bD98Xz82NCkpXFxiL2ldLFtbaCxcImFybTY0XCJdXSxbL1xcYihhcm0oPzp2WzY3XSk/aHQ/bj9bZmxdcD8pXFxiL2ldLFtbaCxcImFybWhmXCJdXSxbL3dpbmRvd3MgKGNlfG1vYmlsZSk7IHBwYzsvaV0sW1toLFwiYXJtXCJdXSxbLygoPzpwcGN8cG93ZXJwYykoPzo2NCk/KSg/OiBtYWN8O3xcXCkpL2ldLFtbaCwvb3dlci8sdCxsb3dlcml6ZV1dLFsvKHN1bjRcXHcpWztcXCldL2ldLFtbaCxcInNwYXJjXCJdXSxbLygoPzphdnIzMnxpYTY0KD89OykpfDY4ayg/PVxcKSl8XFxiYXJtKD89dig/OlsxLTddfFs1LTddMSlsP3w7fGVhYmkpfCg/PWF0bWVsIClhdnJ8KD86aXJpeHxtaXBzfHNwYXJjKSg/OjY0KT9cXGJ8cGEtcmlzYykvaV0sW1toLGxvd2VyaXplXV1dLGRldmljZTpbWy9cXGIoc2NoLWlbODldMFxcZHxzaHctbTM4MHN8c20tW3B0eF1cXHd7Miw0fXxndC1bcG5dXFxkezIsNH18c2doLXQ4WzU2XTl8bmV4dXMgMTApL2ldLFtjLFttLFZdLFtwLGtdXSxbL1xcYigoPzpzW2NncF1ofGd0fHNtKS1cXHcrfHNjW2ctXT9bXFxkXSthP3xnYWxheHkgbmV4dXMpL2ksL3NhbXN1bmdbLSBdKFstXFx3XSspL2ksL3NlYy0oc2doXFx3KykvaV0sW2MsW20sVl0sW3AsZ11dLFsvKD86XFwvfFxcKCkoaXAoPzpob25lfG9kKVtcXHcsIF0qKSg/OlxcL3w7KS9pXSxbYyxbbSxTXSxbcCxnXV0sWy9cXCgoaXBhZCk7Wy1cXHdcXCksOyBdK2FwcGxlL2ksL2FwcGxlY29yZW1lZGlhXFwvW1xcd1xcLl0rIFxcKChpcGFkKS9pLC9cXGIoaXBhZClcXGRcXGQ/LFxcZFxcZD9bO1xcXV0uK2lvcy9pXSxbYyxbbSxTXSxbcCxrXV0sWy8obWFjaW50b3NoKTsvaV0sW2MsW20sU11dLFsvXFxiKHNoLT9bYWx0dnpdP1xcZFxcZFthLWVrbV0/KS9pXSxbYyxbbSxEXSxbcCxnXV0sWy9cXGIoKD86YWdbcnNdWzIzXT98YmFoMj98c2h0P3xidHYpLWE/W2x3XVxcZHsyfSlcXGIoPyEuK2RcXC9zKS9pXSxbYyxbbSxqXSxbcCxrXV0sWy8oPzpodWF3ZWl8aG9ub3IpKFstXFx3IF0rKVs7XFwpXS9pLC9cXGIobmV4dXMgNnB8XFx3ezIsNH1lPy1bYXR1XT9bbG5dW1xcZHhdWzAxMjM1OWNdW2Fkbl0/KVxcYig/IS4rZFxcL3MpL2ldLFtjLFttLGpdLFtwLGddXSxbL1xcYihwb2NvW1xcdyBdKykoPzogYnVpfFxcKSkvaSwvXFxiOyAoXFx3KykgYnVpbGRcXC9obVxcMS9pLC9cXGIoaG1bLV8gXT9ub3RlP1tfIF0/KD86XFxkXFx3KT8pIGJ1aS9pLC9cXGIocmVkbWlbXFwtXyBdPyg/Om5vdGV8ayk/W1xcd18gXSspKD86IGJ1aXxcXCkpL2ksL1xcYihtaVstXyBdPyg/OmFcXGR8b25lfG9uZVtfIF1wbHVzfG5vdGUgbHRlfG1heHxjYyk/W18gXT8oPzpcXGQ/XFx3PylbXyBdPyg/OnBsdXN8c2V8bGl0ZSk/KSg/OiBidWl8XFwpKS9pXSxbW2MsL18vZyxcIiBcIl0sW20sRl0sW3AsZ11dLFsvXFxiKG1pWy1fIF0/KD86cGFkKSg/OltcXHdfIF0rKSkoPzogYnVpfFxcKSkvaV0sW1tjLC9fL2csXCIgXCJdLFttLEZdLFtwLGtdXSxbLzsgKFxcdyspIGJ1aS4rIG9wcG8vaSwvXFxiKGNwaFsxMl1cXGR7M318cCg/OmFmfGNbYWxdfGRcXHd8ZVthcl0pW210XVxcZDB8eDkwMDd8YTEwMW9wKVxcYi9pXSxbYyxbbSxcIk9QUE9cIl0sW3AsZ11dLFsvdml2byAoXFx3KykoPzogYnVpfFxcKSkvaSwvXFxiKHZbMTJdXFxkezN9XFx3P1thdF0pKD86IGJ1aXw7KS9pXSxbYyxbbSxcIlZpdm9cIl0sW3AsZ11dLFsvXFxiKHJteFsxMl1cXGR7M30pKD86IGJ1aXw7fFxcKSkvaV0sW2MsW20sXCJSZWFsbWVcIl0sW3AsZ11dLFsvXFxiKG1pbGVzdG9uZXxkcm9pZCg/OlsyLTR4XXwgKD86YmlvbmljfHgyfHByb3xyYXpyKSk/Oj8oIDRnKT8pXFxiW1xcdyBdK2J1aWxkXFwvL2ksL1xcYm1vdCg/Om9yb2xhKT9bLSBdKFxcdyopL2ksLygoPzptb3RvW1xcd1xcKFxcKSBdK3x4dFxcZHszLDR9fG5leHVzIDYpKD89IGJ1aXxcXCkpKS9pXSxbYyxbbSxNXSxbcCxnXV0sWy9cXGIobXo2MFxcZHx4b29tWzIgXXswLDJ9KSBidWlsZFxcLy9pXSxbYyxbbSxNXSxbcCxrXV0sWy8oKD89bGcpP1t2bF1rXFwtP1xcZHszfSkgYnVpfCAzXFwuWy1cXHc7IF17MTB9bGc/LShbMDZjdjldezMsNH0pL2ldLFtjLFttLFBdLFtwLGtdXSxbLyhsbSg/Oi0/ZjEwMFtudl0/fC1bXFx3XFwuXSspKD89IGJ1aXxcXCkpfG5leHVzIFs0NV0pL2ksL1xcYmxnWy1lO1xcLyBdKygoPyFicm93c2VyfG5ldGNhc3R8YW5kcm9pZCB0dilcXHcrKS9pLC9cXGJsZy0/KFtcXGRcXHddKykgYnVpL2ldLFtjLFttLFBdLFtwLGddXSxbLyhpZGVhdGFiWy1cXHcgXSspL2ksL2xlbm92byA/KHNbNTZdMDAwWy1cXHddK3x0YWIoPzpbXFx3IF0rKXx5dFstXFxkXFx3XXs2fXx0YlstXFxkXFx3XXs2fSkvaV0sW2MsW20sXCJMZW5vdm9cIl0sW3Asa11dLFsvKD86bWFlbW98bm9raWEpLioobjkwMHxsdW1pYSBcXGQrKS9pLC9ub2tpYVstXyBdPyhbLVxcd1xcLl0qKS9pXSxbW2MsL18vZyxcIiBcIl0sW20sXCJOb2tpYVwiXSxbcCxnXV0sWy8ocGl4ZWwgYylcXGIvaV0sW2MsW20sVV0sW3Asa11dLFsvZHJvaWQuKzsgKHBpeGVsW1xcZGF4bCBdezAsNn0pKD86IGJ1aXxcXCkpL2ldLFtjLFttLFVdLFtwLGddXSxbL2Ryb2lkLisgKGE/XFxkWzAtMl17Mn1zb3xbYy1nXVxcZHs0fXxzb1stZ2xdXFx3K3x4cS1hXFx3WzQtN11bMTJdKSg/PSBidWl8XFwpLitjaHJvbWVcXC8oPyFbMS02XXswLDF9XFxkXFwuKSkvaV0sW2MsW20sSV0sW3AsZ11dLFsvc29ueSB0YWJsZXQgW3BzXS9pLC9cXGIoPzpzb255KT9zZ3BcXHcrKD86IGJ1aXxcXCkpL2ldLFtbYyxcIlhwZXJpYSBUYWJsZXRcIl0sW20sSV0sW3Asa11dLFsvIChrYjIwMDV8aW4yMFsxMl01fGJlMjBbMTJdWzU5XSlcXGIvaSwvKD86b25lKT8oPzpwbHVzKT8gKGFcXGQwXFxkXFxkKSg/OiBifFxcKSkvaV0sW2MsW20sXCJPbmVQbHVzXCJdLFtwLGddXSxbLyhhbGV4YSl3ZWJtL2ksLyhrZlthLXpdezJ9d2l8YWVvW2Mtcl17Mn0pKCBidWl8XFwpKS9pLC8oa2ZbYS16XSspKCBidWl8XFwpKS4rc2lsa1xcLy9pXSxbYyxbbSxUXSxbcCxrXV0sWy8oKD86c2R8a2YpWzAzNDloaWpvcnN0dXddKykoIGJ1aXxcXCkpLitzaWxrXFwvL2ldLFtbYywvKC4rKS9nLFwiRmlyZSBQaG9uZSAkMVwiXSxbbSxUXSxbcCxnXV0sWy8ocGxheWJvb2spO1stXFx3XFwpLDsgXSsocmltKS9pXSxbYyxtLFtwLGtdXSxbL1xcYigoPzpiYlthLWZdfHN0W2h2XSkxMDAtXFxkKS9pLC9cXChiYjEwOyAoXFx3KykvaV0sW2MsW20sTl0sW3AsZ11dLFsvKD86XFxifGFzdXNfKSh0cmFuc2ZvW3ByaW1lIF17NCwxMH0gXFx3K3xlZWVwY3xzbGlkZXIgXFx3K3xuZXh1cyA3fHBhZGZvbmV8cDAwW2NqXSkvaV0sW2MsW20sel0sW3Asa11dLFsvICh6W2Jlc102WzAyN11bMDEyXVtrbV1bbHNdfHplbmZvbmUgXFxkXFx3PylcXGIvaV0sW2MsW20sel0sW3AsZ11dLFsvKG5leHVzIDkpL2ldLFtjLFttLFwiSFRDXCJdLFtwLGtdXSxbLyhodGMpWy07XyBdezEsMn0oW1xcdyBdKyg/PVxcKXwgYnVpKXxcXHcrKS9pLC8oenRlKVstIF0oW1xcdyBdKz8pKD86IGJ1aXxcXC98XFwpKS9pLC8oYWxjYXRlbHxnZWVrc3Bob25lfG5leGlhbnxwYW5hc29uaWMoPyEoPzo7fFxcLikpfHNvbnkoPyEtYnJhKSlbLV8gXT8oWy1cXHddKikvaV0sW20sW2MsL18vZyxcIiBcIl0sW3AsZ11dLFsvZHJvaWQuKzsgKFthYl1bMS03XS0/WzAxNzhhXVxcZFxcZD8pL2ldLFtjLFttLFwiQWNlclwiXSxbcCxrXV0sWy9kcm9pZC4rOyAobVsxLTVdIG5vdGUpIGJ1aS9pLC9cXGJtei0oWy1cXHddezIsfSkvaV0sW2MsW20sXCJNZWl6dVwiXSxbcCxnXV0sWy8oYmxhY2tiZXJyeXxiZW5xfHBhbG0oPz1cXC0pfHNvbnllcmljc3NvbnxhY2VyfGFzdXN8ZGVsbHxtZWl6dXxtb3Rvcm9sYXxwb2x5dHJvbilbLV8gXT8oWy1cXHddKikvaSwvKGhwKSAoW1xcdyBdK1xcdykvaSwvKGFzdXMpLT8oXFx3KykvaSwvKG1pY3Jvc29mdCk7IChsdW1pYVtcXHcgXSspL2ksLyhsZW5vdm8pWy1fIF0/KFstXFx3XSspL2ksLyhqb2xsYSkvaSwvKG9wcG8pID8oW1xcdyBdKykgYnVpL2ldLFttLGMsW3AsZ11dLFsvKGtvYm8pXFxzKGVyZWFkZXJ8dG91Y2gpL2ksLyhhcmNob3MpIChnYW1lcGFkMj8pL2ksLyhocCkuKyh0b3VjaHBhZCg/IS4rdGFibGV0KXx0YWJsZXQpL2ksLyhraW5kbGUpXFwvKFtcXHdcXC5dKykvaSwvKG5vb2spW1xcdyBdK2J1aWxkXFwvKFxcdyspL2ksLyhkZWxsKSAoc3RyZWFba3ByXFxkIF0qW1xcZGtvXSkvaSwvKGxlWy0gXStwYW4pWy0gXSsoXFx3ezEsOX0pIGJ1aS9pLC8odHJpbml0eSlbLSBdKih0XFxkezN9KSBidWkvaSwvKGdpZ2FzZXQpWy0gXSsocVxcd3sxLDl9KSBidWkvaSwvKHZvZGFmb25lKSAoW1xcdyBdKykoPzpcXCl8IGJ1aSkvaV0sW20sYyxbcCxrXV0sWy8oc3VyZmFjZSBkdW8pL2ldLFtjLFttLFJdLFtwLGtdXSxbL2Ryb2lkIFtcXGRcXC5dKzsgKGZwXFxkdT8pKD86IGJ8XFwpKS9pXSxbYyxbbSxcIkZhaXJwaG9uZVwiXSxbcCxnXV0sWy8odTMwNGFhKS9pXSxbYyxbbSxcIkFUJlRcIl0sW3AsZ11dLFsvXFxic2llLShcXHcqKS9pXSxbYyxbbSxcIlNpZW1lbnNcIl0sW3AsZ11dLFsvXFxiKHJjdFxcdyspIGIvaV0sW2MsW20sXCJSQ0FcIl0sW3Asa11dLFsvXFxiKHZlbnVlW1xcZCBdezIsN30pIGIvaV0sW2MsW20sXCJEZWxsXCJdLFtwLGtdXSxbL1xcYihxKD86bXZ8dGEpXFx3KykgYi9pXSxbYyxbbSxcIlZlcml6b25cIl0sW3Asa11dLFsvXFxiKD86YmFybmVzWyYgXStub2JsZSB8Ym5bcnRdKShbXFx3XFwrIF0qKSBiL2ldLFtjLFttLFwiQmFybmVzICYgTm9ibGVcIl0sW3Asa11dLFsvXFxiKHRtXFxkezN9XFx3KykgYi9pXSxbYyxbbSxcIk51VmlzaW9uXCJdLFtwLGtdXSxbL1xcYihrODgpIGIvaV0sW2MsW20sXCJaVEVcIl0sW3Asa11dLFsvXFxiKG54XFxkezN9aikgYi9pXSxbYyxbbSxcIlpURVwiXSxbcCxnXV0sWy9cXGIoZ2VuXFxkezN9KSBiLis0OWgvaV0sW2MsW20sXCJTd2lzc1wiXSxbcCxnXV0sWy9cXGIoenVyXFxkezN9KSBiL2ldLFtjLFttLFwiU3dpc3NcIl0sW3Asa11dLFsvXFxiKCh6ZWtpKT90Yi4qXFxiKSBiL2ldLFtjLFttLFwiWmVraVwiXSxbcCxrXV0sWy9cXGIoW3lyXVxcZHsyfSkgYi9pLC9cXGIoZHJhZ29uWy0gXSt0b3VjaCB8ZHQpKFxcd3s1fSkgYi9pXSxbW20sXCJEcmFnb24gVG91Y2hcIl0sYyxbcCxrXV0sWy9cXGIobnMtP1xcd3swLDl9KSBiL2ldLFtjLFttLFwiSW5zaWduaWFcIl0sW3Asa11dLFsvXFxiKChueGF8bmV4dCktP1xcd3swLDl9KSBiL2ldLFtjLFttLFwiTmV4dEJvb2tcIl0sW3Asa11dLFsvXFxiKHh0cmVtZVxcXyk/KHYoMVswNDVdfDJbMDE1XXxbMzQ2OV0wfDdbMDVdKSkgYi9pXSxbW20sXCJWb2ljZVwiXSxjLFtwLGddXSxbL1xcYihsdnRlbFxcLSk/KHYxWzEyXSkgYi9pXSxbW20sXCJMdlRlbFwiXSxjLFtwLGddXSxbL1xcYihwaC0xKSAvaV0sW2MsW20sXCJFc3NlbnRpYWxcIl0sW3AsZ11dLFsvXFxiKHYoMTAwbWR8NzAwbmF8NzAxMXw5MTdnKS4qXFxiKSBiL2ldLFtjLFttLFwiRW52aXplblwiXSxbcCxrXV0sWy9cXGIodHJpb1stXFx3XFwuIF0rKSBiL2ldLFtjLFttLFwiTWFjaFNwZWVkXCJdLFtwLGtdXSxbL1xcYnR1XygxNDkxKSBiL2ldLFtjLFttLFwiUm90b3JcIl0sW3Asa11dLFsvKHNoaWVsZFtcXHcgXSspIGIvaV0sW2MsW20sXCJOdmlkaWFcIl0sW3Asa11dLFsvKHNwcmludCkgKFxcdyspL2ldLFttLGMsW3AsZ11dLFsvKGtpblxcLltvbmV0d117M30pL2ldLFtbYywvXFwuL2csXCIgXCJdLFttLFJdLFtwLGddXSxbL2Ryb2lkLis7IChjYzY2NjY/fGV0NVsxNl18bWNbMjM5XVsyM114P3x2YzhbMDNdeD8pXFwpL2ldLFtjLFttLEddLFtwLGtdXSxbL2Ryb2lkLis7IChlYzMwfHBzMjB8dGNbMi04XVxcZFtreF0pXFwpL2ldLFtjLFttLEddLFtwLGddXSxbL3NtYXJ0LXR2Lisoc2Ftc3VuZykvaV0sW20sW3AseF1dLFsvaGJidHYuK21hcGxlOyhcXGQrKS9pXSxbW2MsL14vLFwiU21hcnRUVlwiXSxbbSxWXSxbcCx4XV0sWy8obnV4OyBuZXRjYXN0LitzbWFydHR2fGxnIChuZXRjYXN0XFwudHYtMjAxXFxkfGFuZHJvaWQgdHYpKS9pXSxbW20sUF0sW3AseF1dLFsvKGFwcGxlKSA/dHYvaV0sW20sW2MsUytcIiBUVlwiXSxbcCx4XV0sWy9jcmtleS9pXSxbW2MsQytcImNhc3RcIl0sW20sVV0sW3AseF1dLFsvZHJvaWQuK2FmdChcXHcpKCBidWl8XFwpKS9pXSxbYyxbbSxUXSxbcCx4XV0sWy9cXChkdHZbXFwpO10uKyhhcXVvcykvaSwvKGFxdW9zLXR2W1xcdyBdKylcXCkvaV0sW2MsW20sRF0sW3AseF1dLFsvKGJyYXZpYVtcXHcgXSspKCBidWl8XFwpKS9pXSxbYyxbbSxJXSxbcCx4XV0sWy8obWl0di1cXHd7NX0pIGJ1aS9pXSxbYyxbbSxGXSxbcCx4XV0sWy9IYmJ0di4qKHRlY2huaXNhdCkgKC4qKTsvaV0sW20sYyxbcCx4XV0sWy9cXGIocm9rdSlbXFxkeF0qW1xcKVxcL10oKD86ZHZwLSk/W1xcZFxcLl0qKS9pLC9oYmJ0dlxcL1xcZCtcXC5cXGQrXFwuXFxkKyArXFwoW1xcd1xcKyBdKjsgKihbXFx3XFxkXVteO10qKTsoW147XSopL2ldLFtbbSx0cmltXSxbYyx0cmltXSxbcCx4XV0sWy9cXGIoYW5kcm9pZCB0dnxzbWFydFstIF0/dHZ8b3BlcmEgdHZ8dHY7IHJ2OilcXGIvaV0sW1twLHhdXSxbLyhvdXlhKS9pLC8obmludGVuZG8pIChbd2lkczN1dGNoXSspL2ldLFttLGMsW3Asdl1dLFsvZHJvaWQuKzsgKHNoaWVsZCkgYnVpL2ldLFtjLFttLFwiTnZpZGlhXCJdLFtwLHZdXSxbLyhwbGF5c3RhdGlvbiBbMzQ1cG9ydGFibGV2aV0rKS9pXSxbYyxbbSxJXSxbcCx2XV0sWy9cXGIoeGJveCg/OiBvbmUpPyg/ITsgeGJveCkpW1xcKTsgXS9pXSxbYyxbbSxSXSxbcCx2XV0sWy8oKHBlYmJsZSkpYXBwL2ldLFttLGMsW3AsX11dLFsvKHdhdGNoKSg/OiA/b3NbLFxcL118XFxkLFxcZFxcLylbXFxkXFwuXSsvaV0sW2MsW20sU10sW3AsX11dLFsvZHJvaWQuKzsgKGdsYXNzKSBcXGQvaV0sW2MsW20sVV0sW3AsX11dLFsvZHJvaWQuKzsgKHd0NjM/MHsyLDN9KVxcKS9pXSxbYyxbbSxHXSxbcCxfXV0sWy8ocXVlc3QoIDJ8IHBybyk/KS9pXSxbYyxbbSxIXSxbcCxfXV0sWy8odGVzbGEpKD86IHF0Y2FyYnJvd3NlcnxcXC9bLVxcd1xcLl0rKS9pXSxbbSxbcCx5XV0sWy8oYWVvYmMpXFxiL2ldLFtjLFttLFRdLFtwLHldXSxbL2Ryb2lkIC4rPzsgKFteO10rPykoPzogYnVpfFxcKSBhcHBsZXcpLis/IG1vYmlsZSBzYWZhcmkvaV0sW2MsW3AsZ11dLFsvZHJvaWQgLis/OyAoW147XSs/KSg/OiBidWl8XFwpIGFwcGxldykuKz8oPyEgbW9iaWxlKSBzYWZhcmkvaV0sW2MsW3Asa11dLFsvXFxiKCh0YWJsZXR8dGFiKVs7XFwvXXxmb2N1c1xcL1xcZCg/IS4rbW9iaWxlKSkvaV0sW1twLGtdXSxbLyhwaG9uZXxtb2JpbGUoPzpbO1xcL118IFsgXFx3XFwvXFwuXSpzYWZhcmkpfHBkYSg/PS4rd2luZG93cyBjZSkpL2ldLFtbcCxnXV0sWy8oYW5kcm9pZFstXFx3XFwuIF17MCw5fSk7LitidWlsL2ldLFtjLFttLFwiR2VuZXJpY1wiXV1dLGVuZ2luZTpbWy93aW5kb3dzLisgZWRnZVxcLyhbXFx3XFwuXSspL2ldLFtmLFt1LEUrXCJIVE1MXCJdXSxbL3dlYmtpdFxcLzUzN1xcLjM2LitjaHJvbWVcXC8oPyEyNykoW1xcd1xcLl0rKS9pXSxbZixbdSxcIkJsaW5rXCJdXSxbLyhwcmVzdG8pXFwvKFtcXHdcXC5dKykvaSwvKHdlYmtpdHx0cmlkZW50fG5ldGZyb250fG5ldHN1cmZ8YW1heWF8bHlueHx3M218Z29hbm5hKVxcLyhbXFx3XFwuXSspL2ksL2VraW9oKGZsb3cpXFwvKFtcXHdcXC5dKykvaSwvKGtodG1sfHRhc21hbnxsaW5rcylbXFwvIF1cXCg/KFtcXHdcXC5dKykvaSwvKGljYWIpW1xcLyBdKFsyM11cXC5bXFxkXFwuXSspL2ksL1xcYihsaWJ3ZWIpL2ldLFt1LGZdLFsvcnZcXDooW1xcd1xcLl17MSw5fSlcXGIuKyhnZWNrbykvaV0sW2YsdV1dLG9zOltbL21pY3Jvc29mdCAod2luZG93cykgKHZpc3RhfHhwKS9pXSxbdSxmXSxbLyh3aW5kb3dzKSBudCA2XFwuMjsgKGFybSkvaSwvKHdpbmRvd3MgKD86cGhvbmUoPzogb3MpP3xtb2JpbGUpKVtcXC8gXT8oW1xcZFxcLlxcdyBdKikvaSwvKHdpbmRvd3MpW1xcLyBdPyhbbnRjZVxcZFxcLiBdK1xcdykoPyEuK3hib3gpL2ldLFt1LFtmLHN0ck1hcHBlcixYXV0sWy8od2luKD89M3w5fG4pfHdpbiA5eCApKFtudFxcZFxcLl0rKS9pXSxbW3UsXCJXaW5kb3dzXCJdLFtmLHN0ck1hcHBlcixYXV0sWy9pcFtob25lYWRdezIsNH1cXGIoPzouKm9zIChbXFx3XSspIGxpa2UgbWFjfDsgb3BlcmEpL2ksL2lvcztmYnN2XFwvKFtcXGRcXC5dKykvaSwvY2ZuZXR3b3JrXFwvLitkYXJ3aW4vaV0sW1tmLC9fL2csXCIuXCJdLFt1LFwiaU9TXCJdXSxbLyhtYWMgb3MgeCkgPyhbXFx3XFwuIF0qKS9pLC8obWFjaW50b3NofG1hY19wb3dlcnBjXFxiKSg/IS4raGFpa3UpL2ldLFtbdSxaXSxbZiwvXy9nLFwiLlwiXV0sWy9kcm9pZCAoW1xcd1xcLl0rKVxcYi4rKGFuZHJvaWRbLSBdeDg2fGhhcm1vbnlvcykvaV0sW2YsdV0sWy8oYW5kcm9pZHx3ZWJvc3xxbnh8YmFkYXxyaW0gdGFibGV0IG9zfG1hZW1vfG1lZWdvfHNhaWxmaXNoKVstXFwvIF0/KFtcXHdcXC5dKikvaSwvKGJsYWNrYmVycnkpXFx3KlxcLyhbXFx3XFwuXSopL2ksLyh0aXplbnxrYWlvcylbXFwvIF0oW1xcd1xcLl0rKS9pLC9cXCgoc2VyaWVzNDApOy9pXSxbdSxmXSxbL1xcKGJiKDEwKTsvaV0sW2YsW3UsTl1dLFsvKD86c3ltYmlhbiA/b3N8c3ltYm9zfHM2MCg/PTspfHNlcmllczYwKVstXFwvIF0/KFtcXHdcXC5dKikvaV0sW2YsW3UsXCJTeW1iaWFuXCJdXSxbL21vemlsbGFcXC9bXFxkXFwuXSsgXFwoKD86bW9iaWxlfHRhYmxldHx0dnxtb2JpbGU7IFtcXHcgXSspOyBydjouKyBnZWNrb1xcLyhbXFx3XFwuXSspL2ldLFtmLFt1LE8rXCIgT1NcIl1dLFsvd2ViMHM7LitydCh0dikvaSwvXFxiKD86aHApP3dvcyg/OmJyb3dzZXIpP1xcLyhbXFx3XFwuXSspL2ldLFtmLFt1LFwid2ViT1NcIl1dLFsvd2F0Y2goPzogP29zWyxcXC9dfFxcZCxcXGRcXC8pKFtcXGRcXC5dKykvaV0sW2YsW3UsXCJ3YXRjaE9TXCJdXSxbL2Nya2V5XFwvKFtcXGRcXC5dKykvaV0sW2YsW3UsQytcImNhc3RcIl1dLFsvKGNyb3MpIFtcXHddKyg/OlxcKXwgKFtcXHdcXC5dKylcXGIpL2ldLFtbdSxMXSxmXSxbL3BhbmFzb25pYzsodmllcmEpL2ksLyhuZXRyYW5nZSltbWgvaSwvKG5ldHR2KVxcLyhcXGQrXFwuW1xcd1xcLl0rKS9pLC8obmludGVuZG98cGxheXN0YXRpb24pIChbd2lkczM0NXBvcnRhYmxldnVjaF0rKS9pLC8oeGJveCk7ICt4Ym94IChbXlxcKTtdKykvaSwvXFxiKGpvbGl8cGFsbSlcXGIgPyg/Om9zKT9cXC8/KFtcXHdcXC5dKikvaSwvKG1pbnQpW1xcL1xcKFxcKSBdPyhcXHcqKS9pLC8obWFnZWlhfHZlY3RvcmxpbnV4KVs7IF0vaSwvKFtreGxuXT91YnVudHV8ZGViaWFufHN1c2V8b3BlbnN1c2V8Z2VudG9vfGFyY2goPz0gbGludXgpfHNsYWNrd2FyZXxmZWRvcmF8bWFuZHJpdmF8Y2VudG9zfHBjbGludXhvc3xyZWQgP2hhdHx6ZW53YWxrfGxpbnB1c3xyYXNwYmlhbnxwbGFuIDl8bWluaXh8cmlzYyBvc3xjb250aWtpfGRlZXBpbnxtYW5qYXJvfGVsZW1lbnRhcnkgb3N8c2FiYXlvbnxsaW5zcGlyZSkoPzogZ251XFwvbGludXgpPyg/OiBlbnRlcnByaXNlKT8oPzpbLSBdbGludXgpPyg/Oi1nbnUpP1stXFwvIF0/KD8hY2hyb218cGFja2FnZSkoWy1cXHdcXC5dKikvaSwvKGh1cmR8bGludXgpID8oW1xcd1xcLl0qKS9pLC8oZ251KSA/KFtcXHdcXC5dKikvaSwvXFxiKFstZnJlbnRvcGNnaHNdezAsNX1ic2R8ZHJhZ29uZmx5KVtcXC8gXT8oPyFhbWR8W2l4MzQ2XXsxLDJ9ODYpKFtcXHdcXC5dKikvaSwvKGhhaWt1KSAoXFx3KykvaV0sW3UsZl0sWy8oc3Vub3MpID8oW1xcd1xcLlxcZF0qKS9pXSxbW3UsXCJTb2xhcmlzXCJdLGZdLFsvKCg/Om9wZW4pP3NvbGFyaXMpWy1cXC8gXT8oW1xcd1xcLl0qKS9pLC8oYWl4KSAoKFxcZCkoPz1cXC58XFwpfCApW1xcd1xcLl0pKi9pLC9cXGIoYmVvc3xvc1xcLzJ8YW1pZ2Fvc3xtb3JwaG9zfG9wZW52bXN8ZnVjaHNpYXxocC11eHxzZXJlbml0eW9zKS9pLC8odW5peCkgPyhbXFx3XFwuXSopL2ldLFt1LGZdXX07dmFyIFVBUGFyc2VyPWZ1bmN0aW9uKGksZSl7aWYodHlwZW9mIGk9PT13KXtlPWk7aT1hfWlmKCEodGhpcyBpbnN0YW5jZW9mIFVBUGFyc2VyKSl7cmV0dXJuIG5ldyBVQVBhcnNlcihpLGUpLmdldFJlc3VsdCgpfXZhciByPXR5cGVvZiBvIT09YiYmby5uYXZpZ2F0b3I/by5uYXZpZ2F0b3I6YTt2YXIgbj1pfHwociYmci51c2VyQWdlbnQ/ci51c2VyQWdlbnQ6dCk7dmFyIHY9ciYmci51c2VyQWdlbnREYXRhP3IudXNlckFnZW50RGF0YTphO3ZhciB4PWU/ZXh0ZW5kKEssZSk6Szt2YXIgXz1yJiZyLnVzZXJBZ2VudD09bjt0aGlzLmdldEJyb3dzZXI9ZnVuY3Rpb24oKXt2YXIgaT17fTtpW3VdPWE7aVtmXT1hO3JneE1hcHBlci5jYWxsKGksbix4LmJyb3dzZXIpO2lbZF09bWFqb3JpemUoaVtmXSk7aWYoXyYmciYmci5icmF2ZSYmdHlwZW9mIHIuYnJhdmUuaXNCcmF2ZT09cyl7aVt1XT1cIkJyYXZlXCJ9cmV0dXJuIGl9O3RoaXMuZ2V0Q1BVPWZ1bmN0aW9uKCl7dmFyIGk9e307aVtoXT1hO3JneE1hcHBlci5jYWxsKGksbix4LmNwdSk7cmV0dXJuIGl9O3RoaXMuZ2V0RGV2aWNlPWZ1bmN0aW9uKCl7dmFyIGk9e307aVttXT1hO2lbY109YTtpW3BdPWE7cmd4TWFwcGVyLmNhbGwoaSxuLHguZGV2aWNlKTtpZihfJiYhaVtwXSYmdiYmdi5tb2JpbGUpe2lbcF09Z31pZihfJiZpW2NdPT1cIk1hY2ludG9zaFwiJiZyJiZ0eXBlb2Ygci5zdGFuZGFsb25lIT09YiYmci5tYXhUb3VjaFBvaW50cyYmci5tYXhUb3VjaFBvaW50cz4yKXtpW2NdPVwiaVBhZFwiO2lbcF09a31yZXR1cm4gaX07dGhpcy5nZXRFbmdpbmU9ZnVuY3Rpb24oKXt2YXIgaT17fTtpW3VdPWE7aVtmXT1hO3JneE1hcHBlci5jYWxsKGksbix4LmVuZ2luZSk7cmV0dXJuIGl9O3RoaXMuZ2V0T1M9ZnVuY3Rpb24oKXt2YXIgaT17fTtpW3VdPWE7aVtmXT1hO3JneE1hcHBlci5jYWxsKGksbix4Lm9zKTtpZihfJiYhaVt1XSYmdiYmdi5wbGF0Zm9ybSE9XCJVbmtub3duXCIpe2lbdV09di5wbGF0Zm9ybS5yZXBsYWNlKC9jaHJvbWUgb3MvaSxMKS5yZXBsYWNlKC9tYWNvcy9pLFopfXJldHVybiBpfTt0aGlzLmdldFJlc3VsdD1mdW5jdGlvbigpe3JldHVybnt1YTp0aGlzLmdldFVBKCksYnJvd3Nlcjp0aGlzLmdldEJyb3dzZXIoKSxlbmdpbmU6dGhpcy5nZXRFbmdpbmUoKSxvczp0aGlzLmdldE9TKCksZGV2aWNlOnRoaXMuZ2V0RGV2aWNlKCksY3B1OnRoaXMuZ2V0Q1BVKCl9fTt0aGlzLmdldFVBPWZ1bmN0aW9uKCl7cmV0dXJuIG59O3RoaXMuc2V0VUE9ZnVuY3Rpb24oaSl7bj10eXBlb2YgaT09PWwmJmkubGVuZ3RoPnE/dHJpbShpLHEpOmk7cmV0dXJuIHRoaXN9O3RoaXMuc2V0VUEobik7cmV0dXJuIHRoaXN9O1VBUGFyc2VyLlZFUlNJT049cjtVQVBhcnNlci5CUk9XU0VSPWVudW1lcml6ZShbdSxmLGRdKTtVQVBhcnNlci5DUFU9ZW51bWVyaXplKFtoXSk7VUFQYXJzZXIuREVWSUNFPWVudW1lcml6ZShbYyxtLHAsdixnLHgsayxfLHldKTtVQVBhcnNlci5FTkdJTkU9VUFQYXJzZXIuT1M9ZW51bWVyaXplKFt1LGZdKTtpZih0eXBlb2YgZSE9PWIpe2lmKFwib2JqZWN0XCIhPT1iJiZpLmV4cG9ydHMpe2U9aS5leHBvcnRzPVVBUGFyc2VyfWUuVUFQYXJzZXI9VUFQYXJzZXJ9ZWxzZXtpZih0eXBlb2YgZGVmaW5lPT09cyYmZGVmaW5lLmFtZCl7ZGVmaW5lKChmdW5jdGlvbigpe3JldHVybiBVQVBhcnNlcn0pKX1lbHNlIGlmKHR5cGVvZiBvIT09Yil7by5VQVBhcnNlcj1VQVBhcnNlcn19dmFyIFE9dHlwZW9mIG8hPT1iJiYoby5qUXVlcnl8fG8uWmVwdG8pO2lmKFEmJiFRLnVhKXt2YXIgWT1uZXcgVUFQYXJzZXI7US51YT1ZLmdldFJlc3VsdCgpO1EudWEuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIFkuZ2V0VUEoKX07US51YS5zZXQ9ZnVuY3Rpb24oaSl7WS5zZXRVQShpKTt2YXIgZT1ZLmdldFJlc3VsdCgpO2Zvcih2YXIgbyBpbiBlKXtRLnVhW29dPWVbb119fX19KSh0eXBlb2Ygd2luZG93PT09XCJvYmplY3RcIj93aW5kb3c6dGhpcyl9fTt2YXIgZT17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKG8pe3ZhciBhPWVbb107aWYoYSE9PXVuZGVmaW5lZCl7cmV0dXJuIGEuZXhwb3J0c312YXIgcj1lW29dPXtleHBvcnRzOnt9fTt2YXIgdD10cnVlO3RyeXtpW29dLmNhbGwoci5leHBvcnRzLHIsci5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO3Q9ZmFsc2V9ZmluYWxseXtpZih0KWRlbGV0ZSBlW29dfXJldHVybiByLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciBvPV9fbmNjd3Bja19yZXF1aXJlX18oMjI2KTttb2R1bGUuZXhwb3J0cz1vfSkoKTsiXSwibmFtZXMiOlsiaSIsImUiLCJvIiwiYSIsInIiLCJ0IiwibiIsInMiLCJiIiwidyIsImwiLCJkIiwiYyIsInUiLCJwIiwibSIsImYiLCJoIiwidiIsImciLCJrIiwieCIsIl8iLCJ5IiwicSIsIlQiLCJTIiwieiIsIk4iLCJBIiwiQyIsIkUiLCJPIiwiVSIsImoiLCJQIiwiUiIsIk0iLCJCIiwiViIsIkQiLCJJIiwiVyIsIkYiLCJHIiwiSCIsIkwiLCJaIiwiZXh0ZW5kIiwibGVuZ3RoIiwiY29uY2F0IiwiZW51bWVyaXplIiwidG9VcHBlckNhc2UiLCJoYXMiLCJsb3dlcml6ZSIsImluZGV4T2YiLCJ0b0xvd2VyQ2FzZSIsIm1ham9yaXplIiwicmVwbGFjZSIsInNwbGl0IiwidHJpbSIsInN1YnN0cmluZyIsInJneE1hcHBlciIsImV4ZWMiLCJjYWxsIiwidGVzdCIsInN0ck1hcHBlciIsIiQiLCJYIiwiTUUiLCJYUCIsIlZpc3RhIiwiUlQiLCJLIiwiYnJvd3NlciIsImNwdSIsImRldmljZSIsImVuZ2luZSIsIm9zIiwiVUFQYXJzZXIiLCJnZXRSZXN1bHQiLCJuYXZpZ2F0b3IiLCJ1c2VyQWdlbnQiLCJ1c2VyQWdlbnREYXRhIiwiZ2V0QnJvd3NlciIsImJyYXZlIiwiaXNCcmF2ZSIsImdldENQVSIsImdldERldmljZSIsIm1vYmlsZSIsInN0YW5kYWxvbmUiLCJtYXhUb3VjaFBvaW50cyIsImdldEVuZ2luZSIsImdldE9TIiwicGxhdGZvcm0iLCJ1YSIsImdldFVBIiwic2V0VUEiLCJWRVJTSU9OIiwiQlJPV1NFUiIsIkNQVSIsIkRFVklDRSIsIkVOR0lORSIsIk9TIiwiZXhwb3J0cyIsImRlZmluZSIsImFtZCIsIlEiLCJqUXVlcnkiLCJaZXB0byIsIlkiLCJnZXQiLCJzZXQiLCJ3aW5kb3ciLCJfX25jY3dwY2tfcmVxdWlyZV9fIiwidW5kZWZpbmVkIiwiYWIiLCJfX2Rpcm5hbWUiLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/compiled/ua-parser-js/ua-parser.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/lib/constants.js": /*!*************************************************!*\ !*** ./node_modules/next/dist/lib/constants.js ***! \*************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n NEXT_QUERY_PARAM_PREFIX: function() {\n return NEXT_QUERY_PARAM_PREFIX;\n },\n PRERENDER_REVALIDATE_HEADER: function() {\n return PRERENDER_REVALIDATE_HEADER;\n },\n PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER: function() {\n return PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER;\n },\n RSC_PREFETCH_SUFFIX: function() {\n return RSC_PREFETCH_SUFFIX;\n },\n RSC_SUFFIX: function() {\n return RSC_SUFFIX;\n },\n NEXT_DATA_SUFFIX: function() {\n return NEXT_DATA_SUFFIX;\n },\n NEXT_META_SUFFIX: function() {\n return NEXT_META_SUFFIX;\n },\n NEXT_BODY_SUFFIX: function() {\n return NEXT_BODY_SUFFIX;\n },\n NEXT_CACHE_TAGS_HEADER: function() {\n return NEXT_CACHE_TAGS_HEADER;\n },\n NEXT_CACHE_SOFT_TAGS_HEADER: function() {\n return NEXT_CACHE_SOFT_TAGS_HEADER;\n },\n NEXT_CACHE_REVALIDATED_TAGS_HEADER: function() {\n return NEXT_CACHE_REVALIDATED_TAGS_HEADER;\n },\n NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER: function() {\n return NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER;\n },\n NEXT_CACHE_TAG_MAX_LENGTH: function() {\n return NEXT_CACHE_TAG_MAX_LENGTH;\n },\n NEXT_CACHE_SOFT_TAG_MAX_LENGTH: function() {\n return NEXT_CACHE_SOFT_TAG_MAX_LENGTH;\n },\n NEXT_CACHE_IMPLICIT_TAG_ID: function() {\n return NEXT_CACHE_IMPLICIT_TAG_ID;\n },\n CACHE_ONE_YEAR: function() {\n return CACHE_ONE_YEAR;\n },\n MIDDLEWARE_FILENAME: function() {\n return MIDDLEWARE_FILENAME;\n },\n MIDDLEWARE_LOCATION_REGEXP: function() {\n return MIDDLEWARE_LOCATION_REGEXP;\n },\n INSTRUMENTATION_HOOK_FILENAME: function() {\n return INSTRUMENTATION_HOOK_FILENAME;\n },\n PAGES_DIR_ALIAS: function() {\n return PAGES_DIR_ALIAS;\n },\n DOT_NEXT_ALIAS: function() {\n return DOT_NEXT_ALIAS;\n },\n ROOT_DIR_ALIAS: function() {\n return ROOT_DIR_ALIAS;\n },\n APP_DIR_ALIAS: function() {\n return APP_DIR_ALIAS;\n },\n RSC_MOD_REF_PROXY_ALIAS: function() {\n return RSC_MOD_REF_PROXY_ALIAS;\n },\n RSC_ACTION_VALIDATE_ALIAS: function() {\n return RSC_ACTION_VALIDATE_ALIAS;\n },\n RSC_ACTION_PROXY_ALIAS: function() {\n return RSC_ACTION_PROXY_ALIAS;\n },\n RSC_ACTION_ENCRYPTION_ALIAS: function() {\n return RSC_ACTION_ENCRYPTION_ALIAS;\n },\n RSC_ACTION_CLIENT_WRAPPER_ALIAS: function() {\n return RSC_ACTION_CLIENT_WRAPPER_ALIAS;\n },\n PUBLIC_DIR_MIDDLEWARE_CONFLICT: function() {\n return PUBLIC_DIR_MIDDLEWARE_CONFLICT;\n },\n SSG_GET_INITIAL_PROPS_CONFLICT: function() {\n return SSG_GET_INITIAL_PROPS_CONFLICT;\n },\n SERVER_PROPS_GET_INIT_PROPS_CONFLICT: function() {\n return SERVER_PROPS_GET_INIT_PROPS_CONFLICT;\n },\n SERVER_PROPS_SSG_CONFLICT: function() {\n return SERVER_PROPS_SSG_CONFLICT;\n },\n STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR: function() {\n return STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR;\n },\n SERVER_PROPS_EXPORT_ERROR: function() {\n return SERVER_PROPS_EXPORT_ERROR;\n },\n GSP_NO_RETURNED_VALUE: function() {\n return GSP_NO_RETURNED_VALUE;\n },\n GSSP_NO_RETURNED_VALUE: function() {\n return GSSP_NO_RETURNED_VALUE;\n },\n UNSTABLE_REVALIDATE_RENAME_ERROR: function() {\n return UNSTABLE_REVALIDATE_RENAME_ERROR;\n },\n GSSP_COMPONENT_MEMBER_ERROR: function() {\n return GSSP_COMPONENT_MEMBER_ERROR;\n },\n NON_STANDARD_NODE_ENV: function() {\n return NON_STANDARD_NODE_ENV;\n },\n SSG_FALLBACK_EXPORT_ERROR: function() {\n return SSG_FALLBACK_EXPORT_ERROR;\n },\n ESLINT_DEFAULT_DIRS: function() {\n return ESLINT_DEFAULT_DIRS;\n },\n ESLINT_PROMPT_VALUES: function() {\n return ESLINT_PROMPT_VALUES;\n },\n SERVER_RUNTIME: function() {\n return SERVER_RUNTIME;\n },\n WEBPACK_LAYERS: function() {\n return WEBPACK_LAYERS;\n },\n WEBPACK_RESOURCE_QUERIES: function() {\n return WEBPACK_RESOURCE_QUERIES;\n }\n});\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst PRERENDER_REVALIDATE_HEADER = \"x-prerender-revalidate\";\nconst PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER = \"x-prerender-revalidate-if-generated\";\nconst RSC_PREFETCH_SUFFIX = \".prefetch.rsc\";\nconst RSC_SUFFIX = \".rsc\";\nconst NEXT_DATA_SUFFIX = \".json\";\nconst NEXT_META_SUFFIX = \".meta\";\nconst NEXT_BODY_SUFFIX = \".body\";\nconst NEXT_CACHE_TAGS_HEADER = \"x-next-cache-tags\";\nconst NEXT_CACHE_SOFT_TAGS_HEADER = \"x-next-cache-soft-tags\";\nconst NEXT_CACHE_REVALIDATED_TAGS_HEADER = \"x-next-revalidated-tags\";\nconst NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER = \"x-next-revalidate-tag-token\";\nconst NEXT_CACHE_TAG_MAX_LENGTH = 256;\nconst NEXT_CACHE_SOFT_TAG_MAX_LENGTH = 1024;\nconst NEXT_CACHE_IMPLICIT_TAG_ID = \"_N_T_\";\nconst CACHE_ONE_YEAR = 31536000;\nconst MIDDLEWARE_FILENAME = \"middleware\";\nconst MIDDLEWARE_LOCATION_REGEXP = `(?:src/)?${MIDDLEWARE_FILENAME}`;\nconst INSTRUMENTATION_HOOK_FILENAME = \"instrumentation\";\nconst PAGES_DIR_ALIAS = \"private-next-pages\";\nconst DOT_NEXT_ALIAS = \"private-dot-next\";\nconst ROOT_DIR_ALIAS = \"private-next-root-dir\";\nconst APP_DIR_ALIAS = \"private-next-app-dir\";\nconst RSC_MOD_REF_PROXY_ALIAS = \"next/dist/build/webpack/loaders/next-flight-loader/module-proxy\";\nconst RSC_ACTION_VALIDATE_ALIAS = \"private-next-rsc-action-validate\";\nconst RSC_ACTION_PROXY_ALIAS = \"private-next-rsc-action-proxy\";\nconst RSC_ACTION_ENCRYPTION_ALIAS = \"private-next-rsc-action-encryption\";\nconst RSC_ACTION_CLIENT_WRAPPER_ALIAS = \"private-next-rsc-action-client-wrapper\";\nconst PUBLIC_DIR_MIDDLEWARE_CONFLICT = `You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict`;\nconst SSG_GET_INITIAL_PROPS_CONFLICT = `You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps`;\nconst SERVER_PROPS_GET_INIT_PROPS_CONFLICT = `You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.`;\nconst SERVER_PROPS_SSG_CONFLICT = `You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps`;\nconst STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR = `can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props`;\nconst SERVER_PROPS_EXPORT_ERROR = `pages with \\`getServerSideProps\\` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export`;\nconst GSP_NO_RETURNED_VALUE = \"Your `getStaticProps` function did not return an object. Did you forget to add a `return`?\";\nconst GSSP_NO_RETURNED_VALUE = \"Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?\";\nconst UNSTABLE_REVALIDATE_RENAME_ERROR = \"The `unstable_revalidate` property is available for general use.\\n\" + \"Please use `revalidate` instead.\";\nconst GSSP_COMPONENT_MEMBER_ERROR = `can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member`;\nconst NON_STANDARD_NODE_ENV = `You are using a non-standard \"NODE_ENV\" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env`;\nconst SSG_FALLBACK_EXPORT_ERROR = `Pages with \\`fallback\\` enabled in \\`getStaticPaths\\` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export`;\nconst ESLINT_DEFAULT_DIRS = [\n \"app\",\n \"pages\",\n \"components\",\n \"lib\",\n \"src\"\n];\nconst ESLINT_PROMPT_VALUES = [\n {\n title: \"Strict\",\n recommended: true,\n config: {\n extends: \"next/core-web-vitals\"\n }\n },\n {\n title: \"Base\",\n config: {\n extends: \"next\"\n }\n },\n {\n title: \"Cancel\",\n config: null\n }\n];\nconst SERVER_RUNTIME = {\n edge: \"edge\",\n experimentalEdge: \"experimental-edge\",\n nodejs: \"nodejs\"\n};\n/**\n * The names of the webpack layers. These layers are the primitives for the\n * webpack chunks.\n */ const WEBPACK_LAYERS_NAMES = {\n /**\n * The layer for the shared code between the client and server bundles.\n */ shared: \"shared\",\n /**\n * React Server Components layer (rsc).\n */ reactServerComponents: \"rsc\",\n /**\n * Server Side Rendering layer for app (ssr).\n */ serverSideRendering: \"ssr\",\n /**\n * The browser client bundle layer for actions.\n */ actionBrowser: \"action-browser\",\n /**\n * The layer for the API routes.\n */ api: \"api\",\n /**\n * The layer for the middleware code.\n */ middleware: \"middleware\",\n /**\n * The layer for assets on the edge.\n */ edgeAsset: \"edge-asset\",\n /**\n * The browser client bundle layer for App directory.\n */ appPagesBrowser: \"app-pages-browser\",\n /**\n * The server bundle layer for metadata routes.\n */ appMetadataRoute: \"app-metadata-route\",\n /**\n * The layer for the server bundle for App Route handlers.\n */ appRouteHandler: \"app-route-handler\"\n};\nconst WEBPACK_LAYERS = {\n ...WEBPACK_LAYERS_NAMES,\n GROUP: {\n server: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.appMetadataRoute,\n WEBPACK_LAYERS_NAMES.appRouteHandler\n ],\n nonClientServerTarget: [\n // plus middleware and pages api\n WEBPACK_LAYERS_NAMES.middleware,\n WEBPACK_LAYERS_NAMES.api\n ],\n app: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.appMetadataRoute,\n WEBPACK_LAYERS_NAMES.appRouteHandler,\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser,\n WEBPACK_LAYERS_NAMES.shared\n ]\n }\n};\nconst WEBPACK_RESOURCE_QUERIES = {\n edgeSSREntry: \"__next_edge_ssr_entry__\",\n metadata: \"__next_metadata__\",\n metadataRoute: \"__next_metadata_route__\",\n metadataImageMeta: \"__next_metadata_image_meta__\"\n}; //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL2NvbnN0YW50cy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQThDTjtBQUNBLFNBQVM4QyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJcEQsT0FBT0MsY0FBYyxDQUFDa0QsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRaEQsU0FBUztJQUNiRyx5QkFBeUI7UUFDckIsT0FBT0E7SUFDWDtJQUNBQyw2QkFBNkI7UUFDekIsT0FBT0E7SUFDWDtJQUNBQyw0Q0FBNEM7UUFDeEMsT0FBT0E7SUFDWDtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtJQUNBQyxZQUFZO1FBQ1IsT0FBT0E7SUFDWDtJQUNBQyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0lBQ0FDLGtCQUFrQjtRQUNkLE9BQU9BO0lBQ1g7SUFDQUMsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtJQUNBQyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtJQUNBQyw2QkFBNkI7UUFDekIsT0FBT0E7SUFDWDtJQUNBQyxvQ0FBb0M7UUFDaEMsT0FBT0E7SUFDWDtJQUNBQyx3Q0FBd0M7UUFDcEMsT0FBT0E7SUFDWDtJQUNBQywyQkFBMkI7UUFDdkIsT0FBT0E7SUFDWDtJQUNBQyxnQ0FBZ0M7UUFDNUIsT0FBT0E7SUFDWDtJQUNBQyw0QkFBNEI7UUFDeEIsT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLDRCQUE0QjtRQUN4QixPQUFPQTtJQUNYO0lBQ0FDLCtCQUErQjtRQUMzQixPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtR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O0lBQ2ZDLG1CQUFtQjtBQUN2QixHQUVBLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL2NvbnN0YW50cy5qcz84MWNiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVg6IG51bGwsXG4gICAgUFJFUkVOREVSX1JFVkFMSURBVEVfSEVBREVSOiBudWxsLFxuICAgIFBSRVJFTkRFUl9SRVZBTElEQVRFX09OTFlfR0VORVJBVEVEX0hFQURFUjogbnVsbCxcbiAgICBSU0NfUFJFRkVUQ0hfU1VGRklYOiBudWxsLFxuICAgIFJTQ19TVUZGSVg6IG51bGwsXG4gICAgTkVYVF9EQVRBX1NVRkZJWDogbnVsbCxcbiAgICBORVhUX01FVEFfU1VGRklYOiBudWxsLFxuICAgIE5FWFRfQk9EWV9TVUZGSVg6IG51bGwsXG4gICAgTkVYVF9DQUNIRV9UQUdTX0hFQURFUjogbnVsbCxcbiAgICBORVhUX0NBQ0hFX1NPRlRfVEFHU19IRUFERVI6IG51bGwsXG4gICAgTkVYVF9DQUNIRV9SRVZBTElEQVRFRF9UQUdTX0hFQURFUjogbnVsbCxcbiAgICBORVhUX0NBQ0hFX1JFVkFMSURBVEVfVEFHX1RPS0VOX0hFQURFUjogbnVsbCxcbiAgICBORVhUX0NBQ0hFX1RBR19NQVhfTEVOR1RIOiBudWxsLFxuICAgIE5FWFRfQ0FDSEVfU09GVF9UQUdfTUFYX0xFTkdUSDogbnVsbCxcbiAgICBORVhUX0NBQ0hFX0lNUExJQ0lUX1RBR19JRDogbnVsbCxcbiAgICBDQUNIRV9PTkVfWUVBUjogbnVsbCxcbiAgICBNSURETEVXQVJFX0ZJTEVOQU1FOiBudWxsLFxuICAgIE1JRERMRVdBUkVfTE9DQVRJT05fUkVHRVhQOiBudWxsLFxuICAgIElOU1RSVU1FTlRBVElPTl9IT09LX0ZJTEVOQU1FOiBudWxsLFxuICAgIFBBR0VTX0RJUl9BTElBUzogbnVsbCxcbiAgICBET1RfTkVYVF9BTElBUzogbnVsbCxcbiAgICBST09UX0RJUl9BTElBUzogbnVsbCxcbiAgICBBUFBfRElSX0FMSUFTOiBudWxsLFxuICAgIFJTQ19NT0RfUkVGX1BST1hZX0FMSUFTOiBudWxsLFxuICAgIFJTQ19BQ1RJT05fVkFMSURBVEVfQUxJQVM6IG51bGwsXG4gICAgUlNDX0FDVElPTl9QUk9YWV9BTElBUzogbnVsbCxcbiAgICBSU0NfQUNUSU9OX0VOQ1JZUFRJT05fQUxJQVM6IG51bGwsXG4gICAgUlNDX0FDVElPTl9DTElFTlRfV1JBUFBFUl9BTElBUzogbnVsbCxcbiAgICBQVUJMSUNfRElSX01JRERMRVdBUkVfQ09ORkxJQ1Q6IG51bGwsXG4gICAgU1NHX0dFVF9JTklUSUFMX1BST1BTX0NPTkZMSUNUOiBudWxsLFxuICAgIFNFUlZFUl9QUk9QU19HRVRfSU5JVF9QUk9QU19DT05GTElDVDogbnVsbCxcbiAgICBTRVJWRVJfUFJPUFNfU1NHX0NPTkZMSUNUOiBudWxsLFxuICAgIFNUQVRJQ19TVEFUVVNfUEFHRV9HRVRfSU5JVElBTF9QUk9QU19FUlJPUjogbnVsbCxcbiAgICBTRVJWRVJfUFJPUFNfRVhQT1JUX0VSUk9SOiBudWxsLFxuICAgIEdTUF9OT19SRVRVUk5FRF9WQUxVRTogbnVsbCxcbiAgICBHU1NQX05PX1JFVFVSTkVEX1ZBTFVFOiBudWxsLFxuICAgIFVOU1RBQkxFX1JFVkFMSURBVEVfUkVOQU1FX0VSUk9SOiBudWxsLFxuICAgIEdTU1BfQ09NUE9ORU5UX01FTUJFUl9FUlJPUjogbnVsbCxcbiAgICBOT05fU1RBTkRBUkRfTk9ERV9FTlY6IG51bGwsXG4gICAgU1NHX0ZBTExCQUNLX0VYUE9SVF9FUlJPUjogbnVsbCxcbiAgICBFU0xJTlRfREVGQVVMVF9ESVJTOiBudWxsLFxuICAgIEVTTElOVF9QUk9NUFRfVkFMVUVTOiBudWxsLFxuICAgIFNFUlZFUl9SVU5USU1FOiBudWxsLFxuICAgIFdFQlBBQ0tfTEFZRVJTOiBudWxsLFxuICAgIFdFQlBBQ0tfUkVTT1VSQ0VfUVVFUklFUzogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBORVhUX1FVRVJZX1BBUkFNX1BSRUZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX1FVRVJZX1BBUkFNX1BSRUZJWDtcbiAgICB9LFxuICAgIFBSRVJFTkRFUl9SRVZBTElEQVRFX0hFQURFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQUkVSRU5ERVJfUkVWQUxJREFURV9IRUFERVI7XG4gICAgfSxcbiAgICBQUkVSRU5ERVJfUkVWQUxJREFURV9PTkxZX0dFTkVSQVRFRF9IRUFERVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUFJFUkVOREVSX1JFVkFMSURBVEVfT05MWV9HRU5FUkFURURfSEVBREVSO1xuICAgIH0sXG4gICAgUlNDX1BSRUZFVENIX1NVRkZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSU0NfUFJFRkVUQ0hfU1VGRklYO1xuICAgIH0sXG4gICAgUlNDX1NVRkZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSU0NfU1VGRklYO1xuICAgIH0sXG4gICAgTkVYVF9EQVRBX1NVRkZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0RBVEFfU1VGRklYO1xuICAgIH0sXG4gICAgTkVYVF9NRVRBX1NVRkZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX01FVEFfU1VGRklYO1xuICAgIH0sXG4gICAgTkVYVF9CT0RZX1NVRkZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0JPRFlfU1VGRklYO1xuICAgIH0sXG4gICAgTkVYVF9DQUNIRV9UQUdTX0hFQURFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0NBQ0hFX1RBR1NfSEVBREVSO1xuICAgIH0sXG4gICAgTkVYVF9DQUNIRV9TT0ZUX1RBR1NfSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQ0FDSEVfU09GVF9UQUdTX0hFQURFUjtcbiAgICB9LFxuICAgIE5FWFRfQ0FDSEVfUkVWQUxJREFURURfVEFHU19IRUFERVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9DQUNIRV9SRVZBTElEQVRFRF9UQUdTX0hFQURFUjtcbiAgICB9LFxuICAgIE5FWFRfQ0FDSEVfUkVWQUxJREFURV9UQUdfVE9LRU5fSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQ0FDSEVfUkVWQUxJREFURV9UQUdfVE9LRU5fSEVBREVSO1xuICAgIH0sXG4gICAgTkVYVF9DQUNIRV9UQUdfTUFYX0xFTkdUSDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0NBQ0hFX1RBR19NQVhfTEVOR1RIO1xuICAgIH0sXG4gICAgTkVYVF9DQUNIRV9TT0ZUX1RBR19NQVhfTEVOR1RIOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQ0FDSEVfU09GVF9UQUdfTUFYX0xFTkdUSDtcbiAgICB9LFxuICAgIE5FWFRfQ0FDSEVfSU1QTElDSVRfVEFHX0lEOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQ0FDSEVfSU1QTElDSVRfVEFHX0lEO1xuICAgIH0sXG4gICAgQ0FDSEVfT05FX1lFQVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ0FDSEVfT05FX1lFQVI7XG4gICAgfSxcbiAgICBNSURETEVXQVJFX0ZJTEVOQU1FOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE1JRERMRVdBUkVfRklMRU5BTUU7XG4gICAgfSxcbiAgICBNSURETEVXQVJFX0xPQ0FUSU9OX1JFR0VYUDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBNSURETEVXQVJFX0xPQ0FUSU9OX1JFR0VYUDtcbiAgICB9LFxuICAgIElOU1RSVU1FTlRBVElPTl9IT09LX0ZJTEVOQU1FOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIElOU1RSVU1FTlRBVElPTl9IT09LX0ZJTEVOQU1FO1xuICAgIH0sXG4gICAgUEFHRVNfRElSX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBBR0VTX0RJUl9BTElBUztcbiAgICB9LFxuICAgIERPVF9ORVhUX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERPVF9ORVhUX0FMSUFTO1xuICAgIH0sXG4gICAgUk9PVF9ESVJfQUxJQVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUk9PVF9ESVJfQUxJQVM7XG4gICAgfSxcbiAgICBBUFBfRElSX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFQUF9ESVJfQUxJQVM7XG4gICAgfSxcbiAgICBSU0NfTU9EX1JFRl9QUk9YWV9BTElBUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSU0NfTU9EX1JFRl9QUk9YWV9BTElBUztcbiAgICB9LFxuICAgIFJTQ19BQ1RJT05fVkFMSURBVEVfQUxJQVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUlNDX0FDVElPTl9WQUxJREFURV9BTElBUztcbiAgICB9LFxuICAgIFJTQ19BQ1RJT05fUFJPWFlfQUxJQVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUlNDX0FDVElPTl9QUk9YWV9BTElBUztcbiAgICB9LFxuICAgIFJTQ19BQ1RJT05fRU5DUllQVElPTl9BTElBUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSU0NfQUNUSU9OX0VOQ1JZUFRJT05fQUxJQVM7XG4gICAgfSxcbiAgICBSU0NfQUNUSU9OX0NMSUVOVF9XUkFQUEVSX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19BQ1RJT05fQ0xJRU5UX1dSQVBQRVJfQUxJQVM7XG4gICAgfSxcbiAgICBQVUJMSUNfRElSX01JRERMRVdBUkVfQ09ORkxJQ1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUFVCTElDX0RJUl9NSURETEVXQVJFX0NPTkZMSUNUO1xuICAgIH0sXG4gICAgU1NHX0dFVF9JTklUSUFMX1BST1BTX0NPTkZMSUNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNTR19HRVRfSU5JVElBTF9QUk9QU19DT05GTElDVDtcbiAgICB9LFxuICAgIFNFUlZFUl9QUk9QU19HRVRfSU5JVF9QUk9QU19DT05GTElDVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTRVJWRVJfUFJPUFNfR0VUX0lOSVRfUFJPUFNfQ09ORkxJQ1Q7XG4gICAgfSxcbiAgICBTRVJWRVJfUFJPUFNfU1NHX0NPTkZMSUNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNFUlZFUl9QUk9QU19TU0dfQ09ORkxJQ1Q7XG4gICAgfSxcbiAgICBTVEFUSUNfU1RBVFVTX1BBR0VfR0VUX0lOSVRJQUxfUFJPUFNfRVJST1I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU1RBVElDX1NUQVRVU19QQUdFX0dFVF9JTklUSUFMX1BST1BTX0VSUk9SO1xuICAgIH0sXG4gICAgU0VSVkVSX1BST1BTX0VYUE9SVF9FUlJPUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTRVJWRVJfUFJPUFNfRVhQT1JUX0VSUk9SO1xuICAgIH0sXG4gICAgR1NQX05PX1JFVFVSTkVEX1ZBTFVFOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEdTUF9OT19SRVRVUk5FRF9WQUxVRTtcbiAgICB9LFxuICAgIEdTU1BfTk9fUkVUVVJORURfVkFMVUU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gR1NTUF9OT19SRVRVUk5FRF9WQUxVRTtcbiAgICB9LFxuICAgIFVOU1RBQkxFX1JFVkFMSURBVEVfUkVOQU1FX0VSUk9SOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFVOU1RBQkxFX1JFVkFMSURBVEVfUkVOQU1FX0VSUk9SO1xuICAgIH0sXG4gICAgR1NTUF9DT01QT05FTlRfTUVNQkVSX0VSUk9SOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEdTU1BfQ09NUE9ORU5UX01FTUJFUl9FUlJPUjtcbiAgICB9LFxuICAgIE5PTl9TVEFOREFSRF9OT0RFX0VOVjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBOT05fU1RBTkRBUkRfTk9ERV9FTlY7XG4gICAgfSxcbiAgICBTU0dfRkFMTEJBQ0tfRVhQT1JUX0VSUk9SOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNTR19GQUxMQkFDS19FWFBPUlRfRVJST1I7XG4gICAgfSxcbiAgICBFU0xJTlRfREVGQVVMVF9ESVJTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEVTTElOVF9ERUZBVUxUX0RJUlM7XG4gICAgfSxcbiAgICBFU0xJTlRfUFJPTVBUX1ZBTFVFUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBFU0xJTlRfUFJPTVBUX1ZBTFVFUztcbiAgICB9LFxuICAgIFNFUlZFUl9SVU5USU1FOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNFUlZFUl9SVU5USU1FO1xuICAgIH0sXG4gICAgV0VCUEFDS19MQVlFUlM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gV0VCUEFDS19MQVlFUlM7XG4gICAgfSxcbiAgICBXRUJQQUNLX1JFU09VUkNFX1FVRVJJRVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gV0VCUEFDS19SRVNPVVJDRV9RVUVSSUVTO1xuICAgIH1cbn0pO1xuY29uc3QgTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVggPSBcIm54dFBcIjtcbmNvbnN0IFBSRVJFTkRFUl9SRVZBTElEQVRFX0hFQURFUiA9IFwieC1wcmVyZW5kZXItcmV2YWxpZGF0ZVwiO1xuY29uc3QgUFJFUkVOREVSX1JFVkFMSURBVEVfT05MWV9HRU5FUkFURURfSEVBREVSID0gXCJ4LXByZXJlbmRlci1yZXZhbGlkYXRlLWlmLWdlbmVyYXRlZFwiO1xuY29uc3QgUlNDX1BSRUZFVENIX1NVRkZJWCA9IFwiLnByZWZldGNoLnJzY1wiO1xuY29uc3QgUlNDX1NVRkZJWCA9IFwiLnJzY1wiO1xuY29uc3QgTkVYVF9EQVRBX1NVRkZJWCA9IFwiLmpzb25cIjtcbmNvbnN0IE5FWFRfTUVUQV9TVUZGSVggPSBcIi5tZXRhXCI7XG5jb25zdCBORVhUX0JPRFlfU1VGRklYID0gXCIuYm9keVwiO1xuY29uc3QgTkVYVF9DQUNIRV9UQUdTX0hFQURFUiA9IFwieC1uZXh0LWNhY2hlLXRhZ3NcIjtcbmNvbnN0IE5FWFRfQ0FDSEVfU09GVF9UQUdTX0hFQURFUiA9IFwieC1uZXh0LWNhY2hlLXNvZnQtdGFnc1wiO1xuY29uc3QgTkVYVF9DQUNIRV9SRVZBTElEQVRFRF9UQUdTX0hFQURFUiA9IFwieC1uZXh0LXJldmFsaWRhdGVkLXRhZ3NcIjtcbmNvbnN0IE5FWFRfQ0FDSEVfUkVWQUxJREFURV9UQUdfVE9LRU5fSEVBREVSID0gXCJ4LW5leHQtcmV2YWxpZGF0ZS10YWctdG9rZW5cIjtcbmNvbnN0IE5FWFRfQ0FDSEVfVEFHX01BWF9MRU5HVEggPSAyNTY7XG5jb25zdCBORVhUX0NBQ0hFX1NPRlRfVEFHX01BWF9MRU5HVEggPSAxMDI0O1xuY29uc3QgTkVYVF9DQUNIRV9JTVBMSUNJVF9UQUdfSUQgPSBcIl9OX1RfXCI7XG5jb25zdCBDQUNIRV9PTkVfWUVBUiA9IDMxNTM2MDAwO1xuY29uc3QgTUlERExFV0FSRV9GSUxFTkFNRSA9IFwibWlkZGxld2FyZVwiO1xuY29uc3QgTUlERExFV0FSRV9MT0NBVElPTl9SRUdFWFAgPSBgKD86c3JjLyk/JHtNSURETEVXQVJFX0ZJTEVOQU1FfWA7XG5jb25zdCBJTlNUUlVNRU5UQVRJT05fSE9PS19GSUxFTkFNRSA9IFwiaW5zdHJ1bWVudGF0aW9uXCI7XG5jb25zdCBQQUdFU19ESVJfQUxJQVMgPSBcInByaXZhdGUtbmV4dC1wYWdlc1wiO1xuY29uc3QgRE9UX05FWFRfQUxJQVMgPSBcInByaXZhdGUtZG90LW5leHRcIjtcbmNvbnN0IFJPT1RfRElSX0FMSUFTID0gXCJwcml2YXRlLW5leHQtcm9vdC1kaXJcIjtcbmNvbnN0IEFQUF9ESVJfQUxJQVMgPSBcInByaXZhdGUtbmV4dC1hcHAtZGlyXCI7XG5jb25zdCBSU0NfTU9EX1JFRl9QUk9YWV9BTElBUyA9IFwicHJpdmF0ZS1uZXh0LXJzYy1tb2QtcmVmLXByb3h5XCI7XG5jb25zdCBSU0NfQUNUSU9OX1ZBTElEQVRFX0FMSUFTID0gXCJwcml2YXRlLW5leHQtcnNjLWFjdGlvbi12YWxpZGF0ZVwiO1xuY29uc3QgUlNDX0FDVElPTl9QUk9YWV9BTElBUyA9IFwicHJpdmF0ZS1uZXh0LXJzYy1hY3Rpb24tcHJveHlcIjtcbmNvbnN0IFJTQ19BQ1RJT05fRU5DUllQVElPTl9BTElBUyA9IFwicHJpdmF0ZS1uZXh0LXJzYy1hY3Rpb24tZW5jcnlwdGlvblwiO1xuY29uc3QgUlNDX0FDVElPTl9DTElFTlRfV1JBUFBFUl9BTElBUyA9IFwicHJpdmF0ZS1uZXh0LXJzYy1hY3Rpb24tY2xpZW50LXdyYXBwZXJcIjtcbmNvbnN0IFBVQkxJQ19ESVJfTUlERExFV0FSRV9DT05GTElDVCA9IGBZb3UgY2FuIG5vdCBoYXZlIGEgJ19uZXh0JyBmb2xkZXIgaW5zaWRlIG9mIHlvdXIgcHVibGljIGZvbGRlci4gVGhpcyBjb25mbGljdHMgd2l0aCB0aGUgaW50ZXJuYWwgJy9fbmV4dCcgcm91dGUuIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3B1YmxpYy1uZXh0LWZvbGRlci1jb25mbGljdGA7XG5jb25zdCBTU0dfR0VUX0lOSVRJQUxfUFJPUFNfQ09ORkxJQ1QgPSBgWW91IGNhbiBub3QgdXNlIGdldEluaXRpYWxQcm9wcyB3aXRoIGdldFN0YXRpY1Byb3BzLiBUbyB1c2UgU1NHLCBwbGVhc2UgcmVtb3ZlIHlvdXIgZ2V0SW5pdGlhbFByb3BzYDtcbmNvbnN0IFNFUlZFUl9QUk9QU19HRVRfSU5JVF9QUk9QU19DT05GTElDVCA9IGBZb3UgY2FuIG5vdCB1c2UgZ2V0SW5pdGlhbFByb3BzIHdpdGggZ2V0U2VydmVyU2lkZVByb3BzLiBQbGVhc2UgcmVtb3ZlIGdldEluaXRpYWxQcm9wcy5gO1xuY29uc3QgU0VSVkVSX1BST1BTX1NTR19DT05GTElDVCA9IGBZb3UgY2FuIG5vdCB1c2UgZ2V0U3RhdGljUHJvcHMgb3IgZ2V0U3RhdGljUGF0aHMgd2l0aCBnZXRTZXJ2ZXJTaWRlUHJvcHMuIFRvIHVzZSBTU0csIHBsZWFzZSByZW1vdmUgZ2V0U2VydmVyU2lkZVByb3BzYDtcbmNvbnN0IFNUQVRJQ19TVEFUVVNfUEFHRV9HRVRfSU5JVElBTF9QUk9QU19FUlJPUiA9IGBjYW4gbm90IGhhdmUgZ2V0SW5pdGlhbFByb3BzL2dldFNlcnZlclNpZGVQcm9wcywgaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvNDA0LWdldC1pbml0aWFsLXByb3BzYDtcbmNvbnN0IFNFUlZFUl9QUk9QU19FWFBPUlRfRVJST1IgPSBgcGFnZXMgd2l0aCBcXGBnZXRTZXJ2ZXJTaWRlUHJvcHNcXGAgY2FuIG5vdCBiZSBleHBvcnRlZC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9nc3NwLWV4cG9ydGA7XG5jb25zdCBHU1BfTk9fUkVUVVJORURfVkFMVUUgPSBcIllvdXIgYGdldFN0YXRpY1Byb3BzYCBmdW5jdGlvbiBkaWQgbm90IHJldHVybiBhbiBvYmplY3QuIERpZCB5b3UgZm9yZ2V0IHRvIGFkZCBhIGByZXR1cm5gP1wiO1xuY29uc3QgR1NTUF9OT19SRVRVUk5FRF9WQUxVRSA9IFwiWW91ciBgZ2V0U2VydmVyU2lkZVByb3BzYCBmdW5jdGlvbiBkaWQgbm90IHJldHVybiBhbiBvYmplY3QuIERpZCB5b3UgZm9yZ2V0IHRvIGFkZCBhIGByZXR1cm5gP1wiO1xuY29uc3QgVU5TVEFCTEVfUkVWQUxJREFURV9SRU5BTUVfRVJST1IgPSBcIlRoZSBgdW5zdGFibGVfcmV2YWxpZGF0ZWAgcHJvcGVydHkgaXMgYXZhaWxhYmxlIGZvciBnZW5lcmFsIHVzZS5cXG5cIiArIFwiUGxlYXNlIHVzZSBgcmV2YWxpZGF0ZWAgaW5zdGVhZC5cIjtcbmNvbnN0IEdTU1BfQ09NUE9ORU5UX01FTUJFUl9FUlJPUiA9IGBjYW4gbm90IGJlIGF0dGFjaGVkIHRvIGEgcGFnZSdzIGNvbXBvbmVudCBhbmQgbXVzdCBiZSBleHBvcnRlZCBmcm9tIHRoZSBwYWdlLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2dzc3AtY29tcG9uZW50LW1lbWJlcmA7XG5jb25zdCBOT05fU1RBTkRBUkRfTk9ERV9FTlYgPSBgWW91IGFyZSB1c2luZyBhIG5vbi1zdGFuZGFyZCBcIk5PREVfRU5WXCIgdmFsdWUgaW4geW91ciBlbnZpcm9ubWVudC4gVGhpcyBjcmVhdGVzIGluY29uc2lzdGVuY2llcyBpbiB0aGUgcHJvamVjdCBhbmQgaXMgc3Ryb25nbHkgYWR2aXNlZCBhZ2FpbnN0LiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25vbi1zdGFuZGFyZC1ub2RlLWVudmA7XG5jb25zdCBTU0dfRkFMTEJBQ0tfRVhQT1JUX0VSUk9SID0gYFBhZ2VzIHdpdGggXFxgZmFsbGJhY2tcXGAgZW5hYmxlZCBpbiBcXGBnZXRTdGF0aWNQYXRoc1xcYCBjYW4gbm90IGJlIGV4cG9ydGVkLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3NzZy1mYWxsYmFjay10cnVlLWV4cG9ydGA7XG5jb25zdCBFU0xJTlRfREVGQVVMVF9ESVJTID0gW1xuICAgIFwiYXBwXCIsXG4gICAgXCJwYWdlc1wiLFxuICAgIFwiY29tcG9uZW50c1wiLFxuICAgIFwibGliXCIsXG4gICAgXCJzcmNcIlxuXTtcbmNvbnN0IEVTTElOVF9QUk9NUFRfVkFMVUVTID0gW1xuICAgIHtcbiAgICAgICAgdGl0bGU6IFwiU3RyaWN0XCIsXG4gICAgICAgIHJlY29tbWVuZGVkOiB0cnVlLFxuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICAgIGV4dGVuZHM6IFwibmV4dC9jb3JlLXdlYi12aXRhbHNcIlxuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRpdGxlOiBcIkJhc2VcIixcbiAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgICBleHRlbmRzOiBcIm5leHRcIlxuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRpdGxlOiBcIkNhbmNlbFwiLFxuICAgICAgICBjb25maWc6IG51bGxcbiAgICB9XG5dO1xuY29uc3QgU0VSVkVSX1JVTlRJTUUgPSB7XG4gICAgZWRnZTogXCJlZGdlXCIsXG4gICAgZXhwZXJpbWVudGFsRWRnZTogXCJleHBlcmltZW50YWwtZWRnZVwiLFxuICAgIG5vZGVqczogXCJub2RlanNcIlxufTtcbi8qKlxuICogVGhlIG5hbWVzIG9mIHRoZSB3ZWJwYWNrIGxheWVycy4gVGhlc2UgbGF5ZXJzIGFyZSB0aGUgcHJpbWl0aXZlcyBmb3IgdGhlXG4gKiB3ZWJwYWNrIGNodW5rcy5cbiAqLyBjb25zdCBXRUJQQUNLX0xBWUVSU19OQU1FUyA9IHtcbiAgICAvKipcbiAgICogVGhlIGxheWVyIGZvciB0aGUgc2hhcmVkIGNvZGUgYmV0d2VlbiB0aGUgY2xpZW50IGFuZCBzZXJ2ZXIgYnVuZGxlcy5cbiAgICovIHNoYXJlZDogXCJzaGFyZWRcIixcbiAgICAvKipcbiAgICogUmVhY3QgU2VydmVyIENvbXBvbmVudHMgbGF5ZXIgKHJzYykuXG4gICAqLyByZWFjdFNlcnZlckNvbXBvbmVudHM6IFwicnNjXCIsXG4gICAgLyoqXG4gICAqIFNlcnZlciBTaWRlIFJlbmRlcmluZyBsYXllciBmb3IgYXBwIChzc3IpLlxuICAgKi8gc2VydmVyU2lkZVJlbmRlcmluZzogXCJzc3JcIixcbiAgICAvKipcbiAgICogVGhlIGJyb3dzZXIgY2xpZW50IGJ1bmRsZSBsYXllciBmb3IgYWN0aW9ucy5cbiAgICovIGFjdGlvbkJyb3dzZXI6IFwiYWN0aW9uLWJyb3dzZXJcIixcbiAgICAvKipcbiAgICogVGhlIGxheWVyIGZvciB0aGUgQVBJIHJvdXRlcy5cbiAgICovIGFwaTogXCJhcGlcIixcbiAgICAvKipcbiAgICogVGhlIGxheWVyIGZvciB0aGUgbWlkZGxld2FyZSBjb2RlLlxuICAgKi8gbWlkZGxld2FyZTogXCJtaWRkbGV3YXJlXCIsXG4gICAgLyoqXG4gICAqIFRoZSBsYXllciBmb3IgYXNzZXRzIG9uIHRoZSBlZGdlLlxuICAgKi8gZWRnZUFzc2V0OiBcImVkZ2UtYXNzZXRcIixcbiAgICAvKipcbiAgICogVGhlIGJyb3dzZXIgY2xpZW50IGJ1bmRsZSBsYXllciBmb3IgQXBwIGRpcmVjdG9yeS5cbiAgICovIGFwcFBhZ2VzQnJvd3NlcjogXCJhcHAtcGFnZXMtYnJvd3NlclwiLFxuICAgIC8qKlxuICAgKiBUaGUgc2VydmVyIGJ1bmRsZSBsYXllciBmb3IgbWV0YWRhdGEgcm91dGVzLlxuICAgKi8gYXBwTWV0YWRhdGFSb3V0ZTogXCJhcHAtbWV0YWRhdGEtcm91dGVcIixcbiAgICAvKipcbiAgICogVGhlIGxheWVyIGZvciB0aGUgc2VydmVyIGJ1bmRsZSBmb3IgQXBwIFJvdXRlIGhhbmRsZXJzLlxuICAgKi8gYXBwUm91dGVIYW5kbGVyOiBcImFwcC1yb3V0ZS1oYW5kbGVyXCJcbn07XG5jb25zdCBXRUJQQUNLX0xBWUVSUyA9IHtcbiAgICAuLi5XRUJQQUNLX0xBWUVSU19OQU1FUyxcbiAgICBHUk9VUDoge1xuICAgICAgICBzZXJ2ZXI6IFtcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLnJlYWN0U2VydmVyQ29tcG9uZW50cyxcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLmFjdGlvbkJyb3dzZXIsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5hcHBNZXRhZGF0YVJvdXRlLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuYXBwUm91dGVIYW5kbGVyXG4gICAgICAgIF0sXG4gICAgICAgIG5vbkNsaWVudFNlcnZlclRhcmdldDogW1xuICAgICAgICAgICAgLy8gcGx1cyBtaWRkbGV3YXJlIGFuZCBwYWdlcyBhcGlcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLm1pZGRsZXdhcmUsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5hcGlcbiAgICAgICAgXSxcbiAgICAgICAgYXBwOiBbXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5yZWFjdFNlcnZlckNvbXBvbmVudHMsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5hY3Rpb25Ccm93c2VyLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuYXBwTWV0YWRhdGFSb3V0ZSxcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLmFwcFJvdXRlSGFuZGxlcixcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLnNlcnZlclNpZGVSZW5kZXJpbmcsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5hcHBQYWdlc0Jyb3dzZXIsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5zaGFyZWRcbiAgICAgICAgXVxuICAgIH1cbn07XG5jb25zdCBXRUJQQUNLX1JFU09VUkNFX1FVRVJJRVMgPSB7XG4gICAgZWRnZVNTUkVudHJ5OiBcIl9fbmV4dF9lZGdlX3Nzcl9lbnRyeV9fXCIsXG4gICAgbWV0YWRhdGE6IFwiX19uZXh0X21ldGFkYXRhX19cIixcbiAgICBtZXRhZGF0YVJvdXRlOiBcIl9fbmV4dF9tZXRhZGF0YV9yb3V0ZV9fXCIsXG4gICAgbWV0YWRhdGFJbWFnZU1ldGE6IFwiX19uZXh0X21ldGFkYXRhX2ltYWdlX21ldGFfX1wiXG59O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25zdGFudHMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVgiLCJQUkVSRU5ERVJfUkVWQUxJREFURV9IRUFERVIiLCJQUkVSRU5ERVJfUkVWQUxJREFURV9PTkxZX0dFTkVSQVRFRF9IRUFERVIiLCJSU0NfUFJFRkVUQ0hfU1VGRklYIiwiUlNDX1NVRkZJWCIsIk5FWFRfREFUQV9TVUZGSVgiLCJORVhUX01FVEFfU1VGRklYIiwiTkVYVF9CT0RZX1NVRkZJWCIsIk5FWFRfQ0FDSEVfVEFHU19IRUFERVIiLCJORVhUX0NBQ0hFX1NPRlRfVEFHU19IRUFERVIiLCJORVhUX0NBQ0hFX1JFVkFMSURBVEVEX1RBR1NfSEVBREVSIiwiTkVYVF9DQUNIRV9SRVZBTElEQVRFX1RBR19UT0tFTl9IRUFERVIiLCJORVhUX0NBQ0hFX1RBR19NQVhfTEVOR1RIIiwiTkVYVF9DQUNIRV9TT0ZUX1RBR19NQVhfTEVOR1RIIiwiTkVYVF9DQUNIRV9JTVBMSUNJVF9UQUdfSUQiLCJDQUNIRV9PTkVfWUVBUiIsIk1JRERMRVdBUkVfRklMRU5BTUUiLCJNSURETEVXQVJFX0xPQ0FUSU9OX1JFR0VYUCIsIklOU1RSVU1FTlRBVElPTl9IT09LX0ZJTEVOQU1FIiwiUEFHRVNfRElSX0FMSUFTIiwiRE9UX05FWFRfQUxJQVMiLCJST09UX0RJUl9BTElBUyIsIkFQUF9ESVJfQUxJQVMiLCJSU0NfTU9EX1JFRl9QUk9YWV9BTElBUyIsIlJTQ19BQ1RJT05fVkFMSURBVEVfQUxJQVMiLCJSU0NfQUNUSU9OX1BST1hZX0FMSUFTIiwiUlNDX0FDVElPTl9FTkNSWVBUSU9OX0FMSUFTIiwiUlNDX0FDVElPTl9DTElFTlRfV1JBUFBFUl9BTElBUyIsIlBVQkxJQ19ESVJfTUlERExFV0FSRV9DT05GTElDVCIsIlNTR19HRVRfSU5JVElBTF9QUk9QU19DT05GTElDVCIsIlNFUlZFUl9QUk9QU19HRVRfSU5JVF9QUk9QU19DT05GTElDVCIsIlNFUlZFUl9QUk9QU19TU0dfQ09ORkxJQ1QiLCJTVEFUSUNfU1RBVFVTX1BBR0VfR0VUX0lOSVRJQUxfUFJPUFNfRVJST1IiLCJTRVJWRVJfUFJPUFNfRVhQT1JUX0VSUk9SIiwiR1NQX05PX1JFVFVSTkVEX1ZBTFVFIiwiR1NTUF9OT19SRVRVUk5FRF9WQUxVRSIsIlVOU1RBQkxFX1JFVkFMSURBVEVfUkVOQU1FX0VSUk9SIiwiR1NTUF9DT01QT05FTlRfTUVNQkVSX0VSUk9SIiwiTk9OX1NUQU5EQVJEX05PREVfRU5WIiwiU1NHX0ZBTExCQUNLX0VYUE9SVF9FUlJPUiIsIkVTTElOVF9ERUZBVUxUX0RJUlMiLCJFU0xJTlRfUFJPTVBUX1ZBTFVFUyIsIlNFUlZFUl9SVU5USU1FIiwiV0VCUEFDS19MQVlFUlMiLCJXRUJQQUNLX1JFU09VUkNFX1FVRVJJRVMiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJ0aXRsZSIsInJlY29tbWVuZGVkIiwiY29uZmlnIiwiZXh0ZW5kcyIsImVkZ2UiLCJleHBlcmltZW50YWxFZGdlIiwibm9kZWpzIiwiV0VCUEFDS19MQVlFUlNfTkFNRVMiLCJzaGFyZWQiLCJyZWFjdFNlcnZlckNvbXBvbmVudHMiLCJzZXJ2ZXJTaWRlUmVuZGVyaW5nIiwiYWN0aW9uQnJvd3NlciIsImFwaSIsIm1pZGRsZXdhcmUiLCJlZGdlQXNzZXQiLCJhcHBQYWdlc0Jyb3dzZXIiLCJhcHBNZXRhZGF0YVJvdXRlIiwiYXBwUm91dGVIYW5kbGVyIiwiR1JPVVAiLCJzZXJ2ZXIiLCJub25DbGllbnRTZXJ2ZXJUYXJnZXQiLCJhcHAiLCJlZGdlU1NSRW50cnkiLCJtZXRhZGF0YSIsIm1ldGFkYXRhUm91dGUiLCJtZXRhZGF0YUltYWdlTWV0YSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/lib/constants.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/lib/constants.js": /*!*************************************************!*\ !*** ./node_modules/next/dist/lib/constants.js ***! \*************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n NEXT_QUERY_PARAM_PREFIX: function() {\n return NEXT_QUERY_PARAM_PREFIX;\n },\n PRERENDER_REVALIDATE_HEADER: function() {\n return PRERENDER_REVALIDATE_HEADER;\n },\n PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER: function() {\n return PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER;\n },\n RSC_PREFETCH_SUFFIX: function() {\n return RSC_PREFETCH_SUFFIX;\n },\n RSC_SUFFIX: function() {\n return RSC_SUFFIX;\n },\n NEXT_DATA_SUFFIX: function() {\n return NEXT_DATA_SUFFIX;\n },\n NEXT_META_SUFFIX: function() {\n return NEXT_META_SUFFIX;\n },\n NEXT_BODY_SUFFIX: function() {\n return NEXT_BODY_SUFFIX;\n },\n NEXT_CACHE_TAGS_HEADER: function() {\n return NEXT_CACHE_TAGS_HEADER;\n },\n NEXT_CACHE_SOFT_TAGS_HEADER: function() {\n return NEXT_CACHE_SOFT_TAGS_HEADER;\n },\n NEXT_CACHE_REVALIDATED_TAGS_HEADER: function() {\n return NEXT_CACHE_REVALIDATED_TAGS_HEADER;\n },\n NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER: function() {\n return NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER;\n },\n NEXT_CACHE_TAG_MAX_LENGTH: function() {\n return NEXT_CACHE_TAG_MAX_LENGTH;\n },\n NEXT_CACHE_SOFT_TAG_MAX_LENGTH: function() {\n return NEXT_CACHE_SOFT_TAG_MAX_LENGTH;\n },\n NEXT_CACHE_IMPLICIT_TAG_ID: function() {\n return NEXT_CACHE_IMPLICIT_TAG_ID;\n },\n CACHE_ONE_YEAR: function() {\n return CACHE_ONE_YEAR;\n },\n MIDDLEWARE_FILENAME: function() {\n return MIDDLEWARE_FILENAME;\n },\n MIDDLEWARE_LOCATION_REGEXP: function() {\n return MIDDLEWARE_LOCATION_REGEXP;\n },\n INSTRUMENTATION_HOOK_FILENAME: function() {\n return INSTRUMENTATION_HOOK_FILENAME;\n },\n PAGES_DIR_ALIAS: function() {\n return PAGES_DIR_ALIAS;\n },\n DOT_NEXT_ALIAS: function() {\n return DOT_NEXT_ALIAS;\n },\n ROOT_DIR_ALIAS: function() {\n return ROOT_DIR_ALIAS;\n },\n APP_DIR_ALIAS: function() {\n return APP_DIR_ALIAS;\n },\n RSC_MOD_REF_PROXY_ALIAS: function() {\n return RSC_MOD_REF_PROXY_ALIAS;\n },\n RSC_ACTION_VALIDATE_ALIAS: function() {\n return RSC_ACTION_VALIDATE_ALIAS;\n },\n RSC_ACTION_PROXY_ALIAS: function() {\n return RSC_ACTION_PROXY_ALIAS;\n },\n RSC_ACTION_ENCRYPTION_ALIAS: function() {\n return RSC_ACTION_ENCRYPTION_ALIAS;\n },\n RSC_ACTION_CLIENT_WRAPPER_ALIAS: function() {\n return RSC_ACTION_CLIENT_WRAPPER_ALIAS;\n },\n PUBLIC_DIR_MIDDLEWARE_CONFLICT: function() {\n return PUBLIC_DIR_MIDDLEWARE_CONFLICT;\n },\n SSG_GET_INITIAL_PROPS_CONFLICT: function() {\n return SSG_GET_INITIAL_PROPS_CONFLICT;\n },\n SERVER_PROPS_GET_INIT_PROPS_CONFLICT: function() {\n return SERVER_PROPS_GET_INIT_PROPS_CONFLICT;\n },\n SERVER_PROPS_SSG_CONFLICT: function() {\n return SERVER_PROPS_SSG_CONFLICT;\n },\n STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR: function() {\n return STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR;\n },\n SERVER_PROPS_EXPORT_ERROR: function() {\n return SERVER_PROPS_EXPORT_ERROR;\n },\n GSP_NO_RETURNED_VALUE: function() {\n return GSP_NO_RETURNED_VALUE;\n },\n GSSP_NO_RETURNED_VALUE: function() {\n return GSSP_NO_RETURNED_VALUE;\n },\n UNSTABLE_REVALIDATE_RENAME_ERROR: function() {\n return UNSTABLE_REVALIDATE_RENAME_ERROR;\n },\n GSSP_COMPONENT_MEMBER_ERROR: function() {\n return GSSP_COMPONENT_MEMBER_ERROR;\n },\n NON_STANDARD_NODE_ENV: function() {\n return NON_STANDARD_NODE_ENV;\n },\n SSG_FALLBACK_EXPORT_ERROR: function() {\n return SSG_FALLBACK_EXPORT_ERROR;\n },\n ESLINT_DEFAULT_DIRS: function() {\n return ESLINT_DEFAULT_DIRS;\n },\n ESLINT_PROMPT_VALUES: function() {\n return ESLINT_PROMPT_VALUES;\n },\n SERVER_RUNTIME: function() {\n return SERVER_RUNTIME;\n },\n WEBPACK_LAYERS: function() {\n return WEBPACK_LAYERS;\n },\n WEBPACK_RESOURCE_QUERIES: function() {\n return WEBPACK_RESOURCE_QUERIES;\n }\n});\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst PRERENDER_REVALIDATE_HEADER = \"x-prerender-revalidate\";\nconst PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER = \"x-prerender-revalidate-if-generated\";\nconst RSC_PREFETCH_SUFFIX = \".prefetch.rsc\";\nconst RSC_SUFFIX = \".rsc\";\nconst NEXT_DATA_SUFFIX = \".json\";\nconst NEXT_META_SUFFIX = \".meta\";\nconst NEXT_BODY_SUFFIX = \".body\";\nconst NEXT_CACHE_TAGS_HEADER = \"x-next-cache-tags\";\nconst NEXT_CACHE_SOFT_TAGS_HEADER = \"x-next-cache-soft-tags\";\nconst NEXT_CACHE_REVALIDATED_TAGS_HEADER = \"x-next-revalidated-tags\";\nconst NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER = \"x-next-revalidate-tag-token\";\nconst NEXT_CACHE_TAG_MAX_LENGTH = 256;\nconst NEXT_CACHE_SOFT_TAG_MAX_LENGTH = 1024;\nconst NEXT_CACHE_IMPLICIT_TAG_ID = \"_N_T_\";\nconst CACHE_ONE_YEAR = 31536000;\nconst MIDDLEWARE_FILENAME = \"middleware\";\nconst MIDDLEWARE_LOCATION_REGEXP = `(?:src/)?${MIDDLEWARE_FILENAME}`;\nconst INSTRUMENTATION_HOOK_FILENAME = \"instrumentation\";\nconst PAGES_DIR_ALIAS = \"private-next-pages\";\nconst DOT_NEXT_ALIAS = \"private-dot-next\";\nconst ROOT_DIR_ALIAS = \"private-next-root-dir\";\nconst APP_DIR_ALIAS = \"private-next-app-dir\";\nconst RSC_MOD_REF_PROXY_ALIAS = \"next/dist/build/webpack/loaders/next-flight-loader/module-proxy\";\nconst RSC_ACTION_VALIDATE_ALIAS = \"private-next-rsc-action-validate\";\nconst RSC_ACTION_PROXY_ALIAS = \"private-next-rsc-action-proxy\";\nconst RSC_ACTION_ENCRYPTION_ALIAS = \"private-next-rsc-action-encryption\";\nconst RSC_ACTION_CLIENT_WRAPPER_ALIAS = \"private-next-rsc-action-client-wrapper\";\nconst PUBLIC_DIR_MIDDLEWARE_CONFLICT = `You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict`;\nconst SSG_GET_INITIAL_PROPS_CONFLICT = `You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps`;\nconst SERVER_PROPS_GET_INIT_PROPS_CONFLICT = `You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.`;\nconst SERVER_PROPS_SSG_CONFLICT = `You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps`;\nconst STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR = `can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props`;\nconst SERVER_PROPS_EXPORT_ERROR = `pages with \\`getServerSideProps\\` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export`;\nconst GSP_NO_RETURNED_VALUE = \"Your `getStaticProps` function did not return an object. Did you forget to add a `return`?\";\nconst GSSP_NO_RETURNED_VALUE = \"Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?\";\nconst UNSTABLE_REVALIDATE_RENAME_ERROR = \"The `unstable_revalidate` property is available for general use.\\n\" + \"Please use `revalidate` instead.\";\nconst GSSP_COMPONENT_MEMBER_ERROR = `can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member`;\nconst NON_STANDARD_NODE_ENV = `You are using a non-standard \"NODE_ENV\" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env`;\nconst SSG_FALLBACK_EXPORT_ERROR = `Pages with \\`fallback\\` enabled in \\`getStaticPaths\\` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export`;\nconst ESLINT_DEFAULT_DIRS = [\n \"app\",\n \"pages\",\n \"components\",\n \"lib\",\n \"src\"\n];\nconst ESLINT_PROMPT_VALUES = [\n {\n title: \"Strict\",\n recommended: true,\n config: {\n extends: \"next/core-web-vitals\"\n }\n },\n {\n title: \"Base\",\n config: {\n extends: \"next\"\n }\n },\n {\n title: \"Cancel\",\n config: null\n }\n];\nconst SERVER_RUNTIME = {\n edge: \"edge\",\n experimentalEdge: \"experimental-edge\",\n nodejs: \"nodejs\"\n};\n/**\n * The names of the webpack layers. These layers are the primitives for the\n * webpack chunks.\n */ const WEBPACK_LAYERS_NAMES = {\n /**\n * The layer for the shared code between the client and server bundles.\n */ shared: \"shared\",\n /**\n * React Server Components layer (rsc).\n */ reactServerComponents: \"rsc\",\n /**\n * Server Side Rendering layer for app (ssr).\n */ serverSideRendering: \"ssr\",\n /**\n * The browser client bundle layer for actions.\n */ actionBrowser: \"action-browser\",\n /**\n * The layer for the API routes.\n */ api: \"api\",\n /**\n * The layer for the middleware code.\n */ middleware: \"middleware\",\n /**\n * The layer for assets on the edge.\n */ edgeAsset: \"edge-asset\",\n /**\n * The browser client bundle layer for App directory.\n */ appPagesBrowser: \"app-pages-browser\",\n /**\n * The server bundle layer for metadata routes.\n */ appMetadataRoute: \"app-metadata-route\",\n /**\n * The layer for the server bundle for App Route handlers.\n */ appRouteHandler: \"app-route-handler\"\n};\nconst WEBPACK_LAYERS = {\n ...WEBPACK_LAYERS_NAMES,\n GROUP: {\n server: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.appMetadataRoute,\n WEBPACK_LAYERS_NAMES.appRouteHandler\n ],\n nonClientServerTarget: [\n // plus middleware and pages api\n WEBPACK_LAYERS_NAMES.middleware,\n WEBPACK_LAYERS_NAMES.api\n ],\n app: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.appMetadataRoute,\n WEBPACK_LAYERS_NAMES.appRouteHandler,\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser,\n WEBPACK_LAYERS_NAMES.shared\n ]\n }\n};\nconst WEBPACK_RESOURCE_QUERIES = {\n edgeSSREntry: \"__next_edge_ssr_entry__\",\n metadata: \"__next_metadata__\",\n metadataRoute: \"__next_metadata_route__\",\n metadataImageMeta: \"__next_metadata_image_meta__\"\n}; //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9jb25zdGFudHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0E4Q047QUFDQSxTQUFTOEMsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSXBELE9BQU9DLGNBQWMsQ0FBQ2tELFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUWhELFNBQVM7SUFDYkcseUJBQXlCO1FBQ3JCLE9BQU9BO0lBQ1g7SUFDQUMsNkJBQTZCO1FBQ3pCLE9BQU9BO0lBQ1g7SUFDQUMsNENBQTRDO1FBQ3hDLE9BQU9BO0lBQ1g7SUFDQUMscUJBQXFCO1FBQ2pCLE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtJQUNBQyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0lBQ0FDLGtCQUFrQjtRQUNkLE9BQU9BO0lBQ1g7SUFDQUMsd0JBQXdCO1FBQ3BCLE9BQU9BO0lBQ1g7SUFDQUMsNkJBQTZCO1FBQ3pCLE9BQU9BO0lBQ1g7SUFDQUMsb0NBQW9DO1FBQ2hDLE9BQU9BO0lBQ1g7SUFDQUMsd0NBQXdDO1FBQ3BDLE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9BO0lBQ1g7SUFDQUMsZ0NBQWdDO1FBQzVCLE9BQU9BO0lBQ1g7SUFDQUMsNEJBQTRCO1FBQ3hCLE9BQU9BO0lBQ1g7SUFDQUMsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtJQUNBQyw0QkFBNEI7UUFDeEIsT0FBT0E7SUFDWDtJQUNBQywrQkFBK0I7UUFDM0IsT0FBT0E7SUFDWDtJQUNBQyxpQkFBaUI7UUFDYixPQUFPQTtJ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bUI7QUFDdkIsR0FFQSxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9jb25zdGFudHMuanM/ODFjYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIE5FWFRfUVVFUllfUEFSQU1fUFJFRklYOiBudWxsLFxuICAgIFBSRVJFTkRFUl9SRVZBTElEQVRFX0hFQURFUjogbnVsbCxcbiAgICBQUkVSRU5ERVJfUkVWQUxJREFURV9PTkxZX0dFTkVSQVRFRF9IRUFERVI6IG51bGwsXG4gICAgUlNDX1BSRUZFVENIX1NVRkZJWDogbnVsbCxcbiAgICBSU0NfU1VGRklYOiBudWxsLFxuICAgIE5FWFRfREFUQV9TVUZGSVg6IG51bGwsXG4gICAgTkVYVF9NRVRBX1NVRkZJWDogbnVsbCxcbiAgICBORVhUX0JPRFlfU1VGRklYOiBudWxsLFxuICAgIE5FWFRfQ0FDSEVfVEFHU19IRUFERVI6IG51bGwsXG4gICAgTkVYVF9DQUNIRV9TT0ZUX1RBR1NfSEVBREVSOiBudWxsLFxuICAgIE5FWFRfQ0FDSEVfUkVWQUxJREFURURfVEFHU19IRUFERVI6IG51bGwsXG4gICAgTkVYVF9DQUNIRV9SRVZBTElEQVRFX1RBR19UT0tFTl9IRUFERVI6IG51bGwsXG4gICAgTkVYVF9DQUNIRV9UQUdfTUFYX0xFTkdUSDogbnVsbCxcbiAgICBORVhUX0NBQ0hFX1NPRlRfVEFHX01BWF9MRU5HVEg6IG51bGwsXG4gICAgTkVYVF9DQUNIRV9JTVBMSUNJVF9UQUdfSUQ6IG51bGwsXG4gICAgQ0FDSEVfT05FX1lFQVI6IG51bGwsXG4gICAgTUlERExFV0FSRV9GSUxFTkFNRTogbnVsbCxcbiAgICBNSURETEVXQVJFX0xPQ0FUSU9OX1JFR0VYUDogbnVsbCxcbiAgICBJTlNUUlVNRU5UQVRJT05fSE9PS19GSUxFTkFNRTogbnVsbCxcbiAgICBQQUdFU19ESVJfQUxJQVM6IG51bGwsXG4gICAgRE9UX05FWFRfQUxJQVM6IG51bGwsXG4gICAgUk9PVF9ESVJfQUxJQVM6IG51bGwsXG4gICAgQVBQX0RJUl9BTElBUzogbnVsbCxcbiAgICBSU0NfTU9EX1JFRl9QUk9YWV9BTElBUzogbnVsbCxcbiAgICBSU0NfQUNUSU9OX1ZBTElEQVRFX0FMSUFTOiBudWxsLFxuICAgIFJTQ19BQ1RJT05fUFJPWFlfQUxJQVM6IG51bGwsXG4gICAgUlNDX0FDVElPTl9FTkNSWVBUSU9OX0FMSUFTOiBudWxsLFxuICAgIFJTQ19BQ1RJT05fQ0xJRU5UX1dSQVBQRVJfQUxJQVM6IG51bGwsXG4gICAgUFVCTElDX0RJUl9NSURETEVXQVJFX0NPTkZMSUNUOiBudWxsLFxuICAgIFNTR19HRVRfSU5JVElBTF9QUk9QU19DT05GTElDVDogbnVsbCxcbiAgICBTRVJWRVJfUFJPUFNfR0VUX0lOSVRfUFJPUFNfQ09ORkxJQ1Q6IG51bGwsXG4gICAgU0VSVkVSX1BST1BTX1NTR19DT05GTElDVDogbnVsbCxcbiAgICBTVEFUSUNfU1RBVFVTX1BBR0VfR0VUX0lOSVRJQUxfUFJPUFNfRVJST1I6IG51bGwsXG4gICAgU0VSVkVSX1BST1BTX0VYUE9SVF9FUlJPUjogbnVsbCxcbiAgICBHU1BfTk9fUkVUVVJORURfVkFMVUU6IG51bGwsXG4gICAgR1NTUF9OT19SRVRVUk5FRF9WQUxVRTogbnVsbCxcbiAgICBVTlNUQUJMRV9SRVZBTElEQVRFX1JFTkFNRV9FUlJPUjogbnVsbCxcbiAgICBHU1NQX0NPTVBPTkVOVF9NRU1CRVJfRVJST1I6IG51bGwsXG4gICAgTk9OX1NUQU5EQVJEX05PREVfRU5WOiBudWxsLFxuICAgIFNTR19GQUxMQkFDS19FWFBPUlRfRVJST1I6IG51bGwsXG4gICAgRVNMSU5UX0RFRkFVTFRfRElSUzogbnVsbCxcbiAgICBFU0xJTlRfUFJPTVBUX1ZBTFVFUzogbnVsbCxcbiAgICBTRVJWRVJfUlVOVElNRTogbnVsbCxcbiAgICBXRUJQQUNLX0xBWUVSUzogbnVsbCxcbiAgICBXRUJQQUNLX1JFU09VUkNFX1FVRVJJRVM6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVg7XG4gICAgfSxcbiAgICBQUkVSRU5ERVJfUkVWQUxJREFURV9IRUFERVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUFJFUkVOREVSX1JFVkFMSURBVEVfSEVBREVSO1xuICAgIH0sXG4gICAgUFJFUkVOREVSX1JFVkFMSURBVEVfT05MWV9HRU5FUkFURURfSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBSRVJFTkRFUl9SRVZBTElEQVRFX09OTFlfR0VORVJBVEVEX0hFQURFUjtcbiAgICB9LFxuICAgIFJTQ19QUkVGRVRDSF9TVUZGSVg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUlNDX1BSRUZFVENIX1NVRkZJWDtcbiAgICB9LFxuICAgIFJTQ19TVUZGSVg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUlNDX1NVRkZJWDtcbiAgICB9LFxuICAgIE5FWFRfREFUQV9TVUZGSVg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9EQVRBX1NVRkZJWDtcbiAgICB9LFxuICAgIE5FWFRfTUVUQV9TVUZGSVg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9NRVRBX1NVRkZJWDtcbiAgICB9LFxuICAgIE5FWFRfQk9EWV9TVUZGSVg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9CT0RZX1NVRkZJWDtcbiAgICB9LFxuICAgIE5FWFRfQ0FDSEVfVEFHU19IRUFERVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9DQUNIRV9UQUdTX0hFQURFUjtcbiAgICB9LFxuICAgIE5FWFRfQ0FDSEVfU09GVF9UQUdTX0hFQURFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0NBQ0hFX1NPRlRfVEFHU19IRUFERVI7XG4gICAgfSxcbiAgICBORVhUX0NBQ0hFX1JFVkFMSURBVEVEX1RBR1NfSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQ0FDSEVfUkVWQUxJREFURURfVEFHU19IRUFERVI7XG4gICAgfSxcbiAgICBORVhUX0NBQ0hFX1JFVkFMSURBVEVfVEFHX1RPS0VOX0hFQURFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0NBQ0hFX1JFVkFMSURBVEVfVEFHX1RPS0VOX0hFQURFUjtcbiAgICB9LFxuICAgIE5FWFRfQ0FDSEVfVEFHX01BWF9MRU5HVEg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9DQUNIRV9UQUdfTUFYX0xFTkdUSDtcbiAgICB9LFxuICAgIE5FWFRfQ0FDSEVfU09GVF9UQUdfTUFYX0xFTkdUSDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0NBQ0hFX1NPRlRfVEFHX01BWF9MRU5HVEg7XG4gICAgfSxcbiAgICBORVhUX0NBQ0hFX0lNUExJQ0lUX1RBR19JRDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0NBQ0hFX0lNUExJQ0lUX1RBR19JRDtcbiAgICB9LFxuICAgIENBQ0hFX09ORV9ZRUFSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENBQ0hFX09ORV9ZRUFSO1xuICAgIH0sXG4gICAgTUlERExFV0FSRV9GSUxFTkFNRTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBNSURETEVXQVJFX0ZJTEVOQU1FO1xuICAgIH0sXG4gICAgTUlERExFV0FSRV9MT0NBVElPTl9SRUdFWFA6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTUlERExFV0FSRV9MT0NBVElPTl9SRUdFWFA7XG4gICAgfSxcbiAgICBJTlNUUlVNRU5UQVRJT05fSE9PS19GSUxFTkFNRTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBJTlNUUlVNRU5UQVRJT05fSE9PS19GSUxFTkFNRTtcbiAgICB9LFxuICAgIFBBR0VTX0RJUl9BTElBUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQQUdFU19ESVJfQUxJQVM7XG4gICAgfSxcbiAgICBET1RfTkVYVF9BTElBUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBET1RfTkVYVF9BTElBUztcbiAgICB9LFxuICAgIFJPT1RfRElSX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJPT1RfRElSX0FMSUFTO1xuICAgIH0sXG4gICAgQVBQX0RJUl9BTElBUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBUFBfRElSX0FMSUFTO1xuICAgIH0sXG4gICAgUlNDX01PRF9SRUZfUFJPWFlfQUxJQVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUlNDX01PRF9SRUZfUFJPWFlfQUxJQVM7XG4gICAgfSxcbiAgICBSU0NfQUNUSU9OX1ZBTElEQVRFX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19BQ1RJT05fVkFMSURBVEVfQUxJQVM7XG4gICAgfSxcbiAgICBSU0NfQUNUSU9OX1BST1hZX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19BQ1RJT05fUFJPWFlfQUxJQVM7XG4gICAgfSxcbiAgICBSU0NfQUNUSU9OX0VOQ1JZUFRJT05fQUxJQVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUlNDX0FDVElPTl9FTkNSWVBUSU9OX0FMSUFTO1xuICAgIH0sXG4gICAgUlNDX0FDVElPTl9DTElFTlRfV1JBUFBFUl9BTElBUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSU0NfQUNUSU9OX0NMSUVOVF9XUkFQUEVSX0FMSUFTO1xuICAgIH0sXG4gICAgUFVCTElDX0RJUl9NSURETEVXQVJFX0NPTkZMSUNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBVQkxJQ19ESVJfTUlERExFV0FSRV9DT05GTElDVDtcbiAgICB9LFxuICAgIFNTR19HRVRfSU5JVElBTF9QUk9QU19DT05GTElDVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTU0dfR0VUX0lOSVRJQUxfUFJPUFNfQ09ORkxJQ1Q7XG4gICAgfSxcbiAgICBTRVJWRVJfUFJPUFNfR0VUX0lOSVRfUFJPUFNfQ09ORkxJQ1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU0VSVkVSX1BST1BTX0dFVF9JTklUX1BST1BTX0NPTkZMSUNUO1xuICAgIH0sXG4gICAgU0VSVkVSX1BST1BTX1NTR19DT05GTElDVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTRVJWRVJfUFJPUFNfU1NHX0NPTkZMSUNUO1xuICAgIH0sXG4gICAgU1RBVElDX1NUQVRVU19QQUdFX0dFVF9JTklUSUFMX1BST1BTX0VSUk9SOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNUQVRJQ19TVEFUVVNfUEFHRV9HRVRfSU5JVElBTF9QUk9QU19FUlJPUjtcbiAgICB9LFxuICAgIFNFUlZFUl9QUk9QU19FWFBPUlRfRVJST1I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU0VSVkVSX1BST1BTX0VYUE9SVF9FUlJPUjtcbiAgICB9LFxuICAgIEdTUF9OT19SRVRVUk5FRF9WQUxVRTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBHU1BfTk9fUkVUVVJORURfVkFMVUU7XG4gICAgfSxcbiAgICBHU1NQX05PX1JFVFVSTkVEX1ZBTFVFOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEdTU1BfTk9fUkVUVVJORURfVkFMVUU7XG4gICAgfSxcbiAgICBVTlNUQUJMRV9SRVZBTElEQVRFX1JFTkFNRV9FUlJPUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBVTlNUQUJMRV9SRVZBTElEQVRFX1JFTkFNRV9FUlJPUjtcbiAgICB9LFxuICAgIEdTU1BfQ09NUE9ORU5UX01FTUJFUl9FUlJPUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBHU1NQX0NPTVBPTkVOVF9NRU1CRVJfRVJST1I7XG4gICAgfSxcbiAgICBOT05fU1RBTkRBUkRfTk9ERV9FTlY6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTk9OX1NUQU5EQVJEX05PREVfRU5WO1xuICAgIH0sXG4gICAgU1NHX0ZBTExCQUNLX0VYUE9SVF9FUlJPUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTU0dfRkFMTEJBQ0tfRVhQT1JUX0VSUk9SO1xuICAgIH0sXG4gICAgRVNMSU5UX0RFRkFVTFRfRElSUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBFU0xJTlRfREVGQVVMVF9ESVJTO1xuICAgIH0sXG4gICAgRVNMSU5UX1BST01QVF9WQUxVRVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRVNMSU5UX1BST01QVF9WQUxVRVM7XG4gICAgfSxcbiAgICBTRVJWRVJfUlVOVElNRTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTRVJWRVJfUlVOVElNRTtcbiAgICB9LFxuICAgIFdFQlBBQ0tfTEFZRVJTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFdFQlBBQ0tfTEFZRVJTO1xuICAgIH0sXG4gICAgV0VCUEFDS19SRVNPVVJDRV9RVUVSSUVTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFdFQlBBQ0tfUkVTT1VSQ0VfUVVFUklFUztcbiAgICB9XG59KTtcbmNvbnN0IE5FWFRfUVVFUllfUEFSQU1fUFJFRklYID0gXCJueHRQXCI7XG5jb25zdCBQUkVSRU5ERVJfUkVWQUxJREFURV9IRUFERVIgPSBcIngtcHJlcmVuZGVyLXJldmFsaWRhdGVcIjtcbmNvbnN0IFBSRVJFTkRFUl9SRVZBTElEQVRFX09OTFlfR0VORVJBVEVEX0hFQURFUiA9IFwieC1wcmVyZW5kZXItcmV2YWxpZGF0ZS1pZi1nZW5lcmF0ZWRcIjtcbmNvbnN0IFJTQ19QUkVGRVRDSF9TVUZGSVggPSBcIi5wcmVmZXRjaC5yc2NcIjtcbmNvbnN0IFJTQ19TVUZGSVggPSBcIi5yc2NcIjtcbmNvbnN0IE5FWFRfREFUQV9TVUZGSVggPSBcIi5qc29uXCI7XG5jb25zdCBORVhUX01FVEFfU1VGRklYID0gXCIubWV0YVwiO1xuY29uc3QgTkVYVF9CT0RZX1NVRkZJWCA9IFwiLmJvZHlcIjtcbmNvbnN0IE5FWFRfQ0FDSEVfVEFHU19IRUFERVIgPSBcIngtbmV4dC1jYWNoZS10YWdzXCI7XG5jb25zdCBORVhUX0NBQ0hFX1NPRlRfVEFHU19IRUFERVIgPSBcIngtbmV4dC1jYWNoZS1zb2Z0LXRhZ3NcIjtcbmNvbnN0IE5FWFRfQ0FDSEVfUkVWQUxJREFURURfVEFHU19IRUFERVIgPSBcIngtbmV4dC1yZXZhbGlkYXRlZC10YWdzXCI7XG5jb25zdCBORVhUX0NBQ0hFX1JFVkFMSURBVEVfVEFHX1RPS0VOX0hFQURFUiA9IFwieC1uZXh0LXJldmFsaWRhdGUtdGFnLXRva2VuXCI7XG5jb25zdCBORVhUX0NBQ0hFX1RBR19NQVhfTEVOR1RIID0gMjU2O1xuY29uc3QgTkVYVF9DQUNIRV9TT0ZUX1RBR19NQVhfTEVOR1RIID0gMTAyNDtcbmNvbnN0IE5FWFRfQ0FDSEVfSU1QTElDSVRfVEFHX0lEID0gXCJfTl9UX1wiO1xuY29uc3QgQ0FDSEVfT05FX1lFQVIgPSAzMTUzNjAwMDtcbmNvbnN0IE1JRERMRVdBUkVfRklMRU5BTUUgPSBcIm1pZGRsZXdhcmVcIjtcbmNvbnN0IE1JRERMRVdBUkVfTE9DQVRJT05fUkVHRVhQID0gYCg/OnNyYy8pPyR7TUlERExFV0FSRV9GSUxFTkFNRX1gO1xuY29uc3QgSU5TVFJVTUVOVEFUSU9OX0hPT0tfRklMRU5BTUUgPSBcImluc3RydW1lbnRhdGlvblwiO1xuY29uc3QgUEFHRVNfRElSX0FMSUFTID0gXCJwcml2YXRlLW5leHQtcGFnZXNcIjtcbmNvbnN0IERPVF9ORVhUX0FMSUFTID0gXCJwcml2YXRlLWRvdC1uZXh0XCI7XG5jb25zdCBST09UX0RJUl9BTElBUyA9IFwicHJpdmF0ZS1uZXh0LXJvb3QtZGlyXCI7XG5jb25zdCBBUFBfRElSX0FMSUFTID0gXCJwcml2YXRlLW5leHQtYXBwLWRpclwiO1xuY29uc3QgUlNDX01PRF9SRUZfUFJPWFlfQUxJQVMgPSBcInByaXZhdGUtbmV4dC1yc2MtbW9kLXJlZi1wcm94eVwiO1xuY29uc3QgUlNDX0FDVElPTl9WQUxJREFURV9BTElBUyA9IFwicHJpdmF0ZS1uZXh0LXJzYy1hY3Rpb24tdmFsaWRhdGVcIjtcbmNvbnN0IFJTQ19BQ1RJT05fUFJPWFlfQUxJQVMgPSBcInByaXZhdGUtbmV4dC1yc2MtYWN0aW9uLXByb3h5XCI7XG5jb25zdCBSU0NfQUNUSU9OX0VOQ1JZUFRJT05fQUxJQVMgPSBcInByaXZhdGUtbmV4dC1yc2MtYWN0aW9uLWVuY3J5cHRpb25cIjtcbmNvbnN0IFJTQ19BQ1RJT05fQ0xJRU5UX1dSQVBQRVJfQUxJQVMgPSBcInByaXZhdGUtbmV4dC1yc2MtYWN0aW9uLWNsaWVudC13cmFwcGVyXCI7XG5jb25zdCBQVUJMSUNfRElSX01JRERMRVdBUkVfQ09ORkxJQ1QgPSBgWW91IGNhbiBub3QgaGF2ZSBhICdfbmV4dCcgZm9sZGVyIGluc2lkZSBvZiB5b3VyIHB1YmxpYyBmb2xkZXIuIFRoaXMgY29uZmxpY3RzIHdpdGggdGhlIGludGVybmFsICcvX25leHQnIHJvdXRlLiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9wdWJsaWMtbmV4dC1mb2xkZXItY29uZmxpY3RgO1xuY29uc3QgU1NHX0dFVF9JTklUSUFMX1BST1BTX0NPTkZMSUNUID0gYFlvdSBjYW4gbm90IHVzZSBnZXRJbml0aWFsUHJvcHMgd2l0aCBnZXRTdGF0aWNQcm9wcy4gVG8gdXNlIFNTRywgcGxlYXNlIHJlbW92ZSB5b3VyIGdldEluaXRpYWxQcm9wc2A7XG5jb25zdCBTRVJWRVJfUFJPUFNfR0VUX0lOSVRfUFJPUFNfQ09ORkxJQ1QgPSBgWW91IGNhbiBub3QgdXNlIGdldEluaXRpYWxQcm9wcyB3aXRoIGdldFNlcnZlclNpZGVQcm9wcy4gUGxlYXNlIHJlbW92ZSBnZXRJbml0aWFsUHJvcHMuYDtcbmNvbnN0IFNFUlZFUl9QUk9QU19TU0dfQ09ORkxJQ1QgPSBgWW91IGNhbiBub3QgdXNlIGdldFN0YXRpY1Byb3BzIG9yIGdldFN0YXRpY1BhdGhzIHdpdGggZ2V0U2VydmVyU2lkZVByb3BzLiBUbyB1c2UgU1NHLCBwbGVhc2UgcmVtb3ZlIGdldFNlcnZlclNpZGVQcm9wc2A7XG5jb25zdCBTVEFUSUNfU1RBVFVTX1BBR0VfR0VUX0lOSVRJQUxfUFJPUFNfRVJST1IgPSBgY2FuIG5vdCBoYXZlIGdldEluaXRpYWxQcm9wcy9nZXRTZXJ2ZXJTaWRlUHJvcHMsIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzLzQwNC1nZXQtaW5pdGlhbC1wcm9wc2A7XG5jb25zdCBTRVJWRVJfUFJPUFNfRVhQT1JUX0VSUk9SID0gYHBhZ2VzIHdpdGggXFxgZ2V0U2VydmVyU2lkZVByb3BzXFxgIGNhbiBub3QgYmUgZXhwb3J0ZWQuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZ3NzcC1leHBvcnRgO1xuY29uc3QgR1NQX05PX1JFVFVSTkVEX1ZBTFVFID0gXCJZb3VyIGBnZXRTdGF0aWNQcm9wc2AgZnVuY3Rpb24gZGlkIG5vdCByZXR1cm4gYW4gb2JqZWN0LiBEaWQgeW91IGZvcmdldCB0byBhZGQgYSBgcmV0dXJuYD9cIjtcbmNvbnN0IEdTU1BfTk9fUkVUVVJORURfVkFMVUUgPSBcIllvdXIgYGdldFNlcnZlclNpZGVQcm9wc2AgZnVuY3Rpb24gZGlkIG5vdCByZXR1cm4gYW4gb2JqZWN0LiBEaWQgeW91IGZvcmdldCB0byBhZGQgYSBgcmV0dXJuYD9cIjtcbmNvbnN0IFVOU1RBQkxFX1JFVkFMSURBVEVfUkVOQU1FX0VSUk9SID0gXCJUaGUgYHVuc3RhYmxlX3JldmFsaWRhdGVgIHByb3BlcnR5IGlzIGF2YWlsYWJsZSBmb3IgZ2VuZXJhbCB1c2UuXFxuXCIgKyBcIlBsZWFzZSB1c2UgYHJldmFsaWRhdGVgIGluc3RlYWQuXCI7XG5jb25zdCBHU1NQX0NPTVBPTkVOVF9NRU1CRVJfRVJST1IgPSBgY2FuIG5vdCBiZSBhdHRhY2hlZCB0byBhIHBhZ2UncyBjb21wb25lbnQgYW5kIG11c3QgYmUgZXhwb3J0ZWQgZnJvbSB0aGUgcGFnZS4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9nc3NwLWNvbXBvbmVudC1tZW1iZXJgO1xuY29uc3QgTk9OX1NUQU5EQVJEX05PREVfRU5WID0gYFlvdSBhcmUgdXNpbmcgYSBub24tc3RhbmRhcmQgXCJOT0RFX0VOVlwiIHZhbHVlIGluIHlvdXIgZW52aXJvbm1lbnQuIFRoaXMgY3JlYXRlcyBpbmNvbnNpc3RlbmNpZXMgaW4gdGhlIHByb2plY3QgYW5kIGlzIHN0cm9uZ2x5IGFkdmlzZWQgYWdhaW5zdC4gUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9ub24tc3RhbmRhcmQtbm9kZS1lbnZgO1xuY29uc3QgU1NHX0ZBTExCQUNLX0VYUE9SVF9FUlJPUiA9IGBQYWdlcyB3aXRoIFxcYGZhbGxiYWNrXFxgIGVuYWJsZWQgaW4gXFxgZ2V0U3RhdGljUGF0aHNcXGAgY2FuIG5vdCBiZSBleHBvcnRlZC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9zc2ctZmFsbGJhY2stdHJ1ZS1leHBvcnRgO1xuY29uc3QgRVNMSU5UX0RFRkFVTFRfRElSUyA9IFtcbiAgICBcImFwcFwiLFxuICAgIFwicGFnZXNcIixcbiAgICBcImNvbXBvbmVudHNcIixcbiAgICBcImxpYlwiLFxuICAgIFwic3JjXCJcbl07XG5jb25zdCBFU0xJTlRfUFJPTVBUX1ZBTFVFUyA9IFtcbiAgICB7XG4gICAgICAgIHRpdGxlOiBcIlN0cmljdFwiLFxuICAgICAgICByZWNvbW1lbmRlZDogdHJ1ZSxcbiAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgICBleHRlbmRzOiBcIm5leHQvY29yZS13ZWItdml0YWxzXCJcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0aXRsZTogXCJCYXNlXCIsXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgZXh0ZW5kczogXCJuZXh0XCJcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0aXRsZTogXCJDYW5jZWxcIixcbiAgICAgICAgY29uZmlnOiBudWxsXG4gICAgfVxuXTtcbmNvbnN0IFNFUlZFUl9SVU5USU1FID0ge1xuICAgIGVkZ2U6IFwiZWRnZVwiLFxuICAgIGV4cGVyaW1lbnRhbEVkZ2U6IFwiZXhwZXJpbWVudGFsLWVkZ2VcIixcbiAgICBub2RlanM6IFwibm9kZWpzXCJcbn07XG4vKipcbiAqIFRoZSBuYW1lcyBvZiB0aGUgd2VicGFjayBsYXllcnMuIFRoZXNlIGxheWVycyBhcmUgdGhlIHByaW1pdGl2ZXMgZm9yIHRoZVxuICogd2VicGFjayBjaHVua3MuXG4gKi8gY29uc3QgV0VCUEFDS19MQVlFUlNfTkFNRVMgPSB7XG4gICAgLyoqXG4gICAqIFRoZSBsYXllciBmb3IgdGhlIHNoYXJlZCBjb2RlIGJldHdlZW4gdGhlIGNsaWVudCBhbmQgc2VydmVyIGJ1bmRsZXMuXG4gICAqLyBzaGFyZWQ6IFwic2hhcmVkXCIsXG4gICAgLyoqXG4gICAqIFJlYWN0IFNlcnZlciBDb21wb25lbnRzIGxheWVyIChyc2MpLlxuICAgKi8gcmVhY3RTZXJ2ZXJDb21wb25lbnRzOiBcInJzY1wiLFxuICAgIC8qKlxuICAgKiBTZXJ2ZXIgU2lkZSBSZW5kZXJpbmcgbGF5ZXIgZm9yIGFwcCAoc3NyKS5cbiAgICovIHNlcnZlclNpZGVSZW5kZXJpbmc6IFwic3NyXCIsXG4gICAgLyoqXG4gICAqIFRoZSBicm93c2VyIGNsaWVudCBidW5kbGUgbGF5ZXIgZm9yIGFjdGlvbnMuXG4gICAqLyBhY3Rpb25Ccm93c2VyOiBcImFjdGlvbi1icm93c2VyXCIsXG4gICAgLyoqXG4gICAqIFRoZSBsYXllciBmb3IgdGhlIEFQSSByb3V0ZXMuXG4gICAqLyBhcGk6IFwiYXBpXCIsXG4gICAgLyoqXG4gICAqIFRoZSBsYXllciBmb3IgdGhlIG1pZGRsZXdhcmUgY29kZS5cbiAgICovIG1pZGRsZXdhcmU6IFwibWlkZGxld2FyZVwiLFxuICAgIC8qKlxuICAgKiBUaGUgbGF5ZXIgZm9yIGFzc2V0cyBvbiB0aGUgZWRnZS5cbiAgICovIGVkZ2VBc3NldDogXCJlZGdlLWFzc2V0XCIsXG4gICAgLyoqXG4gICAqIFRoZSBicm93c2VyIGNsaWVudCBidW5kbGUgbGF5ZXIgZm9yIEFwcCBkaXJlY3RvcnkuXG4gICAqLyBhcHBQYWdlc0Jyb3dzZXI6IFwiYXBwLXBhZ2VzLWJyb3dzZXJcIixcbiAgICAvKipcbiAgICogVGhlIHNlcnZlciBidW5kbGUgbGF5ZXIgZm9yIG1ldGFkYXRhIHJvdXRlcy5cbiAgICovIGFwcE1ldGFkYXRhUm91dGU6IFwiYXBwLW1ldGFkYXRhLXJvdXRlXCIsXG4gICAgLyoqXG4gICAqIFRoZSBsYXllciBmb3IgdGhlIHNlcnZlciBidW5kbGUgZm9yIEFwcCBSb3V0ZSBoYW5kbGVycy5cbiAgICovIGFwcFJvdXRlSGFuZGxlcjogXCJhcHAtcm91dGUtaGFuZGxlclwiXG59O1xuY29uc3QgV0VCUEFDS19MQVlFUlMgPSB7XG4gICAgLi4uV0VCUEFDS19MQVlFUlNfTkFNRVMsXG4gICAgR1JPVVA6IHtcbiAgICAgICAgc2VydmVyOiBbXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5yZWFjdFNlcnZlckNvbXBvbmVudHMsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5hY3Rpb25Ccm93c2VyLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuYXBwTWV0YWRhdGFSb3V0ZSxcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLmFwcFJvdXRlSGFuZGxlclxuICAgICAgICBdLFxuICAgICAgICBub25DbGllbnRTZXJ2ZXJUYXJnZXQ6IFtcbiAgICAgICAgICAgIC8vIHBsdXMgbWlkZGxld2FyZSBhbmQgcGFnZXMgYXBpXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5taWRkbGV3YXJlLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuYXBpXG4gICAgICAgIF0sXG4gICAgICAgIGFwcDogW1xuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMucmVhY3RTZXJ2ZXJDb21wb25lbnRzLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuYWN0aW9uQnJvd3NlcixcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLmFwcE1ldGFkYXRhUm91dGUsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5hcHBSb3V0ZUhhbmRsZXIsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5zZXJ2ZXJTaWRlUmVuZGVyaW5nLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuYXBwUGFnZXNCcm93c2VyLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuc2hhcmVkXG4gICAgICAgIF1cbiAgICB9XG59O1xuY29uc3QgV0VCUEFDS19SRVNPVVJDRV9RVUVSSUVTID0ge1xuICAgIGVkZ2VTU1JFbnRyeTogXCJfX25leHRfZWRnZV9zc3JfZW50cnlfX1wiLFxuICAgIG1ldGFkYXRhOiBcIl9fbmV4dF9tZXRhZGF0YV9fXCIsXG4gICAgbWV0YWRhdGFSb3V0ZTogXCJfX25leHRfbWV0YWRhdGFfcm91dGVfX1wiLFxuICAgIG1ldGFkYXRhSW1hZ2VNZXRhOiBcIl9fbmV4dF9tZXRhZGF0YV9pbWFnZV9tZXRhX19cIlxufTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3RhbnRzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIk5FWFRfUVVFUllfUEFSQU1fUFJFRklYIiwiUFJFUkVOREVSX1JFVkFMSURBVEVfSEVBREVSIiwiUFJFUkVOREVSX1JFVkFMSURBVEVfT05MWV9HRU5FUkFURURfSEVBREVSIiwiUlNDX1BSRUZFVENIX1NVRkZJWCIsIlJTQ19TVUZGSVgiLCJORVhUX0RBVEFfU1VGRklYIiwiTkVYVF9NRVRBX1NVRkZJWCIsIk5FWFRfQk9EWV9TVUZGSVgiLCJORVhUX0NBQ0hFX1RBR1NfSEVBREVSIiwiTkVYVF9DQUNIRV9TT0ZUX1RBR1NfSEVBREVSIiwiTkVYVF9DQUNIRV9SRVZBTElEQVRFRF9UQUdTX0hFQURFUiIsIk5FWFRfQ0FDSEVfUkVWQUxJREFURV9UQUdfVE9LRU5fSEVBREVSIiwiTkVYVF9DQUNIRV9UQUdfTUFYX0xFTkdUSCIsIk5FWFRfQ0FDSEVfU09GVF9UQUdfTUFYX0xFTkdUSCIsIk5FWFRfQ0FDSEVfSU1QTElDSVRfVEFHX0lEIiwiQ0FDSEVfT05FX1lFQVIiLCJNSURETEVXQVJFX0ZJTEVOQU1FIiwiTUlERExFV0FSRV9MT0NBVElPTl9SRUdFWFAiLCJJTlNUUlVNRU5UQVRJT05fSE9PS19GSUxFTkFNRSIsIlBBR0VTX0RJUl9BTElBUyIsIkRPVF9ORVhUX0FMSUFTIiwiUk9PVF9ESVJfQUxJQVMiLCJBUFBfRElSX0FMSUFTIiwiUlNDX01PRF9SRUZfUFJPWFlfQUxJQVMiLCJSU0NfQUNUSU9OX1ZBTElEQVRFX0FMSUFTIiwiUlNDX0FDVElPTl9QUk9YWV9BTElBUyIsIlJTQ19BQ1RJT05fRU5DUllQVElPTl9BTElBUyIsIlJTQ19BQ1RJT05fQ0xJRU5UX1dSQVBQRVJfQUxJQVMiLCJQVUJMSUNfRElSX01JRERMRVdBUkVfQ09ORkxJQ1QiLCJTU0dfR0VUX0lOSVRJQUxfUFJPUFNfQ09ORkxJQ1QiLCJTRVJWRVJfUFJPUFNfR0VUX0lOSVRfUFJPUFNfQ09ORkxJQ1QiLCJTRVJWRVJfUFJPUFNfU1NHX0NPTkZMSUNUIiwiU1RBVElDX1NUQVRVU19QQUdFX0dFVF9JTklUSUFMX1BST1BTX0VSUk9SIiwiU0VSVkVSX1BST1BTX0VYUE9SVF9FUlJPUiIsIkdTUF9OT19SRVRVUk5FRF9WQUxVRSIsIkdTU1BfTk9fUkVUVVJORURfVkFMVUUiLCJVTlNUQUJMRV9SRVZBTElEQVRFX1JFTkFNRV9FUlJPUiIsIkdTU1BfQ09NUE9ORU5UX01FTUJFUl9FUlJPUiIsIk5PTl9TVEFOREFSRF9OT0RFX0VOViIsIlNTR19GQUxMQkFDS19FWFBPUlRfRVJST1IiLCJFU0xJTlRfREVGQVVMVF9ESVJTIiwiRVNMSU5UX1BST01QVF9WQUxVRVMiLCJTRVJWRVJfUlVOVElNRSIsIldFQlBBQ0tfTEFZRVJTIiwiV0VCUEFDS19SRVNPVVJDRV9RVUVSSUVTIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwidGl0bGUiLCJyZWNvbW1lbmRlZCIsImNvbmZpZyIsImV4dGVuZHMiLCJlZGdlIiwiZXhwZXJpbWVudGFsRWRnZSIsIm5vZGVqcyIsIldFQlBBQ0tfTEFZRVJTX05BTUVTIiwic2hhcmVkIiwicmVhY3RTZXJ2ZXJDb21wb25lbnRzIiwic2VydmVyU2lkZVJlbmRlcmluZyIsImFjdGlvbkJyb3dzZXIiLCJhcGkiLCJtaWRkbGV3YXJlIiwiZWRnZUFzc2V0IiwiYXBwUGFnZXNCcm93c2VyIiwiYXBwTWV0YWRhdGFSb3V0ZSIsImFwcFJvdXRlSGFuZGxlciIsIkdST1VQIiwic2VydmVyIiwibm9uQ2xpZW50U2VydmVyVGFyZ2V0IiwiYXBwIiwiZWRnZVNTUkVudHJ5IiwibWV0YWRhdGEiLCJtZXRhZGF0YVJvdXRlIiwibWV0YWRhdGFJbWFnZU1ldGEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/lib/constants.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/lib/detached-promise.js": /*!********************************************************!*\ !*** ./node_modules/next/dist/lib/detached-promise.js ***! \********************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * A `Promise.withResolvers` implementation that exposes the `resolve` and\n * `reject` functions on a `Promise`.\n *\n * @see https://tc39.es/proposal-promise-with-resolvers/\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DetachedPromise\", ({\n enumerable: true,\n get: function() {\n return DetachedPromise;\n }\n}));\nclass DetachedPromise {\n constructor(){\n let resolve;\n let reject;\n // Create the promise and assign the resolvers to the object.\n this.promise = new Promise((res, rej)=>{\n resolve = res;\n reject = rej;\n });\n // We know that resolvers is defined because the Promise constructor runs\n // synchronously.\n this.resolve = resolve;\n this.reject = reject;\n }\n} //# sourceMappingURL=detached-promise.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL2RldGFjaGVkLXByb21pc2UuanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0NBS0MsR0FBZ0I7QUFDakJBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxtREFBa0Q7SUFDOUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQTtJQUNGQyxhQUFhO1FBQ1QsSUFBSUM7UUFDSixJQUFJQztRQUNKLDZEQUE2RDtRQUM3RCxJQUFJLENBQUNDLE9BQU8sR0FBRyxJQUFJQyxRQUFRLENBQUNDLEtBQUtDO1lBQzdCTCxVQUFVSTtZQUNWSCxTQUFTSTtRQUNiO1FBQ0EseUVBQXlFO1FBQ3pFLGlCQUFpQjtRQUNqQixJQUFJLENBQUNMLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLE1BQU0sR0FBR0E7SUFDbEI7QUFDSixFQUVBLDRDQUE0QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL2RldGFjaGVkLXByb21pc2UuanM/N2Y4MCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgYFByb21pc2Uud2l0aFJlc29sdmVyc2AgaW1wbGVtZW50YXRpb24gdGhhdCBleHBvc2VzIHRoZSBgcmVzb2x2ZWAgYW5kXG4gKiBgcmVqZWN0YCBmdW5jdGlvbnMgb24gYSBgUHJvbWlzZWAuXG4gKlxuICogQHNlZSBodHRwczovL3RjMzkuZXMvcHJvcG9zYWwtcHJvbWlzZS13aXRoLXJlc29sdmVycy9cbiAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkRldGFjaGVkUHJvbWlzZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRGV0YWNoZWRQcm9taXNlO1xuICAgIH1cbn0pO1xuY2xhc3MgRGV0YWNoZWRQcm9taXNlIHtcbiAgICBjb25zdHJ1Y3Rvcigpe1xuICAgICAgICBsZXQgcmVzb2x2ZTtcbiAgICAgICAgbGV0IHJlamVjdDtcbiAgICAgICAgLy8gQ3JlYXRlIHRoZSBwcm9taXNlIGFuZCBhc3NpZ24gdGhlIHJlc29sdmVycyB0byB0aGUgb2JqZWN0LlxuICAgICAgICB0aGlzLnByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzLCByZWopPT57XG4gICAgICAgICAgICByZXNvbHZlID0gcmVzO1xuICAgICAgICAgICAgcmVqZWN0ID0gcmVqO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gV2Uga25vdyB0aGF0IHJlc29sdmVycyBpcyBkZWZpbmVkIGJlY2F1c2UgdGhlIFByb21pc2UgY29uc3RydWN0b3IgcnVuc1xuICAgICAgICAvLyBzeW5jaHJvbm91c2x5LlxuICAgICAgICB0aGlzLnJlc29sdmUgPSByZXNvbHZlO1xuICAgICAgICB0aGlzLnJlamVjdCA9IHJlamVjdDtcbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRldGFjaGVkLXByb21pc2UuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkRldGFjaGVkUHJvbWlzZSIsImNvbnN0cnVjdG9yIiwicmVzb2x2ZSIsInJlamVjdCIsInByb21pc2UiLCJQcm9taXNlIiwicmVzIiwicmVqIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/lib/detached-promise.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/lib/metadata/generate/utils.js": /*!***************************************************************!*\ !*** ./node_modules/next/dist/lib/metadata/generate/utils.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n resolveAsArrayOrUndefined: function() {\n return resolveAsArrayOrUndefined;\n },\n resolveArray: function() {\n return resolveArray;\n }\n});\nfunction resolveArray(value) {\n if (Array.isArray(value)) {\n return value;\n }\n return [\n value\n ];\n}\nfunction resolveAsArrayOrUndefined(value) {\n if (typeof value === \"undefined\" || value === null) {\n return undefined;\n }\n return resolveArray(value);\n} //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9tZXRhZGF0YS9nZW5lcmF0ZS91dGlscy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsMkJBQTJCO1FBQ3ZCLE9BQU9BO0lBQ1g7SUFDQUMsY0FBYztRQUNWLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLFNBQVNBLGFBQWFILEtBQUs7SUFDdkIsSUFBSVUsTUFBTUMsT0FBTyxDQUFDWCxRQUFRO1FBQ3RCLE9BQU9BO0lBQ1g7SUFDQSxPQUFPO1FBQ0hBO0tBQ0g7QUFDTDtBQUNBLFNBQVNFLDBCQUEwQkYsS0FBSztJQUNwQyxJQUFJLE9BQU9BLFVBQVUsZUFBZUEsVUFBVSxNQUFNO1FBQ2hELE9BQU9ZO0lBQ1g7SUFDQSxPQUFPVCxhQUFhSDtBQUN4QixFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL21ldGFkYXRhL2dlbmVyYXRlL3V0aWxzLmpzPzE0NDMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICByZXNvbHZlQXNBcnJheU9yVW5kZWZpbmVkOiBudWxsLFxuICAgIHJlc29sdmVBcnJheTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICByZXNvbHZlQXNBcnJheU9yVW5kZWZpbmVkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmVBc0FycmF5T3JVbmRlZmluZWQ7XG4gICAgfSxcbiAgICByZXNvbHZlQXJyYXk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZUFycmF5O1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gcmVzb2x2ZUFycmF5KHZhbHVlKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgICAgdmFsdWVcbiAgICBdO1xufVxuZnVuY3Rpb24gcmVzb2x2ZUFzQXJyYXlPclVuZGVmaW5lZCh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwidW5kZWZpbmVkXCIgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHJlc29sdmVBcnJheSh2YWx1ZSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsInJlc29sdmVBc0FycmF5T3JVbmRlZmluZWQiLCJyZXNvbHZlQXJyYXkiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJBcnJheSIsImlzQXJyYXkiLCJ1bmRlZmluZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/lib/metadata/generate/utils.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/lib/picocolors.js": /*!**************************************************!*\ !*** ./node_modules/next/dist/lib/picocolors.js ***! \**************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("// ISC License\n// Copyright (c) 2021 Alexey Raspopov, Kostiantyn Denysov, Anton Verinov\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n//\n// https://github.com/alexeyraspopov/picocolors/blob/b6261487e7b81aaab2440e397a356732cad9e342/picocolors.js#L1\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n reset: function() {\n return reset;\n },\n bold: function() {\n return bold;\n },\n dim: function() {\n return dim;\n },\n italic: function() {\n return italic;\n },\n underline: function() {\n return underline;\n },\n inverse: function() {\n return inverse;\n },\n hidden: function() {\n return hidden;\n },\n strikethrough: function() {\n return strikethrough;\n },\n black: function() {\n return black;\n },\n red: function() {\n return red;\n },\n green: function() {\n return green;\n },\n yellow: function() {\n return yellow;\n },\n blue: function() {\n return blue;\n },\n magenta: function() {\n return magenta;\n },\n purple: function() {\n return purple;\n },\n cyan: function() {\n return cyan;\n },\n white: function() {\n return white;\n },\n gray: function() {\n return gray;\n },\n bgBlack: function() {\n return bgBlack;\n },\n bgRed: function() {\n return bgRed;\n },\n bgGreen: function() {\n return bgGreen;\n },\n bgYellow: function() {\n return bgYellow;\n },\n bgBlue: function() {\n return bgBlue;\n },\n bgMagenta: function() {\n return bgMagenta;\n },\n bgCyan: function() {\n return bgCyan;\n },\n bgWhite: function() {\n return bgWhite;\n }\n});\nvar _globalThis;\nconst { env, stdout } = ((_globalThis = globalThis) == null ? void 0 : _globalThis.process) ?? {};\nconst enabled = env && !env.NO_COLOR && (env.FORCE_COLOR || (stdout == null ? void 0 : stdout.isTTY) && !env.CI && env.TERM !== \"dumb\");\nconst replaceClose = (str, close, replace, index)=>{\n const start = str.substring(0, index) + replace;\n const end = str.substring(index + close.length);\n const nextIndex = end.indexOf(close);\n return ~nextIndex ? start + replaceClose(end, close, replace, nextIndex) : start + end;\n};\nconst formatter = (open, close, replace = open)=>{\n if (!enabled) return String;\n return (input)=>{\n const string = \"\" + input;\n const index = string.indexOf(close, open.length);\n return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;\n };\n};\nconst reset = enabled ? (s)=>`\\x1b[0m${s}\\x1b[0m` : String;\nconst bold = formatter(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\");\nconst dim = formatter(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\");\nconst italic = formatter(\"\\x1b[3m\", \"\\x1b[23m\");\nconst underline = formatter(\"\\x1b[4m\", \"\\x1b[24m\");\nconst inverse = formatter(\"\\x1b[7m\", \"\\x1b[27m\");\nconst hidden = formatter(\"\\x1b[8m\", \"\\x1b[28m\");\nconst strikethrough = formatter(\"\\x1b[9m\", \"\\x1b[29m\");\nconst black = formatter(\"\\x1b[30m\", \"\\x1b[39m\");\nconst red = formatter(\"\\x1b[31m\", \"\\x1b[39m\");\nconst green = formatter(\"\\x1b[32m\", \"\\x1b[39m\");\nconst yellow = formatter(\"\\x1b[33m\", \"\\x1b[39m\");\nconst blue = formatter(\"\\x1b[34m\", \"\\x1b[39m\");\nconst magenta = formatter(\"\\x1b[35m\", \"\\x1b[39m\");\nconst purple = formatter(\"\\x1b[38;2;173;127;168m\", \"\\x1b[39m\");\nconst cyan = formatter(\"\\x1b[36m\", \"\\x1b[39m\");\nconst white = formatter(\"\\x1b[37m\", \"\\x1b[39m\");\nconst gray = formatter(\"\\x1b[90m\", \"\\x1b[39m\");\nconst bgBlack = formatter(\"\\x1b[40m\", \"\\x1b[49m\");\nconst bgRed = formatter(\"\\x1b[41m\", \"\\x1b[49m\");\nconst bgGreen = formatter(\"\\x1b[42m\", \"\\x1b[49m\");\nconst bgYellow = formatter(\"\\x1b[43m\", \"\\x1b[49m\");\nconst bgBlue = formatter(\"\\x1b[44m\", \"\\x1b[49m\");\nconst bgMagenta = formatter(\"\\x1b[45m\", \"\\x1b[49m\");\nconst bgCyan = formatter(\"\\x1b[46m\", \"\\x1b[49m\");\nconst bgWhite = formatter(\"\\x1b[47m\", \"\\x1b[49m\"); //# sourceMappingURL=picocolors.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL3BpY29jb2xvcnMuanMiLCJtYXBwaW5ncyI6IkFBQUEsY0FBYztBQUNkLHdFQUF3RTtBQUN4RSwyRUFBMkU7QUFDM0UseUVBQXlFO0FBQ3pFLG9FQUFvRTtBQUNwRSwyRUFBMkU7QUFDM0UsbUVBQW1FO0FBQ25FLDBFQUEwRTtBQUMxRSx5RUFBeUU7QUFDekUsd0VBQXdFO0FBQ3hFLDBFQUEwRTtBQUMxRSxpRUFBaUU7QUFDakUsRUFBRTtBQUNGLDhHQUE4RztBQUNqRztBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQTJCTjtBQUNBLFNBQVMyQixRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJakMsT0FBT0MsY0FBYyxDQUFDK0IsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRN0IsU0FBUztJQUNiRyxPQUFPO1FBQ0gsT0FBT0E7SUFDWDtJQUNBQyxNQUFNO1FBQ0YsT0FBT0E7SUFDWDtJQUNBQyxLQUFLO1FBQ0QsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7SUFDWDtJQUNBQyxXQUFXO1FBQ1AsT0FBT0E7SUFDWDtJQUNBQyxTQUFTO1FBQ0wsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7SUFDWDtJQUNBQyxlQUFlO1FBQ1gsT0FBT0E7SUFDWDtJQUNBQyxPQUFPO1FBQ0gsT0FBT0E7SUFDWDtJQUNBQyxLQUFLO1FBQ0QsT0FBT0E7SUFDWDtJQUNBQyxPQUFPO1FBQ0gsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7SUFDWDtJQUNBQyxNQUFNO1FBQ0YsT0FBT0E7SUFDWDtJQUNBQyxTQUFTO1FBQ0wsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7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LE1BQU1oQyxTQUFTZ0MsVUFBVSxZQUFZO0FBQ3JDLE1BQU0vQixZQUFZK0IsVUFBVSxZQUFZO0FBQ3hDLE1BQU05QixTQUFTOEIsVUFBVSxZQUFZO0FBQ3JDLE1BQU03QixVQUFVNkIsVUFBVSxZQUFZLGFBRXRDLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL3BpY29jb2xvcnMuanM/NTAwOCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJU0MgTGljZW5zZVxuLy8gQ29weXJpZ2h0IChjKSAyMDIxIEFsZXhleSBSYXNwb3BvdiwgS29zdGlhbnR5biBEZW55c292LCBBbnRvbiBWZXJpbm92XG4vLyBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcbi8vIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmVcbi8vIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMuXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFU1xuLy8gV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1Jcbi8vIEFOWSBTUEVDSUFMLCBESVJFQ1QsIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVNcbi8vIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTlxuLy8gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0Zcbi8vIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXG4vL1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZXhleXJhc3BvcG92L3BpY29jb2xvcnMvYmxvYi9iNjI2MTQ4N2U3YjgxYWFhYjI0NDBlMzk3YTM1NjczMmNhZDllMzQyL3BpY29jb2xvcnMuanMjTDFcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgcmVzZXQ6IG51bGwsXG4gICAgYm9sZDogbnVsbCxcbiAgICBkaW06IG51bGwsXG4gICAgaXRhbGljOiBudWxsLFxuICAgIHVuZGVybGluZTogbnVsbCxcbiAgICBpbnZlcnNlOiBudWxsLFxuICAgIGhpZGRlbjogbnVsbCxcbiAgICBzdHJpa2V0aHJvdWdoOiBudWxsLFxuICAgIGJsYWNrOiBudWxsLFxuICAgIHJlZDogbnVsbCxcbiAgICBncmVlbjogbnVsbCxcbiAgICB5ZWxsb3c6IG51bGwsXG4gICAgYmx1ZTogbnVsbCxcbiAgICBtYWdlbnRhOiBudWxsLFxuICAgIHB1cnBsZTogbnVsbCxcbiAgICBjeWFuOiBudWxsLFxuICAgIHdoaXRlOiBudWxsLFxuICAgIGdyYXk6IG51bGwsXG4gICAgYmdCbGFjazogbnVsbCxcbiAgICBiZ1JlZDogbnVsbCxcbiAgICBiZ0dyZWVuOiBudWxsLFxuICAgIGJnWWVsbG93OiBudWxsLFxuICAgIGJnQmx1ZTogbnVsbCxcbiAgICBiZ01hZ2VudGE6IG51bGwsXG4gICAgYmdDeWFuOiBudWxsLFxuICAgIGJnV2hpdGU6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgcmVzZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcmVzZXQ7XG4gICAgfSxcbiAgICBib2xkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJvbGQ7XG4gICAgfSxcbiAgICBkaW06IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGltO1xuICAgIH0sXG4gICAgaXRhbGljOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGl0YWxpYztcbiAgICB9LFxuICAgIHVuZGVybGluZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1bmRlcmxpbmU7XG4gICAgfSxcbiAgICBpbnZlcnNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGludmVyc2U7XG4gICAgfSxcbiAgICBoaWRkZW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaGlkZGVuO1xuICAgIH0sXG4gICAgc3RyaWtldGhyb3VnaDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzdHJpa2V0aHJvdWdoO1xuICAgIH0sXG4gICAgYmxhY2s6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYmxhY2s7XG4gICAgfSxcbiAgICByZWQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcmVkO1xuICAgIH0sXG4gICAgZ3JlZW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ3JlZW47XG4gICAgfSxcbiAgICB5ZWxsb3c6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4geWVsbG93O1xuICAgIH0sXG4gICAgYmx1ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBibHVlO1xuICAgIH0sXG4gICAgbWFnZW50YTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBtYWdlbnRhO1xuICAgIH0sXG4gICAgcHVycGxlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHB1cnBsZTtcbiAgICB9LFxuICAgIGN5YW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3lhbjtcbiAgICB9LFxuICAgIHdoaXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHdoaXRlO1xuICAgIH0sXG4gICAgZ3JheTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBncmF5O1xuICAgIH0sXG4gICAgYmdCbGFjazogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBiZ0JsYWNrO1xuICAgIH0sXG4gICAgYmdSZWQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYmdSZWQ7XG4gICAgfSxcbiAgICBiZ0dyZWVuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJnR3JlZW47XG4gICAgfSxcbiAgICBiZ1llbGxvdzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBiZ1llbGxvdztcbiAgICB9LFxuICAgIGJnQmx1ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBiZ0JsdWU7XG4gICAgfSxcbiAgICBiZ01hZ2VudGE6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYmdNYWdlbnRhO1xuICAgIH0sXG4gICAgYmdDeWFuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJnQ3lhbjtcbiAgICB9LFxuICAgIGJnV2hpdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYmdXaGl0ZTtcbiAgICB9XG59KTtcbnZhciBfZ2xvYmFsVGhpcztcbmNvbnN0IHsgZW52LCBzdGRvdXQgfSA9ICgoX2dsb2JhbFRoaXMgPSBnbG9iYWxUaGlzKSA9PSBudWxsID8gdm9pZCAwIDogX2dsb2JhbFRoaXMucHJvY2VzcykgPz8ge307XG5jb25zdCBlbmFibGVkID0gZW52ICYmICFlbnYuTk9fQ09MT1IgJiYgKGVudi5GT1JDRV9DT0xPUiB8fCAoc3Rkb3V0ID09IG51bGwgPyB2b2lkIDAgOiBzdGRvdXQuaXNUVFkpICYmICFlbnYuQ0kgJiYgZW52LlRFUk0gIT09IFwiZHVtYlwiKTtcbmNvbnN0IHJlcGxhY2VDbG9zZSA9IChzdHIsIGNsb3NlLCByZXBsYWNlLCBpbmRleCk9PntcbiAgICBjb25zdCBzdGFydCA9IHN0ci5zdWJzdHJpbmcoMCwgaW5kZXgpICsgcmVwbGFjZTtcbiAgICBjb25zdCBlbmQgPSBzdHIuc3Vic3RyaW5nKGluZGV4ICsgY2xvc2UubGVuZ3RoKTtcbiAgICBjb25zdCBuZXh0SW5kZXggPSBlbmQuaW5kZXhPZihjbG9zZSk7XG4gICAgcmV0dXJuIH5uZXh0SW5kZXggPyBzdGFydCArIHJlcGxhY2VDbG9zZShlbmQsIGNsb3NlLCByZXBsYWNlLCBuZXh0SW5kZXgpIDogc3RhcnQgKyBlbmQ7XG59O1xuY29uc3QgZm9ybWF0dGVyID0gKG9wZW4sIGNsb3NlLCByZXBsYWNlID0gb3Blbik9PntcbiAgICBpZiAoIWVuYWJsZWQpIHJldHVybiBTdHJpbmc7XG4gICAgcmV0dXJuIChpbnB1dCk9PntcbiAgICAgICAgY29uc3Qgc3RyaW5nID0gXCJcIiArIGlucHV0O1xuICAgICAgICBjb25zdCBpbmRleCA9IHN0cmluZy5pbmRleE9mKGNsb3NlLCBvcGVuLmxlbmd0aCk7XG4gICAgICAgIHJldHVybiB+aW5kZXggPyBvcGVuICsgcmVwbGFjZUNsb3NlKHN0cmluZywgY2xvc2UsIHJlcGxhY2UsIGluZGV4KSArIGNsb3NlIDogb3BlbiArIHN0cmluZyArIGNsb3NlO1xuICAgIH07XG59O1xuY29uc3QgcmVzZXQgPSBlbmFibGVkID8gKHMpPT5gXFx4MWJbMG0ke3N9XFx4MWJbMG1gIDogU3RyaW5nO1xuY29uc3QgYm9sZCA9IGZvcm1hdHRlcihcIlxceDFiWzFtXCIsIFwiXFx4MWJbMjJtXCIsIFwiXFx4MWJbMjJtXFx4MWJbMW1cIik7XG5jb25zdCBkaW0gPSBmb3JtYXR0ZXIoXCJcXHgxYlsybVwiLCBcIlxceDFiWzIybVwiLCBcIlxceDFiWzIybVxceDFiWzJtXCIpO1xuY29uc3QgaXRhbGljID0gZm9ybWF0dGVyKFwiXFx4MWJbM21cIiwgXCJcXHgxYlsyM21cIik7XG5jb25zdCB1bmRlcmxpbmUgPSBmb3JtYXR0ZXIoXCJcXHgxYls0bVwiLCBcIlxceDFiWzI0bVwiKTtcbmNvbnN0IGludmVyc2UgPSBmb3JtYXR0ZXIoXCJcXHgxYls3bVwiLCBcIlxceDFiWzI3bVwiKTtcbmNvbnN0IGhpZGRlbiA9IGZvcm1hdHRlcihcIlxceDFiWzhtXCIsIFwiXFx4MWJbMjhtXCIpO1xuY29uc3Qgc3RyaWtldGhyb3VnaCA9IGZvcm1hdHRlcihcIlxceDFiWzltXCIsIFwiXFx4MWJbMjltXCIpO1xuY29uc3QgYmxhY2sgPSBmb3JtYXR0ZXIoXCJcXHgxYlszMG1cIiwgXCJcXHgxYlszOW1cIik7XG5jb25zdCByZWQgPSBmb3JtYXR0ZXIoXCJcXHgxYlszMW1cIiwgXCJcXHgxYlszOW1cIik7XG5jb25zdCBncmVlbiA9IGZvcm1hdHRlcihcIlxceDFiWzMybVwiLCBcIlxceDFiWzM5bVwiKTtcbmNvbnN0IHllbGxvdyA9IGZvcm1hdHRlcihcIlxceDFiWzMzbVwiLCBcIlxceDFiWzM5bVwiKTtcbmNvbnN0IGJsdWUgPSBmb3JtYXR0ZXIoXCJcXHgxYlszNG1cIiwgXCJcXHgxYlszOW1cIik7XG5jb25zdCBtYWdlbnRhID0gZm9ybWF0dGVyKFwiXFx4MWJbMzVtXCIsIFwiXFx4MWJbMzltXCIpO1xuY29uc3QgcHVycGxlID0gZm9ybWF0dGVyKFwiXFx4MWJbMzg7MjsxNzM7MTI3OzE2OG1cIiwgXCJcXHgxYlszOW1cIik7XG5jb25zdCBjeWFuID0gZm9ybWF0dGVyKFwiXFx4MWJbMzZtXCIsIFwiXFx4MWJbMzltXCIpO1xuY29uc3Qgd2hpdGUgPSBmb3JtYXR0ZXIoXCJcXHgxYlszN21cIiwgXCJcXHgxYlszOW1cIik7XG5jb25zdCBncmF5ID0gZm9ybWF0dGVyKFwiXFx4MWJbOTBtXCIsIFwiXFx4MWJbMzltXCIpO1xuY29uc3QgYmdCbGFjayA9IGZvcm1hdHRlcihcIlxceDFiWzQwbVwiLCBcIlxceDFiWzQ5bVwiKTtcbmNvbnN0IGJnUmVkID0gZm9ybWF0dGVyKFwiXFx4MWJbNDFtXCIsIFwiXFx4MWJbNDltXCIpO1xuY29uc3QgYmdHcmVlbiA9IGZvcm1hdHRlcihcIlxceDFiWzQybVwiLCBcIlxceDFiWzQ5bVwiKTtcbmNvbnN0IGJnWWVsbG93ID0gZm9ybWF0dGVyKFwiXFx4MWJbNDNtXCIsIFwiXFx4MWJbNDltXCIpO1xuY29uc3QgYmdCbHVlID0gZm9ybWF0dGVyKFwiXFx4MWJbNDRtXCIsIFwiXFx4MWJbNDltXCIpO1xuY29uc3QgYmdNYWdlbnRhID0gZm9ybWF0dGVyKFwiXFx4MWJbNDVtXCIsIFwiXFx4MWJbNDltXCIpO1xuY29uc3QgYmdDeWFuID0gZm9ybWF0dGVyKFwiXFx4MWJbNDZtXCIsIFwiXFx4MWJbNDltXCIpO1xuY29uc3QgYmdXaGl0ZSA9IGZvcm1hdHRlcihcIlxceDFiWzQ3bVwiLCBcIlxceDFiWzQ5bVwiKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGljb2NvbG9ycy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJyZXNldCIsImJvbGQiLCJkaW0iLCJpdGFsaWMiLCJ1bmRlcmxpbmUiLCJpbnZlcnNlIiwiaGlkZGVuIiwic3RyaWtldGhyb3VnaCIsImJsYWNrIiwicmVkIiwiZ3JlZW4iLCJ5ZWxsb3ciLCJibHVlIiwibWFnZW50YSIsInB1cnBsZSIsImN5YW4iLCJ3aGl0ZSIsImdyYXkiLCJiZ0JsYWNrIiwiYmdSZWQiLCJiZ0dyZWVuIiwiYmdZZWxsb3ciLCJiZ0JsdWUiLCJiZ01hZ2VudGEiLCJiZ0N5YW4iLCJiZ1doaXRlIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2dsb2JhbFRoaXMiLCJlbnYiLCJzdGRvdXQiLCJnbG9iYWxUaGlzIiwicHJvY2VzcyIsImVuYWJsZWQiLCJOT19DT0xPUiIsIkZPUkNFX0NPTE9SIiwiaXNUVFkiLCJDSSIsIlRFUk0iLCJyZXBsYWNlQ2xvc2UiLCJzdHIiLCJjbG9zZSIsInJlcGxhY2UiLCJpbmRleCIsInN0YXJ0Iiwic3Vic3RyaW5nIiwiZW5kIiwibGVuZ3RoIiwibmV4dEluZGV4IiwiaW5kZXhPZiIsImZvcm1hdHRlciIsIm9wZW4iLCJTdHJpbmciLCJpbnB1dCIsInN0cmluZyIsInMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/lib/picocolors.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/lib/picocolors.js": /*!**************************************************!*\ !*** ./node_modules/next/dist/lib/picocolors.js ***! \**************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("// ISC License\n// Copyright (c) 2021 Alexey Raspopov, Kostiantyn Denysov, Anton Verinov\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n//\n// https://github.com/alexeyraspopov/picocolors/blob/b6261487e7b81aaab2440e397a356732cad9e342/picocolors.js#L1\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n reset: function() {\n return reset;\n },\n bold: function() {\n return bold;\n },\n dim: function() {\n return dim;\n },\n italic: function() {\n return italic;\n },\n underline: function() {\n return underline;\n },\n inverse: function() {\n return inverse;\n },\n hidden: function() {\n return hidden;\n },\n strikethrough: function() {\n return strikethrough;\n },\n black: function() {\n return black;\n },\n red: function() {\n return red;\n },\n green: function() {\n return green;\n },\n yellow: function() {\n return yellow;\n },\n blue: function() {\n return blue;\n },\n magenta: function() {\n return magenta;\n },\n purple: function() {\n return purple;\n },\n cyan: function() {\n return cyan;\n },\n white: function() {\n return white;\n },\n gray: function() {\n return gray;\n },\n bgBlack: function() {\n return bgBlack;\n },\n bgRed: function() {\n return bgRed;\n },\n bgGreen: function() {\n return bgGreen;\n },\n bgYellow: function() {\n return bgYellow;\n },\n bgBlue: function() {\n return bgBlue;\n },\n bgMagenta: function() {\n return bgMagenta;\n },\n bgCyan: function() {\n return bgCyan;\n },\n bgWhite: function() {\n return bgWhite;\n }\n});\nvar _globalThis;\nconst { env, stdout } = ((_globalThis = globalThis) == null ? void 0 : _globalThis.process) ?? {};\nconst enabled = env && !env.NO_COLOR && (env.FORCE_COLOR || (stdout == null ? void 0 : stdout.isTTY) && !env.CI && env.TERM !== \"dumb\");\nconst replaceClose = (str, close, replace, index)=>{\n const start = str.substring(0, index) + replace;\n const end = str.substring(index + close.length);\n const nextIndex = end.indexOf(close);\n return ~nextIndex ? start + replaceClose(end, close, replace, nextIndex) : start + end;\n};\nconst formatter = (open, close, replace = open)=>{\n if (!enabled) return String;\n return (input)=>{\n const string = \"\" + input;\n const index = string.indexOf(close, open.length);\n return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;\n };\n};\nconst reset = enabled ? (s)=>`\\x1b[0m${s}\\x1b[0m` : String;\nconst bold = formatter(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\");\nconst dim = formatter(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\");\nconst italic = formatter(\"\\x1b[3m\", \"\\x1b[23m\");\nconst underline = formatter(\"\\x1b[4m\", \"\\x1b[24m\");\nconst inverse = formatter(\"\\x1b[7m\", \"\\x1b[27m\");\nconst hidden = formatter(\"\\x1b[8m\", \"\\x1b[28m\");\nconst strikethrough = formatter(\"\\x1b[9m\", \"\\x1b[29m\");\nconst black = formatter(\"\\x1b[30m\", \"\\x1b[39m\");\nconst red = formatter(\"\\x1b[31m\", \"\\x1b[39m\");\nconst green = formatter(\"\\x1b[32m\", \"\\x1b[39m\");\nconst yellow = formatter(\"\\x1b[33m\", \"\\x1b[39m\");\nconst blue = formatter(\"\\x1b[34m\", \"\\x1b[39m\");\nconst magenta = formatter(\"\\x1b[35m\", \"\\x1b[39m\");\nconst purple = formatter(\"\\x1b[38;2;173;127;168m\", \"\\x1b[39m\");\nconst cyan = formatter(\"\\x1b[36m\", \"\\x1b[39m\");\nconst white = formatter(\"\\x1b[37m\", \"\\x1b[39m\");\nconst gray = formatter(\"\\x1b[90m\", \"\\x1b[39m\");\nconst bgBlack = formatter(\"\\x1b[40m\", \"\\x1b[49m\");\nconst bgRed = formatter(\"\\x1b[41m\", \"\\x1b[49m\");\nconst bgGreen = formatter(\"\\x1b[42m\", \"\\x1b[49m\");\nconst bgYellow = formatter(\"\\x1b[43m\", \"\\x1b[49m\");\nconst bgBlue = formatter(\"\\x1b[44m\", \"\\x1b[49m\");\nconst bgMagenta = formatter(\"\\x1b[45m\", \"\\x1b[49m\");\nconst bgCyan = formatter(\"\\x1b[46m\", \"\\x1b[49m\");\nconst bgWhite = formatter(\"\\x1b[47m\", \"\\x1b[49m\"); //# sourceMappingURL=picocolors.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9waWNvY29sb3JzLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWM7QUFDZCx3RUFBd0U7QUFDeEUsMkVBQTJFO0FBQzNFLHlFQUF5RTtBQUN6RSxvRUFBb0U7QUFDcEUsMkVBQTJFO0FBQzNFLG1FQUFtRTtBQUNuRSwwRUFBMEU7QUFDMUUseUVBQXlFO0FBQ3pFLHdFQUF3RTtBQUN4RSwwRUFBMEU7QUFDMUUsaUVBQWlFO0FBQ2pFLEVBQUU7QUFDRiw4R0FBOEc7QUFDakc7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0EyQk47QUFDQSxTQUFTMkIsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSWpDLE9BQU9DLGNBQWMsQ0FBQytCLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUTdCLFNBQVM7SUFDYkcsT0FBTztRQUNILE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsS0FBSztRQUNELE9BQU9BO0lBQ1g7SUFDQUMsUUFBUTtRQUNKLE9BQU9BO0lBQ1g7SUFDQUMsV0FBVztRQUNQLE9BQU9BO0lBQ1g7SUFDQUMsU0FBUztRQUNMLE9BQU9BO0lBQ1g7SUFDQUMsUUFBUTtRQUNKLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsT0FBTztRQUNILE9BQU9BO0lBQ1g7SUFDQUMsS0FBSztRQUNELE9BQU9BO0lBQ1g7SUFDQUMsT0FBTztRQUNILE9BQU9BO0lBQ1g7SUFDQUMsUUFBUTtRQUNKLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsU0FBUztRQUNMLE9BQU9BO0lBQ1g7SUFDQUMsUUFBUTtRQUNKLE9BQU9BO0lBQ1g7SUFDQUMs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U2dDLFVBQVUsWUFBWTtBQUNyQyxNQUFNL0IsWUFBWStCLFVBQVUsWUFBWTtBQUN4QyxNQUFNOUIsU0FBUzhCLFVBQVUsWUFBWTtBQUNyQyxNQUFNN0IsVUFBVTZCLFVBQVUsWUFBWSxhQUV0QyxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9waWNvY29sb3JzLmpzPzUwMDgiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSVNDIExpY2Vuc2Vcbi8vIENvcHlyaWdodCAoYykgMjAyMSBBbGV4ZXkgUmFzcG9wb3YsIEtvc3RpYW50eW4gRGVueXNvdiwgQW50b24gVmVyaW5vdlxuLy8gUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XG4vLyBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlXG4vLyBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzLlxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVNcbi8vIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SXG4vLyBBTlkgU1BFQ0lBTCwgRElSRUNULCBJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTXG4vLyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU5cbi8vIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GXG4vLyBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxuLy9cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZXlyYXNwb3Bvdi9waWNvY29sb3JzL2Jsb2IvYjYyNjE0ODdlN2I4MWFhYWIyNDQwZTM5N2EzNTY3MzJjYWQ5ZTM0Mi9waWNvY29sb3JzLmpzI0wxXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHJlc2V0OiBudWxsLFxuICAgIGJvbGQ6IG51bGwsXG4gICAgZGltOiBudWxsLFxuICAgIGl0YWxpYzogbnVsbCxcbiAgICB1bmRlcmxpbmU6IG51bGwsXG4gICAgaW52ZXJzZTogbnVsbCxcbiAgICBoaWRkZW46IG51bGwsXG4gICAgc3RyaWtldGhyb3VnaDogbnVsbCxcbiAgICBibGFjazogbnVsbCxcbiAgICByZWQ6IG51bGwsXG4gICAgZ3JlZW46IG51bGwsXG4gICAgeWVsbG93OiBudWxsLFxuICAgIGJsdWU6IG51bGwsXG4gICAgbWFnZW50YTogbnVsbCxcbiAgICBwdXJwbGU6IG51bGwsXG4gICAgY3lhbjogbnVsbCxcbiAgICB3aGl0ZTogbnVsbCxcbiAgICBncmF5OiBudWxsLFxuICAgIGJnQmxhY2s6IG51bGwsXG4gICAgYmdSZWQ6IG51bGwsXG4gICAgYmdHcmVlbjogbnVsbCxcbiAgICBiZ1llbGxvdzogbnVsbCxcbiAgICBiZ0JsdWU6IG51bGwsXG4gICAgYmdNYWdlbnRhOiBudWxsLFxuICAgIGJnQ3lhbjogbnVsbCxcbiAgICBiZ1doaXRlOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHJlc2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlc2V0O1xuICAgIH0sXG4gICAgYm9sZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBib2xkO1xuICAgIH0sXG4gICAgZGltOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGRpbTtcbiAgICB9LFxuICAgIGl0YWxpYzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpdGFsaWM7XG4gICAgfSxcbiAgICB1bmRlcmxpbmU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdW5kZXJsaW5lO1xuICAgIH0sXG4gICAgaW52ZXJzZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpbnZlcnNlO1xuICAgIH0sXG4gICAgaGlkZGVuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhpZGRlbjtcbiAgICB9LFxuICAgIHN0cmlrZXRocm91Z2g6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3RyaWtldGhyb3VnaDtcbiAgICB9LFxuICAgIGJsYWNrOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJsYWNrO1xuICAgIH0sXG4gICAgcmVkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlZDtcbiAgICB9LFxuICAgIGdyZWVuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdyZWVuO1xuICAgIH0sXG4gICAgeWVsbG93OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHllbGxvdztcbiAgICB9LFxuICAgIGJsdWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYmx1ZTtcbiAgICB9LFxuICAgIG1hZ2VudGE6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbWFnZW50YTtcbiAgICB9LFxuICAgIHB1cnBsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwdXJwbGU7XG4gICAgfSxcbiAgICBjeWFuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGN5YW47XG4gICAgfSxcbiAgICB3aGl0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB3aGl0ZTtcbiAgICB9LFxuICAgIGdyYXk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ3JheTtcbiAgICB9LFxuICAgIGJnQmxhY2s6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYmdCbGFjaztcbiAgICB9LFxuICAgIGJnUmVkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJnUmVkO1xuICAgIH0sXG4gICAgYmdHcmVlbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBiZ0dyZWVuO1xuICAgIH0sXG4gICAgYmdZZWxsb3c6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYmdZZWxsb3c7XG4gICAgfSxcbiAgICBiZ0JsdWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYmdCbHVlO1xuICAgIH0sXG4gICAgYmdNYWdlbnRhOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJnTWFnZW50YTtcbiAgICB9LFxuICAgIGJnQ3lhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBiZ0N5YW47XG4gICAgfSxcbiAgICBiZ1doaXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJnV2hpdGU7XG4gICAgfVxufSk7XG52YXIgX2dsb2JhbFRoaXM7XG5jb25zdCB7IGVudiwgc3Rkb3V0IH0gPSAoKF9nbG9iYWxUaGlzID0gZ2xvYmFsVGhpcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9nbG9iYWxUaGlzLnByb2Nlc3MpID8/IHt9O1xuY29uc3QgZW5hYmxlZCA9IGVudiAmJiAhZW52Lk5PX0NPTE9SICYmIChlbnYuRk9SQ0VfQ09MT1IgfHwgKHN0ZG91dCA9PSBudWxsID8gdm9pZCAwIDogc3Rkb3V0LmlzVFRZKSAmJiAhZW52LkNJICYmIGVudi5URVJNICE9PSBcImR1bWJcIik7XG5jb25zdCByZXBsYWNlQ2xvc2UgPSAoc3RyLCBjbG9zZSwgcmVwbGFjZSwgaW5kZXgpPT57XG4gICAgY29uc3Qgc3RhcnQgPSBzdHIuc3Vic3RyaW5nKDAsIGluZGV4KSArIHJlcGxhY2U7XG4gICAgY29uc3QgZW5kID0gc3RyLnN1YnN0cmluZyhpbmRleCArIGNsb3NlLmxlbmd0aCk7XG4gICAgY29uc3QgbmV4dEluZGV4ID0gZW5kLmluZGV4T2YoY2xvc2UpO1xuICAgIHJldHVybiB+bmV4dEluZGV4ID8gc3RhcnQgKyByZXBsYWNlQ2xvc2UoZW5kLCBjbG9zZSwgcmVwbGFjZSwgbmV4dEluZGV4KSA6IHN0YXJ0ICsgZW5kO1xufTtcbmNvbnN0IGZvcm1hdHRlciA9IChvcGVuLCBjbG9zZSwgcmVwbGFjZSA9IG9wZW4pPT57XG4gICAgaWYgKCFlbmFibGVkKSByZXR1cm4gU3RyaW5nO1xuICAgIHJldHVybiAoaW5wdXQpPT57XG4gICAgICAgIGNvbnN0IHN0cmluZyA9IFwiXCIgKyBpbnB1dDtcbiAgICAgICAgY29uc3QgaW5kZXggPSBzdHJpbmcuaW5kZXhPZihjbG9zZSwgb3Blbi5sZW5ndGgpO1xuICAgICAgICByZXR1cm4gfmluZGV4ID8gb3BlbiArIHJlcGxhY2VDbG9zZShzdHJpbmcsIGNsb3NlLCByZXBsYWNlLCBpbmRleCkgKyBjbG9zZSA6IG9wZW4gKyBzdHJpbmcgKyBjbG9zZTtcbiAgICB9O1xufTtcbmNvbnN0IHJlc2V0ID0gZW5hYmxlZCA/IChzKT0+YFxceDFiWzBtJHtzfVxceDFiWzBtYCA6IFN0cmluZztcbmNvbnN0IGJvbGQgPSBmb3JtYXR0ZXIoXCJcXHgxYlsxbVwiLCBcIlxceDFiWzIybVwiLCBcIlxceDFiWzIybVxceDFiWzFtXCIpO1xuY29uc3QgZGltID0gZm9ybWF0dGVyKFwiXFx4MWJbMm1cIiwgXCJcXHgxYlsyMm1cIiwgXCJcXHgxYlsyMm1cXHgxYlsybVwiKTtcbmNvbnN0IGl0YWxpYyA9IGZvcm1hdHRlcihcIlxceDFiWzNtXCIsIFwiXFx4MWJbMjNtXCIpO1xuY29uc3QgdW5kZXJsaW5lID0gZm9ybWF0dGVyKFwiXFx4MWJbNG1cIiwgXCJcXHgxYlsyNG1cIik7XG5jb25zdCBpbnZlcnNlID0gZm9ybWF0dGVyKFwiXFx4MWJbN21cIiwgXCJcXHgxYlsyN21cIik7XG5jb25zdCBoaWRkZW4gPSBmb3JtYXR0ZXIoXCJcXHgxYls4bVwiLCBcIlxceDFiWzI4bVwiKTtcbmNvbnN0IHN0cmlrZXRocm91Z2ggPSBmb3JtYXR0ZXIoXCJcXHgxYls5bVwiLCBcIlxceDFiWzI5bVwiKTtcbmNvbnN0IGJsYWNrID0gZm9ybWF0dGVyKFwiXFx4MWJbMzBtXCIsIFwiXFx4MWJbMzltXCIpO1xuY29uc3QgcmVkID0gZm9ybWF0dGVyKFwiXFx4MWJbMzFtXCIsIFwiXFx4MWJbMzltXCIpO1xuY29uc3QgZ3JlZW4gPSBmb3JtYXR0ZXIoXCJcXHgxYlszMm1cIiwgXCJcXHgxYlszOW1cIik7XG5jb25zdCB5ZWxsb3cgPSBmb3JtYXR0ZXIoXCJcXHgxYlszM21cIiwgXCJcXHgxYlszOW1cIik7XG5jb25zdCBibHVlID0gZm9ybWF0dGVyKFwiXFx4MWJbMzRtXCIsIFwiXFx4MWJbMzltXCIpO1xuY29uc3QgbWFnZW50YSA9IGZvcm1hdHRlcihcIlxceDFiWzM1bVwiLCBcIlxceDFiWzM5bVwiKTtcbmNvbnN0IHB1cnBsZSA9IGZvcm1hdHRlcihcIlxceDFiWzM4OzI7MTczOzEyNzsxNjhtXCIsIFwiXFx4MWJbMzltXCIpO1xuY29uc3QgY3lhbiA9IGZvcm1hdHRlcihcIlxceDFiWzM2bVwiLCBcIlxceDFiWzM5bVwiKTtcbmNvbnN0IHdoaXRlID0gZm9ybWF0dGVyKFwiXFx4MWJbMzdtXCIsIFwiXFx4MWJbMzltXCIpO1xuY29uc3QgZ3JheSA9IGZvcm1hdHRlcihcIlxceDFiWzkwbVwiLCBcIlxceDFiWzM5bVwiKTtcbmNvbnN0IGJnQmxhY2sgPSBmb3JtYXR0ZXIoXCJcXHgxYls0MG1cIiwgXCJcXHgxYls0OW1cIik7XG5jb25zdCBiZ1JlZCA9IGZvcm1hdHRlcihcIlxceDFiWzQxbVwiLCBcIlxceDFiWzQ5bVwiKTtcbmNvbnN0IGJnR3JlZW4gPSBmb3JtYXR0ZXIoXCJcXHgxYls0Mm1cIiwgXCJcXHgxYls0OW1cIik7XG5jb25zdCBiZ1llbGxvdyA9IGZvcm1hdHRlcihcIlxceDFiWzQzbVwiLCBcIlxceDFiWzQ5bVwiKTtcbmNvbnN0IGJnQmx1ZSA9IGZvcm1hdHRlcihcIlxceDFiWzQ0bVwiLCBcIlxceDFiWzQ5bVwiKTtcbmNvbnN0IGJnTWFnZW50YSA9IGZvcm1hdHRlcihcIlxceDFiWzQ1bVwiLCBcIlxceDFiWzQ5bVwiKTtcbmNvbnN0IGJnQ3lhbiA9IGZvcm1hdHRlcihcIlxceDFiWzQ2bVwiLCBcIlxceDFiWzQ5bVwiKTtcbmNvbnN0IGJnV2hpdGUgPSBmb3JtYXR0ZXIoXCJcXHgxYls0N21cIiwgXCJcXHgxYls0OW1cIik7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBpY29jb2xvcnMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwicmVzZXQiLCJib2xkIiwiZGltIiwiaXRhbGljIiwidW5kZXJsaW5lIiwiaW52ZXJzZSIsImhpZGRlbiIsInN0cmlrZXRocm91Z2giLCJibGFjayIsInJlZCIsImdyZWVuIiwieWVsbG93IiwiYmx1ZSIsIm1hZ2VudGEiLCJwdXJwbGUiLCJjeWFuIiwid2hpdGUiLCJncmF5IiwiYmdCbGFjayIsImJnUmVkIiwiYmdHcmVlbiIsImJnWWVsbG93IiwiYmdCbHVlIiwiYmdNYWdlbnRhIiwiYmdDeWFuIiwiYmdXaGl0ZSIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9nbG9iYWxUaGlzIiwiZW52Iiwic3Rkb3V0IiwiZ2xvYmFsVGhpcyIsInByb2Nlc3MiLCJlbmFibGVkIiwiTk9fQ09MT1IiLCJGT1JDRV9DT0xPUiIsImlzVFRZIiwiQ0kiLCJURVJNIiwicmVwbGFjZUNsb3NlIiwic3RyIiwiY2xvc2UiLCJyZXBsYWNlIiwiaW5kZXgiLCJzdGFydCIsInN1YnN0cmluZyIsImVuZCIsImxlbmd0aCIsIm5leHRJbmRleCIsImluZGV4T2YiLCJmb3JtYXR0ZXIiLCJvcGVuIiwiU3RyaW5nIiwiaW5wdXQiLCJzdHJpbmciLCJzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/lib/picocolors.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/lib/scheduler.js": /*!*************************************************!*\ !*** ./node_modules/next/dist/lib/scheduler.js ***! \*************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n scheduleOnNextTick: function() {\n return scheduleOnNextTick;\n },\n scheduleImmediate: function() {\n return scheduleImmediate;\n }\n});\nconst scheduleOnNextTick = (cb)=>{\n // We use Promise.resolve().then() here so that the operation is scheduled at\n // the end of the promise job queue, we then add it to the next process tick\n // to ensure it's evaluated afterwards.\n //\n // This was inspired by the implementation of the DataLoader interface: https://github.com/graphql/dataloader/blob/d336bd15282664e0be4b4a657cb796f09bafbc6b/src/index.js#L213-L255\n //\n Promise.resolve().then(()=>{\n process.nextTick(cb);\n });\n};\nconst scheduleImmediate = (cb)=>{\n if (false) {} else {\n setImmediate(cb);\n }\n}; //# sourceMappingURL=scheduler.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL3NjaGVkdWxlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTUQscUJBQXFCLENBQUNRO0lBQ3hCLDZFQUE2RTtJQUM3RSw0RUFBNEU7SUFDNUUsdUNBQXVDO0lBQ3ZDLEVBQUU7SUFDRixrTEFBa0w7SUFDbEwsRUFBRTtJQUNGQyxRQUFRQyxPQUFPLEdBQUdDLElBQUksQ0FBQztRQUNuQkMsUUFBUUMsUUFBUSxDQUFDTDtJQUNyQjtBQUNKO0FBQ0EsTUFBTVAsb0JBQW9CLENBQUNPO0lBQ3ZCLElBQUlJLEtBQW1DLEVBQUUsRUFFeEMsTUFBTTtRQUNISyxhQUFhVDtJQUNqQjtBQUNKLEdBRUEscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvc2NoZWR1bGVyLmpzPzY1YmMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBzY2hlZHVsZU9uTmV4dFRpY2s6IG51bGwsXG4gICAgc2NoZWR1bGVJbW1lZGlhdGU6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgc2NoZWR1bGVPbk5leHRUaWNrOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHNjaGVkdWxlT25OZXh0VGljaztcbiAgICB9LFxuICAgIHNjaGVkdWxlSW1tZWRpYXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHNjaGVkdWxlSW1tZWRpYXRlO1xuICAgIH1cbn0pO1xuY29uc3Qgc2NoZWR1bGVPbk5leHRUaWNrID0gKGNiKT0+e1xuICAgIC8vIFdlIHVzZSBQcm9taXNlLnJlc29sdmUoKS50aGVuKCkgaGVyZSBzbyB0aGF0IHRoZSBvcGVyYXRpb24gaXMgc2NoZWR1bGVkIGF0XG4gICAgLy8gdGhlIGVuZCBvZiB0aGUgcHJvbWlzZSBqb2IgcXVldWUsIHdlIHRoZW4gYWRkIGl0IHRvIHRoZSBuZXh0IHByb2Nlc3MgdGlja1xuICAgIC8vIHRvIGVuc3VyZSBpdCdzIGV2YWx1YXRlZCBhZnRlcndhcmRzLlxuICAgIC8vXG4gICAgLy8gVGhpcyB3YXMgaW5zcGlyZWQgYnkgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBEYXRhTG9hZGVyIGludGVyZmFjZTogaHR0cHM6Ly9naXRodWIuY29tL2dyYXBocWwvZGF0YWxvYWRlci9ibG9iL2QzMzZiZDE1MjgyNjY0ZTBiZTRiNGE2NTdjYjc5NmYwOWJhZmJjNmIvc3JjL2luZGV4LmpzI0wyMTMtTDI1NVxuICAgIC8vXG4gICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e1xuICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGNiKTtcbiAgICB9KTtcbn07XG5jb25zdCBzY2hlZHVsZUltbWVkaWF0ZSA9IChjYik9PntcbiAgICBpZiAocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID09PSBcImVkZ2VcIikge1xuICAgICAgICBzZXRUaW1lb3V0KGNiLCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBzZXRJbW1lZGlhdGUoY2IpO1xuICAgIH1cbn07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNjaGVkdWxlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJzY2hlZHVsZU9uTmV4dFRpY2siLCJzY2hlZHVsZUltbWVkaWF0ZSIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsImNiIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwicHJvY2VzcyIsIm5leHRUaWNrIiwiZW52IiwiTkVYVF9SVU5USU1FIiwic2V0VGltZW91dCIsInNldEltbWVkaWF0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/lib/scheduler.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/app-render/action-encryption-utils.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/server/app-render/action-encryption-utils.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n arrayBufferToString: function() {\n return arrayBufferToString;\n },\n stringToUint8Array: function() {\n return stringToUint8Array;\n },\n encrypt: function() {\n return encrypt;\n },\n decrypt: function() {\n return decrypt;\n },\n generateRandomActionKeyRaw: function() {\n return generateRandomActionKeyRaw;\n },\n setReferenceManifestsSingleton: function() {\n return setReferenceManifestsSingleton;\n },\n getServerModuleMap: function() {\n return getServerModuleMap;\n },\n getClientReferenceManifestSingleton: function() {\n return getClientReferenceManifestSingleton;\n },\n getActionEncryptionKey: function() {\n return getActionEncryptionKey;\n }\n});\n// Keep the key in memory as it should never change during the lifetime of the server in\n// both development and production.\nlet __next_loaded_action_key;\nlet __next_internal_development_raw_action_key;\nfunction arrayBufferToString(buffer) {\n const bytes = new Uint8Array(buffer);\n const len = bytes.byteLength;\n // @anonrig: V8 has a limit of 65535 arguments in a function.\n // For len < 65535, this is faster.\n // https://github.com/vercel/next.js/pull/56377#pullrequestreview-1656181623\n if (len < 65535) {\n return String.fromCharCode.apply(null, bytes);\n }\n let binary = \"\";\n for(let i = 0; i < len; i++){\n binary += String.fromCharCode(bytes[i]);\n }\n return binary;\n}\nfunction stringToUint8Array(binary) {\n const len = binary.length;\n const arr = new Uint8Array(len);\n for(let i = 0; i < len; i++){\n arr[i] = binary.charCodeAt(i);\n }\n return arr;\n}\nfunction encrypt(key, iv, data) {\n return crypto.subtle.encrypt({\n name: \"AES-GCM\",\n iv\n }, key, data);\n}\nfunction decrypt(key, iv, data) {\n return crypto.subtle.decrypt({\n name: \"AES-GCM\",\n iv\n }, key, data);\n}\nasync function generateRandomActionKeyRaw(dev) {\n // For development, we just keep one key in memory for all actions.\n // This makes things faster.\n if (dev) {\n if (typeof __next_internal_development_raw_action_key !== \"undefined\") {\n return __next_internal_development_raw_action_key;\n }\n }\n const key = await crypto.subtle.generateKey({\n name: \"AES-GCM\",\n length: 256\n }, true, [\n \"encrypt\",\n \"decrypt\"\n ]);\n const exported = await crypto.subtle.exportKey(\"raw\", key);\n const b64 = btoa(arrayBufferToString(exported));\n __next_loaded_action_key = key;\n if (dev) {\n __next_internal_development_raw_action_key = b64;\n }\n return b64;\n}\n// This is a global singleton that is used to encode/decode the action bound args from\n// the closure. This can't be using a AsyncLocalStorage as it might happen on the module\n// level. Since the client reference manifest won't be mutated, let's use a global singleton\n// to keep it.\nconst SERVER_ACTION_MANIFESTS_SINGLETON = Symbol.for(\"next.server.action-manifests\");\nfunction setReferenceManifestsSingleton({ clientReferenceManifest, serverActionsManifest, serverModuleMap }) {\n // @ts-ignore\n globalThis[SERVER_ACTION_MANIFESTS_SINGLETON] = {\n clientReferenceManifest,\n serverActionsManifest,\n serverModuleMap\n };\n}\nfunction getServerModuleMap() {\n const serverActionsManifestSingleton = globalThis[SERVER_ACTION_MANIFESTS_SINGLETON];\n if (!serverActionsManifestSingleton) {\n throw new Error(\"Missing manifest for Server Actions. This is a bug in Next.js\");\n }\n return serverActionsManifestSingleton.serverModuleMap;\n}\nfunction getClientReferenceManifestSingleton() {\n const serverActionsManifestSingleton = globalThis[SERVER_ACTION_MANIFESTS_SINGLETON];\n if (!serverActionsManifestSingleton) {\n throw new Error(\"Missing manifest for Server Actions. This is a bug in Next.js\");\n }\n return serverActionsManifestSingleton.clientReferenceManifest;\n}\nasync function getActionEncryptionKey() {\n if (__next_loaded_action_key) {\n return __next_loaded_action_key;\n }\n const serverActionsManifestSingleton = globalThis[SERVER_ACTION_MANIFESTS_SINGLETON];\n if (!serverActionsManifestSingleton) {\n throw new Error(\"Missing manifest for Server Actions. This is a bug in Next.js\");\n }\n const rawKey = process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY || serverActionsManifestSingleton.serverActionsManifest.encryptionKey;\n if (rawKey === undefined) {\n throw new Error(\"Missing encryption key for Server Actions\");\n }\n __next_loaded_action_key = await crypto.subtle.importKey(\"raw\", stringToUint8Array(atob(rawKey)), \"AES-GCM\", true, [\n \"encrypt\",\n \"decrypt\"\n ]);\n return __next_loaded_action_key;\n} //# sourceMappingURL=action-encryption-utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvYWN0aW9uLWVuY3J5cHRpb24tdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FVTjtBQUNBLFNBQVNVLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUloQixPQUFPQyxjQUFjLENBQUNjLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUVosU0FBUztJQUNiRyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyxTQUFTO1FBQ0wsT0FBT0E7SUFDWDtJQUNBQyxTQUFTO1FBQ0wsT0FBT0E7SUFDWDtJQUNBQyw0QkFBNEI7UUFDeEIsT0FBT0E7SUFDWDtJQUNBQyxnQ0FBZ0M7UUFDNUIsT0FBT0E7SUFDWDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyxxQ0FBcUM7UUFDakMsT0FBT0E7SUFDWDtJQUNBQyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0Esd0ZBQXdGO0FBQ3hGLG1DQUFtQztBQUNuQyxJQUFJTztBQUNKLElBQUlDO0FBQ0osU0FBU2hCLG9CQUFvQmlCLE1BQU07SUFDL0IsTUFBTUMsUUFBUSxJQUFJQyxXQUFXRjtJQUM3QixNQUFNRyxNQUFNRixNQUFNRyxVQUFVO0lBQzVCLDZEQUE2RDtJQUM3RCxtQ0FBbUM7SUFDbkMsNEVBQTRFO0lBQzVFLElBQUlELE1BQU0sT0FBTztRQUNiLE9BQU9FLE9BQU9DLFlBQVksQ0FBQ0MsS0FBSyxDQUFDLE1BQU1OO0lBQzNDO0lBQ0EsSUFBSU8sU0FBUztJQUNiLElBQUksSUFBSUMsSUFBSSxHQUFH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cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9hY3Rpb24tZW5jcnlwdGlvbi11dGlscy5qcz9lN2I1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgYXJyYXlCdWZmZXJUb1N0cmluZzogbnVsbCxcbiAgICBzdHJpbmdUb1VpbnQ4QXJyYXk6IG51bGwsXG4gICAgZW5jcnlwdDogbnVsbCxcbiAgICBkZWNyeXB0OiBudWxsLFxuICAgIGdlbmVyYXRlUmFuZG9tQWN0aW9uS2V5UmF3OiBudWxsLFxuICAgIHNldFJlZmVyZW5jZU1hbmlmZXN0c1NpbmdsZXRvbjogbnVsbCxcbiAgICBnZXRTZXJ2ZXJNb2R1bGVNYXA6IG51bGwsXG4gICAgZ2V0Q2xpZW50UmVmZXJlbmNlTWFuaWZlc3RTaW5nbGV0b246IG51bGwsXG4gICAgZ2V0QWN0aW9uRW5jcnlwdGlvbktleTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBhcnJheUJ1ZmZlclRvU3RyaW5nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFycmF5QnVmZmVyVG9TdHJpbmc7XG4gICAgfSxcbiAgICBzdHJpbmdUb1VpbnQ4QXJyYXk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3RyaW5nVG9VaW50OEFycmF5O1xuICAgIH0sXG4gICAgZW5jcnlwdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBlbmNyeXB0O1xuICAgIH0sXG4gICAgZGVjcnlwdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkZWNyeXB0O1xuICAgIH0sXG4gICAgZ2VuZXJhdGVSYW5kb21BY3Rpb25LZXlSYXc6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2VuZXJhdGVSYW5kb21BY3Rpb25LZXlSYXc7XG4gICAgfSxcbiAgICBzZXRSZWZlcmVuY2VNYW5pZmVzdHNTaW5nbGV0b246IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc2V0UmVmZXJlbmNlTWFuaWZlc3RzU2luZ2xldG9uO1xuICAgIH0sXG4gICAgZ2V0U2VydmVyTW9kdWxlTWFwOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFNlcnZlck1vZHVsZU1hcDtcbiAgICB9LFxuICAgIGdldENsaWVudFJlZmVyZW5jZU1hbmlmZXN0U2luZ2xldG9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldENsaWVudFJlZmVyZW5jZU1hbmlmZXN0U2luZ2xldG9uO1xuICAgIH0sXG4gICAgZ2V0QWN0aW9uRW5jcnlwdGlvbktleTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRBY3Rpb25FbmNyeXB0aW9uS2V5O1xuICAgIH1cbn0pO1xuLy8gS2VlcCB0aGUga2V5IGluIG1lbW9yeSBhcyBpdCBzaG91bGQgbmV2ZXIgY2hhbmdlIGR1cmluZyB0aGUgbGlmZXRpbWUgb2YgdGhlIHNlcnZlciBpblxuLy8gYm90aCBkZXZlbG9wbWVudCBhbmQgcHJvZHVjdGlvbi5cbmxldCBfX25leHRfbG9hZGVkX2FjdGlvbl9rZXk7XG5sZXQgX19uZXh0X2ludGVybmFsX2RldmVsb3BtZW50X3Jhd19hY3Rpb25fa2V5O1xuZnVuY3Rpb24gYXJyYXlCdWZmZXJUb1N0cmluZyhidWZmZXIpIHtcbiAgICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KGJ1ZmZlcik7XG4gICAgY29uc3QgbGVuID0gYnl0ZXMuYnl0ZUxlbmd0aDtcbiAgICAvLyBAYW5vbnJpZzogVjggaGFzIGEgbGltaXQgb2YgNjU1MzUgYXJndW1lbnRzIGluIGEgZnVuY3Rpb24uXG4gICAgLy8gRm9yIGxlbiA8IDY1NTM1LCB0aGlzIGlzIGZhc3Rlci5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdmVyY2VsL25leHQuanMvcHVsbC81NjM3NyNwdWxscmVxdWVzdHJldmlldy0xNjU2MTgxNjIzXG4gICAgaWYgKGxlbiA8IDY1NTM1KSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIGJ5dGVzKTtcbiAgICB9XG4gICAgbGV0IGJpbmFyeSA9IFwiXCI7XG4gICAgZm9yKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKXtcbiAgICAgICAgYmluYXJ5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnl0ZXNbaV0pO1xuICAgIH1cbiAgICByZXR1cm4gYmluYXJ5O1xufVxuZnVuY3Rpb24gc3RyaW5nVG9VaW50OEFycmF5KGJpbmFyeSkge1xuICAgIGNvbnN0IGxlbiA9IGJpbmFyeS5sZW5ndGg7XG4gICAgY29uc3QgYXJyID0gbmV3IFVpbnQ4QXJyYXkobGVuKTtcbiAgICBmb3IobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspe1xuICAgICAgICBhcnJbaV0gPSBiaW5hcnkuY2hhckNvZGVBdChpKTtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbn1cbmZ1bmN0aW9uIGVuY3J5cHQoa2V5LCBpdiwgZGF0YSkge1xuICAgIHJldHVybiBjcnlwdG8uc3VidGxlLmVuY3J5cHQoe1xuICAgICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgICAgaXZcbiAgICB9LCBrZXksIGRhdGEpO1xufVxuZnVuY3Rpb24gZGVjcnlwdChrZXksIGl2LCBkYXRhKSB7XG4gICAgcmV0dXJuIGNyeXB0by5zdWJ0bGUuZGVjcnlwdCh7XG4gICAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgICBpdlxuICAgIH0sIGtleSwgZGF0YSk7XG59XG5hc3luYyBmdW5jdGlvbiBnZW5lcmF0ZVJhbmRvbUFjdGlvbktleVJhdyhkZXYpIHtcbiAgICAvLyBGb3IgZGV2ZWxvcG1lbnQsIHdlIGp1c3Qga2VlcCBvbmUga2V5IGluIG1lbW9yeSBmb3IgYWxsIGFjdGlvbnMuXG4gICAgLy8gVGhpcyBtYWtlcyB0aGluZ3MgZmFzdGVyLlxuICAgIGlmIChkZXYpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBfX25leHRfaW50ZXJuYWxfZGV2ZWxvcG1lbnRfcmF3X2FjdGlvbl9rZXkgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBfX25leHRfaW50ZXJuYWxfZGV2ZWxvcG1lbnRfcmF3X2FjdGlvbl9rZXk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qga2V5ID0gYXdhaXQgY3J5cHRvLnN1YnRsZS5nZW5lcmF0ZUtleSh7XG4gICAgICAgIG5hbWU6IFwiQUVTLUdDTVwiLFxuICAgICAgICBsZW5ndGg6IDI1NlxuICAgIH0sIHRydWUsIFtcbiAgICAgICAgXCJlbmNyeXB0XCIsXG4gICAgICAgIFwiZGVjcnlwdFwiXG4gICAgXSk7XG4gICAgY29uc3QgZXhwb3J0ZWQgPSBhd2FpdCBjcnlwdG8uc3VidGxlLmV4cG9ydEtleShcInJhd1wiLCBrZXkpO1xuICAgIGNvbnN0IGI2NCA9IGJ0b2EoYXJyYXlCdWZmZXJUb1N0cmluZyhleHBvcnRlZCkpO1xuICAgIF9fbmV4dF9sb2FkZWRfYWN0aW9uX2tleSA9IGtleTtcbiAgICBpZiAoZGV2KSB7XG4gICAgICAgIF9fbmV4dF9pbnRlcm5hbF9kZXZlbG9wbWVudF9yYXdfYWN0aW9uX2tleSA9IGI2NDtcbiAgICB9XG4gICAgcmV0dXJuIGI2NDtcbn1cbi8vIFRoaXMgaXMgYSBnbG9iYWwgc2luZ2xldG9uIHRoYXQgaXMgdXNlZCB0byBlbmNvZGUvZGVjb2RlIHRoZSBhY3Rpb24gYm91bmQgYXJncyBmcm9tXG4vLyB0aGUgY2xvc3VyZS4gVGhpcyBjYW4ndCBiZSB1c2luZyBhIEFzeW5jTG9jYWxTdG9yYWdlIGFzIGl0IG1pZ2h0IGhhcHBlbiBvbiB0aGUgbW9kdWxlXG4vLyBsZXZlbC4gU2luY2UgdGhlIGNsaWVudCByZWZlcmVuY2UgbWFuaWZlc3Qgd29uJ3QgYmUgbXV0YXRlZCwgbGV0J3MgdXNlIGEgZ2xvYmFsIHNpbmdsZXRvblxuLy8gdG8ga2VlcCBpdC5cbmNvbnN0IFNFUlZFUl9BQ1RJT05fTUFOSUZFU1RTX1NJTkdMRVRPTiA9IFN5bWJvbC5mb3IoXCJuZXh0LnNlcnZlci5hY3Rpb24tbWFuaWZlc3RzXCIpO1xuZnVuY3Rpb24gc2V0UmVmZXJlbmNlTWFuaWZlc3RzU2luZ2xldG9uKHsgY2xpZW50UmVmZXJlbmNlTWFuaWZlc3QsIHNlcnZlckFjdGlvbnNNYW5pZmVzdCwgc2VydmVyTW9kdWxlTWFwIH0pIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgZ2xvYmFsVGhpc1tTRVJWRVJfQUNUSU9OX01BTklGRVNUU19TSU5HTEVUT05dID0ge1xuICAgICAgICBjbGllbnRSZWZlcmVuY2VNYW5pZmVzdCxcbiAgICAgICAgc2VydmVyQWN0aW9uc01hbmlmZXN0LFxuICAgICAgICBzZXJ2ZXJNb2R1bGVNYXBcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0U2VydmVyTW9kdWxlTWFwKCkge1xuICAgIGNvbnN0IHNlcnZlckFjdGlvbnNNYW5pZmVzdFNpbmdsZXRvbiA9IGdsb2JhbFRoaXNbU0VSVkVSX0FDVElPTl9NQU5JRkVTVFNfU0lOR0xFVE9OXTtcbiAgICBpZiAoIXNlcnZlckFjdGlvbnNNYW5pZmVzdFNpbmdsZXRvbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIG1hbmlmZXN0IGZvciBTZXJ2ZXIgQWN0aW9ucy4gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzXCIpO1xuICAgIH1cbiAgICByZXR1cm4gc2VydmVyQWN0aW9uc01hbmlmZXN0U2luZ2xldG9uLnNlcnZlck1vZHVsZU1hcDtcbn1cbmZ1bmN0aW9uIGdldENsaWVudFJlZmVyZW5jZU1hbmlmZXN0U2luZ2xldG9uKCkge1xuICAgIGNvbnN0IHNlcnZlckFjdGlvbnNNYW5pZmVzdFNpbmdsZXRvbiA9IGdsb2JhbFRoaXNbU0VSVkVSX0FDVElPTl9NQU5JRkVTVFNfU0lOR0xFVE9OXTtcbiAgICBpZiAoIXNlcnZlckFjdGlvbnNNYW5pZmVzdFNpbmdsZXRvbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIG1hbmlmZXN0IGZvciBTZXJ2ZXIgQWN0aW9ucy4gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzXCIpO1xuICAgIH1cbiAgICByZXR1cm4gc2VydmVyQWN0aW9uc01hbmlmZXN0U2luZ2xldG9uLmNsaWVudFJlZmVyZW5jZU1hbmlmZXN0O1xufVxuYXN5bmMgZnVuY3Rpb24gZ2V0QWN0aW9uRW5jcnlwdGlvbktleSgpIHtcbiAgICBpZiAoX19uZXh0X2xvYWRlZF9hY3Rpb25fa2V5KSB7XG4gICAgICAgIHJldHVybiBfX25leHRfbG9hZGVkX2FjdGlvbl9rZXk7XG4gICAgfVxuICAgIGNvbnN0IHNlcnZlckFjdGlvbnNNYW5pZmVzdFNpbmdsZXRvbiA9IGdsb2JhbFRoaXNbU0VSVkVSX0FDVElPTl9NQU5JRkVTVFNfU0lOR0xFVE9OXTtcbiAgICBpZiAoIXNlcnZlckFjdGlvbnNNYW5pZmVzdFNpbmdsZXRvbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIG1hbmlmZXN0IGZvciBTZXJ2ZXIgQWN0aW9ucy4gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzXCIpO1xuICAgIH1cbiAgICBjb25zdCByYXdLZXkgPSBwcm9jZXNzLmVudi5ORVhUX1NFUlZFUl9BQ1RJT05TX0VOQ1JZUFRJT05fS0VZIHx8IHNlcnZlckFjdGlvbnNNYW5pZmVzdFNpbmdsZXRvbi5zZXJ2ZXJBY3Rpb25zTWFuaWZlc3QuZW5jcnlwdGlvbktleTtcbiAgICBpZiAocmF3S2V5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBlbmNyeXB0aW9uIGtleSBmb3IgU2VydmVyIEFjdGlvbnNcIik7XG4gICAgfVxuICAgIF9fbmV4dF9sb2FkZWRfYWN0aW9uX2tleSA9IGF3YWl0IGNyeXB0by5zdWJ0bGUuaW1wb3J0S2V5KFwicmF3XCIsIHN0cmluZ1RvVWludDhBcnJheShhdG9iKHJhd0tleSkpLCBcIkFFUy1HQ01cIiwgdHJ1ZSwgW1xuICAgICAgICBcImVuY3J5cHRcIixcbiAgICAgICAgXCJkZWNyeXB0XCJcbiAgICBdKTtcbiAgICByZXR1cm4gX19uZXh0X2xvYWRlZF9hY3Rpb25fa2V5O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hY3Rpb24tZW5jcnlwdGlvbi11dGlscy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJhcnJheUJ1ZmZlclRvU3RyaW5nIiwic3RyaW5nVG9VaW50OEFycmF5IiwiZW5jcnlwdCIsImRlY3J5cHQiLCJnZW5lcmF0ZVJhbmRvbUFjdGlvbktleVJhdyIsInNldFJlZmVyZW5jZU1hbmlmZXN0c1NpbmdsZXRvbiIsImdldFNlcnZlck1vZHVsZU1hcCIsImdldENsaWVudFJlZmVyZW5jZU1hbmlmZXN0U2luZ2xldG9uIiwiZ2V0QWN0aW9uRW5jcnlwdGlvbktleSIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9fbmV4dF9sb2FkZWRfYWN0aW9uX2tleSIsIl9fbmV4dF9pbnRlcm5hbF9kZXZlbG9wbWVudF9yYXdfYWN0aW9uX2tleSIsImJ1ZmZlciIsImJ5dGVzIiwiVWludDhBcnJheSIsImxlbiIsImJ5dGVMZW5ndGgiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJhcHBseSIsImJpbmFyeSIsImkiLCJsZW5ndGgiLCJhcnIiLCJjaGFyQ29kZUF0Iiwia2V5IiwiaXYiLCJkYXRhIiwiY3J5cHRvIiwic3VidGxlIiwiZGV2IiwiZ2VuZXJhdGVLZXkiLCJleHBvcnRlZCIsImV4cG9ydEtleSIsImI2NCIsImJ0b2EiLCJTRVJWRVJfQUNUSU9OX01BTklGRVNUU19TSU5HTEVUT04iLCJTeW1ib2wiLCJmb3IiLCJjbGllbnRSZWZlcmVuY2VNYW5pZmVzdCIsInNlcnZlckFjdGlvbnNNYW5pZmVzdCIsInNlcnZlck1vZHVsZU1hcCIsImdsb2JhbFRoaXMiLCJzZXJ2ZXJBY3Rpb25zTWFuaWZlc3RTaW5nbGV0b24iLCJFcnJvciIsInJhd0tleSIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1NFUlZFUl9BQ1RJT05TX0VOQ1JZUFRJT05fS0VZIiwiZW5jcnlwdGlvbktleSIsInVuZGVmaW5lZCIsImltcG9ydEtleSIsImF0b2IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/app-render/action-encryption-utils.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/app-render/action-encryption.js": /*!***********************************************************************!*\ !*** ./node_modules/next/dist/server/app-render/action-encryption.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("/* eslint-disable import/no-extraneous-dependencies */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n encryptActionBoundArgs: function() {\n return encryptActionBoundArgs;\n },\n decryptActionBoundArgs: function() {\n return decryptActionBoundArgs;\n }\n});\n__webpack_require__(/*! server-only */ \"(action-browser)/./node_modules/next/dist/compiled/server-only/empty.js\");\nconst _serveredge = __webpack_require__(/*! react-server-dom-webpack/server.edge */ \"(action-browser)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js\");\nconst _clientedge = __webpack_require__(/*! react-server-dom-webpack/client.edge */ \"(action-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/client.edge.js\");\nconst _nodewebstreamshelper = __webpack_require__(/*! ../stream-utils/node-web-streams-helper */ \"(action-browser)/./node_modules/next/dist/server/stream-utils/node-web-streams-helper.js\");\nconst _actionencryptionutils = __webpack_require__(/*! ./action-encryption-utils */ \"(action-browser)/./node_modules/next/dist/server/app-render/action-encryption-utils.js\");\nconst textEncoder = new TextEncoder();\nconst textDecoder = new TextDecoder();\nasync function decodeActionBoundArg(actionId, arg) {\n const key = await (0, _actionencryptionutils.getActionEncryptionKey)();\n if (typeof key === \"undefined\") {\n throw new Error(`Missing encryption key for Server Action. This is a bug in Next.js`);\n }\n // Get the iv (16 bytes) and the payload from the arg.\n const originalPayload = atob(arg);\n const ivValue = originalPayload.slice(0, 16);\n const payload = originalPayload.slice(16);\n if (payload === undefined) {\n throw new Error(\"Invalid Server Action payload.\");\n }\n const decrypted = textDecoder.decode(await (0, _actionencryptionutils.decrypt)(key, (0, _actionencryptionutils.stringToUint8Array)(ivValue), (0, _actionencryptionutils.stringToUint8Array)(payload)));\n if (!decrypted.startsWith(actionId)) {\n throw new Error(\"Invalid Server Action payload: failed to decrypt.\");\n }\n return decrypted.slice(actionId.length);\n}\nasync function encodeActionBoundArg(actionId, arg) {\n const key = await (0, _actionencryptionutils.getActionEncryptionKey)();\n if (key === undefined) {\n throw new Error(`Missing encryption key for Server Action. This is a bug in Next.js`);\n }\n // Get 16 random bytes as iv.\n const randomBytes = new Uint8Array(16);\n crypto.getRandomValues(randomBytes);\n const ivValue = (0, _actionencryptionutils.arrayBufferToString)(randomBytes.buffer);\n const encrypted = await (0, _actionencryptionutils.encrypt)(key, randomBytes, textEncoder.encode(actionId + arg));\n return btoa(ivValue + (0, _actionencryptionutils.arrayBufferToString)(encrypted));\n}\nasync function encryptActionBoundArgs(actionId, args) {\n const clientReferenceManifestSingleton = (0, _actionencryptionutils.getClientReferenceManifestSingleton)();\n // Using Flight to serialize the args into a string.\n const serialized = await (0, _nodewebstreamshelper.streamToString)((0, _serveredge.renderToReadableStream)(args, clientReferenceManifestSingleton.clientModules));\n // Encrypt the serialized string with the action id as the salt.\n // Add a prefix to later ensure that the payload is correctly decrypted, similar\n // to a checksum.\n const encrypted = await encodeActionBoundArg(actionId, serialized);\n return encrypted;\n}\nasync function decryptActionBoundArgs(actionId, encrypted) {\n // Decrypt the serialized string with the action id as the salt.\n const decryped = await decodeActionBoundArg(actionId, await encrypted);\n // Using Flight to deserialize the args from the string.\n const deserialized = await (0, _clientedge.createFromReadableStream)(new ReadableStream({\n start (controller) {\n controller.enqueue(new TextEncoder().encode(decryped));\n controller.close();\n }\n }), {\n ssrManifest: {\n // TODO: We can't use the client reference manifest to resolve the modules\n // on the server side - instead they need to be recovered as the module\n // references (proxies) again.\n // For now, we'll just use an empty module map.\n moduleLoading: {},\n moduleMap: {}\n }\n });\n // This extra step ensures that the server references are recovered.\n const serverModuleMap = (0, _actionencryptionutils.getServerModuleMap)();\n const transformed = await (0, _serveredge.decodeReply)(await (0, _clientedge.encodeReply)(deserialized), serverModuleMap);\n return transformed;\n} //# sourceMappingURL=action-encryption.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvYWN0aW9uLWVuY3J5cHRpb24uanMiLCJtYXBwaW5ncyI6IkFBQUEsb0RBQW9ELEdBQWdCO0FBQ3BFQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsd0JBQXdCO1FBQ3BCLE9BQU9BO0lBQ1g7SUFDQUMsd0JBQXdCO1FBQ3BCLE9BQU9BO0lBQ1g7QUFDSjtBQUNBTyxtQkFBT0EsQ0FBQyw0RkFBYTtBQUNyQixNQUFNQyxjQUFjRCxtQkFBT0EsQ0FBQyxpTEFBc0M7QUFDbEUsTUFBTUUsY0FBY0YsbUJBQU9BLENBQUMsd0lBQXNDO0FBQ2xFLE1BQU1HLHdCQUF3QkgsbUJBQU9BLENBQUMseUlBQXlDO0FBQy9FLE1BQU1JLHlCQUF5QkosbUJBQU9BLENBQUMseUhBQTJCO0FBQ2xFLE1BQU1LLGNBQWMsSUFBSUM7QUFDeEIsTUFBTUMsY0FBYyxJQUFJQztBQUN4QixlQUFlQyxxQkFBcUJDLFFBQVEsRUFBRUMsR0FBRztJQUM3QyxNQUFNQyxNQUFNLE1BQU0sQ0FBQyxHQUFHUix1QkFBdUJTLHNCQUFzQjtJQUNuRSxJQUFJLE9BQU9ELFFBQVEsYUFBYTtRQUM1QixNQUFNLElBQUlFLE1BQU0sQ0FBQyxrRUFBa0UsQ0FBQztJQUN4RjtJQUNBLHNEQUFzRDtJQUN0RCxNQUFNQyxrQkFBa0JDLEtBQUtMO0lBQzdCLE1BQU1NLFVBQVVGLGdCQUFnQkcsS0FBSyxDQUFDLEdBQUc7SUFDekMsTUFBTUMsVUFBVUosZ0JBQWdCRyxLQUFLLENBQUM7SUFDdEMsSUFBSUMsWUFBWUMsV0FBVztRQUN2QixNQUFNLElBQUlOLE1BQU07SUFDcEI7SUFDQSxNQUFNTyxZQUFZZCxZQUFZZSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUdsQix1QkFBdUJtQixPQUFPLEVBQUVYLEtBQUssQ0FBQyxHQUFHUix1QkFBdUJvQixrQkFBa0IsRUFBRVAsVUFBVSxDQUFDLEdBQUdiLHVCQUF1Qm9CLGtCQUFrQixFQUFFTDtJQUM1TCxJQUFJLENBQUNFLFVBQVVJLFVBQVUsQ0FBQ2YsV0FBVztRQUNqQyxNQUFNLElBQUlJLE1BQU07SUFDcEI7SUFDQSxPQUFPTyxVQUFVSCxLQUFLLENBQUNSLFNBQVNnQixNQUFNO0FBQzFDO0FBQ0EsZUFBZUMscUJBQXFCakIsUUFBUSxFQUFFQyxHQUFHO0lBQzdDLE1BQU1DLE1BQU0sTUFBTSxDQUFDLEdBQUdSLHVCQUF1QlMsc0JBQXNCO0lBQ25FLElBQUlELFFBQVFRLFdBQVc7UUFDbkIsTUFBTSxJQUFJTixNQUFNLENBQUMsa0VBQWtFLENBQUM7SUFDeEY7SUFDQSw2QkFBNkI7SUFDN0IsTUFBTWMsY0FBYyxJQUFJQyxXQUFXO0lBQ25DQyxPQUFPQyxlQUFlLENBQUNIO0lBQ3ZCLE1BQU1YLFVBQVUsQ0FBQyxHQUFHYix1QkFBdUI0QixtQkFBbUIsRUFBRUosWUFBWUssTUFBTTtJQUNsRixNQUFNQyxZQUFZLE1BQU0sQ0FBQyxHQUFHOUIsdUJBQXVCK0IsT0FBTyxFQUFFdkIsS0FBS2dCLGFBQWF2QixZQUFZK0IsTUFBTSxDQUFDMUIsV0FBV0M7SUFDNUcsT0FBTzBCLEtBQUtwQixVQUFVLENBQUMsR0FBR2IsdUJBQXVCNEIsbUJBQW1CLEVBQUVFO0FBQzFFO0FBQ0EsZUFBZTFDLHVCQUF1QmtCLFFBQVEsRUFBRTRCLElBQUk7SUFDaEQsTUFBTUMsbUNBQW1DLENBQUMsR0FBR25DLHVCQUF1Qm9DLG1DQUFtQztJQUN2RyxvREFBb0Q7SUFDcEQsTUFBTUMsYUFBYSxNQUFNLENBQUMsR0FBR3RDLHNCQUFzQnVDLGNBQWMsRUFBRSxDQUFDLEdBQUd6QyxZQUFZMEMsc0JBQXNCLEVBQUVMLE1BQU1DLGlDQUFpQ0ssYUFBYTtJQUMvSixnRUFBZ0U7SUFDaEUsZ0ZBQWdGO0lBQ2hGLGlCQUFpQjtJQUNqQixNQUFNVixZQUFZLE1BQU1QLHFCQUFxQmpCLFVBQVUrQjtJQUN2RCxPQUFPUDtBQUNYO0FBQ0EsZUFBZXpDLHVCQUF1QmlCLFFBQVEsRUFBRXdCLFNBQVM7SUFDckQsZ0VBQWdFO0lBQ2hFLE1BQU1XLFdBQVcsTUFBTXBDLHFCQUFxQkMsVUFBVSxNQUFNd0I7SUFDNUQsd0RBQXdEO0lBQ3hELE1BQU1ZLGVBQWUsTUFBTSxDQUFDLEdBQUc1QyxZQUFZNkMsd0JBQXdCLEVBQUUsSUFBSUMsZUFBZTtRQUNwRkMsT0FBT0MsVUFBVTtZQUNiQSxXQUFXQyxPQUFPLENBQUMsSUFBSTdDLGNBQWM4QixNQUFNLENBQUNTO1lBQzVDSyxXQUFXRSxLQUFLO1FBQ3BCO0lBQ0osSUFBSTtRQUNBQyxhQUFhO1lBQ1QsMEVBQTBFO1lBQzFFLHVFQUF1RTtZQUN2RSw4QkFBOEI7WUFDOUIsK0NBQStDO1lBQy9DQyxlQUFlLENBQUM7WUFDaEJDLFdBQVcsQ0FBQztRQUNoQjtJQUNKO0lBQ0Esb0VBQW9FO0lBQ3BFLE1BQU1DLGtCQUFrQixDQUFDLEdBQUdwRCx1QkFBdUJxRCxrQkFBa0I7SUFDckUsTUFBTUMsY0FBYyxNQUFNLENBQUMsR0FBR3pELFlBQVkwRCxXQUFXLEVBQUUsTUFBTSxDQUFDLEdBQUd6RCxZQUFZMEQsV0FBVyxFQUFFZCxlQUFlVTtJQUN6RyxPQUFPRTtBQUNYLEVBRUEsNkNBQTZDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9hY3Rpb24tZW5jcnlwdGlvbi5qcz9iODYwIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGVuY3J5cHRBY3Rpb25Cb3VuZEFyZ3M6IG51bGwsXG4gICAgZGVjcnlwdEFjdGlvbkJvdW5kQXJnczogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBlbmNyeXB0QWN0aW9uQm91bmRBcmdzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGVuY3J5cHRBY3Rpb25Cb3VuZEFyZ3M7XG4gICAgfSxcbiAgICBkZWNyeXB0QWN0aW9uQm91bmRBcmdzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGRlY3J5cHRBY3Rpb25Cb3VuZEFyZ3M7XG4gICAgfVxufSk7XG5yZXF1aXJlKFwic2VydmVyLW9ubHlcIik7XG5jb25zdCBfc2VydmVyZWRnZSA9IHJlcXVpcmUoXCJyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svc2VydmVyLmVkZ2VcIik7XG5jb25zdCBfY2xpZW50ZWRnZSA9IHJlcXVpcmUoXCJyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svY2xpZW50LmVkZ2VcIik7XG5jb25zdCBfbm9kZXdlYnN0cmVhbXNoZWxwZXIgPSByZXF1aXJlKFwiLi4vc3RyZWFtLXV0aWxzL25vZGUtd2ViLXN0cmVhbXMtaGVscGVyXCIpO1xuY29uc3QgX2FjdGlvbmVuY3J5cHRpb251dGlscyA9IHJlcXVpcmUoXCIuL2FjdGlvbi1lbmNyeXB0aW9uLXV0aWxzXCIpO1xuY29uc3QgdGV4dEVuY29kZXIgPSBuZXcgVGV4dEVuY29kZXIoKTtcbmNvbnN0IHRleHREZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKCk7XG5hc3luYyBmdW5jdGlvbiBkZWNvZGVBY3Rpb25Cb3VuZEFyZyhhY3Rpb25JZCwgYXJnKSB7XG4gICAgY29uc3Qga2V5ID0gYXdhaXQgKDAsIF9hY3Rpb25lbmNyeXB0aW9udXRpbHMuZ2V0QWN0aW9uRW5jcnlwdGlvbktleSkoKTtcbiAgICBpZiAodHlwZW9mIGtleSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pc3NpbmcgZW5jcnlwdGlvbiBrZXkgZm9yIFNlcnZlciBBY3Rpb24uIFRoaXMgaXMgYSBidWcgaW4gTmV4dC5qc2ApO1xuICAgIH1cbiAgICAvLyBHZXQgdGhlIGl2ICgxNiBieXRlcykgYW5kIHRoZSBwYXlsb2FkIGZyb20gdGhlIGFyZy5cbiAgICBjb25zdCBvcmlnaW5hbFBheWxvYWQgPSBhdG9iKGFyZyk7XG4gICAgY29uc3QgaXZWYWx1ZSA9IG9yaWdpbmFsUGF5bG9hZC5zbGljZSgwLCAxNik7XG4gICAgY29uc3QgcGF5bG9hZCA9IG9yaWdpbmFsUGF5bG9hZC5zbGljZSgxNik7XG4gICAgaWYgKHBheWxvYWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIFNlcnZlciBBY3Rpb24gcGF5bG9hZC5cIik7XG4gICAgfVxuICAgIGNvbnN0IGRlY3J5cHRlZCA9IHRleHREZWNvZGVyLmRlY29kZShhd2FpdCAoMCwgX2FjdGlvbmVuY3J5cHRpb251dGlscy5kZWNyeXB0KShrZXksICgwLCBfYWN0aW9uZW5jcnlwdGlvbnV0aWxzLnN0cmluZ1RvVWludDhBcnJheSkoaXZWYWx1ZSksICgwLCBfYWN0aW9uZW5jcnlwdGlvbnV0aWxzLnN0cmluZ1RvVWludDhBcnJheSkocGF5bG9hZCkpKTtcbiAgICBpZiAoIWRlY3J5cHRlZC5zdGFydHNXaXRoKGFjdGlvbklkKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIFNlcnZlciBBY3Rpb24gcGF5bG9hZDogZmFpbGVkIHRvIGRlY3J5cHQuXCIpO1xuICAgIH1cbiAgICByZXR1cm4gZGVjcnlwdGVkLnNsaWNlKGFjdGlvbklkLmxlbmd0aCk7XG59XG5hc3luYyBmdW5jdGlvbiBlbmNvZGVBY3Rpb25Cb3VuZEFyZyhhY3Rpb25JZCwgYXJnKSB7XG4gICAgY29uc3Qga2V5ID0gYXdhaXQgKDAsIF9hY3Rpb25lbmNyeXB0aW9udXRpbHMuZ2V0QWN0aW9uRW5jcnlwdGlvbktleSkoKTtcbiAgICBpZiAoa2V5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIGVuY3J5cHRpb24ga2V5IGZvciBTZXJ2ZXIgQWN0aW9uLiBUaGlzIGlzIGEgYnVnIGluIE5leHQuanNgKTtcbiAgICB9XG4gICAgLy8gR2V0IDE2IHJhbmRvbSBieXRlcyBhcyBpdi5cbiAgICBjb25zdCByYW5kb21CeXRlcyA9IG5ldyBVaW50OEFycmF5KDE2KTtcbiAgICBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKHJhbmRvbUJ5dGVzKTtcbiAgICBjb25zdCBpdlZhbHVlID0gKDAsIF9hY3Rpb25lbmNyeXB0aW9udXRpbHMuYXJyYXlCdWZmZXJUb1N0cmluZykocmFuZG9tQnl0ZXMuYnVmZmVyKTtcbiAgICBjb25zdCBlbmNyeXB0ZWQgPSBhd2FpdCAoMCwgX2FjdGlvbmVuY3J5cHRpb251dGlscy5lbmNyeXB0KShrZXksIHJhbmRvbUJ5dGVzLCB0ZXh0RW5jb2Rlci5lbmNvZGUoYWN0aW9uSWQgKyBhcmcpKTtcbiAgICByZXR1cm4gYnRvYShpdlZhbHVlICsgKDAsIF9hY3Rpb25lbmNyeXB0aW9udXRpbHMuYXJyYXlCdWZmZXJUb1N0cmluZykoZW5jcnlwdGVkKSk7XG59XG5hc3luYyBmdW5jdGlvbiBlbmNyeXB0QWN0aW9uQm91bmRBcmdzKGFjdGlvbklkLCBhcmdzKSB7XG4gICAgY29uc3QgY2xpZW50UmVmZXJlbmNlTWFuaWZlc3RTaW5nbGV0b24gPSAoMCwgX2FjdGlvbmVuY3J5cHRpb251dGlscy5nZXRDbGllbnRSZWZlcmVuY2VNYW5pZmVzdFNpbmdsZXRvbikoKTtcbiAgICAvLyBVc2luZyBGbGlnaHQgdG8gc2VyaWFsaXplIHRoZSBhcmdzIGludG8gYSBzdHJpbmcuXG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IGF3YWl0ICgwLCBfbm9kZXdlYnN0cmVhbXNoZWxwZXIuc3RyZWFtVG9TdHJpbmcpKCgwLCBfc2VydmVyZWRnZS5yZW5kZXJUb1JlYWRhYmxlU3RyZWFtKShhcmdzLCBjbGllbnRSZWZlcmVuY2VNYW5pZmVzdFNpbmdsZXRvbi5jbGllbnRNb2R1bGVzKSk7XG4gICAgLy8gRW5jcnlwdCB0aGUgc2VyaWFsaXplZCBzdHJpbmcgd2l0aCB0aGUgYWN0aW9uIGlkIGFzIHRoZSBzYWx0LlxuICAgIC8vIEFkZCBhIHByZWZpeCB0byBsYXRlciBlbnN1cmUgdGhhdCB0aGUgcGF5bG9hZCBpcyBjb3JyZWN0bHkgZGVjcnlwdGVkLCBzaW1pbGFyXG4gICAgLy8gdG8gYSBjaGVja3N1bS5cbiAgICBjb25zdCBlbmNyeXB0ZWQgPSBhd2FpdCBlbmNvZGVBY3Rpb25Cb3VuZEFyZyhhY3Rpb25JZCwgc2VyaWFsaXplZCk7XG4gICAgcmV0dXJuIGVuY3J5cHRlZDtcbn1cbmFzeW5jIGZ1bmN0aW9uIGRlY3J5cHRBY3Rpb25Cb3VuZEFyZ3MoYWN0aW9uSWQsIGVuY3J5cHRlZCkge1xuICAgIC8vIERlY3J5cHQgdGhlIHNlcmlhbGl6ZWQgc3RyaW5nIHdpdGggdGhlIGFjdGlvbiBpZCBhcyB0aGUgc2FsdC5cbiAgICBjb25zdCBkZWNyeXBlZCA9IGF3YWl0IGRlY29kZUFjdGlvbkJvdW5kQXJnKGFjdGlvbklkLCBhd2FpdCBlbmNyeXB0ZWQpO1xuICAgIC8vIFVzaW5nIEZsaWdodCB0byBkZXNlcmlhbGl6ZSB0aGUgYXJncyBmcm9tIHRoZSBzdHJpbmcuXG4gICAgY29uc3QgZGVzZXJpYWxpemVkID0gYXdhaXQgKDAsIF9jbGllbnRlZGdlLmNyZWF0ZUZyb21SZWFkYWJsZVN0cmVhbSkobmV3IFJlYWRhYmxlU3RyZWFtKHtcbiAgICAgICAgc3RhcnQgKGNvbnRyb2xsZXIpIHtcbiAgICAgICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoZGVjcnlwZWQpKTtcbiAgICAgICAgICAgIGNvbnRyb2xsZXIuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH0pLCB7XG4gICAgICAgIHNzck1hbmlmZXN0OiB7XG4gICAgICAgICAgICAvLyBUT0RPOiBXZSBjYW4ndCB1c2UgdGhlIGNsaWVudCByZWZlcmVuY2UgbWFuaWZlc3QgdG8gcmVzb2x2ZSB0aGUgbW9kdWxlc1xuICAgICAgICAgICAgLy8gb24gdGhlIHNlcnZlciBzaWRlIC0gaW5zdGVhZCB0aGV5IG5lZWQgdG8gYmUgcmVjb3ZlcmVkIGFzIHRoZSBtb2R1bGVcbiAgICAgICAgICAgIC8vIHJlZmVyZW5jZXMgKHByb3hpZXMpIGFnYWluLlxuICAgICAgICAgICAgLy8gRm9yIG5vdywgd2UnbGwganVzdCB1c2UgYW4gZW1wdHkgbW9kdWxlIG1hcC5cbiAgICAgICAgICAgIG1vZHVsZUxvYWRpbmc6IHt9LFxuICAgICAgICAgICAgbW9kdWxlTWFwOiB7fVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgLy8gVGhpcyBleHRyYSBzdGVwIGVuc3VyZXMgdGhhdCB0aGUgc2VydmVyIHJlZmVyZW5jZXMgYXJlIHJlY292ZXJlZC5cbiAgICBjb25zdCBzZXJ2ZXJNb2R1bGVNYXAgPSAoMCwgX2FjdGlvbmVuY3J5cHRpb251dGlscy5nZXRTZXJ2ZXJNb2R1bGVNYXApKCk7XG4gICAgY29uc3QgdHJhbnNmb3JtZWQgPSBhd2FpdCAoMCwgX3NlcnZlcmVkZ2UuZGVjb2RlUmVwbHkpKGF3YWl0ICgwLCBfY2xpZW50ZWRnZS5lbmNvZGVSZXBseSkoZGVzZXJpYWxpemVkKSwgc2VydmVyTW9kdWxlTWFwKTtcbiAgICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFjdGlvbi1lbmNyeXB0aW9uLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImVuY3J5cHRBY3Rpb25Cb3VuZEFyZ3MiLCJkZWNyeXB0QWN0aW9uQm91bmRBcmdzIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicmVxdWlyZSIsIl9zZXJ2ZXJlZGdlIiwiX2NsaWVudGVkZ2UiLCJfbm9kZXdlYnN0cmVhbXNoZWxwZXIiLCJfYWN0aW9uZW5jcnlwdGlvbnV0aWxzIiwidGV4dEVuY29kZXIiLCJUZXh0RW5jb2RlciIsInRleHREZWNvZGVyIiwiVGV4dERlY29kZXIiLCJkZWNvZGVBY3Rpb25Cb3VuZEFyZyIsImFjdGlvbklkIiwiYXJnIiwia2V5IiwiZ2V0QWN0aW9uRW5jcnlwdGlvbktleSIsIkVycm9yIiwib3JpZ2luYWxQYXlsb2FkIiwiYXRvYiIsIml2VmFsdWUiLCJzbGljZSIsInBheWxvYWQiLCJ1bmRlZmluZWQiLCJkZWNyeXB0ZWQiLCJkZWNvZGUiLCJkZWNyeXB0Iiwic3RyaW5nVG9VaW50OEFycmF5Iiwic3RhcnRzV2l0aCIsImxlbmd0aCIsImVuY29kZUFjdGlvbkJvdW5kQXJnIiwicmFuZG9tQnl0ZXMiLCJVaW50OEFycmF5IiwiY3J5cHRvIiwiZ2V0UmFuZG9tVmFsdWVzIiwiYXJyYXlCdWZmZXJUb1N0cmluZyIsImJ1ZmZlciIsImVuY3J5cHRlZCIsImVuY3J5cHQiLCJlbmNvZGUiLCJidG9hIiwiYXJncyIsImNsaWVudFJlZmVyZW5jZU1hbmlmZXN0U2luZ2xldG9uIiwiZ2V0Q2xpZW50UmVmZXJlbmNlTWFuaWZlc3RTaW5nbGV0b24iLCJzZXJpYWxpemVkIiwic3RyZWFtVG9TdHJpbmciLCJyZW5kZXJUb1JlYWRhYmxlU3RyZWFtIiwiY2xpZW50TW9kdWxlcyIsImRlY3J5cGVkIiwiZGVzZXJpYWxpemVkIiwiY3JlYXRlRnJvbVJlYWRhYmxlU3RyZWFtIiwiUmVhZGFibGVTdHJlYW0iLCJzdGFydCIsImNvbnRyb2xsZXIiLCJlbnF1ZXVlIiwiY2xvc2UiLCJzc3JNYW5pZmVzdCIsIm1vZHVsZUxvYWRpbmciLCJtb2R1bGVNYXAiLCJzZXJ2ZXJNb2R1bGVNYXAiLCJnZXRTZXJ2ZXJNb2R1bGVNYXAiLCJ0cmFuc2Zvcm1lZCIsImRlY29kZVJlcGx5IiwiZW5jb2RlUmVwbHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/app-render/action-encryption.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/app-render/entry-base.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/server/app-render/entry-base.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n renderToReadableStream: function() {\n return _serveredge.renderToReadableStream;\n },\n decodeReply: function() {\n return _serveredge.decodeReply;\n },\n decodeAction: function() {\n return _serveredge.decodeAction;\n },\n decodeFormState: function() {\n return _serveredge.decodeFormState;\n },\n AppRouter: function() {\n return _approuter.default;\n },\n LayoutRouter: function() {\n return _layoutrouter.default;\n },\n RenderFromTemplateContext: function() {\n return _renderfromtemplatecontext.default;\n },\n staticGenerationAsyncStorage: function() {\n return _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage;\n },\n requestAsyncStorage: function() {\n return _requestasyncstorageexternal.requestAsyncStorage;\n },\n actionAsyncStorage: function() {\n return _actionasyncstorageexternal.actionAsyncStorage;\n },\n staticGenerationBailout: function() {\n return _staticgenerationbailout.staticGenerationBailout;\n },\n createSearchParamsBailoutProxy: function() {\n return _searchparamsbailoutproxy.createSearchParamsBailoutProxy;\n },\n serverHooks: function() {\n return _hooksservercontext;\n },\n preloadStyle: function() {\n return _preloads.preloadStyle;\n },\n preloadFont: function() {\n return _preloads.preloadFont;\n },\n preconnect: function() {\n return _preloads.preconnect;\n },\n taintObjectReference: function() {\n return _taint.taintObjectReference;\n },\n StaticGenerationSearchParamsBailoutProvider: function() {\n return _staticgenerationsearchparamsbailoutprovider.default;\n },\n NotFoundBoundary: function() {\n return _notfoundboundary.NotFoundBoundary;\n },\n patchFetch: function() {\n return patchFetch;\n }\n});\nconst _serveredge = __webpack_require__(/*! react-server-dom-webpack/server.edge */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js\");\nconst _approuter = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../../client/components/app-router */ \"(rsc)/./node_modules/next/dist/client/components/app-router.js\"));\nconst _layoutrouter = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../../client/components/layout-router */ \"(rsc)/./node_modules/next/dist/client/components/layout-router.js\"));\nconst _renderfromtemplatecontext = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../../client/components/render-from-template-context */ \"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\"));\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ../../client/components/static-generation-async-storage.external */ \"../../client/components/static-generation-async-storage.external\");\nconst _requestasyncstorageexternal = __webpack_require__(/*! ../../client/components/request-async-storage.external */ \"../../client/components/request-async-storage.external\");\nconst _actionasyncstorageexternal = __webpack_require__(/*! ../../client/components/action-async-storage.external */ \"../../client/components/action-async-storage.external\");\nconst _staticgenerationbailout = __webpack_require__(/*! ../../client/components/static-generation-bailout */ \"(rsc)/./node_modules/next/dist/client/components/static-generation-bailout.js\");\nconst _staticgenerationsearchparamsbailoutprovider = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../../client/components/static-generation-searchparams-bailout-provider */ \"(rsc)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js\"));\nconst _searchparamsbailoutproxy = __webpack_require__(/*! ../../client/components/searchparams-bailout-proxy */ \"(rsc)/./node_modules/next/dist/client/components/searchparams-bailout-proxy.js\");\nconst _hooksservercontext = /*#__PURE__*/ _interop_require_wildcard(__webpack_require__(/*! ../../client/components/hooks-server-context */ \"(rsc)/./node_modules/next/dist/client/components/hooks-server-context.js\"));\nconst _notfoundboundary = __webpack_require__(/*! ../../client/components/not-found-boundary */ \"(rsc)/./node_modules/next/dist/client/components/not-found-boundary.js\");\nconst _patchfetch = __webpack_require__(/*! ../lib/patch-fetch */ \"(rsc)/./node_modules/next/dist/server/lib/patch-fetch.js\");\n__webpack_require__(/*! ../../client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _preloads = __webpack_require__(/*! ../../server/app-render/rsc/preloads */ \"(rsc)/./node_modules/next/dist/server/app-render/rsc/preloads.js\");\nconst _taint = __webpack_require__(/*! ../../server/app-render/rsc/taint */ \"(rsc)/./node_modules/next/dist/server/app-render/rsc/taint.js\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\n// patchFetch makes use of APIs such as `React.unstable_postpone` which are only available\n// in the experimental channel of React, so export it from here so that it comes from the bundled runtime\nfunction patchFetch() {\n return (0, _patchfetch.patchFetch)({\n serverHooks: _hooksservercontext,\n staticGenerationAsyncStorage: _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage\n });\n} //# sourceMappingURL=entry-base.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2VudHJ5LWJhc2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FxQk47QUFDQSxTQUFTcUIsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSTNCLE9BQU9DLGNBQWMsQ0FBQ3lCLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUXZCLFNBQVM7SUFDYkcsd0JBQXdCO1FBQ3BCLE9BQU8wQixZQUFZMUIsc0JBQXNCO0lBQzdDO0lBQ0FDLGFBQWE7UUFDVCxPQUFPeUIsWUFBWXpCLFdBQVc7SUFDbEM7SUFDQUMsY0FBYztRQUNWLE9BQU93QixZQUFZeEIsWUFBWTtJQUNuQztJQUNBQyxpQkFBaUI7UUFDYixPQUFPdUIsWUFBWXZCLGVBQWU7SUFDdEM7SUFDQUMsV0FBVztRQUNQLE9BQU91QixXQUFXQyxPQUFPO0lBQzdCO0lBQ0F2QixjQUFjO1FBQ1YsT0FBT3dCLGNBQWNELE9BQU87SUFDaEM7SUFDQXRCLDJCQUEyQjtRQUN2QixPQUFPd0IsMkJBQTJCRixPQUFPO0lBQzdDO0lBQ0FyQiw4QkFBOEI7UUFDMUIsT0FBT3dCLHNDQUFzQ3hCLDRCQUE0QjtJQUM3RTtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT3dCLDZCQUE2QnhCLG1CQUFtQjtJQUMzRDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT3dCLDRCQUE0QnhCLGtCQUFrQjtJQUN6RDtJQUNBQyx5QkFBeUI7UUFDckIsT0FBT3dCLHlCQUF5QnhCLHVCQUF1QjtJQUMzRDtJQUNBQyxnQ0FBZ0M7UUFDNUIsT0FBT3dCLDBCQUEwQnhCLDhCQUE4QjtJQUNuRTtJQUNBQyxhQUFhO1FBQ1QsT0FBT3dCO0lBQ1g7SUFDQXZC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QyxHQUFHLElBQUlvQyxLQUFLQyxHQUFHLEdBQUc7Z0JBQ2hDbkUsT0FBT0MsY0FBYyxDQUFDMEQsUUFBUUcsS0FBS0k7WUFDdkMsT0FBTztnQkFDSFAsTUFBTSxDQUFDRyxJQUFJLEdBQUdaLEdBQUcsQ0FBQ1ksSUFBSTtZQUMxQjtRQUNKO0lBQ0o7SUFDQUgsT0FBTzFCLE9BQU8sR0FBR2lCO0lBQ2pCLElBQUlPLE9BQU87UUFDUEEsTUFBTVUsR0FBRyxDQUFDakIsS0FBS1M7SUFDbkI7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsMEZBQTBGO0FBQzFGLHlHQUF5RztBQUN6RyxTQUFTbkM7SUFDTCxPQUFPLENBQUMsR0FBR3lCLFlBQVl6QixVQUFVLEVBQUU7UUFDL0JQLGFBQWF3QjtRQUNiN0IsOEJBQThCd0Isc0NBQXNDeEIsNEJBQTRCO0lBQ3BHO0FBQ0osRUFFQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2VudHJ5LWJhc2UuanM/MTg0MSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHJlbmRlclRvUmVhZGFibGVTdHJlYW06IG51bGwsXG4gICAgZGVjb2RlUmVwbHk6IG51bGwsXG4gICAgZGVjb2RlQWN0aW9uOiBudWxsLFxuICAgIGRlY29kZUZvcm1TdGF0ZTogbnVsbCxcbiAgICBBcHBSb3V0ZXI6IG51bGwsXG4gICAgTGF5b3V0Um91dGVyOiBudWxsLFxuICAgIFJlbmRlckZyb21UZW1wbGF0ZUNvbnRleHQ6IG51bGwsXG4gICAgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZTogbnVsbCxcbiAgICByZXF1ZXN0QXN5bmNTdG9yYWdlOiBudWxsLFxuICAgIGFjdGlvbkFzeW5jU3RvcmFnZTogbnVsbCxcbiAgICBzdGF0aWNHZW5lcmF0aW9uQmFpbG91dDogbnVsbCxcbiAgICBjcmVhdGVTZWFyY2hQYXJhbXNCYWlsb3V0UHJveHk6IG51bGwsXG4gICAgc2VydmVySG9va3M6IG51bGwsXG4gICAgcHJlbG9hZFN0eWxlOiBudWxsLFxuICAgIHByZWxvYWRGb250OiBudWxsLFxuICAgIHByZWNvbm5lY3Q6IG51bGwsXG4gICAgdGFpbnRPYmplY3RSZWZlcmVuY2U6IG51bGwsXG4gICAgU3RhdGljR2VuZXJhdGlvblNlYXJjaFBhcmFtc0JhaWxvdXRQcm92aWRlcjogbnVsbCxcbiAgICBOb3RGb3VuZEJvdW5kYXJ5OiBudWxsLFxuICAgIHBhdGNoRmV0Y2g6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgcmVuZGVyVG9SZWFkYWJsZVN0cmVhbTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfc2VydmVyZWRnZS5yZW5kZXJUb1JlYWRhYmxlU3RyZWFtO1xuICAgIH0sXG4gICAgZGVjb2RlUmVwbHk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3NlcnZlcmVkZ2UuZGVjb2RlUmVwbHk7XG4gICAgfSxcbiAgICBkZWNvZGVBY3Rpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3NlcnZlcmVkZ2UuZGVjb2RlQWN0aW9uO1xuICAgIH0sXG4gICAgZGVjb2RlRm9ybVN0YXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zZXJ2ZXJlZGdlLmRlY29kZUZvcm1TdGF0ZTtcbiAgICB9LFxuICAgIEFwcFJvdXRlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfYXBwcm91dGVyLmRlZmF1bHQ7XG4gICAgfSxcbiAgICBMYXlvdXRSb3V0ZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2xheW91dHJvdXRlci5kZWZhdWx0O1xuICAgIH0sXG4gICAgUmVuZGVyRnJvbVRlbXBsYXRlQ29udGV4dDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfcmVuZGVyZnJvbXRlbXBsYXRlY29udGV4dC5kZWZhdWx0O1xuICAgIH0sXG4gICAgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsLnN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2U7XG4gICAgfSxcbiAgICByZXF1ZXN0QXN5bmNTdG9yYWdlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9yZXF1ZXN0YXN5bmNzdG9yYWdlZXh0ZXJuYWwucmVxdWVzdEFzeW5jU3RvcmFnZTtcbiAgICB9LFxuICAgIGFjdGlvbkFzeW5jU3RvcmFnZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfYWN0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwuYWN0aW9uQXN5bmNTdG9yYWdlO1xuICAgIH0sXG4gICAgc3RhdGljR2VuZXJhdGlvbkJhaWxvdXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0LnN0YXRpY0dlbmVyYXRpb25CYWlsb3V0O1xuICAgIH0sXG4gICAgY3JlYXRlU2VhcmNoUGFyYW1zQmFpbG91dFByb3h5OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zZWFyY2hwYXJhbXNiYWlsb3V0cHJveHkuY3JlYXRlU2VhcmNoUGFyYW1zQmFpbG91dFByb3h5O1xuICAgIH0sXG4gICAgc2VydmVySG9va3M6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2hvb2tzc2VydmVyY29udGV4dDtcbiAgICB9LFxuICAgIHByZWxvYWRTdHlsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfcHJlbG9hZHMucHJlbG9hZFN0eWxlO1xuICAgIH0sXG4gICAgcHJlbG9hZEZvbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3ByZWxvYWRzLnByZWxvYWRGb250O1xuICAgIH0sXG4gICAgcHJlY29ubmVjdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfcHJlbG9hZHMucHJlY29ubmVjdDtcbiAgICB9LFxuICAgIHRhaW50T2JqZWN0UmVmZXJlbmNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF90YWludC50YWludE9iamVjdFJlZmVyZW5jZTtcbiAgICB9LFxuICAgIFN0YXRpY0dlbmVyYXRpb25TZWFyY2hQYXJhbXNCYWlsb3V0UHJvdmlkZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3N0YXRpY2dlbmVyYXRpb25zZWFyY2hwYXJhbXNiYWlsb3V0cHJvdmlkZXIuZGVmYXVsdDtcbiAgICB9LFxuICAgIE5vdEZvdW5kQm91bmRhcnk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX25vdGZvdW5kYm91bmRhcnkuTm90Rm91bmRCb3VuZGFyeTtcbiAgICB9LFxuICAgIHBhdGNoRmV0Y2g6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcGF0Y2hGZXRjaDtcbiAgICB9XG59KTtcbmNvbnN0IF9zZXJ2ZXJlZGdlID0gcmVxdWlyZShcInJlYWN0LXNlcnZlci1kb20td2VicGFjay9zZXJ2ZXIuZWRnZVwiKTtcbmNvbnN0IF9hcHByb3V0ZXIgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlclwiKSk7XG5jb25zdCBfbGF5b3V0cm91dGVyID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQocmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXJcIikpO1xuY29uc3QgX3JlbmRlcmZyb210ZW1wbGF0ZWNvbnRleHQgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dFwiKSk7XG5jb25zdCBfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsID0gcmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWxcIik7XG5jb25zdCBfcmVxdWVzdGFzeW5jc3RvcmFnZWV4dGVybmFsID0gcmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL3JlcXVlc3QtYXN5bmMtc3RvcmFnZS5leHRlcm5hbFwiKTtcbmNvbnN0IF9hY3Rpb25hc3luY3N0b3JhZ2VleHRlcm5hbCA9IHJlcXVpcmUoXCIuLi8uLi9jbGllbnQvY29tcG9uZW50cy9hY3Rpb24tYXN5bmMtc3RvcmFnZS5leHRlcm5hbFwiKTtcbmNvbnN0IF9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dCA9IHJlcXVpcmUoXCIuLi8uLi9jbGllbnQvY29tcG9uZW50cy9zdGF0aWMtZ2VuZXJhdGlvbi1iYWlsb3V0XCIpO1xuY29uc3QgX3N0YXRpY2dlbmVyYXRpb25zZWFyY2hwYXJhbXNiYWlsb3V0cHJvdmlkZXIgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvc3RhdGljLWdlbmVyYXRpb24tc2VhcmNocGFyYW1zLWJhaWxvdXQtcHJvdmlkZXJcIikpO1xuY29uc3QgX3NlYXJjaHBhcmFtc2JhaWxvdXRwcm94eSA9IHJlcXVpcmUoXCIuLi8uLi9jbGllbnQvY29tcG9uZW50cy9zZWFyY2hwYXJhbXMtYmFpbG91dC1wcm94eVwiKTtcbmNvbnN0IF9ob29rc3NlcnZlcmNvbnRleHQgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQocmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0XCIpKTtcbmNvbnN0IF9ub3Rmb3VuZGJvdW5kYXJ5ID0gcmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeVwiKTtcbmNvbnN0IF9wYXRjaGZldGNoID0gcmVxdWlyZShcIi4uL2xpYi9wYXRjaC1mZXRjaFwiKTtcbnJlcXVpcmUoXCIuLi8uLi9jbGllbnQvY29tcG9uZW50cy9lcnJvci1ib3VuZGFyeVwiKTtcbmNvbnN0IF9wcmVsb2FkcyA9IHJlcXVpcmUoXCIuLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci9yc2MvcHJlbG9hZHNcIik7XG5jb25zdCBfdGFpbnQgPSByZXF1aXJlKFwiLi4vLi4vc2VydmVyL2FwcC1yZW5kZXIvcnNjL3RhaW50XCIpO1xuZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KG9iaikge1xuICAgIHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7XG4gICAgICAgIGRlZmF1bHQ6IG9ialxuICAgIH07XG59XG5mdW5jdGlvbiBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApIHtcbiAgICBpZiAodHlwZW9mIFdlYWtNYXAgIT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIG51bGw7XG4gICAgdmFyIGNhY2hlQmFiZWxJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcbiAgICB2YXIgY2FjaGVOb2RlSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgcmV0dXJuIChfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUgPSBmdW5jdGlvbihub2RlSW50ZXJvcCkge1xuICAgICAgICByZXR1cm4gbm9kZUludGVyb3AgPyBjYWNoZU5vZGVJbnRlcm9wIDogY2FjaGVCYWJlbEludGVyb3A7XG4gICAgfSkobm9kZUludGVyb3ApO1xufVxuZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZChvYmosIG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKCFub2RlSW50ZXJvcCAmJiBvYmogJiYgb2JqLl9fZXNNb2R1bGUpIHtcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICB9XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBvYmogIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGVmYXVsdDogb2JqXG4gICAgICAgIH07XG4gICAgfVxuICAgIHZhciBjYWNoZSA9IF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCk7XG4gICAgaWYgKGNhY2hlICYmIGNhY2hlLmhhcyhvYmopKSB7XG4gICAgICAgIHJldHVybiBjYWNoZS5nZXQob2JqKTtcbiAgICB9XG4gICAgdmFyIG5ld09iaiA9IHt9O1xuICAgIHZhciBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbiAgICBmb3IodmFyIGtleSBpbiBvYmope1xuICAgICAgICBpZiAoa2V5ICE9PSBcImRlZmF1bHRcIiAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICAgICAgICB2YXIgZGVzYyA9IGhhc1Byb3BlcnR5RGVzY3JpcHRvciA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBrZXkpIDogbnVsbDtcbiAgICAgICAgICAgIGlmIChkZXNjICYmIChkZXNjLmdldCB8fCBkZXNjLnNldCkpIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3T2JqLCBrZXksIGRlc2MpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdPYmpba2V5XSA9IG9ialtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIG5ld09iai5kZWZhdWx0ID0gb2JqO1xuICAgIGlmIChjYWNoZSkge1xuICAgICAgICBjYWNoZS5zZXQob2JqLCBuZXdPYmopO1xuICAgIH1cbiAgICByZXR1cm4gbmV3T2JqO1xufVxuLy8gcGF0Y2hGZXRjaCBtYWtlcyB1c2Ugb2YgQVBJcyBzdWNoIGFzIGBSZWFjdC51bnN0YWJsZV9wb3N0cG9uZWAgd2hpY2ggYXJlIG9ubHkgYXZhaWxhYmxlXG4vLyBpbiB0aGUgZXhwZXJpbWVudGFsIGNoYW5uZWwgb2YgUmVhY3QsIHNvIGV4cG9ydCBpdCBmcm9tIGhlcmUgc28gdGhhdCBpdCBjb21lcyBmcm9tIHRoZSBidW5kbGVkIHJ1bnRpbWVcbmZ1bmN0aW9uIHBhdGNoRmV0Y2goKSB7XG4gICAgcmV0dXJuICgwLCBfcGF0Y2hmZXRjaC5wYXRjaEZldGNoKSh7XG4gICAgICAgIHNlcnZlckhvb2tzOiBfaG9va3NzZXJ2ZXJjb250ZXh0LFxuICAgICAgICBzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlOiBfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsLnN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2VcbiAgICB9KTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZW50cnktYmFzZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJyZW5kZXJUb1JlYWRhYmxlU3RyZWFtIiwiZGVjb2RlUmVwbHkiLCJkZWNvZGVBY3Rpb24iLCJkZWNvZGVGb3JtU3RhdGUiLCJBcHBSb3V0ZXIiLCJMYXlvdXRSb3V0ZXIiLCJSZW5kZXJGcm9tVGVtcGxhdGVDb250ZXh0Iiwic3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSIsInJlcXVlc3RBc3luY1N0b3JhZ2UiLCJhY3Rpb25Bc3luY1N0b3JhZ2UiLCJzdGF0aWNHZW5lcmF0aW9uQmFpbG91dCIsImNyZWF0ZVNlYXJjaFBhcmFtc0JhaWxvdXRQcm94eSIsInNlcnZlckhvb2tzIiwicHJlbG9hZFN0eWxlIiwicHJlbG9hZEZvbnQiLCJwcmVjb25uZWN0IiwidGFpbnRPYmplY3RSZWZlcmVuY2UiLCJTdGF0aWNHZW5lcmF0aW9uU2VhcmNoUGFyYW1zQmFpbG91dFByb3ZpZGVyIiwiTm90Rm91bmRCb3VuZGFyeSIsInBhdGNoRmV0Y2giLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfc2VydmVyZWRnZSIsIl9hcHByb3V0ZXIiLCJkZWZhdWx0IiwiX2xheW91dHJvdXRlciIsIl9yZW5kZXJmcm9tdGVtcGxhdGVjb250ZXh0IiwiX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbCIsIl9yZXF1ZXN0YXN5bmNzdG9yYWdlZXh0ZXJuYWwiLCJfYWN0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwiLCJfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQiLCJfc2VhcmNocGFyYW1zYmFpbG91dHByb3h5IiwiX2hvb2tzc2VydmVyY29udGV4dCIsIl9wcmVsb2FkcyIsIl90YWludCIsIl9zdGF0aWNnZW5lcmF0aW9uc2VhcmNocGFyYW1zYmFpbG91dHByb3ZpZGVyIiwiX25vdGZvdW5kYm91bmRhcnkiLCJyZXF1aXJlIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsIl9wYXRjaGZldGNoIiwib2JqIiwiX19lc01vZHVsZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsImNhY2hlIiwiaGFzIiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/app-render/rsc/preloads.js": /*!******************************************************************!*\ !*** ./node_modules/next/dist/server/app-render/rsc/preloads.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("/*\n\nFiles in the rsc directory are meant to be packaged as part of the RSC graph using next-app-loader.\n\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n preloadStyle: function() {\n return preloadStyle;\n },\n preloadFont: function() {\n return preloadFont;\n },\n preconnect: function() {\n return preconnect;\n }\n});\nconst _reactdom = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! react-dom */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction preloadStyle(href, crossOrigin) {\n const opts = {\n as: \"style\"\n };\n if (typeof crossOrigin === \"string\") {\n opts.crossOrigin = crossOrigin;\n }\n _reactdom.default.preload(href, opts);\n}\nfunction preloadFont(href, type, crossOrigin) {\n const opts = {\n as: \"font\",\n type\n };\n if (typeof crossOrigin === \"string\") {\n opts.crossOrigin = crossOrigin;\n }\n _reactdom.default.preload(href, opts);\n}\nfunction preconnect(href, crossOrigin) {\n _reactdom.default.preconnect(href, typeof crossOrigin === \"string\" ? {\n crossOrigin\n } : undefined);\n} //# sourceMappingURL=preloads.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL3JzYy9wcmVsb2Fkcy5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7OztBQUlBLEdBQWdCO0FBQ2hCQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUlOO0FBQ0EsU0FBU0ksUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVYsT0FBT0MsY0FBYyxDQUFDUSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFOLFNBQVM7SUFDYkcsY0FBYztRQUNWLE9BQU9BO0lBQ1g7SUFDQUMsYUFBYTtRQUNULE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLFlBQVksV0FBVyxHQUFHQyx5QkFBeUJDLG1CQUFPQSxDQUFDLGdIQUFXO0FBQzVFLFNBQVNELHlCQUF5QkUsR0FBRztJQUNqQyxPQUFPQSxPQUFPQSxJQUFJQyxVQUFVLEdBQUdELE1BQU07UUFDakNFLFNBQVNGO0lBQ2I7QUFDSjtBQUNBLFNBQVNaLGFBQWFlLElBQUksRUFBRUMsV0FBVztJQUNuQyxNQUFNQyxPQUFPO1FBQ1RDLElBQUk7SUFDUjtJQUNBLElBQUksT0FBT0YsZ0JBQWdCLFVBQVU7UUFDakNDLEtBQUtELFdBQVcsR0FBR0E7SUFDdkI7SUFDQVAsVUFBVUssT0FBTyxDQUFDSyxPQUFPLENBQUNKLE1BQU1FO0FBQ3BDO0FBQ0EsU0FBU2hCLFlBQVljLElBQUksRUFBRUssSUFBSSxFQUFFSixXQUFXO0lBQ3hDLE1BQU1DLE9BQU87UUFDVEMsSUFBSTtRQUNKRTtJQUNKO0lBQ0EsSUFBSSxPQUFPSixnQkFBZ0IsVUFBVTtRQUNqQ0MsS0FBS0QsV0FBVyxHQUFHQTtJQUN2QjtJQUNBUCxVQUFVSyxPQUFPLENBQUNLLE9BQU8sQ0FBQ0osTUFBTUU7QUFDcEM7QUFDQSxTQUFTZixXQUFXYSxJQUFJLEVBQUVDLFdBQVc7SUFDakNQLFVBQVVLLE9BQU8sQ0FBQ1osVUFBVSxDQUFDYSxNQUFNLE9BQU9DLGdCQUFnQixXQUFXO1FBQ2pFQTtJQUNKLElBQUlLO0FBQ1IsRUFFQSxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL3JzYy9wcmVsb2Fkcy5qcz9hMjhiIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5cbkZpbGVzIGluIHRoZSByc2MgZGlyZWN0b3J5IGFyZSBtZWFudCB0byBiZSBwYWNrYWdlZCBhcyBwYXJ0IG9mIHRoZSBSU0MgZ3JhcGggdXNpbmcgbmV4dC1hcHAtbG9hZGVyLlxuXG4qLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHByZWxvYWRTdHlsZTogbnVsbCxcbiAgICBwcmVsb2FkRm9udDogbnVsbCxcbiAgICBwcmVjb25uZWN0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHByZWxvYWRTdHlsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwcmVsb2FkU3R5bGU7XG4gICAgfSxcbiAgICBwcmVsb2FkRm9udDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwcmVsb2FkRm9udDtcbiAgICB9LFxuICAgIHByZWNvbm5lY3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcHJlY29ubmVjdDtcbiAgICB9XG59KTtcbmNvbnN0IF9yZWFjdGRvbSA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KHJlcXVpcmUoXCJyZWFjdC1kb21cIikpO1xuZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KG9iaikge1xuICAgIHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7XG4gICAgICAgIGRlZmF1bHQ6IG9ialxuICAgIH07XG59XG5mdW5jdGlvbiBwcmVsb2FkU3R5bGUoaHJlZiwgY3Jvc3NPcmlnaW4pIHtcbiAgICBjb25zdCBvcHRzID0ge1xuICAgICAgICBhczogXCJzdHlsZVwiXG4gICAgfTtcbiAgICBpZiAodHlwZW9mIGNyb3NzT3JpZ2luID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIG9wdHMuY3Jvc3NPcmlnaW4gPSBjcm9zc09yaWdpbjtcbiAgICB9XG4gICAgX3JlYWN0ZG9tLmRlZmF1bHQucHJlbG9hZChocmVmLCBvcHRzKTtcbn1cbmZ1bmN0aW9uIHByZWxvYWRGb250KGhyZWYsIHR5cGUsIGNyb3NzT3JpZ2luKSB7XG4gICAgY29uc3Qgb3B0cyA9IHtcbiAgICAgICAgYXM6IFwiZm9udFwiLFxuICAgICAgICB0eXBlXG4gICAgfTtcbiAgICBpZiAodHlwZW9mIGNyb3NzT3JpZ2luID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIG9wdHMuY3Jvc3NPcmlnaW4gPSBjcm9zc09yaWdpbjtcbiAgICB9XG4gICAgX3JlYWN0ZG9tLmRlZmF1bHQucHJlbG9hZChocmVmLCBvcHRzKTtcbn1cbmZ1bmN0aW9uIHByZWNvbm5lY3QoaHJlZiwgY3Jvc3NPcmlnaW4pIHtcbiAgICBfcmVhY3Rkb20uZGVmYXVsdC5wcmVjb25uZWN0KGhyZWYsIHR5cGVvZiBjcm9zc09yaWdpbiA9PT0gXCJzdHJpbmdcIiA/IHtcbiAgICAgICAgY3Jvc3NPcmlnaW5cbiAgICB9IDogdW5kZWZpbmVkKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJlbG9hZHMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwicHJlbG9hZFN0eWxlIiwicHJlbG9hZEZvbnQiLCJwcmVjb25uZWN0IiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3JlYWN0ZG9tIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaHJlZiIsImNyb3NzT3JpZ2luIiwib3B0cyIsImFzIiwicHJlbG9hZCIsInR5cGUiLCJ1bmRlZmluZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/app-render/rsc/preloads.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/app-render/rsc/taint.js": /*!***************************************************************!*\ !*** ./node_modules/next/dist/server/app-render/rsc/taint.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("/*\n\nFiles in the rsc directory are meant to be packaged as part of the RSC graph using next-app-loader.\n\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n taintObjectReference: function() {\n return taintObjectReference;\n },\n taintUniqueValue: function() {\n return taintUniqueValue;\n }\n});\nconst _react = /*#__PURE__*/ _interop_require_wildcard(__webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\"));\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\nfunction notImplemented() {\n throw new Error(\"Taint can only be used with the taint flag.\");\n}\nconst taintObjectReference = false ? 0 : notImplemented;\nconst taintUniqueValue = false ? 0 : notImplemented; //# sourceMappingURL=taint.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL3JzYy90YWludC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7OztBQUlBLEdBQWdCO0FBQ2hCQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsc0JBQXNCO1FBQ2xCLE9BQU9BO0lBQ1g7SUFDQUMsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sU0FBUyxXQUFXLEdBQUdDLDBCQUEwQkMsbUJBQU9BLENBQUMsd0dBQU87QUFDdEUsU0FBU0MseUJBQXlCQyxXQUFXO0lBQ3pDLElBQUksT0FBT0MsWUFBWSxZQUFZLE9BQU87SUFDMUMsSUFBSUMsb0JBQW9CLElBQUlEO0lBQzVCLElBQUlFLG1CQUFtQixJQUFJRjtJQUMzQixPQUFPLENBQUNGLDJCQUEyQixTQUFTQyxXQUFXO1FBQ25ELE9BQU9BLGNBQWNHLG1CQUFtQkQ7SUFDNUMsR0FBR0Y7QUFDUDtBQUNBLFNBQVNILDBCQUEwQk8sR0FBRyxFQUFFSixXQUFXO0lBQy9DLElBQUksQ0FBQ0EsZUFBZUksT0FBT0EsSUFBSUMsVUFBVSxFQUFFO1FBQ3ZDLE9BQU9EO0lBQ1g7SUFDQSxJQUFJQSxRQUFRLFFBQVEsT0FBT0EsUUFBUSxZQUFZLE9BQU9BLFFBQVEsWUFBWTtRQUN0RSxPQUFPO1lBQ0hFLFNBQVNGO1FBQ2I7SUFDSjtJQUNBLElBQUlHLFFBQVFSLHlCQUF5QkM7SUFDckMsSUFBSU8sU0FBU0EsTUFBTUMsR0FBRyxDQUFDSixNQUFNO1FBQ3pCLE9BQU9HLE1BQU1aLEdBQUcsQ0FBQ1M7SUFDckI7SUFDQSxJQUFJSyxTQUFTLENBQUM7SUFDZCxJQUFJQyx3QkFBd0IzQixPQUFPQyxjQUFjLElBQUlELE9BQU80Qix3QkFBd0I7SUFDcEYsSUFBSSxJQUFJQyxPQUFPUixJQUFJO1FBQ2YsSUFBSVEsUUFBUSxhQUFhN0IsT0FBTzhCLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNYLEtBQUtRLE1BQU07WUFDckUsSUFBSUksT0FBT04sd0JBQXdCM0IsT0FBTzRCLHdCQUF3QixDQUFDUCxLQUFLUSxPQUFPO1lBQy9FLElBQUlJLFFBQVNBLENBQUFBLEtBQUtyQixHQUFHLElBQUlxQixLQUFLQyxHQUFHLEdBQUc7Z0JBQ2hDbEMsT0FBT0MsY0FBYyxDQUFDeUIsUUFBUUcsS0FBS0k7WUFDdkMsT0FBTztnQkFDSFAsTUFBTSxDQUFDRyxJQUFJLEdBQUdSLEdBQUcsQ0FBQ1EsSUFBSTtZQUMxQjtRQUNKO0lBQ0o7SUFDQUgsT0FBT0gsT0FBTyxHQUFHRjtJQUNqQixJQUFJRyxPQUFPO1FBQ1BBLE1BQU1VLEdBQUcsQ0FBQ2IsS0FBS0s7SUFDbkI7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsU0FBU1M7SUFDTCxNQUFNLElBQUlDLE1BQU07QUFDcEI7QUFDQSxNQUFNL0IsdUJBQXVCZ0MsTUFBcUMsR0FBR3hCLENBQXdDLEdBQUdzQjtBQUNoSCxNQUFNN0IsbUJBQW1CK0IsTUFBcUMsR0FBR3hCLENBQW9DLEdBQUdzQixnQkFFeEcsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9yc2MvdGFpbnQuanM/ODc4NyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuXG5GaWxlcyBpbiB0aGUgcnNjIGRpcmVjdG9yeSBhcmUgbWVhbnQgdG8gYmUgcGFja2FnZWQgYXMgcGFydCBvZiB0aGUgUlNDIGdyYXBoIHVzaW5nIG5leHQtYXBwLWxvYWRlci5cblxuKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICB0YWludE9iamVjdFJlZmVyZW5jZTogbnVsbCxcbiAgICB0YWludFVuaXF1ZVZhbHVlOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHRhaW50T2JqZWN0UmVmZXJlbmNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRhaW50T2JqZWN0UmVmZXJlbmNlO1xuICAgIH0sXG4gICAgdGFpbnRVbmlxdWVWYWx1ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0YWludFVuaXF1ZVZhbHVlO1xuICAgIH1cbn0pO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5mdW5jdGlvbiBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApIHtcbiAgICBpZiAodHlwZW9mIFdlYWtNYXAgIT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIG51bGw7XG4gICAgdmFyIGNhY2hlQmFiZWxJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcbiAgICB2YXIgY2FjaGVOb2RlSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgcmV0dXJuIChfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUgPSBmdW5jdGlvbihub2RlSW50ZXJvcCkge1xuICAgICAgICByZXR1cm4gbm9kZUludGVyb3AgPyBjYWNoZU5vZGVJbnRlcm9wIDogY2FjaGVCYWJlbEludGVyb3A7XG4gICAgfSkobm9kZUludGVyb3ApO1xufVxuZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZChvYmosIG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKCFub2RlSW50ZXJvcCAmJiBvYmogJiYgb2JqLl9fZXNNb2R1bGUpIHtcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICB9XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBvYmogIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGVmYXVsdDogb2JqXG4gICAgICAgIH07XG4gICAgfVxuICAgIHZhciBjYWNoZSA9IF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCk7XG4gICAgaWYgKGNhY2hlICYmIGNhY2hlLmhhcyhvYmopKSB7XG4gICAgICAgIHJldHVybiBjYWNoZS5nZXQob2JqKTtcbiAgICB9XG4gICAgdmFyIG5ld09iaiA9IHt9O1xuICAgIHZhciBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbiAgICBmb3IodmFyIGtleSBpbiBvYmope1xuICAgICAgICBpZiAoa2V5ICE9PSBcImRlZmF1bHRcIiAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICAgICAgICB2YXIgZGVzYyA9IGhhc1Byb3BlcnR5RGVzY3JpcHRvciA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBrZXkpIDogbnVsbDtcbiAgICAgICAgICAgIGlmIChkZXNjICYmIChkZXNjLmdldCB8fCBkZXNjLnNldCkpIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3T2JqLCBrZXksIGRlc2MpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdPYmpba2V5XSA9IG9ialtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIG5ld09iai5kZWZhdWx0ID0gb2JqO1xuICAgIGlmIChjYWNoZSkge1xuICAgICAgICBjYWNoZS5zZXQob2JqLCBuZXdPYmopO1xuICAgIH1cbiAgICByZXR1cm4gbmV3T2JqO1xufVxuZnVuY3Rpb24gbm90SW1wbGVtZW50ZWQoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVGFpbnQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIHRoZSB0YWludCBmbGFnLlwiKTtcbn1cbmNvbnN0IHRhaW50T2JqZWN0UmVmZXJlbmNlID0gcHJvY2Vzcy5lbnYuX19ORVhUX0VYUEVSSU1FTlRBTF9SRUFDVCA/IF9yZWFjdC5leHBlcmltZW50YWxfdGFpbnRPYmplY3RSZWZlcmVuY2UgOiBub3RJbXBsZW1lbnRlZDtcbmNvbnN0IHRhaW50VW5pcXVlVmFsdWUgPSBwcm9jZXNzLmVudi5fX05FWFRfRVhQRVJJTUVOVEFMX1JFQUNUID8gX3JlYWN0LmV4cGVyaW1lbnRhbF90YWludFVuaXF1ZVZhbHVlIDogbm90SW1wbGVtZW50ZWQ7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRhaW50LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsInRhaW50T2JqZWN0UmVmZXJlbmNlIiwidGFpbnRVbmlxdWVWYWx1ZSIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9yZWFjdCIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJyZXF1aXJlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJub3RJbXBsZW1lbnRlZCIsIkVycm9yIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9FWFBFUklNRU5UQUxfUkVBQ1QiLCJleHBlcmltZW50YWxfdGFpbnRPYmplY3RSZWZlcmVuY2UiLCJleHBlcmltZW50YWxfdGFpbnRVbmlxdWVWYWx1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/app-render/rsc/taint.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/server/future/helpers/interception-routes.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERCEPTION_ROUTE_MARKERS: function() {\n return INTERCEPTION_ROUTE_MARKERS;\n },\n isInterceptionRouteAppPath: function() {\n return isInterceptionRouteAppPath;\n },\n extractInterceptionRouteInformation: function() {\n return extractInterceptionRouteInformation;\n }\n});\nconst _apppaths = __webpack_require__(/*! ../../../shared/lib/router/utils/app-paths */ \"(action-browser)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst INTERCEPTION_ROUTE_MARKERS = [\n \"(..)(..)\",\n \"(.)\",\n \"(..)\",\n \"(...)\"\n];\nfunction isInterceptionRouteAppPath(path) {\n // TODO-APP: add more serious validation\n return path.split(\"/\").find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined;\n}\nfunction extractInterceptionRouteInformation(path) {\n let interceptingRoute, marker, interceptedRoute;\n for (const segment of path.split(\"/\")){\n marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n [interceptingRoute, interceptedRoute] = path.split(marker, 2);\n break;\n }\n }\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);\n }\n interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n ;\n switch(marker){\n case \"(.)\":\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === \"/\") {\n interceptedRoute = `/${interceptedRoute}`;\n } else {\n interceptedRoute = interceptingRoute + \"/\" + interceptedRoute;\n }\n break;\n case \"(..)\":\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === \"/\") {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`);\n }\n interceptedRoute = interceptingRoute.split(\"/\").slice(0, -1).concat(interceptedRoute).join(\"/\");\n break;\n case \"(...)\":\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = \"/\" + interceptedRoute;\n break;\n case \"(..)(..)\":\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n const splitInterceptingRoute = interceptingRoute.split(\"/\");\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`);\n }\n interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join(\"/\");\n break;\n default:\n throw new Error(\"Invariant: unexpected marker\");\n }\n return {\n interceptingRoute,\n interceptedRoute\n };\n} //# sourceMappingURL=interception-routes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9oZWxwZXJzL2ludGVyY2VwdGlvbi1yb3V0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FJTjtBQUNBLFNBQVNJLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlWLE9BQU9DLGNBQWMsQ0FBQ1EsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTixTQUFTO0lBQ2JHLDRCQUE0QjtRQUN4QixPQUFPQTtJQUNYO0lBQ0FDLDRCQUE0QjtRQUN4QixPQUFPQTtJQUNYO0lBQ0FDLHFDQUFxQztRQUNqQyxPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxZQUFZQyxtQkFBT0EsQ0FBQyxrSUFBNEM7QUFDdEUsTUFBTVYsNkJBQTZCO0lBQy9CO0lBQ0E7SUFDQTtJQUNBO0NBQ0g7QUFDRCxTQUFTQywyQkFBMkJVLElBQUk7SUFDcEMsd0NBQXdDO0lBQ3hDLE9BQU9BLEtBQUtDLEtBQUssQ0FBQyxLQUFLQyxJQUFJLENBQUMsQ0FBQ0MsVUFBVWQsMkJBQTJCYSxJQUFJLENBQUMsQ0FBQ0UsSUFBSUQsUUFBUUUsVUFBVSxDQUFDRCxTQUFTRTtBQUM1RztBQUNBLFNBQVNmLG9DQUFvQ1MsSUFBSTtJQUM3QyxJQUFJTyxtQkFBbUJDLFFBQVFDO0lBQy9CLEtBQUssTUFBTU4sV0FBV0gsS0FBS0MsS0FBSyxDQUFDLEtBQUs7UUFDbENPLFNBQVNuQiwyQkFBMkJhLElBQUksQ0FBQyxDQUFDRSxJQUFJRCxRQUFRRSxVQUFVLENBQUNEO1FBQ2pFLElBQUlJLFFBQVE7WUFDUixDQUFDRCxtQkFBbUJFLGlCQUFpQixHQUFHVCxLQUFLQyxLQUFLLENBQUNPLFFBQVE7WUFDM0Q7UUFDSjtJQUNKO0lBQ0EsSUFBSSxDQUFDRCxxQkFBcUIsQ0FBQ0MsVUFBVSxDQUFDQyxrQkFBa0I7UUFDcEQsTUFBTSxJQUFJQyxNQUFNLENBQUMsNEJBQTRCLEVBQUVWLEtBQUssaUZBQWlGLENBQUM7SUFDMUk7SUFDQU8sb0JBQW9CLENBQUMsR0FBR1QsVUFBVWEsZ0JBQWdCLEVBQUVKLG1CQUFtQixpREFBaUQ7O0lBRXhILE9BQU9DO1FBQ0gsS0FBSztZQUNELG9JQUFvSTtZQUNwSSxJQUFJRCxzQkFBc0IsS0FBSztnQkFDM0JFLG1CQUFtQixDQUFDLENBQUMsRUFBRUEsaUJBQWlCLENBQUM7WUFDN0MsT0FBTztnQkFDSEEsbUJBQW1CRixvQkFBb0IsTUFBTUU7WUFDakQ7WUFDQTtRQUNKLEtBQUs7WUFDRCx1SEFBdUg7WUFDdkgsSUFBSUYsc0JBQXNCLEtBQUs7Z0JBQzNCLE1BQU0sSUFBSUcsTUFBTSxDQUFDLDRCQUE0QixFQUFFVixLQUFLLDREQUE0RCxDQUFDO1lBQ3JIO1lBQ0FTLG1CQUFtQkYsa0JBQWtCTixLQUFLLENBQUMsS0FBS1csS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHQyxNQUFNLENBQUNKLGtCQUFrQkssSUFBSSxDQUFDO1lBQzNGO1FBQ0osS0FBSztZQUNELGtJQUFrSTtZQUNsSUwsbUJBQW1CLE1BQU1BO1lBQ3pCO1FBQ0osS0FBSztZQUNELGlJQUFpSTtZQUNqSSxNQUFNTSx5QkFBeUJSLGtCQUFrQk4sS0FBSyxDQUFDO1lBQ3ZELElBQUljLHVCQUF1QkMsTUFBTSxJQUFJLEdBQUc7Z0JBQ3BDLE1BQU0sSUFBSU4sTUFBTSxDQUFDLDRCQUE0QixFQUFFVixLQUFLLCtEQUErRCxDQUFDO1lBQ3hIO1lBQ0FTLG1CQUFtQk0sdUJBQXVCSCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0osa0JBQWtCSyxJQUFJLENBQUM7WUFDckY7UUFDSjtZQUNJLE1BQU0sSUFBSUosTUFBTTtJQUN4QjtJQUNBLE9BQU87UUFDSEg7UUFDQUU7SUFDSjtBQUNKLEVBRUEsK0NBQStDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL2hlbHBlcnMvaW50ZXJjZXB0aW9uLXJvdXRlcy5qcz8zNWNjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM6IG51bGwsXG4gICAgaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGg6IG51bGwsXG4gICAgZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb246IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlM7XG4gICAgfSxcbiAgICBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDtcbiAgICB9LFxuICAgIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uO1xuICAgIH1cbn0pO1xuY29uc3QgX2FwcHBhdGhzID0gcmVxdWlyZShcIi4uLy4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRoc1wiKTtcbmNvbnN0IElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTID0gW1xuICAgIFwiKC4uKSguLilcIixcbiAgICBcIiguKVwiLFxuICAgIFwiKC4uKVwiLFxuICAgIFwiKC4uLilcIlxuXTtcbmZ1bmN0aW9uIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoKHBhdGgpIHtcbiAgICAvLyBUT0RPLUFQUDogYWRkIG1vcmUgc2VyaW91cyB2YWxpZGF0aW9uXG4gICAgcmV0dXJuIHBhdGguc3BsaXQoXCIvXCIpLmZpbmQoKHNlZ21lbnQpPT5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtKT0+c2VnbWVudC5zdGFydHNXaXRoKG0pKSkgIT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uKHBhdGgpIHtcbiAgICBsZXQgaW50ZXJjZXB0aW5nUm91dGUsIG1hcmtlciwgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICBmb3IgKGNvbnN0IHNlZ21lbnQgb2YgcGF0aC5zcGxpdChcIi9cIikpe1xuICAgICAgICBtYXJrZXIgPSBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtKT0+c2VnbWVudC5zdGFydHNXaXRoKG0pKTtcbiAgICAgICAgaWYgKG1hcmtlcikge1xuICAgICAgICAgICAgW2ludGVyY2VwdGluZ1JvdXRlLCBpbnRlcmNlcHRlZFJvdXRlXSA9IHBhdGguc3BsaXQobWFya2VyLCAyKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICghaW50ZXJjZXB0aW5nUm91dGUgfHwgIW1hcmtlciB8fCAhaW50ZXJjZXB0ZWRSb3V0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBNdXN0IGJlIGluIHRoZSBmb3JtYXQgLzxpbnRlcmNlcHRpbmcgcm91dGU+LyguLnwuLi58Li4pKC4uKS88aW50ZXJjZXB0ZWQgcm91dGU+YCk7XG4gICAgfVxuICAgIGludGVyY2VwdGluZ1JvdXRlID0gKDAsIF9hcHBwYXRocy5ub3JtYWxpemVBcHBQYXRoKShpbnRlcmNlcHRpbmdSb3V0ZSkgLy8gbm9ybWFsaXplIHRoZSBwYXRoLCBlLmcuIC8oYmxvZykvZmVlZCAtPiAvZmVlZFxuICAgIDtcbiAgICBzd2l0Y2gobWFya2VyKXtcbiAgICAgICAgY2FzZSBcIiguKVwiOlxuICAgICAgICAgICAgLy8gKC4pIGluZGljYXRlcyB0aGF0IHdlIHNob3VsZCBtYXRjaCB3aXRoIHNpYmxpbmcgcm91dGVzLCBzbyB3ZSBqdXN0IG5lZWQgdG8gYXBwZW5kIHRoZSBpbnRlcmNlcHRlZCByb3V0ZSB0byB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBpZiAoaW50ZXJjZXB0aW5nUm91dGUgPT09IFwiL1wiKSB7XG4gICAgICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IGAvJHtpbnRlcmNlcHRlZFJvdXRlfWA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBpbnRlcmNlcHRpbmdSb3V0ZSArIFwiL1wiICsgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiKC4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uKSBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgbWF0Y2ggYXQgb25lIGxldmVsIHVwLCBzbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgbGFzdCBzZWdtZW50IG9mIHRoZSBpbnRlcmNlcHRpbmcgcm91dGVcbiAgICAgICAgICAgIGlmIChpbnRlcmNlcHRpbmdSb3V0ZSA9PT0gXCIvXCIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBDYW5ub3QgdXNlICguLikgbWFya2VyIGF0IHRoZSByb290IGxldmVsLCB1c2UgKC4pIGluc3RlYWQuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUuc3BsaXQoXCIvXCIpLnNsaWNlKDAsIC0xKS5jb25jYXQoaW50ZXJjZXB0ZWRSb3V0ZSkuam9pbihcIi9cIik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIiguLi4pXCI6XG4gICAgICAgICAgICAvLyAoLi4uKSB3aWxsIG1hdGNoIHRoZSByb3V0ZSBzZWdtZW50IGluIHRoZSByb290IGRpcmVjdG9yeSwgc28gd2UgbmVlZCB0byB1c2UgdGhlIHJvb3QgZGlyZWN0b3J5IHRvIHByZXBlbmQgdGhlIGludGVyY2VwdGVkIHJvdXRlXG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gXCIvXCIgKyBpbnRlcmNlcHRlZFJvdXRlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCIoLi4pKC4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uKSguLikgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkIG1hdGNoIGF0IHR3byBsZXZlbHMgdXAsIHNvIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBsYXN0IHR3byBzZWdtZW50cyBvZiB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBjb25zdCBzcGxpdEludGVyY2VwdGluZ1JvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUuc3BsaXQoXCIvXCIpO1xuICAgICAgICAgICAgaWYgKHNwbGl0SW50ZXJjZXB0aW5nUm91dGUubGVuZ3RoIDw9IDIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZXJjZXB0aW9uIHJvdXRlOiAke3BhdGh9LiBDYW5ub3QgdXNlICguLikoLi4pIG1hcmtlciBhdCB0aGUgcm9vdCBsZXZlbCBvciBvbmUgbGV2ZWwgdXAuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gc3BsaXRJbnRlcmNlcHRpbmdSb3V0ZS5zbGljZSgwLCAtMikuY29uY2F0KGludGVyY2VwdGVkUm91dGUpLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhcmlhbnQ6IHVuZXhwZWN0ZWQgbWFya2VyXCIpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBpbnRlcmNlcHRpbmdSb3V0ZSxcbiAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZVxuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWludGVyY2VwdGlvbi1yb3V0ZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMiLCJpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aCIsImV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2FwcHBhdGhzIiwicmVxdWlyZSIsInBhdGgiLCJzcGxpdCIsImZpbmQiLCJzZWdtZW50IiwibSIsInN0YXJ0c1dpdGgiLCJ1bmRlZmluZWQiLCJpbnRlcmNlcHRpbmdSb3V0ZSIsIm1hcmtlciIsImludGVyY2VwdGVkUm91dGUiLCJFcnJvciIsIm5vcm1hbGl6ZUFwcFBhdGgiLCJzbGljZSIsImNvbmNhdCIsImpvaW4iLCJzcGxpdEludGVyY2VwdGluZ1JvdXRlIiwibGVuZ3RoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-kind.js": /*!************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-kind.js ***! \************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouteKind\", ({\n enumerable: true,\n get: function() {\n return RouteKind;\n }\n}));\nvar RouteKind;\n(function(RouteKind) {\n RouteKind[/**\n * `PAGES` represents all the React pages that are under `pages/`.\n */ \"PAGES\"] = \"PAGES\";\n RouteKind[/**\n * `PAGES_API` represents all the API routes under `pages/api/`.\n */ \"PAGES_API\"] = \"PAGES_API\";\n RouteKind[/**\n * `APP_PAGE` represents all the React pages that are under `app/` with the\n * filename of `page.{j,t}s{,x}`.\n */ \"APP_PAGE\"] = \"APP_PAGE\";\n RouteKind[/**\n * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the\n * filename of `route.{j,t}s{,x}`.\n */ \"APP_ROUTE\"] = \"APP_ROUTE\";\n})(RouteKind || (RouteKind = {})); //# sourceMappingURL=route-kind.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNkNBQTRDO0lBQ3hDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsSUFBSUE7QUFDSCxVQUFTQSxTQUFTO0lBQ2ZBLFNBQVMsQ0FBQzs7R0FFWCxHQUFHLFFBQVEsR0FBRztJQUNiQSxTQUFTLENBQUM7O0dBRVgsR0FBRyxZQUFZLEdBQUc7SUFDakJBLFNBQVMsQ0FBQzs7O0dBR1gsR0FBRyxXQUFXLEdBQUc7SUFDaEJBLFNBQVMsQ0FBQzs7O0dBR1gsR0FBRyxZQUFZLEdBQUc7QUFDckIsR0FBR0EsYUFBY0EsQ0FBQUEsWUFBWSxDQUFDLEtBRTlCLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kLmpzPzM5NzkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSb3V0ZUtpbmRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJvdXRlS2luZDtcbiAgICB9XG59KTtcbnZhciBSb3V0ZUtpbmQ7XG4oZnVuY3Rpb24oUm91dGVLaW5kKSB7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgUEFHRVNgIHJlcHJlc2VudHMgYWxsIHRoZSBSZWFjdCBwYWdlcyB0aGF0IGFyZSB1bmRlciBgcGFnZXMvYC5cbiAgICovIFwiUEFHRVNcIl0gPSBcIlBBR0VTXCI7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgUEFHRVNfQVBJYCByZXByZXNlbnRzIGFsbCB0aGUgQVBJIHJvdXRlcyB1bmRlciBgcGFnZXMvYXBpL2AuXG4gICAqLyBcIlBBR0VTX0FQSVwiXSA9IFwiUEFHRVNfQVBJXCI7XG4gICAgUm91dGVLaW5kWy8qKlxuICAgKiBgQVBQX1BBR0VgIHJlcHJlc2VudHMgYWxsIHRoZSBSZWFjdCBwYWdlcyB0aGF0IGFyZSB1bmRlciBgYXBwL2Agd2l0aCB0aGVcbiAgICogZmlsZW5hbWUgb2YgYHBhZ2Uue2osdH1zeyx4fWAuXG4gICAqLyBcIkFQUF9QQUdFXCJdID0gXCJBUFBfUEFHRVwiO1xuICAgIFJvdXRlS2luZFsvKipcbiAgICogYEFQUF9ST1VURWAgcmVwcmVzZW50cyBhbGwgdGhlIEFQSSByb3V0ZXMgYW5kIG1ldGFkYXRhIHJvdXRlcyB0aGF0IGFyZSB1bmRlciBgYXBwL2Agd2l0aCB0aGVcbiAgICogZmlsZW5hbWUgb2YgYHJvdXRlLntqLHR9c3sseH1gLlxuICAgKi8gXCJBUFBfUk9VVEVcIl0gPSBcIkFQUF9ST1VURVwiO1xufSkoUm91dGVLaW5kIHx8IChSb3V0ZUtpbmQgPSB7fSkpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yb3V0ZS1raW5kLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJSb3V0ZUtpbmQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-kind.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97": /*!****************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js ***! \****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nif (false) {} else {\n if (false) {} else {\n if (true) {\n module.exports = __webpack_require__(/*! next/dist/compiled/next-server/app-page.runtime.dev.js */ \"next/dist/compiled/next-server/app-page.runtime.dev.js\");\n } else {}\n }\n} //# sourceMappingURL=module.compiled.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWQuanM/OWQ5NyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLElBQUlBLEtBQW1DLEVBQUUsRUFFeEMsTUFBTTtJQUNILElBQUlBLEtBQXFDLEVBQUUsRUFRMUMsTUFBTTtRQUNILElBQUlBLElBQXNDLEVBQUU7WUFDeENHLDRKQUFrRjtRQUN0RixPQUFPLEVBSU47SUFDTDtBQUNKLEVBRUEsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkLmpzP2M0ZWUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5pZiAocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID09PSBcImVkZ2VcIikge1xuICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmpzXCIpO1xufSBlbHNlIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0VYUEVSSU1FTlRBTF9SRUFDVCkge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL25leHQtc2VydmVyL2FwcC1wYWdlLWV4cGVyaW1lbnRhbC5ydW50aW1lLmRldi5qc1wiKTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5UVVJCT1BBQ0spIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS10dXJiby1leHBlcmltZW50YWwucnVudGltZS5wcm9kLmpzXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL25leHQtc2VydmVyL2FwcC1wYWdlLWV4cGVyaW1lbnRhbC5ydW50aW1lLnByb2QuanNcIik7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL25leHQtc2VydmVyL2FwcC1wYWdlLnJ1bnRpbWUuZGV2LmpzXCIpO1xuICAgICAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52LlRVUkJPUEFDSykge1xuICAgICAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL25leHQtc2VydmVyL2FwcC1wYWdlLXR1cmJvLnJ1bnRpbWUucHJvZC5qc1wiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS5ydW50aW1lLnByb2QuanNcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1vZHVsZS5jb21waWxlZC5qcy5tYXAiXSwibmFtZXMiOlsicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIiwiX19ORVhUX0VYUEVSSU1FTlRBTF9SRUFDVCIsIlRVUkJPUEFDSyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js ***! \*************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored.contexts.AppRouterContext; //# sourceMappingURL=app-router-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9hcHAtcm91dGVyLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsbU1BQXVGLEVBRXZGLDhDQUE4QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL2NvbnRleHRzL2FwcC1yb3V0ZXItY29udGV4dC5qcz9lNjZiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wiY29udGV4dHNcIl0uQXBwUm91dGVyQ29udGV4dDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXJvdXRlci1jb250ZXh0LmpzLm1hcCJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsInZlbmRvcmVkIiwiQXBwUm91dGVyQ29udGV4dCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js ***! \***************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored.contexts.HooksClientContext; //# sourceMappingURL=hooks-client-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9ob29rcy1jbGllbnQtY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSxxTUFBeUYsRUFFekYsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvY29udGV4dHMvaG9va3MtY2xpZW50LWNvbnRleHQuanM/NDMxYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcImNvbnRleHRzXCJdLkhvb2tzQ2xpZW50Q29udGV4dDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aG9va3MtY2xpZW50LWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIiwidmVuZG9yZWQiLCJIb29rc0NsaWVudENvbnRleHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js ***! \***************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored.contexts.ServerInsertedHtml; //# sourceMappingURL=server-inserted-html.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9zZXJ2ZXItaW5zZXJ0ZWQtaHRtbC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSxxTUFBeUYsRUFFekYsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvY29udGV4dHMvc2VydmVyLWluc2VydGVkLWh0bWwuanM/ZWFkNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcImNvbnRleHRzXCJdLlNlcnZlckluc2VydGVkSHRtbDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2VydmVyLWluc2VydGVkLWh0bWwuanMubWFwIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIiwidmVuZG9yZWQiLCJTZXJ2ZXJJbnNlcnRlZEh0bWwiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js": /*!***********************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js ***! \***********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored[\"react-rsc\"].ReactDOM; //# sourceMappingURL=react-dom.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL3JzYy9yZWFjdC1kb20uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsK0xBQWdGLEVBRWhGLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL3JzYy9yZWFjdC1kb20uanM/ZGZiMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcInJlYWN0LXJzY1wiXS5SZWFjdERPTTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVhY3QtZG9tLmpzLm1hcCJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsInZlbmRvcmVkIiwiUmVhY3RET00iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js": /*!***********************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js ***! \***********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored[\"react-rsc\"].ReactDOM; //# sourceMappingURL=react-dom.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3QtZG9tLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLCtMQUFnRixFQUVoRixxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3QtZG9tLmpzP2RmYjEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJyZWFjdC1yc2NcIl0uUmVhY3RET007XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlYWN0LWRvbS5qcy5tYXAiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInJlcXVpcmUiLCJ2ZW5kb3JlZCIsIlJlYWN0RE9NIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js ***! \***********************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored[\"react-rsc\"].ReactJsxDevRuntime; //# sourceMappingURL=react-jsx-dev-runtime.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3QtanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLHlNQUEwRixFQUUxRixpREFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3QtanN4LWRldi1ydW50aW1lLmpzPzJiNGUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJyZWFjdC1yc2NcIl0uUmVhY3RKc3hEZXZSdW50aW1lO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWFjdC1qc3gtZGV2LXJ1bnRpbWUuanMubWFwIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIiwidmVuZG9yZWQiLCJSZWFjdEpzeERldlJ1bnRpbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-runtime.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-runtime.js ***! \*******************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored[\"react-rsc\"].ReactJsxRuntime; //# sourceMappingURL=react-jsx-runtime.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3QtanN4LXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsc01BQXVGLEVBRXZGLDZDQUE2QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL3JzYy9yZWFjdC1qc3gtcnVudGltZS5qcz82MTU4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wicmVhY3QtcnNjXCJdLlJlYWN0SnN4UnVudGltZTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVhY3QtanN4LXJ1bnRpbWUuanMubWFwIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIiwidmVuZG9yZWQiLCJSZWFjdEpzeFJ1bnRpbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-runtime.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js": /*!**************************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js ***! \**************************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored[\"react-rsc\"].ReactServerDOMWebpackServerEdge; //# sourceMappingURL=react-server-dom-webpack-server-edge.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL3JzYy9yZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2stc2VydmVyLWVkZ2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsc05BQXVHLEVBRXZHLGdFQUFnRSIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL3JzYy9yZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2stc2VydmVyLWVkZ2UuanM/MjY3ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcInJlYWN0LXJzY1wiXS5SZWFjdFNlcnZlckRPTVdlYnBhY2tTZXJ2ZXJFZGdlO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2stc2VydmVyLWVkZ2UuanMubWFwIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIiwidmVuZG9yZWQiLCJSZWFjdFNlcnZlckRPTVdlYnBhY2tTZXJ2ZXJFZGdlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js": /*!**************************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js ***! \**************************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored[\"react-rsc\"].ReactServerDOMWebpackServerEdge; //# sourceMappingURL=react-server-dom-webpack-server-edge.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLXNlcnZlci1lZGdlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLHNOQUF1RyxFQUV2RyxnRUFBZ0UiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLXNlcnZlci1lZGdlLmpzPzI2N2UiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJyZWFjdC1yc2NcIl0uUmVhY3RTZXJ2ZXJET01XZWJwYWNrU2VydmVyRWRnZTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLXNlcnZlci1lZGdlLmpzLm1hcCJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsInZlbmRvcmVkIiwiUmVhY3RTZXJ2ZXJET01XZWJwYWNrU2VydmVyRWRnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js": /*!*******************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js ***! \*******************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored[\"react-rsc\"].React; //# sourceMappingURL=react.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL3JzYy9yZWFjdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw0TEFBNkUsRUFFN0UsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvcnNjL3JlYWN0LmpzPzUyYTMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJyZWFjdC1yc2NcIl0uUmVhY3Q7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlYWN0LmpzLm1hcCJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsInZlbmRvcmVkIiwiUmVhY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js": /*!*******************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js ***! \*******************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored[\"react-rsc\"].React; //# sourceMappingURL=react.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsNExBQTZFLEVBRTdFLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL3JzYy9yZWFjdC5qcz81MmEzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wicmVhY3QtcnNjXCJdLlJlYWN0O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWFjdC5qcy5tYXAiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInJlcXVpcmUiLCJ2ZW5kb3JlZCIsIlJlYWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-route/module.compiled.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-route/module.compiled.js ***! \*****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nif (false) {} else {\n if (true) {\n module.exports = __webpack_require__(/*! next/dist/compiled/next-server/app-route.runtime.dev.js */ \"next/dist/compiled/next-server/app-route.runtime.dev.js\");\n } else {}\n} //# sourceMappingURL=module.compiled.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcm91dGUvbW9kdWxlLmNvbXBpbGVkLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsSUFBSUEsS0FBbUMsRUFBRSxFQUV4QyxNQUFNO0lBQ0gsSUFBSUEsSUFBc0MsRUFBRTtRQUN4Q0csOEpBQW1GO0lBQ3ZGLE9BQU8sRUFJTjtBQUNMLEVBRUEsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXJvdXRlL21vZHVsZS5jb21waWxlZC5qcz84ODA2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCIpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1yb3V0ZS9tb2R1bGUuanNcIik7XG59IGVsc2Uge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcm91dGUucnVudGltZS5kZXYuanNcIik7XG4gICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5UVVJCT1BBQ0spIHtcbiAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL25leHQtc2VydmVyL2FwcC1yb3V0ZS10dXJiby5ydW50aW1lLnByb2QuanNcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL25leHQtc2VydmVyL2FwcC1yb3V0ZS5ydW50aW1lLnByb2QuanNcIik7XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1tb2R1bGUuY29tcGlsZWQuanMubWFwIl0sIm5hbWVzIjpbInByb2Nlc3MiLCJlbnYiLCJORVhUX1JVTlRJTUUiLCJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsIlRVUkJPUEFDSyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-route/module.compiled.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/lib/patch-fetch.js": /*!**********************************************************!*\ !*** ./node_modules/next/dist/server/lib/patch-fetch.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n validateRevalidate: function() {\n return validateRevalidate;\n },\n validateTags: function() {\n return validateTags;\n },\n addImplicitTags: function() {\n return addImplicitTags;\n },\n patchFetch: function() {\n return patchFetch;\n }\n});\nconst _constants = __webpack_require__(/*! ./trace/constants */ \"(action-browser)/./node_modules/next/dist/server/lib/trace/constants.js\");\nconst _tracer = __webpack_require__(/*! ./trace/tracer */ \"(action-browser)/./node_modules/next/dist/server/lib/trace/tracer.js\");\nconst _constants1 = __webpack_require__(/*! ../../lib/constants */ \"(action-browser)/./node_modules/next/dist/lib/constants.js\");\nconst _log = /*#__PURE__*/ _interop_require_wildcard(__webpack_require__(/*! ../../build/output/log */ \"(action-browser)/./node_modules/next/dist/build/output/log.js\"));\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\nconst isEdgeRuntime = \"nodejs\" === \"edge\";\nfunction validateRevalidate(revalidateVal, pathname) {\n try {\n let normalizedRevalidate = undefined;\n if (revalidateVal === false) {\n normalizedRevalidate = revalidateVal;\n } else if (typeof revalidateVal === \"number\" && !isNaN(revalidateVal) && revalidateVal > -1) {\n normalizedRevalidate = revalidateVal;\n } else if (typeof revalidateVal !== \"undefined\") {\n throw new Error(`Invalid revalidate value \"${revalidateVal}\" on \"${pathname}\", must be a non-negative number or \"false\"`);\n }\n return normalizedRevalidate;\n } catch (err) {\n // handle client component error from attempting to check revalidate value\n if (err instanceof Error && err.message.includes(\"Invalid revalidate\")) {\n throw err;\n }\n return undefined;\n }\n}\nfunction validateTags(tags, description) {\n const validTags = [];\n const invalidTags = [];\n for (const tag of tags){\n if (typeof tag !== \"string\") {\n invalidTags.push({\n tag,\n reason: \"invalid type, must be a string\"\n });\n } else if (tag.length > _constants1.NEXT_CACHE_TAG_MAX_LENGTH) {\n invalidTags.push({\n tag,\n reason: `exceeded max length of ${_constants1.NEXT_CACHE_TAG_MAX_LENGTH}`\n });\n } else {\n validTags.push(tag);\n }\n }\n if (invalidTags.length > 0) {\n console.warn(`Warning: invalid tags passed to ${description}: `);\n for (const { tag, reason } of invalidTags){\n console.log(`tag: \"${tag}\" ${reason}`);\n }\n }\n return validTags;\n}\nconst getDerivedTags = (pathname)=>{\n const derivedTags = [\n `/layout`\n ];\n // we automatically add the current path segments as tags\n // for revalidatePath handling\n if (pathname.startsWith(\"/\")) {\n const pathnameParts = pathname.split(\"/\");\n for(let i = 1; i < pathnameParts.length + 1; i++){\n let curPathname = pathnameParts.slice(0, i).join(\"/\");\n if (curPathname) {\n // all derived tags other than the page are layout tags\n if (!curPathname.endsWith(\"/page\") && !curPathname.endsWith(\"/route\")) {\n curPathname = `${curPathname}${!curPathname.endsWith(\"/\") ? \"/\" : \"\"}layout`;\n }\n derivedTags.push(curPathname);\n }\n }\n }\n return derivedTags;\n};\nfunction addImplicitTags(staticGenerationStore) {\n const newTags = [];\n const { pagePath, urlPathname } = staticGenerationStore;\n if (!Array.isArray(staticGenerationStore.tags)) {\n staticGenerationStore.tags = [];\n }\n if (pagePath) {\n const derivedTags = getDerivedTags(pagePath);\n for (let tag of derivedTags){\n var _staticGenerationStore_tags;\n tag = `${_constants1.NEXT_CACHE_IMPLICIT_TAG_ID}${tag}`;\n if (!((_staticGenerationStore_tags = staticGenerationStore.tags) == null ? void 0 : _staticGenerationStore_tags.includes(tag))) {\n staticGenerationStore.tags.push(tag);\n }\n newTags.push(tag);\n }\n }\n if (urlPathname) {\n var _staticGenerationStore_tags1;\n const parsedPathname = new URL(urlPathname, \"http://n\").pathname;\n const tag = `${_constants1.NEXT_CACHE_IMPLICIT_TAG_ID}${parsedPathname}`;\n if (!((_staticGenerationStore_tags1 = staticGenerationStore.tags) == null ? void 0 : _staticGenerationStore_tags1.includes(tag))) {\n staticGenerationStore.tags.push(tag);\n }\n newTags.push(tag);\n }\n return newTags;\n}\nfunction trackFetchMetric(staticGenerationStore, ctx) {\n if (!staticGenerationStore) return;\n if (!staticGenerationStore.fetchMetrics) {\n staticGenerationStore.fetchMetrics = [];\n }\n const dedupeFields = [\n \"url\",\n \"status\",\n \"method\"\n ];\n // don't add metric if one already exists for the fetch\n if (staticGenerationStore.fetchMetrics.some((metric)=>{\n return dedupeFields.every((field)=>metric[field] === ctx[field]);\n })) {\n return;\n }\n staticGenerationStore.fetchMetrics.push({\n url: ctx.url,\n cacheStatus: ctx.cacheStatus,\n cacheReason: ctx.cacheReason,\n status: ctx.status,\n method: ctx.method,\n start: ctx.start,\n end: Date.now(),\n idx: staticGenerationStore.nextFetchId || 0\n });\n}\nfunction patchFetch({ serverHooks, staticGenerationAsyncStorage }) {\n if (!globalThis._nextOriginalFetch) {\n globalThis._nextOriginalFetch = globalThis.fetch;\n }\n if (globalThis.fetch.__nextPatched) return;\n const { DynamicServerError } = serverHooks;\n const originFetch = globalThis._nextOriginalFetch;\n globalThis.fetch = async (input, init)=>{\n var _init_method, _this;\n let url;\n try {\n url = new URL(input instanceof Request ? input.url : input);\n url.username = \"\";\n url.password = \"\";\n } catch {\n // Error caused by malformed URL should be handled by native fetch\n url = undefined;\n }\n const fetchUrl = (url == null ? void 0 : url.href) ?? \"\";\n const fetchStart = Date.now();\n const method = (init == null ? void 0 : (_init_method = init.method) == null ? void 0 : _init_method.toUpperCase()) || \"GET\";\n // Do create a new span trace for internal fetches in the\n // non-verbose mode.\n const isInternal = ((_this = init == null ? void 0 : init.next) == null ? void 0 : _this.internal) === true;\n const hideSpan = process.env.NEXT_OTEL_FETCH_DISABLED === \"1\";\n return await (0, _tracer.getTracer)().trace(isInternal ? _constants.NextNodeServerSpan.internalFetch : _constants.AppRenderSpan.fetch, {\n hideSpan,\n kind: _tracer.SpanKind.CLIENT,\n spanName: [\n \"fetch\",\n method,\n fetchUrl\n ].filter(Boolean).join(\" \"),\n attributes: {\n \"http.url\": fetchUrl,\n \"http.method\": method,\n \"net.peer.name\": url == null ? void 0 : url.hostname,\n \"net.peer.port\": (url == null ? void 0 : url.port) || undefined\n }\n }, async ()=>{\n var _getRequestMeta;\n const staticGenerationStore = staticGenerationAsyncStorage.getStore() || (fetch.__nextGetStaticStore == null ? void 0 : fetch.__nextGetStaticStore.call(fetch));\n const isRequestInput = input && typeof input === \"object\" && typeof input.method === \"string\";\n const getRequestMeta = (field)=>{\n // If request input is present but init is not, retrieve from input first.\n const value = init == null ? void 0 : init[field];\n return value || (isRequestInput ? input[field] : null);\n };\n // If the staticGenerationStore is not available, we can't do any\n // special treatment of fetch, therefore fallback to the original\n // fetch implementation.\n if (!staticGenerationStore || isInternal || staticGenerationStore.isDraftMode) {\n return originFetch(input, init);\n }\n let revalidate = undefined;\n const getNextField = (field)=>{\n var _init_next, _init_next1, _input_next;\n return typeof (init == null ? void 0 : (_init_next = init.next) == null ? void 0 : _init_next[field]) !== \"undefined\" ? init == null ? void 0 : (_init_next1 = init.next) == null ? void 0 : _init_next1[field] : isRequestInput ? (_input_next = input.next) == null ? void 0 : _input_next[field] : undefined;\n };\n // RequestInit doesn't keep extra fields e.g. next so it's\n // only available if init is used separate\n let curRevalidate = getNextField(\"revalidate\");\n const tags = validateTags(getNextField(\"tags\") || [], `fetch ${input.toString()}`);\n if (Array.isArray(tags)) {\n if (!staticGenerationStore.tags) {\n staticGenerationStore.tags = [];\n }\n for (const tag of tags){\n if (!staticGenerationStore.tags.includes(tag)) {\n staticGenerationStore.tags.push(tag);\n }\n }\n }\n const implicitTags = addImplicitTags(staticGenerationStore);\n const isOnlyCache = staticGenerationStore.fetchCache === \"only-cache\";\n const isForceCache = staticGenerationStore.fetchCache === \"force-cache\";\n const isDefaultCache = staticGenerationStore.fetchCache === \"default-cache\";\n const isDefaultNoStore = staticGenerationStore.fetchCache === \"default-no-store\";\n const isOnlyNoStore = staticGenerationStore.fetchCache === \"only-no-store\";\n const isForceNoStore = staticGenerationStore.fetchCache === \"force-no-store\";\n const isUsingNoStore = !!staticGenerationStore.isUnstableNoStore;\n let _cache = getRequestMeta(\"cache\");\n let cacheReason = \"\";\n if (typeof _cache === \"string\" && typeof curRevalidate !== \"undefined\") {\n // when providing fetch with a Request input, it'll automatically set a cache value of 'default'\n // we only want to warn if the user is explicitly setting a cache value\n if (!(isRequestInput && _cache === \"default\")) {\n _log.warn(`fetch for ${fetchUrl} on ${staticGenerationStore.urlPathname} specified \"cache: ${_cache}\" and \"revalidate: ${curRevalidate}\", only one should be specified.`);\n }\n _cache = undefined;\n }\n if (_cache === \"force-cache\") {\n curRevalidate = false;\n } else if (_cache === \"no-cache\" || _cache === \"no-store\" || isForceNoStore || isOnlyNoStore) {\n curRevalidate = 0;\n }\n if (_cache === \"no-cache\" || _cache === \"no-store\") {\n cacheReason = `cache: ${_cache}`;\n }\n revalidate = validateRevalidate(curRevalidate, staticGenerationStore.urlPathname);\n const _headers = getRequestMeta(\"headers\");\n const initHeaders = typeof (_headers == null ? void 0 : _headers.get) === \"function\" ? _headers : new Headers(_headers || {});\n const hasUnCacheableHeader = initHeaders.get(\"authorization\") || initHeaders.get(\"cookie\");\n const isUnCacheableMethod = ![\n \"get\",\n \"head\"\n ].includes(((_getRequestMeta = getRequestMeta(\"method\")) == null ? void 0 : _getRequestMeta.toLowerCase()) || \"get\");\n // if there are authorized headers or a POST method and\n // dynamic data usage was present above the tree we bail\n // e.g. if cookies() is used before an authed/POST fetch\n const autoNoCache = (hasUnCacheableHeader || isUnCacheableMethod) && staticGenerationStore.revalidate === 0;\n if (isForceNoStore) {\n cacheReason = \"fetchCache = force-no-store\";\n }\n if (isOnlyNoStore) {\n if (_cache === \"force-cache\" || typeof revalidate !== \"undefined\" && (revalidate === false || revalidate > 0)) {\n throw new Error(`cache: 'force-cache' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-no-store'`);\n }\n cacheReason = \"fetchCache = only-no-store\";\n }\n if (isOnlyCache && _cache === \"no-store\") {\n throw new Error(`cache: 'no-store' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-cache'`);\n }\n if (isForceCache && (typeof curRevalidate === \"undefined\" || curRevalidate === 0)) {\n cacheReason = \"fetchCache = force-cache\";\n revalidate = false;\n }\n if (typeof revalidate === \"undefined\") {\n if (isDefaultCache) {\n revalidate = false;\n cacheReason = \"fetchCache = default-cache\";\n } else if (autoNoCache) {\n revalidate = 0;\n cacheReason = \"auto no cache\";\n } else if (isDefaultNoStore) {\n revalidate = 0;\n cacheReason = \"fetchCache = default-no-store\";\n } else if (isUsingNoStore) {\n revalidate = 0;\n cacheReason = \"noStore call\";\n } else {\n cacheReason = \"auto cache\";\n revalidate = typeof staticGenerationStore.revalidate === \"boolean\" || typeof staticGenerationStore.revalidate === \"undefined\" ? false : staticGenerationStore.revalidate;\n }\n } else if (!cacheReason) {\n cacheReason = `revalidate: ${revalidate}`;\n }\n if (// `revalidate: 0` values\n !(staticGenerationStore.forceStatic && revalidate === 0) && // we don't consider autoNoCache to switch to dynamic during\n // revalidate although if it occurs during build we do\n !autoNoCache && // If the revalidate value isn't currently set or the value is less\n // than the current revalidate value, we should update the revalidate\n // value.\n (typeof staticGenerationStore.revalidate === \"undefined\" || typeof revalidate === \"number\" && (staticGenerationStore.revalidate === false || typeof staticGenerationStore.revalidate === \"number\" && revalidate < staticGenerationStore.revalidate))) {\n // If we were setting the revalidate value to 0, we should try to\n // postpone instead first.\n if (revalidate === 0) {\n staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, \"revalidate: 0\");\n }\n staticGenerationStore.revalidate = revalidate;\n }\n const isCacheableRevalidate = typeof revalidate === \"number\" && revalidate > 0 || revalidate === false;\n let cacheKey;\n if (staticGenerationStore.incrementalCache && isCacheableRevalidate) {\n try {\n cacheKey = await staticGenerationStore.incrementalCache.fetchCacheKey(fetchUrl, isRequestInput ? input : init);\n } catch (err) {\n console.error(`Failed to generate cache key for`, input);\n }\n }\n const fetchIdx = staticGenerationStore.nextFetchId ?? 1;\n staticGenerationStore.nextFetchId = fetchIdx + 1;\n const normalizedRevalidate = typeof revalidate !== \"number\" ? _constants1.CACHE_ONE_YEAR : revalidate;\n const doOriginalFetch = async (isStale, cacheReasonOverride)=>{\n const requestInputFields = [\n \"cache\",\n \"credentials\",\n \"headers\",\n \"integrity\",\n \"keepalive\",\n \"method\",\n \"mode\",\n \"redirect\",\n \"referrer\",\n \"referrerPolicy\",\n \"window\",\n \"duplex\",\n // don't pass through signal when revalidating\n ...isStale ? [] : [\n \"signal\"\n ]\n ];\n if (isRequestInput) {\n const reqInput = input;\n const reqOptions = {\n body: reqInput._ogBody || reqInput.body\n };\n for (const field of requestInputFields){\n // @ts-expect-error custom fields\n reqOptions[field] = reqInput[field];\n }\n input = new Request(reqInput.url, reqOptions);\n } else if (init) {\n const initialInit = init;\n init = {\n body: init._ogBody || init.body\n };\n for (const field of requestInputFields){\n // @ts-expect-error custom fields\n init[field] = initialInit[field];\n }\n }\n // add metadata to init without editing the original\n const clonedInit = {\n ...init,\n next: {\n ...init == null ? void 0 : init.next,\n fetchType: \"origin\",\n fetchIdx\n }\n };\n return originFetch(input, clonedInit).then(async (res)=>{\n if (!isStale) {\n trackFetchMetric(staticGenerationStore, {\n start: fetchStart,\n url: fetchUrl,\n cacheReason: cacheReasonOverride || cacheReason,\n cacheStatus: revalidate === 0 || cacheReasonOverride ? \"skip\" : \"miss\",\n status: res.status,\n method: clonedInit.method || \"GET\"\n });\n }\n if (res.status === 200 && staticGenerationStore.incrementalCache && cacheKey && isCacheableRevalidate) {\n const bodyBuffer = Buffer.from(await res.arrayBuffer());\n try {\n await staticGenerationStore.incrementalCache.set(cacheKey, {\n kind: \"FETCH\",\n data: {\n headers: Object.fromEntries(res.headers.entries()),\n body: bodyBuffer.toString(\"base64\"),\n status: res.status,\n url: res.url\n },\n revalidate: normalizedRevalidate\n }, {\n fetchCache: true,\n revalidate,\n fetchUrl,\n fetchIdx,\n tags\n });\n } catch (err) {\n console.warn(`Failed to set fetch cache`, input, err);\n }\n const response = new Response(bodyBuffer, {\n headers: new Headers(res.headers),\n status: res.status\n });\n Object.defineProperty(response, \"url\", {\n value: res.url\n });\n return response;\n }\n return res;\n });\n };\n let handleUnlock = ()=>Promise.resolve();\n let cacheReasonOverride;\n if (cacheKey && staticGenerationStore.incrementalCache) {\n handleUnlock = await staticGenerationStore.incrementalCache.lock(cacheKey);\n const entry = staticGenerationStore.isOnDemandRevalidate ? null : await staticGenerationStore.incrementalCache.get(cacheKey, {\n kindHint: \"fetch\",\n revalidate,\n fetchUrl,\n fetchIdx,\n tags,\n softTags: implicitTags\n });\n if (entry) {\n await handleUnlock();\n } else {\n // in dev, incremental cache response will be null in case the browser adds `cache-control: no-cache` in the request headers\n cacheReasonOverride = \"cache-control: no-cache (hard refresh)\";\n }\n if ((entry == null ? void 0 : entry.value) && entry.value.kind === \"FETCH\") {\n // when stale and is revalidating we wait for fresh data\n // so the revalidated entry has the updated data\n if (!(staticGenerationStore.isRevalidate && entry.isStale)) {\n if (entry.isStale) {\n staticGenerationStore.pendingRevalidates ??= {};\n if (!staticGenerationStore.pendingRevalidates[cacheKey]) {\n staticGenerationStore.pendingRevalidates[cacheKey] = doOriginalFetch(true).catch(console.error);\n }\n }\n const resData = entry.value.data;\n trackFetchMetric(staticGenerationStore, {\n start: fetchStart,\n url: fetchUrl,\n cacheReason,\n cacheStatus: \"hit\",\n status: resData.status || 200,\n method: (init == null ? void 0 : init.method) || \"GET\"\n });\n const response = new Response(Buffer.from(resData.body, \"base64\"), {\n headers: resData.headers,\n status: resData.status\n });\n Object.defineProperty(response, \"url\", {\n value: entry.value.data.url\n });\n return response;\n }\n }\n }\n if (staticGenerationStore.isStaticGeneration && init && typeof init === \"object\") {\n const { cache } = init;\n // Delete `cache` property as Cloudflare Workers will throw an error\n if (isEdgeRuntime) delete init.cache;\n if (!staticGenerationStore.forceStatic && cache === \"no-store\") {\n const dynamicUsageReason = `no-store fetch ${input}${staticGenerationStore.urlPathname ? ` ${staticGenerationStore.urlPathname}` : \"\"}`;\n // If enabled, we should bail out of static generation.\n staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, dynamicUsageReason);\n // PPR is not enabled, or React postpone is not available, we\n // should set the revalidate to 0.\n staticGenerationStore.revalidate = 0;\n const err = new DynamicServerError(dynamicUsageReason);\n staticGenerationStore.dynamicUsageErr = err;\n staticGenerationStore.dynamicUsageDescription = dynamicUsageReason;\n }\n const hasNextConfig = \"next\" in init;\n const { next = {} } = init;\n if (typeof next.revalidate === \"number\" && (typeof staticGenerationStore.revalidate === \"undefined\" || typeof staticGenerationStore.revalidate === \"number\" && next.revalidate < staticGenerationStore.revalidate)) {\n if (!staticGenerationStore.forceDynamic && !staticGenerationStore.forceStatic && next.revalidate === 0) {\n const dynamicUsageReason = `revalidate: 0 fetch ${input}${staticGenerationStore.urlPathname ? ` ${staticGenerationStore.urlPathname}` : \"\"}`;\n // If enabled, we should bail out of static generation.\n staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, dynamicUsageReason);\n const err = new DynamicServerError(dynamicUsageReason);\n staticGenerationStore.dynamicUsageErr = err;\n staticGenerationStore.dynamicUsageDescription = dynamicUsageReason;\n }\n if (!staticGenerationStore.forceStatic || next.revalidate !== 0) {\n staticGenerationStore.revalidate = next.revalidate;\n }\n }\n if (hasNextConfig) delete init.next;\n }\n return doOriginalFetch(false, cacheReasonOverride).finally(handleUnlock);\n });\n };\n globalThis.fetch.__nextGetStaticStore = ()=>{\n return staticGenerationAsyncStorage;\n };\n globalThis.fetch.__nextPatched = true;\n} //# sourceMappingURL=patch-fetch.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2xpYi9wYXRjaC1mZXRjaC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUtOO0FBQ0EsU0FBU0ssUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVgsT0FBT0MsY0FBYyxDQUFDUyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFQLFNBQVM7SUFDYkcsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7SUFDQUMsY0FBYztRQUNWLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtJQUNBQyxZQUFZO1FBQ1IsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sYUFBYUMsbUJBQU9BLENBQUMsa0dBQW1CO0FBQzlDLE1BQU1DLFVBQVVELG1CQUFPQSxDQUFDLDRGQUFnQjtBQUN4QyxNQUFNRSxjQUFjRixtQkFBT0EsQ0FBQyx1RkFBcUI7QUFDakQsTUFBTUcsT0FBTyxXQUFXLEdBQUdDLDBCQUEwQkosbUJBQU9BLENBQUMsNkZBQXdCO0FBQ3JGLFNBQVNLLHlCQUF5QkMsV0FBVztJQUN6QyxJQUFJLE9BQU9DLFlBQVksWUFBWSxPQUFPO0lBQzFDLElBQUlDLG9CQUFvQixJQUFJRDtJQUM1QixJQUFJRSxtQkFBbUIsSUFBSUY7SUFDM0IsT0FBTyxDQUFDRiwyQkFBMkIsU0FBU0MsV0FBVztRQUNuRCxPQUFPQSxjQUFjRyxtQkFBbUJEO0lBQzVDLEdBQUdGO0FBQ1A7QUFDQSxTQUFTRiwwQkFBMEJNLEdBQUcsRUFBRUosV0FBVztJQUMvQyxJQUFJLENBQUNBLGVBQWVJLE9BQU9BLElBQUlDLFVBQVUsRUFBRTtRQUN2QyxPQUFPRDtJQUNYO0lBQ0EsSUFB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SjtnQkFDQSxJQUFJeUUsZUFBZSxPQUFPNUcsS0FBS1csSUFBSTtZQUN2QztZQUNBLE9BQU8wRCxnQkFBZ0IsT0FBT0UscUJBQXFCdUMsT0FBTyxDQUFDbEI7UUFDL0Q7SUFDSjtJQUNBbkcsV0FBV0UsS0FBSyxDQUFDb0Msb0JBQW9CLEdBQUc7UUFDcEMsT0FBT3ZDO0lBQ1g7SUFDQUMsV0FBV0UsS0FBSyxDQUFDQyxhQUFhLEdBQUc7QUFDckMsRUFFQSx1Q0FBdUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9saWIvcGF0Y2gtZmV0Y2guanM/NDI5NSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHZhbGlkYXRlUmV2YWxpZGF0ZTogbnVsbCxcbiAgICB2YWxpZGF0ZVRhZ3M6IG51bGwsXG4gICAgYWRkSW1wbGljaXRUYWdzOiBudWxsLFxuICAgIHBhdGNoRmV0Y2g6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgdmFsaWRhdGVSZXZhbGlkYXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHZhbGlkYXRlUmV2YWxpZGF0ZTtcbiAgICB9LFxuICAgIHZhbGlkYXRlVGFnczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB2YWxpZGF0ZVRhZ3M7XG4gICAgfSxcbiAgICBhZGRJbXBsaWNpdFRhZ3M6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYWRkSW1wbGljaXRUYWdzO1xuICAgIH0sXG4gICAgcGF0Y2hGZXRjaDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwYXRjaEZldGNoO1xuICAgIH1cbn0pO1xuY29uc3QgX2NvbnN0YW50cyA9IHJlcXVpcmUoXCIuL3RyYWNlL2NvbnN0YW50c1wiKTtcbmNvbnN0IF90cmFjZXIgPSByZXF1aXJlKFwiLi90cmFjZS90cmFjZXJcIik7XG5jb25zdCBfY29uc3RhbnRzMSA9IHJlcXVpcmUoXCIuLi8uLi9saWIvY29uc3RhbnRzXCIpO1xuY29uc3QgX2xvZyA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZChyZXF1aXJlKFwiLi4vLi4vYnVpbGQvb3V0cHV0L2xvZ1wiKSk7XG5mdW5jdGlvbiBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApIHtcbiAgICBpZiAodHlwZW9mIFdlYWtNYXAgIT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIG51bGw7XG4gICAgdmFyIGNhY2hlQmFiZWxJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcbiAgICB2YXIgY2FjaGVOb2RlSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgcmV0dXJuIChfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUgPSBmdW5jdGlvbihub2RlSW50ZXJvcCkge1xuICAgICAgICByZXR1cm4gbm9kZUludGVyb3AgPyBjYWNoZU5vZGVJbnRlcm9wIDogY2FjaGVCYWJlbEludGVyb3A7XG4gICAgfSkobm9kZUludGVyb3ApO1xufVxuZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZChvYmosIG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKCFub2RlSW50ZXJvcCAmJiBvYmogJiYgb2JqLl9fZXNNb2R1bGUpIHtcbiAgICAgICAgcmV0dXJuIG9iajtcbiAgICB9XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBvYmogIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGVmYXVsdDogb2JqXG4gICAgICAgIH07XG4gICAgfVxuICAgIHZhciBjYWNoZSA9IF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCk7XG4gICAgaWYgKGNhY2hlICYmIGNhY2hlLmhhcyhvYmopKSB7XG4gICAgICAgIHJldHVybiBjYWNoZS5nZXQob2JqKTtcbiAgICB9XG4gICAgdmFyIG5ld09iaiA9IHt9O1xuICAgIHZhciBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkgJiYgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbiAgICBmb3IodmFyIGtleSBpbiBvYmope1xuICAgICAgICBpZiAoa2V5ICE9PSBcImRlZmF1bHRcIiAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICAgICAgICB2YXIgZGVzYyA9IGhhc1Byb3BlcnR5RGVzY3JpcHRvciA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBrZXkpIDogbnVsbDtcbiAgICAgICAgICAgIGlmIChkZXNjICYmIChkZXNjLmdldCB8fCBkZXNjLnNldCkpIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3T2JqLCBrZXksIGRlc2MpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdPYmpba2V5XSA9IG9ialtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIG5ld09iai5kZWZhdWx0ID0gb2JqO1xuICAgIGlmIChjYWNoZSkge1xuICAgICAgICBjYWNoZS5zZXQob2JqLCBuZXdPYmopO1xuICAgIH1cbiAgICByZXR1cm4gbmV3T2JqO1xufVxuY29uc3QgaXNFZGdlUnVudGltZSA9IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCI7XG5mdW5jdGlvbiB2YWxpZGF0ZVJldmFsaWRhdGUocmV2YWxpZGF0ZVZhbCwgcGF0aG5hbWUpIHtcbiAgICB0cnkge1xuICAgICAgICBsZXQgbm9ybWFsaXplZFJldmFsaWRhdGUgPSB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChyZXZhbGlkYXRlVmFsID09PSBmYWxzZSkge1xuICAgICAgICAgICAgbm9ybWFsaXplZFJldmFsaWRhdGUgPSByZXZhbGlkYXRlVmFsO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiByZXZhbGlkYXRlVmFsID09PSBcIm51bWJlclwiICYmICFpc05hTihyZXZhbGlkYXRlVmFsKSAmJiByZXZhbGlkYXRlVmFsID4gLTEpIHtcbiAgICAgICAgICAgIG5vcm1hbGl6ZWRSZXZhbGlkYXRlID0gcmV2YWxpZGF0ZVZhbDtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcmV2YWxpZGF0ZVZhbCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJldmFsaWRhdGUgdmFsdWUgXCIke3JldmFsaWRhdGVWYWx9XCIgb24gXCIke3BhdGhuYW1lfVwiLCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlciBvciBcImZhbHNlXCJgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9ybWFsaXplZFJldmFsaWRhdGU7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIC8vIGhhbmRsZSBjbGllbnQgY29tcG9uZW50IGVycm9yIGZyb20gYXR0ZW1wdGluZyB0byBjaGVjayByZXZhbGlkYXRlIHZhbHVlXG4gICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcyhcIkludmFsaWQgcmV2YWxpZGF0ZVwiKSkge1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxufVxuZnVuY3Rpb24gdmFsaWRhdGVUYWdzKHRhZ3MsIGRlc2NyaXB0aW9uKSB7XG4gICAgY29uc3QgdmFsaWRUYWdzID0gW107XG4gICAgY29uc3QgaW52YWxpZFRhZ3MgPSBbXTtcbiAgICBmb3IgKGNvbnN0IHRhZyBvZiB0YWdzKXtcbiAgICAgICAgaWYgKHR5cGVvZiB0YWcgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIGludmFsaWRUYWdzLnB1c2goe1xuICAgICAgICAgICAgICAgIHRhZyxcbiAgICAgICAgICAgICAgICByZWFzb246IFwiaW52YWxpZCB0eXBlLCBtdXN0IGJlIGEgc3RyaW5nXCJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRhZy5sZW5ndGggPiBfY29uc3RhbnRzMS5ORVhUX0NBQ0hFX1RBR19NQVhfTEVOR1RIKSB7XG4gICAgICAgICAgICBpbnZhbGlkVGFncy5wdXNoKHtcbiAgICAgICAgICAgICAgICB0YWcsXG4gICAgICAgICAgICAgICAgcmVhc29uOiBgZXhjZWVkZWQgbWF4IGxlbmd0aCBvZiAke19jb25zdGFudHMxLk5FWFRfQ0FDSEVfVEFHX01BWF9MRU5HVEh9YFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWxpZFRhZ3MucHVzaCh0YWcpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChpbnZhbGlkVGFncy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgV2FybmluZzogaW52YWxpZCB0YWdzIHBhc3NlZCB0byAke2Rlc2NyaXB0aW9ufTogYCk7XG4gICAgICAgIGZvciAoY29uc3QgeyB0YWcsIHJlYXNvbiB9IG9mIGludmFsaWRUYWdzKXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGB0YWc6IFwiJHt0YWd9XCIgJHtyZWFzb259YCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZhbGlkVGFncztcbn1cbmNvbnN0IGdldERlcml2ZWRUYWdzID0gKHBhdGhuYW1lKT0+e1xuICAgIGNvbnN0IGRlcml2ZWRUYWdzID0gW1xuICAgICAgICBgL2xheW91dGBcbiAgICBdO1xuICAgIC8vIHdlIGF1dG9tYXRpY2FsbHkgYWRkIHRoZSBjdXJyZW50IHBhdGggc2VnbWVudHMgYXMgdGFnc1xuICAgIC8vIGZvciByZXZhbGlkYXRlUGF0aCBoYW5kbGluZ1xuICAgIGlmIChwYXRobmFtZS5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgICAgICBjb25zdCBwYXRobmFtZVBhcnRzID0gcGF0aG5hbWUuc3BsaXQoXCIvXCIpO1xuICAgICAgICBmb3IobGV0IGkgPSAxOyBpIDwgcGF0aG5hbWVQYXJ0cy5sZW5ndGggKyAxOyBpKyspe1xuICAgICAgICAgICAgbGV0IGN1clBhdGhuYW1lID0gcGF0aG5hbWVQYXJ0cy5zbGljZSgwLCBpKS5qb2luKFwiL1wiKTtcbiAgICAgICAgICAgIGlmIChjdXJQYXRobmFtZSkge1xuICAgICAgICAgICAgICAgIC8vIGFsbCBkZXJpdmVkIHRhZ3Mgb3RoZXIgdGhhbiB0aGUgcGFnZSBhcmUgbGF5b3V0IHRhZ3NcbiAgICAgICAgICAgICAgICBpZiAoIWN1clBhdGhuYW1lLmVuZHNXaXRoKFwiL3BhZ2VcIikgJiYgIWN1clBhdGhuYW1lLmVuZHNXaXRoKFwiL3JvdXRlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGN1clBhdGhuYW1lID0gYCR7Y3VyUGF0aG5hbWV9JHshY3VyUGF0aG5hbWUuZW5kc1dpdGgoXCIvXCIpID8gXCIvXCIgOiBcIlwifWxheW91dGA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlcml2ZWRUYWdzLnB1c2goY3VyUGF0aG5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkZXJpdmVkVGFncztcbn07XG5mdW5jdGlvbiBhZGRJbXBsaWNpdFRhZ3Moc3RhdGljR2VuZXJhdGlvblN0b3JlKSB7XG4gICAgY29uc3QgbmV3VGFncyA9IFtdO1xuICAgIGNvbnN0IHsgcGFnZVBhdGgsIHVybFBhdGhuYW1lIH0gPSBzdGF0aWNHZW5lcmF0aW9uU3RvcmU7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHN0YXRpY0dlbmVyYXRpb25TdG9yZS50YWdzKSkge1xuICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUudGFncyA9IFtdO1xuICAgIH1cbiAgICBpZiAocGFnZVBhdGgpIHtcbiAgICAgICAgY29uc3QgZGVyaXZlZFRhZ3MgPSBnZXREZXJpdmVkVGFncyhwYWdlUGF0aCk7XG4gICAgICAgIGZvciAobGV0IHRhZyBvZiBkZXJpdmVkVGFncyl7XG4gICAgICAgICAgICB2YXIgX3N0YXRpY0dlbmVyYXRpb25TdG9yZV90YWdzO1xuICAgICAgICAgICAgdGFnID0gYCR7X2NvbnN0YW50czEuTkVYVF9DQUNIRV9JTVBMSUNJVF9UQUdfSUR9JHt0YWd9YDtcbiAgICAgICAgICAgIGlmICghKChfc3RhdGljR2VuZXJhdGlvblN0b3JlX3RhZ3MgPSBzdGF0aWNHZW5lcmF0aW9uU3RvcmUudGFncykgPT0gbnVsbCA/IHZvaWQgMCA6IF9zdGF0aWNHZW5lcmF0aW9uU3RvcmVfdGFncy5pbmNsdWRlcyh0YWcpKSkge1xuICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS50YWdzLnB1c2godGFnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5ld1RhZ3MucHVzaCh0YWcpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICh1cmxQYXRobmFtZSkge1xuICAgICAgICB2YXIgX3N0YXRpY0dlbmVyYXRpb25TdG9yZV90YWdzMTtcbiAgICAgICAgY29uc3QgcGFyc2VkUGF0aG5hbWUgPSBuZXcgVVJMKHVybFBhdGhuYW1lLCBcImh0dHA6Ly9uXCIpLnBhdGhuYW1lO1xuICAgICAgICBjb25zdCB0YWcgPSBgJHtfY29uc3RhbnRzMS5ORVhUX0NBQ0hFX0lNUExJQ0lUX1RBR19JRH0ke3BhcnNlZFBhdGhuYW1lfWA7XG4gICAgICAgIGlmICghKChfc3RhdGljR2VuZXJhdGlvblN0b3JlX3RhZ3MxID0gc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MpID09IG51bGwgPyB2b2lkIDAgOiBfc3RhdGljR2VuZXJhdGlvblN0b3JlX3RhZ3MxLmluY2x1ZGVzKHRhZykpKSB7XG4gICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUudGFncy5wdXNoKHRhZyk7XG4gICAgICAgIH1cbiAgICAgICAgbmV3VGFncy5wdXNoKHRhZyk7XG4gICAgfVxuICAgIHJldHVybiBuZXdUYWdzO1xufVxuZnVuY3Rpb24gdHJhY2tGZXRjaE1ldHJpYyhzdGF0aWNHZW5lcmF0aW9uU3RvcmUsIGN0eCkge1xuICAgIGlmICghc3RhdGljR2VuZXJhdGlvblN0b3JlKSByZXR1cm47XG4gICAgaWYgKCFzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZmV0Y2hNZXRyaWNzKSB7XG4gICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mZXRjaE1ldHJpY3MgPSBbXTtcbiAgICB9XG4gICAgY29uc3QgZGVkdXBlRmllbGRzID0gW1xuICAgICAgICBcInVybFwiLFxuICAgICAgICBcInN0YXR1c1wiLFxuICAgICAgICBcIm1ldGhvZFwiXG4gICAgXTtcbiAgICAvLyBkb24ndCBhZGQgbWV0cmljIGlmIG9uZSBhbHJlYWR5IGV4aXN0cyBmb3IgdGhlIGZldGNoXG4gICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mZXRjaE1ldHJpY3Muc29tZSgobWV0cmljKT0+e1xuICAgICAgICByZXR1cm4gZGVkdXBlRmllbGRzLmV2ZXJ5KChmaWVsZCk9Pm1ldHJpY1tmaWVsZF0gPT09IGN0eFtmaWVsZF0pO1xuICAgIH0pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLmZldGNoTWV0cmljcy5wdXNoKHtcbiAgICAgICAgdXJsOiBjdHgudXJsLFxuICAgICAgICBjYWNoZVN0YXR1czogY3R4LmNhY2hlU3RhdHVzLFxuICAgICAgICBjYWNoZVJlYXNvbjogY3R4LmNhY2hlUmVhc29uLFxuICAgICAgICBzdGF0dXM6IGN0eC5zdGF0dXMsXG4gICAgICAgIG1ldGhvZDogY3R4Lm1ldGhvZCxcbiAgICAgICAgc3RhcnQ6IGN0eC5zdGFydCxcbiAgICAgICAgZW5kOiBEYXRlLm5vdygpLFxuICAgICAgICBpZHg6IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5uZXh0RmV0Y2hJZCB8fCAwXG4gICAgfSk7XG59XG5mdW5jdGlvbiBwYXRjaEZldGNoKHsgc2VydmVySG9va3MsIHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UgfSkge1xuICAgIGlmICghZ2xvYmFsVGhpcy5fbmV4dE9yaWdpbmFsRmV0Y2gpIHtcbiAgICAgICAgZ2xvYmFsVGhpcy5fbmV4dE9yaWdpbmFsRmV0Y2ggPSBnbG9iYWxUaGlzLmZldGNoO1xuICAgIH1cbiAgICBpZiAoZ2xvYmFsVGhpcy5mZXRjaC5fX25leHRQYXRjaGVkKSByZXR1cm47XG4gICAgY29uc3QgeyBEeW5hbWljU2VydmVyRXJyb3IgfSA9IHNlcnZlckhvb2tzO1xuICAgIGNvbnN0IG9yaWdpbkZldGNoID0gZ2xvYmFsVGhpcy5fbmV4dE9yaWdpbmFsRmV0Y2g7XG4gICAgZ2xvYmFsVGhpcy5mZXRjaCA9IGFzeW5jIChpbnB1dCwgaW5pdCk9PntcbiAgICAgICAgdmFyIF9pbml0X21ldGhvZCwgX3RoaXM7XG4gICAgICAgIGxldCB1cmw7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB1cmwgPSBuZXcgVVJMKGlucHV0IGluc3RhbmNlb2YgUmVxdWVzdCA/IGlucHV0LnVybCA6IGlucHV0KTtcbiAgICAgICAgICAgIHVybC51c2VybmFtZSA9IFwiXCI7XG4gICAgICAgICAgICB1cmwucGFzc3dvcmQgPSBcIlwiO1xuICAgICAgICB9IGNhdGNoICB7XG4gICAgICAgICAgICAvLyBFcnJvciBjYXVzZWQgYnkgbWFsZm9ybWVkIFVSTCBzaG91bGQgYmUgaGFuZGxlZCBieSBuYXRpdmUgZmV0Y2hcbiAgICAgICAgICAgIHVybCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmZXRjaFVybCA9ICh1cmwgPT0gbnVsbCA/IHZvaWQgMCA6IHVybC5ocmVmKSA/PyBcIlwiO1xuICAgICAgICBjb25zdCBmZXRjaFN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3QgbWV0aG9kID0gKGluaXQgPT0gbnVsbCA/IHZvaWQgMCA6IChfaW5pdF9tZXRob2QgPSBpbml0Lm1ldGhvZCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9pbml0X21ldGhvZC50b1VwcGVyQ2FzZSgpKSB8fCBcIkdFVFwiO1xuICAgICAgICAvLyBEbyBjcmVhdGUgYSBuZXcgc3BhbiB0cmFjZSBmb3IgaW50ZXJuYWwgZmV0Y2hlcyBpbiB0aGVcbiAgICAgICAgLy8gbm9uLXZlcmJvc2UgbW9kZS5cbiAgICAgICAgY29uc3QgaXNJbnRlcm5hbCA9ICgoX3RoaXMgPSBpbml0ID09IG51bGwgPyB2b2lkIDAgOiBpbml0Lm5leHQpID09IG51bGwgPyB2b2lkIDAgOiBfdGhpcy5pbnRlcm5hbCkgPT09IHRydWU7XG4gICAgICAgIGNvbnN0IGhpZGVTcGFuID0gcHJvY2Vzcy5lbnYuTkVYVF9PVEVMX0ZFVENIX0RJU0FCTEVEID09PSBcIjFcIjtcbiAgICAgICAgcmV0dXJuIGF3YWl0ICgwLCBfdHJhY2VyLmdldFRyYWNlcikoKS50cmFjZShpc0ludGVybmFsID8gX2NvbnN0YW50cy5OZXh0Tm9kZVNlcnZlclNwYW4uaW50ZXJuYWxGZXRjaCA6IF9jb25zdGFudHMuQXBwUmVuZGVyU3Bhbi5mZXRjaCwge1xuICAgICAgICAgICAgaGlkZVNwYW4sXG4gICAgICAgICAgICBraW5kOiBfdHJhY2VyLlNwYW5LaW5kLkNMSUVOVCxcbiAgICAgICAgICAgIHNwYW5OYW1lOiBbXG4gICAgICAgICAgICAgICAgXCJmZXRjaFwiLFxuICAgICAgICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICAgICAgICBmZXRjaFVybFxuICAgICAgICAgICAgXS5maWx0ZXIoQm9vbGVhbikuam9pbihcIiBcIiksXG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgICAgXCJodHRwLnVybFwiOiBmZXRjaFVybCxcbiAgICAgICAgICAgICAgICBcImh0dHAubWV0aG9kXCI6IG1ldGhvZCxcbiAgICAgICAgICAgICAgICBcIm5ldC5wZWVyLm5hbWVcIjogdXJsID09IG51bGwgPyB2b2lkIDAgOiB1cmwuaG9zdG5hbWUsXG4gICAgICAgICAgICAgICAgXCJuZXQucGVlci5wb3J0XCI6ICh1cmwgPT0gbnVsbCA/IHZvaWQgMCA6IHVybC5wb3J0KSB8fCB1bmRlZmluZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgYXN5bmMgKCk9PntcbiAgICAgICAgICAgIHZhciBfZ2V0UmVxdWVzdE1ldGE7XG4gICAgICAgICAgICBjb25zdCBzdGF0aWNHZW5lcmF0aW9uU3RvcmUgPSBzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlLmdldFN0b3JlKCkgfHwgKGZldGNoLl9fbmV4dEdldFN0YXRpY1N0b3JlID09IG51bGwgPyB2b2lkIDAgOiBmZXRjaC5fX25leHRHZXRTdGF0aWNTdG9yZS5jYWxsKGZldGNoKSk7XG4gICAgICAgICAgICBjb25zdCBpc1JlcXVlc3RJbnB1dCA9IGlucHV0ICYmIHR5cGVvZiBpbnB1dCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgaW5wdXQubWV0aG9kID09PSBcInN0cmluZ1wiO1xuICAgICAgICAgICAgY29uc3QgZ2V0UmVxdWVzdE1ldGEgPSAoZmllbGQpPT57XG4gICAgICAgICAgICAgICAgLy8gSWYgcmVxdWVzdCBpbnB1dCBpcyBwcmVzZW50IGJ1dCBpbml0IGlzIG5vdCwgcmV0cmlldmUgZnJvbSBpbnB1dCBmaXJzdC5cbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGluaXQgPT0gbnVsbCA/IHZvaWQgMCA6IGluaXRbZmllbGRdO1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSB8fCAoaXNSZXF1ZXN0SW5wdXQgPyBpbnB1dFtmaWVsZF0gOiBudWxsKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvLyBJZiB0aGUgc3RhdGljR2VuZXJhdGlvblN0b3JlIGlzIG5vdCBhdmFpbGFibGUsIHdlIGNhbid0IGRvIGFueVxuICAgICAgICAgICAgLy8gc3BlY2lhbCB0cmVhdG1lbnQgb2YgZmV0Y2gsIHRoZXJlZm9yZSBmYWxsYmFjayB0byB0aGUgb3JpZ2luYWxcbiAgICAgICAgICAgIC8vIGZldGNoIGltcGxlbWVudGF0aW9uLlxuICAgICAgICAgICAgaWYgKCFzdGF0aWNHZW5lcmF0aW9uU3RvcmUgfHwgaXNJbnRlcm5hbCB8fCBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaXNEcmFmdE1vZGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luRmV0Y2goaW5wdXQsIGluaXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IHJldmFsaWRhdGUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBjb25zdCBnZXROZXh0RmllbGQgPSAoZmllbGQpPT57XG4gICAgICAgICAgICAgICAgdmFyIF9pbml0X25leHQsIF9pbml0X25leHQxLCBfaW5wdXRfbmV4dDtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIChpbml0ID09IG51bGwgPyB2b2lkIDAgOiAoX2luaXRfbmV4dCA9IGluaXQubmV4dCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9pbml0X25leHRbZmllbGRdKSAhPT0gXCJ1bmRlZmluZWRcIiA/IGluaXQgPT0gbnVsbCA/IHZvaWQgMCA6IChfaW5pdF9uZXh0MSA9IGluaXQubmV4dCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9pbml0X25leHQxW2ZpZWxkXSA6IGlzUmVxdWVzdElucHV0ID8gKF9pbnB1dF9uZXh0ID0gaW5wdXQubmV4dCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9pbnB1dF9uZXh0W2ZpZWxkXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvLyBSZXF1ZXN0SW5pdCBkb2Vzbid0IGtlZXAgZXh0cmEgZmllbGRzIGUuZy4gbmV4dCBzbyBpdCdzXG4gICAgICAgICAgICAvLyBvbmx5IGF2YWlsYWJsZSBpZiBpbml0IGlzIHVzZWQgc2VwYXJhdGVcbiAgICAgICAgICAgIGxldCBjdXJSZXZhbGlkYXRlID0gZ2V0TmV4dEZpZWxkKFwicmV2YWxpZGF0ZVwiKTtcbiAgICAgICAgICAgIGNvbnN0IHRhZ3MgPSB2YWxpZGF0ZVRhZ3MoZ2V0TmV4dEZpZWxkKFwidGFnc1wiKSB8fCBbXSwgYGZldGNoICR7aW5wdXQudG9TdHJpbmcoKX1gKTtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRhZ3MpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzdGF0aWNHZW5lcmF0aW9uU3RvcmUudGFncykge1xuICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUudGFncyA9IFtdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHRhZyBvZiB0YWdzKXtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdGF0aWNHZW5lcmF0aW9uU3RvcmUudGFncy5pbmNsdWRlcyh0YWcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUudGFncy5wdXNoKHRhZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBpbXBsaWNpdFRhZ3MgPSBhZGRJbXBsaWNpdFRhZ3Moc3RhdGljR2VuZXJhdGlvblN0b3JlKTtcbiAgICAgICAgICAgIGNvbnN0IGlzT25seUNhY2hlID0gc3RhdGljR2VuZXJhdGlvblN0b3JlLmZldGNoQ2FjaGUgPT09IFwib25seS1jYWNoZVwiO1xuICAgICAgICAgICAgY29uc3QgaXNGb3JjZUNhY2hlID0gc3RhdGljR2VuZXJhdGlvblN0b3JlLmZldGNoQ2FjaGUgPT09IFwiZm9yY2UtY2FjaGVcIjtcbiAgICAgICAgICAgIGNvbnN0IGlzRGVmYXVsdENhY2hlID0gc3RhdGljR2VuZXJhdGlvblN0b3JlLmZldGNoQ2FjaGUgPT09IFwiZGVmYXVsdC1jYWNoZVwiO1xuICAgICAgICAgICAgY29uc3QgaXNEZWZhdWx0Tm9TdG9yZSA9IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mZXRjaENhY2hlID09PSBcImRlZmF1bHQtbm8tc3RvcmVcIjtcbiAgICAgICAgICAgIGNvbnN0IGlzT25seU5vU3RvcmUgPSBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZmV0Y2hDYWNoZSA9PT0gXCJvbmx5LW5vLXN0b3JlXCI7XG4gICAgICAgICAgICBjb25zdCBpc0ZvcmNlTm9TdG9yZSA9IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mZXRjaENhY2hlID09PSBcImZvcmNlLW5vLXN0b3JlXCI7XG4gICAgICAgICAgICBjb25zdCBpc1VzaW5nTm9TdG9yZSA9ICEhc3RhdGljR2VuZXJhdGlvblN0b3JlLmlzVW5zdGFibGVOb1N0b3JlO1xuICAgICAgICAgICAgbGV0IF9jYWNoZSA9IGdldFJlcXVlc3RNZXRhKFwiY2FjaGVcIik7XG4gICAgICAgICAgICBsZXQgY2FjaGVSZWFzb24gPSBcIlwiO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBfY2FjaGUgPT09IFwic3RyaW5nXCIgJiYgdHlwZW9mIGN1clJldmFsaWRhdGUgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgICAgICAvLyB3aGVuIHByb3ZpZGluZyBmZXRjaCB3aXRoIGEgUmVxdWVzdCBpbnB1dCwgaXQnbGwgYXV0b21hdGljYWxseSBzZXQgYSBjYWNoZSB2YWx1ZSBvZiAnZGVmYXVsdCdcbiAgICAgICAgICAgICAgICAvLyB3ZSBvbmx5IHdhbnQgdG8gd2FybiBpZiB0aGUgdXNlciBpcyBleHBsaWNpdGx5IHNldHRpbmcgYSBjYWNoZSB2YWx1ZVxuICAgICAgICAgICAgICAgIGlmICghKGlzUmVxdWVzdElucHV0ICYmIF9jYWNoZSA9PT0gXCJkZWZhdWx0XCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIF9sb2cud2FybihgZmV0Y2ggZm9yICR7ZmV0Y2hVcmx9IG9uICR7c3RhdGljR2VuZXJhdGlvblN0b3JlLnVybFBhdGhuYW1lfSBzcGVjaWZpZWQgXCJjYWNoZTogJHtfY2FjaGV9XCIgYW5kIFwicmV2YWxpZGF0ZTogJHtjdXJSZXZhbGlkYXRlfVwiLCBvbmx5IG9uZSBzaG91bGQgYmUgc3BlY2lmaWVkLmApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBfY2FjaGUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoX2NhY2hlID09PSBcImZvcmNlLWNhY2hlXCIpIHtcbiAgICAgICAgICAgICAgICBjdXJSZXZhbGlkYXRlID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKF9jYWNoZSA9PT0gXCJuby1jYWNoZVwiIHx8IF9jYWNoZSA9PT0gXCJuby1zdG9yZVwiIHx8IGlzRm9yY2VOb1N0b3JlIHx8IGlzT25seU5vU3RvcmUpIHtcbiAgICAgICAgICAgICAgICBjdXJSZXZhbGlkYXRlID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChfY2FjaGUgPT09IFwibm8tY2FjaGVcIiB8fCBfY2FjaGUgPT09IFwibm8tc3RvcmVcIikge1xuICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uID0gYGNhY2hlOiAke19jYWNoZX1gO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV2YWxpZGF0ZSA9IHZhbGlkYXRlUmV2YWxpZGF0ZShjdXJSZXZhbGlkYXRlLCBzdGF0aWNHZW5lcmF0aW9uU3RvcmUudXJsUGF0aG5hbWUpO1xuICAgICAgICAgICAgY29uc3QgX2hlYWRlcnMgPSBnZXRSZXF1ZXN0TWV0YShcImhlYWRlcnNcIik7XG4gICAgICAgICAgICBjb25zdCBpbml0SGVhZGVycyA9IHR5cGVvZiAoX2hlYWRlcnMgPT0gbnVsbCA/IHZvaWQgMCA6IF9oZWFkZXJzLmdldCkgPT09IFwiZnVuY3Rpb25cIiA/IF9oZWFkZXJzIDogbmV3IEhlYWRlcnMoX2hlYWRlcnMgfHwge30pO1xuICAgICAgICAgICAgY29uc3QgaGFzVW5DYWNoZWFibGVIZWFkZXIgPSBpbml0SGVhZGVycy5nZXQoXCJhdXRob3JpemF0aW9uXCIpIHx8IGluaXRIZWFkZXJzLmdldChcImNvb2tpZVwiKTtcbiAgICAgICAgICAgIGNvbnN0IGlzVW5DYWNoZWFibGVNZXRob2QgPSAhW1xuICAgICAgICAgICAgICAgIFwiZ2V0XCIsXG4gICAgICAgICAgICAgICAgXCJoZWFkXCJcbiAgICAgICAgICAgIF0uaW5jbHVkZXMoKChfZ2V0UmVxdWVzdE1ldGEgPSBnZXRSZXF1ZXN0TWV0YShcIm1ldGhvZFwiKSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9nZXRSZXF1ZXN0TWV0YS50b0xvd2VyQ2FzZSgpKSB8fCBcImdldFwiKTtcbiAgICAgICAgICAgIC8vIGlmIHRoZXJlIGFyZSBhdXRob3JpemVkIGhlYWRlcnMgb3IgYSBQT1NUIG1ldGhvZCBhbmRcbiAgICAgICAgICAgIC8vIGR5bmFtaWMgZGF0YSB1c2FnZSB3YXMgcHJlc2VudCBhYm92ZSB0aGUgdHJlZSB3ZSBiYWlsXG4gICAgICAgICAgICAvLyBlLmcuIGlmIGNvb2tpZXMoKSBpcyB1c2VkIGJlZm9yZSBhbiBhdXRoZWQvUE9TVCBmZXRjaFxuICAgICAgICAgICAgY29uc3QgYXV0b05vQ2FjaGUgPSAoaGFzVW5DYWNoZWFibGVIZWFkZXIgfHwgaXNVbkNhY2hlYWJsZU1ldGhvZCkgJiYgc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPT09IDA7XG4gICAgICAgICAgICBpZiAoaXNGb3JjZU5vU3RvcmUpIHtcbiAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbiA9IFwiZmV0Y2hDYWNoZSA9IGZvcmNlLW5vLXN0b3JlXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNPbmx5Tm9TdG9yZSkge1xuICAgICAgICAgICAgICAgIGlmIChfY2FjaGUgPT09IFwiZm9yY2UtY2FjaGVcIiB8fCB0eXBlb2YgcmV2YWxpZGF0ZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiAocmV2YWxpZGF0ZSA9PT0gZmFsc2UgfHwgcmV2YWxpZGF0ZSA+IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgY2FjaGU6ICdmb3JjZS1jYWNoZScgdXNlZCBvbiBmZXRjaCBmb3IgJHtmZXRjaFVybH0gd2l0aCAnZXhwb3J0IGNvbnN0IGZldGNoQ2FjaGUgPSAnb25seS1uby1zdG9yZSdgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FjaGVSZWFzb24gPSBcImZldGNoQ2FjaGUgPSBvbmx5LW5vLXN0b3JlXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNPbmx5Q2FjaGUgJiYgX2NhY2hlID09PSBcIm5vLXN0b3JlXCIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGNhY2hlOiAnbm8tc3RvcmUnIHVzZWQgb24gZmV0Y2ggZm9yICR7ZmV0Y2hVcmx9IHdpdGggJ2V4cG9ydCBjb25zdCBmZXRjaENhY2hlID0gJ29ubHktY2FjaGUnYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNGb3JjZUNhY2hlICYmICh0eXBlb2YgY3VyUmV2YWxpZGF0ZSA9PT0gXCJ1bmRlZmluZWRcIiB8fCBjdXJSZXZhbGlkYXRlID09PSAwKSkge1xuICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uID0gXCJmZXRjaENhY2hlID0gZm9yY2UtY2FjaGVcIjtcbiAgICAgICAgICAgICAgICByZXZhbGlkYXRlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJldmFsaWRhdGUgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNEZWZhdWx0Q2FjaGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbiA9IFwiZmV0Y2hDYWNoZSA9IGRlZmF1bHQtY2FjaGVcIjtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGF1dG9Ob0NhY2hlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldmFsaWRhdGUgPSAwO1xuICAgICAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbiA9IFwiYXV0byBubyBjYWNoZVwiO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNEZWZhdWx0Tm9TdG9yZSkge1xuICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlID0gMDtcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVSZWFzb24gPSBcImZldGNoQ2FjaGUgPSBkZWZhdWx0LW5vLXN0b3JlXCI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpc1VzaW5nTm9TdG9yZSkge1xuICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlID0gMDtcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVSZWFzb24gPSBcIm5vU3RvcmUgY2FsbFwiO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uID0gXCJhdXRvIGNhY2hlXCI7XG4gICAgICAgICAgICAgICAgICAgIHJldmFsaWRhdGUgPSB0eXBlb2Ygc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPT09IFwiYm9vbGVhblwiIHx8IHR5cGVvZiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSA9PT0gXCJ1bmRlZmluZWRcIiA/IGZhbHNlIDogc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICghY2FjaGVSZWFzb24pIHtcbiAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbiA9IGByZXZhbGlkYXRlOiAke3JldmFsaWRhdGV9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgvLyB3aGVuIGZvcmNlIHN0YXRpYyBpcyBjb25maWd1cmVkIHdlIGRvbid0IGJhaWwgZnJvbVxuICAgICAgICAgICAgLy8gYHJldmFsaWRhdGU6IDBgIHZhbHVlc1xuICAgICAgICAgICAgIShzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZm9yY2VTdGF0aWMgJiYgcmV2YWxpZGF0ZSA9PT0gMCkgJiYgLy8gd2UgZG9uJ3QgY29uc2lkZXIgYXV0b05vQ2FjaGUgdG8gc3dpdGNoIHRvIGR5bmFtaWMgZHVyaW5nXG4gICAgICAgICAgICAvLyByZXZhbGlkYXRlIGFsdGhvdWdoIGlmIGl0IG9jY3VycyBkdXJpbmcgYnVpbGQgd2UgZG9cbiAgICAgICAgICAgICFhdXRvTm9DYWNoZSAmJiAvLyBJZiB0aGUgcmV2YWxpZGF0ZSB2YWx1ZSBpc24ndCBjdXJyZW50bHkgc2V0IG9yIHRoZSB2YWx1ZSBpcyBsZXNzXG4gICAgICAgICAgICAvLyB0aGFuIHRoZSBjdXJyZW50IHJldmFsaWRhdGUgdmFsdWUsIHdlIHNob3VsZCB1cGRhdGUgdGhlIHJldmFsaWRhdGVcbiAgICAgICAgICAgIC8vIHZhbHVlLlxuICAgICAgICAgICAgKHR5cGVvZiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSA9PT0gXCJ1bmRlZmluZWRcIiB8fCB0eXBlb2YgcmV2YWxpZGF0ZSA9PT0gXCJudW1iZXJcIiAmJiAoc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPT09IGZhbHNlIHx8IHR5cGVvZiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSA9PT0gXCJudW1iZXJcIiAmJiByZXZhbGlkYXRlIDwgc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUpKSkge1xuICAgICAgICAgICAgICAgIC8vIElmIHdlIHdlcmUgc2V0dGluZyB0aGUgcmV2YWxpZGF0ZSB2YWx1ZSB0byAwLCB3ZSBzaG91bGQgdHJ5IHRvXG4gICAgICAgICAgICAgICAgLy8gcG9zdHBvbmUgaW5zdGVhZCBmaXJzdC5cbiAgICAgICAgICAgICAgICBpZiAocmV2YWxpZGF0ZSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucG9zdHBvbmUgPT0gbnVsbCA/IHZvaWQgMCA6IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wb3N0cG9uZS5jYWxsKHN0YXRpY0dlbmVyYXRpb25TdG9yZSwgXCJyZXZhbGlkYXRlOiAwXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSA9IHJldmFsaWRhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBpc0NhY2hlYWJsZVJldmFsaWRhdGUgPSB0eXBlb2YgcmV2YWxpZGF0ZSA9PT0gXCJudW1iZXJcIiAmJiByZXZhbGlkYXRlID4gMCB8fCByZXZhbGlkYXRlID09PSBmYWxzZTtcbiAgICAgICAgICAgIGxldCBjYWNoZUtleTtcbiAgICAgICAgICAgIGlmIChzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaW5jcmVtZW50YWxDYWNoZSAmJiBpc0NhY2hlYWJsZVJldmFsaWRhdGUpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjYWNoZUtleSA9IGF3YWl0IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5pbmNyZW1lbnRhbENhY2hlLmZldGNoQ2FjaGVLZXkoZmV0Y2hVcmwsIGlzUmVxdWVzdElucHV0ID8gaW5wdXQgOiBpbml0KTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGdlbmVyYXRlIGNhY2hlIGtleSBmb3JgLCBpbnB1dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZmV0Y2hJZHggPSBzdGF0aWNHZW5lcmF0aW9uU3RvcmUubmV4dEZldGNoSWQgPz8gMTtcbiAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5uZXh0RmV0Y2hJZCA9IGZldGNoSWR4ICsgMTtcbiAgICAgICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRSZXZhbGlkYXRlID0gdHlwZW9mIHJldmFsaWRhdGUgIT09IFwibnVtYmVyXCIgPyBfY29uc3RhbnRzMS5DQUNIRV9PTkVfWUVBUiA6IHJldmFsaWRhdGU7XG4gICAgICAgICAgICBjb25zdCBkb09yaWdpbmFsRmV0Y2ggPSBhc3luYyAoaXNTdGFsZSwgY2FjaGVSZWFzb25PdmVycmlkZSk9PntcbiAgICAgICAgICAgICAgICBjb25zdCByZXF1ZXN0SW5wdXRGaWVsZHMgPSBbXG4gICAgICAgICAgICAgICAgICAgIFwiY2FjaGVcIixcbiAgICAgICAgICAgICAgICAgICAgXCJjcmVkZW50aWFsc1wiLFxuICAgICAgICAgICAgICAgICAgICBcImhlYWRlcnNcIixcbiAgICAgICAgICAgICAgICAgICAgXCJpbnRlZ3JpdHlcIixcbiAgICAgICAgICAgICAgICAgICAgXCJrZWVwYWxpdmVcIixcbiAgICAgICAgICAgICAgICAgICAgXCJtZXRob2RcIixcbiAgICAgICAgICAgICAgICAgICAgXCJtb2RlXCIsXG4gICAgICAgICAgICAgICAgICAgIFwicmVkaXJlY3RcIixcbiAgICAgICAgICAgICAgICAgICAgXCJyZWZlcnJlclwiLFxuICAgICAgICAgICAgICAgICAgICBcInJlZmVycmVyUG9saWN5XCIsXG4gICAgICAgICAgICAgICAgICAgIFwid2luZG93XCIsXG4gICAgICAgICAgICAgICAgICAgIFwiZHVwbGV4XCIsXG4gICAgICAgICAgICAgICAgICAgIC8vIGRvbid0IHBhc3MgdGhyb3VnaCBzaWduYWwgd2hlbiByZXZhbGlkYXRpbmdcbiAgICAgICAgICAgICAgICAgICAgLi4uaXNTdGFsZSA/IFtdIDogW1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJzaWduYWxcIlxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICBpZiAoaXNSZXF1ZXN0SW5wdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVxSW5wdXQgPSBpbnB1dDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVxT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IHJlcUlucHV0Ll9vZ0JvZHkgfHwgcmVxSW5wdXQuYm9keVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHJlcXVlc3RJbnB1dEZpZWxkcyl7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGN1c3RvbSBmaWVsZHNcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcU9wdGlvbnNbZmllbGRdID0gcmVxSW5wdXRbZmllbGRdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlucHV0ID0gbmV3IFJlcXVlc3QocmVxSW5wdXQudXJsLCByZXFPcHRpb25zKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGluaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5pdGlhbEluaXQgPSBpbml0O1xuICAgICAgICAgICAgICAgICAgICBpbml0ID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9keTogaW5pdC5fb2dCb2R5IHx8IGluaXQuYm9keVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHJlcXVlc3RJbnB1dEZpZWxkcyl7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGN1c3RvbSBmaWVsZHNcbiAgICAgICAgICAgICAgICAgICAgICAgIGluaXRbZmllbGRdID0gaW5pdGlhbEluaXRbZmllbGRdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGFkZCBtZXRhZGF0YSB0byBpbml0IHdpdGhvdXQgZWRpdGluZyB0aGUgb3JpZ2luYWxcbiAgICAgICAgICAgICAgICBjb25zdCBjbG9uZWRJbml0ID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5pbml0LFxuICAgICAgICAgICAgICAgICAgICBuZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5pbml0ID09IG51bGwgPyB2b2lkIDAgOiBpbml0Lm5leHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBmZXRjaFR5cGU6IFwib3JpZ2luXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBmZXRjaElkeFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luRmV0Y2goaW5wdXQsIGNsb25lZEluaXQpLnRoZW4oYXN5bmMgKHJlcyk9PntcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc1N0YWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFja0ZldGNoTWV0cmljKHN0YXRpY0dlbmVyYXRpb25TdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBmZXRjaFN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogZmV0Y2hVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVSZWFzb246IGNhY2hlUmVhc29uT3ZlcnJpZGUgfHwgY2FjaGVSZWFzb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVTdGF0dXM6IHJldmFsaWRhdGUgPT09IDAgfHwgY2FjaGVSZWFzb25PdmVycmlkZSA/IFwic2tpcFwiIDogXCJtaXNzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiByZXMuc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogY2xvbmVkSW5pdC5tZXRob2QgfHwgXCJHRVRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5zdGF0dXMgPT09IDIwMCAmJiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaW5jcmVtZW50YWxDYWNoZSAmJiBjYWNoZUtleSAmJiBpc0NhY2hlYWJsZVJldmFsaWRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvZHlCdWZmZXIgPSBCdWZmZXIuZnJvbShhd2FpdCByZXMuYXJyYXlCdWZmZXIoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5pbmNyZW1lbnRhbENhY2hlLnNldChjYWNoZUtleSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraW5kOiBcIkZFVENIXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IE9iamVjdC5mcm9tRW50cmllcyhyZXMuaGVhZGVycy5lbnRyaWVzKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keTogYm9keUJ1ZmZlci50b1N0cmluZyhcImJhc2U2NFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogcmVzLnN0YXR1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogcmVzLnVybFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlOiBub3JtYWxpemVkUmV2YWxpZGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hDYWNoZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoSWR4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWdzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYEZhaWxlZCB0byBzZXQgZmV0Y2ggY2FjaGVgLCBpbnB1dCwgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKGJvZHlCdWZmZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiBuZXcgSGVhZGVycyhyZXMuaGVhZGVycyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiByZXMuc3RhdHVzXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXNwb25zZSwgXCJ1cmxcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiByZXMudXJsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGxldCBoYW5kbGVVbmxvY2sgPSAoKT0+UHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgICAgICBsZXQgY2FjaGVSZWFzb25PdmVycmlkZTtcbiAgICAgICAgICAgIGlmIChjYWNoZUtleSAmJiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaW5jcmVtZW50YWxDYWNoZSkge1xuICAgICAgICAgICAgICAgIGhhbmRsZVVubG9jayA9IGF3YWl0IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5pbmNyZW1lbnRhbENhY2hlLmxvY2soY2FjaGVLZXkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVudHJ5ID0gc3RhdGljR2VuZXJhdGlvblN0b3JlLmlzT25EZW1hbmRSZXZhbGlkYXRlID8gbnVsbCA6IGF3YWl0IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5pbmNyZW1lbnRhbENhY2hlLmdldChjYWNoZUtleSwge1xuICAgICAgICAgICAgICAgICAgICBraW5kSGludDogXCJmZXRjaFwiLFxuICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlLFxuICAgICAgICAgICAgICAgICAgICBmZXRjaFVybCxcbiAgICAgICAgICAgICAgICAgICAgZmV0Y2hJZHgsXG4gICAgICAgICAgICAgICAgICAgIHRhZ3MsXG4gICAgICAgICAgICAgICAgICAgIHNvZnRUYWdzOiBpbXBsaWNpdFRhZ3NcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoZW50cnkpIHtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgaGFuZGxlVW5sb2NrKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gaW4gZGV2LCBpbmNyZW1lbnRhbCBjYWNoZSByZXNwb25zZSB3aWxsIGJlIG51bGwgaW4gY2FzZSB0aGUgYnJvd3NlciBhZGRzIGBjYWNoZS1jb250cm9sOiBuby1jYWNoZWAgaW4gdGhlIHJlcXVlc3QgaGVhZGVyc1xuICAgICAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbk92ZXJyaWRlID0gXCJjYWNoZS1jb250cm9sOiBuby1jYWNoZSAoaGFyZCByZWZyZXNoKVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKGVudHJ5ID09IG51bGwgPyB2b2lkIDAgOiBlbnRyeS52YWx1ZSkgJiYgZW50cnkudmFsdWUua2luZCA9PT0gXCJGRVRDSFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gc3RhbGUgYW5kIGlzIHJldmFsaWRhdGluZyB3ZSB3YWl0IGZvciBmcmVzaCBkYXRhXG4gICAgICAgICAgICAgICAgICAgIC8vIHNvIHRoZSByZXZhbGlkYXRlZCBlbnRyeSBoYXMgdGhlIHVwZGF0ZWQgZGF0YVxuICAgICAgICAgICAgICAgICAgICBpZiAoIShzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaXNSZXZhbGlkYXRlICYmIGVudHJ5LmlzU3RhbGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW50cnkuaXNTdGFsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wZW5kaW5nUmV2YWxpZGF0ZXMgPz89IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc3RhdGljR2VuZXJhdGlvblN0b3JlLnBlbmRpbmdSZXZhbGlkYXRlc1tjYWNoZUtleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnBlbmRpbmdSZXZhbGlkYXRlc1tjYWNoZUtleV0gPSBkb09yaWdpbmFsRmV0Y2godHJ1ZSkuY2F0Y2goY29uc29sZS5lcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzRGF0YSA9IGVudHJ5LnZhbHVlLmRhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFja0ZldGNoTWV0cmljKHN0YXRpY0dlbmVyYXRpb25TdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBmZXRjaFN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogZmV0Y2hVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVSZWFzb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVTdGF0dXM6IFwiaGl0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiByZXNEYXRhLnN0YXR1cyB8fCAyMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAoaW5pdCA9PSBudWxsID8gdm9pZCAwIDogaW5pdC5tZXRob2QpIHx8IFwiR0VUXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoQnVmZmVyLmZyb20ocmVzRGF0YS5ib2R5LCBcImJhc2U2NFwiKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHJlc0RhdGEuaGVhZGVycyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IHJlc0RhdGEuc3RhdHVzXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXNwb25zZSwgXCJ1cmxcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBlbnRyeS52YWx1ZS5kYXRhLnVybFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc3RhdGljR2VuZXJhdGlvblN0b3JlLmlzU3RhdGljR2VuZXJhdGlvbiAmJiBpbml0ICYmIHR5cGVvZiBpbml0ID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBjYWNoZSB9ID0gaW5pdDtcbiAgICAgICAgICAgICAgICAvLyBEZWxldGUgYGNhY2hlYCBwcm9wZXJ0eSBhcyBDbG91ZGZsYXJlIFdvcmtlcnMgd2lsbCB0aHJvdyBhbiBlcnJvclxuICAgICAgICAgICAgICAgIGlmIChpc0VkZ2VSdW50aW1lKSBkZWxldGUgaW5pdC5jYWNoZTtcbiAgICAgICAgICAgICAgICBpZiAoIXN0YXRpY0dlbmVyYXRpb25TdG9yZS5mb3JjZVN0YXRpYyAmJiBjYWNoZSA9PT0gXCJuby1zdG9yZVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGR5bmFtaWNVc2FnZVJlYXNvbiA9IGBuby1zdG9yZSBmZXRjaCAke2lucHV0fSR7c3RhdGljR2VuZXJhdGlvblN0b3JlLnVybFBhdGhuYW1lID8gYCAke3N0YXRpY0dlbmVyYXRpb25TdG9yZS51cmxQYXRobmFtZX1gIDogXCJcIn1gO1xuICAgICAgICAgICAgICAgICAgICAvLyBJZiBlbmFibGVkLCB3ZSBzaG91bGQgYmFpbCBvdXQgb2Ygc3RhdGljIGdlbmVyYXRpb24uXG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wb3N0cG9uZSA9PSBudWxsID8gdm9pZCAwIDogc3RhdGljR2VuZXJhdGlvblN0b3JlLnBvc3Rwb25lLmNhbGwoc3RhdGljR2VuZXJhdGlvblN0b3JlLCBkeW5hbWljVXNhZ2VSZWFzb24pO1xuICAgICAgICAgICAgICAgICAgICAvLyBQUFIgaXMgbm90IGVuYWJsZWQsIG9yIFJlYWN0IHBvc3Rwb25lIGlzIG5vdCBhdmFpbGFibGUsIHdlXG4gICAgICAgICAgICAgICAgICAgIC8vIHNob3VsZCBzZXQgdGhlIHJldmFsaWRhdGUgdG8gMC5cbiAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPSAwO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnIgPSBuZXcgRHluYW1pY1NlcnZlckVycm9yKGR5bmFtaWNVc2FnZVJlYXNvbik7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5keW5hbWljVXNhZ2VFcnIgPSBlcnI7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5keW5hbWljVXNhZ2VEZXNjcmlwdGlvbiA9IGR5bmFtaWNVc2FnZVJlYXNvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgaGFzTmV4dENvbmZpZyA9IFwibmV4dFwiIGluIGluaXQ7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBuZXh0ID0ge30gfSA9IGluaXQ7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBuZXh0LnJldmFsaWRhdGUgPT09IFwibnVtYmVyXCIgJiYgKHR5cGVvZiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSA9PT0gXCJ1bmRlZmluZWRcIiB8fCB0eXBlb2Ygc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPT09IFwibnVtYmVyXCIgJiYgbmV4dC5yZXZhbGlkYXRlIDwgc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc3RhdGljR2VuZXJhdGlvblN0b3JlLmZvcmNlRHluYW1pYyAmJiAhc3RhdGljR2VuZXJhdGlvblN0b3JlLmZvcmNlU3RhdGljICYmIG5leHQucmV2YWxpZGF0ZSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZHluYW1pY1VzYWdlUmVhc29uID0gYHJldmFsaWRhdGU6IDAgZmV0Y2ggJHtpbnB1dH0ke3N0YXRpY0dlbmVyYXRpb25TdG9yZS51cmxQYXRobmFtZSA/IGAgJHtzdGF0aWNHZW5lcmF0aW9uU3RvcmUudXJsUGF0aG5hbWV9YCA6IFwiXCJ9YDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIGVuYWJsZWQsIHdlIHNob3VsZCBiYWlsIG91dCBvZiBzdGF0aWMgZ2VuZXJhdGlvbi5cbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wb3N0cG9uZSA9PSBudWxsID8gdm9pZCAwIDogc3RhdGljR2VuZXJhdGlvblN0b3JlLnBvc3Rwb25lLmNhbGwoc3RhdGljR2VuZXJhdGlvblN0b3JlLCBkeW5hbWljVXNhZ2VSZWFzb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyID0gbmV3IER5bmFtaWNTZXJ2ZXJFcnJvcihkeW5hbWljVXNhZ2VSZWFzb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLmR5bmFtaWNVc2FnZUVyciA9IGVycjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5keW5hbWljVXNhZ2VEZXNjcmlwdGlvbiA9IGR5bmFtaWNVc2FnZVJlYXNvbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIXN0YXRpY0dlbmVyYXRpb25TdG9yZS5mb3JjZVN0YXRpYyB8fCBuZXh0LnJldmFsaWRhdGUgIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID0gbmV4dC5yZXZhbGlkYXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChoYXNOZXh0Q29uZmlnKSBkZWxldGUgaW5pdC5uZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGRvT3JpZ2luYWxGZXRjaChmYWxzZSwgY2FjaGVSZWFzb25PdmVycmlkZSkuZmluYWxseShoYW5kbGVVbmxvY2spO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIGdsb2JhbFRoaXMuZmV0Y2guX19uZXh0R2V0U3RhdGljU3RvcmUgPSAoKT0+e1xuICAgICAgICByZXR1cm4gc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZTtcbiAgICB9O1xuICAgIGdsb2JhbFRoaXMuZmV0Y2guX19uZXh0UGF0Y2hlZCA9IHRydWU7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhdGNoLWZldGNoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsInZhbGlkYXRlUmV2YWxpZGF0ZSIsInZhbGlkYXRlVGFncyIsImFkZEltcGxpY2l0VGFncyIsInBhdGNoRmV0Y2giLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfY29uc3RhbnRzIiwicmVxdWlyZSIsIl90cmFjZXIiLCJfY29uc3RhbnRzMSIsIl9sb2ciLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJpc0VkZ2VSdW50aW1lIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsInJldmFsaWRhdGVWYWwiLCJwYXRobmFtZSIsIm5vcm1hbGl6ZWRSZXZhbGlkYXRlIiwidW5kZWZpbmVkIiwiaXNOYU4iLCJFcnJvciIsImVyciIsIm1lc3NhZ2UiLCJpbmNsdWRlcyIsInRhZ3MiLCJkZXNjcmlwdGlvbiIsInZhbGlkVGFncyIsImludmFsaWRUYWdzIiwidGFnIiwicHVzaCIsInJlYXNvbiIsImxlbmd0aCIsIk5FWFRfQ0FDSEVfVEFHX01BWF9MRU5HVEgiLCJjb25zb2xlIiwid2FybiIsImxvZyIsImdldERlcml2ZWRUYWdzIiwiZGVyaXZlZFRhZ3MiLCJzdGFydHNXaXRoIiwicGF0aG5hbWVQYXJ0cyIsInNwbGl0IiwiaSIsImN1clBhdGhuYW1lIiwic2xpY2UiLCJqb2luIiwiZW5kc1dpdGgiLCJzdGF0aWNHZW5lcmF0aW9uU3RvcmUiLCJuZXdUYWdzIiwicGFnZVBhdGgiLCJ1cmxQYXRobmFtZSIsIkFycmF5IiwiaXNBcnJheSIsIl9zdGF0aWNHZW5lcmF0aW9uU3RvcmVfdGFncyIsIk5FWFRfQ0FDSEVfSU1QTElDSVRfVEFHX0lEIiwiX3N0YXRpY0dlbmVyYXRpb25TdG9yZV90YWdzMSIsInBhcnNlZFBhdGhuYW1lIiwiVVJMIiwidHJhY2tGZXRjaE1ldHJpYyIsImN0eCIsImZldGNoTWV0cmljcyIsImRlZHVwZUZpZWxkcyIsInNvbWUiLCJtZXRyaWMiLCJldmVyeSIsImZpZWxkIiwidXJsIiwiY2FjaGVTdGF0dXMiLCJjYWNoZVJlYXNvbiIsInN0YXR1cyIsIm1ldGhvZCIsInN0YXJ0IiwiZW5kIiwiRGF0ZSIsIm5vdyIsImlkeCIsIm5leHRGZXRjaElkIiwic2VydmVySG9va3MiLCJzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlIiwiZ2xvYmFsVGhpcyIsIl9uZXh0T3JpZ2luYWxGZXRjaCIsImZldGNoIiwiX19uZXh0UGF0Y2hlZCIsIkR5bmFtaWNTZXJ2ZXJFcnJvciIsIm9yaWdpbkZldGNoIiwiaW5wdXQiLCJpbml0IiwiX2luaXRfbWV0aG9kIiwiX3RoaXMiLCJSZXF1ZXN0IiwidXNlcm5hbWUiLCJwYXNzd29yZCIsImZldGNoVXJsIiwiaHJlZiIsImZldGNoU3RhcnQiLCJ0b1VwcGVyQ2FzZSIsImlzSW50ZXJuYWwiLCJuZXh0IiwiaW50ZXJuYWwiLCJoaWRlU3BhbiIsIk5FWFRfT1RFTF9GRVRDSF9ESVNBQkxFRCIsImdldFRyYWNlciIsInRyYWNlIiwiTmV4dE5vZGVTZXJ2ZXJTcGFuIiwiaW50ZXJuYWxGZXRjaCIsIkFwcFJlbmRlclNwYW4iLCJraW5kIiwiU3BhbktpbmQiLCJDTElFTlQiLCJzcGFuTmFtZSIsImZpbHRlciIsIkJvb2xlYW4iLCJhdHRyaWJ1dGVzIiwiaG9zdG5hbWUiLCJwb3J0IiwiX2dldFJlcXVlc3RNZXRhIiwiZ2V0U3RvcmUiLCJfX25leHRHZXRTdGF0aWNTdG9yZSIsImlzUmVxdWVzdElucHV0IiwiZ2V0UmVxdWVzdE1ldGEiLCJpc0RyYWZ0TW9kZSIsInJldmFsaWRhdGUiLCJnZXROZXh0RmllbGQiLCJfaW5pdF9uZXh0IiwiX2luaXRfbmV4dDEiLCJfaW5wdXRfbmV4dCIsImN1clJldmFsaWRhdGUiLCJ0b1N0cmluZyIsImltcGxpY2l0VGFncyIsImlzT25seUNhY2hlIiwiZmV0Y2hDYWNoZSIsImlzRm9yY2VDYWNoZSIsImlzRGVmYXVsdENhY2hlIiwiaXNEZWZhdWx0Tm9TdG9yZSIsImlzT25seU5vU3RvcmUiLCJpc0ZvcmNlTm9TdG9yZSIsImlzVXNpbmdOb1N0b3JlIiwiaXNVbnN0YWJsZU5vU3RvcmUiLCJfY2FjaGUiLCJfaGVhZGVycyIsImluaXRIZWFkZXJzIiwiSGVhZGVycyIsImhhc1VuQ2FjaGVhYmxlSGVhZGVyIiwiaXNVbkNhY2hlYWJsZU1ldGhvZCIsInRvTG93ZXJDYXNlIiwiYXV0b05vQ2FjaGUiLCJmb3JjZVN0YXRpYyIsInBvc3Rwb25lIiwiaXNDYWNoZWFibGVSZXZhbGlkYXRlIiwiY2FjaGVLZXkiLCJpbmNyZW1lbnRhbENhY2hlIiwiZmV0Y2hDYWNoZUtleSIsImVycm9yIiwiZmV0Y2hJZHgiLCJDQUNIRV9PTkVfWUVBUiIsImRvT3JpZ2luYWxGZXRjaCIsImlzU3RhbGUiLCJjYWNoZVJlYXNvbk92ZXJyaWRlIiwicmVxdWVzdElucHV0RmllbGRzIiwicmVxSW5wdXQiLCJyZXFPcHRpb25zIiwiYm9keSIsIl9vZ0JvZHkiLCJpbml0aWFsSW5pdCIsImNsb25lZEluaXQiLCJmZXRjaFR5cGUiLCJ0aGVuIiwicmVzIiwiYm9keUJ1ZmZlciIsIkJ1ZmZlciIsImZyb20iLCJhcnJheUJ1ZmZlciIsImRhdGEiLCJoZWFkZXJzIiwiZnJvbUVudHJpZXMiLCJlbnRyaWVzIiwicmVzcG9uc2UiLCJSZXNwb25zZSIsImhhbmRsZVVubG9jayIsIlByb21pc2UiLCJyZXNvbHZlIiwibG9jayIsImVudHJ5IiwiaXNPbkRlbWFuZFJldmFsaWRhdGUiLCJraW5kSGludCIsInNvZnRUYWdzIiwiaXNSZXZhbGlkYXRlIiwicGVuZGluZ1JldmFsaWRhdGVzIiwiY2F0Y2giLCJyZXNEYXRhIiwiaXNTdGF0aWNHZW5lcmF0aW9uIiwiZHluYW1pY1VzYWdlUmVhc29uIiwiZHluYW1pY1VzYWdlRXJyIiwiZHluYW1pY1VzYWdlRGVzY3JpcHRpb24iLCJoYXNOZXh0Q29uZmlnIiwiZm9yY2VEeW5hbWljIiwiZmluYWxseSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/lib/patch-fetch.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/lib/patch-fetch.js": /*!**********************************************************!*\ !*** ./node_modules/next/dist/server/lib/patch-fetch.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n validateRevalidate: function() {\n return validateRevalidate;\n },\n validateTags: function() {\n return validateTags;\n },\n addImplicitTags: function() {\n return addImplicitTags;\n },\n patchFetch: function() {\n return patchFetch;\n }\n});\nconst _constants = __webpack_require__(/*! ./trace/constants */ \"(rsc)/./node_modules/next/dist/server/lib/trace/constants.js\");\nconst _tracer = __webpack_require__(/*! ./trace/tracer */ \"(rsc)/./node_modules/next/dist/server/lib/trace/tracer.js\");\nconst _constants1 = __webpack_require__(/*! ../../lib/constants */ \"(rsc)/./node_modules/next/dist/lib/constants.js\");\nconst _log = /*#__PURE__*/ _interop_require_wildcard(__webpack_require__(/*! ../../build/output/log */ \"(rsc)/./node_modules/next/dist/build/output/log.js\"));\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\nconst isEdgeRuntime = \"nodejs\" === \"edge\";\nfunction validateRevalidate(revalidateVal, pathname) {\n try {\n let normalizedRevalidate = undefined;\n if (revalidateVal === false) {\n normalizedRevalidate = revalidateVal;\n } else if (typeof revalidateVal === \"number\" && !isNaN(revalidateVal) && revalidateVal > -1) {\n normalizedRevalidate = revalidateVal;\n } else if (typeof revalidateVal !== \"undefined\") {\n throw new Error(`Invalid revalidate value \"${revalidateVal}\" on \"${pathname}\", must be a non-negative number or \"false\"`);\n }\n return normalizedRevalidate;\n } catch (err) {\n // handle client component error from attempting to check revalidate value\n if (err instanceof Error && err.message.includes(\"Invalid revalidate\")) {\n throw err;\n }\n return undefined;\n }\n}\nfunction validateTags(tags, description) {\n const validTags = [];\n const invalidTags = [];\n for (const tag of tags){\n if (typeof tag !== \"string\") {\n invalidTags.push({\n tag,\n reason: \"invalid type, must be a string\"\n });\n } else if (tag.length > _constants1.NEXT_CACHE_TAG_MAX_LENGTH) {\n invalidTags.push({\n tag,\n reason: `exceeded max length of ${_constants1.NEXT_CACHE_TAG_MAX_LENGTH}`\n });\n } else {\n validTags.push(tag);\n }\n }\n if (invalidTags.length > 0) {\n console.warn(`Warning: invalid tags passed to ${description}: `);\n for (const { tag, reason } of invalidTags){\n console.log(`tag: \"${tag}\" ${reason}`);\n }\n }\n return validTags;\n}\nconst getDerivedTags = (pathname)=>{\n const derivedTags = [\n `/layout`\n ];\n // we automatically add the current path segments as tags\n // for revalidatePath handling\n if (pathname.startsWith(\"/\")) {\n const pathnameParts = pathname.split(\"/\");\n for(let i = 1; i < pathnameParts.length + 1; i++){\n let curPathname = pathnameParts.slice(0, i).join(\"/\");\n if (curPathname) {\n // all derived tags other than the page are layout tags\n if (!curPathname.endsWith(\"/page\") && !curPathname.endsWith(\"/route\")) {\n curPathname = `${curPathname}${!curPathname.endsWith(\"/\") ? \"/\" : \"\"}layout`;\n }\n derivedTags.push(curPathname);\n }\n }\n }\n return derivedTags;\n};\nfunction addImplicitTags(staticGenerationStore) {\n const newTags = [];\n const { pagePath, urlPathname } = staticGenerationStore;\n if (!Array.isArray(staticGenerationStore.tags)) {\n staticGenerationStore.tags = [];\n }\n if (pagePath) {\n const derivedTags = getDerivedTags(pagePath);\n for (let tag of derivedTags){\n var _staticGenerationStore_tags;\n tag = `${_constants1.NEXT_CACHE_IMPLICIT_TAG_ID}${tag}`;\n if (!((_staticGenerationStore_tags = staticGenerationStore.tags) == null ? void 0 : _staticGenerationStore_tags.includes(tag))) {\n staticGenerationStore.tags.push(tag);\n }\n newTags.push(tag);\n }\n }\n if (urlPathname) {\n var _staticGenerationStore_tags1;\n const parsedPathname = new URL(urlPathname, \"http://n\").pathname;\n const tag = `${_constants1.NEXT_CACHE_IMPLICIT_TAG_ID}${parsedPathname}`;\n if (!((_staticGenerationStore_tags1 = staticGenerationStore.tags) == null ? void 0 : _staticGenerationStore_tags1.includes(tag))) {\n staticGenerationStore.tags.push(tag);\n }\n newTags.push(tag);\n }\n return newTags;\n}\nfunction trackFetchMetric(staticGenerationStore, ctx) {\n if (!staticGenerationStore) return;\n if (!staticGenerationStore.fetchMetrics) {\n staticGenerationStore.fetchMetrics = [];\n }\n const dedupeFields = [\n \"url\",\n \"status\",\n \"method\"\n ];\n // don't add metric if one already exists for the fetch\n if (staticGenerationStore.fetchMetrics.some((metric)=>{\n return dedupeFields.every((field)=>metric[field] === ctx[field]);\n })) {\n return;\n }\n staticGenerationStore.fetchMetrics.push({\n url: ctx.url,\n cacheStatus: ctx.cacheStatus,\n cacheReason: ctx.cacheReason,\n status: ctx.status,\n method: ctx.method,\n start: ctx.start,\n end: Date.now(),\n idx: staticGenerationStore.nextFetchId || 0\n });\n}\nfunction patchFetch({ serverHooks, staticGenerationAsyncStorage }) {\n if (!globalThis._nextOriginalFetch) {\n globalThis._nextOriginalFetch = globalThis.fetch;\n }\n if (globalThis.fetch.__nextPatched) return;\n const { DynamicServerError } = serverHooks;\n const originFetch = globalThis._nextOriginalFetch;\n globalThis.fetch = async (input, init)=>{\n var _init_method, _this;\n let url;\n try {\n url = new URL(input instanceof Request ? input.url : input);\n url.username = \"\";\n url.password = \"\";\n } catch {\n // Error caused by malformed URL should be handled by native fetch\n url = undefined;\n }\n const fetchUrl = (url == null ? void 0 : url.href) ?? \"\";\n const fetchStart = Date.now();\n const method = (init == null ? void 0 : (_init_method = init.method) == null ? void 0 : _init_method.toUpperCase()) || \"GET\";\n // Do create a new span trace for internal fetches in the\n // non-verbose mode.\n const isInternal = ((_this = init == null ? void 0 : init.next) == null ? void 0 : _this.internal) === true;\n const hideSpan = process.env.NEXT_OTEL_FETCH_DISABLED === \"1\";\n return await (0, _tracer.getTracer)().trace(isInternal ? _constants.NextNodeServerSpan.internalFetch : _constants.AppRenderSpan.fetch, {\n hideSpan,\n kind: _tracer.SpanKind.CLIENT,\n spanName: [\n \"fetch\",\n method,\n fetchUrl\n ].filter(Boolean).join(\" \"),\n attributes: {\n \"http.url\": fetchUrl,\n \"http.method\": method,\n \"net.peer.name\": url == null ? void 0 : url.hostname,\n \"net.peer.port\": (url == null ? void 0 : url.port) || undefined\n }\n }, async ()=>{\n var _getRequestMeta;\n const staticGenerationStore = staticGenerationAsyncStorage.getStore() || (fetch.__nextGetStaticStore == null ? void 0 : fetch.__nextGetStaticStore.call(fetch));\n const isRequestInput = input && typeof input === \"object\" && typeof input.method === \"string\";\n const getRequestMeta = (field)=>{\n // If request input is present but init is not, retrieve from input first.\n const value = init == null ? void 0 : init[field];\n return value || (isRequestInput ? input[field] : null);\n };\n // If the staticGenerationStore is not available, we can't do any\n // special treatment of fetch, therefore fallback to the original\n // fetch implementation.\n if (!staticGenerationStore || isInternal || staticGenerationStore.isDraftMode) {\n return originFetch(input, init);\n }\n let revalidate = undefined;\n const getNextField = (field)=>{\n var _init_next, _init_next1, _input_next;\n return typeof (init == null ? void 0 : (_init_next = init.next) == null ? void 0 : _init_next[field]) !== \"undefined\" ? init == null ? void 0 : (_init_next1 = init.next) == null ? void 0 : _init_next1[field] : isRequestInput ? (_input_next = input.next) == null ? void 0 : _input_next[field] : undefined;\n };\n // RequestInit doesn't keep extra fields e.g. next so it's\n // only available if init is used separate\n let curRevalidate = getNextField(\"revalidate\");\n const tags = validateTags(getNextField(\"tags\") || [], `fetch ${input.toString()}`);\n if (Array.isArray(tags)) {\n if (!staticGenerationStore.tags) {\n staticGenerationStore.tags = [];\n }\n for (const tag of tags){\n if (!staticGenerationStore.tags.includes(tag)) {\n staticGenerationStore.tags.push(tag);\n }\n }\n }\n const implicitTags = addImplicitTags(staticGenerationStore);\n const isOnlyCache = staticGenerationStore.fetchCache === \"only-cache\";\n const isForceCache = staticGenerationStore.fetchCache === \"force-cache\";\n const isDefaultCache = staticGenerationStore.fetchCache === \"default-cache\";\n const isDefaultNoStore = staticGenerationStore.fetchCache === \"default-no-store\";\n const isOnlyNoStore = staticGenerationStore.fetchCache === \"only-no-store\";\n const isForceNoStore = staticGenerationStore.fetchCache === \"force-no-store\";\n const isUsingNoStore = !!staticGenerationStore.isUnstableNoStore;\n let _cache = getRequestMeta(\"cache\");\n let cacheReason = \"\";\n if (typeof _cache === \"string\" && typeof curRevalidate !== \"undefined\") {\n // when providing fetch with a Request input, it'll automatically set a cache value of 'default'\n // we only want to warn if the user is explicitly setting a cache value\n if (!(isRequestInput && _cache === \"default\")) {\n _log.warn(`fetch for ${fetchUrl} on ${staticGenerationStore.urlPathname} specified \"cache: ${_cache}\" and \"revalidate: ${curRevalidate}\", only one should be specified.`);\n }\n _cache = undefined;\n }\n if (_cache === \"force-cache\") {\n curRevalidate = false;\n } else if (_cache === \"no-cache\" || _cache === \"no-store\" || isForceNoStore || isOnlyNoStore) {\n curRevalidate = 0;\n }\n if (_cache === \"no-cache\" || _cache === \"no-store\") {\n cacheReason = `cache: ${_cache}`;\n }\n revalidate = validateRevalidate(curRevalidate, staticGenerationStore.urlPathname);\n const _headers = getRequestMeta(\"headers\");\n const initHeaders = typeof (_headers == null ? void 0 : _headers.get) === \"function\" ? _headers : new Headers(_headers || {});\n const hasUnCacheableHeader = initHeaders.get(\"authorization\") || initHeaders.get(\"cookie\");\n const isUnCacheableMethod = ![\n \"get\",\n \"head\"\n ].includes(((_getRequestMeta = getRequestMeta(\"method\")) == null ? void 0 : _getRequestMeta.toLowerCase()) || \"get\");\n // if there are authorized headers or a POST method and\n // dynamic data usage was present above the tree we bail\n // e.g. if cookies() is used before an authed/POST fetch\n const autoNoCache = (hasUnCacheableHeader || isUnCacheableMethod) && staticGenerationStore.revalidate === 0;\n if (isForceNoStore) {\n cacheReason = \"fetchCache = force-no-store\";\n }\n if (isOnlyNoStore) {\n if (_cache === \"force-cache\" || typeof revalidate !== \"undefined\" && (revalidate === false || revalidate > 0)) {\n throw new Error(`cache: 'force-cache' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-no-store'`);\n }\n cacheReason = \"fetchCache = only-no-store\";\n }\n if (isOnlyCache && _cache === \"no-store\") {\n throw new Error(`cache: 'no-store' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-cache'`);\n }\n if (isForceCache && (typeof curRevalidate === \"undefined\" || curRevalidate === 0)) {\n cacheReason = \"fetchCache = force-cache\";\n revalidate = false;\n }\n if (typeof revalidate === \"undefined\") {\n if (isDefaultCache) {\n revalidate = false;\n cacheReason = \"fetchCache = default-cache\";\n } else if (autoNoCache) {\n revalidate = 0;\n cacheReason = \"auto no cache\";\n } else if (isDefaultNoStore) {\n revalidate = 0;\n cacheReason = \"fetchCache = default-no-store\";\n } else if (isUsingNoStore) {\n revalidate = 0;\n cacheReason = \"noStore call\";\n } else {\n cacheReason = \"auto cache\";\n revalidate = typeof staticGenerationStore.revalidate === \"boolean\" || typeof staticGenerationStore.revalidate === \"undefined\" ? false : staticGenerationStore.revalidate;\n }\n } else if (!cacheReason) {\n cacheReason = `revalidate: ${revalidate}`;\n }\n if (// `revalidate: 0` values\n !(staticGenerationStore.forceStatic && revalidate === 0) && // we don't consider autoNoCache to switch to dynamic during\n // revalidate although if it occurs during build we do\n !autoNoCache && // If the revalidate value isn't currently set or the value is less\n // than the current revalidate value, we should update the revalidate\n // value.\n (typeof staticGenerationStore.revalidate === \"undefined\" || typeof revalidate === \"number\" && (staticGenerationStore.revalidate === false || typeof staticGenerationStore.revalidate === \"number\" && revalidate < staticGenerationStore.revalidate))) {\n // If we were setting the revalidate value to 0, we should try to\n // postpone instead first.\n if (revalidate === 0) {\n staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, \"revalidate: 0\");\n }\n staticGenerationStore.revalidate = revalidate;\n }\n const isCacheableRevalidate = typeof revalidate === \"number\" && revalidate > 0 || revalidate === false;\n let cacheKey;\n if (staticGenerationStore.incrementalCache && isCacheableRevalidate) {\n try {\n cacheKey = await staticGenerationStore.incrementalCache.fetchCacheKey(fetchUrl, isRequestInput ? input : init);\n } catch (err) {\n console.error(`Failed to generate cache key for`, input);\n }\n }\n const fetchIdx = staticGenerationStore.nextFetchId ?? 1;\n staticGenerationStore.nextFetchId = fetchIdx + 1;\n const normalizedRevalidate = typeof revalidate !== \"number\" ? _constants1.CACHE_ONE_YEAR : revalidate;\n const doOriginalFetch = async (isStale, cacheReasonOverride)=>{\n const requestInputFields = [\n \"cache\",\n \"credentials\",\n \"headers\",\n \"integrity\",\n \"keepalive\",\n \"method\",\n \"mode\",\n \"redirect\",\n \"referrer\",\n \"referrerPolicy\",\n \"window\",\n \"duplex\",\n // don't pass through signal when revalidating\n ...isStale ? [] : [\n \"signal\"\n ]\n ];\n if (isRequestInput) {\n const reqInput = input;\n const reqOptions = {\n body: reqInput._ogBody || reqInput.body\n };\n for (const field of requestInputFields){\n // @ts-expect-error custom fields\n reqOptions[field] = reqInput[field];\n }\n input = new Request(reqInput.url, reqOptions);\n } else if (init) {\n const initialInit = init;\n init = {\n body: init._ogBody || init.body\n };\n for (const field of requestInputFields){\n // @ts-expect-error custom fields\n init[field] = initialInit[field];\n }\n }\n // add metadata to init without editing the original\n const clonedInit = {\n ...init,\n next: {\n ...init == null ? void 0 : init.next,\n fetchType: \"origin\",\n fetchIdx\n }\n };\n return originFetch(input, clonedInit).then(async (res)=>{\n if (!isStale) {\n trackFetchMetric(staticGenerationStore, {\n start: fetchStart,\n url: fetchUrl,\n cacheReason: cacheReasonOverride || cacheReason,\n cacheStatus: revalidate === 0 || cacheReasonOverride ? \"skip\" : \"miss\",\n status: res.status,\n method: clonedInit.method || \"GET\"\n });\n }\n if (res.status === 200 && staticGenerationStore.incrementalCache && cacheKey && isCacheableRevalidate) {\n const bodyBuffer = Buffer.from(await res.arrayBuffer());\n try {\n await staticGenerationStore.incrementalCache.set(cacheKey, {\n kind: \"FETCH\",\n data: {\n headers: Object.fromEntries(res.headers.entries()),\n body: bodyBuffer.toString(\"base64\"),\n status: res.status,\n url: res.url\n },\n revalidate: normalizedRevalidate\n }, {\n fetchCache: true,\n revalidate,\n fetchUrl,\n fetchIdx,\n tags\n });\n } catch (err) {\n console.warn(`Failed to set fetch cache`, input, err);\n }\n const response = new Response(bodyBuffer, {\n headers: new Headers(res.headers),\n status: res.status\n });\n Object.defineProperty(response, \"url\", {\n value: res.url\n });\n return response;\n }\n return res;\n });\n };\n let handleUnlock = ()=>Promise.resolve();\n let cacheReasonOverride;\n if (cacheKey && staticGenerationStore.incrementalCache) {\n handleUnlock = await staticGenerationStore.incrementalCache.lock(cacheKey);\n const entry = staticGenerationStore.isOnDemandRevalidate ? null : await staticGenerationStore.incrementalCache.get(cacheKey, {\n kindHint: \"fetch\",\n revalidate,\n fetchUrl,\n fetchIdx,\n tags,\n softTags: implicitTags\n });\n if (entry) {\n await handleUnlock();\n } else {\n // in dev, incremental cache response will be null in case the browser adds `cache-control: no-cache` in the request headers\n cacheReasonOverride = \"cache-control: no-cache (hard refresh)\";\n }\n if ((entry == null ? void 0 : entry.value) && entry.value.kind === \"FETCH\") {\n // when stale and is revalidating we wait for fresh data\n // so the revalidated entry has the updated data\n if (!(staticGenerationStore.isRevalidate && entry.isStale)) {\n if (entry.isStale) {\n staticGenerationStore.pendingRevalidates ??= {};\n if (!staticGenerationStore.pendingRevalidates[cacheKey]) {\n staticGenerationStore.pendingRevalidates[cacheKey] = doOriginalFetch(true).catch(console.error);\n }\n }\n const resData = entry.value.data;\n trackFetchMetric(staticGenerationStore, {\n start: fetchStart,\n url: fetchUrl,\n cacheReason,\n cacheStatus: \"hit\",\n status: resData.status || 200,\n method: (init == null ? void 0 : init.method) || \"GET\"\n });\n const response = new Response(Buffer.from(resData.body, \"base64\"), {\n headers: resData.headers,\n status: resData.status\n });\n Object.defineProperty(response, \"url\", {\n value: entry.value.data.url\n });\n return response;\n }\n }\n }\n if (staticGenerationStore.isStaticGeneration && init && typeof init === \"object\") {\n const { cache } = init;\n // Delete `cache` property as Cloudflare Workers will throw an error\n if (isEdgeRuntime) delete init.cache;\n if (!staticGenerationStore.forceStatic && cache === \"no-store\") {\n const dynamicUsageReason = `no-store fetch ${input}${staticGenerationStore.urlPathname ? ` ${staticGenerationStore.urlPathname}` : \"\"}`;\n // If enabled, we should bail out of static generation.\n staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, dynamicUsageReason);\n // PPR is not enabled, or React postpone is not available, we\n // should set the revalidate to 0.\n staticGenerationStore.revalidate = 0;\n const err = new DynamicServerError(dynamicUsageReason);\n staticGenerationStore.dynamicUsageErr = err;\n staticGenerationStore.dynamicUsageDescription = dynamicUsageReason;\n }\n const hasNextConfig = \"next\" in init;\n const { next = {} } = init;\n if (typeof next.revalidate === \"number\" && (typeof staticGenerationStore.revalidate === \"undefined\" || typeof staticGenerationStore.revalidate === \"number\" && next.revalidate < staticGenerationStore.revalidate)) {\n if (!staticGenerationStore.forceDynamic && !staticGenerationStore.forceStatic && next.revalidate === 0) {\n const dynamicUsageReason = `revalidate: 0 fetch ${input}${staticGenerationStore.urlPathname ? ` ${staticGenerationStore.urlPathname}` : \"\"}`;\n // If enabled, we should bail out of static generation.\n staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, dynamicUsageReason);\n const err = new DynamicServerError(dynamicUsageReason);\n staticGenerationStore.dynamicUsageErr = err;\n staticGenerationStore.dynamicUsageDescription = dynamicUsageReason;\n }\n if (!staticGenerationStore.forceStatic || next.revalidate !== 0) {\n staticGenerationStore.revalidate = next.revalidate;\n }\n }\n if (hasNextConfig) delete init.next;\n }\n return doOriginalFetch(false, cacheReasonOverride).finally(handleUnlock);\n });\n };\n globalThis.fetch.__nextGetStaticStore = ()=>{\n return staticGenerationAsyncStorage;\n };\n globalThis.fetch.__nextPatched = true;\n} //# sourceMappingURL=patch-fetch.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9saWIvcGF0Y2gtZmV0Y2guanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FLTjtBQUNBLFNBQVNLLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlYLE9BQU9DLGNBQWMsQ0FBQ1MsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRUCxTQUFTO0lBQ2JHLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLGNBQWM7UUFDVixPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLGFBQWFDLG1CQUFPQSxDQUFDLHVGQUFtQjtBQUM5QyxNQUFNQyxVQUFVRCxtQkFBT0EsQ0FBQyxpRkFBZ0I7QUFDeEMsTUFBTUUsY0FBY0YsbUJBQU9BLENBQUMsNEVBQXFCO0FBQ2pELE1BQU1HLE9BQU8sV0FBVyxHQUFHQywwQkFBMEJKLG1CQUFPQSxDQUFDLGtGQUF3QjtBQUNyRixTQUFTSyx5QkFBeUJDLFdBQVc7SUFDekMsSUFBSSxPQUFPQyxZQUFZLFlBQVksT0FBTztJQUMxQyxJQUFJQyxvQkFBb0IsSUFBSUQ7SUFDNUIsSUFBSUUsbUJBQW1CLElBQUlGO0lBQzNCLE9BQU8sQ0FBQ0YsMkJBQTJCLFNBQVNDLFdBQVc7UUFDbkQsT0FBT0EsY0FBY0csbUJBQW1CRDtJQUM1QyxHQUFHRjtBQUNQO0FBQ0EsU0FBU0YsMEJBQTBCTSxHQUFHLEVBQUVKLFdBQVc7SUFDL0MsSUFBSSxDQUFDQSxlQUFlSSxPQUFPQSxJQUFJQyxVQUFVLEVBQUU7UUFDdkMsT0FBT0Q7SUFDWDtJQUNBLElBQUlBLFFBQVEsUUFBUSxPQUFPQSxRQUFRLFlBQVksT0FBT0EsUUFBUSxZQUFZO1FBQ3RFLE9BQU87WUFDSEUsU0FBU0Y7UUFDYjtJQUNKO0lBQ0EsSUFBSUcsUUFBUVIseUJBQXlCQztJQUNyQyxJQUFJTyxTQUFTQSxNQUFNQyxHQUFHLENBQUNKLE1BQU07UUFDekIsT0FBT0csTUFBTWYsR0FBRyxDQUFDWTtJQUNyQjtJQUNBLElBQUlLLFNBQVMsQ0FBQztJQUNkLElBQUlDLHdCQUF3QmhDLE9BQU9DLGNBQWMsSUFBSUQsT0FBT2lDLHdCQUF3QjtJQUNwRixJQUFJLElBQUlDLE9BQU9SLElBQUk7UUFDZixJQUFJUSxRQUFRLGFBQWFsQyxPQUFPbUMsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1gsS0FBS1EsTUFBTTtZQUNyRSxJQUFJSSxPQUFPTix3QkFBd0JoQyxPQUFPaUMsd0JBQXdCLENBQUNQLEtBQUtRLE9BQU87WUFDL0UsSUFBSUksUUFBU0EsQ0FBQUEsS0FBS3hCLEdBQUcsSUFBSXdCLEtBQUtDLEdBQUcsR0FBRztnQkFDaEN2QyxPQUFPQyxjQUFjLENBQUM4QixRQUFRRyxLQUFLSTtZQUN2QyxPQUFPO2dCQUNIUCxNQUFNLENBQUNHLElBQUksR0FBR1IsR0FBRyxDQUFDUSxJQUFJO1lBQzFCO1FBQ0o7SUFDSjtJQUNBSCxPQUFPSCxPQUFPLEdBQUdGO0lBQ2pCLElBQUlHLE9BQU87UUFDUEEsTUFBTVUsR0FBRyxDQUFDYixLQUFLSztJQUNuQjtJQUNBLE9BQU9BO0FBQ1g7QUFDQSxNQUFNUyxnQkFBZ0JDLFFBQXdCLEtBQUs7QUFDbkQsU0FBU3BDLG1CQUFtQnVDLGFBQWEsRUFBRUMsUUFBUTtJQUMvQyxJQUFJO1FBQ0EsSUFBSUMsdUJBQXVCQztRQUMzQixJQUFJSCxrQkFBa0IsT0FBTztZQUN6QkUsdUJBQXVCRjtRQUMzQixPQUFPLElBQUksT0FBT0Esa0JBQWtCLFlBQVksQ0FBQ0ksTUFBTUosa0JBQWtCQSxnQkFBZ0IsQ0FBQyxHQUFHO1lBQ3pGRSx1QkFBdUJGO1FBQzNCLE9BQU8sSUFBSSxPQUFPQSxrQkFBa0IsYUFBYTtZQUM3QyxNQUFNLElBQUlLLE1BQU0sQ0FBQywwQkFBMEIsRUFBRUwsY0FBYyxNQUFNLEVBQUVDLFNBQVMsMkNBQTJDLENBQUM7UUFDNUg7UUFDQSxPQUFPQztJQUNYLEVBQUUsT0FBT0ksS0FBSztRQUNWLDBFQUEwRTtRQUMxRSxJQUFJQSxlQUFlRCxTQUFTQyxJQUFJQyxPQUFPLENBQUNDLFFBQVEsQ0FBQyx1QkFBdUI7WUFDcEUsTUFBTUY7UUFDVjtRQUNBLE9BQU9IO0lBQ1g7QUFDSjtBQUNBLFNBQVN6QyxhQUFhK0MsSUFBSSxFQUFFQyxXQUFXO0lBQ25DLE1BQU1DLFlBQVksRUFBRTtJQUNwQixNQUFNQyxjQUFjLEVBQUU7SUFDdEIsS0FBSyxNQUFNQyxPQUFPSixLQUFLO1FBQ25CLElBQUksT0FBT0ksUUFBUSxVQUFVO1lBQ3pCRCxZQUFZRSxJQUFJLENBQUM7Z0JBQ2JEO2dCQUNBRSxRQUFRO1lBQ1o7UUFDSixPQUFPLElBQUlGLElBQUlHLE1BQU0sR0FBRzFDLFlBQVkyQyx5QkFBeUIsRUFBRTtZQUMzREwsWUFBWUUsSUFBSSxDQUFDO2dCQUNiRDtnQkFDQUUsUUFBUSxDQUFDLHVCQUF1QixFQUFFekMsWUFBWTJDLHlCQUF5QixDQUFDLENBQUM7WUFDN0U7UUFDSixPQUFPO1lBQ0hOLFVBQVVHLElBQUksQ0FBQ0Q7UUFDbkI7SUFDSjtJQUNBLElBQUlELFlBQVlJLE1BQU0sR0FBRyxHQUFHO1FBQ3hCRSxRQUFRQyxJQUFJLENBQUMsQ0FBQyxnQ0FBZ0MsRUFBRVQsWUFBWSxFQUFFLENBQUM7UUFDL0QsS0FBSyxNQUFNLEVBQUVHLEdBQUcsRUFBRUUsTUFBTSxFQUFFLElBQUlILFlBQVk7WUFDdENNLFFBQVFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRVAsSUFBSSxFQUFFLEVBQUVFLE9BQU8sQ0FBQztRQUN6QztJQUNKO0lBQ0EsT0FBT0o7QUFDWDtBQUNBLE1BQU1VLGlCQUFpQixDQUFDcEI7SUFDcEIsTUFBTXFCLGNBQWM7UUFDaEIsQ0FBQyxPQUFPLENBQUM7S0FDWjtJQUNELHlEQUF5RDtJQUN6RCw4QkFBOEI7SUFDOUIsSUFBSXJCLFNBQVNzQixVQUFVLENBQUMsTUFBTTtRQUMxQixNQUFNQyxnQkFBZ0J2QixTQUFTd0IsS0FBSyxDQUFDO1FBQ3JDLElBQUksSUFBSUMsSUFBSSxHQUFHQSxJQUFJRixjQUFjUixNQUFNLEdBQUcsR0FBR1UsSUFBSTtZQUM3QyxJQUFJQyxjQUFjSCxjQUFjSSxLQUFLLENBQUMsR0FBR0YsR0FBR0csSUFBSSxDQUFDO1lBQ2pELElBQUlGLGFBQWE7Z0JBQ2IsdURBQXVEO2dCQUN2RCxJQUFJLENBQUNBLFlBQVlHLFFBQVEsQ0FBQyxZQUFZLENBQUNILFlBQVlHLFFBQVEsQ0FBQyxXQUFXO29CQUNuRUgsY0FBYyxDQUFDLEVBQUVBLFlBQVksRUFBRSxDQUFDQSxZQUFZRyxRQUFRLENBQUMsT0FBTyxNQUFNLEdBQUcsTUFBTSxDQUFDO2dCQUNoRjtnQkFDQVIsWUFBWVIsSUFBSSxDQUFDYTtZQUNyQjtRQUNKO0lBQ0o7SUFDQSxPQUFPTDtBQUNYO0FBQ0EsU0FBUzNELGdCQUFnQm9FLHFCQUFxQjtJQUMxQyxNQUFNQyxVQUFVLEVBQUU7SUFDbEIsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsRUFBRSxHQUFHSDtJQUNsQyxJQUFJLENBQUNJLE1BQU1DLE9BQU8sQ0FBQ0wsc0JBQXNCdEIsSUFBSSxHQUFHO1FBQzVDc0Isc0JBQXNCdEIsSUFBSSxHQUFHLEVBQUU7SUFDbkM7SUFDQSxJQUFJd0IsVUFBVTtRQUNWLE1BQU1YLGNBQWNELGVBQWVZO1FBQ25DLEtBQUssSUFBSXBCLE9BQU9TLFlBQVk7WUFDeEIsSUFBSWU7WUFDSnhCLE1BQU0sQ0FBQyxFQUFFdkMsWUFBWWdFLDBCQUEwQixDQUFDLEVBQUV6QixJQUFJLENBQUM7WUFDdkQsSUFBSSxDQUFFLEVBQUN3Qiw4QkFBOEJOLHNCQUFzQnRCLElBQUksS0FBSyxPQUFPLEtBQUssSUFBSTRCLDRCQUE0QjdCLFFBQVEsQ0FBQ0ssSUFBRyxHQUFJO2dCQUM1SGtCLHNCQUFzQnRCLElBQUksQ0FBQ0ssSUFBSSxDQUFDRDtZQUNwQztZQUNBbUIsUUFBUWxCLElBQUksQ0FBQ0Q7UUFDakI7SUFDSjtJQUNBLElBQUlxQixhQUFhO1FBQ2IsSUFBSUs7UUFDSixNQUFNQyxpQkFBaUIsSUFBSUMsSUFBSVAsYUFBYSxZQUFZakMsUUFBUTtRQUNoRSxNQUFNWSxNQUFNLENBQUMsRUFBRXZDLFlBQVlnRSwwQkFBMEIsQ0FBQyxFQUFFRSxlQUFlLENBQUM7UUFDeEUsSUFBSSxDQUFFLEVBQUNELCtCQUErQlIsc0JBQXNCdEIsSUFBSSxLQUFLLE9BQU8sS0FBSyxJQUFJOEIsNkJBQTZCL0IsUUFBUSxDQUFDSyxJQUFHLEdBQUk7WUFDOUhrQixzQkFBc0J0QixJQUFJLENBQUNLLElBQUksQ0FBQ0Q7UUFDcEM7UUFDQW1CLFFBQVFsQixJQUFJLENBQUNEO0lBQ2pCO0lBQ0EsT0FBT21CO0FBQ1g7QUFDQSxTQUFTVSxpQkFBaUJYLHFCQUFxQixFQUFFWSxHQUFHO0lBQ2hELElBQUksQ0FBQ1osdUJBQXVCO0lBQzVCLElBQUksQ0FBQ0Esc0JBQXNCYSxZQUFZLEVBQUU7UUFDckNiLHNCQUFzQmEsWUFBWSxHQUFHLEVBQUU7SUFDM0M7SUFDQSxNQUFNQyxlQUFlO1FBQ2pCO1FBQ0E7UUFDQTtLQUNIO0lBQ0QsdURBQXVEO0lBQ3ZELElBQUlkLHNCQUFzQmEsWUFBWSxDQUFDRSxJQUFJLENBQUMsQ0FBQ0M7UUFDekMsT0FBT0YsYUFBYUcsS0FBSyxDQUFDLENBQUNDLFFBQVFGLE1BQU0sQ0FBQ0UsTUFBTSxLQUFLTixHQUFHLENBQUNNLE1BQU07SUFDbkUsSUFBSTtRQUNBO0lBQ0o7SUFDQWxCLHNCQUFzQmEsWUFBWSxDQUFDOUIsSUFBSSxDQUFDO1FBQ3BDb0MsS0FBS1AsSUFBSU8sR0FBRztRQUNaQyxhQUFhUixJQUFJUSxXQUFXO1FBQzVCQyxhQUFhVCxJQUFJUyxXQUFXO1FBQzVCQyxRQUFRVixJQUFJVSxNQUFNO1FBQ2xCQyxRQUFRWCxJQUFJVyxNQUFNO1FBQ2xCQyxPQUFPWixJQUFJWSxLQUFLO1FBQ2hCQyxLQUFLQyxLQUFLQyxHQUFHO1FBQ2JDLEtBQUs1QixzQkFBc0I2QixXQUFXLElBQUk7SUFDOUM7QUFDSjtBQUNBLFNBQVNoRyxXQUFXLEVBQUVpRyxXQUFXLEVBQUVDLDRCQUE0QixFQUFFO0lBQzdELElBQUksQ0FBQ0MsV0FBV0Msa0JBQWtCLEVBQUU7UUFDaENELFdBQVdDLGtCQUFrQixHQUFHRCxXQUFXRSxLQUFLO0lBQ3BEO0lBQ0EsSUFBSUYsV0FBV0UsS0FBSyxDQUFDQyxhQUFhLEVBQUU7SUFDcEMsTUFBTSxFQUFFQyxrQkFBa0IsRUFBRSxHQUFHTjtJQUMvQixNQUFNTyxjQUFjTCxXQUFXQyxrQkFBa0I7SUFDakRELFdBQVdFLEtBQUssR0FBRyxPQUFPSSxPQUFPQztRQUM3QixJQUFJQyxjQUFjQztRQUNsQixJQUFJdEI7UUFDSixJQUFJO1lBQ0FBLE1BQU0sSUFBSVQsSUFBSTRCLGlCQUFpQkksVUFBVUosTUFBTW5CLEdBQUcsR0FBR21CO1lBQ3JEbkIsSUFBSXdCLFFBQVEsR0FBRztZQUNmeEIsSUFBSXlCLFFBQVEsR0FBRztRQUNuQixFQUFFLE9BQU87WUFDTCxrRUFBa0U7WUFDbEV6QixNQUFNL0M7UUFDVjtRQUNBLE1BQU15RSxXQUFXLENBQUMxQixPQUFPLE9BQU8sS0FBSyxJQUFJQSxJQUFJMkIsSUFBSSxLQUFLO1FBQ3RELE1BQU1DLGFBQWFyQixLQUFLQyxHQUFHO1FBQzNCLE1BQU1KLFNBQVMsQ0FBQ2dCLFFBQVEsT0FBTyxLQUFLLElBQUksQ0FBQ0MsZUFBZUQsS0FBS2hCLE1BQU0sS0FBSyxPQUFPLEtBQUssSUFBSWlCLGFBQWFRLFdBQVcsRUFBQyxLQUFNO1FBQ3ZILHlEQUF5RDtRQUN6RCxvQkFBb0I7UUFDcEIsTUFBTUMsYUFBYSxDQUFDLENBQUNSLFFBQVFGLFFBQVEsT0FBTyxLQUFLLElBQUlBLEtBQUtXLElBQUksS0FBSyxPQUFPLEtBQUssSUFBSVQsTUFBTVUsUUFBUSxNQUFNO1FBQ3ZHLE1BQU1DLFdBQVd0RixRQUFRQyxHQUFHLENBQUNzRix3QkFBd0IsS0FBSztRQUMxRCxPQUFPLE1BQU0sQ0FBQyxHQUFHL0csUUFBUWdILFNBQVMsSUFBSUMsS0FBSyxDQUFDTixhQUFhN0csV0FBV29ILGtCQUFrQixDQUFDQyxhQUFhLEdBQUdySCxXQUFXc0gsYUFBYSxDQUFDeEIsS0FBSyxFQUFFO1lBQ25Ja0I7WUFDQU8sTUFBTXJILFFBQVFzSCxRQUFRLENBQUNDLE1BQU07WUFDN0JDLFVBQVU7Z0JBQ047Z0JBQ0F2QztnQkFDQXNCO2FBQ0gsQ0FBQ2tCLE1BQU0sQ0FBQ0MsU0FBU2xFLElBQUksQ0FBQztZQUN2Qm1FLFlBQVk7Z0JBQ1IsWUFBWXBCO2dCQUNaLGVBQWV0QjtnQkFDZixpQkFBaUJKLE9BQU8sT0FBTyxLQUFLLElBQUlBLElBQUkrQyxRQUFRO2dCQUNwRCxpQkFBaUIsQ0FBQy9DLE9BQU8sT0FBTyxLQUFLLElBQUlBLElBQUlnRCxJQUFJLEtBQUsvRjtZQUMxRDtRQUNKLEdBQUc7WUFDQyxJQUFJZ0c7WUFDSixNQUFNcEUsd0JBQXdCK0IsNkJBQTZCc0MsUUFBUSxNQUFPbkMsQ0FBQUEsTUFBTW9DLG9CQUFvQixJQUFJLE9BQU8sS0FBSyxJQUFJcEMsTUFBTW9DLG9CQUFvQixDQUFDNUcsSUFBSSxDQUFDd0UsTUFBSztZQUM3SixNQUFNcUMsaUJBQWlCakMsU0FBUyxPQUFPQSxVQUFVLFlBQVksT0FBT0EsTUFBTWYsTUFBTSxLQUFLO1lBQ3JGLE1BQU1pRCxpQkFBaUIsQ0FBQ3REO2dCQUNwQiwwRUFBMEU7Z0JBQzFFLE1BQU0xRixRQUFRK0csUUFBUSxPQUFPLEtBQUssSUFBSUEsSUFBSSxDQUFDckIsTUFBTTtnQkFDakQsT0FBTzFGLFNBQVUrSSxDQUFBQSxpQkFBaUJqQyxLQUFLLENBQUNwQixNQUFNLEdBQUcsSUFBRztZQUN4RDtZQUNBLGlFQUFpRTtZQUNqRSxpRUFBaUU7WUFDakUsd0JBQXdCO1lBQ3hCLElBQUksQ0FBQ2xCLHlCQUF5QmlELGNBQWNqRCxzQkFBc0J5RSxXQUFXLEVBQUU7Z0JBQzNFLE9BQU9wQyxZQUFZQyxPQUFPQztZQUM5QjtZQUNBLElBQUltQyxhQUFhdEc7WUFDakIsTUFBTXVHLGVBQWUsQ0FBQ3pEO2dCQUNsQixJQUFJMEQsWUFBWUMsYUFBYUM7Z0JBQzdCLE9BQU8sT0FBUXZDLENBQUFBLFFBQVEsT0FBTyxLQUFLLElBQUksQ0FBQ3FDLGFBQWFyQyxLQUFLVyxJQUFJLEtBQUssT0FBTyxLQUFLLElBQUkwQixVQUFVLENBQUMxRCxNQUFNLE1BQU0sY0FBY3FCLFFBQVEsT0FBTyxLQUFLLElBQUksQ0FBQ3NDLGNBQWN0QyxLQUFLVyxJQUFJLEtBQUssT0FBTyxLQUFLLElBQUkyQixXQUFXLENBQUMzRCxNQUFNLEdBQUdxRCxpQkFBaUIsQ0FBQ08sY0FBY3hDLE1BQU1ZLElBQUksS0FBSyxPQUFPLEtBQUssSUFBSTRCLFdBQVcsQ0FBQzVELE1BQU0sR0FBRzlDO1lBQzFTO1lBQ0EsMERBQTBEO1lBQzFELDBDQUEwQztZQUMxQyxJQUFJMkcsZ0JBQWdCSixhQUFhO1lBQ2pDLE1BQU1qRyxPQUFPL0MsYUFBYWdKLGFBQWEsV0FBVyxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUVyQyxNQUFNMEMsUUFBUSxHQUFHLENBQUM7WUFDakYsSUFBSTVFLE1BQU1DLE9BQU8sQ0FBQzNCLE9BQU87Z0JBQ3JCLElBQUksQ0FBQ3NCLHNCQUFzQnRCLElBQUksRUFBRTtvQkFDN0JzQixzQkFBc0J0QixJQUFJLEdBQUcsRUFBRTtnQkFDbkM7Z0JBQ0EsS0FBSyxNQUFNSSxPQUFPSixLQUFLO29CQUNuQixJQUFJLENBQUNzQixzQkFBc0J0QixJQUFJLENBQUNELFFBQVEsQ0FBQ0ssTUFBTTt3QkFDM0NrQixzQkFBc0J0QixJQUFJLENBQUNLLElBQUksQ0FBQ0Q7b0JBQ3BDO2dCQUNKO1lBQ0o7WUFDQSxNQUFNbUcsZUFBZXJKLGdCQUFnQm9FO1lBQ3JDLE1BQU1rRixjQUFjbEYsc0JBQXNCbUYsVUFBVSxLQUFLO1lBQ3pELE1BQU1DLGVBQWVwRixzQkFBc0JtRixVQUFVLEtBQUs7WUFDMUQsTUFBTUUsaUJBQWlCckYsc0JBQXNCbUYsVUFBVSxLQUFLO1lBQzVELE1BQU1HLG1CQUFtQnRGLHNCQUFzQm1GLFVBQVUsS0FBSztZQUM5RCxNQUFNSSxnQkFBZ0J2RixzQkFBc0JtRixVQUFVLEtBQUs7WUFDM0QsTUFBTUssaUJBQWlCeEYsc0JBQXNCbUYsVUFBVSxLQUFLO1lBQzVELE1BQU1NLGlCQUFpQixDQUFDLENBQUN6RixzQkFBc0IwRixpQkFBaUI7WUFDaEUsSUFBSUMsU0FBU25CLGVBQWU7WUFDNUIsSUFBSW5ELGNBQWM7WUFDbEIsSUFBSSxPQUFPc0UsV0FBVyxZQUFZLE9BQU9aLGtCQUFrQixhQUFhO2dCQUNwRSxnR0FBZ0c7Z0JBQ2hHLHVFQUF1RTtnQkFDdkUsSUFBSSxDQUFFUixDQUFBQSxrQkFBa0JvQixXQUFXLFNBQVEsR0FBSTtvQkFDM0NuSixLQUFLNEMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFeUQsU0FBUyxJQUFJLEVBQUU3QyxzQkFBc0JHLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRXdGLE9BQU8sbUJBQW1CLEVBQUVaLGNBQWMsZ0NBQWdDLENBQUM7Z0JBQzVLO2dCQUNBWSxTQUFTdkg7WUFDYjtZQUNBLElBQUl1SCxXQUFXLGVBQWU7Z0JBQzFCWixnQkFBZ0I7WUFDcEIsT0FBTyxJQUFJWSxXQUFXLGNBQWNBLFdBQVcsY0FBY0gsa0JBQWtCRCxlQUFlO2dCQUMxRlIsZ0JBQWdCO1lBQ3BCO1lBQ0EsSUFBSVksV0FBVyxjQUFjQSxXQUFXLFlBQVk7Z0JBQ2hEdEUsY0FBYyxDQUFDLE9BQU8sRUFBRXNFLE9BQU8sQ0FBQztZQUNwQztZQUNBakIsYUFBYWhKLG1CQUFtQnFKLGVBQWUvRSxzQkFBc0JHLFdBQVc7WUFDaEYsTUFBTXlGLFdBQVdwQixlQUFlO1lBQ2hDLE1BQU1xQixjQUFjLE9BQVFELENBQUFBLFlBQVksT0FBTyxLQUFLLElBQUlBLFNBQVN6SixHQUFHLE1BQU0sYUFBYXlKLFdBQVcsSUFBSUUsUUFBUUYsWUFBWSxDQUFDO1lBQzNILE1BQU1HLHVCQUF1QkYsWUFBWTFKLEdBQUcsQ0FBQyxvQkFBb0IwSixZQUFZMUosR0FBRyxDQUFDO1lBQ2pGLE1BQU02SixzQkFBc0IsQ0FBQztnQkFDekI7Z0JBQ0E7YUFDSCxDQUFDdkgsUUFBUSxDQUFDLENBQUMsQ0FBQzJGLGtCQUFrQkksZUFBZSxTQUFRLEtBQU0sT0FBTyxLQUFLLElBQUlKLGdCQUFnQjZCLFdBQVcsRUFBQyxLQUFNO1lBQzlHLHVEQUF1RDtZQUN2RCx3REFBd0Q7WUFDeEQsd0RBQXdEO1lBQ3hELE1BQU1DLGNBQWMsQ0FBQ0gsd0JBQXdCQyxtQkFBa0IsS0FBTWhHLHNCQUFzQjBFLFVBQVUsS0FBSztZQUMxRyxJQUFJYyxnQkFBZ0I7Z0JBQ2hCbkUsY0FBYztZQUNsQjtZQUNBLElBQUlrRSxlQUFlO2dCQUNmLElBQUlJLFdBQVcsaUJBQWlCLE9BQU9qQixlQUFlLGVBQWdCQSxDQUFBQSxlQUFlLFNBQVNBLGFBQWEsSUFBSTtvQkFDM0csTUFBTSxJQUFJcEcsTUFBTSxDQUFDLHVDQUF1QyxFQUFFdUUsU0FBUyxnREFBZ0QsQ0FBQztnQkFDeEg7Z0JBQ0F4QixjQUFjO1lBQ2xCO1lBQ0EsSUFBSTZELGVBQWVTLFdBQVcsWUFBWTtnQkFDdEMsTUFBTSxJQUFJckgsTUFBTSxDQUFDLG9DQUFvQyxFQUFFdUUsU0FBUyw2Q0FBNkMsQ0FBQztZQUNsSDtZQUNBLElBQUl1QyxnQkFBaUIsUUFBT0wsa0JBQWtCLGVBQWVBLGtCQUFrQixJQUFJO2dCQUMvRTFELGNBQWM7Z0JBQ2RxRCxhQUFhO1lBQ2pCO1lBQ0EsSUFBSSxPQUFPQSxlQUFlLGFBQWE7Z0JBQ25DLElBQUlXLGdCQUFnQjtvQkFDaEJYLGFBQWE7b0JBQ2JyRCxjQUFjO2dCQUNsQixPQUFPLElBQUk2RSxhQUFhO29CQUNwQnhCLGFBQWE7b0JBQ2JyRCxjQUFjO2dCQUNsQixPQUFPLElBQUlpRSxrQkFBa0I7b0JBQ3pCWixhQUFhO29CQUNickQsY0FBYztnQkFDbEIsT0FBTyxJQUFJb0UsZ0JBQWdCO29CQUN2QmYsYUFBYTtvQkFDYnJELGNBQWM7Z0JBQ2xCLE9BQU87b0JBQ0hBLGNBQWM7b0JBQ2RxRCxhQUFhLE9BQU8xRSxzQkFBc0IwRSxVQUFVLEtBQUssYUFBYSxPQUFPMUUsc0JBQXNCMEUsVUFBVSxLQUFLLGNBQWMsUUFBUTFFLHNCQUFzQjBFLFVBQVU7Z0JBQzVLO1lBQ0osT0FBTyxJQUFJLENBQUNyRCxhQUFhO2dCQUNyQkEsY0FBYyxDQUFDLFlBQVksRUFBRXFELFdBQVcsQ0FBQztZQUM3QztZQUNBLElBQ0EseUJBQXlCO1lBQ3pCLENBQUUxRSxDQUFBQSxzQkFBc0JtRyxXQUFXLElBQUl6QixlQUFlLE1BQU0sNERBQTREO1lBQ3hILHNEQUFzRDtZQUN0RCxDQUFDd0IsZUFBZSxtRUFBbUU7WUFDbkYscUVBQXFFO1lBQ3JFLFNBQVM7WUFDUixRQUFPbEcsc0JBQXNCMEUsVUFBVSxLQUFLLGVBQWUsT0FBT0EsZUFBZSxZQUFhMUUsQ0FBQUEsc0JBQXNCMEUsVUFBVSxLQUFLLFNBQVMsT0FBTzFFLHNCQUFzQjBFLFVBQVUsS0FBSyxZQUFZQSxhQUFhMUUsc0JBQXNCMEUsVUFBVSxJQUFJO2dCQUNsUCxpRUFBaUU7Z0JBQ2pFLDBCQUEwQjtnQkFDMUIsSUFBSUEsZUFBZSxHQUFHO29CQUNsQjFFLHNCQUFzQm9HLFFBQVEsSUFBSSxPQUFPLEtBQUssSUFBSXBHLHNCQUFzQm9HLFFBQVEsQ0FBQzFJLElBQUksQ0FBQ3NDLHVCQUF1QjtnQkFDakg7Z0JBQ0FBLHNCQUFzQjBFLFVBQVUsR0FBR0E7WUFDdkM7WUFDQSxNQUFNMkIsd0JBQXdCLE9BQU8zQixlQUFlLFlBQVlBLGFBQWEsS0FBS0EsZUFBZTtZQUNqRyxJQUFJNEI7WUFDSixJQUFJdEcsc0JBQXNCdUcsZ0JBQWdCLElBQUlGLHVCQUF1QjtnQkFDakUsSUFBSTtvQkFDQUMsV0FBVyxNQUFNdEcsc0JBQXNCdUcsZ0JBQWdCLENBQUNDLGFBQWEsQ0FBQzNELFVBQVUwQixpQkFBaUJqQyxRQUFRQztnQkFDN0csRUFBRSxPQUFPaEUsS0FBSztvQkFDVlksUUFBUXNILEtBQUssQ0FBQyxDQUFDLGdDQUFnQyxDQUFDLEVBQUVuRTtnQkFDdEQ7WUFDSjtZQUNBLE1BQU1vRSxXQUFXMUcsc0JBQXNCNkIsV0FBVyxJQUFJO1lBQ3REN0Isc0JBQXNCNkIsV0FBVyxHQUFHNkUsV0FBVztZQUMvQyxNQUFNdkksdUJBQXVCLE9BQU91RyxlQUFlLFdBQVduSSxZQUFZb0ssY0FBYyxHQUFHakM7WUFDM0YsTUFBTWtDLGtCQUFrQixPQUFPQyxTQUFTQztnQkFDcEMsTUFBTUMscUJBQXFCO29CQUN2QjtvQkFDQTtvQkFDQTtvQkFDQTtvQkFDQTtvQkFDQTtvQkFDQTtvQkFDQTtvQkFDQTtvQkFDQTtvQkFDQTtvQkFDQTtvQkFDQSw4Q0FBOEM7dUJBQzNDRixVQUFVLEVBQUUsR0FBRzt3QkFDZDtxQkFDSDtpQkFDSjtnQkFDRCxJQUFJdEMsZ0JBQWdCO29CQUNoQixNQUFNeUMsV0FBVzFFO29CQUNqQixNQUFNMkUsYUFBYTt3QkFDZkMsTUFBTUYsU0FBU0csT0FBTyxJQUFJSCxTQUFTRSxJQUFJO29CQUMzQztvQkFDQSxLQUFLLE1BQU1oRyxTQUFTNkYsbUJBQW1CO3dCQUNuQyxpQ0FBaUM7d0JBQ2pDRSxVQUFVLENBQUMvRixNQUFNLEdBQUc4RixRQUFRLENBQUM5RixNQUFNO29CQUN2QztvQkFDQW9CLFFBQVEsSUFBSUksUUFBUXNFLFNBQVM3RixHQUFHLEVBQUU4RjtnQkFDdEMsT0FBTyxJQUFJMUUsTUFBTTtvQkFDYixNQUFNNkUsY0FBYzdFO29CQUNwQkEsT0FBTzt3QkFDSDJFLE1BQU0zRSxLQUFLNEUsT0FBTyxJQUFJNUUsS0FBSzJFLElBQUk7b0JBQ25DO29CQUNBLEtBQUssTUFBTWhHLFNBQVM2RixtQkFBbUI7d0JBQ25DLGlDQUFpQzt3QkFDakN4RSxJQUFJLENBQUNyQixNQUFNLEdBQUdrRyxXQUFXLENBQUNsRyxNQUFNO29CQUNwQztnQkFDSjtnQkFDQSxvREFBb0Q7Z0JBQ3BELE1BQU1tRyxhQUFhO29CQUNmLEdBQUc5RSxJQUFJO29CQUNQVyxNQUFNO3dCQUNGLEdBQUdYLFFBQVEsT0FBTyxLQUFLLElBQUlBLEtBQUtXLElBQUk7d0JBQ3BDb0UsV0FBVzt3QkFDWFo7b0JBQ0o7Z0JBQ0o7Z0JBQ0EsT0FBT3JFLFlBQVlDLE9BQU8rRSxZQUFZRSxJQUFJLENBQUMsT0FBT0M7b0JBQzlDLElBQUksQ0FBQ1gsU0FBUzt3QkFDVmxHLGlCQUFpQlgsdUJBQXVCOzRCQUNwQ3dCLE9BQU91Qjs0QkFDUDVCLEtBQUswQjs0QkFDTHhCLGFBQWF5Rix1QkFBdUJ6Rjs0QkFDcENELGFBQWFzRCxlQUFlLEtBQUtvQyxzQkFBc0IsU0FBUzs0QkFDaEV4RixRQUFRa0csSUFBSWxHLE1BQU07NEJBQ2xCQyxRQUFROEYsV0FBVzlGLE1BQU0sSUFBSTt3QkFDakM7b0JBQ0o7b0JBQ0EsSUFBSWlHLElBQUlsRyxNQUFNLEtBQUssT0FBT3RCLHNCQUFzQnVHLGdCQUFnQixJQUFJRCxZQUFZRCx1QkFBdUI7d0JBQ25HLE1BQU1vQixhQUFhQyxPQUFPQyxJQUFJLENBQUMsTUFBTUgsSUFBSUksV0FBVzt3QkFDcEQsSUFBSTs0QkFDQSxNQUFNNUgsc0JBQXNCdUcsZ0JBQWdCLENBQUMzSSxHQUFHLENBQUMwSSxVQUFVO2dDQUN2RDNDLE1BQU07Z0NBQ05rRSxNQUFNO29DQUNGQyxTQUFTek0sT0FBTzBNLFdBQVcsQ0FBQ1AsSUFBSU0sT0FBTyxDQUFDRSxPQUFPO29DQUMvQ2QsTUFBTU8sV0FBV3pDLFFBQVEsQ0FBQztvQ0FDMUIxRCxRQUFRa0csSUFBSWxHLE1BQU07b0NBQ2xCSCxLQUFLcUcsSUFBSXJHLEdBQUc7Z0NBQ2hCO2dDQUNBdUQsWUFBWXZHOzRCQUNoQixHQUFHO2dDQUNDZ0gsWUFBWTtnQ0FDWlQ7Z0NBQ0E3QjtnQ0FDQTZEO2dDQUNBaEk7NEJBQ0o7d0JBQ0osRUFBRSxPQUFPSCxLQUFLOzRCQUNWWSxRQUFRQyxJQUFJLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFa0QsT0FBTy9EO3dCQUNyRDt3QkFDQSxNQUFNMEosV0FBVyxJQUFJQyxTQUFTVCxZQUFZOzRCQUN0Q0ssU0FBUyxJQUFJaEMsUUFBUTBCLElBQUlNLE9BQU87NEJBQ2hDeEcsUUFBUWtHLElBQUlsRyxNQUFNO3dCQUN0Qjt3QkFDQWpHLE9BQU9DLGNBQWMsQ0FBQzJNLFVBQVUsT0FBTzs0QkFDbkN6TSxPQUFPZ00sSUFBSXJHLEdBQUc7d0JBQ2xCO3dCQUNBLE9BQU84RztvQkFDWDtvQkFDQSxPQUFPVDtnQkFDWDtZQUNKO1lBQ0EsSUFBSVcsZUFBZSxJQUFJQyxRQUFRQyxPQUFPO1lBQ3RDLElBQUl2QjtZQUNKLElBQUlSLFlBQVl0RyxzQkFBc0J1RyxnQkFBZ0IsRUFBRTtnQkFDcEQ0QixlQUFlLE1BQU1uSSxzQkFBc0J1RyxnQkFBZ0IsQ0FBQytCLElBQUksQ0FBQ2hDO2dCQUNqRSxNQUFNaUMsUUFBUXZJLHNCQUFzQndJLG9CQUFvQixHQUFHLE9BQU8sTUFBTXhJLHNCQUFzQnVHLGdCQUFnQixDQUFDcEssR0FBRyxDQUFDbUssVUFBVTtvQkFDekhtQyxVQUFVO29CQUNWL0Q7b0JBQ0E3QjtvQkFDQTZEO29CQUNBaEk7b0JBQ0FnSyxVQUFVekQ7Z0JBQ2Q7Z0JBQ0EsSUFBSXNELE9BQU87b0JBQ1AsTUFBTUo7Z0JBQ1YsT0FBTztvQkFDSCw0SEFBNEg7b0JBQzVIckIsc0JBQXNCO2dCQUMxQjtnQkFDQSxJQUFJLENBQUN5QixTQUFTLE9BQU8sS0FBSyxJQUFJQSxNQUFNL00sS0FBSyxLQUFLK00sTUFBTS9NLEtBQUssQ0FBQ21JLElBQUksS0FBSyxTQUFTO29CQUN4RSx3REFBd0Q7b0JBQ3hELGdEQUFnRDtvQkFDaEQsSUFBSSxDQUFFM0QsQ0FBQUEsc0JBQXNCMkksWUFBWSxJQUFJSixNQUFNMUIsT0FBTyxHQUFHO3dCQUN4RCxJQUFJMEIsTUFBTTFCLE9BQU8sRUFBRTs0QkFDZjdHLHNCQUFzQjRJLGtCQUFrQixLQUFLLENBQUM7NEJBQzlDLElBQUksQ0FBQzVJLHNCQUFzQjRJLGtCQUFrQixDQUFDdEMsU0FBUyxFQUFFO2dDQUNyRHRHLHNCQUFzQjRJLGtCQUFrQixDQUFDdEMsU0FBUyxHQUFHTSxnQkFBZ0IsTUFBTWlDLEtBQUssQ0FBQzFKLFFBQVFzSCxLQUFLOzRCQUNsRzt3QkFDSjt3QkFDQSxNQUFNcUMsVUFBVVAsTUFBTS9NLEtBQUssQ0FBQ3FNLElBQUk7d0JBQ2hDbEgsaUJBQWlCWCx1QkFBdUI7NEJBQ3BDd0IsT0FBT3VCOzRCQUNQNUIsS0FBSzBCOzRCQUNMeEI7NEJBQ0FELGFBQWE7NEJBQ2JFLFFBQVF3SCxRQUFReEgsTUFBTSxJQUFJOzRCQUMxQkMsUUFBUSxDQUFDZ0IsUUFBUSxPQUFPLEtBQUssSUFBSUEsS0FBS2hCLE1BQU0sS0FBSzt3QkFDckQ7d0JBQ0EsTUFBTTBHLFdBQVcsSUFBSUMsU0FBU1IsT0FBT0MsSUFBSSxDQUFDbUIsUUFBUTVCLElBQUksRUFBRSxXQUFXOzRCQUMvRFksU0FBU2dCLFFBQVFoQixPQUFPOzRCQUN4QnhHLFFBQVF3SCxRQUFReEgsTUFBTTt3QkFDMUI7d0JBQ0FqRyxPQUFPQyxjQUFjLENBQUMyTSxVQUFVLE9BQU87NEJBQ25Dek0sT0FBTytNLE1BQU0vTSxLQUFLLENBQUNxTSxJQUFJLENBQUMxRyxHQUFHO3dCQUMvQjt3QkFDQSxPQUFPOEc7b0JBQ1g7Z0JBQ0o7WUFDSjtZQUNBLElBQUlqSSxzQkFBc0IrSSxrQkFBa0IsSUFBSXhHLFFBQVEsT0FBT0EsU0FBUyxVQUFVO2dCQUM5RSxNQUFNLEVBQUVyRixLQUFLLEVBQUUsR0FBR3FGO2dCQUNsQixvRUFBb0U7Z0JBQ3BFLElBQUkxRSxlQUFlLE9BQU8wRSxLQUFLckYsS0FBSztnQkFDcEMsSUFBSSxDQUFDOEMsc0JBQXNCbUcsV0FBVyxJQUFJakosVUFBVSxZQUFZO29CQUM1RCxNQUFNOEwscUJBQXFCLENBQUMsZUFBZSxFQUFFMUcsTUFBTSxFQUFFdEMsc0JBQXNCRyxXQUFXLEdBQUcsQ0FBQyxDQUFDLEVBQUVILHNCQUFzQkcsV0FBVyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7b0JBQ3ZJLHVEQUF1RDtvQkFDdkRILHNCQUFzQm9HLFFBQVEsSUFBSSxPQUFPLEtBQUssSUFBSXBHLHNCQUFzQm9HLFFBQVEsQ0FBQzFJLElBQUksQ0FBQ3NDLHVCQUF1QmdKO29CQUM3Ryw2REFBNkQ7b0JBQzdELGtDQUFrQztvQkFDbENoSixzQkFBc0IwRSxVQUFVLEdBQUc7b0JBQ25DLE1BQU1uRyxNQUFNLElBQUk2RCxtQkFBbUI0RztvQkFDbkNoSixzQkFBc0JpSixlQUFlLEdBQUcxSztvQkFDeEN5QixzQkFBc0JrSix1QkFBdUIsR0FBR0Y7Z0JBQ3BEO2dCQUNBLE1BQU1HLGdCQUFnQixVQUFVNUc7Z0JBQ2hDLE1BQU0sRUFBRVcsT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHWDtnQkFDdEIsSUFBSSxPQUFPVyxLQUFLd0IsVUFBVSxLQUFLLFlBQWEsUUFBTzFFLHNCQUFzQjBFLFVBQVUsS0FBSyxlQUFlLE9BQU8xRSxzQkFBc0IwRSxVQUFVLEtBQUssWUFBWXhCLEtBQUt3QixVQUFVLEdBQUcxRSxzQkFBc0IwRSxVQUFVLEdBQUc7b0JBQ2hOLElBQUksQ0FBQzFFLHNCQUFzQm9KLFlBQVksSUFBSSxDQUFDcEosc0JBQXNCbUcsV0FBVyxJQUFJakQsS0FBS3dCLFVBQVUsS0FBSyxHQUFHO3dCQUNwRyxNQUFNc0UscUJBQXFCLENBQUMsb0JBQW9CLEVBQUUxRyxNQUFNLEVBQUV0QyxzQkFBc0JHLFdBQVcsR0FBRyxDQUFDLENBQUMsRUFBRUgsc0JBQXNCRyxXQUFXLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQzt3QkFDNUksdURBQXVEO3dCQUN2REgsc0JBQXNCb0csUUFBUSxJQUFJLE9BQU8sS0FBSyxJQUFJcEcsc0JBQXNCb0csUUFBUSxDQUFDMUksSUFBSSxDQUFDc0MsdUJBQXVCZ0o7d0JBQzdHLE1BQU16SyxNQUFNLElBQUk2RCxtQkFBbUI0Rzt3QkFDbkNoSixzQkFBc0JpSixlQUFlLEdBQUcxSzt3QkFDeEN5QixzQkFBc0JrSix1QkFBdUIsR0FBR0Y7b0JBQ3BEO29CQUNBLElBQUksQ0FBQ2hKLHNCQUFzQm1HLFdBQVcsSUFBSWpELEtBQUt3QixVQUFVLEtBQUssR0FBRzt3QkFDN0QxRSxzQkFBc0IwRSxVQUFVLEdBQUd4QixLQUFLd0IsVUFBVTtvQkFDdEQ7Z0JBQ0o7Z0JBQ0EsSUFBSXlFLGVBQWUsT0FBTzVHLEtBQUtXLElBQUk7WUFDdkM7WUFDQSxPQUFPMEQsZ0JBQWdCLE9BQU9FLHFCQUFxQnVDLE9BQU8sQ0FBQ2xCO1FBQy9EO0lBQ0o7SUFDQW5HLFdBQVdFLEtBQUssQ0FBQ29DLG9CQUFvQixHQUFHO1FBQ3BDLE9BQU92QztJQUNYO0lBQ0FDLFdBQVdFLEtBQUssQ0FBQ0MsYUFBYSxHQUFHO0FBQ3JDLEVBRUEsdUNBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvbGliL3BhdGNoLWZldGNoLmpzPzQyOTUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICB2YWxpZGF0ZVJldmFsaWRhdGU6IG51bGwsXG4gICAgdmFsaWRhdGVUYWdzOiBudWxsLFxuICAgIGFkZEltcGxpY2l0VGFnczogbnVsbCxcbiAgICBwYXRjaEZldGNoOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHZhbGlkYXRlUmV2YWxpZGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB2YWxpZGF0ZVJldmFsaWRhdGU7XG4gICAgfSxcbiAgICB2YWxpZGF0ZVRhZ3M6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdmFsaWRhdGVUYWdzO1xuICAgIH0sXG4gICAgYWRkSW1wbGljaXRUYWdzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFkZEltcGxpY2l0VGFncztcbiAgICB9LFxuICAgIHBhdGNoRmV0Y2g6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcGF0Y2hGZXRjaDtcbiAgICB9XG59KTtcbmNvbnN0IF9jb25zdGFudHMgPSByZXF1aXJlKFwiLi90cmFjZS9jb25zdGFudHNcIik7XG5jb25zdCBfdHJhY2VyID0gcmVxdWlyZShcIi4vdHJhY2UvdHJhY2VyXCIpO1xuY29uc3QgX2NvbnN0YW50czEgPSByZXF1aXJlKFwiLi4vLi4vbGliL2NvbnN0YW50c1wiKTtcbmNvbnN0IF9sb2cgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQocmVxdWlyZShcIi4uLy4uL2J1aWxkL291dHB1dC9sb2dcIikpO1xuZnVuY3Rpb24gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKHR5cGVvZiBXZWFrTWFwICE9PSBcImZ1bmN0aW9uXCIpIHJldHVybiBudWxsO1xuICAgIHZhciBjYWNoZUJhYmVsSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgdmFyIGNhY2hlTm9kZUludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuICAgIHJldHVybiAoX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlID0gZnVuY3Rpb24obm9kZUludGVyb3ApIHtcbiAgICAgICAgcmV0dXJuIG5vZGVJbnRlcm9wID8gY2FjaGVOb2RlSW50ZXJvcCA6IGNhY2hlQmFiZWxJbnRlcm9wO1xuICAgIH0pKG5vZGVJbnRlcm9wKTtcbn1cbmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQob2JqLCBub2RlSW50ZXJvcCkge1xuICAgIGlmICghbm9kZUludGVyb3AgJiYgb2JqICYmIG9iai5fX2VzTW9kdWxlKSB7XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2Ygb2JqICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IG9ialxuICAgICAgICB9O1xuICAgIH1cbiAgICB2YXIgY2FjaGUgPSBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApO1xuICAgIGlmIChjYWNoZSAmJiBjYWNoZS5oYXMob2JqKSkge1xuICAgICAgICByZXR1cm4gY2FjaGUuZ2V0KG9iaik7XG4gICAgfVxuICAgIHZhciBuZXdPYmogPSB7fTtcbiAgICB2YXIgaGFzUHJvcGVydHlEZXNjcmlwdG9yID0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG4gICAgZm9yKHZhciBrZXkgaW4gb2JqKXtcbiAgICAgICAgaWYgKGtleSAhPT0gXCJkZWZhdWx0XCIgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkge1xuICAgICAgICAgICAgdmFyIGRlc2MgPSBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwga2V5KSA6IG51bGw7XG4gICAgICAgICAgICBpZiAoZGVzYyAmJiAoZGVzYy5nZXQgfHwgZGVzYy5zZXQpKSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ld09iaiwga2V5LCBkZXNjKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3T2JqW2tleV0gPSBvYmpba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBuZXdPYmouZGVmYXVsdCA9IG9iajtcbiAgICBpZiAoY2FjaGUpIHtcbiAgICAgICAgY2FjaGUuc2V0KG9iaiwgbmV3T2JqKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld09iajtcbn1cbmNvbnN0IGlzRWRnZVJ1bnRpbWUgPSBwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgPT09IFwiZWRnZVwiO1xuZnVuY3Rpb24gdmFsaWRhdGVSZXZhbGlkYXRlKHJldmFsaWRhdGVWYWwsIHBhdGhuYW1lKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgbGV0IG5vcm1hbGl6ZWRSZXZhbGlkYXRlID0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAocmV2YWxpZGF0ZVZhbCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIG5vcm1hbGl6ZWRSZXZhbGlkYXRlID0gcmV2YWxpZGF0ZVZhbDtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcmV2YWxpZGF0ZVZhbCA9PT0gXCJudW1iZXJcIiAmJiAhaXNOYU4ocmV2YWxpZGF0ZVZhbCkgJiYgcmV2YWxpZGF0ZVZhbCA+IC0xKSB7XG4gICAgICAgICAgICBub3JtYWxpemVkUmV2YWxpZGF0ZSA9IHJldmFsaWRhdGVWYWw7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHJldmFsaWRhdGVWYWwgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZXZhbGlkYXRlIHZhbHVlIFwiJHtyZXZhbGlkYXRlVmFsfVwiIG9uIFwiJHtwYXRobmFtZX1cIiwgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIgb3IgXCJmYWxzZVwiYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZWRSZXZhbGlkYXRlO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAvLyBoYW5kbGUgY2xpZW50IGNvbXBvbmVudCBlcnJvciBmcm9tIGF0dGVtcHRpbmcgdG8gY2hlY2sgcmV2YWxpZGF0ZSB2YWx1ZVxuICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoXCJJbnZhbGlkIHJldmFsaWRhdGVcIikpIHtcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHZhbGlkYXRlVGFncyh0YWdzLCBkZXNjcmlwdGlvbikge1xuICAgIGNvbnN0IHZhbGlkVGFncyA9IFtdO1xuICAgIGNvbnN0IGludmFsaWRUYWdzID0gW107XG4gICAgZm9yIChjb25zdCB0YWcgb2YgdGFncyl7XG4gICAgICAgIGlmICh0eXBlb2YgdGFnICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBpbnZhbGlkVGFncy5wdXNoKHtcbiAgICAgICAgICAgICAgICB0YWcsXG4gICAgICAgICAgICAgICAgcmVhc29uOiBcImludmFsaWQgdHlwZSwgbXVzdCBiZSBhIHN0cmluZ1wiXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmICh0YWcubGVuZ3RoID4gX2NvbnN0YW50czEuTkVYVF9DQUNIRV9UQUdfTUFYX0xFTkdUSCkge1xuICAgICAgICAgICAgaW52YWxpZFRhZ3MucHVzaCh7XG4gICAgICAgICAgICAgICAgdGFnLFxuICAgICAgICAgICAgICAgIHJlYXNvbjogYGV4Y2VlZGVkIG1heCBsZW5ndGggb2YgJHtfY29uc3RhbnRzMS5ORVhUX0NBQ0hFX1RBR19NQVhfTEVOR1RIfWBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFsaWRUYWdzLnB1c2godGFnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoaW52YWxpZFRhZ3MubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFdhcm5pbmc6IGludmFsaWQgdGFncyBwYXNzZWQgdG8gJHtkZXNjcmlwdGlvbn06IGApO1xuICAgICAgICBmb3IgKGNvbnN0IHsgdGFnLCByZWFzb24gfSBvZiBpbnZhbGlkVGFncyl7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgdGFnOiBcIiR7dGFnfVwiICR7cmVhc29ufWApO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2YWxpZFRhZ3M7XG59XG5jb25zdCBnZXREZXJpdmVkVGFncyA9IChwYXRobmFtZSk9PntcbiAgICBjb25zdCBkZXJpdmVkVGFncyA9IFtcbiAgICAgICAgYC9sYXlvdXRgXG4gICAgXTtcbiAgICAvLyB3ZSBhdXRvbWF0aWNhbGx5IGFkZCB0aGUgY3VycmVudCBwYXRoIHNlZ21lbnRzIGFzIHRhZ3NcbiAgICAvLyBmb3IgcmV2YWxpZGF0ZVBhdGggaGFuZGxpbmdcbiAgICBpZiAocGF0aG5hbWUuc3RhcnRzV2l0aChcIi9cIikpIHtcbiAgICAgICAgY29uc3QgcGF0aG5hbWVQYXJ0cyA9IHBhdGhuYW1lLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgZm9yKGxldCBpID0gMTsgaSA8IHBhdGhuYW1lUGFydHMubGVuZ3RoICsgMTsgaSsrKXtcbiAgICAgICAgICAgIGxldCBjdXJQYXRobmFtZSA9IHBhdGhuYW1lUGFydHMuc2xpY2UoMCwgaSkuam9pbihcIi9cIik7XG4gICAgICAgICAgICBpZiAoY3VyUGF0aG5hbWUpIHtcbiAgICAgICAgICAgICAgICAvLyBhbGwgZGVyaXZlZCB0YWdzIG90aGVyIHRoYW4gdGhlIHBhZ2UgYXJlIGxheW91dCB0YWdzXG4gICAgICAgICAgICAgICAgaWYgKCFjdXJQYXRobmFtZS5lbmRzV2l0aChcIi9wYWdlXCIpICYmICFjdXJQYXRobmFtZS5lbmRzV2l0aChcIi9yb3V0ZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICBjdXJQYXRobmFtZSA9IGAke2N1clBhdGhuYW1lfSR7IWN1clBhdGhuYW1lLmVuZHNXaXRoKFwiL1wiKSA/IFwiL1wiIDogXCJcIn1sYXlvdXRgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkZXJpdmVkVGFncy5wdXNoKGN1clBhdGhuYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGVyaXZlZFRhZ3M7XG59O1xuZnVuY3Rpb24gYWRkSW1wbGljaXRUYWdzKHN0YXRpY0dlbmVyYXRpb25TdG9yZSkge1xuICAgIGNvbnN0IG5ld1RhZ3MgPSBbXTtcbiAgICBjb25zdCB7IHBhZ2VQYXRoLCB1cmxQYXRobmFtZSB9ID0gc3RhdGljR2VuZXJhdGlvblN0b3JlO1xuICAgIGlmICghQXJyYXkuaXNBcnJheShzdGF0aWNHZW5lcmF0aW9uU3RvcmUudGFncykpIHtcbiAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MgPSBbXTtcbiAgICB9XG4gICAgaWYgKHBhZ2VQYXRoKSB7XG4gICAgICAgIGNvbnN0IGRlcml2ZWRUYWdzID0gZ2V0RGVyaXZlZFRhZ3MocGFnZVBhdGgpO1xuICAgICAgICBmb3IgKGxldCB0YWcgb2YgZGVyaXZlZFRhZ3Mpe1xuICAgICAgICAgICAgdmFyIF9zdGF0aWNHZW5lcmF0aW9uU3RvcmVfdGFncztcbiAgICAgICAgICAgIHRhZyA9IGAke19jb25zdGFudHMxLk5FWFRfQ0FDSEVfSU1QTElDSVRfVEFHX0lEfSR7dGFnfWA7XG4gICAgICAgICAgICBpZiAoISgoX3N0YXRpY0dlbmVyYXRpb25TdG9yZV90YWdzID0gc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MpID09IG51bGwgPyB2b2lkIDAgOiBfc3RhdGljR2VuZXJhdGlvblN0b3JlX3RhZ3MuaW5jbHVkZXModGFnKSkpIHtcbiAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUudGFncy5wdXNoKHRhZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXdUYWdzLnB1c2godGFnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAodXJsUGF0aG5hbWUpIHtcbiAgICAgICAgdmFyIF9zdGF0aWNHZW5lcmF0aW9uU3RvcmVfdGFnczE7XG4gICAgICAgIGNvbnN0IHBhcnNlZFBhdGhuYW1lID0gbmV3IFVSTCh1cmxQYXRobmFtZSwgXCJodHRwOi8vblwiKS5wYXRobmFtZTtcbiAgICAgICAgY29uc3QgdGFnID0gYCR7X2NvbnN0YW50czEuTkVYVF9DQUNIRV9JTVBMSUNJVF9UQUdfSUR9JHtwYXJzZWRQYXRobmFtZX1gO1xuICAgICAgICBpZiAoISgoX3N0YXRpY0dlbmVyYXRpb25TdG9yZV90YWdzMSA9IHN0YXRpY0dlbmVyYXRpb25TdG9yZS50YWdzKSA9PSBudWxsID8gdm9pZCAwIDogX3N0YXRpY0dlbmVyYXRpb25TdG9yZV90YWdzMS5pbmNsdWRlcyh0YWcpKSkge1xuICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MucHVzaCh0YWcpO1xuICAgICAgICB9XG4gICAgICAgIG5ld1RhZ3MucHVzaCh0YWcpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3VGFncztcbn1cbmZ1bmN0aW9uIHRyYWNrRmV0Y2hNZXRyaWMoc3RhdGljR2VuZXJhdGlvblN0b3JlLCBjdHgpIHtcbiAgICBpZiAoIXN0YXRpY0dlbmVyYXRpb25TdG9yZSkgcmV0dXJuO1xuICAgIGlmICghc3RhdGljR2VuZXJhdGlvblN0b3JlLmZldGNoTWV0cmljcykge1xuICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZmV0Y2hNZXRyaWNzID0gW107XG4gICAgfVxuICAgIGNvbnN0IGRlZHVwZUZpZWxkcyA9IFtcbiAgICAgICAgXCJ1cmxcIixcbiAgICAgICAgXCJzdGF0dXNcIixcbiAgICAgICAgXCJtZXRob2RcIlxuICAgIF07XG4gICAgLy8gZG9uJ3QgYWRkIG1ldHJpYyBpZiBvbmUgYWxyZWFkeSBleGlzdHMgZm9yIHRoZSBmZXRjaFxuICAgIGlmIChzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZmV0Y2hNZXRyaWNzLnNvbWUoKG1ldHJpYyk9PntcbiAgICAgICAgcmV0dXJuIGRlZHVwZUZpZWxkcy5ldmVyeSgoZmllbGQpPT5tZXRyaWNbZmllbGRdID09PSBjdHhbZmllbGRdKTtcbiAgICB9KSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mZXRjaE1ldHJpY3MucHVzaCh7XG4gICAgICAgIHVybDogY3R4LnVybCxcbiAgICAgICAgY2FjaGVTdGF0dXM6IGN0eC5jYWNoZVN0YXR1cyxcbiAgICAgICAgY2FjaGVSZWFzb246IGN0eC5jYWNoZVJlYXNvbixcbiAgICAgICAgc3RhdHVzOiBjdHguc3RhdHVzLFxuICAgICAgICBtZXRob2Q6IGN0eC5tZXRob2QsXG4gICAgICAgIHN0YXJ0OiBjdHguc3RhcnQsXG4gICAgICAgIGVuZDogRGF0ZS5ub3coKSxcbiAgICAgICAgaWR4OiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUubmV4dEZldGNoSWQgfHwgMFxuICAgIH0pO1xufVxuZnVuY3Rpb24gcGF0Y2hGZXRjaCh7IHNlcnZlckhvb2tzLCBzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlIH0pIHtcbiAgICBpZiAoIWdsb2JhbFRoaXMuX25leHRPcmlnaW5hbEZldGNoKSB7XG4gICAgICAgIGdsb2JhbFRoaXMuX25leHRPcmlnaW5hbEZldGNoID0gZ2xvYmFsVGhpcy5mZXRjaDtcbiAgICB9XG4gICAgaWYgKGdsb2JhbFRoaXMuZmV0Y2guX19uZXh0UGF0Y2hlZCkgcmV0dXJuO1xuICAgIGNvbnN0IHsgRHluYW1pY1NlcnZlckVycm9yIH0gPSBzZXJ2ZXJIb29rcztcbiAgICBjb25zdCBvcmlnaW5GZXRjaCA9IGdsb2JhbFRoaXMuX25leHRPcmlnaW5hbEZldGNoO1xuICAgIGdsb2JhbFRoaXMuZmV0Y2ggPSBhc3luYyAoaW5wdXQsIGluaXQpPT57XG4gICAgICAgIHZhciBfaW5pdF9tZXRob2QsIF90aGlzO1xuICAgICAgICBsZXQgdXJsO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXJsID0gbmV3IFVSTChpbnB1dCBpbnN0YW5jZW9mIFJlcXVlc3QgPyBpbnB1dC51cmwgOiBpbnB1dCk7XG4gICAgICAgICAgICB1cmwudXNlcm5hbWUgPSBcIlwiO1xuICAgICAgICAgICAgdXJsLnBhc3N3b3JkID0gXCJcIjtcbiAgICAgICAgfSBjYXRjaCAge1xuICAgICAgICAgICAgLy8gRXJyb3IgY2F1c2VkIGJ5IG1hbGZvcm1lZCBVUkwgc2hvdWxkIGJlIGhhbmRsZWQgYnkgbmF0aXZlIGZldGNoXG4gICAgICAgICAgICB1cmwgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmV0Y2hVcmwgPSAodXJsID09IG51bGwgPyB2b2lkIDAgOiB1cmwuaHJlZikgPz8gXCJcIjtcbiAgICAgICAgY29uc3QgZmV0Y2hTdGFydCA9IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IG1ldGhvZCA9IChpbml0ID09IG51bGwgPyB2b2lkIDAgOiAoX2luaXRfbWV0aG9kID0gaW5pdC5tZXRob2QpID09IG51bGwgPyB2b2lkIDAgOiBfaW5pdF9tZXRob2QudG9VcHBlckNhc2UoKSkgfHwgXCJHRVRcIjtcbiAgICAgICAgLy8gRG8gY3JlYXRlIGEgbmV3IHNwYW4gdHJhY2UgZm9yIGludGVybmFsIGZldGNoZXMgaW4gdGhlXG4gICAgICAgIC8vIG5vbi12ZXJib3NlIG1vZGUuXG4gICAgICAgIGNvbnN0IGlzSW50ZXJuYWwgPSAoKF90aGlzID0gaW5pdCA9PSBudWxsID8gdm9pZCAwIDogaW5pdC5uZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXMuaW50ZXJuYWwpID09PSB0cnVlO1xuICAgICAgICBjb25zdCBoaWRlU3BhbiA9IHByb2Nlc3MuZW52Lk5FWFRfT1RFTF9GRVRDSF9ESVNBQkxFRCA9PT0gXCIxXCI7XG4gICAgICAgIHJldHVybiBhd2FpdCAoMCwgX3RyYWNlci5nZXRUcmFjZXIpKCkudHJhY2UoaXNJbnRlcm5hbCA/IF9jb25zdGFudHMuTmV4dE5vZGVTZXJ2ZXJTcGFuLmludGVybmFsRmV0Y2ggOiBfY29uc3RhbnRzLkFwcFJlbmRlclNwYW4uZmV0Y2gsIHtcbiAgICAgICAgICAgIGhpZGVTcGFuLFxuICAgICAgICAgICAga2luZDogX3RyYWNlci5TcGFuS2luZC5DTElFTlQsXG4gICAgICAgICAgICBzcGFuTmFtZTogW1xuICAgICAgICAgICAgICAgIFwiZmV0Y2hcIixcbiAgICAgICAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgICAgICAgZmV0Y2hVcmxcbiAgICAgICAgICAgIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCIgXCIpLFxuICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICAgIFwiaHR0cC51cmxcIjogZmV0Y2hVcmwsXG4gICAgICAgICAgICAgICAgXCJodHRwLm1ldGhvZFwiOiBtZXRob2QsXG4gICAgICAgICAgICAgICAgXCJuZXQucGVlci5uYW1lXCI6IHVybCA9PSBudWxsID8gdm9pZCAwIDogdXJsLmhvc3RuYW1lLFxuICAgICAgICAgICAgICAgIFwibmV0LnBlZXIucG9ydFwiOiAodXJsID09IG51bGwgPyB2b2lkIDAgOiB1cmwucG9ydCkgfHwgdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIGFzeW5jICgpPT57XG4gICAgICAgICAgICB2YXIgX2dldFJlcXVlc3RNZXRhO1xuICAgICAgICAgICAgY29uc3Qgc3RhdGljR2VuZXJhdGlvblN0b3JlID0gc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpIHx8IChmZXRjaC5fX25leHRHZXRTdGF0aWNTdG9yZSA9PSBudWxsID8gdm9pZCAwIDogZmV0Y2guX19uZXh0R2V0U3RhdGljU3RvcmUuY2FsbChmZXRjaCkpO1xuICAgICAgICAgICAgY29uc3QgaXNSZXF1ZXN0SW5wdXQgPSBpbnB1dCAmJiB0eXBlb2YgaW5wdXQgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIGlucHV0Lm1ldGhvZCA9PT0gXCJzdHJpbmdcIjtcbiAgICAgICAgICAgIGNvbnN0IGdldFJlcXVlc3RNZXRhID0gKGZpZWxkKT0+e1xuICAgICAgICAgICAgICAgIC8vIElmIHJlcXVlc3QgaW5wdXQgaXMgcHJlc2VudCBidXQgaW5pdCBpcyBub3QsIHJldHJpZXZlIGZyb20gaW5wdXQgZmlyc3QuXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBpbml0ID09IG51bGwgPyB2b2lkIDAgOiBpbml0W2ZpZWxkXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgfHwgKGlzUmVxdWVzdElucHV0ID8gaW5wdXRbZmllbGRdIDogbnVsbCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy8gSWYgdGhlIHN0YXRpY0dlbmVyYXRpb25TdG9yZSBpcyBub3QgYXZhaWxhYmxlLCB3ZSBjYW4ndCBkbyBhbnlcbiAgICAgICAgICAgIC8vIHNwZWNpYWwgdHJlYXRtZW50IG9mIGZldGNoLCB0aGVyZWZvcmUgZmFsbGJhY2sgdG8gdGhlIG9yaWdpbmFsXG4gICAgICAgICAgICAvLyBmZXRjaCBpbXBsZW1lbnRhdGlvbi5cbiAgICAgICAgICAgIGlmICghc3RhdGljR2VuZXJhdGlvblN0b3JlIHx8IGlzSW50ZXJuYWwgfHwgc3RhdGljR2VuZXJhdGlvblN0b3JlLmlzRHJhZnRNb2RlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbkZldGNoKGlucHV0LCBpbml0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCByZXZhbGlkYXRlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgZ2V0TmV4dEZpZWxkID0gKGZpZWxkKT0+e1xuICAgICAgICAgICAgICAgIHZhciBfaW5pdF9uZXh0LCBfaW5pdF9uZXh0MSwgX2lucHV0X25leHQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiAoaW5pdCA9PSBudWxsID8gdm9pZCAwIDogKF9pbml0X25leHQgPSBpbml0Lm5leHQpID09IG51bGwgPyB2b2lkIDAgOiBfaW5pdF9uZXh0W2ZpZWxkXSkgIT09IFwidW5kZWZpbmVkXCIgPyBpbml0ID09IG51bGwgPyB2b2lkIDAgOiAoX2luaXRfbmV4dDEgPSBpbml0Lm5leHQpID09IG51bGwgPyB2b2lkIDAgOiBfaW5pdF9uZXh0MVtmaWVsZF0gOiBpc1JlcXVlc3RJbnB1dCA/IChfaW5wdXRfbmV4dCA9IGlucHV0Lm5leHQpID09IG51bGwgPyB2b2lkIDAgOiBfaW5wdXRfbmV4dFtmaWVsZF0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy8gUmVxdWVzdEluaXQgZG9lc24ndCBrZWVwIGV4dHJhIGZpZWxkcyBlLmcuIG5leHQgc28gaXQnc1xuICAgICAgICAgICAgLy8gb25seSBhdmFpbGFibGUgaWYgaW5pdCBpcyB1c2VkIHNlcGFyYXRlXG4gICAgICAgICAgICBsZXQgY3VyUmV2YWxpZGF0ZSA9IGdldE5leHRGaWVsZChcInJldmFsaWRhdGVcIik7XG4gICAgICAgICAgICBjb25zdCB0YWdzID0gdmFsaWRhdGVUYWdzKGdldE5leHRGaWVsZChcInRhZ3NcIikgfHwgW10sIGBmZXRjaCAke2lucHV0LnRvU3RyaW5nKCl9YCk7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0YWdzKSkge1xuICAgICAgICAgICAgICAgIGlmICghc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MpIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MgPSBbXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCB0YWcgb2YgdGFncyl7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MuaW5jbHVkZXModGFnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MucHVzaCh0YWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaW1wbGljaXRUYWdzID0gYWRkSW1wbGljaXRUYWdzKHN0YXRpY0dlbmVyYXRpb25TdG9yZSk7XG4gICAgICAgICAgICBjb25zdCBpc09ubHlDYWNoZSA9IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mZXRjaENhY2hlID09PSBcIm9ubHktY2FjaGVcIjtcbiAgICAgICAgICAgIGNvbnN0IGlzRm9yY2VDYWNoZSA9IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mZXRjaENhY2hlID09PSBcImZvcmNlLWNhY2hlXCI7XG4gICAgICAgICAgICBjb25zdCBpc0RlZmF1bHRDYWNoZSA9IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mZXRjaENhY2hlID09PSBcImRlZmF1bHQtY2FjaGVcIjtcbiAgICAgICAgICAgIGNvbnN0IGlzRGVmYXVsdE5vU3RvcmUgPSBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZmV0Y2hDYWNoZSA9PT0gXCJkZWZhdWx0LW5vLXN0b3JlXCI7XG4gICAgICAgICAgICBjb25zdCBpc09ubHlOb1N0b3JlID0gc3RhdGljR2VuZXJhdGlvblN0b3JlLmZldGNoQ2FjaGUgPT09IFwib25seS1uby1zdG9yZVwiO1xuICAgICAgICAgICAgY29uc3QgaXNGb3JjZU5vU3RvcmUgPSBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZmV0Y2hDYWNoZSA9PT0gXCJmb3JjZS1uby1zdG9yZVwiO1xuICAgICAgICAgICAgY29uc3QgaXNVc2luZ05vU3RvcmUgPSAhIXN0YXRpY0dlbmVyYXRpb25TdG9yZS5pc1Vuc3RhYmxlTm9TdG9yZTtcbiAgICAgICAgICAgIGxldCBfY2FjaGUgPSBnZXRSZXF1ZXN0TWV0YShcImNhY2hlXCIpO1xuICAgICAgICAgICAgbGV0IGNhY2hlUmVhc29uID0gXCJcIjtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgX2NhY2hlID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiBjdXJSZXZhbGlkYXRlICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgLy8gd2hlbiBwcm92aWRpbmcgZmV0Y2ggd2l0aCBhIFJlcXVlc3QgaW5wdXQsIGl0J2xsIGF1dG9tYXRpY2FsbHkgc2V0IGEgY2FjaGUgdmFsdWUgb2YgJ2RlZmF1bHQnXG4gICAgICAgICAgICAgICAgLy8gd2Ugb25seSB3YW50IHRvIHdhcm4gaWYgdGhlIHVzZXIgaXMgZXhwbGljaXRseSBzZXR0aW5nIGEgY2FjaGUgdmFsdWVcbiAgICAgICAgICAgICAgICBpZiAoIShpc1JlcXVlc3RJbnB1dCAmJiBfY2FjaGUgPT09IFwiZGVmYXVsdFwiKSkge1xuICAgICAgICAgICAgICAgICAgICBfbG9nLndhcm4oYGZldGNoIGZvciAke2ZldGNoVXJsfSBvbiAke3N0YXRpY0dlbmVyYXRpb25TdG9yZS51cmxQYXRobmFtZX0gc3BlY2lmaWVkIFwiY2FjaGU6ICR7X2NhY2hlfVwiIGFuZCBcInJldmFsaWRhdGU6ICR7Y3VyUmV2YWxpZGF0ZX1cIiwgb25seSBvbmUgc2hvdWxkIGJlIHNwZWNpZmllZC5gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgX2NhY2hlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKF9jYWNoZSA9PT0gXCJmb3JjZS1jYWNoZVwiKSB7XG4gICAgICAgICAgICAgICAgY3VyUmV2YWxpZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChfY2FjaGUgPT09IFwibm8tY2FjaGVcIiB8fCBfY2FjaGUgPT09IFwibm8tc3RvcmVcIiB8fCBpc0ZvcmNlTm9TdG9yZSB8fCBpc09ubHlOb1N0b3JlKSB7XG4gICAgICAgICAgICAgICAgY3VyUmV2YWxpZGF0ZSA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoX2NhY2hlID09PSBcIm5vLWNhY2hlXCIgfHwgX2NhY2hlID09PSBcIm5vLXN0b3JlXCIpIHtcbiAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbiA9IGBjYWNoZTogJHtfY2FjaGV9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldmFsaWRhdGUgPSB2YWxpZGF0ZVJldmFsaWRhdGUoY3VyUmV2YWxpZGF0ZSwgc3RhdGljR2VuZXJhdGlvblN0b3JlLnVybFBhdGhuYW1lKTtcbiAgICAgICAgICAgIGNvbnN0IF9oZWFkZXJzID0gZ2V0UmVxdWVzdE1ldGEoXCJoZWFkZXJzXCIpO1xuICAgICAgICAgICAgY29uc3QgaW5pdEhlYWRlcnMgPSB0eXBlb2YgKF9oZWFkZXJzID09IG51bGwgPyB2b2lkIDAgOiBfaGVhZGVycy5nZXQpID09PSBcImZ1bmN0aW9uXCIgPyBfaGVhZGVycyA6IG5ldyBIZWFkZXJzKF9oZWFkZXJzIHx8IHt9KTtcbiAgICAgICAgICAgIGNvbnN0IGhhc1VuQ2FjaGVhYmxlSGVhZGVyID0gaW5pdEhlYWRlcnMuZ2V0KFwiYXV0aG9yaXphdGlvblwiKSB8fCBpbml0SGVhZGVycy5nZXQoXCJjb29raWVcIik7XG4gICAgICAgICAgICBjb25zdCBpc1VuQ2FjaGVhYmxlTWV0aG9kID0gIVtcbiAgICAgICAgICAgICAgICBcImdldFwiLFxuICAgICAgICAgICAgICAgIFwiaGVhZFwiXG4gICAgICAgICAgICBdLmluY2x1ZGVzKCgoX2dldFJlcXVlc3RNZXRhID0gZ2V0UmVxdWVzdE1ldGEoXCJtZXRob2RcIikpID09IG51bGwgPyB2b2lkIDAgOiBfZ2V0UmVxdWVzdE1ldGEudG9Mb3dlckNhc2UoKSkgfHwgXCJnZXRcIik7XG4gICAgICAgICAgICAvLyBpZiB0aGVyZSBhcmUgYXV0aG9yaXplZCBoZWFkZXJzIG9yIGEgUE9TVCBtZXRob2QgYW5kXG4gICAgICAgICAgICAvLyBkeW5hbWljIGRhdGEgdXNhZ2Ugd2FzIHByZXNlbnQgYWJvdmUgdGhlIHRyZWUgd2UgYmFpbFxuICAgICAgICAgICAgLy8gZS5nLiBpZiBjb29raWVzKCkgaXMgdXNlZCBiZWZvcmUgYW4gYXV0aGVkL1BPU1QgZmV0Y2hcbiAgICAgICAgICAgIGNvbnN0IGF1dG9Ob0NhY2hlID0gKGhhc1VuQ2FjaGVhYmxlSGVhZGVyIHx8IGlzVW5DYWNoZWFibGVNZXRob2QpICYmIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID09PSAwO1xuICAgICAgICAgICAgaWYgKGlzRm9yY2VOb1N0b3JlKSB7XG4gICAgICAgICAgICAgICAgY2FjaGVSZWFzb24gPSBcImZldGNoQ2FjaGUgPSBmb3JjZS1uby1zdG9yZVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzT25seU5vU3RvcmUpIHtcbiAgICAgICAgICAgICAgICBpZiAoX2NhY2hlID09PSBcImZvcmNlLWNhY2hlXCIgfHwgdHlwZW9mIHJldmFsaWRhdGUgIT09IFwidW5kZWZpbmVkXCIgJiYgKHJldmFsaWRhdGUgPT09IGZhbHNlIHx8IHJldmFsaWRhdGUgPiAwKSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGNhY2hlOiAnZm9yY2UtY2FjaGUnIHVzZWQgb24gZmV0Y2ggZm9yICR7ZmV0Y2hVcmx9IHdpdGggJ2V4cG9ydCBjb25zdCBmZXRjaENhY2hlID0gJ29ubHktbm8tc3RvcmUnYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uID0gXCJmZXRjaENhY2hlID0gb25seS1uby1zdG9yZVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzT25seUNhY2hlICYmIF9jYWNoZSA9PT0gXCJuby1zdG9yZVwiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBjYWNoZTogJ25vLXN0b3JlJyB1c2VkIG9uIGZldGNoIGZvciAke2ZldGNoVXJsfSB3aXRoICdleHBvcnQgY29uc3QgZmV0Y2hDYWNoZSA9ICdvbmx5LWNhY2hlJ2ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzRm9yY2VDYWNoZSAmJiAodHlwZW9mIGN1clJldmFsaWRhdGUgPT09IFwidW5kZWZpbmVkXCIgfHwgY3VyUmV2YWxpZGF0ZSA9PT0gMCkpIHtcbiAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbiA9IFwiZmV0Y2hDYWNoZSA9IGZvcmNlLWNhY2hlXCI7XG4gICAgICAgICAgICAgICAgcmV2YWxpZGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHR5cGVvZiByZXZhbGlkYXRlID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzRGVmYXVsdENhY2hlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldmFsaWRhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVSZWFzb24gPSBcImZldGNoQ2FjaGUgPSBkZWZhdWx0LWNhY2hlXCI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChhdXRvTm9DYWNoZSkge1xuICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlID0gMDtcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVSZWFzb24gPSBcImF1dG8gbm8gY2FjaGVcIjtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzRGVmYXVsdE5vU3RvcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uID0gXCJmZXRjaENhY2hlID0gZGVmYXVsdC1uby1zdG9yZVwiO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNVc2luZ05vU3RvcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uID0gXCJub1N0b3JlIGNhbGxcIjtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbiA9IFwiYXV0byBjYWNoZVwiO1xuICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlID0gdHlwZW9mIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID09PSBcImJvb2xlYW5cIiB8fCB0eXBlb2Ygc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPT09IFwidW5kZWZpbmVkXCIgPyBmYWxzZSA6IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWNhY2hlUmVhc29uKSB7XG4gICAgICAgICAgICAgICAgY2FjaGVSZWFzb24gPSBgcmV2YWxpZGF0ZTogJHtyZXZhbGlkYXRlfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoLy8gd2hlbiBmb3JjZSBzdGF0aWMgaXMgY29uZmlndXJlZCB3ZSBkb24ndCBiYWlsIGZyb21cbiAgICAgICAgICAgIC8vIGByZXZhbGlkYXRlOiAwYCB2YWx1ZXNcbiAgICAgICAgICAgICEoc3RhdGljR2VuZXJhdGlvblN0b3JlLmZvcmNlU3RhdGljICYmIHJldmFsaWRhdGUgPT09IDApICYmIC8vIHdlIGRvbid0IGNvbnNpZGVyIGF1dG9Ob0NhY2hlIHRvIHN3aXRjaCB0byBkeW5hbWljIGR1cmluZ1xuICAgICAgICAgICAgLy8gcmV2YWxpZGF0ZSBhbHRob3VnaCBpZiBpdCBvY2N1cnMgZHVyaW5nIGJ1aWxkIHdlIGRvXG4gICAgICAgICAgICAhYXV0b05vQ2FjaGUgJiYgLy8gSWYgdGhlIHJldmFsaWRhdGUgdmFsdWUgaXNuJ3QgY3VycmVudGx5IHNldCBvciB0aGUgdmFsdWUgaXMgbGVzc1xuICAgICAgICAgICAgLy8gdGhhbiB0aGUgY3VycmVudCByZXZhbGlkYXRlIHZhbHVlLCB3ZSBzaG91bGQgdXBkYXRlIHRoZSByZXZhbGlkYXRlXG4gICAgICAgICAgICAvLyB2YWx1ZS5cbiAgICAgICAgICAgICh0eXBlb2Ygc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPT09IFwidW5kZWZpbmVkXCIgfHwgdHlwZW9mIHJldmFsaWRhdGUgPT09IFwibnVtYmVyXCIgJiYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID09PSBmYWxzZSB8fCB0eXBlb2Ygc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPT09IFwibnVtYmVyXCIgJiYgcmV2YWxpZGF0ZSA8IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlKSkpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB3ZSB3ZXJlIHNldHRpbmcgdGhlIHJldmFsaWRhdGUgdmFsdWUgdG8gMCwgd2Ugc2hvdWxkIHRyeSB0b1xuICAgICAgICAgICAgICAgIC8vIHBvc3Rwb25lIGluc3RlYWQgZmlyc3QuXG4gICAgICAgICAgICAgICAgaWYgKHJldmFsaWRhdGUgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnBvc3Rwb25lID09IG51bGwgPyB2b2lkIDAgOiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucG9zdHBvbmUuY2FsbChzdGF0aWNHZW5lcmF0aW9uU3RvcmUsIFwicmV2YWxpZGF0ZTogMFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPSByZXZhbGlkYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaXNDYWNoZWFibGVSZXZhbGlkYXRlID0gdHlwZW9mIHJldmFsaWRhdGUgPT09IFwibnVtYmVyXCIgJiYgcmV2YWxpZGF0ZSA+IDAgfHwgcmV2YWxpZGF0ZSA9PT0gZmFsc2U7XG4gICAgICAgICAgICBsZXQgY2FjaGVLZXk7XG4gICAgICAgICAgICBpZiAoc3RhdGljR2VuZXJhdGlvblN0b3JlLmluY3JlbWVudGFsQ2FjaGUgJiYgaXNDYWNoZWFibGVSZXZhbGlkYXRlKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVLZXkgPSBhd2FpdCBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaW5jcmVtZW50YWxDYWNoZS5mZXRjaENhY2hlS2V5KGZldGNoVXJsLCBpc1JlcXVlc3RJbnB1dCA/IGlucHV0IDogaW5pdCk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBnZW5lcmF0ZSBjYWNoZSBrZXkgZm9yYCwgaW5wdXQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGZldGNoSWR4ID0gc3RhdGljR2VuZXJhdGlvblN0b3JlLm5leHRGZXRjaElkID8/IDE7XG4gICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUubmV4dEZldGNoSWQgPSBmZXRjaElkeCArIDE7XG4gICAgICAgICAgICBjb25zdCBub3JtYWxpemVkUmV2YWxpZGF0ZSA9IHR5cGVvZiByZXZhbGlkYXRlICE9PSBcIm51bWJlclwiID8gX2NvbnN0YW50czEuQ0FDSEVfT05FX1lFQVIgOiByZXZhbGlkYXRlO1xuICAgICAgICAgICAgY29uc3QgZG9PcmlnaW5hbEZldGNoID0gYXN5bmMgKGlzU3RhbGUsIGNhY2hlUmVhc29uT3ZlcnJpZGUpPT57XG4gICAgICAgICAgICAgICAgY29uc3QgcmVxdWVzdElucHV0RmllbGRzID0gW1xuICAgICAgICAgICAgICAgICAgICBcImNhY2hlXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiY3JlZGVudGlhbHNcIixcbiAgICAgICAgICAgICAgICAgICAgXCJoZWFkZXJzXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiaW50ZWdyaXR5XCIsXG4gICAgICAgICAgICAgICAgICAgIFwia2VlcGFsaXZlXCIsXG4gICAgICAgICAgICAgICAgICAgIFwibWV0aG9kXCIsXG4gICAgICAgICAgICAgICAgICAgIFwibW9kZVwiLFxuICAgICAgICAgICAgICAgICAgICBcInJlZGlyZWN0XCIsXG4gICAgICAgICAgICAgICAgICAgIFwicmVmZXJyZXJcIixcbiAgICAgICAgICAgICAgICAgICAgXCJyZWZlcnJlclBvbGljeVwiLFxuICAgICAgICAgICAgICAgICAgICBcIndpbmRvd1wiLFxuICAgICAgICAgICAgICAgICAgICBcImR1cGxleFwiLFxuICAgICAgICAgICAgICAgICAgICAvLyBkb24ndCBwYXNzIHRocm91Z2ggc2lnbmFsIHdoZW4gcmV2YWxpZGF0aW5nXG4gICAgICAgICAgICAgICAgICAgIC4uLmlzU3RhbGUgPyBbXSA6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwic2lnbmFsXCJcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgaWYgKGlzUmVxdWVzdElucHV0KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcUlucHV0ID0gaW5wdXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib2R5OiByZXFJbnB1dC5fb2dCb2R5IHx8IHJlcUlucHV0LmJvZHlcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiByZXF1ZXN0SW5wdXRGaWVsZHMpe1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBjdXN0b20gZmllbGRzXG4gICAgICAgICAgICAgICAgICAgICAgICByZXFPcHRpb25zW2ZpZWxkXSA9IHJlcUlucHV0W2ZpZWxkXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpbnB1dCA9IG5ldyBSZXF1ZXN0KHJlcUlucHV0LnVybCwgcmVxT3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbml0KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluaXRpYWxJbml0ID0gaW5pdDtcbiAgICAgICAgICAgICAgICAgICAgaW5pdCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IGluaXQuX29nQm9keSB8fCBpbml0LmJvZHlcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiByZXF1ZXN0SW5wdXRGaWVsZHMpe1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBjdXN0b20gZmllbGRzXG4gICAgICAgICAgICAgICAgICAgICAgICBpbml0W2ZpZWxkXSA9IGluaXRpYWxJbml0W2ZpZWxkXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBhZGQgbWV0YWRhdGEgdG8gaW5pdCB3aXRob3V0IGVkaXRpbmcgdGhlIG9yaWdpbmFsXG4gICAgICAgICAgICAgICAgY29uc3QgY2xvbmVkSW5pdCA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uaW5pdCxcbiAgICAgICAgICAgICAgICAgICAgbmV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uaW5pdCA9PSBudWxsID8gdm9pZCAwIDogaW5pdC5uZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hUeXBlOiBcIm9yaWdpblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hJZHhcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbkZldGNoKGlucHV0LCBjbG9uZWRJbml0KS50aGVuKGFzeW5jIChyZXMpPT57XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNTdGFsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tGZXRjaE1ldHJpYyhzdGF0aWNHZW5lcmF0aW9uU3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDogZmV0Y2hTdGFydCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGZldGNoVXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uOiBjYWNoZVJlYXNvbk92ZXJyaWRlIHx8IGNhY2hlUmVhc29uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlU3RhdHVzOiByZXZhbGlkYXRlID09PSAwIHx8IGNhY2hlUmVhc29uT3ZlcnJpZGUgPyBcInNraXBcIiA6IFwibWlzc1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogcmVzLnN0YXR1cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6IGNsb25lZEluaXQubWV0aG9kIHx8IFwiR0VUXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXMuc3RhdHVzID09PSAyMDAgJiYgc3RhdGljR2VuZXJhdGlvblN0b3JlLmluY3JlbWVudGFsQ2FjaGUgJiYgY2FjaGVLZXkgJiYgaXNDYWNoZWFibGVSZXZhbGlkYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib2R5QnVmZmVyID0gQnVmZmVyLmZyb20oYXdhaXQgcmVzLmFycmF5QnVmZmVyKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaW5jcmVtZW50YWxDYWNoZS5zZXQoY2FjaGVLZXksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogXCJGRVRDSFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiBPYmplY3QuZnJvbUVudHJpZXMocmVzLmhlYWRlcnMuZW50cmllcygpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IGJvZHlCdWZmZXIudG9TdHJpbmcoXCJiYXNlNjRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IHJlcy5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHJlcy51cmxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZTogbm9ybWFsaXplZFJldmFsaWRhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoQ2FjaGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldmFsaWRhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoVXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaElkeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBGYWlsZWQgdG8gc2V0IGZldGNoIGNhY2hlYCwgaW5wdXQsIGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IG5ldyBSZXNwb25zZShib2R5QnVmZmVyLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogbmV3IEhlYWRlcnMocmVzLmhlYWRlcnMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogcmVzLnN0YXR1c1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzcG9uc2UsIFwidXJsXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLnVybFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBsZXQgaGFuZGxlVW5sb2NrID0gKCk9PlByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICAgICAgbGV0IGNhY2hlUmVhc29uT3ZlcnJpZGU7XG4gICAgICAgICAgICBpZiAoY2FjaGVLZXkgJiYgc3RhdGljR2VuZXJhdGlvblN0b3JlLmluY3JlbWVudGFsQ2FjaGUpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVVbmxvY2sgPSBhd2FpdCBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaW5jcmVtZW50YWxDYWNoZS5sb2NrKGNhY2hlS2V5KTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbnRyeSA9IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5pc09uRGVtYW5kUmV2YWxpZGF0ZSA/IG51bGwgOiBhd2FpdCBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaW5jcmVtZW50YWxDYWNoZS5nZXQoY2FjaGVLZXksIHtcbiAgICAgICAgICAgICAgICAgICAga2luZEhpbnQ6IFwiZmV0Y2hcIixcbiAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgZmV0Y2hVcmwsXG4gICAgICAgICAgICAgICAgICAgIGZldGNoSWR4LFxuICAgICAgICAgICAgICAgICAgICB0YWdzLFxuICAgICAgICAgICAgICAgICAgICBzb2Z0VGFnczogaW1wbGljaXRUYWdzXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKGVudHJ5KSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGhhbmRsZVVubG9jaygpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGluIGRldiwgaW5jcmVtZW50YWwgY2FjaGUgcmVzcG9uc2Ugd2lsbCBiZSBudWxsIGluIGNhc2UgdGhlIGJyb3dzZXIgYWRkcyBgY2FjaGUtY29udHJvbDogbm8tY2FjaGVgIGluIHRoZSByZXF1ZXN0IGhlYWRlcnNcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVSZWFzb25PdmVycmlkZSA9IFwiY2FjaGUtY29udHJvbDogbm8tY2FjaGUgKGhhcmQgcmVmcmVzaClcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChlbnRyeSA9PSBudWxsID8gdm9pZCAwIDogZW50cnkudmFsdWUpICYmIGVudHJ5LnZhbHVlLmtpbmQgPT09IFwiRkVUQ0hcIikge1xuICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHN0YWxlIGFuZCBpcyByZXZhbGlkYXRpbmcgd2Ugd2FpdCBmb3IgZnJlc2ggZGF0YVxuICAgICAgICAgICAgICAgICAgICAvLyBzbyB0aGUgcmV2YWxpZGF0ZWQgZW50cnkgaGFzIHRoZSB1cGRhdGVkIGRhdGFcbiAgICAgICAgICAgICAgICAgICAgaWYgKCEoc3RhdGljR2VuZXJhdGlvblN0b3JlLmlzUmV2YWxpZGF0ZSAmJiBlbnRyeS5pc1N0YWxlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVudHJ5LmlzU3RhbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucGVuZGluZ1JldmFsaWRhdGVzID8/PSB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN0YXRpY0dlbmVyYXRpb25TdG9yZS5wZW5kaW5nUmV2YWxpZGF0ZXNbY2FjaGVLZXldKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wZW5kaW5nUmV2YWxpZGF0ZXNbY2FjaGVLZXldID0gZG9PcmlnaW5hbEZldGNoKHRydWUpLmNhdGNoKGNvbnNvbGUuZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc0RhdGEgPSBlbnRyeS52YWx1ZS5kYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tGZXRjaE1ldHJpYyhzdGF0aWNHZW5lcmF0aW9uU3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDogZmV0Y2hTdGFydCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGZldGNoVXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlU3RhdHVzOiBcImhpdFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogcmVzRGF0YS5zdGF0dXMgfHwgMjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogKGluaXQgPT0gbnVsbCA/IHZvaWQgMCA6IGluaXQubWV0aG9kKSB8fCBcIkdFVFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKEJ1ZmZlci5mcm9tKHJlc0RhdGEuYm9keSwgXCJiYXNlNjRcIiksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiByZXNEYXRhLmhlYWRlcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiByZXNEYXRhLnN0YXR1c1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocmVzcG9uc2UsIFwidXJsXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZW50cnkudmFsdWUuZGF0YS51cmxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5pc1N0YXRpY0dlbmVyYXRpb24gJiYgaW5pdCAmJiB0eXBlb2YgaW5pdCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgY2FjaGUgfSA9IGluaXQ7XG4gICAgICAgICAgICAgICAgLy8gRGVsZXRlIGBjYWNoZWAgcHJvcGVydHkgYXMgQ2xvdWRmbGFyZSBXb3JrZXJzIHdpbGwgdGhyb3cgYW4gZXJyb3JcbiAgICAgICAgICAgICAgICBpZiAoaXNFZGdlUnVudGltZSkgZGVsZXRlIGluaXQuY2FjaGU7XG4gICAgICAgICAgICAgICAgaWYgKCFzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZm9yY2VTdGF0aWMgJiYgY2FjaGUgPT09IFwibm8tc3RvcmVcIikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkeW5hbWljVXNhZ2VSZWFzb24gPSBgbm8tc3RvcmUgZmV0Y2ggJHtpbnB1dH0ke3N0YXRpY0dlbmVyYXRpb25TdG9yZS51cmxQYXRobmFtZSA/IGAgJHtzdGF0aWNHZW5lcmF0aW9uU3RvcmUudXJsUGF0aG5hbWV9YCA6IFwiXCJ9YDtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgZW5hYmxlZCwgd2Ugc2hvdWxkIGJhaWwgb3V0IG9mIHN0YXRpYyBnZW5lcmF0aW9uLlxuICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucG9zdHBvbmUgPT0gbnVsbCA/IHZvaWQgMCA6IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wb3N0cG9uZS5jYWxsKHN0YXRpY0dlbmVyYXRpb25TdG9yZSwgZHluYW1pY1VzYWdlUmVhc29uKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gUFBSIGlzIG5vdCBlbmFibGVkLCBvciBSZWFjdCBwb3N0cG9uZSBpcyBub3QgYXZhaWxhYmxlLCB3ZVxuICAgICAgICAgICAgICAgICAgICAvLyBzaG91bGQgc2V0IHRoZSByZXZhbGlkYXRlIHRvIDAuXG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID0gMDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyID0gbmV3IER5bmFtaWNTZXJ2ZXJFcnJvcihkeW5hbWljVXNhZ2VSZWFzb24pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZHluYW1pY1VzYWdlRXJyID0gZXJyO1xuICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZHluYW1pY1VzYWdlRGVzY3JpcHRpb24gPSBkeW5hbWljVXNhZ2VSZWFzb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc05leHRDb25maWcgPSBcIm5leHRcIiBpbiBpbml0O1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgbmV4dCA9IHt9IH0gPSBpbml0O1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgbmV4dC5yZXZhbGlkYXRlID09PSBcIm51bWJlclwiICYmICh0eXBlb2Ygc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPT09IFwidW5kZWZpbmVkXCIgfHwgdHlwZW9mIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID09PSBcIm51bWJlclwiICYmIG5leHQucmV2YWxpZGF0ZSA8IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXN0YXRpY0dlbmVyYXRpb25TdG9yZS5mb3JjZUR5bmFtaWMgJiYgIXN0YXRpY0dlbmVyYXRpb25TdG9yZS5mb3JjZVN0YXRpYyAmJiBuZXh0LnJldmFsaWRhdGUgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGR5bmFtaWNVc2FnZVJlYXNvbiA9IGByZXZhbGlkYXRlOiAwIGZldGNoICR7aW5wdXR9JHtzdGF0aWNHZW5lcmF0aW9uU3RvcmUudXJsUGF0aG5hbWUgPyBgICR7c3RhdGljR2VuZXJhdGlvblN0b3JlLnVybFBhdGhuYW1lfWAgOiBcIlwifWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiBlbmFibGVkLCB3ZSBzaG91bGQgYmFpbCBvdXQgb2Ygc3RhdGljIGdlbmVyYXRpb24uXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucG9zdHBvbmUgPT0gbnVsbCA/IHZvaWQgMCA6IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wb3N0cG9uZS5jYWxsKHN0YXRpY0dlbmVyYXRpb25TdG9yZSwgZHluYW1pY1VzYWdlUmVhc29uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVyciA9IG5ldyBEeW5hbWljU2VydmVyRXJyb3IoZHluYW1pY1VzYWdlUmVhc29uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5keW5hbWljVXNhZ2VFcnIgPSBlcnI7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZHluYW1pY1VzYWdlRGVzY3JpcHRpb24gPSBkeW5hbWljVXNhZ2VSZWFzb247XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZm9yY2VTdGF0aWMgfHwgbmV4dC5yZXZhbGlkYXRlICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSA9IG5leHQucmV2YWxpZGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaGFzTmV4dENvbmZpZykgZGVsZXRlIGluaXQubmV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBkb09yaWdpbmFsRmV0Y2goZmFsc2UsIGNhY2hlUmVhc29uT3ZlcnJpZGUpLmZpbmFsbHkoaGFuZGxlVW5sb2NrKTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBnbG9iYWxUaGlzLmZldGNoLl9fbmV4dEdldFN0YXRpY1N0b3JlID0gKCk9PntcbiAgICAgICAgcmV0dXJuIHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2U7XG4gICAgfTtcbiAgICBnbG9iYWxUaGlzLmZldGNoLl9fbmV4dFBhdGNoZWQgPSB0cnVlO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXRjaC1mZXRjaC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJ2YWxpZGF0ZVJldmFsaWRhdGUiLCJ2YWxpZGF0ZVRhZ3MiLCJhZGRJbXBsaWNpdFRhZ3MiLCJwYXRjaEZldGNoIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2NvbnN0YW50cyIsInJlcXVpcmUiLCJfdHJhY2VyIiwiX2NvbnN0YW50czEiLCJfbG9nIiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiaXNFZGdlUnVudGltZSIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1JVTlRJTUUiLCJyZXZhbGlkYXRlVmFsIiwicGF0aG5hbWUiLCJub3JtYWxpemVkUmV2YWxpZGF0ZSIsInVuZGVmaW5lZCIsImlzTmFOIiwiRXJyb3IiLCJlcnIiLCJtZXNzYWdlIiwiaW5jbHVkZXMiLCJ0YWdzIiwiZGVzY3JpcHRpb24iLCJ2YWxpZFRhZ3MiLCJpbnZhbGlkVGFncyIsInRhZyIsInB1c2giLCJyZWFzb24iLCJsZW5ndGgiLCJORVhUX0NBQ0hFX1RBR19NQVhfTEVOR1RIIiwiY29uc29sZSIsIndhcm4iLCJsb2ciLCJnZXREZXJpdmVkVGFncyIsImRlcml2ZWRUYWdzIiwic3RhcnRzV2l0aCIsInBhdGhuYW1lUGFydHMiLCJzcGxpdCIsImkiLCJjdXJQYXRobmFtZSIsInNsaWNlIiwiam9pbiIsImVuZHNXaXRoIiwic3RhdGljR2VuZXJhdGlvblN0b3JlIiwibmV3VGFncyIsInBhZ2VQYXRoIiwidXJsUGF0aG5hbWUiLCJBcnJheSIsImlzQXJyYXkiLCJfc3RhdGljR2VuZXJhdGlvblN0b3JlX3RhZ3MiLCJORVhUX0NBQ0hFX0lNUExJQ0lUX1RBR19JRCIsIl9zdGF0aWNHZW5lcmF0aW9uU3RvcmVfdGFnczEiLCJwYXJzZWRQYXRobmFtZSIsIlVSTCIsInRyYWNrRmV0Y2hNZXRyaWMiLCJjdHgiLCJmZXRjaE1ldHJpY3MiLCJkZWR1cGVGaWVsZHMiLCJzb21lIiwibWV0cmljIiwiZXZlcnkiLCJmaWVsZCIsInVybCIsImNhY2hlU3RhdHVzIiwiY2FjaGVSZWFzb24iLCJzdGF0dXMiLCJtZXRob2QiLCJzdGFydCIsImVuZCIsIkRhdGUiLCJub3ciLCJpZHgiLCJuZXh0RmV0Y2hJZCIsInNlcnZlckhvb2tzIiwic3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSIsImdsb2JhbFRoaXMiLCJfbmV4dE9yaWdpbmFsRmV0Y2giLCJmZXRjaCIsIl9fbmV4dFBhdGNoZWQiLCJEeW5hbWljU2VydmVyRXJyb3IiLCJvcmlnaW5GZXRjaCIsImlucHV0IiwiaW5pdCIsIl9pbml0X21ldGhvZCIsIl90aGlzIiwiUmVxdWVzdCIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJmZXRjaFVybCIsImhyZWYiLCJmZXRjaFN0YXJ0IiwidG9VcHBlckNhc2UiLCJpc0ludGVybmFsIiwibmV4dCIsImludGVybmFsIiwiaGlkZVNwYW4iLCJORVhUX09URUxfRkVUQ0hfRElTQUJMRUQiLCJnZXRUcmFjZXIiLCJ0cmFjZSIsIk5leHROb2RlU2VydmVyU3BhbiIsImludGVybmFsRmV0Y2giLCJBcHBSZW5kZXJTcGFuIiwia2luZCIsIlNwYW5LaW5kIiwiQ0xJRU5UIiwic3Bhbk5hbWUiLCJmaWx0ZXIiLCJCb29sZWFuIiwiYXR0cmlidXRlcyIsImhvc3RuYW1lIiwicG9ydCIsIl9nZXRSZXF1ZXN0TWV0YSIsImdldFN0b3JlIiwiX19uZXh0R2V0U3RhdGljU3RvcmUiLCJpc1JlcXVlc3RJbnB1dCIsImdldFJlcXVlc3RNZXRhIiwiaXNEcmFmdE1vZGUiLCJyZXZhbGlkYXRlIiwiZ2V0TmV4dEZpZWxkIiwiX2luaXRfbmV4dCIsIl9pbml0X25leHQxIiwiX2lucHV0X25leHQiLCJjdXJSZXZhbGlkYXRlIiwidG9TdHJpbmciLCJpbXBsaWNpdFRhZ3MiLCJpc09ubHlDYWNoZSIsImZldGNoQ2FjaGUiLCJpc0ZvcmNlQ2FjaGUiLCJpc0RlZmF1bHRDYWNoZSIsImlzRGVmYXVsdE5vU3RvcmUiLCJpc09ubHlOb1N0b3JlIiwiaXNGb3JjZU5vU3RvcmUiLCJpc1VzaW5nTm9TdG9yZSIsImlzVW5zdGFibGVOb1N0b3JlIiwiX2NhY2hlIiwiX2hlYWRlcnMiLCJpbml0SGVhZGVycyIsIkhlYWRlcnMiLCJoYXNVbkNhY2hlYWJsZUhlYWRlciIsImlzVW5DYWNoZWFibGVNZXRob2QiLCJ0b0xvd2VyQ2FzZSIsImF1dG9Ob0NhY2hlIiwiZm9yY2VTdGF0aWMiLCJwb3N0cG9uZSIsImlzQ2FjaGVhYmxlUmV2YWxpZGF0ZSIsImNhY2hlS2V5IiwiaW5jcmVtZW50YWxDYWNoZSIsImZldGNoQ2FjaGVLZXkiLCJlcnJvciIsImZldGNoSWR4IiwiQ0FDSEVfT05FX1lFQVIiLCJkb09yaWdpbmFsRmV0Y2giLCJpc1N0YWxlIiwiY2FjaGVSZWFzb25PdmVycmlkZSIsInJlcXVlc3RJbnB1dEZpZWxkcyIsInJlcUlucHV0IiwicmVxT3B0aW9ucyIsImJvZHkiLCJfb2dCb2R5IiwiaW5pdGlhbEluaXQiLCJjbG9uZWRJbml0IiwiZmV0Y2hUeXBlIiwidGhlbiIsInJlcyIsImJvZHlCdWZmZXIiLCJCdWZmZXIiLCJmcm9tIiwiYXJyYXlCdWZmZXIiLCJkYXRhIiwiaGVhZGVycyIsImZyb21FbnRyaWVzIiwiZW50cmllcyIsInJlc3BvbnNlIiwiUmVzcG9uc2UiLCJoYW5kbGVVbmxvY2siLCJQcm9taXNlIiwicmVzb2x2ZSIsImxvY2siLCJlbnRyeSIsImlzT25EZW1hbmRSZXZhbGlkYXRlIiwia2luZEhpbnQiLCJzb2Z0VGFncyIsImlzUmV2YWxpZGF0ZSIsInBlbmRpbmdSZXZhbGlkYXRlcyIsImNhdGNoIiwicmVzRGF0YSIsImlzU3RhdGljR2VuZXJhdGlvbiIsImR5bmFtaWNVc2FnZVJlYXNvbiIsImR5bmFtaWNVc2FnZUVyciIsImR5bmFtaWNVc2FnZURlc2NyaXB0aW9uIiwiaGFzTmV4dENvbmZpZyIsImZvcmNlRHluYW1pYyIsImZpbmFsbHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/lib/patch-fetch.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/lib/trace/constants.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/server/lib/trace/constants.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Contains predefined constants for the trace span name in next/server.\n *\n * Currently, next/server/tracer is internal implementation only for tracking\n * next.js's implementation only with known span names defined here.\n **/ // eslint typescript has a bug with TS enums\n/* eslint-disable no-shadow */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n NextVanillaSpanAllowlist: function() {\n return NextVanillaSpanAllowlist;\n },\n BaseServerSpan: function() {\n return BaseServerSpan;\n },\n LoadComponentsSpan: function() {\n return LoadComponentsSpan;\n },\n NextServerSpan: function() {\n return NextServerSpan;\n },\n NextNodeServerSpan: function() {\n return NextNodeServerSpan;\n },\n StartServerSpan: function() {\n return StartServerSpan;\n },\n RenderSpan: function() {\n return RenderSpan;\n },\n RouterSpan: function() {\n return RouterSpan;\n },\n AppRenderSpan: function() {\n return AppRenderSpan;\n },\n NodeSpan: function() {\n return NodeSpan;\n },\n AppRouteRouteHandlersSpan: function() {\n return AppRouteRouteHandlersSpan;\n },\n ResolveMetadataSpan: function() {\n return ResolveMetadataSpan;\n }\n});\nvar BaseServerSpan;\n(function(BaseServerSpan) {\n BaseServerSpan[\"handleRequest\"] = \"BaseServer.handleRequest\";\n BaseServerSpan[\"run\"] = \"BaseServer.run\";\n BaseServerSpan[\"pipe\"] = \"BaseServer.pipe\";\n BaseServerSpan[\"getStaticHTML\"] = \"BaseServer.getStaticHTML\";\n BaseServerSpan[\"render\"] = \"BaseServer.render\";\n BaseServerSpan[\"renderToResponseWithComponents\"] = \"BaseServer.renderToResponseWithComponents\";\n BaseServerSpan[\"renderToResponse\"] = \"BaseServer.renderToResponse\";\n BaseServerSpan[\"renderToHTML\"] = \"BaseServer.renderToHTML\";\n BaseServerSpan[\"renderError\"] = \"BaseServer.renderError\";\n BaseServerSpan[\"renderErrorToResponse\"] = \"BaseServer.renderErrorToResponse\";\n BaseServerSpan[\"renderErrorToHTML\"] = \"BaseServer.renderErrorToHTML\";\n BaseServerSpan[\"render404\"] = \"BaseServer.render404\";\n})(BaseServerSpan || (BaseServerSpan = {}));\nvar LoadComponentsSpan;\n(function(LoadComponentsSpan) {\n LoadComponentsSpan[\"loadDefaultErrorComponents\"] = \"LoadComponents.loadDefaultErrorComponents\";\n LoadComponentsSpan[\"loadComponents\"] = \"LoadComponents.loadComponents\";\n})(LoadComponentsSpan || (LoadComponentsSpan = {}));\nvar NextServerSpan;\n(function(NextServerSpan) {\n NextServerSpan[\"getRequestHandler\"] = \"NextServer.getRequestHandler\";\n NextServerSpan[\"getServer\"] = \"NextServer.getServer\";\n NextServerSpan[\"getServerRequestHandler\"] = \"NextServer.getServerRequestHandler\";\n NextServerSpan[\"createServer\"] = \"createServer.createServer\";\n})(NextServerSpan || (NextServerSpan = {}));\nvar NextNodeServerSpan;\n(function(NextNodeServerSpan) {\n NextNodeServerSpan[\"compression\"] = \"NextNodeServer.compression\";\n NextNodeServerSpan[\"getBuildId\"] = \"NextNodeServer.getBuildId\";\n NextNodeServerSpan[\"getLayoutOrPageModule\"] = \"NextNodeServer.getLayoutOrPageModule\";\n NextNodeServerSpan[\"generateStaticRoutes\"] = \"NextNodeServer.generateStaticRoutes\";\n NextNodeServerSpan[\"generateFsStaticRoutes\"] = \"NextNodeServer.generateFsStaticRoutes\";\n NextNodeServerSpan[\"generatePublicRoutes\"] = \"NextNodeServer.generatePublicRoutes\";\n NextNodeServerSpan[\"generateImageRoutes\"] = \"NextNodeServer.generateImageRoutes.route\";\n NextNodeServerSpan[\"sendRenderResult\"] = \"NextNodeServer.sendRenderResult\";\n NextNodeServerSpan[\"proxyRequest\"] = \"NextNodeServer.proxyRequest\";\n NextNodeServerSpan[\"runApi\"] = \"NextNodeServer.runApi\";\n NextNodeServerSpan[\"render\"] = \"NextNodeServer.render\";\n NextNodeServerSpan[\"renderHTML\"] = \"NextNodeServer.renderHTML\";\n NextNodeServerSpan[\"imageOptimizer\"] = \"NextNodeServer.imageOptimizer\";\n NextNodeServerSpan[\"getPagePath\"] = \"NextNodeServer.getPagePath\";\n NextNodeServerSpan[\"getRoutesManifest\"] = \"NextNodeServer.getRoutesManifest\";\n NextNodeServerSpan[\"findPageComponents\"] = \"NextNodeServer.findPageComponents\";\n NextNodeServerSpan[\"getFontManifest\"] = \"NextNodeServer.getFontManifest\";\n NextNodeServerSpan[\"getServerComponentManifest\"] = \"NextNodeServer.getServerComponentManifest\";\n NextNodeServerSpan[\"getRequestHandler\"] = \"NextNodeServer.getRequestHandler\";\n NextNodeServerSpan[\"renderToHTML\"] = \"NextNodeServer.renderToHTML\";\n NextNodeServerSpan[\"renderError\"] = \"NextNodeServer.renderError\";\n NextNodeServerSpan[\"renderErrorToHTML\"] = \"NextNodeServer.renderErrorToHTML\";\n NextNodeServerSpan[\"render404\"] = \"NextNodeServer.render404\";\n NextNodeServerSpan[\"route\"] = \"route\";\n NextNodeServerSpan[\"onProxyReq\"] = \"onProxyReq\";\n NextNodeServerSpan[\"apiResolver\"] = \"apiResolver\";\n NextNodeServerSpan[\"internalFetch\"] = \"internalFetch\";\n})(NextNodeServerSpan || (NextNodeServerSpan = {}));\nvar StartServerSpan;\n(function(StartServerSpan) {\n StartServerSpan[\"startServer\"] = \"startServer.startServer\";\n})(StartServerSpan || (StartServerSpan = {}));\nvar RenderSpan;\n(function(RenderSpan) {\n RenderSpan[\"getServerSideProps\"] = \"Render.getServerSideProps\";\n RenderSpan[\"getStaticProps\"] = \"Render.getStaticProps\";\n RenderSpan[\"renderToString\"] = \"Render.renderToString\";\n RenderSpan[\"renderDocument\"] = \"Render.renderDocument\";\n RenderSpan[\"createBodyResult\"] = \"Render.createBodyResult\";\n})(RenderSpan || (RenderSpan = {}));\nvar AppRenderSpan;\n(function(AppRenderSpan) {\n AppRenderSpan[\"renderToString\"] = \"AppRender.renderToString\";\n AppRenderSpan[\"renderToReadableStream\"] = \"AppRender.renderToReadableStream\";\n AppRenderSpan[\"getBodyResult\"] = \"AppRender.getBodyResult\";\n AppRenderSpan[\"fetch\"] = \"AppRender.fetch\";\n})(AppRenderSpan || (AppRenderSpan = {}));\nvar RouterSpan;\n(function(RouterSpan) {\n RouterSpan[\"executeRoute\"] = \"Router.executeRoute\";\n})(RouterSpan || (RouterSpan = {}));\nvar NodeSpan;\n(function(NodeSpan) {\n NodeSpan[\"runHandler\"] = \"Node.runHandler\";\n})(NodeSpan || (NodeSpan = {}));\nvar AppRouteRouteHandlersSpan;\n(function(AppRouteRouteHandlersSpan) {\n AppRouteRouteHandlersSpan[\"runHandler\"] = \"AppRouteRouteHandlers.runHandler\";\n})(AppRouteRouteHandlersSpan || (AppRouteRouteHandlersSpan = {}));\nvar ResolveMetadataSpan;\n(function(ResolveMetadataSpan) {\n ResolveMetadataSpan[\"generateMetadata\"] = \"ResolveMetadata.generateMetadata\";\n ResolveMetadataSpan[\"generateViewport\"] = \"ResolveMetadata.generateViewport\";\n})(ResolveMetadataSpan || (ResolveMetadataSpan = {}));\nconst NextVanillaSpanAllowlist = [\n \"BaseServer.handleRequest\",\n \"Render.getServerSideProps\",\n \"Render.getStaticProps\",\n \"AppRender.fetch\",\n \"AppRender.getBodyResult\",\n \"Render.renderDocument\",\n \"Node.runHandler\",\n \"AppRouteRouteHandlers.runHandler\",\n \"ResolveMetadata.generateMetadata\",\n \"ResolveMetadata.generateViewport\",\n \"NextNodeServer.findPageComponents\",\n \"NextNodeServer.getLayoutOrPageModule\"\n]; //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2xpYi90cmFjZS9jb25zdGFudHMuanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0VBS0UsR0FBRyw0Q0FBNEM7QUFDakQsNEJBQTRCLEdBQWdCO0FBQzVDQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQWFOO0FBQ0EsU0FBU2EsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSW5CLE9BQU9DLGNBQWMsQ0FBQ2lCLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUWYsU0FBUztJQUNiRywwQkFBMEI7UUFDdEIsT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtJQUNBQyxZQUFZO1FBQ1IsT0FBT0E7SUFDWDtJQUNBQyxZQUFZO1FBQ1IsT0FBT0E7SUFDWDtJQUNBQyxlQUFlO1FBQ1gsT0FBT0E7SUFDWDtJQUNBQyxVQUFVO1FBQ04sT0FBT0E7SUFDWDtJQUNBQywyQkFBMkI7UUFDdkIsT0FBT0E7SUFDWDtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsSUFBSVY7QUFDSCxVQUFTQSxjQUFjO0lBQ3BCQSxjQUFjLENBQUMsZ0JBQWdCLEdBQUc7SUFDbENBLGNBQWMsQ0FBQyxNQUFNLEdBQUc7SUFDeEJBLGNBQWMsQ0FBQyxPQUFPLEdBQUc7SUFDekJBLGNBQWMsQ0FBQyxnQkFBZ0IsR0FBRztJQUNsQ0EsY0FBYyxDQUFDLFNBQVMsR0FBRztJQUMzQkEsY0FB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QzFDQSxhQUFhLENBQUMsZ0JBQWdCLEdBQUc7SUFDakNBLGFBQWEsQ0FBQyxRQUFRLEdBQUc7QUFDN0IsR0FBR0EsaUJBQWtCQSxDQUFBQSxnQkFBZ0IsQ0FBQztBQUN0QyxJQUFJRDtBQUNILFVBQVNBLFVBQVU7SUFDaEJBLFVBQVUsQ0FBQyxlQUFlLEdBQUc7QUFDakMsR0FBR0EsY0FBZUEsQ0FBQUEsYUFBYSxDQUFDO0FBQ2hDLElBQUlFO0FBQ0gsVUFBU0EsUUFBUTtJQUNkQSxRQUFRLENBQUMsYUFBYSxHQUFHO0FBQzdCLEdBQUdBLFlBQWFBLENBQUFBLFdBQVcsQ0FBQztBQUM1QixJQUFJQztBQUNILFVBQVNBLHlCQUF5QjtJQUMvQkEseUJBQXlCLENBQUMsYUFBYSxHQUFHO0FBQzlDLEdBQUdBLDZCQUE4QkEsQ0FBQUEsNEJBQTRCLENBQUM7QUFDOUQsSUFBSUM7QUFDSCxVQUFTQSxtQkFBbUI7SUFDekJBLG1CQUFtQixDQUFDLG1CQUFtQixHQUFHO0lBQzFDQSxtQkFBbUIsQ0FBQyxtQkFBbUIsR0FBRztBQUM5QyxHQUFHQSx1QkFBd0JBLENBQUFBLHNCQUFzQixDQUFDO0FBQ2xELE1BQU1YLDJCQUEyQjtJQUM3QjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDSCxFQUVELHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2xpYi90cmFjZS9jb25zdGFudHMuanM/ZjgyNSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnRhaW5zIHByZWRlZmluZWQgY29uc3RhbnRzIGZvciB0aGUgdHJhY2Ugc3BhbiBuYW1lIGluIG5leHQvc2VydmVyLlxuICpcbiAqIEN1cnJlbnRseSwgbmV4dC9zZXJ2ZXIvdHJhY2VyIGlzIGludGVybmFsIGltcGxlbWVudGF0aW9uIG9ubHkgZm9yIHRyYWNraW5nXG4gKiBuZXh0LmpzJ3MgaW1wbGVtZW50YXRpb24gb25seSB3aXRoIGtub3duIHNwYW4gbmFtZXMgZGVmaW5lZCBoZXJlLlxuICoqLyAvLyBlc2xpbnQgdHlwZXNjcmlwdCBoYXMgYSBidWcgd2l0aCBUUyBlbnVtc1xuLyogZXNsaW50LWRpc2FibGUgbm8tc2hhZG93ICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgTmV4dFZhbmlsbGFTcGFuQWxsb3dsaXN0OiBudWxsLFxuICAgIEJhc2VTZXJ2ZXJTcGFuOiBudWxsLFxuICAgIExvYWRDb21wb25lbnRzU3BhbjogbnVsbCxcbiAgICBOZXh0U2VydmVyU3BhbjogbnVsbCxcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW46IG51bGwsXG4gICAgU3RhcnRTZXJ2ZXJTcGFuOiBudWxsLFxuICAgIFJlbmRlclNwYW46IG51bGwsXG4gICAgUm91dGVyU3BhbjogbnVsbCxcbiAgICBBcHBSZW5kZXJTcGFuOiBudWxsLFxuICAgIE5vZGVTcGFuOiBudWxsLFxuICAgIEFwcFJvdXRlUm91dGVIYW5kbGVyc1NwYW46IG51bGwsXG4gICAgUmVzb2x2ZU1ldGFkYXRhU3BhbjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBOZXh0VmFuaWxsYVNwYW5BbGxvd2xpc3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTmV4dFZhbmlsbGFTcGFuQWxsb3dsaXN0O1xuICAgIH0sXG4gICAgQmFzZVNlcnZlclNwYW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQmFzZVNlcnZlclNwYW47XG4gICAgfSxcbiAgICBMb2FkQ29tcG9uZW50c1NwYW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTG9hZENvbXBvbmVudHNTcGFuO1xuICAgIH0sXG4gICAgTmV4dFNlcnZlclNwYW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTmV4dFNlcnZlclNwYW47XG4gICAgfSxcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTmV4dE5vZGVTZXJ2ZXJTcGFuO1xuICAgIH0sXG4gICAgU3RhcnRTZXJ2ZXJTcGFuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFN0YXJ0U2VydmVyU3BhbjtcbiAgICB9LFxuICAgIFJlbmRlclNwYW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVuZGVyU3BhbjtcbiAgICB9LFxuICAgIFJvdXRlclNwYW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUm91dGVyU3BhbjtcbiAgICB9LFxuICAgIEFwcFJlbmRlclNwYW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQXBwUmVuZGVyU3BhbjtcbiAgICB9LFxuICAgIE5vZGVTcGFuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5vZGVTcGFuO1xuICAgIH0sXG4gICAgQXBwUm91dGVSb3V0ZUhhbmRsZXJzU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBcHBSb3V0ZVJvdXRlSGFuZGxlcnNTcGFuO1xuICAgIH0sXG4gICAgUmVzb2x2ZU1ldGFkYXRhU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSZXNvbHZlTWV0YWRhdGFTcGFuO1xuICAgIH1cbn0pO1xudmFyIEJhc2VTZXJ2ZXJTcGFuO1xuKGZ1bmN0aW9uKEJhc2VTZXJ2ZXJTcGFuKSB7XG4gICAgQmFzZVNlcnZlclNwYW5bXCJoYW5kbGVSZXF1ZXN0XCJdID0gXCJCYXNlU2VydmVyLmhhbmRsZVJlcXVlc3RcIjtcbiAgICBCYXNlU2VydmVyU3BhbltcInJ1blwiXSA9IFwiQmFzZVNlcnZlci5ydW5cIjtcbiAgICBCYXNlU2VydmVyU3BhbltcInBpcGVcIl0gPSBcIkJhc2VTZXJ2ZXIucGlwZVwiO1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wiZ2V0U3RhdGljSFRNTFwiXSA9IFwiQmFzZVNlcnZlci5nZXRTdGF0aWNIVE1MXCI7XG4gICAgQmFzZVNlcnZlclNwYW5bXCJyZW5kZXJcIl0gPSBcIkJhc2VTZXJ2ZXIucmVuZGVyXCI7XG4gICAgQmFzZVNlcnZlclNwYW5bXCJyZW5kZXJUb1Jlc3BvbnNlV2l0aENvbXBvbmVudHNcIl0gPSBcIkJhc2VTZXJ2ZXIucmVuZGVyVG9SZXNwb25zZVdpdGhDb21wb25lbnRzXCI7XG4gICAgQmFzZVNlcnZlclNwYW5bXCJyZW5kZXJUb1Jlc3BvbnNlXCJdID0gXCJCYXNlU2VydmVyLnJlbmRlclRvUmVzcG9uc2VcIjtcbiAgICBCYXNlU2VydmVyU3BhbltcInJlbmRlclRvSFRNTFwiXSA9IFwiQmFzZVNlcnZlci5yZW5kZXJUb0hUTUxcIjtcbiAgICBCYXNlU2VydmVyU3BhbltcInJlbmRlckVycm9yXCJdID0gXCJCYXNlU2VydmVyLnJlbmRlckVycm9yXCI7XG4gICAgQmFzZVNlcnZlclNwYW5bXCJyZW5kZXJFcnJvclRvUmVzcG9uc2VcIl0gPSBcIkJhc2VTZXJ2ZXIucmVuZGVyRXJyb3JUb1Jlc3BvbnNlXCI7XG4gICAgQmFzZVNlcnZlclNwYW5bXCJyZW5kZXJFcnJvclRvSFRNTFwiXSA9IFwiQmFzZVNlcnZlci5yZW5kZXJFcnJvclRvSFRNTFwiO1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wicmVuZGVyNDA0XCJdID0gXCJCYXNlU2VydmVyLnJlbmRlcjQwNFwiO1xufSkoQmFzZVNlcnZlclNwYW4gfHwgKEJhc2VTZXJ2ZXJTcGFuID0ge30pKTtcbnZhciBMb2FkQ29tcG9uZW50c1NwYW47XG4oZnVuY3Rpb24oTG9hZENvbXBvbmVudHNTcGFuKSB7XG4gICAgTG9hZENvbXBvbmVudHNTcGFuW1wibG9hZERlZmF1bHRFcnJvckNvbXBvbmVudHNcIl0gPSBcIkxvYWRDb21wb25lbnRzLmxvYWREZWZhdWx0RXJyb3JDb21wb25lbnRzXCI7XG4gICAgTG9hZENvbXBvbmVudHNTcGFuW1wibG9hZENvbXBvbmVudHNcIl0gPSBcIkxvYWRDb21wb25lbnRzLmxvYWRDb21wb25lbnRzXCI7XG59KShMb2FkQ29tcG9uZW50c1NwYW4gfHwgKExvYWRDb21wb25lbnRzU3BhbiA9IHt9KSk7XG52YXIgTmV4dFNlcnZlclNwYW47XG4oZnVuY3Rpb24oTmV4dFNlcnZlclNwYW4pIHtcbiAgICBOZXh0U2VydmVyU3BhbltcImdldFJlcXVlc3RIYW5kbGVyXCJdID0gXCJOZXh0U2VydmVyLmdldFJlcXVlc3RIYW5kbGVyXCI7XG4gICAgTmV4dFNlcnZlclNwYW5bXCJnZXRTZXJ2ZXJcIl0gPSBcIk5leHRTZXJ2ZXIuZ2V0U2VydmVyXCI7XG4gICAgTmV4dFNlcnZlclNwYW5bXCJnZXRTZXJ2ZXJSZXF1ZXN0SGFuZGxlclwiXSA9IFwiTmV4dFNlcnZlci5nZXRTZXJ2ZXJSZXF1ZXN0SGFuZGxlclwiO1xuICAgIE5leHRTZXJ2ZXJTcGFuW1wiY3JlYXRlU2VydmVyXCJdID0gXCJjcmVhdGVTZXJ2ZXIuY3JlYXRlU2VydmVyXCI7XG59KShOZXh0U2VydmVyU3BhbiB8fCAoTmV4dFNlcnZlclNwYW4gPSB7fSkpO1xudmFyIE5leHROb2RlU2VydmVyU3BhbjtcbihmdW5jdGlvbihOZXh0Tm9kZVNlcnZlclNwYW4pIHtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJjb21wcmVzc2lvblwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuY29tcHJlc3Npb25cIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJnZXRCdWlsZElkXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5nZXRCdWlsZElkXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiZ2V0TGF5b3V0T3JQYWdlTW9kdWxlXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5nZXRMYXlvdXRPclBhZ2VNb2R1bGVcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJnZW5lcmF0ZVN0YXRpY1JvdXRlc1wiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZ2VuZXJhdGVTdGF0aWNSb3V0ZXNcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJnZW5lcmF0ZUZzU3RhdGljUm91dGVzXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5nZW5lcmF0ZUZzU3RhdGljUm91dGVzXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiZ2VuZXJhdGVQdWJsaWNSb3V0ZXNcIl0gPSBcIk5leHROb2RlU2VydmVyLmdlbmVyYXRlUHVibGljUm91dGVzXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiZ2VuZXJhdGVJbWFnZVJvdXRlc1wiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZ2VuZXJhdGVJbWFnZVJvdXRlcy5yb3V0ZVwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcInNlbmRSZW5kZXJSZXN1bHRcIl0gPSBcIk5leHROb2RlU2VydmVyLnNlbmRSZW5kZXJSZXN1bHRcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJwcm94eVJlcXVlc3RcIl0gPSBcIk5leHROb2RlU2VydmVyLnByb3h5UmVxdWVzdFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcInJ1bkFwaVwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIucnVuQXBpXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wicmVuZGVyXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5yZW5kZXJcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJyZW5kZXJIVE1MXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5yZW5kZXJIVE1MXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiaW1hZ2VPcHRpbWl6ZXJcIl0gPSBcIk5leHROb2RlU2VydmVyLmltYWdlT3B0aW1pemVyXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiZ2V0UGFnZVBhdGhcIl0gPSBcIk5leHROb2RlU2VydmVyLmdldFBhZ2VQYXRoXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiZ2V0Um91dGVzTWFuaWZlc3RcIl0gPSBcIk5leHROb2RlU2VydmVyLmdldFJvdXRlc01hbmlmZXN0XCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiZmluZFBhZ2VDb21wb25lbnRzXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5maW5kUGFnZUNvbXBvbmVudHNcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJnZXRGb250TWFuaWZlc3RcIl0gPSBcIk5leHROb2RlU2VydmVyLmdldEZvbnRNYW5pZmVzdFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdldFNlcnZlckNvbXBvbmVudE1hbmlmZXN0XCJdID0gXCJOZXh0Tm9kZVNlcnZlci5nZXRTZXJ2ZXJDb21wb25lbnRNYW5pZmVzdFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdldFJlcXVlc3RIYW5kbGVyXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5nZXRSZXF1ZXN0SGFuZGxlclwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcInJlbmRlclRvSFRNTFwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIucmVuZGVyVG9IVE1MXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wicmVuZGVyRXJyb3JcIl0gPSBcIk5leHROb2RlU2VydmVyLnJlbmRlckVycm9yXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wicmVuZGVyRXJyb3JUb0hUTUxcIl0gPSBcIk5leHROb2RlU2VydmVyLnJlbmRlckVycm9yVG9IVE1MXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wicmVuZGVyNDA0XCJdID0gXCJOZXh0Tm9kZVNlcnZlci5yZW5kZXI0MDRcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bLy8gbmVzdGVkIGlubmVyIHNwYW4sIGRvZXMgbm90IHJlcXVpcmUgcGFyZW50IHNjb3BlIG5hbWVcbiAgICBcInJvdXRlXCJdID0gXCJyb3V0ZVwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcIm9uUHJveHlSZXFcIl0gPSBcIm9uUHJveHlSZXFcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJhcGlSZXNvbHZlclwiXSA9IFwiYXBpUmVzb2x2ZXJcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJpbnRlcm5hbEZldGNoXCJdID0gXCJpbnRlcm5hbEZldGNoXCI7XG59KShOZXh0Tm9kZVNlcnZlclNwYW4gfHwgKE5leHROb2RlU2VydmVyU3BhbiA9IHt9KSk7XG52YXIgU3RhcnRTZXJ2ZXJTcGFuO1xuKGZ1bmN0aW9uKFN0YXJ0U2VydmVyU3Bhbikge1xuICAgIFN0YXJ0U2VydmVyU3BhbltcInN0YXJ0U2VydmVyXCJdID0gXCJzdGFydFNlcnZlci5zdGFydFNlcnZlclwiO1xufSkoU3RhcnRTZXJ2ZXJTcGFuIHx8IChTdGFydFNlcnZlclNwYW4gPSB7fSkpO1xudmFyIFJlbmRlclNwYW47XG4oZnVuY3Rpb24oUmVuZGVyU3Bhbikge1xuICAgIFJlbmRlclNwYW5bXCJnZXRTZXJ2ZXJTaWRlUHJvcHNcIl0gPSBcIlJlbmRlci5nZXRTZXJ2ZXJTaWRlUHJvcHNcIjtcbiAgICBSZW5kZXJTcGFuW1wiZ2V0U3RhdGljUHJvcHNcIl0gPSBcIlJlbmRlci5nZXRTdGF0aWNQcm9wc1wiO1xuICAgIFJlbmRlclNwYW5bXCJyZW5kZXJUb1N0cmluZ1wiXSA9IFwiUmVuZGVyLnJlbmRlclRvU3RyaW5nXCI7XG4gICAgUmVuZGVyU3BhbltcInJlbmRlckRvY3VtZW50XCJdID0gXCJSZW5kZXIucmVuZGVyRG9jdW1lbnRcIjtcbiAgICBSZW5kZXJTcGFuW1wiY3JlYXRlQm9keVJlc3VsdFwiXSA9IFwiUmVuZGVyLmNyZWF0ZUJvZHlSZXN1bHRcIjtcbn0pKFJlbmRlclNwYW4gfHwgKFJlbmRlclNwYW4gPSB7fSkpO1xudmFyIEFwcFJlbmRlclNwYW47XG4oZnVuY3Rpb24oQXBwUmVuZGVyU3Bhbikge1xuICAgIEFwcFJlbmRlclNwYW5bXCJyZW5kZXJUb1N0cmluZ1wiXSA9IFwiQXBwUmVuZGVyLnJlbmRlclRvU3RyaW5nXCI7XG4gICAgQXBwUmVuZGVyU3BhbltcInJlbmRlclRvUmVhZGFibGVTdHJlYW1cIl0gPSBcIkFwcFJlbmRlci5yZW5kZXJUb1JlYWRhYmxlU3RyZWFtXCI7XG4gICAgQXBwUmVuZGVyU3BhbltcImdldEJvZHlSZXN1bHRcIl0gPSBcIkFwcFJlbmRlci5nZXRCb2R5UmVzdWx0XCI7XG4gICAgQXBwUmVuZGVyU3BhbltcImZldGNoXCJdID0gXCJBcHBSZW5kZXIuZmV0Y2hcIjtcbn0pKEFwcFJlbmRlclNwYW4gfHwgKEFwcFJlbmRlclNwYW4gPSB7fSkpO1xudmFyIFJvdXRlclNwYW47XG4oZnVuY3Rpb24oUm91dGVyU3Bhbikge1xuICAgIFJvdXRlclNwYW5bXCJleGVjdXRlUm91dGVcIl0gPSBcIlJvdXRlci5leGVjdXRlUm91dGVcIjtcbn0pKFJvdXRlclNwYW4gfHwgKFJvdXRlclNwYW4gPSB7fSkpO1xudmFyIE5vZGVTcGFuO1xuKGZ1bmN0aW9uKE5vZGVTcGFuKSB7XG4gICAgTm9kZVNwYW5bXCJydW5IYW5kbGVyXCJdID0gXCJOb2RlLnJ1bkhhbmRsZXJcIjtcbn0pKE5vZGVTcGFuIHx8IChOb2RlU3BhbiA9IHt9KSk7XG52YXIgQXBwUm91dGVSb3V0ZUhhbmRsZXJzU3BhbjtcbihmdW5jdGlvbihBcHBSb3V0ZVJvdXRlSGFuZGxlcnNTcGFuKSB7XG4gICAgQXBwUm91dGVSb3V0ZUhhbmRsZXJzU3BhbltcInJ1bkhhbmRsZXJcIl0gPSBcIkFwcFJvdXRlUm91dGVIYW5kbGVycy5ydW5IYW5kbGVyXCI7XG59KShBcHBSb3V0ZVJvdXRlSGFuZGxlcnNTcGFuIHx8IChBcHBSb3V0ZVJvdXRlSGFuZGxlcnNTcGFuID0ge30pKTtcbnZhciBSZXNvbHZlTWV0YWRhdGFTcGFuO1xuKGZ1bmN0aW9uKFJlc29sdmVNZXRhZGF0YVNwYW4pIHtcbiAgICBSZXNvbHZlTWV0YWRhdGFTcGFuW1wiZ2VuZXJhdGVNZXRhZGF0YVwiXSA9IFwiUmVzb2x2ZU1ldGFkYXRhLmdlbmVyYXRlTWV0YWRhdGFcIjtcbiAgICBSZXNvbHZlTWV0YWRhdGFTcGFuW1wiZ2VuZXJhdGVWaWV3cG9ydFwiXSA9IFwiUmVzb2x2ZU1ldGFkYXRhLmdlbmVyYXRlVmlld3BvcnRcIjtcbn0pKFJlc29sdmVNZXRhZGF0YVNwYW4gfHwgKFJlc29sdmVNZXRhZGF0YVNwYW4gPSB7fSkpO1xuY29uc3QgTmV4dFZhbmlsbGFTcGFuQWxsb3dsaXN0ID0gW1xuICAgIFwiQmFzZVNlcnZlci5oYW5kbGVSZXF1ZXN0XCIsXG4gICAgXCJSZW5kZXIuZ2V0U2VydmVyU2lkZVByb3BzXCIsXG4gICAgXCJSZW5kZXIuZ2V0U3RhdGljUHJvcHNcIixcbiAgICBcIkFwcFJlbmRlci5mZXRjaFwiLFxuICAgIFwiQXBwUmVuZGVyLmdldEJvZHlSZXN1bHRcIixcbiAgICBcIlJlbmRlci5yZW5kZXJEb2N1bWVudFwiLFxuICAgIFwiTm9kZS5ydW5IYW5kbGVyXCIsXG4gICAgXCJBcHBSb3V0ZVJvdXRlSGFuZGxlcnMucnVuSGFuZGxlclwiLFxuICAgIFwiUmVzb2x2ZU1ldGFkYXRhLmdlbmVyYXRlTWV0YWRhdGFcIixcbiAgICBcIlJlc29sdmVNZXRhZGF0YS5nZW5lcmF0ZVZpZXdwb3J0XCIsXG4gICAgXCJOZXh0Tm9kZVNlcnZlci5maW5kUGFnZUNvbXBvbmVudHNcIixcbiAgICBcIk5leHROb2RlU2VydmVyLmdldExheW91dE9yUGFnZU1vZHVsZVwiXG5dO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25zdGFudHMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiTmV4dFZhbmlsbGFTcGFuQWxsb3dsaXN0IiwiQmFzZVNlcnZlclNwYW4iLCJMb2FkQ29tcG9uZW50c1NwYW4iLCJOZXh0U2VydmVyU3BhbiIsIk5leHROb2RlU2VydmVyU3BhbiIsIlN0YXJ0U2VydmVyU3BhbiIsIlJlbmRlclNwYW4iLCJSb3V0ZXJTcGFuIiwiQXBwUmVuZGVyU3BhbiIsIk5vZGVTcGFuIiwiQXBwUm91dGVSb3V0ZUhhbmRsZXJzU3BhbiIsIlJlc29sdmVNZXRhZGF0YVNwYW4iLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/lib/trace/constants.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/lib/trace/constants.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/server/lib/trace/constants.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Contains predefined constants for the trace span name in next/server.\n *\n * Currently, next/server/tracer is internal implementation only for tracking\n * next.js's implementation only with known span names defined here.\n **/ // eslint typescript has a bug with TS enums\n/* eslint-disable no-shadow */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n NextVanillaSpanAllowlist: function() {\n return NextVanillaSpanAllowlist;\n },\n BaseServerSpan: function() {\n return BaseServerSpan;\n },\n LoadComponentsSpan: function() {\n return LoadComponentsSpan;\n },\n NextServerSpan: function() {\n return NextServerSpan;\n },\n NextNodeServerSpan: function() {\n return NextNodeServerSpan;\n },\n StartServerSpan: function() {\n return StartServerSpan;\n },\n RenderSpan: function() {\n return RenderSpan;\n },\n RouterSpan: function() {\n return RouterSpan;\n },\n AppRenderSpan: function() {\n return AppRenderSpan;\n },\n NodeSpan: function() {\n return NodeSpan;\n },\n AppRouteRouteHandlersSpan: function() {\n return AppRouteRouteHandlersSpan;\n },\n ResolveMetadataSpan: function() {\n return ResolveMetadataSpan;\n }\n});\nvar BaseServerSpan;\n(function(BaseServerSpan) {\n BaseServerSpan[\"handleRequest\"] = \"BaseServer.handleRequest\";\n BaseServerSpan[\"run\"] = \"BaseServer.run\";\n BaseServerSpan[\"pipe\"] = \"BaseServer.pipe\";\n BaseServerSpan[\"getStaticHTML\"] = \"BaseServer.getStaticHTML\";\n BaseServerSpan[\"render\"] = \"BaseServer.render\";\n BaseServerSpan[\"renderToResponseWithComponents\"] = \"BaseServer.renderToResponseWithComponents\";\n BaseServerSpan[\"renderToResponse\"] = \"BaseServer.renderToResponse\";\n BaseServerSpan[\"renderToHTML\"] = \"BaseServer.renderToHTML\";\n BaseServerSpan[\"renderError\"] = \"BaseServer.renderError\";\n BaseServerSpan[\"renderErrorToResponse\"] = \"BaseServer.renderErrorToResponse\";\n BaseServerSpan[\"renderErrorToHTML\"] = \"BaseServer.renderErrorToHTML\";\n BaseServerSpan[\"render404\"] = \"BaseServer.render404\";\n})(BaseServerSpan || (BaseServerSpan = {}));\nvar LoadComponentsSpan;\n(function(LoadComponentsSpan) {\n LoadComponentsSpan[\"loadDefaultErrorComponents\"] = \"LoadComponents.loadDefaultErrorComponents\";\n LoadComponentsSpan[\"loadComponents\"] = \"LoadComponents.loadComponents\";\n})(LoadComponentsSpan || (LoadComponentsSpan = {}));\nvar NextServerSpan;\n(function(NextServerSpan) {\n NextServerSpan[\"getRequestHandler\"] = \"NextServer.getRequestHandler\";\n NextServerSpan[\"getServer\"] = \"NextServer.getServer\";\n NextServerSpan[\"getServerRequestHandler\"] = \"NextServer.getServerRequestHandler\";\n NextServerSpan[\"createServer\"] = \"createServer.createServer\";\n})(NextServerSpan || (NextServerSpan = {}));\nvar NextNodeServerSpan;\n(function(NextNodeServerSpan) {\n NextNodeServerSpan[\"compression\"] = \"NextNodeServer.compression\";\n NextNodeServerSpan[\"getBuildId\"] = \"NextNodeServer.getBuildId\";\n NextNodeServerSpan[\"getLayoutOrPageModule\"] = \"NextNodeServer.getLayoutOrPageModule\";\n NextNodeServerSpan[\"generateStaticRoutes\"] = \"NextNodeServer.generateStaticRoutes\";\n NextNodeServerSpan[\"generateFsStaticRoutes\"] = \"NextNodeServer.generateFsStaticRoutes\";\n NextNodeServerSpan[\"generatePublicRoutes\"] = \"NextNodeServer.generatePublicRoutes\";\n NextNodeServerSpan[\"generateImageRoutes\"] = \"NextNodeServer.generateImageRoutes.route\";\n NextNodeServerSpan[\"sendRenderResult\"] = \"NextNodeServer.sendRenderResult\";\n NextNodeServerSpan[\"proxyRequest\"] = \"NextNodeServer.proxyRequest\";\n NextNodeServerSpan[\"runApi\"] = \"NextNodeServer.runApi\";\n NextNodeServerSpan[\"render\"] = \"NextNodeServer.render\";\n NextNodeServerSpan[\"renderHTML\"] = \"NextNodeServer.renderHTML\";\n NextNodeServerSpan[\"imageOptimizer\"] = \"NextNodeServer.imageOptimizer\";\n NextNodeServerSpan[\"getPagePath\"] = \"NextNodeServer.getPagePath\";\n NextNodeServerSpan[\"getRoutesManifest\"] = \"NextNodeServer.getRoutesManifest\";\n NextNodeServerSpan[\"findPageComponents\"] = \"NextNodeServer.findPageComponents\";\n NextNodeServerSpan[\"getFontManifest\"] = \"NextNodeServer.getFontManifest\";\n NextNodeServerSpan[\"getServerComponentManifest\"] = \"NextNodeServer.getServerComponentManifest\";\n NextNodeServerSpan[\"getRequestHandler\"] = \"NextNodeServer.getRequestHandler\";\n NextNodeServerSpan[\"renderToHTML\"] = \"NextNodeServer.renderToHTML\";\n NextNodeServerSpan[\"renderError\"] = \"NextNodeServer.renderError\";\n NextNodeServerSpan[\"renderErrorToHTML\"] = \"NextNodeServer.renderErrorToHTML\";\n NextNodeServerSpan[\"render404\"] = \"NextNodeServer.render404\";\n NextNodeServerSpan[\"route\"] = \"route\";\n NextNodeServerSpan[\"onProxyReq\"] = \"onProxyReq\";\n NextNodeServerSpan[\"apiResolver\"] = \"apiResolver\";\n NextNodeServerSpan[\"internalFetch\"] = \"internalFetch\";\n})(NextNodeServerSpan || (NextNodeServerSpan = {}));\nvar StartServerSpan;\n(function(StartServerSpan) {\n StartServerSpan[\"startServer\"] = \"startServer.startServer\";\n})(StartServerSpan || (StartServerSpan = {}));\nvar RenderSpan;\n(function(RenderSpan) {\n RenderSpan[\"getServerSideProps\"] = \"Render.getServerSideProps\";\n RenderSpan[\"getStaticProps\"] = \"Render.getStaticProps\";\n RenderSpan[\"renderToString\"] = \"Render.renderToString\";\n RenderSpan[\"renderDocument\"] = \"Render.renderDocument\";\n RenderSpan[\"createBodyResult\"] = \"Render.createBodyResult\";\n})(RenderSpan || (RenderSpan = {}));\nvar AppRenderSpan;\n(function(AppRenderSpan) {\n AppRenderSpan[\"renderToString\"] = \"AppRender.renderToString\";\n AppRenderSpan[\"renderToReadableStream\"] = \"AppRender.renderToReadableStream\";\n AppRenderSpan[\"getBodyResult\"] = \"AppRender.getBodyResult\";\n AppRenderSpan[\"fetch\"] = \"AppRender.fetch\";\n})(AppRenderSpan || (AppRenderSpan = {}));\nvar RouterSpan;\n(function(RouterSpan) {\n RouterSpan[\"executeRoute\"] = \"Router.executeRoute\";\n})(RouterSpan || (RouterSpan = {}));\nvar NodeSpan;\n(function(NodeSpan) {\n NodeSpan[\"runHandler\"] = \"Node.runHandler\";\n})(NodeSpan || (NodeSpan = {}));\nvar AppRouteRouteHandlersSpan;\n(function(AppRouteRouteHandlersSpan) {\n AppRouteRouteHandlersSpan[\"runHandler\"] = \"AppRouteRouteHandlers.runHandler\";\n})(AppRouteRouteHandlersSpan || (AppRouteRouteHandlersSpan = {}));\nvar ResolveMetadataSpan;\n(function(ResolveMetadataSpan) {\n ResolveMetadataSpan[\"generateMetadata\"] = \"ResolveMetadata.generateMetadata\";\n ResolveMetadataSpan[\"generateViewport\"] = \"ResolveMetadata.generateViewport\";\n})(ResolveMetadataSpan || (ResolveMetadataSpan = {}));\nconst NextVanillaSpanAllowlist = [\n \"BaseServer.handleRequest\",\n \"Render.getServerSideProps\",\n \"Render.getStaticProps\",\n \"AppRender.fetch\",\n \"AppRender.getBodyResult\",\n \"Render.renderDocument\",\n \"Node.runHandler\",\n \"AppRouteRouteHandlers.runHandler\",\n \"ResolveMetadata.generateMetadata\",\n \"ResolveMetadata.generateViewport\",\n \"NextNodeServer.findPageComponents\",\n \"NextNodeServer.getLayoutOrPageModule\"\n]; //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9saWIvdHJhY2UvY29uc3RhbnRzLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7OztFQUtFLEdBQUcsNENBQTRDO0FBQ2pELDRCQUE0QixHQUFnQjtBQUM1Q0EsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FhTjtBQUNBLFNBQVNhLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUluQixPQUFPQyxjQUFjLENBQUNpQixRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFmLFNBQVM7SUFDYkcsMEJBQTBCO1FBQ3RCLE9BQU9BO0lBQ1g7SUFDQUMsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsVUFBVTtRQUNOLE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9BO0lBQ1g7SUFDQUMscUJBQXFCO1FBQ2pCLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLElBQUlWO0FBQ0gsVUFBU0EsY0FBYztJQUNwQkEsY0FBYyxDQUFDLGdCQUFnQixHQUFHO0lBQ2xDQSxjQUFjLENBQUMsTUFBTSxHQUFHO0lBQ3hCQSxjQUFjLENBQUMsT0FBTyxHQUFHO0lBQ3pCQSxjQUFjLENBQUMsZ0JBQWdCLEdBQUc7SUFDbENBLGNBQWMsQ0FBQyxTQUFTLEdBQUc7SUFDM0JBLGNBQWMsQ0FBQyxpQ0FB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QUFDLGdCQUFnQixHQUFHO0lBQ2pDQSxhQUFhLENBQUMsUUFBUSxHQUFHO0FBQzdCLEdBQUdBLGlCQUFrQkEsQ0FBQUEsZ0JBQWdCLENBQUM7QUFDdEMsSUFBSUQ7QUFDSCxVQUFTQSxVQUFVO0lBQ2hCQSxVQUFVLENBQUMsZUFBZSxHQUFHO0FBQ2pDLEdBQUdBLGNBQWVBLENBQUFBLGFBQWEsQ0FBQztBQUNoQyxJQUFJRTtBQUNILFVBQVNBLFFBQVE7SUFDZEEsUUFBUSxDQUFDLGFBQWEsR0FBRztBQUM3QixHQUFHQSxZQUFhQSxDQUFBQSxXQUFXLENBQUM7QUFDNUIsSUFBSUM7QUFDSCxVQUFTQSx5QkFBeUI7SUFDL0JBLHlCQUF5QixDQUFDLGFBQWEsR0FBRztBQUM5QyxHQUFHQSw2QkFBOEJBLENBQUFBLDRCQUE0QixDQUFDO0FBQzlELElBQUlDO0FBQ0gsVUFBU0EsbUJBQW1CO0lBQ3pCQSxtQkFBbUIsQ0FBQyxtQkFBbUIsR0FBRztJQUMxQ0EsbUJBQW1CLENBQUMsbUJBQW1CLEdBQUc7QUFDOUMsR0FBR0EsdUJBQXdCQSxDQUFBQSxzQkFBc0IsQ0FBQztBQUNsRCxNQUFNWCwyQkFBMkI7SUFDN0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0gsRUFFRCxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9saWIvdHJhY2UvY29uc3RhbnRzLmpzP2Y4MjUiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb250YWlucyBwcmVkZWZpbmVkIGNvbnN0YW50cyBmb3IgdGhlIHRyYWNlIHNwYW4gbmFtZSBpbiBuZXh0L3NlcnZlci5cbiAqXG4gKiBDdXJyZW50bHksIG5leHQvc2VydmVyL3RyYWNlciBpcyBpbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBvbmx5IGZvciB0cmFja2luZ1xuICogbmV4dC5qcydzIGltcGxlbWVudGF0aW9uIG9ubHkgd2l0aCBrbm93biBzcGFuIG5hbWVzIGRlZmluZWQgaGVyZS5cbiAqKi8gLy8gZXNsaW50IHR5cGVzY3JpcHQgaGFzIGEgYnVnIHdpdGggVFMgZW51bXNcbi8qIGVzbGludC1kaXNhYmxlIG5vLXNoYWRvdyAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIE5leHRWYW5pbGxhU3BhbkFsbG93bGlzdDogbnVsbCxcbiAgICBCYXNlU2VydmVyU3BhbjogbnVsbCxcbiAgICBMb2FkQ29tcG9uZW50c1NwYW46IG51bGwsXG4gICAgTmV4dFNlcnZlclNwYW46IG51bGwsXG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuOiBudWxsLFxuICAgIFN0YXJ0U2VydmVyU3BhbjogbnVsbCxcbiAgICBSZW5kZXJTcGFuOiBudWxsLFxuICAgIFJvdXRlclNwYW46IG51bGwsXG4gICAgQXBwUmVuZGVyU3BhbjogbnVsbCxcbiAgICBOb2RlU3BhbjogbnVsbCxcbiAgICBBcHBSb3V0ZVJvdXRlSGFuZGxlcnNTcGFuOiBudWxsLFxuICAgIFJlc29sdmVNZXRhZGF0YVNwYW46IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgTmV4dFZhbmlsbGFTcGFuQWxsb3dsaXN0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5leHRWYW5pbGxhU3BhbkFsbG93bGlzdDtcbiAgICB9LFxuICAgIEJhc2VTZXJ2ZXJTcGFuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEJhc2VTZXJ2ZXJTcGFuO1xuICAgIH0sXG4gICAgTG9hZENvbXBvbmVudHNTcGFuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIExvYWRDb21wb25lbnRzU3BhbjtcbiAgICB9LFxuICAgIE5leHRTZXJ2ZXJTcGFuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5leHRTZXJ2ZXJTcGFuO1xuICAgIH0sXG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5leHROb2RlU2VydmVyU3BhbjtcbiAgICB9LFxuICAgIFN0YXJ0U2VydmVyU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTdGFydFNlcnZlclNwYW47XG4gICAgfSxcbiAgICBSZW5kZXJTcGFuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJlbmRlclNwYW47XG4gICAgfSxcbiAgICBSb3V0ZXJTcGFuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJvdXRlclNwYW47XG4gICAgfSxcbiAgICBBcHBSZW5kZXJTcGFuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFwcFJlbmRlclNwYW47XG4gICAgfSxcbiAgICBOb2RlU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBOb2RlU3BhbjtcbiAgICB9LFxuICAgIEFwcFJvdXRlUm91dGVIYW5kbGVyc1NwYW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQXBwUm91dGVSb3V0ZUhhbmRsZXJzU3BhbjtcbiAgICB9LFxuICAgIFJlc29sdmVNZXRhZGF0YVNwYW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVzb2x2ZU1ldGFkYXRhU3BhbjtcbiAgICB9XG59KTtcbnZhciBCYXNlU2VydmVyU3BhbjtcbihmdW5jdGlvbihCYXNlU2VydmVyU3Bhbikge1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wiaGFuZGxlUmVxdWVzdFwiXSA9IFwiQmFzZVNlcnZlci5oYW5kbGVSZXF1ZXN0XCI7XG4gICAgQmFzZVNlcnZlclNwYW5bXCJydW5cIl0gPSBcIkJhc2VTZXJ2ZXIucnVuXCI7XG4gICAgQmFzZVNlcnZlclNwYW5bXCJwaXBlXCJdID0gXCJCYXNlU2VydmVyLnBpcGVcIjtcbiAgICBCYXNlU2VydmVyU3BhbltcImdldFN0YXRpY0hUTUxcIl0gPSBcIkJhc2VTZXJ2ZXIuZ2V0U3RhdGljSFRNTFwiO1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wicmVuZGVyXCJdID0gXCJCYXNlU2VydmVyLnJlbmRlclwiO1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wicmVuZGVyVG9SZXNwb25zZVdpdGhDb21wb25lbnRzXCJdID0gXCJCYXNlU2VydmVyLnJlbmRlclRvUmVzcG9uc2VXaXRoQ29tcG9uZW50c1wiO1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wicmVuZGVyVG9SZXNwb25zZVwiXSA9IFwiQmFzZVNlcnZlci5yZW5kZXJUb1Jlc3BvbnNlXCI7XG4gICAgQmFzZVNlcnZlclNwYW5bXCJyZW5kZXJUb0hUTUxcIl0gPSBcIkJhc2VTZXJ2ZXIucmVuZGVyVG9IVE1MXCI7XG4gICAgQmFzZVNlcnZlclNwYW5bXCJyZW5kZXJFcnJvclwiXSA9IFwiQmFzZVNlcnZlci5yZW5kZXJFcnJvclwiO1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wicmVuZGVyRXJyb3JUb1Jlc3BvbnNlXCJdID0gXCJCYXNlU2VydmVyLnJlbmRlckVycm9yVG9SZXNwb25zZVwiO1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wicmVuZGVyRXJyb3JUb0hUTUxcIl0gPSBcIkJhc2VTZXJ2ZXIucmVuZGVyRXJyb3JUb0hUTUxcIjtcbiAgICBCYXNlU2VydmVyU3BhbltcInJlbmRlcjQwNFwiXSA9IFwiQmFzZVNlcnZlci5yZW5kZXI0MDRcIjtcbn0pKEJhc2VTZXJ2ZXJTcGFuIHx8IChCYXNlU2VydmVyU3BhbiA9IHt9KSk7XG52YXIgTG9hZENvbXBvbmVudHNTcGFuO1xuKGZ1bmN0aW9uKExvYWRDb21wb25lbnRzU3Bhbikge1xuICAgIExvYWRDb21wb25lbnRzU3BhbltcImxvYWREZWZhdWx0RXJyb3JDb21wb25lbnRzXCJdID0gXCJMb2FkQ29tcG9uZW50cy5sb2FkRGVmYXVsdEVycm9yQ29tcG9uZW50c1wiO1xuICAgIExvYWRDb21wb25lbnRzU3BhbltcImxvYWRDb21wb25lbnRzXCJdID0gXCJMb2FkQ29tcG9uZW50cy5sb2FkQ29tcG9uZW50c1wiO1xufSkoTG9hZENvbXBvbmVudHNTcGFuIHx8IChMb2FkQ29tcG9uZW50c1NwYW4gPSB7fSkpO1xudmFyIE5leHRTZXJ2ZXJTcGFuO1xuKGZ1bmN0aW9uKE5leHRTZXJ2ZXJTcGFuKSB7XG4gICAgTmV4dFNlcnZlclNwYW5bXCJnZXRSZXF1ZXN0SGFuZGxlclwiXSA9IFwiTmV4dFNlcnZlci5nZXRSZXF1ZXN0SGFuZGxlclwiO1xuICAgIE5leHRTZXJ2ZXJTcGFuW1wiZ2V0U2VydmVyXCJdID0gXCJOZXh0U2VydmVyLmdldFNlcnZlclwiO1xuICAgIE5leHRTZXJ2ZXJTcGFuW1wiZ2V0U2VydmVyUmVxdWVzdEhhbmRsZXJcIl0gPSBcIk5leHRTZXJ2ZXIuZ2V0U2VydmVyUmVxdWVzdEhhbmRsZXJcIjtcbiAgICBOZXh0U2VydmVyU3BhbltcImNyZWF0ZVNlcnZlclwiXSA9IFwiY3JlYXRlU2VydmVyLmNyZWF0ZVNlcnZlclwiO1xufSkoTmV4dFNlcnZlclNwYW4gfHwgKE5leHRTZXJ2ZXJTcGFuID0ge30pKTtcbnZhciBOZXh0Tm9kZVNlcnZlclNwYW47XG4oZnVuY3Rpb24oTmV4dE5vZGVTZXJ2ZXJTcGFuKSB7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiY29tcHJlc3Npb25cIl0gPSBcIk5leHROb2RlU2VydmVyLmNvbXByZXNzaW9uXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiZ2V0QnVpbGRJZFwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZ2V0QnVpbGRJZFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdldExheW91dE9yUGFnZU1vZHVsZVwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZ2V0TGF5b3V0T3JQYWdlTW9kdWxlXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiZ2VuZXJhdGVTdGF0aWNSb3V0ZXNcIl0gPSBcIk5leHROb2RlU2VydmVyLmdlbmVyYXRlU3RhdGljUm91dGVzXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiZ2VuZXJhdGVGc1N0YXRpY1JvdXRlc1wiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZ2VuZXJhdGVGc1N0YXRpY1JvdXRlc1wiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdlbmVyYXRlUHVibGljUm91dGVzXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5nZW5lcmF0ZVB1YmxpY1JvdXRlc1wiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdlbmVyYXRlSW1hZ2VSb3V0ZXNcIl0gPSBcIk5leHROb2RlU2VydmVyLmdlbmVyYXRlSW1hZ2VSb3V0ZXMucm91dGVcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJzZW5kUmVuZGVyUmVzdWx0XCJdID0gXCJOZXh0Tm9kZVNlcnZlci5zZW5kUmVuZGVyUmVzdWx0XCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wicHJveHlSZXF1ZXN0XCJdID0gXCJOZXh0Tm9kZVNlcnZlci5wcm94eVJlcXVlc3RcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJydW5BcGlcIl0gPSBcIk5leHROb2RlU2VydmVyLnJ1bkFwaVwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcInJlbmRlclwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIucmVuZGVyXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wicmVuZGVySFRNTFwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIucmVuZGVySFRNTFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImltYWdlT3B0aW1pemVyXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5pbWFnZU9wdGltaXplclwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdldFBhZ2VQYXRoXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5nZXRQYWdlUGF0aFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdldFJvdXRlc01hbmlmZXN0XCJdID0gXCJOZXh0Tm9kZVNlcnZlci5nZXRSb3V0ZXNNYW5pZmVzdFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImZpbmRQYWdlQ29tcG9uZW50c1wiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZmluZFBhZ2VDb21wb25lbnRzXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiZ2V0Rm9udE1hbmlmZXN0XCJdID0gXCJOZXh0Tm9kZVNlcnZlci5nZXRGb250TWFuaWZlc3RcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJnZXRTZXJ2ZXJDb21wb25lbnRNYW5pZmVzdFwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZ2V0U2VydmVyQ29tcG9uZW50TWFuaWZlc3RcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJnZXRSZXF1ZXN0SGFuZGxlclwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZ2V0UmVxdWVzdEhhbmRsZXJcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJyZW5kZXJUb0hUTUxcIl0gPSBcIk5leHROb2RlU2VydmVyLnJlbmRlclRvSFRNTFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcInJlbmRlckVycm9yXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5yZW5kZXJFcnJvclwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcInJlbmRlckVycm9yVG9IVE1MXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5yZW5kZXJFcnJvclRvSFRNTFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcInJlbmRlcjQwNFwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIucmVuZGVyNDA0XCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuWy8vIG5lc3RlZCBpbm5lciBzcGFuLCBkb2VzIG5vdCByZXF1aXJlIHBhcmVudCBzY29wZSBuYW1lXG4gICAgXCJyb3V0ZVwiXSA9IFwicm91dGVcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJvblByb3h5UmVxXCJdID0gXCJvblByb3h5UmVxXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiYXBpUmVzb2x2ZXJcIl0gPSBcImFwaVJlc29sdmVyXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiaW50ZXJuYWxGZXRjaFwiXSA9IFwiaW50ZXJuYWxGZXRjaFwiO1xufSkoTmV4dE5vZGVTZXJ2ZXJTcGFuIHx8IChOZXh0Tm9kZVNlcnZlclNwYW4gPSB7fSkpO1xudmFyIFN0YXJ0U2VydmVyU3BhbjtcbihmdW5jdGlvbihTdGFydFNlcnZlclNwYW4pIHtcbiAgICBTdGFydFNlcnZlclNwYW5bXCJzdGFydFNlcnZlclwiXSA9IFwic3RhcnRTZXJ2ZXIuc3RhcnRTZXJ2ZXJcIjtcbn0pKFN0YXJ0U2VydmVyU3BhbiB8fCAoU3RhcnRTZXJ2ZXJTcGFuID0ge30pKTtcbnZhciBSZW5kZXJTcGFuO1xuKGZ1bmN0aW9uKFJlbmRlclNwYW4pIHtcbiAgICBSZW5kZXJTcGFuW1wiZ2V0U2VydmVyU2lkZVByb3BzXCJdID0gXCJSZW5kZXIuZ2V0U2VydmVyU2lkZVByb3BzXCI7XG4gICAgUmVuZGVyU3BhbltcImdldFN0YXRpY1Byb3BzXCJdID0gXCJSZW5kZXIuZ2V0U3RhdGljUHJvcHNcIjtcbiAgICBSZW5kZXJTcGFuW1wicmVuZGVyVG9TdHJpbmdcIl0gPSBcIlJlbmRlci5yZW5kZXJUb1N0cmluZ1wiO1xuICAgIFJlbmRlclNwYW5bXCJyZW5kZXJEb2N1bWVudFwiXSA9IFwiUmVuZGVyLnJlbmRlckRvY3VtZW50XCI7XG4gICAgUmVuZGVyU3BhbltcImNyZWF0ZUJvZHlSZXN1bHRcIl0gPSBcIlJlbmRlci5jcmVhdGVCb2R5UmVzdWx0XCI7XG59KShSZW5kZXJTcGFuIHx8IChSZW5kZXJTcGFuID0ge30pKTtcbnZhciBBcHBSZW5kZXJTcGFuO1xuKGZ1bmN0aW9uKEFwcFJlbmRlclNwYW4pIHtcbiAgICBBcHBSZW5kZXJTcGFuW1wicmVuZGVyVG9TdHJpbmdcIl0gPSBcIkFwcFJlbmRlci5yZW5kZXJUb1N0cmluZ1wiO1xuICAgIEFwcFJlbmRlclNwYW5bXCJyZW5kZXJUb1JlYWRhYmxlU3RyZWFtXCJdID0gXCJBcHBSZW5kZXIucmVuZGVyVG9SZWFkYWJsZVN0cmVhbVwiO1xuICAgIEFwcFJlbmRlclNwYW5bXCJnZXRCb2R5UmVzdWx0XCJdID0gXCJBcHBSZW5kZXIuZ2V0Qm9keVJlc3VsdFwiO1xuICAgIEFwcFJlbmRlclNwYW5bXCJmZXRjaFwiXSA9IFwiQXBwUmVuZGVyLmZldGNoXCI7XG59KShBcHBSZW5kZXJTcGFuIHx8IChBcHBSZW5kZXJTcGFuID0ge30pKTtcbnZhciBSb3V0ZXJTcGFuO1xuKGZ1bmN0aW9uKFJvdXRlclNwYW4pIHtcbiAgICBSb3V0ZXJTcGFuW1wiZXhlY3V0ZVJvdXRlXCJdID0gXCJSb3V0ZXIuZXhlY3V0ZVJvdXRlXCI7XG59KShSb3V0ZXJTcGFuIHx8IChSb3V0ZXJTcGFuID0ge30pKTtcbnZhciBOb2RlU3BhbjtcbihmdW5jdGlvbihOb2RlU3Bhbikge1xuICAgIE5vZGVTcGFuW1wicnVuSGFuZGxlclwiXSA9IFwiTm9kZS5ydW5IYW5kbGVyXCI7XG59KShOb2RlU3BhbiB8fCAoTm9kZVNwYW4gPSB7fSkpO1xudmFyIEFwcFJvdXRlUm91dGVIYW5kbGVyc1NwYW47XG4oZnVuY3Rpb24oQXBwUm91dGVSb3V0ZUhhbmRsZXJzU3Bhbikge1xuICAgIEFwcFJvdXRlUm91dGVIYW5kbGVyc1NwYW5bXCJydW5IYW5kbGVyXCJdID0gXCJBcHBSb3V0ZVJvdXRlSGFuZGxlcnMucnVuSGFuZGxlclwiO1xufSkoQXBwUm91dGVSb3V0ZUhhbmRsZXJzU3BhbiB8fCAoQXBwUm91dGVSb3V0ZUhhbmRsZXJzU3BhbiA9IHt9KSk7XG52YXIgUmVzb2x2ZU1ldGFkYXRhU3BhbjtcbihmdW5jdGlvbihSZXNvbHZlTWV0YWRhdGFTcGFuKSB7XG4gICAgUmVzb2x2ZU1ldGFkYXRhU3BhbltcImdlbmVyYXRlTWV0YWRhdGFcIl0gPSBcIlJlc29sdmVNZXRhZGF0YS5nZW5lcmF0ZU1ldGFkYXRhXCI7XG4gICAgUmVzb2x2ZU1ldGFkYXRhU3BhbltcImdlbmVyYXRlVmlld3BvcnRcIl0gPSBcIlJlc29sdmVNZXRhZGF0YS5nZW5lcmF0ZVZpZXdwb3J0XCI7XG59KShSZXNvbHZlTWV0YWRhdGFTcGFuIHx8IChSZXNvbHZlTWV0YWRhdGFTcGFuID0ge30pKTtcbmNvbnN0IE5leHRWYW5pbGxhU3BhbkFsbG93bGlzdCA9IFtcbiAgICBcIkJhc2VTZXJ2ZXIuaGFuZGxlUmVxdWVzdFwiLFxuICAgIFwiUmVuZGVyLmdldFNlcnZlclNpZGVQcm9wc1wiLFxuICAgIFwiUmVuZGVyLmdldFN0YXRpY1Byb3BzXCIsXG4gICAgXCJBcHBSZW5kZXIuZmV0Y2hcIixcbiAgICBcIkFwcFJlbmRlci5nZXRCb2R5UmVzdWx0XCIsXG4gICAgXCJSZW5kZXIucmVuZGVyRG9jdW1lbnRcIixcbiAgICBcIk5vZGUucnVuSGFuZGxlclwiLFxuICAgIFwiQXBwUm91dGVSb3V0ZUhhbmRsZXJzLnJ1bkhhbmRsZXJcIixcbiAgICBcIlJlc29sdmVNZXRhZGF0YS5nZW5lcmF0ZU1ldGFkYXRhXCIsXG4gICAgXCJSZXNvbHZlTWV0YWRhdGEuZ2VuZXJhdGVWaWV3cG9ydFwiLFxuICAgIFwiTmV4dE5vZGVTZXJ2ZXIuZmluZFBhZ2VDb21wb25lbnRzXCIsXG4gICAgXCJOZXh0Tm9kZVNlcnZlci5nZXRMYXlvdXRPclBhZ2VNb2R1bGVcIlxuXTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3RhbnRzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIk5leHRWYW5pbGxhU3BhbkFsbG93bGlzdCIsIkJhc2VTZXJ2ZXJTcGFuIiwiTG9hZENvbXBvbmVudHNTcGFuIiwiTmV4dFNlcnZlclNwYW4iLCJOZXh0Tm9kZVNlcnZlclNwYW4iLCJTdGFydFNlcnZlclNwYW4iLCJSZW5kZXJTcGFuIiwiUm91dGVyU3BhbiIsIkFwcFJlbmRlclNwYW4iLCJOb2RlU3BhbiIsIkFwcFJvdXRlUm91dGVIYW5kbGVyc1NwYW4iLCJSZXNvbHZlTWV0YWRhdGFTcGFuIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/lib/trace/constants.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/lib/trace/tracer.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/server/lib/trace/tracer.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getTracer: function() {\n return getTracer;\n },\n SpanStatusCode: function() {\n return SpanStatusCode;\n },\n SpanKind: function() {\n return SpanKind;\n }\n});\nconst _constants = __webpack_require__(/*! ./constants */ \"(action-browser)/./node_modules/next/dist/server/lib/trace/constants.js\");\nlet api;\n// we want to allow users to use their own version of @opentelemetry/api if they\n// want to, so we try to require it first, and if it fails we fall back to the\n// version that is bundled with Next.js\n// this is because @opentelemetry/api has to be synced with the version of\n// @opentelemetry/tracing that is used, and we don't want to force users to use\n// the version that is bundled with Next.js.\n// the API is ~stable, so this should be fine\nif (false) {} else {\n try {\n api = __webpack_require__(/*! @opentelemetry/api */ \"(action-browser)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js\");\n } catch (err) {\n api = __webpack_require__(/*! next/dist/compiled/@opentelemetry/api */ \"(action-browser)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js\");\n }\n}\nconst { context, propagation, trace, SpanStatusCode, SpanKind, ROOT_CONTEXT } = api;\nconst isPromise = (p)=>{\n return p !== null && typeof p === \"object\" && typeof p.then === \"function\";\n};\nconst closeSpanWithError = (span, error)=>{\n if ((error == null ? void 0 : error.bubble) === true) {\n span.setAttribute(\"next.bubble\", true);\n } else {\n if (error) {\n span.recordException(error);\n }\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: error == null ? void 0 : error.message\n });\n }\n span.end();\n};\n/** we use this map to propagate attributes from nested spans to the top span */ const rootSpanAttributesStore = new Map();\nconst rootSpanIdKey = api.createContextKey(\"next.rootSpanId\");\nlet lastSpanId = 0;\nconst getSpanId = ()=>lastSpanId++;\nclass NextTracerImpl {\n /**\n * Returns an instance to the trace with configured name.\n * Since wrap / trace can be defined in any place prior to actual trace subscriber initialization,\n * This should be lazily evaluated.\n */ getTracerInstance() {\n return trace.getTracer(\"next.js\", \"0.0.1\");\n }\n getContext() {\n return context;\n }\n getActiveScopeSpan() {\n return trace.getSpan(context == null ? void 0 : context.active());\n }\n withPropagatedContext(carrier, fn, getter) {\n const activeContext = context.active();\n if (trace.getSpanContext(activeContext)) {\n // Active span is already set, too late to propagate.\n return fn();\n }\n const remoteContext = propagation.extract(activeContext, carrier, getter);\n return context.with(remoteContext, fn);\n }\n trace(...args) {\n var _trace_getSpanContext;\n const [type, fnOrOptions, fnOrEmpty] = args;\n // coerce options form overload\n const { fn, options } = typeof fnOrOptions === \"function\" ? {\n fn: fnOrOptions,\n options: {}\n } : {\n fn: fnOrEmpty,\n options: {\n ...fnOrOptions\n }\n };\n if (!_constants.NextVanillaSpanAllowlist.includes(type) && process.env.NEXT_OTEL_VERBOSE !== \"1\" || options.hideSpan) {\n return fn();\n }\n const spanName = options.spanName ?? type;\n // Trying to get active scoped span to assign parent. If option specifies parent span manually, will try to use it.\n let spanContext = this.getSpanContext((options == null ? void 0 : options.parentSpan) ?? this.getActiveScopeSpan());\n let isRootSpan = false;\n if (!spanContext) {\n spanContext = ROOT_CONTEXT;\n isRootSpan = true;\n } else if ((_trace_getSpanContext = trace.getSpanContext(spanContext)) == null ? void 0 : _trace_getSpanContext.isRemote) {\n isRootSpan = true;\n }\n const spanId = getSpanId();\n options.attributes = {\n \"next.span_name\": spanName,\n \"next.span_type\": type,\n ...options.attributes\n };\n return context.with(spanContext.setValue(rootSpanIdKey, spanId), ()=>this.getTracerInstance().startActiveSpan(spanName, options, (span)=>{\n const onCleanup = ()=>{\n rootSpanAttributesStore.delete(spanId);\n };\n if (isRootSpan) {\n rootSpanAttributesStore.set(spanId, new Map(Object.entries(options.attributes ?? {})));\n }\n try {\n if (fn.length > 1) {\n return fn(span, (err)=>closeSpanWithError(span, err));\n }\n const result = fn(span);\n if (isPromise(result)) {\n // If there's error make sure it throws\n return result.then((res)=>{\n span.end();\n // Need to pass down the promise result,\n // it could be react stream response with error { error, stream }\n return res;\n }).catch((err)=>{\n closeSpanWithError(span, err);\n throw err;\n }).finally(onCleanup);\n } else {\n span.end();\n onCleanup();\n }\n return result;\n } catch (err) {\n closeSpanWithError(span, err);\n onCleanup();\n throw err;\n }\n }));\n }\n wrap(...args) {\n const tracer = this;\n const [name, options, fn] = args.length === 3 ? args : [\n args[0],\n {},\n args[1]\n ];\n if (!_constants.NextVanillaSpanAllowlist.includes(name) && process.env.NEXT_OTEL_VERBOSE !== \"1\") {\n return fn;\n }\n return function() {\n let optionsObj = options;\n if (typeof optionsObj === \"function\" && typeof fn === \"function\") {\n optionsObj = optionsObj.apply(this, arguments);\n }\n const lastArgId = arguments.length - 1;\n const cb = arguments[lastArgId];\n if (typeof cb === \"function\") {\n const scopeBoundCb = tracer.getContext().bind(context.active(), cb);\n return tracer.trace(name, optionsObj, (_span, done)=>{\n arguments[lastArgId] = function(err) {\n done == null ? void 0 : done(err);\n return scopeBoundCb.apply(this, arguments);\n };\n return fn.apply(this, arguments);\n });\n } else {\n return tracer.trace(name, optionsObj, ()=>fn.apply(this, arguments));\n }\n };\n }\n startSpan(...args) {\n const [type, options] = args;\n const spanContext = this.getSpanContext((options == null ? void 0 : options.parentSpan) ?? this.getActiveScopeSpan());\n return this.getTracerInstance().startSpan(type, options, spanContext);\n }\n getSpanContext(parentSpan) {\n const spanContext = parentSpan ? trace.setSpan(context.active(), parentSpan) : undefined;\n return spanContext;\n }\n getRootSpanAttributes() {\n const spanId = context.active().getValue(rootSpanIdKey);\n return rootSpanAttributesStore.get(spanId);\n }\n}\nconst getTracer = (()=>{\n const tracer = new NextTracerImpl();\n return ()=>tracer;\n})(); //# sourceMappingURL=tracer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2xpYi90cmFjZS90cmFjZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FJTjtBQUNBLFNBQVNJLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlWLE9BQU9DLGNBQWMsQ0FBQ1EsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTixTQUFTO0lBQ2JHLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsVUFBVTtRQUNOLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLGFBQWFDLG1CQUFPQSxDQUFDLDRGQUFhO0FBQ3hDLElBQUlDO0FBQ0osZ0ZBQWdGO0FBQ2hGLDhFQUE4RTtBQUM5RSx1Q0FBdUM7QUFDdkMsMEVBQTBFO0FBQzFFLCtFQUErRTtBQUMvRSw0Q0FBNEM7QUFDNUMsNkNBQTZDO0FBQzdDLElBQUlDLEtBQW1DLEVBQUUsRUFFeEMsTUFBTTtJQUNILElBQUk7UUFDQUQsTUFBTUQsbUJBQU9BLENBQUMsMEdBQW9CO0lBQ3RDLEVBQUUsT0FBT0ssS0FBSztRQUNWSixNQUFNRCxtQkFBT0EsQ0FBQyw2SEFBdUM7SUFDekQ7QUFDSjtBQUNBLE1BQU0sRUFBRU0sT0FBTyxFQUFFQyxXQUFXLEVBQUVDLEtBQUssRUFBRWpCLGNBQWMsRUFBRUMsUUFBUSxFQUFFaUIsWUFBWSxFQUFFLEdBQUdSO0FBQ2hGLE1BQU1TLFlBQVksQ0FBQ0M7SUFDZixPQUFPQSxNQUFNLFFBQVEsT0FBT0EsTUFBTSxZQUFZLE9BQU9BLEVBQUVDLElBQUksS0FBSztBQUNwRTtBQUNBLE1BQU1DLHFCQUFxQixDQUFDQyxNQUFNQztJ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LGNBQWM2QjtRQUMvRSxPQUFPOUI7SUFDWDtJQUNBK0Isd0JBQXdCO1FBQ3BCLE1BQU0zQixTQUFTdEQsUUFBUTZCLE1BQU0sR0FBR3FELFFBQVEsQ0FBQzlEO1FBQ3pDLE9BQU9GLHdCQUF3QjFCLEdBQUcsQ0FBQzhEO0lBQ3ZDO0FBQ0o7QUFDQSxNQUFNdEUsWUFBWSxDQUFDO0lBQ2YsTUFBTW9GLFNBQVMsSUFBSTVDO0lBQ25CLE9BQU8sSUFBSTRDO0FBQ2YsTUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9saWIvdHJhY2UvdHJhY2VyLmpzPzIwMjUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBnZXRUcmFjZXI6IG51bGwsXG4gICAgU3BhblN0YXR1c0NvZGU6IG51bGwsXG4gICAgU3BhbktpbmQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZ2V0VHJhY2VyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFRyYWNlcjtcbiAgICB9LFxuICAgIFNwYW5TdGF0dXNDb2RlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNwYW5TdGF0dXNDb2RlO1xuICAgIH0sXG4gICAgU3BhbktpbmQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU3BhbktpbmQ7XG4gICAgfVxufSk7XG5jb25zdCBfY29uc3RhbnRzID0gcmVxdWlyZShcIi4vY29uc3RhbnRzXCIpO1xubGV0IGFwaTtcbi8vIHdlIHdhbnQgdG8gYWxsb3cgdXNlcnMgdG8gdXNlIHRoZWlyIG93biB2ZXJzaW9uIG9mIEBvcGVudGVsZW1ldHJ5L2FwaSBpZiB0aGV5XG4vLyB3YW50IHRvLCBzbyB3ZSB0cnkgdG8gcmVxdWlyZSBpdCBmaXJzdCwgYW5kIGlmIGl0IGZhaWxzIHdlIGZhbGwgYmFjayB0byB0aGVcbi8vIHZlcnNpb24gdGhhdCBpcyBidW5kbGVkIHdpdGggTmV4dC5qc1xuLy8gdGhpcyBpcyBiZWNhdXNlIEBvcGVudGVsZW1ldHJ5L2FwaSBoYXMgdG8gYmUgc3luY2VkIHdpdGggdGhlIHZlcnNpb24gb2Zcbi8vIEBvcGVudGVsZW1ldHJ5L3RyYWNpbmcgdGhhdCBpcyB1c2VkLCBhbmQgd2UgZG9uJ3Qgd2FudCB0byBmb3JjZSB1c2VycyB0byB1c2Vcbi8vIHRoZSB2ZXJzaW9uIHRoYXQgaXMgYnVuZGxlZCB3aXRoIE5leHQuanMuXG4vLyB0aGUgQVBJIGlzIH5zdGFibGUsIHNvIHRoaXMgc2hvdWxkIGJlIGZpbmVcbmlmIChwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgPT09IFwiZWRnZVwiKSB7XG4gICAgYXBpID0gcmVxdWlyZShcIkBvcGVudGVsZW1ldHJ5L2FwaVwiKTtcbn0gZWxzZSB7XG4gICAgdHJ5IHtcbiAgICAgICAgYXBpID0gcmVxdWlyZShcIkBvcGVudGVsZW1ldHJ5L2FwaVwiKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgYXBpID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9Ab3BlbnRlbGVtZXRyeS9hcGlcIik7XG4gICAgfVxufVxuY29uc3QgeyBjb250ZXh0LCBwcm9wYWdhdGlvbiwgdHJhY2UsIFNwYW5TdGF0dXNDb2RlLCBTcGFuS2luZCwgUk9PVF9DT05URVhUIH0gPSBhcGk7XG5jb25zdCBpc1Byb21pc2UgPSAocCk9PntcbiAgICByZXR1cm4gcCAhPT0gbnVsbCAmJiB0eXBlb2YgcCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgcC50aGVuID09PSBcImZ1bmN0aW9uXCI7XG59O1xuY29uc3QgY2xvc2VTcGFuV2l0aEVycm9yID0gKHNwYW4sIGVycm9yKT0+e1xuICAgIGlmICgoZXJyb3IgPT0gbnVsbCA/IHZvaWQgMCA6IGVycm9yLmJ1YmJsZSkgPT09IHRydWUpIHtcbiAgICAgICAgc3Bhbi5zZXRBdHRyaWJ1dGUoXCJuZXh0LmJ1YmJsZVwiLCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHNwYW4ucmVjb3JkRXhjZXB0aW9uKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuLnNldFN0YXR1cyh7XG4gICAgICAgICAgICBjb2RlOiBTcGFuU3RhdHVzQ29kZS5FUlJPUixcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yID09IG51bGwgPyB2b2lkIDAgOiBlcnJvci5tZXNzYWdlXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzcGFuLmVuZCgpO1xufTtcbi8qKiB3ZSB1c2UgdGhpcyBtYXAgdG8gcHJvcGFnYXRlIGF0dHJpYnV0ZXMgZnJvbSBuZXN0ZWQgc3BhbnMgdG8gdGhlIHRvcCBzcGFuICovIGNvbnN0IHJvb3RTcGFuQXR0cmlidXRlc1N0b3JlID0gbmV3IE1hcCgpO1xuY29uc3Qgcm9vdFNwYW5JZEtleSA9IGFwaS5jcmVhdGVDb250ZXh0S2V5KFwibmV4dC5yb290U3BhbklkXCIpO1xubGV0IGxhc3RTcGFuSWQgPSAwO1xuY29uc3QgZ2V0U3BhbklkID0gKCk9Pmxhc3RTcGFuSWQrKztcbmNsYXNzIE5leHRUcmFjZXJJbXBsIHtcbiAgICAvKipcbiAgICogUmV0dXJucyBhbiBpbnN0YW5jZSB0byB0aGUgdHJhY2Ugd2l0aCBjb25maWd1cmVkIG5hbWUuXG4gICAqIFNpbmNlIHdyYXAgLyB0cmFjZSBjYW4gYmUgZGVmaW5lZCBpbiBhbnkgcGxhY2UgcHJpb3IgdG8gYWN0dWFsIHRyYWNlIHN1YnNjcmliZXIgaW5pdGlhbGl6YXRpb24sXG4gICAqIFRoaXMgc2hvdWxkIGJlIGxhemlseSBldmFsdWF0ZWQuXG4gICAqLyBnZXRUcmFjZXJJbnN0YW5jZSgpIHtcbiAgICAgICAgcmV0dXJuIHRyYWNlLmdldFRyYWNlcihcIm5leHQuanNcIiwgXCIwLjAuMVwiKTtcbiAgICB9XG4gICAgZ2V0Q29udGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgfVxuICAgIGdldEFjdGl2ZVNjb3BlU3BhbigpIHtcbiAgICAgICAgcmV0dXJuIHRyYWNlLmdldFNwYW4oY29udGV4dCA9PSBudWxsID8gdm9pZCAwIDogY29udGV4dC5hY3RpdmUoKSk7XG4gICAgfVxuICAgIHdpdGhQcm9wYWdhdGVkQ29udGV4dChjYXJyaWVyLCBmbiwgZ2V0dGVyKSB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZUNvbnRleHQgPSBjb250ZXh0LmFjdGl2ZSgpO1xuICAgICAgICBpZiAodHJhY2UuZ2V0U3BhbkNvbnRleHQoYWN0aXZlQ29udGV4dCkpIHtcbiAgICAgICAgICAgIC8vIEFjdGl2ZSBzcGFuIGlzIGFscmVhZHkgc2V0LCB0b28gbGF0ZSB0byBwcm9wYWdhdGUuXG4gICAgICAgICAgICByZXR1cm4gZm4oKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZW1vdGVDb250ZXh0ID0gcHJvcGFnYXRpb24uZXh0cmFjdChhY3RpdmVDb250ZXh0LCBjYXJyaWVyLCBnZXR0ZXIpO1xuICAgICAgICByZXR1cm4gY29udGV4dC53aXRoKHJlbW90ZUNvbnRleHQsIGZuKTtcbiAgICB9XG4gICAgdHJhY2UoLi4uYXJncykge1xuICAgICAgICB2YXIgX3RyYWNlX2dldFNwYW5Db250ZXh0O1xuICAgICAgICBjb25zdCBbdHlwZSwgZm5Pck9wdGlvbnMsIGZuT3JFbXB0eV0gPSBhcmdzO1xuICAgICAgICAvLyBjb2VyY2Ugb3B0aW9ucyBmb3JtIG92ZXJsb2FkXG4gICAgICAgIGNvbnN0IHsgZm4sIG9wdGlvbnMgfSA9IHR5cGVvZiBmbk9yT3B0aW9ucyA9PT0gXCJmdW5jdGlvblwiID8ge1xuICAgICAgICAgICAgZm46IGZuT3JPcHRpb25zLFxuICAgICAgICAgICAgb3B0aW9uczoge31cbiAgICAgICAgfSA6IHtcbiAgICAgICAgICAgIGZuOiBmbk9yRW1wdHksXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgLi4uZm5Pck9wdGlvbnNcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgaWYgKCFfY29uc3RhbnRzLk5leHRWYW5pbGxhU3BhbkFsbG93bGlzdC5pbmNsdWRlcyh0eXBlKSAmJiBwcm9jZXNzLmVudi5ORVhUX09URUxfVkVSQk9TRSAhPT0gXCIxXCIgfHwgb3B0aW9ucy5oaWRlU3Bhbikge1xuICAgICAgICAgICAgcmV0dXJuIGZuKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3Bhbk5hbWUgPSBvcHRpb25zLnNwYW5OYW1lID8/IHR5cGU7XG4gICAgICAgIC8vIFRyeWluZyB0byBnZXQgYWN0aXZlIHNjb3BlZCBzcGFuIHRvIGFzc2lnbiBwYXJlbnQuIElmIG9wdGlvbiBzcGVjaWZpZXMgcGFyZW50IHNwYW4gbWFudWFsbHksIHdpbGwgdHJ5IHRvIHVzZSBpdC5cbiAgICAgICAgbGV0IHNwYW5Db250ZXh0ID0gdGhpcy5nZXRTcGFuQ29udGV4dCgob3B0aW9ucyA9PSBudWxsID8gdm9pZCAwIDogb3B0aW9ucy5wYXJlbnRTcGFuKSA/PyB0aGlzLmdldEFjdGl2ZVNjb3BlU3BhbigpKTtcbiAgICAgICAgbGV0IGlzUm9vdFNwYW4gPSBmYWxzZTtcbiAgICAgICAgaWYgKCFzcGFuQ29udGV4dCkge1xuICAgICAgICAgICAgc3BhbkNvbnRleHQgPSBST09UX0NPTlRFWFQ7XG4gICAgICAgICAgICBpc1Jvb3RTcGFuID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICgoX3RyYWNlX2dldFNwYW5Db250ZXh0ID0gdHJhY2UuZ2V0U3BhbkNvbnRleHQoc3BhbkNvbnRleHQpKSA9PSBudWxsID8gdm9pZCAwIDogX3RyYWNlX2dldFNwYW5Db250ZXh0LmlzUmVtb3RlKSB7XG4gICAgICAgICAgICBpc1Jvb3RTcGFuID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzcGFuSWQgPSBnZXRTcGFuSWQoKTtcbiAgICAgICAgb3B0aW9ucy5hdHRyaWJ1dGVzID0ge1xuICAgICAgICAgICAgXCJuZXh0LnNwYW5fbmFtZVwiOiBzcGFuTmFtZSxcbiAgICAgICAgICAgIFwibmV4dC5zcGFuX3R5cGVcIjogdHlwZSxcbiAgICAgICAgICAgIC4uLm9wdGlvbnMuYXR0cmlidXRlc1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gY29udGV4dC53aXRoKHNwYW5Db250ZXh0LnNldFZhbHVlKHJvb3RTcGFuSWRLZXksIHNwYW5JZCksICgpPT50aGlzLmdldFRyYWNlckluc3RhbmNlKCkuc3RhcnRBY3RpdmVTcGFuKHNwYW5OYW1lLCBvcHRpb25zLCAoc3Bhbik9PntcbiAgICAgICAgICAgICAgICBjb25zdCBvbkNsZWFudXAgPSAoKT0+e1xuICAgICAgICAgICAgICAgICAgICByb290U3BhbkF0dHJpYnV0ZXNTdG9yZS5kZWxldGUoc3BhbklkKTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChpc1Jvb3RTcGFuKSB7XG4gICAgICAgICAgICAgICAgICAgIHJvb3RTcGFuQXR0cmlidXRlc1N0b3JlLnNldChzcGFuSWQsIG5ldyBNYXAoT2JqZWN0LmVudHJpZXMob3B0aW9ucy5hdHRyaWJ1dGVzID8/IHt9KSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZm4ubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZuKHNwYW4sIChlcnIpPT5jbG9zZVNwYW5XaXRoRXJyb3Ioc3BhbiwgZXJyKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZm4oc3Bhbik7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1Byb21pc2UocmVzdWx0KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUncyBlcnJvciBtYWtlIHN1cmUgaXQgdGhyb3dzXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LnRoZW4oKHJlcyk9PntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuLmVuZCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5lZWQgdG8gcGFzcyBkb3duIHRoZSBwcm9taXNlIHJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpdCBjb3VsZCBiZSByZWFjdCBzdHJlYW0gcmVzcG9uc2Ugd2l0aCBlcnJvciB7IGVycm9yLCBzdHJlYW0gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KS5jYXRjaCgoZXJyKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlU3BhbldpdGhFcnJvcihzcGFuLCBlcnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLmZpbmFsbHkob25DbGVhbnVwKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4uZW5kKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsZWFudXAoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICBjbG9zZVNwYW5XaXRoRXJyb3Ioc3BhbiwgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgb25DbGVhbnVwKCk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSk7XG4gICAgfVxuICAgIHdyYXAoLi4uYXJncykge1xuICAgICAgICBjb25zdCB0cmFjZXIgPSB0aGlzO1xuICAgICAgICBjb25zdCBbbmFtZSwgb3B0aW9ucywgZm5dID0gYXJncy5sZW5ndGggPT09IDMgPyBhcmdzIDogW1xuICAgICAgICAgICAgYXJnc1swXSxcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgYXJnc1sxXVxuICAgICAgICBdO1xuICAgICAgICBpZiAoIV9jb25zdGFudHMuTmV4dFZhbmlsbGFTcGFuQWxsb3dsaXN0LmluY2x1ZGVzKG5hbWUpICYmIHByb2Nlc3MuZW52Lk5FWFRfT1RFTF9WRVJCT1NFICE9PSBcIjFcIikge1xuICAgICAgICAgICAgcmV0dXJuIGZuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIGxldCBvcHRpb25zT2JqID0gb3B0aW9ucztcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9uc09iaiA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBmbiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgb3B0aW9uc09iaiA9IG9wdGlvbnNPYmouYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxhc3RBcmdJZCA9IGFyZ3VtZW50cy5sZW5ndGggLSAxO1xuICAgICAgICAgICAgY29uc3QgY2IgPSBhcmd1bWVudHNbbGFzdEFyZ0lkXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY2IgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjb3BlQm91bmRDYiA9IHRyYWNlci5nZXRDb250ZXh0KCkuYmluZChjb250ZXh0LmFjdGl2ZSgpLCBjYik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRyYWNlci50cmFjZShuYW1lLCBvcHRpb25zT2JqLCAoX3NwYW4sIGRvbmUpPT57XG4gICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50c1tsYXN0QXJnSWRdID0gZnVuY3Rpb24oZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkb25lID09IG51bGwgPyB2b2lkIDAgOiBkb25lKGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2NvcGVCb3VuZENiLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJhY2VyLnRyYWNlKG5hbWUsIG9wdGlvbnNPYmosICgpPT5mbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG4gICAgc3RhcnRTcGFuKC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgW3R5cGUsIG9wdGlvbnNdID0gYXJncztcbiAgICAgICAgY29uc3Qgc3BhbkNvbnRleHQgPSB0aGlzLmdldFNwYW5Db250ZXh0KChvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLnBhcmVudFNwYW4pID8/IHRoaXMuZ2V0QWN0aXZlU2NvcGVTcGFuKCkpO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUcmFjZXJJbnN0YW5jZSgpLnN0YXJ0U3Bhbih0eXBlLCBvcHRpb25zLCBzcGFuQ29udGV4dCk7XG4gICAgfVxuICAgIGdldFNwYW5Db250ZXh0KHBhcmVudFNwYW4pIHtcbiAgICAgICAgY29uc3Qgc3BhbkNvbnRleHQgPSBwYXJlbnRTcGFuID8gdHJhY2Uuc2V0U3Bhbihjb250ZXh0LmFjdGl2ZSgpLCBwYXJlbnRTcGFuKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHNwYW5Db250ZXh0O1xuICAgIH1cbiAgICBnZXRSb290U3BhbkF0dHJpYnV0ZXMoKSB7XG4gICAgICAgIGNvbnN0IHNwYW5JZCA9IGNvbnRleHQuYWN0aXZlKCkuZ2V0VmFsdWUocm9vdFNwYW5JZEtleSk7XG4gICAgICAgIHJldHVybiByb290U3BhbkF0dHJpYnV0ZXNTdG9yZS5nZXQoc3BhbklkKTtcbiAgICB9XG59XG5jb25zdCBnZXRUcmFjZXIgPSAoKCk9PntcbiAgICBjb25zdCB0cmFjZXIgPSBuZXcgTmV4dFRyYWNlckltcGwoKTtcbiAgICByZXR1cm4gKCk9PnRyYWNlcjtcbn0pKCk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRyYWNlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJnZXRUcmFjZXIiLCJTcGFuU3RhdHVzQ29kZSIsIlNwYW5LaW5kIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2NvbnN0YW50cyIsInJlcXVpcmUiLCJhcGkiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9SVU5USU1FIiwiZXJyIiwiY29udGV4dCIsInByb3BhZ2F0aW9uIiwidHJhY2UiLCJST09UX0NPTlRFWFQiLCJpc1Byb21pc2UiLCJwIiwidGhlbiIsImNsb3NlU3BhbldpdGhFcnJvciIsInNwYW4iLCJlcnJvciIsImJ1YmJsZSIsInNldEF0dHJpYnV0ZSIsInJlY29yZEV4Y2VwdGlvbiIsInNldFN0YXR1cyIsImNvZGUiLCJFUlJPUiIsIm1lc3NhZ2UiLCJlbmQiLCJyb290U3BhbkF0dHJpYnV0ZXNTdG9yZSIsIk1hcCIsInJvb3RTcGFuSWRLZXkiLCJjcmVhdGVDb250ZXh0S2V5IiwibGFzdFNwYW5JZCIsImdldFNwYW5JZCIsIk5leHRUcmFjZXJJbXBsIiwiZ2V0VHJhY2VySW5zdGFuY2UiLCJnZXRDb250ZXh0IiwiZ2V0QWN0aXZlU2NvcGVTcGFuIiwiZ2V0U3BhbiIsImFjdGl2ZSIsIndpdGhQcm9wYWdhdGVkQ29udGV4dCIsImNhcnJpZXIiLCJmbiIsImdldHRlciIsImFjdGl2ZUNvbnRleHQiLCJnZXRTcGFuQ29udGV4dCIsInJlbW90ZUNvbnRleHQiLCJleHRyYWN0Iiwid2l0aCIsImFyZ3MiLCJfdHJhY2VfZ2V0U3BhbkNvbnRleHQiLCJ0eXBlIiwiZm5Pck9wdGlvbnMiLCJmbk9yRW1wdHkiLCJvcHRpb25zIiwiTmV4dFZhbmlsbGFTcGFuQWxsb3dsaXN0IiwiaW5jbHVkZXMiLCJORVhUX09URUxfVkVSQk9TRSIsImhpZGVTcGFuIiwic3Bhbk5hbWUiLCJzcGFuQ29udGV4dCIsInBhcmVudFNwYW4iLCJpc1Jvb3RTcGFuIiwiaXNSZW1vdGUiLCJzcGFuSWQiLCJhdHRyaWJ1dGVzIiwic2V0VmFsdWUiLCJzdGFydEFjdGl2ZVNwYW4iLCJvbkNsZWFudXAiLCJkZWxldGUiLCJzZXQiLCJlbnRyaWVzIiwibGVuZ3RoIiwicmVzdWx0IiwicmVzIiwiY2F0Y2giLCJmaW5hbGx5Iiwid3JhcCIsInRyYWNlciIsIm9wdGlvbnNPYmoiLCJhcHBseSIsImFyZ3VtZW50cyIsImxhc3RBcmdJZCIsImNiIiwic2NvcGVCb3VuZENiIiwiYmluZCIsIl9zcGFuIiwiZG9uZSIsInN0YXJ0U3BhbiIsInNldFNwYW4iLCJ1bmRlZmluZWQiLCJnZXRSb290U3BhbkF0dHJpYnV0ZXMiLCJnZXRWYWx1ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/lib/trace/tracer.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/lib/trace/tracer.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/server/lib/trace/tracer.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getTracer: function() {\n return getTracer;\n },\n SpanStatusCode: function() {\n return SpanStatusCode;\n },\n SpanKind: function() {\n return SpanKind;\n }\n});\nconst _constants = __webpack_require__(/*! ./constants */ \"(rsc)/./node_modules/next/dist/server/lib/trace/constants.js\");\nlet api;\n// we want to allow users to use their own version of @opentelemetry/api if they\n// want to, so we try to require it first, and if it fails we fall back to the\n// version that is bundled with Next.js\n// this is because @opentelemetry/api has to be synced with the version of\n// @opentelemetry/tracing that is used, and we don't want to force users to use\n// the version that is bundled with Next.js.\n// the API is ~stable, so this should be fine\nif (false) {} else {\n try {\n api = __webpack_require__(/*! @opentelemetry/api */ \"(rsc)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js\");\n } catch (err) {\n api = __webpack_require__(/*! next/dist/compiled/@opentelemetry/api */ \"(rsc)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js\");\n }\n}\nconst { context, propagation, trace, SpanStatusCode, SpanKind, ROOT_CONTEXT } = api;\nconst isPromise = (p)=>{\n return p !== null && typeof p === \"object\" && typeof p.then === \"function\";\n};\nconst closeSpanWithError = (span, error)=>{\n if ((error == null ? void 0 : error.bubble) === true) {\n span.setAttribute(\"next.bubble\", true);\n } else {\n if (error) {\n span.recordException(error);\n }\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: error == null ? void 0 : error.message\n });\n }\n span.end();\n};\n/** we use this map to propagate attributes from nested spans to the top span */ const rootSpanAttributesStore = new Map();\nconst rootSpanIdKey = api.createContextKey(\"next.rootSpanId\");\nlet lastSpanId = 0;\nconst getSpanId = ()=>lastSpanId++;\nclass NextTracerImpl {\n /**\n * Returns an instance to the trace with configured name.\n * Since wrap / trace can be defined in any place prior to actual trace subscriber initialization,\n * This should be lazily evaluated.\n */ getTracerInstance() {\n return trace.getTracer(\"next.js\", \"0.0.1\");\n }\n getContext() {\n return context;\n }\n getActiveScopeSpan() {\n return trace.getSpan(context == null ? void 0 : context.active());\n }\n withPropagatedContext(carrier, fn, getter) {\n const activeContext = context.active();\n if (trace.getSpanContext(activeContext)) {\n // Active span is already set, too late to propagate.\n return fn();\n }\n const remoteContext = propagation.extract(activeContext, carrier, getter);\n return context.with(remoteContext, fn);\n }\n trace(...args) {\n var _trace_getSpanContext;\n const [type, fnOrOptions, fnOrEmpty] = args;\n // coerce options form overload\n const { fn, options } = typeof fnOrOptions === \"function\" ? {\n fn: fnOrOptions,\n options: {}\n } : {\n fn: fnOrEmpty,\n options: {\n ...fnOrOptions\n }\n };\n if (!_constants.NextVanillaSpanAllowlist.includes(type) && process.env.NEXT_OTEL_VERBOSE !== \"1\" || options.hideSpan) {\n return fn();\n }\n const spanName = options.spanName ?? type;\n // Trying to get active scoped span to assign parent. If option specifies parent span manually, will try to use it.\n let spanContext = this.getSpanContext((options == null ? void 0 : options.parentSpan) ?? this.getActiveScopeSpan());\n let isRootSpan = false;\n if (!spanContext) {\n spanContext = ROOT_CONTEXT;\n isRootSpan = true;\n } else if ((_trace_getSpanContext = trace.getSpanContext(spanContext)) == null ? void 0 : _trace_getSpanContext.isRemote) {\n isRootSpan = true;\n }\n const spanId = getSpanId();\n options.attributes = {\n \"next.span_name\": spanName,\n \"next.span_type\": type,\n ...options.attributes\n };\n return context.with(spanContext.setValue(rootSpanIdKey, spanId), ()=>this.getTracerInstance().startActiveSpan(spanName, options, (span)=>{\n const onCleanup = ()=>{\n rootSpanAttributesStore.delete(spanId);\n };\n if (isRootSpan) {\n rootSpanAttributesStore.set(spanId, new Map(Object.entries(options.attributes ?? {})));\n }\n try {\n if (fn.length > 1) {\n return fn(span, (err)=>closeSpanWithError(span, err));\n }\n const result = fn(span);\n if (isPromise(result)) {\n // If there's error make sure it throws\n return result.then((res)=>{\n span.end();\n // Need to pass down the promise result,\n // it could be react stream response with error { error, stream }\n return res;\n }).catch((err)=>{\n closeSpanWithError(span, err);\n throw err;\n }).finally(onCleanup);\n } else {\n span.end();\n onCleanup();\n }\n return result;\n } catch (err) {\n closeSpanWithError(span, err);\n onCleanup();\n throw err;\n }\n }));\n }\n wrap(...args) {\n const tracer = this;\n const [name, options, fn] = args.length === 3 ? args : [\n args[0],\n {},\n args[1]\n ];\n if (!_constants.NextVanillaSpanAllowlist.includes(name) && process.env.NEXT_OTEL_VERBOSE !== \"1\") {\n return fn;\n }\n return function() {\n let optionsObj = options;\n if (typeof optionsObj === \"function\" && typeof fn === \"function\") {\n optionsObj = optionsObj.apply(this, arguments);\n }\n const lastArgId = arguments.length - 1;\n const cb = arguments[lastArgId];\n if (typeof cb === \"function\") {\n const scopeBoundCb = tracer.getContext().bind(context.active(), cb);\n return tracer.trace(name, optionsObj, (_span, done)=>{\n arguments[lastArgId] = function(err) {\n done == null ? void 0 : done(err);\n return scopeBoundCb.apply(this, arguments);\n };\n return fn.apply(this, arguments);\n });\n } else {\n return tracer.trace(name, optionsObj, ()=>fn.apply(this, arguments));\n }\n };\n }\n startSpan(...args) {\n const [type, options] = args;\n const spanContext = this.getSpanContext((options == null ? void 0 : options.parentSpan) ?? this.getActiveScopeSpan());\n return this.getTracerInstance().startSpan(type, options, spanContext);\n }\n getSpanContext(parentSpan) {\n const spanContext = parentSpan ? trace.setSpan(context.active(), parentSpan) : undefined;\n return spanContext;\n }\n getRootSpanAttributes() {\n const spanId = context.active().getValue(rootSpanIdKey);\n return rootSpanAttributesStore.get(spanId);\n }\n}\nconst getTracer = (()=>{\n const tracer = new NextTracerImpl();\n return ()=>tracer;\n})(); //# sourceMappingURL=tracer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9saWIvdHJhY2UvdHJhY2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyxXQUFXO1FBQ1AsT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxhQUFhQyxtQkFBT0EsQ0FBQyxpRkFBYTtBQUN4QyxJQUFJQztBQUNKLGdGQUFnRjtBQUNoRiw4RUFBOEU7QUFDOUUsdUNBQXVDO0FBQ3ZDLDBFQUEwRTtBQUMxRSwrRUFBK0U7QUFDL0UsNENBQTRDO0FBQzVDLDZDQUE2QztBQUM3QyxJQUFJQyxLQUFtQyxFQUFFLEVBRXhDLE1BQU07SUFDSCxJQUFJO1FBQ0FELE1BQU1ELG1CQUFPQSxDQUFDLCtGQUFvQjtJQUN0QyxFQUFFLE9BQU9LLEtBQUs7UUFDVkosTUFBTUQsbUJBQU9BLENBQUMsa0hBQXVDO0lBQ3pEO0FBQ0o7QUFDQSxNQUFNLEVBQUVNLE9BQU8sRUFBRUMsV0FBVyxFQUFFQyxLQUFLLEVBQUVqQixjQUFjLEVBQUVDLFFBQVEsRUFBRWlCLFlBQVksRUFBRSxHQUFHUjtBQUNoRixNQUFNUyxZQUFZLENBQUNDO0lBQ2YsT0FBT0EsTUFBTSxRQUFRLE9BQU9BLE1BQU0sWUFBWSxPQUFPQSxFQUFFQyxJQUFJLEtBQUs7QUFDcEU7QUFDQSxNQUFNQyxxQkFBcUIsQ0FBQ0MsTUFBTUM7SUFDOUIsSUFBSSxD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L0UsT0FBTzlCO0lBQ1g7SUFDQStCLHdCQUF3QjtRQUNwQixNQUFNM0IsU0FBU3RELFFBQVE2QixNQUFNLEdBQUdxRCxRQUFRLENBQUM5RDtRQUN6QyxPQUFPRix3QkFBd0IxQixHQUFHLENBQUM4RDtJQUN2QztBQUNKO0FBQ0EsTUFBTXRFLFlBQVksQ0FBQztJQUNmLE1BQU1vRixTQUFTLElBQUk1QztJQUNuQixPQUFPLElBQUk0QztBQUNmLE1BRUEsa0NBQWtDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvbGliL3RyYWNlL3RyYWNlci5qcz8yMDI1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZ2V0VHJhY2VyOiBudWxsLFxuICAgIFNwYW5TdGF0dXNDb2RlOiBudWxsLFxuICAgIFNwYW5LaW5kOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGdldFRyYWNlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRUcmFjZXI7XG4gICAgfSxcbiAgICBTcGFuU3RhdHVzQ29kZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTcGFuU3RhdHVzQ29kZTtcbiAgICB9LFxuICAgIFNwYW5LaW5kOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNwYW5LaW5kO1xuICAgIH1cbn0pO1xuY29uc3QgX2NvbnN0YW50cyA9IHJlcXVpcmUoXCIuL2NvbnN0YW50c1wiKTtcbmxldCBhcGk7XG4vLyB3ZSB3YW50IHRvIGFsbG93IHVzZXJzIHRvIHVzZSB0aGVpciBvd24gdmVyc2lvbiBvZiBAb3BlbnRlbGVtZXRyeS9hcGkgaWYgdGhleVxuLy8gd2FudCB0bywgc28gd2UgdHJ5IHRvIHJlcXVpcmUgaXQgZmlyc3QsIGFuZCBpZiBpdCBmYWlscyB3ZSBmYWxsIGJhY2sgdG8gdGhlXG4vLyB2ZXJzaW9uIHRoYXQgaXMgYnVuZGxlZCB3aXRoIE5leHQuanNcbi8vIHRoaXMgaXMgYmVjYXVzZSBAb3BlbnRlbGVtZXRyeS9hcGkgaGFzIHRvIGJlIHN5bmNlZCB3aXRoIHRoZSB2ZXJzaW9uIG9mXG4vLyBAb3BlbnRlbGVtZXRyeS90cmFjaW5nIHRoYXQgaXMgdXNlZCwgYW5kIHdlIGRvbid0IHdhbnQgdG8gZm9yY2UgdXNlcnMgdG8gdXNlXG4vLyB0aGUgdmVyc2lvbiB0aGF0IGlzIGJ1bmRsZWQgd2l0aCBOZXh0LmpzLlxuLy8gdGhlIEFQSSBpcyB+c3RhYmxlLCBzbyB0aGlzIHNob3VsZCBiZSBmaW5lXG5pZiAocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID09PSBcImVkZ2VcIikge1xuICAgIGFwaSA9IHJlcXVpcmUoXCJAb3BlbnRlbGVtZXRyeS9hcGlcIik7XG59IGVsc2Uge1xuICAgIHRyeSB7XG4gICAgICAgIGFwaSA9IHJlcXVpcmUoXCJAb3BlbnRlbGVtZXRyeS9hcGlcIik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGFwaSA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvQG9wZW50ZWxlbWV0cnkvYXBpXCIpO1xuICAgIH1cbn1cbmNvbnN0IHsgY29udGV4dCwgcHJvcGFnYXRpb24sIHRyYWNlLCBTcGFuU3RhdHVzQ29kZSwgU3BhbktpbmQsIFJPT1RfQ09OVEVYVCB9ID0gYXBpO1xuY29uc3QgaXNQcm9taXNlID0gKHApPT57XG4gICAgcmV0dXJuIHAgIT09IG51bGwgJiYgdHlwZW9mIHAgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIHAudGhlbiA9PT0gXCJmdW5jdGlvblwiO1xufTtcbmNvbnN0IGNsb3NlU3BhbldpdGhFcnJvciA9IChzcGFuLCBlcnJvcik9PntcbiAgICBpZiAoKGVycm9yID09IG51bGwgPyB2b2lkIDAgOiBlcnJvci5idWJibGUpID09PSB0cnVlKSB7XG4gICAgICAgIHNwYW4uc2V0QXR0cmlidXRlKFwibmV4dC5idWJibGVcIiwgdHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICBzcGFuLnJlY29yZEV4Y2VwdGlvbihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbi5zZXRTdGF0dXMoe1xuICAgICAgICAgICAgY29kZTogU3BhblN0YXR1c0NvZGUuRVJST1IsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvciA9PSBudWxsID8gdm9pZCAwIDogZXJyb3IubWVzc2FnZVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgc3Bhbi5lbmQoKTtcbn07XG4vKiogd2UgdXNlIHRoaXMgbWFwIHRvIHByb3BhZ2F0ZSBhdHRyaWJ1dGVzIGZyb20gbmVzdGVkIHNwYW5zIHRvIHRoZSB0b3Agc3BhbiAqLyBjb25zdCByb290U3BhbkF0dHJpYnV0ZXNTdG9yZSA9IG5ldyBNYXAoKTtcbmNvbnN0IHJvb3RTcGFuSWRLZXkgPSBhcGkuY3JlYXRlQ29udGV4dEtleShcIm5leHQucm9vdFNwYW5JZFwiKTtcbmxldCBsYXN0U3BhbklkID0gMDtcbmNvbnN0IGdldFNwYW5JZCA9ICgpPT5sYXN0U3BhbklkKys7XG5jbGFzcyBOZXh0VHJhY2VySW1wbCB7XG4gICAgLyoqXG4gICAqIFJldHVybnMgYW4gaW5zdGFuY2UgdG8gdGhlIHRyYWNlIHdpdGggY29uZmlndXJlZCBuYW1lLlxuICAgKiBTaW5jZSB3cmFwIC8gdHJhY2UgY2FuIGJlIGRlZmluZWQgaW4gYW55IHBsYWNlIHByaW9yIHRvIGFjdHVhbCB0cmFjZSBzdWJzY3JpYmVyIGluaXRpYWxpemF0aW9uLFxuICAgKiBUaGlzIHNob3VsZCBiZSBsYXppbHkgZXZhbHVhdGVkLlxuICAgKi8gZ2V0VHJhY2VySW5zdGFuY2UoKSB7XG4gICAgICAgIHJldHVybiB0cmFjZS5nZXRUcmFjZXIoXCJuZXh0LmpzXCIsIFwiMC4wLjFcIik7XG4gICAgfVxuICAgIGdldENvbnRleHQoKSB7XG4gICAgICAgIHJldHVybiBjb250ZXh0O1xuICAgIH1cbiAgICBnZXRBY3RpdmVTY29wZVNwYW4oKSB7XG4gICAgICAgIHJldHVybiB0cmFjZS5nZXRTcGFuKGNvbnRleHQgPT0gbnVsbCA/IHZvaWQgMCA6IGNvbnRleHQuYWN0aXZlKCkpO1xuICAgIH1cbiAgICB3aXRoUHJvcGFnYXRlZENvbnRleHQoY2FycmllciwgZm4sIGdldHRlcikge1xuICAgICAgICBjb25zdCBhY3RpdmVDb250ZXh0ID0gY29udGV4dC5hY3RpdmUoKTtcbiAgICAgICAgaWYgKHRyYWNlLmdldFNwYW5Db250ZXh0KGFjdGl2ZUNvbnRleHQpKSB7XG4gICAgICAgICAgICAvLyBBY3RpdmUgc3BhbiBpcyBhbHJlYWR5IHNldCwgdG9vIGxhdGUgdG8gcHJvcGFnYXRlLlxuICAgICAgICAgICAgcmV0dXJuIGZuKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVtb3RlQ29udGV4dCA9IHByb3BhZ2F0aW9uLmV4dHJhY3QoYWN0aXZlQ29udGV4dCwgY2FycmllciwgZ2V0dGVyKTtcbiAgICAgICAgcmV0dXJuIGNvbnRleHQud2l0aChyZW1vdGVDb250ZXh0LCBmbik7XG4gICAgfVxuICAgIHRyYWNlKC4uLmFyZ3MpIHtcbiAgICAgICAgdmFyIF90cmFjZV9nZXRTcGFuQ29udGV4dDtcbiAgICAgICAgY29uc3QgW3R5cGUsIGZuT3JPcHRpb25zLCBmbk9yRW1wdHldID0gYXJncztcbiAgICAgICAgLy8gY29lcmNlIG9wdGlvbnMgZm9ybSBvdmVybG9hZFxuICAgICAgICBjb25zdCB7IGZuLCBvcHRpb25zIH0gPSB0eXBlb2YgZm5Pck9wdGlvbnMgPT09IFwiZnVuY3Rpb25cIiA/IHtcbiAgICAgICAgICAgIGZuOiBmbk9yT3B0aW9ucyxcbiAgICAgICAgICAgIG9wdGlvbnM6IHt9XG4gICAgICAgIH0gOiB7XG4gICAgICAgICAgICBmbjogZm5PckVtcHR5LFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIC4uLmZuT3JPcHRpb25zXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGlmICghX2NvbnN0YW50cy5OZXh0VmFuaWxsYVNwYW5BbGxvd2xpc3QuaW5jbHVkZXModHlwZSkgJiYgcHJvY2Vzcy5lbnYuTkVYVF9PVEVMX1ZFUkJPU0UgIT09IFwiMVwiIHx8IG9wdGlvbnMuaGlkZVNwYW4pIHtcbiAgICAgICAgICAgIHJldHVybiBmbigpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNwYW5OYW1lID0gb3B0aW9ucy5zcGFuTmFtZSA/PyB0eXBlO1xuICAgICAgICAvLyBUcnlpbmcgdG8gZ2V0IGFjdGl2ZSBzY29wZWQgc3BhbiB0byBhc3NpZ24gcGFyZW50LiBJZiBvcHRpb24gc3BlY2lmaWVzIHBhcmVudCBzcGFuIG1hbnVhbGx5LCB3aWxsIHRyeSB0byB1c2UgaXQuXG4gICAgICAgIGxldCBzcGFuQ29udGV4dCA9IHRoaXMuZ2V0U3BhbkNvbnRleHQoKG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMucGFyZW50U3BhbikgPz8gdGhpcy5nZXRBY3RpdmVTY29wZVNwYW4oKSk7XG4gICAgICAgIGxldCBpc1Jvb3RTcGFuID0gZmFsc2U7XG4gICAgICAgIGlmICghc3BhbkNvbnRleHQpIHtcbiAgICAgICAgICAgIHNwYW5Db250ZXh0ID0gUk9PVF9DT05URVhUO1xuICAgICAgICAgICAgaXNSb290U3BhbiA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoKF90cmFjZV9nZXRTcGFuQ29udGV4dCA9IHRyYWNlLmdldFNwYW5Db250ZXh0KHNwYW5Db250ZXh0KSkgPT0gbnVsbCA/IHZvaWQgMCA6IF90cmFjZV9nZXRTcGFuQ29udGV4dC5pc1JlbW90ZSkge1xuICAgICAgICAgICAgaXNSb290U3BhbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3BhbklkID0gZ2V0U3BhbklkKCk7XG4gICAgICAgIG9wdGlvbnMuYXR0cmlidXRlcyA9IHtcbiAgICAgICAgICAgIFwibmV4dC5zcGFuX25hbWVcIjogc3Bhbk5hbWUsXG4gICAgICAgICAgICBcIm5leHQuc3Bhbl90eXBlXCI6IHR5cGUsXG4gICAgICAgICAgICAuLi5vcHRpb25zLmF0dHJpYnV0ZXNcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIGNvbnRleHQud2l0aChzcGFuQ29udGV4dC5zZXRWYWx1ZShyb290U3BhbklkS2V5LCBzcGFuSWQpLCAoKT0+dGhpcy5nZXRUcmFjZXJJbnN0YW5jZSgpLnN0YXJ0QWN0aXZlU3BhbihzcGFuTmFtZSwgb3B0aW9ucywgKHNwYW4pPT57XG4gICAgICAgICAgICAgICAgY29uc3Qgb25DbGVhbnVwID0gKCk9PntcbiAgICAgICAgICAgICAgICAgICAgcm9vdFNwYW5BdHRyaWJ1dGVzU3RvcmUuZGVsZXRlKHNwYW5JZCk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBpZiAoaXNSb290U3Bhbikge1xuICAgICAgICAgICAgICAgICAgICByb290U3BhbkF0dHJpYnV0ZXNTdG9yZS5zZXQoc3BhbklkLCBuZXcgTWFwKE9iamVjdC5lbnRyaWVzKG9wdGlvbnMuYXR0cmlidXRlcyA/PyB7fSkpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZuLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmbihzcGFuLCAoZXJyKT0+Y2xvc2VTcGFuV2l0aEVycm9yKHNwYW4sIGVycikpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGZuKHNwYW4pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNQcm9taXNlKHJlc3VsdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlJ3MgZXJyb3IgbWFrZSBzdXJlIGl0IHRocm93c1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC50aGVuKChyZXMpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Bhbi5lbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOZWVkIHRvIHBhc3MgZG93biB0aGUgcHJvbWlzZSByZXN1bHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXQgY291bGQgYmUgcmVhY3Qgc3RyZWFtIHJlc3BvbnNlIHdpdGggZXJyb3IgeyBlcnJvciwgc3RyZWFtIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSkuY2F0Y2goKGVycik9PntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZVNwYW5XaXRoRXJyb3Ioc3BhbiwgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KS5maW5hbGx5KG9uQ2xlYW51cCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzcGFuLmVuZCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGVhbnVwKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xvc2VTcGFuV2l0aEVycm9yKHNwYW4sIGVycik7XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xlYW51cCgpO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkpO1xuICAgIH1cbiAgICB3cmFwKC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgdHJhY2VyID0gdGhpcztcbiAgICAgICAgY29uc3QgW25hbWUsIG9wdGlvbnMsIGZuXSA9IGFyZ3MubGVuZ3RoID09PSAzID8gYXJncyA6IFtcbiAgICAgICAgICAgIGFyZ3NbMF0sXG4gICAgICAgICAgICB7fSxcbiAgICAgICAgICAgIGFyZ3NbMV1cbiAgICAgICAgXTtcbiAgICAgICAgaWYgKCFfY29uc3RhbnRzLk5leHRWYW5pbGxhU3BhbkFsbG93bGlzdC5pbmNsdWRlcyhuYW1lKSAmJiBwcm9jZXNzLmVudi5ORVhUX09URUxfVkVSQk9TRSAhPT0gXCIxXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBmbjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBsZXQgb3B0aW9uc09iaiA9IG9wdGlvbnM7XG4gICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnNPYmogPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgZm4gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIG9wdGlvbnNPYmogPSBvcHRpb25zT2JqLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBsYXN0QXJnSWQgPSBhcmd1bWVudHMubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgIGNvbnN0IGNiID0gYXJndW1lbnRzW2xhc3RBcmdJZF07XG4gICAgICAgICAgICBpZiAodHlwZW9mIGNiID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzY29wZUJvdW5kQ2IgPSB0cmFjZXIuZ2V0Q29udGV4dCgpLmJpbmQoY29udGV4dC5hY3RpdmUoKSwgY2IpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmFjZXIudHJhY2UobmFtZSwgb3B0aW9uc09iaiwgKF9zcGFuLCBkb25lKT0+e1xuICAgICAgICAgICAgICAgICAgICBhcmd1bWVudHNbbGFzdEFyZ0lkXSA9IGZ1bmN0aW9uKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9uZSA9PSBudWxsID8gdm9pZCAwIDogZG9uZShlcnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNjb3BlQm91bmRDYi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRyYWNlci50cmFjZShuYW1lLCBvcHRpb25zT2JqLCAoKT0+Zm4uYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIHN0YXJ0U3BhbiguLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IFt0eXBlLCBvcHRpb25zXSA9IGFyZ3M7XG4gICAgICAgIGNvbnN0IHNwYW5Db250ZXh0ID0gdGhpcy5nZXRTcGFuQ29udGV4dCgob3B0aW9ucyA9PSBudWxsID8gdm9pZCAwIDogb3B0aW9ucy5wYXJlbnRTcGFuKSA/PyB0aGlzLmdldEFjdGl2ZVNjb3BlU3BhbigpKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhY2VySW5zdGFuY2UoKS5zdGFydFNwYW4odHlwZSwgb3B0aW9ucywgc3BhbkNvbnRleHQpO1xuICAgIH1cbiAgICBnZXRTcGFuQ29udGV4dChwYXJlbnRTcGFuKSB7XG4gICAgICAgIGNvbnN0IHNwYW5Db250ZXh0ID0gcGFyZW50U3BhbiA/IHRyYWNlLnNldFNwYW4oY29udGV4dC5hY3RpdmUoKSwgcGFyZW50U3BhbikgOiB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiBzcGFuQ29udGV4dDtcbiAgICB9XG4gICAgZ2V0Um9vdFNwYW5BdHRyaWJ1dGVzKCkge1xuICAgICAgICBjb25zdCBzcGFuSWQgPSBjb250ZXh0LmFjdGl2ZSgpLmdldFZhbHVlKHJvb3RTcGFuSWRLZXkpO1xuICAgICAgICByZXR1cm4gcm9vdFNwYW5BdHRyaWJ1dGVzU3RvcmUuZ2V0KHNwYW5JZCk7XG4gICAgfVxufVxuY29uc3QgZ2V0VHJhY2VyID0gKCgpPT57XG4gICAgY29uc3QgdHJhY2VyID0gbmV3IE5leHRUcmFjZXJJbXBsKCk7XG4gICAgcmV0dXJuICgpPT50cmFjZXI7XG59KSgpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD10cmFjZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiZ2V0VHJhY2VyIiwiU3BhblN0YXR1c0NvZGUiLCJTcGFuS2luZCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9jb25zdGFudHMiLCJyZXF1aXJlIiwiYXBpIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsImVyciIsImNvbnRleHQiLCJwcm9wYWdhdGlvbiIsInRyYWNlIiwiUk9PVF9DT05URVhUIiwiaXNQcm9taXNlIiwicCIsInRoZW4iLCJjbG9zZVNwYW5XaXRoRXJyb3IiLCJzcGFuIiwiZXJyb3IiLCJidWJibGUiLCJzZXRBdHRyaWJ1dGUiLCJyZWNvcmRFeGNlcHRpb24iLCJzZXRTdGF0dXMiLCJjb2RlIiwiRVJST1IiLCJtZXNzYWdlIiwiZW5kIiwicm9vdFNwYW5BdHRyaWJ1dGVzU3RvcmUiLCJNYXAiLCJyb290U3BhbklkS2V5IiwiY3JlYXRlQ29udGV4dEtleSIsImxhc3RTcGFuSWQiLCJnZXRTcGFuSWQiLCJOZXh0VHJhY2VySW1wbCIsImdldFRyYWNlckluc3RhbmNlIiwiZ2V0Q29udGV4dCIsImdldEFjdGl2ZVNjb3BlU3BhbiIsImdldFNwYW4iLCJhY3RpdmUiLCJ3aXRoUHJvcGFnYXRlZENvbnRleHQiLCJjYXJyaWVyIiwiZm4iLCJnZXR0ZXIiLCJhY3RpdmVDb250ZXh0IiwiZ2V0U3BhbkNvbnRleHQiLCJyZW1vdGVDb250ZXh0IiwiZXh0cmFjdCIsIndpdGgiLCJhcmdzIiwiX3RyYWNlX2dldFNwYW5Db250ZXh0IiwidHlwZSIsImZuT3JPcHRpb25zIiwiZm5PckVtcHR5Iiwib3B0aW9ucyIsIk5leHRWYW5pbGxhU3BhbkFsbG93bGlzdCIsImluY2x1ZGVzIiwiTkVYVF9PVEVMX1ZFUkJPU0UiLCJoaWRlU3BhbiIsInNwYW5OYW1lIiwic3BhbkNvbnRleHQiLCJwYXJlbnRTcGFuIiwiaXNSb290U3BhbiIsImlzUmVtb3RlIiwic3BhbklkIiwiYXR0cmlidXRlcyIsInNldFZhbHVlIiwic3RhcnRBY3RpdmVTcGFuIiwib25DbGVhbnVwIiwiZGVsZXRlIiwic2V0IiwiZW50cmllcyIsImxlbmd0aCIsInJlc3VsdCIsInJlcyIsImNhdGNoIiwiZmluYWxseSIsIndyYXAiLCJ0cmFjZXIiLCJvcHRpb25zT2JqIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJsYXN0QXJnSWQiLCJjYiIsInNjb3BlQm91bmRDYiIsImJpbmQiLCJfc3BhbiIsImRvbmUiLCJzdGFydFNwYW4iLCJzZXRTcGFuIiwidW5kZWZpbmVkIiwiZ2V0Um9vdFNwYW5BdHRyaWJ1dGVzIiwiZ2V0VmFsdWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/lib/trace/tracer.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/stream-utils/encode-decode.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/server/stream-utils/encode-decode.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createDecodeTransformStream: function() {\n return createDecodeTransformStream;\n },\n createEncodeTransformStream: function() {\n return createEncodeTransformStream;\n }\n});\nfunction createDecodeTransformStream(decoder = new TextDecoder()) {\n return new TransformStream({\n transform (chunk, controller) {\n return controller.enqueue(decoder.decode(chunk, {\n stream: true\n }));\n },\n flush (controller) {\n return controller.enqueue(decoder.decode());\n }\n });\n}\nfunction createEncodeTransformStream(encoder = new TextEncoder()) {\n return new TransformStream({\n transform (chunk, controller) {\n return controller.enqueue(encoder.encode(chunk));\n }\n });\n} //# sourceMappingURL=encode-decode.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3N0cmVhbS11dGlscy9lbmNvZGUtZGVjb2RlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyw2QkFBNkI7UUFDekIsT0FBT0E7SUFDWDtJQUNBQyw2QkFBNkI7UUFDekIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsU0FBU0QsNEJBQTRCUSxVQUFVLElBQUlDLGFBQWE7SUFDNUQsT0FBTyxJQUFJQyxnQkFBZ0I7UUFDdkJDLFdBQVdDLEtBQUssRUFBRUMsVUFBVTtZQUN4QixPQUFPQSxXQUFXQyxPQUFPLENBQUNOLFFBQVFPLE1BQU0sQ0FBQ0gsT0FBTztnQkFDNUNJLFFBQVE7WUFDWjtRQUNKO1FBQ0FDLE9BQU9KLFVBQVU7WUFDYixPQUFPQSxXQUFXQyxPQUFPLENBQUNOLFFBQVFPLE1BQU07UUFDNUM7SUFDSjtBQUNKO0FBQ0EsU0FBU2QsNEJBQTRCaUIsVUFBVSxJQUFJQyxhQUFhO0lBQzVELE9BQU8sSUFBSVQsZ0JBQWdCO1FBQ3ZCQyxXQUFXQyxLQUFLLEVBQUVDLFVBQVU7WUFDeEIsT0FBT0EsV0FBV0MsT0FBTyxDQUFDSSxRQUFRRSxNQUFNLENBQUNSO1FBQzdDO0lBQ0o7QUFDSixFQUVBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3N0cmVhbS11dGlscy9lbmNvZGUtZGVjb2RlLmpzPzVlYTEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBjcmVhdGVEZWNvZGVUcmFuc2Zvcm1TdHJlYW06IG51bGwsXG4gICAgY3JlYXRlRW5jb2RlVHJhbnNmb3JtU3RyZWFtOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGNyZWF0ZURlY29kZVRyYW5zZm9ybVN0cmVhbTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVEZWNvZGVUcmFuc2Zvcm1TdHJlYW07XG4gICAgfSxcbiAgICBjcmVhdGVFbmNvZGVUcmFuc2Zvcm1TdHJlYW06IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlRW5jb2RlVHJhbnNmb3JtU3RyZWFtO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gY3JlYXRlRGVjb2RlVHJhbnNmb3JtU3RyZWFtKGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoKSkge1xuICAgIHJldHVybiBuZXcgVHJhbnNmb3JtU3RyZWFtKHtcbiAgICAgICAgdHJhbnNmb3JtIChjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXIuZW5xdWV1ZShkZWNvZGVyLmRlY29kZShjaHVuaywge1xuICAgICAgICAgICAgICAgIHN0cmVhbTogdHJ1ZVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9LFxuICAgICAgICBmbHVzaCAoY29udHJvbGxlcikge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXIuZW5xdWV1ZShkZWNvZGVyLmRlY29kZSgpKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuZnVuY3Rpb24gY3JlYXRlRW5jb2RlVHJhbnNmb3JtU3RyZWFtKGVuY29kZXIgPSBuZXcgVGV4dEVuY29kZXIoKSkge1xuICAgIHJldHVybiBuZXcgVHJhbnNmb3JtU3RyZWFtKHtcbiAgICAgICAgdHJhbnNmb3JtIChjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXIuZW5xdWV1ZShlbmNvZGVyLmVuY29kZShjaHVuaykpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVuY29kZS1kZWNvZGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiY3JlYXRlRGVjb2RlVHJhbnNmb3JtU3RyZWFtIiwiY3JlYXRlRW5jb2RlVHJhbnNmb3JtU3RyZWFtIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZGVjb2RlciIsIlRleHREZWNvZGVyIiwiVHJhbnNmb3JtU3RyZWFtIiwidHJhbnNmb3JtIiwiY2h1bmsiLCJjb250cm9sbGVyIiwiZW5xdWV1ZSIsImRlY29kZSIsInN0cmVhbSIsImZsdXNoIiwiZW5jb2RlciIsIlRleHRFbmNvZGVyIiwiZW5jb2RlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/stream-utils/encode-decode.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/stream-utils/node-web-streams-helper.js": /*!*******************************************************************************!*\ !*** ./node_modules/next/dist/server/stream-utils/node-web-streams-helper.js ***! \*******************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n cloneTransformStream: function() {\n return cloneTransformStream;\n },\n chainStreams: function() {\n return chainStreams;\n },\n streamFromString: function() {\n return streamFromString;\n },\n streamToString: function() {\n return streamToString;\n },\n createBufferedTransformStream: function() {\n return createBufferedTransformStream;\n },\n renderToInitialFizzStream: function() {\n return renderToInitialFizzStream;\n },\n createRootLayoutValidatorStream: function() {\n return createRootLayoutValidatorStream;\n },\n continueFizzStream: function() {\n return continueFizzStream;\n },\n continuePostponedFizzStream: function() {\n return continuePostponedFizzStream;\n }\n});\nconst _tracer = __webpack_require__(/*! ../lib/trace/tracer */ \"(action-browser)/./node_modules/next/dist/server/lib/trace/tracer.js\");\nconst _constants = __webpack_require__(/*! ../lib/trace/constants */ \"(action-browser)/./node_modules/next/dist/server/lib/trace/constants.js\");\nconst _encodedecode = __webpack_require__(/*! ./encode-decode */ \"(action-browser)/./node_modules/next/dist/server/stream-utils/encode-decode.js\");\nconst _detachedpromise = __webpack_require__(/*! ../../lib/detached-promise */ \"(action-browser)/./node_modules/next/dist/lib/detached-promise.js\");\nconst _scheduler = __webpack_require__(/*! ../../lib/scheduler */ \"(action-browser)/./node_modules/next/dist/lib/scheduler.js\");\nfunction cloneTransformStream(source) {\n const sourceReader = source.readable.getReader();\n const clone = new TransformStream({\n async start (controller) {\n while(true){\n const { done, value } = await sourceReader.read();\n if (done) {\n break;\n }\n controller.enqueue(value);\n }\n },\n // skip all piped chunks\n transform () {}\n });\n return clone;\n}\nfunction chainStreams(...streams) {\n const { readable, writable } = new TransformStream();\n let promise = Promise.resolve();\n for(let i = 0; i < streams.length; ++i){\n promise = promise.then(()=>streams[i].pipeTo(writable, {\n preventClose: i + 1 < streams.length\n }));\n }\n // Catch any errors from the streams and ignore them, they will be handled\n // by whatever is consuming the readable stream.\n promise.catch(()=>{});\n return readable;\n}\nfunction streamFromString(str) {\n const encoder = new TextEncoder();\n return new ReadableStream({\n start (controller) {\n controller.enqueue(encoder.encode(str));\n controller.close();\n }\n });\n}\nasync function streamToString(stream) {\n let buffer = \"\";\n await stream // Decode the streamed chunks to turn them into strings.\n .pipeThrough((0, _encodedecode.createDecodeTransformStream)()).pipeTo(new WritableStream({\n write (chunk) {\n buffer += chunk;\n }\n }));\n return buffer;\n}\nfunction createBufferedTransformStream() {\n let buffer = new Uint8Array();\n let pending;\n const flush = (controller)=>{\n // If we already have a pending flush, then return early.\n if (pending) return;\n const detached = new _detachedpromise.DetachedPromise();\n pending = detached;\n (0, _scheduler.scheduleImmediate)(()=>{\n try {\n controller.enqueue(buffer);\n buffer = new Uint8Array();\n } catch {\n // If an error occurs while enqueuing it can't be due to this\n // transformers fault. It's likely due to the controller being\n // errored due to the stream being cancelled.\n } finally{\n pending = undefined;\n detached.resolve();\n }\n });\n };\n return new TransformStream({\n transform (chunk, controller) {\n // Combine the previous buffer with the new chunk.\n const combined = new Uint8Array(buffer.length + chunk.byteLength);\n combined.set(buffer);\n combined.set(chunk, buffer.length);\n buffer = combined;\n // Flush the buffer to the controller.\n flush(controller);\n },\n flush () {\n if (!pending) return;\n return pending.promise;\n }\n });\n}\nfunction createInsertedHTMLStream(getServerInsertedHTML) {\n const encoder = new TextEncoder();\n return new TransformStream({\n transform: async (chunk, controller)=>{\n const html = await getServerInsertedHTML();\n if (html) {\n controller.enqueue(encoder.encode(html));\n }\n controller.enqueue(chunk);\n }\n });\n}\nfunction renderToInitialFizzStream({ ReactDOMServer, element, streamOptions }) {\n return (0, _tracer.getTracer)().trace(_constants.AppRenderSpan.renderToReadableStream, async ()=>ReactDOMServer.renderToReadableStream(element, streamOptions));\n}\nfunction createHeadInsertionTransformStream(insert) {\n let inserted = false;\n let freezing = false;\n const encoder = new TextEncoder();\n const decoder = new TextDecoder();\n return new TransformStream({\n async transform (chunk, controller) {\n // While react is flushing chunks, we don't apply insertions\n if (freezing) {\n controller.enqueue(chunk);\n return;\n }\n const insertion = await insert();\n if (inserted) {\n controller.enqueue(encoder.encode(insertion));\n controller.enqueue(chunk);\n freezing = true;\n } else {\n const content = decoder.decode(chunk);\n const index = content.indexOf(\"</head>\");\n if (index !== -1) {\n const insertedHeadContent = content.slice(0, index) + insertion + content.slice(index);\n controller.enqueue(encoder.encode(insertedHeadContent));\n freezing = true;\n inserted = true;\n }\n }\n if (!inserted) {\n controller.enqueue(chunk);\n } else {\n (0, _scheduler.scheduleImmediate)(()=>{\n freezing = false;\n });\n }\n },\n async flush (controller) {\n // Check before closing if there's anything remaining to insert.\n const insertion = await insert();\n if (insertion) {\n controller.enqueue(encoder.encode(insertion));\n }\n }\n });\n}\n// Suffix after main body content - scripts before </body>,\n// but wait for the major chunks to be enqueued.\nfunction createDeferredSuffixStream(suffix) {\n let flushed = false;\n let pending;\n const encoder = new TextEncoder();\n const flush = (controller)=>{\n const detached = new _detachedpromise.DetachedPromise();\n pending = detached;\n (0, _scheduler.scheduleImmediate)(()=>{\n try {\n controller.enqueue(encoder.encode(suffix));\n } catch {\n // If an error occurs while enqueuing it can't be due to this\n // transformers fault. It's likely due to the controller being\n // errored due to the stream being cancelled.\n } finally{\n pending = undefined;\n detached.resolve();\n }\n });\n };\n return new TransformStream({\n transform (chunk, controller) {\n controller.enqueue(chunk);\n // If we've already flushed, we're done.\n if (flushed) return;\n // Schedule the flush to happen.\n flushed = true;\n flush(controller);\n },\n flush (controller) {\n if (pending) return pending.promise;\n if (flushed) return;\n // Flush now.\n controller.enqueue(encoder.encode(suffix));\n }\n });\n}\n// Merge two streams into one. Ensure the final transform stream is closed\n// when both are finished.\nfunction createMergedTransformStream(stream) {\n let started = false;\n let pending = null;\n const start = (controller)=>{\n const reader = stream.getReader();\n // NOTE: streaming flush\n // We are buffering here for the inlined data stream because the\n // \"shell\" stream might be chunkenized again by the underlying stream\n // implementation, e.g. with a specific high-water mark. To ensure it's\n // the safe timing to pipe the data stream, this extra tick is\n // necessary.\n const detached = new _detachedpromise.DetachedPromise();\n pending = detached;\n // We use `setTimeout/setImmediate` here to ensure that it's inserted after\n // flushing the shell. Note that this implementation might get stale if impl\n // details of Fizz change in the future.\n (0, _scheduler.scheduleImmediate)(async ()=>{\n try {\n while(true){\n const { done, value } = await reader.read();\n if (done) return;\n controller.enqueue(value);\n }\n } catch (err) {\n controller.error(err);\n } finally{\n detached.resolve();\n }\n });\n };\n return new TransformStream({\n transform (chunk, controller) {\n controller.enqueue(chunk);\n // Start the streaming if it hasn't already been started yet.\n if (started) return;\n started = true;\n start(controller);\n },\n flush () {\n // If the data stream promise is defined, then return it as its completion\n // will be the completion of the stream.\n if (!pending) return;\n if (!started) return;\n return pending.promise;\n }\n });\n}\n/**\n * This transform stream moves the suffix to the end of the stream, so results\n * like `</body></html><script>...</script>` will be transformed to\n * `<script>...</script></body></html>`.\n */ function createMoveSuffixStream(suffix) {\n let foundSuffix = false;\n const encoder = new TextEncoder();\n const decoder = new TextDecoder();\n return new TransformStream({\n transform (chunk, controller) {\n if (foundSuffix) {\n return controller.enqueue(chunk);\n }\n const buf = decoder.decode(chunk);\n const index = buf.indexOf(suffix);\n if (index > -1) {\n foundSuffix = true;\n // If the whole chunk is the suffix, then don't write anything, it will\n // be written in the flush.\n if (buf.length === suffix.length) {\n return;\n }\n // Write out the part before the suffix.\n const before = buf.slice(0, index);\n chunk = encoder.encode(before);\n controller.enqueue(chunk);\n // In the case where the suffix is in the middle of the chunk, we need\n // to split the chunk into two parts.\n if (buf.length > suffix.length + index) {\n // Write out the part after the suffix.\n const after = buf.slice(index + suffix.length);\n chunk = encoder.encode(after);\n controller.enqueue(chunk);\n }\n } else {\n controller.enqueue(chunk);\n }\n },\n flush (controller) {\n // Even if we didn't find the suffix, the HTML is not valid if we don't\n // add it, so insert it at the end.\n controller.enqueue(encoder.encode(suffix));\n }\n });\n}\nfunction createRootLayoutValidatorStream(assetPrefix = \"\", getTree) {\n let foundHtml = false;\n let foundBody = false;\n const encoder = new TextEncoder();\n const decoder = new TextDecoder();\n let content = \"\";\n return new TransformStream({\n async transform (chunk, controller) {\n // Peek into the streamed chunk to see if the tags are present.\n if (!foundHtml || !foundBody) {\n content += decoder.decode(chunk, {\n stream: true\n });\n if (!foundHtml && content.includes(\"<html\")) {\n foundHtml = true;\n }\n if (!foundBody && content.includes(\"<body\")) {\n foundBody = true;\n }\n }\n controller.enqueue(chunk);\n },\n flush (controller) {\n // Flush the decoder.\n if (!foundHtml || !foundBody) {\n content += decoder.decode();\n if (!foundHtml && content.includes(\"<html\")) {\n foundHtml = true;\n }\n if (!foundBody && content.includes(\"<body\")) {\n foundBody = true;\n }\n }\n // If html or body tag is missing, we need to inject a script to notify\n // the client.\n const missingTags = [];\n if (!foundHtml) missingTags.push(\"html\");\n if (!foundBody) missingTags.push(\"body\");\n if (missingTags.length > 0) {\n controller.enqueue(encoder.encode(`<script>self.__next_root_layout_missing_tags_error=${JSON.stringify({\n missingTags,\n assetPrefix: assetPrefix ?? \"\",\n tree: getTree()\n })}</script>`));\n }\n }\n });\n}\nfunction chainTransformers(readable, transformers) {\n let stream = readable;\n for (const transformer of transformers){\n if (!transformer) continue;\n stream = stream.pipeThrough(transformer);\n }\n return stream;\n}\nasync function continueFizzStream(renderStream, { suffix, inlinedDataStream, isStaticGeneration, getServerInsertedHTML, serverInsertedHTMLToHead, validateRootLayout }) {\n const closeTag = \"</body></html>\";\n // Suffix itself might contain close tags at the end, so we need to split it.\n const suffixUnclosed = suffix ? suffix.split(closeTag, 1)[0] : null;\n // If we're generating static HTML and there's an `allReady` promise on the\n // stream, we need to wait for it to resolve before continuing.\n if (isStaticGeneration && \"allReady\" in renderStream) {\n await renderStream.allReady;\n }\n return chainTransformers(renderStream, [\n // Buffer everything to avoid flushing too frequently\n createBufferedTransformStream(),\n // Insert generated tags to head\n getServerInsertedHTML && !serverInsertedHTMLToHead ? createInsertedHTMLStream(getServerInsertedHTML) : null,\n // Insert suffix content\n suffixUnclosed != null && suffixUnclosed.length > 0 ? createDeferredSuffixStream(suffixUnclosed) : null,\n // Insert the inlined data (Flight data, form state, etc.) stream into the HTML\n inlinedDataStream ? createMergedTransformStream(inlinedDataStream) : null,\n // Close tags should always be deferred to the end\n createMoveSuffixStream(closeTag),\n // Special head insertions\n // TODO-APP: Insert server side html to end of head in app layout rendering, to avoid\n // hydration errors. Remove this once it's ready to be handled by react itself.\n getServerInsertedHTML && serverInsertedHTMLToHead ? createHeadInsertionTransformStream(getServerInsertedHTML) : null,\n validateRootLayout ? createRootLayoutValidatorStream(validateRootLayout.assetPrefix, validateRootLayout.getTree) : null\n ]);\n}\nasync function continuePostponedFizzStream(renderStream, { inlinedDataStream, isStaticGeneration, getServerInsertedHTML, serverInsertedHTMLToHead }) {\n const closeTag = \"</body></html>\";\n // If we're generating static HTML and there's an `allReady` promise on the\n // stream, we need to wait for it to resolve before continuing.\n if (isStaticGeneration && \"allReady\" in renderStream) {\n await renderStream.allReady;\n }\n return chainTransformers(renderStream, [\n // Buffer everything to avoid flushing too frequently\n createBufferedTransformStream(),\n // Insert generated tags to head\n getServerInsertedHTML && !serverInsertedHTMLToHead ? createInsertedHTMLStream(getServerInsertedHTML) : null,\n // Insert the inlined data (Flight data, form state, etc.) stream into the HTML\n inlinedDataStream ? createMergedTransformStream(inlinedDataStream) : null,\n // Close tags should always be deferred to the end\n createMoveSuffixStream(closeTag)\n ]);\n} //# sourceMappingURL=node-web-streams-helper.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3N0cmVhbS11dGlscy9ub2RlLXdlYi1zdHJlYW1zLWhlbHBlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQVVOO0FBQ0EsU0FBU1UsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSWhCLE9BQU9DLGNBQWMsQ0FBQ2MsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRWixTQUFTO0lBQ2JHLHNCQUFzQjtRQUNsQixPQUFPQTtJQUNYO0lBQ0FDLGNBQWM7UUFDVixPQUFPQTtJQUNYO0lBQ0FDLGtCQUFrQjtRQUNkLE9BQU9BO0lBQ1g7SUFDQUMsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtJQUNBQywrQkFBK0I7UUFDM0IsT0FBT0E7SUFDWDtJQUNBQywyQkFBMkI7UUFDdkIsT0FBT0E7SUFDWDtJQUNBQyxpQ0FBaUM7UUFDN0IsT0FBT0E7SUFDWDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyw2QkFBNkI7UUFDekIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sVUFBVUMsbUJBQU9BLENBQUMsaUdBQXFCO0FBQzdDLE1BQU1DLGFBQWFELG1CQUFPQSxDQUFDLHVHQUF3QjtBQUNuRCxNQUFNRSxnQkFBZ0JGLG1CQUFPQSxDQUFDLHVHQUFpQjtBQUMvQyxNQUFNRyxtQkFBbUJILG1CQUFPQSxDQUFDLHFHQUE0QjtBQUM3RCxNQUFNSSxhQUFhSixtQkFBT0EsQ0FBQyx1RkFBcUI7QUFDaEQsU0FBU2hCLHFCQUFxQnFCLE1BQU07SUFDaEMsTUFBTUMsZUFBZUQsT0FBT0UsUUFBUSxDQUFDQyxTQUFTO0lBQzlDLE1BQU1DLFFBQVEsSUFBSUMsZ0JB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QWlCLEVBQUVDLGtCQUFrQixFQUFFbEQscUJBQXFCLEVBQUVtRCx3QkFBd0IsRUFBRTtJQUMvSSxNQUFNRSxXQUFXO0lBQ2pCLDJFQUEyRTtJQUMzRSwrREFBK0Q7SUFDL0QsSUFBSUgsc0JBQXNCLGNBQWNGLGNBQWM7UUFDbEQsTUFBTUEsYUFBYVEsUUFBUTtJQUMvQjtJQUNBLE9BQU9YLGtCQUFrQkcsY0FBYztRQUNuQyxxREFBcUQ7UUFDckRoSDtRQUNBLGdDQUFnQztRQUNoQ2dFLHlCQUF5QixDQUFDbUQsMkJBQTJCcEQseUJBQXlCQyx5QkFBeUI7UUFDdkcsK0VBQStFO1FBQy9FaUQsb0JBQW9CeEIsNEJBQTRCd0IscUJBQXFCO1FBQ3JFLGtEQUFrRDtRQUNsRG5CLHVCQUF1QnVCO0tBQzFCO0FBQ0wsRUFFQSxtREFBbUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9zdHJlYW0tdXRpbHMvbm9kZS13ZWItc3RyZWFtcy1oZWxwZXIuanM/OTNmYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGNsb25lVHJhbnNmb3JtU3RyZWFtOiBudWxsLFxuICAgIGNoYWluU3RyZWFtczogbnVsbCxcbiAgICBzdHJlYW1Gcm9tU3RyaW5nOiBudWxsLFxuICAgIHN0cmVhbVRvU3RyaW5nOiBudWxsLFxuICAgIGNyZWF0ZUJ1ZmZlcmVkVHJhbnNmb3JtU3RyZWFtOiBudWxsLFxuICAgIHJlbmRlclRvSW5pdGlhbEZpenpTdHJlYW06IG51bGwsXG4gICAgY3JlYXRlUm9vdExheW91dFZhbGlkYXRvclN0cmVhbTogbnVsbCxcbiAgICBjb250aW51ZUZpenpTdHJlYW06IG51bGwsXG4gICAgY29udGludWVQb3N0cG9uZWRGaXp6U3RyZWFtOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGNsb25lVHJhbnNmb3JtU3RyZWFtOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNsb25lVHJhbnNmb3JtU3RyZWFtO1xuICAgIH0sXG4gICAgY2hhaW5TdHJlYW1zOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNoYWluU3RyZWFtcztcbiAgICB9LFxuICAgIHN0cmVhbUZyb21TdHJpbmc6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3RyZWFtRnJvbVN0cmluZztcbiAgICB9LFxuICAgIHN0cmVhbVRvU3RyaW5nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHN0cmVhbVRvU3RyaW5nO1xuICAgIH0sXG4gICAgY3JlYXRlQnVmZmVyZWRUcmFuc2Zvcm1TdHJlYW06IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlQnVmZmVyZWRUcmFuc2Zvcm1TdHJlYW07XG4gICAgfSxcbiAgICByZW5kZXJUb0luaXRpYWxGaXp6U3RyZWFtOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlbmRlclRvSW5pdGlhbEZpenpTdHJlYW07XG4gICAgfSxcbiAgICBjcmVhdGVSb290TGF5b3V0VmFsaWRhdG9yU3RyZWFtOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVJvb3RMYXlvdXRWYWxpZGF0b3JTdHJlYW07XG4gICAgfSxcbiAgICBjb250aW51ZUZpenpTdHJlYW06IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY29udGludWVGaXp6U3RyZWFtO1xuICAgIH0sXG4gICAgY29udGludWVQb3N0cG9uZWRGaXp6U3RyZWFtOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNvbnRpbnVlUG9zdHBvbmVkRml6elN0cmVhbTtcbiAgICB9XG59KTtcbmNvbnN0IF90cmFjZXIgPSByZXF1aXJlKFwiLi4vbGliL3RyYWNlL3RyYWNlclwiKTtcbmNvbnN0IF9jb25zdGFudHMgPSByZXF1aXJlKFwiLi4vbGliL3RyYWNlL2NvbnN0YW50c1wiKTtcbmNvbnN0IF9lbmNvZGVkZWNvZGUgPSByZXF1aXJlKFwiLi9lbmNvZGUtZGVjb2RlXCIpO1xuY29uc3QgX2RldGFjaGVkcHJvbWlzZSA9IHJlcXVpcmUoXCIuLi8uLi9saWIvZGV0YWNoZWQtcHJvbWlzZVwiKTtcbmNvbnN0IF9zY2hlZHVsZXIgPSByZXF1aXJlKFwiLi4vLi4vbGliL3NjaGVkdWxlclwiKTtcbmZ1bmN0aW9uIGNsb25lVHJhbnNmb3JtU3RyZWFtKHNvdXJjZSkge1xuICAgIGNvbnN0IHNvdXJjZVJlYWRlciA9IHNvdXJjZS5yZWFkYWJsZS5nZXRSZWFkZXIoKTtcbiAgICBjb25zdCBjbG9uZSA9IG5ldyBUcmFuc2Zvcm1TdHJlYW0oe1xuICAgICAgICBhc3luYyBzdGFydCAoY29udHJvbGxlcikge1xuICAgICAgICAgICAgd2hpbGUodHJ1ZSl7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBkb25lLCB2YWx1ZSB9ID0gYXdhaXQgc291cmNlUmVhZGVyLnJlYWQoKTtcbiAgICAgICAgICAgICAgICBpZiAoZG9uZSkge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgLy8gc2tpcCBhbGwgcGlwZWQgY2h1bmtzXG4gICAgICAgIHRyYW5zZm9ybSAoKSB7fVxuICAgIH0pO1xuICAgIHJldHVybiBjbG9uZTtcbn1cbmZ1bmN0aW9uIGNoYWluU3RyZWFtcyguLi5zdHJlYW1zKSB7XG4gICAgY29uc3QgeyByZWFkYWJsZSwgd3JpdGFibGUgfSA9IG5ldyBUcmFuc2Zvcm1TdHJlYW0oKTtcbiAgICBsZXQgcHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZSgpO1xuICAgIGZvcihsZXQgaSA9IDA7IGkgPCBzdHJlYW1zLmxlbmd0aDsgKytpKXtcbiAgICAgICAgcHJvbWlzZSA9IHByb21pc2UudGhlbigoKT0+c3RyZWFtc1tpXS5waXBlVG8od3JpdGFibGUsIHtcbiAgICAgICAgICAgICAgICBwcmV2ZW50Q2xvc2U6IGkgKyAxIDwgc3RyZWFtcy5sZW5ndGhcbiAgICAgICAgICAgIH0pKTtcbiAgICB9XG4gICAgLy8gQ2F0Y2ggYW55IGVycm9ycyBmcm9tIHRoZSBzdHJlYW1zIGFuZCBpZ25vcmUgdGhlbSwgdGhleSB3aWxsIGJlIGhhbmRsZWRcbiAgICAvLyBieSB3aGF0ZXZlciBpcyBjb25zdW1pbmcgdGhlIHJlYWRhYmxlIHN0cmVhbS5cbiAgICBwcm9taXNlLmNhdGNoKCgpPT57fSk7XG4gICAgcmV0dXJuIHJlYWRhYmxlO1xufVxuZnVuY3Rpb24gc3RyZWFtRnJvbVN0cmluZyhzdHIpIHtcbiAgICBjb25zdCBlbmNvZGVyID0gbmV3IFRleHRFbmNvZGVyKCk7XG4gICAgcmV0dXJuIG5ldyBSZWFkYWJsZVN0cmVhbSh7XG4gICAgICAgIHN0YXJ0IChjb250cm9sbGVyKSB7XG4gICAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUoZW5jb2Rlci5lbmNvZGUoc3RyKSk7XG4gICAgICAgICAgICBjb250cm9sbGVyLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmFzeW5jIGZ1bmN0aW9uIHN0cmVhbVRvU3RyaW5nKHN0cmVhbSkge1xuICAgIGxldCBidWZmZXIgPSBcIlwiO1xuICAgIGF3YWl0IHN0cmVhbS8vIERlY29kZSB0aGUgc3RyZWFtZWQgY2h1bmtzIHRvIHR1cm4gdGhlbSBpbnRvIHN0cmluZ3MuXG4gICAgLnBpcGVUaHJvdWdoKCgwLCBfZW5jb2RlZGVjb2RlLmNyZWF0ZURlY29kZVRyYW5zZm9ybVN0cmVhbSkoKSkucGlwZVRvKG5ldyBXcml0YWJsZVN0cmVhbSh7XG4gICAgICAgIHdyaXRlIChjaHVuaykge1xuICAgICAgICAgICAgYnVmZmVyICs9IGNodW5rO1xuICAgICAgICB9XG4gICAgfSkpO1xuICAgIHJldHVybiBidWZmZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVCdWZmZXJlZFRyYW5zZm9ybVN0cmVhbSgpIHtcbiAgICBsZXQgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoKTtcbiAgICBsZXQgcGVuZGluZztcbiAgICBjb25zdCBmbHVzaCA9IChjb250cm9sbGVyKT0+e1xuICAgICAgICAvLyBJZiB3ZSBhbHJlYWR5IGhhdmUgYSBwZW5kaW5nIGZsdXNoLCB0aGVuIHJldHVybiBlYXJseS5cbiAgICAgICAgaWYgKHBlbmRpbmcpIHJldHVybjtcbiAgICAgICAgY29uc3QgZGV0YWNoZWQgPSBuZXcgX2RldGFjaGVkcHJvbWlzZS5EZXRhY2hlZFByb21pc2UoKTtcbiAgICAgICAgcGVuZGluZyA9IGRldGFjaGVkO1xuICAgICAgICAoMCwgX3NjaGVkdWxlci5zY2hlZHVsZUltbWVkaWF0ZSkoKCk9PntcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGJ1ZmZlcik7XG4gICAgICAgICAgICAgICAgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggIHtcbiAgICAgICAgICAgIC8vIElmIGFuIGVycm9yIG9jY3VycyB3aGlsZSBlbnF1ZXVpbmcgaXQgY2FuJ3QgYmUgZHVlIHRvIHRoaXNcbiAgICAgICAgICAgIC8vIHRyYW5zZm9ybWVycyBmYXVsdC4gSXQncyBsaWtlbHkgZHVlIHRvIHRoZSBjb250cm9sbGVyIGJlaW5nXG4gICAgICAgICAgICAvLyBlcnJvcmVkIGR1ZSB0byB0aGUgc3RyZWFtIGJlaW5nIGNhbmNlbGxlZC5cbiAgICAgICAgICAgIH0gZmluYWxseXtcbiAgICAgICAgICAgICAgICBwZW5kaW5nID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGRldGFjaGVkLnJlc29sdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICByZXR1cm4gbmV3IFRyYW5zZm9ybVN0cmVhbSh7XG4gICAgICAgIHRyYW5zZm9ybSAoY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgICAgIC8vIENvbWJpbmUgdGhlIHByZXZpb3VzIGJ1ZmZlciB3aXRoIHRoZSBuZXcgY2h1bmsuXG4gICAgICAgICAgICBjb25zdCBjb21iaW5lZCA9IG5ldyBVaW50OEFycmF5KGJ1ZmZlci5sZW5ndGggKyBjaHVuay5ieXRlTGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbWJpbmVkLnNldChidWZmZXIpO1xuICAgICAgICAgICAgY29tYmluZWQuc2V0KGNodW5rLCBidWZmZXIubGVuZ3RoKTtcbiAgICAgICAgICAgIGJ1ZmZlciA9IGNvbWJpbmVkO1xuICAgICAgICAgICAgLy8gRmx1c2ggdGhlIGJ1ZmZlciB0byB0aGUgY29udHJvbGxlci5cbiAgICAgICAgICAgIGZsdXNoKGNvbnRyb2xsZXIpO1xuICAgICAgICB9LFxuICAgICAgICBmbHVzaCAoKSB7XG4gICAgICAgICAgICBpZiAoIXBlbmRpbmcpIHJldHVybjtcbiAgICAgICAgICAgIHJldHVybiBwZW5kaW5nLnByb21pc2U7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUluc2VydGVkSFRNTFN0cmVhbShnZXRTZXJ2ZXJJbnNlcnRlZEhUTUwpIHtcbiAgICBjb25zdCBlbmNvZGVyID0gbmV3IFRleHRFbmNvZGVyKCk7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2Zvcm1TdHJlYW0oe1xuICAgICAgICB0cmFuc2Zvcm06IGFzeW5jIChjaHVuaywgY29udHJvbGxlcik9PntcbiAgICAgICAgICAgIGNvbnN0IGh0bWwgPSBhd2FpdCBnZXRTZXJ2ZXJJbnNlcnRlZEhUTUwoKTtcbiAgICAgICAgICAgIGlmIChodG1sKSB7XG4gICAgICAgICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGVuY29kZXIuZW5jb2RlKGh0bWwpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShjaHVuayk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIHJlbmRlclRvSW5pdGlhbEZpenpTdHJlYW0oeyBSZWFjdERPTVNlcnZlciwgZWxlbWVudCwgc3RyZWFtT3B0aW9ucyB9KSB7XG4gICAgcmV0dXJuICgwLCBfdHJhY2VyLmdldFRyYWNlcikoKS50cmFjZShfY29uc3RhbnRzLkFwcFJlbmRlclNwYW4ucmVuZGVyVG9SZWFkYWJsZVN0cmVhbSwgYXN5bmMgKCk9PlJlYWN0RE9NU2VydmVyLnJlbmRlclRvUmVhZGFibGVTdHJlYW0oZWxlbWVudCwgc3RyZWFtT3B0aW9ucykpO1xufVxuZnVuY3Rpb24gY3JlYXRlSGVhZEluc2VydGlvblRyYW5zZm9ybVN0cmVhbShpbnNlcnQpIHtcbiAgICBsZXQgaW5zZXJ0ZWQgPSBmYWxzZTtcbiAgICBsZXQgZnJlZXppbmcgPSBmYWxzZTtcbiAgICBjb25zdCBlbmNvZGVyID0gbmV3IFRleHRFbmNvZGVyKCk7XG4gICAgY29uc3QgZGVjb2RlciA9IG5ldyBUZXh0RGVjb2RlcigpO1xuICAgIHJldHVybiBuZXcgVHJhbnNmb3JtU3RyZWFtKHtcbiAgICAgICAgYXN5bmMgdHJhbnNmb3JtIChjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICAgICAgLy8gV2hpbGUgcmVhY3QgaXMgZmx1c2hpbmcgY2h1bmtzLCB3ZSBkb24ndCBhcHBseSBpbnNlcnRpb25zXG4gICAgICAgICAgICBpZiAoZnJlZXppbmcpIHtcbiAgICAgICAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUoY2h1bmspO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGluc2VydGlvbiA9IGF3YWl0IGluc2VydCgpO1xuICAgICAgICAgICAgaWYgKGluc2VydGVkKSB7XG4gICAgICAgICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGVuY29kZXIuZW5jb2RlKGluc2VydGlvbikpO1xuICAgICAgICAgICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShjaHVuayk7XG4gICAgICAgICAgICAgICAgZnJlZXppbmcgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50ID0gZGVjb2Rlci5kZWNvZGUoY2h1bmspO1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gY29udGVudC5pbmRleE9mKFwiPC9oZWFkPlwiKTtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluc2VydGVkSGVhZENvbnRlbnQgPSBjb250ZW50LnNsaWNlKDAsIGluZGV4KSArIGluc2VydGlvbiArIGNvbnRlbnQuc2xpY2UoaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUoZW5jb2Rlci5lbmNvZGUoaW5zZXJ0ZWRIZWFkQ29udGVudCkpO1xuICAgICAgICAgICAgICAgICAgICBmcmVlemluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGluc2VydGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWluc2VydGVkKSB7XG4gICAgICAgICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGNodW5rKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgKDAsIF9zY2hlZHVsZXIuc2NoZWR1bGVJbW1lZGlhdGUpKCgpPT57XG4gICAgICAgICAgICAgICAgICAgIGZyZWV6aW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGFzeW5jIGZsdXNoIChjb250cm9sbGVyKSB7XG4gICAgICAgICAgICAvLyBDaGVjayBiZWZvcmUgY2xvc2luZyBpZiB0aGVyZSdzIGFueXRoaW5nIHJlbWFpbmluZyB0byBpbnNlcnQuXG4gICAgICAgICAgICBjb25zdCBpbnNlcnRpb24gPSBhd2FpdCBpbnNlcnQoKTtcbiAgICAgICAgICAgIGlmIChpbnNlcnRpb24pIHtcbiAgICAgICAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUoZW5jb2Rlci5lbmNvZGUoaW5zZXJ0aW9uKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbi8vIFN1ZmZpeCBhZnRlciBtYWluIGJvZHkgY29udGVudCAtIHNjcmlwdHMgYmVmb3JlIDwvYm9keT4sXG4vLyBidXQgd2FpdCBmb3IgdGhlIG1ham9yIGNodW5rcyB0byBiZSBlbnF1ZXVlZC5cbmZ1bmN0aW9uIGNyZWF0ZURlZmVycmVkU3VmZml4U3RyZWFtKHN1ZmZpeCkge1xuICAgIGxldCBmbHVzaGVkID0gZmFsc2U7XG4gICAgbGV0IHBlbmRpbmc7XG4gICAgY29uc3QgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpO1xuICAgIGNvbnN0IGZsdXNoID0gKGNvbnRyb2xsZXIpPT57XG4gICAgICAgIGNvbnN0IGRldGFjaGVkID0gbmV3IF9kZXRhY2hlZHByb21pc2UuRGV0YWNoZWRQcm9taXNlKCk7XG4gICAgICAgIHBlbmRpbmcgPSBkZXRhY2hlZDtcbiAgICAgICAgKDAsIF9zY2hlZHVsZXIuc2NoZWR1bGVJbW1lZGlhdGUpKCgpPT57XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShlbmNvZGVyLmVuY29kZShzdWZmaXgpKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggIHtcbiAgICAgICAgICAgIC8vIElmIGFuIGVycm9yIG9jY3VycyB3aGlsZSBlbnF1ZXVpbmcgaXQgY2FuJ3QgYmUgZHVlIHRvIHRoaXNcbiAgICAgICAgICAgIC8vIHRyYW5zZm9ybWVycyBmYXVsdC4gSXQncyBsaWtlbHkgZHVlIHRvIHRoZSBjb250cm9sbGVyIGJlaW5nXG4gICAgICAgICAgICAvLyBlcnJvcmVkIGR1ZSB0byB0aGUgc3RyZWFtIGJlaW5nIGNhbmNlbGxlZC5cbiAgICAgICAgICAgIH0gZmluYWxseXtcbiAgICAgICAgICAgICAgICBwZW5kaW5nID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGRldGFjaGVkLnJlc29sdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICByZXR1cm4gbmV3IFRyYW5zZm9ybVN0cmVhbSh7XG4gICAgICAgIHRyYW5zZm9ybSAoY2h1bmssIGNvbnRyb2xsZXIpIHtcbiAgICAgICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShjaHVuayk7XG4gICAgICAgICAgICAvLyBJZiB3ZSd2ZSBhbHJlYWR5IGZsdXNoZWQsIHdlJ3JlIGRvbmUuXG4gICAgICAgICAgICBpZiAoZmx1c2hlZCkgcmV0dXJuO1xuICAgICAgICAgICAgLy8gU2NoZWR1bGUgdGhlIGZsdXNoIHRvIGhhcHBlbi5cbiAgICAgICAgICAgIGZsdXNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgZmx1c2goY29udHJvbGxlcik7XG4gICAgICAgIH0sXG4gICAgICAgIGZsdXNoIChjb250cm9sbGVyKSB7XG4gICAgICAgICAgICBpZiAocGVuZGluZykgcmV0dXJuIHBlbmRpbmcucHJvbWlzZTtcbiAgICAgICAgICAgIGlmIChmbHVzaGVkKSByZXR1cm47XG4gICAgICAgICAgICAvLyBGbHVzaCBub3cuXG4gICAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUoZW5jb2Rlci5lbmNvZGUoc3VmZml4KSk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbi8vIE1lcmdlIHR3byBzdHJlYW1zIGludG8gb25lLiBFbnN1cmUgdGhlIGZpbmFsIHRyYW5zZm9ybSBzdHJlYW0gaXMgY2xvc2VkXG4vLyB3aGVuIGJvdGggYXJlIGZpbmlzaGVkLlxuZnVuY3Rpb24gY3JlYXRlTWVyZ2VkVHJhbnNmb3JtU3RyZWFtKHN0cmVhbSkge1xuICAgIGxldCBzdGFydGVkID0gZmFsc2U7XG4gICAgbGV0IHBlbmRpbmcgPSBudWxsO1xuICAgIGNvbnN0IHN0YXJ0ID0gKGNvbnRyb2xsZXIpPT57XG4gICAgICAgIGNvbnN0IHJlYWRlciA9IHN0cmVhbS5nZXRSZWFkZXIoKTtcbiAgICAgICAgLy8gTk9URTogc3RyZWFtaW5nIGZsdXNoXG4gICAgICAgIC8vIFdlIGFyZSBidWZmZXJpbmcgaGVyZSBmb3IgdGhlIGlubGluZWQgZGF0YSBzdHJlYW0gYmVjYXVzZSB0aGVcbiAgICAgICAgLy8gXCJzaGVsbFwiIHN0cmVhbSBtaWdodCBiZSBjaHVua2VuaXplZCBhZ2FpbiBieSB0aGUgdW5kZXJseWluZyBzdHJlYW1cbiAgICAgICAgLy8gaW1wbGVtZW50YXRpb24sIGUuZy4gd2l0aCBhIHNwZWNpZmljIGhpZ2gtd2F0ZXIgbWFyay4gVG8gZW5zdXJlIGl0J3NcbiAgICAgICAgLy8gdGhlIHNhZmUgdGltaW5nIHRvIHBpcGUgdGhlIGRhdGEgc3RyZWFtLCB0aGlzIGV4dHJhIHRpY2sgaXNcbiAgICAgICAgLy8gbmVjZXNzYXJ5LlxuICAgICAgICBjb25zdCBkZXRhY2hlZCA9IG5ldyBfZGV0YWNoZWRwcm9taXNlLkRldGFjaGVkUHJvbWlzZSgpO1xuICAgICAgICBwZW5kaW5nID0gZGV0YWNoZWQ7XG4gICAgICAgIC8vIFdlIHVzZSBgc2V0VGltZW91dC9zZXRJbW1lZGlhdGVgIGhlcmUgdG8gZW5zdXJlIHRoYXQgaXQncyBpbnNlcnRlZCBhZnRlclxuICAgICAgICAvLyBmbHVzaGluZyB0aGUgc2hlbGwuIE5vdGUgdGhhdCB0aGlzIGltcGxlbWVudGF0aW9uIG1pZ2h0IGdldCBzdGFsZSBpZiBpbXBsXG4gICAgICAgIC8vIGRldGFpbHMgb2YgRml6eiBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS5cbiAgICAgICAgKDAsIF9zY2hlZHVsZXIuc2NoZWR1bGVJbW1lZGlhdGUpKGFzeW5jICgpPT57XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHdoaWxlKHRydWUpe1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGRvbmUsIHZhbHVlIH0gPSBhd2FpdCByZWFkZXIucmVhZCgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZG9uZSkgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUodmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGNvbnRyb2xsZXIuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH0gZmluYWxseXtcbiAgICAgICAgICAgICAgICBkZXRhY2hlZC5yZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgcmV0dXJuIG5ldyBUcmFuc2Zvcm1TdHJlYW0oe1xuICAgICAgICB0cmFuc2Zvcm0gKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUoY2h1bmspO1xuICAgICAgICAgICAgLy8gU3RhcnQgdGhlIHN0cmVhbWluZyBpZiBpdCBoYXNuJ3QgYWxyZWFkeSBiZWVuIHN0YXJ0ZWQgeWV0LlxuICAgICAgICAgICAgaWYgKHN0YXJ0ZWQpIHJldHVybjtcbiAgICAgICAgICAgIHN0YXJ0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgc3RhcnQoY29udHJvbGxlcik7XG4gICAgICAgIH0sXG4gICAgICAgIGZsdXNoICgpIHtcbiAgICAgICAgICAgIC8vIElmIHRoZSBkYXRhIHN0cmVhbSBwcm9taXNlIGlzIGRlZmluZWQsIHRoZW4gcmV0dXJuIGl0IGFzIGl0cyBjb21wbGV0aW9uXG4gICAgICAgICAgICAvLyB3aWxsIGJlIHRoZSBjb21wbGV0aW9uIG9mIHRoZSBzdHJlYW0uXG4gICAgICAgICAgICBpZiAoIXBlbmRpbmcpIHJldHVybjtcbiAgICAgICAgICAgIGlmICghc3RhcnRlZCkgcmV0dXJuO1xuICAgICAgICAgICAgcmV0dXJuIHBlbmRpbmcucHJvbWlzZTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuLyoqXG4gKiBUaGlzIHRyYW5zZm9ybSBzdHJlYW0gbW92ZXMgdGhlIHN1ZmZpeCB0byB0aGUgZW5kIG9mIHRoZSBzdHJlYW0sIHNvIHJlc3VsdHNcbiAqIGxpa2UgYDwvYm9keT48L2h0bWw+PHNjcmlwdD4uLi48L3NjcmlwdD5gIHdpbGwgYmUgdHJhbnNmb3JtZWQgdG9cbiAqIGA8c2NyaXB0Pi4uLjwvc2NyaXB0PjwvYm9keT48L2h0bWw+YC5cbiAqLyBmdW5jdGlvbiBjcmVhdGVNb3ZlU3VmZml4U3RyZWFtKHN1ZmZpeCkge1xuICAgIGxldCBmb3VuZFN1ZmZpeCA9IGZhbHNlO1xuICAgIGNvbnN0IGVuY29kZXIgPSBuZXcgVGV4dEVuY29kZXIoKTtcbiAgICBjb25zdCBkZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKCk7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2Zvcm1TdHJlYW0oe1xuICAgICAgICB0cmFuc2Zvcm0gKGNodW5rLCBjb250cm9sbGVyKSB7XG4gICAgICAgICAgICBpZiAoZm91bmRTdWZmaXgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29udHJvbGxlci5lbnF1ZXVlKGNodW5rKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGJ1ZiA9IGRlY29kZXIuZGVjb2RlKGNodW5rKTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gYnVmLmluZGV4T2Yoc3VmZml4KTtcbiAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgZm91bmRTdWZmaXggPSB0cnVlO1xuICAgICAgICAgICAgICAgIC8vIElmIHRoZSB3aG9sZSBjaHVuayBpcyB0aGUgc3VmZml4LCB0aGVuIGRvbid0IHdyaXRlIGFueXRoaW5nLCBpdCB3aWxsXG4gICAgICAgICAgICAgICAgLy8gYmUgd3JpdHRlbiBpbiB0aGUgZmx1c2guXG4gICAgICAgICAgICAgICAgaWYgKGJ1Zi5sZW5ndGggPT09IHN1ZmZpeC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBXcml0ZSBvdXQgdGhlIHBhcnQgYmVmb3JlIHRoZSBzdWZmaXguXG4gICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlID0gYnVmLnNsaWNlKDAsIGluZGV4KTtcbiAgICAgICAgICAgICAgICBjaHVuayA9IGVuY29kZXIuZW5jb2RlKGJlZm9yZSk7XG4gICAgICAgICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGNodW5rKTtcbiAgICAgICAgICAgICAgICAvLyBJbiB0aGUgY2FzZSB3aGVyZSB0aGUgc3VmZml4IGlzIGluIHRoZSBtaWRkbGUgb2YgdGhlIGNodW5rLCB3ZSBuZWVkXG4gICAgICAgICAgICAgICAgLy8gdG8gc3BsaXQgdGhlIGNodW5rIGludG8gdHdvIHBhcnRzLlxuICAgICAgICAgICAgICAgIGlmIChidWYubGVuZ3RoID4gc3VmZml4Lmxlbmd0aCArIGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFdyaXRlIG91dCB0aGUgcGFydCBhZnRlciB0aGUgc3VmZml4LlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZnRlciA9IGJ1Zi5zbGljZShpbmRleCArIHN1ZmZpeC5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICBjaHVuayA9IGVuY29kZXIuZW5jb2RlKGFmdGVyKTtcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGNodW5rKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShjaHVuayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGZsdXNoIChjb250cm9sbGVyKSB7XG4gICAgICAgICAgICAvLyBFdmVuIGlmIHdlIGRpZG4ndCBmaW5kIHRoZSBzdWZmaXgsIHRoZSBIVE1MIGlzIG5vdCB2YWxpZCBpZiB3ZSBkb24ndFxuICAgICAgICAgICAgLy8gYWRkIGl0LCBzbyBpbnNlcnQgaXQgYXQgdGhlIGVuZC5cbiAgICAgICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShlbmNvZGVyLmVuY29kZShzdWZmaXgpKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuZnVuY3Rpb24gY3JlYXRlUm9vdExheW91dFZhbGlkYXRvclN0cmVhbShhc3NldFByZWZpeCA9IFwiXCIsIGdldFRyZWUpIHtcbiAgICBsZXQgZm91bmRIdG1sID0gZmFsc2U7XG4gICAgbGV0IGZvdW5kQm9keSA9IGZhbHNlO1xuICAgIGNvbnN0IGVuY29kZXIgPSBuZXcgVGV4dEVuY29kZXIoKTtcbiAgICBjb25zdCBkZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKCk7XG4gICAgbGV0IGNvbnRlbnQgPSBcIlwiO1xuICAgIHJldHVybiBuZXcgVHJhbnNmb3JtU3RyZWFtKHtcbiAgICAgICAgYXN5bmMgdHJhbnNmb3JtIChjaHVuaywgY29udHJvbGxlcikge1xuICAgICAgICAgICAgLy8gUGVlayBpbnRvIHRoZSBzdHJlYW1lZCBjaHVuayB0byBzZWUgaWYgdGhlIHRhZ3MgYXJlIHByZXNlbnQuXG4gICAgICAgICAgICBpZiAoIWZvdW5kSHRtbCB8fCAhZm91bmRCb2R5KSB7XG4gICAgICAgICAgICAgICAgY29udGVudCArPSBkZWNvZGVyLmRlY29kZShjaHVuaywge1xuICAgICAgICAgICAgICAgICAgICBzdHJlYW06IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoIWZvdW5kSHRtbCAmJiBjb250ZW50LmluY2x1ZGVzKFwiPGh0bWxcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgZm91bmRIdG1sID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFmb3VuZEJvZHkgJiYgY29udGVudC5pbmNsdWRlcyhcIjxib2R5XCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvdW5kQm9keSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGNodW5rKTtcbiAgICAgICAgfSxcbiAgICAgICAgZmx1c2ggKGNvbnRyb2xsZXIpIHtcbiAgICAgICAgICAgIC8vIEZsdXNoIHRoZSBkZWNvZGVyLlxuICAgICAgICAgICAgaWYgKCFmb3VuZEh0bWwgfHwgIWZvdW5kQm9keSkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gZGVjb2Rlci5kZWNvZGUoKTtcbiAgICAgICAgICAgICAgICBpZiAoIWZvdW5kSHRtbCAmJiBjb250ZW50LmluY2x1ZGVzKFwiPGh0bWxcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgZm91bmRIdG1sID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFmb3VuZEJvZHkgJiYgY29udGVudC5pbmNsdWRlcyhcIjxib2R5XCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvdW5kQm9keSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSWYgaHRtbCBvciBib2R5IHRhZyBpcyBtaXNzaW5nLCB3ZSBuZWVkIHRvIGluamVjdCBhIHNjcmlwdCB0byBub3RpZnlcbiAgICAgICAgICAgIC8vIHRoZSBjbGllbnQuXG4gICAgICAgICAgICBjb25zdCBtaXNzaW5nVGFncyA9IFtdO1xuICAgICAgICAgICAgaWYgKCFmb3VuZEh0bWwpIG1pc3NpbmdUYWdzLnB1c2goXCJodG1sXCIpO1xuICAgICAgICAgICAgaWYgKCFmb3VuZEJvZHkpIG1pc3NpbmdUYWdzLnB1c2goXCJib2R5XCIpO1xuICAgICAgICAgICAgaWYgKG1pc3NpbmdUYWdzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb250cm9sbGVyLmVucXVldWUoZW5jb2Rlci5lbmNvZGUoYDxzY3JpcHQ+c2VsZi5fX25leHRfcm9vdF9sYXlvdXRfbWlzc2luZ190YWdzX2Vycm9yPSR7SlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICBtaXNzaW5nVGFncyxcbiAgICAgICAgICAgICAgICAgICAgYXNzZXRQcmVmaXg6IGFzc2V0UHJlZml4ID8/IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgIHRyZWU6IGdldFRyZWUoKVxuICAgICAgICAgICAgICAgIH0pfTwvc2NyaXB0PmApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuZnVuY3Rpb24gY2hhaW5UcmFuc2Zvcm1lcnMocmVhZGFibGUsIHRyYW5zZm9ybWVycykge1xuICAgIGxldCBzdHJlYW0gPSByZWFkYWJsZTtcbiAgICBmb3IgKGNvbnN0IHRyYW5zZm9ybWVyIG9mIHRyYW5zZm9ybWVycyl7XG4gICAgICAgIGlmICghdHJhbnNmb3JtZXIpIGNvbnRpbnVlO1xuICAgICAgICBzdHJlYW0gPSBzdHJlYW0ucGlwZVRocm91Z2godHJhbnNmb3JtZXIpO1xuICAgIH1cbiAgICByZXR1cm4gc3RyZWFtO1xufVxuYXN5bmMgZnVuY3Rpb24gY29udGludWVGaXp6U3RyZWFtKHJlbmRlclN0cmVhbSwgeyBzdWZmaXgsIGlubGluZWREYXRhU3RyZWFtLCBpc1N0YXRpY0dlbmVyYXRpb24sIGdldFNlcnZlckluc2VydGVkSFRNTCwgc2VydmVySW5zZXJ0ZWRIVE1MVG9IZWFkLCB2YWxpZGF0ZVJvb3RMYXlvdXQgfSkge1xuICAgIGNvbnN0IGNsb3NlVGFnID0gXCI8L2JvZHk+PC9odG1sPlwiO1xuICAgIC8vIFN1ZmZpeCBpdHNlbGYgbWlnaHQgY29udGFpbiBjbG9zZSB0YWdzIGF0IHRoZSBlbmQsIHNvIHdlIG5lZWQgdG8gc3BsaXQgaXQuXG4gICAgY29uc3Qgc3VmZml4VW5jbG9zZWQgPSBzdWZmaXggPyBzdWZmaXguc3BsaXQoY2xvc2VUYWcsIDEpWzBdIDogbnVsbDtcbiAgICAvLyBJZiB3ZSdyZSBnZW5lcmF0aW5nIHN0YXRpYyBIVE1MIGFuZCB0aGVyZSdzIGFuIGBhbGxSZWFkeWAgcHJvbWlzZSBvbiB0aGVcbiAgICAvLyBzdHJlYW0sIHdlIG5lZWQgdG8gd2FpdCBmb3IgaXQgdG8gcmVzb2x2ZSBiZWZvcmUgY29udGludWluZy5cbiAgICBpZiAoaXNTdGF0aWNHZW5lcmF0aW9uICYmIFwiYWxsUmVhZHlcIiBpbiByZW5kZXJTdHJlYW0pIHtcbiAgICAgICAgYXdhaXQgcmVuZGVyU3RyZWFtLmFsbFJlYWR5O1xuICAgIH1cbiAgICByZXR1cm4gY2hhaW5UcmFuc2Zvcm1lcnMocmVuZGVyU3RyZWFtLCBbXG4gICAgICAgIC8vIEJ1ZmZlciBldmVyeXRoaW5nIHRvIGF2b2lkIGZsdXNoaW5nIHRvbyBmcmVxdWVudGx5XG4gICAgICAgIGNyZWF0ZUJ1ZmZlcmVkVHJhbnNmb3JtU3RyZWFtKCksXG4gICAgICAgIC8vIEluc2VydCBnZW5lcmF0ZWQgdGFncyB0byBoZWFkXG4gICAgICAgIGdldFNlcnZlckluc2VydGVkSFRNTCAmJiAhc2VydmVySW5zZXJ0ZWRIVE1MVG9IZWFkID8gY3JlYXRlSW5zZXJ0ZWRIVE1MU3RyZWFtKGdldFNlcnZlckluc2VydGVkSFRNTCkgOiBudWxsLFxuICAgICAgICAvLyBJbnNlcnQgc3VmZml4IGNvbnRlbnRcbiAgICAgICAgc3VmZml4VW5jbG9zZWQgIT0gbnVsbCAmJiBzdWZmaXhVbmNsb3NlZC5sZW5ndGggPiAwID8gY3JlYXRlRGVmZXJyZWRTdWZmaXhTdHJlYW0oc3VmZml4VW5jbG9zZWQpIDogbnVsbCxcbiAgICAgICAgLy8gSW5zZXJ0IHRoZSBpbmxpbmVkIGRhdGEgKEZsaWdodCBkYXRhLCBmb3JtIHN0YXRlLCBldGMuKSBzdHJlYW0gaW50byB0aGUgSFRNTFxuICAgICAgICBpbmxpbmVkRGF0YVN0cmVhbSA/IGNyZWF0ZU1lcmdlZFRyYW5zZm9ybVN0cmVhbShpbmxpbmVkRGF0YVN0cmVhbSkgOiBudWxsLFxuICAgICAgICAvLyBDbG9zZSB0YWdzIHNob3VsZCBhbHdheXMgYmUgZGVmZXJyZWQgdG8gdGhlIGVuZFxuICAgICAgICBjcmVhdGVNb3ZlU3VmZml4U3RyZWFtKGNsb3NlVGFnKSxcbiAgICAgICAgLy8gU3BlY2lhbCBoZWFkIGluc2VydGlvbnNcbiAgICAgICAgLy8gVE9ETy1BUFA6IEluc2VydCBzZXJ2ZXIgc2lkZSBodG1sIHRvIGVuZCBvZiBoZWFkIGluIGFwcCBsYXlvdXQgcmVuZGVyaW5nLCB0byBhdm9pZFxuICAgICAgICAvLyBoeWRyYXRpb24gZXJyb3JzLiBSZW1vdmUgdGhpcyBvbmNlIGl0J3MgcmVhZHkgdG8gYmUgaGFuZGxlZCBieSByZWFjdCBpdHNlbGYuXG4gICAgICAgIGdldFNlcnZlckluc2VydGVkSFRNTCAmJiBzZXJ2ZXJJbnNlcnRlZEhUTUxUb0hlYWQgPyBjcmVhdGVIZWFkSW5zZXJ0aW9uVHJhbnNmb3JtU3RyZWFtKGdldFNlcnZlckluc2VydGVkSFRNTCkgOiBudWxsLFxuICAgICAgICB2YWxpZGF0ZVJvb3RMYXlvdXQgPyBjcmVhdGVSb290TGF5b3V0VmFsaWRhdG9yU3RyZWFtKHZhbGlkYXRlUm9vdExheW91dC5hc3NldFByZWZpeCwgdmFsaWRhdGVSb290TGF5b3V0LmdldFRyZWUpIDogbnVsbFxuICAgIF0pO1xufVxuYXN5bmMgZnVuY3Rpb24gY29udGludWVQb3N0cG9uZWRGaXp6U3RyZWFtKHJlbmRlclN0cmVhbSwgeyBpbmxpbmVkRGF0YVN0cmVhbSwgaXNTdGF0aWNHZW5lcmF0aW9uLCBnZXRTZXJ2ZXJJbnNlcnRlZEhUTUwsIHNlcnZlckluc2VydGVkSFRNTFRvSGVhZCB9KSB7XG4gICAgY29uc3QgY2xvc2VUYWcgPSBcIjwvYm9keT48L2h0bWw+XCI7XG4gICAgLy8gSWYgd2UncmUgZ2VuZXJhdGluZyBzdGF0aWMgSFRNTCBhbmQgdGhlcmUncyBhbiBgYWxsUmVhZHlgIHByb21pc2Ugb24gdGhlXG4gICAgLy8gc3RyZWFtLCB3ZSBuZWVkIHRvIHdhaXQgZm9yIGl0IHRvIHJlc29sdmUgYmVmb3JlIGNvbnRpbnVpbmcuXG4gICAgaWYgKGlzU3RhdGljR2VuZXJhdGlvbiAmJiBcImFsbFJlYWR5XCIgaW4gcmVuZGVyU3RyZWFtKSB7XG4gICAgICAgIGF3YWl0IHJlbmRlclN0cmVhbS5hbGxSZWFkeTtcbiAgICB9XG4gICAgcmV0dXJuIGNoYWluVHJhbnNmb3JtZXJzKHJlbmRlclN0cmVhbSwgW1xuICAgICAgICAvLyBCdWZmZXIgZXZlcnl0aGluZyB0byBhdm9pZCBmbHVzaGluZyB0b28gZnJlcXVlbnRseVxuICAgICAgICBjcmVhdGVCdWZmZXJlZFRyYW5zZm9ybVN0cmVhbSgpLFxuICAgICAgICAvLyBJbnNlcnQgZ2VuZXJhdGVkIHRhZ3MgdG8gaGVhZFxuICAgICAgICBnZXRTZXJ2ZXJJbnNlcnRlZEhUTUwgJiYgIXNlcnZlckluc2VydGVkSFRNTFRvSGVhZCA/IGNyZWF0ZUluc2VydGVkSFRNTFN0cmVhbShnZXRTZXJ2ZXJJbnNlcnRlZEhUTUwpIDogbnVsbCxcbiAgICAgICAgLy8gSW5zZXJ0IHRoZSBpbmxpbmVkIGRhdGEgKEZsaWdodCBkYXRhLCBmb3JtIHN0YXRlLCBldGMuKSBzdHJlYW0gaW50byB0aGUgSFRNTFxuICAgICAgICBpbmxpbmVkRGF0YVN0cmVhbSA/IGNyZWF0ZU1lcmdlZFRyYW5zZm9ybVN0cmVhbShpbmxpbmVkRGF0YVN0cmVhbSkgOiBudWxsLFxuICAgICAgICAvLyBDbG9zZSB0YWdzIHNob3VsZCBhbHdheXMgYmUgZGVmZXJyZWQgdG8gdGhlIGVuZFxuICAgICAgICBjcmVhdGVNb3ZlU3VmZml4U3RyZWFtKGNsb3NlVGFnKVxuICAgIF0pO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ub2RlLXdlYi1zdHJlYW1zLWhlbHBlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJjbG9uZVRyYW5zZm9ybVN0cmVhbSIsImNoYWluU3RyZWFtcyIsInN0cmVhbUZyb21TdHJpbmciLCJzdHJlYW1Ub1N0cmluZyIsImNyZWF0ZUJ1ZmZlcmVkVHJhbnNmb3JtU3RyZWFtIiwicmVuZGVyVG9Jbml0aWFsRml6elN0cmVhbSIsImNyZWF0ZVJvb3RMYXlvdXRWYWxpZGF0b3JTdHJlYW0iLCJjb250aW51ZUZpenpTdHJlYW0iLCJjb250aW51ZVBvc3Rwb25lZEZpenpTdHJlYW0iLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfdHJhY2VyIiwicmVxdWlyZSIsIl9jb25zdGFudHMiLCJfZW5jb2RlZGVjb2RlIiwiX2RldGFjaGVkcHJvbWlzZSIsIl9zY2hlZHVsZXIiLCJzb3VyY2UiLCJzb3VyY2VSZWFkZXIiLCJyZWFkYWJsZSIsImdldFJlYWRlciIsImNsb25lIiwiVHJhbnNmb3JtU3RyZWFtIiwic3RhcnQiLCJjb250cm9sbGVyIiwiZG9uZSIsInJlYWQiLCJlbnF1ZXVlIiwidHJhbnNmb3JtIiwic3RyZWFtcyIsIndyaXRhYmxlIiwicHJvbWlzZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiaSIsImxlbmd0aCIsInRoZW4iLCJwaXBlVG8iLCJwcmV2ZW50Q2xvc2UiLCJjYXRjaCIsInN0ciIsImVuY29kZXIiLCJUZXh0RW5jb2RlciIsIlJlYWRhYmxlU3RyZWFtIiwiZW5jb2RlIiwiY2xvc2UiLCJzdHJlYW0iLCJidWZmZXIiLCJwaXBlVGhyb3VnaCIsImNyZWF0ZURlY29kZVRyYW5zZm9ybVN0cmVhbSIsIldyaXRhYmxlU3RyZWFtIiwid3JpdGUiLCJjaHVuayIsIlVpbnQ4QXJyYXkiLCJwZW5kaW5nIiwiZmx1c2giLCJkZXRhY2hlZCIsIkRldGFjaGVkUHJvbWlzZSIsInNjaGVkdWxlSW1tZWRpYXRlIiwidW5kZWZpbmVkIiwiY29tYmluZWQiLCJieXRlTGVuZ3RoIiwic2V0IiwiY3JlYXRlSW5zZXJ0ZWRIVE1MU3RyZWFtIiwiZ2V0U2VydmVySW5zZXJ0ZWRIVE1MIiwiaHRtbCIsIlJlYWN0RE9NU2VydmVyIiwiZWxlbWVudCIsInN0cmVhbU9wdGlvbnMiLCJnZXRUcmFjZXIiLCJ0cmFjZSIsIkFwcFJlbmRlclNwYW4iLCJyZW5kZXJUb1JlYWRhYmxlU3RyZWFtIiwiY3JlYXRlSGVhZEluc2VydGlvblRyYW5zZm9ybVN0cmVhbSIsImluc2VydCIsImluc2VydGVkIiwiZnJlZXppbmciLCJkZWNvZGVyIiwiVGV4dERlY29kZXIiLCJpbnNlcnRpb24iLCJjb250ZW50IiwiZGVjb2RlIiwiaW5kZXgiLCJpbmRleE9mIiwiaW5zZXJ0ZWRIZWFkQ29udGVudCIsInNsaWNlIiwiY3JlYXRlRGVmZXJyZWRTdWZmaXhTdHJlYW0iLCJzdWZmaXgiLCJmbHVzaGVkIiwiY3JlYXRlTWVyZ2VkVHJhbnNmb3JtU3RyZWFtIiwic3RhcnRlZCIsInJlYWRlciIsImVyciIsImVycm9yIiwiY3JlYXRlTW92ZVN1ZmZpeFN0cmVhbSIsImZvdW5kU3VmZml4IiwiYnVmIiwiYmVmb3JlIiwiYWZ0ZXIiLCJhc3NldFByZWZpeCIsImdldFRyZWUiLCJmb3VuZEh0bWwiLCJmb3VuZEJvZHkiLCJpbmNsdWRlcyIsIm1pc3NpbmdUYWdzIiwicHVzaCIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0cmVlIiwiY2hhaW5UcmFuc2Zvcm1lcnMiLCJ0cmFuc2Zvcm1lcnMiLCJ0cmFuc2Zvcm1lciIsInJlbmRlclN0cmVhbSIsImlubGluZWREYXRhU3RyZWFtIiwiaXNTdGF0aWNHZW5lcmF0aW9uIiwic2VydmVySW5zZXJ0ZWRIVE1MVG9IZWFkIiwidmFsaWRhdGVSb290TGF5b3V0IiwiY2xvc2VUYWciLCJzdWZmaXhVbmNsb3NlZCIsInNwbGl0IiwiYWxsUmVhZHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/stream-utils/node-web-streams-helper.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/error.js": /*!****************************************************!*\ !*** ./node_modules/next/dist/server/web/error.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PageSignatureError: function() {\n return PageSignatureError;\n },\n RemovedPageError: function() {\n return RemovedPageError;\n },\n RemovedUAError: function() {\n return RemovedUAError;\n }\n});\nclass PageSignatureError extends Error {\n constructor({ page }){\n super(`The middleware \"${page}\" accepts an async API directly with the form:\n \n export function middleware(request, event) {\n return NextResponse.redirect('/new-location')\n }\n \n Read more: https://nextjs.org/docs/messages/middleware-new-signature\n `);\n }\n}\nclass RemovedPageError extends Error {\n constructor(){\n super(`The request.page has been deprecated in favour of \\`URLPattern\\`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n `);\n }\n}\nclass RemovedUAError extends Error {\n constructor(){\n super(`The request.ua has been removed in favour of \\`userAgent\\` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n `);\n }\n} //# sourceMappingURL=error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvZXJyb3IuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FJTjtBQUNBLFNBQVNJLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlWLE9BQU9DLGNBQWMsQ0FBQ1EsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTixTQUFTO0lBQ2JHLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLGtCQUFrQjtRQUNkLE9BQU9BO0lBQ1g7SUFDQUMsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTUYsMkJBQTJCUztJQUM3QkMsWUFBWSxFQUFFQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUEsS0FBSzs7Ozs7OztFQU9wQyxDQUFDO0lBQ0M7QUFDSjtBQUNBLE1BQU1WLHlCQUF5QlE7SUFDM0JDLGFBQWE7UUFDVCxLQUFLLENBQUMsQ0FBQzs7RUFFYixDQUFDO0lBQ0M7QUFDSjtBQUNBLE1BQU1SLHVCQUF1Qk87SUFDekJDLGFBQWE7UUFDVCxLQUFLLENBQUMsQ0FBQzs7RUFFYixDQUFDO0lBQ0M7QUFDSixFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9lcnJvci5qcz9lZjk5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUGFnZVNpZ25hdHVyZUVycm9yOiBudWxsLFxuICAgIFJlbW92ZWRQYWdlRXJyb3I6IG51bGwsXG4gICAgUmVtb3ZlZFVBRXJyb3I6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUGFnZVNpZ25hdHVyZUVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBhZ2VTaWduYXR1cmVFcnJvcjtcbiAgICB9LFxuICAgIFJlbW92ZWRQYWdlRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVtb3ZlZFBhZ2VFcnJvcjtcbiAgICB9LFxuICAgIFJlbW92ZWRVQUVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJlbW92ZWRVQUVycm9yO1xuICAgIH1cbn0pO1xuY2xhc3MgUGFnZVNpZ25hdHVyZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHsgcGFnZSB9KXtcbiAgICAgICAgc3VwZXIoYFRoZSBtaWRkbGV3YXJlIFwiJHtwYWdlfVwiIGFjY2VwdHMgYW4gYXN5bmMgQVBJIGRpcmVjdGx5IHdpdGggdGhlIGZvcm06XG4gIFxuICBleHBvcnQgZnVuY3Rpb24gbWlkZGxld2FyZShyZXF1ZXN0LCBldmVudCkge1xuICAgIHJldHVybiBOZXh0UmVzcG9uc2UucmVkaXJlY3QoJy9uZXctbG9jYXRpb24nKVxuICB9XG4gIFxuICBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL21pZGRsZXdhcmUtbmV3LXNpZ25hdHVyZVxuICBgKTtcbiAgICB9XG59XG5jbGFzcyBSZW1vdmVkUGFnZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKCl7XG4gICAgICAgIHN1cGVyKGBUaGUgcmVxdWVzdC5wYWdlIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIFxcYFVSTFBhdHRlcm5cXGAuXG4gIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbWlkZGxld2FyZS1yZXF1ZXN0LXBhZ2VcbiAgYCk7XG4gICAgfVxufVxuY2xhc3MgUmVtb3ZlZFVBRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IoKXtcbiAgICAgICAgc3VwZXIoYFRoZSByZXF1ZXN0LnVhIGhhcyBiZWVuIHJlbW92ZWQgaW4gZmF2b3VyIG9mIFxcYHVzZXJBZ2VudFxcYCBmdW5jdGlvbi5cbiAgUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9taWRkbGV3YXJlLXBhcnNlLXVzZXItYWdlbnRcbiAgYCk7XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1lcnJvci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJQYWdlU2lnbmF0dXJlRXJyb3IiLCJSZW1vdmVkUGFnZUVycm9yIiwiUmVtb3ZlZFVBRXJyb3IiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwicGFnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/error.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/next-url.js": /*!*******************************************************!*\ !*** ./node_modules/next/dist/server/web/next-url.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"NextURL\", ({\n enumerable: true,\n get: function() {\n return NextURL;\n }\n}));\nconst _detectdomainlocale = __webpack_require__(/*! ../../shared/lib/i18n/detect-domain-locale */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js\");\nconst _formatnextpathnameinfo = __webpack_require__(/*! ../../shared/lib/router/utils/format-next-pathname-info */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js\");\nconst _gethostname = __webpack_require__(/*! ../../shared/lib/get-hostname */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/get-hostname.js\");\nconst _getnextpathnameinfo = __webpack_require__(/*! ../../shared/lib/router/utils/get-next-pathname-info */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js\");\nconst REGEX_LOCALHOST_HOSTNAME = /(?!^https?:\\/\\/)(127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\\[::1\\]|localhost)/;\nfunction parseURL(url, base) {\n return new URL(String(url).replace(REGEX_LOCALHOST_HOSTNAME, \"localhost\"), base && String(base).replace(REGEX_LOCALHOST_HOSTNAME, \"localhost\"));\n}\nconst Internal = Symbol(\"NextURLInternal\");\nclass NextURL {\n constructor(input, baseOrOpts, opts){\n let base;\n let options;\n if (typeof baseOrOpts === \"object\" && \"pathname\" in baseOrOpts || typeof baseOrOpts === \"string\") {\n base = baseOrOpts;\n options = opts || {};\n } else {\n options = opts || baseOrOpts || {};\n }\n this[Internal] = {\n url: parseURL(input, base ?? options.base),\n options: options,\n basePath: \"\"\n };\n this.analyze();\n }\n analyze() {\n var _this_Internal_options_nextConfig_i18n, _this_Internal_options_nextConfig, _this_Internal_domainLocale, _this_Internal_options_nextConfig_i18n1, _this_Internal_options_nextConfig1;\n const info = (0, _getnextpathnameinfo.getNextPathnameInfo)(this[Internal].url.pathname, {\n nextConfig: this[Internal].options.nextConfig,\n parseData: !undefined,\n i18nProvider: this[Internal].options.i18nProvider\n });\n const hostname = (0, _gethostname.getHostname)(this[Internal].url, this[Internal].options.headers);\n this[Internal].domainLocale = this[Internal].options.i18nProvider ? this[Internal].options.i18nProvider.detectDomainLocale(hostname) : (0, _detectdomainlocale.detectDomainLocale)((_this_Internal_options_nextConfig = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n = _this_Internal_options_nextConfig.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n.domains, hostname);\n const defaultLocale = ((_this_Internal_domainLocale = this[Internal].domainLocale) == null ? void 0 : _this_Internal_domainLocale.defaultLocale) || ((_this_Internal_options_nextConfig1 = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n1 = _this_Internal_options_nextConfig1.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n1.defaultLocale);\n this[Internal].url.pathname = info.pathname;\n this[Internal].defaultLocale = defaultLocale;\n this[Internal].basePath = info.basePath ?? \"\";\n this[Internal].buildId = info.buildId;\n this[Internal].locale = info.locale ?? defaultLocale;\n this[Internal].trailingSlash = info.trailingSlash;\n }\n formatPathname() {\n return (0, _formatnextpathnameinfo.formatNextPathnameInfo)({\n basePath: this[Internal].basePath,\n buildId: this[Internal].buildId,\n defaultLocale: !this[Internal].options.forceLocale ? this[Internal].defaultLocale : undefined,\n locale: this[Internal].locale,\n pathname: this[Internal].url.pathname,\n trailingSlash: this[Internal].trailingSlash\n });\n }\n formatSearch() {\n return this[Internal].url.search;\n }\n get buildId() {\n return this[Internal].buildId;\n }\n set buildId(buildId) {\n this[Internal].buildId = buildId;\n }\n get locale() {\n return this[Internal].locale ?? \"\";\n }\n set locale(locale) {\n var _this_Internal_options_nextConfig_i18n, _this_Internal_options_nextConfig;\n if (!this[Internal].locale || !((_this_Internal_options_nextConfig = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n = _this_Internal_options_nextConfig.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n.locales.includes(locale))) {\n throw new TypeError(`The NextURL configuration includes no locale \"${locale}\"`);\n }\n this[Internal].locale = locale;\n }\n get defaultLocale() {\n return this[Internal].defaultLocale;\n }\n get domainLocale() {\n return this[Internal].domainLocale;\n }\n get searchParams() {\n return this[Internal].url.searchParams;\n }\n get host() {\n return this[Internal].url.host;\n }\n set host(value) {\n this[Internal].url.host = value;\n }\n get hostname() {\n return this[Internal].url.hostname;\n }\n set hostname(value) {\n this[Internal].url.hostname = value;\n }\n get port() {\n return this[Internal].url.port;\n }\n set port(value) {\n this[Internal].url.port = value;\n }\n get protocol() {\n return this[Internal].url.protocol;\n }\n set protocol(value) {\n this[Internal].url.protocol = value;\n }\n get href() {\n const pathname = this.formatPathname();\n const search = this.formatSearch();\n return `${this.protocol}//${this.host}${pathname}${search}${this.hash}`;\n }\n set href(url) {\n this[Internal].url = parseURL(url);\n this.analyze();\n }\n get origin() {\n return this[Internal].url.origin;\n }\n get pathname() {\n return this[Internal].url.pathname;\n }\n set pathname(value) {\n this[Internal].url.pathname = value;\n }\n get hash() {\n return this[Internal].url.hash;\n }\n set hash(value) {\n this[Internal].url.hash = value;\n }\n get search() {\n return this[Internal].url.search;\n }\n set search(value) {\n this[Internal].url.search = value;\n }\n get password() {\n return this[Internal].url.password;\n }\n set password(value) {\n this[Internal].url.password = value;\n }\n get username() {\n return this[Internal].url.username;\n }\n set username(value) {\n this[Internal].url.username = value;\n }\n get basePath() {\n return this[Internal].basePath;\n }\n set basePath(value) {\n this[Internal].basePath = value.startsWith(\"/\") ? value : `/${value}`;\n }\n toString() {\n return this.href;\n }\n toJSON() {\n return this.href;\n }\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return {\n href: this.href,\n origin: this.origin,\n protocol: this.protocol,\n username: this.username,\n password: this.password,\n host: this.host,\n hostname: this.hostname,\n port: this.port,\n pathname: this.pathname,\n search: this.search,\n searchParams: this.searchParams,\n hash: this.hash\n };\n }\n clone() {\n return new NextURL(String(this), this[Internal].options);\n }\n} //# sourceMappingURL=next-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvbmV4dC11cmwuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHNCQUFzQkMsbUJBQU9BLENBQUMseUlBQTRDO0FBQ2hGLE1BQU1DLDBCQUEwQkQsbUJBQU9BLENBQUMsbUtBQXlEO0FBQ2pHLE1BQU1FLGVBQWVGLG1CQUFPQSxDQUFDLCtHQUErQjtBQUM1RCxNQUFNRyx1QkFBdUJILG1CQUFPQSxDQUFDLDZKQUFzRDtBQUMzRixNQUFNSSwyQkFBMkI7QUFDakMsU0FBU0MsU0FBU0MsR0FBRyxFQUFFQyxJQUFJO0lBQ3ZCLE9BQU8sSUFBSUMsSUFBSUMsT0FBT0gsS0FBS0ksT0FBTyxDQUFDTiwwQkFBMEIsY0FBY0csUUFBUUUsT0FBT0YsTUFBTUcsT0FBTyxDQUFDTiwwQkFBMEI7QUFDdEk7QUFDQSxNQUFNTyxXQUFXQyxPQUFPO0FBQ3hCLE1BQU1kO0lBQ0ZlLFlBQVlDLEtBQUssRUFBRUMsVUFBVSxFQUFFQyxJQUFJLENBQUM7UUFDaEMsSUFBSVQ7UUFDSixJQUFJVTtRQUNKLElBQUksT0FBT0YsZUFBZSxZQUFZLGNBQWNBLGNBQWMsT0FBT0EsZUFBZSxVQUFVO1lBQzlGUixPQUFPUTtZQUNQRSxVQUFVRCxRQUFRLENBQUM7UUFDdkIsT0FBTztZQUNIQyxVQUFVRCxRQUFRRCxjQUFjLENBQUM7UUFDckM7UUFDQSxJQUFJLENBQUNKLFNBQVMsR0FBRztZQUNiTCxLQUFLRCxTQUFTUyxPQUFPUCxRQUFRVSxRQUFRVixJQUFJO1lBQ3pDVSxTQUFTQTtZQUNUQyxVQUFVO1FBQ2Q7UUFDQSxJQUFJLENBQUNDLE9BQU87SUFDaEI7SUFDQUEsVUFBVTtRQUNOLElBQUlD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QUFDO0lBQ3pFO0lBQ0FxRSxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUNOLElBQUk7SUFDcEI7SUFDQU8sU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDUCxJQUFJO0lBQ3BCO0lBQ0EsQ0FBQzlDLE9BQU9zRCxHQUFHLENBQUMsK0JBQStCLEdBQUc7UUFDMUMsT0FBTztZQUNIUixNQUFNLElBQUksQ0FBQ0EsSUFBSTtZQUNmRSxRQUFRLElBQUksQ0FBQ0EsTUFBTTtZQUNuQkgsVUFBVSxJQUFJLENBQUNBLFFBQVE7WUFDdkJLLFVBQVUsSUFBSSxDQUFDQSxRQUFRO1lBQ3ZCRCxVQUFVLElBQUksQ0FBQ0EsUUFBUTtZQUN2Qk4sTUFBTSxJQUFJLENBQUNBLElBQUk7WUFDZnJCLFVBQVUsSUFBSSxDQUFDQSxRQUFRO1lBQ3ZCc0IsTUFBTSxJQUFJLENBQUNBLElBQUk7WUFDZjdCLFVBQVUsSUFBSSxDQUFDQSxRQUFRO1lBQ3ZCdUIsUUFBUSxJQUFJLENBQUNBLE1BQU07WUFDbkJJLGNBQWMsSUFBSSxDQUFDQSxZQUFZO1lBQy9CSyxNQUFNLElBQUksQ0FBQ0EsSUFBSTtRQUNuQjtJQUNKO0lBQ0FRLFFBQVE7UUFDSixPQUFPLElBQUlyRSxRQUFRVyxPQUFPLElBQUksR0FBRyxJQUFJLENBQUNFLFNBQVMsQ0FBQ00sT0FBTztJQUMzRDtBQUNKLEVBRUEsb0NBQW9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL25leHQtdXJsLmpzPzQ3ZjYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJOZXh0VVJMXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBOZXh0VVJMO1xuICAgIH1cbn0pO1xuY29uc3QgX2RldGVjdGRvbWFpbmxvY2FsZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2kxOG4vZGV0ZWN0LWRvbWFpbi1sb2NhbGVcIik7XG5jb25zdCBfZm9ybWF0bmV4dHBhdGhuYW1laW5mbyA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9mb3JtYXQtbmV4dC1wYXRobmFtZS1pbmZvXCIpO1xuY29uc3QgX2dldGhvc3RuYW1lID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvZ2V0LWhvc3RuYW1lXCIpO1xuY29uc3QgX2dldG5leHRwYXRobmFtZWluZm8gPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZ2V0LW5leHQtcGF0aG5hbWUtaW5mb1wiKTtcbmNvbnN0IFJFR0VYX0xPQ0FMSE9TVF9IT1NUTkFNRSA9IC8oPyFeaHR0cHM/OlxcL1xcLykoMTI3KD86XFwuKD86MjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldWzAtOV0/KSl7M318XFxbOjoxXFxdfGxvY2FsaG9zdCkvO1xuZnVuY3Rpb24gcGFyc2VVUkwodXJsLCBiYXNlKSB7XG4gICAgcmV0dXJuIG5ldyBVUkwoU3RyaW5nKHVybCkucmVwbGFjZShSRUdFWF9MT0NBTEhPU1RfSE9TVE5BTUUsIFwibG9jYWxob3N0XCIpLCBiYXNlICYmIFN0cmluZyhiYXNlKS5yZXBsYWNlKFJFR0VYX0xPQ0FMSE9TVF9IT1NUTkFNRSwgXCJsb2NhbGhvc3RcIikpO1xufVxuY29uc3QgSW50ZXJuYWwgPSBTeW1ib2woXCJOZXh0VVJMSW50ZXJuYWxcIik7XG5jbGFzcyBOZXh0VVJMIHtcbiAgICBjb25zdHJ1Y3RvcihpbnB1dCwgYmFzZU9yT3B0cywgb3B0cyl7XG4gICAgICAgIGxldCBiYXNlO1xuICAgICAgICBsZXQgb3B0aW9ucztcbiAgICAgICAgaWYgKHR5cGVvZiBiYXNlT3JPcHRzID09PSBcIm9iamVjdFwiICYmIFwicGF0aG5hbWVcIiBpbiBiYXNlT3JPcHRzIHx8IHR5cGVvZiBiYXNlT3JPcHRzID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBiYXNlID0gYmFzZU9yT3B0cztcbiAgICAgICAgICAgIG9wdGlvbnMgPSBvcHRzIHx8IHt9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3B0aW9ucyA9IG9wdHMgfHwgYmFzZU9yT3B0cyB8fCB7fTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzW0ludGVybmFsXSA9IHtcbiAgICAgICAgICAgIHVybDogcGFyc2VVUkwoaW5wdXQsIGJhc2UgPz8gb3B0aW9ucy5iYXNlKSxcbiAgICAgICAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXG4gICAgICAgICAgICBiYXNlUGF0aDogXCJcIlxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmFuYWx5emUoKTtcbiAgICB9XG4gICAgYW5hbHl6ZSgpIHtcbiAgICAgICAgdmFyIF90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZ19pMThuLCBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWcsIF90aGlzX0ludGVybmFsX2RvbWFpbkxvY2FsZSwgX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnX2kxOG4xLCBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWcxO1xuICAgICAgICBjb25zdCBpbmZvID0gKDAsIF9nZXRuZXh0cGF0aG5hbWVpbmZvLmdldE5leHRQYXRobmFtZUluZm8pKHRoaXNbSW50ZXJuYWxdLnVybC5wYXRobmFtZSwge1xuICAgICAgICAgICAgbmV4dENvbmZpZzogdGhpc1tJbnRlcm5hbF0ub3B0aW9ucy5uZXh0Q29uZmlnLFxuICAgICAgICAgICAgcGFyc2VEYXRhOiAhcHJvY2Vzcy5lbnYuX19ORVhUX05PX01JRERMRVdBUkVfVVJMX05PUk1BTElaRSxcbiAgICAgICAgICAgIGkxOG5Qcm92aWRlcjogdGhpc1tJbnRlcm5hbF0ub3B0aW9ucy5pMThuUHJvdmlkZXJcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGhvc3RuYW1lID0gKDAsIF9nZXRob3N0bmFtZS5nZXRIb3N0bmFtZSkodGhpc1tJbnRlcm5hbF0udXJsLCB0aGlzW0ludGVybmFsXS5vcHRpb25zLmhlYWRlcnMpO1xuICAgICAgICB0aGlzW0ludGVybmFsXS5kb21haW5Mb2NhbGUgPSB0aGlzW0ludGVybmFsXS5vcHRpb25zLmkxOG5Qcm92aWRlciA/IHRoaXNbSW50ZXJuYWxdLm9wdGlvbnMuaTE4blByb3ZpZGVyLmRldGVjdERvbWFpbkxvY2FsZShob3N0bmFtZSkgOiAoMCwgX2RldGVjdGRvbWFpbmxvY2FsZS5kZXRlY3REb21haW5Mb2NhbGUpKChfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWcgPSB0aGlzW0ludGVybmFsXS5vcHRpb25zLm5leHRDb25maWcpID09IG51bGwgPyB2b2lkIDAgOiAoX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnX2kxOG4gPSBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWcuaTE4bikgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZ19pMThuLmRvbWFpbnMsIGhvc3RuYW1lKTtcbiAgICAgICAgY29uc3QgZGVmYXVsdExvY2FsZSA9ICgoX3RoaXNfSW50ZXJuYWxfZG9tYWluTG9jYWxlID0gdGhpc1tJbnRlcm5hbF0uZG9tYWluTG9jYWxlKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXNfSW50ZXJuYWxfZG9tYWluTG9jYWxlLmRlZmF1bHRMb2NhbGUpIHx8ICgoX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnMSA9IHRoaXNbSW50ZXJuYWxdLm9wdGlvbnMubmV4dENvbmZpZykgPT0gbnVsbCA/IHZvaWQgMCA6IChfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWdfaTE4bjEgPSBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWcxLmkxOG4pID09IG51bGwgPyB2b2lkIDAgOiBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWdfaTE4bjEuZGVmYXVsdExvY2FsZSk7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLnVybC5wYXRobmFtZSA9IGluZm8ucGF0aG5hbWU7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLmRlZmF1bHRMb2NhbGUgPSBkZWZhdWx0TG9jYWxlO1xuICAgICAgICB0aGlzW0ludGVybmFsXS5iYXNlUGF0aCA9IGluZm8uYmFzZVBhdGggPz8gXCJcIjtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0uYnVpbGRJZCA9IGluZm8uYnVpbGRJZDtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0ubG9jYWxlID0gaW5mby5sb2NhbGUgPz8gZGVmYXVsdExvY2FsZTtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0udHJhaWxpbmdTbGFzaCA9IGluZm8udHJhaWxpbmdTbGFzaDtcbiAgICB9XG4gICAgZm9ybWF0UGF0aG5hbWUoKSB7XG4gICAgICAgIHJldHVybiAoMCwgX2Zvcm1hdG5leHRwYXRobmFtZWluZm8uZm9ybWF0TmV4dFBhdGhuYW1lSW5mbykoe1xuICAgICAgICAgICAgYmFzZVBhdGg6IHRoaXNbSW50ZXJuYWxdLmJhc2VQYXRoLFxuICAgICAgICAgICAgYnVpbGRJZDogdGhpc1tJbnRlcm5hbF0uYnVpbGRJZCxcbiAgICAgICAgICAgIGRlZmF1bHRMb2NhbGU6ICF0aGlzW0ludGVybmFsXS5vcHRpb25zLmZvcmNlTG9jYWxlID8gdGhpc1tJbnRlcm5hbF0uZGVmYXVsdExvY2FsZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGxvY2FsZTogdGhpc1tJbnRlcm5hbF0ubG9jYWxlLFxuICAgICAgICAgICAgcGF0aG5hbWU6IHRoaXNbSW50ZXJuYWxdLnVybC5wYXRobmFtZSxcbiAgICAgICAgICAgIHRyYWlsaW5nU2xhc2g6IHRoaXNbSW50ZXJuYWxdLnRyYWlsaW5nU2xhc2hcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGZvcm1hdFNlYXJjaCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLnVybC5zZWFyY2g7XG4gICAgfVxuICAgIGdldCBidWlsZElkKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJbnRlcm5hbF0uYnVpbGRJZDtcbiAgICB9XG4gICAgc2V0IGJ1aWxkSWQoYnVpbGRJZCkge1xuICAgICAgICB0aGlzW0ludGVybmFsXS5idWlsZElkID0gYnVpbGRJZDtcbiAgICB9XG4gICAgZ2V0IGxvY2FsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLmxvY2FsZSA/PyBcIlwiO1xuICAgIH1cbiAgICBzZXQgbG9jYWxlKGxvY2FsZSkge1xuICAgICAgICB2YXIgX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnX2kxOG4sIF90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZztcbiAgICAgICAgaWYgKCF0aGlzW0ludGVybmFsXS5sb2NhbGUgfHwgISgoX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnID0gdGhpc1tJbnRlcm5hbF0ub3B0aW9ucy5uZXh0Q29uZmlnKSA9PSBudWxsID8gdm9pZCAwIDogKF90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZ19pMThuID0gX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnLmkxOG4pID09IG51bGwgPyB2b2lkIDAgOiBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWdfaTE4bi5sb2NhbGVzLmluY2x1ZGVzKGxvY2FsZSkpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBUaGUgTmV4dFVSTCBjb25maWd1cmF0aW9uIGluY2x1ZGVzIG5vIGxvY2FsZSBcIiR7bG9jYWxlfVwiYCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpc1tJbnRlcm5hbF0ubG9jYWxlID0gbG9jYWxlO1xuICAgIH1cbiAgICBnZXQgZGVmYXVsdExvY2FsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLmRlZmF1bHRMb2NhbGU7XG4gICAgfVxuICAgIGdldCBkb21haW5Mb2NhbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS5kb21haW5Mb2NhbGU7XG4gICAgfVxuICAgIGdldCBzZWFyY2hQYXJhbXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwuc2VhcmNoUGFyYW1zO1xuICAgIH1cbiAgICBnZXQgaG9zdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLnVybC5ob3N0O1xuICAgIH1cbiAgICBzZXQgaG9zdCh2YWx1ZSkge1xuICAgICAgICB0aGlzW0ludGVybmFsXS51cmwuaG9zdCA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgaG9zdG5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwuaG9zdG5hbWU7XG4gICAgfVxuICAgIHNldCBob3N0bmFtZSh2YWx1ZSkge1xuICAgICAgICB0aGlzW0ludGVybmFsXS51cmwuaG9zdG5hbWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHBvcnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwucG9ydDtcbiAgICB9XG4gICAgc2V0IHBvcnQodmFsdWUpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0udXJsLnBvcnQgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHByb3RvY29sKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJbnRlcm5hbF0udXJsLnByb3RvY29sO1xuICAgIH1cbiAgICBzZXQgcHJvdG9jb2wodmFsdWUpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0udXJsLnByb3RvY29sID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBocmVmKCkge1xuICAgICAgICBjb25zdCBwYXRobmFtZSA9IHRoaXMuZm9ybWF0UGF0aG5hbWUoKTtcbiAgICAgICAgY29uc3Qgc2VhcmNoID0gdGhpcy5mb3JtYXRTZWFyY2goKTtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMucHJvdG9jb2x9Ly8ke3RoaXMuaG9zdH0ke3BhdGhuYW1lfSR7c2VhcmNofSR7dGhpcy5oYXNofWA7XG4gICAgfVxuICAgIHNldCBocmVmKHVybCkge1xuICAgICAgICB0aGlzW0ludGVybmFsXS51cmwgPSBwYXJzZVVSTCh1cmwpO1xuICAgICAgICB0aGlzLmFuYWx5emUoKTtcbiAgICB9XG4gICAgZ2V0IG9yaWdpbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLnVybC5vcmlnaW47XG4gICAgfVxuICAgIGdldCBwYXRobmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLnVybC5wYXRobmFtZTtcbiAgICB9XG4gICAgc2V0IHBhdGhuYW1lKHZhbHVlKSB7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLnVybC5wYXRobmFtZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgaGFzaCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLnVybC5oYXNoO1xuICAgIH1cbiAgICBzZXQgaGFzaCh2YWx1ZSkge1xuICAgICAgICB0aGlzW0ludGVybmFsXS51cmwuaGFzaCA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgc2VhcmNoKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJbnRlcm5hbF0udXJsLnNlYXJjaDtcbiAgICB9XG4gICAgc2V0IHNlYXJjaCh2YWx1ZSkge1xuICAgICAgICB0aGlzW0ludGVybmFsXS51cmwuc2VhcmNoID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBwYXNzd29yZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLnVybC5wYXNzd29yZDtcbiAgICB9XG4gICAgc2V0IHBhc3N3b3JkKHZhbHVlKSB7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLnVybC5wYXNzd29yZCA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgdXNlcm5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwudXNlcm5hbWU7XG4gICAgfVxuICAgIHNldCB1c2VybmFtZSh2YWx1ZSkge1xuICAgICAgICB0aGlzW0ludGVybmFsXS51cmwudXNlcm5hbWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGJhc2VQYXRoKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJbnRlcm5hbF0uYmFzZVBhdGg7XG4gICAgfVxuICAgIHNldCBiYXNlUGF0aCh2YWx1ZSkge1xuICAgICAgICB0aGlzW0ludGVybmFsXS5iYXNlUGF0aCA9IHZhbHVlLnN0YXJ0c1dpdGgoXCIvXCIpID8gdmFsdWUgOiBgLyR7dmFsdWV9YDtcbiAgICB9XG4gICAgdG9TdHJpbmcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhyZWY7XG4gICAgfVxuICAgIHRvSlNPTigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHJlZjtcbiAgICB9XG4gICAgW1N5bWJvbC5mb3IoXCJlZGdlLXJ1bnRpbWUuaW5zcGVjdC5jdXN0b21cIildKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaHJlZjogdGhpcy5ocmVmLFxuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLm9yaWdpbixcbiAgICAgICAgICAgIHByb3RvY29sOiB0aGlzLnByb3RvY29sLFxuICAgICAgICAgICAgdXNlcm5hbWU6IHRoaXMudXNlcm5hbWUsXG4gICAgICAgICAgICBwYXNzd29yZDogdGhpcy5wYXNzd29yZCxcbiAgICAgICAgICAgIGhvc3Q6IHRoaXMuaG9zdCxcbiAgICAgICAgICAgIGhvc3RuYW1lOiB0aGlzLmhvc3RuYW1lLFxuICAgICAgICAgICAgcG9ydDogdGhpcy5wb3J0LFxuICAgICAgICAgICAgcGF0aG5hbWU6IHRoaXMucGF0aG5hbWUsXG4gICAgICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoLFxuICAgICAgICAgICAgc2VhcmNoUGFyYW1zOiB0aGlzLnNlYXJjaFBhcmFtcyxcbiAgICAgICAgICAgIGhhc2g6IHRoaXMuaGFzaFxuICAgICAgICB9O1xuICAgIH1cbiAgICBjbG9uZSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBOZXh0VVJMKFN0cmluZyh0aGlzKSwgdGhpc1tJbnRlcm5hbF0ub3B0aW9ucyk7XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1uZXh0LXVybC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiTmV4dFVSTCIsIl9kZXRlY3Rkb21haW5sb2NhbGUiLCJyZXF1aXJlIiwiX2Zvcm1hdG5leHRwYXRobmFtZWluZm8iLCJfZ2V0aG9zdG5hbWUiLCJfZ2V0bmV4dHBhdGhuYW1laW5mbyIsIlJFR0VYX0xPQ0FMSE9TVF9IT1NUTkFNRSIsInBhcnNlVVJMIiwidXJsIiwiYmFzZSIsIlVSTCIsIlN0cmluZyIsInJlcGxhY2UiLCJJbnRlcm5hbCIsIlN5bWJvbCIsImNvbnN0cnVjdG9yIiwiaW5wdXQiLCJiYXNlT3JPcHRzIiwib3B0cyIsIm9wdGlvbnMiLCJiYXNlUGF0aCIsImFuYWx5emUiLCJfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWdfaTE4biIsIl90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZyIsIl90aGlzX0ludGVybmFsX2RvbWFpbkxvY2FsZSIsIl90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZ19pMThuMSIsIl90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZzEiLCJpbmZvIiwiZ2V0TmV4dFBhdGhuYW1lSW5mbyIsInBhdGhuYW1lIiwibmV4dENvbmZpZyIsInBhcnNlRGF0YSIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfTk9fTUlERExFV0FSRV9VUkxfTk9STUFMSVpFIiwiaTE4blByb3ZpZGVyIiwiaG9zdG5hbWUiLCJnZXRIb3N0bmFtZSIsImhlYWRlcnMiLCJkb21haW5Mb2NhbGUiLCJkZXRlY3REb21haW5Mb2NhbGUiLCJpMThuIiwiZG9tYWlucyIsImRlZmF1bHRMb2NhbGUiLCJidWlsZElkIiwibG9jYWxlIiwidHJhaWxpbmdTbGFzaCIsImZvcm1hdFBhdGhuYW1lIiwiZm9ybWF0TmV4dFBhdGhuYW1lSW5mbyIsImZvcmNlTG9jYWxlIiwidW5kZWZpbmVkIiwiZm9ybWF0U2VhcmNoIiwic2VhcmNoIiwibG9jYWxlcyIsImluY2x1ZGVzIiwiVHlwZUVycm9yIiwic2VhcmNoUGFyYW1zIiwiaG9zdCIsInBvcnQiLCJwcm90b2NvbCIsImhyZWYiLCJoYXNoIiwib3JpZ2luIiwicGFzc3dvcmQiLCJ1c2VybmFtZSIsInN0YXJ0c1dpdGgiLCJ0b1N0cmluZyIsInRvSlNPTiIsImZvciIsImNsb25lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/next-url.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/web/spec-extension/adapters/headers.js": /*!******************************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/adapters/headers.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReadonlyHeadersError: function() {\n return ReadonlyHeadersError;\n },\n HeadersAdapter: function() {\n return HeadersAdapter;\n }\n});\nconst _reflect = __webpack_require__(/*! ./reflect */ \"(action-browser)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js\");\nclass ReadonlyHeadersError extends Error {\n constructor(){\n super(\"Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers\");\n }\n static callable() {\n throw new ReadonlyHeadersError();\n }\n}\nclass HeadersAdapter extends Headers {\n constructor(headers){\n // We've already overridden the methods that would be called, so we're just\n // calling the super constructor to ensure that the instanceof check works.\n super();\n this.headers = new Proxy(headers, {\n get (target, prop, receiver) {\n // Because this is just an object, we expect that all \"get\" operations\n // are for properties. If it's a \"get\" for a symbol, we'll just return\n // the symbol.\n if (typeof prop === \"symbol\") {\n return _reflect.ReflectAdapter.get(target, prop, receiver);\n }\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, return undefined.\n if (typeof original === \"undefined\") return;\n // If the original casing exists, return the value.\n return _reflect.ReflectAdapter.get(target, original, receiver);\n },\n set (target, prop, value, receiver) {\n if (typeof prop === \"symbol\") {\n return _reflect.ReflectAdapter.set(target, prop, value, receiver);\n }\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, use the prop as the key.\n return _reflect.ReflectAdapter.set(target, original ?? prop, value, receiver);\n },\n has (target, prop) {\n if (typeof prop === \"symbol\") return _reflect.ReflectAdapter.has(target, prop);\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, return false.\n if (typeof original === \"undefined\") return false;\n // If the original casing exists, return true.\n return _reflect.ReflectAdapter.has(target, original);\n },\n deleteProperty (target, prop) {\n if (typeof prop === \"symbol\") return _reflect.ReflectAdapter.deleteProperty(target, prop);\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, return true.\n if (typeof original === \"undefined\") return true;\n // If the original casing exists, delete the property.\n return _reflect.ReflectAdapter.deleteProperty(target, original);\n }\n });\n }\n /**\n * Seals a Headers instance to prevent modification by throwing an error when\n * any mutating method is called.\n */ static seal(headers) {\n return new Proxy(headers, {\n get (target, prop, receiver) {\n switch(prop){\n case \"append\":\n case \"delete\":\n case \"set\":\n return ReadonlyHeadersError.callable;\n default:\n return _reflect.ReflectAdapter.get(target, prop, receiver);\n }\n }\n });\n }\n /**\n * Merges a header value into a string. This stores multiple values as an\n * array, so we need to merge them into a string.\n *\n * @param value a header value\n * @returns a merged header value (a string)\n */ merge(value) {\n if (Array.isArray(value)) return value.join(\", \");\n return value;\n }\n /**\n * Creates a Headers instance from a plain object or a Headers instance.\n *\n * @param headers a plain object or a Headers instance\n * @returns a headers instance\n */ static from(headers) {\n if (headers instanceof Headers) return headers;\n return new HeadersAdapter(headers);\n }\n append(name, value) {\n const existing = this.headers[name];\n if (typeof existing === \"string\") {\n this.headers[name] = [\n existing,\n value\n ];\n } else if (Array.isArray(existing)) {\n existing.push(value);\n } else {\n this.headers[name] = value;\n }\n }\n delete(name) {\n delete this.headers[name];\n }\n get(name) {\n const value = this.headers[name];\n if (typeof value !== \"undefined\") return this.merge(value);\n return null;\n }\n has(name) {\n return typeof this.headers[name] !== \"undefined\";\n }\n set(name, value) {\n this.headers[name] = value;\n }\n forEach(callbackfn, thisArg) {\n for (const [name, value] of this.entries()){\n callbackfn.call(thisArg, value, name, this);\n }\n }\n *entries() {\n for (const key of Object.keys(this.headers)){\n const name = key.toLowerCase();\n // We assert here that this is a string because we got it from the\n // Object.keys() call above.\n const value = this.get(name);\n yield [\n name,\n value\n ];\n }\n }\n *keys() {\n for (const key of Object.keys(this.headers)){\n const name = key.toLowerCase();\n yield name;\n }\n }\n *values() {\n for (const key of Object.keys(this.headers)){\n // We assert here that this is a string because we got it from the\n // Object.keys() call above.\n const value = this.get(key);\n yield value;\n }\n }\n [Symbol.iterator]() {\n return this.entries();\n }\n} //# sourceMappingURL=headers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9hZGFwdGVycy9oZWFkZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxzQkFBc0I7UUFDbEIsT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxXQUFXQyxtQkFBT0EsQ0FBQywwR0FBVztBQUNwQyxNQUFNVCw2QkFBNkJVO0lBQy9CQyxhQUFhO1FBQ1QsS0FBSyxDQUFDO0lBQ1Y7SUFDQSxPQUFPQyxXQUFXO1FBQ2QsTUFBTSxJQUFJWjtJQUNkO0FBQ0o7QUFDQSxNQUFNQyx1QkFBdUJZO0lBQ3pCRixZQUFZRyxPQUFPLENBQUM7UUFDaEIsMkVBQTJFO1FBQzNFLDJFQUEyRTtRQUMzRSxLQUFLO1FBQ0wsSUFBSSxDQUFDQSxPQUFPLEdBQUcsSUFBSUMsTUFBTUQsU0FBUztZQUM5QlAsS0FBS0osTUFBTSxFQUFFYSxJQUFJLEVBQUVDLFFBQVE7Z0JBQ3ZCLHNFQUFzRTtnQkFDdEUsc0VBQXNFO2dCQUN0RSxjQUFjO2dCQUNkLElBQUksT0FBT0QsU0FBUyxVQUFVO29CQUMxQixPQUFPUixTQUFTVSxjQUFjLENBQUNYLEdBQUcsQ0FBQ0osUUFBUWEsTUFBTUM7Z0JBQ3JEO2dCQUNBLE1BQU1FLGFBQWFILEtBQUtJLFdBQVc7Z0JBQ25DLHdFQUF3RTtnQkFDeEUscUVBQXFFO2dCQUNyRSxrQkFBa0I7Z0JBQ2xCLE1BQU1DLFdBQVcxQixPQUFPMkIsSUFBSSxDQUFDUixTQUFTUyxJQUFJLENBQUMsQ0FBQ0MsSUFBSUEsRUFBRUosV0FBVyxPQUFPRDtnQkFDcEUsMERBQTBEO2dCQUMxRCxJQUFJLE9BQU9FLGFBQWEsYUFBYTtnQkFDckMsbURBQW1EO2dCQUNuRCxPQUFPYixTQUFTVSxjQUFjLENBQUNYLEdBQUcsQ0FBQ0osUUFBUWtCLFVBQVVKO1lBQ3pEO1lBQ0FRLEtBQUt0QixNQUFNLEVBQUVhLElBQUksRUFBRWxCLEtBQUssRUFBRW1CLFFBQVE7Z0JBQzlCLElBQUksT0FBT0QsU0FBUyxVQUFVO29CQUMxQixPQUFPUixTQUFTVSxjQUFjLENBQUNPLEdBQUcsQ0FBQ3RCLFFBQVFhLE1BQU1sQixPQUFPbUI7Z0JBQzVEO2dCQUNBLE1BQU1FLGFBQWFILEtBQUtJLFdBQVc7Z0JBQ25DLHdFQUF3RTtnQkFDeEUscUVBQXFFO2dCQUNyRSxrQkFBa0I7Z0JBQ2xCLE1BQU1DLFdBQVcxQixPQUFPMkIsSUFBSSxDQUFDUixTQUFTUyxJQUFJLENBQUMsQ0FBQ0MsSUFBSUEsRUFBRUosV0FBVyxPQUFPRDtnQkFDcEUsaUVBQWlFO2dCQUNqRSxPQUFPWCxTQUFTVSxjQUFjLENBQUNPLEdBQUcsQ0FBQ3RCLFFBQVFrQixZQUFZTCxNQUFNbEIsT0FBT21CO1lBQ3hFO1lBQ0FTLEtBQUt2QixNQUFNLEVBQUVhLElBQUk7Z0JBQ2IsSUFBSSxPQUFPQSxTQUFTLFVBQVUsT0FBT1IsU0FBU1UsY0FBYyxDQUFDUSxHQUFHLENBQUN2QixRQUFRYTtnQkFDekUsTUFBTUcsYUFBYUgsS0FBS0ksV0FBVztnQkFDbkMsd0VBQXdFO2dCQUN4RSxxRUFBcUU7Z0JBQ3JFLGtCQUFrQjtnQkFDbEIsTUFBTUMsV0FBVzFCLE9BQU8yQixJQUFJLENBQUNSLFNBQVNTLElBQUksQ0FBQyxDQUFDQyxJQUFJQSxFQUFFSixXQUFXLE9BQU9EO2dCQUNwRSxzREFBc0Q7Z0JBQ3RELElBQUksT0FBT0UsYUFBYSxhQUFhLE9BQU87Z0JBQzVDLDhDQUE4QztnQkFDOUMsT0FBT2IsU0FBU1UsY0FBYyxDQUFDUSxHQUFHLENBQUN2QixRQUFRa0I7WUFDL0M7WUFDQU0sZ0JBQWdCeEIsTUFBTSxFQUFFYSxJQUFJO2dCQUN4QixJQUFJLE9BQU9BLFNBQVMsVUFBVSxPQUFPUixTQUFTVSxjQUFjLENBQUNTLGNBQWMsQ0FBQ3hCLFFBQVFhO2dCQUNwRixNQUFNRyxhQUFhSCxLQUFLSSxXQUFXO2dCQUNuQyx3RUFBd0U7Z0JBQ3hFLHFFQUFxRTtnQkFDckUsa0JBQWtCO2dCQUNsQixNQUFNQyxXQUFXMUIsT0FBTzJCLElBQUksQ0FBQ1IsU0FBU1MsSUFBSSxDQUFDLENBQUNDLElBQUlBLEVBQUVKLFdBQVcsT0FBT0Q7Z0JBQ3BFLHFEQUFxRDtnQkFDckQsSUFBSSxPQUFPRSxhQUFhLGFBQWEsT0FBTztnQkFDNUMsc0RBQXNEO2dCQUN0RCxPQUFPYixTQUFTVSxjQUFjLENBQUNTLGNBQWMsQ0FBQ3hCLFFBQVFrQjtZQUMxRDtRQUNKO0lBQ0o7SUFDQTs7O0dBR0QsR0FBRyxPQUFPTyxLQUFLZCxPQUFPLEVBQUU7UUFDbkIsT0FBTyxJQUFJQyxNQUFNRCxTQUFTO1lBQ3RCUCxLQUFLSixNQUFNLEVBQUVhLElBQUksRUFBRUMsUUFBUTtnQkFDdkIsT0FBT0Q7b0JBQ0gsS0FBSztvQkFDTCxLQUFLO29CQUNMLEtBQUs7d0JBQ0QsT0FBT2hCLHFCQUFxQlksUUFBUTtvQkFDeEM7d0JBQ0ksT0FBT0osU0FBU1UsY0FBYyxDQUFDWCxHQUFHLENBQUNKLFFBQVFhLE1BQU1DO2dCQUN6RDtZQUNKO1FBQ0o7SUFDSjtJQUNBOzs7Ozs7R0FNRCxHQUFHWSxNQUFNL0IsS0FBSyxFQUFFO1FBQ1gsSUFBSWdDLE1BQU1DLE9BQU8sQ0FBQ2pDLFFBQVEsT0FBT0EsTUFBTWtDLElBQUksQ0FBQztRQUM1QyxPQUFPbEM7SUFDWDtJQUNBOzs7OztHQUtELEdBQUcsT0FBT21DLEtBQUtuQixPQUFPLEVBQUU7UUFDbkIsSUFBSUEsbUJBQW1CRCxTQUFTLE9BQU9DO1FBQ3ZDLE9BQU8sSUFBSWIsZUFBZWE7SUFDOUI7SUFDQW9CLE9BQU83QixJQUFJLEVBQUVQLEtBQUssRUFBRTtRQUNoQixNQUFNcUMsV0FBVyxJQUFJLENBQUNyQixPQUFPLENBQUNULEtBQUs7UUFDbkMsSUFBSSxPQUFPOEIsYUFBYSxVQUFVO1lBQzlCLElBQUksQ0FBQ3JCLE9BQU8sQ0FBQ1QsS0FBSyxHQUFHO2dCQUNqQjhCO2dCQUNBckM7YUFDSDtRQUNMLE9BQU8sSUFBSWdDLE1BQU1DLE9BQU8sQ0FBQ0ksV0FBVztZQUNoQ0EsU0FBU0MsSUFBSSxDQUFDdEM7UUFDbEIsT0FBTztZQUNILElBQUksQ0FBQ2dCLE9BQU8sQ0FBQ1QsS0FBSyxHQUFHUDtRQUN6QjtJQUNKO0lBQ0F1QyxPQUFPaEMsSUFBSSxFQUFFO1FBQ1QsT0FBTyxJQUFJLENBQUNTLE9BQU8sQ0FBQ1QsS0FBSztJQUM3QjtJQUNBRSxJQUFJRixJQUFJLEVBQUU7UUFDTixNQUFNUCxRQUFRLElBQUksQ0FBQ2dCLE9BQU8sQ0FBQ1QsS0FBSztRQUNoQyxJQUFJLE9BQU9QLFVBQVUsYUFBYSxPQUFPLElBQUksQ0FBQytCLEtBQUssQ0FBQy9CO1FBQ3BELE9BQU87SUFDWDtJQUNBNEIsSUFBSXJCLElBQUksRUFBRTtRQUNOLE9BQU8sT0FBTyxJQUFJLENBQUNTLE9BQU8sQ0FBQ1QsS0FBSyxLQUFLO0lBQ3pDO0lBQ0FvQixJQUFJcEIsSUFBSSxFQUFFUCxLQUFLLEVBQUU7UUFDYixJQUFJLENBQUNnQixPQUFPLENBQUNULEtBQUssR0FBR1A7SUFDekI7SUFDQXdDLFFBQVFDLFVBQVUsRUFBRUMsT0FBTyxFQUFFO1FBQ3pCLEtBQUssTUFBTSxDQUFDbkMsTUFBTVAsTUFBTSxJQUFJLElBQUksQ0FBQzJDLE9BQU8sR0FBRztZQUN2Q0YsV0FBV0csSUFBSSxDQUFDRixTQUFTMUMsT0FBT08sTUFBTSxJQUFJO1FBQzlDO0lBQ0o7SUFDQSxDQUFDb0MsVUFBVTtRQUNQLEtBQUssTUFBTUUsT0FBT2hELE9BQU8yQixJQUFJLENBQUMsSUFBSSxDQUFDUixPQUFPLEVBQUU7WUFDeEMsTUFBTVQsT0FBT3NDLElBQUl2QixXQUFXO1lBQzVCLGtFQUFrRTtZQUNsRSw0QkFBNEI7WUFDNUIsTUFBTXRCLFFBQVEsSUFBSSxDQUFDUyxHQUFHLENBQUNGO1lBQ3ZCLE1BQU07Z0JBQ0ZBO2dCQUNBUDthQUNIO1FBQ0w7SUFDSjtJQUNBLENBQUN3QixPQUFPO1FBQ0osS0FBSyxNQUFNcUIsT0FBT2hELE9BQU8yQixJQUFJLENBQUMsSUFBSSxDQUFDUixPQUFPLEVBQUU7WUFDeEMsTUFBTVQsT0FBT3NDLElBQUl2QixXQUFXO1lBQzVCLE1BQU1mO1FBQ1Y7SUFDSjtJQUNBLENBQUN1QyxTQUFTO1FBQ04sS0FBSyxNQUFNRCxPQUFPaEQsT0FBTzJCLElBQUksQ0FBQyxJQUFJLENBQUNSLE9BQU8sRUFBRTtZQUN4QyxrRUFBa0U7WUFDbEUsNEJBQTRCO1lBQzVCLE1BQU1oQixRQUFRLElBQUksQ0FBQ1MsR0FBRyxDQUFDb0M7WUFDdkIsTUFBTTdDO1FBQ1Y7SUFDSjtJQUNBLENBQUMrQyxPQUFPQyxRQUFRLENBQUMsR0FBRztRQUNoQixPQUFPLElBQUksQ0FBQ0wsT0FBTztJQUN2QjtBQUNKLEVBRUEsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL2FkYXB0ZXJzL2hlYWRlcnMuanM/ZTZkYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFJlYWRvbmx5SGVhZGVyc0Vycm9yOiBudWxsLFxuICAgIEhlYWRlcnNBZGFwdGVyOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIFJlYWRvbmx5SGVhZGVyc0Vycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJlYWRvbmx5SGVhZGVyc0Vycm9yO1xuICAgIH0sXG4gICAgSGVhZGVyc0FkYXB0ZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSGVhZGVyc0FkYXB0ZXI7XG4gICAgfVxufSk7XG5jb25zdCBfcmVmbGVjdCA9IHJlcXVpcmUoXCIuL3JlZmxlY3RcIik7XG5jbGFzcyBSZWFkb25seUhlYWRlcnNFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcigpe1xuICAgICAgICBzdXBlcihcIkhlYWRlcnMgY2Fubm90IGJlIG1vZGlmaWVkLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy9oZWFkZXJzXCIpO1xuICAgIH1cbiAgICBzdGF0aWMgY2FsbGFibGUoKSB7XG4gICAgICAgIHRocm93IG5ldyBSZWFkb25seUhlYWRlcnNFcnJvcigpO1xuICAgIH1cbn1cbmNsYXNzIEhlYWRlcnNBZGFwdGVyIGV4dGVuZHMgSGVhZGVycyB7XG4gICAgY29uc3RydWN0b3IoaGVhZGVycyl7XG4gICAgICAgIC8vIFdlJ3ZlIGFscmVhZHkgb3ZlcnJpZGRlbiB0aGUgbWV0aG9kcyB0aGF0IHdvdWxkIGJlIGNhbGxlZCwgc28gd2UncmUganVzdFxuICAgICAgICAvLyBjYWxsaW5nIHRoZSBzdXBlciBjb25zdHJ1Y3RvciB0byBlbnN1cmUgdGhhdCB0aGUgaW5zdGFuY2VvZiBjaGVjayB3b3Jrcy5cbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5oZWFkZXJzID0gbmV3IFByb3h5KGhlYWRlcnMsIHtcbiAgICAgICAgICAgIGdldCAodGFyZ2V0LCBwcm9wLCByZWNlaXZlcikge1xuICAgICAgICAgICAgICAgIC8vIEJlY2F1c2UgdGhpcyBpcyBqdXN0IGFuIG9iamVjdCwgd2UgZXhwZWN0IHRoYXQgYWxsIFwiZ2V0XCIgb3BlcmF0aW9uc1xuICAgICAgICAgICAgICAgIC8vIGFyZSBmb3IgcHJvcGVydGllcy4gSWYgaXQncyBhIFwiZ2V0XCIgZm9yIGEgc3ltYm9sLCB3ZSdsbCBqdXN0IHJldHVyblxuICAgICAgICAgICAgICAgIC8vIHRoZSBzeW1ib2wuXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm9wID09PSBcInN5bWJvbFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfcmVmbGVjdC5SZWZsZWN0QWRhcHRlci5nZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGxvd2VyY2FzZWQgPSBwcm9wLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgLy8gTGV0J3MgZmluZCB0aGUgb3JpZ2luYWwgY2FzaW5nIG9mIHRoZSBrZXkuIFRoaXMgYXNzdW1lcyB0aGF0IHRoZXJlIGlzXG4gICAgICAgICAgICAgICAgLy8gbm8gbWl4ZWQgY2FzZSBrZXlzIChlLmcuIFwiQ29udGVudC1UeXBlXCIgYW5kIFwiY29udGVudC10eXBlXCIpIGluIHRoZVxuICAgICAgICAgICAgICAgIC8vIGhlYWRlcnMgb2JqZWN0LlxuICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsID0gT2JqZWN0LmtleXMoaGVhZGVycykuZmluZCgobyk9Pm8udG9Mb3dlckNhc2UoKSA9PT0gbG93ZXJjYXNlZCk7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIG9yaWdpbmFsIGNhc2luZyBkb2Vzbid0IGV4aXN0LCByZXR1cm4gdW5kZWZpbmVkLlxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3JpZ2luYWwgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybjtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgb3JpZ2luYWwgY2FzaW5nIGV4aXN0cywgcmV0dXJuIHRoZSB2YWx1ZS5cbiAgICAgICAgICAgICAgICByZXR1cm4gX3JlZmxlY3QuUmVmbGVjdEFkYXB0ZXIuZ2V0KHRhcmdldCwgb3JpZ2luYWwsIHJlY2VpdmVyKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXQgKHRhcmdldCwgcHJvcCwgdmFsdWUsIHJlY2VpdmVyKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm9wID09PSBcInN5bWJvbFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfcmVmbGVjdC5SZWZsZWN0QWRhcHRlci5zZXQodGFyZ2V0LCBwcm9wLCB2YWx1ZSwgcmVjZWl2ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBsb3dlcmNhc2VkID0gcHJvcC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIC8vIExldCdzIGZpbmQgdGhlIG9yaWdpbmFsIGNhc2luZyBvZiB0aGUga2V5LiBUaGlzIGFzc3VtZXMgdGhhdCB0aGVyZSBpc1xuICAgICAgICAgICAgICAgIC8vIG5vIG1peGVkIGNhc2Uga2V5cyAoZS5nLiBcIkNvbnRlbnQtVHlwZVwiIGFuZCBcImNvbnRlbnQtdHlwZVwiKSBpbiB0aGVcbiAgICAgICAgICAgICAgICAvLyBoZWFkZXJzIG9iamVjdC5cbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbCA9IE9iamVjdC5rZXlzKGhlYWRlcnMpLmZpbmQoKG8pPT5vLnRvTG93ZXJDYXNlKCkgPT09IGxvd2VyY2FzZWQpO1xuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBvcmlnaW5hbCBjYXNpbmcgZG9lc24ndCBleGlzdCwgdXNlIHRoZSBwcm9wIGFzIHRoZSBrZXkuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9yZWZsZWN0LlJlZmxlY3RBZGFwdGVyLnNldCh0YXJnZXQsIG9yaWdpbmFsID8/IHByb3AsIHZhbHVlLCByZWNlaXZlcik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaGFzICh0YXJnZXQsIHByb3ApIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHByb3AgPT09IFwic3ltYm9sXCIpIHJldHVybiBfcmVmbGVjdC5SZWZsZWN0QWRhcHRlci5oYXModGFyZ2V0LCBwcm9wKTtcbiAgICAgICAgICAgICAgICBjb25zdCBsb3dlcmNhc2VkID0gcHJvcC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIC8vIExldCdzIGZpbmQgdGhlIG9yaWdpbmFsIGNhc2luZyBvZiB0aGUga2V5LiBUaGlzIGFzc3VtZXMgdGhhdCB0aGVyZSBpc1xuICAgICAgICAgICAgICAgIC8vIG5vIG1peGVkIGNhc2Uga2V5cyAoZS5nLiBcIkNvbnRlbnQtVHlwZVwiIGFuZCBcImNvbnRlbnQtdHlwZVwiKSBpbiB0aGVcbiAgICAgICAgICAgICAgICAvLyBoZWFkZXJzIG9iamVjdC5cbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbCA9IE9iamVjdC5rZXlzKGhlYWRlcnMpLmZpbmQoKG8pPT5vLnRvTG93ZXJDYXNlKCkgPT09IGxvd2VyY2FzZWQpO1xuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBvcmlnaW5hbCBjYXNpbmcgZG9lc24ndCBleGlzdCwgcmV0dXJuIGZhbHNlLlxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3JpZ2luYWwgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgb3JpZ2luYWwgY2FzaW5nIGV4aXN0cywgcmV0dXJuIHRydWUuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9yZWZsZWN0LlJlZmxlY3RBZGFwdGVyLmhhcyh0YXJnZXQsIG9yaWdpbmFsKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZWxldGVQcm9wZXJ0eSAodGFyZ2V0LCBwcm9wKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm9wID09PSBcInN5bWJvbFwiKSByZXR1cm4gX3JlZmxlY3QuUmVmbGVjdEFkYXB0ZXIuZGVsZXRlUHJvcGVydHkodGFyZ2V0LCBwcm9wKTtcbiAgICAgICAgICAgICAgICBjb25zdCBsb3dlcmNhc2VkID0gcHJvcC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIC8vIExldCdzIGZpbmQgdGhlIG9yaWdpbmFsIGNhc2luZyBvZiB0aGUga2V5LiBUaGlzIGFzc3VtZXMgdGhhdCB0aGVyZSBpc1xuICAgICAgICAgICAgICAgIC8vIG5vIG1peGVkIGNhc2Uga2V5cyAoZS5nLiBcIkNvbnRlbnQtVHlwZVwiIGFuZCBcImNvbnRlbnQtdHlwZVwiKSBpbiB0aGVcbiAgICAgICAgICAgICAgICAvLyBoZWFkZXJzIG9iamVjdC5cbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbCA9IE9iamVjdC5rZXlzKGhlYWRlcnMpLmZpbmQoKG8pPT5vLnRvTG93ZXJDYXNlKCkgPT09IGxvd2VyY2FzZWQpO1xuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBvcmlnaW5hbCBjYXNpbmcgZG9lc24ndCBleGlzdCwgcmV0dXJuIHRydWUuXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvcmlnaW5hbCA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIG9yaWdpbmFsIGNhc2luZyBleGlzdHMsIGRlbGV0ZSB0aGUgcHJvcGVydHkuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9yZWZsZWN0LlJlZmxlY3RBZGFwdGVyLmRlbGV0ZVByb3BlcnR5KHRhcmdldCwgb3JpZ2luYWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAqIFNlYWxzIGEgSGVhZGVycyBpbnN0YW5jZSB0byBwcmV2ZW50IG1vZGlmaWNhdGlvbiBieSB0aHJvd2luZyBhbiBlcnJvciB3aGVuXG4gICAqIGFueSBtdXRhdGluZyBtZXRob2QgaXMgY2FsbGVkLlxuICAgKi8gc3RhdGljIHNlYWwoaGVhZGVycykge1xuICAgICAgICByZXR1cm4gbmV3IFByb3h5KGhlYWRlcnMsIHtcbiAgICAgICAgICAgIGdldCAodGFyZ2V0LCBwcm9wLCByZWNlaXZlcikge1xuICAgICAgICAgICAgICAgIHN3aXRjaChwcm9wKXtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImFwcGVuZFwiOlxuICAgICAgICAgICAgICAgICAgICBjYXNlIFwiZGVsZXRlXCI6XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJzZXRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBSZWFkb25seUhlYWRlcnNFcnJvci5jYWxsYWJsZTtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfcmVmbGVjdC5SZWZsZWN0QWRhcHRlci5nZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAqIE1lcmdlcyBhIGhlYWRlciB2YWx1ZSBpbnRvIGEgc3RyaW5nLiBUaGlzIHN0b3JlcyBtdWx0aXBsZSB2YWx1ZXMgYXMgYW5cbiAgICogYXJyYXksIHNvIHdlIG5lZWQgdG8gbWVyZ2UgdGhlbSBpbnRvIGEgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgYSBoZWFkZXIgdmFsdWVcbiAgICogQHJldHVybnMgYSBtZXJnZWQgaGVhZGVyIHZhbHVlIChhIHN0cmluZylcbiAgICovIG1lcmdlKHZhbHVlKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkgcmV0dXJuIHZhbHVlLmpvaW4oXCIsIFwiKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICAvKipcbiAgICogQ3JlYXRlcyBhIEhlYWRlcnMgaW5zdGFuY2UgZnJvbSBhIHBsYWluIG9iamVjdCBvciBhIEhlYWRlcnMgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSBoZWFkZXJzIGEgcGxhaW4gb2JqZWN0IG9yIGEgSGVhZGVycyBpbnN0YW5jZVxuICAgKiBAcmV0dXJucyBhIGhlYWRlcnMgaW5zdGFuY2VcbiAgICovIHN0YXRpYyBmcm9tKGhlYWRlcnMpIHtcbiAgICAgICAgaWYgKGhlYWRlcnMgaW5zdGFuY2VvZiBIZWFkZXJzKSByZXR1cm4gaGVhZGVycztcbiAgICAgICAgcmV0dXJuIG5ldyBIZWFkZXJzQWRhcHRlcihoZWFkZXJzKTtcbiAgICB9XG4gICAgYXBwZW5kKG5hbWUsIHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nID0gdGhpcy5oZWFkZXJzW25hbWVdO1xuICAgICAgICBpZiAodHlwZW9mIGV4aXN0aW5nID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICB0aGlzLmhlYWRlcnNbbmFtZV0gPSBbXG4gICAgICAgICAgICAgICAgZXhpc3RpbmcsXG4gICAgICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgIF07XG4gICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShleGlzdGluZykpIHtcbiAgICAgICAgICAgIGV4aXN0aW5nLnB1c2godmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5oZWFkZXJzW25hbWVdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGVsZXRlKG5hbWUpIHtcbiAgICAgICAgZGVsZXRlIHRoaXMuaGVhZGVyc1tuYW1lXTtcbiAgICB9XG4gICAgZ2V0KG5hbWUpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmhlYWRlcnNbbmFtZV07XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09IFwidW5kZWZpbmVkXCIpIHJldHVybiB0aGlzLm1lcmdlKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGhhcyhuYW1lKSB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdGhpcy5oZWFkZXJzW25hbWVdICE9PSBcInVuZGVmaW5lZFwiO1xuICAgIH1cbiAgICBzZXQobmFtZSwgdmFsdWUpIHtcbiAgICAgICAgdGhpcy5oZWFkZXJzW25hbWVdID0gdmFsdWU7XG4gICAgfVxuICAgIGZvckVhY2goY2FsbGJhY2tmbiwgdGhpc0FyZykge1xuICAgICAgICBmb3IgKGNvbnN0IFtuYW1lLCB2YWx1ZV0gb2YgdGhpcy5lbnRyaWVzKCkpe1xuICAgICAgICAgICAgY2FsbGJhY2tmbi5jYWxsKHRoaXNBcmcsIHZhbHVlLCBuYW1lLCB0aGlzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAqZW50cmllcygpIHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGhpcy5oZWFkZXJzKSl7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0ga2V5LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAvLyBXZSBhc3NlcnQgaGVyZSB0aGF0IHRoaXMgaXMgYSBzdHJpbmcgYmVjYXVzZSB3ZSBnb3QgaXQgZnJvbSB0aGVcbiAgICAgICAgICAgIC8vIE9iamVjdC5rZXlzKCkgY2FsbCBhYm92ZS5cbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXQobmFtZSk7XG4gICAgICAgICAgICB5aWVsZCBbXG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAqa2V5cygpIHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGhpcy5oZWFkZXJzKSl7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0ga2V5LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICB5aWVsZCBuYW1lO1xuICAgICAgICB9XG4gICAgfVxuICAgICp2YWx1ZXMoKSB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHRoaXMuaGVhZGVycykpe1xuICAgICAgICAgICAgLy8gV2UgYXNzZXJ0IGhlcmUgdGhhdCB0aGlzIGlzIGEgc3RyaW5nIGJlY2F1c2Ugd2UgZ290IGl0IGZyb20gdGhlXG4gICAgICAgICAgICAvLyBPYmplY3Qua2V5cygpIGNhbGwgYWJvdmUuXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0KGtleSk7XG4gICAgICAgICAgICB5aWVsZCB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBbU3ltYm9sLml0ZXJhdG9yXSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW50cmllcygpO1xuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGVhZGVycy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJSZWFkb25seUhlYWRlcnNFcnJvciIsIkhlYWRlcnNBZGFwdGVyIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3JlZmxlY3QiLCJyZXF1aXJlIiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsImNhbGxhYmxlIiwiSGVhZGVycyIsImhlYWRlcnMiLCJQcm94eSIsInByb3AiLCJyZWNlaXZlciIsIlJlZmxlY3RBZGFwdGVyIiwibG93ZXJjYXNlZCIsInRvTG93ZXJDYXNlIiwib3JpZ2luYWwiLCJrZXlzIiwiZmluZCIsIm8iLCJzZXQiLCJoYXMiLCJkZWxldGVQcm9wZXJ0eSIsInNlYWwiLCJtZXJnZSIsIkFycmF5IiwiaXNBcnJheSIsImpvaW4iLCJmcm9tIiwiYXBwZW5kIiwiZXhpc3RpbmciLCJwdXNoIiwiZGVsZXRlIiwiZm9yRWFjaCIsImNhbGxiYWNrZm4iLCJ0aGlzQXJnIiwiZW50cmllcyIsImNhbGwiLCJrZXkiLCJ2YWx1ZXMiLCJTeW1ib2wiLCJpdGVyYXRvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/web/spec-extension/adapters/headers.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/web/spec-extension/adapters/headers.js": /*!******************************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/adapters/headers.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReadonlyHeadersError: function() {\n return ReadonlyHeadersError;\n },\n HeadersAdapter: function() {\n return HeadersAdapter;\n }\n});\nconst _reflect = __webpack_require__(/*! ./reflect */ \"(rsc)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js\");\nclass ReadonlyHeadersError extends Error {\n constructor(){\n super(\"Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers\");\n }\n static callable() {\n throw new ReadonlyHeadersError();\n }\n}\nclass HeadersAdapter extends Headers {\n constructor(headers){\n // We've already overridden the methods that would be called, so we're just\n // calling the super constructor to ensure that the instanceof check works.\n super();\n this.headers = new Proxy(headers, {\n get (target, prop, receiver) {\n // Because this is just an object, we expect that all \"get\" operations\n // are for properties. If it's a \"get\" for a symbol, we'll just return\n // the symbol.\n if (typeof prop === \"symbol\") {\n return _reflect.ReflectAdapter.get(target, prop, receiver);\n }\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, return undefined.\n if (typeof original === \"undefined\") return;\n // If the original casing exists, return the value.\n return _reflect.ReflectAdapter.get(target, original, receiver);\n },\n set (target, prop, value, receiver) {\n if (typeof prop === \"symbol\") {\n return _reflect.ReflectAdapter.set(target, prop, value, receiver);\n }\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, use the prop as the key.\n return _reflect.ReflectAdapter.set(target, original ?? prop, value, receiver);\n },\n has (target, prop) {\n if (typeof prop === \"symbol\") return _reflect.ReflectAdapter.has(target, prop);\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, return false.\n if (typeof original === \"undefined\") return false;\n // If the original casing exists, return true.\n return _reflect.ReflectAdapter.has(target, original);\n },\n deleteProperty (target, prop) {\n if (typeof prop === \"symbol\") return _reflect.ReflectAdapter.deleteProperty(target, prop);\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, return true.\n if (typeof original === \"undefined\") return true;\n // If the original casing exists, delete the property.\n return _reflect.ReflectAdapter.deleteProperty(target, original);\n }\n });\n }\n /**\n * Seals a Headers instance to prevent modification by throwing an error when\n * any mutating method is called.\n */ static seal(headers) {\n return new Proxy(headers, {\n get (target, prop, receiver) {\n switch(prop){\n case \"append\":\n case \"delete\":\n case \"set\":\n return ReadonlyHeadersError.callable;\n default:\n return _reflect.ReflectAdapter.get(target, prop, receiver);\n }\n }\n });\n }\n /**\n * Merges a header value into a string. This stores multiple values as an\n * array, so we need to merge them into a string.\n *\n * @param value a header value\n * @returns a merged header value (a string)\n */ merge(value) {\n if (Array.isArray(value)) return value.join(\", \");\n return value;\n }\n /**\n * Creates a Headers instance from a plain object or a Headers instance.\n *\n * @param headers a plain object or a Headers instance\n * @returns a headers instance\n */ static from(headers) {\n if (headers instanceof Headers) return headers;\n return new HeadersAdapter(headers);\n }\n append(name, value) {\n const existing = this.headers[name];\n if (typeof existing === \"string\") {\n this.headers[name] = [\n existing,\n value\n ];\n } else if (Array.isArray(existing)) {\n existing.push(value);\n } else {\n this.headers[name] = value;\n }\n }\n delete(name) {\n delete this.headers[name];\n }\n get(name) {\n const value = this.headers[name];\n if (typeof value !== \"undefined\") return this.merge(value);\n return null;\n }\n has(name) {\n return typeof this.headers[name] !== \"undefined\";\n }\n set(name, value) {\n this.headers[name] = value;\n }\n forEach(callbackfn, thisArg) {\n for (const [name, value] of this.entries()){\n callbackfn.call(thisArg, value, name, this);\n }\n }\n *entries() {\n for (const key of Object.keys(this.headers)){\n const name = key.toLowerCase();\n // We assert here that this is a string because we got it from the\n // Object.keys() call above.\n const value = this.get(name);\n yield [\n name,\n value\n ];\n }\n }\n *keys() {\n for (const key of Object.keys(this.headers)){\n const name = key.toLowerCase();\n yield name;\n }\n }\n *values() {\n for (const key of Object.keys(this.headers)){\n // We assert here that this is a string because we got it from the\n // Object.keys() call above.\n const value = this.get(key);\n yield value;\n }\n }\n [Symbol.iterator]() {\n return this.entries();\n }\n} //# sourceMappingURL=headers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vYWRhcHRlcnMvaGVhZGVycy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsc0JBQXNCO1FBQ2xCLE9BQU9BO0lBQ1g7SUFDQUMsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sV0FBV0MsbUJBQU9BLENBQUMsK0ZBQVc7QUFDcEMsTUFBTVQsNkJBQTZCVTtJQUMvQkMsYUFBYTtRQUNULEtBQUssQ0FBQztJQUNWO0lBQ0EsT0FBT0MsV0FBVztRQUNkLE1BQU0sSUFBSVo7SUFDZDtBQUNKO0FBQ0EsTUFBTUMsdUJBQXVCWTtJQUN6QkYsWUFBWUcsT0FBTyxDQUFDO1FBQ2hCLDJFQUEyRTtRQUMzRSwyRUFBMkU7UUFDM0UsS0FBSztRQUNMLElBQUksQ0FBQ0EsT0FBTyxHQUFHLElBQUlDLE1BQU1ELFNBQVM7WUFDOUJQLEtBQUtKLE1BQU0sRUFBRWEsSUFBSSxFQUFFQyxRQUFRO2dCQUN2QixzRUFBc0U7Z0JBQ3RFLHNFQUFzRTtnQkFDdEUsY0FBYztnQkFDZCxJQUFJLE9BQU9ELFNBQVMsVUFBVTtvQkFDMUIsT0FBT1IsU0FBU1UsY0FBYyxDQUFDWCxHQUFHLENBQUNKLFFBQVFhLE1BQU1DO2dCQUNyRDtnQkFDQSxNQUFNRSxhQUFhSCxLQUFLSSxXQUFXO2dCQUNuQyx3RUFBd0U7Z0JBQ3hFLHFFQUFxRTtnQkFDckUsa0JBQWtCO2dCQUNsQixNQUFN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LE1BQU1ULE9BQU9zQyxJQUFJdkIsV0FBVztZQUM1QixrRUFBa0U7WUFDbEUsNEJBQTRCO1lBQzVCLE1BQU10QixRQUFRLElBQUksQ0FBQ1MsR0FBRyxDQUFDRjtZQUN2QixNQUFNO2dCQUNGQTtnQkFDQVA7YUFDSDtRQUNMO0lBQ0o7SUFDQSxDQUFDd0IsT0FBTztRQUNKLEtBQUssTUFBTXFCLE9BQU9oRCxPQUFPMkIsSUFBSSxDQUFDLElBQUksQ0FBQ1IsT0FBTyxFQUFFO1lBQ3hDLE1BQU1ULE9BQU9zQyxJQUFJdkIsV0FBVztZQUM1QixNQUFNZjtRQUNWO0lBQ0o7SUFDQSxDQUFDdUMsU0FBUztRQUNOLEtBQUssTUFBTUQsT0FBT2hELE9BQU8yQixJQUFJLENBQUMsSUFBSSxDQUFDUixPQUFPLEVBQUU7WUFDeEMsa0VBQWtFO1lBQ2xFLDRCQUE0QjtZQUM1QixNQUFNaEIsUUFBUSxJQUFJLENBQUNTLEdBQUcsQ0FBQ29DO1lBQ3ZCLE1BQU03QztRQUNWO0lBQ0o7SUFDQSxDQUFDK0MsT0FBT0MsUUFBUSxDQUFDLEdBQUc7UUFDaEIsT0FBTyxJQUFJLENBQUNMLE9BQU87SUFDdkI7QUFDSixFQUVBLG1DQUFtQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9hZGFwdGVycy9oZWFkZXJzLmpzP2U2ZGEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBSZWFkb25seUhlYWRlcnNFcnJvcjogbnVsbCxcbiAgICBIZWFkZXJzQWRhcHRlcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBSZWFkb25seUhlYWRlcnNFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSZWFkb25seUhlYWRlcnNFcnJvcjtcbiAgICB9LFxuICAgIEhlYWRlcnNBZGFwdGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEhlYWRlcnNBZGFwdGVyO1xuICAgIH1cbn0pO1xuY29uc3QgX3JlZmxlY3QgPSByZXF1aXJlKFwiLi9yZWZsZWN0XCIpO1xuY2xhc3MgUmVhZG9ubHlIZWFkZXJzRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IoKXtcbiAgICAgICAgc3VwZXIoXCJIZWFkZXJzIGNhbm5vdCBiZSBtb2RpZmllZC4gUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9mdW5jdGlvbnMvaGVhZGVyc1wiKTtcbiAgICB9XG4gICAgc3RhdGljIGNhbGxhYmxlKCkge1xuICAgICAgICB0aHJvdyBuZXcgUmVhZG9ubHlIZWFkZXJzRXJyb3IoKTtcbiAgICB9XG59XG5jbGFzcyBIZWFkZXJzQWRhcHRlciBleHRlbmRzIEhlYWRlcnMge1xuICAgIGNvbnN0cnVjdG9yKGhlYWRlcnMpe1xuICAgICAgICAvLyBXZSd2ZSBhbHJlYWR5IG92ZXJyaWRkZW4gdGhlIG1ldGhvZHMgdGhhdCB3b3VsZCBiZSBjYWxsZWQsIHNvIHdlJ3JlIGp1c3RcbiAgICAgICAgLy8gY2FsbGluZyB0aGUgc3VwZXIgY29uc3RydWN0b3IgdG8gZW5zdXJlIHRoYXQgdGhlIGluc3RhbmNlb2YgY2hlY2sgd29ya3MuXG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuaGVhZGVycyA9IG5ldyBQcm94eShoZWFkZXJzLCB7XG4gICAgICAgICAgICBnZXQgKHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpIHtcbiAgICAgICAgICAgICAgICAvLyBCZWNhdXNlIHRoaXMgaXMganVzdCBhbiBvYmplY3QsIHdlIGV4cGVjdCB0aGF0IGFsbCBcImdldFwiIG9wZXJhdGlvbnNcbiAgICAgICAgICAgICAgICAvLyBhcmUgZm9yIHByb3BlcnRpZXMuIElmIGl0J3MgYSBcImdldFwiIGZvciBhIHN5bWJvbCwgd2UnbGwganVzdCByZXR1cm5cbiAgICAgICAgICAgICAgICAvLyB0aGUgc3ltYm9sLlxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcCA9PT0gXCJzeW1ib2xcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3JlZmxlY3QuUmVmbGVjdEFkYXB0ZXIuZ2V0KHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBsb3dlcmNhc2VkID0gcHJvcC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIC8vIExldCdzIGZpbmQgdGhlIG9yaWdpbmFsIGNhc2luZyBvZiB0aGUga2V5LiBUaGlzIGFzc3VtZXMgdGhhdCB0aGVyZSBpc1xuICAgICAgICAgICAgICAgIC8vIG5vIG1peGVkIGNhc2Uga2V5cyAoZS5nLiBcIkNvbnRlbnQtVHlwZVwiIGFuZCBcImNvbnRlbnQtdHlwZVwiKSBpbiB0aGVcbiAgICAgICAgICAgICAgICAvLyBoZWFkZXJzIG9iamVjdC5cbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbCA9IE9iamVjdC5rZXlzKGhlYWRlcnMpLmZpbmQoKG8pPT5vLnRvTG93ZXJDYXNlKCkgPT09IGxvd2VyY2FzZWQpO1xuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBvcmlnaW5hbCBjYXNpbmcgZG9lc24ndCBleGlzdCwgcmV0dXJuIHVuZGVmaW5lZC5cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG9yaWdpbmFsID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIG9yaWdpbmFsIGNhc2luZyBleGlzdHMsIHJldHVybiB0aGUgdmFsdWUuXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9yZWZsZWN0LlJlZmxlY3RBZGFwdGVyLmdldCh0YXJnZXQsIG9yaWdpbmFsLCByZWNlaXZlcik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0ICh0YXJnZXQsIHByb3AsIHZhbHVlLCByZWNlaXZlcikge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcCA9PT0gXCJzeW1ib2xcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3JlZmxlY3QuUmVmbGVjdEFkYXB0ZXIuc2V0KHRhcmdldCwgcHJvcCwgdmFsdWUsIHJlY2VpdmVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgbG93ZXJjYXNlZCA9IHByb3AudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAvLyBMZXQncyBmaW5kIHRoZSBvcmlnaW5hbCBjYXNpbmcgb2YgdGhlIGtleS4gVGhpcyBhc3N1bWVzIHRoYXQgdGhlcmUgaXNcbiAgICAgICAgICAgICAgICAvLyBubyBtaXhlZCBjYXNlIGtleXMgKGUuZy4gXCJDb250ZW50LVR5cGVcIiBhbmQgXCJjb250ZW50LXR5cGVcIikgaW4gdGhlXG4gICAgICAgICAgICAgICAgLy8gaGVhZGVycyBvYmplY3QuXG4gICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWwgPSBPYmplY3Qua2V5cyhoZWFkZXJzKS5maW5kKChvKT0+by50b0xvd2VyQ2FzZSgpID09PSBsb3dlcmNhc2VkKTtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgb3JpZ2luYWwgY2FzaW5nIGRvZXNuJ3QgZXhpc3QsIHVzZSB0aGUgcHJvcCBhcyB0aGUga2V5LlxuICAgICAgICAgICAgICAgIHJldHVybiBfcmVmbGVjdC5SZWZsZWN0QWRhcHRlci5zZXQodGFyZ2V0LCBvcmlnaW5hbCA/PyBwcm9wLCB2YWx1ZSwgcmVjZWl2ZXIpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGhhcyAodGFyZ2V0LCBwcm9wKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm9wID09PSBcInN5bWJvbFwiKSByZXR1cm4gX3JlZmxlY3QuUmVmbGVjdEFkYXB0ZXIuaGFzKHRhcmdldCwgcHJvcCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbG93ZXJjYXNlZCA9IHByb3AudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAvLyBMZXQncyBmaW5kIHRoZSBvcmlnaW5hbCBjYXNpbmcgb2YgdGhlIGtleS4gVGhpcyBhc3N1bWVzIHRoYXQgdGhlcmUgaXNcbiAgICAgICAgICAgICAgICAvLyBubyBtaXhlZCBjYXNlIGtleXMgKGUuZy4gXCJDb250ZW50LVR5cGVcIiBhbmQgXCJjb250ZW50LXR5cGVcIikgaW4gdGhlXG4gICAgICAgICAgICAgICAgLy8gaGVhZGVycyBvYmplY3QuXG4gICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWwgPSBPYmplY3Qua2V5cyhoZWFkZXJzKS5maW5kKChvKT0+by50b0xvd2VyQ2FzZSgpID09PSBsb3dlcmNhc2VkKTtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgb3JpZ2luYWwgY2FzaW5nIGRvZXNuJ3QgZXhpc3QsIHJldHVybiBmYWxzZS5cbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG9yaWdpbmFsID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIG9yaWdpbmFsIGNhc2luZyBleGlzdHMsIHJldHVybiB0cnVlLlxuICAgICAgICAgICAgICAgIHJldHVybiBfcmVmbGVjdC5SZWZsZWN0QWRhcHRlci5oYXModGFyZ2V0LCBvcmlnaW5hbCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGVsZXRlUHJvcGVydHkgKHRhcmdldCwgcHJvcCkge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcCA9PT0gXCJzeW1ib2xcIikgcmV0dXJuIF9yZWZsZWN0LlJlZmxlY3RBZGFwdGVyLmRlbGV0ZVByb3BlcnR5KHRhcmdldCwgcHJvcCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbG93ZXJjYXNlZCA9IHByb3AudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAvLyBMZXQncyBmaW5kIHRoZSBvcmlnaW5hbCBjYXNpbmcgb2YgdGhlIGtleS4gVGhpcyBhc3N1bWVzIHRoYXQgdGhlcmUgaXNcbiAgICAgICAgICAgICAgICAvLyBubyBtaXhlZCBjYXNlIGtleXMgKGUuZy4gXCJDb250ZW50LVR5cGVcIiBhbmQgXCJjb250ZW50LXR5cGVcIikgaW4gdGhlXG4gICAgICAgICAgICAgICAgLy8gaGVhZGVycyBvYmplY3QuXG4gICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWwgPSBPYmplY3Qua2V5cyhoZWFkZXJzKS5maW5kKChvKT0+by50b0xvd2VyQ2FzZSgpID09PSBsb3dlcmNhc2VkKTtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgb3JpZ2luYWwgY2FzaW5nIGRvZXNuJ3QgZXhpc3QsIHJldHVybiB0cnVlLlxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3JpZ2luYWwgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBvcmlnaW5hbCBjYXNpbmcgZXhpc3RzLCBkZWxldGUgdGhlIHByb3BlcnR5LlxuICAgICAgICAgICAgICAgIHJldHVybiBfcmVmbGVjdC5SZWZsZWN0QWRhcHRlci5kZWxldGVQcm9wZXJ0eSh0YXJnZXQsIG9yaWdpbmFsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgKiBTZWFscyBhIEhlYWRlcnMgaW5zdGFuY2UgdG8gcHJldmVudCBtb2RpZmljYXRpb24gYnkgdGhyb3dpbmcgYW4gZXJyb3Igd2hlblxuICAgKiBhbnkgbXV0YXRpbmcgbWV0aG9kIGlzIGNhbGxlZC5cbiAgICovIHN0YXRpYyBzZWFsKGhlYWRlcnMpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm94eShoZWFkZXJzLCB7XG4gICAgICAgICAgICBnZXQgKHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2gocHJvcCl7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJhcHBlbmRcIjpcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImRlbGV0ZVwiOlxuICAgICAgICAgICAgICAgICAgICBjYXNlIFwic2V0XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVhZG9ubHlIZWFkZXJzRXJyb3IuY2FsbGFibGU7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3JlZmxlY3QuUmVmbGVjdEFkYXB0ZXIuZ2V0KHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgKiBNZXJnZXMgYSBoZWFkZXIgdmFsdWUgaW50byBhIHN0cmluZy4gVGhpcyBzdG9yZXMgbXVsdGlwbGUgdmFsdWVzIGFzIGFuXG4gICAqIGFycmF5LCBzbyB3ZSBuZWVkIHRvIG1lcmdlIHRoZW0gaW50byBhIHN0cmluZy5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIGEgaGVhZGVyIHZhbHVlXG4gICAqIEByZXR1cm5zIGEgbWVyZ2VkIGhlYWRlciB2YWx1ZSAoYSBzdHJpbmcpXG4gICAqLyBtZXJnZSh2YWx1ZSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHJldHVybiB2YWx1ZS5qb2luKFwiLCBcIik7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAqIENyZWF0ZXMgYSBIZWFkZXJzIGluc3RhbmNlIGZyb20gYSBwbGFpbiBvYmplY3Qgb3IgYSBIZWFkZXJzIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gaGVhZGVycyBhIHBsYWluIG9iamVjdCBvciBhIEhlYWRlcnMgaW5zdGFuY2VcbiAgICogQHJldHVybnMgYSBoZWFkZXJzIGluc3RhbmNlXG4gICAqLyBzdGF0aWMgZnJvbShoZWFkZXJzKSB7XG4gICAgICAgIGlmIChoZWFkZXJzIGluc3RhbmNlb2YgSGVhZGVycykgcmV0dXJuIGhlYWRlcnM7XG4gICAgICAgIHJldHVybiBuZXcgSGVhZGVyc0FkYXB0ZXIoaGVhZGVycyk7XG4gICAgfVxuICAgIGFwcGVuZChuYW1lLCB2YWx1ZSkge1xuICAgICAgICBjb25zdCBleGlzdGluZyA9IHRoaXMuaGVhZGVyc1tuYW1lXTtcbiAgICAgICAgaWYgKHR5cGVvZiBleGlzdGluZyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgdGhpcy5oZWFkZXJzW25hbWVdID0gW1xuICAgICAgICAgICAgICAgIGV4aXN0aW5nLFxuICAgICAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICBdO1xuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZXhpc3RpbmcpKSB7XG4gICAgICAgICAgICBleGlzdGluZy5wdXNoKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGVhZGVyc1tuYW1lXSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGRlbGV0ZShuYW1lKSB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLmhlYWRlcnNbbmFtZV07XG4gICAgfVxuICAgIGdldChuYW1lKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5oZWFkZXJzW25hbWVdO1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gdGhpcy5tZXJnZSh2YWx1ZSk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBoYXMobmFtZSkge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMuaGVhZGVyc1tuYW1lXSAhPT0gXCJ1bmRlZmluZWRcIjtcbiAgICB9XG4gICAgc2V0KG5hbWUsIHZhbHVlKSB7XG4gICAgICAgIHRoaXMuaGVhZGVyc1tuYW1lXSA9IHZhbHVlO1xuICAgIH1cbiAgICBmb3JFYWNoKGNhbGxiYWNrZm4sIHRoaXNBcmcpIHtcbiAgICAgICAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIHRoaXMuZW50cmllcygpKXtcbiAgICAgICAgICAgIGNhbGxiYWNrZm4uY2FsbCh0aGlzQXJnLCB2YWx1ZSwgbmFtZSwgdGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgKmVudHJpZXMoKSB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHRoaXMuaGVhZGVycykpe1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IGtleS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgLy8gV2UgYXNzZXJ0IGhlcmUgdGhhdCB0aGlzIGlzIGEgc3RyaW5nIGJlY2F1c2Ugd2UgZ290IGl0IGZyb20gdGhlXG4gICAgICAgICAgICAvLyBPYmplY3Qua2V5cygpIGNhbGwgYWJvdmUuXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0KG5hbWUpO1xuICAgICAgICAgICAgeWllbGQgW1xuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICB9XG4gICAgKmtleXMoKSB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHRoaXMuaGVhZGVycykpe1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IGtleS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgeWllbGQgbmFtZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAqdmFsdWVzKCkge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh0aGlzLmhlYWRlcnMpKXtcbiAgICAgICAgICAgIC8vIFdlIGFzc2VydCBoZXJlIHRoYXQgdGhpcyBpcyBhIHN0cmluZyBiZWNhdXNlIHdlIGdvdCBpdCBmcm9tIHRoZVxuICAgICAgICAgICAgLy8gT2JqZWN0LmtleXMoKSBjYWxsIGFib3ZlLlxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldChrZXkpO1xuICAgICAgICAgICAgeWllbGQgdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVudHJpZXMoKTtcbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlYWRlcnMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiUmVhZG9ubHlIZWFkZXJzRXJyb3IiLCJIZWFkZXJzQWRhcHRlciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9yZWZsZWN0IiwicmVxdWlyZSIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJjYWxsYWJsZSIsIkhlYWRlcnMiLCJoZWFkZXJzIiwiUHJveHkiLCJwcm9wIiwicmVjZWl2ZXIiLCJSZWZsZWN0QWRhcHRlciIsImxvd2VyY2FzZWQiLCJ0b0xvd2VyQ2FzZSIsIm9yaWdpbmFsIiwia2V5cyIsImZpbmQiLCJvIiwic2V0IiwiaGFzIiwiZGVsZXRlUHJvcGVydHkiLCJzZWFsIiwibWVyZ2UiLCJBcnJheSIsImlzQXJyYXkiLCJqb2luIiwiZnJvbSIsImFwcGVuZCIsImV4aXN0aW5nIiwicHVzaCIsImRlbGV0ZSIsImZvckVhY2giLCJjYWxsYmFja2ZuIiwidGhpc0FyZyIsImVudHJpZXMiLCJjYWxsIiwia2V5IiwidmFsdWVzIiwiU3ltYm9sIiwiaXRlcmF0b3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/web/spec-extension/adapters/headers.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js": /*!******************************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ReflectAdapter\", ({\n enumerable: true,\n get: function() {\n return ReflectAdapter;\n }\n}));\nclass ReflectAdapter {\n static get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (typeof value === \"function\") {\n return value.bind(target);\n }\n return value;\n }\n static set(target, prop, value, receiver) {\n return Reflect.set(target, prop, value, receiver);\n }\n static has(target, prop) {\n return Reflect.has(target, prop);\n }\n static deleteProperty(target, prop) {\n return Reflect.deleteProperty(target, prop);\n }\n} //# sourceMappingURL=reflect.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9hZGFwdGVycy9yZWZsZWN0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxrREFBaUQ7SUFDN0NJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQTtJQUNGLE9BQU9ELElBQUlFLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxRQUFRLEVBQUU7UUFDL0IsTUFBTU4sUUFBUU8sUUFBUUwsR0FBRyxDQUFDRSxRQUFRQyxNQUFNQztRQUN4QyxJQUFJLE9BQU9OLFVBQVUsWUFBWTtZQUM3QixPQUFPQSxNQUFNUSxJQUFJLENBQUNKO1FBQ3RCO1FBQ0EsT0FBT0o7SUFDWDtJQUNBLE9BQU9TLElBQUlMLE1BQU0sRUFBRUMsSUFBSSxFQUFFTCxLQUFLLEVBQUVNLFFBQVEsRUFBRTtRQUN0QyxPQUFPQyxRQUFRRSxHQUFHLENBQUNMLFFBQVFDLE1BQU1MLE9BQU9NO0lBQzVDO0lBQ0EsT0FBT0ksSUFBSU4sTUFBTSxFQUFFQyxJQUFJLEVBQUU7UUFDckIsT0FBT0UsUUFBUUcsR0FBRyxDQUFDTixRQUFRQztJQUMvQjtJQUNBLE9BQU9NLGVBQWVQLE1BQU0sRUFBRUMsSUFBSSxFQUFFO1FBQ2hDLE9BQU9FLFFBQVFJLGNBQWMsQ0FBQ1AsUUFBUUM7SUFDMUM7QUFDSixFQUVBLG1DQUFtQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9hZGFwdGVycy9yZWZsZWN0LmpzPzRjYzEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJSZWZsZWN0QWRhcHRlclwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVmbGVjdEFkYXB0ZXI7XG4gICAgfVxufSk7XG5jbGFzcyBSZWZsZWN0QWRhcHRlciB7XG4gICAgc3RhdGljIGdldCh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gUmVmbGVjdC5nZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcik7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmJpbmQodGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHN0YXRpYyBzZXQodGFyZ2V0LCBwcm9wLCB2YWx1ZSwgcmVjZWl2ZXIpIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3Quc2V0KHRhcmdldCwgcHJvcCwgdmFsdWUsIHJlY2VpdmVyKTtcbiAgICB9XG4gICAgc3RhdGljIGhhcyh0YXJnZXQsIHByb3ApIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuaGFzKHRhcmdldCwgcHJvcCk7XG4gICAgfVxuICAgIHN0YXRpYyBkZWxldGVQcm9wZXJ0eSh0YXJnZXQsIHByb3ApIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZGVsZXRlUHJvcGVydHkodGFyZ2V0LCBwcm9wKTtcbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlZmxlY3QuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIlJlZmxlY3RBZGFwdGVyIiwidGFyZ2V0IiwicHJvcCIsInJlY2VpdmVyIiwiUmVmbGVjdCIsImJpbmQiLCJzZXQiLCJoYXMiLCJkZWxldGVQcm9wZXJ0eSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js": /*!******************************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ReflectAdapter\", ({\n enumerable: true,\n get: function() {\n return ReflectAdapter;\n }\n}));\nclass ReflectAdapter {\n static get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (typeof value === \"function\") {\n return value.bind(target);\n }\n return value;\n }\n static set(target, prop, value, receiver) {\n return Reflect.set(target, prop, value, receiver);\n }\n static has(target, prop) {\n return Reflect.has(target, prop);\n }\n static deleteProperty(target, prop) {\n return Reflect.deleteProperty(target, prop);\n }\n} //# sourceMappingURL=reflect.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vYWRhcHRlcnMvcmVmbGVjdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsa0RBQWlEO0lBQzdDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUE7SUFDRixPQUFPRCxJQUFJRSxNQUFNLEVBQUVDLElBQUksRUFBRUMsUUFBUSxFQUFFO1FBQy9CLE1BQU1OLFFBQVFPLFFBQVFMLEdBQUcsQ0FBQ0UsUUFBUUMsTUFBTUM7UUFDeEMsSUFBSSxPQUFPTixVQUFVLFlBQVk7WUFDN0IsT0FBT0EsTUFBTVEsSUFBSSxDQUFDSjtRQUN0QjtRQUNBLE9BQU9KO0lBQ1g7SUFDQSxPQUFPUyxJQUFJTCxNQUFNLEVBQUVDLElBQUksRUFBRUwsS0FBSyxFQUFFTSxRQUFRLEVBQUU7UUFDdEMsT0FBT0MsUUFBUUUsR0FBRyxDQUFDTCxRQUFRQyxNQUFNTCxPQUFPTTtJQUM1QztJQUNBLE9BQU9JLElBQUlOLE1BQU0sRUFBRUMsSUFBSSxFQUFFO1FBQ3JCLE9BQU9FLFFBQVFHLEdBQUcsQ0FBQ04sUUFBUUM7SUFDL0I7SUFDQSxPQUFPTSxlQUFlUCxNQUFNLEVBQUVDLElBQUksRUFBRTtRQUNoQyxPQUFPRSxRQUFRSSxjQUFjLENBQUNQLFFBQVFDO0lBQzFDO0FBQ0osRUFFQSxtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vYWRhcHRlcnMvcmVmbGVjdC5qcz80Y2MxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiUmVmbGVjdEFkYXB0ZXJcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3RBZGFwdGVyO1xuICAgIH1cbn0pO1xuY2xhc3MgUmVmbGVjdEFkYXB0ZXIge1xuICAgIHN0YXRpYyBnZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcikge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpO1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5iaW5kKHRhcmdldCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBzdGF0aWMgc2V0KHRhcmdldCwgcHJvcCwgdmFsdWUsIHJlY2VpdmVyKSB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0LnNldCh0YXJnZXQsIHByb3AsIHZhbHVlLCByZWNlaXZlcik7XG4gICAgfVxuICAgIHN0YXRpYyBoYXModGFyZ2V0LCBwcm9wKSB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0Lmhhcyh0YXJnZXQsIHByb3ApO1xuICAgIH1cbiAgICBzdGF0aWMgZGVsZXRlUHJvcGVydHkodGFyZ2V0LCBwcm9wKSB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0LmRlbGV0ZVByb3BlcnR5KHRhcmdldCwgcHJvcCk7XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWZsZWN0LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJSZWZsZWN0QWRhcHRlciIsInRhcmdldCIsInByb3AiLCJyZWNlaXZlciIsIlJlZmxlY3QiLCJiaW5kIiwic2V0IiwiaGFzIiwiZGVsZXRlUHJvcGVydHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js": /*!**************************************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js ***! \**************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReadonlyRequestCookiesError: function() {\n return ReadonlyRequestCookiesError;\n },\n RequestCookiesAdapter: function() {\n return RequestCookiesAdapter;\n },\n getModifiedCookieValues: function() {\n return getModifiedCookieValues;\n },\n appendMutableCookies: function() {\n return appendMutableCookies;\n },\n MutableRequestCookiesAdapter: function() {\n return MutableRequestCookiesAdapter;\n }\n});\nconst _cookies = __webpack_require__(/*! ../cookies */ \"(action-browser)/./node_modules/next/dist/server/web/spec-extension/cookies.js\");\nconst _reflect = __webpack_require__(/*! ./reflect */ \"(action-browser)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js\");\nclass ReadonlyRequestCookiesError extends Error {\n constructor(){\n super(\"Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#cookiessetname-value-options\");\n }\n static callable() {\n throw new ReadonlyRequestCookiesError();\n }\n}\nclass RequestCookiesAdapter {\n static seal(cookies) {\n return new Proxy(cookies, {\n get (target, prop, receiver) {\n switch(prop){\n case \"clear\":\n case \"delete\":\n case \"set\":\n return ReadonlyRequestCookiesError.callable;\n default:\n return _reflect.ReflectAdapter.get(target, prop, receiver);\n }\n }\n });\n }\n}\nconst SYMBOL_MODIFY_COOKIE_VALUES = Symbol.for(\"next.mutated.cookies\");\nfunction getModifiedCookieValues(cookies) {\n const modified = cookies[SYMBOL_MODIFY_COOKIE_VALUES];\n if (!modified || !Array.isArray(modified) || modified.length === 0) {\n return [];\n }\n return modified;\n}\nfunction appendMutableCookies(headers, mutableCookies) {\n const modifiedCookieValues = getModifiedCookieValues(mutableCookies);\n if (modifiedCookieValues.length === 0) {\n return false;\n }\n // Return a new response that extends the response with\n // the modified cookies as fallbacks. `res` cookies\n // will still take precedence.\n const resCookies = new _cookies.ResponseCookies(headers);\n const returnedCookies = resCookies.getAll();\n // Set the modified cookies as fallbacks.\n for (const cookie of modifiedCookieValues){\n resCookies.set(cookie);\n }\n // Set the original cookies as the final values.\n for (const cookie of returnedCookies){\n resCookies.set(cookie);\n }\n return true;\n}\nclass MutableRequestCookiesAdapter {\n static wrap(cookies, onUpdateCookies) {\n const responseCookies = new _cookies.ResponseCookies(new Headers());\n for (const cookie of cookies.getAll()){\n responseCookies.set(cookie);\n }\n let modifiedValues = [];\n const modifiedCookies = new Set();\n const updateResponseCookies = ()=>{\n var _fetch___nextGetStaticStore;\n // TODO-APP: change method of getting staticGenerationAsyncStore\n const staticGenerationAsyncStore = fetch.__nextGetStaticStore == null ? void 0 : (_fetch___nextGetStaticStore = fetch.__nextGetStaticStore.call(fetch)) == null ? void 0 : _fetch___nextGetStaticStore.getStore();\n if (staticGenerationAsyncStore) {\n staticGenerationAsyncStore.pathWasRevalidated = true;\n }\n const allCookies = responseCookies.getAll();\n modifiedValues = allCookies.filter((c)=>modifiedCookies.has(c.name));\n if (onUpdateCookies) {\n const serializedCookies = [];\n for (const cookie of modifiedValues){\n const tempCookies = new _cookies.ResponseCookies(new Headers());\n tempCookies.set(cookie);\n serializedCookies.push(tempCookies.toString());\n }\n onUpdateCookies(serializedCookies);\n }\n };\n return new Proxy(responseCookies, {\n get (target, prop, receiver) {\n switch(prop){\n // A special symbol to get the modified cookie values\n case SYMBOL_MODIFY_COOKIE_VALUES:\n return modifiedValues;\n // TODO: Throw error if trying to set a cookie after the response\n // headers have been set.\n case \"delete\":\n return function(...args) {\n modifiedCookies.add(typeof args[0] === \"string\" ? args[0] : args[0].name);\n try {\n target.delete(...args);\n } finally{\n updateResponseCookies();\n }\n };\n case \"set\":\n return function(...args) {\n modifiedCookies.add(typeof args[0] === \"string\" ? args[0] : args[0].name);\n try {\n return target.set(...args);\n } finally{\n updateResponseCookies();\n }\n };\n default:\n return _reflect.ReflectAdapter.get(target, prop, receiver);\n }\n }\n });\n }\n} //# sourceMappingURL=request-cookies.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9hZGFwdGVycy9yZXF1ZXN0LWNvb2tpZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FNTjtBQUNBLFNBQVNNLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlaLE9BQU9DLGNBQWMsQ0FBQ1UsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRUixTQUFTO0lBQ2JHLDZCQUE2QjtRQUN6QixPQUFPQTtJQUNYO0lBQ0FDLHVCQUF1QjtRQUNuQixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLHNCQUFzQjtRQUNsQixPQUFPQTtJQUNYO0lBQ0FDLDhCQUE4QjtRQUMxQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxXQUFXQyxtQkFBT0EsQ0FBQyxrR0FBWTtBQUNyQyxNQUFNQyxXQUFXRCxtQkFBT0EsQ0FBQywwR0FBVztBQUNwQyxNQUFNWixvQ0FBb0NjO0lBQ3RDQyxhQUFhO1FBQ1QsS0FBSyxDQUFDO0lBQ1Y7SUFDQSxPQUFPQyxXQUFXO1FBQ2QsTUFBTSxJQUFJaEI7SUFDZDtBQUNKO0FBQ0EsTUFBTUM7SUFDRixPQUFPZ0IsS0FBS0MsT0FBTyxFQUFFO1FBQ2pCLE9BQU8sSUFBSUMsTUFBTUQsU0FBUztZQUN0QlIsS0FBS0osTUFBTSxFQUFFYyxJQUFJLEVBQUVDLFFBQVE7Z0JBQ3ZCLE9BQU9EO29CQUNILEtBQUs7b0JBQ0wsS0FBSztvQkFDTCxLQUFLO3dCQUNELE9BQU9wQiw0QkFBNEJnQixRQUFRO29CQUMvQzt3QkFDSSxPQUFPSCxTQUFTUyxjQUFjLENBQUNaLEdBQUcsQ0FB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Szt3QkFDRCxPQUFPLFNBQVMsR0FBR2dCLElBQUk7NEJBQ25CbEIsZ0JBQWdCbUIsR0FBRyxDQUFDLE9BQU9ELElBQUksQ0FBQyxFQUFFLEtBQUssV0FBV0EsSUFBSSxDQUFDLEVBQUUsR0FBR0EsSUFBSSxDQUFDLEVBQUUsQ0FBQ3RELElBQUk7NEJBQ3hFLElBQUk7Z0NBQ0EsT0FBT0YsT0FBT2dDLEdBQUcsSUFBSXdCOzRCQUN6QixTQUFTO2dDQUNMaEI7NEJBQ0o7d0JBQ0o7b0JBQ0o7d0JBQ0ksT0FBT2pDLFNBQVNTLGNBQWMsQ0FBQ1osR0FBRyxDQUFDSixRQUFRYyxNQUFNQztnQkFDekQ7WUFDSjtRQUNKO0lBQ0o7QUFDSixFQUVBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9hZGFwdGVycy9yZXF1ZXN0LWNvb2tpZXMuanM/YjBkZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFJlYWRvbmx5UmVxdWVzdENvb2tpZXNFcnJvcjogbnVsbCxcbiAgICBSZXF1ZXN0Q29va2llc0FkYXB0ZXI6IG51bGwsXG4gICAgZ2V0TW9kaWZpZWRDb29raWVWYWx1ZXM6IG51bGwsXG4gICAgYXBwZW5kTXV0YWJsZUNvb2tpZXM6IG51bGwsXG4gICAgTXV0YWJsZVJlcXVlc3RDb29raWVzQWRhcHRlcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBSZWFkb25seVJlcXVlc3RDb29raWVzRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVhZG9ubHlSZXF1ZXN0Q29va2llc0Vycm9yO1xuICAgIH0sXG4gICAgUmVxdWVzdENvb2tpZXNBZGFwdGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJlcXVlc3RDb29raWVzQWRhcHRlcjtcbiAgICB9LFxuICAgIGdldE1vZGlmaWVkQ29va2llVmFsdWVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldE1vZGlmaWVkQ29va2llVmFsdWVzO1xuICAgIH0sXG4gICAgYXBwZW5kTXV0YWJsZUNvb2tpZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYXBwZW5kTXV0YWJsZUNvb2tpZXM7XG4gICAgfSxcbiAgICBNdXRhYmxlUmVxdWVzdENvb2tpZXNBZGFwdGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE11dGFibGVSZXF1ZXN0Q29va2llc0FkYXB0ZXI7XG4gICAgfVxufSk7XG5jb25zdCBfY29va2llcyA9IHJlcXVpcmUoXCIuLi9jb29raWVzXCIpO1xuY29uc3QgX3JlZmxlY3QgPSByZXF1aXJlKFwiLi9yZWZsZWN0XCIpO1xuY2xhc3MgUmVhZG9ubHlSZXF1ZXN0Q29va2llc0Vycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKCl7XG4gICAgICAgIHN1cGVyKFwiQ29va2llcyBjYW4gb25seSBiZSBtb2RpZmllZCBpbiBhIFNlcnZlciBBY3Rpb24gb3IgUm91dGUgSGFuZGxlci4gUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9mdW5jdGlvbnMvY29va2llcyNjb29raWVzc2V0bmFtZS12YWx1ZS1vcHRpb25zXCIpO1xuICAgIH1cbiAgICBzdGF0aWMgY2FsbGFibGUoKSB7XG4gICAgICAgIHRocm93IG5ldyBSZWFkb25seVJlcXVlc3RDb29raWVzRXJyb3IoKTtcbiAgICB9XG59XG5jbGFzcyBSZXF1ZXN0Q29va2llc0FkYXB0ZXIge1xuICAgIHN0YXRpYyBzZWFsKGNvb2tpZXMpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm94eShjb29raWVzLCB7XG4gICAgICAgICAgICBnZXQgKHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2gocHJvcCl7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJjbGVhclwiOlxuICAgICAgICAgICAgICAgICAgICBjYXNlIFwiZGVsZXRlXCI6XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJzZXRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBSZWFkb25seVJlcXVlc3RDb29raWVzRXJyb3IuY2FsbGFibGU7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3JlZmxlY3QuUmVmbGVjdEFkYXB0ZXIuZ2V0KHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuY29uc3QgU1lNQk9MX01PRElGWV9DT09LSUVfVkFMVUVTID0gU3ltYm9sLmZvcihcIm5leHQubXV0YXRlZC5jb29raWVzXCIpO1xuZnVuY3Rpb24gZ2V0TW9kaWZpZWRDb29raWVWYWx1ZXMoY29va2llcykge1xuICAgIGNvbnN0IG1vZGlmaWVkID0gY29va2llc1tTWU1CT0xfTU9ESUZZX0NPT0tJRV9WQUxVRVNdO1xuICAgIGlmICghbW9kaWZpZWQgfHwgIUFycmF5LmlzQXJyYXkobW9kaWZpZWQpIHx8IG1vZGlmaWVkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiBtb2RpZmllZDtcbn1cbmZ1bmN0aW9uIGFwcGVuZE11dGFibGVDb29raWVzKGhlYWRlcnMsIG11dGFibGVDb29raWVzKSB7XG4gICAgY29uc3QgbW9kaWZpZWRDb29raWVWYWx1ZXMgPSBnZXRNb2RpZmllZENvb2tpZVZhbHVlcyhtdXRhYmxlQ29va2llcyk7XG4gICAgaWYgKG1vZGlmaWVkQ29va2llVmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIFJldHVybiBhIG5ldyByZXNwb25zZSB0aGF0IGV4dGVuZHMgdGhlIHJlc3BvbnNlIHdpdGhcbiAgICAvLyB0aGUgbW9kaWZpZWQgY29va2llcyBhcyBmYWxsYmFja3MuIGByZXNgIGNvb2tpZXNcbiAgICAvLyB3aWxsIHN0aWxsIHRha2UgcHJlY2VkZW5jZS5cbiAgICBjb25zdCByZXNDb29raWVzID0gbmV3IF9jb29raWVzLlJlc3BvbnNlQ29va2llcyhoZWFkZXJzKTtcbiAgICBjb25zdCByZXR1cm5lZENvb2tpZXMgPSByZXNDb29raWVzLmdldEFsbCgpO1xuICAgIC8vIFNldCB0aGUgbW9kaWZpZWQgY29va2llcyBhcyBmYWxsYmFja3MuXG4gICAgZm9yIChjb25zdCBjb29raWUgb2YgbW9kaWZpZWRDb29raWVWYWx1ZXMpe1xuICAgICAgICByZXNDb29raWVzLnNldChjb29raWUpO1xuICAgIH1cbiAgICAvLyBTZXQgdGhlIG9yaWdpbmFsIGNvb2tpZXMgYXMgdGhlIGZpbmFsIHZhbHVlcy5cbiAgICBmb3IgKGNvbnN0IGNvb2tpZSBvZiByZXR1cm5lZENvb2tpZXMpe1xuICAgICAgICByZXNDb29raWVzLnNldChjb29raWUpO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cbmNsYXNzIE11dGFibGVSZXF1ZXN0Q29va2llc0FkYXB0ZXIge1xuICAgIHN0YXRpYyB3cmFwKGNvb2tpZXMsIG9uVXBkYXRlQ29va2llcykge1xuICAgICAgICBjb25zdCByZXNwb25zZUNvb2tpZXMgPSBuZXcgX2Nvb2tpZXMuUmVzcG9uc2VDb29raWVzKG5ldyBIZWFkZXJzKCkpO1xuICAgICAgICBmb3IgKGNvbnN0IGNvb2tpZSBvZiBjb29raWVzLmdldEFsbCgpKXtcbiAgICAgICAgICAgIHJlc3BvbnNlQ29va2llcy5zZXQoY29va2llKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbW9kaWZpZWRWYWx1ZXMgPSBbXTtcbiAgICAgICAgY29uc3QgbW9kaWZpZWRDb29raWVzID0gbmV3IFNldCgpO1xuICAgICAgICBjb25zdCB1cGRhdGVSZXNwb25zZUNvb2tpZXMgPSAoKT0+e1xuICAgICAgICAgICAgdmFyIF9mZXRjaF9fX25leHRHZXRTdGF0aWNTdG9yZTtcbiAgICAgICAgICAgIC8vIFRPRE8tQVBQOiBjaGFuZ2UgbWV0aG9kIG9mIGdldHRpbmcgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmVcbiAgICAgICAgICAgIGNvbnN0IHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JlID0gZmV0Y2guX19uZXh0R2V0U3RhdGljU3RvcmUgPT0gbnVsbCA/IHZvaWQgMCA6IChfZmV0Y2hfX19uZXh0R2V0U3RhdGljU3RvcmUgPSBmZXRjaC5fX25leHRHZXRTdGF0aWNTdG9yZS5jYWxsKGZldGNoKSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9mZXRjaF9fX25leHRHZXRTdGF0aWNTdG9yZS5nZXRTdG9yZSgpO1xuICAgICAgICAgICAgaWYgKHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JlKSB7XG4gICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmUucGF0aFdhc1JldmFsaWRhdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGFsbENvb2tpZXMgPSByZXNwb25zZUNvb2tpZXMuZ2V0QWxsKCk7XG4gICAgICAgICAgICBtb2RpZmllZFZhbHVlcyA9IGFsbENvb2tpZXMuZmlsdGVyKChjKT0+bW9kaWZpZWRDb29raWVzLmhhcyhjLm5hbWUpKTtcbiAgICAgICAgICAgIGlmIChvblVwZGF0ZUNvb2tpZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZXJpYWxpemVkQ29va2llcyA9IFtdO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY29va2llIG9mIG1vZGlmaWVkVmFsdWVzKXtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGVtcENvb2tpZXMgPSBuZXcgX2Nvb2tpZXMuUmVzcG9uc2VDb29raWVzKG5ldyBIZWFkZXJzKCkpO1xuICAgICAgICAgICAgICAgICAgICB0ZW1wQ29va2llcy5zZXQoY29va2llKTtcbiAgICAgICAgICAgICAgICAgICAgc2VyaWFsaXplZENvb2tpZXMucHVzaCh0ZW1wQ29va2llcy50b1N0cmluZygpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb25VcGRhdGVDb29raWVzKHNlcmlhbGl6ZWRDb29raWVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm94eShyZXNwb25zZUNvb2tpZXMsIHtcbiAgICAgICAgICAgIGdldCAodGFyZ2V0LCBwcm9wLCByZWNlaXZlcikge1xuICAgICAgICAgICAgICAgIHN3aXRjaChwcm9wKXtcbiAgICAgICAgICAgICAgICAgICAgLy8gQSBzcGVjaWFsIHN5bWJvbCB0byBnZXQgdGhlIG1vZGlmaWVkIGNvb2tpZSB2YWx1ZXNcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBTWU1CT0xfTU9ESUZZX0NPT0tJRV9WQUxVRVM6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbW9kaWZpZWRWYWx1ZXM7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IFRocm93IGVycm9yIGlmIHRyeWluZyB0byBzZXQgYSBjb29raWUgYWZ0ZXIgdGhlIHJlc3BvbnNlXG4gICAgICAgICAgICAgICAgICAgIC8vIGhlYWRlcnMgaGF2ZSBiZWVuIHNldC5cbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImRlbGV0ZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllZENvb2tpZXMuYWRkKHR5cGVvZiBhcmdzWzBdID09PSBcInN0cmluZ1wiID8gYXJnc1swXSA6IGFyZ3NbMF0ubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LmRlbGV0ZSguLi5hcmdzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGZpbmFsbHl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVJlc3BvbnNlQ29va2llcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJzZXRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiguLi5hcmdzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZWRDb29raWVzLmFkZCh0eXBlb2YgYXJnc1swXSA9PT0gXCJzdHJpbmdcIiA/IGFyZ3NbMF0gOiBhcmdzWzBdLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXQuc2V0KC4uLmFyZ3MpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZmluYWxseXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlUmVzcG9uc2VDb29raWVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfcmVmbGVjdC5SZWZsZWN0QWRhcHRlci5nZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlcXVlc3QtY29va2llcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJSZWFkb25seVJlcXVlc3RDb29raWVzRXJyb3IiLCJSZXF1ZXN0Q29va2llc0FkYXB0ZXIiLCJnZXRNb2RpZmllZENvb2tpZVZhbHVlcyIsImFwcGVuZE11dGFibGVDb29raWVzIiwiTXV0YWJsZVJlcXVlc3RDb29raWVzQWRhcHRlciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9jb29raWVzIiwicmVxdWlyZSIsIl9yZWZsZWN0IiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsImNhbGxhYmxlIiwic2VhbCIsImNvb2tpZXMiLCJQcm94eSIsInByb3AiLCJyZWNlaXZlciIsIlJlZmxlY3RBZGFwdGVyIiwiU1lNQk9MX01PRElGWV9DT09LSUVfVkFMVUVTIiwiU3ltYm9sIiwiZm9yIiwibW9kaWZpZWQiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJoZWFkZXJzIiwibXV0YWJsZUNvb2tpZXMiLCJtb2RpZmllZENvb2tpZVZhbHVlcyIsInJlc0Nvb2tpZXMiLCJSZXNwb25zZUNvb2tpZXMiLCJyZXR1cm5lZENvb2tpZXMiLCJnZXRBbGwiLCJjb29raWUiLCJzZXQiLCJ3cmFwIiwib25VcGRhdGVDb29raWVzIiwicmVzcG9uc2VDb29raWVzIiwiSGVhZGVycyIsIm1vZGlmaWVkVmFsdWVzIiwibW9kaWZpZWRDb29raWVzIiwiU2V0IiwidXBkYXRlUmVzcG9uc2VDb29raWVzIiwiX2ZldGNoX19fbmV4dEdldFN0YXRpY1N0b3JlIiwic3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmUiLCJmZXRjaCIsIl9fbmV4dEdldFN0YXRpY1N0b3JlIiwiY2FsbCIsImdldFN0b3JlIiwicGF0aFdhc1JldmFsaWRhdGVkIiwiYWxsQ29va2llcyIsImZpbHRlciIsImMiLCJoYXMiLCJzZXJpYWxpemVkQ29va2llcyIsInRlbXBDb29raWVzIiwicHVzaCIsInRvU3RyaW5nIiwiYXJncyIsImFkZCIsImRlbGV0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js": /*!**************************************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js ***! \**************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReadonlyRequestCookiesError: function() {\n return ReadonlyRequestCookiesError;\n },\n RequestCookiesAdapter: function() {\n return RequestCookiesAdapter;\n },\n getModifiedCookieValues: function() {\n return getModifiedCookieValues;\n },\n appendMutableCookies: function() {\n return appendMutableCookies;\n },\n MutableRequestCookiesAdapter: function() {\n return MutableRequestCookiesAdapter;\n }\n});\nconst _cookies = __webpack_require__(/*! ../cookies */ \"(rsc)/./node_modules/next/dist/server/web/spec-extension/cookies.js\");\nconst _reflect = __webpack_require__(/*! ./reflect */ \"(rsc)/./node_modules/next/dist/server/web/spec-extension/adapters/reflect.js\");\nclass ReadonlyRequestCookiesError extends Error {\n constructor(){\n super(\"Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#cookiessetname-value-options\");\n }\n static callable() {\n throw new ReadonlyRequestCookiesError();\n }\n}\nclass RequestCookiesAdapter {\n static seal(cookies) {\n return new Proxy(cookies, {\n get (target, prop, receiver) {\n switch(prop){\n case \"clear\":\n case \"delete\":\n case \"set\":\n return ReadonlyRequestCookiesError.callable;\n default:\n return _reflect.ReflectAdapter.get(target, prop, receiver);\n }\n }\n });\n }\n}\nconst SYMBOL_MODIFY_COOKIE_VALUES = Symbol.for(\"next.mutated.cookies\");\nfunction getModifiedCookieValues(cookies) {\n const modified = cookies[SYMBOL_MODIFY_COOKIE_VALUES];\n if (!modified || !Array.isArray(modified) || modified.length === 0) {\n return [];\n }\n return modified;\n}\nfunction appendMutableCookies(headers, mutableCookies) {\n const modifiedCookieValues = getModifiedCookieValues(mutableCookies);\n if (modifiedCookieValues.length === 0) {\n return false;\n }\n // Return a new response that extends the response with\n // the modified cookies as fallbacks. `res` cookies\n // will still take precedence.\n const resCookies = new _cookies.ResponseCookies(headers);\n const returnedCookies = resCookies.getAll();\n // Set the modified cookies as fallbacks.\n for (const cookie of modifiedCookieValues){\n resCookies.set(cookie);\n }\n // Set the original cookies as the final values.\n for (const cookie of returnedCookies){\n resCookies.set(cookie);\n }\n return true;\n}\nclass MutableRequestCookiesAdapter {\n static wrap(cookies, onUpdateCookies) {\n const responseCookies = new _cookies.ResponseCookies(new Headers());\n for (const cookie of cookies.getAll()){\n responseCookies.set(cookie);\n }\n let modifiedValues = [];\n const modifiedCookies = new Set();\n const updateResponseCookies = ()=>{\n var _fetch___nextGetStaticStore;\n // TODO-APP: change method of getting staticGenerationAsyncStore\n const staticGenerationAsyncStore = fetch.__nextGetStaticStore == null ? void 0 : (_fetch___nextGetStaticStore = fetch.__nextGetStaticStore.call(fetch)) == null ? void 0 : _fetch___nextGetStaticStore.getStore();\n if (staticGenerationAsyncStore) {\n staticGenerationAsyncStore.pathWasRevalidated = true;\n }\n const allCookies = responseCookies.getAll();\n modifiedValues = allCookies.filter((c)=>modifiedCookies.has(c.name));\n if (onUpdateCookies) {\n const serializedCookies = [];\n for (const cookie of modifiedValues){\n const tempCookies = new _cookies.ResponseCookies(new Headers());\n tempCookies.set(cookie);\n serializedCookies.push(tempCookies.toString());\n }\n onUpdateCookies(serializedCookies);\n }\n };\n return new Proxy(responseCookies, {\n get (target, prop, receiver) {\n switch(prop){\n // A special symbol to get the modified cookie values\n case SYMBOL_MODIFY_COOKIE_VALUES:\n return modifiedValues;\n // TODO: Throw error if trying to set a cookie after the response\n // headers have been set.\n case \"delete\":\n return function(...args) {\n modifiedCookies.add(typeof args[0] === \"string\" ? args[0] : args[0].name);\n try {\n target.delete(...args);\n } finally{\n updateResponseCookies();\n }\n };\n case \"set\":\n return function(...args) {\n modifiedCookies.add(typeof args[0] === \"string\" ? args[0] : args[0].name);\n try {\n return target.set(...args);\n } finally{\n updateResponseCookies();\n }\n };\n default:\n return _reflect.ReflectAdapter.get(target, prop, receiver);\n }\n }\n });\n }\n} //# sourceMappingURL=request-cookies.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vYWRhcHRlcnMvcmVxdWVzdC1jb29raWVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBTU47QUFDQSxTQUFTTSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJWixPQUFPQyxjQUFjLENBQUNVLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUVIsU0FBUztJQUNiRyw2QkFBNkI7UUFDekIsT0FBT0E7SUFDWDtJQUNBQyx1QkFBdUI7UUFDbkIsT0FBT0E7SUFDWDtJQUNBQyx5QkFBeUI7UUFDckIsT0FBT0E7SUFDWDtJQUNBQyxzQkFBc0I7UUFDbEIsT0FBT0E7SUFDWDtJQUNBQyw4QkFBOEI7UUFDMUIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sV0FBV0MsbUJBQU9BLENBQUMsdUZBQVk7QUFDckMsTUFBTUMsV0FBV0QsbUJBQU9BLENBQUMsK0ZBQVc7QUFDcEMsTUFBTVosb0NBQW9DYztJQUN0Q0MsYUFBYTtRQUNULEtBQUssQ0FBQztJQUNWO0lBQ0EsT0FBT0MsV0FBVztRQUNkLE1BQU0sSUFBSWhCO0lBQ2Q7QUFDSjtBQUNBLE1BQU1DO0lBQ0YsT0FBT2dCLEtBQUtDLE9BQU8sRUFBRTtRQUNqQixPQUFPLElBQUlDLE1BQU1ELFNBQVM7WUFDdEJSLEtBQUtKLE1BQU0sRUFBRWMsSUFBSSxFQUFFQyxRQUFRO2dCQUN2QixPQUFPRDtvQkFDSCxLQUFLO29CQUNMLEtBQUs7b0JBQ0wsS0FBSzt3QkFDRCxPQUFPcEIsNEJBQTRCZ0IsUUFBUTtvQkFDL0M7d0JBQ0ksT0FBT0gsU0FBU1MsY0FBYyxDQUFDWixHQUFHLENBQUNKLFFBQVFjLE1B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TyxTQUFTLEdBQUdnQixJQUFJOzRCQUNuQmxCLGdCQUFnQm1CLEdBQUcsQ0FBQyxPQUFPRCxJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVdBLElBQUksQ0FBQyxFQUFFLEdBQUdBLElBQUksQ0FBQyxFQUFFLENBQUN0RCxJQUFJOzRCQUN4RSxJQUFJO2dDQUNBLE9BQU9GLE9BQU9nQyxHQUFHLElBQUl3Qjs0QkFDekIsU0FBUztnQ0FDTGhCOzRCQUNKO3dCQUNKO29CQUNKO3dCQUNJLE9BQU9qQyxTQUFTUyxjQUFjLENBQUNaLEdBQUcsQ0FBQ0osUUFBUWMsTUFBTUM7Z0JBQ3pEO1lBQ0o7UUFDSjtJQUNKO0FBQ0osRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vYWRhcHRlcnMvcmVxdWVzdC1jb29raWVzLmpzP2IwZGQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBSZWFkb25seVJlcXVlc3RDb29raWVzRXJyb3I6IG51bGwsXG4gICAgUmVxdWVzdENvb2tpZXNBZGFwdGVyOiBudWxsLFxuICAgIGdldE1vZGlmaWVkQ29va2llVmFsdWVzOiBudWxsLFxuICAgIGFwcGVuZE11dGFibGVDb29raWVzOiBudWxsLFxuICAgIE11dGFibGVSZXF1ZXN0Q29va2llc0FkYXB0ZXI6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUmVhZG9ubHlSZXF1ZXN0Q29va2llc0Vycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJlYWRvbmx5UmVxdWVzdENvb2tpZXNFcnJvcjtcbiAgICB9LFxuICAgIFJlcXVlc3RDb29raWVzQWRhcHRlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSZXF1ZXN0Q29va2llc0FkYXB0ZXI7XG4gICAgfSxcbiAgICBnZXRNb2RpZmllZENvb2tpZVZhbHVlczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRNb2RpZmllZENvb2tpZVZhbHVlcztcbiAgICB9LFxuICAgIGFwcGVuZE11dGFibGVDb29raWVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFwcGVuZE11dGFibGVDb29raWVzO1xuICAgIH0sXG4gICAgTXV0YWJsZVJlcXVlc3RDb29raWVzQWRhcHRlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBNdXRhYmxlUmVxdWVzdENvb2tpZXNBZGFwdGVyO1xuICAgIH1cbn0pO1xuY29uc3QgX2Nvb2tpZXMgPSByZXF1aXJlKFwiLi4vY29va2llc1wiKTtcbmNvbnN0IF9yZWZsZWN0ID0gcmVxdWlyZShcIi4vcmVmbGVjdFwiKTtcbmNsYXNzIFJlYWRvbmx5UmVxdWVzdENvb2tpZXNFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcigpe1xuICAgICAgICBzdXBlcihcIkNvb2tpZXMgY2FuIG9ubHkgYmUgbW9kaWZpZWQgaW4gYSBTZXJ2ZXIgQWN0aW9uIG9yIFJvdXRlIEhhbmRsZXIuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvZnVuY3Rpb25zL2Nvb2tpZXMjY29va2llc3NldG5hbWUtdmFsdWUtb3B0aW9uc1wiKTtcbiAgICB9XG4gICAgc3RhdGljIGNhbGxhYmxlKCkge1xuICAgICAgICB0aHJvdyBuZXcgUmVhZG9ubHlSZXF1ZXN0Q29va2llc0Vycm9yKCk7XG4gICAgfVxufVxuY2xhc3MgUmVxdWVzdENvb2tpZXNBZGFwdGVyIHtcbiAgICBzdGF0aWMgc2VhbChjb29raWVzKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJveHkoY29va2llcywge1xuICAgICAgICAgICAgZ2V0ICh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKSB7XG4gICAgICAgICAgICAgICAgc3dpdGNoKHByb3Ape1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFwiY2xlYXJcIjpcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcImRlbGV0ZVwiOlxuICAgICAgICAgICAgICAgICAgICBjYXNlIFwic2V0XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUmVhZG9ubHlSZXF1ZXN0Q29va2llc0Vycm9yLmNhbGxhYmxlO1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9yZWZsZWN0LlJlZmxlY3RBZGFwdGVyLmdldCh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmNvbnN0IFNZTUJPTF9NT0RJRllfQ09PS0lFX1ZBTFVFUyA9IFN5bWJvbC5mb3IoXCJuZXh0Lm11dGF0ZWQuY29va2llc1wiKTtcbmZ1bmN0aW9uIGdldE1vZGlmaWVkQ29va2llVmFsdWVzKGNvb2tpZXMpIHtcbiAgICBjb25zdCBtb2RpZmllZCA9IGNvb2tpZXNbU1lNQk9MX01PRElGWV9DT09LSUVfVkFMVUVTXTtcbiAgICBpZiAoIW1vZGlmaWVkIHx8ICFBcnJheS5pc0FycmF5KG1vZGlmaWVkKSB8fCBtb2RpZmllZC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gbW9kaWZpZWQ7XG59XG5mdW5jdGlvbiBhcHBlbmRNdXRhYmxlQ29va2llcyhoZWFkZXJzLCBtdXRhYmxlQ29va2llcykge1xuICAgIGNvbnN0IG1vZGlmaWVkQ29va2llVmFsdWVzID0gZ2V0TW9kaWZpZWRDb29raWVWYWx1ZXMobXV0YWJsZUNvb2tpZXMpO1xuICAgIGlmIChtb2RpZmllZENvb2tpZVZhbHVlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBSZXR1cm4gYSBuZXcgcmVzcG9uc2UgdGhhdCBleHRlbmRzIHRoZSByZXNwb25zZSB3aXRoXG4gICAgLy8gdGhlIG1vZGlmaWVkIGNvb2tpZXMgYXMgZmFsbGJhY2tzLiBgcmVzYCBjb29raWVzXG4gICAgLy8gd2lsbCBzdGlsbCB0YWtlIHByZWNlZGVuY2UuXG4gICAgY29uc3QgcmVzQ29va2llcyA9IG5ldyBfY29va2llcy5SZXNwb25zZUNvb2tpZXMoaGVhZGVycyk7XG4gICAgY29uc3QgcmV0dXJuZWRDb29raWVzID0gcmVzQ29va2llcy5nZXRBbGwoKTtcbiAgICAvLyBTZXQgdGhlIG1vZGlmaWVkIGNvb2tpZXMgYXMgZmFsbGJhY2tzLlxuICAgIGZvciAoY29uc3QgY29va2llIG9mIG1vZGlmaWVkQ29va2llVmFsdWVzKXtcbiAgICAgICAgcmVzQ29va2llcy5zZXQoY29va2llKTtcbiAgICB9XG4gICAgLy8gU2V0IHRoZSBvcmlnaW5hbCBjb29raWVzIGFzIHRoZSBmaW5hbCB2YWx1ZXMuXG4gICAgZm9yIChjb25zdCBjb29raWUgb2YgcmV0dXJuZWRDb29raWVzKXtcbiAgICAgICAgcmVzQ29va2llcy5zZXQoY29va2llKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5jbGFzcyBNdXRhYmxlUmVxdWVzdENvb2tpZXNBZGFwdGVyIHtcbiAgICBzdGF0aWMgd3JhcChjb29raWVzLCBvblVwZGF0ZUNvb2tpZXMpIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2VDb29raWVzID0gbmV3IF9jb29raWVzLlJlc3BvbnNlQ29va2llcyhuZXcgSGVhZGVycygpKTtcbiAgICAgICAgZm9yIChjb25zdCBjb29raWUgb2YgY29va2llcy5nZXRBbGwoKSl7XG4gICAgICAgICAgICByZXNwb25zZUNvb2tpZXMuc2V0KGNvb2tpZSk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IG1vZGlmaWVkVmFsdWVzID0gW107XG4gICAgICAgIGNvbnN0IG1vZGlmaWVkQ29va2llcyA9IG5ldyBTZXQoKTtcbiAgICAgICAgY29uc3QgdXBkYXRlUmVzcG9uc2VDb29raWVzID0gKCk9PntcbiAgICAgICAgICAgIHZhciBfZmV0Y2hfX19uZXh0R2V0U3RhdGljU3RvcmU7XG4gICAgICAgICAgICAvLyBUT0RPLUFQUDogY2hhbmdlIG1ldGhvZCBvZiBnZXR0aW5nIHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JlXG4gICAgICAgICAgICBjb25zdCBzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yZSA9IGZldGNoLl9fbmV4dEdldFN0YXRpY1N0b3JlID09IG51bGwgPyB2b2lkIDAgOiAoX2ZldGNoX19fbmV4dEdldFN0YXRpY1N0b3JlID0gZmV0Y2guX19uZXh0R2V0U3RhdGljU3RvcmUuY2FsbChmZXRjaCkpID09IG51bGwgPyB2b2lkIDAgOiBfZmV0Y2hfX19uZXh0R2V0U3RhdGljU3RvcmUuZ2V0U3RvcmUoKTtcbiAgICAgICAgICAgIGlmIChzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yZSkge1xuICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JlLnBhdGhXYXNSZXZhbGlkYXRlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBhbGxDb29raWVzID0gcmVzcG9uc2VDb29raWVzLmdldEFsbCgpO1xuICAgICAgICAgICAgbW9kaWZpZWRWYWx1ZXMgPSBhbGxDb29raWVzLmZpbHRlcigoYyk9Pm1vZGlmaWVkQ29va2llcy5oYXMoYy5uYW1lKSk7XG4gICAgICAgICAgICBpZiAob25VcGRhdGVDb29raWVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VyaWFsaXplZENvb2tpZXMgPSBbXTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNvb2tpZSBvZiBtb2RpZmllZFZhbHVlcyl7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRlbXBDb29raWVzID0gbmV3IF9jb29raWVzLlJlc3BvbnNlQ29va2llcyhuZXcgSGVhZGVycygpKTtcbiAgICAgICAgICAgICAgICAgICAgdGVtcENvb2tpZXMuc2V0KGNvb2tpZSk7XG4gICAgICAgICAgICAgICAgICAgIHNlcmlhbGl6ZWRDb29raWVzLnB1c2godGVtcENvb2tpZXMudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG9uVXBkYXRlQ29va2llcyhzZXJpYWxpemVkQ29va2llcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBuZXcgUHJveHkocmVzcG9uc2VDb29raWVzLCB7XG4gICAgICAgICAgICBnZXQgKHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2gocHJvcCl7XG4gICAgICAgICAgICAgICAgICAgIC8vIEEgc3BlY2lhbCBzeW1ib2wgdG8gZ2V0IHRoZSBtb2RpZmllZCBjb29raWUgdmFsdWVzXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgU1lNQk9MX01PRElGWV9DT09LSUVfVkFMVUVTOlxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vZGlmaWVkVmFsdWVzO1xuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBUaHJvdyBlcnJvciBpZiB0cnlpbmcgdG8gc2V0IGEgY29va2llIGFmdGVyIHRoZSByZXNwb25zZVxuICAgICAgICAgICAgICAgICAgICAvLyBoZWFkZXJzIGhhdmUgYmVlbiBzZXQuXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJkZWxldGVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiguLi5hcmdzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZWRDb29raWVzLmFkZCh0eXBlb2YgYXJnc1swXSA9PT0gXCJzdHJpbmdcIiA/IGFyZ3NbMF0gOiBhcmdzWzBdLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldC5kZWxldGUoLi4uYXJncyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBmaW5hbGx5e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVSZXNwb25zZUNvb2tpZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBjYXNlIFwic2V0XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24oLi4uYXJncykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkQ29va2llcy5hZGQodHlwZW9mIGFyZ3NbMF0gPT09IFwic3RyaW5nXCIgPyBhcmdzWzBdIDogYXJnc1swXS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0LnNldCguLi5hcmdzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGZpbmFsbHl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVJlc3BvbnNlQ29va2llcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3JlZmxlY3QuUmVmbGVjdEFkYXB0ZXIuZ2V0KHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZXF1ZXN0LWNvb2tpZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiUmVhZG9ubHlSZXF1ZXN0Q29va2llc0Vycm9yIiwiUmVxdWVzdENvb2tpZXNBZGFwdGVyIiwiZ2V0TW9kaWZpZWRDb29raWVWYWx1ZXMiLCJhcHBlbmRNdXRhYmxlQ29va2llcyIsIk11dGFibGVSZXF1ZXN0Q29va2llc0FkYXB0ZXIiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfY29va2llcyIsInJlcXVpcmUiLCJfcmVmbGVjdCIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJjYWxsYWJsZSIsInNlYWwiLCJjb29raWVzIiwiUHJveHkiLCJwcm9wIiwicmVjZWl2ZXIiLCJSZWZsZWN0QWRhcHRlciIsIlNZTUJPTF9NT0RJRllfQ09PS0lFX1ZBTFVFUyIsIlN5bWJvbCIsImZvciIsIm1vZGlmaWVkIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiaGVhZGVycyIsIm11dGFibGVDb29raWVzIiwibW9kaWZpZWRDb29raWVWYWx1ZXMiLCJyZXNDb29raWVzIiwiUmVzcG9uc2VDb29raWVzIiwicmV0dXJuZWRDb29raWVzIiwiZ2V0QWxsIiwiY29va2llIiwic2V0Iiwid3JhcCIsIm9uVXBkYXRlQ29va2llcyIsInJlc3BvbnNlQ29va2llcyIsIkhlYWRlcnMiLCJtb2RpZmllZFZhbHVlcyIsIm1vZGlmaWVkQ29va2llcyIsIlNldCIsInVwZGF0ZVJlc3BvbnNlQ29va2llcyIsIl9mZXRjaF9fX25leHRHZXRTdGF0aWNTdG9yZSIsInN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JlIiwiZmV0Y2giLCJfX25leHRHZXRTdGF0aWNTdG9yZSIsImNhbGwiLCJnZXRTdG9yZSIsInBhdGhXYXNSZXZhbGlkYXRlZCIsImFsbENvb2tpZXMiLCJmaWx0ZXIiLCJjIiwiaGFzIiwic2VyaWFsaXplZENvb2tpZXMiLCJ0ZW1wQ29va2llcyIsInB1c2giLCJ0b1N0cmluZyIsImFyZ3MiLCJhZGQiLCJkZWxldGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/web/spec-extension/cookies.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/cookies.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RequestCookies: function() {\n return _cookies.RequestCookies;\n },\n ResponseCookies: function() {\n return _cookies.ResponseCookies;\n }\n});\nconst _cookies = __webpack_require__(/*! next/dist/compiled/@edge-runtime/cookies */ \"(action-browser)/./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js\"); //# sourceMappingURL=cookies.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9jb29raWVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxnQkFBZ0I7UUFDWixPQUFPUSxTQUFTUixjQUFjO0lBQ2xDO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9PLFNBQVNQLGVBQWU7SUFDbkM7QUFDSjtBQUNBLE1BQU1PLFdBQVdDLG1CQUFPQSxDQUFDLG1JQUEwQyxHQUVuRSxtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vY29va2llcy5qcz8xNDI0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUmVxdWVzdENvb2tpZXM6IG51bGwsXG4gICAgUmVzcG9uc2VDb29raWVzOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIFJlcXVlc3RDb29raWVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9jb29raWVzLlJlcXVlc3RDb29raWVzO1xuICAgIH0sXG4gICAgUmVzcG9uc2VDb29raWVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9jb29raWVzLlJlc3BvbnNlQ29va2llcztcbiAgICB9XG59KTtcbmNvbnN0IF9jb29raWVzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9AZWRnZS1ydW50aW1lL2Nvb2tpZXNcIik7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvb2tpZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiUmVxdWVzdENvb2tpZXMiLCJSZXNwb25zZUNvb2tpZXMiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfY29va2llcyIsInJlcXVpcmUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/web/spec-extension/cookies.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/cookies.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/cookies.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RequestCookies: function() {\n return _cookies.RequestCookies;\n },\n ResponseCookies: function() {\n return _cookies.ResponseCookies;\n }\n});\nconst _cookies = __webpack_require__(/*! next/dist/compiled/@edge-runtime/cookies */ \"(app-metadata-route)/./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js\"); //# sourceMappingURL=cookies.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vY29va2llcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsZ0JBQWdCO1FBQ1osT0FBT1EsU0FBU1IsY0FBYztJQUNsQztJQUNBQyxpQkFBaUI7UUFDYixPQUFPTyxTQUFTUCxlQUFlO0lBQ25DO0FBQ0o7QUFDQSxNQUFNTyxXQUFXQyxtQkFBT0EsQ0FBQyx1SUFBMEMsR0FFbkUsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL2Nvb2tpZXMuanM/MTQyNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFJlcXVlc3RDb29raWVzOiBudWxsLFxuICAgIFJlc3BvbnNlQ29va2llczogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBSZXF1ZXN0Q29va2llczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfY29va2llcy5SZXF1ZXN0Q29va2llcztcbiAgICB9LFxuICAgIFJlc3BvbnNlQ29va2llczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfY29va2llcy5SZXNwb25zZUNvb2tpZXM7XG4gICAgfVxufSk7XG5jb25zdCBfY29va2llcyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvQGVkZ2UtcnVudGltZS9jb29raWVzXCIpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb29raWVzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIlJlcXVlc3RDb29raWVzIiwiUmVzcG9uc2VDb29raWVzIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2Nvb2tpZXMiLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/cookies.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/web/spec-extension/cookies.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/cookies.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RequestCookies: function() {\n return _cookies.RequestCookies;\n },\n ResponseCookies: function() {\n return _cookies.ResponseCookies;\n }\n});\nconst _cookies = __webpack_require__(/*! next/dist/compiled/@edge-runtime/cookies */ \"(rsc)/./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js\"); //# sourceMappingURL=cookies.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vY29va2llcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsZ0JBQWdCO1FBQ1osT0FBT1EsU0FBU1IsY0FBYztJQUNsQztJQUNBQyxpQkFBaUI7UUFDYixPQUFPTyxTQUFTUCxlQUFlO0lBQ25DO0FBQ0o7QUFDQSxNQUFNTyxXQUFXQyxtQkFBT0EsQ0FBQyx3SEFBMEMsR0FFbkUsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL2Nvb2tpZXMuanM/MTQyNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFJlcXVlc3RDb29raWVzOiBudWxsLFxuICAgIFJlc3BvbnNlQ29va2llczogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBSZXF1ZXN0Q29va2llczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfY29va2llcy5SZXF1ZXN0Q29va2llcztcbiAgICB9LFxuICAgIFJlc3BvbnNlQ29va2llczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfY29va2llcy5SZXNwb25zZUNvb2tpZXM7XG4gICAgfVxufSk7XG5jb25zdCBfY29va2llcyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvQGVkZ2UtcnVudGltZS9jb29raWVzXCIpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb29raWVzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIlJlcXVlc3RDb29raWVzIiwiUmVzcG9uc2VDb29raWVzIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2Nvb2tpZXMiLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/web/spec-extension/cookies.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/image-response.js": /*!****************************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/image-response.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * @deprecated ImageResponse moved from \"next/server\" to \"next/og\" since Next.js 14, please import from \"next/og\" instead.\n * Migration with codemods: https://nextjs.org/docs/app/building-your-application/upgrading/codemods#next-og-import\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ImageResponse\", ({\n enumerable: true,\n get: function() {\n return ImageResponse;\n }\n}));\nfunction ImageResponse() {\n throw new Error('ImageResponse moved from \"next/server\" to \"next/og\" since Next.js 14, please import from \"next/og\" instead');\n} //# sourceMappingURL=image-response.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vaW1hZ2UtcmVzcG9uc2UuanMiLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQWdCO0FBQ2pCQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0E7SUFDTCxNQUFNLElBQUlDLE1BQU07QUFDcEIsRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vaW1hZ2UtcmVzcG9uc2UuanM/ODgxNyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXByZWNhdGVkIEltYWdlUmVzcG9uc2UgbW92ZWQgZnJvbSBcIm5leHQvc2VydmVyXCIgdG8gXCJuZXh0L29nXCIgc2luY2UgTmV4dC5qcyAxNCwgcGxlYXNlIGltcG9ydCBmcm9tIFwibmV4dC9vZ1wiIGluc3RlYWQuXG4gKiBNaWdyYXRpb24gd2l0aCBjb2RlbW9kczogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vdXBncmFkaW5nL2NvZGVtb2RzI25leHQtb2ctaW1wb3J0XG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbWFnZVJlc3BvbnNlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBJbWFnZVJlc3BvbnNlO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gSW1hZ2VSZXNwb25zZSgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ltYWdlUmVzcG9uc2UgbW92ZWQgZnJvbSBcIm5leHQvc2VydmVyXCIgdG8gXCJuZXh0L29nXCIgc2luY2UgTmV4dC5qcyAxNCwgcGxlYXNlIGltcG9ydCBmcm9tIFwibmV4dC9vZ1wiIGluc3RlYWQnKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW1hZ2UtcmVzcG9uc2UuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkltYWdlUmVzcG9uc2UiLCJFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/image-response.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/request.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/request.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERNALS: function() {\n return INTERNALS;\n },\n NextRequest: function() {\n return NextRequest;\n }\n});\nconst _nexturl = __webpack_require__(/*! ../next-url */ \"(app-metadata-route)/./node_modules/next/dist/server/web/next-url.js\");\nconst _utils = __webpack_require__(/*! ../utils */ \"(app-metadata-route)/./node_modules/next/dist/server/web/utils.js\");\nconst _error = __webpack_require__(/*! ../error */ \"(app-metadata-route)/./node_modules/next/dist/server/web/error.js\");\nconst _cookies = __webpack_require__(/*! ./cookies */ \"(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/cookies.js\");\nconst INTERNALS = Symbol(\"internal request\");\nclass NextRequest extends Request {\n constructor(input, init = {}){\n const url = typeof input !== \"string\" && \"url\" in input ? input.url : String(input);\n (0, _utils.validateURL)(url);\n if (input instanceof Request) super(input, init);\n else super(url, init);\n const nextUrl = new _nexturl.NextURL(url, {\n headers: (0, _utils.toNodeOutgoingHttpHeaders)(this.headers),\n nextConfig: init.nextConfig\n });\n this[INTERNALS] = {\n cookies: new _cookies.RequestCookies(this.headers),\n geo: init.geo || {},\n ip: init.ip,\n nextUrl,\n url: false ? 0 : nextUrl.toString()\n };\n }\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return {\n cookies: this.cookies,\n geo: this.geo,\n ip: this.ip,\n nextUrl: this.nextUrl,\n url: this.url,\n // rest of props come from Request\n bodyUsed: this.bodyUsed,\n cache: this.cache,\n credentials: this.credentials,\n destination: this.destination,\n headers: Object.fromEntries(this.headers),\n integrity: this.integrity,\n keepalive: this.keepalive,\n method: this.method,\n mode: this.mode,\n redirect: this.redirect,\n referrer: this.referrer,\n referrerPolicy: this.referrerPolicy,\n signal: this.signal\n };\n }\n get cookies() {\n return this[INTERNALS].cookies;\n }\n get geo() {\n return this[INTERNALS].geo;\n }\n get ip() {\n return this[INTERNALS].ip;\n }\n get nextUrl() {\n return this[INTERNALS].nextUrl;\n }\n /**\n * @deprecated\n * `page` has been deprecated in favour of `URLPattern`.\n * Read more: https://nextjs.org/docs/messages/middleware-request-page\n */ get page() {\n throw new _error.RemovedPageError();\n }\n /**\n * @deprecated\n * `ua` has been removed in favour of \\`userAgent\\` function.\n * Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n */ get ua() {\n throw new _error.RemovedUAError();\n }\n get url() {\n return this[INTERNALS].url;\n }\n} //# sourceMappingURL=request.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vcmVxdWVzdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsV0FBVztRQUNQLE9BQU9BO0lBQ1g7SUFDQUMsYUFBYTtRQUNULE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLFdBQVdDLG1CQUFPQSxDQUFDLHlGQUFhO0FBQ3RDLE1BQU1DLFNBQVNELG1CQUFPQSxDQUFDLG1GQUFVO0FBQ2pDLE1BQU1FLFNBQVNGLG1CQUFPQSxDQUFDLG1GQUFVO0FBQ2pDLE1BQU1HLFdBQVdILG1CQUFPQSxDQUFDLHFHQUFXO0FBQ3BDLE1BQU1ULFlBQVlhLE9BQU87QUFDekIsTUFBTVosb0JBQW9CYTtJQUN0QkMsWUFBWUMsS0FBSyxFQUFFQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLE1BQU1DLE1BQU0sT0FBT0YsVUFBVSxZQUFZLFNBQVNBLFFBQVFBLE1BQU1FLEdBQUcsR0FBR0MsT0FBT0g7UUFDNUUsSUFBR04sT0FBT1UsV0FBVyxFQUFFRjtRQUN4QixJQUFJRixpQkFBaUJGLFNBQVMsS0FBSyxDQUFDRSxPQUFPQzthQUN0QyxLQUFLLENBQUNDLEtBQUtEO1FBQ2hCLE1BQU1JLFVBQVUsSUFBSWIsU0FBU2MsT0FBTyxDQUFDSixLQUFLO1lBQ3RDSyxTQUFTLENBQUMsR0FBR2IsT0FBT2MseUJBQXlCLEVBQUUsSUFBSSxDQUFDRCxPQUFPO1lBQzNERSxZQUFZUixLQUFLUSxVQUFVO1FBQy9CO1FBQ0EsSUFBSSxDQUFDekIsVUFBVSxHQUFHO1lBQ2QwQixTQUFTLElBQUlkLFNBQVNlLGNBQWMsQ0FBQyxJQUFJLENBQUNKLE9BQU87WUFDakRLLEtBQUtYLEtBQUtXLEdBQUcsSUFBSSxDQUFDO1lBQ2xCQyxJQUFJWixLQUFLWSxFQUFFO1lBQ1hSO1lBQ0FILEtBQUtZLE1BQThDLEdBQUdaLENBQUdBLEdBQUdHLFFBQVFZLFFBQVE7UUFDaEY7SUFDSjtJQUNBLENBQUNwQixPQUFPcUIsR0FBRyxDQUFDLCtCQUErQixHQUFHO1FBQzFDLE9BQU87WUFDSFIsU0FBUyxJQUFJLENBQUNBLE9BQU87WUFDckJFLEtBQUssSUFBSSxDQUFDQSxHQUFHO1lBQ2JDLElBQUksSUFBSSxDQUFDQSxFQUFFO1lBQ1hSLFNBQVMsSUFBSSxDQUFDQSxPQUFPO1lBQ3JCSCxLQUFLLElBQUksQ0FBQ0EsR0FBRztZQUNiLGtDQUFrQztZQUNsQ2lCLFVBQVUsSUFBSSxDQUFDQSxRQUFRO1lBQ3ZCQyxPQUFPLElBQUksQ0FBQ0EsS0FBSztZQUNqQkMsYUFBYSxJQUFJLENBQUNBLFdBQVc7WUFDN0JDLGFBQWEsSUFBSSxDQUFDQSxXQUFXO1lBQzdCZixTQUFTNUIsT0FBTzRDLFdBQVcsQ0FBQyxJQUFJLENBQUNoQixPQUFPO1lBQ3hDaUIsV0FBVyxJQUFJLENBQUNBLFNBQVM7WUFDekJDLFdBQVcsSUFBSSxDQUFDQSxTQUFTO1lBQ3pCQyxRQUFRLElBQUksQ0FBQ0EsTUFBTTtZQUNuQkMsTUFBTSxJQUFJLENBQUNBLElBQUk7WUFDZkMsVUFBVSxJQUFJLENBQUNBLFFBQVE7WUFDdkJDLFVBQVUsSUFBSSxDQUFDQSxRQUFRO1lBQ3ZCQyxnQkFBZ0IsSUFBSSxDQUFDQSxjQUFjO1lBQ25DQyxRQUFRLElBQUksQ0FBQ0EsTUFBTTtRQUN2QjtJQUNKO0lBQ0EsSUFBSXJCLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQzFCLFVBQVUsQ0FBQzBCLE9BQU87SUFDbEM7SUFDQSxJQUFJRSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUM1QixVQUFVLENBQUM0QixHQUFHO0lBQzlCO0lBQ0EsSUFBSUMsS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDN0IsVUFBVSxDQUFDNkIsRUFBRTtJQUM3QjtJQUNBLElBQUlSLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQ3JCLFVBQVUsQ0FBQ3FCLE9BQU87SUFDbEM7SUFDQTs7OztHQUlELEdBQUcsSUFBSTJCLE9BQU87UUFDVCxNQUFNLElBQUlyQyxPQUFPc0MsZ0JBQWdCO0lBQ3JDO0lBQ0E7Ozs7R0FJRCxHQUFHLElBQUlDLEtBQUs7UUFDUCxNQUFNLElBQUl2QyxPQUFPd0MsY0FBYztJQUNuQztJQUNBLElBQUlqQyxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUNsQixVQUFVLENBQUNrQixHQUFHO0lBQzlCO0FBQ0osRUFFQSxtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vcmVxdWVzdC5qcz81YjM2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgSU5URVJOQUxTOiBudWxsLFxuICAgIE5leHRSZXF1ZXN0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIElOVEVSTkFMUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBJTlRFUk5BTFM7XG4gICAgfSxcbiAgICBOZXh0UmVxdWVzdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBOZXh0UmVxdWVzdDtcbiAgICB9XG59KTtcbmNvbnN0IF9uZXh0dXJsID0gcmVxdWlyZShcIi4uL25leHQtdXJsXCIpO1xuY29uc3QgX3V0aWxzID0gcmVxdWlyZShcIi4uL3V0aWxzXCIpO1xuY29uc3QgX2Vycm9yID0gcmVxdWlyZShcIi4uL2Vycm9yXCIpO1xuY29uc3QgX2Nvb2tpZXMgPSByZXF1aXJlKFwiLi9jb29raWVzXCIpO1xuY29uc3QgSU5URVJOQUxTID0gU3ltYm9sKFwiaW50ZXJuYWwgcmVxdWVzdFwiKTtcbmNsYXNzIE5leHRSZXF1ZXN0IGV4dGVuZHMgUmVxdWVzdCB7XG4gICAgY29uc3RydWN0b3IoaW5wdXQsIGluaXQgPSB7fSl7XG4gICAgICAgIGNvbnN0IHVybCA9IHR5cGVvZiBpbnB1dCAhPT0gXCJzdHJpbmdcIiAmJiBcInVybFwiIGluIGlucHV0ID8gaW5wdXQudXJsIDogU3RyaW5nKGlucHV0KTtcbiAgICAgICAgKDAsIF91dGlscy52YWxpZGF0ZVVSTCkodXJsKTtcbiAgICAgICAgaWYgKGlucHV0IGluc3RhbmNlb2YgUmVxdWVzdCkgc3VwZXIoaW5wdXQsIGluaXQpO1xuICAgICAgICBlbHNlIHN1cGVyKHVybCwgaW5pdCk7XG4gICAgICAgIGNvbnN0IG5leHRVcmwgPSBuZXcgX25leHR1cmwuTmV4dFVSTCh1cmwsIHtcbiAgICAgICAgICAgIGhlYWRlcnM6ICgwLCBfdXRpbHMudG9Ob2RlT3V0Z29pbmdIdHRwSGVhZGVycykodGhpcy5oZWFkZXJzKSxcbiAgICAgICAgICAgIG5leHRDb25maWc6IGluaXQubmV4dENvbmZpZ1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpc1tJTlRFUk5BTFNdID0ge1xuICAgICAgICAgICAgY29va2llczogbmV3IF9jb29raWVzLlJlcXVlc3RDb29raWVzKHRoaXMuaGVhZGVycyksXG4gICAgICAgICAgICBnZW86IGluaXQuZ2VvIHx8IHt9LFxuICAgICAgICAgICAgaXA6IGluaXQuaXAsXG4gICAgICAgICAgICBuZXh0VXJsLFxuICAgICAgICAgICAgdXJsOiBwcm9jZXNzLmVudi5fX05FWFRfTk9fTUlERExFV0FSRV9VUkxfTk9STUFMSVpFID8gdXJsIDogbmV4dFVybC50b1N0cmluZygpXG4gICAgICAgIH07XG4gICAgfVxuICAgIFtTeW1ib2wuZm9yKFwiZWRnZS1ydW50aW1lLmluc3BlY3QuY3VzdG9tXCIpXSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvb2tpZXM6IHRoaXMuY29va2llcyxcbiAgICAgICAgICAgIGdlbzogdGhpcy5nZW8sXG4gICAgICAgICAgICBpcDogdGhpcy5pcCxcbiAgICAgICAgICAgIG5leHRVcmw6IHRoaXMubmV4dFVybCxcbiAgICAgICAgICAgIHVybDogdGhpcy51cmwsXG4gICAgICAgICAgICAvLyByZXN0IG9mIHByb3BzIGNvbWUgZnJvbSBSZXF1ZXN0XG4gICAgICAgICAgICBib2R5VXNlZDogdGhpcy5ib2R5VXNlZCxcbiAgICAgICAgICAgIGNhY2hlOiB0aGlzLmNhY2hlLFxuICAgICAgICAgICAgY3JlZGVudGlhbHM6IHRoaXMuY3JlZGVudGlhbHMsXG4gICAgICAgICAgICBkZXN0aW5hdGlvbjogdGhpcy5kZXN0aW5hdGlvbixcbiAgICAgICAgICAgIGhlYWRlcnM6IE9iamVjdC5mcm9tRW50cmllcyh0aGlzLmhlYWRlcnMpLFxuICAgICAgICAgICAgaW50ZWdyaXR5OiB0aGlzLmludGVncml0eSxcbiAgICAgICAgICAgIGtlZXBhbGl2ZTogdGhpcy5rZWVwYWxpdmUsXG4gICAgICAgICAgICBtZXRob2Q6IHRoaXMubWV0aG9kLFxuICAgICAgICAgICAgbW9kZTogdGhpcy5tb2RlLFxuICAgICAgICAgICAgcmVkaXJlY3Q6IHRoaXMucmVkaXJlY3QsXG4gICAgICAgICAgICByZWZlcnJlcjogdGhpcy5yZWZlcnJlcixcbiAgICAgICAgICAgIHJlZmVycmVyUG9saWN5OiB0aGlzLnJlZmVycmVyUG9saWN5LFxuICAgICAgICAgICAgc2lnbmFsOiB0aGlzLnNpZ25hbFxuICAgICAgICB9O1xuICAgIH1cbiAgICBnZXQgY29va2llcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSU5URVJOQUxTXS5jb29raWVzO1xuICAgIH1cbiAgICBnZXQgZ2VvKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJTlRFUk5BTFNdLmdlbztcbiAgICB9XG4gICAgZ2V0IGlwKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJTlRFUk5BTFNdLmlwO1xuICAgIH1cbiAgICBnZXQgbmV4dFVybCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSU5URVJOQUxTXS5uZXh0VXJsO1xuICAgIH1cbiAgICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogYHBhZ2VgIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIGBVUkxQYXR0ZXJuYC5cbiAgICogUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9taWRkbGV3YXJlLXJlcXVlc3QtcGFnZVxuICAgKi8gZ2V0IHBhZ2UoKSB7XG4gICAgICAgIHRocm93IG5ldyBfZXJyb3IuUmVtb3ZlZFBhZ2VFcnJvcigpO1xuICAgIH1cbiAgICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogYHVhYCBoYXMgYmVlbiByZW1vdmVkIGluIGZhdm91ciBvZiBcXGB1c2VyQWdlbnRcXGAgZnVuY3Rpb24uXG4gICAqIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbWlkZGxld2FyZS1wYXJzZS11c2VyLWFnZW50XG4gICAqLyBnZXQgdWEoKSB7XG4gICAgICAgIHRocm93IG5ldyBfZXJyb3IuUmVtb3ZlZFVBRXJyb3IoKTtcbiAgICB9XG4gICAgZ2V0IHVybCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSU5URVJOQUxTXS51cmw7XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZXF1ZXN0LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIklOVEVSTkFMUyIsIk5leHRSZXF1ZXN0IiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX25leHR1cmwiLCJyZXF1aXJlIiwiX3V0aWxzIiwiX2Vycm9yIiwiX2Nvb2tpZXMiLCJTeW1ib2wiLCJSZXF1ZXN0IiwiY29uc3RydWN0b3IiLCJpbnB1dCIsImluaXQiLCJ1cmwiLCJTdHJpbmciLCJ2YWxpZGF0ZVVSTCIsIm5leHRVcmwiLCJOZXh0VVJMIiwiaGVhZGVycyIsInRvTm9kZU91dGdvaW5nSHR0cEhlYWRlcnMiLCJuZXh0Q29uZmlnIiwiY29va2llcyIsIlJlcXVlc3RDb29raWVzIiwiZ2VvIiwiaXAiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX05PX01JRERMRVdBUkVfVVJMX05PUk1BTElaRSIsInRvU3RyaW5nIiwiZm9yIiwiYm9keVVzZWQiLCJjYWNoZSIsImNyZWRlbnRpYWxzIiwiZGVzdGluYXRpb24iLCJmcm9tRW50cmllcyIsImludGVncml0eSIsImtlZXBhbGl2ZSIsIm1ldGhvZCIsIm1vZGUiLCJyZWRpcmVjdCIsInJlZmVycmVyIiwicmVmZXJyZXJQb2xpY3kiLCJzaWduYWwiLCJwYWdlIiwiUmVtb3ZlZFBhZ2VFcnJvciIsInVhIiwiUmVtb3ZlZFVBRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/request.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/response.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/response.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"NextResponse\", ({\n enumerable: true,\n get: function() {\n return NextResponse;\n }\n}));\nconst _nexturl = __webpack_require__(/*! ../next-url */ \"(app-metadata-route)/./node_modules/next/dist/server/web/next-url.js\");\nconst _utils = __webpack_require__(/*! ../utils */ \"(app-metadata-route)/./node_modules/next/dist/server/web/utils.js\");\nconst _cookies = __webpack_require__(/*! ./cookies */ \"(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/cookies.js\");\nconst INTERNALS = Symbol(\"internal response\");\nconst REDIRECTS = new Set([\n 301,\n 302,\n 303,\n 307,\n 308\n]);\nfunction handleMiddlewareField(init, headers) {\n var _init_request;\n if (init == null ? void 0 : (_init_request = init.request) == null ? void 0 : _init_request.headers) {\n if (!(init.request.headers instanceof Headers)) {\n throw new Error(\"request.headers must be an instance of Headers\");\n }\n const keys = [];\n for (const [key, value] of init.request.headers){\n headers.set(\"x-middleware-request-\" + key, value);\n keys.push(key);\n }\n headers.set(\"x-middleware-override-headers\", keys.join(\",\"));\n }\n}\nclass NextResponse extends Response {\n constructor(body, init = {}){\n super(body, init);\n this[INTERNALS] = {\n cookies: new _cookies.ResponseCookies(this.headers),\n url: init.url ? new _nexturl.NextURL(init.url, {\n headers: (0, _utils.toNodeOutgoingHttpHeaders)(this.headers),\n nextConfig: init.nextConfig\n }) : undefined\n };\n }\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return {\n cookies: this.cookies,\n url: this.url,\n // rest of props come from Response\n body: this.body,\n bodyUsed: this.bodyUsed,\n headers: Object.fromEntries(this.headers),\n ok: this.ok,\n redirected: this.redirected,\n status: this.status,\n statusText: this.statusText,\n type: this.type\n };\n }\n get cookies() {\n return this[INTERNALS].cookies;\n }\n static json(body, init) {\n const response = Response.json(body, init);\n return new NextResponse(response.body, response);\n }\n static redirect(url, init) {\n const status = typeof init === \"number\" ? init : (init == null ? void 0 : init.status) ?? 307;\n if (!REDIRECTS.has(status)) {\n throw new RangeError('Failed to execute \"redirect\" on \"response\": Invalid status code');\n }\n const initObj = typeof init === \"object\" ? init : {};\n const headers = new Headers(initObj == null ? void 0 : initObj.headers);\n headers.set(\"Location\", (0, _utils.validateURL)(url));\n return new NextResponse(null, {\n ...initObj,\n headers,\n status\n });\n }\n static rewrite(destination, init) {\n const headers = new Headers(init == null ? void 0 : init.headers);\n headers.set(\"x-middleware-rewrite\", (0, _utils.validateURL)(destination));\n handleMiddlewareField(init, headers);\n return new NextResponse(null, {\n ...init,\n headers\n });\n }\n static next(init) {\n const headers = new Headers(init == null ? void 0 : init.headers);\n headers.set(\"x-middleware-next\", \"1\");\n handleMiddlewareField(init, headers);\n return new NextResponse(null, {\n ...init,\n headers\n });\n }\n} //# sourceMappingURL=response.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vcmVzcG9uc2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGdEQUErQztJQUMzQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLFdBQVdDLG1CQUFPQSxDQUFDLHlGQUFhO0FBQ3RDLE1BQU1DLFNBQVNELG1CQUFPQSxDQUFDLG1GQUFVO0FBQ2pDLE1BQU1FLFdBQVdGLG1CQUFPQSxDQUFDLHFHQUFXO0FBQ3BDLE1BQU1HLFlBQVlDLE9BQU87QUFDekIsTUFBTUMsWUFBWSxJQUFJQyxJQUFJO0lBQ3RCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDSDtBQUNELFNBQVNDLHNCQUFzQkMsSUFBSSxFQUFFQyxPQUFPO0lBQ3hDLElBQUlDO0lBQ0osSUFBSUYsUUFBUSxPQUFPLEtBQUssSUFBSSxDQUFDRSxnQkFBZ0JGLEtBQUtHLE9BQU8sS0FBSyxPQUFPLEtBQUssSUFBSUQsY0FBY0QsT0FBTyxFQUFFO1FBQ2pHLElBQUksQ0FBRUQsQ0FBQUEsS0FBS0csT0FBTyxDQUFDRixPQUFPLFlBQVlHLE9BQU0sR0FBSTtZQUM1QyxNQUFNLElBQUlDLE1BQU07UUFDcEI7UUFDQSxNQUFNQyxPQUFPLEVBQUU7UUFDZixLQUFLLE1BQU0sQ0FBQ0MsS0FBS3BCLE1BQU0sSUFBSWEsS0FBS0csT0FBTyxDQUFDRixPQUFPLENBQUM7WUFDNUNBLFFBQVFPLEdBQUcsQ0FBQywwQkFBMEJELEtBQUtwQjtZQUMzQ21CLEtBQUtHLElBQUksQ0FBQ0Y7UUFDZDtRQUNBTixRQUFRTyxHQUFHLENBQUMsaUNBQWlDRixLQUFLSSxJQUFJLENBQUM7SUFDM0Q7QUFDSjtBQUNBLE1BQU1wQixxQkFBcUJxQjtJQUN2QkMsWUFBWUMsSUFBSSxF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Li9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vcmVzcG9uc2UuanM/MmY4YiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIk5leHRSZXNwb25zZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTmV4dFJlc3BvbnNlO1xuICAgIH1cbn0pO1xuY29uc3QgX25leHR1cmwgPSByZXF1aXJlKFwiLi4vbmV4dC11cmxcIik7XG5jb25zdCBfdXRpbHMgPSByZXF1aXJlKFwiLi4vdXRpbHNcIik7XG5jb25zdCBfY29va2llcyA9IHJlcXVpcmUoXCIuL2Nvb2tpZXNcIik7XG5jb25zdCBJTlRFUk5BTFMgPSBTeW1ib2woXCJpbnRlcm5hbCByZXNwb25zZVwiKTtcbmNvbnN0IFJFRElSRUNUUyA9IG5ldyBTZXQoW1xuICAgIDMwMSxcbiAgICAzMDIsXG4gICAgMzAzLFxuICAgIDMwNyxcbiAgICAzMDhcbl0pO1xuZnVuY3Rpb24gaGFuZGxlTWlkZGxld2FyZUZpZWxkKGluaXQsIGhlYWRlcnMpIHtcbiAgICB2YXIgX2luaXRfcmVxdWVzdDtcbiAgICBpZiAoaW5pdCA9PSBudWxsID8gdm9pZCAwIDogKF9pbml0X3JlcXVlc3QgPSBpbml0LnJlcXVlc3QpID09IG51bGwgPyB2b2lkIDAgOiBfaW5pdF9yZXF1ZXN0LmhlYWRlcnMpIHtcbiAgICAgICAgaWYgKCEoaW5pdC5yZXF1ZXN0LmhlYWRlcnMgaW5zdGFuY2VvZiBIZWFkZXJzKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwicmVxdWVzdC5oZWFkZXJzIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgSGVhZGVyc1wiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBrZXlzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIGluaXQucmVxdWVzdC5oZWFkZXJzKXtcbiAgICAgICAgICAgIGhlYWRlcnMuc2V0KFwieC1taWRkbGV3YXJlLXJlcXVlc3QtXCIgKyBrZXksIHZhbHVlKTtcbiAgICAgICAgICAgIGtleXMucHVzaChrZXkpO1xuICAgICAgICB9XG4gICAgICAgIGhlYWRlcnMuc2V0KFwieC1taWRkbGV3YXJlLW92ZXJyaWRlLWhlYWRlcnNcIiwga2V5cy5qb2luKFwiLFwiKSk7XG4gICAgfVxufVxuY2xhc3MgTmV4dFJlc3BvbnNlIGV4dGVuZHMgUmVzcG9uc2Uge1xuICAgIGNvbnN0cnVjdG9yKGJvZHksIGluaXQgPSB7fSl7XG4gICAgICAgIHN1cGVyKGJvZHksIGluaXQpO1xuICAgICAgICB0aGlzW0lOVEVSTkFMU10gPSB7XG4gICAgICAgICAgICBjb29raWVzOiBuZXcgX2Nvb2tpZXMuUmVzcG9uc2VDb29raWVzKHRoaXMuaGVhZGVycyksXG4gICAgICAgICAgICB1cmw6IGluaXQudXJsID8gbmV3IF9uZXh0dXJsLk5leHRVUkwoaW5pdC51cmwsIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiAoMCwgX3V0aWxzLnRvTm9kZU91dGdvaW5nSHR0cEhlYWRlcnMpKHRoaXMuaGVhZGVycyksXG4gICAgICAgICAgICAgICAgbmV4dENvbmZpZzogaW5pdC5uZXh0Q29uZmlnXG4gICAgICAgICAgICB9KSA6IHVuZGVmaW5lZFxuICAgICAgICB9O1xuICAgIH1cbiAgICBbU3ltYm9sLmZvcihcImVkZ2UtcnVudGltZS5pbnNwZWN0LmN1c3RvbVwiKV0oKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb29raWVzOiB0aGlzLmNvb2tpZXMsXG4gICAgICAgICAgICB1cmw6IHRoaXMudXJsLFxuICAgICAgICAgICAgLy8gcmVzdCBvZiBwcm9wcyBjb21lIGZyb20gUmVzcG9uc2VcbiAgICAgICAgICAgIGJvZHk6IHRoaXMuYm9keSxcbiAgICAgICAgICAgIGJvZHlVc2VkOiB0aGlzLmJvZHlVc2VkLFxuICAgICAgICAgICAgaGVhZGVyczogT2JqZWN0LmZyb21FbnRyaWVzKHRoaXMuaGVhZGVycyksXG4gICAgICAgICAgICBvazogdGhpcy5vayxcbiAgICAgICAgICAgIHJlZGlyZWN0ZWQ6IHRoaXMucmVkaXJlY3RlZCxcbiAgICAgICAgICAgIHN0YXR1czogdGhpcy5zdGF0dXMsXG4gICAgICAgICAgICBzdGF0dXNUZXh0OiB0aGlzLnN0YXR1c1RleHQsXG4gICAgICAgICAgICB0eXBlOiB0aGlzLnR5cGVcbiAgICAgICAgfTtcbiAgICB9XG4gICAgZ2V0IGNvb2tpZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0lOVEVSTkFMU10uY29va2llcztcbiAgICB9XG4gICAgc3RhdGljIGpzb24oYm9keSwgaW5pdCkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IFJlc3BvbnNlLmpzb24oYm9keSwgaW5pdCk7XG4gICAgICAgIHJldHVybiBuZXcgTmV4dFJlc3BvbnNlKHJlc3BvbnNlLmJvZHksIHJlc3BvbnNlKTtcbiAgICB9XG4gICAgc3RhdGljIHJlZGlyZWN0KHVybCwgaW5pdCkge1xuICAgICAgICBjb25zdCBzdGF0dXMgPSB0eXBlb2YgaW5pdCA9PT0gXCJudW1iZXJcIiA/IGluaXQgOiAoaW5pdCA9PSBudWxsID8gdm9pZCAwIDogaW5pdC5zdGF0dXMpID8/IDMwNztcbiAgICAgICAgaWYgKCFSRURJUkVDVFMuaGFzKHN0YXR1cykpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdGYWlsZWQgdG8gZXhlY3V0ZSBcInJlZGlyZWN0XCIgb24gXCJyZXNwb25zZVwiOiBJbnZhbGlkIHN0YXR1cyBjb2RlJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5pdE9iaiA9IHR5cGVvZiBpbml0ID09PSBcIm9iamVjdFwiID8gaW5pdCA6IHt9O1xuICAgICAgICBjb25zdCBoZWFkZXJzID0gbmV3IEhlYWRlcnMoaW5pdE9iaiA9PSBudWxsID8gdm9pZCAwIDogaW5pdE9iai5oZWFkZXJzKTtcbiAgICAgICAgaGVhZGVycy5zZXQoXCJMb2NhdGlvblwiLCAoMCwgX3V0aWxzLnZhbGlkYXRlVVJMKSh1cmwpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBOZXh0UmVzcG9uc2UobnVsbCwge1xuICAgICAgICAgICAgLi4uaW5pdE9iaixcbiAgICAgICAgICAgIGhlYWRlcnMsXG4gICAgICAgICAgICBzdGF0dXNcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHN0YXRpYyByZXdyaXRlKGRlc3RpbmF0aW9uLCBpbml0KSB7XG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSGVhZGVycyhpbml0ID09IG51bGwgPyB2b2lkIDAgOiBpbml0LmhlYWRlcnMpO1xuICAgICAgICBoZWFkZXJzLnNldChcIngtbWlkZGxld2FyZS1yZXdyaXRlXCIsICgwLCBfdXRpbHMudmFsaWRhdGVVUkwpKGRlc3RpbmF0aW9uKSk7XG4gICAgICAgIGhhbmRsZU1pZGRsZXdhcmVGaWVsZChpbml0LCBoZWFkZXJzKTtcbiAgICAgICAgcmV0dXJuIG5ldyBOZXh0UmVzcG9uc2UobnVsbCwge1xuICAgICAgICAgICAgLi4uaW5pdCxcbiAgICAgICAgICAgIGhlYWRlcnNcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHN0YXRpYyBuZXh0KGluaXQpIHtcbiAgICAgICAgY29uc3QgaGVhZGVycyA9IG5ldyBIZWFkZXJzKGluaXQgPT0gbnVsbCA/IHZvaWQgMCA6IGluaXQuaGVhZGVycyk7XG4gICAgICAgIGhlYWRlcnMuc2V0KFwieC1taWRkbGV3YXJlLW5leHRcIiwgXCIxXCIpO1xuICAgICAgICBoYW5kbGVNaWRkbGV3YXJlRmllbGQoaW5pdCwgaGVhZGVycyk7XG4gICAgICAgIHJldHVybiBuZXcgTmV4dFJlc3BvbnNlKG51bGwsIHtcbiAgICAgICAgICAgIC4uLmluaXQsXG4gICAgICAgICAgICBoZWFkZXJzXG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVzcG9uc2UuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIk5leHRSZXNwb25zZSIsIl9uZXh0dXJsIiwicmVxdWlyZSIsIl91dGlscyIsIl9jb29raWVzIiwiSU5URVJOQUxTIiwiU3ltYm9sIiwiUkVESVJFQ1RTIiwiU2V0IiwiaGFuZGxlTWlkZGxld2FyZUZpZWxkIiwiaW5pdCIsImhlYWRlcnMiLCJfaW5pdF9yZXF1ZXN0IiwicmVxdWVzdCIsIkhlYWRlcnMiLCJFcnJvciIsImtleXMiLCJrZXkiLCJzZXQiLCJwdXNoIiwiam9pbiIsIlJlc3BvbnNlIiwiY29uc3RydWN0b3IiLCJib2R5IiwiY29va2llcyIsIlJlc3BvbnNlQ29va2llcyIsInVybCIsIk5leHRVUkwiLCJ0b05vZGVPdXRnb2luZ0h0dHBIZWFkZXJzIiwibmV4dENvbmZpZyIsInVuZGVmaW5lZCIsImZvciIsImJvZHlVc2VkIiwiZnJvbUVudHJpZXMiLCJvayIsInJlZGlyZWN0ZWQiLCJzdGF0dXMiLCJzdGF0dXNUZXh0IiwidHlwZSIsImpzb24iLCJyZXNwb25zZSIsInJlZGlyZWN0IiwiaGFzIiwiUmFuZ2VFcnJvciIsImluaXRPYmoiLCJ2YWxpZGF0ZVVSTCIsInJld3JpdGUiLCJkZXN0aW5hdGlvbiIsIm5leHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/response.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/web/spec-extension/revalidate-path.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/revalidate-path.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"revalidatePath\", ({\n enumerable: true,\n get: function() {\n return revalidatePath;\n }\n}));\nconst _revalidatetag = __webpack_require__(/*! ./revalidate-tag */ \"(action-browser)/./node_modules/next/dist/server/web/spec-extension/revalidate-tag.js\");\nconst _utils = __webpack_require__(/*! ../../../shared/lib/router/utils */ \"(action-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _constants = __webpack_require__(/*! ../../../lib/constants */ \"(action-browser)/./node_modules/next/dist/lib/constants.js\");\nfunction revalidatePath(originalPath, type) {\n if (originalPath.length > _constants.NEXT_CACHE_SOFT_TAG_MAX_LENGTH) {\n console.warn(`Warning: revalidatePath received \"${originalPath}\" which exceeded max length of ${_constants.NEXT_CACHE_SOFT_TAG_MAX_LENGTH}. See more info here https://nextjs.org/docs/app/api-reference/functions/revalidatePath`);\n return;\n }\n let normalizedPath = `${_constants.NEXT_CACHE_IMPLICIT_TAG_ID}${originalPath}`;\n if (type) {\n normalizedPath += `${normalizedPath.endsWith(\"/\") ? \"\" : \"/\"}${type}`;\n } else if ((0, _utils.isDynamicRoute)(originalPath)) {\n console.warn(`Warning: a dynamic page path \"${originalPath}\" was passed to \"revalidatePath\" without the \"page\" argument. This has no affect by default, see more info here https://nextjs.org/docs/app/api-reference/functions/revalidatePath`);\n }\n return (0, _revalidatetag.revalidateTag)(normalizedPath);\n} //# sourceMappingURL=revalidate-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9yZXZhbGlkYXRlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGtEQUFpRDtJQUM3Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGlCQUFpQkMsbUJBQU9BLENBQUMsK0dBQWtCO0FBQ2pELE1BQU1DLFNBQVNELG1CQUFPQSxDQUFDLG9IQUFrQztBQUN6RCxNQUFNRSxhQUFhRixtQkFBT0EsQ0FBQywwRkFBd0I7QUFDbkQsU0FBU0YsZUFBZUssWUFBWSxFQUFFQyxJQUFJO0lBQ3RDLElBQUlELGFBQWFFLE1BQU0sR0FBR0gsV0FBV0ksOEJBQThCLEVBQUU7UUFDakVDLFFBQVFDLElBQUksQ0FBQyxDQUFDLGtDQUFrQyxFQUFFTCxhQUFhLCtCQUErQixFQUFFRCxXQUFXSSw4QkFBOEIsQ0FBQyx1RkFBdUYsQ0FBQztRQUNsTztJQUNKO0lBQ0EsSUFBSUcsaUJBQWlCLENBQUMsRUFBRVAsV0FBV1EsMEJBQTBCLENBQUMsRUFBRVAsYUFBYSxDQUFDO0lBQzlFLElBQUlDLE1BQU07UUFDTkssa0JBQWtCLENBQUMsRUFBRUEsZUFBZUUsUUFBUSxDQUFDLE9BQU8sS0FBSyxJQUFJLEVBQUVQLEtBQUssQ0FBQztJQUN6RSxPQUFPLElBQUksQ0FBQyxHQUFHSCxPQUFPVyxjQUFjLEVBQUVULGVBQWU7UUFDakRJLFFBQVFDLElBQUksQ0FBQyxDQUFDLDhCQUE4QixFQUFFTCxhQUFhLGtMQUFrTCxDQUFDO0lBQ2xQO0lBQ0EsT0FBTyxDQUFDLEdBQUdKLGVBQWVjLGFBQWEsRUFBRUo7QUFDN0MsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vcmV2YWxpZGF0ZS1wYXRoLmpzPzA2ODMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJyZXZhbGlkYXRlUGF0aFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcmV2YWxpZGF0ZVBhdGg7XG4gICAgfVxufSk7XG5jb25zdCBfcmV2YWxpZGF0ZXRhZyA9IHJlcXVpcmUoXCIuL3JldmFsaWRhdGUtdGFnXCIpO1xuY29uc3QgX3V0aWxzID0gcmVxdWlyZShcIi4uLy4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzXCIpO1xuY29uc3QgX2NvbnN0YW50cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi9saWIvY29uc3RhbnRzXCIpO1xuZnVuY3Rpb24gcmV2YWxpZGF0ZVBhdGgob3JpZ2luYWxQYXRoLCB0eXBlKSB7XG4gICAgaWYgKG9yaWdpbmFsUGF0aC5sZW5ndGggPiBfY29uc3RhbnRzLk5FWFRfQ0FDSEVfU09GVF9UQUdfTUFYX0xFTkdUSCkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFdhcm5pbmc6IHJldmFsaWRhdGVQYXRoIHJlY2VpdmVkIFwiJHtvcmlnaW5hbFBhdGh9XCIgd2hpY2ggZXhjZWVkZWQgbWF4IGxlbmd0aCBvZiAke19jb25zdGFudHMuTkVYVF9DQUNIRV9TT0ZUX1RBR19NQVhfTEVOR1RIfS4gU2VlIG1vcmUgaW5mbyBoZXJlIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy9yZXZhbGlkYXRlUGF0aGApO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBub3JtYWxpemVkUGF0aCA9IGAke19jb25zdGFudHMuTkVYVF9DQUNIRV9JTVBMSUNJVF9UQUdfSUR9JHtvcmlnaW5hbFBhdGh9YDtcbiAgICBpZiAodHlwZSkge1xuICAgICAgICBub3JtYWxpemVkUGF0aCArPSBgJHtub3JtYWxpemVkUGF0aC5lbmRzV2l0aChcIi9cIikgPyBcIlwiIDogXCIvXCJ9JHt0eXBlfWA7XG4gICAgfSBlbHNlIGlmICgoMCwgX3V0aWxzLmlzRHluYW1pY1JvdXRlKShvcmlnaW5hbFBhdGgpKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgV2FybmluZzogYSBkeW5hbWljIHBhZ2UgcGF0aCBcIiR7b3JpZ2luYWxQYXRofVwiIHdhcyBwYXNzZWQgdG8gXCJyZXZhbGlkYXRlUGF0aFwiIHdpdGhvdXQgdGhlIFwicGFnZVwiIGFyZ3VtZW50LiBUaGlzIGhhcyBubyBhZmZlY3QgYnkgZGVmYXVsdCwgc2VlIG1vcmUgaW5mbyBoZXJlIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy9yZXZhbGlkYXRlUGF0aGApO1xuICAgIH1cbiAgICByZXR1cm4gKDAsIF9yZXZhbGlkYXRldGFnLnJldmFsaWRhdGVUYWcpKG5vcm1hbGl6ZWRQYXRoKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmV2YWxpZGF0ZS1wYXRoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJyZXZhbGlkYXRlUGF0aCIsIl9yZXZhbGlkYXRldGFnIiwicmVxdWlyZSIsIl91dGlscyIsIl9jb25zdGFudHMiLCJvcmlnaW5hbFBhdGgiLCJ0eXBlIiwibGVuZ3RoIiwiTkVYVF9DQUNIRV9TT0ZUX1RBR19NQVhfTEVOR1RIIiwiY29uc29sZSIsIndhcm4iLCJub3JtYWxpemVkUGF0aCIsIk5FWFRfQ0FDSEVfSU1QTElDSVRfVEFHX0lEIiwiZW5kc1dpdGgiLCJpc0R5bmFtaWNSb3V0ZSIsInJldmFsaWRhdGVUYWciXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/web/spec-extension/revalidate-path.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/web/spec-extension/revalidate-tag.js": /*!****************************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/revalidate-tag.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"revalidateTag\", ({\n enumerable: true,\n get: function() {\n return revalidateTag;\n }\n}));\nconst _staticgenerationbailout = __webpack_require__(/*! ../../../client/components/static-generation-bailout */ \"(action-browser)/./node_modules/next/dist/client/components/static-generation-bailout.js\");\nfunction revalidateTag(tag) {\n const staticGenerationAsyncStorage = fetch.__nextGetStaticStore == null ? void 0 : fetch.__nextGetStaticStore.call(fetch);\n const store = staticGenerationAsyncStorage == null ? void 0 : staticGenerationAsyncStorage.getStore();\n if (!store || !store.incrementalCache) {\n throw new Error(`Invariant: static generation store missing in revalidateTag ${tag}`);\n }\n // a route that makes use of revalidation APIs should be considered dynamic\n // as otherwise it would be impossible to revalidate\n (0, _staticgenerationbailout.staticGenerationBailout)(`revalidateTag ${tag}`);\n if (!store.revalidatedTags) {\n store.revalidatedTags = [];\n }\n if (!store.revalidatedTags.includes(tag)) {\n store.revalidatedTags.push(tag);\n }\n if (!store.pendingRevalidates) {\n store.pendingRevalidates = {};\n }\n store.pendingRevalidates[tag] = store.incrementalCache.revalidateTag == null ? void 0 : store.incrementalCache.revalidateTag.call(store.incrementalCache, tag).catch((err)=>{\n console.error(`revalidateTag failed for ${tag}`, err);\n });\n // TODO: only revalidate if the path matches\n store.pathWasRevalidated = true;\n} //# sourceMappingURL=revalidate-tag.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9yZXZhbGlkYXRlLXRhZy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxzSkFBc0Q7QUFDL0YsU0FBU0YsY0FBY0csR0FBRztJQUN0QixNQUFNQywrQkFBK0JDLE1BQU1DLG9CQUFvQixJQUFJLE9BQU8sS0FBSyxJQUFJRCxNQUFNQyxvQkFBb0IsQ0FBQ0MsSUFBSSxDQUFDRjtJQUNuSCxNQUFNRyxRQUFRSixnQ0FBZ0MsT0FBTyxLQUFLLElBQUlBLDZCQUE2QkssUUFBUTtJQUNuRyxJQUFJLENBQUNELFNBQVMsQ0FBQ0EsTUFBTUUsZ0JBQWdCLEVBQUU7UUFDbkMsTUFBTSxJQUFJQyxNQUFNLENBQUMsNERBQTRELEVBQUVSLElBQUksQ0FBQztJQUN4RjtJQUNBLDJFQUEyRTtJQUMzRSxvREFBb0Q7SUFDbkQsSUFBR0YseUJBQXlCVyx1QkFBdUIsRUFBRSxDQUFDLGNBQWMsRUFBRVQsSUFBSSxDQUFDO0lBQzVFLElBQUksQ0FBQ0ssTUFBTUssZUFBZSxFQUFFO1FBQ3hCTCxNQUFNSyxlQUFlLEdBQUcsRUFBRTtJQUM5QjtJQUNBLElBQUksQ0FBQ0wsTUFBTUssZUFBZSxDQUFDQyxRQUFRLENBQUNYLE1BQU07UUFDdENLLE1BQU1LLGVBQWUsQ0FBQ0UsSUFBSSxDQUFDWjtJQUMvQjtJQUNBLElBQUksQ0FBQ0ssTUFBTVEsa0JBQWtCLEVBQUU7UUFDM0JSLE1BQU1RLGtCQUFrQixHQUFHLENBQUM7SUFDaEM7SUFDQVIsTUFBTVEsa0JBQWtCLENBQUNiLElBQUksR0FBR0ssTUFBTUUsZ0JBQWdCLENBQUNWLGFBQWEsSUFBSSxPQUFPLEtBQUssSUFBSVEsTUFBTUUsZ0JBQWdCLENBQUNWLGFBQWEsQ0FBQ08sSUFBSSxDQUFDQyxNQUFNRSxnQkFBZ0IsRUFBRVAsS0FBS2MsS0FBSyxDQUFDLENBQUNDO1FBQ2xLQyxRQUFRQyxLQUFLLENBQUMsQ0FBQyx5QkFBeUIsRUFBRWpCLElBQUksQ0FBQyxFQUFFZTtJQUNyRDtJQUNBLDRDQUE0QztJQUM1Q1YsTUFBTWEsa0JBQWtCLEdBQUc7QUFDL0IsRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vcmV2YWxpZGF0ZS10YWcuanM/MjRiNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInJldmFsaWRhdGVUYWdcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJldmFsaWRhdGVUYWc7XG4gICAgfVxufSk7XG5jb25zdCBfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQgPSByZXF1aXJlKFwiLi4vLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvc3RhdGljLWdlbmVyYXRpb24tYmFpbG91dFwiKTtcbmZ1bmN0aW9uIHJldmFsaWRhdGVUYWcodGFnKSB7XG4gICAgY29uc3Qgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSA9IGZldGNoLl9fbmV4dEdldFN0YXRpY1N0b3JlID09IG51bGwgPyB2b2lkIDAgOiBmZXRjaC5fX25leHRHZXRTdGF0aWNTdG9yZS5jYWxsKGZldGNoKTtcbiAgICBjb25zdCBzdG9yZSA9IHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UgPT0gbnVsbCA/IHZvaWQgMCA6IHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtcbiAgICBpZiAoIXN0b3JlIHx8ICFzdG9yZS5pbmNyZW1lbnRhbENhY2hlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YXJpYW50OiBzdGF0aWMgZ2VuZXJhdGlvbiBzdG9yZSBtaXNzaW5nIGluIHJldmFsaWRhdGVUYWcgJHt0YWd9YCk7XG4gICAgfVxuICAgIC8vIGEgcm91dGUgdGhhdCBtYWtlcyB1c2Ugb2YgcmV2YWxpZGF0aW9uIEFQSXMgc2hvdWxkIGJlIGNvbnNpZGVyZWQgZHluYW1pY1xuICAgIC8vIGFzIG90aGVyd2lzZSBpdCB3b3VsZCBiZSBpbXBvc3NpYmxlIHRvIHJldmFsaWRhdGVcbiAgICAoMCwgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0LnN0YXRpY0dlbmVyYXRpb25CYWlsb3V0KShgcmV2YWxpZGF0ZVRhZyAke3RhZ31gKTtcbiAgICBpZiAoIXN0b3JlLnJldmFsaWRhdGVkVGFncykge1xuICAgICAgICBzdG9yZS5yZXZhbGlkYXRlZFRhZ3MgPSBbXTtcbiAgICB9XG4gICAgaWYgKCFzdG9yZS5yZXZhbGlkYXRlZFRhZ3MuaW5jbHVkZXModGFnKSkge1xuICAgICAgICBzdG9yZS5yZXZhbGlkYXRlZFRhZ3MucHVzaCh0YWcpO1xuICAgIH1cbiAgICBpZiAoIXN0b3JlLnBlbmRpbmdSZXZhbGlkYXRlcykge1xuICAgICAgICBzdG9yZS5wZW5kaW5nUmV2YWxpZGF0ZXMgPSB7fTtcbiAgICB9XG4gICAgc3RvcmUucGVuZGluZ1JldmFsaWRhdGVzW3RhZ10gPSBzdG9yZS5pbmNyZW1lbnRhbENhY2hlLnJldmFsaWRhdGVUYWcgPT0gbnVsbCA/IHZvaWQgMCA6IHN0b3JlLmluY3JlbWVudGFsQ2FjaGUucmV2YWxpZGF0ZVRhZy5jYWxsKHN0b3JlLmluY3JlbWVudGFsQ2FjaGUsIHRhZykuY2F0Y2goKGVycik9PntcbiAgICAgICAgY29uc29sZS5lcnJvcihgcmV2YWxpZGF0ZVRhZyBmYWlsZWQgZm9yICR7dGFnfWAsIGVycik7XG4gICAgfSk7XG4gICAgLy8gVE9ETzogb25seSByZXZhbGlkYXRlIGlmIHRoZSBwYXRoIG1hdGNoZXNcbiAgICBzdG9yZS5wYXRoV2FzUmV2YWxpZGF0ZWQgPSB0cnVlO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZXZhbGlkYXRlLXRhZy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicmV2YWxpZGF0ZVRhZyIsIl9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dCIsInJlcXVpcmUiLCJ0YWciLCJzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlIiwiZmV0Y2giLCJfX25leHRHZXRTdGF0aWNTdG9yZSIsImNhbGwiLCJzdG9yZSIsImdldFN0b3JlIiwiaW5jcmVtZW50YWxDYWNoZSIsIkVycm9yIiwic3RhdGljR2VuZXJhdGlvbkJhaWxvdXQiLCJyZXZhbGlkYXRlZFRhZ3MiLCJpbmNsdWRlcyIsInB1c2giLCJwZW5kaW5nUmV2YWxpZGF0ZXMiLCJjYXRjaCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsInBhdGhXYXNSZXZhbGlkYXRlZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/web/spec-extension/revalidate-tag.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/web/spec-extension/unstable-cache.js": /*!****************************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/unstable-cache.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"unstable_cache\", ({\n enumerable: true,\n get: function() {\n return unstable_cache;\n }\n}));\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ../../../client/components/static-generation-async-storage.external */ \"../../client/components/static-generation-async-storage.external\");\nconst _constants = __webpack_require__(/*! ../../../lib/constants */ \"(action-browser)/./node_modules/next/dist/lib/constants.js\");\nconst _patchfetch = __webpack_require__(/*! ../../lib/patch-fetch */ \"(action-browser)/./node_modules/next/dist/server/lib/patch-fetch.js\");\nlet noStoreFetchIdx = 0;\nasync function cacheNewResult(result, incrementalCache, cacheKey, tags, revalidate, fetchIdx, fetchUrl) {\n await incrementalCache.set(cacheKey, {\n kind: \"FETCH\",\n data: {\n headers: {},\n // TODO: handle non-JSON values?\n body: JSON.stringify(result),\n status: 200,\n url: \"\"\n },\n revalidate: typeof revalidate !== \"number\" ? _constants.CACHE_ONE_YEAR : revalidate\n }, {\n revalidate,\n fetchCache: true,\n tags,\n fetchIdx,\n fetchUrl\n });\n return;\n}\nfunction unstable_cache(cb, keyParts, options = {}) {\n const staticGenerationAsyncStorage = (fetch.__nextGetStaticStore == null ? void 0 : fetch.__nextGetStaticStore.call(fetch)) || _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage;\n if (options.revalidate === 0) {\n throw new Error(`Invariant revalidate: 0 can not be passed to unstable_cache(), must be \"false\" or \"> 0\" ${cb.toString()}`);\n }\n // Validate the tags provided are valid\n const tags = options.tags ? (0, _patchfetch.validateTags)(options.tags, `unstable_cache ${cb.toString()}`) : [];\n // Validate the revalidate options\n (0, _patchfetch.validateRevalidate)(options.revalidate, `unstable_cache ${cb.name || cb.toString()}`);\n // Stash the fixed part of the key at construction time. The invocation key will combine\n // the fixed key with the arguments when actually called\n // @TODO if cb.toString() is long we should hash it\n // @TODO come up with a collision-free way to combine keyParts\n // @TODO consider validating the keyParts are all strings. TS can't provide runtime guarantees\n // and the error produced by accidentally using something that cannot be safely coerced is likely\n // hard to debug\n const fixedKey = `${cb.toString()}-${Array.isArray(keyParts) && keyParts.join(\",\")}`;\n const cachedCb = async (...args)=>{\n const store = staticGenerationAsyncStorage == null ? void 0 : staticGenerationAsyncStorage.getStore();\n // We must be able to find the incremental cache otherwise we throw\n const maybeIncrementalCache = (store == null ? void 0 : store.incrementalCache) || globalThis.__incrementalCache;\n if (!maybeIncrementalCache) {\n throw new Error(`Invariant: incrementalCache missing in unstable_cache ${cb.toString()}`);\n }\n const incrementalCache = maybeIncrementalCache;\n // Construct the complete cache key for this function invocation\n // @TODO stringify is likely not safe here. We will coerce undefined to null which will make\n // the keyspace smaller than the execution space\n const invocationKey = `${fixedKey}-${JSON.stringify(args)}`;\n const cacheKey = await incrementalCache.fetchCacheKey(invocationKey);\n const fetchUrl = `unstable_cache ${cb.name ? ` ${cb.name}` : cacheKey}`;\n const fetchIdx = (store ? store.nextFetchId : noStoreFetchIdx) ?? 1;\n if (store) {\n store.nextFetchId = fetchIdx + 1;\n // We are in an App Router context. We try to return the cached entry if it exists and is valid\n // If the entry is fresh we return it. If the entry is stale we return it but revalidate the entry in\n // the background. If the entry is missing or invalid we generate a new entry and return it.\n // We update the store's revalidate property if the option.revalidate is a higher precedence\n if (typeof options.revalidate === \"number\") {\n if (typeof store.revalidate === \"number\" && store.revalidate < options.revalidate) {\n // The store is already revalidating on a shorter time interval, leave it alone\n } else {\n store.revalidate = options.revalidate;\n }\n } else if (options.revalidate === false && typeof store.revalidate === \"undefined\") {\n // The store has not defined revalidate type so we can use the false option\n store.revalidate = options.revalidate;\n }\n // We need to accumulate the tags for this invocation within the store\n if (!store.tags) {\n store.tags = tags.slice();\n } else {\n for (const tag of tags){\n // @TODO refactor tags to be a set to avoid this O(n) lookup\n if (!store.tags.includes(tag)) {\n store.tags.push(tag);\n }\n }\n }\n // @TODO check on this API. addImplicitTags mutates the store and returns the implicit tags. The naming\n // of this function is potentially a little confusing\n const implicitTags = (0, _patchfetch.addImplicitTags)(store);\n if (// we should bypass cache similar to fetches\n store.fetchCache !== \"force-no-store\" && !store.isOnDemandRevalidate && !incrementalCache.isOnDemandRevalidate) {\n // We attempt to get the current cache entry from the incremental cache.\n const cacheEntry = await incrementalCache.get(cacheKey, {\n kindHint: \"fetch\",\n revalidate: options.revalidate,\n tags,\n softTags: implicitTags,\n fetchIdx\n });\n if (cacheEntry && cacheEntry.value) {\n // The entry exists and has a value\n if (cacheEntry.value.kind !== \"FETCH\") {\n // The entry is invalid and we need a special warning\n // @TODO why do we warn this way? Should this just be an error? How are these errors surfaced\n // so bugs can be reported\n // @TODO the invocation key can have sensitive data in it. we should not log this entire object\n console.error(`Invariant invalid cacheEntry returned for ${invocationKey}`);\n // will fall through to generating a new cache entry below\n } else {\n // We have a valid cache entry so we will be returning it. We also check to see if we need\n // to background revalidate it by checking if it is stale.\n const cachedResponse = JSON.parse(cacheEntry.value.data.body);\n if (cacheEntry.isStale) {\n // In App Router we return the stale result and revalidate in the background\n if (!store.pendingRevalidates) {\n store.pendingRevalidates = {};\n }\n // We run the cache function asynchronously and save the result when it completes\n store.pendingRevalidates[invocationKey] = staticGenerationAsyncStorage.run({\n ...store,\n // force any nested fetches to bypass cache so they revalidate\n // when the unstable_cache call is revalidated\n fetchCache: \"force-no-store\",\n isUnstableCacheCallback: true\n }, cb, ...args).then((result)=>{\n return cacheNewResult(result, incrementalCache, cacheKey, tags, options.revalidate, fetchIdx, fetchUrl);\n }) // @TODO This error handling seems wrong. We swallow the error?\n .catch((err)=>console.error(`revalidating cache with key: ${invocationKey}`, err));\n }\n // We had a valid cache entry so we return it here\n return cachedResponse;\n }\n }\n }\n // If we got this far then we had an invalid cache entry and need to generate a new one\n const result = await staticGenerationAsyncStorage.run({\n ...store,\n // force any nested fetches to bypass cache so they revalidate\n // when the unstable_cache call is revalidated\n fetchCache: \"force-no-store\",\n isUnstableCacheCallback: true\n }, cb, ...args);\n cacheNewResult(result, incrementalCache, cacheKey, tags, options.revalidate, fetchIdx, fetchUrl);\n return result;\n } else {\n noStoreFetchIdx += 1;\n // We are in Pages Router or were called outside of a render. We don't have a store\n // so we just call the callback directly when it needs to run.\n // If the entry is fresh we return it. If the entry is stale we return it but revalidate the entry in\n // the background. If the entry is missing or invalid we generate a new entry and return it.\n if (!incrementalCache.isOnDemandRevalidate) {\n // We aren't doing an on demand revalidation so we check use the cache if valid\n const cacheEntry = await incrementalCache.get(cacheKey, {\n kindHint: \"fetch\",\n revalidate: options.revalidate,\n tags\n });\n if (cacheEntry && cacheEntry.value) {\n // The entry exists and has a value\n if (cacheEntry.value.kind !== \"FETCH\") {\n // The entry is invalid and we need a special warning\n // @TODO why do we warn this way? Should this just be an error? How are these errors surfaced\n // so bugs can be reported\n console.error(`Invariant invalid cacheEntry returned for ${invocationKey}`);\n // will fall through to generating a new cache entry below\n } else if (!cacheEntry.isStale) {\n // We have a valid cache entry and it is fresh so we return it\n return JSON.parse(cacheEntry.value.data.body);\n }\n }\n }\n // If we got this far then we had an invalid cache entry and need to generate a new one\n // @TODO this storage wrapper is included here because it existed prior to the latest refactor\n // however it is incorrect logic because it causes any internal cache calls to follow the App Router\n // path rather than Pages router path. This may mean there is existing buggy behavior however no specific\n // issues are known at this time. The whole static generation storage pathways should be reworked\n // to allow tracking which \"mode\" we are in without the presence of a store or not. For now I have\n // maintained the existing behavior to limit the impact of the current refactor\n const result = await staticGenerationAsyncStorage.run(// The fact that we need to construct this kind of fake store indicates the code is not factored correctly\n // @TODO refactor to not require this fake store object\n {\n // force any nested fetches to bypass cache so they revalidate\n // when the unstable_cache call is revalidated\n fetchCache: \"force-no-store\",\n isUnstableCacheCallback: true,\n urlPathname: \"/\",\n isStaticGeneration: false,\n postpone: undefined\n }, cb, ...args);\n cacheNewResult(result, incrementalCache, cacheKey, tags, options.revalidate, fetchIdx, fetchUrl);\n return result;\n }\n };\n // TODO: once AsyncLocalStorage.run() returns the correct types this override will no longer be necessary\n return cachedCb;\n} //# sourceMappingURL=unstable-cache.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi91bnN0YWJsZS1jYWNoZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsa0RBQWlEO0lBQzdDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsd0NBQXdDQyxtQkFBT0EsQ0FBQyw2SUFBcUU7QUFDM0gsTUFBTUMsYUFBYUQsbUJBQU9BLENBQUMsMEZBQXdCO0FBQ25ELE1BQU1FLGNBQWNGLG1CQUFPQSxDQUFDLGtHQUF1QjtBQUNuRCxJQUFJRyxrQkFBa0I7QUFDdEIsZUFBZUMsZUFBZUMsTUFBTSxFQUFFQyxnQkFBZ0IsRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxRQUFRO0lBQ2xHLE1BQU1MLGlCQUFpQk0sR0FBRyxDQUFDTCxVQUFVO1FBQ2pDTSxNQUFNO1FBQ05DLE1BQU07WUFDRkMsU0FBUyxDQUFDO1lBQ1YsZ0NBQWdDO1lBQ2hDQyxNQUFNQyxLQUFLQyxTQUFTLENBQUNiO1lBQ3JCYyxRQUFRO1lBQ1JDLEtBQUs7UUFDVDtRQUNBWCxZQUFZLE9BQU9BLGVBQWUsV0FBV1IsV0FBV29CLGNBQWMsR0FBR1o7SUFDN0UsR0FBRztRQUNDQTtRQUNBYSxZQUFZO1FBQ1pkO1FBQ0FFO1FBQ0FDO0lBQ0o7SUFDQTtBQUNKO0FBQ0EsU0FBU2IsZUFBZXlCLEVBQUUsRUFBRUMsUUFBUSxFQUFFQyxVQUFVLENBQUMsQ0FBQztJQUM5QyxNQUFNQywrQkFBK0IsQ0FBQ0MsTUFBTUMsb0JBQW9CLElBQUksT0FBTyxLQUFLLElBQUlELE1BQU1DLG9CQUFvQixDQUFDQyxJQUFJLENBQUNGLE1BQUssS0FBTTVCLHNDQUFzQzJCLDRCQUE0QjtJQUNqTSxJQUFJRCxRQUFRaEIsVUFB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LFFBQVFDLEtBQUssQ0FBQyxDQUFDLDBDQUEwQyxFQUFFZCxjQUFjLENBQUM7b0JBQzlFLDBEQUEwRDtvQkFDMUQsT0FBTyxJQUFJLENBQUNVLFdBQVdPLE9BQU8sRUFBRTt3QkFDNUIsOERBQThEO3dCQUM5RCxPQUFPOUMsS0FBSzZDLEtBQUssQ0FBQ04sV0FBVzdELEtBQUssQ0FBQ21CLElBQUksQ0FBQ0UsSUFBSTtvQkFDaEQ7Z0JBQ0o7WUFDSjtZQUNBLHVGQUF1RjtZQUN2Riw4RkFBOEY7WUFDOUYsb0dBQW9HO1lBQ3BHLHlHQUF5RztZQUN6RyxpR0FBaUc7WUFDakcsa0dBQWtHO1lBQ2xHLCtFQUErRTtZQUMvRSxNQUFNWCxTQUFTLE1BQU1xQiw2QkFBNkJ1QyxHQUFHLENBQ3JELDBHQUEwRztZQUMxRyx1REFBdUQ7WUFDdkQ7Z0JBQ0ksOERBQThEO2dCQUM5RCw4Q0FBOEM7Z0JBQzlDM0MsWUFBWTtnQkFDWjRDLHlCQUF5QjtnQkFDekJJLGFBQWE7Z0JBQ2JDLG9CQUFvQjtnQkFDcEJDLFVBQVVDO1lBQ2QsR0FBR2xELE9BQU9pQjtZQUNWcEMsZUFBZUMsUUFBUUMsa0JBQWtCQyxVQUFVQyxNQUFNaUIsUUFBUWhCLFVBQVUsRUFBRUMsVUFBVUM7WUFDdkYsT0FBT047UUFDWDtJQUNKO0lBQ0EseUdBQXlHO0lBQ3pHLE9BQU9rQztBQUNYLEVBRUEsMENBQTBDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL3Vuc3RhYmxlLWNhY2hlLmpzP2YxNWIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJ1bnN0YWJsZV9jYWNoZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdW5zdGFibGVfY2FjaGU7XG4gICAgfVxufSk7XG5jb25zdCBfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsID0gcmVxdWlyZShcIi4uLy4uLy4uL2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWxcIik7XG5jb25zdCBfY29uc3RhbnRzID0gcmVxdWlyZShcIi4uLy4uLy4uL2xpYi9jb25zdGFudHNcIik7XG5jb25zdCBfcGF0Y2hmZXRjaCA9IHJlcXVpcmUoXCIuLi8uLi9saWIvcGF0Y2gtZmV0Y2hcIik7XG5sZXQgbm9TdG9yZUZldGNoSWR4ID0gMDtcbmFzeW5jIGZ1bmN0aW9uIGNhY2hlTmV3UmVzdWx0KHJlc3VsdCwgaW5jcmVtZW50YWxDYWNoZSwgY2FjaGVLZXksIHRhZ3MsIHJldmFsaWRhdGUsIGZldGNoSWR4LCBmZXRjaFVybCkge1xuICAgIGF3YWl0IGluY3JlbWVudGFsQ2FjaGUuc2V0KGNhY2hlS2V5LCB7XG4gICAgICAgIGtpbmQ6IFwiRkVUQ0hcIixcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgICAgICAvLyBUT0RPOiBoYW5kbGUgbm9uLUpTT04gdmFsdWVzP1xuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocmVzdWx0KSxcbiAgICAgICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICAgICAgdXJsOiBcIlwiXG4gICAgICAgIH0sXG4gICAgICAgIHJldmFsaWRhdGU6IHR5cGVvZiByZXZhbGlkYXRlICE9PSBcIm51bWJlclwiID8gX2NvbnN0YW50cy5DQUNIRV9PTkVfWUVBUiA6IHJldmFsaWRhdGVcbiAgICB9LCB7XG4gICAgICAgIHJldmFsaWRhdGUsXG4gICAgICAgIGZldGNoQ2FjaGU6IHRydWUsXG4gICAgICAgIHRhZ3MsXG4gICAgICAgIGZldGNoSWR4LFxuICAgICAgICBmZXRjaFVybFxuICAgIH0pO1xuICAgIHJldHVybjtcbn1cbmZ1bmN0aW9uIHVuc3RhYmxlX2NhY2hlKGNiLCBrZXlQYXJ0cywgb3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3Qgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSA9IChmZXRjaC5fX25leHRHZXRTdGF0aWNTdG9yZSA9PSBudWxsID8gdm9pZCAwIDogZmV0Y2guX19uZXh0R2V0U3RhdGljU3RvcmUuY2FsbChmZXRjaCkpIHx8IF9zdGF0aWNnZW5lcmF0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwuc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZTtcbiAgICBpZiAob3B0aW9ucy5yZXZhbGlkYXRlID09PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YXJpYW50IHJldmFsaWRhdGU6IDAgY2FuIG5vdCBiZSBwYXNzZWQgdG8gdW5zdGFibGVfY2FjaGUoKSwgbXVzdCBiZSBcImZhbHNlXCIgb3IgXCI+IDBcIiAke2NiLnRvU3RyaW5nKCl9YCk7XG4gICAgfVxuICAgIC8vIFZhbGlkYXRlIHRoZSB0YWdzIHByb3ZpZGVkIGFyZSB2YWxpZFxuICAgIGNvbnN0IHRhZ3MgPSBvcHRpb25zLnRhZ3MgPyAoMCwgX3BhdGNoZmV0Y2gudmFsaWRhdGVUYWdzKShvcHRpb25zLnRhZ3MsIGB1bnN0YWJsZV9jYWNoZSAke2NiLnRvU3RyaW5nKCl9YCkgOiBbXTtcbiAgICAvLyBWYWxpZGF0ZSB0aGUgcmV2YWxpZGF0ZSBvcHRpb25zXG4gICAgKDAsIF9wYXRjaGZldGNoLnZhbGlkYXRlUmV2YWxpZGF0ZSkob3B0aW9ucy5yZXZhbGlkYXRlLCBgdW5zdGFibGVfY2FjaGUgJHtjYi5uYW1lIHx8IGNiLnRvU3RyaW5nKCl9YCk7XG4gICAgLy8gU3Rhc2ggdGhlIGZpeGVkIHBhcnQgb2YgdGhlIGtleSBhdCBjb25zdHJ1Y3Rpb24gdGltZS4gVGhlIGludm9jYXRpb24ga2V5IHdpbGwgY29tYmluZVxuICAgIC8vIHRoZSBmaXhlZCBrZXkgd2l0aCB0aGUgYXJndW1lbnRzIHdoZW4gYWN0dWFsbHkgY2FsbGVkXG4gICAgLy8gQFRPRE8gaWYgY2IudG9TdHJpbmcoKSBpcyBsb25nIHdlIHNob3VsZCBoYXNoIGl0XG4gICAgLy8gQFRPRE8gY29tZSB1cCB3aXRoIGEgY29sbGlzaW9uLWZyZWUgd2F5IHRvIGNvbWJpbmUga2V5UGFydHNcbiAgICAvLyBAVE9ETyBjb25zaWRlciB2YWxpZGF0aW5nIHRoZSBrZXlQYXJ0cyBhcmUgYWxsIHN0cmluZ3MuIFRTIGNhbid0IHByb3ZpZGUgcnVudGltZSBndWFyYW50ZWVzXG4gICAgLy8gYW5kIHRoZSBlcnJvciBwcm9kdWNlZCBieSBhY2NpZGVudGFsbHkgdXNpbmcgc29tZXRoaW5nIHRoYXQgY2Fubm90IGJlIHNhZmVseSBjb2VyY2VkIGlzIGxpa2VseVxuICAgIC8vIGhhcmQgdG8gZGVidWdcbiAgICBjb25zdCBmaXhlZEtleSA9IGAke2NiLnRvU3RyaW5nKCl9LSR7QXJyYXkuaXNBcnJheShrZXlQYXJ0cykgJiYga2V5UGFydHMuam9pbihcIixcIil9YDtcbiAgICBjb25zdCBjYWNoZWRDYiA9IGFzeW5jICguLi5hcmdzKT0+e1xuICAgICAgICBjb25zdCBzdG9yZSA9IHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UgPT0gbnVsbCA/IHZvaWQgMCA6IHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtcbiAgICAgICAgLy8gV2UgbXVzdCBiZSBhYmxlIHRvIGZpbmQgdGhlIGluY3JlbWVudGFsIGNhY2hlIG90aGVyd2lzZSB3ZSB0aHJvd1xuICAgICAgICBjb25zdCBtYXliZUluY3JlbWVudGFsQ2FjaGUgPSAoc3RvcmUgPT0gbnVsbCA/IHZvaWQgMCA6IHN0b3JlLmluY3JlbWVudGFsQ2FjaGUpIHx8IGdsb2JhbFRoaXMuX19pbmNyZW1lbnRhbENhY2hlO1xuICAgICAgICBpZiAoIW1heWJlSW5jcmVtZW50YWxDYWNoZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhcmlhbnQ6IGluY3JlbWVudGFsQ2FjaGUgbWlzc2luZyBpbiB1bnN0YWJsZV9jYWNoZSAke2NiLnRvU3RyaW5nKCl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW5jcmVtZW50YWxDYWNoZSA9IG1heWJlSW5jcmVtZW50YWxDYWNoZTtcbiAgICAgICAgLy8gQ29uc3RydWN0IHRoZSBjb21wbGV0ZSBjYWNoZSBrZXkgZm9yIHRoaXMgZnVuY3Rpb24gaW52b2NhdGlvblxuICAgICAgICAvLyBAVE9ETyBzdHJpbmdpZnkgaXMgbGlrZWx5IG5vdCBzYWZlIGhlcmUuIFdlIHdpbGwgY29lcmNlIHVuZGVmaW5lZCB0byBudWxsIHdoaWNoIHdpbGwgbWFrZVxuICAgICAgICAvLyB0aGUga2V5c3BhY2Ugc21hbGxlciB0aGFuIHRoZSBleGVjdXRpb24gc3BhY2VcbiAgICAgICAgY29uc3QgaW52b2NhdGlvbktleSA9IGAke2ZpeGVkS2V5fS0ke0pTT04uc3RyaW5naWZ5KGFyZ3MpfWA7XG4gICAgICAgIGNvbnN0IGNhY2hlS2V5ID0gYXdhaXQgaW5jcmVtZW50YWxDYWNoZS5mZXRjaENhY2hlS2V5KGludm9jYXRpb25LZXkpO1xuICAgICAgICBjb25zdCBmZXRjaFVybCA9IGB1bnN0YWJsZV9jYWNoZSAke2NiLm5hbWUgPyBgICR7Y2IubmFtZX1gIDogY2FjaGVLZXl9YDtcbiAgICAgICAgY29uc3QgZmV0Y2hJZHggPSAoc3RvcmUgPyBzdG9yZS5uZXh0RmV0Y2hJZCA6IG5vU3RvcmVGZXRjaElkeCkgPz8gMTtcbiAgICAgICAgaWYgKHN0b3JlKSB7XG4gICAgICAgICAgICBzdG9yZS5uZXh0RmV0Y2hJZCA9IGZldGNoSWR4ICsgMTtcbiAgICAgICAgICAgIC8vIFdlIGFyZSBpbiBhbiBBcHAgUm91dGVyIGNvbnRleHQuIFdlIHRyeSB0byByZXR1cm4gdGhlIGNhY2hlZCBlbnRyeSBpZiBpdCBleGlzdHMgYW5kIGlzIHZhbGlkXG4gICAgICAgICAgICAvLyBJZiB0aGUgZW50cnkgaXMgZnJlc2ggd2UgcmV0dXJuIGl0LiBJZiB0aGUgZW50cnkgaXMgc3RhbGUgd2UgcmV0dXJuIGl0IGJ1dCByZXZhbGlkYXRlIHRoZSBlbnRyeSBpblxuICAgICAgICAgICAgLy8gdGhlIGJhY2tncm91bmQuIElmIHRoZSBlbnRyeSBpcyBtaXNzaW5nIG9yIGludmFsaWQgd2UgZ2VuZXJhdGUgYSBuZXcgZW50cnkgYW5kIHJldHVybiBpdC5cbiAgICAgICAgICAgIC8vIFdlIHVwZGF0ZSB0aGUgc3RvcmUncyByZXZhbGlkYXRlIHByb3BlcnR5IGlmIHRoZSBvcHRpb24ucmV2YWxpZGF0ZSBpcyBhIGhpZ2hlciBwcmVjZWRlbmNlXG4gICAgICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMucmV2YWxpZGF0ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygc3RvcmUucmV2YWxpZGF0ZSA9PT0gXCJudW1iZXJcIiAmJiBzdG9yZS5yZXZhbGlkYXRlIDwgb3B0aW9ucy5yZXZhbGlkYXRlKSB7XG4gICAgICAgICAgICAgICAgLy8gVGhlIHN0b3JlIGlzIGFscmVhZHkgcmV2YWxpZGF0aW5nIG9uIGEgc2hvcnRlciB0aW1lIGludGVydmFsLCBsZWF2ZSBpdCBhbG9uZVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0b3JlLnJldmFsaWRhdGUgPSBvcHRpb25zLnJldmFsaWRhdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChvcHRpb25zLnJldmFsaWRhdGUgPT09IGZhbHNlICYmIHR5cGVvZiBzdG9yZS5yZXZhbGlkYXRlID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgLy8gVGhlIHN0b3JlIGhhcyBub3QgZGVmaW5lZCByZXZhbGlkYXRlIHR5cGUgc28gd2UgY2FuIHVzZSB0aGUgZmFsc2Ugb3B0aW9uXG4gICAgICAgICAgICAgICAgc3RvcmUucmV2YWxpZGF0ZSA9IG9wdGlvbnMucmV2YWxpZGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gYWNjdW11bGF0ZSB0aGUgdGFncyBmb3IgdGhpcyBpbnZvY2F0aW9uIHdpdGhpbiB0aGUgc3RvcmVcbiAgICAgICAgICAgIGlmICghc3RvcmUudGFncykge1xuICAgICAgICAgICAgICAgIHN0b3JlLnRhZ3MgPSB0YWdzLnNsaWNlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdGFnIG9mIHRhZ3Mpe1xuICAgICAgICAgICAgICAgICAgICAvLyBAVE9ETyByZWZhY3RvciB0YWdzIHRvIGJlIGEgc2V0IHRvIGF2b2lkIHRoaXMgTyhuKSBsb29rdXBcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdG9yZS50YWdzLmluY2x1ZGVzKHRhZykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlLnRhZ3MucHVzaCh0YWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQFRPRE8gY2hlY2sgb24gdGhpcyBBUEkuIGFkZEltcGxpY2l0VGFncyBtdXRhdGVzIHRoZSBzdG9yZSBhbmQgcmV0dXJucyB0aGUgaW1wbGljaXQgdGFncy4gVGhlIG5hbWluZ1xuICAgICAgICAgICAgLy8gb2YgdGhpcyBmdW5jdGlvbiBpcyBwb3RlbnRpYWxseSBhIGxpdHRsZSBjb25mdXNpbmdcbiAgICAgICAgICAgIGNvbnN0IGltcGxpY2l0VGFncyA9ICgwLCBfcGF0Y2hmZXRjaC5hZGRJbXBsaWNpdFRhZ3MpKHN0b3JlKTtcbiAgICAgICAgICAgIGlmICgvLyB3aGVuIHdlIGFyZSBuZXN0ZWQgaW5zaWRlIG9mIG90aGVyIHVuc3RhYmxlX2NhY2hlJ3NcbiAgICAgICAgICAgIC8vIHdlIHNob3VsZCBieXBhc3MgY2FjaGUgc2ltaWxhciB0byBmZXRjaGVzXG4gICAgICAgICAgICBzdG9yZS5mZXRjaENhY2hlICE9PSBcImZvcmNlLW5vLXN0b3JlXCIgJiYgIXN0b3JlLmlzT25EZW1hbmRSZXZhbGlkYXRlICYmICFpbmNyZW1lbnRhbENhY2hlLmlzT25EZW1hbmRSZXZhbGlkYXRlKSB7XG4gICAgICAgICAgICAgICAgLy8gV2UgYXR0ZW1wdCB0byBnZXQgdGhlIGN1cnJlbnQgY2FjaGUgZW50cnkgZnJvbSB0aGUgaW5jcmVtZW50YWwgY2FjaGUuXG4gICAgICAgICAgICAgICAgY29uc3QgY2FjaGVFbnRyeSA9IGF3YWl0IGluY3JlbWVudGFsQ2FjaGUuZ2V0KGNhY2hlS2V5LCB7XG4gICAgICAgICAgICAgICAgICAgIGtpbmRIaW50OiBcImZldGNoXCIsXG4gICAgICAgICAgICAgICAgICAgIHJldmFsaWRhdGU6IG9wdGlvbnMucmV2YWxpZGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgdGFncyxcbiAgICAgICAgICAgICAgICAgICAgc29mdFRhZ3M6IGltcGxpY2l0VGFncyxcbiAgICAgICAgICAgICAgICAgICAgZmV0Y2hJZHhcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoY2FjaGVFbnRyeSAmJiBjYWNoZUVudHJ5LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBlbnRyeSBleGlzdHMgYW5kIGhhcyBhIHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIGlmIChjYWNoZUVudHJ5LnZhbHVlLmtpbmQgIT09IFwiRkVUQ0hcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGVudHJ5IGlzIGludmFsaWQgYW5kIHdlIG5lZWQgYSBzcGVjaWFsIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBUT0RPIHdoeSBkbyB3ZSB3YXJuIHRoaXMgd2F5PyBTaG91bGQgdGhpcyBqdXN0IGJlIGFuIGVycm9yPyBIb3cgYXJlIHRoZXNlIGVycm9ycyBzdXJmYWNlZFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc28gYnVncyBjYW4gYmUgcmVwb3J0ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBUT0RPIHRoZSBpbnZvY2F0aW9uIGtleSBjYW4gaGF2ZSBzZW5zaXRpdmUgZGF0YSBpbiBpdC4gd2Ugc2hvdWxkIG5vdCBsb2cgdGhpcyBlbnRpcmUgb2JqZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBJbnZhcmlhbnQgaW52YWxpZCBjYWNoZUVudHJ5IHJldHVybmVkIGZvciAke2ludm9jYXRpb25LZXl9YCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdpbGwgZmFsbCB0aHJvdWdoIHRvIGdlbmVyYXRpbmcgYSBuZXcgY2FjaGUgZW50cnkgYmVsb3dcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGhhdmUgYSB2YWxpZCBjYWNoZSBlbnRyeSBzbyB3ZSB3aWxsIGJlIHJldHVybmluZyBpdC4gV2UgYWxzbyBjaGVjayB0byBzZWUgaWYgd2UgbmVlZFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdG8gYmFja2dyb3VuZCByZXZhbGlkYXRlIGl0IGJ5IGNoZWNraW5nIGlmIGl0IGlzIHN0YWxlLlxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2FjaGVkUmVzcG9uc2UgPSBKU09OLnBhcnNlKGNhY2hlRW50cnkudmFsdWUuZGF0YS5ib2R5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjYWNoZUVudHJ5LmlzU3RhbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbiBBcHAgUm91dGVyIHdlIHJldHVybiB0aGUgc3RhbGUgcmVzdWx0IGFuZCByZXZhbGlkYXRlIGluIHRoZSBiYWNrZ3JvdW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzdG9yZS5wZW5kaW5nUmV2YWxpZGF0ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmUucGVuZGluZ1JldmFsaWRhdGVzID0ge307XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIHJ1biB0aGUgY2FjaGUgZnVuY3Rpb24gYXN5bmNocm9ub3VzbHkgYW5kIHNhdmUgdGhlIHJlc3VsdCB3aGVuIGl0IGNvbXBsZXRlc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlLnBlbmRpbmdSZXZhbGlkYXRlc1tpbnZvY2F0aW9uS2V5XSA9IHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UucnVuKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3RvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZvcmNlIGFueSBuZXN0ZWQgZmV0Y2hlcyB0byBieXBhc3MgY2FjaGUgc28gdGhleSByZXZhbGlkYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gdGhlIHVuc3RhYmxlX2NhY2hlIGNhbGwgaXMgcmV2YWxpZGF0ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hDYWNoZTogXCJmb3JjZS1uby1zdG9yZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1Vuc3RhYmxlQ2FjaGVDYWxsYmFjazogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGNiLCAuLi5hcmdzKS50aGVuKChyZXN1bHQpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjYWNoZU5ld1Jlc3VsdChyZXN1bHQsIGluY3JlbWVudGFsQ2FjaGUsIGNhY2hlS2V5LCB0YWdzLCBvcHRpb25zLnJldmFsaWRhdGUsIGZldGNoSWR4LCBmZXRjaFVybCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkvLyBAVE9ETyBUaGlzIGVycm9yIGhhbmRsaW5nIHNlZW1zIHdyb25nLiBXZSBzd2FsbG93IHRoZSBlcnJvcj9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycik9PmNvbnNvbGUuZXJyb3IoYHJldmFsaWRhdGluZyBjYWNoZSB3aXRoIGtleTogJHtpbnZvY2F0aW9uS2V5fWAsIGVycikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgaGFkIGEgdmFsaWQgY2FjaGUgZW50cnkgc28gd2UgcmV0dXJuIGl0IGhlcmVcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjYWNoZWRSZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElmIHdlIGdvdCB0aGlzIGZhciB0aGVuIHdlIGhhZCBhbiBpbnZhbGlkIGNhY2hlIGVudHJ5IGFuZCBuZWVkIHRvIGdlbmVyYXRlIGEgbmV3IG9uZVxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZS5ydW4oe1xuICAgICAgICAgICAgICAgIC4uLnN0b3JlLFxuICAgICAgICAgICAgICAgIC8vIGZvcmNlIGFueSBuZXN0ZWQgZmV0Y2hlcyB0byBieXBhc3MgY2FjaGUgc28gdGhleSByZXZhbGlkYXRlXG4gICAgICAgICAgICAgICAgLy8gd2hlbiB0aGUgdW5zdGFibGVfY2FjaGUgY2FsbCBpcyByZXZhbGlkYXRlZFxuICAgICAgICAgICAgICAgIGZldGNoQ2FjaGU6IFwiZm9yY2Utbm8tc3RvcmVcIixcbiAgICAgICAgICAgICAgICBpc1Vuc3RhYmxlQ2FjaGVDYWxsYmFjazogdHJ1ZVxuICAgICAgICAgICAgfSwgY2IsIC4uLmFyZ3MpO1xuICAgICAgICAgICAgY2FjaGVOZXdSZXN1bHQocmVzdWx0LCBpbmNyZW1lbnRhbENhY2hlLCBjYWNoZUtleSwgdGFncywgb3B0aW9ucy5yZXZhbGlkYXRlLCBmZXRjaElkeCwgZmV0Y2hVcmwpO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5vU3RvcmVGZXRjaElkeCArPSAxO1xuICAgICAgICAgICAgLy8gV2UgYXJlIGluIFBhZ2VzIFJvdXRlciBvciB3ZXJlIGNhbGxlZCBvdXRzaWRlIG9mIGEgcmVuZGVyLiBXZSBkb24ndCBoYXZlIGEgc3RvcmVcbiAgICAgICAgICAgIC8vIHNvIHdlIGp1c3QgY2FsbCB0aGUgY2FsbGJhY2sgZGlyZWN0bHkgd2hlbiBpdCBuZWVkcyB0byBydW4uXG4gICAgICAgICAgICAvLyBJZiB0aGUgZW50cnkgaXMgZnJlc2ggd2UgcmV0dXJuIGl0LiBJZiB0aGUgZW50cnkgaXMgc3RhbGUgd2UgcmV0dXJuIGl0IGJ1dCByZXZhbGlkYXRlIHRoZSBlbnRyeSBpblxuICAgICAgICAgICAgLy8gdGhlIGJhY2tncm91bmQuIElmIHRoZSBlbnRyeSBpcyBtaXNzaW5nIG9yIGludmFsaWQgd2UgZ2VuZXJhdGUgYSBuZXcgZW50cnkgYW5kIHJldHVybiBpdC5cbiAgICAgICAgICAgIGlmICghaW5jcmVtZW50YWxDYWNoZS5pc09uRGVtYW5kUmV2YWxpZGF0ZSkge1xuICAgICAgICAgICAgICAgIC8vIFdlIGFyZW4ndCBkb2luZyBhbiBvbiBkZW1hbmQgcmV2YWxpZGF0aW9uIHNvIHdlIGNoZWNrIHVzZSB0aGUgY2FjaGUgaWYgdmFsaWRcbiAgICAgICAgICAgICAgICBjb25zdCBjYWNoZUVudHJ5ID0gYXdhaXQgaW5jcmVtZW50YWxDYWNoZS5nZXQoY2FjaGVLZXksIHtcbiAgICAgICAgICAgICAgICAgICAga2luZEhpbnQ6IFwiZmV0Y2hcIixcbiAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZTogb3B0aW9ucy5yZXZhbGlkYXRlLFxuICAgICAgICAgICAgICAgICAgICB0YWdzXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKGNhY2hlRW50cnkgJiYgY2FjaGVFbnRyeS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBUaGUgZW50cnkgZXhpc3RzIGFuZCBoYXMgYSB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICBpZiAoY2FjaGVFbnRyeS52YWx1ZS5raW5kICE9PSBcIkZFVENIXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBlbnRyeSBpcyBpbnZhbGlkIGFuZCB3ZSBuZWVkIGEgc3BlY2lhbCB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBAVE9ETyB3aHkgZG8gd2Ugd2FybiB0aGlzIHdheT8gU2hvdWxkIHRoaXMganVzdCBiZSBhbiBlcnJvcj8gSG93IGFyZSB0aGVzZSBlcnJvcnMgc3VyZmFjZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNvIGJ1Z3MgY2FuIGJlIHJlcG9ydGVkXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBJbnZhcmlhbnQgaW52YWxpZCBjYWNoZUVudHJ5IHJldHVybmVkIGZvciAke2ludm9jYXRpb25LZXl9YCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdpbGwgZmFsbCB0aHJvdWdoIHRvIGdlbmVyYXRpbmcgYSBuZXcgY2FjaGUgZW50cnkgYmVsb3dcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghY2FjaGVFbnRyeS5pc1N0YWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBoYXZlIGEgdmFsaWQgY2FjaGUgZW50cnkgYW5kIGl0IGlzIGZyZXNoIHNvIHdlIHJldHVybiBpdFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoY2FjaGVFbnRyeS52YWx1ZS5kYXRhLmJvZHkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSWYgd2UgZ290IHRoaXMgZmFyIHRoZW4gd2UgaGFkIGFuIGludmFsaWQgY2FjaGUgZW50cnkgYW5kIG5lZWQgdG8gZ2VuZXJhdGUgYSBuZXcgb25lXG4gICAgICAgICAgICAvLyBAVE9ETyB0aGlzIHN0b3JhZ2Ugd3JhcHBlciBpcyBpbmNsdWRlZCBoZXJlIGJlY2F1c2UgaXQgZXhpc3RlZCBwcmlvciB0byB0aGUgbGF0ZXN0IHJlZmFjdG9yXG4gICAgICAgICAgICAvLyBob3dldmVyIGl0IGlzIGluY29ycmVjdCBsb2dpYyBiZWNhdXNlIGl0IGNhdXNlcyBhbnkgaW50ZXJuYWwgY2FjaGUgY2FsbHMgdG8gZm9sbG93IHRoZSBBcHAgUm91dGVyXG4gICAgICAgICAgICAvLyBwYXRoIHJhdGhlciB0aGFuIFBhZ2VzIHJvdXRlciBwYXRoLiBUaGlzIG1heSBtZWFuIHRoZXJlIGlzIGV4aXN0aW5nIGJ1Z2d5IGJlaGF2aW9yIGhvd2V2ZXIgbm8gc3BlY2lmaWNcbiAgICAgICAgICAgIC8vIGlzc3VlcyBhcmUga25vd24gYXQgdGhpcyB0aW1lLiBUaGUgd2hvbGUgc3RhdGljIGdlbmVyYXRpb24gc3RvcmFnZSBwYXRod2F5cyBzaG91bGQgYmUgcmV3b3JrZWRcbiAgICAgICAgICAgIC8vIHRvIGFsbG93IHRyYWNraW5nIHdoaWNoIFwibW9kZVwiIHdlIGFyZSBpbiB3aXRob3V0IHRoZSBwcmVzZW5jZSBvZiBhIHN0b3JlIG9yIG5vdC4gRm9yIG5vdyBJIGhhdmVcbiAgICAgICAgICAgIC8vIG1haW50YWluZWQgdGhlIGV4aXN0aW5nIGJlaGF2aW9yIHRvIGxpbWl0IHRoZSBpbXBhY3Qgb2YgdGhlIGN1cnJlbnQgcmVmYWN0b3JcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UucnVuKC8vIFdlIGFyZSBtYWtpbmcgYSBmYWtlIHN0b3JlIHRoYXQgaXMgdXNlZnVsIGZvciBzY29waW5nIGZldGNoQ2FjaGU6ICdmb3JjZS1uby1zdG9yZScgYW5kIGlzVW5zdGFibGVDYWNoZUNhbGxiYWNrOiB0cnVlXG4gICAgICAgICAgICAvLyBUaGUgZmFjdCB0aGF0IHdlIG5lZWQgdG8gY29uc3RydWN0IHRoaXMga2luZCBvZiBmYWtlIHN0b3JlIGluZGljYXRlcyB0aGUgY29kZSBpcyBub3QgZmFjdG9yZWQgY29ycmVjdGx5XG4gICAgICAgICAgICAvLyBAVE9ETyByZWZhY3RvciB0byBub3QgcmVxdWlyZSB0aGlzIGZha2Ugc3RvcmUgb2JqZWN0XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLy8gZm9yY2UgYW55IG5lc3RlZCBmZXRjaGVzIHRvIGJ5cGFzcyBjYWNoZSBzbyB0aGV5IHJldmFsaWRhdGVcbiAgICAgICAgICAgICAgICAvLyB3aGVuIHRoZSB1bnN0YWJsZV9jYWNoZSBjYWxsIGlzIHJldmFsaWRhdGVkXG4gICAgICAgICAgICAgICAgZmV0Y2hDYWNoZTogXCJmb3JjZS1uby1zdG9yZVwiLFxuICAgICAgICAgICAgICAgIGlzVW5zdGFibGVDYWNoZUNhbGxiYWNrOiB0cnVlLFxuICAgICAgICAgICAgICAgIHVybFBhdGhuYW1lOiBcIi9cIixcbiAgICAgICAgICAgICAgICBpc1N0YXRpY0dlbmVyYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgICAgIHBvc3Rwb25lOiB1bmRlZmluZWRcbiAgICAgICAgICAgIH0sIGNiLCAuLi5hcmdzKTtcbiAgICAgICAgICAgIGNhY2hlTmV3UmVzdWx0KHJlc3VsdCwgaW5jcmVtZW50YWxDYWNoZSwgY2FjaGVLZXksIHRhZ3MsIG9wdGlvbnMucmV2YWxpZGF0ZSwgZmV0Y2hJZHgsIGZldGNoVXJsKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIC8vIFRPRE86IG9uY2UgQXN5bmNMb2NhbFN0b3JhZ2UucnVuKCkgcmV0dXJucyB0aGUgY29ycmVjdCB0eXBlcyB0aGlzIG92ZXJyaWRlIHdpbGwgbm8gbG9uZ2VyIGJlIG5lY2Vzc2FyeVxuICAgIHJldHVybiBjYWNoZWRDYjtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dW5zdGFibGUtY2FjaGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInVuc3RhYmxlX2NhY2hlIiwiX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX3BhdGNoZmV0Y2giLCJub1N0b3JlRmV0Y2hJZHgiLCJjYWNoZU5ld1Jlc3VsdCIsInJlc3VsdCIsImluY3JlbWVudGFsQ2FjaGUiLCJjYWNoZUtleSIsInRhZ3MiLCJyZXZhbGlkYXRlIiwiZmV0Y2hJZHgiLCJmZXRjaFVybCIsInNldCIsImtpbmQiLCJkYXRhIiwiaGVhZGVycyIsImJvZHkiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhdHVzIiwidXJsIiwiQ0FDSEVfT05FX1lFQVIiLCJmZXRjaENhY2hlIiwiY2IiLCJrZXlQYXJ0cyIsIm9wdGlvbnMiLCJzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlIiwiZmV0Y2giLCJfX25leHRHZXRTdGF0aWNTdG9yZSIsImNhbGwiLCJFcnJvciIsInRvU3RyaW5nIiwidmFsaWRhdGVUYWdzIiwidmFsaWRhdGVSZXZhbGlkYXRlIiwibmFtZSIsImZpeGVkS2V5IiwiQXJyYXkiLCJpc0FycmF5Iiwiam9pbiIsImNhY2hlZENiIiwiYXJncyIsInN0b3JlIiwiZ2V0U3RvcmUiLCJtYXliZUluY3JlbWVudGFsQ2FjaGUiLCJnbG9iYWxUaGlzIiwiX19pbmNyZW1lbnRhbENhY2hlIiwiaW52b2NhdGlvbktleSIsImZldGNoQ2FjaGVLZXkiLCJuZXh0RmV0Y2hJZCIsInNsaWNlIiwidGFnIiwiaW5jbHVkZXMiLCJwdXNoIiwiaW1wbGljaXRUYWdzIiwiYWRkSW1wbGljaXRUYWdzIiwiaXNPbkRlbWFuZFJldmFsaWRhdGUiLCJjYWNoZUVudHJ5Iiwia2luZEhpbnQiLCJzb2Z0VGFncyIsImNvbnNvbGUiLCJlcnJvciIsImNhY2hlZFJlc3BvbnNlIiwicGFyc2UiLCJpc1N0YWxlIiwicGVuZGluZ1JldmFsaWRhdGVzIiwicnVuIiwiaXNVbnN0YWJsZUNhY2hlQ2FsbGJhY2siLCJ0aGVuIiwiY2F0Y2giLCJlcnIiLCJ1cmxQYXRobmFtZSIsImlzU3RhdGljR2VuZXJhdGlvbiIsInBvc3Rwb25lIiwidW5kZWZpbmVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/web/spec-extension/unstable-cache.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/server/web/spec-extension/unstable-no-store.js": /*!*******************************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/unstable-no-store.js ***! \*******************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"unstable_noStore\", ({\n enumerable: true,\n get: function() {\n return unstable_noStore;\n }\n}));\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ../../../client/components/static-generation-async-storage.external */ \"../../client/components/static-generation-async-storage.external\");\nconst _staticgenerationbailout = __webpack_require__(/*! ../../../client/components/static-generation-bailout */ \"(action-browser)/./node_modules/next/dist/client/components/static-generation-bailout.js\");\nfunction unstable_noStore() {\n const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.isUnstableCacheCallback) {\n // if called within a next/cache call, we want to cache the result\n // and defer to the next/cache call to handle how to cache the result.\n return;\n }\n // Mark the static generation context has unstable_noStore\n if (staticGenerationStore) {\n staticGenerationStore.isUnstableNoStore = true;\n }\n (0, _staticgenerationbailout.staticGenerationBailout)(\"unstable_noStore\", {\n link: \"https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering\"\n });\n} //# sourceMappingURL=unstable-no-store.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi91bnN0YWJsZS1uby1zdG9yZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsb0RBQW1EO0lBQy9DSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsd0NBQXdDQyxtQkFBT0EsQ0FBQyw2SUFBcUU7QUFDM0gsTUFBTUMsMkJBQTJCRCxtQkFBT0EsQ0FBQyxzSkFBc0Q7QUFDL0YsU0FBU0Y7SUFDTCxNQUFNSSx3QkFBd0JILHNDQUFzQ0ksNEJBQTRCLENBQUNDLFFBQVE7SUFDekcsSUFBSUYseUJBQXlCLE9BQU8sS0FBSyxJQUFJQSxzQkFBc0JHLHVCQUF1QixFQUFFO1FBQ3hGLGtFQUFrRTtRQUNsRSxzRUFBc0U7UUFDdEU7SUFDSjtJQUNBLDBEQUEwRDtJQUMxRCxJQUFJSCx1QkFBdUI7UUFDdkJBLHNCQUFzQkksaUJBQWlCLEdBQUc7SUFDOUM7SUFDQyxJQUFHTCx5QkFBeUJNLHVCQUF1QixFQUFFLG9CQUFvQjtRQUN0RUMsTUFBTTtJQUNWO0FBQ0osRUFFQSw2Q0FBNkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vdW5zdGFibGUtbm8tc3RvcmUuanM/YzFlMiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInVuc3RhYmxlX25vU3RvcmVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVuc3RhYmxlX25vU3RvcmU7XG4gICAgfVxufSk7XG5jb25zdCBfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsID0gcmVxdWlyZShcIi4uLy4uLy4uL2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWxcIik7XG5jb25zdCBfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQgPSByZXF1aXJlKFwiLi4vLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvc3RhdGljLWdlbmVyYXRpb24tYmFpbG91dFwiKTtcbmZ1bmN0aW9uIHVuc3RhYmxlX25vU3RvcmUoKSB7XG4gICAgY29uc3Qgc3RhdGljR2VuZXJhdGlvblN0b3JlID0gX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbC5zdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7XG4gICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZSA9PSBudWxsID8gdm9pZCAwIDogc3RhdGljR2VuZXJhdGlvblN0b3JlLmlzVW5zdGFibGVDYWNoZUNhbGxiYWNrKSB7XG4gICAgICAgIC8vIGlmIGNhbGxlZCB3aXRoaW4gYSBuZXh0L2NhY2hlIGNhbGwsIHdlIHdhbnQgdG8gY2FjaGUgdGhlIHJlc3VsdFxuICAgICAgICAvLyBhbmQgZGVmZXIgdG8gdGhlIG5leHQvY2FjaGUgY2FsbCB0byBoYW5kbGUgaG93IHRvIGNhY2hlIHRoZSByZXN1bHQuXG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gTWFyayB0aGUgc3RhdGljIGdlbmVyYXRpb24gY29udGV4dCBoYXMgdW5zdGFibGVfbm9TdG9yZVxuICAgIGlmIChzdGF0aWNHZW5lcmF0aW9uU3RvcmUpIHtcbiAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLmlzVW5zdGFibGVOb1N0b3JlID0gdHJ1ZTtcbiAgICB9XG4gICAgKDAsIF9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dC5zdGF0aWNHZW5lcmF0aW9uQmFpbG91dCkoXCJ1bnN0YWJsZV9ub1N0b3JlXCIsIHtcbiAgICAgICAgbGluazogXCJodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yZW5kZXJpbmcvc3RhdGljLWFuZC1keW5hbWljI2R5bmFtaWMtcmVuZGVyaW5nXCJcbiAgICB9KTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dW5zdGFibGUtbm8tc3RvcmUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInVuc3RhYmxlX25vU3RvcmUiLCJfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsIiwicmVxdWlyZSIsIl9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dCIsInN0YXRpY0dlbmVyYXRpb25TdG9yZSIsInN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UiLCJnZXRTdG9yZSIsImlzVW5zdGFibGVDYWNoZUNhbGxiYWNrIiwiaXNVbnN0YWJsZU5vU3RvcmUiLCJzdGF0aWNHZW5lcmF0aW9uQmFpbG91dCIsImxpbmsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/server/web/spec-extension/unstable-no-store.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/user-agent.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/user-agent.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isBot: function() {\n return isBot;\n },\n userAgentFromString: function() {\n return userAgentFromString;\n },\n userAgent: function() {\n return userAgent;\n }\n});\nconst _uaparserjs = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! next/dist/compiled/ua-parser-js */ \"(app-metadata-route)/./node_modules/next/dist/compiled/ua-parser-js/ua-parser.js\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction isBot(input) {\n return /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(input);\n}\nfunction userAgentFromString(input) {\n return {\n ...(0, _uaparserjs.default)(input),\n isBot: input === undefined ? false : isBot(input)\n };\n}\nfunction userAgent({ headers }) {\n return userAgentFromString(headers.get(\"user-agent\") || undefined);\n} //# sourceMappingURL=user-agent.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vdXNlci1hZ2VudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUlOO0FBQ0EsU0FBU0ksUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVYsT0FBT0MsY0FBYyxDQUFDUSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFOLFNBQVM7SUFDYkcsT0FBTztRQUNILE9BQU9BO0lBQ1g7SUFDQUMscUJBQXFCO1FBQ2pCLE9BQU9BO0lBQ1g7SUFDQUMsV0FBVztRQUNQLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLGNBQWMsV0FBVyxHQUFHQyx5QkFBeUJDLG1CQUFPQSxDQUFDLHlIQUFpQztBQUNwRyxTQUFTRCx5QkFBeUJFLEdBQUc7SUFDakMsT0FBT0EsT0FBT0EsSUFBSUMsVUFBVSxHQUFHRCxNQUFNO1FBQ2pDRSxTQUFTRjtJQUNiO0FBQ0o7QUFDQSxTQUFTWixNQUFNZSxLQUFLO0lBQ2hCLE9BQU8sMFdBQTBXQyxJQUFJLENBQUNEO0FBQzFYO0FBQ0EsU0FBU2Qsb0JBQW9CYyxLQUFLO0lBQzlCLE9BQU87UUFDSCxHQUFHLENBQUMsR0FBR04sWUFBWUssT0FBTyxFQUFFQyxNQUFNO1FBQ2xDZixPQUFPZSxVQUFVRSxZQUFZLFFBQVFqQixNQUFNZTtJQUMvQztBQUNKO0FBQ0EsU0FBU2IsVUFBVSxFQUFFZ0IsT0FBTyxFQUFFO0lBQzFCLE9BQU9qQixvQkFBb0JpQixRQUFRVixHQUFHLENBQUMsaUJBQWlCUztBQUM1RCxFQUVBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi91c2VyLWFnZW50LmpzPzk0MzciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBpc0JvdDogbnVsbCxcbiAgICB1c2VyQWdlbnRGcm9tU3RyaW5nOiBudWxsLFxuICAgIHVzZXJBZ2VudDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBpc0JvdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0JvdDtcbiAgICB9LFxuICAgIHVzZXJBZ2VudEZyb21TdHJpbmc6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlckFnZW50RnJvbVN0cmluZztcbiAgICB9LFxuICAgIHVzZXJBZ2VudDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1c2VyQWdlbnQ7XG4gICAgfVxufSk7XG5jb25zdCBfdWFwYXJzZXJqcyA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvdWEtcGFyc2VyLWpzXCIpKTtcbmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDoge1xuICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICB9O1xufVxuZnVuY3Rpb24gaXNCb3QoaW5wdXQpIHtcbiAgICByZXR1cm4gL0dvb2dsZWJvdHxNZWRpYXBhcnRuZXJzLUdvb2dsZXxBZHNCb3QtR29vZ2xlfGdvb2dsZXdlYmxpZ2h0fFN0b3JlYm90LUdvb2dsZXxHb29nbGUtUGFnZVJlbmRlcmVyfEdvb2dsZS1JbnNwZWN0aW9uVG9vbHxCaW5nYm90fEJpbmdQcmV2aWV3fFNsdXJwfER1Y2tEdWNrQm90fGJhaWR1c3BpZGVyfHlhbmRleHxzb2dvdXxMaW5rZWRJbkJvdHxiaXRseWJvdHx0dW1ibHJ8dmtTaGFyZXxxdW9yYSBsaW5rIHByZXZpZXd8ZmFjZWJvb2tleHRlcm5hbGhpdHxmYWNlYm9va2NhdGFsb2d8VHdpdHRlcmJvdHxhcHBsZWJvdHxyZWRkaXRib3R8U2xhY2tib3R8RGlzY29yZGJvdHxXaGF0c0FwcHxTa3lwZVVyaVByZXZpZXd8aWFfYXJjaGl2ZXIvaS50ZXN0KGlucHV0KTtcbn1cbmZ1bmN0aW9uIHVzZXJBZ2VudEZyb21TdHJpbmcoaW5wdXQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi4oMCwgX3VhcGFyc2VyanMuZGVmYXVsdCkoaW5wdXQpLFxuICAgICAgICBpc0JvdDogaW5wdXQgPT09IHVuZGVmaW5lZCA/IGZhbHNlIDogaXNCb3QoaW5wdXQpXG4gICAgfTtcbn1cbmZ1bmN0aW9uIHVzZXJBZ2VudCh7IGhlYWRlcnMgfSkge1xuICAgIHJldHVybiB1c2VyQWdlbnRGcm9tU3RyaW5nKGhlYWRlcnMuZ2V0KFwidXNlci1hZ2VudFwiKSB8fCB1bmRlZmluZWQpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2VyLWFnZW50LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImlzQm90IiwidXNlckFnZW50RnJvbVN0cmluZyIsInVzZXJBZ2VudCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl91YXBhcnNlcmpzIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaW5wdXQiLCJ0ZXN0IiwidW5kZWZpbmVkIiwiaGVhZGVycyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/user-agent.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/utils.js": /*!****************************************************!*\ !*** ./node_modules/next/dist/server/web/utils.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n fromNodeOutgoingHttpHeaders: function() {\n return fromNodeOutgoingHttpHeaders;\n },\n splitCookiesString: function() {\n return splitCookiesString;\n },\n toNodeOutgoingHttpHeaders: function() {\n return toNodeOutgoingHttpHeaders;\n },\n validateURL: function() {\n return validateURL;\n }\n});\nfunction fromNodeOutgoingHttpHeaders(nodeHeaders) {\n const headers = new Headers();\n for (let [key, value] of Object.entries(nodeHeaders)){\n const values = Array.isArray(value) ? value : [\n value\n ];\n for (let v of values){\n if (typeof v === \"undefined\") continue;\n if (typeof v === \"number\") {\n v = v.toString();\n }\n headers.append(key, v);\n }\n }\n return headers;\n}\nfunction splitCookiesString(cookiesString) {\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n function skipWhitespace() {\n while(pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))){\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n while(pos < cookiesString.length){\n start = pos;\n cookiesSeparatorFound = false;\n while(skipWhitespace()){\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n // ',' is a cookie separator if we have later first '=', not ';' or ','\n lastComma = pos;\n pos += 1;\n skipWhitespace();\n nextStart = pos;\n while(pos < cookiesString.length && notSpecialChar()){\n pos += 1;\n }\n // currently special character\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n // we found cookies separator\n cookiesSeparatorFound = true;\n // pos is inside the next cookie, so back up and return it.\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n // in param ',' or param separator ';',\n // we continue from that comma\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n return cookiesStrings;\n}\nfunction toNodeOutgoingHttpHeaders(headers) {\n const nodeHeaders = {};\n const cookies = [];\n if (headers) {\n for (const [key, value] of headers.entries()){\n if (key.toLowerCase() === \"set-cookie\") {\n // We may have gotten a comma joined string of cookies, or multiple\n // set-cookie headers. We need to merge them into one header array\n // to represent all the cookies.\n cookies.push(...splitCookiesString(value));\n nodeHeaders[key] = cookies.length === 1 ? cookies[0] : cookies;\n } else {\n nodeHeaders[key] = value;\n }\n }\n }\n return nodeHeaders;\n}\nfunction validateURL(url) {\n try {\n return String(new URL(String(url)));\n } catch (error) {\n throw new Error(`URL is malformed \"${String(url)}\". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`, {\n cause: error\n });\n }\n} //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FLTjtBQUNBLFNBQVNLLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlYLE9BQU9DLGNBQWMsQ0FBQ1MsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRUCxTQUFTO0lBQ2JHLDZCQUE2QjtRQUN6QixPQUFPQTtJQUNYO0lBQ0FDLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLDJCQUEyQjtRQUN2QixPQUFPQTtJQUNYO0lBQ0FDLGFBQWE7UUFDVCxPQUFPQTtJQUNYO0FBQ0o7QUFDQSxTQUFTSCw0QkFBNEJVLFdBQVc7SUFDNUMsTUFBTUMsVUFBVSxJQUFJQztJQUNwQixLQUFLLElBQUksQ0FBQ0MsS0FBS2YsTUFBTSxJQUFJSCxPQUFPbUIsT0FBTyxDQUFDSixhQUFhO1FBQ2pELE1BQU1LLFNBQVNDLE1BQU1DLE9BQU8sQ0FBQ25CLFNBQVNBLFFBQVE7WUFDMUNBO1NBQ0g7UUFDRCxLQUFLLElBQUlvQixLQUFLSCxPQUFPO1lBQ2pCLElBQUksT0FBT0csTUFBTSxhQUFhO1lBQzlCLElBQUksT0FBT0EsTUFBTSxVQUFVO2dCQUN2QkEsSUFBSUEsRUFBRUMsUUFBUTtZQUNsQjtZQUNBUixRQUFRUyxNQUFNLENBQUNQLEtBQUtLO1FBQ3hCO0lBQ0o7SUFDQSxPQUFPUDtBQUNYO0FBQ0EsU0FBU1YsbUJBQW1Cb0IsYUFBYTtJQUNyQyxJQUFJQyxpQkFBaUIsRUFBRTtJQUN2QixJQUFJQyxNQUFNO0lBQ1YsSUFBSUM7SUFDSixJQUFJQztJQUNKLElBQUlDO0lBQ0osSUFBSUM7SUFDSixJQUFJQztJQUNKLFNBQVNDO1FBQ0wsTUFBTU4sTUFBTUYsY0FBY1MsTUFBTSxJQUFJLEtBQUtDLElBQUksQ0FBQ1YsY0FBY1csTUFBTSxDQUFDVCxNQUFNO1lBQ3JFQSxPQUFPO1FBQ1g7UUFDQSxPQUFPQSxNQUFNRixjQUFjUyxNQUFNO0lBQ3JDO0lBQ0EsU0FBU0c7UUFDTFIsS0FBS0osY0FBY1csTUFBTSxDQUFDVDtRQUMxQixPQUFPRSxPQUFPLE9BQU9BLE9BQU8sT0FBT0EsT0FBTztJQUM5QztJQUNBLE1BQU1GLE1BQU1GLGNBQWNTLE1BQU0sQ0FBQztRQUM3Qk4sUUFBUUQ7UUFDUkssd0JBQXdCO1FBQ3hCLE1BQU1DLGlCQUFpQjtZQUNuQkosS0FBS0osY0FBY1csTUFBTSxDQUFDVDtZQUMxQixJQUFJRSxPQUFPLEtBQUs7Z0JBQ1osdUVBQXVFO2dCQUN2RUMsWUFBWUg7Z0JBQ1pBLE9BQU87Z0JBQ1BNO2dCQUNBRixZQUFZSjtnQkFDWixNQUFNQSxNQUFNRixjQUFjUyxNQUFNLElBQUlHLGlCQUFpQjtvQkFDakRWLE9BQU87Z0JBQ1g7Z0JBQ0EsOEJBQThCO2dCQUM5QixJQUFJQSxNQUFNRixjQUFjUyxNQUFNLElBQUlULGNBQWNXLE1BQU0sQ0FBQ1QsU0FBUyxLQUFLO29CQUNqRSw2QkFBNkI7b0JBQzdCSyx3QkFBd0I7b0JBQ3hCLDJEQUEyRDtvQkFDM0RMLE1BQU1JO29CQUNOTCxlQUFlWSxJQUFJLENBQUNiLGNBQWNjLFNBQVMsQ0FBQ1gsT0FBT0U7b0JBQ25ERixRQUFRRDtnQkFDWixPQUFPO29CQUNILHVDQUF1QztvQkFDdkMsOEJBQThCO29CQUM5QkEsTUFBTUcsWUFBWTtnQkFDdEI7WUFDSixPQUFPO2dCQUNISCxPQUFPO1lBQ1g7UUFDSjtRQUNBLElBQUksQ0FBQ0sseUJBQXlCTCxPQUFPRixjQUFjUyxNQUFNLEVBQUU7WUFDdkRSLGVBQWVZLElBQUksQ0FBQ2IsY0FBY2MsU0FBUyxDQUFDWCxPQUFPSCxjQUFjUyxNQUFNO1FBQzNFO0lBQ0o7SUFDQSxPQUFPUjtBQUNYO0FBQ0EsU0FBU3BCLDBCQUEwQlMsT0FBTztJQUN0QyxNQUFNRCxjQUFjLENBQUM7SUFDckIsTUFBTTBCLFVBQVUsRUFBRTtJQUNsQixJQUFJekIsU0FBUztRQUNULEtBQUssTUFBTSxDQUFDRSxLQUFLZixNQUFNLElBQUlhLFFBQVFHLE9BQU8sR0FBRztZQUN6QyxJQUFJRCxJQUFJd0IsV0FBVyxPQUFPLGNBQWM7Z0JBQ3BDLG1FQUFtRTtnQkFDbkUsa0VBQWtFO2dCQUNsRSxnQ0FBZ0M7Z0JBQ2hDRCxRQUFRRixJQUFJLElBQUlqQyxtQkFBbUJIO2dCQUNuQ1ksV0FBVyxDQUFDRyxJQUFJLEdBQUd1QixRQUFRTixNQUFNLEtBQUssSUFBSU0sT0FBTyxDQUFDLEVBQUUsR0FBR0E7WUFDM0QsT0FBTztnQkFDSDFCLFdBQVcsQ0FBQ0csSUFBSSxHQUFHZjtZQUN2QjtRQUNKO0lBQ0o7SUFDQSxPQUFPWTtBQUNYO0FBQ0EsU0FBU1AsWUFBWW1DLEdBQUc7SUFDcEIsSUFBSTtRQUNBLE9BQU9DLE9BQU8sSUFBSUMsSUFBSUQsT0FBT0Q7SUFDakMsRUFBRSxPQUFPRyxPQUFPO1FBQ1osTUFBTSxJQUFJQyxNQUFNLENBQUMsa0JBQWtCLEVBQUVILE9BQU9ELEtBQUssNEZBQTRGLENBQUMsRUFBRTtZQUM1SUssT0FBT0Y7UUFDWDtJQUNKO0FBQ0osRUFFQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvdXRpbHMuanM/MmE3NiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGZyb21Ob2RlT3V0Z29pbmdIdHRwSGVhZGVyczogbnVsbCxcbiAgICBzcGxpdENvb2tpZXNTdHJpbmc6IG51bGwsXG4gICAgdG9Ob2RlT3V0Z29pbmdIdHRwSGVhZGVyczogbnVsbCxcbiAgICB2YWxpZGF0ZVVSTDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBmcm9tTm9kZU91dGdvaW5nSHR0cEhlYWRlcnM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZnJvbU5vZGVPdXRnb2luZ0h0dHBIZWFkZXJzO1xuICAgIH0sXG4gICAgc3BsaXRDb29raWVzU3RyaW5nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHNwbGl0Q29va2llc1N0cmluZztcbiAgICB9LFxuICAgIHRvTm9kZU91dGdvaW5nSHR0cEhlYWRlcnM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdG9Ob2RlT3V0Z29pbmdIdHRwSGVhZGVycztcbiAgICB9LFxuICAgIHZhbGlkYXRlVVJMOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHZhbGlkYXRlVVJMO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gZnJvbU5vZGVPdXRnb2luZ0h0dHBIZWFkZXJzKG5vZGVIZWFkZXJzKSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIZWFkZXJzKCk7XG4gICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG5vZGVIZWFkZXJzKSl7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICBdO1xuICAgICAgICBmb3IgKGxldCB2IG9mIHZhbHVlcyl7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHYgPT09IFwidW5kZWZpbmVkXCIpIGNvbnRpbnVlO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2ID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICAgICAgdiA9IHYudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGhlYWRlcnMuYXBwZW5kKGtleSwgdik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGhlYWRlcnM7XG59XG5mdW5jdGlvbiBzcGxpdENvb2tpZXNTdHJpbmcoY29va2llc1N0cmluZykge1xuICAgIHZhciBjb29raWVzU3RyaW5ncyA9IFtdO1xuICAgIHZhciBwb3MgPSAwO1xuICAgIHZhciBzdGFydDtcbiAgICB2YXIgY2g7XG4gICAgdmFyIGxhc3RDb21tYTtcbiAgICB2YXIgbmV4dFN0YXJ0O1xuICAgIHZhciBjb29raWVzU2VwYXJhdG9yRm91bmQ7XG4gICAgZnVuY3Rpb24gc2tpcFdoaXRlc3BhY2UoKSB7XG4gICAgICAgIHdoaWxlKHBvcyA8IGNvb2tpZXNTdHJpbmcubGVuZ3RoICYmIC9cXHMvLnRlc3QoY29va2llc1N0cmluZy5jaGFyQXQocG9zKSkpe1xuICAgICAgICAgICAgcG9zICs9IDE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBvcyA8IGNvb2tpZXNTdHJpbmcubGVuZ3RoO1xuICAgIH1cbiAgICBmdW5jdGlvbiBub3RTcGVjaWFsQ2hhcigpIHtcbiAgICAgICAgY2ggPSBjb29raWVzU3RyaW5nLmNoYXJBdChwb3MpO1xuICAgICAgICByZXR1cm4gY2ggIT09IFwiPVwiICYmIGNoICE9PSBcIjtcIiAmJiBjaCAhPT0gXCIsXCI7XG4gICAgfVxuICAgIHdoaWxlKHBvcyA8IGNvb2tpZXNTdHJpbmcubGVuZ3RoKXtcbiAgICAgICAgc3RhcnQgPSBwb3M7XG4gICAgICAgIGNvb2tpZXNTZXBhcmF0b3JGb3VuZCA9IGZhbHNlO1xuICAgICAgICB3aGlsZShza2lwV2hpdGVzcGFjZSgpKXtcbiAgICAgICAgICAgIGNoID0gY29va2llc1N0cmluZy5jaGFyQXQocG9zKTtcbiAgICAgICAgICAgIGlmIChjaCA9PT0gXCIsXCIpIHtcbiAgICAgICAgICAgICAgICAvLyAnLCcgaXMgYSBjb29raWUgc2VwYXJhdG9yIGlmIHdlIGhhdmUgbGF0ZXIgZmlyc3QgJz0nLCBub3QgJzsnIG9yICcsJ1xuICAgICAgICAgICAgICAgIGxhc3RDb21tYSA9IHBvcztcbiAgICAgICAgICAgICAgICBwb3MgKz0gMTtcbiAgICAgICAgICAgICAgICBza2lwV2hpdGVzcGFjZSgpO1xuICAgICAgICAgICAgICAgIG5leHRTdGFydCA9IHBvcztcbiAgICAgICAgICAgICAgICB3aGlsZShwb3MgPCBjb29raWVzU3RyaW5nLmxlbmd0aCAmJiBub3RTcGVjaWFsQ2hhcigpKXtcbiAgICAgICAgICAgICAgICAgICAgcG9zICs9IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGN1cnJlbnRseSBzcGVjaWFsIGNoYXJhY3RlclxuICAgICAgICAgICAgICAgIGlmIChwb3MgPCBjb29raWVzU3RyaW5nLmxlbmd0aCAmJiBjb29raWVzU3RyaW5nLmNoYXJBdChwb3MpID09PSBcIj1cIikge1xuICAgICAgICAgICAgICAgICAgICAvLyB3ZSBmb3VuZCBjb29raWVzIHNlcGFyYXRvclxuICAgICAgICAgICAgICAgICAgICBjb29raWVzU2VwYXJhdG9yRm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAvLyBwb3MgaXMgaW5zaWRlIHRoZSBuZXh0IGNvb2tpZSwgc28gYmFjayB1cCBhbmQgcmV0dXJuIGl0LlxuICAgICAgICAgICAgICAgICAgICBwb3MgPSBuZXh0U3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvb2tpZXNTdHJpbmdzLnB1c2goY29va2llc1N0cmluZy5zdWJzdHJpbmcoc3RhcnQsIGxhc3RDb21tYSkpO1xuICAgICAgICAgICAgICAgICAgICBzdGFydCA9IHBvcztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBpbiBwYXJhbSAnLCcgb3IgcGFyYW0gc2VwYXJhdG9yICc7JyxcbiAgICAgICAgICAgICAgICAgICAgLy8gd2UgY29udGludWUgZnJvbSB0aGF0IGNvbW1hXG4gICAgICAgICAgICAgICAgICAgIHBvcyA9IGxhc3RDb21tYSArIDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwb3MgKz0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNvb2tpZXNTZXBhcmF0b3JGb3VuZCB8fCBwb3MgPj0gY29va2llc1N0cmluZy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvb2tpZXNTdHJpbmdzLnB1c2goY29va2llc1N0cmluZy5zdWJzdHJpbmcoc3RhcnQsIGNvb2tpZXNTdHJpbmcubGVuZ3RoKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvb2tpZXNTdHJpbmdzO1xufVxuZnVuY3Rpb24gdG9Ob2RlT3V0Z29pbmdIdHRwSGVhZGVycyhoZWFkZXJzKSB7XG4gICAgY29uc3Qgbm9kZUhlYWRlcnMgPSB7fTtcbiAgICBjb25zdCBjb29raWVzID0gW107XG4gICAgaWYgKGhlYWRlcnMpIHtcbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgaGVhZGVycy5lbnRyaWVzKCkpe1xuICAgICAgICAgICAgaWYgKGtleS50b0xvd2VyQ2FzZSgpID09PSBcInNldC1jb29raWVcIikge1xuICAgICAgICAgICAgICAgIC8vIFdlIG1heSBoYXZlIGdvdHRlbiBhIGNvbW1hIGpvaW5lZCBzdHJpbmcgb2YgY29va2llcywgb3IgbXVsdGlwbGVcbiAgICAgICAgICAgICAgICAvLyBzZXQtY29va2llIGhlYWRlcnMuIFdlIG5lZWQgdG8gbWVyZ2UgdGhlbSBpbnRvIG9uZSBoZWFkZXIgYXJyYXlcbiAgICAgICAgICAgICAgICAvLyB0byByZXByZXNlbnQgYWxsIHRoZSBjb29raWVzLlxuICAgICAgICAgICAgICAgIGNvb2tpZXMucHVzaCguLi5zcGxpdENvb2tpZXNTdHJpbmcodmFsdWUpKTtcbiAgICAgICAgICAgICAgICBub2RlSGVhZGVyc1trZXldID0gY29va2llcy5sZW5ndGggPT09IDEgPyBjb29raWVzWzBdIDogY29va2llcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbm9kZUhlYWRlcnNba2V5XSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBub2RlSGVhZGVycztcbn1cbmZ1bmN0aW9uIHZhbGlkYXRlVVJMKHVybCkge1xuICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcobmV3IFVSTChTdHJpbmcodXJsKSkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVVJMIGlzIG1hbGZvcm1lZCBcIiR7U3RyaW5nKHVybCl9XCIuIFBsZWFzZSB1c2Ugb25seSBhYnNvbHV0ZSBVUkxzIC0gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbWlkZGxld2FyZS1yZWxhdGl2ZS11cmxzYCwge1xuICAgICAgICAgICAgY2F1c2U6IGVycm9yXG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXRpbHMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiZnJvbU5vZGVPdXRnb2luZ0h0dHBIZWFkZXJzIiwic3BsaXRDb29raWVzU3RyaW5nIiwidG9Ob2RlT3V0Z29pbmdIdHRwSGVhZGVycyIsInZhbGlkYXRlVVJMIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwibm9kZUhlYWRlcnMiLCJoZWFkZXJzIiwiSGVhZGVycyIsImtleSIsImVudHJpZXMiLCJ2YWx1ZXMiLCJBcnJheSIsImlzQXJyYXkiLCJ2IiwidG9TdHJpbmciLCJhcHBlbmQiLCJjb29raWVzU3RyaW5nIiwiY29va2llc1N0cmluZ3MiLCJwb3MiLCJzdGFydCIsImNoIiwibGFzdENvbW1hIiwibmV4dFN0YXJ0IiwiY29va2llc1NlcGFyYXRvckZvdW5kIiwic2tpcFdoaXRlc3BhY2UiLCJsZW5ndGgiLCJ0ZXN0IiwiY2hhckF0Iiwibm90U3BlY2lhbENoYXIiLCJwdXNoIiwic3Vic3RyaW5nIiwiY29va2llcyIsInRvTG93ZXJDYXNlIiwidXJsIiwiU3RyaW5nIiwiVVJMIiwiZXJyb3IiLCJFcnJvciIsImNhdXNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/utils.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/get-hostname.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/shared/lib/get-hostname.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getHostname\", ({\n enumerable: true,\n get: function() {\n return getHostname;\n }\n}));\nfunction getHostname(parsed, headers) {\n // Get the hostname from the headers if it exists, otherwise use the parsed\n // hostname.\n let hostname;\n if ((headers == null ? void 0 : headers.host) && !Array.isArray(headers.host)) {\n hostname = headers.host.toString().split(\":\", 1)[0];\n } else if (parsed.hostname) {\n hostname = parsed.hostname;\n } else return;\n return hostname.toLowerCase();\n} //# sourceMappingURL=get-hostname.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZ2V0LWhvc3RuYW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwrQ0FBOEM7SUFDMUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSxZQUFZQyxNQUFNLEVBQUVDLE9BQU87SUFDaEMsMkVBQTJFO0lBQzNFLFlBQVk7SUFDWixJQUFJQztJQUNKLElBQUksQ0FBQ0QsV0FBVyxPQUFPLEtBQUssSUFBSUEsUUFBUUUsSUFBSSxLQUFLLENBQUNDLE1BQU1DLE9BQU8sQ0FBQ0osUUFBUUUsSUFBSSxHQUFHO1FBQzNFRCxXQUFXRCxRQUFRRSxJQUFJLENBQUNHLFFBQVEsR0FBR0MsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUU7SUFDdkQsT0FBTyxJQUFJUCxPQUFPRSxRQUFRLEVBQUU7UUFDeEJBLFdBQVdGLE9BQU9FLFFBQVE7SUFDOUIsT0FBTztJQUNQLE9BQU9BLFNBQVNNLFdBQVc7QUFDL0IsRUFFQSx3Q0FBd0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZ2V0LWhvc3RuYW1lLmpzPzRjZjkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRIb3N0bmFtZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0SG9zdG5hbWU7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBnZXRIb3N0bmFtZShwYXJzZWQsIGhlYWRlcnMpIHtcbiAgICAvLyBHZXQgdGhlIGhvc3RuYW1lIGZyb20gdGhlIGhlYWRlcnMgaWYgaXQgZXhpc3RzLCBvdGhlcndpc2UgdXNlIHRoZSBwYXJzZWRcbiAgICAvLyBob3N0bmFtZS5cbiAgICBsZXQgaG9zdG5hbWU7XG4gICAgaWYgKChoZWFkZXJzID09IG51bGwgPyB2b2lkIDAgOiBoZWFkZXJzLmhvc3QpICYmICFBcnJheS5pc0FycmF5KGhlYWRlcnMuaG9zdCkpIHtcbiAgICAgICAgaG9zdG5hbWUgPSBoZWFkZXJzLmhvc3QudG9TdHJpbmcoKS5zcGxpdChcIjpcIiwgMSlbMF07XG4gICAgfSBlbHNlIGlmIChwYXJzZWQuaG9zdG5hbWUpIHtcbiAgICAgICAgaG9zdG5hbWUgPSBwYXJzZWQuaG9zdG5hbWU7XG4gICAgfSBlbHNlIHJldHVybjtcbiAgICByZXR1cm4gaG9zdG5hbWUudG9Mb3dlckNhc2UoKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0LWhvc3RuYW1lLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJnZXRIb3N0bmFtZSIsInBhcnNlZCIsImhlYWRlcnMiLCJob3N0bmFtZSIsImhvc3QiLCJBcnJheSIsImlzQXJyYXkiLCJ0b1N0cmluZyIsInNwbGl0IiwidG9Mb3dlckNhc2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/get-hostname.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"detectDomainLocale\", ({\n enumerable: true,\n get: function() {\n return detectDomainLocale;\n }\n}));\nfunction detectDomainLocale(domainItems, hostname, detectedLocale) {\n if (!domainItems) return;\n if (detectedLocale) {\n detectedLocale = detectedLocale.toLowerCase();\n }\n for (const item of domainItems){\n var _item_domain, _item_locales;\n // remove port if present\n const domainHostname = (_item_domain = item.domain) == null ? void 0 : _item_domain.split(\":\", 1)[0].toLowerCase();\n if (hostname === domainHostname || detectedLocale === item.defaultLocale.toLowerCase() || ((_item_locales = item.locales) == null ? void 0 : _item_locales.some((locale)=>locale.toLowerCase() === detectedLocale))) {\n return item;\n }\n }\n} //# sourceMappingURL=detect-domain-locale.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaTE4bi9kZXRlY3QtZG9tYWluLWxvY2FsZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsc0RBQXFEO0lBQ2pESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0EsbUJBQW1CQyxXQUFXLEVBQUVDLFFBQVEsRUFBRUMsY0FBYztJQUM3RCxJQUFJLENBQUNGLGFBQWE7SUFDbEIsSUFBSUUsZ0JBQWdCO1FBQ2hCQSxpQkFBaUJBLGVBQWVDLFdBQVc7SUFDL0M7SUFDQSxLQUFLLE1BQU1DLFFBQVFKLFlBQVk7UUFDM0IsSUFBSUssY0FBY0M7UUFDbEIseUJBQXlCO1FBQ3pCLE1BQU1DLGlCQUFpQixDQUFDRixlQUFlRCxLQUFLSSxNQUFNLEtBQUssT0FBTyxLQUFLLElBQUlILGFBQWFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUNOLFdBQVc7UUFDaEgsSUFBSUYsYUFBYU0sa0JBQWtCTCxtQkFBbUJFLEtBQUtNLGFBQWEsQ0FBQ1AsV0FBVyxNQUFPLEVBQUNHLGdCQUFnQkYsS0FBS08sT0FBTyxLQUFLLE9BQU8sS0FBSyxJQUFJTCxjQUFjTSxJQUFJLENBQUMsQ0FBQ0MsU0FBU0EsT0FBT1YsV0FBVyxPQUFPRCxlQUFjLEdBQUk7WUFDak4sT0FBT0U7UUFDWDtJQUNKO0FBQ0osRUFFQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaTE4bi9kZXRlY3QtZG9tYWluLWxvY2FsZS5qcz83OGQxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGV0ZWN0RG9tYWluTG9jYWxlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkZXRlY3REb21haW5Mb2NhbGU7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBkZXRlY3REb21haW5Mb2NhbGUoZG9tYWluSXRlbXMsIGhvc3RuYW1lLCBkZXRlY3RlZExvY2FsZSkge1xuICAgIGlmICghZG9tYWluSXRlbXMpIHJldHVybjtcbiAgICBpZiAoZGV0ZWN0ZWRMb2NhbGUpIHtcbiAgICAgICAgZGV0ZWN0ZWRMb2NhbGUgPSBkZXRlY3RlZExvY2FsZS50b0xvd2VyQ2FzZSgpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgZG9tYWluSXRlbXMpe1xuICAgICAgICB2YXIgX2l0ZW1fZG9tYWluLCBfaXRlbV9sb2NhbGVzO1xuICAgICAgICAvLyByZW1vdmUgcG9ydCBpZiBwcmVzZW50XG4gICAgICAgIGNvbnN0IGRvbWFpbkhvc3RuYW1lID0gKF9pdGVtX2RvbWFpbiA9IGl0ZW0uZG9tYWluKSA9PSBudWxsID8gdm9pZCAwIDogX2l0ZW1fZG9tYWluLnNwbGl0KFwiOlwiLCAxKVswXS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAoaG9zdG5hbWUgPT09IGRvbWFpbkhvc3RuYW1lIHx8IGRldGVjdGVkTG9jYWxlID09PSBpdGVtLmRlZmF1bHRMb2NhbGUudG9Mb3dlckNhc2UoKSB8fCAoKF9pdGVtX2xvY2FsZXMgPSBpdGVtLmxvY2FsZXMpID09IG51bGwgPyB2b2lkIDAgOiBfaXRlbV9sb2NhbGVzLnNvbWUoKGxvY2FsZSk9PmxvY2FsZS50b0xvd2VyQ2FzZSgpID09PSBkZXRlY3RlZExvY2FsZSkpKSB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGV0ZWN0LWRvbWFpbi1sb2NhbGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImRldGVjdERvbWFpbkxvY2FsZSIsImRvbWFpbkl0ZW1zIiwiaG9zdG5hbWUiLCJkZXRlY3RlZExvY2FsZSIsInRvTG93ZXJDYXNlIiwiaXRlbSIsIl9pdGVtX2RvbWFpbiIsIl9pdGVtX2xvY2FsZXMiLCJkb21haW5Ib3N0bmFtZSIsImRvbWFpbiIsInNwbGl0IiwiZGVmYXVsdExvY2FsZSIsImxvY2FsZXMiLCJzb21lIiwibG9jYWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizeLocalePath\", ({\n enumerable: true,\n get: function() {\n return normalizeLocalePath;\n }\n}));\nfunction normalizeLocalePath(pathname, locales) {\n let detectedLocale;\n // first item will be empty string from splitting at first char\n const pathnameParts = pathname.split(\"/\");\n (locales || []).some((locale)=>{\n if (pathnameParts[1] && pathnameParts[1].toLowerCase() === locale.toLowerCase()) {\n detectedLocale = locale;\n pathnameParts.splice(1, 1);\n pathname = pathnameParts.join(\"/\") || \"/\";\n return true;\n }\n return false;\n });\n return {\n pathname,\n detectedLocale\n };\n} //# sourceMappingURL=normalize-locale-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaTE4bi9ub3JtYWxpemUtbG9jYWxlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHVEQUFzRDtJQUNsREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLG9CQUFvQkMsUUFBUSxFQUFFQyxPQUFPO0lBQzFDLElBQUlDO0lBQ0osK0RBQStEO0lBQy9ELE1BQU1DLGdCQUFnQkgsU0FBU0ksS0FBSyxDQUFDO0lBQ3BDSCxDQUFBQSxXQUFXLEVBQUUsRUFBRUksSUFBSSxDQUFDLENBQUNDO1FBQ2xCLElBQUlILGFBQWEsQ0FBQyxFQUFFLElBQUlBLGFBQWEsQ0FBQyxFQUFFLENBQUNJLFdBQVcsT0FBT0QsT0FBT0MsV0FBVyxJQUFJO1lBQzdFTCxpQkFBaUJJO1lBQ2pCSCxjQUFjSyxNQUFNLENBQUMsR0FBRztZQUN4QlIsV0FBV0csY0FBY00sSUFBSSxDQUFDLFFBQVE7WUFDdEMsT0FBTztRQUNYO1FBQ0EsT0FBTztJQUNYO0lBQ0EsT0FBTztRQUNIVDtRQUNBRTtJQUNKO0FBQ0osRUFFQSxpREFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaTE4bi9ub3JtYWxpemUtbG9jYWxlLXBhdGguanM/MDQzYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm5vcm1hbGl6ZUxvY2FsZVBhdGhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZUxvY2FsZVBhdGg7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBub3JtYWxpemVMb2NhbGVQYXRoKHBhdGhuYW1lLCBsb2NhbGVzKSB7XG4gICAgbGV0IGRldGVjdGVkTG9jYWxlO1xuICAgIC8vIGZpcnN0IGl0ZW0gd2lsbCBiZSBlbXB0eSBzdHJpbmcgZnJvbSBzcGxpdHRpbmcgYXQgZmlyc3QgY2hhclxuICAgIGNvbnN0IHBhdGhuYW1lUGFydHMgPSBwYXRobmFtZS5zcGxpdChcIi9cIik7XG4gICAgKGxvY2FsZXMgfHwgW10pLnNvbWUoKGxvY2FsZSk9PntcbiAgICAgICAgaWYgKHBhdGhuYW1lUGFydHNbMV0gJiYgcGF0aG5hbWVQYXJ0c1sxXS50b0xvd2VyQ2FzZSgpID09PSBsb2NhbGUudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICAgICAgZGV0ZWN0ZWRMb2NhbGUgPSBsb2NhbGU7XG4gICAgICAgICAgICBwYXRobmFtZVBhcnRzLnNwbGljZSgxLCAxKTtcbiAgICAgICAgICAgIHBhdGhuYW1lID0gcGF0aG5hbWVQYXJ0cy5qb2luKFwiL1wiKSB8fCBcIi9cIjtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBwYXRobmFtZSxcbiAgICAgICAgZGV0ZWN0ZWRMb2NhbGVcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ub3JtYWxpemUtbG9jYWxlLXBhdGguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIm5vcm1hbGl6ZUxvY2FsZVBhdGgiLCJwYXRobmFtZSIsImxvY2FsZXMiLCJkZXRlY3RlZExvY2FsZSIsInBhdGhuYW1lUGFydHMiLCJzcGxpdCIsInNvbWUiLCJsb2NhbGUiLCJ0b0xvd2VyQ2FzZSIsInNwbGljZSIsImpvaW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js ***! \**************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("// This has to be a shared module which is shared between client component error boundary and dynamic component\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n BailoutToCSRError: function() {\n return BailoutToCSRError;\n },\n isBailoutToCSRError: function() {\n return isBailoutToCSRError;\n }\n});\nconst BAILOUT_TO_CSR = \"BAILOUT_TO_CLIENT_SIDE_RENDERING\";\nclass BailoutToCSRError extends Error {\n constructor(reason){\n super(\"Bail out to client-side rendering: \" + reason);\n this.reason = reason;\n this.digest = BAILOUT_TO_CSR;\n }\n}\nfunction isBailoutToCSRError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err)) {\n return false;\n }\n return err.digest === BAILOUT_TO_CSR;\n} //# sourceMappingURL=bailout-to-csr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2JhaWxvdXQtdG8tY3NyLmpzIiwibWFwcGluZ3MiOiJBQUFBLCtHQUErRztBQUNsRztBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8saUJBQWlCO0FBQ3ZCLE1BQU1SLDBCQUEwQlM7SUFDNUJDLFlBQVlDLE1BQU0sQ0FBQztRQUNmLEtBQUssQ0FBQyx3Q0FBd0NBO1FBQzlDLElBQUksQ0FBQ0EsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsTUFBTSxHQUFHSjtJQUNsQjtBQUNKO0FBQ0EsU0FBU1Asb0JBQW9CWSxHQUFHO0lBQzVCLElBQUksT0FBT0EsUUFBUSxZQUFZQSxRQUFRLFFBQVEsQ0FBRSxhQUFZQSxHQUFFLEdBQUk7UUFDL0QsT0FBTztJQUNYO0lBQ0EsT0FBT0EsSUFBSUQsTUFBTSxLQUFLSjtBQUMxQixFQUVBLDBDQUEwQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9sYXp5LWR5bmFtaWMvYmFpbG91dC10by1jc3IuanM/MDA5OCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGhhcyB0byBiZSBhIHNoYXJlZCBtb2R1bGUgd2hpY2ggaXMgc2hhcmVkIGJldHdlZW4gY2xpZW50IGNvbXBvbmVudCBlcnJvciBib3VuZGFyeSBhbmQgZHluYW1pYyBjb21wb25lbnRcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgQmFpbG91dFRvQ1NSRXJyb3I6IG51bGwsXG4gICAgaXNCYWlsb3V0VG9DU1JFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBCYWlsb3V0VG9DU1JFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBCYWlsb3V0VG9DU1JFcnJvcjtcbiAgICB9LFxuICAgIGlzQmFpbG91dFRvQ1NSRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNCYWlsb3V0VG9DU1JFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IEJBSUxPVVRfVE9fQ1NSID0gXCJCQUlMT1VUX1RPX0NMSUVOVF9TSURFX1JFTkRFUklOR1wiO1xuY2xhc3MgQmFpbG91dFRvQ1NSRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IocmVhc29uKXtcbiAgICAgICAgc3VwZXIoXCJCYWlsIG91dCB0byBjbGllbnQtc2lkZSByZW5kZXJpbmc6IFwiICsgcmVhc29uKTtcbiAgICAgICAgdGhpcy5yZWFzb24gPSByZWFzb247XG4gICAgICAgIHRoaXMuZGlnZXN0ID0gQkFJTE9VVF9UT19DU1I7XG4gICAgfVxufVxuZnVuY3Rpb24gaXNCYWlsb3V0VG9DU1JFcnJvcihlcnIpIHtcbiAgICBpZiAodHlwZW9mIGVyciAhPT0gXCJvYmplY3RcIiB8fCBlcnIgPT09IG51bGwgfHwgIShcImRpZ2VzdFwiIGluIGVycikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZXJyLmRpZ2VzdCA9PT0gQkFJTE9VVF9UT19DU1I7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJhaWxvdXQtdG8tY3NyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIkJhaWxvdXRUb0NTUkVycm9yIiwiaXNCYWlsb3V0VG9DU1JFcnJvciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIkJBSUxPVVRfVE9fQ1NSIiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsInJlYXNvbiIsImRpZ2VzdCIsImVyciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ensureLeadingSlash\", ({\n enumerable: true,\n get: function() {\n return ensureLeadingSlash;\n }\n}));\nfunction ensureLeadingSlash(path) {\n return path.startsWith(\"/\") ? path : \"/\" + path;\n} //# sourceMappingURL=ensure-leading-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9wYWdlLXBhdGgvZW5zdXJlLWxlYWRpbmctc2xhc2guanMiLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQWdCO0FBQ2pCQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsc0RBQXFEO0lBQ2pESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0EsbUJBQW1CQyxJQUFJO0lBQzVCLE9BQU9BLEtBQUtDLFVBQVUsQ0FBQyxPQUFPRCxPQUFPLE1BQU1BO0FBQy9DLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3BhZ2UtcGF0aC9lbnN1cmUtbGVhZGluZy1zbGFzaC5qcz9jZjMyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRm9yIGEgZ2l2ZW4gcGFnZSBwYXRoLCB0aGlzIGZ1bmN0aW9uIGVuc3VyZXMgdGhhdCB0aGVyZSBpcyBhIGxlYWRpbmcgc2xhc2guXG4gKiBJZiB0aGVyZSBpcyBub3QgYSBsZWFkaW5nIHNsYXNoLCBvbmUgaXMgYWRkZWQsIG90aGVyd2lzZSBpdCBpcyBub29wLlxuICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZW5zdXJlTGVhZGluZ1NsYXNoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBlbnN1cmVMZWFkaW5nU2xhc2g7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBlbnN1cmVMZWFkaW5nU2xhc2gocGF0aCkge1xuICAgIHJldHVybiBwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpID8gcGF0aCA6IFwiL1wiICsgcGF0aDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZW5zdXJlLWxlYWRpbmctc2xhc2guanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImVuc3VyZUxlYWRpbmdTbGFzaCIsInBhdGgiLCJzdGFydHNXaXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-locale.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/add-locale.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ./add-path-prefix */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction addLocale(path, locale, defaultLocale, ignorePrefix) {\n // If no locale was given or the locale is the default locale, we don't need\n // to prefix the path.\n if (!locale || locale === defaultLocale) return path;\n const lower = path.toLowerCase();\n // If the path is an API path or the path already has the locale prefix, we\n // don't need to prefix the path.\n if (!ignorePrefix) {\n if ((0, _pathhasprefix.pathHasPrefix)(lower, \"/api\")) return path;\n if ((0, _pathhasprefix.pathHasPrefix)(lower, \"/\" + locale.toLowerCase())) return path;\n }\n // Add the locale prefix to the path.\n return (0, _addpathprefix.addPathPrefix)(path, \"/\" + locale);\n} //# sourceMappingURL=add-locale.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1sb2NhbGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDZDQUE0QztJQUN4Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGlCQUFpQkMsbUJBQU9BLENBQUMsbUhBQW1CO0FBQ2xELE1BQU1DLGlCQUFpQkQsbUJBQU9BLENBQUMsbUhBQW1CO0FBQ2xELFNBQVNGLFVBQVVJLElBQUksRUFBRUMsTUFBTSxFQUFFQyxhQUFhLEVBQUVDLFlBQVk7SUFDeEQsNEVBQTRFO0lBQzVFLHNCQUFzQjtJQUN0QixJQUFJLENBQUNGLFVBQVVBLFdBQVdDLGVBQWUsT0FBT0Y7SUFDaEQsTUFBTUksUUFBUUosS0FBS0ssV0FBVztJQUM5QiwyRUFBMkU7SUFDM0UsaUNBQWlDO0lBQ2pDLElBQUksQ0FBQ0YsY0FBYztRQUNmLElBQUksQ0FBQyxHQUFHSixlQUFlTyxhQUFhLEVBQUVGLE9BQU8sU0FBUyxPQUFPSjtRQUM3RCxJQUFJLENBQUMsR0FBR0QsZUFBZU8sYUFBYSxFQUFFRixPQUFPLE1BQU1ILE9BQU9JLFdBQVcsS0FBSyxPQUFPTDtJQUNyRjtJQUNBLHFDQUFxQztJQUNyQyxPQUFPLENBQUMsR0FBR0gsZUFBZVUsYUFBYSxFQUFFUCxNQUFNLE1BQU1DO0FBQ3pELEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtbG9jYWxlLmpzPzAyMzEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJhZGRMb2NhbGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFkZExvY2FsZTtcbiAgICB9XG59KTtcbmNvbnN0IF9hZGRwYXRocHJlZml4ID0gcmVxdWlyZShcIi4vYWRkLXBhdGgtcHJlZml4XCIpO1xuY29uc3QgX3BhdGhoYXNwcmVmaXggPSByZXF1aXJlKFwiLi9wYXRoLWhhcy1wcmVmaXhcIik7XG5mdW5jdGlvbiBhZGRMb2NhbGUocGF0aCwgbG9jYWxlLCBkZWZhdWx0TG9jYWxlLCBpZ25vcmVQcmVmaXgpIHtcbiAgICAvLyBJZiBubyBsb2NhbGUgd2FzIGdpdmVuIG9yIHRoZSBsb2NhbGUgaXMgdGhlIGRlZmF1bHQgbG9jYWxlLCB3ZSBkb24ndCBuZWVkXG4gICAgLy8gdG8gcHJlZml4IHRoZSBwYXRoLlxuICAgIGlmICghbG9jYWxlIHx8IGxvY2FsZSA9PT0gZGVmYXVsdExvY2FsZSkgcmV0dXJuIHBhdGg7XG4gICAgY29uc3QgbG93ZXIgPSBwYXRoLnRvTG93ZXJDYXNlKCk7XG4gICAgLy8gSWYgdGhlIHBhdGggaXMgYW4gQVBJIHBhdGggb3IgdGhlIHBhdGggYWxyZWFkeSBoYXMgdGhlIGxvY2FsZSBwcmVmaXgsIHdlXG4gICAgLy8gZG9uJ3QgbmVlZCB0byBwcmVmaXggdGhlIHBhdGguXG4gICAgaWYgKCFpZ25vcmVQcmVmaXgpIHtcbiAgICAgICAgaWYgKCgwLCBfcGF0aGhhc3ByZWZpeC5wYXRoSGFzUHJlZml4KShsb3dlciwgXCIvYXBpXCIpKSByZXR1cm4gcGF0aDtcbiAgICAgICAgaWYgKCgwLCBfcGF0aGhhc3ByZWZpeC5wYXRoSGFzUHJlZml4KShsb3dlciwgXCIvXCIgKyBsb2NhbGUudG9Mb3dlckNhc2UoKSkpIHJldHVybiBwYXRoO1xuICAgIH1cbiAgICAvLyBBZGQgdGhlIGxvY2FsZSBwcmVmaXggdG8gdGhlIHBhdGguXG4gICAgcmV0dXJuICgwLCBfYWRkcGF0aHByZWZpeC5hZGRQYXRoUHJlZml4KShwYXRoLCBcIi9cIiArIGxvY2FsZSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFkZC1sb2NhbGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImFkZExvY2FsZSIsIl9hZGRwYXRocHJlZml4IiwicmVxdWlyZSIsIl9wYXRoaGFzcHJlZml4IiwicGF0aCIsImxvY2FsZSIsImRlZmF1bHRMb2NhbGUiLCJpZ25vcmVQcmVmaXgiLCJsb3dlciIsInRvTG93ZXJDYXNlIiwicGF0aEhhc1ByZWZpeCIsImFkZFBhdGhQcmVmaXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-locale.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js": /*!***************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathPrefix\", ({\n enumerable: true,\n get: function() {\n return addPathPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathPrefix(path, prefix) {\n if (!path.startsWith(\"/\") || !prefix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + prefix + pathname + query + hash;\n} //# sourceMappingURL=add-path-prefix.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsYUFBYUMsbUJBQU9BLENBQUMseUdBQWM7QUFDekMsU0FBU0YsY0FBY0csSUFBSSxFQUFFQyxNQUFNO0lBQy9CLElBQUksQ0FBQ0QsS0FBS0UsVUFBVSxDQUFDLFFBQVEsQ0FBQ0QsUUFBUTtRQUNsQyxPQUFPRDtJQUNYO0lBQ0EsTUFBTSxFQUFFRyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHUCxXQUFXUSxTQUFTLEVBQUVOO0lBQzVELE9BQU8sS0FBS0MsU0FBU0UsV0FBV0MsUUFBUUM7QUFDNUMsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeC5qcz9jMTI5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYWRkUGF0aFByZWZpeFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYWRkUGF0aFByZWZpeDtcbiAgICB9XG59KTtcbmNvbnN0IF9wYXJzZXBhdGggPSByZXF1aXJlKFwiLi9wYXJzZS1wYXRoXCIpO1xuZnVuY3Rpb24gYWRkUGF0aFByZWZpeChwYXRoLCBwcmVmaXgpIHtcbiAgICBpZiAoIXBhdGguc3RhcnRzV2l0aChcIi9cIikgfHwgIXByZWZpeCkge1xuICAgICAgICByZXR1cm4gcGF0aDtcbiAgICB9XG4gICAgY29uc3QgeyBwYXRobmFtZSwgcXVlcnksIGhhc2ggfSA9ICgwLCBfcGFyc2VwYXRoLnBhcnNlUGF0aCkocGF0aCk7XG4gICAgcmV0dXJuIFwiXCIgKyBwcmVmaXggKyBwYXRobmFtZSArIHF1ZXJ5ICsgaGFzaDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWRkLXBhdGgtcHJlZml4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJhZGRQYXRoUHJlZml4IiwiX3BhcnNlcGF0aCIsInJlcXVpcmUiLCJwYXRoIiwicHJlZml4Iiwic3RhcnRzV2l0aCIsInBhdGhuYW1lIiwicXVlcnkiLCJoYXNoIiwicGFyc2VQYXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js": /*!***************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathSuffix\", ({\n enumerable: true,\n get: function() {\n return addPathSuffix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathSuffix(path, suffix) {\n if (!path.startsWith(\"/\") || !suffix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + pathname + suffix + query + hash;\n} //# sourceMappingURL=add-path-suffix.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXN1ZmZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsYUFBYUMsbUJBQU9BLENBQUMseUdBQWM7QUFDekMsU0FBU0YsY0FBY0csSUFBSSxFQUFFQyxNQUFNO0lBQy9CLElBQUksQ0FBQ0QsS0FBS0UsVUFBVSxDQUFDLFFBQVEsQ0FBQ0QsUUFBUTtRQUNsQyxPQUFPRDtJQUNYO0lBQ0EsTUFBTSxFQUFFRyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHUCxXQUFXUSxTQUFTLEVBQUVOO0lBQzVELE9BQU8sS0FBS0csV0FBV0YsU0FBU0csUUFBUUM7QUFDNUMsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXN1ZmZpeC5qcz83YjM2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYWRkUGF0aFN1ZmZpeFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYWRkUGF0aFN1ZmZpeDtcbiAgICB9XG59KTtcbmNvbnN0IF9wYXJzZXBhdGggPSByZXF1aXJlKFwiLi9wYXJzZS1wYXRoXCIpO1xuZnVuY3Rpb24gYWRkUGF0aFN1ZmZpeChwYXRoLCBzdWZmaXgpIHtcbiAgICBpZiAoIXBhdGguc3RhcnRzV2l0aChcIi9cIikgfHwgIXN1ZmZpeCkge1xuICAgICAgICByZXR1cm4gcGF0aDtcbiAgICB9XG4gICAgY29uc3QgeyBwYXRobmFtZSwgcXVlcnksIGhhc2ggfSA9ICgwLCBfcGFyc2VwYXRoLnBhcnNlUGF0aCkocGF0aCk7XG4gICAgcmV0dXJuIFwiXCIgKyBwYXRobmFtZSArIHN1ZmZpeCArIHF1ZXJ5ICsgaGFzaDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWRkLXBhdGgtc3VmZml4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJhZGRQYXRoU3VmZml4IiwiX3BhcnNlcGF0aCIsInJlcXVpcmUiLCJwYXRoIiwic3VmZml4Iiwic3RhcnRzV2l0aCIsInBhdGhuYW1lIiwicXVlcnkiLCJoYXNoIiwicGFyc2VQYXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/app-paths.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalizeAppPath: function() {\n return normalizeAppPath;\n },\n normalizeRscURL: function() {\n return normalizeRscURL;\n }\n});\nconst _ensureleadingslash = __webpack_require__(/*! ../../page-path/ensure-leading-slash */ \"(action-browser)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _segment = __webpack_require__(/*! ../../segment */ \"(action-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nfunction normalizeAppPath(route) {\n return (0, _ensureleadingslash.ensureLeadingSlash)(route.split(\"/\").reduce((pathname, segment, index, segments)=>{\n // Empty segments are ignored.\n if (!segment) {\n return pathname;\n }\n // Groups are ignored.\n if ((0, _segment.isGroupSegment)(segment)) {\n return pathname;\n }\n // Parallel segments are ignored.\n if (segment[0] === \"@\") {\n return pathname;\n }\n // The last segment (if it's a leaf) should be ignored.\n if ((segment === \"page\" || segment === \"route\") && index === segments.length - 1) {\n return pathname;\n }\n return pathname + \"/\" + segment;\n }, \"\"));\n}\nfunction normalizeRscURL(url) {\n return url.replace(/\\.rsc($|\\?)/, \"$1\");\n} //# sourceMappingURL=app-paths.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYXBwLXBhdGhzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLHNCQUFzQkMsbUJBQU9BLENBQUMsb0lBQXNDO0FBQzFFLE1BQU1DLFdBQVdELG1CQUFPQSxDQUFDLHNGQUFlO0FBQ3hDLFNBQVNULGlCQUFpQlcsS0FBSztJQUMzQixPQUFPLENBQUMsR0FBR0gsb0JBQW9CSSxrQkFBa0IsRUFBRUQsTUFBTUUsS0FBSyxDQUFDLEtBQUtDLE1BQU0sQ0FBQyxDQUFDQyxVQUFVQyxTQUFTQyxPQUFPQztRQUNsRyw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDRixTQUFTO1lBQ1YsT0FBT0Q7UUFDWDtRQUNBLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsR0FBR0wsU0FBU1MsY0FBYyxFQUFFSCxVQUFVO1lBQ3ZDLE9BQU9EO1FBQ1g7UUFDQSxpQ0FBaUM7UUFDakMsSUFBSUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxLQUFLO1lBQ3BCLE9BQU9EO1FBQ1g7UUFDQSx1REFBdUQ7UUFDdkQsSUFBSSxDQUFDQyxZQUFZLFVBQVVBLFlBQVksT0FBTSxLQUFNQyxVQUFVQyxTQUFTRSxNQUFNLEdBQUcsR0FBRztZQUM5RSxPQUFPTDtRQUNYO1FBQ0EsT0FBT0EsV0FBVyxNQUFNQztJQUM1QixHQUFHO0FBQ1A7QUFDQSxTQUFTZixnQkFBZ0JvQixHQUFHO0lBQ3hCLE9BQU9BLElBQUlDLE9BQU8sQ0FBQyxlQUNuQjtBQUNKLEVBRUEscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHMuanM/N2U1MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIG5vcm1hbGl6ZUFwcFBhdGg6IG51bGwsXG4gICAgbm9ybWFsaXplUnNjVVJMOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIG5vcm1hbGl6ZUFwcFBhdGg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplQXBwUGF0aDtcbiAgICB9LFxuICAgIG5vcm1hbGl6ZVJzY1VSTDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVSc2NVUkw7XG4gICAgfVxufSk7XG5jb25zdCBfZW5zdXJlbGVhZGluZ3NsYXNoID0gcmVxdWlyZShcIi4uLy4uL3BhZ2UtcGF0aC9lbnN1cmUtbGVhZGluZy1zbGFzaFwiKTtcbmNvbnN0IF9zZWdtZW50ID0gcmVxdWlyZShcIi4uLy4uL3NlZ21lbnRcIik7XG5mdW5jdGlvbiBub3JtYWxpemVBcHBQYXRoKHJvdXRlKSB7XG4gICAgcmV0dXJuICgwLCBfZW5zdXJlbGVhZGluZ3NsYXNoLmVuc3VyZUxlYWRpbmdTbGFzaCkocm91dGUuc3BsaXQoXCIvXCIpLnJlZHVjZSgocGF0aG5hbWUsIHNlZ21lbnQsIGluZGV4LCBzZWdtZW50cyk9PntcbiAgICAgICAgLy8gRW1wdHkgc2VnbWVudHMgYXJlIGlnbm9yZWQuXG4gICAgICAgIGlmICghc2VnbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGhuYW1lO1xuICAgICAgICB9XG4gICAgICAgIC8vIEdyb3VwcyBhcmUgaWdub3JlZC5cbiAgICAgICAgaWYgKCgwLCBfc2VnbWVudC5pc0dyb3VwU2VnbWVudCkoc2VnbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRobmFtZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBQYXJhbGxlbCBzZWdtZW50cyBhcmUgaWdub3JlZC5cbiAgICAgICAgaWYgKHNlZ21lbnRbMF0gPT09IFwiQFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aG5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhlIGxhc3Qgc2VnbWVudCAoaWYgaXQncyBhIGxlYWYpIHNob3VsZCBiZSBpZ25vcmVkLlxuICAgICAgICBpZiAoKHNlZ21lbnQgPT09IFwicGFnZVwiIHx8IHNlZ21lbnQgPT09IFwicm91dGVcIikgJiYgaW5kZXggPT09IHNlZ21lbnRzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRobmFtZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGF0aG5hbWUgKyBcIi9cIiArIHNlZ21lbnQ7XG4gICAgfSwgXCJcIikpO1xufVxuZnVuY3Rpb24gbm9ybWFsaXplUnNjVVJMKHVybCkge1xuICAgIHJldHVybiB1cmwucmVwbGFjZSgvXFwucnNjKCR8XFw/KS8sIC8vICQxIGVuc3VyZXMgYD9gIGlzIHByZXNlcnZlZFxuICAgIFwiJDFcIik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1wYXRocy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJub3JtYWxpemVBcHBQYXRoIiwibm9ybWFsaXplUnNjVVJMIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2Vuc3VyZWxlYWRpbmdzbGFzaCIsInJlcXVpcmUiLCJfc2VnbWVudCIsInJvdXRlIiwiZW5zdXJlTGVhZGluZ1NsYXNoIiwic3BsaXQiLCJyZWR1Y2UiLCJwYXRobmFtZSIsInNlZ21lbnQiLCJpbmRleCIsInNlZ21lbnRzIiwiaXNHcm91cFNlZ21lbnQiLCJsZW5ndGgiLCJ1cmwiLCJyZXBsYWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js": /*!*************************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"formatNextPathnameInfo\", ({\n enumerable: true,\n get: function() {\n return formatNextPathnameInfo;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _addpathprefix = __webpack_require__(/*! ./add-path-prefix */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _addpathsuffix = __webpack_require__(/*! ./add-path-suffix */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-locale.js\");\nfunction formatNextPathnameInfo(info) {\n let pathname = (0, _addlocale.addLocale)(info.pathname, info.locale, info.buildId ? undefined : info.defaultLocale, info.ignorePrefix);\n if (info.buildId || !info.trailingSlash) {\n pathname = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n }\n if (info.buildId) {\n pathname = (0, _addpathsuffix.addPathSuffix)((0, _addpathprefix.addPathPrefix)(pathname, \"/_next/data/\" + info.buildId), info.pathname === \"/\" ? \"index.json\" : \".json\");\n }\n pathname = (0, _addpathprefix.addPathPrefix)(pathname, info.basePath);\n return !info.buildId && info.trailingSlash ? !pathname.endsWith(\"/\") ? (0, _addpathsuffix.addPathSuffix)(pathname, \"/\") : pathname : (0, _removetrailingslash.removeTrailingSlash)(pathname);\n} //# sourceMappingURL=format-next-pathname-info.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC1uZXh0LXBhdGhuYW1lLWluZm8uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDBEQUF5RDtJQUNyREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHVCQUF1QkMsbUJBQU9BLENBQUMsK0hBQXlCO0FBQzlELE1BQU1DLGlCQUFpQkQsbUJBQU9BLENBQUMsbUhBQW1CO0FBQ2xELE1BQU1FLGlCQUFpQkYsbUJBQU9BLENBQUMsbUhBQW1CO0FBQ2xELE1BQU1HLGFBQWFILG1CQUFPQSxDQUFDLHlHQUFjO0FBQ3pDLFNBQVNGLHVCQUF1Qk0sSUFBSTtJQUNoQyxJQUFJQyxXQUFXLENBQUMsR0FBR0YsV0FBV0csU0FBUyxFQUFFRixLQUFLQyxRQUFRLEVBQUVELEtBQUtHLE1BQU0sRUFBRUgsS0FBS0ksT0FBTyxHQUFHQyxZQUFZTCxLQUFLTSxhQUFhLEVBQUVOLEtBQUtPLFlBQVk7SUFDckksSUFBSVAsS0FBS0ksT0FBTyxJQUFJLENBQUNKLEtBQUtRLGFBQWEsRUFBRTtRQUNyQ1AsV0FBVyxDQUFDLEdBQUdOLHFCQUFxQmMsbUJBQW1CLEVBQUVSO0lBQzdEO0lBQ0EsSUFBSUQsS0FBS0ksT0FBTyxFQUFFO1FBQ2RILFdBQVcsQ0FBQyxHQUFHSCxlQUFlWSxhQUFhLEVBQUUsQ0FBQyxHQUFHYixlQUFlYyxhQUFhLEVBQUVWLFVBQVUsaUJBQWlCRCxLQUFLSSxPQUFPLEdBQUdKLEtBQUtDLFFBQVEsS0FBSyxNQUFNLGVBQWU7SUFDcEs7SUFDQUEsV0FBVyxDQUFDLEdBQUdKLGVBQWVjLGFBQWEsRUFBRVYsVUFBVUQsS0FBS1ksUUFBUTtJQUNwRSxPQUFPLENBQUNaLEtBQUtJLE9BQU8sSUFBSUosS0FBS1EsYUFBYSxHQUFHLENBQUNQLFNBQVNZLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBR2YsZUFBZVksYUFBYSxFQUFFVCxVQUFVLE9BQU9BLFdBQVcsQ0FBQyxHQUFHTixxQkFBcUJjLG1CQUFtQixFQUFFUjtBQUN2TCxFQUVBLHFEQUFxRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZm9ybWF0LW5leHQtcGF0aG5hbWUtaW5mby5qcz9iMTQ2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZm9ybWF0TmV4dFBhdGhuYW1lSW5mb1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZm9ybWF0TmV4dFBhdGhuYW1lSW5mbztcbiAgICB9XG59KTtcbmNvbnN0IF9yZW1vdmV0cmFpbGluZ3NsYXNoID0gcmVxdWlyZShcIi4vcmVtb3ZlLXRyYWlsaW5nLXNsYXNoXCIpO1xuY29uc3QgX2FkZHBhdGhwcmVmaXggPSByZXF1aXJlKFwiLi9hZGQtcGF0aC1wcmVmaXhcIik7XG5jb25zdCBfYWRkcGF0aHN1ZmZpeCA9IHJlcXVpcmUoXCIuL2FkZC1wYXRoLXN1ZmZpeFwiKTtcbmNvbnN0IF9hZGRsb2NhbGUgPSByZXF1aXJlKFwiLi9hZGQtbG9jYWxlXCIpO1xuZnVuY3Rpb24gZm9ybWF0TmV4dFBhdGhuYW1lSW5mbyhpbmZvKSB7XG4gICAgbGV0IHBhdGhuYW1lID0gKDAsIF9hZGRsb2NhbGUuYWRkTG9jYWxlKShpbmZvLnBhdGhuYW1lLCBpbmZvLmxvY2FsZSwgaW5mby5idWlsZElkID8gdW5kZWZpbmVkIDogaW5mby5kZWZhdWx0TG9jYWxlLCBpbmZvLmlnbm9yZVByZWZpeCk7XG4gICAgaWYgKGluZm8uYnVpbGRJZCB8fCAhaW5mby50cmFpbGluZ1NsYXNoKSB7XG4gICAgICAgIHBhdGhuYW1lID0gKDAsIF9yZW1vdmV0cmFpbGluZ3NsYXNoLnJlbW92ZVRyYWlsaW5nU2xhc2gpKHBhdGhuYW1lKTtcbiAgICB9XG4gICAgaWYgKGluZm8uYnVpbGRJZCkge1xuICAgICAgICBwYXRobmFtZSA9ICgwLCBfYWRkcGF0aHN1ZmZpeC5hZGRQYXRoU3VmZml4KSgoMCwgX2FkZHBhdGhwcmVmaXguYWRkUGF0aFByZWZpeCkocGF0aG5hbWUsIFwiL19uZXh0L2RhdGEvXCIgKyBpbmZvLmJ1aWxkSWQpLCBpbmZvLnBhdGhuYW1lID09PSBcIi9cIiA/IFwiaW5kZXguanNvblwiIDogXCIuanNvblwiKTtcbiAgICB9XG4gICAgcGF0aG5hbWUgPSAoMCwgX2FkZHBhdGhwcmVmaXguYWRkUGF0aFByZWZpeCkocGF0aG5hbWUsIGluZm8uYmFzZVBhdGgpO1xuICAgIHJldHVybiAhaW5mby5idWlsZElkICYmIGluZm8udHJhaWxpbmdTbGFzaCA/ICFwYXRobmFtZS5lbmRzV2l0aChcIi9cIikgPyAoMCwgX2FkZHBhdGhzdWZmaXguYWRkUGF0aFN1ZmZpeCkocGF0aG5hbWUsIFwiL1wiKSA6IHBhdGhuYW1lIDogKDAsIF9yZW1vdmV0cmFpbGluZ3NsYXNoLnJlbW92ZVRyYWlsaW5nU2xhc2gpKHBhdGhuYW1lKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Zm9ybWF0LW5leHQtcGF0aG5hbWUtaW5mby5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZm9ybWF0TmV4dFBhdGhuYW1lSW5mbyIsIl9yZW1vdmV0cmFpbGluZ3NsYXNoIiwicmVxdWlyZSIsIl9hZGRwYXRocHJlZml4IiwiX2FkZHBhdGhzdWZmaXgiLCJfYWRkbG9jYWxlIiwiaW5mbyIsInBhdGhuYW1lIiwiYWRkTG9jYWxlIiwibG9jYWxlIiwiYnVpbGRJZCIsInVuZGVmaW5lZCIsImRlZmF1bHRMb2NhbGUiLCJpZ25vcmVQcmVmaXgiLCJ0cmFpbGluZ1NsYXNoIiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsImFkZFBhdGhTdWZmaXgiLCJhZGRQYXRoUHJlZml4IiwiYmFzZVBhdGgiLCJlbmRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js": /*!**********************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getNextPathnameInfo\", ({\n enumerable: true,\n get: function() {\n return getNextPathnameInfo;\n }\n}));\nconst _normalizelocalepath = __webpack_require__(/*! ../../i18n/normalize-locale-path */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\");\nconst _removepathprefix = __webpack_require__(/*! ./remove-path-prefix */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction getNextPathnameInfo(pathname, options) {\n var _options_nextConfig;\n const { basePath, i18n, trailingSlash } = (_options_nextConfig = options.nextConfig) != null ? _options_nextConfig : {};\n const info = {\n pathname,\n trailingSlash: pathname !== \"/\" ? pathname.endsWith(\"/\") : trailingSlash\n };\n if (basePath && (0, _pathhasprefix.pathHasPrefix)(info.pathname, basePath)) {\n info.pathname = (0, _removepathprefix.removePathPrefix)(info.pathname, basePath);\n info.basePath = basePath;\n }\n let pathnameNoDataPrefix = info.pathname;\n if (info.pathname.startsWith(\"/_next/data/\") && info.pathname.endsWith(\".json\")) {\n const paths = info.pathname.replace(/^\\/_next\\/data\\//, \"\").replace(/\\.json$/, \"\").split(\"/\");\n const buildId = paths[0];\n info.buildId = buildId;\n pathnameNoDataPrefix = paths[1] !== \"index\" ? \"/\" + paths.slice(1).join(\"/\") : \"/\";\n // update pathname with normalized if enabled although\n // we use normalized to populate locale info still\n if (options.parseData === true) {\n info.pathname = pathnameNoDataPrefix;\n }\n }\n // If provided, use the locale route normalizer to detect the locale instead\n // of the function below.\n if (i18n) {\n let result = options.i18nProvider ? options.i18nProvider.analyze(info.pathname) : (0, _normalizelocalepath.normalizeLocalePath)(info.pathname, i18n.locales);\n info.locale = result.detectedLocale;\n var _result_pathname;\n info.pathname = (_result_pathname = result.pathname) != null ? _result_pathname : info.pathname;\n if (!result.detectedLocale && info.buildId) {\n result = options.i18nProvider ? options.i18nProvider.analyze(pathnameNoDataPrefix) : (0, _normalizelocalepath.normalizeLocalePath)(pathnameNoDataPrefix, i18n.locales);\n if (result.detectedLocale) {\n info.locale = result.detectedLocale;\n }\n }\n }\n return info;\n} //# sourceMappingURL=get-next-pathname-info.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1uZXh0LXBhdGhuYW1lLWluZm8uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHVEQUFzRDtJQUNsREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHVCQUF1QkMsbUJBQU9BLENBQUMsZ0lBQWtDO0FBQ3ZFLE1BQU1DLG9CQUFvQkQsbUJBQU9BLENBQUMseUhBQXNCO0FBQ3hELE1BQU1FLGlCQUFpQkYsbUJBQU9BLENBQUMsbUhBQW1CO0FBQ2xELFNBQVNGLG9CQUFvQkssUUFBUSxFQUFFQyxPQUFPO0lBQzFDLElBQUlDO0lBQ0osTUFBTSxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFBRUMsYUFBYSxFQUFFLEdBQUcsQ0FBQ0gsc0JBQXNCRCxRQUFRSyxVQUFVLEtBQUssT0FBT0osc0JBQXNCLENBQUM7SUFDdEgsTUFBTUssT0FBTztRQUNUUDtRQUNBSyxlQUFlTCxhQUFhLE1BQU1BLFNBQVNRLFFBQVEsQ0FBQyxPQUFPSDtJQUMvRDtJQUNBLElBQUlGLFlBQVksQ0FBQyxHQUFHSixlQUFlVSxhQUFhLEVBQUVGLEtBQUtQLFFBQVEsRUFBRUcsV0FBVztRQUN4RUksS0FBS1AsUUFBUSxHQUFHLENBQUMsR0FBR0Ysa0JBQWtCWSxnQkFBZ0IsRUFBRUgsS0FBS1AsUUFBUSxFQUFFRztRQUN2RUksS0FBS0osUUFBUSxHQUFHQTtJQUNwQjtJQUNBLElBQUlRLHVCQUF1QkosS0FBS1AsUUFBUTtJQUN4QyxJQUFJTyxLQUFLUCxRQUFRLENBQUNZLFVBQVUsQ0FBQyxtQkFBbUJMLEtBQUtQLFFBQVEsQ0FBQ1EsUUFBUSxDQUFDLFVBQVU7UUFDN0UsTUFBTUssUUFBUU4sS0FBS1AsUUFBUSxDQUFDYyxPQUFPLENBQUMsb0JBQW9CLElBQUlBLE9BQU8sQ0FBQyxXQUFXLElBQUlDLEtBQUssQ0FBQztRQUN6RixNQUFNQyxVQUFVSCxLQUFLLENBQUMsRUFBRTtRQUN4Qk4sS0FBS1MsT0FBTyxHQUFHQTtRQUNmTCx1QkFBdUJFLEtBQUssQ0FBQyxFQUFFLEtBQUssVUFBVSxNQUFNQSxNQUFNSSxLQUFLLENBQUMsR0FBR0MsSUFBSSxDQUFDLE9BQU87UUFDL0Usc0RBQXNEO1FBQ3RELGtEQUFrRDtRQUNsRCxJQUFJakIsUUFBUWtCLFNBQVMsS0FBSyxNQUFNO1lBQzVCWixLQUFLUCxRQUFRLEdBQUdXO1FBQ3BCO0lBQ0o7SUFDQSw0RUFBNEU7SUFDNUUseUJBQXlCO0lBQ3pCLElBQUlQLE1BQU07UUFDTixJQUFJZ0IsU0FBU25CLFFBQVFvQixZQUFZLEdBQUdwQixRQUFRb0IsWUFBWSxDQUFDQyxPQUFPLENBQUNmLEtBQUtQLFFBQVEsSUFBSSxDQUFDLEdBQUdKLHFCQUFxQjJCLG1CQUFtQixFQUFFaEIsS0FBS1AsUUFBUSxFQUFFSSxLQUFLb0IsT0FBTztRQUMzSmpCLEtBQUtrQixNQUFNLEdBQUdMLE9BQU9NLGNBQWM7UUFDbkMsSUFBSUM7UUFDSnBCLEtBQUtQLFFBQVEsR0FBRyxDQUFDMkIsbUJBQW1CUCxPQUFPcEIsUUFBUSxLQUFLLE9BQU8yQixtQkFBbUJwQixLQUFLUCxRQUFRO1FBQy9GLElBQUksQ0FBQ29CLE9BQU9NLGNBQWMsSUFBSW5CLEtBQUtTLE9BQU8sRUFBRTtZQUN4Q0ksU0FBU25CLFFBQVFvQixZQUFZLEdBQUdwQixRQUFRb0IsWUFBWSxDQUFDQyxPQUFPLENBQUNYLHdCQUF3QixDQUFDLEdBQUdmLHFCQUFxQjJCLG1CQUFtQixFQUFFWixzQkFBc0JQLEtBQUtvQixPQUFPO1lBQ3JLLElBQUlKLE9BQU9NLGNBQWMsRUFBRTtnQkFDdkJuQixLQUFLa0IsTUFBTSxHQUFHTCxPQUFPTSxjQUFjO1lBQ3ZDO1FBQ0o7SUFDSjtJQUNBLE9BQU9uQjtBQUNYLEVBRUEsa0RBQWtEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9nZXQtbmV4dC1wYXRobmFtZS1pbmZvLmpzPzBkMjYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXROZXh0UGF0aG5hbWVJbmZvXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXROZXh0UGF0aG5hbWVJbmZvO1xuICAgIH1cbn0pO1xuY29uc3QgX25vcm1hbGl6ZWxvY2FsZXBhdGggPSByZXF1aXJlKFwiLi4vLi4vaTE4bi9ub3JtYWxpemUtbG9jYWxlLXBhdGhcIik7XG5jb25zdCBfcmVtb3ZlcGF0aHByZWZpeCA9IHJlcXVpcmUoXCIuL3JlbW92ZS1wYXRoLXByZWZpeFwiKTtcbmNvbnN0IF9wYXRoaGFzcHJlZml4ID0gcmVxdWlyZShcIi4vcGF0aC1oYXMtcHJlZml4XCIpO1xuZnVuY3Rpb24gZ2V0TmV4dFBhdGhuYW1lSW5mbyhwYXRobmFtZSwgb3B0aW9ucykge1xuICAgIHZhciBfb3B0aW9uc19uZXh0Q29uZmlnO1xuICAgIGNvbnN0IHsgYmFzZVBhdGgsIGkxOG4sIHRyYWlsaW5nU2xhc2ggfSA9IChfb3B0aW9uc19uZXh0Q29uZmlnID0gb3B0aW9ucy5uZXh0Q29uZmlnKSAhPSBudWxsID8gX29wdGlvbnNfbmV4dENvbmZpZyA6IHt9O1xuICAgIGNvbnN0IGluZm8gPSB7XG4gICAgICAgIHBhdGhuYW1lLFxuICAgICAgICB0cmFpbGluZ1NsYXNoOiBwYXRobmFtZSAhPT0gXCIvXCIgPyBwYXRobmFtZS5lbmRzV2l0aChcIi9cIikgOiB0cmFpbGluZ1NsYXNoXG4gICAgfTtcbiAgICBpZiAoYmFzZVBhdGggJiYgKDAsIF9wYXRoaGFzcHJlZml4LnBhdGhIYXNQcmVmaXgpKGluZm8ucGF0aG5hbWUsIGJhc2VQYXRoKSkge1xuICAgICAgICBpbmZvLnBhdGhuYW1lID0gKDAsIF9yZW1vdmVwYXRocHJlZml4LnJlbW92ZVBhdGhQcmVmaXgpKGluZm8ucGF0aG5hbWUsIGJhc2VQYXRoKTtcbiAgICAgICAgaW5mby5iYXNlUGF0aCA9IGJhc2VQYXRoO1xuICAgIH1cbiAgICBsZXQgcGF0aG5hbWVOb0RhdGFQcmVmaXggPSBpbmZvLnBhdGhuYW1lO1xuICAgIGlmIChpbmZvLnBhdGhuYW1lLnN0YXJ0c1dpdGgoXCIvX25leHQvZGF0YS9cIikgJiYgaW5mby5wYXRobmFtZS5lbmRzV2l0aChcIi5qc29uXCIpKSB7XG4gICAgICAgIGNvbnN0IHBhdGhzID0gaW5mby5wYXRobmFtZS5yZXBsYWNlKC9eXFwvX25leHRcXC9kYXRhXFwvLywgXCJcIikucmVwbGFjZSgvXFwuanNvbiQvLCBcIlwiKS5zcGxpdChcIi9cIik7XG4gICAgICAgIGNvbnN0IGJ1aWxkSWQgPSBwYXRoc1swXTtcbiAgICAgICAgaW5mby5idWlsZElkID0gYnVpbGRJZDtcbiAgICAgICAgcGF0aG5hbWVOb0RhdGFQcmVmaXggPSBwYXRoc1sxXSAhPT0gXCJpbmRleFwiID8gXCIvXCIgKyBwYXRocy5zbGljZSgxKS5qb2luKFwiL1wiKSA6IFwiL1wiO1xuICAgICAgICAvLyB1cGRhdGUgcGF0aG5hbWUgd2l0aCBub3JtYWxpemVkIGlmIGVuYWJsZWQgYWx0aG91Z2hcbiAgICAgICAgLy8gd2UgdXNlIG5vcm1hbGl6ZWQgdG8gcG9wdWxhdGUgbG9jYWxlIGluZm8gc3RpbGxcbiAgICAgICAgaWYgKG9wdGlvbnMucGFyc2VEYXRhID09PSB0cnVlKSB7XG4gICAgICAgICAgICBpbmZvLnBhdGhuYW1lID0gcGF0aG5hbWVOb0RhdGFQcmVmaXg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gSWYgcHJvdmlkZWQsIHVzZSB0aGUgbG9jYWxlIHJvdXRlIG5vcm1hbGl6ZXIgdG8gZGV0ZWN0IHRoZSBsb2NhbGUgaW5zdGVhZFxuICAgIC8vIG9mIHRoZSBmdW5jdGlvbiBiZWxvdy5cbiAgICBpZiAoaTE4bikge1xuICAgICAgICBsZXQgcmVzdWx0ID0gb3B0aW9ucy5pMThuUHJvdmlkZXIgPyBvcHRpb25zLmkxOG5Qcm92aWRlci5hbmFseXplKGluZm8ucGF0aG5hbWUpIDogKDAsIF9ub3JtYWxpemVsb2NhbGVwYXRoLm5vcm1hbGl6ZUxvY2FsZVBhdGgpKGluZm8ucGF0aG5hbWUsIGkxOG4ubG9jYWxlcyk7XG4gICAgICAgIGluZm8ubG9jYWxlID0gcmVzdWx0LmRldGVjdGVkTG9jYWxlO1xuICAgICAgICB2YXIgX3Jlc3VsdF9wYXRobmFtZTtcbiAgICAgICAgaW5mby5wYXRobmFtZSA9IChfcmVzdWx0X3BhdGhuYW1lID0gcmVzdWx0LnBhdGhuYW1lKSAhPSBudWxsID8gX3Jlc3VsdF9wYXRobmFtZSA6IGluZm8ucGF0aG5hbWU7XG4gICAgICAgIGlmICghcmVzdWx0LmRldGVjdGVkTG9jYWxlICYmIGluZm8uYnVpbGRJZCkge1xuICAgICAgICAgICAgcmVzdWx0ID0gb3B0aW9ucy5pMThuUHJvdmlkZXIgPyBvcHRpb25zLmkxOG5Qcm92aWRlci5hbmFseXplKHBhdGhuYW1lTm9EYXRhUHJlZml4KSA6ICgwLCBfbm9ybWFsaXplbG9jYWxlcGF0aC5ub3JtYWxpemVMb2NhbGVQYXRoKShwYXRobmFtZU5vRGF0YVByZWZpeCwgaTE4bi5sb2NhbGVzKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQuZGV0ZWN0ZWRMb2NhbGUpIHtcbiAgICAgICAgICAgICAgICBpbmZvLmxvY2FsZSA9IHJlc3VsdC5kZXRlY3RlZExvY2FsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaW5mbztcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0LW5leHQtcGF0aG5hbWUtaW5mby5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZ2V0TmV4dFBhdGhuYW1lSW5mbyIsIl9ub3JtYWxpemVsb2NhbGVwYXRoIiwicmVxdWlyZSIsIl9yZW1vdmVwYXRocHJlZml4IiwiX3BhdGhoYXNwcmVmaXgiLCJwYXRobmFtZSIsIm9wdGlvbnMiLCJfb3B0aW9uc19uZXh0Q29uZmlnIiwiYmFzZVBhdGgiLCJpMThuIiwidHJhaWxpbmdTbGFzaCIsIm5leHRDb25maWciLCJpbmZvIiwiZW5kc1dpdGgiLCJwYXRoSGFzUHJlZml4IiwicmVtb3ZlUGF0aFByZWZpeCIsInBhdGhuYW1lTm9EYXRhUHJlZml4Iiwic3RhcnRzV2l0aCIsInBhdGhzIiwicmVwbGFjZSIsInNwbGl0IiwiYnVpbGRJZCIsInNsaWNlIiwiam9pbiIsInBhcnNlRGF0YSIsInJlc3VsdCIsImkxOG5Qcm92aWRlciIsImFuYWx5emUiLCJub3JtYWxpemVMb2NhbGVQYXRoIiwibG9jYWxlcyIsImxvY2FsZSIsImRldGVjdGVkTG9jYWxlIiwiX3Jlc3VsdF9wYXRobmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js": /*!*****************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"(action-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"(action-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLGlCQUFpQjtRQUNiLE9BQU9RLGNBQWNSLGVBQWU7SUFDeEM7SUFDQUMsZ0JBQWdCO1FBQ1osT0FBT1EsV0FBV1IsY0FBYztJQUNwQztBQUNKO0FBQ0EsTUFBTU8sZ0JBQWdCRSxtQkFBT0EsQ0FBQywyR0FBaUI7QUFDL0MsTUFBTUQsYUFBYUMsbUJBQU9BLENBQUMscUdBQWMsR0FFekMsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pbmRleC5qcz9mNTI1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZ2V0U29ydGVkUm91dGVzOiBudWxsLFxuICAgIGlzRHluYW1pY1JvdXRlOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGdldFNvcnRlZFJvdXRlczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfc29ydGVkcm91dGVzLmdldFNvcnRlZFJvdXRlcztcbiAgICB9LFxuICAgIGlzRHluYW1pY1JvdXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9pc2R5bmFtaWMuaXNEeW5hbWljUm91dGU7XG4gICAgfVxufSk7XG5jb25zdCBfc29ydGVkcm91dGVzID0gcmVxdWlyZShcIi4vc29ydGVkLXJvdXRlc1wiKTtcbmNvbnN0IF9pc2R5bmFtaWMgPSByZXF1aXJlKFwiLi9pcy1keW5hbWljXCIpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJnZXRTb3J0ZWRSb3V0ZXMiLCJpc0R5bmFtaWNSb3V0ZSIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9zb3J0ZWRyb3V0ZXMiLCJfaXNkeW5hbWljIiwicmVxdWlyZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/shared/lib/router/utils/index.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(action-browser)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsa0RBQWlEO0lBQzdDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsc0JBQXNCQyxtQkFBT0EsQ0FBQyxxSkFBdUQ7QUFDM0YscUNBQXFDO0FBQ3JDLE1BQU1DLGFBQWE7QUFDbkIsU0FBU0gsZUFBZUksS0FBSztJQUN6QixJQUFJLENBQUMsR0FBR0gsb0JBQW9CSSwwQkFBMEIsRUFBRUQsUUFBUTtRQUM1REEsUUFBUSxDQUFDLEdBQUdILG9CQUFvQkssbUNBQW1DLEVBQUVGLE9BQU9HLGdCQUFnQjtJQUNoRztJQUNBLE9BQU9KLFdBQVdLLElBQUksQ0FBQ0o7QUFDM0IsRUFFQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWR5bmFtaWMuanM/NDZmOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImlzRHluYW1pY1JvdXRlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0R5bmFtaWNSb3V0ZTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcmNlcHRpb25yb3V0ZXMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vc2VydmVyL2Z1dHVyZS9oZWxwZXJzL2ludGVyY2VwdGlvbi1yb3V0ZXNcIik7XG4vLyBJZGVudGlmeSAvW3BhcmFtXS8gaW4gcm91dGUgc3RyaW5nXG5jb25zdCBURVNUX1JPVVRFID0gL1xcL1xcW1teL10rP1xcXSg/PVxcL3wkKS87XG5mdW5jdGlvbiBpc0R5bmFtaWNSb3V0ZShyb3V0ZSkge1xuICAgIGlmICgoMCwgX2ludGVyY2VwdGlvbnJvdXRlcy5pc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aCkocm91dGUpKSB7XG4gICAgICAgIHJvdXRlID0gKDAsIF9pbnRlcmNlcHRpb25yb3V0ZXMuZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb24pKHJvdXRlKS5pbnRlcmNlcHRlZFJvdXRlO1xuICAgIH1cbiAgICByZXR1cm4gVEVTVF9ST1VURS50ZXN0KHJvdXRlKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXMtZHluYW1pYy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaXNEeW5hbWljUm91dGUiLCJfaW50ZXJjZXB0aW9ucm91dGVzIiwicmVxdWlyZSIsIlRFU1RfUk9VVEUiLCJyb3V0ZSIsImlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoIiwiZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb24iLCJpbnRlcmNlcHRlZFJvdXRlIiwidGVzdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/parse-path.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Given a path this function will find the pathname, query and hash and return\n * them. This is useful to parse full paths on the client side.\n * @param path A path to parse e.g. /foo/bar?id=1#hash\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parsePath\", ({\n enumerable: true,\n get: function() {\n return parsePath;\n }\n}));\nfunction parsePath(path) {\n const hashIndex = path.indexOf(\"#\");\n const queryIndex = path.indexOf(\"?\");\n const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex);\n if (hasQuery || hashIndex > -1) {\n return {\n pathname: path.substring(0, hasQuery ? queryIndex : hashIndex),\n query: hasQuery ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined) : \"\",\n hash: hashIndex > -1 ? path.slice(hashIndex) : \"\"\n };\n }\n return {\n pathname: path,\n query: \"\",\n hash: \"\"\n };\n} //# sourceMappingURL=parse-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Q0FJQyxHQUFnQjtBQUNqQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDZDQUE0QztJQUN4Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLFVBQVVDLElBQUk7SUFDbkIsTUFBTUMsWUFBWUQsS0FBS0UsT0FBTyxDQUFDO0lBQy9CLE1BQU1DLGFBQWFILEtBQUtFLE9BQU8sQ0FBQztJQUNoQyxNQUFNRSxXQUFXRCxhQUFhLENBQUMsS0FBTUYsQ0FBQUEsWUFBWSxLQUFLRSxhQUFhRixTQUFRO0lBQzNFLElBQUlHLFlBQVlILFlBQVksQ0FBQyxHQUFHO1FBQzVCLE9BQU87WUFDSEksVUFBVUwsS0FBS00sU0FBUyxDQUFDLEdBQUdGLFdBQVdELGFBQWFGO1lBQ3BETSxPQUFPSCxXQUFXSixLQUFLTSxTQUFTLENBQUNILFlBQVlGLFlBQVksQ0FBQyxJQUFJQSxZQUFZTyxhQUFhO1lBQ3ZGQyxNQUFNUixZQUFZLENBQUMsSUFBSUQsS0FBS1UsS0FBSyxDQUFDVCxhQUFhO1FBQ25EO0lBQ0o7SUFDQSxPQUFPO1FBQ0hJLFVBQVVMO1FBQ1ZPLE9BQU87UUFDUEUsTUFBTTtJQUNWO0FBQ0osRUFFQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXBhdGguanM/ZTUyYyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdpdmVuIGEgcGF0aCB0aGlzIGZ1bmN0aW9uIHdpbGwgZmluZCB0aGUgcGF0aG5hbWUsIHF1ZXJ5IGFuZCBoYXNoIGFuZCByZXR1cm5cbiAqIHRoZW0uIFRoaXMgaXMgdXNlZnVsIHRvIHBhcnNlIGZ1bGwgcGF0aHMgb24gdGhlIGNsaWVudCBzaWRlLlxuICogQHBhcmFtIHBhdGggQSBwYXRoIHRvIHBhcnNlIGUuZy4gL2Zvby9iYXI/aWQ9MSNoYXNoXG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXJzZVBhdGhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlUGF0aDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIHBhcnNlUGF0aChwYXRoKSB7XG4gICAgY29uc3QgaGFzaEluZGV4ID0gcGF0aC5pbmRleE9mKFwiI1wiKTtcbiAgICBjb25zdCBxdWVyeUluZGV4ID0gcGF0aC5pbmRleE9mKFwiP1wiKTtcbiAgICBjb25zdCBoYXNRdWVyeSA9IHF1ZXJ5SW5kZXggPiAtMSAmJiAoaGFzaEluZGV4IDwgMCB8fCBxdWVyeUluZGV4IDwgaGFzaEluZGV4KTtcbiAgICBpZiAoaGFzUXVlcnkgfHwgaGFzaEluZGV4ID4gLTEpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHBhdGhuYW1lOiBwYXRoLnN1YnN0cmluZygwLCBoYXNRdWVyeSA/IHF1ZXJ5SW5kZXggOiBoYXNoSW5kZXgpLFxuICAgICAgICAgICAgcXVlcnk6IGhhc1F1ZXJ5ID8gcGF0aC5zdWJzdHJpbmcocXVlcnlJbmRleCwgaGFzaEluZGV4ID4gLTEgPyBoYXNoSW5kZXggOiB1bmRlZmluZWQpIDogXCJcIixcbiAgICAgICAgICAgIGhhc2g6IGhhc2hJbmRleCA+IC0xID8gcGF0aC5zbGljZShoYXNoSW5kZXgpIDogXCJcIlxuICAgICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBwYXRobmFtZTogcGF0aCxcbiAgICAgICAgcXVlcnk6IFwiXCIsXG4gICAgICAgIGhhc2g6IFwiXCJcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXJzZS1wYXRoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJwYXJzZVBhdGgiLCJwYXRoIiwiaGFzaEluZGV4IiwiaW5kZXhPZiIsInF1ZXJ5SW5kZXgiLCJoYXNRdWVyeSIsInBhdGhuYW1lIiwic3Vic3RyaW5nIiwicXVlcnkiLCJ1bmRlZmluZWQiLCJoYXNoIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js": /*!***************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"pathHasPrefix\", ({\n enumerable: true,\n get: function() {\n return pathHasPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction pathHasPrefix(path, prefix) {\n if (typeof path !== \"string\") {\n return false;\n }\n const { pathname } = (0, _parsepath.parsePath)(path);\n return pathname === prefix || pathname.startsWith(prefix + \"/\");\n} //# sourceMappingURL=path-has-prefix.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsYUFBYUMsbUJBQU9BLENBQUMseUdBQWM7QUFDekMsU0FBU0YsY0FBY0csSUFBSSxFQUFFQyxNQUFNO0lBQy9CLElBQUksT0FBT0QsU0FBUyxVQUFVO1FBQzFCLE9BQU87SUFDWDtJQUNBLE1BQU0sRUFBRUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxHQUFHSixXQUFXSyxTQUFTLEVBQUVIO0lBQy9DLE9BQU9FLGFBQWFELFVBQVVDLFNBQVNFLFVBQVUsQ0FBQ0gsU0FBUztBQUMvRCxFQUVBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGF0aC1oYXMtcHJlZml4LmpzP2I1MzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJwYXRoSGFzUHJlZml4XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwYXRoSGFzUHJlZml4O1xuICAgIH1cbn0pO1xuY29uc3QgX3BhcnNlcGF0aCA9IHJlcXVpcmUoXCIuL3BhcnNlLXBhdGhcIik7XG5mdW5jdGlvbiBwYXRoSGFzUHJlZml4KHBhdGgsIHByZWZpeCkge1xuICAgIGlmICh0eXBlb2YgcGF0aCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IHsgcGF0aG5hbWUgfSA9ICgwLCBfcGFyc2VwYXRoLnBhcnNlUGF0aCkocGF0aCk7XG4gICAgcmV0dXJuIHBhdGhuYW1lID09PSBwcmVmaXggfHwgcGF0aG5hbWUuc3RhcnRzV2l0aChwcmVmaXggKyBcIi9cIik7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhdGgtaGFzLXByZWZpeC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicGF0aEhhc1ByZWZpeCIsIl9wYXJzZXBhdGgiLCJyZXF1aXJlIiwicGF0aCIsInByZWZpeCIsInBhdGhuYW1lIiwicGFyc2VQYXRoIiwic3RhcnRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js": /*!******************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removePathPrefix\", ({\n enumerable: true,\n get: function() {\n return removePathPrefix;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction removePathPrefix(path, prefix) {\n // If the path doesn't start with the prefix we can return it as is. This\n // protects us from situations where the prefix is a substring of the path\n // prefix such as:\n //\n // For prefix: /blog\n //\n // /blog -> true\n // /blog/ -> true\n // /blog/1 -> true\n // /blogging -> false\n // /blogging/ -> false\n // /blogging/1 -> false\n if (!(0, _pathhasprefix.pathHasPrefix)(path, prefix)) {\n return path;\n }\n // Remove the prefix from the path via slicing.\n const withoutPrefix = path.slice(prefix.length);\n // If the path without the prefix starts with a `/` we can return it as is.\n if (withoutPrefix.startsWith(\"/\")) {\n return withoutPrefix;\n }\n // If the path without the prefix doesn't start with a `/` we need to add it\n // back to the path to make sure it's a valid path.\n return \"/\" + withoutPrefix;\n} //# sourceMappingURL=remove-path-prefix.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS1wYXRoLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsb0RBQW1EO0lBQy9DSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUJBQWlCQyxtQkFBT0EsQ0FBQyxtSEFBbUI7QUFDbEQsU0FBU0YsaUJBQWlCRyxJQUFJLEVBQUVDLE1BQU07SUFDbEMseUVBQXlFO0lBQ3pFLDBFQUEwRTtJQUMxRSxrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLG9CQUFvQjtJQUNwQixFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFDekIsSUFBSSxDQUFDLENBQUMsR0FBR0gsZUFBZUksYUFBYSxFQUFFRixNQUFNQyxTQUFTO1FBQ2xELE9BQU9EO0lBQ1g7SUFDQSwrQ0FBK0M7SUFDL0MsTUFBTUcsZ0JBQWdCSCxLQUFLSSxLQUFLLENBQUNILE9BQU9JLE1BQU07SUFDOUMsMkVBQTJFO0lBQzNFLElBQUlGLGNBQWNHLFVBQVUsQ0FBQyxNQUFNO1FBQy9CLE9BQU9IO0lBQ1g7SUFDQSw0RUFBNEU7SUFDNUUsbURBQW1EO0lBQ25ELE9BQU8sTUFBTUE7QUFDakIsRUFFQSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS1wYXRoLXByZWZpeC5qcz82MTQzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicmVtb3ZlUGF0aFByZWZpeFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcmVtb3ZlUGF0aFByZWZpeDtcbiAgICB9XG59KTtcbmNvbnN0IF9wYXRoaGFzcHJlZml4ID0gcmVxdWlyZShcIi4vcGF0aC1oYXMtcHJlZml4XCIpO1xuZnVuY3Rpb24gcmVtb3ZlUGF0aFByZWZpeChwYXRoLCBwcmVmaXgpIHtcbiAgICAvLyBJZiB0aGUgcGF0aCBkb2Vzbid0IHN0YXJ0IHdpdGggdGhlIHByZWZpeCB3ZSBjYW4gcmV0dXJuIGl0IGFzIGlzLiBUaGlzXG4gICAgLy8gcHJvdGVjdHMgdXMgZnJvbSBzaXR1YXRpb25zIHdoZXJlIHRoZSBwcmVmaXggaXMgYSBzdWJzdHJpbmcgb2YgdGhlIHBhdGhcbiAgICAvLyBwcmVmaXggc3VjaCBhczpcbiAgICAvL1xuICAgIC8vIEZvciBwcmVmaXg6IC9ibG9nXG4gICAgLy9cbiAgICAvLyAgIC9ibG9nIC0+IHRydWVcbiAgICAvLyAgIC9ibG9nLyAtPiB0cnVlXG4gICAgLy8gICAvYmxvZy8xIC0+IHRydWVcbiAgICAvLyAgIC9ibG9nZ2luZyAtPiBmYWxzZVxuICAgIC8vICAgL2Jsb2dnaW5nLyAtPiBmYWxzZVxuICAgIC8vICAgL2Jsb2dnaW5nLzEgLT4gZmFsc2VcbiAgICBpZiAoISgwLCBfcGF0aGhhc3ByZWZpeC5wYXRoSGFzUHJlZml4KShwYXRoLCBwcmVmaXgpKSB7XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIH1cbiAgICAvLyBSZW1vdmUgdGhlIHByZWZpeCBmcm9tIHRoZSBwYXRoIHZpYSBzbGljaW5nLlxuICAgIGNvbnN0IHdpdGhvdXRQcmVmaXggPSBwYXRoLnNsaWNlKHByZWZpeC5sZW5ndGgpO1xuICAgIC8vIElmIHRoZSBwYXRoIHdpdGhvdXQgdGhlIHByZWZpeCBzdGFydHMgd2l0aCBhIGAvYCB3ZSBjYW4gcmV0dXJuIGl0IGFzIGlzLlxuICAgIGlmICh3aXRob3V0UHJlZml4LnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG4gICAgICAgIHJldHVybiB3aXRob3V0UHJlZml4O1xuICAgIH1cbiAgICAvLyBJZiB0aGUgcGF0aCB3aXRob3V0IHRoZSBwcmVmaXggZG9lc24ndCBzdGFydCB3aXRoIGEgYC9gIHdlIG5lZWQgdG8gYWRkIGl0XG4gICAgLy8gYmFjayB0byB0aGUgcGF0aCB0byBtYWtlIHN1cmUgaXQncyBhIHZhbGlkIHBhdGguXG4gICAgcmV0dXJuIFwiL1wiICsgd2l0aG91dFByZWZpeDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVtb3ZlLXBhdGgtcHJlZml4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJyZW1vdmVQYXRoUHJlZml4IiwiX3BhdGhoYXNwcmVmaXgiLCJyZXF1aXJlIiwicGF0aCIsInByZWZpeCIsInBhdGhIYXNQcmVmaXgiLCJ3aXRob3V0UHJlZml4Iiwic2xpY2UiLCJsZW5ndGgiLCJzdGFydHNXaXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js": /*!*********************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js ***! \*********************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Removes the trailing slash for a given route or page path. Preserves the\n * root page. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n * - `/` -> `/`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return removeTrailingSlash;\n }\n}));\nfunction removeTrailingSlash(route) {\n return route.replace(/\\/$/, \"\") || \"/\";\n} //# sourceMappingURL=remove-trailing-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUMsR0FBZ0I7QUFDakJBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx1REFBc0Q7SUFDbERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSxvQkFBb0JDLEtBQUs7SUFDOUIsT0FBT0EsTUFBTUMsT0FBTyxDQUFDLE9BQU8sT0FBTztBQUN2QyxFQUVBLGlEQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcmVtb3ZlLXRyYWlsaW5nLXNsYXNoLmpzP2VjMDYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZW1vdmVzIHRoZSB0cmFpbGluZyBzbGFzaCBmb3IgYSBnaXZlbiByb3V0ZSBvciBwYWdlIHBhdGguIFByZXNlcnZlcyB0aGVcbiAqIHJvb3QgcGFnZS4gRXhhbXBsZXM6XG4gKiAgIC0gYC9mb28vYmFyL2AgLT4gYC9mb28vYmFyYFxuICogICAtIGAvZm9vL2JhcmAgLT4gYC9mb28vYmFyYFxuICogICAtIGAvYCAtPiBgL2BcbiAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInJlbW92ZVRyYWlsaW5nU2xhc2hcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlbW92ZVRyYWlsaW5nU2xhc2g7XG4gICAgfVxufSk7XG5mdW5jdGlvbiByZW1vdmVUcmFpbGluZ1NsYXNoKHJvdXRlKSB7XG4gICAgcmV0dXJuIHJvdXRlLnJlcGxhY2UoL1xcLyQvLCBcIlwiKSB8fCBcIi9cIjtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVtb3ZlLXRyYWlsaW5nLXNsYXNoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJyZW1vdmVUcmFpbGluZ1NsYXNoIiwicm91dGUiLCJyZXBsYWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvc29ydGVkLXJvdXRlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsbURBQWtEO0lBQzlDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUM7SUFDRkMsT0FBT0MsT0FBTyxFQUFFO1FBQ1osSUFBSSxDQUFDQyxPQUFPLENBQUNELFFBQVFFLEtBQUssQ0FBQyxLQUFLQyxNQUFNLENBQUNDLFVBQVUsRUFBRSxFQUFFO0lBQ3pEO0lBQ0FDLFNBQVM7UUFDTCxPQUFPLElBQUksQ0FBQ0MsT0FBTztJQUN2QjtJQUNBQSxRQUFRQyxNQUFNLEVBQUU7UUFDWixJQUFJQSxXQUFXLEtBQUssR0FBR0EsU0FBUztRQUNoQyxNQUFNQyxnQkFBZ0I7ZUFDZixJQUFJLENBQUNDLFFBQVEsQ0FBQ0MsSUFBSTtTQUN4QixDQUFDQyxJQUFJO1FBQ04sSUFBSSxJQUFJLENBQUNDLFFBQVEsS0FBSyxNQUFNO1lBQ3hCSixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxPQUFPO1FBQ3REO1FBQ0EsSUFBSSxJQUFJLENBQUNDLFlBQVksS0FBSyxNQUFNO1lBQzVCUCxjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxVQUFVO1FBQ3pEO1FBQ0EsSUFBSSxJQUFJLENBQUNFLG9CQUFvQixLQUFLLE1BQU07WUFDcENSLGNBQWNLLE1BQU0sQ0FBQ0wsY0FBY00sT0FBTyxDQUFDLFlBQVk7UUFDM0Q7UUFDQSxNQUFNRyxTQUFTVCxjQUFjVSxHQUFHLENBQUMsQ0FBQ0MsSUFBSSxJQUFJLENBQUNWLFFBQVEsQ0FBQ2IsR0FBRyxDQUFDdUIsR0FBR2IsT0FBTyxDQUFDLEtBQUtDLFNBQVNZLElBQUksTUFBTUMsTUFBTSxDQUFDLENB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aUY7UUFDakYsSUFBSSxDQUFDLElBQUksQ0FBQ3hCLFFBQVEsQ0FBQ29DLEdBQUcsQ0FBQ1osY0FBYztZQUNqQyxJQUFJLENBQUN4QixRQUFRLENBQUNxQyxHQUFHLENBQUNiLGFBQWEsSUFBSW5DO1FBQ3ZDO1FBQ0EsSUFBSSxDQUFDVyxRQUFRLENBQUNiLEdBQUcsQ0FBQ3FDLGFBQWFoQyxPQUFPLENBQUM0QixTQUFTSCxLQUFLLENBQUMsSUFBSUksV0FBV0M7SUFDekU7SUFDQWdCLGFBQWE7UUFDVCxJQUFJLENBQUN2QixXQUFXLEdBQUc7UUFDbkIsSUFBSSxDQUFDZixRQUFRLEdBQUcsSUFBSXVDO1FBQ3BCLElBQUksQ0FBQ3BDLFFBQVEsR0FBRztRQUNoQixJQUFJLENBQUNHLFlBQVksR0FBRztRQUNwQixJQUFJLENBQUNDLG9CQUFvQixHQUFHO0lBQ2hDO0FBQ0o7QUFDQSxTQUFTbkIsZ0JBQWdCb0QsZUFBZTtJQUNwQyxrRkFBa0Y7SUFDbEYsNEVBQTRFO0lBQzVFLDJDQUEyQztJQUMzQyx5RUFBeUU7SUFDekUsMkJBQTJCO0lBQzNCLG9DQUFvQztJQUNwQyw4RUFBOEU7SUFDOUUsd0VBQXdFO0lBQ3hFLGdIQUFnSDtJQUNoSCw0RUFBNEU7SUFDNUUsTUFBTUMsT0FBTyxJQUFJcEQ7SUFDakIsNkZBQTZGO0lBQzdGbUQsZ0JBQWdCUCxPQUFPLENBQUMsQ0FBQ1MsV0FBV0QsS0FBS25ELE1BQU0sQ0FBQ29EO0lBQ2hELDRHQUE0RztJQUM1RyxPQUFPRCxLQUFLN0MsTUFBTTtBQUN0QixFQUVBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL3doaXNreS12YXVsdC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvc29ydGVkLXJvdXRlcy5qcz8yZjc4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0U29ydGVkUm91dGVzXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRTb3J0ZWRSb3V0ZXM7XG4gICAgfVxufSk7XG5jbGFzcyBVcmxOb2RlIHtcbiAgICBpbnNlcnQodXJsUGF0aCkge1xuICAgICAgICB0aGlzLl9pbnNlcnQodXJsUGF0aC5zcGxpdChcIi9cIikuZmlsdGVyKEJvb2xlYW4pLCBbXSwgZmFsc2UpO1xuICAgIH1cbiAgICBzbW9vc2goKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zbW9vc2goKTtcbiAgICB9XG4gICAgX3Ntb29zaChwcmVmaXgpIHtcbiAgICAgICAgaWYgKHByZWZpeCA9PT0gdm9pZCAwKSBwcmVmaXggPSBcIi9cIjtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5QYXRocyA9IFtcbiAgICAgICAgICAgIC4uLnRoaXMuY2hpbGRyZW4ua2V5cygpXG4gICAgICAgIF0uc29ydCgpO1xuICAgICAgICBpZiAodGhpcy5zbHVnTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY2hpbGRyZW5QYXRocy5zcGxpY2UoY2hpbGRyZW5QYXRocy5pbmRleE9mKFwiW11cIiksIDEpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnJlc3RTbHVnTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY2hpbGRyZW5QYXRocy5zcGxpY2UoY2hpbGRyZW5QYXRocy5pbmRleE9mKFwiWy4uLl1cIiksIDEpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjaGlsZHJlblBhdGhzLnNwbGljZShjaGlsZHJlblBhdGhzLmluZGV4T2YoXCJbWy4uLl1dXCIpLCAxKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByb3V0ZXMgPSBjaGlsZHJlblBhdGhzLm1hcCgoYyk9PnRoaXMuY2hpbGRyZW4uZ2V0KGMpLl9zbW9vc2goXCJcIiArIHByZWZpeCArIGMgKyBcIi9cIikpLnJlZHVjZSgocHJldiwgY3Vycik9PltcbiAgICAgICAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgICAgICAgIC4uLmN1cnJcbiAgICAgICAgICAgIF0sIFtdKTtcbiAgICAgICAgaWYgKHRoaXMuc2x1Z05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJvdXRlcy5wdXNoKC4uLnRoaXMuY2hpbGRyZW4uZ2V0KFwiW11cIikuX3Ntb29zaChwcmVmaXggKyBcIltcIiArIHRoaXMuc2x1Z05hbWUgKyBcIl0vXCIpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHIgPSBwcmVmaXggPT09IFwiL1wiID8gXCIvXCIgOiBwcmVmaXguc2xpY2UoMCwgLTEpO1xuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IGNhbm5vdCBkZWZpbmUgYSByb3V0ZSB3aXRoIHRoZSBzYW1lIHNwZWNpZmljaXR5IGFzIGEgb3B0aW9uYWwgY2F0Y2gtYWxsIHJvdXRlIChcIicgKyByICsgJ1wiIGFuZCBcIicgKyByICsgXCJbWy4uLlwiICsgdGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSArICddXVwiKS4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJvdXRlcy51bnNoaWZ0KHIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnJlc3RTbHVnTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcm91dGVzLnB1c2goLi4udGhpcy5jaGlsZHJlbi5nZXQoXCJbLi4uXVwiKS5fc21vb3NoKHByZWZpeCArIFwiWy4uLlwiICsgdGhpcy5yZXN0U2x1Z05hbWUgKyBcIl0vXCIpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcm91dGVzLnB1c2goLi4udGhpcy5jaGlsZHJlbi5nZXQoXCJbWy4uLl1dXCIpLl9zbW9vc2gocHJlZml4ICsgXCJbWy4uLlwiICsgdGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSArIFwiXV0vXCIpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcm91dGVzO1xuICAgIH1cbiAgICBfaW5zZXJ0KHVybFBhdGhzLCBzbHVnTmFtZXMsIGlzQ2F0Y2hBbGwpIHtcbiAgICAgICAgaWYgKHVybFBhdGhzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0NhdGNoQWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYXRjaC1hbGwgbXVzdCBiZSB0aGUgbGFzdCBwYXJ0IG9mIHRoZSBVUkwuXCIpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRoZSBuZXh0IHNlZ21lbnQgaW4gdGhlIHVybFBhdGhzIGxpc3RcbiAgICAgICAgbGV0IG5leHRTZWdtZW50ID0gdXJsUGF0aHNbMF07XG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBzZWdtZW50IG1hdGNoZXMgYFtzb21ldGhpbmddYFxuICAgICAgICBpZiAobmV4dFNlZ21lbnQuc3RhcnRzV2l0aChcIltcIikgJiYgbmV4dFNlZ21lbnQuZW5kc1dpdGgoXCJdXCIpKSB7XG4gICAgICAgICAgICAvLyBTdHJpcCBgW2AgYW5kIGBdYCwgbGVhdmluZyBvbmx5IGBzb21ldGhpbmdgXG4gICAgICAgICAgICBsZXQgc2VnbWVudE5hbWUgPSBuZXh0U2VnbWVudC5zbGljZSgxLCAtMSk7XG4gICAgICAgICAgICBsZXQgaXNPcHRpb25hbCA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKHNlZ21lbnROYW1lLnN0YXJ0c1dpdGgoXCJbXCIpICYmIHNlZ21lbnROYW1lLmVuZHNXaXRoKFwiXVwiKSkge1xuICAgICAgICAgICAgICAgIC8vIFN0cmlwIG9wdGlvbmFsIGBbYCBhbmQgYF1gLCBsZWF2aW5nIG9ubHkgYHNvbWV0aGluZ2BcbiAgICAgICAgICAgICAgICBzZWdtZW50TmFtZSA9IHNlZ21lbnROYW1lLnNsaWNlKDEsIC0xKTtcbiAgICAgICAgICAgICAgICBpc09wdGlvbmFsID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZWdtZW50TmFtZS5zdGFydHNXaXRoKFwiLi4uXCIpKSB7XG4gICAgICAgICAgICAgICAgLy8gU3RyaXAgYC4uLmAsIGxlYXZpbmcgb25seSBgc29tZXRoaW5nYFxuICAgICAgICAgICAgICAgIHNlZ21lbnROYW1lID0gc2VnbWVudE5hbWUuc3Vic3RyaW5nKDMpO1xuICAgICAgICAgICAgICAgIGlzQ2F0Y2hBbGwgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNlZ21lbnROYW1lLnN0YXJ0c1dpdGgoXCJbXCIpIHx8IHNlZ21lbnROYW1lLmVuZHNXaXRoKFwiXVwiKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlNlZ21lbnQgbmFtZXMgbWF5IG5vdCBzdGFydCBvciBlbmQgd2l0aCBleHRyYSBicmFja2V0cyAoJ1wiICsgc2VnbWVudE5hbWUgKyBcIicpLlwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzZWdtZW50TmFtZS5zdGFydHNXaXRoKFwiLlwiKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlNlZ21lbnQgbmFtZXMgbWF5IG5vdCBzdGFydCB3aXRoIGVycm9uZW91cyBwZXJpb2RzICgnXCIgKyBzZWdtZW50TmFtZSArIFwiJykuXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZnVuY3Rpb24gaGFuZGxlU2x1ZyhwcmV2aW91c1NsdWcsIG5leHRTbHVnKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzU2x1ZyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgc3BlY2lmaWMgc2VnbWVudCBhbHJlYWR5IGhhcyBhIHNsdWcgYnV0IHRoZSBzbHVnIGlzIG5vdCBgc29tZXRoaW5nYFxuICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIHByZXZlbnRzIGNvbGxpc2lvbnMgbGlrZTpcbiAgICAgICAgICAgICAgICAgICAgLy8gcGFnZXMvW3Bvc3RdL2luZGV4LmpzXG4gICAgICAgICAgICAgICAgICAgIC8vIHBhZ2VzL1tpZF0vaW5kZXguanNcbiAgICAgICAgICAgICAgICAgICAgLy8gQmVjYXVzZSBjdXJyZW50bHkgbXVsdGlwbGUgZHluYW1pYyBwYXJhbXMgb24gdGhlIHNhbWUgc2VnbWVudCBsZXZlbCBhcmUgbm90IHN1cHBvcnRlZFxuICAgICAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNTbHVnICE9PSBuZXh0U2x1Zykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogVGhpcyBlcnJvciBzZWVtcyB0byBiZSBjb25mdXNpbmcgZm9yIHVzZXJzLCBuZWVkcyBhbiBlcnJvciBsaW5rLCB0aGUgZGVzY3JpcHRpb24gY2FuIGJlIGJhc2VkIG9uIGFib3ZlIGNvbW1lbnQuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJZb3UgY2Fubm90IHVzZSBkaWZmZXJlbnQgc2x1ZyBuYW1lcyBmb3IgdGhlIHNhbWUgZHluYW1pYyBwYXRoICgnXCIgKyBwcmV2aW91c1NsdWcgKyBcIicgIT09ICdcIiArIG5leHRTbHVnICsgXCInKS5cIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2x1Z05hbWVzLmZvckVhY2goKHNsdWcpPT57XG4gICAgICAgICAgICAgICAgICAgIGlmIChzbHVnID09PSBuZXh0U2x1Zykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2Fubm90IGhhdmUgdGhlIHNhbWUgc2x1ZyBuYW1lIFwiJyArIG5leHRTbHVnICsgJ1wiIHJlcGVhdCB3aXRoaW4gYSBzaW5nbGUgZHluYW1pYyBwYXRoJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHNsdWcucmVwbGFjZSgvXFxXL2csIFwiXCIpID09PSBuZXh0U2VnbWVudC5yZXBsYWNlKC9cXFcvZywgXCJcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IGNhbm5vdCBoYXZlIHRoZSBzbHVnIG5hbWVzIFwiJyArIHNsdWcgKyAnXCIgYW5kIFwiJyArIG5leHRTbHVnICsgJ1wiIGRpZmZlciBvbmx5IGJ5IG5vbi13b3JkIHN5bWJvbHMgd2l0aGluIGEgc2luZ2xlIGR5bmFtaWMgcGF0aCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgc2x1Z05hbWVzLnB1c2gobmV4dFNsdWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzQ2F0Y2hBbGwpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNPcHRpb25hbCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5yZXN0U2x1Z05hbWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2Fubm90IHVzZSBib3RoIGFuIHJlcXVpcmVkIGFuZCBvcHRpb25hbCBjYXRjaC1hbGwgcm91dGUgYXQgdGhlIHNhbWUgbGV2ZWwgKFwiWy4uLicgKyB0aGlzLnJlc3RTbHVnTmFtZSArICddXCIgYW5kIFwiJyArIHVybFBhdGhzWzBdICsgJ1wiICkuJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2x1Zyh0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lLCBzZWdtZW50TmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHNsdWdOYW1lIGlzIGtlcHQgYXMgaXQgY2FuIG9ubHkgYmUgb25lIHBhcnRpY3VsYXIgc2x1Z05hbWVcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSA9IHNlZ21lbnROYW1lO1xuICAgICAgICAgICAgICAgICAgICAvLyBuZXh0U2VnbWVudCBpcyBvdmVyd3JpdHRlbiB0byBbWy4uLl1dIHNvIHRoYXQgaXQgY2FuIGxhdGVyIGJlIHNvcnRlZCBzcGVjaWZpY2FsbHlcbiAgICAgICAgICAgICAgICAgICAgbmV4dFNlZ21lbnQgPSBcIltbLi4uXV1cIjtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3QgdXNlIGJvdGggYW4gb3B0aW9uYWwgYW5kIHJlcXVpcmVkIGNhdGNoLWFsbCByb3V0ZSBhdCB0aGUgc2FtZSBsZXZlbCAoXCJbWy4uLicgKyB0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICsgJ11dXCIgYW5kIFwiJyArIHVybFBhdGhzWzBdICsgJ1wiKS4nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVTbHVnKHRoaXMucmVzdFNsdWdOYW1lLCBzZWdtZW50TmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHNsdWdOYW1lIGlzIGtlcHQgYXMgaXQgY2FuIG9ubHkgYmUgb25lIHBhcnRpY3VsYXIgc2x1Z05hbWVcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXN0U2x1Z05hbWUgPSBzZWdtZW50TmFtZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gbmV4dFNlZ21lbnQgaXMgb3ZlcndyaXR0ZW4gdG8gWy4uLl0gc28gdGhhdCBpdCBjYW4gbGF0ZXIgYmUgc29ydGVkIHNwZWNpZmljYWxseVxuICAgICAgICAgICAgICAgICAgICBuZXh0U2VnbWVudCA9IFwiWy4uLl1cIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChpc09wdGlvbmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignT3B0aW9uYWwgcm91dGUgcGFyYW1ldGVycyBhcmUgbm90IHlldCBzdXBwb3J0ZWQgKFwiJyArIHVybFBhdGhzWzBdICsgJ1wiKS4nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaGFuZGxlU2x1Zyh0aGlzLnNsdWdOYW1lLCBzZWdtZW50TmFtZSk7XG4gICAgICAgICAgICAgICAgLy8gc2x1Z05hbWUgaXMga2VwdCBhcyBpdCBjYW4gb25seSBiZSBvbmUgcGFydGljdWxhciBzbHVnTmFtZVxuICAgICAgICAgICAgICAgIHRoaXMuc2x1Z05hbWUgPSBzZWdtZW50TmFtZTtcbiAgICAgICAgICAgICAgICAvLyBuZXh0U2VnbWVudCBpcyBvdmVyd3JpdHRlbiB0byBbXSBzbyB0aGF0IGl0IGNhbiBsYXRlciBiZSBzb3J0ZWQgc3BlY2lmaWNhbGx5XG4gICAgICAgICAgICAgICAgbmV4dFNlZ21lbnQgPSBcIltdXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgdGhpcyBVcmxOb2RlIGRvZXNuJ3QgaGF2ZSB0aGUgbmV4dFNlZ21lbnQgeWV0IHdlIGNyZWF0ZSBhIG5ldyBjaGlsZCBVcmxOb2RlXG4gICAgICAgIGlmICghdGhpcy5jaGlsZHJlbi5oYXMobmV4dFNlZ21lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuLnNldChuZXh0U2VnbWVudCwgbmV3IFVybE5vZGUoKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGlsZHJlbi5nZXQobmV4dFNlZ21lbnQpLl9pbnNlcnQodXJsUGF0aHMuc2xpY2UoMSksIHNsdWdOYW1lcywgaXNDYXRjaEFsbCk7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKCl7XG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSB0cnVlO1xuICAgICAgICB0aGlzLmNoaWxkcmVuID0gbmV3IE1hcCgpO1xuICAgICAgICB0aGlzLnNsdWdOYW1lID0gbnVsbDtcbiAgICAgICAgdGhpcy5yZXN0U2x1Z05hbWUgPSBudWxsO1xuICAgICAgICB0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lID0gbnVsbDtcbiAgICB9XG59XG5mdW5jdGlvbiBnZXRTb3J0ZWRSb3V0ZXMobm9ybWFsaXplZFBhZ2VzKSB7XG4gICAgLy8gRmlyc3QgdGhlIFVybE5vZGUgaXMgY3JlYXRlZCwgYW5kIGV2ZXJ5IFVybE5vZGUgY2FuIGhhdmUgb25seSAxIGR5bmFtaWMgc2VnbWVudFxuICAgIC8vIEVnIHlvdSBjYW4ndCBoYXZlIHBhZ2VzL1twb3N0XS9hYmMuanMgYW5kIHBhZ2VzL1toZWxsb10vc29tZXRoaW5nLWVsc2UuanNcbiAgICAvLyBPbmx5IDEgZHluYW1pYyBzZWdtZW50IHBlciBuZXN0aW5nIGxldmVsXG4gICAgLy8gU28gaW4gdGhlIGNhc2UgdGhhdCBpcyB0ZXN0L2ludGVncmF0aW9uL2R5bmFtaWMtcm91dGluZyBpdCdsbCBiZSB0aGlzOlxuICAgIC8vIHBhZ2VzL1twb3N0XS9jb21tZW50cy5qc1xuICAgIC8vIHBhZ2VzL2Jsb2cvW3Bvc3RdL2NvbW1lbnQvW2lkXS5qc1xuICAgIC8vIEJvdGggYXJlIGZpbmUgYmVjYXVzZSBgcGFnZXMvW3Bvc3RdYCBhbmQgYHBhZ2VzL2Jsb2dgIGFyZSBvbiB0aGUgc2FtZSBsZXZlbFxuICAgIC8vIFNvIGluIHRoaXMgY2FzZSBgVXJsTm9kZWAgY3JlYXRlZCBoZXJlIGhhcyBgdGhpcy5zbHVnTmFtZSA9PT0gJ3Bvc3QnYFxuICAgIC8vIEFuZCBzaW5jZSB5b3VyIFBSIHBhc3NlZCB0aHJvdWdoIGBzbHVnTmFtZWAgYXMgYW4gYXJyYXkgYmFzaWNhbGx5IGl0J2QgaW5jbHVkaW5nIGl0IGluIHRvbyBtYW55IHBvc3NpYmlsaXRpZXNcbiAgICAvLyBJbnN0ZWFkIHdoYXQgaGFzIHRvIGJlIHBhc3NlZCB0aHJvdWdoIGlzIHRoZSB1cHdhcmRzIHBhdGgncyBkeW5hbWljIG5hbWVzXG4gICAgY29uc3Qgcm9vdCA9IG5ldyBVcmxOb2RlKCk7XG4gICAgLy8gSGVyZSB0aGUgYHJvb3RgIGdldHMgaW5qZWN0ZWQgbXVsdGlwbGUgcGF0aHMsIGFuZCBpbnNlcnQgd2lsbCBicmVhayB0aGVtIHVwIGludG8gc3VibGV2ZWxzXG4gICAgbm9ybWFsaXplZFBhZ2VzLmZvckVhY2goKHBhZ2VQYXRoKT0+cm9vdC5pbnNlcnQocGFnZVBhdGgpKTtcbiAgICAvLyBTbW9vc2ggd2lsbCB0aGVuIHNvcnQgdGhvc2Ugc3VibGV2ZWxzIHVwIHRvIHRoZSBwb2ludCB3aGVyZSB5b3UgZ2V0IHRoZSBjb3JyZWN0IHJvdXRlIGRlZmluaXRpb24gcHJpb3JpdHlcbiAgICByZXR1cm4gcm9vdC5zbW9vc2goKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c29ydGVkLXJvdXRlcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZ2V0U29ydGVkUm91dGVzIiwiVXJsTm9kZSIsImluc2VydCIsInVybFBhdGgiLCJfaW5zZXJ0Iiwic3BsaXQiLCJmaWx0ZXIiLCJCb29sZWFuIiwic21vb3NoIiwiX3Ntb29zaCIsInByZWZpeCIsImNoaWxkcmVuUGF0aHMiLCJjaGlsZHJlbiIsImtleXMiLCJzb3J0Iiwic2x1Z05hbWUiLCJzcGxpY2UiLCJpbmRleE9mIiwicmVzdFNsdWdOYW1lIiwib3B0aW9uYWxSZXN0U2x1Z05hbWUiLCJyb3V0ZXMiLCJtYXAiLCJjIiwicmVkdWNlIiwicHJldiIsImN1cnIiLCJwdXNoIiwicGxhY2Vob2xkZXIiLCJyIiwic2xpY2UiLCJFcnJvciIsInVuc2hpZnQiLCJ1cmxQYXRocyIsInNsdWdOYW1lcyIsImlzQ2F0Y2hBbGwiLCJsZW5ndGgiLCJuZXh0U2VnbWVudCIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNlZ21lbnROYW1lIiwiaXNPcHRpb25hbCIsInN1YnN0cmluZyIsImhhbmRsZVNsdWciLCJwcmV2aW91c1NsdWciLCJuZXh0U2x1ZyIsImZvckVhY2giLCJzbHVnIiwicmVwbGFjZSIsImhhcyIsInNldCIsImNvbnN0cnVjdG9yIiwiTWFwIiwibm9ybWFsaXplZFBhZ2VzIiwicm9vdCIsInBhZ2VQYXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n"); /***/ }), /***/ "(action-browser)/./node_modules/next/dist/shared/lib/segment.js": /*!******************************************************!*\ !*** ./node_modules/next/dist/shared/lib/segment.js ***! \******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isGroupSegment: function() {\n return isGroupSegment;\n },\n PAGE_SEGMENT_KEY: function() {\n return PAGE_SEGMENT_KEY;\n },\n DEFAULT_SEGMENT_KEY: function() {\n return DEFAULT_SEGMENT_KEY;\n }\n});\nfunction isGroupSegment(segment) {\n // Use array[0] for performant purpose\n return segment[0] === \"(\" && segment.endsWith(\")\");\n}\nconst PAGE_SEGMENT_KEY = \"__PAGE__\";\nconst DEFAULT_SEGMENT_KEY = \"__DEFAULT__\"; //# sourceMappingURL=segment.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFjdGlvbi1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9zZWdtZW50LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLGtCQUFrQjtRQUNkLE9BQU9BO0lBQ1g7SUFDQUMscUJBQXFCO1FBQ2pCLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLFNBQVNGLGVBQWVTLE9BQU87SUFDM0Isc0NBQXNDO0lBQ3RDLE9BQU9BLE9BQU8sQ0FBQyxFQUFFLEtBQUssT0FBT0EsUUFBUUMsUUFBUSxDQUFDO0FBQ2xEO0FBQ0EsTUFBTVQsbUJBQW1CO0FBQ3pCLE1BQU1DLHNCQUFzQixlQUU1QixtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aGlza3ktdmF1bHQvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2VnbWVudC5qcz9mZjcyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgaXNHcm91cFNlZ21lbnQ6IG51bGwsXG4gICAgUEFHRV9TRUdNRU5UX0tFWTogbnVsbCxcbiAgICBERUZBVUxUX1NFR01FTlRfS0VZOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGlzR3JvdXBTZWdtZW50OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzR3JvdXBTZWdtZW50O1xuICAgIH0sXG4gICAgUEFHRV9TRUdNRU5UX0tFWTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQQUdFX1NFR01FTlRfS0VZO1xuICAgIH0sXG4gICAgREVGQVVMVF9TRUdNRU5UX0tFWTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBERUZBVUxUX1NFR01FTlRfS0VZO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaXNHcm91cFNlZ21lbnQoc2VnbWVudCkge1xuICAgIC8vIFVzZSBhcnJheVswXSBmb3IgcGVyZm9ybWFudCBwdXJwb3NlXG4gICAgcmV0dXJuIHNlZ21lbnRbMF0gPT09IFwiKFwiICYmIHNlZ21lbnQuZW5kc1dpdGgoXCIpXCIpO1xufVxuY29uc3QgUEFHRV9TRUdNRU5UX0tFWSA9IFwiX19QQUdFX19cIjtcbmNvbnN0IERFRkFVTFRfU0VHTUVOVF9LRVkgPSBcIl9fREVGQVVMVF9fXCI7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNlZ21lbnQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiaXNHcm91cFNlZ21lbnQiLCJQQUdFX1NFR01FTlRfS0VZIiwiREVGQVVMVF9TRUdNRU5UX0tFWSIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsInNlZ21lbnQiLCJlbmRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(action-browser)/./node_modules/next/dist/shared/lib/segment.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/segment.js": /*!******************************************************!*\ !*** ./node_modules/next/dist/shared/lib/segment.js ***! \******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isGroupSegment: function() {\n return isGroupSegment;\n },\n PAGE_SEGMENT_KEY: function() {\n return PAGE_SEGMENT_KEY;\n },\n DEFAULT_SEGMENT_KEY: function() {\n return DEFAULT_SEGMENT_KEY;\n }\n});\nfunction isGroupSegment(segment) {\n // Use array[0] for performant purpose\n return segment[0] === \"(\" && segment.endsWith(\")\");\n}\nconst PAGE_SEGMENT_KEY = \"__PAGE__\";\nconst DEFAULT_SEGMENT_KEY = \"__DEFAULT__\"; //# sourceMappingURL=segment.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2VnbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUlOO0FBQ0EsU0FBU0ksUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVYsT0FBT0MsY0FBYyxDQUFDUSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFOLFNBQVM7SUFDYkcsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtJQUNBQyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxTQUFTRixlQUFlUyxPQUFPO0lBQzNCLHNDQUFzQztJQUN0QyxPQUFPQSxPQUFPLENBQUMsRUFBRSxLQUFLLE9BQU9BLFFBQVFDLFFBQVEsQ0FBQztBQUNsRDtBQUNBLE1BQU1ULG1CQUFtQjtBQUN6QixNQUFNQyxzQkFBc0IsZUFFNUIsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3NlZ21lbnQuanM/ZmY3MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGlzR3JvdXBTZWdtZW50OiBudWxsLFxuICAgIFBBR0VfU0VHTUVOVF9LRVk6IG51bGwsXG4gICAgREVGQVVMVF9TRUdNRU5UX0tFWTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBpc0dyb3VwU2VnbWVudDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0dyb3VwU2VnbWVudDtcbiAgICB9LFxuICAgIFBBR0VfU0VHTUVOVF9LRVk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUEFHRV9TRUdNRU5UX0tFWTtcbiAgICB9LFxuICAgIERFRkFVTFRfU0VHTUVOVF9LRVk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gREVGQVVMVF9TRUdNRU5UX0tFWTtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGlzR3JvdXBTZWdtZW50KHNlZ21lbnQpIHtcbiAgICAvLyBVc2UgYXJyYXlbMF0gZm9yIHBlcmZvcm1hbnQgcHVycG9zZVxuICAgIHJldHVybiBzZWdtZW50WzBdID09PSBcIihcIiAmJiBzZWdtZW50LmVuZHNXaXRoKFwiKVwiKTtcbn1cbmNvbnN0IFBBR0VfU0VHTUVOVF9LRVkgPSBcIl9fUEFHRV9fXCI7XG5jb25zdCBERUZBVUxUX1NFR01FTlRfS0VZID0gXCJfX0RFRkFVTFRfX1wiO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZWdtZW50LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImlzR3JvdXBTZWdtZW50IiwiUEFHRV9TRUdNRU5UX0tFWSIsIkRFRkFVTFRfU0VHTUVOVF9LRVkiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJzZWdtZW50IiwiZW5kc1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/segment.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/server.js": /*!*************************************!*\ !*** ./node_modules/next/server.js ***! \*************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nconst serverExports = {\n NextRequest: (__webpack_require__(/*! next/dist/server/web/spec-extension/request */ \"(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/request.js\").NextRequest),\n NextResponse: (__webpack_require__(/*! next/dist/server/web/spec-extension/response */ \"(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/response.js\").NextResponse),\n ImageResponse: (__webpack_require__(/*! next/dist/server/web/spec-extension/image-response */ \"(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/image-response.js\").ImageResponse),\n userAgentFromString: (__webpack_require__(/*! next/dist/server/web/spec-extension/user-agent */ \"(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/user-agent.js\").userAgentFromString),\n userAgent: (__webpack_require__(/*! next/dist/server/web/spec-extension/user-agent */ \"(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/user-agent.js\").userAgent)\n};\nif (typeof URLPattern !== \"undefined\") {\n // eslint-disable-next-line no-undef\n serverExports.URLPattern = URLPattern;\n}\n// https://nodejs.org/api/esm.html#commonjs-namespaces\n// When importing CommonJS modules, the module.exports object is provided as the default export\nmodule.exports = serverExports;\n// make import { xxx } from 'next/server' work\nexports.NextRequest = serverExports.NextRequest;\nexports.NextResponse = serverExports.NextResponse;\nexports.ImageResponse = serverExports.ImageResponse;\nexports.userAgentFromString = serverExports.userAgentFromString;\nexports.userAgent = serverExports.userAgent;\nexports.URLPattern = serverExports.URLPattern;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9zZXJ2ZXIuanMiLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU1BLGdCQUFnQjtJQUNwQkMsYUFBYUMsMEtBQ0M7SUFDZEMsY0FBY0QsNktBQ0M7SUFDZkUsZUFBZUYsMExBQ0M7SUFDaEJHLHFCQUFxQkgsd0xBQ0M7SUFDdEJJLFdBQVdKLDhLQUNDO0FBQ2Q7QUFFQSxJQUFJLE9BQU9LLGVBQWUsYUFBYTtJQUNyQyxvQ0FBb0M7SUFDcENQLGNBQWNPLFVBQVUsR0FBR0E7QUFDN0I7QUFFQSxzREFBc0Q7QUFDdEQsK0ZBQStGO0FBQy9GQyxPQUFPQyxPQUFPLEdBQUdUO0FBRWpCLDhDQUE4QztBQUM5Q1MsbUJBQW1CLEdBQUdULGNBQWNDLFdBQVc7QUFDL0NRLG9CQUFvQixHQUFHVCxjQUFjRyxZQUFZO0FBQ2pETSxxQkFBcUIsR0FBR1QsY0FBY0ksYUFBYTtBQUNuREssMkJBQTJCLEdBQUdULGNBQWNLLG1CQUFtQjtBQUMvREksaUJBQWlCLEdBQUdULGNBQWNNLFNBQVM7QUFDM0NHLGtCQUFrQixHQUFHVCxjQUFjTyxVQUFVIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2hpc2t5LXZhdWx0Ly4vbm9kZV9tb2R1bGVzL25leHQvc2VydmVyLmpzPzMyMmEiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3Qgc2VydmVyRXhwb3J0cyA9IHtcbiAgTmV4dFJlcXVlc3Q6IHJlcXVpcmUoJ25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL3JlcXVlc3QnKVxuICAgIC5OZXh0UmVxdWVzdCxcbiAgTmV4dFJlc3BvbnNlOiByZXF1aXJlKCduZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9yZXNwb25zZScpXG4gICAgLk5leHRSZXNwb25zZSxcbiAgSW1hZ2VSZXNwb25zZTogcmVxdWlyZSgnbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vaW1hZ2UtcmVzcG9uc2UnKVxuICAgIC5JbWFnZVJlc3BvbnNlLFxuICB1c2VyQWdlbnRGcm9tU3RyaW5nOiByZXF1aXJlKCduZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi91c2VyLWFnZW50JylcbiAgICAudXNlckFnZW50RnJvbVN0cmluZyxcbiAgdXNlckFnZW50OiByZXF1aXJlKCduZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi91c2VyLWFnZW50JylcbiAgICAudXNlckFnZW50LFxufVxuXG5pZiAodHlwZW9mIFVSTFBhdHRlcm4gIT09ICd1bmRlZmluZWQnKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICBzZXJ2ZXJFeHBvcnRzLlVSTFBhdHRlcm4gPSBVUkxQYXR0ZXJuXG59XG5cbi8vIGh0dHBzOi8vbm9kZWpzLm9yZy9hcGkvZXNtLmh0bWwjY29tbW9uanMtbmFtZXNwYWNlc1xuLy8gV2hlbiBpbXBvcnRpbmcgQ29tbW9uSlMgbW9kdWxlcywgdGhlIG1vZHVsZS5leHBvcnRzIG9iamVjdCBpcyBwcm92aWRlZCBhcyB0aGUgZGVmYXVsdCBleHBvcnRcbm1vZHVsZS5leHBvcnRzID0gc2VydmVyRXhwb3J0c1xuXG4vLyBtYWtlIGltcG9ydCB7IHh4eCB9IGZyb20gJ25leHQvc2VydmVyJyB3b3JrXG5leHBvcnRzLk5leHRSZXF1ZXN0ID0gc2VydmVyRXhwb3J0cy5OZXh0UmVxdWVzdFxuZXhwb3J0cy5OZXh0UmVzcG9uc2UgPSBzZXJ2ZXJFeHBvcnRzLk5leHRSZXNwb25zZVxuZXhwb3J0cy5JbWFnZVJlc3BvbnNlID0gc2VydmVyRXhwb3J0cy5JbWFnZVJlc3BvbnNlXG5leHBvcnRzLnVzZXJBZ2VudEZyb21TdHJpbmcgPSBzZXJ2ZXJFeHBvcnRzLnVzZXJBZ2VudEZyb21TdHJpbmdcbmV4cG9ydHMudXNlckFnZW50ID0gc2VydmVyRXhwb3J0cy51c2VyQWdlbnRcbmV4cG9ydHMuVVJMUGF0dGVybiA9IHNlcnZlckV4cG9ydHMuVVJMUGF0dGVyblxuIl0sIm5hbWVzIjpbInNlcnZlckV4cG9ydHMiLCJOZXh0UmVxdWVzdCIsInJlcXVpcmUiLCJOZXh0UmVzcG9uc2UiLCJJbWFnZVJlc3BvbnNlIiwidXNlckFnZW50RnJvbVN0cmluZyIsInVzZXJBZ2VudCIsIlVSTFBhdHRlcm4iLCJtb2R1bGUiLCJleHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/server.js\n"); /***/ }) }; ;