ndlkotenocr-lite-worker
Version:
NDLKotenOCR Web版のWeb Worker対応版
924 lines • 58.8 MB
JavaScript
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: