@jinntec/fore
Version:
Fore - declarative user interfaces in plain HTML
1,427 lines (1,422 loc) • 1.22 MB
JavaScript
/* Version: 3.0.1 - March 16, 2026 17:32:44 */
function t$2(t, s, r, i) {
const n = {
op: s,
func: r,
data: i
};
return t.push(n), n;
}
function s$2(t, s) {
return t;
}
class r$2 {
constructor() {
this.program = [];
}
test(s, r) {
return t$2(this.program, 5, s, void 0 === r ? null : r);
}
jump(s) {
return t$2(this.program, 3, null, s);
}
record(r, i) {
return t$2(this.program, 4, void 0 === i ? s$2 : i, r);
}
bad(s = 1) {
return t$2(this.program, 1, null, s);
}
accept() {
return t$2(this.program, 0, null, null);
}
fail(s) {
return t$2(this.program, 2, s || null, null);
}
}
class i$2 {
constructor(t, s, r) {
this.programLength = t, this.maxFromByPc = s, this.maxSurvivorFromByPc = r;
}
static fromProgram(t) {
const s = t.length,
r = [],
n = [];
return t.forEach(t => {
r.push(0), n.push(0);
}), t.forEach((t, i) => {
switch (t.op) {
case 2:
if (null === t.func) return;
if (i + 1 >= s) throw new Error("Invalid program: program could run past end");
r[i + 1] += 1;
break;
case 1:
case 4:
if (i + 1 >= s) throw new Error("Invalid program: program could run past end");
r[i + 1] += 1;
break;
case 3:
t.data.forEach(t => {
if (t < 0 || t >= s) throw new Error("Invalid program: program could run past end");
r[t] += 1;
});
break;
case 5:
if (i + 1 >= s) throw new Error("Invalid program: program could run past end");
n[i + 1] += 1;
break;
case 0:
n[i] += 1;
}
}), new i$2(s, r, n);
}
static createStub(t) {
const s = [],
r = [];
for (let i = 0; i < t; ++i) s.push(t), r.push(t);
return new i$2(t, s, r);
}
}
class n$2 {
constructor(t) {
this.acceptingTraces = t, this.success = t.length > 0;
}
}
class h$2 {
constructor(t) {
this.t = 0, this.i = 0, this.h = new Uint16Array(t), this.l = new Uint8Array(t);
}
getBadness(t) {
return this.l[t];
}
add(t, s) {
this.l[t] = s > 255 ? 255 : s;
const r = function (t, s, r, i, n) {
let h = i,
e = n;
for (; h < e;) {
const i = h + e >>> 1;
r < s[t[i]] ? e = i : h = i + 1;
}
return h;
}(this.h, this.l, s, this.i, this.t);
this.h.copyWithin(r + 1, r, this.t), this.h[r] = t, this.t += 1;
}
reschedule(t, s) {
const r = Math.max(this.l[t], s > 255 ? 255 : s);
if (this.l[t] !== r) {
const s = this.h.indexOf(t, this.i);
if (s < 0 || s >= this.t) return void (this.l[t] = r);
this.h.copyWithin(s, s + 1, this.t), this.t -= 1, this.add(t, r);
}
}
getNextPc() {
return this.i >= this.t ? null : this.h[this.i++];
}
reset() {
this.t = 0, this.i = 0, this.l.fill(0);
}
}
class e$2 {
constructor(t) {
this.o = [];
let s = t.length;
t.forEach(t => {
this.o.push(t > 0 ? s : -1), s += t;
}), this.u = new Uint16Array(s);
}
clear() {
this.u.fill(0, 0, this.o.length);
}
add(t, s) {
const r = this.u[s],
i = this.o[s];
this.u[s] += 1, this.u[i + r] = t;
}
has(t) {
return this.u[t] > 0;
}
forEach(t, s) {
const r = this.u[t],
i = this.o[t];
for (let t = i; t < i + r; ++t) s(this.u[t]);
}
}
function l$2(t, s, r = !1) {
return null === t ? s : Array.isArray(t) ? (-1 === t.indexOf(s) && (r && (t = t.slice()), t.push(s)), t) : t === s ? t : [t, s];
}
class c$2 {
constructor(t, s) {
this.prefixes = t, this.record = s;
}
}
function o$2(t, s) {
let r;
if (null === s) {
if (!Array.isArray(t)) return t;
r = t;
} else r = t === c$2.EMPTY ? [] : Array.isArray(t) ? t : [t];
return new c$2(r, s);
}
c$2.EMPTY = new c$2([], null);
class u$2 {
constructor(t) {
this.p = [], this.v = [];
for (let s = 0; s < t; ++s) this.p.push(0), this.v.push(null);
}
mergeTraces(t, s, r, i, n, h) {
let e = !1;
return r.forEach(s, s => {
const r = this.trace(s, i, n, h);
var c, o, u;
o = r, u = e, t = null === (c = t) ? o : null === o ? c : Array.isArray(o) ? o.reduce((t, s) => l$2(t, s, t === o), c) : l$2(c, o, u), e = t === r;
}), t;
}
trace(t, s, r, i) {
switch (this.p[t]) {
case 2:
return this.v[t];
case 1:
return null;
}
this.p[t] = 1;
let n = null;
const h = s[t];
if (null !== h) n = h;else if (!r.has(t)) throw new Error("Trace without source at pc " + t);
if (n = this.mergeTraces(n, t, r, s, r, i), null !== n) {
const s = i[t];
null !== s && (n = o$2(n, s));
}
return this.v[t] = n, this.p[t] = 2, n;
}
buildSurvivorTraces(t, s, r, i, n) {
for (let h = 0, e = t.length; h < e; ++h) {
if (!r.has(h)) {
s[h] = null;
continue;
}
this.v.fill(null), this.p.fill(0);
const e = this.mergeTraces(null, h, r, t, i, n);
if (null === e) throw new Error("No non-cyclic paths found to survivor " + h);
s[h] = o$2(e, null);
}
this.v.fill(null);
}
}
class a$2 {
constructor(t) {
this.g = [], this.k = [], this.m = [], this.A = new e$2(t.maxFromByPc), this.T = new e$2(t.maxSurvivorFromByPc), this.S = new u$2(t.programLength);
for (let s = 0; s < t.programLength; ++s) this.g.push(null), this.k.push(null), this.m.push(null);
this.k[0] = c$2.EMPTY;
}
reset(t) {
this.A.clear(), this.T.clear(), this.g.fill(null), t && (this.k.fill(null), this.m.fill(null), this.k[0] = c$2.EMPTY);
}
record(t, s) {
this.g[t] = s;
}
has(t) {
return this.A.has(t) || null !== this.k[t];
}
add(t, s) {
this.A.add(t, s);
}
hasSurvivor(t) {
return this.T.has(t);
}
addSurvivor(t, s) {
this.T.add(t, s);
}
buildSurvivorTraces() {
const t = this.k;
this.S.buildSurvivorTraces(t, this.m, this.T, this.A, this.g), this.k = this.m, this.m = t;
}
getTraces(t) {
const s = t.reduce((t, s) => l$2(t, this.k[s]), null);
return null === s ? [] : Array.isArray(s) ? s : [s];
}
}
class f$2 {
constructor(t) {
this.I = [], this.N = new h$2(t.programLength), this.M = new h$2(t.programLength), this.P = new a$2(t);
}
reset() {
this.N.reset(), this.N.add(0, 0), this.I.length = 0, this.P.reset(!0);
}
getNextThreadPc() {
return this.N.getNextPc();
}
step(t, s, r) {
const i = this.P.has(s);
this.P.add(t, s);
const n = this.N.getBadness(t) + r;
i ? this.N.reschedule(s, n) : this.N.add(s, n);
}
stepToNextGeneration(t, s) {
const r = this.P.hasSurvivor(s);
this.P.addSurvivor(t, s);
const i = this.N.getBadness(t);
r ? this.M.reschedule(s, i) : this.M.add(s, i);
}
accept(t) {
this.I.push(t), this.P.addSurvivor(t, t);
}
fail(t) {}
record(t, s) {
this.P.record(t, s);
}
nextGeneration() {
this.P.buildSurvivorTraces(), this.P.reset(!1);
const t = this.N;
t.reset(), this.N = this.M, this.M = t;
}
getAcceptingTraces() {
return this.P.getTraces(this.I);
}
}
class d$2 {
constructor(t) {
this.U = [], this.G = t, this.V = i$2.fromProgram(t), this.U.push(new f$2(this.V));
}
execute(t, s) {
const r = this.U.pop() || new f$2(this.V);
r.reset();
const i = t.length;
let h,
e = -1;
do {
let n = r.getNextThreadPc();
if (null === n) break;
for (++e, h = e >= i ? null : t[e]; null !== n;) {
const t = this.G[n];
switch (t.op) {
case 0:
null === h ? r.accept(n) : r.fail(n);
break;
case 2:
{
const i = t.func;
if (null === i || i(s)) {
r.fail(n);
break;
}
r.step(n, n + 1, 0);
break;
}
case 1:
r.step(n, n + 1, t.data);
break;
case 5:
if (null === h) {
r.fail(n);
break;
}
if (!(0, t.func)(h, t.data, s)) {
r.fail(n);
break;
}
r.stepToNextGeneration(n, n + 1);
break;
case 3:
{
const s = t.data,
i = s.length;
if (0 === i) {
r.fail(n);
break;
}
for (let t = 0; t < i; ++t) r.step(n, s[t], 0);
break;
}
case 4:
{
const i = (0, t.func)(t.data, e, s);
null != i && r.record(n, i), r.step(n, n + 1, 0);
break;
}
}
n = r.getNextThreadPc();
}
r.nextGeneration();
} while (null !== h);
const l = new n$2(r.getAcceptingTraces());
return r.reset(), this.U.push(r), l;
}
}
function w$2(t) {
const s = new r$2();
return t(s), new d$2(s.program);
}
function B$1(A) {
return B => B === A;
}
function a$1(A, B) {
if (null === A || null === B) throw new Error("unescaped hyphen may not be used as a range endpoint");
if (B < A) throw new Error("character range is in the wrong order");
return a => A <= a && a <= B;
}
function n$1(A) {
return !0;
}
function e$1() {
return !1;
}
function t$1(A, B) {
return a => A(a) || B(a);
}
function G$1(A, B) {
switch (B.kind) {
case "predicate":
return void A.test(B.value);
case "regexp":
return void r$1(A, B.value, !1);
}
}
function i$1(A, B) {
B.forEach(B => {
!function (A, B) {
const [a, {
min: n,
max: e
}] = B;
if (null !== e) {
for (let B = 0; B < n; ++B) G$1(A, a);
for (let B = n; B < e; ++B) {
const B = A.jump([]);
B.data.push(A.program.length), G$1(A, a), B.data.push(A.program.length);
}
} else if (n > 0) {
for (let B = 0; B < n - 1; ++B) G$1(A, a);
const B = A.program.length;
G$1(A, a), A.jump([B]).data.push(A.program.length);
} else {
const B = A.program.length,
n = A.jump([]);
n.data.push(A.program.length), G$1(A, a), A.jump([B]), n.data.push(A.program.length);
}
}(A, B);
});
}
function r$1(A, B, a) {
const n = A.program.length,
e = A.jump([]);
a && (e.data.push(A.program.length), A.test(() => !0), A.jump([n]));
const t = [];
if (B.forEach(B => {
e.data.push(A.program.length), i$1(A, B), t.push(A.jump([]));
}), t.forEach(B => {
B.data.push(A.program.length);
}), a) {
const B = A.program.length,
a = A.jump([]);
a.data.push(A.program.length), A.test(() => !0), A.jump([B]), a.data.push(A.program.length);
}
}
function o$1(A, B) {
return {
success: !0,
offset: A,
value: B
};
}
function l$1(A) {
return o$1(A, void 0);
}
function H$1(A, B, a = !1) {
return {
success: !1,
offset: A,
expected: B,
fatal: a
};
}
function C$1(A) {
return (B, a) => {
const n = a + A.length;
return B.slice(a, n) === A ? o$1(n, A) : H$1(a, [A]);
};
}
function u$1(A, B) {
return (a, n) => {
const e = A(a, n);
return e.success ? o$1(e.offset, B(e.value)) : e;
};
}
function s$1(A, B, a, n) {
return (e, t) => {
const G = A(e, t);
return G.success ? B(G.value) ? G : H$1(t, a, n) : G;
};
}
function c$1(A, B) {
return (a, n) => {
let e = null;
for (const t of A) {
const A = t(a, n);
if (A.success) return A;
if (null === e || A.offset > e.offset ? e = A : A.offset === e.offset && void 0 === B && (e.expected = e.expected.concat(A.expected)), A.fatal) return A;
}
return B = B || (null == e ? void 0 : e.expected) || [], e && (e.expected = B), e || H$1(n, B);
};
}
function D$1(A) {
return (B, a) => {
const n = A(B, a);
return n.success || n.fatal ? n : o$1(a, null);
};
}
function m$1(A) {
return (B, a) => {
let n = [],
e = a;
for (;;) {
const a = A(B, e);
if (!a.success) {
if (a.fatal) return a;
break;
}
if (n.push(a.value), a.offset === e) break;
e = a.offset;
}
return o$1(e, n);
};
}
function I$1(A, B, a) {
return (n, e) => {
const t = A(n, e);
if (!t.success) return t;
const G = B(n, t.offset);
return G.success ? o$1(G.offset, a(t.value, G.value)) : G;
};
}
function d$1(A) {
return I$1(A, m$1(A), (A, B) => [A].concat(B));
}
function h$1(A, B) {
return A;
}
function p$1(A, B) {
return B;
}
function T(A, B) {
return I$1(A, B, p$1);
}
function F$1(A, B) {
return I$1(A, B, h$1);
}
function E$1(A, B, a, n = !1) {
return T(A, n ? f$1(F$1(B, a)) : F$1(B, a));
}
function g$1(A, B) {
return (a, n) => A(a, n).success ? H$1(n, B) : l$1(n);
}
function f$1(A) {
return (B, a) => {
const n = A(B, a);
return n.success ? n : H$1(n.offset, n.expected, !0);
};
}
const P$1 = (A, B) => A.length === B ? l$1(B) : H$1(B, ["end of input"]);
const M$1 = ["Lu", "Ll", "Lt", "Lm", "Lo", "Mn", "Mc", "Me", "Nd", "Nl", "No", "Pc", "Pd", "Ps", "Pe", "Pi", "Pf", "Po", "Zs", "Zl", "Zp", "Sm", "Sc", "Sk", "So", "Cc", "Cf", "Co", "Cn"];
const J$1 = {};
function S$1(A) {
return A.codePointAt(0);
}
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").forEach((A, B) => {
J$1[A] = B;
});
const K$1 = A => -1 === A || -2 === A;
function b$1(A) {
return B => !K$1(B) && !A(B);
}
function y$1(A, B) {
return null === B ? A : a => A(a) && !B(a);
}
const Q = function (A, B) {
const n = new Map();
let e = 0;
return A.forEach((A, G) => {
const i = B[G];
null !== A && A.split("|").forEach(A => {
const B = n.get(A),
G = a$1(e, e + i - 1);
n.set(A, B ? t$1(B, G) : G);
}), e += i;
}), n;
}(["BasicLatin", "Latin-1Supplement", "LatinExtended-A", "LatinExtended-B", "IPAExtensions", "SpacingModifierLetters", "CombiningDiacriticalMarks", "GreekandCoptic|Greek", "Cyrillic", "CyrillicSupplement", "Armenian", "Hebrew", "Arabic", "Syriac", "ArabicSupplement", "Thaana", "NKo", "Samaritan", "Mandaic", "SyriacSupplement", "ArabicExtended-B", "ArabicExtended-A", "Devanagari", "Bengali", "Gurmukhi", "Gujarati", "Oriya", "Tamil", "Telugu", "Kannada", "Malayalam", "Sinhala", "Thai", "Lao", "Tibetan", "Myanmar", "Georgian", "HangulJamo", "Ethiopic", "EthiopicSupplement", "Cherokee", "UnifiedCanadianAboriginalSyllabics", "Ogham", "Runic", "Tagalog", "Hanunoo", "Buhid", "Tagbanwa", "Khmer", "Mongolian", "UnifiedCanadianAboriginalSyllabicsExtended", "Limbu", "TaiLe", "NewTaiLue", "KhmerSymbols", "Buginese", "TaiTham", "CombiningDiacriticalMarksExtended", "Balinese", "Sundanese", "Batak", "Lepcha", "OlChiki", "CyrillicExtended-C", "GeorgianExtended", "SundaneseSupplement", "VedicExtensions", "PhoneticExtensions", "PhoneticExtensionsSupplement", "CombiningDiacriticalMarksSupplement", "LatinExtendedAdditional", "GreekExtended", "GeneralPunctuation", "SuperscriptsandSubscripts", "CurrencySymbols", "CombiningDiacriticalMarksforSymbols|CombiningMarksforSymbols", "LetterlikeSymbols", "NumberForms", "Arrows", "MathematicalOperators", "MiscellaneousTechnical", "ControlPictures", "OpticalCharacterRecognition", "EnclosedAlphanumerics", "BoxDrawing", "BlockElements", "GeometricShapes", "MiscellaneousSymbols", "Dingbats", "MiscellaneousMathematicalSymbols-A", "SupplementalArrows-A", "BraillePatterns", "SupplementalArrows-B", "MiscellaneousMathematicalSymbols-B", "SupplementalMathematicalOperators", "MiscellaneousSymbolsandArrows", "Glagolitic", "LatinExtended-C", "Coptic", "GeorgianSupplement", "Tifinagh", "EthiopicExtended", "CyrillicExtended-A", "SupplementalPunctuation", "CJKRadicalsSupplement", "KangxiRadicals", null, "IdeographicDescriptionCharacters", "CJKSymbolsandPunctuation", "Hiragana", "Katakana", "Bopomofo", "HangulCompatibilityJamo", "Kanbun", "BopomofoExtended", "CJKStrokes", "KatakanaPhoneticExtensions", "EnclosedCJKLettersandMonths", "CJKCompatibility", "CJKUnifiedIdeographsExtensionA", "YijingHexagramSymbols", "CJKUnifiedIdeographs", "YiSyllables", "YiRadicals", "Lisu", "Vai", "CyrillicExtended-B", "Bamum", "ModifierToneLetters", "LatinExtended-D", "SylotiNagri", "CommonIndicNumberForms", "Phags-pa", "Saurashtra", "DevanagariExtended", "KayahLi", "Rejang", "HangulJamoExtended-A", "Javanese", "MyanmarExtended-B", "Cham", "MyanmarExtended-A", "TaiViet", "MeeteiMayekExtensions", "EthiopicExtended-A", "LatinExtended-E", "CherokeeSupplement", "MeeteiMayek", "HangulSyllables", "HangulJamoExtended-B", "HighSurrogates", "HighPrivateUseSurrogates", "LowSurrogates", "PrivateUseArea|PrivateUse", "CJKCompatibilityIdeographs", "AlphabeticPresentationForms", "ArabicPresentationForms-A", "VariationSelectors", "VerticalForms", "CombiningHalfMarks", "CJKCompatibilityForms", "SmallFormVariants", "ArabicPresentationForms-B", "HalfwidthandFullwidthForms", "Specials", "LinearBSyllabary", "LinearBIdeograms", "AegeanNumbers", "AncientGreekNumbers", "AncientSymbols", "PhaistosDisc", null, "Lycian", "Carian", "CopticEpactNumbers", "OldItalic", "Gothic", "OldPermic", "Ugaritic", "OldPersian", null, "Deseret", "Shavian", "Osmanya", "Osage", "Elbasan", "CaucasianAlbanian", "Vithkuqi", null, "LinearA", "LatinExtended-F", null, "CypriotSyllabary", "ImperialAramaic", "Palmyrene", "Nabataean", null, "Hatran", "Phoenician", "Lydian", null, "MeroiticHieroglyphs", "MeroiticCursive", "Kharoshthi", "OldSouthArabian", "OldNorthArabian", null, "Manichaean", "Avestan", "InscriptionalParthian", "InscriptionalPahlavi", "PsalterPahlavi", null, "OldTurkic", null, "OldHungarian", "HanifiRohingya", null, "RumiNumeralSymbols", "Yezidi", "ArabicExtended-C", "OldSogdian", "Sogdian", "OldUyghur", "Chorasmian", "Elymaic", "Brahmi", "Kaithi", "SoraSompeng", "Chakma", "Mahajani", "Sharada", "SinhalaArchaicNumbers", "Khojki", null, "Multani", "Khudawadi", "Grantha", null, "Newa", "Tirhuta", null, "Siddham", "Modi", "MongolianSupplement", "Takri", null, "Ahom", null, "Dogra", null, "WarangCiti", "DivesAkuru", null, "Nandinagari", "ZanabazarSquare", "Soyombo", "UnifiedCanadianAboriginalSyllabicsExtended-A", "PauCinHau", "DevanagariExtended-A", null, "Bhaiksuki", "Marchen", null, "MasaramGondi", "GunjalaGondi", null, "Makasar", "Kawi", null, "LisuSupplement", "TamilSupplement", "Cuneiform", "CuneiformNumbersandPunctuation", "EarlyDynasticCuneiform", null, "Cypro-Minoan", "EgyptianHieroglyphs", "EgyptianHieroglyphFormatControls", null, "AnatolianHieroglyphs", null, "BamumSupplement", "Mro", "Tangsa", "BassaVah", "PahawhHmong", null, "Medefaidrin", null, "Miao", null, "IdeographicSymbolsandPunctuation", "Tangut", "TangutComponents", "KhitanSmallScript", "TangutSupplement", null, "KanaExtended-B", "KanaSupplement", "KanaExtended-A", "SmallKanaExtension", "Nushu", null, "Duployan", "ShorthandFormatControls", null, "ZnamennyMusicalNotation", null, "ByzantineMusicalSymbols", "MusicalSymbols", "AncientGreekMusicalNotation", null, "KaktovikNumerals", "MayanNumerals", "TaiXuanJingSymbols", "CountingRodNumerals", null, "MathematicalAlphanumericSymbols", "SuttonSignWriting", null, "LatinExtended-G", "GlagoliticSupplement", "CyrillicExtended-D", null, "NyiakengPuachueHmong", null, "Toto", "Wancho", null, "NagMundari", null, "EthiopicExtended-B", "MendeKikakui", null, "Adlam", null, "IndicSiyaqNumbers", null, "OttomanSiyaqNumbers", null, "ArabicMathematicalAlphabeticSymbols", null, "MahjongTiles", "DominoTiles", "PlayingCards", "EnclosedAlphanumericSupplement", "EnclosedIdeographicSupplement", "MiscellaneousSymbolsandPictographs", "Emoticons", "OrnamentalDingbats", "TransportandMapSymbols", "AlchemicalSymbols", "GeometricShapesExtended", "SupplementalArrows-C", "SupplementalSymbolsandPictographs", "ChessSymbols", "SymbolsandPictographsExtended-A", "SymbolsforLegacyComputing", null, "CJKUnifiedIdeographsExtensionB", null, "CJKUnifiedIdeographsExtensionC", "CJKUnifiedIdeographsExtensionD", "CJKUnifiedIdeographsExtensionE", "CJKUnifiedIdeographsExtensionF", null, "CJKCompatibilityIdeographsSupplement", null, "CJKUnifiedIdeographsExtensionG", "CJKUnifiedIdeographsExtensionH", null, "Tags", null, "VariationSelectorsSupplement", null, "SupplementaryPrivateUseArea-A|PrivateUse", "SupplementaryPrivateUseArea-B|PrivateUse"], [128, 128, 128, 208, 96, 80, 112, 144, 256, 48, 96, 112, 256, 80, 48, 64, 64, 64, 32, 16, 48, 96, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 256, 160, 96, 256, 384, 32, 96, 640, 32, 96, 32, 32, 32, 32, 128, 176, 80, 80, 48, 96, 32, 32, 144, 80, 128, 64, 64, 80, 48, 16, 48, 16, 48, 128, 64, 64, 256, 256, 112, 48, 48, 48, 80, 64, 112, 256, 256, 64, 32, 160, 128, 32, 96, 256, 192, 48, 16, 256, 128, 128, 256, 256, 96, 32, 128, 48, 80, 96, 32, 128, 128, 224, 16, 16, 64, 96, 96, 48, 96, 16, 32, 48, 16, 256, 256, 6592, 64, 20992, 1168, 64, 48, 320, 96, 96, 32, 224, 48, 16, 64, 96, 32, 48, 48, 32, 96, 32, 96, 32, 96, 32, 48, 64, 80, 64, 11184, 80, 896, 128, 1024, 6400, 512, 80, 688, 16, 16, 16, 32, 32, 144, 240, 16, 128, 128, 64, 80, 64, 48, 128, 32, 64, 32, 48, 32, 48, 32, 64, 32, 80, 48, 48, 80, 48, 64, 80, 64, 384, 64, 64, 64, 32, 32, 48, 48, 32, 32, 32, 64, 32, 96, 96, 32, 32, 32, 64, 64, 32, 32, 48, 80, 80, 48, 128, 64, 288, 32, 64, 64, 48, 64, 64, 48, 32, 128, 80, 48, 80, 48, 96, 32, 80, 48, 48, 80, 128, 128, 128, 96, 160, 128, 96, 32, 80, 48, 80, 176, 80, 80, 96, 96, 64, 96, 80, 96, 16, 64, 96, 160, 112, 80, 64, 96, 80, 304, 32, 96, 80, 16, 64, 1024, 128, 208, 2624, 112, 1072, 48, 4e3, 640, 8576, 576, 48, 96, 48, 144, 688, 96, 96, 160, 64, 32, 6144, 768, 512, 128, 8816, 16, 256, 48, 64, 400, 2304, 160, 16, 4688, 208, 48, 256, 256, 80, 112, 32, 32, 96, 32, 128, 1024, 688, 1104, 256, 48, 96, 112, 80, 320, 48, 64, 464, 48, 736, 32, 224, 32, 96, 784, 80, 64, 80, 176, 256, 256, 48, 112, 96, 256, 256, 768, 80, 48, 128, 128, 128, 256, 256, 112, 144, 256, 1024, 42720, 32, 4160, 224, 5776, 7488, 3088, 544, 1504, 4944, 4192, 711760, 128, 128, 240, 65040, 65536, 65536]),
x$1 = function (A) {
const n = new Map(),
G = A.split(""),
i = M$1.map(() => []);
let r = 0,
o = 0;
for (; o < G.length;) {
const A = J$1[G[o]],
n = (31 & A) - 2;
let e = 1 + J$1[G[o + 1]];
switch (32 & A ? (e += J$1[G[o + 2]] << 6, e += J$1[G[o + 3]] << 12, e += J$1[G[o + 4]] << 18, o += 5) : o += 2, n) {
case -2:
{
let A = 0;
for (let a = r; a < r + e; ++a) {
i[A].push(B$1(a)), A = (A + 1) % 2;
}
break;
}
case -1:
break;
default:
{
const A = i[n];
1 === e ? A.push(B$1(r)) : A.push(a$1(r, r + e - 1));
break;
}
}
r += e;
}
const l = new Map();
return M$1.forEach((A, B) => {
const a = i[B].reduce(t$1, e$1);
n.set(A, a);
const G = A.charAt(0),
r = l.get(G) || [];
l.set(G, r), r.push(a);
}), l.forEach((A, B) => {
n.set(B, A.reduce(t$1, e$1));
}), n;
}("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");
function L$1(A) {
return 32 === A || 9 === A || 10 === A || 13 === A;
}
const X = [B$1(S$1(":")), a$1(S$1("A"), S$1("Z")), B$1(S$1("_")), a$1(S$1("a"), S$1("z")), a$1(192, 214), a$1(216, 246), a$1(192, 214), a$1(216, 246), a$1(248, 767), a$1(880, 893), a$1(895, 8191), a$1(8204, 8205), a$1(8304, 8591), a$1(11264, 12271), a$1(12289, 55295), a$1(63744, 64975), a$1(65008, 65533), a$1(65536, 983039)].reduce(t$1),
Z = [X, B$1(S$1("-")), B$1(S$1(".")), a$1(S$1("0"), S$1("9")), B$1(183), a$1(768, 879), a$1(8255, 8256)].reduce(t$1),
O = x$1.get("Nd"),
k$1 = b$1(O),
N$1 = y$1(a$1(0, 1114111), [x$1.get("P"), x$1.get("Z"), x$1.get("C")].reduce(t$1)),
v$1 = b$1(N$1);
function w$1(A) {
return 10 !== A && 13 !== A && !K$1(A);
}
const Y = {
s: L$1,
S: b$1(L$1),
i: X,
I: b$1(X),
c: Z,
C: b$1(Z),
d: O,
D: k$1,
w: N$1,
W: v$1
},
U = C$1("*"),
j$1 = C$1("\\"),
R = C$1("{"),
V = C$1("}"),
W = C$1("["),
q$1 = C$1("]"),
z$1 = C$1("^"),
$$1 = C$1("$"),
_ = C$1(","),
AA = C$1("-"),
BA = C$1("("),
aA = C$1(")"),
nA = C$1("."),
eA = C$1("|"),
tA = C$1("+"),
GA = C$1("?"),
iA = C$1("-["),
rA = S$1("0");
function oA(A) {
function e(A) {
return new Set(A.split("").map(A => S$1(A)));
}
function G(A, B) {
const a = A.codePointAt(B);
return void 0 === a ? H$1(B, ["any character"]) : o$1(B + String.fromCodePoint(a).length, a);
}
const i = "xpath" === A.language ? T(j$1, c$1([u$1(C$1("n"), () => 10), u$1(C$1("r"), () => 13), u$1(C$1("t"), () => 9), u$1(c$1([j$1, eA, nA, AA, z$1, GA, U, tA, R, V, $$1, BA, aA, W, q$1]), A => S$1(A))])) : T(j$1, c$1([u$1(C$1("n"), () => 10), u$1(C$1("r"), () => 13), u$1(C$1("t"), () => 9), u$1(c$1([j$1, eA, nA, AA, z$1, GA, U, tA, R, V, BA, aA, W, q$1]), A => S$1(A))]));
function r(A, B) {
const a = e(B);
return I$1(C$1(A), D$1(s$1(G, A => a.has(A), B.split(""))), (A, B) => function (A) {
const B = x$1.get(A);
if (null == B) throw new Error(A + " is not a valid unicode category");
return B;
}(null === B ? A : A + String.fromCodePoint(B)));
}
const l = c$1([r("L", "ultmo"), r("M", "nce"), r("N", "dlo"), r("P", "cdseifo"), r("Z", "slp"), r("S", "mcko"), r("C", "cfon")]),
p = [a$1(S$1("a"), S$1("z")), a$1(S$1("A"), S$1("Z")), a$1(S$1("0"), S$1("9")), B$1(45)].reduce(t$1),
M = c$1([l, u$1(T(C$1("Is"), function (A) {
return (B, a) => {
const n = A(B, a);
return n.success ? o$1(n.offset, B.slice(a, n.offset)) : n;
};
}(d$1(s$1(G, p, ["block identifier"])))), B => function (A, B) {
const a = Q.get(A);
if (void 0 === a) {
if (B) return n$1;
throw new Error(`The unicode block identifier "${A}" is not known.`);
}
return a;
}(B, "xpath" !== A.language))]),
J = E$1(C$1("\\p{"), M, V, !0),
K = u$1(E$1(C$1("\\P{"), M, V, !0), b$1),
L = T(j$1, u$1(c$1("sSiIcCdDwW".split("").map(A => C$1(A))), A => Y[A])),
X = u$1(nA, () => w$1),
Z = c$1([L, J, K]),
O = e("\\[]"),
k = c$1([i, s$1(G, A => !O.has(A), ["unescaped character"])]),
N = c$1([u$1(AA, () => null), k]),
v = I$1(N, T(AA, N), a$1);
function oA(A, B) {
return [A].concat(B || []);
}
const lA = u$1(function (A) {
return (B, a) => {
const n = A(B, a);
return n.success ? o$1(a, n.value) : n;
};
}(c$1([q$1, iA])), () => null),
HA = S$1("-"),
CA = c$1([u$1(F$1(F$1(AA, g$1(W, ["not ["])), lA), () => HA), T(g$1(AA, ["not -"]), k)]),
uA = c$1([I$1(u$1(CA, B$1), c$1([function (A, B) {
return uA(A, B);
}, lA]), oA), I$1(c$1([v, Z]), c$1([cA, lA]), oA)]);
const sA = c$1([I$1(u$1(k, B$1), c$1([uA, lA]), oA), I$1(c$1([v, Z]), c$1([cA, lA]), oA)]);
function cA(A, B) {
return sA(A, B);
}
const DA = u$1(sA, A => A.reduce(t$1)),
mA = u$1(T(z$1, DA), b$1),
IA = I$1(c$1([T(g$1(z$1, ["not ^"]), DA), mA]), D$1(T(AA, function (A, B) {
return dA(A, B);
})), y$1),
dA = E$1(W, IA, q$1, !0);
const hA = "xpath" === A.language ? c$1([u$1(i, B$1), Z, dA, X, u$1(z$1, () => A => -1 === A), u$1($$1, () => A => -2 === A)]) : c$1([u$1(i, B$1), Z, dA, X]),
pA = "xpath" === A.language ? e(".\\?*+{}()|^$[]") : e(".\\?*+{}()|[]"),
TA = s$1(G, A => !pA.has(A), ["NormalChar"]),
FA = u$1(T(j$1, I$1(u$1(s$1(G, a$1(S$1("1"), S$1("9")), ["digit"]), A => A - rA), m$1(u$1(s$1(G, a$1(rA, S$1("9")), ["digit"]), A => A - rA)), (A, B) => {
B.reduce((A, B) => 10 * A + B, A);
})), A => {
throw new Error("Backreferences in XPath patterns are not yet implemented.");
}),
EA = "xpath" === A.language ? c$1([u$1(TA, A => ({
kind: "predicate",
value: B$1(A)
})), u$1(hA, A => ({
kind: "predicate",
value: A
})), u$1(E$1(BA, T(D$1(C$1("?:")), SA), aA, !0), A => ({
kind: "regexp",
value: A
})), FA]) : c$1([u$1(TA, A => ({
kind: "predicate",
value: B$1(A)
})), u$1(hA, A => ({
kind: "predicate",
value: A
})), u$1(E$1(BA, SA, aA, !0), A => ({
kind: "regexp",
value: A
}))]),
gA = u$1(d$1(u$1(s$1(G, a$1(rA, S$1("9")), ["digit"]), A => A - rA)), A => A.reduce((A, B) => 10 * A + B)),
fA = c$1([I$1(gA, T(_, gA), (A, B) => {
if (B < A) throw new Error("quantifier range is in the wrong order");
return {
min: A,
max: B
};
}), I$1(gA, _, A => ({
min: A,
max: null
})), u$1(gA, A => ({
min: A,
max: A
}))]),
PA = "xpath" === A.language ? I$1(c$1([u$1(GA, () => ({
min: 0,
max: 1
})), u$1(U, () => ({
min: 0,
max: null
})), u$1(tA, () => ({
min: 1,
max: null
})), E$1(R, fA, V, !0)]), D$1(GA), (A, B) => A) : c$1([u$1(GA, () => ({
min: 0,
max: 1
})), u$1(U, () => ({
min: 0,
max: null
})), u$1(tA, () => ({
min: 1,
max: null
})), E$1(R, fA, V, !0)]),
MA = m$1(I$1(EA, u$1(D$1(PA), A => null === A ? {
min: 1,
max: 1
} : A), (A, B) => [A, B])),
JA = I$1(MA, m$1(T(eA, f$1(MA))), (A, B) => [A].concat(B));
function SA(A, B) {
return JA(A, B);
}
const KA = function (A) {
return I$1(A, P$1, h$1);
}(JA);
return function (A) {
let B;
try {
B = KA(A, 0);
} catch (B) {
throw new Error(`Error parsing pattern "${A}": ${B instanceof Error ? B.message : B}`);
}
return B.success ? B.value : function (A, B, a) {
const n = a.map(A => `"${A}"`);
throw new Error(`Error parsing pattern "${A}" at offset ${B}: expected ${n.length > 1 ? "one of " + n.join(", ") : n[0]} but found "${A.slice(B, B + 1)}"`);
}(A, B.offset, B.expected);
};
}
function lA(A) {
return [...A].map(A => A.codePointAt(0));
}
function HA(B, a = {
language: "xsd"
}) {
const n = oA(a)(B),
e = w$2(A => {
r$1(A, n, "xpath" === a.language), A.accept();
});
return function (A) {
const B = "xpath" === a.language ? [-1, ...lA(A), -2] : lA(A);
return e.execute(B).success;
};
}
var xspattern = /*#__PURE__*/Object.freeze({
__proto__: null,
compile: HA
});
function n(n, t) {
return {
success: !0,
offset: n,
value: t
};
}
function t(t) {
return n(t, void 0);
}
function e(n, t, e = !1) {
return {
success: !1,
offset: n,
expected: t,
fatal: e
};
}
function r(t) {
return (r, u) => {
const o = u + t.length;
return r.slice(u, o) === t ? n(o, t) : e(u, [t]);
};
}
function u(n) {
return n > 65535 ? 2 : 1;
}
function o(n, r) {
return (o, c) => {
const f = o.codePointAt(c);
return void 0 !== f && n(f) ? t(c + u(f)) : e(c, r);
};
}
function c(n, r) {
return (u, o) => {
const c = o;
for (;;) {
const t = u.codePointAt(o);
if (void 0 === t) break;
if (!n(t)) break;
o += t > 65535 ? 2 : 1;
}
return void 0 !== r && o === c ? e(o, r) : t(o);
};
}
function f(n, t, e) {
return o(e => n <= e && e <= t, e || [`${String.fromCodePoint(n)}-${String.fromCodePoint(t)}`]);
}
function s(n) {
return (r, o) => {
let c = n;
for (; c > 0;) {
const n = r.codePointAt(o);
if (void 0 === n) return e(o, ["any character"]);
o += u(n), c -= 1;
}
return t(o);
};
}
function i(t, e) {
return (r, u) => {
const o = t(r, u);
return o.success ? n(o.offset, e(o.value)) : o;
};
}
function l(n) {
return i(n, () => {});
}
function a(n, t, r, u) {
return (o, c) => {
const f = n(o, c);
return f.success ? t(f.value) ? f : e(c, r, u) : f;
};
}
function d(n, t) {
return (r, u) => {
let o = null;
for (const e of n) {
const n = e(r, u);
if (n.success) return n;
if (null === o || n.offset > o.offset ? o = n : n.offset === o.offset && void 0 === t && (o.expected = o.expected.concat(n.expected)), n.fatal) return n;
}
return t = t || (null == o ? void 0 : o.expected) || [], o && (o.expected = t), o || e(u, t);
};
}
function v(t) {
return (e, r) => {
const u = t(e, r);
return u.success || u.fatal ? u : n(r, null);
};
}
function p(t) {
return (e, r) => {
let u = [],
o = r;
for (;;) {
const n = t(e, o);
if (!n.success) {
if (n.fatal) return n;
break;
}
if (u.push(n.value), n.offset === o) break;
o = n.offset;
}
return n(o, u);
};
}
function x(n) {
return (e, r) => {
let u = r;
for (;;) {
const t = n(e, u);
if (!t.success) {
if (t.fatal) return t;
break;
}
if (t.offset === u) break;
u = t.offset;
}
return t(u);
};
}
function y(n) {
return i(n, n => n.filter(n => void 0 !== n));
}
function b(t, e, r) {
return (u, o) => {
const c = t(u, o);
if (!c.success) return c;
const f = e(u, c.offset);
return f.success ? n(f.offset, r(c.value, f.value)) : f;
};
}
function h(...t) {
return (e, r) => {
const u = [];
for (const n of t) {
const t = n(e, r);
if (!t.success) return t;
r = t.offset, u.push(t.value);
}
return n(r, u);
};
}
function k(...n) {
return (e, r) => {
for (const t of n) {
const n = t(e, r);
if (!n.success) return n;
r = n.offset;
}
return t(r);
};
}
function P(n) {
return b(n, p(n), (n, t) => [n].concat(t));
}
function g(n, t) {
return n;
}
function A(n, t) {
return t;
}
function m(n) {
return b(n, x(n), A);
}
function C(n, t) {
return b(n, t, A);
}
function S(n, t) {
return b(n, t, g);
}
function $(n, t, e, r = !1) {
return C(n, r ? D(S(t, e)) : S(t, e));
}
function j(t) {
return (e, r) => {
const u = t(e, r);
return u.success ? n(u.offset, e.slice(r, u.offset)) : u;
};
}
function q(t) {
return (e, r) => {
const u = t(e, r);
return u.success ? n(r, u.value) : u;
};
}
function w(n, r) {
return (u, o) => n(u, o).success ? e(o, r) : t(o);
}
function z(n, t, e) {
return C(w(t, e), n);
}
function B(n, t, r = 0, u = []) {
return (o, c) => {
const f = o.codePointAt(c + r);
if (void 0 === f) return e(c, u);
const s = n[f];
return void 0 === s ? void 0 === t ? e(c, u) : t(o, c) : s(o, c);
};
}
function D(n) {
return (t, r) => {
const u = n(t, r);
return u.success ? u : e(u.offset, u.expected, !0);
};
}
const E = (n, r) => 0 === r ? t(r) : e(r, ["start of input"]),
F = (n, r) => n.length === r ? t(r) : e(r, ["end of input"]);
function G(n) {
return b(n, F, g);
}
function H(n) {
const t = [];
let e = n.next();
for (; !e.done;) t.push(e.value), e = n.next();
return [t, e.value];
}
function I(n) {
return function* (t, e) {
const r = n(t, e);
return r.success && (yield r.value), r;
};
}
function J(n, t) {
return function* (e, r) {
const u = yield* n(e, r);
return u.success ? yield* t(e, u.offset) : u;
};
}
function K(n) {
return function* (t, e) {
const r = n(t, e);
let u = r.next();
for (; !u.done;) {
const n = u.value;
void 0 !== n && (yield n), u = r.next();
}
return u.value;
};
}
function L(n) {
return function* (e, r) {
for (;;) {
const [u, o] = H(n(e, r));
if (!o.success) return o.fatal ? o : t(r);
if (yield* u, r === o.offset) return t(r);
r = o.offset;
}
};
}
function M(n) {
return function* (e, r) {
const [u, o] = H(n(e, r));
return o.success ? (yield* u, o) : o.fatal ? o : t(r);
};
}
function N(n) {
return function* (t, e) {
const r = yield* n(t, e);
return r.success ? F(t, r.offset) : r;
};
}
var prsc = /*#__PURE__*/Object.freeze({
__proto__: null,
codepoint: o,
codepoints: c,
collect: H,
complete: G,
consume: l,
cut: D,
delimited: $,
dispatch: B,
end: F,
error: e,
except: z,
filter: a,
filterUndefined: y,
first: g,
followed: S,
map: i,
not: w,
ok: t,
okWithValue: n,
optional: v,
or: d,
peek: q,
plus: P,
plusConsumed: m,
preceded: C,
range: f,
recognize: j,
second: A,
sequence: h,
sequenceConsumed: k,
skipChars: s,
star: p,
starConsumed: x,
start: E,
streaming: I,
streamingComplete: N,
streamingFilterUndefined: K,
streamingOptional: M,
streamingStar: L,
streamingThen: J,
then: b,
token: r
});
const fontoxpath = function (xspattern, prsc) {
const VERSION = '3.33.2';
const fontoxpathGlobal = {};
function aa(a, b) {
if (!("0" !== a && "-0" !== a || "0" !== b && "-0" !== b)) return 0;
var c = /(?:\+|(-))?(\d+)?(?:\.(\d+))?/;
a = c.exec(a + "");
var d = c.exec(b + ""),
e = !a[1];
const f = !d[1];
b = (a[2] || "").replace(/^0*/, "");
c = (d[2] || "").replace(/^0*/, "");
a = a[3] || "";
d = d[3] || "";
if (e && !f) return 1;
if (!e && f) return -1;
e = e && f;
if (b.length > c.length) return e ? 1 : -1;
if (b.length < c.length) return e ? -1 : 1;
if (b > c) return e ? 1 : -1;
if (b < c) return e ? -1 : 1;
b = Math.max(a.length, d.length);
c = a.padEnd(b, "0");
b = d.padEnd(b, "0");
return c > b ? e ? 1 : -1 : c < b ? e ? -1 : 1 : 0;
}
function ba(a, b) {
a = a.toString();
if (-1 < a.indexOf(".") && 0 === b) return !1;
a = /^[-+]?0*([1-9]\d*)?(?:\.((?:\d*[1-9])*)0*)?$/.exec(a);
return a[2] ? a[2].length <= b : !0;
}
function da() {
return function (a, b) {
return 1 > aa(a, b);
};
}
function fa() {
return function (a, b) {
return 0 > aa(a, b);
};
}
function ha() {
return function (a, b) {
return -1 < aa(a, b);
};
}
function ia() {
return function (a, b) {
return 0 < aa(a, b);
};
}
function ja(a, b) {
switch (b) {
case "required":
return /(Z)|([+-])([01]\d):([0-5]\d)$/.test(a.toString());
case "prohibited":
return !/(Z)|([+-])([01]\d):([0-5]\d)$/.test(a.toString());
case "optional":
return !0;
}
}
function ka(a) {
switch (a) {
case 1:
case 0:
case 6:
case 3:
return {};
case 4:
return {
ka: ba,
wa: da(),
nc: fa(),
xa: ha(),
oc: ia()
};
case 18:
return {};
case 9:
case 8:
case 7:
case 11:
case 12:
case 13:
case 15:
case 14:
return {
Ba: ja
};
case 22:
case 21:
case 20:
case 23:
case 44:
return {};
default:
return null;
}
}
var la = {},
ma = {};
function na(a) {
return /^([+-]?(\d*(\.\d*)?([eE][+-]?\d*)?|INF)|NaN)$/.test(a);
}
function oa(a) {
return /^[_:A-Za-z][-._:A-Za-z0-9]*$/.test(a);
}
function pa(a) {
return oa(a) && /^[_A-Za-z]([-._A-Za-z0-9])*$/.test(a);
}
function qa(a) {
a = a.split(":");
return 1 === a.length ? pa(a[0]) : 2 !== a.length ? !1 : pa(a[0]) && pa(a[1]);
}
function ra(a) {
return !/[\u0009\u000A\u000D]/.test(a);
}
function sa(a) {
return pa(a);
}
const ta = new Map([[45, function () {
return !0;
}], [46, function () {
return !0;
}], [1, function () {
return !0;
}], [0, function (a) {
return /^(0|1|true|false)$/.test(a);
}], [6, function (a) {
return na(a);
}], [3, na], [4, function (a) {
return /^[+-]?\d*(\.\d*)?$/.test(a);
}], [18, function (a) {
return /^(-)?P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+(\.\d*)?S)?)?$/.test(a);
}], [9, function (a) {
return /^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a);
}], [8, function (a) {
return /^(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a);
}], [7, function (a) {
return /^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a);
}], [11, function (a) {
return /^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a);
}], [12, function (a) {
return /^-?([1-9][0-9]{3,}|0[0-9]{3})(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a);
}], [13, function (a) {
return /^--(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a);
}], [15, function (a) {
return /^---(0[1-9]|[12][0-9]|3[01])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a);
}], [14, function (a) {
return /^--(0[1-9]|1[0-2])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a);
}], [22, function (a) {
return /^([0-9A-Fa-f]{2})*$/.test(a);
}], [21, function (a) {
return new RegExp(/^((([A-Za-z0-9+/] ?){4})*((([A-Za-z0-9+/] ?){3}[A-Za-z0-9+/])|(([A-Za-z0-9+/] ?){2}[AEIMQUYcgkosw048] ?=)|(([A-Za-z0-9+/] ?)[AQgw] ?= ?=)))?$/).test(a);
}], [20, function () {
return !0;
}], [44, qa], [48, ra], [52, function (a) {
return ra(a) && !/^ | {2,}| $/.test(a);
}], [51, function (a) {
return /^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/.test(a);
}], [50, function (a) {
return /^[-._:A-Za-z0-9]+$/.test(a);
}], [25, oa], [23, qa], [24, pa], [42, sa], [41, sa], [26, function (a) {
return pa(a);
}], [5, function (a) {
return /^[+-]?\d+$/.test(a);
}], [16, function (a) {
return /^-?P[0-9]+(Y([0-9]+M)?|M)$/.test(a);
}], [17, function (a) {
return /^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+(\.[0-9]+)?S)?)?$/.test(a);
}]]);
var ua = Object.create(null);
[{
C: 0,
name: 59
}, {
C: 0,
name: 46,
parent: 59,
K: {
whiteSpace: "preserve"
}
}, {
C: 0,
name: 19,
parent: 46
}, {
C: 0,
name: 1,
parent: 46
}, {
C: 0,
name: 0,
parent: 46,
K: {
whiteSpace: "collapse"
}
}, {
C: 0,
name: 4,
parent: 46,
K: {
whiteSpace: "collapse"
}
}, {
C: 0,
name: 6,
parent: 46,
K: {
whiteSpace: "collapse"
}
}, {
C: 0,
name: 3,
parent: 46,
K: {
whiteSpace: "collapse"
}
}, {
C: 0,
name: 18,
parent: 46,
K: {
whiteSpace: "collapse"
}
}, {
C: 0,
name: 9,
parent: 46,
K: {
Ba: "optional",
whiteSpace: "collapse"
}
}, {
C: 0,
name: 8,
parent: 46,
K: {
Ba: "optional",
whiteSpace: "collapse"
}
}, {
C: 0,
name: 7,
parent: 46,
K: {
Ba: "optional",
whiteSpace: "collapse"
}
}, {
C: 0,
name: 11,
parent: 46,
K: {
Ba: "optional",
whiteSpace: "collapse"
}
}, {
C: 0,
name: 12,
parent: 46,
K: {
Ba: "optional",
whiteSpace: "collapse"
}
}, {
C: 0,
name: 13,
parent: 46,
K: {
Ba: "optional",
whiteSpace: "collapse"
}
}, {
C: 0,
name: 15,
parent: 46,
K: {
Ba: "optional",
whiteSpace: "collapse"
}
}, {
C: 0,
name: 14,
parent: 46,
K: {
Ba: "optional",
whiteSpace: "collapse"
}
}, {
C: 0,
name: 22,
parent: 46,
K: {
whiteSpace: "collapse"
}
}, {
C: 0,
name: 21,
parent: 46,
K: {
whiteSpace: "collapse"
}
}, {
C: 0,
name: 20,
parent: 46,
K: {
whiteSpace: "collapse"
}
}, {
C: 0,
name: 23,
parent: 46,
K: {
whiteSpace: