lecodes-cli 2.0.4 → 2.0.6

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 (74) hide show
  1. package/dist/index.js +3506 -1819
  2. package/package.json +20 -11
  3. package/runtime/sdk-types.json +1 -1
  4. package/runtime/web/VERSION.json +3 -3
  5. package/runtime/web/assets/creator-2d-CYlV77UR.js +1 -0
  6. package/runtime/web/assets/creator-2d-nG7rGEmq.wasm +0 -0
  7. package/runtime/web/assets/{creator-full-D2dSDdDj.wasm → creator-full-Cla1R8N6.wasm} +0 -0
  8. package/runtime/web/assets/creator-full-DmfoULcB.js +1 -0
  9. package/runtime/web/assets/creator-full.js-D8SMHuCt.symbols +8419 -0
  10. package/runtime/web/assets/creator-ui-CbtoaRlz.js +1 -0
  11. package/runtime/web/assets/creator-ui-DZaoxIpX.wasm +0 -0
  12. package/runtime/web/player.js +18 -18
  13. package/runtime/web-lite/assets/__vite-browser-external-BIHI7g3E.js +1 -0
  14. package/runtime/web-lite/assets/ar-BOdQ-wV4.js +1 -0
  15. package/runtime/web-lite/assets/basis-C64VHDVD.js +1 -0
  16. package/runtime/web-lite/assets/basis_transcoder-VXdx5NbI.wasm +0 -0
  17. package/runtime/web-lite/assets/{canvas-C6G_Pb2Q.js → canvas-WxiusXCB.js} +1 -1
  18. package/runtime/web-lite/assets/creatorAnim-BOwKr-C1.js +1 -0
  19. package/runtime/web-lite/assets/creatorParticles-DYlv4g1J.js +1 -0
  20. package/runtime/web-lite/assets/creatorPhysics-k7wL0kV1.js +1 -0
  21. package/runtime/web-lite/assets/draco-BiISTFcR.js +118 -0
  22. package/runtime/web-lite/assets/draco_decoder-DsQ12WqX.wasm +0 -0
  23. package/runtime/web-lite/assets/index-3CbsYWmo.js +2 -0
  24. package/runtime/web-lite/assets/neutral_ibl128-D-lzdkLN.ktx +0 -0
  25. package/runtime/web-lite/assets/{pager-O712dZv9.js → pager-Db5BY7FB.js} +1 -1
  26. package/runtime/web-lite/assets/plugins-CuEPHbHL.js +1 -0
  27. package/runtime/web-lite/assets/scene3d-CX7MAqmN.js +866 -0
  28. package/runtime/web-lite/assets/tween-BnWYhJ7P.js +1 -0
  29. package/runtime/web-lite/assets/video-BLj61nDx.js +1 -0
  30. package/runtime/web-lite/assets/{vlist-gEB8Sn0S.js → vlist-DrV2Q7P5.js} +1 -1
  31. package/runtime/web-lite/assets/worker-Caf-yYEI.js +2 -0
  32. package/runtime/web-lite/features.json +87 -4
  33. package/runtime/web-lite/lite.js +39 -10
  34. package/runtime/web-lite/plugins/camera/index-5XOM8eHl.js +1 -0
  35. package/runtime/web-lite/plugins/geolocation/index-BjTKN9_P.js +1 -0
  36. package/runtime/web-lite/plugins/map/_virtual_lecodes-half-CQBO044A.js +1 -0
  37. package/runtime/web-lite/plugins/map/_virtual_lecodes-half-resources-BYwqQkWQ.js +1 -0
  38. package/runtime/web-lite/plugins/map/assets/maplibre-gl-worker-DeQFNGa4.js +8 -0
  39. package/runtime/web-lite/plugins/map/index-BTBHQ264.js +1 -0
  40. package/runtime/web-lite/plugins/map/mapImpl-C6E1SwCS.js +823 -0
  41. package/runtime/web-lite/plugins/qr-scanner/index-CK_cYoJR.js +1 -0
  42. package/runtime/web-lite/plugins.json +8 -0
  43. package/src/commands/compile.ts +7 -1
  44. package/src/commands/desktop.ts +7 -4
  45. package/src/commands/dev.ts +4 -14
  46. package/src/commands/render.ts +6 -2
  47. package/src/commands/test.ts +25 -9
  48. package/src/commands/update/index.ts +12 -7
  49. package/src/commands/update/types.ts +1 -1
  50. package/src/compile/projectCompile.ts +48 -1
  51. package/src/dev/androidDev.ts +1 -1
  52. package/src/dev/backendWorker.ts +138 -0
  53. package/src/dev/devServer.ts +119 -115
  54. package/src/dev/localBackend.ts +214 -0
  55. package/src/dev/projectBackend.ts +199 -0
  56. package/src/dev/serve.ts +164 -0
  57. package/src/hosts/cmgenTool.ts +6 -9
  58. package/src/hosts/desktopRenderer.ts +6 -5
  59. package/src/hosts/liteRunner.ts +52 -9
  60. package/src/hosts/matcTool.ts +5 -22
  61. package/src/hosts/packageManager.ts +45 -0
  62. package/src/hosts/peerInstall.ts +8 -13
  63. package/src/hosts/peers.ts +2 -0
  64. package/src/hosts/releases.ts +6 -0
  65. package/src/index.ts +5 -1
  66. package/src/plugin/generate.ts +10 -6
  67. package/src/web/build.ts +20 -3
  68. package/runtime/web/assets/creator-2d-D9WKYM6h.js +0 -1
  69. package/runtime/web/assets/creator-2d-ukvEmNEp.wasm +0 -0
  70. package/runtime/web/assets/creator-full-BBXzQlhq.js +0 -1
  71. package/runtime/web/assets/creator-full.js-BYswGsqR.symbols +0 -8124
  72. package/runtime/web/assets/creator-ui-DIc92ion.wasm +0 -0
  73. package/runtime/web/assets/creator-ui-_1Z_AX2M.js +0 -1
  74. package/runtime/web-lite/assets/tween-t_XDy3Nd.js +0 -1
@@ -5,6 +5,7 @@ import { pathToFileURL } from "node:url"
5
5
  import pkg from "../../package.json"
6
6
  import { peerDirInPrefix, peersDir, peerVersionGlobal } from "./peers"
7
7
  import { archiveSpec } from "./archives"
8
+ import { commandLine, installGlobalArgv, installIntoArgv, ownManager, pickManager } from "./packageManager"
8
9
  import { CliError, c, confirm, log, note } from "../cli"
9
10
 
10
11
  /*
@@ -19,8 +20,9 @@ import { CliError, c, confirm, log, note } from "../cli"
19
20
  *
20
21
  * Consent: an interactive terminal is asked (default yes); `--yes` / `-y` on any command or
21
22
  * LECODES_YES=1 (CI) skips the question; a non-interactive run without either fails with the exact
22
- * command to run by hand. Installer: npm if on PATH, else bun; neither → a clear error (the standalone
23
- * binary on a machine without Node can't install packages — it says so).
23
+ * command to run by hand. Installer: the package manager this CLI was installed with (./packageManager.ts
24
+ * — bun for a `bun install -g` CLI, npm otherwise), else the other one; neither → a clear error (the
25
+ * standalone binary on a machine without Node can't install packages — it says so).
24
26
  *
25
27
  * Search order when a command needs a peer: the bare specifier (global / the workspace — what the
26
28
  * user installed by hand always wins) → the prefix → install into the prefix, then load from there.
@@ -48,12 +50,7 @@ export const peerSpec = async (name: string): Promise<string> => {
48
50
  /** Peers that only make sense together: the renderer's PNG output needs canvas next to it. */
49
51
  const companions = (name: string): string[] => name === "lecodes-headless" ? ["lecodes-headless", "@napi-rs/canvas"] : [name]
50
52
 
51
- const onPath = (cmd: string): boolean => {
52
- try { return spawnSync(cmd, ["--version"], { stdio: "ignore", shell: process.platform === "win32" }).status === 0 } catch { return false }
53
- }
54
- const pickInstaller = (): "npm" | "bun" | null => onPath("npm") ? "npm" : onPath("bun") ? "bun" : null
55
-
56
- const manualCommand = (dir: string, specs: string[]) => `npm install --prefix "${dir}" ${specs.join(" ")}`
53
+ const manualCommand = (dir: string, specs: string[]) => commandLine(ownManager(), installIntoArgv(ownManager(), dir, specs))
57
54
 
58
55
  /**
59
56
  * Install peers into the prefix. Asks for consent unless `opts.yes` / LECODES_YES / `--yes` say so;
@@ -86,14 +83,12 @@ export const installPeers = async (names: string[], why: string, opts: { yes?: b
86
83
  }
87
84
  }
88
85
 
89
- const tool = pickInstaller()
86
+ const tool = pickManager()
90
87
  if (!tool) throw new CliError(`Neither npm nor bun is on PATH, so ${names.join(" + ")} can't be installed automatically. Install one, or run on a machine with Node: ${manualCommand(dir, specsNow)}`)
91
88
 
92
89
  for (const name of ordered) {
93
90
  const spec = await peerSpec(name) // canvas's range comes from the renderer installed a step earlier
94
- const argv = tool === "npm"
95
- ? ["install", "--prefix", dir, "--no-audit", "--no-fund", "--loglevel=error", spec]
96
- : ["add", "--cwd", dir, spec]
91
+ const argv = installIntoArgv(tool, dir, [spec])
97
92
  note(`$ ${tool} ${argv.join(" ")}`)
98
93
  const r = spawnSync(tool, argv, { stdio: "inherit", shell: process.platform === "win32", timeout: 10 * 60_000 })
99
94
  if (r.error) throw new CliError(`${tool} could not run: ${r.error.message}`)
@@ -157,7 +152,7 @@ export async function loadPeer<T>(name: string, subpath: string | undefined, opt
157
152
  if (opts.install === false) return null
158
153
  // A global install of a DIFFERENT version than the probe expects would have resolved above; here
159
154
  // the peer is nowhere. (Globally installed but broken → the error above was not "not found".)
160
- if (peerVersionGlobal(name, spec) !== null) throw new CliError(`${name} is installed but "${spec}" can't be loaded from it — reinstall it: npm install -g ${await peerSpec(name)}`)
155
+ if (peerVersionGlobal(name, spec) !== null) throw new CliError(`${name} is installed but "${spec}" can't be loaded from it — reinstall it: ${commandLine(ownManager(), installGlobalArgv(ownManager(), [await peerSpec(name)]))}`)
161
156
  await installPeers(companions(name), opts.for)
162
157
  }
163
158
  return (await import(pathToFileURL(resolveEntry(dir, subpath)).href)) as T
@@ -23,6 +23,8 @@ export const OPTIONAL_PEERS: [name: string, probe: string][] = [
23
23
  ["lecodes-3d-editor", "lecodes-3d-editor/server"],
24
24
  ["lecodes-assets", "lecodes-assets/cli"],
25
25
  ["@napi-rs/canvas", "@napi-rs/canvas"],
26
+ ["marcidb-embedded", "marcidb-embedded"],
27
+ ["typescript", "typescript"],
26
28
  ]
27
29
 
28
30
  /** The CLI's own peer install dir. */
@@ -9,6 +9,7 @@ import { CliError } from "../cli"
9
9
  * publishes (releases/versions.json) + the sha256-verified archive download. Consumers:
10
10
  * - desktopRenderer.ts the LeCodes Desktop host behind `render --desktop` (product "desktop")
11
11
  * - matcTool.ts Filament's matc for local shader compile (product "matc")
12
+ * - cmgenTool.ts Filament's cmgen behind `lecodes assets sky` (product "cmgen")
12
13
  */
13
14
 
14
15
  // Straight off the S3 bucket, NOT the CDN: the manifest must never be stale (an updater reading
@@ -36,6 +37,11 @@ export const cachedArtifactSha = (dir: string): string | null => {
36
37
  export type ManifestVersion = { version: string, files: Record<string, ManifestFile> }
37
38
  type Manifest = { products?: Record<string, { latest: string, versions: ManifestVersion[] }> }
38
39
 
40
+ /** The platform key of a Mac's artifacts (desktop, matc, cmgen): release-macos.sh publishes both CPUs.
41
+ * process.arch is the CLI's own — under Rosetta an x64 node on Apple Silicon gets the Intel build,
42
+ * which that same Rosetta runs. */
43
+ export const macPlatformKey = (): string => (process.arch === "arm64" ? "macos-arm64" : "macos-x64")
44
+
39
45
  /** Positive when b is a newer semver than a (the manifest publisher's ordering, mirrored). */
40
46
  export const semverNewer = (a: string, b: string): number => {
41
47
  const pa = a.split(/[.-]/).map(Number), pb = b.split(/[.-]/).map(Number)
package/src/index.ts CHANGED
@@ -8,6 +8,7 @@ import { installedDesktopVersions, selectedDesktopVersion } from "./hosts/deskto
8
8
  import { installedMatcVersions } from "./hosts/matcTool"
9
9
  import { OPTIONAL_PEERS, peerSource, peerVersion } from "./hosts/peers"
10
10
  import { loadProjectEnv } from "./project/env"
11
+ import { BACKEND_WORKER_ARG } from "./dev/localBackend"
11
12
 
12
13
  /*
13
14
  * `lecodes` — the entry point. Everything a command is lives in src/commands (one file each, listed
@@ -56,7 +57,10 @@ const printVersion = (): void => {
56
57
  for (const [label, value] of rows) log(`${label.padEnd(width)} ${value}`)
57
58
  }
58
59
 
59
- runCli({
60
+ // The process a project's server bundle runs in under `lecodes dev` (src/dev/localBackend.ts): not a
61
+ // command — no argv of a user's, the dev server speaks to it over the IPC channel.
62
+ if (process.argv[2] === BACKEND_WORKER_ARG) await import("./dev/backendWorker")
63
+ else runCli({
60
64
  version: pkg.version ?? "unknown",
61
65
  groups: commandGroups({ install: STANDALONE && !INSTALLED }),
62
66
  footer: "Config lives in ~/.lecodes/config.json (override with LECODES_API / LECODES_TOKEN). A .env next to app.json is read at startup for LECODES_* / CREATOR_* keys (the shell's own environment wins; ./ paths resolve against the project; the file is never pushed) — e.g. LECODES_DESKTOP_EXE, LECODES_MATC, LECODES_TOKEN.",
@@ -6,7 +6,7 @@
6
6
 
7
7
  import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs"
8
8
  import { createRequire } from "node:module"
9
- import { basename, join, relative, resolve } from "node:path"
9
+ import { basename, join, relative, resolve, sep } from "node:path"
10
10
  import type tsModule from "typescript"
11
11
  import { CliError } from "../cli"
12
12
  import { ContractError, readContract, type Contract } from "./contract"
@@ -17,6 +17,10 @@ import { emitWeb } from "./emitWeb"
17
17
  import { lower } from "./lower"
18
18
  import { ManifestError, readManifestIfAny } from "./manifest"
19
19
 
20
+ // A path as the report shows it: relative to `from`, with `/` on every platform (a report is
21
+ // compared and pasted; `\` is Windows' own).
22
+ const shown = (from: string, to: string): string => relative(from, to).split(sep).join("/")
23
+
20
24
  export const CONTRACT_FILE = "contract.d.ts"
21
25
 
22
26
  export type PluginDir = { id: string, dir: string }
@@ -91,7 +95,7 @@ export const hostImports = (web: string): string[] => {
91
95
  if (!/\.(ts|tsx|js|mjs)$/.test(entry)) continue
92
96
  readFileSync(path, "utf8").split("\n").forEach((line, i) => {
93
97
  const m = /(?:from\s+|import\s*\(\s*|import\s+)["'](lecodes-[^"']*)["']/.exec(line)
94
- if (m && !/^\s*\/\//.test(line)) found.push(`${relative(join(web, ".."), path)}:${i + 1}: ${m[1]}`)
98
+ if (m && !/^\s*\/\//.test(line)) found.push(`${shown(join(web, ".."), path)}:${i + 1}: ${m[1]}`)
95
99
  })
96
100
  }
97
101
  }
@@ -137,7 +141,7 @@ export const generate = (path: string, opts: { check?: boolean } = {}): GenRepor
137
141
  const { contract, files } = generatePlugin(ts, plugin)
138
142
  const entry = { id: plugin.id, contract, written: [] as string[], stale: [] as string[], fresh: [] as string[] }
139
143
  for (const f of files) {
140
- const name = relative(root, f.file) || basename(f.file)
144
+ const name = shown(root, f.file) || basename(f.file)
141
145
  const current = existsSync(f.file) ? readFileSync(f.file, "utf8") : null
142
146
  if (current === f.text) { entry.fresh.push(name); continue }
143
147
  if (opts.check) { entry.stale.push(name); continue }
@@ -147,9 +151,9 @@ export const generate = (path: string, opts: { check?: boolean } = {}): GenRepor
147
151
  }
148
152
  report.plugins.push(entry)
149
153
  } catch (e) {
150
- if (e instanceof ContractError) report.failures.push(e.problems.map(p => `${relative(root, e.file) || e.file}:${p.line}: ${p.message}`).join("\n"))
151
- else if (e instanceof EmitError) report.failures.push(`${relative(root, join(plugin.dir, CONTRACT_FILE))}: ${e.message}`)
152
- else if (e instanceof ManifestError) report.failures.push(`${relative(root, e.file) || e.file}:\n${e.problems.map(p => ` ${p}`).join("\n")}`)
154
+ if (e instanceof ContractError) report.failures.push(e.problems.map(p => `${shown(root, e.file) || e.file}:${p.line}: ${p.message}`).join("\n"))
155
+ else if (e instanceof EmitError) report.failures.push(`${shown(root, join(plugin.dir, CONTRACT_FILE))}: ${e.message}`)
156
+ else if (e instanceof ManifestError) report.failures.push(`${shown(root, e.file) || e.file}:\n${e.problems.map(p => ` ${p}`).join("\n")}`)
153
157
  else throw e
154
158
  }
155
159
  }
package/src/web/build.ts CHANGED
@@ -18,8 +18,11 @@ import { CliError } from "../cli"
18
18
  * in parts by script (a browser fetches the ones a page shows; none
19
19
  * with app.json `web.font: "system"`)
20
20
  * and the FEATURES this app needs (the pager, the virtualized list, the
21
- * tweens, the canvas — a chunk each; the page's features.json says what
21
+ * tweens, the canvas, the 3D engine, its twins, AR — a chunk each with
22
+ * the files it fetches; the page's features.json says what
22
23
  * a bundle has to name for one to be needed, and whose files they are)
24
+ * plugins/<id>/… the web halves of the plugins the app lists, a folder each, and
25
+ * plugins.json where the half of each is
23
26
  * assets/<path> the project's assets — only the ones the bundle names
24
27
  * 404.html in `path` mode: the page again, for the hostings that answer an unknown
25
28
  * path with it
@@ -123,8 +126,8 @@ export const buildWeb = async (options: WebBuildOptions): Promise<WebBuildResult
123
126
  // differ (the line stays, for the source map's count of lines).
124
127
  const js = compiled.replace(/^\/\/ last-updated: .*$/m, "// last-updated: -")
125
128
  const header = js.slice(0, 2000)
126
- if (!/^\/\/ gl: disable/m.test(header) || /^\/\/ 2d: enable/m.test(header)) {
127
- warnings.push("This project uses 3D or 2D scenes, which Web Lite does not show yet: the page runs its UI, a scene's calls fail. (`lecodes dev --web` runs the whole app on the web player.)")
129
+ if (/^\/\/ 2d: enable/m.test(header)) {
130
+ warnings.push("This project uses 2D scenes, which Web Lite does not show yet: the page runs its UI and its 3D, a 2D scene's calls fail. (`lecodes dev --web` runs the whole app on the web player.)")
128
131
  }
129
132
 
130
133
  // ---- the folder ----------------------------------------------------------------------------------------------
@@ -142,6 +145,20 @@ export const buildWeb = async (options: WebBuildOptions): Promise<WebBuildResult
142
145
  }
143
146
  rmSync(table)
144
147
  }
148
+ // …and the plugins the app does not list (`// plugins:` of the bundle's header)
149
+ const pluginsTable = join(out, "plugins.json")
150
+ if (existsSync(pluginsTable)) {
151
+ const listed = new Set((/^\/\/ plugins: (.+)$/m.exec(header)?.[1] ?? "").split(";").map((id) => id.trim()).filter(Boolean))
152
+ const { plugins } = JSON.parse(readFileSync(pluginsTable, "utf8")) as { plugins: Record<string, string> }
153
+ const kept: Record<string, string> = {}
154
+ for (const id of Object.keys(plugins)) {
155
+ if (listed.has(id)) kept[id] = plugins[id]!
156
+ else rmSync(join(out, "plugins", id), { recursive: true, force: true })
157
+ }
158
+ for (const id of listed) if (!(id in plugins)) warnings.push(`The "${id}" plugin has no web half in this CLI: it is unsupported on the page (\`isSupported\` answers false).`)
159
+ if (Object.keys(kept).length > 0) writeFileSync(pluginsTable, JSON.stringify({ plugins: kept }, null, 2))
160
+ else { rmSync(pluginsTable); rmSync(join(out, "plugins"), { recursive: true, force: true }) }
161
+ }
145
162
 
146
163
  const bundle = `app.${createHash("sha256").update(js).digest("hex").slice(0, 10)}.js`
147
164
  writeFileSync(join(out, bundle), js)
@@ -1 +0,0 @@
1
- async function Rf(Ae={}){var t=Ae,w="./this.program",me=import.meta.url,H="";function Te(e){return t.locateFile?t.locateFile(e,H):H+e}var E;{try{H=new URL(".",me).href}catch{}E=async e=>{var r=await fetch(e,{credentials:"same-origin"});if(r.ok)return r.arrayBuffer();throw new Error(r.status+" : "+r.url)}}var ee=console.log.bind(console),T=console.error.bind(console),I,re=!1;class j{}function te(){var e=O.buffer;L=new Int8Array(e),ne=new Int16Array(e),t.HEAPU8=A=new Uint8Array(e),t.HEAPU16=ae=new Uint16Array(e),t.HEAP32=g=new Int32Array(e),t.HEAPU32=B=new Uint32Array(e),t.HEAPF32=C=new Float32Array(e),t.HEAPF64=ie=new Float64Array(e),z=new BigInt64Array(e),new BigUint64Array(e)}function Le(){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)Me(t.preRun.shift());ce(fe)}function pe(){G.te()}function De(){if(t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;)Ne(t.postRun.shift());ce(oe)}function D(e){var n;(n=t.onAbort)==null||n.call(t,e),e=`Aborted(${e})`,T(e),re=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw r}var X;function Fe(){return t.locateFile?Te("creator-2d.wasm"):new URL(""+new URL("creator-2d-ukvEmNEp.wasm",import.meta.url).href,import.meta.url).href}function Ie(e){if(e==X&&I)return new Uint8Array(I);throw"both async and sync fetching of the wasm failed"}async function Ve(e){if(!I)try{var r=await E(e);return new Uint8Array(r)}catch{}return Ie(e)}async function We(e,r){try{var n=await Ve(e),i=await WebAssembly.instantiate(n,r);return i}catch(a){T(`failed to asynchronously prepare wasm: ${a}`),D(a)}}async function Re(e,r,n){if(!e)try{var i=fetch(r,{credentials:"same-origin"}),a=await WebAssembly.instantiateStreaming(i,n);return a}catch(c){T(`wasm streaming compile failed: ${c}`),T("falling back to ArrayBuffer instantiation")}return We(r,n)}function Ge(){var e={a:tf};return e}async function Ue(){function e(c,l){return G=c.exports,rf(G),te(),G}function r(c){return e(c.instance)}var n=Ge();if(t.instantiateWasm)return new Promise((c,l)=>{t.instantiateWasm(n,(u,s)=>{c(e(u))})});X??(X=Fe());var i=await Re(I,X,n),a=r(i);return a}var ne,g,z,L,C,ie,ae,B,A,ce=e=>{for(;e.length>0;)e.shift()(t)},oe=[],Ne=e=>oe.push(e),fe=[],Me=e=>fe.push(e),y=e=>Se(e),S=()=>Be(),U=[],Oe=e=>{var r=new ue(e);return r.get_caught()||r.set_caught(!0),r.set_rethrown(!1),U.push(r),Pe(e)},$e=()=>{h(0,0);var e=U.pop();ke(e.excPtr)},le=e=>(setTempRet0(0),0),He=()=>le(),Xe=e=>le(),ze=()=>{U.length||D("no exception to throw");var e=U.at(-1);e.excPtr,e.set_rethrown(!0),e.set_caught(!1),D()};class ue{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){B[this.ptr+4>>2]=r}get_type(){return B[this.ptr+4>>2]}set_destructor(r){B[this.ptr+8>>2]=r}get_destructor(){return B[this.ptr+8>>2]}set_caught(r){r=r?1:0,L[this.ptr+12]=r}get_caught(){return L[this.ptr+12]!=0}set_rethrown(r){r=r?1:0,L[this.ptr+13]=r}get_rethrown(){return L[this.ptr+13]!=0}init(r,n){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(n)}set_adjusted_ptr(r){B[this.ptr+16>>2]=r}get_adjusted_ptr(){return B[this.ptr+16>>2]}}var Qe=(e,r,n)=>{var i=new ue(e);i.init(r,n),D()},Je=e=>{D()},Ke=()=>D(""),_e=()=>performance.now(),Ze=()=>Date.now(),qe=e=>e>=0&&e<=3;function Ye(e,r,n){if(!qe(e))return 28;var i;e===0?i=Ze():i=_e();var a=Math.round(i*1e3*1e3);return z[n>>3]=BigInt(a),0}var Q=[],xe=(e,r)=>{Q.length=0;for(var n;n=A[e++];){var i=n!=105;i&=n!=112,r+=i&&r%8?4:0,Q.push(n==112?B[r>>2]:n==106?z[r>>3]:n==105?g[r>>2]:ie[r>>3]),r+=i?8:4}return Q},we=(e,r,n)=>{var i=xe(r,n);return ja[e](...i)},Ee=(e,r,n)=>we(e,r,n),er=()=>2147483648,rr=(e,r)=>Math.ceil(e/r)*r,tr=e=>{var r=O.buffer.byteLength,n=(e-r+65535)/65536|0;try{return O.grow(n),te(),1}catch{}},nr=e=>{var r=A.length;e>>>=0;var n=er();if(e>n)return!1;for(var i=1;i<=4;i*=2){var a=r*(1+.2/i);a=Math.min(a,e+100663296);var c=Math.min(n,rr(Math.max(e,a),65536)),l=tr(c);if(l)return!0}return!1},f,ir=e=>!!(e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")),ar=e=>!!(e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")),cr=e=>!!(e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")),or=e=>!!(e.extClipControl=e.getExtension("EXT_clip_control")),fr=e=>!!(e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")),lr=e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")),se=e=>{var n;var r=["EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return((n=e.getSupportedExtensions())==null?void 0:n.filter(i=>r.includes(i)))??[]},ur=e=>{typeof MainLoop<"u"&&MainLoop.preMainLoop.push(e)},J=(e,r,n,i,a=A)=>{{n&&f.bufferSubData(e,r,a,i,n);return}},ve=globalThis.TextDecoder&&new TextDecoder,_r=(e,r,n,i)=>{var a=r+n;if(i)return a;for(;e[r]&&!(r>=a);)++r;return r},de=(e,r=0,n,i)=>{var a=_r(e,r,n,i);if(a-r>16&&e.buffer&&ve)return ve.decode(e.subarray(r,a));for(var c="";r<a;){var l=e[r++];if(!(l&128)){c+=String.fromCharCode(l);continue}var u=e[r++]&63;if((l&224)==192){c+=String.fromCharCode((l&31)<<6|u);continue}var s=e[r++]&63;if((l&240)==224?l=(l&15)<<12|u<<6|s:l=(l&7)<<18|u<<12|s<<6|e[r++]&63,l<65536)c+=String.fromCharCode(l);else{var v=l-65536;c+=String.fromCharCode(55296|v>>10,56320|v&1023)}}return c},_=(e,r,n)=>e?de(A,e,r,n):"",o={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{o.lastError||(o.lastError=e)},getNewId:e=>{for(var r=o.counter++,n=e.length;n<r;n++)e[n]=null;for(;e[r];)r=o.counter++;return r},genObject:(e,r,n,i)=>{for(var a=0;a<e;a++){var c=f[n](),l=c&&o.getNewId(i);c?(c.name=l,i[l]=c):o.recordError(1282),g[r+a*4>>2]=l}},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:e=>32-Math.clz32(e===0?0:e-1),generateTempBuffers:(e,r)=>{var n=o.log2ceilLookup(o.MAX_TEMP_BUFFER_SIZE);r.tempVertexBufferCounters1=[],r.tempVertexBufferCounters2=[],r.tempVertexBufferCounters1.length=r.tempVertexBufferCounters2.length=n+1,r.tempVertexBuffers1=[],r.tempVertexBuffers2=[],r.tempVertexBuffers1.length=r.tempVertexBuffers2.length=n+1,r.tempIndexBuffers=[],r.tempIndexBuffers.length=n+1;for(var i=0;i<=n;++i){r.tempIndexBuffers[i]=null,r.tempVertexBufferCounters1[i]=r.tempVertexBufferCounters2[i]=0;var a=o.numTempVertexBuffersPerSize;r.tempVertexBuffers1[i]=[],r.tempVertexBuffers2[i]=[];var c=r.tempVertexBuffers1[i],l=r.tempVertexBuffers2[i];c.length=l.length=a;for(var u=0;u<a;++u)c[u]=l[u]=null}if(e){r.tempQuadIndexBuffer=f.createBuffer(),r.GLctx.bindBuffer(34963,r.tempQuadIndexBuffer);for(var s=o.MAX_TEMP_BUFFER_SIZE>>1,v=new Uint16Array(s),i=0,d=0;v[i++]=d,!(i>=s||(v[i++]=d+1,i>=s)||(v[i++]=d+2,i>=s)||(v[i++]=d,i>=s)||(v[i++]=d+2,i>=s)||(v[i++]=d+3,i>=s));)d+=4;r.GLctx.bufferData(34963,v,35044),r.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:e=>{var r=o.log2ceilLookup(e),n=o.currentContext.tempVertexBuffers1[r],i=o.currentContext.tempVertexBufferCounters1[r];o.currentContext.tempVertexBufferCounters1[r]=o.currentContext.tempVertexBufferCounters1[r]+1&o.numTempVertexBuffersPerSize-1;var a=n[i];if(a)return a;var c=f.getParameter(34964);return n[i]=f.createBuffer(),f.bindBuffer(34962,n[i]),f.bufferData(34962,1<<r,35048),f.bindBuffer(34962,c),n[i]},getTempIndexBuffer:e=>{var r=o.log2ceilLookup(e),n=o.currentContext.tempIndexBuffers[r];if(n)return n;var i=f.getParameter(34965);return o.currentContext.tempIndexBuffers[r]=f.createBuffer(),f.bindBuffer(34963,o.currentContext.tempIndexBuffers[r]),f.bufferData(34963,1<<r,35048),f.bindBuffer(34963,i),o.currentContext.tempIndexBuffers[r]},newRenderingFrameStarted:()=>{if(o.currentContext){var e=o.currentContext.tempVertexBuffers1;o.currentContext.tempVertexBuffers1=o.currentContext.tempVertexBuffers2,o.currentContext.tempVertexBuffers2=e,e=o.currentContext.tempVertexBufferCounters1,o.currentContext.tempVertexBufferCounters1=o.currentContext.tempVertexBufferCounters2,o.currentContext.tempVertexBufferCounters2=e;for(var r=o.log2ceilLookup(o.MAX_TEMP_BUFFER_SIZE),n=0;n<=r;++n)o.currentContext.tempVertexBufferCounters1[n]=0}},getSource:(e,r,n,i)=>{for(var a="",c=0;c<r;++c){var l=i?B[i+c*4>>2]:void 0;a+=_(B[n+c*4>>2],l)}return a},calcBufLength:(e,r,n,i)=>{if(n>0)return i*n;var a=o.byteSizeByType[r-o.byteSizeByTypeRoot];return e*a*i},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:e=>{o.resetBufferBinding=!1;for(var r=0;r<o.currentContext.maxVertexAttribs;++r){var n=o.currentContext.clientBuffers[r];if(!(!n.clientside||!n.enabled)){o.resetBufferBinding=!0;var i=o.calcBufLength(n.size,n.type,n.stride,e),a=o.getTempVertexBuffer(i);f.bindBuffer(34962,a),J(34962,0,i,n.ptr),n.vertexAttribPointerAdaptor.call(f,r,n.size,n.type,n.normalized,n.stride,0)}}},postDrawHandleClientVertexAttribBindings:()=>{o.resetBufferBinding&&f.bindBuffer(34962,o.buffers[f.currentArrayBufferBinding])},createContext:(e,r)=>{if(!e.getContextSafariWebGL2Fixed){let a=function(c,l){var u=e.getContextSafariWebGL2Fixed(c,l);return c=="webgl"==u instanceof WebGLRenderingContext?u:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=a}var n=e.getContext("webgl2",r);if(!n)return 0;var i=o.registerContext(n,r);return i},registerContext:(e,r)=>{var n=o.getNewId(o.contexts),i={handle:n,attributes:r,version:r.majorVersion,GLctx:e};e.canvas&&(e.canvas.GLctxObject=i),o.contexts[n]=i,(typeof r.enableExtensionsByDefault>"u"||r.enableExtensionsByDefault)&&o.initExtensions(i),i.maxVertexAttribs=i.GLctx.getParameter(34921),i.clientBuffers=[];for(var a=0;a<i.maxVertexAttribs;a++)i.clientBuffers[a]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return o.generateTempBuffers(!1,i),n},makeContextCurrent:e=>{var r;return o.currentContext=o.contexts[e],t.ctx=f=(r=o.currentContext)==null?void 0:r.GLctx,!(e&&!f)},getContext:e=>o.contexts[e],deleteContext:e=>{var r;o.currentContext===o.contexts[e]&&(o.currentContext=null),typeof JSEvents=="object"&&JSEvents.removeAllHandlersOnTarget(o.contexts[e].GLctx.canvas),(r=o.contexts[e])!=null&&r.GLctx.canvas&&(o.contexts[e].GLctx.canvas.GLctxObject=void 0),o.contexts[e]=null},initExtensions:e=>{if(e||(e=o.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r=e.GLctx;lr(r),cr(r),or(r),fr(r),ir(r),ar(r),e.version>=2&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!r.disjointTimerQueryExt)&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query"));for(var n of se(r))!n.includes("lose_context")&&!n.includes("debug")&&r.getExtension(n)}}},sr=e=>{var r=o.makeContextCurrent(e);return r?0:-5},N={},vr=()=>w,V=()=>{var a;if(!V.strings){var e=(((a=globalThis.navigator)==null?void 0:a.language)??"C").replace("-","_")+".UTF-8",r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:vr()};for(var n in N)N[n]===void 0?delete r[n]:r[n]=N[n];var i=[];for(var n in r)i.push(`${n}=${r[n]}`);V.strings=i}return V.strings},dr=(e,r,n,i)=>{if(!(i>0))return 0;for(var a=n,c=n+i-1,l=0;l<e.length;++l){var u=e.codePointAt(l);if(u<=127){if(n>=c)break;r[n++]=u}else if(u<=2047){if(n+1>=c)break;r[n++]=192|u>>6,r[n++]=128|u&63}else if(u<=65535){if(n+2>=c)break;r[n++]=224|u>>12,r[n++]=128|u>>6&63,r[n++]=128|u&63}else{if(n+3>=c)break;r[n++]=240|u>>18,r[n++]=128|u>>12&63,r[n++]=128|u>>6&63,r[n++]=128|u&63,l++}}return r[n]=0,n-a},W=(e,r,n)=>dr(e,A,r,n),gr=(e,r)=>{var n=0,i=0;for(var a of V()){var c=r+n;B[e+i>>2]=c,n+=W(a,c,1/0)+1,i+=4}return 0},K=e=>{for(var r=0,n=0;n<e.length;++n){var i=e.charCodeAt(n);i<=127?r++:i<=2047?r+=2:i>=55296&&i<=57343?(r+=4,++n):r+=3}return r},br=(e,r)=>{var n=V();B[e>>2]=n.length;var i=0;for(var a of n)i+=K(a)+1;return B[r>>2]=i,0},hr=e=>52;function jr(e,r,n,i){return 70}var yr=[null,[],[]],Sr=(e,r)=>{var n=yr[e];r===0||r===10?((e===1?ee:T)(de(n)),n.length=0):n.push(r)},Br=(e,r,n,i)=>{for(var a=0,c=0;c<n;c++){var l=B[r>>2],u=B[r+4>>2];r+=8;for(var s=0;s<u;s++)Sr(e,A[l+s]);a+=u}return B[i>>2]=a,0},kr=e=>f.activeTexture(e),Pr=kr,Cr=(e,r)=>{f.attachShader(o.programs[e],o.shaders[r])},Ar=Cr,mr=(e,r)=>{if(r&&!o.buffers[r]){var n=f.createBuffer();n.name=r,o.buffers[r]=n}e==34962?f.currentArrayBufferBinding=r:e==34963&&(f.currentElementArrayBufferBinding=r),e==35051?f.currentPixelPackBufferBinding=r:e==35052&&(f.currentPixelUnpackBufferBinding=r),f.bindBuffer(e,o.buffers[r])},Tr=mr,Lr=(e,r,n)=>{f.bindBufferBase(e,r,o.buffers[n])},pr=Lr,Dr=(e,r,n,i,a)=>{f.bindBufferRange(e,r,o.buffers[n],i,a)},Fr=Dr,Ir=(e,r)=>{f.bindFramebuffer(e,o.framebuffers[r])},Vr=Ir,Wr=(e,r)=>{f.bindRenderbuffer(e,o.renderbuffers[r])},Rr=Wr,Gr=(e,r)=>{f.bindSampler(e,o.samplers[r])},Ur=Gr,Nr=(e,r)=>{f.bindTexture(e,o.textures[r])},Mr=Nr,Or=e=>{f.bindVertexArray(o.vaos[e]);var r=f.getParameter(34965);f.currentElementArrayBufferBinding=r?r.name|0:0},$r=Or,Hr=(e,r,n,i)=>f.blendColor(e,r,n,i),Xr=Hr,zr=(e,r)=>f.blendEquationSeparate(e,r),Qr=zr,Jr=(e,r,n,i)=>f.blendFuncSeparate(e,r,n,i),Kr=Jr,Zr=(e,r,n,i,a,c,l,u,s,v)=>f.blitFramebuffer(e,r,n,i,a,c,l,u,s,v),qr=Zr,Yr=(e,r,n,i)=>{{n&&r?f.bufferData(e,A,i,n,r):f.bufferData(e,r,i);return}},xr=Yr,wr=(e,r,n,i)=>J(e,r,n,i),Er=wr,et=e=>f.checkFramebufferStatus(e),rt=et,tt=(e,r,n,i)=>f.clearBufferfi(e,r,n,i),nt=tt,it=(e,r,n)=>{f.clearBufferfv(e,r,C,n>>2)},at=it,ct=(e,r,n)=>{f.clearBufferiv(e,r,g,n>>2)},ot=ct,ft=(e,r,n,i)=>{f.colorMask(!!e,!!r,!!n,!!i)},lt=ft,ut=e=>{f.compileShader(o.shaders[e])},_t=ut,st=(e,r,n,i,a,c,l,u,s)=>{{if(f.currentPixelUnpackBufferBinding||!u){f.compressedTexSubImage2D(e,r,n,i,a,c,l,u,s);return}f.compressedTexSubImage2D(e,r,n,i,a,c,l,A,s,u);return}},vt=st,dt=(e,r,n,i,a,c,l,u,s,v,d)=>{f.currentPixelUnpackBufferBinding?f.compressedTexSubImage3D(e,r,n,i,a,c,l,u,s,v,d):f.compressedTexSubImage3D(e,r,n,i,a,c,l,u,s,A,d,v)},gt=dt,bt=()=>{var e=o.getNewId(o.programs),r=f.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,o.programs[e]=r,e},ht=bt,jt=e=>{var r=o.getNewId(o.shaders);return o.shaders[r]=f.createShader(e),r},yt=jt,St=e=>f.cullFace(e),Bt=St,kt=(e,r)=>{for(var n=0;n<e;n++){var i=g[r+n*4>>2],a=o.buffers[i];a&&(f.deleteBuffer(a),a.name=0,o.buffers[i]=null,i==f.currentArrayBufferBinding&&(f.currentArrayBufferBinding=0),i==f.currentElementArrayBufferBinding&&(f.currentElementArrayBufferBinding=0),i==f.currentPixelPackBufferBinding&&(f.currentPixelPackBufferBinding=0),i==f.currentPixelUnpackBufferBinding&&(f.currentPixelUnpackBufferBinding=0))}},Pt=kt,Ct=(e,r)=>{for(var n=0;n<e;++n){var i=g[r+n*4>>2],a=o.framebuffers[i];a&&(f.deleteFramebuffer(a),a.name=0,o.framebuffers[i]=null)}},At=Ct,mt=e=>{if(e){var r=o.programs[e];if(!r){o.recordError(1281);return}f.deleteProgram(r),r.name=0,o.programs[e]=null}},Tt=mt,Lt=(e,r)=>{for(var n=0;n<e;n++){var i=g[r+n*4>>2],a=o.renderbuffers[i];a&&(f.deleteRenderbuffer(a),a.name=0,o.renderbuffers[i]=null)}},pt=Lt,Dt=(e,r)=>{for(var n=0;n<e;n++){var i=g[r+n*4>>2],a=o.samplers[i];a&&(f.deleteSampler(a),a.name=0,o.samplers[i]=null)}},Ft=Dt,It=e=>{if(e){var r=o.shaders[e];if(!r){o.recordError(1281);return}f.deleteShader(r),o.shaders[e]=null}},Vt=It,Wt=(e,r)=>{for(var n=0;n<e;n++){var i=g[r+n*4>>2],a=o.textures[i];a&&(f.deleteTexture(a),a.name=0,o.textures[i]=null)}},Rt=Wt,Gt=(e,r)=>{for(var n=0;n<e;n++){var i=g[r+n*4>>2];f.deleteVertexArray(o.vaos[i]),o.vaos[i]=null}},Ut=Gt,Nt=e=>f.depthFunc(e),Mt=Nt,Ot=e=>{f.depthMask(!!e)},$t=Ot,Ht=e=>f.disable(e),Xt=Ht,zt=e=>{var r=o.currentContext.clientBuffers[e];r.enabled=!1,f.disableVertexAttribArray(e)},Qt=zt,Jt=(e,r,n)=>{o.preDrawHandleClientVertexAttribBindings(r+n),f.drawArrays(e,r,n),o.postDrawHandleClientVertexAttribBindings()},Kt=Jt,Zt=(e,r,n,i)=>{f.drawArraysInstanced(e,r,n,i)},qt=Zt,Z=[],Yt=(e,r)=>{for(var n=Z[e],i=0;i<e;i++)n[i]=g[r+i*4>>2];f.drawBuffers(n)},xt=Yt,wt=(e,r,n,i)=>{var a,c=0;if(!f.currentElementArrayBufferBinding){var l=o.calcBufLength(1,n,0,r);if(a=o.getTempIndexBuffer(l),f.bindBuffer(34963,a),J(34963,0,l,i),r>0)for(var u=0;u<o.currentContext.maxVertexAttribs;++u){var s=o.currentContext.clientBuffers[u];if(s.clientside&&s.enabled){let v;switch(n){case 5121:v=Uint8Array;break;case 5123:v=Uint16Array;break;case 5125:v=Uint32Array;break;default:o.recordError(1282);return}c=new v(A.buffer,i,r).reduce((d,k)=>Math.max(d,k))+1;break}}i=0}o.preDrawHandleClientVertexAttribBindings(c),f.drawElements(e,r,n,i),o.postDrawHandleClientVertexAttribBindings(r),f.currentElementArrayBufferBinding||f.bindBuffer(34963,null)},Et=wt,en=(e,r,n,i,a)=>{f.drawElementsInstanced(e,r,n,i,a)},rn=en,tn=e=>f.enable(e),nn=tn,an=e=>{var r=o.currentContext.clientBuffers[e];r.enabled=!0,f.enableVertexAttribArray(e)},cn=an,on=(e,r,n,i)=>{f.framebufferRenderbuffer(e,r,n,o.renderbuffers[i])},fn=on,ln=(e,r,n,i,a)=>{f.framebufferTexture2D(e,r,n,o.textures[i],a)},un=ln,_n=(e,r,n,i,a)=>{f.framebufferTextureLayer(e,r,o.textures[n],i,a)},sn=_n,vn=e=>f.frontFace(e),dn=vn,gn=(e,r)=>{o.genObject(e,r,"createBuffer",o.buffers)},bn=gn,hn=(e,r)=>{o.genObject(e,r,"createFramebuffer",o.framebuffers)},jn=hn,yn=(e,r)=>{o.genObject(e,r,"createRenderbuffer",o.renderbuffers)},Sn=yn,Bn=(e,r)=>{o.genObject(e,r,"createSampler",o.samplers)},kn=Bn,Pn=(e,r)=>{o.genObject(e,r,"createTexture",o.textures)},Cn=Pn,An=(e,r)=>{o.genObject(e,r,"createVertexArray",o.vaos)},mn=An,Tn=(e,r)=>f.getAttribLocation(o.programs[e],_(r)),Ln=Tn,pn=(e,r)=>{B[e>>2]=r;var n=B[e>>2];B[e+4>>2]=(r-n)/4294967296},ge=()=>{var e=se(f);return e=e.concat(e.map(r=>"GL_"+r)),e},Dn=(e,r,n)=>{if(!r){o.recordError(1281);return}var i=void 0;switch(e){case 36346:i=1;break;case 36344:return;case 34814:case 36345:i=0;break;case 34466:var a=f.getParameter(34467);i=a?a.length:0;break;case 33309:if(o.currentContext.version<2){o.recordError(1282);return}i=ge().length;break;case 33307:case 33308:if(o.currentContext.version<2){o.recordError(1280);return}i=e==33307?3:0;break}if(i===void 0){var c=f.getParameter(e);switch(typeof c){case"number":i=c;break;case"boolean":i=c?1:0;break;case"string":o.recordError(1280);return;case"object":if(c===null)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{i=0;break}default:{o.recordError(1280);return}}else if(c instanceof Float32Array||c instanceof Uint32Array||c instanceof Int32Array||c instanceof Array){for(var l=0;l<c.length;++l)switch(n){case 0:g[r+l*4>>2]=c[l];break;case 2:C[r+l*4>>2]=c[l];break;case 4:L[r+l]=c[l]?1:0;break}return}else try{i=c.name|0}catch(u){o.recordError(1280),T(`GL_INVALID_ENUM in glGet${n}v: Unknown object returned from WebGL getParameter(${e})! (error: ${u})`);return}break;default:o.recordError(1280),T(`GL_INVALID_ENUM in glGet${n}v: Native code calling glGet${n}v(${e}) and it returns ${c} of type ${typeof c}!`);return}}switch(n){case 1:pn(r,i);break;case 0:g[r>>2]=i;break;case 2:C[r>>2]=i;break;case 4:L[r]=i?1:0;break}},Fn=(e,r)=>Dn(e,r,0),In=Fn,Vn=(e,r,n,i)=>{var a=f.getProgramInfoLog(o.programs[e]);a===null&&(a="(unknown error)");var c=r>0&&i?W(a,i,r):0;n&&(g[n>>2]=c)},Wn=Vn,Rn=(e,r,n)=>{if(!n){o.recordError(1281);return}if(e>=o.counter){o.recordError(1281);return}if(e=o.programs[e],r==35716){var i=f.getProgramInfoLog(e);i===null&&(i="(unknown error)"),g[n>>2]=i.length+1}else if(r==35719){if(!e.maxUniformLength)for(var a=f.getProgramParameter(e,35718),c=0;c<a;++c)e.maxUniformLength=Math.max(e.maxUniformLength,f.getActiveUniform(e,c).name.length+1);g[n>>2]=e.maxUniformLength}else if(r==35722){if(!e.maxAttributeLength)for(var l=f.getProgramParameter(e,35721),c=0;c<l;++c)e.maxAttributeLength=Math.max(e.maxAttributeLength,f.getActiveAttrib(e,c).name.length+1);g[n>>2]=e.maxAttributeLength}else if(r==35381){if(!e.maxUniformBlockNameLength)for(var u=f.getProgramParameter(e,35382),c=0;c<u;++c)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,f.getActiveUniformBlockName(e,c).length+1);g[n>>2]=e.maxUniformBlockNameLength}else g[n>>2]=f.getProgramParameter(e,r)},Gn=Rn,Un=(e,r,n,i)=>{var a=f.getShaderInfoLog(o.shaders[e]);a===null&&(a="(unknown error)");var c=r>0&&i?W(a,i,r):0;n&&(g[n>>2]=c)},Nn=Un,Mn=(e,r,n)=>{if(!n){o.recordError(1281);return}if(r==35716){var i=f.getShaderInfoLog(o.shaders[e]);i===null&&(i="(unknown error)");var a=i?i.length+1:0;g[n>>2]=a}else if(r==35720){var c=f.getShaderSource(o.shaders[e]),l=c?c.length+1:0;g[n>>2]=l}else g[n>>2]=f.getShaderParameter(o.shaders[e],r)},On=Mn,F=e=>{var r=K(e)+1,n=ye(r);return n&&W(e,n,r),n},$n=(e,r)=>{if(o.currentContext.version<2)return o.recordError(1282),0;var n=o.stringiCache[e];if(n)return r<0||r>=n.length?(o.recordError(1281),0):n[r];switch(e){case 7939:var i=ge().map(F);return n=o.stringiCache[e]=i,r<0||r>=n.length?(o.recordError(1281),0):n[r];default:return o.recordError(1280),0}},Hn=$n,Xn=e=>parseInt(e),be=e=>e.slice(-1)=="]"&&e.lastIndexOf("["),zn=e=>{var r=e.uniformLocsById,n=e.uniformSizeAndIdsByName,i,a;if(!r){e.uniformLocsById=r={},e.uniformArrayNamesById={};var c=f.getProgramParameter(e,35718);for(i=0;i<c;++i){var l=f.getActiveUniform(e,i),u=l.name,s=l.size,v=be(u),d=v>0?u.slice(0,v):u,k=e.uniformIdCounter;for(e.uniformIdCounter+=s,n[d]=[s,k],a=0;a<s;++a)r[k]=a,e.uniformArrayNamesById[k++]=d}}},Qn=(e,r)=>{if(r=_(r),e=o.programs[e]){zn(e);var n=e.uniformLocsById,i=0,a=r,c=be(r);c>0&&(i=Xn(r.slice(c+1))>>>0,a=r.slice(0,c));var l=e.uniformSizeAndIdsByName[a];if(l&&i<l[0]&&(i+=l[1],n[i]=n[i]||f.getUniformLocation(e,r)))return i}else o.recordError(1281);return-1},Jn=Qn,Kn=(e,r,n)=>{for(var i=Z[r],a=0;a<r;a++)i[a]=g[n+a*4>>2];f.invalidateFramebuffer(e,i)},Zn=Kn,qn=e=>{e=o.programs[e],f.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},Yn=qn,xn=(e,r)=>{e==3317?o.unpackAlignment=r:e==3314&&(o.unpackRowLength=r),f.pixelStorei(e,r)},wn=xn,En=(e,r)=>f.polygonOffset(e,r),ei=En,ri=e=>f.readBuffer(e),ti=ri,ni=(e,r,n,i,a)=>f.renderbufferStorageMultisample(e,r,n,i,a),ii=ni,ai=(e,r,n)=>{f.samplerParameterf(o.samplers[e],r,n)},ci=ai,oi=(e,r,n)=>{f.samplerParameteri(o.samplers[e],r,n)},fi=oi,li=(e,r,n,i)=>f.scissor(e,r,n,i),ui=li,_i=(e,r,n,i)=>{var a=o.getSource(e,r,n,i);f.shaderSource(o.shaders[e],a)},si=_i,vi=(e,r,n)=>f.stencilFunc(e,r,n),di=vi,gi=(e,r,n,i)=>f.stencilFuncSeparate(e,r,n,i),bi=gi,hi=e=>f.stencilMask(e),ji=hi,yi=(e,r,n)=>f.stencilOp(e,r,n),Si=yi,Bi=(e,r,n,i)=>f.stencilOpSeparate(e,r,n,i),ki=Bi,Pi=(e,r,n,i,a)=>f.texStorage2D(e,r,n,i,a),Ci=Pi,Ai=(e,r,n,i,a,c)=>f.texStorage3D(e,r,n,i,a,c),mi=Ai,Ti=(e,r,n)=>{function i(l,u){return l+u-1&-u}var a=(o.unpackRowLength||e)*n,c=i(a,o.unpackAlignment);return r*c},Li=e=>{var r={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return r[e-6402]||1},q=e=>(e-=5120,e==0?L:e==1?A:e==2?ne:e==4?g:e==6?C:e==5||e==28922||e==28520||e==30779||e==30782?B:ae),M=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),pi=(e,r,n,i,a)=>{var c=q(e),l=Li(r)*c.BYTES_PER_ELEMENT,u=Ti(n,i,l);return c.subarray(M(a,c),M(a+u,c))},Di=(e,r,n,i,a,c,l,u,s)=>{{if(f.currentPixelUnpackBufferBinding){f.texSubImage2D(e,r,n,i,a,c,l,u,s);return}if(s){var v=q(u);f.texSubImage2D(e,r,n,i,a,c,l,u,v,M(s,v));return}}var d=s?pi(u,l,a,c,s):null;f.texSubImage2D(e,r,n,i,a,c,l,u,d)},Fi=Di,Ii=(e,r,n,i,a,c,l,u,s,v,d)=>{if(f.currentPixelUnpackBufferBinding)f.texSubImage3D(e,r,n,i,a,c,l,u,s,v,d);else if(d){var k=q(v);f.texSubImage3D(e,r,n,i,a,c,l,u,s,v,k,M(d,k))}else f.texSubImage3D(e,r,n,i,a,c,l,u,s,v,null)},Vi=Ii,Wi=(e,r)=>{if(e){var n=e.uniformLocsById[r];return typeof n=="number"&&(e.uniformLocsById[r]=n=f.getUniformLocation(e,e.uniformArrayNamesById[r]+(n>0?`[${n}]`:""))),n}else o.recordError(1282)},m=e=>Wi(f.currentProgram,e),Ri=(e,r,n)=>{r&&f.uniform1fv(m(e),C,n>>2,r)},Gi=Ri,Ui=(e,r)=>{f.uniform1i(m(e),r)},Ni=Ui,Mi=(e,r,n)=>{r&&f.uniform1iv(m(e),g,n>>2,r)},Oi=Mi,$i=(e,r,n)=>{r&&f.uniform2fv(m(e),C,n>>2,r*2)},Hi=$i,Xi=(e,r,n)=>{r&&f.uniform2iv(m(e),g,n>>2,r*2)},zi=Xi,Qi=(e,r,n)=>{r&&f.uniform3fv(m(e),C,n>>2,r*3)},Ji=Qi,Ki=(e,r,n)=>{r&&f.uniform3iv(m(e),g,n>>2,r*3)},Zi=Ki,qi=(e,r,n)=>{r&&f.uniform4fv(m(e),C,n>>2,r*4)},Yi=qi,xi=(e,r,n)=>{r&&f.uniform4iv(m(e),g,n>>2,r*4)},wi=xi,Ei=(e,r,n,i)=>{r&&f.uniformMatrix4fv(m(e),!!n,C,i>>2,r*16)},ea=Ei,ra=e=>{e=o.programs[e],f.useProgram(e),f.currentProgram=e},ta=ra,na=(e,r)=>{f.vertexAttribDivisor(e,r)},ia=na,aa=(e,r,n,i,a)=>{var c=o.currentContext.clientBuffers[e];if(!f.currentArrayBufferBinding){c.size=r,c.type=n,c.normalized=!1,c.stride=i,c.ptr=a,c.clientside=!0,c.vertexAttribPointerAdaptor=function(l,u,s,v,d,k){this.vertexAttribIPointer(l,u,s,d,k)};return}c.clientside=!1,f.vertexAttribIPointer(e,r,n,i,a)},ca=aa,oa=(e,r,n,i,a,c)=>{var l=o.currentContext.clientBuffers[e];if(!f.currentArrayBufferBinding){l.size=r,l.type=n,l.normalized=i,l.stride=a,l.ptr=c,l.clientside=!0,l.vertexAttribPointerAdaptor=function(u,s,v,d,k,P){this.vertexAttribPointer(u,s,v,d,k,P)};return}l.clientside=!1,f.vertexAttribPointer(e,r,n,!!i,a,c)},fa=oa,la=(e,r,n,i)=>f.viewport(e,r,n,i),ua=la,b=e=>R.get(e),_a=(e,r)=>{if(p)for(var n=e;n<e+r;n++){var i=b(n);i&&p.set(i,n)}},p,sa=e=>(p||(p=new WeakMap,_a(0,R.length)),p.get(e)||0),Y=[],va=()=>Y.length?Y.pop():R.grow(1),x=(e,r)=>R.set(e,r),he=e=>{const r=e.length;return[r%128|128,r>>7,...e]},da={i:127,p:127,j:126,f:125,d:124,e:111},je=e=>he(Array.from(e,r=>{var n=da[r];return n})),ga=(e,r)=>{var n=Uint8Array.of(0,97,115,109,1,0,0,0,1,...he([1,96,...je(r.slice(1)),...je(r[0]==="v"?"":r[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),i=new WebAssembly.Module(n),a=new WebAssembly.Instance(i,{e:{f:e}}),c=a.exports.f;return c},ba=(e,r)=>{var n=sa(e);if(n)return n;var i=va();try{x(i,e)}catch(c){if(!(c instanceof TypeError))throw c;var a=ga(e,r);x(i,a)}return p.set(e,i),i},ha=e=>{p.delete(b(e)),x(e,null),Y.push(e)};ur(()=>o.newRenderingFrameStarted());for(let e=0;e<32;++e)Z.push(new Array(e));if(t.noExitRuntime&&t.noExitRuntime,t.print&&(ee=t.print),t.printErr&&(T=t.printErr),t.wasmBinary&&(I=t.wasmBinary),t.arguments&&t.arguments,t.thisProgram&&(w=t.thisProgram),t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.shift()();t.ENV=N,t.addFunction=ba,t.removeFunction=ha,t.UTF8ToString=_,t.stringToUTF8=W,t.lengthBytesUTF8=K,t.stringToNewUTF8=F,t.GL=o;var ja={86553:()=>{const e=t.creator2d_glContext||typeof window<"u"&&window.creator2d_glContext,r=t.creator2d_glOptions||typeof window<"u"&&window.creator2d_glOptions||{},n=o.registerContext(e,r);return o.makeContextCurrent(n),n}};function ya(e){t.jsb._init(e)}function Sa(e){t.jsb.dup(e)}function Ba(e){t.jsb.release(e)}function ka(e){t.jsb.global(e)}function Pa(e,r,n){t.jsb.get(e,r,_(n))}function Ca(e,r,n){t.jsb.getIndex(e,r,n)}function Aa(e,r,n){return t.jsb.has(e,r,_(n))?1:0}function ma(e,r,n,i){t.jsb.set(e,_(r),n,i)}function Ta(e,r,n,i){t.jsb.setIndex(e,r,n,i)}function La(e,r,n){return t.jsb.keys(e,r,n)}function pa(e,r){t.jsb.newObject(e,r)}function Da(){t.jsb.newArray()}function Fa(e,r){t.jsb.newString(_(e,r))}function Ia(e,r,n){return t.jsb.str(e,r,n)}function Va(e,r){return t.jsb.logString(e,r)}function Wa(e){return t.jsb.toNumber(e)}function Ra(e){return t.jsb.truthy(e)?1:0}function Ga(e){t.jsb.newError(_(e))}function Ua(e,r){t.jsb.throwNew(e,_(r))}function Na(){t.jsb.takeException()}function Ma(e,r,n,i,a,c){t.jsb.call(e,r,n,i,a,c)}function Oa(e,r,n,i){t.jsb.eval(e,_(r,n),_(i))}function $a(){return t.jsb.newContext()}function Ha(e){t.jsb.freeContext(e)}function Xa(e,r){t.jsb.parseJson(_(e,r))}function za(e,r,n){t.jsb.typedArray(e,r,n)}function Qa(e,r,n,i){return t.jsb.arrayIn(e,r,n,i)}function Ja(e,r,n){t.jsb.arrayOut(e,r,n)}function Ka(e,r,n,i){t.jsb.makeFunction(e,r,n?_(n):"",i)}function Za(e,r,n,i,a,c){t.jsb.defineMethod(e,r,_(n),i,a,c)}function qa(){t.jsb.gc()}function Ya(e){return t.jsb.host[_(e)]?1:0}function xa(e,r){const n=t.jsb.host[_(e)];return n&&typeof n[_(r)]=="function"?1:0}function wa(e,r){const n=t.jsb.host[_(e)],i=n?n[_(r)]:void 0;return i==null?0:F(String(i))}function Ea(e,r){const n=t.jsb.host[_(e)],i=n?Number(n[_(r)]):0;return i===i?i:0}function ec(){return t.jsb.host.gl.getGLContext()|0}function rc(){t.jsb.host.gl.engineCreated()}function tc(){t.jsb.host.gl.createGLView()}function nc(){t.jsb.host.gl.closeScene()}function ic(e,r,n,i){const a=t.jsb.group(n,i);t.jsb.host.gl.createTexture(e,r,t.jsb.callback(n,a),t.jsb.callback(i,a))}function ac(e){return t.jsb.host.gl.createMediaPlayerTexture(e)||0}function cc(e,r,n){const i=t.jsb.group(r,n);t.jsb.host.gl.launchAR(e,t.jsb.callback(r,i),t.jsb.callback(n,i))}function oc(){t.jsb.host.gl.stopAR()}function fc(e,r,n){const i=t.jsb.group(r,n);t.jsb.host.gl.launchVR(e,t.jsb.callback(r,i),t.jsb.callback(n,i))}function lc(){t.jsb.host.gl.stopVR()}function uc(e,r,n){t.jsb.host.gl.createARController(e,r,n?_(n):null)}function _c(e,r){t.jsb.host.gl.createRootAnchor(e,r)}function sc(e,r,n,i){t.jsb.host.gl.createAnchor(e,r,n,i)}function vc(e){t.jsb.host.scene2d.open2DScene(e)}function dc(){t.jsb.host.scene2d.close2DScene()}function gc(){t.jsb.host.scene2d.init2D()}function bc(e,r,n,i){t.jsb.host.ui.nodeFactory(e,r?_(r):null,n,i)}function hc(e,r,n){t.jsb.host.ui.setPropertyString(e,r?_(r):null,n?_(n):null)}function jc(e,r,n){t.jsb.host.ui.setPropertyInt(e,r?_(r):null,n)}function yc(e,r){t.jsb.host.ui.setFlags(e,r)}function Sc(e,r,n){t.jsb.host.ui.insertNode(e,r,n)}function Bc(e,r){t.jsb.host.ui.removeNode(e,r)}function kc(e){t.jsb.host.ui.releaseNode(e)}function Pc(e,r,n,i,a,c){t.jsb.host.ui.openView(e,r,n,i?_(i):null,a?_(a):null,!!c)}function Cc(e,r,n){t.jsb.host.ui.dropView(e,r,n)}function Ac(){t.jsb.host.ui.closeView()}function mc(e){return t.jsb.host.ui.isViewSupported(e?_(e):null)?1:0}function Tc(e){return t.jsb.host.ui.viewVersion(e?_(e):null)||0}function Lc(e,r,n,i,a){const c=t.jsb.group(i,a);t.jsb.host.ui.viewCall(e,r?_(r):null,t.jsb.valueAt(n),t.jsb.callback(i,c),t.jsb.callback(a,c))}function pc(e,r,n,i){t.jsb.host.ui.widgetOpen(e,r,n,i)}function Dc(e){t.jsb.host.ui.widgetClose(e)}function Fc(e,r,n,i,a,c){const l=t.jsb.group(a,c);t.jsb.host.ui.registerFont(e?_(e):null,r?_(r):null,n,i,t.jsb.callback(a,l),t.jsb.callback(c,l))}function Ic(e,r){t.jsb.host.ui.showToast(e?_(e):null,r)}function Vc(e){return t.jsb.host.ui.getButtonPressed(e)?1:0}function Wc(e){const r=t.jsb.host.ui.getTextValue(e);return r==null?0:F(String(r))}function Rc(e,r){const n=t.jsb.host.ui.getBoundingRect(e);if(!n)return 0;for(let i=0;i<4;i++)C[(r>>2)+i]=n[i]||0;return 1}function Gc(e,r,n,i){t.jsb.host.ui.touchHandler(e,!!r,n,i)}function Uc(e,r){t.jsb.host.ui.longPressHandler(e,r)}function Nc(e,r,n){t.jsb.host.ui.vlistScroll(e,r,!!n)}function Mc(e,r,n){t.jsb.host.ui.pagerCommand(e,r?_(r):null,!!n)}function Oc(e,r,n){t.jsb.host.ui.pagerShowPage(e,r,!!n)}function $c(e,r){t.jsb.host.ui.pagerDropPage(e,r)}function Hc(e,r){t.jsb.host.ui.pagerPageMounted(e,!!r)}function Xc(e,r,n,i,a,c,l,u,s,v){return t.jsb.host.ui.tweenClaim(e,r?_(r):null,n,C.subarray(i>>2,(i>>2)+a),c,l,u,!!s,v)?1:0}function zc(e,r,n){t.jsb.host.ui.tweenRelease(e,r?_(r):null,n)}function Qc(e,r,n,i,a,c,l,u){t.jsb.host.canvas.paint(e,r,n,i,C.subarray(a>>2,(a>>2)+c),t.jsb.strings(l,u))}function Jc(e,r,n,i,a,c){t.jsb.host.canvas.measureText(e?_(e):null,r?_(r):null,n,i,!!a,C.subarray(c>>2,(c>>2)+16))}function Kc(e,r,n){return t.jsb.host.canvas.decodeImage(e,r,g.subarray(n>>2,(n>>2)+16))?1:0}function Zc(e,r){const n=t.jsb.host.canvas.readPixels(e,g.subarray(r>>2,(r>>2)+16));return t.jsb.bytesOut(n,0)}function qc(e){t.jsb.host.canvas.releaseSurface(e)}function Yc(){const e=t.jsb.host.app.state();return e==null?0:F(String(e))}function xc(){return t.jsb.host.app.isOnline()?1:0}function wc(e){t.jsb.host.app.openUrl(e?_(e):null)}function Ec(e){t.jsb.host.app.setOrientation(e?_(e):null)}function eo(e,r){t.jsb.host.app.worldChange(e?_(e):null,!!r)}function ro(){t.jsb.host.app.exit()}function to(e){t.jsb.host.device.setPreciseTouch(!!e)}function no(e){t.jsb.host.device.vibrate(e?_(e):null)}function io(){return t.jsb.host.device.motionAvailable()?1:0}function ao(e){return t.jsb.host.device.motionStart(e)?1:0}function co(){t.jsb.host.device.motionStop()}function oo(e){const r=t.jsb.host.device.motionSample();if(!r)return 0;for(let n=0;n<8;n++)C[(e>>2)+n]=r[n]||0;return 1}function fo(e){t.jsb.host.device.clipboardWrite(e?_(e):null)}function lo(e,r){const n=t.jsb.group(e,r);t.jsb.host.device.clipboardRead(t.jsb.callback(e,n),t.jsb.callback(r,n))}function uo(e,r){t.jsb.host.device.share(e,r?_(r):null)}function _o(e,r,n,i){const a=t.jsb.group(e,r);t.jsb.host.device.openFilePicker(t.jsb.callback(e,a),t.jsb.callback(r,a),!!n,i?_(i):null)}function so(e,r){const n=t.jsb.group(e,r);t.jsb.host.device.requestCamera(t.jsb.callback(e,n),t.jsb.callback(r,n))}function vo(e){return t.jsb.host.fetch.local(e?_(e):null)||0}function go(e){t.jsb.host.fetch.dispose(e)}function bo(e,r,n,i,a,c,l,u,s,v){const d=t.jsb.group(u,s,v);t.jsb.host.fetch.request(e?_(e):null,r?_(r):null,t.jsb.strings(n,i),a?_(a):null,Array.from({length:l},(k,P)=>({key:B[c+P*16+0>>2]?_(B[c+P*16+0>>2]):null,value:B[c+P*16+4>>2]?_(B[c+P*16+4>>2]):null,bufferId:g[c+P*16+8>>2],filename:B[c+P*16+12>>2]?_(B[c+P*16+12>>2]):null})),t.jsb.callback(u,d),t.jsb.callback(s,d),t.jsb.callback(v,d))}function ho(e,r,n){const i=t.jsb.host.fetch.buffer(e,!!r);return t.jsb.bytesOut(i,n)}function jo(e,r,n,i,a){const c=t.jsb.host.fetch.bufferSlice(e,r,n,!!i);return t.jsb.bytesOut(c,a)}function yo(e,r){const n=t.jsb.host.fetch.systemBuffer(e);return t.jsb.bytesOut(n,r)}function So(e,r){return t.jsb.host.fetch.putBuffer(A.subarray(e,e+r))||0}function Bo(e,r,n){const i=t.jsb.group(r,n);t.jsb.host.files.readBytes(e?_(e):null,t.jsb.callback(r,i),t.jsb.callback(n,i))}function ko(e,r,n){const i=t.jsb.group(r,n);t.jsb.host.files.readText(e?_(e):null,t.jsb.callback(r,i),t.jsb.callback(n,i))}function Po(e,r,n,i){const a=t.jsb.group(n,i);t.jsb.host.files.remove(e?_(e):null,!!r,t.jsb.callback(n,a),t.jsb.callback(i,a))}function Co(e,r,n){const i=t.jsb.group(r,n);t.jsb.host.files.mkdir(e?_(e):null,t.jsb.callback(r,i),t.jsb.callback(n,i))}function Ao(e,r,n,i){const a=t.jsb.group(n,i);t.jsb.host.files.list(e?_(e):null,!!r,t.jsb.callback(n,a),t.jsb.callback(i,a))}function mo(e,r,n){const i=t.jsb.group(r,n);t.jsb.host.files.stat(e?_(e):null,t.jsb.callback(r,i),t.jsb.callback(n,i))}function To(e,r,n,i,a,c){const l=t.jsb.group(a,c);t.jsb.host.files.write(e?_(e):null,A.subarray(r,r+n),!!i,t.jsb.callback(a,l),t.jsb.callback(c,l))}function Lo(e){const r=t.jsb.host.storage.load(e?_(e):null);return r==null?0:F(String(r))}function po(e,r){t.jsb.host.storage.save(e?_(e):null,r?_(r):null)}function Do(e,r){t.jsb.host.socket.send(e,r?_(r):null)}function Fo(e,r){return t.jsb.host.socket.open(e?_(e):null,t.jsb.callback(r,null))||0}function Io(e){t.jsb.host.socket.close(e)}function Vo(e){return t.jsb.host.service.supported(e?_(e):null)?1:0}function Wo(e,r,n){return t.jsb.host.service.open(e?_(e):null,r?_(r):null,t.jsb.callback(n,null))||0}function Ro(e){t.jsb.host.service.close(e)}function Go(e){return t.jsb.host.service.version(e?_(e):null)||0}function Uo(e,r,n,i,a){const c=t.jsb.group(i,a);t.jsb.host.service.call(e,r?_(r):null,t.jsb.valueAt(n),t.jsb.callback(i,c),t.jsb.callback(a,c))}function No(e,r){return t.jsb.host.input.key(e?_(e):null,r)?1:0}function Mo(e){return t.jsb.host.input.read(e)||0}function Oo(e){return t.jsb.host.input.setPointerLock(!!e)?1:0}function $o(e,r,n,i){return t.jsb.host.input.rumble(e,r,n,i)?1:0}function Ho(){return t.jsb.host.input.keyboardHeight()||0}function Xo(e,r){t.jsb.host.media.setVolume(e,r)}function zo(e){return t.jsb.host.media.time(e)||0}function Qo(e,r){t.jsb.host.media.setTime(e,r)}function Jo(e){return t.jsb.host.media.duration(e)||0}function Ko(e,r){return t.jsb.host.media.createAudio(e?_(e):null,t.jsb.callback(r,null))||0}function Zo(e,r){return t.jsb.host.media.createVideo(e?_(e):null,t.jsb.callback(r,null))||0}function qo(e,r){t.jsb.host.media.setLoop(e,!!r)}function Yo(e,r){t.jsb.host.media.setPlaying(e,!!r)}function xo(e){t.jsb.host.media.remove(e)}function wo(e,r){const n=_(r);switch(e){case 0:console.error(n);break;case 1:console.error(n);break;case 2:console.warn(n);break;default:console.info(n);break}}function Eo(e){console.error(_(e))}function ef(e){const r=t.jsb.host.ui;r.refreshDone&&r.refreshDone(e)}var ye,h,Se,Be,ke,Pe,O,R;function rf(e){t._free=e.ve,t._setNodeClass=e.we,t._setThemeValue=e.xe,t._applyTheme=e.ye,t._getScreenId=e.ze,t._getParentNode=e.Ae,t._c2dGetLocalTransform=e.Be,t._c2dSetPosition=e.Ce,t._c2dSetRotation=e.De,t._c2dSetScale=e.Ee,t._c2dSetSpriteOpacity=e.Fe,t._c2dSetSpriteColor=e.Ge,t._c2dGetSpriteOpacity=e.He,t._c2dGetSpriteColor=e.Ie,ye=t._malloc=e.Je,t._jsbInvoke=e.Ke,t._jsbInvokeGetter=e.Le,t._jsbInvokeData=e.Me,t._jsbFunctionGone=e.Ne,t._jsbFinalize=e.Oe,t._jsbHostCall=e.Pe,t._jsbRejection=e.Qe,t._calculate=e.Re,t._widgetDetach=e.Se,t._recalculate=e.Te,t._calculateRoot=e.Ue,t._calculateWidget=e.Ve,t._collectBegin=e.We,t._collectRoot=e.Xe,t._collectCount=e.Ye,t._jsbViewEvent=e.Ze,t._getNodeOwner=e._e,t._createNodeRoot=e.$e,t._setNodeMeasure=e.af,t._setNodeOwner=e.bf,t._forEachNode=e.cf,t._freeNode=e.df,t._vlistExists=e.ef,t._adoptNode=e.ff,t._detachNode=e.gf,t._cuiChildCount=e.hf,t._cuiChildAt=e.jf,t._setStringExt=e.kf,t._resetPropExt=e.lf,t._nodeHasMeasure=e.mf,t._nodeHasFixedSize=e.nf,t._markNodeDirty=e.of,t._setNodeInteractive=e.pf,t._setFloatExt=e.qf,t._getLayer=e.rf,t._setNodeHovered=e.sf,t._cuiPaintJson=e.tf,t._setVListHandlers=e.uf,t._vlistInit=e.vf,t._vlistFree=e.wf,t._vlistSetKeys=e.xf,t._vlistInsertKeys=e.yf,t._vlistRemoveKeys=e.zf,t._vlistInvalidate=e.Af,t._vlistCreateItemRoot=e.Bf,t._vlistItemMounted=e.Cf,t._vlistItemUnmounted=e.Df,t._vlistToPhysical=e.Ef,t._getContentHeight=e.Ff,t._vlistOffsetOf=e.Gf,t._c2dInit=e.Hf,t._c2dOpenScene=e.If,t._c2dSetUpdateCallbacks=e.Jf,t._c2dSetAnimEventCallback=e.Kf,t._c2dSetPhysicsEventCallback=e.Lf,t._c2dCloseScene=e.Mf,t._c2dEntityIsOwned=e.Nf,t._c2dDestroyEntity=e.Of,t._c2dResetStateCache=e.Pf,t._c2dRender=e.Qf,t._c2dTick=e.Rf,t._c2dGetChildCount=e.Sf,t._c2dGetChild=e.Tf,t._c2dCreateTexture=e.Uf,t._c2dGetTextureWidth=e.Vf,t._c2dGetTextureHeight=e.Wf,t._c2dCreateTextureFromRGBA=e.Xf,t._c2dUpdateTextureFromRGBA=e.Yf,t._creator2dVersion=e.Zf,t._c2dSetTimeScale=e._f,t._c2dSetClearColor=e.$f,t._c2dCreateScene=e.ag,t._c2dDestroyScene=e.bg,t._c2dSceneSetClearColor=e.cg,t._c2dAddEntityToScene=e.dg,t._c2dRemoveEntityFromScene=e.eg,t._c2dSetLayerYSort=e.fg,t._c2dCameraSetPosition=e.gg,t._c2dCameraSetZoom=e.hg,t._c2dCameraSetRotation=e.ig,t._c2dCameraScreenToWorld=e.jg,t._c2dCameraWorldToScreen=e.kg,t._c2dCreateEntity=e.lg,t._c2dSetLayer=e.mg,t._c2dSetZ=e.ng,t._c2dSetVisible=e.og,t._c2dGetPosition=e.pg,t._c2dSetParent=e.qg,t._c2dGetParent=e.rg,t._c2dGetWorldPosition=e.sg,t._c2dGetWorldMatrix=e.tg,t._c2dWorldToLocal=e.ug,t._c2dLocalToWorld=e.vg,t._c2dSetSprite=e.wg,t._c2dSetSpriteFrame=e.xg,t._c2dSetSpriteFramePx=e.yg,t._c2dSetSpriteSize=e.zg,t._c2dSetSpriteAnchor=e.Ag,t._c2dSetSpriteFlip=e.Bg,t._c2dDestroyTexture=e.Cg,t._c2dSetDefaultFilter=e.Dg,t._c2dDefineAnimation=e.Eg,t._c2dPlayAnimation=e.Fg,t._c2dStopAnimation=e.Gg,t._c2dSetAnimationSpeed=e.Hg,t._c2dGetAnimationFrame=e.Ig,t._c2dCreateTilemap=e.Jg,t._c2dSetTile=e.Kg,t._c2dBulkSetPositions=e.Lg,t._c2dPhysicsHasSupport=e.Mg,t._c2dPhysicsConfigure=e.Ng,t._c2dSetInterpolation=e.Og,t._c2dPhysicsCreateBody=e.Pg,t._c2dPhysicsRemoveBody=e.Qg,t._c2dPhysicsAddBox=e.Rg,t._c2dPhysicsAddCircle=e.Sg,t._c2dPhysicsAddCapsule=e.Tg,t._c2dPhysicsAddSegment=e.Ug,t._c2dPhysicsAddPolygon=e.Vg,t._c2dPhysicsAddChain=e.Wg,t._c2dPhysicsClearShapes=e.Xg,t._c2dPhysicsSetContactEvents=e.Yg,t._c2dPhysicsSetLinearVelocity=e.Zg,t._c2dPhysicsGetLinearVelocity=e._g,t._c2dPhysicsSetAngularVelocity=e.$g,t._c2dPhysicsGetAngularVelocity=e.ah,t._c2dPhysicsApplyLinearImpulse=e.bh,t._c2dPhysicsApplyImpulseAt=e.ch,t._c2dPhysicsApplyForce=e.dh,t._c2dPhysicsSetFromEntity=e.eh,t._c2dPhysicsSetFixedRotation=e.fh,t._c2dPhysicsSetGravityScale=e.gh,t._c2dPhysicsSetLinearDamping=e.hh,t._c2dPhysicsSetAngularDamping=e.ih,t._c2dPhysicsSetBullet=e.jh,t._c2dPhysicsSetEnabled=e.kh,t._c2dPhysicsSetAwake=e.lh,t._c2dPhysicsSetMass=e.mh,t._c2dPhysicsGetMass=e.nh,t._c2dPhysicsSetMotionType=e.oh,t._c2dPhysicsSetFriction=e.ph,t._c2dPhysicsSetBounce=e.qh,t._c2dPhysicsSetFilter=e.rh,t._c2dPhysicsRaycastClosest=e.sh,t._c2dPhysicsRaycastAll=e.th,t._c2dPhysicsOverlap=e.uh,t._c2dPhysicsOverlapPoint=e.vh,t._c2dCharacterCreate=e.wh,t._c2dCharacterDestroy=e.xh,t._c2dCharacterMove=e.yh,t._c2dCharacterMoveFree=e.zh,t._c2dCharacterSetVerticalVelocity=e.Ah,t._c2dCharacterSetVelocity=e.Bh,t._c2dCharacterSetGravityScale=e.Ch,t._c2dCharacterSetMaxSlope=e.Dh,t._c2dCharacterSetFilter=e.Eh,t._c2dCharacterSetDropThrough=e.Fh,t._c2dCharacterSetCapsule=e.Gh,t._c2dCharacterSetFromEntity=e.Hh,t._c2dCharacterGetState=e.Ih,t._c2dCharacterGetCollisions=e.Jh,t._c2dPhysicsSetOneWay=e.Kh,t._c2dPickSprite=e.Lh,t._cnavUnloadAll=e.Mh,t._cnavLastError=e.Nh,t._cnavLoad=e.Oh,t._cnavUnload=e.Ph,t._cnavHeader=e.Qh,t._cnavPolyCount=e.Rh,t._cnavSetAreaCost=e.Sh,t._cnavPath=e.Th,t._cnavNearestPoint=e.Uh,t._cnavRay=e.Vh,t._cnavRandom=e.Wh,t._cnavTriangles=e.Xh,t._cnavCrowdNew=e.Yh,t._cnavCrowdFree=e.Zh,t._cnavAgentAdd=e._h,t._cnavAgentRemove=e.$h,t._cnavAgentSetParams=e.ai,t._cnavAgentSetTarget=e.bi,t._cnavAgentSetVelocity=e.ci,t._cnavAgentResetTarget=e.di,t._cnavAgentWarp=e.ei,t._cnavCrowdStep=e.fi,t._cnavCrowdReadAll=e.gi,t._c2dInitMetal=e.hi,t._c2dInitVulkan=e.ii,t._c2dInitHeadless=e.ji,t._c2dTickHeadless=e.ki,t._c2dReadDrawList=e.li,t._c2dShutdown=e.mi,t._c2dSetViewport=e.ni,t._c2dSetDensity=e.oi,t._c2dSetGLFramebuffer=e.pi,t._c2dDrawSceneGL=e.qi,t._c2dTargetCreate=e.ri,t._c2dTargetCreateMetal=e.si,t._c2dTargetDestroy=e.ti,t._c2dSetPresentTarget=e.ui,t._c2dDrawSceneTarget=e.vi,t._c2dTargetVkImage=e.wi,t._c2dTargetMtlTexture=e.xi,t._c2dRenderMetal=e.yi,t._setMeasureFunc=e.zi,t._createNode=e.Ai,t._cuiStringOf=e.Bi,t._removeNode=e.Ci,t._paintCollect=e.Di,t._paintNodes=e.Ei,t._paintRecords=e.Fi,t._cuiPaintOf=e.Gi,t._cuiGradientOf=e.Hi,t._getColor=e.Ii,t._setFloat=e.Ji,t._setString=e.Ki,t._getThemeValue=e.Li,t._resetProp=e.Mi,t._enableNodeLayer=e.Ni,t._disableNodeLayer=e.Oi,t._resetNodeLayer=e.Pi,t._mergeNodeLayer=e.Qi,t._setNodePressed=e.Ri,t._setNodeFocused=e.Si,t._setConditionValue=e.Ti,t._freeWidget=e.Ui,t._setSafePaddings=e.Vi,t._overrideRootSafeBottom=e.Wi,t._setSafeAreaBars=e.Xi,t._consumeNeedsLayout=e.Yi,t._getCachedRoot=e.Zi,t._collectNodes=e._i,t._collectRects=e.$i,t._getOffset=e.aj,t._getContentWidth=e.bj,t._getLayoutPointer=e.cj,t._getLayoutDOMPointer=e.dj,t._getPaddingPointer=e.ej,t._vlistOnScroll=e.fj,t._vlistUpdateLayout=e.gj,t._vlistItemOffsetOf=e.hj,t._cnavBuildDefaults=e.ij,t._cnavBuildCreate=e.jj,t._cnavBuildDestroy=e.kj,t._cnavBuildAddTriangles=e.lj,t._cnavBuildAddVolume=e.mj,t._cnavBuildAddLink=e.nj,t._cnavBuildRun=e.oj,t._cnavBuildData=e.pj,t._cnavBuildTileCount=e.qj,t._cnavBuildPolyCount=e.rj,t._cnavBuildBounds=e.sj,t._cnavMeshLoad=e.tj,t._cnavMeshDestroy=e.uj,t._cnavMeshHeader=e.vj,t._cnavMeshTileCount=e.wj,t._cnavMeshPolyCount=e.xj,t._cnavMeshSetAreaCost=e.yj,t._cnavFindPath=e.zj,t._cnavNearest=e.Aj,t._cnavRaycast=e.Bj,t._cnavRandomPoint=e.Cj,t._cnavDebugTriangles=e.Dj,t._cnavAgentDefaults=e.Ej,t._cnavCrowdCreate=e.Fj,t._cnavCrowdDestroy=e.Gj,t._cnavCrowdMaxAgents=e.Hj,t._cnavCrowdAdd=e.Ij,t._cnavCrowdRemove=e.Jj,t._cnavCrowdSetParams=e.Kj,t._cnavCrowdSetTarget=e.Lj,t._cnavCrowdSetVelocity=e.Mj,t._cnavCrowdResetTarget=e.Nj,t._cnavCrowdWarp=e.Oj,t._cnavCrowdUpdate=e.Pj,t._cnavCrowdRead=e.Qj,t._creatorWebVersion=e.Rj,t._creatorWebInit=e.Sj,t._creatorWebRun=e.Tj,t._creatorWebTick=e.Uj,t._creatorWebTickCore=e.Vj,t._creatorWebResize=e.Wj,t._creatorWebLayoutFrame=e.Xj,t._creatorWebDebugDump=e.Yj,t._creatorWebBackPressed=e.Zj,t._creatorWebSetStepEveryTick=e._j,t._creatorWebSceneOpen=e.$j,t._creatorWebFrameRendered=e.ak,t._creatorWebSetViewport=e.bk,t._creatorWebSceneRenderScale=e.ck,t._creatorWebAppEvent=e.dk,t._creatorWebInputEvent=e.ek,t._creatorWebKeyboardEvent=e.fk,t._creatorWebSetLaunchUrl=e.gk,t._creatorWebSetBootProjectUuid=e.hk,t._creatorWebQuitToLauncher=e.ik,t._creatorWebViewEvent=e.jk,t._creatorWebNodeEvent=e.kk,t._creatorWebNodeEventNum=e.lk,t._creatorWebNodeEventStr=e.mk,t._creatorWebNodeLayout=e.nk,t._creatorWebNodeScroll=e.ok,t._creatorWebNodeTouchStart=e.pk,t._creatorWebNodeLongPress=e.qk,t._creatorWebNodeClick=e.rk,t._creatorWebTouchMove=e.sk,t._creatorWebTouchEnd=e.tk,t._creatorWebTouchCancel=e.uk,t._creatorWebRefresh=e.vk,t._creatorWebHover=e.wk,t._creatorWebSceneTouchStart=e.xk,t._creatorWebSceneTouchClick=e.yk,t._creatorWebSetShrunkRoot=e.zk,t._creatorWebSetWidgetBox=e.Ak,t._creatorWebRootLayoutHeight=e.Bk,t._creatorWebPagerLayoutPages=e.Ck,t._creatorWebPagerDidSelect=e.Dk,t._creatorWebPagerTabCount=e.Ek,t._creatorWebPagerSelectedIndex=e.Fk,t._creatorWebPagerStackLen=e.Gk,t._creatorWebPagerPageNode=e.Hk,t._creatorWeb2dEnsureInited=e.Ik,t._creatorWeb2dSceneOpen=e.Jk,t._creatorWeb2dRenderFrame=e.Kk,t._creatorWeb2dEmitPointer=e.Lk,h=e.Mk,Se=e.Nk,Be=e.Ok,ke=e.Pk,Pe=e.Qk,O=e.se,R=e.ue}var tf={S:Oe,hc:$e,a:He,n:Xe,ic:ze,F:Qe,c:Je,$b:Ke,Zb:Ye,fc:Eo,zd:Ee,Vb:_e,Tb:nr,K:sr,Wb:gr,Xb:br,Yb:hr,Ub:jr,aa:Br,U:Pr,Y:Ar,u:Tr,fa:pr,Xc:Fr,C:Vr,gd:Rr,T:Ur,B:Mr,ya:$r,ka:Xr,la:Qr,ma:Kr,Dc:qr,sd:xr,ua:Er,oc:rt,bd:nt,oa:at,ad:ot,P:lt,rc:_t,xc:vt,vc:gt,md:ht,tc:yt,ja:Bt,yc:Pt,Z:At,I:Tt,va:pt,wa:Ft,H:Vt,Q:Rt,ud:Ut,W:Mt,X:$t,v:Xt,ha:Qt,Fc:Kt,Gc:qt,pa:xt,Hc:Et,Ic:rn,y:nn,Tc:cn,E:fn,D:un,pc:sn,ia:dn,td:bn,xa:jn,hd:Sn,nd:kn,rd:Cn,xd:mn,id:Ln,p:In,kd:Wn,ra:Gn,qc:Nn,ea:On,yd:Hn,qa:Jn,Cc:Zn,sa:Yn,wd:wn,na:ei,Ec:ti,fd:ii,ta:ci,x:fi,cd:ui,sc:si,Bc:di,_c:bi,O:ji,Ac:Si,Zc:ki,pd:Ci,od:mi,wc:Fi,uc:Vi,Sc:Gi,jd:Ni,Nc:Oi,Rc:Hi,Mc:zi,Qc:Ji,Lc:Zi,Oc:Yi,Kc:wi,Jc:ea,J:ta,Uc:ia,Vc:ca,Wc:fa,dd:ua,q:vf,m:yf,j:jf,i:hf,ba:Cf,d:cf,M:Sf,g:nf,G:Tf,w:kf,dc:Df,ca:uf,ec:mf,f:af,k:ff,t:bf,cc:Ff,o:sf,e:df,A:Lf,lc:gf,l:Pf,jc:Bf,mc:_f,h:of,bc:If,N:lf,z:pf,L:Af,Bd:Qa,vd:Ja,zc:Ma,kc:Za,R:Sa,Pb:Oa,Qb:Ha,Rb:qa,qd:Pa,ld:Ca,Yc:ka,ed:Aa,_b:ya,$c:La,nc:Va,gc:Ka,re:Da,Sb:$a,Ta:Ga,_:pa,cb:Fa,Pc:Xa,r:Ba,ge:ma,Xd:Ta,nb:Ia,da:Na,V:Ua,Jb:Wa,yb:Ra,Md:za,Ia:ro,Ma:xc,La:wc,Ka:Ec,Na:Yc,Ja:eo,Qa:Kc,Ra:Jc,Sa:Qc,Pa:Zc,Oa:qc,Aa:lo,Ba:fo,Fa:io,Ca:oo,Ea:ao,Da:co,qe:_o,pe:so,Ha:to,za:uo,Ga:no,le:ho,ke:jo,ne:go,oe:vo,ie:So,me:bo,je:yo,Ob:Ea,$:wa,ce:Ao,de:Co,he:Bo,fe:ko,ee:Po,be:mo,ae:To,Kb:nc,Cb:uc,Ab:sc,Lb:tc,Hb:ac,Bb:_c,Ib:ic,Mb:rc,Nb:ec,Gb:cc,Eb:fc,Fb:oc,Db:lc,b:xa,Rd:No,Nd:Ho,Qd:Mo,Od:$o,Pd:Oo,Hd:Ko,Gd:Zo,Id:Jo,Dd:xo,Fd:qo,Ed:Yo,Jd:Qo,Ld:Xo,Kd:zo,ac:ef,xb:dc,wb:gc,zb:vc,Ad:Uo,Td:Ro,Ud:Wo,Vd:Vo,Sd:Go,Wd:Io,Yd:Fo,Zd:Do,$d:Lo,_d:po,s:Ya,lb:Ac,mb:Cc,bb:Rc,eb:Vc,db:Wc,rb:Sc,kb:mc,$a:Uc,vb:bc,ob:Pc,Za:Mc,Xa:$c,Wa:Hc,Ya:Oc,gb:Fc,pb:kc,qb:Bc,sb:yc,tb:jc,ub:hc,fb:Ic,ab:Gc,Va:Xc,Ua:zc,Cd:Lc,jb:Tc,_a:Nc,hb:Dc,ib:pc,ga:wo};function nf(e,r,n){var i=S();try{return b(e)(r,n)}catch(a){if(y(i),!(a instanceof j))throw a;h(1,0)}}function af(e){var r=S();try{b(e)()}catch(n){if(y(r),!(n instanceof j))throw n;h(1,0)}}function cf(e,r){var n=S();try{return b(e)(r)}catch(i){if(y(n),!(i instanceof j))throw i;h(1,0)}}function of(e,r,n,i,a){var c=S();try{b(e)(r,n,i,a)}catch(l){if(y(c),!(l instanceof j))throw l;h(1,0)}}function ff(e,r){var n=S();try{b(e)(r)}catch(i){if(y(n),!(i instanceof j))throw i;h(1,0)}}function lf(e,r,n,i,a,c){var l=S();try{b(e)(r,n,i,a,c)}catch(u){if(y(l),!(u instanceof j))throw u;h(1,0)}}function uf(e,r,n,i,a,c,l,u,s,v,d,k){var P=S();try{return b(e)(r,n,i,a,c,l,u,s,v,d,k)}catch($){if(y(P),!($ instanceof j))throw $;h(1,0)}}function _f(e,r,n,i,a,c,l,u,s,v,d){var k=S();try{b(e)(r,n,i,a,c,l,u,s,v,d)}catch(P){if(y(k),!(P instanceof j))throw P;h(1,0)}}function sf(e,r,n,i){var a=S();try{b(e)(r,n,i)}catch(c){if(y(a),!(c instanceof j))throw c;h(1,0)}}function vf(e,r){var n=S();try{return b(e)(r)}catch(i){if(y(n),!(i instanceof j))throw i;h(1,0)}}function df(e,r,n){var i=S();try{b(e)(r,n)}catch(a){if(y(i),!(a instanceof j))throw a;h(1,0)}}function gf(e,r,n,i,a){var c=S();try{b(e)(r,n,i,a)}catch(l){if(y(c),!(l instanceof j))throw l;h(1,0)}}function bf(e,r,n){var i=S();try{b(e)(r,n)}catch(a){if(y(i),!(a instanceof j))throw a;h(1,0)}}function hf(e,r,n,i,a,c){var l=S();try{return b(e)(r,n,i,a,c)}catch(u){if(y(l),!(u instanceof j))throw u;h(1,0)}}function jf(e,r,n,i,a){var c=S();try{return b(e)(r,n,i,a)}catch(l){if(y(c),!(l instanceof j))throw l;h(1,0)}}function yf(e,r,n,i){var a=S();try{return b(e)(r,n,i)}catch(c){if(y(a),!(c instanceof j))throw c;h(1,0)}}function Sf(e,r,n,i,a,c,l,u,s,v,d,k,P,$){var Wf=S();try{return b(e)(r,n,i,a,c,l,u,s,v,d,k,P,$)}catch(Ce){if(y(Wf),!(Ce instanceof j))throw Ce;h(1,0)}}function Bf(e,r,n,i,a,c,l,u,s,v){var d=S();try{b(e)(r,n,i,a,c,l,u,s,v)}catch(k){if(y(d),!(k instanceof j))throw k;h(1,0)}}function kf(e,r,n,i,a){var c=S();try{return b(e)(r,n,i,a)}catch(l){if(y(c),!(l instanceof j))throw l;h(1,0)}}function Pf(e,r,n,i){var a=S();try{b(e)(r,n,i)}catch(c){if(y(a),!(c instanceof j))throw c;h(1,0)}}function Cf(e,r,n,i,a,c,l){var u=S();try{return b(e)(r,n,i,a,c,l)}catch(s){if(y(u),!(s instanceof j))throw s;h(1,0)}}function Af(e,r,n,i,a,c,l,u,s){var v=S();try{b(e)(r,n,i,a,c,l,u,s)}catch(d){if(y(v),!(d instanceof j))throw d;h(1,0)}}function mf(e,r,n,i,a,c,l,u,s,v){var d=S();try{return b(e)(r,n,i,a,c,l,u,s,v)}catch(k){if(y(d),!(k instanceof j))throw k;h(1,0)}}function Tf(e,r,n,i){var a=S();try{return b(e)(r,n,i)}catch(c){if(y(a),!(c instanceof j))throw c;h(1,0)}}function Lf(e,r,n,i){var a=S();try{b(e)(r,n,i)}catch(c){if(y(a),!(c instanceof j))throw c;h(1,0)}}function pf(e,r,n,i,a,c,l){var u=S();try{b(e)(r,n,i,a,c,l)}catch(s){if(y(u),!(s instanceof j))throw s;h(1,0)}}function Df(e,r,n,i,a,c){var l=S();try{return b(e)(r,n,i,a,c)}catch(u){if(y(l),!(u instanceof j))throw u;h(1,0)}}function Ff(e,r,n,i,a){var c=S();try{b(e)(r,n,i,a)}catch(l){if(y(c),!(l instanceof j))throw l;h(1,0)}}function If(e,r,n,i,a,c){var l=S();try{b(e)(r,n,i,a,c)}catch(u){if(y(l),!(u instanceof j))throw u;h(1,0)}}async function Vf(){var r;Le();var e=t.setStatus;e&&(e("Running..."),await new Promise(n=>setTimeout(n,1)),setTimeout(e,1,"")),!re&&(pe(),(r=t.onRuntimeInitialized)==null||r.call(t),De())}var G;return G=await Ue(),await Vf(),t}export{Rf as default};
@@ -1 +0,0 @@
1
- async function nf(Xe={}){var r=Xe,ve="./this.program",ze=import.meta.url,re="";function Ze(e){return r.locateFile?r.locateFile(e,re):re+e}var se;{try{re=new URL(".",ze).href}catch{}se=async e=>{var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)}}var te=console.log.bind(console),T=console.error.bind(console),O,ge=!1;class j{}function he(){var e=ee.buffer;m=new Int8Array(e),q=new Int16Array(e),r.HEAPU8=k=new Uint8Array(e),r.HEAPU16=U=new Uint16Array(e),r.HEAP32=g=new Int32Array(e),r.HEAPU32=h=new Uint32Array(e),r.HEAPF32=A=new Float32Array(e),r.HEAPF64=ie=new Float64Array(e),Y=new BigInt64Array(e),be=new BigUint64Array(e)}function Ke(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)ar(r.preRun.shift());ye(je)}function Ye(){Z.Af()}function Je(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)ir(r.postRun.shift());ye(Se)}function W(e){var n;(n=r.onAbort)==null||n.call(r,e),e=`Aborted(${e})`,T(e),ge=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw t}var ne;function xe(){return r.locateFile?Ze("creator-full.wasm"):new URL(""+new URL("creator-full-D2dSDdDj.wasm",import.meta.url).href,import.meta.url).href}function we(e){if(e==ne&&O)return new Uint8Array(O);throw"both async and sync fetching of the wasm failed"}async function Ee(e){if(!O)try{var t=await se(e);return new Uint8Array(t)}catch{}return we(e)}async function er(e,t){try{var n=await Ee(e),i=await WebAssembly.instantiate(n,t);return i}catch(a){T(`failed to asynchronously prepare wasm: ${a}`),W(a)}}async function rr(e,t,n){if(!e)try{var i=fetch(t,{credentials:"same-origin"}),a=await WebAssembly.instantiateStreaming(i,n);return a}catch(c){T(`wasm streaming compile failed: ${c}`),T("falling back to ArrayBuffer instantiation")}return er(t,n)}function tr(){var e={a:ku};return e}async function nr(){function e(c,o){return Z=c.exports,Cu(Z),he(),Z}function t(c){return e(c.instance)}var n=tr();if(r.instantiateWasm)return new Promise((c,o)=>{r.instantiateWasm(n,(u,f)=>{c(e(u))})});ne??(ne=xe());var i=await rr(O,ne,n),a=t(i);return a}var q,g,Y,m,A,ie,U,h,be,k,ye=e=>{for(;e.length>0;)e.shift()(r)},Se=[],ir=e=>Se.push(e),je=[],ar=e=>je.push(e),B=e=>qe(e),C=()=>He(),J=[],cr=e=>{var t=new Ce(e);return t.get_caught()||t.set_caught(!0),t.set_rethrown(!1),J.push(t),Qe(e)},_r=()=>{y(0,0);var e=J.pop();$e(e.excPtr)},Be=e=>(setTempRet0(0),0),lr=()=>Be(),or=e=>Be(),ur=()=>{J.length||W("no exception to throw");var e=J.at(-1);e.excPtr,e.set_rethrown(!0),e.set_caught(!1),W()};class Ce{constructor(t){this.excPtr=t,this.ptr=t-24}set_type(t){h[this.ptr+4>>2]=t}get_type(){return h[this.ptr+4>>2]}set_destructor(t){h[this.ptr+8>>2]=t}get_destructor(){return h[this.ptr+8>>2]}set_caught(t){t=t?1:0,m[this.ptr+12]=t}get_caught(){return m[this.ptr+12]!=0}set_rethrown(t){t=t?1:0,m[this.ptr+13]=t}get_rethrown(){return m[this.ptr+13]!=0}init(t,n){this.set_adjusted_ptr(0),this.set_type(t),this.set_destructor(n)}set_adjusted_ptr(t){h[this.ptr+16>>2]=t}get_adjusted_ptr(){return h[this.ptr+16>>2]}}var fr=(e,t,n)=>{var i=new Ce(e);i.init(t,n),W()},dr=e=>{W()},ke=globalThis.TextDecoder&&new TextDecoder,Pe=(e,t,n,i)=>{var a=t+n;if(i)return a;for(;e[t]&&!(t>=a);)++t;return t},Ae=(e,t=0,n,i)=>{var a=Pe(e,t,n,i);if(a-t>16&&e.buffer&&ke)return ke.decode(e.subarray(t,a));for(var c="";t<a;){var o=e[t++];if(!(o&128)){c+=String.fromCharCode(o);continue}var u=e[t++]&63;if((o&224)==192){c+=String.fromCharCode((o&31)<<6|u);continue}var f=e[t++]&63;if((o&240)==224?o=(o&15)<<12|u<<6|f:o=(o&7)<<18|u<<12|f<<6|e[t++]&63,o<65536)c+=String.fromCharCode(o);else{var v=o-65536;c+=String.fromCharCode(55296|v>>10,56320|v&1023)}}return c},d=(e,t,n)=>e?Ae(k,e,t,n):"";function vr(e,t,n){return 0}function sr(e,t,n){return 0}function gr(e,t,n,i){}var hr=(e,t)=>{},br=()=>W(""),G=e=>{for(var t="";;){var n=k[e++];if(!n)return t;t+=String.fromCharCode(n)}},ae={},Te={},yr=class extends Error{constructor(t){super(t),this.name="BindingError"}},H=e=>{throw new yr(e)};function Sr(e,t,n={}){var i=t.name;if(e||H(`type "${i}" must have a positive integer typeid pointer`),Te.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;H(`Cannot register type '${i}' twice`)}if(Te[e]=t,ae.hasOwnProperty(e)){var a=ae[e];delete ae[e],a.forEach(c=>c())}}function I(e,t,n={}){return Sr(e,t,n)}var De=(e,t,n)=>{switch(t){case 1:return n?i=>m[i]:i=>k[i];case 2:return n?i=>q[i>>1]:i=>U[i>>1];case 4:return n?i=>g[i>>2]:i=>h[i>>2];case 8:return n?i=>Y[i>>3]:i=>be[i>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},jr=(e,t,n,i,a)=>{t=G(t);const c=i===0n;let o=u=>u;if(c){const u=n*8;o=f=>BigInt.asUintN(u,f),a=o(a)}I(e,{name:t,fromWireType:o,toWireType:(u,f)=>(typeof f=="number"&&(f=BigInt(f)),f),readValueFromPointer:De(t,n,!c),destructorFunction:null})},Br=(e,t,n,i)=>{t=G(t),I(e,{name:t,fromWireType:function(a){return!!a},toWireType:function(a,c){return c?n:i},readValueFromPointer:function(a){return this.fromWireType(k[a])},destructorFunction:null})},me=[],p=[0,1,,1,null,1,!0,1,!1,1],Cr=e=>{e>9&&--p[e+1]===0&&(p[e]=void 0,me.push(e))},Fe={toValue:e=>(e||H(`Cannot use deleted val. handle = ${e}`),p[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const t=me.pop()||p.length;return p[t]=e,p[t+1]=1,t}}}};function ce(e){return this.fromWireType(h[e>>2])}var kr={name:"emscripten::val",fromWireType:e=>{var t=Fe.toValue(e);return Cr(e),t},toWireType:(e,t)=>Fe.toHandle(t),readValueFromPointer:ce,destructorFunction:null},Pr=e=>I(e,kr),Ar=(e,t)=>{switch(t){case 4:return function(n){return this.fromWireType(A[n>>2])};case 8:return function(n){return this.fromWireType(ie[n>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Tr=(e,t,n)=>{t=G(t),I(e,{name:t,fromWireType:i=>i,toWireType:(i,a)=>a,readValueFromPointer:Ar(t,n),destructorFunction:null})},Dr=(e,t,n,i,a)=>{t=G(t);const c=i===0;let o=f=>f;if(c){var u=32-8*n;o=f=>f<<u>>>u,a=o(a)}I(e,{name:t,fromWireType:o,toWireType:(f,v)=>v,readValueFromPointer:De(t,n,i!==0),destructorFunction:null})},mr=(e,t,n)=>{var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array],a=i[t];function c(o){var u=h[o>>2],f=h[o+4>>2];return new a(m.buffer,f,u)}n=G(n),I(e,{name:n,fromWireType:c,readValueFromPointer:c},{ignoreDuplicateRegistrations:!0})},Fr=(e,t,n,i)=>{if(!(i>0))return 0;for(var a=n,c=n+i-1,o=0;o<e.length;++o){var u=e.codePointAt(o);if(u<=127){if(n>=c)break;t[n++]=u}else if(u<=2047){if(n+1>=c)break;t[n++]=192|u>>6,t[n++]=128|u&63}else if(u<=65535){if(n+2>=c)break;t[n++]=224|u>>12,t[n++]=128|u>>6&63,t[n++]=128|u&63}else{if(n+3>=c)break;t[n++]=240|u>>18,t[n++]=128|u>>12&63,t[n++]=128|u>>6&63,t[n++]=128|u&63,o++}}return t[n]=0,n-a},F=(e,t,n)=>Fr(e,k,t,n),x=e=>{for(var t=0,n=0;n<e.length;++n){var i=e.charCodeAt(n);i<=127?t++:i<=2047?t+=2:i>=55296&&i<=57343?(t+=4,++n):t+=3}return t},Lr=(e,t)=>{t=G(t),I(e,{name:t,fromWireType(n){var i=h[n>>2],a=n+4,c;return c=d(a,i,!0),R(n),c},toWireType(n,i){i instanceof ArrayBuffer&&(i=new Uint8Array(i));var a,c=typeof i=="string";c||ArrayBuffer.isView(i)&&i.BYTES_PER_ELEMENT==1||H("Cannot pass non-string to std::string"),c?a=x(i):a=i.length;var o=X(4+a+1),u=o+4;return h[o>>2]=a,c?F(i,u,a+1):k.set(i,u),n!==null&&n.push(R,o),o},readValueFromPointer:ce,destructorFunction(n){R(n)}})},Le=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,Ir=(e,t,n)=>{var i=e>>1,a=Pe(U,i,t/2,n);if(a-i>16&&Le)return Le.decode(U.subarray(i,a));for(var c="",o=i;o<a;++o){var u=U[o];c+=String.fromCharCode(u)}return c},Gr=(e,t,n)=>{if(n??(n=2147483647),n<2)return 0;n-=2;for(var i=t,a=n<e.length*2?n/2:e.length,c=0;c<a;++c){var o=e.charCodeAt(c);q[t>>1]=o,t+=2}return q[t>>1]=0,t-i},Rr=e=>e.length*2,Vr=(e,t,n)=>{for(var i="",a=e>>2,c=0;!(c>=t/4);c++){var o=h[a+c];if(!o&&!n)break;i+=String.fromCodePoint(o)}return i},Mr=(e,t,n)=>{if(n??(n=2147483647),n<4)return 0;for(var i=t,a=i+n-4,c=0;c<e.length;++c){var o=e.codePointAt(c);if(o>65535&&c++,g[t>>2]=o,t+=4,t+4>a)break}return g[t>>2]=0,t-i},Wr=e=>{for(var t=0,n=0;n<e.length;++n){var i=e.codePointAt(n);i>65535&&n++,t+=4}return t},Ur=(e,t,n)=>{n=G(n);var i,a,c;t===2?(i=Ir,a=Gr,c=Rr):(i=Vr,a=Mr,c=Wr),I(e,{name:n,fromWireType:o=>{var u=h[o>>2],f=i(o+4,u*t,!0);return R(o),f},toWireType:(o,u)=>{typeof u!="string"&&H(`Cannot pass non-string to C++ string type ${n}`);var f=c(u),v=X(4+f+t);return h[v>>2]=f/t,a(u,v+4,f+t),o!==null&&o.push(R,v),v},readValueFromPointer:ce,destructorFunction(o){R(o)}})},pr=(e,t)=>{t=G(t),I(e,{isVoid:!0,name:t,fromWireType:()=>{},toWireType:(n,i)=>{}})},Nr=(e,t,n,i)=>{var a=new Date().getFullYear(),c=new Date(a,0,1),o=new Date(a,6,1),u=c.getTimezoneOffset(),f=o.getTimezoneOffset(),v=Math.max(u,f);h[e>>2]=v*60,g[t>>2]=+(u!=f);var s=M=>{var de=M>=0?"-":"+",K=Math.abs(M),ef=String(Math.floor(K/60)).padStart(2,"0"),rf=String(K%60).padStart(2,"0");return`UTC${de}${ef}${rf}`},S=s(u),P=s(f);f<u?(F(S,n,17),F(P,i,17)):(F(S,i,17),F(P,n,17))},Ie=()=>performance.now(),Or=()=>Date.now(),qr=e=>e>=0&&e<=3;function Hr(e,t,n){if(!qr(e))return 28;var i;e===0?i=Or():i=Ie();var a=Math.round(i*1e3*1e3);return Y[n>>3]=BigInt(a),0}var _e=[],$r=(e,t)=>{_e.length=0;for(var n;n=k[e++];){var i=n!=105;i&=n!=112,t+=i&&t%8?4:0,_e.push(n==112?h[t>>2]:n==106?Y[t>>3]:n==105?g[t>>2]:ie[t>>3]),t+=i?8:4}return _e},Qr=(e,t,n)=>{var i=$r(t,n);return N_[e](...i)},Xr=(e,t,n)=>Qr(e,t,n),zr=e=>T(d(e)),Ge=()=>2147483648,Zr=()=>Ge(),Kr=e=>te(d(e)),Yr=(e,t)=>Math.ceil(e/t)*t,Jr=e=>{var t=ee.buffer.byteLength,n=(e-t+65535)/65536|0;try{return ee.grow(n),he(),1}catch{}},xr=e=>{var t=k.length;e>>>=0;var n=Ge();if(e>n)return!1;for(var i=1;i<=4;i*=2){var a=t*(1+.2/i);a=Math.min(a,e+100663296);var c=Math.min(n,Yr(Math.max(e,a),65536)),o=Jr(c);if(o)return!0}return!1},l,wr=e=>!!(e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")),Er=e=>!!(e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")),et=e=>!!(e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")),rt=e=>!!(e.extClipControl=e.getExtension("EXT_clip_control")),tt=e=>!!(e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")),nt=e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")),Re=e=>{var n;var t=["EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return((n=e.getSupportedExtensions())==null?void 0:n.filter(i=>t.includes(i)))??[]},it=e=>{typeof MainLoop<"u"&&MainLoop.preMainLoop.push(e)},w=(e,t,n,i,a=k)=>{{n&&l.bufferSubData(e,t,a,i,n);return}},_={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{_.lastError||(_.lastError=e)},getNewId:e=>{for(var t=_.counter++,n=e.length;n<t;n++)e[n]=null;for(;e[t];)t=_.counter++;return t},genObject:(e,t,n,i)=>{for(var a=0;a<e;a++){var c=l[n](),o=c&&_.getNewId(i);c?(c.name=o,i[o]=c):_.recordError(1282),g[t+a*4>>2]=o}},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:e=>32-Math.clz32(e===0?0:e-1),generateTempBuffers:(e,t)=>{var n=_.log2ceilLookup(_.MAX_TEMP_BUFFER_SIZE);t.tempVertexBufferCounters1=[],t.tempVertexBufferCounters2=[],t.tempVertexBufferCounters1.length=t.tempVertexBufferCounters2.length=n+1,t.tempVertexBuffers1=[],t.tempVertexBuffers2=[],t.tempVertexBuffers1.length=t.tempVertexBuffers2.length=n+1,t.tempIndexBuffers=[],t.tempIndexBuffers.length=n+1;for(var i=0;i<=n;++i){t.tempIndexBuffers[i]=null,t.tempVertexBufferCounters1[i]=t.tempVertexBufferCounters2[i]=0;var a=_.numTempVertexBuffersPerSize;t.tempVertexBuffers1[i]=[],t.tempVertexBuffers2[i]=[];var c=t.tempVertexBuffers1[i],o=t.tempVertexBuffers2[i];c.length=o.length=a;for(var u=0;u<a;++u)c[u]=o[u]=null}if(e){t.tempQuadIndexBuffer=l.createBuffer(),t.GLctx.bindBuffer(34963,t.tempQuadIndexBuffer);for(var f=_.MAX_TEMP_BUFFER_SIZE>>1,v=new Uint16Array(f),i=0,s=0;v[i++]=s,!(i>=f||(v[i++]=s+1,i>=f)||(v[i++]=s+2,i>=f)||(v[i++]=s,i>=f)||(v[i++]=s+2,i>=f)||(v[i++]=s+3,i>=f));)s+=4;t.GLctx.bufferData(34963,v,35044),t.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:e=>{var t=_.log2ceilLookup(e),n=_.currentContext.tempVertexBuffers1[t],i=_.currentContext.tempVertexBufferCounters1[t];_.currentContext.tempVertexBufferCounters1[t]=_.currentContext.tempVertexBufferCounters1[t]+1&_.numTempVertexBuffersPerSize-1;var a=n[i];if(a)return a;var c=l.getParameter(34964);return n[i]=l.createBuffer(),l.bindBuffer(34962,n[i]),l.bufferData(34962,1<<t,35048),l.bindBuffer(34962,c),n[i]},getTempIndexBuffer:e=>{var t=_.log2ceilLookup(e),n=_.currentContext.tempIndexBuffers[t];if(n)return n;var i=l.getParameter(34965);return _.currentContext.tempIndexBuffers[t]=l.createBuffer(),l.bindBuffer(34963,_.currentContext.tempIndexBuffers[t]),l.bufferData(34963,1<<t,35048),l.bindBuffer(34963,i),_.currentContext.tempIndexBuffers[t]},newRenderingFrameStarted:()=>{if(_.currentContext){var e=_.currentContext.tempVertexBuffers1;_.currentContext.tempVertexBuffers1=_.currentContext.tempVertexBuffers2,_.currentContext.tempVertexBuffers2=e,e=_.currentContext.tempVertexBufferCounters1,_.currentContext.tempVertexBufferCounters1=_.currentContext.tempVertexBufferCounters2,_.currentContext.tempVertexBufferCounters2=e;for(var t=_.log2ceilLookup(_.MAX_TEMP_BUFFER_SIZE),n=0;n<=t;++n)_.currentContext.tempVertexBufferCounters1[n]=0}},getSource:(e,t,n,i)=>{for(var a="",c=0;c<t;++c){var o=i?h[i+c*4>>2]:void 0;a+=d(h[n+c*4>>2],o)}return a},calcBufLength:(e,t,n,i)=>{if(n>0)return i*n;var a=_.byteSizeByType[t-_.byteSizeByTypeRoot];return e*a*i},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:e=>{_.resetBufferBinding=!1;for(var t=0;t<_.currentContext.maxVertexAttribs;++t){var n=_.currentContext.clientBuffers[t];if(!(!n.clientside||!n.enabled)){_.resetBufferBinding=!0;var i=_.calcBufLength(n.size,n.type,n.stride,e),a=_.getTempVertexBuffer(i);l.bindBuffer(34962,a),w(34962,0,i,n.ptr),n.vertexAttribPointerAdaptor.call(l,t,n.size,n.type,n.normalized,n.stride,0)}}},postDrawHandleClientVertexAttribBindings:()=>{_.resetBufferBinding&&l.bindBuffer(34962,_.buffers[l.currentArrayBufferBinding])},createContext:(e,t)=>{if(!e.getContextSafariWebGL2Fixed){let a=function(c,o){var u=e.getContextSafariWebGL2Fixed(c,o);return c=="webgl"==u instanceof WebGLRenderingContext?u:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=a}var n=e.getContext("webgl2",t);if(!n)return 0;var i=_.registerContext(n,t);return i},registerContext:(e,t)=>{var n=_.getNewId(_.contexts),i={handle:n,attributes:t,version:t.majorVersion,GLctx:e};e.canvas&&(e.canvas.GLctxObject=i),_.contexts[n]=i,(typeof t.enableExtensionsByDefault>"u"||t.enableExtensionsByDefault)&&_.initExtensions(i),i.maxVertexAttribs=i.GLctx.getParameter(34921),i.clientBuffers=[];for(var a=0;a<i.maxVertexAttribs;a++)i.clientBuffers[a]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return _.generateTempBuffers(!1,i),n},makeContextCurrent:e=>{var t;return _.currentContext=_.contexts[e],r.ctx=l=(t=_.currentContext)==null?void 0:t.GLctx,!(e&&!l)},getContext:e=>_.contexts[e],deleteContext:e=>{var t;_.currentContext===_.contexts[e]&&(_.currentContext=null),typeof JSEvents=="object"&&JSEvents.removeAllHandlersOnTarget(_.contexts[e].GLctx.canvas),(t=_.contexts[e])!=null&&t.GLctx.canvas&&(_.contexts[e].GLctx.canvas.GLctxObject=void 0),_.contexts[e]=null},initExtensions:e=>{if(e||(e=_.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var t=e.GLctx;nt(t),et(t),rt(t),tt(t),wr(t),Er(t),e.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query"));for(var n of Re(t))!n.includes("lose_context")&&!n.includes("debug")&&t.getExtension(n)}}},at=e=>{var t=_.makeContextCurrent(e);return t?0:-5},E={},ct=()=>ve,$=()=>{var a;if(!$.strings){var e=(((a=globalThis.navigator)==null?void 0:a.language)??"C").replace("-","_")+".UTF-8",t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:ct()};for(var n in E)E[n]===void 0?delete t[n]:t[n]=E[n];var i=[];for(var n in t)i.push(`${n}=${t[n]}`);$.strings=i}return $.strings},_t=(e,t)=>{var n=0,i=0;for(var a of $()){var c=t+n;h[e+i>>2]=c,n+=F(a,c,1/0)+1,i+=4}return 0},lt=(e,t)=>{var n=$();h[e>>2]=n.length;var i=0;for(var a of n)i+=x(a)+1;return h[t>>2]=i,0},ot=e=>52,ut=(e,t,n,i)=>52;function ft(e,t,n,i){return 70}var dt=[null,[],[]],vt=(e,t)=>{var n=dt[e];t===0||t===10?((e===1?te:T)(Ae(n)),n.length=0):n.push(t)},st=(e,t,n,i)=>{for(var a=0,c=0;c<n;c++){var o=h[t>>2],u=h[t+4>>2];t+=8;for(var f=0;f<u;f++)vt(e,k[o+f]);a+=u}return h[i>>2]=a,0},gt=e=>l.activeTexture(e),ht=gt,bt=(e,t)=>{l.attachShader(_.programs[e],_.shaders[t])},yt=bt,St=(e,t)=>{l.beginQuery(e,_.queries[t])},jt=St,Bt=(e,t,n)=>{l.bindAttribLocation(_.programs[e],t,d(n))},Ct=Bt,kt=(e,t)=>{if(t&&!_.buffers[t]){var n=l.createBuffer();n.name=t,_.buffers[t]=n}e==34962?l.currentArrayBufferBinding=t:e==34963&&(l.currentElementArrayBufferBinding=t),e==35051?l.currentPixelPackBufferBinding=t:e==35052&&(l.currentPixelUnpackBufferBinding=t),l.bindBuffer(e,_.buffers[t])},Pt=kt,At=(e,t,n)=>{l.bindBufferBase(e,t,_.buffers[n])},Tt=At,Dt=(e,t,n,i,a)=>{l.bindBufferRange(e,t,_.buffers[n],i,a)},mt=Dt,Ft=(e,t)=>{l.bindFramebuffer(e,_.framebuffers[t])},Lt=Ft,It=(e,t)=>{l.bindRenderbuffer(e,_.renderbuffers[t])},Gt=It,Rt=(e,t)=>{l.bindSampler(e,_.samplers[t])},Vt=Rt,Mt=(e,t)=>{l.bindTexture(e,_.textures[t])},Wt=Mt,Ut=e=>{l.bindVertexArray(_.vaos[e]);var t=l.getParameter(34965);l.currentElementArrayBufferBinding=t?t.name|0:0},pt=Ut,Nt=(e,t,n,i)=>l.blendColor(e,t,n,i),Ot=Nt,qt=(e,t)=>l.blendEquationSeparate(e,t),Ht=qt,$t=(e,t,n,i)=>l.blendFuncSeparate(e,t,n,i),Qt=$t,Xt=(e,t,n,i,a,c,o,u,f,v)=>l.blitFramebuffer(e,t,n,i,a,c,o,u,f,v),zt=Xt,Zt=(e,t,n,i)=>{{n&&t?l.bufferData(e,k,i,n,t):l.bufferData(e,t,i);return}},Kt=Zt,Yt=(e,t,n,i)=>w(e,t,n,i),Jt=Yt,xt=e=>l.checkFramebufferStatus(e),wt=xt,Et=e=>l.clear(e),en=Et,rn=(e,t,n,i)=>l.clearBufferfi(e,t,n,i),tn=rn,nn=(e,t,n)=>{l.clearBufferfv(e,t,A,n>>2)},an=nn,cn=(e,t,n)=>{l.clearBufferiv(e,t,g,n>>2)},_n=cn,ln=(e,t,n)=>{l.clearBufferuiv(e,t,h,n>>2)},on=ln,un=(e,t,n,i)=>l.clearColor(e,t,n,i),fn=un,dn=e=>l.clearDepth(e),vn=dn,sn=e=>l.clearStencil(e),gn=sn,hn=(e,t,n)=>(n=Number(n),l.clientWaitSync(_.syncs[e],t,n)),bn=hn,yn=(e,t,n,i)=>{l.colorMask(!!e,!!t,!!n,!!i)},Sn=yn,jn=e=>{l.compileShader(_.shaders[e])},Bn=jn,Cn=(e,t,n,i,a,c,o,u,f)=>{{if(l.currentPixelUnpackBufferBinding||!u){l.compressedTexSubImage2D(e,t,n,i,a,c,o,u,f);return}l.compressedTexSubImage2D(e,t,n,i,a,c,o,k,f,u);return}},kn=Cn,Pn=(e,t,n,i,a,c,o,u,f,v,s)=>{l.currentPixelUnpackBufferBinding?l.compressedTexSubImage3D(e,t,n,i,a,c,o,u,f,v,s):l.compressedTexSubImage3D(e,t,n,i,a,c,o,u,f,k,s,v)},An=Pn,Tn=(e,t,n,i,a)=>l.copyBufferSubData(e,t,n,i,a),Dn=Tn,mn=()=>{var e=_.getNewId(_.programs),t=l.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,_.programs[e]=t,e},Fn=mn,Ln=e=>{var t=_.getNewId(_.shaders);return _.shaders[t]=l.createShader(e),t},In=Ln,Gn=e=>l.cullFace(e),Rn=Gn,Vn=(e,t)=>{for(var n=0;n<e;n++){var i=g[t+n*4>>2],a=_.buffers[i];a&&(l.deleteBuffer(a),a.name=0,_.buffers[i]=null,i==l.currentArrayBufferBinding&&(l.currentArrayBufferBinding=0),i==l.currentElementArrayBufferBinding&&(l.currentElementArrayBufferBinding=0),i==l.currentPixelPackBufferBinding&&(l.currentPixelPackBufferBinding=0),i==l.currentPixelUnpackBufferBinding&&(l.currentPixelUnpackBufferBinding=0))}},Mn=Vn,Wn=(e,t)=>{for(var n=0;n<e;++n){var i=g[t+n*4>>2],a=_.framebuffers[i];a&&(l.deleteFramebuffer(a),a.name=0,_.framebuffers[i]=null)}},Un=Wn,pn=e=>{if(e){var t=_.programs[e];if(!t){_.recordError(1281);return}l.deleteProgram(t),t.name=0,_.programs[e]=null}},Nn=pn,On=(e,t)=>{for(var n=0;n<e;n++){var i=g[t+n*4>>2],a=_.queries[i];a&&(l.deleteQuery(a),_.queries[i]=null)}},qn=On,Hn=(e,t)=>{for(var n=0;n<e;n++){var i=g[t+n*4>>2],a=_.renderbuffers[i];a&&(l.deleteRenderbuffer(a),a.name=0,_.renderbuffers[i]=null)}},$n=Hn,Qn=(e,t)=>{for(var n=0;n<e;n++){var i=g[t+n*4>>2],a=_.samplers[i];a&&(l.deleteSampler(a),a.name=0,_.samplers[i]=null)}},Xn=Qn,zn=e=>{if(e){var t=_.shaders[e];if(!t){_.recordError(1281);return}l.deleteShader(t),_.shaders[e]=null}},Zn=zn,Kn=e=>{if(e){var t=_.syncs[e];if(!t){_.recordError(1281);return}l.deleteSync(t),t.name=0,_.syncs[e]=null}},Yn=Kn,Jn=(e,t)=>{for(var n=0;n<e;n++){var i=g[t+n*4>>2],a=_.textures[i];a&&(l.deleteTexture(a),a.name=0,_.textures[i]=null)}},xn=Jn,wn=(e,t)=>{for(var n=0;n<e;n++){var i=g[t+n*4>>2];l.deleteVertexArray(_.vaos[i]),_.vaos[i]=null}},En=wn,ei=e=>l.depthFunc(e),ri=ei,ti=e=>{l.depthMask(!!e)},ni=ti,ii=(e,t)=>l.depthRange(e,t),ai=ii,ci=(e,t)=>{l.detachShader(_.programs[e],_.shaders[t])},_i=ci,li=e=>l.disable(e),oi=li,ui=e=>{var t=_.currentContext.clientBuffers[e];t.enabled=!1,l.disableVertexAttribArray(e)},fi=ui,di=(e,t,n)=>{_.preDrawHandleClientVertexAttribBindings(t+n),l.drawArrays(e,t,n),_.postDrawHandleClientVertexAttribBindings()},vi=di,si=(e,t,n,i)=>{l.drawArraysInstanced(e,t,n,i)},gi=si,le=[],hi=(e,t)=>{for(var n=le[e],i=0;i<e;i++)n[i]=g[t+i*4>>2];l.drawBuffers(n)},bi=hi,yi=(e,t,n,i)=>{var a,c=0;if(!l.currentElementArrayBufferBinding){var o=_.calcBufLength(1,n,0,t);if(a=_.getTempIndexBuffer(o),l.bindBuffer(34963,a),w(34963,0,o,i),t>0)for(var u=0;u<_.currentContext.maxVertexAttribs;++u){var f=_.currentContext.clientBuffers[u];if(f.clientside&&f.enabled){let v;switch(n){case 5121:v=Uint8Array;break;case 5123:v=Uint16Array;break;case 5125:v=Uint32Array;break;default:_.recordError(1282);return}c=new v(k.buffer,i,t).reduce((s,S)=>Math.max(s,S))+1;break}}i=0}_.preDrawHandleClientVertexAttribBindings(c),l.drawElements(e,t,n,i),_.postDrawHandleClientVertexAttribBindings(t),l.currentElementArrayBufferBinding||l.bindBuffer(34963,null)},Si=yi,ji=(e,t,n,i,a)=>{l.drawElementsInstanced(e,t,n,i,a)},Bi=ji,Ci=e=>l.enable(e),ki=Ci,Pi=e=>{var t=_.currentContext.clientBuffers[e];t.enabled=!0,l.enableVertexAttribArray(e)},Ai=Pi,Ti=e=>l.endQuery(e),Di=Ti,mi=(e,t)=>{var n=l.fenceSync(e,t);if(n){var i=_.getNewId(_.syncs);return n.name=i,_.syncs[i]=n,i}return 0},Fi=mi,Li=()=>l.finish(),Ii=Li,Gi=()=>l.flush(),Ri=Gi,Vi=(e,t,n,i)=>{l.framebufferRenderbuffer(e,t,n,_.renderbuffers[i])},Mi=Vi,Wi=(e,t,n,i,a)=>{l.framebufferTexture2D(e,t,n,_.textures[i],a)},Ui=Wi,pi=(e,t,n,i,a)=>{l.framebufferTextureLayer(e,t,_.textures[n],i,a)},Ni=pi,Oi=e=>l.frontFace(e),qi=Oi,Hi=(e,t)=>{_.genObject(e,t,"createBuffer",_.buffers)},$i=Hi,Qi=(e,t)=>{_.genObject(e,t,"createFramebuffer",_.framebuffers)},Xi=Qi,zi=(e,t)=>{_.genObject(e,t,"createQuery",_.queries)},Zi=zi,Ki=(e,t)=>{_.genObject(e,t,"createRenderbuffer",_.renderbuffers)},Yi=Ki,Ji=(e,t)=>{_.genObject(e,t,"createSampler",_.samplers)},xi=Ji,wi=(e,t)=>{_.genObject(e,t,"createTexture",_.textures)},Ei=wi,ea=(e,t)=>{_.genObject(e,t,"createVertexArray",_.vaos)},ra=ea,ta=e=>l.generateMipmap(e),na=ta,ia=(e,t)=>l.getAttribLocation(_.programs[e],d(t)),aa=ia,ca=(e,t,n,i)=>{if(!i){_.recordError(1281);return}n&&l.getBufferSubData(e,t,k,i,n)},_a=ca,la=()=>{var e=l.getError()||_.lastError;return _.lastError=0,e},oa=la,ua=(e,t)=>{h[e>>2]=t;var n=h[e>>2];h[e+4>>2]=(t-n)/4294967296},oe=()=>{var e=Re(l);return e=e.concat(e.map(t=>"GL_"+t)),e},Ve=(e,t,n)=>{if(!t){_.recordError(1281);return}var i=void 0;switch(e){case 36346:i=1;break;case 36344:n!=0&&n!=1&&_.recordError(1280);return;case 34814:case 36345:i=0;break;case 34466:var a=l.getParameter(34467);i=a?a.length:0;break;case 33309:if(_.currentContext.version<2){_.recordError(1282);return}i=oe().length;break;case 33307:case 33308:if(_.currentContext.version<2){_.recordError(1280);return}i=e==33307?3:0;break}if(i===void 0){var c=l.getParameter(e);switch(typeof c){case"number":i=c;break;case"boolean":i=c?1:0;break;case"string":_.recordError(1280);return;case"object":if(c===null)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{i=0;break}default:{_.recordError(1280);return}}else if(c instanceof Float32Array||c instanceof Uint32Array||c instanceof Int32Array||c instanceof Array){for(var o=0;o<c.length;++o)switch(n){case 0:g[t+o*4>>2]=c[o];break;case 2:A[t+o*4>>2]=c[o];break;case 4:m[t+o]=c[o]?1:0;break}return}else try{i=c.name|0}catch(u){_.recordError(1280),T(`GL_INVALID_ENUM in glGet${n}v: Unknown object returned from WebGL getParameter(${e})! (error: ${u})`);return}break;default:_.recordError(1280),T(`GL_INVALID_ENUM in glGet${n}v: Native code calling glGet${n}v(${e}) and it returns ${c} of type ${typeof c}!`);return}}switch(n){case 1:ua(t,i);break;case 0:g[t>>2]=i;break;case 2:A[t>>2]=i;break;case 4:m[t]=i?1:0;break}},fa=(e,t)=>Ve(e,t,2),da=fa,va=(e,t)=>Ve(e,t,0),sa=va,ga=(e,t,n,i,a)=>{_.recordError(1282)},ha=ga,ba=(e,t,n,i)=>{var a=l.getProgramInfoLog(_.programs[e]);a===null&&(a="(unknown error)");var c=t>0&&i?F(a,i,t):0;n&&(g[n>>2]=c)},ya=ba,Sa=(e,t,n)=>{if(!n){_.recordError(1281);return}if(e>=_.counter){_.recordError(1281);return}if(e=_.programs[e],t==35716){var i=l.getProgramInfoLog(e);i===null&&(i="(unknown error)"),g[n>>2]=i.length+1}else if(t==35719){if(!e.maxUniformLength)for(var a=l.getProgramParameter(e,35718),c=0;c<a;++c)e.maxUniformLength=Math.max(e.maxUniformLength,l.getActiveUniform(e,c).name.length+1);g[n>>2]=e.maxUniformLength}else if(t==35722){if(!e.maxAttributeLength)for(var o=l.getProgramParameter(e,35721),c=0;c<o;++c)e.maxAttributeLength=Math.max(e.maxAttributeLength,l.getActiveAttrib(e,c).name.length+1);g[n>>2]=e.maxAttributeLength}else if(t==35381){if(!e.maxUniformBlockNameLength)for(var u=l.getProgramParameter(e,35382),c=0;c<u;++c)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,l.getActiveUniformBlockName(e,c).length+1);g[n>>2]=e.maxUniformBlockNameLength}else g[n>>2]=l.getProgramParameter(e,t)},ja=Sa,Ba=(e,t,n)=>{if(!n){_.recordError(1281);return}var i=_.queries[e],a=l.getQueryParameter(i,t),c;typeof a=="boolean"?c=a?1:0:c=a,g[n>>2]=c},Ca=Ba,ka=(e,t,n,i)=>{var a=l.getShaderInfoLog(_.shaders[e]);a===null&&(a="(unknown error)");var c=t>0&&i?F(a,i,t):0;n&&(g[n>>2]=c)},Pa=ka,Aa=(e,t,n)=>{if(!n){_.recordError(1281);return}if(t==35716){var i=l.getShaderInfoLog(_.shaders[e]);i===null&&(i="(unknown error)");var a=i?i.length+1:0;g[n>>2]=a}else if(t==35720){var c=l.getShaderSource(_.shaders[e]),o=c?c.length+1:0;g[n>>2]=o}else g[n>>2]=l.getShaderParameter(_.shaders[e],t)},Ta=Aa,L=e=>{var t=x(e)+1,n=X(t);return n&&F(e,n,t),n},Da=e=>{var t=_.stringCache[e];if(!t){switch(e){case 7939:t=L(oe().join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=l.getParameter(e);n||_.recordError(1280),t=n?L(n):0;break;case 7938:var i=l.getParameter(7938),a=`OpenGL ES 2.0 (${i})`;a=`OpenGL ES 3.0 (${i})`,t=L(a);break;case 35724:var c=l.getParameter(35724),o=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/,u=c.match(o);u!==null&&(u[1].length==3&&(u[1]=u[1]+"0"),c=`OpenGL ES GLSL ES ${u[1]} (${c})`),t=L(c);break;default:_.recordError(1280)}_.stringCache[e]=t}return t},ma=Da,Fa=(e,t)=>{if(_.currentContext.version<2)return _.recordError(1282),0;var n=_.stringiCache[e];if(n)return t<0||t>=n.length?(_.recordError(1281),0):n[t];switch(e){case 7939:var i=oe().map(L);return n=_.stringiCache[e]=i,t<0||t>=n.length?(_.recordError(1281),0):n[t];default:return _.recordError(1280),0}},La=Fa,Ia=(e,t)=>l.getUniformBlockIndex(_.programs[e],d(t)),Ga=Ia,Ra=e=>parseInt(e),Me=e=>e.slice(-1)=="]"&&e.lastIndexOf("["),Va=e=>{var t=e.uniformLocsById,n=e.uniformSizeAndIdsByName,i,a;if(!t){e.uniformLocsById=t={},e.uniformArrayNamesById={};var c=l.getProgramParameter(e,35718);for(i=0;i<c;++i){var o=l.getActiveUniform(e,i),u=o.name,f=o.size,v=Me(u),s=v>0?u.slice(0,v):u,S=e.uniformIdCounter;for(e.uniformIdCounter+=f,n[s]=[f,S],a=0;a<f;++a)t[S]=a,e.uniformArrayNamesById[S++]=s}}},Ma=(e,t)=>{if(t=d(t),e=_.programs[e]){Va(e);var n=e.uniformLocsById,i=0,a=t,c=Me(t);c>0&&(i=Ra(t.slice(c+1))>>>0,a=t.slice(0,c));var o=e.uniformSizeAndIdsByName[a];if(o&&i<o[0]&&(i+=o[1],n[i]=n[i]||l.getUniformLocation(e,t)))return i}else _.recordError(1281);return-1},Wa=Ma,Ua=(e,t)=>l.hint(e,t),pa=Ua,Na=(e,t,n)=>{for(var i=le[t],a=0;a<t;a++)i[a]=g[n+a*4>>2];l.invalidateFramebuffer(e,i)},Oa=Na,qa=e=>{e=_.programs[e],l.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},Ha=qa,We=e=>{switch(e){case 34962:e=34964;break;case 34963:e=34965;break;case 35051:e=35053;break;case 35052:e=35055;break;case 35982:e=35983;break;case 36662:e=36662;break;case 36663:e=36663;break;case 35345:e=35368;break}var t=l.getParameter(e);return t?t.name|0:0},Ue=e=>{switch(e){case 34962:case 34963:case 36662:case 36663:case 35051:case 35052:case 35882:case 35982:case 35345:return!0;default:return!1}},$a=(e,t,n,i)=>{var o;if((i&33)!=0)return T("glMapBufferRange access does not support MAP_READ or MAP_UNSYNCHRONIZED"),0;if((i&2)==0)return T("glMapBufferRange access must include MAP_WRITE"),0;if((i&12)==0)return T("glMapBufferRange access must include INVALIDATE_BUFFER or INVALIDATE_RANGE"),0;if(!Ue(e))return _.recordError(1280),T("GL_INVALID_ENUM in glMapBufferRange"),0;var a=X(n),c=We(e);return a?(c=(o=_.mappedBuffers)[c]??(o[c]={}),c.offset=t,c.length=n,c.mem=a,c.access=i,a):0},Qa=$a,Xa=(e,t)=>{e==3317?_.unpackAlignment=t:e==3314&&(_.unpackRowLength=t),l.pixelStorei(e,t)},za=Xa,Za=(e,t)=>l.polygonOffset(e,t),Ka=Za,Ya=(e,t,n,i)=>{_.recordError(1280)},Ja=Ya,xa=e=>l.readBuffer(e),wa=xa,Q=e=>(e-=5120,e==0?m:e==1?k:e==2?q:e==4?g:e==6?A:e==5||e==28922||e==28520||e==30779||e==30782?h:U),N=(e,t)=>e>>>31-Math.clz32(t.BYTES_PER_ELEMENT),Ea=(e,t,n,i,a,c,o)=>{{if(l.currentPixelPackBufferBinding){l.readPixels(e,t,n,i,a,c,o);return}var u=Q(c),f=N(o,u);l.readPixels(e,t,n,i,a,c,u,f);return}},ec=Ea,rc=(e,t,n,i)=>l.renderbufferStorage(e,t,n,i),tc=rc,nc=(e,t,n,i,a)=>l.renderbufferStorageMultisample(e,t,n,i,a),ic=nc,ac=(e,t,n)=>{l.samplerParameterf(_.samplers[e],t,n)},cc=ac,_c=(e,t,n)=>{l.samplerParameteri(_.samplers[e],t,n)},lc=_c,oc=(e,t,n,i)=>l.scissor(e,t,n,i),uc=oc,fc=(e,t,n,i)=>{var a=_.getSource(e,t,n,i);l.shaderSource(_.shaders[e],a)},dc=fc,vc=(e,t,n)=>l.stencilFunc(e,t,n),sc=vc,gc=(e,t,n,i)=>l.stencilFuncSeparate(e,t,n,i),hc=gc,bc=e=>l.stencilMask(e),yc=bc,Sc=(e,t)=>l.stencilMaskSeparate(e,t),jc=Sc,Bc=(e,t,n)=>l.stencilOp(e,t,n),Cc=Bc,kc=(e,t,n,i)=>l.stencilOpSeparate(e,t,n,i),Pc=kc,Ac=(e,t,n)=>{function i(o,u){return o+u-1&-u}var a=(_.unpackRowLength||e)*n,c=i(a,_.unpackAlignment);return t*c},Tc=e=>{var t={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return t[e-6402]||1},pe=(e,t,n,i,a)=>{var c=Q(e),o=Tc(t)*c.BYTES_PER_ELEMENT,u=Ac(n,i,o);return c.subarray(N(a,c),N(a+u,c))},Dc=(e,t,n,i,a,c,o,u,f)=>{{if(l.currentPixelUnpackBufferBinding){l.texImage2D(e,t,n,i,a,c,o,u,f);return}if(f){var v=Q(u),s=N(f,v);l.texImage2D(e,t,n,i,a,c,o,u,v,s);return}}var S=f?pe(u,o,i,a,f):null;l.texImage2D(e,t,n,i,a,c,o,u,S)},mc=Dc,Fc=(e,t,n)=>l.texParameterf(e,t,n),Lc=Fc,Ic=(e,t,n)=>l.texParameteri(e,t,n),Gc=Ic,Rc=(e,t,n,i,a)=>l.texStorage2D(e,t,n,i,a),Vc=Rc,Mc=(e,t,n,i,a,c)=>l.texStorage3D(e,t,n,i,a,c),Wc=Mc,Uc=(e,t,n,i,a,c,o,u,f)=>{{if(l.currentPixelUnpackBufferBinding){l.texSubImage2D(e,t,n,i,a,c,o,u,f);return}if(f){var v=Q(u);l.texSubImage2D(e,t,n,i,a,c,o,u,v,N(f,v));return}}var s=f?pe(u,o,a,c,f):null;l.texSubImage2D(e,t,n,i,a,c,o,u,s)},pc=Uc,Nc=(e,t,n,i,a,c,o,u,f,v,s)=>{if(l.currentPixelUnpackBufferBinding)l.texSubImage3D(e,t,n,i,a,c,o,u,f,v,s);else if(s){var S=Q(v);l.texSubImage3D(e,t,n,i,a,c,o,u,f,v,S,N(s,S))}else l.texSubImage3D(e,t,n,i,a,c,o,u,f,v,null)},Oc=Nc,qc=(e,t)=>{if(e){var n=e.uniformLocsById[t];return typeof n=="number"&&(e.uniformLocsById[t]=n=l.getUniformLocation(e,e.uniformArrayNamesById[t]+(n>0?`[${n}]`:""))),n}else _.recordError(1282)},D=e=>qc(l.currentProgram,e),Hc=(e,t)=>{l.uniform1f(D(e),t)},$c=Hc,Qc=(e,t,n)=>{t&&l.uniform1fv(D(e),A,n>>2,t)},Xc=Qc,zc=(e,t)=>{l.uniform1i(D(e),t)},Zc=zc,Kc=(e,t,n)=>{t&&l.uniform1iv(D(e),g,n>>2,t)},Yc=Kc,Jc=(e,t)=>{l.uniform1ui(D(e),t)},xc=Jc,wc=(e,t,n)=>{t&&l.uniform2fv(D(e),A,n>>2,t*2)},Ec=wc,e_=(e,t,n)=>{t&&l.uniform2iv(D(e),g,n>>2,t*2)},r_=e_,t_=(e,t,n)=>{t&&l.uniform3fv(D(e),A,n>>2,t*3)},n_=t_,i_=(e,t,n)=>{t&&l.uniform3iv(D(e),g,n>>2,t*3)},a_=i_,c_=(e,t,n)=>{t&&l.uniform4fv(D(e),A,n>>2,t*4)},__=c_,l_=(e,t,n)=>{t&&l.uniform4iv(D(e),g,n>>2,t*4)},o_=l_,u_=(e,t,n)=>{e=_.programs[e],l.uniformBlockBinding(e,t,n)},f_=u_,d_=(e,t,n,i)=>{t&&l.uniformMatrix3fv(D(e),!!n,A,i>>2,t*9)},v_=d_,s_=(e,t,n,i)=>{t&&l.uniformMatrix4fv(D(e),!!n,A,i>>2,t*16)},g_=s_,h_=e=>{if(!Ue(e))return _.recordError(1280),T("GL_INVALID_ENUM in glUnmapBuffer"),0;var t=We(e),n=_.mappedBuffers[t];return!n||!n.mem?(_.recordError(1282),T("buffer was never mapped in glUnmapBuffer"),0):(n.access&16||w(e,n.offset,n.length,n.mem),R(n.mem),n.mem=0,1)},b_=h_,y_=e=>{e=_.programs[e],l.useProgram(e),l.currentProgram=e},S_=y_,j_=(e,t,n,i,a)=>l.vertexAttrib4f(e,t,n,i,a),B_=j_,C_=(e,t)=>{l.vertexAttribDivisor(e,t)},k_=C_,P_=(e,t,n,i,a)=>l.vertexAttribI4ui(e,t,n,i,a),A_=P_,T_=(e,t,n,i,a)=>{var c=_.currentContext.clientBuffers[e];if(!l.currentArrayBufferBinding){c.size=t,c.type=n,c.normalized=!1,c.stride=i,c.ptr=a,c.clientside=!0,c.vertexAttribPointerAdaptor=function(o,u,f,v,s,S){this.vertexAttribIPointer(o,u,f,s,S)};return}c.clientside=!1,l.vertexAttribIPointer(e,t,n,i,a)},D_=T_,m_=(e,t,n,i,a,c)=>{var o=_.currentContext.clientBuffers[e];if(!l.currentArrayBufferBinding){o.size=t,o.type=n,o.normalized=i,o.stride=a,o.ptr=c,o.clientside=!0,o.vertexAttribPointerAdaptor=function(u,f,v,s,S,P){this.vertexAttribPointer(u,f,v,s,S,P)};return}o.clientside=!1,l.vertexAttribPointer(e,t,n,!!i,a,c)},F_=m_,L_=(e,t,n,i)=>l.viewport(e,t,n,i),I_=L_,b=e=>z.get(e),G_=(e,t)=>{if(V)for(var n=e;n<e+t;n++){var i=b(n);i&&V.set(i,n)}},V,R_=e=>(V||(V=new WeakMap,G_(0,z.length)),V.get(e)||0),ue=[],V_=()=>ue.length?ue.pop():z.grow(1),fe=(e,t)=>z.set(e,t),Ne=e=>{const t=e.length;return[t%128|128,t>>7,...e]},M_={i:127,p:127,j:126,f:125,d:124,e:111},Oe=e=>Ne(Array.from(e,t=>{var n=M_[t];return n})),W_=(e,t)=>{var n=Uint8Array.of(0,97,115,109,1,0,0,0,1,...Ne([1,96,...Oe(t.slice(1)),...Oe(t[0]==="v"?"":t[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),i=new WebAssembly.Module(n),a=new WebAssembly.Instance(i,{e:{f:e}}),c=a.exports.f;return c},U_=(e,t)=>{var n=R_(e);if(n)return n;var i=V_();try{fe(i,e)}catch(c){if(!(c instanceof TypeError))throw c;var a=W_(e,t);fe(i,a)}return V.set(e,i),i},p_=e=>{V.delete(b(e)),fe(e,null),ue.push(e)};it(()=>_.newRenderingFrameStarted());for(let e=0;e<32;++e)le.push(new Array(e));if(r.noExitRuntime&&r.noExitRuntime,r.print&&(te=r.print),r.printErr&&(T=r.printErr),r.wasmBinary&&(O=r.wasmBinary),r.arguments&&r.arguments,r.thisProgram&&(ve=r.thisProgram),r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.shift()();r.ENV=E,r.addFunction=U_,r.removeFunction=p_,r.UTF8ToString=d,r.stringToUTF8=F,r.lengthBytesUTF8=x,r.stringToNewUTF8=L,r.GL=_;var N_={664384:()=>{const e=r.filament_glOptions||window.filament_glOptions,t=r.filament_glContext||window.filament_glContext,n=_.registerContext(t,e);return window.filament_contextHandle=n,_.makeContextCurrent(n),n},664671:()=>{const e=r.creator2d_glContext||typeof window<"u"&&window.creator2d_glContext,t=r.creator2d_glOptions||typeof window<"u"&&window.creator2d_glOptions||{},n=_.registerContext(e,t);return _.makeContextCurrent(n),n}};function O_(e){r.jsb._init(e)}function q_(e){r.jsb.dup(e)}function H_(e){r.jsb.release(e)}function $_(e){r.jsb.global(e)}function Q_(e,t,n){r.jsb.get(e,t,d(n))}function X_(e,t,n){r.jsb.getIndex(e,t,n)}function z_(e,t,n){return r.jsb.has(e,t,d(n))?1:0}function Z_(e,t,n,i){r.jsb.set(e,d(t),n,i)}function K_(e,t,n,i){r.jsb.setIndex(e,t,n,i)}function Y_(e,t,n){return r.jsb.keys(e,t,n)}function J_(e,t){r.jsb.newObject(e,t)}function x_(){r.jsb.newArray()}function w_(e,t){r.jsb.newString(d(e,t))}function E_(e,t,n){return r.jsb.str(e,t,n)}function el(e,t){return r.jsb.logString(e,t)}function rl(e){return r.jsb.toNumber(e)}function tl(e){return r.jsb.truthy(e)?1:0}function nl(e){r.jsb.newError(d(e))}function il(e,t){r.jsb.throwNew(e,d(t))}function al(){r.jsb.takeException()}function cl(e,t,n,i,a,c){r.jsb.call(e,t,n,i,a,c)}function _l(e,t,n,i){r.jsb.eval(e,d(t,n),d(i))}function ll(){return r.jsb.newContext()}function ol(e){r.jsb.freeContext(e)}function ul(e,t){r.jsb.parseJson(d(e,t))}function fl(e,t,n){r.jsb.typedArray(e,t,n)}function dl(e,t,n,i){return r.jsb.arrayIn(e,t,n,i)}function vl(e,t,n){r.jsb.arrayOut(e,t,n)}function sl(e,t,n,i){r.jsb.makeFunction(e,t,n?d(n):"",i)}function gl(e,t,n,i,a,c){r.jsb.defineMethod(e,t,d(n),i,a,c)}function hl(){r.jsb.gc()}function bl(e){return r.jsb.host[d(e)]?1:0}function yl(e,t){const n=r.jsb.host[d(e)];return n&&typeof n[d(t)]=="function"?1:0}function Sl(e,t){const n=r.jsb.host[d(e)],i=n?n[d(t)]:void 0;return i==null?0:L(String(i))}function jl(e,t){const n=r.jsb.host[d(e)],i=n?Number(n[d(t)]):0;return i===i?i:0}function Bl(){return r.jsb.host.gl.getGLContext()|0}function Cl(){r.jsb.host.gl.engineCreated()}function kl(){r.jsb.host.gl.createGLView()}function Pl(){r.jsb.host.gl.closeScene()}function Al(e,t,n,i){const a=r.jsb.group(n,i);r.jsb.host.gl.createTexture(e,t,r.jsb.callback(n,a),r.jsb.callback(i,a))}function Tl(e){return r.jsb.host.gl.createMediaPlayerTexture(e)||0}function Dl(e,t,n){const i=r.jsb.group(t,n);r.jsb.host.gl.launchAR(e,r.jsb.callback(t,i),r.jsb.callback(n,i))}function ml(){r.jsb.host.gl.stopAR()}function Fl(e,t,n){const i=r.jsb.group(t,n);r.jsb.host.gl.launchVR(e,r.jsb.callback(t,i),r.jsb.callback(n,i))}function Ll(){r.jsb.host.gl.stopVR()}function Il(e,t,n){r.jsb.host.gl.createARController(e,t,n?d(n):null)}function Gl(e,t){r.jsb.host.gl.createRootAnchor(e,t)}function Rl(e,t,n,i){r.jsb.host.gl.createAnchor(e,t,n,i)}function Vl(e){r.jsb.host.scene2d.open2DScene(e)}function Ml(){r.jsb.host.scene2d.close2DScene()}function Wl(){r.jsb.host.scene2d.init2D()}function Ul(e,t,n,i){r.jsb.host.ui.nodeFactory(e,t?d(t):null,n,i)}function pl(e,t,n){r.jsb.host.ui.setPropertyString(e,t?d(t):null,n?d(n):null)}function Nl(e,t,n){r.jsb.host.ui.setPropertyInt(e,t?d(t):null,n)}function Ol(e,t){r.jsb.host.ui.setFlags(e,t)}function ql(e,t,n){r.jsb.host.ui.insertNode(e,t,n)}function Hl(e,t){r.jsb.host.ui.removeNode(e,t)}function $l(e){r.jsb.host.ui.releaseNode(e)}function Ql(e,t,n,i,a,c){r.jsb.host.ui.openView(e,t,n,i?d(i):null,a?d(a):null,!!c)}function Xl(e,t,n){r.jsb.host.ui.dropView(e,t,n)}function zl(){r.jsb.host.ui.closeView()}function Zl(e){return r.jsb.host.ui.isViewSupported(e?d(e):null)?1:0}function Kl(e){return r.jsb.host.ui.viewVersion(e?d(e):null)||0}function Yl(e,t,n,i,a){const c=r.jsb.group(i,a);r.jsb.host.ui.viewCall(e,t?d(t):null,r.jsb.valueAt(n),r.jsb.callback(i,c),r.jsb.callback(a,c))}function Jl(e,t,n,i){r.jsb.host.ui.widgetOpen(e,t,n,i)}function xl(e){r.jsb.host.ui.widgetClose(e)}function wl(e,t,n,i,a,c){const o=r.jsb.group(a,c);r.jsb.host.ui.registerFont(e?d(e):null,t?d(t):null,n,i,r.jsb.callback(a,o),r.jsb.callback(c,o))}function El(e,t){r.jsb.host.ui.showToast(e?d(e):null,t)}function eo(e){return r.jsb.host.ui.getButtonPressed(e)?1:0}function ro(e){const t=r.jsb.host.ui.getTextValue(e);return t==null?0:L(String(t))}function to(e,t){const n=r.jsb.host.ui.getBoundingRect(e);if(!n)return 0;for(let i=0;i<4;i++)A[(t>>2)+i]=n[i]||0;return 1}function no(e,t,n,i){r.jsb.host.ui.touchHandler(e,!!t,n,i)}function io(e,t){r.jsb.host.ui.longPressHandler(e,t)}function ao(e,t,n){r.jsb.host.ui.vlistScroll(e,t,!!n)}function co(e,t,n){r.jsb.host.ui.pagerCommand(e,t?d(t):null,!!n)}function _o(e,t,n){r.jsb.host.ui.pagerShowPage(e,t,!!n)}function lo(e,t){r.jsb.host.ui.pagerDropPage(e,t)}function oo(e,t){r.jsb.host.ui.pagerPageMounted(e,!!t)}function uo(e,t,n,i,a,c,o,u,f,v){return r.jsb.host.ui.tweenClaim(e,t?d(t):null,n,A.subarray(i>>2,(i>>2)+a),c,o,u,!!f,v)?1:0}function fo(e,t,n){r.jsb.host.ui.tweenRelease(e,t?d(t):null,n)}function vo(e,t,n,i,a,c,o,u){r.jsb.host.canvas.paint(e,t,n,i,A.subarray(a>>2,(a>>2)+c),r.jsb.strings(o,u))}function so(e,t,n,i,a,c){r.jsb.host.canvas.measureText(e?d(e):null,t?d(t):null,n,i,!!a,A.subarray(c>>2,(c>>2)+16))}function go(e,t,n){return r.jsb.host.canvas.decodeImage(e,t,g.subarray(n>>2,(n>>2)+16))?1:0}function ho(e,t){const n=r.jsb.host.canvas.readPixels(e,g.subarray(t>>2,(t>>2)+16));return r.jsb.bytesOut(n,0)}function bo(e){r.jsb.host.canvas.releaseSurface(e)}function yo(){const e=r.jsb.host.app.state();return e==null?0:L(String(e))}function So(){return r.jsb.host.app.isOnline()?1:0}function jo(e){r.jsb.host.app.openUrl(e?d(e):null)}function Bo(e){r.jsb.host.app.setOrientation(e?d(e):null)}function Co(e,t){r.jsb.host.app.worldChange(e?d(e):null,!!t)}function ko(){r.jsb.host.app.exit()}function Po(e){r.jsb.host.device.setPreciseTouch(!!e)}function Ao(e){r.jsb.host.device.vibrate(e?d(e):null)}function To(){return r.jsb.host.device.motionAvailable()?1:0}function Do(e){return r.jsb.host.device.motionStart(e)?1:0}function mo(){r.jsb.host.device.motionStop()}function Fo(e){const t=r.jsb.host.device.motionSample();if(!t)return 0;for(let n=0;n<8;n++)A[(e>>2)+n]=t[n]||0;return 1}function Lo(e){r.jsb.host.device.clipboardWrite(e?d(e):null)}function Io(e,t){const n=r.jsb.group(e,t);r.jsb.host.device.clipboardRead(r.jsb.callback(e,n),r.jsb.callback(t,n))}function Go(e,t){r.jsb.host.device.share(e,t?d(t):null)}function Ro(e,t,n,i){const a=r.jsb.group(e,t);r.jsb.host.device.openFilePicker(r.jsb.callback(e,a),r.jsb.callback(t,a),!!n,i?d(i):null)}function Vo(e,t){const n=r.jsb.group(e,t);r.jsb.host.device.requestCamera(r.jsb.callback(e,n),r.jsb.callback(t,n))}function Mo(e){return r.jsb.host.fetch.local(e?d(e):null)||0}function Wo(e){r.jsb.host.fetch.dispose(e)}function Uo(e,t,n,i,a,c,o,u,f,v){const s=r.jsb.group(u,f,v);r.jsb.host.fetch.request(e?d(e):null,t?d(t):null,r.jsb.strings(n,i),a?d(a):null,Array.from({length:o},(S,P)=>({key:h[c+P*16+0>>2]?d(h[c+P*16+0>>2]):null,value:h[c+P*16+4>>2]?d(h[c+P*16+4>>2]):null,bufferId:g[c+P*16+8>>2],filename:h[c+P*16+12>>2]?d(h[c+P*16+12>>2]):null})),r.jsb.callback(u,s),r.jsb.callback(f,s),r.jsb.callback(v,s))}function po(e,t,n){const i=r.jsb.host.fetch.buffer(e,!!t);return r.jsb.bytesOut(i,n)}function No(e,t,n,i,a){const c=r.jsb.host.fetch.bufferSlice(e,t,n,!!i);return r.jsb.bytesOut(c,a)}function Oo(e,t){const n=r.jsb.host.fetch.systemBuffer(e);return r.jsb.bytesOut(n,t)}function qo(e,t){return r.jsb.host.fetch.putBuffer(k.subarray(e,e+t))||0}function Ho(e,t,n){const i=r.jsb.group(t,n);r.jsb.host.files.readBytes(e?d(e):null,r.jsb.callback(t,i),r.jsb.callback(n,i))}function $o(e,t,n){const i=r.jsb.group(t,n);r.jsb.host.files.readText(e?d(e):null,r.jsb.callback(t,i),r.jsb.callback(n,i))}function Qo(e,t,n,i){const a=r.jsb.group(n,i);r.jsb.host.files.remove(e?d(e):null,!!t,r.jsb.callback(n,a),r.jsb.callback(i,a))}function Xo(e,t,n){const i=r.jsb.group(t,n);r.jsb.host.files.mkdir(e?d(e):null,r.jsb.callback(t,i),r.jsb.callback(n,i))}function zo(e,t,n,i){const a=r.jsb.group(n,i);r.jsb.host.files.list(e?d(e):null,!!t,r.jsb.callback(n,a),r.jsb.callback(i,a))}function Zo(e,t,n){const i=r.jsb.group(t,n);r.jsb.host.files.stat(e?d(e):null,r.jsb.callback(t,i),r.jsb.callback(n,i))}function Ko(e,t,n,i,a,c){const o=r.jsb.group(a,c);r.jsb.host.files.write(e?d(e):null,k.subarray(t,t+n),!!i,r.jsb.callback(a,o),r.jsb.callback(c,o))}function Yo(e){const t=r.jsb.host.storage.load(e?d(e):null);return t==null?0:L(String(t))}function Jo(e,t){r.jsb.host.storage.save(e?d(e):null,t?d(t):null)}function xo(e,t){r.jsb.host.socket.send(e,t?d(t):null)}function wo(e,t){return r.jsb.host.socket.open(e?d(e):null,r.jsb.callback(t,null))||0}function Eo(e){r.jsb.host.socket.close(e)}function eu(e){return r.jsb.host.service.supported(e?d(e):null)?1:0}function ru(e,t,n){return r.jsb.host.service.open(e?d(e):null,t?d(t):null,r.jsb.callback(n,null))||0}function tu(e){r.jsb.host.service.close(e)}function nu(e){return r.jsb.host.service.version(e?d(e):null)||0}function iu(e,t,n,i,a){const c=r.jsb.group(i,a);r.jsb.host.service.call(e,t?d(t):null,r.jsb.valueAt(n),r.jsb.callback(i,c),r.jsb.callback(a,c))}function au(e,t){return r.jsb.host.input.key(e?d(e):null,t)?1:0}function cu(e){return r.jsb.host.input.read(e)||0}function _u(e){return r.jsb.host.input.setPointerLock(!!e)?1:0}function lu(e,t,n,i){return r.jsb.host.input.rumble(e,t,n,i)?1:0}function ou(){return r.jsb.host.input.keyboardHeight()||0}function uu(e,t){r.jsb.host.media.setVolume(e,t)}function fu(e){return r.jsb.host.media.time(e)||0}function du(e,t){r.jsb.host.media.setTime(e,t)}function vu(e){return r.jsb.host.media.duration(e)||0}function su(e,t){return r.jsb.host.media.createAudio(e?d(e):null,r.jsb.callback(t,null))||0}function gu(e,t){return r.jsb.host.media.createVideo(e?d(e):null,r.jsb.callback(t,null))||0}function hu(e,t){r.jsb.host.media.setLoop(e,!!t)}function bu(e,t){r.jsb.host.media.setPlaying(e,!!t)}function yu(e){r.jsb.host.media.remove(e)}function Su(e,t){const n=d(t);switch(e){case 0:console.error(n);break;case 1:console.error(n);break;case 2:console.warn(n);break;default:console.info(n);break}}function ju(e){console.error(d(e))}function Bu(e){const t=r.jsb.host.ui;t.refreshDone&&t.refreshDone(e)}var X,R,y,qe,He,$e,Qe,ee,z;function Cu(e){r._creatorHasPhysics=e.Bf,r._destroyEngine=e.Cf,r._setHeadlessBackend=e.Df,r._init=e.Ef,r._initWithContext=e.Gf,r._isEngineValid=e.Hf,r._createSwapChain=e.If,r._createSwapChainHeadless=e.Jf,r._destroySwapChain=e.Kf,r._beginFrame=e.Lf,r._physicsStep=e.Mf,r._flushSkinning=e.Nf,r._creatorHasLightmapBake=e.Of,r._setTimeScale=e.Pf,r._getTimeScale=e.Qf,r._updateFrame=e.Rf,r._updateFrameUs=e.Sf,r._setCameraOverride=e.Tf,r._getCurrentSceneBounds=e.Uf,r._render=e.Vf,r._finishFrame=e.Wf,r._renderScene=e.Xf,r._clearRender=e.Yf,r._warmScene=e.Zf,r._setVisibleAll=e._f,r._warmSceneReady=e.$f,r._setCastShadowsGlobal=e.ag,r._setReceiveShadowsGlobal=e.bg,r._createMeshC=e.cg,r._createMeshEx=e.dg,r._createMesh=e.eg,r._setCulling=e.fg,r._setRenderPriority=e.gg,r._setReceiveShadows=e.hg,r._setCastShadows=e.ig,r._hasMesh=e.jg,r._createScene=e.kg,r._createOverlayScene=e.lg,r._setMultiSampleAntiAliasing=e.mg,r._setTemporalAntiAliasing=e.ng,r._setSceneRenderOptions=e.og,r._getCurrentRenderScale=e.pg,r._setBloomOptions=e.qg,r._setCameraExposure=e.rg,r._setToneMapping=e.sg,r._setDisplayHeadroom=e.tg,r._getDisplayHeadroom=e.ug,r._setHdrStrength=e.vg,r._getHdrStrength=e.wg,r._setHdrPaperWhite=e.xg,r._getHdrPaperWhite=e.yg,r._setAmbientOcclusionOptions=e.zg,r._setFogOptions=e.Ag,r._setCameraProjection=e.Bg,r._getCameraProjection=e.Cg,r._setSceneStencil=e.Dg,r._setViewport=e.Eg,r._getCameraFov=e.Fg,r._attachCameraToScene=e.Gg,r._updateProjectionMatrix=e.Hg,r._createARPlane=e.Ig,r._createEntity=e.Jg,r._setParent=e.Kg,r._addEntityToScene=e.Lg,r._updateProjectionMatrixAR=e.Mg,r._openScene=e.Ng,r._removeEntityFromScene=e.Og,r._getName=e.Pg,X=r._malloc=e.Qg,r._findNode=e.Rg,r._setName=e.Sg,r._destroyEntity=e.Tg,r._entityIsOwned=e.Ug,r._getParent=e.Vg,r._createIblLight=e.Wg,r._setEnvironmentIntensity=e.Xg,r._setSkyboxFromEnvironment=e.Yg,r._setSkybox=e.Zg,r._setSkyboxTexture=e._g,r._createSunLight=e.$g,r._createPointLight=e.ah,r._setLightBakeArea=e.bh,r._setLightIntensity=e.ch,r._setLightColor=e.dh,r._getLightIntensity=e.eh,r._getLightColor=e.fh,r._cloneEntity=e.gh,r._setMaterialGlobalParameter=e.hh,r._setMatrix=e.ih,r._setWorldMatrix=e.jh,r._setParentNull=e.kh,r._getChildCount=e.lh,r._getChild=e.mh,r._getChildrenIter=e.nh,r._getMatrix=e.oh,r._getWorldMatrix=e.ph,r._getWorldMatrixInverse=e.qh,r._getCameraViewDirection=e.rh,r._setMaterial=e.sh,r._getMaterial=e.th,r._createMaterial=e.uh,r._createMaterialInstanceFromBytes=e.vh,r._createMaterialInstance=e.wh,r._createNamedMaterialInstance=e.xh,r._createNamedMaterialInstanceFromBytes=e.yh,r._importTexture=e.zh,r._createTextureFromRGBA=e.Ah,r._isKtx2=e.Bh,r._createTextureFromKtx2=e.Ch,R=r._free=e.Dh,r._getTextureWidth=e.Eh,r._getTextureHeight=e.Fh,r._createTexturePixels=e.Gh,r._updateTexturePixels=e.Hh,r._updateTextureFromRGBA=e.Ih,r._precompileShaders=e.Jh,r._precompileShadersReady=e.Kh,r._setUniformRgb=e.Lh,r._setUniformRgba=e.Mh,r._setMaterialDepthTest=e.Nh,r._setMaterialDepthWrite=e.Oh,r._setMaterialCulling=e.Ph,r._setMaterialStencil=e.Qh,r._setUniformFloat=e.Rh,r._setUniformBoolean=e.Sh,r._setUniformNull=e.Th,r._setTextureAnisotropy=e.Uh,r._setHostTextureAnisotropy=e.Vh,r._setTextureMaxSize=e.Wh,r._setUniformTexture=e.Xh,r._destroyMaterialInstance=e.Yh,r._destroyTexture=e.Zh,r._sweepOrphanedResources=e._h,r._setUniformArray=e.$h,r._readMaterialArchive=e.ai,r._initGlbSupport=e.bi,r._lightVolumeClear=e.ci,r._setNextGlbLightmapped=e.di,r._lightmapSetOptions=e.ei,r._lightmapSunSet=e.fi,r._lightmapDebug=e.gi,r._lightmapProbesSet=e.hi,r._lightmapApply=e.ii,r._lightmapObjectApply=e.ji,r._ambientCubeSet=e.ki,r._setLightChannel=e.li,r._foliageSetWind=e.mi,r._foliageSetOptions=e.ni,r._foliageSetLeaf=e.oi,r._foliageSetLook=e.pi,r._foliageSetBender=e.qi,r._foliageSetFade=e.ri,r._setGlbShadows=e.si,r._loadGlb=e.ti,r._setGlbCulling=e.ui,r._glbLoadingUpdate=e.vi,r._getGlbChildCount=e.wi,r._getGlbClipSet=e.xi,r._getClipSetCount=e.yi,r._setVisible=e.zi,r._isVisible=e.Ai,r._setColliderFromMesh=e.Bi,r._computeBoundingBox=e.Ci,r._setColliderBox=e.Di,r._setColliderSphere=e.Ei,r._getRaycastDistance=e.Fi,r._raycast=e.Gi,r._physicsRaycast=e.Hi,r._raycastView=e.Ii,r._pickTriangle=e.Ji,r._setPosition=e.Ki,r._getWorldDirection=e.Li,r._getWorldPosition=e.Mi,r._setQuaternion=e.Ni,r._setScale=e.Oi,r._setEulerAngles=e.Pi,r._setDepthEffects=e.Qi,r._createParticleSystem=e.Ri,r._spawnParticles=e.Si,r._setParticleSystemConfig=e.Ti,r._createNoise=e.Ui,r._setNoiseFrequency=e.Vi,r._setNoiseOctaves=e.Wi,r._setNoiseFractalLunacrity=e.Xi,r._setNoiseFractalGain=e.Yi,r._getNoise2D=e.Zi,r._getNoise3D=e._i,r._createDecalSet=e.$i,r._addDecal=e.aj,r._updateDecal=e.bj,r._removeDecal=e.cj,r._clearDecals=e.dj,r._decalCount=e.ej,r._setLodBias=e.fj,r._setLod=e.gj,r._lightVolumeLoad=e.hj,r._lightVolumeTrack=e.ij,r._lightVolumeSample=e.jj,r._getFrameStats=e.kj,r._createInstancedMesh=e.lj,r._setInstanceTransforms=e.mj,r._setInstancedMeshMaterial=e.nj,r._setInstancedMeshShadows=e.oj,r._terrainCreate=e.pj,r._terrainUpdate=e.qj,r._terrainSetMaterial=e.rj,r._terrainSetShadows=e.sj,r._hasTerrain=e.tj,r._loadClips=e.uj,r._createClipFromTracks=e.vj,r._getClipInfos=e.wj,r._setClipEvents=e.xj,r._deriveClip=e.yj,r._setClipAnchors=e.zj,r._destroyClipSet=e.Aj,r._skinnedCullingSupported=e.Bj,r._animatorCreate=e.Cj,r._animatorDestroy=e.Dj,r._animatorBind=e.Ej,r._animatorBoundTracks=e.Fj,r._animatorSetBlend=e.Gj,r._animatorSetBlendValue=e.Hj,r._animatorPlay=e.Ij,r._animatorStop=e.Jj,r._animatorSeek=e.Kj,r._animatorGetSlotTime=e.Lj,r._animatorGetSlotWeight=e.Mj,r._animatorSetLayer=e.Nj,r._animatorSetLayerAnticipation=e.Oj,r._animatorSlotSetTurn=e.Pj,r._animatorSlotSetWindow=e.Qj,r._animatorSetGlobal=e.Rj,r._animatorSetRootMotion=e.Sj,r._animatorGetRootMotion=e.Tj,r._animatorSetStats=e.Uj,r._animatorStats=e.Vj,r._animatorSetFeet=e.Wj,r._animatorSlotCurveAt=e.Xj,r._animatorSlotCurveInfo=e.Yj,r._animatorSlotTurn=e.Zj,r._animatorSlotTimeAtTurn=e._j,r._animatorLayerPhase=e.$j,r._animatorSeekPhase=e.ak,r._animatorSlotFit=e.bk,r._animatorSlotAlign=e.ck,r._animatorSlotExit=e.dk,r._animatorSlotContacts=e.ek,r._animatorSlotTreads=e.fk,r._animatorSlotPhysics=e.gk,r._animatorSlotFeatures=e.hk,r._animatorKneeAxis=e.ik,r._animatorSlotKneePole=e.jk,r._animatorSetStepWarp=e.kk,r._animatorSetMotion=e.lk,r._animatorSetDriveInput=e.mk,r._animatorSetSlotDrive=e.nk,r._animatorSetWarpParams=e.ok,r._animatorSetFeetParams=e.pk,r._animatorFootState=e.qk,r._animatorIkCreate=e.rk,r._animatorIkDestroy=e.sk,r._animatorIkSet=e.tk,r._animatorIkNodes=e.uk,r._animatorIkAnchor=e.vk,r._animatorIkState=e.wk,r._animatorSetSocket=e.xk,r._locoCreate=e.yk,r._locoDestroy=e.zk,r._locoSetParams=e.Ak,r._locoDefaults=e.Bk,r._locoSetEntry=e.Ck,r._locoClearSet=e.Dk,r._locoSetInput=e.Ek,r._locoStep=e.Fk,r._locoUpdate=e.Gk,r._locoRead=e.Hk,r._locoStopReport=e.Ik,r._locoBuildDatabase=e.Jk,r._characterForEntity=e.Kk,r._characterSetExternalVelocity=e.Lk,r._physicsProbeGround=e.Mk,r._characterGetGroundState=e.Nk,r._dynamicBoneCreate=e.Ok,r._dynamicBoneDestroy=e.Pk,r._dynamicBoneSet=e.Qk,r._dynamicBoneSetFloor=e.Rk,r._dynamicBoneReset=e.Sk,r._dynamicBoneTargets=e.Tk,r._dynamicBoneSetColliders=e.Uk,r._dynamicBoneParticles=e.Vk,r._dynamicBoneColliderCreate=e.Wk,r._dynamicBoneColliderSet=e.Xk,r._dynamicBoneColliderDestroy=e.Yk,r._setPhysicsInterpolation=e.Zk,r._physicsConfigure=e._k,r._physicsStaticGeometry=e.$k,r._physicsBuildBox=e.al,r._physicsBuildSphere=e.bl,r._physicsBuildCylinder=e.cl,r._physicsBuildCapsule=e.dl,r._physicsBuildMesh=e.el,r._physicsBuildMeshFromEntity=e.fl,r._physicsBuildHeightField=e.gl,r._physicsUpdateHeightField=e.hl,r._glbTriangles=e.il,r._physicsSetShapeOrigin=e.jl,r._physicsSetBodyShape=e.kl,r._physicsDestroyShape=e.ll,r._physicsCreateBody=e.ml,r._physicsSetPickable=e.nl,r._physicsSetFriction=e.ol,r._physicsGetFriction=e.pl,r._physicsCreateBox=e.ql,r._physicsCreateSphere=e.rl,r._physicsCreateCylinder=e.sl,r._physicsSetLinearVelocity=e.tl,r._physicsGetLinearVelocity=e.ul,r._physicsSetAngularVelocity=e.vl,r._physicsGetAngularVelocity=e.wl,r._physicsApplyImpulse=e.xl,r._physicsApplyImpulseAt=e.yl,r._physicsSetBodyPosition=e.zl,r._physicsSetBodyRotation=e.Al,r._physicsRemoveBody=e.Bl,r._characterCreate=e.Cl,r._characterDestroy=e.Dl,r._characterMove=e.El,r._characterMoveFree=e.Fl,r._characterSetVerticalVelocity=e.Gl,r._characterSetVelocity=e.Hl,r._characterSetGravityScale=e.Il,r._characterSetMaxSlope=e.Jl,r._characterSetShape=e.Kl,r._characterGetVelocity=e.Ll,r._characterSetPosition=e.Ml,r._vehicleCreate=e.Nl,r._vehicleDestroy=e.Ol,r._vehicleSetInput=e.Pl,r._vehicleSetTuning=e.Ql,r._vehicleGetState=e.Rl,r._vehicleReset=e.Sl,r._vehicleBodyId=e.Tl,r._ragdollCreate=e.Ul,r._ragdollDestroy=e.Vl,r._ragdollActivate=e.Wl,r._ragdollDeactivate=e.Xl,r._ragdollSetDrive=e.Yl,r._ragdollActive=e.Zl,r._ragdollBodyId=e._l,r._audioAttachSource=e.$l,r._audioDetachSource=e.am,r._audioAttachZone=e.bm,r._audioDetachZone=e.cm,r._audioSetListener=e.dm,r._audioResetBindings=e.em,r._setNodeClass=e.fm,r._setThemeValue=e.gm,r._applyTheme=e.hm,r._getScreenId=e.im,r._getParentNode=e.jm,r._c2dGetLocalTransform=e.km,r._c2dSetPosition=e.lm,r._c2dSetRotation=e.mm,r._c2dSetScale=e.nm,r._c2dSetSpriteOpacity=e.om,r._c2dSetSpriteColor=e.pm,r._c2dGetSpriteOpacity=e.qm,r._c2dGetSpriteColor=e.rm,r._jsbInvoke=e.sm,r._jsbInvokeGetter=e.tm,r._jsbInvokeData=e.um,r._jsbFunctionGone=e.vm,r._jsbFinalize=e.wm,r._jsbHostCall=e.xm,r._jsbRejection=e.ym,r._calculate=e.zm,r._widgetDetach=e.Am,r._recalculate=e.Bm,r._calculateRoot=e.Cm,r._calculateWidget=e.Dm,r._collectBegin=e.Em,r._collectRoot=e.Fm,r._collectCount=e.Gm,r._jsbViewEvent=e.Hm,r._getNodeOwner=e.Im,r._createNodeRoot=e.Jm,r._setNodeMeasure=e.Km,r._setNodeOwner=e.Lm,r._forEachNode=e.Mm,r._freeNode=e.Nm,r._vlistExists=e.Om,r._adoptNode=e.Pm,r._detachNode=e.Qm,r._cuiChildCount=e.Rm,r._cuiChildAt=e.Sm,r._setStringExt=e.Tm,r._resetPropExt=e.Um,r._nodeHasMeasure=e.Vm,r._nodeHasFixedSize=e.Wm,r._markNodeDirty=e.Xm,r._setNodeInteractive=e.Ym,r._setFloatExt=e.Zm,r._getLayer=e._m,r._setNodeHovered=e.$m,r._cuiPaintJson=e.an,r._setVListHandlers=e.bn,r._vlistInit=e.cn,r._vlistFree=e.dn,r._vlistSetKeys=e.en,r._vlistInsertKeys=e.fn,r._vlistRemoveKeys=e.gn,r._vlistInvalidate=e.hn,r._vlistCreateItemRoot=e.jn,r._vlistItemMounted=e.kn,r._vlistItemUnmounted=e.ln,r._vlistToPhysical=e.mn,r._getContentHeight=e.nn,r._vlistOffsetOf=e.on,r._c2dInit=e.pn,r._c2dOpenScene=e.qn,r._c2dSetUpdateCallbacks=e.rn,r._c2dSetAnimEventCallback=e.sn,r._c2dSetPhysicsEventCallback=e.tn,r._c2dCloseScene=e.un,r._c2dEntityIsOwned=e.vn,r._c2dDestroyEntity=e.wn,r._c2dResetStateCache=e.xn,r._c2dRender=e.yn,r._c2dTick=e.zn,r._c2dGetChildCount=e.An,r._c2dGetChild=e.Bn,r._c2dCreateTexture=e.Cn,r._c2dGetTextureWidth=e.Dn,r._c2dGetTextureHeight=e.En,r._c2dCreateTextureFromRGBA=e.Fn,r._c2dUpdateTextureFromRGBA=e.Gn,r._creator2dVersion=e.Hn,r._c2dSetTimeScale=e.In,r._c2dSetClearColor=e.Jn,r._c2dCreateScene=e.Kn,r._c2dDestroyScene=e.Ln,r._c2dSceneSetClearColor=e.Mn,r._c2dAddEntityToScene=e.Nn,r._c2dRemoveEntityFromScene=e.On,r._c2dSetLayerYSort=e.Pn,r._c2dCameraSetPosition=e.Qn,r._c2dCameraSetZoom=e.Rn,r._c2dCameraSetRotation=e.Sn,r._c2dCameraScreenToWorld=e.Tn,r._c2dCameraWorldToScreen=e.Un,r._c2dCreateEntity=e.Vn,r._c2dSetLayer=e.Wn,r._c2dSetZ=e.Xn,r._c2dSetVisible=e.Yn,r._c2dGetPosition=e.Zn,r._c2dSetParent=e._n,r._c2dGetParent=e.$n,r._c2dGetWorldPosition=e.ao,r._c2dGetWorldMatrix=e.bo,r._c2dWorldToLocal=e.co,r._c2dLocalToWorld=e.eo,r._c2dSetSprite=e.fo,r._c2dSetSpriteFrame=e.go,r._c2dSetSpriteFramePx=e.ho,r._c2dSetSpriteSize=e.io,r._c2dSetSpriteAnchor=e.jo,r._c2dSetSpriteFlip=e.ko,r._c2dDestroyTexture=e.lo,r._c2dSetDefaultFilter=e.mo,r._c2dDefineAnimation=e.no,r._c2dPlayAnimation=e.oo,r._c2dStopAnimation=e.po,r._c2dSetAnimationSpeed=e.qo,r._c2dGetAnimationFrame=e.ro,r._c2dCreateTilemap=e.so,r._c2dSetTile=e.to,r._c2dBulkSetPositions=e.uo,r._c2dPhysicsHasSupport=e.vo,r._c2dPhysicsConfigure=e.wo,r._c2dSetInterpolation=e.xo,r._c2dPhysicsCreateBody=e.yo,r._c2dPhysicsRemoveBody=e.zo,r._c2dPhysicsAddBox=e.Ao,r._c2dPhysicsAddCircle=e.Bo,r._c2dPhysicsAddCapsule=e.Co,r._c2dPhysicsAddSegment=e.Do,r._c2dPhysicsAddPolygon=e.Eo,r._c2dPhysicsAddChain=e.Fo,r._c2dPhysicsClearShapes=e.Go,r._c2dPhysicsSetContactEvents=e.Ho,r._c2dPhysicsSetLinearVelocity=e.Io,r._c2dPhysicsGetLinearVelocity=e.Jo,r._c2dPhysicsSetAngularVelocity=e.Ko,r._c2dPhysicsGetAngularVelocity=e.Lo,r._c2dPhysicsApplyLinearImpulse=e.Mo,r._c2dPhysicsApplyImpulseAt=e.No,r._c2dPhysicsApplyForce=e.Oo,r._c2dPhysicsSetFromEntity=e.Po,r._c2dPhysicsSetFixedRotation=e.Qo,r._c2dPhysicsSetGravityScale=e.Ro,r._c2dPhysicsSetLinearDamping=e.So,r._c2dPhysicsSetAngularDamping=e.To,r._c2dPhysicsSetBullet=e.Uo,r._c2dPhysicsSetEnabled=e.Vo,r._c2dPhysicsSetAwake=e.Wo,r._c2dPhysicsSetMass=e.Xo,r._c2dPhysicsGetMass=e.Yo,r._c2dPhysicsSetMotionType=e.Zo,r._c2dPhysicsSetFriction=e._o,r._c2dPhysicsSetBounce=e.$o,r._c2dPhysicsSetFilter=e.ap,r._c2dPhysicsRaycastClosest=e.bp,r._c2dPhysicsRaycastAll=e.cp,r._c2dPhysicsOverlap=e.dp,r._c2dPhysicsOverlapPoint=e.ep,r._c2dCharacterCreate=e.fp,r._c2dCharacterDestroy=e.gp,r._c2dCharacterMove=e.hp,r._c2dCharacterMoveFree=e.ip,r._c2dCharacterSetVerticalVelocity=e.jp,r._c2dCharacterSetVelocity=e.kp,r._c2dCharacterSetGravityScale=e.lp,r._c2dCharacterSetMaxSlope=e.mp,r._c2dCharacterSetFilter=e.np,r._c2dCharacterSetDropThrough=e.op,r._c2dCharacterSetCapsule=e.pp,r._c2dCharacterSetFromEntity=e.qp,r._c2dCharacterGetState=e.rp,r._c2dCharacterGetCollisions=e.sp,r._c2dPhysicsSetOneWay=e.tp,r._c2dPickSprite=e.up,r._cnavUnloadAll=e.vp,r._cnavLastError=e.wp,r._cnavLoad=e.xp,r._cnavUnload=e.yp,r._cnavHeader=e.zp,r._cnavPolyCount=e.Ap,r._cnavSetAreaCost=e.Bp,r._cnavPath=e.Cp,r._cnavNearestPoint=e.Dp,r._cnavRay=e.Ep,r._cnavRandom=e.Fp,r._cnavTriangles=e.Gp,r._cnavCrowdNew=e.Hp,r._cnavCrowdFree=e.Ip,r._cnavAgentAdd=e.Jp,r._cnavAgentRemove=e.Kp,r._cnavAgentSetParams=e.Lp,r._cnavAgentSetTarget=e.Mp,r._cnavAgentSetVelocity=e.Np,r._cnavAgentResetTarget=e.Op,r._cnavAgentWarp=e.Pp,r._cnavCrowdStep=e.Qp,r._cnavCrowdReadAll=e.Rp,r._c2dInitMetal=e.Sp,r._c2dInitVulkan=e.Tp,r._c2dInitHeadless=e.Up,r._c2dTickHeadless=e.Vp,r._c2dReadDrawList=e.Wp,r._c2dShutdown=e.Xp,r._c2dSetViewport=e.Yp,r._c2dSetDensity=e.Zp,r._c2dSetGLFramebuffer=e._p,r._c2dDrawSceneGL=e.$p,r._c2dTargetCreate=e.aq,r._c2dTargetCreateMetal=e.bq,r._c2dTargetDestroy=e.cq,r._c2dSetPresentTarget=e.dq,r._c2dDrawSceneTarget=e.eq,r._c2dTargetVkImage=e.fq,r._c2dTargetMtlTexture=e.gq,r._c2dRenderMetal=e.hq,r._setMeasureFunc=e.iq,r._createNode=e.jq,r._cuiStringOf=e.kq,r._removeNode=e.lq,r._paintCollect=e.mq,r._paintNodes=e.nq,r._paintRecords=e.oq,r._cuiPaintOf=e.pq,r._cuiGradientOf=e.qq,r._getColor=e.rq,r._setFloat=e.sq,r._setString=e.tq,r._getThemeValue=e.uq,r._resetProp=e.vq,r._enableNodeLayer=e.wq,r._disableNodeLayer=e.xq,r._resetNodeLayer=e.yq,r._mergeNodeLayer=e.zq,r._setNodePressed=e.Aq,r._setNodeFocused=e.Bq,r._setConditionValue=e.Cq,r._freeWidget=e.Dq,r._setSafePaddings=e.Eq,r._overrideRootSafeBottom=e.Fq,r._setSafeAreaBars=e.Gq,r._consumeNeedsLayout=e.Hq,r._getCachedRoot=e.Iq,r._collectNodes=e.Jq,r._collectRects=e.Kq,r._getOffset=e.Lq,r._getContentWidth=e.Mq,r._getLayoutPointer=e.Nq,r._getLayoutDOMPointer=e.Oq,r._getPaddingPointer=e.Pq,r._vlistOnScroll=e.Qq,r._vlistUpdateLayout=e.Rq,r._vlistItemOffsetOf=e.Sq,r._cnavBuildDefaults=e.Tq,r._cnavBuildCreate=e.Uq,r._cnavBuildDestroy=e.Vq,r._cnavBuildAddTriangles=e.Wq,r._cnavBuildAddVolume=e.Xq,r._cnavBuildAddLink=e.Yq,r._cnavBuildRun=e.Zq,r._cnavBuildData=e._q,r._cnavBuildTileCount=e.$q,r._cnavBuildPolyCount=e.ar,r._cnavBuildBounds=e.br,r._cnavMeshLoad=e.cr,r._cnavMeshDestroy=e.dr,r._cnavMeshHeader=e.er,r._cnavMeshTileCount=e.fr,r._cnavMeshPolyCount=e.gr,r._cnavMeshSetAreaCost=e.hr,r._cnavFindPath=e.ir,r._cnavNearest=e.jr,r._cnavRaycast=e.kr,r._cnavRandomPoint=e.lr,r._cnavDebugTriangles=e.mr,r._cnavAgentDefaults=e.nr,r._cnavCrowdCreate=e.or,r._cnavCrowdDestroy=e.pr,r._cnavCrowdMaxAgents=e.qr,r._cnavCrowdAdd=e.rr,r._cnavCrowdRemove=e.sr,r._cnavCrowdSetParams=e.tr,r._cnavCrowdSetTarget=e.ur,r._cnavCrowdSetVelocity=e.vr,r._cnavCrowdResetTarget=e.wr,r._cnavCrowdWarp=e.xr,r._cnavCrowdUpdate=e.yr,r._cnavCrowdRead=e.zr,r._creatorWebVersion=e.Ar,r._creatorWebInit=e.Br,r._creatorWebRun=e.Cr,r._creatorWebTick=e.Dr,r._creatorWebTickCore=e.Er,r._creatorWebResize=e.Fr,r._creatorWebLayoutFrame=e.Gr,r._creatorWebDebugDump=e.Hr,r._creatorWebBackPressed=e.Ir,r._creatorWebSetStepEveryTick=e.Jr,r._creatorWebSceneOpen=e.Kr,r._creatorWebFrameRendered=e.Lr,r._creatorWebSetViewport=e.Mr,r._creatorWebSceneRenderScale=e.Nr,r._creatorWebAppEvent=e.Or,r._creatorWebInputEvent=e.Pr,r._creatorWebKeyboardEvent=e.Qr,r._creatorWebSetLaunchUrl=e.Rr,r._creatorWebSetBootProjectUuid=e.Sr,r._creatorWebQuitToLauncher=e.Tr,r._creatorWebViewEvent=e.Ur,r._creatorWebNodeEvent=e.Vr,r._creatorWebNodeEventNum=e.Wr,r._creatorWebNodeEventStr=e.Xr,r._creatorWebNodeLayout=e.Yr,r._creatorWebNodeScroll=e.Zr,r._creatorWebNodeTouchStart=e._r,r._creatorWebNodeLongPress=e.$r,r._creatorWebNodeClick=e.as,r._creatorWebTouchMove=e.bs,r._creatorWebTouchEnd=e.cs,r._creatorWebTouchCancel=e.ds,r._creatorWebRefresh=e.es,r._creatorWebHover=e.fs,r._creatorWebSceneTouchStart=e.gs,r._creatorWebSceneTouchClick=e.hs,r._creatorWebSetShrunkRoot=e.is,r._creatorWebSetWidgetBox=e.js,r._creatorWebRootLayoutHeight=e.ks,r._creatorWebPagerLayoutPages=e.ls,r._creatorWebPagerDidSelect=e.ms,r._creatorWebPagerTabCount=e.ns,r._creatorWebPagerSelectedIndex=e.os,r._creatorWebPagerStackLen=e.ps,r._creatorWebPagerPageNode=e.qs,r._creatorWeb2dEnsureInited=e.rs,r._creatorWeb2dSceneOpen=e.ss,r._creatorWeb2dRenderFrame=e.ts,r._creatorWeb2dEmitPointer=e.us,y=e.vs,qe=e.ws,He=e.xs,$e=e.ys,Qe=e.zs,ee=e.zf,z=e.Ff}var ku={Za:cr,yf:_r,a:lr,x:or,xf:ur,i:fr,c:dr,Pb:vr,wf:sr,vf:gr,uf:hr,of:br,Nb:jr,nf:Br,mf:Pr,Mb:Tr,J:Dr,t:mr,lf:Lr,Xa:Ur,kf:pr,jf:Nr,tf:Hr,hf:ju,Lb:Xr,gf:zr,ff:Zr,Ca:Ie,ef:Kr,df:xr,F:at,sf:_t,rf:lt,Ya:ot,qf:ut,pf:ft,Ob:st,s:ht,Ba:yt,cf:jt,bf:Ct,n:Pt,Aa:Tt,Wa:mt,w:Lt,Va:Gt,Y:Vt,B:Wt,Ua:pt,Kb:Ot,za:Ht,ya:Qt,ka:zt,X:Kt,ja:Jt,af:wt,$e:en,Jb:tn,xa:an,Ta:_n,_e:on,Ze:fn,Ye:vn,Xe:gn,We:bn,W:Sn,Ib:Bn,Sa:kn,Ra:An,Ve:Dn,Qa:Fn,Hb:In,wa:Rn,va:Mn,I:Un,Q:Nn,Ue:qn,ua:$n,ta:Xn,V:Zn,Gb:Yn,ca:xn,Fb:En,ba:ri,aa:ni,Eb:ai,Db:_i,o:oi,Pa:fi,Te:vi,Cb:gi,Oa:bi,Bb:Si,Na:Bi,r:ki,Ab:Ai,Se:Di,Re:Fi,Ma:Ii,H:Ri,A:Mi,v:Ui,P:Ni,sa:qi,ia:$i,U:Xi,Qe:Zi,La:Yi,Ka:xi,O:Ei,zb:ra,Pe:na,Oe:aa,Ne:_a,$:oa,Me:da,m:sa,Le:ha,yb:ya,N:ja,Ke:Ca,xb:Pa,ha:Ta,_:ma,Je:La,Ie:Ga,ga:Wa,He:pa,wb:Oa,Ja:Ha,Ge:Qa,M:za,ra:Ka,Fe:Ja,Ee:wa,vb:ec,De:tc,ub:ic,qa:cc,y:lc,Ia:uc,tb:dc,Ce:sc,fa:hc,pa:yc,L:jc,Be:Cc,ea:Pc,sb:mc,rb:Lc,T:Gc,qb:Vc,Ha:Wc,Ga:pc,Fa:Oc,Ae:$c,pb:Xc,Z:Zc,ob:Yc,ze:xc,nb:Ec,mb:r_,lb:n_,kb:a_,jb:__,ib:o_,ye:f_,hb:v_,gb:g_,xe:b_,K:S_,we:B_,ve:k_,ue:A_,fb:D_,eb:F_,Ea:I_,z:Ru,q:Nu,k:pu,j:Uu,db:Qu,e:Tu,oa:Ou,g:Pu,da:Zu,G:Hu,te:Ju,cb:Lu,se:zu,f:Au,l:mu,E:Wu,re:xu,u:Gu,d:Vu,S:Ku,qe:Mu,p:$u,pe:qu,oe:Iu,h:Du,ne:wu,na:Fu,R:Yu,ma:Xu,me:dl,le:vl,ke:cl,je:gl,la:q_,ie:_l,he:ol,ge:hl,fe:Q_,ee:X_,de:$_,ce:z_,be:O_,ae:Y_,$d:el,_d:sl,Zd:x_,Yd:ll,Xd:nl,bb:J_,Wd:w_,Vd:ul,C:H_,Ud:Z_,Td:K_,Sd:E_,ab:al,Da:il,Rd:rl,Qd:tl,Pd:fl,Od:ko,Nd:So,Md:jo,Ld:Bo,Kd:yo,Jd:Co,Id:go,Hd:so,Gd:vo,Fd:ho,Ed:bo,Dd:Io,Cd:Lo,Bd:To,Ad:Fo,zd:Do,yd:mo,xd:Ro,wd:Vo,vd:Po,ud:Go,td:Ao,sd:po,rd:No,qd:Wo,pd:Mo,od:qo,nd:Uo,md:Oo,ld:jl,$a:Sl,kd:zo,jd:Xo,id:Ho,hd:$o,gd:Qo,fd:Zo,ed:Ko,dd:Pl,cd:Il,bd:Rl,ad:kl,$c:Tl,_c:Gl,Zc:Al,Yc:Cl,Xc:Bl,Wc:Dl,Vc:Fl,Uc:ml,Tc:Ll,b:yl,Sc:au,Rc:ou,Qc:cu,Pc:lu,Oc:_u,Nc:su,Mc:gu,Lc:vu,Kc:yu,Jc:hu,Ic:bu,Hc:du,Gc:uu,Fc:fu,Ec:Bu,Dc:Ml,Cc:Wl,Bc:Vl,Ac:iu,zc:tu,yc:ru,xc:eu,wc:nu,vc:Eo,uc:wo,tc:xo,sc:Yo,rc:Jo,D:bl,qc:zl,pc:Xl,oc:to,nc:eo,mc:ro,lc:ql,kc:Zl,jc:io,ic:Ul,hc:Ql,gc:co,fc:lo,ec:oo,dc:_o,cc:wl,bc:$l,ac:Hl,$b:Ol,_b:Nl,Zb:pl,Yb:El,Xb:no,Wb:uo,Vb:fo,Ub:Yl,Tb:Kl,Sb:ao,Rb:xl,Qb:Jl,_a:Su};function Pu(e,t,n){var i=C();try{return b(e)(t,n)}catch(a){if(B(i),!(a instanceof j))throw a;y(1,0)}}function Au(e){var t=C();try{b(e)()}catch(n){if(B(t),!(n instanceof j))throw n;y(1,0)}}function Tu(e,t){var n=C();try{return b(e)(t)}catch(i){if(B(n),!(i instanceof j))throw i;y(1,0)}}function Du(e,t,n,i,a){var c=C();try{b(e)(t,n,i,a)}catch(o){if(B(c),!(o instanceof j))throw o;y(1,0)}}function mu(e,t){var n=C();try{b(e)(t)}catch(i){if(B(n),!(i instanceof j))throw i;y(1,0)}}function Fu(e,t,n,i,a,c){var o=C();try{b(e)(t,n,i,a,c)}catch(u){if(B(o),!(u instanceof j))throw u;y(1,0)}}function Lu(e,t,n,i,a,c,o,u,f,v,s,S){var P=C();try{return b(e)(t,n,i,a,c,o,u,f,v,s,S)}catch(M){if(B(P),!(M instanceof j))throw M;y(1,0)}}function Iu(e,t,n,i,a,c,o,u,f,v,s){var S=C();try{b(e)(t,n,i,a,c,o,u,f,v,s)}catch(P){if(B(S),!(P instanceof j))throw P;y(1,0)}}function Gu(e,t,n,i){var a=C();try{b(e)(t,n,i)}catch(c){if(B(a),!(c instanceof j))throw c;y(1,0)}}function Ru(e,t){var n=C();try{return b(e)(t)}catch(i){if(B(n),!(i instanceof j))throw i;y(1,0)}}function Vu(e,t,n){var i=C();try{b(e)(t,n)}catch(a){if(B(i),!(a instanceof j))throw a;y(1,0)}}function Mu(e,t,n,i,a){var c=C();try{b(e)(t,n,i,a)}catch(o){if(B(c),!(o instanceof j))throw o;y(1,0)}}function Wu(e,t,n){var i=C();try{b(e)(t,n)}catch(a){if(B(i),!(a instanceof j))throw a;y(1,0)}}function Uu(e,t,n,i,a,c){var o=C();try{return b(e)(t,n,i,a,c)}catch(u){if(B(o),!(u instanceof j))throw u;y(1,0)}}function pu(e,t,n,i,a){var c=C();try{return b(e)(t,n,i,a)}catch(o){if(B(c),!(o instanceof j))throw o;y(1,0)}}function Nu(e,t,n,i){var a=C();try{return b(e)(t,n,i)}catch(c){if(B(a),!(c instanceof j))throw c;y(1,0)}}function Ou(e,t,n,i,a,c,o,u,f,v,s,S,P,M){var de=C();try{return b(e)(t,n,i,a,c,o,u,f,v,s,S,P,M)}catch(K){if(B(de),!(K instanceof j))throw K;y(1,0)}}function qu(e,t,n,i,a,c,o,u,f,v){var s=C();try{b(e)(t,n,i,a,c,o,u,f,v)}catch(S){if(B(s),!(S instanceof j))throw S;y(1,0)}}function Hu(e,t,n,i,a){var c=C();try{return b(e)(t,n,i,a)}catch(o){if(B(c),!(o instanceof j))throw o;y(1,0)}}function $u(e,t,n,i){var a=C();try{b(e)(t,n,i)}catch(c){if(B(a),!(c instanceof j))throw c;y(1,0)}}function Qu(e,t,n,i,a,c,o){var u=C();try{return b(e)(t,n,i,a,c,o)}catch(f){if(B(u),!(f instanceof j))throw f;y(1,0)}}function Xu(e,t,n,i,a,c,o,u,f){var v=C();try{b(e)(t,n,i,a,c,o,u,f)}catch(s){if(B(v),!(s instanceof j))throw s;y(1,0)}}function zu(e,t,n,i,a,c,o,u,f,v){var s=C();try{return b(e)(t,n,i,a,c,o,u,f,v)}catch(S){if(B(s),!(S instanceof j))throw S;y(1,0)}}function Zu(e,t,n,i){var a=C();try{return b(e)(t,n,i)}catch(c){if(B(a),!(c instanceof j))throw c;y(1,0)}}function Ku(e,t,n,i){var a=C();try{b(e)(t,n,i)}catch(c){if(B(a),!(c instanceof j))throw c;y(1,0)}}function Yu(e,t,n,i,a,c,o){var u=C();try{b(e)(t,n,i,a,c,o)}catch(f){if(B(u),!(f instanceof j))throw f;y(1,0)}}function Ju(e,t,n,i,a,c){var o=C();try{return b(e)(t,n,i,a,c)}catch(u){if(B(o),!(u instanceof j))throw u;y(1,0)}}function xu(e,t,n,i,a){var c=C();try{b(e)(t,n,i,a)}catch(o){if(B(c),!(o instanceof j))throw o;y(1,0)}}function wu(e,t,n,i,a,c){var o=C();try{b(e)(t,n,i,a,c)}catch(u){if(B(o),!(u instanceof j))throw u;y(1,0)}}async function Eu(){var t;Ke();var e=r.setStatus;e&&(e("Running..."),await new Promise(n=>setTimeout(n,1)),setTimeout(e,1,"")),!ge&&(Ye(),(t=r.onRuntimeInitialized)==null||t.call(r),Je())}var Z;return Z=await nr(),await Eu(),r}export{nf as default};