@templatical/editor 0.8.5 → 0.9.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/{AiChatSidebar-uhkhnXQd.js → AiChatSidebar-BUKj9n02.js} +4 -4
- package/dist/{AiFeatureMenu-DXNKvXP5.js → AiFeatureMenu-Co14YVJt.js} +3 -3
- package/dist/{BlockIssueBadge-DM-vXeD6.js → BlockIssueBadge-DThKKeub.js} +2 -2
- package/dist/{CloudEditor-BSkPQjwo.js → CloudEditor-CAtw_sFC.js} +217 -216
- package/dist/{CollaboratorBar-CP76Sh6c.js → CollaboratorBar-Bc6q0gB9.js} +2 -2
- package/dist/{CommentsSidebar-_llWQ4VT.js → CommentsSidebar-DiH4R4F0.js} +3 -3
- package/dist/{CountdownBlock-I99sC0C5.js → CountdownBlock-BTPefclD.js} +2 -2
- package/dist/{CountdownToolbar-BUhOUiQ9.js → CountdownToolbar-Dvr2icg-.js} +2 -2
- package/dist/{DesignReferenceSidebar-CfJqJ7l6.js → DesignReferenceSidebar-BP32MgpS.js} +2 -2
- package/dist/{IssuesPanel-4MKZe8yP.js → IssuesPanel-B1LT91IX.js} +2 -2
- package/dist/{ModuleBrowserModal-BFQTm6uY.js → ModuleBrowserModal-CWegFoOA.js} +77 -85
- package/dist/{ModulePreviewCanvas-DeqMpo73.js → ModulePreviewCanvas-D9WUSSRT.js} +2 -2
- package/dist/{NumberWithSuffix-CxMFy_j3.js → NumberWithSuffix-CxUBW_V2.js} +2 -2
- package/dist/{ParagraphEditor-DqomSbW3.js → ParagraphEditor-DrAz2yot.js} +115 -115
- package/dist/{RichTextEditorContent-B_KCY6T1.js → RichTextEditorContent-gR169m1-.js} +4 -4
- package/dist/{SaveModuleDialog-DKcpPeWd.js → SaveModuleDialog-DWidA0c9.js} +6 -6
- package/dist/{SnapshotHistory-Z9RQj53S.js → SnapshotHistory-CIo2Jaw-.js} +4 -4
- package/dist/{TemplateScoringPanel-BIwEwFxD.js → TemplateScoringPanel-seBvvn8O.js} +2 -2
- package/dist/{TestEmailModal-C8DhylO1.js → TestEmailModal-BuCuWp3N.js} +3 -3
- package/dist/{TitleEditor-CgLrn6R3.js → TitleEditor-BmW0uMl7.js} +64 -64
- package/dist/{TplModal-CbwRwmR3.js → TplModal-YFpBaiLj.js} +4 -4
- package/dist/{blockTypeIcons-CccKujXP.js → blockTypeIcons-DCkHXPhx.js} +19 -11
- package/dist/bundle-stats.json +8 -8
- package/dist/cdn/chunks/{AiFeatureMenu-ChNv7XXj.js → AiFeatureMenu-Dayzk2H7.js} +2 -2
- package/dist/cdn/chunks/{AiFeatureMenu-ChNv7XXj.js.map → AiFeatureMenu-Dayzk2H7.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-BovmWgok.js → BlockIssueBadge-D_US2wqo.js} +4 -4
- package/dist/cdn/chunks/{BlockIssueBadge-BovmWgok.js.map → BlockIssueBadge-D_US2wqo.js.map} +1 -1
- package/dist/cdn/chunks/{CloudEditor-CHF_P5OL.js → CloudEditor-CyJItWsK.js} +186 -185
- package/dist/cdn/chunks/{CloudEditor-CHF_P5OL.js.map → CloudEditor-CyJItWsK.js.map} +1 -1
- package/dist/cdn/chunks/{CollaboratorBar-Bjr5YSh0.js → CollaboratorBar-C4CFs5EJ.js} +3 -3
- package/dist/cdn/chunks/{CollaboratorBar-Bjr5YSh0.js.map → CollaboratorBar-C4CFs5EJ.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownBlock-KyzvhjMF.js → CountdownBlock-D6lCXhZA.js} +2 -2
- package/dist/cdn/chunks/{CountdownBlock-KyzvhjMF.js.map → CountdownBlock-D6lCXhZA.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-bJtMHGYz.js → CountdownToolbar-BsGUxoRv.js} +3 -3
- package/dist/cdn/chunks/{CountdownToolbar-bJtMHGYz.js.map → CountdownToolbar-BsGUxoRv.js.map} +1 -1
- package/dist/cdn/chunks/{IssuesPanel-DFSYTQXy.js → IssuesPanel-DeHTmRDz.js} +5 -5
- package/dist/cdn/chunks/{IssuesPanel-DFSYTQXy.js.map → IssuesPanel-DeHTmRDz.js.map} +1 -1
- package/dist/cdn/chunks/{ModuleBrowserModal-DS0BGRhZ.js → ModuleBrowserModal-Cgjz4xAz.js} +8 -8
- package/dist/cdn/chunks/ModuleBrowserModal-Cgjz4xAz.js.map +1 -0
- package/dist/cdn/chunks/{ModulePreviewCanvas-Dwn2cA5a.js → ModulePreviewCanvas-CeS9PsAA.js} +2 -2
- package/dist/cdn/chunks/{ModulePreviewCanvas-Dwn2cA5a.js.map → ModulePreviewCanvas-CeS9PsAA.js.map} +1 -1
- package/dist/cdn/chunks/{NumberWithSuffix-BNBeHv0P.js → NumberWithSuffix-Bp-idLCc.js} +2 -2
- package/dist/cdn/chunks/{NumberWithSuffix-BNBeHv0P.js.map → NumberWithSuffix-Bp-idLCc.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-C4TrTIOm.js → ParagraphEditor-fM9aFu8T.js} +105 -105
- package/dist/cdn/chunks/ParagraphEditor-fM9aFu8T.js.map +1 -0
- package/dist/cdn/chunks/{RichTextEditorContent-HNFFL4aK.js → RichTextEditorContent-DwNPE5H5.js} +4 -4
- package/dist/cdn/chunks/{RichTextEditorContent-HNFFL4aK.js.map → RichTextEditorContent-DwNPE5H5.js.map} +1 -1
- package/dist/cdn/chunks/{SaveModuleDialog-CbHqqeID.js → SaveModuleDialog-BrtDXzIz.js} +4 -4
- package/dist/cdn/chunks/SaveModuleDialog-BrtDXzIz.js.map +1 -0
- package/dist/cdn/chunks/TitleEditor-D0rSnye0.js +175 -0
- package/dist/cdn/chunks/TitleEditor-D0rSnye0.js.map +1 -0
- package/dist/cdn/chunks/{blockTypeIcons-BUlgu9JL.js → blockTypeIcons-YOEe5mDE.js} +3 -3
- package/dist/cdn/chunks/{blockTypeIcons-BUlgu9JL.js.map → blockTypeIcons-YOEe5mDE.js.map} +1 -1
- package/dist/{de-ED7c5RpG.js → cdn/chunks/de-CATfXDKV.js} +14 -1
- package/dist/cdn/chunks/{de-ED7c5RpG.js.map → de-CATfXDKV.js.map} +1 -1
- package/dist/cdn/chunks/{en-ivilDUn0.js → en-CwCAgYL5.js} +13 -2
- package/dist/cdn/chunks/{en-ivilDUn0.js.map → en-CwCAgYL5.js.map} +1 -1
- package/dist/cdn/chunks/{extensions-DK_lVs7A.js → extensions-GYsbQFPr.js} +25 -22
- package/dist/cdn/chunks/extensions-GYsbQFPr.js.map +1 -0
- package/dist/cdn/chunks/{features-LiilsBqW.js → features-D-2kVhHY.js} +1232 -1189
- package/dist/cdn/chunks/features-D-2kVhHY.js.map +1 -0
- package/dist/cdn/chunks/{icons-Bn2SIR30.js → icons-fZoyKV_s.js} +2 -2
- package/dist/cdn/chunks/{icons-Bn2SIR30.js.map → icons-fZoyKV_s.js.map} +1 -1
- package/dist/cdn/chunks/{media-library-Bb2PavAd.js → media-library-CO2WOETY.js} +240 -240
- package/dist/cdn/chunks/{media-library-Bb2PavAd.js.map → media-library-CO2WOETY.js.map} +1 -1
- package/dist/{pt-BR-B5tm2iBl.js → cdn/chunks/pt-BR-D3Mg7AKe.js} +14 -1
- package/dist/cdn/chunks/{pt-BR-B5tm2iBl.js.map → pt-BR-D3Mg7AKe.js.map} +1 -1
- package/dist/cdn/chunks/{quality-Bpj6kNxR.js → quality-BxPiS-wv.js} +464 -464
- package/dist/cdn/chunks/{quality-Bpj6kNxR.js.map → quality-BxPiS-wv.js.map} +1 -1
- package/dist/cdn/chunks/{renderer-CYYyu-Di.js → renderer-7z2t_bYQ.js} +68 -68
- package/dist/cdn/chunks/{renderer-CYYyu-Di.js.map → renderer-7z2t_bYQ.js.map} +1 -1
- package/dist/cdn/chunks/{src-CQjZnxvw.js → src-ftxPuuQh.js} +4 -4
- package/dist/cdn/chunks/{src-CQjZnxvw.js.map → src-ftxPuuQh.js.map} +1 -1
- package/dist/cdn/chunks/{styles-5g8XOS68.js → styles-o0HIrw9F.js} +877 -622
- package/dist/cdn/chunks/styles-o0HIrw9F.js.map +1 -0
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +102 -101
- package/dist/cdn/editor.js.map +1 -1
- package/dist/{cdn/chunks/de-ED7c5RpG.js → de-CATfXDKV.js} +12 -3
- package/dist/{dist-HO0vjY5Z.js → dist-CNLAS2v2.js} +130 -124
- package/dist/{en-ivilDUn0.js → en-CwCAgYL5.js} +12 -1
- package/dist/{extensions-DeNHyWwh.js → extensions-Mj2-D8uK.js} +6 -3
- package/dist/{keys-B8K7Z7Ef.js → keys-BiQlvx51.js} +3 -3
- package/dist/{cdn/chunks/pt-BR-B5tm2iBl.js → pt-BR-D3Mg7AKe.js} +12 -3
- package/dist/style.css +1 -1
- package/dist/{styles-Bgqv7rLA.js → styles-CJtcKmsx.js} +857 -601
- package/dist/templatical-editor.js +104 -103
- package/dist/{useCloudI18n-DFzVgYhJ.js → useCloudI18n-DKWJg6rJ.js} +1 -1
- package/dist/{useEditorCore-CaOVDL_m.js → useEditorCore-CEkf_VWX.js} +662 -632
- package/dist/{useI18n-CBbStVlD.js → useI18n-Besvmtxy.js} +1 -1
- package/dist/useMergeTag-WNzaCpXR.js +44 -0
- package/dist/{usePopoverRoot-62PlZQQ3.js → usePopoverRoot-CKt956u-.js} +1 -1
- package/package.json +7 -7
- package/dist/cdn/chunks/ModuleBrowserModal-DS0BGRhZ.js.map +0 -1
- package/dist/cdn/chunks/ParagraphEditor-C4TrTIOm.js.map +0 -1
- package/dist/cdn/chunks/SaveModuleDialog-CbHqqeID.js.map +0 -1
- package/dist/cdn/chunks/TitleEditor-gr-eBUq_.js +0 -175
- package/dist/cdn/chunks/TitleEditor-gr-eBUq_.js.map +0 -1
- package/dist/cdn/chunks/extensions-DK_lVs7A.js.map +0 -1
- package/dist/cdn/chunks/features-LiilsBqW.js.map +0 -1
- package/dist/cdn/chunks/styles-5g8XOS68.js.map +0 -1
- package/dist/useMergeTag-RWsgUcSh.js +0 -34
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { n as e } from "./rolldown-runtime-Dqa2HsxW.js";
|
|
2
|
-
import { An as t,
|
|
2
|
+
import { An as t, Fn as n, In as r, Ln as i, Mn as a, Nn as o, On as s, Rn as c, Tn as l, jn as u, kn as d } from "./features-D-2kVhHY.js";
|
|
3
3
|
//#region ../quality/src/types.ts
|
|
4
|
-
var
|
|
4
|
+
var ee = {
|
|
5
5
|
altMaxLength: 125,
|
|
6
6
|
minFontSize: 14,
|
|
7
7
|
allCapsMinLength: 20,
|
|
8
8
|
minTouchTargetPx: 44
|
|
9
|
-
},
|
|
9
|
+
}, te = [
|
|
10
10
|
"localhost",
|
|
11
11
|
"127.0.0.1",
|
|
12
12
|
"0.0.0.0",
|
|
@@ -16,74 +16,74 @@ var te = {
|
|
|
16
16
|
];
|
|
17
17
|
//#endregion
|
|
18
18
|
//#region ../quality/src/contrast.ts
|
|
19
|
-
function
|
|
20
|
-
let n =
|
|
19
|
+
function ne(e, t) {
|
|
20
|
+
let n = f(e), r = f(t);
|
|
21
21
|
if (!n || !r) return NaN;
|
|
22
|
-
let i =
|
|
22
|
+
let i = oe(n), a = oe(r), o = Math.max(i, a), s = Math.min(i, a);
|
|
23
23
|
return (o + .05) / (s + .05);
|
|
24
24
|
}
|
|
25
|
-
var
|
|
26
|
-
function
|
|
25
|
+
var re = /^#?([0-9a-f])([0-9a-f])([0-9a-f])$/i, ie = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i, ae = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i;
|
|
26
|
+
function f(e) {
|
|
27
27
|
if (typeof e != "string") return null;
|
|
28
|
-
let t = e.trim(), n =
|
|
28
|
+
let t = e.trim(), n = ae.exec(t);
|
|
29
29
|
if (n) return n[4].toLowerCase() === "ff" ? {
|
|
30
30
|
r: parseInt(n[1], 16),
|
|
31
31
|
g: parseInt(n[2], 16),
|
|
32
32
|
b: parseInt(n[3], 16)
|
|
33
33
|
} : null;
|
|
34
|
-
let r =
|
|
34
|
+
let r = ie.exec(t);
|
|
35
35
|
if (r) return {
|
|
36
36
|
r: parseInt(r[1], 16),
|
|
37
37
|
g: parseInt(r[2], 16),
|
|
38
38
|
b: parseInt(r[3], 16)
|
|
39
39
|
};
|
|
40
|
-
let i =
|
|
40
|
+
let i = re.exec(t);
|
|
41
41
|
return i ? {
|
|
42
42
|
r: parseInt(i[1] + i[1], 16),
|
|
43
43
|
g: parseInt(i[2] + i[2], 16),
|
|
44
44
|
b: parseInt(i[3] + i[3], 16)
|
|
45
45
|
} : null;
|
|
46
46
|
}
|
|
47
|
-
function
|
|
48
|
-
return
|
|
47
|
+
function p(e) {
|
|
48
|
+
return f(e ?? "") !== null;
|
|
49
49
|
}
|
|
50
|
-
function
|
|
51
|
-
let r =
|
|
50
|
+
function oe({ r: e, g: t, b: n }) {
|
|
51
|
+
let r = m(e / 255), i = m(t / 255), a = m(n / 255);
|
|
52
52
|
return .2126 * r + .7152 * i + .0722 * a;
|
|
53
53
|
}
|
|
54
|
-
function
|
|
54
|
+
function m(e) {
|
|
55
55
|
return e <= .03928 ? e / 12.92 : ((e + .055) / 1.055) ** 2.4;
|
|
56
56
|
}
|
|
57
57
|
//#endregion
|
|
58
58
|
//#region ../quality/src/walk.ts
|
|
59
|
-
var
|
|
60
|
-
function
|
|
61
|
-
let
|
|
62
|
-
let
|
|
63
|
-
|
|
64
|
-
...
|
|
59
|
+
var se = "#ffffff";
|
|
60
|
+
function h(e, t) {
|
|
61
|
+
let n = p(e.settings.backgroundColor) ? e.settings.backgroundColor.toLowerCase() : se, r = (e, n) => {
|
|
62
|
+
let i = e.styles?.backgroundColor, o = p(i) ? i.toLowerCase() : n.resolvedBackgroundColor;
|
|
63
|
+
t(e, o === n.resolvedBackgroundColor ? n : {
|
|
64
|
+
...n,
|
|
65
65
|
resolvedBackgroundColor: o
|
|
66
|
-
}),
|
|
67
|
-
t.forEach((t) =>
|
|
66
|
+
}), a(e) && e.children.forEach((t, i) => {
|
|
67
|
+
t.forEach((t) => r(t, {
|
|
68
68
|
parent: e,
|
|
69
69
|
section: e,
|
|
70
|
-
columnIndex:
|
|
71
|
-
depth:
|
|
70
|
+
columnIndex: i,
|
|
71
|
+
depth: n.depth + 1,
|
|
72
72
|
resolvedBackgroundColor: o
|
|
73
73
|
}));
|
|
74
74
|
});
|
|
75
75
|
};
|
|
76
|
-
for (let t of e.blocks)
|
|
76
|
+
for (let t of e.blocks) r(t, {
|
|
77
77
|
parent: null,
|
|
78
78
|
section: null,
|
|
79
79
|
columnIndex: null,
|
|
80
80
|
depth: 0,
|
|
81
|
-
resolvedBackgroundColor:
|
|
81
|
+
resolvedBackgroundColor: n
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
84
|
//#endregion
|
|
85
85
|
//#region ../quality/src/run-rules.ts
|
|
86
|
-
function
|
|
86
|
+
function g(e, t, n, r) {
|
|
87
87
|
let i = [];
|
|
88
88
|
function a(e, t, i) {
|
|
89
89
|
return {
|
|
@@ -94,7 +94,7 @@ function h(e, t, n, r) {
|
|
|
94
94
|
fix: i.fix
|
|
95
95
|
};
|
|
96
96
|
}
|
|
97
|
-
|
|
97
|
+
h(e, (e, r) => {
|
|
98
98
|
for (let o of t) {
|
|
99
99
|
let t = n.severity(o.meta.id);
|
|
100
100
|
if (t === "off" || !o.block) continue;
|
|
@@ -110,11 +110,11 @@ function h(e, t, n, r) {
|
|
|
110
110
|
}
|
|
111
111
|
return i;
|
|
112
112
|
}
|
|
113
|
-
function
|
|
113
|
+
function _(e) {
|
|
114
114
|
let t = e.overrides ?? {}, n = {
|
|
115
|
-
...
|
|
115
|
+
...ee,
|
|
116
116
|
...e.thresholds ?? {}
|
|
117
|
-
}, r = { nonProductionHosts: e.nonProductionHosts ??
|
|
117
|
+
}, r = { nonProductionHosts: e.nonProductionHosts ?? te }, i = e.locale ?? "en", a = e.rules;
|
|
118
118
|
return {
|
|
119
119
|
locale: i,
|
|
120
120
|
rules: t,
|
|
@@ -126,8 +126,8 @@ function g(e) {
|
|
|
126
126
|
}
|
|
127
127
|
};
|
|
128
128
|
}
|
|
129
|
-
function
|
|
130
|
-
return
|
|
129
|
+
function ce(e, t, n) {
|
|
130
|
+
return _({
|
|
131
131
|
locale: e,
|
|
132
132
|
rules: n,
|
|
133
133
|
overrides: t.rules,
|
|
@@ -135,8 +135,8 @@ function le(e, t, n) {
|
|
|
135
135
|
nonProductionHosts: void 0
|
|
136
136
|
});
|
|
137
137
|
}
|
|
138
|
-
function
|
|
139
|
-
return
|
|
138
|
+
function le(e, t, n) {
|
|
139
|
+
return _({
|
|
140
140
|
locale: e,
|
|
141
141
|
rules: n,
|
|
142
142
|
overrides: t.rules,
|
|
@@ -144,8 +144,8 @@ function ue(e, t, n) {
|
|
|
144
144
|
nonProductionHosts: void 0
|
|
145
145
|
});
|
|
146
146
|
}
|
|
147
|
-
function
|
|
148
|
-
return
|
|
147
|
+
function ue(e, t, n) {
|
|
148
|
+
return _({
|
|
149
149
|
locale: e,
|
|
150
150
|
rules: n,
|
|
151
151
|
overrides: t.rules,
|
|
@@ -155,7 +155,7 @@ function de(e, t, n) {
|
|
|
155
155
|
}
|
|
156
156
|
//#endregion
|
|
157
157
|
//#region ../quality/src/accessibility/messages/de.ts
|
|
158
|
-
var
|
|
158
|
+
var de = /* @__PURE__ */ e({ default: () => fe }), fe = {
|
|
159
159
|
"a11y.img-missing-alt": "Bild ohne Alt-Text. Füge eine kurze Beschreibung hinzu oder markiere das Bild als dekorativ.",
|
|
160
160
|
"a11y.img-alt-is-filename": "Alt-Text sieht wie ein Dateiname aus (\"{alt}\"). Beschreibe stattdessen kurz, was das Bild zeigt.",
|
|
161
161
|
"a11y.img-alt-too-long": "Alt-Text ist {length} Zeichen lang; bleibe unter {max}.",
|
|
@@ -176,7 +176,7 @@ var fe = /* @__PURE__ */ e({ default: () => pe }), pe = {
|
|
|
176
176
|
"a11y.button-touch-target": "Button ist etwa {height}px hoch; mindestens {min}px verwenden, um Fehltipper auf Mobilgeräten zu vermeiden.",
|
|
177
177
|
"a11y.button-low-contrast": "Buttontextkontrast beträgt {ratio}:1; WCAG AA verlangt mindestens {required}:1.",
|
|
178
178
|
"a11y.missing-preheader": "Kein Preheader-Text gesetzt. Postfächer zeigen sonst Bruchstücke des ersten Blocks an."
|
|
179
|
-
},
|
|
179
|
+
}, pe = /* @__PURE__ */ e({ default: () => v }), v = {
|
|
180
180
|
"a11y.img-missing-alt": "Image is missing alt text. Add a short description, or mark the image as decorative.",
|
|
181
181
|
"a11y.img-alt-is-filename": "Alt text looks like a filename (\"{alt}\"). Replace with a short description of what the image conveys.",
|
|
182
182
|
"a11y.img-alt-too-long": "Alt text is {length} characters; aim for under {max}.",
|
|
@@ -197,76 +197,76 @@ var fe = /* @__PURE__ */ e({ default: () => pe }), pe = {
|
|
|
197
197
|
"a11y.button-touch-target": "Button is roughly {height}px tall; aim for at least {min}px to avoid mis-taps on mobile.",
|
|
198
198
|
"a11y.button-low-contrast": "Button text contrast is {ratio}:1; WCAG AA requires at least {required}:1.",
|
|
199
199
|
"a11y.missing-preheader": "No preheader text set. Inboxes will fall back to fragments of the first block."
|
|
200
|
-
},
|
|
201
|
-
"./de.ts":
|
|
202
|
-
"./en.ts":
|
|
203
|
-
}),
|
|
204
|
-
for (let e in
|
|
200
|
+
}, me = /* @__PURE__ */ Object.assign({
|
|
201
|
+
"./de.ts": de,
|
|
202
|
+
"./en.ts": pe
|
|
203
|
+
}), y = {};
|
|
204
|
+
for (let e in me) {
|
|
205
205
|
let t = /\.\/([^/]+)\.ts$/.exec(e);
|
|
206
206
|
if (!t) continue;
|
|
207
207
|
let n = t[1];
|
|
208
|
-
n !== "index" && (
|
|
208
|
+
n !== "index" && (y[n] = me[e].default);
|
|
209
209
|
}
|
|
210
|
-
function
|
|
211
|
-
return
|
|
210
|
+
function he(e) {
|
|
211
|
+
return y[e.split("-")[0]?.toLowerCase() ?? "en"] ?? y.en ?? v;
|
|
212
212
|
}
|
|
213
|
-
function
|
|
214
|
-
let r =
|
|
213
|
+
function ge(e, t, n) {
|
|
214
|
+
let r = he(e)[t] ?? v[t];
|
|
215
215
|
return n ? r.replace(/\{(\w+)\}/g, (e, t) => {
|
|
216
216
|
let r = n[t];
|
|
217
217
|
return r === void 0 ? `{${t}}` : String(r);
|
|
218
218
|
}) : r;
|
|
219
219
|
}
|
|
220
|
-
var
|
|
220
|
+
var _e = {
|
|
221
221
|
meta: {
|
|
222
222
|
id: "a11y.img-missing-alt",
|
|
223
223
|
severity: "error"
|
|
224
224
|
},
|
|
225
225
|
block(e) {
|
|
226
|
-
return !
|
|
226
|
+
return !d(e) || e.decorative === !0 || (e.alt?.trim() ?? "") !== "" || (e.src ?? "").trim() === "" ? null : { blockId: e.id };
|
|
227
227
|
}
|
|
228
|
-
},
|
|
228
|
+
}, ve = {
|
|
229
229
|
id: "a11y.img-alt-is-filename",
|
|
230
230
|
severity: "warning"
|
|
231
|
-
},
|
|
231
|
+
}, ye = [
|
|
232
232
|
/\.(jpe?g|png|gif|webp|svg)$/i,
|
|
233
233
|
/^IMG[_-]?\d+/i,
|
|
234
234
|
/^Untitled/i,
|
|
235
235
|
/^Screen[\s_-]?Shot/i,
|
|
236
236
|
/^DSC[_-]?\d+/i
|
|
237
|
-
],
|
|
238
|
-
meta:
|
|
237
|
+
], be = {
|
|
238
|
+
meta: ve,
|
|
239
239
|
block(e) {
|
|
240
|
-
if (!
|
|
240
|
+
if (!d(e) || e.decorative === !0) return null;
|
|
241
241
|
let t = e.alt?.trim() ?? "";
|
|
242
|
-
return t === "" || !
|
|
242
|
+
return t === "" || !ye.some((e) => e.test(t)) ? null : {
|
|
243
243
|
blockId: e.id,
|
|
244
244
|
params: { alt: t }
|
|
245
245
|
};
|
|
246
246
|
}
|
|
247
|
-
},
|
|
247
|
+
}, xe = {
|
|
248
248
|
meta: {
|
|
249
249
|
id: "a11y.img-alt-too-long",
|
|
250
250
|
severity: "warning"
|
|
251
251
|
},
|
|
252
252
|
block(e, t, n) {
|
|
253
|
-
if (!
|
|
254
|
-
let
|
|
255
|
-
return
|
|
253
|
+
if (!d(e) || e.decorative === !0) return null;
|
|
254
|
+
let r = e.alt ?? "";
|
|
255
|
+
return r.length <= n.thresholds.altMaxLength ? null : {
|
|
256
256
|
blockId: e.id,
|
|
257
257
|
params: {
|
|
258
|
-
length:
|
|
258
|
+
length: r.length,
|
|
259
259
|
max: n.thresholds.altMaxLength
|
|
260
260
|
}
|
|
261
261
|
};
|
|
262
262
|
}
|
|
263
|
-
},
|
|
263
|
+
}, Se = {
|
|
264
264
|
meta: {
|
|
265
265
|
id: "a11y.img-decorative-needs-empty-alt",
|
|
266
266
|
severity: "info"
|
|
267
267
|
},
|
|
268
268
|
block(e) {
|
|
269
|
-
return !
|
|
269
|
+
return !d(e) || e.decorative !== !0 || (e.alt ?? "").trim() === "" ? null : {
|
|
270
270
|
blockId: e.id,
|
|
271
271
|
fix: {
|
|
272
272
|
description: "Clear alt text",
|
|
@@ -274,7 +274,7 @@ var ve = {
|
|
|
274
274
|
}
|
|
275
275
|
};
|
|
276
276
|
}
|
|
277
|
-
},
|
|
277
|
+
}, Ce = /* @__PURE__ */ e({ default: () => we }), we = {
|
|
278
278
|
vagueLinkText: [
|
|
279
279
|
"hier klicken",
|
|
280
280
|
"hier",
|
|
@@ -317,7 +317,7 @@ var ve = {
|
|
|
317
317
|
"anschauen",
|
|
318
318
|
"jetzt"
|
|
319
319
|
]
|
|
320
|
-
},
|
|
320
|
+
}, Te = /* @__PURE__ */ e({ default: () => Ee }), Ee = {
|
|
321
321
|
vagueLinkText: [
|
|
322
322
|
"click here",
|
|
323
323
|
"here",
|
|
@@ -358,45 +358,45 @@ var ve = {
|
|
|
358
358
|
"redeem",
|
|
359
359
|
"watch"
|
|
360
360
|
]
|
|
361
|
-
},
|
|
362
|
-
"./de.ts":
|
|
363
|
-
"./en.ts":
|
|
364
|
-
}),
|
|
365
|
-
for (let e in
|
|
361
|
+
}, De = /* @__PURE__ */ Object.assign({
|
|
362
|
+
"./de.ts": Ce,
|
|
363
|
+
"./en.ts": Te
|
|
364
|
+
}), Oe = {};
|
|
365
|
+
for (let e in De) {
|
|
366
366
|
let t = /\.\/([^/]+)\.ts$/.exec(e);
|
|
367
367
|
if (!t) continue;
|
|
368
368
|
let n = t[1];
|
|
369
|
-
n !== "index" && (
|
|
370
|
-
}
|
|
371
|
-
function y(e) {
|
|
372
|
-
return Ae;
|
|
369
|
+
n !== "index" && (Oe[n] = De[e].default);
|
|
373
370
|
}
|
|
374
371
|
function b(e) {
|
|
372
|
+
return ke;
|
|
373
|
+
}
|
|
374
|
+
function x(e) {
|
|
375
375
|
let t = /* @__PURE__ */ new Set();
|
|
376
|
-
for (let n of Object.values(
|
|
376
|
+
for (let n of Object.values(Oe)) for (let r of e(n)) t.add(r);
|
|
377
377
|
return Array.from(t);
|
|
378
378
|
}
|
|
379
|
-
var
|
|
380
|
-
vagueLinkText:
|
|
381
|
-
vagueButtonLabels:
|
|
382
|
-
linkedImageActionHints:
|
|
379
|
+
var ke = {
|
|
380
|
+
vagueLinkText: x((e) => e.vagueLinkText),
|
|
381
|
+
vagueButtonLabels: x((e) => e.vagueButtonLabels),
|
|
382
|
+
linkedImageActionHints: x((e) => e.linkedImageActionHints)
|
|
383
383
|
};
|
|
384
|
-
function
|
|
384
|
+
function S(e) {
|
|
385
385
|
return e.toLowerCase().replace(/\s+/g, " ").replace(/^[^\p{L}\p{N}]+|[^\p{L}\p{N}]+$/gu, "").trim();
|
|
386
386
|
}
|
|
387
|
-
var
|
|
387
|
+
var Ae = {
|
|
388
388
|
meta: {
|
|
389
389
|
id: "a11y.img-linked-no-context",
|
|
390
390
|
severity: "warning"
|
|
391
391
|
},
|
|
392
392
|
block(e, t, n) {
|
|
393
|
-
if (!
|
|
394
|
-
let
|
|
395
|
-
if (
|
|
396
|
-
let
|
|
397
|
-
return
|
|
393
|
+
if (!d(e) || e.decorative === !0 || !e.linkUrl || e.linkUrl.trim() === "") return null;
|
|
394
|
+
let r = (e.alt ?? "").trim();
|
|
395
|
+
if (r === "") return null;
|
|
396
|
+
let i = r.toLocaleLowerCase().split(/[^\p{L}\p{N}]+/u).filter(Boolean), a = b(n.locale).linkedImageActionHints;
|
|
397
|
+
return i.some((e) => a.includes(e)) ? null : { blockId: e.id };
|
|
398
398
|
}
|
|
399
|
-
},
|
|
399
|
+
}, je = new Map([
|
|
400
400
|
[0, 65533],
|
|
401
401
|
[128, 8364],
|
|
402
402
|
[130, 8218],
|
|
@@ -426,12 +426,12 @@ var Me = {
|
|
|
426
426
|
[158, 382],
|
|
427
427
|
[159, 376]
|
|
428
428
|
]);
|
|
429
|
-
function
|
|
430
|
-
return e >= 55296 && e <= 57343 || e > 1114111 ? 65533 :
|
|
429
|
+
function Me(e) {
|
|
430
|
+
return e >= 55296 && e <= 57343 || e > 1114111 ? 65533 : je.get(e) ?? e;
|
|
431
431
|
}
|
|
432
432
|
//#endregion
|
|
433
433
|
//#region ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/internal/decode-shared.js
|
|
434
|
-
function
|
|
434
|
+
function C(e) {
|
|
435
435
|
let t = atob(e), n = t.length & -2, r = new Uint16Array(n / 2);
|
|
436
436
|
for (let e = 0, i = 0; e < n; e += 2) {
|
|
437
437
|
let n = t.charCodeAt(e), a = t.charCodeAt(e + 1);
|
|
@@ -441,71 +441,71 @@ function x(e) {
|
|
|
441
441
|
}
|
|
442
442
|
//#endregion
|
|
443
443
|
//#region ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/generated/decode-data-html.js
|
|
444
|
-
var Fe = /* @__PURE__ */ x("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg"), Ie = /* @__PURE__ */ x("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg"), S;
|
|
444
|
+
var Ne = /* @__PURE__ */ C("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg"), Pe = /* @__PURE__ */ C("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg"), w;
|
|
445
445
|
(function(e) {
|
|
446
446
|
e[e.VALUE_LENGTH = 49152] = "VALUE_LENGTH", e[e.FLAG13 = 8192] = "FLAG13", e[e.BRANCH_LENGTH = 8064] = "BRANCH_LENGTH", e[e.JUMP_TABLE = 127] = "JUMP_TABLE";
|
|
447
|
-
})(
|
|
447
|
+
})(w ||= {});
|
|
448
448
|
//#endregion
|
|
449
449
|
//#region ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/decode.js
|
|
450
|
-
var
|
|
450
|
+
var T;
|
|
451
451
|
(function(e) {
|
|
452
452
|
e[e.NUM = 35] = "NUM", e[e.SEMI = 59] = "SEMI", e[e.EQUALS = 61] = "EQUALS", e[e.ZERO = 48] = "ZERO", e[e.NINE = 57] = "NINE", e[e.LOWER_A = 97] = "LOWER_A", e[e.LOWER_F = 102] = "LOWER_F", e[e.LOWER_X = 120] = "LOWER_X", e[e.LOWER_Z = 122] = "LOWER_Z", e[e.UPPER_A = 65] = "UPPER_A", e[e.UPPER_F = 70] = "UPPER_F", e[e.UPPER_Z = 90] = "UPPER_Z";
|
|
453
|
-
})(
|
|
454
|
-
var
|
|
455
|
-
function
|
|
456
|
-
return e >=
|
|
453
|
+
})(T ||= {});
|
|
454
|
+
var Fe = 32;
|
|
455
|
+
function E(e) {
|
|
456
|
+
return e >= T.ZERO && e <= T.NINE;
|
|
457
|
+
}
|
|
458
|
+
function Ie(e) {
|
|
459
|
+
return e >= T.UPPER_A && e <= T.UPPER_F || e >= T.LOWER_A && e <= T.LOWER_F;
|
|
457
460
|
}
|
|
458
461
|
function Le(e) {
|
|
459
|
-
return e >=
|
|
462
|
+
return e >= T.UPPER_A && e <= T.UPPER_Z || e >= T.LOWER_A && e <= T.LOWER_Z || E(e);
|
|
460
463
|
}
|
|
461
464
|
function Re(e) {
|
|
462
|
-
return e
|
|
463
|
-
}
|
|
464
|
-
function ze(e) {
|
|
465
|
-
return e === C.EQUALS || Re(e);
|
|
465
|
+
return e === T.EQUALS || Le(e);
|
|
466
466
|
}
|
|
467
|
-
var
|
|
467
|
+
var D;
|
|
468
468
|
(function(e) {
|
|
469
469
|
e[e.EntityStart = 0] = "EntityStart", e[e.NumericStart = 1] = "NumericStart", e[e.NumericDecimal = 2] = "NumericDecimal", e[e.NumericHex = 3] = "NumericHex", e[e.NamedEntity = 4] = "NamedEntity";
|
|
470
|
-
})(
|
|
471
|
-
var
|
|
470
|
+
})(D ||= {});
|
|
471
|
+
var O;
|
|
472
472
|
(function(e) {
|
|
473
473
|
e[e.Legacy = 0] = "Legacy", e[e.Strict = 1] = "Strict", e[e.Attribute = 2] = "Attribute";
|
|
474
|
-
})(
|
|
475
|
-
var
|
|
474
|
+
})(O ||= {});
|
|
475
|
+
var ze = class {
|
|
476
476
|
decodeTree;
|
|
477
477
|
emitCodePoint;
|
|
478
478
|
errors;
|
|
479
479
|
constructor(e, t, n) {
|
|
480
480
|
this.decodeTree = e, this.emitCodePoint = t, this.errors = n;
|
|
481
481
|
}
|
|
482
|
-
state =
|
|
482
|
+
state = D.EntityStart;
|
|
483
483
|
consumed = 1;
|
|
484
484
|
result = 0;
|
|
485
485
|
treeIndex = 0;
|
|
486
486
|
excess = 1;
|
|
487
|
-
decodeMode =
|
|
487
|
+
decodeMode = O.Strict;
|
|
488
488
|
runConsumed = 0;
|
|
489
489
|
startEntity(e) {
|
|
490
|
-
this.decodeMode = e, this.state =
|
|
490
|
+
this.decodeMode = e, this.state = D.EntityStart, this.result = 0, this.treeIndex = 0, this.excess = 1, this.consumed = 1, this.runConsumed = 0;
|
|
491
491
|
}
|
|
492
492
|
write(e, t) {
|
|
493
493
|
switch (this.state) {
|
|
494
|
-
case
|
|
495
|
-
case
|
|
496
|
-
case
|
|
497
|
-
case
|
|
498
|
-
case
|
|
494
|
+
case D.EntityStart: return e.charCodeAt(t) === T.NUM ? (this.state = D.NumericStart, this.consumed += 1, this.stateNumericStart(e, t + 1)) : (this.state = D.NamedEntity, this.stateNamedEntity(e, t));
|
|
495
|
+
case D.NumericStart: return this.stateNumericStart(e, t);
|
|
496
|
+
case D.NumericDecimal: return this.stateNumericDecimal(e, t);
|
|
497
|
+
case D.NumericHex: return this.stateNumericHex(e, t);
|
|
498
|
+
case D.NamedEntity: return this.stateNamedEntity(e, t);
|
|
499
499
|
}
|
|
500
500
|
}
|
|
501
501
|
stateNumericStart(e, t) {
|
|
502
|
-
return t >= e.length ? -1 : (e.charCodeAt(t) |
|
|
502
|
+
return t >= e.length ? -1 : (e.charCodeAt(t) | Fe) === T.LOWER_X ? (this.state = D.NumericHex, this.consumed += 1, this.stateNumericHex(e, t + 1)) : (this.state = D.NumericDecimal, this.stateNumericDecimal(e, t));
|
|
503
503
|
}
|
|
504
504
|
stateNumericHex(e, t) {
|
|
505
505
|
for (; t < e.length;) {
|
|
506
506
|
let n = e.charCodeAt(t);
|
|
507
|
-
if (
|
|
508
|
-
let e = n <=
|
|
507
|
+
if (E(n) || Ie(n)) {
|
|
508
|
+
let e = n <= T.NINE ? n - T.ZERO : (n | Fe) - T.LOWER_A + 10;
|
|
509
509
|
this.result = this.result * 16 + e, this.consumed++, t++;
|
|
510
510
|
} else return this.emitNumericEntity(n, 3);
|
|
511
511
|
}
|
|
@@ -514,24 +514,24 @@ var Be = class {
|
|
|
514
514
|
stateNumericDecimal(e, t) {
|
|
515
515
|
for (; t < e.length;) {
|
|
516
516
|
let n = e.charCodeAt(t);
|
|
517
|
-
if (
|
|
517
|
+
if (E(n)) this.result = this.result * 10 + (n - T.ZERO), this.consumed++, t++;
|
|
518
518
|
else return this.emitNumericEntity(n, 2);
|
|
519
519
|
}
|
|
520
520
|
return -1;
|
|
521
521
|
}
|
|
522
522
|
emitNumericEntity(e, t) {
|
|
523
523
|
if (this.consumed <= t) return this.errors?.absenceOfDigitsInNumericCharacterReference(this.consumed), 0;
|
|
524
|
-
if (e ===
|
|
525
|
-
else if (this.decodeMode ===
|
|
526
|
-
return this.emitCodePoint(
|
|
524
|
+
if (e === T.SEMI) this.consumed += 1;
|
|
525
|
+
else if (this.decodeMode === O.Strict) return 0;
|
|
526
|
+
return this.emitCodePoint(Me(this.result), this.consumed), this.errors && (e !== T.SEMI && this.errors.missingSemicolonAfterCharacterReference(), this.errors.validateNumericCharacterReference(this.result)), this.consumed;
|
|
527
527
|
}
|
|
528
528
|
stateNamedEntity(e, t) {
|
|
529
|
-
let { decodeTree: n } = this, r = n[this.treeIndex], i = (r &
|
|
529
|
+
let { decodeTree: n } = this, r = n[this.treeIndex], i = (r & w.VALUE_LENGTH) >> 14;
|
|
530
530
|
for (; t < e.length;) {
|
|
531
|
-
if (i === 0 && (r &
|
|
532
|
-
let a = (r &
|
|
531
|
+
if (i === 0 && (r & w.FLAG13) !== 0) {
|
|
532
|
+
let a = (r & w.BRANCH_LENGTH) >> 7;
|
|
533
533
|
if (this.runConsumed === 0) {
|
|
534
|
-
let n = r &
|
|
534
|
+
let n = r & w.JUMP_TABLE;
|
|
535
535
|
if (e.charCodeAt(t) !== n) return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
|
|
536
536
|
t++, this.excess++, this.runConsumed++;
|
|
537
537
|
}
|
|
@@ -541,40 +541,40 @@ var Be = class {
|
|
|
541
541
|
if (e.charCodeAt(t) !== a) return this.runConsumed = 0, this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
|
|
542
542
|
t++, this.excess++, this.runConsumed++;
|
|
543
543
|
}
|
|
544
|
-
this.runConsumed = 0, this.treeIndex += 1 + (a >> 1), r = n[this.treeIndex], i = (r &
|
|
544
|
+
this.runConsumed = 0, this.treeIndex += 1 + (a >> 1), r = n[this.treeIndex], i = (r & w.VALUE_LENGTH) >> 14;
|
|
545
545
|
}
|
|
546
546
|
if (t >= e.length) break;
|
|
547
547
|
let a = e.charCodeAt(t);
|
|
548
|
-
if (a ===
|
|
549
|
-
if (this.treeIndex =
|
|
550
|
-
if (r = n[this.treeIndex], i = (r &
|
|
551
|
-
if (a ===
|
|
552
|
-
this.decodeMode !==
|
|
548
|
+
if (a === T.SEMI && i !== 0 && (r & w.FLAG13) !== 0) return this.emitNamedEntityData(this.treeIndex, i, this.consumed + this.excess);
|
|
549
|
+
if (this.treeIndex = Be(n, r, this.treeIndex + Math.max(1, i), a), this.treeIndex < 0) return this.result === 0 || this.decodeMode === O.Attribute && (i === 0 || Re(a)) ? 0 : this.emitNotTerminatedNamedEntity();
|
|
550
|
+
if (r = n[this.treeIndex], i = (r & w.VALUE_LENGTH) >> 14, i !== 0) {
|
|
551
|
+
if (a === T.SEMI) return this.emitNamedEntityData(this.treeIndex, i, this.consumed + this.excess);
|
|
552
|
+
this.decodeMode !== O.Strict && (r & w.FLAG13) === 0 && (this.result = this.treeIndex, this.consumed += this.excess, this.excess = 0);
|
|
553
553
|
}
|
|
554
554
|
t++, this.excess++;
|
|
555
555
|
}
|
|
556
556
|
return -1;
|
|
557
557
|
}
|
|
558
558
|
emitNotTerminatedNamedEntity() {
|
|
559
|
-
let { result: e, decodeTree: t } = this, n = (t[e] &
|
|
559
|
+
let { result: e, decodeTree: t } = this, n = (t[e] & w.VALUE_LENGTH) >> 14;
|
|
560
560
|
return this.emitNamedEntityData(e, n, this.consumed), this.errors?.missingSemicolonAfterCharacterReference(), this.consumed;
|
|
561
561
|
}
|
|
562
562
|
emitNamedEntityData(e, t, n) {
|
|
563
563
|
let { decodeTree: r } = this;
|
|
564
|
-
return this.emitCodePoint(t === 1 ? r[e] & ~(
|
|
564
|
+
return this.emitCodePoint(t === 1 ? r[e] & ~(w.VALUE_LENGTH | w.FLAG13) : r[e + 1], n), t === 3 && this.emitCodePoint(r[e + 2], n), n;
|
|
565
565
|
}
|
|
566
566
|
end() {
|
|
567
567
|
switch (this.state) {
|
|
568
|
-
case
|
|
569
|
-
case
|
|
570
|
-
case
|
|
571
|
-
case
|
|
572
|
-
case
|
|
568
|
+
case D.NamedEntity: return this.result !== 0 && (this.decodeMode !== O.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0;
|
|
569
|
+
case D.NumericDecimal: return this.emitNumericEntity(0, 2);
|
|
570
|
+
case D.NumericHex: return this.emitNumericEntity(0, 3);
|
|
571
|
+
case D.NumericStart: return this.errors?.absenceOfDigitsInNumericCharacterReference(this.consumed), 0;
|
|
572
|
+
case D.EntityStart: return 0;
|
|
573
573
|
}
|
|
574
574
|
}
|
|
575
575
|
};
|
|
576
|
-
function
|
|
577
|
-
let i = (t &
|
|
576
|
+
function Be(e, t, n, r) {
|
|
577
|
+
let i = (t & w.BRANCH_LENGTH) >> 7, a = t & w.JUMP_TABLE;
|
|
578
578
|
if (i === 0) return a !== 0 && r === a ? n : -1;
|
|
579
579
|
if (a) {
|
|
580
580
|
let t = r - a;
|
|
@@ -591,28 +591,28 @@ function Ve(e, t, n, r) {
|
|
|
591
591
|
}
|
|
592
592
|
//#endregion
|
|
593
593
|
//#region ../../node_modules/.pnpm/htmlparser2@12.0.0/node_modules/htmlparser2/dist/Tokenizer.js
|
|
594
|
-
var
|
|
594
|
+
var k;
|
|
595
595
|
(function(e) {
|
|
596
596
|
e[e.Tab = 9] = "Tab", e[e.NewLine = 10] = "NewLine", e[e.FormFeed = 12] = "FormFeed", e[e.CarriageReturn = 13] = "CarriageReturn", e[e.Space = 32] = "Space", e[e.ExclamationMark = 33] = "ExclamationMark", e[e.Number = 35] = "Number", e[e.Amp = 38] = "Amp", e[e.SingleQuote = 39] = "SingleQuote", e[e.DoubleQuote = 34] = "DoubleQuote", e[e.Dash = 45] = "Dash", e[e.Slash = 47] = "Slash", e[e.Zero = 48] = "Zero", e[e.Nine = 57] = "Nine", e[e.Semi = 59] = "Semi", e[e.Lt = 60] = "Lt", e[e.Eq = 61] = "Eq", e[e.Gt = 62] = "Gt", e[e.Questionmark = 63] = "Questionmark", e[e.UpperA = 65] = "UpperA", e[e.LowerA = 97] = "LowerA", e[e.UpperF = 70] = "UpperF", e[e.LowerF = 102] = "LowerF", e[e.UpperZ = 90] = "UpperZ", e[e.LowerZ = 122] = "LowerZ", e[e.LowerX = 120] = "LowerX", e[e.OpeningSquareBracket = 91] = "OpeningSquareBracket";
|
|
597
|
-
})(
|
|
598
|
-
var
|
|
597
|
+
})(k ||= {});
|
|
598
|
+
var A;
|
|
599
599
|
(function(e) {
|
|
600
600
|
e[e.Text = 1] = "Text", e[e.BeforeTagName = 2] = "BeforeTagName", e[e.InTagName = 3] = "InTagName", e[e.InSelfClosingTag = 4] = "InSelfClosingTag", e[e.BeforeClosingTagName = 5] = "BeforeClosingTagName", e[e.InClosingTagName = 6] = "InClosingTagName", e[e.AfterClosingTagName = 7] = "AfterClosingTagName", e[e.BeforeAttributeName = 8] = "BeforeAttributeName", e[e.InAttributeName = 9] = "InAttributeName", e[e.AfterAttributeName = 10] = "AfterAttributeName", e[e.BeforeAttributeValue = 11] = "BeforeAttributeValue", e[e.InAttributeValueDq = 12] = "InAttributeValueDq", e[e.InAttributeValueSq = 13] = "InAttributeValueSq", e[e.InAttributeValueNq = 14] = "InAttributeValueNq", e[e.BeforeDeclaration = 15] = "BeforeDeclaration", e[e.InDeclaration = 16] = "InDeclaration", e[e.InProcessingInstruction = 17] = "InProcessingInstruction", e[e.BeforeComment = 18] = "BeforeComment", e[e.CDATASequence = 19] = "CDATASequence", e[e.DeclarationSequence = 20] = "DeclarationSequence", e[e.InSpecialComment = 21] = "InSpecialComment", e[e.InCommentLike = 22] = "InCommentLike", e[e.SpecialStartSequence = 23] = "SpecialStartSequence", e[e.InSpecialTag = 24] = "InSpecialTag", e[e.InPlainText = 25] = "InPlainText", e[e.InEntity = 26] = "InEntity";
|
|
601
|
-
})(
|
|
602
|
-
function A(e) {
|
|
603
|
-
return e === O.Space || e === O.NewLine || e === O.Tab || e === O.FormFeed || e === O.CarriageReturn;
|
|
604
|
-
}
|
|
601
|
+
})(A ||= {});
|
|
605
602
|
function j(e) {
|
|
606
|
-
return e ===
|
|
603
|
+
return e === k.Space || e === k.NewLine || e === k.Tab || e === k.FormFeed || e === k.CarriageReturn;
|
|
607
604
|
}
|
|
608
|
-
function
|
|
609
|
-
return e
|
|
605
|
+
function M(e) {
|
|
606
|
+
return e === k.Slash || e === k.Gt || j(e);
|
|
610
607
|
}
|
|
611
|
-
|
|
608
|
+
function Ve(e) {
|
|
609
|
+
return e >= k.LowerA && e <= k.LowerZ || e >= k.UpperA && e <= k.UpperZ;
|
|
610
|
+
}
|
|
611
|
+
var N;
|
|
612
612
|
(function(e) {
|
|
613
613
|
e[e.NoValue = 0] = "NoValue", e[e.Unquoted = 1] = "Unquoted", e[e.Single = 2] = "Single", e[e.Double = 3] = "Double";
|
|
614
|
-
})(
|
|
615
|
-
var
|
|
614
|
+
})(N ||= {});
|
|
615
|
+
var P = {
|
|
616
616
|
Empty: new Uint8Array(),
|
|
617
617
|
Cdata: new Uint8Array([
|
|
618
618
|
67,
|
|
@@ -735,21 +735,21 @@ var N = {
|
|
|
735
735
|
109,
|
|
736
736
|
112
|
|
737
737
|
])
|
|
738
|
-
},
|
|
739
|
-
[
|
|
740
|
-
[
|
|
741
|
-
[
|
|
742
|
-
[
|
|
743
|
-
[
|
|
744
|
-
[
|
|
745
|
-
]),
|
|
738
|
+
}, He = new Map([
|
|
739
|
+
[P.IframeEnd[2], P.IframeEnd],
|
|
740
|
+
[P.NoembedEnd[2], P.NoembedEnd],
|
|
741
|
+
[P.Plaintext[2], P.Plaintext],
|
|
742
|
+
[P.ScriptEnd[2], P.ScriptEnd],
|
|
743
|
+
[P.TitleEnd[2], P.TitleEnd],
|
|
744
|
+
[P.XmpEnd[2], P.XmpEnd]
|
|
745
|
+
]), Ue = class {
|
|
746
746
|
cbs;
|
|
747
|
-
state =
|
|
747
|
+
state = A.Text;
|
|
748
748
|
buffer = "";
|
|
749
749
|
sectionStart = 0;
|
|
750
750
|
index = 0;
|
|
751
751
|
entityStart = 0;
|
|
752
|
-
baseState =
|
|
752
|
+
baseState = A.Text;
|
|
753
753
|
isSpecial = !1;
|
|
754
754
|
running = !0;
|
|
755
755
|
offset = 0;
|
|
@@ -758,10 +758,10 @@ var N = {
|
|
|
758
758
|
recognizeSelfClosing;
|
|
759
759
|
entityDecoder;
|
|
760
760
|
constructor({ xmlMode: e = !1, decodeEntities: t = !0, recognizeSelfClosing: n = e }, r) {
|
|
761
|
-
this.cbs = r, this.xmlMode = e, this.decodeEntities = t, this.recognizeSelfClosing = n, this.entityDecoder = new
|
|
761
|
+
this.cbs = r, this.xmlMode = e, this.decodeEntities = t, this.recognizeSelfClosing = n, this.entityDecoder = new ze(e ? Pe : Ne, (e, t) => this.emitCodePoint(e, t));
|
|
762
762
|
}
|
|
763
763
|
reset() {
|
|
764
|
-
this.state =
|
|
764
|
+
this.state = A.Text, this.buffer = "", this.sectionStart = 0, this.index = 0, this.baseState = A.Text, this.isSpecial = !1, this.currentSequence = P.Empty, this.sequenceIndex = 0, this.running = !0, this.offset = 0;
|
|
765
765
|
}
|
|
766
766
|
write(e) {
|
|
767
767
|
this.offset += this.buffer.length, this.buffer = e, this.parse();
|
|
@@ -776,12 +776,12 @@ var N = {
|
|
|
776
776
|
this.running = !0, this.index < this.buffer.length + this.offset && this.parse();
|
|
777
777
|
}
|
|
778
778
|
stateText(e) {
|
|
779
|
-
e ===
|
|
779
|
+
e === k.Lt || !this.decodeEntities && this.fastForwardTo(k.Lt) ? (this.index > this.sectionStart && this.cbs.ontext(this.sectionStart, this.index), this.state = A.BeforeTagName, this.sectionStart = this.index) : this.decodeEntities && e === k.Amp && this.startEntity();
|
|
780
780
|
}
|
|
781
|
-
currentSequence =
|
|
781
|
+
currentSequence = P.Empty;
|
|
782
782
|
sequenceIndex = 0;
|
|
783
783
|
enterTagBody() {
|
|
784
|
-
this.currentSequence ===
|
|
784
|
+
this.currentSequence === P.Plaintext ? (this.currentSequence = P.Empty, this.state = A.InPlainText) : this.isSpecial ? (this.state = A.InSpecialTag, this.sequenceIndex = 0) : this.state = A.Text;
|
|
785
785
|
}
|
|
786
786
|
stateSpecialStartSequence(e) {
|
|
787
787
|
let t = e | 32;
|
|
@@ -791,43 +791,43 @@ var N = {
|
|
|
791
791
|
return;
|
|
792
792
|
}
|
|
793
793
|
if (this.sequenceIndex === 3) {
|
|
794
|
-
if (this.currentSequence ===
|
|
795
|
-
this.currentSequence =
|
|
794
|
+
if (this.currentSequence === P.ScriptEnd && t === P.StyleEnd[3]) {
|
|
795
|
+
this.currentSequence = P.StyleEnd, this.sequenceIndex = 4;
|
|
796
796
|
return;
|
|
797
797
|
}
|
|
798
|
-
if (this.currentSequence ===
|
|
799
|
-
this.currentSequence =
|
|
798
|
+
if (this.currentSequence === P.TitleEnd && t === P.TextareaEnd[3]) {
|
|
799
|
+
this.currentSequence = P.TextareaEnd, this.sequenceIndex = 4;
|
|
800
800
|
return;
|
|
801
801
|
}
|
|
802
|
-
} else if (this.sequenceIndex === 4 && this.currentSequence ===
|
|
803
|
-
this.currentSequence =
|
|
802
|
+
} else if (this.sequenceIndex === 4 && this.currentSequence === P.NoembedEnd && t === P.NoframesEnd[4]) {
|
|
803
|
+
this.currentSequence = P.NoframesEnd, this.sequenceIndex = 5;
|
|
804
804
|
return;
|
|
805
805
|
}
|
|
806
|
-
} else if (
|
|
807
|
-
this.sequenceIndex = 0, this.state =
|
|
806
|
+
} else if (M(e)) {
|
|
807
|
+
this.sequenceIndex = 0, this.state = A.InTagName, this.stateInTagName(e);
|
|
808
808
|
return;
|
|
809
809
|
}
|
|
810
|
-
this.isSpecial = !1, this.currentSequence =
|
|
810
|
+
this.isSpecial = !1, this.currentSequence = P.Empty, this.sequenceIndex = 0, this.state = A.InTagName, this.stateInTagName(e);
|
|
811
811
|
}
|
|
812
812
|
stateCDATASequence(e) {
|
|
813
|
-
e ===
|
|
813
|
+
e === P.Cdata[this.sequenceIndex] ? ++this.sequenceIndex === P.Cdata.length && (this.state = A.InCommentLike, this.currentSequence = P.CdataEnd, this.sequenceIndex = 0, this.sectionStart = this.index + 1) : (this.sequenceIndex = 0, this.xmlMode ? (this.state = A.InDeclaration, this.stateInDeclaration(e)) : (this.state = A.InSpecialComment, this.stateInSpecialComment(e)));
|
|
814
814
|
}
|
|
815
815
|
fastForwardTo(e) {
|
|
816
816
|
for (; ++this.index < this.buffer.length + this.offset;) if (this.buffer.charCodeAt(this.index - this.offset) === e) return !0;
|
|
817
817
|
return this.index = this.buffer.length + this.offset - 1, !1;
|
|
818
818
|
}
|
|
819
819
|
emitComment(e) {
|
|
820
|
-
this.cbs.oncomment(this.sectionStart, this.index, e), this.sequenceIndex = 0, this.sectionStart = this.index + 1, this.state =
|
|
820
|
+
this.cbs.oncomment(this.sectionStart, this.index, e), this.sequenceIndex = 0, this.sectionStart = this.index + 1, this.state = A.Text;
|
|
821
821
|
}
|
|
822
822
|
stateInCommentLike(e) {
|
|
823
|
-
!this.xmlMode && this.currentSequence ===
|
|
823
|
+
!this.xmlMode && this.currentSequence === P.CommentEnd && this.sequenceIndex <= 1 && this.index === this.sectionStart + this.sequenceIndex && e === k.Gt ? this.emitComment(this.sequenceIndex) : this.currentSequence === P.CommentEnd && this.sequenceIndex === 2 && e === k.Gt ? this.emitComment(2) : this.currentSequence === P.CommentEnd && this.sequenceIndex === this.currentSequence.length - 1 && e !== k.Gt ? this.sequenceIndex = Number(e === k.Dash) : e === this.currentSequence[this.sequenceIndex] ? ++this.sequenceIndex === this.currentSequence.length && (this.currentSequence === P.CdataEnd ? this.cbs.oncdata(this.sectionStart, this.index, 2) : this.cbs.oncomment(this.sectionStart, this.index, 3), this.sequenceIndex = 0, this.sectionStart = this.index + 1, this.state = A.Text) : this.sequenceIndex === 0 ? this.fastForwardTo(this.currentSequence[0]) && (this.sequenceIndex = 1) : e !== this.currentSequence[this.sequenceIndex - 1] && (this.sequenceIndex = 0);
|
|
824
824
|
}
|
|
825
825
|
isTagStartChar(e) {
|
|
826
|
-
return this.xmlMode ? !
|
|
826
|
+
return this.xmlMode ? !M(e) : Ve(e);
|
|
827
827
|
}
|
|
828
828
|
stateInSpecialTag(e) {
|
|
829
829
|
if (this.sequenceIndex === this.currentSequence.length) {
|
|
830
|
-
if (
|
|
830
|
+
if (M(e)) {
|
|
831
831
|
let t = this.index - this.currentSequence.length;
|
|
832
832
|
if (this.sectionStart < t) {
|
|
833
833
|
let e = this.index;
|
|
@@ -838,88 +838,88 @@ var N = {
|
|
|
838
838
|
}
|
|
839
839
|
this.sequenceIndex = 0;
|
|
840
840
|
}
|
|
841
|
-
(e | 32) === this.currentSequence[this.sequenceIndex] ? this.sequenceIndex += 1 : this.sequenceIndex === 0 ? this.currentSequence ===
|
|
841
|
+
(e | 32) === this.currentSequence[this.sequenceIndex] ? this.sequenceIndex += 1 : this.sequenceIndex === 0 ? this.currentSequence === P.TitleEnd || this.currentSequence === P.TextareaEnd ? this.decodeEntities && e === k.Amp && this.startEntity() : this.fastForwardTo(k.Lt) && (this.sequenceIndex = 1) : this.sequenceIndex = Number(e === k.Lt);
|
|
842
842
|
}
|
|
843
843
|
stateBeforeTagName(e) {
|
|
844
|
-
if (e ===
|
|
845
|
-
else if (e ===
|
|
844
|
+
if (e === k.ExclamationMark) this.state = A.BeforeDeclaration, this.sectionStart = this.index + 1;
|
|
845
|
+
else if (e === k.Questionmark) this.xmlMode ? (this.state = A.InProcessingInstruction, this.sequenceIndex = 0, this.sectionStart = this.index + 1) : (this.state = A.InSpecialComment, this.sectionStart = this.index);
|
|
846
846
|
else if (this.isTagStartChar(e)) {
|
|
847
847
|
this.sectionStart = this.index;
|
|
848
|
-
let t = this.xmlMode || this.cbs.isInForeignContext?.() ? void 0 :
|
|
849
|
-
t === void 0 ? this.state =
|
|
850
|
-
} else e ===
|
|
848
|
+
let t = this.xmlMode || this.cbs.isInForeignContext?.() ? void 0 : He.get(e | 32);
|
|
849
|
+
t === void 0 ? this.state = A.InTagName : (this.isSpecial = !0, this.currentSequence = t, this.sequenceIndex = 3, this.state = A.SpecialStartSequence);
|
|
850
|
+
} else e === k.Slash ? this.state = A.BeforeClosingTagName : (this.state = A.Text, this.stateText(e));
|
|
851
851
|
}
|
|
852
852
|
stateInTagName(e) {
|
|
853
|
-
|
|
853
|
+
M(e) && (this.cbs.onopentagname(this.sectionStart, this.index), this.sectionStart = -1, this.state = A.BeforeAttributeName, this.stateBeforeAttributeName(e));
|
|
854
854
|
}
|
|
855
855
|
stateBeforeClosingTagName(e) {
|
|
856
|
-
|
|
856
|
+
j(e) ? this.xmlMode || (this.state = A.InSpecialComment, this.sectionStart = this.index) : e === k.Gt ? (this.state = A.Text, this.xmlMode || (this.sectionStart = this.index + 1)) : (this.state = this.isTagStartChar(e) ? A.InClosingTagName : A.InSpecialComment, this.sectionStart = this.index);
|
|
857
857
|
}
|
|
858
858
|
stateInClosingTagName(e) {
|
|
859
|
-
|
|
859
|
+
M(e) && (this.cbs.onclosetag(this.sectionStart, this.index), this.sectionStart = -1, this.state = A.AfterClosingTagName, this.stateAfterClosingTagName(e));
|
|
860
860
|
}
|
|
861
861
|
stateAfterClosingTagName(e) {
|
|
862
|
-
(e ===
|
|
862
|
+
(e === k.Gt || this.fastForwardTo(k.Gt)) && (this.state = A.Text, this.sectionStart = this.index + 1);
|
|
863
863
|
}
|
|
864
864
|
stateBeforeAttributeName(e) {
|
|
865
|
-
e ===
|
|
865
|
+
e === k.Gt ? (this.cbs.onopentagend(this.index), this.enterTagBody(), this.sectionStart = this.index + 1) : e === k.Slash ? this.state = A.InSelfClosingTag : j(e) || (this.state = A.InAttributeName, this.sectionStart = this.index);
|
|
866
866
|
}
|
|
867
867
|
stateInSelfClosingTag(e) {
|
|
868
|
-
if (e ===
|
|
868
|
+
if (e === k.Gt) {
|
|
869
869
|
if (this.cbs.onselfclosingtag(this.index), this.sectionStart = this.index + 1, !this.recognizeSelfClosing) {
|
|
870
870
|
this.enterTagBody();
|
|
871
871
|
return;
|
|
872
872
|
}
|
|
873
|
-
this.state =
|
|
874
|
-
} else
|
|
873
|
+
this.state = A.Text, this.isSpecial = !1, this.currentSequence = P.Empty;
|
|
874
|
+
} else j(e) || (this.state = A.BeforeAttributeName, this.stateBeforeAttributeName(e));
|
|
875
875
|
}
|
|
876
876
|
stateInAttributeName(e) {
|
|
877
|
-
(e ===
|
|
877
|
+
(e === k.Eq || M(e)) && (this.cbs.onattribname(this.sectionStart, this.index), this.sectionStart = this.index, this.state = A.AfterAttributeName, this.stateAfterAttributeName(e));
|
|
878
878
|
}
|
|
879
879
|
stateAfterAttributeName(e) {
|
|
880
|
-
e ===
|
|
880
|
+
e === k.Eq ? this.state = A.BeforeAttributeValue : e === k.Slash || e === k.Gt ? (this.cbs.onattribend(N.NoValue, this.sectionStart), this.sectionStart = -1, this.state = A.BeforeAttributeName, this.stateBeforeAttributeName(e)) : j(e) || (this.cbs.onattribend(N.NoValue, this.sectionStart), this.state = A.InAttributeName, this.sectionStart = this.index);
|
|
881
881
|
}
|
|
882
882
|
stateBeforeAttributeValue(e) {
|
|
883
|
-
e ===
|
|
883
|
+
e === k.DoubleQuote ? (this.state = A.InAttributeValueDq, this.sectionStart = this.index + 1) : e === k.SingleQuote ? (this.state = A.InAttributeValueSq, this.sectionStart = this.index + 1) : j(e) || (this.sectionStart = this.index, this.state = A.InAttributeValueNq, this.stateInAttributeValueNoQuotes(e));
|
|
884
884
|
}
|
|
885
885
|
handleInAttributeValue(e, t) {
|
|
886
|
-
e === t || !this.decodeEntities && this.fastForwardTo(t) ? (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = -1, this.cbs.onattribend(t ===
|
|
886
|
+
e === t || !this.decodeEntities && this.fastForwardTo(t) ? (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = -1, this.cbs.onattribend(t === k.DoubleQuote ? N.Double : N.Single, this.index + 1), this.state = A.BeforeAttributeName) : this.decodeEntities && e === k.Amp && this.startEntity();
|
|
887
887
|
}
|
|
888
888
|
stateInAttributeValueDoubleQuotes(e) {
|
|
889
|
-
this.handleInAttributeValue(e,
|
|
889
|
+
this.handleInAttributeValue(e, k.DoubleQuote);
|
|
890
890
|
}
|
|
891
891
|
stateInAttributeValueSingleQuotes(e) {
|
|
892
|
-
this.handleInAttributeValue(e,
|
|
892
|
+
this.handleInAttributeValue(e, k.SingleQuote);
|
|
893
893
|
}
|
|
894
894
|
stateInAttributeValueNoQuotes(e) {
|
|
895
|
-
|
|
895
|
+
j(e) || e === k.Gt ? (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = -1, this.cbs.onattribend(N.Unquoted, this.index), this.state = A.BeforeAttributeName, this.stateBeforeAttributeName(e)) : this.decodeEntities && e === k.Amp && this.startEntity();
|
|
896
896
|
}
|
|
897
897
|
stateBeforeDeclaration(e) {
|
|
898
|
-
e ===
|
|
898
|
+
e === k.OpeningSquareBracket ? (this.state = A.CDATASequence, this.sequenceIndex = 0) : this.xmlMode ? this.state = e === k.Dash ? A.BeforeComment : A.InDeclaration : (e | 32) === P.Doctype[0] ? (this.state = A.DeclarationSequence, this.currentSequence = P.Doctype, this.sequenceIndex = 1) : e === k.Gt ? (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = A.Text, this.sectionStart = this.index + 1) : e === k.Dash ? this.state = A.BeforeComment : this.state = A.InSpecialComment;
|
|
899
899
|
}
|
|
900
900
|
stateDeclarationSequence(e) {
|
|
901
|
-
this.sequenceIndex === this.currentSequence.length ? (this.state =
|
|
901
|
+
this.sequenceIndex === this.currentSequence.length ? (this.state = A.InDeclaration, this.stateInDeclaration(e)) : (e | 32) === this.currentSequence[this.sequenceIndex] ? this.sequenceIndex += 1 : e === k.Gt ? (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = A.Text, this.sectionStart = this.index + 1) : this.state = A.InSpecialComment;
|
|
902
902
|
}
|
|
903
903
|
stateInDeclaration(e) {
|
|
904
|
-
(e ===
|
|
904
|
+
(e === k.Gt || this.fastForwardTo(k.Gt)) && (this.cbs.ondeclaration(this.sectionStart, this.index), this.state = A.Text, this.sectionStart = this.index + 1);
|
|
905
905
|
}
|
|
906
906
|
stateInProcessingInstruction(e) {
|
|
907
|
-
e ===
|
|
907
|
+
e === k.Questionmark ? this.sequenceIndex = 1 : e === k.Gt && this.sequenceIndex === 1 ? (this.cbs.onprocessinginstruction(this.sectionStart, this.index - 1), this.sequenceIndex = 0, this.state = A.Text, this.sectionStart = this.index + 1) : this.sequenceIndex = Number(this.fastForwardTo(k.Questionmark));
|
|
908
908
|
}
|
|
909
909
|
stateBeforeComment(e) {
|
|
910
|
-
e ===
|
|
910
|
+
e === k.Dash ? (this.state = A.InCommentLike, this.currentSequence = P.CommentEnd, this.sequenceIndex = 0, this.sectionStart = this.index + 1) : this.xmlMode ? this.state = A.InDeclaration : e === k.Gt ? (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = A.Text, this.sectionStart = this.index + 1) : this.state = A.InSpecialComment;
|
|
911
911
|
}
|
|
912
912
|
stateInSpecialComment(e) {
|
|
913
|
-
(e ===
|
|
913
|
+
(e === k.Gt || this.fastForwardTo(k.Gt)) && (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = A.Text, this.sectionStart = this.index + 1);
|
|
914
914
|
}
|
|
915
915
|
startEntity() {
|
|
916
|
-
this.baseState = this.state, this.state =
|
|
916
|
+
this.baseState = this.state, this.state = A.InEntity, this.entityStart = this.index, this.entityDecoder.startEntity(this.xmlMode ? O.Strict : this.baseState === A.Text || this.baseState === A.InSpecialTag ? O.Legacy : O.Attribute);
|
|
917
917
|
}
|
|
918
918
|
stateInEntity() {
|
|
919
919
|
let e = this.index - this.offset, t = this.entityDecoder.write(this.buffer, e);
|
|
920
920
|
if (t >= 0) this.state = this.baseState, t === 0 && --this.index;
|
|
921
921
|
else {
|
|
922
|
-
if (e < this.buffer.length && this.buffer.charCodeAt(e) ===
|
|
922
|
+
if (e < this.buffer.length && this.buffer.charCodeAt(e) === k.Amp) {
|
|
923
923
|
this.state = this.baseState, --this.index;
|
|
924
924
|
return;
|
|
925
925
|
}
|
|
@@ -927,7 +927,7 @@ var N = {
|
|
|
927
927
|
}
|
|
928
928
|
}
|
|
929
929
|
cleanup() {
|
|
930
|
-
this.running && this.sectionStart !== this.index && (this.state ===
|
|
930
|
+
this.running && this.sectionStart !== this.index && (this.state === A.Text || this.state === A.InPlainText || this.state === A.InSpecialTag && this.sequenceIndex === 0 ? (this.cbs.ontext(this.sectionStart, this.index), this.sectionStart = this.index) : (this.state === A.InAttributeValueDq || this.state === A.InAttributeValueSq || this.state === A.InAttributeValueNq) && (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = this.index));
|
|
931
931
|
}
|
|
932
932
|
shouldContinue() {
|
|
933
933
|
return this.index < this.buffer.length + this.offset && this.running;
|
|
@@ -936,82 +936,82 @@ var N = {
|
|
|
936
936
|
for (; this.shouldContinue();) {
|
|
937
937
|
let e = this.buffer.charCodeAt(this.index - this.offset);
|
|
938
938
|
switch (this.state) {
|
|
939
|
-
case
|
|
939
|
+
case A.Text:
|
|
940
940
|
this.stateText(e);
|
|
941
941
|
break;
|
|
942
|
-
case
|
|
942
|
+
case A.InPlainText:
|
|
943
943
|
this.index = this.buffer.length + this.offset - 1;
|
|
944
944
|
break;
|
|
945
|
-
case
|
|
945
|
+
case A.SpecialStartSequence:
|
|
946
946
|
this.stateSpecialStartSequence(e);
|
|
947
947
|
break;
|
|
948
|
-
case
|
|
948
|
+
case A.InSpecialTag:
|
|
949
949
|
this.stateInSpecialTag(e);
|
|
950
950
|
break;
|
|
951
|
-
case
|
|
951
|
+
case A.CDATASequence:
|
|
952
952
|
this.stateCDATASequence(e);
|
|
953
953
|
break;
|
|
954
|
-
case
|
|
954
|
+
case A.DeclarationSequence:
|
|
955
955
|
this.stateDeclarationSequence(e);
|
|
956
956
|
break;
|
|
957
|
-
case
|
|
957
|
+
case A.InAttributeValueDq:
|
|
958
958
|
this.stateInAttributeValueDoubleQuotes(e);
|
|
959
959
|
break;
|
|
960
|
-
case
|
|
960
|
+
case A.InAttributeName:
|
|
961
961
|
this.stateInAttributeName(e);
|
|
962
962
|
break;
|
|
963
|
-
case
|
|
963
|
+
case A.InCommentLike:
|
|
964
964
|
this.stateInCommentLike(e);
|
|
965
965
|
break;
|
|
966
|
-
case
|
|
966
|
+
case A.InSpecialComment:
|
|
967
967
|
this.stateInSpecialComment(e);
|
|
968
968
|
break;
|
|
969
|
-
case
|
|
969
|
+
case A.BeforeAttributeName:
|
|
970
970
|
this.stateBeforeAttributeName(e);
|
|
971
971
|
break;
|
|
972
|
-
case
|
|
972
|
+
case A.InTagName:
|
|
973
973
|
this.stateInTagName(e);
|
|
974
974
|
break;
|
|
975
|
-
case
|
|
975
|
+
case A.InClosingTagName:
|
|
976
976
|
this.stateInClosingTagName(e);
|
|
977
977
|
break;
|
|
978
|
-
case
|
|
978
|
+
case A.BeforeTagName:
|
|
979
979
|
this.stateBeforeTagName(e);
|
|
980
980
|
break;
|
|
981
|
-
case
|
|
981
|
+
case A.AfterAttributeName:
|
|
982
982
|
this.stateAfterAttributeName(e);
|
|
983
983
|
break;
|
|
984
|
-
case
|
|
984
|
+
case A.InAttributeValueSq:
|
|
985
985
|
this.stateInAttributeValueSingleQuotes(e);
|
|
986
986
|
break;
|
|
987
|
-
case
|
|
987
|
+
case A.BeforeAttributeValue:
|
|
988
988
|
this.stateBeforeAttributeValue(e);
|
|
989
989
|
break;
|
|
990
|
-
case
|
|
990
|
+
case A.BeforeClosingTagName:
|
|
991
991
|
this.stateBeforeClosingTagName(e);
|
|
992
992
|
break;
|
|
993
|
-
case
|
|
993
|
+
case A.AfterClosingTagName:
|
|
994
994
|
this.stateAfterClosingTagName(e);
|
|
995
995
|
break;
|
|
996
|
-
case
|
|
996
|
+
case A.InAttributeValueNq:
|
|
997
997
|
this.stateInAttributeValueNoQuotes(e);
|
|
998
998
|
break;
|
|
999
|
-
case
|
|
999
|
+
case A.InSelfClosingTag:
|
|
1000
1000
|
this.stateInSelfClosingTag(e);
|
|
1001
1001
|
break;
|
|
1002
|
-
case
|
|
1002
|
+
case A.InDeclaration:
|
|
1003
1003
|
this.stateInDeclaration(e);
|
|
1004
1004
|
break;
|
|
1005
|
-
case
|
|
1005
|
+
case A.BeforeDeclaration:
|
|
1006
1006
|
this.stateBeforeDeclaration(e);
|
|
1007
1007
|
break;
|
|
1008
|
-
case
|
|
1008
|
+
case A.BeforeComment:
|
|
1009
1009
|
this.stateBeforeComment(e);
|
|
1010
1010
|
break;
|
|
1011
|
-
case
|
|
1011
|
+
case A.InProcessingInstruction:
|
|
1012
1012
|
this.stateInProcessingInstruction(e);
|
|
1013
1013
|
break;
|
|
1014
|
-
case
|
|
1014
|
+
case A.InEntity:
|
|
1015
1015
|
this.stateInEntity();
|
|
1016
1016
|
break;
|
|
1017
1017
|
}
|
|
@@ -1020,59 +1020,59 @@ var N = {
|
|
|
1020
1020
|
this.cleanup();
|
|
1021
1021
|
}
|
|
1022
1022
|
finish() {
|
|
1023
|
-
this.state ===
|
|
1023
|
+
this.state === A.InEntity && (this.entityDecoder.end(), this.state = this.baseState), this.handleTrailingData(), this.cbs.onend();
|
|
1024
1024
|
}
|
|
1025
1025
|
handleTrailingCommentLikeData(e) {
|
|
1026
|
-
if (this.state !==
|
|
1027
|
-
if (this.currentSequence ===
|
|
1026
|
+
if (this.state !== A.InCommentLike) return !1;
|
|
1027
|
+
if (this.currentSequence === P.CdataEnd) if (this.xmlMode) this.sectionStart < e && this.cbs.oncdata(this.sectionStart, e, 0);
|
|
1028
1028
|
else {
|
|
1029
|
-
let t = this.sectionStart -
|
|
1029
|
+
let t = this.sectionStart - P.Cdata.length - 1;
|
|
1030
1030
|
this.cbs.oncomment(t, e, 0);
|
|
1031
1031
|
}
|
|
1032
1032
|
else {
|
|
1033
|
-
let t = this.xmlMode ? 0 : Math.min(this.sequenceIndex,
|
|
1033
|
+
let t = this.xmlMode ? 0 : Math.min(this.sequenceIndex, P.CommentEnd.length - 1);
|
|
1034
1034
|
this.cbs.oncomment(this.sectionStart, e, t);
|
|
1035
1035
|
}
|
|
1036
1036
|
return !0;
|
|
1037
1037
|
}
|
|
1038
1038
|
handleTrailingMarkupDeclaration(e) {
|
|
1039
1039
|
if (this.xmlMode) switch (this.state) {
|
|
1040
|
-
case
|
|
1041
|
-
case
|
|
1042
|
-
case
|
|
1043
|
-
case
|
|
1044
|
-
case
|
|
1040
|
+
case A.InSpecialComment:
|
|
1041
|
+
case A.BeforeComment:
|
|
1042
|
+
case A.CDATASequence:
|
|
1043
|
+
case A.DeclarationSequence:
|
|
1044
|
+
case A.InDeclaration: return this.cbs.ontext(this.sectionStart, e), !0;
|
|
1045
1045
|
default: return !1;
|
|
1046
1046
|
}
|
|
1047
1047
|
switch (this.state) {
|
|
1048
|
-
case
|
|
1049
|
-
case
|
|
1050
|
-
case
|
|
1051
|
-
case
|
|
1052
|
-
case
|
|
1053
|
-
case
|
|
1048
|
+
case A.BeforeDeclaration:
|
|
1049
|
+
case A.InSpecialComment:
|
|
1050
|
+
case A.BeforeComment:
|
|
1051
|
+
case A.CDATASequence: return this.cbs.oncomment(this.sectionStart, e, 0), !0;
|
|
1052
|
+
case A.DeclarationSequence: return this.sequenceIndex !== P.Doctype.length && this.cbs.oncomment(this.sectionStart, e, 0), !0;
|
|
1053
|
+
case A.InDeclaration: return !0;
|
|
1054
1054
|
default: return !1;
|
|
1055
1055
|
}
|
|
1056
1056
|
}
|
|
1057
1057
|
handleTrailingData() {
|
|
1058
1058
|
let e = this.buffer.length + this.offset;
|
|
1059
1059
|
if (!(this.handleTrailingCommentLikeData(e) || this.handleTrailingMarkupDeclaration(e)) && !(this.sectionStart >= e)) switch (this.state) {
|
|
1060
|
-
case
|
|
1061
|
-
case
|
|
1062
|
-
case
|
|
1063
|
-
case
|
|
1064
|
-
case
|
|
1065
|
-
case
|
|
1066
|
-
case
|
|
1067
|
-
case
|
|
1068
|
-
case
|
|
1060
|
+
case A.InTagName:
|
|
1061
|
+
case A.BeforeAttributeName:
|
|
1062
|
+
case A.BeforeAttributeValue:
|
|
1063
|
+
case A.AfterAttributeName:
|
|
1064
|
+
case A.InAttributeName:
|
|
1065
|
+
case A.InAttributeValueSq:
|
|
1066
|
+
case A.InAttributeValueDq:
|
|
1067
|
+
case A.InAttributeValueNq:
|
|
1068
|
+
case A.InClosingTagName: break;
|
|
1069
1069
|
default: this.cbs.ontext(this.sectionStart, e);
|
|
1070
1070
|
}
|
|
1071
1071
|
}
|
|
1072
1072
|
emitCodePoint(e, t) {
|
|
1073
|
-
this.baseState !==
|
|
1073
|
+
this.baseState !== A.Text && this.baseState !== A.InSpecialTag ? (this.sectionStart < this.entityStart && this.cbs.onattribdata(this.sectionStart, this.entityStart), this.sectionStart = this.entityStart + t, this.index = this.sectionStart - 1, this.cbs.onattribentity(e)) : (this.sectionStart < this.entityStart && this.cbs.ontext(this.sectionStart, this.entityStart), this.sectionStart = this.entityStart + t, this.index = this.sectionStart - 1, this.cbs.ontextentity(e, this.sectionStart));
|
|
1074
1074
|
}
|
|
1075
|
-
}, { fromCodePoint:
|
|
1075
|
+
}, { fromCodePoint: We } = String, F = new Set([
|
|
1076
1076
|
"input",
|
|
1077
1077
|
"option",
|
|
1078
1078
|
"optgroup",
|
|
@@ -1080,7 +1080,7 @@ var N = {
|
|
|
1080
1080
|
"button",
|
|
1081
1081
|
"datalist",
|
|
1082
1082
|
"textarea"
|
|
1083
|
-
]),
|
|
1083
|
+
]), I = new Set(["p"]), L = new Set([
|
|
1084
1084
|
"h1",
|
|
1085
1085
|
"h2",
|
|
1086
1086
|
"h3",
|
|
@@ -1088,7 +1088,7 @@ var N = {
|
|
|
1088
1088
|
"h5",
|
|
1089
1089
|
"h6",
|
|
1090
1090
|
"p"
|
|
1091
|
-
]),
|
|
1091
|
+
]), R = new Set(["thead", "tbody"]), z = new Set(["dd", "dt"]), B = new Set(["rt", "rp"]), Ge = new Map([
|
|
1092
1092
|
["tr", new Set([
|
|
1093
1093
|
"tr",
|
|
1094
1094
|
"th",
|
|
@@ -1107,49 +1107,49 @@ var N = {
|
|
|
1107
1107
|
])],
|
|
1108
1108
|
["a", new Set(["a"])],
|
|
1109
1109
|
["li", new Set(["li"])],
|
|
1110
|
-
["p",
|
|
1111
|
-
["h1",
|
|
1112
|
-
["h2",
|
|
1113
|
-
["h3",
|
|
1114
|
-
["h4",
|
|
1115
|
-
["h5",
|
|
1116
|
-
["h6",
|
|
1117
|
-
["select",
|
|
1118
|
-
["input",
|
|
1119
|
-
["output",
|
|
1120
|
-
["button",
|
|
1121
|
-
["datalist",
|
|
1122
|
-
["textarea",
|
|
1110
|
+
["p", I],
|
|
1111
|
+
["h1", L],
|
|
1112
|
+
["h2", L],
|
|
1113
|
+
["h3", L],
|
|
1114
|
+
["h4", L],
|
|
1115
|
+
["h5", L],
|
|
1116
|
+
["h6", L],
|
|
1117
|
+
["select", F],
|
|
1118
|
+
["input", F],
|
|
1119
|
+
["output", F],
|
|
1120
|
+
["button", F],
|
|
1121
|
+
["datalist", F],
|
|
1122
|
+
["textarea", F],
|
|
1123
1123
|
["option", new Set(["option"])],
|
|
1124
1124
|
["optgroup", new Set(["optgroup", "option"])],
|
|
1125
|
-
["dd",
|
|
1126
|
-
["dt",
|
|
1127
|
-
["address",
|
|
1128
|
-
["article",
|
|
1129
|
-
["aside",
|
|
1130
|
-
["blockquote",
|
|
1131
|
-
["details",
|
|
1132
|
-
["div",
|
|
1133
|
-
["dl",
|
|
1134
|
-
["fieldset",
|
|
1135
|
-
["figcaption",
|
|
1136
|
-
["figure",
|
|
1137
|
-
["footer",
|
|
1138
|
-
["form",
|
|
1139
|
-
["header",
|
|
1140
|
-
["hr",
|
|
1141
|
-
["main",
|
|
1142
|
-
["nav",
|
|
1143
|
-
["ol",
|
|
1144
|
-
["pre",
|
|
1145
|
-
["section",
|
|
1146
|
-
["table",
|
|
1147
|
-
["ul",
|
|
1148
|
-
["rt",
|
|
1149
|
-
["rp",
|
|
1150
|
-
["tbody",
|
|
1151
|
-
["tfoot",
|
|
1152
|
-
]),
|
|
1125
|
+
["dd", z],
|
|
1126
|
+
["dt", z],
|
|
1127
|
+
["address", I],
|
|
1128
|
+
["article", I],
|
|
1129
|
+
["aside", I],
|
|
1130
|
+
["blockquote", I],
|
|
1131
|
+
["details", I],
|
|
1132
|
+
["div", I],
|
|
1133
|
+
["dl", I],
|
|
1134
|
+
["fieldset", I],
|
|
1135
|
+
["figcaption", I],
|
|
1136
|
+
["figure", I],
|
|
1137
|
+
["footer", I],
|
|
1138
|
+
["form", I],
|
|
1139
|
+
["header", I],
|
|
1140
|
+
["hr", I],
|
|
1141
|
+
["main", I],
|
|
1142
|
+
["nav", I],
|
|
1143
|
+
["ol", I],
|
|
1144
|
+
["pre", I],
|
|
1145
|
+
["section", I],
|
|
1146
|
+
["table", I],
|
|
1147
|
+
["ul", I],
|
|
1148
|
+
["rt", B],
|
|
1149
|
+
["rp", B],
|
|
1150
|
+
["tbody", R],
|
|
1151
|
+
["tfoot", R]
|
|
1152
|
+
]), Ke = "doctype", qe = new Set([
|
|
1153
1153
|
"area",
|
|
1154
1154
|
"base",
|
|
1155
1155
|
"basefont",
|
|
@@ -1169,7 +1169,7 @@ var N = {
|
|
|
1169
1169
|
"source",
|
|
1170
1170
|
"track",
|
|
1171
1171
|
"wbr"
|
|
1172
|
-
]),
|
|
1172
|
+
]), Je = new Set(["math", "svg"]), V = new Set([
|
|
1173
1173
|
"mi",
|
|
1174
1174
|
"mo",
|
|
1175
1175
|
"mn",
|
|
@@ -1179,7 +1179,7 @@ var N = {
|
|
|
1179
1179
|
"foreignObject",
|
|
1180
1180
|
"desc",
|
|
1181
1181
|
"title"
|
|
1182
|
-
]),
|
|
1182
|
+
]), H = new Map([
|
|
1183
1183
|
["altglyph", "altGlyph"],
|
|
1184
1184
|
["altglyphdef", "altGlyphDef"],
|
|
1185
1185
|
["altglyphitem", "altGlyphItem"],
|
|
@@ -1217,11 +1217,11 @@ var N = {
|
|
|
1217
1217
|
["lineargradient", "linearGradient"],
|
|
1218
1218
|
["radialgradient", "radialGradient"],
|
|
1219
1219
|
["textpath", "textPath"]
|
|
1220
|
-
]),
|
|
1220
|
+
]), U;
|
|
1221
1221
|
(function(e) {
|
|
1222
1222
|
e[e.None = 0] = "None", e[e.Svg = 1] = "Svg", e[e.MathML = 2] = "MathML";
|
|
1223
|
-
})(
|
|
1224
|
-
var
|
|
1223
|
+
})(U ||= {});
|
|
1224
|
+
var Ye = /\s|\//, W = class {
|
|
1225
1225
|
options;
|
|
1226
1226
|
startIndex = 0;
|
|
1227
1227
|
endIndex = 0;
|
|
@@ -1243,27 +1243,27 @@ var Xe = /\s|\//, U = class {
|
|
|
1243
1243
|
writeIndex = 0;
|
|
1244
1244
|
ended = !1;
|
|
1245
1245
|
constructor(e, t = {}) {
|
|
1246
|
-
this.options = t, this.cbs = e ?? {}, this.htmlMode = !this.options.xmlMode, this.lowerCaseTagNames = t.lowerCaseTags ?? this.htmlMode, this.lowerCaseAttributeNames = t.lowerCaseAttributeNames ?? this.htmlMode, this.recognizeSelfClosing = t.recognizeSelfClosing ?? !this.htmlMode, this.tokenizer = new (t.Tokenizer ??
|
|
1246
|
+
this.options = t, this.cbs = e ?? {}, this.htmlMode = !this.options.xmlMode, this.lowerCaseTagNames = t.lowerCaseTags ?? this.htmlMode, this.lowerCaseAttributeNames = t.lowerCaseAttributeNames ?? this.htmlMode, this.recognizeSelfClosing = t.recognizeSelfClosing ?? !this.htmlMode, this.tokenizer = new (t.Tokenizer ?? Ue)(this.options, this), this.foreignContext = [U.None], this.cbs.onparserinit?.(this);
|
|
1247
1247
|
}
|
|
1248
1248
|
ontext(e, t) {
|
|
1249
1249
|
let n = this.getSlice(e, t);
|
|
1250
1250
|
this.endIndex = t - 1, this.cbs.ontext?.(n), this.startIndex = t;
|
|
1251
1251
|
}
|
|
1252
1252
|
ontextentity(e, t) {
|
|
1253
|
-
this.endIndex = t - 1, this.cbs.ontext?.(
|
|
1253
|
+
this.endIndex = t - 1, this.cbs.ontext?.(We(e)), this.startIndex = t;
|
|
1254
1254
|
}
|
|
1255
1255
|
isInForeignContext() {
|
|
1256
|
-
return this.foreignContext[0] !==
|
|
1256
|
+
return this.foreignContext[0] !== U.None;
|
|
1257
1257
|
}
|
|
1258
1258
|
isVoidElement(e) {
|
|
1259
|
-
return this.htmlMode &&
|
|
1259
|
+
return this.htmlMode && qe.has(e);
|
|
1260
1260
|
}
|
|
1261
1261
|
readTagName(e, t) {
|
|
1262
1262
|
let n = this.lowerCaseTagNames ? this.getSlice(e, t).toLowerCase() : this.getSlice(e, t);
|
|
1263
1263
|
if (!(this.lowerCaseTagNames && this.htmlMode)) return n;
|
|
1264
|
-
if (this.foreignContext[0] ===
|
|
1264
|
+
if (this.foreignContext[0] === U.Svg) return H.get(n) ?? n;
|
|
1265
1265
|
if (this.foreignContext.length > 1) {
|
|
1266
|
-
let e =
|
|
1266
|
+
let e = H.get(n);
|
|
1267
1267
|
if (e !== void 0 && this.stack.includes(e)) return e;
|
|
1268
1268
|
}
|
|
1269
1269
|
return this.isInForeignContext() ? n : n === "image" ? "img" : n;
|
|
@@ -1276,9 +1276,9 @@ var Xe = /\s|\//, U = class {
|
|
|
1276
1276
|
this.tagname = "";
|
|
1277
1277
|
return;
|
|
1278
1278
|
}
|
|
1279
|
-
let t = this.htmlMode &&
|
|
1279
|
+
let t = this.htmlMode && Ge.get(e);
|
|
1280
1280
|
if (t) for (; this.stack.length > 0 && t.has(this.stack[0]);) this.popElement(!0);
|
|
1281
|
-
this.isVoidElement(e) || (this.stack.unshift(e), this.htmlMode && (e === "svg" ? this.foreignContext.unshift(
|
|
1281
|
+
this.isVoidElement(e) || (this.stack.unshift(e), this.htmlMode && (e === "svg" ? this.foreignContext.unshift(U.Svg) : e === "math" ? this.foreignContext.unshift(U.MathML) : V.has(e) && this.foreignContext.unshift(U.None))), this.cbs.onopentagname?.(e), this.cbs.onopentag && (this.attribs = {});
|
|
1282
1282
|
}
|
|
1283
1283
|
endOpenTag(e) {
|
|
1284
1284
|
this.startIndex = this.openTagStart, this.attribs &&= (this.cbs.onopentag?.(this.tagname, this.attribs, e), null), this.cbs.onclosetag && this.isVoidElement(this.tagname) && this.cbs.onclosetag(this.tagname, !0), this.tagname = "";
|
|
@@ -1304,7 +1304,7 @@ var Xe = /\s|\//, U = class {
|
|
|
1304
1304
|
}
|
|
1305
1305
|
popElement(e) {
|
|
1306
1306
|
let t = this.stack.shift();
|
|
1307
|
-
this.htmlMode && (
|
|
1307
|
+
this.htmlMode && (Je.has(t) || V.has(t)) && this.foreignContext.shift(), this.cbs.onclosetag?.(t, e);
|
|
1308
1308
|
}
|
|
1309
1309
|
closeCurrentTag(e) {
|
|
1310
1310
|
let t = this.tagname;
|
|
@@ -1319,20 +1319,20 @@ var Xe = /\s|\//, U = class {
|
|
|
1319
1319
|
this.attribvalue += this.getSlice(e, t);
|
|
1320
1320
|
}
|
|
1321
1321
|
onattribentity(e) {
|
|
1322
|
-
this.attribvalue +=
|
|
1322
|
+
this.attribvalue += We(e);
|
|
1323
1323
|
}
|
|
1324
1324
|
onattribend(e, t) {
|
|
1325
|
-
this.endIndex = t, this.cbs.onattribute?.(this.attribname, this.attribvalue, e ===
|
|
1325
|
+
this.endIndex = t, this.cbs.onattribute?.(this.attribname, this.attribvalue, e === N.Double ? "\"" : e === N.Single ? "'" : e === N.NoValue ? void 0 : null), this.attribs && !Object.hasOwn(this.attribs, this.attribname) && (this.attribs[this.attribname] = this.attribvalue), this.attribvalue = "";
|
|
1326
1326
|
}
|
|
1327
1327
|
getInstructionName(e) {
|
|
1328
|
-
let t = e.search(
|
|
1328
|
+
let t = e.search(Ye), n = t < 0 ? e : e.substr(0, t);
|
|
1329
1329
|
return this.lowerCaseTagNames && (n = n.toLowerCase()), n;
|
|
1330
1330
|
}
|
|
1331
1331
|
ondeclaration(e, t) {
|
|
1332
1332
|
this.endIndex = t;
|
|
1333
1333
|
let n = this.getSlice(e, t);
|
|
1334
1334
|
if (this.cbs.onprocessinginstruction) {
|
|
1335
|
-
let e = this.htmlMode ? this.lowerCaseTagNames ?
|
|
1335
|
+
let e = this.htmlMode ? this.lowerCaseTagNames ? Ke : n.slice(0, 7) : this.getInstructionName(n);
|
|
1336
1336
|
this.cbs.onprocessinginstruction(`!${e}`, `!${n}`);
|
|
1337
1337
|
}
|
|
1338
1338
|
this.startIndex = t + 1;
|
|
@@ -1362,7 +1362,7 @@ var Xe = /\s|\//, U = class {
|
|
|
1362
1362
|
this.cbs.onend?.();
|
|
1363
1363
|
}
|
|
1364
1364
|
reset() {
|
|
1365
|
-
this.cbs.onreset?.(), this.tokenizer.reset(), this.tagname = "", this.attribname = "", this.attribvalue = "", this.attribs = null, this.stack.length = 0, this.startIndex = 0, this.endIndex = 0, this.cbs.onparserinit?.(this), this.buffers.length = 0, this.foreignContext.length = 0, this.foreignContext.unshift(
|
|
1365
|
+
this.cbs.onreset?.(), this.tokenizer.reset(), this.tagname = "", this.attribname = "", this.attribvalue = "", this.attribs = null, this.stack.length = 0, this.startIndex = 0, this.endIndex = 0, this.cbs.onparserinit?.(this), this.buffers.length = 0, this.foreignContext.length = 0, this.foreignContext.unshift(U.None), this.bufferOffset = 0, this.writeIndex = 0, this.ended = !1;
|
|
1366
1366
|
}
|
|
1367
1367
|
parseComplete(e) {
|
|
1368
1368
|
this.reset(), this.end(e);
|
|
@@ -1401,10 +1401,10 @@ var Xe = /\s|\//, U = class {
|
|
|
1401
1401
|
};
|
|
1402
1402
|
//#endregion
|
|
1403
1403
|
//#region ../quality/src/html-utils.ts
|
|
1404
|
-
function
|
|
1404
|
+
function G(e) {
|
|
1405
1405
|
let t = [], n = null, r = "", i = () => {
|
|
1406
1406
|
n !== null && (n.text = r.trim(), t.push(n), n = null, r = "");
|
|
1407
|
-
}, a = new
|
|
1407
|
+
}, a = new W({
|
|
1408
1408
|
onopentag(e, t) {
|
|
1409
1409
|
if (e === "a") {
|
|
1410
1410
|
i(), n = {
|
|
@@ -1427,8 +1427,8 @@ function W(e) {
|
|
|
1427
1427
|
});
|
|
1428
1428
|
return a.write(e), a.end(), i(), t;
|
|
1429
1429
|
}
|
|
1430
|
-
function
|
|
1431
|
-
let t =
|
|
1430
|
+
function Xe(e) {
|
|
1431
|
+
let t = Ze(e).matchAll(/<\/?a\b[^<>]*>/gi), n = 0;
|
|
1432
1432
|
for (let e of t) {
|
|
1433
1433
|
if (e[0].startsWith("</")) {
|
|
1434
1434
|
n > 0 && n--;
|
|
@@ -1439,7 +1439,7 @@ function Ze(e) {
|
|
|
1439
1439
|
}
|
|
1440
1440
|
return !1;
|
|
1441
1441
|
}
|
|
1442
|
-
function
|
|
1442
|
+
function Ze(e) {
|
|
1443
1443
|
let t = "", n = 0;
|
|
1444
1444
|
for (; n < e.length;) {
|
|
1445
1445
|
let r = e.indexOf("<!--", n);
|
|
@@ -1454,38 +1454,38 @@ function Qe(e) {
|
|
|
1454
1454
|
}
|
|
1455
1455
|
return t;
|
|
1456
1456
|
}
|
|
1457
|
-
function
|
|
1458
|
-
let t = "", n = new
|
|
1457
|
+
function K(e) {
|
|
1458
|
+
let t = "", n = new W({ ontext(e) {
|
|
1459
1459
|
t += e;
|
|
1460
1460
|
} });
|
|
1461
1461
|
return n.write(e), n.end(), t.trim();
|
|
1462
1462
|
}
|
|
1463
|
-
var
|
|
1463
|
+
var Qe = {
|
|
1464
1464
|
meta: {
|
|
1465
1465
|
id: "a11y.heading-empty",
|
|
1466
1466
|
severity: "error"
|
|
1467
1467
|
},
|
|
1468
1468
|
block(e) {
|
|
1469
|
-
return !
|
|
1469
|
+
return !r(e) || K(e.content ?? "") !== "" ? null : { blockId: e.id };
|
|
1470
1470
|
}
|
|
1471
|
-
},
|
|
1471
|
+
}, $e = {
|
|
1472
1472
|
id: "a11y.heading-skip-level",
|
|
1473
1473
|
severity: "error"
|
|
1474
1474
|
};
|
|
1475
|
-
function
|
|
1476
|
-
for (let
|
|
1477
|
-
if (
|
|
1478
|
-
|
|
1475
|
+
function q(e, t) {
|
|
1476
|
+
for (let n of e) {
|
|
1477
|
+
if (r(n)) {
|
|
1478
|
+
t.push(n);
|
|
1479
1479
|
continue;
|
|
1480
1480
|
}
|
|
1481
|
-
if (
|
|
1481
|
+
if (a(n)) for (let e of n.children) q(e, t);
|
|
1482
1482
|
}
|
|
1483
1483
|
}
|
|
1484
|
-
var
|
|
1485
|
-
meta:
|
|
1484
|
+
var et = {
|
|
1485
|
+
meta: $e,
|
|
1486
1486
|
template(e) {
|
|
1487
1487
|
let t = [];
|
|
1488
|
-
|
|
1488
|
+
q(e.blocks, t);
|
|
1489
1489
|
let n = [], r = 0;
|
|
1490
1490
|
for (let e of t) r !== 0 && e.level > r + 1 && n.push({
|
|
1491
1491
|
blockId: e.id,
|
|
@@ -1496,24 +1496,24 @@ var tt = {
|
|
|
1496
1496
|
}), r = e.level;
|
|
1497
1497
|
return n;
|
|
1498
1498
|
}
|
|
1499
|
-
},
|
|
1499
|
+
}, tt = {
|
|
1500
1500
|
id: "a11y.heading-multiple-h1",
|
|
1501
1501
|
severity: "warning"
|
|
1502
1502
|
};
|
|
1503
|
-
function
|
|
1504
|
-
for (let
|
|
1505
|
-
if (
|
|
1506
|
-
|
|
1503
|
+
function nt(e, t) {
|
|
1504
|
+
for (let n of e) {
|
|
1505
|
+
if (r(n)) {
|
|
1506
|
+
t.push(n);
|
|
1507
1507
|
continue;
|
|
1508
1508
|
}
|
|
1509
|
-
if (
|
|
1509
|
+
if (a(n)) for (let e of n.children) nt(e, t);
|
|
1510
1510
|
}
|
|
1511
1511
|
}
|
|
1512
1512
|
var rt = {
|
|
1513
|
-
meta:
|
|
1513
|
+
meta: tt,
|
|
1514
1514
|
template(e) {
|
|
1515
1515
|
let t = [];
|
|
1516
|
-
|
|
1516
|
+
nt(e.blocks, t);
|
|
1517
1517
|
let n = t.filter((e) => e.level === 1);
|
|
1518
1518
|
return n.length <= 1 ? [] : n.slice(1).map((e) => ({ blockId: e.id }));
|
|
1519
1519
|
}
|
|
@@ -1522,28 +1522,28 @@ var rt = {
|
|
|
1522
1522
|
severity: "error"
|
|
1523
1523
|
};
|
|
1524
1524
|
function at(e) {
|
|
1525
|
-
return u(e) ||
|
|
1525
|
+
return u(e) || r(e) ? e.content : null;
|
|
1526
1526
|
}
|
|
1527
1527
|
var ot = {
|
|
1528
1528
|
meta: it,
|
|
1529
1529
|
block(e) {
|
|
1530
1530
|
let t = at(e);
|
|
1531
|
-
return t === null || !
|
|
1531
|
+
return t === null || !G(t).find((e) => e.text === "" && !e.hasImageWithAlt) ? null : { blockId: e.id };
|
|
1532
1532
|
}
|
|
1533
1533
|
}, st = {
|
|
1534
1534
|
id: "a11y.link-vague-text",
|
|
1535
1535
|
severity: "warning"
|
|
1536
1536
|
};
|
|
1537
1537
|
function ct(e) {
|
|
1538
|
-
return u(e) ||
|
|
1538
|
+
return u(e) || r(e) ? e.content : null;
|
|
1539
1539
|
}
|
|
1540
1540
|
var lt = {
|
|
1541
1541
|
meta: st,
|
|
1542
1542
|
block(e, t, n) {
|
|
1543
1543
|
let r = ct(e);
|
|
1544
1544
|
if (r === null) return null;
|
|
1545
|
-
let i =
|
|
1546
|
-
let t =
|
|
1545
|
+
let i = b(n.locale).vagueLinkText, a = G(r).find((e) => {
|
|
1546
|
+
let t = S(e.text);
|
|
1547
1547
|
return t !== "" && i.includes(t);
|
|
1548
1548
|
});
|
|
1549
1549
|
return a ? {
|
|
@@ -1556,13 +1556,13 @@ var lt = {
|
|
|
1556
1556
|
severity: "error"
|
|
1557
1557
|
};
|
|
1558
1558
|
function dt(e) {
|
|
1559
|
-
return u(e) ||
|
|
1559
|
+
return u(e) || r(e) ? e.content : null;
|
|
1560
1560
|
}
|
|
1561
1561
|
var ft = {
|
|
1562
1562
|
meta: ut,
|
|
1563
1563
|
block(e) {
|
|
1564
1564
|
let t = dt(e);
|
|
1565
|
-
return t === null || !
|
|
1565
|
+
return t === null || !G(t).find((e) => {
|
|
1566
1566
|
let t = e.href.trim();
|
|
1567
1567
|
return t === "" || t === "#";
|
|
1568
1568
|
}) ? null : { blockId: e.id };
|
|
@@ -1572,7 +1572,7 @@ var ft = {
|
|
|
1572
1572
|
severity: "warning"
|
|
1573
1573
|
};
|
|
1574
1574
|
function mt(e) {
|
|
1575
|
-
return u(e) ||
|
|
1575
|
+
return u(e) || r(e) ? e.content : null;
|
|
1576
1576
|
}
|
|
1577
1577
|
function ht(e) {
|
|
1578
1578
|
if (e === null) return !1;
|
|
@@ -1583,12 +1583,12 @@ var gt = {
|
|
|
1583
1583
|
meta: pt,
|
|
1584
1584
|
block(e) {
|
|
1585
1585
|
let t = mt(e);
|
|
1586
|
-
return t === null || !
|
|
1586
|
+
return t === null || !G(t).find((e) => e.target === "_blank" && !ht(e.rel)) ? null : {
|
|
1587
1587
|
blockId: e.id,
|
|
1588
1588
|
fix: {
|
|
1589
1589
|
description: "Add rel=\"noopener\"",
|
|
1590
1590
|
apply: (t) => {
|
|
1591
|
-
if (!u(e) && !
|
|
1591
|
+
if (!u(e) && !r(e)) return;
|
|
1592
1592
|
let n = bt(e.content ?? "");
|
|
1593
1593
|
t.updateBlock(e.id, { content: n });
|
|
1594
1594
|
}
|
|
@@ -1630,13 +1630,13 @@ var xt = {
|
|
|
1630
1630
|
severity: "error"
|
|
1631
1631
|
};
|
|
1632
1632
|
function St(e) {
|
|
1633
|
-
return u(e) ||
|
|
1633
|
+
return u(e) || r(e) ? e.content : null;
|
|
1634
1634
|
}
|
|
1635
1635
|
var Ct = {
|
|
1636
1636
|
meta: xt,
|
|
1637
1637
|
block(e) {
|
|
1638
1638
|
let t = St(e);
|
|
1639
|
-
return t === null || !
|
|
1639
|
+
return t === null || !Xe(t) ? null : { blockId: e.id };
|
|
1640
1640
|
}
|
|
1641
1641
|
}, wt = {
|
|
1642
1642
|
meta: {
|
|
@@ -1644,9 +1644,9 @@ var Ct = {
|
|
|
1644
1644
|
severity: "warning"
|
|
1645
1645
|
},
|
|
1646
1646
|
block(e, t, n) {
|
|
1647
|
-
if (!u(e) && !
|
|
1648
|
-
let
|
|
1649
|
-
return
|
|
1647
|
+
if (!u(e) && !r(e)) return null;
|
|
1648
|
+
let i = K(e.content ?? "").replace(/[^\p{L}]/gu, "");
|
|
1649
|
+
return i.length < n.thresholds.allCapsMinLength || i !== i.toLocaleUpperCase() ? null : { blockId: e.id };
|
|
1650
1650
|
}
|
|
1651
1651
|
}, Tt = {
|
|
1652
1652
|
meta: {
|
|
@@ -1654,12 +1654,12 @@ var Ct = {
|
|
|
1654
1654
|
severity: "error"
|
|
1655
1655
|
},
|
|
1656
1656
|
block(e, t) {
|
|
1657
|
-
if (!
|
|
1658
|
-
let n =
|
|
1659
|
-
return Number.isNaN(
|
|
1657
|
+
if (!r(e) || !p(e.color) || !p(t.resolvedBackgroundColor)) return null;
|
|
1658
|
+
let n = c[e.level] >= 24 ? 3 : 4.5, i = ne(e.color, t.resolvedBackgroundColor);
|
|
1659
|
+
return Number.isNaN(i) || i >= n ? null : {
|
|
1660
1660
|
blockId: e.id,
|
|
1661
1661
|
params: {
|
|
1662
|
-
ratio:
|
|
1662
|
+
ratio: i.toFixed(2),
|
|
1663
1663
|
required: n
|
|
1664
1664
|
}
|
|
1665
1665
|
};
|
|
@@ -1669,18 +1669,18 @@ var Ct = {
|
|
|
1669
1669
|
severity: "warning"
|
|
1670
1670
|
};
|
|
1671
1671
|
function Dt(e) {
|
|
1672
|
-
return
|
|
1672
|
+
return t(e) || n(e) ? e.fontSize : null;
|
|
1673
1673
|
}
|
|
1674
1674
|
//#endregion
|
|
1675
1675
|
//#region ../quality/src/accessibility/index.ts
|
|
1676
1676
|
var Ot = [
|
|
1677
|
-
|
|
1677
|
+
_e,
|
|
1678
|
+
be,
|
|
1678
1679
|
xe,
|
|
1679
1680
|
Se,
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
tt,
|
|
1681
|
+
Ae,
|
|
1682
|
+
Qe,
|
|
1683
|
+
et,
|
|
1684
1684
|
rt,
|
|
1685
1685
|
ot,
|
|
1686
1686
|
lt,
|
|
@@ -1707,10 +1707,10 @@ var Ot = [
|
|
|
1707
1707
|
id: "a11y.button-vague-label",
|
|
1708
1708
|
severity: "warning"
|
|
1709
1709
|
},
|
|
1710
|
-
block(e, t,
|
|
1711
|
-
if (!
|
|
1712
|
-
let
|
|
1713
|
-
return
|
|
1710
|
+
block(e, t, n) {
|
|
1711
|
+
if (!l(e)) return null;
|
|
1712
|
+
let r = S(e.text ?? "");
|
|
1713
|
+
return r === "" || !b(n.locale).vagueButtonLabels.includes(r) ? null : {
|
|
1714
1714
|
blockId: e.id,
|
|
1715
1715
|
params: { text: e.text }
|
|
1716
1716
|
};
|
|
@@ -1721,16 +1721,16 @@ var Ot = [
|
|
|
1721
1721
|
id: "a11y.button-touch-target",
|
|
1722
1722
|
severity: "warning"
|
|
1723
1723
|
},
|
|
1724
|
-
block(e, t,
|
|
1725
|
-
if (!
|
|
1726
|
-
let
|
|
1727
|
-
if (!
|
|
1728
|
-
let
|
|
1729
|
-
return
|
|
1724
|
+
block(e, t, n) {
|
|
1725
|
+
if (!l(e)) return null;
|
|
1726
|
+
let r = e.buttonPadding;
|
|
1727
|
+
if (!r) return null;
|
|
1728
|
+
let i = e.fontSize * 1.4 + r.top + r.bottom;
|
|
1729
|
+
return i >= n.thresholds.minTouchTargetPx ? null : {
|
|
1730
1730
|
blockId: e.id,
|
|
1731
1731
|
params: {
|
|
1732
|
-
height: Math.round(
|
|
1733
|
-
min:
|
|
1732
|
+
height: Math.round(i),
|
|
1733
|
+
min: n.thresholds.minTouchTargetPx
|
|
1734
1734
|
}
|
|
1735
1735
|
};
|
|
1736
1736
|
}
|
|
@@ -1741,15 +1741,15 @@ var Ot = [
|
|
|
1741
1741
|
severity: "error"
|
|
1742
1742
|
},
|
|
1743
1743
|
block(e) {
|
|
1744
|
-
if (!
|
|
1745
|
-
let t =
|
|
1744
|
+
if (!l(e)) return null;
|
|
1745
|
+
let t = ne(e.textColor, e.backgroundColor);
|
|
1746
1746
|
if (Number.isNaN(t)) return null;
|
|
1747
|
-
let
|
|
1748
|
-
return t >=
|
|
1747
|
+
let n = e.fontSize >= 24 ? 3 : 4.5;
|
|
1748
|
+
return t >= n ? null : {
|
|
1749
1749
|
blockId: e.id,
|
|
1750
1750
|
params: {
|
|
1751
1751
|
ratio: t.toFixed(2),
|
|
1752
|
-
required:
|
|
1752
|
+
required: n
|
|
1753
1753
|
}
|
|
1754
1754
|
};
|
|
1755
1755
|
}
|
|
@@ -1765,7 +1765,7 @@ var Ot = [
|
|
|
1765
1765
|
}
|
|
1766
1766
|
];
|
|
1767
1767
|
function kt(e, t = {}) {
|
|
1768
|
-
return t.disabled === !0 || t.accessibility === !1 ? [] :
|
|
1768
|
+
return t.disabled === !0 || t.accessibility === !1 ? [] : g(e, Ot, ce(t.locale, t.accessibility ?? {}, Ot), (e, t, n) => ge(e, t, n));
|
|
1769
1769
|
}
|
|
1770
1770
|
//#endregion
|
|
1771
1771
|
//#region ../quality/src/structure/messages/de.ts
|
|
@@ -1781,21 +1781,21 @@ var At = /* @__PURE__ */ e({ default: () => jt }), jt = {
|
|
|
1781
1781
|
"structure.nested-section": "Section is nested inside another section. Sections cannot nest — the renderer will misbehave.",
|
|
1782
1782
|
"structure.empty-section": "Section has no blocks. Remove it or add content.",
|
|
1783
1783
|
"structure.empty-column": "Column {columnIndex} of this section is empty. Add content or reduce the column count."
|
|
1784
|
-
},
|
|
1784
|
+
}, Nt = /* @__PURE__ */ Object.assign({
|
|
1785
1785
|
"./de.ts": At,
|
|
1786
1786
|
"./en.ts": Mt
|
|
1787
|
-
}),
|
|
1788
|
-
for (let e in
|
|
1787
|
+
}), Y = {};
|
|
1788
|
+
for (let e in Nt) {
|
|
1789
1789
|
let t = /\.\/([^/]+)\.ts$/.exec(e);
|
|
1790
1790
|
if (!t) continue;
|
|
1791
1791
|
let n = t[1];
|
|
1792
|
-
n !== "index" && (
|
|
1792
|
+
n !== "index" && (Y[n] = Nt[e].default);
|
|
1793
1793
|
}
|
|
1794
|
-
function
|
|
1795
|
-
return
|
|
1794
|
+
function Pt(e) {
|
|
1795
|
+
return Y[e.split("-")[0]?.toLowerCase() ?? "en"] ?? Y.en ?? J;
|
|
1796
1796
|
}
|
|
1797
|
-
function
|
|
1798
|
-
let r =
|
|
1797
|
+
function Ft(e, t, n) {
|
|
1798
|
+
let r = Pt(e)[t] ?? J[t];
|
|
1799
1799
|
return n ? r.replace(/\{(\w+)\}/g, (e, t) => {
|
|
1800
1800
|
let r = n[t];
|
|
1801
1801
|
return r === void 0 ? `{${t}}` : String(r);
|
|
@@ -1803,18 +1803,18 @@ function Pt(e, t, n) {
|
|
|
1803
1803
|
}
|
|
1804
1804
|
//#endregion
|
|
1805
1805
|
//#region ../quality/src/structure/rules/duplicate-block-id.ts
|
|
1806
|
-
var
|
|
1806
|
+
var It = {
|
|
1807
1807
|
id: "structure.duplicate-block-id",
|
|
1808
1808
|
severity: "error"
|
|
1809
1809
|
};
|
|
1810
|
-
function
|
|
1811
|
-
for (let
|
|
1810
|
+
function Lt(e, t) {
|
|
1811
|
+
for (let n of e) if (t.set(n.id, (t.get(n.id) ?? 0) + 1), a(n)) for (let e of n.children) Lt(e, t);
|
|
1812
1812
|
}
|
|
1813
|
-
var
|
|
1814
|
-
meta:
|
|
1813
|
+
var Rt = {
|
|
1814
|
+
meta: It,
|
|
1815
1815
|
template(e) {
|
|
1816
1816
|
let t = /* @__PURE__ */ new Map();
|
|
1817
|
-
|
|
1817
|
+
Lt(e.blocks, t);
|
|
1818
1818
|
let n = [];
|
|
1819
1819
|
for (let [e, r] of t) r > 1 && n.push({
|
|
1820
1820
|
blockId: e,
|
|
@@ -1822,28 +1822,28 @@ var Lt = {
|
|
|
1822
1822
|
});
|
|
1823
1823
|
return n;
|
|
1824
1824
|
}
|
|
1825
|
-
},
|
|
1825
|
+
}, zt = {
|
|
1826
1826
|
id: "structure.empty-column",
|
|
1827
1827
|
severity: "warning"
|
|
1828
1828
|
};
|
|
1829
|
-
function
|
|
1830
|
-
for (let
|
|
1831
|
-
if (!
|
|
1832
|
-
let e =
|
|
1833
|
-
e.children.length > 1 && e.children.forEach((
|
|
1834
|
-
|
|
1829
|
+
function X(e, t) {
|
|
1830
|
+
for (let n of e) {
|
|
1831
|
+
if (!a(n)) continue;
|
|
1832
|
+
let e = n;
|
|
1833
|
+
e.children.length > 1 && e.children.forEach((n, r) => {
|
|
1834
|
+
n.length === 0 && t.push({
|
|
1835
1835
|
blockId: e.id,
|
|
1836
1836
|
params: { columnIndex: r + 1 }
|
|
1837
1837
|
});
|
|
1838
1838
|
});
|
|
1839
|
-
for (let
|
|
1839
|
+
for (let n of e.children) X(n, t);
|
|
1840
1840
|
}
|
|
1841
1841
|
}
|
|
1842
1842
|
var Bt = {
|
|
1843
|
-
meta:
|
|
1843
|
+
meta: zt,
|
|
1844
1844
|
template(e) {
|
|
1845
1845
|
let t = [];
|
|
1846
|
-
return
|
|
1846
|
+
return X(e.blocks, t), t;
|
|
1847
1847
|
}
|
|
1848
1848
|
}, Vt = {
|
|
1849
1849
|
id: "structure.empty-section",
|
|
@@ -1855,14 +1855,14 @@ function Ht(e) {
|
|
|
1855
1855
|
var Ut = {
|
|
1856
1856
|
meta: Vt,
|
|
1857
1857
|
block(e) {
|
|
1858
|
-
if (!
|
|
1859
|
-
let
|
|
1860
|
-
return Ht(
|
|
1861
|
-
blockId:
|
|
1858
|
+
if (!a(e)) return null;
|
|
1859
|
+
let t = e;
|
|
1860
|
+
return Ht(t) ? {
|
|
1861
|
+
blockId: t.id,
|
|
1862
1862
|
fix: {
|
|
1863
1863
|
description: "Remove the empty section",
|
|
1864
1864
|
apply: (e) => {
|
|
1865
|
-
e.removeBlock(
|
|
1865
|
+
e.removeBlock(t.id);
|
|
1866
1866
|
}
|
|
1867
1867
|
}
|
|
1868
1868
|
} : null;
|
|
@@ -1872,10 +1872,10 @@ var Ut = {
|
|
|
1872
1872
|
id: "structure.nested-section",
|
|
1873
1873
|
severity: "error"
|
|
1874
1874
|
},
|
|
1875
|
-
block(e,
|
|
1876
|
-
return !
|
|
1875
|
+
block(e, t) {
|
|
1876
|
+
return !a(e) || t.section === null ? null : {
|
|
1877
1877
|
blockId: e.id,
|
|
1878
|
-
params: { parentId:
|
|
1878
|
+
params: { parentId: t.section.id }
|
|
1879
1879
|
};
|
|
1880
1880
|
}
|
|
1881
1881
|
}, Gt = {
|
|
@@ -1888,28 +1888,28 @@ function Kt(e) {
|
|
|
1888
1888
|
//#endregion
|
|
1889
1889
|
//#region ../quality/src/structure/index.ts
|
|
1890
1890
|
var qt = [
|
|
1891
|
-
|
|
1891
|
+
Rt,
|
|
1892
1892
|
Ut,
|
|
1893
1893
|
Bt,
|
|
1894
1894
|
Wt,
|
|
1895
1895
|
{
|
|
1896
1896
|
meta: Gt,
|
|
1897
1897
|
block(e) {
|
|
1898
|
-
if (!
|
|
1899
|
-
let
|
|
1900
|
-
return
|
|
1901
|
-
blockId:
|
|
1898
|
+
if (!a(e)) return null;
|
|
1899
|
+
let t = e, n = Kt(t.columns), r = t.children.length;
|
|
1900
|
+
return r === n ? null : {
|
|
1901
|
+
blockId: t.id,
|
|
1902
1902
|
params: {
|
|
1903
|
-
layout:
|
|
1904
|
-
expected:
|
|
1905
|
-
actual:
|
|
1903
|
+
layout: t.columns,
|
|
1904
|
+
expected: n,
|
|
1905
|
+
actual: r
|
|
1906
1906
|
}
|
|
1907
1907
|
};
|
|
1908
1908
|
}
|
|
1909
1909
|
}
|
|
1910
1910
|
];
|
|
1911
1911
|
function Jt(e, t = {}) {
|
|
1912
|
-
return t.disabled === !0 || t.structure === !1 ? [] :
|
|
1912
|
+
return t.disabled === !0 || t.structure === !1 ? [] : g(e, qt, le(t.locale, t.structure ?? {}, qt), (e, t, n) => Ft(e, t, n));
|
|
1913
1913
|
}
|
|
1914
1914
|
//#endregion
|
|
1915
1915
|
//#region ../quality/src/links/messages/de.ts
|
|
@@ -1948,19 +1948,19 @@ function en(e, t, n) {
|
|
|
1948
1948
|
//#endregion
|
|
1949
1949
|
//#region ../quality/src/url-walker.ts
|
|
1950
1950
|
function $(e) {
|
|
1951
|
-
let
|
|
1952
|
-
return
|
|
1953
|
-
if (
|
|
1954
|
-
for (let
|
|
1955
|
-
url:
|
|
1951
|
+
let n = [];
|
|
1952
|
+
return h(e, (e) => {
|
|
1953
|
+
if (r(e) || u(e) || s(e)) {
|
|
1954
|
+
for (let t of G(e.content)) n.push({
|
|
1955
|
+
url: t.href,
|
|
1956
1956
|
blockId: e.id,
|
|
1957
1957
|
source: "anchor",
|
|
1958
|
-
label:
|
|
1958
|
+
label: t.text
|
|
1959
1959
|
});
|
|
1960
1960
|
return;
|
|
1961
1961
|
}
|
|
1962
|
-
if (
|
|
1963
|
-
|
|
1962
|
+
if (l(e)) {
|
|
1963
|
+
n.push({
|
|
1964
1964
|
url: e.url,
|
|
1965
1965
|
blockId: e.id,
|
|
1966
1966
|
source: "button",
|
|
@@ -1968,8 +1968,8 @@ function $(e) {
|
|
|
1968
1968
|
});
|
|
1969
1969
|
return;
|
|
1970
1970
|
}
|
|
1971
|
-
if (
|
|
1972
|
-
e.linkUrl && e.linkUrl !== "" &&
|
|
1971
|
+
if (d(e)) {
|
|
1972
|
+
e.linkUrl && e.linkUrl !== "" && n.push({
|
|
1973
1973
|
url: e.linkUrl,
|
|
1974
1974
|
blockId: e.id,
|
|
1975
1975
|
source: "image-link",
|
|
@@ -1977,8 +1977,8 @@ function $(e) {
|
|
|
1977
1977
|
});
|
|
1978
1978
|
return;
|
|
1979
1979
|
}
|
|
1980
|
-
if (
|
|
1981
|
-
|
|
1980
|
+
if (i(e)) {
|
|
1981
|
+
n.push({
|
|
1982
1982
|
url: e.url,
|
|
1983
1983
|
blockId: e.id,
|
|
1984
1984
|
source: "video",
|
|
@@ -1986,25 +1986,25 @@ function $(e) {
|
|
|
1986
1986
|
});
|
|
1987
1987
|
return;
|
|
1988
1988
|
}
|
|
1989
|
-
if (
|
|
1990
|
-
for (let
|
|
1991
|
-
url:
|
|
1989
|
+
if (t(e)) {
|
|
1990
|
+
for (let t of e.items) n.push({
|
|
1991
|
+
url: t.url,
|
|
1992
1992
|
blockId: e.id,
|
|
1993
1993
|
source: "menu-item",
|
|
1994
|
-
label:
|
|
1994
|
+
label: t.text
|
|
1995
1995
|
});
|
|
1996
1996
|
return;
|
|
1997
1997
|
}
|
|
1998
|
-
if (
|
|
1999
|
-
for (let
|
|
2000
|
-
url:
|
|
1998
|
+
if (o(e)) {
|
|
1999
|
+
for (let t of e.icons) n.push({
|
|
2000
|
+
url: t.url,
|
|
2001
2001
|
blockId: e.id,
|
|
2002
2002
|
source: "social-icon",
|
|
2003
|
-
label:
|
|
2003
|
+
label: t.platform
|
|
2004
2004
|
});
|
|
2005
2005
|
return;
|
|
2006
2006
|
}
|
|
2007
|
-
}),
|
|
2007
|
+
}), n;
|
|
2008
2008
|
}
|
|
2009
2009
|
//#endregion
|
|
2010
2010
|
//#region ../quality/src/links/rules/javascript-protocol.ts
|
|
@@ -2151,7 +2151,7 @@ var Sn = [
|
|
|
2151
2151
|
}
|
|
2152
2152
|
];
|
|
2153
2153
|
function Cn(e, t = {}) {
|
|
2154
|
-
return t.disabled === !0 || t.links === !1 ? [] :
|
|
2154
|
+
return t.disabled === !0 || t.links === !1 ? [] : g(e, Sn, ue(t.locale, t.links ?? {}, Sn), (e, t, n) => en(e, t, n));
|
|
2155
2155
|
}
|
|
2156
2156
|
//#endregion
|
|
2157
2157
|
//#region ../quality/src/index.ts
|
|
@@ -2163,4 +2163,4 @@ var wn = /* @__PURE__ */ e({
|
|
|
2163
2163
|
//#endregion
|
|
2164
2164
|
export { wn as t };
|
|
2165
2165
|
|
|
2166
|
-
//# sourceMappingURL=quality-
|
|
2166
|
+
//# sourceMappingURL=quality-BxPiS-wv.js.map
|