{"ast":null,"code":"\"use strict\";\n\nvar _regeneratorRuntime = require(\"@babel/runtime/regenerator\");\n\nvar _asyncToGenerator = require(\"@babel/runtime/helpers/asyncToGenerator\");\n\nvar _classCallCheck = require(\"@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"@babel/runtime/helpers/createClass\");\n\nvar _inherits = require(\"@babel/runtime/helpers/inherits\");\n\nvar _possibleConstructorReturn = require(\"@babel/runtime/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"@babel/runtime/helpers/getPrototypeOf\");\n\nvar _slicedToArray = require(\"@babel/runtime/helpers/slicedToArray\");\n\nvar _s = $RefreshSig$();\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar _interopRequireWildcard3 = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.render = render;\nexports.renderError = renderError;\nexports[\"default\"] = exports.emitter = exports.router = exports.version = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _interopRequireWildcard2 = _interopRequireDefault(require(\"@babel/runtime/helpers/interopRequireWildcard\"));\n\nvar _router = require(\"next/router\");\n\nvar _querystring = require(\"querystring\");\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _headManagerContext = require(\"../next-server/lib/head-manager-context\");\n\nvar _mitt = _interopRequireDefault(require(\"../next-server/lib/mitt\"));\n\nvar _routerContext = require(\"../next-server/lib/router-context\");\n\nvar _isDynamic = require(\"../next-server/lib/router/utils/is-dynamic\");\n\nvar envConfig = _interopRequireWildcard3(require(\"../next-server/lib/runtime-config\"));\n\nvar _utils = require(\"../next-server/lib/utils\");\n\nvar _headManager = _interopRequireDefault(require(\"./head-manager\"));\n\nvar _pageLoader = _interopRequireDefault(require(\"./page-loader\"));\n\nvar _performanceRelayer = _interopRequireDefault(require(\"./performance-relayer\"));\n/* global location */\n/// <reference types=\"react-dom/experimental\" />\n\n\nif (!('finally' in Promise.prototype)) {\n  // eslint-disable-next-line no-extend-native\n  Promise.prototype[\"finally\"] = require('next/dist/build/polyfills/finally-polyfill.min');\n}\n\nvar data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);\nwindow.__NEXT_DATA__ = data;\nvar version = \"9.4.4\";\nexports.version = version;\nvar props = data.props,\n    err = data.err,\n    page = data.page,\n    query = data.query,\n    buildId = data.buildId,\n    assetPrefix = data.assetPrefix,\n    runtimeConfig = data.runtimeConfig,\n    dynamicIds = data.dynamicIds,\n    isFallback = data.isFallback;\nvar prefix = assetPrefix || ''; // With dynamic assetPrefix it's no longer possible to set assetPrefix at the build time\n// So, this is how we do it in the client side at runtime\n\n__webpack_public_path__ = \"\".concat(prefix, \"/_next/\"); //eslint-disable-line\n// Initialize next/config with the environment configuration\n\nenvConfig.setConfig({\n  serverRuntimeConfig: {},\n  publicRuntimeConfig: runtimeConfig || {}\n});\nvar asPath = (0, _utils.getURL)();\nvar pageLoader = new _pageLoader[\"default\"](buildId, prefix);\n\nvar register = function register(_ref) {\n  var _ref2 = _slicedToArray(_ref, 2),\n      r = _ref2[0],\n      f = _ref2[1];\n\n  return pageLoader.registerPage(r, f);\n};\n\nif (window.__NEXT_P) {\n  // Defer page registration for another tick. This will increase the overall\n  // latency in hydrating the page, but reduce the total blocking time.\n  window.__NEXT_P.map(function (p) {\n    return setTimeout(function () {\n      return register(p);\n    }, 0);\n  });\n}\n\nwindow.__NEXT_P = [];\nwindow.__NEXT_P.push = register;\nvar updateHead = (0, _headManager[\"default\"])();\nvar appElement = document.getElementById('__next');\nvar lastAppProps;\n\nvar _lastRenderReject;\n\nvar webpackHMR;\nvar router;\nexports.router = router;\nvar Component;\nvar App, onPerfEntry;\n\nvar Container = /*#__PURE__*/function (_react$default$Compon) {\n  _inherits(Container, _react$default$Compon);\n\n  var _super = _createSuper(Container);\n\n  function Container() {\n    _classCallCheck(this, Container);\n\n    return _super.apply(this, arguments);\n  }\n\n  _createClass(Container, [{\n    key: \"componentDidCatch\",\n    value: function componentDidCatch(err, info) {\n      this.props.fn(err, info);\n    }\n  }, {\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.scrollToHash();\n\n      if (process.env.__NEXT_PLUGINS) {\n        // eslint-disable-next-line\n        Promise.resolve().then(function () {\n          return (0, _interopRequireWildcard2[\"default\"])(require('next-plugin-loader?middleware=unstable-post-hydration!'));\n        }).then(function (mod) {\n          return mod[\"default\"]();\n        })[\"catch\"](function (err) {\n          console.error('Error calling post-hydration for plugins', err);\n        });\n      } // We need to replace the router state if:\n      // - the page was (auto) exported and has a query string or search (hash)\n      // - it was auto exported and is a dynamic route (to provide params)\n      // - if it is a client-side skeleton (fallback render)\n\n\n      if (router.isSsr && (isFallback || data.nextExport && ((0, _isDynamic.isDynamicRoute)(router.pathname) || location.search) || props && props.__N_SSG && location.search)) {\n        // update query on mount for exported pages\n        router.replace(router.pathname + '?' + (0, _querystring.stringify)((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, router.query), (0, _querystring.parse)(location.search.substr(1)))), asPath, {\n          // WARNING: `_h` is an internal option for handing Next.js\n          // client-side hydration. Your app should _never_ use this property.\n          // It may change at any time without notice.\n          _h: 1,\n          // Fallback pages must trigger the data fetch, so the transition is\n          // not shallow.\n          // Other pages (strictly updating query) happens shallowly, as data\n          // requirements would already be present.\n          shallow: !isFallback\n        });\n      }\n\n      if (process.env.__NEXT_TEST_MODE) {\n        window.__NEXT_HYDRATED = true;\n\n        if (window.__NEXT_HYDRATED_CB) {\n          window.__NEXT_HYDRATED_CB();\n        }\n      }\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate() {\n      this.scrollToHash();\n    }\n  }, {\n    key: \"scrollToHash\",\n    value: function scrollToHash() {\n      var _location = location,\n          hash = _location.hash;\n      hash = hash && hash.substring(1);\n      if (!hash) return;\n      var el = document.getElementById(hash);\n      if (!el) return; // If we call scrollIntoView() in here without a setTimeout\n      // it won't scroll properly.\n\n      setTimeout(function () {\n        return el.scrollIntoView();\n      }, 0);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      if (false) {\n        return this.props.children;\n      }\n\n      if (true) {\n        var _require = require('@next/react-dev-overlay/lib/client'),\n            ReactDevOverlay = _require.ReactDevOverlay;\n\n        return /*#__PURE__*/_react[\"default\"].createElement(ReactDevOverlay, null, this.props.children);\n      }\n    }\n  }]);\n\n  return Container;\n}(_react[\"default\"].Component);\n\nvar emitter = (0, _mitt[\"default\"])();\nexports.emitter = emitter;\n\nvar _default = /*#__PURE__*/function () {\n  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n    var _ref4,\n        passedWebpackHMR,\n        _yield$pageLoader$loa,\n        app,\n        mod,\n        initialErr,\n        _yield$pageLoader$loa2,\n        _require2,\n        isValidElementType,\n        _require3,\n        getNodeError,\n        renderCtx,\n        _args = arguments;\n\n    return _regeneratorRuntime.wrap(function _callee$(_context) {\n      while (1) {\n        switch (_context.prev = _context.next) {\n          case 0:\n            _ref4 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, passedWebpackHMR = _ref4.webpackHMR;\n\n            // This makes sure this specific lines are removed in production\n            if (true) {\n              webpackHMR = passedWebpackHMR;\n            }\n\n            _context.next = 4;\n            return pageLoader.loadPageScript('/_app');\n\n          case 4:\n            _yield$pageLoader$loa = _context.sent;\n            app = _yield$pageLoader$loa.page;\n            mod = _yield$pageLoader$loa.mod;\n            App = app;\n\n            if (mod && mod.reportWebVitals) {\n              onPerfEntry = function onPerfEntry(_ref5) {\n                var id = _ref5.id,\n                    name = _ref5.name,\n                    startTime = _ref5.startTime,\n                    value = _ref5.value,\n                    duration = _ref5.duration,\n                    entryType = _ref5.entryType,\n                    entries = _ref5.entries;\n                // Combines timestamp with random number for unique ID\n                var uniqueID = \"\".concat(Date.now(), \"-\").concat(Math.floor(Math.random() * (9e12 - 1)) + 1e12);\n                var perfStartEntry;\n\n                if (entries && entries.length) {\n                  perfStartEntry = entries[0].startTime;\n                }\n\n                mod.reportWebVitals({\n                  id: id || uniqueID,\n                  name: name,\n                  startTime: startTime || perfStartEntry,\n                  value: value == null ? duration : value,\n                  label: entryType === 'mark' || entryType === 'measure' ? 'custom' : 'web-vital'\n                });\n              };\n            }\n\n            initialErr = err;\n            _context.prev = 10;\n            ;\n            _context.next = 14;\n            return pageLoader.loadPage(page);\n\n          case 14:\n            _yield$pageLoader$loa2 = _context.sent;\n            Component = _yield$pageLoader$loa2.page;\n\n            if (!true) {\n              _context.next = 20;\n              break;\n            }\n\n            _require2 = require('react-is'), isValidElementType = _require2.isValidElementType;\n\n            if (isValidElementType(Component)) {\n              _context.next = 20;\n              break;\n            }\n\n            throw new Error(\"The default export is not a React Component in page: \\\"\".concat(page, \"\\\"\"));\n\n          case 20:\n            _context.next = 25;\n            break;\n\n          case 22:\n            _context.prev = 22;\n            _context.t0 = _context[\"catch\"](10);\n            // This catches errors like throwing in the top level of a module\n            initialErr = _context.t0;\n\n          case 25:\n            if (true) {\n              _require3 = require('@next/react-dev-overlay/lib/client'), getNodeError = _require3.getNodeError; // Server-side runtime errors need to be re-thrown on the client-side so\n              // that the overlay is rendered.\n\n              if (initialErr) {\n                if (initialErr === err) {\n                  setTimeout(function () {\n                    var error;\n\n                    try {\n                      // Generate a new error object. We `throw` it because some browsers\n                      // will set the `stack` when thrown, and we want to ensure ours is\n                      // not overridden when we re-throw it below.\n                      throw new Error(initialErr.message);\n                    } catch (e) {\n                      error = e;\n                    }\n\n                    error.name = initialErr.name;\n                    error.stack = initialErr.stack;\n                    var node = getNodeError(error);\n                    throw node;\n                  });\n                } // We replaced the server-side error with a client-side error, and should\n                // no longer rewrite the stack trace to a Node error.\n                else {\n                    setTimeout(function () {\n                      throw initialErr;\n                    });\n                  }\n              }\n            }\n\n            if (!window.__NEXT_PRELOADREADY) {\n              _context.next = 29;\n              break;\n            }\n\n            _context.next = 29;\n            return window.__NEXT_PRELOADREADY(dynamicIds);\n\n          case 29:\n            exports.router = router = (0, _router.createRouter)(page, query, asPath, {\n              initialProps: props,\n              pageLoader: pageLoader,\n              App: App,\n              Component: Component,\n              wrapApp: wrapApp,\n              err: initialErr,\n              isFallback: isFallback,\n              subscription: function subscription(_ref6, App) {\n                var Component = _ref6.Component,\n                    props = _ref6.props,\n                    err = _ref6.err;\n                return render({\n                  App: App,\n                  Component: Component,\n                  props: props,\n                  err: err\n                });\n              }\n            }); // call init-client middleware\n\n            if (process.env.__NEXT_PLUGINS) {\n              // eslint-disable-next-line\n              Promise.resolve().then(function () {\n                return (0, _interopRequireWildcard2[\"default\"])(require('next-plugin-loader?middleware=on-init-client!'));\n              }).then(function (mod) {\n                return mod[\"default\"]({\n                  router: router\n                });\n              })[\"catch\"](function (err) {\n                console.error('Error calling client-init for plugins', err);\n              });\n            }\n\n            renderCtx = {\n              App: App,\n              Component: Component,\n              props: props,\n              err: initialErr\n            };\n\n            if (!false) {\n              _context.next = 35;\n              break;\n            }\n\n            render(renderCtx);\n            return _context.abrupt(\"return\", emitter);\n\n          case 35:\n            if (!true) {\n              _context.next = 37;\n              break;\n            }\n\n            return _context.abrupt(\"return\", {\n              emitter: emitter,\n              render: render,\n              renderCtx: renderCtx\n            });\n\n          case 37:\n          case \"end\":\n            return _context.stop();\n        }\n      }\n    }, _callee, null, [[10, 22]]);\n  }));\n\n  return function _default() {\n    return _ref3.apply(this, arguments);\n  };\n}();\n\nexports[\"default\"] = _default;\n\nfunction render(_x) {\n  return _render.apply(this, arguments);\n} // This method handles all runtime and debug errors.\n// 404 and 500 errors are special kind of errors\n// and they are still handle via the main render method.\n\n\nfunction _render() {\n  _render = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(props) {\n    return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n      while (1) {\n        switch (_context2.prev = _context2.next) {\n          case 0:\n            if (!props.err) {\n              _context2.next = 4;\n              break;\n            }\n\n            _context2.next = 3;\n            return renderError(props);\n\n          case 3:\n            return _context2.abrupt(\"return\");\n\n          case 4:\n            _context2.prev = 4;\n            _context2.next = 7;\n            return doRender(props);\n\n          case 7:\n            _context2.next = 14;\n            break;\n\n          case 9:\n            _context2.prev = 9;\n            _context2.t0 = _context2[\"catch\"](4);\n\n            if (true) {\n              // Ensure this error is displayed in the overlay in development\n              setTimeout(function () {\n                throw _context2.t0;\n              });\n            }\n\n            _context2.next = 14;\n            return renderError((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, props), {}, {\n              err: _context2.t0\n            }));\n\n          case 14:\n          case \"end\":\n            return _context2.stop();\n        }\n      }\n    }, _callee2, null, [[4, 9]]);\n  }));\n  return _render.apply(this, arguments);\n}\n\nfunction renderError(props) {\n  var App = props.App,\n      err = props.err; // In development runtime errors are caught by our overlay\n  // In production we catch runtime errors using componentDidCatch which will trigger renderError\n\n  if (true) {\n    // A Next.js rendering runtime error is always unrecoverable\n    // FIXME: let's make this recoverable (error in GIP client-transition)\n    webpackHMR.onUnrecoverableError(); // We need to render an empty <App> so that the `<ReactDevOverlay>` can\n    // render itself.\n\n    return doRender({\n      App: function App() {\n        return null;\n      },\n      props: {},\n      Component: function Component() {\n        return null;\n      },\n      err: null\n    });\n  }\n\n  if (process.env.__NEXT_PLUGINS) {\n    // eslint-disable-next-line\n    Promise.resolve().then(function () {\n      return (0, _interopRequireWildcard2[\"default\"])(require('next-plugin-loader?middleware=on-error-client!'));\n    }).then(function (mod) {\n      return mod[\"default\"]({\n        err: err\n      });\n    })[\"catch\"](function (err) {\n      console.error('error calling on-error-client for plugins', err);\n    });\n  } // Make sure we log the error to the console, otherwise users can't track down issues.\n\n\n  console.error(err);\n  return pageLoader.loadPage('/_error').then(function (_ref7) {\n    var ErrorComponent = _ref7.page;\n    // In production we do a normal render with the `ErrorComponent` as component.\n    // If we've gotten here upon initial render, we can use the props from the server.\n    // Otherwise, we need to call `getInitialProps` on `App` before mounting.\n    var AppTree = wrapApp(App);\n    var appCtx = {\n      Component: ErrorComponent,\n      AppTree: AppTree,\n      router: router,\n      ctx: {\n        err: err,\n        pathname: page,\n        query: query,\n        asPath: asPath,\n        AppTree: AppTree\n      }\n    };\n    return Promise.resolve(props.props ? props.props : (0, _utils.loadGetInitialProps)(App, appCtx)).then(function (initProps) {\n      return doRender((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, props), {}, {\n        err: err,\n        Component: ErrorComponent,\n        props: initProps\n      }));\n    });\n  });\n} // If hydrate does not exist, eg in preact.\n\n\nvar isInitialRender = typeof _reactDom[\"default\"].hydrate === 'function';\nvar reactRoot = null;\n\nfunction renderReactElement(reactEl, domEl) {\n  if (process.env.__NEXT_REACT_MODE !== 'legacy') {\n    if (!reactRoot) {\n      var opts = {\n        hydrate: true\n      };\n      reactRoot = process.env.__NEXT_REACT_MODE === 'concurrent' ? _reactDom[\"default\"].unstable_createRoot(domEl, opts) : _reactDom[\"default\"].unstable_createBlockingRoot(domEl, opts);\n    }\n\n    reactRoot.render(reactEl);\n  } else {\n    // mark start of hydrate/render\n    if (_utils.ST) {\n      performance.mark('beforeRender');\n    } // The check for `.hydrate` is there to support React alternatives like preact\n\n\n    if (isInitialRender) {\n      _reactDom[\"default\"].hydrate(reactEl, domEl, markHydrateComplete);\n\n      isInitialRender = false;\n\n      if (onPerfEntry && _utils.ST) {\n        (0, _performanceRelayer[\"default\"])(onPerfEntry);\n      }\n    } else {\n      _reactDom[\"default\"].render(reactEl, domEl, markRenderComplete);\n    }\n  }\n}\n\nfunction markHydrateComplete() {\n  if (!_utils.ST) return;\n  performance.mark('afterHydrate'); // mark end of hydration\n\n  performance.measure('Next.js-before-hydration', 'navigationStart', 'beforeRender');\n  performance.measure('Next.js-hydration', 'beforeRender', 'afterHydrate');\n\n  if (onPerfEntry) {\n    performance.getEntriesByName('Next.js-hydration').forEach(onPerfEntry);\n  }\n\n  clearMarks();\n}\n\nfunction markRenderComplete() {\n  if (!_utils.ST) return;\n  performance.mark('afterRender'); // mark end of render\n\n  var navStartEntries = performance.getEntriesByName('routeChange', 'mark');\n\n  if (!navStartEntries.length) {\n    return;\n  }\n\n  performance.measure('Next.js-route-change-to-render', navStartEntries[0].name, 'beforeRender');\n  performance.measure('Next.js-render', 'beforeRender', 'afterRender');\n\n  if (onPerfEntry) {\n    performance.getEntriesByName('Next.js-render').forEach(onPerfEntry);\n    performance.getEntriesByName('Next.js-route-change-to-render').forEach(onPerfEntry);\n  }\n\n  clearMarks();\n  ['Next.js-route-change-to-render', 'Next.js-render'].forEach(function (measure) {\n    return performance.clearMeasures(measure);\n  });\n}\n\nfunction clearMarks() {\n  ;\n  ['beforeRender', 'afterHydrate', 'afterRender', 'routeChange'].forEach(function (mark) {\n    return performance.clearMarks(mark);\n  });\n}\n\nfunction AppContainer(_ref8) {\n  var children = _ref8.children;\n  return /*#__PURE__*/_react[\"default\"].createElement(Container, {\n    fn: function fn(error) {\n      return renderError({\n        App: App,\n        err: error\n      })[\"catch\"](function (err) {\n        return console.error('Error rendering page: ', err);\n      });\n    }\n  }, /*#__PURE__*/_react[\"default\"].createElement(_routerContext.RouterContext.Provider, {\n    value: (0, _router.makePublicRouterInstance)(router)\n  }, /*#__PURE__*/_react[\"default\"].createElement(_headManagerContext.HeadManagerContext.Provider, {\n    value: updateHead\n  }, children)));\n}\n\n_c = AppContainer;\n\nvar wrapApp = function wrapApp(App) {\n  return function (props) {\n    var appProps = (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, props), {}, {\n      Component: Component,\n      err: err,\n      router: router\n    });\n    return /*#__PURE__*/_react[\"default\"].createElement(AppContainer, null, /*#__PURE__*/_react[\"default\"].createElement(App, appProps));\n  };\n};\n\nfunction doRender(_x2) {\n  return _doRender.apply(this, arguments);\n}\n\nfunction _doRender() {\n  _doRender = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref9) {\n    var App, Component, props, err, appProps, resolvePromise, renderPromise, elem;\n    return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n      while (1) {\n        switch (_context3.prev = _context3.next) {\n          case 0:\n            App = _ref9.App, Component = _ref9.Component, props = _ref9.props, err = _ref9.err;\n            Component = Component || lastAppProps.Component;\n            props = props || lastAppProps.props;\n            appProps = (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, props), {}, {\n              Component: Component,\n              err: err,\n              router: router\n            }); // lastAppProps has to be set before ReactDom.render to account for ReactDom throwing an error.\n\n            lastAppProps = appProps;\n            renderPromise = new Promise(function (resolve, reject) {\n              if (_lastRenderReject) {\n                _lastRenderReject();\n              }\n\n              resolvePromise = function resolvePromise() {\n                _lastRenderReject = null;\n                resolve();\n              };\n\n              _lastRenderReject = function lastRenderReject() {\n                _lastRenderReject = null;\n                reject();\n              };\n            });\n            elem = /*#__PURE__*/_react[\"default\"].createElement(Root, {\n              callback: resolvePromise\n            }, /*#__PURE__*/_react[\"default\"].createElement(AppContainer, null, /*#__PURE__*/_react[\"default\"].createElement(App, appProps))); // We catch runtime errors using componentDidCatch which will trigger renderError\n\n            renderReactElement(process.env.__NEXT_STRICT_MODE ? /*#__PURE__*/_react[\"default\"].createElement(_react[\"default\"].StrictMode, null, elem) : elem, appElement);\n            _context3.next = 10;\n            return renderPromise;\n\n          case 10:\n          case \"end\":\n            return _context3.stop();\n        }\n      }\n    }, _callee3);\n  }));\n  return _doRender.apply(this, arguments);\n}\n\nfunction Root(_ref10) {\n  _s();\n\n  var callback = _ref10.callback,\n      children = _ref10.children;\n\n  // We use `useLayoutEffect` to guarantee the callback is executed\n  // as soon as React flushes the update.\n  _react[\"default\"].useLayoutEffect(function () {\n    return callback();\n  }, [callback]);\n\n  return children;\n}\n\n_s(Root, \"n7/vCynhJvM+pLkyL2DMQUF0odM=\");\n\n_c2 = Root;\n\nvar _c, _c2;\n\n$RefreshReg$(_c, \"AppContainer\");\n$RefreshReg$(_c2, \"Root\");","map":{"version":3,"sources":["../../client/index.js"],"names":["Promise","require","data","JSON","document","window","version","process","__NEXT_VERSION","dynamicIds","isFallback","prefix","__webpack_public_path__","envConfig","serverRuntimeConfig","publicRuntimeConfig","runtimeConfig","asPath","pageLoader","PageLoader","register","p","setTimeout","updateHead","appElement","React","Component","componentDidMount","mod","err","console","router","location","props","_h","shallow","componentDidUpdate","scrollToHash","hash","el","render","emitter","webpackHMR","page","App","onPerfEntry","uniqueID","Date","Math","entries","perfStartEntry","id","name","startTime","value","label","entryType","initialErr","isValidElementType","error","node","getNodeError","initialProps","wrapApp","subscription","renderCtx","renderError","doRender","AppTree","appCtx","ctx","pathname","query","initProps","isInitialRender","ReactDOM","reactRoot","opts","hydrate","ST","performance","clearMarks","navStartEntries","measure","mark","appProps","lastAppProps","renderPromise","lastRenderReject","resolvePromise","resolve","reject","elem","renderReactElement","callback"],"mappings":"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","sourcesContent":["/* global location */\nimport { createRouter, makePublicRouterInstance } from 'next/router'\nimport { parse as parseQs, stringify as stringifyQs } from 'querystring'\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport { HeadManagerContext } from '../next-server/lib/head-manager-context'\nimport mitt from '../next-server/lib/mitt'\nimport { RouterContext } from '../next-server/lib/router-context'\nimport { isDynamicRoute } from '../next-server/lib/router/utils/is-dynamic'\nimport * as envConfig from '../next-server/lib/runtime-config'\nimport { getURL, loadGetInitialProps, ST } from '../next-server/lib/utils'\nimport initHeadManager from './head-manager'\nimport PageLoader from './page-loader'\nimport measureWebVitals from './performance-relayer'\n\n/// <reference types=\"react-dom/experimental\" />\n\nif (!('finally' in Promise.prototype)) {\n  // eslint-disable-next-line no-extend-native\n  Promise.prototype.finally = require('next/dist/build/polyfills/finally-polyfill.min')\n}\n\nconst data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent)\nwindow.__NEXT_DATA__ = data\n\nexport const version = process.env.__NEXT_VERSION\n\nconst {\n  props,\n  err,\n  page,\n  query,\n  buildId,\n  assetPrefix,\n  runtimeConfig,\n  dynamicIds,\n  isFallback,\n} = data\n\nconst prefix = assetPrefix || ''\n\n// With dynamic assetPrefix it's no longer possible to set assetPrefix at the build time\n// So, this is how we do it in the client side at runtime\n__webpack_public_path__ = `${prefix}/_next/` //eslint-disable-line\n// Initialize next/config with the environment configuration\nenvConfig.setConfig({\n  serverRuntimeConfig: {},\n  publicRuntimeConfig: runtimeConfig || {},\n})\n\nconst asPath = getURL()\n\nconst pageLoader = new PageLoader(buildId, prefix)\nconst register = ([r, f]) => pageLoader.registerPage(r, f)\nif (window.__NEXT_P) {\n  // Defer page registration for another tick. This will increase the overall\n  // latency in hydrating the page, but reduce the total blocking time.\n  window.__NEXT_P.map((p) => setTimeout(() => register(p), 0))\n}\nwindow.__NEXT_P = []\nwindow.__NEXT_P.push = register\n\nconst updateHead = initHeadManager()\nconst appElement = document.getElementById('__next')\n\nlet lastAppProps\nlet lastRenderReject\nlet webpackHMR\nexport let router\nlet Component\nlet App, onPerfEntry\n\nclass Container extends React.Component {\n  componentDidCatch(err, info) {\n    this.props.fn(err, info)\n  }\n\n  componentDidMount() {\n    this.scrollToHash()\n\n    if (process.env.__NEXT_PLUGINS) {\n      // eslint-disable-next-line\n      import('next-plugin-loader?middleware=unstable-post-hydration!')\n        .then((mod) => {\n          return mod.default()\n        })\n        .catch((err) => {\n          console.error('Error calling post-hydration for plugins', err)\n        })\n    }\n\n    // We need to replace the router state if:\n    // - the page was (auto) exported and has a query string or search (hash)\n    // - it was auto exported and is a dynamic route (to provide params)\n    // - if it is a client-side skeleton (fallback render)\n    if (\n      router.isSsr &&\n      (isFallback ||\n        (data.nextExport &&\n          (isDynamicRoute(router.pathname) || location.search)) ||\n        (props && props.__N_SSG && location.search))\n    ) {\n      // update query on mount for exported pages\n      router.replace(\n        router.pathname +\n          '?' +\n          stringifyQs({\n            ...router.query,\n            ...parseQs(location.search.substr(1)),\n          }),\n        asPath,\n        {\n          // WARNING: `_h` is an internal option for handing Next.js\n          // client-side hydration. Your app should _never_ use this property.\n          // It may change at any time without notice.\n          _h: 1,\n          // Fallback pages must trigger the data fetch, so the transition is\n          // not shallow.\n          // Other pages (strictly updating query) happens shallowly, as data\n          // requirements would already be present.\n          shallow: !isFallback,\n        }\n      )\n    }\n\n    if (process.env.__NEXT_TEST_MODE) {\n      window.__NEXT_HYDRATED = true\n\n      if (window.__NEXT_HYDRATED_CB) {\n        window.__NEXT_HYDRATED_CB()\n      }\n    }\n  }\n\n  componentDidUpdate() {\n    this.scrollToHash()\n  }\n\n  scrollToHash() {\n    let { hash } = location\n    hash = hash && hash.substring(1)\n    if (!hash) return\n\n    const el = document.getElementById(hash)\n    if (!el) return\n\n    // If we call scrollIntoView() in here without a setTimeout\n    // it won't scroll properly.\n    setTimeout(() => el.scrollIntoView(), 0)\n  }\n\n  render() {\n    if (process.env.NODE_ENV === 'production') {\n      return this.props.children\n    }\n    if (process.env.NODE_ENV !== 'production') {\n      const { ReactDevOverlay } = require('@next/react-dev-overlay/lib/client')\n      return <ReactDevOverlay>{this.props.children}</ReactDevOverlay>\n    }\n  }\n}\n\nexport const emitter = mitt()\n\nexport default async ({ webpackHMR: passedWebpackHMR } = {}) => {\n  // This makes sure this specific lines are removed in production\n  if (process.env.NODE_ENV === 'development') {\n    webpackHMR = passedWebpackHMR\n  }\n  const { page: app, mod } = await pageLoader.loadPageScript('/_app')\n  App = app\n\n  if (mod && mod.reportWebVitals) {\n    onPerfEntry = ({\n      id,\n      name,\n      startTime,\n      value,\n      duration,\n      entryType,\n      entries,\n    }) => {\n      // Combines timestamp with random number for unique ID\n      const uniqueID = `${Date.now()}-${\n        Math.floor(Math.random() * (9e12 - 1)) + 1e12\n      }`\n      let perfStartEntry\n\n      if (entries && entries.length) {\n        perfStartEntry = entries[0].startTime\n      }\n\n      mod.reportWebVitals({\n        id: id || uniqueID,\n        name,\n        startTime: startTime || perfStartEntry,\n        value: value == null ? duration : value,\n        label:\n          entryType === 'mark' || entryType === 'measure'\n            ? 'custom'\n            : 'web-vital',\n      })\n    }\n  }\n\n  let initialErr = err\n\n  try {\n    ;({ page: Component } = await pageLoader.loadPage(page))\n\n    if (process.env.NODE_ENV !== 'production') {\n      const { isValidElementType } = require('react-is')\n      if (!isValidElementType(Component)) {\n        throw new Error(\n          `The default export is not a React Component in page: \"${page}\"`\n        )\n      }\n    }\n  } catch (error) {\n    // This catches errors like throwing in the top level of a module\n    initialErr = error\n  }\n\n  if (process.env.NODE_ENV === 'development') {\n    const { getNodeError } = require('@next/react-dev-overlay/lib/client')\n    // Server-side runtime errors need to be re-thrown on the client-side so\n    // that the overlay is rendered.\n    if (initialErr) {\n      if (initialErr === err) {\n        setTimeout(() => {\n          let error\n          try {\n            // Generate a new error object. We `throw` it because some browsers\n            // will set the `stack` when thrown, and we want to ensure ours is\n            // not overridden when we re-throw it below.\n            throw new Error(initialErr.message)\n          } catch (e) {\n            error = e\n          }\n\n          error.name = initialErr.name\n          error.stack = initialErr.stack\n\n          const node = getNodeError(error)\n          throw node\n        })\n      }\n      // We replaced the server-side error with a client-side error, and should\n      // no longer rewrite the stack trace to a Node error.\n      else {\n        setTimeout(() => {\n          throw initialErr\n        })\n      }\n    }\n  }\n\n  if (window.__NEXT_PRELOADREADY) {\n    await window.__NEXT_PRELOADREADY(dynamicIds)\n  }\n\n  router = createRouter(page, query, asPath, {\n    initialProps: props,\n    pageLoader,\n    App,\n    Component,\n    wrapApp,\n    err: initialErr,\n    isFallback,\n    subscription: ({ Component, props, err }, App) =>\n      render({ App, Component, props, err }),\n  })\n\n  // call init-client middleware\n  if (process.env.__NEXT_PLUGINS) {\n    // eslint-disable-next-line\n    import('next-plugin-loader?middleware=on-init-client!')\n      .then((mod) => {\n        return mod.default({ router })\n      })\n      .catch((err) => {\n        console.error('Error calling client-init for plugins', err)\n      })\n  }\n\n  const renderCtx = { App, Component, props, err: initialErr }\n\n  if (process.env.NODE_ENV === 'production') {\n    render(renderCtx)\n    return emitter\n  }\n\n  if (process.env.NODE_ENV !== 'production') {\n    return { emitter, render, renderCtx }\n  }\n}\n\nexport async function render(props) {\n  if (props.err) {\n    await renderError(props)\n    return\n  }\n\n  try {\n    await doRender(props)\n  } catch (err) {\n    if (process.env.NODE_ENV === 'development') {\n      // Ensure this error is displayed in the overlay in development\n      setTimeout(() => {\n        throw err\n      })\n    }\n    await renderError({ ...props, err })\n  }\n}\n\n// This method handles all runtime and debug errors.\n// 404 and 500 errors are special kind of errors\n// and they are still handle via the main render method.\nexport function renderError(props) {\n  const { App, err } = props\n\n  // In development runtime errors are caught by our overlay\n  // In production we catch runtime errors using componentDidCatch which will trigger renderError\n  if (process.env.NODE_ENV !== 'production') {\n    // A Next.js rendering runtime error is always unrecoverable\n    // FIXME: let's make this recoverable (error in GIP client-transition)\n    webpackHMR.onUnrecoverableError()\n\n    // We need to render an empty <App> so that the `<ReactDevOverlay>` can\n    // render itself.\n    return doRender({\n      App: () => null,\n      props: {},\n      Component: () => null,\n      err: null,\n    })\n  }\n  if (process.env.__NEXT_PLUGINS) {\n    // eslint-disable-next-line\n    import('next-plugin-loader?middleware=on-error-client!')\n      .then((mod) => {\n        return mod.default({ err })\n      })\n      .catch((err) => {\n        console.error('error calling on-error-client for plugins', err)\n      })\n  }\n\n  // Make sure we log the error to the console, otherwise users can't track down issues.\n  console.error(err)\n  return pageLoader.loadPage('/_error').then(({ page: ErrorComponent }) => {\n    // In production we do a normal render with the `ErrorComponent` as component.\n    // If we've gotten here upon initial render, we can use the props from the server.\n    // Otherwise, we need to call `getInitialProps` on `App` before mounting.\n    const AppTree = wrapApp(App)\n    const appCtx = {\n      Component: ErrorComponent,\n      AppTree,\n      router,\n      ctx: { err, pathname: page, query, asPath, AppTree },\n    }\n    return Promise.resolve(\n      props.props ? props.props : loadGetInitialProps(App, appCtx)\n    ).then((initProps) =>\n      doRender({\n        ...props,\n        err,\n        Component: ErrorComponent,\n        props: initProps,\n      })\n    )\n  })\n}\n\n// If hydrate does not exist, eg in preact.\nlet isInitialRender = typeof ReactDOM.hydrate === 'function'\nlet reactRoot = null\nfunction renderReactElement(reactEl, domEl) {\n  if (process.env.__NEXT_REACT_MODE !== 'legacy') {\n    if (!reactRoot) {\n      const opts = { hydrate: true }\n      reactRoot =\n        process.env.__NEXT_REACT_MODE === 'concurrent'\n          ? ReactDOM.unstable_createRoot(domEl, opts)\n          : ReactDOM.unstable_createBlockingRoot(domEl, opts)\n    }\n    reactRoot.render(reactEl)\n  } else {\n    // mark start of hydrate/render\n    if (ST) {\n      performance.mark('beforeRender')\n    }\n\n    // The check for `.hydrate` is there to support React alternatives like preact\n    if (isInitialRender) {\n      ReactDOM.hydrate(reactEl, domEl, markHydrateComplete)\n      isInitialRender = false\n\n      if (onPerfEntry && ST) {\n        measureWebVitals(onPerfEntry)\n      }\n    } else {\n      ReactDOM.render(reactEl, domEl, markRenderComplete)\n    }\n  }\n}\n\nfunction markHydrateComplete() {\n  if (!ST) return\n\n  performance.mark('afterHydrate') // mark end of hydration\n\n  performance.measure(\n    'Next.js-before-hydration',\n    'navigationStart',\n    'beforeRender'\n  )\n  performance.measure('Next.js-hydration', 'beforeRender', 'afterHydrate')\n\n  if (onPerfEntry) {\n    performance.getEntriesByName('Next.js-hydration').forEach(onPerfEntry)\n  }\n  clearMarks()\n}\n\nfunction markRenderComplete() {\n  if (!ST) return\n\n  performance.mark('afterRender') // mark end of render\n  const navStartEntries = performance.getEntriesByName('routeChange', 'mark')\n\n  if (!navStartEntries.length) {\n    return\n  }\n\n  performance.measure(\n    'Next.js-route-change-to-render',\n    navStartEntries[0].name,\n    'beforeRender'\n  )\n  performance.measure('Next.js-render', 'beforeRender', 'afterRender')\n  if (onPerfEntry) {\n    performance.getEntriesByName('Next.js-render').forEach(onPerfEntry)\n    performance\n      .getEntriesByName('Next.js-route-change-to-render')\n      .forEach(onPerfEntry)\n  }\n  clearMarks()\n  ;['Next.js-route-change-to-render', 'Next.js-render'].forEach((measure) =>\n    performance.clearMeasures(measure)\n  )\n}\n\nfunction clearMarks() {\n  ;[\n    'beforeRender',\n    'afterHydrate',\n    'afterRender',\n    'routeChange',\n  ].forEach((mark) => performance.clearMarks(mark))\n}\n\nfunction AppContainer({ children }) {\n  return (\n    <Container\n      fn={(error) =>\n        renderError({ App, err: error }).catch((err) =>\n          console.error('Error rendering page: ', err)\n        )\n      }\n    >\n      <RouterContext.Provider value={makePublicRouterInstance(router)}>\n        <HeadManagerContext.Provider value={updateHead}>\n          {children}\n        </HeadManagerContext.Provider>\n      </RouterContext.Provider>\n    </Container>\n  )\n}\n\nconst wrapApp = (App) => (props) => {\n  const appProps = { ...props, Component, err, router }\n  return (\n    <AppContainer>\n      <App {...appProps} />\n    </AppContainer>\n  )\n}\n\nasync function doRender({ App, Component, props, err }) {\n  Component = Component || lastAppProps.Component\n  props = props || lastAppProps.props\n\n  const appProps = { ...props, Component, err, router }\n  // lastAppProps has to be set before ReactDom.render to account for ReactDom throwing an error.\n  lastAppProps = appProps\n\n  let resolvePromise\n  const renderPromise = new Promise((resolve, reject) => {\n    if (lastRenderReject) {\n      lastRenderReject()\n    }\n    resolvePromise = () => {\n      lastRenderReject = null\n      resolve()\n    }\n    lastRenderReject = () => {\n      lastRenderReject = null\n      reject()\n    }\n  })\n\n  const elem = (\n    <Root callback={resolvePromise}>\n      <AppContainer>\n        <App {...appProps} />\n      </AppContainer>\n    </Root>\n  )\n\n  // We catch runtime errors using componentDidCatch which will trigger renderError\n  renderReactElement(\n    process.env.__NEXT_STRICT_MODE ? (\n      <React.StrictMode>{elem}</React.StrictMode>\n    ) : (\n      elem\n    ),\n    appElement\n  )\n\n  await renderPromise\n}\n\nfunction Root({ callback, children }) {\n  // We use `useLayoutEffect` to guarantee the callback is executed\n  // as soon as React flushes the update.\n  React.useLayoutEffect(() => callback(), [callback])\n  return children\n}\n"]},"metadata":{},"sourceType":"script"}