Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
1 line
No EOL
44 KiB
Text
1 line
No EOL
44 KiB
Text
{"version":3,"sources":["../../../../src/shared/lib/turbopack/manifest-loader.ts"],"sourcesContent":["import type {\n EdgeFunctionDefinition,\n MiddlewareManifest,\n} from '../../../build/webpack/plugins/middleware-plugin'\nimport type {\n StatsAsset,\n StatsChunk,\n StatsChunkGroup,\n StatsModule,\n StatsCompilation as WebpackStats,\n} from 'webpack'\nimport type { BuildManifest } from '../../../server/get-page-files'\nimport type { PagesManifest } from '../../../build/webpack/plugins/pages-manifest-plugin'\nimport type { ActionManifest } from '../../../build/webpack/plugins/flight-client-entry-plugin'\nimport type { NextFontManifest } from '../../../build/webpack/plugins/next-font-manifest-plugin'\nimport type { REACT_LOADABLE_MANIFEST } from '../constants'\nimport {\n APP_PATHS_MANIFEST,\n BUILD_MANIFEST,\n INTERCEPTION_ROUTE_REWRITE_MANIFEST,\n MIDDLEWARE_BUILD_MANIFEST,\n MIDDLEWARE_MANIFEST,\n NEXT_FONT_MANIFEST,\n PAGES_MANIFEST,\n SERVER_REFERENCE_MANIFEST,\n TURBOPACK_CLIENT_BUILD_MANIFEST,\n TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST,\n WEBPACK_STATS,\n} from '../constants'\nimport { join, posix } from 'path'\nimport { readFileSync } from 'fs'\nimport type { SetupOpts } from '../../../server/lib/router-utils/setup-dev-bundler'\nimport { deleteCache } from '../../../server/dev/require-cache'\nimport { writeFileAtomic } from '../../../lib/fs/write-atomic'\nimport { isInterceptionRouteRewrite } from '../../../lib/generate-interception-routes-rewrites'\nimport getAssetPathFromRoute from '../router/utils/get-asset-path-from-route'\nimport { getEntryKey, type EntryKey } from './entry-key'\nimport type { CustomRoutes } from '../../../lib/load-custom-routes'\nimport { getSortedRoutes } from '../router/utils'\nimport { existsSync } from 'fs'\nimport {\n addMetadataIdToRoute,\n addRouteSuffix,\n removeRouteSuffix,\n} from '../../../server/dev/turbopack-utils'\nimport { tryToParsePath } from '../../../lib/try-to-parse-path'\nimport { safePathToRegexp } from '../router/utils/route-match-utils'\nimport type { Entrypoints } from '../../../build/swc/types'\nimport {\n normalizeRewritesForBuildManifest,\n type ClientBuildManifest,\n srcEmptySsgManifest,\n processRoute,\n createEdgeRuntimeManifest,\n} from '../../../build/webpack/plugins/build-manifest-plugin-utils'\n\ninterface InstrumentationDefinition {\n files: string[]\n name: 'instrumentation'\n}\n\ntype TurbopackMiddlewareManifest = MiddlewareManifest & {\n instrumentation?: InstrumentationDefinition\n}\n\ntype ManifestName =\n | typeof MIDDLEWARE_MANIFEST\n | typeof BUILD_MANIFEST\n | typeof PAGES_MANIFEST\n | typeof WEBPACK_STATS\n | typeof APP_PATHS_MANIFEST\n | `${typeof SERVER_REFERENCE_MANIFEST}.json`\n | `${typeof NEXT_FONT_MANIFEST}.json`\n | typeof REACT_LOADABLE_MANIFEST\n | typeof TURBOPACK_CLIENT_BUILD_MANIFEST\n\nconst getManifestPath = (\n page: string,\n distDir: string,\n name: ManifestName,\n type: string,\n firstCall: boolean\n) => {\n let manifestPath = posix.join(\n distDir,\n `server`,\n type,\n type === 'middleware' || type === 'instrumentation'\n ? ''\n : type === 'app'\n ? page\n : getAssetPathFromRoute(page),\n name\n )\n\n if (firstCall) {\n const isSitemapRoute = /[\\\\/]sitemap(.xml)?\\/route$/.test(page)\n // Check the ambiguity of /sitemap and /sitemap.xml\n if (isSitemapRoute && !existsSync(manifestPath)) {\n manifestPath = getManifestPath(\n page.replace(/\\/sitemap\\/route$/, '/sitemap.xml/route'),\n distDir,\n name,\n type,\n false\n )\n }\n // existsSync is faster than using the async version\n if (!existsSync(manifestPath) && page.endsWith('/route')) {\n // TODO: Improve implementation of metadata routes, currently it requires this extra check for the variants of the files that can be written.\n let metadataPage = addRouteSuffix(\n addMetadataIdToRoute(removeRouteSuffix(page))\n )\n manifestPath = getManifestPath(metadataPage, distDir, name, type, false)\n }\n }\n\n return manifestPath\n}\n\nfunction readPartialManifestContent(\n distDir: string,\n name: ManifestName,\n pageName: string,\n type: 'pages' | 'app' | 'middleware' | 'instrumentation' = 'pages'\n): string {\n const page = pageName\n const manifestPath = getManifestPath(page, distDir, name, type, true)\n return readFileSync(posix.join(manifestPath), 'utf-8')\n}\n\n/// Helper class that stores a map of manifests and tracks if they have changed\n/// since the last time they were written to disk. This is used to avoid\n/// unnecessary writes to disk.\nclass ManifestsMap<K, V> {\n private rawMap = new Map<K, string>()\n private map = new Map<K, V>()\n private extraInvalidationKey: string | undefined = undefined\n private changed = true\n\n set(key: K, value: string) {\n if (this.rawMap.get(key) === value) return\n this.changed = true\n this.rawMap.set(key, value)\n this.map.set(key, JSON.parse(value))\n }\n\n delete(key: K) {\n if (this.map.has(key)) {\n this.changed = true\n this.rawMap.delete(key)\n this.map.delete(key)\n }\n }\n\n get(key: K) {\n return this.map.get(key)\n }\n\n takeChanged(extraInvalidationKey?: any) {\n let changed = this.changed\n if (extraInvalidationKey !== undefined) {\n const stringified = JSON.stringify(extraInvalidationKey)\n if (this.extraInvalidationKey !== stringified) {\n this.extraInvalidationKey = stringified\n changed = true\n }\n }\n this.changed = false\n return changed\n }\n\n values() {\n return this.map.values()\n }\n}\n\nexport class TurbopackManifestLoader {\n private actionManifests: ManifestsMap<EntryKey, ActionManifest> =\n new ManifestsMap()\n private appPathsManifests: ManifestsMap<EntryKey, PagesManifest> =\n new ManifestsMap()\n private buildManifests: ManifestsMap<EntryKey, BuildManifest> =\n new ManifestsMap()\n private clientBuildManifests: ManifestsMap<EntryKey, ClientBuildManifest> =\n new ManifestsMap()\n private fontManifests: ManifestsMap<EntryKey, NextFontManifest> =\n new ManifestsMap()\n private middlewareManifests: ManifestsMap<\n EntryKey,\n TurbopackMiddlewareManifest\n > = new ManifestsMap()\n private pagesManifests: ManifestsMap<string, PagesManifest> =\n new ManifestsMap()\n private webpackStats: ManifestsMap<EntryKey, WebpackStats> =\n new ManifestsMap()\n private encryptionKey: string\n /// interceptionRewrites that have been written to disk\n /// This is used to avoid unnecessary writes if the rewrites haven't changed\n private cachedInterceptionRewrites: string | undefined = undefined\n\n private readonly distDir: string\n private readonly buildId: string\n\n constructor({\n distDir,\n buildId,\n encryptionKey,\n }: {\n buildId: string\n distDir: string\n encryptionKey: string\n }) {\n this.distDir = distDir\n this.buildId = buildId\n this.encryptionKey = encryptionKey\n }\n\n delete(key: EntryKey) {\n this.actionManifests.delete(key)\n this.appPathsManifests.delete(key)\n this.buildManifests.delete(key)\n this.clientBuildManifests.delete(key)\n this.fontManifests.delete(key)\n this.middlewareManifests.delete(key)\n this.pagesManifests.delete(key)\n this.webpackStats.delete(key)\n }\n\n loadActionManifest(pageName: string): void {\n this.actionManifests.set(\n getEntryKey('app', 'server', pageName),\n readPartialManifestContent(\n this.distDir,\n `${SERVER_REFERENCE_MANIFEST}.json`,\n pageName,\n 'app'\n )\n )\n }\n\n private mergeActionManifests(manifests: Iterable<ActionManifest>) {\n type ActionEntries = ActionManifest['edge' | 'node']\n const manifest: ActionManifest = {\n node: {},\n edge: {},\n encryptionKey: this.encryptionKey,\n }\n\n function mergeActionIds(\n actionEntries: ActionEntries,\n other: ActionEntries\n ): void {\n for (const key in other) {\n const action = (actionEntries[key] ??= {\n workers: {},\n layer: {},\n })\n action.filename = other[key].filename\n action.exportedName = other[key].exportedName\n Object.assign(action.workers, other[key].workers)\n Object.assign(action.layer, other[key].layer)\n }\n }\n\n for (const m of manifests) {\n mergeActionIds(manifest.node, m.node)\n mergeActionIds(manifest.edge, m.edge)\n }\n for (const key in manifest.node) {\n const entry = manifest.node[key]\n entry.workers = sortObjectByKey(entry.workers)\n entry.layer = sortObjectByKey(entry.layer)\n }\n for (const key in manifest.edge) {\n const entry = manifest.edge[key]\n entry.workers = sortObjectByKey(entry.workers)\n entry.layer = sortObjectByKey(entry.layer)\n }\n\n return manifest\n }\n\n private writeActionManifest(): void {\n if (!this.actionManifests.takeChanged()) {\n return\n }\n const actionManifest = this.mergeActionManifests(\n this.actionManifests.values()\n )\n const actionManifestJsonPath = join(\n this.distDir,\n 'server',\n `${SERVER_REFERENCE_MANIFEST}.json`\n )\n const actionManifestJsPath = join(\n this.distDir,\n 'server',\n `${SERVER_REFERENCE_MANIFEST}.js`\n )\n const json = JSON.stringify(actionManifest, null, 2)\n deleteCache(actionManifestJsonPath)\n deleteCache(actionManifestJsPath)\n writeFileAtomic(actionManifestJsonPath, json)\n writeFileAtomic(\n actionManifestJsPath,\n `self.__RSC_SERVER_MANIFEST=${JSON.stringify(json)}`\n )\n }\n\n loadAppPathsManifest(pageName: string): void {\n this.appPathsManifests.set(\n getEntryKey('app', 'server', pageName),\n readPartialManifestContent(\n this.distDir,\n APP_PATHS_MANIFEST,\n pageName,\n 'app'\n )\n )\n }\n\n private writeAppPathsManifest(): void {\n if (!this.appPathsManifests.takeChanged()) {\n return\n }\n const appPathsManifest = this.mergePagesManifests(\n this.appPathsManifests.values()\n )\n const appPathsManifestPath = join(\n this.distDir,\n 'server',\n APP_PATHS_MANIFEST\n )\n deleteCache(appPathsManifestPath)\n writeFileAtomic(\n appPathsManifestPath,\n JSON.stringify(appPathsManifest, null, 2)\n )\n }\n\n private writeWebpackStats(): void {\n if (!this.webpackStats.takeChanged()) {\n return\n }\n const webpackStats = this.mergeWebpackStats(this.webpackStats.values())\n const path = join(this.distDir, 'server', WEBPACK_STATS)\n deleteCache(path)\n writeFileAtomic(path, JSON.stringify(webpackStats, null, 2))\n }\n\n loadBuildManifest(pageName: string, type: 'app' | 'pages' = 'pages'): void {\n this.buildManifests.set(\n getEntryKey(type, 'server', pageName),\n readPartialManifestContent(this.distDir, BUILD_MANIFEST, pageName, type)\n )\n }\n\n loadClientBuildManifest(\n pageName: string,\n type: 'app' | 'pages' = 'pages'\n ): void {\n this.clientBuildManifests.set(\n getEntryKey(type, 'server', pageName),\n readPartialManifestContent(\n this.distDir,\n TURBOPACK_CLIENT_BUILD_MANIFEST,\n pageName,\n type\n )\n )\n }\n\n loadWebpackStats(pageName: string, type: 'app' | 'pages' = 'pages'): void {\n this.webpackStats.set(\n getEntryKey(type, 'client', pageName),\n readPartialManifestContent(this.distDir, WEBPACK_STATS, pageName, type)\n )\n }\n\n private mergeWebpackStats(statsFiles: Iterable<WebpackStats>): WebpackStats {\n const entrypoints: Record<string, StatsChunkGroup> = {}\n const assets: Map<string, StatsAsset> = new Map()\n const chunks: Map<string | number, StatsChunk> = new Map()\n const modules: Map<string | number, StatsModule> = new Map()\n\n for (const statsFile of statsFiles) {\n if (statsFile.entrypoints) {\n for (const [k, v] of Object.entries(statsFile.entrypoints)) {\n if (!entrypoints[k]) {\n entrypoints[k] = v\n }\n }\n }\n\n if (statsFile.assets) {\n for (const asset of statsFile.assets) {\n if (!assets.has(asset.name)) {\n assets.set(asset.name, asset)\n }\n }\n }\n\n if (statsFile.chunks) {\n for (const chunk of statsFile.chunks) {\n if (!chunks.has(chunk.id!)) {\n chunks.set(chunk.id!, chunk)\n }\n }\n }\n\n if (statsFile.modules) {\n for (const module of statsFile.modules) {\n const id = module.id\n if (id != null) {\n // Merge the chunk list for the module. This can vary across endpoints.\n const existing = modules.get(id)\n if (existing == null) {\n modules.set(id, module)\n } else if (module.chunks != null && existing.chunks != null) {\n for (const chunk of module.chunks) {\n if (!existing.chunks.includes(chunk)) {\n existing.chunks.push(chunk)\n }\n }\n }\n }\n }\n }\n }\n\n return {\n version: 'Turbopack',\n entrypoints,\n assets: [...assets.values()],\n chunks: [...chunks.values()],\n modules: [...modules.values()],\n }\n }\n\n private mergeBuildManifests(manifests: Iterable<BuildManifest>) {\n const manifest: Partial<BuildManifest> & Pick<BuildManifest, 'pages'> = {\n pages: {\n '/_app': [],\n },\n // Something in next.js depends on these to exist even for app dir rendering\n devFiles: [],\n polyfillFiles: [],\n lowPriorityFiles: [\n `static/${this.buildId}/_ssgManifest.js`,\n `static/${this.buildId}/_buildManifest.js`,\n ],\n rootMainFiles: [],\n }\n for (const m of manifests) {\n Object.assign(manifest.pages, m.pages)\n if (m.rootMainFiles.length) manifest.rootMainFiles = m.rootMainFiles\n // polyfillFiles should always be the same, so we can overwrite instead of actually merging\n if (m.polyfillFiles.length) manifest.polyfillFiles = m.polyfillFiles\n }\n manifest.pages = sortObjectByKey(manifest.pages) as BuildManifest['pages']\n return manifest\n }\n\n private mergeClientBuildManifests(\n manifests: Iterable<ClientBuildManifest>,\n rewrites: CustomRoutes['rewrites'],\n sortedPageKeys: string[]\n ): ClientBuildManifest {\n const manifest = {\n __rewrites: rewrites as any,\n sortedPages: sortedPageKeys,\n }\n for (const m of manifests) {\n Object.assign(manifest, m)\n }\n return sortObjectByKey(manifest)\n }\n\n private writeInterceptionRouteRewriteManifest(\n devRewrites: SetupOpts['fsChecker']['rewrites'] | undefined,\n productionRewrites: CustomRoutes['rewrites'] | undefined\n ): void {\n const rewrites = productionRewrites ?? {\n ...devRewrites,\n beforeFiles: (devRewrites?.beforeFiles ?? []).map(processRoute),\n afterFiles: (devRewrites?.afterFiles ?? []).map(processRoute),\n fallback: (devRewrites?.fallback ?? []).map(processRoute),\n }\n\n const interceptionRewrites = JSON.stringify(\n rewrites.beforeFiles.filter(isInterceptionRouteRewrite)\n )\n\n if (this.cachedInterceptionRewrites === interceptionRewrites) {\n return\n }\n this.cachedInterceptionRewrites = interceptionRewrites\n\n const interceptionRewriteManifestPath = join(\n this.distDir,\n 'server',\n `${INTERCEPTION_ROUTE_REWRITE_MANIFEST}.js`\n )\n deleteCache(interceptionRewriteManifestPath)\n\n writeFileAtomic(\n interceptionRewriteManifestPath,\n `self.__INTERCEPTION_ROUTE_REWRITE_MANIFEST=${JSON.stringify(\n interceptionRewrites\n )};`\n )\n }\n\n private writeBuildManifest(): void {\n if (!this.buildManifests.takeChanged()) {\n return\n }\n const buildManifest = this.mergeBuildManifests(this.buildManifests.values())\n\n const buildManifestPath = join(this.distDir, BUILD_MANIFEST)\n const middlewareBuildManifestPath = join(\n this.distDir,\n 'server',\n `${MIDDLEWARE_BUILD_MANIFEST}.js`\n )\n\n deleteCache(buildManifestPath)\n deleteCache(middlewareBuildManifestPath)\n writeFileAtomic(buildManifestPath, JSON.stringify(buildManifest, null, 2))\n writeFileAtomic(\n middlewareBuildManifestPath,\n // we use globalThis here because middleware can be node\n // which doesn't have \"self\"\n createEdgeRuntimeManifest(buildManifest)\n )\n\n // Write fallback build manifest\n const fallbackBuildManifest = this.mergeBuildManifests(\n [\n this.buildManifests.get(getEntryKey('pages', 'server', '_app')),\n this.buildManifests.get(getEntryKey('pages', 'server', '_error')),\n ].filter(Boolean) as BuildManifest[]\n )\n const fallbackBuildManifestPath = join(\n this.distDir,\n `fallback-${BUILD_MANIFEST}`\n )\n deleteCache(fallbackBuildManifestPath)\n writeFileAtomic(\n fallbackBuildManifestPath,\n JSON.stringify(fallbackBuildManifest, null, 2)\n )\n }\n\n private writeClientBuildManifest(\n entrypoints: Entrypoints,\n devRewrites: SetupOpts['fsChecker']['rewrites'] | undefined,\n productionRewrites: CustomRoutes['rewrites'] | undefined\n ): void {\n const rewrites = normalizeRewritesForBuildManifest(\n productionRewrites ?? {\n ...devRewrites,\n beforeFiles: (devRewrites?.beforeFiles ?? []).map(processRoute),\n afterFiles: (devRewrites?.afterFiles ?? []).map(processRoute),\n fallback: (devRewrites?.fallback ?? []).map(processRoute),\n }\n )\n\n const pagesKeys = [...entrypoints.page.keys()]\n if (entrypoints.global.app) {\n pagesKeys.push('/_app')\n }\n if (entrypoints.global.error) {\n pagesKeys.push('/_error')\n }\n\n const sortedPageKeys = getSortedRoutes(pagesKeys)\n\n if (!this.clientBuildManifests.takeChanged({ rewrites, sortedPageKeys })) {\n return\n }\n const clientBuildManifest = this.mergeClientBuildManifests(\n this.clientBuildManifests.values(),\n rewrites,\n sortedPageKeys\n )\n const clientBuildManifestJs = `self.__BUILD_MANIFEST = ${JSON.stringify(\n clientBuildManifest,\n null,\n 2\n )};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()`\n writeFileAtomic(\n join(this.distDir, 'static', this.buildId, '_buildManifest.js'),\n clientBuildManifestJs\n )\n writeFileAtomic(\n join(this.distDir, 'static', this.buildId, '_ssgManifest.js'),\n srcEmptySsgManifest\n )\n }\n\n loadFontManifest(pageName: string, type: 'app' | 'pages' = 'pages'): void {\n this.fontManifests.set(\n getEntryKey(type, 'server', pageName),\n readPartialManifestContent(\n this.distDir,\n `${NEXT_FONT_MANIFEST}.json`,\n pageName,\n type\n )\n )\n }\n\n private mergeFontManifests(manifests: Iterable<NextFontManifest>) {\n const manifest: NextFontManifest = {\n app: {},\n appUsingSizeAdjust: false,\n pages: {},\n pagesUsingSizeAdjust: false,\n }\n for (const m of manifests) {\n Object.assign(manifest.app, m.app)\n Object.assign(manifest.pages, m.pages)\n\n manifest.appUsingSizeAdjust =\n manifest.appUsingSizeAdjust || m.appUsingSizeAdjust\n manifest.pagesUsingSizeAdjust =\n manifest.pagesUsingSizeAdjust || m.pagesUsingSizeAdjust\n }\n manifest.app = sortObjectByKey(manifest.app)\n manifest.pages = sortObjectByKey(manifest.pages)\n return manifest\n }\n\n private async writeNextFontManifest(): Promise<void> {\n if (!this.fontManifests.takeChanged()) {\n return\n }\n const fontManifest = this.mergeFontManifests(this.fontManifests.values())\n const json = JSON.stringify(fontManifest, null, 2)\n\n const fontManifestJsonPath = join(\n this.distDir,\n 'server',\n `${NEXT_FONT_MANIFEST}.json`\n )\n const fontManifestJsPath = join(\n this.distDir,\n 'server',\n `${NEXT_FONT_MANIFEST}.js`\n )\n deleteCache(fontManifestJsonPath)\n deleteCache(fontManifestJsPath)\n writeFileAtomic(fontManifestJsonPath, json)\n writeFileAtomic(\n fontManifestJsPath,\n `self.__NEXT_FONT_MANIFEST=${JSON.stringify(json)}`\n )\n }\n\n /**\n * @returns If the manifest was written or not\n */\n loadMiddlewareManifest(\n pageName: string,\n type: 'pages' | 'app' | 'middleware' | 'instrumentation'\n ): boolean {\n const middlewareManifestPath = getManifestPath(\n pageName,\n this.distDir,\n MIDDLEWARE_MANIFEST,\n type,\n true\n )\n\n // middlewareManifest is actually \"edge manifest\" and not all routes are edge runtime. If it is not written we skip it.\n if (!existsSync(middlewareManifestPath)) {\n return false\n }\n\n this.middlewareManifests.set(\n getEntryKey(\n type === 'middleware' || type === 'instrumentation' ? 'root' : type,\n 'server',\n pageName\n ),\n readPartialManifestContent(\n this.distDir,\n MIDDLEWARE_MANIFEST,\n pageName,\n type\n )\n )\n\n return true\n }\n\n getMiddlewareManifest(key: EntryKey) {\n return this.middlewareManifests.get(key)\n }\n\n deleteMiddlewareManifest(key: EntryKey) {\n return this.middlewareManifests.delete(key)\n }\n\n private mergeMiddlewareManifests(\n manifests: Iterable<TurbopackMiddlewareManifest>\n ): MiddlewareManifest {\n const manifest: MiddlewareManifest = {\n version: 3,\n middleware: {},\n sortedMiddleware: [],\n functions: {},\n }\n let instrumentation: InstrumentationDefinition | undefined = undefined\n for (const m of manifests) {\n Object.assign(manifest.functions, m.functions)\n Object.assign(manifest.middleware, m.middleware)\n if (m.instrumentation) {\n instrumentation = m.instrumentation\n }\n }\n manifest.functions = sortObjectByKey(manifest.functions)\n manifest.middleware = sortObjectByKey(manifest.middleware)\n const updateFunctionDefinition = (\n fun: EdgeFunctionDefinition\n ): EdgeFunctionDefinition => {\n return {\n ...fun,\n files: [...(instrumentation?.files ?? []), ...fun.files],\n }\n }\n for (const key of Object.keys(manifest.middleware)) {\n const value = manifest.middleware[key]\n manifest.middleware[key] = updateFunctionDefinition(value)\n }\n for (const key of Object.keys(manifest.functions)) {\n const value = manifest.functions[key]\n manifest.functions[key] = updateFunctionDefinition(value)\n }\n for (const fun of Object.values(manifest.functions).concat(\n Object.values(manifest.middleware)\n )) {\n for (const matcher of fun.matchers) {\n if (!matcher.regexp) {\n matcher.regexp = safePathToRegexp(matcher.originalSource, [], {\n delimiter: '/',\n sensitive: false,\n strict: true,\n }).source.replaceAll('\\\\/', '/')\n }\n }\n }\n manifest.sortedMiddleware = Object.keys(manifest.middleware)\n\n return manifest\n }\n\n private writeMiddlewareManifest(): void {\n if (!this.middlewareManifests.takeChanged()) {\n return\n }\n const middlewareManifest = this.mergeMiddlewareManifests(\n this.middlewareManifests.values()\n )\n\n // Server middleware manifest\n\n // Normalize regexes as it uses path-to-regexp\n for (const key in middlewareManifest.middleware) {\n middlewareManifest.middleware[key].matchers.forEach((matcher) => {\n if (!matcher.regexp.startsWith('^')) {\n const parsedPage = tryToParsePath(matcher.regexp)\n if (parsedPage.error || !parsedPage.regexStr) {\n throw new Error(`Invalid source: ${matcher.regexp}`)\n }\n matcher.regexp = parsedPage.regexStr\n }\n })\n }\n\n const middlewareManifestPath = join(\n this.distDir,\n 'server',\n MIDDLEWARE_MANIFEST\n )\n deleteCache(middlewareManifestPath)\n writeFileAtomic(\n middlewareManifestPath,\n JSON.stringify(middlewareManifest, null, 2)\n )\n\n // Client middleware manifest\n const matchers = middlewareManifest?.middleware['/']?.matchers || []\n\n const clientMiddlewareManifestPath = join(\n this.distDir,\n 'static',\n this.buildId,\n `${TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST}`\n )\n deleteCache(clientMiddlewareManifestPath)\n writeFileAtomic(\n clientMiddlewareManifestPath,\n JSON.stringify(matchers, null, 2)\n )\n }\n\n loadPagesManifest(pageName: string): void {\n this.pagesManifests.set(\n getEntryKey('pages', 'server', pageName),\n readPartialManifestContent(this.distDir, PAGES_MANIFEST, pageName)\n )\n }\n\n private mergePagesManifests(manifests: Iterable<PagesManifest>) {\n const manifest: PagesManifest = {}\n for (const m of manifests) {\n Object.assign(manifest, m)\n }\n return sortObjectByKey(manifest)\n }\n\n private writePagesManifest(): void {\n if (!this.pagesManifests.takeChanged()) {\n return\n }\n const pagesManifest = this.mergePagesManifests(this.pagesManifests.values())\n const pagesManifestPath = join(this.distDir, 'server', PAGES_MANIFEST)\n deleteCache(pagesManifestPath)\n writeFileAtomic(pagesManifestPath, JSON.stringify(pagesManifest, null, 2))\n }\n\n writeManifests({\n devRewrites,\n productionRewrites,\n entrypoints,\n }: {\n devRewrites: SetupOpts['fsChecker']['rewrites'] | undefined\n productionRewrites: CustomRoutes['rewrites'] | undefined\n entrypoints: Entrypoints\n }): void {\n this.writeActionManifest()\n this.writeAppPathsManifest()\n this.writeBuildManifest()\n this.writeInterceptionRouteRewriteManifest(devRewrites, productionRewrites)\n this.writeClientBuildManifest(entrypoints, devRewrites, productionRewrites)\n this.writeMiddlewareManifest()\n this.writeNextFontManifest()\n this.writePagesManifest()\n\n if (process.env.TURBOPACK_STATS != null) {\n this.writeWebpackStats()\n }\n }\n}\n\nfunction sortObjectByKey(obj: Record<string, any>) {\n return Object.keys(obj)\n .sort()\n .reduce(\n (acc, key) => {\n acc[key] = obj[key]\n return acc\n },\n {} as Record<string, any>\n )\n}\n"],"names":["APP_PATHS_MANIFEST","BUILD_MANIFEST","INTERCEPTION_ROUTE_REWRITE_MANIFEST","MIDDLEWARE_BUILD_MANIFEST","MIDDLEWARE_MANIFEST","NEXT_FONT_MANIFEST","PAGES_MANIFEST","SERVER_REFERENCE_MANIFEST","TURBOPACK_CLIENT_BUILD_MANIFEST","TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST","WEBPACK_STATS","join","posix","readFileSync","deleteCache","writeFileAtomic","isInterceptionRouteRewrite","getAssetPathFromRoute","getEntryKey","getSortedRoutes","existsSync","addMetadataIdToRoute","addRouteSuffix","removeRouteSuffix","tryToParsePath","safePathToRegexp","normalizeRewritesForBuildManifest","srcEmptySsgManifest","processRoute","createEdgeRuntimeManifest","getManifestPath","page","distDir","name","type","firstCall","manifestPath","isSitemapRoute","test","replace","endsWith","metadataPage","readPartialManifestContent","pageName","ManifestsMap","set","key","value","rawMap","get","changed","map","JSON","parse","delete","has","takeChanged","extraInvalidationKey","undefined","stringified","stringify","values","Map","TurbopackManifestLoader","constructor","buildId","encryptionKey","actionManifests","appPathsManifests","buildManifests","clientBuildManifests","fontManifests","middlewareManifests","pagesManifests","webpackStats","cachedInterceptionRewrites","loadActionManifest","mergeActionManifests","manifests","manifest","node","edge","mergeActionIds","actionEntries","other","action","workers","layer","filename","exportedName","Object","assign","m","entry","sortObjectByKey","writeActionManifest","actionManifest","actionManifestJsonPath","actionManifestJsPath","json","loadAppPathsManifest","writeAppPathsManifest","appPathsManifest","mergePagesManifests","appPathsManifestPath","writeWebpackStats","mergeWebpackStats","path","loadBuildManifest","loadClientBuildManifest","loadWebpackStats","statsFiles","entrypoints","assets","chunks","modules","statsFile","k","v","entries","asset","chunk","id","module","existing","includes","push","version","mergeBuildManifests","pages","devFiles","polyfillFiles","lowPriorityFiles","rootMainFiles","length","mergeClientBuildManifests","rewrites","sortedPageKeys","__rewrites","sortedPages","writeInterceptionRouteRewriteManifest","devRewrites","productionRewrites","beforeFiles","afterFiles","fallback","interceptionRewrites","filter","interceptionRewriteManifestPath","writeBuildManifest","buildManifest","buildManifestPath","middlewareBuildManifestPath","fallbackBuildManifest","Boolean","fallbackBuildManifestPath","writeClientBuildManifest","pagesKeys","keys","global","app","error","clientBuildManifest","clientBuildManifestJs","loadFontManifest","mergeFontManifests","appUsingSizeAdjust","pagesUsingSizeAdjust","writeNextFontManifest","fontManifest","fontManifestJsonPath","fontManifestJsPath","loadMiddlewareManifest","middlewareManifestPath","getMiddlewareManifest","deleteMiddlewareManifest","mergeMiddlewareManifests","middleware","sortedMiddleware","functions","instrumentation","updateFunctionDefinition","fun","files","concat","matcher","matchers","regexp","originalSource","delimiter","sensitive","strict","source","replaceAll","writeMiddlewareManifest","middlewareManifest","forEach","startsWith","parsedPage","regexStr","Error","clientMiddlewareManifestPath","loadPagesManifest","writePagesManifest","pagesManifest","pagesManifestPath","writeManifests","process","env","TURBOPACK_STATS","obj","sort","reduce","acc"],"mappings":"AAgBA,SACEA,kBAAkB,EAClBC,cAAc,EACdC,mCAAmC,EACnCC,yBAAyB,EACzBC,mBAAmB,EACnBC,kBAAkB,EAClBC,cAAc,EACdC,yBAAyB,EACzBC,+BAA+B,EAC/BC,oCAAoC,EACpCC,aAAa,QACR,eAAc;AACrB,SAASC,IAAI,EAAEC,KAAK,QAAQ,OAAM;AAClC,SAASC,YAAY,QAAQ,KAAI;AAEjC,SAASC,WAAW,QAAQ,oCAAmC;AAC/D,SAASC,eAAe,QAAQ,+BAA8B;AAC9D,SAASC,0BAA0B,QAAQ,qDAAoD;AAC/F,OAAOC,2BAA2B,4CAA2C;AAC7E,SAASC,WAAW,QAAuB,cAAa;AAExD,SAASC,eAAe,QAAQ,kBAAiB;AACjD,SAASC,UAAU,QAAQ,KAAI;AAC/B,SACEC,oBAAoB,EACpBC,cAAc,EACdC,iBAAiB,QACZ,sCAAqC;AAC5C,SAASC,cAAc,QAAQ,iCAAgC;AAC/D,SAASC,gBAAgB,QAAQ,oCAAmC;AAEpE,SACEC,iCAAiC,EAEjCC,mBAAmB,EACnBC,YAAY,EACZC,yBAAyB,QACpB,6DAA4D;AAsBnE,MAAMC,kBAAkB,CACtBC,MACAC,SACAC,MACAC,MACAC;IAEA,IAAIC,eAAexB,MAAMD,IAAI,CAC3BqB,SACA,CAAC,MAAM,CAAC,EACRE,MACAA,SAAS,gBAAgBA,SAAS,oBAC9B,KACAA,SAAS,QACPH,OACAd,sBAAsBc,OAC5BE;IAGF,IAAIE,WAAW;QACb,MAAME,iBAAiB,8BAA8BC,IAAI,CAACP;QAC1D,mDAAmD;QACnD,IAAIM,kBAAkB,CAACjB,WAAWgB,eAAe;YAC/CA,eAAeN,gBACbC,KAAKQ,OAAO,CAAC,qBAAqB,uBAClCP,SACAC,MACAC,MACA;QAEJ;QACA,oDAAoD;QACpD,IAAI,CAACd,WAAWgB,iBAAiBL,KAAKS,QAAQ,CAAC,WAAW;YACxD,6IAA6I;YAC7I,IAAIC,eAAenB,eACjBD,qBAAqBE,kBAAkBQ;YAEzCK,eAAeN,gBAAgBW,cAAcT,SAASC,MAAMC,MAAM;QACpE;IACF;IAEA,OAAOE;AACT;AAEA,SAASM,2BACPV,OAAe,EACfC,IAAkB,EAClBU,QAAgB,EAChBT,OAA2D,OAAO;IAElE,MAAMH,OAAOY;IACb,MAAMP,eAAeN,gBAAgBC,MAAMC,SAASC,MAAMC,MAAM;IAChE,OAAOrB,aAAaD,MAAMD,IAAI,CAACyB,eAAe;AAChD;AAEA,+EAA+E;AAC/E,wEAAwE;AACxE,+BAA+B;AAC/B,MAAMQ;IAMJC,IAAIC,GAAM,EAAEC,KAAa,EAAE;QACzB,IAAI,IAAI,CAACC,MAAM,CAACC,GAAG,CAACH,SAASC,OAAO;QACpC,IAAI,CAACG,OAAO,GAAG;QACf,IAAI,CAACF,MAAM,CAACH,GAAG,CAACC,KAAKC;QACrB,IAAI,CAACI,GAAG,CAACN,GAAG,CAACC,KAAKM,KAAKC,KAAK,CAACN;IAC/B;IAEAO,OAAOR,GAAM,EAAE;QACb,IAAI,IAAI,CAACK,GAAG,CAACI,GAAG,CAACT,MAAM;YACrB,IAAI,CAACI,OAAO,GAAG;YACf,IAAI,CAACF,MAAM,CAACM,MAAM,CAACR;YACnB,IAAI,CAACK,GAAG,CAACG,MAAM,CAACR;QAClB;IACF;IAEAG,IAAIH,GAAM,EAAE;QACV,OAAO,IAAI,CAACK,GAAG,CAACF,GAAG,CAACH;IACtB;IAEAU,YAAYC,oBAA0B,EAAE;QACtC,IAAIP,UAAU,IAAI,CAACA,OAAO;QAC1B,IAAIO,yBAAyBC,WAAW;YACtC,MAAMC,cAAcP,KAAKQ,SAAS,CAACH;YACnC,IAAI,IAAI,CAACA,oBAAoB,KAAKE,aAAa;gBAC7C,IAAI,CAACF,oBAAoB,GAAGE;gBAC5BT,UAAU;YACZ;QACF;QACA,IAAI,CAACA,OAAO,GAAG;QACf,OAAOA;IACT;IAEAW,SAAS;QACP,OAAO,IAAI,CAACV,GAAG,CAACU,MAAM;IACxB;;aAvCQb,SAAS,IAAIc;aACbX,MAAM,IAAIW;aACVL,uBAA2CC;aAC3CR,UAAU;;AAqCpB;AAEA,OAAO,MAAMa;IA2BXC,YAAY,EACVhC,OAAO,EACPiC,OAAO,EACPC,aAAa,EAKd,CAAE;aAlCKC,kBACN,IAAIvB;aACEwB,oBACN,IAAIxB;aACEyB,iBACN,IAAIzB;aACE0B,uBACN,IAAI1B;aACE2B,gBACN,IAAI3B;aACE4B,sBAGJ,IAAI5B;aACA6B,iBACN,IAAI7B;aACE8B,eACN,IAAI9B;QAEN,uDAAuD;QACvD,4EAA4E;aACpE+B,6BAAiDjB;QAcvD,IAAI,CAAC1B,OAAO,GAAGA;QACf,IAAI,CAACiC,OAAO,GAAGA;QACf,IAAI,CAACC,aAAa,GAAGA;IACvB;IAEAZ,OAAOR,GAAa,EAAE;QACpB,IAAI,CAACqB,eAAe,CAACb,MAAM,CAACR;QAC5B,IAAI,CAACsB,iBAAiB,CAACd,MAAM,CAACR;QAC9B,IAAI,CAACuB,cAAc,CAACf,MAAM,CAACR;QAC3B,IAAI,CAACwB,oBAAoB,CAAChB,MAAM,CAACR;QACjC,IAAI,CAACyB,aAAa,CAACjB,MAAM,CAACR;QAC1B,IAAI,CAAC0B,mBAAmB,CAAClB,MAAM,CAACR;QAChC,IAAI,CAAC2B,cAAc,CAACnB,MAAM,CAACR;QAC3B,IAAI,CAAC4B,YAAY,CAACpB,MAAM,CAACR;IAC3B;IAEA8B,mBAAmBjC,QAAgB,EAAQ;QACzC,IAAI,CAACwB,eAAe,CAACtB,GAAG,CACtB3B,YAAY,OAAO,UAAUyB,WAC7BD,2BACE,IAAI,CAACV,OAAO,EACZ,GAAGzB,0BAA0B,KAAK,CAAC,EACnCoC,UACA;IAGN;IAEQkC,qBAAqBC,SAAmC,EAAE;QAEhE,MAAMC,WAA2B;YAC/BC,MAAM,CAAC;YACPC,MAAM,CAAC;YACPf,eAAe,IAAI,CAACA,aAAa;QACnC;QAEA,SAASgB,eACPC,aAA4B,EAC5BC,KAAoB;YAEpB,IAAK,MAAMtC,OAAOsC,MAAO;gBACvB,MAAMC,SAAUF,aAAa,CAACrC,IAAI,KAAK;oBACrCwC,SAAS,CAAC;oBACVC,OAAO,CAAC;gBACV;gBACAF,OAAOG,QAAQ,GAAGJ,KAAK,CAACtC,IAAI,CAAC0C,QAAQ;gBACrCH,OAAOI,YAAY,GAAGL,KAAK,CAACtC,IAAI,CAAC2C,YAAY;gBAC7CC,OAAOC,MAAM,CAACN,OAAOC,OAAO,EAAEF,KAAK,CAACtC,IAAI,CAACwC,OAAO;gBAChDI,OAAOC,MAAM,CAACN,OAAOE,KAAK,EAAEH,KAAK,CAACtC,IAAI,CAACyC,KAAK;YAC9C;QACF;QAEA,KAAK,MAAMK,KAAKd,UAAW;YACzBI,eAAeH,SAASC,IAAI,EAAEY,EAAEZ,IAAI;YACpCE,eAAeH,SAASE,IAAI,EAAEW,EAAEX,IAAI;QACtC;QACA,IAAK,MAAMnC,OAAOiC,SAASC,IAAI,CAAE;YAC/B,MAAMa,QAAQd,SAASC,IAAI,CAAClC,IAAI;YAChC+C,MAAMP,OAAO,GAAGQ,gBAAgBD,MAAMP,OAAO;YAC7CO,MAAMN,KAAK,GAAGO,gBAAgBD,MAAMN,KAAK;QAC3C;QACA,IAAK,MAAMzC,OAAOiC,SAASE,IAAI,CAAE;YAC/B,MAAMY,QAAQd,SAASE,IAAI,CAACnC,IAAI;YAChC+C,MAAMP,OAAO,GAAGQ,gBAAgBD,MAAMP,OAAO;YAC7CO,MAAMN,KAAK,GAAGO,gBAAgBD,MAAMN,KAAK;QAC3C;QAEA,OAAOR;IACT;IAEQgB,sBAA4B;QAClC,IAAI,CAAC,IAAI,CAAC5B,eAAe,CAACX,WAAW,IAAI;YACvC;QACF;QACA,MAAMwC,iBAAiB,IAAI,CAACnB,oBAAoB,CAC9C,IAAI,CAACV,eAAe,CAACN,MAAM;QAE7B,MAAMoC,yBAAyBtF,KAC7B,IAAI,CAACqB,OAAO,EACZ,UACA,GAAGzB,0BAA0B,KAAK,CAAC;QAErC,MAAM2F,uBAAuBvF,KAC3B,IAAI,CAACqB,OAAO,EACZ,UACA,GAAGzB,0BAA0B,GAAG,CAAC;QAEnC,MAAM4F,OAAO/C,KAAKQ,SAAS,CAACoC,gBAAgB,MAAM;QAClDlF,YAAYmF;QACZnF,YAAYoF;QACZnF,gBAAgBkF,wBAAwBE;QACxCpF,gBACEmF,sBACA,CAAC,2BAA2B,EAAE9C,KAAKQ,SAAS,CAACuC,OAAO;IAExD;IAEAC,qBAAqBzD,QAAgB,EAAQ;QAC3C,IAAI,CAACyB,iBAAiB,CAACvB,GAAG,CACxB3B,YAAY,OAAO,UAAUyB,WAC7BD,2BACE,IAAI,CAACV,OAAO,EACZhC,oBACA2C,UACA;IAGN;IAEQ0D,wBAA8B;QACpC,IAAI,CAAC,IAAI,CAACjC,iBAAiB,CAACZ,WAAW,IAAI;YACzC;QACF;QACA,MAAM8C,mBAAmB,IAAI,CAACC,mBAAmB,CAC/C,IAAI,CAACnC,iBAAiB,CAACP,MAAM;QAE/B,MAAM2C,uBAAuB7F,KAC3B,IAAI,CAACqB,OAAO,EACZ,UACAhC;QAEFc,YAAY0F;QACZzF,gBACEyF,sBACApD,KAAKQ,SAAS,CAAC0C,kBAAkB,MAAM;IAE3C;IAEQG,oBAA0B;QAChC,IAAI,CAAC,IAAI,CAAC/B,YAAY,CAAClB,WAAW,IAAI;YACpC;QACF;QACA,MAAMkB,eAAe,IAAI,CAACgC,iBAAiB,CAAC,IAAI,CAAChC,YAAY,CAACb,MAAM;QACpE,MAAM8C,OAAOhG,KAAK,IAAI,CAACqB,OAAO,EAAE,UAAUtB;QAC1CI,YAAY6F;QACZ5F,gBAAgB4F,MAAMvD,KAAKQ,SAAS,CAACc,cAAc,MAAM;IAC3D;IAEAkC,kBAAkBjE,QAAgB,EAAET,OAAwB,OAAO,EAAQ;QACzE,IAAI,CAACmC,cAAc,CAACxB,GAAG,CACrB3B,YAAYgB,MAAM,UAAUS,WAC5BD,2BAA2B,IAAI,CAACV,OAAO,EAAE/B,gBAAgB0C,UAAUT;IAEvE;IAEA2E,wBACElE,QAAgB,EAChBT,OAAwB,OAAO,EACzB;QACN,IAAI,CAACoC,oBAAoB,CAACzB,GAAG,CAC3B3B,YAAYgB,MAAM,UAAUS,WAC5BD,2BACE,IAAI,CAACV,OAAO,EACZxB,iCACAmC,UACAT;IAGN;IAEA4E,iBAAiBnE,QAAgB,EAAET,OAAwB,OAAO,EAAQ;QACxE,IAAI,CAACwC,YAAY,CAAC7B,GAAG,CACnB3B,YAAYgB,MAAM,UAAUS,WAC5BD,2BAA2B,IAAI,CAACV,OAAO,EAAEtB,eAAeiC,UAAUT;IAEtE;IAEQwE,kBAAkBK,UAAkC,EAAgB;QAC1E,MAAMC,cAA+C,CAAC;QACtD,MAAMC,SAAkC,IAAInD;QAC5C,MAAMoD,SAA2C,IAAIpD;QACrD,MAAMqD,UAA6C,IAAIrD;QAEvD,KAAK,MAAMsD,aAAaL,WAAY;YAClC,IAAIK,UAAUJ,WAAW,EAAE;gBACzB,KAAK,MAAM,CAACK,GAAGC,EAAE,IAAI5B,OAAO6B,OAAO,CAACH,UAAUJ,WAAW,EAAG;oBAC1D,IAAI,CAACA,WAAW,CAACK,EAAE,EAAE;wBACnBL,WAAW,CAACK,EAAE,GAAGC;oBACnB;gBACF;YACF;YAEA,IAAIF,UAAUH,MAAM,EAAE;gBACpB,KAAK,MAAMO,SAASJ,UAAUH,MAAM,CAAE;oBACpC,IAAI,CAACA,OAAO1D,GAAG,CAACiE,MAAMvF,IAAI,GAAG;wBAC3BgF,OAAOpE,GAAG,CAAC2E,MAAMvF,IAAI,EAAEuF;oBACzB;gBACF;YACF;YAEA,IAAIJ,UAAUF,MAAM,EAAE;gBACpB,KAAK,MAAMO,SAASL,UAAUF,MAAM,CAAE;oBACpC,IAAI,CAACA,OAAO3D,GAAG,CAACkE,MAAMC,EAAE,GAAI;wBAC1BR,OAAOrE,GAAG,CAAC4E,MAAMC,EAAE,EAAGD;oBACxB;gBACF;YACF;YAEA,IAAIL,UAAUD,OAAO,EAAE;gBACrB,KAAK,MAAMQ,UAAUP,UAAUD,OAAO,CAAE;oBACtC,MAAMO,KAAKC,OAAOD,EAAE;oBACpB,IAAIA,MAAM,MAAM;wBACd,uEAAuE;wBACvE,MAAME,WAAWT,QAAQlE,GAAG,CAACyE;wBAC7B,IAAIE,YAAY,MAAM;4BACpBT,QAAQtE,GAAG,CAAC6E,IAAIC;wBAClB,OAAO,IAAIA,OAAOT,MAAM,IAAI,QAAQU,SAASV,MAAM,IAAI,MAAM;4BAC3D,KAAK,MAAMO,SAASE,OAAOT,MAAM,CAAE;gCACjC,IAAI,CAACU,SAASV,MAAM,CAACW,QAAQ,CAACJ,QAAQ;oCACpCG,SAASV,MAAM,CAACY,IAAI,CAACL;gCACvB;4BACF;wBACF;oBACF;gBACF;YACF;QACF;QAEA,OAAO;YACLM,SAAS;YACTf;YACAC,QAAQ;mBAAIA,OAAOpD,MAAM;aAAG;YAC5BqD,QAAQ;mBAAIA,OAAOrD,MAAM;aAAG;YAC5BsD,SAAS;mBAAIA,QAAQtD,MAAM;aAAG;QAChC;IACF;IAEQmE,oBAAoBlD,SAAkC,EAAE;QAC9D,MAAMC,WAAkE;YACtEkD,OAAO;gBACL,SAAS,EAAE;YACb;YACA,4EAA4E;YAC5EC,UAAU,EAAE;YACZC,eAAe,EAAE;YACjBC,kBAAkB;gBAChB,CAAC,OAAO,EAAE,IAAI,CAACnE,OAAO,CAAC,gBAAgB,CAAC;gBACxC,CAAC,OAAO,EAAE,IAAI,CAACA,OAAO,CAAC,kBAAkB,CAAC;aAC3C;YACDoE,eAAe,EAAE;QACnB;QACA,KAAK,MAAMzC,KAAKd,UAAW;YACzBY,OAAOC,MAAM,CAACZ,SAASkD,KAAK,EAAErC,EAAEqC,KAAK;YACrC,IAAIrC,EAAEyC,aAAa,CAACC,MAAM,EAAEvD,SAASsD,aAAa,GAAGzC,EAAEyC,aAAa;YACpE,2FAA2F;YAC3F,IAAIzC,EAAEuC,aAAa,CAACG,MAAM,EAAEvD,SAASoD,aAAa,GAAGvC,EAAEuC,aAAa;QACtE;QACApD,SAASkD,KAAK,GAAGnC,gBAAgBf,SAASkD,KAAK;QAC/C,OAAOlD;IACT;IAEQwD,0BACNzD,SAAwC,EACxC0D,QAAkC,EAClCC,cAAwB,EACH;QACrB,MAAM1D,WAAW;YACf2D,YAAYF;YACZG,aAAaF;QACf;QACA,KAAK,MAAM7C,KAAKd,UAAW;YACzBY,OAAOC,MAAM,CAACZ,UAAUa;QAC1B;QACA,OAAOE,gBAAgBf;IACzB;IAEQ6D,sCACNC,WAA2D,EAC3DC,kBAAwD,EAClD;QACN,MAAMN,WAAWM,sBAAsB;YACrC,GAAGD,WAAW;YACdE,aAAa,AAACF,CAAAA,aAAaE,eAAe,EAAE,AAAD,EAAG5F,GAAG,CAACvB;YAClDoH,YAAY,AAACH,CAAAA,aAAaG,cAAc,EAAE,AAAD,EAAG7F,GAAG,CAACvB;YAChDqH,UAAU,AAACJ,CAAAA,aAAaI,YAAY,EAAE,AAAD,EAAG9F,GAAG,CAACvB;QAC9C;QAEA,MAAMsH,uBAAuB9F,KAAKQ,SAAS,CACzC4E,SAASO,WAAW,CAACI,MAAM,CAACnI;QAG9B,IAAI,IAAI,CAAC2D,0BAA0B,KAAKuE,sBAAsB;YAC5D;QACF;QACA,IAAI,CAACvE,0BAA0B,GAAGuE;QAElC,MAAME,kCAAkCzI,KACtC,IAAI,CAACqB,OAAO,EACZ,UACA,GAAG9B,oCAAoC,GAAG,CAAC;QAE7CY,YAAYsI;QAEZrI,gBACEqI,iCACA,CAAC,2CAA2C,EAAEhG,KAAKQ,SAAS,CAC1DsF,sBACA,CAAC,CAAC;IAER;IAEQG,qBAA2B;QACjC,IAAI,CAAC,IAAI,CAAChF,cAAc,CAACb,WAAW,IAAI;YACtC;QACF;QACA,MAAM8F,gBAAgB,IAAI,CAACtB,mBAAmB,CAAC,IAAI,CAAC3D,cAAc,CAACR,MAAM;QAEzE,MAAM0F,oBAAoB5I,KAAK,IAAI,CAACqB,OAAO,EAAE/B;QAC7C,MAAMuJ,8BAA8B7I,KAClC,IAAI,CAACqB,OAAO,EACZ,UACA,GAAG7B,0BAA0B,GAAG,CAAC;QAGnCW,YAAYyI;QACZzI,YAAY0I;QACZzI,gBAAgBwI,mBAAmBnG,KAAKQ,SAAS,CAAC0F,eAAe,MAAM;QACvEvI,gBACEyI,6BACA,wDAAwD;QACxD,4BAA4B;QAC5B3H,0BAA0ByH;QAG5B,gCAAgC;QAChC,MAAMG,wBAAwB,IAAI,CAACzB,mBAAmB,CACpD;YACE,IAAI,CAAC3D,cAAc,CAACpB,GAAG,CAAC/B,YAAY,SAAS,UAAU;YACvD,IAAI,CAACmD,cAAc,CAACpB,GAAG,CAAC/B,YAAY,SAAS,UAAU;SACxD,CAACiI,MAAM,CAACO;QAEX,MAAMC,4BAA4BhJ,KAChC,IAAI,CAACqB,OAAO,EACZ,CAAC,SAAS,EAAE/B,gBAAgB;QAE9Ba,YAAY6I;QACZ5I,gBACE4I,2BACAvG,KAAKQ,SAAS,CAAC6F,uBAAuB,MAAM;IAEhD;IAEQG,yBACN5C,WAAwB,EACxB6B,WAA2D,EAC3DC,kBAAwD,EAClD;QACN,MAAMN,WAAW9G,kCACfoH,sBAAsB;YACpB,GAAGD,WAAW;YACdE,aAAa,AAACF,CAAAA,aAAaE,eAAe,EAAE,AAAD,EAAG5F,GAAG,CAACvB;YAClDoH,YAAY,AAACH,CAAAA,aAAaG,cAAc,EAAE,AAAD,EAAG7F,GAAG,CAACvB;YAChDqH,UAAU,AAACJ,CAAAA,aAAaI,YAAY,EAAE,AAAD,EAAG9F,GAAG,CAACvB;QAC9C;QAGF,MAAMiI,YAAY;eAAI7C,YAAYjF,IAAI,CAAC+H,IAAI;SAAG;QAC9C,IAAI9C,YAAY+C,MAAM,CAACC,GAAG,EAAE;YAC1BH,UAAU/B,IAAI,CAAC;QACjB;QACA,IAAId,YAAY+C,MAAM,CAACE,KAAK,EAAE;YAC5BJ,UAAU/B,IAAI,CAAC;QACjB;QAEA,MAAMW,iBAAiBtH,gBAAgB0I;QAEvC,IAAI,CAAC,IAAI,CAACvF,oBAAoB,CAACd,WAAW,CAAC;YAAEgF;YAAUC;QAAe,IAAI;YACxE;QACF;QACA,MAAMyB,sBAAsB,IAAI,CAAC3B,yBAAyB,CACxD,IAAI,CAACjE,oBAAoB,CAACT,MAAM,IAChC2E,UACAC;QAEF,MAAM0B,wBAAwB,CAAC,wBAAwB,EAAE/G,KAAKQ,SAAS,CACrEsG,qBACA,MACA,GACA,uDAAuD,CAAC;QAC1DnJ,gBACEJ,KAAK,IAAI,CAACqB,OAAO,EAAE,UAAU,IAAI,CAACiC,OAAO,EAAE,sBAC3CkG;QAEFpJ,gBACEJ,KAAK,IAAI,CAACqB,OAAO,EAAE,UAAU,IAAI,CAACiC,OAAO,EAAE,oBAC3CtC;IAEJ;IAEAyI,iBAAiBzH,QAAgB,EAAET,OAAwB,OAAO,EAAQ;QACxE,IAAI,CAACqC,aAAa,CAAC1B,GAAG,CACpB3B,YAAYgB,MAAM,UAAUS,WAC5BD,2BACE,IAAI,CAACV,OAAO,EACZ,GAAG3B,mBAAmB,KAAK,CAAC,EAC5BsC,UACAT;IAGN;IAEQmI,mBAAmBvF,SAAqC,EAAE;QAChE,MAAMC,WAA6B;YACjCiF,KAAK,CAAC;YACNM,oBAAoB;YACpBrC,OAAO,CAAC;YACRsC,sBAAsB;QACxB;QACA,KAAK,MAAM3E,KAAKd,UAAW;YACzBY,OAAOC,MAAM,CAACZ,SAASiF,GAAG,EAAEpE,EAAEoE,GAAG;YACjCtE,OAAOC,MAAM,CAACZ,SAASkD,KAAK,EAAErC,EAAEqC,KAAK;YAErClD,SAASuF,kBAAkB,GACzBvF,SAASuF,kBAAkB,IAAI1E,EAAE0E,kBAAkB;YACrDvF,SAASwF,oBAAoB,GAC3BxF,SAASwF,oBAAoB,IAAI3E,EAAE2E,oBAAoB;QAC3D;QACAxF,SAASiF,GAAG,GAAGlE,gBAAgBf,SAASiF,GAAG;QAC3CjF,SAASkD,KAAK,GAAGnC,gBAAgBf,SAASkD,KAAK;QAC/C,OAAOlD;IACT;IAEA,MAAcyF,wBAAuC;QACnD,IAAI,CAAC,IAAI,CAACjG,aAAa,CAACf,WAAW,IAAI;YACrC;QACF;QACA,MAAMiH,eAAe,IAAI,CAACJ,kBAAkB,CAAC,IAAI,CAAC9F,aAAa,CAACV,MAAM;QACtE,MAAMsC,OAAO/C,KAAKQ,SAAS,CAAC6G,cAAc,MAAM;QAEhD,MAAMC,uBAAuB/J,KAC3B,IAAI,CAACqB,OAAO,EACZ,UACA,GAAG3B,mBAAmB,KAAK,CAAC;QAE9B,MAAMsK,qBAAqBhK,KACzB,IAAI,CAACqB,OAAO,EACZ,UACA,GAAG3B,mBAAmB,GAAG,CAAC;QAE5BS,YAAY4J;QACZ5J,YAAY6J;QACZ5J,gBAAgB2J,sBAAsBvE;QACtCpF,gBACE4J,oBACA,CAAC,0BAA0B,EAAEvH,KAAKQ,SAAS,CAACuC,OAAO;IAEvD;IAEA;;GAEC,GACDyE,uBACEjI,QAAgB,EAChBT,IAAwD,EAC/C;QACT,MAAM2I,yBAAyB/I,gBAC7Ba,UACA,IAAI,CAACX,OAAO,EACZ5B,qBACA8B,MACA;QAGF,uHAAuH;QACvH,IAAI,CAACd,WAAWyJ,yBAAyB;YACvC,OAAO;QACT;QAEA,IAAI,CAACrG,mBAAmB,CAAC3B,GAAG,CAC1B3B,YACEgB,SAAS,gBAAgBA,SAAS,oBAAoB,SAASA,MAC/D,UACAS,WAEFD,2BACE,IAAI,CAACV,OAAO,EACZ5B,qBACAuC,UACAT;QAIJ,OAAO;IACT;IAEA4I,sBAAsBhI,GAAa,EAAE;QACnC,OAAO,IAAI,CAAC0B,mBAAmB,CAACvB,GAAG,CAACH;IACtC;IAEAiI,yBAAyBjI,GAAa,EAAE;QACtC,OAAO,IAAI,CAAC0B,mBAAmB,CAAClB,MAAM,CAACR;IACzC;IAEQkI,yBACNlG,SAAgD,EAC5B;QACpB,MAAMC,WAA+B;YACnCgD,SAAS;YACTkD,YAAY,CAAC;YACbC,kBAAkB,EAAE;YACpBC,WAAW,CAAC;QACd;QACA,IAAIC,kBAAyD1H;QAC7D,KAAK,MAAMkC,KAAKd,UAAW;YACzBY,OAAOC,MAAM,CAACZ,SAASoG,SAAS,EAAEvF,EAAEuF,SAAS;YAC7CzF,OAAOC,MAAM,CAACZ,SAASkG,UAAU,EAAErF,EAAEqF,UAAU;YAC/C,IAAIrF,EAAEwF,eAAe,EAAE;gBACrBA,kBAAkBxF,EAAEwF,eAAe;YACrC;QACF;QACArG,SAASoG,SAAS,GAAGrF,gBAAgBf,SAASoG,SAAS;QACvDpG,SAASkG,UAAU,GAAGnF,gBAAgBf,SAASkG,UAAU;QACzD,MAAMI,2BAA2B,CAC/BC;YAEA,OAAO;gBACL,GAAGA,GAAG;gBACNC,OAAO;uBAAKH,iBAAiBG,SAAS,EAAE;uBAAMD,IAAIC,KAAK;iBAAC;YAC1D;QACF;QACA,KAAK,MAAMzI,OAAO4C,OAAOoE,IAAI,CAAC/E,SAASkG,UAAU,EAAG;YAClD,MAAMlI,QAAQgC,SAASkG,UAAU,CAACnI,IAAI;YACtCiC,SAASkG,UAAU,CAACnI,IAAI,GAAGuI,yBAAyBtI;QACtD;QACA,KAAK,MAAMD,OAAO4C,OAAOoE,IAAI,CAAC/E,SAASoG,SAAS,EAAG;YACjD,MAAMpI,QAAQgC,SAASoG,SAAS,CAACrI,IAAI;YACrCiC,SAASoG,SAAS,CAACrI,IAAI,GAAGuI,yBAAyBtI;QACrD;QACA,KAAK,MAAMuI,OAAO5F,OAAO7B,MAAM,CAACkB,SAASoG,SAAS,EAAEK,MAAM,CACxD9F,OAAO7B,MAAM,CAACkB,SAASkG,UAAU,GAChC;YACD,KAAK,MAAMQ,WAAWH,IAAII,QAAQ,CAAE;gBAClC,IAAI,CAACD,QAAQE,MAAM,EAAE;oBACnBF,QAAQE,MAAM,GAAGlK,iBAAiBgK,QAAQG,cAAc,EAAE,EAAE,EAAE;wBAC5DC,WAAW;wBACXC,WAAW;wBACXC,QAAQ;oBACV,GAAGC,MAAM,CAACC,UAAU,CAAC,OAAO;gBAC9B;YACF;QACF;QACAlH,SAASmG,gBAAgB,GAAGxF,OAAOoE,IAAI,CAAC/E,SAASkG,UAAU;QAE3D,OAAOlG;IACT;IAEQmH,0BAAgC;QACtC,IAAI,CAAC,IAAI,CAAC1H,mBAAmB,CAAChB,WAAW,IAAI;YAC3C;QACF;QACA,MAAM2I,qBAAqB,IAAI,CAACnB,wBAAwB,CACtD,IAAI,CAACxG,mBAAmB,CAACX,MAAM;QAGjC,6BAA6B;QAE7B,8CAA8C;QAC9C,IAAK,MAAMf,OAAOqJ,mBAAmBlB,UAAU,CAAE;YAC/CkB,mBAAmBlB,UAAU,CAACnI,IAAI,CAAC4I,QAAQ,CAACU,OAAO,CAAC,CAACX;gBACnD,IAAI,CAACA,QAAQE,MAAM,CAACU,UAAU,CAAC,MAAM;oBACnC,MAAMC,aAAa9K,eAAeiK,QAAQE,MAAM;oBAChD,IAAIW,WAAWrC,KAAK,IAAI,CAACqC,WAAWC,QAAQ,EAAE;wBAC5C,MAAM,qBAA8C,CAA9C,IAAIC,MAAM,CAAC,gBAAgB,EAAEf,QAAQE,MAAM,EAAE,GAA7C,qBAAA;mCAAA;wCAAA;0CAAA;wBAA6C;oBACrD;oBACAF,QAAQE,MAAM,GAAGW,WAAWC,QAAQ;gBACtC;YACF;QACF;QAEA,MAAM1B,yBAAyBlK,KAC7B,IAAI,CAACqB,OAAO,EACZ,UACA5B;QAEFU,YAAY+J;QACZ9J,gBACE8J,wBACAzH,KAAKQ,SAAS,CAACuI,oBAAoB,MAAM;QAG3C,6BAA6B;QAC7B,MAAMT,WAAWS,oBAAoBlB,UAAU,CAAC,IAAI,EAAES,YAAY,EAAE;QAEpE,MAAMe,+BAA+B9L,KACnC,IAAI,CAACqB,OAAO,EACZ,UACA,IAAI,CAACiC,OAAO,EACZ,GAAGxD,sCAAsC;QAE3CK,YAAY2L;QACZ1L,gBACE0L,8BACArJ,KAAKQ,SAAS,CAAC8H,UAAU,MAAM;IAEnC;IAEAgB,kBAAkB/J,QAAgB,EAAQ;QACxC,IAAI,CAAC8B,cAAc,CAAC5B,GAAG,CACrB3B,YAAY,SAAS,UAAUyB,WAC/BD,2BAA2B,IAAI,CAACV,OAAO,EAAE1B,gBAAgBqC;IAE7D;IAEQ4D,oBAAoBzB,SAAkC,EAAE;QAC9D,MAAMC,WAA0B,CAAC;QACjC,KAAK,MAAMa,KAAKd,UAAW;YACzBY,OAAOC,MAAM,CAACZ,UAAUa;QAC1B;QACA,OAAOE,gBAAgBf;IACzB;IAEQ4H,qBAA2B;QACjC,IAAI,CAAC,IAAI,CAAClI,cAAc,CAACjB,WAAW,IAAI;YACtC;QACF;QACA,MAAMoJ,gBAAgB,IAAI,CAACrG,mBAAmB,CAAC,IAAI,CAAC9B,cAAc,CAACZ,MAAM;QACzE,MAAMgJ,oBAAoBlM,KAAK,IAAI,CAACqB,OAAO,EAAE,UAAU1B;QACvDQ,YAAY+L;QACZ9L,gBAAgB8L,mBAAmBzJ,KAAKQ,SAAS,CAACgJ,eAAe,MAAM;IACzE;IAEAE,eAAe,EACbjE,WAAW,EACXC,kBAAkB,EAClB9B,WAAW,EAKZ,EAAQ;QACP,IAAI,CAACjB,mBAAmB;QACxB,IAAI,CAACM,qBAAqB;QAC1B,IAAI,CAACgD,kBAAkB;QACvB,IAAI,CAACT,qCAAqC,CAACC,aAAaC;QACxD,IAAI,CAACc,wBAAwB,CAAC5C,aAAa6B,aAAaC;QACxD,IAAI,CAACoD,uBAAuB;QAC5B,IAAI,CAAC1B,qBAAqB;QAC1B,IAAI,CAACmC,kBAAkB;QAEvB,IAAII,QAAQC,GAAG,CAACC,eAAe,IAAI,MAAM;YACvC,IAAI,CAACxG,iBAAiB;QACxB;IACF;AACF;AAEA,SAASX,gBAAgBoH,GAAwB;IAC/C,OAAOxH,OAAOoE,IAAI,CAACoD,KAChBC,IAAI,GACJC,MAAM,CACL,CAACC,KAAKvK;QACJuK,GAAG,CAACvK,IAAI,GAAGoK,GAAG,CAACpK,IAAI;QACnB,OAAOuK;IACT,GACA,CAAC;AAEP","ignoreList":[0]} |