@flowdular/sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (883) hide show
  1. package/.ai/agents/README.md +27 -0
  2. package/.ai/agents/module-executor.md +36 -0
  3. package/.ai/agents/reviewer.md +23 -0
  4. package/.ai/agents/sandbox/agentic-engineer.md +31 -0
  5. package/.ai/agents/sandbox/backend-engineer.md +36 -0
  6. package/.ai/agents/sandbox/business-manager.md +23 -0
  7. package/.ai/agents/sandbox/frontend-engineer.md +27 -0
  8. package/.ai/agents/sandbox/ux-designer.md +23 -0
  9. package/.ai/agents/spec-author.md +29 -0
  10. package/.ai/blueprints/add-migration/README.md +5 -0
  11. package/.ai/blueprints/add-migration/allowed-paths.yaml +23 -0
  12. package/.ai/blueprints/add-migration/blueprint.json +14 -0
  13. package/.ai/blueprints/add-migration/examples/invalid/input-destructive.json +6 -0
  14. package/.ai/blueprints/add-migration/examples/invalid/plan-unnumbered-file.json +9 -0
  15. package/.ai/blueprints/add-migration/examples/valid/input.json +6 -0
  16. package/.ai/blueprints/add-migration/examples/valid/plan.json +9 -0
  17. package/.ai/blueprints/add-migration/gates.yaml +30 -0
  18. package/.ai/blueprints/add-migration/input.schema.json +23 -0
  19. package/.ai/blueprints/add-migration/plan.schema.json +54 -0
  20. package/.ai/blueprints/add-migration/required-files.yaml +18 -0
  21. package/.ai/blueprints/add-migration/spec-requirements.yaml +13 -0
  22. package/.ai/blueprints/add-migration/steps.yaml +62 -0
  23. package/.ai/blueprints/author-spec/README.md +5 -0
  24. package/.ai/blueprints/author-spec/allowed-paths.yaml +7 -0
  25. package/.ai/blueprints/author-spec/blueprint.json +14 -0
  26. package/.ai/blueprints/author-spec/examples/invalid/input-missing-outcome.json +5 -0
  27. package/.ai/blueprints/author-spec/examples/valid/input.json +6 -0
  28. package/.ai/blueprints/author-spec/gates.yaml +13 -0
  29. package/.ai/blueprints/author-spec/input.schema.json +20 -0
  30. package/.ai/blueprints/author-spec/plan.schema.json +14 -0
  31. package/.ai/blueprints/author-spec/required-files.yaml +6 -0
  32. package/.ai/blueprints/author-spec/spec-requirements.yaml +35 -0
  33. package/.ai/blueprints/author-spec/steps.yaml +28 -0
  34. package/.ai/blueprints/author-spec/templates/module.yaml +45 -0
  35. package/.ai/blueprints/bug-fix/README.md +5 -0
  36. package/.ai/blueprints/bug-fix/allowed-paths.yaml +29 -0
  37. package/.ai/blueprints/bug-fix/blueprint.json +14 -0
  38. package/.ai/blueprints/bug-fix/examples/invalid/input-no-symptom.json +4 -0
  39. package/.ai/blueprints/bug-fix/examples/invalid/plan-no-test.json +8 -0
  40. package/.ai/blueprints/bug-fix/examples/valid/input.json +6 -0
  41. package/.ai/blueprints/bug-fix/examples/valid/plan.json +8 -0
  42. package/.ai/blueprints/bug-fix/gates.yaml +30 -0
  43. package/.ai/blueprints/bug-fix/input.schema.json +25 -0
  44. package/.ai/blueprints/bug-fix/plan.schema.json +53 -0
  45. package/.ai/blueprints/bug-fix/required-files.yaml +7 -0
  46. package/.ai/blueprints/bug-fix/spec-requirements.yaml +7 -0
  47. package/.ai/blueprints/bug-fix/steps.yaml +51 -0
  48. package/.ai/blueprints/core-extend/README.md +5 -0
  49. package/.ai/blueprints/core-extend/allowed-paths.yaml +49 -0
  50. package/.ai/blueprints/core-extend/blueprint.json +14 -0
  51. package/.ai/blueprints/core-extend/examples/invalid/input-unknown-package.json +5 -0
  52. package/.ai/blueprints/core-extend/examples/invalid/plan-missing-gates.json +7 -0
  53. package/.ai/blueprints/core-extend/examples/valid/input.json +6 -0
  54. package/.ai/blueprints/core-extend/examples/valid/plan.json +10 -0
  55. package/.ai/blueprints/core-extend/gates.yaml +16 -0
  56. package/.ai/blueprints/core-extend/input.schema.json +54 -0
  57. package/.ai/blueprints/core-extend/plan.schema.json +39 -0
  58. package/.ai/blueprints/core-extend/required-files.yaml +36 -0
  59. package/.ai/blueprints/core-extend/spec-requirements.yaml +17 -0
  60. package/.ai/blueprints/core-extend/steps.yaml +54 -0
  61. package/.ai/blueprints/edit-module/README.md +9 -0
  62. package/.ai/blueprints/edit-module/allowed-paths.yaml +27 -0
  63. package/.ai/blueprints/edit-module/blueprint.json +20 -0
  64. package/.ai/blueprints/edit-module/examples/invalid/input-unknown-change.json +5 -0
  65. package/.ai/blueprints/edit-module/examples/invalid/plan-touches-platform.json +15 -0
  66. package/.ai/blueprints/edit-module/examples/valid/input.json +5 -0
  67. package/.ai/blueprints/edit-module/examples/valid/plan.json +25 -0
  68. package/.ai/blueprints/edit-module/gates.yaml +30 -0
  69. package/.ai/blueprints/edit-module/input.schema.json +31 -0
  70. package/.ai/blueprints/edit-module/plan.schema.json +65 -0
  71. package/.ai/blueprints/edit-module/required-files.yaml +80 -0
  72. package/.ai/blueprints/edit-module/spec-requirements.yaml +15 -0
  73. package/.ai/blueprints/edit-module/steps.yaml +115 -0
  74. package/.ai/blueprints/new-module/README.md +7 -0
  75. package/.ai/blueprints/new-module/allowed-paths.yaml +27 -0
  76. package/.ai/blueprints/new-module/blueprint.json +20 -0
  77. package/.ai/blueprints/new-module/examples/invalid/input-spec-outside-modules.json +4 -0
  78. package/.ai/blueprints/new-module/examples/invalid/plan-unknown-gate.json +8 -0
  79. package/.ai/blueprints/new-module/examples/valid/input.json +5 -0
  80. package/.ai/blueprints/new-module/examples/valid/plan.json +22 -0
  81. package/.ai/blueprints/new-module/gates.yaml +30 -0
  82. package/.ai/blueprints/new-module/input.schema.json +21 -0
  83. package/.ai/blueprints/new-module/plan.schema.json +58 -0
  84. package/.ai/blueprints/new-module/required-files.yaml +73 -0
  85. package/.ai/blueprints/new-module/spec-requirements.yaml +30 -0
  86. package/.ai/blueprints/new-module/steps.yaml +138 -0
  87. package/.ai/blueprints/release/README.md +5 -0
  88. package/.ai/blueprints/release/allowed-paths.yaml +19 -0
  89. package/.ai/blueprints/release/blueprint.json +14 -0
  90. package/.ai/blueprints/release/examples/invalid/input-bad-version.json +4 -0
  91. package/.ai/blueprints/release/examples/invalid/plan-bad-branch.json +7 -0
  92. package/.ai/blueprints/release/examples/valid/input.json +5 -0
  93. package/.ai/blueprints/release/examples/valid/plan.json +20 -0
  94. package/.ai/blueprints/release/gates.yaml +20 -0
  95. package/.ai/blueprints/release/input.schema.json +24 -0
  96. package/.ai/blueprints/release/plan.schema.json +46 -0
  97. package/.ai/blueprints/release/required-files.yaml +19 -0
  98. package/.ai/blueprints/release/spec-requirements.yaml +8 -0
  99. package/.ai/blueprints/release/steps.yaml +47 -0
  100. package/.ai/blueprints/security-review/README.md +5 -0
  101. package/.ai/blueprints/security-review/allowed-paths.yaml +6 -0
  102. package/.ai/blueprints/security-review/blueprint.json +14 -0
  103. package/.ai/blueprints/security-review/examples/invalid/input-unknown-kind.json +4 -0
  104. package/.ai/blueprints/security-review/examples/invalid/plan-finding-without-scenario.json +14 -0
  105. package/.ai/blueprints/security-review/examples/valid/input.json +4 -0
  106. package/.ai/blueprints/security-review/examples/valid/plan.json +19 -0
  107. package/.ai/blueprints/security-review/gates.yaml +22 -0
  108. package/.ai/blueprints/security-review/input.schema.json +20 -0
  109. package/.ai/blueprints/security-review/plan.schema.json +65 -0
  110. package/.ai/blueprints/security-review/required-files.yaml +6 -0
  111. package/.ai/blueprints/security-review/spec-requirements.yaml +9 -0
  112. package/.ai/blueprints/security-review/steps.yaml +38 -0
  113. package/.ai/policies/capabilities.yaml +164 -0
  114. package/.ai/policies/model-routing.yaml +72 -0
  115. package/.ai/policies/path-ownership.yaml +65 -0
  116. package/.ai/policies/task-budgets.yaml +37 -0
  117. package/.ai/references/catalog/LICENSE +21 -0
  118. package/.ai/references/catalog/migrations/0001_catalog_core.down.sql +2 -0
  119. package/.ai/references/catalog/migrations/0001_catalog_core.up.sql +21 -0
  120. package/.ai/references/catalog/migrations/0002_catalog_history.down.sql +3 -0
  121. package/.ai/references/catalog/migrations/0002_catalog_history.up.sql +20 -0
  122. package/.ai/references/catalog/migrations/0003_catalog_history_service_actors.down.sql +3 -0
  123. package/.ai/references/catalog/migrations/0003_catalog_history_service_actors.up.sql +36 -0
  124. package/.ai/references/catalog/migrations/0004_catalog_idempotency_ledger.down.sql +3 -0
  125. package/.ai/references/catalog/migrations/0004_catalog_idempotency_ledger.up.sql +19 -0
  126. package/.ai/references/catalog/migrations/README.md +3 -0
  127. package/.ai/references/catalog/module.json +27 -0
  128. package/.ai/references/catalog/package.json +49 -0
  129. package/.ai/references/catalog/spec/module.yaml +86 -0
  130. package/.ai/references/catalog/src/acl/permissions.ts +6 -0
  131. package/.ai/references/catalog/src/agent/tools.ts +164 -0
  132. package/.ai/references/catalog/src/api/endpoints.ts +243 -0
  133. package/.ai/references/catalog/src/client/CatalogHistoryDrawer.tsrx +123 -0
  134. package/.ai/references/catalog/src/client/CatalogItemForm.tsrx +190 -0
  135. package/.ai/references/catalog/src/client/CatalogView.tsrx +473 -0
  136. package/.ai/references/catalog/src/client/api.ts +111 -0
  137. package/.ai/references/catalog/src/client/contribution.tsrx +61 -0
  138. package/.ai/references/catalog/src/client/index.ts +18 -0
  139. package/.ai/references/catalog/src/client/navigation-copy.ts +9 -0
  140. package/.ai/references/catalog/src/client/state.ts +24 -0
  141. package/.ai/references/catalog/src/domain/types.ts +32 -0
  142. package/.ai/references/catalog/src/domain/variables.ts +111 -0
  143. package/.ai/references/catalog/src/index.ts +31 -0
  144. package/.ai/references/catalog/src/platform.ts +35 -0
  145. package/.ai/references/catalog/src/server/index.ts +4 -0
  146. package/.ai/references/catalog/src/server/runtime.ts +86 -0
  147. package/.ai/references/catalog/src/services/catalog-service.ts +306 -0
  148. package/.ai/references/catalog/src/services/database-repository.ts +440 -0
  149. package/.ai/references/catalog/src/services/index.ts +4 -0
  150. package/.ai/references/catalog/src/services/migration.ts +171 -0
  151. package/.ai/references/catalog/src/services/repository.ts +36 -0
  152. package/.ai/references/catalog/src/services/target-idempotency.ts +59 -0
  153. package/.ai/references/catalog/tests/agent-tools.test.ts +277 -0
  154. package/.ai/references/catalog/tests/endpoints.test.ts +320 -0
  155. package/.ai/references/catalog/tests/idempotency.test.ts +297 -0
  156. package/.ai/references/catalog/tests/migrations.test.ts +149 -0
  157. package/.ai/references/catalog/tests/module.test.ts +271 -0
  158. package/.ai/references/catalog/tests/support/database.ts +76 -0
  159. package/.ai/references/catalog/translations/en.json +101 -0
  160. package/.ai/references/catalog/translations/pl.json +101 -0
  161. package/.ai/references/catalog/tsconfig.json +15 -0
  162. package/.ai/references/catalog/vitest.config.ts +16 -0
  163. package/.ai/references/catalog.provenance.json +55 -0
  164. package/.ai/skills/README.md +36 -0
  165. package/.ai/skills/agent-tool-design/SKILL.md +209 -0
  166. package/.ai/skills/auth-security-review/SKILL.md +96 -0
  167. package/.ai/skills/auto-review/SKILL.md +112 -0
  168. package/.ai/skills/bug-hunt/SKILL.md +110 -0
  169. package/.ai/skills/business-agent-design/SKILL.md +188 -0
  170. package/.ai/skills/cli-extension/SKILL.md +114 -0
  171. package/.ai/skills/core-extend/SKILL.md +104 -0
  172. package/.ai/skills/database-adapter/SKILL.md +204 -0
  173. package/.ai/skills/database-adapter/references/first-run-and-matrix.md +105 -0
  174. package/.ai/skills/migration-authoring/SKILL.md +167 -0
  175. package/.ai/skills/module-new/SKILL.md +180 -0
  176. package/.ai/skills/module-update/SKILL.md +100 -0
  177. package/.ai/skills/perf-audit/SKILL.md +105 -0
  178. package/.ai/skills/release-eject-pr/SKILL.md +113 -0
  179. package/.ai/skills/spec-approval/SKILL.md +112 -0
  180. package/.ai/skills/test-hardening/SKILL.md +86 -0
  181. package/.ai/skills/translations-i18n/SKILL.md +85 -0
  182. package/.ai/skills/ux-design/SKILL.md +97 -0
  183. package/.ai/skills/variables/SKILL.md +164 -0
  184. package/.ai/skills/workflow-development/SKILL.md +199 -0
  185. package/AGENTS.md +59 -0
  186. package/LICENSE +21 -0
  187. package/README.md +24 -0
  188. package/docs/agent-contract.md +45 -0
  189. package/docs/design-system.md +217 -0
  190. package/modules/agents/migrations/0001_agents_core.down.sql +4 -0
  191. package/modules/agents/migrations/0001_agents_core.up.sql +106 -0
  192. package/modules/agents/migrations/0002_provider_connections.down.sql +1 -0
  193. package/modules/agents/migrations/0002_provider_connections.up.sql +34 -0
  194. package/modules/agents/migrations/0003_resource_audit.down.sql +1 -0
  195. package/modules/agents/migrations/0003_resource_audit.up.sql +25 -0
  196. package/modules/agents/migrations/0004_run_grants.down.sql +1 -0
  197. package/modules/agents/migrations/0004_run_grants.up.sql +19 -0
  198. package/modules/agents/migrations/0005_long_running_limits.down.sql +2 -0
  199. package/modules/agents/migrations/0005_long_running_limits.up.sql +14 -0
  200. package/modules/agents/migrations/0006_agent_skills.down.sql +3 -0
  201. package/modules/agents/migrations/0006_agent_skills.up.sql +44 -0
  202. package/modules/agents/migrations/0007_model_readiness.down.sql +1 -0
  203. package/modules/agents/migrations/0007_model_readiness.up.sql +18 -0
  204. package/modules/agents/migrations/0008_output_limits.down.sql +2 -0
  205. package/modules/agents/migrations/0008_output_limits.up.sql +8 -0
  206. package/modules/agents/migrations/0009_agent_audit_v3.down.sql +1 -0
  207. package/modules/agents/migrations/0009_agent_audit_v3.up.sql +25 -0
  208. package/modules/agents/migrations/0012_agent_run_costs.down.sql +3 -0
  209. package/modules/agents/migrations/0012_agent_run_costs.up.sql +32 -0
  210. package/modules/agents/migrations/0013_workflow_prerequisites.down.sql +3 -0
  211. package/modules/agents/migrations/0013_workflow_prerequisites.up.sql +97 -0
  212. package/modules/agents/migrations/0014_agent_action_audit.down.sql +1 -0
  213. package/modules/agents/migrations/0014_agent_action_audit.up.sql +25 -0
  214. package/modules/agents/migrations/0015_agent_run_actors.down.sql +1 -0
  215. package/modules/agents/migrations/0015_agent_run_actors.up.sql +17 -0
  216. package/modules/agents/migrations/0016_module_owned_agents.down.sql +6 -0
  217. package/modules/agents/migrations/0016_module_owned_agents.up.sql +68 -0
  218. package/modules/agents/migrations/0017_agent_authorization_subjects.down.sql +2 -0
  219. package/modules/agents/migrations/0017_agent_authorization_subjects.up.sql +18 -0
  220. package/modules/agents/migrations/0018_agent_child_tenant_isolation.down.sql +12 -0
  221. package/modules/agents/migrations/0018_agent_child_tenant_isolation.up.sql +88 -0
  222. package/modules/agents/migrations/0019_background_recovery_grants.down.sql +6 -0
  223. package/modules/agents/migrations/0019_background_recovery_grants.up.sql +17 -0
  224. package/modules/agents/migrations/0020_provider_summary_role.down.sql +2 -0
  225. package/modules/agents/migrations/0020_provider_summary_role.up.sql +17 -0
  226. package/modules/agents/migrations/0021_agents_agent_reconciliation_role.down.sql +4 -0
  227. package/modules/agents/migrations/0021_agents_agent_reconciliation_role.up.sql +7 -0
  228. package/modules/agents/migrations/README.md +39 -0
  229. package/modules/agents/module.json +38 -0
  230. package/modules/agents/package.json +56 -0
  231. package/modules/agents/spec/module.yaml +271 -0
  232. package/modules/agents/spec/procedures-compatibility.md +63 -0
  233. package/modules/agents/src/acl/permissions.ts +13 -0
  234. package/modules/agents/src/api/endpoints.ts +1122 -0
  235. package/modules/agents/src/cli/commands.json +29 -0
  236. package/modules/agents/src/cli/index.ts +162 -0
  237. package/modules/agents/src/client/AgentDashboardWidget.tsrx +32 -0
  238. package/modules/agents/src/client/AgentDefinitionForm.tsrx +362 -0
  239. package/modules/agents/src/client/AgentDefinitionList.tsrx +127 -0
  240. package/modules/agents/src/client/AgentPlaygroundView.tsrx +246 -0
  241. package/modules/agents/src/client/AgentProcedureForm.tsrx +182 -0
  242. package/modules/agents/src/client/AgentProcedureList.tsrx +118 -0
  243. package/modules/agents/src/client/AgentProceduresView.tsrx +253 -0
  244. package/modules/agents/src/client/AgentProvidersView.tsrx +248 -0
  245. package/modules/agents/src/client/AgentRunsView.tsrx +304 -0
  246. package/modules/agents/src/client/AgentUsageView.tsrx +233 -0
  247. package/modules/agents/src/client/AgentsView.tsrx +339 -0
  248. package/modules/agents/src/client/ModuleAgentBindingForm.tsrx +239 -0
  249. package/modules/agents/src/client/ModuleAgentList.tsrx +122 -0
  250. package/modules/agents/src/client/ProviderConnectionForm.tsrx +273 -0
  251. package/modules/agents/src/client/ProviderConnectionList.tsrx +229 -0
  252. package/modules/agents/src/client/ProviderModelEditor.tsrx +313 -0
  253. package/modules/agents/src/client/RunTimeline.tsrx +212 -0
  254. package/modules/agents/src/client/agents.css +349 -0
  255. package/modules/agents/src/client/api.ts +373 -0
  256. package/modules/agents/src/client/contribution.tsrx +181 -0
  257. package/modules/agents/src/client/index.ts +21 -0
  258. package/modules/agents/src/client/presentation.ts +162 -0
  259. package/modules/agents/src/client/state.ts +100 -0
  260. package/modules/agents/src/domain/context-variables.ts +58 -0
  261. package/modules/agents/src/domain/run-timeline.ts +145 -0
  262. package/modules/agents/src/domain/types.ts +481 -0
  263. package/modules/agents/src/index.ts +88 -0
  264. package/modules/agents/src/platform.ts +82 -0
  265. package/modules/agents/src/server/action-execution.ts +811 -0
  266. package/modules/agents/src/server/define-agent.ts +170 -0
  267. package/modules/agents/src/server/index.ts +67 -0
  268. package/modules/agents/src/server/run-execution.ts +231 -0
  269. package/modules/agents/src/server/run-queue.ts +96 -0
  270. package/modules/agents/src/server/runtime.ts +448 -0
  271. package/modules/agents/src/server/tools.ts +18 -0
  272. package/modules/agents/src/services/agent-service.ts +2167 -0
  273. package/modules/agents/src/services/credential-vault.ts +133 -0
  274. package/modules/agents/src/services/database-repository.ts +2786 -0
  275. package/modules/agents/src/services/index.ts +33 -0
  276. package/modules/agents/src/services/migration.ts +1152 -0
  277. package/modules/agents/src/services/module-agent-preflight.ts +76 -0
  278. package/modules/agents/src/services/outbound-policy.ts +136 -0
  279. package/modules/agents/src/services/provider-broker.ts +80 -0
  280. package/modules/agents/src/services/provider-repository.ts +589 -0
  281. package/modules/agents/src/services/provider-service.ts +968 -0
  282. package/modules/agents/src/services/repository.ts +294 -0
  283. package/modules/agents/src/services/run-grant.ts +305 -0
  284. package/modules/agents/src/services/usage-service.ts +119 -0
  285. package/modules/agents/src/services/worker.ts +442 -0
  286. package/modules/agents/src/settings.ts +244 -0
  287. package/modules/agents/translations/en.json +403 -0
  288. package/modules/agents/translations/pl.json +403 -0
  289. package/modules/auth/README.md +215 -0
  290. package/modules/auth/migrations/0001_auth_core.up.sql +108 -0
  291. package/modules/auth/migrations/0002_bundled_module_scopes.up.sql +26 -0
  292. package/modules/auth/migrations/0003_agent_core_scopes.up.sql +12 -0
  293. package/modules/auth/migrations/0004_owner_only_development_scopes.up.sql +8 -0
  294. package/modules/auth/migrations/0005_agent_provider_scopes.up.sql +13 -0
  295. package/modules/auth/migrations/0006_tenant_slug.up.sql +6 -0
  296. package/modules/auth/migrations/0007_sandbox_scopes.up.sql +13 -0
  297. package/modules/auth/migrations/0008_api_tokens.up.sql +43 -0
  298. package/modules/auth/migrations/0009_module_settings.up.sql +24 -0
  299. package/modules/auth/migrations/0010_sign_in_lockout.up.sql +11 -0
  300. package/modules/auth/migrations/0011_session_ids_and_password_reset.up.sql +7 -0
  301. package/modules/auth/migrations/0012_roles.up.sql +31 -0
  302. package/modules/auth/migrations/0013_audit.up.sql +27 -0
  303. package/modules/auth/migrations/0014_audit_actor.up.sql +4 -0
  304. package/modules/auth/migrations/0015_account_security.up.sql +81 -0
  305. package/modules/auth/module.json +26 -0
  306. package/modules/auth/package.json +61 -0
  307. package/modules/auth/spec/module.yaml +190 -0
  308. package/modules/auth/src/acl/scopes.ts +86 -0
  309. package/modules/auth/src/api/attempt-limiter.ts +42 -0
  310. package/modules/auth/src/api/client-address.ts +14 -0
  311. package/modules/auth/src/api/cookies.ts +52 -0
  312. package/modules/auth/src/api/origin.ts +40 -0
  313. package/modules/auth/src/cli/commands.json +74 -0
  314. package/modules/auth/src/cli/database.ts +51 -0
  315. package/modules/auth/src/cli/greenfield.ts +173 -0
  316. package/modules/auth/src/cli/index.ts +184 -0
  317. package/modules/auth/src/cli/provisioning.ts +211 -0
  318. package/modules/auth/src/client/AuthBackdrop.tsrx +137 -0
  319. package/modules/auth/src/client/AuthenticationCore.tsrx +630 -0
  320. package/modules/auth/src/client/PasswordChangeRequired.tsrx +145 -0
  321. package/modules/auth/src/client/PublicAuthFlows.tsrx +379 -0
  322. package/modules/auth/src/client/api.ts +464 -0
  323. package/modules/auth/src/client/audit/AuditView.tsrx +357 -0
  324. package/modules/auth/src/client/audit/api.ts +164 -0
  325. package/modules/auth/src/client/audit/audit-columns.tsrx +47 -0
  326. package/modules/auth/src/client/audit/audit-row.ts +38 -0
  327. package/modules/auth/src/client/auth.css +483 -0
  328. package/modules/auth/src/client/contribution.tsrx +100 -0
  329. package/modules/auth/src/client/index.ts +32 -0
  330. package/modules/auth/src/client/security/SecurityView.tsrx +253 -0
  331. package/modules/auth/src/client/settings/PreferencesCard.tsrx +65 -0
  332. package/modules/auth/src/client/settings/SettingsView.tsrx +212 -0
  333. package/modules/auth/src/client/settings/WorkspaceCard.tsrx +59 -0
  334. package/modules/auth/src/client/settings/api.ts +115 -0
  335. package/modules/auth/src/client/slug.ts +26 -0
  336. package/modules/auth/src/client/state.ts +115 -0
  337. package/modules/auth/src/client/tokens/ApiTokenForm.tsrx +153 -0
  338. package/modules/auth/src/client/tokens/ApiTokenSecret.tsrx +35 -0
  339. package/modules/auth/src/client/tokens/ApiTokensView.tsrx +216 -0
  340. package/modules/auth/src/client/tokens/api.ts +59 -0
  341. package/modules/auth/src/client/tokens/state.ts +26 -0
  342. package/modules/auth/src/client/tokens/token-columns.tsrx +64 -0
  343. package/modules/auth/src/client/translations.ts +23 -0
  344. package/modules/auth/src/domain/types.ts +152 -0
  345. package/modules/auth/src/index.ts +42 -0
  346. package/modules/auth/src/middleware/authentication.ts +97 -0
  347. package/modules/auth/src/platform.ts +0 -0
  348. package/modules/auth/src/server/actor.ts +12 -0
  349. package/modules/auth/src/server/audit-endpoints.ts +51 -0
  350. package/modules/auth/src/server/composition.ts +9 -0
  351. package/modules/auth/src/server/endpoints.ts +893 -0
  352. package/modules/auth/src/server/http.ts +153 -0
  353. package/modules/auth/src/server/index.ts +37 -0
  354. package/modules/auth/src/server/roles-endpoints.ts +120 -0
  355. package/modules/auth/src/server/runtime.ts +705 -0
  356. package/modules/auth/src/server/session-endpoints.ts +86 -0
  357. package/modules/auth/src/server/session-security.ts +62 -0
  358. package/modules/auth/src/server/token-endpoints.ts +106 -0
  359. package/modules/auth/src/services/auth-service-error.ts +11 -0
  360. package/modules/auth/src/services/auth-service.ts +2309 -0
  361. package/modules/auth/src/services/database-repository.ts +1825 -0
  362. package/modules/auth/src/services/mail-delivery.ts +27 -0
  363. package/modules/auth/src/services/migration.ts +591 -0
  364. package/modules/auth/src/services/password.ts +115 -0
  365. package/modules/auth/src/services/repository.ts +395 -0
  366. package/modules/auth/src/services/settings-store.ts +92 -0
  367. package/modules/auth/src/services/totp.ts +135 -0
  368. package/modules/auth/src/services/validation.ts +186 -0
  369. package/modules/auth/src/settings.ts +150 -0
  370. package/modules/auth/translations/en.json +263 -0
  371. package/modules/auth/translations/pl.json +263 -0
  372. package/modules/automations/migrations/0001_automations_core.down.sql +10 -0
  373. package/modules/automations/migrations/0001_automations_core.up.sql +76 -0
  374. package/modules/automations/migrations/0002_automations_targets.down.sql +9 -0
  375. package/modules/automations/migrations/0002_automations_targets.up.sql +37 -0
  376. package/modules/automations/migrations/0003_automations_scheduler_role.down.sql +3 -0
  377. package/modules/automations/migrations/0003_automations_scheduler_role.up.sql +19 -0
  378. package/modules/automations/migrations/0004_automations_trigger_routing_role.down.sql +3 -0
  379. package/modules/automations/migrations/0004_automations_trigger_routing_role.up.sql +18 -0
  380. package/modules/automations/migrations/README.md +3 -0
  381. package/modules/automations/module.json +31 -0
  382. package/modules/automations/package.json +55 -0
  383. package/modules/automations/spec/module.yaml +93 -0
  384. package/modules/automations/src/acl/permissions.ts +10 -0
  385. package/modules/automations/src/api/endpoints.ts +480 -0
  386. package/modules/automations/src/client/AutomationScheduleForm.tsrx +218 -0
  387. package/modules/automations/src/client/AutomationSchedulesView.tsrx +339 -0
  388. package/modules/automations/src/client/AutomationTriggerForm.tsrx +190 -0
  389. package/modules/automations/src/client/AutomationTriggersView.tsrx +329 -0
  390. package/modules/automations/src/client/api.ts +148 -0
  391. package/modules/automations/src/client/contribution.tsrx +70 -0
  392. package/modules/automations/src/client/index.ts +20 -0
  393. package/modules/automations/src/client/presentation.ts +38 -0
  394. package/modules/automations/src/client/state.ts +40 -0
  395. package/modules/automations/src/client/target-selection.ts +44 -0
  396. package/modules/automations/src/domain/cadence.ts +44 -0
  397. package/modules/automations/src/domain/types.ts +110 -0
  398. package/modules/automations/src/domain/variables.ts +178 -0
  399. package/modules/automations/src/index.ts +39 -0
  400. package/modules/automations/src/platform.ts +73 -0
  401. package/modules/automations/src/server/execution.ts +77 -0
  402. package/modules/automations/src/server/index.ts +39 -0
  403. package/modules/automations/src/server/runtime.ts +218 -0
  404. package/modules/automations/src/server/targets.ts +116 -0
  405. package/modules/automations/src/services/automations-service.ts +10 -0
  406. package/modules/automations/src/services/database-repository.ts +763 -0
  407. package/modules/automations/src/services/index.ts +5 -0
  408. package/modules/automations/src/services/migration.ts +223 -0
  409. package/modules/automations/src/services/repository.ts +119 -0
  410. package/modules/automations/src/services/schedule-service.ts +837 -0
  411. package/modules/automations/src/services/secret-vault.ts +124 -0
  412. package/modules/automations/src/services/trigger-service.ts +648 -0
  413. package/modules/automations/src/settings.ts +69 -0
  414. package/modules/automations/translations/en.json +126 -0
  415. package/modules/automations/translations/pl.json +126 -0
  416. package/modules/automations-workflows-integration/module.json +27 -0
  417. package/modules/automations-workflows-integration/package.json +48 -0
  418. package/modules/automations-workflows-integration/spec/module.yaml +93 -0
  419. package/modules/automations-workflows-integration/src/index.ts +14 -0
  420. package/modules/automations-workflows-integration/src/platform.ts +24 -0
  421. package/modules/automations-workflows-integration/src/server/adapter.ts +272 -0
  422. package/modules/automations-workflows-integration/src/server/index.ts +11 -0
  423. package/modules/automations-workflows-integration/src/server/tools.ts +0 -0
  424. package/modules/automations-workflows-integration/translations/en.json +21 -0
  425. package/modules/automations-workflows-integration/translations/pl.json +21 -0
  426. package/modules/profile/migrations/0001_profile_core.down.sql +1 -0
  427. package/modules/profile/migrations/0001_profile_core.up.sql +13 -0
  428. package/modules/profile/migrations/0002_profile_language.down.sql +1 -0
  429. package/modules/profile/migrations/0002_profile_language.up.sql +12 -0
  430. package/modules/profile/migrations/README.md +3 -0
  431. package/modules/profile/module.json +23 -0
  432. package/modules/profile/package.json +55 -0
  433. package/modules/profile/spec/module.yaml +136 -0
  434. package/modules/profile/src/acl/permissions.ts +5 -0
  435. package/modules/profile/src/api/endpoints.ts +184 -0
  436. package/modules/profile/src/client/DisplayNameCard.tsrx +59 -0
  437. package/modules/profile/src/client/LanguageCard.tsrx +89 -0
  438. package/modules/profile/src/client/PasswordCard.tsrx +79 -0
  439. package/modules/profile/src/client/ProfileView.tsrx +192 -0
  440. package/modules/profile/src/client/SessionsCard.tsrx +158 -0
  441. package/modules/profile/src/client/api.ts +134 -0
  442. package/modules/profile/src/client/contribution.tsrx +61 -0
  443. package/modules/profile/src/client/index.ts +15 -0
  444. package/modules/profile/src/client/password.ts +41 -0
  445. package/modules/profile/src/client/sessions-api.ts +52 -0
  446. package/modules/profile/src/client/state.ts +23 -0
  447. package/modules/profile/src/domain/types.ts +21 -0
  448. package/modules/profile/src/index.ts +21 -0
  449. package/modules/profile/src/platform.ts +23 -0
  450. package/modules/profile/src/server/index.ts +7 -0
  451. package/modules/profile/src/server/runtime.ts +84 -0
  452. package/modules/profile/src/services/database-repository.ts +154 -0
  453. package/modules/profile/src/services/index.ts +6 -0
  454. package/modules/profile/src/services/migration.ts +58 -0
  455. package/modules/profile/src/services/profile-service.ts +114 -0
  456. package/modules/profile/src/services/repository.ts +13 -0
  457. package/modules/profile/translations/en.json +58 -0
  458. package/modules/profile/translations/pl.json +58 -0
  459. package/modules/sandbox/migrations/0001_sandbox_core.down.sql +6 -0
  460. package/modules/sandbox/migrations/0001_sandbox_core.up.sql +70 -0
  461. package/modules/sandbox/migrations/0002_sandbox_session_lifecycle.down.sql +36 -0
  462. package/modules/sandbox/migrations/0002_sandbox_session_lifecycle.up.sql +37 -0
  463. package/modules/sandbox/migrations/README.md +7 -0
  464. package/modules/sandbox/module.json +31 -0
  465. package/modules/sandbox/package.json +56 -0
  466. package/modules/sandbox/spec/module.yaml +111 -0
  467. package/modules/sandbox/src/acl/permissions.ts +18 -0
  468. package/modules/sandbox/src/api/endpoints.ts +439 -0
  469. package/modules/sandbox/src/cli/commands.json +84 -0
  470. package/modules/sandbox/src/cli/index.ts +450 -0
  471. package/modules/sandbox/src/client/SandboxAccessView.tsrx +191 -0
  472. package/modules/sandbox/src/client/SandboxGrantForm.tsrx +134 -0
  473. package/modules/sandbox/src/client/SandboxGrantList.tsrx +83 -0
  474. package/modules/sandbox/src/client/SandboxSessionList.tsrx +56 -0
  475. package/modules/sandbox/src/client/api.ts +87 -0
  476. package/modules/sandbox/src/client/contribution.tsrx +47 -0
  477. package/modules/sandbox/src/client/index.ts +18 -0
  478. package/modules/sandbox/src/client/presentation.ts +47 -0
  479. package/modules/sandbox/src/client/state.ts +20 -0
  480. package/modules/sandbox/src/domain/types.ts +125 -0
  481. package/modules/sandbox/src/index.ts +33 -0
  482. package/modules/sandbox/src/platform.ts +28 -0
  483. package/modules/sandbox/src/server/index.ts +20 -0
  484. package/modules/sandbox/src/server/runtime.ts +119 -0
  485. package/modules/sandbox/src/services/database-repository.ts +567 -0
  486. package/modules/sandbox/src/services/directory.ts +33 -0
  487. package/modules/sandbox/src/services/index.ts +19 -0
  488. package/modules/sandbox/src/services/migration.ts +145 -0
  489. package/modules/sandbox/src/services/repository.ts +55 -0
  490. package/modules/sandbox/src/services/sandbox-service-error.ts +10 -0
  491. package/modules/sandbox/src/services/sandbox-service.ts +533 -0
  492. package/modules/sandbox/translations/en.json +77 -0
  493. package/modules/sandbox/translations/pl.json +77 -0
  494. package/modules/system/module.json +18 -0
  495. package/modules/system/package.json +56 -0
  496. package/modules/system/spec/module.yaml +104 -0
  497. package/modules/system/src/acl/permissions.ts +10 -0
  498. package/modules/system/src/client/ModuleSettingRow.tsrx +191 -0
  499. package/modules/system/src/client/ModuleSettingsSection.tsrx +155 -0
  500. package/modules/system/src/client/ModulesView.tsrx +241 -0
  501. package/modules/system/src/client/api.ts +36 -0
  502. package/modules/system/src/client/contribution.tsrx +48 -0
  503. package/modules/system/src/client/index.ts +26 -0
  504. package/modules/system/src/client/module-columns.tsrx +66 -0
  505. package/modules/system/src/client/overview-api.ts +30 -0
  506. package/modules/system/src/client/setting-copy.ts +30 -0
  507. package/modules/system/src/client/settings-api.ts +57 -0
  508. package/modules/system/src/client/state.ts +16 -0
  509. package/modules/system/src/index.ts +11 -0
  510. package/modules/system/src/platform.ts +11 -0
  511. package/modules/system/src/server/endpoints.ts +372 -0
  512. package/modules/system/src/server/index.ts +11 -0
  513. package/modules/system/src/server/module-catalog.ts +117 -0
  514. package/modules/system/translations/en.json +64 -0
  515. package/modules/system/translations/pl.json +64 -0
  516. package/modules/users/migrations/README.md +3 -0
  517. package/modules/users/module.json +27 -0
  518. package/modules/users/package.json +54 -0
  519. package/modules/users/spec/module.yaml +79 -0
  520. package/modules/users/src/acl/permissions.ts +6 -0
  521. package/modules/users/src/api/endpoints.ts +222 -0
  522. package/modules/users/src/client/InviteMemberForm.tsrx +62 -0
  523. package/modules/users/src/client/MemberDrawer.tsrx +298 -0
  524. package/modules/users/src/client/RoleForm.tsrx +140 -0
  525. package/modules/users/src/client/RolesView.tsrx +288 -0
  526. package/modules/users/src/client/UserAccountForm.tsrx +86 -0
  527. package/modules/users/src/client/UsersView.tsrx +486 -0
  528. package/modules/users/src/client/api.ts +172 -0
  529. package/modules/users/src/client/contribution.tsrx +92 -0
  530. package/modules/users/src/client/index.ts +19 -0
  531. package/modules/users/src/client/member-columns.tsrx +52 -0
  532. package/modules/users/src/client/roles-api.ts +90 -0
  533. package/modules/users/src/client/state.ts +42 -0
  534. package/modules/users/src/index.ts +27 -0
  535. package/modules/users/src/platform.ts +11 -0
  536. package/modules/users/src/services/index.ts +2 -0
  537. package/modules/users/src/services/users-service.ts +142 -0
  538. package/modules/users/translations/en.json +133 -0
  539. package/modules/users/translations/pl.json +133 -0
  540. package/modules/workflows/migrations/0001_workflows_core.down.sql +19 -0
  541. package/modules/workflows/migrations/0001_workflows_core.up.sql +228 -0
  542. package/modules/workflows/migrations/0002_workflows_authorization_subject.down.sql +1 -0
  543. package/modules/workflows/migrations/0002_workflows_authorization_subject.up.sql +9 -0
  544. package/modules/workflows/migrations/0003_workflows_worker_role.up.sql +34 -0
  545. package/modules/workflows/migrations/README.md +7 -0
  546. package/modules/workflows/module.json +31 -0
  547. package/modules/workflows/package.json +55 -0
  548. package/modules/workflows/spec/module.yaml +227 -0
  549. package/modules/workflows/src/acl/permissions.ts +10 -0
  550. package/modules/workflows/src/api/endpoints.ts +852 -0
  551. package/modules/workflows/src/client/WorkflowCanvas.tsrx +819 -0
  552. package/modules/workflows/src/client/WorkflowCreateForm.tsrx +111 -0
  553. package/modules/workflows/src/client/WorkflowEditor.tsrx +443 -0
  554. package/modules/workflows/src/client/WorkflowExecutionHistory.tsrx +169 -0
  555. package/modules/workflows/src/client/WorkflowFixtureDrawer.tsrx +206 -0
  556. package/modules/workflows/src/client/WorkflowInputForm.tsrx +125 -0
  557. package/modules/workflows/src/client/WorkflowInputSchemaEditor.tsrx +185 -0
  558. package/modules/workflows/src/client/WorkflowInspector.tsrx +471 -0
  559. package/modules/workflows/src/client/WorkflowLiveConfirmation.tsrx +67 -0
  560. package/modules/workflows/src/client/WorkflowMappingEditor.tsrx +283 -0
  561. package/modules/workflows/src/client/WorkflowNodePalette.tsrx +50 -0
  562. package/modules/workflows/src/client/WorkflowPointerField.tsrx +178 -0
  563. package/modules/workflows/src/client/WorkflowRevisionReview.tsrx +49 -0
  564. package/modules/workflows/src/client/WorkflowRunInspector.tsrx +143 -0
  565. package/modules/workflows/src/client/WorkflowTestPanel.tsrx +109 -0
  566. package/modules/workflows/src/client/WorkflowValidationPanel.tsrx +139 -0
  567. package/modules/workflows/src/client/WorkflowsView.tsrx +1060 -0
  568. package/modules/workflows/src/client/api.ts +312 -0
  569. package/modules/workflows/src/client/canvas-model.ts +472 -0
  570. package/modules/workflows/src/client/connected-node.ts +71 -0
  571. package/modules/workflows/src/client/contribution.tsrx +57 -0
  572. package/modules/workflows/src/client/create-model.ts +15 -0
  573. package/modules/workflows/src/client/draft-repair.ts +86 -0
  574. package/modules/workflows/src/client/index.ts +19 -0
  575. package/modules/workflows/src/client/input-model.ts +124 -0
  576. package/modules/workflows/src/client/mapping-model.ts +110 -0
  577. package/modules/workflows/src/client/pointer-model.ts +123 -0
  578. package/modules/workflows/src/client/presentation.ts +62 -0
  579. package/modules/workflows/src/client/run-actions.ts +19 -0
  580. package/modules/workflows/src/client/state.ts +57 -0
  581. package/modules/workflows/src/client/viewport.ts +107 -0
  582. package/modules/workflows/src/client/workflows.css +899 -0
  583. package/modules/workflows/src/domain/events.ts +399 -0
  584. package/modules/workflows/src/domain/graph.ts +1136 -0
  585. package/modules/workflows/src/domain/types.ts +563 -0
  586. package/modules/workflows/src/index.ts +27 -0
  587. package/modules/workflows/src/platform.ts +49 -0
  588. package/modules/workflows/src/server/index.ts +13 -0
  589. package/modules/workflows/src/server/runtime.ts +266 -0
  590. package/modules/workflows/src/services/cursor-codec.ts +62 -0
  591. package/modules/workflows/src/services/database-repository.ts +2407 -0
  592. package/modules/workflows/src/services/index.ts +6 -0
  593. package/modules/workflows/src/services/migration.ts +375 -0
  594. package/modules/workflows/src/services/payload-codec.ts +264 -0
  595. package/modules/workflows/src/services/repository.ts +285 -0
  596. package/modules/workflows/src/services/simulation.ts +359 -0
  597. package/modules/workflows/src/services/worker.ts +1196 -0
  598. package/modules/workflows/src/services/workflows-service.ts +1395 -0
  599. package/modules/workflows/translations/en.json +348 -0
  600. package/modules/workflows/translations/pl.json +348 -0
  601. package/modules.json +41 -0
  602. package/package.json +125 -0
  603. package/packages/ai-provider/package.json +46 -0
  604. package/packages/ai-provider/src/catalog.ts +102 -0
  605. package/packages/ai-provider/src/errors.ts +110 -0
  606. package/packages/ai-provider/src/index.ts +33 -0
  607. package/packages/ai-provider/src/model.ts +198 -0
  608. package/packages/ai-provider/src/pricing.ts +73 -0
  609. package/packages/cli-protocol/package.json +40 -0
  610. package/packages/cli-protocol/src/index.ts +113 -0
  611. package/packages/client/package.json +46 -0
  612. package/packages/client/src/ApplicationShell.tsrx +374 -0
  613. package/packages/client/src/contributions.ts +172 -0
  614. package/packages/client/src/i18n/index.ts +30 -0
  615. package/packages/client/src/i18n/locale.ts +25 -0
  616. package/packages/client/src/i18n/locales/en.json +66 -0
  617. package/packages/client/src/i18n/locales/pl.json +66 -0
  618. package/packages/client/src/i18n/runtime.ts +201 -0
  619. package/packages/client/src/i18n/translations.ts +88 -0
  620. package/packages/client/src/index.ts +55 -0
  621. package/packages/client/src/routing.ts +9 -0
  622. package/packages/client/src/shell/BrandMark.tsrx +10 -0
  623. package/packages/client/src/shell/CommandPalette.tsrx +79 -0
  624. package/packages/client/src/shell/ContributionOutlets.tsrx +31 -0
  625. package/packages/client/src/shell/DashboardView.tsrx +60 -0
  626. package/packages/client/src/shell/MobileHeader.tsrx +24 -0
  627. package/packages/client/src/shell/OrganizationSwitcher.tsrx +100 -0
  628. package/packages/client/src/shell/OverviewCharts.tsrx +167 -0
  629. package/packages/client/src/shell/PrimaryNavigation.tsrx +75 -0
  630. package/packages/client/src/shell/Sidebar.tsrx +76 -0
  631. package/packages/client/src/shell/Topbar.tsrx +44 -0
  632. package/packages/client/src/shell/UserMenu.tsrx +103 -0
  633. package/packages/client/src/shell/WorkspaceContent.tsrx +30 -0
  634. package/packages/client/src/shell/identity.ts +12 -0
  635. package/packages/client/src/shell/navigation.ts +68 -0
  636. package/packages/client/src/shell/shell.css +734 -0
  637. package/packages/client/src/shell/types.ts +29 -0
  638. package/packages/client/src/state.ts +63 -0
  639. package/packages/client/src/web.ts +39 -0
  640. package/packages/coding-agent/package.json +44 -0
  641. package/packages/coding-agent/src/drivers/byok.ts +322 -0
  642. package/packages/coding-agent/src/drivers/claude-code.ts +290 -0
  643. package/packages/coding-agent/src/drivers/codex.ts +281 -0
  644. package/packages/coding-agent/src/index.ts +56 -0
  645. package/packages/coding-agent/src/registry.ts +119 -0
  646. package/packages/coding-agent/src/roles/contract.ts +60 -0
  647. package/packages/coding-agent/src/roles/defaults.ts +134 -0
  648. package/packages/coding-agent/src/roles/handoff.ts +41 -0
  649. package/packages/coding-agent/src/roles/registry.ts +156 -0
  650. package/packages/coding-agent/src/roles/skills.ts +72 -0
  651. package/packages/coding-agent/src/roles/sync.ts +88 -0
  652. package/packages/coding-agent/src/types.ts +102 -0
  653. package/packages/coding-agent/src/workspace.ts +275 -0
  654. package/packages/contracts/package.json +38 -0
  655. package/packages/contracts/schemas/blueprint.schema.json +48 -0
  656. package/packages/contracts/schemas/cli-extension.schema.json +90 -0
  657. package/packages/contracts/schemas/module-artifact.schema.json +82 -0
  658. package/packages/contracts/schemas/module-catalog.schema.json +48 -0
  659. package/packages/contracts/schemas/module-spec.schema.json +111 -0
  660. package/packages/contracts/schemas/module.schema.json +156 -0
  661. package/packages/contracts/schemas/platform-spec.schema.json +17 -0
  662. package/packages/contracts/schemas/project.schema.json +270 -0
  663. package/packages/contracts/src/index.ts +191 -0
  664. package/packages/contracts/src/module-distribution.ts +47 -0
  665. package/packages/contracts/src/schemas.ts +18 -0
  666. package/packages/contracts/src/variables.ts +156 -0
  667. package/packages/contracts/src/web.ts +60 -0
  668. package/packages/database/package.json +43 -0
  669. package/packages/database/src/contracts.ts +399 -0
  670. package/packages/database/src/index.ts +112 -0
  671. package/packages/database/src/migrations.ts +444 -0
  672. package/packages/database/src/postgresql.ts +517 -0
  673. package/packages/database/src/provider.ts +639 -0
  674. package/packages/database/src/record-history.ts +201 -0
  675. package/packages/database/src/registry.ts +265 -0
  676. package/packages/database/src/reset.ts +87 -0
  677. package/packages/database-pglite/package.json +42 -0
  678. package/packages/database-pglite/src/driver.ts +168 -0
  679. package/packages/database-pglite/src/index.ts +2 -0
  680. package/packages/database-testing/package.json +44 -0
  681. package/packages/database-testing/src/index.ts +8 -0
  682. package/packages/database-testing/src/pglite.ts +124 -0
  683. package/packages/database-testing/src/postgres.ts +184 -0
  684. package/packages/database-testing/src/provider.ts +43 -0
  685. package/packages/database-testing/src/vitest-preset.ts +23 -0
  686. package/packages/dev-console/README.md +6 -0
  687. package/packages/dev-console/package.json +38 -0
  688. package/packages/dev-console/src/index.mjs +220 -0
  689. package/packages/harness/package.json +47 -0
  690. package/packages/harness/schemas/task-packet.schema.json +48 -0
  691. package/packages/harness/src/catalog.ts +24 -0
  692. package/packages/harness/src/errors.ts +9 -0
  693. package/packages/harness/src/index.ts +53 -0
  694. package/packages/harness/src/preamble.ts +31 -0
  695. package/packages/harness/src/runtime.ts +833 -0
  696. package/packages/harness/src/task-packet.ts +86 -0
  697. package/packages/harness/src/tool-adapters.ts +106 -0
  698. package/packages/harness/src/tool-contract.ts +242 -0
  699. package/packages/harness/src/vercel-ai-provider.ts +198 -0
  700. package/packages/kernel/package.json +44 -0
  701. package/packages/kernel/src/acl.ts +20 -0
  702. package/packages/kernel/src/actor.ts +139 -0
  703. package/packages/kernel/src/agent-registry.ts +81 -0
  704. package/packages/kernel/src/capability-registry.ts +28 -0
  705. package/packages/kernel/src/errors.ts +9 -0
  706. package/packages/kernel/src/index.ts +90 -0
  707. package/packages/kernel/src/legacy-local-state.ts +103 -0
  708. package/packages/kernel/src/module-compatibility.ts +70 -0
  709. package/packages/kernel/src/module-registry.ts +124 -0
  710. package/packages/kernel/src/module-settings.ts +403 -0
  711. package/packages/kernel/src/record-history.ts +146 -0
  712. package/packages/kernel/src/runtime-config.ts +51 -0
  713. package/packages/kernel/src/tool-registry.ts +25 -0
  714. package/packages/kernel/src/variable-registry.ts +339 -0
  715. package/packages/sandbox/README.md +691 -0
  716. package/packages/sandbox/bin/flowdular-sandbox.mjs +393 -0
  717. package/packages/sandbox/dist/client/assets/App-ClMOrpyg.js +11 -0
  718. package/packages/sandbox/dist/client/assets/PreviewHost-BHiHrfbQ.js +1 -0
  719. package/packages/sandbox/dist/client/assets/auto-buGEq6de.js +3 -0
  720. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2 +0 -0
  721. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff +0 -0
  722. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff +0 -0
  723. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2 +0 -0
  724. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff +0 -0
  725. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2 +0 -0
  726. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff +0 -0
  727. package/packages/sandbox/dist/client/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2 +0 -0
  728. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
  729. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
  730. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
  731. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
  732. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2 +0 -0
  733. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff +0 -0
  734. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2 +0 -0
  735. package/packages/sandbox/dist/client/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff +0 -0
  736. package/packages/sandbox/dist/client/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2 +0 -0
  737. package/packages/sandbox/dist/client/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff +0 -0
  738. package/packages/sandbox/dist/client/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff +0 -0
  739. package/packages/sandbox/dist/client/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2 +0 -0
  740. package/packages/sandbox/dist/client/assets/ibm-plex-sans-cyrillic-ext-wght-normal-d45eAU9y.woff2 +0 -0
  741. package/packages/sandbox/dist/client/assets/ibm-plex-sans-cyrillic-wght-normal-BAAhND-U.woff2 +0 -0
  742. package/packages/sandbox/dist/client/assets/ibm-plex-sans-greek-wght-normal-CmyJS8uq.woff2 +0 -0
  743. package/packages/sandbox/dist/client/assets/ibm-plex-sans-latin-ext-wght-normal-CIII54If.woff2 +0 -0
  744. package/packages/sandbox/dist/client/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.woff2 +0 -0
  745. package/packages/sandbox/dist/client/assets/ibm-plex-sans-vietnamese-wght-normal-Dg1JeJN0.woff2 +0 -0
  746. package/packages/sandbox/dist/client/assets/index-CvwhlQ87.js +4 -0
  747. package/packages/sandbox/dist/client/assets/styles-BPWaGf55.js +3 -0
  748. package/packages/sandbox/dist/client/assets/styles-Dx1_KOag.css +1 -0
  749. package/packages/sandbox/dist/client/favicon.svg +1 -0
  750. package/packages/sandbox/dist/server/assets/auto-CVGNYyb3.js +12785 -0
  751. package/packages/sandbox/dist/server/assets/chunk-DDJLRBDX-3OUNo51g.js +4125 -0
  752. package/packages/sandbox/dist/server/assets/nodefs-DVSI7kG0.js +24 -0
  753. package/packages/sandbox/dist/server/assets/opfs-ahp-D56iokt1.js +388 -0
  754. package/packages/sandbox/dist/server/assets/token-Bvaq7Anz.js +55 -0
  755. package/packages/sandbox/dist/server/assets/token-util-BqSvdIPQ.js +3 -0
  756. package/packages/sandbox/dist/server/assets/token-util-CktFFT4z.js +494 -0
  757. package/packages/sandbox/dist/server/entry.js +91671 -0
  758. package/packages/sandbox/dist/server/favicon.svg +1 -0
  759. package/packages/sandbox/dist/server/index.html +161 -0
  760. package/packages/sandbox/index.html +159 -0
  761. package/packages/sandbox/octane.config.ts +36 -0
  762. package/packages/sandbox/package.json +83 -0
  763. package/packages/sandbox/public/favicon.svg +1 -0
  764. package/packages/sandbox/public/og.png +0 -0
  765. package/packages/sandbox/src/App.tsrx +924 -0
  766. package/packages/sandbox/src/client/ApprovalHandoff.tsrx +39 -0
  767. package/packages/sandbox/src/client/ChatPane.tsrx +694 -0
  768. package/packages/sandbox/src/client/ConnectView.tsrx +86 -0
  769. package/packages/sandbox/src/client/DiffPane.tsrx +150 -0
  770. package/packages/sandbox/src/client/EjectModal.tsrx +571 -0
  771. package/packages/sandbox/src/client/GateResults.tsrx +60 -0
  772. package/packages/sandbox/src/client/GitHubSettingsModal.tsrx +219 -0
  773. package/packages/sandbox/src/client/NewSessionForm.tsrx +214 -0
  774. package/packages/sandbox/src/client/SessionBar.tsrx +151 -0
  775. package/packages/sandbox/src/client/SessionPicker.tsrx +472 -0
  776. package/packages/sandbox/src/client/SpecEditor.tsrx +109 -0
  777. package/packages/sandbox/src/client/SpecReviewCard.tsrx +321 -0
  778. package/packages/sandbox/src/client/WorkCard.tsrx +128 -0
  779. package/packages/sandbox/src/client/WorkbenchModal.tsrx +161 -0
  780. package/packages/sandbox/src/client/WorkspaceMenu.tsrx +100 -0
  781. package/packages/sandbox/src/client/api.ts +797 -0
  782. package/packages/sandbox/src/client/attachments.ts +73 -0
  783. package/packages/sandbox/src/client/dashboard.ts +46 -0
  784. package/packages/sandbox/src/client/github-settings.ts +48 -0
  785. package/packages/sandbox/src/client/highlight.ts +105 -0
  786. package/packages/sandbox/src/client/i18n.ts +32 -0
  787. package/packages/sandbox/src/client/locales/en.json +466 -0
  788. package/packages/sandbox/src/client/locales/pl.json +466 -0
  789. package/packages/sandbox/src/client/session-labels.ts +77 -0
  790. package/packages/sandbox/src/client/state.ts +108 -0
  791. package/packages/sandbox/src/index.ts +10 -0
  792. package/packages/sandbox/src/preview/PreviewHost.tsrx +373 -0
  793. package/packages/sandbox/src/preview/load-module.ts +16 -0
  794. package/packages/sandbox/src/server/attachments.ts +308 -0
  795. package/packages/sandbox/src/server/auto-review.ts +181 -0
  796. package/packages/sandbox/src/server/checkpoints.ts +90 -0
  797. package/packages/sandbox/src/server/config.ts +460 -0
  798. package/packages/sandbox/src/server/dashboard.ts +245 -0
  799. package/packages/sandbox/src/server/delivery/configuration.ts +193 -0
  800. package/packages/sandbox/src/server/delivery/git-pr.ts +1473 -0
  801. package/packages/sandbox/src/server/delivery/index.ts +83 -0
  802. package/packages/sandbox/src/server/delivery/local.ts +151 -0
  803. package/packages/sandbox/src/server/delivery/official-modules.ts +516 -0
  804. package/packages/sandbox/src/server/delivery/plan.ts +218 -0
  805. package/packages/sandbox/src/server/delivery/policies.ts +239 -0
  806. package/packages/sandbox/src/server/delivery/record.ts +41 -0
  807. package/packages/sandbox/src/server/delivery/steps.ts +464 -0
  808. package/packages/sandbox/src/server/delivery/types.ts +158 -0
  809. package/packages/sandbox/src/server/dependencies.ts +88 -0
  810. package/packages/sandbox/src/server/diff.ts +230 -0
  811. package/packages/sandbox/src/server/gates.ts +388 -0
  812. package/packages/sandbox/src/server/index.ts +139 -0
  813. package/packages/sandbox/src/server/path-guard.ts +282 -0
  814. package/packages/sandbox/src/server/planning.ts +749 -0
  815. package/packages/sandbox/src/server/platform-client.ts +189 -0
  816. package/packages/sandbox/src/server/preview-database-host.ts +340 -0
  817. package/packages/sandbox/src/server/preview-database-protocol.ts +163 -0
  818. package/packages/sandbox/src/server/preview-database-proxy.ts +356 -0
  819. package/packages/sandbox/src/server/preview-database.ts +109 -0
  820. package/packages/sandbox/src/server/preview-ipc.ts +15 -0
  821. package/packages/sandbox/src/server/preview-modules.ts +83 -0
  822. package/packages/sandbox/src/server/preview-revision.ts +44 -0
  823. package/packages/sandbox/src/server/preview-runtime.ts +467 -0
  824. package/packages/sandbox/src/server/preview-worker-manager.ts +436 -0
  825. package/packages/sandbox/src/server/preview-worker.ts +168 -0
  826. package/packages/sandbox/src/server/reference.ts +251 -0
  827. package/packages/sandbox/src/server/routes.ts +2258 -0
  828. package/packages/sandbox/src/server/runtime.ts +188 -0
  829. package/packages/sandbox/src/server/session-owner.ts +23 -0
  830. package/packages/sandbox/src/server/sessions.ts +849 -0
  831. package/packages/sandbox/src/server/spec.ts +471 -0
  832. package/packages/sandbox/src/server/turn-lifecycle.ts +56 -0
  833. package/packages/sandbox/src/server/turns.ts +993 -0
  834. package/packages/sandbox/src/server/workspace-install.ts +266 -0
  835. package/packages/sandbox/src/server/workspace-root.ts +73 -0
  836. package/packages/sandbox/src/styles.css +1573 -0
  837. package/packages/sandbox/vite.config.ts +133 -0
  838. package/packages/server/package.json +43 -0
  839. package/packages/server/src/application-routes.ts +21 -0
  840. package/packages/server/src/composition.ts +48 -0
  841. package/packages/server/src/endpoint.ts +142 -0
  842. package/packages/server/src/http.ts +128 -0
  843. package/packages/server/src/index.ts +46 -0
  844. package/packages/server/src/response-lifetime.ts +56 -0
  845. package/packages/server/src/security-headers.ts +130 -0
  846. package/packages/server/src/web-html.ts +55 -0
  847. package/packages/server/src/web.ts +361 -0
  848. package/packages/ui/package.json +46 -0
  849. package/packages/ui/src/brand/BrandMark.tsrx +66 -0
  850. package/packages/ui/src/brand/mark.ts +44 -0
  851. package/packages/ui/src/components/Alert.tsrx +17 -0
  852. package/packages/ui/src/components/Avatar.tsrx +18 -0
  853. package/packages/ui/src/components/Button.tsrx +29 -0
  854. package/packages/ui/src/components/Chart.tsrx +274 -0
  855. package/packages/ui/src/components/CheckGrid.tsrx +93 -0
  856. package/packages/ui/src/components/ConfirmDialog.tsrx +63 -0
  857. package/packages/ui/src/components/Drawer.tsrx +71 -0
  858. package/packages/ui/src/components/EmptyState.tsrx +26 -0
  859. package/packages/ui/src/components/Filters.tsrx +39 -0
  860. package/packages/ui/src/components/FormField.tsrx +27 -0
  861. package/packages/ui/src/components/Kpi.tsrx +36 -0
  862. package/packages/ui/src/components/PageHeader.tsrx +26 -0
  863. package/packages/ui/src/components/ScopeSummary.tsrx +76 -0
  864. package/packages/ui/src/components/SearchField.tsrx +24 -0
  865. package/packages/ui/src/components/SettingRow.tsrx +50 -0
  866. package/packages/ui/src/components/Switch.tsrx +21 -0
  867. package/packages/ui/src/components/Table.tsrx +267 -0
  868. package/packages/ui/src/components/TableCard.tsrx +52 -0
  869. package/packages/ui/src/components/Tag.tsrx +28 -0
  870. package/packages/ui/src/components/VariableField.tsrx +284 -0
  871. package/packages/ui/src/components/VariableInput.tsrx +7 -0
  872. package/packages/ui/src/components/VariableSelect.tsrx +72 -0
  873. package/packages/ui/src/components/VariableTextarea.tsrx +9 -0
  874. package/packages/ui/src/components/variable-field.ts +61 -0
  875. package/packages/ui/src/components/variable-select.ts +69 -0
  876. package/packages/ui/src/icons/Icon.tsrx +56 -0
  877. package/packages/ui/src/index.ts +81 -0
  878. package/packages/ui/src/initials.ts +10 -0
  879. package/packages/ui/src/styles/base.css +71 -0
  880. package/packages/ui/src/styles/components.css +1859 -0
  881. package/packages/ui/src/styles/index.css +3 -0
  882. package/packages/ui/src/styles/tokens.css +124 -0
  883. package/tsconfig.base.json +18 -0
