onvif-dashboard 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -0
- package/.next/standalone/.next/app-path-routes-manifest.json +18 -0
- package/.next/standalone/.next/build-manifest.json +25 -0
- package/.next/standalone/.next/package.json +1 -0
- package/.next/standalone/.next/prerender-manifest.json +72 -0
- package/.next/standalone/.next/required-server-files.json +364 -0
- package/.next/standalone/.next/routes-manifest.json +154 -0
- package/.next/standalone/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/.next/standalone/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/_global-error/page.js +9 -0
- package/.next/standalone/.next/server/app/_global-error/page.js.map +5 -0
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/_global-error.html +1 -0
- package/.next/standalone/.next/server/app/_global-error.meta +22 -0
- package/.next/standalone/.next/server/app/_global-error.rsc +15 -0
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +20 -0
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/standalone/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +49 -0
- package/.next/standalone/.next/server/app/_not-found/page.js +13 -0
- package/.next/standalone/.next/server/app/_not-found/page.js.map +5 -0
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/credentials/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/credentials/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/credentials/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/credentials/route.js +8 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/credentials/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/credentials/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/credentials/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/info/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/info/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/info/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/info/route.js +8 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/info/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/info/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/info/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/live/whep/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/live/whep/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/live/whep/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/live/whep/route.js +9 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/live/whep/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/live/whep/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/live/whep/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/snapshot/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/snapshot/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/snapshot/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/snapshot/route.js +8 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/snapshot/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/snapshot/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/snapshot/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/discover/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/discover/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/discover/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/discover/route.js +9 -0
- package/.next/standalone/.next/server/app/api/discover/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/discover/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/discover/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/recordings/clip/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/recordings/clip/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/recordings/clip/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/recordings/clip/route.js +7 -0
- package/.next/standalone/.next/server/app/api/recordings/clip/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/recordings/clip/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/recordings/clip/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/recordings/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/recordings/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/recordings/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/recordings/route.js +8 -0
- package/.next/standalone/.next/server/app/api/recordings/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/recordings/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/recordings/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page/server-reference-manifest.json +49 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page.js +15 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page.js.map +5 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page/server-reference-manifest.json +71 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page.js +16 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page.js.map +5 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/favicon.ico/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/favicon.ico/route.js +8 -0
- package/.next/standalone/.next/server/app/favicon.ico/route.js.map +5 -0
- package/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/favicon.ico.body +0 -0
- package/.next/standalone/.next/server/app/favicon.ico.meta +1 -0
- package/.next/standalone/.next/server/app/login/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/login/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/login/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/login/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/login/page/server-reference-manifest.json +49 -0
- package/.next/standalone/.next/server/app/login/page.js +14 -0
- package/.next/standalone/.next/server/app/login/page.js.map +5 -0
- package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +49 -0
- package/.next/standalone/.next/server/app/page.js +15 -0
- package/.next/standalone/.next/server/app/page.js.map +5 -0
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/recordings/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/recordings/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/recordings/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/recordings/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/recordings/page/server-reference-manifest.json +49 -0
- package/.next/standalone/.next/server/app/recordings/page.js +15 -0
- package/.next/standalone/.next/server/app/recordings/page.js.map +5 -0
- package/.next/standalone/.next/server/app/recordings/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/recordings/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/setup/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/setup/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/setup/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/setup/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/setup/page/server-reference-manifest.json +49 -0
- package/.next/standalone/.next/server/app/setup/page.js +14 -0
- package/.next/standalone/.next/server/app/setup/page.js.map +5 -0
- package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app-paths-manifest.json +18 -0
- package/.next/standalone/.next/server/chunks/[externals]__0sn8rhy._.js +3 -0
- package/.next/standalone/.next/server/chunks/[externals]__0t5_i3-._.js +3 -0
- package/.next/standalone/.next/server/chunks/[externals]__12pp_39._.js +3 -0
- package/.next/standalone/.next/server/chunks/[externals]__14kfdpf._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__00_hq9v._.js +153 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jcu5v1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qic8yw._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qs8j09._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0quekr0._.js +222 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__111vu-s._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__195bljr._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1b132sh._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ft0_3p._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1gj_0zm._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1jyn0_o._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1t624x_._.js +3 -0
- package/.next/standalone/.next/server/chunks/[turbopack]_runtime.js +807 -0
- package/.next/standalone/.next/server/chunks/_032x87y._.js +158 -0
- package/.next/standalone/.next/server/chunks/_0efb75o._.js +60 -0
- package/.next/standalone/.next/server/chunks/_0uxp3uh._.js +3 -0
- package/.next/standalone/.next/server/chunks/_1dqff-1._.js +3 -0
- package/.next/standalone/.next/server/chunks/_1p694qt._.js +60 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_cameras_[id]_credentials_route_actions_061ggqe.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_cameras_[id]_info_route_actions_14bukfi.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_cameras_[id]_live_whep_route_actions_0hir1y8.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_cameras_[id]_snapshot_route_actions_0pb4azs.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_discover_route_actions_0iz9n0w.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_recordings_clip_route_actions_10e75xy.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_recordings_route_actions_1vq6te4.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_1zdbrne._.js +10 -0
- package/.next/standalone/.next/server/chunks/node_modules_zod_v4_classic_external_1f6yk33.js +60 -0
- package/.next/standalone/.next/server/chunks/src_0_8v7nl._.js +3 -0
- package/.next/standalone/.next/server/chunks/src_lib_video_ts_0y7vxk-._.js +43 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__00j0r--._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0aleo31._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0f6s48x._.js +14 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jv6c_f._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wzsauh._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xjk1v0._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y_e9do._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__105e8zw._.js +33 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1b88d-h._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1f2jx51._.js +33 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1iduzaf._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1utodff._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1wzocf7._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1x73b0k._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[turbopack]_runtime.js +807 -0
- package/.next/standalone/.next/server/chunks/ssr/_0tfm89e._.js +209 -0
- package/.next/standalone/.next/server/chunks/ssr/_0x3aj2a._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0z2nro_._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_140jbbg._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_172_a6w._.js +10 -0
- package/.next/standalone/.next/server/chunks/ssr/_1ayvbe1._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_1kud4aq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_1k0e21d.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_cameras_[id]_live_page_actions_1x6y7lz.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_login_page_actions_1dmmi5g.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0ucar5e.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_recordings_page_actions_1ezb9xc.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_setup_page_actions_0-keti_.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_05issat._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_15lq9aw._.js +23 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_1wax83z._.js +33 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_@tanstack_0udur9-._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_0x3i8za._.js +131 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_0ufhxsd._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_1bunoni._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_1n3w9lb._.js +6 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_08xvpjs._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_0efwjni._.js +60 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_cameras_[id]_0-bkk65._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_cameras_[id]_0wpablc._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_providers_tsx_0c_dde7._.js +3 -0
- package/.next/standalone/.next/server/functions-config-manifest.json +14 -0
- package/.next/standalone/.next/server/instrumentation.js +4 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +25 -0
- package/.next/standalone/.next/server/middleware-manifest.json +6 -0
- package/.next/standalone/.next/server/middleware.js +5 -0
- package/.next/standalone/.next/server/next-font-manifest.js +1 -0
- package/.next/standalone/.next/server/next-font-manifest.json +35 -0
- package/.next/standalone/.next/server/pages/500.html +1 -0
- package/.next/standalone/.next/server/pages-manifest.json +3 -0
- package/.next/standalone/.next/server/prefetch-hints.json +11 -0
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/server-reference-manifest.json +192 -0
- package/.next/standalone/.next/static/chunks/0-4hhghprzhtw.js +1 -0
- package/.next/standalone/.next/static/chunks/04l2v6p7fakl9.js +22 -0
- package/.next/standalone/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/.next/standalone/.next/static/chunks/11be91k_gj8bl.js +1 -0
- package/.next/standalone/.next/static/chunks/1ng-ttmhg6s6h.css +3 -0
- package/.next/standalone/.next/static/chunks/21qqwm68cop21.js +1 -0
- package/.next/standalone/.next/static/chunks/24ug1160gwrkx.js +1 -0
- package/.next/standalone/.next/static/chunks/27t_qfc-3_lzs.js +1 -0
- package/.next/standalone/.next/static/chunks/2a1pvrfk7fzss.js +1 -0
- package/.next/standalone/.next/static/chunks/2e7rb5bft-ekp.js +1 -0
- package/.next/standalone/.next/static/chunks/2in4angy4ta5n.js +1 -0
- package/.next/standalone/.next/static/chunks/2mmpezlrfmbu5.js +1 -0
- package/.next/standalone/.next/static/chunks/2o10tcz0x86zp.js +1 -0
- package/.next/standalone/.next/static/chunks/310vm2bl3xxpt.js +31 -0
- package/.next/standalone/.next/static/chunks/32zls3n3ypa-e.js +1 -0
- package/.next/standalone/.next/static/chunks/3fntmmi971322.js +1 -0
- package/.next/standalone/.next/static/chunks/3jl0ivt7_0tuf.js +58 -0
- package/.next/standalone/.next/static/chunks/turbopack-1gvya9vclt5yj.js +1 -0
- package/.next/standalone/.next/static/media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2 +0 -0
- package/.next/standalone/.next/static/media/53b9e256198e5412-s.390ncx5urfkfu.woff2 +0 -0
- package/.next/standalone/.next/static/media/5ce348bf30bf5439-s.31988l_ccedte.woff2 +0 -0
- package/.next/standalone/.next/static/media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2 +0 -0
- package/.next/standalone/.next/static/media/7178b3e590c64307-s.21jp631_3pja2.woff2 +0 -0
- package/.next/standalone/.next/static/media/797e433ab948586e-s.p.0r6juujl39pe6.woff2 +0 -0
- package/.next/standalone/.next/static/media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2 +0 -0
- package/.next/standalone/.next/static/media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2 +0 -0
- package/.next/standalone/.next/static/media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2 +0 -0
- package/.next/standalone/.next/static/media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2 +0 -0
- package/.next/standalone/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
- package/.next/standalone/.next/static/media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2 +0 -0
- package/.next/standalone/.next/static/whCVdskjCUfluHW0q3o9p/_buildManifest.js +11 -0
- package/.next/standalone/.next/static/whCVdskjCUfluHW0q3o9p/_clientMiddlewareManifest.js +6 -0
- package/.next/standalone/.next/static/whCVdskjCUfluHW0q3o9p/_ssgManifest.js +1 -0
- package/.next/standalone/node_modules/@emnapi/runtime/dist/emnapi.cjs.js +1398 -0
- package/.next/standalone/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.js +1 -0
- package/.next/standalone/node_modules/@emnapi/runtime/index.js +5 -0
- package/.next/standalone/node_modules/@emnapi/runtime/package.json +48 -0
- package/.next/standalone/node_modules/@next/env/dist/index.js +1 -0
- package/.next/standalone/node_modules/@next/env/package.json +36 -0
- package/.next/standalone/node_modules/@swc/helpers/cjs/_interop_require_default.cjs +6 -0
- package/.next/standalone/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs +38 -0
- package/.next/standalone/node_modules/@swc/helpers/esm/_interop_require_default.js +4 -0
- package/.next/standalone/node_modules/@swc/helpers/esm/_interop_require_wildcard.js +36 -0
- package/.next/standalone/node_modules/@swc/helpers/package.json +705 -0
- package/.next/standalone/node_modules/client-only/index.js +0 -0
- package/.next/standalone/node_modules/client-only/package.json +19 -0
- package/.next/standalone/node_modules/detect-libc/lib/detect-libc.js +313 -0
- package/.next/standalone/node_modules/detect-libc/lib/elf.js +39 -0
- package/.next/standalone/node_modules/detect-libc/lib/filesystem.js +51 -0
- package/.next/standalone/node_modules/detect-libc/lib/process.js +24 -0
- package/.next/standalone/node_modules/detect-libc/package.json +44 -0
- package/.next/standalone/node_modules/next/dist/build/adapter/setup-node-env.external.js +15 -0
- package/.next/standalone/node_modules/next/dist/build/define-env.js +263 -0
- package/.next/standalone/node_modules/next/dist/build/duration-to-string.js +98 -0
- package/.next/standalone/node_modules/next/dist/build/get-supported-browsers.js +38 -0
- package/.next/standalone/node_modules/next/dist/build/next-config-ts/require-hook.js +85 -0
- package/.next/standalone/node_modules/next/dist/build/next-config-ts/transpile-config.js +140 -0
- package/.next/standalone/node_modules/next/dist/build/output/format.js +84 -0
- package/.next/standalone/node_modules/next/dist/build/output/log.js +135 -0
- package/.next/standalone/node_modules/next/dist/build/segment-config/app/app-segment-config.js +178 -0
- package/.next/standalone/node_modules/next/dist/build/segment-config/app/app-segments.js +147 -0
- package/.next/standalone/node_modules/next/dist/build/segment-config/app/collect-root-param-keys.js +52 -0
- package/.next/standalone/node_modules/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +137 -0
- package/.next/standalone/node_modules/next/dist/build/static-paths/app.js +783 -0
- package/.next/standalone/node_modules/next/dist/build/static-paths/pages.js +169 -0
- package/.next/standalone/node_modules/next/dist/build/static-paths/utils.js +119 -0
- package/.next/standalone/node_modules/next/dist/build/swc/helpers.js +15 -0
- package/.next/standalone/node_modules/next/dist/build/swc/index.js +1409 -0
- package/.next/standalone/node_modules/next/dist/build/swc/install-bindings.js +30 -0
- package/.next/standalone/node_modules/next/dist/build/swc/jest-transformer.js +77 -0
- package/.next/standalone/node_modules/next/dist/build/swc/loaderWorkerPool.js +40 -0
- package/.next/standalone/node_modules/next/dist/build/swc/options.js +411 -0
- package/.next/standalone/node_modules/next/dist/build/swc/types.js +6 -0
- package/.next/standalone/node_modules/next/dist/build/utils.js +1258 -0
- package/.next/standalone/node_modules/next/dist/cli/next-test.js +171 -0
- package/.next/standalone/node_modules/next/dist/client/add-base-path.js +24 -0
- package/.next/standalone/node_modules/next/dist/client/app-call-server.js +34 -0
- package/.next/standalone/node_modules/next/dist/client/app-find-source-map-url.js +39 -0
- package/.next/standalone/node_modules/next/dist/client/assign-location.js +29 -0
- package/.next/standalone/node_modules/next/dist/client/components/app-router-announcer.js +78 -0
- package/.next/standalone/node_modules/next/dist/client/components/app-router-headers.js +128 -0
- package/.next/standalone/node_modules/next/dist/client/components/app-router-instance.js +407 -0
- package/.next/standalone/node_modules/next/dist/client/components/app-router-utils.js +62 -0
- package/.next/standalone/node_modules/next/dist/client/components/app-router.js +522 -0
- package/.next/standalone/node_modules/next/dist/client/components/builtin/default.js +35 -0
- package/.next/standalone/node_modules/next/dist/client/components/builtin/error-styles.js +165 -0
- package/.next/standalone/node_modules/next/dist/client/components/builtin/global-error.js +100 -0
- package/.next/standalone/node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js +52 -0
- package/.next/standalone/node_modules/next/dist/client/components/error-boundary.js +148 -0
- package/.next/standalone/node_modules/next/dist/client/components/errors/graceful-degrade-boundary.js +86 -0
- package/.next/standalone/node_modules/next/dist/client/components/errors/root-error-boundary.js +41 -0
- package/.next/standalone/node_modules/next/dist/client/components/forbidden.js +48 -0
- package/.next/standalone/node_modules/next/dist/client/components/handle-isr-error.js +30 -0
- package/.next/standalone/node_modules/next/dist/client/components/hooks-server-context.js +42 -0
- package/.next/standalone/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js +125 -0
- package/.next/standalone/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js +72 -0
- package/.next/standalone/node_modules/next/dist/client/components/instant-samples.js +134 -0
- package/.next/standalone/node_modules/next/dist/client/components/is-next-router-error.js +23 -0
- package/.next/standalone/node_modules/next/dist/client/components/links.js +316 -0
- package/.next/standalone/node_modules/next/dist/client/components/match-segments.js +32 -0
- package/.next/standalone/node_modules/next/dist/client/components/nav-failure-handler.js +61 -0
- package/.next/standalone/node_modules/next/dist/client/components/navigation-devtools.js +126 -0
- package/.next/standalone/node_modules/next/dist/client/components/navigation-dynamic-rendering.js +38 -0
- package/.next/standalone/node_modules/next/dist/client/components/navigation-untracked.js +69 -0
- package/.next/standalone/node_modules/next/dist/client/components/navigation.js +246 -0
- package/.next/standalone/node_modules/next/dist/client/components/navigation.react-server.js +75 -0
- package/.next/standalone/node_modules/next/dist/client/components/not-found.js +42 -0
- package/.next/standalone/node_modules/next/dist/client/components/offline.js +172 -0
- package/.next/standalone/node_modules/next/dist/client/components/readonly-url-search-params.js +46 -0
- package/.next/standalone/node_modules/next/dist/client/components/redirect-boundary.js +107 -0
- package/.next/standalone/node_modules/next/dist/client/components/redirect-error.js +43 -0
- package/.next/standalone/node_modules/next/dist/client/components/redirect-status-code.js +24 -0
- package/.next/standalone/node_modules/next/dist/client/components/redirect.js +91 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js +205 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-href-from-url.js +21 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +161 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js +32 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +603 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +70 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js +1474 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/committed-state.js +49 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +63 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js +38 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +29 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +56 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +90 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +75 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +349 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +67 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js +70 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/router-reducer.js +74 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +66 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-transition.js +135 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/bfcache.js +130 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/cache-key.js +56 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/cache-map.js +326 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/cache.js +2684 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/fetch.js +37 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/lru.js +152 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.js +415 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/navigation.js +773 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/optimistic-routes.js +648 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/prefetch.js +32 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/scheduler.js +1770 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/types.js +84 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/vary-path.js +326 -0
- package/.next/standalone/node_modules/next/dist/client/components/server-async-storage.js +43 -0
- package/.next/standalone/node_modules/next/dist/client/components/static-generation-bailout.js +42 -0
- package/.next/standalone/node_modules/next/dist/client/components/unauthorized.js +49 -0
- package/.next/standalone/node_modules/next/dist/client/components/unrecognized-action-error.js +39 -0
- package/.next/standalone/node_modules/next/dist/client/components/unresolved-thenable.js +23 -0
- package/.next/standalone/node_modules/next/dist/client/components/unstable-rethrow.js +32 -0
- package/.next/standalone/node_modules/next/dist/client/components/use-action-queue.js +148 -0
- package/.next/standalone/node_modules/next/dist/client/components/use-offline.js +68 -0
- package/.next/standalone/node_modules/next/dist/client/dev/debug-channel.js +428 -0
- package/.next/standalone/node_modules/next/dist/client/flight-data-helpers.js +235 -0
- package/.next/standalone/node_modules/next/dist/client/has-base-path.js +23 -0
- package/.next/standalone/node_modules/next/dist/client/lib/console.js +177 -0
- package/.next/standalone/node_modules/next/dist/client/lib/javascript-url.js +32 -0
- package/.next/standalone/node_modules/next/dist/client/navigation-build-id.js +53 -0
- package/.next/standalone/node_modules/next/dist/client/normalize-trailing-slash.js +37 -0
- package/.next/standalone/node_modules/next/dist/client/remove-base-path.js +32 -0
- package/.next/standalone/node_modules/next/dist/client/route-params.js +249 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js +339 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/cookies/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/ponyfill/index.js +46 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/ponyfill/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/abort-controller.js.text.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/console.js.text.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/events.js.text.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/index.js +5 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/load.js +18713 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/stream.js +44 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/timers.js.text.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/url.js.text.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@hapi/accept/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@hapi/accept/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@napi-rs/triples/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@napi-rs/triples/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@opentelemetry/api/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@opentelemetry/api/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@vercel/detect-agent/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@vercel/detect-agent/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/async-retry/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/async-retry/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/async-sema/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/async-sema/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/busboy/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/busboy/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/bytes/index.js +8 -0
- package/.next/standalone/node_modules/next/dist/compiled/bytes/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/ci-info/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/ci-info/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/commander/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/commander/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/comment-json/index.js +7 -0
- package/.next/standalone/node_modules/next/dist/compiled/comment-json/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/compression/index.js +58 -0
- package/.next/standalone/node_modules/next/dist/compiled/compression/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/conf/index.js +3 -0
- package/.next/standalone/node_modules/next/dist/compiled/conf/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/content-disposition/index.js +6 -0
- package/.next/standalone/node_modules/next/dist/compiled/content-disposition/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/cookie/index.js +7 -0
- package/.next/standalone/node_modules/next/dist/compiled/cookie/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/cross-spawn/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/cross-spawn/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/debug/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/debug/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/edge-runtime/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/edge-runtime/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/find-up/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/find-up/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/fresh/index.js +8 -0
- package/.next/standalone/node_modules/next/dist/compiled/fresh/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/httpxy/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/httpxy/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/image-detector/detector.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/image-size/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/image-size/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/ipaddr.js/ipaddr.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/ipaddr.js/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/is-animated/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/is-animated/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/is-docker/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/is-docker/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/is-wsl/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/is-wsl/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/jsonwebtoken/index.js +11 -0
- package/.next/standalone/node_modules/next/dist/compiled/jsonwebtoken/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/nanoid/index.cjs +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/nanoid/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +183 -0
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +183 -0
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +6 -0
- package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +20 -0
- package/.next/standalone/node_modules/next/dist/compiled/p-limit/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/p-limit/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/p-queue/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/p-queue/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/path-browserify/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/path-browserify/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/path-to-regexp/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/path-to-regexp/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/picomatch/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/picomatch/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/react-is/cjs/react-is.development.js +133 -0
- package/.next/standalone/node_modules/next/dist/compiled/react-is/cjs/react-is.production.js +130 -0
- package/.next/standalone/node_modules/next/dist/compiled/react-is/index.js +7 -0
- package/.next/standalone/node_modules/next/dist/compiled/react-is/package.json +26 -0
- package/.next/standalone/node_modules/next/dist/compiled/regenerator-runtime/package.json +19 -0
- package/.next/standalone/node_modules/next/dist/compiled/regenerator-runtime/runtime.js +729 -0
- package/.next/standalone/node_modules/next/dist/compiled/semver/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/semver/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/send/index.js +70 -0
- package/.next/standalone/node_modules/next/dist/compiled/send/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/source-map/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/source-map/source-map.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/stacktrace-parser/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/string-hash/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/string-hash/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/strip-ansi/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/strip-ansi/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/superstruct/index.cjs +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/superstruct/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/tar/index.min.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/tar/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/text-table/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/text-table/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/watchpack/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/watchpack/watchpack.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/write-file-atomic/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/write-file-atomic/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/ws/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/ws/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/zod/index.cjs +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/zod/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/zod-validation-error/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/zod-validation-error/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/experimental/testmode/context.js +57 -0
- package/.next/standalone/node_modules/next/dist/experimental/testmode/fetch.js +158 -0
- package/.next/standalone/node_modules/next/dist/experimental/testmode/httpget.js +33 -0
- package/.next/standalone/node_modules/next/dist/experimental/testmode/server-edge.js +32 -0
- package/.next/standalone/node_modules/next/dist/experimental/testmode/server.js +73 -0
- package/.next/standalone/node_modules/next/dist/export/helpers/create-incremental-cache.js +61 -0
- package/.next/standalone/node_modules/next/dist/lib/batcher.js +65 -0
- package/.next/standalone/node_modules/next/dist/lib/build-custom-route.js +46 -0
- package/.next/standalone/node_modules/next/dist/lib/bundler.js +168 -0
- package/.next/standalone/node_modules/next/dist/lib/client-and-server-references.js +54 -0
- package/.next/standalone/node_modules/next/dist/lib/coalesced-function.js +39 -0
- package/.next/standalone/node_modules/next/dist/lib/compile-error.js +14 -0
- package/.next/standalone/node_modules/next/dist/lib/constants.js +420 -0
- package/.next/standalone/node_modules/next/dist/lib/create-client-router-filter.js +83 -0
- package/.next/standalone/node_modules/next/dist/lib/default-transpiled-packages.json +1 -0
- package/.next/standalone/node_modules/next/dist/lib/detached-promise.js +32 -0
- package/.next/standalone/node_modules/next/dist/lib/detect-typo.js +51 -0
- package/.next/standalone/node_modules/next/dist/lib/download-swc.js +183 -0
- package/.next/standalone/node_modules/next/dist/lib/error-telemetry-utils.js +42 -0
- package/.next/standalone/node_modules/next/dist/lib/fallback.js +100 -0
- package/.next/standalone/node_modules/next/dist/lib/file-exists.js +53 -0
- package/.next/standalone/node_modules/next/dist/lib/find-config.js +102 -0
- package/.next/standalone/node_modules/next/dist/lib/find-pages-dir.js +65 -0
- package/.next/standalone/node_modules/next/dist/lib/find-root.js +280 -0
- package/.next/standalone/node_modules/next/dist/lib/format-cli-help-output.js +84 -0
- package/.next/standalone/node_modules/next/dist/lib/format-dynamic-import-path.js +43 -0
- package/.next/standalone/node_modules/next/dist/lib/format-server-error.js +75 -0
- package/.next/standalone/node_modules/next/dist/lib/framework/boundary-components.js +62 -0
- package/.next/standalone/node_modules/next/dist/lib/framework/boundary-constants.js +36 -0
- package/.next/standalone/node_modules/next/dist/lib/fs/rename.js +87 -0
- package/.next/standalone/node_modules/next/dist/lib/fs/write-atomic.js +28 -0
- package/.next/standalone/node_modules/next/dist/lib/generate-interception-routes-rewrites.js +52 -0
- package/.next/standalone/node_modules/next/dist/lib/get-files-in-dir.js +33 -0
- package/.next/standalone/node_modules/next/dist/lib/get-network-host.js +44 -0
- package/.next/standalone/node_modules/next/dist/lib/get-package-version.js +118 -0
- package/.next/standalone/node_modules/next/dist/lib/get-project-dir.js +51 -0
- package/.next/standalone/node_modules/next/dist/lib/git-worktree.js +74 -0
- package/.next/standalone/node_modules/next/dist/lib/has-necessary-dependencies.js +49 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/get-cache-directory.js +66 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/get-npx-command.js +29 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/get-online.js +50 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/get-pkg-manager.js +65 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/get-registry.js +45 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/get-reserved-port.js +116 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/git.js +59 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/install.js +83 -0
- package/.next/standalone/node_modules/next/dist/lib/import-next-warning.js +50 -0
- package/.next/standalone/node_modules/next/dist/lib/inline-static-env.js +112 -0
- package/.next/standalone/node_modules/next/dist/lib/install-dependencies.js +40 -0
- package/.next/standalone/node_modules/next/dist/lib/interop-default.js +16 -0
- package/.next/standalone/node_modules/next/dist/lib/is-api-route.js +15 -0
- package/.next/standalone/node_modules/next/dist/lib/is-app-page-route.js +15 -0
- package/.next/standalone/node_modules/next/dist/lib/is-app-route-route.js +15 -0
- package/.next/standalone/node_modules/next/dist/lib/is-edge-runtime.js +16 -0
- package/.next/standalone/node_modules/next/dist/lib/is-error.js +78 -0
- package/.next/standalone/node_modules/next/dist/lib/is-interception-route-rewrite.js +18 -0
- package/.next/standalone/node_modules/next/dist/lib/is-internal-component.js +36 -0
- package/.next/standalone/node_modules/next/dist/lib/is-serializable-props.js +111 -0
- package/.next/standalone/node_modules/next/dist/lib/known-edge-safe-packages.json +1 -0
- package/.next/standalone/node_modules/next/dist/lib/load-custom-routes.js +594 -0
- package/.next/standalone/node_modules/next/dist/lib/memory/gc-observer.js +53 -0
- package/.next/standalone/node_modules/next/dist/lib/memory/shutdown.js +29 -0
- package/.next/standalone/node_modules/next/dist/lib/memory/startup.js +47 -0
- package/.next/standalone/node_modules/next/dist/lib/memory/trace.js +109 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/constants.js +40 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/default-metadata.js +82 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/generate/icon-mark.js +22 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/generate/utils.js +52 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/get-metadata-route.js +162 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/is-metadata-route.js +221 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/metadata-context.js +18 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/metadata.js +1660 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/resolve-metadata.js +884 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-basics.js +232 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-icons.js +56 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-opengraph.js +199 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-title.js +40 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-url.js +135 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/alternative-urls-types.js +7 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/extra-types.js +9 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/icons.js +6 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/manifest-types.js +6 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/metadata-interface.js +18 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/metadata-types.js +10 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/opengraph-types.js +6 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/resolvers.js +6 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/twitter-types.js +7 -0
- package/.next/standalone/node_modules/next/dist/lib/mime-type.js +20 -0
- package/.next/standalone/node_modules/next/dist/lib/mkcert.js +204 -0
- package/.next/standalone/node_modules/next/dist/lib/multi-file-writer.js +75 -0
- package/.next/standalone/node_modules/next/dist/lib/needs-experimental-react.js +16 -0
- package/.next/standalone/node_modules/next/dist/lib/non-nullable.js +15 -0
- package/.next/standalone/node_modules/next/dist/lib/normalize-path.js +21 -0
- package/.next/standalone/node_modules/next/dist/lib/oxford-comma-list.js +15 -0
- package/.next/standalone/node_modules/next/dist/lib/page-types.js +18 -0
- package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +185 -0
- package/.next/standalone/node_modules/next/dist/lib/pick.js +19 -0
- package/.next/standalone/node_modules/next/dist/lib/picocolors.js +177 -0
- package/.next/standalone/node_modules/next/dist/lib/pretty-bytes.js +74 -0
- package/.next/standalone/node_modules/next/dist/lib/profiles-dir.js +45 -0
- package/.next/standalone/node_modules/next/dist/lib/realpath.js +20 -0
- package/.next/standalone/node_modules/next/dist/lib/recursive-copy.js +76 -0
- package/.next/standalone/node_modules/next/dist/lib/recursive-delete.js +137 -0
- package/.next/standalone/node_modules/next/dist/lib/recursive-readdir.js +124 -0
- package/.next/standalone/node_modules/next/dist/lib/redirect-status.js +46 -0
- package/.next/standalone/node_modules/next/dist/lib/require-instrumentation-client.js +32 -0
- package/.next/standalone/node_modules/next/dist/lib/resolve-build-paths.js +182 -0
- package/.next/standalone/node_modules/next/dist/lib/resolve-from.js +65 -0
- package/.next/standalone/node_modules/next/dist/lib/route-pattern-normalizer.js +107 -0
- package/.next/standalone/node_modules/next/dist/lib/scheduler.js +64 -0
- package/.next/standalone/node_modules/next/dist/lib/semver-noop.js +18 -0
- package/.next/standalone/node_modules/next/dist/lib/server-external-packages.jsonc +103 -0
- package/.next/standalone/node_modules/next/dist/lib/setup-exception-listeners.js +11 -0
- package/.next/standalone/node_modules/next/dist/lib/static-env.js +92 -0
- package/.next/standalone/node_modules/next/dist/lib/try-to-parse-path.js +67 -0
- package/.next/standalone/node_modules/next/dist/lib/turbopack-cache-seed.js +171 -0
- package/.next/standalone/node_modules/next/dist/lib/turbopack-warning.js +185 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/diagnosticFormatter.js +243 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/getTypeScriptConfiguration.js +73 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/getTypeScriptIntent.js +52 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/loadTsConfig.js +181 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/missingDependencyError.js +26 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/runTypeCheck.js +149 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/runTypeCheckCli.js +53 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/runTypeScriptCli.js +256 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/type-paths.js +51 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/writeAppTypeDeclarations.js +77 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/writeConfigurationDefaults.js +395 -0
- package/.next/standalone/node_modules/next/dist/lib/url.js +75 -0
- package/.next/standalone/node_modules/next/dist/lib/verify-partytown-setup.js +104 -0
- package/.next/standalone/node_modules/next/dist/lib/verify-root-layout.js +165 -0
- package/.next/standalone/node_modules/next/dist/lib/verify-typescript-setup.js +271 -0
- package/.next/standalone/node_modules/next/dist/lib/wait.js +19 -0
- package/.next/standalone/node_modules/next/dist/lib/with-promise-cache.js +24 -0
- package/.next/standalone/node_modules/next/dist/lib/worker.js +234 -0
- package/.next/standalone/node_modules/next/dist/server/ReactDOMServerPages.js +16 -0
- package/.next/standalone/node_modules/next/dist/server/accept-header.js +132 -0
- package/.next/standalone/node_modules/next/dist/server/after/after-context.js +178 -0
- package/.next/standalone/node_modules/next/dist/server/after/after.js +28 -0
- package/.next/standalone/node_modules/next/dist/server/after/awaiter.js +74 -0
- package/.next/standalone/node_modules/next/dist/server/after/builtin-request-context.js +38 -0
- package/.next/standalone/node_modules/next/dist/server/after/index.js +21 -0
- package/.next/standalone/node_modules/next/dist/server/after/run-with-after.js +35 -0
- package/.next/standalone/node_modules/next/dist/server/api-utils/get-cookie-parser.js +22 -0
- package/.next/standalone/node_modules/next/dist/server/api-utils/index.js +217 -0
- package/.next/standalone/node_modules/next/dist/server/api-utils/node/api-resolver.js +395 -0
- package/.next/standalone/node_modules/next/dist/server/api-utils/node/parse-body.js +79 -0
- package/.next/standalone/node_modules/next/dist/server/api-utils/node/try-get-preview-data.js +89 -0
- package/.next/standalone/node_modules/next/dist/server/api-utils/web.js +17 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/action-async-storage-instance.js +14 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/action-async-storage.external.js +13 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/action-handler.js +1125 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js +14 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/after-task-async-storage.external.js +13 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +332 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/app-render-render-utils.js +76 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/app-render-scheduling.js +188 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/app-render.js +6496 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/async-local-storage.js +76 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/blocking-route-messages.js +181 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/cache-signal.js +181 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/collect-segment-data.js +937 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/console-async-storage-instance.js +14 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/console-async-storage.external.js +13 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/create-component-styles-and-scripts.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/create-component-tree.js +806 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/create-error-handler.js +190 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +154 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/csrf-protection.js +86 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/debug-channel-server.js +47 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/debug-channel-server.node.js +60 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/debug-channel-server.web.js +60 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-error-delivery.js +37 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-events.js +26 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-scheduler.js +87 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-worker-globals.js +41 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-worker-snapshot.js +79 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js +14 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js +13 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dynamic-rendering.js +1201 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/encryption-utils-server.js +114 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/encryption-utils.js +93 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/encryption.js +261 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/entry-base.js +265 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/flight-render-result.js +28 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/get-asset-query-string.js +29 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/get-css-inlined-link-tags.js +45 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/get-layer-assets.js +69 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/get-preloadable-fonts.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/get-script-nonce-from-header.js +32 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/get-short-dynamic-param-type.js +25 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/has-loading-component-in-tree.js +19 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-test-bootstrap.js +20 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js +31 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-impl.js +127 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js +38 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-config.js +241 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js +432 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js +33 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-validation.js +934 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/stream-utils.js +96 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/interop-default.js +17 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/make-get-server-inserted-html.js +91 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/manifests-singleton.js +327 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +29 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/module-loading/instrument-module-getter.js +32 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/module-loading/track-dynamic-import.js +57 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js +32 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js +62 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/parse-and-validate-flight-router-state.js +49 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/postponed-state.js +230 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/prospective-render-utils.js +74 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/react-large-shell-error.js +17 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/react-server.node.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/render-css-resource.js +57 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/required-scripts.js +76 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/rsc/postpone.js +18 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/rsc/preloads.js +74 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/rsc/taint.js +79 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/segment-explorer-path.js +128 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/server-inserted-html.js +77 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/staged-rendering.js +324 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/stale-time.js +101 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/stream-ops.js +155 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/stream-ops.node.js +842 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/stream-ops.web.js +249 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/strip-flight-headers.js +18 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/sync-io-messages.js +67 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/types.js +65 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/use-flight-response.js +217 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/vary-params.js +261 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/wait-for-response.js +36 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +237 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/work-async-storage-instance.js +14 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/work-async-storage.external.js +13 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +14 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +250 -0
- package/.next/standalone/node_modules/next/dist/server/async-storage/draft-mode-provider.js +62 -0
- package/.next/standalone/node_modules/next/dist/server/async-storage/request-store.js +201 -0
- package/.next/standalone/node_modules/next/dist/server/async-storage/with-store.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/async-storage/work-store.js +98 -0
- package/.next/standalone/node_modules/next/dist/server/base-http/helpers.js +36 -0
- package/.next/standalone/node_modules/next/dist/server/base-http/index.js +54 -0
- package/.next/standalone/node_modules/next/dist/server/base-http/node.js +147 -0
- package/.next/standalone/node_modules/next/dist/server/base-http/web.js +124 -0
- package/.next/standalone/node_modules/next/dist/server/base-server.js +1957 -0
- package/.next/standalone/node_modules/next/dist/server/body-streams.js +122 -0
- package/.next/standalone/node_modules/next/dist/server/cache-dir.js +26 -0
- package/.next/standalone/node_modules/next/dist/server/capsize-font-metrics.json +181516 -0
- package/.next/standalone/node_modules/next/dist/server/ci-info.js +41 -0
- package/.next/standalone/node_modules/next/dist/server/client-component-renderer-logger.js +70 -0
- package/.next/standalone/node_modules/next/dist/server/config-schema.js +800 -0
- package/.next/standalone/node_modules/next/dist/server/config-shared.js +395 -0
- package/.next/standalone/node_modules/next/dist/server/config-utils.js +185 -0
- package/.next/standalone/node_modules/next/dist/server/config.js +1836 -0
- package/.next/standalone/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js +96 -0
- package/.next/standalone/node_modules/next/dist/server/crypto-utils.js +70 -0
- package/.next/standalone/node_modules/next/dist/server/dev/browser-logs/file-logger.js +186 -0
- package/.next/standalone/node_modules/next/dist/server/dev/browser-logs/receive-logs.js +610 -0
- package/.next/standalone/node_modules/next/dist/server/dev/browser-logs/source-map.js +222 -0
- package/.next/standalone/node_modules/next/dist/server/dev/debug-channel.js +112 -0
- package/.next/standalone/node_modules/next/dist/server/dev/dev-indicator-server-state.js +15 -0
- package/.next/standalone/node_modules/next/dist/server/dev/dev-validation-worker-pool.js +232 -0
- package/.next/standalone/node_modules/next/dist/server/dev/dev-validation-worker.js +308 -0
- package/.next/standalone/node_modules/next/dist/server/dev/get-source-map-from-file.js +100 -0
- package/.next/standalone/node_modules/next/dist/server/dev/hot-middleware.js +276 -0
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-rspack.js +171 -0
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-shared-utils.js +56 -0
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +1756 -0
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-types.js +60 -0
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1380 -0
- package/.next/standalone/node_modules/next/dist/server/dev/log-requests.js +152 -0
- package/.next/standalone/node_modules/next/dist/server/dev/messages.js +74 -0
- package/.next/standalone/node_modules/next/dist/server/dev/middleware-turbopack.js +422 -0
- package/.next/standalone/node_modules/next/dist/server/dev/middleware-webpack.js +495 -0
- package/.next/standalone/node_modules/next/dist/server/dev/node-stack-frames.js +81 -0
- package/.next/standalone/node_modules/next/dist/server/dev/on-demand-entry-handler.js +773 -0
- package/.next/standalone/node_modules/next/dist/server/dev/parse-version-info.js +108 -0
- package/.next/standalone/node_modules/next/dist/server/dev/require-cache.js +109 -0
- package/.next/standalone/node_modules/next/dist/server/dev/serialized-errors.js +67 -0
- package/.next/standalone/node_modules/next/dist/server/dev/server-action-logger.js +37 -0
- package/.next/standalone/node_modules/next/dist/server/dev/static-paths-worker.js +106 -0
- package/.next/standalone/node_modules/next/dist/server/dev/turbopack-utils.js +727 -0
- package/.next/standalone/node_modules/next/dist/server/dev/use-cache-probe-pool.js +177 -0
- package/.next/standalone/node_modules/next/dist/server/dev/use-cache-probe-worker.js +180 -0
- package/.next/standalone/node_modules/next/dist/server/dynamic-rendering-utils.js +285 -0
- package/.next/standalone/node_modules/next/dist/server/font-utils.js +43 -0
- package/.next/standalone/node_modules/next/dist/server/get-app-route-from-entrypoint.js +30 -0
- package/.next/standalone/node_modules/next/dist/server/get-page-files.js +40 -0
- package/.next/standalone/node_modules/next/dist/server/get-route-from-entrypoint.js +35 -0
- package/.next/standalone/node_modules/next/dist/server/image-optimizer.js +1262 -0
- package/.next/standalone/node_modules/next/dist/server/instrumentation/types.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/instrumentation/utils.js +21 -0
- package/.next/standalone/node_modules/next/dist/server/internal-utils.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/is-private-ip.js +36 -0
- package/.next/standalone/node_modules/next/dist/server/lib/app-dir-module.js +59 -0
- package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +135 -0
- package/.next/standalone/node_modules/next/dist/server/lib/async-callback-set.js +29 -0
- package/.next/standalone/node_modules/next/dist/server/lib/cache-control.js +22 -0
- package/.next/standalone/node_modules/next/dist/server/lib/cache-handlers/default.external.js +18 -0
- package/.next/standalone/node_modules/next/dist/server/lib/cache-handlers/default.js +196 -0
- package/.next/standalone/node_modules/next/dist/server/lib/cache-handlers/types.js +8 -0
- package/.next/standalone/node_modules/next/dist/server/lib/chrome-devtools-workspace.js +116 -0
- package/.next/standalone/node_modules/next/dist/server/lib/clone-response.js +77 -0
- package/.next/standalone/node_modules/next/dist/server/lib/cpu-profile.js +56 -0
- package/.next/standalone/node_modules/next/dist/server/lib/decode-query-path-parameter.js +26 -0
- package/.next/standalone/node_modules/next/dist/server/lib/dedupe-fetch.js +163 -0
- package/.next/standalone/node_modules/next/dist/server/lib/dev-bundler-service.js +110 -0
- package/.next/standalone/node_modules/next/dist/server/lib/disk-lru-cache.external.js +63 -0
- package/.next/standalone/node_modules/next/dist/server/lib/encode-header-safe.js +44 -0
- package/.next/standalone/node_modules/next/dist/server/lib/etag.js +56 -0
- package/.next/standalone/node_modules/next/dist/server/lib/experimental/create-env-definitions.js +48 -0
- package/.next/standalone/node_modules/next/dist/server/lib/experimental/ppr.js +47 -0
- package/.next/standalone/node_modules/next/dist/server/lib/find-page-file.js +147 -0
- package/.next/standalone/node_modules/next/dist/server/lib/fix-mojibake.js +25 -0
- package/.next/standalone/node_modules/next/dist/server/lib/format-hostname.js +16 -0
- package/.next/standalone/node_modules/next/dist/server/lib/generate-agent-files.js +180 -0
- package/.next/standalone/node_modules/next/dist/server/lib/i18n-provider.js +129 -0
- package/.next/standalone/node_modules/next/dist/server/lib/implicit-tags.js +87 -0
- package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +348 -0
- package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/index.js +547 -0
- package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +59 -0
- package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js +73 -0
- package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js +55 -0
- package/.next/standalone/node_modules/next/dist/server/lib/install-code-frame.js +22 -0
- package/.next/standalone/node_modules/next/dist/server/lib/is-ipv6.js +41 -0
- package/.next/standalone/node_modules/next/dist/server/lib/is-non-html-sec-fetch-dest.js +38 -0
- package/.next/standalone/node_modules/next/dist/server/lib/is-rsc-request.js +18 -0
- package/.next/standalone/node_modules/next/dist/server/lib/lazy-module.js +80 -0
- package/.next/standalone/node_modules/next/dist/server/lib/lazy-result.js +46 -0
- package/.next/standalone/node_modules/next/dist/server/lib/lru-cache.js +191 -0
- package/.next/standalone/node_modules/next/dist/server/lib/match-next-data-pathname.js +18 -0
- package/.next/standalone/node_modules/next/dist/server/lib/mock-request.js +441 -0
- package/.next/standalone/node_modules/next/dist/server/lib/module-loader/module-loader.js +8 -0
- package/.next/standalone/node_modules/next/dist/server/lib/module-loader/node-module-loader.js +25 -0
- package/.next/standalone/node_modules/next/dist/server/lib/module-loader/route-module-loader.js +26 -0
- package/.next/standalone/node_modules/next/dist/server/lib/node-fs-methods.js +28 -0
- package/.next/standalone/node_modules/next/dist/server/lib/params-utils.js +70 -0
- package/.next/standalone/node_modules/next/dist/server/lib/parse-stack.js +46 -0
- package/.next/standalone/node_modules/next/dist/server/lib/patch-fetch.js +1027 -0
- package/.next/standalone/node_modules/next/dist/server/lib/patch-set-header.js +45 -0
- package/.next/standalone/node_modules/next/dist/server/lib/postponed-request-body.js +64 -0
- package/.next/standalone/node_modules/next/dist/server/lib/release-compression-stream.js +24 -0
- package/.next/standalone/node_modules/next/dist/server/lib/render-server.js +157 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-server.js +756 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/block-cross-site-dev.js +110 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/build-data-route.js +48 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.js +50 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/cache-life-type-utils.js +212 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/decode-path-params.js +42 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/filesystem.js +612 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js +89 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +114 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/is-postpone.js +16 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/proxy-request.js +128 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +646 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/root-params-type-utils.js +61 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/route-types-utils.js +326 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/router-server-context.js +26 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/typegen.js +892 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/types.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/lib/server-action-request-meta.js +53 -0
- package/.next/standalone/node_modules/next/dist/server/lib/server-ipc/utils.js +83 -0
- package/.next/standalone/node_modules/next/dist/server/lib/source-maps.js +241 -0
- package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +540 -0
- package/.next/standalone/node_modules/next/dist/server/lib/streaming-metadata.js +27 -0
- package/.next/standalone/node_modules/next/dist/server/lib/to-route.js +37 -0
- package/.next/standalone/node_modules/next/dist/server/lib/trace/constants.js +208 -0
- package/.next/standalone/node_modules/next/dist/server/lib/trace/local-span-recorder.js +385 -0
- package/.next/standalone/node_modules/next/dist/server/lib/trace/request-insights-identity.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/lib/trace/request-insights.js +308 -0
- package/.next/standalone/node_modules/next/dist/server/lib/trace/span-store.js +69 -0
- package/.next/standalone/node_modules/next/dist/server/lib/trace/tracer.js +392 -0
- package/.next/standalone/node_modules/next/dist/server/lib/trace/utils.js +16 -0
- package/.next/standalone/node_modules/next/dist/server/lib/types.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/lib/utils.js +292 -0
- package/.next/standalone/node_modules/next/dist/server/lib/worker-utils.js +36 -0
- package/.next/standalone/node_modules/next/dist/server/load-components.js +185 -0
- package/.next/standalone/node_modules/next/dist/server/load-default-error-components.js +41 -0
- package/.next/standalone/node_modules/next/dist/server/load-manifest.external.js +117 -0
- package/.next/standalone/node_modules/next/dist/server/match-bundle.js +25 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/get-mcp-middleware.js +49 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/get-or-create-mcp-server.js +51 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/mcp-telemetry-tracker.js +82 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/compile-route.js +86 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-compilation-issues.js +68 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-errors.js +114 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-logs.js +67 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-page-metadata.js +188 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-project-metadata.js +59 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-request-insights.js +57 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-routes.js +136 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-server-action-by-id.js +121 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/next-instance-error-state.js +31 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/browser-communication.js +90 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/format-compilation-issues.js +72 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/format-errors.js +137 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/resolve-path-to-route.js +49 -0
- package/.next/standalone/node_modules/next/dist/server/next-server.js +1443 -0
- package/.next/standalone/node_modules/next/dist/server/next-typescript.js +13 -0
- package/.next/standalone/node_modules/next/dist/server/next.js +485 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-baseline.js +25 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js +301 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/console-exit.js +49 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/console-file.js +56 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/date.js +52 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/error-inspect.js +8 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +577 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/global-behaviors.js +33 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/io-utils.js +102 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/node-crypto.js +103 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/process-error-handlers.js +170 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/random.js +28 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js +518 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/web-crypto.js +45 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment.js +19 -0
- package/.next/standalone/node_modules/next/dist/server/node-polyfill-crypto.js +21 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/absolute-filename-normalizer.js +33 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js +54 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-filename-normalizer.js +22 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js +40 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js +55 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/index.js +42 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/index.js +44 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js +55 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js +22 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-page-normalizer.js +19 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js +19 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/locale-route-normalizer.js +26 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/normalizer.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/normalizers.js +23 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/prefixing-normalizer.js +26 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/request/base-path.js +25 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/request/next-data.js +38 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/request/pathname-normalizer.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/request/prefix.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/request/rsc.js +19 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.js +33 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/request/suffix.js +27 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/underscore-normalizer.js +17 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js +17 -0
- package/.next/standalone/node_modules/next/dist/server/og/cache-image-response.js +341 -0
- package/.next/standalone/node_modules/next/dist/server/og/image-response.js +72 -0
- package/.next/standalone/node_modules/next/dist/server/patch-error-inspect.js +507 -0
- package/.next/standalone/node_modules/next/dist/server/pipe-readable.js +212 -0
- package/.next/standalone/node_modules/next/dist/server/post-process.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/render-result.js +246 -0
- package/.next/standalone/node_modules/next/dist/server/render.js +1150 -0
- package/.next/standalone/node_modules/next/dist/server/request/connection.js +135 -0
- package/.next/standalone/node_modules/next/dist/server/request/cookies.js +239 -0
- package/.next/standalone/node_modules/next/dist/server/request/draft-mode.js +238 -0
- package/.next/standalone/node_modules/next/dist/server/request/fallback-params.js +95 -0
- package/.next/standalone/node_modules/next/dist/server/request/headers.js +235 -0
- package/.next/standalone/node_modules/next/dist/server/request/io.js +96 -0
- package/.next/standalone/node_modules/next/dist/server/request/params.js +634 -0
- package/.next/standalone/node_modules/next/dist/server/request/pathname.js +141 -0
- package/.next/standalone/node_modules/next/dist/server/request/root-params.js +202 -0
- package/.next/standalone/node_modules/next/dist/server/request/search-params.js +582 -0
- package/.next/standalone/node_modules/next/dist/server/request/utils.js +84 -0
- package/.next/standalone/node_modules/next/dist/server/request-meta.js +55 -0
- package/.next/standalone/node_modules/next/dist/server/require-hook.js +82 -0
- package/.next/standalone/node_modules/next/dist/server/require.js +109 -0
- package/.next/standalone/node_modules/next/dist/server/response-cache/index.js +323 -0
- package/.next/standalone/node_modules/next/dist/server/response-cache/types.js +41 -0
- package/.next/standalone/node_modules/next/dist/server/response-cache/utils.js +104 -0
- package/.next/standalone/node_modules/next/dist/server/response-cache/web.js +101 -0
- package/.next/standalone/node_modules/next/dist/server/resume-data-cache/cache-store.js +101 -0
- package/.next/standalone/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js +142 -0
- package/.next/standalone/node_modules/next/dist/server/revalidation-utils.js +156 -0
- package/.next/standalone/node_modules/next/dist/server/route-definitions/app-page-route-definition.js +16 -0
- package/.next/standalone/node_modules/next/dist/server/route-definitions/app-route-route-definition.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-definitions/locale-route-definition.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-definitions/pages-api-route-definition.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-definitions/pages-route-definition.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-definitions/route-definition.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-kind.js +32 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js +239 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js +120 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +55 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js +43 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +91 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js +112 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js +77 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js +77 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js +28 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js +106 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js +42 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/file-reader.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js +30 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/manifest-loader.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js +34 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js +20 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js +21 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js +55 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js +64 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js +18 -0
- package/.next/standalone/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js +15 -0
- package/.next/standalone/node_modules/next/dist/server/route-matchers/locale-route-matcher.js +68 -0
- package/.next/standalone/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js +30 -0
- package/.next/standalone/node_modules/next/dist/server/route-matchers/pages-route-matcher.js +30 -0
- package/.next/standalone/node_modules/next/dist/server/route-matchers/route-matcher.js +54 -0
- package/.next/standalone/node_modules/next/dist/server/route-matches/app-page-route-match.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matches/app-route-route-match.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matches/locale-route-match.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matches/pages-api-route-match.js +16 -0
- package/.next/standalone/node_modules/next/dist/server/route-matches/pages-route-match.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matches/route-match.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +51 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/module.compiled.js +36 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/module.js +176 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/module.render.js +24 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/normalize-request-url.js +62 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js +87 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +140 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-compiler-runtime.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-dom.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-static.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-static.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +125 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-compiler-runtime.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom-server.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/auto-implement-methods.js +85 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/clean-url.js +24 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/get-pathname-from-absolute-path.js +29 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/is-static-gen-enabled.js +15 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/parsed-url-query-to-params.js +20 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/module.compiled.js +36 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/module.js +948 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/shared-modules.js +56 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/checks.js +45 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/builtin/_error.js +100 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/module.compiled.js +20 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/module.js +92 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/module.render.js +24 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/pages-handler.js +567 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js +102 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/html-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/router-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages-api/module.compiled.js +20 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages-api/module.js +58 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/route-module.js +697 -0
- package/.next/standalone/node_modules/next/dist/server/runtime-reacts.external.js +46 -0
- package/.next/standalone/node_modules/next/dist/server/send-payload.js +88 -0
- package/.next/standalone/node_modules/next/dist/server/send-response.js +70 -0
- package/.next/standalone/node_modules/next/dist/server/serve-static.js +66 -0
- package/.next/standalone/node_modules/next/dist/server/server-route-utils.js +30 -0
- package/.next/standalone/node_modules/next/dist/server/server-utils.js +340 -0
- package/.next/standalone/node_modules/next/dist/server/setup-http-agent-env.js +31 -0
- package/.next/standalone/node_modules/next/dist/server/stream-utils/encoded-tags.js +122 -0
- package/.next/standalone/node_modules/next/dist/server/stream-utils/node-buffered-transform-stream.js +51 -0
- package/.next/standalone/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +939 -0
- package/.next/standalone/node_modules/next/dist/server/stream-utils/uint8array-helpers.js +74 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/constant.js +98 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/index.js +199 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/rules/client-boundary.js +100 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/rules/config.js +534 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/rules/entry.js +149 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/rules/error.js +38 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/rules/metadata.js +234 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/rules/server-boundary.js +115 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/rules/server.js +79 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/utils.js +212 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/cache-life-profile.js +84 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/cache-life.js +102 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/cache-tag.js +52 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/clone-cache-entry.js +28 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/constants.js +44 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/handlers.js +274 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/tiered-cache-handler.js +145 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-errors.js +59 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-probe-globals.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-probe-scheduler.js +117 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +2610 -0
- package/.next/standalone/node_modules/next/dist/server/utils.js +73 -0
- package/.next/standalone/node_modules/next/dist/server/web/adapter.js +428 -0
- package/.next/standalone/node_modules/next/dist/server/web/edge-route-module-wrapper.js +136 -0
- package/.next/standalone/node_modules/next/dist/server/web/error.js +69 -0
- package/.next/standalone/node_modules/next/dist/server/web/exports/index.js +56 -0
- package/.next/standalone/node_modules/next/dist/server/web/get-edge-preview-props.js +23 -0
- package/.next/standalone/node_modules/next/dist/server/web/globals.js +128 -0
- package/.next/standalone/node_modules/next/dist/server/web/http.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/web/internal-edge-wait-until.js +64 -0
- package/.next/standalone/node_modules/next/dist/server/web/next-url.js +199 -0
- package/.next/standalone/node_modules/next/dist/server/web/sandbox/context.js +468 -0
- package/.next/standalone/node_modules/next/dist/server/web/sandbox/fetch-inline-assets.js +35 -0
- package/.next/standalone/node_modules/next/dist/server/web/sandbox/index.js +28 -0
- package/.next/standalone/node_modules/next/dist/server/web/sandbox/resource-managers.js +123 -0
- package/.next/standalone/node_modules/next/dist/server/web/sandbox/sandbox.js +137 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +293 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js +142 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js +30 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +226 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/cookies.js +29 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/fetch-event.js +98 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/image-response.js +22 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/request.js +99 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/response.js +136 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/revalidate.js +226 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/unstable-cache.js +307 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/unstable-no-store.js +51 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/url-pattern.js +13 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/user-agent.js +46 -0
- package/.next/standalone/node_modules/next/dist/server/web/types.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/web/utils.js +151 -0
- package/.next/standalone/node_modules/next/dist/server/web/web-on-close.js +87 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/action-revalidation-kind.js +31 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js +50 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/app-router-types.js +159 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/constants.js +453 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/deep-freeze.js +30 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/deployment-id.js +63 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/dset.js +34 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/encode-uri-path.js +15 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/entry-constants.js +36 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/error-source.js +36 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/errors/code-frame.js +20 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/errors/constants.js +19 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/errors/empty-generate-static-params-error.js +31 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/errors/hard-deprecated-config-error.js +25 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/escape-regexp.js +22 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/get-hostname.js +23 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/hash.js +42 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js +18 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/head.js +164 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js +60 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/html-context.shared-runtime.js +40 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/htmlescape.js +52 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js +25 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/i18n/get-locale-redirect.js +59 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js +54 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/image-blur-svg.js +22 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js +19 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/image-config.js +77 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/instant-messages.js +43 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/invariant-error.js +23 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/is-plain-object.js +42 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/is-thenable.js +20 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/isomorphic/path.js +14 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js +37 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.js +19 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/loadable.shared-runtime.js +246 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/match-local-pattern.js +46 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/match-remote-pattern.js +63 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/modern-browserslist-target.js +15 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/no-fallback-error.external.js +18 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/normalized-asset-prefix.js +28 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/absolute-path-to-page.js +26 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js +18 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js +18 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/get-page-paths.js +40 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/normalize-data-path.js +23 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/normalize-page-path.js +26 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js +19 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/remove-page-path-tail.js +20 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/promise-with-resolvers.js +26 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/request-insights.js +30 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/adapters.js +139 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/routes/app.js +158 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/add-locale.js +28 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js +20 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js +20 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/app-paths.js +62 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js +17 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js +70 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +16 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js +27 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/format-url.js +111 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +174 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js +52 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-route-from-asset-path.js +25 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js +90 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/html-bots.js +17 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/index.js +30 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js +33 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +108 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/is-bot.js +57 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js +26 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.js +31 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js +30 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-path.js +33 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +43 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-url.js +38 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js +20 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/path-match.js +49 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +293 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/querystring.js +79 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/relativize-url.js +40 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js +39 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js +22 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +116 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/route-match-utils.js +113 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +45 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/route-regex.js +256 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +244 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router-context.shared-runtime.js +18 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.js +99 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.js +66 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/segment.js +102 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js +35 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/server-reference-info.js +68 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/side-effect.js +63 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/size-limit.js +40 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/turbopack/internal-error.js +53 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/utils/reflect-utils.js +69 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/utils/warn-once.js +22 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/utils.js +216 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/zod.js +101 -0
- package/.next/standalone/node_modules/next/dist/telemetry/agent-name.js +20 -0
- package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +91 -0
- package/.next/standalone/node_modules/next/dist/telemetry/detached-flush.js +56 -0
- package/.next/standalone/node_modules/next/dist/telemetry/events/build.js +187 -0
- package/.next/standalone/node_modules/next/dist/telemetry/events/index.js +41 -0
- package/.next/standalone/node_modules/next/dist/telemetry/events/plugins.js +51 -0
- package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +55 -0
- package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +68 -0
- package/.next/standalone/node_modules/next/dist/telemetry/flush-telemetry.js +19 -0
- package/.next/standalone/node_modules/next/dist/telemetry/post-telemetry-payload.js +48 -0
- package/.next/standalone/node_modules/next/dist/telemetry/project-id.js +48 -0
- package/.next/standalone/node_modules/next/dist/telemetry/storage.js +305 -0
- package/.next/standalone/node_modules/next/dist/trace/index.js +58 -0
- package/.next/standalone/node_modules/next/dist/trace/report/index.js +37 -0
- package/.next/standalone/node_modules/next/dist/trace/report/to-json-build.js +40 -0
- package/.next/standalone/node_modules/next/dist/trace/report/to-json.js +171 -0
- package/.next/standalone/node_modules/next/dist/trace/report/to-telemetry.js +36 -0
- package/.next/standalone/node_modules/next/dist/trace/shared.js +39 -0
- package/.next/standalone/node_modules/next/dist/trace/trace.js +211 -0
- package/.next/standalone/node_modules/next/package.json +139 -0
- package/.next/standalone/node_modules/onvif/lib/cam.js +1301 -0
- package/.next/standalone/node_modules/onvif/lib/device.js +704 -0
- package/.next/standalone/node_modules/onvif/lib/discovery.js +212 -0
- package/.next/standalone/node_modules/onvif/lib/events.js +457 -0
- package/.next/standalone/node_modules/onvif/lib/imaging.js +717 -0
- package/.next/standalone/node_modules/onvif/lib/media.js +1552 -0
- package/.next/standalone/node_modules/onvif/lib/onvif.js +10 -0
- package/.next/standalone/node_modules/onvif/lib/ptz.js +612 -0
- package/.next/standalone/node_modules/onvif/lib/recording.js +330 -0
- package/.next/standalone/node_modules/onvif/lib/replay.js +45 -0
- package/.next/standalone/node_modules/onvif/lib/utils.js +171 -0
- package/.next/standalone/node_modules/onvif/package.json +74 -0
- package/.next/standalone/node_modules/react/cjs/react-compiler-runtime.production.js +16 -0
- package/.next/standalone/node_modules/react/cjs/react-jsx-dev-runtime.production.js +14 -0
- package/.next/standalone/node_modules/react/cjs/react-jsx-runtime.production.js +34 -0
- package/.next/standalone/node_modules/react/cjs/react.development.js +1284 -0
- package/.next/standalone/node_modules/react/cjs/react.production.js +542 -0
- package/.next/standalone/node_modules/react/compiler-runtime.js +14 -0
- package/.next/standalone/node_modules/react/index.js +7 -0
- package/.next/standalone/node_modules/react/jsx-dev-runtime.js +7 -0
- package/.next/standalone/node_modules/react/jsx-runtime.js +7 -0
- package/.next/standalone/node_modules/react/package.json +51 -0
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +6603 -0
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +6692 -0
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +7410 -0
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +7512 -0
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +7707 -0
- package/.next/standalone/node_modules/react-dom/cjs/react-dom.production.js +210 -0
- package/.next/standalone/node_modules/react-dom/index.js +38 -0
- package/.next/standalone/node_modules/react-dom/package.json +117 -0
- package/.next/standalone/node_modules/react-dom/server.browser.js +16 -0
- package/.next/standalone/node_modules/react-dom/server.edge.js +17 -0
- package/.next/standalone/node_modules/react-dom/server.node.js +18 -0
- package/.next/standalone/node_modules/react-dom/static.node.js +14 -0
- package/.next/standalone/node_modules/sax/lib/sax.js +1866 -0
- package/.next/standalone/node_modules/sax/package.json +34 -0
- package/.next/standalone/node_modules/semver/package.json +38 -0
- package/.next/standalone/node_modules/styled-jsx/dist/index/index.js +499 -0
- package/.next/standalone/node_modules/styled-jsx/index.js +1 -0
- package/.next/standalone/node_modules/styled-jsx/package.json +132 -0
- package/.next/standalone/node_modules/styled-jsx/style.js +1 -0
- package/.next/standalone/node_modules/xml2js/lib/bom.js +12 -0
- package/.next/standalone/node_modules/xml2js/lib/builder.js +127 -0
- package/.next/standalone/node_modules/xml2js/lib/defaults.js +72 -0
- package/.next/standalone/node_modules/xml2js/lib/parser.js +395 -0
- package/.next/standalone/node_modules/xml2js/lib/processors.js +34 -0
- package/.next/standalone/node_modules/xml2js/lib/xml2js.js +39 -0
- package/.next/standalone/node_modules/xml2js/package.json +93 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/DocumentPosition.js +12 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/NodeType.js +23 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/Utility.js +83 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/WriterState.js +10 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLAttribute.js +108 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLCData.js +36 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLCharacterData.js +79 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLComment.js +36 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js +64 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js +16 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDOMImplementation.js +32 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDOMStringList.js +28 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDTDAttList.js +55 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDTDElement.js +38 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDTDEntity.js +97 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDTDNotation.js +52 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDeclaration.js +43 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDocType.js +186 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDocument.js +242 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDocumentCB.js +528 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDummy.js +31 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLElement.js +298 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js +58 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLNode.js +785 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLNodeList.js +28 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js +49 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLRaw.js +35 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLStreamWriter.js +176 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLStringWriter.js +35 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLStringifier.js +240 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLText.js +69 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLWriterBase.js +428 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/index.js +65 -0
- package/.next/standalone/node_modules/xmlbuilder/package.json +39 -0
- package/.next/standalone/package.json +79 -0
- package/.next/standalone/public/file.svg +1 -0
- package/.next/standalone/public/globe.svg +1 -0
- package/.next/standalone/public/next.svg +1 -0
- package/.next/standalone/public/vercel.svg +1 -0
- package/.next/standalone/public/window.svg +1 -0
- package/.next/standalone/server.js +38 -0
- package/.next/standalone/src/app/api/recordings/clip/route.test.ts +83 -0
- package/.next/standalone/src/app/api/recordings/clip/route.ts +64 -0
- package/.next/standalone/src/app/api/recordings/route.test.ts +34 -0
- package/.next/standalone/src/app/api/recordings/route.ts +12 -0
- package/.next/standalone/src/app/recordings/clip-list.test.tsx +101 -0
- package/.next/standalone/src/app/recordings/clip-list.tsx +111 -0
- package/.next/standalone/src/app/recordings/page.test.tsx +68 -0
- package/.next/standalone/src/app/recordings/page.tsx +45 -0
- package/.next/static/chunks/0-4hhghprzhtw.js +1 -0
- package/.next/static/chunks/04l2v6p7fakl9.js +22 -0
- package/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/.next/static/chunks/11be91k_gj8bl.js +1 -0
- package/.next/static/chunks/1ng-ttmhg6s6h.css +3 -0
- package/.next/static/chunks/21qqwm68cop21.js +1 -0
- package/.next/static/chunks/24ug1160gwrkx.js +1 -0
- package/.next/static/chunks/27t_qfc-3_lzs.js +1 -0
- package/.next/static/chunks/2a1pvrfk7fzss.js +1 -0
- package/.next/static/chunks/2e7rb5bft-ekp.js +1 -0
- package/.next/static/chunks/2in4angy4ta5n.js +1 -0
- package/.next/static/chunks/2mmpezlrfmbu5.js +1 -0
- package/.next/static/chunks/2o10tcz0x86zp.js +1 -0
- package/.next/static/chunks/310vm2bl3xxpt.js +31 -0
- package/.next/static/chunks/32zls3n3ypa-e.js +1 -0
- package/.next/static/chunks/3fntmmi971322.js +1 -0
- package/.next/static/chunks/3jl0ivt7_0tuf.js +58 -0
- package/.next/static/chunks/turbopack-1gvya9vclt5yj.js +1 -0
- package/.next/static/media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2 +0 -0
- package/.next/static/media/53b9e256198e5412-s.390ncx5urfkfu.woff2 +0 -0
- package/.next/static/media/5ce348bf30bf5439-s.31988l_ccedte.woff2 +0 -0
- package/.next/static/media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2 +0 -0
- package/.next/static/media/7178b3e590c64307-s.21jp631_3pja2.woff2 +0 -0
- package/.next/static/media/797e433ab948586e-s.p.0r6juujl39pe6.woff2 +0 -0
- package/.next/static/media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2 +0 -0
- package/.next/static/media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2 +0 -0
- package/.next/static/media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2 +0 -0
- package/.next/static/media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2 +0 -0
- package/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
- package/.next/static/media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2 +0 -0
- package/.next/static/whCVdskjCUfluHW0q3o9p/_buildManifest.js +11 -0
- package/.next/static/whCVdskjCUfluHW0q3o9p/_clientMiddlewareManifest.js +6 -0
- package/.next/static/whCVdskjCUfluHW0q3o9p/_ssgManifest.js +1 -0
- package/LICENSE +21 -0
- package/README.md +173 -0
- package/cli/onvif-dashboard.mjs +128 -0
- package/cli/onvif-dashboard.test.ts +73 -0
- package/package.json +79 -0
- package/public/file.svg +1 -0
- package/public/globe.svg +1 -0
- package/public/next.svg +1 -0
- package/public/vercel.svg +1 -0
- package/public/window.svg +1 -0
- package/scripts/create-admin.mts +96 -0
- package/scripts/install-mediamtx.mts +18 -0
- package/src/lib/admin-file.ts +152 -0
- package/src/lib/first-run.ts +153 -0
- package/src/lib/mediamtx-install.ts +157 -0
- package/src/lib/paths.ts +54 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const path = require('path')
|
|
2
|
+
|
|
3
|
+
const dir = path.join(__dirname)
|
|
4
|
+
|
|
5
|
+
process.env.NODE_ENV = 'production'
|
|
6
|
+
process.chdir(__dirname)
|
|
7
|
+
|
|
8
|
+
const currentPort = parseInt(process.env.PORT, 10) || 3000
|
|
9
|
+
const hostname = process.env.HOSTNAME || '0.0.0.0'
|
|
10
|
+
|
|
11
|
+
let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
|
|
12
|
+
const nextConfig = {"env":{},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.ts","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"instrumentationClientInject":[],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":true,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/Users/michaelmainguy/WebstormProjects/cameras","enablePrerenderSourceMaps":true,"cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"appNewScrollHandler":true,"coldCacheBadge":false,"devValidationWorker":true,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"dynamicOnHover":false,"useOffline":false,"varyParams":true,"optimisticRouting":true,"instrumentationClientRouterTransitionEvents":false,"prefetchInlining":{"maxSize":2048,"maxBundleSize":10240},"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":9,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptOperationCache":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"devMemoryThresholdRestart":true,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"requestInsights":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"useTypeScriptCli":true,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":true,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"serverComponentsHmrCancellation":false,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"gestureTransition":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":"warn","lockDistDir":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":true,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","turbopackMemoryEvictionMode":"auto","optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"useCacheTimeout":54,"instantInsights":{"validationLevel":"warning"},"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.ts","outputFileTracingExcludes":{"/*":["bin/**/*",".data/**/*","node_modules/@img/**/*","node_modules/sharp/**/*"]},"serverExternalPackages":["onvif"],"repoRoot":"/Users/michaelmainguy/WebstormProjects/cameras","turbopack":{"root":"/Users/michaelmainguy/WebstormProjects/cameras"},"distDirRoot":".next"}
|
|
13
|
+
|
|
14
|
+
process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
|
|
15
|
+
|
|
16
|
+
require('next')
|
|
17
|
+
const { startServer } = require('next/dist/server/lib/start-server')
|
|
18
|
+
|
|
19
|
+
if (
|
|
20
|
+
Number.isNaN(keepAliveTimeout) ||
|
|
21
|
+
!Number.isFinite(keepAliveTimeout) ||
|
|
22
|
+
keepAliveTimeout < 0
|
|
23
|
+
) {
|
|
24
|
+
keepAliveTimeout = undefined
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
startServer({
|
|
28
|
+
dir,
|
|
29
|
+
isDev: false,
|
|
30
|
+
config: nextConfig,
|
|
31
|
+
hostname,
|
|
32
|
+
port: currentPort,
|
|
33
|
+
allowRetry: false,
|
|
34
|
+
keepAliveTimeout,
|
|
35
|
+
}).catch((err) => {
|
|
36
|
+
console.error(err);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
});
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { mkdtemp, rm, writeFile } from "node:fs/promises";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
5
|
+
|
|
6
|
+
// Access control is tested in src/app/api/access.test.ts; here requests are allowed.
|
|
7
|
+
vi.mock("@/lib/access", () => ({ apiAccessDenied: async () => null }));
|
|
8
|
+
|
|
9
|
+
const { GET, DELETE } = await import("./route");
|
|
10
|
+
|
|
11
|
+
const ID = "11111111-2222-3333-4444-555555555555";
|
|
12
|
+
const NAME = "2026-09-19_17-06-18-101298.mp4";
|
|
13
|
+
const CLIP = `cam-${ID}-sub-rec/${NAME}`;
|
|
14
|
+
const BODY = "0123456789";
|
|
15
|
+
|
|
16
|
+
let dir: string;
|
|
17
|
+
beforeEach(async () => {
|
|
18
|
+
dir = await mkdtemp(path.join(os.tmpdir(), "clip-route-"));
|
|
19
|
+
vi.stubEnv("RECORDINGS_DIR", dir);
|
|
20
|
+
const folder = path.join(dir, `cam-${ID}-sub-rec`);
|
|
21
|
+
await (await import("node:fs/promises")).mkdir(folder, { recursive: true });
|
|
22
|
+
await writeFile(path.join(folder, NAME), BODY);
|
|
23
|
+
});
|
|
24
|
+
afterEach(() => rm(dir, { recursive: true, force: true }));
|
|
25
|
+
|
|
26
|
+
const url = (clip = CLIP) => `http://localhost/api/recordings/clip?clip=${encodeURIComponent(clip)}`;
|
|
27
|
+
const get = (clip?: string, headers?: HeadersInit) => GET(new Request(url(clip), { headers }));
|
|
28
|
+
const text = async (res: Response) => Buffer.from(await res.arrayBuffer()).toString();
|
|
29
|
+
|
|
30
|
+
describe("GET /api/recordings/clip", () => {
|
|
31
|
+
it("serves the whole clip as seekable video", async () => {
|
|
32
|
+
const res = await get();
|
|
33
|
+
expect(res.status).toBe(200);
|
|
34
|
+
expect(res.headers.get("Content-Type")).toBe("video/mp4");
|
|
35
|
+
expect(res.headers.get("Accept-Ranges")).toBe("bytes");
|
|
36
|
+
expect(res.headers.get("Content-Length")).toBe(String(BODY.length));
|
|
37
|
+
expect(res.headers.get("Cache-Control")).toBe("no-store");
|
|
38
|
+
expect(await text(res)).toBe(BODY);
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
it("serves a byte range so the player can seek", async () => {
|
|
42
|
+
const res = await get(CLIP, { range: "bytes=2-5" });
|
|
43
|
+
expect(res.status).toBe(206);
|
|
44
|
+
expect(res.headers.get("Content-Range")).toBe(`bytes 2-5/${BODY.length}`);
|
|
45
|
+
expect(res.headers.get("Content-Length")).toBe("4");
|
|
46
|
+
expect(await text(res)).toBe("2345");
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it("serves an open-ended range and a suffix range", async () => {
|
|
50
|
+
expect(await text(await get(CLIP, { range: "bytes=7-" }))).toBe("789");
|
|
51
|
+
expect(await text(await get(CLIP, { range: "bytes=-3" }))).toBe("789");
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it("refuses a range past the end", async () => {
|
|
55
|
+
const res = await get(CLIP, { range: "bytes=50-60" });
|
|
56
|
+
expect(res.status).toBe(416);
|
|
57
|
+
expect(res.headers.get("Content-Range")).toBe(`bytes */${BODY.length}`);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it.each([
|
|
61
|
+
["a traversal", "../../etc/passwd"],
|
|
62
|
+
["a folder that isn't ours", `secrets/${NAME}`],
|
|
63
|
+
["a name that isn't a clip", `cam-${ID}-sub-rec/passwd`],
|
|
64
|
+
["a clip that doesn't exist", `cam-${ID}-main-rec/${NAME}`],
|
|
65
|
+
["nothing", ""],
|
|
66
|
+
])("is not found for %s", async (_l, clip) => {
|
|
67
|
+
expect((await get(clip)).status).toBe(404);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
describe("DELETE /api/recordings/clip", () => {
|
|
72
|
+
it("deletes the clip", async () => {
|
|
73
|
+
expect((await DELETE(new Request(url(), { method: "DELETE" }))).status).toBe(204);
|
|
74
|
+
expect((await get()).status).toBe(404);
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
it.each([["../../etc/passwd"], [""], [`cam-${ID}-sub-rec/2026-01-01_00-00-00-000000.mp4`]])(
|
|
78
|
+
"is not found for %j",
|
|
79
|
+
async (clip) => {
|
|
80
|
+
expect((await DELETE(new Request(url(clip), { method: "DELETE" }))).status).toBe(404);
|
|
81
|
+
},
|
|
82
|
+
);
|
|
83
|
+
});
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { createReadStream } from "node:fs";
|
|
2
|
+
import { stat } from "node:fs/promises";
|
|
3
|
+
import type { ReadableOptions } from "node:stream";
|
|
4
|
+
import { apiAccessDenied } from "@/lib/access";
|
|
5
|
+
import { clipFile, deleteClip } from "@/lib/recordings";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Plays or deletes one motion clip (vrek iss-v677bbd). The ?clip= id is matched against
|
|
9
|
+
* fixed patterns and resolved inside the recordings folder, so a request can only name a
|
|
10
|
+
* clip that folder actually holds (pri-m1csgrm).
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
function fileFor(request: Request): string | null {
|
|
14
|
+
return clipFile(new URL(request.url).searchParams.get("clip") ?? "");
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** Node's read stream as a web stream, for one byte range. */
|
|
18
|
+
function bodyFor(file: string, options: ReadableOptions & { start?: number; end?: number }) {
|
|
19
|
+
return createReadStream(file, options) as unknown as ReadableStream;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export async function GET(request: Request) {
|
|
23
|
+
const denied = await apiAccessDenied();
|
|
24
|
+
if (denied) return denied;
|
|
25
|
+
const file = fileFor(request);
|
|
26
|
+
const info = file ? await stat(file).catch(() => null) : null;
|
|
27
|
+
if (!info?.isFile()) return Response.json({ error: "No such clip" }, { status: 404 });
|
|
28
|
+
|
|
29
|
+
const headers: Record<string, string> = {
|
|
30
|
+
"Content-Type": "video/mp4",
|
|
31
|
+
"Cache-Control": "no-store",
|
|
32
|
+
"Accept-Ranges": "bytes",
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
// Seeking in a <video> needs range requests.
|
|
36
|
+
const range = /^bytes=(\d*)-(\d*)$/.exec(request.headers.get("range") ?? "");
|
|
37
|
+
if (range) {
|
|
38
|
+
const start = range[1] ? Number(range[1]) : Math.max(0, info.size - Number(range[2] || 0));
|
|
39
|
+
const end = range[1] && range[2] ? Math.min(Number(range[2]), info.size - 1) : info.size - 1;
|
|
40
|
+
if (start >= info.size || start > end) {
|
|
41
|
+
return new Response(null, { status: 416, headers: { "Content-Range": `bytes */${info.size}` } });
|
|
42
|
+
}
|
|
43
|
+
return new Response(bodyFor(file!, { start, end }), {
|
|
44
|
+
status: 206,
|
|
45
|
+
headers: {
|
|
46
|
+
...headers,
|
|
47
|
+
"Content-Range": `bytes ${start}-${end}/${info.size}`,
|
|
48
|
+
"Content-Length": String(end - start + 1),
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return new Response(bodyFor(file!, {}), {
|
|
54
|
+
headers: { ...headers, "Content-Length": String(info.size) },
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export async function DELETE(request: Request) {
|
|
59
|
+
const denied = await apiAccessDenied();
|
|
60
|
+
if (denied) return denied;
|
|
61
|
+
const clip = new URL(request.url).searchParams.get("clip") ?? "";
|
|
62
|
+
if (!(await deleteClip(clip))) return Response.json({ error: "No such clip" }, { status: 404 });
|
|
63
|
+
return new Response(null, { status: 204 });
|
|
64
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
import type { Clip } from "@/lib/recordings";
|
|
3
|
+
|
|
4
|
+
const listClips = vi.fn<(cameraId?: string) => Promise<Clip[]>>();
|
|
5
|
+
// Access control is tested in src/app/api/access.test.ts; here requests are allowed.
|
|
6
|
+
vi.mock("@/lib/access", () => ({ apiAccessDenied: async () => null }));
|
|
7
|
+
vi.mock("@/lib/recordings", () => ({ listClips }));
|
|
8
|
+
|
|
9
|
+
const { GET } = await import("./route");
|
|
10
|
+
|
|
11
|
+
const ID = "11111111-2222-3333-4444-555555555555";
|
|
12
|
+
const clip: Clip = { id: `cam-${ID}-sub-rec/2026-09-19_17-06-18-101298.mp4`, cameraId: ID, startedAt: "2026-09-19T22:06:18.000Z", bytes: 2582503 };
|
|
13
|
+
const get = (query = "") => GET(new Request(`http://localhost/api/recordings${query}`));
|
|
14
|
+
|
|
15
|
+
beforeEach(() => listClips.mockReset().mockResolvedValue([clip]));
|
|
16
|
+
|
|
17
|
+
describe("GET /api/recordings", () => {
|
|
18
|
+
it("lists every clip, uncached", async () => {
|
|
19
|
+
const res = await get();
|
|
20
|
+
expect(res.headers.get("Cache-Control")).toBe("no-store");
|
|
21
|
+
expect(await res.json()).toEqual({ clips: [clip] });
|
|
22
|
+
expect(listClips).toHaveBeenCalledWith(undefined);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it("narrows to one camera", async () => {
|
|
26
|
+
await get(`?camera=${ID}`);
|
|
27
|
+
expect(listClips).toHaveBeenCalledWith(ID);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it.each(["?camera=../etc", "?camera=", "?camera=nonsense"])("ignores a bad %s", async (query) => {
|
|
31
|
+
await get(query);
|
|
32
|
+
expect(listClips).toHaveBeenCalledWith(undefined);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { apiAccessDenied } from "@/lib/access";
|
|
3
|
+
import { cameraIdSchema } from "@/lib/camera-registry";
|
|
4
|
+
import { listClips } from "@/lib/recordings";
|
|
5
|
+
|
|
6
|
+
/** Motion clips on disk (vrek iss-v677bbd); ?camera=<id> narrows it to one camera. */
|
|
7
|
+
export async function GET(request: Request) {
|
|
8
|
+
const denied = await apiAccessDenied();
|
|
9
|
+
if (denied) return denied;
|
|
10
|
+
const camera = z.union([cameraIdSchema, z.null()]).catch(null).parse(new URL(request.url).searchParams.get("camera"));
|
|
11
|
+
return Response.json({ clips: await listClips(camera ?? undefined) }, { headers: { "Cache-Control": "no-store" } });
|
|
12
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
// @vitest-environment jsdom
|
|
2
|
+
import { fireEvent, render, screen, waitFor, within } from "@testing-library/react";
|
|
3
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
4
|
+
import type { Clip } from "@/lib/recordings";
|
|
5
|
+
import { stubFetch } from "../../../test/dom";
|
|
6
|
+
import ClipList from "./clip-list";
|
|
7
|
+
|
|
8
|
+
const refresh = vi.fn();
|
|
9
|
+
vi.mock("next/navigation", () => ({ useRouter: () => ({ refresh }) }));
|
|
10
|
+
|
|
11
|
+
const A = "11111111-2222-3333-4444-555555555555";
|
|
12
|
+
const B = "22ec0000-8b90-11b5-845d-d03bf404af54";
|
|
13
|
+
const clips: Clip[] = [
|
|
14
|
+
{ id: `cam-${A}-sub-rec/2026-09-19_17-06-18-101298.mp4`, cameraId: A, startedAt: "2026-09-19T22:06:18.000Z", bytes: 2_582_503 },
|
|
15
|
+
{ id: `cam-${B}-sub-rec/2026-09-19_08-00-00-000000.mp4`, cameraId: B, startedAt: "2026-09-19T13:00:00.000Z", bytes: 51_200 },
|
|
16
|
+
];
|
|
17
|
+
const names = { [A]: "Porch", [B]: "Garage" };
|
|
18
|
+
const list = (some = clips) => render(<ClipList clips={some} names={names} />);
|
|
19
|
+
const clipUrl = (clip: Clip) => `/api/recordings/clip?clip=${encodeURIComponent(clip.id)}`;
|
|
20
|
+
|
|
21
|
+
beforeEach(() => refresh.mockReset());
|
|
22
|
+
|
|
23
|
+
describe("ClipList", () => {
|
|
24
|
+
it("lists each clip with its camera, time and size", () => {
|
|
25
|
+
list();
|
|
26
|
+
expect(screen.getByText("Porch")).toBeTruthy();
|
|
27
|
+
expect(screen.getByText("Garage")).toBeTruthy();
|
|
28
|
+
expect(screen.getByText("2.5 MB")).toBeTruthy();
|
|
29
|
+
expect(screen.getByText("50 KB")).toBeTruthy();
|
|
30
|
+
expect(document.querySelectorAll("time")).toHaveLength(2);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it("says so when there is nothing recorded", () => {
|
|
34
|
+
list([]);
|
|
35
|
+
expect(screen.getByText(/No clips yet/)).toBeTruthy();
|
|
36
|
+
expect(screen.queryByRole("button", { name: "Play" })).toBeNull();
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it("names a camera that is no longer in the registry", () => {
|
|
40
|
+
render(<ClipList clips={clips} names={{}} />);
|
|
41
|
+
expect(screen.getAllByText("Unknown camera")).toHaveLength(2);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it("plays a clip from our own route and closes the player again", () => {
|
|
45
|
+
list();
|
|
46
|
+
fireEvent.click(screen.getAllByRole("button", { name: "Play" })[0]);
|
|
47
|
+
const video = document.querySelector("video")!;
|
|
48
|
+
expect(video.getAttribute("src")).toBe(clipUrl(clips[0]));
|
|
49
|
+
expect(screen.getByRole("heading").textContent).toContain("Porch");
|
|
50
|
+
|
|
51
|
+
fireEvent.click(screen.getByRole("button", { name: "Close" }));
|
|
52
|
+
expect(document.querySelector("video")).toBeNull();
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
it("asks before deleting, and can be cancelled", async () => {
|
|
56
|
+
const fetchMock = stubFetch({});
|
|
57
|
+
list();
|
|
58
|
+
fireEvent.click(screen.getAllByRole("button", { name: "Delete" })[0]);
|
|
59
|
+
expect(screen.getByRole("alertdialog", { name: "Delete this clip?" })).toBeTruthy();
|
|
60
|
+
|
|
61
|
+
fireEvent.click(screen.getByRole("button", { name: "Cancel" }));
|
|
62
|
+
expect(screen.queryByRole("alertdialog")).toBeNull();
|
|
63
|
+
expect(fetchMock).not.toHaveBeenCalled();
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
it("deletes a clip, closes it if it was playing, and reloads the list", async () => {
|
|
67
|
+
const fetchMock = stubFetch({
|
|
68
|
+
[`DELETE ${clipUrl(clips[0]).split("?")[0]}`]: () => new Response(null, { status: 204 }),
|
|
69
|
+
});
|
|
70
|
+
list();
|
|
71
|
+
fireEvent.click(screen.getAllByRole("button", { name: "Play" })[0]);
|
|
72
|
+
fireEvent.click(screen.getAllByRole("button", { name: "Delete" })[0]);
|
|
73
|
+
fireEvent.click(within(screen.getByRole("alertdialog")).getByRole("button", { name: "Delete" }));
|
|
74
|
+
|
|
75
|
+
await waitFor(() => expect(refresh).toHaveBeenCalled());
|
|
76
|
+
expect(String(fetchMock.mock.calls[0][0])).toBe(clipUrl(clips[0]));
|
|
77
|
+
expect(document.querySelector("video")).toBeNull();
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
it("says when a delete fails, and keeps the clip listed", async () => {
|
|
81
|
+
stubFetch({
|
|
82
|
+
[`DELETE ${clipUrl(clips[0]).split("?")[0]}`]: () => new Response(null, { status: 500 }),
|
|
83
|
+
});
|
|
84
|
+
list();
|
|
85
|
+
fireEvent.click(screen.getAllByRole("button", { name: "Delete" })[0]);
|
|
86
|
+
fireEvent.click(within(screen.getByRole("alertdialog")).getByRole("button", { name: "Delete" }));
|
|
87
|
+
expect((await screen.findByRole("alert")).textContent).toContain("could not be deleted");
|
|
88
|
+
expect(refresh).not.toHaveBeenCalled();
|
|
89
|
+
expect(screen.getByText("Porch")).toBeTruthy();
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
it("treats a clip that is already gone as deleted", async () => {
|
|
93
|
+
stubFetch({
|
|
94
|
+
[`DELETE ${clipUrl(clips[0]).split("?")[0]}`]: () => new Response(null, { status: 404 }),
|
|
95
|
+
});
|
|
96
|
+
list();
|
|
97
|
+
fireEvent.click(screen.getAllByRole("button", { name: "Delete" })[0]);
|
|
98
|
+
fireEvent.click(within(screen.getByRole("alertdialog")).getByRole("button", { name: "Delete" }));
|
|
99
|
+
await waitFor(() => expect(refresh).toHaveBeenCalled());
|
|
100
|
+
});
|
|
101
|
+
});
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { CircleAlert, Film, Play, Trash2, X } from "lucide-react";
|
|
4
|
+
import { useRouter } from "next/navigation";
|
|
5
|
+
import { useState } from "react";
|
|
6
|
+
import type { Clip } from "@/lib/recordings";
|
|
7
|
+
|
|
8
|
+
/** "2.4 MB" */
|
|
9
|
+
function sizeLabel(bytes: number): string {
|
|
10
|
+
return bytes >= 1024 * 1024 ? `${(bytes / 1024 / 1024).toFixed(1)} MB` : `${Math.round(bytes / 1024)} KB`;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const clipUrl = (id: string) => `/api/recordings/clip?clip=${encodeURIComponent(id)}`;
|
|
14
|
+
|
|
15
|
+
export default function ClipList({ clips, names }: { clips: Clip[]; names: Record<string, string> }) {
|
|
16
|
+
const router = useRouter();
|
|
17
|
+
const [playing, setPlaying] = useState<Clip | null>(null);
|
|
18
|
+
const [confirming, setConfirming] = useState<string | null>(null);
|
|
19
|
+
const [error, setError] = useState<string | null>(null);
|
|
20
|
+
|
|
21
|
+
async function remove(clip: Clip) {
|
|
22
|
+
setConfirming(null);
|
|
23
|
+
setError(null);
|
|
24
|
+
const res = await fetch(clipUrl(clip.id), { method: "DELETE" }).catch(() => null);
|
|
25
|
+
if (!res || (!res.ok && res.status !== 404)) {
|
|
26
|
+
setError("That clip could not be deleted.");
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (playing?.id === clip.id) setPlaying(null);
|
|
30
|
+
router.refresh();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (clips.length === 0) {
|
|
34
|
+
return (
|
|
35
|
+
<p className="text-sm text-zinc-600 dark:text-zinc-400">
|
|
36
|
+
No clips yet. One is recorded whenever a camera reports motion.
|
|
37
|
+
</p>
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<div className="flex flex-col gap-4">
|
|
43
|
+
{playing && (
|
|
44
|
+
<div className="rounded-lg border border-zinc-200 p-3 dark:border-zinc-800">
|
|
45
|
+
<div className="flex items-center justify-between gap-2">
|
|
46
|
+
<h2 className="text-sm font-medium">
|
|
47
|
+
{names[playing.cameraId] ?? "Unknown camera"} · {new Date(playing.startedAt).toLocaleString()}
|
|
48
|
+
</h2>
|
|
49
|
+
<button onClick={() => setPlaying(null)} className="inline-flex items-center gap-1 text-sm underline">
|
|
50
|
+
<X aria-hidden className="size-4" />
|
|
51
|
+
Close
|
|
52
|
+
</button>
|
|
53
|
+
</div>
|
|
54
|
+
<video key={playing.id} src={clipUrl(playing.id)} controls autoPlay className="mt-2 w-full rounded bg-black" />
|
|
55
|
+
</div>
|
|
56
|
+
)}
|
|
57
|
+
|
|
58
|
+
{error && (
|
|
59
|
+
<p role="alert" className="inline-flex items-center gap-1.5 text-sm text-red-600">
|
|
60
|
+
<CircleAlert aria-hidden className="size-4 shrink-0" />
|
|
61
|
+
{error}
|
|
62
|
+
</p>
|
|
63
|
+
)}
|
|
64
|
+
|
|
65
|
+
<ul className="flex flex-col gap-2">
|
|
66
|
+
{clips.map((clip) => (
|
|
67
|
+
<li
|
|
68
|
+
key={clip.id}
|
|
69
|
+
className="flex flex-wrap items-center justify-between gap-2 rounded border border-zinc-200 px-3 py-2 text-sm dark:border-zinc-800"
|
|
70
|
+
>
|
|
71
|
+
<span className="inline-flex items-center gap-2">
|
|
72
|
+
<Film aria-hidden className="size-4 shrink-0 text-zinc-500" />
|
|
73
|
+
<span>
|
|
74
|
+
<span className="font-medium">{names[clip.cameraId] ?? "Unknown camera"}</span>{" "}
|
|
75
|
+
<time dateTime={clip.startedAt}>{new Date(clip.startedAt).toLocaleString()}</time>
|
|
76
|
+
</span>
|
|
77
|
+
<span className="text-zinc-500">{sizeLabel(clip.bytes)}</span>
|
|
78
|
+
</span>
|
|
79
|
+
|
|
80
|
+
{confirming === clip.id ? (
|
|
81
|
+
<span role="alertdialog" aria-label="Delete this clip?" className="flex items-center gap-2">
|
|
82
|
+
<span>Delete this clip?</span>
|
|
83
|
+
<button
|
|
84
|
+
onClick={() => remove(clip)}
|
|
85
|
+
className="inline-flex items-center gap-1 rounded bg-red-600 px-2 py-1 text-white"
|
|
86
|
+
>
|
|
87
|
+
<Trash2 aria-hidden className="size-4" />
|
|
88
|
+
Delete
|
|
89
|
+
</button>
|
|
90
|
+
<button onClick={() => setConfirming(null)} className="underline">
|
|
91
|
+
Cancel
|
|
92
|
+
</button>
|
|
93
|
+
</span>
|
|
94
|
+
) : (
|
|
95
|
+
<span className="flex items-center gap-3">
|
|
96
|
+
<button onClick={() => setPlaying(clip)} className="inline-flex items-center gap-1 underline">
|
|
97
|
+
<Play aria-hidden className="size-4" />
|
|
98
|
+
Play
|
|
99
|
+
</button>
|
|
100
|
+
<button onClick={() => setConfirming(clip.id)} className="inline-flex items-center gap-1 underline">
|
|
101
|
+
<Trash2 aria-hidden className="size-4" />
|
|
102
|
+
Delete
|
|
103
|
+
</button>
|
|
104
|
+
</span>
|
|
105
|
+
)}
|
|
106
|
+
</li>
|
|
107
|
+
))}
|
|
108
|
+
</ul>
|
|
109
|
+
</div>
|
|
110
|
+
);
|
|
111
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { renderToStaticMarkup } from "react-dom/server";
|
|
2
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
3
|
+
import type { Clip } from "@/lib/recordings";
|
|
4
|
+
|
|
5
|
+
const requirePageAccess = vi.fn();
|
|
6
|
+
vi.mock("@/lib/access", () => ({ requirePageAccess }));
|
|
7
|
+
|
|
8
|
+
const listClips = vi.fn<(id?: string) => Promise<Clip[]>>();
|
|
9
|
+
const allCameraRecords = vi.fn();
|
|
10
|
+
vi.mock("@/lib/recordings", async (importOriginal) => ({
|
|
11
|
+
...(await importOriginal<typeof import("@/lib/recordings")>()),
|
|
12
|
+
listClips,
|
|
13
|
+
}));
|
|
14
|
+
vi.mock("@/lib/camera-registry", async (importOriginal) => ({
|
|
15
|
+
...(await importOriginal<typeof import("@/lib/camera-registry")>()),
|
|
16
|
+
allCameraRecords,
|
|
17
|
+
}));
|
|
18
|
+
vi.mock("./clip-list", () => ({
|
|
19
|
+
default: (props: object) => <div data-testid="clips">{JSON.stringify(props)}</div>,
|
|
20
|
+
}));
|
|
21
|
+
|
|
22
|
+
const { default: RecordingsPage } = await import("./page");
|
|
23
|
+
|
|
24
|
+
const ID = "22ec0000-8b90-11b5-845d-d03bf404af54";
|
|
25
|
+
const clip: Clip = { id: `cam-${ID}-sub-rec/2026-09-19_17-06-18-101298.mp4`, cameraId: ID, startedAt: "2026-09-19T22:06:18.000Z", bytes: 1000 };
|
|
26
|
+
const record = { id: ID, urn: `urn:uuid:${ID}`, host: "192.168.17.129", port: 80, name: "I91ET", lastSeen: "" };
|
|
27
|
+
const page = (camera?: string) =>
|
|
28
|
+
RecordingsPage({ params: Promise.resolve({}), searchParams: Promise.resolve(camera === undefined ? {} : { camera }) });
|
|
29
|
+
const markup = async (camera?: string) => renderToStaticMarkup(await page(camera)).replace(/"/g, '"');
|
|
30
|
+
|
|
31
|
+
beforeEach(() => {
|
|
32
|
+
requirePageAccess.mockReset().mockResolvedValue(undefined);
|
|
33
|
+
listClips.mockReset().mockResolvedValue([clip]);
|
|
34
|
+
allCameraRecords.mockReset().mockResolvedValue([record]);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
describe("/recordings", () => {
|
|
38
|
+
it("checks access before reading anything", async () => {
|
|
39
|
+
requirePageAccess.mockRejectedValue(new Error("redirect /login"));
|
|
40
|
+
await expect(page()).rejects.toThrow("redirect /login");
|
|
41
|
+
expect(listClips).not.toHaveBeenCalled();
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it("passes every clip and the camera names to the list", async () => {
|
|
45
|
+
const html = await markup();
|
|
46
|
+
expect(listClips).toHaveBeenCalledWith(undefined);
|
|
47
|
+
expect(html).toContain(JSON.stringify({ clips: [clip], names: { [ID]: "I91ET" } }));
|
|
48
|
+
expect(html).toContain("sub stream");
|
|
49
|
+
expect(html).toContain("7 days");
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
it("narrows to one camera and offers a way back to all of them", async () => {
|
|
53
|
+
const html = await markup(ID);
|
|
54
|
+
expect(listClips).toHaveBeenCalledWith(ID);
|
|
55
|
+
expect(html).toContain("Recordings: I91ET");
|
|
56
|
+
expect(html).toContain('href="/recordings"');
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
it("ignores a camera parameter that isn't an id", async () => {
|
|
60
|
+
await markup("../etc");
|
|
61
|
+
expect(listClips).toHaveBeenCalledWith(undefined);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it("falls back to the address for an unnamed camera", async () => {
|
|
65
|
+
allCameraRecords.mockResolvedValue([{ ...record, name: undefined }]);
|
|
66
|
+
expect(await markup(ID)).toContain("Recordings: 192.168.17.129:80");
|
|
67
|
+
});
|
|
68
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ArrowLeft, Film } from "lucide-react";
|
|
2
|
+
import Link from "next/link";
|
|
3
|
+
import { requirePageAccess } from "@/lib/access";
|
|
4
|
+
import { allCameraRecords } from "@/lib/camera-registry";
|
|
5
|
+
import { cameraIdSchema } from "@/lib/camera-registry";
|
|
6
|
+
import { keepDays, listClips, recordStream } from "@/lib/recordings";
|
|
7
|
+
import ClipList from "./clip-list";
|
|
8
|
+
|
|
9
|
+
/** Motion clips, newest first (vrek iss-v677bbd). */
|
|
10
|
+
export default async function RecordingsPage({ searchParams }: PageProps<"/recordings">) {
|
|
11
|
+
await requirePageAccess();
|
|
12
|
+
const { camera } = await searchParams;
|
|
13
|
+
const only = cameraIdSchema.safeParse(camera).data;
|
|
14
|
+
const [clips, cameras] = await Promise.all([listClips(only), allCameraRecords()]);
|
|
15
|
+
const names = Object.fromEntries(cameras.map((c) => [c.id, c.name ?? `${c.host}:${c.port}`]));
|
|
16
|
+
const shown = only ? names[only] : null;
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<main className="mx-auto w-full max-w-4xl flex-1 px-4 py-8 font-sans">
|
|
20
|
+
<Link href="/" className="inline-flex items-center gap-1 text-sm text-zinc-600 underline dark:text-zinc-400">
|
|
21
|
+
<ArrowLeft aria-hidden className="size-4" />
|
|
22
|
+
All cameras
|
|
23
|
+
</Link>
|
|
24
|
+
<h1 className="mt-4 flex items-center gap-2 text-2xl font-semibold tracking-tight">
|
|
25
|
+
<Film aria-hidden className="size-6" />
|
|
26
|
+
Recordings{shown ? `: ${shown}` : ""}
|
|
27
|
+
</h1>
|
|
28
|
+
<p className="mt-1 text-sm text-zinc-600 dark:text-zinc-400">
|
|
29
|
+
Clips are recorded from each camera's {recordStream()} stream while it reports motion, and
|
|
30
|
+
deleted after {keepDays()} days.
|
|
31
|
+
</p>
|
|
32
|
+
{only && (
|
|
33
|
+
<p className="mt-1 text-sm">
|
|
34
|
+
<Link href="/recordings" className="underline">
|
|
35
|
+
Show every camera
|
|
36
|
+
</Link>
|
|
37
|
+
</p>
|
|
38
|
+
)}
|
|
39
|
+
|
|
40
|
+
<div className="mt-6">
|
|
41
|
+
<ClipList clips={clips} names={names} />
|
|
42
|
+
</div>
|
|
43
|
+
</main>
|
|
44
|
+
);
|
|
45
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,28298,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useRouterBFCache",{enumerable:!0,get:function(){return a}});let n=e.r(71645);function a(e,t,r){let[a,u]=(0,n.useState)(()=>({tree:e,cacheNode:t,stateKey:r,next:null}));if(a.tree===e)return a;let l={tree:e,cacheNode:t,stateKey:r,next:null},i=1,s=a,o=l;for(;null!==s&&i<1;){if(s.stateKey===r){o.next=s.next;break}{i++;let e={tree:s.tree,cacheNode:s.cacheNode,stateKey:s.stateKey,next:null};o.next=e,o=e}s=s.next}return u(l),l}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},47257,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientPageRoot",{enumerable:!0,get:function(){return o}});let n=e.r(43476),a=e.r(8372),u=e.r(71645),l=e.r(33906),i=e.r(61994),s=e.r(15783);function o({Component:e,serverProvidedParams:t}){let r,c;if(null!==t)r=t.searchParams,c=t.params;else{let e=(0,u.use)(a.LayoutRouterContext);c=null!==e?e.parentParams:{},r=(0,l.urlSearchParamsToParsedUrlQuery)((0,u.use)(i.SearchParamsContext))}let d=(0,s.createClientSearchParams)(r),f=(0,s.createClientParams)(c);return(0,n.jsx)(e,{params:f,searchParams:d})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},92825,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ClientSegmentRoot",{enumerable:!0,get:function(){return i}});let n=e.r(43476),a=e.r(8372),u=e.r(71645),l=e.r(15783);function i({Component:e,slots:t,serverProvidedParams:r}){let s;if(null!==r)s=r.params;else{let e=(0,u.use)(a.LayoutRouterContext);s=null!==e?e.parentParams:{}}let o=(0,l.createClientParams)(s);return(0,n.jsx)(e,{...t,params:o})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68017,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return c}});let n=e.r(90809),a=e.r(43476),u=n._(e.r(71645)),l=e.r(90373),i=e.r(54394),s=e.r(8372);class o extends u.default.Component{constructor(e){super(e),this.state={triggeredStatus:void 0,previousPathname:e.pathname}}componentDidCatch(){}static getDerivedStateFromError(e){if((0,i.isHTTPAccessFallbackError)(e))return{triggeredStatus:(0,i.getAccessFallbackHTTPStatus)(e)};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.triggeredStatus?{triggeredStatus:void 0,previousPathname:e.pathname}:{triggeredStatus:t.triggeredStatus,previousPathname:e.pathname}}render(){let{notFound:e,forbidden:t,unauthorized:r,children:n}=this.props,{triggeredStatus:u}=this.state,l={[i.HTTPAccessErrorStatus.NOT_FOUND]:e,[i.HTTPAccessErrorStatus.FORBIDDEN]:t,[i.HTTPAccessErrorStatus.UNAUTHORIZED]:r};if(u){let s=u===i.HTTPAccessErrorStatus.NOT_FOUND&&e,o=u===i.HTTPAccessErrorStatus.FORBIDDEN&&t,c=u===i.HTTPAccessErrorStatus.UNAUTHORIZED&&r;return s||o||c?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("meta",{name:"robots",content:"noindex"}),!1,l[u]]}):n}return n}}function c({notFound:e,forbidden:t,unauthorized:r,children:n}){let i=(0,l.useUntrackedPathname)(),d=(0,u.useContext)(s.MissingSlotContext);return e||t||r?(0,a.jsx)(o,{pathname:i,notFound:e,forbidden:t,unauthorized:r,missingSlots:d,children:n}):(0,a.jsx)(a.Fragment,{children:n})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22976,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={InstantValidationBoundaryContext:function(){return u},PlaceValidationBoundaryBelowThisLevel:function(){return l},RenderValidationBoundaryAtThisLevel:function(){return i},SlotMarker:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let u=null,l=null,i=null,s=null;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},77694,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={InstantValidationBoundaryContext:function(){return u.InstantValidationBoundaryContext},PlaceValidationBoundaryBelowThisLevel:function(){return u.PlaceValidationBoundaryBelowThisLevel},RenderValidationBoundaryAtThisLevel:function(){return u.RenderValidationBoundaryAtThisLevel},SlotMarker:function(){return u.SlotMarker}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let u=e.r(22976);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},39756,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={LoadingBoundaryProvider:function(){return M},default:function(){return T}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let u=e.r(55682),l=e.r(90809),i=e.r(43476),s=l._(e.r(71645)),o=u._(e.r(74080)),c=e.r(8372),d=e.r(1244),f=e.r(72383),h=e.r(91915),y=e.r(58442),p=e.r(68017);e.r(77694);let m=e.r(70725),b=e.r(28298);e.r(74180);let g=e.r(61994),v=e.r(33906),O=e.r(95871);o.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function P(e,t,r){let n=e.getClientRects();if(0===n.length)return 0;let a=1/0;for(let e=0;e<n.length;e++){let t=n[e];t.top<a&&(a=t.top)}return a>=r()&&a<=t?1:2}s.default.Component;let _=function(e){let t=s.default.useRef(null);return(0,s.useLayoutEffect)(()=>{let{focusAndScrollRef:r,cacheNode:n}=e,a=r.forceScroll?r.scrollRef:n.scrollRef;if(null===a||!a.current)return;let u=null,l=r.hashFragment;if(l){var i;if(null===(u="top"===(i=l)?document.body:document.getElementById(i)??document.getElementsByName(i)[0]??null)){a.current=!1,r.onlyHashChange=!1,r.hashFragment=null;return}}else u=t.current;if(null===u)return;let s=!1;(0,h.disableSmoothScrollDuringRouteTransition)(()=>{let e=document.documentElement,t=null,r=null,n=null,i=()=>{var r,a;let u,l;return null===n&&(r=e,a=t,n=!Number.isFinite(l=Number.parseFloat(u=getComputedStyle(r).scrollPaddingTop))||l<0?0:u.endsWith("px")?l:u.endsWith("%")?l/100*a:0),n};(l||(t=e.clientHeight,0!==(r=P(u,t,i))))&&((s=!0,a.current=!1,l)?u.scrollIntoView():1!==r&&(e.scrollTop=0,2===P(u,t,i)&&u.scrollIntoView()))},{dontForceLayout:!0,onlyHashChange:r.onlyHashChange}),s&&(r.onlyHashChange=!1,r.hashFragment=null)},void 0),(0,i.jsx)(s.Fragment,{ref:t,children:e.children})};function C({children:e,cacheNode:t}){let r=(0,s.useContext)(c.GlobalLayoutRouterContext);if(!r)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,i.jsx)(_,{focusAndScrollRef:r.focusAndScrollRef,cacheNode:t,children:e})}function j({tree:e,segmentPath:t,debugNameContext:r,cacheNode:n,params:a,url:u,isActive:l}){let o,f=(0,s.useContext)(c.GlobalLayoutRouterContext);if((0,s.useContext)(g.NavigationPromisesContext),!f)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let h=null!==n?n:(0,s.use)(d.unresolvedThenable),y=null!==h.prefetchRsc?h.prefetchRsc:h.rsc,p=(0,s.useDeferredValue)(h.rsc,y);if((0,O.isDeferredRsc)(p)){let e=(0,s.use)(p);null===e&&(0,s.use)(d.unresolvedThenable),o=e}else null===p&&(0,s.use)(d.unresolvedThenable),o=p;let m=o;return(0,i.jsx)(c.LayoutRouterContext.Provider,{value:{parentTree:e,parentCacheNode:h,parentSegmentPath:t,parentParams:a,parentLoadingData:null,debugNameContext:r,url:u,isActive:l},children:m})}function M({loading:e,children:t}){let r=(0,s.use)(c.LayoutRouterContext);return null===r?t:(0,i.jsx)(c.LayoutRouterContext.Provider,{value:{parentTree:r.parentTree,parentCacheNode:r.parentCacheNode,parentSegmentPath:r.parentSegmentPath,parentParams:r.parentParams,parentLoadingData:e,debugNameContext:r.debugNameContext,url:r.url,isActive:r.isActive},children:t})}function x({name:e,loading:t,children:r}){if(null!==t){let n=t[0],a=t[1],u=t[2];return(0,i.jsx)(s.Suspense,{name:e,fallback:(0,i.jsxs)(i.Fragment,{children:[a,u,n]}),children:r})}return(0,i.jsx)(i.Fragment,{children:r})}function T({parallelRouterKey:e,error:t,errorStyles:r,errorScripts:n,templateStyles:a,templateScripts:u,template:l,notFound:o,forbidden:h,unauthorized:g,segmentViewBoundaries:O}){let P=(0,s.useContext)(c.LayoutRouterContext);if(!P)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree:_,parentCacheNode:M,parentSegmentPath:S,parentParams:R,parentLoadingData:q,url:E,isActive:A,debugNameContext:D}=P,Q=_[0],F=null===S?[e]:S.concat([Q,e]),N=_[1][e],w=M.slots;(void 0===N||null===w)&&(0,s.use)(d.unresolvedThenable);let B=N[0],H=w[e]??null,K=(0,m.createRouterCacheKey)(B,!0),L=(0,b.useRouterBFCache)(N,H,K),I=[];do{let e=L.tree,s=L.cacheNode,d=L.stateKey,m=e[0],b=R;if(Array.isArray(m)){let e=m[0],t=m[1],r=m[2],n=(0,v.getParamValueFromCacheKey)(t,r);null!==n&&(b={...R,[e]:n})}let O=function(e){if("/"===e)return"/";if("string"==typeof e)if("(__SLOT__)"===e)return;else return e+"/";return e[1]+"/"}(m),P=O??D,_=void 0===O?void 0:D,M=(0,i.jsxs)(C,{cacheNode:s,children:[(0,i.jsx)(f.ErrorBoundary,{errorComponent:t,errorStyles:r,errorScripts:n,children:(0,i.jsx)(x,{name:_,loading:q,children:(0,i.jsx)(p.HTTPAccessFallbackBoundary,{notFound:o,forbidden:h,unauthorized:g,children:(0,i.jsxs)(y.RedirectBoundary,{children:[(0,i.jsx)(j,{url:E,tree:e,params:b,cacheNode:s,segmentPath:F,debugNameContext:P,isActive:A&&d===K}),null]})})})}),null]}),T=(0,i.jsxs)(c.TemplateContext.Provider,{value:M,children:[a,u,l]},d);I.push(T),L=L.next}while(null!==L)return I}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},37457,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return i}});let n=e.r(90809),a=e.r(43476),u=n._(e.r(71645)),l=e.r(8372);function i(){let e=(0,u.useContext)(l.TemplateContext);return(0,a.jsx)(a.Fragment,{children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},6831,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return a}});let n=new WeakMap;function a(e){let t=n.get(e);if(t)return t;let r=Promise.resolve(e);return n.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},97689,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(6831).createRenderParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},93504,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return a}});let n=new WeakMap;function a(e){let t=n.get(e);if(t)return t;let r=Promise.resolve(e);return n.set(e,r),r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},66996,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return n}});let n=e.r(93504).createRenderSearchParamsFromClient;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},15783,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createClientParams:function(){return u.createRenderParamsFromClient},createClientSearchParams:function(){return l.createRenderSearchParamsFromClient}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let u=e.r(97689),l=e.r(66996);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},27201,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"IconMark",{enumerable:!0,get:function(){return a}});let n=e.r(43476),a=()=>"u">typeof window?null:(0,n.jsx)("meta",{name:"«nxt-icon»"})},91915,(e,t,r)=>{"use strict";function n(e,t={}){if(t.onlyHashChange)return void e();let r=document.documentElement;if("smooth"!==r.dataset.scrollBehavior)return void e();let a=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=a}e.i(47167),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"disableSmoothScrollDuringRouteTransition",{enumerable:!0,get:function(){return n}})},44636,e=>{"use strict";var t=e.i(43476),r=e.i(19273),n=e.i(75555),a=e.i(40143),u=e.i(14448),l=e.i(15823),i=e.i(14272),s=class extends l.Subscribable{#e;#t;#r;constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#r=0}build(e,t,r){let n=new i.Mutation({client:e,mutationCache:this,mutationId:++this.#r,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){this.#e.add(e);let t=o(e);if("string"==typeof t){let r=this.#t.get(t);r?r.push(e):this.#t.set(t,[e])}this.notify({type:"added",mutation:e})}remove(e){if(this.#e.delete(e)){let t=o(e);if("string"==typeof t){let r=this.#t.get(t);if(r)if(r.length>1){let t=r.indexOf(e);-1!==t&&r.splice(t,1)}else r[0]===e&&this.#t.delete(t)}}this.notify({type:"removed",mutation:e})}canRun(e){let t=o(e);if("string"!=typeof t)return!0;{let r=this.#t.get(t)?.find(e=>"pending"===e.state.status);return!r||r===e}}runNext(e){let t=o(e);return"string"==typeof t?this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){a.notifyManager.batch(()=>{this.#e.forEach(e=>{this.notify({type:"removed",mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,r.matchMutation)(t,e))}findAll(e={}){return this.getAll().filter(t=>(0,r.matchMutation)(e,t))}notify(e){a.notifyManager.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return a.notifyManager.batch(()=>Promise.all(e.map(e=>e.continue().catch(r.noop))))}};function o(e){return e.options.scope?.id}var c=l,d=e.i(86491),f=class extends c.Subscribable{#n;constructor(e={}){super(),this.config=e,this.#n=new Map}build(e,t,n){let a=t.queryKey,u=t.queryHash??(0,r.hashQueryKeyByOptions)(a,t),l=this.get(u);return l||(l=new d.Query({client:e,queryKey:a,queryHash:u,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(a)}),this.add(l)),l}add(e){this.#n.has(e.queryHash)||(this.#n.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){let t=this.#n.get(e.queryHash);t&&(e.destroy(),t===e&&this.#n.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){a.notifyManager.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#n.get(e)}getAll(){return[...this.#n.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>(0,r.matchQuery)(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>(0,r.matchQuery)(e,t)):t}notify(e){a.notifyManager.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){a.notifyManager.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){a.notifyManager.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},h=class{#a;#u;#l;#i;#s;#o;#c;#d;constructor(e={}){this.#a=e.queryCache||new f,this.#u=e.mutationCache||new s,this.#l=e.defaultOptions||{},this.#i=new Map,this.#s=new Map,this.#o=0}mount(){this.#o++,1===this.#o&&(this.#c=n.focusManager.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#a.onFocus())}),this.#d=u.onlineManager.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#a.onOnline())}))}unmount(){this.#o--,0===this.#o&&(this.#c?.(),this.#c=void 0,this.#d?.(),this.#d=void 0)}isFetching(e){return this.#a.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#u.findAll({...e,status:"pending"}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#a.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#a.build(this,t),a=n.state.data;return void 0===a?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime((0,r.resolveQueryValue)(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(a))}getQueriesData(e){return this.#a.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let a=this.defaultQueryOptions({queryKey:e}),u=this.#a.get(a.queryHash)?.state.data,l=(0,r.functionalUpdate)(t,u);if(void 0!==l)return this.#a.build(this,a).setData(l,{...n,manual:!0})}setQueriesData(e,t,r){return a.notifyManager.batch(()=>this.#a.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,r)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#a.get(t.queryHash)?.state}removeQueries(e){let t=this.#a;a.notifyManager.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let r=this.#a;return a.notifyManager.batch(()=>{let n=r.findAll(e),a=new Set(n);return n.forEach(e=>{e.reset()}),this.refetchQueries({type:"active",predicate:e=>a.has(e)},t)})}cancelQueries(e,t={}){let n={revert:!0,...t};return Promise.all(a.notifyManager.batch(()=>this.#a.findAll(e).map(e=>e.cancel(n)))).then(r.noop).catch(r.noop)}invalidateQueries(e,t={}){return a.notifyManager.batch(()=>(this.#a.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType==="none")?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??"active"},t))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0};return Promise.all(a.notifyManager.batch(()=>this.#a.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(r.noop)),"paused"===e.state.fetchStatus?Promise.resolve():t}))).then(r.noop)}async query(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let n=this.#a.build(this,t),a=n.isStaleByTime((0,r.resolveQueryValue)(t.staleTime,n))?await n.fetch(t):n.state.data,u=t.select;return u?u(a):a}fetchQuery(e){let t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);let n=this.#a.build(this,t);return n.isStaleByTime((0,r.resolveQueryValue)(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(r.noop).catch(r.noop)}infiniteQuery(e){return e._type="infinite",this.query(e)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(r.noop).catch(r.noop)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return u.onlineManager.isOnline()?this.#u.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#a}getMutationCache(){return this.#u}getDefaultOptions(){return this.#l}setDefaultOptions(e){this.#l=e}setQueryDefaults(e,t){this.#i.set((0,r.hashKey)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{(0,r.partialMatchKey)(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#s.set((0,r.hashKey)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#s.values()],n={};return t.forEach(t=>{(0,r.partialMatchKey)(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#l.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,r.hashQueryKeyByOptions)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===r.skipToken&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#l.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#a.clear(),this.#u.clear()}},y=e.i(12598),p=e.i(71645);function m(){return new h({defaultOptions:{queries:{staleTime:0,retry:1}}})}e.s(["default",0,function({children:e}){let[r]=(0,p.useState)(m);return(0,t.jsx)(y.QueryClientProvider,{client:r,children:e})}],44636)}]);
|