@customize-agent/server 4.60.35 → 4.60.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +197 -297
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.json +3 -7
- package/.next/routes-manifest.json +19 -30
- package/.next/server/chunks/{8645.js → 1026.js} +1 -1
- package/.next/server/chunks/1146.js +1 -0
- package/.next/server/chunks/1547.js +385 -0
- package/.next/server/chunks/3074.js +1 -0
- package/.next/server/chunks/3239.js +7 -0
- package/.next/server/chunks/3750.js +2 -0
- package/.next/server/chunks/407.js +1 -0
- package/.next/server/chunks/5037.js +46 -0
- package/.next/server/chunks/5304.js +2 -2
- package/.next/server/chunks/5599.js +1 -0
- package/.next/server/chunks/5763.js +159 -0
- package/.next/server/chunks/6138.js +5 -0
- package/.next/server/chunks/6355.js +1 -0
- package/.next/server/chunks/6822.js +1 -1
- package/.next/server/chunks/702.js +3 -0
- package/.next/server/chunks/7296.js +1 -0
- package/.next/server/chunks/8176.js +1 -0
- package/.next/server/chunks/8204.js +1 -1
- package/.next/server/chunks/8459.js +11 -0
- package/.next/server/chunks/8570.js +1 -0
- package/.next/server/chunks/9270.js +1 -0
- package/.next/server/chunks/9301.js +2 -2
- package/.next/server/chunks/9522.js +5 -0
- package/.next/server/chunks/9559.js +1 -0
- package/.next/server/chunks/9688.js +10 -0
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/_app.js +1 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js +1 -1
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error.js +1 -1
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/api/assets/generated/preview.js +2 -1
- package/.next/server/pages/api/assets/generated/preview.js.nft.json +1 -1
- package/.next/server/pages/api/assets/generated.js +2 -1
- package/.next/server/pages/api/assets/generated.js.nft.json +1 -1
- package/.next/server/pages/api/config/embedding/healthCheck.js +2 -3
- package/.next/server/pages/api/config/embedding/healthCheck.js.nft.json +1 -1
- package/.next/server/pages/api/config/embedding.js +2 -3
- package/.next/server/pages/api/config/embedding.js.nft.json +1 -1
- package/.next/server/pages/api/config/healthCheck.js +2 -3
- package/.next/server/pages/api/config/healthCheck.js.nft.json +1 -1
- package/.next/server/pages/api/config/models.js +2 -3
- package/.next/server/pages/api/config/models.js.nft.json +1 -1
- package/.next/server/pages/api/config/providers/[provider].js +2 -3
- package/.next/server/pages/api/config/providers/[provider].js.nft.json +1 -1
- package/.next/server/pages/api/config/providers.js +2 -3
- package/.next/server/pages/api/config/providers.js.nft.json +1 -1
- package/.next/server/pages/api/config/reset.js +2 -3
- package/.next/server/pages/api/config/reset.js.nft.json +1 -1
- package/.next/server/pages/api/config/web-access.js +2 -3
- package/.next/server/pages/api/config/web-access.js.nft.json +1 -1
- package/.next/server/pages/api/documents/canvas/[id].js +2 -1
- package/.next/server/pages/api/documents/canvas/[id].js.nft.json +1 -1
- package/.next/server/pages/api/documents/delivery-review.js +2 -0
- package/.next/server/pages/api/documents/delivery-review.js.nft.json +1 -0
- package/.next/server/pages/api/documents/export.js +5 -2
- package/.next/server/pages/api/documents/export.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generate/preview.js +6 -1
- package/.next/server/pages/api/documents/generate/preview.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generate.js +2 -1
- package/.next/server/pages/api/documents/generate.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/events.js +4 -3
- package/.next/server/pages/api/documents/generated/[id]/events.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/figure/[name].js +2 -1
- package/.next/server/pages/api/documents/generated/[id]/figure/[name].js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/instruction.js +4 -2
- package/.next/server/pages/api/documents/generated/[id]/instruction.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/messages.js +2 -0
- package/.next/server/pages/api/documents/generated/[id]/messages.js.nft.json +1 -0
- package/.next/server/pages/api/documents/generated/[id]/nodes/[nodeId].js +2 -1
- package/.next/server/pages/api/documents/generated/[id]/nodes/[nodeId].js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/nodes.js +2 -1
- package/.next/server/pages/api/documents/generated/[id]/nodes.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/pause.js +2 -1
- package/.next/server/pages/api/documents/generated/[id]/pause.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/preview.js +2 -1
- package/.next/server/pages/api/documents/generated/[id]/preview.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/confirm.js +2 -1
- package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/confirm.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/rollback.js +2 -1
- package/.next/server/pages/api/documents/generated/[id]/repair/[rid]/rollback.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/repair.js +2 -1
- package/.next/server/pages/api/documents/generated/[id]/repair.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/report.js +2 -1
- package/.next/server/pages/api/documents/generated/[id]/report.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id]/resume-generate.js +2 -1
- package/.next/server/pages/api/documents/generated/[id]/resume-generate.js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated/[id].js +2 -1
- package/.next/server/pages/api/documents/generated/[id].js.nft.json +1 -1
- package/.next/server/pages/api/documents/generated.js +2 -1
- package/.next/server/pages/api/documents/generated.js.nft.json +1 -1
- package/.next/server/pages/api/health.js +1 -1
- package/.next/server/pages/api/health.js.nft.json +1 -1
- package/.next/server/pages/api/jobs/[id].js +2 -2
- package/.next/server/pages/api/jobs/[id].js.nft.json +1 -1
- package/.next/server/pages/api/kb/categories.js +2 -1
- package/.next/server/pages/api/kb/categories.js.nft.json +1 -1
- package/.next/server/pages/api/kb/duplicates.js +2 -1
- package/.next/server/pages/api/kb/duplicates.js.nft.json +1 -1
- package/.next/server/pages/api/kb/features.js +2 -3
- package/.next/server/pages/api/kb/features.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/detail.js +2 -1
- package/.next/server/pages/api/kb/files/detail.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/export.js +2 -1
- package/.next/server/pages/api/kb/files/export.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/open.js +2 -1
- package/.next/server/pages/api/kb/files/open.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/preview-pdf-page.js +2 -1
- package/.next/server/pages/api/kb/files/preview-pdf-page.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/reindex.js +1 -2
- package/.next/server/pages/api/kb/files/reindex.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/search.js +2 -1
- package/.next/server/pages/api/kb/files/search.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files/source-preview.js +2 -1
- package/.next/server/pages/api/kb/files/source-preview.js.nft.json +1 -1
- package/.next/server/pages/api/kb/files.js +2 -2
- package/.next/server/pages/api/kb/files.js.nft.json +1 -1
- package/.next/server/pages/api/kb/ignore.js +2 -1
- package/.next/server/pages/api/kb/ignore.js.nft.json +1 -1
- package/.next/server/pages/api/kb/material-groups.js +2 -1
- package/.next/server/pages/api/kb/material-groups.js.nft.json +1 -1
- package/.next/server/pages/api/kb/operations.js +2 -2
- package/.next/server/pages/api/kb/operations.js.nft.json +1 -1
- package/.next/server/pages/api/kb/reindex.js +1 -2
- package/.next/server/pages/api/kb/reindex.js.nft.json +1 -1
- package/.next/server/pages/api/kb/stats.js +2 -1
- package/.next/server/pages/api/kb/stats.js.nft.json +1 -1
- package/.next/server/pages/api/kb/tags.js +2 -1
- package/.next/server/pages/api/kb/tags.js.nft.json +1 -1
- package/.next/server/pages/api/kb/upload/complete.js +1 -2
- package/.next/server/pages/api/kb/upload/complete.js.nft.json +1 -1
- package/.next/server/pages/api/kb/upload.js +1 -2
- package/.next/server/pages/api/kb/upload.js.nft.json +1 -1
- package/.next/server/pages/api/prompt/chat.js +3 -4
- package/.next/server/pages/api/prompt/chat.js.nft.json +1 -1
- package/.next/server/pages/api/skills/[id].js +2 -1
- package/.next/server/pages/api/skills/[id].js.nft.json +1 -1
- package/.next/server/pages/api/skills/validate.js +2 -1
- package/.next/server/pages/api/skills/validate.js.nft.json +1 -1
- package/.next/server/pages/api/skills.js +2 -1
- package/.next/server/pages/api/skills.js.nft.json +1 -1
- package/.next/server/pages/api/system/data-health.js +2 -2
- package/.next/server/pages/api/system/data-health.js.nft.json +1 -1
- package/.next/server/pages/api/system/reset.js +1 -1
- package/.next/server/pages/api/system/reset.js.nft.json +1 -1
- package/.next/server/pages/documents.html +1 -1
- package/.next/server/pages/documents.js.nft.json +1 -1
- package/.next/server/pages/generation/[id].html +1 -0
- package/.next/server/pages/generation/[id].js.nft.json +1 -0
- package/.next/server/pages/generation.html +1 -0
- package/.next/server/pages/generation.js.nft.json +1 -0
- package/.next/server/pages/index.js +1 -0
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/jobs.html +1 -1
- package/.next/server/pages/jobs.js.nft.json +1 -1
- package/.next/server/pages/knowledge/file-detail.html +1 -1
- package/.next/server/pages/knowledge/file-detail.js.nft.json +1 -1
- package/.next/server/pages/knowledge/files.html +1 -1
- package/.next/server/pages/knowledge/files.js.nft.json +1 -1
- package/.next/server/pages/knowledge/manage.html +1 -1
- package/.next/server/pages/knowledge/manage.js.nft.json +1 -1
- package/.next/server/pages/knowledge/source-preview.html +1 -1
- package/.next/server/pages/knowledge/source-preview.js.nft.json +1 -1
- package/.next/server/pages/knowledge.html +1 -1
- package/.next/server/pages/knowledge.js.nft.json +1 -1
- package/.next/server/pages/models.html +1 -1
- package/.next/server/pages/models.js.nft.json +1 -1
- package/.next/server/pages/settings.html +1 -1
- package/.next/server/pages/settings.js.nft.json +1 -1
- package/.next/server/pages/skills/[id]/edit.html +1 -1
- package/.next/server/pages/skills/[id]/edit.js.nft.json +1 -1
- package/.next/server/pages/skills/[id].html +1 -1
- package/.next/server/pages/skills/[id].js.nft.json +1 -1
- package/.next/server/pages/skills/new.html +1 -1
- package/.next/server/pages/skills/new.js.nft.json +1 -1
- package/.next/server/pages/skills.html +1 -1
- package/.next/server/pages/skills.js.nft.json +1 -1
- package/.next/server/pages-manifest.json +35 -40
- package/.next/static/32e126df53e20cd9bcca5e12141140949358a0d11d2383f7242277a4f8acbf1d/_buildManifest.js +1 -0
- package/.next/static/chunks/112-9eacc7c0686813d6.js +1 -0
- package/.next/static/chunks/127-5ee1899eef559281.js +1 -0
- package/.next/static/chunks/{1210-703ad87eaeee1e4e.js → 210-71eaf9de9aa92051.js} +1 -1
- package/.next/static/chunks/325-45106bb003a2c5ce.js +4 -0
- package/.next/static/chunks/326-a3915e61888b0dbf.js +1 -0
- package/.next/static/chunks/333-7642e65bff6b8465.js +1 -0
- package/.next/static/chunks/338-19ccbaec57a7bf9c.js +4 -0
- package/.next/static/chunks/350-87b9c900a356d9b9.js +1 -0
- package/.next/static/chunks/359-f87c659236e0e0fe.js +1 -0
- package/.next/static/chunks/{8399-a001bb2a0cb1640b.js → 399-aa8a45d80e989621.js} +1 -1
- package/.next/static/chunks/430-f288e16301b9aea5.js +1 -0
- package/.next/static/chunks/465-80fbb245d43232c8.js +6 -0
- package/.next/static/chunks/499-2233cadc6d4da647.js +10 -0
- package/.next/static/chunks/551-fd86e95935b0957f.js +16 -0
- package/.next/static/chunks/576-6699fed6c88502fe.js +1 -0
- package/.next/static/chunks/61-de1dd9c104680470.js +1 -0
- package/.next/static/chunks/665-0634aa49137defc4.js +1 -0
- package/.next/static/chunks/681-e31b13114497e058.js +1 -0
- package/.next/static/chunks/687-644a12a5b584e19f.js +1 -0
- package/.next/static/chunks/702-4d9cc8d4d7775ea9.js +1 -0
- package/.next/static/chunks/748-9e5bf4181d7482f3.js +1 -0
- package/.next/static/chunks/759-280cf4040fae83af.js +25 -0
- package/.next/static/chunks/855-cbf7cd1db33198f0.js +17 -0
- package/.next/static/chunks/862-13d1c84d0938b824.js +1 -0
- package/.next/static/chunks/937-ccd3ceb1b3739535.js +1 -0
- package/.next/static/chunks/{8964-e959915ecfae86b2.js → 964-82cc4701f08f7351.js} +1 -1
- package/.next/static/chunks/992-8032f477230baaaf.js +1 -0
- package/.next/static/chunks/framework-4b565b3ddc94cdac.js +1 -0
- package/.next/static/chunks/main-0c91f573696223ca.js +1 -0
- package/.next/static/chunks/pages/_app-a70de062f1be1c59.js +140 -0
- package/.next/static/chunks/pages/_error-282257fbdcc167b4.js +1 -0
- package/.next/static/chunks/pages/documents-2d99ae9287f9739b.js +1 -0
- package/.next/static/chunks/pages/generation/[id]-83db154d46fd7aeb.js +1 -0
- package/.next/static/chunks/pages/generation-043e325d635c96af.js +1 -0
- package/.next/static/chunks/pages/index-24d1f8f39ae0beb0.js +1 -0
- package/.next/static/chunks/pages/jobs-ff2f899a081b616e.js +1 -0
- package/.next/static/chunks/pages/knowledge/file-detail-9a9a89e4fa33c0d9.js +1 -0
- package/.next/static/chunks/pages/knowledge/files-b3ef5324e4b74c4a.js +1 -0
- package/.next/static/chunks/pages/knowledge/manage-d9eaebf3a8307953.js +1 -0
- package/.next/static/chunks/pages/knowledge/{source-preview-24936b9a746ed07f.js → source-preview-f000b4d63cd65a54.js} +1 -1
- package/.next/static/chunks/pages/knowledge-8fa842d21892e2c3.js +1 -0
- package/.next/static/chunks/pages/models-6d9b301009f82395.js +1 -0
- package/.next/static/chunks/pages/settings-08893ba8afa1a486.js +1 -0
- package/.next/static/chunks/pages/skills/[id]/edit-378249e662ebf31f.js +1 -0
- package/.next/static/chunks/pages/skills/[id]-0ca4cde22e4a518b.js +1 -0
- package/.next/static/chunks/pages/skills/new-c1eb16d98fad4e02.js +1 -0
- package/.next/static/chunks/pages/skills-9fb1fa2b669ad4e3.js +1 -0
- package/.next/static/chunks/{webpack-2da1769ff35eb1ed.js → webpack-6224d37324e372cb.js} +1 -1
- package/.next/static/css/1f6d2a1bf5e15e0f.css +1 -0
- package/.next/static/css/b420c193e0e99857.css +1 -0
- package/README.md +14 -4
- package/messages/en-US.json +46 -100
- package/messages/zh-CN.json +44 -98
- package/next.config.ts +6 -5
- package/package.json +14 -16
- package/scripts/build-identity.cjs +16 -5
- package/scripts/check-workspace-deps.cjs +3 -3
- package/scripts/purge-next-artifacts.cjs +8 -5
- package/scripts/upload-matrix.cjs +1 -2
- package/scripts/verify-next-static.js +1 -1
- package/.next/package.json +0 -1
- package/.next/server/chunks/1001.js +0 -2
- package/.next/server/chunks/1243.js +0 -3
- package/.next/server/chunks/1928.js +0 -1
- package/.next/server/chunks/1936.js +0 -385
- package/.next/server/chunks/2328.js +0 -6
- package/.next/server/chunks/2434.js +0 -3
- package/.next/server/chunks/3806.js +0 -1
- package/.next/server/chunks/4974.js +0 -2
- package/.next/server/chunks/5746.js +0 -5
- package/.next/server/chunks/6321.js +0 -1
- package/.next/server/chunks/7848.js +0 -144
- package/.next/server/chunks/9666.js +0 -146
- package/.next/server/instrumentation.js +0 -1
- package/.next/server/instrumentation.js.nft.json +0 -1
- package/.next/server/pages/api/prompt.js +0 -2
- package/.next/server/pages/api/prompt.js.nft.json +0 -1
- package/.next/server/pages/api/system/logs.js +0 -2
- package/.next/server/pages/api/system/logs.js.nft.json +0 -1
- package/.next/server/pages/api/system/stats.js +0 -2
- package/.next/server/pages/api/system/stats.js.nft.json +0 -1
- package/.next/server/pages/canvas/[id].html +0 -1
- package/.next/server/pages/canvas/[id].js.nft.json +0 -1
- package/.next/server/pages/canvas.html +0 -1
- package/.next/server/pages/canvas.js.nft.json +0 -1
- package/.next/server/pages/guide.html +0 -1
- package/.next/server/pages/guide.js.nft.json +0 -1
- package/.next/server/pages/index.html +0 -1
- package/.next/server/pages/overview.html +0 -1
- package/.next/server/pages/overview.js.nft.json +0 -1
- package/.next/server/pages/prompt.html +0 -1
- package/.next/server/pages/prompt.js.nft.json +0 -1
- package/.next/server/pages/system/logs.html +0 -1
- package/.next/server/pages/system/logs.js.nft.json +0 -1
- package/.next/static/chunks/1141-d420a7685bc3623c.js +0 -1
- package/.next/static/chunks/1499-ff8f02f6bb6f3d45.js +0 -10
- package/.next/static/chunks/1702-f5e99af7aface475.js +0 -1
- package/.next/static/chunks/2864-b040f2bffa08c139.js +0 -6
- package/.next/static/chunks/3456-70bb03a39473f693.js +0 -1
- package/.next/static/chunks/3980-73841c40d55ddfa1.js +0 -1
- package/.next/static/chunks/4052-199e61ca9e6a33e7.js +0 -1
- package/.next/static/chunks/4337-a670a1a94ab505d9.js +0 -1
- package/.next/static/chunks/4530-8b9788da40548ec6.js +0 -1
- package/.next/static/chunks/4565-3c5ff667062ccec9.js +0 -21
- package/.next/static/chunks/4665-1984a3d8b0573fa1.js +0 -1
- package/.next/static/chunks/5061-80765d4a612286e0.js +0 -1
- package/.next/static/chunks/5544-d77b8289662b4c28.js +0 -4
- package/.next/static/chunks/5760-f4191aac081b12d4.js +0 -11
- package/.next/static/chunks/6409-5a3bb0fbad4f64b1.js +0 -14
- package/.next/static/chunks/6506-ac0ba7338cc84b7d.js +0 -1
- package/.next/static/chunks/6748-07b0b05bf03c72f0.js +0 -1
- package/.next/static/chunks/7217-416b8488e0d2d498.js +0 -1
- package/.next/static/chunks/7576-ba6fc03060415b0e.js +0 -1
- package/.next/static/chunks/7646-159733564c7eb8dc.js +0 -1
- package/.next/static/chunks/7795-c11ff1a81c67c5aa.js +0 -1
- package/.next/static/chunks/8318-cb3a94de1617f983.js +0 -1
- package/.next/static/chunks/8338-b2ea00050048ba9f.js +0 -4
- package/.next/static/chunks/8564-ac3e2f1bf87765b3.js +0 -1
- package/.next/static/chunks/8569-1d5c61a3f4fa0e26.js +0 -16
- package/.next/static/chunks/8715-ee013bd7f5ba38e8.js +0 -1
- package/.next/static/chunks/8750-a3c55a576effb3a6.js +0 -1
- package/.next/static/chunks/8787-49b1f35eb4acfac9.js +0 -10
- package/.next/static/chunks/9551-f4b09bf2213ad571.js +0 -16
- package/.next/static/chunks/9605-3dee531f8a7ecbe0.js +0 -4
- package/.next/static/chunks/9937-e4b2deadd24e3962.js +0 -1
- package/.next/static/chunks/framework-9cde5013cd555765.js +0 -1
- package/.next/static/chunks/main-b313efde54fa6d2e.js +0 -1
- package/.next/static/chunks/pages/_app-51c48c5efcf5c721.js +0 -140
- package/.next/static/chunks/pages/_error-c01b6fb772028676.js +0 -1
- package/.next/static/chunks/pages/canvas/[id]-18865f1b7e3a4696.js +0 -1
- package/.next/static/chunks/pages/canvas-1d3589790493e955.js +0 -1
- package/.next/static/chunks/pages/documents-a1af5c6be26daed2.js +0 -1
- package/.next/static/chunks/pages/guide-fdf0822dc1d28813.js +0 -1
- package/.next/static/chunks/pages/index-c572e9caa60cb278.js +0 -1
- package/.next/static/chunks/pages/jobs-ebd1877dbf788a83.js +0 -1
- package/.next/static/chunks/pages/knowledge/file-detail-3d1ffd43f4f0e47b.js +0 -1
- package/.next/static/chunks/pages/knowledge/files-b796702bb5f8ac50.js +0 -1
- package/.next/static/chunks/pages/knowledge/manage-6d7b21cdca1255f2.js +0 -1
- package/.next/static/chunks/pages/knowledge-2a776c1740386874.js +0 -1
- package/.next/static/chunks/pages/models-8a89dd5bf0f81242.js +0 -1
- package/.next/static/chunks/pages/overview-7e8018014009682e.js +0 -1
- package/.next/static/chunks/pages/prompt-11f87694feb6514c.js +0 -1
- package/.next/static/chunks/pages/settings-e8dcaba1551a0b2b.js +0 -1
- package/.next/static/chunks/pages/skills/[id]/edit-99e616d5019e80b1.js +0 -1
- package/.next/static/chunks/pages/skills/[id]-71f696be252bbf0d.js +0 -1
- package/.next/static/chunks/pages/skills/new-00886ea4c676f927.js +0 -1
- package/.next/static/chunks/pages/skills-8ad2577b4aa17f3b.js +0 -1
- package/.next/static/chunks/pages/system/logs-0856f7c65432befb.js +0 -1
- package/.next/static/css/2da1c822e3bdb4bb.css +0 -1
- package/.next/static/css/9eb02c1a401fd278.css +0 -1
- package/.next/static/e598c2bda8274fb1bb8f7e00f0f36fd4deae91b11929c9f04f17e1ae36b34697/_buildManifest.js +0 -1
- package/scripts/half-built-scan.allow.json +0 -152
- package/scripts/half-built-scan.baseline.json +0 -190
- package/scripts/half-built-scan.mjs +0 -287
- /package/.next/static/{e598c2bda8274fb1bb8f7e00f0f36fd4deae91b11929c9f04f17e1ae36b34697 → 32e126df53e20cd9bcca5e12141140949358a0d11d2383f7242277a4f8acbf1d}/_ssgManifest.js +0 -0
|
@@ -9,11 +9,11 @@ exports.id=9301,exports.ids=[9301],exports.modules={1628:(a,b,c)=>{"use strict";
|
|
|
9
9
|
Read more: https://nextjs.org/docs/messages/middleware-request-page
|
|
10
10
|
`)}}class e extends Error{constructor(){super(`The request.ua has been removed in favour of \`userAgent\` function.
|
|
11
11
|
Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent
|
|
12
|
-
`)}}},13653:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{RequestCookies:function(){return d.RequestCookies},ResponseCookies:function(){return d.ResponseCookies},stringifyCookie:function(){return d.stringifyCookie}});let d=c(75097)},14663:(a,b)=>{"use strict";function c(a){return a.isOnDemandRevalidate?"on-demand":a.isRevalidate?"stale":void 0}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getRevalidateReason",{enumerable:!0,get:function(){return c}})},15707:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fromNodeOutgoingHttpHeaders:function(){return e},normalizeNextQueryParam:function(){return i},splitCookiesString:function(){return f},toNodeOutgoingHttpHeaders:function(){return g},validateURL:function(){return h}});let d=c(47274);function e(a){let b=new Headers;for(let[c,d]of Object.entries(a))for(let a of Array.isArray(d)?d:[d])void 0!==a&&("number"==typeof a&&(a=a.toString()),b.append(c,a));return b}function f(a){var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}function g(a){let b={},c=[];if(a)for(let[d,e]of a.entries())"set-cookie"===d.toLowerCase()?(c.push(...f(e)),b[d]=1===c.length?c[0]:c):b[d]=e;return b}function h(a){try{return String(new URL(String(a)))}catch(b){throw Object.defineProperty(Error(`URL is malformed "${String(a)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:b}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}function i(a){for(let b of[d.NEXT_QUERY_PARAM_PREFIX,d.NEXT_INTERCEPTION_MARKER_PREFIX])if(a!==b&&a.startsWith(b))return a.substring(b.length);return null}},17954:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NEXT_REQUEST_META:function(){return c},addRequestMeta:function(){return f},getRequestMeta:function(){return d},removeRequestMeta:function(){return g},setRequestMeta:function(){return e}});let c=Symbol.for("NextInternalRequestMeta");function d(a,b){let d=a[c]||{};return"string"==typeof b?d[b]:d}function e(a,b){return a[c]=b,b}function f(a,b,c){let f=d(a);return f[b]=c,e(a,f)}function g(a,b){let c=d(a);return delete c[b],e(a,c)}},20614:(a,b)=>{"use strict";function c(a,b){let c;if((null==b?void 0:b.host)&&!Array.isArray(b.host))c=b.host.toString().split(":",1)[0];else{if(!a.hostname)return;c=a.hostname}return c.toLowerCase()}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getHostname",{enumerable:!0,get:function(){return c}})},23026:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isAbortError:function(){return i},pipeToNodeResponse:function(){return j}});let d=c(34356),e=c(89429),f=c(47392),g=c(34626),h=c(64588);function i(a){return(null==a?void 0:a.name)==="AbortError"||(null==a?void 0:a.name)===d.ResponseAbortedName}async function j(a,b,c){try{let{errored:i,destroyed:j}=b;if(i||j)return;let k=(0,d.createAbortController)(b),l=function(a,b){let c=!1,d=new e.DetachedPromise;function i(){d.resolve()}a.on("drain",i),a.once("close",()=>{a.off("drain",i),d.resolve()});let j=new e.DetachedPromise;return a.once("finish",()=>{j.resolve()}),new WritableStream({write:async b=>{if(!c){if(c=!0,"performance"in globalThis&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX){let a=(0,h.getClientComponentLoaderMetrics)();a&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,{start:a.clientComponentLoadStart,end:a.clientComponentLoadStart+a.clientComponentLoadTimes})}a.flushHeaders(),(0,f.getTracer)().trace(g.NextNodeServerSpan.startResponse,{spanName:"start response"},()=>void 0)}try{let c=a.write(b);"flush"in a&&"function"==typeof a.flush&&a.flush(),c||(await d.promise,d=new e.DetachedPromise)}catch(b){throw a.end(),Object.defineProperty(Error("failed to write chunk to response",{cause:b}),"__NEXT_ERROR_CODE",{value:"E321",enumerable:!1,configurable:!0})}},abort:b=>{a.writableFinished||a.destroy(b)},close:async()=>{if(b&&await b,!a.writableFinished)return a.end(),j.promise}})}(b,c);await a.pipeTo(l,{signal:k.signal})}catch(a){if(i(a))return;throw Object.defineProperty(Error("failed to pipe response",{cause:a}),"__NEXT_ERROR_CODE",{value:"E180",enumerable:!1,configurable:!0})}}},25106:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{allowedStatusCodes:function(){return e},getRedirectStatus:function(){return f},modifyRouteRegex:function(){return g}});let d=c(23830),e=new Set([301,302,303,307,308]);function f(a){return a.statusCode||(a.permanent?d.RedirectStatusCode.PermanentRedirect:d.RedirectStatusCode.TemporaryRedirect)}function g(a,b){return b&&(a=a.replace(/\^/,`^(?!${b.map(a=>a.replace(/\//g,"\\/")).join("|")})`)),a=a.replace(/\$$/,"(?:\\/)?$")}},26411:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DOC_PREFETCH_RANGE_HEADER_VALUE:function(){return d},doesExportedHtmlMatchBuildId:function(){return g},insertBuildIdComment:function(){return f}});let c="<!DOCTYPE html>",d="bytes=0-63";function e(a){return a.slice(0,24).replace(/-/g,"_")}function f(a,b){return b.includes("--\x3e")||!a.startsWith(c)?a:a.replace(c,c+"\x3c!--"+e(b)+"--\x3e")}function g(a,b){return a.startsWith(c+"\x3c!--"+e(b)+"--\x3e")}},27860:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return n}});let d=c(51024),e=c(80649),f=c(90252),g=c(61798),h=c(42811);function i(a,b){if(!a)return b;let c=parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}!function(a,b){Object.keys(a).forEach(function(c){"default"===c||Object.prototype.hasOwnProperty.call(b,c)||Object.defineProperty(b,c,{enumerable:!0,get:function(){return a[c]}})})}(c(80551),b);let j=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,1e4),k=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,150),l="__ttl_sentinel__";function m(a,b){return`${a}\0${b??l}`}class n{constructor(a,b=k,c=j){this.batcher=d.Batcher.create({cacheKeyFn:({key:a,isOnDemandRevalidate:b})=>`${a}-${b?"1":"0"}`,schedulerFn:g.scheduleOnNextTick}),this.revalidateBatcher=d.Batcher.create({schedulerFn:g.scheduleOnNextTick}),this.evictedInvocationIDs=new Set,this.minimal_mode=a,this.maxSize=b,this.ttl=c,this.cache=new e.LRUCache(b,void 0,a=>{let b=function(a){let b=a.lastIndexOf("\0");if(-1===b)return;let c=a.slice(b+1);return c===l?void 0:c}(a);if(b){if(this.evictedInvocationIDs.size>=100){let a=this.evictedInvocationIDs.values().next().value;a&&this.evictedInvocationIDs.delete(a)}this.evictedInvocationIDs.add(b)}})}async get(a,b,c){if(!a)return b({hasResolved:!1,previousCacheEntry:null});if(this.minimal_mode){let b=m(a,c.invocationID),d=this.cache.get(b);if(d){if(void 0!==c.invocationID)return(0,h.toResponseCacheEntry)(d.entry);let a=Date.now();if(d.expiresAt>a)return(0,h.toResponseCacheEntry)(d.entry);this.cache.remove(b)}c.invocationID&&this.evictedInvocationIDs.has(c.invocationID)&&(0,f.warnOnce)(`Response cache entry was evicted for invocation ${c.invocationID}. Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`)}let{incrementalCache:d,isOnDemandRevalidate:e=!1,isFallback:g=!1,isRoutePPREnabled:i=!1,isPrefetch:j=!1,waitUntil:k,routeKind:l,invocationID:n}=c,o=await this.batcher.batch({key:a,isOnDemandRevalidate:e},(c,f)=>{let h=this.handleGet(a,b,{incrementalCache:d,isOnDemandRevalidate:e,isFallback:g,isRoutePPREnabled:i,isPrefetch:j,routeKind:l,invocationID:n},f);return k&&k(h),h});return(0,h.toResponseCacheEntry)(o)}async handleGet(a,b,c,d){let e=null,f=!1;try{if((e=this.minimal_mode?null:await c.incrementalCache.get(a,{kind:(0,h.routeKindToIncrementalCacheKind)(c.routeKind),isRoutePPREnabled:c.isRoutePPREnabled,isFallback:c.isFallback}))&&!c.isOnDemandRevalidate&&(d(e),f=!0,!e.isStale||c.isPrefetch))return e;let g=await this.revalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,null!==e&&!c.isOnDemandRevalidate,void 0,c.invocationID);if(!g){if(this.minimal_mode){let b=m(a,c.invocationID);this.cache.remove(b)}return null}return c.isOnDemandRevalidate,g}catch(a){if(f)return console.error(a),null;throw a}}async revalidate(a,b,c,d,e,f,g,h,i){return this.revalidateBatcher.batch(a,()=>{let j=this.handleRevalidate(a,b,c,d,e,f,g,i);return h&&h(j),j})}async handleRevalidate(a,b,c,d,e,f,g,i){try{let j=await e({hasResolved:g,previousCacheEntry:f,isRevalidating:!0});if(!j)return null;let k=await (0,h.fromResponseCacheEntry)({...j,isMiss:!f});if(k.cacheControl)if(this.minimal_mode){let b=m(a,i);this.cache.set(b,{entry:k,expiresAt:Date.now()+this.ttl})}else await b.set(a,k.value,{cacheControl:k.cacheControl,isRoutePPREnabled:c,isFallback:d});return k}catch(e){if(null==f?void 0:f.cacheControl){let e=Math.min(Math.max(f.cacheControl.revalidate||3,3),30),g=void 0===f.cacheControl.expire?void 0:Math.max(e+3,f.cacheControl.expire);await b.set(a,f.value,{cacheControl:{revalidate:e,expire:g},isRoutePPREnabled:c,isFallback:d})}throw e}}}},29032:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return c}});var c=function(a){return a.PAGES="PAGES",a.PAGES_API="PAGES_API",a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.IMAGE="IMAGE",a}({})},32151:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},34356:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NextRequestAdapter:function(){return l},ResponseAborted:function(){return i},ResponseAbortedName:function(){return h},createAbortController:function(){return j},signalFromNodeResponse:function(){return k}});let d=c(17954),e=c(15707),f=c(71927),g=c(76017),h="ResponseAborted";class i extends Error{constructor(...a){super(...a),this.name=h}}function j(a){let b=new AbortController;return a.once("close",()=>{a.writableFinished||b.abort(new i)}),b}function k(a){let{errored:b,destroyed:c}=a;if(b||c)return AbortSignal.abort(b??new i);let{signal:d}=j(a);return d}class l{static fromBaseNextRequest(a,b){if((0,g.isNodeNextRequest)(a))return l.fromNodeNextRequest(a,b);throw Object.defineProperty(Error("Invariant: Unsupported NextRequest type"),"__NEXT_ERROR_CODE",{value:"E345",enumerable:!1,configurable:!0})}static fromNodeNextRequest(a,b){let c,g=null;if("GET"!==a.method&&"HEAD"!==a.method&&a.body&&(g=a.body),a.url.startsWith("http"))c=new URL(a.url);else{let b=(0,d.getRequestMeta)(a,"initURL");c=b&&b.startsWith("http")?new URL(a.url,b):new URL(a.url,"http://n")}return new f.NextRequest(c,{method:a.method,headers:(0,e.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:b,...b.aborted?{}:{body:g}})}static fromWebNextRequest(a){let b=null;return"GET"!==a.method&&"HEAD"!==a.method&&(b=a.body),new f.NextRequest(a.url,{method:a.method,headers:(0,e.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:a.request.signal,...a.request.signal.aborted?{}:{body:b}})}}},42811:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fromResponseCacheEntry:function(){return h},routeKindToIncrementalCacheKind:function(){return j},toResponseCacheEntry:function(){return i}});let d=c(80551),e=function(a){return a&&a.__esModule?a:{default:a}}(c(62153)),f=c(29032),g=c(47274);async function h(a){var b,c;return{...a,value:(null==(b=a.value)?void 0:b.kind)===d.CachedRouteKind.PAGES?{kind:d.CachedRouteKind.PAGES,html:await a.value.html.toUnchunkedString(!0),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===d.CachedRouteKind.APP_PAGE?{kind:d.CachedRouteKind.APP_PAGE,html:await a.value.html.toUnchunkedString(!0),postponed:a.value.postponed,rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,segmentData:a.value.segmentData}:a.value}}async function i(a){var b,c;return a?{isMiss:a.isMiss,isStale:a.isStale,cacheControl:a.cacheControl,value:(null==(b=a.value)?void 0:b.kind)===d.CachedRouteKind.PAGES?{kind:d.CachedRouteKind.PAGES,html:e.default.fromStatic(a.value.html,g.HTML_CONTENT_TYPE_HEADER),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===d.CachedRouteKind.APP_PAGE?{kind:d.CachedRouteKind.APP_PAGE,html:e.default.fromStatic(a.value.html,g.HTML_CONTENT_TYPE_HEADER),rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,postponed:a.value.postponed,segmentData:a.value.segmentData}:a.value}:null}function j(a){switch(a){case f.RouteKind.PAGES:return d.IncrementalCacheKind.PAGES;case f.RouteKind.APP_PAGE:return d.IncrementalCacheKind.APP_PAGE;case f.RouteKind.IMAGE:return d.IncrementalCacheKind.IMAGE;case f.RouteKind.APP_ROUTE:return d.IncrementalCacheKind.APP_ROUTE;case f.RouteKind.PAGES_API:throw Object.defineProperty(Error(`Unexpected route kind ${a}`),"__NEXT_ERROR_CODE",{value:"E64",enumerable:!1,configurable:!0});default:return a}}},43357:(a,b)=>{"use strict";function c(a){return a.default||a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"interopDefault",{enumerable:!0,get:function(){return c}})},44576:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ENCODED_TAGS",{enumerable:!0,get:function(){return c}});let c={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])},META:{ICON_MARK:new Uint8Array([60,109,101,116,97,32,110,97,109,101,61,34,194,171,110,120,116,45,105,99,111,110,194,187,34])}}},47366:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{sendEtagResponse:function(){return i},sendRenderResult:function(){return j}});let d=c(8423),e=c(92486),f=function(a){return a&&a.__esModule?a:{default:a}}(c(60746)),g=c(8833),h=c(47274);function i(a,b,c){return c&&b.setHeader("ETag",c),!!(0,f.default)(a.headers,{etag:c})&&(b.statusCode=304,b.end(),!0)}async function j({req:a,res:b,result:c,generateEtags:f,poweredByHeader:j,cacheControl:k}){if((0,d.isResSent)(b))return;j&&c.contentType===h.HTML_CONTENT_TYPE_HEADER&&b.setHeader("X-Powered-By","Next.js"),k&&!b.getHeader("Cache-Control")&&b.setHeader("Cache-Control",(0,g.getCacheControlHeader)(k));let l=c.isDynamic?null:c.toUnchunkedString();if(!(f&&null!==l&&i(a,b,(0,e.generateETag)(l))))return(!b.getHeader("Content-Type")&&c.contentType&&b.setHeader("Content-Type",c.contentType),l&&b.setHeader("Content-Length",Buffer.byteLength(l)),"HEAD"===a.method)?void b.end(null):null!==l?void b.end(l):void await c.pipeToNodeResponse(b)}},48130:(a,b)=>{"use strict";function c(a,b,c){if(a)for(let f of(c&&(c=c.toLowerCase()),a)){var d,e;if(b===(null==(d=f.domain)?void 0:d.split(":",1)[0].toLowerCase())||c===f.defaultLocale.toLowerCase()||(null==(e=f.locales)?void 0:e.some(a=>a.toLowerCase()===c)))return f}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"detectDomainLocale",{enumerable:!0,get:function(){return c}})},49391:(a,b)=>{"use strict";Object.defineProperty(b,"M",{enumerable:!0,get:function(){return function a(b,c){return c in b?b[c]:"then"in b&&"function"==typeof b.then?b.then(b=>a(b,c)):"function"==typeof b&&"default"===c?b:void 0}}})},51024:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Batcher",{enumerable:!0,get:function(){return e}});let d=c(89429);class e{constructor(a,b=a=>a()){this.cacheKeyFn=a,this.schedulerFn=b,this.pending=new Map}static create(a){return new e(null==a?void 0:a.cacheKeyFn,null==a?void 0:a.schedulerFn)}async batch(a,b){let c=this.cacheKeyFn?await this.cacheKeyFn(a):a;if(null===c)return b(c,Promise.resolve);let e=this.pending.get(c);if(e)return e;let{promise:f,resolve:g,reject:h}=new d.DetachedPromise;return this.pending.set(c,f),this.schedulerFn(async()=>{try{let a=await b(c,g);g(a)}catch(a){h(a)}finally{this.pending.delete(c)}}),f}}},54547:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextURL",{enumerable:!0,get:function(){return k}});let d=c(48130),e=c(26975),f=c(20614),g=c(13712),h=/(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)/;function i(a,b){return new URL(String(a).replace(h,"localhost"),b&&String(b).replace(h,"localhost"))}let j=Symbol("NextURLInternal");class k{constructor(a,b,c){let d,e;"object"==typeof b&&"pathname"in b||"string"==typeof b?(d=b,e=c||{}):e=c||b||{},this[j]={url:i(a,d??e.base),options:e,basePath:""},this.analyze()}analyze(){var a,b,c,e,h;let i=(0,g.getNextPathnameInfo)(this[j].url.pathname,{nextConfig:this[j].options.nextConfig,parseData:!0,i18nProvider:this[j].options.i18nProvider}),k=(0,f.getHostname)(this[j].url,this[j].options.headers);this[j].domainLocale=this[j].options.i18nProvider?this[j].options.i18nProvider.detectDomainLocale(k):(0,d.detectDomainLocale)(null==(b=this[j].options.nextConfig)||null==(a=b.i18n)?void 0:a.domains,k);let l=(null==(c=this[j].domainLocale)?void 0:c.defaultLocale)||(null==(h=this[j].options.nextConfig)||null==(e=h.i18n)?void 0:e.defaultLocale);this[j].url.pathname=i.pathname,this[j].defaultLocale=l,this[j].basePath=i.basePath??"",this[j].buildId=i.buildId,this[j].locale=i.locale??l,this[j].trailingSlash=i.trailingSlash}formatPathname(){return(0,e.formatNextPathnameInfo)({basePath:this[j].basePath,buildId:this[j].buildId,defaultLocale:this[j].options.forceLocale?void 0:this[j].defaultLocale,locale:this[j].locale,pathname:this[j].url.pathname,trailingSlash:this[j].trailingSlash})}formatSearch(){return this[j].url.search}get buildId(){return this[j].buildId}set buildId(a){this[j].buildId=a}get locale(){return this[j].locale??""}set locale(a){var b,c;if(!this[j].locale||!(null==(c=this[j].options.nextConfig)||null==(b=c.i18n)?void 0:b.locales.includes(a)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${a}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[j].locale=a}get defaultLocale(){return this[j].defaultLocale}get domainLocale(){return this[j].domainLocale}get searchParams(){return this[j].url.searchParams}get host(){return this[j].url.host}set host(a){this[j].url.host=a}get hostname(){return this[j].url.hostname}set hostname(a){this[j].url.hostname=a}get port(){return this[j].url.port}set port(a){this[j].url.port=a}get protocol(){return this[j].url.protocol}set protocol(a){this[j].url.protocol=a}get href(){let a=this.formatPathname(),b=this.formatSearch();return`${this.protocol}//${this.host}${a}${b}${this.hash}`}set href(a){this[j].url=i(a),this.analyze()}get origin(){return this[j].url.origin}get pathname(){return this[j].url.pathname}set pathname(a){this[j].url.pathname=a}get hash(){return this[j].url.hash}set hash(a){this[j].url.hash=a}get search(){return this[j].url.search}set search(a){this[j].url.search=a}get password(){return this[j].url.password}set password(a){this[j].url.password=a}get username(){return this[j].url.username}set username(a){this[j].url.username=a}get basePath(){return this[j].basePath}set basePath(a){this[j].basePath=a.startsWith("/")?a:`/${a}`}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 k(String(this),this[j].options)}}},60746:a=>{(()=>{"use strict";var b={695:a=>{var b=/(?:^|,)\s*?no-cache\s*?(?:,|$)/;function c(a){var b=a&&Date.parse(a);return"number"==typeof b?b:NaN}a.exports=function(a,d){var e=a["if-modified-since"],f=a["if-none-match"];if(!e&&!f)return!1;var g=a["cache-control"];if(g&&b.test(g))return!1;if(f&&"*"!==f){var h=d.etag;if(!h)return!1;for(var i=!0,j=function(a){for(var b=0,c=[],d=0,e=0,f=a.length;e<f;e++)switch(a.charCodeAt(e)){case 32:d===b&&(d=b=e+1);break;case 44:c.push(a.substring(d,b)),d=b=e+1;break;default:b=e+1}return c.push(a.substring(d,b)),c}(f),k=0;k<j.length;k++){var l=j[k];if(l===h||l==="W/"+h||"W/"+l===h){i=!1;break}}if(i)return!1}if(e){var m=d["last-modified"];if(!m||!(c(m)<=c(e)))return!1}return!0}}},c={};function d(a){var e=c[a];if(void 0!==e)return e.exports;var f=c[a]={exports:{}},g=!0;try{b[a](f,f.exports,d),g=!1}finally{g&&delete c[a]}return f.exports}d.ab=__dirname+"/",a.exports=d(695)})()},62153:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return g}});let d=c(63754),e=c(23026),f=c(99257);class g{static #a=this.EMPTY=new g(null,{metadata:{},contentType:null});static fromStatic(a,b){return new g(a,{metadata:{},contentType:b})}constructor(a,{contentType:b,waitUntil:c,metadata:d}){this.response=a,this.contentType=b,this.metadata=d,this.waitUntil=c}assignMetadata(a){Object.assign(this.metadata,a)}get isNull(){return null===this.response}get isDynamic(){return"string"!=typeof this.response}toUnchunkedString(a=!1){if(null===this.response)return"";if("string"!=typeof this.response){if(!a)throw Object.defineProperty(new f.InvariantError("dynamic responses cannot be unchunked. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E732",enumerable:!1,configurable:!0});return(0,d.streamToString)(this.readable)}return this.response}get readable(){return null===this.response?new ReadableStream({start(a){a.close()}}):"string"==typeof this.response?(0,d.streamFromString)(this.response):Buffer.isBuffer(this.response)?(0,d.streamFromBuffer)(this.response):Array.isArray(this.response)?(0,d.chainStreams)(...this.response):this.response}coerce(){return null===this.response?[]:"string"==typeof this.response?[(0,d.streamFromString)(this.response)]:Array.isArray(this.response)?this.response:Buffer.isBuffer(this.response)?[(0,d.streamFromBuffer)(this.response)]:[this.response]}unshift(a){this.response=this.coerce(),this.response.unshift(a)}push(a){this.response=this.coerce(),this.response.push(a)}async pipeTo(a){try{await this.readable.pipeTo(a,{preventClose:!0}),this.waitUntil&&await this.waitUntil,await a.close()}catch(b){if((0,e.isAbortError)(b))return void await a.abort(b);throw b}}async pipeToNodeResponse(a){await (0,e.pipeToNodeResponse)(this.readable,a,this.waitUntil)}}},63754:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{chainStreams:function(){return n},continueDynamicHTMLResume:function(){return E},continueDynamicPrerender:function(){return C},continueFizzStream:function(){return B},continueStaticPrerender:function(){return D},createBufferedTransformStream:function(){return s},createDocumentClosingStream:function(){return F},createRootLayoutValidatorStream:function(){return A},renderToInitialFizzStream:function(){return u},streamFromBuffer:function(){return p},streamFromString:function(){return o},streamToBuffer:function(){return q},streamToString:function(){return r}});let d=c(47392),e=c(34626),f=c(89429),g=c(61798),h=c(44576),i=c(64887),j=c(32151),k=c(26411);function l(){}let m=new TextEncoder;function n(...a){if(0===a.length)return new ReadableStream({start(a){a.close()}});if(1===a.length)return a[0];let{readable:b,writable:c}=new TransformStream,d=a[0].pipeTo(c,{preventClose:!0}),e=1;for(;e<a.length-1;e++){let b=a[e];d=d.then(()=>b.pipeTo(c,{preventClose:!0}))}let f=a[e];return(d=d.then(()=>f.pipeTo(c))).catch(l),b}function o(a){return new ReadableStream({start(b){b.enqueue(m.encode(a)),b.close()}})}function p(a){return new ReadableStream({start(b){b.enqueue(a),b.close()}})}async function q(a){let b=a.getReader(),c=[];for(;;){let{done:a,value:d}=await b.read();if(a)break;c.push(d)}return Buffer.concat(c)}async function r(a,b){let c=new TextDecoder("utf-8",{fatal:!0}),d="";for await(let e of a){if(null==b?void 0:b.aborted)return d;d+=c.decode(e,{stream:!0})}return d+c.decode()}function s(){let a,b=[],c=0;return new TransformStream({transform(d,e){b.push(d),c+=d.byteLength,(d=>{if(a)return;let e=new f.DetachedPromise;a=e,(0,g.scheduleImmediate)(()=>{try{let a=new Uint8Array(c),e=0;for(let c=0;c<b.length;c++){let d=b[c];a.set(d,e),e+=d.byteLength}b.length=0,c=0,d.enqueue(a)}catch{}finally{a=void 0,e.resolve()}})})(e)},flush(){if(a)return a.promise}})}function t(a,b){let c=!1;return new TransformStream({transform(d,e){if(a&&!c){c=!0;let a=new TextDecoder("utf-8",{fatal:!0}).decode(d,{stream:!0}),f=(0,k.insertBuildIdComment)(a,b);e.enqueue(m.encode(f));return}e.enqueue(d)}})}function u({ReactDOMServer:a,element:b,streamOptions:c}){return(0,d.getTracer)().trace(e.AppRenderSpan.renderToReadableStream,async()=>a.renderToReadableStream(b,c))}function v(a){let b=-1,c=!1;return new TransformStream({async transform(d,e){let f=-1,g=-1;if(b++,c)return void e.enqueue(d);let j=0;if(-1===f){if(-1===(f=(0,i.indexOfUint8Array)(d,h.ENCODED_TAGS.META.ICON_MARK)))return void e.enqueue(d);47===d[f+(j=h.ENCODED_TAGS.META.ICON_MARK.length)]?j+=2:j++}if(0===b){if(g=(0,i.indexOfUint8Array)(d,h.ENCODED_TAGS.CLOSED.HEAD),-1!==f){if(f<g){let a=new Uint8Array(d.length-j);a.set(d.subarray(0,f)),a.set(d.subarray(f+j),f),d=a}else{let b=await a(),c=m.encode(b),e=c.length,g=new Uint8Array(d.length-j+e);g.set(d.subarray(0,f)),g.set(c,f),g.set(d.subarray(f+j),f+e),d=g}c=!0}}else{let b=await a(),e=m.encode(b),g=e.length,h=new Uint8Array(d.length-j+g);h.set(d.subarray(0,f)),h.set(e,f),h.set(d.subarray(f+j),f+g),d=h,c=!0}e.enqueue(d)}})}function w(a){let b=!1,c=!1;return new TransformStream({async transform(d,e){c=!0;let f=await a();if(b){if(f){let a=m.encode(f);e.enqueue(a)}e.enqueue(d)}else{let a=(0,i.indexOfUint8Array)(d,h.ENCODED_TAGS.CLOSED.HEAD);if(-1!==a){if(f){let b=m.encode(f),c=new Uint8Array(d.length+b.length);c.set(d.slice(0,a)),c.set(b,a),c.set(d.slice(a),a+b.length),e.enqueue(c)}else e.enqueue(d);b=!0}else f&&e.enqueue(m.encode(f)),e.enqueue(d),b=!0}},async flush(b){if(c){let c=await a();c&&b.enqueue(m.encode(c))}}})}function x(a,b){let c=!1,d=null,e=!1;function f(a){return d||(d=h(a)),d}async function h(d){let f=a.getReader();b&&await (0,g.atLeastOneTask)();try{for(;;){let{done:a,value:h}=await f.read();if(a){e=!0;return}b||c||await (0,g.atLeastOneTask)(),d.enqueue(h)}}catch(a){d.error(a)}}return new TransformStream({start(a){b||f(a)},transform(a,c){c.enqueue(a),b&&f(c)},flush(a){if(c=!0,!e)return f(a)}})}let y="</body></html>";function z(){let a=!1;return new TransformStream({transform(b,c){if(a)return c.enqueue(b);let d=(0,i.indexOfUint8Array)(b,h.ENCODED_TAGS.CLOSED.BODY_AND_HTML);if(d>-1){if(a=!0,b.length===h.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length)return;let e=b.slice(0,d);if(c.enqueue(e),b.length>h.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length+d){let a=b.slice(d+h.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length);c.enqueue(a)}}else c.enqueue(b)},flush(a){a.enqueue(h.ENCODED_TAGS.CLOSED.BODY_AND_HTML)}})}function A(){let a=!1,b=!1;return new TransformStream({async transform(c,d){!a&&(0,i.indexOfUint8Array)(c,h.ENCODED_TAGS.OPENING.HTML)>-1&&(a=!0),!b&&(0,i.indexOfUint8Array)(c,h.ENCODED_TAGS.OPENING.BODY)>-1&&(b=!0),d.enqueue(c)},flush(c){let d=[];a||d.push("html"),b||d.push("body"),d.length&&c.enqueue(m.encode(`<html id="__next_error__">
|
|
12
|
+
`)}}},13653:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{RequestCookies:function(){return d.RequestCookies},ResponseCookies:function(){return d.ResponseCookies},stringifyCookie:function(){return d.stringifyCookie}});let d=c(97478)},14663:(a,b)=>{"use strict";function c(a){return a.isOnDemandRevalidate?"on-demand":a.isRevalidate?"stale":void 0}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getRevalidateReason",{enumerable:!0,get:function(){return c}})},15707:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fromNodeOutgoingHttpHeaders:function(){return e},normalizeNextQueryParam:function(){return i},splitCookiesString:function(){return f},toNodeOutgoingHttpHeaders:function(){return g},validateURL:function(){return h}});let d=c(47274);function e(a){let b=new Headers;for(let[c,d]of Object.entries(a))for(let a of Array.isArray(d)?d:[d])void 0!==a&&("number"==typeof a&&(a=a.toString()),b.append(c,a));return b}function f(a){var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}function g(a){let b={},c=[];if(a)for(let[d,e]of a.entries())"set-cookie"===d.toLowerCase()?(c.push(...f(e)),b[d]=1===c.length?c[0]:c):b[d]=e;return b}function h(a){try{return String(new URL(String(a)))}catch(b){throw Object.defineProperty(Error(`URL is malformed "${String(a)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:b}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}function i(a){for(let b of[d.NEXT_QUERY_PARAM_PREFIX,d.NEXT_INTERCEPTION_MARKER_PREFIX])if(a!==b&&a.startsWith(b))return a.substring(b.length);return null}},17954:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NEXT_REQUEST_META:function(){return c},addRequestMeta:function(){return f},getRequestMeta:function(){return d},removeRequestMeta:function(){return g},setRequestMeta:function(){return e}});let c=Symbol.for("NextInternalRequestMeta");function d(a,b){let d=a[c]||{};return"string"==typeof b?d[b]:d}function e(a,b){return a[c]=b,b}function f(a,b,c){let f=d(a);return f[b]=c,e(a,f)}function g(a,b){let c=d(a);return delete c[b],e(a,c)}},20614:(a,b)=>{"use strict";function c(a,b){let c;if((null==b?void 0:b.host)&&!Array.isArray(b.host))c=b.host.toString().split(":",1)[0];else{if(!a.hostname)return;c=a.hostname}return c.toLowerCase()}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getHostname",{enumerable:!0,get:function(){return c}})},23026:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isAbortError:function(){return i},pipeToNodeResponse:function(){return j}});let d=c(34356),e=c(89429),f=c(47392),g=c(34626),h=c(42207);function i(a){return(null==a?void 0:a.name)==="AbortError"||(null==a?void 0:a.name)===d.ResponseAbortedName}async function j(a,b,c){try{let{errored:i,destroyed:j}=b;if(i||j)return;let k=(0,d.createAbortController)(b),l=function(a,b){let c=!1,d=new e.DetachedPromise;function i(){d.resolve()}a.on("drain",i),a.once("close",()=>{a.off("drain",i),d.resolve()});let j=new e.DetachedPromise;return a.once("finish",()=>{j.resolve()}),new WritableStream({write:async b=>{if(!c){if(c=!0,"performance"in globalThis&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX){let a=(0,h.getClientComponentLoaderMetrics)();a&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,{start:a.clientComponentLoadStart,end:a.clientComponentLoadStart+a.clientComponentLoadTimes})}a.flushHeaders(),(0,f.getTracer)().trace(g.NextNodeServerSpan.startResponse,{spanName:"start response"},()=>void 0)}try{let c=a.write(b);"flush"in a&&"function"==typeof a.flush&&a.flush(),c||(await d.promise,d=new e.DetachedPromise)}catch(b){throw a.end(),Object.defineProperty(Error("failed to write chunk to response",{cause:b}),"__NEXT_ERROR_CODE",{value:"E321",enumerable:!1,configurable:!0})}},abort:b=>{a.writableFinished||a.destroy(b)},close:async()=>{if(b&&await b,!a.writableFinished)return a.end(),j.promise}})}(b,c);await a.pipeTo(l,{signal:k.signal})}catch(a){if(i(a))return;throw Object.defineProperty(Error("failed to pipe response",{cause:a}),"__NEXT_ERROR_CODE",{value:"E180",enumerable:!1,configurable:!0})}}},25106:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{allowedStatusCodes:function(){return e},getRedirectStatus:function(){return f},modifyRouteRegex:function(){return g}});let d=c(23830),e=new Set([301,302,303,307,308]);function f(a){return a.statusCode||(a.permanent?d.RedirectStatusCode.PermanentRedirect:d.RedirectStatusCode.TemporaryRedirect)}function g(a,b){return b&&(a=a.replace(/\^/,`^(?!${b.map(a=>a.replace(/\//g,"\\/")).join("|")})`)),a=a.replace(/\$$/,"(?:\\/)?$")}},26411:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DOC_PREFETCH_RANGE_HEADER_VALUE:function(){return d},doesExportedHtmlMatchBuildId:function(){return g},insertBuildIdComment:function(){return f}});let c="<!DOCTYPE html>",d="bytes=0-63";function e(a){return a.slice(0,24).replace(/-/g,"_")}function f(a,b){return b.includes("--\x3e")||!a.startsWith(c)?a:a.replace(c,c+"\x3c!--"+e(b)+"--\x3e")}function g(a,b){return a.startsWith(c+"\x3c!--"+e(b)+"--\x3e")}},27860:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return n}});let d=c(51024),e=c(80649),f=c(90252),g=c(61798),h=c(42811);function i(a,b){if(!a)return b;let c=parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}!function(a,b){Object.keys(a).forEach(function(c){"default"===c||Object.prototype.hasOwnProperty.call(b,c)||Object.defineProperty(b,c,{enumerable:!0,get:function(){return a[c]}})})}(c(80551),b);let j=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,1e4),k=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,150),l="__ttl_sentinel__";function m(a,b){return`${a}\0${b??l}`}class n{constructor(a,b=k,c=j){this.batcher=d.Batcher.create({cacheKeyFn:({key:a,isOnDemandRevalidate:b})=>`${a}-${b?"1":"0"}`,schedulerFn:g.scheduleOnNextTick}),this.revalidateBatcher=d.Batcher.create({schedulerFn:g.scheduleOnNextTick}),this.evictedInvocationIDs=new Set,this.minimal_mode=a,this.maxSize=b,this.ttl=c,this.cache=new e.LRUCache(b,void 0,a=>{let b=function(a){let b=a.lastIndexOf("\0");if(-1===b)return;let c=a.slice(b+1);return c===l?void 0:c}(a);if(b){if(this.evictedInvocationIDs.size>=100){let a=this.evictedInvocationIDs.values().next().value;a&&this.evictedInvocationIDs.delete(a)}this.evictedInvocationIDs.add(b)}})}async get(a,b,c){if(!a)return b({hasResolved:!1,previousCacheEntry:null});if(this.minimal_mode){let b=m(a,c.invocationID),d=this.cache.get(b);if(d){if(void 0!==c.invocationID)return(0,h.toResponseCacheEntry)(d.entry);let a=Date.now();if(d.expiresAt>a)return(0,h.toResponseCacheEntry)(d.entry);this.cache.remove(b)}c.invocationID&&this.evictedInvocationIDs.has(c.invocationID)&&(0,f.warnOnce)(`Response cache entry was evicted for invocation ${c.invocationID}. Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`)}let{incrementalCache:d,isOnDemandRevalidate:e=!1,isFallback:g=!1,isRoutePPREnabled:i=!1,isPrefetch:j=!1,waitUntil:k,routeKind:l,invocationID:n}=c,o=await this.batcher.batch({key:a,isOnDemandRevalidate:e},(c,f)=>{let h=this.handleGet(a,b,{incrementalCache:d,isOnDemandRevalidate:e,isFallback:g,isRoutePPREnabled:i,isPrefetch:j,routeKind:l,invocationID:n},f);return k&&k(h),h});return(0,h.toResponseCacheEntry)(o)}async handleGet(a,b,c,d){let e=null,f=!1;try{if((e=this.minimal_mode?null:await c.incrementalCache.get(a,{kind:(0,h.routeKindToIncrementalCacheKind)(c.routeKind),isRoutePPREnabled:c.isRoutePPREnabled,isFallback:c.isFallback}))&&!c.isOnDemandRevalidate&&(d(e),f=!0,!e.isStale||c.isPrefetch))return e;let g=await this.revalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,null!==e&&!c.isOnDemandRevalidate,void 0,c.invocationID);if(!g){if(this.minimal_mode){let b=m(a,c.invocationID);this.cache.remove(b)}return null}return c.isOnDemandRevalidate,g}catch(a){if(f)return console.error(a),null;throw a}}async revalidate(a,b,c,d,e,f,g,h,i){return this.revalidateBatcher.batch(a,()=>{let j=this.handleRevalidate(a,b,c,d,e,f,g,i);return h&&h(j),j})}async handleRevalidate(a,b,c,d,e,f,g,i){try{let j=await e({hasResolved:g,previousCacheEntry:f,isRevalidating:!0});if(!j)return null;let k=await (0,h.fromResponseCacheEntry)({...j,isMiss:!f});if(k.cacheControl)if(this.minimal_mode){let b=m(a,i);this.cache.set(b,{entry:k,expiresAt:Date.now()+this.ttl})}else await b.set(a,k.value,{cacheControl:k.cacheControl,isRoutePPREnabled:c,isFallback:d});return k}catch(e){if(null==f?void 0:f.cacheControl){let e=Math.min(Math.max(f.cacheControl.revalidate||3,3),30),g=void 0===f.cacheControl.expire?void 0:Math.max(e+3,f.cacheControl.expire);await b.set(a,f.value,{cacheControl:{revalidate:e,expire:g},isRoutePPREnabled:c,isFallback:d})}throw e}}}},29032:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return c}});var c=function(a){return a.PAGES="PAGES",a.PAGES_API="PAGES_API",a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.IMAGE="IMAGE",a}({})},32151:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},34356:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NextRequestAdapter:function(){return l},ResponseAborted:function(){return i},ResponseAbortedName:function(){return h},createAbortController:function(){return j},signalFromNodeResponse:function(){return k}});let d=c(17954),e=c(15707),f=c(71927),g=c(76017),h="ResponseAborted";class i extends Error{constructor(...a){super(...a),this.name=h}}function j(a){let b=new AbortController;return a.once("close",()=>{a.writableFinished||b.abort(new i)}),b}function k(a){let{errored:b,destroyed:c}=a;if(b||c)return AbortSignal.abort(b??new i);let{signal:d}=j(a);return d}class l{static fromBaseNextRequest(a,b){if((0,g.isNodeNextRequest)(a))return l.fromNodeNextRequest(a,b);throw Object.defineProperty(Error("Invariant: Unsupported NextRequest type"),"__NEXT_ERROR_CODE",{value:"E345",enumerable:!1,configurable:!0})}static fromNodeNextRequest(a,b){let c,g=null;if("GET"!==a.method&&"HEAD"!==a.method&&a.body&&(g=a.body),a.url.startsWith("http"))c=new URL(a.url);else{let b=(0,d.getRequestMeta)(a,"initURL");c=b&&b.startsWith("http")?new URL(a.url,b):new URL(a.url,"http://n")}return new f.NextRequest(c,{method:a.method,headers:(0,e.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:b,...b.aborted?{}:{body:g}})}static fromWebNextRequest(a){let b=null;return"GET"!==a.method&&"HEAD"!==a.method&&(b=a.body),new f.NextRequest(a.url,{method:a.method,headers:(0,e.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:a.request.signal,...a.request.signal.aborted?{}:{body:b}})}}},42207:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getClientComponentLoaderMetrics:function(){return g},wrapClientComponentLoader:function(){return f}});let c=0,d=0,e=0;function f(a){return"performance"in globalThis?{require:(...b)=>{let f=performance.now();0===c&&(c=f);try{return e+=1,a.__next_app__.require(...b)}finally{d+=performance.now()-f}},loadChunk:(...b)=>{let c=performance.now(),e=a.__next_app__.loadChunk(...b);return e.finally(()=>{d+=performance.now()-c}),e}}:a.__next_app__}function g(a={}){let b=0===c?void 0:{clientComponentLoadStart:c,clientComponentLoadTimes:d,clientComponentLoadCount:e};return a.reset&&(c=0,d=0,e=0),b}},42811:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fromResponseCacheEntry:function(){return h},routeKindToIncrementalCacheKind:function(){return j},toResponseCacheEntry:function(){return i}});let d=c(80551),e=function(a){return a&&a.__esModule?a:{default:a}}(c(62153)),f=c(29032),g=c(47274);async function h(a){var b,c;return{...a,value:(null==(b=a.value)?void 0:b.kind)===d.CachedRouteKind.PAGES?{kind:d.CachedRouteKind.PAGES,html:await a.value.html.toUnchunkedString(!0),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===d.CachedRouteKind.APP_PAGE?{kind:d.CachedRouteKind.APP_PAGE,html:await a.value.html.toUnchunkedString(!0),postponed:a.value.postponed,rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,segmentData:a.value.segmentData}:a.value}}async function i(a){var b,c;return a?{isMiss:a.isMiss,isStale:a.isStale,cacheControl:a.cacheControl,value:(null==(b=a.value)?void 0:b.kind)===d.CachedRouteKind.PAGES?{kind:d.CachedRouteKind.PAGES,html:e.default.fromStatic(a.value.html,g.HTML_CONTENT_TYPE_HEADER),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===d.CachedRouteKind.APP_PAGE?{kind:d.CachedRouteKind.APP_PAGE,html:e.default.fromStatic(a.value.html,g.HTML_CONTENT_TYPE_HEADER),rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,postponed:a.value.postponed,segmentData:a.value.segmentData}:a.value}:null}function j(a){switch(a){case f.RouteKind.PAGES:return d.IncrementalCacheKind.PAGES;case f.RouteKind.APP_PAGE:return d.IncrementalCacheKind.APP_PAGE;case f.RouteKind.IMAGE:return d.IncrementalCacheKind.IMAGE;case f.RouteKind.APP_ROUTE:return d.IncrementalCacheKind.APP_ROUTE;case f.RouteKind.PAGES_API:throw Object.defineProperty(Error(`Unexpected route kind ${a}`),"__NEXT_ERROR_CODE",{value:"E64",enumerable:!1,configurable:!0});default:return a}}},43357:(a,b)=>{"use strict";function c(a){return a.default||a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"interopDefault",{enumerable:!0,get:function(){return c}})},44576:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ENCODED_TAGS",{enumerable:!0,get:function(){return c}});let c={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])},META:{ICON_MARK:new Uint8Array([60,109,101,116,97,32,110,97,109,101,61,34,194,171,110,120,116,45,105,99,111,110,194,187,34])}}},47366:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{sendEtagResponse:function(){return i},sendRenderResult:function(){return j}});let d=c(8423),e=c(92486),f=function(a){return a&&a.__esModule?a:{default:a}}(c(60746)),g=c(8833),h=c(47274);function i(a,b,c){return c&&b.setHeader("ETag",c),!!(0,f.default)(a.headers,{etag:c})&&(b.statusCode=304,b.end(),!0)}async function j({req:a,res:b,result:c,generateEtags:f,poweredByHeader:j,cacheControl:k}){if((0,d.isResSent)(b))return;j&&c.contentType===h.HTML_CONTENT_TYPE_HEADER&&b.setHeader("X-Powered-By","Next.js"),k&&!b.getHeader("Cache-Control")&&b.setHeader("Cache-Control",(0,g.getCacheControlHeader)(k));let l=c.isDynamic?null:c.toUnchunkedString();if(!(f&&null!==l&&i(a,b,(0,e.generateETag)(l))))return(!b.getHeader("Content-Type")&&c.contentType&&b.setHeader("Content-Type",c.contentType),l&&b.setHeader("Content-Length",Buffer.byteLength(l)),"HEAD"===a.method)?void b.end(null):null!==l?void b.end(l):void await c.pipeToNodeResponse(b)}},48130:(a,b)=>{"use strict";function c(a,b,c){if(a)for(let f of(c&&(c=c.toLowerCase()),a)){var d,e;if(b===(null==(d=f.domain)?void 0:d.split(":",1)[0].toLowerCase())||c===f.defaultLocale.toLowerCase()||(null==(e=f.locales)?void 0:e.some(a=>a.toLowerCase()===c)))return f}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"detectDomainLocale",{enumerable:!0,get:function(){return c}})},49391:(a,b)=>{"use strict";Object.defineProperty(b,"M",{enumerable:!0,get:function(){return function a(b,c){return c in b?b[c]:"then"in b&&"function"==typeof b.then?b.then(b=>a(b,c)):"function"==typeof b&&"default"===c?b:void 0}}})},51024:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Batcher",{enumerable:!0,get:function(){return e}});let d=c(89429);class e{constructor(a,b=a=>a()){this.cacheKeyFn=a,this.schedulerFn=b,this.pending=new Map}static create(a){return new e(null==a?void 0:a.cacheKeyFn,null==a?void 0:a.schedulerFn)}async batch(a,b){let c=this.cacheKeyFn?await this.cacheKeyFn(a):a;if(null===c)return b(c,Promise.resolve);let e=this.pending.get(c);if(e)return e;let{promise:f,resolve:g,reject:h}=new d.DetachedPromise;return this.pending.set(c,f),this.schedulerFn(async()=>{try{let a=await b(c,g);g(a)}catch(a){h(a)}finally{this.pending.delete(c)}}),f}}},54547:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextURL",{enumerable:!0,get:function(){return k}});let d=c(48130),e=c(26975),f=c(20614),g=c(13712),h=/(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)/;function i(a,b){return new URL(String(a).replace(h,"localhost"),b&&String(b).replace(h,"localhost"))}let j=Symbol("NextURLInternal");class k{constructor(a,b,c){let d,e;"object"==typeof b&&"pathname"in b||"string"==typeof b?(d=b,e=c||{}):e=c||b||{},this[j]={url:i(a,d??e.base),options:e,basePath:""},this.analyze()}analyze(){var a,b,c,e,h;let i=(0,g.getNextPathnameInfo)(this[j].url.pathname,{nextConfig:this[j].options.nextConfig,parseData:!0,i18nProvider:this[j].options.i18nProvider}),k=(0,f.getHostname)(this[j].url,this[j].options.headers);this[j].domainLocale=this[j].options.i18nProvider?this[j].options.i18nProvider.detectDomainLocale(k):(0,d.detectDomainLocale)(null==(b=this[j].options.nextConfig)||null==(a=b.i18n)?void 0:a.domains,k);let l=(null==(c=this[j].domainLocale)?void 0:c.defaultLocale)||(null==(h=this[j].options.nextConfig)||null==(e=h.i18n)?void 0:e.defaultLocale);this[j].url.pathname=i.pathname,this[j].defaultLocale=l,this[j].basePath=i.basePath??"",this[j].buildId=i.buildId,this[j].locale=i.locale??l,this[j].trailingSlash=i.trailingSlash}formatPathname(){return(0,e.formatNextPathnameInfo)({basePath:this[j].basePath,buildId:this[j].buildId,defaultLocale:this[j].options.forceLocale?void 0:this[j].defaultLocale,locale:this[j].locale,pathname:this[j].url.pathname,trailingSlash:this[j].trailingSlash})}formatSearch(){return this[j].url.search}get buildId(){return this[j].buildId}set buildId(a){this[j].buildId=a}get locale(){return this[j].locale??""}set locale(a){var b,c;if(!this[j].locale||!(null==(c=this[j].options.nextConfig)||null==(b=c.i18n)?void 0:b.locales.includes(a)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${a}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[j].locale=a}get defaultLocale(){return this[j].defaultLocale}get domainLocale(){return this[j].domainLocale}get searchParams(){return this[j].url.searchParams}get host(){return this[j].url.host}set host(a){this[j].url.host=a}get hostname(){return this[j].url.hostname}set hostname(a){this[j].url.hostname=a}get port(){return this[j].url.port}set port(a){this[j].url.port=a}get protocol(){return this[j].url.protocol}set protocol(a){this[j].url.protocol=a}get href(){let a=this.formatPathname(),b=this.formatSearch();return`${this.protocol}//${this.host}${a}${b}${this.hash}`}set href(a){this[j].url=i(a),this.analyze()}get origin(){return this[j].url.origin}get pathname(){return this[j].url.pathname}set pathname(a){this[j].url.pathname=a}get hash(){return this[j].url.hash}set hash(a){this[j].url.hash=a}get search(){return this[j].url.search}set search(a){this[j].url.search=a}get password(){return this[j].url.password}set password(a){this[j].url.password=a}get username(){return this[j].url.username}set username(a){this[j].url.username=a}get basePath(){return this[j].basePath}set basePath(a){this[j].basePath=a.startsWith("/")?a:`/${a}`}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 k(String(this),this[j].options)}}},60746:a=>{(()=>{"use strict";var b={695:a=>{var b=/(?:^|,)\s*?no-cache\s*?(?:,|$)/;function c(a){var b=a&&Date.parse(a);return"number"==typeof b?b:NaN}a.exports=function(a,d){var e=a["if-modified-since"],f=a["if-none-match"];if(!e&&!f)return!1;var g=a["cache-control"];if(g&&b.test(g))return!1;if(f&&"*"!==f){var h=d.etag;if(!h)return!1;for(var i=!0,j=function(a){for(var b=0,c=[],d=0,e=0,f=a.length;e<f;e++)switch(a.charCodeAt(e)){case 32:d===b&&(d=b=e+1);break;case 44:c.push(a.substring(d,b)),d=b=e+1;break;default:b=e+1}return c.push(a.substring(d,b)),c}(f),k=0;k<j.length;k++){var l=j[k];if(l===h||l==="W/"+h||"W/"+l===h){i=!1;break}}if(i)return!1}if(e){var m=d["last-modified"];if(!m||!(c(m)<=c(e)))return!1}return!0}}},c={};function d(a){var e=c[a];if(void 0!==e)return e.exports;var f=c[a]={exports:{}},g=!0;try{b[a](f,f.exports,d),g=!1}finally{g&&delete c[a]}return f.exports}d.ab=__dirname+"/",a.exports=d(695)})()},62153:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return g}});let d=c(63754),e=c(23026),f=c(99257);class g{static #a=this.EMPTY=new g(null,{metadata:{},contentType:null});static fromStatic(a,b){return new g(a,{metadata:{},contentType:b})}constructor(a,{contentType:b,waitUntil:c,metadata:d}){this.response=a,this.contentType=b,this.metadata=d,this.waitUntil=c}assignMetadata(a){Object.assign(this.metadata,a)}get isNull(){return null===this.response}get isDynamic(){return"string"!=typeof this.response}toUnchunkedString(a=!1){if(null===this.response)return"";if("string"!=typeof this.response){if(!a)throw Object.defineProperty(new f.InvariantError("dynamic responses cannot be unchunked. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E732",enumerable:!1,configurable:!0});return(0,d.streamToString)(this.readable)}return this.response}get readable(){return null===this.response?new ReadableStream({start(a){a.close()}}):"string"==typeof this.response?(0,d.streamFromString)(this.response):Buffer.isBuffer(this.response)?(0,d.streamFromBuffer)(this.response):Array.isArray(this.response)?(0,d.chainStreams)(...this.response):this.response}coerce(){return null===this.response?[]:"string"==typeof this.response?[(0,d.streamFromString)(this.response)]:Array.isArray(this.response)?this.response:Buffer.isBuffer(this.response)?[(0,d.streamFromBuffer)(this.response)]:[this.response]}unshift(a){this.response=this.coerce(),this.response.unshift(a)}push(a){this.response=this.coerce(),this.response.push(a)}async pipeTo(a){try{await this.readable.pipeTo(a,{preventClose:!0}),this.waitUntil&&await this.waitUntil,await a.close()}catch(b){if((0,e.isAbortError)(b))return void await a.abort(b);throw b}}async pipeToNodeResponse(a){await (0,e.pipeToNodeResponse)(this.readable,a,this.waitUntil)}}},63754:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{chainStreams:function(){return n},continueDynamicHTMLResume:function(){return E},continueDynamicPrerender:function(){return C},continueFizzStream:function(){return B},continueStaticPrerender:function(){return D},createBufferedTransformStream:function(){return s},createDocumentClosingStream:function(){return F},createRootLayoutValidatorStream:function(){return A},renderToInitialFizzStream:function(){return u},streamFromBuffer:function(){return p},streamFromString:function(){return o},streamToBuffer:function(){return q},streamToString:function(){return r}});let d=c(47392),e=c(34626),f=c(89429),g=c(61798),h=c(44576),i=c(64887),j=c(32151),k=c(26411);function l(){}let m=new TextEncoder;function n(...a){if(0===a.length)return new ReadableStream({start(a){a.close()}});if(1===a.length)return a[0];let{readable:b,writable:c}=new TransformStream,d=a[0].pipeTo(c,{preventClose:!0}),e=1;for(;e<a.length-1;e++){let b=a[e];d=d.then(()=>b.pipeTo(c,{preventClose:!0}))}let f=a[e];return(d=d.then(()=>f.pipeTo(c))).catch(l),b}function o(a){return new ReadableStream({start(b){b.enqueue(m.encode(a)),b.close()}})}function p(a){return new ReadableStream({start(b){b.enqueue(a),b.close()}})}async function q(a){let b=a.getReader(),c=[];for(;;){let{done:a,value:d}=await b.read();if(a)break;c.push(d)}return Buffer.concat(c)}async function r(a,b){let c=new TextDecoder("utf-8",{fatal:!0}),d="";for await(let e of a){if(null==b?void 0:b.aborted)return d;d+=c.decode(e,{stream:!0})}return d+c.decode()}function s(){let a,b=[],c=0;return new TransformStream({transform(d,e){b.push(d),c+=d.byteLength,(d=>{if(a)return;let e=new f.DetachedPromise;a=e,(0,g.scheduleImmediate)(()=>{try{let a=new Uint8Array(c),e=0;for(let c=0;c<b.length;c++){let d=b[c];a.set(d,e),e+=d.byteLength}b.length=0,c=0,d.enqueue(a)}catch{}finally{a=void 0,e.resolve()}})})(e)},flush(){if(a)return a.promise}})}function t(a,b){let c=!1;return new TransformStream({transform(d,e){if(a&&!c){c=!0;let a=new TextDecoder("utf-8",{fatal:!0}).decode(d,{stream:!0}),f=(0,k.insertBuildIdComment)(a,b);e.enqueue(m.encode(f));return}e.enqueue(d)}})}function u({ReactDOMServer:a,element:b,streamOptions:c}){return(0,d.getTracer)().trace(e.AppRenderSpan.renderToReadableStream,async()=>a.renderToReadableStream(b,c))}function v(a){let b=-1,c=!1;return new TransformStream({async transform(d,e){let f=-1,g=-1;if(b++,c)return void e.enqueue(d);let j=0;if(-1===f){if(-1===(f=(0,i.indexOfUint8Array)(d,h.ENCODED_TAGS.META.ICON_MARK)))return void e.enqueue(d);47===d[f+(j=h.ENCODED_TAGS.META.ICON_MARK.length)]?j+=2:j++}if(0===b){if(g=(0,i.indexOfUint8Array)(d,h.ENCODED_TAGS.CLOSED.HEAD),-1!==f){if(f<g){let a=new Uint8Array(d.length-j);a.set(d.subarray(0,f)),a.set(d.subarray(f+j),f),d=a}else{let b=await a(),c=m.encode(b),e=c.length,g=new Uint8Array(d.length-j+e);g.set(d.subarray(0,f)),g.set(c,f),g.set(d.subarray(f+j),f+e),d=g}c=!0}}else{let b=await a(),e=m.encode(b),g=e.length,h=new Uint8Array(d.length-j+g);h.set(d.subarray(0,f)),h.set(e,f),h.set(d.subarray(f+j),f+g),d=h,c=!0}e.enqueue(d)}})}function w(a){let b=!1,c=!1;return new TransformStream({async transform(d,e){c=!0;let f=await a();if(b){if(f){let a=m.encode(f);e.enqueue(a)}e.enqueue(d)}else{let a=(0,i.indexOfUint8Array)(d,h.ENCODED_TAGS.CLOSED.HEAD);if(-1!==a){if(f){let b=m.encode(f),c=new Uint8Array(d.length+b.length);c.set(d.slice(0,a)),c.set(b,a),c.set(d.slice(a),a+b.length),e.enqueue(c)}else e.enqueue(d);b=!0}else f&&e.enqueue(m.encode(f)),e.enqueue(d),b=!0}},async flush(b){if(c){let c=await a();c&&b.enqueue(m.encode(c))}}})}function x(a,b){let c=!1,d=null,e=!1;function f(a){return d||(d=h(a)),d}async function h(d){let f=a.getReader();b&&await (0,g.atLeastOneTask)();try{for(;;){let{done:a,value:h}=await f.read();if(a){e=!0;return}b||c||await (0,g.atLeastOneTask)(),d.enqueue(h)}}catch(a){d.error(a)}}return new TransformStream({start(a){b||f(a)},transform(a,c){c.enqueue(a),b&&f(c)},flush(a){if(c=!0,!e)return f(a)}})}let y="</body></html>";function z(){let a=!1;return new TransformStream({transform(b,c){if(a)return c.enqueue(b);let d=(0,i.indexOfUint8Array)(b,h.ENCODED_TAGS.CLOSED.BODY_AND_HTML);if(d>-1){if(a=!0,b.length===h.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length)return;let e=b.slice(0,d);if(c.enqueue(e),b.length>h.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length+d){let a=b.slice(d+h.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length);c.enqueue(a)}}else c.enqueue(b)},flush(a){a.enqueue(h.ENCODED_TAGS.CLOSED.BODY_AND_HTML)}})}function A(){let a=!1,b=!1;return new TransformStream({async transform(c,d){!a&&(0,i.indexOfUint8Array)(c,h.ENCODED_TAGS.OPENING.HTML)>-1&&(a=!0),!b&&(0,i.indexOfUint8Array)(c,h.ENCODED_TAGS.OPENING.BODY)>-1&&(b=!0),d.enqueue(c)},flush(c){let d=[];a||d.push("html"),b||d.push("body"),d.length&&c.enqueue(m.encode(`<html id="__next_error__">
|
|
13
13
|
<template
|
|
14
14
|
data-next-error-message="Missing ${d.map(a=>`<${a}>`).join(d.length>1?" and ":"")} tags in the root layout.
|
|
15
15
|
Read more at https://nextjs.org/docs/messages/missing-root-layout-tags"
|
|
16
16
|
data-next-error-digest="${j.MISSING_ROOT_TAGS_ERROR}"
|
|
17
17
|
data-next-error-stack=""
|
|
18
18
|
></template>
|
|
19
|
-
`))}})}async function B(a,{suffix:b,inlinedDataStream:c,isStaticGeneration:d,isBuildTimePrerendering:e,buildId:h,getServerInsertedHTML:i,getServerInsertedMetadata:j,validateRootLayout:k}){let l,n,o=b?b.split(y,1)[0]:null;d&&await a.allReady;var p=[s(),t(e,h),v(j),null!=o&&o.length>0?(n=!1,new TransformStream({transform(a,b){if(b.enqueue(a),!n){n=!0;let a=new f.DetachedPromise;l=a,(0,g.scheduleImmediate)(()=>{try{b.enqueue(m.encode(o))}catch{}finally{l=void 0,a.resolve()}})}},flush(a){if(l)return l.promise;n||a.enqueue(m.encode(o))}})):null,c?x(c,!0):null,k?A():null,z(),w(i)];let q=a;for(let a of p)a&&(q=q.pipeThrough(a));return q}async function C(a,{getServerInsertedHTML:b,getServerInsertedMetadata:c}){return a.pipeThrough(s()).pipeThrough(new TransformStream({transform(a,b){(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY_AND_HTML)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.HTML)||(a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.BODY),a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.HTML),b.enqueue(a))}})).pipeThrough(w(b)).pipeThrough(v(c))}async function D(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,isBuildTimePrerendering:e,buildId:f}){return a.pipeThrough(s()).pipeThrough(t(e,f)).pipeThrough(w(c)).pipeThrough(v(d)).pipeThrough(x(b,!0)).pipeThrough(z())}async function E(a,{delayDataUntilFirstHtmlChunk:b,inlinedDataStream:c,getServerInsertedHTML:d,getServerInsertedMetadata:e}){return a.pipeThrough(s()).pipeThrough(w(d)).pipeThrough(v(e)).pipeThrough(x(c,b)).pipeThrough(z())}function F(){return o(y)}},64588:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getClientComponentLoaderMetrics:function(){return g},wrapClientComponentLoader:function(){return f}});let c=0,d=0,e=0;function f(a){return"performance"in globalThis?{require:(...b)=>{let f=performance.now();0===c&&(c=f);try{return e+=1,a.__next_app__.require(...b)}finally{d+=performance.now()-f}},loadChunk:(...b)=>{let c=performance.now(),e=a.__next_app__.loadChunk(...b);return e.finally(()=>{d+=performance.now()-c}),e}}:a.__next_app__}function g(a={}){let b=0===c?void 0:{clientComponentLoadStart:c,clientComponentLoadTimes:d,clientComponentLoadCount:e};return a.reset&&(c=0,d=0,e=0),b}},64887:(a,b)=>{"use strict";function c(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function d(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function e(a,b){let d=c(a,b);if(0===d)return a.subarray(b.length);if(!(d>-1))return a;{let c=new Uint8Array(a.length-b.length);return c.set(a.slice(0,d)),c.set(a.slice(d+b.length),d),c}}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{indexOfUint8Array:function(){return c},isEquivalentUint8Arrays:function(){return d},removeFromUint8Array:function(){return e}})},67315:(a,b,c)=>{"use strict";Object.defineProperty(b,"U",{enumerable:!0,get:function(){return A}});let d=c(29032),e=c(34626),f=c(47392),g=c(82865),h=c(17954),i=c(43357),j=c(14663),k=c(1628),l=c(27860),m=c(8833),n=c(8423),o=c(25106),p=c(47274),q=z(c(33873)),r=c(47366),s=z(c(62153)),t=c(42811),u=c(46060),v=c(23830),w=c(84580),x=c(34392),y=c(56001);function z(a){return a&&a.__esModule?a:{default:a}}let A=({srcPage:a,config:b,userland:c,routeModule:z,isFallbackError:A,getStaticPaths:B,getStaticProps:C,getServerSideProps:D})=>async function(E,F,G){var H,I;let J=a;"/index"===J&&(J="/");let K=await z.prepare(E,F,{srcPage:J,multiZoneDraftMode:!1});if(!K){F.statusCode=400,F.end("Bad Request"),null==G.waitUntil||G.waitUntil.call(G,Promise.resolve());return}let{buildId:L,query:M,params:N,parsedUrl:O,originalQuery:P,originalPathname:Q,buildManifest:R,fallbackBuildManifest:S,nextFontManifest:T,serverFilesManifest:U,reactLoadableManifest:V,prerenderManifest:W,isDraftMode:X,isOnDemandRevalidate:Y,revalidateOnlyGenerated:Z,locale:$,locales:_,defaultLocale:aa,routerServerContext:ab,nextConfig:ac,resolvedPathname:ad}=K,ae=null==U||null==(I=U.config)||null==(H=I.experimental)?void 0:H.isExperimentalCompile,af=!!D,ag=!!C,ah=!!B,ai=!!(c.default||c).getInitialProps,aj=M.amp&&(null==b?void 0:b.amp),ak=null,al=!1,am=K.isNextDataRequest&&(ag||af),an="/404"===J,ao="/500"===J,ap="/_error"===J;if(z.isDev||X||!ag||(ak=`${$?`/${$}`:""}${("/"===J||"/"===ad)&&$?"":ad}${aj?".amp":""}`,(an||ao||ap)&&(ak=`${$?`/${$}`:""}${J}${aj?".amp":""}`),ak="/index"===ak?"/":ak),ah&&!X){let a=(0,y.removeTrailingSlash)($?(0,x.addPathPrefix)(ad,`/${$}`):ad),b=!!W.routes[a]||W.notFoundRoutes.includes(a),c=W.dynamicRoutes[J];if(c){if(!1===c.fallback&&!b)throw new u.NoFallbackError;"string"!=typeof c.fallback||b||am||(al=!0)}}(al&&(0,w.isBot)(E.headers["user-agent"]||"")||(0,h.getRequestMeta)(E,"minimalMode"))&&(al=!1);let aq=(0,f.getTracer)(),ar=aq.getActiveScopeSpan();try{let a=E.method||"GET",u=(0,g.formatUrl)({pathname:ac.trailingSlash?O.pathname:(0,y.removeTrailingSlash)(O.pathname||"/"),query:ag?{}:P}),w=(null==ab?void 0:ab.publicRuntimeConfig)||ac.publicRuntimeConfig,x=async f=>{var x,y;let H,I=async({previousCacheEntry:m})=>{var n;let o=async()=>{try{var d,n,o;return await z.render(E,F,{query:ag&&!ae?{...N,...aj?{amp:M.amp}:{}}:{...M,...N},params:N,page:J,renderContext:{isDraftMode:X,isFallback:al,developmentNotFoundSourcePage:(0,h.getRequestMeta)(E,"developmentNotFoundSourcePage")},sharedContext:{buildId:L,customServer:!!(null==ab?void 0:ab.isCustomServer)||void 0,deploymentId:!1},renderOpts:{params:N,routeModule:z,page:J,pageConfig:b||{},Component:(0,i.interopDefault)(c),ComponentMod:c,getStaticProps:C,getStaticPaths:B,getServerSideProps:D,supportsDynamicResponse:!ag,buildManifest:A?S:R,nextFontManifest:T,reactLoadableManifest:V,assetPrefix:ac.assetPrefix,previewProps:W.preview,images:ac.images,nextConfigOutput:ac.output,optimizeCss:!!ac.experimental.optimizeCss,nextScriptWorkers:!!ac.experimental.nextScriptWorkers,domainLocales:null==(d=ac.i18n)?void 0:d.domains,crossOrigin:ac.crossOrigin,multiZoneDraftMode:!1,basePath:ac.basePath,canonicalBase:ac.amp.canonicalBase||"",ampOptimizerConfig:null==(n=ac.experimental.amp)?void 0:n.optimizer,disableOptimizedLoading:ac.experimental.disableOptimizedLoading,largePageDataBytes:ac.experimental.largePageDataBytes,runtimeConfig:Object.keys(w).length>0?w:void 0,isExperimentalCompile:ae,experimental:{clientTraceMetadata:ac.experimental.clientTraceMetadata||[]},locale:$,locales:_,defaultLocale:aa,setIsrStatus:null==ab?void 0:ab.setIsrStatus,isNextDataRequest:am&&(af||ag),resolvedUrl:u,resolvedAsPath:af||ai?(0,g.formatUrl)({pathname:am?(0,k.normalizeDataPath)(Q):Q,query:P}):u,isOnDemandRevalidate:Y,ErrorDebug:(0,h.getRequestMeta)(E,"PagesErrorDebug"),err:(0,h.getRequestMeta)(E,"invokeError"),dev:z.isDev,distDir:q.default.join(process.cwd(),z.relativeProjectDir,z.distDir),ampSkipValidation:null==(o=ac.experimental.amp)?void 0:o.skipValidation,ampValidator:(0,h.getRequestMeta)(E,"ampValidator")}}).then(a=>{let{metadata:b}=a,c=b.cacheControl;return"isNotFound"in b&&b.isNotFound?{value:null,cacheControl:c}:b.isRedirect?{value:{kind:l.CachedRouteKind.REDIRECT,props:b.pageData??b.flightData},cacheControl:c}:{value:{kind:l.CachedRouteKind.PAGES,html:a,pageData:a.metadata.pageData,headers:a.metadata.headers,status:a.metadata.statusCode},cacheControl:c}}).finally(()=>{if(!f)return;f.setAttributes({"http.status_code":F.statusCode,"next.rsc":!1});let b=aq.getRootSpanAttributes();if(!b)return;if(b.get("next.span_type")!==e.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${b.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let c=b.get("next.route");if(c){let b=`${a} ${c}`;f.setAttributes({"next.route":c,"http.route":c,"next.span_name":b}),f.updateName(b)}else f.updateName(`${a} ${E.url}`)})}catch(a){throw(null==m?void 0:m.isStale)&&await z.onRequestError(E,a,{routerKind:"Pages Router",routePath:J,routeType:"render",revalidateReason:(0,j.getRevalidateReason)({isRevalidate:ag,isOnDemandRevalidate:Y})},ab),a}};if(m&&(al=!1),al){let a=await z.getResponseCache(E).get(z.isDev?null:$?`/${$}${J}`:J,async({previousCacheEntry:a=null})=>z.isDev?o():(0,t.toResponseCacheEntry)(a),{routeKind:d.RouteKind.PAGES,isFallback:!0,isRoutePPREnabled:!1,isOnDemandRevalidate:!1,incrementalCache:await z.getIncrementalCache(E,ac,W),waitUntil:G.waitUntil});if(a)return delete a.cacheControl,a.isMiss=!0,a}return!(0,h.getRequestMeta)(E,"minimalMode")&&Y&&Z&&!m?(F.statusCode=404,F.setHeader("x-nextjs-cache","REVALIDATED"),F.end("This page could not be found"),null):al&&(null==m||null==(n=m.value)?void 0:n.kind)===l.CachedRouteKind.PAGES?{value:{kind:l.CachedRouteKind.PAGES,html:new s.default(m.value.html,{contentType:p.HTML_CONTENT_TYPE_HEADER,metadata:{statusCode:m.value.status,headers:m.value.headers}}),pageData:{},status:m.value.status,headers:m.value.headers},cacheControl:{revalidate:0,expire:void 0}}:o()},K=await z.handleResponse({cacheKey:ak,req:E,nextConfig:ac,routeKind:d.RouteKind.PAGES,isOnDemandRevalidate:Y,revalidateOnlyGenerated:Z,waitUntil:G.waitUntil,responseGenerator:I,prerenderManifest:W});if(!al||(null==K?void 0:K.isMiss)||(al=!1),K){if(ag&&!(0,h.getRequestMeta)(E,"minimalMode")&&F.setHeader("x-nextjs-cache",Y?"REVALIDATED":K.isMiss?"MISS":K.isStale?"STALE":"HIT"),!ag||al)F.getHeader("Cache-Control")||(H={revalidate:0,expire:void 0});else if(an){let a=(0,h.getRequestMeta)(E,"notFoundRevalidate");H={revalidate:void 0===a?0:a,expire:void 0}}else if(ao)H={revalidate:0,expire:void 0};else if(K.cacheControl)if("number"==typeof K.cacheControl.revalidate){if(K.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${K.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});H={revalidate:K.cacheControl.revalidate,expire:(null==(x=K.cacheControl)?void 0:x.expire)??ac.expireTime}}else H={revalidate:p.CACHE_ONE_YEAR,expire:void 0};if(H&&!F.getHeader("Cache-Control")&&F.setHeader("Cache-Control",(0,m.getCacheControlHeader)(H)),!K.value)return((0,h.addRequestMeta)(E,"notFoundRevalidate",null==(y=K.cacheControl)?void 0:y.revalidate),F.statusCode=404,am)?void F.end('{"notFound":true}'):void((null==ab?void 0:ab.render404)?await ab.render404(E,F,O,!1):F.end("This page could not be found"));if(K.value.kind===l.CachedRouteKind.REDIRECT)if(!am)return await (a=>{let b={destination:a.pageProps.__N_REDIRECT,statusCode:a.pageProps.__N_REDIRECT_STATUS,basePath:a.pageProps.__N_REDIRECT_BASE_PATH},c=(0,o.getRedirectStatus)(b),{basePath:d}=ac;d&&!1!==b.basePath&&b.destination.startsWith("/")&&(b.destination=`${d}${b.destination}`),b.destination.startsWith("/")&&(b.destination=(0,n.normalizeRepeatedSlashes)(b.destination)),F.statusCode=c,F.setHeader("Location",b.destination),c===v.RedirectStatusCode.PermanentRedirect&&F.setHeader("Refresh",`0;url=${b.destination}`),F.end(b.destination)})(K.value.props),null;else{F.setHeader("content-type",p.JSON_CONTENT_TYPE_HEADER),F.end(JSON.stringify(K.value.props));return}if(K.value.kind!==l.CachedRouteKind.PAGES)throw Object.defineProperty(Error("Invariant: received non-pages cache entry in pages handler"),"__NEXT_ERROR_CODE",{value:"E695",enumerable:!1,configurable:!0});if(z.isDev&&F.setHeader("Cache-Control","no-store, must-revalidate"),X&&F.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),(0,h.getRequestMeta)(E,"customErrorRender")||ap&&(0,h.getRequestMeta)(E,"minimalMode")&&500===F.statusCode)return null;await (0,r.sendRenderResult)({req:E,res:F,result:!am||ap||ao?K.value.html:new s.default(JSON.stringify(K.value.pageData),{contentType:p.JSON_CONTENT_TYPE_HEADER,metadata:K.value.html.metadata}),generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,cacheControl:z.isDev?void 0:H})}};ar?await x():await aq.withPropagatedContext(E.headers,()=>aq.trace(e.BaseServerSpan.handleRequest,{spanName:`${a} ${E.url}`,kind:f.SpanKind.SERVER,attributes:{"http.method":a,"http.target":E.url}},x))}catch(a){throw a instanceof u.NoFallbackError||await z.onRequestError(E,a,{routerKind:"Pages Router",routePath:J,routeType:"render",revalidateReason:(0,j.getRevalidateReason)({isRevalidate:ag,isOnDemandRevalidate:Y})},ab),a}}},71927:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{INTERNALS:function(){return h},NextRequest:function(){return i}});let d=c(54547),e=c(15707),f=c(12606),g=c(13653),h=Symbol("internal request");class i extends Request{constructor(a,b={}){let c="string"!=typeof a&&"url"in a?a.url:String(a);(0,e.validateURL)(c),b.body&&"half"!==b.duplex&&(b.duplex="half"),a instanceof Request?super(a,b):super(c,b);let f=new d.NextURL(c,{headers:(0,e.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:b.nextConfig});this[h]={cookies:new g.RequestCookies(this.headers),nextUrl:f,url:f.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[h].cookies}get nextUrl(){return this[h].nextUrl}get page(){throw new f.RemovedPageError}get ua(){throw new f.RemovedUAError}get url(){return this[h].url}}},75097:a=>{"use strict";var b=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,f={};function g(a){var b;let c=["path"in a&&a.path&&`Path=${a.path}`,"expires"in a&&(a.expires||0===a.expires)&&`Expires=${("number"==typeof a.expires?new Date(a.expires):a.expires).toUTCString()}`,"maxAge"in a&&"number"==typeof a.maxAge&&`Max-Age=${a.maxAge}`,"domain"in a&&a.domain&&`Domain=${a.domain}`,"secure"in a&&a.secure&&"Secure","httpOnly"in a&&a.httpOnly&&"HttpOnly","sameSite"in a&&a.sameSite&&`SameSite=${a.sameSite}`,"partitioned"in a&&a.partitioned&&"Partitioned","priority"in a&&a.priority&&`Priority=${a.priority}`].filter(Boolean),d=`${a.name}=${encodeURIComponent(null!=(b=a.value)?b:"")}`;return 0===c.length?d:`${d}; ${c.join("; ")}`}function h(a){let b=new Map;for(let c of a.split(/; */)){if(!c)continue;let a=c.indexOf("=");if(-1===a){b.set(c,"true");continue}let[d,e]=[c.slice(0,a),c.slice(a+1)];try{b.set(d,decodeURIComponent(null!=e?e:"true"))}catch{}}return b}function i(a){if(!a)return;let[[b,c],...d]=h(a),{domain:e,expires:f,httponly:g,maxage:i,path:l,samesite:m,secure:n,partitioned:o,priority:p}=Object.fromEntries(d.map(([a,b])=>[a.toLowerCase().replace(/-/g,""),b]));{var q,r,s={name:b,value:decodeURIComponent(c),domain:e,...f&&{expires:new Date(f)},...g&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...m&&{sameSite:j.includes(q=(q=m).toLowerCase())?q:void 0},...n&&{secure:!0},...p&&{priority:k.includes(r=(r=p).toLowerCase())?r:void 0},...o&&{partitioned:!0}};let a={};for(let b in s)s[b]&&(a[b]=s[b]);return a}}((a,c)=>{for(var d in c)b(a,d,{get:c[d],enumerable:!0})})(f,{RequestCookies:()=>l,ResponseCookies:()=>m,parseCookie:()=>h,parseSetCookie:()=>i,stringifyCookie:()=>g}),a.exports=((a,f,g,h)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let g of d(f))e.call(a,g)||void 0===g||b(a,g,{get:()=>f[g],enumerable:!(h=c(f,g))||h.enumerable});return a})(b({},"__esModule",{value:!0}),f);var j=["strict","lax","none"],k=["low","medium","high"],l=class{constructor(a){this._parsed=new Map,this._headers=a;let b=a.get("cookie");if(b)for(let[a,c]of h(b))this._parsed.set(a,{name:a,value:c})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed);if(!a.length)return c.map(([a,b])=>b);let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(([a])=>a===d).map(([a,b])=>b)}has(a){return this._parsed.has(a)}set(...a){let[b,c]=1===a.length?[a[0].name,a[0].value]:a,d=this._parsed;return d.set(b,{name:b,value:c}),this._headers.set("cookie",Array.from(d).map(([a,b])=>g(b)).join("; ")),this}delete(a){let b=this._parsed,c=Array.isArray(a)?a.map(a=>b.delete(a)):b.delete(a);return this._headers.set("cookie",Array.from(b).map(([a,b])=>g(b)).join("; ")),c}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a=>`${a.name}=${encodeURIComponent(a.value)}`).join("; ")}},m=class{constructor(a){var b,c,d;this._parsed=new Map,this._headers=a;let e=null!=(d=null!=(c=null==(b=a.getSetCookie)?void 0:b.call(a))?c:a.get("set-cookie"))?d:[];for(let a of Array.isArray(e)?e:function(a){if(!a)return[];var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}(e)){let b=i(a);b&&this._parsed.set(b.name,b)}}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed.values());if(!a.length)return c;let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(a=>a.name===d)}has(a){return this._parsed.has(a)}set(...a){let[b,c,d]=1===a.length?[a[0].name,a[0].value,a[0]]:a,e=this._parsed;return e.set(b,function(a={name:"",value:""}){return"number"==typeof a.expires&&(a.expires=new Date(a.expires)),a.maxAge&&(a.expires=new Date(Date.now()+1e3*a.maxAge)),(null===a.path||void 0===a.path)&&(a.path="/"),a}({name:b,value:c,...d})),function(a,b){for(let[,c]of(b.delete("set-cookie"),a)){let a=g(c);b.append("set-cookie",a)}}(e,this._headers),this}delete(...a){let[b,c]="string"==typeof a[0]?[a[0]]:[a[0].name,a[0]];return this.set({...c,name:b,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(g).join("; ")}}},76017:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isNodeNextRequest:function(){return e},isNodeNextResponse:function(){return f},isWebNextRequest:function(){return c},isWebNextResponse:function(){return d}});let c=a=>!1,d=a=>!1,e=a=>!0,f=a=>!0},80551:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{CachedRouteKind:function(){return c},IncrementalCacheKind:function(){return d}});var c=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.REDIRECT="REDIRECT",a.IMAGE="IMAGE",a}({}),d=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.IMAGE="IMAGE",a}({})},80649:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"LRUCache",{enumerable:!0,get:function(){return e}});class c{constructor(a,b,c){this.prev=null,this.next=null,this.key=a,this.data=b,this.size=c}}class d{constructor(){this.prev=null,this.next=null}}class e{constructor(a,b,c){this.cache=new Map,this.totalSize=0,this.maxSize=a,this.calculateSize=b,this.onEvict=c,this.head=new d,this.tail=new d,this.head.next=this.tail,this.tail.prev=this.head}addToHead(a){a.prev=this.head,a.next=this.head.next,this.head.next.prev=a,this.head.next=a}removeNode(a){a.prev.next=a.next,a.next.prev=a.prev}moveToHead(a){this.removeNode(a),this.addToHead(a)}removeTail(){let a=this.tail.prev;return this.removeNode(a),a}set(a,b){let d=(null==this.calculateSize?void 0:this.calculateSize.call(this,b))??1;if(d<=0)throw Object.defineProperty(Error(`LRUCache: calculateSize returned ${d}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});if(d>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let e=this.cache.get(a);if(e)e.data=b,this.totalSize=this.totalSize-e.size+d,e.size=d,this.moveToHead(e);else{let e=new c(a,b,d);this.cache.set(a,e),this.addToHead(e),this.totalSize+=d}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let a=this.removeTail();this.cache.delete(a.key),this.totalSize-=a.size,null==this.onEvict||this.onEvict.call(this,a.key,a.data)}return!0}has(a){return this.cache.has(a)}get(a){let b=this.cache.get(a);if(b)return this.moveToHead(b),b.data}*[Symbol.iterator](){let a=this.head.next;for(;a&&a!==this.tail;){let b=a;yield[b.key,b.data],a=a.next}}remove(a){let b=this.cache.get(a);b&&(this.removeNode(b),this.cache.delete(a),this.totalSize-=b.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}},89429:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"DetachedPromise",{enumerable:!0,get:function(){return c}});class c{constructor(){let a,b;this.promise=new Promise((c,d)=>{a=c,b=d}),this.resolve=a,this.reject=b}}},90252:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{bootstrap:function(){return i},error:function(){return k},event:function(){return o},info:function(){return n},prefixes:function(){return f},ready:function(){return m},trace:function(){return p},wait:function(){return j},warn:function(){return l},warnOnce:function(){return r}});let d=c(95884),e=c(80649),f={wait:(0,d.white)((0,d.bold)("○")),error:(0,d.red)((0,d.bold)("⨯")),warn:(0,d.yellow)((0,d.bold)("⚠")),ready:"▲",info:(0,d.white)((0,d.bold)(" ")),event:(0,d.green)((0,d.bold)("✓")),trace:(0,d.magenta)((0,d.bold)("\xbb"))},g={log:"log",warn:"warn",error:"error"};function h(a,...b){(""===b[0]||void 0===b[0])&&1===b.length&&b.shift();let c=a in g?g[a]:"log",d=f[a];0===b.length?console[c](""):1===b.length&&"string"==typeof b[0]?console[c](" "+d+" "+b[0]):console[c](" "+d,...b)}function i(...a){console.log(" "+a.join(" "))}function j(...a){h("wait",...a)}function k(...a){h("error",...a)}function l(...a){h("warn",...a)}function m(...a){h("ready",...a)}function n(...a){h("info",...a)}function o(...a){h("event",...a)}function p(...a){h("trace",...a)}let q=new e.LRUCache(1e4,a=>a.length);function r(...a){let b=a.join(" ");q.has(b)||(q.set(b,b),l(...a))}},92486:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fnv1a52:function(){return c},generateETag:function(){return d}});let c=a=>{let b=a.length,c=0,d=0,e=8997,f=0,g=33826,h=0,i=40164,j=0,k=52210;for(;c<b;)e^=a.charCodeAt(c++),d=435*e,f=435*g,h=435*i,j=435*k,h+=e<<8,j+=g<<8,f+=d>>>16,e=65535&d,h+=f>>>16,g=65535&f,k=j+(h>>>16)&65535,i=65535&h;return(15&k)*0x1000000000000+0x100000000*i+65536*g+(e^k>>4)},d=(a,b=!1)=>(b?'W/"':'"')+c(a).toString(36)+a.length.toString(36)+'"'},95884:(a,b)=>{"use strict";var c;Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{bgBlack:function(){return A},bgBlue:function(){return E},bgCyan:function(){return G},bgGreen:function(){return C},bgMagenta:function(){return F},bgRed:function(){return B},bgWhite:function(){return H},bgYellow:function(){return D},black:function(){return q},blue:function(){return u},bold:function(){return j},cyan:function(){return x},dim:function(){return k},gray:function(){return z},green:function(){return s},hidden:function(){return o},inverse:function(){return n},italic:function(){return l},magenta:function(){return v},purple:function(){return w},red:function(){return r},reset:function(){return i},strikethrough:function(){return p},underline:function(){return m},white:function(){return y},yellow:function(){return t}});let{env:d,stdout:e}=(null==(c=globalThis)?void 0:c.process)??{},f=d&&!d.NO_COLOR&&(d.FORCE_COLOR||(null==e?void 0:e.isTTY)&&!d.CI&&"dumb"!==d.TERM),g=(a,b,c,d)=>{let e=a.substring(0,d)+c,f=a.substring(d+b.length),h=f.indexOf(b);return~h?e+g(f,b,c,h):e+f},h=(a,b,c=a)=>f?d=>{let e=""+d,f=e.indexOf(b,a.length);return~f?a+g(e,b,c,f)+b:a+e+b}:String,i=f?a=>`\x1b[0m${a}\x1b[0m`:String,j=h("\x1b[1m","\x1b[22m","\x1b[22m\x1b[1m"),k=h("\x1b[2m","\x1b[22m","\x1b[22m\x1b[2m"),l=h("\x1b[3m","\x1b[23m"),m=h("\x1b[4m","\x1b[24m"),n=h("\x1b[7m","\x1b[27m"),o=h("\x1b[8m","\x1b[28m"),p=h("\x1b[9m","\x1b[29m"),q=h("\x1b[30m","\x1b[39m"),r=h("\x1b[31m","\x1b[39m"),s=h("\x1b[32m","\x1b[39m"),t=h("\x1b[33m","\x1b[39m"),u=h("\x1b[34m","\x1b[39m"),v=h("\x1b[35m","\x1b[39m"),w=h("\x1b[38;2;173;127;168m","\x1b[39m"),x=h("\x1b[36m","\x1b[39m"),y=h("\x1b[37m","\x1b[39m"),z=h("\x1b[90m","\x1b[39m"),A=h("\x1b[40m","\x1b[49m"),B=h("\x1b[41m","\x1b[49m"),C=h("\x1b[42m","\x1b[49m"),D=h("\x1b[43m","\x1b[49m"),E=h("\x1b[44m","\x1b[49m"),F=h("\x1b[45m","\x1b[49m"),G=h("\x1b[46m","\x1b[49m"),H=h("\x1b[47m","\x1b[49m")}};
|
|
19
|
+
`))}})}async function B(a,{suffix:b,inlinedDataStream:c,isStaticGeneration:d,isBuildTimePrerendering:e,buildId:h,getServerInsertedHTML:i,getServerInsertedMetadata:j,validateRootLayout:k}){let l,n,o=b?b.split(y,1)[0]:null;d&&await a.allReady;var p=[s(),t(e,h),v(j),null!=o&&o.length>0?(n=!1,new TransformStream({transform(a,b){if(b.enqueue(a),!n){n=!0;let a=new f.DetachedPromise;l=a,(0,g.scheduleImmediate)(()=>{try{b.enqueue(m.encode(o))}catch{}finally{l=void 0,a.resolve()}})}},flush(a){if(l)return l.promise;n||a.enqueue(m.encode(o))}})):null,c?x(c,!0):null,k?A():null,z(),w(i)];let q=a;for(let a of p)a&&(q=q.pipeThrough(a));return q}async function C(a,{getServerInsertedHTML:b,getServerInsertedMetadata:c}){return a.pipeThrough(s()).pipeThrough(new TransformStream({transform(a,b){(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY_AND_HTML)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.HTML)||(a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.BODY),a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.HTML),b.enqueue(a))}})).pipeThrough(w(b)).pipeThrough(v(c))}async function D(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,isBuildTimePrerendering:e,buildId:f}){return a.pipeThrough(s()).pipeThrough(t(e,f)).pipeThrough(w(c)).pipeThrough(v(d)).pipeThrough(x(b,!0)).pipeThrough(z())}async function E(a,{delayDataUntilFirstHtmlChunk:b,inlinedDataStream:c,getServerInsertedHTML:d,getServerInsertedMetadata:e}){return a.pipeThrough(s()).pipeThrough(w(d)).pipeThrough(v(e)).pipeThrough(x(c,b)).pipeThrough(z())}function F(){return o(y)}},64887:(a,b)=>{"use strict";function c(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function d(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function e(a,b){let d=c(a,b);if(0===d)return a.subarray(b.length);if(!(d>-1))return a;{let c=new Uint8Array(a.length-b.length);return c.set(a.slice(0,d)),c.set(a.slice(d+b.length),d),c}}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{indexOfUint8Array:function(){return c},isEquivalentUint8Arrays:function(){return d},removeFromUint8Array:function(){return e}})},67315:(a,b,c)=>{"use strict";Object.defineProperty(b,"U",{enumerable:!0,get:function(){return A}});let d=c(29032),e=c(34626),f=c(47392),g=c(82865),h=c(17954),i=c(43357),j=c(14663),k=c(1628),l=c(27860),m=c(8833),n=c(8423),o=c(25106),p=c(47274),q=z(c(33873)),r=c(47366),s=z(c(62153)),t=c(42811),u=c(46060),v=c(23830),w=c(84580),x=c(34392),y=c(56001);function z(a){return a&&a.__esModule?a:{default:a}}let A=({srcPage:a,config:b,userland:c,routeModule:z,isFallbackError:A,getStaticPaths:B,getStaticProps:C,getServerSideProps:D})=>async function(E,F,G){var H,I;let J=a;"/index"===J&&(J="/");let K=await z.prepare(E,F,{srcPage:J,multiZoneDraftMode:!1});if(!K){F.statusCode=400,F.end("Bad Request"),null==G.waitUntil||G.waitUntil.call(G,Promise.resolve());return}let{buildId:L,query:M,params:N,parsedUrl:O,originalQuery:P,originalPathname:Q,buildManifest:R,fallbackBuildManifest:S,nextFontManifest:T,serverFilesManifest:U,reactLoadableManifest:V,prerenderManifest:W,isDraftMode:X,isOnDemandRevalidate:Y,revalidateOnlyGenerated:Z,locale:$,locales:_,defaultLocale:aa,routerServerContext:ab,nextConfig:ac,resolvedPathname:ad}=K,ae=null==U||null==(I=U.config)||null==(H=I.experimental)?void 0:H.isExperimentalCompile,af=!!D,ag=!!C,ah=!!B,ai=!!(c.default||c).getInitialProps,aj=M.amp&&(null==b?void 0:b.amp),ak=null,al=!1,am=K.isNextDataRequest&&(ag||af),an="/404"===J,ao="/500"===J,ap="/_error"===J;if(z.isDev||X||!ag||(ak=`${$?`/${$}`:""}${("/"===J||"/"===ad)&&$?"":ad}${aj?".amp":""}`,(an||ao||ap)&&(ak=`${$?`/${$}`:""}${J}${aj?".amp":""}`),ak="/index"===ak?"/":ak),ah&&!X){let a=(0,y.removeTrailingSlash)($?(0,x.addPathPrefix)(ad,`/${$}`):ad),b=!!W.routes[a]||W.notFoundRoutes.includes(a),c=W.dynamicRoutes[J];if(c){if(!1===c.fallback&&!b)throw new u.NoFallbackError;"string"!=typeof c.fallback||b||am||(al=!0)}}(al&&(0,w.isBot)(E.headers["user-agent"]||"")||(0,h.getRequestMeta)(E,"minimalMode"))&&(al=!1);let aq=(0,f.getTracer)(),ar=aq.getActiveScopeSpan();try{let a=E.method||"GET",u=(0,g.formatUrl)({pathname:ac.trailingSlash?O.pathname:(0,y.removeTrailingSlash)(O.pathname||"/"),query:ag?{}:P}),w=(null==ab?void 0:ab.publicRuntimeConfig)||ac.publicRuntimeConfig,x=async f=>{var x,y;let H,I=async({previousCacheEntry:m})=>{var n;let o=async()=>{try{var d,n,o;return await z.render(E,F,{query:ag&&!ae?{...N,...aj?{amp:M.amp}:{}}:{...M,...N},params:N,page:J,renderContext:{isDraftMode:X,isFallback:al,developmentNotFoundSourcePage:(0,h.getRequestMeta)(E,"developmentNotFoundSourcePage")},sharedContext:{buildId:L,customServer:!!(null==ab?void 0:ab.isCustomServer)||void 0,deploymentId:!1},renderOpts:{params:N,routeModule:z,page:J,pageConfig:b||{},Component:(0,i.interopDefault)(c),ComponentMod:c,getStaticProps:C,getStaticPaths:B,getServerSideProps:D,supportsDynamicResponse:!ag,buildManifest:A?S:R,nextFontManifest:T,reactLoadableManifest:V,assetPrefix:ac.assetPrefix,previewProps:W.preview,images:ac.images,nextConfigOutput:ac.output,optimizeCss:!!ac.experimental.optimizeCss,nextScriptWorkers:!!ac.experimental.nextScriptWorkers,domainLocales:null==(d=ac.i18n)?void 0:d.domains,crossOrigin:ac.crossOrigin,multiZoneDraftMode:!1,basePath:ac.basePath,canonicalBase:ac.amp.canonicalBase||"",ampOptimizerConfig:null==(n=ac.experimental.amp)?void 0:n.optimizer,disableOptimizedLoading:ac.experimental.disableOptimizedLoading,largePageDataBytes:ac.experimental.largePageDataBytes,runtimeConfig:Object.keys(w).length>0?w:void 0,isExperimentalCompile:ae,experimental:{clientTraceMetadata:ac.experimental.clientTraceMetadata||[]},locale:$,locales:_,defaultLocale:aa,setIsrStatus:null==ab?void 0:ab.setIsrStatus,isNextDataRequest:am&&(af||ag),resolvedUrl:u,resolvedAsPath:af||ai?(0,g.formatUrl)({pathname:am?(0,k.normalizeDataPath)(Q):Q,query:P}):u,isOnDemandRevalidate:Y,ErrorDebug:(0,h.getRequestMeta)(E,"PagesErrorDebug"),err:(0,h.getRequestMeta)(E,"invokeError"),dev:z.isDev,distDir:q.default.join(process.cwd(),z.relativeProjectDir,z.distDir),ampSkipValidation:null==(o=ac.experimental.amp)?void 0:o.skipValidation,ampValidator:(0,h.getRequestMeta)(E,"ampValidator")}}).then(a=>{let{metadata:b}=a,c=b.cacheControl;return"isNotFound"in b&&b.isNotFound?{value:null,cacheControl:c}:b.isRedirect?{value:{kind:l.CachedRouteKind.REDIRECT,props:b.pageData??b.flightData},cacheControl:c}:{value:{kind:l.CachedRouteKind.PAGES,html:a,pageData:a.metadata.pageData,headers:a.metadata.headers,status:a.metadata.statusCode},cacheControl:c}}).finally(()=>{if(!f)return;f.setAttributes({"http.status_code":F.statusCode,"next.rsc":!1});let b=aq.getRootSpanAttributes();if(!b)return;if(b.get("next.span_type")!==e.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${b.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let c=b.get("next.route");if(c){let b=`${a} ${c}`;f.setAttributes({"next.route":c,"http.route":c,"next.span_name":b}),f.updateName(b)}else f.updateName(`${a} ${E.url}`)})}catch(a){throw(null==m?void 0:m.isStale)&&await z.onRequestError(E,a,{routerKind:"Pages Router",routePath:J,routeType:"render",revalidateReason:(0,j.getRevalidateReason)({isRevalidate:ag,isOnDemandRevalidate:Y})},ab),a}};if(m&&(al=!1),al){let a=await z.getResponseCache(E).get(z.isDev?null:$?`/${$}${J}`:J,async({previousCacheEntry:a=null})=>z.isDev?o():(0,t.toResponseCacheEntry)(a),{routeKind:d.RouteKind.PAGES,isFallback:!0,isRoutePPREnabled:!1,isOnDemandRevalidate:!1,incrementalCache:await z.getIncrementalCache(E,ac,W),waitUntil:G.waitUntil});if(a)return delete a.cacheControl,a.isMiss=!0,a}return!(0,h.getRequestMeta)(E,"minimalMode")&&Y&&Z&&!m?(F.statusCode=404,F.setHeader("x-nextjs-cache","REVALIDATED"),F.end("This page could not be found"),null):al&&(null==m||null==(n=m.value)?void 0:n.kind)===l.CachedRouteKind.PAGES?{value:{kind:l.CachedRouteKind.PAGES,html:new s.default(m.value.html,{contentType:p.HTML_CONTENT_TYPE_HEADER,metadata:{statusCode:m.value.status,headers:m.value.headers}}),pageData:{},status:m.value.status,headers:m.value.headers},cacheControl:{revalidate:0,expire:void 0}}:o()},K=await z.handleResponse({cacheKey:ak,req:E,nextConfig:ac,routeKind:d.RouteKind.PAGES,isOnDemandRevalidate:Y,revalidateOnlyGenerated:Z,waitUntil:G.waitUntil,responseGenerator:I,prerenderManifest:W});if(!al||(null==K?void 0:K.isMiss)||(al=!1),K){if(ag&&!(0,h.getRequestMeta)(E,"minimalMode")&&F.setHeader("x-nextjs-cache",Y?"REVALIDATED":K.isMiss?"MISS":K.isStale?"STALE":"HIT"),!ag||al)F.getHeader("Cache-Control")||(H={revalidate:0,expire:void 0});else if(an){let a=(0,h.getRequestMeta)(E,"notFoundRevalidate");H={revalidate:void 0===a?0:a,expire:void 0}}else if(ao)H={revalidate:0,expire:void 0};else if(K.cacheControl)if("number"==typeof K.cacheControl.revalidate){if(K.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${K.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});H={revalidate:K.cacheControl.revalidate,expire:(null==(x=K.cacheControl)?void 0:x.expire)??ac.expireTime}}else H={revalidate:p.CACHE_ONE_YEAR,expire:void 0};if(H&&!F.getHeader("Cache-Control")&&F.setHeader("Cache-Control",(0,m.getCacheControlHeader)(H)),!K.value)return((0,h.addRequestMeta)(E,"notFoundRevalidate",null==(y=K.cacheControl)?void 0:y.revalidate),F.statusCode=404,am)?void F.end('{"notFound":true}'):void((null==ab?void 0:ab.render404)?await ab.render404(E,F,O,!1):F.end("This page could not be found"));if(K.value.kind===l.CachedRouteKind.REDIRECT)if(!am)return await (a=>{let b={destination:a.pageProps.__N_REDIRECT,statusCode:a.pageProps.__N_REDIRECT_STATUS,basePath:a.pageProps.__N_REDIRECT_BASE_PATH},c=(0,o.getRedirectStatus)(b),{basePath:d}=ac;d&&!1!==b.basePath&&b.destination.startsWith("/")&&(b.destination=`${d}${b.destination}`),b.destination.startsWith("/")&&(b.destination=(0,n.normalizeRepeatedSlashes)(b.destination)),F.statusCode=c,F.setHeader("Location",b.destination),c===v.RedirectStatusCode.PermanentRedirect&&F.setHeader("Refresh",`0;url=${b.destination}`),F.end(b.destination)})(K.value.props),null;else{F.setHeader("content-type",p.JSON_CONTENT_TYPE_HEADER),F.end(JSON.stringify(K.value.props));return}if(K.value.kind!==l.CachedRouteKind.PAGES)throw Object.defineProperty(Error("Invariant: received non-pages cache entry in pages handler"),"__NEXT_ERROR_CODE",{value:"E695",enumerable:!1,configurable:!0});if(z.isDev&&F.setHeader("Cache-Control","no-store, must-revalidate"),X&&F.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),(0,h.getRequestMeta)(E,"customErrorRender")||ap&&(0,h.getRequestMeta)(E,"minimalMode")&&500===F.statusCode)return null;await (0,r.sendRenderResult)({req:E,res:F,result:!am||ap||ao?K.value.html:new s.default(JSON.stringify(K.value.pageData),{contentType:p.JSON_CONTENT_TYPE_HEADER,metadata:K.value.html.metadata}),generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,cacheControl:z.isDev?void 0:H})}};ar?await x():await aq.withPropagatedContext(E.headers,()=>aq.trace(e.BaseServerSpan.handleRequest,{spanName:`${a} ${E.url}`,kind:f.SpanKind.SERVER,attributes:{"http.method":a,"http.target":E.url}},x))}catch(a){throw a instanceof u.NoFallbackError||await z.onRequestError(E,a,{routerKind:"Pages Router",routePath:J,routeType:"render",revalidateReason:(0,j.getRevalidateReason)({isRevalidate:ag,isOnDemandRevalidate:Y})},ab),a}}},71927:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{INTERNALS:function(){return h},NextRequest:function(){return i}});let d=c(54547),e=c(15707),f=c(12606),g=c(13653),h=Symbol("internal request");class i extends Request{constructor(a,b={}){let c="string"!=typeof a&&"url"in a?a.url:String(a);(0,e.validateURL)(c),b.body&&"half"!==b.duplex&&(b.duplex="half"),a instanceof Request?super(a,b):super(c,b);let f=new d.NextURL(c,{headers:(0,e.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:b.nextConfig});this[h]={cookies:new g.RequestCookies(this.headers),nextUrl:f,url:f.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[h].cookies}get nextUrl(){return this[h].nextUrl}get page(){throw new f.RemovedPageError}get ua(){throw new f.RemovedUAError}get url(){return this[h].url}}},76017:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isNodeNextRequest:function(){return e},isNodeNextResponse:function(){return f},isWebNextRequest:function(){return c},isWebNextResponse:function(){return d}});let c=a=>!1,d=a=>!1,e=a=>!0,f=a=>!0},80551:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{CachedRouteKind:function(){return c},IncrementalCacheKind:function(){return d}});var c=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.REDIRECT="REDIRECT",a.IMAGE="IMAGE",a}({}),d=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.IMAGE="IMAGE",a}({})},80649:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"LRUCache",{enumerable:!0,get:function(){return e}});class c{constructor(a,b,c){this.prev=null,this.next=null,this.key=a,this.data=b,this.size=c}}class d{constructor(){this.prev=null,this.next=null}}class e{constructor(a,b,c){this.cache=new Map,this.totalSize=0,this.maxSize=a,this.calculateSize=b,this.onEvict=c,this.head=new d,this.tail=new d,this.head.next=this.tail,this.tail.prev=this.head}addToHead(a){a.prev=this.head,a.next=this.head.next,this.head.next.prev=a,this.head.next=a}removeNode(a){a.prev.next=a.next,a.next.prev=a.prev}moveToHead(a){this.removeNode(a),this.addToHead(a)}removeTail(){let a=this.tail.prev;return this.removeNode(a),a}set(a,b){let d=(null==this.calculateSize?void 0:this.calculateSize.call(this,b))??1;if(d<=0)throw Object.defineProperty(Error(`LRUCache: calculateSize returned ${d}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});if(d>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let e=this.cache.get(a);if(e)e.data=b,this.totalSize=this.totalSize-e.size+d,e.size=d,this.moveToHead(e);else{let e=new c(a,b,d);this.cache.set(a,e),this.addToHead(e),this.totalSize+=d}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let a=this.removeTail();this.cache.delete(a.key),this.totalSize-=a.size,null==this.onEvict||this.onEvict.call(this,a.key,a.data)}return!0}has(a){return this.cache.has(a)}get(a){let b=this.cache.get(a);if(b)return this.moveToHead(b),b.data}*[Symbol.iterator](){let a=this.head.next;for(;a&&a!==this.tail;){let b=a;yield[b.key,b.data],a=a.next}}remove(a){let b=this.cache.get(a);b&&(this.removeNode(b),this.cache.delete(a),this.totalSize-=b.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}},89429:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"DetachedPromise",{enumerable:!0,get:function(){return c}});class c{constructor(){let a,b;this.promise=new Promise((c,d)=>{a=c,b=d}),this.resolve=a,this.reject=b}}},90252:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{bootstrap:function(){return i},error:function(){return k},event:function(){return o},info:function(){return n},prefixes:function(){return f},ready:function(){return m},trace:function(){return p},wait:function(){return j},warn:function(){return l},warnOnce:function(){return r}});let d=c(95884),e=c(80649),f={wait:(0,d.white)((0,d.bold)("○")),error:(0,d.red)((0,d.bold)("⨯")),warn:(0,d.yellow)((0,d.bold)("⚠")),ready:"▲",info:(0,d.white)((0,d.bold)(" ")),event:(0,d.green)((0,d.bold)("✓")),trace:(0,d.magenta)((0,d.bold)("\xbb"))},g={log:"log",warn:"warn",error:"error"};function h(a,...b){(""===b[0]||void 0===b[0])&&1===b.length&&b.shift();let c=a in g?g[a]:"log",d=f[a];0===b.length?console[c](""):1===b.length&&"string"==typeof b[0]?console[c](" "+d+" "+b[0]):console[c](" "+d,...b)}function i(...a){console.log(" "+a.join(" "))}function j(...a){h("wait",...a)}function k(...a){h("error",...a)}function l(...a){h("warn",...a)}function m(...a){h("ready",...a)}function n(...a){h("info",...a)}function o(...a){h("event",...a)}function p(...a){h("trace",...a)}let q=new e.LRUCache(1e4,a=>a.length);function r(...a){let b=a.join(" ");q.has(b)||(q.set(b,b),l(...a))}},92486:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fnv1a52:function(){return c},generateETag:function(){return d}});let c=a=>{let b=a.length,c=0,d=0,e=8997,f=0,g=33826,h=0,i=40164,j=0,k=52210;for(;c<b;)e^=a.charCodeAt(c++),d=435*e,f=435*g,h=435*i,j=435*k,h+=e<<8,j+=g<<8,f+=d>>>16,e=65535&d,h+=f>>>16,g=65535&f,k=j+(h>>>16)&65535,i=65535&h;return(15&k)*0x1000000000000+0x100000000*i+65536*g+(e^k>>4)},d=(a,b=!1)=>(b?'W/"':'"')+c(a).toString(36)+a.length.toString(36)+'"'},95884:(a,b)=>{"use strict";var c;Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{bgBlack:function(){return A},bgBlue:function(){return E},bgCyan:function(){return G},bgGreen:function(){return C},bgMagenta:function(){return F},bgRed:function(){return B},bgWhite:function(){return H},bgYellow:function(){return D},black:function(){return q},blue:function(){return u},bold:function(){return j},cyan:function(){return x},dim:function(){return k},gray:function(){return z},green:function(){return s},hidden:function(){return o},inverse:function(){return n},italic:function(){return l},magenta:function(){return v},purple:function(){return w},red:function(){return r},reset:function(){return i},strikethrough:function(){return p},underline:function(){return m},white:function(){return y},yellow:function(){return t}});let{env:d,stdout:e}=(null==(c=globalThis)?void 0:c.process)??{},f=d&&!d.NO_COLOR&&(d.FORCE_COLOR||(null==e?void 0:e.isTTY)&&!d.CI&&"dumb"!==d.TERM),g=(a,b,c,d)=>{let e=a.substring(0,d)+c,f=a.substring(d+b.length),h=f.indexOf(b);return~h?e+g(f,b,c,h):e+f},h=(a,b,c=a)=>f?d=>{let e=""+d,f=e.indexOf(b,a.length);return~f?a+g(e,b,c,f)+b:a+e+b}:String,i=f?a=>`\x1b[0m${a}\x1b[0m`:String,j=h("\x1b[1m","\x1b[22m","\x1b[22m\x1b[1m"),k=h("\x1b[2m","\x1b[22m","\x1b[22m\x1b[2m"),l=h("\x1b[3m","\x1b[23m"),m=h("\x1b[4m","\x1b[24m"),n=h("\x1b[7m","\x1b[27m"),o=h("\x1b[8m","\x1b[28m"),p=h("\x1b[9m","\x1b[29m"),q=h("\x1b[30m","\x1b[39m"),r=h("\x1b[31m","\x1b[39m"),s=h("\x1b[32m","\x1b[39m"),t=h("\x1b[33m","\x1b[39m"),u=h("\x1b[34m","\x1b[39m"),v=h("\x1b[35m","\x1b[39m"),w=h("\x1b[38;2;173;127;168m","\x1b[39m"),x=h("\x1b[36m","\x1b[39m"),y=h("\x1b[37m","\x1b[39m"),z=h("\x1b[90m","\x1b[39m"),A=h("\x1b[40m","\x1b[49m"),B=h("\x1b[41m","\x1b[49m"),C=h("\x1b[42m","\x1b[49m"),D=h("\x1b[43m","\x1b[49m"),E=h("\x1b[44m","\x1b[49m"),F=h("\x1b[45m","\x1b[49m"),G=h("\x1b[46m","\x1b[49m"),H=h("\x1b[47m","\x1b[49m")},97478:a=>{"use strict";var b=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,f={};function g(a){var b;let c=["path"in a&&a.path&&`Path=${a.path}`,"expires"in a&&(a.expires||0===a.expires)&&`Expires=${("number"==typeof a.expires?new Date(a.expires):a.expires).toUTCString()}`,"maxAge"in a&&"number"==typeof a.maxAge&&`Max-Age=${a.maxAge}`,"domain"in a&&a.domain&&`Domain=${a.domain}`,"secure"in a&&a.secure&&"Secure","httpOnly"in a&&a.httpOnly&&"HttpOnly","sameSite"in a&&a.sameSite&&`SameSite=${a.sameSite}`,"partitioned"in a&&a.partitioned&&"Partitioned","priority"in a&&a.priority&&`Priority=${a.priority}`].filter(Boolean),d=`${a.name}=${encodeURIComponent(null!=(b=a.value)?b:"")}`;return 0===c.length?d:`${d}; ${c.join("; ")}`}function h(a){let b=new Map;for(let c of a.split(/; */)){if(!c)continue;let a=c.indexOf("=");if(-1===a){b.set(c,"true");continue}let[d,e]=[c.slice(0,a),c.slice(a+1)];try{b.set(d,decodeURIComponent(null!=e?e:"true"))}catch{}}return b}function i(a){if(!a)return;let[[b,c],...d]=h(a),{domain:e,expires:f,httponly:g,maxage:i,path:l,samesite:m,secure:n,partitioned:o,priority:p}=Object.fromEntries(d.map(([a,b])=>[a.toLowerCase().replace(/-/g,""),b]));{var q,r,s={name:b,value:decodeURIComponent(c),domain:e,...f&&{expires:new Date(f)},...g&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...m&&{sameSite:j.includes(q=(q=m).toLowerCase())?q:void 0},...n&&{secure:!0},...p&&{priority:k.includes(r=(r=p).toLowerCase())?r:void 0},...o&&{partitioned:!0}};let a={};for(let b in s)s[b]&&(a[b]=s[b]);return a}}((a,c)=>{for(var d in c)b(a,d,{get:c[d],enumerable:!0})})(f,{RequestCookies:()=>l,ResponseCookies:()=>m,parseCookie:()=>h,parseSetCookie:()=>i,stringifyCookie:()=>g}),a.exports=((a,f,g,h)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let g of d(f))e.call(a,g)||void 0===g||b(a,g,{get:()=>f[g],enumerable:!(h=c(f,g))||h.enumerable});return a})(b({},"__esModule",{value:!0}),f);var j=["strict","lax","none"],k=["low","medium","high"],l=class{constructor(a){this._parsed=new Map,this._headers=a;let b=a.get("cookie");if(b)for(let[a,c]of h(b))this._parsed.set(a,{name:a,value:c})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed);if(!a.length)return c.map(([a,b])=>b);let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(([a])=>a===d).map(([a,b])=>b)}has(a){return this._parsed.has(a)}set(...a){let[b,c]=1===a.length?[a[0].name,a[0].value]:a,d=this._parsed;return d.set(b,{name:b,value:c}),this._headers.set("cookie",Array.from(d).map(([a,b])=>g(b)).join("; ")),this}delete(a){let b=this._parsed,c=Array.isArray(a)?a.map(a=>b.delete(a)):b.delete(a);return this._headers.set("cookie",Array.from(b).map(([a,b])=>g(b)).join("; ")),c}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a=>`${a.name}=${encodeURIComponent(a.value)}`).join("; ")}},m=class{constructor(a){var b,c,d;this._parsed=new Map,this._headers=a;let e=null!=(d=null!=(c=null==(b=a.getSetCookie)?void 0:b.call(a))?c:a.get("set-cookie"))?d:[];for(let a of Array.isArray(e)?e:function(a){if(!a)return[];var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}(e)){let b=i(a);b&&this._parsed.set(b.name,b)}}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed.values());if(!a.length)return c;let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(a=>a.name===d)}has(a){return this._parsed.has(a)}set(...a){let[b,c,d]=1===a.length?[a[0].name,a[0].value,a[0]]:a,e=this._parsed;return e.set(b,function(a={name:"",value:""}){return"number"==typeof a.expires&&(a.expires=new Date(a.expires)),a.maxAge&&(a.expires=new Date(Date.now()+1e3*a.maxAge)),(null===a.path||void 0===a.path)&&(a.path="/"),a}({name:b,value:c,...d})),function(a,b){for(let[,c]of(b.delete("set-cookie"),a)){let a=g(c);b.append("set-cookie",a)}}(e,this._headers),this}delete(...a){let[b,c]="string"==typeof a[0]?[a[0]]:[a[0].name,a[0]];return this.set({...c,name:b,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(g).join("; ")}}}};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";exports.id=9522,exports.ids=[9522],exports.modules={1623:(a,b,c)=>{c.d(b,{Ix:()=>h,PI:()=>o,Pu:()=>j,_D:()=>v,ao:()=>i,ke:()=>m,mM:()=>n,u9:()=>f});let d=a=>String(a).padStart(2,"0"),e=/^(\d{4})-(\d{2})-(\d{2})$/u;function f(a,b){let c=e.exec(a);if(!c)throw Error(`EXECUTION_BASELINE_START_DATE_INVALID:${a};须为 YYYY-MM-DD`);let f=new Date(Date.UTC(Number(c[1]),Number(c[2])-1,Number(c[3]))+864e5*Math.trunc(b));return`${f.getUTCFullYear()}-${d(f.getUTCMonth()+1)}-${d(f.getUTCDate())}`}function g(a){if(!a)return;let b=/(\d{4})-(\d{1,2})-(\d{1,2})/u.exec(a);if(b)return`${b[1]}-${d(Number(b[2]))}-${d(Number(b[3]))}`;let c=/(\d{4})\s*年\s*(\d{1,2})\s*月\s*(\d{1,2})\s*日/u.exec(a);if(c)return`${c[1]}-${d(Number(c[2]))}-${d(Number(c[3]))}`}function h(a){if(!a.phases.length)throw Error("EXECUTION_BASELINE_PHASES_REQUIRED");if(!a.milestones.length)throw Error("EXECUTION_BASELINE_MILESTONES_REQUIRED");let b=g(a.startDate);if(!b)throw Error(`EXECUTION_BASELINE_START_DATE_INVALID:${a.startDate}`);let c=a.phases.map((a,c)=>({id:a.id??`phase-${c+1}`,title:a.title??`阶段${c+1}`,startDay:a.startDay,endDay:a.endDay,startDate:f(b,a.startDay),endDate:f(b,a.endDay)})),d=new Map(a.milestones.map((a,b)=>[a.title?.trim()??"",a.id??`milestone-${b+1}`])),e=new Set(a.milestones.map((a,b)=>a.id??`milestone-${b+1}`)),h=a.milestones.map((a,c)=>{let g=a.id??`milestone-${c+1}`,h=[...new Set(a.predecessors??[])].map(b=>{let c=e.has(b)?b:d.get(b.trim());if(!c)throw Error(`EXECUTION_BASELINE_PREDECESSOR_UNKNOWN:里程碑「${a.title??g}」的前置「${b}」不存在`);if(c===g)throw Error(`EXECUTION_BASELINE_PREDECESSOR_SELF:里程碑「${a.title??g}」不能以自身为前置`);return c});return{id:g,title:a.title??`里程碑${c+1}`,day:a.day,date:f(b,a.day),keywords:a.keywords??[],predecessors:h}}),i=a.totalDays??Math.max(...c.map(a=>a.endDay));if(!Number.isSafeInteger(i)||i<1)throw Error("EXECUTION_BASELINE_TOTAL_DAYS_INVALID");if(!a.labor.trades.length)throw Error("EXECUTION_BASELINE_LABOR_REQUIRED");if(!a.machines.length)throw Error("EXECUTION_BASELINE_MACHINES_REQUIRED");let j=a.labor.trades.map(a=>({trade:a.trade,phaseWorkdays:[...a.phaseWorkdays],total:a.phaseWorkdays.reduce((a,b)=>a+b,0)})),k=c.map((a,b)=>j.reduce((a,c)=>a+(c.phaseWorkdays[b]??0),0));return{version:"construction-execution-baseline-v1",origin:"agent-calculation",startDate:b,totalDays:i,dayZero:0,milestones:h,phases:c,labor:{peak:a.labor.peak,totalWorkdays:a.labor.totalWorkdays??k.reduce((a,b)=>a+b,0),trades:j,phaseTotals:k},machines:[...a.machines],materialBatches:[...a.materialBatches??[]],...a.tasks?.length?{tasks:[...a.tasks]}:{},...a.allocationBasis?{allocationBasis:a.allocationBasis}:{},...a.sharedMemberOwners?.length?{sharedMemberOwners:a.sharedMemberOwners}:{},basis:a.basis??"投标阶段施工策划基线:日期按开工日 0 起算;进场后按经批准的总进度计划复核",generatedAt:a.now??new Date().toISOString()}}function i(a){let b=[];0!==a.dayZero&&b.push({code:"baseline-invalid",message:"天序口径必须是 0 起算"}),g(a.startDate)!==a.startDate&&b.push({code:"baseline-invalid",message:`开工日期不是 YYYY-MM-DD:${a.startDate}`});let c=new Set;for(let d of a.milestones)(d.day<0||d.day>a.totalDays)&&b.push({code:"baseline-invalid",message:`里程碑「${d.title}」第 ${d.day} 天超出 0—${a.totalDays} 天`}),c.has(d.day)&&b.push({code:"milestone-day-conflict",message:`两个里程碑落在同一天(第 ${d.day} 天):${d.title}`}),c.add(d.day),f(a.startDate,d.day)!==d.date&&b.push({code:"milestone-date-conflict",message:`里程碑「${d.title}」日期 ${d.date} 与第 ${d.day} 天复算值 ${f(a.startDate,d.day)} 不一致`});let d=new Map(a.milestones.map(a=>[a.id,a]));for(let c of a.milestones)for(let a of c.predecessors??[]){let e=d.get(a);e?e.day>=c.day&&b.push({code:"milestone-day-conflict",message:`里程碑「${c.title}」第 ${c.day} 天不晚于前置「${e.title}」第 ${e.day} 天`}):b.push({code:"baseline-invalid",message:`里程碑「${c.title}」引用了不存在的前置 ${a}`})}let e=new Set,h=new Set,i=a=>{if(e.has(a))return!0;if(h.has(a))return!1;for(let b of(e.add(a),d.get(a)?.predecessors??[]))if(i(b))return!0;return e.delete(a),h.add(a),!1};a.milestones.some(a=>i(a.id))&&b.push({code:"baseline-invalid",message:"里程碑前置关系存在环,不能计算关键线路"});let j=new Set;for(let c of a.phases){(c.startDay<0||c.endDay>a.totalDays||c.endDay<c.startDay)&&b.push({code:"baseline-invalid",message:`阶段「${c.title}」区间 ${c.startDay}—${c.endDay} 不成立`});for(let a=c.startDay;a<=c.endDay;a+=1)j.has(a)&&b.push({code:"phase-conflict",message:`阶段边界重叠:第 ${a} 天同时属于两个阶段`}),j.add(a)}let k=a.labor.trades.reduce((a,b)=>a+b.total,0);for(let c of(k!==a.labor.totalWorkdays&&b.push({code:"labor-table-conflict",message:`分工种工日合计 ${k} 与劳动力总量 ${a.labor.totalWorkdays} 不一致`}),a.phases.forEach((c,d)=>{let e=c.endDay-c.startDay+1,f=a.labor.phaseTotals[d]??0;e>0&&f/e>a.labor.peak+1e-9&&b.push({code:"labor-table-conflict",message:`阶段「${c.title}」日均 ${(f/e).toFixed(1)} 人超过峰值 ${a.labor.peak}`})}),a.machines))a.phases.some(a=>a.id===c.phaseId)||b.push({code:"baseline-invalid",message:`机械「${c.name}」引用了不存在的阶段 ${c.phaseId}`}),(!Number.isSafeInteger(c.count)||c.count<1)&&b.push({code:"baseline-invalid",message:`机械「${c.name}」数量必须为正整数`});let l=new Map(a.phases.map(a=>[a.id,a])),m=new Map((a.tasks??[]).map(a=>[a.id,a])),n=new Set(m.keys());for(let c of a.tasks??[]){let a=l.get(c.phaseId);if(!a){b.push({code:"baseline-invalid",message:`任务「${c.title}」引用了不存在的阶段 ${c.phaseId}`});continue}for(let d of((c.startDay<a.startDay||c.endDay>a.endDay||c.endDay<c.startDay)&&b.push({code:"task-conflict",message:`任务「${c.title}」区间 ${c.startDay}—${c.endDay} 不在阶段「${a.title}」${a.startDay}—${a.endDay} 内`}),c.predecessors))n.has(d)||b.push({code:"task-conflict",message:`任务「${c.title}」引用了不存在的前置 ${d}`}),d===c.id&&b.push({code:"task-conflict",message:`任务「${c.title}」不能以自身为前置`})}let o=new Set,p=new Set,q=a=>{if(o.has(a))return!0;if(p.has(a))return!1;for(let b of(o.add(a),m.get(a)?.predecessors??[]))if(q(b))return!0;return o.delete(a),p.add(a),!1};return(a.tasks??[]).some(a=>q(a.id))&&b.push({code:"task-conflict",message:"任务前置关系存在环,横道图/关键线路无法成立"}),b}function j(a,b){let c=[],d=a.split(/\r?\n/u),e=null,f=[],g=()=>{if(!e||!f.length)return;let a=k(e[0]??""),d=e.map(k).join("|");if(!/工种/u.test(a)||!/工日|合计/u.test(d))return;let g=e.findIndex(a=>/合计/u.test(a)),h=e.map((a,b)=>/阶段|第.*天/u.test(a)&&!/合计/u.test(a)?b:-1).filter(a=>a>=0);if(g<0||!h.length)return;let i=h.map(()=>0),j=0;for(let a of f){if(/小计|合计|总计/u.test(a[0]??""))continue;let b=a.map(a=>{let b=/-?\d+(?:\.\d+)?/u.exec(a.replace(/,/gu,""));return b?Number(b[0]):void 0}),d=h.map(a=>b[a]),e=b[g];if(d.every(a=>void 0!==a)&&void 0!==e){let b=d.reduce((a,b)=>a+(b??0),0);Math.abs(b-e)>1e-9&&c.push({code:"labor-table-conflict",message:`工种「${a[0]??"(未命名)"}」行合计 ${e} ≠ 各阶段之和 ${b}`})}h.forEach((a,c)=>{void 0!==b[a]&&(i[c]+=b[a])}),void 0!==e&&(j+=e)}h.length===b.phases.length&&b.labor.phaseTotals.some((a,b)=>Math.abs(a-i[b])>1e-9)&&c.push({code:"labor-table-conflict",message:`${b.phases.length} 个阶段的工日列合计 ${i.join("/")} 与执行基准 ${b.labor.phaseTotals.join("/")} 不一致`}),Math.abs(j-b.labor.totalWorkdays)>1e-9&&c.push({code:"labor-table-conflict",message:`工日总量 ${j} 与执行基准 ${b.labor.totalWorkdays} 不一致`})};for(let a of d){let b=a.trim();if(b.startsWith("|")){let a=b.split("|").slice(1,-1).map(a=>a.trim());if(!e){e=a,f=[];continue}if(a.every(a=>/^:?-{3,}:?$/u.test(a)))continue;f.push(a)}else g(),e=null,f=[]}return g(),c}function k(a){return a.replace(/[\s*`]/gu,"")}let l=a=>a.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&");function m(a,b){let c=[];for(let d of b.machines)for(let b of d.aliases?.length?d.aliases:[d.name]){let e=RegExp(`${l(b)}\\s*(\\d+)\\s*(?:台|辆|套)`,"gu");for(let f of a.matchAll(e)){let e=Number(f[1]);if(e===d.count)continue;let g=u(a,f.index??0);c.push({code:"machine-count-conflict",evidence:g.excerpt,message:`「${b}${e}台」与执行基准的「${d.name} ${d.count} 台」不一致;第 ${g.line} 行`})}}return[...new Map(c.map(a=>[a.message,a])).values()]}function n(a,b){let c=[],d=a.split(/\r?\n/u),e=null,f=!1,g=d=>{if(f)for(let e of d.matchAll(/第\s*(\d+)\s*[至—–\-~~]\s*(\d+)\s*天/gu)){let f=Number(e[1]),g=Number(e[2]);if(g<f)continue;let h=b.phases.find(a=>f<=a.endDay&&g>a.endDay);if(h){let b=u(a,a.indexOf(d));c.push({code:"material-batch-phase-conflict",evidence:b.excerpt,message:`进场批次「第${f}—${g}天」跨过阶段边界(${h.title}止于第${h.endDay}天):应按阶段拆成两批,或改为阶段内窗口`})}}};for(let a of d){let b=a.trim();if(!b.startsWith("|")){e=null,f=!1;continue}let c=b.split("|").slice(1,-1).map(a=>a.trim());if(!e){e=c,f=/材料|半成品|成品|进场|批次/u.test(c.join("|"));continue}c.every(a=>/^:?-{3,}:?$/u.test(a))||g(b)}return[...new Map(c.map(a=>[a.message,a])).values()]}function o(a){return{version:a.version,startDate:a.startDate,totalDays:a.totalDays,dayZero:a.dayZero,basis:a.basis,milestones:a.milestones.map(a=>({id:a.id,title:a.title,day:a.day,date:a.date})),phases:a.phases.map(a=>({id:a.id,title:a.title,startDay:a.startDay,endDay:a.endDay,startDate:a.startDate,endDate:a.endDate})),labor:{peak:a.labor.peak,totalWorkdays:a.labor.totalWorkdays,phaseTotals:a.labor.phaseTotals,trades:a.labor.trades.map(a=>({trade:a.trade,phaseWorkdays:a.phaseWorkdays,total:a.total}))},machines:a.machines.map(a=>({name:a.name,count:a.count,phaseId:a.phaseId,purpose:a.purpose})),materialBatches:a.materialBatches.map(a=>({name:a.name,batch:a.batch,startDay:a.startDay,endDay:a.endDay})),tasks:(a.tasks??[]).map(a=>({id:a.id,workPackageId:a.workPackageId,title:a.title,phaseId:a.phaseId,startDay:a.startDay,endDay:a.endDay,predecessors:a.predecessors})),reading:"所有工期/阶段/日期/劳动力/机械数字以本表为唯一来源;正文写阶段/里程碑的名称、第N天或日期时直接引用本表,不得另算,也不得把内部 id 写进正文。本表是投标阶段策划基线,不是合同承诺;开工通知与合同工期不一致时按合同总日历天等比平移。"}}let p=/第\s*(\d+)\s*[至—–\-~~]\s*(\d+)\s*(?:日历)?天/gu,q=/第\s*(\d+)\s*天/gu,r=/(20\d{2})\s*年\s*(\d{1,2})\s*月\s*(\d{1,2})\s*日/gu,s=/第\s*(\d+)\s*天/u,t=/(20\d{2})\s*年\s*(\d{1,2})\s*月\s*(\d{1,2})\s*日/u;function u(a,b){let c=a.slice(0,b),d=c.split("\n").length,e=c.lastIndexOf("\n")+1,f=a.indexOf("\n",b);return{line:d,excerpt:a.slice(e,f<0?a.length:f).trim().slice(0,160)}}function v(a,b){let c=[],e=new Set,f=a=>{let b=a.code+":"+a.message;e.has(b)||(e.add(b),c.push(a))};for(let c of a.matchAll(p)){let d=Number(c[1]),e=Number(c[2]);if(function(a,b,c){return a.phases.some(a=>a.startDay===b&&a.endDay===c)}(b,d,e))continue;let g=u(a,c.index??0),h=a.slice(Math.max(0,(c.index??0)-24),c.index??0);/阶段/u.test(h)&&f({code:"phase-conflict",evidence:g.excerpt,message:`阶段区间「第${d}至${e}天」不在执行基准的四个阶段内(基准:${b.phases.map(a=>`${a.startDay}—${a.endDay}`).join("、")});第 ${g.line} 行`})}for(let c of b.milestones)if(c.keywords.length)for(let e of c.keywords){let g=0;for(;g<a.length;){let h=a.indexOf(e,g);if(h<0)break;if(g=h+e.length,/^[—–\-~~至到]/u.test(a.slice(g,g+2)))continue;let i=Math.max(a.lastIndexOf("。",h),a.lastIndexOf(";",h),a.lastIndexOf("\n",h))+1,j=[a.indexOf("。",h),a.indexOf(";",h),a.indexOf("\n",h)].filter(a=>a>=0),k=j.length?Math.min(...j)+1:a.length,l=a.slice(i,k),m=h-i,n=l.slice(m,m+90).replace(p,""),o=l.slice(Math.max(0,m-50),m).replace(p,""),v=n.match(s)??[...o.matchAll(q)].at(-1);if(v){let d=Number(v[1]);if(d!==c.day&&d<=b.totalDays){let b=u(a,h);f({code:"milestone-day-conflict",evidence:b.excerpt,message:`「${e}」对应基准节点应为第 ${c.day} 天(${c.date}),正文写第 ${d} 天;第 ${b.line} 行`})}}let w=n.match(t)??[...o.matchAll(r)].at(-1);if(w){let b=`${w[1]}-${d(Number(w[2]))}-${d(Number(w[3]))}`;if(b!==c.date){let d=u(a,h);f({code:"milestone-date-conflict",evidence:d.excerpt,message:`「${e}」对应基准日期应为 ${c.date},正文写 ${b};第 ${d.line} 行`})}}}}return c}},3410:(a,b,c)=>{c.d(b,{MJ:()=>m,YU:()=>f,ik:()=>n,pO:()=>g,vx:()=>o});var d=c(745),e=c(4053);let f="construction-source-coverage-ledger-v1",g="source-review-document-scope-full-negative-v3",h=["not-required","covered-elsewhere","omission"],i=(a,b)=>{void 0===a.reviewInvocationId||"string"==typeof a.reviewInvocationId&&a.reviewInvocationId.trim()||b.push({code:"SOURCE_COVERAGE_INVOCATION_INVALID",message:"审查调用身份必须是非空字符串"}),void 0===a.sourceSnapshotHash||"string"==typeof a.sourceSnapshotHash&&a.sourceSnapshotHash.trim()||b.push({code:"SOURCE_COVERAGE_SNAPSHOT_INVALID",message:"来源快照身份必须是非空字符串"}),void 0===a.sourceReviewPolicyVersion||"string"==typeof a.sourceReviewPolicyVersion&&a.sourceReviewPolicyVersion.trim()||b.push({code:"SOURCE_COVERAGE_POLICY_INVALID",message:"来源举证判据版本必须是非空字符串"})},j=a=>Array.isArray(a)?a.map(a=>({id:String(a.id??""),version:Number(a.version??0)})):void 0;function k(a){let b=a??{},c=[],d="string"==typeof b.reviewerId?b.reviewerId.trim():"",e="string"==typeof b.filePath?b.filePath.trim():"";if(d||c.push({code:"SOURCE_COVERAGE_REVIEWER_REQUIRED",message:"来源覆盖意见必须带审查者身份"}),e||c.push({code:"SOURCE_COVERAGE_FILE_REQUIRED",message:"来源覆盖意见必须绑定来源文件"}),h.includes(String(b.verdict))||c.push({code:"SOURCE_COVERAGE_VERDICT_INVALID",message:`判据「${String(b.verdict)}」不在允许集合:${h.join("/")}`}),"string"==typeof b.reason&&b.reason.trim()||c.push({code:"SOURCE_COVERAGE_REASON_REQUIRED",message:"来源意见缺理由"}),Array.isArray(b.evidence)&&b.evidence.length&&b.evidence.every(a=>"string"==typeof a&&a.trim())||c.push({code:"SOURCE_COVERAGE_EVIDENCE_REQUIRED",message:"来源意见缺证据引用(没有依据的意见不得登记)"}),"string"==typeof b.note&&b.note.trim()||c.push({code:"SOURCE_COVERAGE_NOTE_REQUIRED",message:"来源覆盖意见必须附总体说明"}),i(b,c),c.length)return{issues:c};let f=j(b.reviewedUnitRefs);return f&&f.some(a=>!a.id.trim()||!Number.isSafeInteger(a.version)||a.version<1)?{issues:[{code:"SOURCE_COVERAGE_UNIT_REF_INVALID",message:"被审单元引用必须是 id+实际版本"}]}:{issues:c,value:{reviewerId:d,filePath:e,verdict:b.verdict,reason:String(b.reason),evidence:b.evidence.map(a=>a.trim()),note:String(b.note),..."string"==typeof b.reviewInvocationId?{reviewInvocationId:b.reviewInvocationId.trim()}:{},..."string"==typeof b.sourceReviewPolicyVersion?{sourceReviewPolicyVersion:b.sourceReviewPolicyVersion.trim()}:{},..."string"==typeof b.sourceSnapshotHash?{sourceSnapshotHash:b.sourceSnapshotHash.trim()}:{},...f?{reviewedUnitRefs:f}:{}}}}function l(a,b){return"source-coverage-opinion:"+(0,d.Fu)([a,...b?[b]:[]]).slice(0,24)}function m(a){let{store:b}=a,c=new Set(Object.keys(a.project.sources));return{prepareOpinions(c){let d=[...new Set(c.filePaths.map(a=>String(a).trim()).filter(Boolean))];if(!d.length)throw Error("SOURCE_COVERAGE_FILES_REQUIRED");let e=d.map(b=>l(a.authority.actorId,b)),f={actorId:a.authority.actorId,type:"source-coverage-opinion",filePaths:d,entityIds:e};return b.captureReadSnapshot({entityIds:e,groupKeys:[],context:f})},proposeOpinions(d,e,f,g){let k=b.readSnapshot(d),m=k.context??{};if(m.actorId!==a.authority.actorId||"source-coverage-opinion"!==m.type)throw Error("SOURCE_COVERAGE_SNAPSHOT_SCOPE_DENIED");if(e.reviewerId!==a.authority.actorId)throw Error("SOURCE_COVERAGE_REVIEWER_SCOPE_DENIED");if(!f?.trim())throw Error("SOURCE_COVERAGE_REASON_REQUIRED");let{value:n,issues:o}=function(a){let b=a??{},c=[],d="string"==typeof b.reviewerId?b.reviewerId.trim():"";d||c.push({code:"SOURCE_COVERAGE_REVIEWER_REQUIRED",message:"来源覆盖意见必须带审查者身份"}),i(b,c);let e=Array.isArray(b.opinions)?b.opinions.map(a=>a):[];for(let[a,b]of(e.length||c.push({code:"SOURCE_COVERAGE_OPINIONS_REQUIRED",message:"必须至少给出一条来源意见(没意见的来源就是未测)"}),e.entries())){let d=`第 ${a+1} 条来源意见`;"string"==typeof b.filePath&&b.filePath.trim()||c.push({code:"SOURCE_COVERAGE_FILE_REQUIRED",message:`${d}缺 filePath`}),h.includes(String(b.verdict))||c.push({code:"SOURCE_COVERAGE_VERDICT_INVALID",message:`${d}的判据「${String(b.verdict)}」不在允许集合:${h.join("/")}`}),"string"==typeof b.reason&&b.reason.trim()||c.push({code:"SOURCE_COVERAGE_REASON_REQUIRED",message:`${d}缺理由`}),Array.isArray(b.evidence)&&b.evidence.length&&b.evidence.every(a=>"string"==typeof a&&a.trim())||c.push({code:"SOURCE_COVERAGE_EVIDENCE_REQUIRED",message:`${d}缺证据引用(没有依据的意见不得登记)`})}return(new Set(e.map(a=>String(a.filePath))).size!==e.length&&c.push({code:"SOURCE_COVERAGE_FILE_DUPLICATE",message:"同一来源只能给一条意见"}),"string"==typeof b.note&&b.note.trim()||c.push({code:"SOURCE_COVERAGE_NOTE_REQUIRED",message:"来源覆盖意见必须附总体说明"}),c.length)?{issues:c}:{issues:c,value:{reviewerId:d,note:String(b.note),..."string"==typeof b.reviewInvocationId?{reviewInvocationId:b.reviewInvocationId.trim()}:{},..."string"==typeof b.sourceReviewPolicyVersion?{sourceReviewPolicyVersion:b.sourceReviewPolicyVersion.trim()}:{},..."string"==typeof b.sourceSnapshotHash?{sourceSnapshotHash:b.sourceSnapshotHash.trim()}:{},...j(b.reviewedUnitRefs)?{reviewedUnitRefs:j(b.reviewedUnitRefs)}:{},opinions:e.map(a=>({filePath:String(a.filePath),verdict:a.verdict,reason:String(a.reason),evidence:a.evidence.map(a=>a.trim())}))}}}({...e});if(!n)throw Error(`SOURCE_COVERAGE_INVALID:${o.map(a=>a.code).join(",")}`);if(b.group(`writing:${n.reviewerId}`).entityIds.length)throw Error(`SOURCE_COVERAGE_AUTHOR_DENIED:${n.reviewerId} 已有生效正文单元,不能作为来源覆盖审查者`);for(let a of n.reviewedUnitRefs??[]){let c=b.entity(a.id)?.value?.responsibilityId;if(c&&c===n.reviewerId)throw Error(`SOURCE_COVERAGE_AUTHOR_DENIED:${n.reviewerId} 是单元 ${a.id} 的作者,不能作为来源覆盖审查者`)}for(let a of n.opinions)if(!c.has(a.filePath))throw Error(`SOURCE_COVERAGE_FILE_UNKNOWN:${a.filePath}`);return b.propose({actorId:a.authority.actorId,purpose:"independent-review",reason:f,reads:k.reads,changes:n.opinions.map(a=>{let c=l(n.reviewerId,a.filePath);return{id:c,kind:"source-coverage-opinion",expectedVersion:b.entity(c)?.version??null,value:JSON.parse(JSON.stringify({reviewerId:n.reviewerId,note:n.note,...a,...n.reviewInvocationId?{reviewInvocationId:n.reviewInvocationId}:{},...n.sourceReviewPolicyVersion?{sourceReviewPolicyVersion:n.sourceReviewPolicyVersion}:{},...n.sourceSnapshotHash?{sourceSnapshotHash:n.sourceSnapshotHash}:{},...n.reviewedUnitRefs?{reviewedUnitRefs:n.reviewedUnitRefs}:{}}))}})},g)},evaluateOpinions:a=>b.evaluate(a,"construction-source-coverage-opinion-v1",a=>{let d=[];for(let b of a.proposal.changes){let{value:a,issues:e}=k(b.value);for(let a of e)d.push({code:a.code,entityId:b.id,reason:a.message});a&&!c.has(a.filePath)&&d.push({code:"SOURCE_COVERAGE_FILE_UNKNOWN",entityId:b.id,reason:`来源 ${a.filePath} 不在本次冻结来源里`})}let e=a.proposal.reads.entities.filter(a=>null!==a.version&&b.entity(a.id)?.version!==a.version);return{dataValidity:d.length?"invalid":"valid",relatedConstraints:e.length?"invalid":"valid",schedule:{scope:"local",state:"not-evaluated"},issues:[...d,...e.map(a=>({code:"READ_SUPERSEDED",entityId:a.id,reason:`读集里的 v${a.version} 已被新版本替代`}))],result:{sourceCoverageOpinions:a.proposal.changes.map(a=>a.id)}}}),commit(c,d){let e=b.proposal(c);if(!e||e.actorId!==a.authority.actorId)throw Error("SOURCE_COVERAGE_PROPOSAL_SCOPE_DENIED");return b.commit(c,d)}}}function n(a){return(0,d.Fu)(Object.entries(a.sources).map(([a,b])=>[a,b.sha256??""]).sort(([a],[b])=>a.localeCompare(b)))}function o(a,b,c){let d,h=new Map;for(let a of b.sourceControls??[])"verified-source-excerpt"===a.roleId&&"string"==typeof a.factId&&h.set(a.factId,a.sourceFile);let i=new Map;for(;;){let b=a.entityPage({groupKey:"writing-units",...d?{afterId:d}:{},limit:200});for(let a of b.entities){let b=a.deleted?void 0:(0,e.iC)(a);if(!b)continue;let c=new Set;for(let a of[...b.references,...b.assertions.map(a=>a.reference)]){if("evidence"!==a.kind)continue;let b=h.get(String(a.evidenceId??""));b&&c.add(b)}for(let b of c)i.set(b,[...i.get(b)??[],{unitEntityId:a.id,version:a.version}])}if(!b.nextAfterId)break;d=b.nextAfterId}let j=function(a,b={}){let c,d=[];for(;;){let e=a.entityPage({groupKey:"source-coverage-opinions",...c?{afterId:c}:{},limit:200});for(let c of e.entities){if(c.deleted||!c.value)continue;let{value:e}=k(c.value);e&&e.sourceReviewPolicyVersion===g&&(!b.sourceSnapshotHash||e.sourceSnapshotHash===b.sourceSnapshotHash)&&(e.reviewedUnitRefs?.some(b=>a.entity(b.id)?.deleted||a.entity(b.id)?.version!==b.version)||d.push({filePath:e.filePath,verdict:e.verdict,reason:e.reason,evidence:[...e.evidence],...e.reviewInvocationId?{reviewInvocationId:e.reviewInvocationId}:{},sourceReviewPolicyVersion:e.sourceReviewPolicyVersion,...e.sourceSnapshotHash?{sourceSnapshotHash:e.sourceSnapshotHash}:{},...e.reviewedUnitRefs?{reviewedUnitRefs:e.reviewedUnitRefs.map(a=>({id:a.id,version:a.version}))}:{}}))}if(!e.nextAfterId)break;c=e.nextAfterId}return d}(a,{sourceSnapshotHash:n(b)}),l=Object.entries(b.sources).map(([a,b])=>({filePath:a,sha256:b.sha256??"",referencedBy:i.get(a)??[],referenceCount:(i.get(a)??[]).length})),m=l.filter(a=>!a.referenceCount).map(a=>a.filePath),o=new Map;for(let a of j)o.set(a.filePath,[...o.get(a.filePath)??[],a]);let p=m.filter(a=>new Set((o.get(a)??[]).map(a=>a.verdict)).size>1),q=new Map;for(let[a,b]of o)b.length&&!p.includes(a)&&q.set(a,b[0]);let r=m.filter(a=>!q.has(a)&&!p.includes(a)),s=m.map(a=>q.get(a)).filter(a=>!!a),t=s.filter(a=>"omission"===a.verdict),u=[];return l.length||u.push("冻结来源为空:没有可算的覆盖账"),r.length&&u.push(`${r.length} 份未被正文引用的来源没有审查意见(未测≠没问题):${r.slice(0,5).join("、")}${r.length>5?"…":""}`),p.length&&u.push(`${p.length} 份来源存在相互冲突的当前审查意见,按未测处理:${p.slice(0,5).join("、")}${p.length>5?"…":""}`),t.length&&u.push(`${t.length} 份来源被审查判为漏项,必须回正文承接后才能交付:${t.slice(0,5).map(a=>a.filePath).join("、")}`),{version:f,status:!l.length||r.length||p.length||t.length?"unmeasured":"measured",documentHash:c.documentHash,sources:l,unreferenced:m,opinions:s,missingOpinions:r,conflicts:p,omissions:t,reasons:u}}},4053:(a,b,c)=>{c.d(b,{Dp:()=>j,Jr:()=>n,YK:()=>l,iC:()=>m,tp:()=>k});var d=c(6873),e=c(67001),f=c(67931);let g=/^[\s\S]*$/u,h=a=>"string"==typeof a?a.trim():"",i=/^[—\-–—\s]*$|^(待补|待定|详见|略|无|N\/A|TBD)$/iu;function j(a){let b=[],c=a??{},j=Array.isArray(c.units)?c.units:[];h(c.responsibilityId)||b.push({unitId:"",code:"responsibility-required",message:"正文提交必须声明是哪个职责成果"}),h(c.purpose)||b.push({unitId:"",code:"purpose-required",message:"正文提交必须声明本段在追的目的"}),j.length||c.revision||b.push({unitId:"",code:"units-required",message:"正文提交为空"}),(Array.isArray(c.sectionIds)?c.sectionIds.map(a=>String(a)).filter(Boolean):[]).length>1&&b.push({unitId:"",code:"section-single-required",message:"每次正文提交只能声明一个章节;跨节内容拆成多次提交,或在正文中引用他节的表/图,不要用同一单元复制到多节"});let k=new Set;for(let a of j){let c=a??{},j=h(c.id);if(!j){b.push({unitId:"",code:"unit-id-required",message:"正文单元必须有稳定 id(修订是同一 id 的新版本)"});continue}if(k.has(j)){b.push({unitId:j,code:"unit-id-duplicate",message:`同一份提交里有两段用同一个单元 id「${j}」`});continue}k.add(j);let l=String(c.kind??"");if(!["paragraph","table","figure"].includes(l)){b.push({unitId:j,code:"unit-kind-invalid",message:`未知的正文单元形态「${l}」`});continue}for(let a of(void 0===c.contentContractHash||/^[a-f0-9]{64}$/u.test(String(c.contentContractHash))||b.push({unitId:j,code:"content-contract-hash-invalid",message:"内容契约 hash 必须是完整 SHA256"}),["claims","implementations"]))void 0===c[a]||Array.isArray(c[a])||b.push({unitId:j,code:`${a}-invalid`,message:`${a} 必须是数组`});if((!c.claims||Array.isArray(c.claims))&&(!c.implementations||Array.isArray(c.implementations)))for(let a of(0,d.dA)(c))b.push({unitId:j,code:a,message:"主张/实现片段的身份、来源或正文位置不一致"});for(let[a,d]of(void 0===c.subsectionId||h(c.subsectionId)||b.push({unitId:j,code:"subsection-id-invalid",message:"subsectionId 必须是非空字符串(取自冻结节计划的小节)"}),void 0===c.blockId||h(c.blockId)||b.push({unitId:j,code:"block-id-invalid",message:"blockId 必须是非空字符串(取自冻结节计划该小节的 writingOutline)"}),[["planHash",c.planHash],["sectionPlanHash",c.sectionPlanHash]]))void 0===d||/^[a-f0-9]{64}$/u.test(String(d))||b.push({unitId:j,code:"plan-hash-invalid",message:`${a} 必须是冻结计划的 64 位十六进制 hash`});if(void 0!==c.notes&&(!Array.isArray(c.notes)||c.notes.some(a=>"string"!=typeof a))&&b.push({unitId:j,code:"form-notes-invalid",message:"原表说明必须是文本数组"}),void 0===c.originalFormContractHash||/^[a-f0-9]{64}$/u.test(String(c.originalFormContractHash))||b.push({unitId:j,code:"original-form-hash-invalid",message:"原格式必须绑定完整契约hash"}),"paragraph"!==l||g.test(String(c.text??""))||b.push({unitId:j,code:"unit-text-invalid",message:"段落正文不是文本"}),"paragraph"!==l||h(c.text)||b.push({unitId:j,code:"unit-empty",message:"段落正文为空"}),"table"===l){let a=Array.isArray(c.columns)?c.columns:[],d=Array.isArray(c.rows)?c.rows:[];for(let e of(a.length&&d.length||b.push({unitId:j,code:"table-empty",message:"表格必须同时有表头与至少一行数据(表头+分隔线+数据三者缺一即拒)"}),d)){let d=(e??{}).cells;for(let e of a){let a=h(e.key),f=d?.[a];!c.originalFormContractHash&&(null==f||i.test(String(f)))&&b.push({unitId:j,code:"table-cell-placeholder",message:`表格单元格「${a}」为空或占位(交付稿不得留占位)`})}}}if("figure"===l){let a=Array.isArray(c.nodes)?c.nodes:[];if(void 0!==c.planChart){let d=c.planChart??{};(!["schedule","network"].includes(String(d.view))||Object.keys(d).some(a=>"view"!==a)||void 0!==c.layout||a.length||Array.isArray(c.edges)&&c.edges.length)&&b.push({unitId:j,code:"figure-plan-chart-invalid",message:"计划图须仅声明 planChart.view=schedule|network,由执行基准渲染;不得混入节点/边或空间布局"})}if(void 0===c.planChart&&a.length<2&&b.push({unitId:j,code:"figure-semantics-missing",message:"图件至少要有两个节点,否则画不出实际语义关系"}),void 0===c.planChart&&["deployment","risk-control"].includes(String(c.figureSemantics??""))){let c=a.filter(a=>!h(a?.group));c.length&&b.push({unitId:j,code:"figure-node-group-required",message:`部署/危大管控图的每个节点必须用 group 标明所属阶段(如 识别/对策/责任/验证 或 准备/主体/安装/收尾);缺 ${c.length} 个`})}if(void 0!==c.layout){try{(0,e.Q)(c.layout,a.map(a=>(a??{}).id),Array.isArray(c.edges)?c.edges:[])}catch(a){b.push({unitId:j,code:"figure-layout-invalid",message:a instanceof Error?a.message:String(a)})}(0,f.ez)(h(c.caption))&&!/示意/u.test(h(c.caption))&&b.push({unitId:j,code:"figure-layout-schematic-required",message:"相对坐标布置须明确为示意,不得冒充测量比例或现场定位图"})}else(0,f.ez)(h(c.caption))&&b.push({unitId:j,code:"figure-layout-required",message:"节点边关系图没有设施区域与线路,不能冒充施工平面布置图"})}else void 0!==c.planChart?b.push({unitId:j,code:"figure-chart-kind-invalid",message:"计划图不能隐藏在段落或表格中"}):void 0!==c.layout&&b.push({unitId:j,code:"figure-layout-kind-invalid",message:"空间布局仅属于图件单元,不得隐藏在段落或表格中"});if(void 0!==c.coverageItemIds){let a=Array.isArray(c.coverageItemIds)?c.coverageItemIds:[];(!Array.isArray(c.coverageItemIds)||a.some(a=>"string"!=typeof a||!a.trim()))&&b.push({unitId:j,code:"coverage-item-ids-invalid",message:"coverageItemIds 必须是非空字符串数组(契约项 id 取自本节 coverageItems)"})}if(void 0!==c.referencedCoverageItemIds){let a=Array.isArray(c.referencedCoverageItemIds)?c.referencedCoverageItemIds:[];(!Array.isArray(c.referencedCoverageItemIds)||a.some(a=>"string"!=typeof a||!a.trim()))&&b.push({unitId:j,code:"referenced-coverage-item-ids-invalid",message:"referencedCoverageItemIds 必须是非空字符串数组(只填本单元引用、但不作为主载体的契约项 id)"})}if(void 0!==c.standardCitations){let a=Array.isArray(c.standardCitations)?c.standardCitations:[];for(let d of(Array.isArray(c.standardCitations)||b.push({unitId:j,code:"standard-citations-invalid",message:"standardCitations 必须是数组"}),a)){let a=d??{},c=["name","code","version","scope","verification"].filter(b=>!h(a[b]));c.length&&b.push({unitId:j,code:"standard-citation-incomplete",message:`标准引用缺字段:${c.join("、")}(名称/编号/版本/适用范围/核验状态五字段必须齐全)`}),void 0===a.verification||["verified","unverified"].includes(String(a.verification))||b.push({unitId:j,code:"standard-citation-verification-invalid",message:"核验状态只能是 verified 或 unverified"})}}for(let a of Array.isArray(c.assertions)?c.assertions:[]){let c=a??{},d=c.reference??{},e=String(d.kind??"");if(!["evidence","decision","certificate"].includes(e)){b.push({unitId:j,code:"assertion-reference-missing",message:"工程数字断言未绑定引用(冻结原字/已提交决定/计算证书三类之一);未绑定的断言不得进入交付稿"});continue}h(c.subject)&&h(c.purpose)||b.push({unitId:j,code:"assertion-context-missing",message:"断言必须写明对象与用途(数值相同不作合并的依据)"}),"evidence"!==e||h(d.evidenceId)||b.push({unitId:j,code:"assertion-evidence-invalid",message:"原字引用缺证据身份"}),"decision"!==e||h(d.entityId)&&Number.isSafeInteger(Number(d.entityVersion))||b.push({unitId:j,code:"assertion-decision-invalid",message:"决定引用必须带对象与当次生效版本"}),"certificate"!==e||h(d.certificateId)||b.push({unitId:j,code:"assertion-certificate-invalid",message:"计算引用缺证书身份"})}}if(void 0!==c.revision){let a=c.revision;(!a||void 0!==a.reason&&("string"!=typeof a.reason||!a.reason.trim())||!Array.isArray(a.retire)||!Array.isArray(a.replacements)||!Array.isArray(a.redirects)||a.retire.some(a=>!a?.unitId?.trim()||!Number.isSafeInteger(a.version)||a.version<1)||a.replacements.some(a=>!a?.fromUnitId?.trim()||!Array.isArray(a.toUnitIds)||a.toUnitIds.some(a=>!a?.trim()))||a.redirects.some(a=>!a?.fromUnitId?.trim()||!a?.toUnitId?.trim()))&&b.push({unitId:"",code:"structural-revision-invalid",message:"结构修订须声明退役版本、替换单元与引用重定向"})}return b.length?{issues:b}:{submission:{responsibilityId:h(c.responsibilityId),purpose:h(c.purpose),sectionIds:(Array.isArray(c.sectionIds)?c.sectionIds:[]).map(a=>String(a)).filter(Boolean),units:j,...c.revision?{revision:c.revision}:{}},issues:b}}function k(a,b,c,d){return`writing-unit:${a}:${b}:${d?`${d}:`:""}${c}`}function l(a){return a.units.map((b,c)=>{let d=[...b.references,...b.assertions.map(a=>a.reference)].map(b=>({reference:b,...(b=>{if("evidence"===b.kind)return a.evidenceExists(b.evidenceId)?{state:"current",reason:"冻结原字仍可取"}:{state:"missing",reason:`原字引用「${b.evidenceId}」找不到`};if("decision"===b.kind){let c=a.currentEntityVersion(b.entityId);return void 0===c?{state:"missing",reason:`引用的决定对象「${b.entityId}」不存在`}:c===b.entityVersion?{state:"current",reason:"仍指向当次生效版本"}:{state:"superseded",reason:`引用的是 v${b.entityVersion},当前已是 v${c}`}}let c=a.certificateValid(b.certificateId);return void 0===c?{state:"missing",reason:`证书「${b.certificateId}」不存在`}:c?{state:"current",reason:"证书仍有效"}:{state:"invalidated",reason:"证书已失效(相关输入、读集或共享需求变化)"}})(b)}));return{unitId:b.id,entityId:a.entityIdFor?.(b,c)??"",needsRecheck:d.some(a=>"current"!==a.state),states:d}})}function m(a){if(a&&"writing-unit"===a.kind&&a.value&&!a.deleted)return a.value}function n(a){return"paragraph"===a.kind?!!a.text?.trim():"table"===a.kind?!!(a.columns?.length&&a.rows?.length):"figure"===a.kind&&!!(a.planChart||a.layout||(a.nodes?.length??0)>=2&&(a.edges?.length??0)>0)}},16208:(a,b,c)=>{c.d(b,{Id:()=>i,Ym:()=>g,ig:()=>d,sV:()=>k});let d=["智能体","工作包","职责身份","本职责","提交审查","审查请求","审查回执","审查缺陷","证据编号","求值","提案","actorId","sectionId","contractId","writing-unit","review-finding","检查点","工作库","工时节点","局部计算候选","未取得专业","证书范围","相对时间(","document-run-"],e=a=>RegExp(`^#{3,4}\\s+\\d+(?:\\.\\d+)*\\s+${a.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")}\\s*$`,"mu");function f(a){return a.replace(/[\s\p{P}\p{S}]/gu,"").trim()}function g(a,b){let c=f(a),d=f(b);if(!d||c.includes(d))return 1;if(d.length<4)return 0;let e=new Set(Array.from({length:d.length-1},(a,b)=>d.slice(b,b+2)));if(!e.size)return 0;let g=0;for(let a of e)c.includes(a)&&(g+=1);return g/e.size}function h(a){let b=[];for(let c of a.split(/\r?\n/u)){let a=c.trim();if(/^(?:表|图)\s*\d+(?:[..\-—–]\d+)?\s+\S/u.test(a)){b.push(a);continue}let d=/^!\[([^\]]*)\]/u.exec(a);d?.[1]&&b.push(d[1])}return b}function i(a,b){let c=f(b);return!!c&&h(a).some(a=>{let d=f(a);return d.includes(c)||c.includes(d)||g(a,b)>=.6})}let j={table:"表格",figure:"图件",diagram:"示意图/图件",org_chart:"组织机构图",chart:"图表"};function k(a){let b=(a.plan.applicabilityGaps??[]).map(a=>({code:"tender-applicability-unresolved",severity:"blocker",message:`招标义务 ${a.obligationId} 适用性尚未核定:${a.reason}`})),c={required:0,present:0,missing:0,conflicts:0},k=function(a,b){let c=new Map;for(let d of b.sections){let b=e(d.title).exec(a);if(!b)continue;let f=b.index+b[0].length,g=a.slice(f),h=g.search(/^#{2,3}\s+/mu);c.set(d.id,(h>=0?g.slice(0,h):g).trim())}return c}(a.markdown,a.contract),l=new Map(a.contract.sections.map(a=>[a.id,a])),m=new Map;for(let e of a.plan.sections){if(!l.get(e.sectionId))continue;let n=k.get(e.sectionId)??"";if(!n){b.push({code:"tender-section-missing",severity:"warning",sectionId:e.sectionId,message:`招标要求「${e.chapterTitle}」在装配正文中没有找到对应节:无法核对本节响应。`});continue}let o=0;for(let a of e.requiredOutputs){if(c.required+=1,!a.allowed){c.conflicts+=1,b.push({code:"tender-output-conflict",severity:"warning",sectionId:e.sectionId,message:a.conflict??`招标要求${j[a.form]},但本次编制规则不允许该形式:${a.basis}`});continue}if(function(a,b,c){let d=!!(c&&i(b,c));if("table"===a)return(/^\|.*\|/mu.test(b)||/\|\s*:?-{3,}/u.test(b))&&d;return(/!\[[^\]]*\]\(/u.test(b)||/```mermaid\b/u.test(b)||/<svg\b/iu.test(b)||/data:image\/svg\+xml/iu.test(b))&&d}(a.form,n,a.basis)){c.present+=1;continue}c.missing+=1,o+=1,b.push({code:"tender-required-output-missing",severity:"blocker",sectionId:e.sectionId,message:`招标明确要求${j[a.form]},本节实际正文没有产出(依据:${a.basis.slice(0,200)})。`})}for(let a of e.contentContract?.coverageItems??[]){let c=g(n,a.text);c>=(a.enumerated?.6:.5)||b.push({code:"tender-content-item-missing",severity:a.enumerated?"blocker":"warning",sectionId:e.sectionId,message:`本节内容契约要求逐项落实「${a.text}」,正文没有找到对应内容(覆盖度 ${(100*c).toFixed(0)}%);`+(a.enumerated?"这是招标原文逐项列举的类别,缺一项即视为未响应。":"请核对是否只写了总称而漏了该项。")})}let p=n.split(/\r?\n/u);for(let a=0;a<p.length;a+=1){let c=p[a].trim();if(!/^表\s*\d+(?:[..\-—–]\d+)?\s+\S/u.test(c))continue;let d=a+1;for(;d<p.length&&!p[d].trim();)d+=1;if(!/^\|/u.test(p[d]??""))continue;let f=[];for(;d<p.length&&/^\|/u.test(p[d].trim());)f.push(p[d]),d+=1;/危大/u.test(c)&&!/专业工程/u.test(c)&&f.some(a=>/不属[^|]{0,20}危大|非危大/u.test(a))&&b.push({code:"tender-table-title-conflict",severity:"blocker",sectionId:e.sectionId,message:`表题「${c.slice(0,60)}」写危大工程,但表内有“不属危大”的行:表题应改为“危大工程及专业工程…”,或把该行移出本表。`})}let q=e.requiredOutputs.filter(a=>a.allowed),r=q.filter(a=>"table"===a.form).length,s=q.filter(a=>"table"!==a.form&&"org_chart"!==a.form).length+q.filter(a=>"org_chart"===a.form&&!i(n,a.basis)).length,t=Math.max(h(n).filter(a=>/^表\s*\d/u.test(a)).length,(n.match(/^\|[\s:|-]*-{3,}[\s:|-]*$/gmu)??[]).length),u=(n.match(/!\[[^\]]*\]\(/gu)??[]).length+(n.match(/```mermaid/gu)??[]).length;0===o&&t<r&&b.push({code:"tender-output-count-missing",severity:"blocker",sectionId:e.sectionId,message:`本节点名要求 ${r} 张表,实际只有 ${t} 张带题注的表:同一张表不能同时充当两个点名输出。`}),0===o&&u<s&&b.push({code:"tender-output-count-missing",severity:"blocker",sectionId:e.sectionId,message:`本节点名要求 ${s} 张图,实际只有 ${u} 张带题注的图:同一张图不能同时充当两个点名输出。`});let v=[...a.outputIdsBySection?.[e.sectionId]??[]];if(v.length){let a=[...new Set(v.filter((a,b)=>v.indexOf(a)!==b))];a.length&&b.push({code:"tender-output-id-duplicate",severity:"blocker",sectionId:e.sectionId,message:`outputId 重复:${a.join("、")};一个点名输出只能由一个表/图单元承接。`});let c=q.map(a=>a.id).filter(a=>!!a),d=c.filter(a=>!v.includes(a));d.length&&b.push({code:"tender-output-unbound",severity:"blocker",sectionId:e.sectionId,message:`本节点名输出还有 ${d.length} 个没有绑定 outputId:${d.slice(0,6).join("、")};作者应在对应表/图单元的 outputId 里填写。`});let f=v.filter(a=>!c.includes(a));f.length&&b.push({code:"tender-output-id-unknown",severity:"warning",sectionId:e.sectionId,message:`outputId ${f.slice(0,6).join("、")} 不在本节点名输出里:核对是否填错。`})}let w=e.contentContract?.responsibilityPositions??[];for(let a of(w.length&&!w.some(a=>n.includes(a))&&b.push({code:"tender-responsibility-position-missing",severity:"warning",sectionId:e.sectionId,message:`本节内容契约要求写明责任岗位(${w.slice(0,8).join("、")}),正文没有出现其中任何一个;岗位是落地性的一部分。`}),d))n.includes(a)&&b.push({code:"tender-internal-term",severity:"warning",sectionId:e.sectionId,message:`正文出现系统内部词「${a}」:技术标应使用读者可理解的工程语言,不暴露工作台/流程内部概念。`});if(/(?:0|\d+)\s*至\s*\d+\s*工时/u.test(n)&&b.push({code:"tender-calculation-projection-leak",severity:"blocker",sectionId:e.sectionId,message:"正文出现计算证书的局部工时区间(x至y工时):投标正文应写日历天/日期,证书局部结果只能作为内部校核,不能直接当总进度表述。"}),/重点|难点|危大/.test(e.title)){let a=[];/\d/u.test(n)||/(?:不小于|不大于|不得|控制在|允许偏差|限值|≥|≤)/u.test(n)||a.push("控制值/限值/数量"),/(?:岗|员|负责人|经理|班组|施工员|质检员|安全员|技术负责人)/u.test(n)||a.push("责任岗位"),/(?:验收|复验|检查|监测|实测|记录|见证|复核)/u.test(n)||a.push("验证/验收"),/(?:风险|后果|超限|停工|渗漏|偏差|坍塌|事故|失效)/u.test(n)||a.push("风险/后果"),a.length&&b.push({code:"tender-key-difficulty-generic",severity:"warning",sectionId:e.sectionId,message:`重点难点缺少${a.join("、")}:可能只是通用措施;应按项目对象/约束/后果/控制/责任/依据写。`})}for(let a of n.split(/\n\s*\n/u)){let b=a.trim();if(!b||/^#{1,6}\s/u.test(b)||/^\|/u.test(b)||/^[-*]\s/u.test(b))continue;let c=f(b);if(c.length<40)continue;let d=m.get(c)??{count:0,sections:new Set,sample:b.slice(0,80)};d.count+=1,d.sections.add(e.sectionId),m.set(c,d)}}for(let a of m.values())a.count>1&&a.sections.size>1&&b.push({code:"tender-duplicate-content",severity:"warning",message:`同一段落在 ${a.sections.size} 个章节重复出现(${a.count} 次):「${a.sample}…」;不跨节重复同一内容。`});let n=/^#{2,6}\s*(?:\d+(?:\.\d+)*\s*)?(?:编制依据|编制说明|规范依据|标准依据)/mu.exec(a.markdown),o=/^(?:编制依据|编制说明|规范依据|标准依据)[::]/mu.test(a.markdown),p=a.contract.sections.some(a=>/编制依据|编制说明|规范依据|标准依据/u.test(a.title));return(n||o)&&!p&&b.push({code:"tender-unsolicited-basis",severity:"warning",message:"正文出现独立的「编制依据/编制说明/规范目录」,但冻结合同没有这一节:不要重复编制内容;依据应在首次引用处写明。"}),{issues:[...new Map(b.map(a=>[a.code+":"+(a.sectionId??"")+":"+a.message,a])).values()],requiredOutputs:c}}},21456:(a,b,c)=>{c.d(b,{p:()=>f});var d=c(92736),e=c(14911);function f(a){let b=(0,e.nD)(a)?.key??a.fieldId??a.key,c=["excavation_depth","pit_bottom_elevation","ground_elevation","pile_length","pile_diameter","foundation_depth","foundation_elevation"].includes(b),f="excavation_layer_depth"===b,g=a.resolutionRef?.winnerSourceRef?.sourceSpan??a.sourceRef?.sourceSpan??a.value,h=/[+-]?\d+(?:\.\d+)?\s*(?:mm|毫米|cm|厘米|m|米)?\s*(?:~|~|–|—|至|到|-)\s*[+-]?\d/u.test(a.value),i=/(?:约|大约|左右|大致|估计)\s*[+-]?\d|\d\s*(?:米|m)?\s*左右/u.test(a.value)||c&&["约","大约","大致"].some(b=>(0,d.K3)(g).includes(b+(0,d.K3)(a.value))),j=c&&!(/[+-]?\d+(?:\.\d+)?\s*(?:mm|毫米|cm|厘米|m|米)(?![a-z²2])/iu.test(a.value)||/^[+-]?\d+(?:\.\d+)?$/u.test(a.value.trim())&&/^(?:mm|毫米|cm|厘米|m|米)$/iu.test(a.unit??"")),k=a.objectName?.trim(),l=c&&(!k||/^(?:[\dA-Za-z\s\-—~~]+)?(?:剖面(?:图)?|截面(?:图)?|详图|平面图)(?:[((][^))]*[))])?$/u.test(k));return{role:c?"design-geometry":f?"construction-control":"other",precision:j?"unresolved":h?"range":i?"approximate":"exact",objectBinding:c?l?"unbound":"bound":"not-required",requiresTechnicalDecision:c&&(h||i||j||l),...c&&(h||i||j||l)?{reason:j?"该属性尚未提供具有明确单位的几何控制值,资料指向语和高程基准名称不能冒充坑底标高或深度;须主控核定对象、工况与控制值":l?"数值精确不代表施工对象已确定;须核定实际区段或构件,不能把未绑定属性或来源剖面编号推广为全工程控制值":"这是工程概述范围或约数;须核定具体部位、工况及同一基准的控制值,不能取端点或平均值冒充施工值"}:{}}}},28013:(a,b,c)=>{c.d(b,{EF:()=>l,Lz:()=>h,bP:()=>m,ut:()=>g});let d=/^(?:表|图)\s*\d+(?:[..\-—–]\d+)*\s*[::.、]?\s*/u,e=/^(?:第[一二三四五六七八九十百零〇\d]+[章节]\s*|\d+(?:[..]\d+)*[.、.]?\s*)/u;function f(a){return a?a.replace(d,"").replace(e,"").trim():""}function g(a){let b=[],c=new Map(a.contract.sections.map(a=>[a.id,a])),d=new Map,e=new Map;for(let f of a.units){let a=f.entityId;if(!a?.trim()){b.push({code:"carrier-section-ambiguous",unitId:f.unit.id,message:`表/图单元「${f.unit.id}」缺少持久化实体 id,不能登记载体`});continue}if("paragraph"===f.unit.kind)continue;let g=[...new Set(f.sectionIds.filter(a=>c.has(a)))];if(!g.length){b.push({code:"carrier-section-ambiguous",unitId:a,message:`表/图单元「${f.unit.id}」没有有效的所属章节,不能分配编号`});continue}g.length>1&&b.push({code:"carrier-section-ambiguous",unitId:a,sectionId:g[0],message:`表/图单元「${f.unit.id}」同时声明在多个章节(${g.join("、")});同一张载体只能属于一节,其余节请改为引用`});let h=g[0],i=e.get(a);if(i&&i!==h){b.push({code:"carrier-section-ambiguous",unitId:a,sectionId:h,message:`表/图单元「${f.unit.id}」同时声明在多个章节(${i}、${h});同一张载体只能属于一节`});continue}e.set(a,h);let j=d.get(h)??[];j.push(f),d.set(h,j)}let g=[],h=new Map,i=new Map,j=new Map,k=new Map,l=(b,c)=>{let d=a.sectionPlans?.get(b);if(!d?.subsections.length)return[...c];let e=c.map((a,b)=>({source:a,index:b})),f=new Map(d.subsections.map((a,b)=>[a.subsectionId,b])),g=a=>{let b="string"==typeof a.blockId?a.blockId.trim():"";if(!b)return Number.MAX_SAFE_INTEGER;let c=d.subsections.find(b=>b.subsectionId===a.subsectionId),e=(c?.writingOutline??[]).findIndex(a=>a.blockId===b);return e>=0?e:Number.MAX_SAFE_INTEGER};return e.sort((a,b)=>{let c=f.get(String(a.source.unit.subsectionId??""))??Number.MAX_SAFE_INTEGER,d=f.get(String(b.source.unit.subsectionId??""))??Number.MAX_SAFE_INTEGER;if(c!==d)return c-d;let e=g(a.source.unit),h=g(b.source.unit);return e!==h?e-h:a.index-b.index}).map(a=>a.source)};return a.contract.chapters.forEach((a,e)=>{let m=e+1,n=0,o=0;for(let e of a.sectionIds)for(let a of l(e,d.get(e)??[])){let d=a.unit;if("table"!==d.kind&&"figure"!==d.kind||h.has(a.entityId))continue;let k="table"===d.kind?++n:++o,l=`${"table"===d.kind?"表":"图"}${m}-${k}`,p=f(d.caption);p||(p=f(d.heading)),!p&&d.planChart?.view&&(p="schedule"===d.planChart.view?"施工总进度计划横道图":"施工总进度计划网络图"),p||(p=f(c.get(e)?.title)),p?f(d.caption)||f(d.heading)||d.planChart?.view||b.push({code:"carrier-caption-missing",unitId:d.id,sectionId:e,message:`${l} 没有作者题注,已临时回退为节标题「${p}」;请补充能区分本载体的实际主题`}):b.push({code:"carrier-caption-missing",unitId:d.id,sectionId:e,message:`${l} 缺少可读题注:请在表/图单元填写 caption(只写主题,不写编号),不要用章节名代替`});let q=p?`${l} ${p}`:l,r={unitId:a.entityId,kind:d.kind,chapter:m,ordinal:k,label:l,caption:q,title:p,sectionId:e};g.push(r),h.set(a.entityId,r),i.set(`${e}\0${d.id}`,r),j.has(l)?b.push({code:"carrier-number-duplicate",unitId:d.id,sectionId:e,message:`载体编号「${l}」重复:编号必须全篇唯一`}):j.set(l,r)}k.set(a.id,m)}),{carriers:g,byUnitId:h,byScopedUnitId:i,byLabel:j,issues:b}}function h(a){let b=[...a.carriers.issues],c=(c,d,e)=>{let f=l(c,a.carriers,{unitId:d,sectionId:e});return b.push(...f.issues),f.text};return{units:a.units.map(b=>{let d=b.unit;if("paragraph"===d.kind)return d.text?{...d,text:c(d.text,b.entityId,b.sectionIds[0])}:d;let e=a.carriers.byUnitId.get(b.entityId),f=e?.caption??d.caption;if("table"===d.kind){let a=d.rows?.map(a=>{let d={};for(let[e,f]of Object.entries(a.cells??{}))d[e]="string"==typeof f?c(f,b.entityId,b.sectionIds[0]):String(f??"");return{...a,cells:d}});return{...d,...f?{caption:f}:{},...a?{rows:a}:{}}}return{...d,...f?{caption:f}:{}}}),issues:b}}let i=/\{\{\s*(?:carrier|table|figure)\s*:\s*([^}]+?)\s*\}\}/gu,j=/(?:见|按|如|详见|参见|根据|依据|按照|参照|比照|遵照|结合)\s*(表|图)\s*(\d+(?:[..\-—–]\d+)?)/gu,k=/^\s*(?:表|图)\s*\d+(?:[..\-—–]\d+)?\s+\S/u;function l(a,b,c={}){let d=[],e=a.replace(i,(e,f,g)=>{let h=(c.sectionId?b.byScopedUnitId.get(`${c.sectionId}\0${f.trim()}`):void 0)??b.byUnitId.get(f.trim())??b.byLabel.get(f.trim());if(!h)return d.push({code:"carrier-reference-unresolved",unitId:c.unitId,sectionId:c.sectionId,message:`内部引用「${f.trim()}」找不到对应表/图:请引用真实的单元 id,或删除该引用`}),e;let i=a.slice(0,g).replace(/\s+$/u,"");return/表$/u.test(i)&&h.label.startsWith("表")||/图$/u.test(i)&&h.label.startsWith("图")?h.label.slice(1):h.label}),f=(e=e.split(/\r?\n/u).map(a=>k.test(a)?a:a.replace(j,(a,e,f)=>{let g=e+f.replace(/[..—–]/gu,"-");return b.byLabel.get(g)?a.replace(`${e}${f}`,g):(d.push({code:"carrier-reference-unresolved",unitId:c.unitId,sectionId:c.sectionId,message:`引用了「${g}」,但全篇没有这张表/图:补建载体,或改成真实编号`}),a)})).join("\n")).match(i);f?.length&&d.push({code:"carrier-reference-leaked",unitId:c.unitId,sectionId:c.sectionId,message:`成稿残留内部引用标记:${f.slice(0,3).join("、")};发布前必须解析成中文表号/图号`});let g=e.match(/[表图][a-z][a-z0-9]*(?:-[a-z0-9]+)+/u);return g?.length&&d.push({code:"carrier-reference-leaked",unitId:c.unitId,sectionId:c.sectionId,message:`成稿疑似残留内部单元 id:${g.slice(0,3).join("、")};改成真实表号/图号或 {{table:<表单元id>}} 标记`}),{text:e,issues:d}}function m(a,b){let c=[];return{markdown:a.split(/\r?\n/u).map(a=>{if(k.test(a))return a;let d=l(a,b);return c.push(...d.issues),d.text}).join("\n"),issues:c}}},36487:(a,b,c)=>{c.d(b,{j:()=>m});var d=c(17341),e=c(14911),f=c(92736),g=c(10398),h=c(78936),i=c(82e3),j=c(21456),k=c(42170),l=c(46788);function m(a,b,c){let m=c&&new Set(c.allowedFilePaths),n=a=>!a||!m||m.has(a),o=a=>!m||m.has(a.sourceFile)&&n(a.sourceRef?.filePath)&&n(a.resolutionRef?.originalSourceFile)&&n(a.resolutionRef?.winnerSourceFile)&&n(a.resolutionRef?.winnerSourceRef?.filePath)&&(a.derivation?.inputs??[]).every(a=>n(a.sourceFile))&&(a.temporalConstraint?.history??[]).every(a=>n(a.sourceFile)),p=b.attribute.trim(),q=e.nC.find(a=>a.key===p||a.label===p||a.aliases.includes(p)),r=[...a.facts,...a.sourceControls??[]].filter(a=>o(a)&&(q?(0,e.nD)(a)?.key===q.key:a.fieldId===p||a.fieldName===p||a.key===p)&&(!b.valueDomain||(0,d.IL)(a.value)===b.valueDomain)),s=q&&e.zT.has(q.key),t=r.filter(a=>!b.objectName||a.objectName===b.objectName||s&&"项目主体"===b.objectName&&!a.objectName),u=r.filter(a=>!a.objectName&&!s),v=new Map(t.filter(b=>Object.hasOwn(a.sources,b.resolutionRef?.winnerSourceFile??b.sourceFile)).map(b=>[b,(0,l.Q)(a,b)])),w=t.filter(b=>Object.hasOwn(a.sources,b.sourceFile)&&(0,g.j)(b)&&(!b.resolutionRef||!!(b.resolutionRef.winnerSourceFile&&Object.hasOwn(a.sources,b.resolutionRef.winnerSourceFile)))&&v.get(b)?.status==="eligible"),x=new Set(w.map(a=>(0,f.K3)(a.value))),y=new Set(w.map(a=>a.objectName).filter(Boolean)),z=w.filter(a=>a.controlContext),A=new Map;for(let a of z){let b=a.controlContext,c=JSON.stringify([b.objectName,b.attribute,b.condition,b.baseline,b.relation]),d=A.get(c)??new Set;d.add((0,f.K3)(a.value)),A.set(c,d)}let B=[...A.values()].some(a=>a.size>1),C=t.length&&t.every(a=>"technical_parameter"===a.fieldId),D=C&&t.some(b=>v.get(b)?.status==="eligible"&&(0,h.P)(a,b)),E=r.length?t.some(a=>v.get(a)?.status==="unresolved")?"needs-source-version-decision":w.some(a=>(0,j.p)(a).requiresTechnicalDecision)?"needs-technical-decision":!u.length||b.objectName&&t.length?w.length?B?"ambiguous":z.length===w.length&&(A.size>1||z.some(a=>"exact"!==a.controlContext.relation))?"conditioned":C&&z.length!==w.length?"needs-context-interpretation":x.size>1||!b.objectName&&y.size>1?"ambiguous":"resolved":D?"needs-context-interpretation":"unmeasured":"unbound":"unmeasured",F=[];for(let b of t){let c=b.resolutionRef?.winnerSourceFile??b.sourceFile,f=b.resolutionRef?b.resolutionRef.winnerSourceRef??null:b.sourceRef??null,g={factId:(0,e.vg)(b),...(0,i.mk)(a,(0,e.vg)(b),(0,h.P)(a,b)),objectName:b.objectName??(s?"项目主体":null),attribute:b.fieldId||b.fieldName||b.key,value:b.value,valueDomain:(0,d.IL)(b.value),technicalMeaning:(0,j.p)(b),sourceFile:c,sourceFingerprint:a.sources[c]?.sha256??null,sourceVersionEligibility:v.get(b)??{status:"unmeasured",decisionIds:[],reason:"没有对应当前冻结解析来源身份"},sourceSemantics:b.sourceSemantics??(0,k.Q)(f?.roleId??b.roleId,f?.processingType??b.processingType),sourceRef:f,sourceEvidenceId:(0,h.P)(a,b),resolutionRef:b.resolutionRef??null,derivation:b.derivation??null,temporalConstraint:b.temporalConstraint??null,confidence:b.confidence};F.push({...g,controlContext:b.controlContext??null})}let G=new Set(t.map(b=>(0,h.P)(a,b)).filter(Boolean)),H=(a.sourceControls??[]).filter(a=>o(a)&&G.has((0,e.vg)(a))).map(b=>({sourceEvidenceId:(0,e.vg)(b),...(0,i.mk)(a,void 0,(0,e.vg)(b)),sourceFile:b.sourceFile,chunkIndex:b.sourceRef?.chunkIndex,value:b.value}));return{snapshotId:a.snapshotId,attribute:p,objectName:b.objectName??null,status:E,value:"resolved"===E?w[0].value:null,candidates:F,totalCandidates:t.length,complete:!0,statusScope:m?"authorized-matching-facts":"all-matching-facts",unboundCandidates:b.objectName?u.map(a=>(0,e.vg)(a)):[],unboundTotal:u.length,sourceEvidence:H,diagnosis:{phase:r.length?t.length?"needs-source-version-decision"===E?"source-use":"unbound"===E?"object-binding":"needs-technical-decision"===E||"needs-context-interpretation"===E||"conditioned"===E?"control-context":"ambiguous"===E?"value-resolution":w.length?"resolved":"fact-admission":"object-binding":"attribute-extraction",matchingAttributeRecords:r.length,matchingObjectRecords:t.length,qualifiedRecords:w.length,sourceCorpusSearched:!1,provesMissingSource:!1,nextAction:r.length?t.length?"needs-context-interpretation"===E?"完整原文已返回;解释实际对象、属性和条件,不将裸数字多值当作冲突":"conditioned"===E?"按每条完整工况与控制性质分别使用,不压成全项目单值":"resolved"===E?"使用已提供事实及出处,不重复查询同一属性":"核对候选的具体来源、条件或准入原因,未决不表示原文缺料":u.length?"属性候选尚未关联指定对象;按已有原文上下文解释,不要求用户逐项核定":"已有其他对象的属性记录,指定对象未命中;核对具体对象及别名,不能说原文没有数据":"属性库未命中;按本任务具体问题检索冻结原文,不能凭属性零命中认定原文缺料"}}}},42170:(a,b,c)=>{c.d(b,{Q:()=>d});function d(a,b){return{originatingRoleId:a||"unknown",...b?{originatingProcessingType:b}:{},nature:"unmeasured",applicability:"unmeasured",evidenceScope:"provided-source-record"}}},45408:(a,b,c)=>{c.d(b,{$H:()=>q,CA:()=>h,Zc:()=>i,cu:()=>o,eL:()=>p,sX:()=>j,xN:()=>k});var d=c(77598),e=c(745);let f="document-delivery-placement-v1",g=a=>(0,d.createHash)("sha256").update(a).digest("hex"),h=a=>(0,e.Fu)({nodes:a.nodes??[],edges:a.edges??[],planChart:a.planChart??null}),i=a=>(0,e.Fu)(a??[]),j=a=>(a??[]).join("\n\n");function k(a,b,c){return{start:b,end:c,sha256:g(a.slice(b,c))}}let l=a=>(0,e.Fu)([...a].sort((a,b)=>a.outputId.localeCompare(b.outputId))),m=(a,b)=>a.location===b.location&&a.outputId===b.outputId&&a.obligationId===b.obligationId&&a.applicabilityBindingHash===b.applicabilityBindingHash&&a.originalFormContractHash===b.originalFormContractHash,n=a=>!!(a&&["technical-body","technical-appendix"].includes(a.location)&&a.outputId?.trim()&&a.obligationId?.trim()&&a.applicabilityBindingHash?.trim());function o(a,b=[]){let c=a.deliveryPlacement,d=b.filter(b=>b.outputId===a.outputId),e=1===d.length?d[0]:void 0;return c||e?c&&e&&n(e)&&a.outputId&&m({...c,...a.originalFormContractHash?{originalFormContractHash:a.originalFormContractHash}:{}},e)?{binding:{...e},issues:[]}:{issues:["位置声明未绑定当前输出义务/适用性/原格式身份;不能取得独立技术附表归属"]}:{issues:[]}}function p(a){let b={version:f,markdownSha256:g(a.markdown),body:k(a.markdown,0,a.bodyEnd),appendix:k(a.markdown,a.bodyEnd,a.markdown.length),units:a.units,outputPlacementsHash:l(a.outputPlacements??[])};return{...b,manifestHash:(0,e.Fu)(b)}}function q(a,b,c={}){let d=[],h=()=>({valid:!1,issues:[...new Set(d)],bodyMarkdown:a,appendixMarkdown:""});if(!b||b.version!==f||!Array.isArray(b.units))return d.push("缺少当前结构化交付位置回执"),h();try{let{manifestHash:f,...h}=b;(0,e.Fu)(h)!==f&&d.push("交付位置回执身份不符"),g(a)!==b.markdownSha256&&d.push("交付位置回执不属于当前全文");let i=b=>!!(b&&Number.isSafeInteger(b.start)&&Number.isSafeInteger(b.end)&&b.start>=0&&b.end>=b.start&&b.end<=a.length&&b.sha256===g(a.slice(b.start,b.end)));i(b.body)&&i(b.appendix)&&0===b.body.start&&b.body.end===b.appendix.start&&b.appendix.end===a.length||d.push("正文/技术附表区间不完整或原字身份不符"),c.outputPlacements&&l(c.outputPlacements)!==b.outputPlacementsHash&&d.push("交付位置回执的冻结输出计划已变化");let j=new Set,k=[];for(let e of b.units){(!e.entityId?.trim()||!e.unitId?.trim()||!e.sectionId?.trim()||j.has(e.entityId))&&d.push("交付位置单元身份缺失或重复"),j.add(e.entityId),i(e.range)&&e.range.end!==e.range.start||d.push("交付位置单元原字区间不符");let f="technical-body"===e.location?b.body:"technical-appendix"===e.location?b.appendix:void 0;if((!f||e.range.start<f.start||e.range.end>f.end)&&d.push("交付位置单元跨越正文/附表边界"),"technical-appendix"!==e.location||e.binding&&n(e.binding)&&"technical-appendix"===e.binding.location&&e.binding.outputId===e.outputId||d.push("技术附表缺少有效的原输出位置绑定"),"technical-appendix"!==e.location||e.bodyReference||d.push("技术附表缺少所属正文节的实际引用"),e.bodyReference&&(!i(e.bodyReference)||e.bodyReference.start<b.body.start||e.bodyReference.end>b.body.end)&&d.push("技术附表的正文引用区间不符"),e.originalFormContractHash&&e.binding?.originalFormContractHash!==e.originalFormContractHash&&d.push("原格式单元的当前契约绑定不符"),e.figure){("figure"!==e.kind||!e.figure.semanticHash?.trim()||!e.figure.notesHash?.trim()||!Array.isArray(e.figure.assetUrls)||e.figure.assetUrls.some(a=>"string"!=typeof a||!a.trim()))&&d.push("图件语义/说明/实际引用身份不完整");let b=[...a.slice(e.range.start,e.range.end).matchAll(/!\[[^\]\r\n]*\]\(([^)\r\n]+)\)/gu)].map(a=>a[1]);for(let a of e.figure.assetUrls)b.includes(a)||d.push("图件资产引用没有进入该单元实际原字区间")}else"figure"===e.kind&&d.push("图件单元缺少语义/说明/实际引用账");if(c.outputPlacements){let a=c.outputPlacements.find(a=>a.outputId===e.outputId);!a&&!e.binding||a&&e.binding&&m(a,e.binding)||d.push("交付位置单元绑定已失效")}if(c.units){let a=c.units.find(a=>a.entityId===e.entityId);a&&a.entityVersion===e.entityVersion&&a.entityHash===e.entityHash||d.push("交付位置单元版本/内容身份已变化"),a?.originalFormContractHash&&a.originalFormContractHash!==e.originalFormContractHash&&d.push("当前单元原格式契约已变化"),a?.figure&&(!e.figure||a.figure.semanticHash!==e.figure.semanticHash||a.figure.notesHash!==e.figure.notesHash)&&d.push("当前图件语义或说明已变化")}k.push(e.range)}c.units&&(c.units.length!==b.units.length||c.units.some(a=>!j.has(a.entityId)))&&d.push("当前生效单元未全部进入位置回执"),k.sort((a,b)=>a.start-b.start),k.some((a,b)=>b>0&&a.start<k[b-1].end)&&d.push("交付位置单元区间重叠"),b.appendix.end>b.appendix.start&&!b.units.some(a=>"technical-appendix"===a.location)&&d.push("技术附表区域没有实际绑定单元")}catch{d.push("交付位置回执无法完整验证")}return d.length?h():{valid:!0,issues:[],bodyMarkdown:a.slice(b.body.start,b.body.end),appendixMarkdown:a.slice(b.appendix.start,b.appendix.end)}}},46788:(a,b,c)=>{c.d(b,{Q:()=>f});var d=c(21456),e=c(44967);function f(a,b){return(0,e.bz)(a,function(a){let b=(0,d.p)(a);return{sourceFile:a.resolutionRef?.winnerSourceFile??a.sourceFile,quote:(a.resolutionRef?.winnerSourceRef??a.sourceRef)?.sourceSpan??a.value,sourceChunkIndex:(a.resolutionRef?.winnerSourceRef??a.sourceRef)?.chunkIndex,usage:"project-fact",attribute:a.fieldId??a.key,objectScope:a.objectName,assertedText:a.value,..."recommended_brand"===a.fieldId?{domain:"procurement-brand"}:"other"!==b.role?{domain:"construction-method"}:{}}}(b))}},59339:(a,b,c)=>{c.d(b,{B$:()=>j,Mf:()=>i,iP:()=>k,nI:()=>h,rL:()=>g});var d=c(745),e=c(69977),f=c(19045);function g(a){let b=(a?.sections??[]).flatMap(a=>a.requiredOutputs.flatMap(a=>{if(!a.id||!a.obligationId||!(0,e.oY)(a))return[];let b=a.applicability;return"technical-body"!==b.delivery.location&&"technical-appendix"!==b.delivery.location?[]:[{location:b.delivery.location,outputId:a.id,obligationId:a.obligationId,applicabilityBindingHash:b.bindingHash,...a.originalForm&&(0,f.do)(a.originalForm,b)?{originalFormContractHash:a.originalForm.hash}:{}}]})),c=new Map;for(let a of b){if(c.has(a.outputId)&&(0,d.Fu)(c.get(a.outputId))!==(0,d.Fu)(a))throw Error(`CONSTRUCTION_OUTPUT_DELIVERY_CONFLICT:${a.outputId}`);c.set(a.outputId,a)}return[...c.values()]}function h(a,b,c){let d=(b?.sections??[]).filter(a=>!c||c.includes(a.sectionId)).flatMap(a=>a.requiredOutputs).filter(b=>b.id===a.outputId);return 1===d.length?d[0]:void 0}function i(a,b,c){let{deliveryPlacement:d,originalFormContractHash:e,...f}=a,i=h(a,b,c),j=i&&g(b).find(a=>a.outputId===i.id);return{...f,...j?{deliveryPlacement:{location:j.location,outputId:j.outputId,obligationId:j.obligationId,applicabilityBindingHash:j.applicabilityBindingHash},...j.originalFormContractHash?{originalFormContractHash:j.originalFormContractHash}:{}}:{}}}function j(a,b,c){let e=i(a,b,c),g=[];((0,d.Fu)(a.deliveryPlacement??null)!==(0,d.Fu)(e.deliveryPlacement??null)||a.originalFormContractHash!==e.originalFormContractHash)&&g.push("WRITING_DELIVERY_BINDING_INVALID");let j=h(a,b,c);if(j?.applicability?.delivery.originalForm==="required")if(j.originalForm&&(0,f.do)(j.originalForm,j.applicability))for(let b of(0,f.O9)({contract:j.originalForm,unit:a}).checks.filter(a=>"met"!==a.status))g.push(`WRITING_ORIGINAL_FORM:${b.id}:${b.reason}`);else g.push("WRITING_ORIGINAL_FORM_CONTRACT_UNMEASURED");return g}function k(a){return b=>{let c=h(b,a);if(!c?.originalForm||!c.applicability||!(0,f.do)(c.originalForm,c.applicability)||b.originalFormContractHash!==c.originalForm.hash)return;let d=(0,f.O9)({contract:c.originalForm,unit:b});return"met"===d.status?d.html:void 0}}},61485:(a,b,c)=>{c.d(b,{Fw:()=>k,IQ:()=>g,O0:()=>p,O4:()=>o,RL:()=>r,S2:()=>m,T9:()=>q,cD:()=>s,dT:()=>i,fv:()=>j,pk:()=>n,ze:()=>l});var d=c(745),e=c(47353),f=c(60702);function g(a,b=[]){return a?(0,d.Fu)(JSON.parse(JSON.stringify({spec:a,sources:b,qualification:"frozen-input-not-professional-acceptance"}))):void 0}let h=e.E3,i="construction-independent-review-v24";function j(a){let b=a??{},c=[],d="string"==typeof b.reviewerId?b.reviewerId.trim():"";d||c.push({code:"REVIEW_ASSESSMENT_REVIEWER_REQUIRED",message:"审查档位必须带审查者身份"});let e=void 0===b.reviewKind?void 0:"unit"===b.reviewKind||"source-coverage"===b.reviewKind?b.reviewKind:null;null===e&&c.push({code:"REVIEW_ASSESSMENT_KIND_INVALID",message:"审查档位类别 reviewKind 只接受 unit 或 source-coverage"}),void 0===b.reviewInvocationId||"string"==typeof b.reviewInvocationId&&b.reviewInvocationId.trim()||c.push({code:"REVIEW_ASSESSMENT_INVOCATION_INVALID",message:"审查调用身份必须是非空字符串"}),void 0===b.reviewPromptVersion||"string"==typeof b.reviewPromptVersion&&b.reviewPromptVersion.trim()||c.push({code:"REVIEW_ASSESSMENT_PROMPT_VERSION_INVALID",message:"审查提示版本必须是非空字符串"}),void 0===b.reviewModelIdentity||"string"==typeof b.reviewModelIdentity&&b.reviewModelIdentity.trim()||c.push({code:"REVIEW_ASSESSMENT_MODEL_IDENTITY_INVALID",message:"审查模型身份必须是非空字符串"}),void 0===b.reviewBidCompositionHash||"string"==typeof b.reviewBidCompositionHash&&/^[a-f0-9]{64}$/u.test(b.reviewBidCompositionHash)||c.push({code:"REVIEW_ASSESSMENT_BID_BINDING_INVALID",message:"编制规则绑定必须是实际冻结输入的完整SHA256"});let f=b.reviewTenderResponseBinding;void 0!==f&&(!f||"string"!=typeof f.hash||!/^[a-f0-9]{64}$/u.test(f.hash)||!Array.isArray(f.sectionIds)||!f.sectionIds.length||f.sectionIds.some(a=>"string"!=typeof a||!a.trim())||new Set(f.sectionIds).size!==f.sectionIds.length)&&c.push({code:"REVIEW_ASSESSMENT_TENDER_BINDING_INVALID",message:"招标响应绑定必须包含实际送审章节范围与完整SHA256"});let g=Array.isArray(b.unitRefs)?b.unitRefs.map(a=>a):[];(!g.length||g.some(a=>"string"!=typeof a.id||!a.id.trim()||!Number.isSafeInteger(a.version)||1>Number(a.version)))&&c.push({code:"REVIEW_ASSESSMENT_UNIT_REF_REQUIRED",message:'被审成果必须是"单元实体 id + 实际版本"的非空数组'});let i=b.reviewContextUnitRefs;void 0!==i&&(!Array.isArray(i)||i.some(a=>!a||"string"!=typeof a.id||!a.id.trim()||!Number.isSafeInteger(a.version)||a.version<1)||new Set(i.map(a=>a.id)).size!==i.length)&&c.push({code:"REVIEW_ASSESSMENT_CONTEXT_REF_INVALID",message:"关联正文读集必须是无重复的实际单元实体 id 与正整数版本"});let j=Array.isArray(b.levels)?b.levels.map(a=>a):[];for(let[a,b]of(j.length||c.push({code:"REVIEW_ASSESSMENT_LEVELS_REQUIRED",message:"必须至少给出一条准则的档位(审了哪几条就写哪几条,不写就是未测)"}),j.entries()))("string"==typeof b.criterionId?b.criterionId.trim():"")||c.push({code:"REVIEW_ASSESSMENT_CRITERION_REQUIRED",message:`第 ${a+1} 条档位缺 criterionId`}),h.includes(String(b.level))||c.push({code:"REVIEW_ASSESSMENT_LEVEL_INVALID",message:`第 ${a+1} 条档位「${String(b.level)}」不在允许集合:${h.join("/")}`}),"string"==typeof b.reason&&b.reason.trim()||c.push({code:"REVIEW_ASSESSMENT_REASON_REQUIRED",message:`第 ${a+1} 条档位缺理由`}),Array.isArray(b.evidence)&&b.evidence.every(a=>"string"==typeof a&&a.trim())||c.push({code:"REVIEW_ASSESSMENT_EVIDENCE_REQUIRED",message:`第 ${a+1} 条档位缺证据引用(没有依据的档位不得登记)`});new Set(j.map(a=>String(a.criterionId))).size!==j.length&&c.push({code:"REVIEW_ASSESSMENT_CRITERION_DUPLICATE",message:"同一准则只能给一条档位"});let k=b.claimReviews;k&&(!Array.isArray(k)||k.some(a=>!a?.claimId?.trim()||!["supported","contradicted","unmeasured"].includes(a.status)||!a.reason?.trim()||!Array.isArray(a.evidence)||a.evidence.some(a=>"string"!=typeof a||!a.trim()))||new Set(k.map(a=>a.claimId)).size!==k.length)&&c.push({code:"REVIEW_CLAIM_ASSESSMENT_INVALID",message:"主张审查须逐claimId给supported/contradicted/unmeasured、理由与真实证据"}),k&&1!==g.length&&c.push({code:"REVIEW_CLAIM_ASSESSMENT_SINGLE_UNIT_REQUIRED",message:"主张支持结论按具体单元登记,不能把同名claimId跨单元合并"});let l=b.originalFormReviews;l&&(!Array.isArray(l)||1!==g.length||l.some(a=>!a?.outputId?.trim()||!/^[a-f0-9]{64}$/u.test(a.contractHash)||!["met","not-met","unmeasured"].includes(a.status)||!a.reason?.trim()||!Array.isArray(a.evidence)||a.evidence.some(a=>"string"!=typeof a||!a.trim()))||new Set(l.map(a=>a.outputId)).size!==l.length)&&c.push({code:"REVIEW_ORIGINAL_FORM_ASSESSMENT_INVALID",message:"原格式独审须绑定唯一单元、输出与契约,明确状态及实际证据"});let m=b.reviewContinuation;return(!m||/^[a-f0-9]{64}$/u.test(m.basisHash)&&Array.isArray(m.criterionIds)&&Array.isArray(m.priorLevels)||c.push({code:"REVIEW_ASSESSMENT_CONTINUATION_INVALID",message:"缺失准则续审须绑定实际先前档位与待补准则"}),"string"==typeof b.note&&b.note.trim()||c.push({code:"REVIEW_ASSESSMENT_NOTE_REQUIRED",message:"审查档位必须附总体说明"}),c.length)?{issues:c}:{issues:c,value:{reviewerId:d,...e?{reviewKind:e}:{},..."string"==typeof b.reviewInvocationId?{reviewInvocationId:b.reviewInvocationId.trim()}:{},..."string"==typeof b.reviewPromptVersion?{reviewPromptVersion:b.reviewPromptVersion.trim()}:{},..."string"==typeof b.reviewModelIdentity?{reviewModelIdentity:b.reviewModelIdentity.trim()}:{},..."string"==typeof b.reviewBidCompositionHash?{reviewBidCompositionHash:b.reviewBidCompositionHash}:{},...m?{reviewContinuation:m}:{},...k?{claimReviews:k}:{},...l?{originalFormReviews:l}:{},...Array.isArray(i)?{reviewContextUnitRefs:i.map(a=>({id:a.id,version:a.version}))}:{},...f?{reviewTenderResponseBinding:{sectionIds:[...f.sectionIds],hash:f.hash}}:{},unitRefs:g.map(a=>({id:String(a.id),version:Number(a.version)})),levels:j.map(a=>({criterionId:String(a.criterionId),level:a.level,reason:String(a.reason),evidence:a.evidence.map(a=>a.trim()),..."string"==typeof a.reviewInvocationId?{reviewInvocationId:a.reviewInvocationId}:{}})),note:String(b.note)}}}function k(a,b){return"review-assessment:"+(0,d.Fu)([a,[...b].sort()]).slice(0,24)}function l(a){let{store:b}=a,c=new Set(a.contract.criteria.map(a=>a.id)),e=a=>[...new Set(a.map(a=>String(a).trim()).filter(Boolean))].sort(),f=(a=[])=>{if(a.some(a=>!a||"string"!=typeof a.id||!a.id.trim()||!Number.isSafeInteger(a.version)||a.version<1)||new Set(a.map(a=>a.id)).size!==a.length)throw Error("REVIEW_ASSESSMENT_CONTEXT_REF_INVALID");return a.map(a=>({id:a.id,version:a.version})).sort((a,b)=>a.id.localeCompare(b.id))};return{prepareReviews(c){if(!c.length)throw Error("REVIEW_ASSESSMENT_UNITS_REQUIRED");let d=c.map(c=>{let d=e(c.unitEntityIds);if(!d.length)throw Error("REVIEW_ASSESSMENT_UNITS_REQUIRED");let g=f(c.reviewContextUnitRefs);for(let a of g){let c=b.entity(a.id);if(!c||c.deleted||"writing-unit"!==c.kind||c.version!==a.version)throw Error(`REVIEW_ASSESSMENT_CONTEXT_SUPERSEDED:${a.id}@${a.version}`)}return{unitEntityIds:d,reviewContextUnitRefs:g,assessmentId:k(a.authority.actorId,d)}}),g=[...new Set([...d.flatMap(a=>[...a.unitEntityIds,...a.reviewContextUnitRefs.map(a=>a.id)]),...d.map(a=>a.assessmentId)])],h={actorId:a.authority.actorId,type:"review-assessments",groups:d};return b.captureReadSnapshot({entityIds:g,groupKeys:[],context:h})},prepareReview(a){return this.prepareReviews([a])},proposeReviews(g,h,i,k){let l=b.readSnapshot(g),m=l.context??{};if(m.actorId!==a.authority.actorId||"review-assessments"!==m.type||!Array.isArray(m.groups))throw Error("REVIEW_ASSESSMENT_SNAPSHOT_SCOPE_DENIED");if(!i?.trim())throw Error("REVIEW_ASSESSMENT_REASON_REQUIRED");let n=m.groups;if(h.length!==n.length)throw Error("REVIEW_ASSESSMENT_SNAPSHOT_SCOPE_DENIED");let o=h.map(g=>{if(g.reviewerId!==a.authority.actorId)throw Error("REVIEW_ASSESSMENT_REVIEWER_SCOPE_DENIED");let h=e(g.unitEntityIds);for(let a of h){let c=b.entity(a)?.value?.responsibilityId;if(c&&c===g.reviewerId)throw Error(`REVIEW_ASSESSMENT_AUTHOR_DENIED:${g.reviewerId} 是单元 ${a} 的作者,不能作为审查主体`)}let i=n.find(a=>{let b;return b=a.unitEntityIds,b.length===h.length&&b.every((a,b)=>a===h[b])});if(!i)throw Error("REVIEW_ASSESSMENT_SNAPSHOT_SCOPE_DENIED");if((0,d.Fu)(f(g.reviewContextUnitRefs))!==(0,d.Fu)(i.reviewContextUnitRefs??[]))throw Error("REVIEW_ASSESSMENT_CONTEXT_SCOPE_DENIED");let{value:k,issues:m}=j({...g,unitEntityIds:h,unitRefs:l.reads.entities.filter(a=>h.includes(a.id)).map(a=>({id:a.id,version:a.version??0})),reviewContextUnitRefs:i.reviewContextUnitRefs??[]});if(!k)throw Error(`REVIEW_ASSESSMENT_INVALID:${m.map(a=>a.code).join(",")}`);for(let a of k.levels)if(!c.has(a.criterionId))throw Error(`REVIEW_ASSESSMENT_CRITERION_UNKNOWN:${a.criterionId}`);return{id:i.assessmentId,kind:"review-assessment",expectedVersion:b.entity(i.assessmentId)?.version??null,value:JSON.parse(JSON.stringify(k))}});return b.propose({actorId:a.authority.actorId,purpose:"independent-review",reason:i,reads:l.reads,changes:o},k)},proposeReview(a,b,c,d){return this.proposeReviews(a,[b],c,d)},evaluateReview:a=>b.evaluate(a,"construction-review-assessment-v1",a=>{let d=[];for(let e of a.proposal.changes){let{value:a,issues:f}=j(e.value);for(let a of f)d.push({code:a.code,entityId:e.id,reason:a.message});if(a){for(let c of a.unitRefs){let a=b.entity(c.id);!a||a.deleted?d.push({code:"REVIEW_ASSESSMENT_UNIT_MISSING",entityId:e.id,reason:`被审单元 ${c.id} 不存在或已删除`}):a.version!==c.version&&d.push({code:"REVIEW_ASSESSMENT_UNIT_SUPERSEDED",entityId:e.id,reason:`被审单元 ${c.id} 已是 v${a.version},这次档位绑定的是 v${c.version}(旧档位不自动继承)`})}for(let c of a.reviewContextUnitRefs??[]){let a=b.entity(c.id);(!a||a.deleted||"writing-unit"!==a.kind||a.version!==c.version)&&d.push({code:"REVIEW_ASSESSMENT_CONTEXT_SUPERSEDED",entityId:e.id,reason:`实际送审的关联单元 ${c.id}@${c.version} 已改版、退役或不存在`})}for(let b of a.levels)c.has(b.criterionId)||d.push({code:"REVIEW_ASSESSMENT_CRITERION_UNKNOWN",entityId:e.id,reason:`准则 ${b.criterionId} 不属于本合同`})}}let e=a.proposal.reads.entities.filter(a=>null!==a.version&&b.entity(a.id)?.version!==a.version);return{dataValidity:d.length?"invalid":"valid",relatedConstraints:e.length?"invalid":"valid",schedule:{scope:"local",state:"not-evaluated"},issues:[...d,...e.map(a=>({code:"READ_SUPERSEDED",entityId:a.id,reason:`读集里的 v${a.version} 已被新版本替代`}))],result:{reviewAssessments:a.proposal.changes.map(a=>a.id)}}}),commit(c,d){let e=b.proposal(c);if(!e||e.actorId!==a.authority.actorId)throw Error("REVIEW_ASSESSMENT_PROPOSAL_SCOPE_DENIED");return b.commit(c,d)}}}function m(a){let b,c=[];for(;;){let d=a.entityPage({groupKey:"review-assessments",...b?{afterId:b}:{},limit:200});for(let a of d.entities){if(a.deleted||!a.value)continue;let{value:b}=j(a.value);b&&c.push({id:a.id,value:b})}if(!d.nextAfterId)break;b=d.nextAfterId}return c}function n(a){return"source-coverage"===a.reviewKind?"source-coverage":"unit"}function o(a,b,c=i,d,e){if(void 0!==d&&b.reviewBidCompositionHash!==d||!b.reviewInvocationId?.trim()||(b.reviewPromptVersion??"")!==c)return!1;for(let c of b.reviewContextUnitRefs??[]){let b=a.entity(c.id);if(!b||b.deleted||"writing-unit"!==b.kind||b.version!==c.version)return!1}let g=new Set;for(let c of b.unitRefs){let b=a.entity(c.id);if(!b||b.deleted||b.version!==c.version)return!1;let d=b.value??{};for(let a of Array.isArray(d.sectionIds)?d.sectionIds.map(String):[])g.add(a);for(let b of[...Array.isArray(d.references)?d.references:[],...Array.isArray(d.assertions)?d.assertions.map(a=>a.reference??{}):[]]){if("certificate"===b.kind&&!a.certificate(String(b.certificateId))?.valid)return!1;if("decision"===b.kind){let c=a.entity(String(b.entityId));if(!c||c.deleted||c.version!==Number(b.entityVersion))return!1}}}let h=b.reviewTenderResponseBinding;if(h){if([...g].some(a=>!h.sectionIds.includes(a)))return!1;let a=(0,f.tenderResponseBinding)((0,f.tenderResponseProjection)(e,h.sectionIds),h.sectionIds);if(!a||a.hash!==h.hash)return!1}else if((0,f.tenderResponseProjection)(e,[...g]))return!1;return!0}function p(a,b){return b.unitRefs.every(c=>{let d=a.entity(c.id)?.value,e=d?.claims;return(!d?.originalFormContractHash||!!b.originalFormReviews?.some(a=>a.outputId===d.outputId&&a.contractHash===d.originalFormContractHash&&"met"===a.status))&&(!Array.isArray(e)||e.every(a=>b.claimReviews?.some(b=>b.claimId===a.id&&"supported"===b.status)))})}function q(a,b,c){let d=m(a),e={},f=0,g=0,i=a=>h.indexOf(a);for(let h of d)if("unit"===n(h.value)){if(!o(a,h.value,void 0,b,c)){g+=1;continue}if(f+=1,p(a,h.value))for(let a of h.value.levels){let b=e[a.criterionId];(void 0===b||i(a.level)<i(b))&&(e[a.criterionId]=a.level)}}return{levels:e,applied:f,stale:g}}function r(a,b,c){let d=Array.isArray(a.criterionIds)?a.criterionIds.map(String):[];return d.length?d:c.criteria.filter(a=>b.includes(String(a.sectionId??""))).map(a=>a.id)}function s(a,b){let c,d=b.scopeEntityIds?.length?new Set(b.scopeEntityIds.map(String)):void 0,e=[];for(;;){let f=a.entityPage({groupKey:`writing:${b.responsibilityId}`,...c?{afterId:c}:{},limit:200});for(let a of f.entities)if(!a.deleted&&"writing-unit"===a.kind&&a.value){if(d&&!(Array.isArray(a.value.sectionIds)?a.value.sectionIds.map(String):[]).some(a=>d.has(a)))continue;e.push({id:a.id,version:a.version,covered:!1})}if(!f.nextAfterId)break;c=f.nextAfterId}let f=m(a),g=0,h=0,i=new Map;for(let c of f)if("unit"===n(c.value)){if(!o(a,c.value,b.expectedPromptVersion,b.expectedBidCompositionHash,b.tenderResponsePlan)){h+=1;continue}if(g+=1,p(a,c.value))for(let a of c.value.unitRefs){let b=`${a.id}::${a.version}`,d=i.get(b)??new Set;for(let a of c.value.levels)d.add(a.criterionId);i.set(b,d)}}for(let c of e){let d=a.entity(c.id)?.value??{},e=d.sectionIds??[],f=b.contract?r(d,e,b.contract).filter(a=>b.contract.criteria.some(b=>b.id===a&&b.applicable)):Array.isArray(d.criterionIds)&&d.criterionIds.length?d.criterionIds.map(String):b.tenderResponsePlan?.sections.filter(a=>e.includes(a.sectionId)).flatMap(a=>a.criterionIds)??[],g=i.get(`${c.id}::${c.version}`);c.covered=f.length?f.every(a=>g?.has(a)):!!b.contract||!!g}let j=e.filter(a=>!a.covered).map(a=>a.id);return{complete:0===j.length,units:e,missingUnitIds:j,applied:g,stale:h}}},63072:(a,b,c)=>{c.d(b,{_D:()=>p,Vl:()=>k});let d=/(?:荣获|曾获|获得过|被评为)\s*[^。;\n]{2,24}/gu,e=/奖|杯|荣誉|称号|优秀|先进|示范|观摩|文明工地|优质工程/u,f=/(?:承接过|承建过)\s*[^。;\n]{2,24}/gu,g=/工程|项目|标段|业绩/u,h=/完成过\s*(?:[0-90-9一二三四五六七八九十两]+|[多若干]+)\s*(?:个|项|例|座|条|余项|余个)?\s*(?:类似|同类|以上的?)?\s*(?:工程|项目)/gu,i=/资质证书编号|证书编号|安全生产许可证编号|资质编号|营业执照注册号|统一社会信用代码|证号[::]/gu,j=/(?:设计|勘察|监理)单位|设计院|勘察院|监理公司|设计研究总院|设计研究院|设计总院/u;function k(a,b){if(!b)return[];let c=[];for(let b of a.matchAll(d))e.test(b[0])&&c.push(b[0].trim());for(let b of a.matchAll(f))g.test(b[0])&&c.push(b[0].trim());for(let b of a.matchAll(h))c.push(b[0].trim());for(let b of a.matchAll(i))j.test(function(a,b){let c=b;for(;c>0&&!/[。;;\n]/u.test(a[c-1]);)c-=1;let d=b;for(;d<a.length&&!/[。;;\n]/u.test(a[d]);)d+=1;return a.slice(c,d)}(a,b.index??0))||c.push(b[0].trim());if(0===c.length)return[];let k=[...new Set(c)];return[{level:"error",severity:"blocker",category:"format",owner:"llm",repairability:"llm_repairable",message:`正文出现投标人身份标记 ${k.length} 处:${k.slice(0,3).map(a=>`“${a.slice(0,30)}”`).join("、")}${k.length>3?" 等":""}(招标暗标要求不得出现明示或暗示具体投标人的说明及标记,包括以往的施工业绩)`,suggestion:"删除或改写身份标记句:以往业绩/获奖表述一律删除;证书资质类表述改写为不自证身份的施工管理口径(如“按规定持证上岗”),不得保留证书编号与奖项名称。"}]}let l=/^##\s+目录\s*$([\s\S]*?)(?=\n<div class="page-break"><\/div>|\n##\s+)/mu,m=/^##\s+(第[一二三四五六七八九十百千万\d]+章)\s+(.+)$/gmu,n=/^###\s+(\d+\.\d+)\s+(.+)$/gmu,o={一:1,二:2,三:3,四:4,五:5,六:6,七:7,八:8,九:9,十:10};function p(a){let b=l.exec(a);if(!b)return{markdown:a,fixedCount:0,details:[]};let c=[...a.matchAll(m)].map(a=>({ordinal:function(a){let b=a.replace(/^第|章$/gu,"");return/^\d+$/.test(b)?Number(b):void 0!==o[b]?o[b]:2===b.length&&"十"===b[0]?10+(o[b[1]??""]??0):void 0}(a[1]||""),heading:a[1]||"",title:a[2]?.trim()||""})).filter(a=>void 0!==a.ordinal&&a.title),d=[...a.matchAll(n)].map(a=>({number:a[1]||"",major:Number((a[1]||"0").split(".")[0]),title:(a[2]||"").trim()}));if(0===c.length||0===d.length)return{markdown:a,fixedCount:0,details:[]};let e=[];for(let a of c)for(let b of(e.push(`${a.heading} ${a.title}`),d.filter(b=>b.major===a.ordinal)))e.push(` ${b.number} ${b.title}`);let f=/^\s*(?:第[一二三四五六七八九十百千万\d]+章\s+\S|\d+\.\d+\s+\S)/u,g=b[1]??"",h=0,i=-1;for(let a of g.split("\n"))f.test(a)&&(i=h+a.length),h+=a.length+1;let j=i>=0?g.slice(i):/\n+$/u.exec(g)?.[0]??"",k=`## 目录
|
|
2
|
+
|
|
3
|
+
${e.join("\n")}${j}`;return b[0]===k?{markdown:a,fixedCount:0,details:[]}:{markdown:a.slice(0,b.index)+k+a.slice(b.index+b[0].length),fixedCount:1,details:["目录按正文 H2/H3 实际结构重建"]}}},67001:(a,b,c)=>{c.d(b,{Q:()=>h});let d=a=>!!(a&&"object"==typeof a&&!Array.isArray(a)),e=(a,b)=>Object.keys(a).every(a=>b.includes(a)),f=a=>"number"==typeof a&&Number.isFinite(a)&&a>=0&&a<=1,g='合法形状:{coordinateSystem:"relative-schematic",placements:[{nodeId:"<节点id>",x:0.05,y:0.10,width:0.20,height:0.12}]};x/y/width/height 均为 0–1 相对值;连线折线由渲染器计算,不要自造 routes 字段。';function h(a,b,c){if(!d(a)||!e(a,["coordinateSystem","placements","routes"])||"relative-schematic"!==a.coordinateSystem||!Array.isArray(a.placements))throw Error("平面布置须明确相对示意坐标与全部节点位置,不能借节点边顺序冒充场地布局。"+g);if(a.placements.length!==b.length||new Set(a.placements.map(a=>a.nodeId)).size!==b.length||a.placements.some(a=>!d(a)||!e(a,["nodeId","x","y","width","height"])||!b.includes(a.nodeId)||!f(a.x)||!f(a.y)||!f(a.width)||!f(a.height)||0===a.width||0===a.height||a.x+a.width>1+1e-10||a.y+a.height>1+1e-10))throw Error("相对布置必须逐节点具有可用区域,不能缺项、越出图框或编造未知现场尺寸。"+g);for(let[b,c]of a.placements.entries())for(let d of a.placements.slice(b+1))if(c.x<d.x+d.width&&d.x<c.x+c.width&&c.y<d.y+d.height&&d.y<c.y+c.height)throw Error("平面布置的设施区域重叠,须按实际空间关系重新安排,不静默移动节点");return structuredClone(a)}},67931:(a,b,c)=>{c.d(b,{ez:()=>f,FT:()=>h});let d=JSON.parse('{"E":{"site-plan":{"requireLayout":true,"requireSchematic":true,"requireNorthArrow":true,"requireLegend":true,"requiredLabels":[{"key":"boundary","pattern":"边界|围墙|红线|用地范围"},{"key":"access","pattern":"出入口|大门|门卫|入口|出口"},{"key":"road","pattern":"道路|通道|运输|行车"},{"key":"temporary","pattern":"临设|临时设施|办公|生活|加工|仓库|库房"},{"key":"storage","pattern":"堆场|料场|材料|设备堆放|构件"},{"key":"utilities","pattern":"临水|临电|给水|排水|配电|用电|水源|电源"},{"key":"fire","pattern":"消防|防火|灭火|疏散"},{"key":"flow","pattern":"流向|人流|物流|进出|运输方向"}]},"gantt":{"requireBaseline":true,"requirePhases":true,"requireTasks":true,"requireMilestones":true,"requireDependencies":true,"requireCriticalPath":true,"requireAxis":true,"requireLegend":true},"network":{"requireBaseline":true,"requireMilestones":true,"requireDependencies":true,"requireCriticalPath":true,"requireFloat":true,"requireLegend":true},"org-chart":{"requireNodes":2,"requireEdges":1,"requireHierarchy":true,"requireLegend":true},"risk-control":{"requireNodes":2,"requireEdges":1,"requireLegend":true,"requiredGroups":[{"key":"identify","pattern":"识别|风险|危险源|隐患"},{"key":"countermeasure","pattern":"对策|措施|控制|防护"},{"key":"responsibility","pattern":"责任|岗位|责任人|班组"},{"key":"verification","pattern":"验证|验收|检查|复核|监测"}]},"process":{"requireNodes":2,"requireEdges":1,"requireDirection":true,"requireLegend":true},"generic":{"requireNodes":2,"requireEdges":1,"requireLegend":true}}}').E,e={boundary:"场地边界",access:"出入口",road:"主次道路",temporary:"临时设施",storage:"材料/设备堆场",utilities:"临水临电",fire:"消防通道/设施",flow:"人流物流方向"};function f(a){let b=String(a??"").trim();if(!b)return!1;let c=b.replace(/(?:非|不是|并非|不属于|不作|不用作|非为|不含)[^,。;,;、\n]*/gu,"");return/(?:总平面|平面布置|场地布置)/u.test(c)}function g(a,b){let c=(a.tasks??[]).some(a=>a.predecessors.length>0);return"gantt"===b?c:c||a.milestones.some(a=>a.predecessors.length>0)}function h(a,b={}){let c=function(a){if(a.planChart?.view==="schedule")return"gantt";if(a.planChart?.view==="network")return"network";if("risk-control"===a.figureSemantics)return"risk-control";if("org"===a.figureSemantics||"tree"===a.graphLayout)return"org-chart";if("process"===a.figureSemantics||"deployment"===a.figureSemantics)return"process";if(a.layout)return"site-plan";let b=a.caption??"";return/横道|甘特/u.test(b)?"gantt":/网络图/u.test(b)?"network":f(b)?"site-plan":/组织机构|组织图|汇报关系/u.test(b)?"org-chart":/危大|风险管控|重点难点管控/u.test(b)?"risk-control":/流程|工序|接口/u.test(b)?"process":"generic"}(a),i=d[c]??d.generic,j=[],k=a.nodes??[],l=a.edges??[];(a.caption??"").trim()||j.push({code:"figure-caption-missing",message:"图件必须有题注(只写主题,不写编号)"}),"site-plan"===c&&a.layout&&!/示意/u.test(a.caption??"")&&j.push({code:"figure-schematic-required",message:"相对坐标平面布置必须明确为示意,不得冒充测量比例或现场定位"}),i.requireLayout&&!a.layout&&j.push({code:"figure-layout-required",message:"施工总平面图必须给出场地边界与设施区域的相对示意布置(连线折线由渲染器计算)"}),i.requireNodes&&k.length<i.requireNodes&&j.push({code:"figure-too-sparse",message:`图件至少需要 ${i.requireNodes} 个真实节点(当前 ${k.length} 个)`}),i.requireEdges&&l.length<i.requireEdges&&j.push({code:"figure-too-sparse",message:`图件至少需要 ${i.requireEdges} 条真实关系(当前 ${l.length} 条)`});let m=`${a.caption??""}
|
|
4
|
+
${a.nodes?.map(a=>a.label).join("\n")??""}
|
|
5
|
+
${a.edges?.map(a=>a.label??"").join("\n")??""}`,n=(a.notes??[]).filter(a=>"string"==typeof a&&a.trim()),o=(a,b)=>n.some(c=>(c.includes(b)||b.split(/[/、]/u).map(a=>a.trim()).filter(Boolean).some(a=>c.includes(a))||c.toLowerCase().includes(a.toLowerCase()))&&/(?:不适用|不涉及|无此|不在|不设|无需|不表达|未涉及)/u.test(c));for(let a of i.requiredLabels??[]){let b=e[a.key]??a.key;RegExp(a.pattern,"u").test(m)||o(a.key,b)||j.push({code:"figure-contract-missing-element",element:a.key,message:`施工总平面缺少「${b}」:图内必须有该要素,或在 notes 中写明该要素在本项目不适用的具体理由`})}for(let a of i.requiredGroups??[])k.some(b=>RegExp(a.pattern,"u").test(b.group??""))||j.push({code:"figure-contract-missing-group",element:a.key,message:`危大/风险管控图缺少「${"identify"===a.key?"识别":"countermeasure"===a.key?"对策":"responsibility"===a.key?"责任岗位":"验证节点"}」分组(节点 group 必须有该语义)`});i.requireHierarchy&&"org"!==a.figureSemantics&&"tree"!==a.graphLayout&&j.push({code:"figure-hierarchy-required",message:"组织机构图必须声明组织树语义(figureSemantics=org 或 graphLayout=tree),不能用通用节点边图冒充"});let p=a.planBaseline??b.executionBaseline;return(i.requireBaseline||i.requirePhases||i.requireTasks||i.requireMilestones||i.requireDependencies||i.requireCriticalPath||i.requireFloat)&&!p&&j.push({code:"figure-baseline-required",message:"计划类图件必须由执行基准渲染;当前没有可用基准,不能手填图条或节点"}),p&&(i.requirePhases&&!p.phases.length&&j.push({code:"figure-phases-missing",message:"横道图缺少施工阶段:阶段必须来自执行基准"}),i.requireTasks&&!(p.tasks??[]).length&&j.push({code:"figure-tasks-missing",message:"横道图缺少任务级行:不能用阶段条冒充任务级横道"}),i.requireMilestones&&!p.milestones.length&&j.push({code:"figure-milestones-missing",message:"进度图缺少里程碑:里程碑必须来自执行基准"}),i.requireDependencies&&!g(p,c)&&j.push({code:"figure-dependencies-missing",message:"进度图缺少任务/里程碑依赖关系:无法计算关键线路"}),i.requireCriticalPath&&!g(p,c)&&j.push({code:"figure-critical-path-unmeasurable",message:"没有依赖关系就不能标关键线路;补齐基准前置关系或改用不含关键线路的载体"}),i.requireFloat&&!g(p,c)&&j.push({code:"figure-float-unmeasurable",message:"没有依赖关系就不能计算时差;不得标“时差 0”冒充关键线路"})),j}},69970:(a,b,c)=>{c.d(b,{Hr:()=>j,Kf:()=>h,m3:()=>l});var d=c(77598),e=c(85497),f=c(6158),g=c(45408);function h(a){return(0,f._C)(a)||(0,f.kO)(a)||(0,f.$O)(a)||!!a?.formatRules.cover||a?.documentTablePolicy==="forbidden"||a?.documentFigurePolicy==="forbidden"||a?.documentDiagramPolicy==="forbidden"||!!a?.contentPolicyScopes?.some(a=>"unresolved"===a.scope)}let i=(a,b,c)=>({level:"error",severity:"blocker",category:"format",owner:"system",message:b,provenance:{detectorId:a,fingerprint:(0,d.createHash)("sha256").update(JSON.stringify([a,c])).digest("hex")}}),j=a=>i("bid-body-unmeasured","正文图表及封面规则尚未通过实际Markdown解析核验,不能据保存的编制字段认定已满足",a),k=(a="")=>a.replace(/&#(?:x([0-9a-f]+)|([0-9]+));?/giu,(a,b,c)=>{let d=Number.parseInt(b??c,b?16:10);return d>=32&&d<=126||[9,10,12,13].includes(d)?String.fromCharCode(d):a}).replace(/	/gu," ").replace(/
/gu,"\n").split(/[\t\n\f\r ]+/u);async function l(){let a=await (0,e.c0)();return b=>{if(!h(b.spec))return[];let c=[],d=b.markdown,j=b.unrenderedDiagramCount??0,l=j;if("unit"===b.scope&&b.unitPlacement){let a=(0,g.cu)(b.unitPlacement.unit,b.unitPlacement.outputPlacements);a.issues.length&&c.push(i("bid-body-placement-unmeasured",a.issues.join(";"),b.markdown)),a.binding?.location==="technical-appendix"&&(d="",j=0)}else if("unit"!==b.scope&&b.deliveryPlacements){let a=(0,g.$H)(b.markdown,b.deliveryPlacements,b.outputPlacements?{outputPlacements:b.outputPlacements}:{});a.valid?(d=a.bodyMarkdown,j&&b.deliveryPlacements.units.every(a=>a.kind)&&(j=Math.min(j,b.deliveryPlacements.units.filter(a=>"technical-body"===a.location&&"figure"===a.kind).length)),l=Math.max(l,b.deliveryPlacements.units.filter(a=>"figure"===a.kind).length)):c.push(i("bid-body-placement-unmeasured",`正文/技术附表位置尚未通过当前全文验身:${a.issues.join(";")}`,b.markdown))}let m=0,n=a.lexer(b.markdown),o=!1,p=!1,q=!1,r=!1,s=0;for(let b of n)"space"!==b.type&&("html"!==b.type||b.text.replace(/<!--[\s\S]*?-->/gu,"").trim())&&("html"===b.type?/^<div\s+class=["']document-cover["']\s*>\s*$/iu.test(b.text)?(o=!0,p=!1,q=!r):/^<\/div>\s*$/iu.test(b.text)?(o&&p&&q&&s++,o=!1):o&&(o=!1):o&&["heading","paragraph","text"].includes(b.type)&&a.walkTokens([b],a=>{("text"===a.type||"codespan"===a.type)&&a.text.replace(/ |&#(?:160|x0*a0);/giu," ").trim()&&(p=!0)}),r=!0);a.walkTokens(n,a=>{if("html"===a.type)for(let b of(0,e.C4)(a.text))k(b.attributes.class).includes("document-cover")&&m++});let t=(c,d)=>{let f=0,g=d,h=0,i=a=>{a&&b.isVerifiedDiagram?.(a)?g++:h++};return a.walkTokens(a.lexer(c),a=>{if("table"===a.type&&f++,"image"===a.type&&i(a.href),"html"===a.type)for(let b of(0,e.C4)(a.text))"table"===b.name&&f++,"img"===b.name&&i(b.attributes.src),["svg","canvas","object","embed","image"].includes(b.name)&&h++}),{tables:f,diagrams:g,unknownGraphics:h}},{tables:u,diagrams:v,unknownGraphics:w}=t(d,j),x=t(b.markdown,l);for(let a of b.spec?.contentPolicyScopes??[])"unresolved"===a.scope&&("table"===a.kind?x.tables>0:"image"===a.kind?x.unknownGraphics>0:x.diagrams>0||x.unknownGraphics>0)&&c.push(i("bid-content-policy-scope-unresolved",`载体限制的作用域待独立核定,当前采用了对应载体,不能用附表位置自动豁免:${a.quote}`,b.markdown));return b.spec?.documentTablePolicy==="forbidden"&&x.tables&&c.push(i("bid-document-table",`全稿禁表:实际全文(含技术附表)含${x.tables}处表格;须按明确原条款修订`,b.markdown)),b.spec?.documentDiagramPolicy==="forbidden"&&x.diagrams&&c.push(i("bid-document-diagram",`全稿禁示意图/框图:实际全文(含技术附表)采用${x.diagrams}处原生图件`,b.markdown)),b.spec?.documentFigurePolicy==="forbidden"&&x.unknownGraphics?c.push(i("bid-document-image",`全稿禁图片:实际全文(含技术附表)含${x.unknownGraphics}处图形引用`,b.markdown)):b.spec?.documentDiagramPolicy==="forbidden"&&x.unknownGraphics&&c.push(i("bid-document-graphic-unmeasured",`全稿禁示意图/框图:实际全文${x.unknownGraphics}处图形性质尚未核定`,b.markdown)),"unit"!==b.scope&&b.spec?.formatRules.cover==="required"&&(1!==s||1!==m)&&c.push(i(m?"bid-cover-unmeasured":"bid-cover-required",m?"必需封面尚未证实采用:实际封面块为空、未闭合、重复、位于目录/正文之后或不属于现有Word/HTML共同支持的多行div包装;原字保留,不能用类名/字段代替完整封面":"必需封面缺失:实际整稿没有已采用的产品封面块;普通标题、代码示例或保存的编制字段不能代替封面",b.markdown)),b.spec?.formatRules.cover==="forbidden"&&m&&c.push(i("bid-cover-forbidden",`冻结规则禁止内封面:实际正文含${m}处产品封面块;保留原文,须修订后重新核验,普通标题不授封面身份`,b.markdown)),(0,f._C)(b.spec)&&u&&c.push(i("bid-body-table",`正文禁表:实际正文含${u}处表格语法;标题或“附表”字样不能代替独立附表归属`,b.markdown)),(0,f.$O)(b.spec)&&v&&c.push(i("bid-body-diagram",`正文禁示意图/框图:实际正文采用${v}处已绑定原生图件`,b.markdown)),w&&(0,f.kO)(b.spec)?c.push(i("bid-body-image",`正文禁图片:实际正文含${w}处未获原生图件验身的图形引用;不能凭扩展名或声明豁免`,b.markdown)):w&&(0,f.$O)(b.spec)&&c.push(i("bid-body-graphic-unmeasured",`正文禁示意图/框图:${w}处图形引用的实际性质尚未核定,不能作为纯图片豁免`,b.markdown)),c}}},78936:(a,b,c)=>{c.d(b,{P:()=>h,y:()=>i});var d=c(77598),e=c(21957),f=c(92736),g=c(42170);function h(a,b){let c=b.resolutionRef?.winnerSourceFile??b.sourceFile,d=b.resolutionRef?.winnerSourceRef??b.sourceRef;if(!Object.hasOwn(a.sources,c)||d?.chunkIndex===void 0)return;let g=a.sourceControls?.find(a=>"verified-source-excerpt"===a.roleId&&a.sourceFile===c&&a.sourceRef?.chunkIndex===d.chunkIndex);return g&&(!d.sourceSpan||(0,f.dP)((0,e.wj)(g.value),(0,e.wj)(d.sourceSpan)))?g.factId:void 0}function i(a){return a.filter(a=>a.content.trim()).map(a=>{let b=`source-excerpt:${(0,d.createHash)("sha256").update(JSON.stringify([a.filePath,a.chunkIndex,a.content])).digest("hex").slice(0,24)}`;return{factId:b,fieldId:b,key:"冻结原文片段",fieldName:"冻结原文片段",value:a.content,sourceFile:a.filePath,roleId:"verified-source-excerpt",processingType:a.processingType,confidence:.9,sourceSemantics:(0,g.Q)(a.roleId,a.processingType),sourceRef:{filePath:a.filePath,roleId:"verified-source-excerpt",sectionTitle:a.sectionTitle,chunkIndex:a.chunkIndex}}})}},85497:(a,b,c)=>{async function d(a){let{Marked:b}=await Promise.resolve().then(c.bind(c,83142));return new b({async:!1,gfm:!0,breaks:!0,...a?{renderer:a}:{},tokenizer:{del(a){if(a.startsWith("~~"))return!1}}})}function e(a){let b=a=>" ".repeat(a.length),c=a.replace(/<!--[\s\S]*?-->/gu,b).replace(/<(script|style|textarea)\b[^>]*>[\s\S]*?<\/\1\s*>/giu,b),d=[];for(let b of c.matchAll(/<([a-z][a-z0-9:-]*)\b((?:[^"'>]|"[^"]*"|'[^']*')*)>/giu)){let c,e=Object.create(null);for(let a of b[2].matchAll(/([^\s"'<>/=]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+)))?/gu)){let d=a[1].toLowerCase();if(Object.hasOwn(e,d))continue;e[d]=a[2]??a[3]??a[4]??"";let f=1+b[1].length+(a.index??0);"src"===d&&(c={start:f,end:f+a[0].length})}let f=b.index??0,g=f+b[0].length;d.push({name:b[1].toLowerCase(),attributes:e,raw:a.slice(f,g),start:f,end:g,...c?{sourceAttribute:c}:{}})}return d}function f(a,b){if(!a.sourceAttribute)return a.raw;let c=b.replace(/&/gu,"&").replace(/"/gu,""");return a.raw.slice(0,a.sourceAttribute.start)+`src="${c}"`+a.raw.slice(a.sourceAttribute.end)}function g(a,b){let c="",d=0;for(let f of e(a)){if("img"!==f.name||!f.sourceAttribute)continue;let e=b(f);void 0!==e&&(c+=a.slice(d,f.start)+e,d=f.end)}return c+a.slice(d)}c.d(b,{C4:()=>e,DN:()=>g,c0:()=>d,ht:()=>f})},89900:(a,b,c)=>{c.d(b,{LI:()=>j,kq:()=>h,n7:()=>k,vZ:()=>l});var d=c(76760),e=c(73024);let f="win32"===process.platform;function g(a){return String(a??"").replace(/\\/gu,"/").replace(/^\/+/u,"").replace(/\/+/gu,"/")}function h(a,b){let c=d.relative(d.resolve(b),d.resolve(a));return!c||!(c.startsWith("..")||d.isAbsolute(c))}function i(a,b){return f?h(a.toLowerCase(),b.toLowerCase()):h(a,b)}function j(a,b,c={}){let f=function(a){let b=String(a??"");if(b.includes("\0"))return"nul_byte";if(/^(?:[A-Za-z]:[\\/]|[\\/]{1,2})/u.test(b))return"absolute";let c=g(b);if(!c||"."===c)return"empty";if(c.length>1e3)return"path_too_long";let d=c.split("/");return d.some(a=>!a)?"empty_segment":d.some(a=>".."===a)?"parent_segment":d.some(a=>a.length>255)?"segment_too_long":null}(b);if(f)return{ok:!1,reason:f};let h=g(b),k=d.resolve(a,h);if(!i(k,a))return{ok:!1,reason:"escapes_root"};try{let b=e.realpathSync(k),c=e.realpathSync(d.resolve(a));if(!i(b,c))return{ok:!1,reason:"escapes_root"}}catch{}return c.mustExist&&!e.existsSync(k)||c.requireFile&&e.existsSync(k)&&!e.statSync(k).isFile()?{ok:!1,reason:"empty"}:{ok:!0,relative:h,absolute:k}}function k(a,b,c={}){let f=String(a??"");if(!f||f.includes("\0"))return{ok:!1,reason:f.includes("\0")?"nul_byte":"empty"};let g=d.resolve(f),h=b.map(a=>d.resolve(a)).filter(Boolean);if(0===h.length)return{ok:!1,reason:"escapes_root"};let j=null;try{j=e.realpathSync(g)}catch{j=null}return h.some(a=>{let b;if(!i(g,a))return!1;if(null===j)return!0;try{b=e.realpathSync(a)}catch{return!0}return i(j,b)})?c.mustExist&&!e.existsSync(g)||c.requireFile&&e.existsSync(g)&&!e.statSync(g).isFile()?{ok:!1,reason:"empty"}:{ok:!0,relative:d.relative(h[0],g),absolute:g}:{ok:!1,reason:"escapes_root"}}function l(a){return({empty:"路径为空或不存在",nul_byte:"路径包含非法字符",absolute:"路径为绝对路径,只接受项目内相对路径",parent_segment:"路径包含上级目录引用(..)",empty_segment:"路径包含空目录段",segment_too_long:"路径中包含过长的名称",path_too_long:"路径过长",escapes_root:"路径不在允许的根目录范围内"})[a]||"路径不合法"}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=9559,exports.ids=[9559],exports.modules={39559:(a,b,c)=>{c.d(b,{bindIndependentDeliveryPages:()=>j});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(77598);c(95393),c(8176),c(98943),c(19898),c(88194),c(56766);let i=a=>(0,h.createHash)("sha256").update(a).digest("hex");function j(a,b,c){if(!c.trim()||b.some(a=>a.reviewer!==c||!a.notes?.length||a.notes.some(a=>"string"!=typeof a||!a.trim())||!["passed","issues"].includes(a.status)))throw Error("独立逐页意见须有实际审查者及每页具体说明");let d=b.map(a=>a.format+":"+a.page);if(new Set(d).size!==d.length)throw Error("逐页意见不能重复身份");let f=0;for(let c of a.files){if(i(e().readFileSync(c.path))!==c.sha256)throw Error("导出文件已变化,不能复用旧页面意见");let d=JSON.parse(e().readFileSync(g().join(g().dirname(c.auditPath),c.format+"-manifest.json"),"utf8")),h=e().readFileSync(c.auditPath);if(d.bodySha256!==a.bodySha256||d.runId!==a.runId||d.auditSha256!==i(h))throw Error("页面审计与同稿身份不符");let j=JSON.parse(h.toString("utf8"));if(j.pages.length!==c.pageCount)throw Error("实际页面数已变化");for(let a of j.pages){f++;let d=b.find(b=>b.format===c.format&&b.page===a.page);if(!d||d.imageSha256!==a.imageSha256||i(e().readFileSync(a.imagePath))!==a.imageSha256)throw Error("独立逐页意见缺页或像素身份不符")}}if(f!==b.length||2!==a.files.length||!a.files.some(a=>"docx"===a.format)||!a.files.some(a=>"pdf"===a.format))throw Error("独立意见必须分别覆盖同稿Word和PDF全部实际页面");let h=[...a.problems,...b.filter(a=>"issues"===a.status).flatMap(a=>a.notes.map(b=>`${a.format}第${a.page}页:${b}`))];return{...a,status:h.length?"issues":"passed",problems:[...new Set(h)],visualFindings:b}}},56766:(a,b,c)=>{c.d(b,{Dx:()=>t,GA:()=>s,kN:()=>r});var d=c(19898),e=c(31421),f=c(73024),g=c.n(f),h=c(48161),i=c.n(h),j=c(76760),k=c.n(j),l=c(73136),m=c(57975),n=c(88194),o=c.n(n);let p=(0,m.promisify)(e.execFile);async function q(a,b=!1,c=!1){let e;if(a.length)try{if(e=await (0,d.loadPdfDocument)(a),!Number.isInteger(e.pageCount)||e.pageCount<=0)return;let f=[];if(b)for(let a=0;a<e.pageCount;a+=1){let b=await e.getPage(a);try{f.push(await b.getText())}finally{await b.close()}}let g=new Map,h=a=>{for(let b of a)void 0!==b.page&&Number.isInteger(b.page)&&b.page>0&&b.page<=e.pageCount&&g.set(b.title,[...g.get(b.title)??[],b.page]),b.children.length&&h(b.children)};return c&&h(await e.getOutline()),{pages:e.pageCount,text:f.join(""),...c?{headingPages:Object.fromEntries([...g].filter(([,a])=>1===a.length).map(([a,b])=>[a,b[0]]))}:{}}}catch{return}finally{await e?.close()}}async function r(a){return(await q(a))?.pages}async function s(a){return(await q(a,!1,!0))?.headingPages}async function t(a,b={}){let c,d,e;if(!a||0===a.length)return{unavailableReason:"docx 为空"};try{let b=await o().loadAsync(a),d=await b.file("word/document.xml")?.async("string");if(!d)throw Error("正文缺席");c=[...d.matchAll(/<w:t(?:\s[^>]*)?>([\s\S]*?)<\/w:t>/gu)].map(a=>a[1]).join("")}catch{return{unavailableReason:"DOCX正文无法解析,不能验证真实渲染页数"}}let f=async a=>{let e=await q(a,!0,!0);if(!e)return;let f=function(a,b){let c=new Map,d=new Map;for(let b of a.match(/\p{Script=Han}/gu)??[])c.set(b,(c.get(b)??0)+1);let e=[...c.values()].reduce((a,b)=>a+b,0);if(e<20)return null;for(let a of b.match(/\p{Script=Han}/gu)??[])d.set(a,(d.get(a)??0)+1);return[...c].reduce((a,[b,c])=>a+Math.min(c,d.get(b)??0),0)/e}(c,e.text);if(null!==f&&f<.98)throw Error(`中文文字渲染未保留(覆盖率${(100*f).toFixed(1)}%),请核查渲染器中文字体;不能将缺字版式计为合格页数`);return d=e.headingPages,await b.onRenderedPdf?.(a),e.pages},h=g().mkdtempSync(k().join(i().tmpdir(),"real-pages-")),j={...process.env};if("darwin"===process.platform&&!j.FONTCONFIG_FILE){let a=["/System/Library/Fonts","/System/Library/Fonts/Supplemental","/Library/Fonts"].filter(a=>g().existsSync(a));if(a.length){let b=k().join(h,"fonts.conf"),c=a=>a.replace(/&/gu,"&").replace(/</gu,"<").replace(/>/gu,">");g().writeFileSync(b,`<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd"><fontconfig>${a.map(a=>`<dir>${c(a)}</dir>`).join("")}<cachedir>${c(k().join(h,"font-cache"))}</cachedir><alias><family>SimSun</family><prefer><family>Songti SC</family></prefer></alias><alias><family>宋体</family><prefer><family>Songti SC</family></prefer></alias></fontconfig>`),j.FONTCONFIG_FILE=b}}let m=k().join(h,"document.docx");g().writeFileSync(m,a);try{for(let a of function(){let a=[],b=process.env.CUSTOMIZE_DOCX_RENDERER;if(b){let c=g().existsSync(b.trim())?[b.trim()]:b.trim().split(/\s+/u);a.push({name:`env:${c[0]}`,command:c[0],args:c.slice(1)})}for(let b of["soffice","libreoffice"])a.push({name:b,command:b,args:[]});return a}()){let c,i=k().join(h,`out-${a.name.replace(/[^\w.-]/gu,"_")}`);g().mkdirSync(i,{recursive:!0});let n=a=>a.replace(/\{in\}/gu,m).replace(/\{out\}/gu,i).replace(/\{outfile\}/gu,k().join(i,"document.pdf")),o=a.args.length>0?a.args.map(n):[`-env:UserInstallation=${(0,l.pathToFileURL)(k().join(i,"profile")).href}`,"--headless","--convert-to","pdf","--outdir",i,m];try{await p(a.command,o,{timeout:b.timeoutMs??12e4,env:j})}catch(c){let b=c.code;if("ENOENT"===b)continue;e=`${a.name}:${c instanceof Error?c.message.split("\n")[0]:String(c)}`;continue}let q=k().join(i,"document.pdf");if(!g().existsSync(q)){let b,c=g().readdirSync(i).filter(a=>a.toLowerCase().endsWith(".pdf"));if(0===c.length){e=`${a.name}没有产生PDF`;continue}try{b=1===c.length?await f(g().readFileSync(k().join(i,c[0]))):void 0}catch(a){e=a instanceof Error?a.message:String(a);continue}if(void 0!==b)return{pages:b,renderer:a.name,headingPages:d};e=c.length>1?`${a.name}产生多个PDF,无法确认对应文档`:`${a.name}的PDF页树解析失败`;continue}try{c=await f(g().readFileSync(q))}catch(a){e=a instanceof Error?a.message:String(a);continue}if(void 0!==c)return{pages:c,renderer:a.name,headingPages:d};e=`${a.name}的PDF页树解析失败`}return{unavailableReason:e?`渲染器失败(${e})`:"未配置外部渲染器(CUSTOMIZE_DOCX_RENDERER 或 PATH 中的 soffice/libreoffice)——真页数待真渲染"}}finally{g().rmSync(h,{recursive:!0,force:!0})}}}};
|