@@ -0,0 +1,4125 @@
1
+ //#region ../../node_modules/.pnpm/@electric-sql+pglite@0.5.8/node_modules/@electric-sql/pglite/dist/chunk-QY3QWFKW.js
2
+ var p$1 = Object.create;
3
+ var i = Object.defineProperty;
4
+ var c$1 = Object.getOwnPropertyDescriptor;
5
+ var f$1 = Object.getOwnPropertyNames;
6
+ var l = Object.getPrototypeOf;
7
+ var s$1 = Object.prototype.hasOwnProperty;
8
+ var a$1 = (t) => {
9
+ throw TypeError(t);
10
+ };
11
+ var _ = (t, e, o) => e in t ? i(t, e, {
12
+ enumerable: !0,
13
+ configurable: !0,
14
+ writable: !0,
15
+ value: o
16
+ }) : t[e] = o;
17
+ var d$1 = (t, e) => () => (t && (e = t(t = 0)), e);
18
+ var D$1 = (t, e) => () => (e || t((e = { exports: {} }).exports, e), e.exports);
19
+ var F = (t, e) => {
20
+ for (var o in e) i(t, o, {
21
+ get: e[o],
22
+ enumerable: !0
23
+ });
24
+ };
25
+ var g = (t, e, o, m) => {
26
+ if (e && typeof e == "object" || typeof e == "function") for (let r of f$1(e)) !s$1.call(t, r) && r !== o && i(t, r, {
27
+ get: () => e[r],
28
+ enumerable: !(m = c$1(e, r)) || m.enumerable
29
+ });
30
+ return t;
31
+ };
32
+ var L = (t, e, o) => (o = t != null ? p$1(l(t)) : {}, g(e || !t || !t.__esModule ? i(o, "default", {
33
+ value: t,
34
+ enumerable: !0
35
+ }) : o, t));
36
+ var P = (t, e, o) => _(t, typeof e != "symbol" ? e + "" : e, o);
37
+ var n = (t, e, o) => e.has(t) || a$1("Cannot " + o);
38
+ var h$1 = (t, e, o) => (n(t, e, "read from private field"), o ? o.call(t) : e.get(t));
39
+ var R = (t, e, o) => e.has(t) ? a$1("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, o);
40
+ var x = (t, e, o, m) => (n(t, e, "write to private field"), m ? m.call(t, o) : e.set(t, o), o);
41
+ var T = (t, e, o) => (n(t, e, "access private method"), o);
42
+ var U = (t, e, o, m) => ({
43
+ set _(r) {
44
+ x(t, e, r, o);
45
+ },
46
+ get _() {
47
+ return h$1(t, e, m);
48
+ }
49
+ });
50
+ var u$1 = d$1(() => {
51
+ "use strict";
52
+ });
53
+ //#endregion
54
+ //#region ../../node_modules/.pnpm/@electric-sql+pglite@0.5.8/node_modules/@electric-sql/pglite/dist/chunk-NNS5RQRF.js
55
+ u$1();
56
+ var d = Object.defineProperty;
57
+ var f = (t, e) => {
58
+ for (var r in e) d(t, r, {
59
+ get: e[r],
60
+ enumerable: !0
61
+ });
62
+ };
63
+ var p = {};
64
+ f(p, {
65
+ IN_NODE: () => s,
66
+ WASM_PREFIX: () => m,
67
+ getFsBundle: () => w,
68
+ instantiateWasm: () => b,
69
+ pgliteProc: () => y,
70
+ rmdirRecursive: () => u,
71
+ startArtifactDownload: () => c,
72
+ toPostgresName: () => v,
73
+ uuid: () => S
74
+ });
75
+ function h() {
76
+ let t = process.type;
77
+ return t === "renderer" || t === "worker" || t === "service-worker";
78
+ }
79
+ var s = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && !h();
80
+ var m = "/pglite";
81
+ var y = globalThis && typeof globalThis.process < "u" ? globalThis.process : { exitCode: void 0 };
82
+ var a = /* @__PURE__ */ new Map();
83
+ async function c(t) {
84
+ s || a.has(t.toString()) || a.set(t.toString(), fetch(t));
85
+ }
86
+ var o = /* @__PURE__ */ new Map();
87
+ async function b(t, e, r) {
88
+ if (r || o.has(e.toString())) {
89
+ let i = r || o.get(e.toString());
90
+ return {
91
+ instance: await WebAssembly.instantiate(i, t),
92
+ module: i
93
+ };
94
+ }
95
+ if (s) {
96
+ let i = await (await import("fs/promises")).readFile(e), { module: n, instance: l } = await WebAssembly.instantiate(i, t);
97
+ return o.set(e.toString(), n), {
98
+ instance: l,
99
+ module: n
100
+ };
101
+ } else {
102
+ a.has(e.toString()) || c(e);
103
+ let i = await a.get(e.toString()), { module: n, instance: l } = await WebAssembly.instantiateStreaming(i.clone(), t);
104
+ return o.set(e.toString(), n), {
105
+ instance: l,
106
+ module: n
107
+ };
108
+ }
109
+ }
110
+ async function w(t) {
111
+ return s ? (await (await import("fs/promises")).readFile(t)).buffer : (c(t), (await a.get(t.toString())).clone().arrayBuffer());
112
+ }
113
+ var S = () => {
114
+ if (globalThis.crypto?.randomUUID) return globalThis.crypto.randomUUID();
115
+ let t = /* @__PURE__ */ new Uint8Array(16);
116
+ if (globalThis.crypto?.getRandomValues) globalThis.crypto.getRandomValues(t);
117
+ else for (let r = 0; r < t.length; r++) t[r] = Math.floor(Math.random() * 256);
118
+ t[6] = t[6] & 15 | 64, t[8] = t[8] & 63 | 128;
119
+ let e = [];
120
+ return t.forEach((r) => {
121
+ e.push(r.toString(16).padStart(2, "0"));
122
+ }), e.slice(0, 4).join("") + "-" + e.slice(4, 6).join("") + "-" + e.slice(6, 8).join("") + "-" + e.slice(8, 10).join("") + "-" + e.slice(10).join("");
123
+ };
124
+ function v(t) {
125
+ let e;
126
+ return t.startsWith("\"") && t.endsWith("\"") ? e = t.substring(1, t.length - 1) : e = t.toLowerCase(), e;
127
+ }
128
+ function u(t, e) {
129
+ try {
130
+ let r = t.readdir(e).filter((i) => i !== "." && i !== "..");
131
+ for (let i of r) {
132
+ let n = e + "/" + i;
133
+ try {
134
+ t.readdir(n), u(t, n);
135
+ } catch {
136
+ t.unlink(n);
137
+ }
138
+ }
139
+ t.rmdir(e);
140
+ } catch {
141
+ try {
142
+ t.unlink(e);
143
+ } catch {}
144
+ }
145
+ }
146
+ //#endregion
147
+ //#region ../../node_modules/.pnpm/@electric-sql+pglite@0.5.8/node_modules/@electric-sql/pglite/dist/chunk-DDJLRBDX.js
148
+ var Y = D$1((Xr, M) => {
149
+ "use strict";
150
+ u$1();
151
+ var me = 9007199254740991, pe = function(e) {
152
+ return e;
153
+ }();
154
+ function $e(e) {
155
+ return e === pe;
156
+ }
157
+ function Se(e) {
158
+ return typeof e == "string" || Object.prototype.toString.call(e) == "[object String]";
159
+ }
160
+ function Ke(e) {
161
+ return Object.prototype.toString.call(e) == "[object Date]";
162
+ }
163
+ function q(e) {
164
+ return e !== null && typeof e == "object";
165
+ }
166
+ function $(e) {
167
+ return typeof e == "function";
168
+ }
169
+ function Je(e) {
170
+ return typeof e == "number" && e > -1 && e % 1 == 0 && e <= me;
171
+ }
172
+ function Qe(e) {
173
+ return Object.prototype.toString.call(e) == "[object Array]";
174
+ }
175
+ function Ee(e) {
176
+ return q(e) && !$(e) && Je(e.length);
177
+ }
178
+ function te(e) {
179
+ return Object.prototype.toString.call(e) == "[object ArrayBuffer]";
180
+ }
181
+ function Ze(e, r) {
182
+ return Array.prototype.map.call(e, r);
183
+ }
184
+ function er(e, r) {
185
+ var t = pe;
186
+ return $(r) && Array.prototype.every.call(e, function(n, o, a) {
187
+ var s = r(n, o, a);
188
+ return s && (t = n), !s;
189
+ }), t;
190
+ }
191
+ function rr(e) {
192
+ return Object.assign.apply(null, arguments);
193
+ }
194
+ function ge(e) {
195
+ var r, t, n;
196
+ if (Se(e)) {
197
+ for (t = e.length, n = new Uint8Array(t), r = 0; r < t; r++) n[r] = e.charCodeAt(r) & 255;
198
+ return n;
199
+ }
200
+ return te(e) ? new Uint8Array(e) : q(e) && te(e.buffer) ? new Uint8Array(e.buffer) : Ee(e) ? new Uint8Array(e) : q(e) && $(e.toString) ? ge(e.toString()) : /* @__PURE__ */ new Uint8Array();
201
+ }
202
+ M.exports.MAX_SAFE_INTEGER = me;
203
+ M.exports.isUndefined = $e;
204
+ M.exports.isString = Se;
205
+ M.exports.isObject = q;
206
+ M.exports.isDateTime = Ke;
207
+ M.exports.isFunction = $;
208
+ M.exports.isArray = Qe;
209
+ M.exports.isArrayLike = Ee;
210
+ M.exports.isArrayBuffer = te;
211
+ M.exports.map = Ze;
212
+ M.exports.find = er;
213
+ M.exports.extend = rr;
214
+ M.exports.toUint8Array = ge;
215
+ });
216
+ var W = D$1(($r, ve) => {
217
+ "use strict";
218
+ u$1();
219
+ var ne = "\0";
220
+ ve.exports = {
221
+ NULL_CHAR: ne,
222
+ TMAGIC: "ustar" + ne + "00",
223
+ OLDGNU_MAGIC: "ustar " + ne,
224
+ REGTYPE: 0,
225
+ LNKTYPE: 1,
226
+ SYMTYPE: 2,
227
+ CHRTYPE: 3,
228
+ BLKTYPE: 4,
229
+ DIRTYPE: 5,
230
+ FIFOTYPE: 6,
231
+ CONTTYPE: 7,
232
+ TSUID: parseInt("4000", 8),
233
+ TSGID: parseInt("2000", 8),
234
+ TSVTX: parseInt("1000", 8),
235
+ TUREAD: parseInt("0400", 8),
236
+ TUWRITE: parseInt("0200", 8),
237
+ TUEXEC: parseInt("0100", 8),
238
+ TGREAD: parseInt("0040", 8),
239
+ TGWRITE: parseInt("0020", 8),
240
+ TGEXEC: parseInt("0010", 8),
241
+ TOREAD: parseInt("0004", 8),
242
+ TOWRITE: parseInt("0002", 8),
243
+ TOEXEC: parseInt("0001", 8),
244
+ TPERMALL: parseInt("0777", 8),
245
+ TPERMMASK: parseInt("0777", 8)
246
+ };
247
+ });
248
+ var ie = D$1((Jr, P) => {
249
+ "use strict";
250
+ u$1();
251
+ var ye = Y(), T = W(), tr = 512, oe = T.TPERMALL, Fe = 0, he = 0, ae = [
252
+ [
253
+ "name",
254
+ 100,
255
+ 0,
256
+ function(e, r) {
257
+ return V(e[r[0]], r[1]);
258
+ },
259
+ function(e, r, t) {
260
+ return L(e.slice(r, r + t[1]));
261
+ }
262
+ ],
263
+ [
264
+ "mode",
265
+ 8,
266
+ 100,
267
+ function(e, r) {
268
+ var t = e[r[0]] || oe;
269
+ return t = t & T.TPERMMASK, j(t, r[1], oe);
270
+ },
271
+ function(e, r, t) {
272
+ var n = x(e.slice(r, r + t[1]));
273
+ return n &= T.TPERMMASK, n;
274
+ }
275
+ ],
276
+ [
277
+ "uid",
278
+ 8,
279
+ 108,
280
+ function(e, r) {
281
+ return j(e[r[0]], r[1], Fe);
282
+ },
283
+ function(e, r, t) {
284
+ return x(e.slice(r, r + t[1]));
285
+ }
286
+ ],
287
+ [
288
+ "gid",
289
+ 8,
290
+ 116,
291
+ function(e, r) {
292
+ return j(e[r[0]], r[1], he);
293
+ },
294
+ function(e, r, t) {
295
+ return x(e.slice(r, r + t[1]));
296
+ }
297
+ ],
298
+ [
299
+ "size",
300
+ 12,
301
+ 124,
302
+ function(e, r) {
303
+ return j(e.data.length, r[1]);
304
+ },
305
+ function(e, r, t) {
306
+ return x(e.slice(r, r + t[1]));
307
+ }
308
+ ],
309
+ [
310
+ "modifyTime",
311
+ 12,
312
+ 136,
313
+ function(e, r) {
314
+ return K(e[r[0]], r[1]);
315
+ },
316
+ function(e, r, t) {
317
+ return J(e.slice(r, r + t[1]));
318
+ }
319
+ ],
320
+ [
321
+ "checksum",
322
+ 8,
323
+ 148,
324
+ function(e, r) {
325
+ return " ";
326
+ },
327
+ function(e, r, t) {
328
+ return x(e.slice(r, r + t[1]));
329
+ }
330
+ ],
331
+ [
332
+ "type",
333
+ 1,
334
+ 156,
335
+ function(e, r) {
336
+ return "" + (parseInt(e[r[0]], 10) || 0) % 8;
337
+ },
338
+ function(e, r, t) {
339
+ return (parseInt(String.fromCharCode(e[r]), 10) || 0) % 8;
340
+ }
341
+ ],
342
+ [
343
+ "linkName",
344
+ 100,
345
+ 157,
346
+ function(e, r) {
347
+ return "";
348
+ },
349
+ function(e, r, t) {
350
+ return L(e.slice(r, r + t[1]));
351
+ }
352
+ ],
353
+ [
354
+ "ustar",
355
+ 8,
356
+ 257,
357
+ function(e, r) {
358
+ return T.TMAGIC;
359
+ },
360
+ function(e, r, t) {
361
+ return nr(L(e.slice(r, r + t[1]), !0));
362
+ },
363
+ function(e, r) {
364
+ return e[r[0]] == T.TMAGIC || e[r[0]] == T.OLDGNU_MAGIC;
365
+ }
366
+ ],
367
+ [
368
+ "owner",
369
+ 32,
370
+ 265,
371
+ function(e, r) {
372
+ return V(e[r[0]], r[1]);
373
+ },
374
+ function(e, r, t) {
375
+ return L(e.slice(r, r + t[1]));
376
+ }
377
+ ],
378
+ [
379
+ "group",
380
+ 32,
381
+ 297,
382
+ function(e, r) {
383
+ return V(e[r[0]], r[1]);
384
+ },
385
+ function(e, r, t) {
386
+ return L(e.slice(r, r + t[1]));
387
+ }
388
+ ],
389
+ [
390
+ "majorNumber",
391
+ 8,
392
+ 329,
393
+ function(e, r) {
394
+ return "";
395
+ },
396
+ function(e, r, t) {
397
+ return x(e.slice(r, r + t[1]));
398
+ }
399
+ ],
400
+ [
401
+ "minorNumber",
402
+ 8,
403
+ 337,
404
+ function(e, r) {
405
+ return "";
406
+ },
407
+ function(e, r, t) {
408
+ return x(e.slice(r, r + t[1]));
409
+ }
410
+ ],
411
+ [
412
+ "prefix",
413
+ 131,
414
+ 345,
415
+ function(e, r) {
416
+ return V(e[r[0]], r[1]);
417
+ },
418
+ function(e, r, t) {
419
+ return L(e.slice(r, r + t[1]));
420
+ }
421
+ ],
422
+ [
423
+ "accessTime",
424
+ 12,
425
+ 476,
426
+ function(e, r) {
427
+ return K(e[r[0]], r[1]);
428
+ },
429
+ function(e, r, t) {
430
+ return J(e.slice(r, r + t[1]));
431
+ }
432
+ ],
433
+ [
434
+ "createTime",
435
+ 12,
436
+ 488,
437
+ function(e, r) {
438
+ return K(e[r[0]], r[1]);
439
+ },
440
+ function(e, r, t) {
441
+ return J(e.slice(r, r + t[1]));
442
+ }
443
+ ]
444
+ ], we = function(e) {
445
+ var r = e[e.length - 1];
446
+ return r[2] + r[1];
447
+ }(ae);
448
+ function nr(e) {
449
+ if (e.length == 8) {
450
+ var r = e.split("");
451
+ if (r[5] == T.NULL_CHAR) return (r[6] == " " || r[6] == T.NULL_CHAR) && (r[6] = "0"), (r[7] == " " || r[7] == T.NULL_CHAR) && (r[7] = "0"), r = r.join(""), r == T.TMAGIC ? r : e;
452
+ if (r[7] == T.NULL_CHAR) return r[5] == T.NULL_CHAR && (r[5] = " "), r[6] == T.NULL_CHAR && (r[6] = " "), r == T.OLDGNU_MAGIC ? r : e;
453
+ }
454
+ return e;
455
+ }
456
+ function V(e, r) {
457
+ return r -= 1, ye.isUndefined(e) && (e = ""), e = ("" + e).substr(0, r), e + T.NULL_CHAR;
458
+ }
459
+ function j(e, r, t) {
460
+ for (t = parseInt(t) || 0, r -= 1, e = (parseInt(e) || t).toString(8).substr(-r, r); e.length < r;) e = "0" + e;
461
+ return e + T.NULL_CHAR;
462
+ }
463
+ function K(e, r) {
464
+ if (ye.isDateTime(e)) e = Math.floor(1 * e / 1e3);
465
+ else if (e = parseInt(e, 10), isFinite(e)) {
466
+ if (e <= 0) return "";
467
+ } else e = Math.floor(1 * /* @__PURE__ */ new Date() / 1e3);
468
+ return j(e, r, 0);
469
+ }
470
+ function L(e, r) {
471
+ var t = String.fromCharCode.apply(null, e);
472
+ if (r) return t;
473
+ var n = t.indexOf(T.NULL_CHAR);
474
+ return n >= 0 ? t.substr(0, n) : t;
475
+ }
476
+ function x(e) {
477
+ var r = String.fromCharCode.apply(null, e);
478
+ return parseInt(r.replace(/^0+$/g, ""), 8) || 0;
479
+ }
480
+ function J(e) {
481
+ return e.length == 0 || e[0] == 0 ? null : /* @__PURE__ */ new Date(1e3 * x(e));
482
+ }
483
+ function or(e, r, t) {
484
+ var n = parseInt(r, 10) || 0, o = Math.min(n + we, e.length), a = 0, s = 0, l = 0;
485
+ t && ae.every(function(p) {
486
+ return p[0] == "checksum" ? (s = n + p[2], l = s + p[1], !1) : !0;
487
+ });
488
+ for (var u = 32, d = n; d < o; d++) {
489
+ var c = d >= s && d < l ? u : e[d];
490
+ a = (a + c) % 262144;
491
+ }
492
+ return a;
493
+ }
494
+ P.exports.recordSize = tr;
495
+ P.exports.defaultFileMode = oe;
496
+ P.exports.defaultUid = Fe;
497
+ P.exports.defaultGid = he;
498
+ P.exports.posixHeader = ae;
499
+ P.exports.effectiveHeaderSize = we;
500
+ P.exports.calculateChecksum = or;
501
+ P.exports.formatTarString = V;
502
+ P.exports.formatTarNumber = j;
503
+ P.exports.formatTarDateTime = K;
504
+ P.exports.parseTarString = L;
505
+ P.exports.parseTarNumber = x;
506
+ P.exports.parseTarDateTime = J;
507
+ });
508
+ var Me = D$1((Zr, Te) => {
509
+ "use strict";
510
+ u$1();
511
+ var ar = W(), Q = Y(), H = ie();
512
+ function Ae(e) {
513
+ return H.recordSize;
514
+ }
515
+ function be(e) {
516
+ return Math.ceil(e.data.length / H.recordSize) * H.recordSize;
517
+ }
518
+ function ir(e) {
519
+ var r = 0;
520
+ return e.forEach(function(t) {
521
+ r += Ae(t) + be(t);
522
+ }), r += H.recordSize * 2, new Uint8Array(r);
523
+ }
524
+ function sr(e, r, t) {
525
+ t = parseInt(t) || 0;
526
+ var n = t;
527
+ H.posixHeader.forEach(function(u) {
528
+ for (var d = u[3](r, u), c = d.length, p = 0; p < c; p += 1) e[n + p] = d.charCodeAt(p) & 255;
529
+ n += u[1];
530
+ });
531
+ var o = Q.find(H.posixHeader, function(u) {
532
+ return u[0] == "checksum";
533
+ });
534
+ if (o) {
535
+ var a = H.calculateChecksum(e, t, !0), s = H.formatTarNumber(a, o[1] - 2) + ar.NULL_CHAR + " ";
536
+ n = t + o[2];
537
+ for (var l = 0; l < s.length; l += 1) e[n] = s.charCodeAt(l) & 255, n++;
538
+ }
539
+ return t + Ae(r);
540
+ }
541
+ function lr(e, r, t) {
542
+ return t = parseInt(t, 10) || 0, e.set(r.data, t), t + be(r);
543
+ }
544
+ function ur(e) {
545
+ e = Q.map(e, function(n) {
546
+ return Q.extend({}, n, { data: Q.toUint8Array(n.data) });
547
+ });
548
+ var r = ir(e), t = 0;
549
+ return e.forEach(function(n) {
550
+ t = sr(r, n, t), t = lr(r, n, t);
551
+ }), r;
552
+ }
553
+ Te.exports.tar = ur;
554
+ });
555
+ var ke = D$1((rt, Pe) => {
556
+ "use strict";
557
+ u$1();
558
+ var dr = W(), le = Y(), N = ie(), cr = {
559
+ extractData: !0,
560
+ checkHeader: !0,
561
+ checkChecksum: !0,
562
+ checkFileSize: !0
563
+ }, _r = {
564
+ size: !0,
565
+ checksum: !0,
566
+ ustar: !0
567
+ }, se = {
568
+ unexpectedEndOfFile: "Unexpected end of file.",
569
+ fileCorrupted: "File is corrupted.",
570
+ checksumCheckFailed: "Checksum check failed."
571
+ };
572
+ function fr(e) {
573
+ return N.recordSize;
574
+ }
575
+ function mr(e) {
576
+ return Math.ceil(e / N.recordSize) * N.recordSize;
577
+ }
578
+ function pr(e, r) {
579
+ for (var t = r, n = Math.min(e.length, r + N.recordSize * 2), o = t; o < n; o++) if (e[o] != 0) return !1;
580
+ return !0;
581
+ }
582
+ function Sr(e, r, t) {
583
+ if (e.length - r < N.recordSize) {
584
+ if (t.checkFileSize) throw new Error(se.unexpectedEndOfFile);
585
+ return null;
586
+ }
587
+ r = parseInt(r) || 0;
588
+ var n = {}, o = r;
589
+ if (N.posixHeader.forEach(function(l) {
590
+ n[l[0]] = l[4](e, o, l), o += l[1];
591
+ }), n.type != 0 && (n.size = 0), t.checkHeader && N.posixHeader.forEach(function(l) {
592
+ if (le.isFunction(l[5]) && !l[5](n, l)) {
593
+ var u = new Error(se.fileCorrupted);
594
+ throw u.data = {
595
+ offset: r + l[2],
596
+ field: l[0]
597
+ }, u;
598
+ }
599
+ }), t.checkChecksum) {
600
+ var a = N.calculateChecksum(e, r, !0);
601
+ if (a != n.checksum) {
602
+ var s = new Error(se.checksumCheckFailed);
603
+ throw s.data = {
604
+ offset: r,
605
+ header: n,
606
+ checksum: a
607
+ }, s;
608
+ }
609
+ }
610
+ return n;
611
+ }
612
+ function Er(e, r, t, n) {
613
+ return n.extractData ? t.size <= 0 ? /* @__PURE__ */ new Uint8Array() : e.slice(r, r + t.size) : null;
614
+ }
615
+ function gr(e, r) {
616
+ var t = {};
617
+ return N.posixHeader.forEach(function(n) {
618
+ var o = n[0];
619
+ _r[o] || (t[o] = e[o]);
620
+ }), t.isOldGNUFormat = e.ustar == dr.OLDGNU_MAGIC, r && (t.data = r), t;
621
+ }
622
+ function vr(e, r) {
623
+ r = le.extend({}, cr, r);
624
+ for (var t = [], n = 0, o = e.length; o - n >= N.recordSize;) {
625
+ e = le.toUint8Array(e);
626
+ var a = Sr(e, n, r);
627
+ if (!a) break;
628
+ n += fr(a);
629
+ var s = Er(e, n, a, r);
630
+ if (t.push(gr(a, s)), n += mr(a.size), pr(e, n)) break;
631
+ }
632
+ return t;
633
+ }
634
+ Pe.exports.untar = vr;
635
+ });
636
+ var Re = D$1((nt, Oe) => {
637
+ "use strict";
638
+ u$1();
639
+ var yr = Y(), Fr = W(), hr = Me(), wr = ke();
640
+ yr.extend(Oe.exports, hr, wr, Fr);
641
+ });
642
+ u$1();
643
+ u$1();
644
+ var D = L(Re(), 1);
645
+ async function ue(e, r, t = "pgdata", n = "auto") {
646
+ let [a, s] = await Mr(Tr(e, r), n), l = t + (s ? ".tar.gz" : ".tar"), u = s ? "application/x-gzip" : "application/x-tar";
647
+ return typeof File < "u" ? new File([a], l, { type: u }) : new Blob([a], { type: u });
648
+ }
649
+ var Ar = [
650
+ "application/x-gtar",
651
+ "application/x-tar+gzip",
652
+ "application/x-gzip",
653
+ "application/gzip"
654
+ ];
655
+ async function at(e, r, t) {
656
+ let n = new Uint8Array(await r.arrayBuffer()), o = typeof File < "u" && r instanceof File ? r.name : void 0;
657
+ (Ar.includes(r.type) || o?.endsWith(".tgz") || o?.endsWith(".tar.gz")) && (n = await De(n));
658
+ let s;
659
+ try {
660
+ s = (0, D.untar)(n);
661
+ } catch (l) {
662
+ if (l instanceof Error && l.message.includes("File is corrupted")) n = await De(n), s = (0, D.untar)(n);
663
+ else throw l;
664
+ }
665
+ for (let l of s) {
666
+ let u = `${t}/${l.name}`, d = u.split("/").slice(0, -1);
667
+ for (let c = 1; c <= d.length; c++) {
668
+ let p = d.slice(0, c).join("/");
669
+ e.analyzePath(p).exists || e.mkdir(p);
670
+ }
671
+ l.type === D.REGTYPE ? (e.writeFile(u, l.data), e.utime(u, Ne(l.modifyTime), Ne(l.modifyTime))) : l.type === D.DIRTYPE && (e.analyzePath(u).exists || e.mkdir(u));
672
+ }
673
+ }
674
+ function br(e, r) {
675
+ let t = [], n = (o) => {
676
+ e.readdir(o).forEach((s) => {
677
+ if (s === "." || s === "..") return;
678
+ let l = o + "/" + s, u = e.stat(l), d = e.isFile(u.mode) ? e.readFile(l, { encoding: "binary" }) : /* @__PURE__ */ new Uint8Array(0);
679
+ t.push({
680
+ name: l.substring(r.length),
681
+ mode: u.mode,
682
+ size: u.size,
683
+ type: e.isFile(u.mode) ? D.REGTYPE : D.DIRTYPE,
684
+ modifyTime: u.mtime,
685
+ data: d
686
+ }), e.isDir(u.mode) && n(l);
687
+ });
688
+ };
689
+ return n(r), t;
690
+ }
691
+ function Tr(e, r) {
692
+ let t = br(e, r);
693
+ return (0, D.tar)(t);
694
+ }
695
+ async function Mr(e, r = "auto") {
696
+ if (r === "none") return [e, !1];
697
+ if (typeof CompressionStream < "u") return [await Pr(e), !0];
698
+ if (typeof process < "u" && process.versions && process.versions.node) return [await kr(e), !0];
699
+ if (r === "auto") return [e, !1];
700
+ throw new Error("Compression not supported in this environment");
701
+ }
702
+ async function Pr(e) {
703
+ let r = new CompressionStream("gzip"), t = r.writable.getWriter(), n = r.readable.getReader();
704
+ t.write(e), t.close();
705
+ let o = [];
706
+ for (;;) {
707
+ let { value: l, done: u } = await n.read();
708
+ if (u) break;
709
+ l && o.push(l);
710
+ }
711
+ let a = new Uint8Array(o.reduce((l, u) => l + u.length, 0)), s = 0;
712
+ return o.forEach((l) => {
713
+ a.set(l, s), s += l.length;
714
+ }), a;
715
+ }
716
+ async function kr(e) {
717
+ let { promisify: r } = await import("util"), { gzip: t } = await import("zlib");
718
+ return await r(t)(e);
719
+ }
720
+ async function De(e) {
721
+ if (typeof CompressionStream < "u") return await Or(e);
722
+ if (typeof process < "u" && process.versions && process.versions.node) return await Rr(e);
723
+ throw new Error("Unsupported environment for decompression");
724
+ }
725
+ async function Or(e) {
726
+ let r = new DecompressionStream("gzip"), t = r.writable.getWriter(), n = r.readable.getReader();
727
+ t.write(e), t.close();
728
+ let o = [];
729
+ for (;;) {
730
+ let { value: l, done: u } = await n.read();
731
+ if (u) break;
732
+ l && o.push(l);
733
+ }
734
+ let a = new Uint8Array(o.reduce((l, u) => l + u.length, 0)), s = 0;
735
+ return o.forEach((l) => {
736
+ a.set(l, s), s += l.length;
737
+ }), a;
738
+ }
739
+ async function Rr(e) {
740
+ let { promisify: r } = await import("util"), { gunzip: t } = await import("zlib");
741
+ return await r(t)(e);
742
+ }
743
+ function Ne(e) {
744
+ return e ? typeof e == "number" ? e : Math.floor(e.getTime() / 1e3) : Math.floor(Date.now() / 1e3);
745
+ }
746
+ u$1();
747
+ u$1();
748
+ u$1();
749
+ var Dr = (() => {
750
+ var _scriptName = import.meta.url;
751
+ return async function(moduleArg = {}) {
752
+ var moduleRtn, Module = moduleArg, readyPromiseResolve, readyPromiseReject, readyPromise = new Promise((e, r) => {
753
+ readyPromiseResolve = e, readyPromiseReject = r;
754
+ }), ENVIRONMENT_IS_WEB = typeof window == "object", ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope < "u", ENVIRONMENT_IS_NODE = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && process.type != "renderer";
755
+ if (ENVIRONMENT_IS_NODE) {
756
+ let { createRequire: e } = await import("module"), r = import.meta.url;
757
+ r.startsWith("data:") && (r = "/");
758
+ var require = e(r);
759
+ }
760
+ var moduleOverrides = Object.assign({}, Module), arguments_ = [], thisProgram = "./this.program", quit_ = (e, r) => {
761
+ throw r;
762
+ }, scriptDirectory = "";
763
+ function locateFile(e) {
764
+ return Module.locateFile ? Module.locateFile(e, scriptDirectory) : scriptDirectory + e;
765
+ }
766
+ var readAsync, readBinary;
767
+ if (ENVIRONMENT_IS_NODE) {
768
+ var fs = require("fs"), nodePath = require("path");
769
+ import.meta.url.startsWith("data:") || (scriptDirectory = nodePath.dirname(require("url").fileURLToPath(import.meta.url)) + "/"), readBinary = (e) => {
770
+ e = isFileURI(e) ? new URL(e) : e;
771
+ return fs.readFileSync(e);
772
+ }, readAsync = async (e, r = !0) => {
773
+ e = isFileURI(e) ? new URL(e) : e;
774
+ return fs.readFileSync(e, r ? void 0 : "utf8");
775
+ }, !Module.thisProgram && process.argv.length > 1 && (thisProgram = process.argv[1].replace(/\\/g, "/")), arguments_ = process.argv.slice(2), quit_ = (e, r) => {
776
+ throw process.exitCode = e, r;
777
+ };
778
+ } else (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && (ENVIRONMENT_IS_WORKER ? scriptDirectory = self.location.href : typeof document < "u" && document.currentScript && (scriptDirectory = document.currentScript.src), _scriptName && (scriptDirectory = _scriptName), scriptDirectory.startsWith("blob:") ? scriptDirectory = "" : scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1), ENVIRONMENT_IS_WORKER && (readBinary = (e) => {
779
+ var r = new XMLHttpRequest();
780
+ return r.open("GET", e, !1), r.responseType = "arraybuffer", r.send(null), new Uint8Array(r.response);
781
+ }), readAsync = async (e) => {
782
+ var r = await fetch(e, { credentials: "same-origin" });
783
+ if (r.ok) return r.arrayBuffer();
784
+ throw new Error(r.status + " : " + r.url);
785
+ });
786
+ var out = Module.print || console.log.bind(console), err = Module.printErr || console.error.bind(console);
787
+ Object.assign(Module, moduleOverrides), moduleOverrides = null, Module.arguments && (arguments_ = Module.arguments), Module.thisProgram && (thisProgram = Module.thisProgram);
788
+ var dynamicLibraries = Module.dynamicLibraries || [], wasmBinary = Module.wasmBinary;
789
+ function intArrayFromBase64(e) {
790
+ if (typeof ENVIRONMENT_IS_NODE < "u" && ENVIRONMENT_IS_NODE) {
791
+ var r = Buffer.from(e, "base64");
792
+ return new Uint8Array(r.buffer, r.byteOffset, r.length);
793
+ }
794
+ for (var t = atob(e), n = new Uint8Array(t.length), o = 0; o < t.length; ++o) n[o] = t.charCodeAt(o);
795
+ return n;
796
+ }
797
+ var wasmMemory, ABORT = !1, EXITSTATUS;
798
+ function assert(e, r) {
799
+ e || abort(r);
800
+ }
801
+ var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAP64, HEAPU64, HEAPF64;
802
+ function updateMemoryViews() {
803
+ var e = wasmMemory.buffer;
804
+ Module.HEAP8 = HEAP8 = new Int8Array(e), Module.HEAP16 = HEAP16 = new Int16Array(e), Module.HEAPU8 = HEAPU8 = new Uint8Array(e), Module.HEAPU16 = new Uint16Array(e), Module.HEAP32 = HEAP32 = new Int32Array(e), Module.HEAPU32 = HEAPU32 = new Uint32Array(e), Module.HEAPF32 = new Float32Array(e), Module.HEAPF64 = new Float64Array(e), Module.HEAP64 = HEAP64 = new BigInt64Array(e), Module.HEAPU64 = new BigUint64Array(e);
805
+ }
806
+ if (Module.wasmMemory) wasmMemory = Module.wasmMemory;
807
+ else {
808
+ var INITIAL_MEMORY = Module.INITIAL_MEMORY || 67108864;
809
+ wasmMemory = new WebAssembly.Memory({
810
+ initial: INITIAL_MEMORY / 65536,
811
+ maximum: 32768
812
+ });
813
+ }
814
+ updateMemoryViews();
815
+ var __ATPRERUN__ = [], __ATINIT__ = [], __ATMAIN__ = [], __ATEXIT__ = [], __ATPOSTRUN__ = [], __RELOC_FUNCS__ = [], runtimeInitialized = !1, runtimeExited = !1;
816
+ function preRun() {
817
+ if (Module.preRun) for (typeof Module.preRun == "function" && (Module.preRun = [Module.preRun]); Module.preRun.length;) addOnPreRun(Module.preRun.shift());
818
+ callRuntimeCallbacks(__ATPRERUN__);
819
+ }
820
+ function initRuntime() {
821
+ runtimeInitialized = !0, callRuntimeCallbacks(__RELOC_FUNCS__), !Module.noFSInit && !FS.initialized && FS.init(), FS.ignorePermissions = !1, TTY.init(), callRuntimeCallbacks(__ATINIT__);
822
+ }
823
+ function preMain() {
824
+ callRuntimeCallbacks(__ATMAIN__);
825
+ }
826
+ function exitRuntime() {
827
+ ___funcs_on_exit(), callRuntimeCallbacks(__ATEXIT__), FS.quit(), TTY.shutdown(), runtimeExited = !0;
828
+ }
829
+ function postRun() {
830
+ if (Module.postRun) for (typeof Module.postRun == "function" && (Module.postRun = [Module.postRun]); Module.postRun.length;) addOnPostRun(Module.postRun.shift());
831
+ callRuntimeCallbacks(__ATPOSTRUN__);
832
+ }
833
+ function addOnPreRun(e) {
834
+ __ATPRERUN__.unshift(e);
835
+ }
836
+ function addOnInit(e) {
837
+ __ATINIT__.unshift(e);
838
+ }
839
+ function addOnPostRun(e) {
840
+ __ATPOSTRUN__.unshift(e);
841
+ }
842
+ var runDependencies = 0, dependenciesFulfilled = null;
843
+ function getUniqueRunDependency(e) {
844
+ return e;
845
+ }
846
+ function addRunDependency(e) {
847
+ runDependencies++, Module.monitorRunDependencies?.(runDependencies);
848
+ }
849
+ function removeRunDependency(e) {
850
+ if (runDependencies--, Module.monitorRunDependencies?.(runDependencies), runDependencies == 0 && dependenciesFulfilled) {
851
+ var r = dependenciesFulfilled;
852
+ dependenciesFulfilled = null, r();
853
+ }
854
+ }
855
+ function abort(e) {
856
+ Module.onAbort?.(e), e = "Aborted(" + e + ")", err(e), ABORT = !0, e += ". Build with -sASSERTIONS for more info.";
857
+ var r = new WebAssembly.RuntimeError(e);
858
+ throw readyPromiseReject(r), r;
859
+ }
860
+ var dataURIPrefix = "data:application/octet-stream;base64,", isDataURI = (e) => e.startsWith(dataURIPrefix), isFileURI = (e) => e.startsWith("file://");
861
+ function findWasmBinary() {
862
+ if (Module.locateFile) {
863
+ var e = "initdb.wasm";
864
+ return isDataURI(e) ? e : locateFile(e);
865
+ }
866
+ return new URL("initdb.wasm", import.meta.url).href;
867
+ }
868
+ var wasmBinaryFile;
869
+ function getBinarySync(e) {
870
+ if (e == wasmBinaryFile && wasmBinary) return new Uint8Array(wasmBinary);
871
+ if (readBinary) return readBinary(e);
872
+ throw "both async and sync fetching of the wasm failed";
873
+ }
874
+ async function getWasmBinary(e) {
875
+ if (!wasmBinary) try {
876
+ var r = await readAsync(e);
877
+ return new Uint8Array(r);
878
+ } catch {}
879
+ return getBinarySync(e);
880
+ }
881
+ async function instantiateArrayBuffer(e, r) {
882
+ try {
883
+ var t = await getWasmBinary(e);
884
+ return await WebAssembly.instantiate(t, r);
885
+ } catch (o) {
886
+ err(`failed to asynchronously prepare wasm: ${o}`), abort(o);
887
+ }
888
+ }
889
+ async function instantiateAsync(e, r, t) {
890
+ if (!e && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(r) && !ENVIRONMENT_IS_NODE && typeof fetch == "function") try {
891
+ var n = fetch(r, { credentials: "same-origin" });
892
+ return await WebAssembly.instantiateStreaming(n, t);
893
+ } catch (a) {
894
+ err(`wasm streaming compile failed: ${a}`), err("falling back to ArrayBuffer instantiation");
895
+ }
896
+ return instantiateArrayBuffer(r, t);
897
+ }
898
+ function getWasmImports() {
899
+ return {
900
+ env: wasmImports,
901
+ wasi_snapshot_preview1: wasmImports,
902
+ "GOT.mem": new Proxy(wasmImports, GOTHandler),
903
+ "GOT.func": new Proxy(wasmImports, GOTHandler)
904
+ };
905
+ }
906
+ async function createWasm() {
907
+ function e(o, a) {
908
+ wasmExports = o.exports, wasmExports = relocateExports(wasmExports, 1024);
909
+ var s = getDylinkMetadata(a);
910
+ return s.neededDynlibs && (dynamicLibraries = s.neededDynlibs.concat(dynamicLibraries)), mergeLibSymbols(wasmExports, "main"), LDSO.init(), loadDylibs(), addOnInit(wasmExports.__wasm_call_ctors), __RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs), removeRunDependency("wasm-instantiate"), wasmExports;
911
+ }
912
+ addRunDependency("wasm-instantiate");
913
+ function r(o) {
914
+ e(o.instance, o.module);
915
+ }
916
+ var t = getWasmImports();
917
+ if (Module.instantiateWasm) try {
918
+ return Module.instantiateWasm(t, e);
919
+ } catch (o) {
920
+ err(`Module.instantiateWasm callback failed with error: ${o}`), readyPromiseReject(o);
921
+ }
922
+ wasmBinaryFile ?? (wasmBinaryFile = findWasmBinary());
923
+ try {
924
+ var n = await instantiateAsync(wasmBinary, wasmBinaryFile, t);
925
+ return r(n), n;
926
+ } catch (o) {
927
+ readyPromiseReject(o);
928
+ return;
929
+ }
930
+ }
931
+ var ASM_CONSTS = {};
932
+ class ExitStatus {
933
+ constructor(r) {
934
+ P(this, "name", "ExitStatus");
935
+ this.message = `Program terminated with exit(${r})`, this.status = r;
936
+ }
937
+ }
938
+ var GOT = {}, currentModuleWeakSymbols = /* @__PURE__ */ new Set([]), GOTHandler = { get(e, r) {
939
+ var t = GOT[r];
940
+ return t || (t = GOT[r] = new WebAssembly.Global({
941
+ value: "i32",
942
+ mutable: !0
943
+ })), currentModuleWeakSymbols.has(r) || (t.required = !0), t;
944
+ } }, callRuntimeCallbacks = (e) => {
945
+ for (; e.length > 0;) e.shift()(Module);
946
+ }, UTF8Decoder = typeof TextDecoder < "u" ? new TextDecoder() : void 0, UTF8ArrayToString = (e, r = 0, t = NaN) => {
947
+ for (var n = r + t, o = r; e[o] && !(o >= n);) ++o;
948
+ if (o - r > 16 && e.buffer && UTF8Decoder) return UTF8Decoder.decode(e.subarray(r, o));
949
+ for (var a = ""; r < o;) {
950
+ var s = e[r++];
951
+ if (!(s & 128)) {
952
+ a += String.fromCharCode(s);
953
+ continue;
954
+ }
955
+ var l = e[r++] & 63;
956
+ if ((s & 224) == 192) {
957
+ a += String.fromCharCode((s & 31) << 6 | l);
958
+ continue;
959
+ }
960
+ var u = e[r++] & 63;
961
+ if ((s & 240) == 224 ? s = (s & 15) << 12 | l << 6 | u : s = (s & 7) << 18 | l << 12 | u << 6 | e[r++] & 63, s < 65536) a += String.fromCharCode(s);
962
+ else {
963
+ var d = s - 65536;
964
+ a += String.fromCharCode(55296 | d >> 10, 56320 | d & 1023);
965
+ }
966
+ }
967
+ return a;
968
+ }, getDylinkMetadata = (e) => {
969
+ var r = 0, t = 0;
970
+ function n() {
971
+ return e[r++];
972
+ }
973
+ function o() {
974
+ for (var U = 0, X = 1;;) {
975
+ var _e = e[r++];
976
+ if (U += (_e & 127) * X, X *= 128, !(_e & 128)) break;
977
+ }
978
+ return U;
979
+ }
980
+ function a() {
981
+ var U = o();
982
+ return r += U, UTF8ArrayToString(e, r - U, U);
983
+ }
984
+ function s(U, X) {
985
+ if (U) throw new Error(X);
986
+ }
987
+ var l = "dylink.0";
988
+ if (e instanceof WebAssembly.Module) {
989
+ var u = WebAssembly.Module.customSections(e, l);
990
+ u.length === 0 && (l = "dylink", u = WebAssembly.Module.customSections(e, l)), s(u.length === 0, "need dylink section"), e = new Uint8Array(u[0]), t = e.length;
991
+ } else {
992
+ s(!(new Uint32Array(new Uint8Array(e.subarray(0, 24)).buffer)[0] == 1836278016), "need to see wasm magic number"), s(e[8] !== 0, "need the dylink section to be first"), r = 9;
993
+ var p = o();
994
+ t = r + p, l = a();
995
+ }
996
+ var f = {
997
+ neededDynlibs: [],
998
+ tlsExports: /* @__PURE__ */ new Set(),
999
+ weakImports: /* @__PURE__ */ new Set()
1000
+ };
1001
+ if (l == "dylink") {
1002
+ f.memorySize = o(), f.memoryAlign = o(), f.tableSize = o(), f.tableAlign = o();
1003
+ for (var m = o(), _ = 0; _ < m; ++_) {
1004
+ var g = a();
1005
+ f.neededDynlibs.push(g);
1006
+ }
1007
+ } else {
1008
+ s(l !== "dylink.0");
1009
+ for (var E = 1, y = 2, A = 3, S = 4, v = 256, h = 3, b = 1; r < t;) {
1010
+ var F = n(), Xe = o();
1011
+ if (F === E) f.memorySize = o(), f.memoryAlign = o(), f.tableSize = o(), f.tableAlign = o();
1012
+ else if (F === y) for (var m = o(), _ = 0; _ < m; ++_) g = a(), f.neededDynlibs.push(g);
1013
+ else if (F === A) for (var Z = o(); Z--;) {
1014
+ var ee = a(), re = o();
1015
+ re & v && f.tlsExports.add(ee);
1016
+ }
1017
+ else if (F === S) for (var Z = o(); Z--;) {
1018
+ var Vr = a(), ee = a(), re = o();
1019
+ (re & h) == b && f.weakImports.add(ee);
1020
+ }
1021
+ else r += Xe;
1022
+ }
1023
+ }
1024
+ return f;
1025
+ }, newDSO = (e, r, t) => {
1026
+ var n = {
1027
+ refcount: 1 / 0,
1028
+ name: e,
1029
+ exports: t,
1030
+ global: !0
1031
+ };
1032
+ return LDSO.loadedLibsByName[e] = n, r != null && (LDSO.loadedLibsByHandle[r] = n), n;
1033
+ }, LDSO = {
1034
+ loadedLibsByName: {},
1035
+ loadedLibsByHandle: {},
1036
+ init() {
1037
+ newDSO("__main__", 0, wasmImports);
1038
+ }
1039
+ }, ___heap_base = 205904, alignMemory = (e, r) => Math.ceil(e / r) * r, getMemory = (e) => {
1040
+ if (runtimeInitialized) return _calloc(e, 1);
1041
+ var r = ___heap_base, t = r + alignMemory(e, 16);
1042
+ return ___heap_base = t, GOT.__heap_base.value = t, r;
1043
+ }, isInternalSym = (e) => [
1044
+ "__cpp_exception",
1045
+ "__c_longjmp",
1046
+ "__wasm_apply_data_relocs",
1047
+ "__dso_handle",
1048
+ "__tls_size",
1049
+ "__tls_align",
1050
+ "__set_stack_limits",
1051
+ "_emscripten_tls_init",
1052
+ "__wasm_init_tls",
1053
+ "__wasm_call_ctors",
1054
+ "__start_em_asm",
1055
+ "__stop_em_asm",
1056
+ "__start_em_js",
1057
+ "__stop_em_js"
1058
+ ].includes(e) || e.startsWith("__em_js__"), uleb128Encode = (e, r) => {
1059
+ e < 128 ? r.push(e) : r.push(e % 128 | 128, e >> 7);
1060
+ }, sigToWasmTypes = (e) => {
1061
+ for (var r = {
1062
+ i: "i32",
1063
+ j: "i64",
1064
+ f: "f32",
1065
+ d: "f64",
1066
+ e: "externref",
1067
+ p: "i32"
1068
+ }, t = {
1069
+ parameters: [],
1070
+ results: e[0] == "v" ? [] : [r[e[0]]]
1071
+ }, n = 1; n < e.length; ++n) t.parameters.push(r[e[n]]);
1072
+ return t;
1073
+ }, generateFuncType = (e, r) => {
1074
+ var t = e.slice(0, 1), n = e.slice(1), o = {
1075
+ i: 127,
1076
+ p: 127,
1077
+ j: 126,
1078
+ f: 125,
1079
+ d: 124,
1080
+ e: 111
1081
+ };
1082
+ r.push(96), uleb128Encode(n.length, r);
1083
+ for (var a = 0; a < n.length; ++a) r.push(o[n[a]]);
1084
+ t == "v" ? r.push(0) : r.push(1, o[t]);
1085
+ }, convertJsFunctionToWasm = (e, r) => {
1086
+ if (typeof WebAssembly.Function == "function") return new WebAssembly.Function(sigToWasmTypes(r), e);
1087
+ var t = [1];
1088
+ generateFuncType(r, t);
1089
+ var n = [
1090
+ 0,
1091
+ 97,
1092
+ 115,
1093
+ 109,
1094
+ 1,
1095
+ 0,
1096
+ 0,
1097
+ 0,
1098
+ 1
1099
+ ];
1100
+ uleb128Encode(t.length, n), n.push(...t), n.push(2, 7, 1, 1, 101, 1, 102, 0, 0, 7, 5, 1, 1, 102, 0, 0);
1101
+ var o = new WebAssembly.Module(new Uint8Array(n));
1102
+ return new WebAssembly.Instance(o, { e: { f: e } }).exports.f;
1103
+ }, wasmTableMirror = [], wasmTable = new WebAssembly.Table({
1104
+ initial: 144,
1105
+ element: "anyfunc"
1106
+ }), getWasmTableEntry = (e) => {
1107
+ var r = wasmTableMirror[e];
1108
+ return r || (e >= wasmTableMirror.length && (wasmTableMirror.length = e + 1), wasmTableMirror[e] = r = wasmTable.get(e)), r;
1109
+ }, updateTableMap = (e, r) => {
1110
+ if (functionsInTableMap) for (var t = e; t < e + r; t++) {
1111
+ var n = getWasmTableEntry(t);
1112
+ n && functionsInTableMap.set(n, t);
1113
+ }
1114
+ }, functionsInTableMap, getFunctionAddress = (e) => (functionsInTableMap || (functionsInTableMap = /* @__PURE__ */ new WeakMap(), updateTableMap(0, wasmTable.length)), functionsInTableMap.get(e) || 0), freeTableIndexes = [], getEmptyTableSlot = () => {
1115
+ if (freeTableIndexes.length) return freeTableIndexes.pop();
1116
+ try {
1117
+ wasmTable.grow(1);
1118
+ } catch (e) {
1119
+ throw e instanceof RangeError ? "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH." : e;
1120
+ }
1121
+ return wasmTable.length - 1;
1122
+ }, setWasmTableEntry = (e, r) => {
1123
+ wasmTable.set(e, r), wasmTableMirror[e] = wasmTable.get(e);
1124
+ }, addFunction = (e, r) => {
1125
+ var t = getFunctionAddress(e);
1126
+ if (t) return t;
1127
+ var n = getEmptyTableSlot();
1128
+ try {
1129
+ setWasmTableEntry(n, e);
1130
+ } catch (a) {
1131
+ if (!(a instanceof TypeError)) throw a;
1132
+ setWasmTableEntry(n, convertJsFunctionToWasm(e, r));
1133
+ }
1134
+ return functionsInTableMap.set(e, n), n;
1135
+ }, updateGOT = (e, r) => {
1136
+ for (var t in e) if (!isInternalSym(t)) {
1137
+ var n = e[t];
1138
+ GOT[t] || (GOT[t] = new WebAssembly.Global({
1139
+ value: "i32",
1140
+ mutable: !0
1141
+ })), (r || GOT[t].value == 0) && (typeof n == "function" ? GOT[t].value = addFunction(n) : typeof n == "number" ? GOT[t].value = n : err(`unhandled export type for '${t}': ${typeof n}`));
1142
+ }
1143
+ }, relocateExports = (e, r, t) => {
1144
+ var n = {};
1145
+ for (var o in e) {
1146
+ var a = e[o];
1147
+ typeof a == "object" && (a = a.value), typeof a == "number" && (a += r), n[o] = a;
1148
+ }
1149
+ return updateGOT(n, t), n;
1150
+ }, isSymbolDefined = (e) => {
1151
+ var r = wasmImports[e];
1152
+ return !(!r || r.stub);
1153
+ }, dynCall = (e, r, t = []) => {
1154
+ return getWasmTableEntry(r)(...t);
1155
+ }, stackSave = () => _emscripten_stack_get_current(), stackRestore = (e) => __emscripten_stack_restore(e), createInvokeFunction = (e) => (r, ...t) => {
1156
+ var n = stackSave();
1157
+ try {
1158
+ return dynCall(e, r, t);
1159
+ } catch (o) {
1160
+ if (stackRestore(n), o !== o + 0) throw o;
1161
+ if (_setThrew(1, 0), e[0] == "j") return 0n;
1162
+ }
1163
+ }, resolveGlobalSymbol = (e, r = !1) => {
1164
+ var t;
1165
+ return isSymbolDefined(e) ? t = wasmImports[e] : e.startsWith("invoke_") && (t = wasmImports[e] = createInvokeFunction(e.split("_")[1])), {
1166
+ sym: t,
1167
+ name: e
1168
+ };
1169
+ }, UTF8ToString = (e, r) => e ? UTF8ArrayToString(HEAPU8, e, r) : "", loadWebAssemblyModule = (binary, flags, libName, localScope, handle) => {
1170
+ var metadata = getDylinkMetadata(binary);
1171
+ currentModuleWeakSymbols = metadata.weakImports;
1172
+ function loadModule() {
1173
+ var firstLoad = !handle || !HEAP8[handle + 8];
1174
+ if (firstLoad) {
1175
+ var memAlign = Math.pow(2, metadata.memoryAlign), memoryBase = metadata.memorySize ? alignMemory(getMemory(metadata.memorySize + memAlign), memAlign) : 0, tableBase = metadata.tableSize ? wasmTable.length : 0;
1176
+ handle && (HEAP8[handle + 8] = 1, HEAPU32[handle + 12 >> 2] = memoryBase, HEAP32[handle + 16 >> 2] = metadata.memorySize, HEAPU32[handle + 20 >> 2] = tableBase, HEAP32[handle + 24 >> 2] = metadata.tableSize);
1177
+ } else memoryBase = HEAPU32[handle + 12 >> 2], tableBase = HEAPU32[handle + 20 >> 2];
1178
+ var tableGrowthNeeded = tableBase + metadata.tableSize - wasmTable.length;
1179
+ tableGrowthNeeded > 0 && wasmTable.grow(tableGrowthNeeded);
1180
+ var moduleExports;
1181
+ function resolveSymbol(e) {
1182
+ var r = resolveGlobalSymbol(e).sym;
1183
+ return !r && localScope && (r = localScope[e]), r || (r = moduleExports[e]), r;
1184
+ }
1185
+ var proxyHandler = { get(e, r) {
1186
+ switch (r) {
1187
+ case "__memory_base": return memoryBase;
1188
+ case "__table_base": return tableBase;
1189
+ }
1190
+ if (r in wasmImports && !wasmImports[r].stub) return wasmImports[r];
1191
+ if (!(r in e)) {
1192
+ var t;
1193
+ e[r] = (...n) => (t || (t = resolveSymbol(r)), t(...n));
1194
+ }
1195
+ return e[r];
1196
+ } }, proxy = new Proxy({}, proxyHandler), info = {
1197
+ "GOT.mem": new Proxy({}, GOTHandler),
1198
+ "GOT.func": new Proxy({}, GOTHandler),
1199
+ env: proxy,
1200
+ wasi_snapshot_preview1: proxy
1201
+ };
1202
+ function postInstantiation(module, instance) {
1203
+ updateTableMap(tableBase, metadata.tableSize), moduleExports = relocateExports(instance.exports, memoryBase), flags.allowUndefined || reportUndefinedSymbols();
1204
+ function addEmAsm(addr, body) {
1205
+ for (var args = [], arity = 0; arity < 16 && body.indexOf("$" + arity) != -1; arity++) args.push("$" + arity);
1206
+ args = args.join(",");
1207
+ var func = `(${args}) => { ${body} };`;
1208
+ ASM_CONSTS[start] = eval(func);
1209
+ }
1210
+ if ("__start_em_asm" in moduleExports) for (var start = moduleExports.__start_em_asm, stop = moduleExports.__stop_em_asm; start < stop;) {
1211
+ var jsString = UTF8ToString(start);
1212
+ addEmAsm(start, jsString), start = HEAPU8.indexOf(0, start) + 1;
1213
+ }
1214
+ function addEmJs(name, cSig, body) {
1215
+ var jsArgs = [];
1216
+ if (cSig = cSig.slice(1, -1), cSig != "void") {
1217
+ cSig = cSig.split(",");
1218
+ for (var i in cSig) {
1219
+ var jsArg = cSig[i].split(" ").pop();
1220
+ jsArgs.push(jsArg.replace("*", ""));
1221
+ }
1222
+ }
1223
+ var func = `(${jsArgs}) => ${body};`;
1224
+ moduleExports[name] = eval(func);
1225
+ }
1226
+ for (var name in moduleExports) if (name.startsWith("__em_js__")) {
1227
+ var start = moduleExports[name], jsString = UTF8ToString(start), parts = jsString.split("<::>");
1228
+ addEmJs(name.replace("__em_js__", ""), parts[0], parts[1]), delete moduleExports[name];
1229
+ }
1230
+ var applyRelocs = moduleExports.__wasm_apply_data_relocs;
1231
+ applyRelocs && (runtimeInitialized ? applyRelocs() : __RELOC_FUNCS__.push(applyRelocs));
1232
+ var init = moduleExports.__wasm_call_ctors;
1233
+ return init && (runtimeInitialized ? init() : __ATINIT__.push(init)), moduleExports;
1234
+ }
1235
+ if (flags.loadAsync) {
1236
+ if (binary instanceof WebAssembly.Module) {
1237
+ var instance = new WebAssembly.Instance(binary, info);
1238
+ return Promise.resolve(postInstantiation(binary, instance));
1239
+ }
1240
+ return WebAssembly.instantiate(binary, info).then((e) => postInstantiation(e.module, e.instance));
1241
+ }
1242
+ var module = binary instanceof WebAssembly.Module ? binary : new WebAssembly.Module(binary), instance = new WebAssembly.Instance(module, info);
1243
+ return postInstantiation(module, instance);
1244
+ }
1245
+ return flags.loadAsync ? metadata.neededDynlibs.reduce((e, r) => e.then(() => loadDynamicLibrary(r, flags, localScope)), Promise.resolve()).then(loadModule) : (metadata.neededDynlibs.forEach((e) => loadDynamicLibrary(e, flags, localScope)), loadModule());
1246
+ }, mergeLibSymbols = (e, r) => {
1247
+ for (var [t, n] of Object.entries(e)) {
1248
+ let o = (s) => {
1249
+ isSymbolDefined(s) || (wasmImports[s] = n);
1250
+ };
1251
+ o(t);
1252
+ let a = "__main_argc_argv";
1253
+ t == "main" && o(a), t == a && o("main");
1254
+ }
1255
+ }, asyncLoad = async (e) => {
1256
+ var r = await readAsync(e);
1257
+ return new Uint8Array(r);
1258
+ }, preloadPlugins = Module.preloadPlugins || [], registerWasmPlugin = () => {
1259
+ var e = {
1260
+ promiseChainEnd: Promise.resolve(),
1261
+ canHandle: (r) => !Module.noWasmDecoding && r.endsWith(".so"),
1262
+ handle: (r, t, n, o) => {
1263
+ e.promiseChainEnd = e.promiseChainEnd.then(() => loadWebAssemblyModule(r, {
1264
+ loadAsync: !0,
1265
+ nodelete: !0
1266
+ }, t, {})).then((a) => {
1267
+ preloadedWasm[t] = a, n(r);
1268
+ }, (a) => {
1269
+ err(`failed to instantiate wasm: ${t}: ${a}`), o();
1270
+ });
1271
+ }
1272
+ };
1273
+ preloadPlugins.push(e);
1274
+ }, preloadedWasm = {};
1275
+ function loadDynamicLibrary(e, r = {
1276
+ global: !0,
1277
+ nodelete: !0
1278
+ }, t, n) {
1279
+ var o = LDSO.loadedLibsByName[e];
1280
+ if (o) return r.global ? o.global || (o.global = !0, mergeLibSymbols(o.exports, e)) : t && Object.assign(t, o.exports), r.nodelete && o.refcount !== 1 / 0 && (o.refcount = 1 / 0), o.refcount++, n && (LDSO.loadedLibsByHandle[n] = o), r.loadAsync ? Promise.resolve(!0) : !0;
1281
+ o = newDSO(e, n, "loading"), o.refcount = r.nodelete ? 1 / 0 : 1, o.global = r.global;
1282
+ function a() {
1283
+ if (n) {
1284
+ var u = HEAPU32[n + 28 >> 2], d = HEAPU32[n + 32 >> 2];
1285
+ if (u && d) {
1286
+ var c = HEAP8.slice(u, u + d);
1287
+ return r.loadAsync ? Promise.resolve(c) : c;
1288
+ }
1289
+ }
1290
+ var p = locateFile(e);
1291
+ if (r.loadAsync) return asyncLoad(p);
1292
+ if (!readBinary) throw new Error(`${p}: file not found, and synchronous loading of external files is not available`);
1293
+ return readBinary(p);
1294
+ }
1295
+ function s() {
1296
+ var u = preloadedWasm[e];
1297
+ return u ? r.loadAsync ? Promise.resolve(u) : u : r.loadAsync ? a().then((d) => loadWebAssemblyModule(d, r, e, t, n)) : loadWebAssemblyModule(a(), r, e, t, n);
1298
+ }
1299
+ function l(u) {
1300
+ o.global ? mergeLibSymbols(u, e) : t && Object.assign(t, u), o.exports = u;
1301
+ }
1302
+ return r.loadAsync ? s().then((u) => (l(u), !0)) : (l(s()), !0);
1303
+ }
1304
+ var reportUndefinedSymbols = () => {
1305
+ for (var [e, r] of Object.entries(GOT)) if (r.value == 0) {
1306
+ var t = resolveGlobalSymbol(e, !0).sym;
1307
+ if (!t && !r.required) continue;
1308
+ if (typeof t == "function") r.value = addFunction(t, t.sig);
1309
+ else if (typeof t == "number") r.value = t;
1310
+ else throw new Error(`bad export type for '${e}': ${typeof t}`);
1311
+ }
1312
+ }, loadDylibs = () => {
1313
+ if (!dynamicLibraries.length) {
1314
+ reportUndefinedSymbols();
1315
+ return;
1316
+ }
1317
+ addRunDependency("loadDylibs"), dynamicLibraries.reduce((e, r) => e.then(() => loadDynamicLibrary(r, {
1318
+ loadAsync: !0,
1319
+ global: !0,
1320
+ nodelete: !0,
1321
+ allowUndefined: !0
1322
+ })), Promise.resolve()).then(() => {
1323
+ reportUndefinedSymbols(), removeRunDependency("loadDylibs");
1324
+ });
1325
+ }, noExitRuntime = Module.noExitRuntime || !1, ___call_sighandler = (e, r) => getWasmTableEntry(e)(r);
1326
+ ___call_sighandler.sig = "vpi";
1327
+ var ___memory_base = new WebAssembly.Global({
1328
+ value: "i32",
1329
+ mutable: !1
1330
+ }, 1024), ___stack_pointer = new WebAssembly.Global({
1331
+ value: "i32",
1332
+ mutable: !0
1333
+ }, 205904), PATH = {
1334
+ isAbs: (e) => e.charAt(0) === "/",
1335
+ splitPath: (e) => {
1336
+ return /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);
1337
+ },
1338
+ normalizeArray: (e, r) => {
1339
+ for (var t = 0, n = e.length - 1; n >= 0; n--) {
1340
+ var o = e[n];
1341
+ o === "." ? e.splice(n, 1) : o === ".." ? (e.splice(n, 1), t++) : t && (e.splice(n, 1), t--);
1342
+ }
1343
+ if (r) for (; t; t--) e.unshift("..");
1344
+ return e;
1345
+ },
1346
+ normalize: (e) => {
1347
+ var r = PATH.isAbs(e), t = e.substr(-1) === "/";
1348
+ return e = PATH.normalizeArray(e.split("/").filter((n) => !!n), !r).join("/"), !e && !r && (e = "."), e && t && (e += "/"), (r ? "/" : "") + e;
1349
+ },
1350
+ dirname: (e) => {
1351
+ var r = PATH.splitPath(e), t = r[0], n = r[1];
1352
+ return !t && !n ? "." : (n && (n = n.substr(0, n.length - 1)), t + n);
1353
+ },
1354
+ basename: (e) => {
1355
+ if (e === "/") return "/";
1356
+ e = PATH.normalize(e), e = e.replace(/\/$/, "");
1357
+ var r = e.lastIndexOf("/");
1358
+ return r === -1 ? e : e.substr(r + 1);
1359
+ },
1360
+ join: (...e) => PATH.normalize(e.join("/")),
1361
+ join2: (e, r) => PATH.normalize(e + "/" + r)
1362
+ }, initRandomFill = () => {
1363
+ if (typeof crypto == "object" && typeof crypto.getRandomValues == "function") return (n) => crypto.getRandomValues(n);
1364
+ if (ENVIRONMENT_IS_NODE) try {
1365
+ var e = require("crypto");
1366
+ if (e.randomFillSync) return (n) => e.randomFillSync(n);
1367
+ var t = e.randomBytes;
1368
+ return (n) => (n.set(t(n.byteLength)), n);
1369
+ } catch {}
1370
+ abort("initRandomDevice");
1371
+ }, randomFill = (e) => (randomFill = initRandomFill())(e), PATH_FS = {
1372
+ resolve: (...e) => {
1373
+ for (var r = "", t = !1, n = e.length - 1; n >= -1 && !t; n--) {
1374
+ var o = n >= 0 ? e[n] : FS.cwd();
1375
+ if (typeof o != "string") throw new TypeError("Arguments to path.resolve must be strings");
1376
+ if (!o) return "";
1377
+ r = o + "/" + r, t = PATH.isAbs(o);
1378
+ }
1379
+ return r = PATH.normalizeArray(r.split("/").filter((a) => !!a), !t).join("/"), (t ? "/" : "") + r || ".";
1380
+ },
1381
+ relative: (e, r) => {
1382
+ e = PATH_FS.resolve(e).substr(1), r = PATH_FS.resolve(r).substr(1);
1383
+ function t(d) {
1384
+ for (var c = 0; c < d.length && d[c] === ""; c++);
1385
+ for (var p = d.length - 1; p >= 0 && d[p] === ""; p--);
1386
+ return c > p ? [] : d.slice(c, p - c + 1);
1387
+ }
1388
+ for (var n = t(e.split("/")), o = t(r.split("/")), a = Math.min(n.length, o.length), s = a, l = 0; l < a; l++) if (n[l] !== o[l]) {
1389
+ s = l;
1390
+ break;
1391
+ }
1392
+ for (var u = [], l = s; l < n.length; l++) u.push("..");
1393
+ return u = u.concat(o.slice(s)), u.join("/");
1394
+ }
1395
+ }, FS_stdin_getChar_buffer = [], lengthBytesUTF8 = (e) => {
1396
+ for (var r = 0, t = 0; t < e.length; ++t) {
1397
+ var n = e.charCodeAt(t);
1398
+ n <= 127 ? r++ : n <= 2047 ? r += 2 : n >= 55296 && n <= 57343 ? (r += 4, ++t) : r += 3;
1399
+ }
1400
+ return r;
1401
+ }, stringToUTF8Array = (e, r, t, n) => {
1402
+ if (!(n > 0)) return 0;
1403
+ for (var o = t, a = t + n - 1, s = 0; s < e.length; ++s) {
1404
+ var l = e.charCodeAt(s);
1405
+ if (l >= 55296 && l <= 57343) {
1406
+ var u = e.charCodeAt(++s);
1407
+ l = 65536 + ((l & 1023) << 10) | u & 1023;
1408
+ }
1409
+ if (l <= 127) {
1410
+ if (t >= a) break;
1411
+ r[t++] = l;
1412
+ } else if (l <= 2047) {
1413
+ if (t + 1 >= a) break;
1414
+ r[t++] = 192 | l >> 6, r[t++] = 128 | l & 63;
1415
+ } else if (l <= 65535) {
1416
+ if (t + 2 >= a) break;
1417
+ r[t++] = 224 | l >> 12, r[t++] = 128 | l >> 6 & 63, r[t++] = 128 | l & 63;
1418
+ } else {
1419
+ if (t + 3 >= a) break;
1420
+ r[t++] = 240 | l >> 18, r[t++] = 128 | l >> 12 & 63, r[t++] = 128 | l >> 6 & 63, r[t++] = 128 | l & 63;
1421
+ }
1422
+ }
1423
+ return r[t] = 0, t - o;
1424
+ };
1425
+ function intArrayFromString(e, r, t) {
1426
+ var n = t > 0 ? t : lengthBytesUTF8(e) + 1, o = new Array(n), a = stringToUTF8Array(e, o, 0, o.length);
1427
+ return r && (o.length = a), o;
1428
+ }
1429
+ var FS_stdin_getChar = () => {
1430
+ if (!FS_stdin_getChar_buffer.length) {
1431
+ var e = null;
1432
+ if (ENVIRONMENT_IS_NODE) {
1433
+ var r = 256, t = Buffer.alloc(r), n = 0, o = process.stdin.fd;
1434
+ try {
1435
+ n = fs.readSync(o, t, 0, r);
1436
+ } catch (a) {
1437
+ if (a.toString().includes("EOF")) n = 0;
1438
+ else throw a;
1439
+ }
1440
+ n > 0 && (e = t.slice(0, n).toString("utf-8"));
1441
+ } else typeof window < "u" && typeof window.prompt == "function" && (e = window.prompt("Input: "), e !== null && (e += `
1442
+ `));
1443
+ if (!e) return null;
1444
+ FS_stdin_getChar_buffer = intArrayFromString(e, !0);
1445
+ }
1446
+ return FS_stdin_getChar_buffer.shift();
1447
+ }, TTY = {
1448
+ ttys: [],
1449
+ init() {},
1450
+ shutdown() {},
1451
+ register(e, r) {
1452
+ TTY.ttys[e] = {
1453
+ input: [],
1454
+ output: [],
1455
+ ops: r
1456
+ }, FS.registerDevice(e, TTY.stream_ops);
1457
+ },
1458
+ stream_ops: {
1459
+ open(e) {
1460
+ var r = TTY.ttys[e.node.rdev];
1461
+ if (!r) throw new FS.ErrnoError(43);
1462
+ e.tty = r, e.seekable = !1;
1463
+ },
1464
+ close(e) {
1465
+ e.tty.ops.fsync(e.tty);
1466
+ },
1467
+ fsync(e) {
1468
+ e.tty.ops.fsync(e.tty);
1469
+ },
1470
+ read(e, r, t, n, o) {
1471
+ if (!e.tty || !e.tty.ops.get_char) throw new FS.ErrnoError(60);
1472
+ for (var a = 0, s = 0; s < n; s++) {
1473
+ var l;
1474
+ try {
1475
+ l = e.tty.ops.get_char(e.tty);
1476
+ } catch {
1477
+ throw new FS.ErrnoError(29);
1478
+ }
1479
+ if (l === void 0 && a === 0) throw new FS.ErrnoError(6);
1480
+ if (l == null) break;
1481
+ a++, r[t + s] = l;
1482
+ }
1483
+ return a && (e.node.atime = Date.now()), a;
1484
+ },
1485
+ write(e, r, t, n, o) {
1486
+ if (!e.tty || !e.tty.ops.put_char) throw new FS.ErrnoError(60);
1487
+ try {
1488
+ for (var a = 0; a < n; a++) e.tty.ops.put_char(e.tty, r[t + a]);
1489
+ } catch {
1490
+ throw new FS.ErrnoError(29);
1491
+ }
1492
+ return n && (e.node.mtime = e.node.ctime = Date.now()), a;
1493
+ }
1494
+ },
1495
+ default_tty_ops: {
1496
+ get_char(e) {
1497
+ return FS_stdin_getChar();
1498
+ },
1499
+ put_char(e, r) {
1500
+ r === null || r === 10 ? (out(UTF8ArrayToString(e.output)), e.output = []) : r != 0 && e.output.push(r);
1501
+ },
1502
+ fsync(e) {
1503
+ e.output && e.output.length > 0 && (out(UTF8ArrayToString(e.output)), e.output = []);
1504
+ },
1505
+ ioctl_tcgets(e) {
1506
+ return {
1507
+ c_iflag: 25856,
1508
+ c_oflag: 5,
1509
+ c_cflag: 191,
1510
+ c_lflag: 35387,
1511
+ c_cc: [
1512
+ 3,
1513
+ 28,
1514
+ 127,
1515
+ 21,
1516
+ 4,
1517
+ 0,
1518
+ 1,
1519
+ 0,
1520
+ 17,
1521
+ 19,
1522
+ 26,
1523
+ 0,
1524
+ 18,
1525
+ 15,
1526
+ 23,
1527
+ 22,
1528
+ 0,
1529
+ 0,
1530
+ 0,
1531
+ 0,
1532
+ 0,
1533
+ 0,
1534
+ 0,
1535
+ 0,
1536
+ 0,
1537
+ 0,
1538
+ 0,
1539
+ 0,
1540
+ 0,
1541
+ 0,
1542
+ 0,
1543
+ 0
1544
+ ]
1545
+ };
1546
+ },
1547
+ ioctl_tcsets(e, r, t) {
1548
+ return 0;
1549
+ },
1550
+ ioctl_tiocgwinsz(e) {
1551
+ return [24, 80];
1552
+ }
1553
+ },
1554
+ default_tty1_ops: {
1555
+ put_char(e, r) {
1556
+ r === null || r === 10 ? (err(UTF8ArrayToString(e.output)), e.output = []) : r != 0 && e.output.push(r);
1557
+ },
1558
+ fsync(e) {
1559
+ e.output && e.output.length > 0 && (err(UTF8ArrayToString(e.output)), e.output = []);
1560
+ }
1561
+ }
1562
+ }, zeroMemory = (e, r) => {
1563
+ HEAPU8.fill(0, e, e + r);
1564
+ }, mmapAlloc = (e) => {
1565
+ e = alignMemory(e, 65536);
1566
+ var r = _emscripten_builtin_memalign(65536, e);
1567
+ return r && zeroMemory(r, e), r;
1568
+ }, MEMFS = {
1569
+ ops_table: null,
1570
+ mount(e) {
1571
+ return MEMFS.createNode(null, "/", 16895, 0);
1572
+ },
1573
+ createNode(e, r, t, n) {
1574
+ if (FS.isBlkdev(t) || FS.isFIFO(t)) throw new FS.ErrnoError(63);
1575
+ MEMFS.ops_table || (MEMFS.ops_table = {
1576
+ dir: {
1577
+ node: {
1578
+ getattr: MEMFS.node_ops.getattr,
1579
+ setattr: MEMFS.node_ops.setattr,
1580
+ lookup: MEMFS.node_ops.lookup,
1581
+ mknod: MEMFS.node_ops.mknod,
1582
+ rename: MEMFS.node_ops.rename,
1583
+ unlink: MEMFS.node_ops.unlink,
1584
+ rmdir: MEMFS.node_ops.rmdir,
1585
+ readdir: MEMFS.node_ops.readdir,
1586
+ symlink: MEMFS.node_ops.symlink
1587
+ },
1588
+ stream: { llseek: MEMFS.stream_ops.llseek }
1589
+ },
1590
+ file: {
1591
+ node: {
1592
+ getattr: MEMFS.node_ops.getattr,
1593
+ setattr: MEMFS.node_ops.setattr
1594
+ },
1595
+ stream: {
1596
+ llseek: MEMFS.stream_ops.llseek,
1597
+ read: MEMFS.stream_ops.read,
1598
+ write: MEMFS.stream_ops.write,
1599
+ allocate: MEMFS.stream_ops.allocate,
1600
+ mmap: MEMFS.stream_ops.mmap,
1601
+ msync: MEMFS.stream_ops.msync
1602
+ }
1603
+ },
1604
+ link: {
1605
+ node: {
1606
+ getattr: MEMFS.node_ops.getattr,
1607
+ setattr: MEMFS.node_ops.setattr,
1608
+ readlink: MEMFS.node_ops.readlink
1609
+ },
1610
+ stream: {}
1611
+ },
1612
+ chrdev: {
1613
+ node: {
1614
+ getattr: MEMFS.node_ops.getattr,
1615
+ setattr: MEMFS.node_ops.setattr
1616
+ },
1617
+ stream: FS.chrdev_stream_ops
1618
+ }
1619
+ });
1620
+ var o = FS.createNode(e, r, t, n);
1621
+ return FS.isDir(o.mode) ? (o.node_ops = MEMFS.ops_table.dir.node, o.stream_ops = MEMFS.ops_table.dir.stream, o.contents = {}) : FS.isFile(o.mode) ? (o.node_ops = MEMFS.ops_table.file.node, o.stream_ops = MEMFS.ops_table.file.stream, o.usedBytes = 0, o.contents = null) : FS.isLink(o.mode) ? (o.node_ops = MEMFS.ops_table.link.node, o.stream_ops = MEMFS.ops_table.link.stream) : FS.isChrdev(o.mode) && (o.node_ops = MEMFS.ops_table.chrdev.node, o.stream_ops = MEMFS.ops_table.chrdev.stream), o.atime = o.mtime = o.ctime = Date.now(), e && (e.contents[r] = o, e.atime = e.mtime = e.ctime = o.atime), o;
1622
+ },
1623
+ getFileDataAsTypedArray(e) {
1624
+ return e.contents ? e.contents.subarray ? e.contents.subarray(0, e.usedBytes) : new Uint8Array(e.contents) : /* @__PURE__ */ new Uint8Array(0);
1625
+ },
1626
+ expandFileStorage(e, r) {
1627
+ var t = e.contents ? e.contents.length : 0;
1628
+ if (!(t >= r)) {
1629
+ r = Math.max(r, t * (t < 1048576 ? 2 : 1.125) >>> 0), t != 0 && (r = Math.max(r, 256));
1630
+ var o = e.contents;
1631
+ e.contents = new Uint8Array(r), e.usedBytes > 0 && e.contents.set(o.subarray(0, e.usedBytes), 0);
1632
+ }
1633
+ },
1634
+ resizeFileStorage(e, r) {
1635
+ if (e.usedBytes != r) if (r == 0) e.contents = null, e.usedBytes = 0;
1636
+ else {
1637
+ var t = e.contents;
1638
+ e.contents = new Uint8Array(r), t && e.contents.set(t.subarray(0, Math.min(r, e.usedBytes))), e.usedBytes = r;
1639
+ }
1640
+ },
1641
+ node_ops: {
1642
+ getattr(e) {
1643
+ var r = {};
1644
+ return r.dev = FS.isChrdev(e.mode) ? e.id : 1, r.ino = e.id, r.mode = e.mode, r.nlink = 1, r.uid = 0, r.gid = 0, r.rdev = e.rdev, FS.isDir(e.mode) ? r.size = 4096 : FS.isFile(e.mode) ? r.size = e.usedBytes : FS.isLink(e.mode) ? r.size = e.link.length : r.size = 0, r.atime = new Date(e.atime), r.mtime = new Date(e.mtime), r.ctime = new Date(e.ctime), r.blksize = 4096, r.blocks = Math.ceil(r.size / r.blksize), r;
1645
+ },
1646
+ setattr(e, r) {
1647
+ for (let t of [
1648
+ "mode",
1649
+ "atime",
1650
+ "mtime",
1651
+ "ctime"
1652
+ ]) r[t] && (e[t] = r[t]);
1653
+ r.size !== void 0 && MEMFS.resizeFileStorage(e, r.size);
1654
+ },
1655
+ lookup(e, r) {
1656
+ throw MEMFS.doesNotExistError;
1657
+ },
1658
+ mknod(e, r, t, n) {
1659
+ return MEMFS.createNode(e, r, t, n);
1660
+ },
1661
+ rename(e, r, t) {
1662
+ var n;
1663
+ try {
1664
+ n = FS.lookupNode(r, t);
1665
+ } catch {}
1666
+ if (n) {
1667
+ if (FS.isDir(e.mode)) for (var o in n.contents) throw new FS.ErrnoError(55);
1668
+ FS.hashRemoveNode(n);
1669
+ }
1670
+ delete e.parent.contents[e.name], r.contents[t] = e, e.name = t, r.ctime = r.mtime = e.parent.ctime = e.parent.mtime = Date.now();
1671
+ },
1672
+ unlink(e, r) {
1673
+ delete e.contents[r], e.ctime = e.mtime = Date.now();
1674
+ },
1675
+ rmdir(e, r) {
1676
+ for (var n in FS.lookupNode(e, r).contents) throw new FS.ErrnoError(55);
1677
+ delete e.contents[r], e.ctime = e.mtime = Date.now();
1678
+ },
1679
+ readdir(e) {
1680
+ return [
1681
+ ".",
1682
+ "..",
1683
+ ...Object.keys(e.contents)
1684
+ ];
1685
+ },
1686
+ symlink(e, r, t) {
1687
+ var n = MEMFS.createNode(e, r, 41471, 0);
1688
+ return n.link = t, n;
1689
+ },
1690
+ readlink(e) {
1691
+ if (!FS.isLink(e.mode)) throw new FS.ErrnoError(28);
1692
+ return e.link;
1693
+ }
1694
+ },
1695
+ stream_ops: {
1696
+ read(e, r, t, n, o) {
1697
+ var a = e.node.contents;
1698
+ if (o >= e.node.usedBytes) return 0;
1699
+ var s = Math.min(e.node.usedBytes - o, n);
1700
+ if (s > 8 && a.subarray) r.set(a.subarray(o, o + s), t);
1701
+ else for (var l = 0; l < s; l++) r[t + l] = a[o + l];
1702
+ return s;
1703
+ },
1704
+ write(e, r, t, n, o, a) {
1705
+ if (r.buffer === HEAP8.buffer && (a = !1), !n) return 0;
1706
+ var s = e.node;
1707
+ if (s.mtime = s.ctime = Date.now(), r.subarray && (!s.contents || s.contents.subarray)) {
1708
+ if (a) return s.contents = r.subarray(t, t + n), s.usedBytes = n, n;
1709
+ if (s.usedBytes === 0 && o === 0) return s.contents = r.slice(t, t + n), s.usedBytes = n, n;
1710
+ if (o + n <= s.usedBytes) return s.contents.set(r.subarray(t, t + n), o), n;
1711
+ }
1712
+ if (MEMFS.expandFileStorage(s, o + n), s.contents.subarray && r.subarray) s.contents.set(r.subarray(t, t + n), o);
1713
+ else for (var l = 0; l < n; l++) s.contents[o + l] = r[t + l];
1714
+ return s.usedBytes = Math.max(s.usedBytes, o + n), n;
1715
+ },
1716
+ llseek(e, r, t) {
1717
+ var n = r;
1718
+ if (t === 1 ? n += e.position : t === 2 && FS.isFile(e.node.mode) && (n += e.node.usedBytes), n < 0) throw new FS.ErrnoError(28);
1719
+ return n;
1720
+ },
1721
+ allocate(e, r, t) {
1722
+ MEMFS.expandFileStorage(e.node, r + t), e.node.usedBytes = Math.max(e.node.usedBytes, r + t);
1723
+ },
1724
+ mmap(e, r, t, n, o) {
1725
+ if (!FS.isFile(e.node.mode)) throw new FS.ErrnoError(43);
1726
+ var a, s, l = e.node.contents;
1727
+ if (!(o & 2) && l && l.buffer === HEAP8.buffer) s = !1, a = l.byteOffset;
1728
+ else {
1729
+ if (s = !0, a = mmapAlloc(r), !a) throw new FS.ErrnoError(48);
1730
+ l && ((t > 0 || t + r < l.length) && (l.subarray ? l = l.subarray(t, t + r) : l = Array.prototype.slice.call(l, t, t + r)), HEAP8.set(l, a));
1731
+ }
1732
+ return {
1733
+ ptr: a,
1734
+ allocated: s
1735
+ };
1736
+ },
1737
+ msync(e, r, t, n, o) {
1738
+ return MEMFS.stream_ops.write(e, r, 0, n, t, !1), 0;
1739
+ }
1740
+ }
1741
+ }, FS_createDataFile = (e, r, t, n, o, a) => {
1742
+ FS.createDataFile(e, r, t, n, o, a);
1743
+ }, FS_handledByPreloadPlugin = (e, r, t, n) => {
1744
+ typeof Browser < "u" && Browser.init();
1745
+ var o = !1;
1746
+ return preloadPlugins.forEach((a) => {
1747
+ o || a.canHandle(r) && (a.handle(e, r, t, n), o = !0);
1748
+ }), o;
1749
+ }, FS_createPreloadedFile = (e, r, t, n, o, a, s, l, u, d) => {
1750
+ var c = r ? PATH_FS.resolve(PATH.join2(e, r)) : e, p = `cp ${c}`;
1751
+ function f(m) {
1752
+ function _(g) {
1753
+ d?.(), l || FS_createDataFile(e, r, g, n, o, u), a?.(), removeRunDependency(p);
1754
+ }
1755
+ FS_handledByPreloadPlugin(m, c, _, () => {
1756
+ s?.(), removeRunDependency(p);
1757
+ }) || _(m);
1758
+ }
1759
+ addRunDependency(p), typeof t == "string" ? asyncLoad(t).then(f, s) : f(t);
1760
+ }, FS_modeStringToFlags = (e) => {
1761
+ var t = {
1762
+ r: 0,
1763
+ "r+": 2,
1764
+ w: 577,
1765
+ "w+": 578,
1766
+ a: 1089,
1767
+ "a+": 1090
1768
+ }[e];
1769
+ if (typeof t > "u") throw new Error(`Unknown file open mode: ${e}`);
1770
+ return t;
1771
+ }, FS_getMode = (e, r) => {
1772
+ var t = 0;
1773
+ return e && (t |= 365), r && (t |= 146), t;
1774
+ }, ERRNO_CODES = {
1775
+ EPERM: 63,
1776
+ ENOENT: 44,
1777
+ ESRCH: 71,
1778
+ EINTR: 27,
1779
+ EIO: 29,
1780
+ ENXIO: 60,
1781
+ E2BIG: 1,
1782
+ ENOEXEC: 45,
1783
+ EBADF: 8,
1784
+ ECHILD: 12,
1785
+ EAGAIN: 6,
1786
+ EWOULDBLOCK: 6,
1787
+ ENOMEM: 48,
1788
+ EACCES: 2,
1789
+ EFAULT: 21,
1790
+ ENOTBLK: 105,
1791
+ EBUSY: 10,
1792
+ EEXIST: 20,
1793
+ EXDEV: 75,
1794
+ ENODEV: 43,
1795
+ ENOTDIR: 54,
1796
+ EISDIR: 31,
1797
+ EINVAL: 28,
1798
+ ENFILE: 41,
1799
+ EMFILE: 33,
1800
+ ENOTTY: 59,
1801
+ ETXTBSY: 74,
1802
+ EFBIG: 22,
1803
+ ENOSPC: 51,
1804
+ ESPIPE: 70,
1805
+ EROFS: 69,
1806
+ EMLINK: 34,
1807
+ EPIPE: 64,
1808
+ EDOM: 18,
1809
+ ERANGE: 68,
1810
+ ENOMSG: 49,
1811
+ EIDRM: 24,
1812
+ ECHRNG: 106,
1813
+ EL2NSYNC: 156,
1814
+ EL3HLT: 107,
1815
+ EL3RST: 108,
1816
+ ELNRNG: 109,
1817
+ EUNATCH: 110,
1818
+ ENOCSI: 111,
1819
+ EL2HLT: 112,
1820
+ EDEADLK: 16,
1821
+ ENOLCK: 46,
1822
+ EBADE: 113,
1823
+ EBADR: 114,
1824
+ EXFULL: 115,
1825
+ ENOANO: 104,
1826
+ EBADRQC: 103,
1827
+ EBADSLT: 102,
1828
+ EDEADLOCK: 16,
1829
+ EBFONT: 101,
1830
+ ENOSTR: 100,
1831
+ ENODATA: 116,
1832
+ ETIME: 117,
1833
+ ENOSR: 118,
1834
+ ENONET: 119,
1835
+ ENOPKG: 120,
1836
+ EREMOTE: 121,
1837
+ ENOLINK: 47,
1838
+ EADV: 122,
1839
+ ESRMNT: 123,
1840
+ ECOMM: 124,
1841
+ EPROTO: 65,
1842
+ EMULTIHOP: 36,
1843
+ EDOTDOT: 125,
1844
+ EBADMSG: 9,
1845
+ ENOTUNIQ: 126,
1846
+ EBADFD: 127,
1847
+ EREMCHG: 128,
1848
+ ELIBACC: 129,
1849
+ ELIBBAD: 130,
1850
+ ELIBSCN: 131,
1851
+ ELIBMAX: 132,
1852
+ ELIBEXEC: 133,
1853
+ ENOSYS: 52,
1854
+ ENOTEMPTY: 55,
1855
+ ENAMETOOLONG: 37,
1856
+ ELOOP: 32,
1857
+ EOPNOTSUPP: 138,
1858
+ EPFNOSUPPORT: 139,
1859
+ ECONNRESET: 15,
1860
+ ENOBUFS: 42,
1861
+ EAFNOSUPPORT: 5,
1862
+ EPROTOTYPE: 67,
1863
+ ENOTSOCK: 57,
1864
+ ENOPROTOOPT: 50,
1865
+ ESHUTDOWN: 140,
1866
+ ECONNREFUSED: 14,
1867
+ EADDRINUSE: 3,
1868
+ ECONNABORTED: 13,
1869
+ ENETUNREACH: 40,
1870
+ ENETDOWN: 38,
1871
+ ETIMEDOUT: 73,
1872
+ EHOSTDOWN: 142,
1873
+ EHOSTUNREACH: 23,
1874
+ EINPROGRESS: 26,
1875
+ EALREADY: 7,
1876
+ EDESTADDRREQ: 17,
1877
+ EMSGSIZE: 35,
1878
+ EPROTONOSUPPORT: 66,
1879
+ ESOCKTNOSUPPORT: 137,
1880
+ EADDRNOTAVAIL: 4,
1881
+ ENETRESET: 39,
1882
+ EISCONN: 30,
1883
+ ENOTCONN: 53,
1884
+ ETOOMANYREFS: 141,
1885
+ EUSERS: 136,
1886
+ EDQUOT: 19,
1887
+ ESTALE: 72,
1888
+ ENOTSUP: 138,
1889
+ ENOMEDIUM: 148,
1890
+ EILSEQ: 25,
1891
+ EOVERFLOW: 61,
1892
+ ECANCELED: 11,
1893
+ ENOTRECOVERABLE: 56,
1894
+ EOWNERDEAD: 62,
1895
+ ESTRPIPE: 135
1896
+ }, PROXYFS = {
1897
+ mount(e) {
1898
+ return PROXYFS.createNode(null, "/", e.opts.fs.lstat(e.opts.root).mode, 0);
1899
+ },
1900
+ createNode(e, r, t, n) {
1901
+ if (!FS.isDir(t) && !FS.isFile(t) && !FS.isLink(t)) throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
1902
+ var o = FS.createNode(e, r, t);
1903
+ return o.node_ops = PROXYFS.node_ops, o.stream_ops = PROXYFS.stream_ops, o;
1904
+ },
1905
+ realPath(e) {
1906
+ for (var r = []; e.parent !== e;) r.push(e.name), e = e.parent;
1907
+ return r.push(e.mount.opts.root), r.reverse(), PATH.join(...r);
1908
+ },
1909
+ node_ops: {
1910
+ getattr(e) {
1911
+ var r = PROXYFS.realPath(e), t;
1912
+ try {
1913
+ t = e.mount.opts.fs.lstat(r);
1914
+ } catch (n) {
1915
+ throw n.code ? new FS.ErrnoError(ERRNO_CODES[n.code]) : n;
1916
+ }
1917
+ return {
1918
+ dev: t.dev,
1919
+ ino: t.ino,
1920
+ mode: t.mode,
1921
+ nlink: t.nlink,
1922
+ uid: t.uid,
1923
+ gid: t.gid,
1924
+ rdev: t.rdev,
1925
+ size: t.size,
1926
+ atime: t.atime,
1927
+ mtime: t.mtime,
1928
+ ctime: t.ctime,
1929
+ blksize: t.blksize,
1930
+ blocks: t.blocks
1931
+ };
1932
+ },
1933
+ setattr(e, r) {
1934
+ var t = PROXYFS.realPath(e);
1935
+ try {
1936
+ if (r.mode !== void 0 && (e.mount.opts.fs.chmod(t, r.mode), e.mode = r.mode), r.atime || r.mtime) {
1937
+ var n = new Date(r.atime || r.mtime), o = new Date(r.mtime || r.atime);
1938
+ e.mount.opts.fs.utime(t, n, o);
1939
+ }
1940
+ r.size !== void 0 && e.mount.opts.fs.truncate(t, r.size);
1941
+ } catch (a) {
1942
+ throw a.code ? new FS.ErrnoError(ERRNO_CODES[a.code]) : a;
1943
+ }
1944
+ },
1945
+ lookup(e, r) {
1946
+ try {
1947
+ var t = PATH.join2(PROXYFS.realPath(e), r), n = e.mount.opts.fs.lstat(t).mode;
1948
+ return PROXYFS.createNode(e, r, n);
1949
+ } catch (a) {
1950
+ throw a.code ? new FS.ErrnoError(ERRNO_CODES[a.code]) : a;
1951
+ }
1952
+ },
1953
+ mknod(e, r, t, n) {
1954
+ var o = PROXYFS.createNode(e, r, t, n), a = PROXYFS.realPath(o);
1955
+ try {
1956
+ FS.isDir(o.mode) ? o.mount.opts.fs.mkdir(a, o.mode) : o.mount.opts.fs.writeFile(a, "", { mode: o.mode });
1957
+ } catch (s) {
1958
+ throw s.code ? new FS.ErrnoError(ERRNO_CODES[s.code]) : s;
1959
+ }
1960
+ return o;
1961
+ },
1962
+ rename(e, r, t) {
1963
+ var n = PROXYFS.realPath(e), o = PATH.join2(PROXYFS.realPath(r), t);
1964
+ try {
1965
+ e.mount.opts.fs.rename(n, o), e.name = t;
1966
+ } catch (a) {
1967
+ throw a.code ? new FS.ErrnoError(ERRNO_CODES[a.code]) : a;
1968
+ }
1969
+ },
1970
+ unlink(e, r) {
1971
+ var t = PATH.join2(PROXYFS.realPath(e), r);
1972
+ try {
1973
+ e.mount.opts.fs.unlink(t);
1974
+ } catch (n) {
1975
+ throw n.code ? new FS.ErrnoError(ERRNO_CODES[n.code]) : n;
1976
+ }
1977
+ },
1978
+ rmdir(e, r) {
1979
+ var t = PATH.join2(PROXYFS.realPath(e), r);
1980
+ try {
1981
+ e.mount.opts.fs.rmdir(t);
1982
+ } catch (n) {
1983
+ throw n.code ? new FS.ErrnoError(ERRNO_CODES[n.code]) : n;
1984
+ }
1985
+ },
1986
+ readdir(e) {
1987
+ var r = PROXYFS.realPath(e);
1988
+ try {
1989
+ return e.mount.opts.fs.readdir(r);
1990
+ } catch (t) {
1991
+ throw t.code ? new FS.ErrnoError(ERRNO_CODES[t.code]) : t;
1992
+ }
1993
+ },
1994
+ symlink(e, r, t) {
1995
+ var n = PATH.join2(PROXYFS.realPath(e), r);
1996
+ try {
1997
+ e.mount.opts.fs.symlink(t, n);
1998
+ } catch (o) {
1999
+ throw o.code ? new FS.ErrnoError(ERRNO_CODES[o.code]) : o;
2000
+ }
2001
+ },
2002
+ readlink(e) {
2003
+ var r = PROXYFS.realPath(e);
2004
+ try {
2005
+ return e.mount.opts.fs.readlink(r);
2006
+ } catch (t) {
2007
+ throw t.code ? new FS.ErrnoError(ERRNO_CODES[t.code]) : t;
2008
+ }
2009
+ }
2010
+ },
2011
+ stream_ops: {
2012
+ open(e) {
2013
+ var r = PROXYFS.realPath(e.node);
2014
+ try {
2015
+ e.nfd = e.node.mount.opts.fs.open(r, e.flags);
2016
+ } catch (t) {
2017
+ throw t.code ? new FS.ErrnoError(ERRNO_CODES[t.code]) : t;
2018
+ }
2019
+ },
2020
+ close(e) {
2021
+ try {
2022
+ e.node.mount.opts.fs.close(e.nfd);
2023
+ } catch (r) {
2024
+ throw r.code ? new FS.ErrnoError(ERRNO_CODES[r.code]) : r;
2025
+ }
2026
+ },
2027
+ read(e, r, t, n, o) {
2028
+ try {
2029
+ return e.node.mount.opts.fs.read(e.nfd, r, t, n, o);
2030
+ } catch (a) {
2031
+ throw a.code ? new FS.ErrnoError(ERRNO_CODES[a.code]) : a;
2032
+ }
2033
+ },
2034
+ write(e, r, t, n, o) {
2035
+ try {
2036
+ return e.node.mount.opts.fs.write(e.nfd, r, t, n, o);
2037
+ } catch (a) {
2038
+ throw a.code ? new FS.ErrnoError(ERRNO_CODES[a.code]) : a;
2039
+ }
2040
+ },
2041
+ llseek(e, r, t) {
2042
+ var n = r;
2043
+ if (t === 1) n += e.position;
2044
+ else if (t === 2 && FS.isFile(e.node.mode)) try {
2045
+ var o = e.node.node_ops.getattr(e.node);
2046
+ n += o.size;
2047
+ } catch (a) {
2048
+ throw new FS.ErrnoError(ERRNO_CODES[a.code]);
2049
+ }
2050
+ if (n < 0) throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
2051
+ return n;
2052
+ }
2053
+ }
2054
+ }, FS = {
2055
+ root: null,
2056
+ mounts: [],
2057
+ devices: {},
2058
+ streams: [],
2059
+ nextInode: 1,
2060
+ nameTable: null,
2061
+ currentPath: "/",
2062
+ initialized: !1,
2063
+ ignorePermissions: !0,
2064
+ ErrnoError: class {
2065
+ constructor(e) {
2066
+ P(this, "name", "ErrnoError");
2067
+ this.errno = e;
2068
+ }
2069
+ },
2070
+ filesystems: null,
2071
+ syncFSRequests: 0,
2072
+ readFiles: {},
2073
+ FSStream: class {
2074
+ constructor() {
2075
+ P(this, "shared", {});
2076
+ }
2077
+ get object() {
2078
+ return this.node;
2079
+ }
2080
+ set object(e) {
2081
+ this.node = e;
2082
+ }
2083
+ get isRead() {
2084
+ return (this.flags & 2097155) !== 1;
2085
+ }
2086
+ get isWrite() {
2087
+ return (this.flags & 2097155) !== 0;
2088
+ }
2089
+ get isAppend() {
2090
+ return this.flags & 1024;
2091
+ }
2092
+ get flags() {
2093
+ return this.shared.flags;
2094
+ }
2095
+ set flags(e) {
2096
+ this.shared.flags = e;
2097
+ }
2098
+ get position() {
2099
+ return this.shared.position;
2100
+ }
2101
+ set position(e) {
2102
+ this.shared.position = e;
2103
+ }
2104
+ },
2105
+ FSNode: class {
2106
+ constructor(e, r, t, n) {
2107
+ P(this, "node_ops", {});
2108
+ P(this, "stream_ops", {});
2109
+ P(this, "readMode", 365);
2110
+ P(this, "writeMode", 146);
2111
+ P(this, "mounted", null);
2112
+ e || (e = this), this.parent = e, this.mount = e.mount, this.id = FS.nextInode++, this.name = r, this.mode = t, this.rdev = n, this.atime = this.mtime = this.ctime = Date.now();
2113
+ }
2114
+ get read() {
2115
+ return (this.mode & this.readMode) === this.readMode;
2116
+ }
2117
+ set read(e) {
2118
+ e ? this.mode |= this.readMode : this.mode &= ~this.readMode;
2119
+ }
2120
+ get write() {
2121
+ return (this.mode & this.writeMode) === this.writeMode;
2122
+ }
2123
+ set write(e) {
2124
+ e ? this.mode |= this.writeMode : this.mode &= ~this.writeMode;
2125
+ }
2126
+ get isFolder() {
2127
+ return FS.isDir(this.mode);
2128
+ }
2129
+ get isDevice() {
2130
+ return FS.isChrdev(this.mode);
2131
+ }
2132
+ },
2133
+ lookupPath(e, r = {}) {
2134
+ if (!e) return {
2135
+ path: "",
2136
+ node: null
2137
+ };
2138
+ r.follow_mount ?? (r.follow_mount = !0), PATH.isAbs(e) || (e = FS.cwd() + "/" + e);
2139
+ e: for (var t = 0; t < 40; t++) {
2140
+ for (var n = e.split("/").filter((d) => !!d && d !== "."), o = FS.root, a = "/", s = 0; s < n.length; s++) {
2141
+ var l = s === n.length - 1;
2142
+ if (l && r.parent) break;
2143
+ if (n[s] === "..") {
2144
+ a = PATH.dirname(a), o = o.parent;
2145
+ continue;
2146
+ }
2147
+ a = PATH.join2(a, n[s]);
2148
+ try {
2149
+ o = FS.lookupNode(o, n[s]);
2150
+ } catch (d) {
2151
+ if (d?.errno === 44 && l && r.noent_okay) return { path: a };
2152
+ throw d;
2153
+ }
2154
+ if (FS.isMountpoint(o) && (!l || r.follow_mount) && (o = o.mounted.root), FS.isLink(o.mode) && (!l || r.follow)) {
2155
+ if (!o.node_ops.readlink) throw new FS.ErrnoError(52);
2156
+ var u = o.node_ops.readlink(o);
2157
+ PATH.isAbs(u) || (u = PATH.dirname(a) + "/" + u), e = u + "/" + n.slice(s + 1).join("/");
2158
+ continue e;
2159
+ }
2160
+ }
2161
+ return {
2162
+ path: a,
2163
+ node: o
2164
+ };
2165
+ }
2166
+ throw new FS.ErrnoError(32);
2167
+ },
2168
+ getPath(e) {
2169
+ for (var r;;) {
2170
+ if (FS.isRoot(e)) {
2171
+ var t = e.mount.mountpoint;
2172
+ return r ? t[t.length - 1] !== "/" ? `${t}/${r}` : t + r : t;
2173
+ }
2174
+ r = r ? `${e.name}/${r}` : e.name, e = e.parent;
2175
+ }
2176
+ },
2177
+ hashName(e, r) {
2178
+ for (var t = 0, n = 0; n < r.length; n++) t = (t << 5) - t + r.charCodeAt(n) | 0;
2179
+ return (e + t >>> 0) % FS.nameTable.length;
2180
+ },
2181
+ hashAddNode(e) {
2182
+ var r = FS.hashName(e.parent.id, e.name);
2183
+ e.name_next = FS.nameTable[r], FS.nameTable[r] = e;
2184
+ },
2185
+ hashRemoveNode(e) {
2186
+ var r = FS.hashName(e.parent.id, e.name);
2187
+ if (FS.nameTable[r] === e) FS.nameTable[r] = e.name_next;
2188
+ else for (var t = FS.nameTable[r]; t;) {
2189
+ if (t.name_next === e) {
2190
+ t.name_next = e.name_next;
2191
+ break;
2192
+ }
2193
+ t = t.name_next;
2194
+ }
2195
+ },
2196
+ lookupNode(e, r) {
2197
+ var t = FS.mayLookup(e);
2198
+ if (t) throw new FS.ErrnoError(t);
2199
+ for (var n = FS.hashName(e.id, r), o = FS.nameTable[n]; o; o = o.name_next) {
2200
+ var a = o.name;
2201
+ if (o.parent.id === e.id && a === r) return o;
2202
+ }
2203
+ return FS.lookup(e, r);
2204
+ },
2205
+ createNode(e, r, t, n) {
2206
+ var o = new FS.FSNode(e, r, t, n);
2207
+ return FS.hashAddNode(o), o;
2208
+ },
2209
+ destroyNode(e) {
2210
+ FS.hashRemoveNode(e);
2211
+ },
2212
+ isRoot(e) {
2213
+ return e === e.parent;
2214
+ },
2215
+ isMountpoint(e) {
2216
+ return !!e.mounted;
2217
+ },
2218
+ isFile(e) {
2219
+ return (e & 61440) === 32768;
2220
+ },
2221
+ isDir(e) {
2222
+ return (e & 61440) === 16384;
2223
+ },
2224
+ isLink(e) {
2225
+ return (e & 61440) === 40960;
2226
+ },
2227
+ isChrdev(e) {
2228
+ return (e & 61440) === 8192;
2229
+ },
2230
+ isBlkdev(e) {
2231
+ return (e & 61440) === 24576;
2232
+ },
2233
+ isFIFO(e) {
2234
+ return (e & 61440) === 4096;
2235
+ },
2236
+ isSocket(e) {
2237
+ return (e & 49152) === 49152;
2238
+ },
2239
+ flagsToPermissionString(e) {
2240
+ var r = [
2241
+ "r",
2242
+ "w",
2243
+ "rw"
2244
+ ][e & 3];
2245
+ return e & 512 && (r += "w"), r;
2246
+ },
2247
+ nodePermissions(e, r) {
2248
+ return FS.ignorePermissions ? 0 : r.includes("r") && !(e.mode & 292) || r.includes("w") && !(e.mode & 146) || r.includes("x") && !(e.mode & 73) ? 2 : 0;
2249
+ },
2250
+ mayLookup(e) {
2251
+ if (!FS.isDir(e.mode)) return 54;
2252
+ return FS.nodePermissions(e, "x") || (e.node_ops.lookup ? 0 : 2);
2253
+ },
2254
+ mayCreate(e, r) {
2255
+ if (!FS.isDir(e.mode)) return 54;
2256
+ try {
2257
+ var t = FS.lookupNode(e, r);
2258
+ return 20;
2259
+ } catch {}
2260
+ return FS.nodePermissions(e, "wx");
2261
+ },
2262
+ mayDelete(e, r, t) {
2263
+ var n;
2264
+ try {
2265
+ n = FS.lookupNode(e, r);
2266
+ } catch (a) {
2267
+ return a.errno;
2268
+ }
2269
+ var o = FS.nodePermissions(e, "wx");
2270
+ if (o) return o;
2271
+ if (t) {
2272
+ if (!FS.isDir(n.mode)) return 54;
2273
+ if (FS.isRoot(n) || FS.getPath(n) === FS.cwd()) return 10;
2274
+ } else if (FS.isDir(n.mode)) return 31;
2275
+ return 0;
2276
+ },
2277
+ mayOpen(e, r) {
2278
+ return e ? FS.isLink(e.mode) ? 32 : FS.isDir(e.mode) && (FS.flagsToPermissionString(r) !== "r" || r & 512) ? 31 : FS.nodePermissions(e, FS.flagsToPermissionString(r)) : 44;
2279
+ },
2280
+ MAX_OPEN_FDS: 4096,
2281
+ nextfd() {
2282
+ for (var e = 0; e <= FS.MAX_OPEN_FDS; e++) if (!FS.streams[e]) return e;
2283
+ throw new FS.ErrnoError(33);
2284
+ },
2285
+ getStreamChecked(e) {
2286
+ var r = FS.getStream(e);
2287
+ if (!r) throw new FS.ErrnoError(8);
2288
+ return r;
2289
+ },
2290
+ getStream: (e) => FS.streams[e],
2291
+ createStream(e, r = -1) {
2292
+ return e = Object.assign(new FS.FSStream(), e), r == -1 && (r = FS.nextfd()), e.fd = r, FS.streams[r] = e, e;
2293
+ },
2294
+ closeStream(e) {
2295
+ FS.streams[e] = null;
2296
+ },
2297
+ dupStream(e, r = -1) {
2298
+ var t = FS.createStream(e, r);
2299
+ return t.stream_ops?.dup?.(t), t;
2300
+ },
2301
+ chrdev_stream_ops: {
2302
+ open(e) {
2303
+ e.stream_ops = FS.getDevice(e.node.rdev).stream_ops, e.stream_ops.open?.(e);
2304
+ },
2305
+ llseek() {
2306
+ throw new FS.ErrnoError(70);
2307
+ }
2308
+ },
2309
+ major: (e) => e >> 8,
2310
+ minor: (e) => e & 255,
2311
+ makedev: (e, r) => e << 8 | r,
2312
+ registerDevice(e, r) {
2313
+ FS.devices[e] = { stream_ops: r };
2314
+ },
2315
+ getDevice: (e) => FS.devices[e],
2316
+ getMounts(e) {
2317
+ for (var r = [], t = [e]; t.length;) {
2318
+ var n = t.pop();
2319
+ r.push(n), t.push(...n.mounts);
2320
+ }
2321
+ return r;
2322
+ },
2323
+ syncfs(e, r) {
2324
+ typeof e == "function" && (r = e, e = !1), FS.syncFSRequests++, FS.syncFSRequests > 1 && err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);
2325
+ var t = FS.getMounts(FS.root.mount), n = 0;
2326
+ function o(s) {
2327
+ return FS.syncFSRequests--, r(s);
2328
+ }
2329
+ function a(s) {
2330
+ if (s) return a.errored ? void 0 : (a.errored = !0, o(s));
2331
+ ++n >= t.length && o(null);
2332
+ }
2333
+ t.forEach((s) => {
2334
+ if (!s.type.syncfs) return a(null);
2335
+ s.type.syncfs(s, e, a);
2336
+ });
2337
+ },
2338
+ mount(e, r, t) {
2339
+ var n = t === "/", o = !t, a;
2340
+ if (n && FS.root) throw new FS.ErrnoError(10);
2341
+ if (!n && !o) {
2342
+ var s = FS.lookupPath(t, { follow_mount: !1 });
2343
+ if (t = s.path, a = s.node, FS.isMountpoint(a)) throw new FS.ErrnoError(10);
2344
+ if (!FS.isDir(a.mode)) throw new FS.ErrnoError(54);
2345
+ }
2346
+ var l = {
2347
+ type: e,
2348
+ opts: r,
2349
+ mountpoint: t,
2350
+ mounts: []
2351
+ }, u = e.mount(l);
2352
+ return u.mount = l, l.root = u, n ? FS.root = u : a && (a.mounted = l, a.mount && a.mount.mounts.push(l)), u;
2353
+ },
2354
+ unmount(e) {
2355
+ var r = FS.lookupPath(e, { follow_mount: !1 });
2356
+ if (!FS.isMountpoint(r.node)) throw new FS.ErrnoError(28);
2357
+ var t = r.node, n = t.mounted, o = FS.getMounts(n);
2358
+ Object.keys(FS.nameTable).forEach((s) => {
2359
+ for (var l = FS.nameTable[s]; l;) {
2360
+ var u = l.name_next;
2361
+ o.includes(l.mount) && FS.destroyNode(l), l = u;
2362
+ }
2363
+ }), t.mounted = null;
2364
+ var a = t.mount.mounts.indexOf(n);
2365
+ t.mount.mounts.splice(a, 1);
2366
+ },
2367
+ lookup(e, r) {
2368
+ return e.node_ops.lookup(e, r);
2369
+ },
2370
+ mknod(e, r, t) {
2371
+ var o = FS.lookupPath(e, { parent: !0 }).node, a = PATH.basename(e);
2372
+ if (!a || a === "." || a === "..") throw new FS.ErrnoError(28);
2373
+ var s = FS.mayCreate(o, a);
2374
+ if (s) throw new FS.ErrnoError(s);
2375
+ if (!o.node_ops.mknod) throw new FS.ErrnoError(63);
2376
+ return o.node_ops.mknod(o, a, r, t);
2377
+ },
2378
+ statfs(e) {
2379
+ var r = {
2380
+ bsize: 4096,
2381
+ frsize: 4096,
2382
+ blocks: 1e6,
2383
+ bfree: 5e5,
2384
+ bavail: 5e5,
2385
+ files: FS.nextInode,
2386
+ ffree: FS.nextInode - 1,
2387
+ fsid: 42,
2388
+ flags: 2,
2389
+ namelen: 255
2390
+ }, t = FS.lookupPath(e, { follow: !0 }).node;
2391
+ return t?.node_ops.statfs && Object.assign(r, t.node_ops.statfs(t.mount.opts.root)), r;
2392
+ },
2393
+ create(e, r = 438) {
2394
+ return r &= 4095, r |= 32768, FS.mknod(e, r, 0);
2395
+ },
2396
+ mkdir(e, r = 511) {
2397
+ return r &= 1023, r |= 16384, FS.mknod(e, r, 0);
2398
+ },
2399
+ mkdirTree(e, r) {
2400
+ for (var t = e.split("/"), n = "", o = 0; o < t.length; ++o) if (t[o]) {
2401
+ n += "/" + t[o];
2402
+ try {
2403
+ FS.mkdir(n, r);
2404
+ } catch (a) {
2405
+ if (a.errno != 20) throw a;
2406
+ }
2407
+ }
2408
+ },
2409
+ mkdev(e, r, t) {
2410
+ return typeof t > "u" && (t = r, r = 438), r |= 8192, FS.mknod(e, r, t);
2411
+ },
2412
+ symlink(e, r) {
2413
+ if (!PATH_FS.resolve(e)) throw new FS.ErrnoError(44);
2414
+ var n = FS.lookupPath(r, { parent: !0 }).node;
2415
+ if (!n) throw new FS.ErrnoError(44);
2416
+ var o = PATH.basename(r), a = FS.mayCreate(n, o);
2417
+ if (a) throw new FS.ErrnoError(a);
2418
+ if (!n.node_ops.symlink) throw new FS.ErrnoError(63);
2419
+ return n.node_ops.symlink(n, o, e);
2420
+ },
2421
+ rename(e, r) {
2422
+ var t = PATH.dirname(e), n = PATH.dirname(r), o = PATH.basename(e), a = PATH.basename(r), s, l, u;
2423
+ if (s = FS.lookupPath(e, { parent: !0 }), l = s.node, s = FS.lookupPath(r, { parent: !0 }), u = s.node, !l || !u) throw new FS.ErrnoError(44);
2424
+ if (l.mount !== u.mount) throw new FS.ErrnoError(75);
2425
+ var d = FS.lookupNode(l, o), c = PATH_FS.relative(e, n);
2426
+ if (c.charAt(0) !== ".") throw new FS.ErrnoError(28);
2427
+ if (c = PATH_FS.relative(r, t), c.charAt(0) !== ".") throw new FS.ErrnoError(55);
2428
+ var p;
2429
+ try {
2430
+ p = FS.lookupNode(u, a);
2431
+ } catch {}
2432
+ if (d !== p) {
2433
+ var f = FS.isDir(d.mode), m = FS.mayDelete(l, o, f);
2434
+ if (m) throw new FS.ErrnoError(m);
2435
+ if (m = p ? FS.mayDelete(u, a, f) : FS.mayCreate(u, a), m) throw new FS.ErrnoError(m);
2436
+ if (!l.node_ops.rename) throw new FS.ErrnoError(63);
2437
+ if (FS.isMountpoint(d) || p && FS.isMountpoint(p)) throw new FS.ErrnoError(10);
2438
+ if (u !== l && (m = FS.nodePermissions(l, "w"), m)) throw new FS.ErrnoError(m);
2439
+ FS.hashRemoveNode(d);
2440
+ try {
2441
+ l.node_ops.rename(d, u, a), d.parent = u;
2442
+ } catch (_) {
2443
+ throw _;
2444
+ } finally {
2445
+ FS.hashAddNode(d);
2446
+ }
2447
+ }
2448
+ },
2449
+ rmdir(e) {
2450
+ var t = FS.lookupPath(e, { parent: !0 }).node, n = PATH.basename(e), o = FS.lookupNode(t, n), a = FS.mayDelete(t, n, !0);
2451
+ if (a) throw new FS.ErrnoError(a);
2452
+ if (!t.node_ops.rmdir) throw new FS.ErrnoError(63);
2453
+ if (FS.isMountpoint(o)) throw new FS.ErrnoError(10);
2454
+ t.node_ops.rmdir(t, n), FS.destroyNode(o);
2455
+ },
2456
+ readdir(e) {
2457
+ var t = FS.lookupPath(e, { follow: !0 }).node;
2458
+ if (!t.node_ops.readdir) throw new FS.ErrnoError(54);
2459
+ return t.node_ops.readdir(t);
2460
+ },
2461
+ unlink(e) {
2462
+ var t = FS.lookupPath(e, { parent: !0 }).node;
2463
+ if (!t) throw new FS.ErrnoError(44);
2464
+ var n = PATH.basename(e), o = FS.lookupNode(t, n), a = FS.mayDelete(t, n, !1);
2465
+ if (a) throw new FS.ErrnoError(a);
2466
+ if (!t.node_ops.unlink) throw new FS.ErrnoError(63);
2467
+ if (FS.isMountpoint(o)) throw new FS.ErrnoError(10);
2468
+ t.node_ops.unlink(t, n), FS.destroyNode(o);
2469
+ },
2470
+ readlink(e) {
2471
+ var t = FS.lookupPath(e).node;
2472
+ if (!t) throw new FS.ErrnoError(44);
2473
+ if (!t.node_ops.readlink) throw new FS.ErrnoError(28);
2474
+ return t.node_ops.readlink(t);
2475
+ },
2476
+ stat(e, r) {
2477
+ var n = FS.lookupPath(e, { follow: !r }).node;
2478
+ if (!n) throw new FS.ErrnoError(44);
2479
+ if (!n.node_ops.getattr) throw new FS.ErrnoError(63);
2480
+ return n.node_ops.getattr(n);
2481
+ },
2482
+ lstat(e) {
2483
+ return FS.stat(e, !0);
2484
+ },
2485
+ chmod(e, r, t) {
2486
+ var n;
2487
+ if (typeof e == "string") n = FS.lookupPath(e, { follow: !t }).node;
2488
+ else n = e;
2489
+ if (!n.node_ops.setattr) throw new FS.ErrnoError(63);
2490
+ n.node_ops.setattr(n, {
2491
+ mode: r & 4095 | n.mode & -4096,
2492
+ ctime: Date.now()
2493
+ });
2494
+ },
2495
+ lchmod(e, r) {
2496
+ FS.chmod(e, r, !0);
2497
+ },
2498
+ fchmod(e, r) {
2499
+ var t = FS.getStreamChecked(e);
2500
+ FS.chmod(t.node, r);
2501
+ },
2502
+ chown(e, r, t, n) {
2503
+ var o;
2504
+ if (typeof e == "string") o = FS.lookupPath(e, { follow: !n }).node;
2505
+ else o = e;
2506
+ if (!o.node_ops.setattr) throw new FS.ErrnoError(63);
2507
+ o.node_ops.setattr(o, { timestamp: Date.now() });
2508
+ },
2509
+ lchown(e, r, t) {
2510
+ FS.chown(e, r, t, !0);
2511
+ },
2512
+ fchown(e, r, t) {
2513
+ var n = FS.getStreamChecked(e);
2514
+ FS.chown(n.node, r, t);
2515
+ },
2516
+ truncate(e, r) {
2517
+ if (r < 0) throw new FS.ErrnoError(28);
2518
+ var t;
2519
+ if (typeof e == "string") t = FS.lookupPath(e, { follow: !0 }).node;
2520
+ else t = e;
2521
+ if (!t.node_ops.setattr) throw new FS.ErrnoError(63);
2522
+ if (FS.isDir(t.mode)) throw new FS.ErrnoError(31);
2523
+ if (!FS.isFile(t.mode)) throw new FS.ErrnoError(28);
2524
+ var o = FS.nodePermissions(t, "w");
2525
+ if (o) throw new FS.ErrnoError(o);
2526
+ t.node_ops.setattr(t, {
2527
+ size: r,
2528
+ timestamp: Date.now()
2529
+ });
2530
+ },
2531
+ ftruncate(e, r) {
2532
+ var t = FS.getStreamChecked(e);
2533
+ if (!(t.flags & 2097155)) throw new FS.ErrnoError(28);
2534
+ FS.truncate(t.node, r);
2535
+ },
2536
+ utime(e, r, t) {
2537
+ var o = FS.lookupPath(e, { follow: !0 }).node;
2538
+ o.node_ops.setattr(o, {
2539
+ atime: r,
2540
+ mtime: t
2541
+ });
2542
+ },
2543
+ open(e, r, t = 438) {
2544
+ if (e === "") throw new FS.ErrnoError(44);
2545
+ r = typeof r == "string" ? FS_modeStringToFlags(r) : r, r & 64 ? t = t & 4095 | 32768 : t = 0;
2546
+ var n;
2547
+ if (typeof e == "object") n = e;
2548
+ else {
2549
+ var o = FS.lookupPath(e, {
2550
+ follow: !(r & 131072),
2551
+ noent_okay: !0
2552
+ });
2553
+ n = o.node, e = o.path;
2554
+ }
2555
+ var a = !1;
2556
+ if (r & 64) if (n) {
2557
+ if (r & 128) throw new FS.ErrnoError(20);
2558
+ } else n = FS.mknod(e, t, 0), a = !0;
2559
+ if (!n) throw new FS.ErrnoError(44);
2560
+ if (FS.isChrdev(n.mode) && (r &= -513), r & 65536 && !FS.isDir(n.mode)) throw new FS.ErrnoError(54);
2561
+ if (!a) {
2562
+ var s = FS.mayOpen(n, r);
2563
+ if (s) throw new FS.ErrnoError(s);
2564
+ }
2565
+ r & 512 && !a && FS.truncate(n, 0), r &= -131713;
2566
+ var l = FS.createStream({
2567
+ node: n,
2568
+ path: FS.getPath(n),
2569
+ flags: r,
2570
+ seekable: !0,
2571
+ position: 0,
2572
+ stream_ops: n.stream_ops,
2573
+ ungotten: [],
2574
+ error: !1
2575
+ });
2576
+ return l.stream_ops.open && l.stream_ops.open(l), Module.logReadFiles && !(r & 1) && (e in FS.readFiles || (FS.readFiles[e] = 1)), l;
2577
+ },
2578
+ close(e) {
2579
+ if (FS.isClosed(e)) throw new FS.ErrnoError(8);
2580
+ e.getdents && (e.getdents = null);
2581
+ try {
2582
+ e.stream_ops.close && e.stream_ops.close(e);
2583
+ } catch (r) {
2584
+ throw r;
2585
+ } finally {
2586
+ FS.closeStream(e.fd);
2587
+ }
2588
+ e.fd = null;
2589
+ },
2590
+ isClosed(e) {
2591
+ return e.fd === null;
2592
+ },
2593
+ llseek(e, r, t) {
2594
+ if (FS.isClosed(e)) throw new FS.ErrnoError(8);
2595
+ if (!e.seekable || !e.stream_ops.llseek) throw new FS.ErrnoError(70);
2596
+ if (t != 0 && t != 1 && t != 2) throw new FS.ErrnoError(28);
2597
+ return e.position = e.stream_ops.llseek(e, r, t), e.ungotten = [], e.position;
2598
+ },
2599
+ read(e, r, t, n, o) {
2600
+ if (n < 0 || o < 0) throw new FS.ErrnoError(28);
2601
+ if (FS.isClosed(e)) throw new FS.ErrnoError(8);
2602
+ if ((e.flags & 2097155) === 1) throw new FS.ErrnoError(8);
2603
+ if (FS.isDir(e.node.mode)) throw new FS.ErrnoError(31);
2604
+ if (!e.stream_ops.read) throw new FS.ErrnoError(28);
2605
+ var a = typeof o < "u";
2606
+ if (!a) o = e.position;
2607
+ else if (!e.seekable) throw new FS.ErrnoError(70);
2608
+ var s = e.stream_ops.read(e, r, t, n, o);
2609
+ return a || (e.position += s), s;
2610
+ },
2611
+ write(e, r, t, n, o, a) {
2612
+ if (n < 0 || o < 0) throw new FS.ErrnoError(28);
2613
+ if (FS.isClosed(e)) throw new FS.ErrnoError(8);
2614
+ if (!(e.flags & 2097155)) throw new FS.ErrnoError(8);
2615
+ if (FS.isDir(e.node.mode)) throw new FS.ErrnoError(31);
2616
+ if (!e.stream_ops.write) throw new FS.ErrnoError(28);
2617
+ e.seekable && e.flags & 1024 && FS.llseek(e, 0, 2);
2618
+ var s = typeof o < "u";
2619
+ if (!s) o = e.position;
2620
+ else if (!e.seekable) throw new FS.ErrnoError(70);
2621
+ var l = e.stream_ops.write(e, r, t, n, o, a);
2622
+ return s || (e.position += l), l;
2623
+ },
2624
+ allocate(e, r, t) {
2625
+ if (FS.isClosed(e)) throw new FS.ErrnoError(8);
2626
+ if (r < 0 || t <= 0) throw new FS.ErrnoError(28);
2627
+ if (!(e.flags & 2097155)) throw new FS.ErrnoError(8);
2628
+ if (!FS.isFile(e.node.mode) && !FS.isDir(e.node.mode)) throw new FS.ErrnoError(43);
2629
+ if (!e.stream_ops.allocate) throw new FS.ErrnoError(138);
2630
+ e.stream_ops.allocate(e, r, t);
2631
+ },
2632
+ mmap(e, r, t, n, o) {
2633
+ if (n & 2 && !(o & 2) && (e.flags & 2097155) !== 2) throw new FS.ErrnoError(2);
2634
+ if ((e.flags & 2097155) === 1) throw new FS.ErrnoError(2);
2635
+ if (!e.stream_ops.mmap) throw new FS.ErrnoError(43);
2636
+ if (!r) throw new FS.ErrnoError(28);
2637
+ return e.stream_ops.mmap(e, r, t, n, o);
2638
+ },
2639
+ msync(e, r, t, n, o) {
2640
+ return e.stream_ops.msync ? e.stream_ops.msync(e, r, t, n, o) : 0;
2641
+ },
2642
+ ioctl(e, r, t) {
2643
+ if (!e.stream_ops.ioctl) throw new FS.ErrnoError(59);
2644
+ return e.stream_ops.ioctl(e, r, t);
2645
+ },
2646
+ readFile(e, r = {}) {
2647
+ if (r.flags = r.flags || 0, r.encoding = r.encoding || "binary", r.encoding !== "utf8" && r.encoding !== "binary") throw new Error(`Invalid encoding type "${r.encoding}"`);
2648
+ var t, n = FS.open(e, r.flags), a = FS.stat(e).size, s = new Uint8Array(a);
2649
+ return FS.read(n, s, 0, a, 0), r.encoding === "utf8" ? t = UTF8ArrayToString(s) : r.encoding === "binary" && (t = s), FS.close(n), t;
2650
+ },
2651
+ writeFile(e, r, t = {}) {
2652
+ t.flags = t.flags || 577;
2653
+ var n = FS.open(e, t.flags, t.mode);
2654
+ if (typeof r == "string") {
2655
+ var o = new Uint8Array(lengthBytesUTF8(r) + 1), a = stringToUTF8Array(r, o, 0, o.length);
2656
+ FS.write(n, o, 0, a, void 0, t.canOwn);
2657
+ } else if (ArrayBuffer.isView(r)) FS.write(n, r, 0, r.byteLength, void 0, t.canOwn);
2658
+ else throw new Error("Unsupported data type");
2659
+ FS.close(n);
2660
+ },
2661
+ cwd: () => FS.currentPath,
2662
+ chdir(e) {
2663
+ var r = FS.lookupPath(e, { follow: !0 });
2664
+ if (r.node === null) throw new FS.ErrnoError(44);
2665
+ if (!FS.isDir(r.node.mode)) throw new FS.ErrnoError(54);
2666
+ var t = FS.nodePermissions(r.node, "x");
2667
+ if (t) throw new FS.ErrnoError(t);
2668
+ FS.currentPath = r.path;
2669
+ },
2670
+ createDefaultDirectories() {
2671
+ FS.mkdir("/tmp"), FS.mkdir("/home"), FS.mkdir("/home/web_user");
2672
+ },
2673
+ createDefaultDevices() {
2674
+ FS.mkdir("/dev"), FS.registerDevice(FS.makedev(1, 3), {
2675
+ read: () => 0,
2676
+ write: (n, o, a, s, l) => s,
2677
+ llseek: () => 0
2678
+ }), FS.mkdev("/dev/null", FS.makedev(1, 3)), TTY.register(FS.makedev(5, 0), TTY.default_tty_ops), TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops), FS.mkdev("/dev/tty", FS.makedev(5, 0)), FS.mkdev("/dev/tty1", FS.makedev(6, 0));
2679
+ var e = /* @__PURE__ */ new Uint8Array(1024), r = 0, t = () => (r === 0 && (r = randomFill(e).byteLength), e[--r]);
2680
+ FS.createDevice("/dev", "random", t), FS.createDevice("/dev", "urandom", t), FS.mkdir("/dev/shm"), FS.mkdir("/dev/shm/tmp");
2681
+ },
2682
+ createSpecialDirectories() {
2683
+ FS.mkdir("/proc");
2684
+ var e = FS.mkdir("/proc/self");
2685
+ FS.mkdir("/proc/self/fd"), FS.mount({ mount() {
2686
+ var r = FS.createNode(e, "fd", 16895, 73);
2687
+ return r.stream_ops = { llseek: MEMFS.stream_ops.llseek }, r.node_ops = {
2688
+ lookup(t, n) {
2689
+ var o = +n, a = FS.getStreamChecked(o), s = {
2690
+ parent: null,
2691
+ mount: { mountpoint: "fake" },
2692
+ node_ops: { readlink: () => a.path },
2693
+ id: o + 1
2694
+ };
2695
+ return s.parent = s, s;
2696
+ },
2697
+ readdir() {
2698
+ return Array.from(FS.streams.entries()).filter(([t, n]) => n).map(([t, n]) => t.toString());
2699
+ }
2700
+ }, r;
2701
+ } }, {}, "/proc/self/fd");
2702
+ },
2703
+ createStandardStreams(e, r, t) {
2704
+ e ? FS.createDevice("/dev", "stdin", e) : FS.symlink("/dev/tty", "/dev/stdin"), r ? FS.createDevice("/dev", "stdout", null, r) : FS.symlink("/dev/tty", "/dev/stdout"), t ? FS.createDevice("/dev", "stderr", null, t) : FS.symlink("/dev/tty1", "/dev/stderr");
2705
+ var n = FS.open("/dev/stdin", 0), o = FS.open("/dev/stdout", 1), a = FS.open("/dev/stderr", 1);
2706
+ },
2707
+ staticInit() {
2708
+ FS.nameTable = new Array(4096), FS.mount(MEMFS, {}, "/"), FS.createDefaultDirectories(), FS.createDefaultDevices(), FS.createSpecialDirectories(), FS.filesystems = {
2709
+ MEMFS,
2710
+ PROXYFS
2711
+ };
2712
+ },
2713
+ init(e, r, t) {
2714
+ FS.initialized = !0, e ?? (e = Module.stdin), r ?? (r = Module.stdout), t ?? (t = Module.stderr), FS.createStandardStreams(e, r, t);
2715
+ },
2716
+ quit() {
2717
+ FS.initialized = !1, _fflush(0);
2718
+ for (var e = 0; e < FS.streams.length; e++) {
2719
+ var r = FS.streams[e];
2720
+ r && FS.close(r);
2721
+ }
2722
+ },
2723
+ findObject(e, r) {
2724
+ var t = FS.analyzePath(e, r);
2725
+ return t.exists ? t.object : null;
2726
+ },
2727
+ analyzePath(e, r) {
2728
+ try {
2729
+ var t = FS.lookupPath(e, { follow: !r });
2730
+ e = t.path;
2731
+ } catch {}
2732
+ var n = {
2733
+ isRoot: !1,
2734
+ exists: !1,
2735
+ error: 0,
2736
+ name: null,
2737
+ path: null,
2738
+ object: null,
2739
+ parentExists: !1,
2740
+ parentPath: null,
2741
+ parentObject: null
2742
+ };
2743
+ try {
2744
+ var t = FS.lookupPath(e, { parent: !0 });
2745
+ n.parentExists = !0, n.parentPath = t.path, n.parentObject = t.node, n.name = PATH.basename(e), t = FS.lookupPath(e, { follow: !r }), n.exists = !0, n.path = t.path, n.object = t.node, n.name = t.node.name, n.isRoot = t.path === "/";
2746
+ } catch (o) {
2747
+ n.error = o.errno;
2748
+ }
2749
+ return n;
2750
+ },
2751
+ createPath(e, r, t, n) {
2752
+ e = typeof e == "string" ? e : FS.getPath(e);
2753
+ for (var o = r.split("/").reverse(); o.length;) {
2754
+ var a = o.pop();
2755
+ if (a) {
2756
+ var s = PATH.join2(e, a);
2757
+ try {
2758
+ FS.mkdir(s);
2759
+ } catch {}
2760
+ e = s;
2761
+ }
2762
+ }
2763
+ return s;
2764
+ },
2765
+ createFile(e, r, t, n, o) {
2766
+ var a = PATH.join2(typeof e == "string" ? e : FS.getPath(e), r), s = FS_getMode(n, o);
2767
+ return FS.create(a, s);
2768
+ },
2769
+ createDataFile(e, r, t, n, o, a) {
2770
+ var s = r;
2771
+ e && (e = typeof e == "string" ? e : FS.getPath(e), s = r ? PATH.join2(e, r) : e);
2772
+ var l = FS_getMode(n, o), u = FS.create(s, l);
2773
+ if (t) {
2774
+ if (typeof t == "string") {
2775
+ for (var d = new Array(t.length), c = 0, p = t.length; c < p; ++c) d[c] = t.charCodeAt(c);
2776
+ t = d;
2777
+ }
2778
+ FS.chmod(u, l | 146);
2779
+ var f = FS.open(u, 577);
2780
+ FS.write(f, t, 0, t.length, 0, a), FS.close(f), FS.chmod(u, l);
2781
+ }
2782
+ },
2783
+ createDevice(e, r, t, n) {
2784
+ var l;
2785
+ var o = PATH.join2(typeof e == "string" ? e : FS.getPath(e), r), a = FS_getMode(!!t, !!n);
2786
+ (l = FS.createDevice).major ?? (l.major = 64);
2787
+ var s = FS.makedev(FS.createDevice.major++, 0);
2788
+ return FS.registerDevice(s, {
2789
+ open(u) {
2790
+ u.seekable = !1;
2791
+ },
2792
+ close(u) {
2793
+ n?.buffer?.length && n(10);
2794
+ },
2795
+ read(u, d, c, p, f) {
2796
+ for (var m = 0, _ = 0; _ < p; _++) {
2797
+ var g;
2798
+ try {
2799
+ g = t();
2800
+ } catch {
2801
+ throw new FS.ErrnoError(29);
2802
+ }
2803
+ if (g === void 0 && m === 0) throw new FS.ErrnoError(6);
2804
+ if (g == null) break;
2805
+ m++, d[c + _] = g;
2806
+ }
2807
+ return m && (u.node.atime = Date.now()), m;
2808
+ },
2809
+ write(u, d, c, p, f) {
2810
+ for (var m = 0; m < p; m++) try {
2811
+ n(d[c + m]);
2812
+ } catch {
2813
+ throw new FS.ErrnoError(29);
2814
+ }
2815
+ return p && (u.node.mtime = u.node.ctime = Date.now()), m;
2816
+ }
2817
+ }), FS.mkdev(o, a, s);
2818
+ },
2819
+ forceLoadFile(e) {
2820
+ if (e.isDevice || e.isFolder || e.link || e.contents) return !0;
2821
+ if (typeof XMLHttpRequest < "u") throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
2822
+ try {
2823
+ e.contents = readBinary(e.url), e.usedBytes = e.contents.length;
2824
+ } catch {
2825
+ throw new FS.ErrnoError(29);
2826
+ }
2827
+ },
2828
+ createLazyFile(e, r, t, n, o) {
2829
+ class a {
2830
+ constructor() {
2831
+ P(this, "lengthKnown", !1);
2832
+ P(this, "chunks", []);
2833
+ }
2834
+ get(m) {
2835
+ if (!(m > this.length - 1 || m < 0)) {
2836
+ var _ = m % this.chunkSize, g = m / this.chunkSize | 0;
2837
+ return this.getter(g)[_];
2838
+ }
2839
+ }
2840
+ setDataGetter(m) {
2841
+ this.getter = m;
2842
+ }
2843
+ cacheLength() {
2844
+ var m = new XMLHttpRequest();
2845
+ if (m.open("HEAD", t, !1), m.send(null), !(m.status >= 200 && m.status < 300 || m.status === 304)) throw new Error("Couldn't load " + t + ". Status: " + m.status);
2846
+ var _ = Number(m.getResponseHeader("Content-length")), g, E = (g = m.getResponseHeader("Accept-Ranges")) && g === "bytes", y = (g = m.getResponseHeader("Content-Encoding")) && g === "gzip", A = 1048576;
2847
+ E || (A = _);
2848
+ var S = (h, b) => {
2849
+ if (h > b) throw new Error("invalid range (" + h + ", " + b + ") or no bytes requested!");
2850
+ if (b > _ - 1) throw new Error("only " + _ + " bytes available! programmer error!");
2851
+ var F = new XMLHttpRequest();
2852
+ if (F.open("GET", t, !1), _ !== A && F.setRequestHeader("Range", "bytes=" + h + "-" + b), F.responseType = "arraybuffer", F.overrideMimeType && F.overrideMimeType("text/plain; charset=x-user-defined"), F.send(null), !(F.status >= 200 && F.status < 300 || F.status === 304)) throw new Error("Couldn't load " + t + ". Status: " + F.status);
2853
+ return F.response !== void 0 ? new Uint8Array(F.response || []) : intArrayFromString(F.responseText || "", !0);
2854
+ }, v = this;
2855
+ v.setDataGetter((h) => {
2856
+ var b = h * A, F = (h + 1) * A - 1;
2857
+ if (F = Math.min(F, _ - 1), typeof v.chunks[h] > "u" && (v.chunks[h] = S(b, F)), typeof v.chunks[h] > "u") throw new Error("doXHR failed!");
2858
+ return v.chunks[h];
2859
+ }), (y || !_) && (A = _ = 1, _ = this.getter(0).length, A = _, out("LazyFiles on gzip forces download of the whole file when length is accessed")), this._length = _, this._chunkSize = A, this.lengthKnown = !0;
2860
+ }
2861
+ get length() {
2862
+ return this.lengthKnown || this.cacheLength(), this._length;
2863
+ }
2864
+ get chunkSize() {
2865
+ return this.lengthKnown || this.cacheLength(), this._chunkSize;
2866
+ }
2867
+ }
2868
+ if (typeof XMLHttpRequest < "u") {
2869
+ if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
2870
+ var l = {
2871
+ isDevice: !1,
2872
+ contents: new a()
2873
+ };
2874
+ } else var l = {
2875
+ isDevice: !1,
2876
+ url: t
2877
+ };
2878
+ var u = FS.createFile(e, r, l, n, o);
2879
+ l.contents ? u.contents = l.contents : l.url && (u.contents = null, u.url = l.url), Object.defineProperties(u, { usedBytes: { get: function() {
2880
+ return this.contents.length;
2881
+ } } });
2882
+ var d = {};
2883
+ Object.keys(u.stream_ops).forEach((f) => {
2884
+ var m = u.stream_ops[f];
2885
+ d[f] = (..._) => (FS.forceLoadFile(u), m(..._));
2886
+ });
2887
+ function p(f, m, _, g, E) {
2888
+ var y = f.node.contents;
2889
+ if (E >= y.length) return 0;
2890
+ var A = Math.min(y.length - E, g);
2891
+ if (y.slice) for (var S = 0; S < A; S++) m[_ + S] = y[E + S];
2892
+ else for (var S = 0; S < A; S++) m[_ + S] = y.get(E + S);
2893
+ return A;
2894
+ }
2895
+ return d.read = (f, m, _, g, E) => (FS.forceLoadFile(u), p(f, m, _, g, E)), d.mmap = (f, m, _, g, E) => {
2896
+ FS.forceLoadFile(u);
2897
+ var y = mmapAlloc(m);
2898
+ if (!y) throw new FS.ErrnoError(48);
2899
+ return p(f, HEAP8, y, m, _), {
2900
+ ptr: y,
2901
+ allocated: !0
2902
+ };
2903
+ }, u.stream_ops = d, u;
2904
+ }
2905
+ }, SYSCALLS = {
2906
+ DEFAULT_POLLMASK: 5,
2907
+ calculateAt(e, r, t) {
2908
+ if (PATH.isAbs(r)) return r;
2909
+ var n;
2910
+ if (e === -100) n = FS.cwd();
2911
+ else n = SYSCALLS.getStreamFromFD(e).path;
2912
+ if (r.length == 0) {
2913
+ if (!t) throw new FS.ErrnoError(44);
2914
+ return n;
2915
+ }
2916
+ return n + "/" + r;
2917
+ },
2918
+ doStat(e, r, t) {
2919
+ var n = e(r);
2920
+ HEAP32[t >> 2] = n.dev, HEAP32[t + 4 >> 2] = n.mode, HEAPU32[t + 8 >> 2] = n.nlink, HEAP32[t + 12 >> 2] = n.uid, HEAP32[t + 16 >> 2] = n.gid, HEAP32[t + 20 >> 2] = n.rdev, HEAP64[t + 24 >> 3] = BigInt(n.size), HEAP32[t + 32 >> 2] = 4096, HEAP32[t + 36 >> 2] = n.blocks;
2921
+ var o = n.atime.getTime(), a = n.mtime.getTime(), s = n.ctime.getTime();
2922
+ return HEAP64[t + 40 >> 3] = BigInt(Math.floor(o / 1e3)), HEAPU32[t + 48 >> 2] = o % 1e3 * 1e3 * 1e3, HEAP64[t + 56 >> 3] = BigInt(Math.floor(a / 1e3)), HEAPU32[t + 64 >> 2] = a % 1e3 * 1e3 * 1e3, HEAP64[t + 72 >> 3] = BigInt(Math.floor(s / 1e3)), HEAPU32[t + 80 >> 2] = s % 1e3 * 1e3 * 1e3, HEAP64[t + 88 >> 3] = BigInt(n.ino), 0;
2923
+ },
2924
+ doMsync(e, r, t, n, o) {
2925
+ if (!FS.isFile(r.node.mode)) throw new FS.ErrnoError(43);
2926
+ if (n & 2) return 0;
2927
+ var a = HEAPU8.slice(e, e + t);
2928
+ FS.msync(r, a, o, t, n);
2929
+ },
2930
+ getStreamFromFD(e) {
2931
+ return FS.getStreamChecked(e);
2932
+ },
2933
+ varargs: void 0,
2934
+ getStr(e) {
2935
+ return UTF8ToString(e);
2936
+ }
2937
+ };
2938
+ function ___syscall_chmod(e, r) {
2939
+ try {
2940
+ return e = SYSCALLS.getStr(e), FS.chmod(e, r), 0;
2941
+ } catch (t) {
2942
+ if (typeof FS > "u" || t.name !== "ErrnoError") throw t;
2943
+ return -t.errno;
2944
+ }
2945
+ }
2946
+ ___syscall_chmod.sig = "ipi";
2947
+ function ___syscall_dup3(e, r, t) {
2948
+ try {
2949
+ var n = SYSCALLS.getStreamFromFD(e);
2950
+ if (n.fd === r) return -28;
2951
+ if (r < 0 || r >= FS.MAX_OPEN_FDS) return -8;
2952
+ var o = FS.getStream(r);
2953
+ return o && FS.close(o), FS.dupStream(n, r).fd;
2954
+ } catch (a) {
2955
+ if (typeof FS > "u" || a.name !== "ErrnoError") throw a;
2956
+ return -a.errno;
2957
+ }
2958
+ }
2959
+ ___syscall_dup3.sig = "iiii";
2960
+ function ___syscall_faccessat(e, r, t, n) {
2961
+ try {
2962
+ if (r = SYSCALLS.getStr(r), r = SYSCALLS.calculateAt(e, r), t & -8) return -28;
2963
+ var a = FS.lookupPath(r, { follow: !0 }).node;
2964
+ if (!a) return -44;
2965
+ var s = "";
2966
+ return t & 4 && (s += "r"), t & 2 && (s += "w"), t & 1 && (s += "x"), s && FS.nodePermissions(a, s) ? -2 : 0;
2967
+ } catch (l) {
2968
+ if (typeof FS > "u" || l.name !== "ErrnoError") throw l;
2969
+ return -l.errno;
2970
+ }
2971
+ }
2972
+ ___syscall_faccessat.sig = "iipii";
2973
+ var ___syscall_fadvise64 = (e, r, t, n) => 0;
2974
+ ___syscall_fadvise64.sig = "iijji";
2975
+ var syscallGetVarargI = () => {
2976
+ var e = HEAP32[+SYSCALLS.varargs >> 2];
2977
+ return SYSCALLS.varargs += 4, e;
2978
+ }, syscallGetVarargP = syscallGetVarargI;
2979
+ function ___syscall_fcntl64(e, r, t) {
2980
+ SYSCALLS.varargs = t;
2981
+ try {
2982
+ var n = SYSCALLS.getStreamFromFD(e);
2983
+ switch (r) {
2984
+ case 0:
2985
+ var o = syscallGetVarargI();
2986
+ if (o < 0) return -28;
2987
+ for (; FS.streams[o];) o++;
2988
+ var a;
2989
+ return a = FS.dupStream(n, o), a.fd;
2990
+ case 1:
2991
+ case 2: return 0;
2992
+ case 3: return n.flags;
2993
+ case 4:
2994
+ var o = syscallGetVarargI();
2995
+ return n.flags |= o, 0;
2996
+ case 12:
2997
+ var o = syscallGetVarargP(), s = 0;
2998
+ return HEAP16[o + s >> 1] = 2, 0;
2999
+ case 13:
3000
+ case 14: return 0;
3001
+ }
3002
+ return -28;
3003
+ } catch (l) {
3004
+ if (typeof FS > "u" || l.name !== "ErrnoError") throw l;
3005
+ return -l.errno;
3006
+ }
3007
+ }
3008
+ ___syscall_fcntl64.sig = "iiip";
3009
+ function ___syscall_fstat64(e, r) {
3010
+ try {
3011
+ var t = SYSCALLS.getStreamFromFD(e);
3012
+ return SYSCALLS.doStat(FS.stat, t.path, r);
3013
+ } catch (n) {
3014
+ if (typeof FS > "u" || n.name !== "ErrnoError") throw n;
3015
+ return -n.errno;
3016
+ }
3017
+ }
3018
+ ___syscall_fstat64.sig = "iip";
3019
+ var stringToUTF8 = (e, r, t) => stringToUTF8Array(e, HEAPU8, r, t);
3020
+ function ___syscall_getcwd(e, r) {
3021
+ try {
3022
+ if (r === 0) return -28;
3023
+ var t = FS.cwd(), n = lengthBytesUTF8(t) + 1;
3024
+ return r < n ? -68 : (stringToUTF8(t, e, r), n);
3025
+ } catch (o) {
3026
+ if (typeof FS > "u" || o.name !== "ErrnoError") throw o;
3027
+ return -o.errno;
3028
+ }
3029
+ }
3030
+ ___syscall_getcwd.sig = "ipp";
3031
+ function ___syscall_getdents64(e, r, t) {
3032
+ try {
3033
+ var n = SYSCALLS.getStreamFromFD(e);
3034
+ n.getdents || (n.getdents = FS.readdir(n.path));
3035
+ for (var o = 280, a = 0, s = FS.llseek(n, 0, 1), l = Math.floor(s / o), u = Math.min(n.getdents.length, l + Math.floor(t / o)), d = l; d < u; d++) {
3036
+ var c, p, f = n.getdents[d];
3037
+ if (f === ".") c = n.node.id, p = 4;
3038
+ else if (f === "..") c = FS.lookupPath(n.path, { parent: !0 }).node.id, p = 4;
3039
+ else {
3040
+ var _;
3041
+ try {
3042
+ _ = FS.lookupNode(n.node, f);
3043
+ } catch (g) {
3044
+ if (g?.errno === 28) continue;
3045
+ throw g;
3046
+ }
3047
+ c = _.id, p = FS.isChrdev(_.mode) ? 2 : FS.isDir(_.mode) ? 4 : FS.isLink(_.mode) ? 10 : 8;
3048
+ }
3049
+ HEAP64[r + a >> 3] = BigInt(c), HEAP64[r + a + 8 >> 3] = BigInt((d + 1) * o), HEAP16[r + a + 16 >> 1] = 280, HEAP8[r + a + 18] = p, stringToUTF8(f, r + a + 19, 256), a += o;
3050
+ }
3051
+ return FS.llseek(n, d * o, 0), a;
3052
+ } catch (g) {
3053
+ if (typeof FS > "u" || g.name !== "ErrnoError") throw g;
3054
+ return -g.errno;
3055
+ }
3056
+ }
3057
+ ___syscall_getdents64.sig = "iipp";
3058
+ function ___syscall_ioctl(e, r, t) {
3059
+ SYSCALLS.varargs = t;
3060
+ try {
3061
+ var n = SYSCALLS.getStreamFromFD(e);
3062
+ switch (r) {
3063
+ case 21509: return n.tty ? 0 : -59;
3064
+ case 21505:
3065
+ if (!n.tty) return -59;
3066
+ if (n.tty.ops.ioctl_tcgets) {
3067
+ var o = n.tty.ops.ioctl_tcgets(n), a = syscallGetVarargP();
3068
+ HEAP32[a >> 2] = o.c_iflag || 0, HEAP32[a + 4 >> 2] = o.c_oflag || 0, HEAP32[a + 8 >> 2] = o.c_cflag || 0, HEAP32[a + 12 >> 2] = o.c_lflag || 0;
3069
+ for (var s = 0; s < 32; s++) HEAP8[a + s + 17] = o.c_cc[s] || 0;
3070
+ return 0;
3071
+ }
3072
+ return 0;
3073
+ case 21510:
3074
+ case 21511:
3075
+ case 21512: return n.tty ? 0 : -59;
3076
+ case 21506:
3077
+ case 21507:
3078
+ case 21508:
3079
+ if (!n.tty) return -59;
3080
+ if (n.tty.ops.ioctl_tcsets) {
3081
+ for (var a = syscallGetVarargP(), l = HEAP32[a >> 2], u = HEAP32[a + 4 >> 2], d = HEAP32[a + 8 >> 2], c = HEAP32[a + 12 >> 2], p = [], s = 0; s < 32; s++) p.push(HEAP8[a + s + 17]);
3082
+ return n.tty.ops.ioctl_tcsets(n.tty, r, {
3083
+ c_iflag: l,
3084
+ c_oflag: u,
3085
+ c_cflag: d,
3086
+ c_lflag: c,
3087
+ c_cc: p
3088
+ });
3089
+ }
3090
+ return 0;
3091
+ case 21519:
3092
+ if (!n.tty) return -59;
3093
+ var a = syscallGetVarargP();
3094
+ return HEAP32[a >> 2] = 0, 0;
3095
+ case 21520: return n.tty ? -28 : -59;
3096
+ case 21531:
3097
+ var a = syscallGetVarargP();
3098
+ return FS.ioctl(n, r, a);
3099
+ case 21523:
3100
+ if (!n.tty) return -59;
3101
+ if (n.tty.ops.ioctl_tiocgwinsz) {
3102
+ var f = n.tty.ops.ioctl_tiocgwinsz(n.tty), a = syscallGetVarargP();
3103
+ HEAP16[a >> 1] = f[0], HEAP16[a + 2 >> 1] = f[1];
3104
+ }
3105
+ return 0;
3106
+ case 21524: return n.tty ? 0 : -59;
3107
+ case 21515: return n.tty ? 0 : -59;
3108
+ default: return -28;
3109
+ }
3110
+ } catch (m) {
3111
+ if (typeof FS > "u" || m.name !== "ErrnoError") throw m;
3112
+ return -m.errno;
3113
+ }
3114
+ }
3115
+ ___syscall_ioctl.sig = "iiip";
3116
+ function ___syscall_lstat64(e, r) {
3117
+ try {
3118
+ return e = SYSCALLS.getStr(e), SYSCALLS.doStat(FS.lstat, e, r);
3119
+ } catch (t) {
3120
+ if (typeof FS > "u" || t.name !== "ErrnoError") throw t;
3121
+ return -t.errno;
3122
+ }
3123
+ }
3124
+ ___syscall_lstat64.sig = "ipp";
3125
+ function ___syscall_mkdirat(e, r, t) {
3126
+ try {
3127
+ return r = SYSCALLS.getStr(r), r = SYSCALLS.calculateAt(e, r), FS.mkdir(r, t, 0), 0;
3128
+ } catch (n) {
3129
+ if (typeof FS > "u" || n.name !== "ErrnoError") throw n;
3130
+ return -n.errno;
3131
+ }
3132
+ }
3133
+ ___syscall_mkdirat.sig = "iipi";
3134
+ function ___syscall_newfstatat(e, r, t, n) {
3135
+ try {
3136
+ r = SYSCALLS.getStr(r);
3137
+ var o = n & 256, a = n & 4096;
3138
+ return n = n & -6401, r = SYSCALLS.calculateAt(e, r, a), SYSCALLS.doStat(o ? FS.lstat : FS.stat, r, t);
3139
+ } catch (s) {
3140
+ if (typeof FS > "u" || s.name !== "ErrnoError") throw s;
3141
+ return -s.errno;
3142
+ }
3143
+ }
3144
+ ___syscall_newfstatat.sig = "iippi";
3145
+ function ___syscall_openat(e, r, t, n) {
3146
+ SYSCALLS.varargs = n;
3147
+ try {
3148
+ r = SYSCALLS.getStr(r), r = SYSCALLS.calculateAt(e, r);
3149
+ var o = n ? syscallGetVarargI() : 0;
3150
+ return FS.open(r, t, o).fd;
3151
+ } catch (a) {
3152
+ if (typeof FS > "u" || a.name !== "ErrnoError") throw a;
3153
+ return -a.errno;
3154
+ }
3155
+ }
3156
+ ___syscall_openat.sig = "iipip";
3157
+ function ___syscall_readlinkat(e, r, t, n) {
3158
+ try {
3159
+ if (r = SYSCALLS.getStr(r), r = SYSCALLS.calculateAt(e, r), n <= 0) return -28;
3160
+ var o = FS.readlink(r), a = Math.min(n, lengthBytesUTF8(o)), s = HEAP8[t + a];
3161
+ return stringToUTF8(o, t, n + 1), HEAP8[t + a] = s, a;
3162
+ } catch (l) {
3163
+ if (typeof FS > "u" || l.name !== "ErrnoError") throw l;
3164
+ return -l.errno;
3165
+ }
3166
+ }
3167
+ ___syscall_readlinkat.sig = "iippp";
3168
+ function ___syscall_rmdir(e) {
3169
+ try {
3170
+ return e = SYSCALLS.getStr(e), FS.rmdir(e), 0;
3171
+ } catch (r) {
3172
+ if (typeof FS > "u" || r.name !== "ErrnoError") throw r;
3173
+ return -r.errno;
3174
+ }
3175
+ }
3176
+ ___syscall_rmdir.sig = "ip";
3177
+ function ___syscall_stat64(e, r) {
3178
+ try {
3179
+ return e = SYSCALLS.getStr(e), SYSCALLS.doStat(FS.stat, e, r);
3180
+ } catch (t) {
3181
+ if (typeof FS > "u" || t.name !== "ErrnoError") throw t;
3182
+ return -t.errno;
3183
+ }
3184
+ }
3185
+ ___syscall_stat64.sig = "ipp";
3186
+ function ___syscall_symlinkat(e, r, t) {
3187
+ try {
3188
+ return e = SYSCALLS.getStr(e), t = SYSCALLS.getStr(t), t = SYSCALLS.calculateAt(r, t), FS.symlink(e, t), 0;
3189
+ } catch (n) {
3190
+ if (typeof FS > "u" || n.name !== "ErrnoError") throw n;
3191
+ return -n.errno;
3192
+ }
3193
+ }
3194
+ ___syscall_symlinkat.sig = "ipip";
3195
+ function ___syscall_unlinkat(e, r, t) {
3196
+ try {
3197
+ return r = SYSCALLS.getStr(r), r = SYSCALLS.calculateAt(e, r), t === 0 ? FS.unlink(r) : t === 512 ? FS.rmdir(r) : abort("Invalid flags passed to unlinkat"), 0;
3198
+ } catch (n) {
3199
+ if (typeof FS > "u" || n.name !== "ErrnoError") throw n;
3200
+ return -n.errno;
3201
+ }
3202
+ }
3203
+ ___syscall_unlinkat.sig = "iipi";
3204
+ var ___table_base = new WebAssembly.Global({
3205
+ value: "i32",
3206
+ mutable: !1
3207
+ }, 1), __abort_js = () => abort("");
3208
+ __abort_js.sig = "v";
3209
+ var runtimeKeepaliveCounter = 0, __emscripten_runtime_keepalive_clear = () => {
3210
+ noExitRuntime = !1, runtimeKeepaliveCounter = 0;
3211
+ };
3212
+ __emscripten_runtime_keepalive_clear.sig = "v";
3213
+ var __emscripten_throw_longjmp = () => {
3214
+ throw 1 / 0;
3215
+ };
3216
+ __emscripten_throw_longjmp.sig = "v";
3217
+ var isLeapYear = (e) => e % 4 === 0 && (e % 100 !== 0 || e % 400 === 0), MONTH_DAYS_LEAP_CUMULATIVE = [
3218
+ 0,
3219
+ 31,
3220
+ 60,
3221
+ 91,
3222
+ 121,
3223
+ 152,
3224
+ 182,
3225
+ 213,
3226
+ 244,
3227
+ 274,
3228
+ 305,
3229
+ 335
3230
+ ], MONTH_DAYS_REGULAR_CUMULATIVE = [
3231
+ 0,
3232
+ 31,
3233
+ 59,
3234
+ 90,
3235
+ 120,
3236
+ 151,
3237
+ 181,
3238
+ 212,
3239
+ 243,
3240
+ 273,
3241
+ 304,
3242
+ 334
3243
+ ], ydayFromDate = (e) => {
3244
+ return (isLeapYear(e.getFullYear()) ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE)[e.getMonth()] + e.getDate() - 1;
3245
+ }, INT53_MAX = 9007199254740992, INT53_MIN = -9007199254740992, bigintToI53Checked = (e) => e < INT53_MIN || e > INT53_MAX ? NaN : Number(e);
3246
+ function __localtime_js(e, r) {
3247
+ e = bigintToI53Checked(e);
3248
+ var t = /* @__PURE__ */ new Date(e * 1e3);
3249
+ HEAP32[r >> 2] = t.getSeconds(), HEAP32[r + 4 >> 2] = t.getMinutes(), HEAP32[r + 8 >> 2] = t.getHours(), HEAP32[r + 12 >> 2] = t.getDate(), HEAP32[r + 16 >> 2] = t.getMonth(), HEAP32[r + 20 >> 2] = t.getFullYear() - 1900, HEAP32[r + 24 >> 2] = t.getDay();
3250
+ var n = ydayFromDate(t) | 0;
3251
+ HEAP32[r + 28 >> 2] = n, HEAP32[r + 36 >> 2] = -(t.getTimezoneOffset() * 60);
3252
+ var o = new Date(t.getFullYear(), 0, 1), a = new Date(t.getFullYear(), 6, 1).getTimezoneOffset(), s = o.getTimezoneOffset(), l = (a != s && t.getTimezoneOffset() == Math.min(s, a)) | 0;
3253
+ HEAP32[r + 32 >> 2] = l;
3254
+ }
3255
+ __localtime_js.sig = "vjp";
3256
+ var __mktime_js = function(e) {
3257
+ var r = (() => {
3258
+ var t = new Date(HEAP32[e + 20 >> 2] + 1900, HEAP32[e + 16 >> 2], HEAP32[e + 12 >> 2], HEAP32[e + 8 >> 2], HEAP32[e + 4 >> 2], HEAP32[e >> 2], 0), n = HEAP32[e + 32 >> 2], o = t.getTimezoneOffset(), a = new Date(t.getFullYear(), 0, 1), s = new Date(t.getFullYear(), 6, 1).getTimezoneOffset(), l = a.getTimezoneOffset(), u = Math.min(l, s);
3259
+ if (n < 0) HEAP32[e + 32 >> 2] = +(s != l && u == o);
3260
+ else if (n > 0 != (u == o)) {
3261
+ var c = n > 0 ? u : Math.max(l, s);
3262
+ t.setTime(t.getTime() + (c - o) * 6e4);
3263
+ }
3264
+ HEAP32[e + 24 >> 2] = t.getDay();
3265
+ var p = ydayFromDate(t) | 0;
3266
+ HEAP32[e + 28 >> 2] = p, HEAP32[e >> 2] = t.getSeconds(), HEAP32[e + 4 >> 2] = t.getMinutes(), HEAP32[e + 8 >> 2] = t.getHours(), HEAP32[e + 12 >> 2] = t.getDate(), HEAP32[e + 16 >> 2] = t.getMonth(), HEAP32[e + 20 >> 2] = t.getYear();
3267
+ var f = t.getTime();
3268
+ return isNaN(f) ? -1 : f / 1e3;
3269
+ })();
3270
+ return BigInt(r);
3271
+ };
3272
+ __mktime_js.sig = "jp";
3273
+ function __mmap_js(e, r, t, n, o, a, s) {
3274
+ o = bigintToI53Checked(o);
3275
+ try {
3276
+ if (isNaN(o)) return 61;
3277
+ var l = SYSCALLS.getStreamFromFD(n), u = FS.mmap(l, e, o, r, t), d = u.ptr;
3278
+ return HEAP32[a >> 2] = u.allocated, HEAPU32[s >> 2] = d, 0;
3279
+ } catch (c) {
3280
+ if (typeof FS > "u" || c.name !== "ErrnoError") throw c;
3281
+ return -c.errno;
3282
+ }
3283
+ }
3284
+ __mmap_js.sig = "ipiiijpp";
3285
+ function __munmap_js(e, r, t, n, o, a) {
3286
+ a = bigintToI53Checked(a);
3287
+ try {
3288
+ var s = SYSCALLS.getStreamFromFD(o);
3289
+ t & 2 && SYSCALLS.doMsync(e, s, r, n, a);
3290
+ } catch (l) {
3291
+ if (typeof FS > "u" || l.name !== "ErrnoError") throw l;
3292
+ return -l.errno;
3293
+ }
3294
+ }
3295
+ __munmap_js.sig = "ippiiij";
3296
+ var timers = {}, handleException = (e) => {
3297
+ if (e instanceof ExitStatus || e == "unwind") return EXITSTATUS;
3298
+ quit_(1, e);
3299
+ }, keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0, _proc_exit = (e) => {
3300
+ EXITSTATUS = e, keepRuntimeAlive() || (Module.onExit?.(e), ABORT = !0), quit_(e, new ExitStatus(e));
3301
+ };
3302
+ _proc_exit.sig = "vi";
3303
+ var exitJS = (e, r) => {
3304
+ EXITSTATUS = e, keepRuntimeAlive() || exitRuntime(), _proc_exit(e);
3305
+ }, _exit = exitJS;
3306
+ _exit.sig = "vi";
3307
+ var maybeExit = () => {
3308
+ if (!runtimeExited && !keepRuntimeAlive()) try {
3309
+ _exit(EXITSTATUS);
3310
+ } catch (e) {
3311
+ handleException(e);
3312
+ }
3313
+ }, callUserCallback = (e) => {
3314
+ if (!(runtimeExited || ABORT)) try {
3315
+ e(), maybeExit();
3316
+ } catch (r) {
3317
+ handleException(r);
3318
+ }
3319
+ }, _emscripten_get_now = () => performance.now();
3320
+ _emscripten_get_now.sig = "d";
3321
+ var __setitimer_js = (e, r) => {
3322
+ if (timers[e] && (clearTimeout(timers[e].id), delete timers[e]), !r) return 0;
3323
+ return timers[e] = {
3324
+ id: setTimeout(() => {
3325
+ delete timers[e], callUserCallback(() => __emscripten_timeout(e, _emscripten_get_now()));
3326
+ }, r),
3327
+ timeout_ms: r
3328
+ }, 0;
3329
+ };
3330
+ __setitimer_js.sig = "iid";
3331
+ var __tzset_js = (e, r, t, n) => {
3332
+ var o = (/* @__PURE__ */ new Date()).getFullYear(), a = new Date(o, 0, 1), s = new Date(o, 6, 1), l = a.getTimezoneOffset(), u = s.getTimezoneOffset(), d = Math.max(l, u);
3333
+ HEAPU32[e >> 2] = d * 60, HEAP32[r >> 2] = +(l != u);
3334
+ var c = (m) => {
3335
+ var _ = m >= 0 ? "-" : "+", g = Math.abs(m);
3336
+ return `UTC${_}${String(Math.floor(g / 60)).padStart(2, "0")}${String(g % 60).padStart(2, "0")}`;
3337
+ }, p = c(l), f = c(u);
3338
+ u < l ? (stringToUTF8(p, t, 17), stringToUTF8(f, n, 17)) : (stringToUTF8(p, n, 17), stringToUTF8(f, t, 17));
3339
+ };
3340
+ __tzset_js.sig = "vpppp";
3341
+ var _emscripten_date_now = () => Date.now();
3342
+ _emscripten_date_now.sig = "d";
3343
+ var runtimeKeepalivePush = () => {
3344
+ runtimeKeepaliveCounter += 1;
3345
+ };
3346
+ runtimeKeepalivePush.sig = "v";
3347
+ var _emscripten_exit_with_live_runtime = () => {
3348
+ throw runtimeKeepalivePush(), "unwind";
3349
+ };
3350
+ _emscripten_exit_with_live_runtime.sig = "v";
3351
+ var getHeapMax = () => 2147483648, growMemory = (e) => {
3352
+ var t = (e - wasmMemory.buffer.byteLength + 65535) / 65536 | 0;
3353
+ try {
3354
+ return wasmMemory.grow(t), updateMemoryViews(), 1;
3355
+ } catch {}
3356
+ }, _emscripten_resize_heap = (e) => {
3357
+ var r = HEAPU8.length;
3358
+ e >>>= 0;
3359
+ var t = getHeapMax();
3360
+ if (e > t) return !1;
3361
+ for (var n = 1; n <= 4; n *= 2) {
3362
+ var o = r * (1 + .2 / n);
3363
+ o = Math.min(o, e + 100663296);
3364
+ if (growMemory(Math.min(t, alignMemory(Math.max(e, o), 65536)))) return !0;
3365
+ }
3366
+ return !1;
3367
+ };
3368
+ _emscripten_resize_heap.sig = "ip";
3369
+ var ENV = {}, getExecutableName = () => thisProgram || "./this.program", getEnvStrings = () => {
3370
+ if (!getEnvStrings.strings) {
3371
+ var r = {
3372
+ USER: "web_user",
3373
+ LOGNAME: "web_user",
3374
+ PATH: "/",
3375
+ PWD: "/",
3376
+ HOME: "/home/web_user",
3377
+ LANG: (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8",
3378
+ _: getExecutableName()
3379
+ };
3380
+ for (var t in ENV) ENV[t] === void 0 ? delete r[t] : r[t] = ENV[t];
3381
+ var n = [];
3382
+ for (var t in r) n.push(`${t}=${r[t]}`);
3383
+ getEnvStrings.strings = n;
3384
+ }
3385
+ return getEnvStrings.strings;
3386
+ }, stringToAscii = (e, r) => {
3387
+ for (var t = 0; t < e.length; ++t) HEAP8[r++] = e.charCodeAt(t);
3388
+ HEAP8[r] = 0;
3389
+ }, _environ_get = (e, r) => {
3390
+ var t = 0;
3391
+ return getEnvStrings().forEach((n, o) => {
3392
+ var a = r + t;
3393
+ HEAPU32[e + o * 4 >> 2] = a, stringToAscii(n, a), t += n.length + 1;
3394
+ }), 0;
3395
+ };
3396
+ _environ_get.sig = "ipp";
3397
+ var _environ_sizes_get = (e, r) => {
3398
+ var t = getEnvStrings();
3399
+ HEAPU32[e >> 2] = t.length;
3400
+ var n = 0;
3401
+ return t.forEach((o) => n += o.length + 1), HEAPU32[r >> 2] = n, 0;
3402
+ };
3403
+ _environ_sizes_get.sig = "ipp";
3404
+ function _fd_close(e) {
3405
+ try {
3406
+ var r = SYSCALLS.getStreamFromFD(e);
3407
+ return FS.close(r), 0;
3408
+ } catch (t) {
3409
+ if (typeof FS > "u" || t.name !== "ErrnoError") throw t;
3410
+ return t.errno;
3411
+ }
3412
+ }
3413
+ _fd_close.sig = "ii";
3414
+ function _fd_fdstat_get(e, r) {
3415
+ try {
3416
+ var t = 0, n = 0, o = 0, a = SYSCALLS.getStreamFromFD(e), s = a.tty ? 2 : FS.isDir(a.mode) ? 3 : FS.isLink(a.mode) ? 7 : 4;
3417
+ return HEAP8[r] = s, HEAP16[r + 2 >> 1] = o, HEAP64[r + 8 >> 3] = BigInt(t), HEAP64[r + 16 >> 3] = BigInt(n), 0;
3418
+ } catch (l) {
3419
+ if (typeof FS > "u" || l.name !== "ErrnoError") throw l;
3420
+ return l.errno;
3421
+ }
3422
+ }
3423
+ _fd_fdstat_get.sig = "iip";
3424
+ var doReadv = (e, r, t, n) => {
3425
+ for (var o = 0, a = 0; a < t; a++) {
3426
+ var s = HEAPU32[r >> 2], l = HEAPU32[r + 4 >> 2];
3427
+ r += 8;
3428
+ var u = FS.read(e, HEAP8, s, l, n);
3429
+ if (u < 0) return -1;
3430
+ if (o += u, u < l) break;
3431
+ typeof n < "u" && (n += u);
3432
+ }
3433
+ return o;
3434
+ };
3435
+ function _fd_read(e, r, t, n) {
3436
+ try {
3437
+ var a = doReadv(SYSCALLS.getStreamFromFD(e), r, t);
3438
+ return HEAPU32[n >> 2] = a, 0;
3439
+ } catch (s) {
3440
+ if (typeof FS > "u" || s.name !== "ErrnoError") throw s;
3441
+ return s.errno;
3442
+ }
3443
+ }
3444
+ _fd_read.sig = "iippp";
3445
+ function _fd_seek(e, r, t, n) {
3446
+ r = bigintToI53Checked(r);
3447
+ try {
3448
+ if (isNaN(r)) return 61;
3449
+ var o = SYSCALLS.getStreamFromFD(e);
3450
+ return FS.llseek(o, r, t), HEAP64[n >> 3] = BigInt(o.position), o.getdents && r === 0 && t === 0 && (o.getdents = null), 0;
3451
+ } catch (a) {
3452
+ if (typeof FS > "u" || a.name !== "ErrnoError") throw a;
3453
+ return a.errno;
3454
+ }
3455
+ }
3456
+ _fd_seek.sig = "iijip";
3457
+ function _fd_sync(e) {
3458
+ try {
3459
+ var r = SYSCALLS.getStreamFromFD(e);
3460
+ return r.stream_ops?.fsync ? r.stream_ops.fsync(r) : 0;
3461
+ } catch (t) {
3462
+ if (typeof FS > "u" || t.name !== "ErrnoError") throw t;
3463
+ return t.errno;
3464
+ }
3465
+ }
3466
+ _fd_sync.sig = "ii";
3467
+ var doWritev = (e, r, t, n) => {
3468
+ for (var o = 0, a = 0; a < t; a++) {
3469
+ var s = HEAPU32[r >> 2], l = HEAPU32[r + 4 >> 2];
3470
+ r += 8;
3471
+ var u = FS.write(e, HEAP8, s, l, n);
3472
+ if (u < 0) return -1;
3473
+ if (o += u, u < l) break;
3474
+ typeof n < "u" && (n += u);
3475
+ }
3476
+ return o;
3477
+ };
3478
+ function _fd_write(e, r, t, n) {
3479
+ try {
3480
+ var a = doWritev(SYSCALLS.getStreamFromFD(e), r, t);
3481
+ return HEAPU32[n >> 2] = a, 0;
3482
+ } catch (s) {
3483
+ if (typeof FS > "u" || s.name !== "ErrnoError") throw s;
3484
+ return s.errno;
3485
+ }
3486
+ }
3487
+ _fd_write.sig = "iippp";
3488
+ var inetPton4 = (e) => {
3489
+ for (var r = e.split("."), t = 0; t < 4; t++) {
3490
+ var n = Number(r[t]);
3491
+ if (isNaN(n)) return null;
3492
+ r[t] = n;
3493
+ }
3494
+ return (r[0] | r[1] << 8 | r[2] << 16 | r[3] << 24) >>> 0;
3495
+ }, jstoi_q = (e) => parseInt(e), inetPton6 = (e) => {
3496
+ var r, t, n, o, a = /^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i, s = [];
3497
+ if (!a.test(e)) return null;
3498
+ if (e === "::") return [
3499
+ 0,
3500
+ 0,
3501
+ 0,
3502
+ 0,
3503
+ 0,
3504
+ 0,
3505
+ 0,
3506
+ 0
3507
+ ];
3508
+ for (e.startsWith("::") ? e = e.replace("::", "Z:") : e = e.replace("::", ":Z:"), e.indexOf(".") > 0 ? (e = e.replace(/* @__PURE__ */ new RegExp("[.]", "g"), ":"), r = e.split(":"), r[r.length - 4] = jstoi_q(r[r.length - 4]) + jstoi_q(r[r.length - 3]) * 256, r[r.length - 3] = jstoi_q(r[r.length - 2]) + jstoi_q(r[r.length - 1]) * 256, r = r.slice(0, r.length - 2)) : r = e.split(":"), n = 0, o = 0, t = 0; t < r.length; t++) if (typeof r[t] == "string") if (r[t] === "Z") {
3509
+ for (o = 0; o < 8 - r.length + 1; o++) s[t + o] = 0;
3510
+ n = o - 1;
3511
+ } else s[t + n] = _htons(parseInt(r[t], 16));
3512
+ else s[t + n] = r[t];
3513
+ return [
3514
+ s[1] << 16 | s[0],
3515
+ s[3] << 16 | s[2],
3516
+ s[5] << 16 | s[4],
3517
+ s[7] << 16 | s[6]
3518
+ ];
3519
+ }, DNS = {
3520
+ address_map: {
3521
+ id: 1,
3522
+ addrs: {},
3523
+ names: {}
3524
+ },
3525
+ lookup_name(e) {
3526
+ var r = inetPton4(e);
3527
+ if (r !== null || (r = inetPton6(e), r !== null)) return e;
3528
+ var t;
3529
+ if (DNS.address_map.addrs[e]) t = DNS.address_map.addrs[e];
3530
+ else {
3531
+ var n = DNS.address_map.id++;
3532
+ assert(n < 65535, "exceeded max address mappings of 65535"), t = "172.29." + (n & 255) + "." + (n & 65280), DNS.address_map.names[t] = e, DNS.address_map.addrs[e] = t;
3533
+ }
3534
+ return t;
3535
+ },
3536
+ lookup_addr(e) {
3537
+ return DNS.address_map.names[e] ? DNS.address_map.names[e] : null;
3538
+ }
3539
+ }, inetNtop4 = (e) => (e & 255) + "." + (e >> 8 & 255) + "." + (e >> 16 & 255) + "." + (e >> 24 & 255), inetNtop6 = (e) => {
3540
+ var r = "", t = 0, n = 0, o = 0, a = 0, s = 0, l = 0, u = [
3541
+ e[0] & 65535,
3542
+ e[0] >> 16,
3543
+ e[1] & 65535,
3544
+ e[1] >> 16,
3545
+ e[2] & 65535,
3546
+ e[2] >> 16,
3547
+ e[3] & 65535,
3548
+ e[3] >> 16
3549
+ ], d = !0, c = "";
3550
+ for (l = 0; l < 5; l++) if (u[l] !== 0) {
3551
+ d = !1;
3552
+ break;
3553
+ }
3554
+ if (d) {
3555
+ if (c = inetNtop4(u[6] | u[7] << 16), u[5] === -1) return r = "::ffff:", r += c, r;
3556
+ if (u[5] === 0) return r = "::", c === "0.0.0.0" && (c = ""), c === "0.0.0.1" && (c = "1"), r += c, r;
3557
+ }
3558
+ for (t = 0; t < 8; t++) u[t] === 0 && (t - o > 1 && (s = 0), o = t, s++), s > n && (n = s, a = t - n + 1);
3559
+ for (t = 0; t < 8; t++) {
3560
+ if (n > 1 && u[t] === 0 && t >= a && t < a + n) {
3561
+ t === a && (r += ":", a === 0 && (r += ":"));
3562
+ continue;
3563
+ }
3564
+ r += Number(_ntohs(u[t] & 65535)).toString(16), r += t < 7 ? ":" : "";
3565
+ }
3566
+ return r;
3567
+ }, writeSockaddr = (e, r, t, n, o) => {
3568
+ switch (r) {
3569
+ case 2:
3570
+ t = inetPton4(t), zeroMemory(e, 16), o && (HEAP32[o >> 2] = 16), HEAP16[e >> 1] = r, HEAP32[e + 4 >> 2] = t, HEAP16[e + 2 >> 1] = _htons(n);
3571
+ break;
3572
+ case 10:
3573
+ t = inetPton6(t), zeroMemory(e, 28), o && (HEAP32[o >> 2] = 28), HEAP32[e >> 2] = r, HEAP32[e + 8 >> 2] = t[0], HEAP32[e + 12 >> 2] = t[1], HEAP32[e + 16 >> 2] = t[2], HEAP32[e + 20 >> 2] = t[3], HEAP16[e + 2 >> 1] = _htons(n);
3574
+ break;
3575
+ default: return 5;
3576
+ }
3577
+ return 0;
3578
+ }, _getaddrinfo = (e, r, t, n) => {
3579
+ var o = 0, a = 0, s = 0, l = 0, u = 0, d = 0, c;
3580
+ function p(f, m, _, g, E, y) {
3581
+ var A, S, v, h;
3582
+ return S = f === 10 ? 28 : 16, E = f === 10 ? inetNtop6(E) : inetNtop4(E), A = _malloc(S), h = writeSockaddr(A, f, E, y), assert(!h), v = _malloc(32), HEAP32[v + 4 >> 2] = f, HEAP32[v + 8 >> 2] = m, HEAP32[v + 12 >> 2] = _, HEAPU32[v + 24 >> 2] = g, HEAPU32[v + 20 >> 2] = A, f === 10 ? HEAP32[v + 16 >> 2] = 28 : HEAP32[v + 16 >> 2] = 16, HEAP32[v + 28 >> 2] = 0, v;
3583
+ }
3584
+ if (t && (s = HEAP32[t >> 2], l = HEAP32[t + 4 >> 2], u = HEAP32[t + 8 >> 2], d = HEAP32[t + 12 >> 2]), u && !d && (d = u === 2 ? 17 : 6), !u && d && (u = d === 17 ? 2 : 1), d === 0 && (d = 6), u === 0 && (u = 1), !e && !r) return -2;
3585
+ if (s & -1088 || t !== 0 && HEAP32[t >> 2] & 2 && !e) return -1;
3586
+ if (s & 32) return -2;
3587
+ if (u !== 0 && u !== 1 && u !== 2) return -7;
3588
+ if (l !== 0 && l !== 2 && l !== 10) return -6;
3589
+ if (r && (r = UTF8ToString(r), a = parseInt(r, 10), isNaN(a))) return s & 1024 ? -2 : -8;
3590
+ if (!e) return l === 0 && (l = 2), s & 1 || (l === 2 ? o = _htonl(2130706433) : o = [
3591
+ 0,
3592
+ 0,
3593
+ 0,
3594
+ _htonl(1)
3595
+ ]), c = p(l, u, d, null, o, a), HEAPU32[n >> 2] = c, 0;
3596
+ if (e = UTF8ToString(e), o = inetPton4(e), o !== null) if (l === 0 || l === 2) l = 2;
3597
+ else if (l === 10 && s & 8) o = [
3598
+ 0,
3599
+ 0,
3600
+ _htonl(65535),
3601
+ o
3602
+ ], l = 10;
3603
+ else return -2;
3604
+ else if (o = inetPton6(e), o !== null) if (l === 0 || l === 10) l = 10;
3605
+ else return -2;
3606
+ return o != null ? (c = p(l, u, d, e, o, a), HEAPU32[n >> 2] = c, 0) : s & 4 ? -2 : (e = DNS.lookup_name(e), o = inetPton4(e), l === 0 ? l = 2 : l === 10 && (o = [
3607
+ 0,
3608
+ 0,
3609
+ _htonl(65535),
3610
+ o
3611
+ ]), c = p(l, u, d, null, o, a), HEAPU32[n >> 2] = c, 0);
3612
+ };
3613
+ _getaddrinfo.sig = "ipppp";
3614
+ var stackAlloc = (e) => __emscripten_stack_alloc(e), stringToUTF8OnStack = (e) => {
3615
+ var r = lengthBytesUTF8(e) + 1, t = stackAlloc(r);
3616
+ return stringToUTF8(e, t, r), t;
3617
+ }, removeFunction = (e) => {
3618
+ functionsInTableMap.delete(getWasmTableEntry(e)), setWasmTableEntry(e, null), freeTableIndexes.push(e);
3619
+ }, stringToNewUTF8 = (e) => {
3620
+ var r = lengthBytesUTF8(e) + 1, t = _malloc(r);
3621
+ return t && stringToUTF8(e, t, r), t;
3622
+ }, FS_createPath = FS.createPath, FS_unlink = (e) => FS.unlink(e), FS_createLazyFile = FS.createLazyFile, FS_createDevice = FS.createDevice;
3623
+ registerWasmPlugin(), FS.createPreloadedFile = FS_createPreloadedFile, FS.staticInit(), Module.FS_createPath = FS.createPath, Module.FS_createDataFile = FS.createDataFile, Module.FS_createPreloadedFile = FS.createPreloadedFile, Module.FS_unlink = FS.unlink, Module.FS_createLazyFile = FS.createLazyFile, Module.FS_createDevice = FS.createDevice, MEMFS.doesNotExistError = new FS.ErrnoError(44), MEMFS.doesNotExistError.stack = "<generic error, no stack>";
3624
+ var wasmImports = {
3625
+ __call_sighandler: ___call_sighandler,
3626
+ __heap_base: ___heap_base,
3627
+ __indirect_function_table: wasmTable,
3628
+ __memory_base: ___memory_base,
3629
+ __stack_pointer: ___stack_pointer,
3630
+ __syscall_chmod: ___syscall_chmod,
3631
+ __syscall_dup3: ___syscall_dup3,
3632
+ __syscall_faccessat: ___syscall_faccessat,
3633
+ __syscall_fadvise64: ___syscall_fadvise64,
3634
+ __syscall_fcntl64: ___syscall_fcntl64,
3635
+ __syscall_fstat64: ___syscall_fstat64,
3636
+ __syscall_getcwd: ___syscall_getcwd,
3637
+ __syscall_getdents64: ___syscall_getdents64,
3638
+ __syscall_ioctl: ___syscall_ioctl,
3639
+ __syscall_lstat64: ___syscall_lstat64,
3640
+ __syscall_mkdirat: ___syscall_mkdirat,
3641
+ __syscall_newfstatat: ___syscall_newfstatat,
3642
+ __syscall_openat: ___syscall_openat,
3643
+ __syscall_readlinkat: ___syscall_readlinkat,
3644
+ __syscall_rmdir: ___syscall_rmdir,
3645
+ __syscall_stat64: ___syscall_stat64,
3646
+ __syscall_symlinkat: ___syscall_symlinkat,
3647
+ __syscall_unlinkat: ___syscall_unlinkat,
3648
+ __table_base: ___table_base,
3649
+ _abort_js: __abort_js,
3650
+ _emscripten_runtime_keepalive_clear: __emscripten_runtime_keepalive_clear,
3651
+ _emscripten_throw_longjmp: __emscripten_throw_longjmp,
3652
+ _localtime_js: __localtime_js,
3653
+ _mktime_js: __mktime_js,
3654
+ _mmap_js: __mmap_js,
3655
+ _munmap_js: __munmap_js,
3656
+ _setitimer_js: __setitimer_js,
3657
+ _tzset_js: __tzset_js,
3658
+ emscripten_date_now: _emscripten_date_now,
3659
+ emscripten_exit_with_live_runtime: _emscripten_exit_with_live_runtime,
3660
+ emscripten_get_now: _emscripten_get_now,
3661
+ emscripten_resize_heap: _emscripten_resize_heap,
3662
+ environ_get: _environ_get,
3663
+ environ_sizes_get: _environ_sizes_get,
3664
+ exit: _exit,
3665
+ fd_close: _fd_close,
3666
+ fd_fdstat_get: _fd_fdstat_get,
3667
+ fd_read: _fd_read,
3668
+ fd_seek: _fd_seek,
3669
+ fd_sync: _fd_sync,
3670
+ fd_write: _fd_write,
3671
+ getaddrinfo: _getaddrinfo,
3672
+ invoke_ii,
3673
+ invoke_iiii,
3674
+ invoke_vii,
3675
+ memory: wasmMemory,
3676
+ proc_exit: _proc_exit
3677
+ }, wasmExports;
3678
+ createWasm();
3679
+ var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports.__wasm_call_ctors)(), _pgl_exit = Module._pgl_exit = (e) => (_pgl_exit = Module._pgl_exit = wasmExports.pgl_exit)(e), ___errno_location = Module.___errno_location = () => (___errno_location = Module.___errno_location = wasmExports.__errno_location)(), _fflush = Module._fflush = (e) => (_fflush = Module._fflush = wasmExports.fflush)(e), _fopen = Module._fopen = (e, r) => (_fopen = Module._fopen = wasmExports.fopen)(e, r), _fclose = Module._fclose = (e) => (_fclose = Module._fclose = wasmExports.fclose)(e), _pgl_popen = Module._pgl_popen = (e, r) => (_pgl_popen = Module._pgl_popen = wasmExports.pgl_popen)(e, r), _fputs = Module._fputs = (e, r) => (_fputs = Module._fputs = wasmExports.fputs)(e, r), _main = Module._main = (e, r) => (_main = Module._main = wasmExports.__main_argc_argv)(e, r), _pgl_atexit = Module._pgl_atexit = (e) => (_pgl_atexit = Module._pgl_atexit = wasmExports.pgl_atexit)(e), _pgl_geteuid = Module._pgl_geteuid = () => (_pgl_geteuid = Module._pgl_geteuid = wasmExports.pgl_geteuid)(), _pgl_system = Module._pgl_system = (e) => (_pgl_system = Module._pgl_system = wasmExports.pgl_system)(e), _malloc = (e) => (_malloc = wasmExports.malloc)(e), _calloc = (e, r) => (_calloc = wasmExports.calloc)(e, r), _pgl_setsockopt = Module._pgl_setsockopt = (e, r, t, n, o) => (_pgl_setsockopt = Module._pgl_setsockopt = wasmExports.pgl_setsockopt)(e, r, t, n, o), _pgl_connect = Module._pgl_connect = (e, r, t) => (_pgl_connect = Module._pgl_connect = wasmExports.pgl_connect)(e, r, t), _pgl_send = Module._pgl_send = (e, r, t, n) => (_pgl_send = Module._pgl_send = wasmExports.pgl_send)(e, r, t, n), _pgl_recv = Module._pgl_recv = (e, r, t, n) => (_pgl_recv = Module._pgl_recv = wasmExports.pgl_recv)(e, r, t, n), _fgets = Module._fgets = (e, r, t) => (_fgets = Module._fgets = wasmExports.fgets)(e, r, t), _pgl_getsockopt = Module._pgl_getsockopt = (e, r, t, n, o) => (_pgl_getsockopt = Module._pgl_getsockopt = wasmExports.pgl_getsockopt)(e, r, t, n, o), _pgl_getsockname = Module._pgl_getsockname = (e, r, t) => (_pgl_getsockname = Module._pgl_getsockname = wasmExports.pgl_getsockname)(e, r, t), _pgl_poll = Module._pgl_poll = (e, r, t) => (_pgl_poll = Module._pgl_poll = wasmExports.pgl_poll)(e, r, t), _clear_setitimer = Module._clear_setitimer = () => (_clear_setitimer = Module._clear_setitimer = wasmExports.clear_setitimer)(), _pgl_getPGliteExitStatus = Module._pgl_getPGliteExitStatus = () => (_pgl_getPGliteExitStatus = Module._pgl_getPGliteExitStatus = wasmExports.pgl_getPGliteExitStatus)(), _pgl_setPGliteExitStatus = Module._pgl_setPGliteExitStatus = (e) => (_pgl_setPGliteExitStatus = Module._pgl_setPGliteExitStatus = wasmExports.pgl_setPGliteExitStatus)(e), _pgl_longjmp = Module._pgl_longjmp = (e, r) => (_pgl_longjmp = Module._pgl_longjmp = wasmExports.pgl_longjmp)(e, r), _pgl_siglongjmp = Module._pgl_siglongjmp = (e, r) => (_pgl_siglongjmp = Module._pgl_siglongjmp = wasmExports.pgl_siglongjmp)(e, r), _pgl_set_system_fn = Module._pgl_set_system_fn = (e) => (_pgl_set_system_fn = Module._pgl_set_system_fn = wasmExports.pgl_set_system_fn)(e), _pgl_set_popen_fn = Module._pgl_set_popen_fn = (e) => (_pgl_set_popen_fn = Module._pgl_set_popen_fn = wasmExports.pgl_set_popen_fn)(e), _pgl_set_pclose_fn = Module._pgl_set_pclose_fn = (e) => (_pgl_set_pclose_fn = Module._pgl_set_pclose_fn = wasmExports.pgl_set_pclose_fn)(e), _pgl_pclose = Module._pgl_pclose = (e) => (_pgl_pclose = Module._pgl_pclose = wasmExports.pgl_pclose)(e), _pclose = Module._pclose = (e) => (_pclose = Module._pclose = wasmExports.pclose)(e), _pgl_getuid = Module._pgl_getuid = () => (_pgl_getuid = Module._pgl_getuid = wasmExports.pgl_getuid)(), _pgl_getpwuid = Module._pgl_getpwuid = (e) => (_pgl_getpwuid = Module._pgl_getpwuid = wasmExports.pgl_getpwuid)(e), _pgl_run_atexit_funcs = Module._pgl_run_atexit_funcs = () => (_pgl_run_atexit_funcs = Module._pgl_run_atexit_funcs = wasmExports.pgl_run_atexit_funcs)(), _pgl_freopen = Module._pgl_freopen = (e, r, t) => (_pgl_freopen = Module._pgl_freopen = wasmExports.pgl_freopen)(e, r, t), _pgl_shmget = Module._pgl_shmget = (e, r, t) => (_pgl_shmget = Module._pgl_shmget = wasmExports.pgl_shmget)(e, r, t), _pgl_shmat = Module._pgl_shmat = (e, r, t) => (_pgl_shmat = Module._pgl_shmat = wasmExports.pgl_shmat)(e, r, t), _pgl_shmdt = Module._pgl_shmdt = (e) => (_pgl_shmdt = Module._pgl_shmdt = wasmExports.pgl_shmdt)(e), _pgl_shmctl = Module._pgl_shmctl = (e, r, t) => (_pgl_shmctl = Module._pgl_shmctl = wasmExports.pgl_shmctl)(e, r, t), _pgl_munmap = Module._pgl_munmap = (e, r) => (_pgl_munmap = Module._pgl_munmap = wasmExports.pgl_munmap)(e, r), _pgl_set_rw_cbs = Module._pgl_set_rw_cbs = (e, r) => (_pgl_set_rw_cbs = Module._pgl_set_rw_cbs = wasmExports.pgl_set_rw_cbs)(e, r), _pgl_fcntl = Module._pgl_fcntl = (e, r, t) => (_pgl_fcntl = Module._pgl_fcntl = wasmExports.pgl_fcntl)(e, r, t), _strerror = Module._strerror = (e) => (_strerror = Module._strerror = wasmExports.strerror)(e), ___funcs_on_exit = () => (___funcs_on_exit = wasmExports.__funcs_on_exit)(), ___dl_seterr = (e, r) => (___dl_seterr = wasmExports.__dl_seterr)(e, r), _htonl = (e) => (_htonl = wasmExports.htonl)(e), _htons = (e) => (_htons = wasmExports.htons)(e), _emscripten_builtin_memalign = (e, r) => (_emscripten_builtin_memalign = wasmExports.emscripten_builtin_memalign)(e, r), _ntohs = (e) => (_ntohs = wasmExports.ntohs)(e), __emscripten_timeout = (e, r) => (__emscripten_timeout = wasmExports._emscripten_timeout)(e, r), _setThrew = (e, r) => (_setThrew = wasmExports.setThrew)(e, r), __emscripten_stack_restore = (e) => (__emscripten_stack_restore = wasmExports._emscripten_stack_restore)(e), __emscripten_stack_alloc = (e) => (__emscripten_stack_alloc = wasmExports._emscripten_stack_alloc)(e), _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports.emscripten_stack_get_current)(), ___wasm_apply_data_relocs = () => (___wasm_apply_data_relocs = wasmExports.__wasm_apply_data_relocs)();
3680
+ function invoke_iiii(e, r, t, n) {
3681
+ var o = stackSave();
3682
+ try {
3683
+ return getWasmTableEntry(e)(r, t, n);
3684
+ } catch (a) {
3685
+ if (stackRestore(o), a !== a + 0) throw a;
3686
+ _setThrew(1, 0);
3687
+ }
3688
+ }
3689
+ function invoke_ii(e, r) {
3690
+ var t = stackSave();
3691
+ try {
3692
+ return getWasmTableEntry(e)(r);
3693
+ } catch (n) {
3694
+ if (stackRestore(t), n !== n + 0) throw n;
3695
+ _setThrew(1, 0);
3696
+ }
3697
+ }
3698
+ function invoke_vii(e, r, t) {
3699
+ var n = stackSave();
3700
+ try {
3701
+ getWasmTableEntry(e)(r, t);
3702
+ } catch (o) {
3703
+ if (stackRestore(n), o !== o + 0) throw o;
3704
+ _setThrew(1, 0);
3705
+ }
3706
+ }
3707
+ Module.addRunDependency = addRunDependency, Module.removeRunDependency = removeRunDependency, Module.callMain = callMain, Module.ENV = ENV, Module.addFunction = addFunction, Module.removeFunction = removeFunction, Module.UTF8ToString = UTF8ToString, Module.stringToNewUTF8 = stringToNewUTF8, Module.stringToUTF8OnStack = stringToUTF8OnStack, Module.FS_createPreloadedFile = FS_createPreloadedFile, Module.FS_unlink = FS_unlink, Module.FS_createPath = FS_createPath, Module.FS_createDevice = FS_createDevice, Module.FS = FS, Module.FS_createDataFile = FS_createDataFile, Module.FS_createLazyFile = FS_createLazyFile, Module.MEMFS = MEMFS, Module.PROXYFS = PROXYFS;
3708
+ var calledRun;
3709
+ dependenciesFulfilled = function e() {
3710
+ calledRun || run(), calledRun || (dependenciesFulfilled = e);
3711
+ };
3712
+ function callMain(e = []) {
3713
+ var r = resolveGlobalSymbol("main").sym;
3714
+ if (r) {
3715
+ e.unshift(thisProgram);
3716
+ var t = e.length, n = stackAlloc((t + 1) * 4), o = n;
3717
+ e.forEach((s) => {
3718
+ HEAPU32[o >> 2] = stringToUTF8OnStack(s), o += 4;
3719
+ }), HEAPU32[o >> 2] = 0;
3720
+ try {
3721
+ var a = r(t, n);
3722
+ return exitJS(a, !0), a;
3723
+ } catch (s) {
3724
+ return handleException(s);
3725
+ }
3726
+ }
3727
+ }
3728
+ function run(e = arguments_) {
3729
+ if (runDependencies > 0 || (preRun(), runDependencies > 0)) return;
3730
+ function r() {
3731
+ calledRun || (calledRun = !0, Module.calledRun = !0, !ABORT && (initRuntime(), preMain(), readyPromiseResolve(Module), Module.onRuntimeInitialized?.(), shouldRunNow && callMain(e), postRun()));
3732
+ }
3733
+ Module.setStatus ? (Module.setStatus("Running..."), setTimeout(() => {
3734
+ setTimeout(() => Module.setStatus(""), 1), r();
3735
+ }, 1)) : r();
3736
+ }
3737
+ if (Module.preInit) for (typeof Module.preInit == "function" && (Module.preInit = [Module.preInit]); Module.preInit.length > 0;) Module.preInit.pop()();
3738
+ var shouldRunNow = !1;
3739
+ return Module.noInitialRun && (shouldRunNow = !1), run(), quit_ = (e, r) => {
3740
+ throw r;
3741
+ }, moduleRtn = readyPromise, moduleRtn;
3742
+ };
3743
+ })();
3744
+ var xe = Dr;
3745
+ var Ie = xe;
3746
+ u$1();
3747
+ var Be = "(?:" + [
3748
+ "\\|\\|",
3749
+ "\\&\\&",
3750
+ ";;",
3751
+ "\\|\\&",
3752
+ "\\<\\(",
3753
+ "\\<\\<\\<",
3754
+ ">>",
3755
+ ">\\&",
3756
+ "<\\&",
3757
+ "[&;()|<>]"
3758
+ ].join("|") + ")";
3759
+ var Ue = new RegExp("^" + Be + "$");
3760
+ var He = "|&;()<> \\t";
3761
+ var Nr = "\"((\\\\\"|[^\"])*?)\"";
3762
+ var xr = "'((\\\\'|[^'])*?)'";
3763
+ var Ir = /^#$/;
3764
+ var Le = "'";
3765
+ var Ce = "\"";
3766
+ var de = "$";
3767
+ var C = "";
3768
+ var Ur = 4294967296;
3769
+ for (let e = 0; e < 4; e++) C += (Ur * Math.random()).toString(16);
3770
+ var Hr = new RegExp("^" + C);
3771
+ function Lr(e, r) {
3772
+ let t = r.lastIndex, n = [], o;
3773
+ for (; o = r.exec(e);) n.push(o), r.lastIndex === o.index && (r.lastIndex += 1);
3774
+ return r.lastIndex = t, n;
3775
+ }
3776
+ function Cr(e, r, t) {
3777
+ let n = typeof e == "function" ? e(t) : e[t];
3778
+ return typeof n > "u" && t !== "" ? n = "" : typeof n > "u" && (n = "$"), typeof n == "object" ? r + C + JSON.stringify(n) + C : r + n;
3779
+ }
3780
+ function Br(e, r, t) {
3781
+ t || (t = {});
3782
+ let n = t.escape || "\\", o = "(\\" + n + `['"` + He + `]|[^\\s'"` + He + "])+", s = Lr(e, new RegExp(["(" + Be + ")", "(" + o + "|" + Nr + "|" + xr + ")+"].join("|"), "g"));
3783
+ if (s.length === 0) return [];
3784
+ r || (r = {});
3785
+ let l = !1;
3786
+ return s.map(function(u) {
3787
+ let d = u[0];
3788
+ if (!d || l) return;
3789
+ if (Ue.test(d)) return { op: d };
3790
+ let c = !1, p = !1, f = "", m = !1, _;
3791
+ function g() {
3792
+ _ += 1;
3793
+ let E, y, A = d.charAt(_);
3794
+ if (A === "{") {
3795
+ if (_ += 1, d.charAt(_) === "}") throw new Error("Bad substitution: " + d.slice(_ - 2, _ + 1));
3796
+ if (E = d.indexOf("}", _), E < 0) throw new Error("Bad substitution: " + d.slice(_));
3797
+ y = d.slice(_, E), _ = E;
3798
+ } else if (/[*@#?$!_-]/.test(A)) y = A, _ += 1;
3799
+ else {
3800
+ let S = d.slice(_), v = S.match(/[^\w\d_]/);
3801
+ v ? (y = S.slice(0, v.index), _ += v.index - 1) : (y = S, _ = d.length);
3802
+ }
3803
+ return Cr(r, "", y);
3804
+ }
3805
+ for (_ = 0; _ < d.length; _++) {
3806
+ let E = d.charAt(_);
3807
+ if (m = m || !c && (E === "*" || E === "?"), p) f += E, p = !1;
3808
+ else if (c) E === c ? c = !1 : c === Le ? f += E : E === n ? (_ += 1, E = d.charAt(_), E === Ce || E === n || E === de ? f += E : f += n + E) : E === de ? f += g() : f += E;
3809
+ else if (E === Ce || E === Le) c = E;
3810
+ else {
3811
+ if (Ue.test(E)) return { op: d };
3812
+ if (Ir.test(E)) {
3813
+ l = !0;
3814
+ let y = { comment: e.slice(u.index + _ + 1) };
3815
+ return f.length ? [f, y] : [y];
3816
+ } else E === n ? p = !0 : E === de ? f += g() : f += E;
3817
+ }
3818
+ }
3819
+ return m ? {
3820
+ op: "glob",
3821
+ pattern: f
3822
+ } : f;
3823
+ }).reduce(function(u, d) {
3824
+ return typeof d > "u" ? u : u.concat(d);
3825
+ }, []);
3826
+ }
3827
+ function ce(e, r, t) {
3828
+ let n = Br(e, r, t);
3829
+ return typeof r != "function" ? n : n.reduce(function(o, a) {
3830
+ if (typeof a == "object") return o.concat(a);
3831
+ let s = a.split(RegExp("(" + C + ".*?" + C + ")", "g"));
3832
+ return s.length === 1 ? o.concat(s[0]) : o.concat(s.filter(Boolean).map(function(l) {
3833
+ return Hr.test(l) ? JSON.parse(l.split(C)[1]) : l;
3834
+ }));
3835
+ }, []);
3836
+ }
3837
+ function zr(e, r) {
3838
+ if (!e) throw new Error(r ?? "Assertion failed");
3839
+ }
3840
+ var I = "/pglite";
3841
+ var B = I + "/data";
3842
+ var jr = I + "/icu";
3843
+ var Gr = I + "/bin/initdb";
3844
+ var wt = I + "/bin/postgres";
3845
+ var ze = I + "/pgstdout";
3846
+ var je = I + "/pgstdin";
3847
+ function G(e, ...r) {
3848
+ e && e > 0 && console.log("initdb: ", ...r);
3849
+ }
3850
+ async function Yr({ pg: e, debug: r, args: t, wasmModule: n }) {
3851
+ let o, a, s, l = !1, u = [], d = 0, c = -1, p$2 = -1, f = "", m = "", _ = (S) => {
3852
+ let v = S.shift();
3853
+ G(r, "initdb: firstArg", v), zr(v === "/pglite/bin/postgres", `trying to execute ${v}`), e.Module.HEAPU8.set(g), G(r, "executing pg main with", S);
3854
+ let h = e.callMain(S);
3855
+ return G(r, h), u = [], h;
3856
+ }, g = e.Module.HEAPU8.slice(), y = await Ie({
3857
+ arguments: t,
3858
+ noExitRuntime: !1,
3859
+ thisProgram: Gr,
3860
+ stdin: () => null,
3861
+ print: (S) => {
3862
+ m += S, G(r, "initdbout", S);
3863
+ },
3864
+ printErr: (S) => {
3865
+ f += S, G(r, "initdberr", S);
3866
+ },
3867
+ instantiateWasm: (S, v) => {
3868
+ let h = new URL("./initdb.wasm", import.meta.url);
3869
+ return p.instantiateWasm(S, h, n).then(({ instance: b, module: F }) => {
3870
+ v(b, F);
3871
+ }), {};
3872
+ },
3873
+ preRun: [
3874
+ (S) => {
3875
+ S.ENV.PGDATA = B, S.ENV.HOME = "/home/postgres", S.ENV.USER = "postgres", S.ENV.LOGNAME = "postgres", S.ENV.ICU_DATA = jr;
3876
+ },
3877
+ (S) => {
3878
+ S.onRuntimeInitialized = () => {
3879
+ o = S.addFunction((v) => (u = Ge(S.UTF8ToString(v)), _(u)), "pi"), S._pgl_set_system_fn(o), a = S.addFunction((v, h) => {
3880
+ let b = S.UTF8ToString(h);
3881
+ if (u = Ge(S.UTF8ToString(v)), b === "r") return d = _(u), c;
3882
+ if (b === "w") return l = !0, p$2;
3883
+ throw `Unexpected popen mode value ${b}`;
3884
+ }, "ppi"), S._pgl_set_popen_fn(a), s = S.addFunction((v) => v === c || v === p$2 ? (l && (l = !1, d = _(u)), d) : S._pclose(v), "pi"), S._pgl_set_pclose_fn(s);
3885
+ {
3886
+ let v = e.Module.stringToUTF8OnStack(je), h = e.Module.stringToUTF8OnStack("r");
3887
+ e.Module._pgl_freopen(v, h, 0);
3888
+ let b = e.Module.stringToUTF8OnStack(ze), F = e.Module.stringToUTF8OnStack("w");
3889
+ e.Module._pgl_freopen(b, F, 1);
3890
+ }
3891
+ {
3892
+ let v = S.stringToUTF8OnStack(ze), h = S.stringToUTF8OnStack("r");
3893
+ c = S._fopen(v, h);
3894
+ let b = S.stringToUTF8OnStack(je), F = S.stringToUTF8OnStack("w");
3895
+ p$2 = S._fopen(b, F);
3896
+ }
3897
+ };
3898
+ },
3899
+ (S) => {
3900
+ S.FS.mkdir(I), S.FS.mount(S.PROXYFS, {
3901
+ root: I,
3902
+ fs: e.Module.FS
3903
+ }, I);
3904
+ }
3905
+ ]
3906
+ });
3907
+ return G(r, "calling initdb.main with", t), {
3908
+ exitCode: y.callMain(t),
3909
+ stderr: f,
3910
+ stdout: m,
3911
+ dataFolder: B
3912
+ };
3913
+ }
3914
+ function Ge(e) {
3915
+ let r = [], t = ce(e);
3916
+ for (let n = 0; n < t.length; n++) {
3917
+ let o = t[n];
3918
+ if (typeof o == "object" && "op" in o) break;
3919
+ typeof o == "string" && r.push(o);
3920
+ }
3921
+ return r;
3922
+ }
3923
+ async function At({ pg: e, debug: r, args: t, wasmModule: n }) {
3924
+ return await Yr({
3925
+ pg: e,
3926
+ debug: r,
3927
+ args: [
3928
+ "--allow-group-access",
3929
+ "--encoding",
3930
+ "UTF8",
3931
+ "--locale=C.UTF-8",
3932
+ "--locale-provider=libc",
3933
+ "--auth=trust",
3934
+ ...t ?? []
3935
+ ],
3936
+ wasmModule: n
3937
+ });
3938
+ }
3939
+ var Ye = class {
3940
+ constructor(r) {
3941
+ this.dataDir = r;
3942
+ }
3943
+ async init(r, t) {
3944
+ return this.pg = r, { emscriptenOpts: t };
3945
+ }
3946
+ async syncToFs(r) {}
3947
+ async initialSyncFs() {}
3948
+ async closeFs() {}
3949
+ async dumpTar(r, t) {
3950
+ return ue(this.pg.Module.FS, B, r, t);
3951
+ }
3952
+ };
3953
+ var We = class {
3954
+ constructor(r, { debug: t = !1 } = {}) {
3955
+ this.dataDir = r, this.debug = t;
3956
+ }
3957
+ async syncToFs(r) {}
3958
+ async initialSyncFs() {}
3959
+ async closeFs() {}
3960
+ async dumpTar(r, t) {
3961
+ return ue(this.pg.Module.FS, B, r, t);
3962
+ }
3963
+ async init(r, t) {
3964
+ return this.pg = r, { emscriptenOpts: {
3965
+ ...t,
3966
+ preRun: [...t.preRun || [], (o) => {
3967
+ let a = Wr(o, this);
3968
+ o.FS.mkdir(B), o.FS.mount(a, {}, B);
3969
+ }]
3970
+ } };
3971
+ }
3972
+ };
3973
+ var Ve = {
3974
+ EBADF: 8,
3975
+ EBADFD: 127,
3976
+ EEXIST: 20,
3977
+ EINVAL: 28,
3978
+ EISDIR: 31,
3979
+ ENODEV: 43,
3980
+ ENOENT: 44,
3981
+ ENOTDIR: 54,
3982
+ ENOTEMPTY: 55
3983
+ };
3984
+ var Wr = (e, r) => {
3985
+ let t = e.FS, n = r.debug ? console.log : null, o = {
3986
+ tryFSOperation(a) {
3987
+ try {
3988
+ return a();
3989
+ } catch (s) {
3990
+ throw s.code ? s.code === "UNKNOWN" ? new t.ErrnoError(Ve.EINVAL) : new t.ErrnoError(s.code) : s;
3991
+ }
3992
+ },
3993
+ mount(a) {
3994
+ return o.createNode(null, "/", 16895, 0);
3995
+ },
3996
+ syncfs(a, s, l) {},
3997
+ createNode(a, s, l, u) {
3998
+ if (!t.isDir(l) && !t.isFile(l)) throw new t.ErrnoError(28);
3999
+ let d = t.createNode(a, s, l);
4000
+ return d.node_ops = o.node_ops, d.stream_ops = o.stream_ops, d;
4001
+ },
4002
+ getMode: function(a) {
4003
+ return n?.("getMode", a), o.tryFSOperation(() => r.lstat(a).mode);
4004
+ },
4005
+ realPath: function(a) {
4006
+ let s = [];
4007
+ for (; a.parent !== a;) s.push(a.name), a = a.parent;
4008
+ return s.push(a.mount.opts.root), s.reverse(), s.join("/");
4009
+ },
4010
+ node_ops: {
4011
+ getattr(a) {
4012
+ n?.("getattr", o.realPath(a));
4013
+ let s = o.realPath(a);
4014
+ return o.tryFSOperation(() => {
4015
+ let l = r.lstat(s);
4016
+ return {
4017
+ ...l,
4018
+ dev: 0,
4019
+ ino: a.id,
4020
+ nlink: 1,
4021
+ rdev: a.rdev,
4022
+ atime: new Date(l.atime),
4023
+ mtime: new Date(l.mtime),
4024
+ ctime: new Date(l.ctime)
4025
+ };
4026
+ });
4027
+ },
4028
+ setattr(a, s) {
4029
+ n?.("setattr", o.realPath(a), s);
4030
+ let l = o.realPath(a);
4031
+ o.tryFSOperation(() => {
4032
+ s.mode !== void 0 && r.chmod(l, s.mode), s.size !== void 0 && r.truncate(l, s.size), s.timestamp !== void 0 && r.utimes(l, s.timestamp, s.timestamp), s.size !== void 0 && r.truncate(l, s.size);
4033
+ });
4034
+ },
4035
+ lookup(a, s) {
4036
+ n?.("lookup", o.realPath(a), s);
4037
+ let l = [o.realPath(a), s].join("/"), u = o.getMode(l);
4038
+ return o.createNode(a, s, u);
4039
+ },
4040
+ mknod(a, s, l, u) {
4041
+ n?.("mknod", o.realPath(a), s, l, u);
4042
+ let d = o.createNode(a, s, l, u), c = o.realPath(d);
4043
+ return o.tryFSOperation(() => (t.isDir(d.mode) ? r.mkdir(c, { mode: l }) : r.writeFile(c, "", { mode: l }), d));
4044
+ },
4045
+ rename(a, s, l) {
4046
+ n?.("rename", o.realPath(a), o.realPath(s), l);
4047
+ let u = o.realPath(a), d = [o.realPath(s), l].join("/");
4048
+ o.tryFSOperation(() => {
4049
+ r.rename(u, d);
4050
+ }), a.name = l;
4051
+ },
4052
+ unlink(a, s) {
4053
+ n?.("unlink", o.realPath(a), s);
4054
+ let l = [o.realPath(a), s].join("/");
4055
+ try {
4056
+ r.unlink(l);
4057
+ } catch {}
4058
+ },
4059
+ rmdir(a, s) {
4060
+ n?.("rmdir", o.realPath(a), s);
4061
+ let l = [o.realPath(a), s].join("/");
4062
+ return o.tryFSOperation(() => {
4063
+ r.rmdir(l);
4064
+ });
4065
+ },
4066
+ readdir(a) {
4067
+ n?.("readdir", o.realPath(a));
4068
+ let s = o.realPath(a);
4069
+ return o.tryFSOperation(() => r.readdir(s));
4070
+ },
4071
+ symlink(a, s, l) {
4072
+ throw n?.("symlink", o.realPath(a), s, l), new t.ErrnoError(63);
4073
+ },
4074
+ readlink(a) {
4075
+ throw n?.("readlink", o.realPath(a)), new t.ErrnoError(63);
4076
+ }
4077
+ },
4078
+ stream_ops: {
4079
+ open(a) {
4080
+ n?.("open stream", o.realPath(a.node));
4081
+ let s = o.realPath(a.node);
4082
+ return o.tryFSOperation(() => {
4083
+ t.isFile(a.node.mode) && (a.shared.refcount = 1, a.nfd = r.open(s));
4084
+ });
4085
+ },
4086
+ close(a) {
4087
+ return n?.("close stream", o.realPath(a.node)), o.tryFSOperation(() => {
4088
+ t.isFile(a.node.mode) && a.nfd && --a.shared.refcount === 0 && r.close(a.nfd);
4089
+ });
4090
+ },
4091
+ dup(a) {
4092
+ n?.("dup stream", o.realPath(a.node)), a.shared.refcount++;
4093
+ },
4094
+ read(a, s, l, u, d) {
4095
+ return n?.("read stream", o.realPath(a.node), l, u, d), u === 0 ? 0 : o.tryFSOperation(() => r.read(a.nfd, s, l, u, d));
4096
+ },
4097
+ write(a, s, l, u, d) {
4098
+ return n?.("write stream", o.realPath(a.node), l, u, d), o.tryFSOperation(() => r.write(a.nfd, s.buffer, l, u, d));
4099
+ },
4100
+ llseek(a, s, l) {
4101
+ n?.("llseek stream", o.realPath(a.node), s, l);
4102
+ let u = s;
4103
+ if (l === 1 ? u += a.position : l === 2 && t.isFile(a.node.mode) && o.tryFSOperation(() => {
4104
+ let d = r.fstat(a.nfd);
4105
+ u += d.size;
4106
+ }), u < 0) throw new t.ErrnoError(28);
4107
+ return u;
4108
+ },
4109
+ mmap(a, s, l, u, d) {
4110
+ if (n?.("mmap stream", o.realPath(a.node), s, l, u, d), !t.isFile(a.node.mode)) throw new t.ErrnoError(Ve.ENODEV);
4111
+ let c = e.mmapAlloc(s);
4112
+ return o.stream_ops.read(a, e.HEAP8, c, s, l), {
4113
+ ptr: c,
4114
+ allocated: !0
4115
+ };
4116
+ },
4117
+ msync(a, s, l, u, d) {
4118
+ return n?.("msync stream", o.realPath(a.node), l, u, d), o.stream_ops.write(a, s, 0, u, l), 0;
4119
+ }
4120
+ }
4121
+ };
4122
+ return o;
4123
+ };
4124
+ //#endregion
4125
+ export { T as _, Re as a, u$1 as b, Ye as c, wt as d, p as f, R as g, P as h, I as i, at as l, L as m, B as n, Ve as o, F as p, Gr as r, We as s, At as t, jr as u, U as v, x, h$1 as y };