barcode-detector
Version:
A Barcode Detection API polyfill that uses ZXing webassembly under the hood
2,151 lines • 60.4 kB
JavaScript
var Ie = (o) => {
throw TypeError(o);
};
var Me = (o, l, h) => l.has(o) || Ie("Cannot " + h);
var Fe = (o, l, h) => (Me(o, l, "read from private field"), h ? h.call(o) : l.get(o)), je = (o, l, h) => l.has(o) ? Ie("Cannot add the same private member more than once") : l instanceof WeakSet ? l.add(o) : l.set(o, h), Re = (o, l, h, f) => (Me(o, l, "write to private field"), f ? f.call(o, h) : l.set(o, h), h);
const Ft = [
["Aztec", "M"],
["Codabar", "L"],
["Code39", "L"],
["Code93", "L"],
["Code128", "L"],
["DataBar", "L"],
["DataBarExpanded", "L"],
["DataMatrix", "M"],
["EAN-8", "L"],
["EAN-13", "L"],
["ITF", "L"],
["MaxiCode", "M"],
["PDF417", "M"],
["QRCode", "M"],
["UPC-A", "L"],
["UPC-E", "L"],
["MicroQRCode", "M"],
["rMQRCode", "M"],
["DXFilmEdge", "L"],
["DataBarLimited", "L"]
], jt = Ft.map(([o]) => o), Ba = jt.filter(
(o, l) => Ft[l][1] === "L"
), Wa = jt.filter(
(o, l) => Ft[l][1] === "M"
);
function Qt(o) {
switch (o) {
case "Linear-Codes":
return Ba.reduce((l, h) => l | Qt(h), 0);
case "Matrix-Codes":
return Wa.reduce((l, h) => l | Qt(h), 0);
case "Any":
return (1 << Ft.length) - 1;
case "None":
return 0;
default:
return 1 << jt.indexOf(o);
}
}
function Ua(o) {
if (o === 0)
return "None";
const l = 31 - Math.clz32(o);
return jt[l];
}
function Va(o) {
return o.reduce((l, h) => l | Qt(h), 0);
}
const ka = [
"LocalAverage",
"GlobalHistogram",
"FixedThreshold",
"BoolCast"
];
function Ha(o) {
return ka.indexOf(o);
}
const Le = [
"Unknown",
"ASCII",
"ISO8859_1",
"ISO8859_2",
"ISO8859_3",
"ISO8859_4",
"ISO8859_5",
"ISO8859_6",
"ISO8859_7",
"ISO8859_8",
"ISO8859_9",
"ISO8859_10",
"ISO8859_11",
"ISO8859_13",
"ISO8859_14",
"ISO8859_15",
"ISO8859_16",
"Cp437",
"Cp1250",
"Cp1251",
"Cp1252",
"Cp1256",
"Shift_JIS",
"Big5",
"GB2312",
"GB18030",
"EUC_JP",
"EUC_KR",
"UTF16BE",
/**
* UnicodeBig [[deprecated]]
*/
"UTF16BE",
"UTF8",
"UTF16LE",
"UTF32BE",
"UTF32LE",
"BINARY"
];
function Na(o) {
return o === "UnicodeBig" ? Le.indexOf("UTF16BE") : Le.indexOf(o);
}
const za = [
"Text",
"Binary",
"Mixed",
"GS1",
"ISO15434",
"UnknownECI"
];
function Ga(o) {
return za[o];
}
const Xa = ["Ignore", "Read", "Require"];
function qa(o) {
return Xa.indexOf(o);
}
const Ya = ["Plain", "ECI", "HRI", "Hex", "Escaped"];
function Za(o) {
return Ya.indexOf(o);
}
const Mt = {
formats: [],
tryHarder: !0,
tryRotate: !0,
tryInvert: !0,
tryDownscale: !0,
tryDenoise: !1,
binarizer: "LocalAverage",
isPure: !1,
downscaleFactor: 3,
downscaleThreshold: 500,
minLineCount: 2,
maxNumberOfSymbols: 255,
tryCode39ExtendedMode: !0,
returnErrors: !1,
eanAddOnSymbol: "Ignore",
textMode: "HRI",
characterSet: "Unknown"
};
function Be(o) {
return {
...o,
formats: Va(o.formats),
binarizer: Ha(o.binarizer),
eanAddOnSymbol: qa(o.eanAddOnSymbol),
textMode: Za(o.textMode),
characterSet: Na(o.characterSet)
};
}
function Qa(o) {
return {
...o,
format: Ua(o.format),
contentType: Ga(o.contentType),
eccLevel: o.ecLevel
};
}
const bo = "2.2.0", Co = "0a3797f698b339c1c01c487a7a43f1368610f503", Ja = {
locateFile: (o, l) => {
const h = o.match(/_(.+?)\.wasm$/);
return h ? `https://fastly.jsdelivr.net/npm/zxing-wasm@2.2.0/dist/${h[1]}/${o}` : l + o;
}
}, It = /* @__PURE__ */ new WeakMap();
function Ka(o, l) {
return Object.is(o, l) || Object.keys(o).length === Object.keys(l).length && Object.keys(o).every(
(h) => Object.hasOwn(l, h) && o[h] === l[h]
);
}
function Ue(o, {
overrides: l,
equalityFn: h = Ka,
fireImmediately: f = !1
} = {}) {
var C;
const [O, I] = (C = It.get(o)) != null ? C : [Ja], j = l != null ? l : O;
let x;
if (f) {
if (I && (x = h(O, j)))
return I;
const M = o({
...j
});
return It.set(o, [j, M]), M;
}
(x != null ? x : h(O, j)) || It.set(o, [j]);
}
function to(o) {
It.delete(o);
}
async function eo(o, l, h = Mt) {
const f = {
...Mt,
...h
}, C = await Ue(o, {
fireImmediately: !0
});
let O, I;
if ("width" in l && "height" in l && "data" in l) {
const {
data: x,
data: { byteLength: M },
width: z,
height: X
} = l;
I = C._malloc(M), C.HEAPU8.set(x, I), O = C.readBarcodesFromPixmap(
I,
z,
X,
Be(f)
);
} else {
let x, M;
if ("buffer" in l)
[x, M] = [l.byteLength, l];
else if ("byteLength" in l)
[x, M] = [l.byteLength, new Uint8Array(l)];
else if ("size" in l)
[x, M] = [l.size, new Uint8Array(await l.arrayBuffer())];
else
throw new TypeError("Invalid input type");
I = C._malloc(x), C.HEAPU8.set(M, I), O = C.readBarcodesFromImage(
I,
x,
Be(f)
);
}
C._free(I);
const j = [];
for (let x = 0; x < O.size(); ++x)
j.push(
Qa(O.get(x))
);
return j;
}
({
...Mt,
formats: [...Mt.formats]
});
var Kt = async function(o = {}) {
var l, h, f = o, C, O, I = new Promise((e, t) => {
C = e, O = t;
}), j = typeof window == "object", x = typeof Bun < "u", M = typeof WorkerGlobalScope < "u";
typeof process == "object" && !((h = process.versions) === null || h === void 0) && h.node && process.type != "renderer";
var z = "./this.program", X, q = "";
function it(e) {
return f.locateFile ? f.locateFile(e, q) : q + e;
}
var st, et;
if (j || M || x) {
try {
q = new URL(".", X).href;
} catch {
}
M && (et = (e) => {
var t = new XMLHttpRequest();
return t.open("GET", e, !1), t.responseType = "arraybuffer", t.send(null), new Uint8Array(t.response);
}), st = async (e) => {
var t = await fetch(e, {
credentials: "same-origin"
});
if (t.ok)
return t.arrayBuffer();
throw new Error(t.status + " : " + t.url);
};
}
var vt = console.log.bind(console), G = console.error.bind(console), ut, yt, te = !1, Y, B, mt, rt, nt, P, ee, re;
function ne() {
var e = yt.buffer;
Y = new Int8Array(e), mt = new Int16Array(e), f.HEAPU8 = B = new Uint8Array(e), rt = new Uint16Array(e), nt = new Int32Array(e), P = new Uint32Array(e), ee = new Float32Array(e), re = new Float64Array(e);
}
function Qe() {
if (f.preRun)
for (typeof f.preRun == "function" && (f.preRun = [f.preRun]); f.preRun.length; )
lr(f.preRun.shift());
ae(ie);
}
function Je() {
_.ya();
}
function Ke() {
if (f.postRun)
for (typeof f.postRun == "function" && (f.postRun = [f.postRun]); f.postRun.length; )
cr(f.postRun.shift());
ae(oe);
}
var Z = 0, ct = null;
function tr(e) {
var t;
Z++, (t = f.monitorRunDependencies) === null || t === void 0 || t.call(f, Z);
}
function er(e) {
var t;
if (Z--, (t = f.monitorRunDependencies) === null || t === void 0 || t.call(f, Z), Z == 0 && ct) {
var r = ct;
ct = null, r();
}
}
function Rt(e) {
var t;
(t = f.onAbort) === null || t === void 0 || t.call(f, e), e = "Aborted(" + e + ")", G(e), te = !0, e += ". Build with -sASSERTIONS for more info.";
var r = new WebAssembly.RuntimeError(e);
throw O(r), r;
}
var gt;
function rr() {
return it("zxing_reader.wasm");
}
function nr(e) {
if (e == gt && ut)
return new Uint8Array(ut);
if (et)
return et(e);
throw "both async and sync fetching of the wasm failed";
}
async function ar(e) {
if (!ut)
try {
var t = await st(e);
return new Uint8Array(t);
} catch {
}
return nr(e);
}
async function or(e, t) {
try {
var r = await ar(e), n = await WebAssembly.instantiate(r, t);
return n;
} catch (a) {
G(`failed to asynchronously prepare wasm: ${a}`), Rt(a);
}
}
async function ir(e, t, r) {
if (!e && typeof WebAssembly.instantiateStreaming == "function")
try {
var n = fetch(t, {
credentials: "same-origin"
}), a = await WebAssembly.instantiateStreaming(n, r);
return a;
} catch (i) {
G(`wasm streaming compile failed: ${i}`), G("falling back to ArrayBuffer instantiation");
}
return or(t, r);
}
function sr() {
return {
a: Nn
};
}
async function ur() {
function e(i, u) {
return _ = i.exports, yt = _.xa, ne(), ye = _.Ba, er(), _;
}
tr();
function t(i) {
return e(i.instance);
}
var r = sr();
if (f.instantiateWasm)
return new Promise((i, u) => {
f.instantiateWasm(r, (s, c) => {
i(e(s));
});
});
gt != null || (gt = rr());
try {
var n = await ir(ut, gt, r), a = t(n);
return a;
} catch (i) {
return O(i), Promise.reject(i);
}
}
var ae = (e) => {
for (; e.length > 0; )
e.shift()(f);
}, oe = [], cr = (e) => oe.push(e), ie = [], lr = (e) => ie.push(e), m = (e) => qn(e), g = () => Yn(), wt = [], $t = 0, fr = (e) => {
var t = new Lt(e);
return t.get_caught() || (t.set_caught(!0), $t--), t.set_rethrown(!1), wt.push(t), Qn(e), Gn(e);
}, V = 0, dr = () => {
y(0, 0);
var e = wt.pop();
Zn(e.excPtr), V = 0;
};
class Lt {
constructor(t) {
this.excPtr = t, this.ptr = t - 24;
}
set_type(t) {
P[this.ptr + 4 >> 2] = t;
}
get_type() {
return P[this.ptr + 4 >> 2];
}
set_destructor(t) {
P[this.ptr + 8 >> 2] = t;
}
get_destructor() {
return P[this.ptr + 8 >> 2];
}
set_caught(t) {
t = t ? 1 : 0, Y[this.ptr + 12] = t;
}
get_caught() {
return Y[this.ptr + 12] != 0;
}
set_rethrown(t) {
t = t ? 1 : 0, Y[this.ptr + 13] = t;
}
get_rethrown() {
return Y[this.ptr + 13] != 0;
}
init(t, r) {
this.set_adjusted_ptr(0), this.set_type(t), this.set_destructor(r);
}
set_adjusted_ptr(t) {
P[this.ptr + 16 >> 2] = t;
}
get_adjusted_ptr() {
return P[this.ptr + 16 >> 2];
}
}
var bt = (e) => Xn(e), Bt = (e) => {
var t = V;
if (!t)
return bt(0), 0;
var r = new Lt(t);
r.set_adjusted_ptr(t);
var n = r.get_type();
if (!n)
return bt(0), t;
for (var a of e) {
if (a === 0 || a === n)
break;
var i = r.ptr + 16;
if (Jn(a, n, i))
return bt(a), t;
}
return bt(n), t;
}, hr = () => Bt([]), pr = (e) => Bt([e]), vr = (e, t) => Bt([e, t]), yr = () => {
var e = wt.pop();
e || Rt("no exception to throw");
var t = e.excPtr;
throw e.get_rethrown() || (wt.push(e), e.set_rethrown(!0), e.set_caught(!1), $t++), V = t, V;
}, mr = (e, t, r) => {
var n = new Lt(e);
throw n.init(t, r), V = e, $t++, V;
}, gr = () => $t, wr = (e) => {
throw V || (V = e), V;
}, $r = () => Rt(""), Ct = {}, Wt = (e) => {
for (; e.length; ) {
var t = e.pop(), r = e.pop();
r(t);
}
};
function lt(e) {
return this.fromWireType(P[e >> 2]);
}
var at = {}, Q = {}, Tt = {}, br = class extends Error {
constructor(e) {
super(e), this.name = "InternalError";
}
}, Pt = (e) => {
throw new br(e);
}, J = (e, t, r) => {
e.forEach((s) => Tt[s] = t);
function n(s) {
var c = r(s);
c.length !== e.length && Pt("Mismatched type converter count");
for (var d = 0; d < e.length; ++d)
U(e[d], c[d]);
}
var a = new Array(t.length), i = [], u = 0;
t.forEach((s, c) => {
Q.hasOwnProperty(s) ? a[c] = Q[s] : (i.push(s), at.hasOwnProperty(s) || (at[s] = []), at[s].push(() => {
a[c] = Q[s], ++u, u === i.length && n(a);
}));
}), i.length === 0 && n(a);
}, Cr = (e) => {
var t = Ct[e];
delete Ct[e];
var r = t.rawConstructor, n = t.rawDestructor, a = t.fields, i = a.map((u) => u.getterReturnType).concat(a.map((u) => u.setterArgumentType));
J([e], i, (u) => {
var s = {};
return a.forEach((c, d) => {
var p = c.fieldName, v = u[d], $ = u[d].optional, b = c.getter, E = c.getterContext, S = u[d + a.length], A = c.setter, D = c.setterContext;
s[p] = {
read: (N) => v.fromWireType(b(E, N)),
write: (N, R) => {
var L = [];
A(D, N, S.toWireType(L, R)), Wt(L);
},
optional: $
};
}), [{
name: t.name,
fromWireType: (c) => {
var d = {};
for (var p in s)
d[p] = s[p].read(c);
return n(c), d;
},
toWireType: (c, d) => {
for (var p in s)
if (!(p in d) && !s[p].optional)
throw new TypeError(`Missing field: "${p}"`);
var v = r();
for (p in s)
s[p].write(v, d[p]);
return c !== null && c.push(n, v), v;
},
argPackAdvance: k,
readValueFromPointer: lt,
destructorFunction: n
}];
});
}, Tr = (e, t, r, n, a) => {
}, Pr = () => {
for (var e = new Array(256), t = 0; t < 256; ++t)
e[t] = String.fromCharCode(t);
se = e;
}, se, F = (e) => {
for (var t = "", r = e; B[r]; )
t += se[B[r++]];
return t;
}, ft = class extends Error {
constructor(e) {
super(e), this.name = "BindingError";
}
}, T = (e) => {
throw new ft(e);
};
function _r(e, t) {
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
var n = t.name;
if (e || T(`type "${n}" must have a positive integer typeid pointer`), Q.hasOwnProperty(e)) {
if (r.ignoreDuplicateRegistrations)
return;
T(`Cannot register type '${n}' twice`);
}
if (Q[e] = t, delete Tt[e], at.hasOwnProperty(e)) {
var a = at[e];
delete at[e], a.forEach((i) => i());
}
}
function U(e, t) {
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
return _r(e, t, r);
}
var k = 8, Er = (e, t, r, n) => {
t = F(t), U(e, {
name: t,
fromWireType: function(a) {
return !!a;
},
toWireType: function(a, i) {
return i ? r : n;
},
argPackAdvance: k,
readValueFromPointer: function(a) {
return this.fromWireType(B[a]);
},
destructorFunction: null
});
}, Or = (e) => ({
count: e.count,
deleteScheduled: e.deleteScheduled,
preservePointerOnDelete: e.preservePointerOnDelete,
ptr: e.ptr,
ptrType: e.ptrType,
smartPtr: e.smartPtr,
smartPtrType: e.smartPtrType
}), Ut = (e) => {
function t(r) {
return r.$$.ptrType.registeredClass.name;
}
T(t(e) + " instance already deleted");
}, Vt = !1, ue = (e) => {
}, xr = (e) => {
e.smartPtr ? e.smartPtrType.rawDestructor(e.smartPtr) : e.ptrType.registeredClass.rawDestructor(e.ptr);
}, ce = (e) => {
e.count.value -= 1;
var t = e.count.value === 0;
t && xr(e);
}, dt = (e) => typeof FinalizationRegistry > "u" ? (dt = (t) => t, e) : (Vt = new FinalizationRegistry((t) => {
ce(t.$$);
}), dt = (t) => {
var r = t.$$, n = !!r.smartPtr;
if (n) {
var a = {
$$: r
};
Vt.register(t, a, t);
}
return t;
}, ue = (t) => Vt.unregister(t), dt(e)), Ar = () => {
let e = _t.prototype;
Object.assign(e, {
isAliasOf(r) {
if (!(this instanceof _t) || !(r instanceof _t))
return !1;
var n = this.$$.ptrType.registeredClass, a = this.$$.ptr;
r.$$ = r.$$;
for (var i = r.$$.ptrType.registeredClass, u = r.$$.ptr; n.baseClass; )
a = n.upcast(a), n = n.baseClass;
for (; i.baseClass; )
u = i.upcast(u), i = i.baseClass;
return n === i && a === u;
},
clone() {
if (this.$$.ptr || Ut(this), this.$$.preservePointerOnDelete)
return this.$$.count.value += 1, this;
var r = dt(Object.create(Object.getPrototypeOf(this), {
$$: {
value: Or(this.$$)
}
}));
return r.$$.count.value += 1, r.$$.deleteScheduled = !1, r;
},
delete() {
this.$$.ptr || Ut(this), this.$$.deleteScheduled && !this.$$.preservePointerOnDelete && T("Object already scheduled for deletion"), ue(this), ce(this.$$), this.$$.preservePointerOnDelete || (this.$$.smartPtr = void 0, this.$$.ptr = void 0);
},
isDeleted() {
return !this.$$.ptr;
},
deleteLater() {
return this.$$.ptr || Ut(this), this.$$.deleteScheduled && !this.$$.preservePointerOnDelete && T("Object already scheduled for deletion"), this.$$.deleteScheduled = !0, this;
}
});
const t = Symbol.dispose;
t && (e[t] = e.delete);
};
function _t() {
}
var kt = (e, t) => Object.defineProperty(t, "name", {
value: e
}), le = {}, fe = (e, t, r) => {
if (e[t].overloadTable === void 0) {
var n = e[t];
e[t] = function() {
for (var a = arguments.length, i = new Array(a), u = 0; u < a; u++)
i[u] = arguments[u];
return e[t].overloadTable.hasOwnProperty(i.length) || T(`Function '${r}' called with an invalid number of arguments (${i.length}) - expects one of (${e[t].overloadTable})!`), e[t].overloadTable[i.length].apply(this, i);
}, e[t].overloadTable = [], e[t].overloadTable[n.argCount] = n;
}
}, de = (e, t, r) => {
f.hasOwnProperty(e) ? ((r === void 0 || f[e].overloadTable !== void 0 && f[e].overloadTable[r] !== void 0) && T(`Cannot register public name '${e}' twice`), fe(f, e, e), f[e].overloadTable.hasOwnProperty(r) && T(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`), f[e].overloadTable[r] = t) : (f[e] = t, f[e].argCount = r);
}, Sr = 48, Dr = 57, Ir = (e) => {
e = e.replace(/[^a-zA-Z0-9_]/g, "$");
var t = e.charCodeAt(0);
return t >= Sr && t <= Dr ? `_${e}` : e;
};
function Mr(e, t, r, n, a, i, u, s) {
this.name = e, this.constructor = t, this.instancePrototype = r, this.rawDestructor = n, this.baseClass = a, this.getActualType = i, this.upcast = u, this.downcast = s, this.pureVirtualFunctions = [];
}
var Ht = (e, t, r) => {
for (; t !== r; )
t.upcast || T(`Expected null or instance of ${r.name}, got an instance of ${t.name}`), e = t.upcast(e), t = t.baseClass;
return e;
}, Nt = (e) => {
if (e === null)
return "null";
var t = typeof e;
return t === "object" || t === "array" || t === "function" ? e.toString() : "" + e;
};
function Fr(e, t) {
if (t === null)
return this.isReference && T(`null is not a valid ${this.name}`), 0;
t.$$ || T(`Cannot pass "${Nt(t)}" as a ${this.name}`), t.$$.ptr || T(`Cannot pass deleted object as a pointer of type ${this.name}`);
var r = t.$$.ptrType.registeredClass, n = Ht(t.$$.ptr, r, this.registeredClass);
return n;
}
function jr(e, t) {
var r;
if (t === null)
return this.isReference && T(`null is not a valid ${this.name}`), this.isSmartPointer ? (r = this.rawConstructor(), e !== null && e.push(this.rawDestructor, r), r) : 0;
(!t || !t.$$) && T(`Cannot pass "${Nt(t)}" as a ${this.name}`), t.$$.ptr || T(`Cannot pass deleted object as a pointer of type ${this.name}`), !this.isConst && t.$$.ptrType.isConst && T(`Cannot convert argument of type ${t.$$.smartPtrType ? t.$$.smartPtrType.name : t.$$.ptrType.name} to parameter type ${this.name}`);
var n = t.$$.ptrType.registeredClass;
if (r = Ht(t.$$.ptr, n, this.registeredClass), this.isSmartPointer)
switch (t.$$.smartPtr === void 0 && T("Passing raw pointer to smart pointer is illegal"), this.sharingPolicy) {
case 0:
t.$$.smartPtrType === this ? r = t.$$.smartPtr : T(`Cannot convert argument of type ${t.$$.smartPtrType ? t.$$.smartPtrType.name : t.$$.ptrType.name} to parameter type ${this.name}`);
break;
case 1:
r = t.$$.smartPtr;
break;
case 2:
if (t.$$.smartPtrType === this)
r = t.$$.smartPtr;
else {
var a = t.clone();
r = this.rawShare(r, H.toHandle(() => a.delete())), e !== null && e.push(this.rawDestructor, r);
}
break;
default:
T("Unsupporting sharing policy");
}
return r;
}
function Rr(e, t) {
if (t === null)
return this.isReference && T(`null is not a valid ${this.name}`), 0;
t.$$ || T(`Cannot pass "${Nt(t)}" as a ${this.name}`), t.$$.ptr || T(`Cannot pass deleted object as a pointer of type ${this.name}`), t.$$.ptrType.isConst && T(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);
var r = t.$$.ptrType.registeredClass, n = Ht(t.$$.ptr, r, this.registeredClass);
return n;
}
var he = (e, t, r) => {
if (t === r)
return e;
if (r.baseClass === void 0)
return null;
var n = he(e, t, r.baseClass);
return n === null ? null : r.downcast(n);
}, Lr = {}, Br = (e, t) => {
for (t === void 0 && T("ptr should not be undefined"); e.baseClass; )
t = e.upcast(t), e = e.baseClass;
return t;
}, Wr = (e, t) => (t = Br(e, t), Lr[t]), Et = (e, t) => {
(!t.ptrType || !t.ptr) && Pt("makeClassHandle requires ptr and ptrType");
var r = !!t.smartPtrType, n = !!t.smartPtr;
return r !== n && Pt("Both smartPtrType and smartPtr must be specified"), t.count = {
value: 1
}, dt(Object.create(e, {
$$: {
value: t,
writable: !0
}
}));
};
function Ur(e) {
var t = this.getPointee(e);
if (!t)
return this.destructor(e), null;
var r = Wr(this.registeredClass, t);
if (r !== void 0) {
if (r.$$.count.value === 0)
return r.$$.ptr = t, r.$$.smartPtr = e, r.clone();
var n = r.clone();
return this.destructor(e), n;
}
function a() {
return this.isSmartPointer ? Et(this.registeredClass.instancePrototype, {
ptrType: this.pointeeType,
ptr: t,
smartPtrType: this,
smartPtr: e
}) : Et(this.registeredClass.instancePrototype, {
ptrType: this,
ptr: e
});
}
var i = this.registeredClass.getActualType(t), u = le[i];
if (!u)
return a.call(this);
var s;
this.isConst ? s = u.constPointerType : s = u.pointerType;
var c = he(t, this.registeredClass, s.registeredClass);
return c === null ? a.call(this) : this.isSmartPointer ? Et(s.registeredClass.instancePrototype, {
ptrType: s,
ptr: c,
smartPtrType: this,
smartPtr: e
}) : Et(s.registeredClass.instancePrototype, {
ptrType: s,
ptr: c
});
}
var Vr = () => {
Object.assign(Ot.prototype, {
getPointee(e) {
return this.rawGetPointee && (e = this.rawGetPointee(e)), e;
},
destructor(e) {
var t;
(t = this.rawDestructor) === null || t === void 0 || t.call(this, e);
},
argPackAdvance: k,
readValueFromPointer: lt,
fromWireType: Ur
});
};
function Ot(e, t, r, n, a, i, u, s, c, d, p) {
this.name = e, this.registeredClass = t, this.isReference = r, this.isConst = n, this.isSmartPointer = a, this.pointeeType = i, this.sharingPolicy = u, this.rawGetPointee = s, this.rawConstructor = c, this.rawShare = d, this.rawDestructor = p, !a && t.baseClass === void 0 ? n ? (this.toWireType = Fr, this.destructorFunction = null) : (this.toWireType = Rr, this.destructorFunction = null) : this.toWireType = jr;
}
var pe = (e, t, r) => {
f.hasOwnProperty(e) || Pt("Replacing nonexistent public symbol"), f[e].overloadTable !== void 0 && r !== void 0 ? f[e].overloadTable[r] = t : (f[e] = t, f[e].argCount = r);
}, ve = [], ye, w = (e) => {
var t = ve[e];
return t || (ve[e] = t = ye.get(e)), t;
}, kr = function(e, t) {
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
if (e.includes("j"))
return dynCallLegacy(e, t, r);
var n = w(t), a = n(...r);
return a;
}, Hr = function(e, t) {
let r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1;
return function() {
for (var n = arguments.length, a = new Array(n), i = 0; i < n; i++)
a[i] = arguments[i];
return kr(e, t, a, r);
};
}, W = function(e, t) {
e = F(e);
function r() {
if (e.includes("j"))
return Hr(e, t);
var a = w(t);
return a;
}
var n = r();
return typeof n != "function" && T(`unknown function pointer with signature ${e}: ${t}`), n;
};
class Nr extends Error {
}
var me = (e) => {
var t = zn(e), r = F(t);
return tt(t), r;
}, xt = (e, t) => {
var r = [], n = {};
function a(i) {
if (!n[i] && !Q[i]) {
if (Tt[i]) {
Tt[i].forEach(a);
return;
}
r.push(i), n[i] = !0;
}
}
throw t.forEach(a), new Nr(`${e}: ` + r.map(me).join([", "]));
}, zr = (e, t, r, n, a, i, u, s, c, d, p, v, $) => {
p = F(p), i = W(a, i), s && (s = W(u, s)), d && (d = W(c, d)), $ = W(v, $);
var b = Ir(p);
de(b, function() {
xt(`Cannot construct ${p} due to unbound types`, [n]);
}), J([e, t, r], n ? [n] : [], (E) => {
E = E[0];
var S, A;
n ? (S = E.registeredClass, A = S.instancePrototype) : A = _t.prototype;
var D = kt(p, function() {
if (Object.getPrototypeOf(this) !== N)
throw new ft(`Use 'new' to construct ${p}`);
if (R.constructor_body === void 0)
throw new ft(`${p} has no accessible constructor`);
for (var Se = arguments.length, St = new Array(Se), Dt = 0; Dt < Se; Dt++)
St[Dt] = arguments[Dt];
var De = R.constructor_body[St.length];
if (De === void 0)
throw new ft(`Tried to invoke ctor of ${p} with invalid number of parameters (${St.length}) - expected (${Object.keys(R.constructor_body).toString()}) parameters instead!`);
return De.apply(this, St);
}), N = Object.create(A, {
constructor: {
value: D
}
});
D.prototype = N;
var R = new Mr(p, D, N, $, S, i, s, d);
if (R.baseClass) {
var L, At;
(At = (L = R.baseClass).__derivedClasses) !== null && At !== void 0 || (L.__derivedClasses = []), R.baseClass.__derivedClasses.push(R);
}
var La = new Ot(p, R, !0, !1, !1), xe = new Ot(p + "*", R, !1, !1, !1), Ae = new Ot(p + " const*", R, !1, !0, !1);
return le[e] = {
pointerType: xe,
constPointerType: Ae
}, pe(b, D), [La, xe, Ae];
});
}, zt = (e, t) => {
for (var r = [], n = 0; n < e; n++)
r.push(P[t + n * 4 >> 2]);
return r;
};
function Gr(e) {
for (var t = 1; t < e.length; ++t)
if (e[t] !== null && e[t].destructorFunction === void 0)
return !0;
return !1;
}
function Gt(e, t, r, n, a, i) {
var u = t.length;
u < 2 && T("argTypes array size mismatch! Must at least get return value and 'this' types!");
var s = t[1] !== null && r !== null, c = Gr(t), d = t[0].name !== "void", p = u - 2, v = new Array(p), $ = [], b = [], E = function() {
b.length = 0;
var S;
$.length = s ? 2 : 1, $[0] = a, s && (S = t[1].toWireType(b, this), $[1] = S);
for (var A = 0; A < p; ++A)
v[A] = t[A + 2].toWireType(b, A < 0 || arguments.length <= A ? void 0 : arguments[A]), $.push(v[A]);
var D = n(...$);
function N(R) {
if (c)
Wt(b);
else
for (var L = s ? 1 : 2; L < t.length; L++) {
var At = L === 1 ? S : v[L - 2];
t[L].destructorFunction !== null && t[L].destructorFunction(At);
}
if (d)
return t[0].fromWireType(R);
}
return N(D);
};
return kt(e, E);
}
var Xr = (e, t, r, n, a, i) => {
var u = zt(t, r);
a = W(n, a), J([], [e], (s) => {
s = s[0];
var c = `constructor ${s.name}`;
if (s.registeredClass.constructor_body === void 0 && (s.registeredClass.constructor_body = []), s.registeredClass.constructor_body[t - 1] !== void 0)
throw new ft(`Cannot register multiple constructors with identical number of parameters (${t - 1}) for class '${s.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);
return s.registeredClass.constructor_body[t - 1] = () => {
xt(`Cannot construct ${s.name} due to unbound types`, u);
}, J([], u, (d) => (d.splice(1, 0, null), s.registeredClass.constructor_body[t - 1] = Gt(c, d, null, a, i), [])), [];
});
}, ge = (e) => {
e = e.trim();
const t = e.indexOf("(");
return t === -1 ? e : e.slice(0, t);
}, qr = (e, t, r, n, a, i, u, s, c, d) => {
var p = zt(r, n);
t = F(t), t = ge(t), i = W(a, i), J([], [e], (v) => {
v = v[0];
var $ = `${v.name}.${t}`;
t.startsWith("@@") && (t = Symbol[t.substring(2)]), s && v.registeredClass.pureVirtualFunctions.push(t);
function b() {
xt(`Cannot call ${$} due to unbound types`, p);
}
var E = v.registeredClass.instancePrototype, S = E[t];
return S === void 0 || S.overloadTable === void 0 && S.className !== v.name && S.argCount === r - 2 ? (b.argCount = r - 2, b.className = v.name, E[t] = b) : (fe(E, t, $), E[t].overloadTable[r - 2] = b), J([], p, (A) => {
var D = Gt($, A, v, i, u);
return E[t].overloadTable === void 0 ? (D.argCount = r - 2, E[t] = D) : E[t].overloadTable[r - 2] = D, [];
}), [];
});
}, we = [], K = [0, 1, , 1, null, 1, !0, 1, !1, 1], Xt = (e) => {
e > 9 && --K[e + 1] === 0 && (K[e] = void 0, we.push(e));
}, H = {
toValue: (e) => (e || T(`Cannot use deleted val. handle = ${e}`), K[e]),
toHandle: (e) => {
switch (e) {
case void 0:
return 2;
case null:
return 4;
case !0:
return 6;
case !1:
return 8;
default: {
const t = we.pop() || K.length;
return K[t] = e, K[t + 1] = 1, t;
}
}
}
}, $e = {
name: "emscripten::val",
fromWireType: (e) => {
var t = H.toValue(e);
return Xt(e), t;
},
toWireType: (e, t) => H.toHandle(t),
argPackAdvance: k,
readValueFromPointer: lt,
destructorFunction: null
}, Yr = (e) => U(e, $e), Zr = (e, t) => {
switch (t) {
case 4:
return function(r) {
return this.fromWireType(ee[r >> 2]);
};
case 8:
return function(r) {
return this.fromWireType(re[r >> 3]);
};
default:
throw new TypeError(`invalid float width (${t}): ${e}`);
}
}, Qr = (e, t, r) => {
t = F(t), U(e, {
name: t,
fromWireType: (n) => n,
toWireType: (n, a) => a,
argPackAdvance: k,
readValueFromPointer: Zr(t, r),
destructorFunction: null
});
}, Jr = (e, t, r, n, a, i, u, s) => {
var c = zt(t, r);
e = F(e), e = ge(e), a = W(n, a), de(e, function() {
xt(`Cannot call ${e} due to unbound types`, c);
}, t - 1), J([], c, (d) => {
var p = [d[0], null].concat(d.slice(1));
return pe(e, Gt(e, p, null, a, i), t - 1), [];
});
}, Kr = (e, t, r) => {
switch (t) {
case 1:
return r ? (n) => Y[n] : (n) => B[n];
case 2:
return r ? (n) => mt[n >> 1] : (n) => rt[n >> 1];
case 4:
return r ? (n) => nt[n >> 2] : (n) => P[n >> 2];
default:
throw new TypeError(`invalid integer width (${t}): ${e}`);
}
}, tn = (e, t, r, n, a) => {
t = F(t);
const i = n === 0;
let u = (c) => c;
if (i) {
var s = 32 - 8 * r;
u = (c) => c << s >>> s, a = u(a);
}
U(e, {
name: t,
fromWireType: u,
toWireType: (c, d) => d,
argPackAdvance: k,
readValueFromPointer: Kr(t, r, n !== 0),
destructorFunction: null
});
}, en = (e, t, r) => {
var n = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array], a = n[t];
function i(u) {
var s = P[u >> 2], c = P[u + 4 >> 2];
return new a(Y.buffer, c, s);
}
r = F(r), U(e, {
name: r,
fromWireType: i,
argPackAdvance: k,
readValueFromPointer: i
}, {
ignoreDuplicateRegistrations: !0
});
}, rn = Object.assign({
optional: !0
}, $e), nn = (e, t) => {
U(e, rn);
}, an = (e, t, r, n) => {
if (!(n > 0)) return 0;
for (var a = r, i = r + n - 1, u = 0; u < e.length; ++u) {
var s = e.charCodeAt(u);
if (s >= 55296 && s <= 57343) {
var c = e.charCodeAt(++u);
s = 65536 + ((s & 1023) << 10) | c & 1023;
}
if (s <= 127) {
if (r >= i) break;
t[r++] = s;
} else if (s <= 2047) {
if (r + 1 >= i) break;
t[r++] = 192 | s >> 6, t[r++] = 128 | s & 63;
} else if (s <= 65535) {
if (r + 2 >= i) break;
t[r++] = 224 | s >> 12, t[r++] = 128 | s >> 6 & 63, t[r++] = 128 | s & 63;
} else {
if (r + 3 >= i) break;
t[r++] = 240 | s >> 18, t[r++] = 128 | s >> 12 & 63, t[r++] = 128 | s >> 6 & 63, t[r++] = 128 | s & 63;
}
}
return t[r] = 0, r - a;
}, ot = (e, t, r) => an(e, B, t, r), be = (e) => {
for (var t = 0, r = 0; r < e.length; ++r) {
var n = e.charCodeAt(r);
n <= 127 ? t++ : n <= 2047 ? t += 2 : n >= 55296 && n <= 57343 ? (t += 4, ++r) : t += 3;
}
return t;
}, Ce = typeof TextDecoder < "u" ? new TextDecoder() : void 0, Te = function(e) {
let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, r = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : NaN;
for (var n = t + r, a = t; e[a] && !(a >= n); ) ++a;
if (a - t > 16 && e.buffer && Ce)
return Ce.decode(e.subarray(t, a));
for (var i = ""; t < a; ) {
var u = e[t++];
if (!(u & 128)) {
i += String.fromCharCode(u);
continue;
}
var s = e[t++] & 63;
if ((u & 224) == 192) {
i += String.fromCharCode((u & 31) << 6 | s);
continue;
}
var c = e[t++] & 63;
if ((u & 240) == 224 ? u = (u & 15) << 12 | s << 6 | c : u = (u & 7) << 18 | s << 12 | c << 6 | e[t++] & 63, u < 65536)
i += String.fromCharCode(u);
else {
var d = u - 65536;
i += String.fromCharCode(55296 | d >> 10, 56320 | d & 1023);
}
}
return i;
}, on = (e, t) => e ? Te(B, e, t) : "", sn = (e, t) => {
t = F(t), U(e, {
name: t,
fromWireType(r) {
for (var n = P[r >> 2], a = r + 4, i, s, u = a, s = 0; s <= n; ++s) {
var c = a + s;
if (s == n || B[c] == 0) {
var d = c - u, p = on(u, d);
i === void 0 ? i = p : (i += "\0", i += p), u = c + 1;
}
}
return tt(r), i;
},
toWireType(r, n) {
n instanceof ArrayBuffer && (n = new Uint8Array(n));
var a, i = typeof n == "string";
i || ArrayBuffer.isView(n) && n.BYTES_PER_ELEMENT == 1 || T("Cannot pass non-string to std::string"), i ? a = be(n) : a = n.length;
var u = Oe(4 + a + 1), s = u + 4;
return P[u >> 2] = a, i ? ot(n, s, a + 1) : B.set(n, s), r !== null && r.push(tt, u), u;
},
argPackAdvance: k,
readValueFromPointer: lt,
destructorFunction(r) {
tt(r);
}
});
}, Pe = typeof TextDecoder < "u" ? new TextDecoder("utf-16le") : void 0, un = (e, t) => {
for (var r = e >> 1, n = r + t / 2, a = r; !(a >= n) && rt[a]; ) ++a;
if (a - r > 16 && Pe) return Pe.decode(rt.subarray(r, a));
for (var i = "", u = r; !(u >= n); ++u) {
var s = rt[u];
if (s == 0) break;
i += String.fromCharCode(s);
}
return i;
}, cn = (e, t, r) => {
if (r != null || (r = 2147483647), r < 2) return 0;
r -= 2;
for (var n = t, a = r < e.length * 2 ? r / 2 : e.length, i = 0; i < a; ++i) {
var u = e.charCodeAt(i);
mt[t >> 1] = u, t += 2;
}
return mt[t >> 1] = 0, t - n;
}, ln = (e) => e.length * 2, fn = (e, t) => {
for (var r = 0, n = ""; !(r >= t / 4); ) {
var a = nt[e + r * 4 >> 2];
if (a == 0) break;
if (++r, a >= 65536) {
var i = a - 65536;
n += String.fromCharCode(55296 | i >> 10, 56320 | i & 1023);
} else
n += String.fromCharCode(a);
}
return n;
}, dn = (e, t, r) => {
if (r != null || (r = 2147483647), r < 4) return 0;
for (var n = t, a = n + r - 4, i = 0; i < e.length; ++i) {
var u = e.charCodeAt(i);
if (u >= 55296 && u <= 57343) {
var s = e.charCodeAt(++i);
u = 65536 + ((u & 1023) << 10) | s & 1023;
}
if (nt[t >> 2] = u, t += 4, t + 4 > a) break;
}
return nt[t >> 2] = 0, t - n;
}, hn = (e) => {
for (var t = 0, r = 0; r < e.length; ++r) {
var n = e.charCodeAt(r);
n >= 55296 && n <= 57343 && ++r, t += 4;
}
return t;
}, pn = (e, t, r) => {
r = F(r);
var n, a, i, u;
t === 2 ? (n = un, a = cn, u = ln, i = (s) => rt[s >> 1]) : t === 4 && (n = fn, a = dn, u = hn, i = (s) => P[s >> 2]), U(e, {
name: r,
fromWireType: (s) => {
for (var c = P[s >> 2], d, p = s + 4, v = 0; v <= c; ++v) {
var $ = s + 4 + v * t;
if (v == c || i($) == 0) {
var b = $ - p, E = n(p, b);
d === void 0 ? d = E : (d += "\0", d += E), p = $ + t;
}
}
return tt(s), d;
},
toWireType: (s, c) => {
typeof c != "string" && T(`Cannot pass non-string to C++ string type ${r}`);
var d = u(c), p = Oe(4 + d + t);
return P[p >> 2] = d / t, a(c, p + 4, d + t), s !== null && s.push(tt, p), p;
},
argPackAdvance: k,
readValueFromPointer: lt,
destructorFunction(s) {
tt(s);
}
});
}, vn = (e, t, r, n, a, i) => {
Ct[e] = {
name: F(t),
rawConstructor: W(r, n),
rawDestructor: W(a, i),
fields: []
};
}, yn = (e, t, r, n, a, i, u, s, c, d) => {
Ct[e].fields.push({
fieldName: F(t),
getterReturnType: r,
getter: W(n, a),
getterContext: i,
setterArgumentType: u,
setter: W(s, c),
setterContext: d
});
}, mn = (e, t) => {
t = F(t), U(e, {
isVoid: !0,
name: t,
argPackAdvance: 0,
fromWireType: () => {
},
toWireType: (r, n) => {
}
});
}, qt = [], gn = (e, t, r, n) => (e = qt[e], t = H.toValue(t), e(null, t, r, n)), wn = {}, $n = (e) => {
var t = wn[e];
return t === void 0 ? F(e) : t;
}, _e = () => {
if (typeof globalThis == "object")
return globalThis;
function e(t) {
t.$$$embind_global$$$ = t;
var r = typeof $$$embind_global$$$ == "object" && t.$$$embind_global$$$ == t;
return r || delete t.$$$embind_global$$$, r;
}
if (typeof $$$embind_global$$$ == "object" || (typeof global == "object" && e(global) ? $$$embind_global$$$ = global : typeof self == "object" && e(self) && ($$$embind_global$$$ = self), typeof $$$embind_global$$$ == "object"))
return $$$embind_global$$$;
throw Error("unable to get global object.");
}, bn = (e) => e === 0 ? H.toHandle(_e()) : (e = $n(e), H.toHandle(_e()[e])), Cn = (e) => {
var t = qt.length;
return qt.push(e), t;
}, Ee = (e, t) => {
var r = Q[e];
return r === void 0 && T(`${t} has unknown type ${me(e)}`), r;
}, Tn = (e, t) => {
for (var r = new Array(e), n = 0; n < e; ++n)
r[n] = Ee(P[t + n * 4 >> 2], `parameter ${n}`);
return r;
}, Pn = (e, t, r) => {
var n = [], a = e.toWireType(n, r);
return n.length && (P[t >> 2] = H.toHandle(n)), a;
}, _n = Reflect.construct, En = (e, t, r) => {
var n = Tn(e, t), a = n.shift();
e--;
var i = new Array(e), u = (c, d, p, v) => {
for (var $ = 0, b = 0; b < e; ++b)
i[b] = n[b].readValueFromPointer(v + $), $ += n[b].argPackAdvance;
var E = r === 1 ? _n(d, i) : d.apply(c, i);
return Pn(a, p, E);
}, s = `methodCaller<(${n.map((c) => c.name).join(", ")}) => ${a.name}>`;
return Cn(kt(s, u));
}, On = (e) => {
e > 9 && (K[e + 1] += 1);
}, xn = (e) => {
var t = H.toValue(e);
Wt(t), Xt(e);
}, An = (e, t) => {
e = Ee(e, "_emval_take_value");
var r = e.readValueFromPointer(t);
return H.toHandle(r);
}, Sn = (e, t, r, n) => {
var a = (/* @__PURE__ */ new Date()).getFullYear(), i = new Date(a, 0, 1), u = new Date(a, 6, 1), s = i.getTimezoneOffset(), c = u.getTimezoneOffset(), d = Math.max(s, c);
P[e >> 2] = d * 60, nt[t >> 2] = +(s != c);
var p = (b) => {
var E = b >= 0 ? "-" : "+", S = Math.abs(b), A = String(Math.floor(S / 60)).padStart(2, "0"), D = String(S % 60).padStart(2, "0");
return `UTC${E}${A}${D}`;
}, v = p(s), $ = p(c);
c < s ? (ot(v, r, 17), ot($, n, 17)) : (ot(v, n, 17), ot($, r, 17));
}, Dn = () => 2147483648, In = (e, t) => Math.ceil(e / t) * t, Mn = (e) => {
var t = yt.buffer, r = (e - t.byteLength + 65535) / 65536 | 0;
try {
return yt.grow(r), ne(), 1;
} catch {
}
}, Fn = (e) => {
var t = B.length;
e >>>= 0;
var r = Dn();
if (e > r)
return !1;
for (var n = 1; n <= 4; n *= 2) {
var a = t * (1 + 0.2 / n);
a = Math.min(a, e + 100663296);
var i = Math.min(r, In(Math.max(e, a), 65536)), u = Mn(i);
if (u)
return !0;
}
return !1;
}, Yt = {}, jn = () => z || "./this.program", ht = () => {
if (!ht.strings) {
var e = (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8", t = {
USER: "web_user",
LOGNAME: "web_user",
PATH: "/",
PWD: "/",
HOME: "/home/web_user",
LANG: e,
_: jn()
};
for (var r in Yt)
Yt[r] === void 0 ? delete t[r] : t[r] = Yt[r];
var n = [];
for (var r in t)
n.push(`${r}=${t[r]}`);
ht.strings = n;
}
return ht.strings;
}, Rn = (e, t) => {
var r = 0, n = 0;
for (var a of ht()) {
var i = t + r;
P[e + n >> 2] = i, r += ot(a, i, 1 / 0) + 1, n += 4;
}
return 0;
}, Ln = (e, t) => {
var r = ht();
P[e >> 2] = r.length;
var n = 0;
for (var a of r)
n += be(a) + 1;
return P[t >> 2] = n, 0;
}, Bn = (e) => 52;
function Wn(e, t, r, n, a) {
return 70;
}
var Un = [null, [], []], Vn = (e, t) => {
var r = Un[e];
t === 0 || t === 10 ? ((e === 1 ? vt : G)(Te(r)), r.length = 0) : r.push(t);
}, kn = (e, t, r, n) => {
for (var a = 0, i = 0; i < r; i++) {
var u = P[t >> 2], s = P[t + 4 >> 2];
t += 8;
for (var c = 0; c < s; c++)
Vn(e, B[u + c]);
a += s;
}
return P[n >> 2] = a, 0;
}, Hn = (e) => e;
Pr(), Ar(), Vr(), f.noExitRuntime && f.noExitRuntime, f.print && (vt = f.print), f.printErr && (G = f.printErr), f.wasmBinary && (ut = f.wasmBinary), f.arguments && f.arguments, f.thisProgram && (z = f.thisProgram);
var Nn = {
s: fr,
w: dr,
a: hr,
j: pr,
m: vr,
P: yr,
p: mr,
ga: gr,
d: wr,
ba: $r,
ua: Cr,
aa: Tr,
pa: Er,
sa: zr,
ra: Xr,
H: qr,
na: Yr,
V: Qr,
W: Jr,
x: tn,
t: en,
ta: nn,
oa: sn,
Q: pn,
I: vn,
va: yn,
qa: mn,
da: gn,
wa: Xt,
D: bn,
ma: En,
X: On,
Y: xn,
U: An,
ca: Sn,
ha: Fn,
ea: Rn,
fa: Ln,
ia: Bn,
_: Wn,
S: kn,
K: Pa,
C: Ea,
M: na,
R: Ia,
q: $a,
b: ia,
E: Ta,
ka: xa,
c: sa,
ja: Aa,
h: ra,
i: fa,
r: va,
O: Ca,
v: ma,
F: wa,
L: ba,
z: Oa,
J: Ma,
$: Fa,
Z: ja,
k: ua,
f: ea,
e: oa,
g: aa,
N: Da,
l: la,
la: _a,
o: ya,
B: da,
u: ga,
T: pa,
A: Sa,
n: ca,
G: ha,
y: Hn
}, _ = await ur();
_.ya;
var zn = _.za, tt = f._free = _.Aa, Oe = f._malloc = _.Ca, Gn = _.Da, y = _.Ea, Xn = _.Fa, qn = _.Ga, Yn = _.Ha, Zn = _.Ia, Qn = _.Ja, Jn = _.Ka;
f.dynCall_viijii = _.La;
var Kn = f.dynCall_iiijj = _.Ma;
f.dynCall_jiji = _.Na;
var ta = f.dynCall_jiiii = _.Oa;
f.dynCall_iiiiij = _.Pa, f.dynCall_iiiiijj = _.Qa, f.dynCall_iiiiiijj = _.Ra;
function ea(e, t) {
var r = g();
try {
w(e)(t);
} catch (n) {
if (m(r), n !== n + 0) throw n;
y(1, 0);
}
}
function ra(e, t, r, n) {
var a = g();
try {
return w(e)(t, r, n);
} catch (i) {
if (m(a), i !== i + 0) throw i;
y(1, 0);
}
}
function na(e, t, r, n, a) {
var i = g();
try {
return w(e)(t, r, n, a);
} catch (u) {
if (m(i), u !== u + 0) throw u;
y(1, 0);
}
}
function aa(e, t, r, n) {
var a = g();
try {
w(e)(t, r, n);
} catch (i) {
if (m(a), i !== i + 0) throw i;
y(1, 0);
}
}
function oa(e, t, r) {
var n = g();
try {
w(e)(t, r);
} catch (a) {
if (m(n), a !== a + 0) throw a;
y(1, 0);
}
}
function ia(e, t) {
var r = g();
try {
return w(e)(t);
} catch (n) {
if (m(r), n !== n + 0) throw n;
y(1, 0);
}
}
function sa(e, t, r) {
var n = g();
try {
return w(e)(t, r);
} catch (a) {
if (m(n), a !== a + 0) throw a;
y(1, 0);
}
}
function ua(e) {
var t = g();
try {
w(e)();
} catch (r) {
if (m(t), r !== r + 0) throw r;
y(1, 0);
}
}
function ca(e, t, r, n, a, i, u, s, c, d, p) {
var v = g();
try {
w(e)(t, r, n, a, i, u, s, c, d, p);
} catch ($) {
if (m(v), $ !== $ + 0) throw $;
y(1, 0);
}
}
function la(e, t, r, n, a) {
var i = g();
try {
w(e)(t, r, n, a);
} catch (u) {
if (m(i), u !== u + 0) throw u;
y(1, 0);
}
}
function fa(e, t, r, n, a) {
var i = g();
try {
return w(e)(t, r, n, a);
} catch (u) {
if (m(i), u !== u + 0) throw u;
y(1, 0);
}
}
function da(e, t, r, n, a, i, u) {
var s = g();
try {
w(e)(t, r, n, a, i, u);
} catch (c) {
if (m(s), c !== c + 0) throw c;
y(1, 0);
}
}
function ha(e, t, r, n, a, i, u, s, c, d, p, v, $, b, E, S) {
var A = g();
try {
w(e)(t, r, n, a, i, u, s, c, d, p, v, $, b, E, S);
} catch (D) {
if (m(A), D !== D + 0) throw D;
y(1, 0);
}
}
function pa(e, t, r, n, a, i, u, s, c) {
var d = g();
try {
w(e)(t, r, n, a, i, u, s, c);
} catch (p) {
if (m(d), p !== p + 0) throw p;
y(1, 0);
}
}
function va(e, t, r, n, a, i) {
var u = g();
try {
return w(e)(t, r, n, a, i);
} catch (s) {
if (m(u), s !== s + 0) throw s;
y(1, 0);
}
}
function ya(e, t, r, n, a, i) {
var u = g();
try {
w(e)(t, r, n, a, i);
} catch (s) {
if (m(u), s !== s + 0) throw s;
y(1, 0);
}
}
function ma(e, t, r, n, a, i, u) {
var s = g();
try {
return w(e)(t, r, n, a, i, u);
} catch (c) {
if (m(s), c !== c + 0) throw c;
y(1, 0);
}
}
function ga(e, t, r, n, a, i, u, s) {
var c = g();
try {
w(e)(t, r, n, a, i, u, s);
} catch (d) {
if (m(c), d !== d + 0) throw d;
y(1, 0);
}
}
function wa(e, t, r, n, a, i, u, s) {
var c = g();
try {
return w(e)(t, r, n, a, i, u, s);
} catch (d) {
if (m(c), d !== d + 0) throw d;
y(1, 0);
}
}
function $a(e) {
var t = g();
try {
return w(e)();
} catch (r) {
if (m(t), r !== r + 0) throw r;
y(1, 0);
}
}
function ba(e, t, r, n, a, i, u, s, c) {
var d = g();
try {
return w(e)(t, r, n, a, i, u, s, c);
} catch (p) {
if (m(d), p !== p + 0) throw p;
y(1, 0);
}
}
function Ca(e, t, r, n, a, i, u) {
var s = g();
try {
return w(e)(t, r, n, a, i, u);
} catch (c) {
if (m(s), c !== c + 0) throw c;
y(1, 0);
}
}
function Ta(e, t, r, n) {
var a = g();
try {
return w(e)(t, r, n);
} catch (i) {
if (m(a), i !== i + 0) throw i;
y(1, 0);
}
}
function Pa(e, t, r, n) {
var a = g();
try {
return w(e)(t, r, n);
} catch (i) {
if (m(a), i !== i + 0) throw i;
y(1, 0);
}
}
function _a(e, t, r, n, a, i, u, s) {
var c = g();
try {
w(e)(t, r, n, a, i, u, s);
} catch (d) {
if (m(c), d !== d + 0) throw d;
y(1, 0);
}
}
function Ea(e, t, r, n, a, i) {
var u = g();
try {
return w(e)(t, r, n, a, i);
} catch (s) {
if (m(u), s !== s + 0) throw s;
y(1, 0);
}
}
function Oa(e, t, r, n, a, i, u, s, c, d) {
var p = g();
try {
return w(e)(t, r, n, a, i, u, s, c, d);
} catch (v) {
if (m(p), v !== v + 0) throw v;
y(1, 0);
}
}
function xa(e, t, r) {
var n = g();
try {
return w(e)(t, r);
} catch (a) {
if (m(n), a !== a + 0) throw a;
y(1, 0);
}
}
function Aa(e, t, r, n, a) {
var i = g();
try {
return w(e)(t, r, n, a);
} catch (u) {
if (m(i), u !== u + 0) throw u;
y(1, 0);
}
}
function Sa(e, t, r, n, a, i, u, s, c, d) {
var p = g();
try {
w(e)(t, r, n, a, i, u, s, c, d);
} catch (v) {
if (m(p), v !== v + 0) throw v;
y(1, 0);
}
}
function Da(e, t, r, n, a, i, u) {
var s = g();
try {
w(e)(t, r, n, a, i, u);
} catch (c) {
if (m(s), c !== c + 0) throw c;
y(1, 0);
}
}
function Ia(e, t, r, n) {
var a = g();
try {
return w(e)(t, r, n);
} catch (i) {
if (m(a), i !== i + 0) throw i;
y(1, 0);
}
}
function Ma(e, t, r, n, a, i, u, s, c, d, p, v) {
var $ = g();
try {
return w(e)(t, r, n, a, i, u, s, c, d, p, v);
} catch (b) {
if (m($), b !== b + 0) throw b;
y(1, 0);
}
}
function Fa(e, t, r, n, a, i, u) {
var s = g();
try {
return Kn(e, t, r, n, a, i, u);
} catch (c) {
if (m(s), c !== c + 0) throw c;
y(1, 0);
}
}
function ja(e, t, r, n, a) {
var i = g();
try {
return ta(e, t, r, n, a);
} catch (u) {
if (m(i), u !== u + 0) throw u;
y(1, 0);
}
}
function Zt() {
if (Z > 0) {
ct = Zt;
return;
}
if (Qe(), Z > 0) {
ct = Zt;
return;
}
function e() {
var t;
f.calledRun = !0, !te && (Je(), C(f), (t = f.onRuntimeInitialized) === null || t === void 0 || t.call(f), Ke());
}
f.setStatus ? (f.setStatus("Running..."), setTimeout(() => {
setTimeout(() => f.setStatus(""), 1), e();
}, 1)) : e();
}
function Ra() {
if (f.preInit)
for (typeof f.preInit == "function" && (f.preInit = [f.preInit]); f.preInit.length > 0; )
f.preInit.shift()();
}
return Ra(), Zt(), l = I, l;
};
function Ve(o) {
return Ue(Kt, o);
}
function To() {
return to(Kt);
}
function Po(o) {
Ve({
overrides: o,
equalityFn: Object.is,
fireImmediately: !1
});
}
async function ro(o, l) {
return eo(Kt, o, l);
}
const _o = "68d20eb8c486afabf49fab6d9fbc5f118df8648ec6200e8039ef8912a169c00c", ke = [
["aztec", "Aztec"],
["code_128", "Code128"],
["code_39", "Code39"],
["code_93", "Code93"],
["codabar", "Codabar"],
["databar", "DataBar"],
["databar_expanded", "DataBarExpanded"],
["databar_limited", "DataBarLimited"],
["data_matrix", "DataMatrix"],
["dx_film_edge", "DXFilmEdge"],
["ean_13", "EAN-13"],
["ean_8", "EAN-8"],
["itf", "ITF"],
["maxi_code", "MaxiCode"],
["micro_qr_code", "MicroQRCode"],
["pdf417", "PDF417"],
["qr_code", "QRCode"],
["rm_qr_code", "rMQRCode"],
["upc_a", "UPC-A"],
["upc_e", "UPC-E"],
["linear_codes", "Linear-Codes"],
["matrix_codes", "Matrix-Codes"],
["any", "Any"]
], no = [...ke, ["unknown"]].map((o) => o[0]), Jt = new Map(
ke
);
function ao(o) {
for (const [l, h] of Jt)
if (o === h)
return l;
return "unknown";
}
function oo(o) {
if (He(o))
return {
width: o.naturalWidth,
height: o.naturalHeight
};
if (Ne(o))
return {
width: o.width.baseVal.value,
height: o.height.baseVal.value
};
if (ze(o))
return {
width: o.videoWidth,
height: o.videoHeight
};
if (Xe(o))
return {
width: o.width,
height: o.height
};
if (Ye(o))
return {
width: o.displayWidth,
height: o.displayHeight
};
if (Ge(o))
return {
width: o.width,
height: o.height
};
if (qe(o))
return {
width: o.width,
height: o.height
};
throw new TypeError(
"The provided value is not of type '(Blob or HTMLCanvasElement or HTMLImageElement or HTMLVideoElement or ImageBitmap or ImageData or OffscreenCanvas or SVGImageElement or VideoFrame)'."
);
}
function He(o) {
var l, h;
try {
return o instanceof ((h = (l = o == null ? void 0 : o.ownerDocument) == null ? void 0 : l.defaultView) == null ? void 0 : h.HTMLImageElement);
} catch {
return !1;
}
}
function Ne(o) {
var l, h;
try {
return o instanceof ((h = (l = o == null ? void 0 : o.ownerDocument) == null ? void 0 : l.defaultView) == null ? void 0 : h.SVGImageElement);
} catch {
return !1;
}
}
function ze(o) {
var l, h;
try {
return o instanceof ((h = (l = o == null ? void 0 : o.ownerDocument) == null ? void 0 : l.defaultView) == null ? void 0 : h.HTMLVideoElement);
} catch {
return !1;
}
}
function Ge(o) {
var l, h;
try {
return o instanceof ((h = (l = o == null ? void 0 : o.ownerDocument) == null ? void 0 : l.defaultView) == null ? void 0 : h.HTMLCanvasElement);
} catch {
return !1;
}
}
function Xe(o) {
try {
return o instanceof ImageBitmap || Object.prototype.toString.call(o) === "[object ImageBitmap]";
} catch {
return !1;
}
}
function qe(o) {
try {
return o instanceof OffscreenCanvas || Object.prototype.toString.call(o) === "[object OffscreenCanvas]";
} catch {
return !1;
}
}
function Ye(o) {
try {
return o instanceof VideoFrame || Object.prototype.toString.call(o) === "[object VideoFrame]";
} catch {
return !1;
}
}
function io(o) {
try {
return o instanceof Blob || Object.prototype.toString.call(o) === "[object Blob]";
} catch {
return !1;
}
}
function so(o) {
try {
return o instanceof ImageData || Object.prototype.toString.call(o) === "[object ImageData]";
} catch {
return !1;
}
}
function uo(o, l) {
try {
const h = new OffscreenCanvas(o, l);
if (h.getContext("2d") instanceof OffscreenCanvasRenderingContext2D)
return h;
throw void 0;
} catch {
const h = document.createElement("canvas");
return h.width = o, h.height = l, h;
}
}
async function Ze(o) {
if (He(o) && !await ho(o))
throw new DOMException(
"Failed to load or decode HTMLImageElement.",
"InvalidStateError"
);
if (Ne(o) && !await po(o))
throw new DOMException(
"Failed to load or decode SVGImageElement.",
"InvalidStateError"
);
if (Ye(o) && vo(o))
throw new DOMException("VideoFrame is closed.", "InvalidStateError");
if (ze(o) && (o.readyState === 0 || o.readyState === 1))
throw new DOMException("Invalid element or state.", "InvalidStateError");
if (Xe(o) && mo(o))
throw new DOMException(
"The image source is detached.",
"InvalidStateError"
);
const { width: l, height: h } = oo(o);
if (l === 0 || h === 0)
return null;
const C = uo(l, h).getContext("2d");
C.drawImage(o, 0, 0);
try {
return C.getImageData(0, 0, l, h);
} catch {
throw new DOMException("Source would taint origin.", "SecurityError");
}
}
async function co(o) {
let l;
try {
l = await createImageBitmap(o);
} catch {
try {
if (globalThis.Image) {
l = new Image();
let C = "";
try {
C = URL.createObjectURL(o), l.src = C, await l.decode();
} finally {
URL.revokeObjectURL(C);
}
} else
return o;
} catch {
throw new DOMException(
"Failed to load or decode Blob.",
"InvalidStateError"
);
}
}
return await Ze(l);
}
function lo(o) {
const { width: l, height: h } = o;
if (l === 0 || h === 0)
return null;
const f = o.getContext("2d");
try {
return f.getImageData(0, 0, l, h);
} catch {
throw new DOMException("Source would taint origin.", "SecurityError");
}
}
async function fo(o) {
if (io(o))
return await co(o);
if (so(o)) {
if (yo(o))
throw new DOMException(
"The image data has been detached.",
"InvalidStateError"
);
return o;
}
return Ge(o) || qe(o) ? lo(o) : await Ze(o);
}
async function ho(o) {
try {
return await o.decode(), !0;
} catch {
return !1;
}
}
async function po(o) {
var l;
try {
return await ((l = o.decode) == null ? void 0 : l.call(o)), !0;
} catch {
return !1;
}
}
function vo(o) {
return o.format === null;
}
function yo(o) {
return o.data.buffer.byteLength === 0;
}
function mo(o) {
return o.width === 0 && o.height === 0;
}
function We(o, l) {
return go(o) ? new DOMException(`${l}: ${o.message}`, o.name) : wo(o) ? new o.constructor(`${l}: ${o.message}`) : new Error(`${l}: ${o}`);
}
function go(o) {
return o instanceof DOMException || Object.prototype.toString.call(o) === "[object DOMException]";
}
function wo(o) {
return o instanceof Error || Object.prototype.toString.call(o) === "[object Error]";
}
var pt;
class Eo {
constructor(l = {}) {
je(this, pt);
var h;
try {
const f = (h = l == null ? void 0 : l.formats) == null ? void 0 : h.filter(
(C) => C !== "unknown"
);
if ((f == null ? void 0 : f.length) === 0)
throw new TypeError("Hint option provided, but is empty.");
for (const C of f != null ? f : [])
if (!Jt.has(C))
throw new TypeError(
`Failed to read the 'formats' property from 'BarcodeDetectorOptions': The provided value '${C}' is not a valid enum value of type BarcodeFormat.`
);
Re(this, pt, f != null ? f : []), Ve({ fireImmediately: !0 }).catch(() => {
});
} catch (f) {
throw We(
f,
"Failed to construct 'BarcodeDetector'"
);
}
}
static async getSupportedFormats() {
return no.filter((l) => l !== "unknown");
}
async detect(l) {
try {
const h = await fo(l);
if (h === null)
return [];
let f;
const C = {
tryCode39ExtendedMode: !1,
textMode: "Plain",
formats: Fe(this, pt).map((O) => Jt.get(O))
};
try {
f = await ro(h, C);
} catch (O) {
throw console.error(O), new DOMException(
"Barcode detection service unavailable.",
"NotSupportedError"
);
}
return f.map((O) => {
const {
topLeft: { x: I, y: j },
topRight: { x, y: M },
bottomLeft: { x: z, y: X },
bottomRight: { x: q, y: it }
} = O.position, st = Math.min(I, x, z, q), et = Math.min(j, M, X, it), vt = Math.max(I, x, z, q), G = Math.max(j, M, X, it);
return {
boundingBox: new DOMRectReadOnly(
st,
et,
vt - st,
G - et
),
rawValue: O.text,
format: ao(O.format),
cornerPoints: [
{
x: I,
y: j
},
{
x,
y: M
},
{
x: q,
y: it
},
{
x: z,
y: X
}
]
};
});
} catch (h) {
throw We(
h,
"Failed to execute 'detect' on 'BarcodeDetector'"
);
}
}
}
pt = new WeakMap();
export {
Eo as BarcodeDetector,
Co as ZXING_CPP_COMMIT,
_o as ZXING_WASM_SHA256,
bo as ZXING_WASM_VERSION,
Ve as prepareZXingModule,
To as purgeZXingModule,
Po as setZXingModuleOverrides
};