UNPKG

ndlkotenocr-lite-worker

Version:
924 lines 58.8 MB
import { e as vJ, l as ME } from "../chunks/model-loader-ByxdVp3K.js"; /*! * ONNX Runtime Web v1.22.0 * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ var Yg = Object.defineProperty, eJ = Object.getOwnPropertyDescriptor, uJ = Object.getOwnPropertyNames, _J = Object.prototype.hasOwnProperty, $J = ((A) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(A, { get: (I, C) => (typeof require < "u" ? require : I)[C] }) : A)(function(A) { if (typeof require < "u") return require.apply(this, arguments); throw Error('Dynamic require of "' + A + '" is not supported'); }), x = (A, I) => () => (A && (I = A(A = 0)), I), qI = (A, I) => { for (var C in I) Yg(A, C, { get: I[C], enumerable: !0 }); }, Ai = (A, I, C, Q) => { if (I && typeof I == "object" || typeof I == "function") for (let g of uJ(I)) !_J.call(A, g) && g !== C && Yg(A, g, { get: () => I[g], enumerable: !(Q = eJ(I, g)) || Q.enumerable }); return A; }, QC = (A) => Ai(Yg({}, "__esModule", { value: !0 }), A), pI, wI, aI, GE, Xw, rw = x(() => { pI = /* @__PURE__ */ new Map(), wI = [], aI = (A, I, C) => { if (I && typeof I.init == "function" && typeof I.createInferenceSessionHandler == "function") { let Q = pI.get(A); if (Q === void 0) pI.set(A, { backend: I, priority: C }); else { if (Q.priority > C) return; if (Q.priority === C && Q.backend !== I) throw new Error(`cannot register backend "${A}" using priority ${C}`); } if (C >= 0) { let g = wI.indexOf(A); g !== -1 && wI.splice(g, 1); for (let B = 0; B < wI.length; B++) if (pI.get(wI[B]).priority <= C) { wI.splice(B, 0, A); return; } wI.push(A); } return; } throw new TypeError("not a valid backend"); }, GE = async (A) => { let I = pI.get(A); if (!I) return "backend not found."; if (I.initialized) return I.backend; if (I.aborted) return I.error; { let C = !!I.initPromise; try { return C || (I.initPromise = I.backend.init(A)), await I.initPromise, I.initialized = !0, I.backend; } catch (Q) { return C || (I.error = `${Q}`, I.aborted = !0), I.error; } finally { delete I.initPromise; } } }, Xw = async (A) => { let I = A.executionProviders || [], C = I.map((w) => typeof w == "string" ? w : w.name), Q = C.length === 0 ? wI : C, g, B = [], E = /* @__PURE__ */ new Set(); for (let w of Q) { let D = await GE(w); typeof D == "string" ? B.push({ name: w, err: D }) : (g || (g = D), g === D && E.add(w)); } if (!g) throw new Error(`no available backend found. ERR: ${B.map((w) => `[${w.name}] ${w.err}`).join(", ")}`); for (let { name: w, err: D } of B) C.includes(w) && console.warn(`removing requested execution provider "${w}" from session options because it is not available: ${D}`); let R = I.filter((w) => E.has(typeof w == "string" ? w : w.name)); return [g, new Proxy(A, { get: (w, D) => D === "executionProviders" ? R : Reflect.get(w, D) })]; }; }), Ii = x(() => { rw(); }), mw, Ci = x(() => { mw = "1.22.0"; }), RQ, xA, vw = x(() => { Ci(), RQ = "warning", xA = { wasm: {}, webgl: {}, webgpu: {}, versions: { common: mw }, set logLevel(A) { if (A !== void 0) { if (typeof A != "string" || ["verbose", "info", "warning", "error", "fatal"].indexOf(A) === -1) throw new Error(`Unsupported logging level: ${A}`); RQ = A; } }, get logLevel() { return RQ; } }, Object.defineProperty(xA, "logLevel", { enumerable: !0 }); }), GA, Qi = x(() => { vw(), GA = xA; }), ew, uw, gi = x(() => { ew = (A, I) => { let C = typeof document < "u" ? document.createElement("canvas") : new OffscreenCanvas(1, 1); C.width = A.dims[3], C.height = A.dims[2]; let Q = C.getContext("2d"); if (Q != null) { let g, B; I?.tensorLayout !== void 0 && I.tensorLayout === "NHWC" ? (g = A.dims[2], B = A.dims[3]) : (g = A.dims[3], B = A.dims[2]); let E = I?.format !== void 0 ? I.format : "RGB", R = I?.norm, w, D; R === void 0 || R.mean === void 0 ? w = [255, 255, 255, 255] : typeof R.mean == "number" ? w = [R.mean, R.mean, R.mean, R.mean] : (w = [R.mean[0], R.mean[1], R.mean[2], 0], R.mean[3] !== void 0 && (w[3] = R.mean[3])), R === void 0 || R.bias === void 0 ? D = [0, 0, 0, 0] : typeof R.bias == "number" ? D = [R.bias, R.bias, R.bias, R.bias] : (D = [R.bias[0], R.bias[1], R.bias[2], 0], R.bias[3] !== void 0 && (D[3] = R.bias[3])); let M = B * g, G = 0, J = M, y = M * 2, o = -1; E === "RGBA" ? (G = 0, J = M, y = M * 2, o = M * 3) : E === "RGB" ? (G = 0, J = M, y = M * 2) : E === "RBG" && (G = 0, y = M, J = M * 2); for (let j = 0; j < B; j++) for (let Y = 0; Y < g; Y++) { let h = (A.data[G++] - D[0]) * w[0], s = (A.data[J++] - D[1]) * w[1], K = (A.data[y++] - D[2]) * w[2], L = o === -1 ? 255 : (A.data[o++] - D[3]) * w[3]; Q.fillStyle = "rgba(" + h + "," + s + "," + K + "," + L + ")", Q.fillRect(Y, j, 1, 1); } if ("toDataURL" in C) return C.toDataURL(); throw new Error("toDataURL is not supported"); } else throw new Error("Can not access image data"); }, uw = (A, I) => { let C = typeof document < "u" ? document.createElement("canvas").getContext("2d") : new OffscreenCanvas(1, 1).getContext("2d"), Q; if (C != null) { let g, B, E; I?.tensorLayout !== void 0 && I.tensorLayout === "NHWC" ? (g = A.dims[2], B = A.dims[1], E = A.dims[3]) : (g = A.dims[3], B = A.dims[2], E = A.dims[1]); let R = I !== void 0 && I.format !== void 0 ? I.format : "RGB", w = I?.norm, D, M; w === void 0 || w.mean === void 0 ? D = [255, 255, 255, 255] : typeof w.mean == "number" ? D = [w.mean, w.mean, w.mean, w.mean] : (D = [w.mean[0], w.mean[1], w.mean[2], 255], w.mean[3] !== void 0 && (D[3] = w.mean[3])), w === void 0 || w.bias === void 0 ? M = [0, 0, 0, 0] : typeof w.bias == "number" ? M = [w.bias, w.bias, w.bias, w.bias] : (M = [w.bias[0], w.bias[1], w.bias[2], 0], w.bias[3] !== void 0 && (M[3] = w.bias[3])); let G = B * g; if (I !== void 0 && (I.format !== void 0 && E === 4 && I.format !== "RGBA" || E === 3 && I.format !== "RGB" && I.format !== "BGR")) throw new Error("Tensor format doesn't match input tensor dims"); let J = 4, y = 0, o = 1, j = 2, Y = 3, h = 0, s = G, K = G * 2, L = -1; R === "RGBA" ? (h = 0, s = G, K = G * 2, L = G * 3) : R === "RGB" ? (h = 0, s = G, K = G * 2) : R === "RBG" && (h = 0, K = G, s = G * 2), Q = C.createImageData(g, B); for (let l = 0; l < B * g; y += J, o += J, j += J, Y += J, l++) Q.data[y] = (A.data[h++] - M[0]) * D[0], Q.data[o] = (A.data[s++] - M[1]) * D[1], Q.data[j] = (A.data[K++] - M[2]) * D[2], Q.data[Y] = L === -1 ? 255 : (A.data[L++] - M[3]) * D[3]; } else throw new Error("Can not access image data"); return Q; }; }), oC, _w, $w, AD, ID, CD, Bi = x(() => { Kg(), oC = (A, I) => { if (A === void 0) throw new Error("Image buffer must be defined"); if (I.height === void 0 || I.width === void 0) throw new Error("Image height and width must be defined"); if (I.tensorLayout === "NHWC") throw new Error("NHWC Tensor layout is not supported yet"); let { height: C, width: Q } = I, g = I.norm ?? { mean: 255, bias: 0 }, B, E; typeof g.mean == "number" ? B = [g.mean, g.mean, g.mean, g.mean] : B = [g.mean[0], g.mean[1], g.mean[2], g.mean[3] ?? 255], typeof g.bias == "number" ? E = [g.bias, g.bias, g.bias, g.bias] : E = [g.bias[0], g.bias[1], g.bias[2], g.bias[3] ?? 0]; let R = I.format !== void 0 ? I.format : "RGBA", w = I.tensorFormat !== void 0 && I.tensorFormat !== void 0 ? I.tensorFormat : "RGB", D = C * Q, M = w === "RGBA" ? new Float32Array(D * 4) : new Float32Array(D * 3), G = 4, J = 0, y = 1, o = 2, j = 3, Y = 0, h = D, s = D * 2, K = -1; R === "RGB" && (G = 3, J = 0, y = 1, o = 2, j = -1), w === "RGBA" ? K = D * 3 : w === "RBG" ? (Y = 0, s = D, h = D * 2) : w === "BGR" && (s = 0, h = D, Y = D * 2); for (let L = 0; L < D; L++, J += G, o += G, y += G, j += G) M[Y++] = (A[J] + E[0]) / B[0], M[h++] = (A[y] + E[1]) / B[1], M[s++] = (A[o] + E[2]) / B[2], K !== -1 && j !== -1 && (M[K++] = (A[j] + E[3]) / B[3]); return w === "RGBA" ? new nA("float32", M, [1, 4, C, Q]) : new nA("float32", M, [1, 3, C, Q]); }, _w = async (A, I) => { let C = typeof HTMLImageElement < "u" && A instanceof HTMLImageElement, Q = typeof ImageData < "u" && A instanceof ImageData, g = typeof ImageBitmap < "u" && A instanceof ImageBitmap, B = typeof A == "string", E, R = I ?? {}, w = () => { if (typeof document < "u") return document.createElement("canvas"); if (typeof OffscreenCanvas < "u") return new OffscreenCanvas(1, 1); throw new Error("Canvas is not supported"); }, D = (M) => typeof HTMLCanvasElement < "u" && M instanceof HTMLCanvasElement || M instanceof OffscreenCanvas ? M.getContext("2d") : null; if (C) { let M = w(); M.width = A.width, M.height = A.height; let G = D(M); if (G != null) { let J = A.height, y = A.width; if (I !== void 0 && I.resizedHeight !== void 0 && I.resizedWidth !== void 0 && (J = I.resizedHeight, y = I.resizedWidth), I !== void 0) { if (R = I, I.tensorFormat !== void 0) throw new Error("Image input config format must be RGBA for HTMLImageElement"); R.tensorFormat = "RGBA", R.height = J, R.width = y; } else R.tensorFormat = "RGBA", R.height = J, R.width = y; G.drawImage(A, 0, 0), E = G.getImageData(0, 0, y, J).data; } else throw new Error("Can not access image data"); } else if (Q) { let M, G; if (I !== void 0 && I.resizedWidth !== void 0 && I.resizedHeight !== void 0 ? (M = I.resizedHeight, G = I.resizedWidth) : (M = A.height, G = A.width), I !== void 0 && (R = I), R.format = "RGBA", R.height = M, R.width = G, I !== void 0) { let J = w(); J.width = G, J.height = M; let y = D(J); if (y != null) y.putImageData(A, 0, 0), E = y.getImageData(0, 0, G, M).data; else throw new Error("Can not access image data"); } else E = A.data; } else if (g) { if (I === void 0) throw new Error("Please provide image config with format for Imagebitmap"); let M = w(); M.width = A.width, M.height = A.height; let G = D(M); if (G != null) { let J = A.height, y = A.width; return G.drawImage(A, 0, 0, y, J), E = G.getImageData(0, 0, y, J).data, R.height = J, R.width = y, oC(E, R); } else throw new Error("Can not access image data"); } else { if (B) return new Promise((M, G) => { let J = w(), y = D(J); if (!A || !y) return G(); let o = new Image(); o.crossOrigin = "Anonymous", o.src = A, o.onload = () => { J.width = o.width, J.height = o.height, y.drawImage(o, 0, 0, J.width, J.height); let j = y.getImageData(0, 0, J.width, J.height); R.height = J.height, R.width = J.width, M(oC(j.data, R)); }; }); throw new Error("Input data provided is not supported - aborted tensor creation"); } if (E !== void 0) return oC(E, R); throw new Error("Input data provided is not supported - aborted tensor creation"); }, $w = (A, I) => { let { width: C, height: Q, download: g, dispose: B } = I, E = [1, Q, C, 4]; return new nA({ location: "texture", type: "float32", texture: A, dims: E, download: g, dispose: B }); }, AD = (A, I) => { let { dataType: C, dims: Q, download: g, dispose: B } = I; return new nA({ location: "gpu-buffer", type: C ?? "float32", gpuBuffer: A, dims: Q, download: g, dispose: B }); }, ID = (A, I) => { let { dataType: C, dims: Q, download: g, dispose: B } = I; return new nA({ location: "ml-tensor", type: C ?? "float32", mlTensor: A, dims: Q, download: g, dispose: B }); }, CD = (A, I, C) => new nA({ location: "cpu-pinned", type: A, data: I, dims: C ?? [I.length] }); }), jI, _I, wQ, QD, Ei = x(() => { jI = /* @__PURE__ */ new Map([["float32", Float32Array], ["uint8", Uint8Array], ["int8", Int8Array], ["uint16", Uint16Array], ["int16", Int16Array], ["int32", Int32Array], ["bool", Uint8Array], ["float64", Float64Array], ["uint32", Uint32Array], ["int4", Uint8Array], ["uint4", Uint8Array]]), _I = /* @__PURE__ */ new Map([[Float32Array, "float32"], [Uint8Array, "uint8"], [Int8Array, "int8"], [Uint16Array, "uint16"], [Int16Array, "int16"], [Int32Array, "int32"], [Float64Array, "float64"], [Uint32Array, "uint32"]]), wQ = !1, QD = () => { if (!wQ) { wQ = !0; let A = typeof BigInt64Array < "u" && BigInt64Array.from, I = typeof BigUint64Array < "u" && BigUint64Array.from, C = globalThis.Float16Array, Q = typeof C < "u" && C.from; A && (jI.set("int64", BigInt64Array), _I.set(BigInt64Array, "int64")), I && (jI.set("uint64", BigUint64Array), _I.set(BigUint64Array, "uint64")), Q ? (jI.set("float16", C), _I.set(C, "float16")) : jI.set("float16", Uint16Array); } }; }), gD, BD, Ui = x(() => { Kg(), gD = (A) => { let I = 1; for (let C = 0; C < A.length; C++) { let Q = A[C]; if (typeof Q != "number" || !Number.isSafeInteger(Q)) throw new TypeError(`dims[${C}] must be an integer, got: ${Q}`); if (Q < 0) throw new RangeError(`dims[${C}] must be a non-negative integer, got: ${Q}`); I *= Q; } return I; }, BD = (A, I) => { switch (A.location) { case "cpu": return new nA(A.type, A.data, I); case "cpu-pinned": return new nA({ location: "cpu-pinned", data: A.data, type: A.type, dims: I }); case "texture": return new nA({ location: "texture", texture: A.texture, type: A.type, dims: I }); case "gpu-buffer": return new nA({ location: "gpu-buffer", gpuBuffer: A.gpuBuffer, type: A.type, dims: I }); case "ml-tensor": return new nA({ location: "ml-tensor", mlTensor: A.mlTensor, type: A.type, dims: I }); default: throw new Error(`tensorReshape: tensor location ${A.location} is not supported`); } }; }), nA, Kg = x(() => { gi(), Bi(), Ei(), Ui(), nA = class { constructor(A, I, C) { QD(); let Q, g; if (typeof A == "object" && "location" in A) switch (this.dataLocation = A.location, Q = A.type, g = A.dims, A.location) { case "cpu-pinned": { let E = jI.get(Q); if (!E) throw new TypeError(`unsupported type "${Q}" to create tensor from pinned buffer`); if (!(A.data instanceof E)) throw new TypeError(`buffer should be of type ${E.name}`); this.cpuData = A.data; break; } case "texture": { if (Q !== "float32") throw new TypeError(`unsupported type "${Q}" to create tensor from texture`); this.gpuTextureData = A.texture, this.downloader = A.download, this.disposer = A.dispose; break; } case "gpu-buffer": { if (Q !== "float32" && Q !== "float16" && Q !== "int32" && Q !== "int64" && Q !== "uint32" && Q !== "uint8" && Q !== "bool" && Q !== "uint4" && Q !== "int4") throw new TypeError(`unsupported type "${Q}" to create tensor from gpu buffer`); this.gpuBufferData = A.gpuBuffer, this.downloader = A.download, this.disposer = A.dispose; break; } case "ml-tensor": { if (Q !== "float32" && Q !== "float16" && Q !== "int32" && Q !== "int64" && Q !== "uint32" && Q !== "uint64" && Q !== "int8" && Q !== "uint8" && Q !== "bool" && Q !== "uint4" && Q !== "int4") throw new TypeError(`unsupported type "${Q}" to create tensor from MLTensor`); this.mlTensorData = A.mlTensor, this.downloader = A.download, this.disposer = A.dispose; break; } default: throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`); } else { let E, R; if (typeof A == "string") if (Q = A, R = C, A === "string") { if (!Array.isArray(I)) throw new TypeError("A string tensor's data must be a string array."); E = I; } else { let w = jI.get(A); if (w === void 0) throw new TypeError(`Unsupported tensor type: ${A}.`); if (Array.isArray(I)) { if (A === "float16" && w === Uint16Array || A === "uint4" || A === "int4") throw new TypeError(`Creating a ${A} tensor from number array is not supported. Please use ${w.name} as data.`); A === "uint64" || A === "int64" ? E = w.from(I, BigInt) : E = w.from(I); } else if (I instanceof w) E = I; else if (I instanceof Uint8ClampedArray) if (A === "uint8") E = Uint8Array.from(I); else throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8"); else if (A === "float16" && I instanceof Uint16Array && w !== Uint16Array) E = new globalThis.Float16Array(I.buffer, I.byteOffset, I.length); else throw new TypeError(`A ${Q} tensor's data must be type of ${w}`); } else if (R = I, Array.isArray(A)) { if (A.length === 0) throw new TypeError("Tensor type cannot be inferred from an empty array."); let w = typeof A[0]; if (w === "string") Q = "string", E = A; else if (w === "boolean") Q = "bool", E = Uint8Array.from(A); else throw new TypeError(`Invalid element type of data array: ${w}.`); } else if (A instanceof Uint8ClampedArray) Q = "uint8", E = Uint8Array.from(A); else { let w = _I.get(A.constructor); if (w === void 0) throw new TypeError(`Unsupported type for tensor data: ${A.constructor}.`); Q = w, E = A; } if (R === void 0) R = [E.length]; else if (!Array.isArray(R)) throw new TypeError("A tensor's dims must be a number array"); g = R, this.cpuData = E, this.dataLocation = "cpu"; } let B = gD(g); if (this.cpuData && B !== this.cpuData.length && !((Q === "uint4" || Q === "int4") && Math.ceil(B / 2) === this.cpuData.length)) throw new Error(`Tensor's size(${B}) does not match data length(${this.cpuData.length}).`); this.type = Q, this.dims = g, this.size = B; } static async fromImage(A, I) { return _w(A, I); } static fromTexture(A, I) { return $w(A, I); } static fromGpuBuffer(A, I) { return AD(A, I); } static fromMLTensor(A, I) { return ID(A, I); } static fromPinnedBuffer(A, I, C) { return CD(A, I, C); } toDataURL(A) { return ew(this, A); } toImageData(A) { return uw(this, A); } get data() { if (this.ensureValid(), !this.cpuData) throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly."); return this.cpuData; } get location() { return this.dataLocation; } get texture() { if (this.ensureValid(), !this.gpuTextureData) throw new Error("The data is not stored as a WebGL texture."); return this.gpuTextureData; } get gpuBuffer() { if (this.ensureValid(), !this.gpuBufferData) throw new Error("The data is not stored as a WebGPU buffer."); return this.gpuBufferData; } get mlTensor() { if (this.ensureValid(), !this.mlTensorData) throw new Error("The data is not stored as a WebNN MLTensor."); return this.mlTensorData; } async getData(A) { switch (this.ensureValid(), this.dataLocation) { case "cpu": case "cpu-pinned": return this.data; case "texture": case "gpu-buffer": case "ml-tensor": { if (!this.downloader) throw new Error("The current tensor is not created with a specified data downloader."); if (this.isDownloading) throw new Error("The current tensor is being downloaded."); try { this.isDownloading = !0; let I = await this.downloader(); return this.downloader = void 0, this.dataLocation = "cpu", this.cpuData = I, A && this.disposer && (this.disposer(), this.disposer = void 0), I; } finally { this.isDownloading = !1; } } default: throw new Error(`cannot get data from location: ${this.dataLocation}`); } } dispose() { if (this.isDownloading) throw new Error("The current tensor is being downloaded."); this.disposer && (this.disposer(), this.disposer = void 0), this.cpuData = void 0, this.gpuTextureData = void 0, this.gpuBufferData = void 0, this.mlTensorData = void 0, this.downloader = void 0, this.isDownloading = void 0, this.dataLocation = "none"; } ensureValid() { if (this.dataLocation === "none") throw new Error("The tensor is disposed."); } reshape(A) { if (this.ensureValid(), this.downloader || this.disposer) throw new Error("Cannot reshape a tensor that owns GPU resource."); return BD(this, A); } }; }), dA, ED = x(() => { Kg(), dA = nA; }), nC, DQ, uA, zA, UD = x(() => { vw(), nC = (A, I) => { (typeof xA.trace > "u" ? !xA.wasm.trace : !xA.trace) || console.timeStamp(`${A}::ORT::${I}`); }, DQ = (A, I) => { let C = new Error().stack?.split(/\r\n|\r|\n/g) || [], Q = !1; for (let g = 0; g < C.length; g++) { if (Q && !C[g].includes("TRACE_FUNC")) { let B = `FUNC_${A}::${C[g].trim().split(" ")[1]}`; I && (B += `::${I}`), nC("CPU", B); return; } C[g].includes("TRACE_FUNC") && (Q = !0); } }, uA = (A) => { (typeof xA.trace > "u" ? !xA.wasm.trace : !xA.trace) || DQ("BEGIN", A); }, zA = (A) => { (typeof xA.trace > "u" ? !xA.wasm.trace : !xA.trace) || DQ("END", A); }; }), RD, Ri = x(() => { rw(), ED(), UD(), RD = class wD { constructor(I) { this.handler = I; } async run(I, C, Q) { uA(); let g = {}, B = {}; if (typeof I != "object" || I === null || I instanceof dA || Array.isArray(I)) throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values."); let E = !0; if (typeof C == "object") { if (C === null) throw new TypeError("Unexpected argument[1]: cannot be null."); if (C instanceof dA) throw new TypeError("'fetches' cannot be a Tensor"); if (Array.isArray(C)) { if (C.length === 0) throw new TypeError("'fetches' cannot be an empty array."); E = !1; for (let D of C) { if (typeof D != "string") throw new TypeError("'fetches' must be a string array or an object."); if (this.outputNames.indexOf(D) === -1) throw new RangeError(`'fetches' contains invalid output name: ${D}.`); g[D] = null; } if (typeof Q == "object" && Q !== null) B = Q; else if (typeof Q < "u") throw new TypeError("'options' must be an object."); } else { let D = !1, M = Object.getOwnPropertyNames(C); for (let G of this.outputNames) if (M.indexOf(G) !== -1) { let J = C[G]; (J === null || J instanceof dA) && (D = !0, E = !1, g[G] = J); } if (D) { if (typeof Q == "object" && Q !== null) B = Q; else if (typeof Q < "u") throw new TypeError("'options' must be an object."); } else B = C; } } else if (typeof C < "u") throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'."); for (let D of this.inputNames) if (typeof I[D] > "u") throw new Error(`input '${D}' is missing in 'feeds'.`); if (E) for (let D of this.outputNames) g[D] = null; let R = await this.handler.run(I, g, B), w = {}; for (let D in R) if (Object.hasOwnProperty.call(R, D)) { let M = R[D]; M instanceof dA ? w[D] = M : w[D] = new dA(M.type, M.data, M.dims); } return zA(), w; } async release() { return this.handler.dispose(); } static async create(I, C, Q, g) { uA(); let B, E = {}; if (typeof I == "string") { if (B = I, typeof C == "object" && C !== null) E = C; else if (typeof C < "u") throw new TypeError("'options' must be an object."); } else if (I instanceof Uint8Array) { if (B = I, typeof C == "object" && C !== null) E = C; else if (typeof C < "u") throw new TypeError("'options' must be an object."); } else if (I instanceof ArrayBuffer || typeof SharedArrayBuffer < "u" && I instanceof SharedArrayBuffer) { let M = I, G = 0, J = I.byteLength; if (typeof C == "object" && C !== null) E = C; else if (typeof C == "number") { if (G = C, !Number.isSafeInteger(G)) throw new RangeError("'byteOffset' must be an integer."); if (G < 0 || G >= M.byteLength) throw new RangeError(`'byteOffset' is out of range [0, ${M.byteLength}).`); if (J = I.byteLength - G, typeof Q == "number") { if (J = Q, !Number.isSafeInteger(J)) throw new RangeError("'byteLength' must be an integer."); if (J <= 0 || G + J > M.byteLength) throw new RangeError(`'byteLength' is out of range (0, ${M.byteLength - G}].`); if (typeof g == "object" && g !== null) E = g; else if (typeof g < "u") throw new TypeError("'options' must be an object."); } else if (typeof Q < "u") throw new TypeError("'byteLength' must be a number."); } else if (typeof C < "u") throw new TypeError("'options' must be an object."); B = new Uint8Array(M, G, J); } else throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'."); let [R, w] = await Xw(E), D = await R.createInferenceSessionHandler(B, w); return zA(), new wD(D); } startProfiling() { this.handler.startProfiling(); } endProfiling() { this.handler.endProfiling(); } get inputNames() { return this.handler.inputNames; } get outputNames() { return this.handler.outputNames; } get inputMetadata() { return this.handler.inputMetadata; } get outputMetadata() { return this.handler.outputMetadata; } }; }), lg, wi = x(() => { Ri(), lg = RD; }), Di = x(() => { }), Fi = x(() => { }), Mi = x(() => { }), Gi = x(() => { }), Ji = {}; qI(Ji, { InferenceSession: () => lg, TRACE: () => nC, TRACE_FUNC_BEGIN: () => uA, TRACE_FUNC_END: () => zA, Tensor: () => dA, env: () => GA, registerBackend: () => aI }); var XA = x(() => { Ii(), Qi(), wi(), ED(), Di(), Fi(), UD(), Mi(), Gi(); }), kg = x(() => { }), DD = {}; qI(DD, { default: () => FD }); var FQ, MQ, FD, ii = x(() => { yG(), KI(), cg(), FQ = "ort-wasm-proxy-worker", MQ = globalThis.self?.name === FQ, MQ && (self.onmessage = (A) => { let { type: I, in: C } = A.data; try { switch (I) { case "init-wasm": Hg(C.wasm).then(() => { Xg(C).then(() => { postMessage({ type: I }); }, (Q) => { postMessage({ type: I, err: Q }); }); }, (Q) => { postMessage({ type: I, err: Q }); }); break; case "init-ep": { let { epName: Q, env: g } = C; rg(g, Q).then(() => { postMessage({ type: I }); }, (B) => { postMessage({ type: I, err: B }); }); break; } case "copy-from": { let { buffer: Q } = C, g = PC(Q); postMessage({ type: I, out: g }); break; } case "create": { let { model: Q, options: g } = C; mg(Q, g).then((B) => { postMessage({ type: I, out: B }); }, (B) => { postMessage({ type: I, err: B }); }); break; } case "release": vg(C), postMessage({ type: I }); break; case "run": { let { sessionId: Q, inputIndices: g, inputs: B, outputIndices: E, options: R } = C; eg(Q, g, B, E, new Array(E.length).fill(null), R).then((w) => { w.some((D) => D[3] !== "cpu") ? postMessage({ type: I, err: "Proxy does not support non-cpu tensor location." }) : postMessage({ type: I, out: w }, _g([...B, ...w])); }, (w) => { postMessage({ type: I, err: w }); }); break; } case "end-profiling": ug(C), postMessage({ type: I }); break; default: } } catch (Q) { postMessage({ type: I, err: Q }); } }), FD = MQ ? null : (A) => new Worker(A ?? ZA, { type: "module", name: FQ }); }), MD = {}; qI(MD, { default: () => GD }); var GQ, JQ, GD, JE, yi = x(() => { JQ = (GQ = import.meta.url, async function(A = {}) { var I, C, Q = A, g = new Promise((U, F) => { I = U, C = F; }), B = typeof window == "object", E = typeof WorkerGlobalScope < "u", R = E && self.name?.startsWith("em-pthread"); Q.mountExternalData = (U, F) => { U.startsWith("./") && (U = U.substring(2)), (Q.Fb || (Q.Fb = /* @__PURE__ */ new Map())).set(U, F); }, Q.unmountExternalData = () => { delete Q.Fb; }; var w = globalThis.SharedArrayBuffer ?? new WebAssembly.Memory({ initial: 0, maximum: 0, qc: !0 }).buffer.constructor; let D = (U) => async (...F) => { try { if (Q.Gb) throw Error("Session already started"); let i = Q.Gb = { ec: F[0], errors: [] }, N = await U(...F); if (Q.Gb !== i) throw Error("Session mismatch"); Q.Kb?.flush(); let S = i.errors; if (0 < S.length) { let k = await Promise.all(S); if (k = k.filter((d) => d), 0 < k.length) throw Error(k.join(` `)); } return N; } finally { Q.Gb = null; } }; Q.jsepInit = (U, F) => { if (U === "webgpu") { [Q.Kb, Q.Vb, Q.Zb, Q.Lb, Q.Yb, Q.kb, Q.$b, Q.bc, Q.Wb, Q.Xb, Q.ac] = F; let i = Q.Kb; Q.jsepRegisterBuffer = (N, S, k, d) => i.registerBuffer(N, S, k, d), Q.jsepGetBuffer = (N) => i.getBuffer(N), Q.jsepCreateDownloader = (N, S, k) => i.createDownloader(N, S, k), Q.jsepOnCreateSession = (N) => { i.onCreateSession(N); }, Q.jsepOnReleaseSession = (N) => { i.onReleaseSession(N); }, Q.jsepOnRunStart = (N) => i.onRunStart(N), Q.cc = (N, S) => { i.upload(N, S); }; } else if (U === "webnn") { let i = F[0]; [Q.oc, Q.Ob, Q.webnnEnsureTensor, Q.Pb, Q.webnnDownloadTensor] = F.slice(1), Q.webnnReleaseTensorId = Q.Ob, Q.webnnUploadTensor = Q.Pb, Q.webnnOnRunStart = (N) => i.onRunStart(N), Q.webnnOnRunEnd = i.onRunEnd.bind(i), Q.webnnRegisterMLContext = (N, S) => { i.registerMLContext(N, S); }, Q.webnnOnReleaseSession = (N) => { i.onReleaseSession(N); }, Q.webnnCreateMLTensorDownloader = (N, S) => i.createMLTensorDownloader(N, S), Q.webnnRegisterMLTensor = (N, S, k, d) => i.registerMLTensor(N, S, k, d), Q.webnnCreateMLContext = (N) => i.createMLContext(N), Q.webnnRegisterMLConstant = (N, S, k, d, b, p) => i.registerMLConstant(N, S, k, d, b, Q.Fb, p), Q.webnnRegisterGraphInput = i.registerGraphInput.bind(i), Q.webnnIsGraphInput = i.isGraphInput.bind(i), Q.webnnRegisterGraphOutput = i.registerGraphOutput.bind(i), Q.webnnIsGraphOutput = i.isGraphOutput.bind(i), Q.webnnCreateTemporaryTensor = i.createTemporaryTensor.bind(i), Q.webnnIsGraphInputOutputTypeSupported = i.isGraphInputOutputTypeSupported.bind(i); } }; let M = () => { let U = (F, i, N) => (...S) => { let k = mA, d = i?.(); S = F(...S); let b = i?.(); return d !== b && (F = b, N(d), i = N = null), mA != k ? new Promise((p, m) => { AQ = { resolve: p, reject: m }; }) : S; }; (() => { for (let F of ["_OrtAppendExecutionProvider", "_OrtCreateSession", "_OrtRun", "_OrtRunWithBinding", "_OrtBindInput"]) Q[F] = U(Q[F], () => Q[F], (i) => Q[F] = i); })(), D !== void 0 && (Q._OrtRun = D(Q._OrtRun), Q._OrtRunWithBinding = D(Q._OrtRunWithBinding)), M = void 0; }; Q.asyncInit = () => { M?.(); }; var G, J, y = Object.assign({}, Q), o = (U, F) => { throw F; }, j = ""; (B || E) && (E ? j = self.location.href : typeof document < "u" && document.currentScript && (j = document.currentScript.src), GQ && (j = GQ), j = j.startsWith("blob:") ? "" : j.slice(0, j.replace(/[?#].*/, "").lastIndexOf("/") + 1), E && (J = (U) => { var F = new XMLHttpRequest(); return F.open("GET", U, !1), F.responseType = "arraybuffer", F.send(null), new Uint8Array(F.response); }), G = async (U) => { if (r(U)) return new Promise((i, N) => { var S = new XMLHttpRequest(); S.open("GET", U, !0), S.responseType = "arraybuffer", S.onload = () => { S.status == 200 || S.status == 0 && S.response ? i(S.response) : N(S.status); }, S.onerror = N, S.send(null); }); var F = await fetch(U, { credentials: "same-origin" }); if (F.ok) return F.arrayBuffer(); throw Error(F.status + " : " + F.url); }); var Y = console.log.bind(console), h = console.error.bind(console), s = Y, K = h; Object.assign(Q, y), y = null; var L, l, H, c, Z, T, W, u, t, AA, P, IA, e, O = Q.wasmBinary, UA = !1, r = (U) => U.startsWith("file://"); function RA() { return L.buffer != c.buffer && SA(), c; } function V() { return L.buffer != c.buffer && SA(), Z; } function f() { return L.buffer != c.buffer && SA(), T; } function CA() { return L.buffer != c.buffer && SA(), W; } function n() { return L.buffer != c.buffer && SA(), u; } function QA() { return L.buffer != c.buffer && SA(), t; } function cA() { return L.buffer != c.buffer && SA(), AA; } function VA() { return L.buffer != c.buffer && SA(), e; } if (R) { let U = function(F) { try { var i = F.data, N = i.Cb; if (N === "load") { let S = []; self.onmessage = (k) => S.push(k), self.startWorker = () => { postMessage({ Cb: "loaded" }); for (let k of S) U(k); self.onmessage = U; }; for (let k of i.Sb) Q[k] && !Q[k].proxy || (Q[k] = (...d) => { postMessage({ Cb: "callHandler", Rb: k, args: d }); }, k == "print" && (s = Q[k]), k == "printErr" && (K = Q[k])); L = i.lc, SA(), hA(i.mc); } else if (N === "run") { ZG(i.Bb), gQ(i.Bb, 0, 0, 1, 0, 0), EB(), _C(i.Bb), oA || (AE(), oA = !0); try { nG(i.hc, i.Ib); } catch (S) { if (S != "unwind") throw S; } } else i.target !== "setimmediate" && (N === "checkMailbox" ? oA && EC() : N && (K(`worker: received unknown command ${N}`), K(i))); } catch (S) { throw IE(), S; } }; var hA, oA = !1; K = function(...F) { F = F.join(" "), console.error(F); }, self.alert = function(...F) { postMessage({ Cb: "alert", text: F.join(" "), jc: JC() }); }, self.onunhandledrejection = (F) => { throw F.reason || F; }, self.onmessage = U; } function SA() { var U = L.buffer; Q.HEAP8 = c = new Int8Array(U), Q.HEAP16 = T = new Int16Array(U), Q.HEAPU8 = Z = new Uint8Array(U), Q.HEAPU16 = W = new Uint16Array(U), Q.HEAP32 = u = new Int32Array(U), Q.HEAPU32 = t = new Uint32Array(U), Q.HEAPF32 = AA = new Float32Array(U), Q.HEAPF64 = e = new Float64Array(U), Q.HEAP64 = P = new BigInt64Array(U), Q.HEAPU64 = IA = new BigUint64Array(U); } function BC() { R ? startWorker(Q) : _.Da(); } R || (L = new WebAssembly.Memory({ initial: 256, maximum: 65536, shared: !0 }), SA()); var VI, TI = 0, bI = null; function $g() { if (--TI == 0 && bI) { var U = bI; bI = null, U(); } } function QI(U) { throw K(U = "Aborted(" + U + ")"), UA = !0, U = new WebAssembly.RuntimeError(U + ". Build with -sASSERTIONS for more info."), C(U), U; } function AB() { return { a: { L: aG, Aa: HG, b: qG, $: DB, A: GB, pa: JB, X: yB, Z: oB, qa: NB, na: jB, ga: sB, ma: SB, J: hB, Y: LB, V: YB, oa: KB, W: lB, va: VG, E: TG, Q: bG, O: PG, D: pG, v: WG, r: OG, P: tG, z: uG, R: _G, ja: $G, T: AJ, aa: IJ, M: CJ, F: QJ, ia: _C, sa: gJ, t: BJ, Ca: EJ, w: wJ, o: DJ, m: MJ, c: vC, Ba: GJ, n: JJ, j: oJ, u: NJ, p: jJ, f: sJ, s: SJ, l: hJ, e: LJ, k: YJ, h: KJ, g: lJ, d: kJ, da: cJ, ea: HJ, fa: aJ, ba: fB, ca: pB, N: WB, xa: nJ, ua: qJ, i: VJ, C: TJ, G: bJ, ta: dJ, x: xJ, ra: PJ, U: fJ, q: ZJ, y: pJ, K: WJ, S: OJ, za: tJ, ya: zJ, ka: XB, la: rB, _: zC, B: mB, I: vB, ha: eB, H: uB, a: L, wa: tC } }; } var pC = { 840156: (U, F, i, N, S) => { if (Q === void 0 || !Q.Fb) return 1; if ((U = LA(Number(U >>> 0))).startsWith("./") && (U = U.substring(2)), !(U = Q.Fb.get(U))) return 2; if (F = Number(F >>> 0), i = Number(i >>> 0), N = Number(N >>> 0), F + i > U.byteLength) return 3; try { let k = U.subarray(F, F + i); switch (S) { case 0: V().set(k, N >>> 0); break; case 1: Q.nc ? Q.nc(N, k) : Q.cc(N, k); break; default: return 4; } return 0; } catch { return 4; } }, 840980: (U, F, i) => { Q.Pb(U, V().subarray(F >>> 0, F + i >>> 0)); }, 841044: () => Q.oc(), 841086: (U) => { Q.Ob(U); }, 841123: () => { Q.Wb(); }, 841154: () => { Q.Xb(); }, 841183: () => { Q.ac(); }, 841208: (U) => Q.Vb(U), 841241: (U) => Q.Zb(U), 841273: (U, F, i) => { Q.Lb(Number(U), Number(F), Number(i), !0); }, 841336: (U, F, i) => { Q.Lb(Number(U), Number(F), Number(i)); }, 841393: () => typeof wasmOffsetConverter < "u", 841450: (U) => { Q.kb("Abs", U, void 0); }, 841501: (U) => { Q.kb("Neg", U, void 0); }, 841552: (U) => { Q.kb("Floor", U, void 0); }, 841605: (U) => { Q.kb("Ceil", U, void 0); }, 841657: (U) => { Q.kb("Reciprocal", U, void 0); }, 841715: (U) => { Q.kb("Sqrt", U, void 0); }, 841767: (U) => { Q.kb("Exp", U, void 0); }, 841818: (U) => { Q.kb("Erf", U, void 0); }, 841869: (U) => { Q.kb("Sigmoid", U, void 0); }, 841924: (U, F, i) => { Q.kb("HardSigmoid", U, { alpha: F, beta: i }); }, 842003: (U) => { Q.kb("Log", U, void 0); }, 842054: (U) => { Q.kb("Sin", U, void 0); }, 842105: (U) => { Q.kb("Cos", U, void 0); }, 842156: (U) => { Q.kb("Tan", U, void 0); }, 842207: (U) => { Q.kb("Asin", U, void 0); }, 842259: (U) => { Q.kb("Acos", U, void 0); }, 842311: (U) => { Q.kb("Atan", U, void 0); }, 842363: (U) => { Q.kb("Sinh", U, void 0); }, 842415: (U) => { Q.kb("Cosh", U, void 0); }, 842467: (U) => { Q.kb("Asinh", U, void 0); }, 842520: (U) => { Q.kb("Acosh", U, void 0); }, 842573: (U) => { Q.kb("Atanh", U, void 0); }, 842626: (U) => { Q.kb("Tanh", U, void 0); }, 842678: (U) => { Q.kb("Not", U, void 0); }, 842729: (U, F, i) => { Q.kb("Clip", U, { min: F, max: i }); }, 842798: (U) => { Q.kb("Clip", U, void 0); }, 842850: (U, F) => { Q.kb("Elu", U, { alpha: F }); }, 842908: (U) => { Q.kb("Gelu", U, void 0); }, 842960: (U) => { Q.kb("Relu", U, void 0); }, 843012: (U, F) => { Q.kb("LeakyRelu", U, { alpha: F }); }, 843076: (U, F) => { Q.kb("ThresholdedRelu", U, { alpha: F }); }, 843146: (U, F) => { Q.kb("Cast", U, { to: F }); }, 843204: (U) => { Q.kb("Add", U, void 0); }, 843255: (U) => { Q.kb("Sub", U, void 0); }, 843306: (U) => { Q.kb("Mul", U, void 0); }, 843357: (U) => { Q.kb("Div", U, void 0); }, 843408: (U) => { Q.kb("Pow", U, void 0); }, 843459: (U) => { Q.kb("Equal", U, void 0); }, 843512: (U) => { Q.kb("Greater", U, void 0); }, 843567: (U) => { Q.kb("GreaterOrEqual", U, void 0); }, 843629: (U) => { Q.kb("Less", U, void 0); }, 843681: (U) => { Q.kb("LessOrEqual", U, void 0); }, 843740: (U, F, i, N, S) => { Q.kb("ReduceMean", U, { keepDims: !!F, noopWithEmptyAxes: !!i, axes: N ? Array.from(n().subarray(Number(N) >>> 0, Number(S) >>> 0)) : [] }); }, 843915: (U, F, i, N, S) => { Q.kb("ReduceMax", U, { keepDims: !!F, noopWithEmptyAxes: !!i, axes: N ? Array.from(n().subarray(Number(N) >>> 0, Number(S) >>> 0)) : [] }); }, 844089: (U, F, i, N, S) => { Q.kb("ReduceMin", U, { keepDims: !!F, noopWithEmptyAxes: !!i, axes: N ? Array.from(n().subarray(Number(N) >>> 0, Number(S) >>> 0)) : [] }); }, 844263: (U, F, i, N, S) => { Q.kb("ReduceProd", U, { keepDims: !!F, noopWithEmptyAxes: !!i, axes: N ? Array.from(n().subarray(Number(N) >>> 0, Number(S) >>> 0)) : [] }); }, 844438: (U, F, i, N, S) => { Q.kb("ReduceSum", U, { keepDims: !!F, noopWithEmptyAxes: !!i, axes: N ? Array.from(n().subarray(Number(N) >>> 0, Number(S) >>> 0)) : [] }); }, 844612: (U, F, i, N, S) => { Q.kb("ReduceL1", U, { keepDims: !!F, noopWithEmptyAxes: !!i, axes: N ? Array.from(n().subarray(Number(N) >>> 0, Number(S) >>> 0)) : [] }); }, 844785: (U, F, i, N, S) => { Q.kb("ReduceL2", U, { keepDims: !!F, noopWithEmptyAxes: !!i, axes: N ? Array.from(n().subarray(Number(N) >>> 0, Number(S) >>> 0)) : [] }); }, 844958: (U, F, i, N, S) => { Q.kb("ReduceLogSum", U, { keepDims: !!F, noopWithEmptyAxes: !!i, axes: N ? Array.from(n().subarray(Number(N) >>> 0, Number(S) >>> 0)) : [] }); }, 845135: (U, F, i, N, S) => { Q.kb("ReduceSumSquare", U, { keepDims: !!F, noopWithEmptyAxes: !!i, axes: N ? Array.from(n().subarray(Number(N) >>> 0, Number(S) >>> 0)) : [] }); }, 845315: (U, F, i, N, S) => { Q.kb("ReduceLogSumExp", U, { keepDims: !!F, noopWithEmptyAxes: !!i, axes: N ? Array.from(n().subarray(Number(N) >>> 0, Number(S) >>> 0)) : [] }); }, 845495: (U) => { Q.kb("Where", U, void 0); }, 845548: (U, F, i) => { Q.kb("Transpose", U, { perm: F ? Array.from(n().subarray(Number(F) >>> 0, Number(i) >>> 0)) : [] }); }, 845672: (U, F, i, N) => { Q.kb("DepthToSpace", U, { blocksize: F, mode: LA(i), format: N ? "NHWC" : "NCHW" }); }, 845805: (U, F, i, N) => { Q.kb("DepthToSpace", U, { blocksize: F, mode: LA(i), format: N ? "NHWC" : "NCHW" }); }, 845938: (U, F, i, N, S, k, d, b, p, m, EA, DA, iA, lA, cI) => { Q.kb("ConvTranspose", U, { format: p ? "NHWC" : "NCHW", autoPad: F, dilations: [i], group: N, kernelShape: [S], pads: [k, d], strides: [b], wIsConst: () => !!RA()[m >>> 0], outputPadding: EA ? Array.from(n().subarray(Number(EA) >>> 0, Number(DA) >>> 0)) : [], outputShape: iA ? Array.from(n().subarray(Number(iA) >>> 0, Number(lA) >>> 0)) : [], activation: LA(cI) }); }, 846371: (U, F, i, N, S, k, d, b, p, m, EA, DA, iA, lA) => { Q.kb("ConvTranspose", U, { format: b ? "NHWC" : "NCHW", autoPad: F, dilations: Array.from(n().subarray(Number(i) >>> 0, 2 + (Number(i) >>> 0) >>> 0)), group: N, kernelShape: Array.from(n().subarray(Number(S) >>> 0, 2 + (Number(S) >>> 0) >>> 0)), pads: Array.from(n().subarray(Number(k) >>> 0, 4 + (Number(k) >>> 0) >>> 0)), strides: Array.from(n().subarray(Number(d) >>> 0, 2 + (Number(d) >>> 0) >>> 0)), wIsConst: () => !!RA()[p >>> 0], outputPadding: m ? Array.from(n().subarray(Number(m) >>> 0, Number(EA) >>> 0)) : [], outputShape: DA ? Array.from(n().subarray(Number(DA) >>> 0, Number(iA) >>> 0)) : [], activation: LA(lA) }); }, 847032: (U, F, i, N, S, k, d, b, p, m, EA, DA, iA, lA, cI) => { Q.kb("ConvTranspose", U, { format: p ? "NHWC" : "NCHW", autoPad: F, dilations: [i], group: N, kernelShape: [S], pads: [k, d], strides: [b], wIsConst: () => !!RA()[m >>> 0], outputPadding: EA ? Array.from(n().subarray(Number(EA) >>> 0, Number(DA) >>> 0)) : [], outputShape: iA ? Array.from(n().subarray(Number(iA) >>> 0, Number(lA) >>> 0)) : [], activation: LA(cI) }); }, 847465: (U, F, i, N, S, k, d, b, p, m, EA, DA, iA, lA) => { Q.kb("ConvTranspose", U, { format: b ? "NHWC" : "NCHW", autoPad: F, dilations: Array.from(n().subarray(Number(i) >>> 0, 2 + (Number(i) >>> 0) >>> 0)), group: N, kernelShape: Array.from(n().subarray(Number(S) >>> 0, 2 + (Number(S) >>> 0) >>> 0)), pads: Array.from(n().subarray(Number(k) >>> 0, 4 + (Number(k) >>> 0) >>> 0)), strides: Array.from(n().subarray(Number(d) >>> 0, 2 + (Number(d) >>> 0) >>> 0)), wIsConst: () => !!RA()[p >>> 0], outputPadding: m ? Array.from(n().subarray(Number(m) >>> 0, Number(EA) >>> 0)) : [], outputShape: DA ? Array.from(n().subarray(Number(DA) >>> 0, Number(iA) >>> 0)) : [], activation: LA(lA) }); }, 848126: (U, F) => { Q.kb("GlobalAveragePool", U, { format: F ? "NHWC" : "NCHW" }); }, 848217: (U, F, i, N, S, k, d, b, p, m, EA, DA, iA, lA) => { Q.kb("AveragePool", U, { format: lA ? "NHWC" : "NCHW", auto_pad: F, ceil_mode: i, count_include_pad: N, storage_order: S, dilations: k ? Array.from(n().subarray(Number(k) >>> 0, Number(d) >>> 0)) : [], kernel_shape: b ? Array.from(n().subarray(Number(b) >>> 0, Number(p) >>> 0)) : [], pads: m ? Array.from(n().subarray(Number(m) >>> 0, Number(EA) >>> 0)) : [], strides: DA ? Array.from(n().subarray(Number(DA) >>> 0, Number(iA) >>> 0)) : [] }); }, 848696: (U, F) => { Q.kb("GlobalAveragePool", U, { format: F ? "NHWC" : "NCHW" }); }, 848787: (U, F, i, N, S, k, d, b, p, m, EA, DA, iA, lA) => { Q.kb("AveragePool", U, { format: lA ? "NHWC" : "NCHW", auto_pad: F, ceil_mode: i, count_include_pad: N, storage_order: S, dilations: k ? Array.from(n().subarray(Number(k) >>> 0, Number(d) >>> 0)) : [], kernel_shape: b ? Array.from(n().subarray(Number(b) >>> 0, Number(p) >>> 0)) : [], pads: m ? Array.from(n().subarray(Number(m) >>> 0, Number(EA) >>> 0)) : [], strides: DA ? Array.from(n().subarray(Number(DA) >>> 0, Number(iA) >>> 0)) : [] }); }, 849266: (U, F) => { Q.kb("GlobalMaxPool", U, { format: F ? "NHWC" : "NCHW" }); }, 849353: (U, F, i, N, S, k, d, b, p, m, EA, DA, iA, lA) => { Q.kb("MaxPool", U, { format: lA ? "NHWC" : "NCHW", auto_pad: F, ceil_mode: i, count_include_pad: N, storage_order: S, dilations: k ? Array.from(n().subarray(Number(k) >>> 0, Number(d) >>> 0)) : [], kernel_shape: b ? Array.from(n().subarray(Number(b) >>> 0, Number(p) >>> 0)) : [], pads: m ? Array.from(n().subarray(Number(m) >>> 0, Number(EA) >>> 0)) : [], strides: DA ? Array.from(n().subarray(Number(DA) >>> 0, Number(iA) >>> 0)) : [] }); }, 849828: (U, F) => { Q.kb("GlobalMaxPool", U, { format: F ? "NHWC" : "NCHW" }); }, 849915: (U, F, i, N, S, k, d, b, p, m, EA, DA, iA, lA) => { Q.kb("MaxPool", U, { format: lA ? "NHWC" : "NCHW", auto_pad: F, ceil_mode: i, count_include_pad: N, storage_order: S, dilations: k ? Array.from(n().subarray(Number(k) >>> 0, Number(d) >>> 0)) : [], kernel_shape: b ? Array.from(n().subarray(Number(b) >>> 0, Number(p) >>> 0)) : [], pads: m ? Array.from(n().subarray(Number(m) >>> 0, Number(EA) >>> 0)) : [], strides: DA ? Array.from(n().subarray(Number(DA) >>> 0, Number(iA) >>> 0)) : [] }); }, 850390: (U, F, i, N, S) => { Q.kb("Gemm", U, { alpha: F, beta: i, transA: N, transB: S }); }, 850494: (U) => { Q.kb("MatMul", U, void 0); }, 850548: (U, F, i, N) => { Q.kb("ArgMax", U, { keepDims: !!F, selectLastIndex: !!i, axis: N }); }, 850656: (U, F, i, N) => { Q.kb("ArgMin", U, { keepDims: !!F, selectLastIndex: !!i, axis: N }); }, 850764: (U, F) => { Q.kb("Softmax", U, { axis: F }); }, 850827: (U, F) => { Q.kb("Concat", U, { axis: F }); }, 850887: (U, F, i, N, S) => { Q.kb("Split", U, { axis: F, numOutputs: i, splitSizes: N ? Array.from(n().subarray(Number(N) >>> 0, Number(S) >>> 0)) : [] }); }, 851043: (U) => { Q.kb("Expand", U, void 0); }, 851097: (U, F) => { Q.kb("Gather", U, { axis: Number(F) }); }, 851168: (U, F) => { Q.kb("GatherElements", U, { axis: Number(F) }); }, 851247: (U, F) => { Q.kb("GatherND", U, { batch_dims: Number(F) }); }, 851326: (U, F, i, N, S, k, d, b, p, m, EA) => { Q.kb("Resize", U, { antialias: F, axes: i ? Array.from(n().subarray(Number(i) >>> 0, Number(N) >>> 0)) : [], coordinateTransformMode: LA(S), cubicCoeffA: k, excludeOutside: d, extrapolationValue: b, keepAspectRatioPolicy: LA(p), mode: LA(m), nearestMode: LA(EA) }); }, 851688: (U, F, i, N, S, k, d) => { Q.kb("Slice", U, { starts: F ? Array.from(n().subarray(Number(F) >>> 0, Number(i) >>> 0)) : [], ends: N ? Array.from(n().subarray(Number(N) >>> 0, Number(S) >>> 0)) : [], axes: k ? Array.from(n().subarray(Number(k) >>> 0, Number(d) >>> 0)) : [] }); }, 851952: (U) => { Q.kb("Tile", U, void 0); }, 852004: (U, F, i) => { Q.kb("InstanceNormalization", U, { epsilon: F, format: i ? "NHWC" : "NCHW" }); }, 852118: (U, F, i) => { Q.kb("InstanceNormalization", U, { epsilon: F, format: i ? "NHWC" : "NCHW" }); }, 852232: (U) => { Q.kb("Range", U, void 0); }, 852285: (U, F) => { Q.kb("Einsum", U, { equation: LA(F) }); }, 852366: (U, F, i, N, S) => { Q.kb("Pad", U, { mode: F, value: i, pads: N ? Array.from(n().subarray(Number(N) >>> 0, Number(S) >>> 0)) : [] }); }, 852509: (U, F, i, N, S, k) => { Q.kb("BatchNormalization", U, { epsilon: F, momentum: i, spatial: !!S, trainingMode: !!N, format: k ? "NHWC" : "NCHW" }); }, 852678: (U, F, i, N, S, k) => { Q.kb("BatchNormalization", U, { epsilon: F, momentum: i, spatial: !!S, trainingMode: !!N, format: k ? "NHWC" : "NCHW" }); }, 852847: