Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf(turbopack): Do not create module part per a star re-export #70383

Draft
wants to merge 9 commits into
base: canary
Choose a base branch
from

Conversation

kdy1
Copy link
Member

@kdy1 kdy1 commented Sep 24, 2024

What?

This PR merges all export * to a ModulePart::StarReexports module. This module only stores star re-exports, so it's selected when a user requests an export that's not known.

Why?

Barrel files create too much internal modules.

How?

Closes PACK-3264

@kdy1 kdy1 requested a review from sokra September 24, 2024 01:23
@kdy1 kdy1 self-assigned this Sep 24, 2024
@ijjk ijjk added created-by: Turbopack team PRs by the Turbopack team. Turbopack Related to Turbopack with Next.js. labels Sep 24, 2024
@kdy1 kdy1 marked this pull request as draft September 24, 2024 01:23
@ijjk
Copy link
Member

ijjk commented Sep 24, 2024

Failing test suites

Commit: 8f85eeb

TURBOPACK=1 pnpm test test/integration/app-dir-export/test/dynamic-missing-gsp-prod.test.ts (turbopack)

  • app dir - with output export - dynamic missing gsp prod > production mode > should error when dynamic route is missing generateStaticParams
Expand output

● app dir - with output export - dynamic missing gsp prod › production mode › should error when dynamic route is missing generateStaticParams

expect(received).toMatch(expected)

Expected substring: "Page \"/another/[slug]\" is missing \"generateStaticParams()\" so it cannot be used with \"output: export\" config."
Received string:    " ⚠ Linting is disabled.
 ⚠ Turbopack build collected 13 warnings:
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/api/txt/route\"}
./test/integration/app-dir-export/app/another/[slug]/page.js:3:24
Unable to parse config export in source file
  1 | import Link from 'next/link'
  2 |
> 3 | export const dynamic = undefined
    |                        ^^^^^^^^^
  4 |
  5 | function noop() {
  6 |   return [{ slug: 'first' }, { slug: 'second' }]·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/api/json/route\"}
./test/integration/app-dir-export/app/another/[slug]/page.js:3:24
Unable to parse config export in source file
  1 | import Link from 'next/link'
  2 |
> 3 | export const dynamic = undefined
    |                        ^^^^^^^^^
  4 |
  5 | function noop() {
  6 |   return [{ slug: 'first' }, { slug: 'second' }]·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/robots.txt/route\"}
./test/integration/app-dir-export/app/another/[slug]/page.js:3:24
Unable to parse config export in source file
  1 | import Link from 'next/link'
  2 |
> 3 | export const dynamic = undefined
    |                        ^^^^^^^^^
  4 |
  5 | function noop() {
  6 |   return [{ slug: 'first' }, { slug: 'second' }]·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/favicon.ico/route\"}
./test/integration/app-dir-export/app/another/[slug]/page.js:3:24
Unable to parse config export in source file
  1 | import Link from 'next/link'
  2 |
> 3 | export const dynamic = undefined
    |                        ^^^^^^^^^
  4 |
  5 | function noop() {
  6 |   return [{ slug: 'first' }, { slug: 'second' }]·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"pages\",\"side\":\"server\",\"page\":\"_app\"}
./test/integration/app-dir-export/app/another/[slug]/page.js:3:24
Unable to parse config export in source file
  1 | import Link from 'next/link'
  2 |
> 3 | export const dynamic = undefined
    |                        ^^^^^^^^^
  4 |
  5 | function noop() {
  6 |   return [{ slug: 'first' }, { slug: 'second' }]·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"pages\",\"side\":\"server\",\"page\":\"_document\"}
./test/integration/app-dir-export/app/another/[slug]/page.js:3:24
Unable to parse config export in source file
  1 | import Link from 'next/link'
  2 |
> 3 | export const dynamic = undefined
    |                        ^^^^^^^^^
  4 |
  5 | function noop() {
  6 |   return [{ slug: 'first' }, { slug: 'second' }]·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"pages\",\"side\":\"server\",\"page\":\"_error\"}
./test/integration/app-dir-export/app/another/[slug]/page.js:3:24
Unable to parse config export in source file
  1 | import Link from 'next/link'
  2 |
> 3 | export const dynamic = undefined
    |                        ^^^^^^^^^
  4 |
  5 | function noop() {
  6 |   return [{ slug: 'first' }, { slug: 'second' }]·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/page\"}
./test/integration/app-dir-export/app/another/[slug]/page.js:3:24
Unable to parse config export in source file
  1 | import Link from 'next/link'
  2 |
> 3 | export const dynamic = undefined
    |                        ^^^^^^^^^
  4 |
  5 | function noop() {
  6 |   return [{ slug: 'first' }, { slug: 'second' }]·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/another/page\"}
./test/integration/app-dir-export/app/another/[slug]/page.js:3:24
Unable to parse config export in source file
  1 | import Link from 'next/link'
  2 |
> 3 | export const dynamic = undefined
    |                        ^^^^^^^^^
  4 |
  5 | function noop() {
  6 |   return [{ slug: 'first' }, { slug: 'second' }]·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/client/page\"}
./test/integration/app-dir-export/app/another/[slug]/page.js:3:24
Unable to parse config export in source file
  1 | import Link from 'next/link'
  2 |
> 3 | export const dynamic = undefined
    |                        ^^^^^^^^^
  4 |
  5 | function noop() {
  6 |   return [{ slug: 'first' }, { slug: 'second' }]·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/another/[slug]/page\"}
./test/integration/app-dir-export/app/another/[slug]/page.js:3:24
Unable to parse config export in source file
  1 | import Link from 'next/link'
  2 |
> 3 | export const dynamic = undefined
    |                        ^^^^^^^^^
  4 |
  5 | function noop() {
  6 |   return [{ slug: 'first' }, { slug: 'second' }]·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/image-import/page\"}
./test/integration/app-dir-export/app/another/[slug]/page.js:3:24
Unable to parse config export in source file
  1 | import Link from 'next/link'
  2 |
> 3 | export const dynamic = undefined
    |                        ^^^^^^^^^
  4 |
  5 | function noop() {
  6 |   return [{ slug: 'first' }, { slug: 'second' }]·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/_not-found/page\"}
./test/integration/app-dir-export/app/another/[slug]/page.js:3:24
Unable to parse config export in source file
  1 | import Link from 'next/link'
  2 |
> 3 | export const dynamic = undefined
    |                        ^^^^^^^^^
  4 |
  5 | function noop() {
  6 |   return [{ slug: 'first' }, { slug: 'second' }]·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
TypeError: ComponentMod.patchFetch is not a function

  966 | }
  967 | async function buildAppStaticPaths({ dir, page, distDir, configFileName, generateParams, isrFlushToDisk, cacheHandler, requestHeaders, maxMemoryCacheSize, fetchCacheKeyPrefix, nextConfigOutput, ComponentMod, isRoutePPREnabled, isAppPPRFallbacksEnabled }) {
> 968 |     ComponentMod.patchFetch();
      |                  ^
  969 |     let CacheHandler;
  970 |     if (cacheHandler) {
  971 |         CacheHandler = (0, _interopdefault.interopDefault)(await import((0, _formatdynamicimportpath.formatDynamicImportPath)(dir, cacheHandler)).then((mod)=>mod.default || mod));

  at buildAppStaticPaths (../packages/next/dist/build/utils.js:968:18)
  at ../packages/next/dist/build/utils.js:1199:85
  at async Span.traceAsyncFn (../packages/next/dist/trace/trace.js:157:20)·
  > Build error occurred
  Error: Failed to collect page data for /another/[slug]
  at ../packages/next/dist/build/utils.js:1281:15
  at process.processTicksAndRejections (../node:internal/process/task_queues:95:5) {
    type: 'Error'
  }
  "
  at toMatch (integration/app-dir-export/test/utils.ts:186:29)
  at Object.<anonymous> (integration/app-dir-export/test/dynamic-missing-gsp-prod.test.ts:8:9)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-start test/e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts (turbopack)

  • app dir client cache with parallel routes > prefetch={true} > should prefetch the full page
  • app dir client cache with parallel routes > prefetch={true} > should re-use the cache for the full page, only for 5 mins
Expand output

● app dir client cache with parallel routes › prefetch={true} › should prefetch the full page

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● app dir client cache with parallel routes › prefetch={true} › should re-use the cache for the full page, only for 5 mins

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test test/integration/app-dir-export/test/config.test.ts (turbopack)

  • app dir - with output export (next dev / next build) > production mode > should error when running next export
  • app dir - with output export (next dev / next build) > production mode > should correctly emit exported assets to config.distDir
Expand output

● app dir - with output export (next dev / next build) › production mode › should error when running next export

command failed with code 1 signal null
 ⚠ Linting is disabled.
  ▲ Next.js 15.0.0-canary.166 (turbo)

   Creating an optimized production build ...
   Building (0/11) ...
   Building (2/11) 
   Building (5/11) 
   Building (8/11) 
 ✓ Building (11/11)
 ✓ Compiled successfully
   Checking validity of types ...
   Collecting page data ...
TypeError: ComponentMod.patchFetch is not a function

  966 | }
  967 | async function buildAppStaticPaths({ dir, page, distDir, configFileName, generateParams, isrFlushToDisk, cacheHandler, requestHeaders, maxMemoryCacheSize, fetchCacheKeyPrefix, nextConfigOutput, ComponentMod, isRoutePPREnabled, isAppPPRFallbacksEnabled }) {
> 968 |     ComponentMod.patchFetch();
      |                  ^
  969 |     let CacheHandler;
  970 |     if (cacheHandler) {
  971 |         CacheHandler = (0, _interopdefault.interopDefault)(await import((0, _formatdynamicimportpath.formatDynamicImportPath)(dir, cacheHandler)).then((mod)=>mod.default || mod));

  at buildAppStaticPaths (../packages/next/dist/build/utils.js:968:18)
  at ../packages/next/dist/build/utils.js:1199:85
  at async Span.traceAsyncFn (../packages/next/dist/trace/trace.js:157:20)
  > Build error occurred
  Error: Failed to collect page data for /another/[slug]
  at ../packages/next/dist/build/utils.js:1281:15
  at process.processTicksAndRejections (../node:internal/process/task_queues:95:5) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:310:11)

● app dir - with output export (next dev / next build) › production mode › should correctly emit exported assets to config.distDir

command failed with code 1 signal null
 ⚠ Linting is disabled.
  ▲ Next.js 15.0.0-canary.166 (turbo)

   Creating an optimized production build ...
   Building (0/11) ...
   Building (2/11) 
   Building (5/11) 
   Building (8/11) 
 ✓ Building (11/11)
 ✓ Compiled successfully
   Checking validity of types ...
   Collecting page data ...
TypeError: ComponentMod.patchFetch is not a function

  966 | }
  967 | async function buildAppStaticPaths({ dir, page, distDir, configFileName, generateParams, isrFlushToDisk, cacheHandler, requestHeaders, maxMemoryCacheSize, fetchCacheKeyPrefix, nextConfigOutput, ComponentMod, isRoutePPREnabled, isAppPPRFallbacksEnabled }) {
> 968 |     ComponentMod.patchFetch();
      |                  ^
  969 |     let CacheHandler;
  970 |     if (cacheHandler) {
  971 |         CacheHandler = (0, _interopdefault.interopDefault)(await import((0, _formatdynamicimportpath.formatDynamicImportPath)(dir, cacheHandler)).then((mod)=>mod.default || mod));

  at buildAppStaticPaths (../packages/next/dist/build/utils.js:968:18)
  at ../packages/next/dist/build/utils.js:1199:85
  at async Span.traceAsyncFn (../packages/next/dist/trace/trace.js:157:20)
  > Build error occurred
  Error: Failed to collect page data for /another/[slug]
  at ../packages/next/dist/build/utils.js:1281:15
  at process.processTicksAndRejections (../node:internal/process/task_queues:95:5) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:310:11)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-start test/e2e/app-dir/app-prefetch-static/app-prefetch-static.test.ts (turbopack)

  • app-prefetch-static > should correctly navigate between static & dynamic pages
Expand output

● app-prefetch-static › should correctly navigate between static & dynamic pages

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-start test/e2e/app-dir/app-client-cache/client-cache.defaults.test.ts (turbopack)

  • app dir client cache semantics (default semantics) > should renew the initial seeded data after expiration time
  • app dir client cache semantics (default semantics) > prefetch={false} > should not prefetch the page at all
  • app dir client cache semantics (default semantics) > prefetch={false} > should not re-use the page segment cache
  • app dir client cache semantics (default semantics) > prefetch={true} > should prefetch the full page
  • app dir client cache semantics (default semantics) > prefetch={true} > should re-use the cache for the full page, only for 5 mins
  • app dir client cache semantics (default semantics) > prefetch={true} > should prefetch again after 5 mins if the link is visible again
  • app dir client cache semantics (default semantics) > prefetch={undefined} - default > should prefetch partially a dynamic page
  • app dir client cache semantics (default semantics) > prefetch={undefined} - default > should not re-use the page segment cache
  • app dir client cache semantics (default semantics) > prefetch={undefined} - default > should refetch the full page after 5 mins
  • app dir client cache semantics (default semantics) > prefetch={undefined} - default > should respect a loading boundary that returns null
Expand output

● app dir client cache semantics (default semantics) › prefetch={true} › should prefetch the full page

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● app dir client cache semantics (default semantics) › prefetch={true} › should re-use the cache for the full page, only for 5 mins

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● app dir client cache semantics (default semantics) › prefetch={true} › should prefetch again after 5 mins if the link is visible again

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● app dir client cache semantics (default semantics) › prefetch={false} › should not prefetch the page at all

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● app dir client cache semantics (default semantics) › prefetch={false} › should not re-use the page segment cache

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● app dir client cache semantics (default semantics) › prefetch={undefined} - default › should prefetch partially a dynamic page

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● app dir client cache semantics (default semantics) › prefetch={undefined} - default › should not re-use the page segment cache

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● app dir client cache semantics (default semantics) › prefetch={undefined} - default › should refetch the full page after 5 mins

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● app dir client cache semantics (default semantics) › prefetch={undefined} - default › should respect a loading boundary that returns null

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

● app dir client cache semantics (default semantics) › should renew the initial seeded data after expiration time

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-start test/e2e/app-dir/app-compilation/index.test.ts (turbopack)

  • app dir > Loading > should render loading.js in initial html for slow page
Expand output

● app dir › Loading › should render loading.js in initial html for slow page

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-start test/e2e/app-dir/actions-allowed-origins/app-action-allowed-origins.test.ts (turbopack)

  • app-dir action allowed origins > should pass if localhost is set as a safe origin
Expand output

● app-dir action allowed origins › should pass if localhost is set as a safe origin

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:100:15)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test test/integration/app-dir-export/test/dynamicpage-prod.test.ts (turbopack)

  • app dir - with output export - dynamic api route prod > production mode > should work in prod with dynamicPage undefined
  • app dir - with output export - dynamic api route prod > production mode > should work in prod with dynamicPage 'error'
  • app dir - with output export - dynamic api route prod > production mode > should work in prod with dynamicPage 'force-static'
  • app dir - with output export - dynamic api route prod > production mode > should work in prod with dynamicPage 'force-dynamic'
Expand output

● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicPage undefined

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  14 |             'Page with `dynamic = "force-dynamic"` couldn\'t be exported. `output: "export"` requires all pages be renderable statically',
  15 |         },
> 16 |       ])(
     |        ^
  17 |         'should work in prod with dynamicPage $dynamicPage',
  18 |         async ({ dynamicPage, expectedErrMsg }) => {
  19 |           await runTests({ isDev: false, dynamicPage, expectedErrMsg })

  at ../node_modules/.pnpm/jest-each@29.7.0/node_modules/jest-each/build/bind.js:47:15
      at Array.forEach (<anonymous>)
  at integration/app-dir-export/test/dynamicpage-prod.test.ts:16:8
  at integration/app-dir-export/test/dynamicpage-prod.test.ts:4:56
  at Object.describe (integration/app-dir-export/test/dynamicpage-prod.test.ts:3:1)

● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicPage 'error'

Visit another page</Link> </li> </ul> </main> ) } 751 | } else if (typeof pattern === 'string') { 752 | if (!currentContent.includes(pattern)) { > 753 | throw new Error( | ^ 754 | `Failed to replace content.\n\nPattern: ${pattern}\n\nContent: ${currentContent}` 755 | ) 756 | } at File.replace (lib/next-test-utils.ts:753:15) at replace (integration/app-dir-export/test/utils.ts:129:14) at integration/app-dir-export/test/dynamicpage-prod.test.ts:19:25">
Failed to replace content.

Pattern: const dynamic = 'force-static'

Content: import Link from 'next/link'

export const dynamic = undefined

export function generateStaticParams() {
  return [{ slug: 'first' }, { slug: 'second' }]
}

export default function Page({ params }) {
  return (
    <main>
      <h1>{params.slug}</h1>
      <ul>
        <li>
          <Link href="/another">Visit another page</Link>
        </li>
      </ul>
    </main>
  )
}

  751 |     } else if (typeof pattern === 'string') {
  752 |       if (!currentContent.includes(pattern)) {
> 753 |         throw new Error(
      |               ^
  754 |           `Failed to replace content.\n\nPattern: ${pattern}\n\nContent: ${currentContent}`
  755 |         )
  756 |       }

  at File.replace (lib/next-test-utils.ts:753:15)
  at replace (integration/app-dir-export/test/utils.ts:129:14)
  at integration/app-dir-export/test/dynamicpage-prod.test.ts:19:25

● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicPage 'force-static'

Visit another page</Link> </li> </ul> </main> ) } 751 | } else if (typeof pattern === 'string') { 752 | if (!currentContent.includes(pattern)) { > 753 | throw new Error( | ^ 754 | `Failed to replace content.\n\nPattern: ${pattern}\n\nContent: ${currentContent}` 755 | ) 756 | } at File.replace (lib/next-test-utils.ts:753:15) at replace (integration/app-dir-export/test/utils.ts:129:14) at integration/app-dir-export/test/dynamicpage-prod.test.ts:19:25">
Failed to replace content.

Pattern: const dynamic = 'force-static'

Content: import Link from 'next/link'

export const dynamic = undefined

export function generateStaticParams() {
  return [{ slug: 'first' }, { slug: 'second' }]
}

export default function Page({ params }) {
  return (
    <main>
      <h1>{params.slug}</h1>
      <ul>
        <li>
          <Link href="/another">Visit another page</Link>
        </li>
      </ul>
    </main>
  )
}

  751 |     } else if (typeof pattern === 'string') {
  752 |       if (!currentContent.includes(pattern)) {
> 753 |         throw new Error(
      |               ^
  754 |           `Failed to replace content.\n\nPattern: ${pattern}\n\nContent: ${currentContent}`
  755 |         )
  756 |       }

  at File.replace (lib/next-test-utils.ts:753:15)
  at replace (integration/app-dir-export/test/utils.ts:129:14)
  at integration/app-dir-export/test/dynamicpage-prod.test.ts:19:25

● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicPage 'force-dynamic'

Visit another page</Link> </li> </ul> </main> ) } 751 | } else if (typeof pattern === 'string') { 752 | if (!currentContent.includes(pattern)) { > 753 | throw new Error( | ^ 754 | `Failed to replace content.\n\nPattern: ${pattern}\n\nContent: ${currentContent}` 755 | ) 756 | } at File.replace (lib/next-test-utils.ts:753:15) at replace (integration/app-dir-export/test/utils.ts:129:14) at integration/app-dir-export/test/dynamicpage-prod.test.ts:19:25">
Failed to replace content.

Pattern: const dynamic = 'force-static'

Content: import Link from 'next/link'

export const dynamic = undefined

export function generateStaticParams() {
  return [{ slug: 'first' }, { slug: 'second' }]
}

export default function Page({ params }) {
  return (
    <main>
      <h1>{params.slug}</h1>
      <ul>
        <li>
          <Link href="/another">Visit another page</Link>
        </li>
      </ul>
    </main>
  )
}

  751 |     } else if (typeof pattern === 'string') {
  752 |       if (!currentContent.includes(pattern)) {
> 753 |         throw new Error(
      |               ^
  754 |           `Failed to replace content.\n\nPattern: ${pattern}\n\nContent: ${currentContent}`
  755 |         )
  756 |       }

  at File.replace (lib/next-test-utils.ts:753:15)
  at replace (integration/app-dir-export/test/utils.ts:129:14)
  at integration/app-dir-export/test/dynamicpage-prod.test.ts:19:25

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test test/integration/app-dir-export/test/dynamicapiroute-prod.test.ts (turbopack)

  • app dir - with output export - dynamic api route prod > production mode > should work in prod with dynamicApiRoute undefined
  • app dir - with output export - dynamic api route prod > production mode > should work in prod with dynamicApiRoute 'error'
  • app dir - with output export - dynamic api route prod > production mode > should work in prod with dynamicApiRoute 'force-static'
  • app dir - with output export - dynamic api route prod > production mode > should work in prod with dynamicApiRoute 'force-dynamic'
Expand output

● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicApiRoute undefined

expect(received).toMatch(expected)

Expected substring: "export const dynamic = \"force-static\"/export const revalidate not configured on route"
Received string:    " ⚠ Linting is disabled.
 ⚠ Turbopack build collected 13 warnings:
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/api/json/route\"}
./test/integration/app-dir-export/app/api/json/route.js:1:24
Unable to parse config export in source file
> 1 | export const dynamic = undefined
    |                        ^^^^^^^^^
  2 |
  3 | export async function GET() {
  4 |   return Response.json({ answer: 42 })·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/api/txt/route\"}
./test/integration/app-dir-export/app/api/json/route.js:1:24
Unable to parse config export in source file
> 1 | export const dynamic = undefined
    |                        ^^^^^^^^^
  2 |
  3 | export async function GET() {
  4 |   return Response.json({ answer: 42 })·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/favicon.ico/route\"}
./test/integration/app-dir-export/app/api/json/route.js:1:24
Unable to parse config export in source file
> 1 | export const dynamic = undefined
    |                        ^^^^^^^^^
  2 |
  3 | export async function GET() {
  4 |   return Response.json({ answer: 42 })·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/robots.txt/route\"}
./test/integration/app-dir-export/app/api/json/route.js:1:24
Unable to parse config export in source file
> 1 | export const dynamic = undefined
    |                        ^^^^^^^^^
  2 |
  3 | export async function GET() {
  4 |   return Response.json({ answer: 42 })·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"pages\",\"side\":\"server\",\"page\":\"_app\"}
./test/integration/app-dir-export/app/api/json/route.js:1:24
Unable to parse config export in source file
> 1 | export const dynamic = undefined
    |                        ^^^^^^^^^
  2 |
  3 | export async function GET() {
  4 |   return Response.json({ answer: 42 })·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"pages\",\"side\":\"server\",\"page\":\"_document\"}
./test/integration/app-dir-export/app/api/json/route.js:1:24
Unable to parse config export in source file
> 1 | export const dynamic = undefined
    |                        ^^^^^^^^^
  2 |
  3 | export async function GET() {
  4 |   return Response.json({ answer: 42 })·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"pages\",\"side\":\"server\",\"page\":\"_error\"}
./test/integration/app-dir-export/app/api/json/route.js:1:24
Unable to parse config export in source file
> 1 | export const dynamic = undefined
    |                        ^^^^^^^^^
  2 |
  3 | export async function GET() {
  4 |   return Response.json({ answer: 42 })·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/_not-found/page\"}
./test/integration/app-dir-export/app/api/json/route.js:1:24
Unable to parse config export in source file
> 1 | export const dynamic = undefined
    |                        ^^^^^^^^^
  2 |
  3 | export async function GET() {
  4 |   return Response.json({ answer: 42 })·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/another/page\"}
./test/integration/app-dir-export/app/api/json/route.js:1:24
Unable to parse config export in source file
> 1 | export const dynamic = undefined
    |                        ^^^^^^^^^
  2 |
  3 | export async function GET() {
  4 |   return Response.json({ answer: 42 })·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/another/[slug]/page\"}
./test/integration/app-dir-export/app/api/json/route.js:1:24
Unable to parse config export in source file
> 1 | export const dynamic = undefined
    |                        ^^^^^^^^^
  2 |
  3 | export async function GET() {
  4 |   return Response.json({ answer: 42 })·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/client/page\"}
./test/integration/app-dir-export/app/api/json/route.js:1:24
Unable to parse config export in source file
> 1 | export const dynamic = undefined
    |                        ^^^^^^^^^
  2 |
  3 | export async function GET() {
  4 |   return Response.json({ answer: 42 })·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/image-import/page\"}
./test/integration/app-dir-export/app/api/json/route.js:1:24
Unable to parse config export in source file
> 1 | export const dynamic = undefined
    |                        ^^^^^^^^^
  2 |
  3 | export async function GET() {
  4 |   return Response.json({ answer: 42 })·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
Page: {\"type\":\"app\",\"side\":\"server\",\"page\":\"/page\"}
./test/integration/app-dir-export/app/api/json/route.js:1:24
Unable to parse config export in source file
> 1 | export const dynamic = undefined
    |                        ^^^^^^^^^
  2 |
  3 | export async function GET() {
  4 |   return Response.json({ answer: 42 })·
The exported configuration object in a source file needs to have a very specific format from which some properties can be statically parsed at compiled-time.·
https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config··
TypeError: ComponentMod.patchFetch is not a function

  966 | }
  967 | async function buildAppStaticPaths({ dir, page, distDir, configFileName, generateParams, isrFlushToDisk, cacheHandler, requestHeaders, maxMemoryCacheSize, fetchCacheKeyPrefix, nextConfigOutput, ComponentMod, isRoutePPREnabled, isAppPPRFallbacksEnabled }) {
> 968 |     ComponentMod.patchFetch();
      |                  ^
  969 |     let CacheHandler;
  970 |     if (cacheHandler) {
  971 |         CacheHandler = (0, _interopdefault.interopDefault)(await import((0, _formatdynamicimportpath.formatDynamicImportPath)(dir, cacheHandler)).then((mod)=>mod.default || mod));

  at buildAppStaticPaths (../packages/next/dist/build/utils.js:968:18)
  at ../packages/next/dist/build/utils.js:1199:85
  at async Span.traceAsyncFn (../packages/next/dist/trace/trace.js:157:20)·
  > Build error occurred
  Error: Failed to collect page data for /another/[slug]
  at ../packages/next/dist/build/utils.js:1281:15
  at process.processTicksAndRejections (../node:internal/process/task_queues:95:5) {
    type: 'Error'
  }
  "
  at toMatch (integration/app-dir-export/test/utils.ts:186:29)
  at integration/app-dir-export/test/dynamicapiroute-prod.test.ts:23:11

● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicApiRoute 'error'

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  18 |             'export const dynamic = "force-dynamic" on page "/api/json" cannot be used with "output: export".',
  19 |         },
> 20 |       ])(
     |        ^
  21 |         'should work in prod with dynamicApiRoute $dynamicApiRoute',
  22 |         async ({ dynamicApiRoute, expectedErrMsg }) => {
  23 |           await runTests({ isDev: false, dynamicApiRoute, expectedErrMsg })

  at ../node_modules/.pnpm/jest-each@29.7.0/node_modules/jest-each/build/bind.js:47:15
      at Array.forEach (<anonymous>)
  at integration/app-dir-export/test/dynamicapiroute-prod.test.ts:20:8
  at integration/app-dir-export/test/dynamicapiroute-prod.test.ts:4:56
  at Object.describe (integration/app-dir-export/test/dynamicapiroute-prod.test.ts:3:1)

● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicApiRoute 'force-static'

Failed to replace content.

Pattern: const dynamic = 'force-static'

Content: export const dynamic = 'error'

export async function GET() {
  return Response.json({ answer: 42 })
}

  751 |     } else if (typeof pattern === 'string') {
  752 |       if (!currentContent.includes(pattern)) {
> 753 |         throw new Error(
      |               ^
  754 |           `Failed to replace content.\n\nPattern: ${pattern}\n\nContent: ${currentContent}`
  755 |         )
  756 |       }

  at File.replace (lib/next-test-utils.ts:753:15)
  at replace (integration/app-dir-export/test/utils.ts:136:13)
  at integration/app-dir-export/test/dynamicapiroute-prod.test.ts:23:25

● app dir - with output export - dynamic api route prod › production mode › should work in prod with dynamicApiRoute 'force-dynamic'

Failed to replace content.

Pattern: const dynamic = 'force-static'

Content: export const dynamic = 'error'

export async function GET() {
  return Response.json({ answer: 42 })
}

  751 |     } else if (typeof pattern === 'string') {
  752 |       if (!currentContent.includes(pattern)) {
> 753 |         throw new Error(
      |               ^
  754 |           `Failed to replace content.\n\nPattern: ${pattern}\n\nContent: ${currentContent}`
  755 |         )
  756 |       }

  at File.replace (lib/next-test-utils.ts:753:15)
  at replace (integration/app-dir-export/test/utils.ts:136:13)
  at integration/app-dir-export/test/dynamicapiroute-prod.test.ts:23:25

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test test/integration/next-image-new/app-dir-image-from-node-modules/test/index.test.ts (turbopack)

  • Image Component from node_modules prod mode > production mode > should apply image config for node_modules
Expand output

● Image Component from node_modules prod mode › production mode › should apply image config for node_modules

command failed with code 1 signal null
 ⚠ Linting is disabled.
  ▲ Next.js 15.0.0-canary.166 (turbo)

   Creating an optimized production build ...
   Building (0/3) ...
 ✓ Building (3/3)
 ✓ Compiled successfully
   Checking validity of types ...
   Collecting page data ...
   Generating static pages (0/4) ...

Error occurred prerendering page "/_not-found". Read more: https://nextjs.org/docs/messages/prerender-error

TypeError: Cannot read properties of undefined (reading 'run')

  139 |  * LICENSE file in the root directory of this source tree.
  140 |  */var r={H:null,A:null};function n(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var o=Array.isArray,i=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),c=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),h=Symbol.iterator,m=Object.prototype.hasOwnProperty,y=Object.assign;function v(e,t,r,n,o,a,s){return{$$typeof:i,type:e,key:t,ref:void 0!==(r=s.ref)?r:null,props:s}}function g(e){return"object"==typeof e&&null!==e&&e.$$typeof===i}var b=/\/+/g;function S(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function w(){}function _(e,t,r){if(null==e)return e;var s=[],l=0;return!function e(t,r,s,l,u){var c,f,d,m=typeof t;("undefined"===m||"boolean"===m)&&(t=null);var y=!1;if(null===t)y=!0;else switch(m){case"bigint":case"string":case"number":y=!0;break;case"object":switch(t.$$typeof){case i:case a:y=!0;break;case p:return e((y=t._init)(t._payload),r,s,l,u)}}if(y)return u=u(t),y=""===l?"."+S(t,0):l,o(u)?(s="",null!=y&&(s=y.replace(b,"$&/")+"/"),e(u,r,s,"",function(e){return e})):null!=u&&(g(u)&&(c=u,f=s+(null==u.key||t&&t.key===u.key?"":(""+u.key).replace(b,"$&/")+"/")+y,u=v(c.type,f,null,void 0,void 0,void 0,c.props)),r.push(u)),1;y=0;var _=""===l?".":l+":";if(o(t))for(var k=0;k<t.length;k++)m=_+S(l=t[k],k),y+=e(l,r,s,m,u);else if("function"==typeof(k=null===(d=t)||"object"!=typeof d?null:"function"==typeof(d=h&&d[h]||d["@@iterator"])?d:null))for(t=k.call(t),k=0;!(l=t.next()).done;)m=_+S(l=l.value,k++),y+=e(l,r,s,m,u);else if("object"===m){if("function"==typeof t.then)return e(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(w,w):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(t),r,s,l,u);throw Error(n(31,"[object Object]"===(r=String(t))?"object with keys {"+Object.keys(t).join(", ")+"}":r))}return y}(e,s,"","",function(e){return t.call(r,e,l++)}),s}function k(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){(0===e._status||-1===e._status)&&(e._status=1,e._result=t)},function(t){(0===e._status||-1===e._status)&&(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}function C(){return new WeakMap}function x(){return{s:0,v:void 0,o:null,p:null}}t.Children={map:_,forEach:function(e,t,r){_(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return _(e,function(){t++}),t},toArray:function(e){return _(e,function(e){return e})||[]},only:function(e){if(!g(e))throw Error(n(143));return e}},t.Fragment=s,t.Profiler=u,t.StrictMode=l,t.Suspense=f,t.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,t.cache=function(e){return function(){var t=r.A;if(!t)return e.apply(null,arguments);var n=t.getCacheForType(C);void 0===(t=n.get(e))&&(t=x(),n.set(e,t)),n=0;for(var o=arguments.length;n<o;n++){var i=arguments[n];if("function"==typeof i||"object"==typeof i&&null!==i){var a=t.o;null===a&&(t.o=a=new WeakMap),void 0===(t=a.get(i))&&(t=x(),a.set(i,t))}else null===(a=t.p)&&(t.p=a=new Map),void 0===(t=a.get(i))&&(t=x(),a.set(i,t))}if(1===t.s)return t.v;if(2===t.s)throw t.v;try{var s=e.apply(null,arguments);return(n=t).s=1,n.v=s}catch(e){throw(s=t).s=2,s.v=e,e}}},t.cloneElement=function(e,t,r){if(null==e)throw Error(n(267,e));var o=y({},e.props),i=e.key,a=void 0;if(null!=t)for(s in void 0!==t.ref&&(a=void 0),void 0!==t.key&&(i=""+t.key),t)m.call(t,s)&&"key"!==s&&"__self"!==s&&"__source"!==s&&("ref"!==s||void 0!==t.ref)&&(o[s]=t[s]);var s=arguments.length-2;if(1===s)o.children=r;else if(1<s){for(var l=Array(s),u=0;u<s;u++)l[u]=arguments[u+2];o.children=l}return v(e.type,i,null,void 0,void 0,a,o)},t.createElement=function(e,t,r){var n,o={},i=null;if(null!=t)for(n in void 0!==t.key&&(i=""+t.key),t)m.call(t,n)&&"key"!==n&&"__self"!==n&&"__source"!==n&&(o[n]=t[n]);var a=arguments.length-2;if(1===a)o.children=r;else if(1<a){for(var s=Array(a),l=0;l<a;l++)s[l]=arguments[l+2];o.children=s}if(e&&e.defaultProps)for(n in a=e.defaultProps)void 0===o[n]&&(o[n]=a[n]);return v(e,i,null,void 0,void 0,null,o)},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=g,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:k}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.use=function(e){return r.H.use(e)},t.useCallback=function(e,t){return r.H.useCallback(e,t)},t.useDebugValue=function(){},t.useId=function(){return r.H.useId()},t.useMemo=function(e,t){return r.H.useMemo(e,t)},t.version="19.0.0-rc-5d19e1c8-20240923"},"(react-server)/./dist/compiled/react/compiler-runtime.js":(e,t,r)=>{"use strict";e.exports=r("(react-server)/./dist/compiled/react/cjs/react-compiler-runtime.production.js")},"(react-server)/./dist/compiled/react/jsx-dev-runtime.react-server.js":(e,t,r)=>{"use strict";e.exports=r("(react-server)/./dist/compiled/react/cjs/react-jsx-dev-runtime.react-server.production.js")},"(react-server)/./dist/compiled/react/jsx-runtime.react-server.js":(e,t,r)=>{"use strict";e.exports=r("(react-server)/./dist/compiled/react/cjs/react-jsx-runtime.react-server.production.js")},"(react-server)/./dist/compiled/react/react.react-server.js":(e,t,r)=>{"use strict";e.exports=r("(react-server)/./dist/compiled/react/cjs/react.react-server.production.js")},"(react-server)/./dist/esm/server/app-render/react-server.node.js":(e,t,r)=>{"use strict";r.r(t),r.d(t,{decodeAction:()=>n.Hs,decodeFormState:()=>n.dH,decodeReply:()=>n.kf,decodeReplyFromBusboy:()=>n.Bz});var n=r("(react-server)/./dist/compiled/react-server-dom-webpack/server.node.js")},"(react-server)/./dist/esm/server/route-modules/app-page/vendored/rsc/entrypoints.js":(e,t,r)=>{"use strict";let n,o,i,a,s,l;r.r(t),r.d(t,{React:()=>u||(u=r.t(h,2)),ReactCompilerRuntime:()=>d||(d=r.t(g,2)),ReactDOM:()=>p||(p=r.t(m,2)),ReactJsxDevRuntime:()=>c||(c=r.t(y,2)),ReactJsxRuntime:()=>f||(f=r.t(v,2)),ReactServerDOMTurbopackServerEdge:()=>n,ReactServerDOMTurbopackServerNode:()=>i,ReactServerDOMTurbopackStaticEdge:()=>s,ReactServerDOMWebpackServerEdge:()=>o,ReactServerDOMWebpackServerNode:()=>a,ReactServerDOMWebpackStaticEdge:()=>l});var u,c,f,d,p,h=r("(react-server)/./dist/compiled/react/react.react-server.js"),m=r("(react-server)/./dist/compiled/react-dom/react-dom.react-server.js"),y=r("(react-server)/./dist/compiled/react/jsx-dev-runtime.react-server.js"),v=r("(react-server)/./dist/compiled/react/jsx-runtime.react-server.js"),g=r("(react-server)/./dist/compiled/react/compiler-runtime.js");n=r("(react-server)/./dist/compiled/react-server-dom-turbopack/server.edge.js"),i=r("(react-server)/./dist/compiled/react-server-dom-turbopack/server.node.js"),s=r("(react-server)/./dist/compiled/react-server-dom-turbopack/static.edge.js")},"./dist/compiled/nanoid/index.cjs":(e,t,r)=>{(()=>{var t={113:e=>{"use strict";e.exports=r("crypto")},660:(e,t,r)=>{let n,o,i=r(113),{urlAlphabet:a}=r(591),s=e=>{!n||n.length<e?(n=Buffer.allocUnsafe(128*e),i.randomFillSync(n),o=0):o+e>n.length&&(i.randomFillSync(n),o=0),o+=e},l=e=>(s(e-=0),n.subarray(o-e,o)),u=(e,t,r)=>{let n=(2<<31-Math.clz32(e.length-1|1))-1,o=Math.ceil(1.6*n*t/e.length);return()=>{let i="";for(;;){let a=r(o),s=o;for(;s--;)if((i+=e[a[s]&n]||"").length===t)return i}}};e.exports={nanoid:(e=21)=>{s(e-=0);let t="";for(let r=o-e;r<o;r++)t+=a[63&n[r]];return t},customAlphabet:(e,t)=>u(e,t,l),customRandom:u,urlAlphabet:a,random:l}},591:e=>{e.exports={urlAlphabet:"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"}}},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var i=n[e]={exports:{}},a=!0;try{t[e](i,i.exports,o),a=!1}finally{a&&delete n[e]}return i.exports}o.ab=__dirname+"/";var i=o(660);e.exports=i})()},"./dist/compiled/superstruct/index.cjs":e=>{(()=>{"undefined"!=typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var t={};({318:function(e,t){(function(e){"use strict";class t extends TypeError{constructor(e,t){let r;let{message:n,explanation:o,...i}=e,{path:a}=e,s=0===a.length?n:`At path: ${a.join(".")} -- ${n}`;super(o??s),null!=o&&(this.cause=s),Object.assign(this,i),this.name=this.constructor.name,this.failures=()=>r??(r=[e,...t()])}}function r(e){return"object"==typeof e&&null!=e}function n(e){if("[object Object]"!==Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function o(e){return"symbol"==typeof e?e.toString():"string"==typeof e?JSON.stringify(e):`${e}`}function*i(e,t,n,i){var a;for(let s of(r(a=e)&&"function"==typeof a[Symbol.iterator]||(e=[e]),e)){let e=function(e,t,r,n){if(!0===e)return;!1===e?e={}:"string"==typeof e&&(e={message:e});let{path:i,branch:a}=t,{type:s}=r,{refinement:l,message:u=`Expected a value of type \`${s}\`${l?` with refinement \`${l}\``:""}, but received: \`${o(n)}\``}=e;return{value:n,type:s,refinement:l,key:i[i.length-1],path:i,branch:a,...e,message:u}}(s,t,n,i);e&&(yield e)}}function*a(e,t,n={}){let{path:o=[],branch:i=[e],coerce:s=!1,mask:l=!1}=n,u={path:o,branch:i};if(s&&(e=t.coercer(e,u),l&&"type"!==t.type&&r(t.schema)&&r(e)&&!Array.isArray(e)))for(let r in e)void 0===t.schema[r]&&delete e[r];let c="valid";for(let r of t.validator(e,u))r.explanation=n.message,c="not_valid",yield[r,void 0];for(let[f,d,p]of t.entries(e,u))for(let t of a(d,p,{path:void 0===f?o:[...o,f],branch:void 0===f?i:[...i,d],coerce:s,mask:l,message:n.message}))t[0]?(c=null!=t[0].refinement?"not_refined":"not_valid",yield[t[0],void 0]):s&&(d=t[1],void 0===f?e=d:e instanceof Map?e.set(f,d):e instanceof Set?e.add(d):r(e)&&(void 0!==d||f in e)&&(e[f]=d));if("not_valid"!==c)for(let r of t.refiner(e,u))r.explanation=n.message,c="not_refined",yield[r,void 0];"valid"===c&&(yield[void 0,e])}class s{constructor(e){let{type:t,schema:r,validator:n,refiner:o,coercer:a=e=>e,entries:s=function*(){}}=e;this.type=t,this.schema=r,this.entries=s,this.coercer=a,n?this.validator=(e,t)=>i(n(e,t),t,this,e):this.validator=()=>[],o?this.refiner=(e,t)=>i(o(e,t),t,this,e):this.refiner=()=>[]}assert(e,t){return l(e,this,t)}create(e,t){return u(e,this,t)}is(e){return f(e,this)}mask(e,t){return c(e,this,t)}validate(e,t={}){return d(e,this,t)}}function l(e,t,r){let n=d(e,t,{message:r});if(n[0])throw n[0]}function u(e,t,r){let n=d(e,t,{coerce:!0,message:r});if(!n[0])return n[1];throw n[0]}function c(e,t,r){let n=d(e,t,{coerce:!0,mask:!0,message:r});if(!n[0])return n[1];throw n[0]}function f(e,t){return!d(e,t)[0]}function d(e,r,n={}){let o=a(e,r,n),i=function(e){let{done:t,value:r}=e.next();return t?void 0:r}(o);return i[0]?[new t(i[0],function*(){for(let e of o)e[0]&&(yield e[0])}),void 0]:[void 0,i[1]]}function p(e,t){return new s({type:e,schema:null,validator:t})}function h(){return p("never",()=>!1)}function m(e){let t=e?Object.keys(e):[],n=h();return new s({type:"object",schema:e||null,*entries(o){if(e&&r(o)){let r=new Set(Object.keys(o));for(let n of t)r.delete(n),yield[n,o[n],e[n]];for(let e of r)yield[e,o[e],n]}},validator:e=>r(e)||`Expected an object, but received: ${o(e)}`,coercer:e=>r(e)?{...e}:e})}function y(e){return new s({...e,validator:(t,r)=>void 0===t||e.validator(t,r),refiner:(t,r)=>void 0===t||e.refiner(t,r)})}function v(){return p("string",e=>"string"==typeof e||`Expected a string, but received: ${o(e)}`)}function g(e){let t=Object.keys(e);return new s({type:"type",schema:e,*entries(n){if(r(n))for(let r of t)yield[r,n[r],e[r]]},validator:e=>r(e)||`Expected an object, but received: ${o(e)}`,coercer:e=>r(e)?{...e}:e})}function b(){return p("unknown",()=>!0)}function S(e,t,r){return new s({...e,coercer:(n,o)=>f(n,t)?e.coercer(r(n,o),o):e.coercer(n,o)})}function w(e){return e instanceof Map||e instanceof Set?e.size:e.length}function _(e,t,r){return new s({...e,*refiner(n,o){for(let a of(yield*e.refiner(n,o),i(r(n,o),o,e,n)))yield{...a,refinement:t}}})}e.Struct=s,e.StructError=t,e.any=function(){return p("any",()=>!0)},e.array=function(e){return new s({type:"array",schema:e,*entries(t){if(e&&Array.isArray(t))for(let[r,n]of t.entries())yield[r,n,e]},coercer:e=>Array.isArray(e)?e.slice():e,validator:e=>Array.isArray(e)||`Expected an array value, but received: ${o(e)}`})},e.assert=l,e.assign=function(...e){let t="type"===e[0].type,r=Object.assign({},...e.map(e=>e.schema));return t?g(r):m(r)},e.bigint=function(){return p("bigint",e=>"bigint"==typeof e)},e.boolean=function(){return p("boolean",e=>"boolean"==typeof e)},e.coerce=S,e.create=u,e.date=function(){return p("date",e=>e instanceof Date&&!isNaN(e.getTime())||`Expected a valid \`Date\` object, but received: ${o(e)}`)},e.defaulted=function(e,t,r={}){return S(e,b(),e=>{let o="function"==typeof t?t():t;if(void 0===e)return o;if(!r.strict&&n(e)&&n(o)){let t={...e},r=!1;for(let e in o)void 0===t[e]&&(t[e]=o[e],r=!0);if(r)return t}return e})},e.define=p,e.deprecated=function(e,t){return new s({...e,refiner:(t,r)=>void 0===t||e.refiner(t,r),validator:(r,n)=>void 0===r||(t(r,n),e.validator(r,n))})},e.dynamic=function(e){return new s({type:"dynamic",schema:null,*entries(t,r){let n=e(t,r);yield*n.entries(t,r)},validator:(t,r)=>e(t,r).validator(t,r),coercer:(t,r)=>e(t,r).coercer(t,r),refiner:(t,r)=>e(t,r).refiner(t,r)})},e.empty=function(e){return _(e,"empty",t=>{let r=w(t);return 0===r||`Expected an empty ${e.type} but received one with a size of \`${r}\``})},e.enums=function(e){let t={},r=e.map(e=>o(e)).join();for(let r of e)t[r]=r;return new s({type:"enums",schema:t,validator:t=>e.includes(t)||`Expected one of \`${r}\`, but received: ${o(t)}`})},e.func=function(){return p("func",e=>"function"==typeof e||`Expected a function, but received: ${o(e)}`)},e.instance=function(e){return p("instance",t=>t instanceof e||`Expected a \`${e.name}\` instance, but received: ${o(t)}`)},e.integer=function(){return p("integer",e=>"number"==typeof e&&!isNaN(e)&&Number.isInteger(e)||`Expected an integer, but received: ${o(e)}`)},e.intersection=function(e){return new s({type:"intersection",schema:null,*entries(t,r){for(let n of e)yield*n.entries(t,r)},*validator(t,r){for(let n of e)yield*n.validator(t,r)},*refiner(t,r){for(let n of e)yield*n.refiner(t,r)}})},e.is=f,e.lazy=function(e){let t;return new s({type:"lazy",schema:null,*entries(r,n){t??(t=e()),yield*t.entries(r,n)},validator:(r,n)=>(t??(t=e()),t.validator(r,n)),coercer:(r,n)=>(t??(t=e()),t.coercer(r,n)),refiner:(r,n)=>(t??(t=e()),t.refiner(r,n))})},e.literal=function(e){let t=o(e),r=typeof e;return new s({type:"literal",schema:"string"===r||"number"===r||"boolean"===r?e:null,validator:r=>r===e||`Expected the literal \`${t}\`, but received: ${o(r)}`})},e.map=function(e,t){return new s({type:"map",schema:null,*entries(r){if(e&&t&&r instanceof Map)for(let[n,o]of r.entries())yield[n,n,e],yield[n,o,t]},coercer:e=>e instanceof Map?new Map(e):e,validator:e=>e instanceof Map||`Expected a \`Map\` object, but received: ${o(e)}`})},e.mask=c,e.max=function(e,t,r={}){let{exclusive:n}=r;return _(e,"max",r=>n?r<t:r<=t||`Expected a ${e.type} less than ${n?"":"or equal to "}${t} but received \`${r}\``)},e.min=function(e,t,r={}){let{exclusive:n}=r;return _(e,"min",r=>n?r>t:r>=t||`Expected a ${e.type} greater than ${n?"":"or equal to "}${t} but received \`${r}\``)},e.never=h,e.nonempty=function(e){return _(e,"nonempty",t=>w(t)>0||`Expected a nonempty ${e.type} but received an empty one`)},e.nullable=function(e){return new s({...e,validator:(t,r)=>null===t||e.validator(t,r),refiner:(t,r)=>null===t||e.refiner(t,r)})},e.number=function(){return p("number",e=>"number"==typeof e&&!isNaN(e)||`Expected a number, but received: ${o(e)}`)},e.object=m,e.omit=function(e,t){let{schema:r}=e,n={...r};for(let e of t)delete n[e];return"type"===e.type?g(n):m(n)},e.optional=y,e.partial=function(e){let t=e instanceof s?{...e.schema}:{...e};for(let e in t)t[e]=y(t[e]);return m(t)},e.pattern=function(e,t){return _(e,"pattern",r=>t.test(r)||`Expected a ${e.type} matching \`/${t.source}/\` but received "${r}"`)},e.pick=function(e,t){let{schema:r}=e,n={};for(let e of t)n[e]=r[e];return m(n)},e.record=function(e,t){return new s({type:"record",schema:null,*entries(n){if(r(n))for(let r in n){let o=n[r];yield[r,r,e],yield[r,o,t]}},validator:e=>r(e)||`Expected an object, but received: ${o(e)}`})},e.refine=_,e.regexp=function(){return p("regexp",e=>e instanceof RegExp)},e.set=function(e){return new s({type:"set",schema:null,*entries(t){if(e&&t instanceof Set)for(let r of t)yield[r,r,e]},coercer:e=>e instanceof Set?new Set(e):e,validator:e=>e instanceof Set||`Expected a \`Set\` object, but received: ${o(e)}`})},e.size=function(e,t,r=t){let n=`Expected a ${e.type}`,o=t===r?`of \`${t}\``:`between \`${t}\` and \`${r}\``;return _(e,"size",e=>{if("number"==typeof e||e instanceof Date)return t<=e&&e<=r||`${n} ${o} but received \`${e}\``;if(e instanceof Map||e instanceof Set){let{size:i}=e;return t<=i&&i<=r||`${n} with a size ${o} but received one with a size of \`${i}\``}{let{length:i}=e;return t<=i&&i<=r||`${n} with a length ${o} but received one with a length of \`${i}\``}})},e.string=v,e.struct=function(e,t){return console.warn("superstruct@0.11 - The `struct` helper has been renamed to `define`."),p(e,t)},e.trimmed=function(e){return S(e,v(),e=>e.trim())},e.tuple=function(e){let t=h();return new s({type:"tuple",schema:null,*entries(r){if(Array.isArray(r)){let n=Math.max(e.length,r.length);for(let o=0;o<n;o++)yield[o,r[o],e[o]||t]}},validator:e=>Array.isArray(e)||`Expected an array, but received: ${o(e)}`})},e.type=g,e.union=function(e){let t=e.map(e=>e.type).join(" | ");return new s({type:"union",schema:null,coercer(t){for(let r of e){let[e,n]=r.validate(t,{coerce:!0});if(!e)return n}return t},validator(r,n){let i=[];for(let t of e){let[...e]=a(r,t,n),[o]=e;if(!o[0])return[];for(let[t]of e)t&&i.push(t)}return[`Expected the value to satisfy a union of \`${t}\`, but received: ${o(r)}`,...i]}})},e.unknown=b,e.validate=d})(t)}})[318](0,t),e.exports=t})()}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(n,o){if(1&o&&(n=this(n)),8&o||"object"==typeof n&&n&&(4&o&&n.__esModule||16&o&&"function"==typeof n.then))return n;var i=Object.create(null);r.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var s=2&o&&n;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach(e=>a[e]=()=>n[e]);return a.default=()=>n,r.d(i,a),i}})(),r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.e=()=>Promise.resolve(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";let e,t;r.r(n),r.d(n,{AppPageRouteModule:()=>o5,default:()=>o7,renderToHTMLOrFlight:()=>oJ,vendored:()=>o9});var o,i,a,s,l,u,c,f,d,p={};r.r(p),r.d(p,{ServerInsertedHTMLContext:()=>nr,useServerInsertedHTML:()=>nn});var h={};r.r(h),r.d(h,{AppRouterContext:()=>nj,GlobalLayoutRouterContext:()=>nI,LayoutRouterContext:()=>nO,MissingSlotContext:()=>nN,TemplateContext:()=>nM});var m={};r.r(m),r.d(m,{PathParamsContext:()=>nz,PathnameContext:()=>nq,SearchParamsContext:()=>nB});var y={};r.r(y),r.d(y,{RouterContext:()=>o4});var v={};r.r(v),r.d(v,{AmpStateContext:()=>o3});var g={};r.r(g),r.d(g,{ImageConfigContext:()=>o8});var b={};r.r(b),r.d(b,{AmpContext:()=>v,AppRouterContext:()=>h,HeadManagerContext:()=>o6,HooksClientContext:()=>m,ImageConfigContext:()=>g,RouterContext:()=>y,ServerInsertedHtml:()=>p});var S=r("./dist/compiled/react/jsx-runtime.js"),w=r("./dist/compiled/react/index.js"),_=r("../../lib/trace/tracer"),k=r("./dist/esm/server/lib/trace/constants.js");class C{constructor(){let e,t;this.promise=new Promise((r,n)=>{e=r,t=n}),this.resolve=e,this.reject=t}}let x=e=>{setImmediate(e)};function R(){return new Promise(e=>setImmediate(e))}let E={OPENING:{HTML:new Uint8Array([60,104,116,109,108]),BODY:new Uint8Array([60,98,111,100,121])},CLOSED:{HEAD:new Uint8Array([60,47,104,101,97,100,62]),BODY:new Uint8Array([60,47,98,111,100,121,62]),HTML:new Uint8Array([60,47,104,116,109,108,62]),BODY_AND_HTML:new Uint8Array([60,47,98,111,100,121,62,60,47,104,116,109,108,62])}};function T(e,t){if(0===t.length)return 0;if(0===e.length||t.length>e.length)return -1;for(let r=0;r<=e.length-t.length;r++){let n=!0;for(let o=0;o<t.length;o++)if(e[r+o]!==t[o]){n=!1;break}if(n)return r}return -1}function P(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function A(e,t){let r=T(e,t);if(0===r)return e.subarray(t.length);if(!(r>-1))return e;{let n=new Uint8Array(e.length-t.length);return n.set(e.slice(0,r)),n.set(e.slice(r+t.length),r),n}}function $(){}let j=new TextEncoder;function O(...e){if(0===e.length)throw Error("Invariant: chainStreams requires at least one stream");if(1===e.length)return e[0];let{readable:t,writable:r}=new TransformStream,n=e[0].pipeTo(r,{preventClose:!0}),o=1;for(;o<e.length-1;o++){let t=e[o];n=n.then(()=>t.pipeTo(r,{preventClose:!0}))}let i=e[o];return(n=n.then(()=>i.pipeTo(r))).catch($),t}function I(e){return new ReadableStream({start(t){t.enqueue(j.encode(e)),t.close()}})}function M(e){return new ReadableStream({start(t){t.enqueue(e),t.close()}})}async function N(e){let t=e.getReader(),r=[];for(;;){let{done:e,value:n}=await t.read();if(e)break;r.push(n)}return Buffer.concat(r)}async function L(e){let t=new TextDecoder("utf-8",{fatal:!0}),r="";for await(let n of e)r+=t.decode(n,{stream:!0});return r+t.decode()}function D(){let e,t=[],r=0,n=n=>{if(e)return;let o=new C;e=o,x(()=>{try{let e=new Uint8Array(r),o=0;for(let r=0;r<t.length;r++){let n=t[r];e.set(n,o),o+=n.byteLength}t.length=0,r=0,n.enqueue(e)}catch{}finally{e=void 0,o.resolve()}})};return new TransformStream({transform(e,o){t.push(e),r+=e.byteLength,n(o)},flush(){if(e)return e.promise}})}function F({ReactDOMServer:e,element:t,streamOptions:r}){return(0,_.getTracer)().trace(k.k0.renderToReadableStream,async()=>e.renderToReadableStream(t,r))}function U(e){let t=!1,r=!1,n=!1;return new TransformStream({async transform(o,i){if(n=!0,r){i.enqueue(o);return}let a=await e();if(t){if(a){let e=j.encode(a);i.enqueue(e)}i.enqueue(o),r=!0}else{let e=T(o,E.CLOSED.HEAD);if(-1!==e){if(a){let t=j.encode(a),r=new Uint8Array(o.length+t.length);r.set(o.slice(0,e)),r.set(t,e),r.set(o.slice(e),e+t.length),i.enqueue(r)}else i.enqueue(o);r=!0,t=!0}}t?x(()=>{r=!1}):i.enqueue(o)},async flush(t){if(n){let r=await e();r&&t.enqueue(j.encode(r))}}})}function H(e){let t=null,r=!1;async function n(n){if(t)return;let o=e.getReader();await new Promise(e=>x(e));try{for(;;){let{done:e,value:t}=await o.read();if(e){r=!0;return}n.enqueue(t)}}catch(e){n.error(e)}}return new TransformStream({transform(e,r){r.enqueue(e),t||(t=n(r))},flush(e){if(!r)return t||n(e)}})}let B="</body></html>";function q(){let e=!1;return new TransformStream({transform(t,r){if(e)return r.enqueue(t);let n=T(t,E.CLOSED.BODY_AND_HTML);if(n>-1){if(e=!0,t.length===E.CLOSED.BODY_AND_HTML.length)return;let o=t.slice(0,n);if(r.enqueue(o),t.length>E.CLOSED.BODY_AND_HTML.length+n){let e=t.slice(n+E.CLOSED.BODY_AND_HTML.length);r.enqueue(e)}}else r.enqueue(t)},flush(e){e.enqueue(E.CLOSED.BODY_AND_HTML)}})}async function z(e,{suffix:t,inlinedDataStream:r,isStaticGeneration:n,getServerInsertedHTML:o,serverInsertedHTMLToHead:i,validateRootLayout:a}){let s,l;let u=t?t.split(B,1)[0]:null;return n&&"allReady"in e&&await e.allReady,function(e,t){let r=e;for(let e of t)e&&(r=r.pipeThrough(e));return r}(e,[D(),o&&!i?new TransformStream({transform:async(e,t)=>{let r=await o();r&&t.enqueue(j.encode(r)),t.enqueue(e)}}):null,null!=u&&u.length>0?function(e){let t,r=!1,n=r=>{let n=new C;t=n,x(()=>{try{r.enqueue(j.encode(e))}catch{}finally{t=void 0,n.resolve()}})};return new TransformStream({transform(e,t){t.enqueue(e),r||(r=!0,n(t))},flush(n){if(t)return t.promise;r||n.enqueue(j.encode(e))}})}(u):null,r?H(r):null,a?(s=!1,l=!1,new TransformStream({async transform(e,t){!s&&T(e,E.OPENING.HTML)>-1&&(s=!0),!l&&T(e,E.OPENING.BODY)>-1&&(l=!0),t.enqueue(e)},flush(e){let t=[];s||t.push("html"),l||t.push("body"),t.length&&e.enqueue(j.encode(`<script>self.__next_root_layout_missing_tags=${JSON.stringify(t)}</script>`))}})):null,q(),o&&i?U(o):null])}async function W(e,{getServerInsertedHTML:t}){return e.pipeThrough(D()).pipeThrough(new TransformStream({transform(e,t){P(e,E.CLOSED.BODY_AND_HTML)||P(e,E.CLOSED.BODY)||P(e,E.CLOSED.HTML)||(e=A(e,E.CLOSED.BODY),e=A(e,E.CLOSED.HTML),t.enqueue(e))}})).pipeThrough(U(t))}async function V(e,{inlinedDataStream:t,getServerInsertedHTML:r}){return e.pipeThrough(D()).pipeThrough(U(r)).pipeThrough(H(t)).pipeThrough(q())}async function G(e,{inlinedDataStream:t,getServerInsertedHTML:r}){return e.pipeThrough(D()).pipeThrough(U(r)).pipeThrough(H(t)).pipeThrough(q())}Symbol.for("NextInternalRequestMeta");var J=r("./dist/esm/lib/constants.js");function X(e){return e.replace(/\/$/,"")||"/"}function Y(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r<t);return n||t>-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}function K(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:n,hash:o}=Y(e);return""+t+r+n+o}function Q(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:n,hash:o}=Y(e);return""+r+t+n+o}function Z(e,t){if("string"!=typeof e)return!1;let{pathname:r}=Y(e);return r===t||r.startsWith(t+"/")}function ee(e,t){let r;let n=e.split("/");return(t||[]).some(t=>!!n[1]&&n[1].toLowerCase()===t.toLowerCase()&&(r=t,n.splice(1,1),e=n.join("/")||"/",!0)),{pathname:e,detectedLocale:r}}function et(e,t){if(!Z(e,t))return e;let r=e.slice(t.length);return r.startsWith("/")?r:"/"+r}let er=/(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)/;function en(e,t){return new URL(String(e).replace(er,"localhost"),t&&String(t).replace(er,"localhost"))}let eo=Symbol("NextURLInternal");class ei{constructor(e,t,r){let n,o;"object"==typeof t&&"pathname"in t||"string"==typeof t?(n=t,o=r||{}):o=r||t||{},this[eo]={url:en(e,n??o.base),options:o,basePath:""},this.analyze()}analyze(){var e,t,r,n,o;let i=function(e,t){var r,n;let{basePath:o,i18n:i,trailingSlash:a}=null!=(r=t.nextConfig)?r:{},s={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):a};o&&Z(s.pathname,o)&&(s.pathname=et(s.pathname,o),s.basePath=o);let l=s.pathname;if(s.pathname.startsWith("/_next/data/")&&s.pathname.endsWith(".json")){let e=s.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/"),r=e[0];s.buildId=r,l="index"!==e[1]?"/"+e.slice(1).join("/"):"/",!0===t.parseData&&(s.pathname=l)}if(i){let e=t.i18nProvider?t.i18nProvider.analyze(s.pathname):ee(s.pathname,i.locales);s.locale=e.detectedLocale,s.pathname=null!=(n=e.pathname)?n:s.pathname,!e.detectedLocale&&s.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(l):ee(l,i.locales)).detectedLocale&&(s.locale=e.detectedLocale)}return s}(this[eo].url.pathname,{nextConfig:this[eo].options.nextConfig,parseData:!process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE,i18nProvider:this[eo].options.i18nProvider}),a=function(e,t){let r;if((null==t?void 0:t.host)&&!Array.isArray(t.host))r=t.host.toString().split(":",1)[0];else{if(!e.hostname)return;r=e.hostname}return r.toLowerCase()}(this[eo].url,this[eo].options.headers);this[eo].domainLocale=this[eo].options.i18nProvider?this[eo].options.i18nProvider.detectDomainLocale(a):function(e,t,r){if(e)for(let i of(r&&(r=r.toLowerCase()),e)){var n,o;if(t===(null==(n=i.domain)?void 0:n.split(":",1)[0].toLowerCase())||r===i.defaultLocale.toLowerCase()||(null==(o=i.locales)?void 0:o.some(e=>e.toLowerCase()===r)))return i}}(null==(t=this[eo].options.nextConfig)?void 0:null==(e=t.i18n)?void 0:e.domains,a);let s=(null==(r=this[eo].domainLocale)?void 0:r.defaultLocale)||(null==(o=this[eo].options.nextConfig)?void 0:null==(n=o.i18n)?void 0:n.defaultLocale);this[eo].url.pathname=i.pathname,this[eo].defaultLocale=s,this[eo].basePath=i.basePath??"",this[eo].buildId=i.buildId,this[eo].locale=i.locale??s,this[eo].trailingSlash=i.trailingSlash}formatPathname(){var e;let t;return t=function(e,t,r,n){if(!t||t===r)return e;let o=e.toLowerCase();return!n&&(Z(o,"/api")||Z(o,"/"+t.toLowerCase()))?e:K(e,"/"+t)}((e={basePath:this[eo].basePath,buildId:this[eo].buildId,defaultLocale:this[eo].options.forceLocale?void 0:this[eo].defaultLocale,locale:this[eo].locale,pathname:this[eo].url.pathname,trailingSlash:this[eo].trailingSlash}).pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix),(e.buildId||!e.trailingSlash)&&(t=X(t)),e.buildId&&(t=Q(K(t,"/_next/data/"+e.buildId),"/"===e.pathname?"index.json":".json")),t=K(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:Q(t,"/"):X(t)}formatSearch(){return this[eo].url.search}get buildId(){return this[eo].buildId}set buildId(e){this[eo].buildId=e}get locale(){return this[eo].locale??""}set locale(e){var t,r;if(!this[eo].locale||!(null==(r=this[eo].options.nextConfig)?void 0:null==(t=r.i18n)?void 0:t.locales.includes(e)))throw TypeError(`The NextURL configuration includes no locale "${e}"`);this[eo].locale=e}get defaultLocale(){return this[eo].defaultLocale}get domainLocale(){return this[eo].domainLocale}get searchParams(){return this[eo].url.searchParams}get host(){return this[eo].url.host}set host(e){this[eo].url.host=e}get hostname(){return this[eo].url.hostname}set hostname(e){this[eo].url.hostname=e}get port(){return this[eo].url.port}set port(e){this[eo].url.port=e}get protocol(){return this[eo].url.protocol}set protocol(e){this[eo].url.protocol=e}get href(){let e=this.formatPathname(),t=this.formatSearch();return`${this.protocol}//${this.host}${e}${t}${this.hash}`}set href(e){this[eo].url=en(e),this.analyze()}get origin(){return this[eo].url.origin}get pathname(){return this[eo].url.pathname}set pathname(e){this[eo].url.pathname=e}get hash(){return this[eo].url.hash}set hash(e){this[eo].url.hash=e}get search(){return this[eo].url.search}set search(e){this[eo].url.search=e}get password(){return this[eo].url.password}set password(e){this[eo].url.*** username(){return this[eo].url.username}set username(e){this[eo].url.username=e}get basePath(){return this[eo].basePath}set basePath(e){this[eo].basePath=e.startsWith("/")?e:`/${e}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new ei(String(this),this[eo].options)}}var ea=r("./dist/compiled/@edge-runtime/cookies/index.js");Symbol("internal request"),Request,Symbol.for("edge-runtime.inspect.custom");let es="ResponseAborted";class el extends Error{constructor(...e){super(...e),this.name=es}}let eu=0,ec=0,ef=0;function ed(e={}){let t=0===eu?void 0:{clientComponentLoadStart:eu,clientComponentLoadTimes:ec,clientComponentLoadCount:ef};return e.reset&&(eu=0,ec=0,ef=0),t}function ep(e){return(null==e?void 0:e.name)==="AbortError"||(null==e?void 0:e.name)===es}async function eh(e,t,r){try{let{errored:n,destroyed:o}=t;if(n||o)return;let i=function(e){let t=new AbortController;return e.once("close",()=>{e.writableFinished||t.abort(new el)}),t}(t),a=function(e,t){let r=!1,n=new C;function o(){n.resolve()}e.on("drain",o),e.once("close",()=>{e.off("drain",o),n.resolve()});let i=new C;return e.once("finish",()=>{i.resolve()}),new WritableStream({write:async t=>{if(!r){if(r=!0,"performance"in globalThis&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX){let e=ed();e&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,{start:e.clientComponentLoadStart,end:e.clientComponentLoadStart+e.clientComponentLoadTimes})}e.flushHeaders(),(0,_.getTracer)().trace(k.Xy.startResponse,{spanName:"start response"},()=>void 0)}try{let r=e.write(t);"flush"in e&&"function"==typeof e.flush&&e.flush(),r||(await n.promise,n=new C)}catch(t){throw e.end(),Error("failed to write chunk to response",{cause:t})}},abort:t=>{e.writableFinished||e.destroy(t)},close:async()=>{if(t&&await t,!e.writableFinished)return e.end(),i.promise}})}(t,r);await e.pipeTo(a,{signal:i.signal})}catch(e){if(ep(e))return;throw Error("failed to pipe response",{cause:e})}}class em{static fromStatic(e){return new em(e,{metadata:{}})}constructor(e,{contentType:t,waitUntil:r,metadata:n}){this.response=e,this.contentType=t,this.metadata=n,this.waitUntil=r}assignMetadata(e){Object.assign(this.metadata,e)}get isNull(){return null===this.response}get isDynamic(){return"string"!=typeof this.response}toUnchunkedBuffer(e=!1){if(null===this.response)throw Error("Invariant: null responses cannot be unchunked");if("string"!=typeof this.response){if(!e)throw Error("Invariant: dynamic responses cannot be unchunked. This is a bug in Next.js");return N(this.readable)}return Buffer.from(this.response)}toUnchunkedString(e=!1){if(null===this.response)throw Error("Invariant: null responses cannot be unchunked");if("string"!=typeof this.response){if(!e)throw Error("Invariant: dynamic responses cannot be unchunked. This is a bug in Next.js");return L(this.readable)}return this.response}get readable(){if(null===this.response)throw Error("Invariant: null responses cannot be streamed");if("string"==typeof this.response)throw Error("Invariant: static responses cannot be streamed");return Buffer.isBuffer(this.response)?M(this.response):Array.isArray(this.response)?O(...this.response):this.response}chain(e){let t;if(null===this.response)throw Error("Invariant: response is null. This is a bug in Next.js");"string"==typeof this.response?t=[I(this.response)]:Array.isArray(this.response)?t=this.response:Buffer.isBuffer(this.response)?t=[M(this.response)]:t=[this.response],t.push(e),this.response=t}async pipeTo(e){try{await this.readable.pipeTo(e,{preventClose:!0}),this.waitUntil&&await this.waitUntil,await e.close()}catch(t){if(ep(t)){await e.abort(t);return}throw t}}async pipeToNodeResponse(e){await eh(this.readable,e,this.waitUntil)}}let ey="Next-Action",ev="Next-Router-State-Tree",eg="Next-Router-Prefetch",eb="Next-HMR-Refresh",eS="text/x-component",ew=["RSC",ev,eg,eb],e_=["__nextFallback","__nextLocale","__nextInferredLocaleFromDefault","__nextDefaultLocale","__nextIsNotFound","_rsc"];function ek(e){return null!=e}function eC({name:e,property:t,content:r,media:n}){return null!=r&&""!==r?(0,S.jsx)("meta",{...e?{name:e}:{property:t},...n?{media:n}:void 0,content:"string"==typeof r?r:r.toString()}):null}function ex(e){let t=[];for(let r of e)Array.isArray(r)?t.push(...r.filter(ek)):ek(r)&&t.push(r);return t}let eR=new Set(["og:image","twitter:image","og:video","og:audio"]);function eE(e,t){return eR.has(e)&&"url"===t?e:((e.startsWith("og:")||e.startsWith("twitter:"))&&(t=t.replace(/([A-Z])/g,function(e){return"_"+e.toLowerCase()})),e+":"+t)}function eT({propertyPrefix:e,namePrefix:t,contents:r}){return null==r?null:ex(r.map(r=>"string"==typeof r||"number"==typeof r||r instanceof URL?eC({...e?{property:e}:{name:t},content:r}):function({content:e,namePrefix:t,propertyPrefix:r}){return e?ex(Object.entries(e).map(([e,n])=>void 0===n?null:eC({...r&&{property:eE(r,e)},...t&&{name:eE(t,e)},content:"string"==typeof n?n:null==n?void 0:n.toString()}))):null}({namePrefix:t,propertyPrefix:e,content:r})))}let eP={width:"width",height:"height",initialScale:"initial-scale",minimumScale:"minimum-scale",maximumScale:"maximum-scale",viewportFit:"viewport-fit",userScalable:"user-scalable",interactiveWidget:"interactive-widget"},eA=["icon","shortcut","apple","other"];function e$(e){return Array.isArray(e)?e:[e]}function ej(e){if(null!=e)return e$(e)}let eO=["telephone","date","address","email","url"];function eI({descriptor:e,...t}){return e.url?(0,S.jsx)("link",{...t,...e.title&&{title:e.title},href:e.url.toString()}):null}function eM({app:e,type:t}){var r,n;return[eC({name:`twitter:app:name:${t}`,content:e.name}),eC({name:`twitter:app:id:${t}`,content:e.id[t]}),eC({name:`twitter:app:url:${t}`,content:null==(n=e.url)?void 0:null==(r=n[t])?void 0:r.toString()})]}function eN({icon:e}){let{url:t,rel:r="icon",...n}=e;return(0,S.jsx)("link",{rel:r,href:t.toString(),...n})}function eL({rel:e,icon:t}){if("object"==typeof t&&!(t instanceof URL))return!t.rel&&e&&(t.rel=e),eN({icon:t});{let r=t.toString();return(0,S.jsx)("link",{rel:e,href:r})}}function eD(){return{width:"device-width",initialScale:1,themeColor:null,colorScheme:null}}function eF(){return{viewport:null,themeColor:null,colorScheme:null,metadataBase:null,title:null,description:null,applicationName:null,authors:null,generator:null,keywords:null,referrer:null,creator:null,publisher:null,robots:null,manifest:null,alternates:{canonical:null,languages:null,media:null,types:null},icons:null,openGraph:null,twitter:null,verification:{},appleWebApp:null,formatDetection:null,itunes:null,facebook:null,abstract:null,appLinks:null,archives:null,assets:null,bookmarks:null,category:null,classification:null,other:{}}}var eU=r("./dist/esm/shared/lib/isomorphic/path.js"),eH=r.n(eU);function eB(e){return"string"==typeof e||e instanceof URL}function eq(){return new URL(`http://localhost:${process.env.PORT||3e3}`)}function ez(e,t){if(e instanceof URL)return e;if(!e)return null;try{return new URL(e)}catch{}t||(t=eq());let r=t.pathname||"";return new URL(eH().posix.join(r,e),t)}let eW=/^(?:\/((?!\.well-known(?:\/.*)?)(?:[^/]+\/)*[^/]+\.\w+))(\/?|$)/i;function eV(e,t,{trailingSlash:r,pathname:n}){var o,i;e="string"==typeof(o=e)&&o.startsWith("./")?eH().posix.resolve(n,o):o;let a="",s=t?ez(e,t):e;if(a="string"==typeof s?s:"/"===s.pathname?s.origin:s.href,r&&!a.endsWith("/")){let e=a.startsWith("/"),r=a.includes("?"),n=!1,o=!1;if(!e){try{let e=new URL(a);n=null!=t&&e.origin!==t.origin,i=e.pathname,o=eW.test(i)}catch{n=!0}if(!o&&!n&&!r)return`${a}/`}}return a}function eG(e,t){return e?e.replace(/%s/g,t):t}function eJ(e,t){let r;let n="string"!=typeof e&&e&&"template"in e?e.template:null;return("string"==typeof e?r=eG(t,e):e&&("default"in e&&(r=eG(t,e.default)),"absolute"in e&&e.absolute&&(r=e.absolute)),e&&"string"!=typeof e)?{template:n,absolute:r||""}:{absolute:r||e||"",template:n}}let{env:eX,stdout:eY}=(null==(o=globalThis)?void 0:o.process)??{},eK=eX&&!eX.NO_COLOR&&(eX.FORCE_COLOR||(null==eY?void 0:eY.isTTY)&&!eX.CI&&"dumb"!==eX.TERM),eQ=(e,t,r,n)=>{let o=e.substring(0,n)+r,i=e.substring(n+t.length),a=i.indexOf(t);return~a?o+eQ(i,t,r,a):o+i},eZ=(e,t,r=e)=>eK?n=>{let o=""+n,i=o.indexOf(t,e.length);return~i?e+eQ(o,t,r,i)+t:e+o+t}:String,e0=eZ("\x1b[1m","\x1b[22m","\x1b[22m\x1b[1m");eZ("\x1b[2m","\x1b[22m","\x1b[22m\x1b[2m"),eZ("\x1b[3m","\x1b[23m"),eZ("\x1b[4m","\x1b[24m"),eZ("\x1b[7m","\x1b[27m"),eZ("\x1b[8m","\x1b[28m"),eZ("\x1b[9m","\x1b[29m"),eZ("\x1b[30m","\x1b[39m");let e1=eZ("\x1b[31m","\x1b[39m"),e2=eZ("\x1b[32m","\x1b[39m"),e6=eZ("\x1b[33m","\x1b[39m");eZ("\x1b[34m","\x1b[39m");let e4=eZ("\x1b[35m","\x1b[39m");eZ("\x1b[38;2;173;127;168m","\x1b[39m"),eZ("\x1b[36m","\x1b[39m");let e3=eZ("\x1b[37m","\x1b[39m");eZ("\x1b[90m","\x1b[39m"),eZ("\x1b[40m","\x1b[49m"),eZ("\x1b[41m","\x1b[49m"),eZ("\x1b[42m","\x1b[49m"),eZ("\x1b[43m","\x1b[49m"),eZ("\x1b[44m","\x1b[49m"),eZ("\x1b[45m","\x1b[49m"),eZ("\x1b[46m","\x1b[49m"),eZ("\x1b[47m","\x1b[49m");let e8={wait:e3(e0("○")),error:e1(e0("⨯")),warn:e6(e0("⚠")),ready:"▲",info:e3(e0(" ")),event:e2(e0("✓")),trace:e4(e0("»"))},e5={log:"log",warn:"warn",error:"error"};function e9(e,...t){(""===t[0]||void 0===t[0])&&1===t.length&&t.shift();let r=e in e5?e5[e]:"log",n=e8[e];0===t.length?console[r](""):console[r](" "+n,...t)}function e7(...e){e9("error",...e)}function te(...e){e9("warn",...e)}let tt=new Set,tr={article:["authors","tags"],song:["albums","musicians"],playlist:["albums","musicians"],radio:["creators"],video:["actors","directors","writers","tags"],basic:["emails","phoneNumbers","faxNumbers","alternateLocale","audio","videos"]};function tn(e,t,r){let n=ej(e);if(!n)return n;let{isMetadataBaseMissing:o,fallbackMetadataBase:i}=function(e){let t=eq(),r=function(){let e=process.env.VERCEL_BRANCH_URL||process.env.VERCEL_URL;return e?new URL(`https://${e}`):void 0}(),n=function(){let e=process.env.VERCEL_PROJECT_PRODUCTION_URL;return e?new URL(`https://${e}`):void 0}();return{fallbackMetadataBase:r&&"preview"===process.env.VERCEL_ENV?r:e||n||t,isMetadataBaseMissing:!e}}(t),a=[];for(let e of n){let t=function(e,t,r,n){if(!e)return;let o=eB(e),i=o?e:e.url;if(!i)return;let a=!process.env.VERCEL;return(n||a)&&"string"==typeof i&&!/https?:\/\//.test(i)&&r&&function(...e){tt.has(e[0])||(tt.add(e.join(" ")),te(...e))}(`metadataBase property in metadata export is not set for resolving social open graph or twitter images, using "${t.origin}". See https://nextjs.org/docs/app/api-reference/functions/generate-metadata#metadatabase`),o?{url:ez(i,t)}:{...e,url:ez(i,t)}}(e,i,o,r);t&&a.push(t)}return a}let to={article:tr.article,book:tr.article,"music.song":tr.song,"music.album":tr.song,"music.playlist":tr.playlist,"music.radio_station":tr.radio,"video.movie":tr.video,"video.episode":tr.video},ti=(e,t,r,n)=>{if(!e)return null;let o={...e,title:eJ(e.title,n)};return function(e,n){var o;for(let t of(o=n&&"type"in n?n.type:void 0)&&o in to?to[o].concat(tr.basic):tr.basic)if(t in n&&"url"!==t){let r=n[t];e[t]=r?e$(r):null}e.images=tn(n.images,t,r.isStandaloneMode)}(o,e),o.url=e.url?eV(e.url,t,r):null,o},ta=["site","siteId","creator","creatorId","description"],ts=(e,t,r,n)=>{var o;if(!e)return null;let i="card"in e?e.card:void 0,a={...e,title:eJ(e.title,n)};for(let t of ta)a[t]=e[t]||null;if(a.images=tn(e.images,t,r.isStandaloneMode),i=i||((null==(o=a.images)?void 0:o.length)?"summary_large_image":"summary"),a.card=i,"card"in a)switch(a.card){case"player":a.players=ej(a.players)||[];break;case"app":a.app=a.app||{}}return a};function tl(e){let t=(null==e?void 0:e.default)||e;return(null==t?void 0:t.$$typeof)===Symbol.for("react.client.reference")}function tu(e){return"("===e[0]&&e.endsWith(")")}function tc(e,t){if(e.includes(tf)){let e=JSON.stringify(t);return"{}"!==e?tf+"?"+e:tf}return e}let tf="__PAGE__",td="__DEFAULT__";async function tp(e){let t,r;let{layout:n,page:o,defaultPage:i}=e[2],a=void 0!==n,s=void 0!==o,l=void 0!==i&&e[0]===td;return a?(t=await n[0](),r="layout"):s?(t=await o[0](),r="page"):l&&(t=await i[0](),r="page"),[t,r]}async function th(e,t){let{[t]:r}=e[2];if(void 0!==r)return await r[0]()}function tm(e,t,r){if(e instanceof URL){let t=new URL(r.pathname,e);e.searchParams.forEach((e,r)=>t.searchParams.set(r,e)),e=t}return eV(e,t,r)}let ty=e=>{var t;if(!e)return null;let r=[];return null==(t=ej(e))||t.forEach(e=>{"string"==typeof e?r.push({color:e}):"object"==typeof e&&r.push({color:e.color,media:e.media})}),r};function tv(e,t,r){if(!e)return null;let n={};for(let[o,i]of Object.entries(e))"string"==typeof i||i instanceof URL?n[o]=[{url:tm(i,t,r)}]:(n[o]=[],null==i||i.forEach((e,i)=>{let a=tm(e.url,t,r);n[o][i]={url:a,title:e.title}}));return n}let tg=(e,t,r)=>e?{canonical:function(e,t,r){return e?{url:tm("string"==typeof e||e instanceof URL?e:e.url,t,r)}:null}(e.canonical,t,r),languages:tv(e.languages,t,r),media:tv(e.media,t,r),types:tv(e.types,t,r)}:null,tb=["noarchive","nosnippet","noimageindex","nocache","notranslate","indexifembedded","nositelinkssearchbox","unavailable_after","max-video-preview","max-image-preview","max-snippet"],tS=e=>{if(!e)return null;if("string"==typeof e)return e;let t=[];for(let r of(e.index?t.push("index"):"boolean"==typeof e.index&&t.push("noindex"),e.follow?t.push("follow"):"boolean"==typeof e.follow&&t.push("nofollow"),tb)){let n=e[r];void 0!==n&&!1!==n&&t.push("boolean"==typeof n?r:`${r}:${n}`)}return t.join(", ")},tw=e=>e?{basic:tS(e),googleBot:"string"!=typeof e?tS(e.googleBot):null}:null,t_=["google","yahoo","yandex","me","other"],tk=e=>{if(!e)return null;let t={};for(let r of t_){let n=e[r];if(n){if("other"===r)for(let r in t.other={},e.other){let n=ej(e.other[r]);n&&(t.other[r]=n)}else t[r]=ej(n)}}return t},tC=e=>{var t;if(!e)return null;if(!0===e)return{capable:!0};let r=e.startupImage?null==(t=ej(e.startupImage))?void 0:t.map(e=>"string"==typeof e?{url:e}:e):null;return{capable:!("capable"in e)||!!e.capable,title:e.title||null,startupImage:r,statusBarStyle:e.statusBarStyle||"default"}},tx=e=>{if(!e)return null;for(let t in e)e[t]=ej(e[t]);return e},tR=(e,t,r)=>e?{appId:e.appId,appArgument:e.appArgument?tm(e.appArgument,t,r):void 0}:null,tE=e=>e?{appId:e.appId,admins:ej(e.admins)}:null;function tT(e){return eB(e)?{url:e}:(Array.isArray(e),e)}let tP=e=>{if(!e)return null;let t={icon:[],apple:[]};if(Array.isArray(e))t.icon=e.map(tT).filter(Boolean);else if(eB(e))t.icon=[tT(e)];else for(let r of eA){let n=ej(e[r]);n&&(t[r]=n.map(tT))}return t};async function tA(e,t,r){if(tl(e))return null;if("function"==typeof e.generateViewport){let{route:n}=r;return r=>(0,_.getTracer)().trace(k._s.generateViewport,{spanName:`generateViewport ${n}`,attributes:{"next.page":n}},()=>e.generateViewport(t,r))}return e.viewport||null}async function t$(e,t,r){if(tl(e))return null;if("function"==typeof e.generateMetadata){let{route:n}=r;return r=>(0,_.getTracer)().trace(k._s.generateMetadata,{spanName:`generateMetadata ${n}`,attributes:{"next.page":n}},()=>e.generateMetadata(t,r))}return e.metadata||null}async function tj(e,t,r){var n;if(!(null==e?void 0:e[r]))return;let o=e[r].map(async e=>{var r;return(r=await e(t)).default||r});return(null==o?void 0:o.length)>0?null==(n=await Promise.all(o))?void 0:n.flat():void 0}async function tO(e,t){let{metadata:r}=e;if(!r)return null;let[n,o,i,a]=await Promise.all([tj(r,t,"icon"),tj(r,t,"apple"),tj(r,t,"openGraph"),tj(r,t,"twitter")]);return{icon:n,apple:o,openGraph:i,twitter:a,manifest:r.manifest}}async function tI({tree:e,metadataItems:t,errorMetadataItem:r,props:n,route:o,errorConvention:i}){let a,s;let l=!!(i&&e[2][i]);i?(a=await th(e,"layout"),s=i):[a,s]=await tp(e),s&&(o+=`/${s}`);let u=await tO(e[2],n),c=a?await t$(a,n,{route:o}):null,f=a?await tA(a,n,{route:o}):null;if(t.push([c,u,f]),l&&i){let t=await th(e,i),a=t?await tA(t,n,{route:o}):null,s=t?await t$(t,n,{route:o}):null;r[0]=s,r[1]=u,r[2]=a}}async function tM({tree:e,parentParams:t,metadataItems:r,errorMetadataItem:n,treePrefix:o=[],getDynamicParamFromSegment:i,searchParams:a,errorConvention:s,createDynamicallyTrackedParams:l}){let u;let[c,f,{page:d}]=e,p=[...o,c],h=i(c),m=h&&null!==h.value?{...t,[h.param]:h.value}:t,y=l(m);for(let t in u=void 0!==d?{params:y,searchParams:a}:{params:y},await tI({tree:e,metadataItems:r,errorMetadataItem:n,errorConvention:s,props:u,route:p.filter(e=>e!==tf).join("/")}),f){let e=f[t];await tM({tree:e,metadataItems:r,errorMetadataItem:n,parentParams:m,treePrefix:p,searchParams:a,getDynamicParamFromSegment:i,errorConvention:s,createDynamicallyTrackedParams:l})}return 0===Object.keys(f).length&&s&&r.push(n),r}let tN=e=>!!(null==e?void 0:e.absolute),tL=e=>tN(null==e?void 0:e.title);function tD(e,t){e&&(!tL(e)&&tL(t)&&(e.title=t.title),!e.description&&t.description&&(e.description=t.description))}async function tF(e,t,r,n,o,i){let a=e(r[n]),s=t.resolvers,l=null;if("function"==typeof a){if(!s.length)for(let t=n;t<r.length;t++){let n=e(r[t]);"function"==typeof n&&function(e,t,r){let n=t(new Promise(e=>{r.push(e)}));n instanceof Promise&&n.catch(e=>({__nextError:e})),e.push(n)}(i,n,s)}let a=s[t.resolvingIndex],u=i[t.resolvingIndex++];if(a(o),(l=u instanceof Promise?await u:u)&&"object"==typeof l&&"__nextError"in l)throw l.__nextError}else null!==a&&"object"==typeof a&&(l=a);return l}async function tU(e,t){let r;let n=eF(),o=[],i={title:null,twitter:null,openGraph:null},a={resolvers:[],resolvingIndex:0},s={warnings:new Set},l={icon:[],apple:[]};for(let m=0;m<e.length;m++){var u,c,f,d,p,h;let y=e[m][1];if(m<=1&&(h=null==y?void 0:null==(u=y.icon)?void 0:u[0])&&("/favicon.ico"===h.url||h.url.toString().startsWith("/favicon.ico?"))&&"image/x-icon"===h.type){let e=null==y?void 0:null==(c=y.icon)?void 0:c.shift();0===m&&(r=e)}let v=await tF(e=>e[0],a,e,m,n,o);(function({source:e,target:t,staticFilesMetadata:r,titleTemplates:n,metadataContext:o,buildState:i,leafSegmentStaticIcons:a}){let s=void 0!==(null==e?void 0:e.metadataBase)?e.metadataBase:t.metadataBase;for(let r in e)switch(r){case"title":t.title=eJ(e.title,n.title);break;case"alternates":t.alternates=tg(e.alternates,s,o);break;case"openGraph":t.openGraph=ti(e.openGraph,s,o,n.openGraph);break;case"twitter":t.twitter=ts(e.twitter,s,o,n.twitter);break;case"facebook":t.facebook=tE(e.facebook);break;case"verification":t.verification=tk(e.verification);break;case"icons":t.icons=tP(e.icons);break;case"appleWebApp":t.appleWebApp=tC(e.appleWebApp);break;case"appLinks":t.appLinks=tx(e.appLinks);break;case"robots":t.robots=tw(e.robots);break;case"archives":case"assets":case"bookmarks":case"keywords":t[r]=ej(e[r]);break;case"authors":t[r]=ej(e.authors);break;case"itunes":t[r]=tR(e.itunes,s,o);break;case"applicationName":case"description":case"generator":case"creator":case"publisher":case"category":case"classification":case"referrer":case"formatDetection":case"manifest":t[r]=e[r]||null;break;case"other":t.other=Object.assign({},t.other,e.other);break;case"metadataBase":t.metadataBase=s;break;default:("viewport"===r||"themeColor"===r||"colorScheme"===r)&&null!=e[r]&&i.warnings.add(`Unsupported metadata ${r} is configured in metadata export in ${o.pathname}. Please move it to viewport export instead.
> 141 | Read more: https://nextjs.org/docs/app/api-reference/functions/generate-viewport`)}!function(e,t,r,n,o,i){var a,s;if(!r)return;let{icon:l,apple:u,openGraph:c,twitter:f,manifest:d}=r;if(l&&(i.icon=l),u&&(i.apple=u),f&&!(null==e?void 0:null==(a=e.twitter)?void 0:a.hasOwnProperty("images"))){let e=ts({...t.twitter,images:f},t.metadataBase,n,o.twitter);t.twitter=e}if(c&&!(null==e?void 0:null==(s=e.openGraph)?void 0:s.hasOwnProperty("images"))){let e=ti({...t.openGraph,images:c},t.metadataBase,n,o.openGraph);t.openGraph=e}d&&(t.manifest=d)}(e,t,r,o,n,a)})({target:n,source:v,metadataContext:t,staticFilesMetadata:y,titleTemplates:i,buildState:s,leafSegmentStaticIcons:l}),m<e.length-2&&(i={title:(null==(f=n.title)?void 0:f.template)||null,openGraph:(null==(d=n.openGraph)?void 0:d.title.template)||null,twitter:(null==(p=n.twitter)?void 0:p.title.template)||null})}if((l.icon.length>0||l.apple.length>0)&&!n.icons&&(n.icons={icon:[],apple:[]},l.icon.length>0&&n.icons.icon.unshift(...l.icon),l.apple.length>0&&n.icons.apple.unshift(...l.apple)),s.warnings.size>0)for(let e of s.warnings)te(e);return function(e,t,r,n){let{openGraph:o,twitter:i}=e;if(o){let t={},a=tL(i),s=null==i?void 0:i.description,l=!!((null==i?void 0:i.hasOwnProperty("images"))&&i.images);if(!a&&(tN(o.title)?t.title=o.title:e.title&&tN(e.title)&&(t.title=e.title)),s||(t.description=o.description||e.description||void 0),l||(t.images=o.images),Object.keys(t).length>0){let o=ts(t,e.metadataBase,n,r.twitter);e.twitter?e.twitter=Object.assign({},e.twitter,{...!a&&{title:null==o?void 0:o.title},...!s&&{description:null==o?void 0:o.description},...!l&&{images:null==o?void 0:o.images}}):e.twitter=o}}return tD(o,e),tD(i,e),t&&(e.icons||(e.icons={icon:[],apple:[]}),e.icons.icon.unshift(t)),e}(n,r,i,t)}async function tH(e){let t=eD(),r=[],n={resolvers:[],resolvingIndex:0};for(let o=0;o<e.length;o++){let i=await tF(e=>e[2],n,e,o,t,r);!function({target:e,source:t}){if(t)for(let r in t)switch(r){case"themeColor":e.themeColor=ty(t.themeColor);break;case"colorScheme":e.colorScheme=t.colorScheme||null;break;default:void 0!==t[r]&&(e[r]=t[r])}}({target:t,source:i})}return t}async function tB({tree:e,parentParams:t,metadataItems:r,errorMetadataItem:n,getDynamicParamFromSegment:o,searchParams:i,errorConvention:a,metadataContext:s,createDynamicallyTrackedParams:l}){let u;let c=await tM({tree:e,parentParams:t,metadataItems:r,errorMetadataItem:n,getDynamicParamFromSegment:o,searchParams:i,errorConvention:a,createDynamicallyTrackedParams:l}),f=eF(),d=eD();try{d=await tH(c),f=await tU(c,s)}catch(e){u=e}return[u,f,d]}function tq(e){return"object"==typeof e&&null!==e&&"digest"in e&&"NEXT_NOT_FOUND"===e.digest}let tz="DYNAMIC_SERVER_USAGE";class tW extends Error{constructor(e){super("Dynamic server usage: "+e),this.description=e,this.digest=tz}}function tV(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===tz}let tG="NEXT_STATIC_GEN_BAILOUT";class tJ extends Error{constructor(...e){super(...e),this.code=tG}}function tX(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===tG}let tY=require("next/dist/server/app-render/prerender-async-storage.external.js"),tK="function"==typeof w.unstable_postpone;function tQ(e){return{isDebugDynamicAccesses:e,dynamicAccesses:[]}}function tZ(e){var t;return null==(t=e.dynamicAccesses[0])?void 0:t.expression}function t0(e,t){return`Route ${e} needs to bail out of prerendering at this point because it used ${t}. 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`}if(!1===function(e){return e.includes("needs to bail out of prerendering at this point because it used")&&e.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}(t0("%%%","^^^")))throw Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js");let t1="NEXT_PRERENDER_INTERRUPTED";function t2(e){return"object"==typeof e&&null!==e&&e.digest===t1}function t6(e){return e.dynamicAccesses.length>0}function t4(){if(!tK)throw Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js")}function t3(e){t4();let t=new AbortController;try{w.unstable_postpone(e)}catch(e){t.abort(e)}return t.signal}function t8(e,t){return{pathname:e,trailingSlash:t.trailingSlash,isStandaloneMode:"standalone"===t.nextConfigOutput}}function t5(e,t,r){return{...t8(e,t),get pathname(){return r&&r.isStaticGeneration&&r.fallbackRouteParams&&r.fallbackRouteParams.size>0&&function(e,t){var r,n;let o=tY.prerenderAsyncStorage.getStore();o&&(r=o.dynamicTracking,n=e.route,t4(),r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:t}),w.unstable_postpone(t0(n,t)))}(r,"metadata relative url resolving"),e}}}function t9({tree:e,query:t,metadataContext:r,getDynamicParamFromSegment:n,appUsingSizeAdjustment:o,errorType:i,createDynamicallyTrackedSearchParams:a,createDynamicallyTrackedParams:s}){let l=null;return[async function(){let u=t7(e,t,n,r,a,s,i),c=u.then(([e])=>{if(e)throw c.status="rejected",c.value=e,e;c.status="fulfilled",c.value=void 0},e=>{throw c.status="rejected",c.value=e,e});c.status="pending",l=c,c.catch(()=>{});let[,f]=await u;return(0,S.jsxs)(S.Fragment,{children:[f.map((e,t)=>w.cloneElement(e,{key:t})),o?(0,S.jsx)("meta",{name:"next-size-adjust"}):null]})},function(){return Promise.resolve().then(()=>{if(l)return l;throw Error("getMetadataReady was called before MetadataTree rendered")})}]}async function t7(e,t,r,n,o,i,a){let s=[null,null,null],l=o(t),[u,c,f]=await tB({tree:e,parentParams:{},metadataItems:[],errorMetadataItem:s,searchParams:l,getDynamicParamFromSegment:r,errorConvention:"redirect"===a?void 0:a,metadataContext:n,createDynamicallyTrackedParams:i});if(!u)return[null,re(c,f)];if(!a&&tq(u)){let[t,o,a]=await tB({tree:e,parentParams:{},metadataItems:[],errorMetadataItem:s,searchParams:l,getDynamicParamFromSegment:r,errorConvention:"not-found",metadataContext:n,createDynamicallyTrackedParams:i});return[t||u,re(o,a)]}return[u,[]]}function re(e,t){return ex([function({viewport:e}){return ex([eC({name:"viewport",content:function(e){let t=null;if(e&&"object"==typeof e){for(let r in t="",eP)if(r in e){let n=e[r];"boolean"==typeof n&&(n=n?"yes":"no"),t&&(t+=", "),t+=`${eP[r]}=${n}`}}return t}(e)}),...e.themeColor?e.themeColor.map(e=>eC({name:"theme-color",content:e.color,media:e.media})):[],eC({name:"color-scheme",content:e.colorScheme})])}({viewport:t}),function({metadata:e}){var t,r,n;let o=e.manifest?function(e){let t;if("string"==typeof e)try{t=(e=new URL(e)).origin}catch{}return t}(e.manifest):void 0;return ex([(0,S.jsx)("meta",{charSet:"utf-8"}),null!==e.title&&e.title.absolute?(0,S.jsx)("title",{children:e.title.absolute}):null,eC({name:"description",content:e.description}),eC({name:"application-name",content:e.applicationName}),...e.authors?e.authors.map(e=>[e.url?(0,S.jsx)("link",{rel:"author",href:e.url.toString()}):null,eC({name:"author",content:e.name})]):[],e.manifest?(0,S.jsx)("link",{rel:"manifest",href:e.manifest.toString(),crossOrigin:o||"preview"!==process.env.VERCEL_ENV?void 0:"use-credentials"}):null,eC({name:"generator",content:e.generator}),eC({name:"keywords",content:null==(t=e.keywords)?void 0:t.join(",")}),eC({name:"referrer",content:e.referrer}),eC({name:"creator",content:e.creator}),eC({name:"publisher",content:e.publisher}),eC({name:"robots",content:null==(r=e.robots)?void 0:r.basic}),eC({name:"googlebot",content:null==(n=e.robots)?void 0:n.googleBot}),eC({name:"abstract",content:e.abstract}),...e.archives?e.archives.map(e=>(0,S.jsx)("link",{rel:"archives",href:e})):[],...e.assets?e.assets.map(e=>(0,S.jsx)("link",{rel:"assets",href:e})):[],...e.bookmarks?e.bookmarks.map(e=>(0,S.jsx)("link",{rel:"bookmarks",href:e})):[],eC({name:"category",content:e.category}),eC({name:"classification",content:e.classification}),...e.other?Object.entries(e.other).map(([e,t])=>Array.isArray(t)?t.map(t=>eC({name:e,content:t})):eC({name:e,content:t})):[]])}({metadata:e}),function({alternates:e}){if(!e)return null;let{canonical:t,languages:r,media:n,types:o}=e;return ex([t?eI({rel:"canonical",descriptor:t}):null,r?Object.entries(r).flatMap(([e,t])=>null==t?void 0:t.map(t=>eI({rel:"alternate",hrefLang:e,descriptor:t}))):null,n?Object.entries(n).flatMap(([e,t])=>null==t?void 0:t.map(t=>eI({rel:"alternate",media:e,descriptor:t}))):null,o?Object.entries(o).flatMap(([e,t])=>null==t?void 0:t.map(t=>eI({rel:"alternate",type:e,descriptor:t}))):null])}({alternates:e.alternates}),function({itunes:e}){if(!e)return null;let{appId:t,appArgument:r}=e,n=`app-id=${t}`;return r&&(n+=`, app-argument=${r}`),(0,S.jsx)("meta",{name:"apple-itunes-app",content:n})}({itunes:e.itunes}),function({facebook:e}){if(!e)return null;let{appId:t,admins:r}=e;return ex([t?(0,S.jsx)("meta",{property:"fb:app_id",content:t}):null,...r?r.map(e=>(0,S.jsx)("meta",{property:"fb:admins",content:e})):[]])}({facebook:e.facebook}),function({formatDetection:e}){if(!e)return null;let t="";for(let r of eO)r in e&&(t&&(t+=", "),t+=`${r}=no`);return(0,S.jsx)("meta",{name:"format-detection",content:t})}({formatDetection:e.formatDetection}),function({verification:e}){return e?ex([eT({namePrefix:"google-site-verification",contents:e.google}),eT({namePrefix:"y_key",contents:e.yahoo}),eT({namePrefix:"yandex-verification",contents:e.yandex}),eT({namePrefix:"me",contents:e.me}),...e.other?Object.entries(e.other).map(([e,t])=>eT({namePrefix:e,contents:t})):[]]):null}({verification:e.verification}),function({appleWebApp:e}){if(!e)return null;let{capable:t,title:r,startupImage:n,statusBarStyle:o}=e;return ex([t?eC({name:"apple-mobile-web-app-capable",content:"yes"}):null,eC({name:"apple-mobile-web-app-title",content:r}),n?n.map(e=>(0,S.jsx)("link",{href:e.url,media:e.media,rel:"apple-touch-startup-image"})):null,o?eC({name:"apple-mobile-web-app-status-bar-style",content:o}):null])}({appleWebApp:e.appleWebApp}),function({openGraph:e}){var t,r,n,o,i,a,s;let l;if(!e)return null;if("type"in e){let t=e.type;switch(t){case"website":l=[eC({property:"og:type",content:"website"})];break;case"article":l=[eC({property:"og:type",content:"article"}),eC({property:"article:published_time",content:null==(o=e.publishedTime)?void 0:o.toString()}),eC({property:"article:modified_time",content:null==(i=e.modifiedTime)?void 0:i.toString()}),eC({property:"article:expiration_time",content:null==(a=e.expirationTime)?void 0:a.toString()}),eT({propertyPrefix:"article:author",contents:e.authors}),eC({property:"article:section",content:e.section}),eT({propertyPrefix:"article:tag",contents:e.tags})];break;case"book":l=[eC({property:"og:type",content:"book"}),eC({property:"book:isbn",content:e.isbn}),eC({property:"book:release_date",content:e.releaseDate}),eT({propertyPrefix:"book:author",contents:e.authors}),eT({propertyPrefix:"book:tag",contents:e.tags})];break;case"profile":l=[eC({property:"og:type",content:"profile"}),eC({property:"profile:first_name",content:e.firstName}),eC({property:"profile:last_name",content:e.lastName}),eC({property:"profile:username",content:e.username}),eC({property:"profile:gender",content:e.gender})];break;case"music.song":l=[eC({property:"og:type",content:"music.song"}),eC({property:"music:duration",content:null==(s=e.duration)?void 0:s.toString()}),eT({propertyPrefix:"music:album",contents:e.albums}),eT({propertyPrefix:"music:musician",contents:e.musicians})];break;case"music.album":l=[eC({property:"og:type",content:"music.album"}),eT({propertyPrefix:"music:song",contents:e.songs}),eT({propertyPrefix:"music:musician",contents:e.musicians}),eC({property:"music:release_date",content:e.releaseDate})];break;case"music.playlist":l=[eC({property:"og:type",content:"music.playlist"}),eT({propertyPrefix:"music:song",contents:e.songs}),eT({propertyPrefix:"music:creator",contents:e.creators})];break;case"music.radio_station":l=[eC({property:"og:type",content:"music.radio_station"}),eT({propertyPrefix:"music:creator",contents:e.creators})];break;case"video.movie":l=[eC({property:"og:type",content:"video.movie"}),eT({propertyPrefix:"video:actor",contents:e.actors}),eT({propertyPrefix:"video:director",contents:e.directors}),eT({propertyPrefix:"video:writer",contents:e.writers}),eC({property:"video:duration",content:e.duration}),eC({property:"video:release_date",content:e.releaseDate}),eT({propertyPrefix:"video:tag",contents:e.tags})];break;case"video.episode":l=[eC({property:"og:type",content:"video.episode"}),eT({propertyPrefix:"video:actor",contents:e.actors}),eT({propertyPrefix:"video:director",contents:e.directors}),eT({propertyPrefix:"video:writer",contents:e.writers}),eC({property:"video:duration",content:e.duration}),eC({property:"video:release_date",content:e.releaseDate}),eT({propertyPrefix:"video:tag",contents:e.tags}),eC({property:"video:series",content:e.series})];break;case"video.tv_show":l=[eC({property:"og:type",content:"video.tv_show"})];break;case"video.other":l=[eC({property:"og:type",content:"video.other"})];break;default:throw Error(`Invalid OpenGraph type: ${t}`)}}return ex([eC({property:"og:determiner",content:e.determiner}),eC({property:"og:title",content:null==(t=e.title)?void 0:t.absolute}),eC({property:"og:description",content:e.description}),eC({property:"og:url",content:null==(r=e.url)?void 0:r.toString()}),eC({property:"og:site_name",content:e.siteName}),eC({property:"og:locale",content:e.locale}),eC({property:"og:country_name",content:e.countryName}),eC({property:"og:ttl",content:null==(n=e.ttl)?void 0:n.toString()}),eT({propertyPrefix:"og:image",contents:e.images}),eT({propertyPrefix:"og:video",contents:e.videos}),eT({propertyPrefix:"og:audio",contents:e.audio}),eT({propertyPrefix:"og:email",contents:e.emails}),eT({propertyPrefix:"og:phone_number",contents:e.phoneNumbers}),eT({propertyPrefix:"og:fax_number",contents:e.faxNumbers}),eT({propertyPrefix:"og:locale:alternate",contents:e.alternateLocale}),...l||[]])}({openGraph:e.openGraph}),function({twitter:e}){var t;if(!e)return null;let{card:r}=e;return ex([eC({name:"twitter:card",content:r}),eC({name:"twitter:site",content:e.site}),eC({name:"twitter:site:id",content:e.siteId}),eC({name:"twitter:creator",content:e.creator}),eC({name:"twitter:creator:id",content:e.creatorId}),eC({name:"twitter:title",content:null==(t=e.title)?void 0:t.absolute}),eC({name:"twitter:description",content:e.description}),eT({namePrefix:"twitter:image",contents:e.images}),..."player"===r?e.players.flatMap(e=>[eC({name:"twitter:player",content:e.playerUrl.toString()}),eC({name:"twitter:player:stream",content:e.streamUrl.toString()}),eC({name:"twitter:player:width",content:e.width}),eC({name:"twitter:player:height",content:e.height})]):[],..."app"===r?[eM({app:e.app,type:"iphone"}),eM({app:e.app,type:"ipad"}),eM({app:e.app,type:"googleplay"})]:[]])}({twitter:e.twitter}),function({appLinks:e}){return e?ex([eT({propertyPrefix:"al:ios",contents:e.ios}),eT({propertyPrefix:"al:iphone",contents:e.iphone}),eT({propertyPrefix:"al:ipad",contents:e.ipad}),eT({propertyPrefix:"al:android",contents:e.android}),eT({propertyPrefix:"al:windows_phone",contents:e.windows_phone}),eT({propertyPrefix:"al:windows",contents:e.windows}),eT({propertyPrefix:"al:windows_universal",contents:e.windows_universal}),eT({propertyPrefix:"al:web",contents:e.web})]):null}({appLinks:e.appLinks}),function({icons:e}){if(!e)return null;let t=e.shortcut,r=e.icon,n=e.apple,o=e.other;return ex([t?t.map(e=>eL({rel:"shortcut icon",icon:e})):null,r?r.map(e=>eL({rel:"icon",icon:e})):null,n?n.map(e=>eL({rel:"apple-touch-icon",icon:e})):null,o?o.map(e=>eN({icon:e})):null])}({icons:e.icons})])}var rt=r("./dist/esm/server/web/spec-extension/adapters/headers.js"),rr=r("./dist/esm/server/web/spec-extension/adapters/reflect.js"),rn=r("../../../client/components/static-generation-async-storage.external");class ro extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#cookiessetname-value-options")}static callable(){throw new ro}}class ri{static seal(e){return new Proxy(e,{get(e,t,r){switch(t){case"clear":case"delete":case"set":return ro.callable;default:return rr.g.get(e,t,r)}}})}}let ra=Symbol.for("next.mutated.cookies");function rs(e){let t=e[ra];return t&&Array.isArray(t)&&0!==t.length?t:[]}function rl(e,t){let r=rs(t);if(0===r.length)return!1;let n=new ea.ResponseCookies(e),o=n.getAll();for(let e of r)n.set(e);for(let e of o)n.set(e);return!0}class ru{static wrap(e,t){let r=new ea.ResponseCookies(new Headers);for(let t of e.getAll())r.set(t);let n=[],o=new Set,i=()=>{let e=rn.staticGenerationAsyncStorage.getStore();if(e&&(e.pathWasRevalidated=!0),n=r.getAll().filter(e=>o.has(e.name)),t){let e=[];for(let t of n){let r=new ea.ResponseCookies(new Headers);r.set(t),e.push(r.toString())}t(e)}};return new Proxy(r,{get(e,t,r){switch(t){case ra:return n;case"delete":return function(...t){o.add("string"==typeof t[0]?t[0]:t[0].name);try{e.delete(...t)}finally{i()}};case"set":return function(...t){o.add("string"==typeof t[0]?t[0]:t[0].name);try{return e.set(...t)}finally{i()}};default:return rr.g.get(e,t,r)}}})}}var rc=r("./dist/esm/server/api-utils/index.js");class rf{constructor(e,t,r,n){var o;let i=e&&(0,rc.checkIsOnDemandRevalidate)(t,e).isOnDemandRevalidate,a=null==(o=r.get(rc.COOKIE_NAME_PRERENDER_BYPASS))?void 0:o.value;this.isEnabled=!!(!i&&a&&e&&a===e.previewModeId),this._previewModeId=null==e?void 0:e.previewModeId,this._mutableCookies=n}enable(){if(!this._previewModeId)throw Error("Invariant: previewProps missing previewModeId this should never happen");this._mutableCookies.set({name:rc.COOKIE_NAME_PRERENDER_BYPASS,value:this._previewModeId,httpOnly:!0,sameSite:"none",secure:!0,path:"/"})}disable(){this._mutableCookies.set({name:rc.COOKIE_NAME_PRERENDER_BYPASS,value:"",httpOnly:!0,sameSite:"none",secure:!0,path:"/",expires:new Date(0)})}}var rd=r("./dist/compiled/p-queue/index.js"),rp=r.n(rd);let rh=require("next/dist/client/components/request-async-storage.external.js");class rm extends Error{constructor(e,t){super("Invariant: "+(e.endsWith(".")?e:e+".")+" This is a bug in Next.js.",t),this.name="InvariantError"}}function ry(e){return null!==e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then}class rv{constructor({waitUntil:e,onClose:t}){this.waitUntil=e,this.onClose=t,this.callbackQueue=new(rp()),this.callbackQueue.pause()}run(e,t){return this.requestStore=e,t()}after(e){if(ry(e))e.catch(()=>{}),this.waitUntil||rg(),this.waitUntil(e);else if("function"==typeof e)this.addCallback(e);else throw Error("`unstable_after()`: Argument must be a promise or a function")}addCallback(e){if(this.waitUntil||rg(),!this.requestStore)throw new rm("unstable_after: Expected `AfterContext.requestStore` to be initialized");if(!this.onClose)throw new rm("unstable_after: Missing `onClose` implementation");this.runCallbacksOnClosePromise||(this.runCallbacksOnClosePromise=this.runCallbacksOnClose(),this.waitUntil(this.runCallbacksOnClosePromise));let t=async()=>{try{await e()}catch(e){console.error("An error occurred in a function passed to `unstable_after()`:",e)}};this.callbackQueue.add(t)}async runCallbacksOnClose(){return await new Promise(e=>this.onClose(e)),this.runCallbacks(this.requestStore)}async runCallbacks(e){if(0===this.callbackQueue.size)return;let t={url:e.url,get headers(){return e.headers},get cookies(){return e.cookies},get draftMode(){return e.draftMode},mutableCookies:new ea.ResponseCookies(new Headers),assetPrefix:e.assetPrefix,reactLoadableManifest:e.reactLoadableManifest,afterContext:e.afterContext,isHmrRefresh:e.isHmrRefresh,serverComponentsHmrCache:e.serverComponentsHmrCache};return rh.requestAsyncStorage.run(t,()=>(this.callbackQueue.start(),this.callbackQueue.onIdle()))}}function rg(){throw Error("`unstable_after()` will not work correctly, because `waitUntil` is not available in the current environment.")}function rb(e,t){if("x-middleware-set-cookie"in e.headers&&"string"==typeof e.headers["x-middleware-set-cookie"]){let r=e.headers["x-middleware-set-cookie"],n=new Headers;for(let e of function(e){var t,r,n,o,i,a=[],s=0;function l(){for(;s<e.length&&/\s/.test(e.charAt(s));)s+=1;return s<e.length}for(;s<e.length;){for(t=s,i=!1;l();)if(","===(r=e.charAt(s))){for(n=s,s+=1,l(),o=s;s<e.length&&"="!==(r=e.charAt(s))&&";"!==r&&","!==r;)s+=1;s<e.length&&"="===e.charAt(s)?(i=!0,s=o,a.push(e.substring(t,n)),t=s):s=n+1}else s+=1;(!i||s>=e.length)&&a.push(e.substring(t,e.length))}return a}(r))n.append("set-cookie",e);for(let e of new ea.ResponseCookies(n).getAll())t.set(e)}}let rS=(e,{req:t,url:r,res:n,renderOpts:o,isHmrRefresh:i,serverComponentsHmrCache:a},s)=>{function l(e){n&&n.setHeader("Set-Cookie",e)}let u={},c={url:{pathname:r.pathname,search:r.search??""},get headers(){return u.headers||(u.headers=function(e){let t=rt.h.from(e);for(let e of ew)t.delete(e.toLowerCase());return rt.h.seal(t)}(t.headers)),u.headers},get cookies(){if(!u.cookies){let e=new ea.RequestCookies(rt.h.from(t.headers));rb(t,e),u.cookies=ri.seal(e)}return u.cookies},get mutableCookies(){if(!u.mutableCookies){let e=function(e,t){let r=new ea.RequestCookies(rt.h.from(e));return ru.wrap(r,t)}(t.headers,(null==o?void 0:o.onUpdateCookies)||(n?l:void 0));rb(t,e),u.mutableCookies=e}return u.mutableCookies},get draftMode(){return u.draftMode||(u.draftMode=new rf(null==o?void 0:o.previewProps,t,this.cookies,this.mutableCookies)),u.draftMode},reactLoadableManifest:(null==o?void 0:o.reactLoadableManifest)||{},assetPrefix:(null==o?void 0:o.assetPrefix)||"",afterContext:function(e){var t;if(!(null==e?void 0:null==(t=e.experimental)?void 0:t.after))return;let{waitUntil:r,onClose:n}=e;return new rv({waitUntil:r,onClose:n})}(o),isHmrRefresh:i,serverComponentsHmrCache:a||globalThis.__serverComponentsHmrCache};return c.afterContext?c.afterContext.run(c,()=>e.run(c,s,c)):e.run(c,s,c)};function rw(e){var t;return(t=e.split("/").reduce((e,t,r,n)=>!t||tu(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,"")).startsWith("/")?t:"/"+t}let r_=(e,{page:t,fallbackRouteParams:r,renderOpts:n,requestEndedState:o},i)=>{let a={isStaticGeneration:!n.supportsDynamicResponse&&!n.isDraftMode&&!n.isServerAction,page:t,fallbackRouteParams:r,route:rw(t),incrementalCache:n.incrementalCache||globalThis.__incrementalCache,isRevalidate:n.isRevalidate,isPrerendering:n.nextExport,fetchCache:n.fetchCache,isOnDemandRevalidate:n.isOnDemandRevalidate,isDraftMode:n.isDraftMode,requestEndedState:o};return n.store=a,e.run(a,i,a)};function rk(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,n]=t,o=t.slice(2,-2).join(";"),a=Number(t.at(-2));return"NEXT_REDIRECT"===r&&("replace"===n||"push"===n)&&"string"==typeof o&&!isNaN(a)&&a in i}function rC(e){return rk(e)?e.digest.split(";").slice(2,-2).join(";"):null}function rx(e){if(!rk(e))throw Error("Not a redirect error");return e.digest.split(";",2)[1]}function rR(e){if(!rk(e))throw Error("Not a redirect error");return Number(e.digest.split(";").at(-2))}require("next/dist/client/components/action-async-storage.external.js"),function(e){e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect"}(i||(i={})),function(e){e.push="push",e.replace="replace"}(a||(a={})),function(e){e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE",e.PAGES="PAGES",e.FETCH="FETCH",e.REDIRECT="REDIRECT",e.IMAGE="IMAGE"}(s||(s={})),function(e){e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE",e.PAGES="PAGES",e.FETCH="FETCH",e.IMAGE="IMAGE"}(l||(l={})),function(e){e.PAGES="PAGES",e.PAGES_API="PAGES_API",e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE",e.IMAGE="IMAGE"}(u||(u={})),Symbol.for("next-patch");let rE=e=>{let t=["/layout"];if(e.startsWith("/")){let r=e.split("/");for(let e=1;e<r.length+1;e++){let n=r.slice(0,e).join("/");n&&(n.endsWith("/page")||n.endsWith("/route")||(n=`${n}${n.endsWith("/")?"":"/"}layout`),t.push(n))}}return t};function rT(e,t){var r,n;let o=[],{page:i,fallbackRouteParams:a}=e,s=a&&a.size>0;for(let t of(e.tags??=[],rE(i)))t=`${J.zt}${t}`,(null==(r=e.tags)?void 0:r.includes(t))||e.tags.push(t),o.push(t);if((null==t?void 0:t.url.pathname)&&!s){let r=`${J.zt}${t.url.pathname}`;(null==(n=e.tags)?void 0:n.includes(r))||e.tags.push(r),o.push(r)}return o}class rP extends em{constructor(e,t={}){super(e,{contentType:eS,metadata:t})}}var rA=r("./dist/compiled/string-hash/index.js"),r$=r.n(rA);let rj=["useDeferredValue","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useReducer","useRef","useState","useSyncExternalStore","useTransition","experimental_useOptimistic","useOptimistic"];function rO(e,t){if(e.message=t,e.stack){let r=e.stack.split("\n");r[0]=t,e.stack=r.join("\n")}}function rI(e){let t=e.stack;return t?t.replace(/^[^\n]*\n/,""):""}function rM(e){if("string"==typeof(null==e?void 0:e.message)){if(e.message.includes("Class extends value undefined is not a constructor or null")){let t="This might be caused by a React Class Component being rendered in a Server Component, React Class Components only works in Client Components. Read more: https://nextjs.org/docs/messages/class-component-in-server-component";if(e.message.includes(t))return;rO(e,`${e.message}
      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ^
  142 |
  143 | ${t}`);return}if(e.message.includes("createContext is not a function")){rO(e,'createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/context-in-server-component');return}for(let t of rj)if(RegExp(`\\b${t}\\b.*is not a function`).test(e.message)){rO(e,`${t} only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component`);return}}}var rN=r("./dist/esm/shared/lib/lazy-dynamic/bailout-to-csr.js");function rL(e){return rk(e)||tq(e)}function rD(e,t,r,n,o){return(i,a)=>{var s;if(i.digest||(i.digest=r$()(i.message+((null==a?void 0:a.stack)||i.stack||"")).toString()),!ep(i)){if((0,rN.D)(i)||rL(i)||(r.has(i.digest)||r.set(i.digest,i),tV(i)))return i.digest;if(e&&rM(i),!(t&&(null==i?void 0:null==(s=i.message)?void 0:s.includes("The specific message is omitted in production builds to avoid leaking sensitive details.")))){let e=(0,_.getTracer)().getActiveScopeSpan();e&&(e.recordException(i),e.setStatus({code:_.SpanStatusCode.ERROR,message:i.message})),n||null==o||o(i)}return i.digest}}}function rF(e,t,r,n,o,i){return(a,s)=>{var l;let u=!0;if(a.digest?r.has(a.digest)&&(a=r.get(a.digest),u=!1):a.digest=r$()(a.message+((null==s?void 0:s.stack)||a.stack||"")).toString(),n.push(a),!ep(a)){if((0,rN.D)(a)||rL(a)||tV(a))return a.digest;if(e&&rM(a),!(t&&(null==a?void 0:null==(l=a.message)?void 0:l.includes("The specific message is omitted in production builds to avoid leaking sensitive details.")))){let e=(0,_.getTracer)().getActiveScopeSpan();e&&(e.recordException(a),e.setStatus({code:_.SpanStatusCode.ERROR,message:a.message})),!o&&u&&i(a)}return a.digest}}}let rU={catchall:"c","catchall-intercepted":"ci","optional-catchall":"oc",dynamic:"d","dynamic-intercepted":"di"},rH=["(..)(..)","(.)","(..)","(...)"];function rB(e){let t=rH.find(t=>e.startsWith(t));return(t&&(e=e.slice(t.length)),e.startsWith("[[...")&&e.endsWith("]]"))?{type:"optional-catchall",param:e.slice(5,-2)}:e.startsWith("[...")&&e.endsWith("]")?{type:t?"catchall-intercepted":"catchall",param:e.slice(4,-1)}:e.startsWith("[")&&e.endsWith("]")?{type:t?"dynamic-intercepted":"dynamic",param:e.slice(1,-1)}:null}let rq={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},rz=/[&><\u2028\u2029]/g;function rW(e){return e.replace(rz,e=>rq[e])}var rV=r("./dist/compiled/superstruct/index.cjs"),rG=r.n(rV);let rJ=rG().enums(["c","ci","oc","d","di"]),rX=rG().union([rG().string(),rG().tuple([rG().string(),rG().string(),rJ])]),rY=rG().tuple([rX,rG().record(rG().string(),rG().lazy(()=>rY)),rG().optional(rG().nullable(rG().string())),rG().optional(rG().nullable(rG().union([rG().literal("refetch"),rG().literal("refresh")]))),rG().optional(rG().boolean())]);function rK([e,t,{layout:r}],n,o,i=!1){let a=n(e),s=[tc(a?a.treeSegment:e,o),{}];return i||void 0===r||(i=!0,s[4]=!0),s[1]=Object.keys(t).reduce((e,r)=>(e[r]=rK(t[r],n,o,i),e),{}),s}let rQ=["accept-encoding","keepalive","keep-alive","content-encoding","transfer-encoding","connection","expect","content-length","set-cookie"],rZ=(e,t)=>{for(let[r,n]of(e["content-length"]&&"0"===e["content-length"]&&delete e["content-length"],Object.entries(e)))(t.includes(r)||!(Array.isArray(n)||"string"==typeof n))&&delete e[r];return e};function r0(e){let t,r;e.headers instanceof Headers?(t=e.headers.get(ey.toLowerCase())??null,r=e.headers.get("content-type")):(t=e.headers[ey.toLowerCase()]??null,r=e.headers["content-type"]??null);let n=!!("POST"===e.method&&"application/x-www-form-urlencoded"===r),o=!!("POST"===e.method&&(null==r?void 0:r.startsWith("multipart/form-data"))),i=!!(void 0!==t&&"string"==typeof t&&"POST"===e.method);return{actionId:t,isURLEncodedAction:n,isMultipartAction:o,isFetchAction:i,isServerAction:!!(i||n||o)}}let r1=(e,t=[])=>t.some(t=>t&&(t===e||function(e,t){let r=e.split("."),n=t.split(".");if(n.length<1||r.length<n.length)return!1;let o=0;for(;n.length&&o++<2;){let e=n.pop(),t=r.pop();switch(e){case"":case"*":case"**":return!1;default:if(t!==e)return!1}}for(;n.length;){let e=n.pop(),t=r.pop();switch(e){case"":return!1;case"*":if(t)continue;return!1;case"**":if(n.length>0)return!1;return void 0!==t;default:if(t!==e)return!1}}return 0===r.length}(e,t)));function r2(e){return Z(e,"app")?e:"app"+e}let r6=e=>!0;function r4(e){let t={};for(let[r,n]of Object.entries(e))void 0!==n&&(t[r]=Array.isArray(n)?n.join(", "):`${n}`);return t}function r3(e,t){let r=e.headers,n=new ea.RequestCookies(rt.h.from(r)),o=t.getHeaders(),i=new ea.ResponseCookies(function(e){let t=new Headers;for(let[r,n]of Object.entries(e))for(let e of Array.isArray(n)?n:[n])void 0!==e&&("number"==typeof e&&(e=e.toString()),t.append(r,e));return t}(o)),a=rZ({...r4(r),...r4(o)},rQ);return i.getAll().forEach(e=>{void 0===e.value?n.delete(e.name):n.set(e)}),a.cookie=n.toString(),delete a["transfer-encoding"],new Headers(a)}async function r8(e,{staticGenerationStore:t,requestStore:r}){var n,o;await Promise.all([null==(n=t.incrementalCache)?void 0:n.revalidateTag(t.revalidatedTags||[]),...Object.values(t.pendingRevalidates||{})]);let i=(null==(o=t.revalidatedTags)?void 0:o.length)?1:0,a=rs(r.mutableCookies).length?1:0;e.setHeader("x-action-revalidated",JSON.stringify([[],i,a]))}async function r5(e,t,r,n,o,i){var a,s,l;if(!r)throw Error("Invariant: Missing `host` header from a forwarded Server Actions request.");let u=r3(e,t);u.set("x-action-forwarded","1");let c=(null==(a=i.incrementalCache)?void 0:a.requestProtocol)||"https",f=process.env.__NEXT_PRIVATE_ORIGIN||`${c}://${r.value}`,d=new URL(`${f}${o}${n}`);try{let r;if(r6(e))r=e.stream();else throw Error("Invariant: Unknown request type.");let n=await fetch(d,{method:"POST",body:r,duplex:"half",headers:u,redirect:"manual",next:{internal:1}});if(null==(s=n.headers.get("content-type"))?void 0:s.startsWith(eS)){for(let[e,r]of n.headers)rQ.includes(e)||t.setHeader(e,r);return new rP(n.body)}null==(l=n.body)||l.cancel()}catch(e){console.error("failed to forward action response",e)}return em.fromStatic("{}")}async function r9(e,t,r,n,o,i,a){t.setHeader("x-action-redirect",`${n};${o}`);let s=function(e,t,r){if(r.startsWith("/")||r.startsWith("./"))return new URL(`${e}${r}`,"http://n");let n=new URL(r);return(null==t?void 0:t.value)!==n.host?null:n.pathname.startsWith(e)?n:null}(i,r,n);if(s){var l,u,c,f,d,p;if(!r)throw Error("Invariant: Missing `host` header from a forwarded Server Actions request.");let n=r3(e,t);n.set("RSC","1");let o=(null==(l=a.incrementalCache)?void 0:l.requestProtocol)||"https",i=process.env.__NEXT_PRIVATE_ORIGIN||`${o}://${r.value}`,h=new URL(`${i}${s.pathname}${s.search}`);a.revalidatedTags&&(n.set(J.of,a.revalidatedTags.join(",")),n.set(J.X_,(null==(f=a.incrementalCache)?void 0:null==(c=f.prerenderManifest)?void 0:null==(u=c.preview)?void 0:u.previewModeId)||"")),n.delete(ev),n.delete(ey);try{let e=await fetch(h,{method:"GET",headers:n,next:{internal:1}});if(null==(d=e.headers.get("content-type"))?void 0:d.startsWith(eS)){for(let[r,n]of e.headers)rQ.includes(r)||t.setHeader(r,n);return new rP(e.body)}null==(p=e.body)||p.cancel()}catch(e){console.error("failed to get redirect response",e)}}return em.fromStatic("{}")}function r7(e){return e.length>100?e.slice(0,100)+"...":e}async function ne({req:e,res:t,ComponentMod:n,serverModuleMap:o,generateFlight:i,staticGenerationStore:a,requestStore:s,serverActions:l,ctx:u}){var c,f;let d,p,h,m;let y=e.headers["content-type"],{serverActionsManifest:v,page:g}=u.renderOpts,{actionId:b,isURLEncodedAction:S,isMultipartAction:w,isFetchAction:_,isServerAction:k}=r0(e);if(!k)return;if(a.isStaticGeneration)throw Error("Invariant: server actions can't be handled during static rendering");a.fetchCache="default-no-store";let C="string"==typeof e.headers.origin?new URL(e.headers.origin).host:void 0,x=e.headers["x-forwarded-host"],R=e.headers.host,E=x?{type:"x-forwarded-host",value:x}:R?{type:"host",value:R}:void 0;if(C){if(!E||C!==E.value){if(r1(C,null==l?void 0:l.allowedOrigins));else{E?console.error(`\`${E.type}\` header with value \`${r7(E.value)}\` does not match \`origin\` header with value \`${r7(C)}\` from a forwarded Server Actions request. Aborting the action.`):console.error("`x-forwarded-host` or `host` headers are not provided. One of these is needed to compare the `origin` header from a forwarded Server Actions request. Aborting the action.");let r=Error("Invalid Server Actions request.");if(_){t.statusCode=500,await Promise.all([null==(c=a.incrementalCache)?void 0:c.revalidateTag(a.revalidatedTags||[]),...Object.values(a.pendingRevalidates||{})]);let n=Promise.reject(r);try{await n}catch{}return{type:"done",result:await i(e,u,{actionResult:n,skipFlight:!a.pathWasRevalidated})}}throw r}}}else m="Missing `origin` header from a forwarded Server Actions request.";t.setHeader("Cache-Control","no-cache, no-store, max-age=0, must-revalidate");let T=[],{actionAsyncStorage:P}=n,A=!!e.headers["x-action-forwarded"];if(b){let r=function(e,t,r){var n;let o=null==(n=r.node[e])?void 0:n.workers,i=r2(t);if(o){if(o[i])return;return rw(et(Object.keys(o)[0],"app"))}}(b,g,v);if(r)return{type:"done",result:await r5(e,t,E,r,u.renderOpts.basePath,a)}}try{return await P.run({isAction:!0},async()=>{if(r6(e)){let{decodeReply:t,decodeReplyFromBusboy:n,decodeAction:i,decodeFormState:a}=r("(react-server)/./dist/esm/server/app-render/react-server.node.js"),{Transform:s}=r("node:stream"),u="1 MB",c=(null==l?void 0:l.bodySizeLimit)??u,f=c!==u?r("./dist/compiled/bytes/index.js").parse(c):1048576,d=0,v=e.body.pipe(new s({transform(e,t,n){if((d+=Buffer.byteLength(e,t))>f){let{ApiError:e}=r("./dist/esm/server/api-utils/index.js");n(new e(413,`Body exceeded ${c} limit.
  144 |                 To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit`));return}n(null,e)}}));if(w){if(_){let t=r("../../node_modules/.pnpm/busboy@1.6.0/node_modules/busboy/lib/index.js")({headers:e.headers,limits:{fieldSize:f}});v.pipe(t),T=await n(t,o)}else{let e=new Request("http://localhost",{method:"POST",headers:{"Content-Type":y},body:new ReadableStream({start:e=>{v.on("data",t=>{e.enqueue(new Uint8Array(t))}),v.on("end",()=>{e.close()}),v.on("error",t=>{e.error(t)})}}),duplex:"half"}),t=await e.formData(),r=await i(t,o);if("function"==typeof r){m&&te(m);let e=await r();p=await a(e,t)}return}}else{try{h=nt(b,o)}catch(e){return null!==b&&console.error(e),{type:"not-found"}}let r=[];for await(let t of e.body)r.push(Buffer.from(t));let n=Buffer.concat(r).toString("utf-8");if(S){let e=function(e){let t=new URLSearchParams(e),r=new FormData;for(let[e,n]of t)r.append(e,n);return r}(n);T=await t(e,o)}else T=await t(n,o)}}else throw Error("Invariant: Unknown request type.");try{h=h??nt(b,o)}catch(e){return null!==b&&console.error(e),{type:"not-found"}}let c=(await n.__next_app__.require(h))[b],f=await c.apply(null,T);_&&(await r8(t,{staticGenerationStore:a,requestStore:s}),d=await i(e,u,{actionResult:Promise.resolve(f),skipFlight:!a.pathWasRevalidated||A}))}),{type:"done",result:d,formState:p}}catch(r){if(rk(r)){let n=rC(r),o=rR(r),i=rx(r);if(await r8(t,{staticGenerationStore:a,requestStore:s}),t.statusCode=o,_)return{type:"done",result:await r9(e,t,E,n,i,u.renderOpts.basePath,a)};if(r.mutableCookies){let e=new Headers;rl(e,r.mutableCookies)&&t.setHeader("set-cookie",Array.from(e.values()))}return t.setHeader("Location",n),{type:"done",result:em.fromStatic("")}}if(tq(r)){if(t.statusCode=404,await r8(t,{staticGenerationStore:a,requestStore:s}),_){let t=Promise.reject(r);try{await t}catch{}return{type:"done",result:await i(e,u,{skipFlight:!1,actionResult:t})}}return{type:"not-found"}}if(_){t.statusCode=500,await Promise.all([null==(f=a.incrementalCache)?void 0:f.revalidateTag(a.revalidatedTags||[]),...Object.values(a.pendingRevalidates||{})]);let n=Promise.reject(r);try{await n}catch{}return{type:"done",result:await i(e,u,{actionResult:n,skipFlight:!a.pathWasRevalidated||A})}}throw r}}function nt(e,t){try{var r;if(!e)throw Error("Invariant: Missing 'next-action' header.");let n=null==t?void 0:null==(r=t[e])?void 0:r.id;if(!n)throw Error("Invariant: Couldn't find action module ID from module map.");return n}catch(t){throw Error(`Failed to find Server Action "${e}". This request might be from an older or newer deployment. ${t instanceof Error?`Original error: ${t.message}`:""}`)}}let nr=w.createContext(null);function nn(e){let t=(0,w.useContext)(nr);t&&t(e)}function no(){let e=[],t=t=>{e.push(t)};return{ServerInsertedHTMLProvider:({children:e})=>(0,S.jsx)(nr.Provider,{value:t,children:e}),renderServerInsertedHTML:()=>e.map((e,t)=>(0,S.jsx)(w.Fragment,{children:e()},"__next_server_inserted__"+t))}}function ni(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}var na=r("./dist/compiled/react-dom/index.js");function ns(e,t,r,n,o,i,a){var s;let l;let u=[],c={src:"",crossOrigin:r},f=((null==(s=e.rootMainFilesTree)?void 0:s[a])||e.rootMainFiles).map(ni);if(0===f.length)throw Error("Invariant: missing bootstrap script. This is a bug in Next.js");if(n){c.src=`${t}/_next/`+f[0]+o,c.integrity=n[f[0]];for(let e=1;e<f.length;e++){let r=`${t}/_next/`+f[e]+o,i=n[f[e]];u.push(r,i)}l=()=>{for(let e=0;e<u.length;e+=2)na.preinit(u[e],{as:"script",integrity:u[e+1],crossOrigin:r,nonce:i})}}else{c.src=`${t}/_next/`+f[0]+o;for(let e=1;e<f.length;e++){let r=`${t}/_next/`+f[e]+o;u.push(r)}l=()=>{for(let e=0;e<u.length;e++)na.preinit(u[e],{as:"script",nonce:i,crossOrigin:r})}}return[l,c]}var nl=r("./dist/build/webpack/alias/react-dom-server-edge.js");function nu({polyfills:e,renderServerInsertedHTML:t,serverCapturedErrors:r,tracingMetadata:n,basePath:o}){let a=0,s=!1,l=e.map(e=>(0,S.jsx)("script",{...e},e.src));return async function(){let e=[];for(;a<r.length;){let t=r[a];if(a++,tq(t))e.push((0,S.jsx)("meta",{name:"robots",content:"noindex"},t.digest),null);else if(rk(t)){let r=K(rC(t),o),n=rR(t)===i.PermanentRedirect;r&&e.push((0,S.jsx)("meta",{id:"__next-page-redirect",httpEquiv:"refresh",content:`${n?0:1};url=${r}`},t.digest))}}let u=(n||[]).map(({key:e,value:t},r)=>(0,S.jsx)("meta",{name:e,content:t},`next-trace-data-${r}`)),c=t();if(0===l.length&&0===u.length&&0===e.length&&Array.isArray(c)&&0===c.length)return"";let f=await (0,nl.renderToReadableStream)((0,S.jsxs)(S.Fragment,{children:[s?null:l,c,s?null:u,e]}),{progressiveChunkSize:1048576});return s=!0,L(f)}}let nc=(e,t)=>"string"==typeof e?"string"==typeof t&&e===t:"string"!=typeof t&&e[0]===t[0]&&e[1]===t[1],nf=(e,t)=>{var r;return!Array.isArray(e)&&!!Array.isArray(t)&&(null==(r=rB(e))?void 0:r.param)===t[0]};function nd(e,t,r,n,o){var i;let a=t.replace(/\.[^.]+$/,""),s=new Set,l=new Set,u=e.entryCSSFiles[a],c=(null==(i=e.entryJSFiles)?void 0:i[a])??[];if(u)for(let e of u)r.has(e)||(o&&r.add(e),s.add(e));if(c)for(let e of c)n.has(e)||(o&&n.add(e),l.add(e));return{styles:[...s],scripts:[...l]}}function np(e,t,r){if(!e||!t)return null;let n=t.replace(/\.[^.]+$/,""),o=new Set,i=!1,a=e.app[n];if(a)for(let e of(i=!0,a))r.has(e)||(o.add(e),r.add(e));return o.size?[...o].sort():i&&0===r.size?[]:null}function nh(e){let[,t,{loading:r}]=e;return!!r||Object.values(t).some(e=>nh(e))}function nm(e){return e.default||e}function ny(e,t){let r="";return e.renderOpts.deploymentId&&(r+=`?dpl=${e.renderOpts.deploymentId}`),r}async function nv({filePath:e,getComponent:t,injectedCSS:r,injectedJS:n,ctx:o}){let{styles:i,scripts:a}=nd(o.clientReferenceManifest,e,r,n),s=i?i.map((e,t)=>{let r=`${o.assetPrefix}/_next/${ni(e)}${ny(o,!0)}`;return(0,S.jsx)("link",{rel:"stylesheet",href:r,precedence:"next",crossOrigin:o.renderOpts.crossOrigin},t)}):null,l=a?a.map(e=>(0,S.jsx)("script",{src:`${o.assetPrefix}/_next/${ni(e)}${ny(o,!0)}`,async:!0})):null;return[nm(await t()),s,l]}function ng(e){return(0,_.getTracer)().trace(k.Xy.createComponentTree,{spanName:"build component tree"},()=>nb(e))}async function nb({createSegmentPath:e,loaderTree:t,parentParams:r,firstItem:n,rootLayoutIncluded:o,injectedCSS:i,injectedJS:a,injectedFontPreloadTags:s,getMetadataReady:l,ctx:u,missingSlots:c,preloadCallbacks:f}){let{renderOpts:{nextConfigOutput:d,experimental:p},staticGenerationStore:h,componentMod:{NotFoundBoundary:m,LayoutRouter:y,RenderFromTemplateContext:v,ClientPageRoot:g,ClientSegmentRoot:b,createUntrackedSearchParams:C,createDynamicallyTrackedSearchParams:x,createDynamicallyTrackedParams:R,serverHooks:{DynamicServerError:E},Postpone:T},pagePath:P,getDynamicParamFromSegment:A,isPrefetch:$,query:j}=u,{page:O,layoutOrPagePath:I,segment:M,modules:N,parallelRoutes:L}=function(e){let[t,r,n]=e,{layout:o}=n,{page:i}=n;i=t===td?n.defaultPage:i;let a=(null==o?void 0:o[1])||(null==i?void 0:i[1]);return{page:i,segment:t,modules:n,layoutOrPagePath:a,parallelRoutes:r}}(t),{layout:D,template:F,error:U,loading:H,"not-found":B}=N,q=new Set(i),z=new Set(a),W=new Set(s),V=function({ctx:e,layoutOrPagePath:t,injectedCSS:r,injectedJS:n,injectedFontPreloadTags:o,preloadCallbacks:i}){let{styles:a,scripts:s}=t?nd(e.clientReferenceManifest,t,r,n,!0):{styles:[],scripts:[]},l=t?np(e.renderOpts.nextFontManifest,t,o):null;if(l){if(l.length)for(let t=0;t<l.length;t++){let r=l[t],n=/\.(woff|woff2|eot|ttf|otf)$/.exec(r)[1],o=`font/${n}`,a=`${e.assetPrefix}/_next/${ni(r)}`;i.push(()=>{e.componentMod.preloadFont(a,o,e.renderOpts.crossOrigin,e.nonce)})}else try{let t=new URL(e.assetPrefix);i.push(()=>{e.componentMod.preconnect(t.origin,"anonymous",e.nonce)})}catch(t){i.push(()=>{e.componentMod.preconnect("/","anonymous",e.nonce)})}}let u=a?a.map((t,r)=>{let n=`${e.assetPrefix}/_next/${ni(t)}${ny(e,!0)}`;return i.push(()=>{e.componentMod.preloadStyle(n,e.renderOpts.crossOrigin,e.nonce)}),(0,S.jsx)("link",{rel:"stylesheet",href:n,precedence:"next",crossOrigin:e.renderOpts.crossOrigin,nonce:e.nonce},r)}):[],c=s?s.map((t,r)=>{let n=`${e.assetPrefix}/_next/${ni(t)}${ny(e,!0)}`;return(0,S.jsx)("script",{src:n,async:!0,nonce:e.nonce},`script-${r}`)}):[];return u.length||c.length?[...u,...c]:null}({preloadCallbacks:f,ctx:u,layoutOrPagePath:I,injectedCSS:q,injectedJS:z,injectedFontPreloadTags:W}),[G,J,X]=F?await nv({ctx:u,filePath:F[1],getComponent:F[0],injectedCSS:q,injectedJS:z}):[w.Fragment],[Y,K,Q]=U?await nv({ctx:u,filePath:U[1],getComponent:U[0],injectedCSS:q,injectedJS:z}):[],[Z,ee,et]=H?await nv({ctx:u,filePath:H[1],getComponent:H[0],injectedCSS:q,injectedJS:z}):[],er=void 0!==D,en=void 0!==O,[eo]=await (0,_.getTracer)().trace(k.Xy.getLayoutOrPageModule,{hideSpan:!(er||en),spanName:"resolve segment modules",attributes:{"next.segment":M}},()=>tp(t)),ei=er&&!o,ea=o||ei,[es,el]=B?await nv({ctx:u,filePath:B[1],getComponent:B[0],injectedCSS:q,injectedJS:z}):[],eu=null==eo?void 0:eo.dynamic;if("export"===d){if(eu&&"auto"!==eu){if("force-dynamic"===eu)throw new tJ('Page with `dynamic = "force-dynamic"` couldn\'t be exported. `output: "export"` requires all pages be renderable statically because there is not runtime server to dynamic render routes in this output format. Learn more: https://nextjs.org/docs/app/building-your-application/deploying/static-exports')}else eu="error"}if("string"==typeof eu){if("error"===eu)h.dynamicShouldError=!0;else if("force-dynamic"===eu){if(h.forceDynamic=!0,h.isStaticGeneration&&!p.isRoutePPREnabled){let e=new E('Page with `dynamic = "force-dynamic"` won\'t be rendered statically.');throw h.dynamicUsageDescription=e.message,h.dynamicUsageStack=e.stack,e}}else h.dynamicShouldError=!1,h.forceStatic="force-static"===eu}if("string"==typeof(null==eo?void 0:eo.fetchCache)&&(h.fetchCache=null==eo?void 0:eo.fetchCache),void 0!==(null==eo?void 0:eo.revalidate)&&function(e,t){try{if(!1===e);else if("number"==typeof e&&!isNaN(e)&&e>-1);else if(void 0!==e)throw Error(`Invalid revalidate value "${e}" on "${t}", must be a non-negative number or "false"`)}catch(e){if(e instanceof Error&&e.message.includes("Invalid revalidate"))throw e;return}}(null==eo?void 0:eo.revalidate,h.route),"number"==typeof(null==eo?void 0:eo.revalidate)&&(u.defaultRevalidate=eo.revalidate,(void 0===h.revalidate||"number"==typeof h.revalidate&&h.revalidate>u.defaultRevalidate)&&(h.revalidate=u.defaultRevalidate),!h.forceStatic&&h.isStaticGeneration&&0===u.defaultRevalidate&&!p.isRoutePPREnabled)){let e=`revalidate: 0 configured ${M}`;throw h.dynamicUsageDescription=e,new E(e)}let ec=h.isStaticGeneration;if(h.dynamicUsageErr)throw h.dynamicUsageErr;let ef=eo?nm(eo):void 0,ed=A(M),ep=ed&&null!==ed.value?{...r,[ed.param]:ed.value}:r,eh=ed?ed.treeSegment:M,em=await Promise.all(Object.keys(L).map(async t=>{let r="children"===t,o=n?[t]:[eh,t],i=L[t],a=es&&r?(0,S.jsx)(es,{}):void 0,s=null;return $&&(Z||!nh(i))&&!p.isRoutePPREnabled||(s=await nb({createSegmentPath:t=>e([...o,...t]),loaderTree:i,parentParams:ep,rootLayoutIncluded:ea,injectedCSS:q,injectedJS:z,injectedFontPreloadTags:W,getMetadataReady:r?l:()=>Promise.resolve(),ctx:u,missingSlots:c,preloadCallbacks:f})),[t,(0,S.jsx)(y,{parallelRouterKey:t,segmentPath:e(o),error:Y,errorStyles:K,errorScripts:Q,template:(0,S.jsx)(G,{children:(0,S.jsx)(v,{})}),templateStyles:J,templateScripts:X,notFound:a,notFoundStyles:el}),s]})),ey={},ev={};for(let e of em){let[t,r,n]=e;ey[t]=r,ev[t]=n}let eg=Z?[(0,S.jsx)(Z,{},"l"),ee,et]:null;if(!ef)return[eh,(0,S.jsxs)(nw,{isDynamicIO:p.dynamicIO,isStaticGeneration:ec,ready:l,children:[V,ey.children]},"c"),ev,eg];if(h.isStaticGeneration&&h.forceDynamic&&p.isRoutePPREnabled)return[eh,(0,S.jsxs)(nw,{isDynamicIO:p.dynamicIO,isStaticGeneration:ec,ready:l,children:[(0,S.jsx)(T,{reason:'dynamic = "force-dynamic" was used',route:h.route}),V]},"c"),ev,eg];let eb=tl(eo);if(en){let e;return eb?(ey.params=ep,ey.searchParams=C(j),e=(0,S.jsx)(g,{props:ey,Component:ef})):(ey.params=R(ep),ey.searchParams=x(j),e=(0,S.jsx)(ef,{...ey})),[eh,(0,S.jsxs)(w.Fragment,{children:[(0,S.jsx)(nS,{ready:l}),(0,S.jsxs)(nw,{isDynamicIO:p.dynamicIO,isStaticGeneration:ec,ready:l,children:[e,V]})]},"c"),ev,eg]}{let e;let t=ei&&"children"in L&&Object.keys(L).length>1;return eb?(ey.params=ep,e=(0,S.jsx)(b,{Component:ef,props:ey})):(ey.params=R(ep),e=(0,S.jsx)(ef,{...ey})),[eh,t?(0,S.jsx)(nw,{isDynamicIO:p.dynamicIO,isStaticGeneration:ec,ready:l,children:(0,S.jsxs)(m,{notFound:es?(0,S.jsxs)(S.Fragment,{children:[V,(0,S.jsxs)(ef,{params:ey.params,children:[el,(0,S.jsx)(es,{})]})]}):void 0,children:[V,e]})}):(0,S.jsxs)(nw,{isDynamicIO:p.dynamicIO,isStaticGeneration:ec,ready:l,children:[V,e]},"c"),ev,eg]}}async function nS({ready:e}){let t=e();if("rejected"===t.status)throw t.value;return"fulfilled"!==t.status&&await t,null}async function nw({isDynamicIO:e,isStaticGeneration:t,ready:r,children:n}){if(e&&t&&r)try{await r()}catch{}return n}async function n_({createSegmentPath:e,loaderTreeToFilter:t,parentParams:r,isFirst:n,flightRouterState:o,parentRendered:i,rscPayloadHead:a,injectedCSS:s,injectedJS:l,injectedFontPreloadTags:u,rootLayoutIncluded:c,getMetadataReady:f,ctx:d,preloadCallbacks:p}){let{renderOpts:{nextFontManifest:h,experimental:m},query:y,isPrefetch:v,getDynamicParamFromSegment:g,componentMod:{tree:b}}=d,[S,w,_]=t,k=Object.keys(w),{layout:C}=_,x=void 0!==C&&!c,R=c||x,E=g(S),T=E&&null!==E.value?{...r,[E.param]:E.value}:r,P=tc(E?E.treeSegment:S,y),A=!o||!nc(P,o[0])||0===k.length||"refetch"===o[3],$=!m.isRoutePPREnabled&&v&&!_.loading&&!nh(b);if(!i&&A){let r=o&&nf(P,o[0])?o[0]:P,i=rK(t,g,y);return $?[[r,i,null,null]]:[[r,i,await ng({ctx:d,createSegmentPath:e,loaderTree:t,parentParams:T,firstItem:n,injectedCSS:s,injectedJS:l,injectedFontPreloadTags:u,rootLayoutIncluded:c,getMetadataReady:f,preloadCallbacks:p}),a]]}let j=null==C?void 0:C[1],O=new Set(s),I=new Set(l),M=new Set(u);j&&(nd(d.clientReferenceManifest,j,O,I,!0),np(h,j,M));let N=[];for(let t of k){let r=w[t],s=n?[t]:[P,t];for(let n of(await n_({ctx:d,createSegmentPath:t=>e([...s,...t]),loaderTreeToFilter:r,parentParams:T,flightRouterState:o&&o[1][t],parentRendered:i||A,isFirst:!1,rscPayloadHead:a,injectedCSS:O,injectedJS:I,injectedFontPreloadTags:M,rootLayoutIncluded:R,getMetadataReady:f,preloadCallbacks:p})))n[0]===td&&o&&o[1][t][0]&&"refetch"!==o[1][t][3]||N.push([P,t,...n])}return N}let nk=Symbol.for("next.server.action-manifests");function nC(e,t){if(!t||0===t.size)return JSON.stringify(e);let r=JSON.stringify(Array.from(t));return`${r.length}${r}${JSON.stringify(e)}`}!function(e){e[e.DATA=1]="DATA",e[e.HTML=2]="HTML"}(c||(c={}));let nx=new WeakMap,nR=new TextEncoder;function nE(e,t,n){let o=nx.get(e);if(o)return o;let i=(0,r("./dist/compiled/react-server-dom-turbopack/client.edge.js").createFromReadableStream)(e,{ssrManifest:{moduleLoading:t.moduleLoading,moduleMap:t.ssrModuleMapping},nonce:n});return nx.set(e,i),i}function nT(e,t,r){let n=t?`<script nonce=${JSON.stringify(t)}>`:"<script>",o=e.getReader(),i=new TextDecoder("utf-8",{fatal:!0});return new ReadableStream({type:"bytes",start(e){try{null!=r?e.enqueue(nR.encode(`${n}(self.__next_f=self.__next_f||[]).push(${rW(JSON.stringify([0]))});self.__next_f.push(${rW(JSON.stringify([2,r]))})</script>`)):e.enqueue(nR.encode(`${n}(self.__next_f=self.__next_f||[]).push(${rW(JSON.stringify([0]))})</script>`))}catch(t){e.error(t)}},async pull(e){try{let{done:t,value:r}=await o.read();if(r)try{let o=i.decode(r,{stream:!t});nP(e,n,o)}catch{nP(e,n,r)}t&&e.close()}catch(t){e.error(t)}}})}function nP(e,t,r){let n;n="string"==typeof r?rW(JSON.stringify([1,r])):rW(JSON.stringify([3,btoa(String.fromCodePoint(...r))])),e.enqueue(nR.encode(`${t}self.__next_f.push(${n})</script>`))}let nA=/\[((?:\[.*\])|.+)\]/;function n$(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let r=e.startsWith("...");return r&&(e=e.slice(3)),{key:e,repeat:r,optional:t}}"undefined"!=typeof performance&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);let nj=w.createContext(null),nO=w.createContext(null),nI=w.createContext(null),nM=w.createContext(null),nN=w.createContext(new Set),nL="refresh",nD="navigate",nF="restore",nU="server-action";function nH(e,t){return void 0===t&&(t=!0),e.pathname+e.search+(t?e.hash:"")}(function(e){e.AUTO="auto",e.FULL="full",e.TEMPORARY="temporary"})(f||(f={})),function(e){e.fresh="fresh",e.reusable="reusable",e.expired="expired",e.stale="stale"}(d||(d={}));let nB=(0,w.createContext)(null),nq=(0,w.createContext)(null),nz=(0,w.createContext)(null);function nW(e){if(e instanceof Map){let t={};for(let[r,n]of e.entries()){if("function"==typeof n){t[r]="fn()";continue}if("object"==typeof n&&null!==n){if(n.$$typeof){t[r]=n.$$typeof.toString();continue}if(n._bundlerConfig){t[r]="FlightData";continue}}t[r]=nW(n)}return t}if("object"==typeof e&&null!==e){let t={};for(let r in e){let n=e[r];if("function"==typeof n){t[r]="fn()";continue}if("object"==typeof n&&null!==n){if(n.$$typeof){t[r]=n.$$typeof.toString();continue}if(n.hasOwnProperty("_bundlerConfig")){t[r]="FlightData";continue}}t[r]=nW(n)}return t}return Array.isArray(e)?e.map(nW):e}function nV(e){return ry(e)?(0,w.use)(e):e}function nG(e){let{error:t}=e,r=rn.staticGenerationAsyncStorage.getStore();if((null==r?void 0:r.isRevalidate)||(null==r?void 0:r.isStaticGeneration))throw console.error(t),t;return null}class nJ extends w.Component{static getDerivedStateFromError(e){if(rL(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){let{error:r}=t;return process.env.__NEXT_APP_NAV_FAIL_HANDLING,e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(nG,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,S.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}}function nX(e){let{errorComponent:t,errorStyles:n,errorScripts:o,children:i}=e,a=!function(){{let{staticGenerationAsyncStorage:e}=r("../../../client/components/static-generation-async-storage.external"),t=e.getStore();if(!t)return!1;let{fallbackRouteParams:n}=t;return!!n&&0!==n.size}}()?(0,w.useContext)(nq):null;return t?(0,S.jsx)(nJ,{pathname:a,errorComponent:t,errorStyles:n,errorScripts:o,children:i}):(0,S.jsx)(S.Fragment,{children:i})}let nY=/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i,nK=e=>{if(!e.startsWith("/")||process.env.__NEXT_MANUAL_TRAILING_SLASH)return e;let{pathname:t,query:r,hash:n}=Y(e);if(process.env.__NEXT_TRAILING_SLASH){if(/\.[^/]+\/?$/.test(t));else if(t.endsWith("/"))return""+t+r+n;else return t+"/"+r+n}return""+X(t)+r+n},nQ=process.env.__NEXT_ROUTER_BASEPATH||"";function nZ(e,t){return nK(process.env.__NEXT_MANUAL_CLIENT_BASE_PATH&&!t?e:K(e,nQ))}let n0="next-route-announcer";function n1(e){let{tree:t}=e,[r,n]=(0,w.useState)(null);(0,w.useEffect)(()=>(n(function(){var e;let t=document.getElementsByName(n0)[0];if(null==t?void 0:null==(e=t.shadowRoot)?void 0:e.childNodes[0])return t.shadowRoot.childNodes[0];{let e=document.createElement(n0);e.style.cssText="position:absolute";let t=document.createElement("div");return t.ariaLive="assertive",t.id="__next-route-announcer__",t.role="alert",t.style.cssText="position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal",e.attachShadow({mode:"open"}).appendChild(t),document.body.appendChild(e),t}}()),()=>{let e=document.getElementsByTagName(n0)[0];(null==e?void 0:e.isConnected)&&document.body.removeChild(e)}),[]);let[o,i]=(0,w.useState)(""),a=(0,w.useRef)(void 0);return(0,w.useEffect)(()=>{let e="";if(document.title)e=document.title;else{let t=document.querySelector("h1");t&&(e=t.innerText||t.textContent||"")}void 0!==a.current&&a.current!==e&&i(e),a.current=e},[t]),r?(0,na.createPortal)(o,r):null}function n2(){let e=(0,w.useContext)(nj);if(null===e)throw Error("invariant expected app router to be mounted");return e}function n6(e){let{redirect:t,reset:r,redirectType:n}=e,o=n2();return(0,w.useEffect)(()=>{w.startTransition(()=>{n===a.push?o.push(t,{}):o.replace(t,{}),r()})},[t,n,r,o]),null}Symbol.for("react.postpone");class n4 extends w.Component{static getDerivedStateFromError(e){if(rk(e))return{redirect:rC(e),redirectType:rx(e)};throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,S.jsx)(n6,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}constructor(e){super(e),this.state={redirect:null,redirectType:null}}}function n3(e){let{children:t}=e,r=n2();return(0,S.jsx)(n4,{router:r,children:t})}function n8(e,t){return(void 0===t&&(t=!1),Array.isArray(e))?e[0]+"|"+e[1]+"|"+e[2]:t&&e.startsWith(tf)?tf:e}let n5={then:()=>{}},n9=process.env.__NEXT_ROUTER_BASEPATH||"",n7=process.env.__NEXT_ROUTER_BASEPATH||"",oe=e=>"/"===e[0]?e.slice(1):e,ot=e=>"string"==typeof e?"children"===e?"":e:e[1],or={};function on(e){return e.origin!==window.location.origin}function oo(e){let{appRouterState:t,sync:r}=e;return(0,w.useInsertionEffect)(()=>{process.env.__NEXT_APP_NAV_FAIL_HANDLING&&(window.next.__pendingUrl=void 0);let{tree:e,pushRef:n,canonicalUrl:o}=t,i={...n.preserveCustomHistoryState?window.history.state:{},__NA:!0,__PRIVATE_NEXTJS_INTERNALS_TREE:e};n.pendingPush&&nH(new URL(window.location.href))!==o?(n.pendingPush=!1,window.history.pushState(i,"",o)):window.history.replaceState(i,"",o),r(t)},[t,r]),null}function oi(e){null==e&&(e={});let t=window.history.state,r=null==t?void 0:t.__NA;r&&(e.__NA=r);let n=null==t?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;return n&&(e.__PRIVATE_NEXTJS_INTERNALS_TREE=n),e}function oa(e){let{headCacheNode:t}=e,r=null!==t?t.head:null,n=null!==t?t.prefetchHead:null,o=null!==n?n:r;return(0,w.useDeferredValue)(r,o)}function os(e){let t,{actionQueue:r,assetPrefix:n}=e,[o,i,s]=function(e){let[t,r]=w.useState(e.state),n=(0,w.useRef)(void 0),o=(0,w.useRef)(void 0);return(0,w.useEffect)(()=>{if(!n.current&&!1!==o.current){if(void 0===o.current&&void 0===window.__REDUX_DEVTOOLS_EXTENSION__){o.current=!1;return}return n.current=window.__REDUX_DEVTOOLS_EXTENSION__.connect({instanceId:8e3,name:"next-router"}),n.current&&(n.current.init(nW(e.state)),e&&(e.devToolsInstance=n.current)),()=>{n.current=void 0}}},[e]),[t,(0,w.useCallback)(t=>{e.dispatch(t,r)},[e]),(0,w.useCallback)(e=>{n.current&&n.current.send({type:"RENDER_SYNC"},nW(e))},[])]}(r),{canonicalUrl:l}=nV(o),{searchParams:u,pathname:c}=(0,w.useMemo)(()=>{var e;let t=new URL(l,"http://n");return{searchParams:t.searchParams,pathname:Z(t.pathname,n9)?(e=t.pathname,process.env.__NEXT_MANUAL_CLIENT_BASE_PATH&&!Z(e,n9)||0===n7.length||(e=e.slice(n7.length)).startsWith("/")||(e="/"+e),e):t.pathname}},[l]),d=(0,w.useCallback)(e=>{let{previousTree:t,serverResponse:r}=e;(0,w.startTransition)(()=>{i({type:"server-patch",previousTree:t,serverResponse:r})})},[i]),p=(0,w.useCallback)((e,t,r)=>{let n=new URL(nZ(e),location.href);return process.env.__NEXT_APP_NAV_FAIL_HANDLING&&(window.next.__pendingUrl=n),i({type:nD,url:n,isExternalUrl:on(n),locationSearch:location.search,shouldScroll:null==r||r,navigateType:t})},[i]);(0,w.useCallback)(e=>{(0,w.startTransition)(()=>{i({...e,type:nU})})},[i]);let h=(0,w.useMemo)(()=>({back:()=>window.history.back(),forward:()=>window.history.forward(),prefetch:(e,t)=>{var r;let n;if(r=window.navigator.userAgent,!nY.test(r)){try{n=new URL(nZ(e),window.location.href)}catch(t){throw Error("Cannot prefetch '"+e+"' because it cannot be converted to a URL.")}on(n)||(0,w.startTransition)(()=>{var e;i({type:"prefetch",url:n,kind:null!=(e=null==t?void 0:t.kind)?e:f.FULL})})}},replace:(e,t)=>{void 0===t&&(t={}),(0,w.startTransition)(()=>{var r;p(e,"replace",null==(r=t.scroll)||r)})},push:(e,t)=>{void 0===t&&(t={}),(0,w.startTransition)(()=>{var r;p(e,"push",null==(r=t.scroll)||r)})},refresh:()=>{(0,w.startTransition)(()=>{i({type:nL,origin:window.location.origin})})},hmrRefresh:()=>{throw Error("hmrRefresh can only be used in development mode. Please use refresh instead.")}}),[i,p]);(0,w.useEffect)(()=>{window.next&&(window.next.router=h)},[h]),(0,w.useEffect)(()=>{function e(e){var t;e.persisted&&(null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE)&&(or.pendingMpaPath=void 0,i({type:nF,url:new URL(window.location.href),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE}))}return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}},[i]),(0,w.useEffect)(()=>{function e(e){let t="reason"in e?e.reason:e.error;if(rk(t)){e.preventDefault();let r=rC(t);rx(t)===a.push?h.push(r,{}):h.replace(r,{})}}return window.addEventListener("error",e),window.addEventListener("unhandledrejection",e),()=>{window.removeEventListener("error",e),window.removeEventListener("unhandledrejection",e)}},[h]);let{pushRef:m}=nV(o);if(m.mpaNavigation){if(or.pendingMpaPath!==l){let e=window.location;m.pendingPush?e.assign(l):e.replace(l),or.pendingMpaPath=l}(0,w.use)(n5)}(0,w.useEffect)(()=>{let e=window.history.pushState.bind(window.history),t=window.history.replaceState.bind(window.history),r=e=>{var t;let r=window.location.href,n=null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;(0,w.startTransition)(()=>{i({type:nF,url:new URL(null!=e?e:r,r),tree:n})})};window.history.pushState=function(t,n,o){return(null==t?void 0:t.__NA)||(null==t?void 0:t._N)||(t=oi(t),o&&r(o)),e(t,n,o)},window.history.replaceState=function(e,n,o){return(null==e?void 0:e.__NA)||(null==e?void 0:e._N)||(e=oi(e),o&&r(o)),t(e,n,o)};let n=e=>{if(e.state){if(!e.state.__NA){window.location.reload();return}(0,w.startTransition)(()=>{i({type:nF,url:new URL(window.location.href),tree:e.state.__PRIVATE_NEXTJS_INTERNALS_TREE})})}};return window.addEventListener("popstate",n),()=>{window.history.pushState=e,window.history.replaceState=t,window.removeEventListener("popstate",n)}},[i]);let{cache:y,tree:v,nextUrl:g,focusAndScrollRef:b,buildId:_}=nV(o),k=(0,w.useMemo)(()=>(function e(t,r,n){if(0===Object.keys(r).length)return[t,n];for(let o in r){let[i,a]=r[o],s=t.parallelRoutes.get(o);if(!s)continue;let l=n8(i),u=s.get(l);if(!u)continue;let c=e(u,a,n+"/"+l);if(c)return c}return null})(y,v[1],""),[y,v]),C=(0,w.useMemo)(()=>(function e(t,r){for(let n of(void 0===r&&(r={}),Object.values(t[1]))){let t=n[0],o=Array.isArray(t),i=o?t[1]:t;!i||i.startsWith(tf)||(o&&("c"===t[2]||"oc"===t[2])?r[t[0]]=t[1].split("/"):o&&(r[t[0]]=t[1]),r=e(n,r))}return r})(v),[v]),x=(0,w.useMemo)(()=>({childNodes:y.parallelRoutes,tree:v,url:l,loading:y.loading}),[y.parallelRoutes,v,l,y.loading]),R=(0,w.useMemo)(()=>({buildId:_,changeByServerResponse:d,tree:v,focusAndScrollRef:b,nextUrl:g}),[_,d,v,b,g]);if(null!==k){let[e,r]=k;t=(0,S.jsx)(oa,{headCacheNode:e},r)}else t=null;let E=(0,S.jsxs)(n3,{children:[t,y.rsc,(0,S.jsx)(n1,{tree:v})]});return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(oo,{appRouterState:nV(o),sync:s}),(0,S.jsx)(of,{}),(0,S.jsx)(nz.Provider,{value:C,children:(0,S.jsx)(nq.Provider,{value:c,children:(0,S.jsx)(nB.Provider,{value:u,children:(0,S.jsx)(nI.Provider,{value:R,children:(0,S.jsx)(nj.Provider,{value:h,children:(0,S.jsx)(nO.Provider,{value:x,children:E})})})})})})]})}function ol(e){let{actionQueue:t,globalErrorComponent:r,assetPrefix:n}=e;return process.env.__NEXT_APP_NAV_FAIL_HANDLING&&(0,w.useEffect)(()=>{let e=e=>{"reason"in e?e.reason:e.error};return window.addEventListener("unhandledrejection",e),window.addEventListener("error",e),()=>{window.removeEventListener("error",e),window.removeEventListener("unhandledrejection",e)}},[]),(0,S.jsx)(nX,{errorComponent:r,children:(0,S.jsx)(os,{actionQueue:t,assetPrefix:n})})}let ou=new Set,oc=new Set;function of(){let[,e]=w.useState(0),t=ou.size;(0,w.useEffect)(()=>{let r=()=>e(e=>e+1);return oc.add(r),t!==ou.size&&r(),()=>{oc.delete(r)}},[t,e]);let r=process.env.NEXT_DEPLOYMENT_ID?"?dpl="+process.env.NEXT_DEPLOYMENT_ID:"";return[...ou].map((e,t)=>(0,S.jsx)("link",{rel:"stylesheet",href:""+e+r,precedence:"next"},t))}globalThis._N_E_STYLE_LOAD=function(e){let t=ou.size;return ou.add(e),ou.size!==t&&oc.forEach(e=>e()),Promise.resolve()};let{createFromFetch:od}=r("./dist/compiled/react-server-dom-webpack/client.edge.js");function op(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}var oh=0;function om(e){return"__private_"+oh+++"_"+e}var oy=om("_maxConcurrency"),ov=om("_runningCount"),og=om("_queue"),ob=om("_processNext");function oS(e){if(void 0===e&&(e=!1),(op(this,ov)[ov]<op(this,oy)[oy]||e)&&op(this,og)[og].length>0){var t;null==(t=op(this,og)[og].shift())||t.task()}}function ow(e,t,r){var n;let o;return n=t===f.FULL,o=e.pathname,(n&&(o+=e.search),r)?""+r+"%"+o:o}function o_(e){var t,r;let{buildId:n,initialFlightData:o,initialCanonicalUrlParts:i,initialParallelRoutes:a,location:s,couldBeIntercepted:l,postponed:u}=e,c=i.join("/"),p=function(e){var t;let[r,n,o]=e.slice(-3),i=e.slice(0,-3);return{pathToSegment:i.slice(0,-1),segmentPath:i,segment:null!=(t=i[i.length-1])?t:"",tree:r,seedData:n,head:o,isRootRender:3===e.length}}(o[0]),{tree:h,seedData:m,head:y}=p,v=!s,g=null==m?void 0:m[1],b=null!=(t=null==m?void 0:m[3])?t:null,S={lazyData:null,rsc:g,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:v?new Map:a,loading:b},w=s?nH(s):c;!function e(t,r){let[n,o,,i]=t;for(let a in n.includes(tf)&&"refresh"!==i&&(t[2]=r,t[3]="refresh"),o)e(o[a],r)}(h,w);let _=new Map;(null===a||0===a.size)&&function e(t,r,n,o,i,a){if(0===Object.keys(n[1]).length){t.head=i;return}for(let s in n[1]){let l;let u=n[1][s],c=n8(u[0]),f=null!==o&&void 0!==o[2][s]?o[2][s]:null;if(r){let n=r.parallelRoutes.get(s);if(n){let r;let o=(null==a?void 0:a.kind)==="auto"&&a.status===d.reusable,l=new Map(n),p=l.get(c);r=null!==f?{lazyData:null,rsc:f[1],prefetchRsc:null,head:null,prefetchHead:null,loading:f[3],parallelRoutes:new Map(null==p?void 0:p.parallelRoutes)}:o&&p?{lazyData:p.lazyData,rsc:p.rsc,prefetchRsc:p.prefetchRsc,head:p.head,prefetchHead:p.prefetchHead,parallelRoutes:new Map(p.parallelRoutes),loading:p.loading}:{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map(null==p?void 0:p.parallelRoutes),loading:null},l.set(c,r),e(r,p,u,f||null,i,a),t.parallelRoutes.set(s,l);continue}}if(null!==f){let e=f[1],t=f[3];l={lazyData:null,rsc:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:t}}else l={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null};let p=t.parallelRoutes.get(s);p?p.set(c,l):t.parallelRoutes.set(s,new Map([[c,l]])),e(l,void 0,u,f,i,a)}}(S,void 0,h,m,y);let k={buildId:n,tree:h,cache:S,prefetchCache:_,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:{apply:!1,onlyHashChange:!1,hashFragment:null,segmentPaths:[]},canonicalUrl:w,nextUrl:null!=(r=function e(t){var r;let n=Array.isArray(t[0])?t[0][1]:t[0];if(n===td||rH.some(e=>n.startsWith(e)))return;if(n.startsWith(tf))return"";let o=[ot(n)],i=null!=(r=t[1])?r:{},a=i.children?e(i.children):void 0;if(void 0!==a)o.push(a);else for(let[t,r]of Object.entries(i)){if("children"===t)continue;let n=e(r);void 0!==n&&o.push(n)}return o.reduce((e,t)=>""===(t=oe(t))||tu(t)?e:e+"/"+t,"")||"/"}(h)||(null==s?void 0:s.pathname))?r:null};return s&&function(e){let{nextUrl:t,tree:r,prefetchCache:n,url:o,data:i,kind:a}=e,s=i.couldBeIntercepted?ow(o,a,t):ow(o,a),l={treeAtTimeOfPrefetch:r,data:Promise.resolve(i),kind:a,prefetchTime:Date.now(),lastUsedTime:Date.now(),key:s,status:d.fresh,url:o};n.set(s,l)}({url:new URL(""+s.pathname+s.search,s.origin),data:{flightData:[p],canonicalUrl:void 0,couldBeIntercepted:!!l,isPrerender:!1,postponed:u},tree:k.tree,prefetchCache:k.prefetchCache,nextUrl:k.nextUrl,kind:f.AUTO}),k}new class{enqueue(e){let t,r;let n=new Promise((e,n)=>{t=e,r=n}),o=async()=>{try{op(this,ov)[ov]++;let r=await e();t(r)}catch(e){r(e)}finally{op(this,ov)[ov]--,op(this,ob)[ob]()}};return op(this,og)[og].push({promiseFn:n,task:o}),op(this,ob)[ob](),n}bump(e){let t=op(this,og)[og].findIndex(t=>t.promiseFn===e);if(t>-1){let e=op(this,og)[og].splice(t,1)[0];op(this,og)[og].unshift(e),op(this,ob)[ob](!0)}}constructor(e=5){Object.defineProperty(this,ob,{value:oS}),Object.defineProperty(this,oy,{writable:!0,value:void 0}),Object.defineProperty(this,ov,{writable:!0,value:void 0}),Object.defineProperty(this,og,{writable:!0,value:void 0}),op(this,oy)[oy]=e,op(this,ov)[ov]=0,op(this,og)[og]=[]}}(5),process.env.__NEXT_CLIENT_ROUTER_DYNAMIC_STALETIME,process.env.__NEXT_CLIENT_ROUTER_STATIC_STALETIME,Symbol();let{createFromFetch:ok,encodeReply:oC}=r("./dist/compiled/react-server-dom-webpack/client.edge.js");function ox(e,t){null!==e.pending&&(e.pending=e.pending.next,null!==e.pending?oR({actionQueue:e,action:e.pending,setState:t}):e.needsRefresh&&(e.needsRefresh=!1,e.dispatch({type:nL,origin:window.location.origin},t)))}async function oR(e){let{actionQueue:t,action:r,setState:n}=e,o=t.state;t.pending=r;let i=r.payload,a=t.action(o,i);function s(e){r.discarded||(t.state=e,t.devToolsInstance&&t.devToolsInstance.send(i,e),ox(t,n),r.resolve(e))}ry(a)?a.then(s,e=>{ox(t,n),r.reject(e)}):s(a)}function oE(e){let t={state:e,dispatch:(e,r)=>(function(e,t,r){let n={resolve:r,reject:()=>{}};if(t.type!==nF){let e=new Promise((e,t)=>{n={resolve:e,reject:t}});(0,w.startTransition)(()=>{r(e)})}let o={payload:t,next:null,resolve:n.resolve,reject:n.reject};null===e.pending?(e.last=o,oR({actionQueue:e,action:o,setState:r})):t.type===nD||t.type===nF?(e.pending.discarded=!0,e.last=o,e.pending.payload.type===nU&&(e.needsRefresh=!0),oR({actionQueue:e,action:o,setState:r})):(null!==e.last&&(e.last.next=o),e.last=o)})(t,e,r),action:async(e,t)=>e,pending:null,last:null};return t}function oT(e,t){return new Promise((r,n)=>{let o;setImmediate(()=>{try{o=e()}catch(e){n(e)}}),setImmediate(()=>{t(),r(o)})})}class oP{constructor(e){this._stream=e}tee(){if(null===this._stream)throw Error("Cannot tee a ReactServerResult that has already been consumed");let e=this._stream.tee();return this._stream=e[0],e[1]}consume(){if(null===this._stream)throw Error("Cannot consume a ReactServerResult that has already been consumed");let e=this._stream;return this._stream=null,e}}async function oA(e){let t=[],{prelude:r}=await e,n=r.getReader();for(;;){let{done:e,value:r}=await n.read();if(e)break;t.push(r)}return new oj(t)}async function o$(e){let t=[],r=e.getReader();for(;;){let{done:e,value:n}=await r.read();if(e)break;t.push(n)}return new oj(t)}class oj{assertChunks(e){if(null===this._chunks)throw new rm(`Cannot \`${e}\` on a ReactServerPrerenderResult that has already been consumed.`);return this._chunks}consumeChunks(e){let t=this.assertChunks(e);return this.consume(),t}consume(){this._chunks=null}constructor(e){this._chunks=e}asUnclosingStream(){return oO(this.assertChunks("asUnclosingStream()"))}consumeAsUnclosingStream(){return oO(this.consumeChunks("consumeAsUnclosingStream()"))}asStream(){return oI(this.assertChunks("asStream()"))}consumeAsStream(){return oI(this.consumeChunks("consumeAsStream()"))}}function oO(e){let t=0;return new ReadableStream({async pull(r){t<e.length&&r.enqueue(e[t++])}})}function oI(e){let t=0;return new ReadableStream({async pull(r){t<e.length?r.enqueue(e[t++]):r.close()}})}class oM{constructor(){this.count=0,this.listeners=[]}async cacheReady(){return new Promise(e=>{this.listeners.push(e),0===this.count&&(this.count++,setTimeout(()=>{if(this.count--,0===this.count){for(let e=0;e<this.listeners.length;e++)this.listeners[e]();this.listeners.length=0}}))})}beginRead(){this.count++}endRead(){1===this.count?setTimeout(()=>{if(this.count--,0===this.count){for(let e=0;e<this.listeners.length;e++)this.listeners[e]();this.listeners.length=0}},0):this.count--}}function oN(e,t){if(t)return e.filter(({key:e})=>t.includes(e))}function oL({ctx:e}){let t="/404"===e.pagePath,r="number"==typeof e.res.statusCode&&e.res.statusCode>400;return t||r?(0,S.jsx)("meta",{name:"robots",content:"noindex"}):null}async function oD(e,t){let r="",{componentMod:{tree:n,createDynamicallyTrackedSearchParams:o,createDynamicallyTrackedParams:i},getDynamicParamFromSegment:a,appUsingSizeAdjustment:s,requestStore:{url:l},query:u,requestId:c,flightRouterState:f,staticGenerationStore:d}=e;if(!(null==t?void 0:t.skipFlight)){let[t,p]=t9({tree:n,query:u,metadataContext:t5(l.pathname,e.renderOpts,d),getDynamicParamFromSegment:a,appUsingSizeAdjustment:s,createDynamicallyTrackedSearchParams:o,createDynamicallyTrackedParams:i});r=(await n_({ctx:e,createSegmentPath:e=>e,loaderTreeToFilter:n,parentParams:{},flightRouterState:f,isFirst:!0,rscPayloadHead:(0,S.jsxs)(w.Fragment,{children:[(0,S.jsx)(oL,{ctx:e}),(0,S.jsx)(t,{},c)]},"h"),injectedCSS:new Set,injectedJS:new Set,injectedFontPreloadTags:new Set,rootLayoutIncluded:!1,getMetadataReady:p,preloadCallbacks:[]})).map(e=>e.slice(1))}return(null==t?void 0:t.actionResult)?{a:t.actionResult,f:r,b:e.renderOpts.buildId}:{b:e.renderOpts.buildId,f:r}}function oF(e,t){var r;return{routerKind:"App Router",routePath:e.pagePath,routeType:e.isAction?"action":"render",renderSource:t,revalidateReason:(r=e.staticGenerationStore).isOnDemandRevalidate?"on-demand":r.isRevalidate?"stale":void 0}}async function oU(e,t,r){var n,o;let i=t.renderOpts,a=(n=!!i.dev,o=function(r){return null==i.onInstrumentationRequestError?void 0:i.onInstrumentationRequestError.call(i,r,e,oF(t,"react-server-components-payload"))},(e,t)=>{if(e.digest||(e.digest=r$()(e.message+((null==t?void 0:t.stack)||e.stack||"")).toString()),ep(e))return;if((0,rN.D)(e)||rL(e)||tV(e))return e.digest;n&&rM(e);let r=(0,_.getTracer)().getActiveScopeSpan();return r&&(r.recordException(e),r.setStatus({code:_.SpanStatusCode.ERROR,message:e.message})),o(e),e.digest}),s=await oD(t,r);return new rP(t.componentMod.renderToReadableStream(s,t.clientReferenceManifest.clientModules,{onError:a,nonce:t.nonce}),{fetchMetrics:t.staticGenerationStore.fetchMetrics})}function oH(e){return(e.pathname+e.search).split("/")}async function oB(e,t,r){let n;let o=new Set,i=new Set,a=new Set,{getDynamicParamFromSegment:s,query:l,appUsingSizeAdjustment:u,componentMod:{GlobalError:c,createDynamicallyTrackedSearchParams:f,createDynamicallyTrackedParams:d},requestStore:{url:p},staticGenerationStore:h}=t,m=rK(e,s,l),[y,v]=t9({tree:e,errorType:r?"not-found":void 0,query:l,metadataContext:t5(p.pathname,t.renderOpts,h),getDynamicParamFromSegment:s,appUsingSizeAdjustment:u,createDynamicallyTrackedSearchParams:f,createDynamicallyTrackedParams:d}),g=[],b=await ng({ctx:t,createSegmentPath:e=>e,loaderTree:e,parentParams:{},firstItem:!0,injectedCSS:o,injectedJS:i,injectedFontPreloadTags:a,rootLayoutIncluded:!1,getMetadataReady:v,missingSlots:n,preloadCallbacks:g}),_=t.res.getHeader("vary"),k="string"==typeof _&&_.includes("Next-Url"),C=(0,S.jsxs)(w.Fragment,{children:[(0,S.jsx)(oL,{ctx:t}),(0,S.jsx)(y,{},t.requestId)]},"h");return{P:(0,S.jsx)(oq,{preloadCallbacks:g}),b:t.renderOpts.buildId,p:t.assetPrefix,c:oH(p),i:!!k,f:[[m,b,C]],m:n,G:c,s:"string"==typeof t.renderOpts.postponed}}function oq({preloadCallbacks:e}){return e.forEach(e=>e()),null}async function oz(e,t,r){let{getDynamicParamFromSegment:n,query:o,appUsingSizeAdjustment:i,componentMod:{GlobalError:a,createDynamicallyTrackedSearchParams:s,createDynamicallyTrackedParams:l},requestStore:{url:u},requestId:c}=t,[f]=t9({tree:e,metadataContext:t8(u.pathname,t.renderOpts),errorType:r,query:o,getDynamicParamFromSegment:n,appUsingSizeAdjustment:i,createDynamicallyTrackedSearchParams:s,createDynamicallyTrackedParams:l}),d=(0,S.jsxs)(w.Fragment,{children:[(0,S.jsx)(oL,{ctx:t}),(0,S.jsx)(f,{},c),!1]},"h"),p=rK(e,n,o),h=[p[0],(0,S.jsxs)("html",{id:"__next_error__",children:[(0,S.jsx)("head",{}),(0,S.jsx)("body",{})]}),{},null];return{b:t.renderOpts.buildId,p:t.assetPrefix,c:oH(u),m:void 0,i:!1,f:[[p,h,d]],G:a,s:"string"==typeof t.renderOpts.postponed}}function oW({reactServerStream:e,preinitScripts:t,clientReferenceManifest:n,nonce:o,ServerInsertedHTMLProvider:i}){t();let a=w.use(nE(e,n,o)),s=oE(o_({buildId:a.b,initialFlightData:a.f,initialCanonicalUrlParts:a.c,initialParallelRoutes:null,location:null,couldBeIntercepted:a.i,postponed:a.s})),{HeadManagerContext:l}=r("./dist/esm/shared/lib/head-manager-context.shared-runtime.js");return(0,S.jsx)(l.Provider,{value:{appDir:!0,nonce:o},children:(0,S.jsx)(i,{children:(0,S.jsx)(ol,{actionQueue:s,globalErrorComponent:a.G,assetPrefix:a.p})})})}function oV({reactServerStream:e,preinitScripts:t,clientReferenceManifest:r,nonce:n}){t();let o=w.use(nE(e,r,n)),i=oE(o_({buildId:o.b,initialFlightData:o.f,initialCanonicalUrlParts:o.c,initialParallelRoutes:null,location:null,couldBeIntercepted:o.i,postponed:o.s}));return(0,S.jsx)(ol,{actionQueue:i,globalErrorComponent:o.G,assetPrefix:o.p})}async function oG(e,t,n,o,i,a,s,l,u,c){var f,d,p;let h;let m="/404"===n;m&&(t.statusCode=404);let y=Date.now(),{serverActionsManifest:v,ComponentMod:g,nextFontManifest:b,serverActions:S,assetPrefix:w="",enableTainting:C}=i;if(g.__next_app__){let e="performance"in globalThis?{require:(...e)=>{let t=performance.now();0===eu&&(eu=t);try{return ef+=1,g.__next_app__.require(...e)}finally{ec+=performance.now()-t}},loadChunk:(...e)=>{let t=performance.now();try{return ef+=1,g.__next_app__.loadChunk(...e)}finally{ec+=performance.now()-t}}}:g.__next_app__;globalThis.__next_require__=e.require,globalThis.__next_chunk_load__=(...t)=>{let r=e.loadChunk(...t);return o0(r),r}}r6(e)&&e.originalRequest.on("end",()=>{var e,t;g.staticGenerationAsyncStorage.getStore();let r=tY.prerenderAsyncStorage.getStore();if(null==r||null==(t=r.dynamicTracking)||null==(e=t.dynamicAccesses)||e.length,u.ended=!0,"performance"in globalThis){let e=ed({reset:!0});e&&(0,_.getTracer)().startSpan(k.Xy.clientComponentLoading,{startTime:e.clientComponentLoadStart,attributes:{"next.clientComponentLoadCount":e.clientComponentLoadCount,"next.span_type":k.Xy.clientComponentLoading}}).end(e.clientComponentLoadStart+e.clientComponentLoadTimes)}});let x={},R=!!(null==b?void 0:b.appUsingSizeAdjust),E=i.clientReferenceManifest,T=function({serverActionsManifest:e,pageName:t}){return new Proxy({},{get:(r,n)=>({id:e.node[n].workers[r2(t)],name:n,chunks:[]})})}({serverActionsManifest:v,pageName:i.page});(function({clientReferenceManifest:e,serverActionsManifest:t,serverModuleMap:r}){globalThis[nk]={clientReferenceManifest:e,serverActionsManifest:t,serverModuleMap:r}})({clientReferenceManifest:E,serverActionsManifest:v,serverModuleMap:T}),g.patchFetch();let{tree:P,taintObjectReference:A}=g;C&&A("Do not pass process.env to client components since it will leak sensitive data",process.env),s.fetchMetrics=[],x.fetchMetrics=s.fetchMetrics,function(e){for(let t of e_)delete e[t]}(o={...o});let{flightRouterState:$,isPrefetchRequest:j,isRSCRequest:O,nonce:I}=l;h=r("./dist/compiled/nanoid/index.cjs").nanoid();let M=i.params??{},{isStaticGeneration:N,fallbackRouteParams:D}=s,F=r0(e).isServerAction,U={componentMod:g,renderOpts:i,requestStore:a,staticGenerationStore:s,parsedRequestHeaders:l,getDynamicParamFromSegment:function(e){let t=rB(e);if(!t)return null;let r=t.param,o=M[r];if(D&&D.has(t.param)?o=D.get(t.param):Array.isArray(o)?o=o.map(e=>encodeURIComponent(e)):"string"==typeof o&&(o=encodeURIComponent(o)),!o){let e="catchall"===t.type,i="optional-catchall"===t.type;if(e||i){let e=rU[t.type];return i?{param:r,value:null,type:e,treeSegment:[r,"",e]}:{param:r,value:o=n.split("/").slice(1).flatMap(e=>{let t=function(e){let t=e.match(nA);return t?n$(t[1]):n$(e)}(e);return M[t.key]??t.key}),type:e,treeSegment:[r,o.join("/"),e]}}}let i=function(e){let t=rU[e];if(!t)throw Error("Unknown dynamic param type");return t}(t.type);return{param:r,value:o,treeSegment:[r,Array.isArray(o)?o.join("/"):o,i],type:i}},query:o,isPrefetch:j,isAction:F,requestTimestamp:y,appUsingSizeAdjustment:R,flightRouterState:$,requestId:h,defaultRevalidate:!1,pagePath:n,clientReferenceManifest:E,assetPrefix:w,isNotFoundPath:m,nonce:I,res:t};if(null==(f=(0,_.getTracer)().getRootSpanAttributes())||f.set("next.route",n),N){let r=(0,_.getTracer)().wrap(k.k0.getBodyResult,{spanName:`prerender route (app) ${n}`,attributes:{"next.route":n}},oK),o=await r(e,t,U,x,s,P);if(o.dynamicTracking&&t6(o.dynamicTracking)&&o.dynamicTracking.isDebugDynamicAccesses)for(let e of(te("The following dynamic usage was detected:"),o.dynamicTracking.dynamicAccesses.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(({expression:e,stack:t})=>(t=t.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" (<anonymous>)")||e.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${e}:

  at rS (../packages/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js:141:22023)
  at oJ (../packages/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js:145:4050)
  at lazyRenderAppPage (../packages/next/dist/server/route-modules/app-page/module.render.js:16:16)
  at exportAppPage (../packages/next/dist/export/routes/app-page.js:47:66)
  at exportPageImpl (../packages/next/dist/export/worker.js:200:53)
  at async Span.traceAsyncFn (../packages/next/dist/trace/trace.js:157:20)
  at async exportPage (../packages/next/dist/export/worker.js:341:20)
  at async exportPageWithRetry (../packages/next/dist/export/worker.js:239:26)
      at async Promise.all (index 2)
  at async Object.exportPages (../packages/next/dist/export/worker.js:315:31)
  Failed to build /_not-found/page: /_not-found after 1 attempts.
  Error occurred prerendering page "/". Read more: https://nextjs.org/docs/messages/prerender-error
  TypeError: Cannot read properties of undefined (reading 'run')
  at rS (../packages/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js:141:22023)
  at oJ (../packages/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js:145:4050)
  at lazyRenderAppPage (../packages/next/dist/server/route-modules/app-page/module.render.js:16:16)
  at exportAppPage (../packages/next/dist/export/routes/app-page.js:47:66)
  at exportPageImpl (../packages/next/dist/export/worker.js:200:53)
  at async Span.traceAsyncFn (../packages/next/dist/trace/trace.js:157:20)
  at async exportPage (../packages/next/dist/export/worker.js:341:20)
  at async exportPageWithRetry (../packages/next/dist/export/worker.js:239:26)
      at async Promise.all (index 3)
  Failed to build /page: / after 1 attempts.
  > Build error occurred
  Error: Export encountered an error on /_not-found/page: /_not-found, exiting the build.
  at exportPageWithRetry (../packages/next/dist/export/worker.js:291:31)
      at async Promise.all (index 2)
  at async Object.exportPages (../packages/next/dist/export/worker.js:315:31) {
    type: 'ExportPageError',
    code: 'NEXT_EXPORT_PAGE_ERROR'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:310:11)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-dev test/e2e/next-test/next-test.test.ts (turbopack)

  • next test > first time setup > should correctly install missing dependencies and generate missing configuration file for first-time-setup-js
  • next test > first time setup > should correctly install missing dependencies and generate missing configuration file for first-time-setup-ts
Expand output

● next test › first time setup › should correctly install missing dependencies and generate missing configuration file for first-time-setup-js

expect(received).toContain(expected) // indexOf

Expected substring: "Successfully generated playwright.config.js. Create your first test and then run `next experimental-test`."
Received string:    "
Installing devDependencies (yarn):
- @playwright/test·
yarn add v1.22.19
info No lockfile found.
[1/4] Resolving packages...
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
"

  58 |           expect(stdout).toContain('Installing devDependencies')
  59 |           expect(stdout).toContain('@playwright/test')
> 60 |           expect(stdout).toContain(
     |                          ^
  61 |             `Successfully generated ${
  62 |               fixtureName === 'first-time-setup-js'
  63 |                 ? 'playwright.config.js'

  at toContain (e2e/next-test/next-test.test.ts:60:26)

● next test › first time setup › should correctly install missing dependencies and generate missing configuration file for first-time-setup-ts

expect(received).toContain(expected) // indexOf

Expected substring: "Successfully generated playwright.config.ts. Create your first test and then run `next experimental-test`."
Received string:    "
Installing devDependencies (yarn):
- @playwright/test·
yarn add v1.22.19
info No lockfile found.
[1/4] Resolving packages...
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
"

  58 |           expect(stdout).toContain('Installing devDependencies')
  59 |           expect(stdout).toContain('@playwright/test')
> 60 |           expect(stdout).toContain(
     |                          ^
  61 |             `Successfully generated ${
  62 |               fixtureName === 'first-time-setup-js'
  63 |                 ? 'playwright.config.js'

  at toContain (e2e/next-test/next-test.test.ts:60:26)

Read more about building and testing Next.js in contributing.md.

@kdy1 kdy1 marked this pull request as ready for review September 24, 2024 01:58
@kdy1 kdy1 marked this pull request as draft September 24, 2024 01:59
@ijjk
Copy link
Member

ijjk commented Sep 24, 2024

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js kdy1/ts-star Change
buildDuration 18.6s 16.1s N/A
buildDurationCached 8.8s 7.5s N/A
nodeModulesSize 359 MB 359 MB
nextStartRea..uration (ms) 416ms 434ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js kdy1/ts-star Change
2120-HASH.js gzip 5.25 kB 5.26 kB N/A
2893-HASH.js gzip 43.1 kB 43.1 kB N/A
4799ad3f-HASH.js gzip 52.8 kB 52.8 kB N/A
6087.HASH.js gzip 170 B 169 B N/A
framework-HASH.js gzip 57.6 kB 57.6 kB N/A
main-app-HASH.js gzip 227 B 231 B N/A
main-HASH.js gzip 32.7 kB 32.7 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB N/A
Overall change 0 B 0 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js kdy1/ts-star Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Overall change 39.4 kB 39.4 kB
Client Pages
vercel/next.js canary vercel/next.js kdy1/ts-star Change
_app-HASH.js gzip 193 B 193 B
_error-HASH.js gzip 192 B 192 B
amp-HASH.js gzip 511 B 510 B N/A
css-HASH.js gzip 343 B 343 B
dynamic-HASH.js gzip 1.84 kB 1.84 kB N/A
edge-ssr-HASH.js gzip 264 B 264 B
head-HASH.js gzip 364 B 363 B N/A
hooks-HASH.js gzip 392 B 392 B
image-HASH.js gzip 4.41 kB 4.4 kB N/A
index-HASH.js gzip 269 B 268 B N/A
link-HASH.js gzip 2.78 kB 2.78 kB N/A
routerDirect..HASH.js gzip 327 B 329 B N/A
script-HASH.js gzip 397 B 392 B N/A
withRouter-HASH.js gzip 325 B 325 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 1.81 kB 1.81 kB
Client Build Manifests
vercel/next.js canary vercel/next.js kdy1/ts-star Change
_buildManifest.js gzip 751 B 748 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js kdy1/ts-star Change
index.html gzip 523 B 523 B
link.html gzip 537 B 538 B N/A
withRouter.html gzip 518 B 520 B N/A
Overall change 523 B 523 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js kdy1/ts-star Change
edge-ssr.js gzip 128 kB 128 kB N/A
page.js gzip 179 kB 179 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js kdy1/ts-star Change
middleware-b..fest.js gzip 671 B 667 B N/A
middleware-r..fest.js gzip 156 B 154 B N/A
middleware.js gzip 29.8 kB 29.8 kB N/A
edge-runtime..pack.js gzip 844 B 844 B
Overall change 844 B 844 B
Next Runtimes
vercel/next.js canary vercel/next.js kdy1/ts-star Change
973-experime...dev.js gzip 322 B 322 B
973.runtime.dev.js gzip 314 B 314 B
app-page-exp...dev.js gzip 318 kB 318 kB
app-page-exp..prod.js gzip 126 kB 126 kB
app-page-tur..prod.js gzip 139 kB 139 kB
app-page-tur..prod.js gzip 134 kB 134 kB
app-page.run...dev.js gzip 308 kB 308 kB
app-page.run..prod.js gzip 121 kB 121 kB
app-route-ex...dev.js gzip 32.1 kB 32.1 kB
app-route-ex..prod.js gzip 21.7 kB 21.7 kB
app-route-tu..prod.js gzip 21.7 kB 21.7 kB
app-route-tu..prod.js gzip 21.5 kB 21.5 kB
app-route.ru...dev.js gzip 33.7 kB 33.7 kB
app-route.ru..prod.js gzip 21.5 kB 21.5 kB
pages-api-tu..prod.js gzip 9.62 kB 9.62 kB
pages-api.ru...dev.js gzip 11.5 kB 11.5 kB
pages-api.ru..prod.js gzip 9.61 kB 9.61 kB
pages-turbo...prod.js gzip 20.8 kB 20.8 kB
pages.runtim...dev.js gzip 26.4 kB 26.4 kB
pages.runtim..prod.js gzip 20.8 kB 20.8 kB
server.runti..prod.js gzip 57.9 kB 57.9 kB
Overall change 1.46 MB 1.46 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js kdy1/ts-star Change
0.pack gzip 1.66 MB 1.66 MB N/A
index.pack gzip 131 kB 132 kB ⚠️ +900 B
Overall change 131 kB 132 kB ⚠️ +900 B
Diff details
Diff for page.js
@@ -15,7 +15,7 @@
       /***/
     },
 
-    /***/ 4794: /***/ (
+    /***/ 153: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -30,7 +30,7 @@
         default: () => /* binding */ nHandler,
       });
 
-      // NAMESPACE OBJECT: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsTERSmH%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&flyingShuttle=false&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
+      // NAMESPACE OBJECT: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsTERSmH%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&flyingShuttle=false&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
       var page_next_edge_ssr_entry_namespaceObject = {};
       __webpack_require__.r(page_next_edge_ssr_entry_namespaceObject);
       __webpack_require__.d(page_next_edge_ssr_entry_namespaceObject, {
@@ -70,35 +70,35 @@
         tree: () => tree,
       });
 
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/dist/esm/server/web/globals.js
-      var globals = __webpack_require__(3663);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
-      var adapter = __webpack_require__(302);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 85 modules
-      var render = __webpack_require__(2253);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules
-      var incremental_cache = __webpack_require__(7458);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/dist/esm/server/app-render/app-render.js + 74 modules
-      var app_render = __webpack_require__(7615);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/dist/esm/server/route-modules/app-page/module.compiled.js
-      var module_compiled = __webpack_require__(7537);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/dist/esm/server/route-kind.js
-      var route_kind = __webpack_require__(4905);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/dist/esm/client/components/error-boundary.js
-      var error_boundary = __webpack_require__(4740);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/dist/esm/server/app-render/entry-base.js + 10 modules
-      var entry_base = __webpack_require__(6203); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsTERSmH%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&flyingShuttle=false&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/dist/esm/server/web/globals.js
+      var globals = __webpack_require__(4950);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
+      var adapter = __webpack_require__(2858);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 85 modules
+      var render = __webpack_require__(3208);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules
+      var incremental_cache = __webpack_require__(7539);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/dist/esm/server/app-render/app-render.js + 74 modules
+      var app_render = __webpack_require__(8471);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/dist/esm/server/route-modules/app-page/module.compiled.js
+      var module_compiled = __webpack_require__(5259);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/dist/esm/server/route-kind.js
+      var route_kind = __webpack_require__(8281);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/dist/esm/client/components/error-boundary.js
+      var error_boundary = __webpack_require__(790);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/dist/esm/server/app-render/entry-base.js + 10 modules
+      var entry_base = __webpack_require__(3206); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsTERSmH%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&flyingShuttle=false&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
       const module0 = () =>
         Promise.resolve(/* import() eager */).then(
-          __webpack_require__.bind(__webpack_require__, 5931)
+          __webpack_require__.bind(__webpack_require__, 3867)
         );
       const module1 = () =>
         Promise.resolve(/* import() eager */).then(
-          __webpack_require__.bind(__webpack_require__, 3697)
+          __webpack_require__.bind(__webpack_require__, 4592)
         );
       const page2 = () =>
         Promise.resolve(/* import() eager */).then(
-          __webpack_require__.bind(__webpack_require__, 2928)
+          __webpack_require__.bind(__webpack_require__, 4242)
         );
 
       // We inject the tree and pages here so that we can use them in the route
@@ -161,12 +161,12 @@
       });
 
       //# sourceMappingURL=app-page.js.map
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/dist/esm/lib/page-types.js
-      var page_types = __webpack_require__(203);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/dist/esm/server/app-render/encryption-utils.js
-      var encryption_utils = __webpack_require__(8791);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/dist/esm/server/app-render/action-utils.js
-      var action_utils = __webpack_require__(5338); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/dist/build/webpack/loaders/next-edge-ssr-loader/index.js?{"absolute500Path":"","absoluteAppPath":"next/dist/pages/_app","absoluteDocumentPath":"next/dist/pages/_document","absoluteErrorPath":"next/dist/pages/_error","absolutePagePath":"private-next-app-dir/app-edge-ssr/page.js","dev":false,"isServerComponent":true,"page":"/app-edge-ssr/page","stringifiedConfig":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJhdHRhY2htZW50IiwicmVtb3RlUGF0dGVybnMiOltdLCJ1bm9wdGltaXplZCI6ZmFsc2V9LCJkZXZJbmRpY2F0b3JzIjp7ImFwcElzclN0YXR1cyI6dHJ1ZSwiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJyZWFjdE1heEhlYWRlcnNMZW5ndGgiOjYwMDAsImh0dHBBZ2VudE9wdGlvbnMiOnsia2VlcEFsaXZlIjp0cnVlfSwibG9nZ2luZyI6e30sInN0YXRpY1BhZ2VHZW5lcmF0aW9uVGltZW91dCI6NjAsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwib3V0cHV0RmlsZVRyYWNpbmdSb290IjoiL3RtcC9uZXh0LXN0YXRzVEVSU21IL3N0YXRzLWFwcCIsImV4cGVyaW1lbnRhbCI6eyJtdWx0aVpvbmVEcmFmdE1vZGUiOmZhbHNlLCJhcHBOYXZGYWlsSGFuZGxpbmciOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOnRydWUsInNlcnZlck1pbmlmaWNhdGlvbiI6dHJ1ZSwic2VydmVyU291cmNlTWFwcyI6ZmFsc2UsImxpbmtOb1RvdWNoU3RhcnQiOmZhbHNlLCJjYXNlU2Vuc2l0aXZlUm91dGVzIjpmYWxzZSwicHJlbG9hZEVudHJpZXNPblN0YXJ0Ijp0cnVlLCJjbGllbnRSb3V0ZXJGaWx0ZXIiOnRydWUsImNsaWVudFJvdXRlckZpbHRlclJlZGlyZWN0cyI6ZmFsc2UsImZldGNoQ2FjaGVLZXlQcmVmaXgiOiIiLCJtaWRkbGV3YXJlUHJlZmV0Y2giOiJmbGV4aWJsZSIsIm9wdGltaXN0aWNDbGllbnRDYWNoZSI6dHJ1ZSwibWFudWFsQ2xpZW50QmFzZVBhdGgiOmZhbHNlLCJjcHVzIjoxOSwibWVtb3J5QmFzZWRXb3JrZXJzQ291bnQiOmZhbHNlLCJpc3JGbHVzaFRvRGlzayI6dHJ1ZSwid29ya2VyVGhyZWFkcyI6ZmFsc2UsIm9wdGltaXplQ3NzIjpmYWxzZSwibmV4dFNjcmlwdFdvcmtlcnMiOmZhbHNlLCJzY3JvbGxSZXN0b3JhdGlvbiI6ZmFsc2UsImV4dGVybmFsRGlyIjpmYWxzZSwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciOmZhbHNlLCJnemlwU2l6ZSI6dHJ1ZSwiY3JhQ29tcGF0IjpmYWxzZSwiZXNtRXh0ZXJuYWxzIjp0cnVlLCJmdWxseVNwZWNpZmllZCI6ZmFsc2UsInN3Y1RyYWNlUHJvZmlsaW5nIjpmYWxzZSwiZm9yY2VTd2NUcmFuc2Zvcm1zIjpmYWxzZSwibGFyZ2VQYWdlRGF0YUJ5dGVzIjoxMjgwMDAsInR1cmJvIjp7InJvb3QiOiIvdG1wL25leHQtc3RhdHNURVJTbUgvc3RhdHMtYXBwIn0sInR5cGVkUm91dGVzIjpmYWxzZSwidHlwZWRFbnYiOmZhbHNlLCJwYXJhbGxlbFNlcnZlckNvbXBpbGVzIjpmYWxzZSwicGFyYWxsZWxTZXJ2ZXJCdWlsZFRyYWNlcyI6ZmFsc2UsInBwciI6ZmFsc2UsInBwckZhbGxiYWNrcyI6ZmFsc2UsIndlYnBhY2tNZW1vcnlPcHRpbWl6YXRpb25zIjpmYWxzZSwib3B0aW1pemVTZXJ2ZXJSZWFjdCI6dHJ1ZSwidXNlRWFybHlJbXBvcnQiOmZhbHNlLCJzdGFsZVRpbWVzIjp7ImR5bmFtaWMiOjAsInN0YXRpYyI6MzAwfSwiYWZ0ZXIiOmZhbHNlLCJzZXJ2ZXJDb21wb25lbnRzSG1yQ2FjaGUiOnRydWUsInN0YXRpY0dlbmVyYXRpb25NYXhDb25jdXJyZW5jeSI6OCwic3RhdGljR2VuZXJhdGlvbk1pblBhZ2VzUGVyV29ya2VyIjoyNSwiZHluYW1pY0lPIjpmYWxzZSwib3B0aW1pemVQYWNrYWdlSW1wb3J0cyI6WyJsdWNpZGUtcmVhY3QiLCJkYXRlLWZucyIsImxvZGFzaC1lcyIsInJhbWRhIiwiYW50ZCIsInJlYWN0LWJvb3RzdHJhcCIsImFob29rcyIsIkBhbnQtZGVzaWduL2ljb25zIiwiQGhlYWRsZXNzdWkvcmVhY3QiLCJAaGVhZGxlc3N1aS1mbG9hdC9yZWFjdCIsIkBoZXJvaWNvbnMvcmVhY3QvMjAvc29saWQiLCJAaGVyb2ljb25zL3JlYWN0LzI0L3NvbGlkIiwiQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lIiwiQHZpc3gvdmlzeCIsIkB0cmVtb3IvcmVhY3QiLCJyeGpzIiwiQG11aS9tYXRlcmlhbCIsIkBtdWkvaWNvbnMtbWF0ZXJpYWwiLCJyZWNoYXJ0cyIsInJlYWN0LXVzZSIsImVmZmVjdCIsIkBlZmZlY3Qvc2NoZW1hIiwiQGVmZmVjdC9wbGF0Zm9ybSIsIkBlZmZlY3QvcGxhdGZvcm0tbm9kZSIsIkBlZmZlY3QvcGxhdGZvcm0tYnJvd3NlciIsIkBlZmZlY3QvcGxhdGZvcm0tYnVuIiwiQGVmZmVjdC9zcWwiLCJAZWZmZWN0L3NxbC1tc3NxbCIsIkBlZmZlY3Qvc3FsLW15c3FsMiIsIkBlZmZlY3Qvc3FsLXBnIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1ub2RlIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1idW4iLCJAZWZmZWN0L3NxbC1zcXVsaXRlLXdhc20iLCJAZWZmZWN0L3NxbC1zcXVsaXRlLXJlYWN0LW5hdGl2ZSIsIkBlZmZlY3QvcnBjIiwiQGVmZmVjdC9ycGMtaHR0cCIsIkBlZmZlY3QvdHlwZWNsYXNzIiwiQGVmZmVjdC9leHBlcmltZW50YWwiLCJAZWZmZWN0L29wZW50ZWxlbWV0cnkiLCJAbWF0ZXJpYWwtdWkvY29yZSIsIkBtYXRlcmlhbC11aS9pY29ucyIsIkB0YWJsZXIvaWNvbnMtcmVhY3QiLCJtdWktY29yZSIsInJlYWN0LWljb25zL2FpIiwicmVhY3QtaWNvbnMvYmkiLCJyZWFjdC1pY29ucy9icyIsInJlYWN0LWljb25zL2NnIiwicmVhY3QtaWNvbnMvY2kiLCJyZWFjdC1pY29ucy9kaSIsInJlYWN0LWljb25zL2ZhIiwicmVhY3QtaWNvbnMvZmE2IiwicmVhY3QtaWNvbnMvZmMiLCJyZWFjdC1pY29ucy9maSIsInJlYWN0LWljb25zL2dpIiwicmVhY3QtaWNvbnMvZ28iLCJyZWFjdC1pY29ucy9nciIsInJlYWN0LWljb25zL2hpIiwicmVhY3QtaWNvbnMvaGkyIiwicmVhY3QtaWNvbnMvaW0iLCJyZWFjdC1pY29ucy9pbyIsInJlYWN0LWljb25zL2lvNSIsInJlYWN0LWljb25zL2xpYSIsInJlYWN0LWljb25zL2xpYiIsInJlYWN0LWljb25zL2x1IiwicmVhY3QtaWNvbnMvbWQiLCJyZWFjdC1pY29ucy9waSIsInJlYWN0LWljb25zL3JpIiwicmVhY3QtaWNvbnMvcngiLCJyZWFjdC1pY29ucy9zaSIsInJlYWN0LWljb25zL3NsIiwicmVhY3QtaWNvbnMvdGIiLCJyZWFjdC1pY29ucy90ZmkiLCJyZWFjdC1pY29ucy90aSIsInJlYWN0LWljb25zL3ZzYyIsInJlYWN0LWljb25zL3dpIl19LCJidW5kbGVQYWdlc1JvdXRlckRlcGVuZGVuY2llcyI6ZmFsc2UsImNvbmZpZ0ZpbGUiOiIvdG1wL25leHQtc3RhdHNURVJTbUgvc3RhdHMtYXBwL25leHQuY29uZmlnLmpzIiwiY29uZmlnRmlsZU5hbWUiOiJuZXh0LmNvbmZpZy5qcyJ9","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzVEVSU21IJTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JmZseWluZ1NodXR0bGU9ZmFsc2UmcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCE=","sriEnabled":false,"middlewareConfig":"e30="}!
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/dist/esm/lib/page-types.js
+      var page_types = __webpack_require__(8438);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/dist/esm/server/app-render/encryption-utils.js
+      var encryption_utils = __webpack_require__(4011);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/dist/esm/server/app-render/action-utils.js
+      var action_utils = __webpack_require__(9470); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/dist/build/webpack/loaders/next-edge-ssr-loader/index.js?{"absolute500Path":"","absoluteAppPath":"next/dist/pages/_app","absoluteDocumentPath":"next/dist/pages/_document","absoluteErrorPath":"next/dist/pages/_error","absolutePagePath":"private-next-app-dir/app-edge-ssr/page.js","dev":false,"isServerComponent":true,"page":"/app-edge-ssr/page","stringifiedConfig":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJhdHRhY2htZW50IiwicmVtb3RlUGF0dGVybnMiOltdLCJ1bm9wdGltaXplZCI6ZmFsc2V9LCJkZXZJbmRpY2F0b3JzIjp7ImFwcElzclN0YXR1cyI6dHJ1ZSwiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJyZWFjdE1heEhlYWRlcnNMZW5ndGgiOjYwMDAsImh0dHBBZ2VudE9wdGlvbnMiOnsia2VlcEFsaXZlIjp0cnVlfSwibG9nZ2luZyI6e30sInN0YXRpY1BhZ2VHZW5lcmF0aW9uVGltZW91dCI6NjAsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwib3V0cHV0RmlsZVRyYWNpbmdSb290IjoiL3RtcC9uZXh0LXN0YXRzVEVSU21IL3N0YXRzLWFwcCIsImV4cGVyaW1lbnRhbCI6eyJtdWx0aVpvbmVEcmFmdE1vZGUiOmZhbHNlLCJhcHBOYXZGYWlsSGFuZGxpbmciOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOnRydWUsInNlcnZlck1pbmlmaWNhdGlvbiI6dHJ1ZSwic2VydmVyU291cmNlTWFwcyI6ZmFsc2UsImxpbmtOb1RvdWNoU3RhcnQiOmZhbHNlLCJjYXNlU2Vuc2l0aXZlUm91dGVzIjpmYWxzZSwicHJlbG9hZEVudHJpZXNPblN0YXJ0Ijp0cnVlLCJjbGllbnRSb3V0ZXJGaWx0ZXIiOnRydWUsImNsaWVudFJvdXRlckZpbHRlclJlZGlyZWN0cyI6ZmFsc2UsImZldGNoQ2FjaGVLZXlQcmVmaXgiOiIiLCJtaWRkbGV3YXJlUHJlZmV0Y2giOiJmbGV4aWJsZSIsIm9wdGltaXN0aWNDbGllbnRDYWNoZSI6dHJ1ZSwibWFudWFsQ2xpZW50QmFzZVBhdGgiOmZhbHNlLCJjcHVzIjoxOSwibWVtb3J5QmFzZWRXb3JrZXJzQ291bnQiOmZhbHNlLCJpc3JGbHVzaFRvRGlzayI6dHJ1ZSwid29ya2VyVGhyZWFkcyI6ZmFsc2UsIm9wdGltaXplQ3NzIjpmYWxzZSwibmV4dFNjcmlwdFdvcmtlcnMiOmZhbHNlLCJzY3JvbGxSZXN0b3JhdGlvbiI6ZmFsc2UsImV4dGVybmFsRGlyIjpmYWxzZSwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciOmZhbHNlLCJnemlwU2l6ZSI6dHJ1ZSwiY3JhQ29tcGF0IjpmYWxzZSwiZXNtRXh0ZXJuYWxzIjp0cnVlLCJmdWxseVNwZWNpZmllZCI6ZmFsc2UsInN3Y1RyYWNlUHJvZmlsaW5nIjpmYWxzZSwiZm9yY2VTd2NUcmFuc2Zvcm1zIjpmYWxzZSwibGFyZ2VQYWdlRGF0YUJ5dGVzIjoxMjgwMDAsInR1cmJvIjp7InJvb3QiOiIvdG1wL25leHQtc3RhdHNURVJTbUgvc3RhdHMtYXBwIn0sInR5cGVkUm91dGVzIjpmYWxzZSwidHlwZWRFbnYiOmZhbHNlLCJwYXJhbGxlbFNlcnZlckNvbXBpbGVzIjpmYWxzZSwicGFyYWxsZWxTZXJ2ZXJCdWlsZFRyYWNlcyI6ZmFsc2UsInBwciI6ZmFsc2UsInBwckZhbGxiYWNrcyI6ZmFsc2UsIndlYnBhY2tNZW1vcnlPcHRpbWl6YXRpb25zIjpmYWxzZSwib3B0aW1pemVTZXJ2ZXJSZWFjdCI6dHJ1ZSwidXNlRWFybHlJbXBvcnQiOmZhbHNlLCJzdGFsZVRpbWVzIjp7ImR5bmFtaWMiOjAsInN0YXRpYyI6MzAwfSwiYWZ0ZXIiOmZhbHNlLCJzZXJ2ZXJDb21wb25lbnRzSG1yQ2FjaGUiOnRydWUsInN0YXRpY0dlbmVyYXRpb25NYXhDb25jdXJyZW5jeSI6OCwic3RhdGljR2VuZXJhdGlvbk1pblBhZ2VzUGVyV29ya2VyIjoyNSwiZHluYW1pY0lPIjpmYWxzZSwib3B0aW1pemVQYWNrYWdlSW1wb3J0cyI6WyJsdWNpZGUtcmVhY3QiLCJkYXRlLWZucyIsImxvZGFzaC1lcyIsInJhbWRhIiwiYW50ZCIsInJlYWN0LWJvb3RzdHJhcCIsImFob29rcyIsIkBhbnQtZGVzaWduL2ljb25zIiwiQGhlYWRsZXNzdWkvcmVhY3QiLCJAaGVhZGxlc3N1aS1mbG9hdC9yZWFjdCIsIkBoZXJvaWNvbnMvcmVhY3QvMjAvc29saWQiLCJAaGVyb2ljb25zL3JlYWN0LzI0L3NvbGlkIiwiQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lIiwiQHZpc3gvdmlzeCIsIkB0cmVtb3IvcmVhY3QiLCJyeGpzIiwiQG11aS9tYXRlcmlhbCIsIkBtdWkvaWNvbnMtbWF0ZXJpYWwiLCJyZWNoYXJ0cyIsInJlYWN0LXVzZSIsImVmZmVjdCIsIkBlZmZlY3Qvc2NoZW1hIiwiQGVmZmVjdC9wbGF0Zm9ybSIsIkBlZmZlY3QvcGxhdGZvcm0tbm9kZSIsIkBlZmZlY3QvcGxhdGZvcm0tYnJvd3NlciIsIkBlZmZlY3QvcGxhdGZvcm0tYnVuIiwiQGVmZmVjdC9zcWwiLCJAZWZmZWN0L3NxbC1tc3NxbCIsIkBlZmZlY3Qvc3FsLW15c3FsMiIsIkBlZmZlY3Qvc3FsLXBnIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1ub2RlIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1idW4iLCJAZWZmZWN0L3NxbC1zcXVsaXRlLXdhc20iLCJAZWZmZWN0L3NxbC1zcXVsaXRlLXJlYWN0LW5hdGl2ZSIsIkBlZmZlY3QvcnBjIiwiQGVmZmVjdC9ycGMtaHR0cCIsIkBlZmZlY3QvdHlwZWNsYXNzIiwiQGVmZmVjdC9leHBlcmltZW50YWwiLCJAZWZmZWN0L29wZW50ZWxlbWV0cnkiLCJAbWF0ZXJpYWwtdWkvY29yZSIsIkBtYXRlcmlhbC11aS9pY29ucyIsIkB0YWJsZXIvaWNvbnMtcmVhY3QiLCJtdWktY29yZSIsInJlYWN0LWljb25zL2FpIiwicmVhY3QtaWNvbnMvYmkiLCJyZWFjdC1pY29ucy9icyIsInJlYWN0LWljb25zL2NnIiwicmVhY3QtaWNvbnMvY2kiLCJyZWFjdC1pY29ucy9kaSIsInJlYWN0LWljb25zL2ZhIiwicmVhY3QtaWNvbnMvZmE2IiwicmVhY3QtaWNvbnMvZmMiLCJyZWFjdC1pY29ucy9maSIsInJlYWN0LWljb25zL2dpIiwicmVhY3QtaWNvbnMvZ28iLCJyZWFjdC1pY29ucy9nciIsInJlYWN0LWljb25zL2hpIiwicmVhY3QtaWNvbnMvaGkyIiwicmVhY3QtaWNvbnMvaW0iLCJyZWFjdC1pY29ucy9pbyIsInJlYWN0LWljb25zL2lvNSIsInJlYWN0LWljb25zL2xpYSIsInJlYWN0LWljb25zL2xpYiIsInJlYWN0LWljb25zL2x1IiwicmVhY3QtaWNvbnMvbWQiLCJyZWFjdC1pY29ucy9waSIsInJlYWN0LWljb25zL3JpIiwicmVhY3QtaWNvbnMvcngiLCJyZWFjdC1pY29ucy9zaSIsInJlYWN0LWljb25zL3NsIiwicmVhY3QtaWNvbnMvdGIiLCJyZWFjdC1pY29ucy90ZmkiLCJyZWFjdC1pY29ucy90aSIsInJlYWN0LWljb25zL3ZzYyIsInJlYWN0LWljb25zL3dpIl19LCJidW5kbGVQYWdlc1JvdXRlckRlcGVuZGVuY2llcyI6ZmFsc2UsImNvbmZpZ0ZpbGUiOiIvdG1wL25leHQtc3RhdHNURVJTbUgvc3RhdHMtYXBwL25leHQuY29uZmlnLmpzIiwiY29uZmlnRmlsZU5hbWUiOiJuZXh0LmNvbmZpZy5qcyJ9","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzVEVSU21IJTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JmZseWluZ1NodXR0bGU9ZmFsc2UmcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCE=","sriEnabled":false,"middlewareConfig":"e30="}!
       var _self___RSC_MANIFEST;
 
       const incrementalCacheHandler = null;
@@ -430,53 +430,53 @@
       /***/
     },
 
-    /***/ 3107: /***/ (
+    /***/ 8937: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 5501)
+        __webpack_require__.bind(__webpack_require__, 263)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 1323)
+        __webpack_require__.bind(__webpack_require__, 239)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 933)
+        __webpack_require__.bind(__webpack_require__, 6808)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 7131)
+        __webpack_require__.bind(__webpack_require__, 9543)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 3048)
+        __webpack_require__.bind(__webpack_require__, 4145)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 8281)
+        __webpack_require__.bind(__webpack_require__, 6196)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 3129)
+        __webpack_require__.bind(__webpack_require__, 754)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 9429)
+        __webpack_require__.bind(__webpack_require__, 3482)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 1985)
+        __webpack_require__.bind(__webpack_require__, 9294)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 1815)
+        __webpack_require__.bind(__webpack_require__, 8049)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 566)
+        __webpack_require__.bind(__webpack_require__, 2408)
       );
 
       /***/
     },
 
-    /***/ 5415: /***/ () => {
+    /***/ 8977: /***/ () => {
       /***/
     },
 
-    /***/ 2928: /***/ (
+    /***/ 4242: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -496,7 +496,7 @@
       /***/
     },
 
-    /***/ 5931: /***/ (
+    /***/ 3867: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -508,7 +508,7 @@
         /* harmony export */
       });
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(7887);
+        __webpack_require__(9851);
 
       function RootLayout({ children }) {
         return /*#__PURE__*/ (0,
@@ -527,7 +527,7 @@
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
-    /******/ __webpack_require__.O(0, [403, 678], () => __webpack_exec__(4794));
+    /******/ __webpack_require__.O(0, [219, 473], () => __webpack_exec__(153));
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ (_ENTRIES = typeof _ENTRIES === "undefined" ? {} : _ENTRIES)[
       "middleware_app/app-edge-ssr/page"
Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for image-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [8358],
   {
-    /***/ 9553: /***/ (
+    /***/ 2542: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function () {
-          return __webpack_require__(4973);
+          return __webpack_require__(5220);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 4492: /***/ (module, exports, __webpack_require__) => {
+    /***/ 39: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -40,17 +40,17 @@
         __webpack_require__(5096)
       );
       const _head = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(1900)
+        __webpack_require__(4927)
       );
-      const _getimgprops = __webpack_require__(7298);
-      const _imageconfig = __webpack_require__(364);
-      const _imageconfigcontextsharedruntime = __webpack_require__(607);
-      const _warnonce = __webpack_require__(3417);
-      const _routercontextsharedruntime = __webpack_require__(8249);
+      const _getimgprops = __webpack_require__(9121);
+      const _imageconfig = __webpack_require__(5657);
+      const _imageconfigcontextsharedruntime = __webpack_require__(4517);
+      const _warnonce = __webpack_require__(1512);
+      const _routercontextsharedruntime = __webpack_require__(499);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(6186)
+        __webpack_require__(6699)
       );
-      const _usemergedref = __webpack_require__(1927);
+      const _usemergedref = __webpack_require__(5395);
       // This is replaced by webpack define plugin
       const configEnv = {
         deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -371,7 +371,7 @@
       /***/
     },
 
-    /***/ 1927: /***/ (module, exports, __webpack_require__) => {
+    /***/ 5395: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -440,7 +440,7 @@
       /***/
     },
 
-    /***/ 7298: /***/ (
+    /***/ 9121: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -456,9 +456,9 @@
           return getImgProps;
         },
       });
-      const _warnonce = __webpack_require__(3417);
-      const _imageblursvg = __webpack_require__(3844);
-      const _imageconfig = __webpack_require__(364);
+      const _warnonce = __webpack_require__(1512);
+      const _imageblursvg = __webpack_require__(94);
+      const _imageconfig = __webpack_require__(5657);
       const VALID_LOADING_VALUES =
         /* unused pure expression or super */ null && [
           "lazy",
@@ -831,7 +831,7 @@
       /***/
     },
 
-    /***/ 3844: /***/ (__unused_webpack_module, exports) => {
+    /***/ 94: /***/ (__unused_webpack_module, exports) => {
       "use strict";
       /**
        * A shared function, used on both client and server, to generate a SVG blur placeholder.
@@ -886,7 +886,7 @@
       /***/
     },
 
-    /***/ 2464: /***/ (
+    /***/ 7268: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -913,10 +913,10 @@
         },
       });
       const _interop_require_default = __webpack_require__(9608);
-      const _getimgprops = __webpack_require__(7298);
-      const _imagecomponent = __webpack_require__(4492);
+      const _getimgprops = __webpack_require__(9121);
+      const _imagecomponent = __webpack_require__(39);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(6186)
+        __webpack_require__(6699)
       );
       function getImageProps(imgProps) {
         const { props } = (0, _getimgprops.getImgProps)(imgProps, {
@@ -948,7 +948,7 @@
       /***/
     },
 
-    /***/ 6186: /***/ (__unused_webpack_module, exports) => {
+    /***/ 6699: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -983,7 +983,7 @@
       /***/
     },
 
-    /***/ 4973: /***/ (
+    /***/ 5220: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -1000,8 +1000,8 @@
 
       // EXTERNAL MODULE: ./node_modules/.pnpm/react@19.0.0-rc-5d19e1c8-20240923/node_modules/react/jsx-runtime.js
       var jsx_runtime = __webpack_require__(4129);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_exh3korby52talgbfgrfijbiwa/node_modules/next/image.js
-      var next_image = __webpack_require__(487);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-5d19e1c8-20240923_re_l4vv5whrqalbzw3o4esxkwi2ju/node_modules/next/image.js
+      var next_image = __webpack_require__(6147);
       var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // CONCATENATED MODULE: ./pages/nextjs.png
       /* harmony default export */ const nextjs = {
         src: "/_next/static/media/nextjs.cae0b805.png",
@@ -1031,12 +1031,12 @@
       /***/
     },
 
-    /***/ 487: /***/ (
+    /***/ 6147: /***/ (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(2464);
+      module.exports = __webpack_require__(7268);
 
       /***/
     },
@@ -1046,7 +1046,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [2888, 9774, 179], () =>
-      __webpack_exec__(9553)
+      __webpack_exec__(2542)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 2893-HASH.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Commit: 8f85eeb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
created-by: Turbopack team PRs by the Turbopack team. Turbopack Related to Turbopack with Next.js.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants