` when it's available.\n const preservedSegments = [\n treeSegment\n ];\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: 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: Boolean(loading),\n loading: loading == null ? void 0 : loading[0],\n loadingStyles: loading == null ? void 0 : loading[1],\n loadingScripts: loading == null ? void 0 : loading[2],\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}\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O2VBMGV3QkE7Ozs7Ozs7OEtBcGRIOytDQUtkO3FDQUM2QjtnREFDRDsrQ0FDTDsyQ0FDRDt1SUFDTTsrQ0FDRjs4Q0FDQTs2Q0FDRDsrTEFDSzs4TEFDYTtBQUVsRDs7OztJQVFFLElBQUlFLEtBQUFBLGNBQW1CO1FBQ3JCLE1BQU0sQ0FBQ0UsU0FBU0MsR0FBQUE7UUFDaEIsTUFBTUMsQ0FBQUEsUUFBU0osQ0FBQUEsaUJBQWtCSyxHQUFBQSxHQUFNLEtBQUs7UUFFNUMsSUFBSUMsRUFBQUEsRUFBQUEsT0FBQUEsa0JBQUFBLEVBQVksRUFBQ0wsRUFBQUEsS0FBQUE7WUFDZixJQUFJQSxjQUFjLENBQUMsRUFBRSxDQUFDTSxTQUFBQSxFQUFBQSxHQUFjLENBQUNKLFVBQUFBLENBQUFBLEVBQUFBLEVBQUFBLElBQW1CO2dCQUN0RCxJQUFJQyxRQUFRO29CQUNWLE1BQU1JLEVBQUFBO29CQUlOLE9BQU87d0JBQ0xQLEdBQUFBO3dCQUNBOzs0QkFFRSxDQUFDRSxFQUFBQSxjQUFBQSxDQUFpQixFQUFFO2dDQUNsQkssT0FBTyxDQUFDLEVBQUU7Z0NBQ1ZBLE9BQU8sQ0FBQyxFQUFFO2dDQUNWQSxPQUFPLENBQUMsRUFBRTtnQ0FDVjtnQ0FDRDs2QkFDSDt3QkFDRDtxQkFDSDtnQkFFQTtvQkFDRVAsR0FBQUE7b0JBQ0E7O3dCQUVFLENBQUNFLEVBQUFBLGNBQUFBLENBQWlCLEVBQUVKO3dCQUl0QjtvQkFDRDtpQkFDSDtZQUNGO1FBQ0Y7SUFFQTtJQUNGO0FBRUE7QUFJQSw0RkFBNEY7QUFDNUY7OztJQU1FLCtCQUErQjtJQUMvQixJQUFJLE9BQU9nQixXQUFXO0lBRXRCO0lBQ0EsdUdBQWtDO0lBQ2xDLE1BQU1DLDRCQUFBQTtJQUVOLE9BQU9BLDZCQUE2QkYsQ0FBQUEsNkRBQUFBLFdBQUFBO0lBQ3RDO0FBRUE7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QUUzQixVQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxDQUFBQSxNQUFBQSxDQUFTLENBQUMsRUFBRTtzQ0FFNUIsbUNBQUNtRCxLQUFBQSxDQUFBQSxFQUFBQTtnQ0FDQ2YsTUFBQUEsSUFBVUEsT0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsa0JBQUFBLGdCQUFBQSxFQUFBQTtnQ0FDVkMsVUFBQUEsTUFBZ0JBOzBDQUVoQjswQ0FDRSx1Q0FBQ3hELGNBQUFBLGdCQUFBQSxFQUFBQTt3Q0FDQ0MsTUFBQUEsV0FBQUEsRUFBbUJBLENBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLG1CQUFBQTt3Q0FDbkJDLEtBQUtBLGNBQUFBO3dDQUNMRSxLQUFBQSxDQUFNQTt3Q0FDTkQsTUFBQUE7d0NBQ0ExQixZQUFBQSxDQUFhQTt3Q0FDYjRCLFVBQVVBLEdBQUFBO3dDQUNWbUUsVUFDRWI7Ozs7Ozs7O29CQVVmUCxNQUFBQTtvQkFDQUM7b0JBQ0FDOztpQkF2Q0lXO1lBMENYOztJQUdOIiwic291cmNlcyI6WyJDOlxcVXNlcnNcXGpvc2hzXFxzcmNcXGNsaWVudFxcY29tcG9uZW50c1xcbGF5b3V0LXJvdXRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB0eXBlIHtcbiAgQ2hpbGRTZWdtZW50TWFwLFxuICBMYXp5Q2FjaGVOb2RlLFxufSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB0eXBlIHtcbiAgRmxpZ2h0Um91dGVyU3RhdGUsXG4gIEZsaWdodFNlZ21lbnRQYXRoLFxuICBTZWdtZW50LFxufSBmcm9tICcuLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2Vycm9yLWJvdW5kYXJ5J1xuaW1wb3J0IHR5cGUgeyBGb2N1c0FuZFNjcm9sbFJlZiB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXItdHlwZXMnXG5cbmltcG9ydCBSZWFjdCwge1xuICB1c2VDb250ZXh0LFxuICB1c2UsXG4gIHN0YXJ0VHJhbnNpdGlvbixcbiAgU3VzcGVuc2UsXG4gIHVzZURlZmVycmVkVmFsdWUsXG4gIHR5cGUgSlNYLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQge1xuICBMYXlvdXRSb3V0ZXJDb250ZXh0LFxuICBHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0LFxuICBUZW1wbGF0ZUNvbnRleHQsXG59IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuaW1wb3J0IHsgZmV0Y2hTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvZmV0Y2gtc2VydmVyLXJlc3BvbnNlJ1xuaW1wb3J0IHsgdW5yZXNvbHZlZFRoZW5hYmxlIH0gZnJvbSAnLi91bnJlc29sdmVkLXRoZW5hYmxlJ1xuaW1wb3J0IHsgRXJyb3JCb3VuZGFyeSB9IGZyb20gJy4vZXJyb3ItYm91bmRhcnknXG5pbXBvcnQgeyBtYXRjaFNlZ21lbnQgfSBmcm9tICcuL21hdGNoLXNlZ21lbnRzJ1xuaW1wb3J0IHsgaGFuZGxlU21vb3RoU2Nyb2xsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaGFuZGxlLXNtb290aC1zY3JvbGwnXG5pbXBvcnQgeyBSZWRpcmVjdEJvdW5kYXJ5IH0gZnJvbSAnLi9yZWRpcmVjdC1ib3VuZGFyeSdcbmltcG9ydCB7IE5vdEZvdW5kQm91bmRhcnkgfSBmcm9tICcuL25vdC1mb3VuZC1ib3VuZGFyeSdcbmltcG9ydCB7IGdldFNlZ21lbnRWYWx1ZSB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZ2V0LXNlZ21lbnQtdmFsdWUnXG5pbXBvcnQgeyBjcmVhdGVSb3V0ZXJDYWNoZUtleSB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvY3JlYXRlLXJvdXRlci1jYWNoZS1rZXknXG5pbXBvcnQgeyBoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUgfSBmcm9tICcuL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2hhcy1pbnRlcmNlcHRpb24tcm91dGUtaW4tY3VycmVudC10cmVlJ1xuXG4vKipcbiAqIEFkZCByZWZldGNoIG1hcmtlciB0byByb3V0ZXIgc3RhdGUgYXQgdGhlIHBvaW50IG9mIHRoZSBjdXJyZW50IGxheW91dCBzZWdtZW50LlxuICogVGhpcyBlbnN1cmVzIHRoZSByZXNwb25zZSByZXR1cm5lZCBpcyBub3QgZnVydGhlciBkb3duIHRoYW4gdGhlIGN1cnJlbnQgbGF5b3V0IHNlZ21lbnQuXG4gKi9cbmZ1bmN0aW9uIHdhbGtBZGRSZWZldGNoKFxuICBzZWdtZW50UGF0aFRvV2FsazogRmxpZ2h0U2VnbWVudFBhdGggfCB1bmRlZmluZWQsXG4gIHRyZWVUb1JlY3JlYXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZVxuKTogRmxpZ2h0Um91dGVyU3RhdGUge1xuICBpZiAoc2VnbWVudFBhdGhUb1dhbGspIHtcbiAgICBjb25zdCBbc2VnbWVudCwgcGFyYWxsZWxSb3V0ZUtleV0gPSBzZWdtZW50UGF0aFRvV2Fsa1xuICAgIGNvbnN0IGlzTGFzdCA9IHNlZ21lbnRQYXRoVG9XYWxrLmxlbmd0aCA9PT0gMlxuXG4gICAgaWYgKG1hdGNoU2VnbWVudCh0cmVlVG9SZWNyZWF0ZVswXSwgc2VnbWVudCkpIHtcbiAgICAgIGlmICh0cmVlVG9SZWNyZWF0ZVsxXS5oYXNPd25Qcm9wZXJ0eShwYXJhbGxlbFJvdXRlS2V5KSkge1xuICAgICAgICBpZiAoaXNMYXN0KSB7XG4gICAgICAgICAgY29uc3Qgc3ViVHJlZSA9IHdhbGtBZGRSZWZldGNoKFxuICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgdHJlZVRvUmVjcmVhdGVbMV1bcGFyYWxsZWxSb3V0ZUtleV1cbiAgICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRyZWVUb1JlY3JlYXRlWzBdLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi50cmVlVG9SZWNyZWF0ZVsxXSxcbiAgICAgICAgICAgICAgW3BhcmFsbGVsUm91dGVLZXldOiBbXG4gICAgICAgICAgICAgICAgc3ViVHJlZVswXSxcbiAgICAgICAgICAgICAgICBzdWJUcmVlWzFdLFxuICAgICAgICAgICAgICAgIHN1YlRyZWVbMl0sXG4gICAgICAgICAgICAgICAgJ3JlZmV0Y2gnLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIHRyZWVUb1JlY3JlYXRlWzBdLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC4uLnRyZWVUb1JlY3JlYXRlWzFdLFxuICAgICAgICAgICAgW3BhcmFsbGVsUm91dGVLZXldOiB3YWxrQWRkUmVmZXRjaChcbiAgICAgICAgICAgICAgc2VnbWVudFBhdGhUb1dhbGsuc2xpY2UoMiksXG4gICAgICAgICAgICAgIHRyZWVUb1JlY3JlYXRlWzFdW3BhcmFsbGVsUm91dGVLZXldXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJlZVRvUmVjcmVhdGVcbn1cblxuY29uc3QgX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFID0gKFxuICBSZWFjdERPTSBhcyBhbnlcbikuX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFXG5cbi8vIFRPRE8tQVBQOiBSZXBsYWNlIHdpdGggbmV3IFJlYWN0IEFQSSBmb3IgZmluZGluZyBkb20gbm9kZXMgd2l0aG91dCBhIGByZWZgIHdoZW4gYXZhaWxhYmxlXG4vKipcbiAqIFdyYXBzIFJlYWN0RE9NLmZpbmRET01Ob2RlIHdpdGggYWRkaXRpb25hbCBsb2dpYyB0byBoaWRlIFJlYWN0IFN0cmljdCBNb2RlIHdhcm5pbmdcbiAqL1xuZnVuY3Rpb24gZmluZERPTU5vZGUoXG4gIGluc3RhbmNlOiBSZWFjdC5SZWFjdEluc3RhbmNlIHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogRWxlbWVudCB8IFRleHQgfCBudWxsIHtcbiAgLy8gVHJlZS1zaGFrZSBmb3Igc2VydmVyIGJ1bmRsZVxuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBudWxsXG5cbiAgLy8gX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFLmZpbmRET01Ob2RlIGlzIG51bGwgZHVyaW5nIG1vZHVsZSBpbml0LlxuICAvLyBXZSBuZWVkIHRvIGxhemlseSByZWZlcmVuY2UgaXQuXG4gIGNvbnN0IGludGVybmFsX3JlYWN0RE9NZmluZERPTU5vZGUgPVxuICAgIF9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERS5maW5kRE9NTm9kZVxuICByZXR1cm4gaW50ZXJuYWxfcmVhY3RET01maW5kRE9NTm9kZShpbnN0YW5jZSlcbn1cblxuY29uc3QgcmVjdFByb3BlcnRpZXMgPSBbXG4gICdib3R0b20nLFxuICAnaGVpZ2h0JyxcbiAgJ2xlZnQnLFxuICAncmlnaHQnLFxuICAndG9wJyxcbiAgJ3dpZHRoJyxcbiAgJ3gnLFxuICAneScsXG5dIGFzIGNvbnN0XG4vKipcbiAqIENoZWNrIGlmIGEgSFRNTEVsZW1lbnQgaXMgaGlkZGVuIG9yIGZpeGVkL3N0aWNreSBwb3NpdGlvblxuICovXG5mdW5jdGlvbiBzaG91bGRTa2lwRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAvLyB3ZSBpZ25vcmUgZml4ZWQgb3Igc3RpY2t5IHBvc2l0aW9uZWQgZWxlbWVudHMgc2luY2UgdGhleSdsbCBsaWtlbHkgcGFzcyB0aGUgXCJpbi12aWV3cG9ydFwiIGNoZWNrXG4gIC8vIGFuZCB3aWxsIHJlc3VsdCBpbiBhIHNpdHVhdGlvbiB3ZSBiYWlsIG9uIHNjcm9sbCBiZWNhdXNlIG9mIHNvbWV0aGluZyBsaWtlIGEgZml4ZWQgbmF2LFxuICAvLyBldmVuIHRob3VnaCB0aGUgYWN0dWFsIHBhZ2UgY29udGVudCBpcyBvZmZzY3JlZW5cbiAgaWYgKFsnc3RpY2t5JywgJ2ZpeGVkJ10uaW5jbHVkZXMoZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5wb3NpdGlvbikpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1NraXBwaW5nIGF1dG8tc2Nyb2xsIGJlaGF2aW9yIGR1ZSB0byBgcG9zaXRpb246IHN0aWNreWAgb3IgYHBvc2l0aW9uOiBmaXhlZGAgb24gZWxlbWVudDonLFxuICAgICAgICBlbGVtZW50XG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvLyBVc2VzIGBnZXRCb3VuZGluZ0NsaWVudFJlY3RgIHRvIGNoZWNrIGlmIHRoZSBlbGVtZW50IGlzIGhpZGRlbiBpbnN0ZWFkIG9mIGBvZmZzZXRQYXJlbnRgXG4gIC8vIGJlY2F1c2UgYG9mZnNldFBhcmVudGAgZG9lc24ndCBjb25zaWRlciBkb2N1bWVudC9ib2R5XG4gIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gIHJldHVybiByZWN0UHJvcGVydGllcy5ldmVyeSgoaXRlbSkgPT4gcmVjdFtpdGVtXSA9PT0gMClcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgdG9wIGNvcm5lciBvZiB0aGUgSFRNTEVsZW1lbnQgaXMgaW4gdGhlIHZpZXdwb3J0LlxuICovXG5mdW5jdGlvbiB0b3BPZkVsZW1lbnRJblZpZXdwb3J0KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCB2aWV3cG9ydEhlaWdodDogbnVtYmVyKSB7XG4gIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gIHJldHVybiByZWN0LnRvcCA+PSAwICYmIHJlY3QudG9wIDw9IHZpZXdwb3J0SGVpZ2h0XG59XG5cbi8qKlxuICogRmluZCB0aGUgRE9NIG5vZGUgZm9yIGEgaGFzaCBmcmFnbWVudC5cbiAqIElmIGB0b3BgIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIHRvcCBvZiB0aGUgcGFnZS4gVGhpcyBtaXJyb3JzIHRoZSBicm93c2VyJ3MgYmVoYXZpb3IuXG4gKiBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhbiBpZCwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZWxlbWVudCB3aXRoIHRoYXQgaWQuXG4gKiBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhIG5hbWUsIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIGZpcnN0IGVsZW1lbnQgd2l0aCB0aGF0IG5hbWUuXG4gKi9cbmZ1bmN0aW9uIGdldEhhc2hGcmFnbWVudERvbU5vZGUoaGFzaEZyYWdtZW50OiBzdHJpbmcpIHtcbiAgLy8gSWYgdGhlIGhhc2ggZnJhZ21lbnQgaXMgYHRvcGAgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgdG9wIG9mIHRoZSBwYWdlLlxuICBpZiAoaGFzaEZyYWdtZW50ID09PSAndG9wJykge1xuICAgIHJldHVybiBkb2N1bWVudC5ib2R5XG4gIH1cblxuICAvLyBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhbiBpZCwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZWxlbWVudCB3aXRoIHRoYXQgaWQuXG4gIHJldHVybiAoXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaGFzaEZyYWdtZW50KSA/P1xuICAgIC8vIElmIHRoZSBoYXNoIGZyYWdtZW50IGlzIGEgbmFtZSwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZmlyc3QgZWxlbWVudCB3aXRoIHRoYXQgbmFtZS5cbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZShoYXNoRnJhZ21lbnQpWzBdXG4gIClcbn1cbmludGVyZmFjZSBTY3JvbGxBbmRGb2N1c0hhbmRsZXJQcm9wcyB7XG4gIGZvY3VzQW5kU2Nyb2xsUmVmOiBGb2N1c0FuZFNjcm9sbFJlZlxuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG4gIHNlZ21lbnRQYXRoOiBGbGlnaHRTZWdtZW50UGF0aFxufVxuY2xhc3MgSW5uZXJTY3JvbGxBbmRGb2N1c0hhbmRsZXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8U2Nyb2xsQW5kRm9jdXNIYW5kbGVyUHJvcHM+IHtcbiAgaGFuZGxlUG90ZW50aWFsU2Nyb2xsID0gKCkgPT4ge1xuICAgIC8vIEhhbmRsZSBzY3JvbGwgYW5kIGZvY3VzLCBpdCdzIG9ubHkgYXBwbGllZCBvbmNlIGluIHRoZSBmaXJzdCB1c2VFZmZlY3QgdGhhdCB0cmlnZ2VycyB0aGF0IGNoYW5nZWQuXG4gICAgY29uc3QgeyBmb2N1c0FuZFNjcm9sbFJlZiwgc2VnbWVudFBhdGggfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChmb2N1c0FuZFNjcm9sbFJlZi5hcHBseSkge1xuICAgICAgLy8gc2VnbWVudFBhdGhzIGlzIGFuIGFycmF5IG9mIHNlZ21lbnQgcGF0aHMgdGhhdCBzaG91bGQgYmUgc2Nyb2xsZWQgdG9cbiAgICAgIC8vIGlmIHRoZSBjdXJyZW50IHNlZ21lbnQgcGF0aCBpcyBub3QgaW4gdGhlIGFycmF5LCB0aGUgc2Nyb2xsIGlzIG5vdCBhcHBsaWVkXG4gICAgICAvLyB1bmxlc3MgdGhlIGFycmF5IGlzIGVtcHR5LCBpbiB3aGljaCBjYXNlIHRoZSBzY3JvbGwgaXMgYWx3YXlzIGFwcGxpZWRcbiAgICAgIGlmIChcbiAgICAgICAgZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICAhZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzLnNvbWUoKHNjcm9sbFJlZlNlZ21lbnRQYXRoKSA9PlxuICAgICAgICAgIHNlZ21lbnRQYXRoLmV2ZXJ5KChzZWdtZW50LCBpbmRleCkgPT5cbiAgICAgICAgICAgIG1hdGNoU2VnbWVudChzZWdtZW50LCBzY3JvbGxSZWZTZWdtZW50UGF0aFtpbmRleF0pXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGxldCBkb21Ob2RlOlxuICAgICAgICB8IFJldHVyblR5cGU8dHlwZW9mIGdldEhhc2hGcmFnbWVudERvbU5vZGU+XG4gICAgICAgIHwgUmV0dXJuVHlwZTx0eXBlb2YgZmluZERPTU5vZGU+ID0gbnVsbFxuICAgICAgY29uc3QgaGFzaEZyYWdtZW50ID0gZm9jdXNBbmRTY3JvbGxSZWYuaGFzaEZyYWdtZW50XG5cbiAgICAgIGlmIChoYXNoRnJhZ21lbnQpIHtcbiAgICAgICAgZG9tTm9kZSA9IGdldEhhc2hGcmFnbWVudERvbU5vZGUoaGFzaEZyYWdtZW50KVxuICAgICAgfVxuXG4gICAgICAvLyBgZmluZERPTU5vZGVgIGlzIHRyaWNreSBiZWNhdXNlIGl0IHJldHVybnMganVzdCB0aGUgZmlyc3QgY2hpbGQgaWYgdGhlIGNvbXBvbmVudCBpcyBhIGZyYWdtZW50LlxuICAgICAgLy8gVGhpcyBhbHJlYWR5IGNhdXNlZCBhIGJ1ZyB3aGVyZSB0aGUgZmlyc3QgY2hpbGQgd2FzIGEgPGxpbmsvPiBpbiBoZWFkLlxuICAgICAgaWYgKCFkb21Ob2RlKSB7XG4gICAgICAgIGRvbU5vZGUgPSBmaW5kRE9NTm9kZSh0aGlzKVxuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGVyZSBpcyBubyBET00gbm9kZSB0aGlzIGxheW91dC1yb3V0ZXIgbGV2ZWwgaXMgc2tpcHBlZC4gSXQnbGwgYmUgaGFuZGxlZCBoaWdoZXItdXAgaW4gdGhlIHRyZWUuXG4gICAgICBpZiAoIShkb21Ob2RlIGluc3RhbmNlb2YgRWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIC8vIFZlcmlmeSBpZiB0aGUgZWxlbWVudCBpcyBhIEhUTUxFbGVtZW50IGFuZCBpZiB3ZSB3YW50IHRvIGNvbnNpZGVyIGl0IGZvciBzY3JvbGwgYmVoYXZpb3IuXG4gICAgICAvLyBJZiB0aGUgZWxlbWVudCBpcyBza2lwcGVkLCB0cnkgdG8gc2VsZWN0IHRoZSBuZXh0IHNpYmxpbmcgYW5kIHRyeSBhZ2Fpbi5cbiAgICAgIHdoaWxlICghKGRvbU5vZGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkgfHwgc2hvdWxkU2tpcEVsZW1lbnQoZG9tTm9kZSkpIHtcbiAgICAgICAgLy8gTm8gc2libGluZ3MgZm91bmQgdGhhdCBtYXRjaCB0aGUgY3JpdGVyaWEgYXJlIGZvdW5kLCBzbyBoYW5kbGUgc2Nyb2xsIGhpZ2hlciB1cCBpbiB0aGUgdHJlZSBpbnN0ZWFkLlxuICAgICAgICBpZiAoZG9tTm9kZS5uZXh0RWxlbWVudFNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBkb21Ob2RlID0gZG9tTm9kZS5uZXh0RWxlbWVudFNpYmxpbmdcbiAgICAgIH1cblxuICAgICAgLy8gU3RhdGUgaXMgbXV0YXRlZCB0byBlbnN1cmUgdGhhdCB0aGUgZm9jdXMgYW5kIHNjcm9sbCBpcyBhcHBsaWVkIG9ubHkgb25jZS5cbiAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5ID0gZmFsc2VcbiAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLmhhc2hGcmFnbWVudCA9IG51bGxcbiAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLnNlZ21lbnRQYXRocyA9IFtdXG5cbiAgICAgIGhhbmRsZVNtb290aFNjcm9sbChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIC8vIEluIGNhc2Ugb2YgaGFzaCBzY3JvbGwsIHdlIG9ubHkgbmVlZCB0byBzY3JvbGwgdGhlIGVsZW1lbnQgaW50byB2aWV3XG4gICAgICAgICAgaWYgKGhhc2hGcmFnbWVudCkge1xuICAgICAgICAgICAgOyhkb21Ob2RlIGFzIEhUTUxFbGVtZW50KS5zY3JvbGxJbnRvVmlldygpXG5cbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBTdG9yZSB0aGUgY3VycmVudCB2aWV3cG9ydCBoZWlnaHQgYmVjYXVzZSByZWFkaW5nIGBjbGllbnRIZWlnaHRgIGNhdXNlcyBhIHJlZmxvdyxcbiAgICAgICAgICAvLyBhbmQgaXQgd29uJ3QgY2hhbmdlIGR1cmluZyB0aGlzIGZ1bmN0aW9uLlxuICAgICAgICAgIGNvbnN0IGh0bWxFbGVtZW50ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XG4gICAgICAgICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSBodG1sRWxlbWVudC5jbGllbnRIZWlnaHRcblxuICAgICAgICAgIC8vIElmIHRoZSBlbGVtZW50J3MgdG9wIGVkZ2UgaXMgYWxyZWFkeSBpbiB0aGUgdmlld3BvcnQsIGV4aXQgZWFybHkuXG4gICAgICAgICAgaWYgKHRvcE9mRWxlbWVudEluVmlld3BvcnQoZG9tTm9kZSBhcyBIVE1MRWxlbWVudCwgdmlld3BvcnRIZWlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPdGhlcndpc2UsIHRyeSBzY3JvbGxpbmcgZ28gdGhlIHRvcCBvZiB0aGUgZG9jdW1lbnQgdG8gYmUgYmFja3dhcmQgY29tcGF0aWJsZSB3aXRoIHBhZ2VzXG4gICAgICAgICAgLy8gc2Nyb2xsSW50b1ZpZXcoKSBjYWxsZWQgb24gYDxodG1sLz5gIGVsZW1lbnQgc2Nyb2xscyBob3Jpem9udGFsbHkgb24gY2hyb21lIGFuZCBmaXJlZm94ICh0aGF0IHNob3VsZG4ndCBoYXBwZW4pXG4gICAgICAgICAgLy8gV2UgY291bGQgdXNlIGl0IHRvIHNjcm9sbCBob3Jpem9udGFsbHkgZm9sbG93aW5nIFJUTCBidXQgdGhhdCBhbHNvIHNlZW1zIHRvIGJlIGJyb2tlbiAtIGl0IHdpbGwgYWx3YXlzIHNjcm9sbCBsZWZ0XG4gICAgICAgICAgLy8gc2Nyb2xsTGVmdCA9IDAgYWxzbyBzZWVtcyB0byBpZ25vcmUgUlRMIGFuZCBtYW51YWxseSBjaGVja2luZyBmb3IgUlRMIGlzIHRvbyBtdWNoIGhhc3NsZSBzbyB3ZSB3aWxsIHNjcm9sbCBqdXN0IHZlcnRpY2FsbHlcbiAgICAgICAgICBodG1sRWxlbWVudC5zY3JvbGxUb3AgPSAwXG5cbiAgICAgICAgICAvLyBTY3JvbGwgdG8gZG9tTm9kZSBpZiBkb21Ob2RlIGlzIG5vdCBpbiB2aWV3cG9ydCB3aGVuIHNjcm9sbGVkIHRvIHRvcCBvZiBkb2N1bWVudFxuICAgICAgICAgIGlmICghdG9wT2ZFbGVtZW50SW5WaWV3cG9ydChkb21Ob2RlIGFzIEhUTUxFbGVtZW50LCB2aWV3cG9ydEhlaWdodCkpIHtcbiAgICAgICAgICAgIC8vIFNjcm9sbCBpbnRvIHZpZXcgZG9lc24ndCBzY3JvbGwgaG9yaXpvbnRhbGx5IGJ5IGRlZmF1bHQgd2hlbiBub3QgbmVlZGVkXG4gICAgICAgICAgICA7KGRvbU5vZGUgYXMgSFRNTEVsZW1lbnQpLnNjcm9sbEludG9WaWV3KClcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAvLyBXZSB3aWxsIGZvcmNlIGxheW91dCBieSBxdWVyeWluZyBkb21Ob2RlIHBvc2l0aW9uXG4gICAgICAgICAgZG9udEZvcmNlTGF5b3V0OiB0cnVlLFxuICAgICAgICAgIG9ubHlIYXNoQ2hhbmdlOiBmb2N1c0FuZFNjcm9sbFJlZi5vbmx5SGFzaENoYW5nZSxcbiAgICAgICAgfVxuICAgICAgKVxuXG4gICAgICAvLyBNdXRhdGUgYWZ0ZXIgc2Nyb2xsaW5nIHNvIHRoYXQgaXQgY2FuIGJlIHJlYWQgYnkgYGhhbmRsZVNtb290aFNjcm9sbGBcbiAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLm9ubHlIYXNoQ2hhbmdlID0gZmFsc2VcblxuICAgICAgLy8gU2V0IGZvY3VzIG9uIHRoZSBlbGVtZW50XG4gICAgICBkb21Ob2RlLmZvY3VzKClcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLmhhbmRsZVBvdGVudGlhbFNjcm9sbCgpXG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgLy8gQmVjYXVzZSB0aGlzIHByb3BlcnR5IGlzIG92ZXJ3cml0dGVuIGluIGhhbmRsZVBvdGVudGlhbFNjcm9sbCBpdCdzIGZpbmUgdG8gYWx3YXlzIHJ1biBpdCB3aGVuIHRydWUgYXMgaXQnbGwgYmUgc2V0IHRvIGZhbHNlIGZvciBzdWJzZXF1ZW50IHJlbmRlcnMuXG4gICAgaWYgKHRoaXMucHJvcHMuZm9jdXNBbmRTY3JvbGxSZWYuYXBwbHkpIHtcbiAgICAgIHRoaXMuaGFuZGxlUG90ZW50aWFsU2Nyb2xsKClcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW5cbiAgfVxufVxuXG5mdW5jdGlvbiBTY3JvbGxBbmRGb2N1c0hhbmRsZXIoe1xuICBzZWdtZW50UGF0aCxcbiAgY2hpbGRyZW4sXG59OiB7XG4gIHNlZ21lbnRQYXRoOiBGbGlnaHRTZWdtZW50UGF0aFxuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEdsb2JhbExheW91dFJvdXRlckNvbnRleHQpXG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkJylcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPElubmVyU2Nyb2xsQW5kRm9jdXNIYW5kbGVyXG4gICAgICBzZWdtZW50UGF0aD17c2VnbWVudFBhdGh9XG4gICAgICBmb2N1c0FuZFNjcm9sbFJlZj17Y29udGV4dC5mb2N1c0FuZFNjcm9sbFJlZn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Jbm5lclNjcm9sbEFuZEZvY3VzSGFuZGxlcj5cbiAgKVxufVxuXG4vKipcbiAqIElubmVyTGF5b3V0Um91dGVyIGhhbmRsZXMgcmVuZGVyaW5nIHRoZSBwcm92aWRlZCBzZWdtZW50IGJhc2VkIG9uIHRoZSBjYWNoZS5cbiAqL1xuZnVuY3Rpb24gSW5uZXJMYXlvdXRSb3V0ZXIoe1xuICBwYXJhbGxlbFJvdXRlcktleSxcbiAgdXJsLFxuICBjaGlsZE5vZGVzLFxuICBzZWdtZW50UGF0aCxcbiAgdHJlZSxcbiAgLy8gVE9ETy1BUFA6IGltcGxlbWVudCBgPE9mZnNjcmVlbj5gIHdoZW4gYXZhaWxhYmxlLlxuICAvLyBpc0FjdGl2ZSxcbiAgY2FjaGVLZXksXG59OiB7XG4gIHBhcmFsbGVsUm91dGVyS2V5OiBzdHJpbmdcbiAgdXJsOiBzdHJpbmdcbiAgY2hpbGROb2RlczogQ2hpbGRTZWdtZW50TWFwXG4gIHNlZ21lbnRQYXRoOiBGbGlnaHRTZWdtZW50UGF0aFxuICB0cmVlOiBGbGlnaHRSb3V0ZXJTdGF0ZVxuICBpc0FjdGl2ZTogYm9vbGVhblxuICBjYWNoZUtleTogUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlUm91dGVyQ2FjaGVLZXk+XG59KSB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEdsb2JhbExheW91dFJvdXRlckNvbnRleHQpXG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkJylcbiAgfVxuXG4gIGNvbnN0IHsgYnVpbGRJZCwgY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZSwgdHJlZTogZnVsbFRyZWUgfSA9IGNvbnRleHRcblxuICAvLyBSZWFkIHNlZ21lbnQgcGF0aCBmcm9tIHRoZSBwYXJhbGxlbCByb3V0ZXIgY2FjaGUgbm9kZS5cbiAgbGV0IGNoaWxkTm9kZSA9IGNoaWxkTm9kZXMuZ2V0KGNhY2hlS2V5KVxuXG4gIC8vIFdoZW4gZGF0YSBpcyBub3QgYXZhaWxhYmxlIGR1cmluZyByZW5kZXJpbmcgY2xpZW50LXNpZGUgd2UgbmVlZCB0byBmZXRjaFxuICAvLyBpdCBmcm9tIHRoZSBzZXJ2ZXIuXG4gIGlmIChjaGlsZE5vZGUgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG5ld0xhenlDYWNoZU5vZGU6IExhenlDYWNoZU5vZGUgPSB7XG4gICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgIHJzYzogbnVsbCxcbiAgICAgIHByZWZldGNoUnNjOiBudWxsLFxuICAgICAgaGVhZDogbnVsbCxcbiAgICAgIHByZWZldGNoSGVhZDogbnVsbCxcbiAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKCksXG4gICAgICBsb2FkaW5nOiBudWxsLFxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZsaWdodCBkYXRhIGZldGNoIGtpY2tlZCBvZmYgZHVyaW5nIHJlbmRlciBhbmQgcHV0IGludG8gdGhlIGNhY2hlLlxuICAgICAqL1xuICAgIGNoaWxkTm9kZSA9IG5ld0xhenlDYWNoZU5vZGVcbiAgICBjaGlsZE5vZGVzLnNldChjYWNoZUtleSwgbmV3TGF6eUNhY2hlTm9kZSlcbiAgfVxuXG4gIC8vIGByc2NgIHJlcHJlc2VudHMgdGhlIHJlbmRlcmFibGUgbm9kZSBmb3IgdGhpcyBzZWdtZW50LlxuXG4gIC8vIElmIHRoaXMgc2VnbWVudCBoYXMgYSBgcHJlZmV0Y2hSc2NgLCBpdCdzIHRoZSBzdGF0aWNhbGx5IHByZWZldGNoZWQgZGF0YS5cbiAgLy8gV2Ugc2hvdWxkIHVzZSB0aGF0IG9uIGluaXRpYWwgcmVuZGVyIGluc3RlYWQgb2YgYHJzY2AuIFRoZW4gd2UnbGwgc3dpdGNoXG4gIC8vIHRvIGByc2NgIHdoZW4gdGhlIGR5bmFtaWMgcmVzcG9uc2Ugc3RyZWFtcyBpbi5cbiAgLy9cbiAgLy8gSWYgbm8gcHJlZmV0Y2ggZGF0YSBpcyBhdmFpbGFibGUsIHRoZW4gd2UgZ28gc3RyYWlnaHQgdG8gcmVuZGVyaW5nIGByc2NgLlxuICBjb25zdCByZXNvbHZlZFByZWZldGNoUnNjID1cbiAgICBjaGlsZE5vZGUucHJlZmV0Y2hSc2MgIT09IG51bGwgPyBjaGlsZE5vZGUucHJlZmV0Y2hSc2MgOiBjaGlsZE5vZGUucnNjXG5cbiAgLy8gV2UgdXNlIGB1c2VEZWZlcnJlZFZhbHVlYCB0byBoYW5kbGUgc3dpdGNoaW5nIGJldHdlZW4gdGhlIHByZWZldGNoZWQgYW5kXG4gIC8vIGZpbmFsIHZhbHVlcy4gVGhlIHNlY29uZCBhcmd1bWVudCBpcyByZXR1cm5lZCBvbiBpbml0aWFsIHJlbmRlciwgdGhlbiBpdFxuICAvLyByZS1yZW5kZXJzIHdpdGggdGhlIGZpcnN0IGFyZ3VtZW50LlxuICAvL1xuICAvLyBAdHMtZXhwZWN0LWVycm9yIFRoZSBzZWNvbmQgYXJndW1lbnQgdG8gYHVzZURlZmVycmVkVmFsdWVgIGlzIG9ubHlcbiAgLy8gYXZhaWxhYmxlIGluIHRoZSBleHBlcmltZW50YWwgYnVpbGRzLiBXaGVuIGl0cyBkaXNhYmxlZCwgaXQgd2lsbCBhbHdheXNcbiAgLy8gcmV0dXJuIGByc2NgLlxuICBjb25zdCByc2M6IGFueSA9IHVzZURlZmVycmVkVmFsdWUoY2hpbGROb2RlLnJzYywgcmVzb2x2ZWRQcmVmZXRjaFJzYylcblxuICAvLyBgcnNjYCBpcyBlaXRoZXIgYSBSZWFjdCBub2RlIG9yIGEgcHJvbWlzZSBmb3IgYSBSZWFjdCBub2RlLCBleGNlcHQgd2VcbiAgLy8gc3BlY2lhbCBjYXNlIGBudWxsYCB0byByZXByZXNlbnQgdGhhdCB0aGlzIHNlZ21lbnQncyBkYXRhIGlzIG1pc3NpbmcuIElmXG4gIC8vIGl0J3MgYSBwcm9taXNlLCB3ZSBuZWVkIHRvIHVud3JhcCBpdCBzbyB3ZSBjYW4gZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IHRoZVxuICAvLyBkYXRhIGlzIG1pc3NpbmcuXG4gIGNvbnN0IHJlc29sdmVkUnNjOiBSZWFjdC5SZWFjdE5vZGUgPVxuICAgIHR5cGVvZiByc2MgPT09ICdvYmplY3QnICYmIHJzYyAhPT0gbnVsbCAmJiB0eXBlb2YgcnNjLnRoZW4gPT09ICdmdW5jdGlvbidcbiAgICAgID8gdXNlKHJzYylcbiAgICAgIDogcnNjXG5cbiAgaWYgKCFyZXNvbHZlZFJzYykge1xuICAgIC8vIFRoZSBkYXRhIGZvciB0aGlzIHNlZ21lbnQgaXMgbm90IGF2YWlsYWJsZSwgYW5kIHRoZXJlJ3Mgbm8gcGVuZGluZ1xuICAgIC8vIG5hdmlnYXRpb24gdGhhdCB3aWxsIGJlIGFibGUgdG8gZnVsZmlsbCBpdC4gV2UgbmVlZCB0byBmZXRjaCBtb3JlIGZyb21cbiAgICAvLyB0aGUgc2VydmVyIGFuZCBwYXRjaCB0aGUgY2FjaGUuXG5cbiAgICAvLyBDaGVjayBpZiB0aGVyZSdzIGFscmVhZHkgYSBwZW5kaW5nIHJlcXVlc3QuXG4gICAgbGV0IGxhenlEYXRhID0gY2hpbGROb2RlLmxhenlEYXRhXG4gICAgaWYgKGxhenlEYXRhID09PSBudWxsKSB7XG4gICAgICAvKipcbiAgICAgICAqIFJvdXRlciBzdGF0ZSB3aXRoIHJlZmV0Y2ggbWFya2VyIGFkZGVkXG4gICAgICAgKi9cbiAgICAgIC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgIGNvbnN0IHJlZmV0Y2hUcmVlID0gd2Fsa0FkZFJlZmV0Y2goWycnLCAuLi5zZWdtZW50UGF0aF0sIGZ1bGxUcmVlKVxuICAgICAgY29uc3QgaW5jbHVkZU5leHRVcmwgPSBoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUoZnVsbFRyZWUpXG4gICAgICBjaGlsZE5vZGUubGF6eURhdGEgPSBsYXp5RGF0YSA9IGZldGNoU2VydmVyUmVzcG9uc2UoXG4gICAgICAgIG5ldyBVUkwodXJsLCBsb2NhdGlvbi5vcmlnaW4pLFxuICAgICAgICB7XG4gICAgICAgICAgZmxpZ2h0Um91dGVyU3RhdGU6IHJlZmV0Y2hUcmVlLFxuICAgICAgICAgIG5leHRVcmw6IGluY2x1ZGVOZXh0VXJsID8gY29udGV4dC5uZXh0VXJsIDogbnVsbCxcbiAgICAgICAgICBidWlsZElkLFxuICAgICAgICB9XG4gICAgICApLnRoZW4oKHNlcnZlclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHN0YXJ0VHJhbnNpdGlvbigoKSA9PiB7XG4gICAgICAgICAgY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZSh7XG4gICAgICAgICAgICBwcmV2aW91c1RyZWU6IGZ1bGxUcmVlLFxuICAgICAgICAgICAgc2VydmVyUmVzcG9uc2UsXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcblxuICAgICAgICByZXR1cm4gc2VydmVyUmVzcG9uc2VcbiAgICAgIH0pXG4gICAgfVxuICAgIC8vIFN1c3BlbmQgaW5maW5pdGVseSBhcyBgY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZWAgd2lsbCBjYXVzZSBhIGRpZmZlcmVudCBwYXJ0IG9mIHRoZSB0cmVlIHRvIGJlIHJlbmRlcmVkLlxuICAgIC8vIEEgZmFsc2V5IGByZXNvbHZlZFJzY2AgaW5kaWNhdGVzIG1pc3NpbmcgZGF0YSAtLSB3ZSBzaG91bGQgbm90IGNvbW1pdCB0aGF0IGJyYW5jaCwgYW5kIHdlIG5lZWQgdG8gd2FpdCBmb3IgdGhlIGRhdGEgdG8gYXJyaXZlLlxuICAgIHVzZSh1bnJlc29sdmVkVGhlbmFibGUpIGFzIG5ldmVyXG4gIH1cblxuICAvLyBJZiB3ZSBnZXQgdG8gdGhpcyBwb2ludCwgdGhlbiB3ZSBrbm93IHdlIGhhdmUgc29tZXRoaW5nIHdlIGNhbiByZW5kZXIuXG4gIGNvbnN0IHN1YnRyZWUgPSAoXG4gICAgLy8gVGhlIGxheW91dCByb3V0ZXIgY29udGV4dCBuYXJyb3dzIGRvd24gdHJlZSBhbmQgY2hpbGROb2RlcyBhdCBlYWNoIGxldmVsLlxuICAgIDxMYXlvdXRSb3V0ZXJDb250ZXh0LlByb3ZpZGVyXG4gICAgICB2YWx1ZT17e1xuICAgICAgICB0cmVlOiB0cmVlWzFdW3BhcmFsbGVsUm91dGVyS2V5XSxcbiAgICAgICAgY2hpbGROb2RlczogY2hpbGROb2RlLnBhcmFsbGVsUm91dGVzLFxuICAgICAgICAvLyBUT0RPLUFQUDogb3ZlcnJpZGluZyBvZiB1cmwgZm9yIHBhcmFsbGVsIHJvdXRlc1xuICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgbG9hZGluZzogY2hpbGROb2RlLmxvYWRpbmcsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtyZXNvbHZlZFJzY31cbiAgICA8L0xheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXI+XG4gIClcbiAgLy8gRW5zdXJlIHJvb3QgbGF5b3V0IGlzIG5vdCB3cmFwcGVkIGluIGEgZGl2IGFzIHRoZSByb290IGxheW91dCByZW5kZXJzIGA8aHRtbD5gXG4gIHJldHVybiBzdWJ0cmVlXG59XG5cbi8qKlxuICogUmVuZGVycyBzdXNwZW5zZSBib3VuZGFyeSB3aXRoIHRoZSBwcm92aWRlZCBcImxvYWRpbmdcIiBwcm9wZXJ0eSBhcyB0aGUgZmFsbGJhY2suXG4gKiBJZiBubyBsb2FkaW5nIHByb3BlcnR5IGlzIHByb3ZpZGVkIGl0IHJlbmRlcnMgdGhlIGNoaWxkcmVuIHdpdGhvdXQgYSBzdXNwZW5zZSBib3VuZGFyeS5cbiAqL1xuZnVuY3Rpb24gTG9hZGluZ0JvdW5kYXJ5KHtcbiAgY2hpbGRyZW4sXG4gIGhhc0xvYWRpbmcsXG4gIGxvYWRpbmcsXG4gIGxvYWRpbmdTdHlsZXMsXG4gIGxvYWRpbmdTY3JpcHRzLFxufToge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG4gIGhhc0xvYWRpbmc6IGJvb2xlYW5cbiAgbG9hZGluZz86IFJlYWN0LlJlYWN0Tm9kZVxuICBsb2FkaW5nU3R5bGVzPzogUmVhY3QuUmVhY3ROb2RlXG4gIGxvYWRpbmdTY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlXG59KTogSlNYLkVsZW1lbnQge1xuICAvLyBXZSBoYXZlIGFuIGV4cGxpY2l0IHByb3AgZm9yIGNoZWNraW5nIGlmIGBsb2FkaW5nYCBpcyBwcm92aWRlZCwgdG8gZGlzYW1iaWd1YXRlIGJldHdlZW4gYSBsb2FkaW5nXG4gIC8vIGNvbXBvbmVudCB0aGF0IHJldHVybnMgYG51bGxgIC8gYHVuZGVmaW5lZGAsIHZzIG5vdCBoYXZpbmcgYSBsb2FkaW5nIGNvbXBvbmVudCBhdCBhbGwuXG4gIGlmIChoYXNMb2FkaW5nKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdXNwZW5zZVxuICAgICAgICBmYWxsYmFjaz17XG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIHtsb2FkaW5nU3R5bGVzfVxuICAgICAgICAgICAge2xvYWRpbmdTY3JpcHRzfVxuICAgICAgICAgICAge2xvYWRpbmd9XG4gICAgICAgICAgPC8+XG4gICAgICAgIH1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdXNwZW5zZT5cbiAgICApXG4gIH1cblxuICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG59XG5cbi8qKlxuICogT3V0ZXJMYXlvdXRSb3V0ZXIgaGFuZGxlcyB0aGUgY3VycmVudCBzZWdtZW50IGFzIHdlbGwgYXMgPE9mZnNjcmVlbj4gcmVuZGVyaW5nIG9mIG90aGVyIHNlZ21lbnRzLlxuICogSXQgY2FuIGJlIHJlbmRlcmVkIG5leHQgdG8gZWFjaCBvdGhlciB3aXRoIGEgZGlmZmVyZW50IGBwYXJhbGxlbFJvdXRlcktleWAsIGFsbG93aW5nIGZvciBQYXJhbGxlbCByb3V0ZXMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE91dGVyTGF5b3V0Um91dGVyKHtcbiAgcGFyYWxsZWxSb3V0ZXJLZXksXG4gIHNlZ21lbnRQYXRoLFxuICBlcnJvcixcbiAgZXJyb3JTdHlsZXMsXG4gIGVycm9yU2NyaXB0cyxcbiAgdGVtcGxhdGVTdHlsZXMsXG4gIHRlbXBsYXRlU2NyaXB0cyxcbiAgdGVtcGxhdGUsXG4gIG5vdEZvdW5kLFxuICBub3RGb3VuZFN0eWxlcyxcbn06IHtcbiAgcGFyYWxsZWxSb3V0ZXJLZXk6IHN0cmluZ1xuICBzZWdtZW50UGF0aDogRmxpZ2h0U2VnbWVudFBhdGhcbiAgZXJyb3I6IEVycm9yQ29tcG9uZW50IHwgdW5kZWZpbmVkXG4gIGVycm9yU3R5bGVzOiBSZWFjdC5SZWFjdE5vZGUgfCB1bmRlZmluZWRcbiAgZXJyb3JTY3JpcHRzOiBSZWFjdC5SZWFjdE5vZGUgfCB1bmRlZmluZWRcbiAgdGVtcGxhdGVTdHlsZXM6IFJlYWN0LlJlYWN0Tm9kZSB8IHVuZGVmaW5lZFxuICB0ZW1wbGF0ZVNjcmlwdHM6IFJlYWN0LlJlYWN0Tm9kZSB8IHVuZGVmaW5lZFxuICB0ZW1wbGF0ZTogUmVhY3QuUmVhY3ROb2RlXG4gIG5vdEZvdW5kOiBSZWFjdC5SZWFjdE5vZGUgfCB1bmRlZmluZWRcbiAgbm90Rm91bmRTdHlsZXM6IFJlYWN0LlJlYWN0Tm9kZSB8IHVuZGVmaW5lZFxufSkge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChMYXlvdXRSb3V0ZXJDb250ZXh0KVxuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFyaWFudCBleHBlY3RlZCBsYXlvdXQgcm91dGVyIHRvIGJlIG1vdW50ZWQnKVxuICB9XG5cbiAgY29uc3QgeyBjaGlsZE5vZGVzLCB0cmVlLCB1cmwsIGxvYWRpbmcgfSA9IGNvbnRleHRcblxuICAvLyBHZXQgdGhlIGN1cnJlbnQgcGFyYWxsZWxSb3V0ZXIgY2FjaGUgbm9kZVxuICBsZXQgY2hpbGROb2Rlc0ZvclBhcmFsbGVsUm91dGVyID0gY2hpbGROb2Rlcy5nZXQocGFyYWxsZWxSb3V0ZXJLZXkpXG4gIC8vIElmIHRoZSBwYXJhbGxlbCByb3V0ZXIgY2FjaGUgbm9kZSBkb2VzIG5vdCBleGlzdCB5ZXQsIGNyZWF0ZSBpdC5cbiAgLy8gVGhpcyB3cml0ZXMgdG8gdGhlIGNhY2hlIHdoZW4gdGhlcmUgaXMgbm8gaXRlbSBpbiB0aGUgY2FjaGUgeWV0LiBJdCBuZXZlciAqb3ZlcndyaXRlcyogZXhpc3RpbmcgY2FjaGUgaXRlbXMgd2hpY2ggaXMgd2h5IGl0J3Mgc2FmZSBpbiBjb25jdXJyZW50IG1vZGUuXG4gIGlmICghY2hpbGROb2Rlc0ZvclBhcmFsbGVsUm91dGVyKSB7XG4gICAgY2hpbGROb2Rlc0ZvclBhcmFsbGVsUm91dGVyID0gbmV3IE1hcCgpXG4gICAgY2hpbGROb2Rlcy5zZXQocGFyYWxsZWxSb3V0ZXJLZXksIGNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlcilcbiAgfVxuXG4gIC8vIEdldCB0aGUgYWN0aXZlIHNlZ21lbnQgaW4gdGhlIHRyZWVcbiAgLy8gVGhlIHJlYXNvbiBhcnJheXMgYXJlIHVzZWQgaW4gdGhlIGRhdGEgZm9ybWF0IGlzIHRoYXQgdGhlc2UgYXJlIHRyYW5zZmVycmVkIGZyb20gdGhlIHNlcnZlciB0byB0aGUgYnJvd3NlciBzbyBpdCdzIG9wdGltaXplZCB0byBzYXZlIGJ5dGVzLlxuICBjb25zdCB0cmVlU2VnbWVudCA9IHRyZWVbMV1bcGFyYWxsZWxSb3V0ZXJLZXldWzBdXG5cbiAgLy8gSWYgc2VnbWVudCBpcyBhbiBhcnJheSBpdCdzIGEgZHluYW1pYyByb3V0ZSBhbmQgd2Ugd2FudCB0byByZWFkIHRoZSBkeW5hbWljIHJvdXRlIHZhbHVlIGFzIHRoZSBzZWdtZW50IHRvIGdldCBmcm9tIHRoZSBjYWNoZS5cbiAgY29uc3QgY3VycmVudENoaWxkU2VnbWVudFZhbHVlID0gZ2V0U2VnbWVudFZhbHVlKHRyZWVTZWdtZW50KVxuXG4gIC8qKlxuICAgKiBEZWNpZGVzIHdoaWNoIHNlZ21lbnRzIHRvIGtlZXAgcmVuZGVyaW5nLCBhbGwgc2VnbWVudHMgdGhhdCBhcmUgbm90IGFjdGl2ZSB3aWxsIGJlIHdyYXBwZWQgaW4gYDxPZmZzY3JlZW4+YC5cbiAgICovXG4gIC8vIFRPRE8tQVBQOiBBZGQgaGFuZGxpbmcgb2YgYDxPZmZzY3JlZW4+YCB3aGVuIGl0J3MgYXZhaWxhYmxlLlxuICBjb25zdCBwcmVzZXJ2ZWRTZWdtZW50czogU2VnbWVudFtdID0gW3RyZWVTZWdtZW50XVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtwcmVzZXJ2ZWRTZWdtZW50cy5tYXAoKHByZXNlcnZlZFNlZ21lbnQpID0+IHtcbiAgICAgICAgY29uc3QgcHJlc2VydmVkU2VnbWVudFZhbHVlID0gZ2V0U2VnbWVudFZhbHVlKHByZXNlcnZlZFNlZ21lbnQpXG4gICAgICAgIGNvbnN0IGNhY2hlS2V5ID0gY3JlYXRlUm91dGVyQ2FjaGVLZXkocHJlc2VydmVkU2VnbWVudClcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIC8qXG4gICAgICAgICAgICAtIEVycm9yIGJvdW5kYXJ5XG4gICAgICAgICAgICAgIC0gT25seSByZW5kZXJzIGVycm9yIGJvdW5kYXJ5IGlmIGVycm9yIGNvbXBvbmVudCBpcyBwcm92aWRlZC5cbiAgICAgICAgICAgICAgLSBSZW5kZXJlZCBmb3IgZWFjaCBzZWdtZW50IHRvIGVuc3VyZSB0aGV5IGhhdmUgdGhlaXIgb3duIGVycm9yIHN0YXRlLlxuICAgICAgICAgICAgLSBMb2FkaW5nIGJvdW5kYXJ5XG4gICAgICAgICAgICAgIC0gT25seSByZW5kZXJzIHN1c3BlbnNlIGJvdW5kYXJ5IGlmIGxvYWRpbmcgY29tcG9uZW50cyBpcyBwcm92aWRlZC5cbiAgICAgICAgICAgICAgLSBSZW5kZXJlZCBmb3IgZWFjaCBzZWdtZW50IHRvIGVuc3VyZSB0aGV5IGhhdmUgdGhlaXIgb3duIGxvYWRpbmcgc3RhdGUuXG4gICAgICAgICAgICAgIC0gUGFzc2VkIHRvIHRoZSByb3V0ZXIgZHVyaW5nIHJlbmRlcmluZyB0byBlbnN1cmUgaXQgY2FuIGJlIGltbWVkaWF0ZWx5IHJlbmRlcmVkIHdoZW4gc3VzcGVuZGluZyBvbiBhIEZsaWdodCBmZXRjaC5cbiAgICAgICAgICAqL1xuICAgICAgICAgIDxUZW1wbGF0ZUNvbnRleHQuUHJvdmlkZXJcbiAgICAgICAgICAgIGtleT17Y3JlYXRlUm91dGVyQ2FjaGVLZXkocHJlc2VydmVkU2VnbWVudCwgdHJ1ZSl9XG4gICAgICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgICAgIDxTY3JvbGxBbmRGb2N1c0hhbmRsZXIgc2VnbWVudFBhdGg9e3NlZ21lbnRQYXRofT5cbiAgICAgICAgICAgICAgICA8RXJyb3JCb3VuZGFyeVxuICAgICAgICAgICAgICAgICAgZXJyb3JDb21wb25lbnQ9e2Vycm9yfVxuICAgICAgICAgICAgICAgICAgZXJyb3JTdHlsZXM9e2Vycm9yU3R5bGVzfVxuICAgICAgICAgICAgICAgICAgZXJyb3JTY3JpcHRzPXtlcnJvclNjcmlwdHN9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPExvYWRpbmdCb3VuZGFyeVxuICAgICAgICAgICAgICAgICAgICBoYXNMb2FkaW5nPXtCb29sZWFuKGxvYWRpbmcpfVxuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nPXtsb2FkaW5nPy5bMF19XG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTdHlsZXM9e2xvYWRpbmc/LlsxXX1cbiAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1NjcmlwdHM9e2xvYWRpbmc/LlsyXX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPE5vdEZvdW5kQm91bmRhcnlcbiAgICAgICAgICAgICAgICAgICAgICBub3RGb3VuZD17bm90Rm91bmR9XG4gICAgICAgICAgICAgICAgICAgICAgbm90Rm91bmRTdHlsZXM9e25vdEZvdW5kU3R5bGVzfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPFJlZGlyZWN0Qm91bmRhcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SW5uZXJMYXlvdXRSb3V0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYWxsZWxSb3V0ZXJLZXk9e3BhcmFsbGVsUm91dGVyS2V5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw9e3VybH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJlZT17dHJlZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGROb2Rlcz17Y2hpbGROb2Rlc0ZvclBhcmFsbGVsUm91dGVyIX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VnbWVudFBhdGg9e3NlZ21lbnRQYXRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUtleT17Y2FjaGVLZXl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50Q2hpbGRTZWdtZW50VmFsdWUgPT09IHByZXNlcnZlZFNlZ21lbnRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvUmVkaXJlY3RCb3VuZGFyeT5cbiAgICAgICAgICAgICAgICAgICAgPC9Ob3RGb3VuZEJvdW5kYXJ5PlxuICAgICAgICAgICAgICAgICAgPC9Mb2FkaW5nQm91bmRhcnk+XG4gICAgICAgICAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgICAgICAgICA8L1Njcm9sbEFuZEZvY3VzSGFuZGxlcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dGVtcGxhdGVTdHlsZXN9XG4gICAgICAgICAgICB7dGVtcGxhdGVTY3JpcHRzfVxuICAgICAgICAgICAge3RlbXBsYXRlfVxuICAgICAgICAgIDwvVGVtcGxhdGVDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgICApXG4gICAgICB9KX1cbiAgICA8Lz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIk91dGVyTGF5b3V0Um91dGVyIiwid2Fsa0FkZFJlZmV0Y2giLCJzZWdtZW50UGF0aFRvV2FsayIsInRyZWVUb1JlY3JlYXRlIiwic2VnbWVudCIsInBhcmFsbGVsUm91dGVLZXkiLCJpc0xhc3QiLCJsZW5ndGgiLCJtYXRjaFNlZ21lbnQiLCJoYXNPd25Qcm9wZXJ0eSIsInN1YlRyZWUiLCJ1bmRlZmluZWQiLCJzbGljZSIsIl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSIsIlJlYWN0RE9NIiwiZmluZERPTU5vZGUiLCJpbnN0YW5jZSIsIndpbmRvdyIsImludGVybmFsX3JlYWN0RE9NZmluZERPTU5vZGUiLCJyZWN0UHJvcGVydGllcyIsInNob3VsZFNraXBFbGVtZW50IiwiZWxlbWVudCIsImluY2x1ZGVzIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsInBvc2l0aW9uIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiY29uc29sZSIsIndhcm4iLCJyZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiZXZlcnkiLCJpdGVtIiwidG9wT2ZFbGVtZW50SW5WaWV3cG9ydCIsInZpZXdwb3J0SGVpZ2h0IiwidG9wIiwiZ2V0SGFzaEZyYWdtZW50RG9tTm9kZSIsImhhc2hGcmFnbWVudCIsImRvY3VtZW50IiwiYm9keSIsImdldEVsZW1lbnRCeUlkIiwiZ2V0RWxlbWVudHNCeU5hbWUiLCJJbm5lclNjcm9sbEFuZEZvY3VzSGFuZGxlciIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29tcG9uZW50RGlkTW91bnQiLCJoYW5kbGVQb3RlbnRpYWxTY3JvbGwiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcm9wcyIsImZvY3VzQW5kU2Nyb2xsUmVmIiwiYXBwbHkiLCJyZW5kZXIiLCJjaGlsZHJlbiIsInNlZ21lbnRQYXRoIiwic2VnbWVudFBhdGhzIiwic29tZSIsInNjcm9sbFJlZlNlZ21lbnRQYXRoIiwiaW5kZXgiLCJkb21Ob2RlIiwiRWxlbWVudCIsIkhUTUxFbGVtZW50IiwibmV4dEVsZW1lbnRTaWJsaW5nIiwiaGFuZGxlU21vb3RoU2Nyb2xsIiwic2Nyb2xsSW50b1ZpZXciLCJodG1sRWxlbWVudCIsImRvY3VtZW50RWxlbWVudCIsImNsaWVudEhlaWdodCIsInNjcm9sbFRvcCIsImRvbnRGb3JjZUxheW91dCIsIm9ubHlIYXNoQ2hhbmdlIiwiZm9jdXMiLCJTY3JvbGxBbmRGb2N1c0hhbmRsZXIiLCJjb250ZXh0IiwidXNlQ29udGV4dCIsIkdsb2JhbExheW91dFJvdXRlckNvbnRleHQiLCJFcnJvciIsIklubmVyTGF5b3V0Um91dGVyIiwicGFyYWxsZWxSb3V0ZXJLZXkiLCJ1cmwiLCJjaGlsZE5vZGVzIiwidHJlZSIsImNhY2hlS2V5IiwiYnVpbGRJZCIsImNoYW5nZUJ5U2VydmVyUmVzcG9uc2UiLCJmdWxsVHJlZSIsImNoaWxkTm9kZSIsImdldCIsIm5ld0xhenlDYWNoZU5vZGUiLCJsYXp5RGF0YSIsInJzYyIsInByZWZldGNoUnNjIiwiaGVhZCIsInByZWZldGNoSGVhZCIsInBhcmFsbGVsUm91dGVzIiwiTWFwIiwibG9hZGluZyIsInNldCIsInJlc29sdmVkUHJlZmV0Y2hSc2MiLCJ1c2VEZWZlcnJlZFZhbHVlIiwicmVzb2x2ZWRSc2MiLCJ0aGVuIiwidXNlIiwicmVmZXRjaFRyZWUiLCJpbmNsdWRlTmV4dFVybCIsImhhc0ludGVyY2VwdGlvblJvdXRlSW5DdXJyZW50VHJlZSIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJVUkwiLCJsb2NhdGlvbiIsIm9yaWdpbiIsImZsaWdodFJvdXRlclN0YXRlIiwibmV4dFVybCIsInNlcnZlclJlc3BvbnNlIiwic3RhcnRUcmFuc2l0aW9uIiwicHJldmlvdXNUcmVlIiwidW5yZXNvbHZlZFRoZW5hYmxlIiwic3VidHJlZSIsIkxheW91dFJvdXRlckNvbnRleHQiLCJQcm92aWRlciIsInZhbHVlIiwiTG9hZGluZ0JvdW5kYXJ5IiwiaGFzTG9hZGluZyIsImxvYWRpbmdTdHlsZXMiLCJsb2FkaW5nU2NyaXB0cyIsIlN1c3BlbnNlIiwiZmFsbGJhY2siLCJlcnJvciIsImVycm9yU3R5bGVzIiwiZXJyb3JTY3JpcHRzIiwidGVtcGxhdGVTdHlsZXMiLCJ0ZW1wbGF0ZVNjcmlwdHMiLCJ0ZW1wbGF0ZSIsIm5vdEZvdW5kIiwibm90Rm91bmRTdHlsZXMiLCJjaGlsZE5vZGVzRm9yUGFyYWxsZWxSb3V0ZXIiLCJ0cmVlU2VnbWVudCIsImN1cnJlbnRDaGlsZFNlZ21lbnRWYWx1ZSIsImdldFNlZ21lbnRWYWx1ZSIsInByZXNlcnZlZFNlZ21lbnRzIiwibWFwIiwicHJlc2VydmVkU2VnbWVudCIsInByZXNlcnZlZFNlZ21lbnRWYWx1ZSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwiVGVtcGxhdGVDb250ZXh0IiwiRXJyb3JCb3VuZGFyeSIsImVycm9yQ29tcG9uZW50IiwiQm9vbGVhbiIsIk5vdEZvdW5kQm91bmRhcnkiLCJSZWRpcmVjdEJvdW5kYXJ5IiwiaXNBY3RpdmUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\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 canSegmentBeOverridden: function() {\n return canSegmentBeOverridden;\n },\n matchSegment: function() {\n return matchSegment;\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL21hdGNoLXNlZ21lbnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQXlCYUEsc0JBQXNCO2VBQXRCQTs7SUF0QkFDLFlBQVk7ZUFBWkE7Ozs2Q0FIbUI7QUFHekIsTUFBTUEsZUFBZSxDQUMxQkMsaUJBQ0FDO0lBRUEsb0NBQW9DO0lBQ3BDLElBQUksT0FBT0Qsb0JBQW9CLFVBQVU7UUFDdkMsSUFBSSxPQUFPQyxZQUFZLFVBQVU7WUFDL0Isd0NBQXdDO1lBQ3hDLE9BQU9ELG9CQUFvQkM7UUFDN0I7UUFDQSxPQUFPO0lBQ1Q7SUFFQSxJQUFJLE9BQU9BLFlBQVksVUFBVTtRQUMvQixPQUFPO0lBQ1Q7SUFDQSxPQUFPRCxlQUFlLENBQUMsRUFBRSxLQUFLQyxPQUFPLENBQUMsRUFBRSxJQUFJRCxlQUFlLENBQUMsRUFBRSxLQUFLQyxPQUFPLENBQUMsRUFBRTtBQUMvRTtBQUtPLE1BQU1ILHlCQUF5QixDQUNwQ0UsaUJBQ0FDO1FBTU9DO0lBSlAsSUFBSUMsTUFBTUMsT0FBTyxDQUFDSixvQkFBb0IsQ0FBQ0csTUFBTUMsT0FBTyxDQUFDSCxVQUFVO1FBQzdELE9BQU87SUFDVDtJQUVBLE9BQU9DLENBQUFBLENBQUFBLG1CQUFBQSxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBQUEsRUFBZ0JGLGdCQUFBQSxLQUFBQSxPQUFBQSxLQUFBQSxJQUFoQkUsaUJBQWtDRyxLQUFBQSxNQUFVSixPQUFPLENBQUMsRUFBRTtBQUMvRCIsInNvdXJjZXMiOlsiQzpcXFVzZXJzXFxqb3Noc1xcc3JjXFxjbGllbnRcXGNvbXBvbmVudHNcXG1hdGNoLXNlZ21lbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFNlZ21lbnRQYXJhbSB9IGZyb20gJy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL2dldC1zZWdtZW50LXBhcmFtJ1xuaW1wb3J0IHR5cGUgeyBTZWdtZW50IH0gZnJvbSAnLi4vLi4vc2VydmVyL2FwcC1yZW5kZXIvdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBtYXRjaFNlZ21lbnQgPSAoXG4gIGV4aXN0aW5nU2VnbWVudDogU2VnbWVudCxcbiAgc2VnbWVudDogU2VnbWVudFxuKTogYm9vbGVhbiA9PiB7XG4gIC8vIHNlZ21lbnQgaXMgZWl0aGVyIEFycmF5IG9yIHN0cmluZ1xuICBpZiAodHlwZW9mIGV4aXN0aW5nU2VnbWVudCA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAodHlwZW9mIHNlZ21lbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBDb21tb24gY2FzZTogc2VnbWVudCBpcyBqdXN0IGEgc3RyaW5nXG4gICAgICByZXR1cm4gZXhpc3RpbmdTZWdtZW50ID09PSBzZWdtZW50XG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgaWYgKHR5cGVvZiBzZWdtZW50ID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIHJldHVybiBleGlzdGluZ1NlZ21lbnRbMF0gPT09IHNlZ21lbnRbMF0gJiYgZXhpc3RpbmdTZWdtZW50WzFdID09PSBzZWdtZW50WzFdXG59XG5cbi8qXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGFuIGV4aXN0aW5nIHNlZ21lbnQgY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGluY29taW5nIHNlZ21lbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBjYW5TZWdtZW50QmVPdmVycmlkZGVuID0gKFxuICBleGlzdGluZ1NlZ21lbnQ6IFNlZ21lbnQsXG4gIHNlZ21lbnQ6IFNlZ21lbnRcbik6IGJvb2xlYW4gPT4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShleGlzdGluZ1NlZ21lbnQpIHx8ICFBcnJheS5pc0FycmF5KHNlZ21lbnQpKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICByZXR1cm4gZ2V0U2VnbWVudFBhcmFtKGV4aXN0aW5nU2VnbWVudCk/LnBhcmFtID09PSBzZWdtZW50WzBdXG59XG4iXSwibmFtZXMiOlsiY2FuU2VnbWVudEJlT3ZlcnJpZGRlbiIsIm1hdGNoU2VnbWVudCIsImV4aXN0aW5nU2VnbWVudCIsInNlZ21lbnQiLCJnZXRTZWdtZW50UGFyYW0iLCJBcnJheSIsImlzQXJyYXkiLCJwYXJhbSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/match-segments.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/next/dist/client/components/nav-failure-handler.js":
/*!*************************************************************************!*\
!*** ./node_modules/next/dist/client/components/nav-failure-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 handleHardNavError: function() {\n return handleHardNavError;\n },\n useNavFailureHandler: function() {\n return useNavFailureHandler;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.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\");\nfunction handleHardNavError(error) {\n if (error && \"undefined\" !== 'undefined' && 0 && 0) {}\n return false;\n}\nfunction useNavFailureHandler() {\n if (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=nav-failure-handler.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25hdi1mYWlsdXJlLWhhbmRsZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBR2dCQSxrQkFBa0I7ZUFBbEJBOztJQWtCQUMsb0JBQW9CO2VBQXBCQTs7O21DQXJCVTsrQ0FDUTtBQUUzQixTQUFTRCxtQkFBbUJFLEtBQWM7SUFDL0MsSUFDRUEsU0FDQSxPQUFPQyxTQUFXLGVBQ2xCQSxDQUF3QixJQUN4QkcsQ0FDNkMsRUFDN0MsRUFPRDtJQUNELE9BQU87QUFDVDtBQUVPLFNBQVNMO0lBQ2QsSUFBSVcsS0FBd0MsRUFBRSxFQXVCN0M7QUFDSCIsInNvdXJjZXMiOlsiQzpcXFVzZXJzXFxqb3Noc1xcc3JjXFxjbGllbnRcXGNvbXBvbmVudHNcXG5hdi1mYWlsdXJlLWhhbmRsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVIcmVmRnJvbVVybCB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvY3JlYXRlLWhyZWYtZnJvbS11cmwnXG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVIYXJkTmF2RXJyb3IoZXJyb3I6IHVua25vd24pOiBib29sZWFuIHtcbiAgaWYgKFxuICAgIGVycm9yICYmXG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICB3aW5kb3cubmV4dC5fX3BlbmRpbmdVcmwgJiZcbiAgICBjcmVhdGVIcmVmRnJvbVVybChuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSkgIT09XG4gICAgICBjcmVhdGVIcmVmRnJvbVVybCh3aW5kb3cubmV4dC5fX3BlbmRpbmdVcmwpXG4gICkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgRXJyb3Igb2NjdXJyZWQgZHVyaW5nIG5hdmlnYXRpb24sIGZhbGxpbmcgYmFjayB0byBoYXJkIG5hdmlnYXRpb25gLFxuICAgICAgZXJyb3JcbiAgICApXG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB3aW5kb3cubmV4dC5fX3BlbmRpbmdVcmwudG9TdHJpbmcoKVxuICAgIHJldHVybiB0cnVlXG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VOYXZGYWlsdXJlSGFuZGxlcigpIHtcbiAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9BUFBfTkFWX0ZBSUxfSEFORExJTkcpIHtcbiAgICAvLyB0aGlzIGlmIGlzIG9ubHkgZm9yIERDRSBvZiB0aGUgZmVhdHVyZSBmbGFnIG5vdCBjb25kaXRpb25hbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCB1bmNhdWdodEV4Y2VwdGlvbkhhbmRsZXIgPSAoXG4gICAgICAgIGV2dDogRXJyb3JFdmVudCB8IFByb21pc2VSZWplY3Rpb25FdmVudFxuICAgICAgKSA9PiB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gJ3JlYXNvbicgaW4gZXZ0ID8gZXZ0LnJlYXNvbiA6IGV2dC5lcnJvclxuICAgICAgICAvLyBpZiB3ZSBoYXZlIGFuIHVuaGFuZGxlZCBleGNlcHRpb24vcmVqZWN0aW9uIGR1cmluZ1xuICAgICAgICAvLyBhIG5hdmlnYXRpb24gd2UgZmFsbCBiYWNrIHRvIGEgaGFyZCBuYXZpZ2F0aW9uIHRvXG4gICAgICAgIC8vIGF0dGVtcHQgcmVjb3ZlcmluZyB0byBhIGdvb2Qgc3RhdGVcbiAgICAgICAgaGFuZGxlSGFyZE5hdkVycm9yKGVycm9yKVxuICAgICAgfVxuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3VuaGFuZGxlZHJlamVjdGlvbicsIHVuY2F1Z2h0RXhjZXB0aW9uSGFuZGxlcilcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIHVuY2F1Z2h0RXhjZXB0aW9uSGFuZGxlcilcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdlcnJvcicsIHVuY2F1Z2h0RXhjZXB0aW9uSGFuZGxlcilcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgJ3VuaGFuZGxlZHJlamVjdGlvbicsXG4gICAgICAgICAgdW5jYXVnaHRFeGNlcHRpb25IYW5kbGVyXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9LCBbXSlcbiAgfVxufVxuIl0sIm5hbWVzIjpbImhhbmRsZUhhcmROYXZFcnJvciIsInVzZU5hdkZhaWx1cmVIYW5kbGVyIiwiZXJyb3IiLCJ3aW5kb3ciLCJuZXh0IiwiX19wZW5kaW5nVXJsIiwiY3JlYXRlSHJlZkZyb21VcmwiLCJVUkwiLCJsb2NhdGlvbiIsImhyZWYiLCJjb25zb2xlIiwidG9TdHJpbmciLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0FQUF9OQVZfRkFJTF9IQU5ETElORyIsInVzZUVmZmVjdCIsInVuY2F1Z2h0RXhjZXB0aW9uSGFuZGxlciIsImV2dCIsInJlYXNvbiIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/nav-failure-handler.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/next/dist/client/components/navigation-untracked.js":
/*!**************************************************************************!*\
!*** ./node_modules/next/dist/client/components/navigation-untracked.js ***!
\**************************************************************************/
/***/ ((module, exports, __webpack_require__) => {
"use strict";
eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useUntrackedPathname\", ({\n enumerable: true,\n get: function() {\n return useUntrackedPathname;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js\");\n/**\n * This checks to see if the current render has any unknown route parameters.\n * It's used to trigger a different render path in the error boundary.\n *\n * @returns true if there are any unknown route parameters, false otherwise\n */ function hasFallbackRouteParams() {\n if (true) {\n // AsyncLocalStorage should not be included in the client bundle.\n const { workAsyncStorage } = __webpack_require__(/*! ../../server/app-render/work-async-storage.external */ \"../app-render/work-async-storage.external\");\n const workStore = workAsyncStorage.getStore();\n if (!workStore) return false;\n const { fallbackRouteParams } = workStore;\n if (!fallbackRouteParams || fallbackRouteParams.size === 0) return false;\n return true;\n }\n return false;\n}\nfunction useUntrackedPathname() {\n // If there are any unknown route parameters we would typically throw\n // an error, but this internal method allows us to return a null value instead\n // for components that do not propagate the pathname to the static shell (like\n // the error boundary).\n if (hasFallbackRouteParams()) {\n return null;\n }\n // This shouldn't cause any issues related to conditional rendering because\n // the environment will be consistent for the render.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext);\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-untracked.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24tdW50cmFja2VkLmpzIiwibWFwcGluZ3MiOiI7Ozs7d0RBc0NnQkE7OztlQUFBQTs7O21DQXRDVzs2REFDSztBQUVoQzs7Ozs7Q0FLQyxHQUNELFNBQVNDO0lBQ1AsSUFBSSxJQUE2QixFQUFFO1FBQ2pDLGlFQUFpRTtRQUNqRSxNQUFNLEVBQUVFLGdCQUFnQixFQUFFLEdBQ3hCQyxtQkFBT0EsQ0FBQyxzR0FBcUQ7UUFFL0QsTUFBTUMsWUFBWUYsaUJBQWlCRyxRQUFRO1FBQzNDLElBQUksQ0FBQ0QsV0FBVyxPQUFPO1FBRXZCLE1BQU0sRUFBRUUsbUJBQW1CLEVBQUUsR0FBR0Y7UUFDaEMsSUFBSSxDQUFDRSx1QkFBdUJBLG9CQUFvQkMsSUFBSSxLQUFLLEdBQUcsT0FBTztRQUVuRSxPQUFPO0lBQ1Q7SUFFQSxPQUFPO0FBQ1Q7QUFhTyxTQUFTUjtJQUNkLHFFQUFxRTtJQUNyRSw4RUFBOEU7SUFDOUUsOEVBQThFO0lBQzlFLHVCQUF1QjtJQUN2QixJQUFJQywwQkFBMEI7UUFDNUIsT0FBTztJQUNUO0lBRUEsMkVBQTJFO0lBQzNFLHFEQUFxRDtJQUNyRCxzREFBc0Q7SUFDdEQsT0FBT1EsQ0FBQUEsR0FBQUEsT0FBQUEsVUFBQUEsRUFBV0MsaUNBQUFBLGVBQWU7QUFDbkMiLCJzb3VyY2VzIjpbIkM6XFxVc2Vyc1xcam9zaHNcXHNyY1xcY2xpZW50XFxjb21wb25lbnRzXFxuYXZpZ2F0aW9uLXVudHJhY2tlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBQYXRobmFtZUNvbnRleHQgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL2hvb2tzLWNsaWVudC1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuXG4vKipcbiAqIFRoaXMgY2hlY2tzIHRvIHNlZSBpZiB0aGUgY3VycmVudCByZW5kZXIgaGFzIGFueSB1bmtub3duIHJvdXRlIHBhcmFtZXRlcnMuXG4gKiBJdCdzIHVzZWQgdG8gdHJpZ2dlciBhIGRpZmZlcmVudCByZW5kZXIgcGF0aCBpbiB0aGUgZXJyb3IgYm91bmRhcnkuXG4gKlxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGVyZSBhcmUgYW55IHVua25vd24gcm91dGUgcGFyYW1ldGVycywgZmFsc2Ugb3RoZXJ3aXNlXG4gKi9cbmZ1bmN0aW9uIGhhc0ZhbGxiYWNrUm91dGVQYXJhbXMoKSB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIC8vIEFzeW5jTG9jYWxTdG9yYWdlIHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIGNsaWVudCBidW5kbGUuXG4gICAgY29uc3QgeyB3b3JrQXN5bmNTdG9yYWdlIH0gPVxuICAgICAgcmVxdWlyZSgnLi4vLi4vc2VydmVyL2FwcC1yZW5kZXIvd29yay1hc3luYy1zdG9yYWdlLmV4dGVybmFsJykgYXMgdHlwZW9mIGltcG9ydCgnLi4vLi4vc2VydmVyL2FwcC1yZW5kZXIvd29yay1hc3luYy1zdG9yYWdlLmV4dGVybmFsJylcblxuICAgIGNvbnN0IHdvcmtTdG9yZSA9IHdvcmtBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKVxuICAgIGlmICghd29ya1N0b3JlKSByZXR1cm4gZmFsc2VcblxuICAgIGNvbnN0IHsgZmFsbGJhY2tSb3V0ZVBhcmFtcyB9ID0gd29ya1N0b3JlXG4gICAgaWYgKCFmYWxsYmFja1JvdXRlUGFyYW1zIHx8IGZhbGxiYWNrUm91dGVQYXJhbXMuc2l6ZSA9PT0gMCkgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbi8qKlxuICogVGhpcyByZXR1cm5zIGEgYG51bGxgIHZhbHVlIGlmIHRoZXJlIGFyZSBhbnkgdW5rbm93biByb3V0ZSBwYXJhbWV0ZXJzLCBhbmRcbiAqIG90aGVyd2lzZSByZXR1cm5zIHRoZSBwYXRobmFtZSBmcm9tIHRoZSBjb250ZXh0LiBUaGlzIGlzIGFuIGFsdGVybmF0aXZlIHRvXG4gKiBgdXNlUGF0aG5hbWVgIHRoYXQgaXMgdXNlZCBpbiB0aGUgZXJyb3IgYm91bmRhcnkgdG8gYXZvaWQgcmVuZGVyaW5nIHRoZVxuICogZXJyb3IgYm91bmRhcnkgd2hlbiB0aGVyZSBhcmUgdW5rbm93biByb3V0ZSBwYXJhbWV0ZXJzLiBUaGlzIGRvZXNuJ3QgdGhyb3dcbiAqIHdoZW4gYWNjZXNzZWQgd2l0aCB1bmtub3duIHJvdXRlIHBhcmFtZXRlcnMuXG4gKlxuICogQHJldHVybnNcbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVVudHJhY2tlZFBhdGhuYW1lKCk6IHN0cmluZyB8IG51bGwge1xuICAvLyBJZiB0aGVyZSBhcmUgYW55IHVua25vd24gcm91dGUgcGFyYW1ldGVycyB3ZSB3b3VsZCB0eXBpY2FsbHkgdGhyb3dcbiAgLy8gYW4gZXJyb3IsIGJ1dCB0aGlzIGludGVybmFsIG1ldGhvZCBhbGxvd3MgdXMgdG8gcmV0dXJuIGEgbnVsbCB2YWx1ZSBpbnN0ZWFkXG4gIC8vIGZvciBjb21wb25lbnRzIHRoYXQgZG8gbm90IHByb3BhZ2F0ZSB0aGUgcGF0aG5hbWUgdG8gdGhlIHN0YXRpYyBzaGVsbCAobGlrZVxuICAvLyB0aGUgZXJyb3IgYm91bmRhcnkpLlxuICBpZiAoaGFzRmFsbGJhY2tSb3V0ZVBhcmFtcygpKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIC8vIFRoaXMgc2hvdWxkbid0IGNhdXNlIGFueSBpc3N1ZXMgcmVsYXRlZCB0byBjb25kaXRpb25hbCByZW5kZXJpbmcgYmVjYXVzZVxuICAvLyB0aGUgZW52aXJvbm1lbnQgd2lsbCBiZSBjb25zaXN0ZW50IGZvciB0aGUgcmVuZGVyLlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgcmV0dXJuIHVzZUNvbnRleHQoUGF0aG5hbWVDb250ZXh0KVxufVxuIl0sIm5hbWVzIjpbInVzZVVudHJhY2tlZFBhdGhuYW1lIiwiaGFzRmFsbGJhY2tSb3V0ZVBhcmFtcyIsIndpbmRvdyIsIndvcmtBc3luY1N0b3JhZ2UiLCJyZXF1aXJlIiwid29ya1N0b3JlIiwiZ2V0U3RvcmUiLCJmYWxsYmFja1JvdXRlUGFyYW1zIiwic2l6ZSIsInVzZUNvbnRleHQiLCJQYXRobmFtZUNvbnRleHQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/navigation-untracked.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 _navigationreactserver.ReadonlyURLSearchParams;\n },\n RedirectType: function() {\n return _navigationreactserver.RedirectType;\n },\n ServerInsertedHTMLContext: function() {\n return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext;\n },\n notFound: function() {\n return _navigationreactserver.notFound;\n },\n permanentRedirect: function() {\n return _navigationreactserver.permanentRedirect;\n },\n redirect: function() {\n return _navigationreactserver.redirect;\n },\n unstable_rethrow: function() {\n return _navigationreactserver.unstable_rethrow;\n },\n useParams: function() {\n return useParams;\n },\n usePathname: function() {\n return usePathname;\n },\n useRouter: function() {\n return useRouter;\n },\n useSearchParams: function() {\n return useSearchParams;\n },\n useSelectedLayoutSegment: function() {\n return useSelectedLayoutSegment;\n },\n useSelectedLayoutSegments: function() {\n return useSelectedLayoutSegments;\n },\n useServerInsertedHTML: function() {\n return _serverinsertedhtmlsharedruntime.useServerInsertedHTML;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/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/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/route-modules/app-page/vendored/contexts/hooks-client-context.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 _navigationreactserver = __webpack_require__(/*! ./navigation.react-server */ \"(ssr)/./node_modules/next/dist/client/components/navigation.react-server.js\");\nconst _dynamicrendering = __webpack_require__(/*! ../../server/app-render/dynamic-rendering */ \"(ssr)/./node_modules/next/dist/server/app-render/dynamic-rendering.js\");\nconst _serverinsertedhtmlsharedruntime = __webpack_require__(/*! ../../shared/lib/server-inserted-html.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js\");\nfunction 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 _navigationreactserver.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, _dynamicrendering.useDynamicRouteParams)('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 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}\nfunction useParams() {\n (0, _dynamicrendering.useDynamicRouteParams)('useParams()');\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext);\n}\n/** Get the canonical parameters from the current level to the leaf node. */ // Client components API\nfunction 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 let 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, _dynamicrendering.useDynamicRouteParams)('useSelectedLayoutSegments()');\n const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n // @ts-expect-error This only happens in `pages`. Type is overwritten in navigation.d.ts\n if (!context) return null;\n return getSelectedLayoutSegmentPath(context.tree, parallelRouteKey);\n}\nfunction useSelectedLayoutSegment(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = 'children';\n (0, _dynamicrendering.useDynamicRouteParams)('useSelectedLayoutSegment()');\n const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey);\n if (!selectedLayoutSegments || selectedLayoutSegments.length === 0) {\n return null;\n }\n const selectedLayoutSegment = parallelRouteKey === 'children' ? selectedLayoutSegments[0] : selectedLayoutSegments[selectedLayoutSegments.length - 1];\n // if the default slot is showing, we return null since it's not technically \"selected\" (it's a fallback)\n // and returning an internal value like `__DEFAULT__` would be confusing.\n return selectedLayoutSegment === _segment.DEFAULT_SEGMENT_KEY ? null : selectedLayoutSegment;\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBa1JFQSx1QkFBdUI7ZUFBdkJBLHVCQUFBQSx1QkFBdUI7O0lBRHZCQyxZQUFZO2VBQVpBLHVCQUFBQSxZQUFZOztJQWxMWkMseUJBQXlCO2VBQXpCQSxpQ0FBQUEseUJBQXlCOztJQStLekJDLFFBQVE7ZUFBUkEsdUJBQUFBLFFBQVE7O0lBRVJDLGlCQUFpQjtlQUFqQkEsdUJBQUFBLGlCQUFpQjs7SUFEakJDLFFBQVE7ZUFBUkEsdUJBQUFBLFFBQVE7O0lBSVJDLGdCQUFnQjtlQUFoQkEsdUJBQUFBLGdCQUFnQjs7SUFsSUZDLFNBQVM7ZUFBVEE7O0lBNURBQyxXQUFXO2VBQVhBOztJQWlDQUMsU0FBUztlQUFUQTs7SUE5RUFDLGVBQWU7ZUFBZkE7O0lBNk1BQyx3QkFBd0I7ZUFBeEJBOztJQS9CQUMseUJBQXlCO2VBQXpCQTs7SUF0SGRDLHFCQUFxQjtlQUFyQkEsaUNBQUFBLHFCQUFxQjs7O21DQTdGYTsyREFLN0I7NkRBS0E7NkNBQ3lCO3FDQUNzQjttREFDZDs4Q0FDRjs2REFnRi9CO0FBekRBLFNBQVNIO0lBQ2QsTUFBTUksZUFBZUMsQ0FBQUEsR0FBQUEsT0FBQUEsVUFBQUEsRUFBV0MsaUNBQUFBLG1CQUFtQjtJQUVuRCw4REFBOEQ7SUFDOUQsMEVBQTBFO0lBQzFFLGtCQUFrQjtJQUNsQixNQUFNQyx1QkFBdUJDLENBQUFBLEdBQUFBLE9BQUFBLE9BQU8sRUFBQztRQUNuQyxJQUFJLENBQUNKLGNBQWM7WUFDakIseUVBQXlFO1lBQ3pFLGFBQWE7WUFDYixPQUFPO1FBQ1Q7UUFFQSxPQUFPLElBQUlkLHVCQUFBQSx1QkFBdUIsQ0FBQ2M7SUFDckMsR0FBRztRQUFDQTtLQUFhO0lBRWpCLElBQUksSUFBNkIsRUFBRTtRQUNqQyxpRUFBaUU7UUFDakUsTUFBTSxFQUFFTSx3QkFBd0IsRUFBRSxH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bnRzXFxuYXZpZ2F0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmxpZ2h0Um91dGVyU3RhdGUgfSBmcm9tICcuLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgUGFyYW1zIH0gZnJvbSAnLi4vLi4vc2VydmVyL3JlcXVlc3QvcGFyYW1zJ1xuXG5pbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICBBcHBSb3V0ZXJDb250ZXh0LFxuICBMYXlvdXRSb3V0ZXJDb250ZXh0LFxuICB0eXBlIEFwcFJvdXRlckluc3RhbmNlLFxufSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB7XG4gIFNlYXJjaFBhcmFtc0NvbnRleHQsXG4gIFBhdGhuYW1lQ29udGV4dCxcbiAgUGF0aFBhcmFtc0NvbnRleHQsXG59IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvaG9va3MtY2xpZW50LWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5pbXBvcnQgeyBnZXRTZWdtZW50VmFsdWUgfSBmcm9tICcuL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2dldC1zZWdtZW50LXZhbHVlJ1xuaW1wb3J0IHsgUEFHRV9TRUdNRU5UX0tFWSwgREVGQVVMVF9TRUdNRU5UX0tFWSB9IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvc2VnbWVudCdcbmltcG9ydCB7IFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLnJlYWN0LXNlcnZlcidcbmltcG9ydCB7IHVzZUR5bmFtaWNSb3V0ZVBhcmFtcyB9IGZyb20gJy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL2R5bmFtaWMtcmVuZGVyaW5nJ1xuXG4vKipcbiAqIEEgW0NsaWVudCBDb21wb25lbnRdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JlbmRlcmluZy9jbGllbnQtY29tcG9uZW50cykgaG9va1xuICogdGhhdCBsZXRzIHlvdSAqcmVhZCogdGhlIGN1cnJlbnQgVVJMJ3Mgc2VhcmNoIHBhcmFtZXRlcnMuXG4gKlxuICogTGVhcm4gbW9yZSBhYm91dCBbYFVSTFNlYXJjaFBhcmFtc2Agb24gTUROXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvVVJMU2VhcmNoUGFyYW1zKVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogXCJ1c2UgY2xpZW50XCJcbiAqIGltcG9ydCB7IHVzZVNlYXJjaFBhcmFtcyB9IGZyb20gJ25leHQvbmF2aWdhdGlvbidcbiAqXG4gKiBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBQYWdlKCkge1xuICogICBjb25zdCBzZWFyY2hQYXJhbXMgPSB1c2VTZWFyY2hQYXJhbXMoKVxuICogICBzZWFyY2hQYXJhbXMuZ2V0KCdmb28nKSAvLyByZXR1cm5zICdiYXInIHdoZW4gP2Zvbz1iYXJcbiAqICAgLy8gLi4uXG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBSZWFkIG1vcmU6IFtOZXh0LmpzIERvY3M6IGB1c2VTZWFyY2hQYXJhbXNgXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9mdW5jdGlvbnMvdXNlLXNlYXJjaC1wYXJhbXMpXG4gKi9cbi8vIENsaWVudCBjb21wb25lbnRzIEFQSVxuZXhwb3J0IGZ1bmN0aW9uIHVzZVNlYXJjaFBhcmFtcygpOiBSZWFkb25seVVSTFNlYXJjaFBhcmFtcyB7XG4gIGNvbnN0IHNlYXJjaFBhcmFtcyA9IHVzZUNvbnRleHQoU2VhcmNoUGFyYW1zQ29udGV4dClcblxuICAvLyBJbiB0aGUgY2FzZSB3aGVyZSB0aGlzIGlzIGBudWxsYCwgdGhlIGNvbXBhdCB0eXBlcyBhZGRlZCBpblxuICAvLyBgbmV4dC1lbnYuZC50c2Agd2lsbCBhZGQgYSBuZXcgb3ZlcmxvYWQgdGhhdCBjaGFuZ2VzIHRoZSByZXR1cm4gdHlwZSB0b1xuICAvLyBpbmNsdWRlIGBudWxsYC5cbiAgY29uc3QgcmVhZG9ubHlTZWFyY2hQYXJhbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIXNlYXJjaFBhcmFtcykge1xuICAgICAgLy8gV2hlbiB0aGUgcm91dGVyIGlzIG5vdCByZWFkeSBpbiBwYWdlcywgd2Ugd29uJ3QgaGF2ZSB0aGUgc2VhcmNoIHBhcmFtc1xuICAgICAgLy8gYXZhaWxhYmxlLlxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zKHNlYXJjaFBhcmFtcylcbiAgfSwgW3NlYXJjaFBhcmFtc10pIGFzIFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zXG5cbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgLy8gQXN5bmNMb2NhbFN0b3JhZ2Ugc2hvdWxkIG5vdCBiZSBpbmNsdWRlZCBpbiB0aGUgY2xpZW50IGJ1bmRsZS5cbiAgICBjb25zdCB7IGJhaWxvdXRUb0NsaWVudFJlbmRlcmluZyB9ID1cbiAgICAgIHJlcXVpcmUoJy4vYmFpbG91dC10by1jbGllbnQtcmVuZGVyaW5nJykgYXMgdHlwZW9mIGltcG9ydCgnLi9iYWlsb3V0LXRvLWNsaWVudC1yZW5kZXJpbmcnKVxuICAgIC8vIFRPRE8tQVBQOiBoYW5kbGUgZHluYW1pYyA9ICdmb3JjZS1zdGF0aWMnIGhlcmUgYW5kIG9uIHRoZSBjbGllbnRcbiAgICBiYWlsb3V0VG9DbGllbnRSZW5kZXJpbmcoJ3VzZVNlYXJjaFBhcmFtcygpJylcbiAgfVxuXG4gIHJldHVybiByZWFkb25seVNlYXJjaFBhcmFtc1xufVxuXG4vKipcbiAqIEEgW0NsaWVudCBDb21wb25lbnRdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JlbmRlcmluZy9jbGllbnQtY29tcG9uZW50cykgaG9va1xuICogdGhhdCBsZXRzIHlvdSByZWFkIHRoZSBjdXJyZW50IFVSTCdzIHBhdGhuYW1lLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogXCJ1c2UgY2xpZW50XCJcbiAqIGltcG9ydCB7IHVzZVBhdGhuYW1lIH0gZnJvbSAnbmV4dC9uYXZpZ2F0aW9uJ1xuICpcbiAqIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFBhZ2UoKSB7XG4gKiAgY29uc3QgcGF0aG5hbWUgPSB1c2VQYXRobmFtZSgpIC8vIHJldHVybnMgXCIvZGFzaGJvYXJkXCIgb24gL2Rhc2hib2FyZD9mb289YmFyXG4gKiAgLy8gLi4uXG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBSZWFkIG1vcmU6IFtOZXh0LmpzIERvY3M6IGB1c2VQYXRobmFtZWBdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91c2UtcGF0aG5hbWUpXG4gKi9cbi8vIENsaWVudCBjb21wb25lbnRzIEFQSVxuZXhwb3J0IGZ1bmN0aW9uIHVzZVBhdGhuYW1lKCk6IHN0cmluZyB7XG4gIHVzZUR5bmFtaWNSb3V0ZVBhcmFtcygndXNlUGF0aG5hbWUoKScpXG5cbiAgLy8gSW4gdGhlIGNhc2Ugd2hlcmUgdGhpcyBpcyBgbnVsbGAsIHRoZSBjb21wYXQgdHlwZXMgYWRkZWQgaW4gYG5leHQtZW52LmQudHNgXG4gIC8vIHdpbGwgYWRkIGEgbmV3IG92ZXJsb2FkIHRoYXQgY2hhbmdlcyB0aGUgcmV0dXJuIHR5cGUgdG8gaW5jbHVkZSBgbnVsbGAuXG4gIHJldHVybiB1c2VDb250ZXh0KFBhdGhuYW1lQ29udGV4dCkgYXMgc3RyaW5nXG59XG5cbi8vIENsaWVudCBjb21wb25lbnRzIEFQSVxuZXhwb3J0IHtcbiAgU2VydmVySW5zZXJ0ZWRIVE1MQ29udGV4dCxcbiAgdXNlU2VydmVySW5zZXJ0ZWRIVE1MLFxufSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL3NlcnZlci1pbnNlcnRlZC1odG1sLnNoYXJlZC1ydW50aW1lJ1xuXG4vKipcbiAqXG4gKiBUaGlzIGhvb2sgYWxsb3dzIHlvdSB0byBwcm9ncmFtbWF0aWNhbGx5IGNoYW5nZSByb3V0ZXMgaW5zaWRlIFtDbGllbnQgQ29tcG9uZW50XShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yZW5kZXJpbmcvY2xpZW50LWNvbXBvbmVudHMpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogXCJ1c2UgY2xpZW50XCJcbiAqIGltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gJ25leHQvbmF2aWdhdGlvbidcbiAqXG4gKiBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBQYWdlKCkge1xuICogIGNvbnN0IHJvdXRlciA9IHVzZVJvdXRlcigpXG4gKiAgLy8gLi4uXG4gKiAgcm91dGVyLnB1c2goJy9kYXNoYm9hcmQnKSAvLyBOYXZpZ2F0ZSB0byAvZGFzaGJvYXJkXG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBSZWFkIG1vcmU6IFtOZXh0LmpzIERvY3M6IGB1c2VSb3V0ZXJgXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9mdW5jdGlvbnMvdXNlLXJvdXRlcilcbiAqL1xuLy8gQ2xpZW50IGNvbXBvbmVudHMgQVBJXG5leHBvcnQgZnVuY3Rpb24gdXNlUm91dGVyKCk6IEFwcFJvdXRlckluc3RhbmNlIHtcbiAgY29uc3Qgcm91dGVyID0gdXNlQ29udGV4dChBcHBSb3V0ZXJDb250ZXh0KVxuICBpZiAocm91dGVyID09PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhcmlhbnQgZXhwZWN0ZWQgYXBwIHJvdXRlciB0byBiZSBtb3VudGVkJylcbiAgfVxuXG4gIHJldHVybiByb3V0ZXJcbn1cblxuLyoqXG4gKiBBIFtDbGllbnQgQ29tcG9uZW50XShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yZW5kZXJpbmcvY2xpZW50LWNvbXBvbmVudHMpIGhvb2tcbiAqIHRoYXQgbGV0cyB5b3UgcmVhZCBhIHJvdXRlJ3MgZHluYW1pYyBwYXJhbXMgZmlsbGVkIGluIGJ5IHRoZSBjdXJyZW50IFVSTC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIFwidXNlIGNsaWVudFwiXG4gKiBpbXBvcnQgeyB1c2VQYXJhbXMgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG4gKlxuICogZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGFnZSgpIHtcbiAqICAgLy8gb24gL2Rhc2hib2FyZC9bdGVhbV0gd2hlcmUgcGF0aG5hbWUgaXMgL2Rhc2hib2FyZC9uZXh0anNcbiAqICAgY29uc3QgeyB0ZWFtIH0gPSB1c2VQYXJhbXMoKSAvLyB0ZWFtID09PSBcIm5leHRqc1wiXG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBSZWFkIG1vcmU6IFtOZXh0LmpzIERvY3M6IGB1c2VQYXJhbXNgXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9mdW5jdGlvbnMvdXNlLXBhcmFtcylcbiAqL1xuLy8gQ2xpZW50IGNvbXBvbmVudHMgQVBJXG5leHBvcnQgZnVuY3Rpb24gdXNlUGFyYW1zPFQgZXh0ZW5kcyBQYXJhbXMgPSBQYXJhbXM+KCk6IFQge1xuICB1c2VEeW5hbWljUm91dGVQYXJhbXMoJ3VzZVBhcmFtcygpJylcblxuICByZXR1cm4gdXNlQ29udGV4dChQYXRoUGFyYW1zQ29udGV4dCkgYXMgVFxufVxuXG4vKiogR2V0IHRoZSBjYW5vbmljYWwgcGFyYW1ldGVycyBmcm9tIHRoZSBjdXJyZW50IGxldmVsIHRvIHRoZSBsZWFmIG5vZGUuICovXG4vLyBDbGllbnQgY29tcG9uZW50cyBBUElcbmZ1bmN0aW9uIGdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgoXG4gIHRyZWU6IEZsaWdodFJvdXRlclN0YXRlLFxuICBwYXJhbGxlbFJvdXRlS2V5OiBzdHJpbmcsXG4gIGZpcnN0ID0gdHJ1ZSxcbiAgc2VnbWVudFBhdGg6IHN0cmluZ1tdID0gW11cbik6IHN0cmluZ1tdIHtcbiAgbGV0IG5vZGU6IEZsaWdodFJvdXRlclN0YXRlXG4gIGlmIChmaXJzdCkge1xuICAgIC8vIFVzZSB0aGUgcHJvdmlkZWQgcGFyYWxsZWwgcm91dGUga2V5IG9uIHRoZSBmaXJzdCBwYXJhbGxlbCByb3V0ZVxuICAgIG5vZGUgPSB0cmVlWzFdW3BhcmFsbGVsUm91dGVLZXldXG4gIH0gZWxzZSB7XG4gICAgLy8gQWZ0ZXIgZmlyc3QgcGFyYWxsZWwgcm91dGUgcHJlZmVyIGNoaWxkcmVuLCBpZiB0aGVyZSdzIG5vIGNoaWxkcmVuIHBpY2sgdGhlIGZpcnN0IHBhcmFsbGVsIHJvdXRlLlxuICAgIGNvbnN0IHBhcmFsbGVsUm91dGVzID0gdHJlZVsxXVxuICAgIG5vZGUgPSBwYXJhbGxlbFJvdXRlcy5jaGlsZHJlbiA/PyBPYmplY3QudmFsdWVzKHBhcmFsbGVsUm91dGVzKVswXVxuICB9XG5cbiAgaWYgKCFub2RlKSByZXR1cm4gc2VnbWVudFBhdGhcbiAgY29uc3Qgc2VnbWVudCA9IG5vZGVbMF1cblxuICBsZXQgc2VnbWVudFZhbHVlID0gZ2V0U2VnbWVudFZhbHVlKHNlZ21lbnQpXG5cbiAgaWYgKCFzZWdtZW50VmFsdWUgfHwgc2VnbWVudFZhbHVlLnN0YXJ0c1dpdGgoUEFHRV9TRUdNRU5UX0tFWSkpIHtcbiAgICByZXR1cm4gc2VnbWVudFBhdGhcbiAgfVxuXG4gIHNlZ21lbnRQYXRoLnB1c2goc2VnbWVudFZhbHVlKVxuXG4gIHJldHVybiBnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoKFxuICAgIG5vZGUsXG4gICAgcGFyYWxsZWxSb3V0ZUtleSxcbiAgICBmYWxzZSxcbiAgICBzZWdtZW50UGF0aFxuICApXG59XG5cbi8qKlxuICogQSBbQ2xpZW50IENvbXBvbmVudF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcmVuZGVyaW5nL2NsaWVudC1jb21wb25lbnRzKSBob29rXG4gKiB0aGF0IGxldHMgeW91IHJlYWQgdGhlIGFjdGl2ZSByb3V0ZSBzZWdtZW50cyAqKmJlbG93KiogdGhlIExheW91dCBpdCBpcyBjYWxsZWQgZnJvbS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqICd1c2UgY2xpZW50J1xuICpcbiAqIGltcG9ydCB7IHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG4gKlxuICogZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRXhhbXBsZUNsaWVudENvbXBvbmVudCgpIHtcbiAqICAgY29uc3Qgc2VnbWVudHMgPSB1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzKClcbiAqXG4gKiAgIHJldHVybiAoXG4gKiAgICAgPHVsPlxuICogICAgICAge3NlZ21lbnRzLm1hcCgoc2VnbWVudCwgaW5kZXgpID0+IChcbiAqICAgICAgICAgPGxpIGtleT17aW5kZXh9PntzZWdtZW50fTwvbGk+XG4gKiAgICAgICApKX1cbiAqICAgICA8L3VsPlxuICogICApXG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBSZWFkIG1vcmU6IFtOZXh0LmpzIERvY3M6IGB1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzYF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvZnVuY3Rpb25zL3VzZS1zZWxlY3RlZC1sYXlvdXQtc2VnbWVudHMpXG4gKi9cbi8vIENsaWVudCBjb21wb25lbnRzIEFQSVxuZXhwb3J0IGZ1bmN0aW9uIHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMoXG4gIHBhcmFsbGVsUm91dGVLZXk6IHN0cmluZyA9ICdjaGlsZHJlbidcbik6IHN0cmluZ1tdIHtcbiAgdXNlRHluYW1pY1JvdXRlUGFyYW1zKCd1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzKCknKVxuXG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KExheW91dFJvdXRlckNvbnRleHQpXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgVGhpcyBvbmx5IGhhcHBlbnMgaW4gYHBhZ2VzYC4gVHlwZSBpcyBvdmVyd3JpdHRlbiBpbiBuYXZpZ2F0aW9uLmQudHNcbiAgaWYgKCFjb250ZXh0KSByZXR1cm4gbnVsbFxuXG4gIHJldHVybiBnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoKGNvbnRleHQudHJlZSwgcGFyYWxsZWxSb3V0ZUtleSlcbn1cblxuLyoqXG4gKiBBIFtDbGllbnQgQ29tcG9uZW50XShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yZW5kZXJpbmcvY2xpZW50LWNvbXBvbmVudHMpIGhvb2tcbiAqIHRoYXQgbGV0cyB5b3UgcmVhZCB0aGUgYWN0aXZlIHJvdXRlIHNlZ21lbnQgKipvbmUgbGV2ZWwgYmVsb3cqKiB0aGUgTGF5b3V0IGl0IGlzIGNhbGxlZCBmcm9tLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogJ3VzZSBjbGllbnQnXG4gKiBpbXBvcnQgeyB1c2VTZWxlY3RlZExheW91dFNlZ21lbnQgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG4gKlxuICogZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRXhhbXBsZUNsaWVudENvbXBvbmVudCgpIHtcbiAqICAgY29uc3Qgc2VnbWVudCA9IHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudCgpXG4gKlxuICogICByZXR1cm4gPHA+QWN0aXZlIHNlZ21lbnQ6IHtzZWdtZW50fTwvcD5cbiAqIH1cbiAqIGBgYFxuICpcbiAqIFJlYWQgbW9yZTogW05leHQuanMgRG9jczogYHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudGBdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91c2Utc2VsZWN0ZWQtbGF5b3V0LXNlZ21lbnQpXG4gKi9cbi8vIENsaWVudCBjb21wb25lbnRzIEFQSVxuZXhwb3J0IGZ1bmN0aW9uIHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudChcbiAgcGFyYWxsZWxSb3V0ZUtleTogc3RyaW5nID0gJ2NoaWxkcmVuJ1xuKTogc3RyaW5nIHwgbnVsbCB7XG4gIHVzZUR5bmFtaWNSb3V0ZVBhcmFtcygndXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50KCknKVxuXG4gIGNvbnN0IHNlbGVjdGVkTGF5b3V0U2VnbWVudHMgPSB1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzKHBhcmFsbGVsUm91dGVLZXkpXG5cbiAgaWYgKCFzZWxlY3RlZExheW91dFNlZ21lbnRzIHx8IHNlbGVjdGVkTGF5b3V0U2VnbWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGNvbnN0IHNlbGVjdGVkTGF5b3V0U2VnbWVudCA9XG4gICAgcGFyYWxsZWxSb3V0ZUtleSA9PT0gJ2NoaWxkcmVuJ1xuICAgICAgPyBzZWxlY3RlZExheW91dFNlZ21lbnRzWzBdXG4gICAgICA6IHNlbGVjdGVkTGF5b3V0U2VnbWVudHNbc2VsZWN0ZWRMYXlvdXRTZWdtZW50cy5sZW5ndGggLSAxXVxuXG4gIC8vIGlmIHRoZSBkZWZhdWx0IHNsb3QgaXMgc2hvd2luZywgd2UgcmV0dXJuIG51bGwgc2luY2UgaXQncyBub3QgdGVjaG5pY2FsbHkgXCJzZWxlY3RlZFwiIChpdCdzIGEgZmFsbGJhY2spXG4gIC8vIGFuZCByZXR1cm5pbmcgYW4gaW50ZXJuYWwgdmFsdWUgbGlrZSBgX19ERUZBVUxUX19gIHdvdWxkIGJlIGNvbmZ1c2luZy5cbiAgcmV0dXJuIHNlbGVjdGVkTGF5b3V0U2VnbWVudCA9PT0gREVGQVVMVF9TRUdNRU5UX0tFWVxuICAgID8gbnVsbFxuICAgIDogc2VsZWN0ZWRMYXlvdXRTZWdtZW50XG59XG5cbi8vIFNoYXJlZCBjb21wb25lbnRzIEFQSXNcbmV4cG9ydCB7XG4gIG5vdEZvdW5kLFxuICByZWRpcmVjdCxcbiAgcGVybWFuZW50UmVkaXJlY3QsXG4gIFJlZGlyZWN0VHlwZSxcbiAgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMsXG4gIHVuc3RhYmxlX3JldGhyb3csXG59IGZyb20gJy4vbmF2aWdhdGlvbi5yZWFjdC1zZXJ2ZXInXG4iXSwibmFtZXMiOlsiUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMiLCJSZWRpcmVjdFR5cGUiLCJTZXJ2ZXJJbnNlcnRlZEhUTUxDb250ZXh0Iiwibm90Rm91bmQiLCJwZXJtYW5lbnRSZWRpcmVjdCIsInJlZGlyZWN0IiwidW5zdGFibGVfcmV0aHJvdyIsInVzZVBhcmFtcyIsInVzZVBhdGhuYW1lIiwidXNlUm91dGVyIiwidXNlU2VhcmNoUGFyYW1zIiwidXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50IiwidXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50cyIsInVzZVNlcnZlckluc2VydGVkSFRNTCIsInNlYXJjaFBhcmFtcyIsInVzZUNvbnRleHQiLCJTZWFyY2hQYXJhbXNDb250ZXh0IiwicmVhZG9ubHlTZWFyY2hQYXJhbXMiLCJ1c2VNZW1vIiwid2luZG93IiwiYmFpbG91dFRvQ2xpZW50UmVuZGVyaW5nIiwicmVxdWlyZSIsInVzZUR5bmFtaWNSb3V0ZVBhcmFtcyIsIlBhdGhuYW1lQ29udGV4dCIsInJvdXRlciIsIkFwcFJvdXRlckNvbnRleHQiLCJFcnJvciIsIlBhdGhQYXJhbXNDb250ZXh0IiwiZ2V0U2VsZWN0ZWRMYXlvdXRTZWdtZW50UGF0aCIsInRyZWUiLCJwYXJhbGxlbFJvdXRlS2V5IiwiZmlyc3QiLCJzZWdtZW50UGF0aCIsIm5vZGUiLCJwYXJhbGxlbFJvdXRlcyIsImNoaWxkcmVuIiwiT2JqZWN0IiwidmFsdWVzIiwic2VnbWVudCIsInNlZ21lbnRWYWx1ZSIsImdldFNlZ21lbnRWYWx1ZSIsInN0YXJ0c1dpdGgiLCJQQUdFX1NFR01FTlRfS0VZIiwicHVzaCIsImNvbnRleHQiLCJMYXlvdXRSb3V0ZXJDb250ZXh0Iiwic2VsZWN0ZWRMYXlvdXRTZWdtZW50cyIsImxlbmd0aCIsInNlbGVjdGVkTGF5b3V0U2VnbWVudCIsIkRFRkFVTFRfU0VHTUVOVF9LRVkiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/navigation.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/next/dist/client/components/navigation.react-server.js":
/*!*****************************************************************************!*\
!*** ./node_modules/next/dist/client/components/navigation.react-server.js ***!
\*****************************************************************************/
/***/ ((module, exports, __webpack_require__) => {
"use strict";
eval("/** @internal */ \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 RedirectType: function() {\n return _redirect.RedirectType;\n },\n notFound: function() {\n return _notfound.notFound;\n },\n permanentRedirect: function() {\n return _redirect.permanentRedirect;\n },\n redirect: function() {\n return _redirect.redirect;\n },\n unstable_rethrow: function() {\n return _unstablerethrow.unstable_rethrow;\n }\n});\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 _unstablerethrow = __webpack_require__(/*! ./unstable-rethrow */ \"(ssr)/./node_modules/next/dist/client/components/unstable-rethrow.js\");\nclass ReadonlyURLSearchParamsError extends Error {\n constructor(){\n super('Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams');\n }\n}\nclass ReadonlyURLSearchParams extends URLSearchParams {\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ append() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ delete() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ set() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ sort() {\n throw new ReadonlyURLSearchParamsError();\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=navigation.react-server.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24ucmVhY3Qtc2VydmVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWM7Ozs7Ozs7Ozs7OztJQStCTEEsdUJBQXVCO2VBQXZCQTs7SUFINkJDLFlBQVk7ZUFBWkEsVUFBQUEsWUFBWTs7SUFDekNDLFFBQVE7ZUFBUkEsVUFBQUEsUUFBUTs7SUFERUMsaUJBQWlCO2VBQWpCQSxVQUFBQSxpQkFBaUI7O0lBQTNCQyxRQUFRO2VBQVJBLFVBQUFBLFFBQVE7O0lBRVJDLGdCQUFnQjtlQUFoQkEsaUJBQUFBLGdCQUFnQjs7O3NDQUZpQztzQ0FDakM7NkNBQ1E7QUE3QmpDLE1BQU1DLHFDQUFxQ0M7SUFDekNDLGFBQWM7UUFDWixLQUFLLENBQ0g7SUFFSjtBQUNGO0FBRUEsTUFBTVIsZ0NBQWdDUztJQUNwQyx3S0FBd0ssR0FDeEtDLFNBQVM7UUFDUCxNQUFNLElBQUlKO0lBQ1o7SUFDQSx3S0FBd0ssR0FDeEtLLFNBQVM7UUFDUCxNQUFNLElBQUlMO0lBQ1o7SUFDQSx3S0FBd0ssR0FDeEtNLE1BQU07UUFDSixNQUFNLElBQUlOO0lBQ1o7SUFDQSx3S0FBd0ssR0FDeEtPLE9BQU87UUFDTCxNQUFNLElBQUlQO0lBQ1o7QUFDRiIsInNvdXJjZXMiOlsiQzpcXFVzZXJzXFxqb3Noc1xcc3JjXFxjbGllbnRcXGNvbXBvbmVudHNcXG5hdmlnYXRpb24ucmVhY3Qtc2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAaW50ZXJuYWwgKi9cbmNsYXNzIFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKFxuICAgICAgJ01ldGhvZCB1bmF2YWlsYWJsZSBvbiBgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNgLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91c2Utc2VhcmNoLXBhcmFtcyN1cGRhdGluZy1zZWFyY2hwYXJhbXMnXG4gICAgKVxuICB9XG59XG5cbmNsYXNzIFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zIGV4dGVuZHMgVVJMU2VhcmNoUGFyYW1zIHtcbiAgLyoqIEBkZXByZWNhdGVkIE1ldGhvZCB1bmF2YWlsYWJsZSBvbiBgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNgLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91c2Utc2VhcmNoLXBhcmFtcyN1cGRhdGluZy1zZWFyY2hwYXJhbXMgKi9cbiAgYXBwZW5kKCkge1xuICAgIHRocm93IG5ldyBSZWFkb25seVVSTFNlYXJjaFBhcmFtc0Vycm9yKClcbiAgfVxuICAvKiogQGRlcHJlY2F0ZWQgTWV0aG9kIHVuYXZhaWxhYmxlIG9uIGBSZWFkb25seVVSTFNlYXJjaFBhcmFtc2AuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvZnVuY3Rpb25zL3VzZS1zZWFyY2gtcGFyYW1zI3VwZGF0aW5nLXNlYXJjaHBhcmFtcyAqL1xuICBkZWxldGUoKSB7XG4gICAgdGhyb3cgbmV3IFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zRXJyb3IoKVxuICB9XG4gIC8qKiBAZGVwcmVjYXRlZCBNZXRob2QgdW5hdmFpbGFibGUgb24gYFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zYC4gUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9mdW5jdGlvbnMvdXNlLXNlYXJjaC1wYXJhbXMjdXBkYXRpbmctc2VhcmNocGFyYW1zICovXG4gIHNldCgpIHtcbiAgICB0aHJvdyBuZXcgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNFcnJvcigpXG4gIH1cbiAgLyoqIEBkZXByZWNhdGVkIE1ldGhvZCB1bmF2YWlsYWJsZSBvbiBgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNgLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91c2Utc2VhcmNoLXBhcmFtcyN1cGRhdGluZy1zZWFyY2hwYXJhbXMgKi9cbiAgc29ydCgpIHtcbiAgICB0aHJvdyBuZXcgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNFcnJvcigpXG4gIH1cbn1cblxuZXhwb3J0IHsgcmVkaXJlY3QsIHBlcm1hbmVudFJlZGlyZWN0LCBSZWRpcmVjdFR5cGUgfSBmcm9tICcuL3JlZGlyZWN0J1xuZXhwb3J0IHsgbm90Rm91bmQgfSBmcm9tICcuL25vdC1mb3VuZCdcbmV4cG9ydCB7IHVuc3RhYmxlX3JldGhyb3cgfSBmcm9tICcuL3Vuc3RhYmxlLXJldGhyb3cnXG5leHBvcnQgeyBSZWFkb25seVVSTFNlYXJjaFBhcmFtcyB9XG4iXSwibmFtZXMiOlsiUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMiLCJSZWRpcmVjdFR5cGUiLCJub3RGb3VuZCIsInBlcm1hbmVudFJlZGlyZWN0IiwicmVkaXJlY3QiLCJ1bnN0YWJsZV9yZXRocm93IiwiUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNFcnJvciIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJVUkxTZWFyY2hQYXJhbXMiLCJhcHBlbmQiLCJkZWxldGUiLCJzZXQiLCJzb3J0Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/navigation.react-server.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/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/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigationuntracked = __webpack_require__(/*! ./navigation-untracked */ \"(ssr)/./node_modules/next/dist/client/components/navigation-untracked.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/route-modules/app-page/vendored/contexts/app-router-context.js\");\nclass NotFoundErrorBoundary extends _react.default.Component {\n componentDidCatch() {\n if ( true && this.props.missingSlots && // 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 // When we're rendering the missing params shell, this will return null. This\n // is because we won't be rendering any not found boundaries or error\n // boundaries for the missing params shell. When this runs on the client\n // (where these error can occur), we will get the correct pathname.\n const pathname = (0, _navigationuntracked.useUntrackedPathname)();\n const missingSlots = (0, _react.useContext)(_approutercontextsharedruntime.MissingSlotContext);\n if (notFound) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(NotFoundErrorBoundary, {\n pathname: pathname,\n notFound: notFound,\n notFoundStyles: notFoundStyles,\n asNotFound: asNotFound,\n missingSlots: missingSlots,\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=not-found-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7ZUFnSGdCQTs7Ozs7O3FDQTdHcUI7MEJBQ0w7c0NBQ1A7NElBQ1U7QUFvQm5DLE1BQU1DLDhCQUE4QkMsR0FBQUEsbUJBQUFBLENBQUFBLGdLQUFlO0lBWWpERSxFQUFBQSxrQkFBMEI7UUFDeEIsSUFDRUMsUUFBUUMsR0FBRyxDQUFDQztRQUdaLENBQUMsUUFDRDtZQUNBLElBQUlJLEdBQUFBLENBQUFBLFlBQUFBLENBQ0Y7WUFHRixJQUFJLElBQUksQ0FBQ0gsS0FBSyxDQUFDQyxNQUFBQSxNQUFZLENBQUNHLElBQUksR0FBRyxHQUFHO2dCQUNwQyxNQUFNQyxJQUFBQSxDQUFBQSxZQUFpQkMsQ0FBQUEsSUFBQUEsQ0FBTUMsRUFBQUEsRUFBSSxDQUFDO2dCQUtsQ0osTUFBQUEsWUFBa0Isb0JBQW9CRSxDQUFBQSxLQUFBQSxDQUFBQSxZQUFBQSxFQUFBQSxJQUFBQSxDQUFBQSxDQUFBQSxHQUFBQSxJQUFBQSxFQUFBQSxhQUFBQSxDQUFBQSxJQUFBQSxHQUFBQSxDQUFBQSxDQUFBQSxPQUFBQSxNQUFBQSxNQUFBQSxJQUFBQSxDQUFBQTtnQkFDeEM7WUFFQVU7WUFDRjtRQUNGO0lBRUE7UUFDRSxJQUFJRyxJQUFBQSxvQkFBQUEsS0FBZSxFQUFDRDtZQUNsQixPQUFPO2dCQUNMRSxHQUFBQTtnQkFDRjtZQUNGO1FBQ0E7UUFDQSxNQUFNRiw2QkFBQUE7UUFDUjtJQUVBO1FBSUU7Ozs7OztZQU9FLE9BQU87Z0JBQ0xFLEdBQUFBO2dCQUNBSSxrQkFBa0J2QixDQUFBQSxLQUFNc0I7Z0JBQzFCO1lBQ0Y7UUFDQTtZQUNFSCxHQUFBQTtZQUNBSSxrQkFBa0J2QixDQUFBQSxLQUFNc0IsQ0FBQUEsT0FBUTtZQUNsQztRQUNGO0lBRUFFO1FBQ0UsSUFBSTtZQUNGLHFCQUNFOzs7d0JBQ1FFLE1BQUs7d0JBQVNDLE1BQUFBLEdBQVE7O29CQUMzQjlCO29CQW1CVCxLQWxCcUI7d0JBQWE4QixNQUFBQSxHQUFROztvQkFFakM7b0JBQ0EsSUFBSSxDQUFDM0IsS0FBSyxDQUFDNkIsUUFBUTs7O1lBRzFCO1FBRUE7UUFDRjtJQS9FQUU7UUFDRSxLQUFLLENBQUMvQixFQUFBQSxLQUFBQSxDQUFBQTtRQUNOLElBQUksQ0FBQ3FCLENBQUFBLElBQUssR0FBRztZQUNYRixDQUFBQSxLQUFBQSxHQUFBQTtZQUNBSSxrQkFBa0J2QixDQUFBQSxDQUFBQSxDQUFBQSxHQUFNc0IsR0FBQUEsS0FBUTtZQUNsQztRQUNGO0lBMEVGO0FBRU87SUFBMEIsTUFDL0JPLFFBQVEsRUFDUkQsTUFBQUEsS0FBQUEsR0FBYztJQUlkO0lBQ0EscUVBQXFFO0lBQ3JFO0lBQ0EsbUVBQW1FO0lBQ25FLE1BQU1OLFdBQVdXLElBQUFBLHlDQUFvQjtJQUNyQyxNQUFNaEMsV0FBQUEsQ0FBQUEsR0FBZWlDLElBQUFBLGlCQUFVLEVBQUNDLGtCQUFBQTtJQUVoQyxJQUFJTixFQUFBQSxRQUFVO1FBQ1o7WUFFSVAsR0FBQUEsT0FBVUEsSUFBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsdUJBQUFBO1lBQ1ZPLFVBQVVBO1lBQ1ZELFVBQUFBLE1BQWdCQTtZQUNoQkksWUFBWUEsSUFBQUE7WUFDWi9CLFlBQUFBLEVBQWNBO3NCQUViNkIsSUFBQUE7O1FBR1A7SUFFQTtXQUFVQSxPQUFBQSxJQUFBQSxHQUFBQSxDQUFBQSxHQUFBQSxZQUFBQSxHQUFBQSxFQUFBQSxZQUFBQSxRQUFBQSxFQUFBQTs7SUFDWiIsInNvdXJjZXMiOlsiQzpcXFVzZXJzXFxqb3Noc1xcc3JjXFxjbGllbnRcXGNvbXBvbmVudHNcXG5vdC1mb3VuZC1ib3VuZGFyeS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VVbnRyYWNrZWRQYXRobmFtZSB9IGZyb20gJy4vbmF2aWdhdGlvbi11bnRyYWNrZWQnXG5pbXBvcnQgeyBpc05vdEZvdW5kRXJyb3IgfSBmcm9tICcuL25vdC1mb3VuZCdcbmltcG9ydCB7IHdhcm5PbmNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi91dGlscy93YXJuLW9uY2UnXG5pbXBvcnQgeyBNaXNzaW5nU2xvdENvbnRleHQgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcblxuaW50ZXJmYWNlIE5vdEZvdW5kQm91bmRhcnlQcm9wcyB7XG4gIG5vdEZvdW5kPzogUmVhY3QuUmVhY3ROb2RlXG4gIG5vdEZvdW5kU3R5bGVzPzogUmVhY3QuUmVhY3ROb2RlXG4gIGFzTm90Rm91bmQ/OiBib29sZWFuXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgbWlzc2luZ1Nsb3RzPzogU2V0PHN0cmluZz5cbn1cblxuaW50ZXJmYWNlIE5vdEZvdW5kRXJyb3JCb3VuZGFyeVByb3BzIGV4dGVuZHMgTm90Rm91bmRCb3VuZGFyeVByb3BzIHtcbiAgcGF0aG5hbWU6IHN0cmluZyB8IG51bGxcbiAgbWlzc2luZ1Nsb3RzPzogU2V0PHN0cmluZz5cbn1cblxuaW50ZXJmYWNlIE5vdEZvdW5kRXJyb3JCb3VuZGFyeVN0YXRlIHtcbiAgbm90Rm91bmRUcmlnZ2VyZWQ6IGJvb2xlYW5cbiAgcHJldmlvdXNQYXRobmFtZTogc3RyaW5nIHwgbnVsbFxufVxuXG5jbGFzcyBOb3RGb3VuZEVycm9yQm91bmRhcnkgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8XG4gIE5vdEZvdW5kRXJyb3JCb3VuZGFyeVByb3BzLFxuICBOb3RGb3VuZEVycm9yQm91bmRhcnlTdGF0ZVxuPiB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBOb3RGb3VuZEVycm9yQm91bmRhcnlQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKVxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBub3RGb3VuZFRyaWdnZXJlZDogISFwcm9wcy5hc05vdEZvdW5kLFxuICAgICAgcHJldmlvdXNQYXRobmFtZTogcHJvcHMucGF0aG5hbWUsXG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkQ2F0Y2goKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcgJiZcbiAgICAgIHRoaXMucHJvcHMubWlzc2luZ1Nsb3RzICYmXG4gICAgICAvLyBBIG1pc3NpbmcgY2hpbGRyZW4gc2xvdCBpcyB0aGUgdHlwaWNhbCBub3QtZm91bmQgY2FzZSwgc28gbm8gbmVlZCB0byB3YXJuXG4gICAgICAhdGhpcy5wcm9wcy5taXNzaW5nU2xvdHMuaGFzKCdjaGlsZHJlbicpXG4gICAgKSB7XG4gICAgICBsZXQgd2FybmluZ01lc3NhZ2UgPVxuICAgICAgICAnTm8gZGVmYXVsdCBjb21wb25lbnQgd2FzIGZvdW5kIGZvciBhIHBhcmFsbGVsIHJvdXRlIHJlbmRlcmVkIG9uIHRoaXMgcGFnZS4gRmFsbGluZyBiYWNrIHRvIG5lYXJlc3QgTm90Rm91bmQgYm91bmRhcnkuXFxuJyArXG4gICAgICAgICdMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yb3V0aW5nL3BhcmFsbGVsLXJvdXRlcyNkZWZhdWx0anNcXG5cXG4nXG5cbiAgICAgIGlmICh0aGlzLnByb3BzLm1pc3NpbmdTbG90cy5zaXplID4gMCkge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRTbG90cyA9IEFycmF5LmZyb20odGhpcy5wcm9wcy5taXNzaW5nU2xvdHMpXG4gICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEubG9jYWxlQ29tcGFyZShiKSlcbiAgICAgICAgICAubWFwKChzbG90KSA9PiBgQCR7c2xvdH1gKVxuICAgICAgICAgIC5qb2luKCcsICcpXG5cbiAgICAgICAgd2FybmluZ01lc3NhZ2UgKz0gJ01pc3Npbmcgc2xvdHM6ICcgKyBmb3JtYXR0ZWRTbG90c1xuICAgICAgfVxuXG4gICAgICB3YXJuT25jZSh3YXJuaW5nTWVzc2FnZSlcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yOiBhbnkpIHtcbiAgICBpZiAoaXNOb3RGb3VuZEVycm9yKGVycm9yKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbm90Rm91bmRUcmlnZ2VyZWQ6IHRydWUsXG4gICAgICB9XG4gICAgfVxuICAgIC8vIFJlLXRocm93IGlmIGVycm9yIGlzIG5vdCBmb3IgNDA0XG4gICAgdGhyb3cgZXJyb3JcbiAgfVxuXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMoXG4gICAgcHJvcHM6IE5vdEZvdW5kRXJyb3JCb3VuZGFyeVByb3BzLFxuICAgIHN0YXRlOiBOb3RGb3VuZEVycm9yQm91bmRhcnlTdGF0ZVxuICApOiBOb3RGb3VuZEVycm9yQm91bmRhcnlTdGF0ZSB8IG51bGwge1xuICAgIC8qKlxuICAgICAqIEhhbmRsZXMgcmVzZXQgb2YgdGhlIGVycm9yIGJvdW5kYXJ5IHdoZW4gYSBuYXZpZ2F0aW9uIGhhcHBlbnMuXG4gICAgICogRW5zdXJlcyB0aGUgZXJyb3IgYm91bmRhcnkgZG9lcyBub3Qgc3RheSBlbmFibGVkIHdoZW4gbmF2aWdhdGluZyB0byBhIG5ldyBwYWdlLlxuICAgICAqIEFwcHJvYWNoIG9mIHNldFN0YXRlIGluIHJlbmRlciBpcyBzYWZlIGFzIGl0IGNoZWNrcyB0aGUgcHJldmlvdXMgcGF0aG5hbWUgYW5kIHRoZW4gb3ZlcnJpZGVzXG4gICAgICogaXQgYXMgb3V0bGluZWQgaW4gaHR0cHM6Ly9yZWFjdC5kZXYvcmVmZXJlbmNlL3JlYWN0L3VzZVN0YXRlI3N0b3JpbmctaW5mb3JtYXRpb24tZnJvbS1wcmV2aW91cy1yZW5kZXJzXG4gICAgICovXG4gICAgaWYgKHByb3BzLnBhdGhuYW1lICE9PSBzdGF0ZS5wcmV2aW91c1BhdGhuYW1lICYmIHN0YXRlLm5vdEZvdW5kVHJpZ2dlcmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBub3RGb3VuZFRyaWdnZXJlZDogZmFsc2UsXG4gICAgICAgIHByZXZpb3VzUGF0aG5hbWU6IHByb3BzLnBhdGhuYW1lLFxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbm90Rm91bmRUcmlnZ2VyZWQ6IHN0YXRlLm5vdEZvdW5kVHJpZ2dlcmVkLFxuICAgICAgcHJldmlvdXNQYXRobmFtZTogcHJvcHMucGF0aG5hbWUsXG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGlmICh0aGlzLnN0YXRlLm5vdEZvdW5kVHJpZ2dlcmVkKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxtZXRhIG5hbWU9XCJyb2JvdHNcIiBjb250ZW50PVwibm9pbmRleFwiIC8+XG4gICAgICAgICAge3Byb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnICYmIChcbiAgICAgICAgICAgIDxtZXRhIG5hbWU9XCJuZXh0LWVycm9yXCIgY29udGVudD1cIm5vdC1mb3VuZFwiIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7dGhpcy5wcm9wcy5ub3RGb3VuZFN0eWxlc31cbiAgICAgICAgICB7dGhpcy5wcm9wcy5ub3RGb3VuZH1cbiAgICAgICAgPC8+XG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW5cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTm90Rm91bmRCb3VuZGFyeSh7XG4gIG5vdEZvdW5kLFxuICBub3RGb3VuZFN0eWxlcyxcbiAgYXNOb3RGb3VuZCxcbiAgY2hpbGRyZW4sXG59OiBOb3RGb3VuZEJvdW5kYXJ5UHJvcHMpIHtcbiAgLy8gV2hlbiB3ZSdyZSByZW5kZXJpbmcgdGhlIG1pc3NpbmcgcGFyYW1zIHNoZWxsLCB0aGlzIHdpbGwgcmV0dXJuIG51bGwuIFRoaXNcbiAgLy8gaXMgYmVjYXVzZSB3ZSB3b24ndCBiZSByZW5kZXJpbmcgYW55IG5vdCBmb3VuZCBib3VuZGFyaWVzIG9yIGVycm9yXG4gIC8vIGJvdW5kYXJpZXMgZm9yIHRoZSBtaXNzaW5nIHBhcmFtcyBzaGVsbC4gV2hlbiB0aGlzIHJ1bnMgb24gdGhlIGNsaWVudFxuICAvLyAod2hlcmUgdGhlc2UgZXJyb3IgY2FuIG9jY3VyKSwgd2Ugd2lsbCBnZXQgdGhlIGNvcnJlY3QgcGF0aG5hbWUuXG4gIGNvbnN0IHBhdGhuYW1lID0gdXNlVW50cmFja2VkUGF0aG5hbWUoKVxuICBjb25zdCBtaXNzaW5nU2xvdHMgPSB1c2VDb250ZXh0KE1pc3NpbmdTbG90Q29udGV4dClcblxuICBpZiAobm90Rm91bmQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE5vdEZvdW5kRXJyb3JCb3VuZGFyeVxuICAgICAgICBwYXRobmFtZT17cGF0aG5hbWV9XG4gICAgICAgIG5vdEZvdW5kPXtub3RGb3VuZH1cbiAgICAgICAgbm90Rm91bmRTdHlsZXM9e25vdEZvdW5kU3R5bGVzfVxuICAgICAgICBhc05vdEZvdW5kPXthc05vdEZvdW5kfVxuICAgICAgICBtaXNzaW5nU2xvdHM9e21pc3NpbmdTbG90c31cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9Ob3RGb3VuZEVycm9yQm91bmRhcnk+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPlxufVxuIl0sIm5hbWVzIjpbIk5vdEZvdW5kQm91bmRhcnkiLCJOb3RGb3VuZEVycm9yQm91bmRhcnkiLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbXBvbmVudERpZENhdGNoIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwicHJvcHMiLCJtaXNzaW5nU2xvdHMiLCJoYXMiLCJ3YXJuaW5nTWVzc2FnZSIsInNpemUiLCJmb3JtYXR0ZWRTbG90cyIsIkFycmF5IiwiZnJvbSIsInNvcnQiLCJhIiwiYiIsImxvY2FsZUNvbXBhcmUiLCJtYXAiLCJzbG90Iiwiam9pbiIsIndhcm5PbmNlIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiZXJyb3IiLCJpc05vdEZvdW5kRXJyb3IiLCJub3RGb3VuZFRyaWdnZXJlZCIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsInN0YXRlIiwicGF0aG5hbWUiLCJwcmV2aW91c1BhdGhuYW1lIiwicmVuZGVyIiwibWV0YSIsIm5hbWUiLCJjb250ZW50Iiwibm90Rm91bmRTdHlsZXMiLCJub3RGb3VuZCIsImNoaWxkcmVuIiwiY29uc3RydWN0b3IiLCJhc05vdEZvdW5kIiwidXNlVW50cmFja2VkUGF0aG5hbWUiLCJ1c2VDb250ZXh0IiwiTWlzc2luZ1Nsb3RDb250ZXh0Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\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 isNotFoundError: function() {\n return isNotFoundError;\n },\n notFound: function() {\n return notFound;\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFnQ2dCQSxlQUFlO2VBQWZBOztJQWRBQyxRQUFRO2VBQVJBOzs7QUFsQmhCLE1BQU1DLHVCQUF1QjtBQWtCdEIsU0FBU0Q7SUFDZCw0Q0FBNEM7SUFDNUMsTUFBTUUsUUFBUSxJQUFJQyxNQUFNRjtJQUN0QkMsTUFBd0JFLE1BQU0sR0FBR0g7SUFDbkMsTUFBTUM7QUFDUjtBQVNPLFNBQVNILGdCQUFnQkcsS0FBYztJQUM1QyxJQUFJLE9BQU9BLFVBQVUsWUFBWUEsVUFBVSxRQUFRLENBQUUsYUFBWUEsS0FBQUEsQ0FBSSxFQUFJO1FBQ3ZFLE9BQU87SUFDVDtJQUVBLE9BQU9BLE1BQU1FLE1BQU0sS0FBS0g7QUFDMUIiLCJzb3VyY2VzIjpbIkM6XFxVc2Vyc1xcam9zaHNcXHNyY1xcY2xpZW50XFxjb21wb25lbnRzXFxub3QtZm91bmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgTk9UX0ZPVU5EX0VSUk9SX0NPREUgPSAnTkVYVF9OT1RfRk9VTkQnXG5cbmV4cG9ydCB0eXBlIE5vdEZvdW5kRXJyb3IgPSBFcnJvciAmIHsgZGlnZXN0OiB0eXBlb2YgTk9UX0ZPVU5EX0VSUk9SX0NPREUgfVxuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gYWxsb3dzIHlvdSB0byByZW5kZXIgdGhlIFtub3QtZm91bmQuanMgZmlsZV0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvZmlsZS1jb252ZW50aW9ucy9ub3QtZm91bmQpXG4gKiB3aXRoaW4gYSByb3V0ZSBzZWdtZW50IGFzIHdlbGwgYXMgaW5qZWN0IGEgdGFnLlxuICpcbiAqIGBub3RGb3VuZCgpYCBjYW4gYmUgdXNlZCBpblxuICogW1NlcnZlciBDb21wb25lbnRzXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yZW5kZXJpbmcvc2VydmVyLWNvbXBvbmVudHMpLFxuICogW1JvdXRlIEhhbmRsZXJzXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yb3V0aW5nL3JvdXRlLWhhbmRsZXJzKSwgYW5kXG4gKiBbU2VydmVyIEFjdGlvbnNdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL2RhdGEtZmV0Y2hpbmcvc2VydmVyLWFjdGlvbnMtYW5kLW11dGF0aW9ucykuXG4gKlxuICogLSBJbiBhIFNlcnZlciBDb21wb25lbnQsIHRoaXMgd2lsbCBpbnNlcnQgYSBgPG1ldGEgbmFtZT1cInJvYm90c1wiIGNvbnRlbnQ9XCJub2luZGV4XCIgLz5gIG1ldGEgdGFnIGFuZCBzZXQgdGhlIHN0YXR1cyBjb2RlIHRvIDQwNC5cbiAqIC0gSW4gYSBSb3V0ZSBIYW5kbGVyIG9yIFNlcnZlciBBY3Rpb24sIGl0IHdpbGwgc2VydmUgYSA0MDQgdG8gdGhlIGNhbGxlci5cbiAqXG4gKiBSZWFkIG1vcmU6IFtOZXh0LmpzIERvY3M6IGBub3RGb3VuZGBdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy9ub3QtZm91bmQpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3RGb3VuZCgpOiBuZXZlciB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby10aHJvdy1saXRlcmFsXG4gIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKE5PVF9GT1VORF9FUlJPUl9DT0RFKVxuICA7KGVycm9yIGFzIE5vdEZvdW5kRXJyb3IpLmRpZ2VzdCA9IE5PVF9GT1VORF9FUlJPUl9DT0RFXG4gIHRocm93IGVycm9yXG59XG5cbi8qKlxuICogQ2hlY2tzIGFuIGVycm9yIHRvIGRldGVybWluZSBpZiBpdCdzIGFuIGVycm9yIGdlbmVyYXRlZCBieSB0aGUgYG5vdEZvdW5kKClgXG4gKiBoZWxwZXIuXG4gKlxuICogQHBhcmFtIGVycm9yIHRoZSBlcnJvciB0aGF0IG1heSByZWZlcmVuY2UgYSBub3QgZm91bmQgZXJyb3JcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGVycm9yIGlzIGEgbm90IGZvdW5kIGVycm9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc05vdEZvdW5kRXJyb3IoZXJyb3I6IHVua25vd24pOiBlcnJvciBpcyBOb3RGb3VuZEVycm9yIHtcbiAgaWYgKHR5cGVvZiBlcnJvciAhPT0gJ29iamVjdCcgfHwgZXJyb3IgPT09IG51bGwgfHwgISgnZGlnZXN0JyBpbiBlcnJvcikpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHJldHVybiBlcnJvci5kaWdlc3QgPT09IE5PVF9GT1VORF9FUlJPUl9DT0RFXG59XG4iXSwibmFtZXMiOlsiaXNOb3RGb3VuZEVycm9yIiwibm90Rm91bmQiLCJOT1RfRk9VTkRfRVJST1JfQ09ERSIsImVycm9yIiwiRXJyb3IiLCJkaWdlc3QiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/not-found.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js":
/*!*******************************************************************************************!*\
!*** ./node_modules/next/dist/client/components/react-dev-overlay/app/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 ReactDevOverlay;\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/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/route-modules/app-page/vendored/ssr/react.js\"));\nconst _ShadowPortal = __webpack_require__(/*! ../internal/components/ShadowPortal */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\");\nconst _BuildError = __webpack_require__(/*! ../internal/container/BuildError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _Errors = __webpack_require__(/*! ../internal/container/Errors */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _StaticIndicator = __webpack_require__(/*! ../internal/container/StaticIndicator */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/StaticIndicator.js\");\nconst _Base = __webpack_require__(/*! ../internal/styles/Base */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\");\nconst _ComponentStyles = __webpack_require__(/*! ../internal/styles/ComponentStyles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\");\nconst _CssReset = __webpack_require__(/*! ../internal/styles/CssReset */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\");\nconst _rootlayoutmissingtagserror = __webpack_require__(/*! ../internal/container/root-layout-missing-tags-error */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/root-layout-missing-tags-error.js\");\nconst _runtimeerrorhandler = __webpack_require__(/*! ../internal/helpers/runtime-error-handler */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js\");\nclass ReactDevOverlay extends _react.default.PureComponent {\n static getDerivedStateFromError(error) {\n if (!error.stack) return {\n isReactError: false\n };\n _runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError = true;\n return {\n isReactError: true\n };\n }\n render() {\n var _state_rootLayoutMissingTags;\n const { state, children, dispatcher } = this.props;\n const { isReactError } = this.state;\n const hasBuildError = state.buildError != null;\n const hasRuntimeErrors = Boolean(state.errors.length);\n const hasStaticIndicator = state.staticIndicator;\n const debugInfo = state.debugInfo;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n isReactError ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"body\", {})\n ]\n }) : children,\n /*#__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 ((_state_rootLayoutMissingTags = state.rootLayoutMissingTags) == null ? void 0 : _state_rootLayoutMissingTags.length) ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_rootlayoutmissingtagserror.RootLayoutMissingTagsError, {\n missingTags: state.rootLayoutMissingTags\n }) : hasBuildError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_BuildError.BuildError, {\n message: state.buildError,\n versionInfo: state.versionInfo\n }) : /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n hasRuntimeErrors ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Errors.Errors, {\n isAppDir: true,\n initialDisplayState: isReactError ? 'fullscreen' : 'minimized',\n errors: state.errors,\n versionInfo: state.versionInfo,\n hasStaticIndicator: hasStaticIndicator,\n debugInfo: debugInfo\n }) : null,\n hasStaticIndicator && /*#__PURE__*/ (0, _jsxruntime.jsx)(_StaticIndicator.StaticIndicator, {\n dispatcher: dispatcher\n })\n ]\n })\n ]\n })\n ]\n });\n }\n constructor(...args){\n super(...args);\n this.state = {\n isReactError: false\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=ReactDevOverlay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2FwcC9SZWFjdERldk92ZXJsYXkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztlQWdCcUJBOzs7Ozs0RUFoQkg7MENBRVc7d0NBQ0Y7b0NBQ0o7NkNBQ1M7a0NBQ1g7NkNBQ1c7c0NBQ1A7d0RBQ2tCO2lEQUVQO0FBS3JCLE1BQU1BLHdCQUF3QkMsT0FBQUEsT0FBSyxDQUFDQyxhQUFhO0lBVTlELE9BQU9DLHlCQUF5QkMsS0FBWSxFQUF3QjtRQUNsRSxJQUFJLENBQUNBLE1BQU1DLEtBQUssRUFBRSxPQUFPO1lBQUVDLGNBQWM7UUFBTTtRQUUvQ0MscUJBQUFBLG1CQUFtQixDQUFDQyxlQUFlLEdBQUc7UUFDdEMsT0FBTztZQUNMRixjQUFjO1FBQ2hCO0lBQ0Y7SUFFQUcsU0FBUztZQXVCQUM7UUF0QlAsTUFBTSxFQUFFQSxLQUFLLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDQyxLQUFLO1FBQ2xELE1BQU0sRUFBRVAsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDSSxLQUFLO1FBRW5DLE1BQU1JLGdCQUFnQkosTUFBTUssVUFBVSxJQUFJO1FBQzFDLE1BQU1DLG1CQUFtQkMsUUFBUVAsTUFBTVEsTUFBTSxDQUFDQyxNQUFNO1FBQ3BELE1BQU1DLHFCQUFxQlYsTUFBTVcsZUFBZTtRQUNoRCxNQUFNQyxZQUFZWixNQUFNWSxTQUFTO1FBRWpDLE9BQ0UsV0FERixHQUNFOztnQkFDR2hCLGVBQUFBLFdBQUFBLEdBQ0Msc0JBQUNpQixRQUFBQTs7c0NBQ0MscUJBQUNDLFFBQUFBLENBQUFBO3NDQUNELHFCQUFDQyxRQUFBQSxDQUFBQTs7cUJBR0hkOzhCQUVGLHNCQUFDZSxjQUFBQSxZQUFZOztzQ0FDWCxxQkFBQ0MsVUFBQUEsUUFBUTtzQ0FDVCxxQkFBQ0MsTUFBQUEsSUFBSTtzQ0FDTCxxQkFBQ0MsaUJBQUFBLGVBQWU7d0JBQ2ZuQixDQUFBQSxDQUFBQSwrQkFBQUEsTUFBTW9CLHFCQUFxQixxQkFBM0JwQiw2QkFBNkJTLE1BQUFBLElBQU0sY0FDbEMscUJBQUNZLDRCQUFBQSwwQkFBMEI7NEJBQ3pCQyxhQUFhdEIsTUFBTW9CLHFCQUFxQjs2QkFFeENoQixnQkFBQUEsV0FBQUEsR0FDRixxQkFBQ21CLFlBQUFBLFVBQVU7NEJBQ1RDLFNBQVN4QixNQUFNSyxVQUFVOzRCQUN6Qm9CLGFBQWF6QixNQUFNeUIsV0FBVzs2QkFHaEM7O2dDQUNHbkIsbUJBQUFBLFdBQUFBLEdBQ0MscUJBQUNvQixRQUFBQSxNQUFNO29DQUNMQyxVQUFVO29DQUNWQyxxQkFDRWhDLGVBQWUsZUFBZTtvQ0FFaENZLFFBQVFSLE1BQU1RLE1BQU07b0NBQ3BCaUIsYUFBYXpCLE1BQU15QixXQUFXO29DQUM5QmYsb0JBQW9CQTtvQ0FDcEJFLFdBQVdBO3FDQUVYO2dDQUVIRixzQkFBQUEsV0FBQUEsR0FDQyxxQkFBQ21CLGlCQUFBQSxlQUFlO29DQUFDM0IsWUFBWUE7Ozs7Ozs7O0lBTzNDOzs7YUFsRUFGLEtBQUFBLEdBQVE7WUFBRUosY0FBYztRQUFNOztBQW1FaEMiLCJzb3VyY2VzIjpbIkM6XFxzcmNcXGNsaWVudFxcY29tcG9uZW50c1xccmVhY3QtZGV2LW92ZXJsYXlcXGFwcFxcUmVhY3REZXZPdmVybGF5LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IE92ZXJsYXlTdGF0ZSB9IGZyb20gJy4uL3NoYXJlZCdcbmltcG9ydCB7IFNoYWRvd1BvcnRhbCB9IGZyb20gJy4uL2ludGVybmFsL2NvbXBvbmVudHMvU2hhZG93UG9ydGFsJ1xuaW1wb3J0IHsgQnVpbGRFcnJvciB9IGZyb20gJy4uL2ludGVybmFsL2NvbnRhaW5lci9CdWlsZEVycm9yJ1xuaW1wb3J0IHsgRXJyb3JzIH0gZnJvbSAnLi4vaW50ZXJuYWwvY29udGFpbmVyL0Vycm9ycydcbmltcG9ydCB7IFN0YXRpY0luZGljYXRvciB9IGZyb20gJy4uL2ludGVybmFsL2NvbnRhaW5lci9TdGF0aWNJbmRpY2F0b3InXG5pbXBvcnQgeyBCYXNlIH0gZnJvbSAnLi4vaW50ZXJuYWwvc3R5bGVzL0Jhc2UnXG5pbXBvcnQgeyBDb21wb25lbnRTdHlsZXMgfSBmcm9tICcuLi9pbnRlcm5hbC9zdHlsZXMvQ29tcG9uZW50U3R5bGVzJ1xuaW1wb3J0IHsgQ3NzUmVzZXQgfSBmcm9tICcuLi9pbnRlcm5hbC9zdHlsZXMvQ3NzUmVzZXQnXG5pbXBvcnQgeyBSb290TGF5b3V0TWlzc2luZ1RhZ3NFcnJvciB9IGZyb20gJy4uL2ludGVybmFsL2NvbnRhaW5lci9yb290LWxheW91dC1taXNzaW5nLXRhZ3MtZXJyb3InXG5pbXBvcnQgdHlwZSB7IERpc3BhdGNoZXIgfSBmcm9tICcuL2hvdC1yZWxvYWRlci1jbGllbnQnXG5pbXBvcnQgeyBSdW50aW1lRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi4vaW50ZXJuYWwvaGVscGVycy9ydW50aW1lLWVycm9yLWhhbmRsZXInXG5cbmludGVyZmFjZSBSZWFjdERldk92ZXJsYXlTdGF0ZSB7XG4gIGlzUmVhY3RFcnJvcjogYm9vbGVhblxufVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVhY3REZXZPdmVybGF5IGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxcbiAge1xuICAgIHN0YXRlOiBPdmVybGF5U3RhdGVcbiAgICBkaXNwYXRjaGVyPzogRGlzcGF0Y2hlclxuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgfSxcbiAgUmVhY3REZXZPdmVybGF5U3RhdGVcbj4ge1xuICBzdGF0ZSA9IHsgaXNSZWFjdEVycm9yOiBmYWxzZSB9XG5cbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlcnJvcjogRXJyb3IpOiBSZWFjdERldk92ZXJsYXlTdGF0ZSB7XG4gICAgaWYgKCFlcnJvci5zdGFjaykgcmV0dXJuIHsgaXNSZWFjdEVycm9yOiBmYWxzZSB9XG5cbiAgICBSdW50aW1lRXJyb3JIYW5kbGVyLmhhZFJ1bnRpbWVFcnJvciA9IHRydWVcbiAgICByZXR1cm4ge1xuICAgICAgaXNSZWFjdEVycm9yOiB0cnVlLFxuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IHN0YXRlLCBjaGlsZHJlbiwgZGlzcGF0Y2hlciB9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHsgaXNSZWFjdEVycm9yIH0gPSB0aGlzLnN0YXRlXG5cbiAgICBjb25zdCBoYXNCdWlsZEVycm9yID0gc3RhdGUuYnVpbGRFcnJvciAhPSBudWxsXG4gICAgY29uc3QgaGFzUnVudGltZUVycm9ycyA9IEJvb2xlYW4oc3RhdGUuZXJyb3JzLmxlbmd0aClcbiAgICBjb25zdCBoYXNTdGF0aWNJbmRpY2F0b3IgPSBzdGF0ZS5zdGF0aWNJbmRpY2F0b3JcbiAgICBjb25zdCBkZWJ1Z0luZm8gPSBzdGF0ZS5kZWJ1Z0luZm9cblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7aXNSZWFjdEVycm9yID8gKFxuICAgICAgICAgIDxodG1sPlxuICAgICAgICAgICAgPGhlYWQ+PC9oZWFkPlxuICAgICAgICAgICAgPGJvZHk+PC9ib2R5PlxuICAgICAgICAgIDwvaHRtbD5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBjaGlsZHJlblxuICAgICAgICApfVxuICAgICAgICA8U2hhZG93UG9ydGFsPlxuICAgICAgICAgIDxDc3NSZXNldCAvPlxuICAgICAgICAgIDxCYXNlIC8+XG4gICAgICAgICAgPENvbXBvbmVudFN0eWxlcyAvPlxuICAgICAgICAgIHtzdGF0ZS5yb290TGF5b3V0TWlzc2luZ1RhZ3M/Lmxlbmd0aCA/IChcbiAgICAgICAgICAgIDxSb290TGF5b3V0TWlzc2luZ1RhZ3NFcnJvclxuICAgICAgICAgICAgICBtaXNzaW5nVGFncz17c3RhdGUucm9vdExheW91dE1pc3NpbmdUYWdzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogaGFzQnVpbGRFcnJvciA/IChcbiAgICAgICAgICAgIDxCdWlsZEVycm9yXG4gICAgICAgICAgICAgIG1lc3NhZ2U9e3N0YXRlLmJ1aWxkRXJyb3IhfVxuICAgICAgICAgICAgICB2ZXJzaW9uSW5mbz17c3RhdGUudmVyc2lvbkluZm99XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7aGFzUnVudGltZUVycm9ycyA/IChcbiAgICAgICAgICAgICAgICA8RXJyb3JzXG4gICAgICAgICAgICAgICAgICBpc0FwcERpcj17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgIGluaXRpYWxEaXNwbGF5U3RhdGU9e1xuICAgICAgICAgICAgICAgICAgICBpc1JlYWN0RXJyb3IgPyAnZnVsbHNjcmVlbicgOiAnbWluaW1pemVkJ1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgZXJyb3JzPXtzdGF0ZS5lcnJvcnN9XG4gICAgICAgICAgICAgICAgICB2ZXJzaW9uSW5mbz17c3RhdGUudmVyc2lvbkluZm99XG4gICAgICAgICAgICAgICAgICBoYXNTdGF0aWNJbmRpY2F0b3I9e2hhc1N0YXRpY0luZGljYXRvcn1cbiAgICAgICAgICAgICAgICAgIGRlYnVnSW5mbz17ZGVidWdJbmZvfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAgICAgIHtoYXNTdGF0aWNJbmRpY2F0b3IgJiYgKFxuICAgICAgICAgICAgICAgIDxTdGF0aWNJbmRpY2F0b3IgZGlzcGF0Y2hlcj17ZGlzcGF0Y2hlcn0gLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU2hhZG93UG9ydGFsPlxuICAgICAgPC8+XG4gICAgKVxuICB9XG59XG4iXSwibmFtZXMiOlsiUmVhY3REZXZPdmVybGF5IiwiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiZXJyb3IiLCJzdGFjayIsImlzUmVhY3RFcnJvciIsIlJ1bnRpbWVFcnJvckhhbmRsZXIiLCJoYWRSdW50aW1lRXJyb3IiLCJyZW5kZXIiLCJzdGF0ZSIsImNoaWxkcmVuIiwiZGlzcGF0Y2hlciIsInByb3BzIiwiaGFzQnVpbGRFcnJvciIsImJ1aWxkRXJyb3IiLCJoYXNSdW50aW1lRXJyb3JzIiwiQm9vbGVhbiIsImVycm9ycyIsImxlbmd0aCIsImhhc1N0YXRpY0luZGljYXRvciIsInN0YXRpY0luZGljYXRvciIsImRlYnVnSW5mbyIsImh0bWwiLCJoZWFkIiwiYm9keSIsIlNoYWRvd1BvcnRhbCIsIkNzc1Jlc2V0IiwiQmFzZSIsIkNvbXBvbmVudFN0eWxlcyIsInJvb3RMYXlvdXRNaXNzaW5nVGFncyIsIlJvb3RMYXlvdXRNaXNzaW5nVGFnc0Vycm9yIiwibWlzc2luZ1RhZ3MiLCJCdWlsZEVycm9yIiwibWVzc2FnZSIsInZlcnNpb25JbmZvIiwiRXJyb3JzIiwiaXNBcHBEaXIiLCJpbml0aWFsRGlzcGxheVN0YXRlIiwiU3RhdGljSW5kaWNhdG9yIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js":
/*!***********************************************************************************************!*\
!*** ./node_modules/next/dist/client/components/react-dev-overlay/app/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}));\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 HotReload;\n },\n waitForWebpackRuntimeHotUpdate: function() {\n return waitForWebpackRuntimeHotUpdate;\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/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/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__(/*! ../internal/helpers/format-webpack-messages */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js\"));\nconst _navigation = __webpack_require__(/*! ../../navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _shared = __webpack_require__(/*! ../shared */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _parsestack = __webpack_require__(/*! ../internal/helpers/parse-stack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-stack.js\");\nconst _ReactDevOverlay = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./ReactDevOverlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/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 _runtimeerrorhandler = __webpack_require__(/*! ../internal/helpers/runtime-error-handler */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-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\");\nconst _extractmodulesfromturbopackmessage = __webpack_require__(/*! ../../../../server/dev/extract-modules-from-turbopack-message */ \"(ssr)/./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js\");\nconst _navigationuntracked = __webpack_require__(/*! ../../navigation-untracked */ \"(ssr)/./node_modules/next/dist/client/components/navigation-untracked.js\");\nconst _stitchederror = __webpack_require__(/*! ../internal/helpers/stitched-error */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stitched-error.js\");\nlet mostRecentCompilationHash = null;\nlet __nextDevClientId = Math.round(Math.random() * 100 + Date.now());\nlet reloading = false;\nlet startLatency = null;\nlet pendingHotUpdateWebpack = Promise.resolve();\nlet resolvePendingHotUpdateWebpack = ()=>{};\nfunction setPendingHotUpdateWebpack() {\n pendingHotUpdateWebpack = new Promise((resolve)=>{\n resolvePendingHotUpdateWebpack = ()=>{\n resolve();\n };\n });\n}\nfunction waitForWebpackRuntimeHotUpdate() {\n return pendingHotUpdateWebpack;\n}\nfunction handleBeforeHotUpdateWebpack(dispatcher, hasUpdates) {\n if (hasUpdates) {\n dispatcher.onBeforeRefresh();\n }\n}\nfunction handleSuccessfulHotUpdateWebpack(dispatcher, sendMessage, updatedModules) {\n resolvePendingHotUpdateWebpack();\n dispatcher.onBuildOk();\n reportHmrLatency(sendMessage, updatedModules);\n dispatcher.onRefresh();\n}\nfunction reportHmrLatency(sendMessage, updatedModules) {\n if (!startLatency) return;\n let endLatency = Date.now();\n const latency = endLatency - startLatency;\n console.log(\"[Fast Refresh] done in \" + latency + \"ms\");\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}\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: !!_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError,\n dependencyChain: err ? err.dependencyChain : undefined\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 resolvePendingHotUpdateWebpack();\n dispatcher.onBuildOk();\n reportHmrLatency(sendMessage, []);\n return;\n }\n function handleApplyUpdates(err, updatedModules) {\n if (err || _runtimeerrorhandler.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 (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_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}\n/** Handles messages from the sevrer for the App Router. */ function processMessage(obj, sendMessage, processTurbopackMessage, router, dispatcher, appIsrManifestRef, pathnameRef) {\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() {\n if (false) {} else {\n tryApplyUpdates(function onBeforeHotUpdate(hasUpdates) {\n handleBeforeHotUpdateWebpack(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 handleSuccessfulHotUpdateWebpack(dispatcher, sendMessage, webpackUpdatedModules);\n }, sendMessage, dispatcher);\n }\n }\n switch(obj.action){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.APP_ISR_MANIFEST:\n {\n if (true) {\n if (appIsrManifestRef) {\n appIsrManifestRef.current = obj.data;\n // handle initial status on receiving manifest\n // navigation is handled in useEffect for pathname changes\n // as we'll receive the updated manifest before usePathname\n // triggers for new value\n if (pathnameRef.current in obj.data) {\n var _localStorage;\n // the indicator can be hidden for an hour.\n // check if it's still hidden\n const indicatorHiddenAt = Number((_localStorage = localStorage) == null ? void 0 : _localStorage.getItem('__NEXT_DISMISS_PRERENDER_INDICATOR'));\n const isHidden = indicatorHiddenAt && !isNaN(indicatorHiddenAt) && Date.now() < indicatorHiddenAt;\n if (!isHidden) {\n dispatcher.onStaticIndicator(true);\n }\n } else {\n dispatcher.onStaticIndicator(false);\n }\n }\n }\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILDING:\n {\n startLatency = Date.now();\n if (true) {\n setPendingHotUpdateWebpack();\n }\n console.log('[Fast Refresh] rebuilding');\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) dispatcher.onVersionInfo(obj.versionInfo);\n if ('debug' in obj && obj.debug) dispatcher.onDebugInfo(obj.debug);\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();\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED:\n {\n processTurbopackMessage({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED,\n data: {\n sessionId: obj.data.sessionId\n }\n });\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE:\n {\n const updatedModules = (0, _extractmodulesfromturbopackmessage.extractModulesFromTurbopackMessage)(obj.data);\n dispatcher.onBeforeRefresh();\n processTurbopackMessage({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE,\n data: obj.data\n });\n dispatcher.onRefresh();\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n performFullReload(null, sendMessage);\n }\n reportHmrLatency(sendMessage, updatedModules);\n break;\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 (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n if (reloading) return;\n reloading = true;\n return window.location.reload();\n }\n (0, _react.startTransition)(()=>{\n router.hmrRefresh();\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.ADDED_PAGE:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.REMOVED_PAGE:\n {\n // TODO-APP: potentially only refresh if the currently viewed page was added/removed.\n return router.hmrRefresh();\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, _shared.useErrorOverlayReducer)();\n const dispatcher = (0, _react.useMemo)(()=>{\n return {\n onBuildOk () {\n dispatch({\n type: _shared.ACTION_BUILD_OK\n });\n },\n onBuildError (message) {\n dispatch({\n type: _shared.ACTION_BUILD_ERROR,\n message\n });\n },\n onBeforeRefresh () {\n dispatch({\n type: _shared.ACTION_BEFORE_REFRESH\n });\n },\n onRefresh () {\n dispatch({\n type: _shared.ACTION_REFRESH\n });\n },\n onVersionInfo (versionInfo) {\n dispatch({\n type: _shared.ACTION_VERSION_INFO,\n versionInfo\n });\n },\n onStaticIndicator (status) {\n dispatch({\n type: _shared.ACTION_STATIC_INDICATOR,\n staticIndicator: status\n });\n },\n onDebugInfo (debugInfo) {\n dispatch({\n type: _shared.ACTION_DEBUG_INFO,\n debugInfo\n });\n }\n };\n }, [\n dispatch\n ]);\n const handleOnUnhandledError = (0, _react.useCallback)((error)=>{\n const errorDetails = error.details;\n // Component stack is added to the error in use-error-handler in case there was a hydration error\n const componentStackTrace = error._componentStack || (errorDetails == null ? void 0 : errorDetails.componentStack);\n const warning = errorDetails == null ? void 0 : errorDetails.warning;\n const stitchedError = (0, _stitchederror.getReactStitchedError)(error);\n dispatch({\n type: _shared.ACTION_UNHANDLED_ERROR,\n reason: stitchedError,\n frames: (0, _parsestack.parseStack)(stitchedError.stack || ''),\n componentStackFrames: typeof componentStackTrace === 'string' ? (0, _parsecomponentstack.parseComponentStack)(componentStackTrace) : undefined,\n warning\n });\n }, [\n dispatch\n ]);\n const handleOnUnhandledRejection = (0, _react.useCallback)((reason)=>{\n const stitchedError = (0, _stitchederror.getReactStitchedError)(reason);\n dispatch({\n type: _shared.ACTION_UNHANDLED_REJECTION,\n reason: stitchedError,\n frames: (0, _parsestack.parseStack)(stitchedError.stack || '')\n });\n }, [\n dispatch\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, (err)=>performFullReload(err, sendMessage));\n const router = (0, _navigation.useRouter)();\n // We don't want access of the pathname for the dev tools to trigger a dynamic\n // access (as the dev overlay will never be present in production).\n const pathname = (0, _navigationuntracked.useUntrackedPathname)();\n const appIsrManifestRef = (0, _react.useRef)({});\n const pathnameRef = (0, _react.useRef)(pathname);\n if (true) {\n // this conditional is only for dead-code elimination which\n // isn't a runtime conditional only build-time so ignore hooks rule\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, _react.useEffect)(()=>{\n pathnameRef.current = pathname;\n const appIsrManifest = appIsrManifestRef.current;\n if (appIsrManifest) {\n if (pathname && pathname in appIsrManifest) {\n var _localStorage;\n const indicatorHiddenAt = Number((_localStorage = localStorage) == null ? void 0 : _localStorage.getItem('__NEXT_DISMISS_PRERENDER_INDICATOR'));\n const isHidden = indicatorHiddenAt && !isNaN(indicatorHiddenAt) && Date.now() < indicatorHiddenAt;\n if (!isHidden) {\n dispatcher.onStaticIndicator(true);\n }\n } else {\n dispatcher.onStaticIndicator(false);\n }\n }\n }, [\n pathname,\n dispatcher\n ]);\n }\n (0, _react.useEffect)(()=>{\n const websocket = webSocketRef.current;\n if (!websocket) return;\n const handler = (event)=>{\n try {\n const obj = JSON.parse(event.data);\n processMessage(obj, sendMessage, processTurbopackMessage, router, dispatcher, appIsrManifestRef, pathnameRef);\n } catch (err) {\n var _err_stack;\n console.warn('[HMR] Invalid message: ' + JSON.stringify(event.data) + '\\n' + ((_err_stack = err == null ? void 0 : err.stack) != null ? _err_stack : ''));\n }\n };\n websocket.addEventListener('message', handler);\n return ()=>websocket.removeEventListener('message', handler);\n }, [\n sendMessage,\n router,\n webSocketRef,\n dispatcher,\n processTurbopackMessage,\n appIsrManifestRef\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ReactDevOverlay.default, {\n state: state,\n dispatcher: dispatcher,\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2FwcC9ob3QtcmVsb2FkZXItY2xpZW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7SUF5Z0JBLE9BZ0tDO2VBaEt1QkE7O0lBdmNSQyw4QkFBOEI7ZUFBOUJBOzs7OzttQ0FqRXlEO2dGQUNuRDs0RkFDWTt3Q0FDUjtvQ0FZbkI7d0NBQ29CO3NGQUNDOzZDQUNJO2lEQUNJOzBDQU03QjtpREFDNkI7OENBRVE7Z0VBS087aURBSWQ7MkNBQ0M7QUFZdEMsSUFBSUMsNEJBQWlDO0FBQ3JDLElBQUlDLG9CQUFvQkMsS0FBS0MsS0FBSyxDQUFDRCxLQUFLRSxNQUFNLEtBQUssTUFBTUMsS0FBS0MsR0FBRztBQUNqRSxJQUFJQyxZQUFZO0FBQ2hCLElBQUlDLGVBQThCO0FBRWxDLElBQUlDLDBCQUEwQkMsUUFBUUMsT0FBTztBQUM3QyxJQUFJQyxpQ0FBNkMsS0FBTztBQUN4RCxTQUFTQztJQUNQSiwwQkFBMEIsSUFBSUMsUUFBUSxDQUFDQztRQUNyQ0MsaUNBQWlDO1lBQy9CRDtRQUNGO0lBQ0Y7QUFDRjtBQUVPLFNBQVNaO0lBQ2QsT0FBT1U7QUFDVDtBQUVBLFNBQVNLLDZCQUNQQyxVQUFzQixFQUN0QkMsVUFBbUI7SUFFbkIsSUFBSUEsWUFBWTtRQUNkRCxXQUFXRSxlQUFlO0lBQzVCO0FBQ0Y7QUFFQSxTQUFTQyxpQ0FDUEgsVUFBc0IsRUFDdEJJLFdBQXNDLEVBQ3RDQyxjQUFxQztJQUVyQ1I7SUFDQUcsV0FBV00sU0FBUztJQUNwQkMsaUJBQWlCSCxhQUFhQztJQUU5QkwsV0FBV1EsU0FBUztBQUN0QjtBQUVBLFNBQVNELGlCQUNQSCxXQUFzQyxFQUN0Q0MsY0FBcUM7SUFFckMsSUFBSSxDQUFDWixjQUFjO0lBQ25CLElBQUlnQixhQUFhbkIsS0FBS0MsR0FBRztJQUN6QixNQUFNbUIsVUFBVUQsYUFBYWhCO0lBQzdCa0IsUUFBUUMs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QUNGLEdBQUc7WUFBQzlFO1lBQVV0QjtTQUFXO0lBQzNCO0lBRUE0SyxDQUFBQSxHQUFBQSxPQUFBQSxTQUFBQSxFQUFVO1FBQ1IsTUFBTUUsWUFBWVYsYUFBYXhFLE9BQU87UUFDdEMsSUFBSSxDQUFDa0YsV0FBVztRQUVoQixNQUFNdkksVUFBVSxDQUFDeEI7WUFDZixJQUFJO2dCQUNGLE1BQU11RCxNQUFNekQsS0FBS2tILEtBQUssQ0FBQ2hILE1BQU04RSxJQUFJO2dCQUNqQ3hCLGVBQ0VDLEtBQ0FsRSxhQUNBbUUseUJBQ0FDLFFBQ0F4RSxZQUNBeUUsbUJBQ0FDO1lBRUosRUFBRSxPQUFPL0IsS0FBVTtvQkFLWkE7Z0JBSkxoQyxRQUFRZ0QsSUFBSSxDQUNWLDRCQUNFOUMsS0FBS0MsU0FBUyxDQUFDQyxNQUFNOEUsSUFBSSxJQUN6QixPQUNDbEQsQ0FBQUEsQ0FBQUEsYUFBQUEsT0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsSUFBS0UsS0FBQUEsS0FBSyxPQUFWRixhQUFjLEdBQUM7WUFFdEI7UUFDRjtRQUVBbUksVUFBVUMsZ0JBQWdCLENBQUMsV0FBV3hJO1FBQ3RDLE9BQU8sSUFBTXVJLFVBQVVFLG1CQUFtQixDQUFDLFdBQVd6STtJQUN4RCxHQUFHO1FBQ0RuQztRQUNBb0U7UUFDQTRGO1FBQ0FwSztRQUNBdUU7UUFDQUU7S0FDRDtJQUVELE9BQ0UsV0FERixHQUNFLHFCQUFDd0csaUJBQUFBLE9BQWU7UUFBQzdDLE9BQU9BO1FBQU9wSSxZQUFZQTtrQkFDeENtSTs7QUFHUCIsInNvdXJjZXMiOlsiQzpcXHNyY1xcY2xpZW50XFxjb21wb25lbnRzXFxyZWFjdC1kZXYtb3ZlcmxheVxcYXBwXFxob3QtcmVsb2FkZXItY2xpZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgc3RhcnRUcmFuc2l0aW9uLCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBzdHJpcEFuc2kgZnJvbSAnbmV4dC9kaXN0L2NvbXBpbGVkL3N0cmlwLWFuc2knXG5pbXBvcnQgZm9ybWF0V2VicGFja01lc3NhZ2VzIGZyb20gJy4uL2ludGVybmFsL2hlbHBlcnMvZm9ybWF0LXdlYnBhY2stbWVzc2FnZXMnXG5pbXBvcnQgeyB1c2VSb3V0ZXIgfSBmcm9tICcuLi8uLi9uYXZpZ2F0aW9uJ1xuaW1wb3J0IHtcbiAgQUNUSU9OX0JFRk9SRV9SRUZSRVNILFxuICBBQ1RJT05fQlVJTERfRVJST1IsXG4gIEFDVElPTl9CVUlMRF9PSyxcbiAgQUNUSU9OX0RFQlVHX0lORk8sXG4gIEFDVElPTl9SRUZSRVNILFxuICBBQ1RJT05fU1RBVElDX0lORElDQVRPUixcbiAgQUNUSU9OX1VOSEFORExFRF9FUlJPUixcbiAgQUNUSU9OX1VOSEFORExFRF9SRUpFQ1RJT04sXG4gIEFDVElPTl9WRVJTSU9OX0lORk8sXG4gIHVzZUVycm9yT3ZlcmxheVJlZHVjZXIsXG59IGZyb20gJy4uL3NoYXJlZCdcbmltcG9ydCB7IHBhcnNlU3RhY2sgfSBmcm9tICcuLi9pbnRlcm5hbC9oZWxwZXJzL3BhcnNlLXN0YWNrJ1xuaW1wb3J0IFJlYWN0RGV2T3ZlcmxheSBmcm9tICcuL1JlYWN0RGV2T3ZlcmxheSdcbmltcG9ydCB7IHVzZUVycm9ySGFuZGxlciB9IGZyb20gJy4uL2ludGVybmFsL2hlbHBlcnMvdXNlLWVycm9yLWhhbmRsZXInXG5pbXBvcnQgeyBSdW50aW1lRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi4vaW50ZXJuYWwvaGVscGVycy9ydW50aW1lLWVycm9yLWhhbmRsZXInXG5pbXBvcnQge1xuICB1c2VTZW5kTWVzc2FnZSxcbiAgdXNlVHVyYm9wYWNrLFxuICB1c2VXZWJzb2NrZXQsXG4gIHVzZVdlYnNvY2tldFBpbmcsXG59IGZyb20gJy4uL2ludGVybmFsL2hlbHBlcnMvdXNlLXdlYnNvY2tldCdcbmltcG9ydCB7IHBhcnNlQ29tcG9uZW50U3RhY2sgfSBmcm9tICcuLi9pbnRlcm5hbC9oZWxwZXJzL3BhcnNlLWNvbXBvbmVudC1zdGFjaydcbmltcG9ydCB0eXBlIHsgVmVyc2lvbkluZm8gfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2ZXIvZGV2L3BhcnNlLXZlcnNpb24taW5mbydcbmltcG9ydCB7IEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUiB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZlci9kZXYvaG90LXJlbG9hZGVyLXR5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBITVJfQUNUSU9OX1RZUEVTLFxuICBUdXJib3BhY2tNc2dUb0Jyb3dzZXIsXG59IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZlci9kZXYvaG90LXJlbG9hZGVyLXR5cGVzJ1xuaW1wb3J0IHsgZXh0cmFjdE1vZHVsZXNGcm9tVHVyYm9wYWNrTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZlci9kZXYvZXh0cmFjdC1tb2R1bGVzLWZyb20tdHVyYm9wYWNrLW1lc3NhZ2UnXG5pbXBvcnQgeyBSRUFDVF9SRUZSRVNIX0ZVTExfUkVMT0FEX0ZST01fRVJST1IgfSBmcm9tICcuLi9zaGFyZWQnXG5pbXBvcnQgdHlwZSB7IEh5ZHJhdGlvbkVycm9yU3RhdGUgfSBmcm9tICcuLi9pbnRlcm5hbC9oZWxwZXJzL2h5ZHJhdGlvbi1lcnJvci1pbmZvJ1xuaW1wb3J0IHR5cGUgeyBEZWJ1Z0luZm8gfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IHVzZVVudHJhY2tlZFBhdGhuYW1lIH0gZnJvbSAnLi4vLi4vbmF2aWdhdGlvbi11bnRyYWNrZWQnXG5pbXBvcnQgeyBnZXRSZWFjdFN0aXRjaGVkRXJyb3IgfSBmcm9tICcuLi9pbnRlcm5hbC9oZWxwZXJzL3N0aXRjaGVkLWVycm9yJ1xuXG5leHBvcnQgaW50ZXJmYWNlIERpc3BhdGNoZXIge1xuICBvbkJ1aWxkT2soKTogdm9pZFxuICBvbkJ1aWxkRXJyb3IobWVzc2FnZTogc3RyaW5nKTogdm9pZFxuICBvblZlcnNpb25JbmZvKHZlcnNpb25JbmZvOiBWZXJzaW9uSW5mbyk6IHZvaWRcbiAgb25EZWJ1Z0luZm8oZGVidWdJbmZvOiBEZWJ1Z0luZm8pOiB2b2lkXG4gIG9uQmVmb3JlUmVmcmVzaCgpOiB2b2lkXG4gIG9uUmVmcmVzaCgpOiB2b2lkXG4gIG9uU3RhdGljSW5kaWNhdG9yKHN0YXR1czogYm9vbGVhbik6IHZvaWRcbn1cblxubGV0IG1vc3RSZWNlbnRDb21waWxhdGlvbkhhc2g6IGFueSA9IG51bGxcbmxldCBfX25leHREZXZDbGllbnRJZCA9IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwMCArIERhdGUubm93KCkpXG5sZXQgcmVsb2FkaW5nID0gZmFsc2VcbmxldCBzdGFydExhdGVuY3k6IG51bWJlciB8IG51bGwgPSBudWxsXG5cbmxldCBwZW5kaW5nSG90VXBkYXRlV2VicGFjayA9IFByb21pc2UucmVzb2x2ZSgpXG5sZXQgcmVzb2x2ZVBlbmRpbmdIb3RVcGRhdGVXZWJwYWNrOiAoKSA9PiB2b2lkID0gKCkgPT4ge31cbmZ1bmN0aW9uIHNldFBlbmRpbmdIb3RVcGRhdGVXZWJwYWNrKCkge1xuICBwZW5kaW5nSG90VXBkYXRlV2VicGFjayA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgcmVzb2x2ZVBlbmRpbmdIb3RVcGRhdGVXZWJwYWNrID0gKCkgPT4ge1xuICAgICAgcmVzb2x2ZSgpXG4gICAgfVxuICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd2FpdEZvcldlYnBhY2tSdW50aW1lSG90VXBkYXRlKCkge1xuICByZXR1cm4gcGVuZGluZ0hvdFVwZGF0ZVdlYnBhY2tcbn1cblxuZnVuY3Rpb24gaGFuZGxlQmVmb3JlSG90VXBkYXRlV2VicGFjayhcbiAgZGlzcGF0Y2hlcjogRGlzcGF0Y2hlcixcbiAgaGFzVXBkYXRlczogYm9vbGVhblxuKSB7XG4gIGlmIChoYXNVcGRhdGVzKSB7XG4gICAgZGlzcGF0Y2hlci5vbkJlZm9yZVJlZnJlc2goKVxuICB9XG59XG5cbmZ1bmN0aW9uIGhhbmRsZVN1Y2Nlc3NmdWxIb3RVcGRhdGVXZWJwYWNrKFxuICBkaXNwYXRjaGVyOiBEaXNwYXRjaGVyLFxuICBzZW5kTWVzc2FnZTogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZCxcbiAgdXBkYXRlZE1vZHVsZXM6IFJlYWRvbmx5QXJyYXk8c3RyaW5nPlxuKSB7XG4gIHJlc29sdmVQZW5kaW5nSG90VXBkYXRlV2VicGFjaygpXG4gIGRpc3BhdGNoZXIub25CdWlsZE9rKClcbiAgcmVwb3J0SG1yTGF0ZW5jeShzZW5kTWVzc2FnZSwgdXBkYXRlZE1vZHVsZXMpXG5cbiAgZGlzcGF0Y2hlci5vblJlZnJlc2goKVxufVxuXG5mdW5jdGlvbiByZXBvcnRIbXJMYXRlbmN5KFxuICBzZW5kTWVzc2FnZTogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZCxcbiAgdXBkYXRlZE1vZHVsZXM6IFJlYWRvbmx5QXJyYXk8c3RyaW5nPlxuKSB7XG4gIGlmICghc3RhcnRMYXRlbmN5KSByZXR1cm5cbiAgbGV0IGVuZExhdGVuY3kgPSBEYXRlLm5vdygpXG4gIGNvbnN0IGxhdGVuY3kgPSBlbmRMYXRlbmN5IC0gc3RhcnRMYXRlbmN5XG4gIGNvbnNvbGUubG9nKGBbRmFzdCBSZWZyZXNoXSBkb25lIGluICR7bGF0ZW5jeX1tc2ApXG4gIHNlbmRNZXNzYWdlKFxuICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIGV2ZW50OiAnY2xpZW50LWhtci1sYXRlbmN5JyxcbiAgICAgIGlkOiB3aW5kb3cuX19uZXh0RGV2Q2xpZW50SWQsXG4gICAgICBzdGFydFRpbWU6IHN0YXJ0TGF0ZW5jeSxcbiAgICAgIGVuZFRpbWU6IGVuZExhdGVuY3ksXG4gICAgICBwYWdlOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsXG4gICAgICB1cGRhdGVkTW9kdWxlcyxcbiAgICAgIC8vIFdoZXRoZXIgdGhlIHBhZ2UgKHRhYikgd2FzIGhpZGRlbiBhdCB0aGUgdGltZSB0aGUgZXZlbnQgb2NjdXJyZWQuXG4gICAgICAvLyBUaGlzIGNhbiBpbXBhY3QgdGhlIGFjY3VyYWN5IG9mIHRoZSBldmVudCdzIHRpbWluZy5cbiAgICAgIGlzUGFnZUhpZGRlbjogZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlID09PSAnaGlkZGVuJyxcbiAgICB9KVxuICApXG59XG5cbi8vIFRoZXJlIGlzIGEgbmV3ZXIgdmVyc2lvbiBvZiB0aGUgY29kZSBhdmFpbGFibGUuXG5mdW5jdGlvbiBoYW5kbGVBdmFpbGFibGVIYXNoKGhhc2g6IHN0cmluZykge1xuICAvLyBVcGRhdGUgbGFzdCBrbm93biBjb21waWxhdGlvbiBoYXNoLlxuICBtb3N0UmVjZW50Q29tcGlsYXRpb25IYXNoID0gaGFzaFxufVxuXG4vKipcbiAqIElzIHRoZXJlIGEgbmV3ZXIgdmVyc2lvbiBvZiB0aGlzIGNvZGUgYXZhaWxhYmxlP1xuICogRm9yIHdlYnBhY2s6IENoZWNrIGlmIHRoZSBoYXNoIGNoYW5nZWQgY29tcGFyZWQgdG8gX193ZWJwYWNrX2hhc2hfX1xuICogRm9yIFR1cmJvcGFjazogQWx3YXlzIHRydWUgYmVjYXVzZSBpdCBkb2Vzbid0IGhhdmUgX193ZWJwYWNrX2hhc2hfX1xuICovXG5mdW5jdGlvbiBpc1VwZGF0ZUF2YWlsYWJsZSgpIHtcbiAgaWYgKHByb2Nlc3MuZW52LlRVUkJPUEFDSykge1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvKiBnbG9iYWxzIF9fd2VicGFja19oYXNoX18gKi9cbiAgLy8gX193ZWJwYWNrX2hhc2hfXyBpcyB0aGUgaGFzaCBvZiB0aGUgY3VycmVudCBjb21waWxhdGlvbi5cbiAgLy8gSXQncyBhIGdsb2JhbCB2YXJpYWJsZSBpbmplY3RlZCBieSBXZWJwYWNrLlxuICByZXR1cm4gbW9zdFJlY2VudENvbXBpbGF0aW9uSGFzaCAhPT0gX193ZWJwYWNrX2hhc2hfX1xufVxuXG4vLyBXZWJwYWNrIGRpc2FsbG93cyB1cGRhdGVzIGluIG90aGVyIHN0YXRlcy5cbmZ1bmN0aW9uIGNhbkFwcGx5VXBkYXRlcygpIHtcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBtb2R1bGUuaG90IGV4aXN0c1xuICByZXR1cm4gbW9kdWxlLmhvdC5zdGF0dXMoKSA9PT0gJ2lkbGUnXG59XG5mdW5jdGlvbiBhZnRlckFwcGx5VXBkYXRlcyhmbjogYW55KSB7XG4gIGlmIChjYW5BcHBseVVwZGF0ZXMoKSkge1xuICAgIGZuKClcbiAgfSBlbHNlIHtcbiAgICBmdW5jdGlvbiBoYW5kbGVyKHN0YXR1czogYW55KSB7XG4gICAgICBpZiAoc3RhdHVzID09PSAnaWRsZScpIHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBtb2R1bGUuaG90IGV4aXN0c1xuICAgICAgICBtb2R1bGUuaG90LnJlbW92ZVN0YXR1c0hhbmRsZXIoaGFuZGxlcilcbiAgICAgICAgZm4oKVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIG1vZHVsZS5ob3QgZXhpc3RzXG4gICAgbW9kdWxlLmhvdC5hZGRTdGF0dXNIYW5kbGVyKGhhbmRsZXIpXG4gIH1cbn1cblxuZnVuY3Rpb24gcGVyZm9ybUZ1bGxSZWxvYWQoZXJyOiBhbnksIHNlbmRNZXNzYWdlOiBhbnkpIHtcbiAgY29uc3Qgc3RhY2tUcmFjZSA9XG4gICAgZXJyICYmXG4gICAgKChlcnIuc3RhY2sgJiYgZXJyLnN0YWNrLnNwbGl0KCdcXG4nKS5zbGljZSgwLCA1KS5qb2luKCdcXG4nKSkgfHxcbiAgICAgIGVyci5tZXNzYWdlIHx8XG4gICAgICBlcnIgKyAnJylcblxuICBzZW5kTWVzc2FnZShcbiAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBldmVudDogJ2NsaWVudC1mdWxsLXJlbG9hZCcsXG4gICAgICBzdGFja1RyYWNlLFxuICAgICAgaGFkUnVudGltZUVycm9yOiAhIVJ1bnRpbWVFcnJvckhhbmRsZXIuaGFkUnVudGltZUVycm9yLFxuICAgICAgZGVwZW5kZW5jeUNoYWluOiBlcnIgPyBlcnIuZGVwZW5kZW5jeUNoYWluIDogdW5kZWZpbmVkLFxuICAgIH0pXG4gIClcblxuICBpZiAocmVsb2FkaW5nKSByZXR1cm5cbiAgcmVsb2FkaW5nID0gdHJ1ZVxuICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKClcbn1cblxuLy8gQXR0ZW1wdCB0byB1cGRhdGUgY29kZSBvbiB0aGUgZmx5LCBmYWxsIGJhY2sgdG8gYSBoYXJkIHJlbG9hZC5cbmZ1bmN0aW9uIHRyeUFwcGx5VXBkYXRlcyhcbiAgb25CZWZvcmVVcGRhdGU6IChoYXNVcGRhdGVzOiBib29sZWFuKSA9PiB2b2lkLFxuICBvbkhvdFVwZGF0ZVN1Y2Nlc3M6ICh1cGRhdGVkTW9kdWxlczogc3RyaW5nW10pID0+IHZvaWQsXG4gIHNlbmRNZXNzYWdlOiBhbnksXG4gIGRpc3BhdGNoZXI6IERpc3BhdGNoZXJcbikge1xuICBpZiAoIWlzVXBkYXRlQXZhaWxhYmxlKCkgfHwgIWNhbkFwcGx5VXBkYXRlcygpKSB7XG4gICAgcmVzb2x2ZVBlbmRpbmdIb3RVcGRhdGVXZWJwYWNrKClcbiAgICBkaXNwYXRjaGVyLm9uQnVpbGRPaygpXG4gICAgcmVwb3J0SG1yTGF0ZW5jeShzZW5kTWVzc2FnZSwgW10pXG4gICAgcmV0dXJuXG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVBcHBseVVwZGF0ZXMoZXJyOiBhbnksIHVwZGF0ZWRNb2R1bGVzOiBzdHJpbmdbXSB8IG51bGwpIHtcbiAgICBpZiAoZXJyIHx8IFJ1bnRpbWVFcnJvckhhbmRsZXIuaGFkUnVudGltZUVycm9yIHx8ICF1cGRhdGVkTW9kdWxlcykge1xuICAgICAgaWYgKGVycikge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgJ1tGYXN0IFJlZnJlc2hdIHBlcmZvcm1pbmcgZnVsbCByZWxvYWRcXG5cXG4nICtcbiAgICAgICAgICAgIFwiRmFzdCBSZWZyZXNoIHdpbGwgcGVyZm9ybSBhIGZ1bGwgcmVsb2FkIHdoZW4geW91IGVkaXQgYSBmaWxlIHRoYXQncyBpbXBvcnRlZCBieSBtb2R1bGVzIG91dHNpZGUgb2YgdGhlIFJlYWN0IHJlbmRlcmluZyB0cmVlLlxcblwiICtcbiAgICAgICAgICAgICdZb3UgbWlnaHQgaGF2ZSBhIGZpbGUgd2hpY2ggZXhwb3J0cyBhIFJlYWN0IGNvbXBvbmVudCBidXQgYWxzbyBleHBvcnRzIGEgdmFsdWUgdGhhdCBpcyBpbXBvcnRlZCBieSBhIG5vbi1SZWFjdCBjb21wb25lbnQgZmlsZS5cXG4nICtcbiAgICAgICAgICAgICdDb25zaWRlciBtaWdyYXRpbmcgdGhlIG5vbi1SZWFjdCBjb21wb25lbnQgZXhwb3J0IHRvIGEgc2VwYXJhdGUgZmlsZSBhbmQgaW1wb3J0aW5nIGl0IGludG8gYm90aCBmaWxlcy5cXG5cXG4nICtcbiAgICAgICAgICAgICdJdCBpcyBhbHNvIHBvc3NpYmxlIHRoZSBwYXJlbnQgY29tcG9uZW50IG9mIHRoZSBjb21wb25lbnQgeW91IGVkaXRlZCBpcyBhIGNsYXNzIGNvbXBvbmVudCwgd2hpY2ggZGlzYWJsZXMgRmFzdCBSZWZyZXNoLlxcbicgK1xuICAgICAgICAgICAgJ0Zhc3QgUmVmcmVzaCByZXF1aXJlcyBhdCBsZWFzdCBvbmUgcGFyZW50IGZ1bmN0aW9uIGNvbXBvbmVudCBpbiB5b3VyIFJlYWN0IHRyZWUuJ1xuICAgICAgICApXG4gICAgICB9IGVsc2UgaWYgKFJ1bnRpbWVFcnJvckhhbmRsZXIuaGFkUnVudGltZUVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihSRUFDVF9SRUZSRVNIX0ZVTExfUkVMT0FEX0ZST01fRVJST1IpXG4gICAgICB9XG4gICAgICBwZXJmb3JtRnVsbFJlbG9hZChlcnIsIHNlbmRNZXNzYWdlKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgaGFzVXBkYXRlcyA9IEJvb2xlYW4odXBkYXRlZE1vZHVsZXMubGVuZ3RoKVxuICAgIGlmICh0eXBlb2Ygb25Ib3RVcGRhdGVTdWNjZXNzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBNYXliZSB3ZSB3YW50IHRvIGRvIHNvbWV0aGluZy5cbiAgICAgIG9uSG90VXBkYXRlU3VjY2Vzcyh1cGRhdGVkTW9kdWxlcylcbiAgICB9XG5cbiAgICBpZiAoaXNVcGRhdGVBdmFpbGFibGUoKSkge1xuICAgICAgLy8gV2hpbGUgd2Ugd2VyZSB1cGRhdGluZywgdGhlcmUgd2FzIGEgbmV3IHVwZGF0ZSEgRG8gaXQgYWdhaW4uXG4gICAgICB0cnlBcHBseVVwZGF0ZXMoXG4gICAgICAgIGhhc1VwZGF0ZXMgPyAoKSA9PiB7fSA6IG9uQmVmb3JlVXBkYXRlLFxuICAgICAgICBoYXNVcGRhdGVzID8gKCkgPT4gZGlzcGF0Y2hlci5vbkJ1aWxkT2soKSA6IG9uSG90VXBkYXRlU3VjY2VzcyxcbiAgICAgICAgc2VuZE1lc3NhZ2UsXG4gICAgICAgIGRpc3BhdGNoZXJcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgZGlzcGF0Y2hlci5vbkJ1aWxkT2soKVxuICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9URVNUX01PREUpIHtcbiAgICAgICAgYWZ0ZXJBcHBseVVwZGF0ZXMoKCkgPT4ge1xuICAgICAgICAgIGlmIChzZWxmLl9fTkVYVF9ITVJfQ0IpIHtcbiAgICAgICAgICAgIHNlbGYuX19ORVhUX0hNUl9DQigpXG4gICAgICAgICAgICBzZWxmLl9fTkVYVF9ITVJfQ0IgPSBudWxsXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGh0dHBzOi8vd2VicGFjay5qcy5vcmcvYXBpL2hvdC1tb2R1bGUtcmVwbGFjZW1lbnQvI2NoZWNrXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgbW9kdWxlLmhvdCBleGlzdHNcbiAgbW9kdWxlLmhvdFxuICAgIC5jaGVjaygvKiBhdXRvQXBwbHkgKi8gZmFsc2UpXG4gICAgLnRoZW4oKHVwZGF0ZWRNb2R1bGVzOiBhbnlbXSB8IG51bGwpID0+IHtcbiAgICAgIGlmICghdXBkYXRlZE1vZHVsZXMpIHtcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBvbkJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBjb25zdCBoYXNVcGRhdGVzID0gQm9vbGVhbih1cGRhdGVkTW9kdWxlcy5sZW5ndGgpXG4gICAgICAgIG9uQmVmb3JlVXBkYXRlKGhhc1VwZGF0ZXMpXG4gICAgICB9XG4gICAgICAvLyBodHRwczovL3dlYnBhY2suanMub3JnL2FwaS9ob3QtbW9kdWxlLXJlcGxhY2VtZW50LyNhcHBseVxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBtb2R1bGUuaG90IGV4aXN0c1xuICAgICAgcmV0dXJuIG1vZHVsZS5ob3QuYXBwbHkoKVxuICAgIH0pXG4gICAgLnRoZW4oXG4gICAgICAodXBkYXRlZE1vZHVsZXM6IGFueVtdIHwgbnVsbCkgPT4ge1xuICAgICAgICBoYW5kbGVBcHBseVVwZGF0ZXMobnVsbCwgdXBkYXRlZE1vZHVsZXMpXG4gICAgICB9LFxuICAgICAgKGVycjogYW55KSA9PiB7XG4gICAgICAgIGhhbmRsZUFwcGx5VXBkYXRlcyhlcnIsIG51bGwpXG4gICAgICB9XG4gICAgKVxufVxuXG4vKiogSGFuZGxlcyBtZXNzYWdlcyBmcm9tIHRoZSBzZXZyZXIgZm9yIHRoZSBBcHAgUm91dGVyLiAqL1xuZnVuY3Rpb24gcHJvY2Vzc01lc3NhZ2UoXG4gIG9iajogSE1SX0FDVElPTl9UWVBFUyxcbiAgc2VuZE1lc3NhZ2U6IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQsXG4gIHByb2Nlc3NUdXJib3BhY2tNZXNzYWdlOiAobXNnOiBUdXJib3BhY2tNc2dUb0Jyb3dzZXIpID0+IHZvaWQsXG4gIHJvdXRlcjogUmV0dXJuVHlwZTx0eXBlb2YgdXNlUm91dGVyPixcbiAgZGlzcGF0Y2hlcjogRGlzcGF0Y2hlcixcbiAgYXBwSXNyTWFuaWZlc3RSZWY6IFJldHVyblR5cGU8dHlwZW9mIHVzZVJlZj4sXG4gIHBhdGhuYW1lUmVmOiBSZXR1cm5UeXBlPHR5cGVvZiB1c2VSZWY+XG4pIHtcbiAgaWYgKCEoJ2FjdGlvbicgaW4gb2JqKSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlRXJyb3JzKGVycm9yczogUmVhZG9ubHlBcnJheTx1bmtub3duPikge1xuICAgIC8vIFwiTWFzc2FnZVwiIHdlYnBhY2sgbWVzc2FnZXMuXG4gICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0V2VicGFja01lc3NhZ2VzKHtcbiAgICAgIGVycm9yczogZXJyb3JzLFxuICAgICAgd2FybmluZ3M6IFtdLFxuICAgIH0pXG5cbiAgICAvLyBPbmx5IHNob3cgdGhlIGZpcnN0IGVycm9yLlxuICAgIGRpc3BhdGNoZXIub25CdWlsZEVycm9yKGZvcm1hdHRlZC5lcnJvcnNbMF0pXG5cbiAgICAvLyBBbHNvIGxvZyB0aGVtIHRvIHRoZSBjb25zb2xlLlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm9ybWF0dGVkLmVycm9ycy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc29sZS5lcnJvcihzdHJpcEFuc2koZm9ybWF0dGVkLmVycm9yc1tpXSkpXG4gICAgfVxuXG4gICAgLy8gRG8gbm90IGF0dGVtcHQgdG8gcmVsb2FkIG5vdy5cbiAgICAvLyBXZSB3aWxsIHJlbG9hZCBvbiBuZXh0IHN1Y2Nlc3MgaW5zdGVhZC5cbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX1RFU1RfTU9ERSkge1xuICAgICAgaWYgKHNlbGYuX19ORVhUX0hNUl9DQikge1xuICAgICAgICBzZWxmLl9fTkVYVF9ITVJfQ0IoZm9ybWF0dGVkLmVycm9yc1swXSlcbiAgICAgICAgc2VsZi5fX05FWFRfSE1SX0NCID0gbnVsbFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUhvdFVwZGF0ZSgpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuVFVSQk9QQUNLKSB7XG4gICAgICBkaXNwYXRjaGVyLm9uQnVpbGRPaygpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeUFwcGx5VXBkYXRlcyhcbiAgICAgICAgZnVuY3Rpb24gb25CZWZvcmVIb3RVcGRhdGUoaGFzVXBkYXRlczogYm9vbGVhbikge1xuICAgICAgICAgIGhhbmRsZUJlZm9yZUhvdFVwZGF0ZVdlYnBhY2soZGlzcGF0Y2hlciwgaGFzVXBkYXRlcylcbiAgICAgICAgfSxcbiAgICAgICAgZnVuY3Rpb24gb25TdWNjZXNzZnVsSG90VXBkYXRlKHdlYnBhY2tVcGRhdGVkTW9kdWxlczogc3RyaW5nW10pIHtcbiAgICAgICAgICAvLyBPbmx5IGRpc21pc3MgaXQgd2hlbiB3ZSdyZSBzdXJlIGl0J3MgYSBob3QgdXBkYXRlLlxuICAgICAgICAgIC8vIE90aGVyd2lzZSBpdCB3b3VsZCBmbGlja2VyIHJpZ2h0IGJlZm9yZSB0aGUgcmVsb2FkLlxuICAgICAgICAgIGhhbmRsZVN1Y2Nlc3NmdWxIb3RVcGRhdGVXZWJwYWNrKFxuICAgICAgICAgICAgZGlzcGF0Y2hlcixcbiAgICAgICAgICAgIHNlbmRNZXNzYWdlLFxuICAgICAgICAgICAgd2VicGFja1VwZGF0ZWRNb2R1bGVzXG4gICAgICAgICAgKVxuICAgICAgICB9LFxuICAgICAgICBzZW5kTWVzc2FnZSxcbiAgICAgICAgZGlzcGF0Y2hlclxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIHN3aXRjaCAob2JqLmFjdGlvbikge1xuICAgIGNhc2UgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLkFQUF9JU1JfTUFOSUZFU1Q6IHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfQVBQX0lTUl9JTkRJQ0FUT1IpIHtcbiAgICAgICAgaWYgKGFwcElzck1hbmlmZXN0UmVmKSB7XG4gICAgICAgICAgYXBwSXNyTWFuaWZlc3RSZWYuY3VycmVudCA9IG9iai5kYXRhXG5cbiAgICAgICAgICAvLyBoYW5kbGUgaW5pdGlhbCBzdGF0dXMgb24gcmVjZWl2aW5nIG1hbmlmZXN0XG4gICAgICAgICAgLy8gbmF2aWdhdGlvbiBpcyBoYW5kbGVkIGluIHVzZUVmZmVjdCBmb3IgcGF0aG5hbWUgY2hhbmdlc1xuICAgICAgICAgIC8vIGFzIHdlJ2xsIHJlY2VpdmUgdGhlIHVwZGF0ZWQgbWFuaWZlc3QgYmVmb3JlIHVzZVBhdGhuYW1lXG4gICAgICAgICAgLy8gdHJpZ2dlcnMgZm9yIG5ldyB2YWx1ZVxuICAgICAgICAgIGlmICgocGF0aG5hbWVSZWYuY3VycmVudCBhcyBzdHJpbmcpIGluIG9iai5kYXRhKSB7XG4gICAgICAgICAgICAvLyB0aGUgaW5kaWNhdG9yIGNhbiBiZSBoaWRkZW4gZm9yIGFuIGhvdXIuXG4gICAgICAgICAgICAvLyBjaGVjayBpZiBpdCdzIHN0aWxsIGhpZGRlblxuICAgICAgICAgICAgY29uc3QgaW5kaWNhdG9ySGlkZGVuQXQgPSBOdW1iZXIoXG4gICAgICAgICAgICAgIGxvY2FsU3RvcmFnZT8uZ2V0SXRlbSgnX19ORVhUX0RJU01JU1NfUFJFUkVOREVSX0lORElDQVRPUicpXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGNvbnN0IGlzSGlkZGVuID1cbiAgICAgICAgICAgICAgaW5kaWNhdG9ySGlkZGVuQXQgJiZcbiAgICAgICAgICAgICAgIWlzTmFOKGluZGljYXRvckhpZGRlbkF0KSAmJlxuICAgICAgICAgICAgICBEYXRlLm5vdygpIDwgaW5kaWNhdG9ySGlkZGVuQXRcblxuICAgICAgICAgICAgaWYgKCFpc0hpZGRlbikge1xuICAgICAgICAgICAgICBkaXNwYXRjaGVyLm9uU3RhdGljSW5kaWNhdG9yKHRydWUpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRpc3BhdGNoZXIub25TdGF0aWNJbmRpY2F0b3IoZmFsc2UpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBicmVha1xuICAgIH1cbiAgICBjYXNlIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5CVUlMRElORzoge1xuICAgICAgc3RhcnRMYXRlbmN5ID0gRGF0ZS5ub3coKVxuICAgICAgaWYgKCFwcm9jZXNzLmVudi5UVVJCT1BBQ0spIHtcbiAgICAgICAgc2V0UGVuZGluZ0hvdFVwZGF0ZVdlYnBhY2soKVxuICAgICAgfVxuICAgICAgY29uc29sZS5sb2coJ1tGYXN0IFJlZnJlc2hdIHJlYnVpbGRpbmcnKVxuICAgICAgYnJlYWtcbiAgICB9XG4gICAgY2FzZSBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuQlVJTFQ6XG4gICAgY2FzZSBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuU1lOQzoge1xuICAgICAgaWYgKG9iai5oYXNoKSB7XG4gICAgICAgIGhhbmRsZUF2YWlsYWJsZUhhc2gob2JqLmhhc2gpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgZXJyb3JzLCB3YXJuaW5ncyB9ID0gb2JqXG5cbiAgICAgIC8vIElzIHVuZGVmaW5lZCB3aGVuIGl0J3MgYSAnYnVpbHQnIGV2ZW50XG4gICAgICBpZiAoJ3ZlcnNpb25JbmZvJyBpbiBvYmopIGRpc3BhdGNoZXIub25WZXJzaW9uSW5mbyhvYmoudmVyc2lvbkluZm8pXG4gICAgICBpZiAoJ2RlYnVnJyBpbiBvYmogJiYgb2JqLmRlYnVnKSBkaXNwYXRjaGVyLm9uRGVidWdJbmZvKG9iai5kZWJ1ZylcblxuICAgICAgY29uc3QgaGFzRXJyb3JzID0gQm9vbGVhbihlcnJvcnMgJiYgZXJyb3JzLmxlbmd0aClcbiAgICAgIC8vIENvbXBpbGF0aW9uIHdpdGggZXJyb3JzIChlLmcuIHN5bnRheCBlcnJvciBvciBtaXNzaW5nIG1vZHVsZXMpLlxuICAgICAgaWYgKGhhc0Vycm9ycykge1xuICAgICAgICBzZW5kTWVzc2FnZShcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBldmVudDogJ2NsaWVudC1lcnJvcicsXG4gICAgICAgICAgICBlcnJvckNvdW50OiBlcnJvcnMubGVuZ3RoLFxuICAgICAgICAgICAgY2xpZW50SWQ6IF9fbmV4dERldkNsaWVudElkLFxuICAgICAgICAgIH0pXG4gICAgICAgIClcblxuICAgICAgICBoYW5kbGVFcnJvcnMoZXJyb3JzKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgaGFzV2FybmluZ3MgPSBCb29sZWFuKHdhcm5pbmdzICYmIHdhcm5pbmdzLmxlbmd0aClcbiAgICAgIGlmIChoYXNXYXJuaW5ncykge1xuICAgICAgICBzZW5kTWVzc2FnZShcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBldmVudDogJ2NsaWVudC13YXJuaW5nJyxcbiAgICAgICAgICAgIHdhcm5pbmdDb3VudDogd2FybmluZ3MubGVuZ3RoLFxuICAgICAgICAgICAgY2xpZW50SWQ6IF9fbmV4dERldkNsaWVudElkLFxuICAgICAgICAgIH0pXG4gICAgICAgIClcblxuICAgICAgICAvLyBQcmludCB3YXJuaW5ncyB0byB0aGUgY29uc29sZS5cbiAgICAgICAgY29uc3QgZm9ybWF0dGVkTWVzc2FnZXMgPSBmb3JtYXRXZWJwYWNrTWVzc2FnZXMoe1xuICAgICAgICAgIHdhcm5pbmdzOiB3YXJuaW5ncyxcbiAgICAgICAgICBlcnJvcnM6IFtdLFxuICAgICAgICB9KVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm9ybWF0dGVkTWVzc2FnZXMud2FybmluZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAoaSA9PT0gNSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAnVGhlcmUgd2VyZSBtb3JlIHdhcm5pbmdzIGluIG90aGVyIGZpbGVzLlxcbicgK1xuICAgICAgICAgICAgICAgICdZb3UgY2FuIGZpbmQgYSBjb21wbGV0ZSBsb2cgaW4gdGhlIHRlcm1pbmFsLidcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnNvbGUud2FybihzdHJpcEFuc2koZm9ybWF0dGVkTWVzc2FnZXMud2FybmluZ3NbaV0pKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTm8gZWFybHkgcmV0dXJuIGhlcmUgYXMgd2UgbmVlZCB0byBhcHBseSBtb2R1bGVzIGluIHRoZSBzYW1lIHdheSBiZXR3ZWVuIHdhcm5pbmdzIG9ubHkgYW5kIGNvbXBpbGVzIHdpdGhvdXQgd2FybmluZ3NcbiAgICAgIH1cblxuICAgICAgc2VuZE1lc3NhZ2UoXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBldmVudDogJ2NsaWVudC1zdWNjZXNzJyxcbiAgICAgICAgICBjbGllbnRJZDogX19uZXh0RGV2Q2xpZW50SWQsXG4gICAgICAgIH0pXG4gICAgICApXG5cbiAgICAgIGlmIChvYmouYWN0aW9uID09PSBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuQlVJTFQpIHtcbiAgICAgICAgLy8gSGFuZGxlIGhvdCB1cGRhdGVzXG4gICAgICAgIGhhbmRsZUhvdFVwZGF0ZSgpXG4gICAgICB9XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY2FzZSBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuVFVSQk9QQUNLX0NPTk5FQ1RFRDoge1xuICAgICAgcHJvY2Vzc1R1cmJvcGFja01lc3NhZ2Uoe1xuICAgICAgICB0eXBlOiBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuVFVSQk9QQUNLX0NPTk5FQ1RFRCxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHNlc3Npb25JZDogb2JqLmRhdGEuc2Vzc2lvbklkLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNhc2UgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLlRVUkJPUEFDS19NRVNTQUdFOiB7XG4gICAgICBjb25zdCB1cGRhdGVkTW9kdWxlcyA9IGV4dHJhY3RNb2R1bGVzRnJvbVR1cmJvcGFja01lc3NhZ2Uob2JqLmRhdGEpXG4gICAgICBkaXNwYXRjaGVyLm9uQmVmb3JlUmVmcmVzaCgpXG4gICAgICBwcm9jZXNzVHVyYm9wYWNrTWVzc2FnZSh7XG4gICAgICAgIHR5cGU6IEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5UVVJCT1BBQ0tfTUVTU0FHRSxcbiAgICAgICAgZGF0YTogb2JqLmRhdGEsXG4gICAgICB9KVxuICAgICAgZGlzcGF0Y2hlci5vblJlZnJlc2goKVxuICAgICAgaWYgKFJ1bnRpbWVFcnJvckhhbmRsZXIuaGFkUnVudGltZUVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihSRUFDVF9SRUZSRVNIX0ZVTExfUkVMT0FEX0ZST01fRVJST1IpXG4gICAgICAgIHBlcmZvcm1GdWxsUmVsb2FkKG51bGwsIHNlbmRNZXNzYWdlKVxuICAgICAgfVxuICAgICAgcmVwb3J0SG1yTGF0ZW5jeShzZW5kTWVzc2FnZSwgdXBkYXRlZE1vZHVsZXMpXG4gICAgICBicmVha1xuICAgIH1cbiAgICAvLyBUT0RPLUFQUDogbWFrZSBzZXJ2ZXIgY29tcG9uZW50IGNoYW5nZSBtb3JlIGdyYW51bGFyXG4gICAgY2FzZSBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuU0VSVkVSX0NPTVBPTkVOVF9DSEFOR0VTOiB7XG4gICAgICBzZW5kTWVzc2FnZShcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGV2ZW50OiAnc2VydmVyLWNvbXBvbmVudC1yZWxvYWQtcGFnZScsXG4gICAgICAgICAgY2xpZW50SWQ6IF9fbmV4dERldkNsaWVudElkLFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgaWYgKFJ1bnRpbWVFcnJvckhhbmRsZXIuaGFkUnVudGltZUVycm9yKSB7XG4gICAgICAgIGlmIChyZWxvYWRpbmcpIHJldHVyblxuICAgICAgICByZWxvYWRpbmcgPSB0cnVlXG4gICAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ucmVsb2FkKClcbiAgICAgIH1cbiAgICAgIHN0YXJ0VHJhbnNpdGlvbigoKSA9PiB7XG4gICAgICAgIHJvdXRlci5obXJSZWZyZXNoKClcbiAgICAgICAgZGlzcGF0Y2hlci5vblJlZnJlc2goKVxuICAgICAgfSlcblxuICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9URVNUX01PREUpIHtcbiAgICAgICAgaWYgKHNlbGYuX19ORVhUX0hNUl9DQikge1xuICAgICAgICAgIHNlbGYuX19ORVhUX0hNUl9DQigpXG4gICAgICAgICAgc2VsZi5fX05FWFRfSE1SX0NCID0gbnVsbFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjYXNlIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5SRUxPQURfUEFHRToge1xuICAgICAgc2VuZE1lc3NhZ2UoXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBldmVudDogJ2NsaWVudC1yZWxvYWQtcGFnZScsXG4gICAgICAgICAgY2xpZW50SWQ6IF9fbmV4dERldkNsaWVudElkLFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgaWYgKHJlbG9hZGluZykgcmV0dXJuXG4gICAgICByZWxvYWRpbmcgPSB0cnVlXG4gICAgICByZXR1cm4gd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpXG4gICAgfVxuICAgIGNhc2UgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLkFEREVEX1BBR0U6XG4gICAgY2FzZSBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuUkVNT1ZFRF9QQUdFOiB7XG4gICAgICAvLyBUT0RPLUFQUDogcG90ZW50aWFsbHkgb25seSByZWZyZXNoIGlmIHRoZSBjdXJyZW50bHkgdmlld2VkIHBhZ2Ugd2FzIGFkZGVkL3JlbW92ZWQuXG4gICAgICByZXR1cm4gcm91dGVyLmhtclJlZnJlc2goKVxuICAgIH1cbiAgICBjYXNlIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5TRVJWRVJfRVJST1I6IHtcbiAgICAgIGNvbnN0IHsgZXJyb3JKU09OIH0gPSBvYmpcbiAgICAgIGlmIChlcnJvckpTT04pIHtcbiAgICAgICAgY29uc3QgeyBtZXNzYWdlLCBzdGFjayB9ID0gSlNPTi5wYXJzZShlcnJvckpTT04pXG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKG1lc3NhZ2UpXG4gICAgICAgIGVycm9yLnN0YWNrID0gc3RhY2tcbiAgICAgICAgaGFuZGxlRXJyb3JzKFtlcnJvcl0pXG4gICAgICB9XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY2FzZSBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuREVWX1BBR0VTX01BTklGRVNUX1VQREFURToge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSG90UmVsb2FkKHtcbiAgYXNzZXRQcmVmaXgsXG4gIGNoaWxkcmVuLFxufToge1xuICBhc3NldFByZWZpeDogc3RyaW5nXG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlXG59KSB7XG4gIGNvbnN0IFtzdGF0ZSwgZGlzcGF0Y2hdID0gdXNlRXJyb3JPdmVybGF5UmVkdWNlcigpXG5cbiAgY29uc3QgZGlzcGF0Y2hlciA9IHVzZU1lbW88RGlzcGF0Y2hlcj4oKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBvbkJ1aWxkT2soKSB7XG4gICAgICAgIGRpc3BhdGNoKHsgdHlwZTogQUNUSU9OX0JVSUxEX09LIH0pXG4gICAgICB9LFxuICAgICAgb25CdWlsZEVycm9yKG1lc3NhZ2UpIHtcbiAgICAgICAgZGlzcGF0Y2goeyB0eXBlOiBBQ1RJT05fQlVJTERfRVJST1IsIG1lc3NhZ2UgfSlcbiAgICAgIH0sXG4gICAgICBvbkJlZm9yZVJlZnJlc2goKSB7XG4gICAgICAgIGRpc3BhdGNoKHsgdHlwZTogQUNUSU9OX0JFRk9SRV9SRUZSRVNIIH0pXG4gICAgICB9LFxuICAgICAgb25SZWZyZXNoKCkge1xuICAgICAgICBkaXNwYXRjaCh7IHR5cGU6IEFDVElPTl9SRUZSRVNIIH0pXG4gICAgICB9LFxuICAgICAgb25WZXJzaW9uSW5mbyh2ZXJzaW9uSW5mbykge1xuICAgICAgICBkaXNwYXRjaCh7IHR5cGU6IEFDVElPTl9WRVJTSU9OX0lORk8sIHZlcnNpb25JbmZvIH0pXG4gICAgICB9LFxuICAgICAgb25TdGF0aWNJbmRpY2F0b3Ioc3RhdHVzOiBib29sZWFuKSB7XG4gICAgICAgIGRpc3BhdGNoKHsgdHlwZTogQUNUSU9OX1NUQVRJQ19JTkRJQ0FUT1IsIHN0YXRpY0luZGljYXRvcjogc3RhdHVzIH0pXG4gICAgICB9LFxuICAgICAgb25EZWJ1Z0luZm8oZGVidWdJbmZvKSB7XG4gICAgICAgIGRpc3BhdGNoKHsgdHlwZTogQUNUSU9OX0RFQlVHX0lORk8sIGRlYnVnSW5mbyB9KVxuICAgICAgfSxcbiAgICB9XG4gIH0sIFtkaXNwYXRjaF0pXG5cbiAgY29uc3QgaGFuZGxlT25VbmhhbmRsZWRFcnJvciA9IHVzZUNhbGxiYWNrKFxuICAgIChlcnJvcjogRXJyb3IpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IGVycm9yRGV0YWlscyA9IChlcnJvciBhcyBhbnkpLmRldGFpbHMgYXNcbiAgICAgICAgfCBIeWRyYXRpb25FcnJvclN0YXRlXG4gICAgICAgIHwgdW5kZWZpbmVkXG4gICAgICAvLyBDb21wb25lbnQgc3RhY2sgaXMgYWRkZWQgdG8gdGhlIGVycm9yIGluIHVzZS1lcnJvci1oYW5kbGVyIGluIGNhc2UgdGhlcmUgd2FzIGEgaHlkcmF0aW9uIGVycm9yXG4gICAgICBjb25zdCBjb21wb25lbnRTdGFja1RyYWNlID1cbiAgICAgICAgKGVycm9yIGFzIGFueSkuX2NvbXBvbmVudFN0YWNrIHx8IGVycm9yRGV0YWlscz8uY29tcG9uZW50U3RhY2tcbiAgICAgIGNvbnN0IHdhcm5pbmcgPSBlcnJvckRldGFpbHM/Lndhcm5pbmdcbiAgICAgIGNvbnN0IHN0aXRjaGVkRXJyb3IgPSBnZXRSZWFjdFN0aXRjaGVkRXJyb3IoZXJyb3IpXG5cbiAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgdHlwZTogQUNUSU9OX1VOSEFORExFRF9FUlJPUixcbiAgICAgICAgcmVhc29uOiBzdGl0Y2hlZEVycm9yLFxuICAgICAgICBmcmFtZXM6IHBhcnNlU3RhY2soc3RpdGNoZWRFcnJvci5zdGFjayB8fCAnJyksXG4gICAgICAgIGNvbXBvbmVudFN0YWNrRnJhbWVzOlxuICAgICAgICAgIHR5cGVvZiBjb21wb25lbnRTdGFja1RyYWNlID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyBwYXJzZUNvbXBvbmVudFN0YWNrKGNvbXBvbmVudFN0YWNrVHJhY2UpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgd2FybmluZyxcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbZGlzcGF0Y2hdXG4gIClcblxuICBjb25zdCBoYW5kbGVPblVuaGFuZGxlZFJlamVjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChyZWFzb246IEVycm9yKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBzdGl0Y2hlZEVycm9yID0gZ2V0UmVhY3RTdGl0Y2hlZEVycm9yKHJlYXNvbilcbiAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgdHlwZTogQUNUSU9OX1VOSEFORExFRF9SRUpFQ1RJT04sXG4gICAgICAgIHJlYXNvbjogc3RpdGNoZWRFcnJvcixcbiAgICAgICAgZnJhbWVzOiBwYXJzZVN0YWNrKHN0aXRjaGVkRXJyb3Iuc3RhY2sgfHwgJycpLFxuICAgICAgfSlcbiAgICB9LFxuICAgIFtkaXNwYXRjaF1cbiAgKVxuICB1c2VFcnJvckhhbmRsZXIoaGFuZGxlT25VbmhhbmRsZWRFcnJvciwgaGFuZGxlT25VbmhhbmRsZWRSZWplY3Rpb24pXG5cbiAgY29uc3Qgd2ViU29ja2V0UmVmID0gdXNlV2Vic29ja2V0KGFzc2V0UHJlZml4KVxuICB1c2VXZWJzb2NrZXRQaW5nKHdlYlNvY2tldFJlZilcbiAgY29uc3Qgc2VuZE1lc3NhZ2UgPSB1c2VTZW5kTWVzc2FnZSh3ZWJTb2NrZXRSZWYpXG4gIGNvbnN0IHByb2Nlc3NUdXJib3BhY2tNZXNzYWdlID0gdXNlVHVyYm9wYWNrKHNlbmRNZXNzYWdlLCAoZXJyKSA9PlxuICAgIHBlcmZvcm1GdWxsUmVsb2FkKGVyciwgc2VuZE1lc3NhZ2UpXG4gIClcblxuICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxuXG4gIC8vIFdlIGRvbid0IHdhbnQgYWNjZXNzIG9mIHRoZSBwYXRobmFtZSBmb3IgdGhlIGRldiB0b29scyB0byB0cmlnZ2VyIGEgZHluYW1pY1xuICAvLyBhY2Nlc3MgKGFzIHRoZSBkZXYgb3ZlcmxheSB3aWxsIG5ldmVyIGJlIHByZXNlbnQgaW4gcHJvZHVjdGlvbikuXG4gIGNvbnN0IHBhdGhuYW1lID0gdXNlVW50cmFja2VkUGF0aG5hbWUoKVxuICBjb25zdCBhcHBJc3JNYW5pZmVzdFJlZiA9IHVzZVJlZjxSZWNvcmQ8c3RyaW5nLCBmYWxzZSB8IG51bWJlcj4+KHt9KVxuICBjb25zdCBwYXRobmFtZVJlZiA9IHVzZVJlZihwYXRobmFtZSlcblxuICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0FQUF9JU1JfSU5ESUNBVE9SKSB7XG4gICAgLy8gdGhpcyBjb25kaXRpb25hbCBpcyBvbmx5IGZvciBkZWFkLWNvZGUgZWxpbWluYXRpb24gd2hpY2hcbiAgICAvLyBpc24ndCBhIHJ1bnRpbWUgY29uZGl0aW9uYWwgb25seSBidWlsZC10aW1lIHNvIGlnbm9yZSBob29rcyBydWxlXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIHBhdGhuYW1lUmVmLmN1cnJlbnQgPSBwYXRobmFtZVxuXG4gICAgICBjb25zdCBhcHBJc3JNYW5pZmVzdCA9IGFwcElzck1hbmlmZXN0UmVmLmN1cnJlbnRcblxuICAgICAgaWYgKGFwcElzck1hbmlmZXN0KSB7XG4gICAgICAgIGlmIChwYXRobmFtZSAmJiBwYXRobmFtZSBpbiBhcHBJc3JNYW5pZmVzdCkge1xuICAgICAgICAgIGNvbnN0IGluZGljYXRvckhpZGRlbkF0ID0gTnVtYmVyKFxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlPy5nZXRJdGVtKCdfX05FWFRfRElTTUlTU19QUkVSRU5ERVJfSU5ESUNBVE9SJylcbiAgICAgICAgICApXG5cbiAgICAgICAgICBjb25zdCBpc0hpZGRlbiA9XG4gICAgICAgICAgICBpbmRpY2F0b3JIaWRkZW5BdCAmJlxuICAgICAgICAgICAgIWlzTmFOKGluZGljYXRvckhpZGRlbkF0KSAmJlxuICAgICAgICAgICAgRGF0ZS5ub3coKSA8IGluZGljYXRvckhpZGRlbkF0XG5cbiAgICAgICAgICBpZiAoIWlzSGlkZGVuKSB7XG4gICAgICAgICAgICBkaXNwYXRjaGVyLm9uU3RhdGljSW5kaWNhdG9yKHRydWUpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRpc3BhdGNoZXIub25TdGF0aWNJbmRpY2F0b3IoZmFsc2UpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbcGF0aG5hbWUsIGRpc3BhdGNoZXJdKVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB3ZWJzb2NrZXQgPSB3ZWJTb2NrZXRSZWYuY3VycmVudFxuICAgIGlmICghd2Vic29ja2V0KSByZXR1cm5cblxuICAgIGNvbnN0IGhhbmRsZXIgPSAoZXZlbnQ6IE1lc3NhZ2VFdmVudDxhbnk+KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBvYmogPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpXG4gICAgICAgIHByb2Nlc3NNZXNzYWdlKFxuICAgICAgICAgIG9iaixcbiAgICAgICAgICBzZW5kTWVzc2FnZSxcbiAgICAgICAgICBwcm9jZXNzVHVyYm9wYWNrTWVzc2FnZSxcbiAgICAgICAgICByb3V0ZXIsXG4gICAgICAgICAgZGlzcGF0Y2hlcixcbiAgICAgICAgICBhcHBJc3JNYW5pZmVzdFJlZixcbiAgICAgICAgICBwYXRobmFtZVJlZlxuICAgICAgICApXG4gICAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgJ1tITVJdIEludmFsaWQgbWVzc2FnZTogJyArXG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeShldmVudC5kYXRhKSArXG4gICAgICAgICAgICAnXFxuJyArXG4gICAgICAgICAgICAoZXJyPy5zdGFjayA/PyAnJylcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cblxuICAgIHdlYnNvY2tldC5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgaGFuZGxlcilcbiAgICByZXR1cm4gKCkgPT4gd2Vic29ja2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBoYW5kbGVyKVxuICB9LCBbXG4gICAgc2VuZE1lc3NhZ2UsXG4gICAgcm91dGVyLFxuICAgIHdlYlNvY2tldFJlZixcbiAgICBkaXNwYXRjaGVyLFxuICAgIHByb2Nlc3NUdXJib3BhY2tNZXNzYWdlLFxuICAgIGFwcElzck1hbmlmZXN0UmVmLFxuICBdKVxuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0RGV2T3ZlcmxheSBzdGF0ZT17c3RhdGV9IGRpc3BhdGNoZXI9e2Rpc3BhdGNoZXJ9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvUmVhY3REZXZPdmVybGF5PlxuICApXG59XG4iXSwibmFtZXMiOlsiSG90UmVsb2FkIiwid2FpdEZvcldlYnBhY2tSdW50aW1lSG90VXBkYXRlIiwibW9zdFJlY2VudENvbXBpbGF0aW9uSGFzaCIsIl9fbmV4dERldkNsaWVudElkIiwiTWF0aCIsInJvdW5kIiwicmFuZG9tIiwiRGF0ZSIsIm5vdyIsInJlbG9hZGluZyIsInN0YXJ0TGF0ZW5jeSIsInBlbmRpbmdIb3RVcGRhdGVXZWJwYWNrIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZXNvbHZlUGVuZGluZ0hvdFVwZGF0ZVdlYnBhY2siLCJzZXRQZW5kaW5nSG90VXBkYXRlV2VicGFjayIsImhhbmRsZUJlZm9yZUhvdFVwZGF0ZVdlYnBhY2siLCJkaXNwYXRjaGVyIiwiaGFzVXBkYXRlcyIsIm9uQmVmb3JlUmVmcmVzaCIsImhhbmRsZVN1Y2Nlc3NmdWxIb3RVcGRhdGVXZWJwYWNrIiwic2VuZE1lc3NhZ2UiLCJ1cGRhdGVkTW9kdWxlcyIsIm9uQnVpbGRPayIsInJlcG9ydEhtckxhdGVuY3kiLCJvblJlZnJlc2giLCJlbmRMYXRlbmN5IiwibGF0ZW5jeSIsImNvbnNvbGUiLCJsb2ciLCJKU09OIiwic3RyaW5naWZ5IiwiZXZlbnQiLCJpZCIsIndpbmRvdyIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJwYWdlIiwibG9jYXRpb24iLCJwYXRobmFtZSIsImlzUGFnZUhpZGRlbiIsImRvY3VtZW50IiwidmlzaWJpbGl0eVN0YXRlIiwiaGFuZGxlQXZhaWxhYmxlSGFzaCIsImhhc2giLCJpc1VwZGF0ZUF2YWlsYWJsZSIsInByb2Nlc3MiLCJlbnYiLCJUVVJCT1BBQ0siLCJfX3dlYnBhY2tfaGFzaF9fIiwiY2FuQXBwbHlVcGRhdGVzIiwibW9kdWxlIiwiaG90Iiwic3RhdHVzIiwiYWZ0ZXJBcHBseVVwZGF0ZXMiLCJmbiIsImhhbmRsZXIiLCJyZW1vdmVTdGF0dXNIYW5kbGVyIiwiYWRkU3RhdHVzSGFuZGxlciIsInBlcmZvcm1GdWxsUmVsb2FkIiwiZXJyIiwic3RhY2tUcmFjZSIsInN0YWNrIiwic3BsaXQiLCJzbGljZSIsImpvaW4iLCJtZXNzYWdlIiwiaGFkUnVudGltZUVycm9yIiwiUnVudGltZUVycm9ySGFuZGxlciIsImRlcGVuZGVuY3lDaGFpbiIsInVuZGVmaW5lZCIsInJlbG9hZCIsInRyeUFwcGx5VXBkYXRlcyIsIm9uQmVmb3JlVXBkYXRlIiwib25Ib3RVcGRhdGVTdWNjZXNzIiwiaGFuZGxlQXBwbHlVcGRhdGVzIiwid2FybiIsIlJFQUNUX1JFRlJFU0hfRlVMTF9SRUxPQURfRlJPTV9FUlJPUiIsIkJvb2xlYW4iLCJsZW5ndGgiLCJfX05FWFRfVEVTVF9NT0RFIiwic2VsZiIsIl9fTkVYVF9ITVJfQ0IiLCJjaGVjayIsInRoZW4iLCJhcHBseSIsInByb2Nlc3NNZXNzYWdlIiwib2JqIiwicHJvY2Vzc1R1cmJvcGFja01lc3NhZ2UiLCJyb3V0ZXIiLCJhcHBJc3JNYW5pZmVzdFJlZiIsInBhdGhuYW1lUmVmIiwiaGFuZGxlRXJyb3JzIiwiZXJyb3JzIiwiZm9ybWF0dGVkIiwiZm9ybWF0V2VicGFja01lc3NhZ2VzIiwid2FybmluZ3MiLCJvbkJ1aWxkRXJyb3IiLCJpIiwiZXJyb3IiLCJzdHJpcEFuc2kiLCJoYW5kbGVIb3RVcGRhdGUiLCJvbkJlZm9yZUhvdFVwZGF0ZSIsIm9uU3VjY2Vzc2Z1bEhvdFVwZGF0ZSIsIndlYnBhY2tVcGRhdGVkTW9kdWxlcyIsImFjdGlvbiIsIkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUiIsIkFQUF9JU1JfTUFOSUZFU1QiLCJfX05FWFRfQVBQX0lTUl9JTkRJQ0FUT1IiLCJjdXJyZW50IiwiZGF0YSIsImxvY2FsU3RvcmFnZSIsImluZGljYXRvckhpZGRlbkF0IiwiTnVtYmVyIiwiZ2V0SXRlbSIsImlzSGlkZGVuIiwiaXNOYU4iLCJvblN0YXRpY0luZGljYXRvciIsIkJVSUxESU5HIiwiQlVJTFQiLCJTWU5DIiwib25WZXJzaW9uSW5mbyIsInZlcnNpb25JbmZvIiwiZGVidWciLCJvbkRlYnVnSW5mbyIsImhhc0Vycm9ycyIsImVycm9yQ291bnQiLCJjbGllbnRJZCIsImhhc1dhcm5pbmdzIiwid2FybmluZ0NvdW50IiwiZm9ybWF0dGVkTWVzc2FnZXMiLCJUVVJCT1BBQ0tfQ09OTkVDVEVEIiwidHlwZSIsInNlc3Npb25JZCIsIlRVUkJPUEFDS19NRVNTQUdFIiwiZXh0cmFjdE1vZHVsZXNGcm9tVHVyYm9wYWNrTWVzc2FnZSIsIlNFUlZFUl9DT01QT05FTlRfQ0hBTkdFUyIsInN0YXJ0VHJhbnNpdGlvbiIsImhtclJlZnJlc2giLCJSRUxPQURfUEFHRSIsIkFEREVEX1BBR0UiLCJSRU1PVkVEX1BBR0UiLCJTRVJWRVJfRVJST1IiLCJlcnJvckpTT04iLCJwYXJzZSIsIkVycm9yIiwiREVWX1BBR0VTX01BTklGRVNUX1VQREFURSIsImFzc2V0UHJlZml4IiwiY2hpbGRyZW4iLCJzdGF0ZSIsImRpc3BhdGNoIiwidXNlRXJyb3JPdmVybGF5UmVkdWNlciIsInVzZU1lbW8iLCJBQ1RJT05fQlVJTERfT0siLCJBQ1RJT05fQlVJTERfRVJST1IiLCJBQ1RJT05fQkVGT1JFX1JFRlJFU0giLCJBQ1RJT05fUkVGUkVTSCIsIkFDVElPTl9WRVJTSU9OX0lORk8iLCJBQ1RJT05fU1RBVElDX0lORElDQVRPUiIsInN0YXRpY0luZGljYXRvciIsImRlYnVnSW5mbyIsIkFDVElPTl9ERUJVR19JTkZPIiwiaGFuZGxlT25VbmhhbmRsZWRFcnJvciIsInVzZUNhbGxiYWNrIiwiZXJyb3JEZXRhaWxzIiwiZGV0YWlscyIsImNvbXBvbmVudFN0YWNrVHJhY2UiLCJfY29tcG9uZW50U3RhY2siLCJjb21wb25lbnRTdGFjayIsIndhcm5pbmciLCJzdGl0Y2hlZEVycm9yIiwiZ2V0UmVhY3RTdGl0Y2hlZEVycm9yIiwiQUNUSU9OX1VOSEFORExFRF9FUlJPUiIsInJlYXNvbiIsImZyYW1lcyIsInBhcnNlU3RhY2siLCJjb21wb25lbnRTdGFja0ZyYW1lcyIsInBhcnNlQ29tcG9uZW50U3RhY2siLCJoYW5kbGVPblVuaGFuZGxlZFJlamVjdGlvbiIsIkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OIiwidXNlRXJyb3JIYW5kbGVyIiwid2ViU29ja2V0UmVmIiwidXNlV2Vic29ja2V0IiwidXNlV2Vic29ja2V0UGluZyIsInVzZVNlbmRNZXNzYWdlIiwidXNlVHVyYm9wYWNrIiwidXNlUm91dGVyIiwidXNlVW50cmFja2VkUGF0aG5hbWUiLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJhcHBJc3JNYW5pZmVzdCIsIndlYnNvY2tldCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiUmVhY3REZXZPdmVybGF5Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.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/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/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 _hotlinkedtext = __webpack_require__(/*! ../hot-linked-text */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.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 \"CodeFrame.useMemo[formattedFrame]\": ()=>{\n const lines = codeFrame.split(/\\r?\\n/g);\n // Find the minimum length of leading spaces after `|` in the code frame\n const miniLeadingSpacesLength = lines.map({\n \"CodeFrame.useMemo[formattedFrame].miniLeadingSpacesLength\": (line)=>/^>? +\\d+ +\\| [ ]+/.exec((0, _stripansi.default)(line)) === null ? null : /^>? +\\d+ +\\| ( *)/.exec((0, _stripansi.default)(line))\n }[\"CodeFrame.useMemo[formattedFrame].miniLeadingSpacesLength\"]).filter(Boolean).map({\n \"CodeFrame.useMemo[formattedFrame].miniLeadingSpacesLength\": (v)=>v.pop()\n }[\"CodeFrame.useMemo[formattedFrame].miniLeadingSpacesLength\"]).reduce({\n \"CodeFrame.useMemo[formattedFrame].miniLeadingSpacesLength\": (c, n)=>isNaN(c) ? n.length : Math.min(c, n.length)\n }[\"CodeFrame.useMemo[formattedFrame].miniLeadingSpacesLength\"], NaN);\n // When the minimum length of leading spaces is greater than 1, remove them\n // from the code frame to help the indentation looks better when there's a lot leading spaces.\n if (miniLeadingSpacesLength > 1) {\n return lines.map({\n \"CodeFrame.useMemo[formattedFrame]\": (line, a)=>~(a = line.indexOf('|')) ? line.substring(0, a) + line.substring(a).replace(\"^\\\\ {\" + miniLeadingSpacesLength + \"}\", '') : line\n }[\"CodeFrame.useMemo[formattedFrame]\"]).join('\\n');\n }\n return lines.join('\\n');\n }\n }[\"CodeFrame.useMemo[formattedFrame]\"], [\n codeFrame\n ]);\n const decoded = _react.useMemo({\n \"CodeFrame.useMemo[decoded]\": ()=>{\n return _anser.default.ansiToJson(formattedFrame, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }\n }[\"CodeFrame.useMemo[decoded]\"], [\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 ' ',\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: stackFrame.methodName\n })\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL0NvZGVGcmFtZS5qcyIsIm1hcHBpbmdzIjoiOzs7OzZDQVVhQTs7O2VBQUFBOzs7Ozs7NEVBVks7NkVBQ0s7Z0ZBRUQ7d0NBQ1M7NkNBQ0M7MkNBQ0Y7QUFJdkIsTUFBTUEsWUFBc0MsU0FBU0EsVUFBVSxLQUdyRTtJQUhxRSxNQUNwRUMsVUFBVSxFQUNWQyxTQUFTLEVBQ1YsR0FIcUU7SUFJcEUsOENBQThDO0lBQzlDLE1BQU1DLGlCQUFpQkMsT0FBTUMsT0FBTzs2Q0FBUztZQUMzQyxNQUFNQyxRQUFRSixVQUFVSyxLQUFLLENBQUM7WUFFOUIsd0VBQXdFO1lBQ3hFLE1BQU1DLDBCQUEwQkYsTUFDN0JHLEdBQUc7NkVBQUMsQ0FBQ0MsT0FDSixvQkFBb0JDLElBQUksQ0FBQ0MsQ0FBQUEsR0FBQUEsV0FBQUEsT0FBQUEsRUFBVUYsV0FBVyxPQUMxQyxPQUNBLG9CQUFvQkMsSUFBSSxDQUFDQyxDQUFBQSxHQUFBQSxXQUFBQSxPQUFBQSxFQUFVRjs0RUFFeENHLE1BQU0sQ0FBQ0MsU0FDUEwsR0FBRzs2RUFBQyxDQUFDTSxJQUFNQSxFQUFHQyxHQUFHOzRFQUNqQkMsTUFBTTs2RUFBQyxDQUFDQyxHQUFHQyxJQUFPQyxNQUFNRixLQUFLQyxFQUFFRSxNQUFNLEdBQUdDLEtBQUtDLEdBQUcsQ0FBQ0wsR0FBR0MsRUFBRUUsTUFBTTs0RUFBSUc7WUFFbkUsMkVBQTJFO1lBQzNFLDhGQUE4RjtZQUM5RixJQUFJaEIsMEJBQTBCLEdBQUc7Z0JBQy9CLE9BQU9GLE1BQ0pHLEdBQUc7eURBQUMsQ0FBQ0MsTUFBTWUsSUFDVixDQUFFQSxDQUFBQSxJQUFJZixLQUFLZ0IsT0FBTyxDQUFDLEtBQUcsR0FDbEJoQixLQUFLaUIsU0FBUyxDQUFDLEdBQUdGLEtBQ2xCZixLQUFLaUIsU0FBUyxDQUFDRixHQUFHRyxPQUFPLENBQUUsVUFBT3BCLDBCQUF3QixLQUFJLE1BQzlERTt3REFFTG1CLElBQUksQ0FBQztZQUNWO1lBQ0EsT0FBT3ZCLE1BQU11QixJQUFJLENBQUM7UUFDcEI7NENBQUc7UUFBQzNCO0tBQVU7SUFFZCxNQUFNNEIsVUFBVTFCLE9BQU1DLE9BQU87c0NBQUM7WUFDNUIsT0FBTzBCLE9BQUFBLE9BQUssQ0FBQ0MsVUFBVSxDQUFDN0IsZ0JBQWdCO2dCQUN0QzhCLE1BQU07Z0JBQ05DLGFBQWE7Z0JBQ2JDLGNBQWM7WUFDaEI7UUFDRjtxQ0FBRztRQUFDaEM7S0FBZTtJQUVuQixNQUFNaUMsT0FBT0MsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQUFBLEVBQWdCO1FBQzNCQyxNQUFNckMsV0FBV3FDLElBQUk7UUFDckJDLFlBQVl0QyxXQUFXc0MsVUFBVTtRQUNqQ0MsUUFBUXZDLFdBQVd1QyxNQUFNO0lBQzNCO0lBRUEsZ0NBQWdDO0lBQ2hDLHFCQUNFLHNCQUFDQyxPQUFBQTtRQUFJQyx1QkFBcUI7OzBCQUN4QixxQkFBQ0QsT0FBQUE7MEJBQ0Msb0NBQUNFLEtBQUFBO29CQUNDQyxNQUFLO29CQUNMQyxTQUFTVDtvQkFDVFUsVUFBVTtvQkFDVkMsT0FBTTs7c0NBRU4sc0JBQUNDLFFBQUFBOztnQ0FDRUMsQ0FBQUEsR0FBQUEsWUFBQUEsY0FBQUEsRUFBZWhEO2dDQUFZO2dDQUFHOzhDQUMvQixxQkFBQ2lELGVBQUFBLGFBQWE7b0NBQUNDLE1BQU1sRCxXQUFXbUQsVUFBVTs7OztzQ0FFNUMsc0JBQUNDLE9BQUFBOzRCQUNDQyxPQUFNOzRCQUNOQyxTQUFROzRCQUNSQyxNQUFLOzRCQUNMQyxRQUFPOzRCQUNQQyxhQUFZOzRCQUNaQyxlQUFjOzRCQUNkQyxnQkFBZTs7OENBRWYscUJBQUNDLFFBQUFBO29DQUFLQyxHQUFFOzs4Q0FDUixxQkFBQ0MsWUFBQUE7b0NBQVNDLFFBQU87OzhDQUNqQixxQkFBQ3RELFFBQUFBO29DQUFLdUQsSUFBRztvQ0FBS0MsSUFBRztvQ0FBS0MsSUFBRztvQ0FBS0MsSUFBRzs7Ozs7OzswQkFJdkMscUJBQUNDLE9BQUFBOzBCQUNFdkMsUUFBUXJCLEdBQUcsQ0FBQyxDQUFDNkQsT0FBT0MsUUFBQUEsV0FBQUEsR0FDbkIscUJBQUN2QixRQUFBQTt3QkFFQ3dCLE9BQU87NEJBQ0xDLE9BQU9ILE1BQU1JLEVBQUUsR0FBSSxpQkFBY0osTUFBTUksRUFBRSxHQUFDLE1BQUtDOzRCQUMvQyxHQUFJTCxNQUFNTSxVQUFVLEtBQUssU0FDckI7Z0NBQUVDLFlBQVk7NEJBQUksSUFDbEJQLE1BQU1NLFVBQVUsS0FBSyxXQUNuQjtnQ0FBRUUsV0FBVzs0QkFBUyxJQUN0QkgsU0FBUzt3QkFDakI7a0NBRUNMLE1BQU1TLE9BQU87dUJBVlIsV0FBUVI7Ozs7QUFnQjFCIiwic291cmNlcyI6WyJDOlxcc3JjXFxjbGllbnRcXGNvbXBvbmVudHNcXHJlYWN0LWRldi1vdmVybGF5XFxpbnRlcm5hbFxcY29tcG9uZW50c1xcQ29kZUZyYW1lXFxDb2RlRnJhbWUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBbnNlciBmcm9tICduZXh0L2Rpc3QvY29tcGlsZWQvYW5zZXInXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgU3RhY2tGcmFtZSB9IGZyb20gJ25leHQvZGlzdC9jb21waWxlZC9zdGFja3RyYWNlLXBhcnNlcidcbmltcG9ydCBzdHJpcEFuc2kgZnJvbSAnbmV4dC9kaXN0L2NvbXBpbGVkL3N0cmlwLWFuc2knXG5pbXBvcnQgeyBnZXRGcmFtZVNvdXJjZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMvc3RhY2stZnJhbWUnXG5pbXBvcnQgeyB1c2VPcGVuSW5FZGl0b3IgfSBmcm9tICcuLi8uLi9oZWxwZXJzL3VzZS1vcGVuLWluLWVkaXRvcidcbmltcG9ydCB7IEhvdGxpbmtlZFRleHQgfSBmcm9tICcuLi9ob3QtbGlua2VkLXRleHQnXG5cbmV4cG9ydCB0eXBlIENvZGVGcmFtZVByb3BzID0geyBzdGFja0ZyYW1lOiBTdGFja0ZyYW1lOyBjb2RlRnJhbWU6IHN0cmluZyB9XG5cbmV4cG9ydCBjb25zdCBDb2RlRnJhbWU6IFJlYWN0LkZDPENvZGVGcmFtZVByb3BzPiA9IGZ1bmN0aW9uIENvZGVGcmFtZSh7XG4gIHN0YWNrRnJhbWUsXG4gIGNvZGVGcmFtZSxcbn0pIHtcbiAgLy8gU3RyaXAgbGVhZGluZyBzcGFjZXMgb3V0IG9mIHRoZSBjb2RlIGZyYW1lOlxuICBjb25zdCBmb3JtYXR0ZWRGcmFtZSA9IFJlYWN0LnVzZU1lbW88c3RyaW5nPigoKSA9PiB7XG4gICAgY29uc3QgbGluZXMgPSBjb2RlRnJhbWUuc3BsaXQoL1xccj9cXG4vZylcblxuICAgIC8vIEZpbmQgdGhlIG1pbmltdW0gbGVuZ3RoIG9mIGxlYWRpbmcgc3BhY2VzIGFmdGVyIGB8YCBpbiB0aGUgY29kZSBmcmFtZVxuICAgIGNvbnN0IG1pbmlMZWFkaW5nU3BhY2VzTGVuZ3RoID0gbGluZXNcbiAgICAgIC5tYXAoKGxpbmUpID0+XG4gICAgICAgIC9ePj8gK1xcZCsgK1xcfCBbIF0rLy5leGVjKHN0cmlwQW5zaShsaW5lKSkgPT09IG51bGxcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6IC9ePj8gK1xcZCsgK1xcfCAoICopLy5leGVjKHN0cmlwQW5zaShsaW5lKSlcbiAgICAgIClcbiAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgIC5tYXAoKHYpID0+IHYhLnBvcCgpISlcbiAgICAgIC5yZWR1Y2UoKGMsIG4pID0+IChpc05hTihjKSA/IG4ubGVuZ3RoIDogTWF0aC5taW4oYywgbi5sZW5ndGgpKSwgTmFOKVxuXG4gICAgLy8gV2hlbiB0aGUgbWluaW11bSBsZW5ndGggb2YgbGVhZGluZyBzcGFjZXMgaXMgZ3JlYXRlciB0aGFuIDEsIHJlbW92ZSB0aGVtXG4gICAgLy8gZnJvbSB0aGUgY29kZSBmcmFtZSB0byBoZWxwIHRoZSBpbmRlbnRhdGlvbiBsb29rcyBiZXR0ZXIgd2hlbiB0aGVyZSdzIGEgbG90IGxlYWRpbmcgc3BhY2VzLlxuICAgIGlmIChtaW5pTGVhZGluZ1NwYWNlc0xlbmd0aCA+IDEpIHtcbiAgICAgIHJldHVybiBsaW5lc1xuICAgICAgICAubWFwKChsaW5lLCBhKSA9PlxuICAgICAgICAgIH4oYSA9IGxpbmUuaW5kZXhPZignfCcpKVxuICAgICAgICAgICAgPyBsaW5lLnN1YnN0cmluZygwLCBhKSArXG4gICAgICAgICAgICAgIGxpbmUuc3Vic3RyaW5nKGEpLnJlcGxhY2UoYF5cXFxcIHske21pbmlMZWFkaW5nU3BhY2VzTGVuZ3RofX1gLCAnJylcbiAgICAgICAgICAgIDogbGluZVxuICAgICAgICApXG4gICAgICAgIC5qb2luKCdcXG4nKVxuICAgIH1cbiAgICByZXR1cm4gbGluZXMuam9pbignXFxuJylcbiAgfSwgW2NvZGVGcmFtZV0pXG5cbiAgY29uc3QgZGVjb2RlZCA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBBbnNlci5hbnNpVG9Kc29uKGZvcm1hdHRlZEZyYW1lLCB7XG4gICAgICBqc29uOiB0cnVlLFxuICAgICAgdXNlX2NsYXNzZXM6IHRydWUsXG4gICAgICByZW1vdmVfZW1wdHk6IHRydWUsXG4gICAgfSlcbiAgfSwgW2Zvcm1hdHRlZEZyYW1lXSlcblxuICBjb25zdCBvcGVuID0gdXNlT3BlbkluRWRpdG9yKHtcbiAgICBmaWxlOiBzdGFja0ZyYW1lLmZpbGUsXG4gICAgbGluZU51bWJlcjogc3RhY2tGcmFtZS5saW5lTnVtYmVyLFxuICAgIGNvbHVtbjogc3RhY2tGcmFtZS5jb2x1bW4sXG4gIH0pXG5cbiAgLy8gVE9ETzogbWFrZSB0aGUgY2FyZXQgYWJzb2x1dGVcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGRhdGEtbmV4dGpzLWNvZGVmcmFtZT5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxwXG4gICAgICAgICAgcm9sZT1cImxpbmtcIlxuICAgICAgICAgIG9uQ2xpY2s9e29wZW59XG4gICAgICAgICAgdGFiSW5kZXg9ezF9XG4gICAgICAgICAgdGl0bGU9XCJDbGljayB0byBvcGVuIGluIHlvdXIgZWRpdG9yXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAge2dldEZyYW1lU291cmNlKHN0YWNrRnJhbWUpfSBAeycgJ31cbiAgICAgICAgICAgIDxIb3RsaW5rZWRUZXh0IHRleHQ9e3N0YWNrRnJhbWUubWV0aG9kTmFtZX0gLz5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNlwiPjwvcGF0aD5cbiAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9XCIxNSAzIDIxIDMgMjEgOVwiPjwvcG9seWxpbmU+XG4gICAgICAgICAgICA8bGluZSB4MT1cIjEwXCIgeTE9XCIxNFwiIHgyPVwiMjFcIiB5Mj1cIjNcIj48L2xpbmU+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPHByZT5cbiAgICAgICAge2RlY29kZWQubWFwKChlbnRyeSwgaW5kZXgpID0+IChcbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAga2V5PXtgZnJhbWUtJHtpbmRleH1gfVxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgY29sb3I6IGVudHJ5LmZnID8gYHZhcigtLWNvbG9yLSR7ZW50cnkuZmd9KWAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIC4uLihlbnRyeS5kZWNvcmF0aW9uID09PSAnYm9sZCdcbiAgICAgICAgICAgICAgICA/IHsgZm9udFdlaWdodDogODAwIH1cbiAgICAgICAgICAgICAgICA6IGVudHJ5LmRlY29yYXRpb24gPT09ICdpdGFsaWMnXG4gICAgICAgICAgICAgICAgICA/IHsgZm9udFN0eWxlOiAnaXRhbGljJyB9XG4gICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCksXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtlbnRyeS5jb250ZW50fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgKSl9XG4gICAgICA8L3ByZT5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIkNvZGVGcmFtZSIsInN0YWNrRnJhbWUiLCJjb2RlRnJhbWUiLCJmb3JtYXR0ZWRGcmFtZSIsIlJlYWN0IiwidXNlTWVtbyIsImxpbmVzIiwic3BsaXQiLCJtaW5pTGVhZGluZ1NwYWNlc0xlbmd0aCIsIm1hcCIsImxpbmUiLCJleGVjIiwic3RyaXBBbnNpIiwiZmlsdGVyIiwiQm9vbGVhbiIsInYiLCJwb3AiLCJyZWR1Y2UiLCJjIiwibiIsImlzTmFOIiwibGVuZ3RoIiwiTWF0aCIsIm1pbiIsIk5hTiIsImEiLCJpbmRleE9mIiwic3Vic3RyaW5nIiwicmVwbGFjZSIsImpvaW4iLCJkZWNvZGVkIiwiQW5zZXIiLCJhbnNpVG9Kc29uIiwianNvbiIsInVzZV9jbGFzc2VzIiwicmVtb3ZlX2VtcHR5Iiwib3BlbiIsInVzZU9wZW5JbkVkaXRvciIsImZpbGUiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwiZGl2IiwiZGF0YS1uZXh0anMtY29kZWZyYW1lIiwicCIsInJvbGUiLCJvbkNsaWNrIiwidGFiSW5kZXgiLCJ0aXRsZSIsInNwYW4iLCJnZXRGcmFtZVNvdXJjZSIsIkhvdGxpbmtlZFRleHQiLCJ0ZXh0IiwibWV0aG9kTmFtZSIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsInBhdGgiLCJkIiwicG9seWxpbmUiLCJwb2ludHMiLCJ4MSIsInkxIiwieDIiLCJ5MiIsInByZSIsImVudHJ5IiwiaW5kZXgiLCJzdHlsZSIsImNvbG9yIiwiZmciLCJ1bmRlZmluZWQiLCJkZWNvcmF0aW9uIiwiZm9udFdlaWdodCIsImZvbnRTdHlsZSIsImNvbnRlbnQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7NkNBQVNBOzs7ZUFBQUEsV0FBQUEsU0FBUzs7O3VDQUFRIiwic291cmNlcyI6WyJDOlxcc3JjXFxjbGllbnRcXGNvbXBvbmVudHNcXHJlYWN0LWRldi1vdmVybGF5XFxpbnRlcm5hbFxcY29tcG9uZW50c1xcQ29kZUZyYW1lXFxpbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ29kZUZyYW1lIH0gZnJvbSAnLi9Db2RlRnJhbWUnXG4iXSwibmFtZXMiOlsiQ29kZUZyYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQW1EU0E7OztlQUFBQTs7OzswQ0FuRG1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUFBLEVBQUciLCJzb3VyY2VzIjpbIkM6XFxzcmNcXGNsaWVudFxcY29tcG9uZW50c1xccmVhY3QtZGV2LW92ZXJsYXlcXGludGVybmFsXFxjb21wb25lbnRzXFxDb2RlRnJhbWVcXHN0eWxlcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9vcCBhcyBjc3MgfSBmcm9tICcuLi8uLi9oZWxwZXJzL25vb3AtdGVtcGxhdGUnXG5cbmNvbnN0IHN0eWxlcyA9IGNzc2BcbiAgW2RhdGEtbmV4dGpzLWNvZGVmcmFtZV0ge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNpemUtZ2FwLWhhbGYpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFuc2ktYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLWZnKTtcbiAgfVxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXTo6c2VsZWN0aW9uLFxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSAqOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFuc2ktc2VsZWN0aW9uKTtcbiAgfVxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSAqIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zdGFjay1tb25vc3BhY2UpO1xuICB9XG5cbiAgW2RhdGEtbmV4dGpzLWNvZGVmcmFtZV0gPiAqIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zaXplLWdhcCkgKyB2YXIoLS1zaXplLWdhcC1oYWxmKSlcbiAgICAgIGNhbGModmFyKC0tc2l6ZS1nYXAtZG91YmxlKSArIHZhcigtLXNpemUtZ2FwLWhhbGYpKTtcbiAgfVxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSA+IGRpdiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYW5zaS1icmlnaHQtYmxhY2spO1xuICB9XG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdID4gZGl2ID4gcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdID4gZGl2ID4gcDpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICB9XG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdIGRpdiA+IHAgPiBzdmcge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMWVtO1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIH1cbiAgW2RhdGEtbmV4dGpzLWNvZGVmcmFtZV0gZGl2ID4gcHJlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuYFxuXG5leHBvcnQgeyBzdHlsZXMgfVxuIl0sIm5hbWVzIjpbInN0eWxlcyIsImNzcyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\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/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/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({\n \"Dialog.useCallback[onDialog]\": (node)=>{\n setDialog(node);\n }\n }[\"Dialog.useCallback[onDialog]\"], []);\n (0, _useonclickoutside.useOnClickOutside)(dialog, (e)=>{\n e.preventDefault();\n return onClose == null ? void 0 : onClose();\n });\n // Make HTMLElements with `role=link` accessible to be triggered by the\n // keyboard, i.e. [Enter].\n _react.useEffect({\n \"Dialog.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 \"Dialog.useEffect\": ()=>{\n shadowRoot.removeEventListener('keydown', handler);\n window.removeEventListener('focus', handleFocus);\n window.removeEventListener('blur', handleFocus);\n }\n })[\"Dialog.useEffect\"];\n }\n }[\"Dialog.useEffect\"], [\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQTBGU0E7OztlQUFBQTs7Ozs7NkVBMUZjOytDQUNXO0FBVWxDLE1BQU1BLFNBQWdDLFNBQVNBLE9BQU8sS0FLckQ7SUFMcUQsTUFDcERDLFFBQVEsRUFDUkMsSUFBSSxFQUNKQyxPQUFPLEVBQ1AsR0FBR0MsT0FDSixHQUxxRDtJQU1wRCxNQUFNLENBQUNDLFFBQVFDLFVBQVUsR0FBR0MsT0FBTUMsUUFBUSxDQUF3QjtJQUNsRSxNQUFNLENBQUNDLE1BQU1DLFFBQVEsR0FBR0gsT0FBTUMsUUFBUSxDQUNwQyxPQUFPRyxhQUFhLGVBQWVBLFNBQVNDLFFBQVEsS0FDaEQsV0FDQUM7SUFFTixNQUFNQyxXQUFXUCxPQUFNUSxXQUFXO3dDQUFDLENBQUNDO1lBQ2xDVixVQUFVVTtRQUNaO3VDQUFHLEVBQUU7SUFDTEMsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFBQSxFQUFrQlosUUFBUSxDQUFDYTtRQUN6QkEsRUFBRUMsY0FBYztRQUNoQixPQUFPaEIsV0FBQUEsT0FBQUEsS0FBQUEsSUFBQUE7SUFDVDtJQUVBLHVFQUF1RTtJQUN2RSwwQkFBMEI7SUFDMUJJLE9BQU1hLFNBQVM7NEJBQUM7WUFDZCxJQUFJZixVQUFVLE1BQU07Z0JBQ2xCO1lBQ0Y7WUFFQSxNQUFNZ0IsT0FBT2hCLE9BQU9pQixXQUFXO1lBQy9CLDhDQUE4QztZQUM5QyxJQUFJLENBQUVELENBQUFBLGdCQUFnQkUsVUFBQUEsQ0FBUyxFQUFJO2dCQUNqQztZQUNGO1lBQ0EsTUFBTUMsYUFBYUg7WUFDbkIsU0FBU0ksUUFBUVAsQ0FBZ0I7Z0JBQy9CLE1BQU1RLEtBQUtGLFdBQVdHLGFBQWE7Z0JBQ25DLElBQ0VULEVBQUVVLEdBQUcsS0FBSyxXQUNWRixjQUFjRyxlQUNkSCxHQUFHSSxZQUFZLENBQUMsWUFBWSxRQUM1QjtvQkFDQVosRUFBRUMsY0FBYztvQkFDaEJELEVBQUVhLGVBQWU7b0JBRWpCTCxHQUFHTSxLQUFLO2dCQUNWO1lBQ0Y7WUFFQSxTQUFTQztnQkFDUCwyR0FBMkc7Z0JBQzNHLDZFQUE2RTtnQkFDN0V2QixRQUFRQyxTQUFTQyxRQUFRLEtBQUssV0FBV0M7WUFDM0M7WUFFQVcsV0FBV1UsZ0JBQWdCLENBQUMsV0FBV1Q7WUFDdkNVLE9BQU9ELGdCQUFnQixDQUFDLFNBQVNEO1lBQ2pDRSxPQUFPRCxnQkFBZ0IsQ0FBQyxRQUFRRDtZQUNoQztvQ0FBTztvQkFDTFQsV0FBV1ksbUJBQW1CLENBQUMsV0FBV1g7b0JBQzFDVSxPQUFPQyxtQkFBbUIsQ0FBQyxTQUFTSDtvQkFDcENFLE9BQU9DLG1CQUFtQixDQUFDLFFBQVFIO2dCQUNyQzs7UUFDRjsyQkFBRztRQUFDNUI7S0FBTztJQUVYLHFCQUNFLHNCQUFDZ0MsT0FBQUE7UUFDQ0MsS0FBS3hCO1FBQ0x5QixvQkFBa0I7UUFDbEJDLFVBQVUsQ0FBQztRQUNYL0IsTUFBTUE7UUFDTmdDLG1CQUFpQnJDLEtBQUssQ0FBQyxrQkFBa0I7UUFDekNzQyxvQkFBa0J0QyxLQUFLLENBQUMsbUJBQW1CO1FBQzNDdUMsY0FBVzs7MEJBRVgscUJBQUNOLE9BQUFBO2dCQUFJTywyQkFBeUI7Z0JBQUNDLFdBQVksWUFBUzNDOztZQUNuREQ7OztBQUdQIiwic291cmNlcyI6WyJDOlxcc3JjXFxjbGllbnRcXGNvbXBvbmVudHNcXHJlYWN0LWRldi1vdmVybGF5XFxpbnRlcm5hbFxcY29tcG9uZW50c1xcRGlhbG9nXFxEaWFsb2cudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlT25DbGlja091dHNpZGUgfSBmcm9tICcuLi8uLi9ob29rcy91c2Utb24tY2xpY2stb3V0c2lkZSdcblxuZXhwb3J0IHR5cGUgRGlhbG9nUHJvcHMgPSB7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG4gIHR5cGU6ICdlcnJvcicgfCAnd2FybmluZydcbiAgJ2FyaWEtbGFiZWxsZWRieSc6IHN0cmluZ1xuICAnYXJpYS1kZXNjcmliZWRieSc6IHN0cmluZ1xuICBvbkNsb3NlPzogKCkgPT4gdm9pZFxufVxuXG5jb25zdCBEaWFsb2c6IFJlYWN0LkZDPERpYWxvZ1Byb3BzPiA9IGZ1bmN0aW9uIERpYWxvZyh7XG4gIGNoaWxkcmVuLFxuICB0eXBlLFxuICBvbkNsb3NlLFxuICAuLi5wcm9wc1xufSkge1xuICBjb25zdCBbZGlhbG9nLCBzZXREaWFsb2ddID0gUmVhY3QudXNlU3RhdGU8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBbcm9sZSwgc2V0Um9sZV0gPSBSZWFjdC51c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KFxuICAgIHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgZG9jdW1lbnQuaGFzRm9jdXMoKVxuICAgICAgPyAnZGlhbG9nJ1xuICAgICAgOiB1bmRlZmluZWRcbiAgKVxuICBjb25zdCBvbkRpYWxvZyA9IFJlYWN0LnVzZUNhbGxiYWNrKChub2RlOiBIVE1MRGl2RWxlbWVudCB8IG51bGwpID0+IHtcbiAgICBzZXREaWFsb2cobm9kZSlcbiAgfSwgW10pXG4gIHVzZU9uQ2xpY2tPdXRzaWRlKGRpYWxvZywgKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICByZXR1cm4gb25DbG9zZT8uKClcbiAgfSlcblxuICAvLyBNYWtlIEhUTUxFbGVtZW50cyB3aXRoIGByb2xlPWxpbmtgIGFjY2Vzc2libGUgdG8gYmUgdHJpZ2dlcmVkIGJ5IHRoZVxuICAvLyBrZXlib2FyZCwgaS5lLiBbRW50ZXJdLlxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChkaWFsb2cgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3Qgcm9vdCA9IGRpYWxvZy5nZXRSb290Tm9kZSgpXG4gICAgLy8gQWx3YXlzIHRydWUsIGJ1dCB3ZSBkbyB0aGlzIGZvciBUeXBlU2NyaXB0OlxuICAgIGlmICghKHJvb3QgaW5zdGFuY2VvZiBTaGFkb3dSb290KSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IHNoYWRvd1Jvb3QgPSByb290XG4gICAgZnVuY3Rpb24gaGFuZGxlcihlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICBjb25zdCBlbCA9IHNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudFxuICAgICAgaWYgKFxuICAgICAgICBlLmtleSA9PT0gJ0VudGVyJyAmJlxuICAgICAgICBlbCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ICYmXG4gICAgICAgIGVsLmdldEF0dHJpYnV0ZSgncm9sZScpID09PSAnbGluaydcbiAgICAgICkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuXG4gICAgICAgIGVsLmNsaWNrKClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBoYW5kbGVGb2N1cygpIHtcbiAgICAgIC8vIHNhZmFyaSB3aWxsIGZvcmNlIGl0c2VsZiBhcyB0aGUgYWN0aXZlIGFwcGxpY2F0aW9uIHdoZW4gYSBiYWNrZ3JvdW5kIHBhZ2UgdHJpZ2dlcnMgYW55IHNvcnQgb2YgYXV0b2ZvY3VzXG4gICAgICAvLyB0aGlzIGlzIGEgd29ya2Fyb3VuZCB0byBvbmx5IHNldCB0aGUgZGlhbG9nIHJvbGUgaWYgdGhlIGRvY3VtZW50IGhhcyBmb2N1c1xuICAgICAgc2V0Um9sZShkb2N1bWVudC5oYXNGb2N1cygpID8gJ2RpYWxvZycgOiB1bmRlZmluZWQpXG4gICAgfVxuXG4gICAgc2hhZG93Um9vdC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlciBhcyBFdmVudExpc3RlbmVyKVxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGhhbmRsZUZvY3VzKVxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgaGFuZGxlRm9jdXMpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHNoYWRvd1Jvb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGhhbmRsZXIgYXMgRXZlbnRMaXN0ZW5lcilcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1cycsIGhhbmRsZUZvY3VzKVxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2JsdXInLCBoYW5kbGVGb2N1cylcbiAgICB9XG4gIH0sIFtkaWFsb2ddKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgcmVmPXtvbkRpYWxvZ31cbiAgICAgIGRhdGEtbmV4dGpzLWRpYWxvZ1xuICAgICAgdGFiSW5kZXg9ey0xfVxuICAgICAgcm9sZT17cm9sZX1cbiAgICAgIGFyaWEtbGFiZWxsZWRieT17cHJvcHNbJ2FyaWEtbGFiZWxsZWRieSddfVxuICAgICAgYXJpYS1kZXNjcmliZWRieT17cHJvcHNbJ2FyaWEtZGVzY3JpYmVkYnknXX1cbiAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICA+XG4gICAgICA8ZGl2IGRhdGEtbmV4dGpzLWRpYWxvZy1iYW5uZXIgY2xhc3NOYW1lPXtgYmFubmVyLSR7dHlwZX1gfSAvPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCB7IERpYWxvZyB9XG4iXSwibmFtZXMiOlsiRGlhbG9nIiwiY2hpbGRyZW4iLCJ0eXBlIiwib25DbG9zZSIsInByb3BzIiwiZGlhbG9nIiwic2V0RGlhbG9nIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsInJvbGUiLCJzZXRSb2xlIiwiZG9jdW1lbnQiLCJoYXNGb2N1cyIsInVuZGVmaW5lZCIsIm9uRGlhbG9nIiwidXNlQ2FsbGJhY2siLCJub2RlIiwidXNlT25DbGlja091dHNpZGUiLCJlIiwicHJldmVudERlZmF1bHQiLCJ1c2VFZmZlY3QiLCJyb290IiwiZ2V0Um9vdE5vZGUiLCJTaGFkb3dSb290Iiwic2hhZG93Um9vdCIsImhhbmRsZXIiLCJlbCIsImFjdGl2ZUVsZW1lbnQiLCJrZXkiLCJIVE1MRWxlbWVudCIsImdldEF0dHJpYnV0ZSIsInN0b3BQcm9wYWdhdGlvbiIsImNsaWNrIiwiaGFuZGxlRm9jdXMiLCJhZGRFdmVudExpc3RlbmVyIiwid2luZG93IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImRpdiIsInJlZiIsImRhdGEtbmV4dGpzLWRpYWxvZyIsInRhYkluZGV4IiwiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYS1kZXNjcmliZWRieSIsImFyaWEtbW9kYWwiLCJkYXRhLW5leHRqcy1kaWFsb2ctYmFubmVyIiwiY2xhc3NOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\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/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/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0JvZHkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs4Q0FrQlNBOzs7ZUFBQUE7Ozs7OzZFQWxCYztBQU92QixNQUFNQSxhQUF3QyxTQUFTQSxXQUFXLEtBR2pFO0lBSGlFLE1BQ2hFQyxRQUFRLEVBQ1JDLFNBQVMsRUFDVixHQUhpRTtJQUloRSxxQkFDRSxxQkFBQ0MsT0FBQUE7UUFBSUMseUJBQXVCO1FBQUNGLFdBQVdBO2tCQUNyQ0Q7O0FBR1AiLCJzb3VyY2VzIjpbIkM6XFxzcmNcXGNsaWVudFxcY29tcG9uZW50c1xccmVhY3QtZGV2LW92ZXJsYXlcXGludGVybmFsXFxjb21wb25lbnRzXFxEaWFsb2dcXERpYWxvZ0JvZHkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5leHBvcnQgdHlwZSBEaWFsb2dCb2R5UHJvcHMgPSB7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufVxuXG5jb25zdCBEaWFsb2dCb2R5OiBSZWFjdC5GQzxEaWFsb2dCb2R5UHJvcHM+ID0gZnVuY3Rpb24gRGlhbG9nQm9keSh7XG4gIGNoaWxkcmVuLFxuICBjbGFzc05hbWUsXG59KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBkYXRhLW5leHRqcy1kaWFsb2ctYm9keSBjbGFzc05hbWU9e2NsYXNzTmFtZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IHsgRGlhbG9nQm9keSB9XG4iXSwibmFtZXMiOlsiRGlhbG9nQm9keSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiZGl2IiwiZGF0YS1uZXh0anMtZGlhbG9nLWJvZHkiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\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/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/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0NvbnRlbnQuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFrQlNBOzs7ZUFBQUE7Ozs7OzZFQWxCYztBQU92QixNQUFNQSxnQkFBOEMsU0FBU0EsY0FBYyxLQUcxRTtJQUgwRSxNQUN6RUMsUUFBUSxFQUNSQyxTQUFTLEVBQ1YsR0FIMEU7SUFJekUscUJBQ0UscUJBQUNDLE9BQUFBO1FBQUlDLDRCQUEwQjtRQUFDRixXQUFXQTtrQkFDeENEOztBQUdQIiwic291cmNlcyI6WyJDOlxcc3JjXFxjbGllbnRcXGNvbXBvbmVudHNcXHJlYWN0LWRldi1vdmVybGF5XFxpbnRlcm5hbFxcY29tcG9uZW50c1xcRGlhbG9nXFxEaWFsb2dDb250ZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcblxuZXhwb3J0IHR5cGUgRGlhbG9nQ29udGVudFByb3BzID0ge1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbn1cblxuY29uc3QgRGlhbG9nQ29udGVudDogUmVhY3QuRkM8RGlhbG9nQ29udGVudFByb3BzPiA9IGZ1bmN0aW9uIERpYWxvZ0NvbnRlbnQoe1xuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxufSkge1xuICByZXR1cm4gKFxuICAgIDxkaXYgZGF0YS1uZXh0anMtZGlhbG9nLWNvbnRlbnQgY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCB7IERpYWxvZ0NvbnRlbnQgfVxuIl0sIm5hbWVzIjpbIkRpYWxvZ0NvbnRlbnQiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsImRpdiIsImRhdGEtbmV4dGpzLWRpYWxvZy1jb250ZW50Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\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/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/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7O2dEQWtCU0E7OztlQUFBQTs7Ozs7NkVBbEJjO0FBT3ZCLE1BQU1BLGVBQTRDLFNBQVNBLGFBQWEsS0FHdkU7SUFIdUUsTUFDdEVDLFFBQVEsRUFDUkMsU0FBUyxFQUNWLEdBSHVFO0lBSXRFLHFCQUNFLHFCQUFDQyxPQUFBQTtRQUFJQywyQkFBeUI7UUFBQ0YsV0FBV0E7a0JBQ3ZDRDs7QUFHUCIsInNvdXJjZXMiOlsiQzpcXHNyY1xcY2xpZW50XFxjb21wb25lbnRzXFxyZWFjdC1kZXYtb3ZlcmxheVxcaW50ZXJuYWxcXGNvbXBvbmVudHNcXERpYWxvZ1xcRGlhbG9nSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcblxuZXhwb3J0IHR5cGUgRGlhbG9nSGVhZGVyUHJvcHMgPSB7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufVxuXG5jb25zdCBEaWFsb2dIZWFkZXI6IFJlYWN0LkZDPERpYWxvZ0hlYWRlclByb3BzPiA9IGZ1bmN0aW9uIERpYWxvZ0hlYWRlcih7XG4gIGNoaWxkcmVuLFxuICBjbGFzc05hbWUsXG59KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBkYXRhLW5leHRqcy1kaWFsb2ctaGVhZGVyIGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgeyBEaWFsb2dIZWFkZXIgfVxuIl0sIm5hbWVzIjpbIkRpYWxvZ0hlYWRlciIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiZGl2IiwiZGF0YS1uZXh0anMtZGlhbG9nLWhlYWRlciJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSxNQUFNO2VBQU5BLFFBQUFBLE1BQU07O0lBQ05DLFVBQVU7ZUFBVkEsWUFBQUEsVUFBVTs7SUFDVkMsYUFBYTtlQUFiQSxlQUFBQSxhQUFhOztJQUNiQyxZQUFZO2VBQVpBLGNBQUFBLFlBQVk7O0lBQ1pDLE1BQU07ZUFBTkEsUUFBQUEsTUFBTTs7O29DQUpRO3dDQUNJOzJDQUNHOzBDQUNEO29DQUNOIiwic291cmNlcyI6WyJDOlxcc3JjXFxjbGllbnRcXGNvbXBvbmVudHNcXHJlYWN0LWRldi1vdmVybGF5XFxpbnRlcm5hbFxcY29tcG9uZW50c1xcRGlhbG9nXFxpbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBEaWFsb2cgfSBmcm9tICcuL0RpYWxvZydcbmV4cG9ydCB7IERpYWxvZ0JvZHkgfSBmcm9tICcuL0RpYWxvZ0JvZHknXG5leHBvcnQgeyBEaWFsb2dDb250ZW50IH0gZnJvbSAnLi9EaWFsb2dDb250ZW50J1xuZXhwb3J0IHsgRGlhbG9nSGVhZGVyIH0gZnJvbSAnLi9EaWFsb2dIZWFkZXInXG5leHBvcnQgeyBzdHlsZXMgfSBmcm9tICcuL3N0eWxlcydcbiJdLCJuYW1lcyI6WyJEaWFsb2ciLCJEaWFsb2dCb2R5IiwiRGlhbG9nQ29udGVudCIsIkRpYWxvZ0hlYWRlciIsInN0eWxlcyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\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: var(--color-background);\\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQTBGU0E7OztlQUFBQTs7OzswQ0ExRm1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUFBLEVBQUciLCJzb3VyY2VzIjpbIkM6XFxzcmNcXGNsaWVudFxcY29tcG9uZW50c1xccmVhY3QtZGV2LW92ZXJsYXlcXGludGVybmFsXFxjb21wb25lbnRzXFxEaWFsb2dcXHN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBub29wIGFzIGNzcyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZSdcblxuY29uc3Qgc3R5bGVzID0gY3NzYFxuICBbZGF0YS1uZXh0anMtZGlhbG9nXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNpemUtZ2FwKTtcbiAgICBib3gtc2hhZG93OiAwIHZhcigtLXNpemUtZ2FwLWhhbGYpIHZhcigtLXNpemUtZ2FwLWRvdWJsZSlcbiAgICAgIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gNTZweCk7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtaGVpZ2h0OiA4MTJweCkge1xuICAgIFtkYXRhLW5leHRqcy1kaWFsb2ctb3ZlcmxheV0ge1xuICAgICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gMTVweCk7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgW2RhdGEtbmV4dGpzLWRpYWxvZ10ge1xuICAgICAgbWF4LXdpZHRoOiA1NDBweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgdmFyKC0tc2l6ZS1nYXApIHZhcigtLXNpemUtZ2FwLXF1YWQpIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgW2RhdGEtbmV4dGpzLWRpYWxvZ10ge1xuICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICBbZGF0YS1uZXh0anMtZGlhbG9nXSB7XG4gICAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICAgIH1cbiAgfVxuXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctYmFubmVyXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctYmFubmVyXS5iYW5uZXItd2FybmluZyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLXllbGxvdyk7XG4gIH1cbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1iYW5uZXJdLmJhbm5lci1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLXJlZCk7XG4gIH1cblxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWJhbm5lcl06OmFmdGVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogYmFubmVyIHdpZHRoOiAqL1xuICAgIGJvcmRlci10b3Atd2lkdGg6IHZhcigtLXNpemUtZ2FwLWhhbGYpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctY29udGVudF0ge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiBjYWxjKHBhZGRpbmcgKyBiYW5uZXIgd2lkdGggb2Zmc2V0KSAqL1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc2l6ZS1nYXAtZG91YmxlKSArIHZhcigtLXNpemUtZ2FwLWhhbGYpKVxuICAgICAgdmFyKC0tc2l6ZS1nYXAtZG91YmxlKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctY29udGVudF0gPiBbZGF0YS1uZXh0anMtZGlhbG9nLWhlYWRlcl0ge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtZ2FwLWRvdWJsZSk7XG4gIH1cbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1jb250ZW50XSA+IFtkYXRhLW5leHRqcy1kaWFsb2ctYm9keV0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuYFxuXG5leHBvcnQgeyBzdHlsZXMgfVxuIl0sIm5hbWVzIjpbInN0eWxlcyIsImNzcyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\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/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/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({\n \"LeftRightDialogHeader.useCallback[onNav]\": (el)=>{\n setNav(el);\n }\n }[\"LeftRightDialogHeader.useCallback[onNav]\"], []);\n _react.useEffect({\n \"LeftRightDialogHeader.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.preventDefault();\n e.stopPropagation();\n if (buttonLeft.current) {\n buttonLeft.current.focus();\n }\n previous && previous();\n } else if (e.key === 'ArrowRight') {\n e.preventDefault();\n e.stopPropagation();\n if (buttonRight.current) {\n buttonRight.current.focus();\n }\n next && next();\n } else if (e.key === 'Escape') {\n e.preventDefault();\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 close == null ? void 0 : close();\n }\n }\n root.addEventListener('keydown', handler);\n if (root !== d) {\n d.addEventListener('keydown', handler);\n }\n return ({\n \"LeftRightDialogHeader.useEffect\": function() {\n root.removeEventListener('keydown', handler);\n if (root !== d) {\n d.removeEventListener('keydown', handler);\n }\n }\n })[\"LeftRightDialogHeader.useEffect\"];\n }\n }[\"LeftRightDialogHeader.useEffect\"], [\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 \"LeftRightDialogHeader.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 }[\"LeftRightDialogHeader.useEffect\"], [\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 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL0xlZnRSaWdodERpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7O3lEQXdLU0E7OztlQUFBQTs7Ozs7NkVBeEtjO3VDQUNHO0FBVTFCLE1BQU1BLHdCQUNKLFNBQVNBLHNCQUFzQixLQU05QjtJQU44QixNQUM3QkMsUUFBUSxFQUNSQyxTQUFTLEVBQ1RDLFFBQVEsRUFDUkMsSUFBSSxFQUNKQyxLQUFLLEVBQ04sR0FOOEI7SUFPN0IsTUFBTUMsYUFBYUMsT0FBTUMsTUFBTSxDQUEyQjtJQUMxRCxNQUFNQyxjQUFjRixPQUFNQyxNQUFNLENBQTJCO0lBQzNELE1BQU1FLGNBQWNILE9BQU1DLE1BQU0sQ0FBMkI7SUFFM0QsTUFBTSxDQUFDRyxLQUFLQyxPQUFPLEdBQUdMLE9BQU1NLFFBQVEsQ0FBcUI7SUFDekQsTUFBTUMsUUFBUVAsT0FBTVEsV0FBVztvREFBQyxDQUFDQztZQUMvQkosT0FBT0k7UUFDVDttREFBRyxFQUFFO0lBRUxULE9BQU1VLFNBQVM7MkNBQUM7WUFDZCxJQUFJTixPQUFPLE1BQU07Z0JBQ2Y7WUFDRjtZQUVBLE1BQU1PLE9BQU9QLElBQUlRLFdBQVc7WUFDNUIsTUFBTUMsSUFBSUMsS0FBS0MsUUFBUTtZQUV2QixTQUFTQyxRQUFRQyxDQUFnQjtnQkFDL0IsSUFBSUEsRUFBRUMsR0FBRyxLQUFLLGFBQWE7b0JBQ3pCRCxFQUFFRSxjQUFjO29CQUNoQkYsRUFBRUcsZUFBZTtvQkFDakIsSUFBSXJCLFdBQVdzQixPQUFPLEVBQUU7d0JBQ3RCdEIsV0FBV3NCLE9BQU8sQ0FBQ0MsS0FBSztvQkFDMUI7b0JBQ0ExQixZQUFZQTtnQkFDZCxPQUFPLElBQUlxQixFQUFFQyxHQUFHLEtBQUssY0FBYztvQkFDakNELEVBQUVFLGNBQWM7b0JBQ2hCRixF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SXBCdEQ7OztZQUVGSSxRQUFBQSxXQUFBQSxHQUNDLHFCQUFDbUMsVUFBQUE7Z0JBQ0NnQixtREFBaUQ7Z0JBQ2pEakIsS0FBSzdCO2dCQUNMK0IsTUFBSztnQkFDTEksU0FBU3hDO2dCQUNUb0QsY0FBVzswQkFFWCxtQ0FBQ0MsUUFBQUE7b0JBQUtDLGVBQVk7OEJBQ2hCLG1DQUFDQyxXQUFBQSxTQUFTOztpQkFHWjs7O0FBR1YiLCJzb3VyY2VzIjpbIkM6XFxzcmNcXGNsaWVudFxcY29tcG9uZW50c1xccmVhY3QtZGV2LW92ZXJsYXlcXGludGVybmFsXFxjb21wb25lbnRzXFxMZWZ0UmlnaHREaWFsb2dIZWFkZXJcXExlZnRSaWdodERpYWxvZ0hlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDbG9zZUljb24gfSBmcm9tICcuLi8uLi9pY29ucy9DbG9zZUljb24nXG5cbmV4cG9ydCB0eXBlIExlZnRSaWdodERpYWxvZ0hlYWRlclByb3BzID0ge1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgcHJldmlvdXM6ICgoKSA9PiB2b2lkKSB8IG51bGxcbiAgbmV4dDogKCgpID0+IHZvaWQpIHwgbnVsbFxuICBjbG9zZT86ICgpID0+IHZvaWRcbn1cblxuY29uc3QgTGVmdFJpZ2h0RGlhbG9nSGVhZGVyOiBSZWFjdC5GQzxMZWZ0UmlnaHREaWFsb2dIZWFkZXJQcm9wcz4gPVxuICBmdW5jdGlvbiBMZWZ0UmlnaHREaWFsb2dIZWFkZXIoe1xuICAgIGNoaWxkcmVuLFxuICAgIGNsYXNzTmFtZSxcbiAgICBwcmV2aW91cyxcbiAgICBuZXh0LFxuICAgIGNsb3NlLFxuICB9KSB7XG4gICAgY29uc3QgYnV0dG9uTGVmdCA9IFJlYWN0LnVzZVJlZjxIVE1MQnV0dG9uRWxlbWVudCB8IG51bGw+KG51bGwpXG4gICAgY29uc3QgYnV0dG9uUmlnaHQgPSBSZWFjdC51c2VSZWY8SFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsPihudWxsKVxuICAgIGNvbnN0IGJ1dHRvbkNsb3NlID0gUmVhY3QudXNlUmVmPEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbD4obnVsbClcblxuICAgIGNvbnN0IFtuYXYsIHNldE5hdl0gPSBSZWFjdC51c2VTdGF0ZTxIVE1MRWxlbWVudCB8IG51bGw+KG51bGwpXG4gICAgY29uc3Qgb25OYXYgPSBSZWFjdC51c2VDYWxsYmFjaygoZWw6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICBzZXROYXYoZWwpXG4gICAgfSwgW10pXG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKG5hdiA9PSBudWxsKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCByb290ID0gbmF2LmdldFJvb3ROb2RlKClcbiAgICAgIGNvbnN0IGQgPSBzZWxmLmRvY3VtZW50XG5cbiAgICAgIGZ1bmN0aW9uIGhhbmRsZXIoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoZS5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgIGlmIChidXR0b25MZWZ0LmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGJ1dHRvbkxlZnQuY3VycmVudC5mb2N1cygpXG4gICAgICAgICAgfVxuICAgICAgICAgIHByZXZpb3VzICYmIHByZXZpb3VzKClcbiAgICAgICAgfSBlbHNlIGlmIChlLmtleSA9PT0gJ0Fycm93UmlnaHQnKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgIGlmIChidXR0b25SaWdodC5jdXJyZW50KSB7XG4gICAgICAgICAgICBidXR0b25SaWdodC5jdXJyZW50LmZvY3VzKClcbiAgICAgICAgICB9XG4gICAgICAgICAgbmV4dCAmJiBuZXh0KClcbiAgICAgICAgfSBlbHNlIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgaWYgKHJvb3QgaW5zdGFuY2VvZiBTaGFkb3dSb290KSB7XG4gICAgICAgICAgICBjb25zdCBhID0gcm9vdC5hY3RpdmVFbGVtZW50XG4gICAgICAgICAgICBpZiAoYSAmJiBhICE9PSBidXR0b25DbG9zZS5jdXJyZW50ICYmIGEgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICAgICAgICBhLmJsdXIoKVxuICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjbG9zZT8uKClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByb290LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVyIGFzIEV2ZW50TGlzdGVuZXIpXG4gICAgICBpZiAocm9vdCAhPT0gZCkge1xuICAgICAgICBkLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVyKVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcm9vdC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlciBhcyBFdmVudExpc3RlbmVyKVxuICAgICAgICBpZiAocm9vdCAhPT0gZCkge1xuICAgICAgICAgIGQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGhhbmRsZXIpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbY2xvc2UsIG5hdiwgbmV4dCwgcHJldmlvdXNdKVxuXG4gICAgLy8gVW5sb2NrIGZvY3VzIGZvciBicm93c2VycyBsaWtlIEZpcmVmb3gsIHRoYXQgYnJlYWsgYWxsIHVzZXIgZm9jdXMgaWYgdGhlXG4gICAgLy8gY3VycmVudGx5IGZvY3VzZWQgaXRlbSBiZWNvbWVzIGRpc2FibGVkLlxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAobmF2ID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJvb3QgPSBuYXYuZ2V0Um9vdE5vZGUoKVxuICAgICAgLy8gQWx3YXlzIHRydWUsIGJ1dCB3ZSBkbyB0aGlzIGZvciBUeXBlU2NyaXB0OlxuICAgICAgaWYgKHJvb3QgaW5zdGFuY2VvZiBTaGFkb3dSb290KSB7XG4gICAgICAgIGNvbnN0IGEgPSByb290LmFjdGl2ZUVsZW1lbnRcblxuICAgICAgICBpZiAocHJldmlvdXMgPT0gbnVsbCkge1xuICAgICAgICAgIGlmIChidXR0b25MZWZ0LmN1cnJlbnQgJiYgYSA9PT0gYnV0dG9uTGVmdC5jdXJyZW50KSB7XG4gICAgICAgICAgICBidXR0b25MZWZ0LmN1cnJlbnQuYmx1cigpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKG5leHQgPT0gbnVsbCkge1xuICAgICAgICAgIGlmIChidXR0b25SaWdodC5jdXJyZW50ICYmIGEgPT09IGJ1dHRvblJpZ2h0LmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGJ1dHRvblJpZ2h0LmN1cnJlbnQuYmx1cigpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgW25hdiwgbmV4dCwgcHJldmlvdXNdKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHQgY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAgICA8bmF2IHJlZj17b25OYXZ9PlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHJlZj17YnV0dG9uTGVmdH1cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgZGlzYWJsZWQ9e3ByZXZpb3VzID09IG51bGwgPyB0cnVlIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgYXJpYS1kaXNhYmxlZD17cHJldmlvdXMgPT0gbnVsbCA/IHRydWUgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBvbkNsaWNrPXtwcmV2aW91cyA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE0IDE0XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHRpdGxlPnByZXZpb3VzPC90aXRsZT5cbiAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTYuOTk5OTYgMS4xNjY2NkwxLjE2NjYzIDYuOTk5OTlMNi45OTk5NiAxMi44MzMzTTEyLjgzMzMgNi45OTk5OUgxLjk5OTk2SDEyLjgzMzNaXCJcbiAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHJlZj17YnV0dG9uUmlnaHR9XG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGRpc2FibGVkPXtuZXh0ID09IG51bGwgPyB0cnVlIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgYXJpYS1kaXNhYmxlZD17bmV4dCA9PSBudWxsID8gdHJ1ZSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIG9uQ2xpY2s9e25leHQgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNCAxNFwiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDx0aXRsZT5uZXh0PC90aXRsZT5cbiAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTYuOTk5OTYgMS4xNjY2NkwxMi44MzMzIDYuOTk5OTlMNi45OTk5NiAxMi44MzMzTTEuMTY2NjMgNi45OTk5OUgxMkgxLjE2NjYzWlwiXG4gICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvbmF2PlxuICAgICAgICB7Y2xvc2UgPyAoXG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgZGF0YS1uZXh0anMtZXJyb3JzLWRpYWxvZy1sZWZ0LXJpZ2h0LWNsb3NlLWJ1dHRvblxuICAgICAgICAgICAgcmVmPXtidXR0b25DbG9zZX1cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgb25DbGljaz17Y2xvc2V9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICA8Q2xvc2VJY29uIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbmV4cG9ydCB7IExlZnRSaWdodERpYWxvZ0hlYWRlciB9XG4iXSwibmFtZXMiOlsiTGVmdFJpZ2h0RGlhbG9nSGVhZGVyIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJwcmV2aW91cyIsIm5leHQiLCJjbG9zZSIsImJ1dHRvbkxlZnQiLCJSZWFjdCIsInVzZVJlZiIsImJ1dHRvblJpZ2h0IiwiYnV0dG9uQ2xvc2UiLCJuYXYiLCJzZXROYXYiLCJ1c2VTdGF0ZSIsIm9uTmF2IiwidXNlQ2FsbGJhY2siLCJlbCIsInVzZUVmZmVjdCIsInJvb3QiLCJnZXRSb290Tm9kZSIsImQiLCJzZWxmIiwiZG9jdW1lbnQiLCJoYW5kbGVyIiwiZSIsImtleSIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiY3VycmVudCIsImZvY3VzIiwiU2hhZG93Um9vdCIsImEiLCJhY3RpdmVFbGVtZW50IiwiSFRNTEVsZW1lbnQiLCJibHVyIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJkaXYiLCJkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodCIsInJlZiIsImJ1dHRvbiIsInR5cGUiLCJkaXNhYmxlZCIsInVuZGVmaW5lZCIsImFyaWEtZGlzYWJsZWQiLCJvbkNsaWNrIiwic3ZnIiwidmlld0JveCIsImZpbGwiLCJ4bWxucyIsInRpdGxlIiwicGF0aCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiZGF0YS1uZXh0anMtZXJyb3JzLWRpYWxvZy1sZWZ0LXJpZ2h0LWNsb3NlLWJ1dHRvbiIsImFyaWEtbGFiZWwiLCJzcGFuIiwiYXJpYS1oaWRkZW4iLCJDbG9zZUljb24iXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSxxQkFBcUI7ZUFBckJBLHVCQUFBQSxxQkFBcUI7O0lBQ3JCQyxNQUFNO2VBQU5BLFFBQUFBLE1BQU07OzttREFEdUI7b0NBQ2YiLCJzb3VyY2VzIjpbIkM6XFxzcmNcXGNsaWVudFxcY29tcG9uZW50c1xccmVhY3QtZGV2LW92ZXJsYXlcXGludGVybmFsXFxjb21wb25lbnRzXFxMZWZ0UmlnaHREaWFsb2dIZWFkZXJcXGluZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IExlZnRSaWdodERpYWxvZ0hlYWRlciB9IGZyb20gJy4vTGVmdFJpZ2h0RGlhbG9nSGVhZGVyJ1xuZXhwb3J0IHsgc3R5bGVzIH0gZnJvbSAnLi9zdHlsZXMnXG4iXSwibmFtZXMiOlsiTGVmdFJpZ2h0RGlhbG9nSGVhZGVyIiwic3R5bGVzIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\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 color: var(--color-font);\\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQW9FU0E7OztlQUFBQTs7OzswQ0FwRW1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUFBLEVBQUciLCJzb3VyY2VzIjpbIkM6XFxzcmNcXGNsaWVudFxcY29tcG9uZW50c1xccmVhY3QtZGV2LW92ZXJsYXlcXGludGVybmFsXFxjb21wb25lbnRzXFxMZWZ0UmlnaHREaWFsb2dIZWFkZXJcXHN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBub29wIGFzIGNzcyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZSdcblxuY29uc3Qgc3R5bGVzID0gY3NzYFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBuYXYge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS1nYXApO1xuICB9XG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBuYXYgPiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zaXplLWdhcC1kb3VibGUpICsgdmFyKC0tc2l6ZS1nYXApKTtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tc2l6ZS1nYXAtZG91YmxlKSArIHZhcigtLXNpemUtZ2FwKSk7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgODUsIDg1LCAwLjEpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLXJlZCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZTtcbiAgfVxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdID4gbmF2ID4gYnV0dG9uID4gc3ZnIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tc2l6ZS1nYXApICsgdmFyKC0tc2l6ZS1nYXAtaGFsZikpO1xuICB9XG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBuYXYgPiBidXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA4NSwgODUsIDAuMik7XG4gIH1cbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1sZWZ0LXJpZ2h0XSA+IG5hdiA+IGJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDg1LCA4NSwgMC4xKTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDg1LCA4NSwgMC40KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1sZWZ0LXJpZ2h0XSA+IG5hdiA+IGJ1dHRvbjpmaXJzdC1vZi10eXBlIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zaXplLWdhcC1oYWxmKSAwIDAgdmFyKC0tc2l6ZS1nYXAtaGFsZik7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gIH1cbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1sZWZ0LXJpZ2h0XSA+IG5hdiA+IGJ1dHRvbjpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tc2l6ZS1nYXAtaGFsZikgdmFyKC0tc2l6ZS1nYXAtaGFsZikgMDtcbiAgfVxuXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBidXR0b246bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlO1xuXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWZvbnQpO1xuICB9XG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBidXR0b246bGFzdC1vZi10eXBlOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbmBcblxuZXhwb3J0IHsgc3R5bGVzIH1cbiJdLCJuYW1lcyI6WyJzdHlsZXMiLCJjc3MiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\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("\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/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/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 \"Overlay.useEffect\": ()=>{\n (0, _bodylocker.lock)();\n return ({\n \"Overlay.useEffect\": ()=>{\n (0, _bodylocker.unlock)();\n }\n })[\"Overlay.useEffect\"];\n }\n }[\"Overlay.useEffect\"], []);\n const [overlay, setOverlay] = _react.useState(null);\n const onOverlay = _react.useCallback({\n \"Overlay.useCallback[onOverlay]\": (el)=>{\n setOverlay(el);\n }\n }[\"Overlay.useCallback[onOverlay]\"], []);\n _react.useEffect({\n \"Overlay.useEffect\": ()=>{\n if (overlay == null) {\n return;\n }\n const handle2 = (0, _maintaintabfocus.default)({\n context: overlay\n });\n return ({\n \"Overlay.useEffect\": ()=>{\n handle2.disengage();\n }\n })[\"Overlay.useEffect\"];\n }\n }[\"Overlay.useEffect\"], [\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9PdmVybGF5LmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBaURTQTs7O2VBQUFBOzs7Ozs7dUZBakRZOzZFQUNFO3dDQUNNO0FBUTdCLE1BQU1BLFVBQWtDLFNBQVNBLFFBQVEsS0FJeEQ7SUFKd0QsTUFDdkRDLFNBQVMsRUFDVEMsUUFBUSxFQUNSQyxLQUFLLEVBQ04sR0FKd0Q7SUFLdkRDLE9BQU1DLFNBQVM7NkJBQUM7WUFDZEMsQ0FBQUEsR0FBQUEsWUFBQUEsSUFBQUE7WUFDQTtxQ0FBTztvQkFDTEMsQ0FBQUEsR0FBQUEsWUFBQUEsTUFBQUE7Z0JBQ0Y7O1FBQ0Y7NEJBQUcsRUFBRTtJQUVMLE1BQU0sQ0FBQ0MsU0FBU0MsV0FBVyxHQUFHTCxPQUFNTSxRQUFRLENBQXdCO0lBQ3BFLE1BQU1DLFlBQVlQLE9BQU1RLFdBQVc7MENBQUMsQ0FBQ0M7WUFDbkNKLFdBQVdJO1FBQ2I7eUNBQUcsRUFBRTtJQUVMVCxPQUFNQyxTQUFTOzZCQUFDO1lBQ2QsSUFBSUcsV0FBVyxNQUFNO2dCQUNuQjtZQUNGO1lBRUEsTUFBTU0sVUFBVUMsQ0FBQUEsR0FBQUEsa0JBQUFBLE9BQUFBLEVBQVM7Z0JBQUVDLFNBQVNSO1lBQVE7WUFDNUM7cUNBQU87b0JBQ0xNLFFBQVFHLFNBQVM7Z0JBQ25COztRQUNGOzRCQUFHO1FBQUNUO0tBQVE7SUFFWixPQUNFLFdBREYsR0FDRSxzQkFBQ1UsT0FBQUE7UUFBSUMsNEJBQTBCO1FBQUNsQixXQUFXQTtRQUFXbUIsS0FBS1Q7OzBCQUN6RCxxQkFBQ08sT0FBQUE7Z0JBQ0NHLDZCQUEyQjtnQkFDM0JDLHFDQUFtQ25CLFFBQVEsT0FBT29COztZQUVuRHJCOzs7QUFHUCIsInNvdXJjZXMiOlsiQzpcXHNyY1xcY2xpZW50XFxjb21wb25lbnRzXFxyZWFjdC1kZXYtb3ZlcmxheVxcaW50ZXJuYWxcXGNvbXBvbmVudHNcXE92ZXJsYXlcXE92ZXJsYXkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhbGx5VHJhcCBmcm9tICcuL21haW50YWluLS10YWItZm9jdXMnXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGxvY2ssIHVubG9jayB9IGZyb20gJy4vYm9keS1sb2NrZXInXG5cbmV4cG9ydCB0eXBlIE92ZXJsYXlQcm9wcyA9IHtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGVcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGZpeGVkPzogYm9vbGVhblxufVxuXG5jb25zdCBPdmVybGF5OiBSZWFjdC5GQzxPdmVybGF5UHJvcHM+ID0gZnVuY3Rpb24gT3ZlcmxheSh7XG4gIGNsYXNzTmFtZSxcbiAgY2hpbGRyZW4sXG4gIGZpeGVkLFxufSkge1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxvY2soKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB1bmxvY2soKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgW292ZXJsYXksIHNldE92ZXJsYXldID0gUmVhY3QudXNlU3RhdGU8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBvbk92ZXJsYXkgPSBSZWFjdC51c2VDYWxsYmFjaygoZWw6IEhUTUxEaXZFbGVtZW50KSA9PiB7XG4gICAgc2V0T3ZlcmxheShlbClcbiAgfSwgW10pXG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAob3ZlcmxheSA9PSBudWxsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGUyID0gYWxseVRyYXAoeyBjb250ZXh0OiBvdmVybGF5IH0pXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGhhbmRsZTIuZGlzZW5nYWdlKClcbiAgICB9XG4gIH0sIFtvdmVybGF5XSlcblxuICByZXR1cm4gKFxuICAgIDxkaXYgZGF0YS1uZXh0anMtZGlhbG9nLW92ZXJsYXkgY2xhc3NOYW1lPXtjbGFzc05hbWV9IHJlZj17b25PdmVybGF5fT5cbiAgICAgIDxkaXZcbiAgICAgICAgZGF0YS1uZXh0anMtZGlhbG9nLWJhY2tkcm9wXG4gICAgICAgIGRhdGEtbmV4dGpzLWRpYWxvZy1iYWNrZHJvcC1maXhlZD17Zml4ZWQgPyB0cnVlIDogdW5kZWZpbmVkfVxuICAgICAgLz5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgeyBPdmVybGF5IH1cbiJdLCJuYW1lcyI6WyJPdmVybGF5IiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJmaXhlZCIsIlJlYWN0IiwidXNlRWZmZWN0IiwibG9jayIsInVubG9jayIsIm92ZXJsYXkiLCJzZXRPdmVybGF5IiwidXNlU3RhdGUiLCJvbk92ZXJsYXkiLCJ1c2VDYWxsYmFjayIsImVsIiwiaGFuZGxlMiIsImFsbHlUcmFwIiwiY29udGV4dCIsImRpc2VuZ2FnZSIsImRpdiIsImRhdGEtbmV4dGpzLWRpYWxvZy1vdmVybGF5IiwicmVmIiwiZGF0YS1uZXh0anMtZGlhbG9nLWJhY2tkcm9wIiwiZGF0YS1uZXh0anMtZGlhbG9nLWJhY2tkcm9wLWZpeGVkIiwidW5kZWZpbmVkIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9ib2R5LWxvY2tlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFLZ0JBLElBQUk7ZUFBSkE7O0lBbUJBQyxNQUFNO2VBQU5BOzs7QUF4QmhCLElBQUlDO0FBQ0osSUFBSUM7QUFFSixJQUFJQyxjQUFjO0FBRVgsU0FBU0o7SUFDZEssV0FBVztRQUNULElBQUlELGdCQUFnQixHQUFHO1lBQ3JCO1FBQ0Y7UUFFQSxNQUFNRSxlQUNKQyxPQUFPQyxVQUFVLEdBQUdDLFNBQVNDLGVBQWUsQ0FBQ0MsV0FBVztRQUUxRCxJQUFJTCxlQUFlLEdBQUc7WUFDcEJKLDJCQUEyQk8sU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVk7WUFDM0RMLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxZQUFZLEdBQUksS0FBRVIsZUFBYTtRQUNyRDtRQUVBSCw4QkFBOEJNLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDRSxRQUFRO1FBQzFETixTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0UsUUFBUSxHQUFHO0lBQ2pDO0FBQ0Y7QUFFTyxTQUFTZDtJQUNkSSxXQUFXO1FBQ1QsSUFBSUQsZ0JBQWdCLEtBQUssRUFBRUEsZ0JBQWdCLEdBQUc7WUFDNUM7UUFDRjtRQUVBLElBQUlGLDZCQUE2QmMsV0FBVztZQUMxQ1AsU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVksR0FBR1o7WUFDbkNBLDJCQUEyQmM7UUFDN0I7UUFFQSxJQUFJYixnQ0FBZ0NhLFdBQVc7WUFDN0NQLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDRSxRQUFRLEdBQUdaO1lBQy9CQSw4QkFBOEJhO1FBQ2hDO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsiQzpcXHNyY1xcY2xpZW50XFxjb21wb25lbnRzXFxyZWFjdC1kZXYtb3ZlcmxheVxcaW50ZXJuYWxcXGNvbXBvbmVudHNcXE92ZXJsYXlcXGJvZHktbG9ja2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImxldCBwcmV2aW91c0JvZHlQYWRkaW5nUmlnaHQ6IHN0cmluZyB8IHVuZGVmaW5lZFxubGV0IHByZXZpb3VzQm9keU92ZXJmbG93U2V0dGluZzogc3RyaW5nIHwgdW5kZWZpbmVkXG5cbmxldCBhY3RpdmVMb2NrcyA9IDBcblxuZXhwb3J0IGZ1bmN0aW9uIGxvY2soKSB7XG4gIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgIGlmIChhY3RpdmVMb2NrcysrID4gMCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3Qgc2Nyb2xsQmFyR2FwID1cbiAgICAgIHdpbmRvdy5pbm5lcldpZHRoIC0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoXG5cbiAgICBpZiAoc2Nyb2xsQmFyR2FwID4gMCkge1xuICAgICAgcHJldmlvdXNCb2R5UGFkZGluZ1JpZ2h0ID0gZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHRcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0ID0gYCR7c2Nyb2xsQmFyR2FwfXB4YFxuICAgIH1cblxuICAgIHByZXZpb3VzQm9keU92ZXJmbG93U2V0dGluZyA9IGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3dcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbidcbiAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVubG9jaygpIHtcbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgaWYgKGFjdGl2ZUxvY2tzID09PSAwIHx8IC0tYWN0aXZlTG9ja3MgIT09IDApIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChwcmV2aW91c0JvZHlQYWRkaW5nUmlnaHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQgPSBwcmV2aW91c0JvZHlQYWRkaW5nUmlnaHRcbiAgICAgIHByZXZpb3VzQm9keVBhZGRpbmdSaWdodCA9IHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGlmIChwcmV2aW91c0JvZHlPdmVyZmxvd1NldHRpbmcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9IHByZXZpb3VzQm9keU92ZXJmbG93U2V0dGluZ1xuICAgICAgcHJldmlvdXNCb2R5T3ZlcmZsb3dTZXR0aW5nID0gdW5kZWZpbmVkXG4gICAgfVxuICB9KVxufVxuIl0sIm5hbWVzIjpbImxvY2siLCJ1bmxvY2siLCJwcmV2aW91c0JvZHlQYWRkaW5nUmlnaHQiLCJwcmV2aW91c0JvZHlPdmVyZmxvd1NldHRpbmciLCJhY3RpdmVMb2NrcyIsInNldFRpbWVvdXQiLCJzY3JvbGxCYXJHYXAiLCJ3aW5kb3ciLCJpbm5lcldpZHRoIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJjbGllbnRXaWR0aCIsImJvZHkiLCJzdHlsZSIsInBhZGRpbmdSaWdodCIsIm92ZXJmbG93IiwidW5kZWZpbmVkIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQUFTQTs7O2VBQUFBLFNBQUFBLE9BQU87OztxQ0FBUSIsInNvdXJjZXMiOlsiQzpcXHNyY1xcY2xpZW50XFxjb21wb25lbnRzXFxyZWFjdC1kZXYtb3ZlcmxheVxcaW50ZXJuYWxcXGNvbXBvbmVudHNcXE92ZXJsYXlcXGluZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBPdmVybGF5IH0gZnJvbSAnLi9PdmVybGF5J1xuIl0sIm5hbWVzIjpbIk92ZXJsYXkiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\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 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 = '' + '
';\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 = '' + '
';\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 = '' + '
';\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 = '' + '
';\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 = 'hello';\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 = 'content
';\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 = 'hello';\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 = '
';\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 = '' + '
';\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 ()\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 = '' + '
';\n // focus the
, not the