@ahmedrowaihi/pdf-forge-preview 1.0.0-canary.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.
Files changed (351) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +7 -0
  3. package/.next/build/chunks/[root-of-the-server]__12fb5caf._.js +233 -0
  4. package/.next/build/chunks/[root-of-the-server]__12fb5caf._.js.map +8 -0
  5. package/.next/build/chunks/[root-of-the-server]__242deb00._.js +500 -0
  6. package/.next/build/chunks/[root-of-the-server]__242deb00._.js.map +11 -0
  7. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_ad9a1eec._.js +13 -0
  8. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_ad9a1eec._.js.map +5 -0
  9. package/.next/build/chunks/[turbopack]_runtime.js +795 -0
  10. package/.next/build/chunks/[turbopack]_runtime.js.map +10 -0
  11. package/.next/build/chunks/node_modules__pnpm_806d01c0._.js +6758 -0
  12. package/.next/build/chunks/node_modules__pnpm_806d01c0._.js.map +47 -0
  13. package/.next/build/package.json +1 -0
  14. package/.next/build/postcss.js +6 -0
  15. package/.next/build/postcss.js.map +5 -0
  16. package/.next/build-manifest.json +20 -0
  17. package/.next/diagnostics/build-diagnostics.json +6 -0
  18. package/.next/diagnostics/framework.json +1 -0
  19. package/.next/export-marker.json +6 -0
  20. package/.next/fallback-build-manifest.json +12 -0
  21. package/.next/images-manifest.json +66 -0
  22. package/.next/next-minimal-server.js.nft.json +1 -0
  23. package/.next/next-server.js.nft.json +1 -0
  24. package/.next/package.json +1 -0
  25. package/.next/prerender-manifest.json +65 -0
  26. package/.next/required-server-files.js +163 -0
  27. package/.next/required-server-files.json +163 -0
  28. package/.next/routes-manifest.json +77 -0
  29. package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  30. package/.next/server/app/_global-error/page/build-manifest.json +17 -0
  31. package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  32. package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  33. package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  34. package/.next/server/app/_global-error/page.js +11 -0
  35. package/.next/server/app/_global-error/page.js.map +5 -0
  36. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  37. package/.next/server/app/_global-error/page_client-reference-manifest.js +2 -0
  38. package/.next/server/app/_global-error.html +2 -0
  39. package/.next/server/app/_global-error.meta +15 -0
  40. package/.next/server/app/_global-error.rsc +13 -0
  41. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
  42. package/.next/server/app/_global-error.segments/_full.segment.rsc +13 -0
  43. package/.next/server/app/_global-error.segments/_head.segment.rsc +6 -0
  44. package/.next/server/app/_global-error.segments/_index.segment.rsc +4 -0
  45. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  46. package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  47. package/.next/server/app/_not-found/page/build-manifest.json +17 -0
  48. package/.next/server/app/_not-found/page/next-font-manifest.json +16 -0
  49. package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  50. package/.next/server/app/_not-found/page/server-reference-manifest.json +20 -0
  51. package/.next/server/app/_not-found/page.js +14 -0
  52. package/.next/server/app/_not-found/page.js.map +5 -0
  53. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  54. package/.next/server/app/_not-found/page_client-reference-manifest.js +2 -0
  55. package/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
  56. package/.next/server/app/favicon.ico/route/build-manifest.json +11 -0
  57. package/.next/server/app/favicon.ico/route.js +6 -0
  58. package/.next/server/app/favicon.ico/route.js.map +5 -0
  59. package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  60. package/.next/server/app/favicon.ico.body +0 -0
  61. package/.next/server/app/favicon.ico.meta +1 -0
  62. package/.next/server/app/page/app-paths-manifest.json +3 -0
  63. package/.next/server/app/page/build-manifest.json +17 -0
  64. package/.next/server/app/page/next-font-manifest.json +16 -0
  65. package/.next/server/app/page/react-loadable-manifest.json +1 -0
  66. package/.next/server/app/page/server-reference-manifest.json +20 -0
  67. package/.next/server/app/page.js +17 -0
  68. package/.next/server/app/page.js.map +5 -0
  69. package/.next/server/app/page.js.nft.json +1 -0
  70. package/.next/server/app/page_client-reference-manifest.js +2 -0
  71. package/.next/server/app/preview/[...slug]/page/app-paths-manifest.json +3 -0
  72. package/.next/server/app/preview/[...slug]/page/build-manifest.json +17 -0
  73. package/.next/server/app/preview/[...slug]/page/next-font-manifest.json +16 -0
  74. package/.next/server/app/preview/[...slug]/page/react-loadable-manifest.json +1 -0
  75. package/.next/server/app/preview/[...slug]/page/server-reference-manifest.json +65 -0
  76. package/.next/server/app/preview/[...slug]/page.js +19 -0
  77. package/.next/server/app/preview/[...slug]/page.js.map +5 -0
  78. package/.next/server/app/preview/[...slug]/page.js.nft.json +1 -0
  79. package/.next/server/app/preview/[...slug]/page_client-reference-manifest.js +2 -0
  80. package/.next/server/app-paths-manifest.json +7 -0
  81. package/.next/server/chunks/730ea_preview-server__next-internal_server_app_favicon_ico_route_actions_a71a8ae7.js +3 -0
  82. package/.next/server/chunks/730ea_preview-server__next-internal_server_app_favicon_ico_route_actions_a71a8ae7.js.map +1 -0
  83. package/.next/server/chunks/[externals]_next_dist_a6d89067._.js +3 -0
  84. package/.next/server/chunks/[externals]_next_dist_a6d89067._.js.map +1 -0
  85. package/.next/server/chunks/[root-of-the-server]__a62cd78d._.js +21 -0
  86. package/.next/server/chunks/[root-of-the-server]__a62cd78d._.js.map +1 -0
  87. package/.next/server/chunks/[turbopack]_runtime.js +795 -0
  88. package/.next/server/chunks/[turbopack]_runtime.js.map +10 -0
  89. package/.next/server/chunks/ssr/730ea_preview-server__next-internal_server_app__global-error_page_actions_986e2de5.js +3 -0
  90. package/.next/server/chunks/ssr/730ea_preview-server__next-internal_server_app__global-error_page_actions_986e2de5.js.map +1 -0
  91. package/.next/server/chunks/ssr/[root-of-the-server]__025eaae9._.js +3 -0
  92. package/.next/server/chunks/ssr/[root-of-the-server]__025eaae9._.js.map +1 -0
  93. package/.next/server/chunks/ssr/[root-of-the-server]__1536282c._.js +4 -0
  94. package/.next/server/chunks/ssr/[root-of-the-server]__1536282c._.js.map +1 -0
  95. package/.next/server/chunks/ssr/[root-of-the-server]__15cf9d36._.js +3 -0
  96. package/.next/server/chunks/ssr/[root-of-the-server]__15cf9d36._.js.map +1 -0
  97. package/.next/server/chunks/ssr/[root-of-the-server]__450f653e._.js +3 -0
  98. package/.next/server/chunks/ssr/[root-of-the-server]__450f653e._.js.map +1 -0
  99. package/.next/server/chunks/ssr/[root-of-the-server]__4874d0d7._.js +3 -0
  100. package/.next/server/chunks/ssr/[root-of-the-server]__4874d0d7._.js.map +1 -0
  101. package/.next/server/chunks/ssr/[root-of-the-server]__49771cdc._.js +3 -0
  102. package/.next/server/chunks/ssr/[root-of-the-server]__49771cdc._.js.map +1 -0
  103. package/.next/server/chunks/ssr/[root-of-the-server]__9ff74047._.js +3 -0
  104. package/.next/server/chunks/ssr/[root-of-the-server]__9ff74047._.js.map +1 -0
  105. package/.next/server/chunks/ssr/[root-of-the-server]__a9be37b1._.js +3 -0
  106. package/.next/server/chunks/ssr/[root-of-the-server]__a9be37b1._.js.map +1 -0
  107. package/.next/server/chunks/ssr/[root-of-the-server]__aeefe74e._.js +3 -0
  108. package/.next/server/chunks/ssr/[root-of-the-server]__aeefe74e._.js.map +1 -0
  109. package/.next/server/chunks/ssr/[root-of-the-server]__b13738d2._.js +3 -0
  110. package/.next/server/chunks/ssr/[root-of-the-server]__b13738d2._.js.map +1 -0
  111. package/.next/server/chunks/ssr/[root-of-the-server]__bb428c83._.js +4 -0
  112. package/.next/server/chunks/ssr/[root-of-the-server]__bb428c83._.js.map +1 -0
  113. package/.next/server/chunks/ssr/[root-of-the-server]__c61333e3._.js +10 -0
  114. package/.next/server/chunks/ssr/[root-of-the-server]__c61333e3._.js.map +1 -0
  115. package/.next/server/chunks/ssr/[root-of-the-server]__cb0c7b1a._.js +4 -0
  116. package/.next/server/chunks/ssr/[root-of-the-server]__cb0c7b1a._.js.map +1 -0
  117. package/.next/server/chunks/ssr/[root-of-the-server]__dafcae4c._.js +3 -0
  118. package/.next/server/chunks/ssr/[root-of-the-server]__dafcae4c._.js.map +1 -0
  119. package/.next/server/chunks/ssr/[root-of-the-server]__e47d0c07._.js +3 -0
  120. package/.next/server/chunks/ssr/[root-of-the-server]__e47d0c07._.js.map +1 -0
  121. package/.next/server/chunks/ssr/[root-of-the-server]__ecac8617._.js +31 -0
  122. package/.next/server/chunks/ssr/[root-of-the-server]__ecac8617._.js.map +1 -0
  123. package/.next/server/chunks/ssr/[root-of-the-server]__fd4bda25._.js +3 -0
  124. package/.next/server/chunks/ssr/[root-of-the-server]__fd4bda25._.js.map +1 -0
  125. package/.next/server/chunks/ssr/[turbopack]_runtime.js +795 -0
  126. package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +10 -0
  127. package/.next/server/chunks/ssr/_19494208._.js +19 -0
  128. package/.next/server/chunks/ssr/_19494208._.js.map +1 -0
  129. package/.next/server/chunks/ssr/_810f54e9._.js +4 -0
  130. package/.next/server/chunks/ssr/_810f54e9._.js.map +1 -0
  131. package/.next/server/chunks/ssr/_aa01e67e._.js +4 -0
  132. package/.next/server/chunks/ssr/_aa01e67e._.js.map +1 -0
  133. package/.next/server/chunks/ssr/_bf10718b._.js +4 -0
  134. package/.next/server/chunks/ssr/_bf10718b._.js.map +1 -0
  135. package/.next/server/chunks/ssr/_c57c12df._.js +4 -0
  136. package/.next/server/chunks/ssr/_c57c12df._.js.map +1 -0
  137. package/.next/server/chunks/ssr/_d9b57cb8._.js +5 -0
  138. package/.next/server/chunks/ssr/_d9b57cb8._.js.map +1 -0
  139. package/.next/server/chunks/ssr/_e2a766a8._.js +3 -0
  140. package/.next/server/chunks/ssr/_e2a766a8._.js.map +1 -0
  141. package/.next/server/chunks/ssr/_e2b86512._.js +8 -0
  142. package/.next/server/chunks/ssr/_e2b86512._.js.map +1 -0
  143. package/.next/server/chunks/ssr/_ee8ea3aa._.js +19 -0
  144. package/.next/server/chunks/ssr/_ee8ea3aa._.js.map +1 -0
  145. package/.next/server/chunks/ssr/e8449_next_dist_5870db32._.js +3 -0
  146. package/.next/server/chunks/ssr/e8449_next_dist_5870db32._.js.map +1 -0
  147. package/.next/server/chunks/ssr/e8449_next_dist_client_components_builtin_forbidden_5542069c.js +3 -0
  148. package/.next/server/chunks/ssr/e8449_next_dist_client_components_builtin_forbidden_5542069c.js.map +1 -0
  149. package/.next/server/chunks/ssr/e8449_next_dist_client_components_builtin_global-error_d0870f3a.js +3 -0
  150. package/.next/server/chunks/ssr/e8449_next_dist_client_components_builtin_global-error_d0870f3a.js.map +1 -0
  151. package/.next/server/chunks/ssr/e8449_next_dist_client_components_builtin_unauthorized_4c01c8d5.js +3 -0
  152. package/.next/server/chunks/ssr/e8449_next_dist_client_components_builtin_unauthorized_4c01c8d5.js.map +1 -0
  153. package/.next/server/chunks/ssr/e8449_next_dist_client_components_d90ace34._.js +3 -0
  154. package/.next/server/chunks/ssr/e8449_next_dist_client_components_d90ace34._.js.map +1 -0
  155. package/.next/server/chunks/ssr/e8449_next_dist_esm_af7aafb8._.js +6 -0
  156. package/.next/server/chunks/ssr/e8449_next_dist_esm_af7aafb8._.js.map +1 -0
  157. package/.next/server/chunks/ssr/e8449_next_dist_esm_build_templates_app-page_f16f0848.js +4 -0
  158. package/.next/server/chunks/ssr/e8449_next_dist_esm_build_templates_app-page_f16f0848.js.map +1 -0
  159. package/.next/server/chunks/ssr/e8449_next_dist_f0d8a2cc._.js +4 -0
  160. package/.next/server/chunks/ssr/e8449_next_dist_f0d8a2cc._.js.map +1 -0
  161. package/.next/server/chunks/ssr/node_modules__pnpm_37510d96._.js +5 -0
  162. package/.next/server/chunks/ssr/node_modules__pnpm_37510d96._.js.map +1 -0
  163. package/.next/server/chunks/ssr/packages_preview-server_src_app_897ecf1c._.js +3 -0
  164. package/.next/server/chunks/ssr/packages_preview-server_src_app_897ecf1c._.js.map +1 -0
  165. package/.next/server/chunks/ssr/packages_preview-server_src_e17a2a9b._.js +3 -0
  166. package/.next/server/chunks/ssr/packages_preview-server_src_e17a2a9b._.js.map +1 -0
  167. package/.next/server/functions-config-manifest.json +4 -0
  168. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  169. package/.next/server/middleware-build-manifest.js +21 -0
  170. package/.next/server/middleware-manifest.json +6 -0
  171. package/.next/server/next-font-manifest.js +1 -0
  172. package/.next/server/next-font-manifest.json +34 -0
  173. package/.next/server/pages/500.html +2 -0
  174. package/.next/server/pages-manifest.json +3 -0
  175. package/.next/server/server-reference-manifest.js +1 -0
  176. package/.next/server/server-reference-manifest.json +80 -0
  177. package/.next/static/cdYIhKFtJ0GB-yJK5ywz_/_buildManifest.js +11 -0
  178. package/.next/static/cdYIhKFtJ0GB-yJK5ywz_/_clientMiddlewareManifest.json +1 -0
  179. package/.next/static/cdYIhKFtJ0GB-yJK5ywz_/_ssgManifest.js +1 -0
  180. package/.next/static/chunks/0464c7ff175ee6ff.js +1 -0
  181. package/.next/static/chunks/10468413db24762a.js +14 -0
  182. package/.next/static/chunks/2de338262e51ef94.js +3 -0
  183. package/.next/static/chunks/37adc260f85da877.js +1 -0
  184. package/.next/static/chunks/521eee9903bc4d1f.js +5 -0
  185. package/.next/static/chunks/6051bd38272cb442.js +14 -0
  186. package/.next/static/chunks/8d433d4b9d701456.js +1 -0
  187. package/.next/static/chunks/92ba72595aad9df6.js +1 -0
  188. package/.next/static/chunks/959ed978a6e89a66.js +1 -0
  189. package/.next/static/chunks/a6dad97d9634a72d.js +1 -0
  190. package/.next/static/chunks/a6dad97d9634a72d.js.map +1 -0
  191. package/.next/static/chunks/a6db6456c5b75734.js +1 -0
  192. package/.next/static/chunks/c3ece0a7e3e07076.js +1 -0
  193. package/.next/static/chunks/d1b29a74f6814a03.css +3 -0
  194. package/.next/static/chunks/f7ec22614fe1c1fe.js +1 -0
  195. package/.next/static/chunks/turbopack-e062a8e6d6034eb0.js +4 -0
  196. package/.next/static/media/1bffadaabf893a1e-s.7cd81963.woff2 +0 -0
  197. package/.next/static/media/2bbe8d2671613f1f-s.76dcb0b2.woff2 +0 -0
  198. package/.next/static/media/2c55a0e60120577a-s.2a48534a.woff2 +0 -0
  199. package/.next/static/media/5476f68d60460930-s.c995e352.woff2 +0 -0
  200. package/.next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2 +0 -0
  201. package/.next/static/media/9c72aa0f40e4eef8-s.18a48cbc.woff2 +0 -0
  202. package/.next/static/media/SFMonoBold-s.p.b90ec775.otf +0 -0
  203. package/.next/static/media/SFMonoHeavy-s.p.545fe93b.otf +0 -0
  204. package/.next/static/media/SFMonoLight-s.p.7c5363a6.otf +0 -0
  205. package/.next/static/media/SFMonoMedium-s.p.a4fc9904.otf +0 -0
  206. package/.next/static/media/SFMonoRegular-s.p.04ea7bf3.otf +0 -0
  207. package/.next/static/media/SFMonoSemibold-s.p.2d2ddb43.otf +0 -0
  208. package/.next/static/media/ad66f9afd8947f86-s.7a40eb73.woff2 +0 -0
  209. package/.next/static/media/favicon.678eb597.ico +0 -0
  210. package/.next/static/media/logo.22a370b0.png +0 -0
  211. package/.next/trace +1 -0
  212. package/.next/trace-build +1 -0
  213. package/.next/turbopack +0 -0
  214. package/.next/types/routes.d.ts +58 -0
  215. package/.next/types/validator.ts +70 -0
  216. package/CHANGELOG.md +12 -0
  217. package/LICENSE.md +8 -0
  218. package/index.mjs +17 -0
  219. package/jsx-runtime/jsx-dev-runtime.js +26 -0
  220. package/module-punycode.d.ts +3 -0
  221. package/next-env.d.ts +6 -0
  222. package/next.config.mjs +15 -0
  223. package/package.json +78 -0
  224. package/postcss.config.js +5 -0
  225. package/readme.md +33 -0
  226. package/scripts/build-preview-server.mts +25 -0
  227. package/scripts/dev.mts +57 -0
  228. package/scripts/seed.mts +36 -0
  229. package/src/actions/export-single-template.ts +74 -0
  230. package/src/actions/get-template-path-from-slug.ts +32 -0
  231. package/src/actions/get-templates-directory-metadata-action.ts +19 -0
  232. package/src/actions/render-template-by-path.tsx +313 -0
  233. package/src/actions/safe-action.ts +15 -0
  234. package/src/animated-icons-data/help.json +1082 -0
  235. package/src/animated-icons-data/link.json +1309 -0
  236. package/src/animated-icons-data/load.json +443 -0
  237. package/src/animated-icons-data/mail.json +1320 -0
  238. package/src/app/env.ts +14 -0
  239. package/src/app/favicon.ico +0 -0
  240. package/src/app/fonts/SFMono/SFMonoBold.otf +0 -0
  241. package/src/app/fonts/SFMono/SFMonoBoldItalic.otf +0 -0
  242. package/src/app/fonts/SFMono/SFMonoHeavy.otf +0 -0
  243. package/src/app/fonts/SFMono/SFMonoHeavyItalic.otf +0 -0
  244. package/src/app/fonts/SFMono/SFMonoLight.otf +0 -0
  245. package/src/app/fonts/SFMono/SFMonoLightItalic.otf +0 -0
  246. package/src/app/fonts/SFMono/SFMonoMedium.otf +0 -0
  247. package/src/app/fonts/SFMono/SFMonoMediumItalic.otf +0 -0
  248. package/src/app/fonts/SFMono/SFMonoRegular.otf +0 -0
  249. package/src/app/fonts/SFMono/SFMonoRegularItalic.otf +0 -0
  250. package/src/app/fonts/SFMono/SFMonoSemibold.otf +0 -0
  251. package/src/app/fonts/SFMono/SFMonoSemiboldItalic.otf +0 -0
  252. package/src/app/fonts.ts +39 -0
  253. package/src/app/globals.css +136 -0
  254. package/src/app/layout.tsx +46 -0
  255. package/src/app/logo.png +0 -0
  256. package/src/app/page.tsx +52 -0
  257. package/src/app/preview/[...slug]/download-button.tsx +138 -0
  258. package/src/app/preview/[...slug]/error-overlay.tsx +58 -0
  259. package/src/app/preview/[...slug]/page.tsx +90 -0
  260. package/src/app/preview/[...slug]/preview.tsx +249 -0
  261. package/src/app/preview/[...slug]/template-frame.tsx +68 -0
  262. package/src/components/button.tsx +101 -0
  263. package/src/components/code-container.tsx +169 -0
  264. package/src/components/code-snippet.tsx +9 -0
  265. package/src/components/code.tsx +185 -0
  266. package/src/components/heading.tsx +113 -0
  267. package/src/components/icons/icon-arrow-down.tsx +16 -0
  268. package/src/components/icons/icon-base.tsx +26 -0
  269. package/src/components/icons/icon-bug.tsx +19 -0
  270. package/src/components/icons/icon-button.tsx +23 -0
  271. package/src/components/icons/icon-check.tsx +19 -0
  272. package/src/components/icons/icon-clipboard.tsx +40 -0
  273. package/src/components/icons/icon-cloud-alert.tsx +18 -0
  274. package/src/components/icons/icon-cloud-check.tsx +17 -0
  275. package/src/components/icons/icon-download.tsx +19 -0
  276. package/src/components/icons/icon-file.tsx +19 -0
  277. package/src/components/icons/icon-folder-open.tsx +19 -0
  278. package/src/components/icons/icon-folder.tsx +18 -0
  279. package/src/components/icons/icon-hide-sidebar.tsx +23 -0
  280. package/src/components/icons/icon-image.tsx +19 -0
  281. package/src/components/icons/icon-info.tsx +18 -0
  282. package/src/components/icons/icon-link.tsx +14 -0
  283. package/src/components/icons/icon-loader.tsx +16 -0
  284. package/src/components/icons/icon-monitor.tsx +19 -0
  285. package/src/components/icons/icon-moon.tsx +16 -0
  286. package/src/components/icons/icon-phone.tsx +26 -0
  287. package/src/components/icons/icon-reload.tsx +18 -0
  288. package/src/components/icons/icon-source.tsx +19 -0
  289. package/src/components/icons/icon-stamp.tsx +14 -0
  290. package/src/components/icons/icon-sun.tsx +74 -0
  291. package/src/components/icons/icon-warning.tsx +31 -0
  292. package/src/components/index.ts +7 -0
  293. package/src/components/logo.tsx +41 -0
  294. package/src/components/resizable-wrapper.tsx +269 -0
  295. package/src/components/shell.tsx +95 -0
  296. package/src/components/sidebar/file-tree-directory-children.tsx +142 -0
  297. package/src/components/sidebar/file-tree-directory.tsx +92 -0
  298. package/src/components/sidebar/file-tree.tsx +31 -0
  299. package/src/components/sidebar/index.ts +1 -0
  300. package/src/components/sidebar/sidebar.tsx +46 -0
  301. package/src/components/text.tsx +99 -0
  302. package/src/components/toolbar/checking-results.tsx +150 -0
  303. package/src/components/toolbar/code-preview-line-link.tsx +39 -0
  304. package/src/components/toolbar/results-table.tsx +0 -0
  305. package/src/components/toolbar/results.tsx +52 -0
  306. package/src/components/toolbar/toolbar-button.tsx +52 -0
  307. package/src/components/toolbar/use-cached-state.ts +36 -0
  308. package/src/components/toolbar.tsx +182 -0
  309. package/src/components/tooltip-content.tsx +31 -0
  310. package/src/components/tooltip.tsx +19 -0
  311. package/src/components/topbar/active-view-toggle-group.tsx +86 -0
  312. package/src/components/topbar/emulated-dark-mode-toggle.tsx +58 -0
  313. package/src/components/topbar/view-size-controls.tsx +173 -0
  314. package/src/components/topbar.tsx +59 -0
  315. package/src/contexts/preview.tsx +91 -0
  316. package/src/contexts/templates.tsx +57 -0
  317. package/src/contexts/toolbar.tsx +22 -0
  318. package/src/hooks/use-clamped-state.ts +24 -0
  319. package/src/hooks/use-fragment-identifier.ts +14 -0
  320. package/src/hooks/use-hot-reload.ts +31 -0
  321. package/src/hooks/use-rendering-metadata.ts +37 -0
  322. package/src/hooks/use-template-rendering-result.ts +58 -0
  323. package/src/utils/cn.ts +6 -0
  324. package/src/utils/constants.ts +8 -0
  325. package/src/utils/contains-template.ts +52 -0
  326. package/src/utils/convert-stack-with-sourcemap.ts +79 -0
  327. package/src/utils/copy-text-to-clipboard.ts +7 -0
  328. package/src/utils/create-jsx-runtime.ts +47 -0
  329. package/src/utils/esbuild/escape-string-for-regex.ts +3 -0
  330. package/src/utils/esbuild/renderring-utilities-exporter.ts +64 -0
  331. package/src/utils/get-line-and-column-from-offset.ts +11 -0
  332. package/src/utils/get-template-component.ts +158 -0
  333. package/src/utils/get-templates-directory-metadata.ts +195 -0
  334. package/src/utils/index.ts +6 -0
  335. package/src/utils/language-map.ts +7 -0
  336. package/src/utils/load-stream.ts +15 -0
  337. package/src/utils/register-spinner-autostopping.ts +28 -0
  338. package/src/utils/result.ts +49 -0
  339. package/src/utils/run-bundled-code.ts +86 -0
  340. package/src/utils/sanitize.ts +6 -0
  341. package/src/utils/sleep.ts +3 -0
  342. package/src/utils/snake-to-camel.ts +5 -0
  343. package/src/utils/static-node-modules-for-vm.ts +93 -0
  344. package/src/utils/style-text.ts +11 -0
  345. package/src/utils/types/as.ts +26 -0
  346. package/src/utils/types/error-object.ts +11 -0
  347. package/src/utils/types/hot-reload-change.ts +13 -0
  348. package/src/utils/types/template.ts +8 -0
  349. package/src/utils/unreachable.ts +8 -0
  350. package/templates/.gitkeep +0 -0
  351. package/tsconfig.json +47 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[85153,a=>{a.n(a.i(46992))},34618,a=>{a.n(a.i(71584))},58397,(a,b,c)=>{b.exports=a.r(18622)},81423,a=>{a.n(a.i(26386))},34735,(a,b,c)=>{(()=>{"use strict";var a={695:a=>{var b=/(?:^|,)\s*?no-cache\s*?(?:,|$)/;function c(a){var b=a&&Date.parse(a);return"number"==typeof b?b:NaN}a.exports=function(a,d){var e=a["if-modified-since"],f=a["if-none-match"];if(!e&&!f)return!1;var g=a["cache-control"];if(g&&b.test(g))return!1;if(f&&"*"!==f){var h=d.etag;if(!h)return!1;for(var i=!0,j=function(a){for(var b=0,c=[],d=0,e=0,f=a.length;e<f;e++)switch(a.charCodeAt(e)){case 32:d===b&&(d=b=e+1);break;case 44:c.push(a.substring(d,b)),d=b=e+1;break;default:b=e+1}return c.push(a.substring(d,b)),c}(f),k=0;k<j.length;k++){var l=j[k];if(l===h||l==="W/"+h||"W/"+l===h){i=!1;break}}if(i)return!1}if(e){var m=d["last-modified"];if(!m||!(c(m)<=c(e)))return!1}return!0}}},c={};function d(b){var e=c[b];if(void 0!==e)return e.exports;var f=c[b]={exports:{}},g=!0;try{a[b](f,f.exports,d),g=!1}finally{g&&delete c[b]}return f.exports}d.ab="/ROOT/node_modules/.pnpm/next@16.1.1_@babel+core@7.26.10_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/compiled/fresh/",b.exports=d(695)})()},58758,63308,61491,97796,48999,59931,63732,66131,96465,69450,68382,1495,51198,84898,a=>{"use strict";function b(a){return a.isOnDemandRevalidate?"on-demand":a.isStaticGeneration?"stale":void 0}function c(a){return a.default||a}a.s(["getRevalidateReason",()=>b],58758),a.s(["interopDefault",()=>c],63308);var d,e,f=a.i(24124);function g(a){for(let b of f.FLIGHT_HEADERS)delete a[b]}a.s(["stripFlightHeaders",()=>g],61491);var h=a.i(27039);class i extends Error{constructor(){super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers")}static callable(){throw new i}}class j extends Headers{constructor(a){super(),this.headers=new Proxy(a,{get(b,c,d){if("symbol"==typeof c)return h.ReflectAdapter.get(b,c,d);let e=c.toLowerCase(),f=Object.keys(a).find(a=>a.toLowerCase()===e);if(void 0!==f)return h.ReflectAdapter.get(b,f,d)},set(b,c,d,e){if("symbol"==typeof c)return h.ReflectAdapter.set(b,c,d,e);let f=c.toLowerCase(),g=Object.keys(a).find(a=>a.toLowerCase()===f);return h.ReflectAdapter.set(b,g??c,d,e)},has(b,c){if("symbol"==typeof c)return h.ReflectAdapter.has(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0!==e&&h.ReflectAdapter.has(b,e)},deleteProperty(b,c){if("symbol"==typeof c)return h.ReflectAdapter.deleteProperty(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0===e||h.ReflectAdapter.deleteProperty(b,e)}})}static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"append":case"delete":case"set":return i.callable;default:return h.ReflectAdapter.get(a,b,c)}}})}merge(a){return Array.isArray(a)?a.join(", "):a}static from(a){return a instanceof Headers?a:new j(a)}append(a,b){let c=this.headers[a];"string"==typeof c?this.headers[a]=[c,b]:Array.isArray(c)?c.push(b):this.headers[a]=b}delete(a){delete this.headers[a]}get(a){let b=this.headers[a];return void 0!==b?this.merge(b):null}has(a){return void 0!==this.headers[a]}set(a,b){this.headers[a]=b}forEach(a,b){for(let[c,d]of this.entries())a.call(b,d,c,this)}*entries(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase(),c=this.get(b);yield[b,c]}}*keys(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase();yield b}}*values(){for(let a of Object.keys(this.headers)){let b=this.get(a);yield b}}[Symbol.iterator](){return this.entries()}}var k=a.i(78453);a.i(46158),a.i(50657),Symbol("__next_preview_data");let l=Symbol("__prerender_bypass");var m=a.i(42213),n=a.i(80500);class o{constructor(a,b,c){this.method=a,this.url=b,this.body=c}get cookies(){var b;return this._cookies?this._cookies:this._cookies=(b=this.headers,function(){let{cookie:c}=b;if(!c)return{};let{parse:d}=a.r(75457);return d(Array.isArray(c)?c.join("; "):c)})()}}class p{constructor(a){this.destination=a}redirect(a,b){return this.setHeader("Location",a),this.statusCode=b,b===n.RedirectStatusCode.PermanentRedirect&&this.setHeader("Refresh",`0;url=${a}`),this}}class q extends o{static #a=e=m.NEXT_REQUEST_META;constructor(a){var b;super(a.method.toUpperCase(),a.url,a),this._req=a,this.headers=this._req.headers,this.fetchMetrics=null==(b=this._req)?void 0:b.fetchMetrics,this[e]=this._req[m.NEXT_REQUEST_META]||{},this.streaming=!1}get originalRequest(){return this._req[m.NEXT_REQUEST_META]=this[m.NEXT_REQUEST_META],this._req.url=this.url,this._req.cookies=this.cookies,this._req}set originalRequest(a){this._req=a}stream(){if(this.streaming)throw Object.defineProperty(Error("Invariant: NodeNextRequest.stream() can only be called once"),"__NEXT_ERROR_CODE",{value:"E467",enumerable:!1,configurable:!0});return this.streaming=!0,new ReadableStream({start:a=>{this._req.on("data",b=>{a.enqueue(new Uint8Array(b))}),this._req.on("end",()=>{a.close()}),this._req.on("error",b=>{a.error(b)})}})}}class r extends p{get originalResponse(){return l in this&&(this._res[l]=this[l]),this._res}constructor(a){super(a),this._res=a,this.textBody=void 0}get sent(){return this._res.finished||this._res.headersSent}get statusCode(){return this._res.statusCode}set statusCode(a){this._res.statusCode=a}get statusMessage(){return this._res.statusMessage}set statusMessage(a){this._res.statusMessage=a}setHeader(a,b){return this._res.setHeader(a,b),this}removeHeader(a){return this._res.removeHeader(a),this}getHeaderValues(a){let b=this._res.getHeader(a);if(void 0!==b)return(Array.isArray(b)?b:[b]).map(a=>a.toString())}hasHeader(a){return this._res.hasHeader(a)}getHeader(a){let b=this.getHeaderValues(a);return Array.isArray(b)?b.join(","):void 0}getHeaders(){return this._res.getHeaders()}appendHeader(a,b){let c=this.getHeaderValues(a)??[];return c.includes(b)||this._res.setHeader(a,[...c,b]),this}body(a){return this.textBody=a,this}send(){this._res.end(this.textBody)}onClose(a){this.originalResponse.on("close",a)}}function s(a){return void 0!==a&&("boolean"==typeof a?a:"incremental"===a)}a.s(["NodeNextRequest",()=>q,"NodeNextResponse",()=>r],97796),a.s(["checkIsAppPPREnabled",()=>s],48999),a.i(26386);var t=a.i(24011),u=a.i(34163);function v(a){var b;return(b=a.split("/").reduce((a,b,c,d)=>!b||(0,u.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:`${a}/${b}`,"")).startsWith("/")?b:`/${b}`}a.s(["normalizeAppPath",()=>v],59931);let w=["(..)(..)","(.)","(..)","(...)"];function x(a){return void 0!==a.split("/").find(a=>w.find(b=>a.startsWith(b)))}function y(a){var b;let c;if(""===a)return null;let d=w.find(b=>a.startsWith(b)),e=(b=a,((c=w.find(a=>b.startsWith(a)))&&(b=b.slice(c.length)),b.startsWith("[[...")&&b.endsWith("]]"))?{paramType:"optional-catchall",paramName:b.slice(5,-2)}:b.startsWith("[...")&&b.endsWith("]")?{paramType:c?`catchall-intercepted-${c}`:"catchall",paramName:b.slice(4,-1)}:b.startsWith("[")&&b.endsWith("]")?{paramType:c?`dynamic-intercepted-${c}`:"dynamic",paramName:b.slice(1,-1)}:null);return e?{type:"dynamic",name:a,param:e,interceptionMarker:d}:a.startsWith("(")&&a.endsWith(")")?{type:"route-group",name:a,interceptionMarker:d}:a.startsWith("@")?{type:"parallel-route",name:a,interceptionMarker:d}:{type:"static",name:a,interceptionMarker:d}}function z(a){let[b,c,d]=a,{layout:e,template:f}=d,{page:g}=d;g=b===u.DEFAULT_SEGMENT_KEY?d.defaultPage:g;let h=e?.[1]||f?.[1]||g?.[1];return{page:g,segment:b,modules:d,conventionPath:h,parallelRoutes:c}}function A(a){switch(a){case"catchall-intercepted-(..)(..)":case"dynamic-intercepted-(..)(..)":return"(..)(..)";case"catchall-intercepted-(.)":case"dynamic-intercepted-(.)":return"(.)";case"catchall-intercepted-(..)":case"dynamic-intercepted-(..)":return"(..)";case"catchall-intercepted-(...)":case"dynamic-intercepted-(...)":return"(...)";default:return null}}function B(a,b,c,d,e){switch(b){case"catchall":case"optional-catchall":case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":let f=[];for(let a=c;a<d.segments.length;a++){let g=d.segments[a];if("static"===g.type){let d=g.name,e=A(b);e&&a===c&&e===g.interceptionMarker&&(d=d.replace(g.interceptionMarker,"")),f.push(d)}else{if(!e.hasOwnProperty(g.param.paramName)){if("optional-catchall"===g.param.paramType)break;return}let a=e[g.param.paramName];Array.isArray(a)?f.push(...a):f.push(a)}}if(f.length>0)return f;if("optional-catchall"===b)return;throw Object.defineProperty(new t.InvariantError(`Unexpected empty path segments match for a route "${d.pathname}" with param "${a}" of type "${b}"`),"__NEXT_ERROR_CODE",{value:"E931",enumerable:!1,configurable:!0});case"dynamic":case"dynamic-intercepted-(..)(..)":case"dynamic-intercepted-(.)":case"dynamic-intercepted-(..)":case"dynamic-intercepted-(...)":if(c<d.segments.length){let a=d.segments[c];if("dynamic"===a.type&&!e.hasOwnProperty(a.param.paramName))return;return"dynamic"===a.type?e[a.param.paramName]:A(b)===a.interceptionMarker?a.name.replace(a.interceptionMarker,""):a.name}return}}a.s(["INTERCEPTION_ROUTE_MARKERS",0,w,"isInterceptionRouteAppPath",()=>x],63732);let C={catchall:"c","catchall-intercepted-(..)(..)":"ci(..)(..)","catchall-intercepted-(.)":"ci(.)","catchall-intercepted-(..)":"ci(..)","catchall-intercepted-(...)":"ci(...)","optional-catchall":"oc",dynamic:"d","dynamic-intercepted-(..)(..)":"di(..)(..)","dynamic-intercepted-(.)":"di(.)","dynamic-intercepted-(..)":"di(..)","dynamic-intercepted-(...)":"di(...)"};function D(a){if(0===a.length)return null;let b=Math.random().toString(16).slice(2),c=new Map;for(let{paramName:d,paramType:e}of a)c.set(d,[`%%drp:${d}:${b}%%`,C[e]]);return c}function E(a,b){let c=function a(b,c){let d,e,f,g=b.split("/").filter(Boolean),h=[];for(let i of g){let g=y(i);if(g){if(c&&("route-group"===g.type||"parallel-route"===g.type))throw Object.defineProperty(new t.InvariantError(`${b} is being parsed as a normalized route, but it has a route group or parallel route segment.`),"__NEXT_ERROR_CODE",{value:"E923",enumerable:!1,configurable:!0});if(h.push(g),g.interceptionMarker){let h=b.split(g.interceptionMarker);if(2!==h.length)throw Object.defineProperty(Error(`Invalid interception route: ${b}`),"__NEXT_ERROR_CODE",{value:"E924",enumerable:!1,configurable:!0});e=c?a(h[0],!0):a(h[0],!1),f=c?a(h[1],!0):a(h[1],!1),d=g.interceptionMarker}}}let i=h.filter(a=>"dynamic"===a.type);return{normalized:c,pathname:b,segments:h,dynamicSegments:i,interceptionMarker:d,interceptingRoute:e,interceptedRoute:f}}(a,!0),{pathnameRouteParamSegments:d,params:e}=function(a,b){let c=[],d={},e=[{tree:a,depth:0,currentPath:[]}];for(;e.length>0;){let{tree:a,depth:f,currentPath:g}=e.shift(),{segment:h,parallelRoutes:i}=z(a),j=g,k=f,l=y(h);if(l&&"route-group"!==l.type&&"parallel-route"!==l.type&&(j=[...g,l],k=f+1),(null==l?void 0:l.type)==="dynamic"){let{paramName:a,paramType:e}=l.param;if(f<b.segments.length){let d=b.segments[f];if("dynamic"===d.type){if(a!==d.param.paramName)continue;(function(a,b){for(let c=0;c<a.length;c++){let d=a[c],e=b.segments[c];if(d.type!==e.type||d.interceptionMarker!==e.interceptionMarker||"static"===d.type&&"static"===e.type&&d.name!==e.name||"dynamic"===d.type&&"dynamic"===e.type&&d.param.paramType!==e.param.paramType&&d.param.paramName!==e.param.paramName)return!1}return!0})(g,b)&&c.push({name:h,paramName:a,paramType:e})}}if(!d.hasOwnProperty(a)){let c=B(a,e,f,b,d);void 0!==c&&(d[a]=c)}}for(let a of Object.values(i))e.push({tree:a,depth:k,currentPath:j})}return{pathnameRouteParamSegments:c,params:d}}(b.userland.loaderTree,c),f=d.map(({paramName:a,paramType:b})=>({paramName:a,paramType:b}));return!function(a,b,c,d){let e=[{tree:a,depth:0}];for(;e.length>0;){let{tree:a,depth:f}=e.pop(),{segment:g,parallelRoutes:h}=z(a),i=y(g);if((null==i?void 0:i.type)==="dynamic"&&!b.hasOwnProperty(i.param.paramName)&&!d.some(a=>a.paramName===i.param.paramName)){let{paramName:a,paramType:e}=i.param,g=B(a,e,f,c,b);void 0!==g?b[a]=g:"optional-catchall"!==e&&d.push({paramName:a,paramType:e})}let j=f;for(let a of(i&&"route-group"!==i.type&&"parallel-route"!==i.type&&j++,Object.values(h)))e.push({tree:a,depth:j})}}(b.userland.loaderTree,e,c,f),D(f)}a.s(["createOpaqueFallbackRouteParams",()=>D,"getFallbackRouteParams",()=>E],66131);var F=a.i(18478);a.i(6057);var G=a.i(56704);let H=Symbol.for("next.server.manifests"),I=globalThis;function J({page:a,clientReferenceManifest:b,serverActionsManifest:c}){let d=I[H];if(d)d.clientReferenceManifestsPerRoute.set(v(a),b),d.serverActionsManifest=c;else{let d,e=new Map([[v(a),b]]),f=(d=new Map,new Proxy({},{get(a,b){let c=G.workAsyncStorage.getStore();switch(b){case"moduleLoading":case"entryCSSFiles":case"entryJSFiles":{if(!c)throw Object.defineProperty(new t.InvariantError(`Cannot access "${b}" without a work store.`),"__NEXT_ERROR_CODE",{value:"E952",enumerable:!1,configurable:!0});let a=e.get(c.route);if(!a)throw Object.defineProperty(new t.InvariantError(`The client reference manifest for route "${c.route}" does not exist.`),"__NEXT_ERROR_CODE",{value:"E951",enumerable:!1,configurable:!0});return a[b]}case"clientModules":case"rscModuleMapping":case"edgeRscModuleMapping":case"ssrModuleMapping":case"edgeSSRModuleMapping":{let a=d.get(b);!a&&(a=new Proxy({},{get(a,c){let d=G.workAsyncStorage.getStore();if(d){let a=e.get(d.route);if(null==a?void 0:a[b][c])return a[b][c]}else for(let a of e.values()){let d=a[b][c];if(void 0!==d)return d}}}),d.set(b,a));return a}default:throw Object.defineProperty(new t.InvariantError(`This is a proxied client reference manifest. The property "${String(b)}" is not handled.`),"__NEXT_ERROR_CODE",{value:"E953",enumerable:!1,configurable:!0})}}}));I[H]={clientReferenceManifestsPerRoute:e,proxiedClientReferenceManifest:f,serverActionsManifest:c,serverModuleMap:new Proxy({},{get:(a,b)=>{var c,d,e;let f,g=null==(d=function(){let a=I[H];if(!a)throw Object.defineProperty(new t.InvariantError("The manifests singleton was not initialized."),"__NEXT_ERROR_CODE",{value:"E950",enumerable:!1,configurable:!0});return a}().serverActionsManifest.node)||null==(c=d[b])?void 0:c.workers;if(!g)return;let h=G.workAsyncStorage.getStore();if(!(f=h?g[e=h.page,(0,F.pathHasPrefix)(e,"app")?e:"app"+e]:Object.values(g).at(0)))return;let{moduleId:i,async:j}=f;return{id:i,name:b,chunks:[],async:j}}})}}}a.s(["setManifestsSingleton",()=>J],96465);let K=/[\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/i,L=/Googlebot(?!-)|Googlebot$/i,M=K.source;function N(a){return L.test(a)||K.test(a)}function O(a){return L.test(a)?"dom":K.test(a)?"html":void 0}function P(a,b){let c=RegExp(b||M,"i");return!(a&&c.test(a))}function Q(a){return"html"===O(a.headers["user-agent"]||"")}function R(a){let b,c,d,e,g;return(a.headers instanceof Headers?(b=a.headers.get(f.ACTION_HEADER)??null,c=a.headers.get("content-type")):(b=a.headers[f.ACTION_HEADER]??null,c=a.headers["content-type"]??null),d="POST"===a.method&&"application/x-www-form-urlencoded"===c,e=!!("POST"===a.method&&(null==c?void 0:c.startsWith("multipart/form-data"))),g=void 0!==b&&"string"==typeof b&&"POST"===a.method,{actionId:b,isURLEncodedAction:d,isMultipartAction:e,isFetchAction:g,isPossibleServerAction:!!(g||d||e)}).isPossibleServerAction}a.s(["HTML_LIMITED_BOT_UA_RE_STRING",0,M,"getBotType",()=>O,"isBot",()=>N],69450),a.s(["isHtmlBotRequest",()=>Q,"shouldServeStreamingMetadata",()=>P],68382),a.s(["getIsPossibleServerAction",()=>R],1495);var S=((d={}).BLOCKING_STATIC_RENDER="BLOCKING_STATIC_RENDER",d.PRERENDER="PRERENDER",d.NOT_FOUND="NOT_FOUND",d);function T(a){if("string"==typeof a)return"PRERENDER";if(null===a)return"BLOCKING_STATIC_RENDER";if(!1===a)return"NOT_FOUND";if(void 0!==a)throw Object.defineProperty(Error(`Invalid fallback option: ${a}. Fallback option must be a string, null, undefined, or false.`),"__NEXT_ERROR_CODE",{value:"E285",enumerable:!1,configurable:!0})}a.s(["FallbackMode",()=>S,"parseFallbackField",()=>T],51198),"undefined"!=typeof performance&&["mark","measure","getEntriesByName"].every(a=>"function"==typeof performance[a]);var U=a.i(34735);async function V({req:a,res:b,result:c,generateEtags:d,poweredByHeader:e,cacheControl:f}){if(b.finished||b.headersSent)return;e&&c.contentType===k.HTML_CONTENT_TYPE_HEADER&&b.setHeader("X-Powered-By","Next.js"),f&&!b.getHeader("Cache-Control")&&b.setHeader("Cache-Control",function({revalidate:a,expire:b}){let c="number"==typeof a&&void 0!==b&&a<b?`, stale-while-revalidate=${b-a}`:"";return 0===a?"private, no-cache, no-store, max-age=0, must-revalidate":"number"==typeof a?`s-maxage=${a}${c}`:`s-maxage=${k.CACHE_ONE_YEAR}${c}`}(f));let g=c.isDynamic?null:c.toUnchunkedString();if(d&&null!==g){let c=((a,b=!1)=>(b?'W/"':'"')+(a=>{let b=a.length,c=0,d=0,e=8997,f=0,g=33826,h=0,i=40164,j=0,k=52210;for(;c<b;)e^=a.charCodeAt(c++),d=435*e,f=435*g,h=435*i,j=435*k,h+=e<<8,j+=g<<8,f+=d>>>16,e=65535&d,h+=f>>>16,g=65535&f,k=j+(h>>>16)&65535,i=65535&h;return(15&k)*0x1000000000000+0x100000000*i+65536*g+(e^k>>4)})(a).toString(36)+a.length.toString(36)+'"')(g);if(c&&b.setHeader("ETag",c),(0,U.default)(a.headers,{etag:c})&&(b.statusCode=304,b.end(),1))return}(!b.getHeader("Content-Type")&&c.contentType&&b.setHeader("Content-Type",c.contentType),g&&b.setHeader("Content-Length",Buffer.byteLength(g)),"HEAD"===a.method)?b.end(null):null!==g?b.end(g):await c.pipeToNodeResponse(b)}a.s(["sendRenderResult",()=>V],84898)},5694,a=>{a.n(a.i(36200))},63106,a=>{a.n(a.i(76064))}];
2
+
3
+ //# sourceMappingURL=_e2a766a8._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/compiled/fresh/index.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/app-render/strip-flight-headers.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/web/spec-extension/adapters/headers.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/base-http/index.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/route-modules/checks.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/shared/lib/router/routes/app.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/shared/lib/router/utils/interception-prefix-from-param-type.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/app-render/get-short-dynamic-param-type.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/instrumentation/utils.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/api-utils/index.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/base-http/node.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/shared/lib/router/utils/is-bot.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/shared/lib/router/utils/parse-loader-tree.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/lib/streaming-metadata.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/lib/server-action-request-meta.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/lib/cache-control.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/app-render/manifests-singleton.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/send-payload.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/shared/lib/router/utils/resolve-param-value.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/shared/lib/router/utils/interception-routes.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/app-render/interop-default.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/lib/fallback.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/api-utils/get-cookie-parser.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/shared/lib/router/utils/get-segment-param.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/shared/lib/utils.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/shared/lib/page-path/ensure-leading-slash.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/shared/lib/router/utils/html-bots.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/lib/etag.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/request/fallback-params.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/build/static-paths/utils.js","../../../../../../node_modules/.pnpm/next%4016.1.1_%40babel%2Bcore%407.26.10_react-dom%4019.2.3_react%4019.2.3__react%4019.2.3/node_modules/next/dist/esm/server/lib/experimental/ppr.js"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","(()=>{\"use strict\";var e={695:e=>{\n/*!\n * fresh\n * Copyright(c) 2012 TJ Holowaychuk\n * Copyright(c) 2016-2017 Douglas Christopher Wilson\n * MIT Licensed\n */\nvar r=/(?:^|,)\\s*?no-cache\\s*?(?:,|$)/;e.exports=fresh;function fresh(e,a){var t=e[\"if-modified-since\"];var s=e[\"if-none-match\"];if(!t&&!s){return false}var i=e[\"cache-control\"];if(i&&r.test(i)){return false}if(s&&s!==\"*\"){var f=a[\"etag\"];if(!f){return false}var n=true;var u=parseTokenList(s);for(var _=0;_<u.length;_++){var o=u[_];if(o===f||o===\"W/\"+f||\"W/\"+o===f){n=false;break}}if(n){return false}}if(t){var p=a[\"last-modified\"];var v=!p||!(parseHttpDate(p)<=parseHttpDate(t));if(v){return false}}return true}function parseHttpDate(e){var r=e&&Date.parse(e);return typeof r===\"number\"?r:NaN}function parseTokenList(e){var r=0;var a=[];var t=0;for(var s=0,i=e.length;s<i;s++){switch(e.charCodeAt(s)){case 32:if(t===r){t=r=s+1}break;case 44:a.push(e.substring(t,r));t=r=s+1;break;default:r=s+1;break}}a.push(e.substring(t,r));return a}}};var r={};function __nccwpck_require__(a){var t=r[a];if(t!==undefined){return t.exports}var s=r[a]={exports:{}};var i=true;try{e[a](s,s.exports,__nccwpck_require__);i=false}finally{if(i)delete r[a]}return s.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var a=__nccwpck_require__(695);module.exports=a})();","import { FLIGHT_HEADERS } from '../../client/components/app-router-headers';\n/**\n * Removes the flight headers from the request.\n *\n * @param req the request to strip the headers from\n */ export function stripFlightHeaders(headers) {\n for (const header of FLIGHT_HEADERS){\n delete headers[header];\n }\n}\n\n//# sourceMappingURL=strip-flight-headers.js.map","import { ReflectAdapter } from './reflect';\n/**\n * @internal\n */ export class ReadonlyHeadersError extends Error {\n constructor(){\n super('Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers');\n }\n static callable() {\n throw new ReadonlyHeadersError();\n }\n}\nexport class HeadersAdapter extends Headers {\n constructor(headers){\n // We've already overridden the methods that would be called, so we're just\n // calling the super constructor to ensure that the instanceof check works.\n super();\n this.headers = new Proxy(headers, {\n get (target, prop, receiver) {\n // Because this is just an object, we expect that all \"get\" operations\n // are for properties. If it's a \"get\" for a symbol, we'll just return\n // the symbol.\n if (typeof prop === 'symbol') {\n return ReflectAdapter.get(target, prop, receiver);\n }\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, return undefined.\n if (typeof original === 'undefined') return;\n // If the original casing exists, return the value.\n return ReflectAdapter.get(target, original, receiver);\n },\n set (target, prop, value, receiver) {\n if (typeof prop === 'symbol') {\n return ReflectAdapter.set(target, prop, value, receiver);\n }\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, use the prop as the key.\n return ReflectAdapter.set(target, original ?? prop, value, receiver);\n },\n has (target, prop) {\n if (typeof prop === 'symbol') return ReflectAdapter.has(target, prop);\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, return false.\n if (typeof original === 'undefined') return false;\n // If the original casing exists, return true.\n return ReflectAdapter.has(target, original);\n },\n deleteProperty (target, prop) {\n if (typeof prop === 'symbol') return ReflectAdapter.deleteProperty(target, prop);\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, return true.\n if (typeof original === 'undefined') return true;\n // If the original casing exists, delete the property.\n return ReflectAdapter.deleteProperty(target, original);\n }\n });\n }\n /**\n * Seals a Headers instance to prevent modification by throwing an error when\n * any mutating method is called.\n */ static seal(headers) {\n return new Proxy(headers, {\n get (target, prop, receiver) {\n switch(prop){\n case 'append':\n case 'delete':\n case 'set':\n return ReadonlyHeadersError.callable;\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n });\n }\n /**\n * Merges a header value into a string. This stores multiple values as an\n * array, so we need to merge them into a string.\n *\n * @param value a header value\n * @returns a merged header value (a string)\n */ merge(value) {\n if (Array.isArray(value)) return value.join(', ');\n return value;\n }\n /**\n * Creates a Headers instance from a plain object or a Headers instance.\n *\n * @param headers a plain object or a Headers instance\n * @returns a headers instance\n */ static from(headers) {\n if (headers instanceof Headers) return headers;\n return new HeadersAdapter(headers);\n }\n append(name, value) {\n const existing = this.headers[name];\n if (typeof existing === 'string') {\n this.headers[name] = [\n existing,\n value\n ];\n } else if (Array.isArray(existing)) {\n existing.push(value);\n } else {\n this.headers[name] = value;\n }\n }\n delete(name) {\n delete this.headers[name];\n }\n get(name) {\n const value = this.headers[name];\n if (typeof value !== 'undefined') return this.merge(value);\n return null;\n }\n has(name) {\n return typeof this.headers[name] !== 'undefined';\n }\n set(name, value) {\n this.headers[name] = value;\n }\n forEach(callbackfn, thisArg) {\n for (const [name, value] of this.entries()){\n callbackfn.call(thisArg, value, name, this);\n }\n }\n *entries() {\n for (const key of Object.keys(this.headers)){\n const name = key.toLowerCase();\n // We assert here that this is a string because we got it from the\n // Object.keys() call above.\n const value = this.get(name);\n yield [\n name,\n value\n ];\n }\n }\n *keys() {\n for (const key of Object.keys(this.headers)){\n const name = key.toLowerCase();\n yield name;\n }\n }\n *values() {\n for (const key of Object.keys(this.headers)){\n // We assert here that this is a string because we got it from the\n // Object.keys() call above.\n const value = this.get(key);\n yield value;\n }\n }\n [Symbol.iterator]() {\n return this.entries();\n }\n}\n\n//# sourceMappingURL=headers.js.map","import { RedirectStatusCode } from '../../client/components/redirect-status-code';\nimport { getCookieParser } from '../api-utils/get-cookie-parser';\nexport class BaseNextRequest {\n constructor(method, url, body){\n this.method = method;\n this.url = url;\n this.body = body;\n }\n // Utils implemented using the abstract methods above\n get cookies() {\n if (this._cookies) return this._cookies;\n return this._cookies = getCookieParser(this.headers)();\n }\n}\nexport class BaseNextResponse {\n constructor(destination){\n this.destination = destination;\n }\n // Utils implemented using the abstract methods above\n redirect(destination, statusCode) {\n this.setHeader('Location', destination);\n this.statusCode = statusCode;\n // Since IE11 doesn't support the 308 header add backwards\n // compatibility using refresh header\n if (statusCode === RedirectStatusCode.PermanentRedirect) {\n this.setHeader('Refresh', `0;url=${destination}`);\n }\n return this;\n }\n}\n\n//# sourceMappingURL=index.js.map","import { RouteKind } from '../route-kind';\nexport function isAppRouteRouteModule(routeModule) {\n return routeModule.definition.kind === RouteKind.APP_ROUTE;\n}\nexport function isAppPageRouteModule(routeModule) {\n return routeModule.definition.kind === RouteKind.APP_PAGE;\n}\nexport function isPagesRouteModule(routeModule) {\n return routeModule.definition.kind === RouteKind.PAGES;\n}\nexport function isPagesAPIRouteModule(routeModule) {\n return routeModule.definition.kind === RouteKind.PAGES_API;\n}\n\n//# sourceMappingURL=checks.js.map","import { InvariantError } from '../../invariant-error';\nimport { getSegmentParam } from '../utils/get-segment-param';\nimport { INTERCEPTION_ROUTE_MARKERS } from '../utils/interception-routes';\nexport function parseAppRouteSegment(segment) {\n if (segment === '') {\n return null;\n }\n // Check if the segment starts with an interception marker\n const interceptionMarker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const param = getSegmentParam(segment);\n if (param) {\n return {\n type: 'dynamic',\n name: segment,\n param,\n interceptionMarker\n };\n } else if (segment.startsWith('(') && segment.endsWith(')')) {\n return {\n type: 'route-group',\n name: segment,\n interceptionMarker\n };\n } else if (segment.startsWith('@')) {\n return {\n type: 'parallel-route',\n name: segment,\n interceptionMarker\n };\n } else {\n return {\n type: 'static',\n name: segment,\n interceptionMarker\n };\n }\n}\nexport function isNormalizedAppRoute(route) {\n return route.normalized;\n}\nexport function isInterceptionAppRoute(route) {\n return route.interceptionMarker !== undefined && route.interceptingRoute !== undefined && route.interceptedRoute !== undefined;\n}\nexport function parseAppRoute(pathname, normalized) {\n const pathnameSegments = pathname.split('/').filter(Boolean);\n // Build segments array with static and dynamic segments\n const segments = [];\n // Parse if this is an interception route.\n let interceptionMarker;\n let interceptingRoute;\n let interceptedRoute;\n for (const segment of pathnameSegments){\n // Parse the segment into an AppSegment.\n const appSegment = parseAppRouteSegment(segment);\n if (!appSegment) {\n continue;\n }\n if (normalized && (appSegment.type === 'route-group' || appSegment.type === 'parallel-route')) {\n throw Object.defineProperty(new InvariantError(`${pathname} is being parsed as a normalized route, but it has a route group or parallel route segment.`), \"__NEXT_ERROR_CODE\", {\n value: \"E923\",\n enumerable: false,\n configurable: true\n });\n }\n segments.push(appSegment);\n if (appSegment.interceptionMarker) {\n const parts = pathname.split(appSegment.interceptionMarker);\n if (parts.length !== 2) {\n throw Object.defineProperty(new Error(`Invalid interception route: ${pathname}`), \"__NEXT_ERROR_CODE\", {\n value: \"E924\",\n enumerable: false,\n configurable: true\n });\n }\n interceptingRoute = normalized ? parseAppRoute(parts[0], true) : parseAppRoute(parts[0], false);\n interceptedRoute = normalized ? parseAppRoute(parts[1], true) : parseAppRoute(parts[1], false);\n interceptionMarker = appSegment.interceptionMarker;\n }\n }\n const dynamicSegments = segments.filter((segment)=>segment.type === 'dynamic');\n return {\n normalized,\n pathname,\n segments,\n dynamicSegments,\n interceptionMarker,\n interceptingRoute,\n interceptedRoute\n };\n}\n\n//# sourceMappingURL=app.js.map","export function interceptionPrefixFromParamType(paramType) {\n switch(paramType){\n case 'catchall-intercepted-(..)(..)':\n case 'dynamic-intercepted-(..)(..)':\n return '(..)(..)';\n case 'catchall-intercepted-(.)':\n case 'dynamic-intercepted-(.)':\n return '(.)';\n case 'catchall-intercepted-(..)':\n case 'dynamic-intercepted-(..)':\n return '(..)';\n case 'catchall-intercepted-(...)':\n case 'dynamic-intercepted-(...)':\n return '(...)';\n case 'catchall':\n case 'dynamic':\n case 'optional-catchall':\n default:\n return null;\n }\n}\n\n//# sourceMappingURL=interception-prefix-from-param-type.js.map","export const dynamicParamTypes = {\n catchall: 'c',\n 'catchall-intercepted-(..)(..)': 'ci(..)(..)',\n 'catchall-intercepted-(.)': 'ci(.)',\n 'catchall-intercepted-(..)': 'ci(..)',\n 'catchall-intercepted-(...)': 'ci(...)',\n 'optional-catchall': 'oc',\n dynamic: 'd',\n 'dynamic-intercepted-(..)(..)': 'di(..)(..)',\n 'dynamic-intercepted-(.)': 'di(.)',\n 'dynamic-intercepted-(..)': 'di(..)',\n 'dynamic-intercepted-(...)': 'di(...)'\n};\n\n//# sourceMappingURL=get-short-dynamic-param-type.js.map","export function getRevalidateReason(params) {\n if (params.isOnDemandRevalidate) {\n return 'on-demand';\n }\n if (params.isStaticGeneration) {\n return 'stale';\n }\n return undefined;\n}\n\n//# sourceMappingURL=utils.js.map","import { HeadersAdapter } from '../web/spec-extension/adapters/headers';\nimport { PRERENDER_REVALIDATE_HEADER, PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER } from '../../lib/constants';\nimport { getTracer } from '../lib/trace/tracer';\nimport { NodeSpan } from '../lib/trace/constants';\nexport function wrapApiHandler(page, handler) {\n return (...args)=>{\n getTracer().setRootSpanAttribute('next.route', page);\n // Call API route method\n return getTracer().trace(NodeSpan.runHandler, {\n spanName: `executing api route (pages) ${page}`\n }, ()=>handler(...args));\n };\n}\n/**\n *\n * @param res response object\n * @param statusCode `HTTP` status code of response\n */ export function sendStatusCode(res, statusCode) {\n res.statusCode = statusCode;\n return res;\n}\n/**\n *\n * @param res response object\n * @param [statusOrUrl] `HTTP` status code of redirect\n * @param url URL of redirect\n */ export function redirect(res, statusOrUrl, url) {\n if (typeof statusOrUrl === 'string') {\n url = statusOrUrl;\n statusOrUrl = 307;\n }\n if (typeof statusOrUrl !== 'number' || typeof url !== 'string') {\n throw Object.defineProperty(new Error(`Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination').`), \"__NEXT_ERROR_CODE\", {\n value: \"E389\",\n enumerable: false,\n configurable: true\n });\n }\n res.writeHead(statusOrUrl, {\n Location: url\n });\n res.write(url);\n res.end();\n return res;\n}\nexport function checkIsOnDemandRevalidate(req, previewProps) {\n const headers = HeadersAdapter.from(req.headers);\n const previewModeId = headers.get(PRERENDER_REVALIDATE_HEADER);\n const isOnDemandRevalidate = previewModeId === previewProps.previewModeId;\n const revalidateOnlyGenerated = headers.has(PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER);\n return {\n isOnDemandRevalidate,\n revalidateOnlyGenerated\n };\n}\nexport const COOKIE_NAME_PRERENDER_BYPASS = `__prerender_bypass`;\nexport const COOKIE_NAME_PRERENDER_DATA = `__next_preview_data`;\nexport const RESPONSE_LIMIT_DEFAULT = 4 * 1024 * 1024;\nexport const SYMBOL_PREVIEW_DATA = Symbol(COOKIE_NAME_PRERENDER_DATA);\nexport const SYMBOL_CLEARED_COOKIES = Symbol(COOKIE_NAME_PRERENDER_BYPASS);\nexport function clearPreviewData(res, options = {}) {\n if (SYMBOL_CLEARED_COOKIES in res) {\n return res;\n }\n const { serialize } = require('next/dist/compiled/cookie');\n const previous = res.getHeader('Set-Cookie');\n res.setHeader(`Set-Cookie`, [\n ...typeof previous === 'string' ? [\n previous\n ] : Array.isArray(previous) ? previous : [],\n serialize(COOKIE_NAME_PRERENDER_BYPASS, '', {\n // To delete a cookie, set `expires` to a date in the past:\n // https://tools.ietf.org/html/rfc6265#section-4.1.1\n // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.\n expires: new Date(0),\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== 'development' ? 'none' : 'lax',\n secure: process.env.NODE_ENV !== 'development',\n path: '/',\n ...options.path !== undefined ? {\n path: options.path\n } : undefined\n }),\n serialize(COOKIE_NAME_PRERENDER_DATA, '', {\n // To delete a cookie, set `expires` to a date in the past:\n // https://tools.ietf.org/html/rfc6265#section-4.1.1\n // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.\n expires: new Date(0),\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== 'development' ? 'none' : 'lax',\n secure: process.env.NODE_ENV !== 'development',\n path: '/',\n ...options.path !== undefined ? {\n path: options.path\n } : undefined\n })\n ]);\n Object.defineProperty(res, SYMBOL_CLEARED_COOKIES, {\n value: true,\n enumerable: false\n });\n return res;\n}\n/**\n * Custom error class\n */ export class ApiError extends Error {\n constructor(statusCode, message){\n super(message);\n this.statusCode = statusCode;\n }\n}\n/**\n * Sends error in `response`\n * @param res response object\n * @param statusCode of response\n * @param message of response\n */ export function sendError(res, statusCode, message) {\n res.statusCode = statusCode;\n res.statusMessage = message;\n res.end(message);\n}\n/**\n * Execute getter function only if its needed\n * @param LazyProps `req` and `params` for lazyProp\n * @param prop name of property\n * @param getter function to get data\n */ export function setLazyProp({ req }, prop, getter) {\n const opts = {\n configurable: true,\n enumerable: true\n };\n const optsReset = {\n ...opts,\n writable: true\n };\n Object.defineProperty(req, prop, {\n ...opts,\n get: ()=>{\n const value = getter();\n // we set the property on the object to avoid recalculating it\n Object.defineProperty(req, prop, {\n ...optsReset,\n value\n });\n return value;\n },\n set: (value)=>{\n Object.defineProperty(req, prop, {\n ...optsReset,\n value\n });\n }\n });\n}\n\n//# sourceMappingURL=index.js.map","import { SYMBOL_CLEARED_COOKIES } from '../api-utils';\nimport { NEXT_REQUEST_META } from '../request-meta';\nimport { BaseNextRequest, BaseNextResponse } from './index';\nlet prop;\nexport class NodeNextRequest extends BaseNextRequest {\n static #_ = prop = _NEXT_REQUEST_META = NEXT_REQUEST_META;\n constructor(_req){\n var _this__req;\n super(_req.method.toUpperCase(), _req.url, _req), this._req = _req, this.headers = this._req.headers, this.fetchMetrics = (_this__req = this._req) == null ? void 0 : _this__req.fetchMetrics, this[_NEXT_REQUEST_META] = this._req[NEXT_REQUEST_META] || {}, this.streaming = false;\n }\n get originalRequest() {\n // Need to mimic these changes to the original req object for places where we use it:\n // render.tsx, api/ssg requests\n this._req[NEXT_REQUEST_META] = this[NEXT_REQUEST_META];\n this._req.url = this.url;\n this._req.cookies = this.cookies;\n return this._req;\n }\n set originalRequest(value) {\n this._req = value;\n }\n /**\n * Returns the request body as a Web Readable Stream. The body here can only\n * be read once as the body will start flowing as soon as the data handler\n * is attached.\n *\n * @internal\n */ stream() {\n if (this.streaming) {\n throw Object.defineProperty(new Error('Invariant: NodeNextRequest.stream() can only be called once'), \"__NEXT_ERROR_CODE\", {\n value: \"E467\",\n enumerable: false,\n configurable: true\n });\n }\n this.streaming = true;\n return new ReadableStream({\n start: (controller)=>{\n this._req.on('data', (chunk)=>{\n controller.enqueue(new Uint8Array(chunk));\n });\n this._req.on('end', ()=>{\n controller.close();\n });\n this._req.on('error', (err)=>{\n controller.error(err);\n });\n }\n });\n }\n}\nexport class NodeNextResponse extends BaseNextResponse {\n get originalResponse() {\n if (SYMBOL_CLEARED_COOKIES in this) {\n this._res[SYMBOL_CLEARED_COOKIES] = this[SYMBOL_CLEARED_COOKIES];\n }\n return this._res;\n }\n constructor(_res){\n super(_res), this._res = _res, this.textBody = undefined;\n }\n get sent() {\n return this._res.finished || this._res.headersSent;\n }\n get statusCode() {\n return this._res.statusCode;\n }\n set statusCode(value) {\n this._res.statusCode = value;\n }\n get statusMessage() {\n return this._res.statusMessage;\n }\n set statusMessage(value) {\n this._res.statusMessage = value;\n }\n setHeader(name, value) {\n this._res.setHeader(name, value);\n return this;\n }\n removeHeader(name) {\n this._res.removeHeader(name);\n return this;\n }\n getHeaderValues(name) {\n const values = this._res.getHeader(name);\n if (values === undefined) return undefined;\n return (Array.isArray(values) ? values : [\n values\n ]).map((value)=>value.toString());\n }\n hasHeader(name) {\n return this._res.hasHeader(name);\n }\n getHeader(name) {\n const values = this.getHeaderValues(name);\n return Array.isArray(values) ? values.join(',') : undefined;\n }\n getHeaders() {\n return this._res.getHeaders();\n }\n appendHeader(name, value) {\n const currentValues = this.getHeaderValues(name) ?? [];\n if (!currentValues.includes(value)) {\n this._res.setHeader(name, [\n ...currentValues,\n value\n ]);\n }\n return this;\n }\n body(value) {\n this.textBody = value;\n return this;\n }\n send() {\n this._res.end(this.textBody);\n }\n onClose(callback) {\n this.originalResponse.on('close', callback);\n }\n}\nvar _NEXT_REQUEST_META;\n\n//# sourceMappingURL=node.js.map","import { ensureLeadingSlash } from '../../page-path/ensure-leading-slash';\nimport { isGroupSegment } from '../../segment';\n/**\n * Normalizes an app route so it represents the actual request path. Essentially\n * performing the following transformations:\n *\n * - `/(dashboard)/user/[id]/page` to `/user/[id]`\n * - `/(dashboard)/account/page` to `/account`\n * - `/user/[id]/page` to `/user/[id]`\n * - `/account/page` to `/account`\n * - `/page` to `/`\n * - `/(dashboard)/user/[id]/route` to `/user/[id]`\n * - `/(dashboard)/account/route` to `/account`\n * - `/user/[id]/route` to `/user/[id]`\n * - `/account/route` to `/account`\n * - `/route` to `/`\n * - `/` to `/`\n *\n * @param route the app route to normalize\n * @returns the normalized pathname\n */ export function normalizeAppPath(route) {\n return ensureLeadingSlash(route.split('/').reduce((pathname, segment, index, segments)=>{\n // Empty segments are ignored.\n if (!segment) {\n return pathname;\n }\n // Groups are ignored.\n if (isGroupSegment(segment)) {\n return pathname;\n }\n // Parallel segments are ignored.\n if (segment[0] === '@') {\n return pathname;\n }\n // The last segment (if it's a leaf) should be ignored.\n if ((segment === 'page' || segment === 'route') && index === segments.length - 1) {\n return pathname;\n }\n return `${pathname}/${segment}`;\n }, ''));\n}\n/**\n * Strips the `.rsc` extension if it's in the pathname.\n * Since this function is used on full urls it checks `?` for searchParams handling.\n */ export function normalizeRscURL(url) {\n return url.replace(/\\.rsc($|\\?)/, // $1 ensures `?` is preserved\n '$1');\n}\n\n//# sourceMappingURL=app-paths.js.map","import { HTML_LIMITED_BOT_UA_RE } from './html-bots';\n// Bot crawler that will spin up a headless browser and execute JS.\n// Only the main Googlebot search crawler executes JavaScript, not other Google crawlers.\n// x-ref: https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers\n// This regex specifically matches \"Googlebot\" but NOT \"Mediapartners-Google\", \"AdsBot-Google\", etc.\nconst HEADLESS_BROWSER_BOT_UA_RE = /Googlebot(?!-)|Googlebot$/i;\nexport const HTML_LIMITED_BOT_UA_RE_STRING = HTML_LIMITED_BOT_UA_RE.source;\nexport { HTML_LIMITED_BOT_UA_RE };\nfunction isDomBotUA(userAgent) {\n return HEADLESS_BROWSER_BOT_UA_RE.test(userAgent);\n}\nfunction isHtmlLimitedBotUA(userAgent) {\n return HTML_LIMITED_BOT_UA_RE.test(userAgent);\n}\nexport function isBot(userAgent) {\n return isDomBotUA(userAgent) || isHtmlLimitedBotUA(userAgent);\n}\nexport function getBotType(userAgent) {\n if (isDomBotUA(userAgent)) {\n return 'dom';\n }\n if (isHtmlLimitedBotUA(userAgent)) {\n return 'html';\n }\n return undefined;\n}\n\n//# sourceMappingURL=is-bot.js.map","import { DEFAULT_SEGMENT_KEY } from '../../segment';\nexport function parseLoaderTree(tree) {\n const [segment, parallelRoutes, modules] = tree;\n const { layout, template } = modules;\n let { page } = modules;\n // a __DEFAULT__ segment means that this route didn't match any of the\n // segments in the route, so we should use the default page\n page = segment === DEFAULT_SEGMENT_KEY ? modules.defaultPage : page;\n const conventionPath = layout?.[1] || template?.[1] || page?.[1];\n return {\n page,\n segment,\n modules,\n /* it can be either layout / template / page */ conventionPath,\n parallelRoutes\n };\n}\n\n//# sourceMappingURL=parse-loader-tree.js.map","import { getBotType, HTML_LIMITED_BOT_UA_RE_STRING } from '../../shared/lib/router/utils/is-bot';\nexport function shouldServeStreamingMetadata(userAgent, htmlLimitedBots) {\n const blockingMetadataUARegex = new RegExp(htmlLimitedBots || HTML_LIMITED_BOT_UA_RE_STRING, 'i');\n // Only block metadata for HTML-limited bots\n if (userAgent && blockingMetadataUARegex.test(userAgent)) {\n return false;\n }\n return true;\n}\n// When the request UA is a html-limited bot, we should do a dynamic render.\n// In this case, postpone state is not sent.\nexport function isHtmlBotRequest(req) {\n const ua = req.headers['user-agent'] || '';\n const botType = getBotType(ua);\n return botType === 'html';\n}\n\n//# sourceMappingURL=streaming-metadata.js.map","import { ACTION_HEADER } from '../../client/components/app-router-headers';\nexport function getServerActionRequestMetadata(req) {\n let actionId;\n let contentType;\n if (req.headers instanceof Headers) {\n actionId = req.headers.get(ACTION_HEADER) ?? null;\n contentType = req.headers.get('content-type');\n } else {\n actionId = req.headers[ACTION_HEADER] ?? null;\n contentType = req.headers['content-type'] ?? null;\n }\n // We don't actually support URL encoded actions, and the action handler will bail out if it sees one.\n // But we still want it to flow through to the action handler, to prevent changes in behavior when a regular\n // page component tries to handle a POST.\n const isURLEncodedAction = Boolean(req.method === 'POST' && contentType === 'application/x-www-form-urlencoded');\n const isMultipartAction = Boolean(req.method === 'POST' && (contentType == null ? void 0 : contentType.startsWith('multipart/form-data')));\n const isFetchAction = Boolean(actionId !== undefined && typeof actionId === 'string' && req.method === 'POST');\n const isPossibleServerAction = Boolean(isFetchAction || isURLEncodedAction || isMultipartAction);\n return {\n actionId,\n isURLEncodedAction,\n isMultipartAction,\n isFetchAction,\n isPossibleServerAction\n };\n}\nexport function getIsPossibleServerAction(req) {\n return getServerActionRequestMetadata(req).isPossibleServerAction;\n}\n\n//# sourceMappingURL=server-action-request-meta.js.map","import { CACHE_ONE_YEAR } from '../../lib/constants';\nexport function getCacheControlHeader({ revalidate, expire }) {\n const swrHeader = typeof revalidate === 'number' && expire !== undefined && revalidate < expire ? `, stale-while-revalidate=${expire - revalidate}` : '';\n if (revalidate === 0) {\n return 'private, no-cache, no-store, max-age=0, must-revalidate';\n } else if (typeof revalidate === 'number') {\n return `s-maxage=${revalidate}${swrHeader}`;\n }\n return `s-maxage=${CACHE_ONE_YEAR}${swrHeader}`;\n}\n\n//# sourceMappingURL=cache-control.js.map","import { InvariantError } from '../../shared/lib/invariant-error';\nimport { normalizeAppPath } from '../../shared/lib/router/utils/app-paths';\nimport { pathHasPrefix } from '../../shared/lib/router/utils/path-has-prefix';\nimport { removePathPrefix } from '../../shared/lib/router/utils/remove-path-prefix';\nimport { workAsyncStorage } from './work-async-storage.external';\n// This is a global singleton that is, among other things, also used to\n// encode/decode bound args of server function closures. This can't be using a\n// AsyncLocalStorage as it might happen at the module level.\nconst MANIFESTS_SINGLETON = Symbol.for('next.server.manifests');\nconst globalThisWithManifests = globalThis;\nfunction createProxiedClientReferenceManifest(clientReferenceManifestsPerRoute) {\n const createMappingProxy = (prop)=>{\n return new Proxy({}, {\n get (_, id) {\n const workStore = workAsyncStorage.getStore();\n if (workStore) {\n const currentManifest = clientReferenceManifestsPerRoute.get(workStore.route);\n if (currentManifest == null ? void 0 : currentManifest[prop][id]) {\n return currentManifest[prop][id];\n }\n // In development, we also check all other manifests to see if the\n // module exists there. This is to support a scenario where React's\n // I/O tracking (dev-only) creates a connection from one page to\n // another through an emitted async I/O node that references client\n // components from the other page, e.g. in owner props.\n // TODO: Maybe we need to add a `debugBundlerConfig` option to React\n // to avoid this workaround. The current workaround has the\n // disadvantage that one might accidentally or intentionally share\n // client references across pages (e.g. by storing them in a global\n // variable), which would then only be caught in production.\n if (process.env.NODE_ENV !== 'production') {\n for (const [route, manifest] of clientReferenceManifestsPerRoute){\n if (route === workStore.route) {\n continue;\n }\n const entry = manifest[prop][id];\n if (entry !== undefined) {\n return entry;\n }\n }\n }\n } else {\n // If there's no work store defined, we can assume that a client\n // reference manifest is needed during module evaluation, e.g. to\n // create a server function using a higher-order function. This\n // might also use client components which need to be serialized by\n // Flight, and therefore client references need to be resolvable. In\n // that case we search all page manifests to find the module.\n for (const manifest of clientReferenceManifestsPerRoute.values()){\n const entry = manifest[prop][id];\n if (entry !== undefined) {\n return entry;\n }\n }\n }\n return undefined;\n }\n });\n };\n const mappingProxies = new Map();\n return new Proxy({}, {\n get (_, prop) {\n const workStore = workAsyncStorage.getStore();\n switch(prop){\n case 'moduleLoading':\n case 'entryCSSFiles':\n case 'entryJSFiles':\n {\n if (!workStore) {\n throw Object.defineProperty(new InvariantError(`Cannot access \"${prop}\" without a work store.`), \"__NEXT_ERROR_CODE\", {\n value: \"E952\",\n enumerable: false,\n configurable: true\n });\n }\n const currentManifest = clientReferenceManifestsPerRoute.get(workStore.route);\n if (!currentManifest) {\n throw Object.defineProperty(new InvariantError(`The client reference manifest for route \"${workStore.route}\" does not exist.`), \"__NEXT_ERROR_CODE\", {\n value: \"E951\",\n enumerable: false,\n configurable: true\n });\n }\n return currentManifest[prop];\n }\n case 'clientModules':\n case 'rscModuleMapping':\n case 'edgeRscModuleMapping':\n case 'ssrModuleMapping':\n case 'edgeSSRModuleMapping':\n {\n let proxy = mappingProxies.get(prop);\n if (!proxy) {\n proxy = createMappingProxy(prop);\n mappingProxies.set(prop, proxy);\n }\n return proxy;\n }\n default:\n {\n throw Object.defineProperty(new InvariantError(`This is a proxied client reference manifest. The property \"${String(prop)}\" is not handled.`), \"__NEXT_ERROR_CODE\", {\n value: \"E953\",\n enumerable: false,\n configurable: true\n });\n }\n }\n }\n });\n}\n/**\n * This function creates a Flight-acceptable server module map proxy from our\n * Server Reference Manifest similar to our client module map. This is because\n * our manifest contains a lot of internal Next.js data that are relevant to the\n * runtime, workers, etc. that React doesn't need to know.\n */ function createServerModuleMap() {\n return new Proxy({}, {\n get: (_, id)=>{\n var _getServerActionsManifest__id, _getServerActionsManifest_;\n const workers = (_getServerActionsManifest_ = getServerActionsManifest()[process.env.NEXT_RUNTIME === 'edge' ? 'edge' : 'node']) == null ? void 0 : (_getServerActionsManifest__id = _getServerActionsManifest_[id]) == null ? void 0 : _getServerActionsManifest__id.workers;\n if (!workers) {\n return undefined;\n }\n const workStore = workAsyncStorage.getStore();\n let workerEntry;\n if (workStore) {\n workerEntry = workers[normalizeWorkerPageName(workStore.page)];\n } else {\n // If there's no work store defined, we can assume that a server\n // module map is needed during module evaluation, e.g. to create a\n // server action using a higher-order function. Therefore it should be\n // safe to return any entry from the manifest that matches the action\n // ID. They all refer to the same module ID, which must also exist in\n // the current page bundle. TODO: This is currently not guaranteed in\n // Turbopack, and needs to be fixed.\n workerEntry = Object.values(workers).at(0);\n }\n if (!workerEntry) {\n return undefined;\n }\n const { moduleId, async } = workerEntry;\n return {\n id: moduleId,\n name: id,\n chunks: [],\n async\n };\n }\n });\n}\n/**\n * The flight entry loader keys actions by bundlePath. bundlePath corresponds\n * with the relative path (including 'app') to the page entrypoint.\n */ function normalizeWorkerPageName(pageName) {\n if (pathHasPrefix(pageName, 'app')) {\n return pageName;\n }\n return 'app' + pageName;\n}\n/**\n * Converts a bundlePath (relative path to the entrypoint) to a routable page\n * name.\n */ function denormalizeWorkerPageName(bundlePath) {\n return normalizeAppPath(removePathPrefix(bundlePath, 'app'));\n}\n/**\n * Checks if the requested action has a worker for the current page.\n * If not, it returns the first worker that has a handler for the action.\n */ export function selectWorkerForForwarding(actionId, pageName) {\n var _serverActionsManifest__actionId;\n const serverActionsManifest = getServerActionsManifest();\n const workers = (_serverActionsManifest__actionId = serverActionsManifest[process.env.NEXT_RUNTIME === 'edge' ? 'edge' : 'node'][actionId]) == null ? void 0 : _serverActionsManifest__actionId.workers;\n // There are no workers to handle this action, nothing to forward to.\n if (!workers) {\n return;\n }\n // If there is an entry for the current page, we don't need to forward.\n if (workers[normalizeWorkerPageName(pageName)]) {\n return;\n }\n // Otherwise, grab the first worker that has a handler for this action id.\n return denormalizeWorkerPageName(Object.keys(workers)[0]);\n}\nexport function setManifestsSingleton({ page, clientReferenceManifest, serverActionsManifest }) {\n const existingSingleton = globalThisWithManifests[MANIFESTS_SINGLETON];\n if (existingSingleton) {\n existingSingleton.clientReferenceManifestsPerRoute.set(normalizeAppPath(page), clientReferenceManifest);\n existingSingleton.serverActionsManifest = serverActionsManifest;\n } else {\n const clientReferenceManifestsPerRoute = new Map([\n [\n normalizeAppPath(page),\n clientReferenceManifest\n ]\n ]);\n const proxiedClientReferenceManifest = createProxiedClientReferenceManifest(clientReferenceManifestsPerRoute);\n globalThisWithManifests[MANIFESTS_SINGLETON] = {\n clientReferenceManifestsPerRoute,\n proxiedClientReferenceManifest,\n serverActionsManifest,\n serverModuleMap: createServerModuleMap()\n };\n }\n}\nfunction getManifestsSingleton() {\n const manifestSingleton = globalThisWithManifests[MANIFESTS_SINGLETON];\n if (!manifestSingleton) {\n throw Object.defineProperty(new InvariantError('The manifests singleton was not initialized.'), \"__NEXT_ERROR_CODE\", {\n value: \"E950\",\n enumerable: false,\n configurable: true\n });\n }\n return manifestSingleton;\n}\nexport function getClientReferenceManifest() {\n return getManifestsSingleton().proxiedClientReferenceManifest;\n}\nexport function getServerActionsManifest() {\n return getManifestsSingleton().serverActionsManifest;\n}\nexport function getServerModuleMap() {\n return getManifestsSingleton().serverModuleMap;\n}\n\n//# sourceMappingURL=manifests-singleton.js.map","import { isResSent } from '../shared/lib/utils';\nimport { generateETag } from './lib/etag';\nimport fresh from 'next/dist/compiled/fresh';\nimport { getCacheControlHeader } from './lib/cache-control';\nimport { HTML_CONTENT_TYPE_HEADER } from '../lib/constants';\nexport function sendEtagResponse(req, res, etag) {\n if (etag) {\n /**\n * The server generating a 304 response MUST generate any of the\n * following header fields that would have been sent in a 200 (OK)\n * response to the same request: Cache-Control, Content-Location, Date,\n * ETag, Expires, and Vary. https://tools.ietf.org/html/rfc7232#section-4.1\n */ res.setHeader('ETag', etag);\n }\n if (fresh(req.headers, {\n etag\n })) {\n res.statusCode = 304;\n res.end();\n return true;\n }\n return false;\n}\nexport async function sendRenderResult({ req, res, result, generateEtags, poweredByHeader, cacheControl }) {\n if (isResSent(res)) {\n return;\n }\n if (poweredByHeader && result.contentType === HTML_CONTENT_TYPE_HEADER) {\n res.setHeader('X-Powered-By', 'Next.js');\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheControl && !res.getHeader('Cache-Control')) {\n res.setHeader('Cache-Control', getCacheControlHeader(cacheControl));\n }\n const payload = result.isDynamic ? null : result.toUnchunkedString();\n if (generateEtags && payload !== null) {\n const etag = generateETag(payload);\n if (sendEtagResponse(req, res, etag)) {\n return;\n }\n }\n if (!res.getHeader('Content-Type') && result.contentType) {\n res.setHeader('Content-Type', result.contentType);\n }\n if (payload) {\n res.setHeader('Content-Length', Buffer.byteLength(payload));\n }\n if (req.method === 'HEAD') {\n res.end(null);\n return;\n }\n if (payload !== null) {\n res.end(payload);\n return;\n }\n // Pipe the render result to the response after we get a writer for it.\n await result.pipeToNodeResponse(res);\n}\n\n//# sourceMappingURL=send-payload.js.map","import { InvariantError } from '../../invariant-error';\nimport { interceptionPrefixFromParamType } from './interception-prefix-from-param-type';\n/**\n * Extracts the param value from a path segment, handling interception markers\n * based on the expected param type.\n *\n * @param pathSegment - The path segment to extract the value from\n * @param params - The current params object for resolving dynamic param references\n * @param paramType - The expected param type which may include interception marker info\n * @returns The extracted param value\n */ function getParamValueFromSegment(pathSegment, params, paramType) {\n // If the segment is dynamic, resolve it from the params object\n if (pathSegment.type === 'dynamic') {\n return params[pathSegment.param.paramName];\n }\n // If the paramType indicates this is an intercepted param, strip the marker\n // that matches the interception marker in the param type\n const interceptionPrefix = interceptionPrefixFromParamType(paramType);\n if (interceptionPrefix === pathSegment.interceptionMarker) {\n return pathSegment.name.replace(pathSegment.interceptionMarker, '');\n }\n // For static segments, use the name\n return pathSegment.name;\n}\n/**\n * Resolves a route parameter value from the route segments at the given depth.\n * This shared logic is used by both extractPathnameRouteParamSegmentsFromLoaderTree\n * and resolveRouteParamsFromTree.\n *\n * @param paramName - The parameter name to resolve\n * @param paramType - The parameter type (dynamic, catchall, etc.)\n * @param depth - The current depth in the route tree\n * @param route - The normalized route containing segments\n * @param params - The current params object (used to resolve embedded param references)\n * @param options - Configuration options\n * @returns The resolved parameter value, or undefined if it cannot be resolved\n */ export function resolveParamValue(paramName, paramType, depth, route, params) {\n switch(paramType){\n case 'catchall':\n case 'optional-catchall':\n case 'catchall-intercepted-(..)(..)':\n case 'catchall-intercepted-(.)':\n case 'catchall-intercepted-(..)':\n case 'catchall-intercepted-(...)':\n // For catchall routes, derive from pathname using depth to determine\n // which segments to use\n const processedSegments = [];\n // Process segments to handle any embedded dynamic params\n for(let index = depth; index < route.segments.length; index++){\n const pathSegment = route.segments[index];\n if (pathSegment.type === 'static') {\n let value = pathSegment.name;\n // For intercepted catch-all params, strip the marker from the first segment\n const interceptionPrefix = interceptionPrefixFromParamType(paramType);\n if (interceptionPrefix && index === depth && interceptionPrefix === pathSegment.interceptionMarker) {\n // Strip the interception marker from the value\n value = value.replace(pathSegment.interceptionMarker, '');\n }\n processedSegments.push(value);\n } else {\n // If the segment is a param placeholder, check if we have its value\n if (!params.hasOwnProperty(pathSegment.param.paramName)) {\n // If the segment is an optional catchall, we can break out of the\n // loop because it's optional!\n if (pathSegment.param.paramType === 'optional-catchall') {\n break;\n }\n // Unknown param placeholder in pathname - can't derive full value\n return undefined;\n }\n // If the segment matches a param, use the param value\n // We don't encode values here as that's handled during retrieval.\n const paramValue = params[pathSegment.param.paramName];\n if (Array.isArray(paramValue)) {\n processedSegments.push(...paramValue);\n } else {\n processedSegments.push(paramValue);\n }\n }\n }\n if (processedSegments.length > 0) {\n return processedSegments;\n } else if (paramType === 'optional-catchall') {\n return undefined;\n } else {\n // We shouldn't be able to match a catchall segment without any path\n // segments if it's not an optional catchall\n throw Object.defineProperty(new InvariantError(`Unexpected empty path segments match for a route \"${route.pathname}\" with param \"${paramName}\" of type \"${paramType}\"`), \"__NEXT_ERROR_CODE\", {\n value: \"E931\",\n enumerable: false,\n configurable: true\n });\n }\n case 'dynamic':\n case 'dynamic-intercepted-(..)(..)':\n case 'dynamic-intercepted-(.)':\n case 'dynamic-intercepted-(..)':\n case 'dynamic-intercepted-(...)':\n // For regular dynamic parameters, take the segment at this depth\n if (depth < route.segments.length) {\n const pathSegment = route.segments[depth];\n // Check if the segment at this depth is a placeholder for an unknown param\n if (pathSegment.type === 'dynamic' && !params.hasOwnProperty(pathSegment.param.paramName)) {\n // The segment is a placeholder like [category] and we don't have the value\n return undefined;\n }\n // If the segment matches a param, use the param value from params object\n // Otherwise it's a static segment, just use it directly\n // We don't encode values here as that's handled during retrieval\n return getParamValueFromSegment(pathSegment, params, paramType);\n }\n return undefined;\n default:\n paramType;\n }\n}\n\n//# sourceMappingURL=resolve-param-value.js.map","import { normalizeAppPath } from './app-paths';\n// order matters here, the first match will be used\nexport const INTERCEPTION_ROUTE_MARKERS = [\n '(..)(..)',\n '(.)',\n '(..)',\n '(...)'\n];\nexport function isInterceptionRouteAppPath(path) {\n // TODO-APP: add more serious validation\n return path.split('/').find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined;\n}\nexport function extractInterceptionRouteInformation(path) {\n let interceptingRoute;\n let marker;\n let interceptedRoute;\n for (const segment of path.split('/')){\n marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n ;\n [interceptingRoute, interceptedRoute] = path.split(marker, 2);\n break;\n }\n }\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw Object.defineProperty(new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`), \"__NEXT_ERROR_CODE\", {\n value: \"E269\",\n enumerable: false,\n configurable: true\n });\n }\n interceptingRoute = normalizeAppPath(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n ;\n switch(marker){\n case '(.)':\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === '/') {\n interceptedRoute = `/${interceptedRoute}`;\n } else {\n interceptedRoute = interceptingRoute + '/' + interceptedRoute;\n }\n break;\n case '(..)':\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === '/') {\n throw Object.defineProperty(new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`), \"__NEXT_ERROR_CODE\", {\n value: \"E207\",\n enumerable: false,\n configurable: true\n });\n }\n interceptedRoute = interceptingRoute.split('/').slice(0, -1).concat(interceptedRoute).join('/');\n break;\n case '(...)':\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = '/' + interceptedRoute;\n break;\n case '(..)(..)':\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n const splitInterceptingRoute = interceptingRoute.split('/');\n if (splitInterceptingRoute.length <= 2) {\n throw Object.defineProperty(new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`), \"__NEXT_ERROR_CODE\", {\n value: \"E486\",\n enumerable: false,\n configurable: true\n });\n }\n interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join('/');\n break;\n default:\n throw Object.defineProperty(new Error('Invariant: unexpected marker'), \"__NEXT_ERROR_CODE\", {\n value: \"E112\",\n enumerable: false,\n configurable: true\n });\n }\n return {\n interceptingRoute,\n interceptedRoute\n };\n}\n\n//# sourceMappingURL=interception-routes.js.map","/**\n * Interop between \"export default\" and \"module.exports\".\n */ export function interopDefault(mod) {\n return mod.default || mod;\n}\n\n//# sourceMappingURL=interop-default.js.map","/**\n * Describes the different fallback modes that a given page can have.\n */ export var FallbackMode = /*#__PURE__*/ function(FallbackMode) {\n /**\n * A BLOCKING_STATIC_RENDER fallback will block the request until the page is\n * generated. No fallback page will be rendered, and users will have to wait\n * to render the page.\n */ FallbackMode[\"BLOCKING_STATIC_RENDER\"] = \"BLOCKING_STATIC_RENDER\";\n /**\n * When set to PRERENDER, a fallback page will be sent to users in place of\n * forcing them to wait for the page to be generated. This allows the user to\n * see a rendered page earlier.\n */ FallbackMode[\"PRERENDER\"] = \"PRERENDER\";\n /**\n * When set to NOT_FOUND, pages that are not already prerendered will result\n * in a not found response.\n */ FallbackMode[\"NOT_FOUND\"] = \"NOT_FOUND\";\n return FallbackMode;\n}({});\n/**\n * Parses the fallback field from the prerender manifest.\n *\n * @param fallbackField The fallback field from the prerender manifest.\n * @returns The fallback mode.\n */ export function parseFallbackField(fallbackField) {\n if (typeof fallbackField === 'string') {\n return \"PRERENDER\";\n } else if (fallbackField === null) {\n return \"BLOCKING_STATIC_RENDER\";\n } else if (fallbackField === false) {\n return \"NOT_FOUND\";\n } else if (fallbackField === undefined) {\n return undefined;\n } else {\n throw Object.defineProperty(new Error(`Invalid fallback option: ${fallbackField}. Fallback option must be a string, null, undefined, or false.`), \"__NEXT_ERROR_CODE\", {\n value: \"E285\",\n enumerable: false,\n configurable: true\n });\n }\n}\nexport function fallbackModeToFallbackField(fallback, page) {\n switch(fallback){\n case \"BLOCKING_STATIC_RENDER\":\n return null;\n case \"NOT_FOUND\":\n return false;\n case \"PRERENDER\":\n if (!page) {\n throw Object.defineProperty(new Error(`Invariant: expected a page to be provided when fallback mode is \"${fallback}\"`), \"__NEXT_ERROR_CODE\", {\n value: \"E422\",\n enumerable: false,\n configurable: true\n });\n }\n return page;\n default:\n throw Object.defineProperty(new Error(`Invalid fallback mode: ${fallback}`), \"__NEXT_ERROR_CODE\", {\n value: \"E254\",\n enumerable: false,\n configurable: true\n });\n }\n}\n/**\n * Parses the fallback from the static paths result.\n *\n * @param result The result from the static paths function.\n * @returns The fallback mode.\n */ export function parseStaticPathsResult(result) {\n if (result === true) {\n return \"PRERENDER\";\n } else if (result === 'blocking') {\n return \"BLOCKING_STATIC_RENDER\";\n } else {\n return \"NOT_FOUND\";\n }\n}\n\n//# sourceMappingURL=fallback.js.map","import { parseAppRouteSegment } from '../../../shared/lib/router/routes/app';\nimport { parseLoaderTree } from '../../../shared/lib/router/utils/parse-loader-tree';\nimport { resolveParamValue } from '../../../shared/lib/router/utils/resolve-param-value';\n/**\n * Validates that the static segments in currentPath match the corresponding\n * segments in targetSegments. This ensures we only extract dynamic parameters\n * that are part of the target pathname structure.\n *\n * Segments are compared literally - interception markers like \"(.)photo\" are\n * part of the pathname and must match exactly.\n *\n * @example\n * // Matching paths\n * currentPath: ['blog', '(.)photo']\n * targetSegments: ['blog', '(.)photo', '[id]']\n * → Returns true (both static segments match exactly)\n *\n * @example\n * // Non-matching paths\n * currentPath: ['blog', '(.)photo']\n * targetSegments: ['blog', 'photo', '[id]']\n * → Returns false (segments don't match - marker is part of pathname)\n *\n * @param currentPath - The accumulated path segments from the loader tree\n * @param targetSegments - The target pathname split into segments\n * @returns true if all static segments match, false otherwise\n */ function validatePrefixMatch(currentPath, route) {\n for(let i = 0; i < currentPath.length; i++){\n const pathSegment = currentPath[i];\n const targetPathSegment = route.segments[i];\n // Type mismatch - one is static, one is dynamic\n if (pathSegment.type !== targetPathSegment.type) {\n return false;\n }\n // One has an interception marker, the other doesn't.\n if (pathSegment.interceptionMarker !== targetPathSegment.interceptionMarker) {\n return false;\n }\n // Both are static but names don't match\n if (pathSegment.type === 'static' && targetPathSegment.type === 'static' && pathSegment.name !== targetPathSegment.name) {\n return false;\n } else if (pathSegment.type === 'dynamic' && targetPathSegment.type === 'dynamic' && pathSegment.param.paramType !== targetPathSegment.param.paramType && pathSegment.param.paramName !== targetPathSegment.param.paramName) {\n return false;\n }\n }\n return true;\n}\n/**\n * Extracts pathname route param segments from a loader tree and resolves\n * parameter values from static segments in the route.\n *\n * @param loaderTree - The loader tree structure containing route hierarchy\n * @param route - The target route to match against\n * @returns Object containing pathname route param segments and resolved params\n */ export function extractPathnameRouteParamSegmentsFromLoaderTree(loaderTree, route) {\n const pathnameRouteParamSegments = [];\n const params = {};\n // BFS traversal with depth and path tracking\n const queue = [\n {\n tree: loaderTree,\n depth: 0,\n currentPath: []\n }\n ];\n while(queue.length > 0){\n const { tree, depth, currentPath } = queue.shift();\n const { segment, parallelRoutes } = parseLoaderTree(tree);\n // Build the path for the current node\n let updatedPath = currentPath;\n let nextDepth = depth;\n const appSegment = parseAppRouteSegment(segment);\n // Only add to path if it's a real segment that appears in the URL\n // Route groups and parallel markers don't contribute to URL pathname\n if (appSegment && appSegment.type !== 'route-group' && appSegment.type !== 'parallel-route') {\n updatedPath = [\n ...currentPath,\n appSegment\n ];\n nextDepth = depth + 1;\n }\n // Check if this segment has a param and matches the target pathname at this depth\n if ((appSegment == null ? void 0 : appSegment.type) === 'dynamic') {\n const { paramName, paramType } = appSegment.param;\n // Check if this segment is at the correct depth in the target pathname\n // A segment matches if:\n // 1. There's a dynamic segment at this depth in the pathname\n // 2. The parameter names match (e.g., [id] matches [id], not [category])\n // 3. The static segments leading up to this point match (prefix check)\n if (depth < route.segments.length) {\n const targetSegment = route.segments[depth];\n // Match if the target pathname has a dynamic segment at this depth\n if (targetSegment.type === 'dynamic') {\n // Check that parameter names match exactly\n // This prevents [category] from matching against /[id]\n if (paramName !== targetSegment.param.paramName) {\n continue; // Different param names, skip this segment\n }\n // Validate that the path leading up to this dynamic segment matches\n // the target pathname. This prevents false matches like extracting\n // [slug] from \"/news/[slug]\" when the tree has \"/blog/[slug]\"\n if (validatePrefixMatch(currentPath, route)) {\n pathnameRouteParamSegments.push({\n name: segment,\n paramName,\n paramType\n });\n }\n }\n }\n // Resolve parameter value if it's not already known.\n if (!params.hasOwnProperty(paramName)) {\n const paramValue = resolveParamValue(paramName, paramType, depth, route, params);\n if (paramValue !== undefined) {\n params[paramName] = paramValue;\n }\n }\n }\n // Continue traversing all parallel routes to find matching segments\n for (const parallelRoute of Object.values(parallelRoutes)){\n queue.push({\n tree: parallelRoute,\n depth: nextDepth,\n currentPath: updatedPath\n });\n }\n }\n return {\n pathnameRouteParamSegments,\n params\n };\n}\n\n//# sourceMappingURL=extract-pathname-route-param-segments-from-loader-tree.js.map","/**\n * Parse cookies from the `headers` of request\n * @param req request object\n */ export function getCookieParser(headers) {\n return function parseCookie() {\n const { cookie } = headers;\n if (!cookie) {\n return {};\n }\n const { parse: parseCookieFn } = require('next/dist/compiled/cookie');\n return parseCookieFn(Array.isArray(cookie) ? cookie.join('; ') : cookie);\n };\n}\n\n//# sourceMappingURL=get-cookie-parser.js.map","import { INTERCEPTION_ROUTE_MARKERS } from './interception-routes';\n/**\n * Parse dynamic route segment to type of parameter\n */ export function getSegmentParam(segment) {\n const interceptionMarker = INTERCEPTION_ROUTE_MARKERS.find((marker)=>segment.startsWith(marker));\n // if an interception marker is part of the path segment, we need to jump ahead\n // to the relevant portion for param parsing\n if (interceptionMarker) {\n segment = segment.slice(interceptionMarker.length);\n }\n if (segment.startsWith('[[...') && segment.endsWith(']]')) {\n return {\n // TODO-APP: Optional catchall does not currently work with parallel routes,\n // so for now aren't handling a potential interception marker.\n paramType: 'optional-catchall',\n paramName: segment.slice(5, -2)\n };\n }\n if (segment.startsWith('[...') && segment.endsWith(']')) {\n return {\n paramType: interceptionMarker ? `catchall-intercepted-${interceptionMarker}` : 'catchall',\n paramName: segment.slice(4, -1)\n };\n }\n if (segment.startsWith('[') && segment.endsWith(']')) {\n return {\n paramType: interceptionMarker ? `dynamic-intercepted-${interceptionMarker}` : 'dynamic',\n paramName: segment.slice(1, -1)\n };\n }\n return null;\n}\nexport function isCatchAll(type) {\n return type === 'catchall' || type === 'catchall-intercepted-(..)(..)' || type === 'catchall-intercepted-(.)' || type === 'catchall-intercepted-(..)' || type === 'catchall-intercepted-(...)' || type === 'optional-catchall';\n}\nexport function getParamProperties(paramType) {\n let repeat = false;\n let optional = false;\n switch(paramType){\n case 'catchall':\n case 'catchall-intercepted-(..)(..)':\n case 'catchall-intercepted-(.)':\n case 'catchall-intercepted-(..)':\n case 'catchall-intercepted-(...)':\n repeat = true;\n break;\n case 'optional-catchall':\n repeat = true;\n optional = true;\n break;\n case 'dynamic':\n case 'dynamic-intercepted-(..)(..)':\n case 'dynamic-intercepted-(.)':\n case 'dynamic-intercepted-(..)':\n case 'dynamic-intercepted-(...)':\n break;\n default:\n paramType;\n }\n return {\n repeat,\n optional\n };\n}\n\n//# sourceMappingURL=get-segment-param.js.map","/**\n * Web vitals provided to _app.reportWebVitals by Core Web Vitals plugin developed by Google Chrome team.\n * https://nextjs.org/blog/next-9-4#integrated-web-vitals-reporting\n */ export const WEB_VITALS = [\n 'CLS',\n 'FCP',\n 'FID',\n 'INP',\n 'LCP',\n 'TTFB'\n];\n/**\n * Utils\n */ export function execOnce(fn) {\n let used = false;\n let result;\n return (...args)=>{\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nexport const isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nexport function getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return `${protocol}//${hostname}${port ? ':' + port : ''}`;\n}\nexport function getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nexport function getDisplayName(Component) {\n return typeof Component === 'string' ? Component : Component.displayName || Component.name || 'Unknown';\n}\nexport function isResSent(res) {\n return res.finished || res.headersSent;\n}\nexport function normalizeRepeatedSlashes(url) {\n const urlParts = url.split('?');\n const urlNoQuery = urlParts[0];\n return urlNoQuery// first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, '/').replace(/\\/\\/+/g, '/') + (urlParts[1] ? `?${urlParts.slice(1).join('?')}` : '');\n}\nexport async function loadGetInitialProps(App, ctx) {\n if (process.env.NODE_ENV !== 'production') {\n if (App.prototype?.getInitialProps) {\n const message = `\"${getDisplayName(App)}.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.`;\n throw Object.defineProperty(new Error(message), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = `\"${getDisplayName(App)}.getInitialProps()\" should resolve to an object. But found \"${props}\" instead.`;\n throw Object.defineProperty(new Error(message), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(`${getDisplayName(App)} returned an empty object from \\`getInitialProps\\`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps`);\n }\n }\n return props;\n}\nexport const SP = typeof performance !== 'undefined';\nexport const ST = SP && [\n 'mark',\n 'measure',\n 'getEntriesByName'\n].every((method)=>typeof performance[method] === 'function');\nexport class DecodeError extends Error {\n}\nexport class NormalizeError extends Error {\n}\nexport class PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = 'ENOENT';\n this.name = 'PageNotFoundError';\n this.message = `Cannot find module for page: ${page}`;\n }\n}\nexport class MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = `Failed to load static file for page: ${page} ${message}`;\n }\n}\nexport class MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = 'ENOENT';\n this.message = `Cannot find the middleware module`;\n }\n}\nexport function stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n}\n\n//# sourceMappingURL=utils.js.map","/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */ export function ensureLeadingSlash(path) {\n return path.startsWith('/') ? path : `/${path}`;\n}\n\n//# sourceMappingURL=ensure-leading-slash.js.map","// This regex contains the bots that we need to do a blocking render for and can't safely stream the response\n// due to how they parse the DOM. For example, they might explicitly check for metadata in the `head` tag, so we can't stream metadata tags after the `head` was sent.\n// Note: The pattern [\\w-]+-Google captures all Google crawlers with \"-Google\" suffix (e.g., Mediapartners-Google, AdsBot-Google, Storebot-Google)\n// as well as crawlers starting with \"Google-\" (e.g., Google-PageRenderer, Google-InspectionTool)\nexport const HTML_LIMITED_BOT_UA_RE = /[\\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/i;\n\n//# sourceMappingURL=html-bots.js.map","/**\n * FNV-1a Hash implementation\n * @author Travis Webb (tjwebb) <me@traviswebb.com>\n *\n * Ported from https://github.com/tjwebb/fnv-plus/blob/master/index.js\n *\n * Simplified, optimized and add modified for 52 bit, which provides a larger hash space\n * and still making use of Javascript's 53-bit integer space.\n */ export const fnv1a52 = (str)=>{\n const len = str.length;\n let i = 0, t0 = 0, v0 = 0x2325, t1 = 0, v1 = 0x8422, t2 = 0, v2 = 0x9ce4, t3 = 0, v3 = 0xcbf2;\n while(i < len){\n v0 ^= str.charCodeAt(i++);\n t0 = v0 * 435;\n t1 = v1 * 435;\n t2 = v2 * 435;\n t3 = v3 * 435;\n t2 += v0 << 8;\n t3 += v1 << 8;\n t1 += t0 >>> 16;\n v0 = t0 & 65535;\n t2 += t1 >>> 16;\n v1 = t1 & 65535;\n v3 = t3 + (t2 >>> 16) & 65535;\n v2 = t2 & 65535;\n }\n return (v3 & 15) * 281474976710656 + v2 * 4294967296 + v1 * 65536 + (v0 ^ v3 >> 4);\n};\nexport const generateETag = (payload, weak = false)=>{\n const prefix = weak ? 'W/\"' : '\"';\n return prefix + fnv1a52(payload).toString(36) + payload.length.toString(36) + '\"';\n};\n\n//# sourceMappingURL=etag.js.map","import { resolveRouteParamsFromTree } from '../../build/static-paths/utils';\nimport { dynamicParamTypes } from '../app-render/get-short-dynamic-param-type';\nimport { parseAppRoute } from '../../shared/lib/router/routes/app';\nimport { extractPathnameRouteParamSegmentsFromLoaderTree } from '../../build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree';\n/**\n * Creates an opaque fallback route params object from the fallback route params.\n *\n * @param fallbackRouteParams the fallback route params\n * @returns the opaque fallback route params\n */ export function createOpaqueFallbackRouteParams(fallbackRouteParams) {\n // If there are no fallback route params, we can return early.\n if (fallbackRouteParams.length === 0) return null;\n // As we're creating unique keys for each of the dynamic route params, we only\n // need to generate a unique ID once per request because each of the keys will\n // be also be unique.\n const uniqueID = Math.random().toString(16).slice(2);\n const keys = new Map();\n // Generate a unique key for the fallback route param, if this key is found\n // in the static output, it represents a bug in cache components.\n for (const { paramName, paramType } of fallbackRouteParams){\n keys.set(paramName, [\n `%%drp:${paramName}:${uniqueID}%%`,\n dynamicParamTypes[paramType]\n ]);\n }\n return keys;\n}\n/**\n * Gets the fallback route params for a given page. This is an expensive\n * operation because it requires parsing the loader tree to extract the fallback\n * route params.\n *\n * @param page the page\n * @param routeModule the route module\n * @returns the opaque fallback route params\n */ export function getFallbackRouteParams(page, routeModule) {\n const route = parseAppRoute(page, true);\n // Extract the pathname-contributing segments from the loader tree. This\n // mirrors the logic in buildAppStaticPaths where we determine which segments\n // actually contribute to the pathname.\n const { pathnameRouteParamSegments, params } = extractPathnameRouteParamSegmentsFromLoaderTree(routeModule.userland.loaderTree, route);\n // Create fallback route params for the pathname segments.\n const fallbackRouteParams = pathnameRouteParamSegments.map(({ paramName, paramType })=>({\n paramName,\n paramType\n }));\n // Resolve route params from the loader tree. This mutates the\n // fallbackRouteParams array to add any route params that are\n // unknown at request time.\n //\n // The page parameter contains placeholders like [slug], which helps\n // resolveRouteParamsFromTree determine which params are unknown.\n resolveRouteParamsFromTree(routeModule.userland.loaderTree, params, route, fallbackRouteParams // Will be mutated to add route params\n );\n // Convert the fallback route params to an opaque format that can be safely\n // used in the postponed state without exposing implementation details.\n return createOpaqueFallbackRouteParams(fallbackRouteParams);\n}\n\n//# sourceMappingURL=fallback-params.js.map","import { isAppPageRouteModule } from '../../server/route-modules/checks';\nimport { parseAppRouteSegment } from '../../shared/lib/router/routes/app';\nimport { parseLoaderTree } from '../../shared/lib/router/utils/parse-loader-tree';\nimport { extractPathnameRouteParamSegmentsFromLoaderTree } from './app/extract-pathname-route-param-segments-from-loader-tree';\nimport { resolveParamValue } from '../../shared/lib/router/utils/resolve-param-value';\n/**\n * Encodes a parameter value using the provided encoder.\n *\n * @param value - The value to encode.\n * @param encoder - The encoder to use.\n * @returns The encoded value.\n */ export function encodeParam(value, encoder) {\n let replaceValue;\n if (Array.isArray(value)) {\n replaceValue = value.map(encoder).join('/');\n } else {\n replaceValue = encoder(value);\n }\n return replaceValue;\n}\n/**\n * Normalizes a pathname to a consistent format.\n *\n * @param pathname - The pathname to normalize.\n * @returns The normalized pathname.\n */ export function normalizePathname(pathname) {\n return pathname.replace(/\\\\/g, '/').replace(/(?!^)\\/$/, '');\n}\n/**\n * Extracts segments that contribute to the pathname by traversing the loader tree\n * based on the route module type.\n *\n * @param routeModule - The app route module (page or route handler)\n * @param segments - Array of AppSegment objects collected from the route\n * @param page - The target pathname to match against, INCLUDING interception\n * markers (e.g., \"/blog/[slug]\", \"/(.)photo/[id]\")\n * @returns Array of segments with param info that contribute to the pathname\n */ export function extractPathnameRouteParamSegments(routeModule, segments, route) {\n // For AppPageRouteModule, use the loaderTree traversal approach\n if (isAppPageRouteModule(routeModule)) {\n const { pathnameRouteParamSegments } = extractPathnameRouteParamSegmentsFromLoaderTree(routeModule.userland.loaderTree, route);\n return pathnameRouteParamSegments;\n }\n return extractPathnameRouteParamSegmentsFromSegments(segments);\n}\nexport function extractPathnameRouteParamSegmentsFromSegments(segments) {\n // TODO: should we consider what values are already present in the page?\n // For AppRouteRouteModule, filter the segments array to get the route params\n // that contribute to the pathname.\n const result = [];\n for (const segment of segments){\n // Skip segments without param info.\n if (!segment.paramName || !segment.paramType) continue;\n // Collect all the route param keys that contribute to the pathname.\n result.push({\n name: segment.name,\n paramName: segment.paramName,\n paramType: segment.paramType\n });\n }\n return result;\n}\n/**\n * Resolves all route parameters from the loader tree. This function uses\n * tree-based traversal to correctly handle the hierarchical structure of routes\n * and accurately determine parameter values based on their depth in the tree.\n *\n * This processes both regular route parameters (from the main children route) and\n * parallel route parameters (from slots like @modal, @sidebar).\n *\n * Unlike interpolateParallelRouteParams (which has a complete URL at runtime),\n * this build-time function determines which route params are unknown.\n * The pathname may contain placeholders like [slug], making it incomplete.\n *\n * @param loaderTree - The loader tree structure containing route hierarchy\n * @param params - The current route parameters object (will be mutated)\n * @param route - The current route being processed\n * @param fallbackRouteParams - Array of fallback route parameters (will be mutated)\n */ export function resolveRouteParamsFromTree(loaderTree, params, route, fallbackRouteParams) {\n // Stack-based traversal with depth tracking\n const stack = [\n {\n tree: loaderTree,\n depth: 0\n }\n ];\n while(stack.length > 0){\n const { tree, depth } = stack.pop();\n const { segment, parallelRoutes } = parseLoaderTree(tree);\n const appSegment = parseAppRouteSegment(segment);\n // If this segment is a route parameter, then we should process it if it's\n // not already known and is not already marked as a fallback route param.\n if ((appSegment == null ? void 0 : appSegment.type) === 'dynamic' && !params.hasOwnProperty(appSegment.param.paramName) && !fallbackRouteParams.some((param)=>param.paramName === appSegment.param.paramName)) {\n const { paramName, paramType } = appSegment.param;\n const paramValue = resolveParamValue(paramName, paramType, depth, route, params);\n if (paramValue !== undefined) {\n params[paramName] = paramValue;\n } else if (paramType !== 'optional-catchall') {\n // If we couldn't resolve the param, mark it as a fallback\n fallbackRouteParams.push({\n paramName,\n paramType\n });\n }\n }\n // Calculate next depth - increment if this is not a route group and not empty\n let nextDepth = depth;\n if (appSegment && appSegment.type !== 'route-group' && appSegment.type !== 'parallel-route') {\n nextDepth++;\n }\n // Add all parallel routes to the stack for processing.\n for (const parallelRoute of Object.values(parallelRoutes)){\n stack.push({\n tree: parallelRoute,\n depth: nextDepth\n });\n }\n }\n}\n\n//# sourceMappingURL=utils.js.map","/**\n * If set to `incremental`, only those leaf pages that export\n * `experimental_ppr = true` will have partial prerendering enabled. If any\n * page exports this value as `false` or does not export it at all will not\n * have partial prerendering enabled. If set to a boolean, the options for\n * `experimental_ppr` will be ignored.\n */ /**\n * Returns true if partial prerendering is enabled for the application. It does\n * not tell you if a given route has PPR enabled, as that requires analysis of\n * the route's configuration.\n *\n * @see {@link checkIsRoutePPREnabled} - for checking if a specific route has PPR enabled.\n */ export function checkIsAppPPREnabled(config) {\n // If the config is undefined, partial prerendering is disabled.\n if (typeof config === 'undefined') return false;\n // If the config is a boolean, use it directly.\n if (typeof config === 'boolean') return config;\n // If the config is a string, it must be 'incremental' to enable partial\n // prerendering.\n if (config === 'incremental') return true;\n return false;\n}\n/**\n * Returns true if partial prerendering is supported for the current page with\n * the provided app configuration. If the application doesn't have partial\n * prerendering enabled, this function will always return false. If you want to\n * check if the application has partial prerendering enabled\n *\n * @see {@link checkIsAppPPREnabled} for checking if the application has PPR enabled.\n */ export function checkIsRoutePPREnabled(config) {\n // If the config is undefined, partial prerendering is disabled.\n if (typeof config === 'undefined') return false;\n // If the config is a boolean, use it directly.\n if (typeof config === 'boolean') return config;\n return false;\n}\n\n//# sourceMappingURL=ppr.js.map"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK"],"mappings":"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","ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]}
@@ -0,0 +1,8 @@
1
+ module.exports=[3270,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return e}});class d extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class e extends URLSearchParams{append(){throw new d}delete(){throw new d}set(){throw new d}sort(){throw new d}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},77584,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"RedirectStatusCode",{enumerable:!0,get:function(){return e}});var d,e=((d={})[d.SeeOther=303]="SeeOther",d[d.TemporaryRedirect=307]="TemporaryRedirect",d[d.PermanentRedirect=308]="PermanentRedirect",d);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},37605,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e={REDIRECT_ERROR_CODE:function(){return h},RedirectType:function(){return i},isRedirectError:function(){return j}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});let g=a.r(77584),h="NEXT_REDIRECT";var i=((d={}).push="push",d.replace="replace",d);function j(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),f=Number(b.at(-2));return c===h&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(f)&&f in g.RedirectStatusCode}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},58082,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return n},getRedirectTypeFromError:function(){return m},getURLFromRedirectError:function(){return l},permanentRedirect:function(){return k},redirect:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(77584),g=a.r(37605),h=a.r(20635).actionAsyncStorage;function i(a,b,c=f.RedirectStatusCode.TemporaryRedirect){let d=Object.defineProperty(Error(g.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d.digest=`${g.REDIRECT_ERROR_CODE};${b};${a};${c};`,d}function j(a,b){throw i(a,b??=h?.getStore()?.isAction?g.RedirectType.push:g.RedirectType.replace,f.RedirectStatusCode.TemporaryRedirect)}function k(a,b=g.RedirectType.replace){throw i(a,b,f.RedirectStatusCode.PermanentRedirect)}function l(a){return(0,g.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null}function m(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}function n(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(a.digest.split(";").at(-2))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},92837,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HTTPAccessErrorStatus:function(){return f},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return h},getAccessFallbackErrorTypeByStatus:function(){return k},getAccessFallbackHTTPStatus:function(){return j},isHTTPAccessFallbackError:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},g=new Set(Object.values(f)),h="NEXT_HTTP_ERROR_FALLBACK";function i(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===h&&g.has(Number(c))}function j(a){return Number(a.digest.split(";")[1])}function k(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},27211,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"notFound",{enumerable:!0,get:function(){return f}});let d=a.r(92837),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},8854,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"forbidden",{enumerable:!0,get:function(){return d}}),a.r(92837).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},49137,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unauthorized",{enumerable:!0,get:function(){return d}}),a.r(92837).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},64527,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={isHangingPromiseRejectionError:function(){return f},makeDevtoolsIOAwarePromise:function(){return l},makeHangingPromise:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===g}let g="HANGING_PROMISE_REJECTION";class h extends Error{constructor(a,b){super(`During prerendering, ${b} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${b} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${a}".`),this.route=a,this.expression=b,this.digest=g}}let i=new WeakMap;function j(a,b,c){if(a.aborted)return Promise.reject(new h(b,c));{let d=new Promise((d,e)=>{let f=e.bind(null,new h(b,c)),g=i.get(a);if(g)g.push(f);else{let b=[f];i.set(a,b),a.addEventListener("abort",()=>{for(let a=0;a<b.length;a++)b[a]()},{once:!0})}});return d.catch(k),d}}function k(){}function l(a,b,c){return b.stagedRendering?b.stagedRendering.delayUntilStage(c,void 0,a):new Promise(b=>{setTimeout(()=>{b(a)},0)})}},11145,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isPostpone",{enumerable:!0,get:function(){return e}});let d=Symbol.for("react.postpone");function e(a){return"object"==typeof a&&null!==a&&a.$$typeof===d}},47117,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},86698,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=a.r(92837),e=a.r(37605);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},47306,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DynamicServerError:function(){return g},isDynamicServerError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="DYNAMIC_SERVER_USAGE";class g extends Error{constructor(a){super(`Dynamic server usage: ${a}`),this.description=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===f}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},40050,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={StaticGenBailoutError:function(){return g},isStaticGenBailoutError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="NEXT_STATIC_GEN_BAILOUT";class g extends Error{constructor(...a){super(...a),this.code=f}}function h(a){return"object"==typeof a&&null!==a&&"code"in a&&a.code===f}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},4315,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={METADATA_BOUNDARY_NAME:function(){return f},OUTLET_BOUNDARY_NAME:function(){return h},ROOT_LAYOUT_BOUNDARY_NAME:function(){return i},VIEWPORT_BOUNDARY_NAME:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="__next_metadata_boundary__",g="__next_viewport_boundary__",h="__next_outlet_boundary__",i="__next_root_layout_boundary__"},55095,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={atLeastOneTask:function(){return h},scheduleImmediate:function(){return g},scheduleOnNextTick:function(){return f},waitAtLeastOneReactRenderTask:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a=>{Promise.resolve().then(()=>{process.nextTick(a)})},g=a=>{setImmediate(a)};function h(){return new Promise(a=>g(a))}function i(){return new Promise(a=>setImmediate(a))}},53309,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e,f={Postpone:function(){return B},PreludeState:function(){return $},abortAndThrowOnSynchronousRequestDataAccess:function(){return A},abortOnSynchronousPlatformIOAccess:function(){return z},accessedDynamicData:function(){return J},annotateDynamicAccess:function(){return O},consumeDynamicAccess:function(){return K},createDynamicTrackingState:function(){return s},createDynamicValidationState:function(){return t},createHangingInputAbortSignal:function(){return N},createRenderInBrowserAbortSignal:function(){return M},delayUntilRuntimeStage:function(){return ac},formatDynamicAPIAccesses:function(){return L},getFirstDynamicReason:function(){return u},getStaticShellDisallowedDynamicReasons:function(){return ab},isDynamicPostpone:function(){return E},isPrerenderInterruptedError:function(){return I},logDisallowedDynamicError:function(){return _},markCurrentScopeAsDynamic:function(){return v},postponeWithTracking:function(){return C},throwIfDisallowedDynamic:function(){return aa},throwToInterruptStaticGeneration:function(){return w},trackAllowedDynamicAccess:function(){return W},trackDynamicDataInDynamicRender:function(){return x},trackDynamicHoleInRuntimeShell:function(){return X},trackDynamicHoleInStaticShell:function(){return Y},useDynamicRouteParams:function(){return P},useDynamicSearchParams:function(){return Q}};for(var g in f)Object.defineProperty(c,g,{enumerable:!0,get:f[g]});let h=(d=a.r(48786))&&d.__esModule?d:{default:d},i=a.r(47306),j=a.r(40050),k=a.r(32319),l=a.r(56704),m=a.r(64527),n=a.r(4315),o=a.r(55095),p=a.r(47117),q=a.r(91381),r="function"==typeof h.default.unstable_postpone;function s(a){return{isDebugDynamicAccesses:a,dynamicAccesses:[],syncDynamicErrorWithStack:null}}function t(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function u(a){var b;return null==(b=a.dynamicAccesses[0])?void 0:b.expression}function v(a,b,c){if(b)switch(b.type){case"cache":case"unstable-cache":case"private-cache":return}if(!a.forceDynamic&&!a.forceStatic){if(a.dynamicShouldError)throw Object.defineProperty(new j.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${c}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(b)switch(b.type){case"prerender-ppr":return C(a.route,c,b.dynamicTracking);case"prerender-legacy":b.revalidate=0;let d=Object.defineProperty(new i.DynamicServerError(`Route ${a.route} couldn't be rendered statically because it used ${c}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw a.dynamicUsageDescription=c,a.dynamicUsageStack=d.stack,d}}}function w(a,b,c){let d=Object.defineProperty(new i.DynamicServerError(`Route ${b.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.revalidate=0,b.dynamicUsageDescription=a,b.dynamicUsageStack=d.stack,d}function x(a){switch(a.type){case"cache":case"unstable-cache":case"private-cache":return}}function y(a,b,c){let d=H(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`);c.controller.abort(d);let e=c.dynamicTracking;e&&e.dynamicAccesses.push({stack:e.isDebugDynamicAccesses?Error().stack:void 0,expression:b})}function z(a,b,c,d){let e=d.dynamicTracking;y(a,b,d),e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}function A(a,b,c,d){if(!1===d.controller.signal.aborted){y(a,b,d);let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}throw H(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`)}function B({reason:a,route:b}){let c=k.workUnitAsyncStorage.getStore();C(b,a,c&&"prerender-ppr"===c.type?c.dynamicTracking:null)}function C(a,b,c){(function(){if(!r)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:b}),h.default.unstable_postpone(D(a,b))}function D(a,b){return`Route ${a} needs to bail out of prerendering at this point because it used ${b}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function E(a){return"object"==typeof a&&null!==a&&"string"==typeof a.message&&F(a.message)}function F(a){return a.includes("needs to bail out of prerendering at this point because it used")&&a.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===F(D("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let G="NEXT_PRERENDER_INTERRUPTED";function H(a){let b=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return b.digest=G,b}function I(a){return"object"==typeof a&&null!==a&&a.digest===G&&"name"in a&&"message"in a&&a instanceof Error}function J(a){return a.length>0}function K(a,b){return a.dynamicAccesses.push(...b.dynamicAccesses),a.dynamicAccesses}function L(a){return a.filter(a=>"string"==typeof a.stack&&a.stack.length>0).map(({expression:a,stack:b})=>(b=b.split("\n").slice(4).filter(a=>!(a.includes("node_modules/next/")||a.includes(" (<anonymous>)")||a.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${a}:
2
+ ${b}`))}function M(){let a=new AbortController;return a.abort(Object.defineProperty(new p.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),a.signal}function N(a){switch(a.type){case"prerender":case"prerender-runtime":let b=new AbortController;if(a.cacheSignal)a.cacheSignal.inputReady().then(()=>{b.abort()});else{let c=(0,k.getRuntimeStagePromise)(a);c?c.then(()=>(0,o.scheduleOnNextTick)(()=>b.abort())):(0,o.scheduleOnNextTick)(()=>b.abort())}return b.signal;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return}}function O(a,b){let c=b.dynamicTracking;c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:a})}function P(a){let b=l.workAsyncStorage.getStore(),c=k.workUnitAsyncStorage.getStore();if(b&&c)switch(c.type){case"prerender-client":case"prerender":{let d=c.fallbackRouteParams;d&&d.size>0&&h.default.use((0,m.makeHangingPromise)(c.renderSignal,b.route,a));break}case"prerender-ppr":{let d=c.fallbackRouteParams;if(d&&d.size>0)return C(b.route,a,c.dynamicTracking);break}case"prerender-runtime":throw Object.defineProperty(new q.InvariantError(`\`${a}\` was called during a runtime prerender. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new q.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0})}}function Q(a){let b=l.workAsyncStorage.getStore(),c=k.workUnitAsyncStorage.getStore();if(b)switch(!c&&(0,k.throwForMissingRequestStore)(a),c.type){case"prerender-client":h.default.use((0,m.makeHangingPromise)(c.renderSignal,b.route,a));break;case"prerender-legacy":case"prerender-ppr":if(b.forceStatic)return;throw Object.defineProperty(new p.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new q.InvariantError(`\`${a}\` was called from a Server Component. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new q.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"request":return}}let R=/\n\s+at Suspense \(<anonymous>\)/,S=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${n.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),T=RegExp(`\\n\\s+at ${n.METADATA_BOUNDARY_NAME}[\\n\\s]`),U=RegExp(`\\n\\s+at ${n.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),V=RegExp(`\\n\\s+at ${n.OUTLET_BOUNDARY_NAME}[\\n\\s]`);function W(a,b,c,d){if(!V.test(b)){if(T.test(b)){c.hasDynamicMetadata=!0;return}if(U.test(b)){c.hasDynamicViewport=!0;return}if(S.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(R.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=Z(`Route "${a.route}": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`,b);return void c.dynamicErrors.push(e)}}}function X(a,b,c,d){if(!V.test(b)){if(T.test(b)){c.dynamicMetadata=Z(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateMetadata\`. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`,b);return}if(U.test(b)){let d=Z(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`,b);c.dynamicErrors.push(d);return}if(S.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(R.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=Z(`Route "${a.route}": Uncached data or \`connection()\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`,b);return void c.dynamicErrors.push(e)}}}function Y(a,b,c,d){if(!V.test(b)){if(T.test(b)){c.dynamicMetadata=Z(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateMetadata\` or you have file-based metadata such as icons that depend on dynamic params segments. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`,b);return}if(U.test(b)){let d=Z(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`,b);c.dynamicErrors.push(d);return}if(S.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(R.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=Z(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`,b);return void c.dynamicErrors.push(e)}}}function Z(a,b){let c=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return c.stack=c.name+": "+a+b,c}var $=((e={})[e.Full=0]="Full",e[e.Empty=1]="Empty",e[e.Errored=2]="Errored",e);function _(a,b){console.error(b),a.dev||(a.hasReadableErrorStacks?console.error(`To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running \`next dev\`, then open "${a.route}" in your browser to investigate the error.`):console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:
3
+ - Start the app in development mode by running \`next dev\`, then open "${a.route}" in your browser to investigate the error.
4
+ - Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`))}function aa(a,b,c,d){if(d.syncDynamicErrorWithStack)throw _(a,d.syncDynamicErrorWithStack),new j.StaticGenBailoutError;if(0!==b){if(c.hasSuspenseAboveBody)return;let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)_(a,d[b]);throw new j.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error(`Route "${a.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new j.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new j.StaticGenBailoutError}else if(!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error(`Route "${a.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new j.StaticGenBailoutError}function ab(a,b,c){if(c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[Object.defineProperty(new q.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}else if(!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];return[]}function ac(a,b){return a.runtimeStagePromise?a.runtimeStagePromise.then(()=>b):b}},47465,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=a.r(64527),e=a.r(11145),f=a.r(47117),g=a.r(86698),h=a.r(53309),i=a.r(47306);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},87587,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=a.r(47465).unstable_rethrow;("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},39652,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return h.RedirectType},forbidden:function(){return j.forbidden},notFound:function(){return i.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return k.unauthorized},unstable_isUnrecognizedActionError:function(){return m},unstable_rethrow:function(){return l.unstable_rethrow}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(3270),g=a.r(58082),h=a.r(37605),i=a.r(27211),j=a.r(8854),k=a.r(49137),l=a.r(87587);function m(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},77308,a=>{"use strict";a.s(["Toolbar",()=>c,"useToolbarState",()=>d]);var b=a.i(21739);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Toolbar() from the server but Toolbar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/preview-server/src/components/toolbar.tsx <module evaluation>","Toolbar"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useToolbarState() from the server but useToolbarState is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/preview-server/src/components/toolbar.tsx <module evaluation>","useToolbarState")},87839,a=>{"use strict";a.s(["Toolbar",()=>c,"useToolbarState",()=>d]);var b=a.i(21739);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call Toolbar() from the server but Toolbar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/preview-server/src/components/toolbar.tsx","Toolbar"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useToolbarState() from the server but useToolbarState is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/preview-server/src/components/toolbar.tsx","useToolbarState")},42335,a=>{"use strict";a.i(77308);var b=a.i(87839);a.n(b)},52618,a=>{"use strict";a.s(["PreviewContext",()=>c,"PreviewProvider",()=>d,"usePreviewContext",()=>e]);var b=a.i(21739);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call PreviewContext() from the server but PreviewContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/preview-server/src/contexts/preview.tsx <module evaluation>","PreviewContext"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call PreviewProvider() from the server but PreviewProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/preview-server/src/contexts/preview.tsx <module evaluation>","PreviewProvider"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call usePreviewContext() from the server but usePreviewContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/preview-server/src/contexts/preview.tsx <module evaluation>","usePreviewContext")},76506,a=>{"use strict";a.s(["PreviewContext",()=>c,"PreviewProvider",()=>d,"usePreviewContext",()=>e]);var b=a.i(21739);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call PreviewContext() from the server but PreviewContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/preview-server/src/contexts/preview.tsx","PreviewContext"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call PreviewProvider() from the server but PreviewProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/preview-server/src/contexts/preview.tsx","PreviewProvider"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call usePreviewContext() from the server but usePreviewContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/preview-server/src/contexts/preview.tsx","usePreviewContext")},82645,a=>{"use strict";a.i(52618);var b=a.i(76506);a.n(b)},34971,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(21739).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/packages/preview-server/src/app/preview/[...slug]/preview.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/preview-server/src/app/preview/[...slug]/preview.tsx <module evaluation>","default")},64316,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(21739).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/packages/preview-server/src/app/preview/[...slug]/preview.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/preview-server/src/app/preview/[...slug]/preview.tsx","default")},1855,a=>{"use strict";a.i(34971);var b=a.i(64316);a.n(b)},30885,a=>{"use strict";var b=a.i(48242),c=a.i(50227),d=a.i(39652),e=a.i(48786),f=a.i(96105),g=a.i(64300),h=a.i(45978),i=a.i(42335),j=a.i(82645),k=a.i(83990),l=a.i(38379),m=a.i(1855);async function n({params:a}){let n,o=decodeURIComponent((await a).slug.join("/"));if(void 0===await (0,k.getTemplatesDirectoryMetadata)(l.templatesDirectoryAbsolutePath))throw Error(`Could not find the templates directory specified under ${l.templatesDirectoryAbsolutePath}!
5
+
6
+ This is most likely not an issue with the preview server. Maybe there was a typo on the "--dir" flag?`);try{n=await (0,f.getTemplatePathFromSlug)(o)}catch(a){throw a instanceof Error&&(console.warn(a.message),(0,d.redirect)("/")),a}let p=await (0,g.renderTemplateByPath)(n);if(l.isBuilding&&"error"in p)throw Error(p.error.message,{cause:p.error});return(0,b.jsx)(j.PreviewProvider,{templateSlug:o,templatePath:n,serverRenderingResult:p,children:(0,b.jsx)(h.Shell,{currentTemplateOpenSlug:o,children:(0,b.jsxs)(e.Suspense,{children:[(0,b.jsx)(m.default,{templateTitle:c.default.basename(n)}),(0,b.jsx)(i.Toolbar,{})]})})})}async function o({params:a}){let{slug:b}=await a;return{title:`${c.default.basename(b.join("/"))} — React PDF Forge`}}a.s(["default",()=>n,"dynamic",0,"force-dynamic","dynamicParams",0,!0,"generateMetadata",()=>o],30885)}];
7
+
8
+ //# sourceMappingURL=_e2b86512._.js.map