@opencloud-eu/web-client 7.1.2 → 7.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/axios-DvF8YTlk.js +1964 -0
- package/dist/{dist-DXLl1XQj.js → dist-CeGfU4rJ.js} +4 -3
- package/dist/{generated-Dr-mKneP.js → generated-FCm3SbzB.js} +260 -230
- package/dist/{graph-C_btwMni.js → graph-CppzmKYd.js} +72 -72
- package/dist/{helpers-B_uB5urn.js → helpers-MRfkPTnV.js} +305 -321
- package/dist/{ocs-VeFt8RO1.js → ocs-gQyxMolJ.js} +1213 -1377
- package/dist/ox-DIaYdpxw.js +3045 -0
- package/dist/src/graph/generated/api.d.ts +70 -4
- package/dist/src/helpers/resource/types.d.ts +5 -1
- package/dist/src/helpers/share/type.d.ts +1 -0
- package/dist/src/helpers/space/functions.d.ts +3 -2
- package/dist/src/helpers/space/types.d.ts +0 -3
- package/dist/src/index.d.ts +2 -1
- package/dist/src/ox/index.d.ts +27 -0
- package/dist/src/ox/types.d.ts +29 -0
- package/dist/src/sse/index.d.ts +7 -0
- package/dist/{toString-DIrlTUQN.js → toString-B4UEwRgf.js} +92 -112
- package/dist/urlJoin-_pUL1TUx.js +24 -0
- package/dist/web-client/graph/generated.js +2 -2
- package/dist/web-client/graph.js +1 -1
- package/dist/web-client/ocs.js +1 -1
- package/dist/web-client/ox.js +2 -0
- package/dist/web-client/sse.js +6 -7
- package/dist/web-client/webdav.js +3 -3
- package/dist/web-client.js +24 -6
- package/dist/{webdav-uHUUUQAP.js → webdav-BMoGCm4T.js} +112 -94
- package/package.json +7 -3
- package/dist/axios-idnwLrbl.js +0 -1862
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import { t as e } from "./dist-
|
|
2
|
-
import {
|
|
1
|
+
import { t as e } from "./dist-CeGfU4rJ.js";
|
|
2
|
+
import { t } from "./urlJoin-_pUL1TUx.js";
|
|
3
|
+
import { a as n, n as r, s as i, t as a } from "./toString-B4UEwRgf.js";
|
|
3
4
|
//#region ../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_isKey.js
|
|
4
5
|
var o = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, s = /^\w*$/;
|
|
5
|
-
function c(e,
|
|
6
|
-
if (
|
|
7
|
-
var
|
|
8
|
-
return
|
|
6
|
+
function c(e, t) {
|
|
7
|
+
if (n(e)) return !1;
|
|
8
|
+
var r = typeof e;
|
|
9
|
+
return r == "number" || r == "symbol" || r == "boolean" || e == null || i(e) ? !0 : s.test(e) || !o.test(e) || t != null && e in Object(t);
|
|
9
10
|
}
|
|
10
11
|
//#endregion
|
|
11
12
|
//#region ../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/memoize.js
|
|
12
13
|
var l = "Expected a function";
|
|
13
14
|
function u(e, t) {
|
|
14
15
|
if (typeof e != "function" || t != null && typeof t != "function") throw TypeError(l);
|
|
15
|
-
var
|
|
16
|
-
var
|
|
16
|
+
var n = function() {
|
|
17
|
+
var r = arguments, i = t ? t.apply(this, r) : r[0], a = n.cache;
|
|
17
18
|
if (a.has(i)) return a.get(i);
|
|
18
|
-
var o = e.apply(this,
|
|
19
|
-
return
|
|
19
|
+
var o = e.apply(this, r);
|
|
20
|
+
return n.cache = a.set(i, o) || a, o;
|
|
20
21
|
};
|
|
21
|
-
return
|
|
22
|
+
return n.cache = new (u.Cache || r)(), n;
|
|
22
23
|
}
|
|
23
|
-
u.Cache =
|
|
24
|
+
u.Cache = r;
|
|
24
25
|
//#endregion
|
|
25
26
|
//#region ../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_memoizeCapped.js
|
|
26
27
|
var d = 500;
|
|
@@ -40,14 +41,14 @@ var p = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(
|
|
|
40
41
|
});
|
|
41
42
|
//#endregion
|
|
42
43
|
//#region ../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_castPath.js
|
|
43
|
-
function g(e,
|
|
44
|
-
return
|
|
44
|
+
function g(e, t) {
|
|
45
|
+
return n(e) ? e : c(e, t) ? [e] : h(a(e));
|
|
45
46
|
}
|
|
46
47
|
//#endregion
|
|
47
48
|
//#region ../../node_modules/.pnpm/lodash-es@4.18.1/node_modules/lodash-es/_toKey.js
|
|
48
49
|
var _ = Infinity;
|
|
49
50
|
function ee(e) {
|
|
50
|
-
if (typeof e == "string" ||
|
|
51
|
+
if (typeof e == "string" || i(e)) return e;
|
|
51
52
|
var t = e + "";
|
|
52
53
|
return t == "0" && 1 / e == -_ ? "-0" : t;
|
|
53
54
|
}
|
|
@@ -83,10 +84,10 @@ var v = (e, t) => {
|
|
|
83
84
|
};
|
|
84
85
|
//#endregion
|
|
85
86
|
//#region ../../node_modules/.pnpm/@noble+hashes@2.2.0/node_modules/@noble/hashes/utils.js
|
|
86
|
-
function
|
|
87
|
+
function re(e) {
|
|
87
88
|
return e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === "Uint8Array" && "BYTES_PER_ELEMENT" in e && e.BYTES_PER_ELEMENT === 1;
|
|
88
89
|
}
|
|
89
|
-
function
|
|
90
|
+
function y(e, t = "") {
|
|
90
91
|
if (typeof e != "number") {
|
|
91
92
|
let n = t && `"${t}" `;
|
|
92
93
|
throw TypeError(`${n}expected number, got ${typeof e}`);
|
|
@@ -96,50 +97,50 @@ function b(e, t = "") {
|
|
|
96
97
|
throw RangeError(`${n}expected integer >= 0, got ${e}`);
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
|
-
function
|
|
100
|
-
let r =
|
|
100
|
+
function b(e, t, n = "") {
|
|
101
|
+
let r = re(e), i = e?.length, a = t !== void 0;
|
|
101
102
|
if (!r || a && i !== t) {
|
|
102
103
|
let o = n && `"${n}" `, s = a ? ` of length ${t}` : "", c = r ? `length=${i}` : `type=${typeof e}`, l = o + "expected Uint8Array" + s + ", got " + c;
|
|
103
104
|
throw r ? RangeError(l) : TypeError(l);
|
|
104
105
|
}
|
|
105
106
|
return e;
|
|
106
107
|
}
|
|
107
|
-
function
|
|
108
|
+
function x(e) {
|
|
108
109
|
if (typeof e != "function" || typeof e.create != "function") throw TypeError("Hash must wrapped by utils.createHasher");
|
|
109
|
-
if (
|
|
110
|
+
if (y(e.outputLen), y(e.blockLen), e.outputLen < 1) throw Error("\"outputLen\" must be >= 1");
|
|
110
111
|
if (e.blockLen < 1) throw Error("\"blockLen\" must be >= 1");
|
|
111
112
|
}
|
|
112
|
-
function
|
|
113
|
+
function S(e, t = !0) {
|
|
113
114
|
if (e.destroyed) throw Error("Hash instance has been destroyed");
|
|
114
115
|
if (t && e.finished) throw Error("Hash#digest() has already been called");
|
|
115
116
|
}
|
|
116
|
-
function
|
|
117
|
-
|
|
117
|
+
function ie(e, t) {
|
|
118
|
+
b(e, void 0, "digestInto() output");
|
|
118
119
|
let n = t.outputLen;
|
|
119
120
|
if (e.length < n) throw RangeError("\"digestInto() output\" expected to be of length >=" + n);
|
|
120
121
|
}
|
|
121
|
-
function
|
|
122
|
+
function C(...e) {
|
|
122
123
|
for (let t = 0; t < e.length; t++) e[t].fill(0);
|
|
123
124
|
}
|
|
124
|
-
function
|
|
125
|
+
function w(e) {
|
|
125
126
|
return new DataView(e.buffer, e.byteOffset, e.byteLength);
|
|
126
127
|
}
|
|
127
|
-
function
|
|
128
|
+
function ae(e) {
|
|
128
129
|
if (typeof e != "string") throw TypeError("string expected");
|
|
129
130
|
return new Uint8Array(new TextEncoder().encode(e));
|
|
130
131
|
}
|
|
131
|
-
function
|
|
132
|
-
return typeof e == "string" ?
|
|
132
|
+
function oe(e, t = "") {
|
|
133
|
+
return typeof e == "string" ? ae(e) : b(e, void 0, t);
|
|
133
134
|
}
|
|
134
|
-
function
|
|
135
|
+
function se(e, t) {
|
|
135
136
|
if (t !== void 0 && {}.toString.call(t) !== "[object Object]") throw TypeError("options must be object or undefined");
|
|
136
137
|
return Object.assign(e, t);
|
|
137
138
|
}
|
|
138
|
-
function
|
|
139
|
+
function ce(e, t = {}) {
|
|
139
140
|
let n = (t, n) => e(n).update(t).digest(), r = e(void 0);
|
|
140
141
|
return n.outputLen = r.outputLen, n.blockLen = r.blockLen, n.canXOF = r.canXOF, n.create = (t) => e(t), Object.assign(n, t), Object.freeze(n);
|
|
141
142
|
}
|
|
142
|
-
var
|
|
143
|
+
var le = (e) => ({ oid: Uint8Array.from([
|
|
143
144
|
6,
|
|
144
145
|
9,
|
|
145
146
|
96,
|
|
@@ -151,7 +152,7 @@ var se = (e) => ({ oid: Uint8Array.from([
|
|
|
151
152
|
4,
|
|
152
153
|
2,
|
|
153
154
|
e
|
|
154
|
-
]) }),
|
|
155
|
+
]) }), ue = class {
|
|
155
156
|
oHash;
|
|
156
157
|
iHash;
|
|
157
158
|
blockLen;
|
|
@@ -160,20 +161,20 @@ var se = (e) => ({ oid: Uint8Array.from([
|
|
|
160
161
|
finished = !1;
|
|
161
162
|
destroyed = !1;
|
|
162
163
|
constructor(e, t) {
|
|
163
|
-
if (
|
|
164
|
+
if (x(e), b(t, void 0, "key"), this.iHash = e.create(), typeof this.iHash.update != "function") throw Error("Expected instance of class which extends utils.Hash");
|
|
164
165
|
this.blockLen = this.iHash.blockLen, this.outputLen = this.iHash.outputLen;
|
|
165
166
|
let n = this.blockLen, r = new Uint8Array(n);
|
|
166
167
|
r.set(t.length > n ? e.create().update(t).digest() : t);
|
|
167
168
|
for (let e = 0; e < r.length; e++) r[e] ^= 54;
|
|
168
169
|
this.iHash.update(r), this.oHash = e.create();
|
|
169
170
|
for (let e = 0; e < r.length; e++) r[e] ^= 106;
|
|
170
|
-
this.oHash.update(r),
|
|
171
|
+
this.oHash.update(r), C(r);
|
|
171
172
|
}
|
|
172
173
|
update(e) {
|
|
173
|
-
return
|
|
174
|
+
return S(this), this.iHash.update(e), this;
|
|
174
175
|
}
|
|
175
176
|
digestInto(e) {
|
|
176
|
-
|
|
177
|
+
S(this), ie(e, this), this.finished = !0;
|
|
177
178
|
let t = e.subarray(0, this.outputLen);
|
|
178
179
|
this.iHash.digestInto(t), this.oHash.update(t), this.oHash.digestInto(t), this.destroy();
|
|
179
180
|
}
|
|
@@ -192,22 +193,22 @@ var se = (e) => ({ oid: Uint8Array.from([
|
|
|
192
193
|
destroy() {
|
|
193
194
|
this.destroyed = !0, this.oHash.destroy(), this.iHash.destroy();
|
|
194
195
|
}
|
|
195
|
-
},
|
|
196
|
-
let e = ((e, t, n) => new
|
|
197
|
-
return e.create = (e, t) => new
|
|
196
|
+
}, de = /* @__PURE__ */ (() => {
|
|
197
|
+
let e = ((e, t, n) => new ue(e, t).update(n).digest());
|
|
198
|
+
return e.create = (e, t) => new ue(e, t), e;
|
|
198
199
|
})();
|
|
199
200
|
//#endregion
|
|
200
201
|
//#region ../../node_modules/.pnpm/@noble+hashes@2.2.0/node_modules/@noble/hashes/pbkdf2.js
|
|
201
|
-
function
|
|
202
|
-
|
|
203
|
-
let { c: i, dkLen: a, asyncTick: o } =
|
|
202
|
+
function fe(e, t, n, r) {
|
|
203
|
+
x(e);
|
|
204
|
+
let { c: i, dkLen: a, asyncTick: o } = se({
|
|
204
205
|
dkLen: 32,
|
|
205
206
|
asyncTick: 10
|
|
206
207
|
}, r);
|
|
207
|
-
if (
|
|
208
|
+
if (y(i, "c"), y(a, "dkLen"), y(o, "asyncTick"), i < 1) throw Error("iterations (c) must be >= 1");
|
|
208
209
|
if (a < 1) throw Error("\"dkLen\" must be >= 1");
|
|
209
210
|
if (a > (2 ** 32 - 1) * e.outputLen) throw Error("derived key too long");
|
|
210
|
-
let s =
|
|
211
|
+
let s = oe(t, "password"), c = oe(n, "salt"), l = new Uint8Array(a), u = de.create(e, s);
|
|
211
212
|
return {
|
|
212
213
|
c: i,
|
|
213
214
|
dkLen: a,
|
|
@@ -217,11 +218,11 @@ function ue(e, t, n, r) {
|
|
|
217
218
|
PRFSalt: u._cloneInto().update(c)
|
|
218
219
|
};
|
|
219
220
|
}
|
|
220
|
-
function
|
|
221
|
-
return e.destroy(), t.destroy(), r && r.destroy(),
|
|
221
|
+
function pe(e, t, n, r, i) {
|
|
222
|
+
return e.destroy(), t.destroy(), r && r.destroy(), C(i), n;
|
|
222
223
|
}
|
|
223
|
-
function
|
|
224
|
-
let { c: i, dkLen: a, DK: o, PRF: s, PRFSalt: c } =
|
|
224
|
+
function me(e, t, n, r) {
|
|
225
|
+
let { c: i, dkLen: a, DK: o, PRF: s, PRFSalt: c } = fe(e, t, n, r), l, u = /* @__PURE__ */ new Uint8Array(4), d = w(u), f = new Uint8Array(s.outputLen);
|
|
225
226
|
for (let e = 1, t = 0; t < a; e++, t += s.outputLen) {
|
|
226
227
|
let n = o.subarray(t, t + s.outputLen);
|
|
227
228
|
d.setInt32(0, e, !1), (l = c._cloneInto(l)).update(u).digestInto(f), n.set(f.subarray(0, n.length));
|
|
@@ -230,11 +231,11 @@ function fe(e, t, n, r) {
|
|
|
230
231
|
for (let e = 0; e < n.length; e++) n[e] ^= f[e];
|
|
231
232
|
}
|
|
232
233
|
}
|
|
233
|
-
return
|
|
234
|
+
return pe(s, c, o, l, f);
|
|
234
235
|
}
|
|
235
236
|
//#endregion
|
|
236
237
|
//#region ../../node_modules/.pnpm/@noble+hashes@2.2.0/node_modules/@noble/hashes/_md.js
|
|
237
|
-
var
|
|
238
|
+
var he = class {
|
|
238
239
|
blockLen;
|
|
239
240
|
outputLen;
|
|
240
241
|
canXOF = !1;
|
|
@@ -247,15 +248,15 @@ var pe = class {
|
|
|
247
248
|
pos = 0;
|
|
248
249
|
destroyed = !1;
|
|
249
250
|
constructor(e, t, n, r) {
|
|
250
|
-
this.blockLen = e, this.outputLen = t, this.padOffset = n, this.isLE = r, this.buffer = new Uint8Array(e), this.view =
|
|
251
|
+
this.blockLen = e, this.outputLen = t, this.padOffset = n, this.isLE = r, this.buffer = new Uint8Array(e), this.view = w(this.buffer);
|
|
251
252
|
}
|
|
252
253
|
update(e) {
|
|
253
|
-
|
|
254
|
+
S(this), b(e);
|
|
254
255
|
let { view: t, buffer: n, blockLen: r } = this, i = e.length;
|
|
255
256
|
for (let a = 0; a < i;) {
|
|
256
257
|
let o = Math.min(r - this.pos, i - a);
|
|
257
258
|
if (o === r) {
|
|
258
|
-
let t =
|
|
259
|
+
let t = w(e);
|
|
259
260
|
for (; r <= i - a; a += r) this.process(t, a);
|
|
260
261
|
continue;
|
|
261
262
|
}
|
|
@@ -264,12 +265,12 @@ var pe = class {
|
|
|
264
265
|
return this.length += e.length, this.roundClean(), this;
|
|
265
266
|
}
|
|
266
267
|
digestInto(e) {
|
|
267
|
-
|
|
268
|
+
S(this), ie(e, this), this.finished = !0;
|
|
268
269
|
let { buffer: t, view: n, blockLen: r, isLE: i } = this, { pos: a } = this;
|
|
269
|
-
t[a++] = 128,
|
|
270
|
+
t[a++] = 128, C(this.buffer.subarray(a)), this.padOffset > r - a && (this.process(n, 0), a = 0);
|
|
270
271
|
for (let e = a; e < r; e++) t[e] = 0;
|
|
271
272
|
n.setBigUint64(r - 8, BigInt(this.length * 8), i), this.process(n, 0);
|
|
272
|
-
let o =
|
|
273
|
+
let o = w(e), s = this.outputLen;
|
|
273
274
|
if (s % 4) throw Error("_sha2: outputLen must be aligned to 32bit");
|
|
274
275
|
let c = s / 4, l = this.get();
|
|
275
276
|
if (c > l.length) throw Error("_sha2: outputLen bigger than state");
|
|
@@ -289,7 +290,7 @@ var pe = class {
|
|
|
289
290
|
clone() {
|
|
290
291
|
return this._cloneInto();
|
|
291
292
|
}
|
|
292
|
-
},
|
|
293
|
+
}, T = /* @__PURE__ */ Uint32Array.from([
|
|
293
294
|
1779033703,
|
|
294
295
|
4089235720,
|
|
295
296
|
3144134277,
|
|
@@ -306,33 +307,33 @@ var pe = class {
|
|
|
306
307
|
4215389547,
|
|
307
308
|
1541459225,
|
|
308
309
|
327033209
|
|
309
|
-
]),
|
|
310
|
-
function
|
|
310
|
+
]), E = /* @__PURE__ */ BigInt(2 ** 32 - 1), ge = /* @__PURE__ */ BigInt(32);
|
|
311
|
+
function _e(e, t = !1) {
|
|
311
312
|
return t ? {
|
|
312
|
-
h: Number(e &
|
|
313
|
-
l: Number(e >>
|
|
313
|
+
h: Number(e & E),
|
|
314
|
+
l: Number(e >> ge & E)
|
|
314
315
|
} : {
|
|
315
|
-
h: Number(e >>
|
|
316
|
-
l: Number(e &
|
|
316
|
+
h: Number(e >> ge & E) | 0,
|
|
317
|
+
l: Number(e & E) | 0
|
|
317
318
|
};
|
|
318
319
|
}
|
|
319
|
-
function
|
|
320
|
+
function ve(e, t = !1) {
|
|
320
321
|
let n = e.length, r = new Uint32Array(n), i = new Uint32Array(n);
|
|
321
322
|
for (let a = 0; a < n; a++) {
|
|
322
|
-
let { h: n, l: o } =
|
|
323
|
+
let { h: n, l: o } = _e(e[a], t);
|
|
323
324
|
[r[a], i[a]] = [n, o];
|
|
324
325
|
}
|
|
325
326
|
return [r, i];
|
|
326
327
|
}
|
|
327
|
-
var
|
|
328
|
-
function
|
|
328
|
+
var ye = (e, t, n) => e >>> n, be = (e, t, n) => e << 32 - n | t >>> n, D = (e, t, n) => e >>> n | t << 32 - n, O = (e, t, n) => e << 32 - n | t >>> n, k = (e, t, n) => e << 64 - n | t >>> n - 32, A = (e, t, n) => e >>> n - 32 | t << 64 - n;
|
|
329
|
+
function j(e, t, n, r) {
|
|
329
330
|
let i = (t >>> 0) + (r >>> 0);
|
|
330
331
|
return {
|
|
331
332
|
h: e + n + (i / 2 ** 32 | 0) | 0,
|
|
332
333
|
l: i | 0
|
|
333
334
|
};
|
|
334
335
|
}
|
|
335
|
-
var
|
|
336
|
+
var xe = (e, t, n) => (e >>> 0) + (t >>> 0) + (n >>> 0), Se = (e, t, n, r) => t + n + r + (e / 2 ** 32 | 0) | 0, Ce = (e, t, n, r) => (e >>> 0) + (t >>> 0) + (n >>> 0) + (r >>> 0), we = (e, t, n, r, i) => t + n + r + i + (e / 2 ** 32 | 0) | 0, Te = (e, t, n, r, i) => (e >>> 0) + (t >>> 0) + (n >>> 0) + (r >>> 0) + (i >>> 0), Ee = (e, t, n, r, i, a) => t + n + r + i + a + (e / 2 ** 32 | 0) | 0, De = /* @__PURE__ */ ve((/* @__PURE__ */ "0x428a2f98d728ae22.0x7137449123ef65cd.0xb5c0fbcfec4d3b2f.0xe9b5dba58189dbbc.0x3956c25bf348b538.0x59f111f1b605d019.0x923f82a4af194f9b.0xab1c5ed5da6d8118.0xd807aa98a3030242.0x12835b0145706fbe.0x243185be4ee4b28c.0x550c7dc3d5ffb4e2.0x72be5d74f27b896f.0x80deb1fe3b1696b1.0x9bdc06a725c71235.0xc19bf174cf692694.0xe49b69c19ef14ad2.0xefbe4786384f25e3.0x0fc19dc68b8cd5b5.0x240ca1cc77ac9c65.0x2de92c6f592b0275.0x4a7484aa6ea6e483.0x5cb0a9dcbd41fbd4.0x76f988da831153b5.0x983e5152ee66dfab.0xa831c66d2db43210.0xb00327c898fb213f.0xbf597fc7beef0ee4.0xc6e00bf33da88fc2.0xd5a79147930aa725.0x06ca6351e003826f.0x142929670a0e6e70.0x27b70a8546d22ffc.0x2e1b21385c26c926.0x4d2c6dfc5ac42aed.0x53380d139d95b3df.0x650a73548baf63de.0x766a0abb3c77b2a8.0x81c2c92e47edaee6.0x92722c851482353b.0xa2bfe8a14cf10364.0xa81a664bbc423001.0xc24b8b70d0f89791.0xc76c51a30654be30.0xd192e819d6ef5218.0xd69906245565a910.0xf40e35855771202a.0x106aa07032bbd1b8.0x19a4c116b8d2d0c8.0x1e376c085141ab53.0x2748774cdf8eeb99.0x34b0bcb5e19b48a8.0x391c0cb3c5c95a63.0x4ed8aa4ae3418acb.0x5b9cca4f7763e373.0x682e6ff3d6b2b8a3.0x748f82ee5defb2fc.0x78a5636f43172f60.0x84c87814a1f0ab72.0x8cc702081a6439ec.0x90befffa23631e28.0xa4506cebde82bde9.0xbef9a3f7b2c67915.0xc67178f2e372532b.0xca273eceea26619c.0xd186b8c721c0c207.0xeada7dd6cde0eb1e.0xf57d4f7fee6ed178.0x06f067aa72176fba.0x0a637dc5a2c898a6.0x113f9804bef90dae.0x1b710b35131c471b.0x28db77f523047d84.0x32caab7b40c72493.0x3c9ebe0a15c9bebc.0x431d67c49c100d4c.0x4cc5d4becb3e42b6.0x597f299cfc657e2a.0x5fcb6fab3ad6faec.0x6c44198c4a475817".split(".")).map((e) => BigInt(e))), Oe = De[0], ke = De[1], M = /* @__PURE__ */ new Uint32Array(80), N = /* @__PURE__ */ new Uint32Array(80), Ae = class extends he {
|
|
336
337
|
constructor(e) {
|
|
337
338
|
super(128, e, 16, !1);
|
|
338
339
|
}
|
|
@@ -361,51 +362,51 @@ var ye = (e, t, n) => (e >>> 0) + (t >>> 0) + (n >>> 0), be = (e, t, n, r) => t
|
|
|
361
362
|
this.Ah = e | 0, this.Al = t | 0, this.Bh = n | 0, this.Bl = r | 0, this.Ch = i | 0, this.Cl = a | 0, this.Dh = o | 0, this.Dl = s | 0, this.Eh = c | 0, this.El = l | 0, this.Fh = u | 0, this.Fl = d | 0, this.Gh = f | 0, this.Gl = p | 0, this.Hh = m | 0, this.Hl = h | 0;
|
|
362
363
|
}
|
|
363
364
|
process(e, t) {
|
|
364
|
-
for (let n = 0; n < 16; n++, t += 4)
|
|
365
|
+
for (let n = 0; n < 16; n++, t += 4) M[n] = e.getUint32(t), N[n] = e.getUint32(t += 4);
|
|
365
366
|
for (let e = 16; e < 80; e++) {
|
|
366
|
-
let t =
|
|
367
|
-
|
|
367
|
+
let t = M[e - 15] | 0, n = N[e - 15] | 0, r = D(t, n, 1) ^ D(t, n, 8) ^ ye(t, n, 7), i = O(t, n, 1) ^ O(t, n, 8) ^ be(t, n, 7), a = M[e - 2] | 0, o = N[e - 2] | 0, s = D(a, o, 19) ^ k(a, o, 61) ^ ye(a, o, 6), c = Ce(i, O(a, o, 19) ^ A(a, o, 61) ^ be(a, o, 6), N[e - 7], N[e - 16]), l = we(c, r, s, M[e - 7], M[e - 16]);
|
|
368
|
+
M[e] = l | 0, N[e] = c | 0;
|
|
368
369
|
}
|
|
369
370
|
let { Ah: n, Al: r, Bh: i, Bl: a, Ch: o, Cl: s, Dh: c, Dl: l, Eh: u, El: d, Fh: f, Fl: p, Gh: m, Gl: h, Hh: g, Hl: _ } = this;
|
|
370
371
|
for (let e = 0; e < 80; e++) {
|
|
371
|
-
let t =
|
|
372
|
-
g = m | 0, _ = h | 0, m = f | 0, h = p | 0, f = u | 0, p = d | 0, {h: u, l: d} =
|
|
373
|
-
let
|
|
374
|
-
n =
|
|
372
|
+
let t = D(u, d, 14) ^ D(u, d, 18) ^ k(u, d, 41), ee = O(u, d, 14) ^ O(u, d, 18) ^ A(u, d, 41), te = u & f ^ ~u & m, ne = d & p ^ ~d & h, v = Te(_, ee, ne, ke[e], N[e]), re = Ee(v, g, t, te, Oe[e], M[e]), y = v | 0, b = D(n, r, 28) ^ k(n, r, 34) ^ k(n, r, 39), x = O(n, r, 28) ^ A(n, r, 34) ^ A(n, r, 39), S = n & i ^ n & o ^ i & o, ie = r & a ^ r & s ^ a & s;
|
|
373
|
+
g = m | 0, _ = h | 0, m = f | 0, h = p | 0, f = u | 0, p = d | 0, {h: u, l: d} = j(c | 0, l | 0, re | 0, y | 0), c = o | 0, l = s | 0, o = i | 0, s = a | 0, i = n | 0, a = r | 0;
|
|
374
|
+
let C = xe(y, x, ie);
|
|
375
|
+
n = Se(C, re, b, S), r = C | 0;
|
|
375
376
|
}
|
|
376
|
-
({h: n, l: r} =
|
|
377
|
+
({h: n, l: r} = j(this.Ah | 0, this.Al | 0, n | 0, r | 0)), {h: i, l: a} = j(this.Bh | 0, this.Bl | 0, i | 0, a | 0), {h: o, l: s} = j(this.Ch | 0, this.Cl | 0, o | 0, s | 0), {h: c, l: l} = j(this.Dh | 0, this.Dl | 0, c | 0, l | 0), {h: u, l: d} = j(this.Eh | 0, this.El | 0, u | 0, d | 0), {h: f, l: p} = j(this.Fh | 0, this.Fl | 0, f | 0, p | 0), {h: m, l: h} = j(this.Gh | 0, this.Gl | 0, m | 0, h | 0), {h: g, l: _} = j(this.Hh | 0, this.Hl | 0, g | 0, _ | 0), this.set(n, r, i, a, o, s, c, l, u, d, f, p, m, h, g, _);
|
|
377
378
|
}
|
|
378
379
|
roundClean() {
|
|
379
|
-
|
|
380
|
+
C(M, N);
|
|
380
381
|
}
|
|
381
382
|
destroy() {
|
|
382
|
-
this.destroyed = !0,
|
|
383
|
-
}
|
|
384
|
-
},
|
|
385
|
-
Ah =
|
|
386
|
-
Al =
|
|
387
|
-
Bh =
|
|
388
|
-
Bl =
|
|
389
|
-
Ch =
|
|
390
|
-
Cl =
|
|
391
|
-
Dh =
|
|
392
|
-
Dl =
|
|
393
|
-
Eh =
|
|
394
|
-
El =
|
|
395
|
-
Fh =
|
|
396
|
-
Fl =
|
|
397
|
-
Gh =
|
|
398
|
-
Gl =
|
|
399
|
-
Hh =
|
|
400
|
-
Hl =
|
|
383
|
+
this.destroyed = !0, C(this.buffer), this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
|
384
|
+
}
|
|
385
|
+
}, je = class extends Ae {
|
|
386
|
+
Ah = T[0] | 0;
|
|
387
|
+
Al = T[1] | 0;
|
|
388
|
+
Bh = T[2] | 0;
|
|
389
|
+
Bl = T[3] | 0;
|
|
390
|
+
Ch = T[4] | 0;
|
|
391
|
+
Cl = T[5] | 0;
|
|
392
|
+
Dh = T[6] | 0;
|
|
393
|
+
Dl = T[7] | 0;
|
|
394
|
+
Eh = T[8] | 0;
|
|
395
|
+
El = T[9] | 0;
|
|
396
|
+
Fh = T[10] | 0;
|
|
397
|
+
Fl = T[11] | 0;
|
|
398
|
+
Gh = T[12] | 0;
|
|
399
|
+
Gl = T[13] | 0;
|
|
400
|
+
Hh = T[14] | 0;
|
|
401
|
+
Hl = T[15] | 0;
|
|
401
402
|
constructor() {
|
|
402
403
|
super(64);
|
|
403
404
|
}
|
|
404
|
-
},
|
|
405
|
+
}, Me = /* @__PURE__ */ ce(() => new je(), /* @__PURE__ */ le(3)), Ne = (t, n, r, i) => e.from(me(Me, t, n, {
|
|
405
406
|
c: r,
|
|
406
407
|
dkLen: i
|
|
407
|
-
})),
|
|
408
|
-
function
|
|
408
|
+
})), Pe = /* @__PURE__ */ RegExp("^[:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");
|
|
409
|
+
function Fe(e, t) {
|
|
409
410
|
let n = [], r = t.exec(e);
|
|
410
411
|
for (; r;) {
|
|
411
412
|
let i = [];
|
|
@@ -416,13 +417,13 @@ function Ne(e, t) {
|
|
|
416
417
|
}
|
|
417
418
|
return n;
|
|
418
419
|
}
|
|
419
|
-
var
|
|
420
|
-
return
|
|
420
|
+
var Ie = function(e) {
|
|
421
|
+
return Pe.exec(e) != null;
|
|
421
422
|
};
|
|
422
|
-
function
|
|
423
|
+
function Le(e) {
|
|
423
424
|
return e !== void 0;
|
|
424
425
|
}
|
|
425
|
-
var
|
|
426
|
+
var P = [
|
|
426
427
|
"hasOwnProperty",
|
|
427
428
|
"toString",
|
|
428
429
|
"valueOf",
|
|
@@ -430,102 +431,104 @@ var I = [
|
|
|
430
431
|
"__defineSetter__",
|
|
431
432
|
"__lookupGetter__",
|
|
432
433
|
"__lookupSetter__"
|
|
433
|
-
],
|
|
434
|
+
], Re = [
|
|
434
435
|
"__proto__",
|
|
435
436
|
"constructor",
|
|
436
437
|
"prototype"
|
|
437
|
-
],
|
|
438
|
+
], ze = {
|
|
438
439
|
allowBooleanAttributes: !1,
|
|
439
440
|
unpairedTags: []
|
|
440
441
|
};
|
|
441
|
-
function
|
|
442
|
-
t = Object.assign({},
|
|
442
|
+
function Be(e, t) {
|
|
443
|
+
t = Object.assign({}, ze, t);
|
|
443
444
|
let n = [], r = !1, i = !1;
|
|
444
445
|
e[0] === "" && (e = e.substr(1));
|
|
445
446
|
for (let a = 0; a < e.length; a++) if (e[a] === "<" && e[a + 1] === "?") {
|
|
446
|
-
if (a += 2, a =
|
|
447
|
+
if (a += 2, a = He(e, a), a.err) return a;
|
|
447
448
|
} else if (e[a] === "<") {
|
|
448
449
|
let o = a;
|
|
449
450
|
if (a++, e[a] === "!") {
|
|
450
|
-
a =
|
|
451
|
+
a = Ue(e, a);
|
|
451
452
|
continue;
|
|
452
|
-
}
|
|
453
|
+
}
|
|
454
|
+
{
|
|
453
455
|
let s = !1;
|
|
454
456
|
e[a] === "/" && (s = !0, a++);
|
|
455
457
|
let c = "";
|
|
456
458
|
for (; a < e.length && e[a] !== ">" && e[a] !== " " && e[a] !== " " && e[a] !== "\n" && e[a] !== "\r"; a++) c += e[a];
|
|
457
|
-
if (c = c.trim(), c[c.length - 1] === "/" && (c = c.substring(0, c.length - 1), a--), !
|
|
459
|
+
if (c = c.trim(), c[c.length - 1] === "/" && (c = c.substring(0, c.length - 1), a--), !Qe(c)) {
|
|
458
460
|
let t;
|
|
459
|
-
return t = c.trim().length === 0 ? "Invalid space after '<'." : "Tag '" + c + "' is an invalid name.",
|
|
461
|
+
return t = c.trim().length === 0 ? "Invalid space after '<'." : "Tag '" + c + "' is an invalid name.", F("InvalidTag", t, I(e, a));
|
|
460
462
|
}
|
|
461
|
-
let l =
|
|
462
|
-
if (l === !1) return
|
|
463
|
+
let l = Ke(e, a);
|
|
464
|
+
if (l === !1) return F("InvalidAttr", "Attributes for '" + c + "' have open quote.", I(e, a));
|
|
463
465
|
let u = l.value;
|
|
464
466
|
if (a = l.index, u[u.length - 1] === "/") {
|
|
465
467
|
let n = a - u.length;
|
|
466
468
|
u = u.substring(0, u.length - 1);
|
|
467
|
-
let i =
|
|
469
|
+
let i = Je(u, t);
|
|
468
470
|
if (i === !0) r = !0;
|
|
469
|
-
else return
|
|
471
|
+
else return F(i.err.code, i.err.msg, I(e, n + i.err.line));
|
|
470
472
|
} else if (s) {
|
|
471
|
-
if (!l.tagClosed) return
|
|
472
|
-
if (u.trim().length > 0) return
|
|
473
|
-
if (n.length === 0) return
|
|
473
|
+
if (!l.tagClosed) return F("InvalidTag", "Closing tag '" + c + "' doesn't have proper closing.", I(e, a));
|
|
474
|
+
if (u.trim().length > 0) return F("InvalidTag", "Closing tag '" + c + "' can't have attributes or invalid starting.", I(e, o));
|
|
475
|
+
if (n.length === 0) return F("InvalidTag", "Closing tag '" + c + "' has not been opened.", I(e, o));
|
|
474
476
|
{
|
|
475
477
|
let t = n.pop();
|
|
476
478
|
if (c !== t.tagName) {
|
|
477
|
-
let n =
|
|
478
|
-
return
|
|
479
|
+
let n = I(e, t.tagStartPos);
|
|
480
|
+
return F("InvalidTag", "Expected closing tag '" + t.tagName + "' (opened in line " + n.line + ", col " + n.col + ") instead of closing tag '" + c + "'.", I(e, o));
|
|
479
481
|
}
|
|
480
482
|
n.length == 0 && (i = !0);
|
|
481
483
|
}
|
|
482
484
|
} else {
|
|
483
|
-
let s =
|
|
484
|
-
if (s !== !0) return
|
|
485
|
-
if (i === !0) return
|
|
485
|
+
let s = Je(u, t);
|
|
486
|
+
if (s !== !0) return F(s.err.code, s.err.msg, I(e, a - u.length + s.err.line));
|
|
487
|
+
if (i === !0) return F("InvalidXml", "Multiple possible root nodes found.", I(e, a));
|
|
486
488
|
t.unpairedTags.indexOf(c) !== -1 || n.push({
|
|
487
489
|
tagName: c,
|
|
488
490
|
tagStartPos: o
|
|
489
491
|
}), r = !0;
|
|
490
492
|
}
|
|
491
493
|
for (a++; a < e.length; a++) if (e[a] === "<") if (e[a + 1] === "!") {
|
|
492
|
-
a++, a =
|
|
494
|
+
a++, a = Ue(e, a);
|
|
493
495
|
continue;
|
|
494
496
|
} else if (e[a + 1] === "?") {
|
|
495
|
-
if (a =
|
|
497
|
+
if (a = He(e, ++a), a.err) return a;
|
|
496
498
|
} else break;
|
|
497
499
|
else if (e[a] === "&") {
|
|
498
|
-
let t =
|
|
499
|
-
if (t == -1) return
|
|
500
|
+
let t = Xe(e, a);
|
|
501
|
+
if (t == -1) return F("InvalidChar", "char '&' is not expected.", I(e, a));
|
|
500
502
|
a = t;
|
|
501
|
-
} else if (i === !0 && !
|
|
503
|
+
} else if (i === !0 && !Ve(e[a])) return F("InvalidXml", "Extra text at the end", I(e, a));
|
|
502
504
|
e[a] === "<" && a--;
|
|
503
505
|
}
|
|
504
506
|
} else {
|
|
505
|
-
if (
|
|
506
|
-
return
|
|
507
|
+
if (Ve(e[a])) continue;
|
|
508
|
+
return F("InvalidChar", "char '" + e[a] + "' is not expected.", I(e, a));
|
|
507
509
|
}
|
|
508
|
-
return r ? n.length == 1 ?
|
|
510
|
+
return r ? n.length == 1 ? F("InvalidTag", "Unclosed tag '" + n[0].tagName + "'.", I(e, n[0].tagStartPos)) : n.length > 0 ? F("InvalidXml", "Invalid '" + JSON.stringify(n.map((e) => e.tagName), null, 4).replace(/\r?\n/g, "") + "' found.", {
|
|
509
511
|
line: 1,
|
|
510
512
|
col: 1
|
|
511
|
-
}) : !0 :
|
|
513
|
+
}) : !0 : F("InvalidXml", "Start tag expected.", 1);
|
|
512
514
|
}
|
|
513
|
-
function
|
|
515
|
+
function Ve(e) {
|
|
514
516
|
return e === " " || e === " " || e === "\n" || e === "\r";
|
|
515
517
|
}
|
|
516
|
-
function
|
|
518
|
+
function He(e, t) {
|
|
517
519
|
let n = t;
|
|
518
520
|
for (; t < e.length; t++) if (e[t] == "?" || e[t] == " ") {
|
|
519
521
|
let r = e.substr(n, t - n);
|
|
520
|
-
if (t > 5 && r === "xml") return
|
|
522
|
+
if (t > 5 && r === "xml") return F("InvalidXml", "XML declaration allowed only at the start of the document.", I(e, t));
|
|
521
523
|
if (e[t] == "?" && e[t + 1] == ">") {
|
|
522
524
|
t++;
|
|
523
525
|
break;
|
|
524
|
-
}
|
|
526
|
+
}
|
|
527
|
+
continue;
|
|
525
528
|
}
|
|
526
529
|
return t;
|
|
527
530
|
}
|
|
528
|
-
function
|
|
531
|
+
function Ue(e, t) {
|
|
529
532
|
if (e.length > t + 5 && e[t + 1] === "-" && e[t + 2] === "-") {
|
|
530
533
|
for (t += 3; t < e.length; t++) if (e[t] === "-" && e[t + 1] === "-" && e[t + 2] === ">") {
|
|
531
534
|
t += 2;
|
|
@@ -543,38 +546,38 @@ function Ve(e, t) {
|
|
|
543
546
|
}
|
|
544
547
|
return t;
|
|
545
548
|
}
|
|
546
|
-
var
|
|
547
|
-
function
|
|
549
|
+
var We = "\"", Ge = "'";
|
|
550
|
+
function Ke(e, t) {
|
|
548
551
|
let n = "", r = "", i = !1;
|
|
549
552
|
for (; t < e.length; t++) {
|
|
550
|
-
if (e[t] ===
|
|
553
|
+
if (e[t] === We || e[t] === Ge) r === "" ? r = e[t] : r !== e[t] || (r = "");
|
|
551
554
|
else if (e[t] === ">" && r === "") {
|
|
552
555
|
i = !0;
|
|
553
556
|
break;
|
|
554
557
|
}
|
|
555
558
|
n += e[t];
|
|
556
559
|
}
|
|
557
|
-
return r === ""
|
|
560
|
+
return r === "" && {
|
|
558
561
|
value: n,
|
|
559
562
|
index: t,
|
|
560
563
|
tagClosed: i
|
|
561
|
-
}
|
|
564
|
+
};
|
|
562
565
|
}
|
|
563
|
-
var
|
|
564
|
-
function
|
|
565
|
-
let n =
|
|
566
|
+
var qe = /* @__PURE__ */ RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?", "g");
|
|
567
|
+
function Je(e, t) {
|
|
568
|
+
let n = Fe(e, qe), r = {};
|
|
566
569
|
for (let e = 0; e < n.length; e++) {
|
|
567
|
-
if (n[e][1].length === 0) return
|
|
568
|
-
if (n[e][3] !== void 0 && n[e][4] === void 0) return
|
|
569
|
-
if (n[e][3] === void 0 && !t.allowBooleanAttributes) return
|
|
570
|
+
if (n[e][1].length === 0) return F("InvalidAttr", "Attribute '" + n[e][2] + "' has no space in starting.", L(n[e]));
|
|
571
|
+
if (n[e][3] !== void 0 && n[e][4] === void 0) return F("InvalidAttr", "Attribute '" + n[e][2] + "' is without value.", L(n[e]));
|
|
572
|
+
if (n[e][3] === void 0 && !t.allowBooleanAttributes) return F("InvalidAttr", "boolean attribute '" + n[e][2] + "' is not allowed.", L(n[e]));
|
|
570
573
|
let i = n[e][2];
|
|
571
|
-
if (!
|
|
574
|
+
if (!Ze(i)) return F("InvalidAttr", "Attribute '" + i + "' is an invalid name.", L(n[e]));
|
|
572
575
|
if (!Object.prototype.hasOwnProperty.call(r, i)) r[i] = 1;
|
|
573
|
-
else return
|
|
576
|
+
else return F("InvalidAttr", "Attribute '" + i + "' is repeated.", L(n[e]));
|
|
574
577
|
}
|
|
575
578
|
return !0;
|
|
576
579
|
}
|
|
577
|
-
function
|
|
580
|
+
function Ye(e, t) {
|
|
578
581
|
let n = /\d/;
|
|
579
582
|
for (e[t] === "x" && (t++, n = /[\da-fA-F]/); t < e.length; t++) {
|
|
580
583
|
if (e[t] === ";") return t;
|
|
@@ -582,9 +585,9 @@ function qe(e, t) {
|
|
|
582
585
|
}
|
|
583
586
|
return -1;
|
|
584
587
|
}
|
|
585
|
-
function
|
|
588
|
+
function Xe(e, t) {
|
|
586
589
|
if (t++, e[t] === ";") return -1;
|
|
587
|
-
if (e[t] === "#") return t++,
|
|
590
|
+
if (e[t] === "#") return t++, Ye(e, t);
|
|
588
591
|
let n = 0;
|
|
589
592
|
for (; t < e.length; t++, n++) if (!(e[t].match(/\w/) && n < 20)) {
|
|
590
593
|
if (e[t] === ";") break;
|
|
@@ -592,7 +595,7 @@ function Je(e, t) {
|
|
|
592
595
|
}
|
|
593
596
|
return t;
|
|
594
597
|
}
|
|
595
|
-
function
|
|
598
|
+
function F(e, t, n) {
|
|
596
599
|
return { err: {
|
|
597
600
|
code: e,
|
|
598
601
|
msg: t,
|
|
@@ -600,972 +603,31 @@ function L(e, t, n) {
|
|
|
600
603
|
col: n.col
|
|
601
604
|
} };
|
|
602
605
|
}
|
|
603
|
-
function
|
|
604
|
-
return
|
|
606
|
+
function Ze(e) {
|
|
607
|
+
return Ie(e);
|
|
605
608
|
}
|
|
606
|
-
function
|
|
607
|
-
return
|
|
609
|
+
function Qe(e) {
|
|
610
|
+
return Ie(e);
|
|
608
611
|
}
|
|
609
|
-
function
|
|
612
|
+
function I(e, t) {
|
|
610
613
|
let n = e.substring(0, t).split(/\r?\n/);
|
|
611
614
|
return {
|
|
612
615
|
line: n.length,
|
|
613
616
|
col: n[n.length - 1].length + 1
|
|
614
617
|
};
|
|
615
618
|
}
|
|
616
|
-
function
|
|
619
|
+
function L(e) {
|
|
617
620
|
return e.startIndex + e[1].length;
|
|
618
621
|
}
|
|
619
622
|
//#endregion
|
|
620
|
-
//#region ../../node_modules/.pnpm/@nodable+entities@
|
|
621
|
-
var
|
|
622
|
-
amp: "&",
|
|
623
|
-
AMP: "&",
|
|
624
|
-
lt: "<",
|
|
625
|
-
LT: "<",
|
|
626
|
-
gt: ">",
|
|
627
|
-
GT: ">",
|
|
628
|
-
quot: "\"",
|
|
629
|
-
QUOT: "\"",
|
|
630
|
-
apos: "'",
|
|
631
|
-
lsquo: "‘",
|
|
632
|
-
rsquo: "’",
|
|
633
|
-
ldquo: "“",
|
|
634
|
-
rdquo: "”",
|
|
635
|
-
lsquor: "‚",
|
|
636
|
-
rsquor: "’",
|
|
637
|
-
ldquor: "„",
|
|
638
|
-
bdquo: "„",
|
|
639
|
-
comma: ",",
|
|
640
|
-
period: ".",
|
|
641
|
-
colon: ":",
|
|
642
|
-
semi: ";",
|
|
643
|
-
excl: "!",
|
|
644
|
-
quest: "?",
|
|
645
|
-
num: "#",
|
|
646
|
-
dollar: "$",
|
|
647
|
-
percent: "%",
|
|
648
|
-
amp: "&",
|
|
649
|
-
ast: "*",
|
|
650
|
-
commat: "@",
|
|
651
|
-
lowbar: "_",
|
|
652
|
-
verbar: "|",
|
|
653
|
-
vert: "|",
|
|
654
|
-
sol: "/",
|
|
655
|
-
bsol: "\\",
|
|
656
|
-
lbrace: "{",
|
|
657
|
-
rbrace: "}",
|
|
658
|
-
lbrack: "[",
|
|
659
|
-
rbrack: "]",
|
|
660
|
-
lpar: "(",
|
|
661
|
-
rpar: ")",
|
|
662
|
-
nbsp: "\xA0",
|
|
663
|
-
iexcl: "¡",
|
|
664
|
-
cent: "¢",
|
|
665
|
-
pound: "£",
|
|
666
|
-
curren: "¤",
|
|
667
|
-
yen: "¥",
|
|
668
|
-
brvbar: "¦",
|
|
669
|
-
sect: "§",
|
|
670
|
-
uml: "¨",
|
|
671
|
-
copy: "©",
|
|
672
|
-
COPY: "©",
|
|
673
|
-
ordf: "ª",
|
|
674
|
-
laquo: "«",
|
|
675
|
-
not: "¬",
|
|
676
|
-
shy: "",
|
|
677
|
-
reg: "®",
|
|
678
|
-
REG: "®",
|
|
679
|
-
macr: "¯",
|
|
680
|
-
deg: "°",
|
|
681
|
-
plusmn: "±",
|
|
682
|
-
sup2: "²",
|
|
683
|
-
sup3: "³",
|
|
684
|
-
acute: "´",
|
|
685
|
-
micro: "µ",
|
|
686
|
-
para: "¶",
|
|
687
|
-
middot: "·",
|
|
688
|
-
cedil: "¸",
|
|
689
|
-
sup1: "¹",
|
|
690
|
-
ordm: "º",
|
|
691
|
-
raquo: "»",
|
|
692
|
-
frac14: "¼",
|
|
693
|
-
frac12: "½",
|
|
694
|
-
half: "½",
|
|
695
|
-
frac34: "¾",
|
|
696
|
-
iquest: "¿",
|
|
697
|
-
times: "×",
|
|
698
|
-
div: "÷",
|
|
699
|
-
divide: "÷"
|
|
700
|
-
}, Qe = {
|
|
701
|
-
Agrave: "À",
|
|
702
|
-
agrave: "à",
|
|
703
|
-
Aacute: "Á",
|
|
704
|
-
aacute: "á",
|
|
705
|
-
Acirc: "Â",
|
|
706
|
-
acirc: "â",
|
|
707
|
-
Atilde: "Ã",
|
|
708
|
-
atilde: "ã",
|
|
709
|
-
Auml: "Ä",
|
|
710
|
-
auml: "ä",
|
|
711
|
-
Aring: "Å",
|
|
712
|
-
aring: "å",
|
|
713
|
-
AElig: "Æ",
|
|
714
|
-
aelig: "æ",
|
|
715
|
-
Ccedil: "Ç",
|
|
716
|
-
ccedil: "ç",
|
|
717
|
-
Egrave: "È",
|
|
718
|
-
egrave: "è",
|
|
719
|
-
Eacute: "É",
|
|
720
|
-
eacute: "é",
|
|
721
|
-
Ecirc: "Ê",
|
|
722
|
-
ecirc: "ê",
|
|
723
|
-
Euml: "Ë",
|
|
724
|
-
euml: "ë",
|
|
725
|
-
Igrave: "Ì",
|
|
726
|
-
igrave: "ì",
|
|
727
|
-
Iacute: "Í",
|
|
728
|
-
iacute: "í",
|
|
729
|
-
Icirc: "Î",
|
|
730
|
-
icirc: "î",
|
|
731
|
-
Iuml: "Ï",
|
|
732
|
-
iuml: "ï",
|
|
733
|
-
ETH: "Ð",
|
|
734
|
-
eth: "ð",
|
|
735
|
-
Ntilde: "Ñ",
|
|
736
|
-
ntilde: "ñ",
|
|
737
|
-
Ograve: "Ò",
|
|
738
|
-
ograve: "ò",
|
|
739
|
-
Oacute: "Ó",
|
|
740
|
-
oacute: "ó",
|
|
741
|
-
Ocirc: "Ô",
|
|
742
|
-
ocirc: "ô",
|
|
743
|
-
Otilde: "Õ",
|
|
744
|
-
otilde: "õ",
|
|
745
|
-
Ouml: "Ö",
|
|
746
|
-
ouml: "ö",
|
|
747
|
-
Oslash: "Ø",
|
|
748
|
-
oslash: "ø",
|
|
749
|
-
Ugrave: "Ù",
|
|
750
|
-
ugrave: "ù",
|
|
751
|
-
Uacute: "Ú",
|
|
752
|
-
uacute: "ú",
|
|
753
|
-
Ucirc: "Û",
|
|
754
|
-
ucirc: "û",
|
|
755
|
-
Uuml: "Ü",
|
|
756
|
-
uuml: "ü",
|
|
757
|
-
Yacute: "Ý",
|
|
758
|
-
yacute: "ý",
|
|
759
|
-
THORN: "Þ",
|
|
760
|
-
thorn: "þ",
|
|
761
|
-
szlig: "ß",
|
|
762
|
-
yuml: "ÿ",
|
|
763
|
-
Yuml: "Ÿ"
|
|
764
|
-
}, $e = {
|
|
765
|
-
Amacr: "Ā",
|
|
766
|
-
amacr: "ā",
|
|
767
|
-
Abreve: "Ă",
|
|
768
|
-
abreve: "ă",
|
|
769
|
-
Aogon: "Ą",
|
|
770
|
-
aogon: "ą",
|
|
771
|
-
Cacute: "Ć",
|
|
772
|
-
cacute: "ć",
|
|
773
|
-
Ccirc: "Ĉ",
|
|
774
|
-
ccirc: "ĉ",
|
|
775
|
-
Cdot: "Ċ",
|
|
776
|
-
cdot: "ċ",
|
|
777
|
-
Ccaron: "Č",
|
|
778
|
-
ccaron: "č",
|
|
779
|
-
Dcaron: "Ď",
|
|
780
|
-
dcaron: "ď",
|
|
781
|
-
Dstrok: "Đ",
|
|
782
|
-
dstrok: "đ",
|
|
783
|
-
Emacr: "Ē",
|
|
784
|
-
emacr: "ē",
|
|
785
|
-
Ecaron: "Ě",
|
|
786
|
-
ecaron: "ě",
|
|
787
|
-
Edot: "Ė",
|
|
788
|
-
edot: "ė",
|
|
789
|
-
Eogon: "Ę",
|
|
790
|
-
eogon: "ę",
|
|
791
|
-
Gcirc: "Ĝ",
|
|
792
|
-
gcirc: "ĝ",
|
|
793
|
-
Gbreve: "Ğ",
|
|
794
|
-
gbreve: "ğ",
|
|
795
|
-
Gdot: "Ġ",
|
|
796
|
-
gdot: "ġ",
|
|
797
|
-
Gcedil: "Ģ",
|
|
798
|
-
Hcirc: "Ĥ",
|
|
799
|
-
hcirc: "ĥ",
|
|
800
|
-
Hstrok: "Ħ",
|
|
801
|
-
hstrok: "ħ",
|
|
802
|
-
Itilde: "Ĩ",
|
|
803
|
-
itilde: "ĩ",
|
|
804
|
-
Imacr: "Ī",
|
|
805
|
-
imacr: "ī",
|
|
806
|
-
Iogon: "Į",
|
|
807
|
-
iogon: "į",
|
|
808
|
-
Idot: "İ",
|
|
809
|
-
IJlig: "IJ",
|
|
810
|
-
ijlig: "ij",
|
|
811
|
-
Jcirc: "Ĵ",
|
|
812
|
-
jcirc: "ĵ",
|
|
813
|
-
Kcedil: "Ķ",
|
|
814
|
-
kcedil: "ķ",
|
|
815
|
-
kgreen: "ĸ",
|
|
816
|
-
Lacute: "Ĺ",
|
|
817
|
-
lacute: "ĺ",
|
|
818
|
-
Lcedil: "Ļ",
|
|
819
|
-
lcedil: "ļ",
|
|
820
|
-
Lcaron: "Ľ",
|
|
821
|
-
lcaron: "ľ",
|
|
822
|
-
Lmidot: "Ŀ",
|
|
823
|
-
lmidot: "ŀ",
|
|
824
|
-
Lstrok: "Ł",
|
|
825
|
-
lstrok: "ł",
|
|
826
|
-
Nacute: "Ń",
|
|
827
|
-
nacute: "ń",
|
|
828
|
-
Ncaron: "Ň",
|
|
829
|
-
ncaron: "ň",
|
|
830
|
-
Ncedil: "Ņ",
|
|
831
|
-
ncedil: "ņ",
|
|
832
|
-
ENG: "Ŋ",
|
|
833
|
-
eng: "ŋ",
|
|
834
|
-
Omacr: "Ō",
|
|
835
|
-
omacr: "ō",
|
|
836
|
-
Odblac: "Ő",
|
|
837
|
-
odblac: "ő",
|
|
838
|
-
OElig: "Œ",
|
|
839
|
-
oelig: "œ",
|
|
840
|
-
Racute: "Ŕ",
|
|
841
|
-
racute: "ŕ",
|
|
842
|
-
Rcaron: "Ř",
|
|
843
|
-
rcaron: "ř",
|
|
844
|
-
Rcedil: "Ŗ",
|
|
845
|
-
rcedil: "ŗ",
|
|
846
|
-
Sacute: "Ś",
|
|
847
|
-
sacute: "ś",
|
|
848
|
-
Scirc: "Ŝ",
|
|
849
|
-
scirc: "ŝ",
|
|
850
|
-
Scedil: "Ş",
|
|
851
|
-
scedil: "ş",
|
|
852
|
-
Scaron: "Š",
|
|
853
|
-
scaron: "š",
|
|
854
|
-
Tcedil: "Ţ",
|
|
855
|
-
tcedil: "ţ",
|
|
856
|
-
Tcaron: "Ť",
|
|
857
|
-
tcaron: "ť",
|
|
858
|
-
Tstrok: "Ŧ",
|
|
859
|
-
tstrok: "ŧ",
|
|
860
|
-
Utilde: "Ũ",
|
|
861
|
-
utilde: "ũ",
|
|
862
|
-
Umacr: "Ū",
|
|
863
|
-
umacr: "ū",
|
|
864
|
-
Ubreve: "Ŭ",
|
|
865
|
-
ubreve: "ŭ",
|
|
866
|
-
Uring: "Ů",
|
|
867
|
-
uring: "ů",
|
|
868
|
-
Udblac: "Ű",
|
|
869
|
-
udblac: "ű",
|
|
870
|
-
Uogon: "Ų",
|
|
871
|
-
uogon: "ų",
|
|
872
|
-
Wcirc: "Ŵ",
|
|
873
|
-
wcirc: "ŵ",
|
|
874
|
-
Ycirc: "Ŷ",
|
|
875
|
-
ycirc: "ŷ",
|
|
876
|
-
Zacute: "Ź",
|
|
877
|
-
zacute: "ź",
|
|
878
|
-
Zdot: "Ż",
|
|
879
|
-
zdot: "ż",
|
|
880
|
-
Zcaron: "Ž",
|
|
881
|
-
zcaron: "ž"
|
|
882
|
-
}, et = {
|
|
883
|
-
Alpha: "Α",
|
|
884
|
-
alpha: "α",
|
|
885
|
-
Beta: "Β",
|
|
886
|
-
beta: "β",
|
|
887
|
-
Gamma: "Γ",
|
|
888
|
-
gamma: "γ",
|
|
889
|
-
Delta: "Δ",
|
|
890
|
-
delta: "δ",
|
|
891
|
-
Epsilon: "Ε",
|
|
892
|
-
epsilon: "ε",
|
|
893
|
-
epsiv: "ϵ",
|
|
894
|
-
varepsilon: "ϵ",
|
|
895
|
-
Zeta: "Ζ",
|
|
896
|
-
zeta: "ζ",
|
|
897
|
-
Eta: "Η",
|
|
898
|
-
eta: "η",
|
|
899
|
-
Theta: "Θ",
|
|
900
|
-
theta: "θ",
|
|
901
|
-
thetasym: "ϑ",
|
|
902
|
-
vartheta: "ϑ",
|
|
903
|
-
Iota: "Ι",
|
|
904
|
-
iota: "ι",
|
|
905
|
-
Kappa: "Κ",
|
|
906
|
-
kappa: "κ",
|
|
907
|
-
kappav: "ϰ",
|
|
908
|
-
varkappa: "ϰ",
|
|
909
|
-
Lambda: "Λ",
|
|
910
|
-
lambda: "λ",
|
|
911
|
-
Mu: "Μ",
|
|
912
|
-
mu: "μ",
|
|
913
|
-
Nu: "Ν",
|
|
914
|
-
nu: "ν",
|
|
915
|
-
Xi: "Ξ",
|
|
916
|
-
xi: "ξ",
|
|
917
|
-
Omicron: "Ο",
|
|
918
|
-
omicron: "ο",
|
|
919
|
-
Pi: "Π",
|
|
920
|
-
pi: "π",
|
|
921
|
-
piv: "ϖ",
|
|
922
|
-
varpi: "ϖ",
|
|
923
|
-
Rho: "Ρ",
|
|
924
|
-
rho: "ρ",
|
|
925
|
-
rhov: "ϱ",
|
|
926
|
-
varrho: "ϱ",
|
|
927
|
-
Sigma: "Σ",
|
|
928
|
-
sigma: "σ",
|
|
929
|
-
sigmaf: "ς",
|
|
930
|
-
sigmav: "ς",
|
|
931
|
-
varsigma: "ς",
|
|
932
|
-
Tau: "Τ",
|
|
933
|
-
tau: "τ",
|
|
934
|
-
Upsilon: "Υ",
|
|
935
|
-
upsilon: "υ",
|
|
936
|
-
upsi: "υ",
|
|
937
|
-
Upsi: "ϒ",
|
|
938
|
-
upsih: "ϒ",
|
|
939
|
-
Phi: "Φ",
|
|
940
|
-
phi: "φ",
|
|
941
|
-
phiv: "ϕ",
|
|
942
|
-
varphi: "ϕ",
|
|
943
|
-
Chi: "Χ",
|
|
944
|
-
chi: "χ",
|
|
945
|
-
Psi: "Ψ",
|
|
946
|
-
psi: "ψ",
|
|
947
|
-
Omega: "Ω",
|
|
948
|
-
omega: "ω",
|
|
949
|
-
ohm: "Ω",
|
|
950
|
-
Gammad: "Ϝ",
|
|
951
|
-
gammad: "ϝ",
|
|
952
|
-
digamma: "ϝ"
|
|
953
|
-
}, tt = {
|
|
954
|
-
Afr: "𝔄",
|
|
955
|
-
afr: "𝔞",
|
|
956
|
-
Acy: "А",
|
|
957
|
-
acy: "а",
|
|
958
|
-
Bcy: "Б",
|
|
959
|
-
bcy: "б",
|
|
960
|
-
Vcy: "В",
|
|
961
|
-
vcy: "в",
|
|
962
|
-
Gcy: "Г",
|
|
963
|
-
gcy: "г",
|
|
964
|
-
Dcy: "Д",
|
|
965
|
-
dcy: "д",
|
|
966
|
-
IEcy: "Е",
|
|
967
|
-
iecy: "е",
|
|
968
|
-
IOcy: "Ё",
|
|
969
|
-
iocy: "ё",
|
|
970
|
-
ZHcy: "Ж",
|
|
971
|
-
zhcy: "ж",
|
|
972
|
-
Zcy: "З",
|
|
973
|
-
zcy: "з",
|
|
974
|
-
Icy: "И",
|
|
975
|
-
icy: "и",
|
|
976
|
-
Jcy: "Й",
|
|
977
|
-
jcy: "й",
|
|
978
|
-
Kcy: "К",
|
|
979
|
-
kcy: "к",
|
|
980
|
-
Lcy: "Л",
|
|
981
|
-
lcy: "л",
|
|
982
|
-
Mcy: "М",
|
|
983
|
-
mcy: "м",
|
|
984
|
-
Ncy: "Н",
|
|
985
|
-
ncy: "н",
|
|
986
|
-
Ocy: "О",
|
|
987
|
-
ocy: "о",
|
|
988
|
-
Pcy: "П",
|
|
989
|
-
pcy: "п",
|
|
990
|
-
Rcy: "Р",
|
|
991
|
-
rcy: "р",
|
|
992
|
-
Scy: "С",
|
|
993
|
-
scy: "с",
|
|
994
|
-
Tcy: "Т",
|
|
995
|
-
tcy: "т",
|
|
996
|
-
Ucy: "У",
|
|
997
|
-
ucy: "у",
|
|
998
|
-
Fcy: "Ф",
|
|
999
|
-
fcy: "ф",
|
|
1000
|
-
KHcy: "Х",
|
|
1001
|
-
khcy: "х",
|
|
1002
|
-
TScy: "Ц",
|
|
1003
|
-
tscy: "ц",
|
|
1004
|
-
CHcy: "Ч",
|
|
1005
|
-
chcy: "ч",
|
|
1006
|
-
SHcy: "Ш",
|
|
1007
|
-
shcy: "ш",
|
|
1008
|
-
SHCHcy: "Щ",
|
|
1009
|
-
shchcy: "щ",
|
|
1010
|
-
HARDcy: "Ъ",
|
|
1011
|
-
hardcy: "ъ",
|
|
1012
|
-
Ycy: "Ы",
|
|
1013
|
-
ycy: "ы",
|
|
1014
|
-
SOFTcy: "Ь",
|
|
1015
|
-
softcy: "ь",
|
|
1016
|
-
Ecy: "Э",
|
|
1017
|
-
ecy: "э",
|
|
1018
|
-
YUcy: "Ю",
|
|
1019
|
-
yucy: "ю",
|
|
1020
|
-
YAcy: "Я",
|
|
1021
|
-
yacy: "я",
|
|
1022
|
-
DJcy: "Ђ",
|
|
1023
|
-
djcy: "ђ",
|
|
1024
|
-
GJcy: "Ѓ",
|
|
1025
|
-
gjcy: "ѓ",
|
|
1026
|
-
Jukcy: "Є",
|
|
1027
|
-
jukcy: "є",
|
|
1028
|
-
DScy: "Ѕ",
|
|
1029
|
-
dscy: "ѕ",
|
|
1030
|
-
Iukcy: "І",
|
|
1031
|
-
iukcy: "і",
|
|
1032
|
-
YIcy: "Ї",
|
|
1033
|
-
yicy: "ї",
|
|
1034
|
-
Jsercy: "Ј",
|
|
1035
|
-
jsercy: "ј",
|
|
1036
|
-
LJcy: "Љ",
|
|
1037
|
-
ljcy: "љ",
|
|
1038
|
-
NJcy: "Њ",
|
|
1039
|
-
njcy: "њ",
|
|
1040
|
-
TSHcy: "Ћ",
|
|
1041
|
-
tshcy: "ћ",
|
|
1042
|
-
KJcy: "Ќ",
|
|
1043
|
-
kjcy: "ќ",
|
|
1044
|
-
Ubrcy: "Ў",
|
|
1045
|
-
ubrcy: "ў",
|
|
1046
|
-
DZcy: "Џ",
|
|
1047
|
-
dzcy: "џ"
|
|
1048
|
-
}, nt = {
|
|
1049
|
-
plus: "+",
|
|
1050
|
-
minus: "−",
|
|
1051
|
-
mnplus: "∓",
|
|
1052
|
-
mp: "∓",
|
|
1053
|
-
pm: "±",
|
|
1054
|
-
times: "×",
|
|
1055
|
-
div: "÷",
|
|
1056
|
-
divide: "÷",
|
|
1057
|
-
sdot: "⋅",
|
|
1058
|
-
star: "☆",
|
|
1059
|
-
starf: "★",
|
|
1060
|
-
bigstar: "★",
|
|
1061
|
-
lowast: "∗",
|
|
1062
|
-
ast: "*",
|
|
1063
|
-
midast: "*",
|
|
1064
|
-
compfn: "∘",
|
|
1065
|
-
smallcircle: "∘",
|
|
1066
|
-
bullet: "•",
|
|
1067
|
-
bull: "•",
|
|
1068
|
-
nbsp: "\xA0",
|
|
1069
|
-
hellip: "…",
|
|
1070
|
-
mldr: "…",
|
|
1071
|
-
prime: "′",
|
|
1072
|
-
Prime: "″",
|
|
1073
|
-
tprime: "‴",
|
|
1074
|
-
bprime: "‵",
|
|
1075
|
-
backprime: "‵",
|
|
1076
|
-
minus: "−",
|
|
1077
|
-
minusd: "∸",
|
|
1078
|
-
dotminus: "∸",
|
|
1079
|
-
plusdo: "∔",
|
|
1080
|
-
dotplus: "∔",
|
|
1081
|
-
plusmn: "±",
|
|
1082
|
-
minusplus: "∓",
|
|
1083
|
-
mnplus: "∓",
|
|
1084
|
-
mp: "∓",
|
|
1085
|
-
setminus: "∖",
|
|
1086
|
-
smallsetminus: "∖",
|
|
1087
|
-
Backslash: "∖",
|
|
1088
|
-
setmn: "∖",
|
|
1089
|
-
ssetmn: "∖",
|
|
1090
|
-
lowbar: "_",
|
|
1091
|
-
verbar: "|",
|
|
1092
|
-
vert: "|",
|
|
1093
|
-
VerticalLine: "|",
|
|
1094
|
-
colon: ":",
|
|
1095
|
-
Colon: "∷",
|
|
1096
|
-
Proportion: "∷",
|
|
1097
|
-
ratio: "∶",
|
|
1098
|
-
equals: "=",
|
|
1099
|
-
ne: "≠",
|
|
1100
|
-
nequiv: "≢",
|
|
1101
|
-
equiv: "≡",
|
|
1102
|
-
Congruent: "≡",
|
|
1103
|
-
sim: "∼",
|
|
1104
|
-
thicksim: "∼",
|
|
1105
|
-
thksim: "∼",
|
|
1106
|
-
sime: "≃",
|
|
1107
|
-
simeq: "≃",
|
|
1108
|
-
TildeEqual: "≃",
|
|
1109
|
-
asymp: "≈",
|
|
1110
|
-
approx: "≈",
|
|
1111
|
-
thickapprox: "≈",
|
|
1112
|
-
thkap: "≈",
|
|
1113
|
-
TildeTilde: "≈",
|
|
1114
|
-
ncong: "≇",
|
|
1115
|
-
cong: "≅",
|
|
1116
|
-
TildeFullEqual: "≅",
|
|
1117
|
-
asympeq: "≍",
|
|
1118
|
-
CupCap: "≍",
|
|
1119
|
-
bump: "≎",
|
|
1120
|
-
Bumpeq: "≎",
|
|
1121
|
-
HumpDownHump: "≎",
|
|
1122
|
-
bumpe: "≏",
|
|
1123
|
-
bumpeq: "≏",
|
|
1124
|
-
HumpEqual: "≏",
|
|
1125
|
-
dotminus: "∸",
|
|
1126
|
-
minusd: "∸",
|
|
1127
|
-
plusdo: "∔",
|
|
1128
|
-
dotplus: "∔",
|
|
1129
|
-
le: "≤",
|
|
1130
|
-
LessEqual: "≤",
|
|
1131
|
-
ge: "≥",
|
|
1132
|
-
GreaterEqual: "≥",
|
|
1133
|
-
lesseqgtr: "⋚",
|
|
1134
|
-
lesseqqgtr: "⪋",
|
|
1135
|
-
greater: ">",
|
|
1136
|
-
less: "<"
|
|
1137
|
-
}, rt = {
|
|
1138
|
-
alefsym: "ℵ",
|
|
1139
|
-
aleph: "ℵ",
|
|
1140
|
-
beth: "ℶ",
|
|
1141
|
-
gimel: "ℷ",
|
|
1142
|
-
daleth: "ℸ",
|
|
1143
|
-
forall: "∀",
|
|
1144
|
-
ForAll: "∀",
|
|
1145
|
-
part: "∂",
|
|
1146
|
-
PartialD: "∂",
|
|
1147
|
-
exist: "∃",
|
|
1148
|
-
Exists: "∃",
|
|
1149
|
-
nexist: "∄",
|
|
1150
|
-
nexists: "∄",
|
|
1151
|
-
empty: "∅",
|
|
1152
|
-
emptyset: "∅",
|
|
1153
|
-
emptyv: "∅",
|
|
1154
|
-
varnothing: "∅",
|
|
1155
|
-
nabla: "∇",
|
|
1156
|
-
Del: "∇",
|
|
1157
|
-
isin: "∈",
|
|
1158
|
-
isinv: "∈",
|
|
1159
|
-
in: "∈",
|
|
1160
|
-
Element: "∈",
|
|
1161
|
-
notin: "∉",
|
|
1162
|
-
notinva: "∉",
|
|
1163
|
-
ni: "∋",
|
|
1164
|
-
niv: "∋",
|
|
1165
|
-
SuchThat: "∋",
|
|
1166
|
-
ReverseElement: "∋",
|
|
1167
|
-
notni: "∌",
|
|
1168
|
-
notniva: "∌",
|
|
1169
|
-
prod: "∏",
|
|
1170
|
-
Product: "∏",
|
|
1171
|
-
coprod: "∐",
|
|
1172
|
-
Coproduct: "∐",
|
|
1173
|
-
sum: "∑",
|
|
1174
|
-
Sum: "∑",
|
|
1175
|
-
minus: "−",
|
|
1176
|
-
mp: "∓",
|
|
1177
|
-
plusdo: "∔",
|
|
1178
|
-
dotplus: "∔",
|
|
1179
|
-
setminus: "∖",
|
|
1180
|
-
lowast: "∗",
|
|
1181
|
-
radic: "√",
|
|
1182
|
-
Sqrt: "√",
|
|
1183
|
-
prop: "∝",
|
|
1184
|
-
propto: "∝",
|
|
1185
|
-
Proportional: "∝",
|
|
1186
|
-
varpropto: "∝",
|
|
1187
|
-
infin: "∞",
|
|
1188
|
-
infintie: "⧝",
|
|
1189
|
-
ang: "∠",
|
|
1190
|
-
angle: "∠",
|
|
1191
|
-
angmsd: "∡",
|
|
1192
|
-
measuredangle: "∡",
|
|
1193
|
-
angsph: "∢",
|
|
1194
|
-
mid: "∣",
|
|
1195
|
-
VerticalBar: "∣",
|
|
1196
|
-
nmid: "∤",
|
|
1197
|
-
nsmid: "∤",
|
|
1198
|
-
npar: "∦",
|
|
1199
|
-
parallel: "∥",
|
|
1200
|
-
spar: "∥",
|
|
1201
|
-
nparallel: "∦",
|
|
1202
|
-
nspar: "∦",
|
|
1203
|
-
and: "∧",
|
|
1204
|
-
wedge: "∧",
|
|
1205
|
-
or: "∨",
|
|
1206
|
-
vee: "∨",
|
|
1207
|
-
cap: "∩",
|
|
1208
|
-
cup: "∪",
|
|
1209
|
-
int: "∫",
|
|
1210
|
-
Integral: "∫",
|
|
1211
|
-
conint: "∮",
|
|
1212
|
-
ContourIntegral: "∮",
|
|
1213
|
-
Conint: "∯",
|
|
1214
|
-
DoubleContourIntegral: "∯",
|
|
1215
|
-
Cconint: "∰",
|
|
1216
|
-
there4: "∴",
|
|
1217
|
-
therefore: "∴",
|
|
1218
|
-
Therefore: "∴",
|
|
1219
|
-
becaus: "∵",
|
|
1220
|
-
because: "∵",
|
|
1221
|
-
Because: "∵",
|
|
1222
|
-
ratio: "∶",
|
|
1223
|
-
Proportion: "∷",
|
|
1224
|
-
minusd: "∸",
|
|
1225
|
-
dotminus: "∸",
|
|
1226
|
-
mDDot: "∺",
|
|
1227
|
-
homtht: "∻",
|
|
1228
|
-
sim: "∼",
|
|
1229
|
-
bsimg: "∽",
|
|
1230
|
-
backsim: "∽",
|
|
1231
|
-
ac: "∾",
|
|
1232
|
-
mstpos: "∾",
|
|
1233
|
-
acd: "∿",
|
|
1234
|
-
VerticalTilde: "≀",
|
|
1235
|
-
wr: "≀",
|
|
1236
|
-
wreath: "≀",
|
|
1237
|
-
nsime: "≄",
|
|
1238
|
-
nsimeq: "≄",
|
|
1239
|
-
nsimeq: "≄",
|
|
1240
|
-
ncong: "≇",
|
|
1241
|
-
simne: "≆",
|
|
1242
|
-
ncongdot: "⩭̸",
|
|
1243
|
-
ngsim: "≵",
|
|
1244
|
-
nsim: "≁",
|
|
1245
|
-
napprox: "≉",
|
|
1246
|
-
nap: "≉",
|
|
1247
|
-
ngeq: "≱",
|
|
1248
|
-
nge: "≱",
|
|
1249
|
-
nleq: "≰",
|
|
1250
|
-
nle: "≰",
|
|
1251
|
-
ngtr: "≯",
|
|
1252
|
-
ngt: "≯",
|
|
1253
|
-
nless: "≮",
|
|
1254
|
-
nlt: "≮",
|
|
1255
|
-
nprec: "⊀",
|
|
1256
|
-
npr: "⊀",
|
|
1257
|
-
nsucc: "⊁",
|
|
1258
|
-
nsc: "⊁"
|
|
1259
|
-
}, it = {
|
|
1260
|
-
larr: "←",
|
|
1261
|
-
leftarrow: "←",
|
|
1262
|
-
LeftArrow: "←",
|
|
1263
|
-
uarr: "↑",
|
|
1264
|
-
uparrow: "↑",
|
|
1265
|
-
UpArrow: "↑",
|
|
1266
|
-
rarr: "→",
|
|
1267
|
-
rightarrow: "→",
|
|
1268
|
-
RightArrow: "→",
|
|
1269
|
-
darr: "↓",
|
|
1270
|
-
downarrow: "↓",
|
|
1271
|
-
DownArrow: "↓",
|
|
1272
|
-
harr: "↔",
|
|
1273
|
-
leftrightarrow: "↔",
|
|
1274
|
-
LeftRightArrow: "↔",
|
|
1275
|
-
varr: "↕",
|
|
1276
|
-
updownarrow: "↕",
|
|
1277
|
-
UpDownArrow: "↕",
|
|
1278
|
-
nwarr: "↖",
|
|
1279
|
-
nwarrow: "↖",
|
|
1280
|
-
UpperLeftArrow: "↖",
|
|
1281
|
-
nearr: "↗",
|
|
1282
|
-
nearrow: "↗",
|
|
1283
|
-
UpperRightArrow: "↗",
|
|
1284
|
-
searr: "↘",
|
|
1285
|
-
searrow: "↘",
|
|
1286
|
-
LowerRightArrow: "↘",
|
|
1287
|
-
swarr: "↙",
|
|
1288
|
-
swarrow: "↙",
|
|
1289
|
-
LowerLeftArrow: "↙",
|
|
1290
|
-
lArr: "⇐",
|
|
1291
|
-
Leftarrow: "⇐",
|
|
1292
|
-
uArr: "⇑",
|
|
1293
|
-
Uparrow: "⇑",
|
|
1294
|
-
rArr: "⇒",
|
|
1295
|
-
Rightarrow: "⇒",
|
|
1296
|
-
dArr: "⇓",
|
|
1297
|
-
Downarrow: "⇓",
|
|
1298
|
-
hArr: "⇔",
|
|
1299
|
-
Leftrightarrow: "⇔",
|
|
1300
|
-
iff: "⇔",
|
|
1301
|
-
vArr: "⇕",
|
|
1302
|
-
Updownarrow: "⇕",
|
|
1303
|
-
lAarr: "⇚",
|
|
1304
|
-
Lleftarrow: "⇚",
|
|
1305
|
-
rAarr: "⇛",
|
|
1306
|
-
Rrightarrow: "⇛",
|
|
1307
|
-
lrarr: "⇆",
|
|
1308
|
-
leftrightarrows: "⇆",
|
|
1309
|
-
rlarr: "⇄",
|
|
1310
|
-
rightleftarrows: "⇄",
|
|
1311
|
-
lrhar: "⇋",
|
|
1312
|
-
leftrightharpoons: "⇋",
|
|
1313
|
-
ReverseEquilibrium: "⇋",
|
|
1314
|
-
rlhar: "⇌",
|
|
1315
|
-
rightleftharpoons: "⇌",
|
|
1316
|
-
Equilibrium: "⇌",
|
|
1317
|
-
udarr: "⇅",
|
|
1318
|
-
UpArrowDownArrow: "⇅",
|
|
1319
|
-
duarr: "⇵",
|
|
1320
|
-
DownArrowUpArrow: "⇵",
|
|
1321
|
-
llarr: "⇇",
|
|
1322
|
-
leftleftarrows: "⇇",
|
|
1323
|
-
rrarr: "⇉",
|
|
1324
|
-
rightrightarrows: "⇉",
|
|
1325
|
-
ddarr: "⇊",
|
|
1326
|
-
downdownarrows: "⇊",
|
|
1327
|
-
har: "↽",
|
|
1328
|
-
lhard: "↽",
|
|
1329
|
-
leftharpoondown: "↽",
|
|
1330
|
-
lharu: "↼",
|
|
1331
|
-
leftharpoonup: "↼",
|
|
1332
|
-
rhard: "⇁",
|
|
1333
|
-
rightharpoondown: "⇁",
|
|
1334
|
-
rharu: "⇀",
|
|
1335
|
-
rightharpoonup: "⇀",
|
|
1336
|
-
lsh: "↰",
|
|
1337
|
-
Lsh: "↰",
|
|
1338
|
-
rsh: "↱",
|
|
1339
|
-
Rsh: "↱",
|
|
1340
|
-
ldsh: "↲",
|
|
1341
|
-
rdsh: "↳",
|
|
1342
|
-
hookleftarrow: "↩",
|
|
1343
|
-
hookrightarrow: "↪",
|
|
1344
|
-
mapstoleft: "↤",
|
|
1345
|
-
mapstoup: "↥",
|
|
1346
|
-
map: "↦",
|
|
1347
|
-
mapsto: "↦",
|
|
1348
|
-
mapstodown: "↧",
|
|
1349
|
-
crarr: "↵",
|
|
1350
|
-
nwarrow: "↖",
|
|
1351
|
-
nearrow: "↗",
|
|
1352
|
-
searrow: "↘",
|
|
1353
|
-
swarrow: "↙",
|
|
1354
|
-
nleftarrow: "↚",
|
|
1355
|
-
nleftrightarrow: "↮",
|
|
1356
|
-
nrightarrow: "↛",
|
|
1357
|
-
nrarr: "↛",
|
|
1358
|
-
larrtl: "↢",
|
|
1359
|
-
rarrtl: "↣",
|
|
1360
|
-
leftarrowtail: "↢",
|
|
1361
|
-
rightarrowtail: "↣",
|
|
1362
|
-
twoheadleftarrow: "↞",
|
|
1363
|
-
twoheadrightarrow: "↠",
|
|
1364
|
-
Larr: "↞",
|
|
1365
|
-
Rarr: "↠",
|
|
1366
|
-
larrhk: "↩",
|
|
1367
|
-
rarrhk: "↪",
|
|
1368
|
-
larrlp: "↫",
|
|
1369
|
-
looparrowleft: "↫",
|
|
1370
|
-
rarrlp: "↬",
|
|
1371
|
-
looparrowright: "↬",
|
|
1372
|
-
harrw: "↭",
|
|
1373
|
-
leftrightsquigarrow: "↭",
|
|
1374
|
-
nrarrw: "↝̸",
|
|
1375
|
-
rarrw: "↝",
|
|
1376
|
-
rightsquigarrow: "↝",
|
|
1377
|
-
larrbfs: "⤟",
|
|
1378
|
-
rarrbfs: "⤠",
|
|
1379
|
-
nvHarr: "⤄",
|
|
1380
|
-
nvlArr: "⤂",
|
|
1381
|
-
nvrArr: "⤃",
|
|
1382
|
-
larrfs: "⤝",
|
|
1383
|
-
rarrfs: "⤞",
|
|
1384
|
-
Map: "⤅",
|
|
1385
|
-
larrsim: "⥳",
|
|
1386
|
-
rarrsim: "⥴",
|
|
1387
|
-
harrcir: "⥈",
|
|
1388
|
-
Uarrocir: "⥉",
|
|
1389
|
-
lurdshar: "⥊",
|
|
1390
|
-
ldrdhar: "⥧",
|
|
1391
|
-
ldrushar: "⥋",
|
|
1392
|
-
rdldhar: "⥩",
|
|
1393
|
-
lrhard: "⥭",
|
|
1394
|
-
rlhar: "⇌",
|
|
1395
|
-
uharr: "↾",
|
|
1396
|
-
uharl: "↿",
|
|
1397
|
-
dharr: "⇂",
|
|
1398
|
-
dharl: "⇃",
|
|
1399
|
-
Uarr: "↟",
|
|
1400
|
-
Darr: "↡",
|
|
1401
|
-
zigrarr: "⇝",
|
|
1402
|
-
nwArr: "⇖",
|
|
1403
|
-
neArr: "⇗",
|
|
1404
|
-
seArr: "⇘",
|
|
1405
|
-
swArr: "⇙",
|
|
1406
|
-
nharr: "↮",
|
|
1407
|
-
nhArr: "⇎",
|
|
1408
|
-
nlarr: "↚",
|
|
1409
|
-
nlArr: "⇍",
|
|
1410
|
-
nrarr: "↛",
|
|
1411
|
-
nrArr: "⇏",
|
|
1412
|
-
larrb: "⇤",
|
|
1413
|
-
LeftArrowBar: "⇤",
|
|
1414
|
-
rarrb: "⇥",
|
|
1415
|
-
RightArrowBar: "⇥"
|
|
1416
|
-
}, at = {
|
|
1417
|
-
square: "□",
|
|
1418
|
-
Square: "□",
|
|
1419
|
-
squ: "□",
|
|
1420
|
-
squf: "▪",
|
|
1421
|
-
squarf: "▪",
|
|
1422
|
-
blacksquar: "▪",
|
|
1423
|
-
blacksquare: "▪",
|
|
1424
|
-
FilledVerySmallSquare: "▪",
|
|
1425
|
-
blk34: "▓",
|
|
1426
|
-
blk12: "▒",
|
|
1427
|
-
blk14: "░",
|
|
1428
|
-
block: "█",
|
|
1429
|
-
srect: "▭",
|
|
1430
|
-
rect: "▭",
|
|
1431
|
-
sdot: "⋅",
|
|
1432
|
-
sdotb: "⊡",
|
|
1433
|
-
dotsquare: "⊡",
|
|
1434
|
-
triangle: "▵",
|
|
1435
|
-
tri: "▵",
|
|
1436
|
-
trine: "▵",
|
|
1437
|
-
utri: "▵",
|
|
1438
|
-
triangledown: "▿",
|
|
1439
|
-
dtri: "▿",
|
|
1440
|
-
tridown: "▿",
|
|
1441
|
-
triangleleft: "◃",
|
|
1442
|
-
ltri: "◃",
|
|
1443
|
-
triangleright: "▹",
|
|
1444
|
-
rtri: "▹",
|
|
1445
|
-
blacktriangle: "▴",
|
|
1446
|
-
utrif: "▴",
|
|
1447
|
-
blacktriangledown: "▾",
|
|
1448
|
-
dtrif: "▾",
|
|
1449
|
-
blacktriangleleft: "◂",
|
|
1450
|
-
ltrif: "◂",
|
|
1451
|
-
blacktriangleright: "▸",
|
|
1452
|
-
rtrif: "▸",
|
|
1453
|
-
loz: "◊",
|
|
1454
|
-
lozenge: "◊",
|
|
1455
|
-
blacklozenge: "⧫",
|
|
1456
|
-
lozf: "⧫",
|
|
1457
|
-
bigcirc: "◯",
|
|
1458
|
-
xcirc: "◯",
|
|
1459
|
-
circ: "ˆ",
|
|
1460
|
-
Circle: "○",
|
|
1461
|
-
cir: "○",
|
|
1462
|
-
o: "○",
|
|
1463
|
-
bullet: "•",
|
|
1464
|
-
bull: "•",
|
|
1465
|
-
hellip: "…",
|
|
1466
|
-
mldr: "…",
|
|
1467
|
-
nldr: "‥",
|
|
1468
|
-
boxh: "─",
|
|
1469
|
-
HorizontalLine: "─",
|
|
1470
|
-
boxv: "│",
|
|
1471
|
-
boxdr: "┌",
|
|
1472
|
-
boxdl: "┐",
|
|
1473
|
-
boxur: "└",
|
|
1474
|
-
boxul: "┘",
|
|
1475
|
-
boxvr: "├",
|
|
1476
|
-
boxvl: "┤",
|
|
1477
|
-
boxhd: "┬",
|
|
1478
|
-
boxhu: "┴",
|
|
1479
|
-
boxvh: "┼",
|
|
1480
|
-
boxH: "═",
|
|
1481
|
-
boxV: "║",
|
|
1482
|
-
boxdR: "╒",
|
|
1483
|
-
boxDr: "╓",
|
|
1484
|
-
boxDR: "╔",
|
|
1485
|
-
boxDl: "╕",
|
|
1486
|
-
boxdL: "╖",
|
|
1487
|
-
boxDL: "╗",
|
|
1488
|
-
boxuR: "╘",
|
|
1489
|
-
boxUr: "╙",
|
|
1490
|
-
boxUR: "╚",
|
|
1491
|
-
boxUl: "╜",
|
|
1492
|
-
boxuL: "╛",
|
|
1493
|
-
boxUL: "╝",
|
|
1494
|
-
boxvR: "╞",
|
|
1495
|
-
boxVr: "╟",
|
|
1496
|
-
boxVR: "╠",
|
|
1497
|
-
boxVl: "╢",
|
|
1498
|
-
boxvL: "╡",
|
|
1499
|
-
boxVL: "╣",
|
|
1500
|
-
boxHd: "╤",
|
|
1501
|
-
boxhD: "╥",
|
|
1502
|
-
boxHD: "╦",
|
|
1503
|
-
boxHu: "╧",
|
|
1504
|
-
boxhU: "╨",
|
|
1505
|
-
boxHU: "╩",
|
|
1506
|
-
boxvH: "╪",
|
|
1507
|
-
boxVh: "╫",
|
|
1508
|
-
boxVH: "╬"
|
|
1509
|
-
}, ot = {
|
|
1510
|
-
excl: "!",
|
|
1511
|
-
iexcl: "¡",
|
|
1512
|
-
brvbar: "¦",
|
|
1513
|
-
sect: "§",
|
|
1514
|
-
uml: "¨",
|
|
1515
|
-
copy: "©",
|
|
1516
|
-
ordf: "ª",
|
|
1517
|
-
laquo: "«",
|
|
1518
|
-
not: "¬",
|
|
1519
|
-
shy: "",
|
|
1520
|
-
reg: "®",
|
|
1521
|
-
macr: "¯",
|
|
1522
|
-
deg: "°",
|
|
1523
|
-
plusmn: "±",
|
|
1524
|
-
sup2: "²",
|
|
1525
|
-
sup3: "³",
|
|
1526
|
-
acute: "´",
|
|
1527
|
-
micro: "µ",
|
|
1528
|
-
para: "¶",
|
|
1529
|
-
middot: "·",
|
|
1530
|
-
cedil: "¸",
|
|
1531
|
-
sup1: "¹",
|
|
1532
|
-
ordm: "º",
|
|
1533
|
-
raquo: "»",
|
|
1534
|
-
frac14: "¼",
|
|
1535
|
-
frac12: "½",
|
|
1536
|
-
frac34: "¾",
|
|
1537
|
-
iquest: "¿",
|
|
1538
|
-
nbsp: "\xA0",
|
|
1539
|
-
comma: ",",
|
|
1540
|
-
period: ".",
|
|
1541
|
-
colon: ":",
|
|
1542
|
-
semi: ";",
|
|
1543
|
-
vert: "|",
|
|
1544
|
-
Verbar: "‖",
|
|
1545
|
-
verbar: "|",
|
|
1546
|
-
dblac: "˝",
|
|
1547
|
-
circ: "ˆ",
|
|
1548
|
-
caron: "ˇ",
|
|
1549
|
-
breve: "˘",
|
|
1550
|
-
dot: "˙",
|
|
1551
|
-
ring: "˚",
|
|
1552
|
-
ogon: "˛",
|
|
1553
|
-
tilde: "˜",
|
|
1554
|
-
DiacriticalGrave: "`",
|
|
1555
|
-
DiacriticalAcute: "´",
|
|
1556
|
-
DiacriticalTilde: "˜",
|
|
1557
|
-
DiacriticalDot: "˙",
|
|
1558
|
-
DiacriticalDoubleAcute: "˝",
|
|
1559
|
-
grave: "`",
|
|
1560
|
-
acute: "´"
|
|
1561
|
-
}, st = {
|
|
623
|
+
//#region ../../node_modules/.pnpm/@nodable+entities@3.0.0/node_modules/@nodable/entities/src/entities.js
|
|
624
|
+
var $e = {
|
|
1562
625
|
cent: "¢",
|
|
1563
626
|
pound: "£",
|
|
1564
627
|
curren: "¤",
|
|
1565
628
|
yen: "¥",
|
|
1566
629
|
euro: "€",
|
|
1567
630
|
dollar: "$",
|
|
1568
|
-
euro: "€",
|
|
1569
631
|
fnof: "ƒ",
|
|
1570
632
|
inr: "₹",
|
|
1571
633
|
af: "؋",
|
|
@@ -1575,113 +637,13 @@ var Ze = {
|
|
|
1575
637
|
won: "₩",
|
|
1576
638
|
yuan: "¥",
|
|
1577
639
|
cedil: "¸"
|
|
1578
|
-
},
|
|
1579
|
-
frac12: "½",
|
|
1580
|
-
half: "½",
|
|
1581
|
-
frac13: "⅓",
|
|
1582
|
-
frac14: "¼",
|
|
1583
|
-
frac15: "⅕",
|
|
1584
|
-
frac16: "⅙",
|
|
1585
|
-
frac18: "⅛",
|
|
1586
|
-
frac23: "⅔",
|
|
1587
|
-
frac25: "⅖",
|
|
1588
|
-
frac34: "¾",
|
|
1589
|
-
frac35: "⅗",
|
|
1590
|
-
frac38: "⅜",
|
|
1591
|
-
frac45: "⅘",
|
|
1592
|
-
frac56: "⅚",
|
|
1593
|
-
frac58: "⅝",
|
|
1594
|
-
frac78: "⅞",
|
|
1595
|
-
frasl: "⁄"
|
|
1596
|
-
}, lt = {
|
|
1597
|
-
trade: "™",
|
|
1598
|
-
TRADE: "™",
|
|
1599
|
-
telrec: "⌕",
|
|
1600
|
-
target: "⌖",
|
|
1601
|
-
ulcorn: "⌜",
|
|
1602
|
-
ulcorner: "⌜",
|
|
1603
|
-
urcorn: "⌝",
|
|
1604
|
-
urcorner: "⌝",
|
|
1605
|
-
dlcorn: "⌞",
|
|
1606
|
-
llcorner: "⌞",
|
|
1607
|
-
drcorn: "⌟",
|
|
1608
|
-
lrcorner: "⌟",
|
|
1609
|
-
intercal: "⊺",
|
|
1610
|
-
intcal: "⊺",
|
|
1611
|
-
oplus: "⊕",
|
|
1612
|
-
CirclePlus: "⊕",
|
|
1613
|
-
ominus: "⊖",
|
|
1614
|
-
CircleMinus: "⊖",
|
|
1615
|
-
otimes: "⊗",
|
|
1616
|
-
CircleTimes: "⊗",
|
|
1617
|
-
osol: "⊘",
|
|
1618
|
-
odot: "⊙",
|
|
1619
|
-
CircleDot: "⊙",
|
|
1620
|
-
oast: "⊛",
|
|
1621
|
-
circledast: "⊛",
|
|
1622
|
-
odash: "⊝",
|
|
1623
|
-
circleddash: "⊝",
|
|
1624
|
-
ocirc: "⊚",
|
|
1625
|
-
circledcirc: "⊚",
|
|
1626
|
-
boxplus: "⊞",
|
|
1627
|
-
plusb: "⊞",
|
|
1628
|
-
boxminus: "⊟",
|
|
1629
|
-
minusb: "⊟",
|
|
1630
|
-
boxtimes: "⊠",
|
|
1631
|
-
timesb: "⊠",
|
|
1632
|
-
boxdot: "⊡",
|
|
1633
|
-
sdotb: "⊡",
|
|
1634
|
-
veebar: "⊻",
|
|
1635
|
-
vee: "∨",
|
|
1636
|
-
barvee: "⊽",
|
|
1637
|
-
and: "∧",
|
|
1638
|
-
wedge: "∧",
|
|
1639
|
-
Cap: "⋒",
|
|
1640
|
-
Cup: "⋓",
|
|
1641
|
-
Fork: "⋔",
|
|
1642
|
-
pitchfork: "⋔",
|
|
1643
|
-
epar: "⋕",
|
|
1644
|
-
ltlarr: "⥶",
|
|
1645
|
-
nvap: "≍⃒",
|
|
1646
|
-
nvsim: "∼⃒",
|
|
1647
|
-
nvge: "≥⃒",
|
|
1648
|
-
nvle: "≤⃒",
|
|
1649
|
-
nvlt: "<⃒",
|
|
1650
|
-
nvgt: ">⃒",
|
|
1651
|
-
nvltrie: "⊴⃒",
|
|
1652
|
-
nvrtrie: "⊵⃒",
|
|
1653
|
-
Vdash: "⊩",
|
|
1654
|
-
dashv: "⊣",
|
|
1655
|
-
vDash: "⊨",
|
|
1656
|
-
Vdash: "⊩",
|
|
1657
|
-
Vvdash: "⊪",
|
|
1658
|
-
nvdash: "⊬",
|
|
1659
|
-
nvDash: "⊭",
|
|
1660
|
-
nVdash: "⊮",
|
|
1661
|
-
nVDash: "⊯"
|
|
1662
|
-
};
|
|
1663
|
-
({
|
|
1664
|
-
...Ze,
|
|
1665
|
-
...Qe,
|
|
1666
|
-
...$e,
|
|
1667
|
-
...et,
|
|
1668
|
-
...tt,
|
|
1669
|
-
...nt,
|
|
1670
|
-
...rt,
|
|
1671
|
-
...it,
|
|
1672
|
-
...at,
|
|
1673
|
-
...ot,
|
|
1674
|
-
...st,
|
|
1675
|
-
...ct,
|
|
1676
|
-
...lt
|
|
1677
|
-
});
|
|
1678
|
-
var ut = {
|
|
640
|
+
}, et = {
|
|
1679
641
|
amp: "&",
|
|
1680
642
|
apos: "'",
|
|
1681
643
|
gt: ">",
|
|
1682
644
|
lt: "<",
|
|
1683
645
|
quot: "\""
|
|
1684
|
-
},
|
|
646
|
+
}, tt = {
|
|
1685
647
|
nbsp: "\xA0",
|
|
1686
648
|
copy: "©",
|
|
1687
649
|
reg: "®",
|
|
@@ -1702,13 +664,17 @@ var ut = {
|
|
|
1702
664
|
frac12: "½",
|
|
1703
665
|
frac14: "¼",
|
|
1704
666
|
frac34: "¾"
|
|
1705
|
-
},
|
|
1706
|
-
|
|
667
|
+
}, R = Object.freeze({
|
|
668
|
+
ALLOW: "allow",
|
|
669
|
+
BLOCK: "block",
|
|
670
|
+
THROW: "throw"
|
|
671
|
+
}), nt = /* @__PURE__ */ new Set("!?\\\\/[]$%{}^&*()<>|+");
|
|
672
|
+
function rt(e) {
|
|
1707
673
|
if (e[0] === "#") throw Error(`[EntityReplacer] Invalid character '#' in entity name: "${e}"`);
|
|
1708
|
-
for (let t of e) if (
|
|
674
|
+
for (let t of e) if (nt.has(t)) throw Error(`[EntityReplacer] Invalid character '${t}' in entity name: "${e}"`);
|
|
1709
675
|
return e;
|
|
1710
676
|
}
|
|
1711
|
-
function
|
|
677
|
+
function z(...e) {
|
|
1712
678
|
let t = Object.create(null);
|
|
1713
679
|
for (let n of e) if (n) for (let e of Object.keys(n)) {
|
|
1714
680
|
let r = n[e];
|
|
@@ -1720,21 +686,21 @@ function B(...e) {
|
|
|
1720
686
|
}
|
|
1721
687
|
return t;
|
|
1722
688
|
}
|
|
1723
|
-
var
|
|
1724
|
-
function
|
|
1725
|
-
return !e || e ===
|
|
689
|
+
var B = "external", V = "base", H = "all";
|
|
690
|
+
function it(e) {
|
|
691
|
+
return !e || e === B ? /* @__PURE__ */ new Set([B]) : e === H ? /* @__PURE__ */ new Set([H]) : e === V ? /* @__PURE__ */ new Set([V]) : Array.isArray(e) ? new Set(e) : /* @__PURE__ */ new Set([B]);
|
|
1726
692
|
}
|
|
1727
693
|
var U = Object.freeze({
|
|
1728
694
|
allow: 0,
|
|
1729
695
|
leave: 1,
|
|
1730
696
|
remove: 2,
|
|
1731
697
|
throw: 3
|
|
1732
|
-
}),
|
|
698
|
+
}), at = /* @__PURE__ */ new Set([
|
|
1733
699
|
9,
|
|
1734
700
|
10,
|
|
1735
701
|
13
|
|
1736
702
|
]);
|
|
1737
|
-
function
|
|
703
|
+
function ot(e) {
|
|
1738
704
|
if (!e) return {
|
|
1739
705
|
xmlVersion: 1,
|
|
1740
706
|
onLevel: U.allow,
|
|
@@ -1747,21 +713,40 @@ function _t(e) {
|
|
|
1747
713
|
nullLevel: Math.max(r, U.remove)
|
|
1748
714
|
};
|
|
1749
715
|
}
|
|
1750
|
-
var
|
|
716
|
+
var st = class {
|
|
1751
717
|
constructor(e = {}) {
|
|
1752
|
-
this._limit = e.limit || {}, this._maxTotalExpansions = this._limit.maxTotalExpansions || 0, this._maxExpandedLength = this._limit.maxExpandedLength || 0, this._postCheck = typeof e.postCheck == "function" ? e.postCheck : (e) => e, this._limitTiers =
|
|
1753
|
-
let t =
|
|
1754
|
-
this._ncrXmlVersion = t.xmlVersion, this._ncrOnLevel = t.onLevel, this._ncrNullLevel = t.nullLevel;
|
|
718
|
+
this._limit = e.limit || {}, this._maxTotalExpansions = this._limit.maxTotalExpansions || 0, this._maxExpandedLength = this._limit.maxExpandedLength || 0, this._postCheck = typeof e.postCheck == "function" ? e.postCheck : (e) => e, this._limitTiers = it(this._limit.applyLimitsTo ?? B), this._numericAllowed = e.numericAllowed ?? !0, this._baseMap = z(et, e.namedEntities || null), this._externalMap = Object.create(null), this._inputMap = Object.create(null), this._totalExpansions = 0, this._expandedLength = 0, this._removeSet = new Set(e.remove && Array.isArray(e.remove) ? e.remove : []), this._leaveSet = new Set(e.leave && Array.isArray(e.leave) ? e.leave : []);
|
|
719
|
+
let t = ot(e.ncr);
|
|
720
|
+
this._ncrXmlVersion = t.xmlVersion, this._ncrOnLevel = t.onLevel, this._ncrNullLevel = t.nullLevel, this._onExternalEntity = typeof e.onExternalEntity == "function" ? e.onExternalEntity : null, this._onInputEntity = typeof e.onInputEntity == "function" ? e.onInputEntity : null;
|
|
721
|
+
}
|
|
722
|
+
_applyRegistrationHook(e, t, n, r) {
|
|
723
|
+
if (!e) return !0;
|
|
724
|
+
let i = e(t, n);
|
|
725
|
+
if (i === R.BLOCK) return !1;
|
|
726
|
+
if (i === R.THROW) throw Error(`[EntityDecoder] Registration of ${r} entity "&${t};" was rejected by hook`);
|
|
727
|
+
return !0;
|
|
1755
728
|
}
|
|
1756
729
|
setExternalEntities(e) {
|
|
1757
|
-
if (e) for (let t of Object.keys(e))
|
|
1758
|
-
this.
|
|
730
|
+
if (e) for (let t of Object.keys(e)) rt(t);
|
|
731
|
+
if (!this._onExternalEntity) {
|
|
732
|
+
this._externalMap = z(e);
|
|
733
|
+
return;
|
|
734
|
+
}
|
|
735
|
+
let t = z(e), n = Object.create(null);
|
|
736
|
+
for (let [e, r] of Object.entries(t)) this._applyRegistrationHook(this._onExternalEntity, e, r, "external") && (n[e] = r);
|
|
737
|
+
this._externalMap = n;
|
|
1759
738
|
}
|
|
1760
739
|
addExternalEntity(e, t) {
|
|
1761
|
-
|
|
740
|
+
rt(e), typeof t == "string" && t.indexOf("&") === -1 && this._applyRegistrationHook(this._onExternalEntity, e, t, "external") && (this._externalMap[e] = t);
|
|
1762
741
|
}
|
|
1763
742
|
addInputEntities(e) {
|
|
1764
|
-
this._totalExpansions = 0, this._expandedLength = 0, this.
|
|
743
|
+
if (this._totalExpansions = 0, this._expandedLength = 0, !this._onInputEntity) {
|
|
744
|
+
this._inputMap = z(e);
|
|
745
|
+
return;
|
|
746
|
+
}
|
|
747
|
+
let t = z(e), n = Object.create(null);
|
|
748
|
+
for (let [e, r] of Object.entries(t)) this._applyRegistrationHook(this._onInputEntity, e, r, "input") && (n[e] = r);
|
|
749
|
+
this._inputMap = n;
|
|
1765
750
|
}
|
|
1766
751
|
reset() {
|
|
1767
752
|
return this._inputMap = Object.create(null), this._totalExpansions = 0, this._expandedLength = 0, this;
|
|
@@ -1770,7 +755,7 @@ var vt = class {
|
|
|
1770
755
|
this._ncrXmlVersion = e === 1.1 ? 1.1 : 1;
|
|
1771
756
|
}
|
|
1772
757
|
decode(e) {
|
|
1773
|
-
if (typeof e != "string" || e.length === 0) return e;
|
|
758
|
+
if (typeof e != "string" || e.length === 0 || e.indexOf("&") === -1) return e;
|
|
1774
759
|
let t = e, n = [], r = e.length, i = 0, a = 0, o = this._maxTotalExpansions > 0, s = this._maxExpandedLength > 0, c = o || s;
|
|
1775
760
|
for (; a < r;) {
|
|
1776
761
|
if (e.charCodeAt(a) !== 38) {
|
|
@@ -1789,7 +774,7 @@ var vt = class {
|
|
|
1789
774
|
continue;
|
|
1790
775
|
}
|
|
1791
776
|
let u, d;
|
|
1792
|
-
if (this._removeSet.has(l)) u = "", d === void 0 && (d =
|
|
777
|
+
if (this._removeSet.has(l)) u = "", d === void 0 && (d = B);
|
|
1793
778
|
else if (this._leaveSet.has(l)) {
|
|
1794
779
|
a++;
|
|
1795
780
|
continue;
|
|
@@ -1799,7 +784,7 @@ var vt = class {
|
|
|
1799
784
|
a++;
|
|
1800
785
|
continue;
|
|
1801
786
|
}
|
|
1802
|
-
u = e, d =
|
|
787
|
+
u = e, d = V;
|
|
1803
788
|
} else {
|
|
1804
789
|
let e = this._resolveName(l);
|
|
1805
790
|
u = e?.value, d = e?.tier;
|
|
@@ -1821,24 +806,24 @@ var vt = class {
|
|
|
1821
806
|
return this._postCheck(l, t);
|
|
1822
807
|
}
|
|
1823
808
|
_tierCounts(e) {
|
|
1824
|
-
return this._limitTiers.has(
|
|
809
|
+
return this._limitTiers.has(H) ? !0 : this._limitTiers.has(e);
|
|
1825
810
|
}
|
|
1826
811
|
_resolveName(e) {
|
|
1827
812
|
if (e in this._inputMap) return {
|
|
1828
813
|
value: this._inputMap[e],
|
|
1829
|
-
tier:
|
|
814
|
+
tier: B
|
|
1830
815
|
};
|
|
1831
816
|
if (e in this._externalMap) return {
|
|
1832
817
|
value: this._externalMap[e],
|
|
1833
|
-
tier:
|
|
818
|
+
tier: B
|
|
1834
819
|
};
|
|
1835
820
|
if (e in this._baseMap) return {
|
|
1836
821
|
value: this._baseMap[e],
|
|
1837
|
-
tier:
|
|
822
|
+
tier: V
|
|
1838
823
|
};
|
|
1839
824
|
}
|
|
1840
825
|
_classifyNCR(e) {
|
|
1841
|
-
return e === 0 ? this._ncrNullLevel : e >= 55296 && e <= 57343 || this._ncrXmlVersion === 1 && e >= 1 && e <= 31 && !
|
|
826
|
+
return e === 0 ? this._ncrNullLevel : e >= 55296 && e <= 57343 || this._ncrXmlVersion === 1 && e >= 1 && e <= 31 && !at.has(e) ? U.remove : -1;
|
|
1842
827
|
}
|
|
1843
828
|
_applyNCRAction(e, t, n) {
|
|
1844
829
|
switch (e) {
|
|
@@ -1857,7 +842,7 @@ var vt = class {
|
|
|
1857
842
|
let i = r === -1 ? this._ncrOnLevel : Math.max(this._ncrOnLevel, r);
|
|
1858
843
|
return this._applyNCRAction(i, e, n);
|
|
1859
844
|
}
|
|
1860
|
-
},
|
|
845
|
+
}, ct = (e) => P.includes(e) ? "__" + e : e, lt = {
|
|
1861
846
|
preserveOrder: !1,
|
|
1862
847
|
attributeNamePrefix: "@_",
|
|
1863
848
|
attributesGroupName: !1,
|
|
@@ -1872,7 +857,8 @@ var vt = class {
|
|
|
1872
857
|
numberParseOptions: {
|
|
1873
858
|
hex: !0,
|
|
1874
859
|
leadingZeros: !0,
|
|
1875
|
-
eNotation: !0
|
|
860
|
+
eNotation: !0,
|
|
861
|
+
unicode: !1
|
|
1876
862
|
},
|
|
1877
863
|
tagValueProcessor: function(e, t) {
|
|
1878
864
|
return t;
|
|
@@ -1899,14 +885,14 @@ var vt = class {
|
|
|
1899
885
|
maxNestedTags: 100,
|
|
1900
886
|
strictReservedNames: !0,
|
|
1901
887
|
jPath: !0,
|
|
1902
|
-
onDangerousProperty:
|
|
888
|
+
onDangerousProperty: ct
|
|
1903
889
|
};
|
|
1904
|
-
function
|
|
890
|
+
function ut(e, t) {
|
|
1905
891
|
if (typeof e != "string") return;
|
|
1906
892
|
let n = e.toLowerCase();
|
|
1907
|
-
if (
|
|
893
|
+
if (P.some((e) => n === e.toLowerCase()) || Re.some((e) => n === e.toLowerCase())) throw Error(`[SECURITY] Invalid ${t}: "${e}" is a reserved JavaScript keyword that could cause prototype pollution`);
|
|
1908
894
|
}
|
|
1909
|
-
function
|
|
895
|
+
function dt(e, t) {
|
|
1910
896
|
return typeof e == "boolean" ? {
|
|
1911
897
|
enabled: e,
|
|
1912
898
|
maxEntitySize: 1e4,
|
|
@@ -1927,10 +913,10 @@ function St(e, t) {
|
|
|
1927
913
|
allowedTags: e.allowedTags ?? null,
|
|
1928
914
|
tagFilter: e.tagFilter ?? null,
|
|
1929
915
|
appliesTo: e.appliesTo ?? "all"
|
|
1930
|
-
} :
|
|
916
|
+
} : dt(!0);
|
|
1931
917
|
}
|
|
1932
|
-
var
|
|
1933
|
-
let t = Object.assign({},
|
|
918
|
+
var ft = function(e) {
|
|
919
|
+
let t = Object.assign({}, lt, e), n = [
|
|
1934
920
|
{
|
|
1935
921
|
value: t.attributeNamePrefix,
|
|
1936
922
|
name: "attributeNamePrefix"
|
|
@@ -1952,9 +938,9 @@ var Ct = function(e) {
|
|
|
1952
938
|
name: "commentPropName"
|
|
1953
939
|
}
|
|
1954
940
|
];
|
|
1955
|
-
for (let { value: e, name: t } of n) e &&
|
|
1956
|
-
return t.onDangerousProperty === null && (t.onDangerousProperty =
|
|
1957
|
-
},
|
|
941
|
+
for (let { value: e, name: t } of n) e && ut(e, t);
|
|
942
|
+
return t.onDangerousProperty === null && (t.onDangerousProperty = ct), t.processEntities = dt(t.processEntities, t.htmlEntities), t.unpairedTagsSet = new Set(t.unpairedTags), t.stopNodes && Array.isArray(t.stopNodes) && (t.stopNodes = t.stopNodes.map((e) => typeof e == "string" && e.startsWith("*.") ? ".." + e.substring(2) : e)), t;
|
|
943
|
+
}, pt = typeof Symbol == "function" ? Symbol("XML Node Metadata") : "@@xmlMetadata", W = class {
|
|
1958
944
|
constructor(e) {
|
|
1959
945
|
this.tagname = e, this.child = [], this[":@"] = Object.create(null);
|
|
1960
946
|
}
|
|
@@ -1965,12 +951,12 @@ var Ct = function(e) {
|
|
|
1965
951
|
e.tagname === "__proto__" && (e.tagname = "#__proto__"), e[":@"] && Object.keys(e[":@"]).length > 0 ? this.child.push({
|
|
1966
952
|
[e.tagname]: e.child,
|
|
1967
953
|
":@": e[":@"]
|
|
1968
|
-
}) : this.child.push({ [e.tagname]: e.child }), t !== void 0 && (this.child[this.child.length - 1][
|
|
954
|
+
}) : this.child.push({ [e.tagname]: e.child }), t !== void 0 && (this.child[this.child.length - 1][pt] = { startIndex: t });
|
|
1969
955
|
}
|
|
1970
956
|
static getMetaDataSymbol() {
|
|
1971
|
-
return
|
|
957
|
+
return pt;
|
|
1972
958
|
}
|
|
1973
|
-
},
|
|
959
|
+
}, mt = ":A-Za-z_À-ÖØ-öø-˿Ͱ-ͽͿ-҆҈--⁰-Ⰰ-、-豈-﷏ﷰ-�", ht = ":A-Za-z_À-ÖØ-öø-˿Ͱ-ͽͿ-҆҈--⁰-Ⰰ-、-豈-﷏ﷰ-�\\-\\.\\d·̀-ͯ‿-⁀", gt = ":A-Za-z_À-˿Ͱ-ͽͿ-҆҈--⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-", _t = ":A-Za-z_À-˿Ͱ-ͽͿ-҆҈--⁰-Ⰰ-、-豈-﷏ﷰ-�𐀀-\\-\\.\\d·̀-ͯ҇‿-⁀", G = (e, t, n = "") => {
|
|
1974
960
|
let r = `[${e.replace(":", "")}][${t.replace(":", "")}]*`;
|
|
1975
961
|
return {
|
|
1976
962
|
name: RegExp(`^[${e}][${t}]*$`, n),
|
|
@@ -1979,7 +965,24 @@ var Ct = function(e) {
|
|
|
1979
965
|
nmToken: RegExp(`^[${t}]+$`, n),
|
|
1980
966
|
nmTokens: RegExp(`^[${t}]+(?:\\s+[${t}]+)*$`, n)
|
|
1981
967
|
};
|
|
1982
|
-
},
|
|
968
|
+
}, vt = G(mt, ht), yt = G(gt, _t, "u"), bt = G(":A-Za-z_", ":A-Za-z_\\-\\.\\d"), xt = (e = "1.0", t = !1) => t ? bt : e === "1.1" ? yt : vt, St = (e, { xmlVersion: t = "1.0", asciiOnly: n = !1 } = {}) => xt(t, n).qName.test(e), Ct = [
|
|
969
|
+
"name",
|
|
970
|
+
"ncName",
|
|
971
|
+
"qName",
|
|
972
|
+
"nmToken",
|
|
973
|
+
"nmTokens"
|
|
974
|
+
], wt = (e, { xmlVersion: t = "1.0", asciiOnly: n = !1, maxCacheSize: r = 2048 } = {}) => {
|
|
975
|
+
if (!Ct.includes(e)) throw TypeError(`Unknown production "${e}". Must be one of: ${Ct.join(", ")}`);
|
|
976
|
+
let i = xt(t, n)[e], a = /* @__PURE__ */ new Map(), o = (e) => {
|
|
977
|
+
let t = a.get(e);
|
|
978
|
+
if (t !== void 0) return t;
|
|
979
|
+
let n = i.test(e);
|
|
980
|
+
return a.size < r && a.set(e, n), n;
|
|
981
|
+
};
|
|
982
|
+
return o.reset = () => {
|
|
983
|
+
a = /* @__PURE__ */ new Map();
|
|
984
|
+
}, o;
|
|
985
|
+
}, Tt = class {
|
|
1983
986
|
constructor(e, t) {
|
|
1984
987
|
this.suppressValidationErr = !e, this.options = e, this.xmlVersion = t || 1;
|
|
1985
988
|
}
|
|
@@ -2071,7 +1074,7 @@ var Ct = function(e) {
|
|
|
2071
1074
|
let n = t;
|
|
2072
1075
|
for (; t < e.length && !/\s/.test(e[t]);) t++;
|
|
2073
1076
|
let r = e.substring(n, t);
|
|
2074
|
-
if (!this.suppressValidationErr && !
|
|
1077
|
+
if (!this.suppressValidationErr && !St(r, { xmlVersion: this.xmlVersion })) throw Error(`Invalid element name: "${r}"`);
|
|
2075
1078
|
t = K(e, t);
|
|
2076
1079
|
let i = "";
|
|
2077
1080
|
if (e[t] === "E" && q(e, "MPTY", t)) t += 4;
|
|
@@ -2144,11 +1147,157 @@ function q(e, t, n) {
|
|
|
2144
1147
|
return !0;
|
|
2145
1148
|
}
|
|
2146
1149
|
function J(e, t) {
|
|
2147
|
-
if (
|
|
1150
|
+
if (St(e, { xmlVersion: t })) return e;
|
|
2148
1151
|
throw Error(`Invalid entity name ${e}`);
|
|
2149
1152
|
}
|
|
2150
1153
|
//#endregion
|
|
2151
|
-
//#region ../../node_modules/.pnpm/
|
|
1154
|
+
//#region ../../node_modules/.pnpm/anynum@1.0.1/node_modules/anynum/digitTable.js
|
|
1155
|
+
var Et = [
|
|
1156
|
+
48,
|
|
1157
|
+
1632,
|
|
1158
|
+
1776,
|
|
1159
|
+
2406,
|
|
1160
|
+
2534,
|
|
1161
|
+
2662,
|
|
1162
|
+
2790,
|
|
1163
|
+
2918,
|
|
1164
|
+
3046,
|
|
1165
|
+
3174,
|
|
1166
|
+
3302,
|
|
1167
|
+
3430,
|
|
1168
|
+
3558,
|
|
1169
|
+
3664,
|
|
1170
|
+
3792,
|
|
1171
|
+
3872,
|
|
1172
|
+
4160,
|
|
1173
|
+
4240,
|
|
1174
|
+
6112,
|
|
1175
|
+
6160,
|
|
1176
|
+
6470,
|
|
1177
|
+
6608,
|
|
1178
|
+
6784,
|
|
1179
|
+
6800,
|
|
1180
|
+
6992,
|
|
1181
|
+
7088,
|
|
1182
|
+
7232,
|
|
1183
|
+
7248,
|
|
1184
|
+
65296,
|
|
1185
|
+
120782,
|
|
1186
|
+
120792,
|
|
1187
|
+
120802,
|
|
1188
|
+
120812,
|
|
1189
|
+
120822,
|
|
1190
|
+
66720,
|
|
1191
|
+
68912,
|
|
1192
|
+
69734,
|
|
1193
|
+
69872,
|
|
1194
|
+
69942,
|
|
1195
|
+
70096,
|
|
1196
|
+
70384,
|
|
1197
|
+
70736,
|
|
1198
|
+
70864,
|
|
1199
|
+
71248,
|
|
1200
|
+
71360,
|
|
1201
|
+
71472,
|
|
1202
|
+
71904,
|
|
1203
|
+
72016,
|
|
1204
|
+
72688,
|
|
1205
|
+
72784,
|
|
1206
|
+
73040,
|
|
1207
|
+
73120,
|
|
1208
|
+
73552,
|
|
1209
|
+
92768,
|
|
1210
|
+
92864,
|
|
1211
|
+
93008,
|
|
1212
|
+
123200,
|
|
1213
|
+
123632,
|
|
1214
|
+
124144,
|
|
1215
|
+
125264,
|
|
1216
|
+
130032
|
|
1217
|
+
], Y = /* @__PURE__ */ new Map(), Dt = 65535, Ot = 1632, kt = (/* @__PURE__ */ new Uint8Array(63904)).fill(255);
|
|
1218
|
+
for (let e of Et) for (let t = 0; t < 10; t++) {
|
|
1219
|
+
let n = e + t;
|
|
1220
|
+
n <= Dt ? kt[n - Ot] = t : Y.set(n, t);
|
|
1221
|
+
}
|
|
1222
|
+
//#endregion
|
|
1223
|
+
//#region ../../node_modules/.pnpm/anynum@1.0.1/node_modules/anynum/anynum.js
|
|
1224
|
+
var At = 48, jt = 57, Mt = 45, X = /* @__PURE__ */ new Set([
|
|
1225
|
+
8722,
|
|
1226
|
+
65293,
|
|
1227
|
+
65123
|
|
1228
|
+
]);
|
|
1229
|
+
function Nt(e) {
|
|
1230
|
+
if (typeof e != "string") return e;
|
|
1231
|
+
let t = e.length;
|
|
1232
|
+
if (t === 0) return e;
|
|
1233
|
+
let n = -1;
|
|
1234
|
+
for (let r = 0; r < t; r++) {
|
|
1235
|
+
let i = e.charCodeAt(r);
|
|
1236
|
+
if (!(i >= At && i <= jt || i === Mt)) {
|
|
1237
|
+
if (i < 1632) {
|
|
1238
|
+
if (X.has(i)) {
|
|
1239
|
+
n = r;
|
|
1240
|
+
break;
|
|
1241
|
+
}
|
|
1242
|
+
continue;
|
|
1243
|
+
}
|
|
1244
|
+
if (i >= 55296 && i <= 56319) {
|
|
1245
|
+
if (r + 1 < t) {
|
|
1246
|
+
let t = e.charCodeAt(r + 1);
|
|
1247
|
+
if (t >= 56320 && t <= 57343) {
|
|
1248
|
+
let e = 65536 + (i - 55296 << 10) + (t - 56320);
|
|
1249
|
+
if (Y.has(e)) {
|
|
1250
|
+
n = r;
|
|
1251
|
+
break;
|
|
1252
|
+
}
|
|
1253
|
+
}
|
|
1254
|
+
}
|
|
1255
|
+
continue;
|
|
1256
|
+
}
|
|
1257
|
+
if (kt[i - 1632] !== 255 || X.has(i)) {
|
|
1258
|
+
n = r;
|
|
1259
|
+
break;
|
|
1260
|
+
}
|
|
1261
|
+
}
|
|
1262
|
+
}
|
|
1263
|
+
if (n === -1) return e;
|
|
1264
|
+
let r = [];
|
|
1265
|
+
n > 0 && r.push(e.slice(0, n));
|
|
1266
|
+
for (let i = n; i < t; i++) {
|
|
1267
|
+
let n = e.charCodeAt(i);
|
|
1268
|
+
if (n >= At && n <= jt || n === Mt) {
|
|
1269
|
+
r.push(e[i]);
|
|
1270
|
+
continue;
|
|
1271
|
+
}
|
|
1272
|
+
if (n < 1632) {
|
|
1273
|
+
r.push(X.has(n) ? "-" : e[i]);
|
|
1274
|
+
continue;
|
|
1275
|
+
}
|
|
1276
|
+
if (n >= 55296 && n <= 56319) {
|
|
1277
|
+
if (i + 1 < t) {
|
|
1278
|
+
let t = e.charCodeAt(i + 1);
|
|
1279
|
+
if (t >= 56320 && t <= 57343) {
|
|
1280
|
+
let e = 65536 + (n - 55296 << 10) + (t - 56320), a = Y.get(e);
|
|
1281
|
+
if (a !== void 0) {
|
|
1282
|
+
r.push(String.fromCharCode(a + 48)), i++;
|
|
1283
|
+
continue;
|
|
1284
|
+
}
|
|
1285
|
+
}
|
|
1286
|
+
}
|
|
1287
|
+
r.push(e[i]);
|
|
1288
|
+
continue;
|
|
1289
|
+
}
|
|
1290
|
+
if (X.has(n)) {
|
|
1291
|
+
r.push("-");
|
|
1292
|
+
continue;
|
|
1293
|
+
}
|
|
1294
|
+
let a = kt[n - Ot];
|
|
1295
|
+
r.push(a === 255 ? e[i] : String.fromCharCode(a + 48));
|
|
1296
|
+
}
|
|
1297
|
+
return r.join("");
|
|
1298
|
+
}
|
|
1299
|
+
//#endregion
|
|
1300
|
+
//#region ../../node_modules/.pnpm/strnum@2.4.1/node_modules/strnum/strnum.js
|
|
2152
1301
|
var Pt = /^[-+]?0x[a-fA-F0-9]+$/, Ft = /^0b[01]+$/, It = /^0o[0-7]+$/, Lt = /^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/, Rt = {
|
|
2153
1302
|
hex: !0,
|
|
2154
1303
|
binary: !1,
|
|
@@ -2156,17 +1305,18 @@ var Pt = /^[-+]?0x[a-fA-F0-9]+$/, Ft = /^0b[01]+$/, It = /^0o[0-7]+$/, Lt = /^([
|
|
|
2156
1305
|
leadingZeros: !0,
|
|
2157
1306
|
decimalPoint: ".",
|
|
2158
1307
|
eNotation: !0,
|
|
2159
|
-
infinity: "original"
|
|
1308
|
+
infinity: "original",
|
|
1309
|
+
unicode: !1
|
|
2160
1310
|
};
|
|
2161
1311
|
function zt(e, t = {}) {
|
|
2162
1312
|
if (t = Object.assign({}, Rt, t), !e || typeof e != "string") return e;
|
|
2163
1313
|
let n = e.trim();
|
|
2164
1314
|
if (n.length === 0 || t.skipLike !== void 0 && t.skipLike.test(n)) return e;
|
|
2165
|
-
if (n === "0") return 0;
|
|
2166
|
-
if (t.hex && Pt.test(n)) return
|
|
2167
|
-
if (t.binary && Ft.test(n)) return
|
|
2168
|
-
if (t.octal && It.test(n)) return
|
|
2169
|
-
if (!isFinite(n)) return
|
|
1315
|
+
if (n === "0" || t.unicode && (n = Nt(n), n === "0")) return 0;
|
|
1316
|
+
if (t.hex && Pt.test(n)) return Ut(n, 16);
|
|
1317
|
+
if (t.binary && Ft.test(n)) return Ut(n, 2);
|
|
1318
|
+
if (t.octal && It.test(n)) return Ut(n, 8);
|
|
1319
|
+
if (!isFinite(n)) return Wt(e, Number(n), t);
|
|
2170
1320
|
if (n.includes("e") || n.includes("E")) return Vt(e, n, t);
|
|
2171
1321
|
{
|
|
2172
1322
|
let r = Lt.exec(n);
|
|
@@ -2181,7 +1331,8 @@ function zt(e, t = {}) {
|
|
|
2181
1331
|
let c = a ? o : n;
|
|
2182
1332
|
return a ? c === s || i + c === s ? r : e : c === s || c === i + s ? r : e;
|
|
2183
1333
|
}
|
|
2184
|
-
}
|
|
1334
|
+
}
|
|
1335
|
+
return e;
|
|
2185
1336
|
}
|
|
2186
1337
|
}
|
|
2187
1338
|
var Bt = /^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;
|
|
@@ -2191,19 +1342,20 @@ function Vt(e, t, n) {
|
|
|
2191
1342
|
if (r) {
|
|
2192
1343
|
let i = r[1] || "", a = r[3].indexOf("e") === -1 ? "E" : "e", o = r[2], s = i ? e[o.length + 1] === a : e[o.length] === a;
|
|
2193
1344
|
return o.length > 1 && s ? e : o.length === 1 && (r[3].startsWith(`.${a}`) || r[3][0] === a) ? Number(t) : o.length > 0 ? n.leadingZeros && !s ? (t = (r[1] || "") + r[3], Number(t)) : e : Number(t);
|
|
2194
|
-
}
|
|
1345
|
+
}
|
|
1346
|
+
return e;
|
|
2195
1347
|
}
|
|
2196
1348
|
function Ht(e) {
|
|
2197
1349
|
return e && e.indexOf(".") !== -1 ? (e = e.replace(/0+$/, ""), e === "." ? e = "0" : e[0] === "." ? e = "0" + e : e[e.length - 1] === "." && (e = e.substring(0, e.length - 1)), e) : e;
|
|
2198
1350
|
}
|
|
2199
|
-
function
|
|
1351
|
+
function Ut(e, t) {
|
|
2200
1352
|
let n = e.trim();
|
|
2201
1353
|
if ((t === 2 || t === 8) && (e = n.substring(2)), parseInt) return parseInt(e, t);
|
|
2202
1354
|
if (Number.parseInt) return Number.parseInt(e, t);
|
|
2203
1355
|
if (window && window.parseInt) return window.parseInt(e, t);
|
|
2204
1356
|
throw Error("parseInt, Number.parseInt, window.parseInt are not supported");
|
|
2205
1357
|
}
|
|
2206
|
-
function
|
|
1358
|
+
function Wt(e, t, n) {
|
|
2207
1359
|
let r = t === Infinity;
|
|
2208
1360
|
switch (n.infinity.toLowerCase()) {
|
|
2209
1361
|
case "null": return null;
|
|
@@ -2213,15 +1365,15 @@ function Ut(e, t, n) {
|
|
|
2213
1365
|
}
|
|
2214
1366
|
}
|
|
2215
1367
|
//#endregion
|
|
2216
|
-
//#region ../../node_modules/.pnpm/fast-xml-parser@5.
|
|
2217
|
-
function
|
|
1368
|
+
//#region ../../node_modules/.pnpm/fast-xml-parser@5.10.1/node_modules/fast-xml-parser/src/ignoreAttributes.js
|
|
1369
|
+
function Gt(e) {
|
|
2218
1370
|
return typeof e == "function" ? e : Array.isArray(e) ? (t) => {
|
|
2219
1371
|
for (let n of e) if (typeof n == "string" && t === n || n instanceof RegExp && n.test(t)) return !0;
|
|
2220
1372
|
} : () => !1;
|
|
2221
1373
|
}
|
|
2222
1374
|
//#endregion
|
|
2223
|
-
//#region ../../node_modules/.pnpm/path-expression-matcher@1.
|
|
2224
|
-
var
|
|
1375
|
+
//#region ../../node_modules/.pnpm/path-expression-matcher@1.6.2/node_modules/path-expression-matcher/src/Expression.js
|
|
1376
|
+
var Kt = class {
|
|
2225
1377
|
constructor(e, t = {}, n) {
|
|
2226
1378
|
this.pattern = e, this.separator = t.separator || ".", this.segments = this._parse(e), this.data = n, this._hasDeepWildcard = this.segments.some((e) => e.type === "deep-wildcard"), this._hasAttributeCondition = this.segments.some((e) => e.attrName !== void 0), this._hasPositionSelector = this.segments.some((e) => e.position !== void 0);
|
|
2227
1379
|
}
|
|
@@ -2277,14 +1429,21 @@ var X = class {
|
|
|
2277
1429
|
toString() {
|
|
2278
1430
|
return this.pattern;
|
|
2279
1431
|
}
|
|
2280
|
-
},
|
|
1432
|
+
}, qt = class {
|
|
2281
1433
|
constructor() {
|
|
2282
|
-
this._byDepthAndTag = /* @__PURE__ */ new Map(), this._wildcardByDepth = /* @__PURE__ */ new Map(), this._deepWildcards = [], this._patterns = /* @__PURE__ */ new Set(), this._sealed = !1;
|
|
1434
|
+
this._byDepthAndTag = /* @__PURE__ */ new Map(), this._wildcardByDepth = /* @__PURE__ */ new Map(), this._deepWildcards = [], this._deepByTerminalTag = /* @__PURE__ */ new Map(), this._patterns = /* @__PURE__ */ new Set(), this._sealed = !1;
|
|
2283
1435
|
}
|
|
2284
1436
|
add(e) {
|
|
2285
1437
|
if (this._sealed) throw TypeError("ExpressionSet is sealed. Create a new ExpressionSet to add more expressions.");
|
|
2286
1438
|
if (this._patterns.has(e.pattern)) return this;
|
|
2287
|
-
if (this._patterns.add(e.pattern), e.hasDeepWildcard())
|
|
1439
|
+
if (this._patterns.add(e.pattern), e.hasDeepWildcard()) {
|
|
1440
|
+
let t = e.segments[e.segments.length - 1];
|
|
1441
|
+
if (t && t.type !== "deep-wildcard" && t.tag !== "*") {
|
|
1442
|
+
let n = t.tag;
|
|
1443
|
+
this._deepByTerminalTag.has(n) || this._deepByTerminalTag.set(n, []), this._deepByTerminalTag.get(n).push(e);
|
|
1444
|
+
} else this._deepWildcards.push(e);
|
|
1445
|
+
return this;
|
|
1446
|
+
}
|
|
2288
1447
|
let t = e.length, n = e.segments[e.segments.length - 1]?.tag;
|
|
2289
1448
|
if (!n || n === "*") this._wildcardByDepth.has(t) || this._wildcardByDepth.set(t, []), this._wildcardByDepth.get(t).push(e);
|
|
2290
1449
|
else {
|
|
@@ -2313,18 +1472,22 @@ var X = class {
|
|
|
2313
1472
|
return this.findMatch(e) !== null;
|
|
2314
1473
|
}
|
|
2315
1474
|
findMatch(e) {
|
|
2316
|
-
let t = e.getDepth(), n = `${t}:${
|
|
2317
|
-
if (r) {
|
|
2318
|
-
for (let t = 0; t < r.length; t++) if (e.matches(r[t])) return r[t];
|
|
2319
|
-
}
|
|
2320
|
-
let i = this._wildcardByDepth.get(t);
|
|
1475
|
+
let t = e.getDepth(), n = e.getCurrentTag(), r = `${t}:${n}`, i = this._byDepthAndTag.get(r);
|
|
2321
1476
|
if (i) {
|
|
2322
1477
|
for (let t = 0; t < i.length; t++) if (e.matches(i[t])) return i[t];
|
|
2323
1478
|
}
|
|
1479
|
+
let a = this._wildcardByDepth.get(t);
|
|
1480
|
+
if (a) {
|
|
1481
|
+
for (let t = 0; t < a.length; t++) if (e.matches(a[t])) return a[t];
|
|
1482
|
+
}
|
|
1483
|
+
let o = this._deepByTerminalTag.get(n);
|
|
1484
|
+
if (o) {
|
|
1485
|
+
for (let t = 0; t < o.length; t++) if (e.matches(o[t])) return o[t];
|
|
1486
|
+
}
|
|
2324
1487
|
for (let t = 0; t < this._deepWildcards.length; t++) if (e.matches(this._deepWildcards[t])) return this._deepWildcards[t];
|
|
2325
1488
|
return null;
|
|
2326
1489
|
}
|
|
2327
|
-
},
|
|
1490
|
+
}, Jt = class {
|
|
2328
1491
|
constructor(e) {
|
|
2329
1492
|
this._matcher = e;
|
|
2330
1493
|
}
|
|
@@ -2349,6 +1512,12 @@ var X = class {
|
|
|
2349
1512
|
let n = t[t.length - 1];
|
|
2350
1513
|
return n.values !== void 0 && e in n.values;
|
|
2351
1514
|
}
|
|
1515
|
+
getAnyParentAttr(e) {
|
|
1516
|
+
return this._matcher.getAnyParentAttr(e);
|
|
1517
|
+
}
|
|
1518
|
+
hasAnyParentAttr(e) {
|
|
1519
|
+
return this._matcher.hasAnyParentAttr(e);
|
|
1520
|
+
}
|
|
2352
1521
|
getPosition() {
|
|
2353
1522
|
let e = this._matcher.path;
|
|
2354
1523
|
return e.length === 0 ? -1 : e[e.length - 1].position ?? 0;
|
|
@@ -2375,29 +1544,43 @@ var X = class {
|
|
|
2375
1544
|
matchesAny(e) {
|
|
2376
1545
|
return e.matchesAny(this._matcher);
|
|
2377
1546
|
}
|
|
2378
|
-
},
|
|
1547
|
+
}, Yt = class {
|
|
2379
1548
|
constructor(e = {}) {
|
|
2380
|
-
this.separator = e.separator || ".", this.path = [], this.siblingStacks = [], this._pathStringCache = null, this._view = new
|
|
1549
|
+
this.separator = e.separator || ".", this.path = [], this.siblingStacks = [], this._pathStringCache = null, this._view = new Jt(this), this._keptAttrs = [];
|
|
2381
1550
|
}
|
|
2382
|
-
push(e, t = null, n = null) {
|
|
1551
|
+
push(e, t = null, n = null, r = null) {
|
|
2383
1552
|
this._pathStringCache = null, this.path.length > 0 && (this.path[this.path.length - 1].values = void 0);
|
|
2384
|
-
let
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
let c =
|
|
1553
|
+
let i = this.path.length, a = this.siblingStacks[i];
|
|
1554
|
+
a || (a = {
|
|
1555
|
+
counts: /* @__PURE__ */ new Map(),
|
|
1556
|
+
total: 0
|
|
1557
|
+
}, this.siblingStacks[i] = a);
|
|
1558
|
+
let o = n ? `${n}:${e}` : e, s = a.counts.get(o) || 0, c = a.total;
|
|
1559
|
+
a.counts.set(o, s + 1), a.total++;
|
|
1560
|
+
let l = {
|
|
2390
1561
|
tag: e,
|
|
2391
|
-
position:
|
|
2392
|
-
counter:
|
|
1562
|
+
position: c,
|
|
1563
|
+
counter: s
|
|
2393
1564
|
};
|
|
2394
|
-
n != null && (
|
|
1565
|
+
n != null && (l.namespace = n), t != null && (l.values = t), this.path.push(l);
|
|
1566
|
+
let u = this.path.length, d = r === null ? null : r.keep;
|
|
1567
|
+
if (d != null && d.length > 0 && t) for (let e = 0; e < d.length; e++) {
|
|
1568
|
+
let n = d[e];
|
|
1569
|
+
t[n] !== void 0 && this._keptAttrs.push({
|
|
1570
|
+
depth: u,
|
|
1571
|
+
name: n,
|
|
1572
|
+
value: t[n]
|
|
1573
|
+
});
|
|
1574
|
+
}
|
|
2395
1575
|
}
|
|
2396
1576
|
pop() {
|
|
2397
1577
|
if (this.path.length === 0) return;
|
|
2398
1578
|
this._pathStringCache = null;
|
|
2399
1579
|
let e = this.path.pop();
|
|
2400
|
-
|
|
1580
|
+
this.siblingStacks.length > this.path.length + 1 && (this.siblingStacks.length = this.path.length + 1);
|
|
1581
|
+
let t = this.path.length + 1;
|
|
1582
|
+
for (; this._keptAttrs.length > 0 && this._keptAttrs[this._keptAttrs.length - 1].depth >= t;) this._keptAttrs.pop();
|
|
1583
|
+
return e;
|
|
2401
1584
|
}
|
|
2402
1585
|
updateCurrent(e) {
|
|
2403
1586
|
if (this.path.length > 0) {
|
|
@@ -2419,6 +1602,15 @@ var X = class {
|
|
|
2419
1602
|
let t = this.path[this.path.length - 1];
|
|
2420
1603
|
return t.values !== void 0 && e in t.values;
|
|
2421
1604
|
}
|
|
1605
|
+
getAnyParentAttr(e) {
|
|
1606
|
+
let t = this._keptAttrs;
|
|
1607
|
+
for (let n = t.length - 1; n >= 0; n--) if (t[n].name === e) return t[n].value;
|
|
1608
|
+
}
|
|
1609
|
+
hasAnyParentAttr(e) {
|
|
1610
|
+
let t = this._keptAttrs;
|
|
1611
|
+
for (let n = t.length - 1; n >= 0; n--) if (t[n].name === e) return !0;
|
|
1612
|
+
return !1;
|
|
1613
|
+
}
|
|
2422
1614
|
getPosition() {
|
|
2423
1615
|
return this.path.length === 0 ? -1 : this.path[this.path.length - 1].position ?? 0;
|
|
2424
1616
|
}
|
|
@@ -2444,7 +1636,7 @@ var X = class {
|
|
|
2444
1636
|
return this.path.map((e) => e.tag);
|
|
2445
1637
|
}
|
|
2446
1638
|
reset() {
|
|
2447
|
-
this._pathStringCache = null, this.path = [], this.siblingStacks = [];
|
|
1639
|
+
this._pathStringCache = null, this.path = [], this.siblingStacks = [], this._keptAttrs = [];
|
|
2448
1640
|
}
|
|
2449
1641
|
matches(e) {
|
|
2450
1642
|
let t = e.segments;
|
|
@@ -2489,19 +1681,660 @@ var X = class {
|
|
|
2489
1681
|
snapshot() {
|
|
2490
1682
|
return {
|
|
2491
1683
|
path: this.path.map((e) => ({ ...e })),
|
|
2492
|
-
siblingStacks: this.siblingStacks.map((e) =>
|
|
1684
|
+
siblingStacks: this.siblingStacks.map((e) => e && {
|
|
1685
|
+
counts: new Map(e.counts),
|
|
1686
|
+
total: e.total
|
|
1687
|
+
}),
|
|
1688
|
+
keptAttrs: this._keptAttrs.map((e) => ({ ...e }))
|
|
2493
1689
|
};
|
|
2494
1690
|
}
|
|
2495
1691
|
restore(e) {
|
|
2496
|
-
this._pathStringCache = null, this.path = e.path.map((e) => ({ ...e })), this.siblingStacks = e.siblingStacks.map((e) =>
|
|
1692
|
+
this._pathStringCache = null, this.path = e.path.map((e) => ({ ...e })), this.siblingStacks = e.siblingStacks.map((e) => e && {
|
|
1693
|
+
counts: new Map(e.counts),
|
|
1694
|
+
total: e.total
|
|
1695
|
+
}), this._keptAttrs = (e.keptAttrs || []).map((e) => ({ ...e }));
|
|
2497
1696
|
}
|
|
2498
1697
|
readOnly() {
|
|
2499
1698
|
return this._view;
|
|
2500
1699
|
}
|
|
2501
|
-
}
|
|
1700
|
+
}, Xt = [
|
|
1701
|
+
{
|
|
1702
|
+
id: "html-script-open",
|
|
1703
|
+
description: "<script opening tag",
|
|
1704
|
+
pattern: /<script[\s>/]/i
|
|
1705
|
+
},
|
|
1706
|
+
{
|
|
1707
|
+
id: "html-script-close",
|
|
1708
|
+
description: "<\/script closing tag",
|
|
1709
|
+
pattern: /<\/script[\s>]/i
|
|
1710
|
+
},
|
|
1711
|
+
{
|
|
1712
|
+
id: "html-javascript-protocol",
|
|
1713
|
+
description: "javascript: URI scheme (with optional whitespace/encoding)",
|
|
1714
|
+
pattern: /j[\t\n\r ]*a[\t\n\r ]*v[\t\n\r ]*a[\t\n\r ]*s[\t\n\r ]*c[\t\n\r ]*r[\t\n\r ]*i[\t\n\r ]*p[\t\n\r ]*t[\t\n\r ]*:/i
|
|
1715
|
+
},
|
|
1716
|
+
{
|
|
1717
|
+
id: "html-vbscript-protocol",
|
|
1718
|
+
description: "vbscript: URI scheme",
|
|
1719
|
+
pattern: /vbscript[\t\n\r ]*:/i
|
|
1720
|
+
},
|
|
1721
|
+
{
|
|
1722
|
+
id: "html-data-html",
|
|
1723
|
+
description: "data:text/html URI — can execute scripts in browsers",
|
|
1724
|
+
pattern: /data[\t\n\r ]*:[\t\n\r ]*text\/html/i
|
|
1725
|
+
},
|
|
1726
|
+
{
|
|
1727
|
+
id: "html-data-xhtml",
|
|
1728
|
+
description: "data:application/xhtml+xml URI",
|
|
1729
|
+
pattern: /data[\t\n\r ]*:[\t\n\r ]*application\/xhtml/i
|
|
1730
|
+
},
|
|
1731
|
+
{
|
|
1732
|
+
id: "html-data-svg",
|
|
1733
|
+
description: "data:image/svg+xml URI — can execute scripts",
|
|
1734
|
+
pattern: /data[\t\n\r ]*:[\t\n\r ]*image\/svg\+xml/i
|
|
1735
|
+
},
|
|
1736
|
+
{
|
|
1737
|
+
id: "html-inline-event-handler",
|
|
1738
|
+
description: "Inline event handler attributes: onclick=, onerror=, onload=, etc.",
|
|
1739
|
+
pattern: /\bon\w{1,30}\s*=/i
|
|
1740
|
+
},
|
|
1741
|
+
{
|
|
1742
|
+
id: "html-entity-obfuscated-script",
|
|
1743
|
+
description: "HTML-entity-encoded <script (e.g. <script or <script)",
|
|
1744
|
+
pattern: /(?:�*3[Cc];?|�*60;?|<)\s*script/i
|
|
1745
|
+
},
|
|
1746
|
+
{
|
|
1747
|
+
id: "html-entity-obfuscated-javascript",
|
|
1748
|
+
description: "HTML-entity-encoded javascript: (partial — catches common j or j for \"j\")",
|
|
1749
|
+
pattern: /(?:�*6[Aa];?|�*106;?)\s*(?:�*61;?|a)[\s\S]{0,80}script\s*:/i
|
|
1750
|
+
},
|
|
1751
|
+
{
|
|
1752
|
+
id: "html-style-expression",
|
|
1753
|
+
description: "CSS expression() — IE-era code execution in style attributes",
|
|
1754
|
+
pattern: /style[\s\S]{0,20}expression\s*\(/i
|
|
1755
|
+
},
|
|
1756
|
+
{
|
|
1757
|
+
id: "html-object-embed",
|
|
1758
|
+
description: "<object or <embed tags that can load active content",
|
|
1759
|
+
pattern: /<(?:object|embed)[\s>/]/i
|
|
1760
|
+
},
|
|
1761
|
+
{
|
|
1762
|
+
id: "html-base-tag",
|
|
1763
|
+
description: "<base href= — can hijack all relative URLs on a page",
|
|
1764
|
+
pattern: /<base[\s>]/i
|
|
1765
|
+
},
|
|
1766
|
+
{
|
|
1767
|
+
id: "html-meta-refresh",
|
|
1768
|
+
description: "<meta http-equiv=\"refresh\" — can redirect users",
|
|
1769
|
+
pattern: /<meta[\s\S]{0,40}http-equiv[\s\S]{0,20}refresh/i
|
|
1770
|
+
},
|
|
1771
|
+
{
|
|
1772
|
+
id: "html-srcdoc",
|
|
1773
|
+
description: "srcdoc= attribute on iframes — embeds HTML that can run scripts",
|
|
1774
|
+
pattern: /srcdoc\s*=/i
|
|
1775
|
+
},
|
|
1776
|
+
{
|
|
1777
|
+
id: "html-iframe",
|
|
1778
|
+
description: "<iframe tag",
|
|
1779
|
+
pattern: /<iframe[\s>/]/i
|
|
1780
|
+
},
|
|
1781
|
+
{
|
|
1782
|
+
id: "html-form",
|
|
1783
|
+
description: "<form tag — can be used for phishing / credential harvesting injection",
|
|
1784
|
+
pattern: /<form[\s>/]/i
|
|
1785
|
+
}
|
|
1786
|
+
], Zt = [
|
|
1787
|
+
{
|
|
1788
|
+
id: "xml-cdata-injection",
|
|
1789
|
+
description: "CDATA section injection: <![CDATA[ breaks out of text node context",
|
|
1790
|
+
pattern: /<!\[CDATA\[/i
|
|
1791
|
+
},
|
|
1792
|
+
{
|
|
1793
|
+
id: "xml-cdata-close",
|
|
1794
|
+
description: "CDATA close sequence: ]]> can terminate an enclosing CDATA section",
|
|
1795
|
+
pattern: /\]\]>/
|
|
1796
|
+
},
|
|
1797
|
+
{
|
|
1798
|
+
id: "xml-processing-instruction",
|
|
1799
|
+
description: "XML processing instruction: <?xml-stylesheet or <?php etc.",
|
|
1800
|
+
pattern: /<\?(?:xml[\- ]|php|asp)/i
|
|
1801
|
+
},
|
|
1802
|
+
{
|
|
1803
|
+
id: "xml-doctype-injection",
|
|
1804
|
+
description: "DOCTYPE declaration embedded in content — can define entities",
|
|
1805
|
+
pattern: /<!DOCTYPE(?:[\s[]|$)/i
|
|
1806
|
+
},
|
|
1807
|
+
{
|
|
1808
|
+
id: "xml-entity-system",
|
|
1809
|
+
description: "SYSTEM keyword — used in external entity declarations (XXE)",
|
|
1810
|
+
pattern: /\bSYSTEM\s+["']/i
|
|
1811
|
+
},
|
|
1812
|
+
{
|
|
1813
|
+
id: "xml-entity-public",
|
|
1814
|
+
description: "PUBLIC keyword — used in external entity declarations (XXE)",
|
|
1815
|
+
pattern: /\bPUBLIC\s+["']/i
|
|
1816
|
+
},
|
|
1817
|
+
{
|
|
1818
|
+
id: "xml-entity-declaration",
|
|
1819
|
+
description: "<!ENTITY declaration — defines entities, potential XXE or entity expansion",
|
|
1820
|
+
pattern: /<!ENTITY[\s%]/i
|
|
1821
|
+
},
|
|
1822
|
+
{
|
|
1823
|
+
id: "xml-billion-laughs",
|
|
1824
|
+
description: "Entity reference chaining / billion laughs: repeated &eX; style references",
|
|
1825
|
+
pattern: /(?:&\w{1,20};){3,}/
|
|
1826
|
+
},
|
|
1827
|
+
{
|
|
1828
|
+
id: "xml-namespace-confusion",
|
|
1829
|
+
description: "xmlns: attribute injection — can redefine namespaces to confuse parsers",
|
|
1830
|
+
pattern: /\bxmlns\s*(?::\w{1,40})?\s*=/i
|
|
1831
|
+
},
|
|
1832
|
+
{
|
|
1833
|
+
id: "xml-comment-injection",
|
|
1834
|
+
description: "<!-- comment injection — can hide content from some parsers",
|
|
1835
|
+
pattern: /<!--/
|
|
1836
|
+
},
|
|
1837
|
+
{
|
|
1838
|
+
id: "xml-comment-close",
|
|
1839
|
+
description: "--> closes an enclosing XML comment",
|
|
1840
|
+
pattern: /-->/
|
|
1841
|
+
},
|
|
1842
|
+
{
|
|
1843
|
+
id: "xml-pi-close",
|
|
1844
|
+
description: "?> closes an enclosing processing instruction",
|
|
1845
|
+
pattern: /\?>/
|
|
1846
|
+
}
|
|
1847
|
+
], Qt = [
|
|
1848
|
+
{
|
|
1849
|
+
id: "svg-script-element",
|
|
1850
|
+
description: "<script element inside SVG executes JavaScript",
|
|
1851
|
+
pattern: /<script[\s>/]/i
|
|
1852
|
+
},
|
|
1853
|
+
{
|
|
1854
|
+
id: "svg-xlink-href-javascript",
|
|
1855
|
+
description: "xlink:href with javascript: — classic SVG XSS via <a> or <use>",
|
|
1856
|
+
pattern: /xlink\s*:\s*href\s*=\s*["']?\s*javascript\s*:/i
|
|
1857
|
+
},
|
|
1858
|
+
{
|
|
1859
|
+
id: "svg-href-javascript",
|
|
1860
|
+
description: "href= with javascript: in SVG context (<a>, <animate>, etc.)",
|
|
1861
|
+
pattern: /href\s*=\s*["']?\s*javascript\s*:/i
|
|
1862
|
+
},
|
|
1863
|
+
{
|
|
1864
|
+
id: "svg-foreignobject",
|
|
1865
|
+
description: "<foreignObject embeds HTML inside SVG — can execute scripts",
|
|
1866
|
+
pattern: /<foreignObject[\s>/]/i
|
|
1867
|
+
},
|
|
1868
|
+
{
|
|
1869
|
+
id: "svg-use-external",
|
|
1870
|
+
description: "<use xlink:href or href pointing to external resource (non-fragment URL)",
|
|
1871
|
+
pattern: /<use[\s\S]{0,60}(?:xlink\s*:\s*)?href\s*=\s*(?:["'][^#]|[^"'#\s>])/i
|
|
1872
|
+
},
|
|
1873
|
+
{
|
|
1874
|
+
id: "svg-animate-href",
|
|
1875
|
+
description: "<animate attributeName=\"href\" — can dynamically change href to javascript:",
|
|
1876
|
+
pattern: /<animate[\s\S]{0,80}attributeName\s*=\s*["'][\s]*href["']/i
|
|
1877
|
+
},
|
|
1878
|
+
{
|
|
1879
|
+
id: "svg-animate-xlinkhref",
|
|
1880
|
+
description: "<animate attributeName=\"xlink:href\"",
|
|
1881
|
+
pattern: /<animate[\s\S]{0,80}attributeName\s*=\s*["'][\s]*xlink\s*:\s*href["']/i
|
|
1882
|
+
},
|
|
1883
|
+
{
|
|
1884
|
+
id: "svg-set-javascript",
|
|
1885
|
+
description: "<set to=\"javascript:...\" — sets an attribute to a javascript: URI",
|
|
1886
|
+
pattern: /<set[\s\S]{0,80}to\s*=\s*["']?\s*javascript\s*:/i
|
|
1887
|
+
},
|
|
1888
|
+
{
|
|
1889
|
+
id: "svg-event-handler",
|
|
1890
|
+
description: "SVG-specific event handler attributes: onload=, onerror=, onactivate=, etc.",
|
|
1891
|
+
pattern: /\bon(?:load|error|activate|begin|end|repeat|focus|blur|click|mouse\w{1,20}|key\w{1,20})\s*=/i
|
|
1892
|
+
},
|
|
1893
|
+
{
|
|
1894
|
+
id: "svg-handler-generic",
|
|
1895
|
+
description: "Generic on* handler catch-all for SVG attributes",
|
|
1896
|
+
pattern: /\bon\w{1,30}\s*=/i
|
|
1897
|
+
},
|
|
1898
|
+
{
|
|
1899
|
+
id: "svg-filter-feimage",
|
|
1900
|
+
description: "<feImage href= — filter primitive that can load external resources",
|
|
1901
|
+
pattern: /<feImage[\s\S]{0,80}(?:xlink\s*:\s*)?href\s*=/i
|
|
1902
|
+
},
|
|
1903
|
+
{
|
|
1904
|
+
id: "svg-image-external",
|
|
1905
|
+
description: "<image xlink:href with http/https or javascript protocol",
|
|
1906
|
+
pattern: /<image[\s\S]{0,80}(?:xlink\s*:\s*)?href\s*=\s*["']?\s*(?:https?|javascript)\s*:/i
|
|
1907
|
+
},
|
|
1908
|
+
{
|
|
1909
|
+
id: "svg-style-javascript",
|
|
1910
|
+
description: "style= attribute containing javascript: (e.g. background:url(javascript:...))",
|
|
1911
|
+
pattern: /style\s*=[\s\S]{0,60}javascript\s*:/i
|
|
1912
|
+
}
|
|
1913
|
+
], $t = [
|
|
1914
|
+
{
|
|
1915
|
+
id: "sql-block-comment-open",
|
|
1916
|
+
description: "SQL block comment open: /* ... */ — unusual in legitimate user text",
|
|
1917
|
+
pattern: /\/\*/
|
|
1918
|
+
},
|
|
1919
|
+
{
|
|
1920
|
+
id: "sql-union-select",
|
|
1921
|
+
description: "UNION SELECT — most common SQL injection aggregation attack",
|
|
1922
|
+
pattern: /\bUNION\s{1,20}(?:ALL\s{1,20})?SELECT\b/i
|
|
1923
|
+
},
|
|
1924
|
+
{
|
|
1925
|
+
id: "sql-drop-table",
|
|
1926
|
+
description: "DROP TABLE — destructive DDL injection",
|
|
1927
|
+
pattern: /\bDROP\s{1,20}TABLE\b/i
|
|
1928
|
+
},
|
|
1929
|
+
{
|
|
1930
|
+
id: "sql-drop-database",
|
|
1931
|
+
description: "DROP DATABASE — destructive DDL injection",
|
|
1932
|
+
pattern: /\bDROP\s{1,20}DATABASE\b/i
|
|
1933
|
+
},
|
|
1934
|
+
{
|
|
1935
|
+
id: "sql-insert-into",
|
|
1936
|
+
description: "INSERT INTO — data injection",
|
|
1937
|
+
pattern: /\bINSERT\s{1,20}INTO\b/i
|
|
1938
|
+
},
|
|
1939
|
+
{
|
|
1940
|
+
id: "sql-delete-from",
|
|
1941
|
+
description: "DELETE FROM — data deletion injection",
|
|
1942
|
+
pattern: /\bDELETE\s{1,20}FROM\b/i
|
|
1943
|
+
},
|
|
1944
|
+
{
|
|
1945
|
+
id: "sql-update-set",
|
|
1946
|
+
description: "UPDATE ... SET — data modification injection",
|
|
1947
|
+
pattern: /\bUPDATE\b[\s\S]{1,60}\bSET\b/i
|
|
1948
|
+
},
|
|
1949
|
+
{
|
|
1950
|
+
id: "sql-exec-xp",
|
|
1951
|
+
description: "EXEC xp_ — MSSQL extended stored procedure execution",
|
|
1952
|
+
pattern: /\bEXEC(?:UTE)?\s{1,20}xp_/i
|
|
1953
|
+
},
|
|
1954
|
+
{
|
|
1955
|
+
id: "sql-tautology-string",
|
|
1956
|
+
description: "Classic string tautology: ' OR '1'='1 or \" OR \"1\"=\"1\"",
|
|
1957
|
+
pattern: /'\s{0,10}OR\s{0,10}'[^']{0,20}'\s*=\s*'[^']{0,20}/i
|
|
1958
|
+
},
|
|
1959
|
+
{
|
|
1960
|
+
id: "sql-tautology-numeric",
|
|
1961
|
+
description: "Numeric tautology: OR 1=1",
|
|
1962
|
+
pattern: /\bOR\s{1,10}1\s*=\s*1\b/i
|
|
1963
|
+
},
|
|
1964
|
+
{
|
|
1965
|
+
id: "sql-always-true-zero",
|
|
1966
|
+
description: "Numeric tautology: OR 0=0",
|
|
1967
|
+
pattern: /\bOR\s{1,10}0\s*=\s*0\b/i
|
|
1968
|
+
},
|
|
1969
|
+
{
|
|
1970
|
+
id: "sql-sleep-benchmark",
|
|
1971
|
+
description: "Time-based blind injection: SLEEP() or BENCHMARK()",
|
|
1972
|
+
pattern: /\b(?:SLEEP|BENCHMARK)\s*\(/i
|
|
1973
|
+
},
|
|
1974
|
+
{
|
|
1975
|
+
id: "sql-waitfor-delay",
|
|
1976
|
+
description: "MSSQL time-based blind injection: WAITFOR DELAY",
|
|
1977
|
+
pattern: /\bWAITFOR\s{1,20}DELAY\b/i
|
|
1978
|
+
},
|
|
1979
|
+
{
|
|
1980
|
+
id: "sql-char-function",
|
|
1981
|
+
description: "CHAR() function — used to obfuscate injected strings",
|
|
1982
|
+
pattern: /\bCHAR\s*\(\s*\d{1,3}/i
|
|
1983
|
+
},
|
|
1984
|
+
{
|
|
1985
|
+
id: "sql-information-schema",
|
|
1986
|
+
description: "INFORMATION_SCHEMA — reconnaissance query for table/column enumeration",
|
|
1987
|
+
pattern: /\bINFORMATION_SCHEMA\b/i
|
|
1988
|
+
}
|
|
1989
|
+
], en = [
|
|
1990
|
+
{
|
|
1991
|
+
id: "shell-path-traversal-unix",
|
|
1992
|
+
description: "Unix path traversal: ../ — climbing the directory tree",
|
|
1993
|
+
pattern: /\.\.\//
|
|
1994
|
+
},
|
|
1995
|
+
{
|
|
1996
|
+
id: "shell-path-traversal-windows",
|
|
1997
|
+
description: "Windows path traversal: ..\\ — climbing the directory tree",
|
|
1998
|
+
pattern: /\.\.\\/
|
|
1999
|
+
},
|
|
2000
|
+
{
|
|
2001
|
+
id: "shell-path-traversal-encoded",
|
|
2002
|
+
description: "URL-encoded path traversal: %2e%2e or %2f variants",
|
|
2003
|
+
pattern: /%2e%2e|%2f\.\.|\.\.%2f/i
|
|
2004
|
+
},
|
|
2005
|
+
{
|
|
2006
|
+
id: "shell-null-byte",
|
|
2007
|
+
description: "Null byte injection: \\x00 or %00 — truncates strings in C-backed functions",
|
|
2008
|
+
pattern: /\x00|%00/
|
|
2009
|
+
},
|
|
2010
|
+
{
|
|
2011
|
+
id: "shell-semicolon",
|
|
2012
|
+
description: "Semicolon command separator: cmd1; cmd2",
|
|
2013
|
+
pattern: /;/
|
|
2014
|
+
},
|
|
2015
|
+
{
|
|
2016
|
+
id: "shell-pipe",
|
|
2017
|
+
description: "Pipe operator: cmd1 | cmd2",
|
|
2018
|
+
pattern: /\|/
|
|
2019
|
+
},
|
|
2020
|
+
{
|
|
2021
|
+
id: "shell-and-operator",
|
|
2022
|
+
description: "AND operator: cmd1 && cmd2",
|
|
2023
|
+
pattern: /&&/
|
|
2024
|
+
},
|
|
2025
|
+
{
|
|
2026
|
+
id: "shell-or-operator",
|
|
2027
|
+
description: "OR operator: cmd1 || cmd2",
|
|
2028
|
+
pattern: /\|\|/
|
|
2029
|
+
},
|
|
2030
|
+
{
|
|
2031
|
+
id: "shell-backtick",
|
|
2032
|
+
description: "Backtick command substitution: `cmd`",
|
|
2033
|
+
pattern: /`/
|
|
2034
|
+
},
|
|
2035
|
+
{
|
|
2036
|
+
id: "shell-dollar-paren",
|
|
2037
|
+
description: "Dollar-paren command substitution: $(cmd)",
|
|
2038
|
+
pattern: /\$\(/
|
|
2039
|
+
},
|
|
2040
|
+
{
|
|
2041
|
+
id: "shell-dollar-brace",
|
|
2042
|
+
description: "Dollar-brace variable expansion: ${var} — can be abused for injection",
|
|
2043
|
+
pattern: /\$\{/
|
|
2044
|
+
},
|
|
2045
|
+
{
|
|
2046
|
+
id: "shell-redirect-out",
|
|
2047
|
+
description: "Output redirection: cmd > file or cmd >> file",
|
|
2048
|
+
pattern: />{1,2}/
|
|
2049
|
+
},
|
|
2050
|
+
{
|
|
2051
|
+
id: "shell-redirect-in",
|
|
2052
|
+
description: "Input redirection: cmd < file",
|
|
2053
|
+
pattern: /</
|
|
2054
|
+
},
|
|
2055
|
+
{
|
|
2056
|
+
id: "shell-newline-injection",
|
|
2057
|
+
description: "Newline injection: \\n or \\r — can inject new shell commands",
|
|
2058
|
+
pattern: /[\n\r]/
|
|
2059
|
+
},
|
|
2060
|
+
{
|
|
2061
|
+
id: "shell-glob-star",
|
|
2062
|
+
description: "Glob expansion: * or ? — can expand to unintended files",
|
|
2063
|
+
pattern: /[/\\][*?]/
|
|
2064
|
+
},
|
|
2065
|
+
{
|
|
2066
|
+
id: "shell-absolute-root",
|
|
2067
|
+
description: "Absolute root path injection: string starting with / or \\ (Windows UNC)",
|
|
2068
|
+
pattern: /^(?:\/|\\\\)/
|
|
2069
|
+
},
|
|
2070
|
+
{
|
|
2071
|
+
id: "shell-windows-drive",
|
|
2072
|
+
description: "Windows drive letter path injection: C:\\ or D:/",
|
|
2073
|
+
pattern: /^[a-zA-Z]:[/\\]/
|
|
2074
|
+
},
|
|
2075
|
+
{
|
|
2076
|
+
id: "shell-curl-wget",
|
|
2077
|
+
description: "curl/wget with URL or flags — can exfiltrate data or download payloads",
|
|
2078
|
+
pattern: /\b(?:curl|wget)\s+(?:https?:\/\/|ftp:\/\/|-)/i
|
|
2079
|
+
}
|
|
2080
|
+
], tn = [
|
|
2081
|
+
{
|
|
2082
|
+
id: "redos-nested-quantifier-plus",
|
|
2083
|
+
description: "Nested + quantifier inside a group with outer quantifier: (a+)+, (.+b)*, etc.",
|
|
2084
|
+
pattern: /\([^)]*\+[^)]*\)[+*]/
|
|
2085
|
+
},
|
|
2086
|
+
{
|
|
2087
|
+
id: "redos-nested-quantifier-star",
|
|
2088
|
+
description: "Nested * quantifier: (a*)* or (a*)+ — catastrophic backtracking",
|
|
2089
|
+
pattern: /\([^)]*\*[^)]*\)[*+]/
|
|
2090
|
+
},
|
|
2091
|
+
{
|
|
2092
|
+
id: "redos-nested-groups",
|
|
2093
|
+
description: "Doubly nested quantified groups: ((a+)+) — guaranteed catastrophic",
|
|
2094
|
+
pattern: /\(\([^)]{0,40}\)[+*]\)[+*]/
|
|
2095
|
+
},
|
|
2096
|
+
{
|
|
2097
|
+
id: "redos-alternation-overlap",
|
|
2098
|
+
description: "Overlapping alternation under quantifier: (a|a)+ — ambiguous NFA paths",
|
|
2099
|
+
pattern: /\(([^|()]{1,20})\|(?:\1)(?:\|[^|()]{1,20}){0,5}\)[+*?]{1,2}/
|
|
2100
|
+
},
|
|
2101
|
+
{
|
|
2102
|
+
id: "redos-star-plus-concat",
|
|
2103
|
+
description: "(x*x)+ pattern — triggers super-linear backtracking",
|
|
2104
|
+
pattern: /\([^)]{0,10}\*[^)]{0,10}\)[+*]/
|
|
2105
|
+
},
|
|
2106
|
+
{
|
|
2107
|
+
id: "redos-dot-star-greedy",
|
|
2108
|
+
description: "(.*){n,} or (.+){n,} — repeated greedy dot quantifiers",
|
|
2109
|
+
pattern: /\(\.[*+]\)\{?\d/
|
|
2110
|
+
},
|
|
2111
|
+
{
|
|
2112
|
+
id: "redos-large-repetition",
|
|
2113
|
+
description: "Very large fixed or range repetition count {1000,} or {1000,n} — denial of service via backtracking",
|
|
2114
|
+
pattern: /\{\d{4,}(?:,\d*)?\}/
|
|
2115
|
+
},
|
|
2116
|
+
{
|
|
2117
|
+
id: "redos-catastrophic-alternation",
|
|
2118
|
+
description: "Long alternation with many similar branches — polynomial backtracking risk",
|
|
2119
|
+
pattern: /\([^)]{0,200}(?:\|[^|)]{0,50}){9,}\)/
|
|
2120
|
+
}
|
|
2121
|
+
], Z = "[\"'\\s]*:", nn = [
|
|
2122
|
+
{
|
|
2123
|
+
id: "nosql-where-operator",
|
|
2124
|
+
description: "$where — executes arbitrary JavaScript server-side in MongoDB",
|
|
2125
|
+
pattern: RegExp(`\\$where${Z}`, "i")
|
|
2126
|
+
},
|
|
2127
|
+
{
|
|
2128
|
+
id: "nosql-ne-operator",
|
|
2129
|
+
description: "$ne — \"not equal\" operator used to bypass equality checks",
|
|
2130
|
+
pattern: RegExp(`\\$ne${Z}`, "i")
|
|
2131
|
+
},
|
|
2132
|
+
{
|
|
2133
|
+
id: "nosql-gt-operator",
|
|
2134
|
+
description: "$gt — \"greater than\" used to bypass password/value checks",
|
|
2135
|
+
pattern: RegExp(`\\$gte?${Z}`, "i")
|
|
2136
|
+
},
|
|
2137
|
+
{
|
|
2138
|
+
id: "nosql-lt-operator",
|
|
2139
|
+
description: "$lt / $lte — \"less than\" bypass variants",
|
|
2140
|
+
pattern: RegExp(`\\$lte?${Z}`, "i")
|
|
2141
|
+
},
|
|
2142
|
+
{
|
|
2143
|
+
id: "nosql-regex-operator",
|
|
2144
|
+
description: "$regex — can be used to extract data character by character (blind injection)",
|
|
2145
|
+
pattern: RegExp(`\\$regex${Z}`, "i")
|
|
2146
|
+
},
|
|
2147
|
+
{
|
|
2148
|
+
id: "nosql-or-operator",
|
|
2149
|
+
description: "$or — logical OR; used to create always-true conditions",
|
|
2150
|
+
pattern: RegExp(`\\$or${Z}\\s*\\[`, "i")
|
|
2151
|
+
},
|
|
2152
|
+
{
|
|
2153
|
+
id: "nosql-and-operator",
|
|
2154
|
+
description: "$and — logical AND operator injection",
|
|
2155
|
+
pattern: RegExp(`\\$and${Z}\\s*\\[`, "i")
|
|
2156
|
+
},
|
|
2157
|
+
{
|
|
2158
|
+
id: "nosql-nor-operator",
|
|
2159
|
+
description: "$nor — logical NOR operator injection",
|
|
2160
|
+
pattern: RegExp(`\\$nor${Z}\\s*\\[`, "i")
|
|
2161
|
+
},
|
|
2162
|
+
{
|
|
2163
|
+
id: "nosql-exists-operator",
|
|
2164
|
+
description: "$exists — can enumerate fields to determine schema",
|
|
2165
|
+
pattern: RegExp(`\\$exists${Z}`, "i")
|
|
2166
|
+
},
|
|
2167
|
+
{
|
|
2168
|
+
id: "nosql-in-operator",
|
|
2169
|
+
description: "$in — matches any value in a list; can enumerate values",
|
|
2170
|
+
pattern: RegExp(`\\$in${Z}\\s*\\[`, "i")
|
|
2171
|
+
},
|
|
2172
|
+
{
|
|
2173
|
+
id: "nosql-expr-operator",
|
|
2174
|
+
description: "$expr — allows aggregation expressions in queries (MongoDB 3.6+)",
|
|
2175
|
+
pattern: RegExp(`\\$expr${Z}`, "i")
|
|
2176
|
+
},
|
|
2177
|
+
{
|
|
2178
|
+
id: "nosql-function-operator",
|
|
2179
|
+
description: "$function — executes arbitrary JavaScript in MongoDB 4.4+",
|
|
2180
|
+
pattern: RegExp(`\\$function${Z}`, "i")
|
|
2181
|
+
},
|
|
2182
|
+
{
|
|
2183
|
+
id: "nosql-accumulator-operator",
|
|
2184
|
+
description: "$accumulator — custom aggregation with arbitrary JS execution",
|
|
2185
|
+
pattern: RegExp(`\\$accumulator${Z}`, "i")
|
|
2186
|
+
},
|
|
2187
|
+
{
|
|
2188
|
+
id: "nosql-proto-pollution",
|
|
2189
|
+
description: "__proto__ — prototype pollution via object key injection",
|
|
2190
|
+
pattern: /__proto__/
|
|
2191
|
+
},
|
|
2192
|
+
{
|
|
2193
|
+
id: "nosql-constructor-prototype",
|
|
2194
|
+
description: "constructor.prototype — alternative prototype pollution vector (dot notation or JSON key)",
|
|
2195
|
+
pattern: /constructor[\s"':.,{\[]*prototype/i
|
|
2196
|
+
},
|
|
2197
|
+
{
|
|
2198
|
+
id: "nosql-proto-bracket",
|
|
2199
|
+
description: "[\"__proto__\"] — bracket-notation prototype pollution",
|
|
2200
|
+
pattern: /\[["']__proto__["']\]/
|
|
2201
|
+
}
|
|
2202
|
+
], rn = [
|
|
2203
|
+
{
|
|
2204
|
+
id: "log-crlf-injection",
|
|
2205
|
+
description: "CRLF injection: literal \\r or \\n embeds fake log lines",
|
|
2206
|
+
pattern: /[\r\n]/
|
|
2207
|
+
},
|
|
2208
|
+
{
|
|
2209
|
+
id: "log-url-encoded-crlf",
|
|
2210
|
+
description: "URL-encoded CRLF: %0d, %0a, %0D, %0A — decoded by some log parsers",
|
|
2211
|
+
pattern: /%0[dDaA]/
|
|
2212
|
+
},
|
|
2213
|
+
{
|
|
2214
|
+
id: "log-unicode-newline",
|
|
2215
|
+
description: "Unicode newline variants: U+2028 (line separator), U+2029 (paragraph separator)",
|
|
2216
|
+
pattern: /[\u2028\u2029]/
|
|
2217
|
+
},
|
|
2218
|
+
{
|
|
2219
|
+
id: "log-log4shell-jndi",
|
|
2220
|
+
description: "Log4Shell: ${jndi:...} triggers remote code execution in Apache Log4j",
|
|
2221
|
+
pattern: /\$\{jndi\s*:/i
|
|
2222
|
+
},
|
|
2223
|
+
{
|
|
2224
|
+
id: "log-log4shell-obfuscated",
|
|
2225
|
+
description: "Obfuscated Log4Shell: ${::-j}... lookup-bypass prefix used to evade WAF detection",
|
|
2226
|
+
pattern: /\$\{::-/
|
|
2227
|
+
},
|
|
2228
|
+
{
|
|
2229
|
+
id: "log-log4j-lookup",
|
|
2230
|
+
description: "Log4j lookup syntax: ${env:...}, ${sys:...}, ${ctx:...} — data exfiltration",
|
|
2231
|
+
pattern: /\$\{(?:env|sys|ctx|main|map|sd|web|docker|k8s|spring)\s*:/i
|
|
2232
|
+
},
|
|
2233
|
+
{
|
|
2234
|
+
id: "log-ssti-double-brace",
|
|
2235
|
+
description: "SSTI double-brace: {{expression}} — Jinja2, Twig, Handlebars, etc.",
|
|
2236
|
+
pattern: /\{\{[\s\S]{0,80}\}\}/
|
|
2237
|
+
},
|
|
2238
|
+
{
|
|
2239
|
+
id: "log-ssti-hash-brace",
|
|
2240
|
+
description: "SSTI hash-brace: #{expression} — Thymeleaf, Velocity, Ruby ERB",
|
|
2241
|
+
pattern: /#\{[\s\S]{0,80}\}/
|
|
2242
|
+
},
|
|
2243
|
+
{
|
|
2244
|
+
id: "log-ssti-dollar-brace",
|
|
2245
|
+
description: "SSTI/EL injection: ${expression with operators or method calls} — JSP EL, Freemarker, SpEL",
|
|
2246
|
+
pattern: /\$\{[^}]*(?:\.|\(|\*|\+|\bclass\b|\bruntime\b|\bprocess\b|\bexec\b)[^}]{0,80}\}/i
|
|
2247
|
+
},
|
|
2248
|
+
{
|
|
2249
|
+
id: "log-ssti-percent-tag",
|
|
2250
|
+
description: "SSTI ERB/ASP tag: <%= expression %> — Ruby ERB, ASP",
|
|
2251
|
+
pattern: /<%=[\s\S]{0,80}%>/
|
|
2252
|
+
},
|
|
2253
|
+
{
|
|
2254
|
+
id: "log-null-byte",
|
|
2255
|
+
description: "Null byte: \\x00 or %00 — can truncate log entries in C-backed loggers",
|
|
2256
|
+
pattern: /\x00|%00/
|
|
2257
|
+
},
|
|
2258
|
+
{
|
|
2259
|
+
id: "log-ansi-escape",
|
|
2260
|
+
description: "ANSI escape sequence: ESC[ — can manipulate terminal output when logs are tailed",
|
|
2261
|
+
pattern: /\x1b\[/
|
|
2262
|
+
}
|
|
2263
|
+
], an = [
|
|
2264
|
+
{
|
|
2265
|
+
id: "sql-line-comment",
|
|
2266
|
+
description: "SQL line comment: -- followed by whitespace or end of string",
|
|
2267
|
+
pattern: /--(?:\s|$)/
|
|
2268
|
+
},
|
|
2269
|
+
{
|
|
2270
|
+
id: "sql-stacked-query",
|
|
2271
|
+
description: "Stacked queries: semicolon immediately followed by a SQL keyword",
|
|
2272
|
+
pattern: /;\s{0,10}(?:SELECT|INSERT|UPDATE|DELETE|DROP|CREATE|ALTER|EXEC)\b/i
|
|
2273
|
+
},
|
|
2274
|
+
{
|
|
2275
|
+
id: "sql-hex-encoding",
|
|
2276
|
+
description: "Hex-encoded string injection: 0x41414141 style (MySQL)",
|
|
2277
|
+
pattern: /\b0x[0-9a-f]{4,}/i
|
|
2278
|
+
}
|
|
2279
|
+
], on = [...$t, ...an];
|
|
2280
|
+
Xt.label = "HTML", Zt.label = "XML", Qt.label = "SVG", $t.label = "SQL", on.label = "SQL-STRICT", en.label = "SHELL", tn.label = "REDOS", nn.label = "NOSQL", rn.label = "LOG", Object.freeze({
|
|
2281
|
+
HTML: Xt,
|
|
2282
|
+
XML: Zt,
|
|
2283
|
+
SVG: Qt,
|
|
2284
|
+
SQL: $t,
|
|
2285
|
+
"SQL-STRICT": on,
|
|
2286
|
+
SHELL: en,
|
|
2287
|
+
REDOS: tn,
|
|
2288
|
+
NOSQL: nn,
|
|
2289
|
+
LOG: rn
|
|
2290
|
+
});
|
|
2291
|
+
function sn(e) {
|
|
2292
|
+
if (typeof e != "string") throw TypeError(`is-unsafe: first argument must be a string, got ${typeof e}`);
|
|
2293
|
+
}
|
|
2294
|
+
function cn(e) {
|
|
2295
|
+
if (!(e instanceof RegExp)) {
|
|
2296
|
+
if (Array.isArray(e)) {
|
|
2297
|
+
if (e.length === 0) throw TypeError("is-unsafe: context must not be an empty array");
|
|
2298
|
+
if (Array.isArray(e[0])) {
|
|
2299
|
+
for (let t of e) if (!Array.isArray(t) || t.length === 0) throw TypeError("is-unsafe: each context in the array must be a non-empty pattern array (PatternList)");
|
|
2300
|
+
}
|
|
2301
|
+
return;
|
|
2302
|
+
}
|
|
2303
|
+
throw TypeError(`is-unsafe: second argument must be a PatternList (e.g. HTML), an array of PatternLists (e.g. [HTML, XML]), or a RegExp. Got: ${typeof e}`);
|
|
2304
|
+
}
|
|
2305
|
+
}
|
|
2306
|
+
function ln(e) {
|
|
2307
|
+
return e instanceof RegExp ? {
|
|
2308
|
+
lists: null,
|
|
2309
|
+
regex: e
|
|
2310
|
+
} : Array.isArray(e[0]) ? {
|
|
2311
|
+
lists: e,
|
|
2312
|
+
regex: null
|
|
2313
|
+
} : {
|
|
2314
|
+
lists: [e],
|
|
2315
|
+
regex: null
|
|
2316
|
+
};
|
|
2317
|
+
}
|
|
2318
|
+
function un(e, t) {
|
|
2319
|
+
let n = t.label ?? "CUSTOM";
|
|
2320
|
+
for (let r of t) if (r.pattern.test(e)) return {
|
|
2321
|
+
context: n,
|
|
2322
|
+
id: r.id,
|
|
2323
|
+
description: r.description,
|
|
2324
|
+
pattern: r.pattern
|
|
2325
|
+
};
|
|
2326
|
+
return null;
|
|
2327
|
+
}
|
|
2328
|
+
function dn(e, t) {
|
|
2329
|
+
sn(e), cn(t);
|
|
2330
|
+
let { lists: n, regex: r } = ln(t);
|
|
2331
|
+
if (r) return r.test(e);
|
|
2332
|
+
for (let t of n) if (un(e, t) !== null) return !0;
|
|
2333
|
+
return !1;
|
|
2334
|
+
}
|
|
2502
2335
|
//#endregion
|
|
2503
|
-
//#region ../../node_modules/.pnpm/fast-xml-parser@5.
|
|
2504
|
-
function
|
|
2336
|
+
//#region ../../node_modules/.pnpm/fast-xml-parser@5.10.1/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js
|
|
2337
|
+
function fn(e, t) {
|
|
2505
2338
|
if (!e) return {};
|
|
2506
2339
|
let n = t.attributesGroupName ? e[t.attributesGroupName] : e;
|
|
2507
2340
|
if (!n) return {};
|
|
@@ -2512,7 +2345,7 @@ function Jt(e, t) {
|
|
|
2512
2345
|
} else r[e] = n[e];
|
|
2513
2346
|
return r;
|
|
2514
2347
|
}
|
|
2515
|
-
function
|
|
2348
|
+
function pn(e) {
|
|
2516
2349
|
if (!e || typeof e != "string") return;
|
|
2517
2350
|
let t = e.indexOf(":");
|
|
2518
2351
|
if (t !== -1 && t > 0) {
|
|
@@ -2520,14 +2353,14 @@ function Yt(e) {
|
|
|
2520
2353
|
if (n !== "xmlns") return n;
|
|
2521
2354
|
}
|
|
2522
2355
|
}
|
|
2523
|
-
var
|
|
2356
|
+
var mn = class {
|
|
2524
2357
|
constructor(e, t) {
|
|
2525
|
-
this.options = e, this.currentNode = null, this.tagsNodeStack = [], this.parseXml =
|
|
2526
|
-
let n = { ...
|
|
2358
|
+
this.options = e, this.currentNode = null, this.tagsNodeStack = [], this.parseXml = yn, this.parseTextData = hn, this.resolveNameSpace = gn, this.buildAttributesMap = vn, this.isItStopNode = Cn, this.replaceEntitiesValue = xn, this.readStopNodeData = Dn, this.saveTextToParentTag = Sn, this.addChild = bn, this.ignoreAttributesFn = Gt(this.options.ignoreAttributes), this.entityExpansionCount = 0, this.currentExpandedLength = 0, this.doctypefound = !1;
|
|
2359
|
+
let n = { ...et };
|
|
2527
2360
|
this.options.entityDecoder ? this.entityDecoder = this.options.entityDecoder : (typeof this.options.htmlEntities == "object" ? n = this.options.htmlEntities : this.options.htmlEntities === !0 && (n = {
|
|
2528
|
-
...
|
|
2529
|
-
|
|
2530
|
-
}), this.entityDecoder = new
|
|
2361
|
+
...tt,
|
|
2362
|
+
...$e
|
|
2363
|
+
}), this.entityDecoder = new st({
|
|
2531
2364
|
namedEntities: {
|
|
2532
2365
|
...n,
|
|
2533
2366
|
...t
|
|
@@ -2537,27 +2370,28 @@ var Xt = class {
|
|
|
2537
2370
|
maxTotalExpansions: this.options.processEntities.maxTotalExpansions,
|
|
2538
2371
|
maxExpandedLength: this.options.processEntities.maxExpandedLength,
|
|
2539
2372
|
applyLimitsTo: this.options.processEntities.appliesTo
|
|
2540
|
-
}
|
|
2541
|
-
|
|
2373
|
+
},
|
|
2374
|
+
onInputEntity: (e, t) => dn(t, [Xt, Zt]) ? R.BLOCK : R.ALLOW
|
|
2375
|
+
})), this.matcher = new Yt(), this.readonlyMatcher = this.matcher.readOnly(), this.isCurrentNodeStopNode = !1, this.stopNodeExpressionsSet = new qt();
|
|
2542
2376
|
let r = this.options.stopNodes;
|
|
2543
2377
|
if (r && r.length > 0) {
|
|
2544
2378
|
for (let e = 0; e < r.length; e++) {
|
|
2545
2379
|
let t = r[e];
|
|
2546
|
-
typeof t == "string" ? this.stopNodeExpressionsSet.add(new
|
|
2380
|
+
typeof t == "string" ? this.stopNodeExpressionsSet.add(new Kt(t)) : t instanceof Kt && this.stopNodeExpressionsSet.add(t);
|
|
2547
2381
|
}
|
|
2548
2382
|
this.stopNodeExpressionsSet.seal();
|
|
2549
2383
|
}
|
|
2550
2384
|
}
|
|
2551
2385
|
};
|
|
2552
|
-
function
|
|
2386
|
+
function hn(e, t, n, r, i, a, o) {
|
|
2553
2387
|
let s = this.options;
|
|
2554
2388
|
if (e !== void 0 && (s.trimValues && !r && (e = e.trim()), e.length > 0)) {
|
|
2555
2389
|
o || (e = this.replaceEntitiesValue(e, t, n));
|
|
2556
2390
|
let r = s.jPath ? n.toString() : n, c = s.tagValueProcessor(t, e, r, i, a);
|
|
2557
|
-
return c == null ? e : typeof c != typeof e || c !== e ? c : s.trimValues || e.trim() === e ?
|
|
2391
|
+
return c == null ? e : typeof c != typeof e || c !== e ? c : s.trimValues || e.trim() === e ? On(e, s.parseTagValue, s.numberParseOptions) : e;
|
|
2558
2392
|
}
|
|
2559
2393
|
}
|
|
2560
|
-
function
|
|
2394
|
+
function gn(e) {
|
|
2561
2395
|
if (this.options.removeNSPrefix) {
|
|
2562
2396
|
let t = e.split(":"), n = e.charAt(0) === "/" ? "/" : "";
|
|
2563
2397
|
if (t[0] === "xmlns") return "";
|
|
@@ -2565,11 +2399,11 @@ function Qt(e) {
|
|
|
2565
2399
|
}
|
|
2566
2400
|
return e;
|
|
2567
2401
|
}
|
|
2568
|
-
var
|
|
2569
|
-
function
|
|
2402
|
+
var _n = /* @__PURE__ */ RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?", "gm");
|
|
2403
|
+
function vn(e, t, n, r = !1) {
|
|
2570
2404
|
let i = this.options;
|
|
2571
2405
|
if (r === !0 || i.ignoreAttributes !== !0 && typeof e == "string") {
|
|
2572
|
-
let r =
|
|
2406
|
+
let r = Fe(e, _n), a = r.length, o = {}, s = Array(a), c = !1, l = {};
|
|
2573
2407
|
for (let e = 0; e < a; e++) {
|
|
2574
2408
|
let t = this.resolveNameSpace(r[e][1]), a = r[e][4];
|
|
2575
2409
|
if (t.length && a !== void 0) {
|
|
@@ -2583,9 +2417,9 @@ function en(e, t, n, r = !1) {
|
|
|
2583
2417
|
let t = this.resolveNameSpace(r[e][1]);
|
|
2584
2418
|
if (this.ignoreAttributesFn(t, u)) continue;
|
|
2585
2419
|
let n = i.attributeNamePrefix + t;
|
|
2586
|
-
if (t.length) if (i.transformAttributeName && (n = i.transformAttributeName(n)), n =
|
|
2420
|
+
if (t.length) if (i.transformAttributeName && (n = i.transformAttributeName(n)), n = An(n, i), r[e][4] !== void 0) {
|
|
2587
2421
|
let r = s[e], a = i.attributeValueProcessor(t, r, u);
|
|
2588
|
-
a == null ? o[n] = r : typeof a != typeof r || a !== r ? o[n] = a : o[n] =
|
|
2422
|
+
a == null ? o[n] = r : typeof a != typeof r || a !== r ? o[n] = a : o[n] = On(r, i.parseAttributeValue, i.numberParseOptions), d = !0;
|
|
2589
2423
|
} else i.allowBooleanAttributes && (o[n] = !0, d = !0);
|
|
2590
2424
|
}
|
|
2591
2425
|
if (!d) return;
|
|
@@ -2596,25 +2430,25 @@ function en(e, t, n, r = !1) {
|
|
|
2596
2430
|
return o;
|
|
2597
2431
|
}
|
|
2598
2432
|
}
|
|
2599
|
-
var
|
|
2433
|
+
var yn = function(e) {
|
|
2600
2434
|
e = e.replace(/\r\n?/g, "\n");
|
|
2601
2435
|
let t = new W("!xml"), n = t, r = "";
|
|
2602
|
-
this.matcher.reset(), this.entityDecoder.reset(), this.entityExpansionCount = 0, this.currentExpandedLength = 0;
|
|
2603
|
-
let i = this.options, a = new
|
|
2436
|
+
this.matcher.reset(), this.entityDecoder.reset(), this.entityExpansionCount = 0, this.currentExpandedLength = 0, this.doctypefound = !1;
|
|
2437
|
+
let i = this.options, a = new Tt(i.processEntities), o = e.length;
|
|
2604
2438
|
for (let s = 0; s < o; s++) if (e[s] === "<") {
|
|
2605
2439
|
let c = e.charCodeAt(s + 1);
|
|
2606
2440
|
if (c === 47) {
|
|
2607
|
-
let t =
|
|
2441
|
+
let t = Q(e, ">", s, "Closing Tag is not closed."), a = e.substring(s + 2, t).trim();
|
|
2608
2442
|
if (i.removeNSPrefix) {
|
|
2609
2443
|
let e = a.indexOf(":");
|
|
2610
2444
|
e !== -1 && (a = a.substr(e + 1));
|
|
2611
2445
|
}
|
|
2612
|
-
a =
|
|
2446
|
+
a = kn(i.transformTagName, a, "", i).tagName, n && (r = this.saveTextToParentTag(r, n, this.readonlyMatcher));
|
|
2613
2447
|
let o = this.matcher.getCurrentTag();
|
|
2614
2448
|
if (a && i.unpairedTagsSet.has(a)) throw Error(`Unpaired tag can not be used as closing tag: </${a}>`);
|
|
2615
2449
|
o && i.unpairedTagsSet.has(o) && (this.matcher.pop(), this.tagsNodeStack.pop()), this.matcher.pop(), this.isCurrentNodeStopNode = !1, n = this.tagsNodeStack.pop(), r = "", s = t;
|
|
2616
2450
|
} else if (c === 63) {
|
|
2617
|
-
let t =
|
|
2451
|
+
let t = En(e, s, !1, "?>");
|
|
2618
2452
|
if (!t) throw Error("Pi Tag is not closed.");
|
|
2619
2453
|
r = this.saveTextToParentTag(r, n, this.readonlyMatcher);
|
|
2620
2454
|
let o = this.buildAttributesMap(t.tagExp, this.matcher, t.tagName, !0);
|
|
@@ -2628,35 +2462,37 @@ var tn = function(e) {
|
|
|
2628
2462
|
}
|
|
2629
2463
|
s = t.closeIndex + 1;
|
|
2630
2464
|
} else if (c === 33 && e.charCodeAt(s + 2) === 45 && e.charCodeAt(s + 3) === 45) {
|
|
2631
|
-
let t =
|
|
2465
|
+
let t = Q(e, "-->", s + 4, "Comment is not closed.");
|
|
2632
2466
|
if (i.commentPropName) {
|
|
2633
2467
|
let a = e.substring(s + 4, t - 2);
|
|
2634
2468
|
r = this.saveTextToParentTag(r, n, this.readonlyMatcher), n.add(i.commentPropName, [{ [i.textNodeName]: a }]);
|
|
2635
2469
|
}
|
|
2636
2470
|
s = t;
|
|
2637
2471
|
} else if (c === 33 && e.charCodeAt(s + 2) === 68) {
|
|
2472
|
+
if (this.doctypefound) throw Error("Multiple DOCTYPE declarations found.");
|
|
2473
|
+
this.doctypefound = !0;
|
|
2638
2474
|
let t = a.readDocType(e, s);
|
|
2639
2475
|
this.entityDecoder.addInputEntities(t.entities), s = t.i;
|
|
2640
2476
|
} else if (c === 33 && e.charCodeAt(s + 2) === 91) {
|
|
2641
|
-
let t =
|
|
2477
|
+
let t = Q(e, "]]>", s, "CDATA is not closed.") - 2, a = e.substring(s + 9, t);
|
|
2642
2478
|
r = this.saveTextToParentTag(r, n, this.readonlyMatcher);
|
|
2643
2479
|
let o = this.parseTextData(a, n.tagname, this.readonlyMatcher, !0, !1, !0, !0);
|
|
2644
2480
|
o ??= "", i.cdataPropName ? n.add(i.cdataPropName, [{ [i.textNodeName]: a }]) : n.add(i.textNodeName, o), s = t + 2;
|
|
2645
2481
|
} else {
|
|
2646
|
-
let a =
|
|
2482
|
+
let a = En(e, s, i.removeNSPrefix);
|
|
2647
2483
|
if (!a) {
|
|
2648
2484
|
let t = e.substring(Math.max(0, s - 50), Math.min(o, s + 50));
|
|
2649
2485
|
throw Error(`readTagExp returned undefined at position ${s}. Context: "${t}"`);
|
|
2650
2486
|
}
|
|
2651
2487
|
let c = a.tagName, l = a.rawTagName, u = a.tagExp, d = a.attrExpPresent, f = a.closeIndex;
|
|
2652
|
-
if ({tagName: c, tagExp: u} =
|
|
2488
|
+
if ({tagName: c, tagExp: u} = kn(i.transformTagName, c, u, i), i.strictReservedNames && (c === i.commentPropName || c === i.cdataPropName || c === i.textNodeName || c === i.attributesGroupName)) throw Error(`Invalid tag name: ${c}`);
|
|
2653
2489
|
n && r && n.tagname !== "!xml" && (r = this.saveTextToParentTag(r, n, this.readonlyMatcher, !1));
|
|
2654
2490
|
let p = n;
|
|
2655
2491
|
p && i.unpairedTagsSet.has(p.tagname) && (n = this.tagsNodeStack.pop(), this.matcher.pop());
|
|
2656
2492
|
let m = !1;
|
|
2657
2493
|
u.length > 0 && u.lastIndexOf("/") === u.length - 1 && (m = !0, c[c.length - 1] === "/" ? (c = c.substr(0, c.length - 1), u = c) : u = u.substr(0, u.length - 1), d = c !== u);
|
|
2658
2494
|
let h = null, g;
|
|
2659
|
-
g =
|
|
2495
|
+
g = pn(l), c !== t.tagname && this.matcher.push(c, {}, g), c !== u && d && (h = this.buildAttributesMap(u, this.matcher, c), h && fn(h, i)), c !== t.tagname && (this.isCurrentNodeStopNode = this.isItStopNode());
|
|
2660
2496
|
let _ = s;
|
|
2661
2497
|
if (this.isCurrentNodeStopNode) {
|
|
2662
2498
|
let t = "";
|
|
@@ -2671,7 +2507,7 @@ var tn = function(e) {
|
|
|
2671
2507
|
h && (r[":@"] = h), r.add(i.textNodeName, t), this.matcher.pop(), this.isCurrentNodeStopNode = !1, this.addChild(n, r, this.readonlyMatcher, _);
|
|
2672
2508
|
} else {
|
|
2673
2509
|
if (m) {
|
|
2674
|
-
({tagName: c, tagExp: u} =
|
|
2510
|
+
({tagName: c, tagExp: u} = kn(i.transformTagName, c, u, i));
|
|
2675
2511
|
let e = new W(c);
|
|
2676
2512
|
h && (e[":@"] = h), this.addChild(n, e, this.readonlyMatcher, _), this.matcher.pop(), this.isCurrentNodeStopNode = !1;
|
|
2677
2513
|
} else if (i.unpairedTagsSet.has(c)) {
|
|
@@ -2689,12 +2525,12 @@ var tn = function(e) {
|
|
|
2689
2525
|
} else r += e[s];
|
|
2690
2526
|
return t.child;
|
|
2691
2527
|
};
|
|
2692
|
-
function
|
|
2528
|
+
function bn(e, t, n, r) {
|
|
2693
2529
|
this.options.captureMetaData || (r = void 0);
|
|
2694
2530
|
let i = this.options.jPath ? n.toString() : n, a = this.options.updateTag(t.tagname, i, t[":@"]);
|
|
2695
2531
|
a === !1 || (typeof a == "string" && (t.tagname = a), e.addChild(t, r));
|
|
2696
2532
|
}
|
|
2697
|
-
function
|
|
2533
|
+
function xn(e, t, n) {
|
|
2698
2534
|
let r = this.options.processEntities;
|
|
2699
2535
|
if (!r || !r.enabled) return e;
|
|
2700
2536
|
if (r.allowedTags) {
|
|
@@ -2707,13 +2543,13 @@ function rn(e, t, n) {
|
|
|
2707
2543
|
}
|
|
2708
2544
|
return this.entityDecoder.decode(e);
|
|
2709
2545
|
}
|
|
2710
|
-
function
|
|
2546
|
+
function Sn(e, t, n, r) {
|
|
2711
2547
|
return e &&= (r === void 0 && (r = t.child.length === 0), e = this.parseTextData(e, t.tagname, n, !1, t[":@"] ? Object.keys(t[":@"]).length !== 0 : !1, r), e !== void 0 && e !== "" && t.add(this.options.textNodeName, e), ""), e;
|
|
2712
2548
|
}
|
|
2713
|
-
function
|
|
2714
|
-
return this.stopNodeExpressionsSet.size
|
|
2549
|
+
function Cn() {
|
|
2550
|
+
return this.stopNodeExpressionsSet.size !== 0 && this.matcher.matchesAny(this.stopNodeExpressionsSet);
|
|
2715
2551
|
}
|
|
2716
|
-
function
|
|
2552
|
+
function wn(e, t, n = ">") {
|
|
2717
2553
|
let r = 0, i = e.length, a = n.charCodeAt(0), o = n.length > 1 ? n.charCodeAt(1) : -1, s = "", c = t;
|
|
2718
2554
|
for (let n = t; n < i; n++) {
|
|
2719
2555
|
let t = e.charCodeAt(n);
|
|
@@ -2731,18 +2567,18 @@ function sn(e, t, n = ">") {
|
|
|
2731
2567
|
else t === 9 && !r && (s += e.substring(c, n) + " ", c = n + 1);
|
|
2732
2568
|
}
|
|
2733
2569
|
}
|
|
2734
|
-
function
|
|
2570
|
+
function Q(e, t, n, r) {
|
|
2735
2571
|
let i = e.indexOf(t, n);
|
|
2736
2572
|
if (i === -1) throw Error(r);
|
|
2737
2573
|
return i + t.length - 1;
|
|
2738
2574
|
}
|
|
2739
|
-
function
|
|
2575
|
+
function Tn(e, t, n, r) {
|
|
2740
2576
|
let i = e.indexOf(t, n);
|
|
2741
2577
|
if (i === -1) throw Error(r);
|
|
2742
2578
|
return i;
|
|
2743
2579
|
}
|
|
2744
|
-
function
|
|
2745
|
-
let i =
|
|
2580
|
+
function En(e, t, n, r = ">") {
|
|
2581
|
+
let i = wn(e, t + 1, r);
|
|
2746
2582
|
if (!i) return;
|
|
2747
2583
|
let a = i.data, o = i.index, s = a.search(/\s/), c = a, l = !0;
|
|
2748
2584
|
s !== -1 && (c = a.substring(0, s), a = a.substring(s + 1).trimStart());
|
|
@@ -2759,51 +2595,51 @@ function Q(e, t, n, r = ">") {
|
|
|
2759
2595
|
rawTagName: u
|
|
2760
2596
|
};
|
|
2761
2597
|
}
|
|
2762
|
-
function
|
|
2598
|
+
function Dn(e, t, n) {
|
|
2763
2599
|
let r = n, i = 1, a = e.length;
|
|
2764
2600
|
for (; n < a; n++) if (e[n] === "<") {
|
|
2765
2601
|
let a = e.charCodeAt(n + 1);
|
|
2766
2602
|
if (a === 47) {
|
|
2767
|
-
let a =
|
|
2603
|
+
let a = Tn(e, ">", n, `${t} is not closed`);
|
|
2768
2604
|
if (e.substring(n + 2, a).trim() === t && (i--, i === 0)) return {
|
|
2769
2605
|
tagContent: e.substring(r, n),
|
|
2770
2606
|
i: a
|
|
2771
2607
|
};
|
|
2772
2608
|
n = a;
|
|
2773
|
-
} else if (a === 63) n =
|
|
2774
|
-
else if (a === 33 && e.charCodeAt(n + 2) === 45 && e.charCodeAt(n + 3) === 45) n =
|
|
2775
|
-
else if (a === 33 && e.charCodeAt(n + 2) === 91) n =
|
|
2609
|
+
} else if (a === 63) n = Q(e, "?>", n + 1, "StopNode is not closed.");
|
|
2610
|
+
else if (a === 33 && e.charCodeAt(n + 2) === 45 && e.charCodeAt(n + 3) === 45) n = Q(e, "-->", n + 3, "StopNode is not closed.");
|
|
2611
|
+
else if (a === 33 && e.charCodeAt(n + 2) === 91) n = Q(e, "]]>", n, "StopNode is not closed.") - 2;
|
|
2776
2612
|
else {
|
|
2777
|
-
let r =
|
|
2613
|
+
let r = En(e, n, !1);
|
|
2778
2614
|
r && ((r && r.tagName) === t && r.tagExp[r.tagExp.length - 1] !== "/" && i++, n = r.closeIndex);
|
|
2779
2615
|
}
|
|
2780
2616
|
}
|
|
2781
2617
|
}
|
|
2782
|
-
function
|
|
2618
|
+
function On(e, t, n) {
|
|
2783
2619
|
if (t && typeof e == "string") {
|
|
2784
2620
|
let t = e.trim();
|
|
2785
|
-
return t === "true"
|
|
2786
|
-
}
|
|
2787
|
-
|
|
2621
|
+
return t === "true" || t !== "false" && zt(e, n);
|
|
2622
|
+
}
|
|
2623
|
+
return Le(e) ? e : "";
|
|
2788
2624
|
}
|
|
2789
|
-
function
|
|
2625
|
+
function kn(e, t, n, r) {
|
|
2790
2626
|
if (e) {
|
|
2791
2627
|
let r = e(t);
|
|
2792
2628
|
n === t && (n = r), t = r;
|
|
2793
2629
|
}
|
|
2794
|
-
return t =
|
|
2630
|
+
return t = An(t, r), {
|
|
2795
2631
|
tagName: t,
|
|
2796
2632
|
tagExp: n
|
|
2797
2633
|
};
|
|
2798
2634
|
}
|
|
2799
|
-
function
|
|
2800
|
-
if (
|
|
2801
|
-
return
|
|
2635
|
+
function An(e, t) {
|
|
2636
|
+
if (Re.includes(e)) throw Error(`[SECURITY] Invalid name: "${e}" is a reserved JavaScript keyword that could cause prototype pollution`);
|
|
2637
|
+
return P.includes(e) ? t.onDangerousProperty(e) : e;
|
|
2802
2638
|
}
|
|
2803
2639
|
//#endregion
|
|
2804
|
-
//#region ../../node_modules/.pnpm/fast-xml-parser@5.
|
|
2805
|
-
var
|
|
2806
|
-
function
|
|
2640
|
+
//#region ../../node_modules/.pnpm/fast-xml-parser@5.10.1/node_modules/fast-xml-parser/src/xmlparser/node2json.js
|
|
2641
|
+
var $ = W.getMetaDataSymbol();
|
|
2642
|
+
function jn(e, t) {
|
|
2807
2643
|
if (!e || typeof e != "object") return {};
|
|
2808
2644
|
if (!t) return e;
|
|
2809
2645
|
let n = {};
|
|
@@ -2813,67 +2649,67 @@ function pn(e, t) {
|
|
|
2813
2649
|
} else n[r] = e[r];
|
|
2814
2650
|
return n;
|
|
2815
2651
|
}
|
|
2816
|
-
function
|
|
2817
|
-
return
|
|
2652
|
+
function Mn(e, t, n, r) {
|
|
2653
|
+
return Nn(e, t, n, r);
|
|
2818
2654
|
}
|
|
2819
|
-
function
|
|
2655
|
+
function Nn(e, t, n, r) {
|
|
2820
2656
|
let i, a = {};
|
|
2821
2657
|
for (let o = 0; o < e.length; o++) {
|
|
2822
|
-
let s = e[o], c =
|
|
2658
|
+
let s = e[o], c = Pn(s);
|
|
2823
2659
|
if (c !== void 0 && c !== t.textNodeName) {
|
|
2824
|
-
let e =
|
|
2660
|
+
let e = jn(s[":@"] || {}, t.attributeNamePrefix);
|
|
2825
2661
|
n.push(c, e);
|
|
2826
2662
|
}
|
|
2827
2663
|
if (c === t.textNodeName) i === void 0 ? i = s[c] : i += "" + s[c];
|
|
2828
2664
|
else if (c === void 0) continue;
|
|
2829
2665
|
else if (s[c]) {
|
|
2830
|
-
let e =
|
|
2831
|
-
if (Object.keys(e).length === 0 && t.alwaysCreateTextNode && (e[t.textNodeName] = ""), s[":@"] ?
|
|
2666
|
+
let e = Nn(s[c], t, n, r), i = In(e, t);
|
|
2667
|
+
if (Object.keys(e).length === 0 && t.alwaysCreateTextNode && (e[t.textNodeName] = ""), s[":@"] ? Fn(e, s[":@"], r, t) : Object.keys(e).length === 1 && e[t.textNodeName] !== void 0 && !t.alwaysCreateTextNode ? e = e[t.textNodeName] : Object.keys(e).length === 0 && (t.alwaysCreateTextNode ? e[t.textNodeName] = "" : e = ""), s[$] !== void 0 && typeof e == "object" && e && (e[$] = s[$]), a[c] !== void 0 && Object.prototype.hasOwnProperty.call(a, c)) Array.isArray(a[c]) || (a[c] = [a[c]]), a[c].push(e);
|
|
2832
2668
|
else {
|
|
2833
2669
|
let n = t.jPath ? r.toString() : r;
|
|
2834
|
-
t.isArray(c, n, i) ?
|
|
2670
|
+
a[c] = t.isArray(c, n, i) ? [e] : e;
|
|
2835
2671
|
}
|
|
2836
2672
|
c !== void 0 && c !== t.textNodeName && n.pop();
|
|
2837
2673
|
}
|
|
2838
2674
|
}
|
|
2839
2675
|
return typeof i == "string" ? i.length > 0 && (a[t.textNodeName] = i) : i !== void 0 && (a[t.textNodeName] = i), a;
|
|
2840
2676
|
}
|
|
2841
|
-
function
|
|
2677
|
+
function Pn(e) {
|
|
2842
2678
|
let t = Object.keys(e);
|
|
2843
2679
|
for (let e = 0; e < t.length; e++) {
|
|
2844
2680
|
let n = t[e];
|
|
2845
2681
|
if (n !== ":@") return n;
|
|
2846
2682
|
}
|
|
2847
2683
|
}
|
|
2848
|
-
function
|
|
2684
|
+
function Fn(e, t, n, r) {
|
|
2849
2685
|
if (t) {
|
|
2850
2686
|
let i = Object.keys(t), a = i.length;
|
|
2851
2687
|
for (let o = 0; o < a; o++) {
|
|
2852
2688
|
let a = i[o], s = a.startsWith(r.attributeNamePrefix) ? a.substring(r.attributeNamePrefix.length) : a, c = r.jPath ? n.toString() + "." + s : n;
|
|
2853
|
-
r.isArray(a, c, !0, !0) ?
|
|
2689
|
+
e[a] = r.isArray(a, c, !0, !0) ? [t[a]] : t[a];
|
|
2854
2690
|
}
|
|
2855
2691
|
}
|
|
2856
2692
|
}
|
|
2857
|
-
function
|
|
2693
|
+
function In(e, t) {
|
|
2858
2694
|
let { textNodeName: n } = t, r = Object.keys(e).length;
|
|
2859
2695
|
return !!(r === 0 || r === 1 && (e[n] || typeof e[n] == "boolean" || e[n] === 0));
|
|
2860
2696
|
}
|
|
2861
2697
|
//#endregion
|
|
2862
|
-
//#region ../../node_modules/.pnpm/fast-xml-parser@5.
|
|
2863
|
-
var
|
|
2698
|
+
//#region ../../node_modules/.pnpm/fast-xml-parser@5.10.1/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js
|
|
2699
|
+
var Ln = class {
|
|
2864
2700
|
constructor(e) {
|
|
2865
|
-
this.externalEntities = {}, this.options =
|
|
2701
|
+
this.externalEntities = {}, this.options = ft(e);
|
|
2866
2702
|
}
|
|
2867
2703
|
parse(e, t) {
|
|
2868
2704
|
if (typeof e != "string" && e.toString) e = e.toString();
|
|
2869
2705
|
else if (typeof e != "string") throw Error("XML data is accepted in String or Bytes[] form.");
|
|
2870
2706
|
if (t) {
|
|
2871
2707
|
t === !0 && (t = {});
|
|
2872
|
-
let n =
|
|
2708
|
+
let n = Be(e, t);
|
|
2873
2709
|
if (n !== !0) throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`);
|
|
2874
2710
|
}
|
|
2875
|
-
let n = new
|
|
2876
|
-
return this.options.preserveOrder || r === void 0 ? r :
|
|
2711
|
+
let n = new mn(this.options, this.externalEntities), r = n.parseXml(e);
|
|
2712
|
+
return this.options.preserveOrder || r === void 0 ? r : Mn(r, this.options, n.matcher, n.readonlyMatcher);
|
|
2877
2713
|
}
|
|
2878
2714
|
addEntity(e, t) {
|
|
2879
2715
|
if (t.indexOf("&") !== -1) throw Error("Entity value can't have '&'");
|
|
@@ -2884,7 +2720,7 @@ var yn = class {
|
|
|
2884
2720
|
static getMetaDataSymbol() {
|
|
2885
2721
|
return W.getMetaDataSymbol();
|
|
2886
2722
|
}
|
|
2887
|
-
},
|
|
2723
|
+
}, Rn = class {
|
|
2888
2724
|
axiosClient;
|
|
2889
2725
|
baseURI;
|
|
2890
2726
|
xmlParser;
|
|
@@ -2894,7 +2730,7 @@ var yn = class {
|
|
|
2894
2730
|
HASH_LENGTH = 32;
|
|
2895
2731
|
ITERATION_COUNT = 1e4;
|
|
2896
2732
|
constructor({ axiosClient: e, baseURI: t }) {
|
|
2897
|
-
this.axiosClient = e, this.baseURI = t, this.xmlParser = new
|
|
2733
|
+
this.axiosClient = e, this.baseURI = t, this.xmlParser = new Ln();
|
|
2898
2734
|
}
|
|
2899
2735
|
async signUrl(e, t) {
|
|
2900
2736
|
let n = new URL(e);
|
|
@@ -2904,20 +2740,20 @@ var yn = class {
|
|
|
2904
2740
|
}
|
|
2905
2741
|
async getSignKey() {
|
|
2906
2742
|
if (this.signingKey) return this.signingKey;
|
|
2907
|
-
let e = await this.axiosClient.get(
|
|
2908
|
-
return this.signingKey =
|
|
2743
|
+
let e = await this.axiosClient.get(t(this.baseURI, "ocs/v1.php/cloud/user/signing-key"), { headers: { "Content-Type": "application/x-www-form-urlencoded" } }), n = this.xmlParser.parse(e.data);
|
|
2744
|
+
return this.signingKey = n.ocs.data["signing-key"], this.signingKey;
|
|
2909
2745
|
}
|
|
2910
2746
|
async createHashedKey(e) {
|
|
2911
|
-
return
|
|
2747
|
+
return Ne(e, await this.getSignKey(), this.ITERATION_COUNT, this.HASH_LENGTH, this.ALGORITHM).toString("hex");
|
|
2912
2748
|
}
|
|
2913
|
-
},
|
|
2749
|
+
}, zn = (e, t) => {
|
|
2914
2750
|
let n = new URL(e);
|
|
2915
2751
|
n.pathname = [
|
|
2916
2752
|
...n.pathname.split("/"),
|
|
2917
2753
|
"ocs",
|
|
2918
2754
|
"v1.php"
|
|
2919
2755
|
].filter(Boolean).join("/");
|
|
2920
|
-
let r = n.href, i = v(r, t), a = new
|
|
2756
|
+
let r = n.href, i = v(r, t), a = new Rn({
|
|
2921
2757
|
baseURI: e,
|
|
2922
2758
|
axiosClient: t
|
|
2923
2759
|
});
|
|
@@ -2927,4 +2763,4 @@ var yn = class {
|
|
|
2927
2763
|
};
|
|
2928
2764
|
};
|
|
2929
2765
|
//#endregion
|
|
2930
|
-
export {
|
|
2766
|
+
export { wt as a, Kt as i, Ln as n, v as o, Yt as r, zn as t };
|