@mindflight/mindbrain-personal-studio 0.6.2 → 0.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/README.md +16 -8
  2. package/build/client/_app/immutable/chunks/{D0UIlUGZ.js → BjfgiHck.js} +1 -1
  3. package/build/client/_app/immutable/chunks/BjfgiHck.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/BjfgiHck.js.gz +0 -0
  5. package/build/client/_app/immutable/entry/{app.CR-imLox.js → app.XgS1PoV0.js} +2 -2
  6. package/build/client/_app/immutable/entry/app.XgS1PoV0.js.br +0 -0
  7. package/build/client/_app/immutable/entry/app.XgS1PoV0.js.gz +0 -0
  8. package/build/client/_app/immutable/entry/start.Dtz8dQFZ.js +1 -0
  9. package/build/client/_app/immutable/entry/start.Dtz8dQFZ.js.br +2 -0
  10. package/build/client/_app/immutable/entry/start.Dtz8dQFZ.js.gz +0 -0
  11. package/build/client/_app/immutable/nodes/{1.CTEedoSY.js → 1.Cs3BmvHO.js} +1 -1
  12. package/build/client/_app/immutable/nodes/1.Cs3BmvHO.js.br +3 -0
  13. package/build/client/_app/immutable/nodes/1.Cs3BmvHO.js.gz +0 -0
  14. package/build/client/_app/version.json +1 -1
  15. package/build/client/_app/version.json.br +0 -0
  16. package/build/client/_app/version.json.gz +0 -0
  17. package/build/handler.js +4 -4
  18. package/build/index.js +4 -4
  19. package/build/server/chunks/chunks/{internal.js-WOmQXGMa.js → internal.js-BnebQ91H.js} +2 -2
  20. package/build/server/chunks/chunks/{internal.js-WOmQXGMa.js.map → internal.js-BnebQ91H.js.map} +1 -1
  21. package/build/server/chunks/{handler-BIDedSZq.js → handler-B8M0DnFi.js} +3 -3
  22. package/build/server/chunks/{handler-BIDedSZq.js.map → handler-B8M0DnFi.js.map} +1 -1
  23. package/build/server/chunks/{index.js-YVPJa0so.js → index.js-qz9YZN7m.js} +2 -2
  24. package/build/server/chunks/{index.js-YVPJa0so.js.map → index.js-qz9YZN7m.js.map} +1 -1
  25. package/build/server/chunks/{manifest.js-aGRKuiqF.js → manifest.js-BxEwHoCX.js} +3 -3
  26. package/build/server/chunks/{manifest.js-aGRKuiqF.js.map → manifest.js-BxEwHoCX.js.map} +1 -1
  27. package/build/server/chunks/nodes/{1.js-Dhh3ErZY.js → 1.js-D3KAPgsF.js} +2 -2
  28. package/build/server/chunks/nodes/{1.js-Dhh3ErZY.js.map → 1.js-D3KAPgsF.js.map} +1 -1
  29. package/examples/immeuble/ACCEPTANCE.yaml +82 -0
  30. package/examples/immeuble/BIM_LITE.md +15 -0
  31. package/examples/immeuble/CHECKLIST.md +128 -0
  32. package/examples/immeuble/README.md +121 -0
  33. package/examples/immeuble/bundle/immeuble.bundle.json +22786 -0
  34. package/examples/immeuble/contracts/answer_artifacts.seed.jsonl +34 -0
  35. package/examples/immeuble/contracts/business_capabilities.seed.jsonl +25 -0
  36. package/examples/immeuble/contracts/consumer_contract.yaml +131 -0
  37. package/examples/immeuble/contracts/immeuble_structured_import_model.json +310 -0
  38. package/examples/immeuble/contracts/mapping_external_to_canonical.json +375 -0
  39. package/examples/immeuble/contracts/mapping_external_to_canonical.yaml +55 -0
  40. package/examples/immeuble/contracts/mapping_external_to_canonical_ws.json +65 -0
  41. package/examples/immeuble/contracts/model_contract.json +943 -0
  42. package/examples/immeuble/contracts/projection_catalog.yaml +366 -0
  43. package/examples/immeuble/contracts/scenarios.yaml +27 -0
  44. package/examples/immeuble/contracts/semantic_proposal.golden.json +1 -0
  45. package/examples/immeuble/contracts/source_profile.yaml +38 -0
  46. package/examples/immeuble/fake_data/DeltaFinding.csv +20 -0
  47. package/examples/immeuble/fake_data/ProjectionResult.csv +13 -0
  48. package/examples/immeuble/fake_data/ag_meeting.csv +4 -0
  49. package/examples/immeuble/fake_data/agenda_item.csv +4 -0
  50. package/examples/immeuble/fake_data/architect.csv +3 -0
  51. package/examples/immeuble/fake_data/architecture_firm.csv +2 -0
  52. package/examples/immeuble/fake_data/bank_account.csv +3 -0
  53. package/examples/immeuble/fake_data/billing_group.csv +41 -0
  54. package/examples/immeuble/fake_data/block.csv +10 -0
  55. package/examples/immeuble/fake_data/budget_line.csv +3 -0
  56. package/examples/immeuble/fake_data/building.csv +6 -0
  57. package/examples/immeuble/fake_data/cellar.csv +41 -0
  58. package/examples/immeuble/fake_data/change_order.csv +2 -0
  59. package/examples/immeuble/fake_data/charge_call.csv +58 -0
  60. package/examples/immeuble/fake_data/claim.csv +4 -0
  61. package/examples/immeuble/fake_data/coda_entry.csv +49 -0
  62. package/examples/immeuble/fake_data/compliance_certificate.csv +10 -0
  63. package/examples/immeuble/fake_data/contractor.csv +4 -0
  64. package/examples/immeuble/fake_data/decision.csv +5 -0
  65. package/examples/immeuble/fake_data/defect_reserve.csv +3 -0
  66. package/examples/immeuble/fake_data/household.csv +41 -0
  67. package/examples/immeuble/fake_data/inspection.csv +3 -0
  68. package/examples/immeuble/fake_data/insurance_policy.csv +4 -0
  69. package/examples/immeuble/fake_data/intervention.csv +13 -0
  70. package/examples/immeuble/fake_data/invoice.csv +3 -0
  71. package/examples/immeuble/fake_data/lease_contract.csv +12 -0
  72. package/examples/immeuble/fake_data/maintenance_ticket.csv +13 -0
  73. package/examples/immeuble/fake_data/meter.csv +4 -0
  74. package/examples/immeuble/fake_data/meter_reading.csv +19 -0
  75. package/examples/immeuble/fake_data/milestone.csv +3 -0
  76. package/examples/immeuble/fake_data/organization.csv +12 -0
  77. package/examples/immeuble/fake_data/parking_space.csv +8 -0
  78. package/examples/immeuble/fake_data/permit.csv +3 -0
  79. package/examples/immeuble/fake_data/person.csv +85 -0
  80. package/examples/immeuble/fake_data/private_garden.csv +7 -0
  81. package/examples/immeuble/fake_data/progress_event.csv +2 -0
  82. package/examples/immeuble/fake_data/quote.csv +3 -0
  83. package/examples/immeuble/fake_data/receipt.csv +2 -0
  84. package/examples/immeuble/fake_data/reminder.csv +11 -0
  85. package/examples/immeuble/fake_data/service_contract.csv +4 -0
  86. package/examples/immeuble/fake_data/shared_equipment.csv +8 -0
  87. package/examples/immeuble/fake_data/shared_space.csv +10 -0
  88. package/examples/immeuble/fake_data/unit.csv +41 -0
  89. package/examples/immeuble/fake_data/work_package.csv +4 -0
  90. package/examples/immeuble/fake_data/worksite_project.csv +3 -0
  91. package/examples/immeuble/gap-rules/L0-patrimoine.json +57 -0
  92. package/examples/immeuble/gap-rules/L1-syndic-naive.json +36 -0
  93. package/examples/immeuble/gap-rules/L1-syndic.json +61 -0
  94. package/examples/immeuble/gap-rules/L2-chantier.json +87 -0
  95. package/examples/immeuble/gap-rules/L2-exploitation.json +87 -0
  96. package/examples/immeuble/gap-rules/L2-finance.json +48 -0
  97. package/examples/immeuble/gap-rules/L2-maintenance.json +107 -0
  98. package/examples/immeuble/gap-rules/L2-syndic-filtered.json +39 -0
  99. package/examples/immeuble/gap-rules/L3-full.json +332 -0
  100. package/examples/immeuble/gap-rules/closed-world-contract.md +76 -0
  101. package/examples/immeuble/gap-rules/demo.json +51 -0
  102. package/examples/immeuble/gap-rules/expected-findings.yaml +100 -0
  103. package/examples/immeuble/gap-rules/gap-scenarios.yaml +79 -0
  104. package/examples/immeuble/gap-rules/motifs.json +38 -0
  105. package/examples/immeuble/gap-rules/syndic.json +40 -0
  106. package/examples/immeuble/import_manifest.yaml +25 -0
  107. package/examples/immeuble/import_ready/graph_edges_import.csv +848 -0
  108. package/examples/immeuble/import_ready/mfo_facets_import.csv +559 -0
  109. package/examples/immeuble/index.md +140 -0
  110. package/examples/immeuble/model/immeuble_model.json +418 -0
  111. package/examples/immeuble/reports/01-model.validation.json +56 -0
  112. package/examples/immeuble/reports/02-mapping.validation.json +9 -0
  113. package/examples/immeuble/reports/acceptance.validation.json +161 -0
  114. package/examples/immeuble/reports/consumer_contract.validation.json +162 -0
  115. package/examples/immeuble/reports/graph_edges.jsonl +847 -0
  116. package/examples/immeuble/reports/graph_nodes.jsonl +558 -0
  117. package/examples/immeuble/reports/hybrid-compare.json +144 -0
  118. package/examples/immeuble/reports/immeuble-import-scenario.json +233 -0
  119. package/examples/immeuble/reports/live-artifacts-refresh.validation.json +51 -0
  120. package/examples/immeuble/reports/pipeline_audit.json +59 -0
  121. package/examples/immeuble/reports/projection_audit.json +69 -0
  122. package/examples/immeuble/reports/projection_audit_immeuble.json +257 -0
  123. package/examples/immeuble/reports/projection_audit_immeuble.md +122 -0
  124. package/examples/immeuble/reports/projection_candidates.json +1596 -0
  125. package/examples/immeuble/reports/projection_candidates.md +117 -0
  126. package/examples/immeuble/reports/projection_model_validation.md +115 -0
  127. package/examples/immeuble/reports/reindex.json +4 -0
  128. package/examples/immeuble/reports/reset-immeuble-workspace.json +32 -0
  129. package/examples/immeuble/reports/schema-id-prefix-check.json +5 -0
  130. package/examples/immeuble/scripts/audit-immeuble-projections.mjs +254 -0
  131. package/examples/immeuble/scripts/build-immeuble-model.mjs +308 -0
  132. package/examples/immeuble/scripts/compare-immeuble-snapshots.sh +227 -0
  133. package/examples/immeuble/scripts/enrich-immeuble-demo.mjs +1135 -0
  134. package/examples/immeuble/scripts/reset-immeuble-workspace.mjs +139 -0
  135. package/examples/immeuble/scripts/run-immeuble-backend.sh +164 -0
  136. package/examples/immeuble/scripts/run-immeuble-import.mjs +232 -0
  137. package/examples/immeuble/scripts/run-immeuble-live-lab.sh +439 -0
  138. package/examples/immeuble/scripts/seed-immeuble-gap-rules.mjs +103 -0
  139. package/examples/immeuble/scripts/start-immeuble-demo.sh +52 -0
  140. package/examples/immeuble/scripts/starterkit/analysis-lenses.mjs +181 -0
  141. package/examples/immeuble/scripts/starterkit/analyze-projection-candidates.mjs +714 -0
  142. package/examples/immeuble/scripts/starterkit/audit-ghostcrab-projections.mjs +674 -0
  143. package/examples/immeuble/scripts/starterkit/facet-prefix.mjs +166 -0
  144. package/examples/immeuble/scripts/starterkit/sqlite-utils.mjs +131 -0
  145. package/examples/immeuble/scripts/verify-immeuble-acceptance.mjs +284 -0
  146. package/examples/immeuble/scripts/verify-immeuble-live-artifacts.mjs +140 -0
  147. package/examples/immeuble/scripts/yaml-lite.mjs +96 -0
  148. package/examples/immeuble/sources/agent-prompts/prompts/00-prerequisites-immo-mcp.md +161 -0
  149. package/examples/immeuble/sources/agent-prompts/prompts/00-prerequisites.md +39 -0
  150. package/examples/immeuble/sources/agent-prompts/prompts/01-discovery-and-model-proposal.md +42 -0
  151. package/examples/immeuble/sources/agent-prompts/prompts/02-ontology-register.md +44 -0
  152. package/examples/immeuble/sources/agent-prompts/prompts/03-gap-rules-design.md +44 -0
  153. package/examples/immeuble/sources/agent-prompts/prompts/04-document-ingest.md +40 -0
  154. package/examples/immeuble/sources/agent-prompts/prompts/05-graph-extraction.md +44 -0
  155. package/examples/immeuble/sources/agent-prompts/prompts/06-validate-and-compare-immo-mcp.md +109 -0
  156. package/examples/immeuble/sources/agent-prompts/prompts/06-validate-and-compare-test-immo-mcp3.md +30 -0
  157. package/examples/immeuble/sources/agent-prompts/prompts/06-validate-and-compare.md +63 -0
  158. package/examples/immeuble/sources/checklists/gap-rules-checklist.md +42 -0
  159. package/examples/immeuble/sources/checklists/ontology-checklist.md +54 -0
  160. package/examples/immeuble/sources/documents/README.md +42 -0
  161. package/examples/immeuble/sources/documents/annexes-caves-garages-jardins.md +8 -0
  162. package/examples/immeuble/sources/documents/annexes-jardins-garages.md +1 -0
  163. package/examples/immeuble/sources/documents/baux-erables.md +1 -0
  164. package/examples/immeuble/sources/documents/baux-locatifs.md +11 -0
  165. package/examples/immeuble/sources/documents/coda-janvier-2026.md +10 -0
  166. package/examples/immeuble/sources/documents/composition-menages.md +1 -0
  167. package/examples/immeuble/sources/documents/composition-occupants.md +18 -0
  168. package/examples/immeuble/sources/documents/expected-coverage.json +70 -0
  169. package/examples/immeuble/sources/documents/extrait-coda-janvier-2026.md +1 -0
  170. package/examples/immeuble/sources/documents/groupes-facturation.md +30 -0
  171. package/examples/immeuble/sources/documents/manifest.json +79 -0
  172. package/examples/immeuble/sources/documents/note-architecte-chantier-erables.md +3 -0
  173. package/examples/immeuble/sources/documents/permis-urbanisme-erables.md +3 -0
  174. package/examples/immeuble/sources/documents/procedures-operationnelles.md +3 -0
  175. package/examples/immeuble/sources/documents/pv-ag-budget-2026.md +1 -0
  176. package/examples/immeuble/sources/documents/pv-reception-reserves-erables.md +3 -0
  177. package/examples/immeuble/sources/documents/registre-coproprietaires.md +24 -0
  178. package/examples/immeuble/sources/documents/reglement-copropriete-tilleuls.md +1 -0
  179. package/examples/immeuble/sources/documents/statuts-erables.md +22 -0
  180. package/examples/immeuble/sources/documents/statuts-tilleuls.md +19 -0
  181. package/examples/immeuble/sources/documents/succession-jean-dupont.md +3 -0
  182. package/examples/immeuble/sources/documents/titre-propriete-tilleuls-a3.md +1 -0
  183. package/examples/immeuble/sources/documents/trous-pedagogiques.md +3 -0
  184. package/examples/immeuble/sources/ontology/README.md +1 -0
  185. package/examples/immeuble/sources/ontology/core.yaml +444 -0
  186. package/examples/immeuble/success-criteria.yaml +35 -0
  187. package/fixtures/immeuble-demo.sqlite +0 -0
  188. package/package.json +11 -2
  189. package/scripts/lib/sqlite-runtime.mjs +1 -1
  190. package/scripts/load-immeuble-demo.sh +179 -0
  191. package/scripts/seed-immeuble-projections.mjs +75 -148
  192. package/scripts/verify-immeuble-demo-sources.mjs +93 -0
  193. package/scripts/verify-immeuble-demo.mjs +69 -0
  194. package/build/client/_app/immutable/chunks/D0UIlUGZ.js.br +0 -0
  195. package/build/client/_app/immutable/chunks/D0UIlUGZ.js.gz +0 -0
  196. package/build/client/_app/immutable/entry/app.CR-imLox.js.br +0 -0
  197. package/build/client/_app/immutable/entry/app.CR-imLox.js.gz +0 -0
  198. package/build/client/_app/immutable/entry/start.DV-AjeAB.js +0 -1
  199. package/build/client/_app/immutable/entry/start.DV-AjeAB.js.br +0 -2
  200. package/build/client/_app/immutable/entry/start.DV-AjeAB.js.gz +0 -0
  201. package/build/client/_app/immutable/nodes/1.CTEedoSY.js.br +0 -0
  202. package/build/client/_app/immutable/nodes/1.CTEedoSY.js.gz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"handler-BIDedSZq.js","sources":["../../../.svelte-kit/adapter-node/entries/chunks/vendor.js","../../../node_modules/.pnpm/set-cookie-parser@3.1.0/node_modules/set-cookie-parser/lib/set-cookie.js","../../../node_modules/.pnpm/@sveltejs+kit@2.56.1_@sveltejs+vite-plugin-svelte@6.2.4_svelte@5.55.1_vite@7.3.1_@types_b6128aca79733c4841488f96218eb217/node_modules/@sveltejs/kit/src/exports/node/index.js","../../../.svelte-kit/adapter-node/entries/utils.js","../../../.svelte-kit/adapter-node/entries/handler.js"],"sourcesContent":["import * as fs from 'node:fs';\nimport { readdirSync, statSync } from 'node:fs';\nimport { resolve, join, sep, normalize } from 'node:path';\nimport http from 'node:http';\nimport { setImmediate } from 'node:timers';\nimport * as qs from 'node:querystring';\n\nfunction totalist(dir, callback, pre='') {\n\tdir = resolve('.', dir);\n\tlet arr = readdirSync(dir);\n\tlet i=0, abs, stats;\n\tfor (; i < arr.length; i++) {\n\t\tabs = join(dir, arr[i]);\n\t\tstats = statSync(abs);\n\t\tstats.isDirectory()\n\t\t\t? totalist(abs, callback, join(pre, arr[i]))\n\t\t\t: callback(join(pre, arr[i]), abs, stats);\n\t}\n}\n\n/**\n * @typedef ParsedURL\n * @type {import('.').ParsedURL}\n */\n\n/**\n * @typedef Request\n * @property {string} url\n * @property {ParsedURL} _parsedUrl\n */\n\n/**\n * @param {Request} req\n * @returns {ParsedURL|void}\n */\nfunction parse$1(req) {\n\tlet raw = req.url;\n\tif (raw == null) return;\n\n\tlet prev = req._parsedUrl;\n\tif (prev && prev.raw === raw) return prev;\n\n\tlet pathname=raw, search='', query;\n\n\tif (raw.length > 1) {\n\t\tlet idx = raw.indexOf('?', 1);\n\n\t\tif (idx !== -1) {\n\t\t\tsearch = raw.substring(idx);\n\t\t\tpathname = raw.substring(0, idx);\n\t\t\tif (search.length > 1) {\n\t\t\t\tquery = qs.parse(search.substring(1));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn req._parsedUrl = { pathname, search, query, raw };\n}\n\nconst mimes = {\n \"3g2\": \"video/3gpp2\",\n \"3gp\": \"video/3gpp\",\n \"3gpp\": \"video/3gpp\",\n \"3mf\": \"model/3mf\",\n \"aac\": \"audio/aac\",\n \"ac\": \"application/pkix-attr-cert\",\n \"adp\": \"audio/adpcm\",\n \"adts\": \"audio/aac\",\n \"ai\": \"application/postscript\",\n \"aml\": \"application/automationml-aml+xml\",\n \"amlx\": \"application/automationml-amlx+zip\",\n \"amr\": \"audio/amr\",\n \"apng\": \"image/apng\",\n \"appcache\": \"text/cache-manifest\",\n \"appinstaller\": \"application/appinstaller\",\n \"appx\": \"application/appx\",\n \"appxbundle\": \"application/appxbundle\",\n \"asc\": \"application/pgp-keys\",\n \"atom\": \"application/atom+xml\",\n \"atomcat\": \"application/atomcat+xml\",\n \"atomdeleted\": \"application/atomdeleted+xml\",\n \"atomsvc\": \"application/atomsvc+xml\",\n \"au\": \"audio/basic\",\n \"avci\": \"image/avci\",\n \"avcs\": \"image/avcs\",\n \"avif\": \"image/avif\",\n \"aw\": \"application/applixware\",\n \"bdoc\": \"application/bdoc\",\n \"bin\": \"application/octet-stream\",\n \"bmp\": \"image/bmp\",\n \"bpk\": \"application/octet-stream\",\n \"btf\": \"image/prs.btif\",\n \"btif\": \"image/prs.btif\",\n \"buffer\": \"application/octet-stream\",\n \"ccxml\": \"application/ccxml+xml\",\n \"cdfx\": \"application/cdfx+xml\",\n \"cdmia\": \"application/cdmi-capability\",\n \"cdmic\": \"application/cdmi-container\",\n \"cdmid\": \"application/cdmi-domain\",\n \"cdmio\": \"application/cdmi-object\",\n \"cdmiq\": \"application/cdmi-queue\",\n \"cer\": \"application/pkix-cert\",\n \"cgm\": \"image/cgm\",\n \"cjs\": \"application/node\",\n \"class\": \"application/java-vm\",\n \"coffee\": \"text/coffeescript\",\n \"conf\": \"text/plain\",\n \"cpl\": \"application/cpl+xml\",\n \"cpt\": \"application/mac-compactpro\",\n \"crl\": \"application/pkix-crl\",\n \"css\": \"text/css\",\n \"csv\": \"text/csv\",\n \"cu\": \"application/cu-seeme\",\n \"cwl\": \"application/cwl\",\n \"cww\": \"application/prs.cww\",\n \"davmount\": \"application/davmount+xml\",\n \"dbk\": \"application/docbook+xml\",\n \"deb\": \"application/octet-stream\",\n \"def\": \"text/plain\",\n \"deploy\": \"application/octet-stream\",\n \"dib\": \"image/bmp\",\n \"disposition-notification\": \"message/disposition-notification\",\n \"dist\": \"application/octet-stream\",\n \"distz\": \"application/octet-stream\",\n \"dll\": \"application/octet-stream\",\n \"dmg\": \"application/octet-stream\",\n \"dms\": \"application/octet-stream\",\n \"doc\": \"application/msword\",\n \"dot\": \"application/msword\",\n \"dpx\": \"image/dpx\",\n \"drle\": \"image/dicom-rle\",\n \"dsc\": \"text/prs.lines.tag\",\n \"dssc\": \"application/dssc+der\",\n \"dtd\": \"application/xml-dtd\",\n \"dump\": \"application/octet-stream\",\n \"dwd\": \"application/atsc-dwd+xml\",\n \"ear\": \"application/java-archive\",\n \"ecma\": \"application/ecmascript\",\n \"elc\": \"application/octet-stream\",\n \"emf\": \"image/emf\",\n \"eml\": \"message/rfc822\",\n \"emma\": \"application/emma+xml\",\n \"emotionml\": \"application/emotionml+xml\",\n \"eps\": \"application/postscript\",\n \"epub\": \"application/epub+zip\",\n \"exe\": \"application/octet-stream\",\n \"exi\": \"application/exi\",\n \"exp\": \"application/express\",\n \"exr\": \"image/aces\",\n \"ez\": \"application/andrew-inset\",\n \"fdf\": \"application/fdf\",\n \"fdt\": \"application/fdt+xml\",\n \"fits\": \"image/fits\",\n \"g3\": \"image/g3fax\",\n \"gbr\": \"application/rpki-ghostbusters\",\n \"geojson\": \"application/geo+json\",\n \"gif\": \"image/gif\",\n \"glb\": \"model/gltf-binary\",\n \"gltf\": \"model/gltf+json\",\n \"gml\": \"application/gml+xml\",\n \"gpx\": \"application/gpx+xml\",\n \"gram\": \"application/srgs\",\n \"grxml\": \"application/srgs+xml\",\n \"gxf\": \"application/gxf\",\n \"gz\": \"application/gzip\",\n \"h261\": \"video/h261\",\n \"h263\": \"video/h263\",\n \"h264\": \"video/h264\",\n \"heic\": \"image/heic\",\n \"heics\": \"image/heic-sequence\",\n \"heif\": \"image/heif\",\n \"heifs\": \"image/heif-sequence\",\n \"hej2\": \"image/hej2k\",\n \"held\": \"application/atsc-held+xml\",\n \"hjson\": \"application/hjson\",\n \"hlp\": \"application/winhlp\",\n \"hqx\": \"application/mac-binhex40\",\n \"hsj2\": \"image/hsj2\",\n \"htm\": \"text/html\",\n \"html\": \"text/html\",\n \"ics\": \"text/calendar\",\n \"ief\": \"image/ief\",\n \"ifb\": \"text/calendar\",\n \"iges\": \"model/iges\",\n \"igs\": \"model/iges\",\n \"img\": \"application/octet-stream\",\n \"in\": \"text/plain\",\n \"ini\": \"text/plain\",\n \"ink\": \"application/inkml+xml\",\n \"inkml\": \"application/inkml+xml\",\n \"ipfix\": \"application/ipfix\",\n \"iso\": \"application/octet-stream\",\n \"its\": \"application/its+xml\",\n \"jade\": \"text/jade\",\n \"jar\": \"application/java-archive\",\n \"jhc\": \"image/jphc\",\n \"jls\": \"image/jls\",\n \"jp2\": \"image/jp2\",\n \"jpe\": \"image/jpeg\",\n \"jpeg\": \"image/jpeg\",\n \"jpf\": \"image/jpx\",\n \"jpg\": \"image/jpeg\",\n \"jpg2\": \"image/jp2\",\n \"jpgm\": \"image/jpm\",\n \"jpgv\": \"video/jpeg\",\n \"jph\": \"image/jph\",\n \"jpm\": \"image/jpm\",\n \"jpx\": \"image/jpx\",\n \"js\": \"text/javascript\",\n \"json\": \"application/json\",\n \"json5\": \"application/json5\",\n \"jsonld\": \"application/ld+json\",\n \"jsonml\": \"application/jsonml+json\",\n \"jsx\": \"text/jsx\",\n \"jt\": \"model/jt\",\n \"jxr\": \"image/jxr\",\n \"jxra\": \"image/jxra\",\n \"jxrs\": \"image/jxrs\",\n \"jxs\": \"image/jxs\",\n \"jxsc\": \"image/jxsc\",\n \"jxsi\": \"image/jxsi\",\n \"jxss\": \"image/jxss\",\n \"kar\": \"audio/midi\",\n \"ktx\": \"image/ktx\",\n \"ktx2\": \"image/ktx2\",\n \"less\": \"text/less\",\n \"lgr\": \"application/lgr+xml\",\n \"list\": \"text/plain\",\n \"litcoffee\": \"text/coffeescript\",\n \"log\": \"text/plain\",\n \"lostxml\": \"application/lost+xml\",\n \"lrf\": \"application/octet-stream\",\n \"m1v\": \"video/mpeg\",\n \"m21\": \"application/mp21\",\n \"m2a\": \"audio/mpeg\",\n \"m2v\": \"video/mpeg\",\n \"m3a\": \"audio/mpeg\",\n \"m4a\": \"audio/mp4\",\n \"m4p\": \"application/mp4\",\n \"m4s\": \"video/iso.segment\",\n \"ma\": \"application/mathematica\",\n \"mads\": \"application/mads+xml\",\n \"maei\": \"application/mmt-aei+xml\",\n \"man\": \"text/troff\",\n \"manifest\": \"text/cache-manifest\",\n \"map\": \"application/json\",\n \"mar\": \"application/octet-stream\",\n \"markdown\": \"text/markdown\",\n \"mathml\": \"application/mathml+xml\",\n \"mb\": \"application/mathematica\",\n \"mbox\": \"application/mbox\",\n \"md\": \"text/markdown\",\n \"mdx\": \"text/mdx\",\n \"me\": \"text/troff\",\n \"mesh\": \"model/mesh\",\n \"meta4\": \"application/metalink4+xml\",\n \"metalink\": \"application/metalink+xml\",\n \"mets\": \"application/mets+xml\",\n \"mft\": \"application/rpki-manifest\",\n \"mid\": \"audio/midi\",\n \"midi\": \"audio/midi\",\n \"mime\": \"message/rfc822\",\n \"mj2\": \"video/mj2\",\n \"mjp2\": \"video/mj2\",\n \"mjs\": \"text/javascript\",\n \"mml\": \"text/mathml\",\n \"mods\": \"application/mods+xml\",\n \"mov\": \"video/quicktime\",\n \"mp2\": \"audio/mpeg\",\n \"mp21\": \"application/mp21\",\n \"mp2a\": \"audio/mpeg\",\n \"mp3\": \"audio/mpeg\",\n \"mp4\": \"video/mp4\",\n \"mp4a\": \"audio/mp4\",\n \"mp4s\": \"application/mp4\",\n \"mp4v\": \"video/mp4\",\n \"mpd\": \"application/dash+xml\",\n \"mpe\": \"video/mpeg\",\n \"mpeg\": \"video/mpeg\",\n \"mpf\": \"application/media-policy-dataset+xml\",\n \"mpg\": \"video/mpeg\",\n \"mpg4\": \"video/mp4\",\n \"mpga\": \"audio/mpeg\",\n \"mpp\": \"application/dash-patch+xml\",\n \"mrc\": \"application/marc\",\n \"mrcx\": \"application/marcxml+xml\",\n \"ms\": \"text/troff\",\n \"mscml\": \"application/mediaservercontrol+xml\",\n \"msh\": \"model/mesh\",\n \"msi\": \"application/octet-stream\",\n \"msix\": \"application/msix\",\n \"msixbundle\": \"application/msixbundle\",\n \"msm\": \"application/octet-stream\",\n \"msp\": \"application/octet-stream\",\n \"mtl\": \"model/mtl\",\n \"musd\": \"application/mmt-usd+xml\",\n \"mxf\": \"application/mxf\",\n \"mxmf\": \"audio/mobile-xmf\",\n \"mxml\": \"application/xv+xml\",\n \"n3\": \"text/n3\",\n \"nb\": \"application/mathematica\",\n \"nq\": \"application/n-quads\",\n \"nt\": \"application/n-triples\",\n \"obj\": \"model/obj\",\n \"oda\": \"application/oda\",\n \"oga\": \"audio/ogg\",\n \"ogg\": \"audio/ogg\",\n \"ogv\": \"video/ogg\",\n \"ogx\": \"application/ogg\",\n \"omdoc\": \"application/omdoc+xml\",\n \"onepkg\": \"application/onenote\",\n \"onetmp\": \"application/onenote\",\n \"onetoc\": \"application/onenote\",\n \"onetoc2\": \"application/onenote\",\n \"opf\": \"application/oebps-package+xml\",\n \"opus\": \"audio/ogg\",\n \"otf\": \"font/otf\",\n \"owl\": \"application/rdf+xml\",\n \"oxps\": \"application/oxps\",\n \"p10\": \"application/pkcs10\",\n \"p7c\": \"application/pkcs7-mime\",\n \"p7m\": \"application/pkcs7-mime\",\n \"p7s\": \"application/pkcs7-signature\",\n \"p8\": \"application/pkcs8\",\n \"pdf\": \"application/pdf\",\n \"pfr\": \"application/font-tdpfr\",\n \"pgp\": \"application/pgp-encrypted\",\n \"pkg\": \"application/octet-stream\",\n \"pki\": \"application/pkixcmp\",\n \"pkipath\": \"application/pkix-pkipath\",\n \"pls\": \"application/pls+xml\",\n \"png\": \"image/png\",\n \"prc\": \"model/prc\",\n \"prf\": \"application/pics-rules\",\n \"provx\": \"application/provenance+xml\",\n \"ps\": \"application/postscript\",\n \"pskcxml\": \"application/pskc+xml\",\n \"pti\": \"image/prs.pti\",\n \"qt\": \"video/quicktime\",\n \"raml\": \"application/raml+yaml\",\n \"rapd\": \"application/route-apd+xml\",\n \"rdf\": \"application/rdf+xml\",\n \"relo\": \"application/p2p-overlay+xml\",\n \"rif\": \"application/reginfo+xml\",\n \"rl\": \"application/resource-lists+xml\",\n \"rld\": \"application/resource-lists-diff+xml\",\n \"rmi\": \"audio/midi\",\n \"rnc\": \"application/relax-ng-compact-syntax\",\n \"rng\": \"application/xml\",\n \"roa\": \"application/rpki-roa\",\n \"roff\": \"text/troff\",\n \"rq\": \"application/sparql-query\",\n \"rs\": \"application/rls-services+xml\",\n \"rsat\": \"application/atsc-rsat+xml\",\n \"rsd\": \"application/rsd+xml\",\n \"rsheet\": \"application/urc-ressheet+xml\",\n \"rss\": \"application/rss+xml\",\n \"rtf\": \"text/rtf\",\n \"rtx\": \"text/richtext\",\n \"rusd\": \"application/route-usd+xml\",\n \"s3m\": \"audio/s3m\",\n \"sbml\": \"application/sbml+xml\",\n \"scq\": \"application/scvp-cv-request\",\n \"scs\": \"application/scvp-cv-response\",\n \"sdp\": \"application/sdp\",\n \"senmlx\": \"application/senml+xml\",\n \"sensmlx\": \"application/sensml+xml\",\n \"ser\": \"application/java-serialized-object\",\n \"setpay\": \"application/set-payment-initiation\",\n \"setreg\": \"application/set-registration-initiation\",\n \"sgi\": \"image/sgi\",\n \"sgm\": \"text/sgml\",\n \"sgml\": \"text/sgml\",\n \"shex\": \"text/shex\",\n \"shf\": \"application/shf+xml\",\n \"shtml\": \"text/html\",\n \"sieve\": \"application/sieve\",\n \"sig\": \"application/pgp-signature\",\n \"sil\": \"audio/silk\",\n \"silo\": \"model/mesh\",\n \"siv\": \"application/sieve\",\n \"slim\": \"text/slim\",\n \"slm\": \"text/slim\",\n \"sls\": \"application/route-s-tsid+xml\",\n \"smi\": \"application/smil+xml\",\n \"smil\": \"application/smil+xml\",\n \"snd\": \"audio/basic\",\n \"so\": \"application/octet-stream\",\n \"spdx\": \"text/spdx\",\n \"spp\": \"application/scvp-vp-response\",\n \"spq\": \"application/scvp-vp-request\",\n \"spx\": \"audio/ogg\",\n \"sql\": \"application/sql\",\n \"sru\": \"application/sru+xml\",\n \"srx\": \"application/sparql-results+xml\",\n \"ssdl\": \"application/ssdl+xml\",\n \"ssml\": \"application/ssml+xml\",\n \"stk\": \"application/hyperstudio\",\n \"stl\": \"model/stl\",\n \"stpx\": \"model/step+xml\",\n \"stpxz\": \"model/step-xml+zip\",\n \"stpz\": \"model/step+zip\",\n \"styl\": \"text/stylus\",\n \"stylus\": \"text/stylus\",\n \"svg\": \"image/svg+xml\",\n \"svgz\": \"image/svg+xml\",\n \"swidtag\": \"application/swid+xml\",\n \"t\": \"text/troff\",\n \"t38\": \"image/t38\",\n \"td\": \"application/urc-targetdesc+xml\",\n \"tei\": \"application/tei+xml\",\n \"teicorpus\": \"application/tei+xml\",\n \"text\": \"text/plain\",\n \"tfi\": \"application/thraud+xml\",\n \"tfx\": \"image/tiff-fx\",\n \"tif\": \"image/tiff\",\n \"tiff\": \"image/tiff\",\n \"toml\": \"application/toml\",\n \"tr\": \"text/troff\",\n \"trig\": \"application/trig\",\n \"ts\": \"video/mp2t\",\n \"tsd\": \"application/timestamped-data\",\n \"tsv\": \"text/tab-separated-values\",\n \"ttc\": \"font/collection\",\n \"ttf\": \"font/ttf\",\n \"ttl\": \"text/turtle\",\n \"ttml\": \"application/ttml+xml\",\n \"txt\": \"text/plain\",\n \"u3d\": \"model/u3d\",\n \"u8dsn\": \"message/global-delivery-status\",\n \"u8hdr\": \"message/global-headers\",\n \"u8mdn\": \"message/global-disposition-notification\",\n \"u8msg\": \"message/global\",\n \"ubj\": \"application/ubjson\",\n \"uri\": \"text/uri-list\",\n \"uris\": \"text/uri-list\",\n \"urls\": \"text/uri-list\",\n \"vcard\": \"text/vcard\",\n \"vrml\": \"model/vrml\",\n \"vtt\": \"text/vtt\",\n \"vxml\": \"application/voicexml+xml\",\n \"war\": \"application/java-archive\",\n \"wasm\": \"application/wasm\",\n \"wav\": \"audio/wav\",\n \"weba\": \"audio/webm\",\n \"webm\": \"video/webm\",\n \"webmanifest\": \"application/manifest+json\",\n \"webp\": \"image/webp\",\n \"wgsl\": \"text/wgsl\",\n \"wgt\": \"application/widget\",\n \"wif\": \"application/watcherinfo+xml\",\n \"wmf\": \"image/wmf\",\n \"woff\": \"font/woff\",\n \"woff2\": \"font/woff2\",\n \"wrl\": \"model/vrml\",\n \"wsdl\": \"application/wsdl+xml\",\n \"wspolicy\": \"application/wspolicy+xml\",\n \"x3d\": \"model/x3d+xml\",\n \"x3db\": \"model/x3d+fastinfoset\",\n \"x3dbz\": \"model/x3d+binary\",\n \"x3dv\": \"model/x3d-vrml\",\n \"x3dvz\": \"model/x3d+vrml\",\n \"x3dz\": \"model/x3d+xml\",\n \"xaml\": \"application/xaml+xml\",\n \"xav\": \"application/xcap-att+xml\",\n \"xca\": \"application/xcap-caps+xml\",\n \"xcs\": \"application/calendar+xml\",\n \"xdf\": \"application/xcap-diff+xml\",\n \"xdssc\": \"application/dssc+xml\",\n \"xel\": \"application/xcap-el+xml\",\n \"xenc\": \"application/xenc+xml\",\n \"xer\": \"application/patch-ops-error+xml\",\n \"xfdf\": \"application/xfdf\",\n \"xht\": \"application/xhtml+xml\",\n \"xhtml\": \"application/xhtml+xml\",\n \"xhvml\": \"application/xv+xml\",\n \"xlf\": \"application/xliff+xml\",\n \"xm\": \"audio/xm\",\n \"xml\": \"text/xml\",\n \"xns\": \"application/xcap-ns+xml\",\n \"xop\": \"application/xop+xml\",\n \"xpl\": \"application/xproc+xml\",\n \"xsd\": \"application/xml\",\n \"xsf\": \"application/prs.xsf+xml\",\n \"xsl\": \"application/xml\",\n \"xslt\": \"application/xml\",\n \"xspf\": \"application/xspf+xml\",\n \"xvm\": \"application/xv+xml\",\n \"xvml\": \"application/xv+xml\",\n \"yaml\": \"text/yaml\",\n \"yang\": \"application/yang\",\n \"yin\": \"application/yin+xml\",\n \"yml\": \"text/yaml\",\n \"zip\": \"application/zip\"\n};\n\nfunction lookup(extn) {\n\tlet tmp = ('' + extn).trim().toLowerCase();\n\tlet idx = tmp.lastIndexOf('.');\n\treturn mimes[!~idx ? tmp : tmp.substring(++idx)];\n}\n\nconst noop = () => {};\n\nfunction isMatch(uri, arr) {\n\tfor (let i=0; i < arr.length; i++) {\n\t\tif (arr[i].test(uri)) return true;\n\t}\n}\n\nfunction toAssume(uri, extns) {\n\tlet i=0, x, len=uri.length - 1;\n\tif (uri.charCodeAt(len) === 47) {\n\t\turi = uri.substring(0, len);\n\t}\n\n\tlet arr=[], tmp=`${uri}/index`;\n\tfor (; i < extns.length; i++) {\n\t\tx = extns[i] ? `.${extns[i]}` : '';\n\t\tif (uri) arr.push(uri + x);\n\t\tarr.push(tmp + x);\n\t}\n\n\treturn arr;\n}\n\nfunction viaCache(cache, uri, extns) {\n\tlet i=0, data, arr=toAssume(uri, extns);\n\tfor (; i < arr.length; i++) {\n\t\tif (data = cache[arr[i]]) return data;\n\t}\n}\n\nfunction viaLocal(dir, isEtag, uri, extns) {\n\tlet i=0, arr=toAssume(uri, extns);\n\tlet abs, stats, name, headers;\n\tfor (; i < arr.length; i++) {\n\t\tabs = normalize(\n\t\t\tjoin(dir, name=arr[i])\n\t\t);\n\n\t\tif (abs.startsWith(dir) && fs.existsSync(abs)) {\n\t\t\tstats = fs.statSync(abs);\n\t\t\tif (stats.isDirectory()) continue;\n\t\t\theaders = toHeaders(name, stats, isEtag);\n\t\t\theaders['Cache-Control'] = isEtag ? 'no-cache' : 'no-store';\n\t\t\treturn { abs, stats, headers };\n\t\t}\n\t}\n}\n\nfunction is404(req, res) {\n\treturn (res.statusCode=404,res.end());\n}\n\nfunction send(req, res, file, stats, headers) {\n\tlet code=200, tmp, opts={};\n\theaders = { ...headers };\n\n\tfor (let key in headers) {\n\t\ttmp = res.getHeader(key);\n\t\tif (tmp) headers[key] = tmp;\n\t}\n\n\tif (tmp = res.getHeader('content-type')) {\n\t\theaders['Content-Type'] = tmp;\n\t}\n\n\tif (req.headers.range) {\n\t\tcode = 206;\n\t\tlet [x, y] = req.headers.range.replace('bytes=', '').split('-');\n\t\tlet end = opts.end = parseInt(y, 10) || stats.size - 1;\n\t\tlet start = opts.start = parseInt(x, 10) || 0;\n\n\t\tif (end >= stats.size) {\n\t\t\tend = stats.size - 1;\n\t\t}\n\n\t\tif (start >= stats.size) {\n\t\t\tres.setHeader('Content-Range', `bytes */${stats.size}`);\n\t\t\tres.statusCode = 416;\n\t\t\treturn res.end();\n\t\t}\n\n\t\theaders['Content-Range'] = `bytes ${start}-${end}/${stats.size}`;\n\t\theaders['Content-Length'] = (end - start + 1);\n\t\theaders['Accept-Ranges'] = 'bytes';\n\t}\n\n\tres.writeHead(code, headers);\n\tfs.createReadStream(file, opts).pipe(res);\n}\n\nconst ENCODING = {\n\t'.br': 'br',\n\t'.gz': 'gzip',\n};\n\nfunction toHeaders(name, stats, isEtag) {\n\tlet enc = ENCODING[name.slice(-3)];\n\n\tlet ctype = lookup(name.slice(0, enc && -3)) || '';\n\tif (ctype === 'text/html') ctype += ';charset=utf-8';\n\n\tlet headers = {\n\t\t'Content-Length': stats.size,\n\t\t'Content-Type': ctype,\n\t\t'Last-Modified': stats.mtime.toUTCString(),\n\t};\n\n\tif (enc) headers['Content-Encoding'] = enc;\n\tif (isEtag) headers['ETag'] = `W/\"${stats.size}-${stats.mtime.getTime()}\"`;\n\n\treturn headers;\n}\n\nfunction sirv (dir, opts={}) {\n\tdir = resolve(dir || '.');\n\n\tlet isNotFound = opts.onNoMatch || is404;\n\tlet setHeaders = opts.setHeaders || noop;\n\n\tlet extensions = opts.extensions || ['html', 'htm'];\n\tlet gzips = opts.gzip && extensions.map(x => `${x}.gz`).concat('gz');\n\tlet brots = opts.brotli && extensions.map(x => `${x}.br`).concat('br');\n\n\tconst FILES = {};\n\n\tlet fallback = '/';\n\tlet isEtag = !!opts.etag;\n\tlet isSPA = !!opts.single;\n\tif (typeof opts.single === 'string') {\n\t\tlet idx = opts.single.lastIndexOf('.');\n\t\tfallback += !!~idx ? opts.single.substring(0, idx) : opts.single;\n\t}\n\n\tlet ignores = [];\n\tif (opts.ignores !== false) {\n\t\tignores.push(/[/]([A-Za-z\\s\\d~$._-]+\\.\\w+){1,}$/); // any extn\n\t\tif (opts.dotfiles) ignores.push(/\\/\\.\\w/);\n\t\telse ignores.push(/\\/\\.well-known/);\n\t\t[].concat(opts.ignores || []).forEach(x => {\n\t\t\tignores.push(new RegExp(x, 'i'));\n\t\t});\n\t}\n\n\tlet cc = opts.maxAge != null && `public,max-age=${opts.maxAge}`;\n\tif (cc && opts.immutable) cc += ',immutable';\n\telse if (cc && opts.maxAge === 0) cc += ',must-revalidate';\n\n\tif (!opts.dev) {\n\t\ttotalist(dir, (name, abs, stats) => {\n\t\t\tif (/\\.well-known[\\\\+\\/]/.test(name)) ; // keep\n\t\t\telse if (!opts.dotfiles && /(^\\.|[\\\\+|\\/+]\\.)/.test(name)) return;\n\n\t\t\tlet headers = toHeaders(name, stats, isEtag);\n\t\t\tif (cc) headers['Cache-Control'] = cc;\n\n\t\t\tFILES['/' + name.normalize().replace(/\\\\+/g, '/')] = { abs, stats, headers };\n\t\t});\n\t}\n\n\tlet lookup = opts.dev ? viaLocal.bind(0, dir + sep, isEtag) : viaCache.bind(0, FILES);\n\n\treturn function (req, res, next) {\n\t\tlet extns = [''];\n\t\tlet pathname = parse$1(req).pathname;\n\t\tlet val = req.headers['accept-encoding'] || '';\n\t\tif (gzips && val.includes('gzip')) extns.unshift(...gzips);\n\t\tif (brots && /(br|brotli)/i.test(val)) extns.unshift(...brots);\n\t\textns.push(...extensions); // [...br, ...gz, orig, ...exts]\n\n\t\tif (pathname.indexOf('%') !== -1) {\n\t\t\ttry { pathname = decodeURI(pathname); }\n\t\t\tcatch (err) { /* malform uri */ }\n\t\t}\n\n\t\tlet data = lookup(pathname, extns) || isSPA && !isMatch(pathname, ignores) && lookup(fallback, extns);\n\t\tif (!data) return next ? next() : isNotFound(req, res);\n\n\t\tif (isEtag && req.headers['if-none-match'] === data.headers['ETag']) {\n\t\t\tres.writeHead(304);\n\t\t\treturn res.end();\n\t\t}\n\n\t\tif (gzips || brots) {\n\t\t\tres.setHeader('Vary', 'Accept-Encoding');\n\t\t}\n\n\t\tsetHeaders(res, pathname, data.stats);\n\t\tsend(req, res, data.abs, data.stats, data.headers);\n\t};\n}\n\n/**\n * @param {string|RegExp} input The route pattern\n * @param {boolean} [loose] Allow open-ended matching. Ignored with `RegExp` input.\n */\nfunction parse(input, loose) {\n\tif (input instanceof RegExp) return { keys:false, pattern:input };\n\tvar c, o, tmp, ext, keys=[], pattern='', arr = input.split('/');\n\tarr[0] || arr.shift();\n\n\twhile (tmp = arr.shift()) {\n\t\tc = tmp[0];\n\t\tif (c === '*') {\n\t\t\tkeys.push(c);\n\t\t\tpattern += tmp[1] === '?' ? '(?:/(.*))?' : '/(.*)';\n\t\t} else if (c === ':') {\n\t\t\to = tmp.indexOf('?', 1);\n\t\t\text = tmp.indexOf('.', 1);\n\t\t\tkeys.push( tmp.substring(1, !!~o ? o : !!~ext ? ext : tmp.length) );\n\t\t\tpattern += !!~o && !~ext ? '(?:/([^/]+?))?' : '/([^/]+?)';\n\t\t\tif (!!~ext) pattern += (!!~o ? '?' : '') + '\\\\' + tmp.substring(ext);\n\t\t} else {\n\t\t\tpattern += '/' + tmp;\n\t\t}\n\t}\n\n\treturn {\n\t\tkeys: keys,\n\t\tpattern: new RegExp('^' + pattern + (loose ? '(?=$|\\/)' : '\\/?$'), 'i')\n\t};\n}\n\nconst MAP = {\n\t\"\": 0,\n\tGET: 1,\n\tHEAD: 2,\n\tPATCH: 3,\n\tOPTIONS: 4,\n\tCONNECT: 5,\n\tDELETE: 6,\n\tTRACE: 7,\n\tPOST: 8,\n\tPUT: 9,\n};\n\nclass Trouter {\n\tconstructor() {\n\t\tthis.routes = [];\n\n\t\tthis.all = this.add.bind(this, '');\n\t\tthis.get = this.add.bind(this, 'GET');\n\t\tthis.head = this.add.bind(this, 'HEAD');\n\t\tthis.patch = this.add.bind(this, 'PATCH');\n\t\tthis.options = this.add.bind(this, 'OPTIONS');\n\t\tthis.connect = this.add.bind(this, 'CONNECT');\n\t\tthis.delete = this.add.bind(this, 'DELETE');\n\t\tthis.trace = this.add.bind(this, 'TRACE');\n\t\tthis.post = this.add.bind(this, 'POST');\n\t\tthis.put = this.add.bind(this, 'PUT');\n\t}\n\n\tuse(route, ...fns) {\n\t\tlet handlers = [].concat.apply([], fns);\n\t\tlet { keys, pattern } = parse(route, true);\n\t\tthis.routes.push({ keys, pattern, method: '', handlers, midx: MAP[''] });\n\t\treturn this;\n\t}\n\n\tadd(method, route, ...fns) {\n\t\tlet { keys, pattern } = parse(route);\n\t\tlet handlers = [].concat.apply([], fns);\n\t\tthis.routes.push({ keys, pattern, method, handlers, midx: MAP[method] });\n\t\treturn this;\n\t}\n\n\tfind(method, url) {\n\t\tlet midx = MAP[method];\n\t\tlet isHEAD = (midx === 2);\n\t\tlet i=0, j=0, k, tmp, arr=this.routes;\n\t\tlet matches=[], params={}, handlers=[];\n\t\tfor (; i < arr.length; i++) {\n\t\t\ttmp = arr[i];\n\t\t\tif (tmp.midx === midx || tmp.midx === 0 || (isHEAD && tmp.midx===1) ) {\n\t\t\t\tif (tmp.keys === false) {\n\t\t\t\t\tmatches = tmp.pattern.exec(url);\n\t\t\t\t\tif (matches === null) continue;\n\t\t\t\t\tif (matches.groups !== void 0) for (k in matches.groups) params[k]=matches.groups[k];\n\t\t\t\t\ttmp.handlers.length > 1 ? (handlers=handlers.concat(tmp.handlers)) : handlers.push(tmp.handlers[0]);\n\t\t\t\t} else if (tmp.keys.length > 0) {\n\t\t\t\t\tmatches = tmp.pattern.exec(url);\n\t\t\t\t\tif (matches === null) continue;\n\t\t\t\t\tfor (j=0; j < tmp.keys.length;) params[tmp.keys[j]]=matches[++j];\n\t\t\t\t\ttmp.handlers.length > 1 ? (handlers=handlers.concat(tmp.handlers)) : handlers.push(tmp.handlers[0]);\n\t\t\t\t} else if (tmp.pattern.test(url)) {\n\t\t\t\t\ttmp.handlers.length > 1 ? (handlers=handlers.concat(tmp.handlers)) : handlers.push(tmp.handlers[0]);\n\t\t\t\t}\n\t\t\t} // else not a match\n\t\t}\n\n\t\treturn { params, handlers };\n\t}\n}\n\nfunction onError(err, req, res) {\n\tlet code = typeof err.status === 'number' && err.status;\n\tcode = res.statusCode = (code && code >= 100 ? code : 500);\n\tif (typeof err === 'string' || Buffer.isBuffer(err)) res.end(err);\n\telse res.end(err.message || http.STATUS_CODES[code]);\n}\n\nconst mount = fn => fn instanceof Polka ? fn.attach : fn;\n\nclass Polka extends Trouter {\n\tconstructor(opts={}) {\n\t\tsuper();\n\t\tthis.parse = parse$1;\n\t\tthis.server = opts.server;\n\t\tthis.handler = this.handler.bind(this);\n\t\tthis.onError = opts.onError || onError; // catch-all handler\n\t\tthis.onNoMatch = opts.onNoMatch || this.onError.bind(null, { status: 404 });\n\t\tthis.attach = (req, res) => setImmediate(this.handler, req, res);\n\t}\n\n\tuse(base, ...fns) {\n\t\tif (base === '/') {\n\t\t\tsuper.use(base, fns.map(mount));\n\t\t} else if (typeof base === 'function' || base instanceof Polka) {\n\t\t\tsuper.use('/', [base, ...fns].map(mount));\n\t\t} else {\n\t\t\tsuper.use(base,\n\t\t\t\t(req, _, next) => {\n\t\t\t\t\tif (typeof base === 'string') {\n\t\t\t\t\t\tlet len = base.length;\n\t\t\t\t\t\tbase.startsWith('/') || len++;\n\t\t\t\t\t\treq.url = req.url.substring(len) || '/';\n\t\t\t\t\t\treq.path = req.path.substring(len) || '/';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treq.url = req.url.replace(base, '') || '/';\n\t\t\t\t\t\treq.path = req.path.replace(base, '') || '/';\n\t\t\t\t\t}\n\t\t\t\t\tif (req.url.charAt(0) !== '/') {\n\t\t\t\t\t\treq.url = '/' + req.url;\n\t\t\t\t\t}\n\t\t\t\t\tnext();\n\t\t\t\t},\n\t\t\t\tfns.map(mount),\n\t\t\t\t(req, _, next) => {\n\t\t\t\t\treq.path = req._parsedUrl.pathname;\n\t\t\t\t\treq.url = req.path + req._parsedUrl.search;\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\treturn this; // chainable\n\t}\n\n\tlisten() {\n\t\t(this.server = this.server || http.createServer()).on('request', this.attach);\n\t\tthis.server.listen.apply(this.server, arguments);\n\t\treturn this;\n\t}\n\n\thandler(req, res, next) {\n\t\tlet info = this.parse(req), path = info.pathname;\n\t\tlet obj = this.find(req.method, req.path=path);\n\n\t\treq.url = path + info.search;\n\t\treq.originalUrl = req.originalUrl || req.url;\n\t\treq.query = info.query || {};\n\t\treq.search = info.search;\n\t\treq.params = obj.params;\n\n\t\tif (path.length > 1 && path.indexOf('%', 1) !== -1) {\n\t\t\tfor (let k in req.params) {\n\t\t\t\ttry { req.params[k] = decodeURIComponent(req.params[k]); }\n\t\t\t\tcatch (e) { /* malform uri segment */ }\n\t\t\t}\n\t\t}\n\n\t\tlet i=0, arr=obj.handlers.concat(this.onNoMatch), len=arr.length;\n\t\tlet loop = async () => res.finished || (i < len) && arr[i++](req, res, next);\n\t\t(next = next || (err => err ? this.onError(err, req, res, next) : loop().catch(next)))(); // init\n\t}\n}\n\nfunction polka (opts) {\n\treturn new Polka(opts);\n}\n\nexport { parse$1 as a, polka as p, sirv as s };\n","var defaultParseOptions = {\n decodeValues: true,\n map: false,\n silent: false,\n split: \"auto\", // auto = split strings but not arrays\n};\n\nfunction isForbiddenKey(key) {\n return typeof key !== \"string\" || key in {};\n}\n\nfunction createNullObj() {\n return Object.create(null);\n}\n\nfunction isNonEmptyString(str) {\n return typeof str === \"string\" && !!str.trim();\n}\n\nfunction parseString(setCookieValue, options) {\n var parts = setCookieValue.split(\";\").filter(isNonEmptyString);\n\n var nameValuePairStr = parts.shift();\n var parsed = parseNameValuePair(nameValuePairStr);\n var name = parsed.name;\n var value = parsed.value;\n\n options = options\n ? Object.assign({}, defaultParseOptions, options)\n : defaultParseOptions;\n\n if (isForbiddenKey(name)) {\n return null;\n }\n\n try {\n value = options.decodeValues ? decodeURIComponent(value) : value; // decode cookie value\n } catch (e) {\n console.error(\n \"set-cookie-parser: failed to decode cookie value. Set options.decodeValues=false to disable decoding.\",\n e\n );\n }\n\n var cookie = createNullObj();\n cookie.name = name;\n cookie.value = value;\n\n parts.forEach(function (part) {\n var sides = part.split(\"=\");\n var key = sides.shift().trimLeft().toLowerCase();\n if (isForbiddenKey(key)) {\n return;\n }\n var value = sides.join(\"=\");\n if (key === \"expires\") {\n cookie.expires = new Date(value);\n } else if (key === \"max-age\") {\n var n = parseInt(value, 10);\n if (!Number.isNaN(n)) cookie.maxAge = n;\n } else if (key === \"secure\") {\n cookie.secure = true;\n } else if (key === \"httponly\") {\n cookie.httpOnly = true;\n } else if (key === \"samesite\") {\n cookie.sameSite = value;\n } else if (key === \"partitioned\") {\n cookie.partitioned = true;\n } else if (key) {\n cookie[key] = value;\n }\n });\n\n return cookie;\n}\n\nfunction parseNameValuePair(nameValuePairStr) {\n // Parses name-value-pair according to rfc6265bis draft\n\n var name = \"\";\n var value = \"\";\n var nameValueArr = nameValuePairStr.split(\"=\");\n if (nameValueArr.length > 1) {\n name = nameValueArr.shift();\n value = nameValueArr.join(\"=\"); // everything after the first =, joined by a \"=\" if there was more than one part\n } else {\n value = nameValuePairStr;\n }\n\n return { name: name, value: value };\n}\n\nfunction parseSetCookie(input, options) {\n options = options\n ? Object.assign({}, defaultParseOptions, options)\n : defaultParseOptions;\n\n if (!input) {\n if (!options.map) {\n return [];\n } else {\n return createNullObj();\n }\n }\n\n if (input.headers) {\n if (typeof input.headers.getSetCookie === \"function\") {\n // for fetch responses - they combine headers of the same type in the headers array,\n // but getSetCookie returns an uncombined array\n input = input.headers.getSetCookie();\n } else if (input.headers[\"set-cookie\"]) {\n // fast-path for node.js (which automatically normalizes header names to lower-case)\n input = input.headers[\"set-cookie\"];\n } else {\n // slow-path for other environments - see #25\n var sch =\n input.headers[\n Object.keys(input.headers).find(function (key) {\n return key.toLowerCase() === \"set-cookie\";\n })\n ];\n // warn if called on a request-like object with a cookie header rather than a set-cookie header - see #34, 36\n if (!sch && input.headers.cookie && !options.silent) {\n console.warn(\n \"Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning.\"\n );\n }\n input = sch;\n }\n }\n\n var split = options.split;\n var isArray = Array.isArray(input);\n\n if (split === \"auto\") {\n split = !isArray;\n }\n\n if (!isArray) {\n input = [input];\n }\n\n input = input.filter(isNonEmptyString);\n\n if (split) {\n input = input.map(splitCookiesString).flat();\n }\n\n if (!options.map) {\n return input\n .map(function (str) {\n return parseString(str, options);\n })\n .filter(Boolean);\n } else {\n var cookies = createNullObj();\n return input.reduce(function (cookies, str) {\n var cookie = parseString(str, options);\n if (cookie && !isForbiddenKey(cookie.name)) {\n cookies[cookie.name] = cookie;\n }\n return cookies;\n }, cookies);\n }\n}\n\n/*\n Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas\n that are within a single set-cookie field-value, such as in the Expires portion.\n\n This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2\n Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128\n React Native's fetch does this for *every* header, including set-cookie.\n\n Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25\n Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation\n*/\nfunction splitCookiesString(cookiesString) {\n if (Array.isArray(cookiesString)) {\n return cookiesString;\n }\n if (typeof cookiesString !== \"string\") {\n return [];\n }\n\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n\n function skipWhitespace() {\n while (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) {\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n\n while (pos < cookiesString.length) {\n start = pos;\n cookiesSeparatorFound = false;\n\n while (skipWhitespace()) {\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n // ',' is a cookie separator if we have later first '=', not ';' or ','\n lastComma = pos;\n pos += 1;\n\n skipWhitespace();\n nextStart = pos;\n\n while (pos < cookiesString.length && notSpecialChar()) {\n pos += 1;\n }\n\n // currently special character\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n // we found cookies separator\n cookiesSeparatorFound = true;\n // pos is inside the next cookie, so back up and return it.\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n // in param ',' or param separator ';',\n // we continue from that comma\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n\n return cookiesStrings;\n}\n\n// named export for CJS\nparseSetCookie.parseSetCookie = parseSetCookie;\n// for backwards compatibility\nparseSetCookie.parse = parseSetCookie;\nparseSetCookie.parseString = parseString;\nparseSetCookie.splitCookiesString = splitCookiesString;\n\n// EXPORTS\n// (this section is replaced by build-cjs.js)\n\n// named export for ESM\nexport { parseSetCookie };\n// for backwards compatibility\nexport default parseSetCookie;\nexport { parseSetCookie as parse, parseString, splitCookiesString };\n","import { createReadStream } from 'node:fs';\nimport { Readable } from 'node:stream';\nimport * as set_cookie_parser from 'set-cookie-parser';\nimport { SvelteKitError } from '../internal/index.js';\n\n/**\n * @param {import('http').IncomingMessage} req\n * @param {number} [body_size_limit]\n */\nfunction get_raw_body(req, body_size_limit) {\n\tconst h = req.headers;\n\n\tif (!h['content-type']) {\n\t\treturn null;\n\t}\n\n\tconst content_length = Number(h['content-length']);\n\n\t// check if no request body\n\tif (\n\t\t(req.httpVersionMajor === 1 && isNaN(content_length) && h['transfer-encoding'] == null) ||\n\t\tcontent_length === 0\n\t) {\n\t\treturn null;\n\t}\n\n\tif (req.destroyed) {\n\t\tconst readable = new ReadableStream();\n\t\tvoid readable.cancel();\n\t\treturn readable;\n\t}\n\n\tlet size = 0;\n\tlet cancelled = false;\n\n\treturn new ReadableStream({\n\t\tstart(controller) {\n\t\t\tif (body_size_limit !== undefined && content_length > body_size_limit) {\n\t\t\t\tlet message = `Content-length of ${content_length} exceeds limit of ${body_size_limit} bytes.`;\n\n\t\t\t\tif (body_size_limit === 0) {\n\t\t\t\t\t// https://github.com/sveltejs/kit/pull/11589\n\t\t\t\t\t// TODO this exists to aid migration — remove in a future version\n\t\t\t\t\tmessage += ' To disable body size limits, specify Infinity rather than 0.';\n\t\t\t\t}\n\n\t\t\t\tconst error = new SvelteKitError(413, 'Payload Too Large', message);\n\n\t\t\t\tcontroller.error(error);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treq.on('error', (error) => {\n\t\t\t\tcancelled = true;\n\t\t\t\tcontroller.error(error);\n\t\t\t});\n\n\t\t\treq.on('end', () => {\n\t\t\t\tif (cancelled) return;\n\t\t\t\tcontroller.close();\n\t\t\t});\n\n\t\t\treq.on('data', (chunk) => {\n\t\t\t\tif (cancelled) return;\n\n\t\t\t\tsize += chunk.length;\n\t\t\t\tif (size > content_length) {\n\t\t\t\t\tcancelled = true;\n\n\t\t\t\t\tconst constraint = content_length ? 'content-length' : 'BODY_SIZE_LIMIT';\n\t\t\t\t\tconst message = `request body size exceeded ${constraint} of ${content_length}`;\n\n\t\t\t\t\tconst error = new SvelteKitError(413, 'Payload Too Large', message);\n\t\t\t\t\tcontroller.error(error);\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcontroller.enqueue(chunk);\n\n\t\t\t\tif (controller.desiredSize === null || controller.desiredSize <= 0) {\n\t\t\t\t\treq.pause();\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\tpull() {\n\t\t\treq.resume();\n\t\t},\n\n\t\tcancel(reason) {\n\t\t\tcancelled = true;\n\t\t\treq.destroy(reason);\n\t\t}\n\t});\n}\n\n/**\n * @param {{\n * request: import('http').IncomingMessage;\n * base: string;\n * bodySizeLimit?: number;\n * }} options\n * @returns {Promise<Request>}\n */\n// TODO 3.0 make the signature synchronous?\n// eslint-disable-next-line @typescript-eslint/require-await\nexport async function getRequest({ request, base, bodySizeLimit }) {\n\tlet headers = /** @type {Record<string, string>} */ (request.headers);\n\tif (request.httpVersionMajor >= 2) {\n\t\t// the Request constructor rejects headers with ':' in the name\n\t\theaders = Object.assign({}, headers);\n\t\t// https://www.rfc-editor.org/rfc/rfc9113.html#section-8.3.1-2.3.5\n\t\tif (headers[':authority']) {\n\t\t\theaders.host = headers[':authority'];\n\t\t}\n\t\tdelete headers[':authority'];\n\t\tdelete headers[':method'];\n\t\tdelete headers[':path'];\n\t\tdelete headers[':scheme'];\n\t}\n\n\t// TODO: Whenever Node >=22 is minimum supported version, we can use `request.readableAborted`\n\t// @see https://github.com/nodejs/node/blob/5cf3c3e24c7257a0c6192ed8ef71efec8ddac22b/lib/internal/streams/readable.js#L1443-L1453\n\tconst controller = new AbortController();\n\tlet errored = false;\n\tlet end_emitted = false;\n\trequest.once('error', () => (errored = true));\n\trequest.once('end', () => (end_emitted = true));\n\trequest.once('close', () => {\n\t\tif ((errored || request.destroyed) && !end_emitted) {\n\t\t\tcontroller.abort();\n\t\t}\n\t});\n\n\treturn new Request(base + request.url, {\n\t\t// @ts-expect-error\n\t\tduplex: 'half',\n\t\tmethod: request.method,\n\t\theaders: Object.entries(headers),\n\t\tsignal: controller.signal,\n\t\tbody:\n\t\t\trequest.method === 'GET' || request.method === 'HEAD'\n\t\t\t\t? undefined\n\t\t\t\t: get_raw_body(request, bodySizeLimit)\n\t});\n}\n\n/**\n * @param {import('http').ServerResponse} res\n * @param {Response} response\n * @returns {Promise<void>}\n */\n// TODO 3.0 make the signature synchronous?\n// eslint-disable-next-line @typescript-eslint/require-await\nexport async function setResponse(res, response) {\n\tfor (const [key, value] of response.headers) {\n\t\ttry {\n\t\t\tres.setHeader(\n\t\t\t\tkey,\n\t\t\t\tkey === 'set-cookie'\n\t\t\t\t\t? set_cookie_parser.splitCookiesString(\n\t\t\t\t\t\t\t// This is absurd but necessary, TODO: investigate why\n\t\t\t\t\t\t\t/** @type {string}*/ (response.headers.get(key))\n\t\t\t\t\t\t)\n\t\t\t\t\t: value\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tres.getHeaderNames().forEach((name) => res.removeHeader(name));\n\t\t\tres.writeHead(500).end(String(error));\n\t\t\treturn;\n\t\t}\n\t}\n\n\tres.writeHead(response.status);\n\n\tif (!response.body) {\n\t\tres.end();\n\t\treturn;\n\t}\n\n\tif (response.body.locked) {\n\t\tres.end(\n\t\t\t'Fatal error: Response body is locked. ' +\n\t\t\t\t\"This can happen when the response was already read (for example through 'response.json()' or 'response.text()').\"\n\t\t);\n\t\treturn;\n\t}\n\n\tconst reader = response.body.getReader();\n\n\tif (res.destroyed) {\n\t\tvoid reader.cancel();\n\t\treturn;\n\t}\n\n\tconst cancel = (/** @type {Error|undefined} */ error) => {\n\t\tres.off('close', cancel);\n\t\tres.off('error', cancel);\n\n\t\t// If the reader has already been interrupted with an error earlier,\n\t\t// then it will appear here, it is useless, but it needs to be catch.\n\t\treader.cancel(error).catch(() => {});\n\t\tif (error) res.destroy(error);\n\t};\n\n\tres.on('close', cancel);\n\tres.on('error', cancel);\n\n\tvoid next();\n\tasync function next() {\n\t\ttry {\n\t\t\tfor (;;) {\n\t\t\t\tconst { done, value } = await reader.read();\n\n\t\t\t\tif (done) break;\n\n\t\t\t\tif (!res.write(value)) {\n\t\t\t\t\tres.once('drain', next);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tres.end();\n\t\t} catch (error) {\n\t\t\tcancel(error instanceof Error ? error : new Error(String(error)));\n\t\t}\n\t}\n}\n\n/**\n * Converts a file on disk to a readable stream\n * @param {string} file\n * @returns {ReadableStream}\n * @since 2.4.0\n */\nexport function createReadableStream(file) {\n\treturn /** @type {ReadableStream} */ (Readable.toWeb(createReadStream(file)));\n}\n","import { format } from 'node:url';\n\n/**\n * Parses the given value into number of bytes.\n *\n * @param {string} value - Size in bytes. Can also be specified with a unit suffix kilobytes (K), megabytes (M), or gigabytes (G).\n * @returns {number}\n */\nfunction parse_as_bytes(value) {\n\tconst multiplier =\n\t\t{\n\t\t\tK: 1024,\n\t\t\tM: 1024 * 1024,\n\t\t\tG: 1024 * 1024 * 1024\n\t\t}[value[value.length - 1]?.toUpperCase()] ?? 1;\n\treturn Number(multiplier != 1 ? value.substring(0, value.length - 1) : value) * multiplier;\n}\n\n/**\n * Parses and validates an origin URL.\n *\n * @param {string | undefined} value - Origin URL with http:// or https:// protocol\n * @returns {string | undefined} The validated origin, or undefined if value is undefined\n * @throws {Error} If value is provided but invalid\n */\nfunction parse_origin(value) {\n\tif (value === undefined) {\n\t\treturn undefined;\n\t}\n\n\tconst trimmed = value.trim();\n\n\tlet url;\n\ttry {\n\t\turl = new URL(trimmed);\n\t} catch (error) {\n\t\tthrow new Error(\n\t\t\t`Invalid ORIGIN: '${trimmed}'. ` +\n\t\t\t\t`ORIGIN must be a valid URL with http:// or https:// protocol. ` +\n\t\t\t\t`For example: 'http://localhost:3000' or 'https://my.site'`,\n\t\t\t{ cause: error }\n\t\t);\n\t}\n\n\tif (url.protocol !== 'http:' && url.protocol !== 'https:') {\n\t\tthrow new Error(\n\t\t\t`Invalid ORIGIN: '${trimmed}'. ` +\n\t\t\t\t`Only http:// and https:// protocols are supported. ` +\n\t\t\t\t`Received protocol: ${url.protocol}`\n\t\t);\n\t}\n\n\treturn url.origin;\n}\n\n/**\n * Formats the address the server is listening on.\n *\n * @param {string | false} path\n * @param {string} host\n * @param {string | false} port\n * @param {import('node:net').AddressInfo | string | null} address\n * @returns {string}\n */\nfunction format_listening_address(path, host, port, address) {\n\tif (path) {\n\t\treturn path;\n\t}\n\n\tif (address && typeof address === 'object') {\n\t\treturn format({\n\t\t\tprotocol: 'http:',\n\t\t\thostname: address.address,\n\t\t\tport: address.port\n\t\t});\n\t}\n\n\treturn format({\n\t\tprotocol: 'http:',\n\t\thostname: host,\n\t\tport: String(port)\n\t});\n}\n\nexport { format_listening_address, parse_as_bytes, parse_origin };\n","import './shims.js';\nimport fs__default from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\nimport { s as sirv, a as parse } from './chunks/vendor.js';\nimport { createReadableStream, getRequest, setResponse } from '@sveltejs/kit/node';\nimport { Server } from 'SERVER';\nimport { manifest } from 'MANIFEST';\nimport { env, dir, env_prefix } from './env.js';\nimport { parse_origin, parse_as_bytes } from './utils.js';\n\nconst prerendered = PRERENDERED;\n\nconst server = new Server(manifest);\n\n// parse_origin validates ORIGIN and throws descriptive errors for invalid values\nconst origin = parse_origin(env('ORIGIN', undefined));\n\nconst xff_depth = parseInt(env('XFF_DEPTH', '1'));\nconst address_header = env('ADDRESS_HEADER', '').toLowerCase();\nconst protocol_header = env('PROTOCOL_HEADER', '').toLowerCase();\nconst host_header = env('HOST_HEADER', '').toLowerCase();\nconst port_header = env('PORT_HEADER', '').toLowerCase();\n\nconst body_size_limit = parse_as_bytes(env('BODY_SIZE_LIMIT', '512K'));\n\nif (isNaN(body_size_limit)) {\n\tthrow new Error(\n\t\t`Invalid BODY_SIZE_LIMIT: '${env('BODY_SIZE_LIMIT')}'. Please provide a numeric value.`\n\t);\n}\n\nconst asset_dir = `${dir}/client${BASE}`;\n\nawait server.init({\n\tenv: /** @type {Record<string, string>} */ (process.env),\n\tread: (file) => createReadableStream(`${asset_dir}/${file}`)\n});\n\n/**\n * @param {string} path\n * @param {boolean} client\n */\nfunction serve(path, client = false) {\n\treturn fs__default.existsSync(path)\n\t\t? sirv(path, {\n\t\t\t\tetag: true,\n\t\t\t\tgzip: PRECOMPRESS,\n\t\t\t\tbrotli: PRECOMPRESS,\n\t\t\t\tsetHeaders: client\n\t\t\t\t\t? (res, pathname) => {\n\t\t\t\t\t\t\t// only apply to build directory, not e.g. version.json\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpathname.startsWith(`/${manifest.appPath}/immutable/`) &&\n\t\t\t\t\t\t\t\tres.statusCode === 200\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tres.setHeader('cache-control', 'public,max-age=31536000,immutable');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined\n\t\t\t})\n\t\t: undefined;\n}\n\n// required because the static file server ignores trailing slashes\n/** @returns {import('polka').Middleware} */\nfunction serve_prerendered() {\n\tconst handler = serve(path.join(dir, 'prerendered'));\n\n\treturn (req, res, next) => {\n\t\tlet { pathname, search, query } = parse(req);\n\n\t\ttry {\n\t\t\tpathname = decodeURIComponent(pathname);\n\t\t} catch {\n\t\t\t// ignore invalid URI\n\t\t}\n\n\t\tif (prerendered.has(pathname)) {\n\t\t\treturn handler?.(req, res, next);\n\t\t}\n\n\t\t// remove or add trailing slash as appropriate\n\t\tlet location = pathname.at(-1) === '/' ? pathname.slice(0, -1) : pathname + '/';\n\t\tif (prerendered.has(location)) {\n\t\t\tif (query) location += search;\n\t\t\tres.writeHead(308, { location }).end();\n\t\t} else {\n\t\t\tvoid next();\n\t\t}\n\t};\n}\n\n/** @type {import('polka').Middleware} */\nconst ssr = async (req, res) => {\n\t/** @type {Request} */\n\tlet request;\n\n\ttry {\n\t\trequest = await getRequest({\n\t\t\tbase: origin || get_origin(req.headers),\n\t\t\trequest: req,\n\t\t\tbodySizeLimit: body_size_limit\n\t\t});\n\t} catch {\n\t\tres.statusCode = 400;\n\t\tres.end('Bad Request');\n\t\treturn;\n\t}\n\n\tconst response = await server.respond(request, {\n\t\tplatform: { req },\n\t\tgetClientAddress: () => {\n\t\t\tif (address_header) {\n\t\t\t\tif (!(address_header in req.headers)) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Address header was specified with ${\n\t\t\t\t\t\t\tenv_prefix + 'ADDRESS_HEADER'\n\t\t\t\t\t\t}=${address_header} but is absent from request`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst value = /** @type {string} */ (req.headers[address_header]) || '';\n\n\t\t\t\tif (address_header === 'x-forwarded-for') {\n\t\t\t\t\tconst addresses = value.split(',');\n\n\t\t\t\t\tif (xff_depth < 1) {\n\t\t\t\t\t\tthrow new Error(`${env_prefix + 'XFF_DEPTH'} must be a positive integer`);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (xff_depth > addresses.length) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`${env_prefix + 'XFF_DEPTH'} is ${xff_depth}, but only found ${\n\t\t\t\t\t\t\t\taddresses.length\n\t\t\t\t\t\t\t} addresses`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn addresses[addresses.length - xff_depth].trim();\n\t\t\t\t}\n\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\treq.connection?.remoteAddress ||\n\t\t\t\t// @ts-expect-error\n\t\t\t\treq.connection?.socket?.remoteAddress ||\n\t\t\t\treq.socket?.remoteAddress ||\n\t\t\t\t// @ts-expect-error\n\t\t\t\treq.info?.remoteAddress\n\t\t\t);\n\t\t}\n\t});\n\n\t// Reverse proxies such as nginx buffer responses by default (ignoring\n\t// `cache-control`), which breaks streaming responses like server-sent events.\n\t// `X-Accel-Buffering: no` opts out of that buffering and is a no-op on proxies\n\t// that don't recognise it. See https://github.com/sveltejs/kit/issues/15790\n\tif (response.headers.get('content-type') === 'text/event-stream') {\n\t\tresponse.headers.set('x-accel-buffering', 'no');\n\t}\n\n\tawait setResponse(res, response);\n};\n\n/** @param {import('polka').Middleware[]} handlers */\nfunction sequence(handlers) {\n\t/** @type {import('polka').Middleware} */\n\treturn (req, res, next) => {\n\t\t/**\n\t\t * @param {number} i\n\t\t * @returns {ReturnType<import('polka').Middleware>}\n\t\t */\n\t\tfunction handle(i) {\n\t\t\tif (i < handlers.length) {\n\t\t\t\treturn handlers[i](req, res, () => handle(i + 1));\n\t\t\t} else {\n\t\t\t\treturn next();\n\t\t\t}\n\t\t}\n\n\t\treturn handle(0);\n\t};\n}\n\n/**\n * @param {string} name\n * @param {string | string[] | undefined} value\n * @returns {string | undefined}\n */\nfunction normalise_header(name, value) {\n\tif (!name) return undefined;\n\tif (Array.isArray(value)) {\n\t\tif (value.length === 0) return undefined;\n\t\tif (value.length === 1) return value[0];\n\t\tthrow new Error(\n\t\t\t`Multiple values provided for ${name} header where only one expected: ${value}`\n\t\t);\n\t}\n\treturn value;\n}\n\n/**\n * @param {import('http').IncomingHttpHeaders} headers\n * @returns {string}\n */\nfunction get_origin(headers) {\n\tconst protocol = decodeURIComponent(\n\t\tnormalise_header(protocol_header, headers[protocol_header]) || 'https'\n\t);\n\n\t// this helps us avoid host injections through the protocol header\n\tif (protocol.includes(':')) {\n\t\tthrow new Error(\n\t\t\t`The ${protocol_header} header specified ${protocol} which is an invalid because it includes \\`:\\`. It should only contain the protocol scheme (e.g. \\`https\\`)`\n\t\t);\n\t}\n\n\tconst host =\n\t\tnormalise_header(host_header, headers[host_header]) ||\n\t\tnormalise_header('host', headers['host']);\n\tif (!host) {\n\t\tconst header_names = host_header ? `${host_header} or host headers` : 'host header';\n\t\tthrow new Error(\n\t\t\t`Could not determine host. The request must have a value provided by the ${header_names}`\n\t\t);\n\t}\n\n\tconst port = normalise_header(port_header, headers[port_header]);\n\tif (port && isNaN(+port)) {\n\t\tthrow new Error(\n\t\t\t`The ${port_header} header specified ${port} which is an invalid port because it is not a number. The value should only contain the port number (e.g. 443)`\n\t\t);\n\t}\n\n\treturn port ? `${protocol}://${host}:${port}` : `${protocol}://${host}`;\n}\n\nconst handler = sequence(\n\t/** @type {(import('sirv').RequestHandler | import('polka').Middleware)[]} */\n\t([serve(path.join(dir, 'client'), true), serve_prerendered(), ssr].filter(Boolean))\n);\n\nexport { handler };\n"],"names":["set_cookie_parser.splitCookiesString","parse"],"mappings":"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","x_google_ignoreList":[1,2]}
1
+ {"version":3,"file":"handler-B8M0DnFi.js","sources":["../../../.svelte-kit/adapter-node/entries/chunks/vendor.js","../../../node_modules/.pnpm/set-cookie-parser@3.1.0/node_modules/set-cookie-parser/lib/set-cookie.js","../../../node_modules/.pnpm/@sveltejs+kit@2.56.1_@sveltejs+vite-plugin-svelte@6.2.4_svelte@5.55.1_vite@7.3.1_@types_b6128aca79733c4841488f96218eb217/node_modules/@sveltejs/kit/src/exports/node/index.js","../../../.svelte-kit/adapter-node/entries/utils.js","../../../.svelte-kit/adapter-node/entries/handler.js"],"sourcesContent":["import * as fs from 'node:fs';\nimport { readdirSync, statSync } from 'node:fs';\nimport { resolve, join, sep, normalize } from 'node:path';\nimport http from 'node:http';\nimport { setImmediate } from 'node:timers';\nimport * as qs from 'node:querystring';\n\nfunction totalist(dir, callback, pre='') {\n\tdir = resolve('.', dir);\n\tlet arr = readdirSync(dir);\n\tlet i=0, abs, stats;\n\tfor (; i < arr.length; i++) {\n\t\tabs = join(dir, arr[i]);\n\t\tstats = statSync(abs);\n\t\tstats.isDirectory()\n\t\t\t? totalist(abs, callback, join(pre, arr[i]))\n\t\t\t: callback(join(pre, arr[i]), abs, stats);\n\t}\n}\n\n/**\n * @typedef ParsedURL\n * @type {import('.').ParsedURL}\n */\n\n/**\n * @typedef Request\n * @property {string} url\n * @property {ParsedURL} _parsedUrl\n */\n\n/**\n * @param {Request} req\n * @returns {ParsedURL|void}\n */\nfunction parse$1(req) {\n\tlet raw = req.url;\n\tif (raw == null) return;\n\n\tlet prev = req._parsedUrl;\n\tif (prev && prev.raw === raw) return prev;\n\n\tlet pathname=raw, search='', query;\n\n\tif (raw.length > 1) {\n\t\tlet idx = raw.indexOf('?', 1);\n\n\t\tif (idx !== -1) {\n\t\t\tsearch = raw.substring(idx);\n\t\t\tpathname = raw.substring(0, idx);\n\t\t\tif (search.length > 1) {\n\t\t\t\tquery = qs.parse(search.substring(1));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn req._parsedUrl = { pathname, search, query, raw };\n}\n\nconst mimes = {\n \"3g2\": \"video/3gpp2\",\n \"3gp\": \"video/3gpp\",\n \"3gpp\": \"video/3gpp\",\n \"3mf\": \"model/3mf\",\n \"aac\": \"audio/aac\",\n \"ac\": \"application/pkix-attr-cert\",\n \"adp\": \"audio/adpcm\",\n \"adts\": \"audio/aac\",\n \"ai\": \"application/postscript\",\n \"aml\": \"application/automationml-aml+xml\",\n \"amlx\": \"application/automationml-amlx+zip\",\n \"amr\": \"audio/amr\",\n \"apng\": \"image/apng\",\n \"appcache\": \"text/cache-manifest\",\n \"appinstaller\": \"application/appinstaller\",\n \"appx\": \"application/appx\",\n \"appxbundle\": \"application/appxbundle\",\n \"asc\": \"application/pgp-keys\",\n \"atom\": \"application/atom+xml\",\n \"atomcat\": \"application/atomcat+xml\",\n \"atomdeleted\": \"application/atomdeleted+xml\",\n \"atomsvc\": \"application/atomsvc+xml\",\n \"au\": \"audio/basic\",\n \"avci\": \"image/avci\",\n \"avcs\": \"image/avcs\",\n \"avif\": \"image/avif\",\n \"aw\": \"application/applixware\",\n \"bdoc\": \"application/bdoc\",\n \"bin\": \"application/octet-stream\",\n \"bmp\": \"image/bmp\",\n \"bpk\": \"application/octet-stream\",\n \"btf\": \"image/prs.btif\",\n \"btif\": \"image/prs.btif\",\n \"buffer\": \"application/octet-stream\",\n \"ccxml\": \"application/ccxml+xml\",\n \"cdfx\": \"application/cdfx+xml\",\n \"cdmia\": \"application/cdmi-capability\",\n \"cdmic\": \"application/cdmi-container\",\n \"cdmid\": \"application/cdmi-domain\",\n \"cdmio\": \"application/cdmi-object\",\n \"cdmiq\": \"application/cdmi-queue\",\n \"cer\": \"application/pkix-cert\",\n \"cgm\": \"image/cgm\",\n \"cjs\": \"application/node\",\n \"class\": \"application/java-vm\",\n \"coffee\": \"text/coffeescript\",\n \"conf\": \"text/plain\",\n \"cpl\": \"application/cpl+xml\",\n \"cpt\": \"application/mac-compactpro\",\n \"crl\": \"application/pkix-crl\",\n \"css\": \"text/css\",\n \"csv\": \"text/csv\",\n \"cu\": \"application/cu-seeme\",\n \"cwl\": \"application/cwl\",\n \"cww\": \"application/prs.cww\",\n \"davmount\": \"application/davmount+xml\",\n \"dbk\": \"application/docbook+xml\",\n \"deb\": \"application/octet-stream\",\n \"def\": \"text/plain\",\n \"deploy\": \"application/octet-stream\",\n \"dib\": \"image/bmp\",\n \"disposition-notification\": \"message/disposition-notification\",\n \"dist\": \"application/octet-stream\",\n \"distz\": \"application/octet-stream\",\n \"dll\": \"application/octet-stream\",\n \"dmg\": \"application/octet-stream\",\n \"dms\": \"application/octet-stream\",\n \"doc\": \"application/msword\",\n \"dot\": \"application/msword\",\n \"dpx\": \"image/dpx\",\n \"drle\": \"image/dicom-rle\",\n \"dsc\": \"text/prs.lines.tag\",\n \"dssc\": \"application/dssc+der\",\n \"dtd\": \"application/xml-dtd\",\n \"dump\": \"application/octet-stream\",\n \"dwd\": \"application/atsc-dwd+xml\",\n \"ear\": \"application/java-archive\",\n \"ecma\": \"application/ecmascript\",\n \"elc\": \"application/octet-stream\",\n \"emf\": \"image/emf\",\n \"eml\": \"message/rfc822\",\n \"emma\": \"application/emma+xml\",\n \"emotionml\": \"application/emotionml+xml\",\n \"eps\": \"application/postscript\",\n \"epub\": \"application/epub+zip\",\n \"exe\": \"application/octet-stream\",\n \"exi\": \"application/exi\",\n \"exp\": \"application/express\",\n \"exr\": \"image/aces\",\n \"ez\": \"application/andrew-inset\",\n \"fdf\": \"application/fdf\",\n \"fdt\": \"application/fdt+xml\",\n \"fits\": \"image/fits\",\n \"g3\": \"image/g3fax\",\n \"gbr\": \"application/rpki-ghostbusters\",\n \"geojson\": \"application/geo+json\",\n \"gif\": \"image/gif\",\n \"glb\": \"model/gltf-binary\",\n \"gltf\": \"model/gltf+json\",\n \"gml\": \"application/gml+xml\",\n \"gpx\": \"application/gpx+xml\",\n \"gram\": \"application/srgs\",\n \"grxml\": \"application/srgs+xml\",\n \"gxf\": \"application/gxf\",\n \"gz\": \"application/gzip\",\n \"h261\": \"video/h261\",\n \"h263\": \"video/h263\",\n \"h264\": \"video/h264\",\n \"heic\": \"image/heic\",\n \"heics\": \"image/heic-sequence\",\n \"heif\": \"image/heif\",\n \"heifs\": \"image/heif-sequence\",\n \"hej2\": \"image/hej2k\",\n \"held\": \"application/atsc-held+xml\",\n \"hjson\": \"application/hjson\",\n \"hlp\": \"application/winhlp\",\n \"hqx\": \"application/mac-binhex40\",\n \"hsj2\": \"image/hsj2\",\n \"htm\": \"text/html\",\n \"html\": \"text/html\",\n \"ics\": \"text/calendar\",\n \"ief\": \"image/ief\",\n \"ifb\": \"text/calendar\",\n \"iges\": \"model/iges\",\n \"igs\": \"model/iges\",\n \"img\": \"application/octet-stream\",\n \"in\": \"text/plain\",\n \"ini\": \"text/plain\",\n \"ink\": \"application/inkml+xml\",\n \"inkml\": \"application/inkml+xml\",\n \"ipfix\": \"application/ipfix\",\n \"iso\": \"application/octet-stream\",\n \"its\": \"application/its+xml\",\n \"jade\": \"text/jade\",\n \"jar\": \"application/java-archive\",\n \"jhc\": \"image/jphc\",\n \"jls\": \"image/jls\",\n \"jp2\": \"image/jp2\",\n \"jpe\": \"image/jpeg\",\n \"jpeg\": \"image/jpeg\",\n \"jpf\": \"image/jpx\",\n \"jpg\": \"image/jpeg\",\n \"jpg2\": \"image/jp2\",\n \"jpgm\": \"image/jpm\",\n \"jpgv\": \"video/jpeg\",\n \"jph\": \"image/jph\",\n \"jpm\": \"image/jpm\",\n \"jpx\": \"image/jpx\",\n \"js\": \"text/javascript\",\n \"json\": \"application/json\",\n \"json5\": \"application/json5\",\n \"jsonld\": \"application/ld+json\",\n \"jsonml\": \"application/jsonml+json\",\n \"jsx\": \"text/jsx\",\n \"jt\": \"model/jt\",\n \"jxr\": \"image/jxr\",\n \"jxra\": \"image/jxra\",\n \"jxrs\": \"image/jxrs\",\n \"jxs\": \"image/jxs\",\n \"jxsc\": \"image/jxsc\",\n \"jxsi\": \"image/jxsi\",\n \"jxss\": \"image/jxss\",\n \"kar\": \"audio/midi\",\n \"ktx\": \"image/ktx\",\n \"ktx2\": \"image/ktx2\",\n \"less\": \"text/less\",\n \"lgr\": \"application/lgr+xml\",\n \"list\": \"text/plain\",\n \"litcoffee\": \"text/coffeescript\",\n \"log\": \"text/plain\",\n \"lostxml\": \"application/lost+xml\",\n \"lrf\": \"application/octet-stream\",\n \"m1v\": \"video/mpeg\",\n \"m21\": \"application/mp21\",\n \"m2a\": \"audio/mpeg\",\n \"m2v\": \"video/mpeg\",\n \"m3a\": \"audio/mpeg\",\n \"m4a\": \"audio/mp4\",\n \"m4p\": \"application/mp4\",\n \"m4s\": \"video/iso.segment\",\n \"ma\": \"application/mathematica\",\n \"mads\": \"application/mads+xml\",\n \"maei\": \"application/mmt-aei+xml\",\n \"man\": \"text/troff\",\n \"manifest\": \"text/cache-manifest\",\n \"map\": \"application/json\",\n \"mar\": \"application/octet-stream\",\n \"markdown\": \"text/markdown\",\n \"mathml\": \"application/mathml+xml\",\n \"mb\": \"application/mathematica\",\n \"mbox\": \"application/mbox\",\n \"md\": \"text/markdown\",\n \"mdx\": \"text/mdx\",\n \"me\": \"text/troff\",\n \"mesh\": \"model/mesh\",\n \"meta4\": \"application/metalink4+xml\",\n \"metalink\": \"application/metalink+xml\",\n \"mets\": \"application/mets+xml\",\n \"mft\": \"application/rpki-manifest\",\n \"mid\": \"audio/midi\",\n \"midi\": \"audio/midi\",\n \"mime\": \"message/rfc822\",\n \"mj2\": \"video/mj2\",\n \"mjp2\": \"video/mj2\",\n \"mjs\": \"text/javascript\",\n \"mml\": \"text/mathml\",\n \"mods\": \"application/mods+xml\",\n \"mov\": \"video/quicktime\",\n \"mp2\": \"audio/mpeg\",\n \"mp21\": \"application/mp21\",\n \"mp2a\": \"audio/mpeg\",\n \"mp3\": \"audio/mpeg\",\n \"mp4\": \"video/mp4\",\n \"mp4a\": \"audio/mp4\",\n \"mp4s\": \"application/mp4\",\n \"mp4v\": \"video/mp4\",\n \"mpd\": \"application/dash+xml\",\n \"mpe\": \"video/mpeg\",\n \"mpeg\": \"video/mpeg\",\n \"mpf\": \"application/media-policy-dataset+xml\",\n \"mpg\": \"video/mpeg\",\n \"mpg4\": \"video/mp4\",\n \"mpga\": \"audio/mpeg\",\n \"mpp\": \"application/dash-patch+xml\",\n \"mrc\": \"application/marc\",\n \"mrcx\": \"application/marcxml+xml\",\n \"ms\": \"text/troff\",\n \"mscml\": \"application/mediaservercontrol+xml\",\n \"msh\": \"model/mesh\",\n \"msi\": \"application/octet-stream\",\n \"msix\": \"application/msix\",\n \"msixbundle\": \"application/msixbundle\",\n \"msm\": \"application/octet-stream\",\n \"msp\": \"application/octet-stream\",\n \"mtl\": \"model/mtl\",\n \"musd\": \"application/mmt-usd+xml\",\n \"mxf\": \"application/mxf\",\n \"mxmf\": \"audio/mobile-xmf\",\n \"mxml\": \"application/xv+xml\",\n \"n3\": \"text/n3\",\n \"nb\": \"application/mathematica\",\n \"nq\": \"application/n-quads\",\n \"nt\": \"application/n-triples\",\n \"obj\": \"model/obj\",\n \"oda\": \"application/oda\",\n \"oga\": \"audio/ogg\",\n \"ogg\": \"audio/ogg\",\n \"ogv\": \"video/ogg\",\n \"ogx\": \"application/ogg\",\n \"omdoc\": \"application/omdoc+xml\",\n \"onepkg\": \"application/onenote\",\n \"onetmp\": \"application/onenote\",\n \"onetoc\": \"application/onenote\",\n \"onetoc2\": \"application/onenote\",\n \"opf\": \"application/oebps-package+xml\",\n \"opus\": \"audio/ogg\",\n \"otf\": \"font/otf\",\n \"owl\": \"application/rdf+xml\",\n \"oxps\": \"application/oxps\",\n \"p10\": \"application/pkcs10\",\n \"p7c\": \"application/pkcs7-mime\",\n \"p7m\": \"application/pkcs7-mime\",\n \"p7s\": \"application/pkcs7-signature\",\n \"p8\": \"application/pkcs8\",\n \"pdf\": \"application/pdf\",\n \"pfr\": \"application/font-tdpfr\",\n \"pgp\": \"application/pgp-encrypted\",\n \"pkg\": \"application/octet-stream\",\n \"pki\": \"application/pkixcmp\",\n \"pkipath\": \"application/pkix-pkipath\",\n \"pls\": \"application/pls+xml\",\n \"png\": \"image/png\",\n \"prc\": \"model/prc\",\n \"prf\": \"application/pics-rules\",\n \"provx\": \"application/provenance+xml\",\n \"ps\": \"application/postscript\",\n \"pskcxml\": \"application/pskc+xml\",\n \"pti\": \"image/prs.pti\",\n \"qt\": \"video/quicktime\",\n \"raml\": \"application/raml+yaml\",\n \"rapd\": \"application/route-apd+xml\",\n \"rdf\": \"application/rdf+xml\",\n \"relo\": \"application/p2p-overlay+xml\",\n \"rif\": \"application/reginfo+xml\",\n \"rl\": \"application/resource-lists+xml\",\n \"rld\": \"application/resource-lists-diff+xml\",\n \"rmi\": \"audio/midi\",\n \"rnc\": \"application/relax-ng-compact-syntax\",\n \"rng\": \"application/xml\",\n \"roa\": \"application/rpki-roa\",\n \"roff\": \"text/troff\",\n \"rq\": \"application/sparql-query\",\n \"rs\": \"application/rls-services+xml\",\n \"rsat\": \"application/atsc-rsat+xml\",\n \"rsd\": \"application/rsd+xml\",\n \"rsheet\": \"application/urc-ressheet+xml\",\n \"rss\": \"application/rss+xml\",\n \"rtf\": \"text/rtf\",\n \"rtx\": \"text/richtext\",\n \"rusd\": \"application/route-usd+xml\",\n \"s3m\": \"audio/s3m\",\n \"sbml\": \"application/sbml+xml\",\n \"scq\": \"application/scvp-cv-request\",\n \"scs\": \"application/scvp-cv-response\",\n \"sdp\": \"application/sdp\",\n \"senmlx\": \"application/senml+xml\",\n \"sensmlx\": \"application/sensml+xml\",\n \"ser\": \"application/java-serialized-object\",\n \"setpay\": \"application/set-payment-initiation\",\n \"setreg\": \"application/set-registration-initiation\",\n \"sgi\": \"image/sgi\",\n \"sgm\": \"text/sgml\",\n \"sgml\": \"text/sgml\",\n \"shex\": \"text/shex\",\n \"shf\": \"application/shf+xml\",\n \"shtml\": \"text/html\",\n \"sieve\": \"application/sieve\",\n \"sig\": \"application/pgp-signature\",\n \"sil\": \"audio/silk\",\n \"silo\": \"model/mesh\",\n \"siv\": \"application/sieve\",\n \"slim\": \"text/slim\",\n \"slm\": \"text/slim\",\n \"sls\": \"application/route-s-tsid+xml\",\n \"smi\": \"application/smil+xml\",\n \"smil\": \"application/smil+xml\",\n \"snd\": \"audio/basic\",\n \"so\": \"application/octet-stream\",\n \"spdx\": \"text/spdx\",\n \"spp\": \"application/scvp-vp-response\",\n \"spq\": \"application/scvp-vp-request\",\n \"spx\": \"audio/ogg\",\n \"sql\": \"application/sql\",\n \"sru\": \"application/sru+xml\",\n \"srx\": \"application/sparql-results+xml\",\n \"ssdl\": \"application/ssdl+xml\",\n \"ssml\": \"application/ssml+xml\",\n \"stk\": \"application/hyperstudio\",\n \"stl\": \"model/stl\",\n \"stpx\": \"model/step+xml\",\n \"stpxz\": \"model/step-xml+zip\",\n \"stpz\": \"model/step+zip\",\n \"styl\": \"text/stylus\",\n \"stylus\": \"text/stylus\",\n \"svg\": \"image/svg+xml\",\n \"svgz\": \"image/svg+xml\",\n \"swidtag\": \"application/swid+xml\",\n \"t\": \"text/troff\",\n \"t38\": \"image/t38\",\n \"td\": \"application/urc-targetdesc+xml\",\n \"tei\": \"application/tei+xml\",\n \"teicorpus\": \"application/tei+xml\",\n \"text\": \"text/plain\",\n \"tfi\": \"application/thraud+xml\",\n \"tfx\": \"image/tiff-fx\",\n \"tif\": \"image/tiff\",\n \"tiff\": \"image/tiff\",\n \"toml\": \"application/toml\",\n \"tr\": \"text/troff\",\n \"trig\": \"application/trig\",\n \"ts\": \"video/mp2t\",\n \"tsd\": \"application/timestamped-data\",\n \"tsv\": \"text/tab-separated-values\",\n \"ttc\": \"font/collection\",\n \"ttf\": \"font/ttf\",\n \"ttl\": \"text/turtle\",\n \"ttml\": \"application/ttml+xml\",\n \"txt\": \"text/plain\",\n \"u3d\": \"model/u3d\",\n \"u8dsn\": \"message/global-delivery-status\",\n \"u8hdr\": \"message/global-headers\",\n \"u8mdn\": \"message/global-disposition-notification\",\n \"u8msg\": \"message/global\",\n \"ubj\": \"application/ubjson\",\n \"uri\": \"text/uri-list\",\n \"uris\": \"text/uri-list\",\n \"urls\": \"text/uri-list\",\n \"vcard\": \"text/vcard\",\n \"vrml\": \"model/vrml\",\n \"vtt\": \"text/vtt\",\n \"vxml\": \"application/voicexml+xml\",\n \"war\": \"application/java-archive\",\n \"wasm\": \"application/wasm\",\n \"wav\": \"audio/wav\",\n \"weba\": \"audio/webm\",\n \"webm\": \"video/webm\",\n \"webmanifest\": \"application/manifest+json\",\n \"webp\": \"image/webp\",\n \"wgsl\": \"text/wgsl\",\n \"wgt\": \"application/widget\",\n \"wif\": \"application/watcherinfo+xml\",\n \"wmf\": \"image/wmf\",\n \"woff\": \"font/woff\",\n \"woff2\": \"font/woff2\",\n \"wrl\": \"model/vrml\",\n \"wsdl\": \"application/wsdl+xml\",\n \"wspolicy\": \"application/wspolicy+xml\",\n \"x3d\": \"model/x3d+xml\",\n \"x3db\": \"model/x3d+fastinfoset\",\n \"x3dbz\": \"model/x3d+binary\",\n \"x3dv\": \"model/x3d-vrml\",\n \"x3dvz\": \"model/x3d+vrml\",\n \"x3dz\": \"model/x3d+xml\",\n \"xaml\": \"application/xaml+xml\",\n \"xav\": \"application/xcap-att+xml\",\n \"xca\": \"application/xcap-caps+xml\",\n \"xcs\": \"application/calendar+xml\",\n \"xdf\": \"application/xcap-diff+xml\",\n \"xdssc\": \"application/dssc+xml\",\n \"xel\": \"application/xcap-el+xml\",\n \"xenc\": \"application/xenc+xml\",\n \"xer\": \"application/patch-ops-error+xml\",\n \"xfdf\": \"application/xfdf\",\n \"xht\": \"application/xhtml+xml\",\n \"xhtml\": \"application/xhtml+xml\",\n \"xhvml\": \"application/xv+xml\",\n \"xlf\": \"application/xliff+xml\",\n \"xm\": \"audio/xm\",\n \"xml\": \"text/xml\",\n \"xns\": \"application/xcap-ns+xml\",\n \"xop\": \"application/xop+xml\",\n \"xpl\": \"application/xproc+xml\",\n \"xsd\": \"application/xml\",\n \"xsf\": \"application/prs.xsf+xml\",\n \"xsl\": \"application/xml\",\n \"xslt\": \"application/xml\",\n \"xspf\": \"application/xspf+xml\",\n \"xvm\": \"application/xv+xml\",\n \"xvml\": \"application/xv+xml\",\n \"yaml\": \"text/yaml\",\n \"yang\": \"application/yang\",\n \"yin\": \"application/yin+xml\",\n \"yml\": \"text/yaml\",\n \"zip\": \"application/zip\"\n};\n\nfunction lookup(extn) {\n\tlet tmp = ('' + extn).trim().toLowerCase();\n\tlet idx = tmp.lastIndexOf('.');\n\treturn mimes[!~idx ? tmp : tmp.substring(++idx)];\n}\n\nconst noop = () => {};\n\nfunction isMatch(uri, arr) {\n\tfor (let i=0; i < arr.length; i++) {\n\t\tif (arr[i].test(uri)) return true;\n\t}\n}\n\nfunction toAssume(uri, extns) {\n\tlet i=0, x, len=uri.length - 1;\n\tif (uri.charCodeAt(len) === 47) {\n\t\turi = uri.substring(0, len);\n\t}\n\n\tlet arr=[], tmp=`${uri}/index`;\n\tfor (; i < extns.length; i++) {\n\t\tx = extns[i] ? `.${extns[i]}` : '';\n\t\tif (uri) arr.push(uri + x);\n\t\tarr.push(tmp + x);\n\t}\n\n\treturn arr;\n}\n\nfunction viaCache(cache, uri, extns) {\n\tlet i=0, data, arr=toAssume(uri, extns);\n\tfor (; i < arr.length; i++) {\n\t\tif (data = cache[arr[i]]) return data;\n\t}\n}\n\nfunction viaLocal(dir, isEtag, uri, extns) {\n\tlet i=0, arr=toAssume(uri, extns);\n\tlet abs, stats, name, headers;\n\tfor (; i < arr.length; i++) {\n\t\tabs = normalize(\n\t\t\tjoin(dir, name=arr[i])\n\t\t);\n\n\t\tif (abs.startsWith(dir) && fs.existsSync(abs)) {\n\t\t\tstats = fs.statSync(abs);\n\t\t\tif (stats.isDirectory()) continue;\n\t\t\theaders = toHeaders(name, stats, isEtag);\n\t\t\theaders['Cache-Control'] = isEtag ? 'no-cache' : 'no-store';\n\t\t\treturn { abs, stats, headers };\n\t\t}\n\t}\n}\n\nfunction is404(req, res) {\n\treturn (res.statusCode=404,res.end());\n}\n\nfunction send(req, res, file, stats, headers) {\n\tlet code=200, tmp, opts={};\n\theaders = { ...headers };\n\n\tfor (let key in headers) {\n\t\ttmp = res.getHeader(key);\n\t\tif (tmp) headers[key] = tmp;\n\t}\n\n\tif (tmp = res.getHeader('content-type')) {\n\t\theaders['Content-Type'] = tmp;\n\t}\n\n\tif (req.headers.range) {\n\t\tcode = 206;\n\t\tlet [x, y] = req.headers.range.replace('bytes=', '').split('-');\n\t\tlet end = opts.end = parseInt(y, 10) || stats.size - 1;\n\t\tlet start = opts.start = parseInt(x, 10) || 0;\n\n\t\tif (end >= stats.size) {\n\t\t\tend = stats.size - 1;\n\t\t}\n\n\t\tif (start >= stats.size) {\n\t\t\tres.setHeader('Content-Range', `bytes */${stats.size}`);\n\t\t\tres.statusCode = 416;\n\t\t\treturn res.end();\n\t\t}\n\n\t\theaders['Content-Range'] = `bytes ${start}-${end}/${stats.size}`;\n\t\theaders['Content-Length'] = (end - start + 1);\n\t\theaders['Accept-Ranges'] = 'bytes';\n\t}\n\n\tres.writeHead(code, headers);\n\tfs.createReadStream(file, opts).pipe(res);\n}\n\nconst ENCODING = {\n\t'.br': 'br',\n\t'.gz': 'gzip',\n};\n\nfunction toHeaders(name, stats, isEtag) {\n\tlet enc = ENCODING[name.slice(-3)];\n\n\tlet ctype = lookup(name.slice(0, enc && -3)) || '';\n\tif (ctype === 'text/html') ctype += ';charset=utf-8';\n\n\tlet headers = {\n\t\t'Content-Length': stats.size,\n\t\t'Content-Type': ctype,\n\t\t'Last-Modified': stats.mtime.toUTCString(),\n\t};\n\n\tif (enc) headers['Content-Encoding'] = enc;\n\tif (isEtag) headers['ETag'] = `W/\"${stats.size}-${stats.mtime.getTime()}\"`;\n\n\treturn headers;\n}\n\nfunction sirv (dir, opts={}) {\n\tdir = resolve(dir || '.');\n\n\tlet isNotFound = opts.onNoMatch || is404;\n\tlet setHeaders = opts.setHeaders || noop;\n\n\tlet extensions = opts.extensions || ['html', 'htm'];\n\tlet gzips = opts.gzip && extensions.map(x => `${x}.gz`).concat('gz');\n\tlet brots = opts.brotli && extensions.map(x => `${x}.br`).concat('br');\n\n\tconst FILES = {};\n\n\tlet fallback = '/';\n\tlet isEtag = !!opts.etag;\n\tlet isSPA = !!opts.single;\n\tif (typeof opts.single === 'string') {\n\t\tlet idx = opts.single.lastIndexOf('.');\n\t\tfallback += !!~idx ? opts.single.substring(0, idx) : opts.single;\n\t}\n\n\tlet ignores = [];\n\tif (opts.ignores !== false) {\n\t\tignores.push(/[/]([A-Za-z\\s\\d~$._-]+\\.\\w+){1,}$/); // any extn\n\t\tif (opts.dotfiles) ignores.push(/\\/\\.\\w/);\n\t\telse ignores.push(/\\/\\.well-known/);\n\t\t[].concat(opts.ignores || []).forEach(x => {\n\t\t\tignores.push(new RegExp(x, 'i'));\n\t\t});\n\t}\n\n\tlet cc = opts.maxAge != null && `public,max-age=${opts.maxAge}`;\n\tif (cc && opts.immutable) cc += ',immutable';\n\telse if (cc && opts.maxAge === 0) cc += ',must-revalidate';\n\n\tif (!opts.dev) {\n\t\ttotalist(dir, (name, abs, stats) => {\n\t\t\tif (/\\.well-known[\\\\+\\/]/.test(name)) ; // keep\n\t\t\telse if (!opts.dotfiles && /(^\\.|[\\\\+|\\/+]\\.)/.test(name)) return;\n\n\t\t\tlet headers = toHeaders(name, stats, isEtag);\n\t\t\tif (cc) headers['Cache-Control'] = cc;\n\n\t\t\tFILES['/' + name.normalize().replace(/\\\\+/g, '/')] = { abs, stats, headers };\n\t\t});\n\t}\n\n\tlet lookup = opts.dev ? viaLocal.bind(0, dir + sep, isEtag) : viaCache.bind(0, FILES);\n\n\treturn function (req, res, next) {\n\t\tlet extns = [''];\n\t\tlet pathname = parse$1(req).pathname;\n\t\tlet val = req.headers['accept-encoding'] || '';\n\t\tif (gzips && val.includes('gzip')) extns.unshift(...gzips);\n\t\tif (brots && /(br|brotli)/i.test(val)) extns.unshift(...brots);\n\t\textns.push(...extensions); // [...br, ...gz, orig, ...exts]\n\n\t\tif (pathname.indexOf('%') !== -1) {\n\t\t\ttry { pathname = decodeURI(pathname); }\n\t\t\tcatch (err) { /* malform uri */ }\n\t\t}\n\n\t\tlet data = lookup(pathname, extns) || isSPA && !isMatch(pathname, ignores) && lookup(fallback, extns);\n\t\tif (!data) return next ? next() : isNotFound(req, res);\n\n\t\tif (isEtag && req.headers['if-none-match'] === data.headers['ETag']) {\n\t\t\tres.writeHead(304);\n\t\t\treturn res.end();\n\t\t}\n\n\t\tif (gzips || brots) {\n\t\t\tres.setHeader('Vary', 'Accept-Encoding');\n\t\t}\n\n\t\tsetHeaders(res, pathname, data.stats);\n\t\tsend(req, res, data.abs, data.stats, data.headers);\n\t};\n}\n\n/**\n * @param {string|RegExp} input The route pattern\n * @param {boolean} [loose] Allow open-ended matching. Ignored with `RegExp` input.\n */\nfunction parse(input, loose) {\n\tif (input instanceof RegExp) return { keys:false, pattern:input };\n\tvar c, o, tmp, ext, keys=[], pattern='', arr = input.split('/');\n\tarr[0] || arr.shift();\n\n\twhile (tmp = arr.shift()) {\n\t\tc = tmp[0];\n\t\tif (c === '*') {\n\t\t\tkeys.push(c);\n\t\t\tpattern += tmp[1] === '?' ? '(?:/(.*))?' : '/(.*)';\n\t\t} else if (c === ':') {\n\t\t\to = tmp.indexOf('?', 1);\n\t\t\text = tmp.indexOf('.', 1);\n\t\t\tkeys.push( tmp.substring(1, !!~o ? o : !!~ext ? ext : tmp.length) );\n\t\t\tpattern += !!~o && !~ext ? '(?:/([^/]+?))?' : '/([^/]+?)';\n\t\t\tif (!!~ext) pattern += (!!~o ? '?' : '') + '\\\\' + tmp.substring(ext);\n\t\t} else {\n\t\t\tpattern += '/' + tmp;\n\t\t}\n\t}\n\n\treturn {\n\t\tkeys: keys,\n\t\tpattern: new RegExp('^' + pattern + (loose ? '(?=$|\\/)' : '\\/?$'), 'i')\n\t};\n}\n\nconst MAP = {\n\t\"\": 0,\n\tGET: 1,\n\tHEAD: 2,\n\tPATCH: 3,\n\tOPTIONS: 4,\n\tCONNECT: 5,\n\tDELETE: 6,\n\tTRACE: 7,\n\tPOST: 8,\n\tPUT: 9,\n};\n\nclass Trouter {\n\tconstructor() {\n\t\tthis.routes = [];\n\n\t\tthis.all = this.add.bind(this, '');\n\t\tthis.get = this.add.bind(this, 'GET');\n\t\tthis.head = this.add.bind(this, 'HEAD');\n\t\tthis.patch = this.add.bind(this, 'PATCH');\n\t\tthis.options = this.add.bind(this, 'OPTIONS');\n\t\tthis.connect = this.add.bind(this, 'CONNECT');\n\t\tthis.delete = this.add.bind(this, 'DELETE');\n\t\tthis.trace = this.add.bind(this, 'TRACE');\n\t\tthis.post = this.add.bind(this, 'POST');\n\t\tthis.put = this.add.bind(this, 'PUT');\n\t}\n\n\tuse(route, ...fns) {\n\t\tlet handlers = [].concat.apply([], fns);\n\t\tlet { keys, pattern } = parse(route, true);\n\t\tthis.routes.push({ keys, pattern, method: '', handlers, midx: MAP[''] });\n\t\treturn this;\n\t}\n\n\tadd(method, route, ...fns) {\n\t\tlet { keys, pattern } = parse(route);\n\t\tlet handlers = [].concat.apply([], fns);\n\t\tthis.routes.push({ keys, pattern, method, handlers, midx: MAP[method] });\n\t\treturn this;\n\t}\n\n\tfind(method, url) {\n\t\tlet midx = MAP[method];\n\t\tlet isHEAD = (midx === 2);\n\t\tlet i=0, j=0, k, tmp, arr=this.routes;\n\t\tlet matches=[], params={}, handlers=[];\n\t\tfor (; i < arr.length; i++) {\n\t\t\ttmp = arr[i];\n\t\t\tif (tmp.midx === midx || tmp.midx === 0 || (isHEAD && tmp.midx===1) ) {\n\t\t\t\tif (tmp.keys === false) {\n\t\t\t\t\tmatches = tmp.pattern.exec(url);\n\t\t\t\t\tif (matches === null) continue;\n\t\t\t\t\tif (matches.groups !== void 0) for (k in matches.groups) params[k]=matches.groups[k];\n\t\t\t\t\ttmp.handlers.length > 1 ? (handlers=handlers.concat(tmp.handlers)) : handlers.push(tmp.handlers[0]);\n\t\t\t\t} else if (tmp.keys.length > 0) {\n\t\t\t\t\tmatches = tmp.pattern.exec(url);\n\t\t\t\t\tif (matches === null) continue;\n\t\t\t\t\tfor (j=0; j < tmp.keys.length;) params[tmp.keys[j]]=matches[++j];\n\t\t\t\t\ttmp.handlers.length > 1 ? (handlers=handlers.concat(tmp.handlers)) : handlers.push(tmp.handlers[0]);\n\t\t\t\t} else if (tmp.pattern.test(url)) {\n\t\t\t\t\ttmp.handlers.length > 1 ? (handlers=handlers.concat(tmp.handlers)) : handlers.push(tmp.handlers[0]);\n\t\t\t\t}\n\t\t\t} // else not a match\n\t\t}\n\n\t\treturn { params, handlers };\n\t}\n}\n\nfunction onError(err, req, res) {\n\tlet code = typeof err.status === 'number' && err.status;\n\tcode = res.statusCode = (code && code >= 100 ? code : 500);\n\tif (typeof err === 'string' || Buffer.isBuffer(err)) res.end(err);\n\telse res.end(err.message || http.STATUS_CODES[code]);\n}\n\nconst mount = fn => fn instanceof Polka ? fn.attach : fn;\n\nclass Polka extends Trouter {\n\tconstructor(opts={}) {\n\t\tsuper();\n\t\tthis.parse = parse$1;\n\t\tthis.server = opts.server;\n\t\tthis.handler = this.handler.bind(this);\n\t\tthis.onError = opts.onError || onError; // catch-all handler\n\t\tthis.onNoMatch = opts.onNoMatch || this.onError.bind(null, { status: 404 });\n\t\tthis.attach = (req, res) => setImmediate(this.handler, req, res);\n\t}\n\n\tuse(base, ...fns) {\n\t\tif (base === '/') {\n\t\t\tsuper.use(base, fns.map(mount));\n\t\t} else if (typeof base === 'function' || base instanceof Polka) {\n\t\t\tsuper.use('/', [base, ...fns].map(mount));\n\t\t} else {\n\t\t\tsuper.use(base,\n\t\t\t\t(req, _, next) => {\n\t\t\t\t\tif (typeof base === 'string') {\n\t\t\t\t\t\tlet len = base.length;\n\t\t\t\t\t\tbase.startsWith('/') || len++;\n\t\t\t\t\t\treq.url = req.url.substring(len) || '/';\n\t\t\t\t\t\treq.path = req.path.substring(len) || '/';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treq.url = req.url.replace(base, '') || '/';\n\t\t\t\t\t\treq.path = req.path.replace(base, '') || '/';\n\t\t\t\t\t}\n\t\t\t\t\tif (req.url.charAt(0) !== '/') {\n\t\t\t\t\t\treq.url = '/' + req.url;\n\t\t\t\t\t}\n\t\t\t\t\tnext();\n\t\t\t\t},\n\t\t\t\tfns.map(mount),\n\t\t\t\t(req, _, next) => {\n\t\t\t\t\treq.path = req._parsedUrl.pathname;\n\t\t\t\t\treq.url = req.path + req._parsedUrl.search;\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\treturn this; // chainable\n\t}\n\n\tlisten() {\n\t\t(this.server = this.server || http.createServer()).on('request', this.attach);\n\t\tthis.server.listen.apply(this.server, arguments);\n\t\treturn this;\n\t}\n\n\thandler(req, res, next) {\n\t\tlet info = this.parse(req), path = info.pathname;\n\t\tlet obj = this.find(req.method, req.path=path);\n\n\t\treq.url = path + info.search;\n\t\treq.originalUrl = req.originalUrl || req.url;\n\t\treq.query = info.query || {};\n\t\treq.search = info.search;\n\t\treq.params = obj.params;\n\n\t\tif (path.length > 1 && path.indexOf('%', 1) !== -1) {\n\t\t\tfor (let k in req.params) {\n\t\t\t\ttry { req.params[k] = decodeURIComponent(req.params[k]); }\n\t\t\t\tcatch (e) { /* malform uri segment */ }\n\t\t\t}\n\t\t}\n\n\t\tlet i=0, arr=obj.handlers.concat(this.onNoMatch), len=arr.length;\n\t\tlet loop = async () => res.finished || (i < len) && arr[i++](req, res, next);\n\t\t(next = next || (err => err ? this.onError(err, req, res, next) : loop().catch(next)))(); // init\n\t}\n}\n\nfunction polka (opts) {\n\treturn new Polka(opts);\n}\n\nexport { parse$1 as a, polka as p, sirv as s };\n","var defaultParseOptions = {\n decodeValues: true,\n map: false,\n silent: false,\n split: \"auto\", // auto = split strings but not arrays\n};\n\nfunction isForbiddenKey(key) {\n return typeof key !== \"string\" || key in {};\n}\n\nfunction createNullObj() {\n return Object.create(null);\n}\n\nfunction isNonEmptyString(str) {\n return typeof str === \"string\" && !!str.trim();\n}\n\nfunction parseString(setCookieValue, options) {\n var parts = setCookieValue.split(\";\").filter(isNonEmptyString);\n\n var nameValuePairStr = parts.shift();\n var parsed = parseNameValuePair(nameValuePairStr);\n var name = parsed.name;\n var value = parsed.value;\n\n options = options\n ? Object.assign({}, defaultParseOptions, options)\n : defaultParseOptions;\n\n if (isForbiddenKey(name)) {\n return null;\n }\n\n try {\n value = options.decodeValues ? decodeURIComponent(value) : value; // decode cookie value\n } catch (e) {\n console.error(\n \"set-cookie-parser: failed to decode cookie value. Set options.decodeValues=false to disable decoding.\",\n e\n );\n }\n\n var cookie = createNullObj();\n cookie.name = name;\n cookie.value = value;\n\n parts.forEach(function (part) {\n var sides = part.split(\"=\");\n var key = sides.shift().trimLeft().toLowerCase();\n if (isForbiddenKey(key)) {\n return;\n }\n var value = sides.join(\"=\");\n if (key === \"expires\") {\n cookie.expires = new Date(value);\n } else if (key === \"max-age\") {\n var n = parseInt(value, 10);\n if (!Number.isNaN(n)) cookie.maxAge = n;\n } else if (key === \"secure\") {\n cookie.secure = true;\n } else if (key === \"httponly\") {\n cookie.httpOnly = true;\n } else if (key === \"samesite\") {\n cookie.sameSite = value;\n } else if (key === \"partitioned\") {\n cookie.partitioned = true;\n } else if (key) {\n cookie[key] = value;\n }\n });\n\n return cookie;\n}\n\nfunction parseNameValuePair(nameValuePairStr) {\n // Parses name-value-pair according to rfc6265bis draft\n\n var name = \"\";\n var value = \"\";\n var nameValueArr = nameValuePairStr.split(\"=\");\n if (nameValueArr.length > 1) {\n name = nameValueArr.shift();\n value = nameValueArr.join(\"=\"); // everything after the first =, joined by a \"=\" if there was more than one part\n } else {\n value = nameValuePairStr;\n }\n\n return { name: name, value: value };\n}\n\nfunction parseSetCookie(input, options) {\n options = options\n ? Object.assign({}, defaultParseOptions, options)\n : defaultParseOptions;\n\n if (!input) {\n if (!options.map) {\n return [];\n } else {\n return createNullObj();\n }\n }\n\n if (input.headers) {\n if (typeof input.headers.getSetCookie === \"function\") {\n // for fetch responses - they combine headers of the same type in the headers array,\n // but getSetCookie returns an uncombined array\n input = input.headers.getSetCookie();\n } else if (input.headers[\"set-cookie\"]) {\n // fast-path for node.js (which automatically normalizes header names to lower-case)\n input = input.headers[\"set-cookie\"];\n } else {\n // slow-path for other environments - see #25\n var sch =\n input.headers[\n Object.keys(input.headers).find(function (key) {\n return key.toLowerCase() === \"set-cookie\";\n })\n ];\n // warn if called on a request-like object with a cookie header rather than a set-cookie header - see #34, 36\n if (!sch && input.headers.cookie && !options.silent) {\n console.warn(\n \"Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning.\"\n );\n }\n input = sch;\n }\n }\n\n var split = options.split;\n var isArray = Array.isArray(input);\n\n if (split === \"auto\") {\n split = !isArray;\n }\n\n if (!isArray) {\n input = [input];\n }\n\n input = input.filter(isNonEmptyString);\n\n if (split) {\n input = input.map(splitCookiesString).flat();\n }\n\n if (!options.map) {\n return input\n .map(function (str) {\n return parseString(str, options);\n })\n .filter(Boolean);\n } else {\n var cookies = createNullObj();\n return input.reduce(function (cookies, str) {\n var cookie = parseString(str, options);\n if (cookie && !isForbiddenKey(cookie.name)) {\n cookies[cookie.name] = cookie;\n }\n return cookies;\n }, cookies);\n }\n}\n\n/*\n Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas\n that are within a single set-cookie field-value, such as in the Expires portion.\n\n This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2\n Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128\n React Native's fetch does this for *every* header, including set-cookie.\n\n Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25\n Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation\n*/\nfunction splitCookiesString(cookiesString) {\n if (Array.isArray(cookiesString)) {\n return cookiesString;\n }\n if (typeof cookiesString !== \"string\") {\n return [];\n }\n\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n\n function skipWhitespace() {\n while (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) {\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n\n while (pos < cookiesString.length) {\n start = pos;\n cookiesSeparatorFound = false;\n\n while (skipWhitespace()) {\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n // ',' is a cookie separator if we have later first '=', not ';' or ','\n lastComma = pos;\n pos += 1;\n\n skipWhitespace();\n nextStart = pos;\n\n while (pos < cookiesString.length && notSpecialChar()) {\n pos += 1;\n }\n\n // currently special character\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n // we found cookies separator\n cookiesSeparatorFound = true;\n // pos is inside the next cookie, so back up and return it.\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n // in param ',' or param separator ';',\n // we continue from that comma\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n\n return cookiesStrings;\n}\n\n// named export for CJS\nparseSetCookie.parseSetCookie = parseSetCookie;\n// for backwards compatibility\nparseSetCookie.parse = parseSetCookie;\nparseSetCookie.parseString = parseString;\nparseSetCookie.splitCookiesString = splitCookiesString;\n\n// EXPORTS\n// (this section is replaced by build-cjs.js)\n\n// named export for ESM\nexport { parseSetCookie };\n// for backwards compatibility\nexport default parseSetCookie;\nexport { parseSetCookie as parse, parseString, splitCookiesString };\n","import { createReadStream } from 'node:fs';\nimport { Readable } from 'node:stream';\nimport * as set_cookie_parser from 'set-cookie-parser';\nimport { SvelteKitError } from '../internal/index.js';\n\n/**\n * @param {import('http').IncomingMessage} req\n * @param {number} [body_size_limit]\n */\nfunction get_raw_body(req, body_size_limit) {\n\tconst h = req.headers;\n\n\tif (!h['content-type']) {\n\t\treturn null;\n\t}\n\n\tconst content_length = Number(h['content-length']);\n\n\t// check if no request body\n\tif (\n\t\t(req.httpVersionMajor === 1 && isNaN(content_length) && h['transfer-encoding'] == null) ||\n\t\tcontent_length === 0\n\t) {\n\t\treturn null;\n\t}\n\n\tif (req.destroyed) {\n\t\tconst readable = new ReadableStream();\n\t\tvoid readable.cancel();\n\t\treturn readable;\n\t}\n\n\tlet size = 0;\n\tlet cancelled = false;\n\n\treturn new ReadableStream({\n\t\tstart(controller) {\n\t\t\tif (body_size_limit !== undefined && content_length > body_size_limit) {\n\t\t\t\tlet message = `Content-length of ${content_length} exceeds limit of ${body_size_limit} bytes.`;\n\n\t\t\t\tif (body_size_limit === 0) {\n\t\t\t\t\t// https://github.com/sveltejs/kit/pull/11589\n\t\t\t\t\t// TODO this exists to aid migration — remove in a future version\n\t\t\t\t\tmessage += ' To disable body size limits, specify Infinity rather than 0.';\n\t\t\t\t}\n\n\t\t\t\tconst error = new SvelteKitError(413, 'Payload Too Large', message);\n\n\t\t\t\tcontroller.error(error);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treq.on('error', (error) => {\n\t\t\t\tcancelled = true;\n\t\t\t\tcontroller.error(error);\n\t\t\t});\n\n\t\t\treq.on('end', () => {\n\t\t\t\tif (cancelled) return;\n\t\t\t\tcontroller.close();\n\t\t\t});\n\n\t\t\treq.on('data', (chunk) => {\n\t\t\t\tif (cancelled) return;\n\n\t\t\t\tsize += chunk.length;\n\t\t\t\tif (size > content_length) {\n\t\t\t\t\tcancelled = true;\n\n\t\t\t\t\tconst constraint = content_length ? 'content-length' : 'BODY_SIZE_LIMIT';\n\t\t\t\t\tconst message = `request body size exceeded ${constraint} of ${content_length}`;\n\n\t\t\t\t\tconst error = new SvelteKitError(413, 'Payload Too Large', message);\n\t\t\t\t\tcontroller.error(error);\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tcontroller.enqueue(chunk);\n\n\t\t\t\tif (controller.desiredSize === null || controller.desiredSize <= 0) {\n\t\t\t\t\treq.pause();\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\tpull() {\n\t\t\treq.resume();\n\t\t},\n\n\t\tcancel(reason) {\n\t\t\tcancelled = true;\n\t\t\treq.destroy(reason);\n\t\t}\n\t});\n}\n\n/**\n * @param {{\n * request: import('http').IncomingMessage;\n * base: string;\n * bodySizeLimit?: number;\n * }} options\n * @returns {Promise<Request>}\n */\n// TODO 3.0 make the signature synchronous?\n// eslint-disable-next-line @typescript-eslint/require-await\nexport async function getRequest({ request, base, bodySizeLimit }) {\n\tlet headers = /** @type {Record<string, string>} */ (request.headers);\n\tif (request.httpVersionMajor >= 2) {\n\t\t// the Request constructor rejects headers with ':' in the name\n\t\theaders = Object.assign({}, headers);\n\t\t// https://www.rfc-editor.org/rfc/rfc9113.html#section-8.3.1-2.3.5\n\t\tif (headers[':authority']) {\n\t\t\theaders.host = headers[':authority'];\n\t\t}\n\t\tdelete headers[':authority'];\n\t\tdelete headers[':method'];\n\t\tdelete headers[':path'];\n\t\tdelete headers[':scheme'];\n\t}\n\n\t// TODO: Whenever Node >=22 is minimum supported version, we can use `request.readableAborted`\n\t// @see https://github.com/nodejs/node/blob/5cf3c3e24c7257a0c6192ed8ef71efec8ddac22b/lib/internal/streams/readable.js#L1443-L1453\n\tconst controller = new AbortController();\n\tlet errored = false;\n\tlet end_emitted = false;\n\trequest.once('error', () => (errored = true));\n\trequest.once('end', () => (end_emitted = true));\n\trequest.once('close', () => {\n\t\tif ((errored || request.destroyed) && !end_emitted) {\n\t\t\tcontroller.abort();\n\t\t}\n\t});\n\n\treturn new Request(base + request.url, {\n\t\t// @ts-expect-error\n\t\tduplex: 'half',\n\t\tmethod: request.method,\n\t\theaders: Object.entries(headers),\n\t\tsignal: controller.signal,\n\t\tbody:\n\t\t\trequest.method === 'GET' || request.method === 'HEAD'\n\t\t\t\t? undefined\n\t\t\t\t: get_raw_body(request, bodySizeLimit)\n\t});\n}\n\n/**\n * @param {import('http').ServerResponse} res\n * @param {Response} response\n * @returns {Promise<void>}\n */\n// TODO 3.0 make the signature synchronous?\n// eslint-disable-next-line @typescript-eslint/require-await\nexport async function setResponse(res, response) {\n\tfor (const [key, value] of response.headers) {\n\t\ttry {\n\t\t\tres.setHeader(\n\t\t\t\tkey,\n\t\t\t\tkey === 'set-cookie'\n\t\t\t\t\t? set_cookie_parser.splitCookiesString(\n\t\t\t\t\t\t\t// This is absurd but necessary, TODO: investigate why\n\t\t\t\t\t\t\t/** @type {string}*/ (response.headers.get(key))\n\t\t\t\t\t\t)\n\t\t\t\t\t: value\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tres.getHeaderNames().forEach((name) => res.removeHeader(name));\n\t\t\tres.writeHead(500).end(String(error));\n\t\t\treturn;\n\t\t}\n\t}\n\n\tres.writeHead(response.status);\n\n\tif (!response.body) {\n\t\tres.end();\n\t\treturn;\n\t}\n\n\tif (response.body.locked) {\n\t\tres.end(\n\t\t\t'Fatal error: Response body is locked. ' +\n\t\t\t\t\"This can happen when the response was already read (for example through 'response.json()' or 'response.text()').\"\n\t\t);\n\t\treturn;\n\t}\n\n\tconst reader = response.body.getReader();\n\n\tif (res.destroyed) {\n\t\tvoid reader.cancel();\n\t\treturn;\n\t}\n\n\tconst cancel = (/** @type {Error|undefined} */ error) => {\n\t\tres.off('close', cancel);\n\t\tres.off('error', cancel);\n\n\t\t// If the reader has already been interrupted with an error earlier,\n\t\t// then it will appear here, it is useless, but it needs to be catch.\n\t\treader.cancel(error).catch(() => {});\n\t\tif (error) res.destroy(error);\n\t};\n\n\tres.on('close', cancel);\n\tres.on('error', cancel);\n\n\tvoid next();\n\tasync function next() {\n\t\ttry {\n\t\t\tfor (;;) {\n\t\t\t\tconst { done, value } = await reader.read();\n\n\t\t\t\tif (done) break;\n\n\t\t\t\tif (!res.write(value)) {\n\t\t\t\t\tres.once('drain', next);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tres.end();\n\t\t} catch (error) {\n\t\t\tcancel(error instanceof Error ? error : new Error(String(error)));\n\t\t}\n\t}\n}\n\n/**\n * Converts a file on disk to a readable stream\n * @param {string} file\n * @returns {ReadableStream}\n * @since 2.4.0\n */\nexport function createReadableStream(file) {\n\treturn /** @type {ReadableStream} */ (Readable.toWeb(createReadStream(file)));\n}\n","import { format } from 'node:url';\n\n/**\n * Parses the given value into number of bytes.\n *\n * @param {string} value - Size in bytes. Can also be specified with a unit suffix kilobytes (K), megabytes (M), or gigabytes (G).\n * @returns {number}\n */\nfunction parse_as_bytes(value) {\n\tconst multiplier =\n\t\t{\n\t\t\tK: 1024,\n\t\t\tM: 1024 * 1024,\n\t\t\tG: 1024 * 1024 * 1024\n\t\t}[value[value.length - 1]?.toUpperCase()] ?? 1;\n\treturn Number(multiplier != 1 ? value.substring(0, value.length - 1) : value) * multiplier;\n}\n\n/**\n * Parses and validates an origin URL.\n *\n * @param {string | undefined} value - Origin URL with http:// or https:// protocol\n * @returns {string | undefined} The validated origin, or undefined if value is undefined\n * @throws {Error} If value is provided but invalid\n */\nfunction parse_origin(value) {\n\tif (value === undefined) {\n\t\treturn undefined;\n\t}\n\n\tconst trimmed = value.trim();\n\n\tlet url;\n\ttry {\n\t\turl = new URL(trimmed);\n\t} catch (error) {\n\t\tthrow new Error(\n\t\t\t`Invalid ORIGIN: '${trimmed}'. ` +\n\t\t\t\t`ORIGIN must be a valid URL with http:// or https:// protocol. ` +\n\t\t\t\t`For example: 'http://localhost:3000' or 'https://my.site'`,\n\t\t\t{ cause: error }\n\t\t);\n\t}\n\n\tif (url.protocol !== 'http:' && url.protocol !== 'https:') {\n\t\tthrow new Error(\n\t\t\t`Invalid ORIGIN: '${trimmed}'. ` +\n\t\t\t\t`Only http:// and https:// protocols are supported. ` +\n\t\t\t\t`Received protocol: ${url.protocol}`\n\t\t);\n\t}\n\n\treturn url.origin;\n}\n\n/**\n * Formats the address the server is listening on.\n *\n * @param {string | false} path\n * @param {string} host\n * @param {string | false} port\n * @param {import('node:net').AddressInfo | string | null} address\n * @returns {string}\n */\nfunction format_listening_address(path, host, port, address) {\n\tif (path) {\n\t\treturn path;\n\t}\n\n\tif (address && typeof address === 'object') {\n\t\treturn format({\n\t\t\tprotocol: 'http:',\n\t\t\thostname: address.address,\n\t\t\tport: address.port\n\t\t});\n\t}\n\n\treturn format({\n\t\tprotocol: 'http:',\n\t\thostname: host,\n\t\tport: String(port)\n\t});\n}\n\nexport { format_listening_address, parse_as_bytes, parse_origin };\n","import './shims.js';\nimport fs__default from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\nimport { s as sirv, a as parse } from './chunks/vendor.js';\nimport { createReadableStream, getRequest, setResponse } from '@sveltejs/kit/node';\nimport { Server } from 'SERVER';\nimport { manifest } from 'MANIFEST';\nimport { env, dir, env_prefix } from './env.js';\nimport { parse_origin, parse_as_bytes } from './utils.js';\n\nconst prerendered = PRERENDERED;\n\nconst server = new Server(manifest);\n\n// parse_origin validates ORIGIN and throws descriptive errors for invalid values\nconst origin = parse_origin(env('ORIGIN', undefined));\n\nconst xff_depth = parseInt(env('XFF_DEPTH', '1'));\nconst address_header = env('ADDRESS_HEADER', '').toLowerCase();\nconst protocol_header = env('PROTOCOL_HEADER', '').toLowerCase();\nconst host_header = env('HOST_HEADER', '').toLowerCase();\nconst port_header = env('PORT_HEADER', '').toLowerCase();\n\nconst body_size_limit = parse_as_bytes(env('BODY_SIZE_LIMIT', '512K'));\n\nif (isNaN(body_size_limit)) {\n\tthrow new Error(\n\t\t`Invalid BODY_SIZE_LIMIT: '${env('BODY_SIZE_LIMIT')}'. Please provide a numeric value.`\n\t);\n}\n\nconst asset_dir = `${dir}/client${BASE}`;\n\nawait server.init({\n\tenv: /** @type {Record<string, string>} */ (process.env),\n\tread: (file) => createReadableStream(`${asset_dir}/${file}`)\n});\n\n/**\n * @param {string} path\n * @param {boolean} client\n */\nfunction serve(path, client = false) {\n\treturn fs__default.existsSync(path)\n\t\t? sirv(path, {\n\t\t\t\tetag: true,\n\t\t\t\tgzip: PRECOMPRESS,\n\t\t\t\tbrotli: PRECOMPRESS,\n\t\t\t\tsetHeaders: client\n\t\t\t\t\t? (res, pathname) => {\n\t\t\t\t\t\t\t// only apply to build directory, not e.g. version.json\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpathname.startsWith(`/${manifest.appPath}/immutable/`) &&\n\t\t\t\t\t\t\t\tres.statusCode === 200\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tres.setHeader('cache-control', 'public,max-age=31536000,immutable');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined\n\t\t\t})\n\t\t: undefined;\n}\n\n// required because the static file server ignores trailing slashes\n/** @returns {import('polka').Middleware} */\nfunction serve_prerendered() {\n\tconst handler = serve(path.join(dir, 'prerendered'));\n\n\treturn (req, res, next) => {\n\t\tlet { pathname, search, query } = parse(req);\n\n\t\ttry {\n\t\t\tpathname = decodeURIComponent(pathname);\n\t\t} catch {\n\t\t\t// ignore invalid URI\n\t\t}\n\n\t\tif (prerendered.has(pathname)) {\n\t\t\treturn handler?.(req, res, next);\n\t\t}\n\n\t\t// remove or add trailing slash as appropriate\n\t\tlet location = pathname.at(-1) === '/' ? pathname.slice(0, -1) : pathname + '/';\n\t\tif (prerendered.has(location)) {\n\t\t\tif (query) location += search;\n\t\t\tres.writeHead(308, { location }).end();\n\t\t} else {\n\t\t\tvoid next();\n\t\t}\n\t};\n}\n\n/** @type {import('polka').Middleware} */\nconst ssr = async (req, res) => {\n\t/** @type {Request} */\n\tlet request;\n\n\ttry {\n\t\trequest = await getRequest({\n\t\t\tbase: origin || get_origin(req.headers),\n\t\t\trequest: req,\n\t\t\tbodySizeLimit: body_size_limit\n\t\t});\n\t} catch {\n\t\tres.statusCode = 400;\n\t\tres.end('Bad Request');\n\t\treturn;\n\t}\n\n\tconst response = await server.respond(request, {\n\t\tplatform: { req },\n\t\tgetClientAddress: () => {\n\t\t\tif (address_header) {\n\t\t\t\tif (!(address_header in req.headers)) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`Address header was specified with ${\n\t\t\t\t\t\t\tenv_prefix + 'ADDRESS_HEADER'\n\t\t\t\t\t\t}=${address_header} but is absent from request`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst value = /** @type {string} */ (req.headers[address_header]) || '';\n\n\t\t\t\tif (address_header === 'x-forwarded-for') {\n\t\t\t\t\tconst addresses = value.split(',');\n\n\t\t\t\t\tif (xff_depth < 1) {\n\t\t\t\t\t\tthrow new Error(`${env_prefix + 'XFF_DEPTH'} must be a positive integer`);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (xff_depth > addresses.length) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`${env_prefix + 'XFF_DEPTH'} is ${xff_depth}, but only found ${\n\t\t\t\t\t\t\t\taddresses.length\n\t\t\t\t\t\t\t} addresses`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn addresses[addresses.length - xff_depth].trim();\n\t\t\t\t}\n\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\treq.connection?.remoteAddress ||\n\t\t\t\t// @ts-expect-error\n\t\t\t\treq.connection?.socket?.remoteAddress ||\n\t\t\t\treq.socket?.remoteAddress ||\n\t\t\t\t// @ts-expect-error\n\t\t\t\treq.info?.remoteAddress\n\t\t\t);\n\t\t}\n\t});\n\n\t// Reverse proxies such as nginx buffer responses by default (ignoring\n\t// `cache-control`), which breaks streaming responses like server-sent events.\n\t// `X-Accel-Buffering: no` opts out of that buffering and is a no-op on proxies\n\t// that don't recognise it. See https://github.com/sveltejs/kit/issues/15790\n\tif (response.headers.get('content-type') === 'text/event-stream') {\n\t\tresponse.headers.set('x-accel-buffering', 'no');\n\t}\n\n\tawait setResponse(res, response);\n};\n\n/** @param {import('polka').Middleware[]} handlers */\nfunction sequence(handlers) {\n\t/** @type {import('polka').Middleware} */\n\treturn (req, res, next) => {\n\t\t/**\n\t\t * @param {number} i\n\t\t * @returns {ReturnType<import('polka').Middleware>}\n\t\t */\n\t\tfunction handle(i) {\n\t\t\tif (i < handlers.length) {\n\t\t\t\treturn handlers[i](req, res, () => handle(i + 1));\n\t\t\t} else {\n\t\t\t\treturn next();\n\t\t\t}\n\t\t}\n\n\t\treturn handle(0);\n\t};\n}\n\n/**\n * @param {string} name\n * @param {string | string[] | undefined} value\n * @returns {string | undefined}\n */\nfunction normalise_header(name, value) {\n\tif (!name) return undefined;\n\tif (Array.isArray(value)) {\n\t\tif (value.length === 0) return undefined;\n\t\tif (value.length === 1) return value[0];\n\t\tthrow new Error(\n\t\t\t`Multiple values provided for ${name} header where only one expected: ${value}`\n\t\t);\n\t}\n\treturn value;\n}\n\n/**\n * @param {import('http').IncomingHttpHeaders} headers\n * @returns {string}\n */\nfunction get_origin(headers) {\n\tconst protocol = decodeURIComponent(\n\t\tnormalise_header(protocol_header, headers[protocol_header]) || 'https'\n\t);\n\n\t// this helps us avoid host injections through the protocol header\n\tif (protocol.includes(':')) {\n\t\tthrow new Error(\n\t\t\t`The ${protocol_header} header specified ${protocol} which is an invalid because it includes \\`:\\`. It should only contain the protocol scheme (e.g. \\`https\\`)`\n\t\t);\n\t}\n\n\tconst host =\n\t\tnormalise_header(host_header, headers[host_header]) ||\n\t\tnormalise_header('host', headers['host']);\n\tif (!host) {\n\t\tconst header_names = host_header ? `${host_header} or host headers` : 'host header';\n\t\tthrow new Error(\n\t\t\t`Could not determine host. The request must have a value provided by the ${header_names}`\n\t\t);\n\t}\n\n\tconst port = normalise_header(port_header, headers[port_header]);\n\tif (port && isNaN(+port)) {\n\t\tthrow new Error(\n\t\t\t`The ${port_header} header specified ${port} which is an invalid port because it is not a number. The value should only contain the port number (e.g. 443)`\n\t\t);\n\t}\n\n\treturn port ? `${protocol}://${host}:${port}` : `${protocol}://${host}`;\n}\n\nconst handler = sequence(\n\t/** @type {(import('sirv').RequestHandler | import('polka').Middleware)[]} */\n\t([serve(path.join(dir, 'client'), true), serve_prerendered(), ssr].filter(Boolean))\n);\n\nexport { handler };\n"],"names":["set_cookie_parser.splitCookiesString","parse"],"mappings":"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","x_google_ignoreList":[1,2]}
@@ -5,7 +5,7 @@ import { u as uneval } from './chunks/render-context.js-CTu5Wkzp.js';
5
5
  import { d as decode_pathname, n as normalize_path, a as disable_search, b as decode_params, v as validate_layout_server_exports, c as validate_layout_exports, e as validate_page_server_exports, f as validate_page_exports, r as resolve, m as make_trackable, w as writable, g as readable } from './chunks/exports.js-DFR3riS9.js';
6
6
  import { a as text_encoder, g as get_relative_path, c as base64_encode, t as text_decoder } from './chunks/utils.js-DGYJFmnf.js';
7
7
  import { s as set_private_env, a as set_public_env, p as public_env } from './chunks/shared-server.js-DaWdgxVh.js';
8
- import { o as options, g as get_hooks, r as read_implementation, s as set_read_implementation } from './chunks/internal.js-WOmQXGMa.js';
8
+ import { o as options, g as get_hooks, r as read_implementation, s as set_read_implementation } from './chunks/internal.js-BnebQ91H.js';
9
9
 
10
10
  function with_resolvers() {
11
11
  let resolve2;
@@ -4180,4 +4180,4 @@ class Server {
4180
4180
  }
4181
4181
 
4182
4182
  export { Server as S };
4183
- //# sourceMappingURL=index.js-YVPJa0so.js.map
4183
+ //# sourceMappingURL=index.js-qz9YZN7m.js.map