diff --git a/.gitignore b/.gitignore index 3ac00b9..2b4caf6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,41 @@ -node_modules +# Зависимости +node_modules/ +.pnp +.pnp.js +.yarn/install-state.gz -.env.local +# Сборка Next.js +.next/ +out/ +build/ +dist/ -*.txt +# Переменные окружения +.env +.env.* +!.env.example + +# Отладочные логи +npm-debug.log* +yarn-debug.log* +yarn-error.log* +*.log + +# Кэш и временные файлы +.cache/ +.swc/ +.turbo/ + +# IDE и ОС +.DS_Store +Thumbs.db +.idea/ +.vscode/ + +# Тестовое покрытие +coverage/ +.nyc_output/ + +# TypeScript +*.tsbuildinfo +next-env.d.ts diff --git a/.next/app-build-manifest.json b/.next/app-build-manifest.json index e5ced29..84ab594 100644 --- a/.next/app-build-manifest.json +++ b/.next/app-build-manifest.json @@ -10,6 +10,11 @@ "static/chunks/webpack.js", "static/chunks/main-app.js", "static/chunks/app/offers/[id]/page.js" + ], + "/search/page": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/search/page.js" ] } } \ No newline at end of file diff --git a/.next/cache/webpack/client-development/1.pack.gz b/.next/cache/webpack/client-development/1.pack.gz index 0a9e6d4..2215844 100644 Binary files a/.next/cache/webpack/client-development/1.pack.gz and b/.next/cache/webpack/client-development/1.pack.gz differ diff --git a/.next/cache/webpack/client-development/index.pack.gz b/.next/cache/webpack/client-development/index.pack.gz index 2090307..ae4fc20 100644 Binary files a/.next/cache/webpack/client-development/index.pack.gz and b/.next/cache/webpack/client-development/index.pack.gz differ diff --git a/.next/cache/webpack/client-development/index.pack.gz.old b/.next/cache/webpack/client-development/index.pack.gz.old index 36fb938..2090307 100644 Binary files a/.next/cache/webpack/client-development/index.pack.gz.old and b/.next/cache/webpack/client-development/index.pack.gz.old differ diff --git a/.next/cache/webpack/server-development/0.pack.gz b/.next/cache/webpack/server-development/0.pack.gz index d20976c..4a21981 100644 Binary files a/.next/cache/webpack/server-development/0.pack.gz and b/.next/cache/webpack/server-development/0.pack.gz differ diff --git a/.next/cache/webpack/server-development/index.pack.gz b/.next/cache/webpack/server-development/index.pack.gz index e7efdcd..120a9f1 100644 Binary files a/.next/cache/webpack/server-development/index.pack.gz and b/.next/cache/webpack/server-development/index.pack.gz differ diff --git a/.next/react-loadable-manifest.json b/.next/react-loadable-manifest.json index 2c5afcb..e5c01bd 100644 --- a/.next/react-loadable-manifest.json +++ b/.next/react-loadable-manifest.json @@ -4,5 +4,11 @@ "files": [ "static/chunks/_app-pages-browser_node_modules_next_dist_client_dev_noop-turbopack-hmr_js.js" ] + }, + "app\\search\\page.tsx -> @/components/map/LiveMap": { + "id": "app\\search\\page.tsx -> @/components/map/LiveMap", + "files": [ + "static/chunks/_app-pages-browser_src_components_map_LiveMap_tsx.js" + ] } } \ No newline at end of file diff --git a/.next/server/app-paths-manifest.json b/.next/server/app-paths-manifest.json index 81e84b6..f525024 100644 --- a/.next/server/app-paths-manifest.json +++ b/.next/server/app-paths-manifest.json @@ -1,3 +1,4 @@ { + "/search/page": "app/search/page.js", "/offers/[id]/page": "app/offers/[id]/page.js" } \ No newline at end of file diff --git a/.next/server/app/offers/[id]/page.js b/.next/server/app/offers/[id]/page.js index 6000897..69d4261 100644 --- a/.next/server/app/offers/[id]/page.js +++ b/.next/server/app/offers/[id]/page.js @@ -597,7 +597,7 @@ function() { throw new Error("Attempted to call Header() from the server but Hea var __webpack_require__ = require("../../../webpack-runtime.js"); __webpack_require__.C(exports); var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/axios","vendor-chunks/@radix-ui","vendor-chunks/lucide-react","vendor-chunks/asynckit","vendor-chunks/math-intrinsics","vendor-chunks/cookies-next","vendor-chunks/react-remove-scroll","vendor-chunks/es-errors","vendor-chunks/@floating-ui","vendor-chunks/call-bind-apply-helpers","vendor-chunks/@swc","vendor-chunks/react-style-singleton","vendor-chunks/react-remove-scroll-bar","vendor-chunks/debug","vendor-chunks/use-callback-ref","vendor-chunks/get-proto","vendor-chunks/zustand","vendor-chunks/use-sidecar","vendor-chunks/mime-db","vendor-chunks/has-symbols","vendor-chunks/gopd","vendor-chunks/function-bind","vendor-chunks/form-data","vendor-chunks/follow-redirects","vendor-chunks/tslib","vendor-chunks/tailwind-merge","vendor-chunks/sonner","vendor-chunks/next-themes","vendor-chunks/clsx","vendor-chunks/class-variance-authority","vendor-chunks/leaflet","vendor-chunks/supports-color","vendor-chunks/proxy-from-env","vendor-chunks/ms","vendor-chunks/mime-types","vendor-chunks/hasown","vendor-chunks/has-tostringtag","vendor-chunks/has-flag","vendor-chunks/get-nonce","vendor-chunks/get-intrinsic","vendor-chunks/es-set-tostringtag","vendor-chunks/es-object-atoms","vendor-chunks/es-define-property","vendor-chunks/dunder-proto","vendor-chunks/delayed-stream","vendor-chunks/cookie","vendor-chunks/combined-stream","vendor-chunks/aria-hidden"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Foffers%2F%5Bid%5D%2Fpage&page=%2Foffers%2F%5Bid%5D%2Fpage&appPaths=%2Foffers%2F%5Bid%5D%2Fpage&pagePath=private-next-app-dir%2Foffers%2F%5Bid%5D%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); +var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@radix-ui","vendor-chunks/axios","vendor-chunks/mime-db","vendor-chunks/@floating-ui","vendor-chunks/tailwind-merge","vendor-chunks/sonner","vendor-chunks/cookies-next","vendor-chunks/follow-redirects","vendor-chunks/debug","vendor-chunks/lucide-react","vendor-chunks/tslib","vendor-chunks/react-remove-scroll","vendor-chunks/form-data","vendor-chunks/get-intrinsic","vendor-chunks/cookie","vendor-chunks/asynckit","vendor-chunks/aria-hidden","vendor-chunks/next-themes","vendor-chunks/react-remove-scroll-bar","vendor-chunks/combined-stream","vendor-chunks/mime-types","vendor-chunks/use-callback-ref","vendor-chunks/proxy-from-env","vendor-chunks/use-sidecar","vendor-chunks/class-variance-authority","vendor-chunks/ms","vendor-chunks/supports-color","vendor-chunks/react-style-singleton","vendor-chunks/has-symbols","vendor-chunks/delayed-stream","vendor-chunks/function-bind","vendor-chunks/@swc","vendor-chunks/zustand","vendor-chunks/es-set-tostringtag","vendor-chunks/get-proto","vendor-chunks/call-bind-apply-helpers","vendor-chunks/dunder-proto","vendor-chunks/math-intrinsics","vendor-chunks/es-errors","vendor-chunks/clsx","vendor-chunks/has-flag","vendor-chunks/gopd","vendor-chunks/get-nonce","vendor-chunks/es-define-property","vendor-chunks/hasown","vendor-chunks/has-tostringtag","vendor-chunks/leaflet","vendor-chunks/es-object-atoms"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Foffers%2F%5Bid%5D%2Fpage&page=%2Foffers%2F%5Bid%5D%2Fpage&appPaths=%2Foffers%2F%5Bid%5D%2Fpage&pagePath=private-next-app-dir%2Foffers%2F%5Bid%5D%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"))); module.exports = __webpack_exports__; })(); \ No newline at end of file diff --git a/.next/server/app/offers/[id]/page_client-reference-manifest.js b/.next/server/app/offers/[id]/page_client-reference-manifest.js index c4b4962..85393b1 100644 --- a/.next/server/app/offers/[id]/page_client-reference-manifest.js +++ b/.next/server/app/offers/[id]/page_client-reference-manifest.js @@ -1 +1 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/offers/[id]/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(ssr)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(ssr)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(ssr)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(ssr)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(ssr)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\leaflet\\dist\\leaflet.css":{"id":"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx":{"id":"(app-pages-browser)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx":{"id":"(app-pages-browser)/./src/components/theme/theme-provider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx":{"id":"(app-pages-browser)/./src/components/ui/sonner.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx":{"id":"(app-pages-browser)/./src/widgets/Header.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page.tsx":{"id":"(app-pages-browser)/./src/app/offers/[id]/page.tsx","name":"*","chunks":["app/offers/[id]/page","static/chunks/app/offers/%5Bid%5D/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false}},"entryCSSFiles":{"E:\\GIT\\mvp\\nashel-frontend\\src\\":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\layout":[{"inlined":false,"path":"static/css/app/layout.css"}],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page":[]},"rscModuleMapping":{"(app-pages-browser)/./src/app/globals.css":{"*":{"id":"(rsc)/./src/app/globals.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css":{"*":{"id":"(rsc)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(rsc)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(rsc)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(rsc)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(rsc)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(rsc)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/offers/[id]/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(ssr)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(ssr)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(ssr)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(ssr)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(ssr)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(ssr)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\font\\google\\target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"src\\\\app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\leaflet\\dist\\leaflet.css":{"id":"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\auth\\AuthProvider.tsx":{"id":"(app-pages-browser)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\theme\\theme-provider.tsx":{"id":"(app-pages-browser)/./src/components/theme/theme-provider.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\sonner.tsx":{"id":"(app-pages-browser)/./src/components/ui/sonner.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\widgets\\Header.tsx":{"id":"(app-pages-browser)/./src/widgets/Header.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page.tsx":{"id":"(app-pages-browser)/./src/app/offers/[id]/page.tsx","name":"*","chunks":["app/offers/[id]/page","static/chunks/app/offers/%5Bid%5D/page.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-segment.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\http-access-fallback\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\esm\\lib\\metadata\\metadata-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx":{"id":"(app-pages-browser)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"E:\\GIT\\mvp\\nashel-frontend\\src\\":[],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\layout":[{"inlined":false,"path":"static/css/app/layout.css"}],"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\offers\\[id]\\page":[]},"rscModuleMapping":{"(app-pages-browser)/./src/app/globals.css":{"*":{"id":"(rsc)/./src/app/globals.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/leaflet/dist/leaflet.css":{"*":{"id":"(rsc)/./node_modules/leaflet/dist/leaflet.css","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/auth/AuthProvider.tsx":{"*":{"id":"(rsc)/./src/components/auth/AuthProvider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/theme/theme-provider.tsx":{"*":{"id":"(rsc)/./src/components/theme/theme-provider.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/components/ui/sonner.tsx":{"*":{"id":"(rsc)/./src/components/ui/sonner.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/widgets/Header.tsx":{"*":{"id":"(rsc)/./src/widgets/Header.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/offers/[id]/page.tsx":{"*":{"id":"(rsc)/./src/app/offers/[id]/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-segment.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/client-segment.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/lib/metadata/metadata-boundary.js":{"*":{"id":"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/search/page.tsx":{"*":{"id":"(rsc)/./src/app/search/page.tsx","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}} \ No newline at end of file diff --git a/.next/server/middleware-react-loadable-manifest.js b/.next/server/middleware-react-loadable-manifest.js index d3eed5d..63f1826 100644 --- a/.next/server/middleware-react-loadable-manifest.js +++ b/.next/server/middleware-react-loadable-manifest.js @@ -1 +1 @@ -self.__REACT_LOADABLE_MANIFEST="{\"..\\\\node_modules\\\\next\\\\dist\\\\client\\\\components\\\\react-dev-overlay\\\\internal\\\\helpers\\\\use-websocket.js -> @vercel/turbopack-ecmascript-runtime/browser/dev/hmr-client/hmr-client.ts\":{\"id\":\"..\\\\node_modules\\\\next\\\\dist\\\\client\\\\components\\\\react-dev-overlay\\\\internal\\\\helpers\\\\use-websocket.js -> @vercel/turbopack-ecmascript-runtime/browser/dev/hmr-client/hmr-client.ts\",\"files\":[\"static/chunks/_app-pages-browser_node_modules_next_dist_client_dev_noop-turbopack-hmr_js.js\"]}}" \ No newline at end of file +self.__REACT_LOADABLE_MANIFEST="{\"..\\\\node_modules\\\\next\\\\dist\\\\client\\\\components\\\\react-dev-overlay\\\\internal\\\\helpers\\\\use-websocket.js -> @vercel/turbopack-ecmascript-runtime/browser/dev/hmr-client/hmr-client.ts\":{\"id\":\"..\\\\node_modules\\\\next\\\\dist\\\\client\\\\components\\\\react-dev-overlay\\\\internal\\\\helpers\\\\use-websocket.js -> @vercel/turbopack-ecmascript-runtime/browser/dev/hmr-client/hmr-client.ts\",\"files\":[\"static/chunks/_app-pages-browser_node_modules_next_dist_client_dev_noop-turbopack-hmr_js.js\"]},\"app\\\\search\\\\page.tsx -> @/components/map/LiveMap\":{\"id\":\"app\\\\search\\\\page.tsx -> @/components/map/LiveMap\",\"files\":[\"static/chunks/_app-pages-browser_src_components_map_LiveMap_tsx.js\"]}}" \ No newline at end of file diff --git a/.next/server/vendor-chunks/@radix-ui.js b/.next/server/vendor-chunks/@radix-ui.js index 8222569..e40eaeb 100644 --- a/.next/server/vendor-chunks/@radix-ui.js +++ b/.next/server/vendor-chunks/@radix-ui.js @@ -11,6 +11,16 @@ exports.id = "vendor-chunks/@radix-ui"; exports.ids = ["vendor-chunks/@radix-ui"]; exports.modules = { +/***/ "(ssr)/./node_modules/@radix-ui/number/dist/index.mjs": +/*!******************************************************!*\ + !*** ./node_modules/@radix-ui/number/dist/index.mjs ***! + \******************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clamp: () => (/* binding */ clamp)\n/* harmony export */ });\n// packages/core/number/src/number.ts\nfunction clamp(value, [min, max]) {\n return Math.min(max, Math.max(min, value));\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL251bWJlci9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFHRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAcmFkaXgtdWlcXG51bWJlclxcZGlzdFxcaW5kZXgubWpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHBhY2thZ2VzL2NvcmUvbnVtYmVyL3NyYy9udW1iZXIudHNcbmZ1bmN0aW9uIGNsYW1wKHZhbHVlLCBbbWluLCBtYXhdKSB7XG4gIHJldHVybiBNYXRoLm1pbihtYXgsIE1hdGgubWF4KG1pbiwgdmFsdWUpKTtcbn1cbmV4cG9ydCB7XG4gIGNsYW1wXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/number/dist/index.mjs\n"); + +/***/ }), + /***/ "(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs": /*!*********************************************************!*\ !*** ./node_modules/@radix-ui/primitive/dist/index.mjs ***! @@ -31,6 +41,16 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "(ssr)/./node_modules/@radix-ui/react-checkbox/dist/index.mjs": +/*!**************************************************************!*\ + !*** ./node_modules/@radix-ui/react-checkbox/dist/index.mjs ***! + \**************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Checkbox: () => (/* binding */ Checkbox),\n/* harmony export */ CheckboxIndicator: () => (/* binding */ CheckboxIndicator),\n/* harmony export */ Indicator: () => (/* binding */ CheckboxIndicator),\n/* harmony export */ Root: () => (/* binding */ Checkbox),\n/* harmony export */ createCheckboxScope: () => (/* binding */ createCheckboxScope),\n/* harmony export */ unstable_BubbleInput: () => (/* binding */ CheckboxBubbleInput),\n/* harmony export */ unstable_CheckboxBubbleInput: () => (/* binding */ CheckboxBubbleInput),\n/* harmony export */ unstable_CheckboxProvider: () => (/* binding */ CheckboxProvider),\n/* harmony export */ unstable_CheckboxTrigger: () => (/* binding */ CheckboxTrigger),\n/* harmony export */ unstable_Provider: () => (/* binding */ CheckboxProvider),\n/* harmony export */ unstable_Trigger: () => (/* binding */ CheckboxTrigger)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-context */ \"(ssr)/./node_modules/@radix-ui/react-context/dist/index.mjs\");\n/* harmony import */ var _radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @radix-ui/primitive */ \"(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-use-controllable-state */ \"(ssr)/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @radix-ui/react-use-previous */ \"(ssr)/./node_modules/@radix-ui/react-use-previous/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_size__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @radix-ui/react-use-size */ \"(ssr)/./node_modules/@radix-ui/react-use-size/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @radix-ui/react-presence */ \"(ssr)/./node_modules/@radix-ui/react-presence/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ Checkbox,CheckboxIndicator,Indicator,Root,createCheckboxScope,unstable_BubbleInput,unstable_CheckboxBubbleInput,unstable_CheckboxProvider,unstable_CheckboxTrigger,unstable_Provider,unstable_Trigger auto */ // src/checkbox.tsx\n\n\n\n\n\n\n\n\n\n\nvar CHECKBOX_NAME = \"Checkbox\";\nvar [createCheckboxContext, createCheckboxScope] = (0,_radix_ui_react_context__WEBPACK_IMPORTED_MODULE_2__.createContextScope)(CHECKBOX_NAME);\nvar [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);\nfunction CheckboxProvider(props) {\n const { __scopeCheckbox, checked: checkedProp, children, defaultChecked, disabled, form, name, onCheckedChange, required, value = \"on\", // @ts-expect-error\n internal_do_not_use_render } = props;\n const [checked, setChecked] = (0,_radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_3__.useControllableState)({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: CHECKBOX_NAME\n });\n const [control, setControl] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [bubbleInput, setBubbleInput] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const hasConsumerStoppedPropagationRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const isFormControl = control ? !!form || !!control.closest(\"form\") : // We set this to true by default so that events bubble to forms without JS (SSR)\n true;\n const context = {\n checked,\n disabled,\n setChecked,\n control,\n setControl,\n name,\n form,\n value,\n hasConsumerStoppedPropagationRef,\n required,\n defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n isFormControl,\n bubbleInput,\n setBubbleInput\n };\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(CheckboxProviderImpl, {\n scope: __scopeCheckbox,\n ...context,\n children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children\n });\n}\nvar TRIGGER_NAME = \"CheckboxTrigger\";\nvar CheckboxTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef)=>{\n const { control, value, disabled, checked, required, setControl, setChecked, hasConsumerStoppedPropagationRef, isFormControl, bubbleInput } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_4__.useComposedRefs)(forwardedRef, setControl);\n const initialCheckedStateRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(checked);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"CheckboxTrigger.useEffect\": ()=>{\n const form = control?.form;\n if (form) {\n const reset = {\n \"CheckboxTrigger.useEffect.reset\": ()=>setChecked(initialCheckedStateRef.current)\n }[\"CheckboxTrigger.useEffect.reset\"];\n form.addEventListener(\"reset\", reset);\n return ({\n \"CheckboxTrigger.useEffect\": ()=>form.removeEventListener(\"reset\", reset)\n })[\"CheckboxTrigger.useEffect\"];\n }\n }\n }[\"CheckboxTrigger.useEffect\"], [\n control,\n setChecked\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_5__.Primitive.button, {\n type: \"button\",\n role: \"checkbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...checkboxProps,\n ref: composedRefs,\n onKeyDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(onKeyDown, (event)=>{\n if (event.key === \"Enter\") event.preventDefault();\n }),\n onClick: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_6__.composeEventHandlers)(onClick, (event)=>{\n setChecked((prevChecked)=>isIndeterminate(prevChecked) ? true : !prevChecked);\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n });\n});\nCheckboxTrigger.displayName = TRIGGER_NAME;\nvar Checkbox = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeCheckbox, name, checked, defaultChecked, required, disabled, value, onCheckedChange, form, ...checkboxProps } = props;\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(CheckboxProvider, {\n __scopeCheckbox,\n checked,\n defaultChecked,\n disabled,\n required,\n onCheckedChange,\n name,\n form,\n value,\n internal_do_not_use_render: ({ isFormControl })=>/* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, {\n children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(CheckboxTrigger, {\n ...checkboxProps,\n ref: forwardedRef,\n __scopeCheckbox\n }),\n isFormControl && /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(CheckboxBubbleInput, {\n __scopeCheckbox\n })\n ]\n })\n });\n});\nCheckbox.displayName = CHECKBOX_NAME;\nvar INDICATOR_NAME = \"CheckboxIndicator\";\nvar CheckboxIndicator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_presence__WEBPACK_IMPORTED_MODULE_7__.Presence, {\n present: forceMount || isIndeterminate(context.checked) || context.checked === true,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_5__.Primitive.span, {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...indicatorProps,\n ref: forwardedRef,\n style: {\n pointerEvents: \"none\",\n ...props.style\n }\n })\n });\n});\nCheckboxIndicator.displayName = INDICATOR_NAME;\nvar BUBBLE_INPUT_NAME = \"CheckboxBubbleInput\";\nvar CheckboxBubbleInput = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(({ __scopeCheckbox, ...props }, forwardedRef)=>{\n const { control, hasConsumerStoppedPropagationRef, checked, defaultChecked, required, disabled, name, value, form, bubbleInput, setBubbleInput } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_4__.useComposedRefs)(forwardedRef, setBubbleInput);\n const prevChecked = (0,_radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_8__.usePrevious)(checked);\n const controlSize = (0,_radix_ui_react_use_size__WEBPACK_IMPORTED_MODULE_9__.useSize)(control);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"CheckboxBubbleInput.useEffect\": ()=>{\n const input = bubbleInput;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"checked\");\n const setChecked = descriptor.set;\n const bubbles = !hasConsumerStoppedPropagationRef.current;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", {\n bubbles\n });\n input.indeterminate = isIndeterminate(checked);\n setChecked.call(input, isIndeterminate(checked) ? false : checked);\n input.dispatchEvent(event);\n }\n }\n }[\"CheckboxBubbleInput.useEffect\"], [\n bubbleInput,\n prevChecked,\n checked,\n hasConsumerStoppedPropagationRef\n ]);\n const defaultCheckedRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(isIndeterminate(checked) ? false : checked);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_5__.Primitive.input, {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: defaultChecked ?? defaultCheckedRef.current,\n required,\n disabled,\n name,\n value,\n form,\n ...props,\n tabIndex: -1,\n ref: composedRefs,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: \"translateX(-100%)\"\n }\n });\n});\nCheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWNoZWNrYm94L2Rpc3QvaW5kZXgubWpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBdUI7QUFDUztBQUNHO0FBQ0U7QUFDQTtBQUNUO0FBQ0o7QUFDQztBQUNDO0FBaUd0QjtBQTdGSixJQUFNLGdCQUFnQjtBQUd0QixJQUFNLENBQUMsdUJBQXVCLG1CQUFtQixJQUFJLDJFQUFrQixDQUFDLGFBQWE7QUFxQnJGLElBQU0sQ0FBQyxzQkFBc0Isa0JBQWtCLElBQzdDLHNCQUE0QyxhQUFhO0FBa0IzRCxTQUFTLGlCQUNQLE9BQ0E7SUFDQSxNQUFNLEVBQ0osaUJBQ0EsU0FBUyxhQUNULFVBQ0EsZ0JBQ0EsVUFDQSxNQUNBLE1BQ0EsaUJBQ0EsVUFDQSxRQUFRO0lBRVIsNEJBQ0YsR0FBSTtJQUVKLE1BQU0sQ0FBQyxTQUFTLFVBQVUsSUFBSSw0RkFBb0IsQ0FBQztRQUNqRCxNQUFNO1FBQ04sYUFBYSxrQkFBa0I7UUFDL0IsVUFBVTtRQUNWLFFBQVE7SUFDVixDQUFDO0lBQ0QsTUFBTSxDQUFDLFNBQVMsVUFBVSxJQUFVLDRDQUFtQyxJQUFJO0lBQzNFLE1BQU0sQ0FBQyxhQUFhLGNBQWMsSUFBVSw0Q0FBa0MsSUFBSTtJQUNsRixNQUFNLG1DQUF5QywwQ0FBTyxLQUFLO0lBQzNELE1BQU0sZ0JBQWdCLFVBQ2xCLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLFFBQVEsTUFBTTtJQUVsQztJQUVKLE1BQU0sVUFBdUM7UUFDM0M7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQSxnQkFBZ0IsZ0JBQWdCLGNBQWMsSUFBSSxRQUFRO1FBQzFEO1FBQ0E7UUFDQTtJQUNGO0lBRUEsT0FDRSx1RUFBQztRQUNDLE9BQU87UUFDTixHQUFJO1FBRUoscUJBQVcsMEJBQTBCLElBQUksMkJBQTJCLE9BQU8sSUFBSTtJQUFBO0FBR3RGO0FB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UyxTQUF1QjtJQUN2QyxPQUFPLGdCQUFnQixPQUFPLElBQUksa0JBQWtCLFVBQVUsWUFBWTtBQUM1RSIsInNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxzcmNcXGNoZWNrYm94LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzJztcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHRTY29wZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1jb250ZXh0JztcbmltcG9ydCB7IGNvbXBvc2VFdmVudEhhbmRsZXJzIH0gZnJvbSAnQHJhZGl4LXVpL3ByaW1pdGl2ZSc7XG5pbXBvcnQgeyB1c2VDb250cm9sbGFibGVTdGF0ZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC11c2UtY29udHJvbGxhYmxlLXN0YXRlJztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1wcmV2aW91cyc7XG5pbXBvcnQgeyB1c2VTaXplIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1zaXplJztcbmltcG9ydCB7IFByZXNlbmNlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXByZXNlbmNlJztcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1wcmltaXRpdmUnO1xuXG5pbXBvcnQgdHlwZSB7IFNjb3BlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWNvbnRleHQnO1xuXG5jb25zdCBDSEVDS0JPWF9OQU1FID0gJ0NoZWNrYm94JztcblxudHlwZSBTY29wZWRQcm9wczxQPiA9IFAgJiB7IF9fc2NvcGVDaGVja2JveD86IFNjb3BlIH07XG5jb25zdCBbY3JlYXRlQ2hlY2tib3hDb250ZXh0LCBjcmVhdGVDaGVja2JveFNjb3BlXSA9IGNyZWF0ZUNvbnRleHRTY29wZShDSEVDS0JPWF9OQU1FKTtcblxudHlwZSBDaGVja2VkU3RhdGUgPSBib29sZWFuIHwgJ2luZGV0ZXJtaW5hdGUnO1xuXG50eXBlIENoZWNrYm94Q29udGV4dFZhbHVlPFN0YXRlIGV4dGVuZHMgQ2hlY2tlZFN0YXRlIHwgYm9vbGVhbiA9IENoZWNrZWRTdGF0ZT4gPSB7XG4gIGNoZWNrZWQ6IFN0YXRlIHwgYm9vbGVhbjtcbiAgc2V0Q2hlY2tlZDogUmVhY3QuRGlzcGF0Y2g8UmVhY3QuU2V0U3RhdGVBY3Rpb248U3RhdGUgfCBib29sZWFuPj47XG4gIGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBjb250cm9sOiBIVE1MQnV0dG9uRWxlbWVudCB8IG51bGw7XG4gIHNldENvbnRyb2w6IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbD4+O1xuICBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGZvcm06IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHJlYWRvbmx5IHN0cmluZ1tdO1xuICBoYXNDb25zdW1lclN0b3BwZWRQcm9wYWdhdGlvblJlZjogUmVhY3QuUmVmT2JqZWN0PGJvb2xlYW4+O1xuICByZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgZGVmYXVsdENoZWNrZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIGlzRm9ybUNvbnRyb2w6IGJvb2xlYW47XG4gIGJ1YmJsZUlucHV0OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbDtcbiAgc2V0QnViYmxlSW5wdXQ6IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsPj47XG59O1xuXG5jb25zdCBbQ2hlY2tib3hQcm92aWRlckltcGwsIHVzZUNoZWNrYm94Q29udGV4dF0gPVxuICBjcmVhdGVDaGVja2JveENvbnRleHQ8Q2hlY2tib3hDb250ZXh0VmFsdWU+KENIRUNLQk9YX05BTUUpO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBDaGVja2JveFByb3ZpZGVyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmludGVyZmFjZSBDaGVja2JveFByb3ZpZGVyUHJvcHM8U3RhdGUgZXh0ZW5kcyBDaGVja2VkU3RhdGUgPSBDaGVja2VkU3RhdGU+IHtcbiAgY2hlY2tlZD86IFN0YXRlIHwgYm9vbGVhbjtcbiAgZGVmYXVsdENoZWNrZWQ/OiBTdGF0ZSB8IGJvb2xlYW47XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgb25DaGVja2VkQ2hhbmdlPyhjaGVja2VkOiBTdGF0ZSB8IGJvb2xlYW4pOiB2b2lkO1xuICBuYW1lPzogc3RyaW5nO1xuICBmb3JtPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyIHwgcmVhZG9ubHkgc3RyaW5nW107XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xufVxuXG5mdW5jdGlvbiBDaGVja2JveFByb3ZpZGVyPFN0YXRlIGV4dGVuZHMgQ2hlY2tlZFN0YXRlID0gQ2hlY2tlZFN0YXRlPihcbiAgcHJvcHM6IFNjb3BlZFByb3BzPENoZWNrYm94UHJvdmlkZXJQcm9wczxTdGF0ZT4+XG4pIHtcbiAgY29uc3Qge1xuICAgIF9fc2NvcGVDaGVja2JveCxcbiAgICBjaGVja2VkOiBjaGVja2VkUHJvcCxcbiAgICBjaGlsZHJlbixcbiAgICBkZWZhdWx0Q2hlY2tlZCxcbiAgICBkaXNhYmxlZCxcbiAgICBmb3JtLFxuICAgIG5hbWUsXG4gICAgb25DaGVja2VkQ2hhbmdlLFxuICAgIHJlcXVpcmVkLFxuICAgIHZhbHVlID0gJ29uJyxcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgaW50ZXJuYWxfZG9fbm90X3VzZV9yZW5kZXIsXG4gIH0gPSBwcm9wcztcblxuICBjb25zdCBbY2hlY2tlZCwgc2V0Q2hlY2tlZF0gPSB1c2VDb250cm9sbGFibGVTdGF0ZSh7XG4gICAgcHJvcDogY2hlY2tlZFByb3AsXG4gICAgZGVmYXVsdFByb3A6IGRlZmF1bHRDaGVja2VkID8/IGZhbHNlLFxuICAgIG9uQ2hhbmdlOiBvbkNoZWNrZWRDaGFuZ2UsXG4gICAgY2FsbGVyOiBDSEVDS0JPWF9OQU1FLFxuICB9KTtcbiAgY29uc3QgW2NvbnRyb2wsIHNldENvbnRyb2xdID0gUmVhY3QudXNlU3RhdGU8SFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2J1YmJsZUlucHV0LCBzZXRCdWJibGVJbnB1dF0gPSBSZWFjdC51c2VTdGF0ZTxIVE1MSW5wdXRFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgaXNGb3JtQ29udHJvbCA9IGNvbnRyb2xcbiAgICA/ICEhZm9ybSB8fCAhIWNvbnRyb2wuY2xvc2VzdCgnZm9ybScpXG4gICAgOiAvLyBXZSBzZXQgdGhpcyB0byB0cnVlIGJ5IGRlZmF1bHQgc28gdGhhdCBldmVudHMgYnViYmxlIHRvIGZvcm1zIHdpdGhvdXQgSlMgKFNTUilcbiAgICAgIHRydWU7XG5cbiAgY29uc3QgY29udGV4dDogQ2hlY2tib3hDb250ZXh0VmFsdWU8U3RhdGU+ID0ge1xuICAgIGNoZWNrZWQ6IGNoZWNrZWQsXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLFxuICAgIHNldENoZWNrZWQ6IHNldENoZWNrZWQsXG4gICAgY29udHJvbDogY29udHJvbCxcbiAgICBzZXRDb250cm9sOiBzZXRDb250cm9sLFxuICAgIG5hbWU6IG5hbWUsXG4gICAgZm9ybTogZm9ybSxcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgaGFzQ29uc3VtZXJTdG9wcGVkUHJvcGFnYXRpb25SZWY6IGhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmLFxuICAgIHJlcXVpcmVkOiByZXF1aXJlZCxcbiAgICBkZWZhdWx0Q2hlY2tlZDogaXNJbmRldGVybWluYXRlKGRlZmF1bHRDaGVja2VkKSA/IGZhbHNlIDogZGVmYXVsdENoZWNrZWQsXG4gICAgaXNGb3JtQ29udHJvbDogaXNGb3JtQ29udHJvbCxcbiAgICBidWJibGVJbnB1dCxcbiAgICBzZXRCdWJibGVJbnB1dCxcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxDaGVja2JveFByb3ZpZGVySW1wbFxuICAgICAgc2NvcGU9e19fc2NvcGVDaGVja2JveH1cbiAgICAgIHsuLi4oY29udGV4dCBhcyB1bmtub3duIGFzIENoZWNrYm94Q29udGV4dFZhbHVlPENoZWNrZWRTdGF0ZT4pfVxuICAgID5cbiAgICAgIHtpc0Z1bmN0aW9uKGludGVybmFsX2RvX25vdF91c2VfcmVuZGVyKSA/IGludGVybmFsX2RvX25vdF91c2VfcmVuZGVyKGNvbnRleHQpIDogY2hpbGRyZW59XG4gICAgPC9DaGVja2JveFByb3ZpZGVySW1wbD5cbiAgKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ2hlY2tib3hUcmlnZ2VyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IFRSSUdHRVJfTkFNRSA9ICdDaGVja2JveFRyaWdnZXInO1xuXG5pbnRlcmZhY2UgQ2hlY2tib3hUcmlnZ2VyUHJvcHNcbiAgZXh0ZW5kcyBPbWl0PFxuICAgIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUHJpbWl0aXZlLmJ1dHRvbj4sXG4gICAga2V5b2YgQ2hlY2tib3hQcm92aWRlclByb3BzXG4gID4ge1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuY29uc3QgQ2hlY2tib3hUcmlnZ2VyID0gUmVhY3QuZm9yd2FyZFJlZjxIVE1MQnV0dG9uRWxlbWVudCwgQ2hlY2tib3hUcmlnZ2VyUHJvcHM+KFxuICAoXG4gICAgeyBfX3Njb3BlQ2hlY2tib3gsIG9uS2V5RG93biwgb25DbGljaywgLi4uY2hlY2tib3hQcm9wcyB9OiBTY29wZWRQcm9wczxDaGVja2JveFRyaWdnZXJQcm9wcz4sXG4gICAgZm9yd2FyZGVkUmVmXG4gICkgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGNvbnRyb2wsXG4gICAgICB2YWx1ZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgY2hlY2tlZCxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgc2V0Q29udHJvbCxcbiAgICAgIHNldENoZWNrZWQsXG4gICAgICBoYXNDb25zdW1lclN0b3BwZWRQcm9wYWdhdGlvblJlZixcbiAgICAgIGlzRm9ybUNvbnRyb2wsXG4gICAgICBidWJibGVJbnB1dCxcbiAgICB9ID0gdXNlQ2hlY2tib3hDb250ZXh0KFRSSUdHRVJfTkFNRSwgX19zY29wZUNoZWNrYm94KTtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCBzZXRDb250cm9sKTtcblxuICAgIGNvbnN0IGluaXRpYWxDaGVja2VkU3RhdGVSZWYgPSBSZWFjdC51c2VSZWYoY2hlY2tlZCk7XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGZvcm0gPSBjb250cm9sPy5mb3JtO1xuICAgICAgaWYgKGZvcm0pIHtcbiAgICAgICAgY29uc3QgcmVzZXQgPSAoKSA9PiBzZXRDaGVja2VkKGluaXRpYWxDaGVja2VkU3RhdGVSZWYuY3VycmVudCk7XG4gICAgICAgIGZvcm0uYWRkRXZlbnRMaXN0ZW5lcigncmVzZXQnLCByZXNldCk7XG4gICAgICAgIHJldHVybiAoKSA9PiBmb3JtLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2V0JywgcmVzZXQpO1xuICAgICAgfVxuICAgIH0sIFtjb250cm9sLCBzZXRDaGVja2VkXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFByaW1pdGl2ZS5idXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIHJvbGU9XCJjaGVja2JveFwiXG4gICAgICAgIGFyaWEtY2hlY2tlZD17aXNJbmRldGVybWluYXRlKGNoZWNrZWQpID8gJ21peGVkJyA6IGNoZWNrZWR9XG4gICAgICAgIGFyaWEtcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICBkYXRhLXN0YXRlPXtnZXRTdGF0ZShjaGVja2VkKX1cbiAgICAgICAgZGF0YS1kaXNhYmxlZD17ZGlzYWJsZWQgPyAnJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIHsuLi5jaGVja2JveFByb3BzfVxuICAgICAgICByZWY9e2NvbXBvc2VkUmVmc31cbiAgICAgICAgb25LZXlEb3duPXtjb21wb3NlRXZlbnRIYW5kbGVycyhvbktleURvd24sIChldmVudCkgPT4ge1xuICAgICAgICAgIC8vIEFjY29yZGluZyB0byBXQUkgQVJJQSwgQ2hlY2tib3hlcyBkb24ndCBhY3RpdmF0ZSBvbiBlbnRlciBrZXlwcmVzc1xuICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0pfVxuICAgICAgICBvbkNsaWNrPXtjb21wb3NlRXZlbnRIYW5kbGVycyhvbkNsaWNrLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICBzZXRDaGVja2VkKChwcmV2Q2hlY2tlZCkgPT4gKGlzSW5kZXRlcm1pbmF0ZShwcmV2Q2hlY2tlZCkgPyB0cnVlIDogIXByZXZDaGVja2VkKSk7XG4gICAgICAgICAgaWYgKGJ1YmJsZUlucHV0ICYmIGlzRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgIGhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmLmN1cnJlbnQgPSBldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpO1xuICAgICAgICAgICAgLy8gaWYgY2hlY2tib3ggaGFzIGEgYnViYmxlIGlucHV0IGFuZCBpcyBhIGZvcm0gY29udHJvbCwgc3RvcFxuICAgICAgICAgICAgLy8gcHJvcGFnYXRpb24gZnJvbSB0aGUgYnV0dG9uIHNvIHRoYXQgd2Ugb25seSBwcm9wYWdhdGUgb25lIGNsaWNrXG4gICAgICAgICAgICAvLyBldmVudCAoZnJvbSB0aGUgaW5wdXQpLiBXZSBwcm9wYWdhdGUgY2hhbmdlcyBmcm9tIGFuIGlucHV0IHNvXG4gICAgICAgICAgICAvLyB0aGF0IG5hdGl2ZSBmb3JtIHZhbGlkYXRpb24gd29ya3MgYW5kIGZvcm0gZXZlbnRzIHJlZmxlY3RcbiAgICAgICAgICAgIC8vIGNoZWNrYm94IHVwZGF0ZXMuXG4gICAgICAgICAgICBpZiAoIWhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmLmN1cnJlbnQpIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSl9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbik7XG5cbkNoZWNrYm94VHJpZ2dlci5kaXNwbGF5TmFtZSA9IFRSSUdHRVJfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQ2hlY2tib3hcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxudHlwZSBDaGVja2JveEVsZW1lbnQgPSBSZWFjdC5Db21wb25lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5idXR0b24+O1xudHlwZSBQcmltaXRpdmVCdXR0b25Qcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUHJpbWl0aXZlLmJ1dHRvbj47XG5pbnRlcmZhY2UgQ2hlY2tib3hQcm9wcyBleHRlbmRzIE9taXQ8UHJpbWl0aXZlQnV0dG9uUHJvcHMsICdjaGVja2VkJyB8ICdkZWZhdWx0Q2hlY2tlZCc+IHtcbiAgY2hlY2tlZD86IENoZWNrZWRTdGF0ZTtcbiAgZGVmYXVsdENoZWNrZWQ/OiBDaGVja2VkU3RhdGU7XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgb25DaGVja2VkQ2hhbmdlPyhjaGVja2VkOiBDaGVja2VkU3RhdGUpOiB2b2lkO1xufVxuXG5jb25zdCBDaGVja2JveCA9IFJlYWN0LmZvcndhcmRSZWY8Q2hlY2tib3hFbGVtZW50LCBDaGVja2JveFByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxDaGVja2JveFByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgX19zY29wZUNoZWNrYm94LFxuICAgICAgbmFtZSxcbiAgICAgIGNoZWNrZWQsXG4gICAgICBkZWZhdWx0Q2hlY2tlZCxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICB2YWx1ZSxcbiAgICAgIG9uQ2hlY2tlZENoYW5nZSxcbiAgICAgIGZvcm0sXG4gICAgICAuLi5jaGVja2JveFByb3BzXG4gICAgfSA9IHByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDaGVja2JveFByb3ZpZGVyXG4gICAgICAgIF9fc2NvcGVDaGVja2JveD17X19zY29wZUNoZWNrYm94fVxuICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICBvbkNoZWNrZWRDaGFuZ2U9e29uQ2hlY2tlZENoYW5nZX1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgZm9ybT17Zm9ybX1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgIGludGVybmFsX2RvX25vdF91c2VfcmVuZGVyPXsoeyBpc0Zvcm1Db250cm9sIH06IENoZWNrYm94Q29udGV4dFZhbHVlKSA9PiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxDaGVja2JveFRyaWdnZXJcbiAgICAgICAgICAgICAgey4uLmNoZWNrYm94UHJvcHN9XG4gICAgICAgICAgICAgIHJlZj17Zm9yd2FyZGVkUmVmfVxuICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgIF9fc2NvcGVDaGVja2JveD17X19zY29wZUNoZWNrYm94fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtpc0Zvcm1Db250cm9sICYmIChcbiAgICAgICAgICAgICAgPENoZWNrYm94QnViYmxlSW5wdXRcbiAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgICAgX19zY29wZUNoZWNrYm94PXtfX3Njb3BlQ2hlY2tib3h9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgLz5cbiAgICApO1xuICB9XG4pO1xuXG5DaGVja2JveC5kaXNwbGF5TmFtZSA9IENIRUNLQk9YX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENoZWNrYm94SW5kaWNhdG9yXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IElORElDQVRPUl9OQU1FID0gJ0NoZWNrYm94SW5kaWNhdG9yJztcblxudHlwZSBDaGVja2JveEluZGljYXRvckVsZW1lbnQgPSBSZWFjdC5Db21wb25lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5zcGFuPjtcbnR5cGUgUHJpbWl0aXZlU3BhblByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQcmltaXRpdmUuc3Bhbj47XG5pbnRlcmZhY2UgQ2hlY2tib3hJbmRpY2F0b3JQcm9wcyBleHRlbmRzIFByaW1pdGl2ZVNwYW5Qcm9wcyB7XG4gIC8qKlxuICAgKiBVc2VkIHRvIGZvcmNlIG1vdW50aW5nIHdoZW4gbW9yZSBjb250cm9sIGlzIG5lZWRlZC4gVXNlZnVsIHdoZW5cbiAgICogY29udHJvbGxpbmcgYW5pbWF0aW9uIHdpdGggUmVhY3QgYW5pbWF0aW9uIGxpYnJhcmllcy5cbiAgICovXG4gIGZvcmNlTW91bnQ/OiB0cnVlO1xufVxuXG5jb25zdCBDaGVja2JveEluZGljYXRvciA9IFJlYWN0LmZvcndhcmRSZWY8Q2hlY2tib3hJbmRpY2F0b3JFbGVtZW50LCBDaGVja2JveEluZGljYXRvclByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxDaGVja2JveEluZGljYXRvclByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlQ2hlY2tib3gsIGZvcmNlTW91bnQsIC4uLmluZGljYXRvclByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlQ2hlY2tib3hDb250ZXh0KElORElDQVRPUl9OQU1FLCBfX3Njb3BlQ2hlY2tib3gpO1xuICAgIHJldHVybiAoXG4gICAgICA8UHJlc2VuY2VcbiAgICAgICAgcHJlc2VudD17Zm9yY2VNb3VudCB8fCBpc0luZGV0ZXJtaW5hdGUoY29udGV4dC5jaGVja2VkKSB8fCBjb250ZXh0LmNoZWNrZWQgPT09IHRydWV9XG4gICAgICA+XG4gICAgICAgIDxQcmltaXRpdmUuc3BhblxuICAgICAgICAgIGRhdGEtc3RhdGU9e2dldFN0YXRlKGNvbnRleHQuY2hlY2tlZCl9XG4gICAgICAgICAgZGF0YS1kaXNhYmxlZD17Y29udGV4dC5kaXNhYmxlZCA/ICcnIDogdW5kZWZpbmVkfVxuICAgICAgICAgIHsuLi5pbmRpY2F0b3JQcm9wc31cbiAgICAgICAgICByZWY9e2ZvcndhcmRlZFJlZn1cbiAgICAgICAgICBzdHlsZT17eyBwb2ludGVyRXZlbnRzOiAnbm9uZScsIC4uLnByb3BzLnN0eWxlIH19XG4gICAgICAgIC8+XG4gICAgICA8L1ByZXNlbmNlPlxuICAgICk7XG4gIH1cbik7XG5cbkNoZWNrYm94SW5kaWNhdG9yLmRpc3BsYXlOYW1lID0gSU5ESUNBVE9SX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIENoZWNrYm94QnViYmxlSW5wdXRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgQlVCQkxFX0lOUFVUX05BTUUgPSAnQ2hlY2tib3hCdWJibGVJbnB1dCc7XG5cbnR5cGUgSW5wdXRQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUHJpbWl0aXZlLmlucHV0PjtcbmludGVyZmFjZSBDaGVja2JveEJ1YmJsZUlucHV0UHJvcHMgZXh0ZW5kcyBPbWl0PElucHV0UHJvcHMsICdjaGVja2VkJz4ge31cblxuY29uc3QgQ2hlY2tib3hCdWJibGVJbnB1dCA9IFJlYWN0LmZvcndhcmRSZWY8SFRNTElucHV0RWxlbWVudCwgQ2hlY2tib3hCdWJibGVJbnB1dFByb3BzPihcbiAgKHsgX19zY29wZUNoZWNrYm94LCAuLi5wcm9wcyB9OiBTY29wZWRQcm9wczxDaGVja2JveEJ1YmJsZUlucHV0UHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBjb250cm9sLFxuICAgICAgaGFzQ29uc3VtZXJTdG9wcGVkUHJvcGFnYXRpb25SZWYsXG4gICAgICBjaGVja2VkLFxuICAgICAgZGVmYXVsdENoZWNrZWQsXG4gICAgICByZXF1aXJlZCxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgbmFtZSxcbiAgICAgIHZhbHVlLFxuICAgICAgZm9ybSxcbiAgICAgIGJ1YmJsZUlucHV0LFxuICAgICAgc2V0QnViYmxlSW5wdXQsXG4gICAgfSA9IHVzZUNoZWNrYm94Q29udGV4dChCVUJCTEVfSU5QVVRfTkFNRSwgX19zY29wZUNoZWNrYm94KTtcblxuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIHNldEJ1YmJsZUlucHV0KTtcbiAgICBjb25zdCBwcmV2Q2hlY2tlZCA9IHVzZVByZXZpb3VzKGNoZWNrZWQpO1xuICAgIGNvbnN0IGNvbnRyb2xTaXplID0gdXNlU2l6ZShjb250cm9sKTtcblxuICAgIC8vIEJ1YmJsZSBjaGVja2VkIGNoYW5nZSB0byBwYXJlbnRzIChlLmcgZm9ybSBjaGFuZ2UgZXZlbnQpXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGlucHV0ID0gYnViYmxlSW5wdXQ7XG4gICAgICBpZiAoIWlucHV0KSByZXR1cm47XG5cbiAgICAgIGNvbnN0IGlucHV0UHJvdG8gPSB3aW5kb3cuSFRNTElucHV0RWxlbWVudC5wcm90b3R5cGU7XG4gICAgICBjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihcbiAgICAgICAgaW5wdXRQcm90byxcbiAgICAgICAgJ2NoZWNrZWQnXG4gICAgICApIGFzIFByb3BlcnR5RGVzY3JpcHRvcjtcbiAgICAgIGNvbnN0IHNldENoZWNrZWQgPSBkZXNjcmlwdG9yLnNldDtcblxuICAgICAgY29uc3QgYnViYmxlcyA9ICFoYXNDb25zdW1lclN0b3BwZWRQcm9wYWdhdGlvblJlZi5jdXJyZW50O1xuICAgICAgaWYgKHByZXZDaGVja2VkICE9PSBjaGVja2VkICYmIHNldENoZWNrZWQpIHtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnQoJ2NsaWNrJywgeyBidWJibGVzIH0pO1xuICAgICAgICBpbnB1dC5pbmRldGVybWluYXRlID0gaXNJbmRldGVybWluYXRlKGNoZWNrZWQpO1xuICAgICAgICBzZXRDaGVja2VkLmNhbGwoaW5wdXQsIGlzSW5kZXRlcm1pbmF0ZShjaGVja2VkKSA/IGZhbHNlIDogY2hlY2tlZCk7XG4gICAgICAgIGlucHV0LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgfVxuICAgIH0sIFtidWJibGVJbnB1dCwgcHJldkNoZWNrZWQsIGNoZWNrZWQsIGhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmXSk7XG5cbiAgICBjb25zdCBkZWZhdWx0Q2hlY2tlZFJlZiA9IFJlYWN0LnVzZVJlZihpc0luZGV0ZXJtaW5hdGUoY2hlY2tlZCkgPyBmYWxzZSA6IGNoZWNrZWQpO1xuICAgIHJldHVybiAoXG4gICAgICA8UHJpbWl0aXZlLmlucHV0XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIGFyaWEtaGlkZGVuXG4gICAgICAgIGRlZmF1bHRDaGVja2VkPXtkZWZhdWx0Q2hlY2tlZCA/PyBkZWZhdWx0Q2hlY2tlZFJlZi5jdXJyZW50fVxuICAgICAgICByZXF1aXJlZD17cmVxdWlyZWR9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBmb3JtPXtmb3JtfVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgcmVmPXtjb21wb3NlZFJlZnN9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgLi4ucHJvcHMuc3R5bGUsXG4gICAgICAgICAgLi4uY29udHJvbFNpemUsXG4gICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgbWFyZ2luOiAwLFxuICAgICAgICAgIC8vIFdlIHRyYW5zZm9ybSBiZWNhdXNlIHRoZSBpbnB1dCBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgYnV0IHdlIGhhdmVcbiAgICAgICAgICAvLyByZW5kZXJlZCBpdCAqKmFmdGVyKiogdGhlIGJ1dHRvbi4gVGhpcyBwdWxscyBpdCBiYWNrIHRvIHNpdCBvbiB0b3BcbiAgICAgICAgICAvLyBvZiB0aGUgYnV0dG9uLlxuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJyxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuKTtcblxuQ2hlY2tib3hCdWJibGVJbnB1dC5kaXNwbGF5TmFtZSA9IEJVQkJMRV9JTlBVVF9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyAoLi4uYXJnczogYW55W10pID0+IGFueSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbic7XG59XG5cbmZ1bmN0aW9uIGlzSW5kZXRlcm1pbmF0ZShjaGVja2VkPzogQ2hlY2tlZFN0YXRlKTogY2hlY2tlZCBpcyAnaW5kZXRlcm1pbmF0ZScge1xuICByZXR1cm4gY2hlY2tlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnO1xufVxuXG5mdW5jdGlvbiBnZXRTdGF0ZShjaGVja2VkOiBDaGVja2VkU3RhdGUpIHtcbiAgcmV0dXJuIGlzSW5kZXRlcm1pbmF0ZShjaGVja2VkKSA/ICdpbmRldGVybWluYXRlJyA6IGNoZWNrZWQgPyAnY2hlY2tlZCcgOiAndW5jaGVja2VkJztcbn1cblxuZXhwb3J0IHtcbiAgY3JlYXRlQ2hlY2tib3hTY29wZSxcbiAgLy9cbiAgQ2hlY2tib3gsXG4gIENoZWNrYm94UHJvdmlkZXIsXG4gIENoZWNrYm94VHJpZ2dlcixcbiAgQ2hlY2tib3hJbmRpY2F0b3IsXG4gIENoZWNrYm94QnViYmxlSW5wdXQsXG4gIC8vXG4gIENoZWNrYm94IGFzIFJvb3QsXG4gIENoZWNrYm94UHJvdmlkZXIgYXMgUHJvdmlkZXIsXG4gIENoZWNrYm94VHJpZ2dlciBhcyBUcmlnZ2VyLFxuICBDaGVja2JveEluZGljYXRvciBhcyBJbmRpY2F0b3IsXG4gIENoZWNrYm94QnViYmxlSW5wdXQgYXMgQnViYmxlSW5wdXQsXG59O1xuZXhwb3J0IHR5cGUge1xuICBDaGVja2JveFByb3BzLFxuICBDaGVja2JveFByb3ZpZGVyUHJvcHMsXG4gIENoZWNrYm94VHJpZ2dlclByb3BzLFxuICBDaGVja2JveEluZGljYXRvclByb3BzLFxuICBDaGVja2JveEJ1YmJsZUlucHV0UHJvcHMsXG4gIENoZWNrZWRTdGF0ZSxcbn07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-checkbox/dist/index.mjs\n"); + +/***/ }), + /***/ "(ssr)/./node_modules/@radix-ui/react-collection/dist/index.mjs": /*!****************************************************************!*\ !*** ./node_modules/@radix-ui/react-collection/dist/index.mjs ***! @@ -211,6 +231,26 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "(ssr)/./node_modules/@radix-ui/react-select/dist/index.mjs": +/*!************************************************************!*\ + !*** ./node_modules/@radix-ui/react-select/dist/index.mjs ***! + \************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Arrow: () => (/* binding */ Arrow2),\n/* harmony export */ Content: () => (/* binding */ Content2),\n/* harmony export */ Group: () => (/* binding */ Group),\n/* harmony export */ Icon: () => (/* binding */ Icon),\n/* harmony export */ Item: () => (/* binding */ Item),\n/* harmony export */ ItemIndicator: () => (/* binding */ ItemIndicator),\n/* harmony export */ ItemText: () => (/* binding */ ItemText),\n/* harmony export */ Label: () => (/* binding */ Label),\n/* harmony export */ Portal: () => (/* binding */ Portal),\n/* harmony export */ Root: () => (/* binding */ Root2),\n/* harmony export */ ScrollDownButton: () => (/* binding */ ScrollDownButton),\n/* harmony export */ ScrollUpButton: () => (/* binding */ ScrollUpButton),\n/* harmony export */ Select: () => (/* binding */ Select),\n/* harmony export */ SelectArrow: () => (/* binding */ SelectArrow),\n/* harmony export */ SelectContent: () => (/* binding */ SelectContent),\n/* harmony export */ SelectGroup: () => (/* binding */ SelectGroup),\n/* harmony export */ SelectIcon: () => (/* binding */ SelectIcon),\n/* harmony export */ SelectItem: () => (/* binding */ SelectItem),\n/* harmony export */ SelectItemIndicator: () => (/* binding */ SelectItemIndicator),\n/* harmony export */ SelectItemText: () => (/* binding */ SelectItemText),\n/* harmony export */ SelectLabel: () => (/* binding */ SelectLabel),\n/* harmony export */ SelectPortal: () => (/* binding */ SelectPortal),\n/* harmony export */ SelectScrollDownButton: () => (/* binding */ SelectScrollDownButton),\n/* harmony export */ SelectScrollUpButton: () => (/* binding */ SelectScrollUpButton),\n/* harmony export */ SelectSeparator: () => (/* binding */ SelectSeparator),\n/* harmony export */ SelectTrigger: () => (/* binding */ SelectTrigger),\n/* harmony export */ SelectValue: () => (/* binding */ SelectValue),\n/* harmony export */ SelectViewport: () => (/* binding */ SelectViewport),\n/* harmony export */ Separator: () => (/* binding */ Separator),\n/* harmony export */ Trigger: () => (/* binding */ Trigger),\n/* harmony export */ Value: () => (/* binding */ Value),\n/* harmony export */ Viewport: () => (/* binding */ Viewport),\n/* harmony export */ createSelectScope: () => (/* binding */ createSelectScope)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js\");\n/* harmony import */ var _radix_ui_number__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @radix-ui/number */ \"(ssr)/./node_modules/@radix-ui/number/dist/index.mjs\");\n/* harmony import */ var _radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @radix-ui/primitive */ \"(ssr)/./node_modules/@radix-ui/primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_collection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-collection */ \"(ssr)/./node_modules/@radix-ui/react-collection/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_context__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @radix-ui/react-context */ \"(ssr)/./node_modules/@radix-ui/react-context/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_direction__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @radix-ui/react-direction */ \"(ssr)/./node_modules/@radix-ui/react-direction/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_dismissable_layer__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @radix-ui/react-dismissable-layer */ \"(ssr)/./node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_focus_guards__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @radix-ui/react-focus-guards */ \"(ssr)/./node_modules/@radix-ui/react-focus-guards/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_focus_scope__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @radix-ui/react-focus-scope */ \"(ssr)/./node_modules/@radix-ui/react-focus-scope/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_id__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @radix-ui/react-id */ \"(ssr)/./node_modules/@radix-ui/react-id/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_popper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @radix-ui/react-popper */ \"(ssr)/./node_modules/@radix-ui/react-popper/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_portal__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @radix-ui/react-portal */ \"(ssr)/./node_modules/@radix-ui/react-portal/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @radix-ui/react-slot */ \"(ssr)/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @radix-ui/react-use-callback-ref */ \"(ssr)/./node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @radix-ui/react-use-controllable-state */ \"(ssr)/./node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @radix-ui/react-use-layout-effect */ \"(ssr)/./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @radix-ui/react-use-previous */ \"(ssr)/./node_modules/@radix-ui/react-use-previous/dist/index.mjs\");\n/* harmony import */ var _radix_ui_react_visually_hidden__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @radix-ui/react-visually-hidden */ \"(ssr)/./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs\");\n/* harmony import */ var aria_hidden__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! aria-hidden */ \"(ssr)/./node_modules/aria-hidden/dist/es2015/index.js\");\n/* harmony import */ var react_remove_scroll__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! react-remove-scroll */ \"(ssr)/./node_modules/react-remove-scroll/dist/es2015/Combination.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n/* __next_internal_client_entry_do_not_use__ Arrow,Content,Group,Icon,Item,ItemIndicator,ItemText,Label,Portal,Root,ScrollDownButton,ScrollUpButton,Select,SelectArrow,SelectContent,SelectGroup,SelectIcon,SelectItem,SelectItemIndicator,SelectItemText,SelectLabel,SelectPortal,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue,SelectViewport,Separator,Trigger,Value,Viewport,createSelectScope auto */ // src/select.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar OPEN_KEYS = [\n \" \",\n \"Enter\",\n \"ArrowUp\",\n \"ArrowDown\"\n];\nvar SELECTION_KEYS = [\n \" \",\n \"Enter\"\n];\nvar SELECT_NAME = \"Select\";\nvar [Collection, useCollection, createCollectionScope] = (0,_radix_ui_react_collection__WEBPACK_IMPORTED_MODULE_3__.createCollection)(SELECT_NAME);\nvar [createSelectContext, createSelectScope] = (0,_radix_ui_react_context__WEBPACK_IMPORTED_MODULE_4__.createContextScope)(SELECT_NAME, [\n createCollectionScope,\n _radix_ui_react_popper__WEBPACK_IMPORTED_MODULE_5__.createPopperScope\n]);\nvar usePopperScope = (0,_radix_ui_react_popper__WEBPACK_IMPORTED_MODULE_5__.createPopperScope)();\nvar [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\nvar [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);\nvar Select = (props)=>{\n const { __scopeSelect, children, open: openProp, defaultOpen, onOpenChange, value: valueProp, defaultValue, onValueChange, dir, name, autoComplete, disabled, required, form } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [valueNode, setValueNode] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = react__WEBPACK_IMPORTED_MODULE_0__.useState(false);\n const direction = (0,_radix_ui_react_direction__WEBPACK_IMPORTED_MODULE_6__.useDirection)(dir);\n const [open, setOpen] = (0,_radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_7__.useControllableState)({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SELECT_NAME\n });\n const [value, setValue] = (0,_radix_ui_react_use_controllable_state__WEBPACK_IMPORTED_MODULE_7__.useControllableState)({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n caller: SELECT_NAME\n });\n const triggerPointerDownPosRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const isFormControl = trigger ? form || !!trigger.closest(\"form\") : true;\n const [nativeOptionsSet, setNativeOptionsSet] = react__WEBPACK_IMPORTED_MODULE_0__.useState(/* @__PURE__ */ new Set());\n const nativeSelectKey = Array.from(nativeOptionsSet).map((option)=>option.props.value).join(\";\");\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_popper__WEBPACK_IMPORTED_MODULE_5__.Root, {\n ...popperScope,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(SelectProvider, {\n required,\n scope: __scopeSelect,\n trigger,\n onTriggerChange: setTrigger,\n valueNode,\n onValueNodeChange: setValueNode,\n valueNodeHasChildren,\n onValueNodeHasChildrenChange: setValueNodeHasChildren,\n contentId: (0,_radix_ui_react_id__WEBPACK_IMPORTED_MODULE_8__.useId)(),\n value,\n onValueChange: setValue,\n open,\n onOpenChange: setOpen,\n dir: direction,\n triggerPointerDownPosRef,\n disabled,\n children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Collection.Provider, {\n scope: __scopeSelect,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectNativeOptionsProvider, {\n scope: props.__scopeSelect,\n onNativeOptionAdd: react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"Select.useCallback\": (option)=>{\n setNativeOptionsSet({\n \"Select.useCallback\": (prev)=>new Set(prev).add(option)\n }[\"Select.useCallback\"]);\n }\n }[\"Select.useCallback\"], []),\n onNativeOptionRemove: react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"Select.useCallback\": (option)=>{\n setNativeOptionsSet({\n \"Select.useCallback\": (prev)=>{\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n }\n }[\"Select.useCallback\"]);\n }\n }[\"Select.useCallback\"], []),\n children\n })\n }),\n isFormControl ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(SelectBubbleInput, {\n \"aria-hidden\": true,\n required,\n tabIndex: -1,\n name,\n autoComplete,\n value,\n onChange: (event)=>setValue(event.target.value),\n disabled,\n form,\n children: [\n value === void 0 ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"option\", {\n value: \"\"\n }) : null,\n Array.from(nativeOptionsSet)\n ]\n }, nativeSelectKey) : null\n ]\n })\n });\n};\nSelect.displayName = SELECT_NAME;\nvar TRIGGER_NAME = \"SelectTrigger\";\nvar SelectTrigger = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(\"touch\");\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch({\n \"SelectTrigger.useTypeaheadSearch\": (search)=>{\n const enabledItems = getItems().filter({\n \"SelectTrigger.useTypeaheadSearch.enabledItems\": (item)=>!item.disabled\n }[\"SelectTrigger.useTypeaheadSearch.enabledItems\"]);\n const currentItem = enabledItems.find({\n \"SelectTrigger.useTypeaheadSearch.currentItem\": (item)=>item.value === context.value\n }[\"SelectTrigger.useTypeaheadSearch.currentItem\"]);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== void 0) {\n context.onValueChange(nextItem.value);\n }\n }\n }[\"SelectTrigger.useTypeaheadSearch\"]);\n const handleOpen = (pointerEvent)=>{\n if (!isDisabled) {\n context.onOpenChange(true);\n resetTypeahead();\n }\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY)\n };\n }\n };\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_popper__WEBPACK_IMPORTED_MODULE_5__.Anchor, {\n asChild: true,\n ...popperScope,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.button, {\n type: \"button\",\n role: \"combobox\",\n \"aria-controls\": context.contentId,\n \"aria-expanded\": context.open,\n \"aria-required\": context.required,\n \"aria-autocomplete\": \"none\",\n dir: context.dir,\n \"data-state\": context.open ? \"open\" : \"closed\",\n disabled: isDisabled,\n \"data-disabled\": isDisabled ? \"\" : void 0,\n \"data-placeholder\": shouldShowPlaceholder(context.value) ? \"\" : void 0,\n ...triggerProps,\n ref: composedRefs,\n onClick: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(triggerProps.onClick, (event)=>{\n event.currentTarget.focus();\n if (pointerTypeRef.current !== \"mouse\") {\n handleOpen(event);\n }\n }),\n onPointerDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(triggerProps.onPointerDown, (event)=>{\n pointerTypeRef.current = event.pointerType;\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === \"mouse\") {\n handleOpen(event);\n event.preventDefault();\n }\n }),\n onKeyDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(triggerProps.onKeyDown, (event)=>{\n const isTypingAhead = searchRef.current !== \"\";\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === \" \") return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })\n })\n });\n});\nSelectTrigger.displayName = TRIGGER_NAME;\nvar VALUE_NAME = \"SelectValue\";\nvar SelectValue = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, className, style, children, placeholder = \"\", ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== void 0;\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, context.onValueNodeChange);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectValue.useLayoutEffect\": ()=>{\n onValueNodeHasChildrenChange(hasChildren);\n }\n }[\"SelectValue.useLayoutEffect\"], [\n onValueNodeHasChildrenChange,\n hasChildren\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.span, {\n ...valueProps,\n ref: composedRefs,\n style: {\n pointerEvents: \"none\"\n },\n children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {\n children: placeholder\n }) : children\n });\n});\nSelectValue.displayName = VALUE_NAME;\nvar ICON_NAME = \"SelectIcon\";\nvar SelectIcon = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, children, ...iconProps } = props;\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.span, {\n \"aria-hidden\": true,\n ...iconProps,\n ref: forwardedRef,\n children: children || \"\\u25BC\"\n });\n});\nSelectIcon.displayName = ICON_NAME;\nvar PORTAL_NAME = \"SelectPortal\";\nvar SelectPortal = (props)=>{\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_portal__WEBPACK_IMPORTED_MODULE_13__.Portal, {\n asChild: true,\n ...props\n });\n};\nSelectPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"SelectContent\";\nvar SelectContent = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = react__WEBPACK_IMPORTED_MODULE_0__.useState();\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectContent.useLayoutEffect\": ()=>{\n setFragment(new DocumentFragment());\n }\n }[\"SelectContent.useLayoutEffect\"], []);\n if (!context.open) {\n const frag = fragment;\n return frag ? /*#__PURE__*/ react_dom__WEBPACK_IMPORTED_MODULE_1__.createPortal(/* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectContentProvider, {\n scope: props.__scopeSelect,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Collection.Slot, {\n scope: props.__scopeSelect,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"div\", {\n children: props.children\n })\n })\n }), frag) : null;\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectContentImpl, {\n ...props,\n ref: forwardedRef\n });\n});\nSelectContent.displayName = CONTENT_NAME;\nvar CONTENT_MARGIN = 10;\nvar [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME);\nvar CONTENT_IMPL_NAME = \"SelectContentImpl\";\nvar Slot = (0,_radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_14__.createSlot)(\"SelectContent.RemoveScroll\");\nvar SelectContentImpl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, position = \"item-aligned\", onCloseAutoFocus, onEscapeKeyDown, onPointerDownOutside, //\n // PopperContent props\n side, sideOffset, align, alignOffset, arrowPadding, collisionBoundary, collisionPadding, sticky, hideWhenDetached, avoidCollisions, //\n ...contentProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [viewport, setViewport] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, {\n \"SelectContentImpl.useComposedRefs[composedRefs]\": (node)=>setContent(node)\n }[\"SelectContentImpl.useComposedRefs[composedRefs]\"]);\n const [selectedItem, setSelectedItem] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [selectedItemText, setSelectedItemText] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = react__WEBPACK_IMPORTED_MODULE_0__.useState(false);\n const firstValidItemFoundRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"SelectContentImpl.useEffect\": ()=>{\n if (content) return (0,aria_hidden__WEBPACK_IMPORTED_MODULE_15__.hideOthers)(content);\n }\n }[\"SelectContentImpl.useEffect\"], [\n content\n ]);\n (0,_radix_ui_react_focus_guards__WEBPACK_IMPORTED_MODULE_16__.useFocusGuards)();\n const focusFirst = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectContentImpl.useCallback[focusFirst]\": (candidates)=>{\n const [firstItem, ...restItems] = getItems().map({\n \"SelectContentImpl.useCallback[focusFirst]\": (item)=>item.ref.current\n }[\"SelectContentImpl.useCallback[focusFirst]\"]);\n const [lastItem] = restItems.slice(-1);\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates){\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({\n block: \"nearest\"\n });\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n }\n }[\"SelectContentImpl.useCallback[focusFirst]\"], [\n getItems,\n viewport\n ]);\n const focusSelectedItem = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectContentImpl.useCallback[focusSelectedItem]\": ()=>focusFirst([\n selectedItem,\n content\n ])\n }[\"SelectContentImpl.useCallback[focusSelectedItem]\"], [\n focusFirst,\n selectedItem,\n content\n ]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"SelectContentImpl.useEffect\": ()=>{\n if (isPositioned) {\n focusSelectedItem();\n }\n }\n }[\"SelectContentImpl.useEffect\"], [\n isPositioned,\n focusSelectedItem\n ]);\n const { onOpenChange, triggerPointerDownPosRef } = context;\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"SelectContentImpl.useEffect\": ()=>{\n if (content) {\n let pointerMoveDelta = {\n x: 0,\n y: 0\n };\n const handlePointerMove = {\n \"SelectContentImpl.useEffect.handlePointerMove\": (event)=>{\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0))\n };\n }\n }[\"SelectContentImpl.useEffect.handlePointerMove\"];\n const handlePointerUp = {\n \"SelectContentImpl.useEffect.handlePointerUp\": (event)=>{\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n if (!content.contains(event.target)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener(\"pointermove\", handlePointerMove);\n triggerPointerDownPosRef.current = null;\n }\n }[\"SelectContentImpl.useEffect.handlePointerUp\"];\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener(\"pointermove\", handlePointerMove);\n document.addEventListener(\"pointerup\", handlePointerUp, {\n capture: true,\n once: true\n });\n }\n return ({\n \"SelectContentImpl.useEffect\": ()=>{\n document.removeEventListener(\"pointermove\", handlePointerMove);\n document.removeEventListener(\"pointerup\", handlePointerUp, {\n capture: true\n });\n }\n })[\"SelectContentImpl.useEffect\"];\n }\n }\n }[\"SelectContentImpl.useEffect\"], [\n content,\n onOpenChange,\n triggerPointerDownPosRef\n ]);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"SelectContentImpl.useEffect\": ()=>{\n const close = {\n \"SelectContentImpl.useEffect.close\": ()=>onOpenChange(false)\n }[\"SelectContentImpl.useEffect.close\"];\n window.addEventListener(\"blur\", close);\n window.addEventListener(\"resize\", close);\n return ({\n \"SelectContentImpl.useEffect\": ()=>{\n window.removeEventListener(\"blur\", close);\n window.removeEventListener(\"resize\", close);\n }\n })[\"SelectContentImpl.useEffect\"];\n }\n }[\"SelectContentImpl.useEffect\"], [\n onOpenChange\n ]);\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch({\n \"SelectContentImpl.useTypeaheadSearch\": (search)=>{\n const enabledItems = getItems().filter({\n \"SelectContentImpl.useTypeaheadSearch.enabledItems\": (item)=>!item.disabled\n }[\"SelectContentImpl.useTypeaheadSearch.enabledItems\"]);\n const currentItem = enabledItems.find({\n \"SelectContentImpl.useTypeaheadSearch.currentItem\": (item)=>item.ref.current === document.activeElement\n }[\"SelectContentImpl.useTypeaheadSearch.currentItem\"]);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n setTimeout({\n \"SelectContentImpl.useTypeaheadSearch\": ()=>nextItem.ref.current.focus()\n }[\"SelectContentImpl.useTypeaheadSearch\"]);\n }\n }\n }[\"SelectContentImpl.useTypeaheadSearch\"]);\n const itemRefCallback = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectContentImpl.useCallback[itemRefCallback]\": (node, value, disabled)=>{\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n }\n }[\"SelectContentImpl.useCallback[itemRefCallback]\"], [\n context.value\n ]);\n const handleItemLeave = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectContentImpl.useCallback[handleItemLeave]\": ()=>content?.focus()\n }[\"SelectContentImpl.useCallback[handleItemLeave]\"], [\n content\n ]);\n const itemTextRefCallback = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectContentImpl.useCallback[itemTextRefCallback]\": (node, value, disabled)=>{\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== void 0 && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n }\n }[\"SelectContentImpl.useCallback[itemTextRefCallback]\"], [\n context.value\n ]);\n const SelectPosition = position === \"popper\" ? SelectPopperPosition : SelectItemAlignedPosition;\n const popperContentProps = SelectPosition === SelectPopperPosition ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions\n } : {};\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectContentProvider, {\n scope: __scopeSelect,\n content,\n viewport,\n onViewportChange: setViewport,\n itemRefCallback,\n selectedItem,\n onItemLeave: handleItemLeave,\n itemTextRefCallback,\n focusSelectedItem,\n selectedItemText,\n position,\n isPositioned,\n searchRef,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_remove_scroll__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {\n as: Slot,\n allowPinchZoom: true,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_focus_scope__WEBPACK_IMPORTED_MODULE_18__.FocusScope, {\n asChild: true,\n trapped: context.open,\n onMountAutoFocus: (event)=>{\n event.preventDefault();\n },\n onUnmountAutoFocus: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(onCloseAutoFocus, (event)=>{\n context.trigger?.focus({\n preventScroll: true\n });\n event.preventDefault();\n }),\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_dismissable_layer__WEBPACK_IMPORTED_MODULE_19__.DismissableLayer, {\n asChild: true,\n disableOutsidePointerEvents: true,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event)=>event.preventDefault(),\n onDismiss: ()=>context.onOpenChange(false),\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectPosition, {\n role: \"listbox\",\n id: context.contentId,\n \"data-state\": context.open ? \"open\" : \"closed\",\n dir: context.dir,\n onContextMenu: (event)=>event.preventDefault(),\n ...contentProps,\n ...popperContentProps,\n onPlaced: ()=>setIsPositioned(true),\n ref: composedRefs,\n style: {\n // flex layout so we can place the scroll buttons properly\n display: \"flex\",\n flexDirection: \"column\",\n // reset the outline by default as the content MAY get focused\n outline: \"none\",\n ...contentProps.style\n },\n onKeyDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(contentProps.onKeyDown, (event)=>{\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if ([\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\"\n ].includes(event.key)) {\n const items = getItems().filter((item)=>!item.disabled);\n let candidateNodes = items.map((item)=>item.ref.current);\n if ([\n \"ArrowUp\",\n \"End\"\n ].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if ([\n \"ArrowUp\",\n \"ArrowDown\"\n ].includes(event.key)) {\n const currentElement = event.target;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(()=>focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n })\n })\n })\n })\n });\n});\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\nvar ITEM_ALIGNED_POSITION_NAME = \"SelectItemAlignedPosition\";\nvar SelectItemAlignedPosition = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const [content, setContent] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, {\n \"SelectItemAlignedPosition.useComposedRefs[composedRefs]\": (node)=>setContent(node)\n }[\"SelectItemAlignedPosition.useComposedRefs[composedRefs]\"]);\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(false);\n const shouldRepositionRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(true);\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectItemAlignedPosition.useCallback[position]\": ()=>{\n if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {\n const triggerRect = context.trigger.getBoundingClientRect();\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n if (context.dir !== \"rtl\") {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = (0,_radix_ui_number__WEBPACK_IMPORTED_MODULE_20__.clamp)(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.left = clampedLeft + \"px\";\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = (0,_radix_ui_number__WEBPACK_IMPORTED_MODULE_20__.clamp)(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth)\n ]);\n contentWrapper.style.minWidth = minContentWidth + \"px\";\n contentWrapper.style.right = clampedRight + \"px\";\n }\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth;\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n if (willAlignWithoutTopOverflow) {\n const isLastItem = items.length > 0 && selectedItem === items[items.length - 1].ref.current;\n contentWrapper.style.bottom = \"0px\";\n const viewportOffsetBottom = content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(triggerMiddleToBottomEdge, selectedItemHalfHeight + // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) + viewportOffsetBottom + contentBorderBottomWidth);\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + \"px\";\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0].ref.current;\n contentWrapper.style.top = \"0px\";\n const clampedTopEdgeToTriggerMiddle = Math.max(topEdgeToTriggerMiddle, contentBorderTopWidth + viewport.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) + selectedItemHalfHeight);\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + \"px\";\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + \"px\";\n contentWrapper.style.maxHeight = availableHeight + \"px\";\n onPlaced?.();\n requestAnimationFrame({\n \"SelectItemAlignedPosition.useCallback[position]\": ()=>shouldExpandOnScrollRef.current = true\n }[\"SelectItemAlignedPosition.useCallback[position]\"]);\n }\n }\n }[\"SelectItemAlignedPosition.useCallback[position]\"], [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced\n ]);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectItemAlignedPosition.useLayoutEffect\": ()=>position()\n }[\"SelectItemAlignedPosition.useLayoutEffect\"], [\n position\n ]);\n const [contentZIndex, setContentZIndex] = react__WEBPACK_IMPORTED_MODULE_0__.useState();\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectItemAlignedPosition.useLayoutEffect\": ()=>{\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }\n }[\"SelectItemAlignedPosition.useLayoutEffect\"], [\n content\n ]);\n const handleScrollButtonChange = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectItemAlignedPosition.useCallback[handleScrollButtonChange]\": (node)=>{\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n }\n }[\"SelectItemAlignedPosition.useCallback[handleScrollButtonChange]\"], [\n position,\n focusSelectedItem\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectViewportProvider, {\n scope: __scopeSelect,\n contentWrapper,\n shouldExpandOnScrollRef,\n onScrollButtonChange: handleScrollButtonChange,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"div\", {\n ref: setContentWrapper,\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n position: \"fixed\",\n zIndex: contentZIndex\n },\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.div, {\n ...popperProps,\n ref: composedRefs,\n style: {\n // When we get the height of the content, it includes borders. If we were to set\n // the height without having `boxSizing: 'border-box'` it would be too big.\n boxSizing: \"border-box\",\n // We need to ensure the content doesn't get taller than the wrapper\n maxHeight: \"100%\",\n ...popperProps.style\n }\n })\n })\n });\n});\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\nvar POPPER_POSITION_NAME = \"SelectPopperPosition\";\nvar SelectPopperPosition = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, align = \"start\", collisionPadding = CONTENT_MARGIN, ...popperProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_popper__WEBPACK_IMPORTED_MODULE_5__.Content, {\n ...popperScope,\n ...popperProps,\n ref: forwardedRef,\n align,\n collisionPadding,\n style: {\n // Ensure border-box for floating-ui calculations\n boxSizing: \"border-box\",\n ...popperProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-select-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-select-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-select-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-select-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-select-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n });\n});\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\nvar [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME, {});\nvar VIEWPORT_NAME = \"SelectViewport\";\nvar SelectViewport = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(0);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {\n children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"style\", {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }),\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Collection.Slot, {\n scope: __scopeSelect,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.div, {\n \"data-radix-select-viewport\": \"\",\n role: \"presentation\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n // we use position: 'relative' here on the `viewport` so that when we call\n // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport\n // (independent of the scrollUpButton).\n position: \"relative\",\n flex: 1,\n // Viewport should only be scrollable in the vertical direction.\n // This won't work in vertical writing modes, so we'll need to\n // revisit this if/when that is supported\n // https://developer.chrome.com/blog/vertical-form-controls\n overflow: \"hidden auto\",\n ...viewportProps.style\n },\n onScroll: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(viewportProps.onScroll, (event)=>{\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n contentWrapper.style.height = clampedNextHeight + \"px\";\n if (contentWrapper.style.bottom === \"0px\") {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n contentWrapper.style.justifyContent = \"flex-end\";\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })\n })\n })\n ]\n });\n});\nSelectViewport.displayName = VIEWPORT_NAME;\nvar GROUP_NAME = \"SelectGroup\";\nvar [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);\nvar SelectGroup = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, ...groupProps } = props;\n const groupId = (0,_radix_ui_react_id__WEBPACK_IMPORTED_MODULE_8__.useId)();\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectGroupContextProvider, {\n scope: __scopeSelect,\n id: groupId,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.div, {\n role: \"group\",\n \"aria-labelledby\": groupId,\n ...groupProps,\n ref: forwardedRef\n })\n });\n});\nSelectGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"SelectLabel\";\nvar SelectLabel = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.div, {\n id: groupContext.id,\n ...labelProps,\n ref: forwardedRef\n });\n});\nSelectLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"SelectItem\";\nvar [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);\nvar SelectItem = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, value, disabled = false, textValue: textValueProp, ...itemProps } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = react__WEBPACK_IMPORTED_MODULE_0__.useState(textValueProp ?? \"\");\n const [isFocused, setIsFocused] = react__WEBPACK_IMPORTED_MODULE_0__.useState(false);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, {\n \"SelectItem.useComposedRefs[composedRefs]\": (node)=>contentContext.itemRefCallback?.(node, value, disabled)\n }[\"SelectItem.useComposedRefs[composedRefs]\"]);\n const textId = (0,_radix_ui_react_id__WEBPACK_IMPORTED_MODULE_8__.useId)();\n const pointerTypeRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(\"touch\");\n const handleSelect = ()=>{\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n if (value === \"\") {\n throw new Error(\"A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.\");\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectItemContextProvider, {\n scope: __scopeSelect,\n value,\n disabled,\n textId,\n isSelected,\n onItemTextChange: react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectItem.useCallback\": (node)=>{\n setTextValue({\n \"SelectItem.useCallback\": (prevTextValue)=>prevTextValue || (node?.textContent ?? \"\").trim()\n }[\"SelectItem.useCallback\"]);\n }\n }[\"SelectItem.useCallback\"], []),\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(Collection.ItemSlot, {\n scope: __scopeSelect,\n value,\n disabled,\n textValue,\n children: /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.div, {\n role: \"option\",\n \"aria-labelledby\": textId,\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-selected\": isSelected && isFocused,\n \"data-state\": isSelected ? \"checked\" : \"unchecked\",\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n tabIndex: disabled ? void 0 : -1,\n ...itemProps,\n ref: composedRefs,\n onFocus: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onFocus, ()=>setIsFocused(true)),\n onBlur: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onBlur, ()=>setIsFocused(false)),\n onClick: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onClick, ()=>{\n if (pointerTypeRef.current !== \"mouse\") handleSelect();\n }),\n onPointerUp: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onPointerUp, ()=>{\n if (pointerTypeRef.current === \"mouse\") handleSelect();\n }),\n onPointerDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onPointerDown, (event)=>{\n pointerTypeRef.current = event.pointerType;\n }),\n onPointerMove: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onPointerMove, (event)=>{\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === \"mouse\") {\n event.currentTarget.focus({\n preventScroll: true\n });\n }\n }),\n onPointerLeave: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onPointerLeave, (event)=>{\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n }),\n onKeyDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(itemProps.onKeyDown, (event)=>{\n const isTypingAhead = contentContext.searchRef?.current !== \"\";\n if (isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n if (event.key === \" \") event.preventDefault();\n })\n })\n })\n });\n});\nSelectItem.displayName = ITEM_NAME;\nvar ITEM_TEXT_NAME = \"SelectItemText\";\nvar SelectItemText = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = react__WEBPACK_IMPORTED_MODULE_0__.useState(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, {\n \"SelectItemText.useComposedRefs[composedRefs]\": (node)=>setItemTextNode(node)\n }[\"SelectItemText.useComposedRefs[composedRefs]\"], itemContext.onItemTextChange, {\n \"SelectItemText.useComposedRefs[composedRefs]\": (node)=>contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n }[\"SelectItemText.useComposedRefs[composedRefs]\"]);\n const textContent = itemTextNode?.textContent;\n const nativeOption = react__WEBPACK_IMPORTED_MODULE_0__.useMemo({\n \"SelectItemText.useMemo[nativeOption]\": ()=>/* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(\"option\", {\n value: itemContext.value,\n disabled: itemContext.disabled,\n children: textContent\n }, itemContext.value)\n }[\"SelectItemText.useMemo[nativeOption]\"], [\n itemContext.disabled,\n itemContext.value,\n textContent\n ]);\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectItemText.useLayoutEffect\": ()=>{\n onNativeOptionAdd(nativeOption);\n return ({\n \"SelectItemText.useLayoutEffect\": ()=>onNativeOptionRemove(nativeOption)\n })[\"SelectItemText.useLayoutEffect\"];\n }\n }[\"SelectItemText.useLayoutEffect\"], [\n onNativeOptionAdd,\n onNativeOptionRemove,\n nativeOption\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {\n children: [\n /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.span, {\n id: itemContext.textId,\n ...itemTextProps,\n ref: composedRefs\n }),\n itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren ? /*#__PURE__*/ react_dom__WEBPACK_IMPORTED_MODULE_1__.createPortal(itemTextProps.children, context.valueNode) : null\n ]\n });\n});\nSelectItemText.displayName = ITEM_TEXT_NAME;\nvar ITEM_INDICATOR_NAME = \"SelectItemIndicator\";\nvar SelectItemIndicator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.span, {\n \"aria-hidden\": true,\n ...itemIndicatorProps,\n ref: forwardedRef\n }) : null;\n});\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SCROLL_UP_BUTTON_NAME = \"SelectScrollUpButton\";\nvar SelectScrollUpButton = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = react__WEBPACK_IMPORTED_MODULE_0__.useState(false);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, viewportContext.onScrollButtonChange);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectScrollUpButton.useLayoutEffect\": ()=>{\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = {\n \"SelectScrollUpButton.useLayoutEffect.handleScroll2\": function() {\n const canScrollUp2 = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp2);\n }\n }[\"SelectScrollUpButton.useLayoutEffect.handleScroll2\"];\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return ({\n \"SelectScrollUpButton.useLayoutEffect\": ()=>viewport.removeEventListener(\"scroll\", handleScroll2)\n })[\"SelectScrollUpButton.useLayoutEffect\"];\n }\n }\n }[\"SelectScrollUpButton.useLayoutEffect\"], [\n contentContext.viewport,\n contentContext.isPositioned\n ]);\n return canScrollUp ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectScrollButtonImpl, {\n ...props,\n ref: composedRefs,\n onAutoScroll: ()=>{\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }\n }) : null;\n});\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\nvar SCROLL_DOWN_BUTTON_NAME = \"SelectScrollDownButton\";\nvar SelectScrollDownButton = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = react__WEBPACK_IMPORTED_MODULE_0__.useState(false);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, viewportContext.onScrollButtonChange);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectScrollDownButton.useLayoutEffect\": ()=>{\n if (contentContext.viewport && contentContext.isPositioned) {\n let handleScroll2 = {\n \"SelectScrollDownButton.useLayoutEffect.handleScroll2\": function() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n const canScrollDown2 = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown2);\n }\n }[\"SelectScrollDownButton.useLayoutEffect.handleScroll2\"];\n var handleScroll = handleScroll2;\n const viewport = contentContext.viewport;\n handleScroll2();\n viewport.addEventListener(\"scroll\", handleScroll2);\n return ({\n \"SelectScrollDownButton.useLayoutEffect\": ()=>viewport.removeEventListener(\"scroll\", handleScroll2)\n })[\"SelectScrollDownButton.useLayoutEffect\"];\n }\n }\n }[\"SelectScrollDownButton.useLayoutEffect\"], [\n contentContext.viewport,\n contentContext.isPositioned\n ]);\n return canScrollDown ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(SelectScrollButtonImpl, {\n ...props,\n ref: composedRefs,\n onAutoScroll: ()=>{\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }\n }) : null;\n});\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\nvar SelectScrollButtonImpl = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext(\"SelectScrollButton\", __scopeSelect);\n const autoScrollTimerRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const getItems = useCollection(__scopeSelect);\n const clearAutoScrollTimer = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"SelectScrollButtonImpl.useCallback[clearAutoScrollTimer]\": ()=>{\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }\n }[\"SelectScrollButtonImpl.useCallback[clearAutoScrollTimer]\"], []);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"SelectScrollButtonImpl.useEffect\": ()=>{\n return ({\n \"SelectScrollButtonImpl.useEffect\": ()=>clearAutoScrollTimer()\n })[\"SelectScrollButtonImpl.useEffect\"];\n }\n }[\"SelectScrollButtonImpl.useEffect\"], [\n clearAutoScrollTimer\n ]);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_12__.useLayoutEffect)({\n \"SelectScrollButtonImpl.useLayoutEffect\": ()=>{\n const activeItem = getItems().find({\n \"SelectScrollButtonImpl.useLayoutEffect.activeItem\": (item)=>item.ref.current === document.activeElement\n }[\"SelectScrollButtonImpl.useLayoutEffect.activeItem\"]);\n activeItem?.ref.current?.scrollIntoView({\n block: \"nearest\"\n });\n }\n }[\"SelectScrollButtonImpl.useLayoutEffect\"], [\n getItems\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.div, {\n \"aria-hidden\": true,\n ...scrollIndicatorProps,\n ref: forwardedRef,\n style: {\n flexShrink: 0,\n ...scrollIndicatorProps.style\n },\n onPointerDown: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(scrollIndicatorProps.onPointerDown, ()=>{\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerMove: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(scrollIndicatorProps.onPointerMove, ()=>{\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n }),\n onPointerLeave: (0,_radix_ui_primitive__WEBPACK_IMPORTED_MODULE_11__.composeEventHandlers)(scrollIndicatorProps.onPointerLeave, ()=>{\n clearAutoScrollTimer();\n })\n });\n});\nvar SEPARATOR_NAME = \"SelectSeparator\";\nvar SelectSeparator = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, ...separatorProps } = props;\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.div, {\n \"aria-hidden\": true,\n ...separatorProps,\n ref: forwardedRef\n });\n});\nSelectSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"SelectArrow\";\nvar SelectArrow = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef)=>{\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === \"popper\" ? /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_popper__WEBPACK_IMPORTED_MODULE_5__.Arrow, {\n ...popperScope,\n ...arrowProps,\n ref: forwardedRef\n }) : null;\n});\nSelectArrow.displayName = ARROW_NAME;\nvar BUBBLE_INPUT_NAME = \"SelectBubbleInput\";\nvar SelectBubbleInput = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(({ __scopeSelect, value, ...props }, forwardedRef)=>{\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);\n const composedRefs = (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_9__.useComposedRefs)(forwardedRef, ref);\n const prevValue = (0,_radix_ui_react_use_previous__WEBPACK_IMPORTED_MODULE_21__.usePrevious)(value);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"SelectBubbleInput.useEffect\": ()=>{\n const select = ref.current;\n if (!select) return;\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(selectProto, \"value\");\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"change\", {\n bubbles: true\n });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }\n }[\"SelectBubbleInput.useEffect\"], [\n prevValue,\n value\n ]);\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_10__.Primitive.select, {\n ...props,\n style: {\n ..._radix_ui_react_visually_hidden__WEBPACK_IMPORTED_MODULE_22__.VISUALLY_HIDDEN_STYLES,\n ...props.style\n },\n ref: composedRefs,\n defaultValue: value\n });\n});\nSelectBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction shouldShowPlaceholder(value) {\n return value === \"\" || value === void 0;\n}\nfunction useTypeaheadSearch(onSearchChange) {\n const handleSearchChange = (0,_radix_ui_react_use_callback_ref__WEBPACK_IMPORTED_MODULE_23__.useCallbackRef)(onSearchChange);\n const searchRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(\"\");\n const timerRef = react__WEBPACK_IMPORTED_MODULE_0__.useRef(0);\n const handleTypeaheadSearch = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"useTypeaheadSearch.useCallback[handleTypeaheadSearch]\": (key)=>{\n const search = searchRef.current + key;\n handleSearchChange(search);\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout({\n \"useTypeaheadSearch.useCallback[handleTypeaheadSearch].updateSearch\": ()=>updateSearch(\"\")\n }[\"useTypeaheadSearch.useCallback[handleTypeaheadSearch].updateSearch\"], 1e3);\n })(search);\n }\n }[\"useTypeaheadSearch.useCallback[handleTypeaheadSearch]\"], [\n handleSearchChange\n ]);\n const resetTypeahead = react__WEBPACK_IMPORTED_MODULE_0__.useCallback({\n \"useTypeaheadSearch.useCallback[resetTypeahead]\": ()=>{\n searchRef.current = \"\";\n window.clearTimeout(timerRef.current);\n }\n }[\"useTypeaheadSearch.useCallback[resetTypeahead]\"], []);\n react__WEBPACK_IMPORTED_MODULE_0__.useEffect({\n \"useTypeaheadSearch.useEffect\": ()=>{\n return ({\n \"useTypeaheadSearch.useEffect\": ()=>window.clearTimeout(timerRef.current)\n })[\"useTypeaheadSearch.useEffect\"];\n }\n }[\"useTypeaheadSearch.useEffect\"], []);\n return [\n searchRef,\n handleTypeaheadSearch,\n resetTypeahead\n ];\n}\nfunction findNextItem(items, search, currentItem) {\n const isRepeated = search.length > 1 && Array.from(search).every((char)=>char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v)=>v !== currentItem);\n const nextItem = wrappedItems.find((item)=>item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase()));\n return nextItem !== currentItem ? nextItem : void 0;\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index)=>array[(startIndex + index) % array.length]);\n}\nvar Root2 = Select;\nvar Trigger = SelectTrigger;\nvar Value = SelectValue;\nvar Icon = SelectIcon;\nvar Portal = SelectPortal;\nvar Content2 = SelectContent;\nvar Viewport = SelectViewport;\nvar Group = SelectGroup;\nvar Label = SelectLabel;\nvar Item = SelectItem;\nvar ItemText = SelectItemText;\nvar ItemIndicator = SelectItemIndicator;\nvar ScrollUpButton = SelectScrollUpButton;\nvar ScrollDownButton = SelectScrollDownButton;\nvar Separator = SelectSeparator;\nvar Arrow2 = SelectArrow;\n //# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXNlbGVjdC9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXVCO0FBQ0c7QUFDSjtBQUNlO0FBQ0o7QUFDRDtBQUNHO0FBQ047QUFDSTtBQUNGO0FBQ0o7QUFDTDtBQUNXO0FBQ0M7QUFDUTtBQUNoQjtBQUNDO0FBQ0k7QUFDTTtBQUNMO0FBQ0o7QUFDVztBQUNaO0FBQ0U7QUFpTG5CO0FBM0tWLElBQU0sWUFBWTtJQUFDO0lBQUs7SUFBUztJQUFXLFdBQVc7Q0FBQTtBQUN2RCxJQUFNLGlCQUFpQjtJQUFDO0lBQUssT0FBTztDQUFBO0FBTXBDLElBQU0sY0FBYztBQUdwQixJQUFNLENBQUMsWUFBWSxlQUFlLHFCQUFxQixJQUFJLDRFQUFnQixDQUd6RSxXQUFXO0FBR2IsSUFBTSxDQUFDLHFCQUFxQixpQkFBaUIsSUFBSSwyRUFBa0IsQ0FBQyxhQUFhO0lBQy9FO0lBQ0EscUVBQWlCO0NBQ2xCO0FBQ0QsSUFBTSxpQkFBaUIseUVBQWlCLENBQUM7QUFvQnpDLElBQU0sQ0FBQyxnQkFBZ0IsZ0JBQWdCLElBQUksb0JBQXdDLFdBQVc7QUFROUYsSUFBTSxDQUFDLDZCQUE2Qiw2QkFBNkIsSUFDL0Qsb0JBQXFELFdBQVc7QUFvRGxFLElBQU0sU0FBZ0MsQ0FBQztJQUNyQyxNQUFNLEVBQ0osZUFDQSxVQUNBLE1BQU0sVUFDTixhQUNBLGNBQ0EsT0FBTyxXQUNQLGNBQ0EsZUFDQSxLQUNBLE1BQ0EsY0FDQSxVQUNBLFVBQ0EsTUFDRixHQUFJO0lBQ0osTUFBTSxjQUFjLGVBQWUsYUFBYTtJQUNoRCxNQUFNLENBQUMsU0FBUyxVQUFVLElBQVUsNENBQXNDLElBQUk7SUFDOUUsTUFBTSxDQUFDLFdBQVcsWUFBWSxJQUFVLDRDQUFvQyxJQUFJO0lBQ2hGLE1BQU0sQ0FBQyxzQkFBc0IsdUJB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InNvdXJjZXMiOlsiRTpcXEdJVFxcbXZwXFxzcmNcXHNlbGVjdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IGNsYW1wIH0gZnJvbSAnQHJhZGl4LXVpL251bWJlcic7XG5pbXBvcnQgeyBjb21wb3NlRXZlbnRIYW5kbGVycyB9IGZyb20gJ0ByYWRpeC11aS9wcmltaXRpdmUnO1xuaW1wb3J0IHsgY3JlYXRlQ29sbGVjdGlvbiB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1jb2xsZWN0aW9uJztcbmltcG9ydCB7IHVzZUNvbXBvc2VkUmVmcyB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC1jb21wb3NlLXJlZnMnO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dFNjb3BlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWNvbnRleHQnO1xuaW1wb3J0IHsgdXNlRGlyZWN0aW9uIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWRpcmVjdGlvbic7XG5pbXBvcnQgeyBEaXNtaXNzYWJsZUxheWVyIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWRpc21pc3NhYmxlLWxheWVyJztcbmltcG9ydCB7IHVzZUZvY3VzR3VhcmRzIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWZvY3VzLWd1YXJkcyc7XG5pbXBvcnQgeyBGb2N1c1Njb3BlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWZvY3VzLXNjb3BlJztcbmltcG9ydCB7IHVzZUlkIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LWlkJztcbmltcG9ydCAqIGFzIFBvcHBlclByaW1pdGl2ZSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtcG9wcGVyJztcbmltcG9ydCB7IGNyZWF0ZVBvcHBlclNjb3BlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXBvcHBlcic7XG5pbXBvcnQgeyBQb3J0YWwgYXMgUG9ydGFsUHJpbWl0aXZlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXBvcnRhbCc7XG5pbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtcHJpbWl0aXZlJztcbmltcG9ydCB7IGNyZWF0ZVNsb3QgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3Qtc2xvdCc7XG5pbXBvcnQgeyB1c2VDYWxsYmFja1JlZiB9IGZyb20gJ0ByYWRpeC11aS9yZWFjdC11c2UtY2FsbGJhY2stcmVmJztcbmltcG9ydCB7IHVzZUNvbnRyb2xsYWJsZVN0YXRlIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1jb250cm9sbGFibGUtc3RhdGUnO1xuaW1wb3J0IHsgdXNlTGF5b3V0RWZmZWN0IH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1sYXlvdXQtZWZmZWN0JztcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXVzZS1wcmV2aW91cyc7XG5pbXBvcnQgeyBWSVNVQUxMWV9ISURERU5fU1RZTEVTIH0gZnJvbSAnQHJhZGl4LXVpL3JlYWN0LXZpc3VhbGx5LWhpZGRlbic7XG5pbXBvcnQgeyBoaWRlT3RoZXJzIH0gZnJvbSAnYXJpYS1oaWRkZW4nO1xuaW1wb3J0IHsgUmVtb3ZlU2Nyb2xsIH0gZnJvbSAncmVhY3QtcmVtb3ZlLXNjcm9sbCc7XG5cbmltcG9ydCB0eXBlIHsgU2NvcGUgfSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29udGV4dCc7XG5cbnR5cGUgRGlyZWN0aW9uID0gJ2x0cicgfCAncnRsJztcblxuY29uc3QgT1BFTl9LRVlTID0gWycgJywgJ0VudGVyJywgJ0Fycm93VXAnLCAnQXJyb3dEb3duJ107XG5jb25zdCBTRUxFQ1RJT05fS0VZUyA9IFsnICcsICdFbnRlciddO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgU0VMRUNUX05BTUUgPSAnU2VsZWN0JztcblxudHlwZSBJdGVtRGF0YSA9IHsgdmFsdWU6IHN0cmluZzsgZGlzYWJsZWQ6IGJvb2xlYW47IHRleHRWYWx1ZTogc3RyaW5nIH07XG5jb25zdCBbQ29sbGVjdGlvbiwgdXNlQ29sbGVjdGlvbiwgY3JlYXRlQ29sbGVjdGlvblNjb3BlXSA9IGNyZWF0ZUNvbGxlY3Rpb248XG4gIFNlbGVjdEl0ZW1FbGVtZW50LFxuICBJdGVtRGF0YVxuPihTRUxFQ1RfTkFNRSk7XG5cbnR5cGUgU2NvcGVkUHJvcHM8UD4gPSBQICYgeyBfX3Njb3BlU2VsZWN0PzogU2NvcGUgfTtcbmNvbnN0IFtjcmVhdGVTZWxlY3RDb250ZXh0LCBjcmVhdGVTZWxlY3RTY29wZV0gPSBjcmVhdGVDb250ZXh0U2NvcGUoU0VMRUNUX05BTUUsIFtcbiAgY3JlYXRlQ29sbGVjdGlvblNjb3BlLFxuICBjcmVhdGVQb3BwZXJTY29wZSxcbl0pO1xuY29uc3QgdXNlUG9wcGVyU2NvcGUgPSBjcmVhdGVQb3BwZXJTY29wZSgpO1xuXG50eXBlIFNlbGVjdENvbnRleHRWYWx1ZSA9IHtcbiAgdHJpZ2dlcjogU2VsZWN0VHJpZ2dlckVsZW1lbnQgfCBudWxsO1xuICBvblRyaWdnZXJDaGFuZ2Uobm9kZTogU2VsZWN0VHJpZ2dlckVsZW1lbnQgfCBudWxsKTogdm9pZDtcbiAgdmFsdWVOb2RlOiBTZWxlY3RWYWx1ZUVsZW1lbnQgfCBudWxsO1xuICBvblZhbHVlTm9kZUNoYW5nZShub2RlOiBTZWxlY3RWYWx1ZUVsZW1lbnQpOiB2b2lkO1xuICB2YWx1ZU5vZGVIYXNDaGlsZHJlbjogYm9vbGVhbjtcbiAgb25WYWx1ZU5vZGVIYXNDaGlsZHJlbkNoYW5nZShoYXNDaGlsZHJlbjogYm9vbGVhbik6IHZvaWQ7XG4gIGNvbnRlbnRJZDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xuICBvcGVuOiBib29sZWFuO1xuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIG9uT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZDtcbiAgZGlyOiBTZWxlY3RQcm9wc1snZGlyJ107XG4gIHRyaWdnZXJQb2ludGVyRG93blBvc1JlZjogUmVhY3QuTXV0YWJsZVJlZk9iamVjdDx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0gfCBudWxsPjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufTtcblxuY29uc3QgW1NlbGVjdFByb3ZpZGVyLCB1c2VTZWxlY3RDb250ZXh0XSA9IGNyZWF0ZVNlbGVjdENvbnRleHQ8U2VsZWN0Q29udGV4dFZhbHVlPihTRUxFQ1RfTkFNRSk7XG5cbnR5cGUgTmF0aXZlT3B0aW9uID0gUmVhY3QuUmVhY3RFbGVtZW50PFJlYWN0LkNvbXBvbmVudFByb3BzPCdvcHRpb24nPj47XG5cbnR5cGUgU2VsZWN0TmF0aXZlT3B0aW9uc0NvbnRleHRWYWx1ZSA9IHtcbiAgb25OYXRpdmVPcHRpb25BZGQob3B0aW9uOiBOYXRpdmVPcHRpb24pOiB2b2lkO1xuICBvbk5hdGl2ZU9wdGlvblJlbW92ZShvcHRpb246IE5hdGl2ZU9wdGlvbik6IHZvaWQ7XG59O1xuY29uc3QgW1NlbGVjdE5hdGl2ZU9wdGlvbnNQcm92aWRlciwgdXNlU2VsZWN0TmF0aXZlT3B0aW9uc0NvbnRleHRdID1cbiAgY3JlYXRlU2VsZWN0Q29udGV4dDxTZWxlY3ROYXRpdmVPcHRpb25zQ29udGV4dFZhbHVlPihTRUxFQ1RfTkFNRSk7XG5cbmludGVyZmFjZSBDb250cm9sbGVkQ2xlYXJhYmxlU2VsZWN0UHJvcHMge1xuICB2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBkZWZhdWx0VmFsdWU/OiBuZXZlcjtcbiAgb25WYWx1ZUNoYW5nZTogKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IHZvaWQ7XG59XG5cbmludGVyZmFjZSBDb250cm9sbGVkVW5jbGVhcmFibGVTZWxlY3RQcm9wcyB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRlZmF1bHRWYWx1ZT86IG5ldmVyO1xuICBvblZhbHVlQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuaW50ZXJmYWNlIFVuY29udHJvbGxlZFNlbGVjdFByb3BzIHtcbiAgdmFsdWU/OiBuZXZlcjtcbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICBvblZhbHVlQ2hhbmdlPzoge1xuICAgICh2YWx1ZTogc3RyaW5nKTogdm9pZDtcbiAgICAodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQ7XG4gIH07XG59XG5cbnR5cGUgU2VsZWN0Q29udHJvbFByb3BzID1cbiAgfCBDb250cm9sbGVkQ2xlYXJhYmxlU2VsZWN0UHJvcHNcbiAgfCBDb250cm9sbGVkVW5jbGVhcmFibGVTZWxlY3RQcm9wc1xuICB8IFVuY29udHJvbGxlZFNlbGVjdFByb3BzO1xuXG5pbnRlcmZhY2UgU2VsZWN0U2hhcmVkUHJvcHMge1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgb3Blbj86IGJvb2xlYW47XG4gIGRlZmF1bHRPcGVuPzogYm9vbGVhbjtcbiAgb25PcGVuQ2hhbmdlPyhvcGVuOiBib29sZWFuKTogdm9pZDtcbiAgZGlyPzogRGlyZWN0aW9uO1xuICBuYW1lPzogc3RyaW5nO1xuICBhdXRvQ29tcGxldGU/OiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICBmb3JtPzogc3RyaW5nO1xufVxuXG4vLyBUT0RPOiBTaG91bGQgaW1wcm92ZSB0eXBpbmcgc29tZXdoYXQsIGJ1dCB0aGlzIHdvdWxkIGJlIGEgYnJlYWtpbmcgY2hhbmdlLlxuLy8gQ29uc2lkZXIgdXNpbmcgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiAoYWxvbmcgd2l0aCBzb21lIHRlc3RpbmcgdG8gYmUgc3VyZVxuLy8gaXQgd29ya3MgYXMgZXhwZWN0ZWQgYW5kIGRvZXNuJ3QgY2F1c2UgcHJvYmxlbXMpXG50eXBlIF9GdXR1cmVTZWxlY3RQcm9wcyA9IFNlbGVjdFNoYXJlZFByb3BzICYgU2VsZWN0Q29udHJvbFByb3BzO1xuXG50eXBlIFNlbGVjdFByb3BzID0gU2VsZWN0U2hhcmVkUHJvcHMgJiB7XG4gIHZhbHVlPzogc3RyaW5nO1xuICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gIG9uVmFsdWVDaGFuZ2U/KHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xufTtcblxuY29uc3QgU2VsZWN0OiBSZWFjdC5GQzxTZWxlY3RQcm9wcz4gPSAocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdFByb3BzPikgPT4ge1xuICBjb25zdCB7XG4gICAgX19zY29wZVNlbGVjdCxcbiAgICBjaGlsZHJlbixcbiAgICBvcGVuOiBvcGVuUHJvcCxcbiAgICBkZWZhdWx0T3BlbixcbiAgICBvbk9wZW5DaGFuZ2UsXG4gICAgdmFsdWU6IHZhbHVlUHJvcCxcbiAgICBkZWZhdWx0VmFsdWUsXG4gICAgb25WYWx1ZUNoYW5nZSxcbiAgICBkaXIsXG4gICAgbmFtZSxcbiAgICBhdXRvQ29tcGxldGUsXG4gICAgZGlzYWJsZWQsXG4gICAgcmVxdWlyZWQsXG4gICAgZm9ybSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBwb3BwZXJTY29wZSA9IHVzZVBvcHBlclNjb3BlKF9fc2NvcGVTZWxlY3QpO1xuICBjb25zdCBbdHJpZ2dlciwgc2V0VHJpZ2dlcl0gPSBSZWFjdC51c2VTdGF0ZTxTZWxlY3RUcmlnZ2VyRWxlbWVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbdmFsdWVOb2RlLCBzZXRWYWx1ZU5vZGVdID0gUmVhY3QudXNlU3RhdGU8U2VsZWN0VmFsdWVFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFt2YWx1ZU5vZGVIYXNDaGlsZHJlbiwgc2V0VmFsdWVOb2RlSGFzQ2hpbGRyZW5dID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBkaXJlY3Rpb24gPSB1c2VEaXJlY3Rpb24oZGlyKTtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlQ29udHJvbGxhYmxlU3RhdGUoe1xuICAgIHByb3A6IG9wZW5Qcm9wLFxuICAgIGRlZmF1bHRQcm9wOiBkZWZhdWx0T3BlbiA/PyBmYWxzZSxcbiAgICBvbkNoYW5nZTogb25PcGVuQ2hhbmdlLFxuICAgIGNhbGxlcjogU0VMRUNUX05BTUUsXG4gIH0pO1xuICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IHVzZUNvbnRyb2xsYWJsZVN0YXRlKHtcbiAgICBwcm9wOiB2YWx1ZVByb3AsXG4gICAgZGVmYXVsdFByb3A6IGRlZmF1bHRWYWx1ZSxcbiAgICBvbkNoYW5nZTogb25WYWx1ZUNoYW5nZSBhcyBhbnksXG4gICAgY2FsbGVyOiBTRUxFQ1RfTkFNRSxcbiAgfSk7XG4gIGNvbnN0IHRyaWdnZXJQb2ludGVyRG93blBvc1JlZiA9IFJlYWN0LnVzZVJlZjx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0gfCBudWxsPihudWxsKTtcblxuICAvLyBXZSBzZXQgdGhpcyB0byB0cnVlIGJ5IGRlZmF1bHQgc28gdGhhdCBldmVudHMgYnViYmxlIHRvIGZvcm1zIHdpdGhvdXQgSlMgKFNTUilcbiAgY29uc3QgaXNGb3JtQ29udHJvbCA9IHRyaWdnZXIgPyBmb3JtIHx8ICEhdHJpZ2dlci5jbG9zZXN0KCdmb3JtJykgOiB0cnVlO1xuICBjb25zdCBbbmF0aXZlT3B0aW9uc1NldCwgc2V0TmF0aXZlT3B0aW9uc1NldF0gPSBSZWFjdC51c2VTdGF0ZShuZXcgU2V0PE5hdGl2ZU9wdGlvbj4oKSk7XG5cbiAgLy8gVGhlIG5hdGl2ZSBgc2VsZWN0YCBvbmx5IGFzc29jaWF0ZXMgdGhlIGNvcnJlY3QgZGVmYXVsdCB2YWx1ZSBpZiB0aGUgY29ycmVzcG9uZGluZ1xuICAvLyBgb3B0aW9uYCBpcyByZW5kZXJlZCBhcyBhIGNoaWxkICoqYXQgdGhlIHNhbWUgdGltZSoqIGFzIGl0c2VsZi5cbiAgLy8gQmVjYXVzZSBpdCBtaWdodCB0YWtlIGEgZmV3IHJlbmRlcnMgZm9yIG91ciBpdGVtcyB0byBnYXRoZXIgdGhlIGluZm9ybWF0aW9uIHRvIGJ1aWxkXG4gIC8vIHRoZSBuYXRpdmUgYG9wdGlvbmAocyksIHdlIGdlbmVyYXRlIGEga2V5IG9uIHRoZSBgc2VsZWN0YCB0byBtYWtlIHN1cmUgUmVhY3QgcmUtYnVpbGRzIGl0XG4gIC8vIGVhY2ggdGltZSB0aGUgb3B0aW9ucyBjaGFuZ2UuXG4gIGNvbnN0IG5hdGl2ZVNlbGVjdEtleSA9IEFycmF5LmZyb20obmF0aXZlT3B0aW9uc1NldClcbiAgICAubWFwKChvcHRpb24pID0+IG9wdGlvbi5wcm9wcy52YWx1ZSlcbiAgICAuam9pbignOycpO1xuXG4gIHJldHVybiAoXG4gICAgPFBvcHBlclByaW1pdGl2ZS5Sb290IHsuLi5wb3BwZXJTY29wZX0+XG4gICAgICA8U2VsZWN0UHJvdmlkZXJcbiAgICAgICAgcmVxdWlyZWQ9e3JlcXVpcmVkfVxuICAgICAgICBzY29wZT17X19zY29wZVNlbGVjdH1cbiAgICAgICAgdHJpZ2dlcj17dHJpZ2dlcn1cbiAgICAgICAgb25UcmlnZ2VyQ2hhbmdlPXtzZXRUcmlnZ2VyfVxuICAgICAgICB2YWx1ZU5vZGU9e3ZhbHVlTm9kZX1cbiAgICAgICAgb25WYWx1ZU5vZGVDaGFuZ2U9e3NldFZhbHVlTm9kZX1cbiAgICAgICAgdmFsdWVOb2RlSGFzQ2hpbGRyZW49e3ZhbHVlTm9kZUhhc0NoaWxkcmVufVxuICAgICAgICBvblZhbHVlTm9kZUhhc0NoaWxkcmVuQ2hhbmdlPXtzZXRWYWx1ZU5vZGVIYXNDaGlsZHJlbn1cbiAgICAgICAgY29udGVudElkPXt1c2VJZCgpfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIG9uVmFsdWVDaGFuZ2U9e3NldFZhbHVlfVxuICAgICAgICBvcGVuPXtvcGVufVxuICAgICAgICBvbk9wZW5DaGFuZ2U9e3NldE9wZW59XG4gICAgICAgIGRpcj17ZGlyZWN0aW9ufVxuICAgICAgICB0cmlnZ2VyUG9pbnRlckRvd25Qb3NSZWY9e3RyaWdnZXJQb2ludGVyRG93blBvc1JlZn1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgPlxuICAgICAgICA8Q29sbGVjdGlvbi5Qcm92aWRlciBzY29wZT17X19zY29wZVNlbGVjdH0+XG4gICAgICAgICAgPFNlbGVjdE5hdGl2ZU9wdGlvbnNQcm92aWRlclxuICAgICAgICAgICAgc2NvcGU9e3Byb3BzLl9fc2NvcGVTZWxlY3R9XG4gICAgICAgICAgICBvbk5hdGl2ZU9wdGlvbkFkZD17UmVhY3QudXNlQ2FsbGJhY2soKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICBzZXROYXRpdmVPcHRpb25zU2V0KChwcmV2KSA9PiBuZXcgU2V0KHByZXYpLmFkZChvcHRpb24pKTtcbiAgICAgICAgICAgIH0sIFtdKX1cbiAgICAgICAgICAgIG9uTmF0aXZlT3B0aW9uUmVtb3ZlPXtSZWFjdC51c2VDYWxsYmFjaygob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIHNldE5hdGl2ZU9wdGlvbnNTZXQoKHByZXYpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zU2V0ID0gbmV3IFNldChwcmV2KTtcbiAgICAgICAgICAgICAgICBvcHRpb25zU2V0LmRlbGV0ZShvcHRpb24pO1xuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25zU2V0O1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sIFtdKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9TZWxlY3ROYXRpdmVPcHRpb25zUHJvdmlkZXI+XG4gICAgICAgIDwvQ29sbGVjdGlvbi5Qcm92aWRlcj5cblxuICAgICAgICB7aXNGb3JtQ29udHJvbCA/IChcbiAgICAgICAgICA8U2VsZWN0QnViYmxlSW5wdXRcbiAgICAgICAgICAgIGtleT17bmF0aXZlU2VsZWN0S2V5fVxuICAgICAgICAgICAgYXJpYS1oaWRkZW5cbiAgICAgICAgICAgIHJlcXVpcmVkPXtyZXF1aXJlZH1cbiAgICAgICAgICAgIHRhYkluZGV4PXstMX1cbiAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICBhdXRvQ29tcGxldGU9e2F1dG9Db21wbGV0ZX1cbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgIC8vIGVuYWJsZSBmb3JtIGF1dG9maWxsXG4gICAgICAgICAgICBvbkNoYW5nZT17KGV2ZW50KSA9PiBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgZm9ybT17Zm9ybX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dmFsdWUgPT09IHVuZGVmaW5lZCA/IDxvcHRpb24gdmFsdWU9XCJcIiAvPiA6IG51bGx9XG4gICAgICAgICAgICB7QXJyYXkuZnJvbShuYXRpdmVPcHRpb25zU2V0KX1cbiAgICAgICAgICA8L1NlbGVjdEJ1YmJsZUlucHV0PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU2VsZWN0UHJvdmlkZXI+XG4gICAgPC9Qb3BwZXJQcmltaXRpdmUuUm9vdD5cbiAgKTtcbn07XG5cblNlbGVjdC5kaXNwbGF5TmFtZSA9IFNFTEVDVF9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RUcmlnZ2VyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IFRSSUdHRVJfTkFNRSA9ICdTZWxlY3RUcmlnZ2VyJztcblxudHlwZSBTZWxlY3RUcmlnZ2VyRWxlbWVudCA9IFJlYWN0LkNvbXBvbmVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLmJ1dHRvbj47XG50eXBlIFByaW1pdGl2ZUJ1dHRvblByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQcmltaXRpdmUuYnV0dG9uPjtcbmludGVyZmFjZSBTZWxlY3RUcmlnZ2VyUHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVCdXR0b25Qcm9wcyB7fVxuXG5jb25zdCBTZWxlY3RUcmlnZ2VyID0gUmVhY3QuZm9yd2FyZFJlZjxTZWxlY3RUcmlnZ2VyRWxlbWVudCwgU2VsZWN0VHJpZ2dlclByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RUcmlnZ2VyUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVTZWxlY3QsIGRpc2FibGVkID0gZmFsc2UsIC4uLnRyaWdnZXJQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgcG9wcGVyU2NvcGUgPSB1c2VQb3BwZXJTY29wZShfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlU2VsZWN0Q29udGV4dChUUklHR0VSX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBjb250ZXh0LmRpc2FibGVkIHx8IGRpc2FibGVkO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIGNvbnRleHQub25UcmlnZ2VyQ2hhbmdlKTtcbiAgICBjb25zdCBnZXRJdGVtcyA9IHVzZUNvbGxlY3Rpb24oX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgcG9pbnRlclR5cGVSZWYgPSBSZWFjdC51c2VSZWY8UmVhY3QuUG9pbnRlckV2ZW50Wydwb2ludGVyVHlwZSddPigndG91Y2gnKTtcblxuICAgIGNvbnN0IFtzZWFyY2hSZWYsIGhhbmRsZVR5cGVhaGVhZFNlYXJjaCwgcmVzZXRUeXBlYWhlYWRdID0gdXNlVHlwZWFoZWFkU2VhcmNoKChzZWFyY2gpID0+IHtcbiAgICAgIGNvbnN0IGVuYWJsZWRJdGVtcyA9IGdldEl0ZW1zKCkuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCk7XG4gICAgICBjb25zdCBjdXJyZW50SXRlbSA9IGVuYWJsZWRJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSBjb250ZXh0LnZhbHVlKTtcbiAgICAgIGNvbnN0IG5leHRJdGVtID0gZmluZE5leHRJdGVtKGVuYWJsZWRJdGVtcywgc2VhcmNoLCBjdXJyZW50SXRlbSk7XG4gICAgICBpZiAobmV4dEl0ZW0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb250ZXh0Lm9uVmFsdWVDaGFuZ2UobmV4dEl0ZW0udmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgaGFuZGxlT3BlbiA9IChwb2ludGVyRXZlbnQ/OiBSZWFjdC5Nb3VzZUV2ZW50IHwgUmVhY3QuUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICBpZiAoIWlzRGlzYWJsZWQpIHtcbiAgICAgICAgY29udGV4dC5vbk9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgIC8vIHJlc2V0IHR5cGVhaGVhZCB3aGVuIHdlIG9wZW5cbiAgICAgICAgcmVzZXRUeXBlYWhlYWQoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHBvaW50ZXJFdmVudCkge1xuICAgICAgICBjb250ZXh0LnRyaWdnZXJQb2ludGVyRG93blBvc1JlZi5jdXJyZW50ID0ge1xuICAgICAgICAgIHg6IE1hdGgucm91bmQocG9pbnRlckV2ZW50LnBhZ2VYKSxcbiAgICAgICAgICB5OiBNYXRoLnJvdW5kKHBvaW50ZXJFdmVudC5wYWdlWSksXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8UG9wcGVyUHJpbWl0aXZlLkFuY2hvciBhc0NoaWxkIHsuLi5wb3BwZXJTY29wZX0+XG4gICAgICAgIDxQcmltaXRpdmUuYnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgcm9sZT1cImNvbWJvYm94XCJcbiAgICAgICAgICBhcmlhLWNvbnRyb2xzPXtjb250ZXh0LmNvbnRlbnRJZH1cbiAgICAgICAgICBhcmlhLWV4cGFuZGVkPXtjb250ZXh0Lm9wZW59XG4gICAgICAgICAgYXJpYS1yZXF1aXJlZD17Y29udGV4dC5yZXF1aXJlZH1cbiAgICAgICAgICBhcmlhLWF1dG9jb21wbGV0ZT1cIm5vbmVcIlxuICAgICAgICAgIGRpcj17Y29udGV4dC5kaXJ9XG4gICAgICAgICAgZGF0YS1zdGF0ZT17Y29udGV4dC5vcGVuID8gJ29wZW4nIDogJ2Nsb3NlZCd9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgZGF0YS1kaXNhYmxlZD17aXNEaXNhYmxlZCA/ICcnIDogdW5kZWZpbmVkfVxuICAgICAgICAgIGRhdGEtcGxhY2Vob2xkZXI9e3Nob3VsZFNob3dQbGFjZWhvbGRlcihjb250ZXh0LnZhbHVlKSA/ICcnIDogdW5kZWZpbmVkfVxuICAgICAgICAgIHsuLi50cmlnZ2VyUHJvcHN9XG4gICAgICAgICAgcmVmPXtjb21wb3NlZFJlZnN9XG4gICAgICAgICAgLy8gRW5hYmxlIGNvbXBhdGliaWxpdHkgd2l0aCBuYXRpdmUgbGFiZWwgb3IgY3VzdG9tIGBMYWJlbGAgXCJjbGlja1wiIGZvciBTYWZhcmk6XG4gICAgICAgICAgb25DbGljaz17Y29tcG9zZUV2ZW50SGFuZGxlcnModHJpZ2dlclByb3BzLm9uQ2xpY2ssIChldmVudCkgPT4ge1xuICAgICAgICAgICAgLy8gV2hpbHN0IGJyb3dzZXJzIGdlbmVyYWxseSBoYXZlIG5vIGlzc3VlIGZvY3VzaW5nIHRoZSB0cmlnZ2VyIHdoZW4gY2xpY2tpbmdcbiAgICAgICAgICAgIC8vIG9uIGEgbGFiZWwsIFNhZmFyaSBzZWVtcyB0byBzdHJ1Z2dsZSB3aXRoIHRoZSBmYWN0IHRoYXQgdGhlcmUncyBubyBgb25DbGlja2AuXG4gICAgICAgICAgICAvLyBXZSBmb3JjZSBgZm9jdXNgIGluIHRoaXMgY2FzZS4gTm90ZTogdGhpcyBkb2Vzbid0IGNyZWF0ZSBhbnkgb3RoZXIgc2lkZS1lZmZlY3RcbiAgICAgICAgICAgIC8vIGJlY2F1c2Ugd2UgYXJlIHByZXZlbnRpbmcgZGVmYXVsdCBpbiBgb25Qb2ludGVyRG93bmAgc28gZWZmZWN0aXZlbHlcbiAgICAgICAgICAgIC8vIHRoaXMgb25seSBydW5zIGZvciBhIGxhYmVsIFwiY2xpY2tcIlxuICAgICAgICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5mb2N1cygpO1xuXG4gICAgICAgICAgICAvLyBPcGVuIG9uIGNsaWNrIHdoZW4gdXNpbmcgYSB0b3VjaCBvciBwZW4gZGV2aWNlXG4gICAgICAgICAgICBpZiAocG9pbnRlclR5cGVSZWYuY3VycmVudCAhPT0gJ21vdXNlJykge1xuICAgICAgICAgICAgICBoYW5kbGVPcGVuKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KX1cbiAgICAgICAgICBvblBvaW50ZXJEb3duPXtjb21wb3NlRXZlbnRIYW5kbGVycyh0cmlnZ2VyUHJvcHMub25Qb2ludGVyRG93biwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBwb2ludGVyVHlwZVJlZi5jdXJyZW50ID0gZXZlbnQucG9pbnRlclR5cGU7XG5cbiAgICAgICAgICAgIC8vIHByZXZlbnQgaW1wbGljaXQgcG9pbnRlciBjYXB0dXJlXG4gICAgICAgICAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvcG9pbnRlcmV2ZW50czMvI2ltcGxpY2l0LXBvaW50ZXItY2FwdHVyZVxuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgaWYgKHRhcmdldC5oYXNQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpKSB7XG4gICAgICAgICAgICAgIHRhcmdldC5yZWxlYXNlUG9pbnRlckNhcHR1cmUoZXZlbnQucG9pbnRlcklkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gb25seSBjYWxsIGhhbmRsZXIgaWYgaXQncyB0aGUgbGVmdCBidXR0b24gKG1vdXNlZG93biBnZXRzIHRyaWdnZXJlZCBieSBhbGwgbW91c2UgYnV0dG9ucylcbiAgICAgICAgICAgIC8vIGJ1dCBub3Qgd2hlbiB0aGUgY29udHJvbCBrZXkgaXMgcHJlc3NlZCAoYXZvaWRpbmcgTWFjT1MgcmlnaHQgY2xpY2spOyBhbHNvIG5vdCBmb3IgdG91Y2hcbiAgICAgICAgICAgIC8vIGRldmljZXMgYmVjYXVzZSB0aGF0IHdvdWxkIG9wZW4gdGhlIG1lbnUgb24gc2Nyb2xsLiAocGVuIGRldmljZXMgYmVoYXZlIGFzIHRvdWNoIG9uIGlPUykuXG4gICAgICAgICAgICBpZiAoZXZlbnQuYnV0dG9uID09PSAwICYmIGV2ZW50LmN0cmxLZXkgPT09IGZhbHNlICYmIGV2ZW50LnBvaW50ZXJUeXBlID09PSAnbW91c2UnKSB7XG4gICAgICAgICAgICAgIGhhbmRsZU9wZW4oZXZlbnQpO1xuICAgICAgICAgICAgICAvLyBwcmV2ZW50IHRyaWdnZXIgZnJvbSBzdGVhbGluZyBmb2N1cyBmcm9tIHRoZSBhY3RpdmUgaXRlbSBhZnRlciBvcGVuaW5nLlxuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pfVxuICAgICAgICAgIG9uS2V5RG93bj17Y29tcG9zZUV2ZW50SGFuZGxlcnModHJpZ2dlclByb3BzLm9uS2V5RG93biwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc1R5cGluZ0FoZWFkID0gc2VhcmNoUmVmLmN1cnJlbnQgIT09ICcnO1xuICAgICAgICAgICAgY29uc3QgaXNNb2RpZmllcktleSA9IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQuYWx0S2V5IHx8IGV2ZW50Lm1ldGFLZXk7XG4gICAgICAgICAgICBpZiAoIWlzTW9kaWZpZXJLZXkgJiYgZXZlbnQua2V5Lmxlbmd0aCA9PT0gMSkgaGFuZGxlVHlwZWFoZWFkU2VhcmNoKGV2ZW50LmtleSk7XG4gICAgICAgICAgICBpZiAoaXNUeXBpbmdBaGVhZCAmJiBldmVudC5rZXkgPT09ICcgJykgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKE9QRU5fS0VZUy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICAgIGhhbmRsZU9wZW4oKTtcbiAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KX1cbiAgICAgICAgLz5cbiAgICAgIDwvUG9wcGVyUHJpbWl0aXZlLkFuY2hvcj5cbiAgICApO1xuICB9XG4pO1xuXG5TZWxlY3RUcmlnZ2VyLmRpc3BsYXlOYW1lID0gVFJJR0dFUl9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RWYWx1ZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBWQUxVRV9OQU1FID0gJ1NlbGVjdFZhbHVlJztcblxudHlwZSBTZWxlY3RWYWx1ZUVsZW1lbnQgPSBSZWFjdC5Db21wb25lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5zcGFuPjtcbnR5cGUgUHJpbWl0aXZlU3BhblByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQcmltaXRpdmUuc3Bhbj47XG5pbnRlcmZhY2UgU2VsZWN0VmFsdWVQcm9wcyBleHRlbmRzIE9taXQ8UHJpbWl0aXZlU3BhblByb3BzLCAncGxhY2Vob2xkZXInPiB7XG4gIHBsYWNlaG9sZGVyPzogUmVhY3QuUmVhY3ROb2RlO1xufVxuXG5jb25zdCBTZWxlY3RWYWx1ZSA9IFJlYWN0LmZvcndhcmRSZWY8U2VsZWN0VmFsdWVFbGVtZW50LCBTZWxlY3RWYWx1ZVByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RWYWx1ZVByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgLy8gV2UgaWdub3JlIGBjbGFzc05hbWVgIGFuZCBgc3R5bGVgIGFzIHRoaXMgcGFydCBzaG91bGRuJ3QgYmUgc3R5bGVkLlxuICAgIGNvbnN0IHsgX19zY29wZVNlbGVjdCwgY2xhc3NOYW1lLCBzdHlsZSwgY2hpbGRyZW4sIHBsYWNlaG9sZGVyID0gJycsIC4uLnZhbHVlUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VTZWxlY3RDb250ZXh0KFZBTFVFX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICAgIGNvbnN0IHsgb25WYWx1ZU5vZGVIYXNDaGlsZHJlbkNoYW5nZSB9ID0gY29udGV4dDtcbiAgICBjb25zdCBoYXNDaGlsZHJlbiA9IGNoaWxkcmVuICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgY29udGV4dC5vblZhbHVlTm9kZUNoYW5nZSk7XG5cbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgb25WYWx1ZU5vZGVIYXNDaGlsZHJlbkNoYW5nZShoYXNDaGlsZHJlbik7XG4gICAgfSwgW29uVmFsdWVOb2RlSGFzQ2hpbGRyZW5DaGFuZ2UsIGhhc0NoaWxkcmVuXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFByaW1pdGl2ZS5zcGFuXG4gICAgICAgIHsuLi52YWx1ZVByb3BzfVxuICAgICAgICByZWY9e2NvbXBvc2VkUmVmc31cbiAgICAgICAgLy8gd2UgZG9uJ3Qgd2FudCBldmVudHMgZnJvbSB0aGUgcG9ydGFsbGVkIGBTZWxlY3RWYWx1ZWAgY2hpbGRyZW4gdG8gYnViYmxlXG4gICAgICAgIC8vIHRocm91Z2ggdGhlIGl0ZW0gdGhleSBjYW1lIGZyb21cbiAgICAgICAgc3R5bGU9e3sgcG9pbnRlckV2ZW50czogJ25vbmUnIH19XG4gICAgICA+XG4gICAgICAgIHtzaG91bGRTaG93UGxhY2Vob2xkZXIoY29udGV4dC52YWx1ZSkgPyA8PntwbGFjZWhvbGRlcn08Lz4gOiBjaGlsZHJlbn1cbiAgICAgIDwvUHJpbWl0aXZlLnNwYW4+XG4gICAgKTtcbiAgfVxuKTtcblxuU2VsZWN0VmFsdWUuZGlzcGxheU5hbWUgPSBWQUxVRV9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RJY29uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IElDT05fTkFNRSA9ICdTZWxlY3RJY29uJztcblxudHlwZSBTZWxlY3RJY29uRWxlbWVudCA9IFJlYWN0LkNvbXBvbmVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLnNwYW4+O1xuaW50ZXJmYWNlIFNlbGVjdEljb25Qcm9wcyBleHRlbmRzIFByaW1pdGl2ZVNwYW5Qcm9wcyB7fVxuXG5jb25zdCBTZWxlY3RJY29uID0gUmVhY3QuZm9yd2FyZFJlZjxTZWxlY3RJY29uRWxlbWVudCwgU2VsZWN0SWNvblByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RJY29uUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVTZWxlY3QsIGNoaWxkcmVuLCAuLi5pY29uUHJvcHMgfSA9IHByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICA8UHJpbWl0aXZlLnNwYW4gYXJpYS1oaWRkZW4gey4uLmljb25Qcm9wc30gcmVmPXtmb3J3YXJkZWRSZWZ9PlxuICAgICAgICB7Y2hpbGRyZW4gfHwgJ+KWvCd9XG4gICAgICA8L1ByaW1pdGl2ZS5zcGFuPlxuICAgICk7XG4gIH1cbik7XG5cblNlbGVjdEljb24uZGlzcGxheU5hbWUgPSBJQ09OX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNlbGVjdFBvcnRhbFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBQT1JUQUxfTkFNRSA9ICdTZWxlY3RQb3J0YWwnO1xuXG50eXBlIFBvcnRhbFByb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQb3J0YWxQcmltaXRpdmU+O1xuaW50ZXJmYWNlIFNlbGVjdFBvcnRhbFByb3BzIHtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIC8qKlxuICAgKiBTcGVjaWZ5IGEgY29udGFpbmVyIGVsZW1lbnQgdG8gcG9ydGFsIHRoZSBjb250ZW50IGludG8uXG4gICAqL1xuICBjb250YWluZXI/OiBQb3J0YWxQcm9wc1snY29udGFpbmVyJ107XG59XG5cbmNvbnN0IFNlbGVjdFBvcnRhbDogUmVhY3QuRkM8U2VsZWN0UG9ydGFsUHJvcHM+ID0gKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RQb3J0YWxQcm9wcz4pID0+IHtcbiAgcmV0dXJuIDxQb3J0YWxQcmltaXRpdmUgYXNDaGlsZCB7Li4ucHJvcHN9IC8+O1xufTtcblxuU2VsZWN0UG9ydGFsLmRpc3BsYXlOYW1lID0gUE9SVEFMX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNlbGVjdENvbnRlbnRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgQ09OVEVOVF9OQU1FID0gJ1NlbGVjdENvbnRlbnQnO1xuXG50eXBlIFNlbGVjdENvbnRlbnRFbGVtZW50ID0gU2VsZWN0Q29udGVudEltcGxFbGVtZW50O1xuaW50ZXJmYWNlIFNlbGVjdENvbnRlbnRQcm9wcyBleHRlbmRzIFNlbGVjdENvbnRlbnRJbXBsUHJvcHMge31cblxuY29uc3QgU2VsZWN0Q29udGVudCA9IFJlYWN0LmZvcndhcmRSZWY8U2VsZWN0Q29udGVudEVsZW1lbnQsIFNlbGVjdENvbnRlbnRQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8U2VsZWN0Q29udGVudFByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVNlbGVjdENvbnRleHQoQ09OVEVOVF9OQU1FLCBwcm9wcy5fX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBbZnJhZ21lbnQsIHNldEZyYWdtZW50XSA9IFJlYWN0LnVzZVN0YXRlPERvY3VtZW50RnJhZ21lbnQ+KCk7XG5cbiAgICAvLyBzZXR0aW5nIHRoZSBmcmFnbWVudCBpbiBgdXNlTGF5b3V0RWZmZWN0YCBhcyBgRG9jdW1lbnRGcmFnbWVudGAgZG9lc24ndCBleGlzdCBvbiB0aGUgc2VydmVyXG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgIHNldEZyYWdtZW50KG5ldyBEb2N1bWVudEZyYWdtZW50KCkpO1xuICAgIH0sIFtdKTtcblxuICAgIGlmICghY29udGV4dC5vcGVuKSB7XG4gICAgICBjb25zdCBmcmFnID0gZnJhZ21lbnQgYXMgRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBmcmFnXG4gICAgICAgID8gUmVhY3RET00uY3JlYXRlUG9ydGFsKFxuICAgICAgICAgICAgPFNlbGVjdENvbnRlbnRQcm92aWRlciBzY29wZT17cHJvcHMuX19zY29wZVNlbGVjdH0+XG4gICAgICAgICAgICAgIDxDb2xsZWN0aW9uLlNsb3Qgc2NvcGU9e3Byb3BzLl9fc2NvcGVTZWxlY3R9PlxuICAgICAgICAgICAgICAgIDxkaXY+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICAgICAgICAgICAgICA8L0NvbGxlY3Rpb24uU2xvdD5cbiAgICAgICAgICAgIDwvU2VsZWN0Q29udGVudFByb3ZpZGVyPixcbiAgICAgICAgICAgIGZyYWdcbiAgICAgICAgICApXG4gICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gPFNlbGVjdENvbnRlbnRJbXBsIHsuLi5wcm9wc30gcmVmPXtmb3J3YXJkZWRSZWZ9IC8+O1xuICB9XG4pO1xuXG5TZWxlY3RDb250ZW50LmRpc3BsYXlOYW1lID0gQ09OVEVOVF9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RDb250ZW50SW1wbFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBDT05URU5UX01BUkdJTiA9IDEwO1xuXG50eXBlIFNlbGVjdENvbnRlbnRDb250ZXh0VmFsdWUgPSB7XG4gIGNvbnRlbnQ/OiBTZWxlY3RDb250ZW50RWxlbWVudCB8IG51bGw7XG4gIHZpZXdwb3J0PzogU2VsZWN0Vmlld3BvcnRFbGVtZW50IHwgbnVsbDtcbiAgb25WaWV3cG9ydENoYW5nZT86IChub2RlOiBTZWxlY3RWaWV3cG9ydEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuICBpdGVtUmVmQ2FsbGJhY2s/OiAobm9kZTogU2VsZWN0SXRlbUVsZW1lbnQgfCBudWxsLCB2YWx1ZTogc3RyaW5nLCBkaXNhYmxlZDogYm9vbGVhbikgPT4gdm9pZDtcbiAgc2VsZWN0ZWRJdGVtPzogU2VsZWN0SXRlbUVsZW1lbnQgfCBudWxsO1xuICBvbkl0ZW1MZWF2ZT86ICgpID0+IHZvaWQ7XG4gIGl0ZW1UZXh0UmVmQ2FsbGJhY2s/OiAoXG4gICAgbm9kZTogU2VsZWN0SXRlbVRleHRFbGVtZW50IHwgbnVsbCxcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIGRpc2FibGVkOiBib29sZWFuXG4gICkgPT4gdm9pZDtcbiAgZm9jdXNTZWxlY3RlZEl0ZW0/OiAoKSA9PiB2b2lkO1xuICBzZWxlY3RlZEl0ZW1UZXh0PzogU2VsZWN0SXRlbVRleHRFbGVtZW50IHwgbnVsbDtcbiAgcG9zaXRpb24/OiBTZWxlY3RDb250ZW50UHJvcHNbJ3Bvc2l0aW9uJ107XG4gIGlzUG9zaXRpb25lZD86IGJvb2xlYW47XG4gIHNlYXJjaFJlZj86IFJlYWN0LlJlZk9iamVjdDxzdHJpbmc+O1xufTtcblxuY29uc3QgW1NlbGVjdENvbnRlbnRQcm92aWRlciwgdXNlU2VsZWN0Q29udGVudENvbnRleHRdID1cbiAgY3JlYXRlU2VsZWN0Q29udGV4dDxTZWxlY3RDb250ZW50Q29udGV4dFZhbHVlPihDT05URU5UX05BTUUpO1xuXG5jb25zdCBDT05URU5UX0lNUExfTkFNRSA9ICdTZWxlY3RDb250ZW50SW1wbCc7XG5cbnR5cGUgU2VsZWN0Q29udGVudEltcGxFbGVtZW50ID0gU2VsZWN0UG9wcGVyUG9zaXRpb25FbGVtZW50IHwgU2VsZWN0SXRlbUFsaWduZWRQb3NpdGlvbkVsZW1lbnQ7XG50eXBlIERpc21pc3NhYmxlTGF5ZXJQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRGlzbWlzc2FibGVMYXllcj47XG50eXBlIEZvY3VzU2NvcGVQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgRm9jdXNTY29wZT47XG5cbnR5cGUgU2VsZWN0UG9wcGVyUHJpdmF0ZVByb3BzID0geyBvblBsYWNlZD86IFBvcHBlckNvbnRlbnRQcm9wc1snb25QbGFjZWQnXSB9O1xuXG5pbnRlcmZhY2UgU2VsZWN0Q29udGVudEltcGxQcm9wc1xuICBleHRlbmRzIE9taXQ8U2VsZWN0UG9wcGVyUG9zaXRpb25Qcm9wcywga2V5b2YgU2VsZWN0UG9wcGVyUHJpdmF0ZVByb3BzPixcbiAgICBPbWl0PFNlbGVjdEl0ZW1BbGlnbmVkUG9zaXRpb25Qcm9wcywga2V5b2YgU2VsZWN0UG9wcGVyUHJpdmF0ZVByb3BzPiB7XG4gIC8qKlxuICAgKiBFdmVudCBoYW5kbGVyIGNhbGxlZCB3aGVuIGF1dG8tZm9jdXNpbmcgb24gY2xvc2UuXG4gICAqIENhbiBiZSBwcmV2ZW50ZWQuXG4gICAqL1xuICBvbkNsb3NlQXV0b0ZvY3VzPzogRm9jdXNTY29wZVByb3BzWydvblVubW91bnRBdXRvRm9jdXMnXTtcbiAgLyoqXG4gICAqIEV2ZW50IGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIGVzY2FwZSBrZXkgaXMgZG93bi5cbiAgICogQ2FuIGJlIHByZXZlbnRlZC5cbiAgICovXG4gIG9uRXNjYXBlS2V5RG93bj86IERpc21pc3NhYmxlTGF5ZXJQcm9wc1snb25Fc2NhcGVLZXlEb3duJ107XG4gIC8qKlxuICAgKiBFdmVudCBoYW5kbGVyIGNhbGxlZCB3aGVuIHRoZSBhIGBwb2ludGVyZG93bmAgZXZlbnQgaGFwcGVucyBvdXRzaWRlIG9mIHRoZSBgRGlzbWlzc2FibGVMYXllcmAuXG4gICAqIENhbiBiZSBwcmV2ZW50ZWQuXG4gICAqL1xuICBvblBvaW50ZXJEb3duT3V0c2lkZT86IERpc21pc3NhYmxlTGF5ZXJQcm9wc1snb25Qb2ludGVyRG93bk91dHNpZGUnXTtcblxuICBwb3NpdGlvbj86ICdpdGVtLWFsaWduZWQnIHwgJ3BvcHBlcic7XG59XG5cbmNvbnN0IFNsb3QgPSBjcmVhdGVTbG90KCdTZWxlY3RDb250ZW50LlJlbW92ZVNjcm9sbCcpO1xuXG5jb25zdCBTZWxlY3RDb250ZW50SW1wbCA9IFJlYWN0LmZvcndhcmRSZWY8U2VsZWN0Q29udGVudEltcGxFbGVtZW50LCBTZWxlY3RDb250ZW50SW1wbFByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RDb250ZW50SW1wbFByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgX19zY29wZVNlbGVjdCxcbiAgICAgIHBvc2l0aW9uID0gJ2l0ZW0tYWxpZ25lZCcsXG4gICAgICBvbkNsb3NlQXV0b0ZvY3VzLFxuICAgICAgb25Fc2NhcGVLZXlEb3duLFxuICAgICAgb25Qb2ludGVyRG93bk91dHNpZGUsXG4gICAgICAvL1xuICAgICAgLy8gUG9wcGVyQ29udGVudCBwcm9wc1xuICAgICAgc2lkZSxcbiAgICAgIHNpZGVPZmZzZXQsXG4gICAgICBhbGlnbixcbiAgICAgIGFsaWduT2Zmc2V0LFxuICAgICAgYXJyb3dQYWRkaW5nLFxuICAgICAgY29sbGlzaW9uQm91bmRhcnksXG4gICAgICBjb2xsaXNpb25QYWRkaW5nLFxuICAgICAgc3RpY2t5LFxuICAgICAgaGlkZVdoZW5EZXRhY2hlZCxcbiAgICAgIGF2b2lkQ29sbGlzaW9ucyxcbiAgICAgIC8vXG4gICAgICAuLi5jb250ZW50UHJvcHNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVNlbGVjdENvbnRleHQoQ09OVEVOVF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBbY29udGVudCwgc2V0Q29udGVudF0gPSBSZWFjdC51c2VTdGF0ZTxTZWxlY3RDb250ZW50SW1wbEVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBbdmlld3BvcnQsIHNldFZpZXdwb3J0XSA9IFJlYWN0LnVzZVN0YXRlPFNlbGVjdFZpZXdwb3J0RWxlbWVudCB8IG51bGw+KG51bGwpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIChub2RlKSA9PiBzZXRDb250ZW50KG5vZGUpKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRJdGVtLCBzZXRTZWxlY3RlZEl0ZW1dID0gUmVhY3QudXNlU3RhdGU8U2VsZWN0SXRlbUVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRJdGVtVGV4dCwgc2V0U2VsZWN0ZWRJdGVtVGV4dF0gPSBSZWFjdC51c2VTdGF0ZTxTZWxlY3RJdGVtVGV4dEVsZW1lbnQgfCBudWxsPihcbiAgICAgIG51bGxcbiAgICApO1xuICAgIGNvbnN0IGdldEl0ZW1zID0gdXNlQ29sbGVjdGlvbihfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBbaXNQb3NpdGlvbmVkLCBzZXRJc1Bvc2l0aW9uZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IGZpcnN0VmFsaWRJdGVtRm91bmRSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuXG4gICAgLy8gYXJpYS1oaWRlIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBjb250ZW50IChiZXR0ZXIgc3VwcG9ydGVkIGVxdWl2YWxlbnQgdG8gc2V0dGluZyBhcmlhLW1vZGFsKVxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoY29udGVudCkgcmV0dXJuIGhpZGVPdGhlcnMoY29udGVudCk7XG4gICAgfSwgW2NvbnRlbnRdKTtcblxuICAgIC8vIE1ha2Ugc3VyZSB0aGUgd2hvbGUgdHJlZSBoYXMgZm9jdXMgZ3VhcmRzIGFzIG91ciBgU2VsZWN0YCBtYXkgYmVcbiAgICAvLyB0aGUgbGFzdCBlbGVtZW50IGluIHRoZSBET00gKGJlY2F1c2Ugb2YgdGhlIGBQb3J0YWxgKVxuICAgIHVzZUZvY3VzR3VhcmRzKCk7XG5cbiAgICBjb25zdCBmb2N1c0ZpcnN0ID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgICAoY2FuZGlkYXRlczogQXJyYXk8SFRNTEVsZW1lbnQgfCBudWxsPikgPT4ge1xuICAgICAgICBjb25zdCBbZmlyc3RJdGVtLCAuLi5yZXN0SXRlbXNdID0gZ2V0SXRlbXMoKS5tYXAoKGl0ZW0pID0+IGl0ZW0ucmVmLmN1cnJlbnQpO1xuICAgICAgICBjb25zdCBbbGFzdEl0ZW1dID0gcmVzdEl0ZW1zLnNsaWNlKC0xKTtcblxuICAgICAgICBjb25zdCBQUkVWSU9VU0xZX0ZPQ1VTRURfRUxFTUVOVCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICAgICAgICAvLyBpZiBmb2N1cyBpcyBhbHJlYWR5IHdoZXJlIHdlIHdhbnQgdG8gZ28sIHdlIGRvbid0IHdhbnQgdG8ga2VlcCBnb2luZyB0aHJvdWdoIHRoZSBjYW5kaWRhdGVzXG4gICAgICAgICAgaWYgKGNhbmRpZGF0ZSA9PT0gUFJFVklPVVNMWV9GT0NVU0VEX0VMRU1FTlQpIHJldHVybjtcbiAgICAgICAgICBjYW5kaWRhdGU/LnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcbiAgICAgICAgICAvLyB2aWV3cG9ydCBtaWdodCBoYXZlIHBhZGRpbmcgc28gc2Nyb2xsIHRvIGl0cyBlZGdlcyB3aGVuIGZvY3VzaW5nIGZpcnN0L2xhc3QgaXRlbXMuXG4gICAgICAgICAgaWYgKGNhbmRpZGF0ZSA9PT0gZmlyc3RJdGVtICYmIHZpZXdwb3J0KSB2aWV3cG9ydC5zY3JvbGxUb3AgPSAwO1xuICAgICAgICAgIGlmIChjYW5kaWRhdGUgPT09IGxhc3RJdGVtICYmIHZpZXdwb3J0KSB2aWV3cG9ydC5zY3JvbGxUb3AgPSB2aWV3cG9ydC5zY3JvbGxIZWlnaHQ7XG4gICAgICAgICAgY2FuZGlkYXRlPy5mb2N1cygpO1xuICAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSBQUkVWSU9VU0xZX0ZPQ1VTRURfRUxFTUVOVCkgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2dldEl0ZW1zLCB2aWV3cG9ydF1cbiAgICApO1xuXG4gICAgY29uc3QgZm9jdXNTZWxlY3RlZEl0ZW0gPSBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAgICgpID0+IGZvY3VzRmlyc3QoW3NlbGVjdGVkSXRlbSwgY29udGVudF0pLFxuICAgICAgW2ZvY3VzRmlyc3QsIHNlbGVjdGVkSXRlbSwgY29udGVudF1cbiAgICApO1xuXG4gICAgLy8gU2luY2UgdGhpcyBpcyBub3QgZGVwZW5kZW50IG9uIGxheW91dCwgd2Ugd2FudCB0byBlbnN1cmUgdGhpcyBydW5zIGF0IHRoZSBzYW1lIHRpbWUgYXNcbiAgICAvLyBvdGhlciBlZmZlY3RzIGFjcm9zcyBjb21wb25lbnRzLiBIZW5jZSB3aHkgd2UgZG9uJ3QgY2FsbCBgZm9jdXNTZWxlY3RlZEl0ZW1gIGluc2lkZSBgcG9zaXRpb25gLlxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoaXNQb3NpdGlvbmVkKSB7XG4gICAgICAgIGZvY3VzU2VsZWN0ZWRJdGVtKCk7XG4gICAgICB9XG4gICAgfSwgW2lzUG9zaXRpb25lZCwgZm9jdXNTZWxlY3RlZEl0ZW1dKTtcblxuICAgIC8vIHByZXZlbnQgc2VsZWN0aW5nIGl0ZW1zIG9uIGBwb2ludGVydXBgIGluIHNvbWUgY2FzZXMgYWZ0ZXIgb3BlbmluZyBmcm9tIGBwb2ludGVyZG93bmBcbiAgICAvLyBhbmQgY2xvc2Ugb24gYHBvaW50ZXJ1cGAgb3V0c2lkZS5cbiAgICBjb25zdCB7IG9uT3BlbkNoYW5nZSwgdHJpZ2dlclBvaW50ZXJEb3duUG9zUmVmIH0gPSBjb250ZXh0O1xuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoY29udGVudCkge1xuICAgICAgICBsZXQgcG9pbnRlck1vdmVEZWx0YSA9IHsgeDogMCwgeTogMCB9O1xuXG4gICAgICAgIGNvbnN0IGhhbmRsZVBvaW50ZXJNb3ZlID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgICBwb2ludGVyTW92ZURlbHRhID0ge1xuICAgICAgICAgICAgeDogTWF0aC5hYnMoTWF0aC5yb3VuZChldmVudC5wYWdlWCkgLSAodHJpZ2dlclBvaW50ZXJEb3duUG9zUmVmLmN1cnJlbnQ/LnggPz8gMCkpLFxuICAgICAgICAgICAgeTogTWF0aC5hYnMoTWF0aC5yb3VuZChldmVudC5wYWdlWSkgLSAodHJpZ2dlclBvaW50ZXJEb3duUG9zUmVmLmN1cnJlbnQ/LnkgPz8gMCkpLFxuICAgICAgICAgIH07XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGhhbmRsZVBvaW50ZXJVcCA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgICAgLy8gSWYgdGhlIHBvaW50ZXIgaGFzbid0IG1vdmVkIGJ5IGEgY2VydGFpbiB0aHJlc2hvbGQgdGhlbiB3ZSBwcmV2ZW50IHNlbGVjdGluZyBpdGVtIG9uIGBwb2ludGVydXBgLlxuICAgICAgICAgIGlmIChwb2ludGVyTW92ZURlbHRhLnggPD0gMTAgJiYgcG9pbnRlck1vdmVEZWx0YS55IDw9IDEwKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBvdGhlcndpc2UsIGlmIHRoZSBldmVudCB3YXMgb3V0c2lkZSB0aGUgY29udGVudCwgY2xvc2UuXG4gICAgICAgICAgICBpZiAoIWNvbnRlbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSkge1xuICAgICAgICAgICAgICBvbk9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdwb2ludGVybW92ZScsIGhhbmRsZVBvaW50ZXJNb3ZlKTtcbiAgICAgICAgICB0cmlnZ2VyUG9pbnRlckRvd25Qb3NSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHRyaWdnZXJQb2ludGVyRG93blBvc1JlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcm1vdmUnLCBoYW5kbGVQb2ludGVyTW92ZSk7XG4gICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgaGFuZGxlUG9pbnRlclVwLCB7IGNhcHR1cmU6IHRydWUsIG9uY2U6IHRydWUgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgaGFuZGxlUG9pbnRlck1vdmUpO1xuICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIGhhbmRsZVBvaW50ZXJVcCwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0sIFtjb250ZW50LCBvbk9wZW5DaGFuZ2UsIHRyaWdnZXJQb2ludGVyRG93blBvc1JlZl0pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGNsb3NlID0gKCkgPT4gb25PcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgY2xvc2UpO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGNsb3NlKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgY2xvc2UpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgY2xvc2UpO1xuICAgICAgfTtcbiAgICB9LCBbb25PcGVuQ2hhbmdlXSk7XG5cbiAgICBjb25zdCBbc2VhcmNoUmVmLCBoYW5kbGVUeXBlYWhlYWRTZWFyY2hdID0gdXNlVHlwZWFoZWFkU2VhcmNoKChzZWFyY2gpID0+IHtcbiAgICAgIGNvbnN0IGVuYWJsZWRJdGVtcyA9IGdldEl0ZW1zKCkuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCk7XG4gICAgICBjb25zdCBjdXJyZW50SXRlbSA9IGVuYWJsZWRJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLnJlZi5jdXJyZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtcbiAgICAgIGNvbnN0IG5leHRJdGVtID0gZmluZE5leHRJdGVtKGVuYWJsZWRJdGVtcywgc2VhcmNoLCBjdXJyZW50SXRlbSk7XG4gICAgICBpZiAobmV4dEl0ZW0pIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEltcGVyYXRpdmUgZm9jdXMgZHVyaW5nIGtleWRvd24gaXMgcmlza3kgc28gd2UgcHJldmVudCBSZWFjdCdzIGJhdGNoaW5nIHVwZGF0ZXNcbiAgICAgICAgICogdG8gYXZvaWQgcG90ZW50aWFsIGJ1Z3MuIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8yMDMzMlxuICAgICAgICAgKi9cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiAobmV4dEl0ZW0ucmVmLmN1cnJlbnQgYXMgSFRNTEVsZW1lbnQpLmZvY3VzKCkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgaXRlbVJlZkNhbGxiYWNrID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgICAobm9kZTogU2VsZWN0SXRlbUVsZW1lbnQgfCBudWxsLCB2YWx1ZTogc3RyaW5nLCBkaXNhYmxlZDogYm9vbGVhbikgPT4ge1xuICAgICAgICBjb25zdCBpc0ZpcnN0VmFsaWRJdGVtID0gIWZpcnN0VmFsaWRJdGVtRm91bmRSZWYuY3VycmVudCAmJiAhZGlzYWJsZWQ7XG4gICAgICAgIGNvbnN0IGlzU2VsZWN0ZWRJdGVtID0gY29udGV4dC52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIGNvbnRleHQudmFsdWUgPT09IHZhbHVlO1xuICAgICAgICBpZiAoaXNTZWxlY3RlZEl0ZW0gfHwgaXNGaXJzdFZhbGlkSXRlbSkge1xuICAgICAgICAgIHNldFNlbGVjdGVkSXRlbShub2RlKTtcbiAgICAgICAgICBpZiAoaXNGaXJzdFZhbGlkSXRlbSkgZmlyc3RWYWxpZEl0ZW1Gb3VuZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtjb250ZXh0LnZhbHVlXVxuICAgICk7XG4gICAgY29uc3QgaGFuZGxlSXRlbUxlYXZlID0gUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4gY29udGVudD8uZm9jdXMoKSwgW2NvbnRlbnRdKTtcbiAgICBjb25zdCBpdGVtVGV4dFJlZkNhbGxiYWNrID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgICAobm9kZTogU2VsZWN0SXRlbVRleHRFbGVtZW50IHwgbnVsbCwgdmFsdWU6IHN0cmluZywgZGlzYWJsZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgY29uc3QgaXNGaXJzdFZhbGlkSXRlbSA9ICFmaXJzdFZhbGlkSXRlbUZvdW5kUmVmLmN1cnJlbnQgJiYgIWRpc2FibGVkO1xuICAgICAgICBjb25zdCBpc1NlbGVjdGVkSXRlbSA9IGNvbnRleHQudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBjb250ZXh0LnZhbHVlID09PSB2YWx1ZTtcbiAgICAgICAgaWYgKGlzU2VsZWN0ZWRJdGVtIHx8IGlzRmlyc3RWYWxpZEl0ZW0pIHtcbiAgICAgICAgICBzZXRTZWxlY3RlZEl0ZW1UZXh0KG5vZGUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2NvbnRleHQudmFsdWVdXG4gICAgKTtcblxuICAgIGNvbnN0IFNlbGVjdFBvc2l0aW9uID0gcG9zaXRpb24gPT09ICdwb3BwZXInID8gU2VsZWN0UG9wcGVyUG9zaXRpb24gOiBTZWxlY3RJdGVtQWxpZ25lZFBvc2l0aW9uO1xuXG4gICAgLy8gU2lsZW50bHkgaWdub3JlIHByb3BzIHRoYXQgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgYFNlbGVjdEl0ZW1BbGlnbmVkUG9zaXRpb25gXG4gICAgY29uc3QgcG9wcGVyQ29udGVudFByb3BzID1cbiAgICAgIFNlbGVjdFBvc2l0aW9uID09PSBTZWxlY3RQb3BwZXJQb3NpdGlvblxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHNpZGUsXG4gICAgICAgICAgICBzaWRlT2Zmc2V0LFxuICAgICAgICAgICAgYWxpZ24sXG4gICAgICAgICAgICBhbGlnbk9mZnNldCxcbiAgICAgICAgICAgIGFycm93UGFkZGluZyxcbiAgICAgICAgICAgIGNvbGxpc2lvbkJvdW5kYXJ5LFxuICAgICAgICAgICAgY29sbGlzaW9uUGFkZGluZyxcbiAgICAgICAgICAgIHN0aWNreSxcbiAgICAgICAgICAgIGhpZGVXaGVuRGV0YWNoZWQsXG4gICAgICAgICAgICBhdm9pZENvbGxpc2lvbnMsXG4gICAgICAgICAgfVxuICAgICAgICA6IHt9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTZWxlY3RDb250ZW50UHJvdmlkZXJcbiAgICAgICAgc2NvcGU9e19fc2NvcGVTZWxlY3R9XG4gICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XG4gICAgICAgIHZpZXdwb3J0PXt2aWV3cG9ydH1cbiAgICAgICAgb25WaWV3cG9ydENoYW5nZT17c2V0Vmlld3BvcnR9XG4gICAgICAgIGl0ZW1SZWZDYWxsYmFjaz17aXRlbVJlZkNhbGxiYWNrfVxuICAgICAgICBzZWxlY3RlZEl0ZW09e3NlbGVjdGVkSXRlbX1cbiAgICAgICAgb25JdGVtTGVhdmU9e2hhbmRsZUl0ZW1MZWF2ZX1cbiAgICAgICAgaXRlbVRleHRSZWZDYWxsYmFjaz17aXRlbVRleHRSZWZDYWxsYmFja31cbiAgICAgICAgZm9jdXNTZWxlY3RlZEl0ZW09e2ZvY3VzU2VsZWN0ZWRJdGVtfVxuICAgICAgICBzZWxlY3RlZEl0ZW1UZXh0PXtzZWxlY3RlZEl0ZW1UZXh0fVxuICAgICAgICBwb3NpdGlvbj17cG9zaXRpb259XG4gICAgICAgIGlzUG9zaXRpb25lZD17aXNQb3NpdGlvbmVkfVxuICAgICAgICBzZWFyY2hSZWY9e3NlYXJjaFJlZn1cbiAgICAgID5cbiAgICAgICAgPFJlbW92ZVNjcm9sbCBhcz17U2xvdH0gYWxsb3dQaW5jaFpvb20+XG4gICAgICAgICAgPEZvY3VzU2NvcGVcbiAgICAgICAgICAgIGFzQ2hpbGRcbiAgICAgICAgICAgIC8vIHdlIG1ha2Ugc3VyZSB3ZSdyZSBub3QgdHJhcHBpbmcgb25jZSBpdCdzIGJlZW4gY2xvc2VkXG4gICAgICAgICAgICAvLyAoY2xvc2VkICE9PSB1bm1vdW50ZWQgd2hlbiBhbmltYXRpbmcgb3V0KVxuICAgICAgICAgICAgdHJhcHBlZD17Y29udGV4dC5vcGVufVxuICAgICAgICAgICAgb25Nb3VudEF1dG9Gb2N1cz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIC8vIHdlIHByZXZlbnQgb3BlbiBhdXRvZm9jdXMgYmVjYXVzZSB3ZSBtYW51YWxseSBmb2N1cyB0aGUgc2VsZWN0ZWQgaXRlbVxuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uVW5tb3VudEF1dG9Gb2N1cz17Y29tcG9zZUV2ZW50SGFuZGxlcnMob25DbG9zZUF1dG9Gb2N1cywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnRleHQudHJpZ2dlcj8uZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPERpc21pc3NhYmxlTGF5ZXJcbiAgICAgICAgICAgICAgYXNDaGlsZFxuICAgICAgICAgICAgICBkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHNcbiAgICAgICAgICAgICAgb25Fc2NhcGVLZXlEb3duPXtvbkVzY2FwZUtleURvd259XG4gICAgICAgICAgICAgIG9uUG9pbnRlckRvd25PdXRzaWRlPXtvblBvaW50ZXJEb3duT3V0c2lkZX1cbiAgICAgICAgICAgICAgLy8gV2hlbiBmb2N1cyBpcyB0cmFwcGVkLCBhIGZvY3Vzb3V0IGV2ZW50IG1heSBzdGlsbCBoYXBwZW4uXG4gICAgICAgICAgICAgIC8vIFdlIG1ha2Ugc3VyZSB3ZSBkb24ndCB0cmlnZ2VyIG91ciBgb25EaXNtaXNzYCBpbiBzdWNoIGNhc2UuXG4gICAgICAgICAgICAgIG9uRm9jdXNPdXRzaWRlPXsoZXZlbnQpID0+IGV2ZW50LnByZXZlbnREZWZhdWx0KCl9XG4gICAgICAgICAgICAgIG9uRGlzbWlzcz17KCkgPT4gY29udGV4dC5vbk9wZW5DaGFuZ2UoZmFsc2UpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8U2VsZWN0UG9zaXRpb25cbiAgICAgICAgICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgICAgICAgICAgaWQ9e2NvbnRleHQuY29udGVudElkfVxuICAgICAgICAgICAgICAgIGRhdGEtc3RhdGU9e2NvbnRleHQub3BlbiA/ICdvcGVuJyA6ICdjbG9zZWQnfVxuICAgICAgICAgICAgICAgIGRpcj17Y29udGV4dC5kaXJ9XG4gICAgICAgICAgICAgICAgb25Db250ZXh0TWVudT17KGV2ZW50KSA9PiBldmVudC5wcmV2ZW50RGVmYXVsdCgpfVxuICAgICAgICAgICAgICAgIHsuLi5jb250ZW50UHJvcHN9XG4gICAgICAgICAgICAgICAgey4uLnBvcHBlckNvbnRlbnRQcm9wc31cbiAgICAgICAgICAgICAgICBvblBsYWNlZD17KCkgPT4gc2V0SXNQb3NpdGlvbmVkKHRydWUpfVxuICAgICAgICAgICAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAvLyBmbGV4IGxheW91dCBzbyB3ZSBjYW4gcGxhY2UgdGhlIHNjcm9sbCBidXR0b25zIHByb3Blcmx5XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICAgICAgICAgIC8vIHJlc2V0IHRoZSBvdXRsaW5lIGJ5IGRlZmF1bHQgYXMgdGhlIGNvbnRlbnQgTUFZIGdldCBmb2N1c2VkXG4gICAgICAgICAgICAgICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgICAuLi5jb250ZW50UHJvcHMuc3R5bGUsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBvbktleURvd249e2NvbXBvc2VFdmVudEhhbmRsZXJzKGNvbnRlbnRQcm9wcy5vbktleURvd24sIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgaXNNb2RpZmllcktleSA9IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQuYWx0S2V5IHx8IGV2ZW50Lm1ldGFLZXk7XG5cbiAgICAgICAgICAgICAgICAgIC8vIHNlbGVjdCBzaG91bGQgbm90IGJlIG5hdmlnYXRlZCB1c2luZyB0YWIga2V5IHNvIHdlIHByZXZlbnQgaXRcbiAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdUYWInKSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgICBpZiAoIWlzTW9kaWZpZXJLZXkgJiYgZXZlbnQua2V5Lmxlbmd0aCA9PT0gMSkgaGFuZGxlVHlwZWFoZWFkU2VhcmNoKGV2ZW50LmtleSk7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChbJ0Fycm93VXAnLCAnQXJyb3dEb3duJywgJ0hvbWUnLCAnRW5kJ10uaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IGdldEl0ZW1zKCkuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBjYW5kaWRhdGVOb2RlcyA9IGl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5yZWYuY3VycmVudCEpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChbJ0Fycm93VXAnLCAnRW5kJ10uaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgIGNhbmRpZGF0ZU5vZGVzID0gY2FuZGlkYXRlTm9kZXMuc2xpY2UoKS5yZXZlcnNlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKFsnQXJyb3dVcCcsICdBcnJvd0Rvd24nXS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudEVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgU2VsZWN0SXRlbUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gY2FuZGlkYXRlTm9kZXMuaW5kZXhPZihjdXJyZW50RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgY2FuZGlkYXRlTm9kZXMgPSBjYW5kaWRhdGVOb2Rlcy5zbGljZShjdXJyZW50SW5kZXggKyAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAgICAgKiBJbXBlcmF0aXZlIGZvY3VzIGR1cmluZyBrZXlkb3duIGlzIHJpc2t5IHNvIHdlIHByZXZlbnQgUmVhY3QncyBiYXRjaGluZyB1cGRhdGVzXG4gICAgICAgICAgICAgICAgICAgICAqIHRvIGF2b2lkIHBvdGVudGlhbCBidWdzLiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMjAzMzJcbiAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZm9jdXNGaXJzdChjYW5kaWRhdGVOb2RlcykpO1xuXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0Rpc21pc3NhYmxlTGF5ZXI+XG4gICAgICAgICAgPC9Gb2N1c1Njb3BlPlxuICAgICAgICA8L1JlbW92ZVNjcm9sbD5cbiAgICAgIDwvU2VsZWN0Q29udGVudFByb3ZpZGVyPlxuICAgICk7XG4gIH1cbik7XG5cblNlbGVjdENvbnRlbnRJbXBsLmRpc3BsYXlOYW1lID0gQ09OVEVOVF9JTVBMX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNlbGVjdEl0ZW1BbGlnbmVkUG9zaXRpb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgSVRFTV9BTElHTkVEX1BPU0lUSU9OX05BTUUgPSAnU2VsZWN0SXRlbUFsaWduZWRQb3NpdGlvbic7XG5cbnR5cGUgU2VsZWN0SXRlbUFsaWduZWRQb3NpdGlvbkVsZW1lbnQgPSBSZWFjdC5Db21wb25lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xuaW50ZXJmYWNlIFNlbGVjdEl0ZW1BbGlnbmVkUG9zaXRpb25Qcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzLCBTZWxlY3RQb3BwZXJQcml2YXRlUHJvcHMge31cblxuY29uc3QgU2VsZWN0SXRlbUFsaWduZWRQb3NpdGlvbiA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIFNlbGVjdEl0ZW1BbGlnbmVkUG9zaXRpb25FbGVtZW50LFxuICBTZWxlY3RJdGVtQWxpZ25lZFBvc2l0aW9uUHJvcHNcbj4oKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RJdGVtQWxpZ25lZFBvc2l0aW9uUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3QgeyBfX3Njb3BlU2VsZWN0LCBvblBsYWNlZCwgLi4ucG9wcGVyUHJvcHMgfSA9IHByb3BzO1xuICBjb25zdCBjb250ZXh0ID0gdXNlU2VsZWN0Q29udGV4dChDT05URU5UX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICBjb25zdCBjb250ZW50Q29udGV4dCA9IHVzZVNlbGVjdENvbnRlbnRDb250ZXh0KENPTlRFTlRfTkFNRSwgX19zY29wZVNlbGVjdCk7XG4gIGNvbnN0IFtjb250ZW50V3JhcHBlciwgc2V0Q29udGVudFdyYXBwZXJdID0gUmVhY3QudXNlU3RhdGU8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2NvbnRlbnQsIHNldENvbnRlbnRdID0gUmVhY3QudXNlU3RhdGU8U2VsZWN0SXRlbUFsaWduZWRQb3NpdGlvbkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgKG5vZGUpID0+IHNldENvbnRlbnQobm9kZSkpO1xuICBjb25zdCBnZXRJdGVtcyA9IHVzZUNvbGxlY3Rpb24oX19zY29wZVNlbGVjdCk7XG4gIGNvbnN0IHNob3VsZEV4cGFuZE9uU2Nyb2xsUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3Qgc2hvdWxkUmVwb3NpdGlvblJlZiA9IFJlYWN0LnVzZVJlZih0cnVlKTtcblxuICBjb25zdCB7IHZpZXdwb3J0LCBzZWxlY3RlZEl0ZW0sIHNlbGVjdGVkSXRlbVRleHQsIGZvY3VzU2VsZWN0ZWRJdGVtIH0gPSBjb250ZW50Q29udGV4dDtcbiAgY29uc3QgcG9zaXRpb24gPSBSZWFjdC51c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgY29udGV4dC50cmlnZ2VyICYmXG4gICAgICBjb250ZXh0LnZhbHVlTm9kZSAmJlxuICAgICAgY29udGVudFdyYXBwZXIgJiZcbiAgICAgIGNvbnRlbnQgJiZcbiAgICAgIHZpZXdwb3J0ICYmXG4gICAgICBzZWxlY3RlZEl0ZW0gJiZcbiAgICAgIHNlbGVjdGVkSXRlbVRleHRcbiAgICApIHtcbiAgICAgIGNvbnN0IHRyaWdnZXJSZWN0ID0gY29udGV4dC50cmlnZ2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgLy8gIEhvcml6b250YWwgcG9zaXRpb25pbmdcbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBjb25zdCBjb250ZW50UmVjdCA9IGNvbnRlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCB2YWx1ZU5vZGVSZWN0ID0gY29udGV4dC52YWx1ZU5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBpdGVtVGV4dFJlY3QgPSBzZWxlY3RlZEl0ZW1UZXh0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBpZiAoY29udGV4dC5kaXIgIT09ICdydGwnKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1UZXh0T2Zmc2V0ID0gaXRlbVRleHRSZWN0LmxlZnQgLSBjb250ZW50UmVjdC5sZWZ0O1xuICAgICAgICBjb25zdCBsZWZ0ID0gdmFsdWVOb2RlUmVjdC5sZWZ0IC0gaXRlbVRleHRPZmZzZXQ7XG4gICAgICAgIGNvbnN0IGxlZnREZWx0YSA9IHRyaWdnZXJSZWN0LmxlZnQgLSBsZWZ0O1xuICAgICAgICBjb25zdCBtaW5Db250ZW50V2lkdGggPSB0cmlnZ2VyUmVjdC53aWR0aCArIGxlZnREZWx0YTtcbiAgICAgICAgY29uc3QgY29udGVudFdpZHRoID0gTWF0aC5tYXgobWluQ29udGVudFdpZHRoLCBjb250ZW50UmVjdC53aWR0aCk7XG4gICAgICAgIGNvbnN0IHJpZ2h0RWRnZSA9IHdpbmRvdy5pbm5lcldpZHRoIC0gQ09OVEVOVF9NQVJHSU47XG4gICAgICAgIGNvbnN0IGNsYW1wZWRMZWZ0ID0gY2xhbXAobGVmdCwgW1xuICAgICAgICAgIENPTlRFTlRfTUFSR0lOLFxuICAgICAgICAgIC8vIFByZXZlbnRzIHRoZSBjb250ZW50IGZyb20gZ29pbmcgb2ZmIHRoZSBzdGFydGluZyBlZGdlIG9mIHRoZVxuICAgICAgICAgIC8vIHZpZXdwb3J0LiBJdCBtYXkgc3RpbGwgZ28gb2ZmIHRoZSBlbmRpbmcgZWRnZSwgYnV0IHRoaXMgY2FuIGJlXG4gICAgICAgICAgLy8gY29udHJvbGxlZCBieSB0aGUgdXNlciBzaW5jZSB0aGV5IG1heSB3YW50IHRvIG1hbmFnZSBvdmVyZmxvdyBpbiBhXG4gICAgICAgICAgLy8gc3BlY2lmaWMgd2F5LlxuICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yYWRpeC11aS9wcmltaXRpdmVzL2lzc3Vlcy8yMDQ5XG4gICAgICAgICAgTWF0aC5tYXgoQ09OVEVOVF9NQVJHSU4sIHJpZ2h0RWRnZSAtIGNvbnRlbnRXaWR0aCksXG4gICAgICAgIF0pO1xuXG4gICAgICAgIGNvbnRlbnRXcmFwcGVyLnN0eWxlLm1pbldpZHRoID0gbWluQ29udGVudFdpZHRoICsgJ3B4JztcbiAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUubGVmdCA9IGNsYW1wZWRMZWZ0ICsgJ3B4JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGl0ZW1UZXh0T2Zmc2V0ID0gY29udGVudFJlY3QucmlnaHQgLSBpdGVtVGV4dFJlY3QucmlnaHQ7XG4gICAgICAgIGNvbnN0IHJpZ2h0ID0gd2luZG93LmlubmVyV2lkdGggLSB2YWx1ZU5vZGVSZWN0LnJpZ2h0IC0gaXRlbVRleHRPZmZzZXQ7XG4gICAgICAgIGNvbnN0IHJpZ2h0RGVsdGEgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIHRyaWdnZXJSZWN0LnJpZ2h0IC0gcmlnaHQ7XG4gICAgICAgIGNvbnN0IG1pbkNvbnRlbnRXaWR0aCA9IHRyaWdnZXJSZWN0LndpZHRoICsgcmlnaHREZWx0YTtcbiAgICAgICAgY29uc3QgY29udGVudFdpZHRoID0gTWF0aC5tYXgobWluQ29udGVudFdpZHRoLCBjb250ZW50UmVjdC53aWR0aCk7XG4gICAgICAgIGNvbnN0IGxlZnRFZGdlID0gd2luZG93LmlubmVyV2lkdGggLSBDT05URU5UX01BUkdJTjtcbiAgICAgICAgY29uc3QgY2xhbXBlZFJpZ2h0ID0gY2xhbXAocmlnaHQsIFtcbiAgICAgICAgICBDT05URU5UX01BUkdJTixcbiAgICAgICAgICBNYXRoLm1heChDT05URU5UX01BUkdJTiwgbGVmdEVkZ2UgLSBjb250ZW50V2lkdGgpLFxuICAgICAgICBdKTtcblxuICAgICAgICBjb250ZW50V3JhcHBlci5zdHlsZS5taW5XaWR0aCA9IG1pbkNvbnRlbnRXaWR0aCArICdweCc7XG4gICAgICAgIGNvbnRlbnRXcmFwcGVyLnN0eWxlLnJpZ2h0ID0gY2xhbXBlZFJpZ2h0ICsgJ3B4JztcbiAgICAgIH1cblxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIC8vIFZlcnRpY2FsIHBvc2l0aW9uaW5nXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgY29uc3QgaXRlbXMgPSBnZXRJdGVtcygpO1xuICAgICAgY29uc3QgYXZhaWxhYmxlSGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0IC0gQ09OVEVOVF9NQVJHSU4gKiAyO1xuICAgICAgY29uc3QgaXRlbXNIZWlnaHQgPSB2aWV3cG9ydC5zY3JvbGxIZWlnaHQ7XG5cbiAgICAgIGNvbnN0IGNvbnRlbnRTdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjb250ZW50KTtcbiAgICAgIGNvbnN0IGNvbnRlbnRCb3JkZXJUb3BXaWR0aCA9IHBhcnNlSW50KGNvbnRlbnRTdHlsZXMuYm9yZGVyVG9wV2lkdGgsIDEwKTtcbiAgICAgIGNvbnN0IGNvbnRlbnRQYWRkaW5nVG9wID0gcGFyc2VJbnQoY29udGVudFN0eWxlcy5wYWRkaW5nVG9wLCAxMCk7XG4gICAgICBjb25zdCBjb250ZW50Qm9yZGVyQm90dG9tV2lkdGggPSBwYXJzZUludChjb250ZW50U3R5bGVzLmJvcmRlckJvdHRvbVdpZHRoLCAxMCk7XG4gICAgICBjb25zdCBjb250ZW50UGFkZGluZ0JvdHRvbSA9IHBhcnNlSW50KGNvbnRlbnRTdHlsZXMucGFkZGluZ0JvdHRvbSwgMTApO1xuICAgICAgY29uc3QgZnVsbENvbnRlbnRIZWlnaHQgPSBjb250ZW50Qm9yZGVyVG9wV2lkdGggKyBjb250ZW50UGFkZGluZ1RvcCArIGl0ZW1zSGVpZ2h0ICsgY29udGVudFBhZGRpbmdCb3R0b20gKyBjb250ZW50Qm9yZGVyQm90dG9tV2lkdGg7IC8vIHByZXR0aWVyLWlnbm9yZVxuICAgICAgY29uc3QgbWluQ29udGVudEhlaWdodCA9IE1hdGgubWluKHNlbGVjdGVkSXRlbS5vZmZzZXRIZWlnaHQgKiA1LCBmdWxsQ29udGVudEhlaWdodCk7XG5cbiAgICAgIGNvbnN0IHZpZXdwb3J0U3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodmlld3BvcnQpO1xuICAgICAgY29uc3Qgdmlld3BvcnRQYWRkaW5nVG9wID0gcGFyc2VJbnQodmlld3BvcnRTdHlsZXMucGFkZGluZ1RvcCwgMTApO1xuICAgICAgY29uc3Qgdmlld3BvcnRQYWRkaW5nQm90dG9tID0gcGFyc2VJbnQodmlld3BvcnRTdHlsZXMucGFkZGluZ0JvdHRvbSwgMTApO1xuXG4gICAgICBjb25zdCB0b3BFZGdlVG9UcmlnZ2VyTWlkZGxlID0gdHJpZ2dlclJlY3QudG9wICsgdHJpZ2dlclJlY3QuaGVpZ2h0IC8gMiAtIENPTlRFTlRfTUFSR0lOO1xuICAgICAgY29uc3QgdHJpZ2dlck1pZGRsZVRvQm90dG9tRWRnZSA9IGF2YWlsYWJsZUhlaWdodCAtIHRvcEVkZ2VUb1RyaWdnZXJNaWRkbGU7XG5cbiAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbUhhbGZIZWlnaHQgPSBzZWxlY3RlZEl0ZW0ub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICAgIGNvbnN0IGl0ZW1PZmZzZXRNaWRkbGUgPSBzZWxlY3RlZEl0ZW0ub2Zmc2V0VG9wICsgc2VsZWN0ZWRJdGVtSGFsZkhlaWdodDtcbiAgICAgIGNvbnN0IGNvbnRlbnRUb3BUb0l0ZW1NaWRkbGUgPSBjb250ZW50Qm9yZGVyVG9wV2lkdGggKyBjb250ZW50UGFkZGluZ1RvcCArIGl0ZW1PZmZzZXRNaWRkbGU7XG4gICAgICBjb25zdCBpdGVtTWlkZGxlVG9Db250ZW50Qm90dG9tID0gZnVsbENvbnRlbnRIZWlnaHQgLSBjb250ZW50VG9wVG9JdGVtTWlkZGxlO1xuXG4gICAgICBjb25zdCB3aWxsQWxpZ25XaXRob3V0VG9wT3ZlcmZsb3cgPSBjb250ZW50VG9wVG9JdGVtTWlkZGxlIDw9IHRvcEVkZ2VUb1RyaWdnZXJNaWRkbGU7XG5cbiAgICAgIGlmICh3aWxsQWxpZ25XaXRob3V0VG9wT3ZlcmZsb3cpIHtcbiAgICAgICAgY29uc3QgaXNMYXN0SXRlbSA9XG4gICAgICAgICAgaXRlbXMubGVuZ3RoID4gMCAmJiBzZWxlY3RlZEl0ZW0gPT09IGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdIS5yZWYuY3VycmVudDtcbiAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUuYm90dG9tID0gMCArICdweCc7XG4gICAgICAgIGNvbnN0IHZpZXdwb3J0T2Zmc2V0Qm90dG9tID1cbiAgICAgICAgICBjb250ZW50LmNsaWVudEhlaWdodCAtIHZpZXdwb3J0Lm9mZnNldFRvcCAtIHZpZXdwb3J0Lm9mZnNldEhlaWdodDtcbiAgICAgICAgY29uc3QgY2xhbXBlZFRyaWdnZXJNaWRkbGVUb0JvdHRvbUVkZ2UgPSBNYXRoLm1heChcbiAgICAgICAgICB0cmlnZ2VyTWlkZGxlVG9Cb3R0b21FZGdlLFxuICAgICAgICAgIHNlbGVjdGVkSXRlbUhhbGZIZWlnaHQgK1xuICAgICAgICAgICAgLy8gdmlld3BvcnQgbWlnaHQgaGF2ZSBwYWRkaW5nIGJvdHRvbSwgaW5jbHVkZSBpdCB0byBhdm9pZCBhIHNjcm9sbGFibGUgdmlld3BvcnRcbiAgICAgICAgICAgIChpc0xhc3RJdGVtID8gdmlld3BvcnRQYWRkaW5nQm90dG9tIDogMCkgK1xuICAgICAgICAgICAgdmlld3BvcnRPZmZzZXRCb3R0b20gK1xuICAgICAgICAgICAgY29udGVudEJvcmRlckJvdHRvbVdpZHRoXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IGNvbnRlbnRUb3BUb0l0ZW1NaWRkbGUgKyBjbGFtcGVkVHJpZ2dlck1pZGRsZVRvQm90dG9tRWRnZTtcbiAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0ICsgJ3B4JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGlzRmlyc3RJdGVtID0gaXRlbXMubGVuZ3RoID4gMCAmJiBzZWxlY3RlZEl0ZW0gPT09IGl0ZW1zWzBdIS5yZWYuY3VycmVudDtcbiAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUudG9wID0gMCArICdweCc7XG4gICAgICAgIGNvbnN0IGNsYW1wZWRUb3BFZGdlVG9UcmlnZ2VyTWlkZGxlID0gTWF0aC5tYXgoXG4gICAgICAgICAgdG9wRWRnZVRvVHJpZ2dlck1pZGRsZSxcbiAgICAgICAgICBjb250ZW50Qm9yZGVyVG9wV2lkdGggK1xuICAgICAgICAgICAgdmlld3BvcnQub2Zmc2V0VG9wICtcbiAgICAgICAgICAgIC8vIHZpZXdwb3J0IG1pZ2h0IGhhdmUgcGFkZGluZyB0b3AsIGluY2x1ZGUgaXQgdG8gYXZvaWQgYSBzY3JvbGxhYmxlIHZpZXdwb3J0XG4gICAgICAgICAgICAoaXNGaXJzdEl0ZW0gPyB2aWV3cG9ydFBhZGRpbmdUb3AgOiAwKSArXG4gICAgICAgICAgICBzZWxlY3RlZEl0ZW1IYWxmSGVpZ2h0XG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IGNsYW1wZWRUb3BFZGdlVG9UcmlnZ2VyTWlkZGxlICsgaXRlbU1pZGRsZVRvQ29udGVudEJvdHRvbTtcbiAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0ICsgJ3B4JztcbiAgICAgICAgdmlld3BvcnQuc2Nyb2xsVG9wID0gY29udGVudFRvcFRvSXRlbU1pZGRsZSAtIHRvcEVkZ2VUb1RyaWdnZXJNaWRkbGUgKyB2aWV3cG9ydC5vZmZzZXRUb3A7XG4gICAgICB9XG5cbiAgICAgIGNvbnRlbnRXcmFwcGVyLnN0eWxlLm1hcmdpbiA9IGAke0NPTlRFTlRfTUFSR0lOfXB4IDBgO1xuICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUubWluSGVpZ2h0ID0gbWluQ29udGVudEhlaWdodCArICdweCc7XG4gICAgICBjb250ZW50V3JhcHBlci5zdHlsZS5tYXhIZWlnaHQgPSBhdmFpbGFibGVIZWlnaHQgKyAncHgnO1xuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgICAgb25QbGFjZWQ/LigpO1xuXG4gICAgICAvLyB3ZSBkb24ndCB3YW50IHRoZSBpbml0aWFsIHNjcm9sbCBwb3NpdGlvbiBhZGp1c3RtZW50IHRvIHRyaWdnZXIgXCJleHBhbmQgb24gc2Nyb2xsXCJcbiAgICAgIC8vIHNvIHdlIGV4cGxpY2l0bHkgdHVybiBpdCBvbiBvbmx5IGFmdGVyIHRoZXkndmUgcmVnaXN0ZXJlZC5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiAoc2hvdWxkRXhwYW5kT25TY3JvbGxSZWYuY3VycmVudCA9IHRydWUpKTtcbiAgICB9XG4gIH0sIFtcbiAgICBnZXRJdGVtcyxcbiAgICBjb250ZXh0LnRyaWdnZXIsXG4gICAgY29udGV4dC52YWx1ZU5vZGUsXG4gICAgY29udGVudFdyYXBwZXIsXG4gICAgY29udGVudCxcbiAgICB2aWV3cG9ydCxcbiAgICBzZWxlY3RlZEl0ZW0sXG4gICAgc2VsZWN0ZWRJdGVtVGV4dCxcbiAgICBjb250ZXh0LmRpcixcbiAgICBvblBsYWNlZCxcbiAgXSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHBvc2l0aW9uKCksIFtwb3NpdGlvbl0pO1xuXG4gIC8vIGNvcHkgei1pbmRleCBmcm9tIGNvbnRlbnQgdG8gd3JhcHBlclxuICBjb25zdCBbY29udGVudFpJbmRleCwgc2V0Q29udGVudFpJbmRleF0gPSBSZWFjdC51c2VTdGF0ZTxzdHJpbmc+KCk7XG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNvbnRlbnQpIHNldENvbnRlbnRaSW5kZXgod2luZG93LmdldENvbXB1dGVkU3R5bGUoY29udGVudCkuekluZGV4KTtcbiAgfSwgW2NvbnRlbnRdKTtcblxuICAvLyBXaGVuIHRoZSB2aWV3cG9ydCBiZWNvbWVzIHNjcm9sbGFibGUgYXQgdGhlIHRvcCwgdGhlIHNjcm9sbCB1cCBidXR0b24gd2lsbCBtb3VudC5cbiAgLy8gQmVjYXVzZSBpdCBpcyBwYXJ0IG9mIHRoZSBub3JtYWwgZmxvdywgaXQgd2lsbCBwdXNoIGRvd24gdGhlIHZpZXdwb3J0LCB0aHVzIHRocm93aW5nIG91clxuICAvLyB0cmlnZ2VyID0+IHNlbGVjdGVkSXRlbSBhbGlnbm1lbnQgb2ZmIGJ5IHRoZSBhbW91bnQgdGhlIHZpZXdwb3J0IHdhcyBwdXNoZWQgZG93bi5cbiAgLy8gV2Ugd2FpdCBmb3IgdGhpcyB0byBoYXBwZW4gYW5kIHRoZW4gcmUtcnVuIHRoZSBwb3NpdGluaW5nIGxvZ2ljIG9uZSBtb3JlIHRpbWUgdG8gYWNjb3VudCBmb3IgaXQuXG4gIGNvbnN0IGhhbmRsZVNjcm9sbEJ1dHRvbkNoYW5nZSA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChub2RlOiBTZWxlY3RTY3JvbGxCdXR0b25JbXBsRWxlbWVudCB8IG51bGwpID0+IHtcbiAgICAgIGlmIChub2RlICYmIHNob3VsZFJlcG9zaXRpb25SZWYuY3VycmVudCA9PT0gdHJ1ZSkge1xuICAgICAgICBwb3NpdGlvbigpO1xuICAgICAgICBmb2N1c1NlbGVjdGVkSXRlbT8uKCk7XG4gICAgICAgIHNob3VsZFJlcG9zaXRpb25SZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3Bvc2l0aW9uLCBmb2N1c1NlbGVjdGVkSXRlbV1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxTZWxlY3RWaWV3cG9ydFByb3ZpZGVyXG4gICAgICBzY29wZT17X19zY29wZVNlbGVjdH1cbiAgICAgIGNvbnRlbnRXcmFwcGVyPXtjb250ZW50V3JhcHBlcn1cbiAgICAgIHNob3VsZEV4cGFuZE9uU2Nyb2xsUmVmPXtzaG91bGRFeHBhbmRPblNjcm9sbFJlZn1cbiAgICAgIG9uU2Nyb2xsQnV0dG9uQ2hhbmdlPXtoYW5kbGVTY3JvbGxCdXR0b25DaGFuZ2V9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICByZWY9e3NldENvbnRlbnRXcmFwcGVyfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgICAgICB6SW5kZXg6IGNvbnRlbnRaSW5kZXgsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxQcmltaXRpdmUuZGl2XG4gICAgICAgICAgey4uLnBvcHBlclByb3BzfVxuICAgICAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAvLyBXaGVuIHdlIGdldCB0aGUgaGVpZ2h0IG9mIHRoZSBjb250ZW50LCBpdCBpbmNsdWRlcyBib3JkZXJzLiBJZiB3ZSB3ZXJlIHRvIHNldFxuICAgICAgICAgICAgLy8gdGhlIGhlaWdodCB3aXRob3V0IGhhdmluZyBgYm94U2l6aW5nOiAnYm9yZGVyLWJveCdgIGl0IHdvdWxkIGJlIHRvbyBiaWcuXG4gICAgICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gZW5zdXJlIHRoZSBjb250ZW50IGRvZXNuJ3QgZ2V0IHRhbGxlciB0aGFuIHRoZSB3cmFwcGVyXG4gICAgICAgICAgICBtYXhIZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICAgIC4uLnBvcHBlclByb3BzLnN0eWxlLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L1NlbGVjdFZpZXdwb3J0UHJvdmlkZXI+XG4gICk7XG59KTtcblxuU2VsZWN0SXRlbUFsaWduZWRQb3NpdGlvbi5kaXNwbGF5TmFtZSA9IElURU1fQUxJR05FRF9QT1NJVElPTl9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RQb3BwZXJQb3NpdGlvblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBQT1BQRVJfUE9TSVRJT05fTkFNRSA9ICdTZWxlY3RQb3BwZXJQb3NpdGlvbic7XG5cbnR5cGUgU2VsZWN0UG9wcGVyUG9zaXRpb25FbGVtZW50ID0gUmVhY3QuQ29tcG9uZW50UmVmPHR5cGVvZiBQb3BwZXJQcmltaXRpdmUuQ29udGVudD47XG50eXBlIFBvcHBlckNvbnRlbnRQcm9wcyA9IFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgUG9wcGVyUHJpbWl0aXZlLkNvbnRlbnQ+O1xuaW50ZXJmYWNlIFNlbGVjdFBvcHBlclBvc2l0aW9uUHJvcHMgZXh0ZW5kcyBQb3BwZXJDb250ZW50UHJvcHMsIFNlbGVjdFBvcHBlclByaXZhdGVQcm9wcyB7fVxuXG5jb25zdCBTZWxlY3RQb3BwZXJQb3NpdGlvbiA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIFNlbGVjdFBvcHBlclBvc2l0aW9uRWxlbWVudCxcbiAgU2VsZWN0UG9wcGVyUG9zaXRpb25Qcm9wc1xuPigocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdFBvcHBlclBvc2l0aW9uUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3Qge1xuICAgIF9fc2NvcGVTZWxlY3QsXG4gICAgYWxpZ24gPSAnc3RhcnQnLFxuICAgIGNvbGxpc2lvblBhZGRpbmcgPSBDT05URU5UX01BUkdJTixcbiAgICAuLi5wb3BwZXJQcm9wc1xuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHBvcHBlclNjb3BlID0gdXNlUG9wcGVyU2NvcGUoX19zY29wZVNlbGVjdCk7XG5cbiAgcmV0dXJuIChcbiAgICA8UG9wcGVyUHJpbWl0aXZlLkNvbnRlbnRcbiAgICAgIHsuLi5wb3BwZXJTY29wZX1cbiAgICAgIHsuLi5wb3BwZXJQcm9wc31cbiAgICAgIHJlZj17Zm9yd2FyZGVkUmVmfVxuICAgICAgYWxpZ249e2FsaWdufVxuICAgICAgY29sbGlzaW9uUGFkZGluZz17Y29sbGlzaW9uUGFkZGluZ31cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIC8vIEVuc3VyZSBib3JkZXItYm94IGZvciBmbG9hdGluZy11aSBjYWxjdWxhdGlvbnNcbiAgICAgICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgICAgIC4uLnBvcHBlclByb3BzLnN0eWxlLFxuICAgICAgICAvLyByZS1uYW1lc3BhY2UgZXhwb3NlZCBjb250ZW50IGN1c3RvbSBwcm9wZXJ0aWVzXG4gICAgICAgIC4uLntcbiAgICAgICAgICAnLS1yYWRpeC1zZWxlY3QtY29udGVudC10cmFuc2Zvcm0tb3JpZ2luJzogJ3ZhcigtLXJhZGl4LXBvcHBlci10cmFuc2Zvcm0tb3JpZ2luKScsXG4gICAgICAgICAgJy0tcmFkaXgtc2VsZWN0LWNvbnRlbnQtYXZhaWxhYmxlLXdpZHRoJzogJ3ZhcigtLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtd2lkdGgpJyxcbiAgICAgICAgICAnLS1yYWRpeC1zZWxlY3QtY29udGVudC1hdmFpbGFibGUtaGVpZ2h0JzogJ3ZhcigtLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtaGVpZ2h0KScsXG4gICAgICAgICAgJy0tcmFkaXgtc2VsZWN0LXRyaWdnZXItd2lkdGgnOiAndmFyKC0tcmFkaXgtcG9wcGVyLWFuY2hvci13aWR0aCknLFxuICAgICAgICAgICctLXJhZGl4LXNlbGVjdC10cmlnZ2VyLWhlaWdodCc6ICd2YXIoLS1yYWRpeC1wb3BwZXItYW5jaG9yLWhlaWdodCknLFxuICAgICAgICB9LFxuICAgICAgfX1cbiAgICAvPlxuICApO1xufSk7XG5cblNlbGVjdFBvcHBlclBvc2l0aW9uLmRpc3BsYXlOYW1lID0gUE9QUEVSX1BPU0lUSU9OX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNlbGVjdFZpZXdwb3J0XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbnR5cGUgU2VsZWN0Vmlld3BvcnRDb250ZXh0VmFsdWUgPSB7XG4gIGNvbnRlbnRXcmFwcGVyPzogSFRNTERpdkVsZW1lbnQgfCBudWxsO1xuICBzaG91bGRFeHBhbmRPblNjcm9sbFJlZj86IFJlYWN0LlJlZk9iamVjdDxib29sZWFuPjtcbiAgb25TY3JvbGxCdXR0b25DaGFuZ2U/OiAobm9kZTogU2VsZWN0U2Nyb2xsQnV0dG9uSW1wbEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xufTtcblxuY29uc3QgW1NlbGVjdFZpZXdwb3J0UHJvdmlkZXIsIHVzZVNlbGVjdFZpZXdwb3J0Q29udGV4dF0gPVxuICBjcmVhdGVTZWxlY3RDb250ZXh0PFNlbGVjdFZpZXdwb3J0Q29udGV4dFZhbHVlPihDT05URU5UX05BTUUsIHt9KTtcblxuY29uc3QgVklFV1BPUlRfTkFNRSA9ICdTZWxlY3RWaWV3cG9ydCc7XG5cbnR5cGUgU2VsZWN0Vmlld3BvcnRFbGVtZW50ID0gUmVhY3QuQ29tcG9uZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuZGl2PjtcbnR5cGUgUHJpbWl0aXZlRGl2UHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xuaW50ZXJmYWNlIFNlbGVjdFZpZXdwb3J0UHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVEaXZQcm9wcyB7XG4gIG5vbmNlPzogc3RyaW5nO1xufVxuXG5jb25zdCBTZWxlY3RWaWV3cG9ydCA9IFJlYWN0LmZvcndhcmRSZWY8U2VsZWN0Vmlld3BvcnRFbGVtZW50LCBTZWxlY3RWaWV3cG9ydFByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RWaWV3cG9ydFByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlU2VsZWN0LCBub25jZSwgLi4udmlld3BvcnRQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGVudENvbnRleHQgPSB1c2VTZWxlY3RDb250ZW50Q29udGV4dChWSUVXUE9SVF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCB2aWV3cG9ydENvbnRleHQgPSB1c2VTZWxlY3RWaWV3cG9ydENvbnRleHQoVklFV1BPUlRfTkFNRSwgX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgY29udGVudENvbnRleHQub25WaWV3cG9ydENoYW5nZSk7XG4gICAgY29uc3QgcHJldlNjcm9sbFRvcFJlZiA9IFJlYWN0LnVzZVJlZigwKTtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgey8qIEhpZGUgc2Nyb2xsYmFycyBjcm9zcy1icm93c2VyIGFuZCBlbmFibGUgbW9tZW50dW0gc2Nyb2xsIGZvciB0b3VjaCBkZXZpY2VzICovfVxuICAgICAgICA8c3R5bGVcbiAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgX19odG1sOiBgW2RhdGEtcmFkaXgtc2VsZWN0LXZpZXdwb3J0XXtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDt9W2RhdGEtcmFkaXgtc2VsZWN0LXZpZXdwb3J0XTo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfWAsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBub25jZT17bm9uY2V9XG4gICAgICAgIC8+XG4gICAgICAgIDxDb2xsZWN0aW9uLlNsb3Qgc2NvcGU9e19fc2NvcGVTZWxlY3R9PlxuICAgICAgICAgIDxQcmltaXRpdmUuZGl2XG4gICAgICAgICAgICBkYXRhLXJhZGl4LXNlbGVjdC12aWV3cG9ydD1cIlwiXG4gICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgIHsuLi52aWV3cG9ydFByb3BzfVxuICAgICAgICAgICAgcmVmPXtjb21wb3NlZFJlZnN9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAvLyB3ZSB1c2UgcG9zaXRpb246ICdyZWxhdGl2ZScgaGVyZSBvbiB0aGUgYHZpZXdwb3J0YCBzbyB0aGF0IHdoZW4gd2UgY2FsbFxuICAgICAgICAgICAgICAvLyBgc2VsZWN0ZWRJdGVtLm9mZnNldFRvcGAgaW4gY2FsY3VsYXRpb25zLCB0aGUgb2Zmc2V0IGlzIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydFxuICAgICAgICAgICAgICAvLyAoaW5kZXBlbmRlbnQgb2YgdGhlIHNjcm9sbFVwQnV0dG9uKS5cbiAgICAgICAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICAgIC8vIFZpZXdwb3J0IHNob3VsZCBvbmx5IGJlIHNjcm9sbGFibGUgaW4gdGhlIHZlcnRpY2FsIGRpcmVjdGlvbi5cbiAgICAgICAgICAgICAgLy8gVGhpcyB3b24ndCB3b3JrIGluIHZlcnRpY2FsIHdyaXRpbmcgbW9kZXMsIHNvIHdlJ2xsIG5lZWQgdG9cbiAgICAgICAgICAgICAgLy8gcmV2aXNpdCB0aGlzIGlmL3doZW4gdGhhdCBpcyBzdXBwb3J0ZWRcbiAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9ibG9nL3ZlcnRpY2FsLWZvcm0tY29udHJvbHNcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4gYXV0bycsXG4gICAgICAgICAgICAgIC4uLnZpZXdwb3J0UHJvcHMuc3R5bGUsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25TY3JvbGw9e2NvbXBvc2VFdmVudEhhbmRsZXJzKHZpZXdwb3J0UHJvcHMub25TY3JvbGwsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB2aWV3cG9ydCA9IGV2ZW50LmN1cnJlbnRUYXJnZXQ7XG4gICAgICAgICAgICAgIGNvbnN0IHsgY29udGVudFdyYXBwZXIsIHNob3VsZEV4cGFuZE9uU2Nyb2xsUmVmIH0gPSB2aWV3cG9ydENvbnRleHQ7XG4gICAgICAgICAgICAgIGlmIChzaG91bGRFeHBhbmRPblNjcm9sbFJlZj8uY3VycmVudCAmJiBjb250ZW50V3JhcHBlcikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbGVkQnkgPSBNYXRoLmFicyhwcmV2U2Nyb2xsVG9wUmVmLmN1cnJlbnQgLSB2aWV3cG9ydC5zY3JvbGxUb3ApO1xuICAgICAgICAgICAgICAgIGlmIChzY3JvbGxlZEJ5ID4gMCkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgYXZhaWxhYmxlSGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0IC0gQ09OVEVOVF9NQVJHSU4gKiAyO1xuICAgICAgICAgICAgICAgICAgY29uc3QgY3NzTWluSGVpZ2h0ID0gcGFyc2VGbG9hdChjb250ZW50V3JhcHBlci5zdHlsZS5taW5IZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgY29uc3QgY3NzSGVpZ2h0ID0gcGFyc2VGbG9hdChjb250ZW50V3JhcHBlci5zdHlsZS5oZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgY29uc3QgcHJldkhlaWdodCA9IE1hdGgubWF4KGNzc01pbkhlaWdodCwgY3NzSGVpZ2h0KTtcblxuICAgICAgICAgICAgICAgICAgaWYgKHByZXZIZWlnaHQgPCBhdmFpbGFibGVIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV4dEhlaWdodCA9IHByZXZIZWlnaHQgKyBzY3JvbGxlZEJ5O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbGFtcGVkTmV4dEhlaWdodCA9IE1hdGgubWluKGF2YWlsYWJsZUhlaWdodCwgbmV4dEhlaWdodCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodERpZmYgPSBuZXh0SGVpZ2h0IC0gY2xhbXBlZE5leHRIZWlnaHQ7XG5cbiAgICAgICAgICAgICAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUuaGVpZ2h0ID0gY2xhbXBlZE5leHRIZWlnaHQgKyAncHgnO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29udGVudFdyYXBwZXIuc3R5bGUuYm90dG9tID09PSAnMHB4Jykge1xuICAgICAgICAgICAgICAgICAgICAgIHZpZXdwb3J0LnNjcm9sbFRvcCA9IGhlaWdodERpZmYgPiAwID8gaGVpZ2h0RGlmZiA6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gZW5zdXJlIHRoZSBjb250ZW50IHN0YXlzIHBpbm5lZCB0byB0aGUgYm90dG9tXG4gICAgICAgICAgICAgICAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUuanVzdGlmeUNvbnRlbnQgPSAnZmxleC1lbmQnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHByZXZTY3JvbGxUb3BSZWYuY3VycmVudCA9IHZpZXdwb3J0LnNjcm9sbFRvcDtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29sbGVjdGlvbi5TbG90PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuKTtcblxuU2VsZWN0Vmlld3BvcnQuZGlzcGxheU5hbWUgPSBWSUVXUE9SVF9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RHcm91cFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBHUk9VUF9OQU1FID0gJ1NlbGVjdEdyb3VwJztcblxudHlwZSBTZWxlY3RHcm91cENvbnRleHRWYWx1ZSA9IHsgaWQ6IHN0cmluZyB9O1xuXG5jb25zdCBbU2VsZWN0R3JvdXBDb250ZXh0UHJvdmlkZXIsIHVzZVNlbGVjdEdyb3VwQ29udGV4dF0gPVxuICBjcmVhdGVTZWxlY3RDb250ZXh0PFNlbGVjdEdyb3VwQ29udGV4dFZhbHVlPihHUk9VUF9OQU1FKTtcblxudHlwZSBTZWxlY3RHcm91cEVsZW1lbnQgPSBSZWFjdC5Db21wb25lbnRSZWY8dHlwZW9mIFByaW1pdGl2ZS5kaXY+O1xuaW50ZXJmYWNlIFNlbGVjdEdyb3VwUHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVEaXZQcm9wcyB7fVxuXG5jb25zdCBTZWxlY3RHcm91cCA9IFJlYWN0LmZvcndhcmRSZWY8U2VsZWN0R3JvdXBFbGVtZW50LCBTZWxlY3RHcm91cFByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RHcm91cFByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlU2VsZWN0LCAuLi5ncm91cFByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBncm91cElkID0gdXNlSWQoKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFNlbGVjdEdyb3VwQ29udGV4dFByb3ZpZGVyIHNjb3BlPXtfX3Njb3BlU2VsZWN0fSBpZD17Z3JvdXBJZH0+XG4gICAgICAgIDxQcmltaXRpdmUuZGl2IHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWxsZWRieT17Z3JvdXBJZH0gey4uLmdyb3VwUHJvcHN9IHJlZj17Zm9yd2FyZGVkUmVmfSAvPlxuICAgICAgPC9TZWxlY3RHcm91cENvbnRleHRQcm92aWRlcj5cbiAgICApO1xuICB9XG4pO1xuXG5TZWxlY3RHcm91cC5kaXNwbGF5TmFtZSA9IEdST1VQX05BTUU7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNlbGVjdExhYmVsXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IExBQkVMX05BTUUgPSAnU2VsZWN0TGFiZWwnO1xuXG50eXBlIFNlbGVjdExhYmVsRWxlbWVudCA9IFJlYWN0LkNvbXBvbmVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLmRpdj47XG5pbnRlcmZhY2UgU2VsZWN0TGFiZWxQcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzIHt9XG5cbmNvbnN0IFNlbGVjdExhYmVsID0gUmVhY3QuZm9yd2FyZFJlZjxTZWxlY3RMYWJlbEVsZW1lbnQsIFNlbGVjdExhYmVsUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdExhYmVsUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVTZWxlY3QsIC4uLmxhYmVsUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGdyb3VwQ29udGV4dCA9IHVzZVNlbGVjdEdyb3VwQ29udGV4dChMQUJFTF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICByZXR1cm4gPFByaW1pdGl2ZS5kaXYgaWQ9e2dyb3VwQ29udGV4dC5pZH0gey4uLmxhYmVsUHJvcHN9IHJlZj17Zm9yd2FyZGVkUmVmfSAvPjtcbiAgfVxuKTtcblxuU2VsZWN0TGFiZWwuZGlzcGxheU5hbWUgPSBMQUJFTF9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RJdGVtXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IElURU1fTkFNRSA9ICdTZWxlY3RJdGVtJztcblxudHlwZSBTZWxlY3RJdGVtQ29udGV4dFZhbHVlID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgdGV4dElkOiBzdHJpbmc7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gIG9uSXRlbVRleHRDaGFuZ2Uobm9kZTogU2VsZWN0SXRlbVRleHRFbGVtZW50IHwgbnVsbCk6IHZvaWQ7XG59O1xuXG5jb25zdCBbU2VsZWN0SXRlbUNvbnRleHRQcm92aWRlciwgdXNlU2VsZWN0SXRlbUNvbnRleHRdID1cbiAgY3JlYXRlU2VsZWN0Q29udGV4dDxTZWxlY3RJdGVtQ29udGV4dFZhbHVlPihJVEVNX05BTUUpO1xuXG50eXBlIFNlbGVjdEl0ZW1FbGVtZW50ID0gUmVhY3QuQ29tcG9uZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuZGl2PjtcbmludGVyZmFjZSBTZWxlY3RJdGVtUHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVEaXZQcm9wcyB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgdGV4dFZhbHVlPzogc3RyaW5nO1xufVxuXG5jb25zdCBTZWxlY3RJdGVtID0gUmVhY3QuZm9yd2FyZFJlZjxTZWxlY3RJdGVtRWxlbWVudCwgU2VsZWN0SXRlbVByb3BzPihcbiAgKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RJdGVtUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBfX3Njb3BlU2VsZWN0LFxuICAgICAgdmFsdWUsXG4gICAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgICAgdGV4dFZhbHVlOiB0ZXh0VmFsdWVQcm9wLFxuICAgICAgLi4uaXRlbVByb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VTZWxlY3RDb250ZXh0KElURU1fTkFNRSwgX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgY29udGVudENvbnRleHQgPSB1c2VTZWxlY3RDb250ZW50Q29udGV4dChJVEVNX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBjb250ZXh0LnZhbHVlID09PSB2YWx1ZTtcbiAgICBjb25zdCBbdGV4dFZhbHVlLCBzZXRUZXh0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUodGV4dFZhbHVlUHJvcCA/PyAnJyk7XG4gICAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCAobm9kZSkgPT5cbiAgICAgIGNvbnRlbnRDb250ZXh0Lml0ZW1SZWZDYWxsYmFjaz8uKG5vZGUsIHZhbHVlLCBkaXNhYmxlZClcbiAgICApO1xuICAgIGNvbnN0IHRleHRJZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgcG9pbnRlclR5cGVSZWYgPSBSZWFjdC51c2VSZWY8UmVhY3QuUG9pbnRlckV2ZW50Wydwb2ludGVyVHlwZSddPigndG91Y2gnKTtcblxuICAgIGNvbnN0IGhhbmRsZVNlbGVjdCA9ICgpID0+IHtcbiAgICAgIGlmICghZGlzYWJsZWQpIHtcbiAgICAgICAgY29udGV4dC5vblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgY29udGV4dC5vbk9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAodmFsdWUgPT09ICcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdBIDxTZWxlY3QuSXRlbSAvPiBtdXN0IGhhdmUgYSB2YWx1ZSBwcm9wIHRoYXQgaXMgbm90IGFuIGVtcHR5IHN0cmluZy4gVGhpcyBpcyBiZWNhdXNlIHRoZSBTZWxlY3QgdmFsdWUgY2FuIGJlIHNldCB0byBhbiBlbXB0eSBzdHJpbmcgdG8gY2xlYXIgdGhlIHNlbGVjdGlvbiBhbmQgc2hvdyB0aGUgcGxhY2Vob2xkZXIuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNlbGVjdEl0ZW1Db250ZXh0UHJvdmlkZXJcbiAgICAgICAgc2NvcGU9e19fc2NvcGVTZWxlY3R9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICB0ZXh0SWQ9e3RleHRJZH1cbiAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgICAgb25JdGVtVGV4dENoYW5nZT17UmVhY3QudXNlQ2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgICBzZXRUZXh0VmFsdWUoKHByZXZUZXh0VmFsdWUpID0+IHByZXZUZXh0VmFsdWUgfHwgKG5vZGU/LnRleHRDb250ZW50ID8/ICcnKS50cmltKCkpO1xuICAgICAgICB9LCBbXSl9XG4gICAgICA+XG4gICAgICAgIDxDb2xsZWN0aW9uLkl0ZW1TbG90XG4gICAgICAgICAgc2NvcGU9e19fc2NvcGVTZWxlY3R9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICB0ZXh0VmFsdWU9e3RleHRWYWx1ZX1cbiAgICAgICAgPlxuICAgICAgICAgIDxQcmltaXRpdmUuZGl2XG4gICAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT17dGV4dElkfVxuICAgICAgICAgICAgZGF0YS1oaWdobGlnaHRlZD17aXNGb2N1c2VkID8gJycgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAvLyBgaXNGb2N1c2VkYCBjYXZlYXQgZml4ZXMgc3R1dHRlcmluZyBpbiBWb2ljZU92ZXJcbiAgICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2lzU2VsZWN0ZWQgJiYgaXNGb2N1c2VkfVxuICAgICAgICAgICAgZGF0YS1zdGF0ZT17aXNTZWxlY3RlZCA/ICdjaGVja2VkJyA6ICd1bmNoZWNrZWQnfVxuICAgICAgICAgICAgYXJpYS1kaXNhYmxlZD17ZGlzYWJsZWQgfHwgdW5kZWZpbmVkfVxuICAgICAgICAgICAgZGF0YS1kaXNhYmxlZD17ZGlzYWJsZWQgPyAnJyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIHRhYkluZGV4PXtkaXNhYmxlZCA/IHVuZGVmaW5lZCA6IC0xfVxuICAgICAgICAgICAgey4uLml0ZW1Qcm9wc31cbiAgICAgICAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgICAgICAgb25Gb2N1cz17Y29tcG9zZUV2ZW50SGFuZGxlcnMoaXRlbVByb3BzLm9uRm9jdXMsICgpID0+IHNldElzRm9jdXNlZCh0cnVlKSl9XG4gICAgICAgICAgICBvbkJsdXI9e2NvbXBvc2VFdmVudEhhbmRsZXJzKGl0ZW1Qcm9wcy5vbkJsdXIsICgpID0+IHNldElzRm9jdXNlZChmYWxzZSkpfVxuICAgICAgICAgICAgb25DbGljaz17Y29tcG9zZUV2ZW50SGFuZGxlcnMoaXRlbVByb3BzLm9uQ2xpY2ssICgpID0+IHtcbiAgICAgICAgICAgICAgLy8gT3BlbiBvbiBjbGljayB3aGVuIHVzaW5nIGEgdG91Y2ggb3IgcGVuIGRldmljZVxuICAgICAgICAgICAgICBpZiAocG9pbnRlclR5cGVSZWYuY3VycmVudCAhPT0gJ21vdXNlJykgaGFuZGxlU2VsZWN0KCk7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIG9uUG9pbnRlclVwPXtjb21wb3NlRXZlbnRIYW5kbGVycyhpdGVtUHJvcHMub25Qb2ludGVyVXAsICgpID0+IHtcbiAgICAgICAgICAgICAgLy8gVXNpbmcgYSBtb3VzZSB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gZG8gcG9pbnRlciBkb3duLCBtb3ZlIHRocm91Z2hcbiAgICAgICAgICAgICAgLy8gdGhlIGxpc3QsIGFuZCByZWxlYXNlIHRoZSBwb2ludGVyIG92ZXIgdGhlIGl0ZW0gdG8gc2VsZWN0IGl0LlxuICAgICAgICAgICAgICBpZiAocG9pbnRlclR5cGVSZWYuY3VycmVudCA9PT0gJ21vdXNlJykgaGFuZGxlU2VsZWN0KCk7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIG9uUG9pbnRlckRvd249e2NvbXBvc2VFdmVudEhhbmRsZXJzKGl0ZW1Qcm9wcy5vblBvaW50ZXJEb3duLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgcG9pbnRlclR5cGVSZWYuY3VycmVudCA9IGV2ZW50LnBvaW50ZXJUeXBlO1xuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICBvblBvaW50ZXJNb3ZlPXtjb21wb3NlRXZlbnRIYW5kbGVycyhpdGVtUHJvcHMub25Qb2ludGVyTW92ZSwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIC8vIFJlbWVtYmVyIHBvaW50ZXIgdHlwZSB3aGVuIHNsaWRpbmcgb3ZlciB0byB0aGlzIGl0ZW0gZnJvbSBhbm90aGVyIG9uZVxuICAgICAgICAgICAgICBwb2ludGVyVHlwZVJlZi5jdXJyZW50ID0gZXZlbnQucG9pbnRlclR5cGU7XG4gICAgICAgICAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnRDb250ZXh0Lm9uSXRlbUxlYXZlPy4oKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChwb2ludGVyVHlwZVJlZi5jdXJyZW50ID09PSAnbW91c2UnKSB7XG4gICAgICAgICAgICAgICAgLy8gZXZlbiB0aG91Z2ggc2FmYXJpIGRvZXNuJ3Qgc3VwcG9ydCB0aGlzIG9wdGlvbiwgaXQncyBhY2NlcHRhYmxlXG4gICAgICAgICAgICAgICAgLy8gYXMgaXQgb25seSBtZWFucyBpdCBtaWdodCBzY3JvbGwgYSBmZXcgcGl4ZWxzIHdoZW4gdXNpbmcgdGhlIHBvaW50ZXIuXG4gICAgICAgICAgICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgb25Qb2ludGVyTGVhdmU9e2NvbXBvc2VFdmVudEhhbmRsZXJzKGl0ZW1Qcm9wcy5vblBvaW50ZXJMZWF2ZSwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChldmVudC5jdXJyZW50VGFyZ2V0ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29udGVudENvbnRleHQub25JdGVtTGVhdmU/LigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIG9uS2V5RG93bj17Y29tcG9zZUV2ZW50SGFuZGxlcnMoaXRlbVByb3BzLm9uS2V5RG93biwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGlzVHlwaW5nQWhlYWQgPSBjb250ZW50Q29udGV4dC5zZWFyY2hSZWY/LmN1cnJlbnQgIT09ICcnO1xuICAgICAgICAgICAgICBpZiAoaXNUeXBpbmdBaGVhZCAmJiBldmVudC5rZXkgPT09ICcgJykgcmV0dXJuO1xuICAgICAgICAgICAgICBpZiAoU0VMRUNUSU9OX0tFWVMuaW5jbHVkZXMoZXZlbnQua2V5KSkgaGFuZGxlU2VsZWN0KCk7XG4gICAgICAgICAgICAgIC8vIHByZXZlbnQgcGFnZSBzY3JvbGwgaWYgdXNpbmcgdGhlIHNwYWNlIGtleSB0byBzZWxlY3QgYW4gaXRlbVxuICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnICcpIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0NvbGxlY3Rpb24uSXRlbVNsb3Q+XG4gICAgICA8L1NlbGVjdEl0ZW1Db250ZXh0UHJvdmlkZXI+XG4gICAgKTtcbiAgfVxuKTtcblxuU2VsZWN0SXRlbS5kaXNwbGF5TmFtZSA9IElURU1fTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2VsZWN0SXRlbVRleHRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgSVRFTV9URVhUX05BTUUgPSAnU2VsZWN0SXRlbVRleHQnO1xuXG50eXBlIFNlbGVjdEl0ZW1UZXh0RWxlbWVudCA9IFJlYWN0LkNvbXBvbmVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLnNwYW4+O1xuaW50ZXJmYWNlIFNlbGVjdEl0ZW1UZXh0UHJvcHMgZXh0ZW5kcyBQcmltaXRpdmVTcGFuUHJvcHMge31cblxuY29uc3QgU2VsZWN0SXRlbVRleHQgPSBSZWFjdC5mb3J3YXJkUmVmPFNlbGVjdEl0ZW1UZXh0RWxlbWVudCwgU2VsZWN0SXRlbVRleHRQcm9wcz4oXG4gIChwcm9wczogU2NvcGVkUHJvcHM8U2VsZWN0SXRlbVRleHRQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIC8vIFdlIGlnbm9yZSBgY2xhc3NOYW1lYCBhbmQgYHN0eWxlYCBhcyB0aGlzIHBhcnQgc2hvdWxkbid0IGJlIHN0eWxlZC5cbiAgICBjb25zdCB7IF9fc2NvcGVTZWxlY3QsIGNsYXNzTmFtZSwgc3R5bGUsIC4uLml0ZW1UZXh0UHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VTZWxlY3RDb250ZXh0KElURU1fVEVYVF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBjb250ZW50Q29udGV4dCA9IHVzZVNlbGVjdENvbnRlbnRDb250ZXh0KElURU1fVEVYVF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBpdGVtQ29udGV4dCA9IHVzZVNlbGVjdEl0ZW1Db250ZXh0KElURU1fVEVYVF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBuYXRpdmVPcHRpb25zQ29udGV4dCA9IHVzZVNlbGVjdE5hdGl2ZU9wdGlvbnNDb250ZXh0KElURU1fVEVYVF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBbaXRlbVRleHROb2RlLCBzZXRJdGVtVGV4dE5vZGVdID0gUmVhY3QudXNlU3RhdGU8U2VsZWN0SXRlbVRleHRFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKFxuICAgICAgZm9yd2FyZGVkUmVmLFxuICAgICAgKG5vZGUpID0+IHNldEl0ZW1UZXh0Tm9kZShub2RlKSxcbiAgICAgIGl0ZW1Db250ZXh0Lm9uSXRlbVRleHRDaGFuZ2UsXG4gICAgICAobm9kZSkgPT4gY29udGVudENvbnRleHQuaXRlbVRleHRSZWZDYWxsYmFjaz8uKG5vZGUsIGl0ZW1Db250ZXh0LnZhbHVlLCBpdGVtQ29udGV4dC5kaXNhYmxlZClcbiAgICApO1xuXG4gICAgY29uc3QgdGV4dENvbnRlbnQgPSBpdGVtVGV4dE5vZGU/LnRleHRDb250ZW50O1xuICAgIGNvbnN0IG5hdGl2ZU9wdGlvbiA9IFJlYWN0LnVzZU1lbW8oXG4gICAgICAoKSA9PiAoXG4gICAgICAgIDxvcHRpb24ga2V5PXtpdGVtQ29udGV4dC52YWx1ZX0gdmFsdWU9e2l0ZW1Db250ZXh0LnZhbHVlfSBkaXNhYmxlZD17aXRlbUNvbnRleHQuZGlzYWJsZWR9PlxuICAgICAgICAgIHt0ZXh0Q29udGVudH1cbiAgICAgICAgPC9vcHRpb24+XG4gICAgICApLFxuICAgICAgW2l0ZW1Db250ZXh0LmRpc2FibGVkLCBpdGVtQ29udGV4dC52YWx1ZSwgdGV4dENvbnRlbnRdXG4gICAgKTtcblxuICAgIGNvbnN0IHsgb25OYXRpdmVPcHRpb25BZGQsIG9uTmF0aXZlT3B0aW9uUmVtb3ZlIH0gPSBuYXRpdmVPcHRpb25zQ29udGV4dDtcbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgb25OYXRpdmVPcHRpb25BZGQobmF0aXZlT3B0aW9uKTtcbiAgICAgIHJldHVybiAoKSA9PiBvbk5hdGl2ZU9wdGlvblJlbW92ZShuYXRpdmVPcHRpb24pO1xuICAgIH0sIFtvbk5hdGl2ZU9wdGlvbkFkZCwgb25OYXRpdmVPcHRpb25SZW1vdmUsIG5hdGl2ZU9wdGlvbl0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxQcmltaXRpdmUuc3BhbiBpZD17aXRlbUNvbnRleHQudGV4dElkfSB7Li4uaXRlbVRleHRQcm9wc30gcmVmPXtjb21wb3NlZFJlZnN9IC8+XG5cbiAgICAgICAgey8qIFBvcnRhbCB0aGUgc2VsZWN0IGl0ZW0gdGV4dCBpbnRvIHRoZSB0cmlnZ2VyIHZhbHVlIG5vZGUgKi99XG4gICAgICAgIHtpdGVtQ29udGV4dC5pc1NlbGVjdGVkICYmIGNvbnRleHQudmFsdWVOb2RlICYmICFjb250ZXh0LnZhbHVlTm9kZUhhc0NoaWxkcmVuXG4gICAgICAgICAgPyBSZWFjdERPTS5jcmVhdGVQb3J0YWwoaXRlbVRleHRQcm9wcy5jaGlsZHJlbiwgY29udGV4dC52YWx1ZU5vZGUpXG4gICAgICAgICAgOiBudWxsfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuKTtcblxuU2VsZWN0SXRlbVRleHQuZGlzcGxheU5hbWUgPSBJVEVNX1RFWFRfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2VsZWN0SXRlbUluZGljYXRvclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5jb25zdCBJVEVNX0lORElDQVRPUl9OQU1FID0gJ1NlbGVjdEl0ZW1JbmRpY2F0b3InO1xuXG50eXBlIFNlbGVjdEl0ZW1JbmRpY2F0b3JFbGVtZW50ID0gUmVhY3QuQ29tcG9uZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuc3Bhbj47XG5pbnRlcmZhY2UgU2VsZWN0SXRlbUluZGljYXRvclByb3BzIGV4dGVuZHMgUHJpbWl0aXZlU3BhblByb3BzIHt9XG5cbmNvbnN0IFNlbGVjdEl0ZW1JbmRpY2F0b3IgPSBSZWFjdC5mb3J3YXJkUmVmPFNlbGVjdEl0ZW1JbmRpY2F0b3JFbGVtZW50LCBTZWxlY3RJdGVtSW5kaWNhdG9yUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdEl0ZW1JbmRpY2F0b3JQcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVNlbGVjdCwgLi4uaXRlbUluZGljYXRvclByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBpdGVtQ29udGV4dCA9IHVzZVNlbGVjdEl0ZW1Db250ZXh0KElURU1fSU5ESUNBVE9SX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICAgIHJldHVybiBpdGVtQ29udGV4dC5pc1NlbGVjdGVkID8gKFxuICAgICAgPFByaW1pdGl2ZS5zcGFuIGFyaWEtaGlkZGVuIHsuLi5pdGVtSW5kaWNhdG9yUHJvcHN9IHJlZj17Zm9yd2FyZGVkUmVmfSAvPlxuICAgICkgOiBudWxsO1xuICB9XG4pO1xuXG5TZWxlY3RJdGVtSW5kaWNhdG9yLmRpc3BsYXlOYW1lID0gSVRFTV9JTkRJQ0FUT1JfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2VsZWN0U2Nyb2xsVXBCdXR0b25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgU0NST0xMX1VQX0JVVFRPTl9OQU1FID0gJ1NlbGVjdFNjcm9sbFVwQnV0dG9uJztcblxudHlwZSBTZWxlY3RTY3JvbGxVcEJ1dHRvbkVsZW1lbnQgPSBTZWxlY3RTY3JvbGxCdXR0b25JbXBsRWxlbWVudDtcbmludGVyZmFjZSBTZWxlY3RTY3JvbGxVcEJ1dHRvblByb3BzIGV4dGVuZHMgT21pdDxTZWxlY3RTY3JvbGxCdXR0b25JbXBsUHJvcHMsICdvbkF1dG9TY3JvbGwnPiB7fVxuXG5jb25zdCBTZWxlY3RTY3JvbGxVcEJ1dHRvbiA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIFNlbGVjdFNjcm9sbFVwQnV0dG9uRWxlbWVudCxcbiAgU2VsZWN0U2Nyb2xsVXBCdXR0b25Qcm9wc1xuPigocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdFNjcm9sbFVwQnV0dG9uUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3QgY29udGVudENvbnRleHQgPSB1c2VTZWxlY3RDb250ZW50Q29udGV4dChTQ1JPTExfVVBfQlVUVE9OX05BTUUsIHByb3BzLl9fc2NvcGVTZWxlY3QpO1xuICBjb25zdCB2aWV3cG9ydENvbnRleHQgPSB1c2VTZWxlY3RWaWV3cG9ydENvbnRleHQoU0NST0xMX1VQX0JVVFRPTl9OQU1FLCBwcm9wcy5fX3Njb3BlU2VsZWN0KTtcbiAgY29uc3QgW2NhblNjcm9sbFVwLCBzZXRDYW5TY3JvbGxVcF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIHZpZXdwb3J0Q29udGV4dC5vblNjcm9sbEJ1dHRvbkNoYW5nZSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoY29udGVudENvbnRleHQudmlld3BvcnQgJiYgY29udGVudENvbnRleHQuaXNQb3NpdGlvbmVkKSB7XG4gICAgICBjb25zdCB2aWV3cG9ydCA9IGNvbnRlbnRDb250ZXh0LnZpZXdwb3J0O1xuICAgICAgZnVuY3Rpb24gaGFuZGxlU2Nyb2xsKCkge1xuICAgICAgICBjb25zdCBjYW5TY3JvbGxVcCA9IHZpZXdwb3J0LnNjcm9sbFRvcCA+IDA7XG4gICAgICAgIHNldENhblNjcm9sbFVwKGNhblNjcm9sbFVwKTtcbiAgICAgIH1cbiAgICAgIGhhbmRsZVNjcm9sbCgpO1xuICAgICAgdmlld3BvcnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICAgIHJldHVybiAoKSA9PiB2aWV3cG9ydC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpO1xuICAgIH1cbiAgfSwgW2NvbnRlbnRDb250ZXh0LnZpZXdwb3J0LCBjb250ZW50Q29udGV4dC5pc1Bvc2l0aW9uZWRdKTtcblxuICByZXR1cm4gY2FuU2Nyb2xsVXAgPyAoXG4gICAgPFNlbGVjdFNjcm9sbEJ1dHRvbkltcGxcbiAgICAgIHsuLi5wcm9wc31cbiAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgb25BdXRvU2Nyb2xsPXsoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgdmlld3BvcnQsIHNlbGVjdGVkSXRlbSB9ID0gY29udGVudENvbnRleHQ7XG4gICAgICAgIGlmICh2aWV3cG9ydCAmJiBzZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICB2aWV3cG9ydC5zY3JvbGxUb3AgPSB2aWV3cG9ydC5zY3JvbGxUb3AgLSBzZWxlY3RlZEl0ZW0ub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9fVxuICAgIC8+XG4gICkgOiBudWxsO1xufSk7XG5cblNlbGVjdFNjcm9sbFVwQnV0dG9uLmRpc3BsYXlOYW1lID0gU0NST0xMX1VQX0JVVFRPTl9OQU1FO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RTY3JvbGxEb3duQnV0dG9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmNvbnN0IFNDUk9MTF9ET1dOX0JVVFRPTl9OQU1FID0gJ1NlbGVjdFNjcm9sbERvd25CdXR0b24nO1xuXG50eXBlIFNlbGVjdFNjcm9sbERvd25CdXR0b25FbGVtZW50ID0gU2VsZWN0U2Nyb2xsQnV0dG9uSW1wbEVsZW1lbnQ7XG5pbnRlcmZhY2UgU2VsZWN0U2Nyb2xsRG93bkJ1dHRvblByb3BzIGV4dGVuZHMgT21pdDxTZWxlY3RTY3JvbGxCdXR0b25JbXBsUHJvcHMsICdvbkF1dG9TY3JvbGwnPiB7fVxuXG5jb25zdCBTZWxlY3RTY3JvbGxEb3duQnV0dG9uID0gUmVhY3QuZm9yd2FyZFJlZjxcbiAgU2VsZWN0U2Nyb2xsRG93bkJ1dHRvbkVsZW1lbnQsXG4gIFNlbGVjdFNjcm9sbERvd25CdXR0b25Qcm9wc1xuPigocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdFNjcm9sbERvd25CdXR0b25Qcm9wcz4sIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCBjb250ZW50Q29udGV4dCA9IHVzZVNlbGVjdENvbnRlbnRDb250ZXh0KFNDUk9MTF9ET1dOX0JVVFRPTl9OQU1FLCBwcm9wcy5fX3Njb3BlU2VsZWN0KTtcbiAgY29uc3Qgdmlld3BvcnRDb250ZXh0ID0gdXNlU2VsZWN0Vmlld3BvcnRDb250ZXh0KFNDUk9MTF9ET1dOX0JVVFRPTl9OQU1FLCBwcm9wcy5fX3Njb3BlU2VsZWN0KTtcbiAgY29uc3QgW2NhblNjcm9sbERvd24sIHNldENhblNjcm9sbERvd25dID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCB2aWV3cG9ydENvbnRleHQub25TY3JvbGxCdXR0b25DaGFuZ2UpO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNvbnRlbnRDb250ZXh0LnZpZXdwb3J0ICYmIGNvbnRlbnRDb250ZXh0LmlzUG9zaXRpb25lZCkge1xuICAgICAgY29uc3Qgdmlld3BvcnQgPSBjb250ZW50Q29udGV4dC52aWV3cG9ydDtcbiAgICAgIGZ1bmN0aW9uIGhhbmRsZVNjcm9sbCgpIHtcbiAgICAgICAgY29uc3QgbWF4U2Nyb2xsID0gdmlld3BvcnQuc2Nyb2xsSGVpZ2h0IC0gdmlld3BvcnQuY2xpZW50SGVpZ2h0O1xuICAgICAgICAvLyB3ZSB1c2UgTWF0aC5jZWlsIGhlcmUgYmVjYXVzZSBpZiB0aGUgVUkgaXMgem9vbWVkLWluXG4gICAgICAgIC8vIGBzY3JvbGxUb3BgIGlzIG5vdCBhbHdheXMgcmVwb3J0ZWQgYXMgYW4gaW50ZWdlclxuICAgICAgICBjb25zdCBjYW5TY3JvbGxEb3duID0gTWF0aC5jZWlsKHZpZXdwb3J0LnNjcm9sbFRvcCkgPCBtYXhTY3JvbGw7XG4gICAgICAgIHNldENhblNjcm9sbERvd24oY2FuU2Nyb2xsRG93bik7XG4gICAgICB9XG4gICAgICBoYW5kbGVTY3JvbGwoKTtcbiAgICAgIHZpZXdwb3J0LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XG4gICAgICByZXR1cm4gKCkgPT4gdmlld3BvcnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICB9XG4gIH0sIFtjb250ZW50Q29udGV4dC52aWV3cG9ydCwgY29udGVudENvbnRleHQuaXNQb3NpdGlvbmVkXSk7XG5cbiAgcmV0dXJuIGNhblNjcm9sbERvd24gPyAoXG4gICAgPFNlbGVjdFNjcm9sbEJ1dHRvbkltcGxcbiAgICAgIHsuLi5wcm9wc31cbiAgICAgIHJlZj17Y29tcG9zZWRSZWZzfVxuICAgICAgb25BdXRvU2Nyb2xsPXsoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgdmlld3BvcnQsIHNlbGVjdGVkSXRlbSB9ID0gY29udGVudENvbnRleHQ7XG4gICAgICAgIGlmICh2aWV3cG9ydCAmJiBzZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICB2aWV3cG9ydC5zY3JvbGxUb3AgPSB2aWV3cG9ydC5zY3JvbGxUb3AgKyBzZWxlY3RlZEl0ZW0ub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9fVxuICAgIC8+XG4gICkgOiBudWxsO1xufSk7XG5cblNlbGVjdFNjcm9sbERvd25CdXR0b24uZGlzcGxheU5hbWUgPSBTQ1JPTExfRE9XTl9CVVRUT05fTkFNRTtcblxudHlwZSBTZWxlY3RTY3JvbGxCdXR0b25JbXBsRWxlbWVudCA9IFJlYWN0LkNvbXBvbmVudFJlZjx0eXBlb2YgUHJpbWl0aXZlLmRpdj47XG5pbnRlcmZhY2UgU2VsZWN0U2Nyb2xsQnV0dG9uSW1wbFByb3BzIGV4dGVuZHMgUHJpbWl0aXZlRGl2UHJvcHMge1xuICBvbkF1dG9TY3JvbGwoKTogdm9pZDtcbn1cblxuY29uc3QgU2VsZWN0U2Nyb2xsQnV0dG9uSW1wbCA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIFNlbGVjdFNjcm9sbEJ1dHRvbkltcGxFbGVtZW50LFxuICBTZWxlY3RTY3JvbGxCdXR0b25JbXBsUHJvcHNcbj4oKHByb3BzOiBTY29wZWRQcm9wczxTZWxlY3RTY3JvbGxCdXR0b25JbXBsUHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3QgeyBfX3Njb3BlU2VsZWN0LCBvbkF1dG9TY3JvbGwsIC4uLnNjcm9sbEluZGljYXRvclByb3BzIH0gPSBwcm9wcztcbiAgY29uc3QgY29udGVudENvbnRleHQgPSB1c2VTZWxlY3RDb250ZW50Q29udGV4dCgnU2VsZWN0U2Nyb2xsQnV0dG9uJywgX19zY29wZVNlbGVjdCk7XG4gIGNvbnN0IGF1dG9TY3JvbGxUaW1lclJlZiA9IFJlYWN0LnVzZVJlZjxudW1iZXIgfCBudWxsPihudWxsKTtcbiAgY29uc3QgZ2V0SXRlbXMgPSB1c2VDb2xsZWN0aW9uKF9fc2NvcGVTZWxlY3QpO1xuXG4gIGNvbnN0IGNsZWFyQXV0b1Njcm9sbFRpbWVyID0gUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChhdXRvU2Nyb2xsVGltZXJSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoYXV0b1Njcm9sbFRpbWVyUmVmLmN1cnJlbnQpO1xuICAgICAgYXV0b1Njcm9sbFRpbWVyUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuICgpID0+IGNsZWFyQXV0b1Njcm9sbFRpbWVyKCk7XG4gIH0sIFtjbGVhckF1dG9TY3JvbGxUaW1lcl0pO1xuXG4gIC8vIFdoZW4gdGhlIHZpZXdwb3J0IGJlY29tZXMgc2Nyb2xsYWJsZSBvbiBlaXRoZXIgc2lkZSwgdGhlIHJlbGV2YW50IHNjcm9sbCBidXR0b24gd2lsbCBtb3VudC5cbiAgLy8gQmVjYXVzZSBpdCBpcyBwYXJ0IG9mIHRoZSBub3JtYWwgZmxvdywgaXQgd2lsbCBwdXNoIGRvd24gKHRvcCBidXR0b24pIG9yIHNocmluayAoYm90dG9tIGJ1dHRvbilcbiAgLy8gdGhlIHZpZXdwb3J0LCBwb3RlbnRpYWxseSBjYXVzaW5nIHRoZSBhY3RpdmUgaXRlbSB0byBub3cgYmUgcGFydGlhbGx5IG91dCBvZiB2aWV3LlxuICAvLyBXZSByZS1ydW4gdGhlIGBzY3JvbGxJbnRvVmlld2AgbG9naWMgdG8gbWFrZSBzdXJlIGl0IHN0YXlzIHdpdGhpbiB0aGUgdmlld3BvcnQuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgYWN0aXZlSXRlbSA9IGdldEl0ZW1zKCkuZmluZCgoaXRlbSkgPT4gaXRlbS5yZWYuY3VycmVudCA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCk7XG4gICAgYWN0aXZlSXRlbT8ucmVmLmN1cnJlbnQ/LnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcbiAgfSwgW2dldEl0ZW1zXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8UHJpbWl0aXZlLmRpdlxuICAgICAgYXJpYS1oaWRkZW5cbiAgICAgIHsuLi5zY3JvbGxJbmRpY2F0b3JQcm9wc31cbiAgICAgIHJlZj17Zm9yd2FyZGVkUmVmfVxuICAgICAgc3R5bGU9e3sgZmxleFNocmluazogMCwgLi4uc2Nyb2xsSW5kaWNhdG9yUHJvcHMuc3R5bGUgfX1cbiAgICAgIG9uUG9pbnRlckRvd249e2NvbXBvc2VFdmVudEhhbmRsZXJzKHNjcm9sbEluZGljYXRvclByb3BzLm9uUG9pbnRlckRvd24sICgpID0+IHtcbiAgICAgICAgaWYgKGF1dG9TY3JvbGxUaW1lclJlZi5jdXJyZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgYXV0b1Njcm9sbFRpbWVyUmVmLmN1cnJlbnQgPSB3aW5kb3cuc2V0SW50ZXJ2YWwob25BdXRvU2Nyb2xsLCA1MCk7XG4gICAgICAgIH1cbiAgICAgIH0pfVxuICAgICAgb25Qb2ludGVyTW92ZT17Y29tcG9zZUV2ZW50SGFuZGxlcnMoc2Nyb2xsSW5kaWNhdG9yUHJvcHMub25Qb2ludGVyTW92ZSwgKCkgPT4ge1xuICAgICAgICBjb250ZW50Q29udGV4dC5vbkl0ZW1MZWF2ZT8uKCk7XG4gICAgICAgIGlmIChhdXRvU2Nyb2xsVGltZXJSZWYuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICAgIGF1dG9TY3JvbGxUaW1lclJlZi5jdXJyZW50ID0gd2luZG93LnNldEludGVydmFsKG9uQXV0b1Njcm9sbCwgNTApO1xuICAgICAgICB9XG4gICAgICB9KX1cbiAgICAgIG9uUG9pbnRlckxlYXZlPXtjb21wb3NlRXZlbnRIYW5kbGVycyhzY3JvbGxJbmRpY2F0b3JQcm9wcy5vblBvaW50ZXJMZWF2ZSwgKCkgPT4ge1xuICAgICAgICBjbGVhckF1dG9TY3JvbGxUaW1lcigpO1xuICAgICAgfSl9XG4gICAgLz5cbiAgKTtcbn0pO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBTZWxlY3RTZXBhcmF0b3JcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgU0VQQVJBVE9SX05BTUUgPSAnU2VsZWN0U2VwYXJhdG9yJztcblxudHlwZSBTZWxlY3RTZXBhcmF0b3JFbGVtZW50ID0gUmVhY3QuQ29tcG9uZW50UmVmPHR5cGVvZiBQcmltaXRpdmUuZGl2PjtcbmludGVyZmFjZSBTZWxlY3RTZXBhcmF0b3JQcm9wcyBleHRlbmRzIFByaW1pdGl2ZURpdlByb3BzIHt9XG5cbmNvbnN0IFNlbGVjdFNlcGFyYXRvciA9IFJlYWN0LmZvcndhcmRSZWY8U2VsZWN0U2VwYXJhdG9yRWxlbWVudCwgU2VsZWN0U2VwYXJhdG9yUHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdFNlcGFyYXRvclByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlU2VsZWN0LCAuLi5zZXBhcmF0b3JQcm9wcyB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIDxQcmltaXRpdmUuZGl2IGFyaWEtaGlkZGVuIHsuLi5zZXBhcmF0b3JQcm9wc30gcmVmPXtmb3J3YXJkZWRSZWZ9IC8+O1xuICB9XG4pO1xuXG5TZWxlY3RTZXBhcmF0b3IuZGlzcGxheU5hbWUgPSBTRVBBUkFUT1JfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2VsZWN0QXJyb3dcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgQVJST1dfTkFNRSA9ICdTZWxlY3RBcnJvdyc7XG5cbnR5cGUgU2VsZWN0QXJyb3dFbGVtZW50ID0gUmVhY3QuQ29tcG9uZW50UmVmPHR5cGVvZiBQb3BwZXJQcmltaXRpdmUuQXJyb3c+O1xudHlwZSBQb3BwZXJBcnJvd1Byb3BzID0gUmVhY3QuQ29tcG9uZW50UHJvcHNXaXRob3V0UmVmPHR5cGVvZiBQb3BwZXJQcmltaXRpdmUuQXJyb3c+O1xuaW50ZXJmYWNlIFNlbGVjdEFycm93UHJvcHMgZXh0ZW5kcyBQb3BwZXJBcnJvd1Byb3BzIHt9XG5cbmNvbnN0IFNlbGVjdEFycm93ID0gUmVhY3QuZm9yd2FyZFJlZjxTZWxlY3RBcnJvd0VsZW1lbnQsIFNlbGVjdEFycm93UHJvcHM+KFxuICAocHJvcHM6IFNjb3BlZFByb3BzPFNlbGVjdEFycm93UHJvcHM+LCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVTZWxlY3QsIC4uLmFycm93UHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IHBvcHBlclNjb3BlID0gdXNlUG9wcGVyU2NvcGUoX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVNlbGVjdENvbnRleHQoQVJST1dfTkFNRSwgX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgY29udGVudENvbnRleHQgPSB1c2VTZWxlY3RDb250ZW50Q29udGV4dChBUlJPV19OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICByZXR1cm4gY29udGV4dC5vcGVuICYmIGNvbnRlbnRDb250ZXh0LnBvc2l0aW9uID09PSAncG9wcGVyJyA/IChcbiAgICAgIDxQb3BwZXJQcmltaXRpdmUuQXJyb3cgey4uLnBvcHBlclNjb3BlfSB7Li4uYXJyb3dQcm9wc30gcmVmPXtmb3J3YXJkZWRSZWZ9IC8+XG4gICAgKSA6IG51bGw7XG4gIH1cbik7XG5cblNlbGVjdEFycm93LmRpc3BsYXlOYW1lID0gQVJST1dfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2VsZWN0QnViYmxlSW5wdXRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuY29uc3QgQlVCQkxFX0lOUFVUX05BTUUgPSAnU2VsZWN0QnViYmxlSW5wdXQnO1xuXG50eXBlIElucHV0UHJvcHMgPSBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFByaW1pdGl2ZS5zZWxlY3Q+O1xuaW50ZXJmYWNlIFN3aXRjaEJ1YmJsZUlucHV0UHJvcHMgZXh0ZW5kcyBJbnB1dFByb3BzIHt9XG5cbmNvbnN0IFNlbGVjdEJ1YmJsZUlucHV0ID0gUmVhY3QuZm9yd2FyZFJlZjxIVE1MU2VsZWN0RWxlbWVudCwgU3dpdGNoQnViYmxlSW5wdXRQcm9wcz4oXG4gICh7IF9fc2NvcGVTZWxlY3QsIHZhbHVlLCAuLi5wcm9wcyB9OiBTY29wZWRQcm9wczxTd2l0Y2hCdWJibGVJbnB1dFByb3BzPiwgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgcmVmID0gUmVhY3QudXNlUmVmPEhUTUxTZWxlY3RFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCByZWYpO1xuICAgIGNvbnN0IHByZXZWYWx1ZSA9IHVzZVByZXZpb3VzKHZhbHVlKTtcblxuICAgIC8vIEJ1YmJsZSB2YWx1ZSBjaGFuZ2UgdG8gcGFyZW50cyAoZS5nIGZvcm0gY2hhbmdlIGV2ZW50KVxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3QgPSByZWYuY3VycmVudDtcbiAgICAgIGlmICghc2VsZWN0KSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHNlbGVjdFByb3RvID0gd2luZG93LkhUTUxTZWxlY3RFbGVtZW50LnByb3RvdHlwZTtcbiAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFxuICAgICAgICBzZWxlY3RQcm90byxcbiAgICAgICAgJ3ZhbHVlJ1xuICAgICAgKSBhcyBQcm9wZXJ0eURlc2NyaXB0b3I7XG4gICAgICBjb25zdCBzZXRWYWx1ZSA9IGRlc2NyaXB0b3Iuc2V0O1xuICAgICAgaWYgKHByZXZWYWx1ZSAhPT0gdmFsdWUgJiYgc2V0VmFsdWUpIHtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnQoJ2NoYW5nZScsIHsgYnViYmxlczogdHJ1ZSB9KTtcbiAgICAgICAgc2V0VmFsdWUuY2FsbChzZWxlY3QsIHZhbHVlKTtcbiAgICAgICAgc2VsZWN0LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgfVxuICAgIH0sIFtwcmV2VmFsdWUsIHZhbHVlXSk7XG5cbiAgICAvKipcbiAgICAgKiBXZSBwdXJwb3NlZnVsbHkgdXNlIGEgYHNlbGVjdGAgaGVyZSB0byBzdXBwb3J0IGZvcm0gYXV0b2ZpbGwgYXMgbXVjaCBhc1xuICAgICAqIHBvc3NpYmxlLlxuICAgICAqXG4gICAgICogV2UgcHVycG9zZWZ1bGx5IGRvIG5vdCBhZGQgdGhlIGB2YWx1ZWAgYXR0cmlidXRlIGhlcmUgdG8gYWxsb3cgdGhlIHZhbHVlXG4gICAgICogdG8gYmUgc2V0IHByb2dyYW1tYXRpY2FsbHkgYW5kIGJ1YmJsZSB0byBhbnkgcGFyZW50IGZvcm0gYG9uQ2hhbmdlYFxuICAgICAqIGV2ZW50LiBBZGRpbmcgdGhlIGB2YWx1ZWAgd2lsbCBjYXVzZSBSZWFjdCB0byBjb25zaWRlciB0aGUgcHJvZ3JhbW1hdGljXG4gICAgICogZGlzcGF0Y2ggYSBkdXBsaWNhdGUgYW5kIGl0IHdpbGwgZ2V0IHN3YWxsb3dlZC5cbiAgICAgKlxuICAgICAqIFdlIHVzZSB2aXN1YWxseSBoaWRkZW4gc3R5bGVzIHJhdGhlciB0aGFuIGBkaXNwbGF5OiBcIm5vbmVcImAgYmVjYXVzZVxuICAgICAqIFNhZmFyaSBhdXRvZmlsbCB3b24ndCB3b3JrIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICByZXR1cm4gKFxuICAgICAgPFByaW1pdGl2ZS5zZWxlY3RcbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgICBzdHlsZT17eyAuLi5WSVNVQUxMWV9ISURERU5fU1RZTEVTLCAuLi5wcm9wcy5zdHlsZSB9fVxuICAgICAgICByZWY9e2NvbXBvc2VkUmVmc31cbiAgICAgICAgZGVmYXVsdFZhbHVlPXt2YWx1ZX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuKTtcblxuU2VsZWN0QnViYmxlSW5wdXQuZGlzcGxheU5hbWUgPSBCVUJCTEVfSU5QVVRfTkFNRTtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5mdW5jdGlvbiBzaG91bGRTaG93UGxhY2Vob2xkZXIodmFsdWU/OiBzdHJpbmcpIHtcbiAgcmV0dXJuIHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiB1c2VUeXBlYWhlYWRTZWFyY2gob25TZWFyY2hDaGFuZ2U6IChzZWFyY2g6IHN0cmluZykgPT4gdm9pZCkge1xuICBjb25zdCBoYW5kbGVTZWFyY2hDaGFuZ2UgPSB1c2VDYWxsYmFja1JlZihvblNlYXJjaENoYW5nZSk7XG4gIGNvbnN0IHNlYXJjaFJlZiA9IFJlYWN0LnVzZVJlZignJyk7XG4gIGNvbnN0IHRpbWVyUmVmID0gUmVhY3QudXNlUmVmKDApO1xuXG4gIGNvbnN0IGhhbmRsZVR5cGVhaGVhZFNlYXJjaCA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3Qgc2VhcmNoID0gc2VhcmNoUmVmLmN1cnJlbnQgKyBrZXk7XG4gICAgICBoYW5kbGVTZWFyY2hDaGFuZ2Uoc2VhcmNoKTtcblxuICAgICAgKGZ1bmN0aW9uIHVwZGF0ZVNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHNlYXJjaFJlZi5jdXJyZW50ID0gdmFsdWU7XG4gICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGltZXJSZWYuY3VycmVudCk7XG4gICAgICAgIC8vIFJlc2V0IGBzZWFyY2hSZWZgIDEgc2Vjb25kIGFmdGVyIGl0IHdhcyBsYXN0IHVwZGF0ZWRcbiAgICAgICAgaWYgKHZhbHVlICE9PSAnJykgdGltZXJSZWYuY3VycmVudCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHVwZGF0ZVNlYXJjaCgnJyksIDEwMDApO1xuICAgICAgfSkoc2VhcmNoKTtcbiAgICB9LFxuICAgIFtoYW5kbGVTZWFyY2hDaGFuZ2VdXG4gICk7XG5cbiAgY29uc3QgcmVzZXRUeXBlYWhlYWQgPSBSZWFjdC51c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2VhcmNoUmVmLmN1cnJlbnQgPSAnJztcbiAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVyUmVmLmN1cnJlbnQpO1xuICB9LCBbXSk7XG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4gd2luZG93LmNsZWFyVGltZW91dCh0aW1lclJlZi5jdXJyZW50KTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiBbc2VhcmNoUmVmLCBoYW5kbGVUeXBlYWhlYWRTZWFyY2gsIHJlc2V0VHlwZWFoZWFkXSBhcyBjb25zdDtcbn1cblxuLyoqXG4gKiBUaGlzIGlzIHRoZSBcIm1lYXRcIiBvZiB0aGUgdHlwZWFoZWFkIG1hdGNoaW5nIGxvZ2ljLiBJdCB0YWtlcyBpbiBhIGxpc3Qgb2YgaXRlbXMsXG4gKiB0aGUgc2VhcmNoIGFuZCB0aGUgY3VycmVudCBpdGVtLCBhbmQgcmV0dXJucyB0aGUgbmV4dCBpdGVtIChvciBgdW5kZWZpbmVkYCkuXG4gKlxuICogV2Ugbm9ybWFsaXplIHRoZSBzZWFyY2ggYmVjYXVzZSBpZiBhIHVzZXIgaGFzIHJlcGVhdGVkbHkgcHJlc3NlZCBhIGNoYXJhY3RlcixcbiAqIHdlIHdhbnQgdGhlIGV4YWN0IHNhbWUgYmVoYXZpb3IgYXMgaWYgd2Ugb25seSBoYWQgdGhhdCBvbmUgY2hhcmFjdGVyXG4gKiAoaWUuIGN5Y2xlIHRocm91Z2ggaXRlbXMgc3RhcnRpbmcgd2l0aCB0aGF0IGNoYXJhY3RlcilcbiAqXG4gKiBXZSBhbHNvIHJlb3JkZXIgdGhlIGl0ZW1zIGJ5IHdyYXBwaW5nIHRoZSBhcnJheSBhcm91bmQgdGhlIGN1cnJlbnQgaXRlbS5cbiAqIFRoaXMgaXMgc28gd2UgYWx3YXlzIGxvb2sgZm9yd2FyZCBmcm9tIHRoZSBjdXJyZW50IGl0ZW0sIGFuZCBwaWNraW5nIHRoZSBmaXJzdFxuICogaXRlbSB3aWxsIGFsd2F5cyBiZSB0aGUgY29ycmVjdCBvbmUuXG4gKlxuICogRmluYWxseSwgaWYgdGhlIG5vcm1hbGl6ZWQgc2VhcmNoIGlzIGV4YWN0bHkgb25lIGNoYXJhY3Rlciwgd2UgZXhjbHVkZSB0aGVcbiAqIGN1cnJlbnQgaXRlbSBmcm9tIHRoZSB2YWx1ZXMgYmVjYXVzZSBvdGhlcndpc2UgaXQgd291bGQgYmUgdGhlIGZpcnN0IHRvIG1hdGNoIGFsd2F5c1xuICogYW5kIGZvY3VzIHdvdWxkIG5ldmVyIG1vdmUuIFRoaXMgaXMgYXMgb3Bwb3NlZCB0byB0aGUgcmVndWxhciBjYXNlLCB3aGVyZSB3ZVxuICogZG9uJ3Qgd2FudCBmb2N1cyB0byBtb3ZlIGlmIHRoZSBjdXJyZW50IGl0ZW0gc3RpbGwgbWF0Y2hlcy5cbiAqL1xuZnVuY3Rpb24gZmluZE5leHRJdGVtPFQgZXh0ZW5kcyB7IHRleHRWYWx1ZTogc3RyaW5nIH0+KFxuICBpdGVtczogVFtdLFxuICBzZWFyY2g6IHN0cmluZyxcbiAgY3VycmVudEl0ZW0/OiBUXG4pIHtcbiAgY29uc3QgaXNSZXBlYXRlZCA9IHNlYXJjaC5sZW5ndGggPiAxICYmIEFycmF5LmZyb20oc2VhcmNoKS5ldmVyeSgoY2hhcikgPT4gY2hhciA9PT0gc2VhcmNoWzBdKTtcbiAgY29uc3Qgbm9ybWFsaXplZFNlYXJjaCA9IGlzUmVwZWF0ZWQgPyBzZWFyY2hbMF0hIDogc2VhcmNoO1xuICBjb25zdCBjdXJyZW50SXRlbUluZGV4ID0gY3VycmVudEl0ZW0gPyBpdGVtcy5pbmRleE9mKGN1cnJlbnRJdGVtKSA6IC0xO1xuICBsZXQgd3JhcHBlZEl0ZW1zID0gd3JhcEFycmF5KGl0ZW1zLCBNYXRoLm1heChjdXJyZW50SXRlbUluZGV4LCAwKSk7XG4gIGNvbnN0IGV4Y2x1ZGVDdXJyZW50SXRlbSA9IG5vcm1hbGl6ZWRTZWFyY2gubGVuZ3RoID09PSAxO1xuICBpZiAoZXhjbHVkZUN1cnJlbnRJdGVtKSB3cmFwcGVkSXRlbXMgPSB3cmFwcGVkSXRlbXMuZmlsdGVyKCh2KSA9PiB2ICE9PSBjdXJyZW50SXRlbSk7XG4gIGNvbnN0IG5leHRJdGVtID0gd3JhcHBlZEl0ZW1zLmZpbmQoKGl0ZW0pID0+XG4gICAgaXRlbS50ZXh0VmFsdWUudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKG5vcm1hbGl6ZWRTZWFyY2gudG9Mb3dlckNhc2UoKSlcbiAgKTtcbiAgcmV0dXJuIG5leHRJdGVtICE9PSBjdXJyZW50SXRlbSA/IG5leHRJdGVtIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFdyYXBzIGFuIGFycmF5IGFyb3VuZCBpdHNlbGYgYXQgYSBnaXZlbiBzdGFydCBpbmRleFxuICogRXhhbXBsZTogYHdyYXBBcnJheShbJ2EnLCAnYicsICdjJywgJ2QnXSwgMikgPT09IFsnYycsICdkJywgJ2EnLCAnYiddYFxuICovXG5mdW5jdGlvbiB3cmFwQXJyYXk8VD4oYXJyYXk6IFRbXSwgc3RhcnRJbmRleDogbnVtYmVyKSB7XG4gIHJldHVybiBhcnJheS5tYXA8VD4oKF8sIGluZGV4KSA9PiBhcnJheVsoc3RhcnRJbmRleCArIGluZGV4KSAlIGFycmF5Lmxlbmd0aF0hKTtcbn1cblxuY29uc3QgUm9vdCA9IFNlbGVjdDtcbmNvbnN0IFRyaWdnZXIgPSBTZWxlY3RUcmlnZ2VyO1xuY29uc3QgVmFsdWUgPSBTZWxlY3RWYWx1ZTtcbmNvbnN0IEljb24gPSBTZWxlY3RJY29uO1xuY29uc3QgUG9ydGFsID0gU2VsZWN0UG9ydGFsO1xuY29uc3QgQ29udGVudCA9IFNlbGVjdENvbnRlbnQ7XG5jb25zdCBWaWV3cG9ydCA9IFNlbGVjdFZpZXdwb3J0O1xuY29uc3QgR3JvdXAgPSBTZWxlY3RHcm91cDtcbmNvbnN0IExhYmVsID0gU2VsZWN0TGFiZWw7XG5jb25zdCBJdGVtID0gU2VsZWN0SXRlbTtcbmNvbnN0IEl0ZW1UZXh0ID0gU2VsZWN0SXRlbVRleHQ7XG5jb25zdCBJdGVtSW5kaWNhdG9yID0gU2VsZWN0SXRlbUluZGljYXRvcjtcbmNvbnN0IFNjcm9sbFVwQnV0dG9uID0gU2VsZWN0U2Nyb2xsVXBCdXR0b247XG5jb25zdCBTY3JvbGxEb3duQnV0dG9uID0gU2VsZWN0U2Nyb2xsRG93bkJ1dHRvbjtcbmNvbnN0IFNlcGFyYXRvciA9IFNlbGVjdFNlcGFyYXRvcjtcbmNvbnN0IEFycm93ID0gU2VsZWN0QXJyb3c7XG5cbmV4cG9ydCB7XG4gIGNyZWF0ZVNlbGVjdFNjb3BlLFxuICAvL1xuICBTZWxlY3QsXG4gIFNlbGVjdFRyaWdnZXIsXG4gIFNlbGVjdFZhbHVlLFxuICBTZWxlY3RJY29uLFxuICBTZWxlY3RQb3J0YWwsXG4gIFNlbGVjdENvbnRlbnQsXG4gIFNlbGVjdFZpZXdwb3J0LFxuICBTZWxlY3RHcm91cCxcbiAgU2VsZWN0TGFiZWwsXG4gIFNlbGVjdEl0ZW0sXG4gIFNlbGVjdEl0ZW1UZXh0LFxuICBTZWxlY3RJdGVtSW5kaWNhdG9yLFxuICBTZWxlY3RTY3JvbGxVcEJ1dHRvbixcbiAgU2VsZWN0U2Nyb2xsRG93bkJ1dHRvbixcbiAgU2VsZWN0U2VwYXJhdG9yLFxuICBTZWxlY3RBcnJvdyxcbiAgLy9cbiAgUm9vdCxcbiAgVHJpZ2dlcixcbiAgVmFsdWUsXG4gIEljb24sXG4gIFBvcnRhbCxcbiAgQ29udGVudCxcbiAgVmlld3BvcnQsXG4gIEdyb3VwLFxuICBMYWJlbCxcbiAgSXRlbSxcbiAgSXRlbVRleHQsXG4gIEl0ZW1JbmRpY2F0b3IsXG4gIFNjcm9sbFVwQnV0dG9uLFxuICBTY3JvbGxEb3duQnV0dG9uLFxuICBTZXBhcmF0b3IsXG4gIEFycm93LFxufTtcbmV4cG9ydCB0eXBlIHtcbiAgU2VsZWN0UHJvcHMsXG4gIFNlbGVjdFRyaWdnZXJQcm9wcyxcbiAgU2VsZWN0VmFsdWVQcm9wcyxcbiAgU2VsZWN0SWNvblByb3BzLFxuICBTZWxlY3RQb3J0YWxQcm9wcyxcbiAgU2VsZWN0Q29udGVudFByb3BzLFxuICBTZWxlY3RWaWV3cG9ydFByb3BzLFxuICBTZWxlY3RHcm91cFByb3BzLFxuICBTZWxlY3RMYWJlbFByb3BzLFxuICBTZWxlY3RJdGVtUHJvcHMsXG4gIFNlbGVjdEl0ZW1UZXh0UHJvcHMsXG4gIFNlbGVjdEl0ZW1JbmRpY2F0b3JQcm9wcyxcbiAgU2VsZWN0U2Nyb2xsVXBCdXR0b25Qcm9wcyxcbiAgU2VsZWN0U2Nyb2xsRG93bkJ1dHRvblByb3BzLFxuICBTZWxlY3RTZXBhcmF0b3JQcm9wcyxcbiAgU2VsZWN0QXJyb3dQcm9wcyxcbn07XG4iXSwibmFtZXMiOlsiaGFuZGxlU2Nyb2xsIiwiY2FuU2Nyb2xsVXAiLCJjYW5TY3JvbGxEb3duIiwiUm9vdCIsIkNvbnRlbnQiLCJBcnJvdyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-select/dist/index.mjs\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs": +/*!**********************************************************************************************!*\ + !*** ./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs ***! + \**********************************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Root: () => (/* binding */ Slot),\n/* harmony export */ Slot: () => (/* binding */ Slot),\n/* harmony export */ Slottable: () => (/* binding */ Slottable),\n/* harmony export */ createSlot: () => (/* binding */ createSlot),\n/* harmony export */ createSlottable: () => (/* binding */ createSlottable)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-compose-refs */ \"(ssr)/./node_modules/@radix-ui/react-compose-refs/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n// src/slot.tsx\n\n\n\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = react__WEBPACK_IMPORTED_MODULE_0__.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (react__WEBPACK_IMPORTED_MODULE_0__.Children.count(newElement) > 1) return react__WEBPACK_IMPORTED_MODULE_0__.Children.only(null);\n return react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(newElement) ? react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== react__WEBPACK_IMPORTED_MODULE_0__.Fragment) {\n props2.ref = forwardedRef ? (0,_radix_ui_react_compose_refs__WEBPACK_IMPORTED_MODULE_2__.composeRefs)(forwardedRef, childrenRef) : childrenRef;\n }\n return react__WEBPACK_IMPORTED_MODULE_0__.cloneElement(children, props2);\n }\n return react__WEBPACK_IMPORTED_MODULE_0__.Children.count(children) > 1 ? react__WEBPACK_IMPORTED_MODULE_0__.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return react__WEBPACK_IMPORTED_MODULE_0__.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXNlbGVjdC9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXNsb3QvZGlzdC9pbmRleC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUMrQjtBQUM0QjtBQUNJO0FBQy9EO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiw2Q0FBZ0I7QUFDaEMsWUFBWSx5QkFBeUI7QUFDckMsMEJBQTBCLDJDQUFjO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLDJDQUFjLCtCQUErQiwyQ0FBYztBQUN6RSxpQkFBaUIsaURBQW9CO0FBQ3JDLFVBQVU7QUFDVjtBQUNBO0FBQ0EsT0FBTztBQUNQLDZCQUE2QixzREFBRyxjQUFjLDJDQUEyQyxpREFBb0IsZUFBZSwrQ0FBa0IsMENBQTBDO0FBQ3hMO0FBQ0EsMkJBQTJCLHNEQUFHLGNBQWMsMkNBQTJDO0FBQ3ZGLEdBQUc7QUFDSCx5QkFBeUIsVUFBVTtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDZDQUFnQjtBQUNwQyxZQUFZLHlCQUF5QjtBQUNyQyxRQUFRLGlEQUFvQjtBQUM1QjtBQUNBO0FBQ0EsNEJBQTRCLDJDQUFjO0FBQzFDLG9DQUFvQyx5RUFBVztBQUMvQztBQUNBLGFBQWEsK0NBQWtCO0FBQy9CO0FBQ0EsV0FBVywyQ0FBYyx1QkFBdUIsMkNBQWM7QUFDOUQsR0FBRztBQUNILDZCQUE2QixVQUFVO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsVUFBVTtBQUNsQywyQkFBMkIsc0RBQUcsQ0FBQyx1REFBUyxJQUFJLFVBQVU7QUFDdEQ7QUFDQSw4QkFBOEIsVUFBVTtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxpREFBb0I7QUFDN0I7QUFDQTtBQUNBLDBCQUEwQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxNQUFNO0FBQ04sa0NBQWtDO0FBQ2xDLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9FO0FBQ0YiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXEByYWRpeC11aVxccmVhY3Qtc2VsZWN0XFxub2RlX21vZHVsZXNcXEByYWRpeC11aVxccmVhY3Qtc2xvdFxcZGlzdFxcaW5kZXgubWpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy9zbG90LnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjb21wb3NlUmVmcyB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzXCI7XG5pbXBvcnQgeyBGcmFnbWVudCBhcyBGcmFnbWVudDIsIGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuLy8gQF9fTk9fU0lERV9FRkZFQ1RTX19cbmZ1bmN0aW9uIGNyZWF0ZVNsb3Qob3duZXJOYW1lKSB7XG4gIGNvbnN0IFNsb3RDbG9uZSA9IC8qIEBfX1BVUkVfXyAqLyBjcmVhdGVTbG90Q2xvbmUob3duZXJOYW1lKTtcbiAgY29uc3QgU2xvdDIgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBjaGlsZHJlbiwgLi4uc2xvdFByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjaGlsZHJlbkFycmF5ID0gUmVhY3QuQ2hpbGRyZW4udG9BcnJheShjaGlsZHJlbik7XG4gICAgY29uc3Qgc2xvdHRhYmxlID0gY2hpbGRyZW5BcnJheS5maW5kKGlzU2xvdHRhYmxlKTtcbiAgICBpZiAoc2xvdHRhYmxlKSB7XG4gICAgICBjb25zdCBuZXdFbGVtZW50ID0gc2xvdHRhYmxlLnByb3BzLmNoaWxkcmVuO1xuICAgICAgY29uc3QgbmV3Q2hpbGRyZW4gPSBjaGlsZHJlbkFycmF5Lm1hcCgoY2hpbGQpID0+IHtcbiAgICAgICAgaWYgKGNoaWxkID09PSBzbG90dGFibGUpIHtcbiAgICAgICAgICBpZiAoUmVhY3QuQ2hpbGRyZW4uY291bnQobmV3RWxlbWVudCkgPiAxKSByZXR1cm4gUmVhY3QuQ2hpbGRyZW4ub25seShudWxsKTtcbiAgICAgICAgICByZXR1cm4gUmVhY3QuaXNWYWxpZEVsZW1lbnQobmV3RWxlbWVudCkgPyBuZXdFbGVtZW50LnByb3BzLmNoaWxkcmVuIDogbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goU2xvdENsb25lLCB7IC4uLnNsb3RQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYsIGNoaWxkcmVuOiBSZWFjdC5pc1ZhbGlkRWxlbWVudChuZXdFbGVtZW50KSA/IFJlYWN0LmNsb25lRWxlbWVudChuZXdFbGVtZW50LCB2b2lkIDAsIG5ld0NoaWxkcmVuKSA6IG51bGwgfSk7XG4gICAgfVxuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFNsb3RDbG9uZSwgeyAuLi5zbG90UHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmLCBjaGlsZHJlbiB9KTtcbiAgfSk7XG4gIFNsb3QyLmRpc3BsYXlOYW1lID0gYCR7b3duZXJOYW1lfS5TbG90YDtcbiAgcmV0dXJuIFNsb3QyO1xufVxudmFyIFNsb3QgPSAvKiBAX19QVVJFX18gKi8gY3JlYXRlU2xvdChcIlNsb3RcIik7XG4vLyBAX19OT19TSURFX0VGRkVDVFNfX1xuZnVuY3Rpb24gY3JlYXRlU2xvdENsb25lKG93bmVyTmFtZSkge1xuICBjb25zdCBTbG90Q2xvbmUgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBjaGlsZHJlbiwgLi4uc2xvdFByb3BzIH0gPSBwcm9wcztcbiAgICBpZiAoUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGRyZW4pKSB7XG4gICAgICBjb25zdCBjaGlsZHJlblJlZiA9IGdldEVsZW1lbnRSZWYoY2hpbGRyZW4pO1xuICAgICAgY29uc3QgcHJvcHMyID0gbWVyZ2VQcm9wcyhzbG90UHJvcHMsIGNoaWxkcmVuLnByb3BzKTtcbiAgICAgIGlmIChjaGlsZHJlbi50eXBlICE9PSBSZWFjdC5GcmFnbWVudCkge1xuICAgICAgICBwcm9wczIucmVmID0gZm9yd2FyZGVkUmVmID8gY29tcG9zZVJlZnMoZm9yd2FyZGVkUmVmLCBjaGlsZHJlblJlZikgOiBjaGlsZHJlblJlZjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGRyZW4sIHByb3BzMik7XG4gICAgfVxuICAgIHJldHVybiBSZWFjdC5DaGlsZHJlbi5jb3VudChjaGlsZHJlbikgPiAxID8gUmVhY3QuQ2hpbGRyZW4ub25seShudWxsKSA6IG51bGw7XG4gIH0pO1xuICBTbG90Q2xvbmUuZGlzcGxheU5hbWUgPSBgJHtvd25lck5hbWV9LlNsb3RDbG9uZWA7XG4gIHJldHVybiBTbG90Q2xvbmU7XG59XG52YXIgU0xPVFRBQkxFX0lERU5USUZJRVIgPSBTeW1ib2woXCJyYWRpeC5zbG90dGFibGVcIik7XG4vLyBAX19OT19TSURFX0VGRkVDVFNfX1xuZnVuY3Rpb24gY3JlYXRlU2xvdHRhYmxlKG93bmVyTmFtZSkge1xuICBjb25zdCBTbG90dGFibGUyID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KEZyYWdtZW50MiwgeyBjaGlsZHJlbiB9KTtcbiAgfTtcbiAgU2xvdHRhYmxlMi5kaXNwbGF5TmFtZSA9IGAke293bmVyTmFtZX0uU2xvdHRhYmxlYDtcbiAgU2xvdHRhYmxlMi5fX3JhZGl4SWQgPSBTTE9UVEFCTEVfSURFTlRJRklFUjtcbiAgcmV0dXJuIFNsb3R0YWJsZTI7XG59XG52YXIgU2xvdHRhYmxlID0gLyogQF9fUFVSRV9fICovIGNyZWF0ZVNsb3R0YWJsZShcIlNsb3R0YWJsZVwiKTtcbmZ1bmN0aW9uIGlzU2xvdHRhYmxlKGNoaWxkKSB7XG4gIHJldHVybiBSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZCkgJiYgdHlwZW9mIGNoaWxkLnR5cGUgPT09IFwiZnVuY3Rpb25cIiAmJiBcIl9fcmFkaXhJZFwiIGluIGNoaWxkLnR5cGUgJiYgY2hpbGQudHlwZS5fX3JhZGl4SWQgPT09IFNMT1RUQUJMRV9JREVOVElGSUVSO1xufVxuZnVuY3Rpb24gbWVyZ2VQcm9wcyhzbG90UHJvcHMsIGNoaWxkUHJvcHMpIHtcbiAgY29uc3Qgb3ZlcnJpZGVQcm9wcyA9IHsgLi4uY2hpbGRQcm9wcyB9O1xuICBmb3IgKGNvbnN0IHByb3BOYW1lIGluIGNoaWxkUHJvcHMpIHtcbiAgICBjb25zdCBzbG90UHJvcFZhbHVlID0gc2xvdFByb3BzW3Byb3BOYW1lXTtcbiAgICBjb25zdCBjaGlsZFByb3BWYWx1ZSA9IGNoaWxkUHJvcHNbcHJvcE5hbWVdO1xuICAgIGNvbnN0IGlzSGFuZGxlciA9IC9eb25bQS1aXS8udGVzdChwcm9wTmFtZSk7XG4gICAgaWYgKGlzSGFuZGxlcikge1xuICAgICAgaWYgKHNsb3RQcm9wVmFsdWUgJiYgY2hpbGRQcm9wVmFsdWUpIHtcbiAgICAgICAgb3ZlcnJpZGVQcm9wc1twcm9wTmFtZV0gPSAoLi4uYXJncykgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGNoaWxkUHJvcFZhbHVlKC4uLmFyZ3MpO1xuICAgICAgICAgIHNsb3RQcm9wVmFsdWUoLi4uYXJncyk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoc2xvdFByb3BWYWx1ZSkge1xuICAgICAgICBvdmVycmlkZVByb3BzW3Byb3BOYW1lXSA9IHNsb3RQcm9wVmFsdWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wTmFtZSA9PT0gXCJzdHlsZVwiKSB7XG4gICAgICBvdmVycmlkZVByb3BzW3Byb3BOYW1lXSA9IHsgLi4uc2xvdFByb3BWYWx1ZSwgLi4uY2hpbGRQcm9wVmFsdWUgfTtcbiAgICB9IGVsc2UgaWYgKHByb3BOYW1lID09PSBcImNsYXNzTmFtZVwiKSB7XG4gICAgICBvdmVycmlkZVByb3BzW3Byb3BOYW1lXSA9IFtzbG90UHJvcFZhbHVlLCBjaGlsZFByb3BWYWx1ZV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCIgXCIpO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyAuLi5zbG90UHJvcHMsIC4uLm92ZXJyaWRlUHJvcHMgfTtcbn1cbmZ1bmN0aW9uIGdldEVsZW1lbnRSZWYoZWxlbWVudCkge1xuICBsZXQgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlbGVtZW50LnByb3BzLCBcInJlZlwiKT8uZ2V0O1xuICBsZXQgbWF5V2FybiA9IGdldHRlciAmJiBcImlzUmVhY3RXYXJuaW5nXCIgaW4gZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZztcbiAgaWYgKG1heVdhcm4pIHtcbiAgICByZXR1cm4gZWxlbWVudC5yZWY7XG4gIH1cbiAgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlbGVtZW50LCBcInJlZlwiKT8uZ2V0O1xuICBtYXlXYXJuID0gZ2V0dGVyICYmIFwiaXNSZWFjdFdhcm5pbmdcIiBpbiBnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nO1xuICBpZiAobWF5V2Fybikge1xuICAgIHJldHVybiBlbGVtZW50LnByb3BzLnJlZjtcbiAgfVxuICByZXR1cm4gZWxlbWVudC5wcm9wcy5yZWYgfHwgZWxlbWVudC5yZWY7XG59XG5leHBvcnQge1xuICBTbG90IGFzIFJvb3QsXG4gIFNsb3QsXG4gIFNsb3R0YWJsZSxcbiAgY3JlYXRlU2xvdCxcbiAgY3JlYXRlU2xvdHRhYmxlXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs\n"); + +/***/ }), + /***/ "(ssr)/./node_modules/@radix-ui/react-slot/dist/index.mjs": /*!**********************************************************!*\ !*** ./node_modules/@radix-ui/react-slot/dist/index.mjs ***! @@ -271,6 +311,16 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "(ssr)/./node_modules/@radix-ui/react-use-previous/dist/index.mjs": +/*!******************************************************************!*\ + !*** ./node_modules/@radix-ui/react-use-previous/dist/index.mjs ***! + \******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ usePrevious: () => (/* binding */ usePrevious)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n// packages/react/use-previous/src/use-previous.tsx\n\nfunction usePrevious(value) {\n const ref = react__WEBPACK_IMPORTED_MODULE_0__.useRef({ value, previous: value });\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXVzZS1wcmV2aW91cy9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQytCO0FBQy9CO0FBQ0EsY0FBYyx5Q0FBWSxHQUFHLHdCQUF3QjtBQUNyRCxTQUFTLDBDQUFhO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFHRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAcmFkaXgtdWlcXHJlYWN0LXVzZS1wcmV2aW91c1xcZGlzdFxcaW5kZXgubWpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHBhY2thZ2VzL3JlYWN0L3VzZS1wcmV2aW91cy9zcmMvdXNlLXByZXZpb3VzLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5mdW5jdGlvbiB1c2VQcmV2aW91cyh2YWx1ZSkge1xuICBjb25zdCByZWYgPSBSZWFjdC51c2VSZWYoeyB2YWx1ZSwgcHJldmlvdXM6IHZhbHVlIH0pO1xuICByZXR1cm4gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHJlZi5jdXJyZW50LnZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgcmVmLmN1cnJlbnQucHJldmlvdXMgPSByZWYuY3VycmVudC52YWx1ZTtcbiAgICAgIHJlZi5jdXJyZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiByZWYuY3VycmVudC5wcmV2aW91cztcbiAgfSwgW3ZhbHVlXSk7XG59XG5leHBvcnQge1xuICB1c2VQcmV2aW91c1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-use-previous/dist/index.mjs\n"); + +/***/ }), + /***/ "(ssr)/./node_modules/@radix-ui/react-use-size/dist/index.mjs": /*!**************************************************************!*\ !*** ./node_modules/@radix-ui/react-use-size/dist/index.mjs ***! @@ -279,6 +329,16 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useSize: () => (/* binding */ useSize)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @radix-ui/react-use-layout-effect */ \"(ssr)/./node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs\");\n// packages/react/use-size/src/use-size.tsx\n\n\nfunction useSize(element) {\n const [size, setSize] = react__WEBPACK_IMPORTED_MODULE_0__.useState(void 0);\n (0,_radix_ui_react_use_layout_effect__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXVzZS1zaXplL2Rpc3QvaW5kZXgubWpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQytCO0FBQ3FDO0FBQ3BFO0FBQ0EsMEJBQTBCLDJDQUFjO0FBQ3hDLEVBQUUsa0ZBQWU7QUFDakI7QUFDQSxnQkFBZ0IsMERBQTBEO0FBQzFFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsZUFBZTtBQUNqQyxPQUFPO0FBQ1Asd0NBQXdDLG1CQUFtQjtBQUMzRDtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFHRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAcmFkaXgtdWlcXHJlYWN0LXVzZS1zaXplXFxkaXN0XFxpbmRleC5tanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcGFja2FnZXMvcmVhY3QvdXNlLXNpemUvc3JjL3VzZS1zaXplLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1sYXlvdXQtZWZmZWN0XCI7XG5mdW5jdGlvbiB1c2VTaXplKGVsZW1lbnQpIHtcbiAgY29uc3QgW3NpemUsIHNldFNpemVdID0gUmVhY3QudXNlU3RhdGUodm9pZCAwKTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgc2V0U2l6ZSh7IHdpZHRoOiBlbGVtZW50Lm9mZnNldFdpZHRoLCBoZWlnaHQ6IGVsZW1lbnQub2Zmc2V0SGVpZ2h0IH0pO1xuICAgICAgY29uc3QgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGVudHJpZXMpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZW50cmllcy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZW50cnkgPSBlbnRyaWVzWzBdO1xuICAgICAgICBsZXQgd2lkdGg7XG4gICAgICAgIGxldCBoZWlnaHQ7XG4gICAgICAgIGlmIChcImJvcmRlckJveFNpemVcIiBpbiBlbnRyeSkge1xuICAgICAgICAgIGNvbnN0IGJvcmRlclNpemVFbnRyeSA9IGVudHJ5W1wiYm9yZGVyQm94U2l6ZVwiXTtcbiAgICAgICAgICBjb25zdCBib3JkZXJTaXplID0gQXJyYXkuaXNBcnJheShib3JkZXJTaXplRW50cnkpID8gYm9yZGVyU2l6ZUVudHJ5WzBdIDogYm9yZGVyU2l6ZUVudHJ5O1xuICAgICAgICAgIHdpZHRoID0gYm9yZGVyU2l6ZVtcImlubGluZVNpemVcIl07XG4gICAgICAgICAgaGVpZ2h0ID0gYm9yZGVyU2l6ZVtcImJsb2NrU2l6ZVwiXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB3aWR0aCA9IGVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICAgICAgaGVpZ2h0ID0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgc2V0U2l6ZSh7IHdpZHRoLCBoZWlnaHQgfSk7XG4gICAgICB9KTtcbiAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoZWxlbWVudCwgeyBib3g6IFwiYm9yZGVyLWJveFwiIH0pO1xuICAgICAgcmV0dXJuICgpID0+IHJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZShlbGVtZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0U2l6ZSh2b2lkIDApO1xuICAgIH1cbiAgfSwgW2VsZW1lbnRdKTtcbiAgcmV0dXJuIHNpemU7XG59XG5leHBvcnQge1xuICB1c2VTaXplXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-use-size/dist/index.mjs\n"); +/***/ }), + +/***/ "(ssr)/./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs": +/*!*********************************************************************!*\ + !*** ./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs ***! + \*********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Root: () => (/* binding */ Root),\n/* harmony export */ VISUALLY_HIDDEN_STYLES: () => (/* binding */ VISUALLY_HIDDEN_STYLES),\n/* harmony export */ VisuallyHidden: () => (/* binding */ VisuallyHidden)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @radix-ui/react-primitive */ \"(ssr)/./node_modules/@radix-ui/react-primitive/dist/index.mjs\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\n// src/visually-hidden.tsx\n\n\n\nvar VISUALLY_HIDDEN_STYLES = Object.freeze({\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n});\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = react__WEBPACK_IMPORTED_MODULE_0__.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(\n _radix_ui_react_primitive__WEBPACK_IMPORTED_MODULE_2__.Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n }\n );\n }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\n\n//# sourceMappingURL=index.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXZpc3VhbGx5LWhpZGRlbi9kaXN0L2luZGV4Lm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUMrQjtBQUN1QjtBQUNkO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLHFCQUFxQiw2Q0FBZ0I7QUFDckM7QUFDQSwyQkFBMkIsc0RBQUc7QUFDOUIsTUFBTSxnRUFBUztBQUNmO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLRTtBQUNGIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcbm9kZV9tb2R1bGVzXFxAcmFkaXgtdWlcXHJlYWN0LXZpc3VhbGx5LWhpZGRlblxcZGlzdFxcaW5kZXgubWpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy92aXN1YWxseS1oaWRkZW4udHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcHJpbWl0aXZlXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbnZhciBWSVNVQUxMWV9ISURERU5fU1RZTEVTID0gT2JqZWN0LmZyZWV6ZSh7XG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9zY3NzL21peGlucy9fdmlzdWFsbHktaGlkZGVuLnNjc3NcbiAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgYm9yZGVyOiAwLFxuICB3aWR0aDogMSxcbiAgaGVpZ2h0OiAxLFxuICBwYWRkaW5nOiAwLFxuICBtYXJnaW46IC0xLFxuICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgY2xpcDogXCJyZWN0KDAsIDAsIDAsIDApXCIsXG4gIHdoaXRlU3BhY2U6IFwibm93cmFwXCIsXG4gIHdvcmRXcmFwOiBcIm5vcm1hbFwiXG59KTtcbnZhciBOQU1FID0gXCJWaXN1YWxseUhpZGRlblwiO1xudmFyIFZpc3VhbGx5SGlkZGVuID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIFByaW1pdGl2ZS5zcGFuLFxuICAgICAge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWYsXG4gICAgICAgIHN0eWxlOiB7IC4uLlZJU1VBTExZX0hJRERFTl9TVFlMRVMsIC4uLnByb3BzLnN0eWxlIH1cbiAgICAgIH1cbiAgICApO1xuICB9XG4pO1xuVmlzdWFsbHlIaWRkZW4uZGlzcGxheU5hbWUgPSBOQU1FO1xudmFyIFJvb3QgPSBWaXN1YWxseUhpZGRlbjtcbmV4cG9ydCB7XG4gIFJvb3QsXG4gIFZJU1VBTExZX0hJRERFTl9TVFlMRVMsXG4gIFZpc3VhbGx5SGlkZGVuXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs\n"); + /***/ }) }; diff --git a/.next/server/vendor-chunks/lucide-react.js b/.next/server/vendor-chunks/lucide-react.js index 4ef98e1..6570602 100644 --- a/.next/server/vendor-chunks/lucide-react.js +++ b/.next/server/vendor-chunks/lucide-react.js @@ -71,6 +71,16 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js": +/*!******************************************************************!*\ + !*** ./node_modules/lucide-react/dist/esm/icons/chevron-down.js ***! + \******************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ChevronDown)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst ChevronDown = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"ChevronDown\", [\n [\n \"path\",\n {\n d: \"m6 9 6 6 6-6\",\n key: \"qrunsl\"\n }\n ]\n]);\n //# sourceMappingURL=chevron-down.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2NoZXZyb24tZG93bi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLG9CQUFjLGdFQUFnQixDQUFDLGFBQWU7SUFDbEQ7UUFBQyxNQUFRO1FBQUE7WUFBRSxHQUFHLENBQWdCO1lBQUEsS0FBSztRQUFBLENBQVU7S0FBQTtDQUM5QyIsInNvdXJjZXMiOlsiRTpcXHNyY1xcaWNvbnNcXGNoZXZyb24tZG93bi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIENoZXZyb25Eb3duXG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThjR0YwYUNCa1BTSnROaUE1SURZZ05pQTJMVFlpSUM4K0Nqd3ZjM1puUGdvPSkgLSBodHRwczovL2x1Y2lkZS5kZXYvaWNvbnMvY2hldnJvbi1kb3duXG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgQ2hldnJvbkRvd24gPSBjcmVhdGVMdWNpZGVJY29uKCdDaGV2cm9uRG93bicsIFtcbiAgWydwYXRoJywgeyBkOiAnbTYgOSA2IDYgNi02Jywga2V5OiAncXJ1bnNsJyB9XSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBDaGV2cm9uRG93bjtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js\n"); + +/***/ }), + /***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-left.js": /*!******************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/chevron-left.js ***! @@ -91,6 +101,16 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-up.js": +/*!****************************************************************!*\ + !*** ./node_modules/lucide-react/dist/esm/icons/chevron-up.js ***! + \****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ChevronUp)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst ChevronUp = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"ChevronUp\", [\n [\n \"path\",\n {\n d: \"m18 15-6-6-6 6\",\n key: \"153udz\"\n }\n ]\n]);\n //# sourceMappingURL=chevron-up.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2NoZXZyb24tdXAuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFhQSxDQUFNLGNBQVksb0VBQWlCLFdBQWE7SUFBQztRQUFDO1FBQVE7WUFBRSxHQUFHLGdCQUFrQjtZQUFBLEtBQUssQ0FBUztRQUFBLENBQUM7S0FBQztDQUFDIiwic291cmNlcyI6WyJFOlxcc3JjXFxpY29uc1xcY2hldnJvbi11cC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlTHVjaWRlSWNvbiBmcm9tICcuLi9jcmVhdGVMdWNpZGVJY29uJztcblxuLyoqXG4gKiBAY29tcG9uZW50IEBuYW1lIENoZXZyb25VcFxuICogQGRlc2NyaXB0aW9uIEx1Y2lkZSBTVkcgaWNvbiBjb21wb25lbnQsIHJlbmRlcnMgU1ZHIEVsZW1lbnQgd2l0aCBjaGlsZHJlbi5cbiAqXG4gKiBAcHJldmlldyAhW2ltZ10oZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlBZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWdvZ0lIZHBaSFJvUFNJeU5DSUtJQ0JvWldsbmFIUTlJakkwSWdvZ0lIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSUtJQ0JtYVd4c1BTSnViMjVsSWdvZ0lITjBjbTlyWlQwaUl6QXdNQ0lnYzNSNWJHVTlJbUpoWTJ0bmNtOTFibVF0WTI5c2IzSTZJQ05tWm1ZN0lHSnZjbVJsY2kxeVlXUnBkWE02SURKd2VDSUtJQ0J6ZEhKdmEyVXRkMmxrZEdnOUlqSWlDaUFnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lnb2dJSE4wY205clpTMXNhVzVsYW05cGJqMGljbTkxYm1RaUNqNEtJQ0E4Y0dGMGFDQmtQU0p0TVRnZ01UVXROaTAyTFRZZ05pSWdMejRLUEM5emRtYytDZz09KSAtIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucy9jaGV2cm9uLXVwXG4gKiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9ndWlkZS9wYWNrYWdlcy9sdWNpZGUtcmVhY3QgLSBEb2N1bWVudGF0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gTHVjaWRlIGljb25zIHByb3BzIGFuZCBhbnkgdmFsaWQgU1ZHIGF0dHJpYnV0ZVxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBKU1ggRWxlbWVudFxuICpcbiAqL1xuY29uc3QgQ2hldnJvblVwID0gY3JlYXRlTHVjaWRlSWNvbignQ2hldnJvblVwJywgW1sncGF0aCcsIHsgZDogJ20xOCAxNS02LTYtNiA2Jywga2V5OiAnMTUzdWR6JyB9XV0pO1xuXG5leHBvcnQgZGVmYXVsdCBDaGV2cm9uVXA7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-up.js\n"); + +/***/ }), + /***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-check.js": /*!******************************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/circle-check.js ***! @@ -131,6 +151,16 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ }), +/***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/filter.js": +/*!************************************************************!*\ + !*** ./node_modules/lucide-react/dist/esm/icons/filter.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Filter)\n/* harmony export */ });\n/* harmony import */ var _createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../createLucideIcon.js */ \"(ssr)/./node_modules/lucide-react/dist/esm/createLucideIcon.js\");\n/**\n * @license lucide-react v0.468.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */ \nconst Filter = (0,_createLucideIcon_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(\"Filter\", [\n [\n \"polygon\",\n {\n points: \"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\",\n key: \"1yg77f\"\n }\n ]\n]);\n //# sourceMappingURL=filter.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbHVjaWRlLXJlYWN0L2Rpc3QvZXNtL2ljb25zL2ZpbHRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWFNLGVBQVMsZ0VBQWdCLENBQUMsUUFBVTtJQUN4QztRQUFDLFNBQVc7UUFBQTtZQUFFLFFBQVEsQ0FBK0M7WUFBQSxLQUFLO1FBQUEsQ0FBVTtLQUFBO0NBQ3JGIiwic291cmNlcyI6WyJFOlxcc3JjXFxpY29uc1xcZmlsdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVMdWNpZGVJY29uIGZyb20gJy4uL2NyZWF0ZUx1Y2lkZUljb24nO1xuXG4vKipcbiAqIEBjb21wb25lbnQgQG5hbWUgRmlsdGVyXG4gKiBAZGVzY3JpcHRpb24gTHVjaWRlIFNWRyBpY29uIGNvbXBvbmVudCwgcmVuZGVycyBTVkcgRWxlbWVudCB3aXRoIGNoaWxkcmVuLlxuICpcbiAqIEBwcmV2aWV3ICFbaW1nXShkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JZ29nSUhkcFpIUm9QU0l5TkNJS0lDQm9aV2xuYUhROUlqSTBJZ29nSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJS0lDQm1hV3hzUFNKdWIyNWxJZ29nSUhOMGNtOXJaVDBpSXpBd01DSWdjM1I1YkdVOUltSmhZMnRuY205MWJtUXRZMjlzYjNJNklDTm1abVk3SUdKdmNtUmxjaTF5WVdScGRYTTZJREp3ZUNJS0lDQnpkSEp2YTJVdGQybGtkR2c5SWpJaUNpQWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWdvZ0lITjBjbTlyWlMxc2FXNWxhbTlwYmowaWNtOTFibVFpQ2o0S0lDQThjRzlzZVdkdmJpQndiMmx1ZEhNOUlqSXlJRE1nTWlBeklERXdJREV5TGpRMklERXdJREU1SURFMElESXhJREUwSURFeUxqUTJJREl5SURNaUlDOCtDand2YzNablBnbz0pIC0gaHR0cHM6Ly9sdWNpZGUuZGV2L2ljb25zL2ZpbHRlclxuICogQHNlZSBodHRwczovL2x1Y2lkZS5kZXYvZ3VpZGUvcGFja2FnZXMvbHVjaWRlLXJlYWN0IC0gRG9jdW1lbnRhdGlvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyAtIEx1Y2lkZSBpY29ucyBwcm9wcyBhbmQgYW55IHZhbGlkIFNWRyBhdHRyaWJ1dGVcbiAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gSlNYIEVsZW1lbnRcbiAqXG4gKi9cbmNvbnN0IEZpbHRlciA9IGNyZWF0ZUx1Y2lkZUljb24oJ0ZpbHRlcicsIFtcbiAgWydwb2x5Z29uJywgeyBwb2ludHM6ICcyMiAzIDIgMyAxMCAxMi40NiAxMCAxOSAxNCAyMSAxNCAxMi40NiAyMiAzJywga2V5OiAnMXlnNzdmJyB9XSxcbl0pO1xuXG5leHBvcnQgZGVmYXVsdCBGaWx0ZXI7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/lucide-react/dist/esm/icons/filter.js\n"); + +/***/ }), + /***/ "(ssr)/./node_modules/lucide-react/dist/esm/icons/image.js": /*!***********************************************************!*\ !*** ./node_modules/lucide-react/dist/esm/icons/image.js ***! diff --git a/.next/server/vendor-chunks/next.js b/.next/server/vendor-chunks/next.js index 6251b7d..4fd6c62 100644 --- a/.next/server/vendor-chunks/next.js +++ b/.next/server/vendor-chunks/next.js @@ -20,6 +20,17 @@ eval("// Exports\nmodule.exports = {\n\t\"style\": {\"fontFamily\":\"'Inter', 'I /***/ }), +/***/ "(ssr)/./node_modules/next/dist/api/app-dynamic.js": +/*!***************************************************!*\ + !*** ./node_modules/next/dist/api/app-dynamic.js ***! + \***************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport default from dynamic */ _shared_lib_app_dynamic__WEBPACK_IMPORTED_MODULE_0___default.a)\n/* harmony export */ });\n/* harmony import */ var _shared_lib_app_dynamic__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/lib/app-dynamic */ \"(ssr)/./node_modules/next/dist/shared/lib/app-dynamic.js\");\n/* harmony import */ var _shared_lib_app_dynamic__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_shared_lib_app_dynamic__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _shared_lib_app_dynamic__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _shared_lib_app_dynamic__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=app-dynamic.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9hcHAtZHluYW1pYy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBMEM7QUFDVTs7QUFFcEQiLCJzb3VyY2VzIjpbIkU6XFxHSVRcXG12cFxcbmFzaGVsLWZyb250ZW5kXFxub2RlX21vZHVsZXNcXG5leHRcXGRpc3RcXGFwaVxcYXBwLWR5bmFtaWMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi4vc2hhcmVkL2xpYi9hcHAtZHluYW1pYyc7XG5leHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAnLi4vc2hhcmVkL2xpYi9hcHAtZHluYW1pYyc7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1keW5hbWljLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/api/app-dynamic.js\n"); + +/***/ }), + /***/ "(ssr)/./node_modules/next/dist/api/navigation.js": /*!**************************************************!*\ !*** ./node_modules/next/dist/api/navigation.js ***! @@ -1578,6 +1589,28 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n})); /***/ }), +/***/ "(ssr)/./node_modules/next/dist/shared/lib/app-dynamic.js": +/*!**********************************************************!*\ + !*** ./node_modules/next/dist/shared/lib/app-dynamic.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 dynamic;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _loadable = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./lazy-dynamic/loadable */ \"(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/loadable.js\"));\nfunction dynamic(dynamicOptions, options) {\n var _mergedOptions_loadableGenerated;\n const loadableOptions = {};\n if (typeof dynamicOptions === 'function') {\n loadableOptions.loader = dynamicOptions;\n }\n const mergedOptions = {\n ...loadableOptions,\n ...options\n };\n return (0, _loadable.default)({\n ...mergedOptions,\n modules: (_mergedOptions_loadableGenerated = mergedOptions.loadableGenerated) == null ? void 0 : _mergedOptions_loadableGenerated.modules\n });\n}\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-dynamic.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYXBwLWR5bmFtaWMuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0FrQ0E7OztlQUF3QkE7Ozs7K0VBaENIO0FBZ0NOLFNBQVNBLFFBQ3RCQyxjQUE2QyxFQUM3Q0MsT0FBMkI7UUFlaEJDO0lBYlgsTUFBTUMsa0JBQXNDLENBQUM7SUFFN0MsSUFBSSxPQUFPSCxtQkFBbUIsWUFBWTtRQUN4Q0csZ0JBQWdCQyxNQUFNLEdBQUdKO0lBQzNCO0lBRUEsTUFBTUUsZ0JBQWdCO1FBQ3BCLEdBQUdDLGVBQWU7UUFDbEIsR0FBR0YsT0FBTztJQUNaO0lBRUEsT0FBT0ksQ0FBQUEsR0FBQUEsVUFBQUEsT0FBQUEsRUFBUztRQUNkLEdBQUdILGFBQWE7UUFDaEJJLE9BQU8sR0FBRUosbUNBQUFBLGNBQWNLLGlCQUFBQSxLQUFpQixnQkFBL0JMLGlDQUFpQ0ksT0FBTztJQUNuRDtBQUNGIiwic291cmNlcyI6WyJFOlxcc3JjXFxzaGFyZWRcXGxpYlxcYXBwLWR5bmFtaWMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBKU1ggfSBmcm9tICdyZWFjdCdcbmltcG9ydCBMb2FkYWJsZSBmcm9tICcuL2xhenktZHluYW1pYy9sb2FkYWJsZSdcblxuaW1wb3J0IHR5cGUge1xuICBMb2FkYWJsZUdlbmVyYXRlZE9wdGlvbnMsXG4gIER5bmFtaWNPcHRpb25zTG9hZGluZ1Byb3BzLFxuICBMb2FkZXIsXG4gIExvYWRlckNvbXBvbmVudCxcbn0gZnJvbSAnLi9sYXp5LWR5bmFtaWMvdHlwZXMnXG5cbmV4cG9ydCB7XG4gIHR5cGUgTG9hZGFibGVHZW5lcmF0ZWRPcHRpb25zLFxuICB0eXBlIER5bmFtaWNPcHRpb25zTG9hZGluZ1Byb3BzLFxuICB0eXBlIExvYWRlcixcbiAgdHlwZSBMb2FkZXJDb21wb25lbnQsXG59XG5cbmV4cG9ydCB0eXBlIER5bmFtaWNPcHRpb25zPFAgPSB7fT4gPSBMb2FkYWJsZUdlbmVyYXRlZE9wdGlvbnMgJiB7XG4gIGxvYWRpbmc/OiAoKSA9PiBKU1guRWxlbWVudCB8IG51bGxcbiAgbG9hZGVyPzogTG9hZGVyPFA+XG4gIGxvYWRhYmxlR2VuZXJhdGVkPzogTG9hZGFibGVHZW5lcmF0ZWRPcHRpb25zXG4gIG1vZHVsZXM/OiBzdHJpbmdbXVxuICBzc3I/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIExvYWRhYmxlT3B0aW9uczxQID0ge30+ID0gRHluYW1pY09wdGlvbnM8UD5cblxuZXhwb3J0IHR5cGUgTG9hZGFibGVGbjxQID0ge30+ID0gKFxuICBvcHRzOiBMb2FkYWJsZU9wdGlvbnM8UD5cbikgPT4gUmVhY3QuQ29tcG9uZW50VHlwZTxQPlxuXG5leHBvcnQgdHlwZSBMb2FkYWJsZUNvbXBvbmVudDxQID0ge30+ID0gUmVhY3QuQ29tcG9uZW50VHlwZTxQPlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkeW5hbWljPFAgPSB7fT4oXG4gIGR5bmFtaWNPcHRpb25zOiBEeW5hbWljT3B0aW9uczxQPiB8IExvYWRlcjxQPixcbiAgb3B0aW9ucz86IER5bmFtaWNPcHRpb25zPFA+XG4pOiBSZWFjdC5Db21wb25lbnRUeXBlPFA+IHtcbiAgY29uc3QgbG9hZGFibGVPcHRpb25zOiBMb2FkYWJsZU9wdGlvbnM8UD4gPSB7fVxuXG4gIGlmICh0eXBlb2YgZHluYW1pY09wdGlvbnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBsb2FkYWJsZU9wdGlvbnMubG9hZGVyID0gZHluYW1pY09wdGlvbnNcbiAgfVxuXG4gIGNvbnN0IG1lcmdlZE9wdGlvbnMgPSB7XG4gICAgLi4ubG9hZGFibGVPcHRpb25zLFxuICAgIC4uLm9wdGlvbnMsXG4gIH1cblxuICByZXR1cm4gTG9hZGFibGUoe1xuICAgIC4uLm1lcmdlZE9wdGlvbnMsXG4gICAgbW9kdWxlczogbWVyZ2VkT3B0aW9ucy5sb2FkYWJsZUdlbmVyYXRlZD8ubW9kdWxlcyxcbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJkeW5hbWljIiwiZHluYW1pY09wdGlvbnMiLCJvcHRpb25zIiwibWVyZ2VkT3B0aW9ucyIsImxvYWRhYmxlT3B0aW9ucyIsImxvYWRlciIsIkxvYWRhYmxlIiwibW9kdWxlcyIsImxvYWRhYmxlR2VuZXJhdGVkIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/app-dynamic.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/shared/lib/encode-uri-path.js": +/*!**************************************************************!*\ + !*** ./node_modules/next/dist/shared/lib/encode-uri-path.js ***! + \**************************************************************/ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"encodeURIPath\", ({\n enumerable: true,\n get: function() {\n return encodeURIPath;\n }\n}));\nfunction encodeURIPath(file) {\n return file.split('/').map((p)=>encodeURIComponent(p)).join('/');\n} //# sourceMappingURL=encode-uri-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZW5jb2RlLXVyaS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBQWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxjQUFjQyxJQUFZO0lBQ3hDLE9BQU9BLEtBQ0pDLEtBQUssQ0FBQyxLQUNOQyxHQUFHLENBQUMsQ0FBQ0MsSUFBTUMsbUJBQW1CRCxJQUM5QkUsSUFBSSxDQUFDO0FBQ1YiLCJzb3VyY2VzIjpbIkU6XFxzcmNcXHNoYXJlZFxcbGliXFxlbmNvZGUtdXJpLXBhdGgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGVuY29kZVVSSVBhdGgoZmlsZTogc3RyaW5nKSB7XG4gIHJldHVybiBmaWxlXG4gICAgLnNwbGl0KCcvJylcbiAgICAubWFwKChwKSA9PiBlbmNvZGVVUklDb21wb25lbnQocCkpXG4gICAgLmpvaW4oJy8nKVxufVxuIl0sIm5hbWVzIjpbImVuY29kZVVSSVBhdGgiLCJmaWxlIiwic3BsaXQiLCJtYXAiLCJwIiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwiam9pbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/encode-uri-path.js\n"); + +/***/ }), + /***/ "(ssr)/./node_modules/next/dist/shared/lib/error-source.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/shared/lib/error-source.js ***! @@ -1633,6 +1666,39 @@ eval("// This has to be a shared module which is shared between client component /***/ }), +/***/ "(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/dynamic-bailout-to-csr.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/next/dist/shared/lib/lazy-dynamic/dynamic-bailout-to-csr.js ***! + \**********************************************************************************/ +/***/ ((__unused_webpack_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, \"BailoutToCSR\", ({\n enumerable: true,\n get: function() {\n return BailoutToCSR;\n }\n}));\nconst _bailouttocsr = __webpack_require__(/*! ./bailout-to-csr */ \"(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nfunction BailoutToCSR(param) {\n let { reason, children } = param;\n if (true) {\n throw new _bailouttocsr.BailoutToCSRError(reason);\n }\n return children;\n} //# sourceMappingURL=dynamic-bailout-to-csr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2R5bmFtaWMtYmFpbG91dC10by1jc3IuanMiLCJtYXBwaW5ncyI6Ijs7OztnREFjZ0JBOzs7ZUFBQUE7OzswQ0FYa0I7QUFXM0IsU0FBU0EsYUFBYSxLQUF1QztJQUF2QyxNQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBcUIsR0FBdkM7SUFDM0IsSUFBSSxJQUE2QixFQUFFO1FBQ2pDLE1BQU0sSUFBSUUsY0FBQUEsaUJBQWlCLENBQUNIO0lBQzlCO0lBRUEsT0FBT0M7QUFDVCIsInNvdXJjZXMiOlsiRTpcXHNyY1xcc2hhcmVkXFxsaWJcXGxhenktZHluYW1pY1xcZHluYW1pYy1iYWlsb3V0LXRvLWNzci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB0eXBlIHsgUmVhY3RFbGVtZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCYWlsb3V0VG9DU1JFcnJvciB9IGZyb20gJy4vYmFpbG91dC10by1jc3InXG5cbmludGVyZmFjZSBCYWlsb3V0VG9DU1JQcm9wcyB7XG4gIHJlYXNvbjogc3RyaW5nXG4gIGNoaWxkcmVuOiBSZWFjdEVsZW1lbnRcbn1cblxuLyoqXG4gKiBJZiByZW5kZXJlZCBvbiB0aGUgc2VydmVyLCB0aGlzIGNvbXBvbmVudCB0aHJvd3MgYW4gZXJyb3JcbiAqIHRvIHNpZ25hbCBOZXh0LmpzIHRoYXQgaXQgc2hvdWxkIGJhaWwgb3V0IHRvIGNsaWVudC1zaWRlIHJlbmRlcmluZyBpbnN0ZWFkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQmFpbG91dFRvQ1NSKHsgcmVhc29uLCBjaGlsZHJlbiB9OiBCYWlsb3V0VG9DU1JQcm9wcykge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICB0aHJvdyBuZXcgQmFpbG91dFRvQ1NSRXJyb3IocmVhc29uKVxuICB9XG5cbiAgcmV0dXJuIGNoaWxkcmVuXG59XG4iXSwibmFtZXMiOlsiQmFpbG91dFRvQ1NSIiwicmVhc29uIiwiY2hpbGRyZW4iLCJ3aW5kb3ciLCJCYWlsb3V0VG9DU1JFcnJvciJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/dynamic-bailout-to-csr.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/loadable.js": +/*!********************************************************************!*\ + !*** ./node_modules/next/dist/shared/lib/lazy-dynamic/loadable.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\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 _dynamicbailouttocsr = __webpack_require__(/*! ./dynamic-bailout-to-csr */ \"(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/dynamic-bailout-to-csr.js\");\nconst _preloadchunks = __webpack_require__(/*! ./preload-chunks */ \"(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/preload-chunks.js\");\n// Normalize loader to return the module as form { default: Component } for `React.lazy`.\n// Also for backward compatible since next/dynamic allows to resolve a component directly with loader\n// Client component reference proxy need to be converted to a module.\nfunction convertModule(mod) {\n // Check \"default\" prop before accessing it, as it could be client reference proxy that could break it reference.\n // Cases:\n // mod: { default: Component }\n // mod: Component\n // mod: { default: proxy(Component) }\n // mod: proxy(Component)\n const hasDefault = mod && 'default' in mod;\n return {\n default: hasDefault ? mod.default : mod\n };\n}\nconst defaultOptions = {\n loader: ()=>Promise.resolve(convertModule(()=>null)),\n loading: null,\n ssr: true\n};\nfunction Loadable(options) {\n const opts = {\n ...defaultOptions,\n ...options\n };\n const Lazy = /*#__PURE__*/ (0, _react.lazy)(()=>opts.loader().then(convertModule));\n const Loading = opts.loading;\n function LoadableComponent(props) {\n const fallbackElement = Loading ? /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {\n isLoading: true,\n pastDelay: true,\n error: null\n }) : null;\n // If it's non-SSR or provided a loading component, wrap it in a suspense boundary\n const hasSuspenseBoundary = !opts.ssr || !!opts.loading;\n const Wrap = hasSuspenseBoundary ? _react.Suspense : _react.Fragment;\n const wrapProps = hasSuspenseBoundary ? {\n fallback: fallbackElement\n } : {};\n const children = opts.ssr ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n true ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_preloadchunks.PreloadChunks, {\n moduleIds: opts.modules\n }) : 0,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {\n ...props\n })\n ]\n }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_dynamicbailouttocsr.BailoutToCSR, {\n reason: \"next/dynamic\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Lazy, {\n ...props\n })\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Wrap, {\n ...wrapProps,\n children: children\n });\n }\n LoadableComponent.displayName = 'LoadableComponent';\n return LoadableComponent;\n}\nconst _default = Loadable; //# sourceMappingURL=loadable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2xvYWRhYmxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBNEVBOzs7ZUFBQTs7OzttQ0E1RXlDO2lEQUNaOzJDQUVDO0FBRTlCLHlGQUF5RjtBQUN6RixxR0FBcUc7QUFDckcscUVBQXFFO0FBQ3JFLFNBQVNBLGNBQ1BDLEdBQTREO0lBSTVELGlIQUFpSDtJQUNqSCxTQUFTO0lBQ1QsOEJBQThCO0lBQzlCLGlCQUFpQjtJQUNqQixxQ0FBcUM7SUFDckMsd0JBQXdCO0lBQ3hCLE1BQU1DLGFBQWFELE9BQU8sYUFBYUE7SUFDdkMsT0FBTztRQUNMRSxTQUFTRCxhQUNKRCxJQUEyQkUsT0FBTyxHQUNsQ0Y7SUFDUDtBQUNGO0FBRUEsTUFBTUcsaUJBQWlCO0lBQ3JCQyxRQUFRLElBQU1DLFFBQVFDLE9BQU8sQ0FBQ1AsY0FBYyxJQUFNO0lBQ2xEUSxTQUFTO0lBQ1RDLEtBQUs7QUFDUDtBQVNBLFNBQVNDLFNBQVNDLE9BQXdCO0lBQ3hDLE1BQU1DLE9BQU87UUFBRSxHQUFHUixjQUFjO1FBQUUsR0FBR08sT0FBTztJQUFDO0lBQzdDLE1BQU1FLE9BQUFBLFdBQUFBLEdBQU9DLENBQUFBLEdBQUFBLE9BQUFBLElBQUksRUFBQyxJQUFNRixLQUFLUCxNQUFNLEdBQUdVLElBQUksQ0FBQ2Y7SUFDM0MsTUFBTWdCLFVBQVVKLEtBQUtKLE9BQU87SUFFNUIsU0FBU1Msa0JBQWtCQyxLQUFVO1FBQ25DLE1BQU1DLGtCQUFrQkgsVUFBQUEsV0FBQUEsR0FDdEIscUJBQUNBLFNBQUFBO1lBQVFJLFdBQVc7WUFBTUMsV0FBVztZQUFNQyxPQUFPO2FBQ2hEO1FBRUosa0ZBQWtGO1FBQ2xGLE1BQU1DLHNCQUFzQixDQUFDWCxLQUFLSCxHQUFHLElBQUksQ0FBQyxDQUFDRyxLQUFLSixPQUFPO1FBQ3ZELE1BQU1nQixPQUFPRCxzQkFBc0JFLE9BQUFBLFFBQVEsR0FBR0MsT0FBQUEsUUFBUTtRQUN0RCxNQUFNQyxZQUFZSixzQkFBc0I7WUFBRUssVUFBVVQ7UUFBZ0IsSUFBSSxDQUFDO1FBQ3pFLE1BQU1VLFdBQVdqQixLQUFLSCxHQUFHLGlCQUN2Qjs7Z0JBRUcsS0FBNkIsR0FBWCxjQUNqQixxQkFBQ3NCLGVBQUFBLGFBQWE7b0JBQUNDLFdBQVdwQixLQUFLcUIsT0FBTztxQkFDcEMsQ0FBSTs4QkFDUixxQkFBQ3BCLE1BQUFBO29CQUFNLEdBQUdLLEtBQUs7OzthQUdqQixtQ0FBQ2dCLHFCQUFBQSxZQUFZO1lBQUNDLFFBQU87c0JBQ25CLG1DQUFDdEIsTUFBQUE7Z0JBQU0sR0FBR0ssS0FBSzs7O1FBSW5CLHFCQUFPLHFCQUFDTSxNQUFBQTtZQUFNLEdBQUdHLFNBQVM7c0JBQUdFOztJQUMvQjtJQUVBWixrQkFBa0JtQixXQUFXLEdBQUc7SUFFaEMsT0FBT25CO0FBQ1Q7TUFFQSxXQUFlUCIsInNvdXJjZXMiOlsiRTpcXHNyY1xcc2hhcmVkXFxsaWJcXGxhenktZHluYW1pY1xcbG9hZGFibGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1c3BlbnNlLCBGcmFnbWVudCwgbGF6eSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQmFpbG91dFRvQ1NSIH0gZnJvbSAnLi9keW5hbWljLWJhaWxvdXQtdG8tY3NyJ1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgUHJlbG9hZENodW5rcyB9IGZyb20gJy4vcHJlbG9hZC1jaHVua3MnXG5cbi8vIE5vcm1hbGl6ZSBsb2FkZXIgdG8gcmV0dXJuIHRoZSBtb2R1bGUgYXMgZm9ybSB7IGRlZmF1bHQ6IENvbXBvbmVudCB9IGZvciBgUmVhY3QubGF6eWAuXG4vLyBBbHNvIGZvciBiYWNrd2FyZCBjb21wYXRpYmxlIHNpbmNlIG5leHQvZHluYW1pYyBhbGxvd3MgdG8gcmVzb2x2ZSBhIGNvbXBvbmVudCBkaXJlY3RseSB3aXRoIGxvYWRlclxuLy8gQ2xpZW50IGNvbXBvbmVudCByZWZlcmVuY2UgcHJveHkgbmVlZCB0byBiZSBjb252ZXJ0ZWQgdG8gYSBtb2R1bGUuXG5mdW5jdGlvbiBjb252ZXJ0TW9kdWxlPFA+KFxuICBtb2Q6IFJlYWN0LkNvbXBvbmVudFR5cGU8UD4gfCBDb21wb25lbnRNb2R1bGU8UD4gfCB1bmRlZmluZWRcbik6IHtcbiAgZGVmYXVsdDogUmVhY3QuQ29tcG9uZW50VHlwZTxQPlxufSB7XG4gIC8vIENoZWNrIFwiZGVmYXVsdFwiIHByb3AgYmVmb3JlIGFjY2Vzc2luZyBpdCwgYXMgaXQgY291bGQgYmUgY2xpZW50IHJlZmVyZW5jZSBwcm94eSB0aGF0IGNvdWxkIGJyZWFrIGl0IHJlZmVyZW5jZS5cbiAgLy8gQ2FzZXM6XG4gIC8vIG1vZDogeyBkZWZhdWx0OiBDb21wb25lbnQgfVxuICAvLyBtb2Q6IENvbXBvbmVudFxuICAvLyBtb2Q6IHsgZGVmYXVsdDogcHJveHkoQ29tcG9uZW50KSB9XG4gIC8vIG1vZDogcHJveHkoQ29tcG9uZW50KVxuICBjb25zdCBoYXNEZWZhdWx0ID0gbW9kICYmICdkZWZhdWx0JyBpbiBtb2RcbiAgcmV0dXJuIHtcbiAgICBkZWZhdWx0OiBoYXNEZWZhdWx0XG4gICAgICA/IChtb2QgYXMgQ29tcG9uZW50TW9kdWxlPFA+KS5kZWZhdWx0XG4gICAgICA6IChtb2QgYXMgUmVhY3QuQ29tcG9uZW50VHlwZTxQPiksXG4gIH1cbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnMgPSB7XG4gIGxvYWRlcjogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKGNvbnZlcnRNb2R1bGUoKCkgPT4gbnVsbCkpLFxuICBsb2FkaW5nOiBudWxsLFxuICBzc3I6IHRydWUsXG59XG5cbmludGVyZmFjZSBMb2FkYWJsZU9wdGlvbnMge1xuICBsb2FkZXI/OiAoKSA9PiBQcm9taXNlPFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PiB8IENvbXBvbmVudE1vZHVsZTxhbnk+PlxuICBsb2FkaW5nPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+IHwgbnVsbFxuICBzc3I/OiBib29sZWFuXG4gIG1vZHVsZXM/OiBzdHJpbmdbXVxufVxuXG5mdW5jdGlvbiBMb2FkYWJsZShvcHRpb25zOiBMb2FkYWJsZU9wdGlvbnMpIHtcbiAgY29uc3Qgb3B0cyA9IHsgLi4uZGVmYXVsdE9wdGlvbnMsIC4uLm9wdGlvbnMgfVxuICBjb25zdCBMYXp5ID0gbGF6eSgoKSA9PiBvcHRzLmxvYWRlcigpLnRoZW4oY29udmVydE1vZHVsZSkpXG4gIGNvbnN0IExvYWRpbmcgPSBvcHRzLmxvYWRpbmdcblxuICBmdW5jdGlvbiBMb2FkYWJsZUNvbXBvbmVudChwcm9wczogYW55KSB7XG4gICAgY29uc3QgZmFsbGJhY2tFbGVtZW50ID0gTG9hZGluZyA/IChcbiAgICAgIDxMb2FkaW5nIGlzTG9hZGluZz17dHJ1ZX0gcGFzdERlbGF5PXt0cnVlfSBlcnJvcj17bnVsbH0gLz5cbiAgICApIDogbnVsbFxuXG4gICAgLy8gSWYgaXQncyBub24tU1NSIG9yIHByb3ZpZGVkIGEgbG9hZGluZyBjb21wb25lbnQsIHdyYXAgaXQgaW4gYSBzdXNwZW5zZSBib3VuZGFyeVxuICAgIGNvbnN0IGhhc1N1c3BlbnNlQm91bmRhcnkgPSAhb3B0cy5zc3IgfHwgISFvcHRzLmxvYWRpbmdcbiAgICBjb25zdCBXcmFwID0gaGFzU3VzcGVuc2VCb3VuZGFyeSA/IFN1c3BlbnNlIDogRnJhZ21lbnRcbiAgICBjb25zdCB3cmFwUHJvcHMgPSBoYXNTdXNwZW5zZUJvdW5kYXJ5ID8geyBmYWxsYmFjazogZmFsbGJhY2tFbGVtZW50IH0gOiB7fVxuICAgIGNvbnN0IGNoaWxkcmVuID0gb3B0cy5zc3IgPyAoXG4gICAgICA8PlxuICAgICAgICB7LyogRHVyaW5nIFNTUiwgd2UgbmVlZCB0byBwcmVsb2FkIHRoZSBDU1MgZnJvbSB0aGUgZHluYW1pYyBjb21wb25lbnQgdG8gYXZvaWQgZmxhc2ggb2YgdW5zdHlsZWQgY29udGVudCAqL31cbiAgICAgICAge3R5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnID8gKFxuICAgICAgICAgIDxQcmVsb2FkQ2h1bmtzIG1vZHVsZUlkcz17b3B0cy5tb2R1bGVzfSAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPExhenkgey4uLnByb3BzfSAvPlxuICAgICAgPC8+XG4gICAgKSA6IChcbiAgICAgIDxCYWlsb3V0VG9DU1IgcmVhc29uPVwibmV4dC9keW5hbWljXCI+XG4gICAgICAgIDxMYXp5IHsuLi5wcm9wc30gLz5cbiAgICAgIDwvQmFpbG91dFRvQ1NSPlxuICAgIClcblxuICAgIHJldHVybiA8V3JhcCB7Li4ud3JhcFByb3BzfT57Y2hpbGRyZW59PC9XcmFwPlxuICB9XG5cbiAgTG9hZGFibGVDb21wb25lbnQuZGlzcGxheU5hbWUgPSAnTG9hZGFibGVDb21wb25lbnQnXG5cbiAgcmV0dXJuIExvYWRhYmxlQ29tcG9uZW50XG59XG5cbmV4cG9ydCBkZWZhdWx0IExvYWRhYmxlXG4iXSwibmFtZXMiOlsiY29udmVydE1vZHVsZSIsIm1vZCIsImhhc0RlZmF1bHQiLCJkZWZhdWx0IiwiZGVmYXVsdE9wdGlvbnMiLCJsb2FkZXIiLCJQcm9taXNlIiwicmVzb2x2ZSIsImxvYWRpbmciLCJzc3IiLCJMb2FkYWJsZSIsIm9wdGlvbnMiLCJvcHRzIiwiTGF6eSIsImxhenkiLCJ0aGVuIiwiTG9hZGluZyIsIkxvYWRhYmxlQ29tcG9uZW50IiwicHJvcHMiLCJmYWxsYmFja0VsZW1lbnQiLCJpc0xvYWRpbmciLCJwYXN0RGVsYXkiLCJlcnJvciIsImhhc1N1c3BlbnNlQm91bmRhcnkiLCJXcmFwIiwiU3VzcGVuc2UiLCJGcmFnbWVudCIsIndyYXBQcm9wcyIsImZhbGxiYWNrIiwiY2hpbGRyZW4iLCJ3aW5kb3ciLCJQcmVsb2FkQ2h1bmtzIiwibW9kdWxlSWRzIiwibW9kdWxlcyIsIkJhaWxvdXRUb0NTUiIsInJlYXNvbiIsImRpc3BsYXlOYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/loadable.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/preload-chunks.js": +/*!**************************************************************************!*\ + !*** ./node_modules/next/dist/shared/lib/lazy-dynamic/preload-chunks.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack_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, \"PreloadChunks\", ({\n enumerable: true,\n get: function() {\n return PreloadChunks;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _reactdom = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js\");\nconst _workasyncstorageexternal = __webpack_require__(/*! ../../../server/app-render/work-async-storage.external */ \"../app-render/work-async-storage.external\");\nconst _encodeuripath = __webpack_require__(/*! ../encode-uri-path */ \"(ssr)/./node_modules/next/dist/shared/lib/encode-uri-path.js\");\nfunction PreloadChunks(param) {\n let { moduleIds } = param;\n // Early return in client compilation and only load requestStore on server side\n if (false) {}\n const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();\n if (workStore === undefined) {\n return null;\n }\n const allFiles = [];\n // Search the current dynamic call unique key id in react loadable manifest,\n // and find the corresponding CSS files to preload\n if (workStore.reactLoadableManifest && moduleIds) {\n const manifest = workStore.reactLoadableManifest;\n for (const key of moduleIds){\n if (!manifest[key]) continue;\n const chunks = manifest[key].files;\n allFiles.push(...chunks);\n }\n }\n if (allFiles.length === 0) {\n return null;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: allFiles.map((chunk)=>{\n const href = workStore.assetPrefix + \"/_next/\" + (0, _encodeuripath.encodeURIPath)(chunk);\n const isCss = chunk.endsWith('.css');\n // If it's stylesheet we use `precedence` o help hoist with React Float.\n // For stylesheets we actually need to render the CSS because nothing else is going to do it so it needs to be part of the component tree.\n // The `preload` for stylesheet is not optional.\n if (isCss) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n // @ts-ignore\n precedence: \"dynamic\",\n href: href,\n rel: \"stylesheet\",\n as: \"style\"\n }, chunk);\n } else {\n // If it's script we use ReactDOM.preload to preload the resources\n (0, _reactdom.preload)(href, {\n as: 'script',\n fetchPriority: 'low'\n });\n return null;\n }\n })\n });\n} //# sourceMappingURL=preload-chunks.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbGF6eS1keW5hbWljL3ByZWxvYWQtY2h1bmtzLmpzIiwibWFwcGluZ3MiOiI7Ozs7aURBT2dCQTs7O2VBQUFBOzs7O3NDQUxRO3NEQUVTOzJDQUNIO0FBRXZCLFNBQVNBLGNBQWMsS0FJN0I7SUFKNkIsTUFDNUJDLFNBQVMsRUFHVixHQUo2QjtJQUs1QiwrRUFBK0U7SUFDL0UsSUFBSSxLQUE2QixFQUFFLEVBRWxDO0lBRUQsTUFBTUUsWUFBWUMsMEJBQUFBLGdCQUFnQixDQUFDQyxRQUFRO0lBQzNDLElBQUlGLGNBQWNHLFdBQVc7UUFDM0IsT0FBTztJQUNUO0lBRUEsTUFBTUMsV0FBVyxFQUFFO0lBRW5CLDRFQUE0RTtJQUM1RSxrREFBa0Q7SUFDbEQsSUFBSUosVUFBVUsscUJBQXFCLElBQUlQLFdBQVc7UUFDaEQsTUFBTVEsV0FBV04sVUFBVUsscUJBQXFCO1FBQ2hELEtBQUssTUFBTUUsT0FBT1QsVUFBVztZQUMzQixJQUFJLENBQUNRLFFBQVEsQ0FBQ0MsSUFBSSxFQUFFO1lBQ3BCLE1BQU1DLFNBQVNGLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDRSxLQUFLO1lBQ2xDTCxTQUFTTSxJQUFJLElBQUlGO1FBQ25CO0lBQ0Y7SUFFQSxJQUFJSixTQUFTTyxNQUFNLEtBQUssR0FBRztRQUN6QixPQUFPO0lBQ1Q7SUFFQSxxQkFDRTtrQkFDR1AsU0FBU1EsR0FBRyxDQUFDLENBQUNDO1lBQ2IsTUFBTUMsT0FBVWQsVUFBVWUsV0FBVyxHQUFDLFlBQVNDLENBQUFBLEdBQUFBLGVBQUFBLGFBQUFBLEVBQWNIO1lBQzdELE1BQU1JLFFBQVFKLE1BQU1LLFFBQVEsQ0FBQztZQUM3Qix3RUFBd0U7WUFDeEUsMElBQTBJO1lBQzFJLGdEQUFnRDtZQUNoRCxJQUFJRCxPQUFPO2dCQUNULE9BQ0UsV0FERixHQUNFLHFCQUFDRSxRQUFBQTtvQkFFQyxhQUFhO29CQUNiQyxZQUFXO29CQUNYTixNQUFNQTtvQkFDTk8sS0FBSTtvQkFDSkMsSUFBRzttQkFMRVQ7WUFRWCxPQUFPO2dCQUNMLGtFQUFrRTtnQkFDbEVVLENBQUFBLEdBQUFBLFVBQUFBLE9BQUFBLEVBQVFULE1BQU07b0JBQ1pRLElBQUk7b0JBQ0pFLGVBQWU7Z0JBQ2pCO2dCQUNBLE9BQU87WUFDVDtRQUNGOztBQUdOIiwic291cmNlcyI6WyJFOlxcc3JjXFxzaGFyZWRcXGxpYlxcbGF6eS1keW5hbWljXFxwcmVsb2FkLWNodW5rcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IHByZWxvYWQgfSBmcm9tICdyZWFjdC1kb20nXG5cbmltcG9ydCB7IHdvcmtBc3luY1N0b3JhZ2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci93b3JrLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWwnXG5pbXBvcnQgeyBlbmNvZGVVUklQYXRoIH0gZnJvbSAnLi4vZW5jb2RlLXVyaS1wYXRoJ1xuXG5leHBvcnQgZnVuY3Rpb24gUHJlbG9hZENodW5rcyh7XG4gIG1vZHVsZUlkcyxcbn06IHtcbiAgbW9kdWxlSWRzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZFxufSkge1xuICAvLyBFYXJseSByZXR1cm4gaW4gY2xpZW50IGNvbXBpbGF0aW9uIGFuZCBvbmx5IGxvYWQgcmVxdWVzdFN0b3JlIG9uIHNlcnZlciBzaWRlXG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBjb25zdCB3b3JrU3RvcmUgPSB3b3JrQXN5bmNTdG9yYWdlLmdldFN0b3JlKClcbiAgaWYgKHdvcmtTdG9yZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGNvbnN0IGFsbEZpbGVzID0gW11cblxuICAvLyBTZWFyY2ggdGhlIGN1cnJlbnQgZHluYW1pYyBjYWxsIHVuaXF1ZSBrZXkgaWQgaW4gcmVhY3QgbG9hZGFibGUgbWFuaWZlc3QsXG4gIC8vIGFuZCBmaW5kIHRoZSBjb3JyZXNwb25kaW5nIENTUyBmaWxlcyB0byBwcmVsb2FkXG4gIGlmICh3b3JrU3RvcmUucmVhY3RMb2FkYWJsZU1hbmlmZXN0ICYmIG1vZHVsZUlkcykge1xuICAgIGNvbnN0IG1hbmlmZXN0ID0gd29ya1N0b3JlLnJlYWN0TG9hZGFibGVNYW5pZmVzdFxuICAgIGZvciAoY29uc3Qga2V5IG9mIG1vZHVsZUlkcykge1xuICAgICAgaWYgKCFtYW5pZmVzdFtrZXldKSBjb250aW51ZVxuICAgICAgY29uc3QgY2h1bmtzID0gbWFuaWZlc3Rba2V5XS5maWxlc1xuICAgICAgYWxsRmlsZXMucHVzaCguLi5jaHVua3MpXG4gICAgfVxuICB9XG5cbiAgaWYgKGFsbEZpbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7YWxsRmlsZXMubWFwKChjaHVuaykgPT4ge1xuICAgICAgICBjb25zdCBocmVmID0gYCR7d29ya1N0b3JlLmFzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSVBhdGgoY2h1bmspfWBcbiAgICAgICAgY29uc3QgaXNDc3MgPSBjaHVuay5lbmRzV2l0aCgnLmNzcycpXG4gICAgICAgIC8vIElmIGl0J3Mgc3R5bGVzaGVldCB3ZSB1c2UgYHByZWNlZGVuY2VgIG8gaGVscCBob2lzdCB3aXRoIFJlYWN0IEZsb2F0LlxuICAgICAgICAvLyBGb3Igc3R5bGVzaGVldHMgd2UgYWN0dWFsbHkgbmVlZCB0byByZW5kZXIgdGhlIENTUyBiZWNhdXNlIG5vdGhpbmcgZWxzZSBpcyBnb2luZyB0byBkbyBpdCBzbyBpdCBuZWVkcyB0byBiZSBwYXJ0IG9mIHRoZSBjb21wb25lbnQgdHJlZS5cbiAgICAgICAgLy8gVGhlIGBwcmVsb2FkYCBmb3Igc3R5bGVzaGVldCBpcyBub3Qgb3B0aW9uYWwuXG4gICAgICAgIGlmIChpc0Nzcykge1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8bGlua1xuICAgICAgICAgICAgICBrZXk9e2NodW5rfVxuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIHByZWNlZGVuY2U9XCJkeW5hbWljXCJcbiAgICAgICAgICAgICAgaHJlZj17aHJlZn1cbiAgICAgICAgICAgICAgcmVsPVwic3R5bGVzaGVldFwiXG4gICAgICAgICAgICAgIGFzPVwic3R5bGVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gSWYgaXQncyBzY3JpcHQgd2UgdXNlIFJlYWN0RE9NLnByZWxvYWQgdG8gcHJlbG9hZCB0aGUgcmVzb3VyY2VzXG4gICAgICAgICAgcHJlbG9hZChocmVmLCB7XG4gICAgICAgICAgICBhczogJ3NjcmlwdCcsXG4gICAgICAgICAgICBmZXRjaFByaW9yaXR5OiAnbG93JyxcbiAgICAgICAgICB9KVxuICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH1cbiAgICAgIH0pfVxuICAgIDwvPlxuICApXG59XG4iXSwibmFtZXMiOlsiUHJlbG9hZENodW5rcyIsIm1vZHVsZUlkcyIsIndpbmRvdyIsIndvcmtTdG9yZSIsIndvcmtBc3luY1N0b3JhZ2UiLCJnZXRTdG9yZSIsInVuZGVmaW5lZCIsImFsbEZpbGVzIiwicmVhY3RMb2FkYWJsZU1hbmlmZXN0IiwibWFuaWZlc3QiLCJrZXkiLCJjaHVua3MiLCJmaWxlcyIsInB1c2giLCJsZW5ndGgiLCJtYXAiLCJjaHVuayIsImhyZWYiLCJhc3NldFByZWZpeCIsImVuY29kZVVSSVBhdGgiLCJpc0NzcyIsImVuZHNXaXRoIiwibGluayIsInByZWNlZGVuY2UiLCJyZWwiLCJhcyIsInByZWxvYWQiLCJmZXRjaFByaW9yaXR5Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/preload-chunks.js\n"); + +/***/ }), + /***/ "(ssr)/./node_modules/next/dist/shared/lib/magic-identifier.js": /*!***************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/magic-identifier.js ***! diff --git a/.next/server/webpack-runtime.js b/.next/server/webpack-runtime.js index ed44760..0bb1ac4 100644 --- a/.next/server/webpack-runtime.js +++ b/.next/server/webpack-runtime.js @@ -125,7 +125,7 @@ /******/ /******/ /* webpack/runtime/getFullHash */ /******/ (() => { -/******/ __webpack_require__.h = () => ("b48147213a7bf0cb") +/******/ __webpack_require__.h = () => ("3612334a2cb8203b") /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ diff --git a/.next/static/chunks/webpack.js b/.next/static/chunks/webpack.js index 3bc8570..3be13c1 100644 --- a/.next/static/chunks/webpack.js +++ b/.next/static/chunks/webpack.js @@ -190,7 +190,7 @@ /******/ /******/ /* webpack/runtime/getFullHash */ /******/ (() => { -/******/ __webpack_require__.h = () => ("2bb3c7fe29bff704") +/******/ __webpack_require__.h = () => ("ec3841d07df1130c") /******/ })(); /******/ /******/ /* webpack/runtime/global */ diff --git a/.next/trace b/.next/trace index 911fdd5..ac20135 100644 --- a/.next/trace +++ b/.next/trace @@ -12,3 +12,5 @@ [{"name":"build-module-mjs","duration":32513,"timestamp":121776207800,"id":1038,"parentId":921,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\react-roving-focus\\dist\\index.mjs","layer":"app-pages-browser"},"startTime":1772829277916,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":21282,"timestamp":121776219437,"id":1044,"parentId":1003,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\icons\\CollapseIcon.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":21838,"timestamp":121776219383,"id":1042,"parentId":1004,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\shared\\lib\\magic-identifier.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":22220,"timestamp":121776219459,"id":1045,"parentId":993,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\Overlay\\Overlay.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":22942,"timestamp":121776219414,"id":1043,"parentId":1001,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\helpers\\stack-frame.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":23355,"timestamp":121776219502,"id":1047,"parentId":992,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\Dialog\\Dialog.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":23687,"timestamp":121776219523,"id":1048,"parentId":992,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\Dialog\\DialogBody.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":23982,"timestamp":121776219564,"id":1050,"parentId":992,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\Dialog\\DialogHeader.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":24307,"timestamp":121776219584,"id":1051,"parentId":992,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\Dialog\\styles.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":25018,"timestamp":121776219480,"id":1046,"parentId":994,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\Terminal\\Terminal.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":40137,"timestamp":121776219605,"id":1052,"parentId":995,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\VersionStalenessInfo\\styles.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":40538,"timestamp":121776219648,"id":1054,"parentId":996,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\Toast\\styles.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":41053,"timestamp":121776219543,"id":1049,"parentId":992,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\Dialog\\DialogContent.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":41298,"timestamp":121776219668,"id":1055,"parentId":996,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\Toast\\Toast.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":41879,"timestamp":121776219627,"id":1053,"parentId":995,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\VersionStalenessInfo\\VersionStalenessInfo.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":42102,"timestamp":121776219728,"id":1058,"parentId":997,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\CodeFrame\\index.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":42625,"timestamp":121776219687,"id":1056,"parentId":997,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\container\\RuntimeError\\CallStackFrame.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":43251,"timestamp":121776219707,"id":1057,"parentId":1005,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\LeftRightDialogHeader\\LeftRightDialogHeader.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":43403,"timestamp":121776220019,"id":1066,"parentId":947,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\reducers\\server-patch-reducer.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":43909,"timestamp":121776220041,"id":1067,"parentId":949,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\apply-flight-data.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":44275,"timestamp":121776220094,"id":1068,"parentId":947,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\reducers\\restore-reducer.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":44817,"timestamp":121776220114,"id":1069,"parentId":947,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\reducers\\refresh-reducer.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":46071,"timestamp":121776219995,"id":1065,"parentId":947,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\reducers\\navigate-reducer.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":46419,"timestamp":121776220135,"id":1070,"parentId":947,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\reducers\\prefetch-reducer.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":46934,"timestamp":121776220155,"id":1071,"parentId":947,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\reducers\\hmr-refresh-reducer.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":47986,"timestamp":121776220184,"id":1072,"parentId":947,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\reducers\\server-action-reducer.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":69952,"timestamp":121776207844,"id":1039,"parentId":981,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\helpers\\null.js","layer":"app-pages-browser"},"startTime":1772829277916,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2478,"timestamp":121776280099,"id":1073,"parentId":1014,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\helpers\\AxiosURLSearchParams.js","layer":"app-pages-browser"},"startTime":1772829277988,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2600,"timestamp":121776280208,"id":1074,"parentId":1016,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\core\\transformData.js","layer":"app-pages-browser"},"startTime":1772829277988,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2682,"timestamp":121776280266,"id":1075,"parentId":1017,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\helpers\\isAbsoluteURL.js","layer":"app-pages-browser"},"startTime":1772829277988,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2745,"timestamp":121776280314,"id":1076,"parentId":1017,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\helpers\\combineURLs.js","layer":"app-pages-browser"},"startTime":1772829277988,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2851,"timestamp":121776280359,"id":1077,"parentId":1023,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\core\\settle.js","layer":"app-pages-browser"},"startTime":1772829277988,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2912,"timestamp":121776280403,"id":1078,"parentId":1023,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\helpers\\parseProtocol.js","layer":"app-pages-browser"},"startTime":1772829277989,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3120,"timestamp":121776280446,"id":1079,"parentId":1023,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\helpers\\progressEventReducer.js","layer":"app-pages-browser"},"startTime":1772829277989,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":64717,"timestamp":121776219899,"id":1062,"parentId":893,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\compiled\\react-dom\\cjs\\react-dom.development.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":65782,"timestamp":121776219944,"id":1064,"parentId":889,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\compiled\\react-refresh\\cjs\\react-refresh-runtime.development.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":857886,"timestamp":121775428418,"id":711,"parentId":710,"tags":{"request":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\compiled\\@next\\react-refresh-utils\\dist\\runtime.js"},"startTime":1772829277137,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module","duration":30,"timestamp":121776288220,"id":1085,"parentId":761,"tags":{},"startTime":1772829277996,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2909,"timestamp":121776287939,"id":1080,"parentId":1023,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\helpers\\resolveConfig.js","layer":"app-pages-browser"},"startTime":1772829277996,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3173,"timestamp":121776288031,"id":1081,"parentId":1024,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\helpers\\composeSignals.js","layer":"app-pages-browser"},"startTime":1772829277996,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3477,"timestamp":121776288083,"id":1082,"parentId":1024,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\helpers\\trackStream.js","layer":"app-pages-browser"},"startTime":1772829277996,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3612,"timestamp":121776288127,"id":1083,"parentId":1021,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\platform\\common\\utils.js","layer":"app-pages-browser"},"startTime":1772829277996,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3524,"timestamp":121776288379,"id":1090,"parentId":1061,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-remove-scroll\\dist\\es2015\\Combination.js","layer":"app-pages-browser"},"startTime":1772829277997,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3710,"timestamp":121776288426,"id":1091,"parentId":998,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\server\\app-render\\async-local-storage.js","layer":"app-pages-browser"},"startTime":1772829277997,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":4477,"timestamp":121776288631,"id":1099,"parentId":1046,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\compiled\\anser\\index.js","layer":"app-pages-browser"},"startTime":1772829277997,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":127536,"timestamp":121776219929,"id":1063,"parentId":894,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\compiled\\react-dom\\cjs\\react-dom-client.development.js","layer":"app-pages-browser"},"startTime":1772829277928,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":60514,"timestamp":121776288352,"id":1089,"parentId":1040,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\lucide-react\\dist\\esm\\defaultAttributes.js","layer":"app-pages-browser"},"startTime":1772829277996,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":61033,"timestamp":121776288259,"id":1086,"parentId":1007,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\segment-cache\\cache-key.js","layer":"app-pages-browser"},"startTime":1772829277996,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":61279,"timestamp":121776288474,"id":1092,"parentId":1043,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\helpers\\webpack-module-path.js","layer":"app-pages-browser"},"startTime":1772829277997,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":61689,"timestamp":121776288499,"id":1093,"parentId":1047,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\hooks\\use-on-click-outside.js","layer":"app-pages-browser"},"startTime":1772829277997,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":62091,"timestamp":121776288547,"id":1095,"parentId":1045,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\Overlay\\body-locker.js","layer":"app-pages-browser"},"startTime":1772829277997,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":63692,"timestamp":121776288294,"id":1087,"parentId":1007,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\segment-cache\\scheduler.js","layer":"app-pages-browser"},"startTime":1772829277996,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":64026,"timestamp":121776288569,"id":1096,"parentId":1056,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\helpers\\use-open-in-editor.js","layer":"app-pages-browser"},"startTime":1772829277997,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":64471,"timestamp":121776288590,"id":1097,"parentId":1046,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\Terminal\\EditorLink.js","layer":"app-pages-browser"},"startTime":1772829277997,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":65133,"timestamp":121776288611,"id":1098,"parentId":1058,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\CodeFrame\\CodeFrame.js","layer":"app-pages-browser"},"startTime":1772829277997,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-css","duration":670045,"timestamp":121775693322,"id":809,"parentId":760,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css.webpack[javascript/auto]!=!E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\build\\webpack\\loaders\\css-loader\\src\\index.js??ruleSet[1].rules[13].oneOf[10].use[2]!E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\build\\webpack\\loaders\\postcss-loader\\src\\index.js??ruleSet[1].rules[13].oneOf[10].use[3]!E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css","layer":null},"startTime":1772829277401,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":81830,"timestamp":121776288520,"id":1094,"parentId":1045,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\react-dev-overlay\\internal\\components\\Overlay\\maintain--tab-focus.js","layer":"app-pages-browser"},"startTime":1772829277997,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2159,"timestamp":121776371436,"id":1101,"parentId":1079,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\helpers\\speedometer.js","layer":"app-pages-browser"},"startTime":1772829278080,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2286,"timestamp":121776371538,"id":1102,"parentId":1079,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\helpers\\throttle.js","layer":"app-pages-browser"},"startTime":1772829278080,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":2759,"timestamp":121776371591,"id":1103,"parentId":1030,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\react-collection\\node_modules\\@radix-ui\\react-slot\\dist\\index.mjs","layer":"app-pages-browser"},"startTime":1772829278080,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-css","duration":876050,"timestamp":121775500111,"id":760,"parentId":716,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css","layer":"app-pages-browser"},"startTime":1772829277208,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":6578,"timestamp":121776371697,"id":1106,"parentId":1066,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\is-navigating-to-new-root-layout.js","layer":"app-pages-browser"},"startTime":1772829278080,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":7011,"timestamp":121776371718,"id":1107,"parentId":1066,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\handle-mutable.js","layer":"app-pages-browser"},"startTime":1772829278080,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":7596,"timestamp":121776371639,"id":1104,"parentId":1066,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\apply-router-state-patch-to-tree.js","layer":"app-pages-browser"},"startTime":1772829278080,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":8167,"timestamp":121776371671,"id":1105,"parentId":1067,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\fill-cache-with-new-subtree-data.js","layer":"app-pages-browser"},"startTime":1772829278080,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":8427,"timestamp":121776371760,"id":1109,"parentId":1069,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\handle-segment-mismatch.js","layer":"app-pages-browser"},"startTime":1772829278080,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":9990,"timestamp":121776371740,"id":1108,"parentId":1068,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\ppr-navigations.js","layer":"app-pages-browser"},"startTime":1772829278080,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2444,"timestamp":121776383422,"id":1110,"parentId":1080,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\helpers\\isURLSameOrigin.js","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2633,"timestamp":121776383523,"id":1111,"parentId":1080,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\helpers\\cookies.js","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2882,"timestamp":121776383578,"id":1112,"parentId":1090,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-remove-scroll\\dist\\es2015\\UI.js","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2952,"timestamp":121776383625,"id":1113,"parentId":1090,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-remove-scroll\\dist\\es2015\\sidecar.js","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":3068,"timestamp":121776383670,"id":1114,"parentId":1032,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\react-use-escape-keydown\\dist\\index.mjs","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":3804,"timestamp":121776383714,"id":1115,"parentId":1035,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@floating-ui\\react-dom\\dist\\floating-ui.react-dom.mjs","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":3976,"timestamp":121776383758,"id":1116,"parentId":1035,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\react-arrow\\dist\\index.mjs","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":4144,"timestamp":121776383803,"id":1117,"parentId":1035,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\react-use-size\\dist\\index.mjs","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":104578,"timestamp":121776288318,"id":1088,"parentId":956,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\compiled\\react-server-dom-webpack\\cjs\\react-server-dom-webpack-client.browser.development.js","layer":"app-pages-browser"},"startTime":1772829277996,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":104446,"timestamp":121776288676,"id":1100,"parentId":1021,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\platform\\browser\\index.js","layer":"app-pages-browser"},"startTime":1772829277997,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":105590,"timestamp":121776288171,"id":1084,"parentId":742,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\compiled\\mini-css-extract-plugin\\hmr\\hotModuleReplacement.js","layer":"app-pages-browser"},"startTime":1772829277996,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":10561,"timestamp":121776383846,"id":1118,"parentId":1072,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\assign-location.js","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":11067,"timestamp":121776383924,"id":1121,"parentId":1065,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\clear-cache-node-data-for-segment-path.js","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":11578,"timestamp":121776383902,"id":1120,"parentId":1065,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\invalidate-cache-below-flight-segmentpath.js","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":12341,"timestamp":121776383879,"id":1119,"parentId":1070,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\promise-queue.js","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":15136,"timestamp":121776383965,"id":1123,"parentId":1072,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\reducers\\server-reference-info.js","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":15542,"timestamp":121776384012,"id":1125,"parentId":1065,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\should-hard-navigate.js","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":16777,"timestamp":121776383945,"id":1122,"parentId":1065,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\segment-cache\\navigation.js","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":17428,"timestamp":121776383985,"id":1124,"parentId":1065,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\aliased-prefetch-navigations.js","layer":"app-pages-browser"},"startTime":1772829278092,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":6931,"timestamp":121776403702,"id":1126,"parentId":1094,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\compiled\\platform\\platform.js","layer":"app-pages-browser"},"startTime":1772829278112,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":7127,"timestamp":121776403828,"id":1127,"parentId":1094,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\compiled\\css.escape\\css.escape.js","layer":"app-pages-browser"},"startTime":1772829278112,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":9791,"timestamp":121776403895,"id":1128,"parentId":1090,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\tslib\\tslib.es6.mjs","layer":"app-pages-browser"},"startTime":1772829278112,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module","duration":44,"timestamp":121776414602,"id":1129,"parentId":760,"tags":{},"startTime":1772829278123,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":690,"timestamp":121776415724,"id":1131,"parentId":1112,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-remove-scroll\\dist\\es2015\\medium.js","layer":"app-pages-browser"},"startTime":1772829278124,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1257,"timestamp":121776415815,"id":1132,"parentId":1113,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-remove-scroll\\dist\\es2015\\SideEffect.js","layer":"app-pages-browser"},"startTime":1772829278124,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1324,"timestamp":121776415876,"id":1133,"parentId":1112,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-remove-scroll-bar\\dist\\es2015\\constants.js","layer":"app-pages-browser"},"startTime":1772829278124,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1399,"timestamp":121776415930,"id":1134,"parentId":1112,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-callback-ref\\dist\\es2015\\index.js","layer":"app-pages-browser"},"startTime":1772829278124,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1439,"timestamp":121776415978,"id":1135,"parentId":1113,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-sidecar\\dist\\es2015\\index.js","layer":"app-pages-browser"},"startTime":1772829278124,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":4781,"timestamp":121776418676,"id":1136,"parentId":1115,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@floating-ui\\dom\\dist\\floating-ui.dom.mjs","layer":"app-pages-browser"},"startTime":1772829278127,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":10307,"timestamp":121776414657,"id":1130,"parentId":1087,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\segment-cache\\cache.js","layer":"app-pages-browser"},"startTime":1772829278123,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":7247,"timestamp":121776418765,"id":1137,"parentId":1105,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\router-reducer\\invalidate-cache-by-router-state.js","layer":"app-pages-browser"},"startTime":1772829278127,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1727,"timestamp":121776429078,"id":1138,"parentId":1132,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-remove-scroll\\dist\\es2015\\aggresiveCapture.js","layer":"app-pages-browser"},"startTime":1772829278137,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1987,"timestamp":121776429177,"id":1139,"parentId":1132,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-remove-scroll\\dist\\es2015\\handleScroll.js","layer":"app-pages-browser"},"startTime":1772829278137,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2043,"timestamp":121776429237,"id":1140,"parentId":1134,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-callback-ref\\dist\\es2015\\assignRef.js","layer":"app-pages-browser"},"startTime":1772829278137,"traceId":"5a7a2bf6a34f6474"}] [{"name":"build-module-js","duration":2327,"timestamp":121776429286,"id":1141,"parentId":1134,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-callback-ref\\dist\\es2015\\useRef.js","layer":"app-pages-browser"},"startTime":1772829278137,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2450,"timestamp":121776429335,"id":1142,"parentId":1134,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-callback-ref\\dist\\es2015\\createRef.js","layer":"app-pages-browser"},"startTime":1772829278137,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2531,"timestamp":121776429379,"id":1143,"parentId":1134,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-callback-ref\\dist\\es2015\\mergeRef.js","layer":"app-pages-browser"},"startTime":1772829278138,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2691,"timestamp":121776429422,"id":1144,"parentId":1134,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-callback-ref\\dist\\es2015\\useMergeRef.js","layer":"app-pages-browser"},"startTime":1772829278138,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2775,"timestamp":121776429467,"id":1145,"parentId":1134,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-callback-ref\\dist\\es2015\\useTransformRef.js","layer":"app-pages-browser"},"startTime":1772829278138,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2836,"timestamp":121776429511,"id":1146,"parentId":1134,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-callback-ref\\dist\\es2015\\transformRef.js","layer":"app-pages-browser"},"startTime":1772829278138,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2938,"timestamp":121776429555,"id":1147,"parentId":1134,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-callback-ref\\dist\\es2015\\refToCallback.js","layer":"app-pages-browser"},"startTime":1772829278138,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3033,"timestamp":121776429600,"id":1148,"parentId":1135,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-sidecar\\dist\\es2015\\hoc.js","layer":"app-pages-browser"},"startTime":1772829278138,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3213,"timestamp":121776429644,"id":1149,"parentId":1135,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-sidecar\\dist\\es2015\\hook.js","layer":"app-pages-browser"},"startTime":1772829278138,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3267,"timestamp":121776429687,"id":1150,"parentId":1135,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-sidecar\\dist\\es2015\\config.js","layer":"app-pages-browser"},"startTime":1772829278138,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3465,"timestamp":121776429730,"id":1151,"parentId":1135,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-sidecar\\dist\\es2015\\medium.js","layer":"app-pages-browser"},"startTime":1772829278138,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3651,"timestamp":121776429774,"id":1152,"parentId":1135,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-sidecar\\dist\\es2015\\renderProp.js","layer":"app-pages-browser"},"startTime":1772829278138,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3741,"timestamp":121776429818,"id":1153,"parentId":1135,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-sidecar\\dist\\es2015\\exports.js","layer":"app-pages-browser"},"startTime":1772829278138,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1760,"timestamp":121776435462,"id":1157,"parentId":1132,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-remove-scroll-bar\\dist\\es2015\\index.js","layer":"app-pages-browser"},"startTime":1772829278144,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1783,"timestamp":121776435548,"id":1158,"parentId":1132,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-style-singleton\\dist\\es2015\\index.js","layer":"app-pages-browser"},"startTime":1772829278144,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":1828,"timestamp":121776438493,"id":1159,"parentId":1136,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@floating-ui\\utils\\dist\\floating-ui.utils.dom.mjs","layer":"app-pages-browser"},"startTime":1772829278147,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":4838,"timestamp":121776438590,"id":1160,"parentId":1136,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@floating-ui\\core\\dist\\floating-ui.core.mjs","layer":"app-pages-browser"},"startTime":1772829278147,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":5282,"timestamp":121776438647,"id":1161,"parentId":1136,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@floating-ui\\utils\\dist\\floating-ui.utils.mjs","layer":"app-pages-browser"},"startTime":1772829278147,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":901,"timestamp":121776444643,"id":1162,"parentId":1149,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\use-sidecar\\dist\\es2015\\env.js","layer":"app-pages-browser"},"startTime":1772829278153,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":16376,"timestamp":121776429867,"id":1154,"parentId":1100,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\platform\\browser\\classes\\URLSearchParams.js","layer":"app-pages-browser"},"startTime":1772829278138,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":16475,"timestamp":121776429916,"id":1155,"parentId":1100,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\platform\\browser\\classes\\FormData.js","layer":"app-pages-browser"},"startTime":1772829278138,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":16566,"timestamp":121776429961,"id":1156,"parentId":1100,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\axios\\lib\\platform\\browser\\classes\\Blob.js","layer":"app-pages-browser"},"startTime":1772829278138,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1345,"timestamp":121776446642,"id":1168,"parentId":1157,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-remove-scroll-bar\\dist\\es2015\\component.js","layer":"app-pages-browser"},"startTime":1772829278155,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1460,"timestamp":121776446728,"id":1169,"parentId":1157,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-remove-scroll-bar\\dist\\es2015\\utils.js","layer":"app-pages-browser"},"startTime":1772829278155,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1519,"timestamp":121776446790,"id":1170,"parentId":1158,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-style-singleton\\dist\\es2015\\component.js","layer":"app-pages-browser"},"startTime":1772829278155,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1648,"timestamp":121776446840,"id":1171,"parentId":1158,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-style-singleton\\dist\\es2015\\singleton.js","layer":"app-pages-browser"},"startTime":1772829278155,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1724,"timestamp":121776446884,"id":1172,"parentId":1158,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-style-singleton\\dist\\es2015\\hook.js","layer":"app-pages-browser"},"startTime":1772829278155,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":4927,"timestamp":121776444926,"id":1167,"parentId":1130,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\segment-cache\\lru.js","layer":"app-pages-browser"},"startTime":1772829278153,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5524,"timestamp":121776444894,"id":1166,"parentId":1130,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\client\\components\\segment-cache\\tuple-map.js","layer":"app-pages-browser"},"startTime":1772829278153,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":8311,"timestamp":121776444732,"id":1163,"parentId":1030,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@swc\\helpers\\esm\\_class_private_field_get.js","layer":"app-pages-browser"},"startTime":1772829278153,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":8491,"timestamp":121776444798,"id":1164,"parentId":1030,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@swc\\helpers\\esm\\_class_private_field_init.js","layer":"app-pages-browser"},"startTime":1772829278153,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":8609,"timestamp":121776444848,"id":1165,"parentId":1030,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@swc\\helpers\\esm\\_class_private_field_set.js","layer":"app-pages-browser"},"startTime":1772829278153,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":7808,"timestamp":121776446930,"id":1173,"parentId":775,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\build\\polyfills\\process.js","layer":"app-pages-browser"},"startTime":1772829278155,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":432,"timestamp":121776454967,"id":1175,"parentId":1171,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\get-nonce\\dist\\es2015\\index.js","layer":"app-pages-browser"},"startTime":1772829278163,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3384,"timestamp":121776454878,"id":1174,"parentId":1162,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\detect-node-es\\esm\\browser.js","layer":"app-pages-browser"},"startTime":1772829278163,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2023,"timestamp":121776456488,"id":1177,"parentId":1063,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\compiled\\scheduler\\index.js","layer":"app-pages-browser"},"startTime":1772829278165,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5611,"timestamp":121776456405,"id":1176,"parentId":976,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\compiled\\buffer\\index.js","layer":"app-pages-browser"},"startTime":1772829278165,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5115,"timestamp":121776457553,"id":1178,"parentId":1119,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@swc\\helpers\\esm\\_class_private_field_loose_key.js","layer":"app-pages-browser"},"startTime":1772829278166,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5213,"timestamp":121776457640,"id":1179,"parentId":1119,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@swc\\helpers\\esm\\_class_private_field_loose_base.js","layer":"app-pages-browser"},"startTime":1772829278166,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5259,"timestamp":121776457744,"id":1181,"parentId":1163,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@swc\\helpers\\esm\\_class_extract_field_descriptor.js","layer":"app-pages-browser"},"startTime":1772829278166,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5320,"timestamp":121776457835,"id":1183,"parentId":1165,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@swc\\helpers\\esm\\_class_apply_descriptor_set.js","layer":"app-pages-browser"},"startTime":1772829278166,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5576,"timestamp":121776457698,"id":1180,"parentId":1163,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@swc\\helpers\\esm\\_class_apply_descriptor_get.js","layer":"app-pages-browser"},"startTime":1772829278166,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5603,"timestamp":121776457790,"id":1182,"parentId":1164,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@swc\\helpers\\esm\\_check_private_redeclaration.js","layer":"app-pages-browser"},"startTime":1772829278166,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1237,"timestamp":121776464149,"id":1184,"parentId":1177,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\compiled\\scheduler\\cjs\\scheduler.development.js","layer":"app-pages-browser"},"startTime":1772829278172,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":680,"timestamp":121776465768,"id":1185,"parentId":1173,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\compiled\\process\\browser.js","layer":"app-pages-browser"},"startTime":1772829278174,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":1038038,"timestamp":121775428502,"id":712,"parentId":710,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1772829277137,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":1037917,"timestamp":121775428640,"id":715,"parentId":710,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1772829277137,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":1037983,"timestamp":121775428579,"id":713,"parentId":710,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1772829277137,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":1037936,"timestamp":121775428629,"id":714,"parentId":710,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Coffers%5C%5C%5Bid%5D%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1772829277137,"traceId":"5a7a2bf6a34f6474"},{"name":"make","duration":1043900,"timestamp":121775422680,"id":710,"parentId":709,"tags":{},"startTime":1772829277131,"traceId":"5a7a2bf6a34f6474"},{"name":"chunk-graph","duration":3553,"timestamp":121776475065,"id":1187,"parentId":1186,"tags":{},"startTime":1772829278183,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-modules","duration":6,"timestamp":121776478648,"id":1189,"parentId":1186,"tags":{},"startTime":1772829278187,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-chunks","duration":64,"timestamp":121776478667,"id":1190,"parentId":1186,"tags":{},"startTime":1772829278187,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-tree","duration":6,"timestamp":121776478749,"id":1191,"parentId":1186,"tags":{},"startTime":1772829278187,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-chunk-modules","duration":4,"timestamp":121776478769,"id":1192,"parentId":1186,"tags":{},"startTime":1772829278187,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize","duration":1093,"timestamp":121776478639,"id":1188,"parentId":1186,"tags":{},"startTime":1772829278187,"traceId":"5a7a2bf6a34f6474"},{"name":"module-hash","duration":5389,"timestamp":121776482445,"id":1193,"parentId":1186,"tags":{},"startTime":1772829278191,"traceId":"5a7a2bf6a34f6474"},{"name":"code-generation","duration":25960,"timestamp":121776487854,"id":1194,"parentId":1186,"tags":{},"startTime":1772829278196,"traceId":"5a7a2bf6a34f6474"},{"name":"hash","duration":10711,"timestamp":121776516047,"id":1195,"parentId":1186,"tags":{},"startTime":1772829278224,"traceId":"5a7a2bf6a34f6474"},{"name":"code-generation-jobs","duration":301,"timestamp":121776526757,"id":1196,"parentId":1186,"tags":{},"startTime":1772829278235,"traceId":"5a7a2bf6a34f6474"},{"name":"module-assets","duration":248,"timestamp":121776527043,"id":1197,"parentId":1186,"tags":{},"startTime":1772829278235,"traceId":"5a7a2bf6a34f6474"},{"name":"create-chunk-assets","duration":86904,"timestamp":121776527302,"id":1198,"parentId":1186,"tags":{},"startTime":1772829278235,"traceId":"5a7a2bf6a34f6474"},{"name":"NextJsBuildManifest-generateClientManifest","duration":76,"timestamp":121776615340,"id":1200,"parentId":709,"tags":{},"startTime":1772829278323,"traceId":"5a7a2bf6a34f6474"},{"name":"NextJsBuildManifest-createassets","duration":277,"timestamp":121776615146,"id":1199,"parentId":709,"tags":{},"startTime":1772829278323,"traceId":"5a7a2bf6a34f6474"},{"name":"seal","duration":145424,"timestamp":121776472566,"id":1186,"parentId":709,"tags":{},"startTime":1772829278181,"traceId":"5a7a2bf6a34f6474"},{"name":"webpack-compilation","duration":1195641,"timestamp":121775422387,"id":709,"parentId":263,"tags":{"name":"client"},"startTime":1772829277131,"traceId":"5a7a2bf6a34f6474"},{"name":"emit","duration":23063,"timestamp":121776618042,"id":1201,"parentId":263,"tags":{},"startTime":1772829278326,"traceId":"5a7a2bf6a34f6474"},{"name":"compile-path","duration":3205928,"timestamp":121773436137,"id":122,"tags":{"trigger":"/offers/[id]"},"startTime":1772829275144,"traceId":"5a7a2bf6a34f6474"},{"name":"webpack-invalidated-client","duration":2091728,"timestamp":121774550725,"id":263,"parentId":3,"tags":{"trigger":"manual"},"startTime":1772829276259,"traceId":"5a7a2bf6a34f6474"}] [{"name":"ensure-page","duration":795,"timestamp":121776648322,"id":1202,"parentId":3,"tags":{"inputPage":"/offers/[id]/page"},"startTime":1772829278356,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":6573,"timestamp":121776766850,"id":1206,"parentId":1205,"tags":{"request":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\compiled\\@next\\react-refresh-utils\\dist\\runtime.js"},"startTime":1772829278475,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":189957,"timestamp":121776766969,"id":1210,"parentId":1205,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1772829278475,"traceId":"5a7a2bf6a34f6474"},{"name":"postcss-process","duration":89304,"timestamp":121776957375,"id":1214,"parentId":1213,"tags":{},"startTime":1772829278666,"traceId":"5a7a2bf6a34f6474"},{"name":"postcss-loader","duration":89932,"timestamp":121776957214,"id":1213,"parentId":1212,"tags":{},"startTime":1772829278665,"traceId":"5a7a2bf6a34f6474"},{"name":"css-loader","duration":14805,"timestamp":121777047175,"id":1215,"parentId":1212,"tags":{"astUsed":"true"},"startTime":1772829278755,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-css","duration":284032,"timestamp":121776779134,"id":1212,"parentId":1211,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css.webpack[javascript/auto]!=!E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\build\\webpack\\loaders\\css-loader\\src\\index.js??ruleSet[1].rules[13].oneOf[10].use[2]!E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\build\\webpack\\loaders\\postcss-loader\\src\\index.js??ruleSet[1].rules[13].oneOf[10].use[3]!E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css","layer":null},"startTime":1772829278487,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":296588,"timestamp":121776766959,"id":1209,"parentId":1205,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Coffers%5C%5C%5Bid%5D%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1772829278475,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":297380,"timestamp":121776766902,"id":1207,"parentId":1205,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1772829278475,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-css","duration":295517,"timestamp":121776771160,"id":1211,"parentId":1204,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\globals.css","layer":"app-pages-browser"},"startTime":1772829278479,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module","duration":34,"timestamp":121777067255,"id":1216,"parentId":1211,"tags":{},"startTime":1772829278775,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":303609,"timestamp":121776766916,"id":1208,"parentId":1205,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1772829278475,"traceId":"5a7a2bf6a34f6474"},{"name":"make","duration":304042,"timestamp":121776766538,"id":1205,"parentId":1204,"tags":{},"startTime":1772829278475,"traceId":"5a7a2bf6a34f6474"},{"name":"chunk-graph","duration":1979,"timestamp":121777074045,"id":1218,"parentId":1217,"tags":{},"startTime":1772829278782,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-modules","duration":6,"timestamp":121777076051,"id":1220,"parentId":1217,"tags":{},"startTime":1772829278784,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-chunks","duration":95,"timestamp":121777076070,"id":1221,"parentId":1217,"tags":{},"startTime":1772829278784,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-tree","duration":7,"timestamp":121777076181,"id":1222,"parentId":1217,"tags":{},"startTime":1772829278784,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-chunk-modules","duration":6,"timestamp":121777076204,"id":1223,"parentId":1217,"tags":{},"startTime":1772829278784,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize","duration":1086,"timestamp":121777076042,"id":1219,"parentId":1217,"tags":{},"startTime":1772829278784,"traceId":"5a7a2bf6a34f6474"},{"name":"module-hash","duration":643,"timestamp":121777078443,"id":1224,"parentId":1217,"tags":{},"startTime":1772829278787,"traceId":"5a7a2bf6a34f6474"},{"name":"code-generation","duration":1561,"timestamp":121777079106,"id":1225,"parentId":1217,"tags":{},"startTime":1772829278787,"traceId":"5a7a2bf6a34f6474"},{"name":"hash","duration":4583,"timestamp":121777081986,"id":1226,"parentId":1217,"tags":{},"startTime":1772829278790,"traceId":"5a7a2bf6a34f6474"},{"name":"code-generation-jobs","duration":98,"timestamp":121777086568,"id":1227,"parentId":1217,"tags":{},"startTime":1772829278795,"traceId":"5a7a2bf6a34f6474"},{"name":"module-assets","duration":153,"timestamp":121777086657,"id":1228,"parentId":1217,"tags":{},"startTime":1772829278795,"traceId":"5a7a2bf6a34f6474"},{"name":"create-chunk-assets","duration":2610,"timestamp":121777086818,"id":1229,"parentId":1217,"tags":{},"startTime":1772829278795,"traceId":"5a7a2bf6a34f6474"},{"name":"NextJsBuildManifest-generateClientManifest","duration":68,"timestamp":121777090848,"id":1231,"parentId":1204,"tags":{},"startTime":1772829278799,"traceId":"5a7a2bf6a34f6474"},{"name":"NextJsBuildManifest-createassets","duration":177,"timestamp":121777090744,"id":1230,"parentId":1204,"tags":{},"startTime":1772829278799,"traceId":"5a7a2bf6a34f6474"},{"name":"seal","duration":20179,"timestamp":121777072446,"id":1217,"parentId":1204,"tags":{},"startTime":1772829278781,"traceId":"5a7a2bf6a34f6474"},{"name":"webpack-compilation","duration":326835,"timestamp":121776765858,"id":1204,"parentId":1203,"tags":{"name":"client"},"startTime":1772829278474,"traceId":"5a7a2bf6a34f6474"},{"name":"emit","duration":3497,"timestamp":121777092708,"id":1232,"parentId":1203,"tags":{},"startTime":1772829278801,"traceId":"5a7a2bf6a34f6474"},{"name":"webpack-invalidated-client","duration":333333,"timestamp":121776764083,"id":1203,"parentId":3,"tags":{"trigger":"manual"},"startTime":1772829278472,"traceId":"5a7a2bf6a34f6474"}] +[{"name":"handle-request","duration":3774464,"timestamp":121773429527,"id":119,"tags":{"url":"/offers/26d02020-eb80-4121-b079-73074c76e79c"},"startTime":1772829275138,"traceId":"5a7a2bf6a34f6474"},{"name":"memory-usage","duration":3,"timestamp":121777204039,"id":1233,"parentId":119,"tags":{"url":"/offers/26d02020-eb80-4121-b079-73074c76e79c","memory.rss":"623185920","memory.heapUsed":"289112616","memory.heapTotal":"344768512"},"startTime":1772829278912,"traceId":"5a7a2bf6a34f6474"},{"name":"client-success","duration":15,"timestamp":121777450557,"id":1234,"parentId":3,"tags":{},"startTime":1772829279159,"traceId":"5a7a2bf6a34f6474"},{"name":"ensure-page","duration":180,"timestamp":121785007699,"id":1235,"parentId":3,"tags":{"inputPage":"/offers/3883b6c1-cf36-42ed-9b56-2ca75d25d70d"},"startTime":1772829286716,"traceId":"5a7a2bf6a34f6474"},{"name":"ensure-page","duration":94,"timestamp":121785007900,"id":1236,"parentId":3,"tags":{"inputPage":"/offers/3883b6c1-cf36-42ed-9b56-2ca75d25d70d"},"startTime":1772829286716,"traceId":"5a7a2bf6a34f6474"},{"name":"ensure-page","duration":210,"timestamp":121785008342,"id":1237,"parentId":3,"tags":{"inputPage":"/offers/3883b6c1-cf36-42ed-9b56-2ca75d25d70d"},"startTime":1772829286716,"traceId":"5a7a2bf6a34f6474"},{"name":"ensure-page","duration":144,"timestamp":121785008566,"id":1238,"parentId":3,"tags":{"inputPage":"/offers/3883b6c1-cf36-42ed-9b56-2ca75d25d70d"},"startTime":1772829286717,"traceId":"5a7a2bf6a34f6474"},{"name":"ensure-page","duration":1533,"timestamp":121785010178,"id":1240,"parentId":3,"tags":{"inputPage":"/offers/[id]/page"},"startTime":1772829286718,"traceId":"5a7a2bf6a34f6474"},{"name":"ensure-page","duration":741,"timestamp":121785012373,"id":1241,"parentId":3,"tags":{"inputPage":"/offers/[id]/page"},"startTime":1772829286721,"traceId":"5a7a2bf6a34f6474"},{"name":"handle-request","duration":22148,"timestamp":121785009115,"id":1239,"tags":{"url":"/offers/3883b6c1-cf36-42ed-9b56-2ca75d25d70d"},"startTime":1772829286717,"traceId":"5a7a2bf6a34f6474"},{"name":"memory-usage","duration":2,"timestamp":121785031308,"id":1242,"parentId":1239,"tags":{"url":"/offers/3883b6c1-cf36-42ed-9b56-2ca75d25d70d","memory.rss":"663662592","memory.heapUsed":"277329760","memory.heapTotal":"348139520"},"startTime":1772829286739,"traceId":"5a7a2bf6a34f6474"},{"name":"client-success","duration":5,"timestamp":121785254794,"id":1243,"parentId":3,"tags":{},"startTime":1772829286963,"traceId":"5a7a2bf6a34f6474"},{"name":"client-success","duration":3,"timestamp":121785275905,"id":1244,"parentId":3,"tags":{},"startTime":1772829286984,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":43989,"timestamp":121862278100,"id":1252,"parentId":1250,"tags":{"request":"next-app-loader?name=app%2Foffers%2F%5Bid%5D%2Fpage&page=%2Foffers%2F%5Bid%5D%2Fpage&appPaths=%2Foffers%2F%5Bid%5D%2Fpage&pagePath=private-next-app-dir%2Foffers%2F%5Bid%5D%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1772829363986,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module","duration":20353,"timestamp":121862313110,"id":1253,"parentId":1251,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\build\\webpack\\loaders\\next-app-loader\\index.js?name=app%2Fsearch%2Fpage&page=%2Fsearch%2Fpage&appPaths=%2Fsearch%2Fpage&pagePath=private-next-app-dir%2Fsearch%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!","layer":"rsc"},"startTime":1772829364021,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-tsx","duration":1939,"timestamp":121862335226,"id":1254,"parentId":1253,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx","layer":"rsc"},"startTime":1772829364043,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":62892,"timestamp":121862278029,"id":1251,"parentId":1250,"tags":{"request":"next-app-loader?name=app%2Fsearch%2Fpage&page=%2Fsearch%2Fpage&appPaths=%2Fsearch%2Fpage&pagePath=private-next-app-dir%2Fsearch%2Fpage.tsx&appDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=E%3A%5CGIT%5Cmvp%5Cnashel-frontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=standalone&preferredRegion=&middlewareConfig=e30%3D!"},"startTime":1772829363986,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module","duration":276,"timestamp":121862355382,"id":1268,"parentId":1249,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\build\\webpack\\loaders\\next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Csearch%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!","layer":"ssr"},"startTime":1772829364064,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module","duration":155,"timestamp":121862355679,"id":1269,"parentId":1249,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\build\\webpack\\loaders\\next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Csearch%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!","layer":"rsc"},"startTime":1772829364064,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-tsx","duration":13165,"timestamp":121862357901,"id":1270,"parentId":1268,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx","layer":"ssr"},"startTime":1772829364066,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2679,"timestamp":121862375954,"id":1272,"parentId":1270,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\api\\app-dynamic.js","layer":"ssr"},"startTime":1772829364084,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5550,"timestamp":121862375872,"id":1271,"parentId":1270,"tags":{"name":"__barrel_optimize__?names=Filter,MapPin,Search,User!=!E:\\GIT\\mvp\\nashel-frontend\\node_modules\\lucide-react\\dist\\esm\\lucide-react.js","layer":"ssr"},"startTime":1772829364084,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1585,"timestamp":121862388490,"id":1273,"parentId":1271,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\lucide-react\\dist\\esm\\icons\\filter.js","layer":"ssr"},"startTime":1772829364097,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2703,"timestamp":121862389303,"id":1275,"parentId":1272,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\shared\\lib\\app-dynamic.js","layer":"ssr"},"startTime":1772829364098,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-tsx","duration":5998,"timestamp":121862388579,"id":1274,"parentId":1270,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\map\\LiveMap.tsx","layer":"ssr"},"startTime":1772829364097,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-tsx","duration":5451,"timestamp":121862390425,"id":1278,"parentId":1270,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\input.tsx","layer":"ssr"},"startTime":1772829364099,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-tsx","duration":5944,"timestamp":121862390360,"id":1277,"parentId":1270,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\checkbox.tsx","layer":"ssr"},"startTime":1772829364099,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-tsx","duration":7450,"timestamp":121862390263,"id":1276,"parentId":1270,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\select.tsx","layer":"ssr"},"startTime":1772829364099,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-ts","duration":4933,"timestamp":121862400916,"id":1279,"parentId":1270,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\shared\\api\\search.ts","layer":"ssr"},"startTime":1772829364109,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":4178,"timestamp":121862402629,"id":1281,"parentId":1276,"tags":{"name":"__barrel_optimize__?names=Check,ChevronDown,ChevronUp!=!E:\\GIT\\mvp\\nashel-frontend\\node_modules\\lucide-react\\dist\\esm\\lucide-react.js","layer":"ssr"},"startTime":1772829364111,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":4403,"timestamp":121862402517,"id":1280,"parentId":1277,"tags":{"name":"__barrel_optimize__?names=Check!=!E:\\GIT\\mvp\\nashel-frontend\\node_modules\\lucide-react\\dist\\esm\\lucide-react.js","layer":"ssr"},"startTime":1772829364111,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3882,"timestamp":121862408655,"id":1282,"parentId":1275,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\loadable.js","layer":"ssr"},"startTime":1772829364117,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1299,"timestamp":121862412787,"id":1284,"parentId":1281,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\lucide-react\\dist\\esm\\icons\\chevron-up.js","layer":"ssr"},"startTime":1772829364121,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1570,"timestamp":121862412712,"id":1283,"parentId":1281,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\lucide-react\\dist\\esm\\icons\\chevron-down.js","layer":"ssr"},"startTime":1772829364121,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1563,"timestamp":121862417082,"id":1285,"parentId":1282,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js","layer":"ssr"},"startTime":1772829364125,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2220,"timestamp":121862417155,"id":1286,"parentId":1282,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\preload-chunks.js","layer":"ssr"},"startTime":1772829364125,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-ts","duration":1256,"timestamp":121862421181,"id":1288,"parentId":1276,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\lib\\utils.ts","layer":"ssr"},"startTime":1772829364129,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":67267,"timestamp":121862421076,"id":1287,"parentId":1274,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\leaflet\\dist\\leaflet-src.js","layer":"ssr"},"startTime":1772829364129,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":66270,"timestamp":121862422571,"id":1289,"parentId":1286,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\shared\\lib\\encode-uri-path.js","layer":"ssr"},"startTime":1772829364131,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2177,"timestamp":121862488923,"id":1290,"parentId":1274,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\index.js","layer":"ssr"},"startTime":1772829364197,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3401,"timestamp":121862496995,"id":1293,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Circle.js","layer":"ssr"},"startTime":1772829364205,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3397,"timestamp":121862497250,"id":1297,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\AttributionControl.js","layer":"ssr"},"startTime":1772829364206,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3618,"timestamp":121862497341,"id":1299,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\ImageOverlay.js","layer":"ssr"},"startTime":1772829364206,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":4088,"timestamp":121862497151,"id":1295,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\hooks.js","layer":"ssr"},"startTime":1772829364205,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":4371,"timestamp":121862497097,"id":1294,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\CircleMarker.js","layer":"ssr"},"startTime":1772829364205,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":4478,"timestamp":121862497197,"id":1296,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\FeatureGroup.js","layer":"ssr"},"startTime":1772829364205,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":4673,"timestamp":121862497296,"id":1298,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\GeoJSON.js","layer":"ssr"},"startTime":1772829364206,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":12989,"timestamp":121862490469,"id":1292,"parentId":1277,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\react-checkbox\\dist\\index.mjs","layer":"ssr"},"startTime":1772829364199,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5777,"timestamp":121862498858,"id":1302,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\LayersControl.js","layer":"ssr"},"startTime":1772829364207,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":6030,"timestamp":121862498909,"id":1303,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Marker.js","layer":"ssr"},"startTime":1772829364207,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":6622,"timestamp":121862498710,"id":1300,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\MapContainer.js","layer":"ssr"},"startTime":1772829364207,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":6619,"timestamp":121862498955,"id":1304,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Polyline.js","layer":"ssr"},"startTime":1772829364207,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":7004,"timestamp":121862498799,"id":1301,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\LayerGroup.js","layer":"ssr"},"startTime":1772829364207,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":7163,"timestamp":121862499000,"id":1305,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Popup.js","layer":"ssr"},"startTime":1772829364207,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":7360,"timestamp":121862499045,"id":1306,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Rectangle.js","layer":"ssr"},"startTime":1772829364207,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":7494,"timestamp":121862499089,"id":1307,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\ScaleControl.js","layer":"ssr"},"startTime":1772829364207,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":8229,"timestamp":121862499133,"id":1308,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Pane.js","layer":"ssr"},"startTime":1772829364207,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":8457,"timestamp":121862499178,"id":1309,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Polygon.js","layer":"ssr"},"startTime":1772829364207,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":8777,"timestamp":121862499228,"id":1310,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\SVGOverlay.js","layer":"ssr"},"startTime":1772829364207,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":9000,"timestamp":121862499272,"id":1311,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\TileLayer.js","layer":"ssr"},"startTime":1772829364208,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":9275,"timestamp":121862499317,"id":1312,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Tooltip.js","layer":"ssr"},"startTime":1772829364208,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":9538,"timestamp":121862499361,"id":1313,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\VideoOverlay.js","layer":"ssr"},"startTime":1772829364208,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":9804,"timestamp":121862499405,"id":1314,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\WMSTileLayer.js","layer":"ssr"},"startTime":1772829364208,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":10032,"timestamp":121862499450,"id":1315,"parentId":1290,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\ZoomControl.js","layer":"ssr"},"startTime":1772829364208,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":25169,"timestamp":121862490372,"id":1291,"parentId":1276,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\react-select\\dist\\index.mjs","layer":"ssr"},"startTime":1772829364199,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":4341,"timestamp":121862539010,"id":1316,"parentId":1292,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\react-use-previous\\dist\\index.mjs","layer":"ssr"},"startTime":1772829364247,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2751,"timestamp":121862541552,"id":1317,"parentId":1293,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\index.js","layer":"ssr"},"startTime":1772829364250,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":6676,"timestamp":121862543806,"id":1318,"parentId":1291,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\react-select\\node_modules\\@radix-ui\\react-slot\\dist\\index.mjs","layer":"ssr"},"startTime":1772829364252,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":7355,"timestamp":121862545206,"id":1319,"parentId":1291,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\number\\dist\\index.mjs","layer":"ssr"},"startTime":1772829364253,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3796,"timestamp":121862549204,"id":1320,"parentId":1317,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\attribution.js","layer":"ssr"},"startTime":1772829364257,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":4052,"timestamp":121862549291,"id":1321,"parentId":1291,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\react-visually-hidden\\dist\\index.mjs","layer":"ssr"},"startTime":1772829364258,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3199,"timestamp":121862550595,"id":1322,"parentId":1317,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\circle.js","layer":"ssr"},"startTime":1772829364259,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3234,"timestamp":121862550794,"id":1325,"parentId":1317,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\div-overlay.js","layer":"ssr"},"startTime":1772829364259,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3467,"timestamp":121862550848,"id":1326,"parentId":1317,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\dom.js","layer":"ssr"},"startTime":1772829364259,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3681,"timestamp":121862550953,"id":1328,"parentId":1317,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\control.js","layer":"ssr"},"startTime":1772829364259,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":4316,"timestamp":121862550688,"id":1323,"parentId":1317,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\component.js","layer":"ssr"},"startTime":1772829364259,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5141,"timestamp":121862550905,"id":1327,"parentId":1317,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\element.js","layer":"ssr"},"startTime":1772829364259,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5281,"timestamp":121862551003,"id":1329,"parentId":1317,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\events.js","layer":"ssr"},"startTime":1772829364259,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5791,"timestamp":121862550745,"id":1324,"parentId":1317,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\context.js","layer":"ssr"},"startTime":1772829364259,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5583,"timestamp":121862551138,"id":1331,"parentId":1317,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\grid-layer.js","layer":"ssr"},"startTime":1772829364259,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5944,"timestamp":121862551086,"id":1330,"parentId":1317,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\generic.js","layer":"ssr"},"startTime":1772829364259,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":6118,"timestamp":121862551188,"id":1332,"parentId":1317,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\layer.js","layer":"ssr"},"startTime":1772829364259,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":6291,"timestamp":121862551276,"id":1334,"parentId":1317,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\path.js","layer":"ssr"},"startTime":1772829364260,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":6492,"timestamp":121862551233,"id":1333,"parentId":1317,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\pane.js","layer":"ssr"},"startTime":1772829364260,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":6596,"timestamp":121862551320,"id":1335,"parentId":1317,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\media-overlay.js","layer":"ssr"},"startTime":1772829364260,"traceId":"5a7a2bf6a34f6474"},{"name":"make","duration":287838,"timestamp":121862276508,"id":1250,"parentId":1249,"tags":{},"startTime":1772829363985,"traceId":"5a7a2bf6a34f6474"},{"name":"chunk-graph","duration":2836,"timestamp":121862575666,"id":1337,"parentId":1336,"tags":{},"startTime":1772829364284,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-modules","duration":8,"timestamp":121862578541,"id":1339,"parentId":1336,"tags":{},"startTime":1772829364287,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-chunks","duration":3695,"timestamp":121862578615,"id":1340,"parentId":1336,"tags":{},"startTime":1772829364287,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-tree","duration":12,"timestamp":121862582337,"id":1341,"parentId":1336,"tags":{},"startTime":1772829364291,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-chunk-modules","duration":8,"timestamp":121862582367,"id":1342,"parentId":1336,"tags":{},"startTime":1772829364291,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize","duration":4894,"timestamp":121862578531,"id":1338,"parentId":1336,"tags":{},"startTime":1772829364287,"traceId":"5a7a2bf6a34f6474"},{"name":"module-hash","duration":760,"timestamp":121862586902,"id":1343,"parentId":1336,"tags":{},"startTime":1772829364295,"traceId":"5a7a2bf6a34f6474"},{"name":"code-generation","duration":4517,"timestamp":121862587683,"id":1344,"parentId":1336,"tags":{},"startTime":1772829364296,"traceId":"5a7a2bf6a34f6474"},{"name":"hash","duration":2114,"timestamp":121862593580,"id":1345,"parentId":1336,"tags":{},"startTime":1772829364302,"traceId":"5a7a2bf6a34f6474"},{"name":"code-generation-jobs","duration":87,"timestamp":121862595694,"id":1346,"parentId":1336,"tags":{},"startTime":1772829364304,"traceId":"5a7a2bf6a34f6474"},{"name":"module-assets","duration":140,"timestamp":121862595766,"id":1347,"parentId":1336,"tags":{},"startTime":1772829364304,"traceId":"5a7a2bf6a34f6474"},{"name":"create-chunk-assets","duration":11464,"timestamp":121862595913,"id":1348,"parentId":1336,"tags":{},"startTime":1772829364304,"traceId":"5a7a2bf6a34f6474"},{"name":"seal","duration":35959,"timestamp":121862573698,"id":1336,"parentId":1249,"tags":{},"startTime":1772829364282,"traceId":"5a7a2bf6a34f6474"},{"name":"webpack-compilation","duration":336720,"timestamp":121862275904,"id":1249,"parentId":1247,"tags":{"name":"server"},"startTime":1772829363984,"traceId":"5a7a2bf6a34f6474"},{"name":"emit","duration":8439,"timestamp":121862612688,"id":1349,"parentId":1247,"tags":{},"startTime":1772829364321,"traceId":"5a7a2bf6a34f6474"}] +[{"name":"webpack-invalidated-server","duration":349316,"timestamp":121862272803,"id":1247,"parentId":3,"tags":{"trigger":"manual"},"startTime":1772829363981,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":10260,"timestamp":121862630469,"id":1352,"parentId":1351,"tags":{"request":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\compiled\\@next\\react-refresh-utils\\dist\\runtime.js"},"startTime":1772829364339,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module","duration":450,"timestamp":121862657043,"id":1358,"parentId":1357,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\build\\webpack\\loaders\\next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Csearch%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!","layer":"app-pages-browser"},"startTime":1772829364365,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":25521,"timestamp":121862632054,"id":1355,"parentId":1351,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Coffers%5C%5C%5Bid%5D%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1772829364340,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":25522,"timestamp":121862632058,"id":1356,"parentId":1351,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Chttp-access-fallback%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Clib%5C%5Cmetadata%5C%5Cmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1772829364340,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":26509,"timestamp":121862632031,"id":1353,"parentId":1351,"tags":{"request":"./node_modules/next/dist/client/app-next-dev.js"},"startTime":1772829364340,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":28683,"timestamp":121862632050,"id":1354,"parentId":1351,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cnext%5C%5Cfont%5C%5Cgoogle%5C%5Ctarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%5C%5C%5C%5Capp%5C%5C%5C%5Clayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%2C%5C%22cyrillic%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Cnode_modules%5C%5Cleaflet%5C%5Cdist%5C%5Cleaflet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cauth%5C%5CAuthProvider.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Ctheme%5C%5Ctheme-provider.tsx%22%2C%22ids%22%3A%5B%22ThemeProvider%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Ccomponents%5C%5Cui%5C%5Csonner.tsx%22%2C%22ids%22%3A%5B%22Toaster%22%5D%7D&modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Cwidgets%5C%5CHeader.tsx%22%2C%22ids%22%3A%5B%22Header%22%5D%7D&server=false!"},"startTime":1772829364340,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-tsx","duration":8610,"timestamp":121862659326,"id":1359,"parentId":1358,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\app\\search\\page.tsx","layer":"app-pages-browser"},"startTime":1772829364368,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1351,"timestamp":121862678282,"id":1360,"parentId":1359,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\api\\app-dynamic.js","layer":"app-pages-browser"},"startTime":1772829364387,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-tsx","duration":2511,"timestamp":121862678416,"id":1361,"parentId":1359,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\input.tsx","layer":"app-pages-browser"},"startTime":1772829364387,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-tsx","duration":3239,"timestamp":121862678494,"id":1362,"parentId":1359,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\checkbox.tsx","layer":"app-pages-browser"},"startTime":1772829364387,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-tsx","duration":5899,"timestamp":121862678550,"id":1363,"parentId":1359,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\ui\\select.tsx","layer":"app-pages-browser"},"startTime":1772829364387,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-ts","duration":6470,"timestamp":121862678651,"id":1365,"parentId":1359,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\shared\\api\\search.ts","layer":"app-pages-browser"},"startTime":1772829364387,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-tsx","duration":8281,"timestamp":121862678602,"id":1364,"parentId":1359,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\components\\map\\LiveMap.tsx","layer":"app-pages-browser"},"startTime":1772829364387,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3392,"timestamp":121862687817,"id":1366,"parentId":1360,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\shared\\lib\\app-dynamic.js","layer":"app-pages-browser"},"startTime":1772829364396,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":52587,"timestamp":121862692051,"id":1370,"parentId":1364,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\leaflet\\dist\\leaflet-src.js","layer":"app-pages-browser"},"startTime":1772829364400,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":52995,"timestamp":121862692148,"id":1372,"parentId":1364,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\index.js","layer":"app-pages-browser"},"startTime":1772829364400,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-ts","duration":55893,"timestamp":121862691863,"id":1367,"parentId":1363,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\src\\lib\\utils.ts","layer":"app-pages-browser"},"startTime":1772829364400,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":61260,"timestamp":121862691981,"id":1368,"parentId":1362,"tags":{"name":"__barrel_optimize__?names=Check!=!E:\\GIT\\mvp\\nashel-frontend\\node_modules\\lucide-react\\dist\\esm\\lucide-react.js","layer":"app-pages-browser"},"startTime":1772829364400,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":61597,"timestamp":121862692022,"id":1369,"parentId":1363,"tags":{"name":"__barrel_optimize__?names=Check,ChevronDown,ChevronUp!=!E:\\GIT\\mvp\\nashel-frontend\\node_modules\\lucide-react\\dist\\esm\\lucide-react.js","layer":"app-pages-browser"},"startTime":1772829364400,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":63516,"timestamp":121862692100,"id":1371,"parentId":1362,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\react-checkbox\\dist\\index.mjs","layer":"app-pages-browser"},"startTime":1772829364400,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":7554,"timestamp":121862748689,"id":1374,"parentId":1366,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\loadable.js","layer":"app-pages-browser"},"startTime":1772829364457,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":74462,"timestamp":121862692197,"id":1373,"parentId":1363,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\react-select\\dist\\index.mjs","layer":"app-pages-browser"},"startTime":1772829364400,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":7613,"timestamp":121862768549,"id":1375,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\hooks.js","layer":"app-pages-browser"},"startTime":1772829364477,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":7662,"timestamp":121862768680,"id":1376,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\AttributionControl.js","layer":"app-pages-browser"},"startTime":1772829364477,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":7797,"timestamp":121862768740,"id":1377,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Circle.js","layer":"app-pages-browser"},"startTime":1772829364477,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":7930,"timestamp":121862768796,"id":1378,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\CircleMarker.js","layer":"app-pages-browser"},"startTime":1772829364477,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":8121,"timestamp":121862768844,"id":1379,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\FeatureGroup.js","layer":"app-pages-browser"},"startTime":1772829364477,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":8298,"timestamp":121862768897,"id":1380,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\GeoJSON.js","layer":"app-pages-browser"},"startTime":1772829364477,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":8448,"timestamp":121862768943,"id":1381,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\ImageOverlay.js","layer":"app-pages-browser"},"startTime":1772829364477,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":8707,"timestamp":121862768987,"id":1382,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\LayerGroup.js","layer":"app-pages-browser"},"startTime":1772829364477,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":9105,"timestamp":121862769033,"id":1383,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\LayersControl.js","layer":"app-pages-browser"},"startTime":1772829364477,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":9386,"timestamp":121862769078,"id":1384,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\MapContainer.js","layer":"app-pages-browser"},"startTime":1772829364477,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":9551,"timestamp":121862769123,"id":1385,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Marker.js","layer":"app-pages-browser"},"startTime":1772829364477,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":9929,"timestamp":121862769168,"id":1386,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Pane.js","layer":"app-pages-browser"},"startTime":1772829364477,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":10061,"timestamp":121862769213,"id":1387,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Polygon.js","layer":"app-pages-browser"},"startTime":1772829364477,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":10228,"timestamp":121862769259,"id":1388,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Polyline.js","layer":"app-pages-browser"},"startTime":1772829364478,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":10400,"timestamp":121862769304,"id":1389,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Popup.js","layer":"app-pages-browser"},"startTime":1772829364478,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":10498,"timestamp":121862769348,"id":1390,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Rectangle.js","layer":"app-pages-browser"},"startTime":1772829364478,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":10552,"timestamp":121862769394,"id":1391,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\ScaleControl.js","layer":"app-pages-browser"},"startTime":1772829364478,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":10753,"timestamp":121862769438,"id":1392,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\SVGOverlay.js","layer":"app-pages-browser"},"startTime":1772829364478,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":10884,"timestamp":121862769483,"id":1393,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\TileLayer.js","layer":"app-pages-browser"},"startTime":1772829364478,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":11002,"timestamp":121862769569,"id":1394,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\Tooltip.js","layer":"app-pages-browser"},"startTime":1772829364478,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":11130,"timestamp":121862769627,"id":1395,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\VideoOverlay.js","layer":"app-pages-browser"},"startTime":1772829364478,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":11235,"timestamp":121862769674,"id":1396,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\WMSTileLayer.js","layer":"app-pages-browser"},"startTime":1772829364478,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":11290,"timestamp":121862769720,"id":1397,"parentId":1372,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\react-leaflet\\lib\\ZoomControl.js","layer":"app-pages-browser"},"startTime":1772829364478,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":16093,"timestamp":121862769768,"id":1398,"parentId":1359,"tags":{"name":"__barrel_optimize__?names=Filter,MapPin,Search,User!=!E:\\GIT\\mvp\\nashel-frontend\\node_modules\\lucide-react\\dist\\esm\\lucide-react.js","layer":"app-pages-browser"},"startTime":1772829364478,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":4338,"timestamp":121862787642,"id":1399,"parentId":1369,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\lucide-react\\dist\\esm\\icons\\chevron-down.js","layer":"app-pages-browser"},"startTime":1772829364496,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":4512,"timestamp":121862787722,"id":1400,"parentId":1369,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\lucide-react\\dist\\esm\\icons\\chevron-up.js","layer":"app-pages-browser"},"startTime":1772829364496,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5037,"timestamp":121862787766,"id":1401,"parentId":1374,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\dynamic-bailout-to-csr.js","layer":"app-pages-browser"},"startTime":1772829364496,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":5738,"timestamp":121862787797,"id":1402,"parentId":1374,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\next\\dist\\shared\\lib\\lazy-dynamic\\preload-chunks.js","layer":"app-pages-browser"},"startTime":1772829364496,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":1205,"timestamp":121862794280,"id":1403,"parentId":1371,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\react-use-previous\\dist\\index.mjs","layer":"app-pages-browser"},"startTime":1772829364503,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3715,"timestamp":121862795826,"id":1404,"parentId":1398,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\lucide-react\\dist\\esm\\icons\\filter.js","layer":"app-pages-browser"},"startTime":1772829364504,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":1751,"timestamp":121862804063,"id":1405,"parentId":1373,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\react-select\\node_modules\\@radix-ui\\react-slot\\dist\\index.mjs","layer":"app-pages-browser"},"startTime":1772829364512,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":1792,"timestamp":121862804185,"id":1406,"parentId":1373,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\number\\dist\\index.mjs","layer":"app-pages-browser"},"startTime":1772829364512,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-mjs","duration":1951,"timestamp":121862804244,"id":1407,"parentId":1373,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@radix-ui\\react-visually-hidden\\dist\\index.mjs","layer":"app-pages-browser"},"startTime":1772829364513,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1889,"timestamp":121862806471,"id":1408,"parentId":1375,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\index.js","layer":"app-pages-browser"},"startTime":1772829364515,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1482,"timestamp":121862811220,"id":1409,"parentId":1408,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\attribution.js","layer":"app-pages-browser"},"startTime":1772829364519,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1521,"timestamp":121862811309,"id":1410,"parentId":1408,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\circle.js","layer":"app-pages-browser"},"startTime":1772829364520,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1700,"timestamp":121862811393,"id":1411,"parentId":1408,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\component.js","layer":"app-pages-browser"},"startTime":1772829364520,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1825,"timestamp":121862811444,"id":1412,"parentId":1408,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\context.js","layer":"app-pages-browser"},"startTime":1772829364520,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":1942,"timestamp":121862811490,"id":1413,"parentId":1408,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\control.js","layer":"app-pages-browser"},"startTime":1772829364520,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2023,"timestamp":121862811534,"id":1414,"parentId":1408,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\div-overlay.js","layer":"app-pages-browser"},"startTime":1772829364520,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2171,"timestamp":121862811580,"id":1415,"parentId":1408,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\dom.js","layer":"app-pages-browser"},"startTime":1772829364520,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2323,"timestamp":121862811626,"id":1416,"parentId":1408,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\element.js","layer":"app-pages-browser"},"startTime":1772829364520,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2408,"timestamp":121862811669,"id":1417,"parentId":1408,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\events.js","layer":"app-pages-browser"},"startTime":1772829364520,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2581,"timestamp":121862811723,"id":1418,"parentId":1408,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\generic.js","layer":"app-pages-browser"},"startTime":1772829364520,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2682,"timestamp":121862811771,"id":1419,"parentId":1408,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\grid-layer.js","layer":"app-pages-browser"},"startTime":1772829364520,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2825,"timestamp":121862811816,"id":1420,"parentId":1408,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\layer.js","layer":"app-pages-browser"},"startTime":1772829364520,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2895,"timestamp":121862811859,"id":1421,"parentId":1408,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\media-overlay.js","layer":"app-pages-browser"},"startTime":1772829364520,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":2930,"timestamp":121862811904,"id":1422,"parentId":1408,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\pane.js","layer":"app-pages-browser"},"startTime":1772829364520,"traceId":"5a7a2bf6a34f6474"},{"name":"build-module-js","duration":3040,"timestamp":121862811948,"id":1423,"parentId":1408,"tags":{"name":"E:\\GIT\\mvp\\nashel-frontend\\node_modules\\@react-leaflet\\core\\lib\\path.js","layer":"app-pages-browser"},"startTime":1772829364520,"traceId":"5a7a2bf6a34f6474"},{"name":"add-entry","duration":188652,"timestamp":121862632062,"id":1357,"parentId":1351,"tags":{"request":"next-flight-client-entry-loader?modules=%7B%22request%22%3A%22E%3A%5C%5CGIT%5C%5Cmvp%5C%5Cnashel-frontend%5C%5Csrc%5C%5Capp%5C%5Csearch%5C%5Cpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!"},"startTime":1772829364340,"traceId":"5a7a2bf6a34f6474"},{"name":"make","duration":195813,"timestamp":121862624952,"id":1351,"parentId":1350,"tags":{},"startTime":1772829364333,"traceId":"5a7a2bf6a34f6474"},{"name":"chunk-graph","duration":2029,"timestamp":121862825503,"id":1425,"parentId":1424,"tags":{},"startTime":1772829364534,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-modules","duration":9,"timestamp":121862827558,"id":1427,"parentId":1424,"tags":{},"startTime":1772829364536,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-chunks","duration":46,"timestamp":121862827581,"id":1428,"parentId":1424,"tags":{},"startTime":1772829364536,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-tree","duration":6,"timestamp":121862827641,"id":1429,"parentId":1424,"tags":{},"startTime":1772829364536,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize-chunk-modules","duration":4,"timestamp":121862827661,"id":1430,"parentId":1424,"tags":{},"startTime":1772829364536,"traceId":"5a7a2bf6a34f6474"},{"name":"optimize","duration":1211,"timestamp":121862827549,"id":1426,"parentId":1424,"tags":{},"startTime":1772829364536,"traceId":"5a7a2bf6a34f6474"},{"name":"module-hash","duration":926,"timestamp":121862830319,"id":1431,"parentId":1424,"tags":{},"startTime":1772829364539,"traceId":"5a7a2bf6a34f6474"},{"name":"code-generation","duration":4578,"timestamp":121862831260,"id":1432,"parentId":1424,"tags":{},"startTime":1772829364540,"traceId":"5a7a2bf6a34f6474"},{"name":"hash","duration":5357,"timestamp":121862837173,"id":1433,"parentId":1424,"tags":{},"startTime":1772829364545,"traceId":"5a7a2bf6a34f6474"},{"name":"code-generation-jobs","duration":106,"timestamp":121862842528,"id":1434,"parentId":1424,"tags":{},"startTime":1772829364551,"traceId":"5a7a2bf6a34f6474"},{"name":"module-assets","duration":107,"timestamp":121862842625,"id":1435,"parentId":1424,"tags":{},"startTime":1772829364551,"traceId":"5a7a2bf6a34f6474"},{"name":"create-chunk-assets","duration":21720,"timestamp":121862842738,"id":1436,"parentId":1424,"tags":{},"startTime":1772829364551,"traceId":"5a7a2bf6a34f6474"},{"name":"NextJsBuildManifest-generateClientManifest","duration":67,"timestamp":121862865465,"id":1438,"parentId":1350,"tags":{},"startTime":1772829364574,"traceId":"5a7a2bf6a34f6474"},{"name":"NextJsBuildManifest-createassets","duration":128,"timestamp":121862865410,"id":1437,"parentId":1350,"tags":{},"startTime":1772829364574,"traceId":"5a7a2bf6a34f6474"},{"name":"seal","duration":44067,"timestamp":121862823572,"id":1424,"parentId":1350,"tags":{},"startTime":1772829364532,"traceId":"5a7a2bf6a34f6474"},{"name":"webpack-compilation","duration":243470,"timestamp":121862624198,"id":1350,"parentId":1267,"tags":{"name":"client"},"startTime":1772829364332,"traceId":"5a7a2bf6a34f6474"},{"name":"emit","duration":6922,"timestamp":121862867687,"id":1439,"parentId":1267,"tags":{},"startTime":1772829364576,"traceId":"5a7a2bf6a34f6474"},{"name":"compile-path","duration":602690,"timestamp":121862272859,"id":1248,"tags":{"trigger":"/search"},"startTime":1772829363981,"traceId":"5a7a2bf6a34f6474"},{"name":"webpack-invalidated-client","duration":532572,"timestamp":121862343521,"id":1267,"parentId":3,"tags":{"trigger":"manual"},"startTime":1772829364052,"traceId":"5a7a2bf6a34f6474"}] diff --git a/build.log.txt b/build.log.txt new file mode 100644 index 0000000..8db246e --- /dev/null +++ b/build.log.txt @@ -0,0 +1,28 @@ + +> nashel-frontend@0.1.0 build +> next build + + ▲ Next.js 15.1.0 + - Environments: .env.local + + Creating an optimized production build ... +node.exe : Failed to compile. +C:\Program Files\nodejs\npm.ps1:29 знак:3 ++ & $NODE_EXE $NPM_CLI_JS $args ++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + CategoryInfo : NotSpecified: (Failed to compile.:String) [], RemoteException + + FullyQualifiedErrorId : NativeCommandError + + +./src/app/dashboard/become-performer/page.tsx +Module not found: Can't resolve '@/components/RichTextEditor' + +https://nextjs.org/docs/messages/module-not-found + +./src/app/dashboard/become-performer/page.tsx +Module not found: Can't resolve '@/components/ui/collapsible' + +https://nextjs.org/docs/messages/module-not-found + + +> Build failed because of webpack errors diff --git a/build_output.txt b/build_output.txt new file mode 100644 index 0000000..6fab0ce Binary files /dev/null and b/build_output.txt differ diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..c2a49f4 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Allow: /