@yaneart/yaneplayer 0.0.0-stage → 0.1.1

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 (81) hide show
  1. package/GUIDE.md +716 -0
  2. package/LICENSE +21 -0
  3. package/README.md +62 -2
  4. package/THIRD_PARTY_NOTICES.md +46 -0
  5. package/assets/player-preview.jpg +0 -0
  6. package/dist/ass-renderer-DmsQqR82.js +84 -0
  7. package/dist/auto-captions/assets.js +9 -0
  8. package/dist/auto-captions/audio.js +42 -0
  9. package/dist/auto-captions/ort-wasm-simd-threaded.asyncify.mjs +124 -0
  10. package/dist/auto-captions/ort-wasm-simd-threaded.asyncify.wasm +0 -0
  11. package/dist/auto-captions/translation-worker.js +49 -0
  12. package/dist/auto-captions/worker.js +51 -0
  13. package/dist/core/ass-renderer.d.ts +5 -0
  14. package/dist/core/async.d.ts +5 -0
  15. package/dist/core/auto-caption-assets.d.ts +7 -0
  16. package/dist/core/auto-captions.d.ts +14 -0
  17. package/dist/core/caption-publication.d.ts +22 -0
  18. package/dist/core/commands.d.ts +10 -0
  19. package/dist/core/errors.d.ts +7 -0
  20. package/dist/core/hls.d.ts +4 -0
  21. package/dist/core/index.d.ts +6 -0
  22. package/dist/core/platform.d.ts +22 -0
  23. package/dist/core/preferences.d.ts +10 -0
  24. package/dist/core/runtime.d.ts +3 -0
  25. package/dist/core/source.d.ts +6 -0
  26. package/dist/core/subtitle-assets.d.ts +6 -0
  27. package/dist/core/subtitle-data.d.ts +11 -0
  28. package/dist/core/subtitles.d.ts +22 -0
  29. package/dist/core/tracks.d.ts +7 -0
  30. package/dist/core/translation-model.d.ts +6 -0
  31. package/dist/core/transport.d.ts +15 -0
  32. package/dist/core/types.d.ts +333 -0
  33. package/dist/core-Bl9Ox_wM.js +3352 -0
  34. package/dist/core.js +1 -0
  35. package/dist/element.d.ts +89 -0
  36. package/dist/hls-CrUfIOS7.js +20700 -0
  37. package/dist/index.d.ts +4 -0
  38. package/dist/index.js +4771 -0
  39. package/dist/licenses/@fontsource-variable-manrope.txt +93 -0
  40. package/dist/licenses/@huggingface-jinja.txt +21 -0
  41. package/dist/licenses/@huggingface-tokenizers.txt +201 -0
  42. package/dist/licenses/@huggingface-transformers.txt +202 -0
  43. package/dist/licenses/@mingcute-icons.txt +202 -0
  44. package/dist/licenses/@videojs-core.txt +20 -0
  45. package/dist/licenses/@videojs-element.txt +20 -0
  46. package/dist/licenses/@videojs-hlsjs-video.txt +20 -0
  47. package/dist/licenses/@videojs-html.txt +20 -0
  48. package/dist/licenses/@videojs-media.txt +20 -0
  49. package/dist/licenses/@videojs-native-hls-video.txt +20 -0
  50. package/dist/licenses/@videojs-spf.txt +20 -0
  51. package/dist/licenses/@videojs-store.txt +20 -0
  52. package/dist/licenses/@videojs-utils.txt +20 -0
  53. package/dist/licenses/flatbuffers.txt +202 -0
  54. package/dist/licenses/hls.js.txt +28 -0
  55. package/dist/licenses/jassub.txt +22 -0
  56. package/dist/licenses/long.txt +202 -0
  57. package/dist/licenses/platform.txt +21 -0
  58. package/dist/licenses/protobufjs.txt +39 -0
  59. package/dist/licenses/third-party.txt +7941 -0
  60. package/dist/react.d.ts +56 -0
  61. package/dist/subtitles/assets.js +7 -0
  62. package/dist/subtitles/default.woff2 +0 -0
  63. package/dist/subtitles/jassub.js +1 -0
  64. package/dist/subtitles/wasm/jassub-worker-modern.wasm +0 -0
  65. package/dist/subtitles/wasm/jassub-worker.wasm +0 -0
  66. package/dist/subtitles/worker/worker.js +144 -0
  67. package/dist/ui/auto-captions.d.ts +6 -0
  68. package/dist/ui/captions.d.ts +6 -0
  69. package/dist/ui/controls.d.ts +28 -0
  70. package/dist/ui/fonts.d.ts +2 -0
  71. package/dist/ui/generated-captions.d.ts +7 -0
  72. package/dist/ui/icons.d.ts +24 -0
  73. package/dist/ui/labels.d.ts +74 -0
  74. package/dist/ui/rolling-captions.d.ts +10 -0
  75. package/dist/ui/settings.d.ts +17 -0
  76. package/dist/ui/speed.d.ts +9 -0
  77. package/dist/ui/subtitle-settings.d.ts +5 -0
  78. package/dist/ui/tooltips.d.ts +5 -0
  79. package/dist/ui/touch.d.ts +5 -0
  80. package/dist/ui/types.d.ts +1 -0
  81. package/package.json +77 -4
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Yaneart
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,63 @@
1
- # Temporary Holding Version
1
+ # yanePlayer
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Видеоплеер для веб-приложений с готовым интерфейсом для компьютеров и телефонов.
4
+ Работает с MP4 и HLS, подключается одним импортом. Стили уже включены.
5
+
6
+ Можно использовать в обычном HTML, React, Vue и Angular.
7
+
8
+ ![yanePlayer: воспроизведение Sintel с панелью управления](./assets/player-preview.jpg)
9
+
10
+ <sub>Кадр из [Sintel](https://durian.blender.org/sharing/) · © Blender Foundation · [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/).</sub>
11
+
12
+ > Проект в разработке. Пакет `@yaneart/yaneplayer` пока не опубликован в npm.
13
+
14
+ ## Быстрый старт
15
+
16
+ Установите пакет в своё приложение:
17
+
18
+ ```sh
19
+ npm install @yaneart/yaneplayer
20
+ ```
21
+
22
+ Команда станет доступна после первой публикации в npm. До неё используйте
23
+ [локальную установку из архива](./GUIDE.md#подключение).
24
+
25
+ Подключите плеер в JavaScript:
26
+
27
+ ```js
28
+ import "@yaneart/yaneplayer";
29
+ ```
30
+
31
+ Добавьте его на страницу:
32
+
33
+ ```html
34
+ <yane-player src="/video.mp4" lang="ru"></yane-player>
35
+ ```
36
+
37
+ Для HLS укажите адрес `.m3u8` вместо MP4.
38
+
39
+ ## Возможности
40
+
41
+ - Воспроизведение, перемотка, громкость, скорость и полный экран.
42
+ - Выбор качества, озвучек и субтитров, доступных в источнике.
43
+ - Субтитры VTT, SRT, ASS и SSA, включая локальные файлы без загрузки на сервер.
44
+ - Настройки субтитров, горячие клавиши и управление касаниями.
45
+ - Локальные автосубтитры и экспериментальный перевод английской речи на русский.
46
+ - PiP, управление из ОС, главы и настройки через API приложения.
47
+ - Настройка оформления и API для управления из приложения.
48
+
49
+ Поддержка отдельных функций зависит от браузера. Проверки реальных мобильных устройств
50
+ и доступности ещё продолжаются.
51
+
52
+ ## Документация
53
+
54
+ - [Подключение в React, Vue и Angular](./GUIDE.md#подключение)
55
+ - [API и события](./GUIDE.md#элемент-и-lifecycle)
56
+ - [Управление и горячие клавиши](./GUIDE.md#управление)
57
+ - [Субтитры](./GUIDE.md#субтитры-и-локальные-файлы)
58
+ - [Настройка оформления](./GUIDE.md#тема)
59
+ - [Сборка из исходников](./GUIDE.md#разработка)
60
+
61
+ ## Лицензия
62
+
63
+ [MIT](./LICENSE).
@@ -0,0 +1,46 @@
1
+ # Third-party notices
2
+
3
+ yanePlayer's own code is MIT licensed. Bundled libraries, fonts and WASM retain
4
+ their respective licenses. License texts are included in `dist/licenses/`.
5
+ `third-party.txt` combines upstream texts with source URLs and SHA256; its source
6
+ copy is `assets/third-party-licenses.txt`. Builds do not fetch notices from the network.
7
+
8
+ - Video.js packages: MIT; hls.js and MingCute: Apache-2.0.
9
+ - Manrope and the Liberation Sans fallback font: OFL-1.1.
10
+ - Transformers.js and tokenizers: Apache-2.0; Hugging Face Jinja: MIT.
11
+ - ONNX Runtime: MIT and the included upstream third-party notices.
12
+ - JASSUB JS: MIT; its WASM includes libass, FriBidi, FreeType, HarfBuzz and Brotli
13
+ under the terms reproduced in `third-party.txt`, including LGPL-2.1-or-later
14
+ and the FreeType License. JASSUB's declared combined license also includes
15
+ MIT, MIT-Modern-Variant, ISC, NTP, Zlib and BSL-1.0.
16
+ - JASSUB's JS dependencies include abslink (Apache-2.0), lfa-ponyfill and
17
+ throughput (MIT), authored by ThaUnknown.
18
+ - FlatBuffers and Long: Apache-2.0; protobuf.js: BSD-3-Clause; platform.js: MIT.
19
+
20
+ ## JASSUB packaging
21
+
22
+ JASSUB 2.5.23 is pinned in package-lock.json. Upstream source and build instructions:
23
+ [482a2fed6c8976550f09383e90d92b6ac3360fc9](https://github.com/ThaUnknown/jassub/tree/482a2fed6c8976550f09383e90d92b6ac3360fc9).
24
+ This snapshot declares 2.5.23 and contains the matching fallback font. The npm
25
+ metadata has no gitHead; the snapshot has not been verified by rebuilding the WASM.
26
+
27
+ WASM/font binaries are copied unchanged and remain separate resources. JS is bundled
28
+ and minified. `scripts/copy-assets.mjs` replaces resource URLs with explicit options,
29
+ removes an unused default-font URL and uses `import.meta.url` for the WASM glue's
30
+ self URL. The optional GPL rvfc-polyfill import is replaced by an empty module;
31
+ native requestVideoFrameCallback is required. No WASM patches or source archives
32
+ are included.
33
+
34
+ ## Optional models and artwork
35
+
36
+ Weights are downloaded only on explicit request and are not in the npm package:
37
+
38
+ - [Whisper tiny](https://huggingface.co/onnx-community/whisper-tiny/tree/ff4177021cc41f7db950912b73ea4fdf7d01d8e7),
39
+ revision `ff4177021cc41f7db950912b73ea4fdf7d01d8e7`;
40
+ base model [openai/whisper-tiny](https://huggingface.co/openai/whisper-tiny), Apache-2.0.
41
+ - [OPUS EN→RU](https://huggingface.co/Xenova/opus-mt-en-ru/tree/e050376e960175e8ddc5cff85025dc8436cddd68),
42
+ revision `e050376e960175e8ddc5cff85025dc8436cddd68`;
43
+ base model [Helsinki-NLP/opus-mt-en-ru](https://huggingface.co/Helsinki-NLP/opus-mt-en-ru), Apache-2.0.
44
+
45
+ The preview image contains a frame from [Sintel](https://durian.blender.org/sharing/),
46
+ © Blender Foundation, [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/).
Binary file
@@ -0,0 +1,84 @@
1
+ import { i as e, o as t, s as n } from "./core-Bl9Ox_wM.js";
2
+ import { subtitleAssets as r } from "./subtitles/assets.js";
3
+ import i from "./subtitles/jassub.js";
4
+ // src/core/ass-renderer.ts
5
+ async function a(a, o, s, c, l, u) {
6
+ if (t(l), !globalThis.Worker || !globalThis.OffscreenCanvas || !a.requestVideoFrameCallback) throw e("Styled ASS subtitles require Web Workers, OffscreenCanvas, WASM and video frame callbacks. Choose a text track on this browser.");
7
+ let d = a.ownerDocument.createElement("canvas");
8
+ d.className = "yp-ass", d.setAttribute("aria-hidden", "true"), d.style.cssText = "position:absolute;pointer-events:none;z-index:1", a.after(d);
9
+ let f;
10
+ try {
11
+ f = new i({
12
+ canvas: d,
13
+ subContent: o,
14
+ fonts: s,
15
+ queryFonts: !1,
16
+ availableFonts: {},
17
+ defaultFont: "liberation sans",
18
+ workerUrl: r.worker,
19
+ wasmUrl: r.wasm,
20
+ modernWasmUrl: r.modernWasm,
21
+ maxRenderHeight: 1080,
22
+ libassMemoryLimit: 32,
23
+ libassGlyphLimit: 1e3
24
+ });
25
+ } catch (e) {
26
+ throw d.remove(), e;
27
+ }
28
+ let p = !1, m = 0, h = new AbortController(), g = new AbortController();
29
+ f._worker.addEventListener("error", (t) => {
30
+ t.preventDefault(), g.abort(e("The ASS renderer could not start. Check worker/WASM permissions or choose text subtitles.")), _ && (v(), u());
31
+ }, { signal: h.signal });
32
+ let _ = !1;
33
+ function v() {
34
+ p || (p = !0, h.abort(), a.cancelVideoFrameCallback(m), d.remove(), f.destroy().catch(() => {}), f._worker.terminate(), l.removeEventListener("abort", v));
35
+ }
36
+ l.addEventListener("abort", v, { once: !0 });
37
+ try {
38
+ await n(f.ready, AbortSignal.any([l, g.signal])), t(l);
39
+ } catch (e) {
40
+ throw v(), e;
41
+ }
42
+ f.timeOffset = c;
43
+ async function y() {
44
+ if (p) return;
45
+ let { width: e, height: t, left: r, top: i } = a.getBoundingClientRect(), o = d.offsetParent?.getBoundingClientRect(), s = Math.min(e / (a.videoWidth || e), t / (a.videoHeight || t)), c = Math.max(1, Math.round(a.videoWidth * s)), l = Math.max(1, Math.round(a.videoHeight * s));
46
+ d.style.width = `${c}px`, d.style.height = `${l}px`, d.style.left = `${r - (o?.left ?? r) + (e - c) / 2}px`, d.style.top = `${i - (o?.top ?? i) + (t - l) / 2}px`, await n(f.manualRender({
47
+ expectedDisplayTime: performance.now(),
48
+ width: c,
49
+ height: l,
50
+ mediaTime: a.currentTime
51
+ }, !0), AbortSignal.any([h.signal, AbortSignal.timeout(2e3)]));
52
+ }
53
+ let b = () => {
54
+ y().catch(() => {
55
+ p || (v(), u());
56
+ });
57
+ }, x = new ResizeObserver(b);
58
+ x.observe(a), h.signal.addEventListener("abort", () => x.disconnect(), { once: !0 });
59
+ for (let e of [
60
+ "seeked",
61
+ "timeupdate",
62
+ "loadeddata",
63
+ "pause",
64
+ "ratechange"
65
+ ]) a.addEventListener(e, b, { signal: h.signal });
66
+ function S() {
67
+ p || (m = a.requestVideoFrameCallback(() => {
68
+ b(), S();
69
+ }));
70
+ }
71
+ S();
72
+ try {
73
+ await n(y(), AbortSignal.any([l, g.signal])), _ = !0;
74
+ } catch (e) {
75
+ throw v(), e;
76
+ }
77
+ return {
78
+ dispose: v,
79
+ async setOffset(e) {
80
+ f.timeOffset = e, await y();
81
+ }
82
+ };
83
+ }
84
+ export { a as createAssRenderer };
@@ -0,0 +1,9 @@
1
+ // Copied to dist/auto-captions/assets.js; consumer bundlers can discover these files.
2
+ export const autoCaptionAssets = {
3
+ worker: new URL("./worker.js", import.meta.url).href,
4
+ translationWorker: new URL("./translation-worker.js", import.meta.url).href,
5
+ worklet: new URL("./audio.js?no-inline", import.meta.url).href,
6
+ wasm: new URL("./ort-wasm-simd-threaded.asyncify.wasm", import.meta.url).href,
7
+ wasmModule: new URL("./ort-wasm-simd-threaded.asyncify.mjs", import.meta.url)
8
+ .href,
9
+ };
@@ -0,0 +1,42 @@
1
+ // A copy of the media output enters this graph; it never plays into the destination.
2
+ class CaptionAudio extends AudioWorkletProcessor {
3
+ buffer = new Float32Array(4000);
4
+ length = 0;
5
+ epoch = 0;
6
+ enabled = false;
7
+ pending = false;
8
+ constructor() {
9
+ super();
10
+ this.port.onmessage = ({ data }) => {
11
+ if (data.ack) {
12
+ this.pending = false;
13
+ return;
14
+ }
15
+ this.epoch = data.epoch;
16
+ this.enabled = data.enabled;
17
+ this.length = 0;
18
+ this.pending = false;
19
+ };
20
+ }
21
+ process(inputs) {
22
+ if (!this.enabled || this.pending) return true;
23
+ const channels = inputs[0];
24
+ if (!channels?.length) return true;
25
+ for (let i = 0; i < channels[0].length; i++) {
26
+ let sample = 0;
27
+ for (const channel of channels) sample += channel[i] / channels.length;
28
+ this.buffer[this.length++] = sample;
29
+ if (this.length === this.buffer.length) {
30
+ this.port.postMessage(
31
+ { audio: this.buffer, epoch: this.epoch, capturedAt: currentTime },
32
+ [this.buffer.buffer],
33
+ );
34
+ this.buffer = new Float32Array(4000);
35
+ this.length = 0;
36
+ this.pending = true;
37
+ }
38
+ }
39
+ return true;
40
+ }
41
+ }
42
+ registerProcessor("yaneplayer-captions", CaptionAudio);
@@ -0,0 +1,124 @@
1
+ async function ortWasmThreaded(moduleArg={}){var moduleRtn;var g=moduleArg,aa=!!globalThis.window,ba=!!globalThis.WorkerGlobalScope,m=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type,n=ba&&self.name?.startsWith("em-pthread");if(m){const {createRequire:a}=await import("module");var require=a(import.meta.url),ca=require("worker_threads");global.Worker=ca.Worker;n=(ba=!ca.Qe)&&"em-pthread"==ca.workerData}g.mountExternalData=(a,b)=>{a.startsWith("./")&&(a=a.substring(2));(g.ed||(g.ed=new Map)).set(a,b)};
2
+ g.unmountExternalData=()=>{delete g.ed;delete g.Te;delete g.Se;delete g.Ue};var SharedArrayBuffer=globalThis.SharedArrayBuffer??(new WebAssembly.Memory({initial:0,maximum:0,shared:!0})).buffer.constructor;
3
+ let ea=()=>{const a=b=>(...c)=>{const d=r;c=b(...c);return r!=d?da():c};(b=>{for(const c of b)g[c]=a(g[c])})(["_OrtAppendExecutionProvider","_OrtCreateSession","_OrtRun","_OrtRunWithBinding","_OrtBindInput"]);"undefined"!==typeof jsepRunAsync&&(g._OrtRun=jsepRunAsync(g._OrtRun),g._OrtRunWithBinding=jsepRunAsync(g._OrtRunWithBinding));ea=void 0};g.asyncInit=()=>{ea?.()};var fa="./this.program",ha=(a,b)=>{throw b;},ia=import.meta.url,ka="",la,ma;
4
+ if(m){var fs=require("fs");ia.startsWith("file:")&&(ka=require("path").dirname(require("url").fileURLToPath(ia))+"/");ma=a=>{a=na(a)?new URL(a):a;return fs.readFileSync(a)};la=async a=>{a=na(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(fa=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);ha=(a,b)=>{process.exitCode=a;throw b;}}else if(aa||ba){try{ka=(new URL(".",ia)).href}catch{}m||(ba&&(ma=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";
5
+ b.send(null);return new Uint8Array(b.response)}),la=async a=>{if(na(a))return new Promise((c,d)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?c(e.response):d(e.status)};e.onerror=d;e.send(null)});var b=await fetch(a,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+" : "+b.url);})}var oa=console.log.bind(console),pa=console.error.bind(console);
6
+ if(m){var qa=require("util"),ra=a=>"object"==typeof a?qa.inspect(a):a;oa=(...a)=>fs.writeSync(1,a.map(ra).join(" ")+"\n");pa=(...a)=>fs.writeSync(2,a.map(ra).join(" ")+"\n")}var sa=oa,t=pa,ta,ua,va=!1,wa,na=a=>a.startsWith("file://");function u(){v.buffer!=w.buffer&&xa()}var ya,za;
7
+ if(m&&n){var Ba=ca.parentPort;Ba.on("message",a=>global.onmessage?.({data:a}));Object.assign(globalThis,{self:global,postMessage:a=>Ba.postMessage(a)});process.on("uncaughtException",a=>{postMessage({$c:"uncaughtException",error:a});process.exit(1)})}var Ca;
8
+ if(n){var Da=!1;self.onunhandledrejection=b=>{throw b.reason||b;};function a(b){try{var c=b.data,d=c.$c;if("load"===d){let e=[];self.onmessage=f=>e.push(f);Ca=()=>{postMessage({$c:"loaded"});for(let f of e)a(f);self.onmessage=a};for(const f of c.ue)if(!g[f]||g[f].proxy)g[f]=(...k)=>{postMessage({$c:"callHandler",te:f,args:k})},"print"==f&&(sa=g[f]),"printErr"==f&&(t=g[f]);v=c.Me;xa();ua=c.Ne;Ea();Fa()}else if("run"===d){Ga(c.Xc);Ha(c.Xc,0,0,1,0,0);Ia();Ja(c.Xc);Da||(Ka(),Da=!0);try{La(c.ze,c.kd)}catch(e){if("unwind"!=
9
+ e)throw e;}}else"setimmediate"!==c.target&&("checkMailbox"===d?Da&&Ma():d&&(t(`worker: received unknown command ${d}`),t(c)))}catch(e){throw Na(),e;}}self.onmessage=a}var w,x,Oa,Pa,B,C,Qa,D,E,Ra,Sa=!1;function xa(){var a=v.buffer;g.HEAP8=w=new Int8Array(a);Oa=new Int16Array(a);g.HEAPU8=x=new Uint8Array(a);Pa=new Uint16Array(a);g.HEAP32=B=new Int32Array(a);g.HEAPU32=C=new Uint32Array(a);Qa=new Float32Array(a);D=new Float64Array(a);E=new BigInt64Array(a);Ra=new BigUint64Array(a)}
10
+ function Ta(){Sa=!0;n?Ca():F.hc()}function G(a){a="Aborted("+a+")";t(a);va=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");za?.(a);throw a;}var Ua;async function Va(a){if(!ta)try{var b=await la(a);return new Uint8Array(b)}catch{}if(a==Ua&&ta)a=new Uint8Array(ta);else if(ma)a=ma(a);else throw"both async and sync fetching of the wasm failed";return a}
11
+ async function Wa(a,b){try{var c=await Va(a);return await WebAssembly.instantiate(c,b)}catch(d){t(`failed to asynchronously prepare wasm: ${d}`),G(d)}}async function Xa(a){var b=Ua;if(!ta&&!na(b)&&!m)try{var c=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,a)}catch(d){t(`wasm streaming compile failed: ${d}`),t("falling back to ArrayBuffer instantiation")}return Wa(b,a)}
12
+ function Ya(){Za={qa:$a,f:ab,K:bb,k:cb,p:db,l:eb,fa:fb,b:gb,da:hb,gc:ib,q:jb,ea:kb,Ua:lb,cc:mb,ec:nb,Va:ob,Sa:pb,La:qb,Ra:rb,oa:sb,dc:tb,ac:ub,Ta:vb,bc:wb,_a:xb,Ba:yb,Xb:zb,Vb:Ab,Aa:Bb,O:Cb,J:Eb,Wb:Fb,ka:Gb,Yb:Hb,Oa:Ib,_b:Jb,Ea:Kb,Tb:Lb,Ca:Mb,Na:Ja,Xa:Nb,U:Ob,n:Pb,c:Qb,qb:Rb,w:Sb,N:Tb,A:Ub,j:Vb,o:Wb,rb:Xb,H:Yb,T:Zb,g:$b,u:ac,m:bc,i:cc,Ia:dc,Ja:ec,Ka:fc,Ga:gc,Ha:hc,Ub:ic,ab:jc,Za:kc,Z:lc,pb:mc,Da:nc,Ya:oc,X:pc,Wa:qc,$b:rc,G:sc,db:tc,_:uc,pa:vc,Zb:wc,cb:xc,bb:yc,lb:zc,z:Ac,sa:Bc,ra:Cc,nb:Dc,Y:Ec,v:Fc,
13
+ kb:Gc,jb:Hc,ib:Ic,mb:Jc,gb:Kc,fb:Lc,eb:Mc,Pa:Nc,Qa:Oc,fc:Pc,W:Qc,Fa:Rc,ma:Sc,Ma:Tc,la:Uc,Fb:Vc,va:Wc,Gb:Xc,wa:Yc,E:Zc,e:$c,r:ad,x:bd,C:cd,Ib:dd,ca:ed,D:fd,xa:gd,aa:hd,ha:jd,Jb:kd,Kb:ld,za:md,Lb:nd,ya:od,Mb:pd,ua:qd,ba:rd,d:sd,B:td,s:ud,Eb:vd,t:wd,y:xd,F:yd,I:zd,L:Ad,Nb:Bd,R:Cd,ia:Dd,$:Ed,Pb:Fd,Rb:Gd,Ob:Hd,h:Id,a:v,$a:Jd,Hb:Kd,V:Ld,M:Md,na:Nd,Db:Od,ja:Pd,S:Qd,Ab:Rd,Bb:Sd,vb:Td,wb:Ud,P:Vd,xb:Wd,yb:Xd,ta:Yd,Sb:Zd,ob:$d,Q:ae,hb:be,Cb:ce,sb:de,tb:ee,ub:fe,ga:ge,zb:he,Qb:ie};return{a:Za}}
14
+ async function Ea(){function a(d,e){var f=F=d.exports;d={};for(let [k,h]of Object.entries(f))"function"==typeof h?(f=je(h),d[k]=f):d[k]=h;F=d;F=ke();le.push(F.sd);d=F;me=d.ic;Ka=d.jc;g._OrtInit=d.kc;g._OrtGetLastError=d.lc;g._OrtCreateSessionOptions=d.mc;g._OrtAppendExecutionProvider=d.nc;g._OrtAddFreeDimensionOverride=d.oc;g._OrtAddSessionConfigEntry=d.pc;g._OrtReleaseSessionOptions=d.qc;g._OrtCreateSession=d.rc;g._OrtReleaseSession=d.sc;g._OrtGetInputOutputCount=d.tc;g._OrtGetInputOutputMetadata=
15
+ d.uc;g._OrtFree=d.vc;g._OrtCreateTensor=d.wc;g._OrtGetTensorData=d.xc;g._OrtReleaseTensor=d.yc;g._OrtCreateRunOptions=d.zc;g._OrtAddRunConfigEntry=d.Ac;g._OrtReleaseRunOptions=d.Bc;g._OrtCreateBinding=d.Cc;g._OrtBindInput=d.Dc;g._OrtBindOutput=d.Ec;g._OrtClearBoundOutputs=d.Fc;g._OrtReleaseBinding=d.Gc;g._OrtRunWithBinding=d.Hc;g._OrtRun=d.Ic;g._OrtEndProfiling=d.Jc;ne=g._OrtCreateWebGpuInstance=d.Kc;g._wgpuCreateInstance=d.Lc;oe=g._OrtGetWebGpuDevice=d.Mc;pe=d.Nc;H=g._free=d.Oc;qe=g._malloc=d.Pc;
16
+ re=g._wgpuBufferRelease=d.Qc;se=d.Rc;te=d.Sc;ue=d.Tc;ve=d.Uc;we=d.Vc;xe=d.Yc;ye=d.Zc;ze=d.hd;Ae=d.id;Be=d.jd;Ce=d.ld;De=d.md;Ee=d.nd;Fe=d.od;Ge=d.pd;He=d.qd;Ie=d.rd;Ha=d.ud;Na=d.vd;Je=d.wd;Ke=d.xd;Le=d.yd;Me=d.zd;Ne=d.Ad;Oe=d.Bd;I=d.Cd;Pe=d.Dd;Qe=d.Ed;J=d.Fd;Re=d.Gd;K=d.Hd;Se=d.Id;Te=d.Jd;Ue=d.Kd;Ve=d.Ld;dynCall_vii=d.Md;We=d.Nd;dynCall_v=d.Od;Xe=d.Pd;Ye=d.Qd;Ze=d.Rd;dynCall_iii=d.Sd;$e=d.Td;af=d.Ud;bf=d.Vd;dynCall_vi=d.Wd;cf=d.Xd;df=d.Yd;ef=d.Zd;ff=d._d;gf=d.$d;hf=d.ae;jf=d.be;kf=d.ce;lf=d.de;mf=
17
+ d.fe;nf=d.ge;of=d.he;pf=d.ie;qf=d.je;rf=d.ke;sf=d.le;tf=d.me;uf=d.Ae;vf=d.Be;wf=d.Ce;xf=d.De;yf=d.Ee;zf=d.Fe;Af=d.Ge;Bf=d.He;Cf=d.Ie;Df=d.Je;Ef=d.Ke;Ff=d.nf;Gf=d.of;Hf=d.pf;If=d.qf;ua=e;return F}var b=Ya();if(g.instantiateWasm)return new Promise(d=>{g.instantiateWasm(b,(e,f)=>{d(a(e,f))})});if(n){var c=new WebAssembly.Instance(ua,Ya());return a(c,ua)}Ua??=g.locateFile?g.locateFile?g.locateFile("ort-wasm-simd-threaded.asyncify.wasm",ka):ka+"ort-wasm-simd-threaded.asyncify.wasm":(new URL("ort-wasm-simd-threaded.asyncify.wasm",
18
+ import.meta.url)).href;return function(d){return a(d.instance,d.module)}(await Xa(b))}class Jf{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
19
+ var Kf=a=>{a.terminate();a.onmessage=()=>{}},Lf=[],Mf=0,Nf=null,Tf=a=>{0==Of.length&&(Pf(),Qf(Of[0]));var b=Of.pop();if(!b)return 6;Rf.push(b);Sf[a.Xc]=b;b.Xc=a.Xc;var c={$c:"run",ze:a.ye,kd:a.kd,Xc:a.Xc};m&&b.unref();b.postMessage(c,a.oe);return 0},L=0,M=(a,b,...c)=>{var d=16*c.length,e=K(),f=Re(d),k=f>>>3,h;for(h of c)"bigint"==typeof h?((u(),E)[k++>>>0]=1n,(u(),E)[k++>>>0]=h):((u(),E)[k++>>>0]=0n,(u(),D)[k++>>>0]=h);a=Je(a,0,d,f,b);J(e);return a};
20
+ function Jd(a){if(n)return M(0,1,a);wa=a;if(!(0<L)){for(var b of Rf)Kf(b);for(b of Of)Kf(b);Of=[];Rf=[];Sf={};va=!0}ha(a,new Jf(a))}function Uf(a){if(n)return M(1,0,a);Pc(a)}var Pc=a=>{wa=a;if(n)throw Uf(a),"unwind";Jd(a)},Of=[],Rf=[],le=[],Sf={};function Vf(){for(var a=g.numThreads-1;a--;)Pf();Lf.push(async()=>{var b=Wf();Mf++;await b;Mf--;0==Mf&&Nf&&(b=Nf,Nf=null,b())})}var Xf=a=>{var b=a.Xc;delete Sf[b];Of.push(a);Rf.splice(Rf.indexOf(a),1);a.Xc=0;Ke(b)};function Ia(){le.forEach(a=>a())}
21
+ var Qf=a=>new Promise(b=>{a.onmessage=f=>{var k=f.data;f=k.$c;if(k.gd&&k.gd!=pe()){var h=Sf[k.gd];h?h.postMessage(k,k.oe):t(`Internal error! Worker sent a message "${f}" to target pthread ${k.gd}, but that thread no longer exists!`)}else if("checkMailbox"===f)Ma();else if("spawnThread"===f)Tf(k);else if("cleanupThread"===f)N(()=>{Xf(Sf[k.Le])});else if("loaded"===f)a.loaded=!0,m&&!a.Xc&&a.unref(),b(a);else if("setimmediate"===k.target)a.postMessage(k);else if("uncaughtException"===f)a.onerror(k.error);
22
+ else if("callHandler"===f)g[k.te](...k.args);else f&&t(`worker sent an unknown command ${f}`)};a.onerror=f=>{t(`${"worker sent an error!"} ${f.filename}:${f.lineno}: ${f.message}`);throw f;};m&&(a.on("message",f=>a.onmessage({data:f})),a.on("error",f=>a.onerror(f)));var c=[],d=[],e;for(e of d)g.propertyIsEnumerable(e)&&c.push(e);a.postMessage({$c:"load",ue:c,Me:v,Ne:ua})});async function Wf(){if(!n)return Promise.all(Of.map(Qf))}
23
+ function Pf(){var a=new Worker(new URL(import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});Of.push(a)}function Ga(a){var b=(u(),C)[a+52>>>2>>>0];a=(u(),C)[a+56>>>2>>>0];Qe(b,b-a);J(b)}var La=(a,b)=>{L=0;a=We(a,b);0<L?wa=a:Le(a)},v,Yf=[],Zf=0,O=a=>-9007199254740992>a||9007199254740992<a?NaN:Number(a);function ab(a){a>>>=0;var b=new $f(a);0==(u(),w)[b.ad+12>>>0]&&(ag(b,!0),Zf--);bg(b,!1);Yf.push(b);return Ve(a)}
24
+ var cg=0,bb=()=>{I(0,0);var a=Yf.pop();Se(a.td);cg=0};function ag(a,b){b=b?1:0;(u(),w)[a.ad+12>>>0]=b}function bg(a,b){b=b?1:0;(u(),w)[a.ad+13>>>0]=b}class $f{constructor(a){this.td=a;this.ad=a-24}}var dg=a=>{var b=cg;if(!b)return Pe(0),0;var c=new $f(b);(u(),C)[c.ad+16>>>2>>>0]=b;var d=(u(),C)[c.ad+4>>>2>>>0];if(!d)return Pe(0),b;for(var e of a){if(0===e||e===d)break;if(Ue(e,d,c.ad+16))return Pe(e),b}Pe(d);return b};function cb(){return dg([])}function db(a){return dg([a>>>0])}
25
+ function eb(a,b,c,d){return dg([a>>>0,b>>>0,c>>>0,d>>>0])}var fb=()=>{var a=Yf.pop();a||G("no exception to throw");var b=a.td;0==(u(),w)[a.ad+13>>>0]&&(Yf.push(a),bg(a,!0),ag(a,!1),Zf++);Te(b);cg=b;throw cg;};function gb(a,b,c){a>>>=0;var d=new $f(a);b>>>=0;c>>>=0;(u(),C)[d.ad+16>>>2>>>0]=0;(u(),C)[d.ad+4>>>2>>>0]=b;(u(),C)[d.ad+8>>>2>>>0]=c;Te(a);cg=a;Zf++;throw cg;}var hb=()=>Zf;function eg(a,b,c,d){return n?M(2,1,a,b,c,d):ib(a,b,c,d)}
26
+ function ib(a,b,c,d){a>>>=0;b>>>=0;c>>>=0;d>>>=0;if(!globalThis.SharedArrayBuffer)return 6;var e=[];if(n&&0===e.length)return eg(a,b,c,d);a={ye:c,Xc:a,kd:d,oe:e};return n?(a.$c="spawnThread",postMessage(a,e),0):Tf(a)}function jb(a){cg||=a>>>0;throw cg;}
27
+ var fg=globalThis.TextDecoder&&new TextDecoder,gg=(a,b,c,d)=>{c=b+c;if(d)return c;for(;a[b]&&!(b>=c);)++b;return b},hg=(a,b=0,c,d)=>{b>>>=0;c=gg(a,b,c,d);if(16<c-b&&a.buffer&&fg)return fg.decode(a.buffer instanceof ArrayBuffer?a.subarray(b,c):a.slice(b,c));for(d="";b<c;){var e=a[b++];if(e&128){var f=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var k=a[b++]&63;e=224==(e&240)?(e&15)<<12|f<<6|k:(e&7)<<18|f<<12|k<<6|a[b++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|
28
+ e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d},ig=(a,b,c)=>(a>>>=0)?hg((u(),x),a,b,c):"";function kb(a,b,c){return n?M(3,1,a,b,c):0}function lb(a,b){if(n)return M(4,1,a,b)}function mb(a,b){if(n)return M(5,1,a,b)}function nb(a,b,c){if(n)return M(6,1,a,b,c)}function ob(a,b,c){return n?M(7,1,a,b,c):0}function pb(a,b){if(n)return M(8,1,a,b)}function qb(a,b,c){if(n)return M(9,1,a,b,c)}function rb(a,b,c,d){if(n)return M(10,1,a,b,c,d)}function sb(a,b,c,d){if(n)return M(11,1,a,b,c,d)}
29
+ function tb(a,b,c,d){if(n)return M(12,1,a,b,c,d)}function ub(a){if(n)return M(13,1,a)}function vb(a,b){if(n)return M(14,1,a,b)}function wb(a,b,c){if(n)return M(15,1,a,b,c)}var xb=()=>G(""),P=a=>{a>>>=0;for(var b="";;){var c=(u(),x)[a++>>>0];if(!c)return b;b+=String.fromCharCode(c)}},jg={},kg={},lg={},mg=class extends Error{constructor(a){super(a);this.name="BindingError"}};
30
+ function ng(a,b,c={}){var d=b.name;if(!a)throw new mg(`type "${d}" must have a positive integer typeid pointer`);if(kg.hasOwnProperty(a)){if(c.ve)return;throw new mg(`Cannot register type '${d}' twice`);}kg[a]=b;delete lg[a];jg.hasOwnProperty(a)&&(b=jg[a],delete jg[a],b.forEach(e=>e()))}function Q(a,b,c={}){return ng(a,b,c)}
31
+ var og=(a,b,c)=>{switch(b){case 1:return c?d=>(u(),w)[d>>>0]:d=>(u(),x)[d>>>0];case 2:return c?d=>(u(),Oa)[d>>>1>>>0]:d=>(u(),Pa)[d>>>1>>>0];case 4:return c?d=>(u(),B)[d>>>2>>>0]:d=>(u(),C)[d>>>2>>>0];case 8:return c?d=>(u(),E)[d>>>3>>>0]:d=>(u(),Ra)[d>>>3>>>0];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}};
32
+ function yb(a,b,c,d,e){a>>>=0;c>>>=0;b=P(b>>>0);d=0n===d;let f=k=>k;if(d){const k=8*c;f=h=>BigInt.asUintN(k,h);e=f(e)}Q(a,{name:b,Wc:f,cd:(k,h)=>{"number"==typeof h&&(h=BigInt(h));return h},bd:og(b,c,!d),dd:null})}function zb(a,b,c,d){a>>>=0;b=P(b>>>0);Q(a,{name:b,Wc:function(e){return!!e},cd:function(e,f){return f?c:d},bd:function(e){return this.Wc((u(),x)[e>>>0])},dd:null})}var pg=[],qg=[0,1,,1,null,1,!0,1,!1,1];function Qb(a){a>>>=0;9<a&&0===--qg[a+1]&&(qg[a]=void 0,pg.push(a))}
33
+ var R=a=>{if(!a)throw new mg(`Cannot use deleted val. handle = ${a}`);return qg[a]},S=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=pg.pop()||qg.length;qg[b]=a;qg[b+1]=1;return b}};function rg(a){return this.Wc((u(),C)[a>>>2>>>0])}var sg={name:"emscripten::val",Wc:a=>{var b=R(a);Qb(a);return b},cd:(a,b)=>S(b),bd:rg,dd:null};function Ab(a){return Q(a>>>0,sg)}
34
+ var tg=(a,b)=>{switch(b){case 4:return function(c){return this.Wc((u(),Qa)[c>>>2>>>0])};case 8:return function(c){return this.Wc((u(),D)[c>>>3>>>0])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}};function Bb(a,b,c){a>>>=0;c>>>=0;b=P(b>>>0);Q(a,{name:b,Wc:d=>d,cd:(d,e)=>e,bd:tg(b,c),dd:null})}function Cb(a,b,c,d,e){a>>>=0;c>>>=0;b=P(b>>>0);let f=h=>h;if(0===d){var k=32-8*c;f=h=>h<<k>>>k;e=f(e)}Q(a,{name:b,Wc:f,cd:(h,l)=>l,bd:og(b,c,0!==d),dd:null})}
35
+ function Eb(a,b,c){function d(f){var k=(u(),C)[f>>>2>>>0];f=(u(),C)[f+4>>>2>>>0];return new e((u(),w).buffer,f,k)}a>>>=0;var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];c=P(c>>>0);Q(a,{name:c,Wc:d,bd:d},{ve:!0})}
36
+ var T=(a,b,c)=>{var d=(u(),x);b>>>=0;if(0<c){var e=b;c=b+c-1;for(var f=0;f<a.length;++f){var k=a.codePointAt(f);if(127>=k){if(b>=c)break;d[b++>>>0]=k}else if(2047>=k){if(b+1>=c)break;d[b++>>>0]=192|k>>6;d[b++>>>0]=128|k&63}else if(65535>=k){if(b+2>=c)break;d[b++>>>0]=224|k>>12;d[b++>>>0]=128|k>>6&63;d[b++>>>0]=128|k&63}else{if(b+3>=c)break;d[b++>>>0]=240|k>>18;d[b++>>>0]=128|k>>12&63;d[b++>>>0]=128|k>>6&63;d[b++>>>0]=128|k&63;f++}}d[b>>>0]=0;a=b-e}else a=0;return a},U=a=>{for(var b=0,c=0;c<a.length;++c){var d=
37
+ a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b};
38
+ function Fb(a,b){a>>>=0;b=P(b>>>0);Q(a,{name:b,Wc(c){var d=(u(),C)[c>>>2>>>0];d=ig(c+4,d,!0);H(c);return d},cd(c,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var e="string"==typeof d;if(!(e||ArrayBuffer.isView(d)&&1==d.BYTES_PER_ELEMENT))throw new mg("Cannot pass non-string to std::string");var f=e?U(d):d.length;var k=qe(4+f+1),h=k+4;(u(),C)[k>>>2>>>0]=f;e?T(d,h,f+1):(u(),x).set(d,h>>>0);null!==c&&c.push(H,k);return k},bd:rg,dd(c){H(c)}})}
39
+ var ug=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,vg=(a,b,c)=>{a>>>=1;b=gg((u(),Pa),a,b/2,c);if(16<b-a&&ug)return ug.decode((u(),Pa).slice(a,b));for(c="";a<b;++a){var d=(u(),Pa)[a>>>0];c+=String.fromCharCode(d)}return c},wg=(a,b,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e<c;++e){var f=a.charCodeAt(e);(u(),Oa)[b>>>1>>>0]=f;b+=2}(u(),Oa)[b>>>1>>>0]=0;return b-d},xg=a=>2*a.length,yg=(a,b,c)=>{var d="";a>>>=2;for(var e=0;!(e>=b/4);e++){var f=
40
+ (u(),C)[a+e>>>0];if(!f&&!c)break;d+=String.fromCodePoint(f)}return d},zg=(a,b,c)=>{b>>>=0;c??=2147483647;if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e<a.length;++e){var f=a.codePointAt(e);65535<f&&e++;(u(),B)[b>>>2>>>0]=f;b+=4;if(b+4>c)break}(u(),B)[b>>>2>>>0]=0;return b-d},Ag=a=>{for(var b=0,c=0;c<a.length;++c)65535<a.codePointAt(c)&&c++,b+=4;return b};
41
+ function Gb(a,b,c){a>>>=0;b>>>=0;c>>>=0;c=P(c);if(2===b){var d=vg;var e=wg;var f=xg}else d=yg,e=zg,f=Ag;Q(a,{name:c,Wc:k=>{var h=(u(),C)[k>>>2>>>0];h=d(k+4,h*b,!0);H(k);return h},cd:(k,h)=>{if("string"!=typeof h)throw new mg(`Cannot pass non-string to C++ string type ${c}`);var l=f(h),p=qe(4+l+b);(u(),C)[p>>>2>>>0]=l/b;e(h,p+4,l+b);null!==k&&k.push(H,p);return p},bd:rg,dd(k){H(k)}})}function Hb(a,b){a>>>=0;b=P(b>>>0);Q(a,{we:!0,name:b,Wc:()=>{},cd:()=>{}})}
42
+ function Ib(a){Ha(a>>>0,!ba,1,!aa,131072,!1);Ia()}var N=a=>{if(!va)try{if(a(),!(0<L))try{n?pe()&&Le(wa):Pc(wa)}catch(b){b instanceof Jf||"unwind"==b||ha(1,b)}}catch(b){b instanceof Jf||"unwind"==b||ha(1,b)}},Bg=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Ja(a){a>>>=0;Bg||(Atomics.waitAsync((u(),B),a>>>2,a).value.then(Ma),a+=128,Atomics.store((u(),B),a>>>2,1))}var Ma=()=>N(()=>{var a=pe();a&&(Ja(a),Ne())});
43
+ function Jb(a,b){a>>>=0;a==b>>>0?setTimeout(Ma):n?postMessage({gd:a,$c:"checkMailbox"}):(a=Sf[a])&&a.postMessage({$c:"checkMailbox"})}var Cg=[];function Kb(a,b,c,d,e){b>>>=0;e>>>=0;Cg.length=0;c=e>>>3;for(d=e+d>>>3;c<d;){var f;(u(),E)[c++>>>0]?f=(u(),E)[c++>>>0]:f=(u(),D)[c++>>>0];Cg.push(f)}return(b?Dg[b]:Eg[a])(...Cg)}var Lb=()=>{L=0};function Mb(a){a>>>=0;n?postMessage({$c:"cleanupThread",Le:a}):Xf(Sf[a])}function Nb(a){m&&Sf[a>>>0].ref()}var Fg=a=>{try{a()}catch(b){G(b)}};
44
+ function je(a){var b=(...c)=>{Gg.push(a);try{return a(...c)}finally{va||(Gg.pop(),r&&1===Hg&&0===Gg.length&&(Hg=0,L+=1,Fg(Gf),"undefined"!=typeof Fibers&&Fibers.We()))}};Ig.set(a,b);return b}var Hg=0,r=null,Jg=0,Gg=[],Kg=new Map,Lg=new Map,Ig=new Map,Mg=0,Ng=null,Og=[];function da(){return new Promise((a,b)=>{Ng={resolve:a,reject:b}})}
45
+ function Pg(){var a=qe(65548),b=a+12;(u(),C)[a>>>2>>>0]=b;(u(),C)[a+4>>>2>>>0]=b+65536;b=Gg[0];if(!Kg.has(b)){var c=Mg++;Kg.set(b,c);Lg.set(c,b)}b=Kg.get(b);(u(),B)[a+8>>>2>>>0]=b;return a}function Qg(){var a=(u(),B)[r+8>>>2>>>0];a=Lg.get(a);a=Ig.get(a);--L;return a()}
46
+ function Rg(a){if(!va){if(0===Hg){var b=!1,c=!1;a((d=0)=>{if(!va&&(Jg=d,b=!0,c)){Hg=2;Fg(()=>Hf(r));"undefined"!=typeof MainLoop&&MainLoop.se&&MainLoop.resume();d=!1;try{var e=Qg()}catch(h){e=h,d=!0}var f=!1;if(!r){var k=Ng;k&&(Ng=null,(d?k.reject:k.resolve)(e),f=!0)}if(d&&!f)throw e;}});c=!0;b||(Hg=1,r=Pg(),"undefined"!=typeof MainLoop&&MainLoop.se&&MainLoop.pause(),Fg(()=>Ff(r)))}else 2===Hg?(Hg=0,Fg(If),H(r),r=null,Og.forEach(N)):G(`invalid state: ${Hg}`);return Jg}}var Sg=a=>Rg(b=>{a().then(b)});
47
+ function Ob(a){a>>>=0;return Sg(async()=>{var b=await R(a);return S(b)})}var Tg=[],Ug=a=>{var b=Tg.length;Tg.push(a);return b},Vg=(a,b)=>{for(var c=Array(a),d=0;d<a;++d){var e=d,f=(u(),C)[b+4*d>>>2>>>0],k=kg[f];if(void 0===k)throw a=`parameter ${d}`,f=me(f),b=P(f),H(f),new mg(`${a} has unknown type ${b}`);c[e]=k}return c},Wg=(a,b,c)=>{var d=[];a=a(d,c);d.length&&((u(),C)[b>>>2>>>0]=S(d));return a},Xg={},Yg=a=>{var b=Xg[a];return void 0===b?P(a):b};
48
+ function Pb(a,b,c){var [d,...e]=Vg(a,b>>>0);b=d.cd.bind(d);var f=e.map(l=>l.bd.bind(l));a--;var k={toValue:R};a=f.map((l,p)=>{var q=`argFromPtr${p}`;k[q]=l;return`${q}(args${p?"+"+8*p:""})`});switch(c){case 0:var h="toValue(handle)";break;case 2:h="new (toValue(handle))";break;case 3:h="";break;case 1:k.getStringOrSymbol=Yg,h="toValue(handle)[getStringOrSymbol(methodName)]"}h+=`(${a})`;d.we||(k.toReturnWire=b,k.emval_returnValue=Wg,h=`return emval_returnValue(toReturnWire, destructorsRef, ${h})`);
49
+ h=`return function (handle, methodName, destructorsRef, args) {\n ${h}\n }`;c=(new Function(Object.keys(k),h))(...Object.values(k));h=`methodCaller<(${e.map(l=>l.name)}) => ${d.name}>`;return Ug(Object.defineProperty(c,"name",{value:h}))}function Rb(a,b){b>>>=0;a=R(a>>>0);b=R(b);return a==b}function Sb(a){a>>>=0;if(!a)return S(globalThis);a=Yg(a);return S(globalThis[a])}function Tb(a){a=Yg(a>>>0);return S(g[a])}function Ub(a,b){b>>>=0;a=R(a>>>0);b=R(b);return S(a[b])}
50
+ function Vb(a){a>>>=0;9<a&&(qg[a+1]+=1)}function Wb(a,b,c,d,e){return Tg[a>>>0](b>>>0,c>>>0,d>>>0,e>>>0)}function Xb(a,b,c,d,e){return Wb(a>>>0,b>>>0,c>>>0,d>>>0,e>>>0)}function Yb(){return S([])}function Zb(a){a=R(a>>>0);for(var b=Array(a.length),c=0;c<a.length;c++)b[c]=a[c];return S(b)}function $b(a){return S(Yg(a>>>0))}function ac(){return S({})}function bc(a){a>>>=0;for(var b=R(a);b.length;){var c=b.pop();b.pop()(c)}Qb(a)}function cc(a,b,c){b>>>=0;c>>>=0;a=R(a>>>0);b=R(b);c=R(c);a[b]=c}
51
+ function dc(a,b){a=O(a);b>>>=0;a=new Date(1E3*a);(u(),B)[b>>>2>>>0]=a.getUTCSeconds();(u(),B)[b+4>>>2>>>0]=a.getUTCMinutes();(u(),B)[b+8>>>2>>>0]=a.getUTCHours();(u(),B)[b+12>>>2>>>0]=a.getUTCDate();(u(),B)[b+16>>>2>>>0]=a.getUTCMonth();(u(),B)[b+20>>>2>>>0]=a.getUTCFullYear()-1900;(u(),B)[b+24>>>2>>>0]=a.getUTCDay();a=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;(u(),B)[b+28>>>2>>>0]=a}
52
+ var Zg=a=>0===a%4&&(0!==a%100||0===a%400),$g=[0,31,60,91,121,152,182,213,244,274,305,335],ah=[0,31,59,90,120,151,181,212,243,273,304,334];
53
+ function ec(a,b){a=O(a);b>>>=0;a=new Date(1E3*a);(u(),B)[b>>>2>>>0]=a.getSeconds();(u(),B)[b+4>>>2>>>0]=a.getMinutes();(u(),B)[b+8>>>2>>>0]=a.getHours();(u(),B)[b+12>>>2>>>0]=a.getDate();(u(),B)[b+16>>>2>>>0]=a.getMonth();(u(),B)[b+20>>>2>>>0]=a.getFullYear()-1900;(u(),B)[b+24>>>2>>>0]=a.getDay();var c=(Zg(a.getFullYear())?$g:ah)[a.getMonth()]+a.getDate()-1|0;(u(),B)[b+28>>>2>>>0]=c;(u(),B)[b+36>>>2>>>0]=-(60*a.getTimezoneOffset());c=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();var d=(new Date(a.getFullYear(),
54
+ 0,1)).getTimezoneOffset();a=(c!=d&&a.getTimezoneOffset()==Math.min(d,c))|0;(u(),B)[b+32>>>2>>>0]=a}
55
+ function fc(a){a>>>=0;var b=new Date((u(),B)[a+20>>>2>>>0]+1900,(u(),B)[a+16>>>2>>>0],(u(),B)[a+12>>>2>>>0],(u(),B)[a+8>>>2>>>0],(u(),B)[a+4>>>2>>>0],(u(),B)[a>>>2>>>0],0),c=(u(),B)[a+32>>>2>>>0],d=b.getTimezoneOffset(),e=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),f=(new Date(b.getFullYear(),0,1)).getTimezoneOffset(),k=Math.min(f,e);0>c?(u(),B)[a+32>>>2>>>0]=Number(e!=f&&k==d):0<c!=(k==d)&&(e=Math.max(f,e),b.setTime(b.getTime()+6E4*((0<c?k:e)-d)));(u(),B)[a+24>>>2>>>0]=b.getDay();c=(Zg(b.getFullYear())?
56
+ $g:ah)[b.getMonth()]+b.getDate()-1|0;(u(),B)[a+28>>>2>>>0]=c;(u(),B)[a>>>2>>>0]=b.getSeconds();(u(),B)[a+4>>>2>>>0]=b.getMinutes();(u(),B)[a+8>>>2>>>0]=b.getHours();(u(),B)[a+12>>>2>>>0]=b.getDate();(u(),B)[a+16>>>2>>>0]=b.getMonth();(u(),B)[a+20>>>2>>>0]=b.getYear();a=b.getTime();return BigInt(isNaN(a)?-1:a/1E3)}function gc(a,b,c,d,e,f,k){return n?M(16,1,a,b,c,d,e,f,k):-52}function hc(a,b,c,d,e,f){if(n)return M(17,1,a,b,c,d,e,f)}var bh={},sc=()=>performance.timeOrigin+performance.now();
57
+ function ic(a,b){if(n)return M(18,1,a,b);bh[a]&&(clearTimeout(bh[a].id),delete bh[a]);if(!b)return 0;var c=setTimeout(()=>{delete bh[a];N(()=>Me(a,performance.timeOrigin+performance.now()))},b);bh[a]={id:c,Ve:b};return 0}
58
+ function jc(a,b,c,d){a>>>=0;b>>>=0;c>>>=0;d>>>=0;var e=(new Date).getFullYear(),f=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();var k=Math.max(f,e);(u(),C)[a>>>2>>>0]=60*k;(u(),B)[b>>>2>>>0]=Number(f!=e);b=h=>{var l=Math.abs(h);return`UTC${0<=h?"-":"+"}${String(Math.floor(l/60)).padStart(2,"0")}${String(l%60).padStart(2,"0")}`};a=b(f);b=b(e);e<f?(T(a,c,17),T(b,d,17)):(T(a,d,17),T(b,c,17))}var oc=()=>Date.now(),ch=1;
59
+ function kc(a,b,c){c>>>=0;if(!(0<=a&&3>=a))return 28;if(0===a)a=Date.now();else if(ch)a=performance.timeOrigin+performance.now();else return 52;a=Math.round(1E6*a);(u(),E)[c>>>3>>>0]=BigInt(a);return 0}var dh=[],eh=(a,b)=>{dh.length=0;for(var c;c=(u(),x)[a++>>>0];){var d=105!=c;d&=112!=c;b+=d&&b%8?4:0;dh.push(112==c?(u(),C)[b>>>2>>>0]:106==c?(u(),E)[b>>>3>>>0]:105==c?(u(),B)[b>>>2>>>0]:(u(),D)[b>>>3>>>0]);b+=d?8:4}return dh};function lc(a,b,c){a>>>=0;b=eh(b>>>0,c>>>0);return Dg[a](...b)}
60
+ function mc(a,b,c){a>>>=0;b=eh(b>>>0,c>>>0);return Dg[a](...b)}var nc=()=>{};function pc(a,b){return t(ig(a>>>0,b>>>0))}var qc=()=>{L+=1;throw"unwind";};function rc(){return 4294901760}var tc=()=>1,uc=()=>m?require("os").cpus().length:navigator.hardwareConcurrency,fh={},gh=a=>{var b=U(a)+1,c=qe(b);c&&T(a,c,b);return c},hh=a=>{var b;return(b=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(a))?+b[1]:(b=/:(\d+):\d+(?:\)|$)/.exec(a))?2147483648|+b[1]:0},ih=a=>{for(var b of a)(a=hh(b))&&(fh[a]=b)};
61
+ function xc(){var a=Error().stack.toString().split("\n");"Error"==a[0]&&a.shift();ih(a);fh.ee=hh(a[3]);fh.xe=a;return fh.ee}function vc(a){a=fh[a>>>0];if(!a)return 0;var b;if(b=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^\s+at (.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^(.+?)@/.exec(a))a=b[1];else return 0;H(vc.ne??0);vc.ne=gh(a);return vc.ne}
62
+ function wc(a){a>>>=0;var b=(u(),x).length;if(a<=b||4294901760<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(4294901760,65536*Math.ceil(Math.max(a,d)/65536))-v.buffer.byteLength+65535)/65536|0;try{v.grow(d);xa();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1}
63
+ function yc(a,b,c){a>>>=0;b>>>=0;if(fh.ee==a)var d=fh.xe;else d=Error().stack.toString().split("\n"),"Error"==d[0]&&d.shift(),ih(d);for(var e=3;d[e]&&hh(d[e])!=a;)++e;for(a=0;a<c&&d[a+e];++a)(u(),B)[b+4*a>>>2>>>0]=hh(d[a+e]);return a}
64
+ var V=a=>{var b=U(a)+1,c=Re(b);T(a,c,b);return c},jh=a=>(u(),C)[a>>>2>>>0]+4294967296*(u(),B)[a+4>>>2>>>0],W=[],kh=(a,b)=>{W[a>>>0]=b},X=[],lh=[],mh=(a,b)=>{lh[a]=new Promise(c=>b.finally(()=>c(a)))},Y=a=>{if(a)return W[a>>>0]},nh=(a,b=0)=>{"unmapped"===a.mapState||G();b=ze(b);W[b>>>0]=a;return b},oh=(a,b=0)=>{var c=Be(b);b=Ae(b,c);W[c>>>0]=a.queue;W[b>>>0]=a;return b},ph=(a,b)=>{for(a=(u(),C)[a>>>2>>>0];a;a=(u(),C)[a>>>2>>>0]){var c=(u(),B)[a+4>>>2>>>0];b[c](a)}},qh=(a,b,c)=>{(u(),C)[a>>>2>>>0]=
65
+ b;(u(),C)[a+4>>>2>>>0]=c},rh=a=>{var b=(u(),C)[a>>>2>>>0];a=(u(),C)[a+4>>>2>>>0];return ig(b,a)},Z=a=>{var b=(u(),C)[a>>>2>>>0];a=(u(),C)[a+4>>>2>>>0];if(b)return ig(b,a);if(0===a)return""},sh=a=>{var b=Z(a+4);var c=(c=(u(),C)[a+12>>>2>>>0])?Y(c):"auto";if(a+=16){var d=Y((u(),C)[a+4>>>2>>>0]);var e=(u(),C)[a+16>>>2>>>0];var f=(u(),C)[a+20>>>2>>>0];if(e){for(var k={},h=0;h<e;++h){var l=f+24*h,p=rh(l+4);k[p]=(u(),D)[l+16>>>3>>>0]}e=k}else e=void 0;a={module:d,constants:e,entryPoint:Z(a+8)}}else a=void 0;
66
+ return{label:b,layout:c,compute:a}},th=(a,b)=>{function c(f,k,h,l=0){f=a[f]??l;(u(),C)[k+h>>>2>>>0]=f}function d(f,k,h,l=0){k+=h;f=a[f]??l;(u(),C)[k>>>2>>>0]=f;l=(u(),C)[k>>>2>>>0];(u(),C)[k+4>>>2>>>0]=(f-l)/4294967296}var e=(u(),C)[b>>>2>>>0];c("maxTextureDimension1D",b,4);c("maxTextureDimension2D",b,8);c("maxTextureDimension3D",b,12);c("maxTextureArrayLayers",b,16);c("maxBindGroups",b,20);c("maxBindGroupsPlusVertexBuffers",b,24);c("maxBindingsPerBindGroup",b,28);c("maxDynamicUniformBuffersPerPipelineLayout",
67
+ b,32);c("maxDynamicStorageBuffersPerPipelineLayout",b,36);c("maxSampledTexturesPerShaderStage",b,40);c("maxSamplersPerShaderStage",b,44);c("maxStorageBuffersPerShaderStage",b,48);c("maxStorageTexturesPerShaderStage",b,52);c("maxUniformBuffersPerShaderStage",b,56);c("minUniformBufferOffsetAlignment",b,80);c("minStorageBufferOffsetAlignment",b,84);d("maxUniformBufferBindingSize",b,64);d("maxStorageBufferBindingSize",b,72);c("maxVertexBuffers",b,88);d("maxBufferSize",b,96);c("maxVertexAttributes",b,
68
+ 104);c("maxVertexBufferArrayStride",b,108);c("maxInterStageShaderVariables",b,112);c("maxColorAttachments",b,116);c("maxColorAttachmentBytesPerSample",b,120);c("maxComputeWorkgroupStorageSize",b,124);c("maxComputeInvocationsPerWorkgroup",b,128);c("maxComputeWorkgroupSizeX",b,132);c("maxComputeWorkgroupSizeY",b,136);c("maxComputeWorkgroupSizeZ",b,140);c("maxComputeWorkgroupsPerDimension",b,144);c("maxImmediateSize",b,148);0!==e&&(u(),c("maxStorageBuffersInVertexStage",e,8,a.maxStorageBuffersPerShaderStage),
69
+ c("maxStorageBuffersInFragmentStage",e,16,a.maxStorageBuffersPerShaderStage),c("maxStorageTexturesInVertexStage",e,12,a.maxStorageTexturesPerShaderStage),c("maxStorageTexturesInFragmentStage",e,20,a.maxStorageTexturesPerShaderStage))},vh=(a,b)=>{(u(),C)[b+52>>>2>>>0]=a.subgroupMinSize;(u(),C)[b+56>>>2>>>0]=a.subgroupMaxSize;var c=gh(a.vendor+a.architecture+a.device+a.description),d=U(a.vendor);qh(b+4,c,d);c+=d;d=U(a.architecture);qh(b+12,c,d);c+=d;d=U(a.device);qh(b+20,c,d);c+=d;d=U(a.description);
70
+ qh(b+28,c,d);c+=d;(u(),B)[b+36>>>2>>>0]=2;c=a.isFallbackAdapter?3:4;(u(),B)[b+40>>>2>>>0]=c;(u(),C)[b+44>>>2>>>0]=0;(u(),C)[b+48>>>2>>>0]=0;ph(b,{327739:e=>{let f=0,k=0;if(a.subgroupMatrixConfigs){f=a.subgroupMatrixConfigs.length;k=qe(20*f);for(const [h,l]of a.subgroupMatrixConfigs.entries()){const p=k+20*h,q=uh.indexOf(l.componentType),y=uh.indexOf(l.resultComponentType);(u(),B)[p>>>2>>>0]=q;(u(),B)[p+4>>>2>>>0]=y;(u(),C)[p+8>>>2>>>0]=l.M;(u(),C)[p+12>>>2>>>0]=l.N;(u(),C)[p+16>>>2>>>0]=l.K}}(u(),
71
+ C)[e+12>>>2>>>0]=k;(u(),C)[e+8>>>2>>>0]=f}})},wh=[,,"uniform","storage","read-only-storage"],xh=[,"validation","out-of-memory","internal"],yh=[,"compatibility","core"],zh={1:"core-features-and-limits",2:"depth-clip-control",3:"depth32float-stencil8",4:"texture-compression-bc",5:"texture-compression-bc-sliced-3d",6:"texture-compression-etc2",7:"texture-compression-astc",8:"texture-compression-astc-sliced-3d",9:"timestamp-query",10:"indirect-first-instance",11:"shader-f16",12:"rg11b10ufloat-renderable",
72
+ 13:"bgra8unorm-storage",14:"float32-filterable",15:"float32-blendable",16:"clip-distances",17:"dual-source-blending",18:"subgroups",19:"texture-formats-tier1",20:"texture-formats-tier2",21:"primitive-index",22:"texture-component-swizzle",23:"subgroup-size-control",327692:"chromium-experimental-unorm16-texture-formats",327729:"chromium-experimental-multi-draw-indirect",327732:"chromium-experimental-subgroup-matrix"},Ah=[,"low-power","high-performance"],Bh=[,"occlusion","timestamp"],Ch=[,,"filtering",
73
+ "non-filtering","comparison"],Dh=[,,"write-only","read-only","read-write"],uh=[,"f32","f16","u32","i32","u8","i8"],Eh=[,"r8unorm","r8snorm","r8uint","r8sint","r16unorm","r16snorm","r16uint","r16sint","r16float","rg8unorm","rg8snorm","rg8uint","rg8sint","r32float","r32uint","r32sint","rg16unorm","rg16snorm","rg16uint","rg16sint","rg16float","rgba8unorm","rgba8unorm-srgb","rgba8snorm","rgba8uint","rgba8sint","bgra8unorm","bgra8unorm-srgb","rgb10a2uint","rgb10a2unorm","rg11b10ufloat","rgb9e5ufloat",
74
+ "rg32float","rg32uint","rg32sint","rgba16unorm","rgba16snorm","rgba16uint","rgba16sint","rgba16float","rgba32float","rgba32uint","rgba32sint","stencil8","depth16unorm","depth24plus","depth24plus-stencil8","depth32float","depth32float-stencil8","bc1-rgba-unorm","bc1-rgba-unorm-srgb","bc2-rgba-unorm","bc2-rgba-unorm-srgb","bc3-rgba-unorm","bc3-rgba-unorm-srgb","bc4-r-unorm","bc4-r-snorm","bc5-rg-unorm","bc5-rg-snorm","bc6h-rgb-ufloat","bc6h-rgb-float","bc7-rgba-unorm","bc7-rgba-unorm-srgb","etc2-rgb8unorm",
75
+ "etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm","astc-4x4-unorm","astc-4x4-unorm-srgb","astc-5x4-unorm","astc-5x4-unorm-srgb","astc-5x5-unorm","astc-5x5-unorm-srgb","astc-6x5-unorm","astc-6x5-unorm-srgb","astc-6x6-unorm","astc-6x6-unorm-srgb","astc-8x5-unorm","astc-8x5-unorm-srgb","astc-8x6-unorm","astc-8x6-unorm-srgb","astc-8x8-unorm","astc-8x8-unorm-srgb","astc-10x5-unorm","astc-10x5-unorm-srgb",
76
+ "astc-10x6-unorm","astc-10x6-unorm-srgb","astc-10x8-unorm","astc-10x8-unorm-srgb","astc-10x10-unorm","astc-10x10-unorm-srgb","astc-12x10-unorm","astc-12x10-unorm-srgb","astc-12x12-unorm","astc-12x12-unorm-srgb"],Fh=[,,"float","unfilterable-float","depth","sint","uint"],Gh=[,"1d","2d","2d-array","cube","cube-array","3d"],Hh={undefined:1,unknown:1,destroyed:2};
77
+ function zc(a,b,c,d,e,f){b=O(b);c=O(c);d>>>=0;e>>>=0;f>>>=0;var k=Y(a>>>0);a={};if(f){var h=(u(),C)[f+12>>>2>>>0];if(h){var l=(u(),C)[f+16>>>2>>>0];a.requiredFeatures=Array.from((u(),C).subarray(l>>>2>>>0,l+4*h>>>2>>>0),q=>zh[q])}if(h=(u(),C)[f+20>>>2>>>0]){l=(u(),C)[h>>>2>>>0];var p={};function q(z,A,ja,Aa=!1){A+=ja;A=(u(),C)[A>>>2>>>0];4294967295==A||Aa&&0==A||(p[z]=A)}function y(z,A,ja){A+=ja;ja=(u(),C)[A>>>2>>>0];var Aa=(u(),C)[A+4>>>2>>>0];if(4294967295!=ja||4294967295!=Aa)p[z]=jh(A)}q("maxTextureDimension1D",
78
+ h,4);q("maxTextureDimension2D",h,8);q("maxTextureDimension3D",h,12);q("maxTextureArrayLayers",h,16);q("maxBindGroups",h,20);q("maxBindGroupsPlusVertexBuffers",h,24);q("maxBindingsPerBindGroup",h,28);q("maxDynamicUniformBuffersPerPipelineLayout",h,32);q("maxDynamicStorageBuffersPerPipelineLayout",h,36);q("maxSampledTexturesPerShaderStage",h,40);q("maxSamplersPerShaderStage",h,44);q("maxStorageBuffersPerShaderStage",h,48);q("maxStorageTexturesPerShaderStage",h,52);q("maxUniformBuffersPerShaderStage",
79
+ h,56);q("minUniformBufferOffsetAlignment",h,80);q("minStorageBufferOffsetAlignment",h,84);y("maxUniformBufferBindingSize",h,64);y("maxStorageBufferBindingSize",h,72);q("maxVertexBuffers",h,88);y("maxBufferSize",h,96);q("maxVertexAttributes",h,104);q("maxVertexBufferArrayStride",h,108);q("maxInterStageShaderVariables",h,112);q("maxColorAttachments",h,116);q("maxColorAttachmentBytesPerSample",h,120);q("maxComputeWorkgroupStorageSize",h,124);q("maxComputeInvocationsPerWorkgroup",h,128);q("maxComputeWorkgroupSizeX",
80
+ h,132);q("maxComputeWorkgroupSizeY",h,136);q("maxComputeWorkgroupSizeZ",h,140);q("maxComputeWorkgroupsPerDimension",h,144);q("maxImmediateSize",h,148,!0);0!==l&&(u(),"maxStorageBuffersInVertexStage"in GPUSupportedLimits.prototype&&(q("maxStorageBuffersInVertexStage",l,8),q("maxStorageTexturesInVertexStage",l,12),q("maxStorageBuffersInFragmentStage",l,16),q("maxStorageTexturesInFragmentStage",l,20)));a.requiredLimits=p}if(h=(u(),C)[f+24>>>2>>>0])h={label:Z(h+4)},a.defaultQueue=h;a.label=Z(f+4)}L+=
81
+ 1;mh(b,k.requestDevice(a).then(q=>{--L;N(()=>{W[e>>>0]=q.queue;W[d>>>0]=q;L+=1;mh(c,q.lost.then(y=>{N(()=>{q.onuncapturederror=()=>{};var z=K(),A=V(y.message);De(c,Hh[y.reason],A);J(z)});--L}));q.onuncapturederror=y=>{var z=5;y.error instanceof GPUValidationError?z=2:y.error instanceof GPUOutOfMemoryError?z=3:y.error instanceof GPUInternalError&&(z=4);var A=K();y=V(y.error.message);Ie(d,z,y);J(A)};"adapterInfo"in q||(q.adapterInfo=k.info);He(b,1,d,0)})},q=>{--L;N(()=>{var y=K(),z=V(q.message);He(b,
82
+ 3,d,z);c&&De(c,4,z);J(y)})}))}function Ac(a){a>>>=0;var b=Y(a),c=X[a];if(c){for(var d=0;d<c.length;++d)c[d]();delete X[a]}b.destroy()}function Bc(a,b,c){a>>>=0;c>>>=0;var d=Y(a);4294967295==c&&(c=void 0);try{var e=d.getMappedRange(b>>>0,c)}catch(k){return 0}var f=Oe(16,e.byteLength);(u(),x).set(new Uint8Array(e),f>>>0);X[a].push(()=>H(f));return f}
83
+ function Cc(a,b,c){a>>>=0;c>>>=0;var d=Y(a);4294967295==c&&(c=void 0);try{var e=d.getMappedRange(b>>>0,c)}catch(k){return 0}var f=Oe(16,e.byteLength);(u(),x).fill(0,f,e.byteLength);X[a].push(()=>{(new Uint8Array(e)).set((u(),x).subarray(f>>>0,f+e.byteLength>>>0));H(f)});return f}
84
+ function Dc(a,b,c,d,e){a>>>=0;b=O(b);c=O(c);e>>>=0;var f=Y(a);X[a]=[];4294967295==e&&(e=void 0);L+=1;mh(b,f.mapAsync(c,d>>>0,e).then(()=>{--L;N(()=>{Ee(b,1,0)})},k=>{--L;N(()=>{K();var h=V(k.message);Ee(b,"AbortError"===k.name?4:"OperationError"===k.name?3:0,h);delete X[a]})}))}function Ec(a){a>>>=0;var b=Y(a),c=X[a];if(c){for(var d=0;d<c.length;++d)c[d]();delete X[a];b.unmap()}}function Fc(a){delete W[a>>>0]}
85
+ function Gc(a,b,c){a>>>=0;b>>>=0;c>>>=0;var d=!!(u(),C)[b+32>>>2>>>0];b={label:Z(b+4),usage:(u(),C)[b+16>>>2>>>0],size:jh(b+24),mappedAtCreation:d};a=Y(a);try{var e=a.createBuffer(b)}catch(f){return!1}W[c>>>0]=e;d&&(X[c]=[]);return!0}function Hc(a,b,c,d){a>>>=0;b=O(b);d>>>=0;c=sh(c>>>0);a=Y(a);L+=1;mh(b,a.createComputePipelineAsync(c).then(e=>{--L;N(()=>{W[d>>>0]=e;Ce(b,1,d,0)})},e=>{--L;N(()=>{var f=K(),k=V(e.message);Ce(b,"validation"===e.reason?3:"internal"===e.reason?4:0,d,k);J(f)})}))}
86
+ function Ic(a,b,c){a>>>=0;b>>>=0;c>>>=0;var d=(u(),C)[b>>>2>>>0],e=(u(),B)[d+4>>>2>>>0];b={label:Z(b+4),code:""};switch(e){case 2:b.code=rh(d+8)}a=Y(a).createShaderModule(b);W[c>>>0]=a}var Jc=a=>{a=Y(a);a.onuncapturederror=null;a.destroy()};
87
+ function Kc(a,b){b=O(b);a=Y(a>>>0);L+=1;mh(b,a.popErrorScope().then(c=>{--L;N(()=>{var d=5;c?c instanceof GPUValidationError?d=2:c instanceof GPUOutOfMemoryError?d=3:c instanceof GPUInternalError&&(d=4):d=1;var e=K(),f=c?V(c.message):0;Fe(b,1,d,f);J(e)})},c=>{--L;N(()=>{var d=K(),e=V(c.message);Fe(b,1,5,e);J(d)})}))}
88
+ function Lc(a,b,c,d){b=O(b);c>>>=0;d>>>=0;if(c){var e={featureLevel:yh[(u(),B)[c+4>>>2>>>0]],powerPreference:Ah[(u(),B)[c+8>>>2>>>0]],forceFallbackAdapter:!!(u(),C)[c+12>>>2>>>0]};a=(u(),C)[c>>>2>>>0];0!==a&&(u(),e.Ye=!!(u(),C)[a+8>>>2>>>0])}"gpu"in navigator?(L+=1,mh(b,navigator.gpu.requestAdapter(e).then(f=>{--L;N(()=>{if(f)W[d>>>0]=f,Ge(b,1,d,0);else{var k=K(),h=V("WebGPU not available on this browser (requestAdapter returned null)");Ge(b,3,d,h);J(k)}})},f=>{--L;N(()=>{var k=K(),h=V(f.message);
89
+ Ge(b,4,d,h);J(k)})}))):(e=K(),a=V("WebGPU not available on this browser (navigator.gpu is not available)"),Ge(b,3,d,a),J(e))}function Mc(a,b,c){a>>>=0;b>>>=0;c>>>=0;return Sg(async()=>{var d=[];if(c){var e=(u(),B)[c>>>2>>>0];d.length=b+1;d[b]=new Promise(h=>setTimeout(h,e,0))}else d.length=b;for(var f=0;f<b;++f){var k=jh(a+8*f);if(!(k in lh))return k;d[f]=lh[k]}d=await Promise.race(d);delete lh[d];return d})}
90
+ var Ih={},Kh=()=>{if(!Jh){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:fa||"./this.program"},b;for(b in Ih)void 0===Ih[b]?delete a[b]:a[b]=Ih[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);Jh=c}return Jh},Jh;function Nc(a,b){if(n)return M(19,1,a,b);a>>>=0;b>>>=0;var c=0,d=0,e;for(e of Kh()){var f=b+c;(u(),C)[a+d>>>2>>>0]=f;c+=T(e,f,Infinity)+1;d+=4}return 0}
91
+ function Oc(a,b){if(n)return M(20,1,a,b);a>>>=0;b>>>=0;var c=Kh();(u(),C)[a>>>2>>>0]=c.length;a=0;for(var d of c)a+=U(d)+1;(u(),C)[b>>>2>>>0]=a;return 0}function Qc(a){return n?M(21,1,a):52}function Rc(a,b,c,d,e){return n?M(22,1,a,b,c,d,e):52}function Sc(a,b,c,d){return n?M(23,1,a,b,c,d):52}function Tc(a,b,c,d){return n?M(24,1,a,b,c,d):70}var Lh=[null,[],[]];
92
+ function Uc(a,b,c,d){if(n)return M(25,1,a,b,c,d);b>>>=0;c>>>=0;d>>>=0;for(var e=0,f=0;f<c;f++){var k=(u(),C)[b>>>2>>>0],h=(u(),C)[b+4>>>2>>>0];b+=8;for(var l=0;l<h;l++){var p=a,q=(u(),x)[k+l>>>0],y=Lh[p];0===q||10===q?((1===p?sa:t)(hg(y)),y.length=0):y.push(q)}e+=h}(u(),C)[d>>>2>>>0]=e;return 0}function Id(a){return a>>>0}function Kd(a,b){th(Y(a>>>0).limits,b>>>0);return 1}function Ld(a,b){return Y(a>>>0).features.has(zh[b])}function Md(a){return BigInt(Y(a>>>0).size)}
93
+ function Nd(a){return BigInt(Y(a>>>0).usage)}function Od(a,b){a>>>=0;b>>>=0;if(b){var c=Z(b+4);b=(u(),C)[b+12>>>2>>>0];b=0!==b?{querySet:Y((u(),C)[b+4>>>2>>>0]),beginningOfPassWriteIndex:(u(),C)[b+8>>>2>>>0],endOfPassWriteIndex:(u(),C)[b+12>>>2>>>0]}:void 0;c={label:c,timestampWrites:b}}b=Y(a);a=we(0);c=b.beginComputePass(c);W[a>>>0]=c;return a}function Pd(a,b,c,d){c=O(c);d=O(d);a=Y(a>>>0);-1==d&&(d=void 0);a.clearBuffer(Y(b>>>0),c,d)}
94
+ function Qd(a,b,c,d,e,f){c=O(c);e=O(e);f=O(f);Y(a>>>0).copyBufferToBuffer(Y(b>>>0),c,Y(d>>>0),e,f)}function Rd(a){var b=Y(a>>>0);a=ue(0);b=b.finish();W[a>>>0]=b;return a}function Sd(a,b,c,d,e,f){f=O(f);Y(a>>>0).resolveQuerySet(Y(b>>>0),c,d,Y(e>>>0),f)}function Td(a,b,c,d){Y(a>>>0).dispatchWorkgroups(b,c,d)}function Ud(a,b,c){c=O(c);Y(a>>>0).dispatchWorkgroupsIndirect(Y(b>>>0),c)}function Vd(a){Y(a>>>0).end()}
95
+ function Wd(a,b,c,d,e){d>>>=0;e>>>=0;a=Y(a>>>0);c=Y(c>>>0);0==d?a.setBindGroup(b,c):a.setBindGroup(b,c,(u(),C),e>>>2,d)}function Xd(a,b){Y(a>>>0).setPipeline(Y(b>>>0))}function Yd(a,b,c){Y(a>>>0).Xe(Y(b>>>0),c)}
96
+ function Zd(a,b){function c(e){var f=(u(),C)[e+8>>>2>>>0],k=(u(),C)[e+32>>>2>>>0],h=(u(),C)[e+36>>>2>>>0],l=0;ph(e,{14:p=>{l=(u(),C)[p+8>>>2>>>0]}});f?(k=jh(e+24),-1==k&&(k=void 0),f={buffer:Y(f),offset:jh(e+16),size:k}):f=Y(k||h||l);return{binding:(u(),C)[e+4>>>2>>>0],resource:f}}a>>>=0;b>>>=0;b={label:Z(b+4),layout:Y((u(),C)[b+12>>>2>>>0]),entries:function(e,f){for(var k=[],h=0;h<e;++h)k.push(c(f+40*h));return k}((u(),C)[b+16>>>2>>>0],(u(),C)[b+20>>>2>>>0])};a=Y(a);var d=se(0);kh(d,a.createBindGroup(b));
97
+ return d}
98
+ function $d(a,b){function c(l){var p=(u(),C)[l+4>>>2>>>0];if(p)return{type:wh[p],hasDynamicOffset:!!(u(),C)[l+8>>>2>>>0],minBindingSize:jh(l+16)}}function d(l){if(l=(u(),C)[l+4>>>2>>>0])return{type:Ch[l]}}function e(l){var p=(u(),C)[l+4>>>2>>>0];if(p)return{sampleType:Fh[p],viewDimension:Gh[(u(),B)[l+8>>>2>>>0]],multisampled:!!(u(),C)[l+12>>>2>>>0]}}function f(l){var p=(u(),C)[l+4>>>2>>>0];if(p)return{access:Dh[p],format:Eh[(u(),B)[l+8>>>2>>>0]],viewDimension:Gh[(u(),B)[l+12>>>2>>>0]]}}function k(l){var p={binding:(u(),
99
+ C)[l+4>>>2>>>0],visibility:(u(),C)[l+8>>>2>>>0],buffer:c(l+24),sampler:d(l+48),texture:e(l+56),storageTexture:f(l+72)};ph(l,{13:()=>{p.externalTexture={}}});return p}a>>>=0;b>>>=0;b={label:Z(b+4),entries:function(l,p){for(var q=[],y=0;y<l;++y)q.push(k(p+88*y));return q}((u(),C)[b+12>>>2>>>0],(u(),C)[b+16>>>2>>>0])};a=Y(a);var h=te(0);kh(h,a.createBindGroupLayout(b));return h}function ae(a,b){a>>>=0;b>>>=0;var c;b&&(c={label:Z(b+4)});b=Y(a);a=ve(0);c=b.createCommandEncoder(c);W[a>>>0]=c;return a}
100
+ function be(a,b){a>>>=0;b>>>=0;for(var c=(u(),C)[b+12>>>2>>>0],d=(u(),C)[b+16>>>2>>>0],e=[],f=0;f<c;++f)e.push(Y((u(),C)[d+4*f>>>2>>>0]));b={label:Z(b+4),bindGroupLayouts:e,immediateSize:(u(),C)[b+20>>>2>>>0]};c=Y(a);a=xe(0);b=c.createPipelineLayout(b);W[a>>>0]=b;return a}function ce(a,b){a>>>=0;b>>>=0;b={type:Bh[(u(),B)[b+12>>>2>>>0]],count:(u(),C)[b+16>>>2>>>0]};var c=Y(a);a=ye(0);b=c.createQuerySet(b);W[a>>>0]=b;return a}function de(a,b){vh(Y(a>>>0).adapterInfo,b>>>0);return 1}
101
+ var Mh={"core-features-and-limits":1,"depth-clip-control":2,"depth32float-stencil8":3,"texture-compression-bc":4,"texture-compression-bc-sliced-3d":5,"texture-compression-etc2":6,"texture-compression-astc":7,"texture-compression-astc-sliced-3d":8,"timestamp-query":9,"indirect-first-instance":10,"shader-f16":11,"rg11b10ufloat-renderable":12,"bgra8unorm-storage":13,"float32-filterable":14,"float32-blendable":15,"clip-distances":16,"dual-source-blending":17,subgroups:18,"texture-formats-tier1":19,"texture-formats-tier2":20,
102
+ "primitive-index":21,"texture-component-swizzle":22,"subgroup-size-control":23,"chromium-experimental-unorm16-texture-formats":327692,"chromium-experimental-multi-draw-indirect":327729,"chromium-experimental-subgroup-matrix":327732};function ee(a,b){b>>>=0;var c=Y(a>>>0);a=qe(4*c.features.size);var d=0,e=0;for(const f of c.features)c=Mh[f],0<=c&&((u(),B)[a+d>>>2>>>0]=c,d+=4,e++);(u(),C)[b+4>>>2>>>0]=a;(u(),C)[b>>>2>>>0]=e}function fe(a,b){th(Y(a>>>0).limits,b>>>0);return 1}
103
+ function ge(a,b){Y(a>>>0).pushErrorScope(xh[b])}function he(a,b,c){b>>>=0;c>>>=0;a=Y(a>>>0);b=Array.from((u(),B).subarray(c>>>2>>>0,c+4*b>>>2>>>0),d=>Y(d));a.submit(b)}function ie(a,b,c,d,e){c=O(c);d>>>=0;e>>>=0;a=Y(a>>>0);b=Y(b>>>0);d=(u(),x).subarray(d>>>0,d+e>>>0);a.writeBuffer(b,c,d,0,e)}n||Vf();n||(v=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),xa());g.wasmBinary&&(ta=g.wasmBinary);g.stackSave=()=>K();g.stackRestore=a=>J(a);g.stackAlloc=a=>Re(a);
104
+ g.setValue=function(a,b,c="i8"){c.endsWith("*")&&(c="*");switch(c){case "i1":(u(),w)[a>>>0]=b;break;case "i8":(u(),w)[a>>>0]=b;break;case "i16":(u(),Oa)[a>>>1>>>0]=b;break;case "i32":(u(),B)[a>>>2>>>0]=b;break;case "i64":(u(),E)[a>>>3>>>0]=BigInt(b);break;case "float":(u(),Qa)[a>>>2>>>0]=b;break;case "double":(u(),D)[a>>>3>>>0]=b;break;case "*":(u(),C)[a>>>2>>>0]=b;break;default:G(`invalid type for setValue: ${c}`)}};
105
+ g.getValue=function(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return(u(),w)[a>>>0];case "i8":return(u(),w)[a>>>0];case "i16":return(u(),Oa)[a>>>1>>>0];case "i32":return(u(),B)[a>>>2>>>0];case "i64":return(u(),E)[a>>>3>>>0];case "float":return(u(),Qa)[a>>>2>>>0];case "double":return(u(),D)[a>>>3>>>0];case "*":return(u(),C)[a>>>2>>>0];default:G(`invalid type for getValue: ${b}`)}};g.UTF8ToString=ig;g.stringToUTF8=T;g.lengthBytesUTF8=U;
106
+ var Eg=[Jd,Uf,eg,kb,lb,mb,nb,ob,pb,qb,rb,sb,tb,ub,vb,wb,gc,hc,ic,Nc,Oc,Qc,Rc,Sc,Tc,Uc],Dg={1280444:(a,b,c,d,e)=>{if("undefined"==typeof g||!g.ed)return 1;a=ig(Number(a>>>0));a.startsWith("./")&&(a=a.substring(2));a=g.ed.get(a);if(!a)return 2;b=Number(b>>>0);c=Number(c>>>0);d=Number(d>>>0);if(b+c>a.byteLength)return 3;try{const f=a.subarray(b,b+c);switch(e){case 0:(u(),x).set(f,d>>>0);break;case 1:g.pe?g.pe(d,f):g.Re(d,f);break;default:return 4}return 0}catch{return 4}},1281268:(a,b,c)=>{g.re(a,(u(),
107
+ x).subarray(b>>>0,b+c>>>0))},1281332:()=>g.Pe(),1281374:a=>{g.qe(a)},1281411:()=>"undefined"!==typeof wasmOffsetConverter};function $a(){return"undefined"!==typeof wasmOffsetConverter}var me,Ka,ne,oe,pe,H,qe,re,se,te,ue,ve,we,xe,ye,ze,Ae,Be,Ce,De,Ee,Fe,Ge,He,Ie,Ha,Na,Je,Ke,Le,Me,Ne,Oe,I,Pe,Qe,J,Re,K,Se,Te,Ue,Ve,dynCall_vii,We,dynCall_v,Xe,Ye,Ze,dynCall_iii,$e,af,bf,dynCall_vi,cf,df,ef,ff,gf,hf,jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf,Af,Bf,Cf,Df,Ef,Ff,Gf,Hf,If,Za;
108
+ function bd(a,b,c,d){var e=K();try{return bf(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}function ad(a,b,c){var d=K();try{return dynCall_iii(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0)}}function sd(a){var b=K();try{dynCall_v(a)}catch(c){J(b);if(c!==c+0)throw c;I(1,0)}}function $c(a,b){var c=K();try{return We(a,b)}catch(d){J(c);if(d!==d+0)throw d;I(1,0)}}function ud(a,b,c){var d=K();try{dynCall_vii(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0)}}
109
+ function td(a,b){var c=K();try{dynCall_vi(a,b)}catch(d){J(c);if(d!==d+0)throw d;I(1,0)}}function fd(a,b,c,d,e,f,k){var h=K();try{return Ze(a,b,c,d,e,f,k)}catch(l){J(h);if(l!==l+0)throw l;I(1,0)}}function yd(a,b,c,d,e,f){var k=K();try{Xe(a,b,c,d,e,f)}catch(h){J(k);if(h!==h+0)throw h;I(1,0)}}function wd(a,b,c,d){var e=K();try{af(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}function zd(a,b,c,d,e,f,k){var h=K();try{df(a,b,c,d,e,f,k)}catch(l){J(h);if(l!==l+0)throw l;I(1,0)}}
110
+ function Gd(a,b,c,d,e,f,k){var h=K();try{ef(a,b,c,d,e,f,k)}catch(l){J(h);if(l!==l+0)throw l;I(1,0)}}function Fd(a,b,c,d,e,f,k,h){var l=K();try{pf(a,b,c,d,e,f,k,h)}catch(p){J(l);if(p!==p+0)throw p;I(1,0)}}function Dd(a,b,c,d,e,f,k,h,l,p,q,y){var z=K();try{ff(a,b,c,d,e,f,k,h,l,p,q,y)}catch(A){J(z);if(A!==A+0)throw A;I(1,0)}}function cd(a,b,c,d,e){var f=K();try{return cf(a,b,c,d,e)}catch(k){J(f);if(k!==k+0)throw k;I(1,0)}}
111
+ function Hd(a,b,c,d,e,f){var k=K();try{qf(a,b,c,d,e,f)}catch(h){J(k);if(h!==h+0)throw h;I(1,0)}}function xd(a,b,c,d,e){var f=K();try{Ye(a,b,c,d,e)}catch(k){J(f);if(k!==k+0)throw k;I(1,0)}}function Ad(a,b,c,d,e,f,k,h){var l=K();try{$e(a,b,c,d,e,f,k,h)}catch(p){J(l);if(p!==p+0)throw p;I(1,0)}}function Zc(a){var b=K();try{return rf(a)}catch(c){J(b);if(c!==c+0)throw c;I(1,0)}}function Bd(a,b,c,d,e,f,k,h,l){var p=K();try{hf(a,b,c,d,e,f,k,h,l)}catch(q){J(p);if(q!==q+0)throw q;I(1,0)}}
112
+ function md(a,b,c){var d=K();try{return sf(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0)}}function pd(a,b){var c=K();try{return Ef(a,b)}catch(d){J(c);if(d!==d+0)throw d;I(1,0);return 0n}}function nd(a,b,c,d){var e=K();try{return tf(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}function od(a){var b=K();try{return gf(a)}catch(c){J(b);if(c!==c+0)throw c;I(1,0);return 0n}}function ld(a,b,c,d){var e=K();try{return uf(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}
113
+ function kd(a,b,c,d,e){var f=K();try{return vf(a,b,c,d,e)}catch(k){J(f);if(k!==k+0)throw k;I(1,0)}}function jd(a,b,c,d,e,f){var k=K();try{return wf(a,b,c,d,e,f)}catch(h){J(k);if(h!==h+0)throw h;I(1,0)}}function ed(a,b,c,d,e,f){var k=K();try{return nf(a,b,c,d,e,f)}catch(h){J(k);if(h!==h+0)throw h;I(1,0)}}function dd(a,b,c,d,e,f){var k=K();try{return xf(a,b,c,d,e,f)}catch(h){J(k);if(h!==h+0)throw h;I(1,0)}}
114
+ function gd(a,b,c,d,e,f,k,h){var l=K();try{return of(a,b,c,d,e,f,k,h)}catch(p){J(l);if(p!==p+0)throw p;I(1,0)}}function rd(a,b,c,d,e){var f=K();try{return yf(a,b,c,d,e)}catch(k){J(f);if(k!==k+0)throw k;I(1,0);return 0n}}function Yc(a,b,c,d){var e=K();try{return zf(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}function Wc(a,b,c,d){var e=K();try{return Af(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}
115
+ function hd(a,b,c,d,e,f,k,h,l,p,q,y){var z=K();try{return Bf(a,b,c,d,e,f,k,h,l,p,q,y)}catch(A){J(z);if(A!==A+0)throw A;I(1,0)}}function Cd(a,b,c,d,e,f,k,h,l,p,q){var y=K();try{Cf(a,b,c,d,e,f,k,h,l,p,q)}catch(z){J(y);if(z!==z+0)throw z;I(1,0)}}function Ed(a,b,c,d,e,f,k,h,l,p,q,y,z,A,ja,Aa){var Nh=K();try{Df(a,b,c,d,e,f,k,h,l,p,q,y,z,A,ja,Aa)}catch(Db){J(Nh);if(Db!==Db+0)throw Db;I(1,0)}}function qd(a,b,c){var d=K();try{return kf(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0);return 0n}}
116
+ function Xc(a,b,c){var d=K();try{return jf(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0)}}function Vc(a,b,c){var d=K();try{return lf(a,b,c)}catch(e){J(d);if(e!==e+0)throw e;I(1,0)}}function vd(a,b,c,d){var e=K();try{mf(a,b,c,d)}catch(f){J(e);if(f!==f+0)throw f;I(1,0)}}function ke(){var a=F;a=Object.assign({},a);var b=d=>e=>d(e)>>>0,c=d=>()=>d()>>>0;a.ic=b(a.ic);a.Nc=c(a.Nc);a.Pc=b(a.Pc);a.Bd=(d=>(e,f)=>d(e,f)>>>0)(a.Bd);a.Gd=b(a.Gd);a.Hd=c(a.Hd);a.Ld=b(a.Ld);return a}
117
+ function Fa(){if(0<Mf)Nf=Fa;else if(n)ya?.(g),Ta();else{for(var a=Lf;0<a.length;)a.shift()(g);0<Mf?Nf=Fa:(g.calledRun=!0,va||(Ta(),ya?.(g)))}}var F;n||(F=await (Ea()),Fa());g.PTR_SIZE=4;
118
+ g.webgpuInit=a=>{const b=new WeakMap;let c=1,d=void 0,e=void 0;g.webgpuRegisterDevice=h=>{if(void 0!==e)throw Error("another WebGPU EP inference session is being created.");if(h){var l=b.get(h);if(!l){l=ne();const p=oh(h,l);l=[c++,l,p];b.set(h,l)}d=h;e=l[0];return l}d=void 0;e=0};const f=new Map;g.webgpuOnCreateSession=h=>{if(void 0!==e){var l=e;e=void 0;if(h){const p=oe(l);f.set(h,p);0===l&&a(d??Y(p))}d=void 0}};g.webgpuOnReleaseSession=h=>{f.delete(h)};const k=Symbol("gpuBufferMetadata");g.webgpuRegisterBuffer=
119
+ (h,l,p)=>{if(p)return h[k]=[p,NaN],p;if(p=h[k])return p[1]++,p[0];l=f.get(l);if(void 0===l)throw Error("Invalid session handle passed to webgpuRegisterBuffer");l=nh(h,l);h[k]=[l,1];return l};g.webgpuUnregisterBuffer=h=>{const l=h[k];if(!l)throw Error("Buffer is not registered");l[1]--;0===l[1]&&(re(l[0]),delete h[k])};g.webgpuGetBuffer=h=>Y(h);g.webgpuCreateDownloader=(h,l,p)=>{p=f.get(p);if(void 0===p)throw Error("Invalid session handle passed to webgpuRegisterBuffer");const q=Y(p),y=16*Math.ceil(Number(l)/
120
+ 16);return async()=>{const z=q.createBuffer({size:y,usage:9});try{const A=q.createCommandEncoder();A.copyBufferToBuffer(h,0,z,0,y);q.queue.submit([A.finish()]);await z.mapAsync(GPUMapMode.READ);return z.getMappedRange().slice(0,l)}finally{z.destroy()}}};g.pe=(h,l)=>{var p=l.buffer;const q=l.byteOffset,y=l.byteLength;l=16*Math.ceil(Number(y)/16);h=Y(h);if(!d){var z=oe(e);d=Y(z)}z=d.createBuffer({mappedAtCreation:!0,size:l,usage:6});const A=z.getMappedRange();(new Uint8Array(A)).set(new Uint8Array(p,
121
+ q,y));z.unmap();p=d.createCommandEncoder();p.copyBufferToBuffer(z,0,h,0,l);d.queue.submit([p.finish()]);z.destroy()}};
122
+ g.webnnInit=a=>{const b=a[0];[g.Pe,g.qe,g.webnnEnsureTensor,g.re,g.webnnDownloadTensor,g.Oe,g.webnnEnableTraceEvent]=a.slice(1);g.webnnReleaseTensorId=g.qe;g.webnnUploadTensor=g.re;g.webnnRegisterMLContext=g.Oe;g.webnnOnRunStart=c=>b.onRunStart(c);g.webnnOnRunEnd=b.onRunEnd.bind(b);g.webnnOnReleaseSession=c=>{b.onReleaseSession(c)};g.webnnCreateMLTensorDownloader=(c,d)=>b.createMLTensorDownloader(c,d);g.webnnRegisterMLTensor=(c,d,e,f)=>b.registerMLTensor(c,d,e,f);g.webnnCreateMLContext=c=>b.createMLContext(c);
123
+ g.webnnRegisterGraphInput=b.registerGraphInput.bind(b);g.webnnIsGraphInput=b.isGraphInput.bind(b);g.webnnRegisterGraphOutput=b.registerGraphOutput.bind(b);g.webnnIsGraphOutput=b.isGraphOutput.bind(b);g.webnnCreateTemporaryTensor=b.createTemporaryTensor.bind(b);g.webnnIsGraphInputOutputTypeSupported=b.isGraphInputOutputTypeSupported.bind(b)};Sa?moduleRtn=g:moduleRtn=new Promise((a,b)=>{ya=a;za=b});
124
+ ;return moduleRtn}export default ortWasmThreaded;var isPthread=globalThis.self?.name?.startsWith("em-pthread");var isNode=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(isNode)isPthread=(await import("worker_threads")).workerData==="em-pthread";isPthread&&ortWasmThreaded();