easy-email-pro-kit 1.49.0 → 1.49.2
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/lib/index.cjs.js +1 -1
- package/lib/index.es.js +559 -547
- package/package.json +1 -1
package/lib/index.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var En = Object.defineProperty,
|
|
2
|
-
var
|
|
1
|
+
var En = Object.defineProperty, Sn = Object.defineProperties;
|
|
2
|
+
var Nn = Object.getOwnPropertyDescriptors;
|
|
3
3
|
var mt = Object.getOwnPropertySymbols;
|
|
4
4
|
var At = Object.prototype.hasOwnProperty, Rt = Object.prototype.propertyIsEnumerable;
|
|
5
5
|
var Ft = (e, r, a) => r in e ? En(e, r, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[r] = a, he = (e, r) => {
|
|
@@ -9,7 +9,7 @@ var Ft = (e, r, a) => r in e ? En(e, r, { enumerable: !0, configurable: !0, writ
|
|
|
9
9
|
for (var a of mt(r))
|
|
10
10
|
Rt.call(r, a) && Ft(e, a, r[a]);
|
|
11
11
|
return e;
|
|
12
|
-
}, Ye = (e, r) =>
|
|
12
|
+
}, Ye = (e, r) => Sn(e, Nn(r));
|
|
13
13
|
var Et = (e, r) => {
|
|
14
14
|
var a = {};
|
|
15
15
|
for (var p in e)
|
|
@@ -39,7 +39,7 @@ import { createCustomBlock as et, t as v, mergeBlock as _e, ElementCategory as t
|
|
|
39
39
|
import { AttributesPanelWrapper as ot, ResponsiveTabs as Kt, useEditorContext as qe, CollapseWrapper as je, AttributeField as X, ResponsiveField as $, previewLoadImage as un, SharedComponents as Zn, assignIdsToElementTree as In, useElementInteract as Dn, ConfigPanelsMap as at } from "easy-email-pro-theme";
|
|
40
40
|
import { get as Ke, cloneDeep as De, flatMap as Gn, isEqual as st, set as Ce, merge as Ln } from "lodash";
|
|
41
41
|
import t, { useState as Ve, useEffect as $e, useRef as Ut, useMemo as Bt, useCallback as gt } from "react";
|
|
42
|
-
import { Collapse as de, Button as ft, Message as Je, Grid as
|
|
42
|
+
import { Collapse as de, Button as ft, Message as Je, Grid as Ne, Divider as St, Radio as Nt, Form as Wn, Space as zn, InputNumber as Ht } from "@arco-design/web-react";
|
|
43
43
|
import { ActiveTabKeys as ue, useEditorProps as dt, useSelectedNode as ze, useEditorState as ut, useRefState as Yn, useEventCallback as mn, ElementMap as pn } from "easy-email-pro-editor";
|
|
44
44
|
import { useSlate as wt, ReactEditor as Xt } from "slate-react";
|
|
45
45
|
import { HistoryEditor as On } from "slate-history";
|
|
@@ -114,7 +114,7 @@ function Vn(e) {
|
|
|
114
114
|
paddingBottom: 15
|
|
115
115
|
}
|
|
116
116
|
},
|
|
117
|
-
d.map((y,
|
|
117
|
+
d.map((y, S) => /* @__PURE__ */ t.createElement(
|
|
118
118
|
"div",
|
|
119
119
|
{
|
|
120
120
|
key: y.unit,
|
|
@@ -142,7 +142,7 @@ function Vn(e) {
|
|
|
142
142
|
},
|
|
143
143
|
/* @__PURE__ */ t.createElement("div", { style: { height: "100%", overflow: "hidden" } }, /* @__PURE__ */ t.createElement("div", { className: y.unit }, y.value))
|
|
144
144
|
),
|
|
145
|
-
|
|
145
|
+
S !== d.length - 1 && /* @__PURE__ */ t.createElement(
|
|
146
146
|
"div",
|
|
147
147
|
{
|
|
148
148
|
key: y.unit,
|
|
@@ -161,7 +161,7 @@ function Vn(e) {
|
|
|
161
161
|
paddingBottom: 10
|
|
162
162
|
}
|
|
163
163
|
},
|
|
164
|
-
d.map((y,
|
|
164
|
+
d.map((y, S) => /* @__PURE__ */ t.createElement(
|
|
165
165
|
"div",
|
|
166
166
|
{
|
|
167
167
|
key: y.unit,
|
|
@@ -187,7 +187,7 @@ function Vn(e) {
|
|
|
187
187
|
},
|
|
188
188
|
y.unit
|
|
189
189
|
),
|
|
190
|
-
|
|
190
|
+
S !== d.length - 1 && /* @__PURE__ */ t.createElement(
|
|
191
191
|
"div",
|
|
192
192
|
{
|
|
193
193
|
style: {
|
|
@@ -298,7 +298,7 @@ const { SlateNodePlaceholder: jn } = ct, Ct = {
|
|
|
298
298
|
display: "table"
|
|
299
299
|
}
|
|
300
300
|
},
|
|
301
|
-
i.map((y,
|
|
301
|
+
i.map((y, S) => Cn.isElement(y) ? /* @__PURE__ */ t.createElement(jn, { key: S, node: y }) : null),
|
|
302
302
|
/* @__PURE__ */ t.createElement("mj-spacer", { height: "20px" }),
|
|
303
303
|
/* @__PURE__ */ t.createElement(Vn, { attributes: r.attributes, data: r.data })
|
|
304
304
|
)
|
|
@@ -693,7 +693,7 @@ const { SlateNodePlaceholder: jn } = ct, Ct = {
|
|
|
693
693
|
elegant: Un,
|
|
694
694
|
promotional: Bn,
|
|
695
695
|
modern: Hn
|
|
696
|
-
}, { Image: Jn } = ct, kt = {
|
|
696
|
+
}, { Image: Jn, Section: Qn, Column: _n } = ct, kt = {
|
|
697
697
|
attributes: {
|
|
698
698
|
"padding-top": "20px",
|
|
699
699
|
"padding-bottom": "20px",
|
|
@@ -785,16 +785,26 @@ const { SlateNodePlaceholder: jn } = ct, Ct = {
|
|
|
785
785
|
render(e) {
|
|
786
786
|
const { mode: r } = e;
|
|
787
787
|
return r === "testing" ? /* @__PURE__ */ t.createElement(t.Fragment, null) : /* @__PURE__ */ t.createElement(
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
"padding-bottom": "0px",
|
|
788
|
+
Qn,
|
|
789
|
+
{
|
|
791
790
|
"padding-top": "0px",
|
|
791
|
+
"padding-bottom": "0px",
|
|
792
792
|
"padding-left": "0px",
|
|
793
|
-
"padding-right": "0px"
|
|
794
|
-
|
|
793
|
+
"padding-right": "0px",
|
|
794
|
+
"background-color": ""
|
|
795
|
+
},
|
|
796
|
+
/* @__PURE__ */ t.createElement(_n, null, /* @__PURE__ */ t.createElement(
|
|
797
|
+
Jn,
|
|
798
|
+
Ye(he({}, e.node.attributes), {
|
|
799
|
+
"padding-bottom": "0px",
|
|
800
|
+
"padding-top": "0px",
|
|
801
|
+
"padding-left": "0px",
|
|
802
|
+
"padding-right": "0px"
|
|
803
|
+
})
|
|
804
|
+
))
|
|
795
805
|
);
|
|
796
806
|
}
|
|
797
|
-
}), { Image:
|
|
807
|
+
}), { Image: qn } = ct, _t = {
|
|
798
808
|
attributes: {
|
|
799
809
|
align: "center",
|
|
800
810
|
border: "0",
|
|
@@ -853,9 +863,9 @@ const { SlateNodePlaceholder: jn } = ct, Ct = {
|
|
|
853
863
|
"border-style",
|
|
854
864
|
"border-color"
|
|
855
865
|
]), o = a ? `${p || "1px"} ${m || "solid"} ${l || "#AAAAAA"}` : "";
|
|
856
|
-
return /* @__PURE__ */ t.createElement(
|
|
866
|
+
return /* @__PURE__ */ t.createElement(qn, Ye(he({}, i), { border: o }));
|
|
857
867
|
}
|
|
858
|
-
}), { Image:
|
|
868
|
+
}), { Image: $n } = ct, Zt = {
|
|
859
869
|
attributes: {
|
|
860
870
|
"dot-color": "#4267b2",
|
|
861
871
|
"dot-color-rotation": 0,
|
|
@@ -907,9 +917,9 @@ const { SlateNodePlaceholder: jn } = ct, Ct = {
|
|
|
907
917
|
},
|
|
908
918
|
category: tt.IMAGE,
|
|
909
919
|
render(e) {
|
|
910
|
-
return /* @__PURE__ */ t.createElement(
|
|
920
|
+
return /* @__PURE__ */ t.createElement($n, he({}, e.node.attributes));
|
|
911
921
|
}
|
|
912
|
-
}),
|
|
922
|
+
}), er = (e) => {
|
|
913
923
|
const { attributes: r, data: a, scale: p } = e;
|
|
914
924
|
return /* @__PURE__ */ t.createElement("div", { style: { position: "relative" } }, /* @__PURE__ */ t.createElement(
|
|
915
925
|
"img",
|
|
@@ -1002,7 +1012,7 @@ const { SlateNodePlaceholder: jn } = ct, Ct = {
|
|
|
1002
1012
|
width: "100%"
|
|
1003
1013
|
}
|
|
1004
1014
|
},
|
|
1005
|
-
/* @__PURE__ */ t.createElement(
|
|
1015
|
+
/* @__PURE__ */ t.createElement(er, { attributes: i, data: l, scale: d })
|
|
1006
1016
|
)))));
|
|
1007
1017
|
}
|
|
1008
1018
|
return /* @__PURE__ */ t.createElement("mj-image", Ye(he({}, i), { href: l["video-link"] }));
|
|
@@ -1080,8 +1090,8 @@ const { SlateNodePlaceholder: jn } = ct, Ct = {
|
|
|
1080
1090
|
"first-column-width"
|
|
1081
1091
|
]);
|
|
1082
1092
|
y["background-image-enabled"] || (delete y["background-image-enabled"], y["background-url"] = "");
|
|
1083
|
-
const
|
|
1084
|
-
return r.data.stackOnMobile ? /* @__PURE__ */ t.createElement("mj-section", Ye(he({}, y), { border:
|
|
1093
|
+
const S = p ? `${m || "1px"} ${l || "solid"} ${i || "#AAAAAA"}` : "", z = r.children[0], D = r.children[1];
|
|
1094
|
+
return r.data.stackOnMobile ? /* @__PURE__ */ t.createElement("mj-section", Ye(he({}, y), { border: S }), /* @__PURE__ */ t.createElement(
|
|
1085
1095
|
"mj-column",
|
|
1086
1096
|
{
|
|
1087
1097
|
width: d + "%",
|
|
@@ -1095,7 +1105,7 @@ const { SlateNodePlaceholder: jn } = ct, Ct = {
|
|
|
1095
1105
|
"vertical-align": o
|
|
1096
1106
|
},
|
|
1097
1107
|
/* @__PURE__ */ t.createElement(ht, { node: D })
|
|
1098
|
-
)) : /* @__PURE__ */ t.createElement("mj-section", Ye(he({}, y), { border:
|
|
1108
|
+
)) : /* @__PURE__ */ t.createElement("mj-section", Ye(he({}, y), { border: S }), /* @__PURE__ */ t.createElement("mj-group", { direction: y.direction }, /* @__PURE__ */ t.createElement(
|
|
1099
1109
|
"mj-column",
|
|
1100
1110
|
{
|
|
1101
1111
|
width: d + "%",
|
|
@@ -1116,7 +1126,7 @@ const { SlateNodePlaceholder: jn } = ct, Ct = {
|
|
|
1116
1126
|
return r.src = e, yield new Promise((a, p) => {
|
|
1117
1127
|
r.onload = a, r.onerror = p;
|
|
1118
1128
|
}), r;
|
|
1119
|
-
}),
|
|
1129
|
+
}), tr = (e) => Ee(void 0, null, function* () {
|
|
1120
1130
|
const r = new Image();
|
|
1121
1131
|
return r.crossOrigin = "anonymous", new Promise((a, p) => {
|
|
1122
1132
|
r.onload = () => {
|
|
@@ -1124,10 +1134,10 @@ const { SlateNodePlaceholder: jn } = ct, Ct = {
|
|
|
1124
1134
|
Qe.width = m, Qe.height = l, lt.clearRect(0, 0, m, l), lt.drawImage(r, 0, 0), a(Qe.toDataURL());
|
|
1125
1135
|
}, r.onerror = p, r.src = e.src;
|
|
1126
1136
|
});
|
|
1127
|
-
}),
|
|
1137
|
+
}), nr = (e) => new Promise((r) => {
|
|
1128
1138
|
const a = e.width, p = e.height;
|
|
1129
1139
|
Qe.width = a, Qe.height = p, lt.clearRect(0, 0, a, p), lt.drawImage(e, 0, 0), lt.transform, Qe.toBlob(r);
|
|
1130
|
-
}),
|
|
1140
|
+
}), rr = Gn(
|
|
1131
1141
|
["padding", "margin", "border"].map((e) => [
|
|
1132
1142
|
`${e}-top`,
|
|
1133
1143
|
`${e}-right`,
|
|
@@ -1136,14 +1146,14 @@ const { SlateNodePlaceholder: jn } = ct, Ct = {
|
|
|
1136
1146
|
])
|
|
1137
1147
|
);
|
|
1138
1148
|
[
|
|
1139
|
-
...
|
|
1149
|
+
...rr
|
|
1140
1150
|
];
|
|
1141
|
-
function
|
|
1151
|
+
function or(e) {
|
|
1142
1152
|
return e.cloneNode(!0);
|
|
1143
1153
|
}
|
|
1144
1154
|
const jt = function(a) {
|
|
1145
1155
|
return Ee(this, arguments, function* (e, r = {}) {
|
|
1146
|
-
const p = r.width || e.offsetWidth, m = r.height || e.offsetHeight, { overwrite: l = [], wrapper: i = (f) => f } = r, o =
|
|
1156
|
+
const p = r.width || e.offsetWidth, m = r.height || e.offsetHeight, { overwrite: l = [], wrapper: i = (f) => f } = r, o = or(e);
|
|
1147
1157
|
if (o.setAttribute("xmlns", "http://www.w3.org/1999/xhtml"), o.classList.remove("outline"), r.styleText) {
|
|
1148
1158
|
const f = document.createElement("style");
|
|
1149
1159
|
f.innerHTML = r.styleText, o.appendChild(f);
|
|
@@ -1159,10 +1169,10 @@ const jt = function(a) {
|
|
|
1159
1169
|
try {
|
|
1160
1170
|
const O = yield fetch(f.href);
|
|
1161
1171
|
if (O.ok) {
|
|
1162
|
-
let
|
|
1163
|
-
|
|
1172
|
+
let A = yield O.text();
|
|
1173
|
+
A = yield Yt(A);
|
|
1164
1174
|
const te = document.createElement("style");
|
|
1165
|
-
te.innerHTML =
|
|
1175
|
+
te.innerHTML = A, f.replaceWith(te);
|
|
1166
1176
|
}
|
|
1167
1177
|
} catch (O) {
|
|
1168
1178
|
console.error("Error fetching stylesheet:", O);
|
|
@@ -1170,29 +1180,29 @@ const jt = function(a) {
|
|
|
1170
1180
|
l.forEach((f) => {
|
|
1171
1181
|
if (f.selector === "" && f instanceof HTMLElement) {
|
|
1172
1182
|
const O = f.style;
|
|
1173
|
-
Object.keys(f.style).forEach((
|
|
1174
|
-
O.setProperty(
|
|
1175
|
-
}), f.innerText && (o.innerText = f.innerText), f.innerHTML && (o.innerHTML = f.innerHTML), f.attrs && Object.keys(f.attrs).forEach((
|
|
1176
|
-
o.setAttribute(
|
|
1183
|
+
Object.keys(f.style).forEach((A) => {
|
|
1184
|
+
O.setProperty(A, f.style[A]);
|
|
1185
|
+
}), f.innerText && (o.innerText = f.innerText), f.innerHTML && (o.innerHTML = f.innerHTML), f.attrs && Object.keys(f.attrs).forEach((A) => {
|
|
1186
|
+
o.setAttribute(A, f.attrs[A]);
|
|
1177
1187
|
});
|
|
1178
1188
|
}
|
|
1179
1189
|
o.querySelectorAll(f.selector).forEach((O) => {
|
|
1180
1190
|
if (Ke(O, "nodeType") === 1) {
|
|
1181
|
-
const
|
|
1182
|
-
if (f.style && Object.keys(f.style).forEach((
|
|
1183
|
-
te.setProperty(
|
|
1184
|
-
}), f.innerText && (
|
|
1185
|
-
for (const
|
|
1186
|
-
|
|
1191
|
+
const A = O, te = A.style;
|
|
1192
|
+
if (f.style && Object.keys(f.style).forEach((Q) => {
|
|
1193
|
+
te.setProperty(Q, f.style[Q]);
|
|
1194
|
+
}), f.innerText && (A.innerText = f.innerText), f.innerHTML && (A.innerHTML = f.innerHTML), f.attrs)
|
|
1195
|
+
for (const Q in f.attrs)
|
|
1196
|
+
A.setAttribute(Q, f.attrs[Q]);
|
|
1187
1197
|
}
|
|
1188
1198
|
});
|
|
1189
1199
|
}), yield Promise.all(
|
|
1190
1200
|
Array.from(o.querySelectorAll("img")).map((f) => Ee(this, null, function* () {
|
|
1191
|
-
f.src = yield
|
|
1201
|
+
f.src = yield tr(f);
|
|
1192
1202
|
}))
|
|
1193
1203
|
);
|
|
1194
|
-
const
|
|
1195
|
-
let Y = 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="' + D + '" height="' + K + '" viewBox="0 0 ' + p + " " + m + '"><foreignObject x="0" y="0" width="100%" height="100%">' +
|
|
1204
|
+
const S = new XMLSerializer().serializeToString(i(o)), z = window.devicePixelRatio || 1, D = p * z, K = m * z;
|
|
1205
|
+
let Y = 'data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="' + D + '" height="' + K + '" viewBox="0 0 ' + p + " " + m + '"><foreignObject x="0" y="0" width="100%" height="100%">' + S + "</foreignObject></svg>";
|
|
1196
1206
|
return Y = Y.replace(/\n/g, "").replace(/\t/g, "").replace(/#/g, "%23"), Y;
|
|
1197
1207
|
});
|
|
1198
1208
|
};
|
|
@@ -1201,13 +1211,13 @@ function Yt(e) {
|
|
|
1201
1211
|
const r = e.match(/url\(([^)]+)\)/g);
|
|
1202
1212
|
if (r)
|
|
1203
1213
|
for (const a of r) {
|
|
1204
|
-
const p = a.match(/url\(([^)]+)\)/)[1].replace(/['"]/g, ""), m = yield
|
|
1214
|
+
const p = a.match(/url\(([^)]+)\)/)[1].replace(/['"]/g, ""), m = yield ar(p);
|
|
1205
1215
|
m && (e = e.replace(a, `url(${m})`));
|
|
1206
1216
|
}
|
|
1207
1217
|
return e;
|
|
1208
1218
|
});
|
|
1209
1219
|
}
|
|
1210
|
-
function
|
|
1220
|
+
function ar(e) {
|
|
1211
1221
|
return Ee(this, null, function* () {
|
|
1212
1222
|
try {
|
|
1213
1223
|
const r = yield fetch(e, { mode: "cors" });
|
|
@@ -1234,14 +1244,14 @@ function rr(e) {
|
|
|
1234
1244
|
}
|
|
1235
1245
|
});
|
|
1236
1246
|
}
|
|
1237
|
-
var
|
|
1247
|
+
var ir = Object.defineProperty, lr = Object.defineProperties, sr = Object.getOwnPropertyDescriptors, nn = Object.getOwnPropertySymbols, cr = Object.prototype.hasOwnProperty, dr = Object.prototype.propertyIsEnumerable, Ie = Math.pow, rn = (e, r, a) => r in e ? ir(e, r, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[r] = a, Xe = (e, r) => {
|
|
1238
1248
|
for (var a in r || (r = {}))
|
|
1239
|
-
|
|
1249
|
+
cr.call(r, a) && rn(e, a, r[a]);
|
|
1240
1250
|
if (nn)
|
|
1241
1251
|
for (var a of nn(r))
|
|
1242
|
-
|
|
1252
|
+
dr.call(r, a) && rn(e, a, r[a]);
|
|
1243
1253
|
return e;
|
|
1244
|
-
}, it = (e, r) =>
|
|
1254
|
+
}, it = (e, r) => lr(e, sr(r)), Oe = (e, r, a) => new Promise((p, m) => {
|
|
1245
1255
|
var l = (d) => {
|
|
1246
1256
|
try {
|
|
1247
1257
|
o(a.next(d));
|
|
@@ -1257,7 +1267,7 @@ var or = Object.defineProperty, ar = Object.defineProperties, ir = Object.getOwn
|
|
|
1257
1267
|
}, o = (d) => d.done ? p(d.value) : Promise.resolve(d.value).then(l, i);
|
|
1258
1268
|
o((a = a.apply(e, r)).next());
|
|
1259
1269
|
});
|
|
1260
|
-
const
|
|
1270
|
+
const ur = typeof window < "u", le = 65536 - 1, He = le * le, mr = 512 - 1, Gt = [
|
|
1261
1271
|
0,
|
|
1262
1272
|
20,
|
|
1263
1273
|
40,
|
|
@@ -2058,22 +2068,22 @@ function Wt(e) {
|
|
|
2058
2068
|
if (e >= le)
|
|
2059
2069
|
return 255;
|
|
2060
2070
|
{
|
|
2061
|
-
const r = e *
|
|
2071
|
+
const r = e * mr, a = ~~(r / le), p = r % le, m = on[a], l = on[a + 1];
|
|
2062
2072
|
return (p * (l - m) + le / 2) / le + m;
|
|
2063
2073
|
}
|
|
2064
2074
|
}
|
|
2065
|
-
function
|
|
2075
|
+
function pr(e) {
|
|
2066
2076
|
const r = e[0] + We(25974 * e[1], le) + We(14143 * e[2], le), a = e[0] + We(-6918 * e[1], le) + We(-4185 * e[2], le), p = e[0] + We(-5864 * e[1], le) + We(-84638 * e[2], le), m = Ie(r, 2) * r / He, l = Ie(a, 2) * a / He, i = Ie(p, 2) * p / He, o = Wt((267169 * m + -216771 * l + 15137 * i + le / 2) / le), d = Wt((-83127 * m + 171030 * l + -22368 * i + le / 2) / le), y = Wt((-275 * m + -46099 * l + 111909 * i + le / 2) / le);
|
|
2067
2077
|
return o << 16 | d << 8 | y;
|
|
2068
2078
|
}
|
|
2069
|
-
function
|
|
2079
|
+
function hr(e) {
|
|
2070
2080
|
const r = { l: 0, a: 1, b: 2 }, a = e[0], p = e[1], m = e[2], l = r[a], i = r[p], o = r[m];
|
|
2071
2081
|
return (d, y) => d.oklab[l] - y.oklab[l] || d.oklab[i] - y.oklab[i] || d.oklab[o] - y.oklab[o];
|
|
2072
2082
|
}
|
|
2073
|
-
function
|
|
2083
|
+
function br(e, r, a) {
|
|
2074
2084
|
return e >= r ? r >= a ? "lab" : e >= a ? "lba" : "bla" : e >= a ? "alb" : r >= a ? "abl" : "bal";
|
|
2075
2085
|
}
|
|
2076
|
-
function
|
|
2086
|
+
function gr(e) {
|
|
2077
2087
|
return new Promise((r) => {
|
|
2078
2088
|
const a = new Image();
|
|
2079
2089
|
a.decoding = "sync", a.loading = "eager", a.crossOrigin = "anonymous", a.onload = () => r(a), a.onerror = () => r(a), a.src = e;
|
|
@@ -2082,10 +2092,10 @@ function hr(e) {
|
|
|
2082
2092
|
function gn(e) {
|
|
2083
2093
|
return e && typeof e == "object" && "__CONTEXT__" in e;
|
|
2084
2094
|
}
|
|
2085
|
-
function
|
|
2086
|
-
return gn(e) ? e :
|
|
2095
|
+
function fr(e) {
|
|
2096
|
+
return gn(e) ? e : wr(e);
|
|
2087
2097
|
}
|
|
2088
|
-
function
|
|
2098
|
+
function wr(e = {}) {
|
|
2089
2099
|
const {
|
|
2090
2100
|
maxColors: r = 256,
|
|
2091
2101
|
statsMode: a = "full",
|
|
@@ -2111,15 +2121,15 @@ function fn(e) {
|
|
|
2111
2121
|
finderCache: p
|
|
2112
2122
|
} = r;
|
|
2113
2123
|
function m(i, o, d) {
|
|
2114
|
-
const { left: y, right:
|
|
2124
|
+
const { left: y, right: S, longest: z, oklab: D, colorBoxIndex: K } = a[i], Y = Math.min(
|
|
2115
2125
|
Ie(o[0] - D[0], 2) + Ie(o[1] - D[1], 2) + Ie(o[2] - D[2], 2),
|
|
2116
2126
|
4294967295 - 1
|
|
2117
2127
|
);
|
|
2118
2128
|
Y < d.dist && (d.colorBoxIndex = K, d.dist = Y);
|
|
2119
2129
|
let f, O;
|
|
2120
|
-
if (y !== -1 ||
|
|
2121
|
-
const
|
|
2122
|
-
|
|
2130
|
+
if (y !== -1 || S !== -1) {
|
|
2131
|
+
const A = o[z] - D[z];
|
|
2132
|
+
A <= 0 ? (f = y, O = S) : (f = S, O = y), f !== -1 && m(f, o, d), O !== -1 && Ie(A, 2) < d.dist && m(O, o, d);
|
|
2123
2133
|
}
|
|
2124
2134
|
}
|
|
2125
2135
|
function l(i) {
|
|
@@ -2137,7 +2147,7 @@ function fn(e) {
|
|
|
2137
2147
|
return y !== void 0 || (y = l(bn(i)), d.set(i, y)), y;
|
|
2138
2148
|
};
|
|
2139
2149
|
}
|
|
2140
|
-
function
|
|
2150
|
+
function yr(e, r) {
|
|
2141
2151
|
const { colorBoxes: a } = e, p = a.reduce((i, o) => i + o.weight, 0);
|
|
2142
2152
|
if (!r)
|
|
2143
2153
|
return e.colorBoxes.map((i) => {
|
|
@@ -2169,9 +2179,9 @@ function fr(e, r) {
|
|
|
2169
2179
|
} else if (r === "hex") {
|
|
2170
2180
|
l = [];
|
|
2171
2181
|
for (let i = m.length, o = 0; o < i; o++) {
|
|
2172
|
-
const { value: d, percentage: y } = m[o],
|
|
2182
|
+
const { value: d, percentage: y } = m[o], S = d[0].toString(16).padStart(2, "0"), z = d[1].toString(16).padStart(2, "0"), D = d[2].toString(16).padStart(2, "0");
|
|
2173
2183
|
l.push({
|
|
2174
|
-
value: `#${
|
|
2184
|
+
value: `#${S}${z}${D}`,
|
|
2175
2185
|
percentage: y
|
|
2176
2186
|
});
|
|
2177
2187
|
}
|
|
@@ -2186,7 +2196,7 @@ function Ot(e, r, a) {
|
|
|
2186
2196
|
previousSample: d,
|
|
2187
2197
|
skipTransparent: y
|
|
2188
2198
|
} = a, {
|
|
2189
|
-
statsMode:
|
|
2199
|
+
statsMode: S,
|
|
2190
2200
|
colorSamples: z,
|
|
2191
2201
|
colorSamplesCache: D
|
|
2192
2202
|
} = e;
|
|
@@ -2213,7 +2223,7 @@ function Ot(e, r, a) {
|
|
|
2213
2223
|
if (!Y)
|
|
2214
2224
|
return;
|
|
2215
2225
|
const f = Y.canvas;
|
|
2216
|
-
return
|
|
2226
|
+
return gr(r).then((O) => (Y.clearRect(0, 0, f.width, f.height), f.width = O.width, f.height = O.height, Y.drawImage(O, 0, 0, f.width, f.height), Ot(
|
|
2217
2227
|
e,
|
|
2218
2228
|
Y.getImageData(0, 0, f.width, f.height).data,
|
|
2219
2229
|
a
|
|
@@ -2230,23 +2240,23 @@ function Ot(e, r, a) {
|
|
|
2230
2240
|
);
|
|
2231
2241
|
}
|
|
2232
2242
|
for (let Y = K.length, f = 0; f < Y; f += 4) {
|
|
2233
|
-
const O = K[f],
|
|
2234
|
-
if (y &&
|
|
2243
|
+
const O = K[f], A = K[f + 1], te = K[f + 2], Q = K[f + 3];
|
|
2244
|
+
if (y && Q === 0 || S === "diff" && d && O === d[f] && A === d[f + 1] && te === d[f + 2] && Q === d[f + 3])
|
|
2235
2245
|
continue;
|
|
2236
|
-
const
|
|
2246
|
+
const J = O << 16 | A << 8 | te, F = Q * 1e8 + J, ae = F % 32768;
|
|
2237
2247
|
let me = D.get(ae);
|
|
2238
2248
|
me || (me = /* @__PURE__ */ new Map(), D.set(ae, me));
|
|
2239
|
-
let G = me.get(
|
|
2249
|
+
let G = me.get(F);
|
|
2240
2250
|
if (G !== void 0) {
|
|
2241
2251
|
z[G].count++;
|
|
2242
2252
|
continue;
|
|
2243
2253
|
}
|
|
2244
2254
|
G = z.push({
|
|
2245
|
-
alpha:
|
|
2246
|
-
srgb:
|
|
2247
|
-
oklab: bn(
|
|
2255
|
+
alpha: Q,
|
|
2256
|
+
srgb: J,
|
|
2257
|
+
oklab: bn(J),
|
|
2248
2258
|
count: 1
|
|
2249
|
-
}) - 1, me.set(
|
|
2259
|
+
}) - 1, me.set(F, G);
|
|
2250
2260
|
}
|
|
2251
2261
|
return K;
|
|
2252
2262
|
}
|
|
@@ -2268,7 +2278,7 @@ function wn(e, r) {
|
|
|
2268
2278
|
const d = a[o];
|
|
2269
2279
|
i[0] += Ie(d.oklab[0] - e.oklab[0], 2) * d.count, i[1] += Ie(d.oklab[1] - e.oklab[1], 2) * d.count, i[2] += Ie(d.oklab[2] - e.oklab[2], 2) * d.count;
|
|
2270
2280
|
}
|
|
2271
|
-
e.sort =
|
|
2281
|
+
e.sort = br(i[0], i[1], i[2]), e.score = Math.max(i[0], i[1], i[2]);
|
|
2272
2282
|
}
|
|
2273
2283
|
function an(e, r) {
|
|
2274
2284
|
const a = Xe({
|
|
@@ -2284,7 +2294,7 @@ function an(e, r) {
|
|
|
2284
2294
|
}, e);
|
|
2285
2295
|
return wn(a, r), a;
|
|
2286
2296
|
}
|
|
2287
|
-
function
|
|
2297
|
+
function xr(e) {
|
|
2288
2298
|
const { colorBoxes: r } = e, a = [], p = /* @__PURE__ */ new Map();
|
|
2289
2299
|
for (let i = -1, o = r.length, d = 0; d < o; d++) {
|
|
2290
2300
|
const { srgb: y } = r[d];
|
|
@@ -2312,34 +2322,34 @@ function wr(e) {
|
|
|
2312
2322
|
colorBoxIndex: f
|
|
2313
2323
|
});
|
|
2314
2324
|
}
|
|
2315
|
-
let
|
|
2325
|
+
let S = 0;
|
|
2316
2326
|
if (!d)
|
|
2317
|
-
return { colorBoxIndex: -1, longest:
|
|
2327
|
+
return { colorBoxIndex: -1, longest: S };
|
|
2318
2328
|
const z = o.max[0] - o.min[0], D = o.max[1] - o.min[1], K = o.max[2] - o.min[2];
|
|
2319
|
-
return z >= D && z >= K ?
|
|
2320
|
-
colorBoxIndex: y.sort((Y, f) => Y.oklab[
|
|
2321
|
-
longest:
|
|
2329
|
+
return z >= D && z >= K ? S = 0 : K >= z && K >= D ? S = 2 : D >= z && D >= K && (S = 1), {
|
|
2330
|
+
colorBoxIndex: y.sort((Y, f) => Y.oklab[S] - f.oklab[S])[d >> 1].colorBoxIndex,
|
|
2331
|
+
longest: S
|
|
2322
2332
|
};
|
|
2323
2333
|
}
|
|
2324
2334
|
function l(i) {
|
|
2325
2335
|
const { colorBoxIndex: o, longest: d } = m(i);
|
|
2326
2336
|
if (o < 0)
|
|
2327
2337
|
return -1;
|
|
2328
|
-
const { oklab: y } = r[o],
|
|
2338
|
+
const { oklab: y } = r[o], S = {
|
|
2329
2339
|
longest: d,
|
|
2330
2340
|
oklab: y,
|
|
2331
2341
|
colorBoxIndex: o
|
|
2332
|
-
}, z = a.push(
|
|
2342
|
+
}, z = a.push(S) - 1;
|
|
2333
2343
|
p.set(o, !0);
|
|
2334
2344
|
const D = { max: [...i.max], min: [...i.min] }, K = { max: [...i.max], min: [...i.min] };
|
|
2335
2345
|
D.max[d] = y[d], K.min[d] = Math.min(y[d] + 1, 65535);
|
|
2336
2346
|
const Y = l(D);
|
|
2337
2347
|
let f = -1;
|
|
2338
|
-
return K.min[d] <= K.max[d] && (f = l(K)),
|
|
2348
|
+
return K.min[d] <= K.max[d] && (f = l(K)), S.left = Y, S.right = f, z;
|
|
2339
2349
|
}
|
|
2340
2350
|
return a;
|
|
2341
2351
|
}
|
|
2342
|
-
function
|
|
2352
|
+
function Mr(e, r = {}) {
|
|
2343
2353
|
const {
|
|
2344
2354
|
maxColors: a,
|
|
2345
2355
|
colorSamples: p
|
|
@@ -2362,7 +2372,7 @@ function yr(e, r = {}) {
|
|
|
2362
2372
|
}
|
|
2363
2373
|
return z;
|
|
2364
2374
|
}
|
|
2365
|
-
function
|
|
2375
|
+
function S(z, D) {
|
|
2366
2376
|
const K = an({
|
|
2367
2377
|
start: D + 1,
|
|
2368
2378
|
end: z.end,
|
|
@@ -2373,24 +2383,24 @@ function yr(e, r = {}) {
|
|
|
2373
2383
|
for (; i && i.length > 1; ) {
|
|
2374
2384
|
const { start: z, end: D, sort: K, sorted: Y } = i;
|
|
2375
2385
|
if (K !== Y) {
|
|
2376
|
-
const
|
|
2377
|
-
for (let
|
|
2378
|
-
p[z +
|
|
2386
|
+
const Q = p.slice(z, D).sort(hr(K));
|
|
2387
|
+
for (let J = Q.length, F = 0; F < J; F++)
|
|
2388
|
+
p[z + F] = Q[F];
|
|
2379
2389
|
i.sorted = K;
|
|
2380
2390
|
}
|
|
2381
2391
|
const f = i.weight + 1 >> 1;
|
|
2382
|
-
let O = z,
|
|
2383
|
-
for (let
|
|
2392
|
+
let O = z, A = 0;
|
|
2393
|
+
for (let Q = D - 2; O < Q && (A += p[O].count, !(A > f)); O++)
|
|
2384
2394
|
;
|
|
2385
|
-
|
|
2395
|
+
S(i, O);
|
|
2386
2396
|
const te = y();
|
|
2387
2397
|
i = te >= 0 ? d[te] : null;
|
|
2388
2398
|
}
|
|
2389
2399
|
for (let z = d.length, D = 0; D < z; D++)
|
|
2390
|
-
d[D].srgb =
|
|
2391
|
-
e.colorBoxes = d.sort((z, D) => z.srgb - D.srgb), e.colorBoxesIndexTree =
|
|
2400
|
+
d[D].srgb = pr(d[D].oklab);
|
|
2401
|
+
e.colorBoxes = d.sort((z, D) => z.srgb - D.srgb), e.colorBoxesIndexTree = xr(e), l && (e.colorSamples = [], e.colorSamplesCache.clear()), e.finderCache.clear();
|
|
2392
2402
|
}
|
|
2393
|
-
function
|
|
2403
|
+
function vr(e, r, a) {
|
|
2394
2404
|
const { colorBoxes: p } = e;
|
|
2395
2405
|
if (!r)
|
|
2396
2406
|
return;
|
|
@@ -2402,7 +2412,7 @@ function xr(e, r, a) {
|
|
|
2402
2412
|
`${d[0]}${d[1]}`,
|
|
2403
2413
|
`${d[2]}${d[3]}`,
|
|
2404
2414
|
`${d[4]}${d[5]}`
|
|
2405
|
-
].map((
|
|
2415
|
+
].map((S) => parseInt(S, 16));
|
|
2406
2416
|
m = y[0] << 16 | y[1] << 8 | y[2];
|
|
2407
2417
|
} else if (Array.isArray(a))
|
|
2408
2418
|
m = a[0] << 16 | a[1] << 8 | a[2];
|
|
@@ -2416,9 +2426,9 @@ function xr(e, r, a) {
|
|
|
2416
2426
|
return;
|
|
2417
2427
|
const { srgb: o } = i;
|
|
2418
2428
|
if (typeof a == "string") {
|
|
2419
|
-
const d = (o >> 16 & 255).toString(16).padStart(2, "0"), y = (o >> 8 & 255).toString(16).padStart(2, "0"),
|
|
2429
|
+
const d = (o >> 16 & 255).toString(16).padStart(2, "0"), y = (o >> 8 & 255).toString(16).padStart(2, "0"), S = (o & 255).toString(16).padStart(2, "0");
|
|
2420
2430
|
return {
|
|
2421
|
-
value: `#${d}${y}${
|
|
2431
|
+
value: `#${d}${y}${S}`,
|
|
2422
2432
|
index: l
|
|
2423
2433
|
};
|
|
2424
2434
|
} else if (typeof a == "object" && Array.isArray(a))
|
|
@@ -2435,17 +2445,17 @@ function xr(e, r, a) {
|
|
|
2435
2445
|
index: l
|
|
2436
2446
|
};
|
|
2437
2447
|
}
|
|
2438
|
-
function
|
|
2448
|
+
function Tr(e) {
|
|
2439
2449
|
e.colorSamples = [], e.colorSamplesCache.clear(), e.colorBoxes = [], e.colorBoxesIndexTree = [], e.finderCache.clear();
|
|
2440
2450
|
}
|
|
2441
2451
|
function ln(e) {
|
|
2442
|
-
const r =
|
|
2452
|
+
const r = fr(e), {
|
|
2443
2453
|
statsMode: a,
|
|
2444
2454
|
samples: p,
|
|
2445
2455
|
skipTransparent: m
|
|
2446
2456
|
} = r, l = function() {
|
|
2447
2457
|
let y;
|
|
2448
|
-
return () => (!y &&
|
|
2458
|
+
return () => (!y && ur && (y = document.createElement("canvas").getContext("2d", {
|
|
2449
2459
|
willReadFrequently: !0
|
|
2450
2460
|
})), y);
|
|
2451
2461
|
}();
|
|
@@ -2454,33 +2464,33 @@ function ln(e) {
|
|
|
2454
2464
|
context: r,
|
|
2455
2465
|
addSample: (y) => {
|
|
2456
2466
|
r.colorSamples.length === 0 && (i = null);
|
|
2457
|
-
const
|
|
2467
|
+
const S = Ot(r, y, {
|
|
2458
2468
|
getContext2d: l,
|
|
2459
2469
|
previousSample: i,
|
|
2460
2470
|
skipTransparent: m
|
|
2461
2471
|
});
|
|
2462
|
-
return (
|
|
2472
|
+
return (S instanceof Promise ? S : Promise.resolve().then(() => S)).then((z) => {
|
|
2463
2473
|
z && a === "diff" && (i = z);
|
|
2464
|
-
}),
|
|
2474
|
+
}), S;
|
|
2465
2475
|
},
|
|
2466
2476
|
generate(y = {}) {
|
|
2467
|
-
const { clearSamples:
|
|
2468
|
-
return
|
|
2477
|
+
const { clearSamples: S = !0 } = y;
|
|
2478
|
+
return S && (i = null), Mr(r, y), this;
|
|
2469
2479
|
},
|
|
2470
|
-
getColors: (y) =>
|
|
2471
|
-
findNearestColor: (y) => (o || (o = fn(r)),
|
|
2472
|
-
reset: () =>
|
|
2480
|
+
getColors: (y) => yr(r, y),
|
|
2481
|
+
findNearestColor: (y) => (o || (o = fn(r)), vr(r, o, y)),
|
|
2482
|
+
reset: () => Tr(r)
|
|
2473
2483
|
};
|
|
2474
2484
|
return p.length && (p.forEach((y) => d.addSample(y)), r.samples = []), d;
|
|
2475
2485
|
}
|
|
2476
|
-
const yt = "[modern-gif]",
|
|
2477
|
-
function
|
|
2486
|
+
const yt = "[modern-gif]", Er = "GIF", Sr = 44, yn = 33, Nr = 255, Cr = 11, kr = 249, Zr = 4, Ir = 59, Dr = (...e) => console.warn(yt, ...e), Gr = (...e) => console.debug(yt, ...e), Lr = (e) => console.time(`${yt} ${e}`), Wr = (e) => console.timeEnd(`${yt} ${e}`);
|
|
2487
|
+
function zr(e) {
|
|
2478
2488
|
const r = new Uint8Array(
|
|
2479
2489
|
e.reduce((a, p) => a + p.byteLength, 0)
|
|
2480
2490
|
);
|
|
2481
2491
|
return e.reduce((a, p) => (r.set(p, a), a + p.byteLength), 0), r;
|
|
2482
2492
|
}
|
|
2483
|
-
function
|
|
2493
|
+
function Yr(e, r, a) {
|
|
2484
2494
|
let p;
|
|
2485
2495
|
if (ArrayBuffer.isView(e))
|
|
2486
2496
|
p = e.buffer;
|
|
@@ -2503,25 +2513,25 @@ function Wr(e, r, a) {
|
|
|
2503
2513
|
throw new Error("Unsupported output format");
|
|
2504
2514
|
}
|
|
2505
2515
|
}
|
|
2506
|
-
function
|
|
2516
|
+
function Or(e) {
|
|
2507
2517
|
const r = new Image();
|
|
2508
2518
|
return r.decoding = "sync", r.loading = "eager", r.crossOrigin = "anonymous", r.src = e, r;
|
|
2509
2519
|
}
|
|
2510
|
-
function
|
|
2520
|
+
function Kr(e) {
|
|
2511
2521
|
return new Promise((r, a) => {
|
|
2512
|
-
const p =
|
|
2522
|
+
const p = Or(e);
|
|
2513
2523
|
p.onload = () => r(p), p.onerror = a;
|
|
2514
2524
|
});
|
|
2515
2525
|
}
|
|
2516
|
-
function
|
|
2526
|
+
function Xr(e, r) {
|
|
2517
2527
|
var a;
|
|
2518
|
-
const { top: p = 0, left: m = 0, width: l, height: i, rawWidth: o, rate: d = 4, callback: y } = r,
|
|
2528
|
+
const { top: p = 0, left: m = 0, width: l, height: i, rawWidth: o, rate: d = 4, callback: y } = r, S = new Uint8ClampedArray(l * i * d), z = m * d, D = p * d, K = l * d, Y = o * d;
|
|
2519
2529
|
for (let f = 0; f < i; f++)
|
|
2520
2530
|
for (let O = 0; O < K; O++) {
|
|
2521
|
-
const
|
|
2522
|
-
|
|
2531
|
+
const A = (D + f) * Y + (z + O);
|
|
2532
|
+
S[f * K + O] = (a = y == null ? void 0 : y(A)) != null ? a : e[A];
|
|
2523
2533
|
}
|
|
2524
|
-
return
|
|
2534
|
+
return S;
|
|
2525
2535
|
}
|
|
2526
2536
|
function xn(e = {}) {
|
|
2527
2537
|
const {
|
|
@@ -2543,7 +2553,7 @@ function xn(e = {}) {
|
|
|
2543
2553
|
writeUnsigned: (o) => i([o & 255, o >> 8 & 255]),
|
|
2544
2554
|
flush: () => {
|
|
2545
2555
|
a[p] = a[p].slice(0, m);
|
|
2546
|
-
const o = new Uint8Array(a.reduce((y,
|
|
2556
|
+
const o = new Uint8Array(a.reduce((y, S) => y + S.byteLength, 0));
|
|
2547
2557
|
let d = 0;
|
|
2548
2558
|
return a.forEach((y) => {
|
|
2549
2559
|
o.set(y, d), d += y.byteLength;
|
|
@@ -2551,7 +2561,7 @@ function xn(e = {}) {
|
|
|
2551
2561
|
}
|
|
2552
2562
|
};
|
|
2553
2563
|
}
|
|
2554
|
-
function
|
|
2564
|
+
function Vr(e) {
|
|
2555
2565
|
var r, a, p;
|
|
2556
2566
|
const m = Xe({
|
|
2557
2567
|
version: "89a",
|
|
@@ -2583,37 +2593,37 @@ function Kr(e) {
|
|
|
2583
2593
|
writeByte: o,
|
|
2584
2594
|
writeBytes: d,
|
|
2585
2595
|
writeUnsigned: y,
|
|
2586
|
-
writeString:
|
|
2596
|
+
writeString: S,
|
|
2587
2597
|
flush: z
|
|
2588
2598
|
} = i;
|
|
2589
|
-
return
|
|
2599
|
+
return S(Er), S(m.version), y(m.width), y(m.height), o(parseInt(`${m.colorTableSize ? 1 : 0}1110${m.colorTableSize.toString(2).padStart(3, "0")}`, 2)), o(m.backgroundColorIndex), o(m.pixelAspectRatio), d((p = (a = m.colorTable) == null ? void 0 : a.flat()) != null ? p : []), m.looped && (o(yn), o(Nr), o(Cr), S("NETSCAPE2.0"), o(3), o(1), y(m.loopCount), o(0)), z();
|
|
2590
2600
|
}
|
|
2591
|
-
function
|
|
2601
|
+
function jr(e, r, a) {
|
|
2592
2602
|
const { writeByte: p, getCursor: m, calculateDistance: l } = a;
|
|
2593
2603
|
p(e);
|
|
2594
2604
|
let i = m();
|
|
2595
2605
|
p(0);
|
|
2596
2606
|
const o = 1 << e, d = o - 1, y = o + 1;
|
|
2597
|
-
let
|
|
2598
|
-
function Y(
|
|
2599
|
-
for (; D >=
|
|
2607
|
+
let S = y + 1, z = e + 1, D = 0, K = 0;
|
|
2608
|
+
function Y(F) {
|
|
2609
|
+
for (; D >= F; )
|
|
2600
2610
|
p(K & 255), K >>= 8, D -= 8, l(i) === 256 && (p(255, i), i = m(), p(0));
|
|
2601
2611
|
}
|
|
2602
|
-
function f(
|
|
2603
|
-
K |=
|
|
2612
|
+
function f(F) {
|
|
2613
|
+
K |= F << D, D += z, Y(8);
|
|
2604
2614
|
}
|
|
2605
|
-
let O = r[0] & d,
|
|
2615
|
+
let O = r[0] & d, A = {}, te, Q, J;
|
|
2606
2616
|
f(o);
|
|
2607
|
-
for (let
|
|
2608
|
-
if (
|
|
2617
|
+
for (let F = r.length, ae = 1; ae < F; ++ae)
|
|
2618
|
+
if (J = r[ae] & d, te = O << 8 | J, Q = A[te], Q === void 0) {
|
|
2609
2619
|
for (K |= O << D, D += z; D >= 8; )
|
|
2610
2620
|
p(K & 255), K >>= 8, D -= 8, l(i) === 256 && (p(255, i), i = m(), p(0));
|
|
2611
|
-
|
|
2621
|
+
S === 4096 ? (f(o), S = y + 1, z = e + 1, A = {}) : (S >= 1 << z && ++z, A[te] = S++), O = J;
|
|
2612
2622
|
} else
|
|
2613
|
-
O =
|
|
2623
|
+
O = Q;
|
|
2614
2624
|
f(O), f(y), Y(1), l(i) === 1 ? p(0, i) : (p(l(i) - 1, i), p(0));
|
|
2615
2625
|
}
|
|
2616
|
-
function
|
|
2626
|
+
function Pr(e) {
|
|
2617
2627
|
var r, a, p;
|
|
2618
2628
|
const m = xn(), {
|
|
2619
2629
|
writeByte: l,
|
|
@@ -2622,7 +2632,7 @@ function Vr(e) {
|
|
|
2622
2632
|
flush: d
|
|
2623
2633
|
} = m, {
|
|
2624
2634
|
left: y = 0,
|
|
2625
|
-
top:
|
|
2635
|
+
top: S = 0,
|
|
2626
2636
|
width: z = 0,
|
|
2627
2637
|
height: D = 0,
|
|
2628
2638
|
delay: K = 100,
|
|
@@ -2632,25 +2642,25 @@ function Vr(e) {
|
|
|
2632
2642
|
disposal: f = 0
|
|
2633
2643
|
} = e;
|
|
2634
2644
|
const O = (r = e.graphicControl) == null ? void 0 : r.transparent;
|
|
2635
|
-
let
|
|
2645
|
+
let A = (p = (a = e.graphicControl) == null ? void 0 : a.transparentIndex) != null ? p : 255;
|
|
2636
2646
|
if (y < 0 || y > 65535)
|
|
2637
2647
|
throw new Error("Left invalid.");
|
|
2638
|
-
if (
|
|
2648
|
+
if (S < 0 || S > 65535)
|
|
2639
2649
|
throw new Error("Top invalid.");
|
|
2640
2650
|
if (z <= 0 || z > 65535)
|
|
2641
2651
|
throw new Error("Width invalid.");
|
|
2642
2652
|
if (D <= 0 || D > 65535)
|
|
2643
2653
|
throw new Error("Height invalid.");
|
|
2644
|
-
let te = 8,
|
|
2645
|
-
if (
|
|
2646
|
-
if (
|
|
2654
|
+
let te = 8, Q = Y ? Y.length : 0;
|
|
2655
|
+
if (Q) {
|
|
2656
|
+
if (Q < 2 || Q > 256 || Q & Q - 1)
|
|
2647
2657
|
throw new Error("Invalid color table length, must be power of 2 and 2 .. 256.");
|
|
2648
|
-
for (;
|
|
2658
|
+
for (; Q >>= 1; )
|
|
2649
2659
|
++te;
|
|
2650
2660
|
}
|
|
2651
|
-
return l(yn), l(
|
|
2661
|
+
return l(yn), l(kr), l(Zr), O ? f || (f = 2) : A = 0, l(parseInt(`000${Number(f & 7).toString(2).padStart(3, "0")}0${O ? 1 : 0}`, 2)), o(K / 10), l(A), l(0), l(Sr), o(y), o(S), o(z), o(D), Y != null && Y.length ? (l(parseInt(`10000${(te - 1).toString(2).padStart(3, "0")}`, 2)), i(Y.flat())) : l(0), jr(te, e.imageData, m), d();
|
|
2652
2662
|
}
|
|
2653
|
-
function
|
|
2663
|
+
function Fr(e) {
|
|
2654
2664
|
const {
|
|
2655
2665
|
frames: r,
|
|
2656
2666
|
palette: a,
|
|
@@ -2669,7 +2679,7 @@ function jr(e) {
|
|
|
2669
2679
|
};
|
|
2670
2680
|
});
|
|
2671
2681
|
}
|
|
2672
|
-
function
|
|
2682
|
+
function Ar(e) {
|
|
2673
2683
|
const { frames: r, transparentIndex: a } = e;
|
|
2674
2684
|
let p;
|
|
2675
2685
|
return r.map((m, l) => {
|
|
@@ -2677,79 +2687,79 @@ function Pr(e) {
|
|
|
2677
2687
|
const {
|
|
2678
2688
|
width: d,
|
|
2679
2689
|
height: y,
|
|
2680
|
-
imageData:
|
|
2690
|
+
imageData: S
|
|
2681
2691
|
} = m, z = m.transparent || ((o = (i = r[l + 1]) == null ? void 0 : i.transparent) != null ? o : !0);
|
|
2682
2692
|
let D = 0, K = 0, Y = d - 1, f = y - 1, O;
|
|
2683
2693
|
if (z) {
|
|
2684
2694
|
for (; K < f; ) {
|
|
2685
|
-
let
|
|
2686
|
-
for (let
|
|
2687
|
-
if (
|
|
2688
|
-
|
|
2695
|
+
let J = !0;
|
|
2696
|
+
for (let F = 0; F < d; F++)
|
|
2697
|
+
if (S[d * K + F] !== a) {
|
|
2698
|
+
J = !1;
|
|
2689
2699
|
break;
|
|
2690
2700
|
}
|
|
2691
|
-
if (!
|
|
2701
|
+
if (!J)
|
|
2692
2702
|
break;
|
|
2693
2703
|
K++;
|
|
2694
2704
|
}
|
|
2695
2705
|
for (; f > K; ) {
|
|
2696
|
-
let
|
|
2697
|
-
for (let
|
|
2698
|
-
if (
|
|
2699
|
-
|
|
2706
|
+
let J = !0;
|
|
2707
|
+
for (let F = 0; F < d; F++)
|
|
2708
|
+
if (S[d * f + F] !== a) {
|
|
2709
|
+
J = !1;
|
|
2700
2710
|
break;
|
|
2701
2711
|
}
|
|
2702
|
-
if (!
|
|
2712
|
+
if (!J)
|
|
2703
2713
|
break;
|
|
2704
2714
|
f--;
|
|
2705
2715
|
}
|
|
2706
2716
|
for (; D < Y; ) {
|
|
2707
|
-
let
|
|
2708
|
-
for (let
|
|
2709
|
-
if (
|
|
2710
|
-
|
|
2717
|
+
let J = !0;
|
|
2718
|
+
for (let F = K; F < f; F++)
|
|
2719
|
+
if (S[d * F + D] !== a) {
|
|
2720
|
+
J = !1;
|
|
2711
2721
|
break;
|
|
2712
2722
|
}
|
|
2713
|
-
if (!
|
|
2723
|
+
if (!J)
|
|
2714
2724
|
break;
|
|
2715
2725
|
D++;
|
|
2716
2726
|
}
|
|
2717
2727
|
for (; Y > D; ) {
|
|
2718
|
-
let
|
|
2719
|
-
for (let
|
|
2720
|
-
if (
|
|
2721
|
-
|
|
2728
|
+
let J = !0;
|
|
2729
|
+
for (let F = K; F < f; F++)
|
|
2730
|
+
if (S[d * F + Y] !== a) {
|
|
2731
|
+
J = !1;
|
|
2722
2732
|
break;
|
|
2723
2733
|
}
|
|
2724
|
-
if (!
|
|
2734
|
+
if (!J)
|
|
2725
2735
|
break;
|
|
2726
2736
|
Y--;
|
|
2727
2737
|
}
|
|
2728
2738
|
} else {
|
|
2729
2739
|
if (p) {
|
|
2730
2740
|
for (; K < f; ) {
|
|
2731
|
-
let
|
|
2732
|
-
for (let
|
|
2733
|
-
const ae = d * K +
|
|
2734
|
-
if (
|
|
2735
|
-
|
|
2741
|
+
let J = !0;
|
|
2742
|
+
for (let F = 0; F < d; F++) {
|
|
2743
|
+
const ae = d * K + F;
|
|
2744
|
+
if (S[ae] !== p[ae]) {
|
|
2745
|
+
J = !1;
|
|
2736
2746
|
break;
|
|
2737
2747
|
}
|
|
2738
2748
|
}
|
|
2739
|
-
if (!
|
|
2749
|
+
if (!J)
|
|
2740
2750
|
break;
|
|
2741
2751
|
K++;
|
|
2742
2752
|
}
|
|
2743
2753
|
for (; f > K; ) {
|
|
2744
|
-
let
|
|
2745
|
-
for (let
|
|
2746
|
-
const ae = d * f +
|
|
2747
|
-
if (
|
|
2748
|
-
|
|
2754
|
+
let J = !0;
|
|
2755
|
+
for (let F = 0; F < d; F++) {
|
|
2756
|
+
const ae = d * f + F;
|
|
2757
|
+
if (S[ae] !== p[ae]) {
|
|
2758
|
+
J = !1;
|
|
2749
2759
|
break;
|
|
2750
2760
|
}
|
|
2751
2761
|
}
|
|
2752
|
-
if (!
|
|
2762
|
+
if (!J)
|
|
2753
2763
|
break;
|
|
2754
2764
|
f--;
|
|
2755
2765
|
}
|
|
@@ -2757,46 +2767,46 @@ function Pr(e) {
|
|
|
2757
2767
|
D = Y;
|
|
2758
2768
|
else {
|
|
2759
2769
|
for (; D < Y; ) {
|
|
2760
|
-
let
|
|
2761
|
-
for (let
|
|
2762
|
-
const ae =
|
|
2763
|
-
if (
|
|
2764
|
-
|
|
2770
|
+
let J = !0;
|
|
2771
|
+
for (let F = K; F <= f; F++) {
|
|
2772
|
+
const ae = F * d + D;
|
|
2773
|
+
if (S[ae] !== p[ae]) {
|
|
2774
|
+
J = !1;
|
|
2765
2775
|
break;
|
|
2766
2776
|
}
|
|
2767
2777
|
}
|
|
2768
|
-
if (!
|
|
2778
|
+
if (!J)
|
|
2769
2779
|
break;
|
|
2770
2780
|
D++;
|
|
2771
2781
|
}
|
|
2772
2782
|
for (; Y > D; ) {
|
|
2773
|
-
let
|
|
2774
|
-
for (let
|
|
2775
|
-
const ae =
|
|
2776
|
-
if (
|
|
2777
|
-
|
|
2783
|
+
let J = !0;
|
|
2784
|
+
for (let F = K; F <= f; F++) {
|
|
2785
|
+
const ae = F * d + Y;
|
|
2786
|
+
if (S[ae] !== p[ae]) {
|
|
2787
|
+
J = !1;
|
|
2778
2788
|
break;
|
|
2779
2789
|
}
|
|
2780
2790
|
}
|
|
2781
|
-
if (!
|
|
2791
|
+
if (!J)
|
|
2782
2792
|
break;
|
|
2783
2793
|
Y--;
|
|
2784
2794
|
}
|
|
2785
2795
|
}
|
|
2786
2796
|
}
|
|
2787
|
-
O = p, p =
|
|
2797
|
+
O = p, p = S;
|
|
2788
2798
|
}
|
|
2789
|
-
const
|
|
2790
|
-
|
|
2799
|
+
const A = Y + 1 - D, te = f + 1 - K, Q = Xr(
|
|
2800
|
+
S,
|
|
2791
2801
|
{
|
|
2792
2802
|
left: D,
|
|
2793
2803
|
top: K,
|
|
2794
|
-
width:
|
|
2804
|
+
width: A,
|
|
2795
2805
|
height: te,
|
|
2796
2806
|
rawWidth: d,
|
|
2797
2807
|
rate: 1,
|
|
2798
|
-
callback: (
|
|
2799
|
-
if (!z && O &&
|
|
2808
|
+
callback: (J) => {
|
|
2809
|
+
if (!z && O && S[J] === O[J])
|
|
2800
2810
|
return a;
|
|
2801
2811
|
}
|
|
2802
2812
|
}
|
|
@@ -2804,22 +2814,22 @@ function Pr(e) {
|
|
|
2804
2814
|
return {
|
|
2805
2815
|
left: D,
|
|
2806
2816
|
top: K,
|
|
2807
|
-
width:
|
|
2817
|
+
width: A,
|
|
2808
2818
|
height: te,
|
|
2809
2819
|
disposal: z ? 2 : 1,
|
|
2810
|
-
imageData:
|
|
2820
|
+
imageData: Q
|
|
2811
2821
|
};
|
|
2812
2822
|
});
|
|
2813
2823
|
}
|
|
2814
|
-
function
|
|
2824
|
+
function Rr(e) {
|
|
2815
2825
|
return {
|
|
2816
|
-
time: (r) => e &&
|
|
2817
|
-
timeEnd: (r) => e &&
|
|
2818
|
-
debug: (...r) => e &&
|
|
2819
|
-
warn: (...r) => e &&
|
|
2826
|
+
time: (r) => e && Lr(r),
|
|
2827
|
+
timeEnd: (r) => e && Wr(r),
|
|
2828
|
+
debug: (...r) => e && Gr(...r),
|
|
2829
|
+
warn: (...r) => e && Dr(...r)
|
|
2820
2830
|
};
|
|
2821
2831
|
}
|
|
2822
|
-
function
|
|
2832
|
+
function Ur(e) {
|
|
2823
2833
|
const r = /* @__PURE__ */ new Map(), { workerUrl: a } = e;
|
|
2824
2834
|
let { workerNumber: p = 1 } = e;
|
|
2825
2835
|
const m = [...new Array(a ? p : 0)].map(() => {
|
|
@@ -2833,8 +2843,8 @@ function Ar(e) {
|
|
|
2833
2843
|
p = m.length;
|
|
2834
2844
|
function l(o) {
|
|
2835
2845
|
var d;
|
|
2836
|
-
const { id: y, data:
|
|
2837
|
-
(d = r.get(y)) == null || d(
|
|
2846
|
+
const { id: y, data: S } = o.data;
|
|
2847
|
+
(d = r.get(y)) == null || d(S), r.delete(y);
|
|
2838
2848
|
}
|
|
2839
2849
|
const i = function() {
|
|
2840
2850
|
let o = 0;
|
|
@@ -2843,16 +2853,16 @@ function Ar(e) {
|
|
|
2843
2853
|
return {
|
|
2844
2854
|
call: function() {
|
|
2845
2855
|
let o = 0;
|
|
2846
|
-
return (d, y,
|
|
2856
|
+
return (d, y, S, z) => new Promise((D) => {
|
|
2847
2857
|
const K = i(z);
|
|
2848
2858
|
if (!K)
|
|
2849
2859
|
return D(void 0);
|
|
2850
|
-
r.set(o, D), K.postMessage({ id: o++, type: d, data: y }, { transfer:
|
|
2860
|
+
r.set(o, D), K.postMessage({ id: o++, type: d, data: y }, { transfer: S });
|
|
2851
2861
|
});
|
|
2852
2862
|
}()
|
|
2853
2863
|
};
|
|
2854
2864
|
}
|
|
2855
|
-
function
|
|
2865
|
+
function Br(e) {
|
|
2856
2866
|
const {
|
|
2857
2867
|
width: r,
|
|
2858
2868
|
height: a,
|
|
@@ -2867,31 +2877,31 @@ function Rr(e) {
|
|
|
2867
2877
|
height: a,
|
|
2868
2878
|
maxColors: o,
|
|
2869
2879
|
frames: [],
|
|
2870
|
-
log:
|
|
2880
|
+
log: Rr(d),
|
|
2871
2881
|
palette: ln({
|
|
2872
2882
|
skipTransparent: !1
|
|
2873
2883
|
}),
|
|
2874
|
-
worker:
|
|
2884
|
+
worker: Ur({ workerUrl: p, workerNumber: m }),
|
|
2875
2885
|
encodeId: 0,
|
|
2876
2886
|
encode(f) {
|
|
2877
2887
|
return Oe(this, null, function* () {
|
|
2878
|
-
const { log: O, frames:
|
|
2888
|
+
const { log: O, frames: A, encodeId: te, width: Q, height: J } = y;
|
|
2879
2889
|
y.encodeId++;
|
|
2880
|
-
const { width:
|
|
2890
|
+
const { width: F = Q, height: ae = J } = f;
|
|
2881
2891
|
let { imageData: me } = f;
|
|
2882
2892
|
O.time(`palette:sample-${te}`);
|
|
2883
2893
|
try {
|
|
2884
|
-
me = typeof me == "string" ? yield
|
|
2885
|
-
const G =
|
|
2886
|
-
width:
|
|
2894
|
+
me = typeof me == "string" ? yield Kr(me) : me;
|
|
2895
|
+
const G = Yr(me, "uint8ClampedArray", {
|
|
2896
|
+
width: F,
|
|
2887
2897
|
height: ae
|
|
2888
2898
|
});
|
|
2889
|
-
|
|
2890
|
-
width:
|
|
2899
|
+
A.push(it(Xe({
|
|
2900
|
+
width: F,
|
|
2891
2901
|
height: ae
|
|
2892
2902
|
}, f), {
|
|
2893
2903
|
imageData: G
|
|
2894
|
-
})), yield
|
|
2904
|
+
})), yield S(G);
|
|
2895
2905
|
} finally {
|
|
2896
2906
|
O.timeEnd(`palette:sample-${te}`);
|
|
2897
2907
|
}
|
|
@@ -2899,10 +2909,10 @@ function Rr(e) {
|
|
|
2899
2909
|
},
|
|
2900
2910
|
flush() {
|
|
2901
2911
|
return Oe(this, null, function* () {
|
|
2902
|
-
const { log: f, frames: O, width:
|
|
2912
|
+
const { log: f, frames: O, width: A, height: te, maxColors: Q, palette: J } = y;
|
|
2903
2913
|
f.time("palette:generate");
|
|
2904
|
-
const
|
|
2905
|
-
f.debug("palette:maxColors",
|
|
2914
|
+
const F = yield z(Q), ae = ln(F).getColors("rgb").map((Z) => Z.value);
|
|
2915
|
+
f.debug("palette:maxColors", Q);
|
|
2906
2916
|
const me = ae.map((Z) => {
|
|
2907
2917
|
const I = Z[0].toString(16).padStart(2, "0"), k = Z[1].toString(16).padStart(2, "0"), T = Z[2].toString(16).padStart(2, "0");
|
|
2908
2918
|
return `#${I}${k}${T}`;
|
|
@@ -2915,7 +2925,7 @@ function Rr(e) {
|
|
|
2915
2925
|
f.timeEnd("palette:generate"), f.time("frames:index");
|
|
2916
2926
|
const G = yield D({
|
|
2917
2927
|
frames: O,
|
|
2918
|
-
palette:
|
|
2928
|
+
palette: F,
|
|
2919
2929
|
transparentIndex: i
|
|
2920
2930
|
});
|
|
2921
2931
|
f.timeEnd("frames:index"), f.time("frames:crop");
|
|
@@ -2939,17 +2949,17 @@ function Rr(e) {
|
|
|
2939
2949
|
})
|
|
2940
2950
|
)));
|
|
2941
2951
|
f.timeEnd("frames:encode"), f.time("output");
|
|
2942
|
-
const be =
|
|
2952
|
+
const be = Vr(it(Xe({}, e), {
|
|
2943
2953
|
colorTable: ae,
|
|
2944
2954
|
backgroundColorIndex: i,
|
|
2945
|
-
width:
|
|
2955
|
+
width: A,
|
|
2946
2956
|
height: te
|
|
2947
|
-
})), ke =
|
|
2948
|
-
return W.set(be), W.set(ke, be.byteLength), W[W.length - 1] =
|
|
2957
|
+
})), ke = zr(ye), W = new Uint8Array(be.length + ke.byteLength + 1);
|
|
2958
|
+
return W.set(be), W.set(ke, be.byteLength), W[W.length - 1] = Ir, f.timeEnd("output"), J.reset(), y.frames = [], y.encodeId = 0, W;
|
|
2949
2959
|
});
|
|
2950
2960
|
}
|
|
2951
2961
|
};
|
|
2952
|
-
function
|
|
2962
|
+
function S(f) {
|
|
2953
2963
|
return Oe(this, null, function* () {
|
|
2954
2964
|
(yield y.worker.call(
|
|
2955
2965
|
"palette:addSample",
|
|
@@ -2974,7 +2984,7 @@ function Rr(e) {
|
|
|
2974
2984
|
return (yield y.worker.call(
|
|
2975
2985
|
"frames:index",
|
|
2976
2986
|
f
|
|
2977
|
-
)) ||
|
|
2987
|
+
)) || Fr(f);
|
|
2978
2988
|
});
|
|
2979
2989
|
}
|
|
2980
2990
|
function K(f) {
|
|
@@ -2982,8 +2992,8 @@ function Rr(e) {
|
|
|
2982
2992
|
return (yield y.worker.call(
|
|
2983
2993
|
"frames:crop",
|
|
2984
2994
|
f,
|
|
2985
|
-
f.frames.map((
|
|
2986
|
-
)) ||
|
|
2995
|
+
f.frames.map((A) => A.imageData.buffer)
|
|
2996
|
+
)) || Ar(f);
|
|
2987
2997
|
});
|
|
2988
2998
|
}
|
|
2989
2999
|
function Y(f) {
|
|
@@ -2992,20 +3002,20 @@ function Rr(e) {
|
|
|
2992
3002
|
"frame:encode",
|
|
2993
3003
|
f,
|
|
2994
3004
|
[f.imageData.buffer]
|
|
2995
|
-
)) ||
|
|
3005
|
+
)) || Pr(f);
|
|
2996
3006
|
});
|
|
2997
3007
|
}
|
|
2998
3008
|
return y;
|
|
2999
3009
|
}
|
|
3000
|
-
function
|
|
3010
|
+
function Hr(e) {
|
|
3001
3011
|
return Oe(this, null, function* () {
|
|
3002
|
-
const { frames: r } = e, a =
|
|
3012
|
+
const { frames: r } = e, a = Br(e);
|
|
3003
3013
|
for (let p = r.length, m = 0; m < p; m++)
|
|
3004
3014
|
yield a.encode(r[m]);
|
|
3005
3015
|
return yield a.flush();
|
|
3006
3016
|
});
|
|
3007
3017
|
}
|
|
3008
|
-
const Br = "data:application/javascript;base64,dmFyIFFlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgZGU9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sczt2YXIgZXQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSx0dD1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlO3ZhciBCPU1hdGgucG93LHVlPShfLHgsayk9PnggaW4gXz9RZShfLHgse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KTpfW3hdPWsscT0oXyx4KT0+e2Zvcih2YXIgayBpbiB4fHwoeD17fSkpZXQuY2FsbCh4LGspJiZ1ZShfLGsseFtrXSk7aWYoZGUpZm9yKHZhciBrIG9mIGRlKHgpKXR0LmNhbGwoeCxrKSYmdWUoXyxrLHhba10pO3JldHVybiBffTsoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y29uc3QgXz10eXBlb2Ygd2luZG93PCJ1Iix4PTY1NTM2LTEsaz14KngsaGU9NTEyLTEsRj1bMCwyMCw0MCw2MCw4MCw5OSwxMTksMTM5LDE1OSwxNzksMTk5LDIxOSwyNDEsMjY0LDI4OCwzMTMsMzQwLDM2NywzOTYsNDI3LDQ1OCw0OTEsNTI2LDU2Miw1OTksNjM3LDY3Nyw3MTgsNzYxLDgwNSw4NTEsODk4LDk0Nyw5OTcsMTA0OCwxMTAxLDExNTYsMTIxMiwxMjcwLDEzMzAsMTM5MSwxNDUzLDE1MTcsMTU4MywxNjUxLDE3MjAsMTc5MCwxODYzLDE5MzcsMjAxMywyMDkwLDIxNzAsMjI1MCwyMzMzLDI0MTgsMjUwNCwyNTkyLDI2ODEsMjc3MywyODY2LDI5NjEsMzA1OCwzMTU3LDMyNTgsMzM2MCwzNDY0LDM1NzAsMzY3OCwzNzg4LDM5MDAsNDAxNCw0MTI5LDQyNDcsNDM2Niw0NDg4LDQ2MTEsNDczNiw0ODY0LDQ5OTMsNTEyNCw1MjU3LDUzOTIsNTUzMCw1NjY5LDU4MTAsNTk1Myw2MDk5LDYyNDYsNjM5NSw2NTQ3LDY3MDAsNjg1Niw3MDE0LDcxNzQsNzMzNSw3NTAwLDc2NjYsNzgzNCw4MDA0LDgxNzcsODM1Miw4NTI4LDg3MDgsODg4OSw5MDcyLDkyNTgsOTQ0NSw5NjM1LDk4MjgsMTAwMjIsMTAyMTksMTA0MTcsMTA2MTksMTA4MjIsMTEwMjgsMTEyMzUsMTE0NDYsMTE2NTgsMTE4NzMsMTIwOTAsMTIzMDksMTI1MzAsMTI3NTQsMTI5ODAsMTMyMDksMTM0NDAsMTM2NzMsMTM5MDksMTQxNDYsMTQzODcsMTQ2MjksMTQ4NzQsMTUxMjIsMTUzNzEsMTU2MjMsMTU4NzgsMTYxMzUsMTYzOTQsMTY2NTYsMTY5MjAsMTcxODcsMTc0NTYsMTc3MjcsMTgwMDEsMTgyNzcsMTg1NTYsMTg4MzcsMTkxMjEsMTk0MDcsMTk2OTYsMTk5ODcsMjAyODEsMjA1NzcsMjA4NzYsMjExNzcsMjE0ODEsMjE3ODcsMjIwOTYsMjI0MDcsMjI3MjEsMjMwMzgsMjMzNTcsMjM2NzgsMjQwMDIsMjQzMjksMjQ2NTgsMjQ5OTAsMjUzMjUsMjU2NjIsMjYwMDEsMjYzNDQsMjY2ODgsMjcwMzYsMjczODYsMjc3MzksMjgwOTQsMjg0NTIsMjg4MTMsMjkxNzYsMjk1NDIsMjk5MTEsMzAyODIsMzA2NTYsMzEwMzMsMzE0MTIsMzE3OTQsMzIxNzksMzI1NjcsMzI5NTcsMzMzNTAsMzM3NDUsMzQxNDMsMzQ1NDQsMzQ5NDgsMzUzNTUsMzU3NjQsMzYxNzYsMzY1OTEsMzcwMDgsMzc0MjksMzc4NTIsMzgyNzgsMzg3MDYsMzkxMzgsMzk1NzIsNDAwMDksNDA0NDksNDA4OTEsNDEzMzcsNDE3ODUsNDIyMzYsNDI2OTAsNDMxNDcsNDM2MDYsNDQwNjksNDQ1MzQsNDUwMDIsNDU0NzMsNDU5NDcsNDY0MjMsNDY5MDMsNDczODUsNDc4NzEsNDgzNTksNDg4NTAsNDkzNDQsNDk4NDEsNTAzNDEsNTA4NDQsNTEzNDksNTE4NTgsNTIzNjksNTI4ODQsNTM0MDEsNTM5MjEsNTQ0NDUsNTQ5NzEsNTU1MDAsNTYwMzIsNTY1NjcsNTcxMDUsNTc2NDYsNTgxOTAsNTg3MzcsNTkyODcsNTk4NDAsNjAzOTYsNjA5NTUsNjE1MTcsNjIwODIsNjI2NTAsNjMyMjEsNjM3OTUsNjQzNzIsNjQ5NTIsNjU1MzVdLFk9WzAsNiwxMywxOCwyMiwyNSwyOCwzMSwzNCwzNiwzOCw0MCw0Miw0NCw0Niw0OCw1MCw1MSw1Myw1NCw1Niw1Nyw1OSw2MCw2MSw2Miw2NCw2NSw2Niw2Nyw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Niw4Nyw4OCw4OSw5MCw5MSw5MSw5Miw5Myw5NCw5NSw5NSw5Niw5Nyw5OCw5OCw5OSwxMDAsMTAxLDEwMSwxMDIsMTAzLDEwMywxMDQsMTA1LDEwNiwxMDYsMTA3LDEwOCwxMDgsMTA5LDExMCwxMTAsMTExLDExMSwxMTIsMTEzLDExMywxMTQsMTE1LDExNSwxMTYsMTE2LDExNywxMTgsMTE4LDExOSwxMTksMTIwLDEyMSwxMjEsMTIyLDEyMiwxMjMsMTIzLDEyNCwxMjUsMTI1LDEyNiwxMjYsMTI3LDEyNywxMjgsMTI4LDEyOSwxMjksMTMwLDEzMCwxMzEsMTMyLDEzMiwxMzMsMTMzLDEzNCwxMzQsMTM1LDEzNSwxMzYsMTM2LDEzNywxMzcsMTM4LDEzOCwxMzksMTM5LDE0MCwxNDAsMTQwLDE0MSwxNDEsMTQyLDE0MiwxNDMsMTQzLDE0NCwxNDQsMTQ1LDE0NSwxNDYsMTQ2LDE0NywxNDcsMTQ3LDE0OCwxNDgsMTQ5LDE0OSwxNTAsMTUwLDE1MSwxNTEsMTUxLDE1MiwxNTIsMTUzLDE1MywxNTQsMTU0LDE1NCwxNTUsMTU1LDE1NiwxNTYsMTU2LDE1NywxNTcsMTU4LDE1OCwxNTksMTU5LDE1OSwxNjAsMTYwLDE2MSwxNjEsMTYxLDE2MiwxNjIsMTYzLDE2MywxNjMsMTY0LDE2NCwxNjUsMTY1LDE2NSwxNjYsMTY2LDE2NiwxNjcsMTY3LDE2OCwxNjgsMTY4LDE2OSwxNjksMTY5LDE3MCwxNzAsMTcxLDE3MSwxNzEsMTcyLDE3MiwxNzIsMTczLDE3MywxNzQsMTc0LDE3NCwxNzUsMTc1LDE3NSwxNzYsMTc2LDE3NiwxNzcsMTc3LDE3NywxNzgsMTc4LDE3OSwxNzksMTc5LDE4MCwxODAsMTgwLDE4MSwxODEsMTgxLDE4MiwxODIsMTgyLDE4MywxODMsMTgzLDE4NCwxODQsMTg0LDE4NSwxODUsMTg1LDE4NiwxODYsMTg2LDE4NywxODcsMTg3LDE4OCwxODgsMTg4LDE4OSwxODksMTg5LDE5MCwxOTAsMTkwLDE5MSwxOTEsMTkxLDE5MiwxOTIsMTkyLDE5MywxOTMsMTkzLDE5MywxOTQsMTk0LDE5NCwxOTUsMTk1LDE5NSwxOTYsMTk2LDE5NiwxOTcsMTk3LDE5NywxOTgsMTk4LDE5OCwxOTgsMTk5LDE5OSwxOTksMjAwLDIwMCwyMDAsMjAxLDIwMSwyMDEsMjAxLDIwMiwyMDIsMjAyLDIwMywyMDMsMjAzLDIwNCwyMDQsMjA0LDIwNCwyMDUsMjA1LDIwNSwyMDYsMjA2LDIwNiwyMDYsMjA3LDIwNywyMDcsMjA4LDIwOCwyMDgsMjA4LDIwOSwyMDksMjA5LDIxMCwyMTAsMjEwLDIxMCwyMTEsMjExLDIxMSwyMTIsMjEyLDIxMiwyMTIsMjEzLDIxMywyMTMsMjE0LDIxNCwyMTQsMjE0LDIxNSwyMTUsMjE1LDIxNSwyMTYsMjE2LDIxNiwyMTcsMjE3LDIxNywyMTcsMjE4LDIxOCwyMTgsMjE4LDIxOSwyMTksMjE5LDIyMCwyMjAsMjIwLDIyMCwyMjEsMjIxLDIyMSwyMjEsMjIyLDIyMiwyMjIsMjIyLDIyMywyMjMsMjIzLDIyNCwyMjQsMjI0LDIyNCwyMjUsMjI1LDIyNSwyMjUsMjI2LDIyNiwyMjYsMjI2LDIyNywyMjcsMjI3LDIyNywyMjgsMjI4LDIyOCwyMjgsMjI5LDIyOSwyMjksMjI5LDIzMCwyMzAsMjMwLDIzMCwyMzEsMjMxLDIzMSwyMzEsMjMyLDIzMiwyMzIsMjMyLDIzMywyMzMsMjMzLDIzMywyMzQsMjM0LDIzNCwyMzQsMjM1LDIzNSwyMzUsMjM1LDIzNiwyMzYsMjM2LDIzNiwyMzcsMjM3LDIzNywyMzcsMjM4LDIzOCwyMzgsMjM4LDIzOSwyMzksMjM5LDIzOSwyMzksMjQwLDI0MCwyNDAsMjQwLDI0MSwyNDEsMjQxLDI0MSwyNDIsMjQyLDI0MiwyNDIsMjQzLDI0MywyNDMsMjQzLDI0MywyNDQsMjQ0LDI0NCwyNDQsMjQ1LDI0NSwyNDUsMjQ1LDI0NiwyNDYsMjQ2LDI0NiwyNDYsMjQ3LDI0NywyNDcsMjQ3LDI0OCwyNDgsMjQ4LDI0OCwyNDksMjQ5LDI0OSwyNDksMjQ5LDI1MCwyNTAsMjUwLDI1MCwyNTEsMjUxLDI1MSwyNTEsMjUxLDI1MiwyNTIsMjUyLDI1MiwyNTMsMjUzLDI1MywyNTMsMjUzLDI1NCwyNTQsMjU0LDI1NCwyNTUsMjU1LDI1NV07ZnVuY3Rpb24gVyhyKXtsZXQgZTtpZihyPD0wKXJldHVybiAwO2lmKHI+PXgpcmV0dXJuIHg7ZT1yKihyKihyKy0xNDQxMDcpL3grMTMyMTE0KS94KzE0Mzc5O2ZvcihsZXQgYT0wO2E8MjthKyspe2NvbnN0IGk9ZSplKmUscz1yKygyKmkray8yKS9rO2U9KGUqKDIqcisoaStrLzIpL2spK3MvMikvc31yZXR1cm4gZX1mdW5jdGlvbiB2KHIsZSl7cmV0dXJuKHJeZSk8MD8oci1lLzIpL2U6KHIrZS8yKS9lfWZ1bmN0aW9uIEoocil7Y29uc3QgZT1GW3I+PjE2JjI1NV0sYT1GW3I+PjgmMjU1XSxpPUZbciYyNTVdLHM9KDI3MDE1KmUrMzUxNDkqYSszMzcyKmkreC8yKS94LGY9KDEzODg3KmUrNDQ2MTAqYSs3MDM4KmkreC8yKS94LG89KDU3ODcqZSsxODQ2MiphKzQxMjg2KmkreC8yKS94LG49VyhzKSx0PVcoZiksbD1XKG8pO3JldHVyblt2KDEzNzkyKm4rNTIwMTAqdC0yNjcqbCx4KSx2KDEyOTYyOCpuLTE1OTE1OCp0KzI5NTMwKmwseCksdigxNjk4Km4rNTEyOTkqdC01Mjk5NypsLHgpXX1mdW5jdGlvbiBLKHIpe2lmKHI8PTApcmV0dXJuIDA7aWYocj49eClyZXR1cm4gMjU1O3tjb25zdCBlPXIqaGUsYT1+fihlL3gpLGk9ZSV4LHM9WVthXSxmPVlbYSsxXTtyZXR1cm4oaSooZi1zKSt4LzIpL3grc319ZnVuY3Rpb24gZ2Uocil7Y29uc3QgZT1yWzBdK3YoMjU5NzQqclsxXSx4KSt2KDE0MTQzKnJbMl0seCksYT1yWzBdK3YoLTY5MTgqclsxXSx4KSt2KC00MTg1KnJbMl0seCksaT1yWzBdK3YoLTU4NjQqclsxXSx4KSt2KC04NDYzOCpyWzJdLHgpLHM9QihlLDIpKmUvayxmPUIoYSwyKSphL2ssbz1CKGksMikqaS9rLG49SygoMjY3MTY5KnMrLTIxNjc3MSpmKzE1MTM3Km8reC8yKS94KSx0PUsoKC04MzEyNypzKzE3MTAzMCpmKy0yMjM2OCpvK3gvMikveCksbD1LKCgtMjc1KnMrLTQ2MDk5KmYrMTExOTA5Km8reC8yKS94KTtyZXR1cm4gbjw8MTZ8dDw8OHxsfWZ1bmN0aW9uIHBlKHIpe2NvbnN0IGU9e2w6MCxhOjEsYjoyfSxhPXJbMF0saT1yWzFdLHM9clsyXSxmPWVbYV0sbz1lW2ldLG49ZVtzXTtyZXR1cm4odCxsKT0+dC5va2xhYltmXS1sLm9rbGFiW2ZdfHx0Lm9rbGFiW29dLWwub2tsYWJbb118fHQub2tsYWJbbl0tbC5va2xhYltuXX1mdW5jdGlvbiBtZShyLGUsYSl7cmV0dXJuIHI+PWU/ZT49YT8ibGFiIjpyPj1hPyJsYmEiOiJibGEiOnI+PWE/ImFsYiI6ZT49YT8iYWJsIjoiYmFsIn1mdW5jdGlvbiB3ZShyKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+e2NvbnN0IGE9bmV3IEltYWdlO2EuZGVjb2Rpbmc9InN5bmMiLGEubG9hZGluZz0iZWFnZXIiLGEuY3Jvc3NPcmlnaW49ImFub255bW91cyIsYS5vbmxvYWQ9KCk9PmUoYSksYS5vbmVycm9yPSgpPT5lKGEpLGEuc3JjPXJ9KX1mdW5jdGlvbiBRKHIpe3JldHVybiByJiZ0eXBlb2Ygcj09Im9iamVjdCImJiJfX0NPTlRFWFRfXyJpbiByfWZ1bmN0aW9uIGJlKHIpe3JldHVybiBRKHIpP3I6eGUocil9ZnVuY3Rpb24geGUocj17fSl7Y29uc3R7bWF4Q29sb3JzOmU9MjU2LHN0YXRzTW9kZTphPSJmdWxsIixzYW1wbGVzOmk9W10sc2tpcFRyYW5zcGFyZW50OnM9ITB9PXI7cmV0dXJue19fQ09OVEVYVF9fOiEwLHNhbXBsZXM6aSxtYXhDb2xvcnM6ZSxzdGF0c01vZGU6YSxza2lwVHJhbnNwYXJlbnQ6cyxjb2xvclNhbXBsZXM6W10sY29sb3JTYW1wbGVzQ2FjaGU6bmV3IE1hcCxjb2xvckJveGVzOltdLGNvbG9yQm94ZXNJbmRleFRyZWU6W10sZmluZGVyQ2FjaGU6bmV3IE1hcH19ZnVuY3Rpb24gZWUocil7Y29uc3QgZT1RKHIpP3I6ci5jb250ZXh0LHtjb2xvckJveGVzSW5kZXhUcmVlOmEsZmluZGVyQ2FjaGU6aX09ZTtmdW5jdGlvbiBzKG8sbix0KXtjb25zdHtsZWZ0OmwscmlnaHQ6Zyxsb25nZXN0OmMsb2tsYWI6aCxjb2xvckJveEluZGV4OnB9PWFbb10sYj1NYXRoLm1pbihCKG5bMF0taFswXSwyKStCKG5bMV0taFsxXSwyKStCKG5bMl0taFsyXSwyKSw0Mjk0OTY3Mjk1LTEpO2I8dC5kaXN0JiYodC5jb2xvckJveEluZGV4PXAsdC5kaXN0PWIpO2xldCBkLHU7aWYobCE9PS0xfHxnIT09LTEpe2NvbnN0IEM9bltjXS1oW2NdO0M8PTA/KGQ9bCx1PWcpOihkPWcsdT1sKSxkIT09LTEmJnMoZCxuLHQpLHUhPT0tMSYmQihDLDIpPHQuZGlzdCYmcyh1LG4sdCl9fWZ1bmN0aW9uIGYobyl7Y29uc3Qgbj17ZGlzdDpOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixjb2xvckJveEluZGV4Oi0xfTtyZXR1cm4gcygwLG8sbiksbi5jb2xvckJveEluZGV4fXJldHVybiBvPT57Y29uc3Qgbj1vJTMyNzY4O2xldCB0PWkuZ2V0KG4pO3R8fCh0PW5ldyBNYXAsaS5zZXQobix0KSk7bGV0IGw9dC5nZXQobyk7cmV0dXJuIGwhPT12b2lkIDB8fChsPWYoSihvKSksdC5zZXQobyxsKSksbH19ZnVuY3Rpb24gU2UocixlKXtjb25zdHtjb2xvckJveGVzOmF9PXIsaT1hLnJlZHVjZSgobyxuKT0+bytuLndlaWdodCwwKTtpZighZSlyZXR1cm4gci5jb2xvckJveGVzLm1hcChvPT57Y29uc3R7c3JnYjpuLHdlaWdodDp0fT1vO3JldHVybnt2YWx1ZTpuLHBlcmNlbnRhZ2U6dC9pfX0pO2NvbnN0IHM9W107Zm9yKGxldCBvPWEubGVuZ3RoLG49MDtuPG87bisrKXtjb25zdHtzcmdiOnQsd2VpZ2h0Omx9PWFbbl07cy5wdXNoKHt2YWx1ZTpbdD4+MTYmMjU1LHQ+PjgmMjU1LHQmMjU1XSxwZXJjZW50YWdlOmwvaX0pfWxldCBmO2lmKGU9PT0iYnVmZmVyIil7Zj1uZXcgVWludDhDbGFtcGVkQXJyYXkocy5sZW5ndGgqNCk7Zm9yKGxldCBvPXMubGVuZ3RoLG49MDtuPG87bisrKXtjb25zdCB0PW4qNCxsPXNbbl0udmFsdWU7Zlt0XT1sWzBdLGZbdCsxXT1sWzFdLGZbdCsyXT1sWzJdLGZbdCszXT0yNTV9fWVsc2UgaWYoZT09PSJoZXgiKXtmPVtdO2ZvcihsZXQgbz1zLmxlbmd0aCxuPTA7bjxvO24rKyl7Y29uc3R7dmFsdWU6dCxwZXJjZW50YWdlOmx9PXNbbl0sZz10WzBdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIiksYz10WzFdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIiksaD10WzJdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIik7Zi5wdXNoKHt2YWx1ZTpgIyR7Z30ke2N9JHtofWAscGVyY2VudGFnZTpsfSl9fWVsc2UgZj1zO3JldHVybiBmfWZ1bmN0aW9uIFYocixlLGEpe3ZhciBnLGMsaCxwO2NvbnN0e2dldENvbnRleHQyZDppLHByZXZpb3VzU2FtcGxlOnMsc2tpcFRyYW5zcGFyZW50OmZ9PWEse3N0YXRzTW9kZTpvLGNvbG9yU2FtcGxlczpuLGNvbG9yU2FtcGxlc0NhY2hlOnR9PXI7bGV0IGw7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpKWw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGUuYnVmZmVyKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilsPW5ldyBVaW50OENsYW1wZWRBcnJheShlKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpaWYoQXJyYXkuaXNBcnJheShlWzBdKSl7Y29uc3QgYj1bXTtmb3IobGV0IGQ9ZS5sZW5ndGgsdT0wO3U8ZDt1KyspYi5wdXNoKChnPWVbdV1bMF0pIT1udWxsP2c6MCwoYz1lW3VdWzFdKSE9bnVsbD9jOjAsKGg9ZVt1XVsyXSkhPW51bGw/aDowLChwPWVbdV1bM10pIT1udWxsP3A6MjU1KTtsPW5ldyBVaW50OENsYW1wZWRBcnJheShiKX1lbHNlIGw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGUpO2Vsc2UgaWYodHlwZW9mIGU9PSJzdHJpbmciKXtjb25zdCBiPWk9PW51bGw/dm9pZCAwOmkoKTtpZighYilyZXR1cm47Y29uc3QgZD1iLmNhbnZhcztyZXR1cm4gd2UoZSkudGhlbih1PT4oYi5jbGVhclJlY3QoMCwwLGQud2lkdGgsZC5oZWlnaHQpLGQud2lkdGg9dS53aWR0aCxkLmhlaWdodD11LmhlaWdodCxiLmRyYXdJbWFnZSh1LDAsMCxkLndpZHRoLGQuaGVpZ2h0KSxWKHIsYi5nZXRJbWFnZURhdGEoMCwwLGQud2lkdGgsZC5oZWlnaHQpLmRhdGEsYSkpKX1lbHNle2NvbnN0IGI9aT09bnVsbD92b2lkIDA6aSgpO2lmKCFiKXJldHVybjtjb25zdCBkPWIuY2FudmFzO3JldHVybiBiLmNsZWFyUmVjdCgwLDAsZC53aWR0aCxkLmhlaWdodCksZC53aWR0aD10eXBlb2YgZS53aWR0aD09Im51bWJlciI/ZS53aWR0aDplLndpZHRoLmJhc2VWYWwudmFsdWUsZC5oZWlnaHQ9dHlwZW9mIGUuaGVpZ2h0PT0ibnVtYmVyIj9lLmhlaWdodDplLmhlaWdodC5iYXNlVmFsLnZhbHVlLGIuZHJhd0ltYWdlKGUsMCwwLGQud2lkdGgsZC5oZWlnaHQpLFYocixiLmdldEltYWdlRGF0YSgwLDAsZC53aWR0aCxkLmhlaWdodCkuZGF0YSxhKX1mb3IobGV0IGI9bC5sZW5ndGgsZD0wO2Q8YjtkKz00KXtjb25zdCB1PWxbZF0sQz1sW2QrMV0seT1sW2QrMl0sUz1sW2QrM107aWYoZiYmUz09PTB8fG89PT0iZGlmZiImJnMmJnU9PT1zW2RdJiZDPT09c1tkKzFdJiZ5PT09c1tkKzJdJiZTPT09c1tkKzNdKWNvbnRpbnVlO2NvbnN0IHc9dTw8MTZ8Qzw8OHx5LG09UyoxZTgrdyxJPW0lMzI3Njg7bGV0IFQ9dC5nZXQoSSk7VHx8KFQ9bmV3IE1hcCx0LnNldChJLFQpKTtsZXQgQT1ULmdldChtKTtpZihBIT09dm9pZCAwKXtuW0FdLmNvdW50Kys7Y29udGludWV9QT1uLnB1c2goe2FscGhhOlMsc3JnYjp3LG9rbGFiOkoodyksY291bnQ6MX0pLTEsVC5zZXQobSxBKX1yZXR1cm4gbH1mdW5jdGlvbiB0ZShyLGUpe2NvbnN0e2NvbG9yU2FtcGxlczphfT1lLHtzdGFydDppLGVuZDpzfT1yO3IubGVuZ3RoPXMtaSxyLndlaWdodD0wO2NvbnN0IGY9WzAsMCwwXTtmb3IobGV0IG49aTtuPHM7bisrKXtjb25zdCB0PWFbbl07ZlswXSs9dC5va2xhYlswXSp0LmNvdW50LGZbMV0rPXQub2tsYWJbMV0qdC5jb3VudCxmWzJdKz10Lm9rbGFiWzJdKnQuY291bnQsci53ZWlnaHQrPXQuY291bnR9ci5va2xhYj1bZlswXS9yLndlaWdodCxmWzFdL3Iud2VpZ2h0LGZbMl0vci53ZWlnaHRdO2NvbnN0IG89WzAsMCwwXTtmb3IobGV0IG49aTtuPHM7bisrKXtjb25zdCB0PWFbbl07b1swXSs9Qih0Lm9rbGFiWzBdLXIub2tsYWJbMF0sMikqdC5jb3VudCxvWzFdKz1CKHQub2tsYWJbMV0tci5va2xhYlsxXSwyKSp0LmNvdW50LG9bMl0rPUIodC5va2xhYlsyXS1yLm9rbGFiWzJdLDIpKnQuY291bnR9ci5zb3J0PW1lKG9bMF0sb1sxXSxvWzJdKSxyLnNjb3JlPU1hdGgubWF4KG9bMF0sb1sxXSxvWzJdKX1mdW5jdGlvbiBuZShyLGUpe2NvbnN0IGE9cSh7c3RhcnQ6MCxlbmQ6MCxsZW5ndGg6MCxzY29yZTowLHdlaWdodDowLHNvcnQ6ImxhYiIsc29ydGVkOm51bGwsc3JnYjowLG9rbGFiOlswLDAsMF19LHIpO3JldHVybiB0ZShhLGUpLGF9ZnVuY3Rpb24gQ2Uocil7Y29uc3R7Y29sb3JCb3hlczplfT1yLGE9W10saT1uZXcgTWFwO2ZvcihsZXQgbz0tMSxuPWUubGVuZ3RoLHQ9MDt0PG47dCsrKXtjb25zdHtzcmdiOmx9PWVbdF07aWYobD09PW8pe2kuc2V0KHQsITApO2NvbnRpbnVlfW89bH1mKHttaW46Wy02NTUzNSwtNjU1MzUsLTY1NTM1XSxtYXg6WzY1NTM1LDY1NTM1LDY1NTM1XX0pO2Z1bmN0aW9uIHMobyl7Y29uc3Qgbj17bWluOls2NTUzNSw2NTUzNSw2NTUzNV0sbWF4OlstNjU1MzUsLTY1NTM1LC02NTUzNV19O2xldCB0PTA7Y29uc3QgbD1bXTtmb3IobGV0IGI9ZS5sZW5ndGgsZD0wO2Q8YjtkKyspe2NvbnN0e29rbGFiOnV9PWVbZF07aS5oYXMoZCl8fHVbMF08by5taW5bMF18fHVbMV08by5taW5bMV18fHVbMl08by5taW5bMl18fHVbMF0+by5tYXhbMF18fHVbMV0+by5tYXhbMV18fHVbMl0+by5tYXhbMl18fCh1WzBdPG4ubWluWzBdJiYobi5taW5bMF09dVswXSksdVsxXTxuLm1pblsxXSYmKG4ubWluWzFdPXVbMV0pLHVbMl08bi5taW5bMl0mJihuLm1pblsyXT11WzJdKSx1WzBdPm4ubWF4WzBdJiYobi5tYXhbMF09dVswXSksdVsxXT5uLm1heFsxXSYmKG4ubWF4WzFdPXVbMV0pLHVbMl0+bi5tYXhbMl0mJihuLm1heFsyXT11WzJdKSxsW3QrK109e29rbGFiOnUsY29sb3JCb3hJbmRleDpkfSl9bGV0IGc9MDtpZighdClyZXR1cm57Y29sb3JCb3hJbmRleDotMSxsb25nZXN0Omd9O2NvbnN0IGM9bi5tYXhbMF0tbi5taW5bMF0saD1uLm1heFsxXS1uLm1pblsxXSxwPW4ubWF4WzJdLW4ubWluWzJdO3JldHVybiBjPj1oJiZjPj1wP2c9MDpwPj1jJiZwPj1oP2c9MjpoPj1jJiZoPj1wJiYoZz0xKSx7Y29sb3JCb3hJbmRleDpsLnNvcnQoKGIsZCk9PmIub2tsYWJbZ10tZC5va2xhYltnXSlbdD4+MV0uY29sb3JCb3hJbmRleCxsb25nZXN0Omd9fWZ1bmN0aW9uIGYobyl7Y29uc3R7Y29sb3JCb3hJbmRleDpuLGxvbmdlc3Q6dH09cyhvKTtpZihuPDApcmV0dXJuLTE7Y29uc3R7b2tsYWI6bH09ZVtuXSxnPXtsb25nZXN0OnQsb2tsYWI6bCxjb2xvckJveEluZGV4Om59LGM9YS5wdXNoKGcpLTE7aS5zZXQobiwhMCk7Y29uc3QgaD17bWF4OlsuLi5vLm1heF0sbWluOlsuLi5vLm1pbl19LHA9e21heDpbLi4uby5tYXhdLG1pbjpbLi4uby5taW5dfTtoLm1heFt0XT1sW3RdLHAubWluW3RdPU1hdGgubWluKGxbdF0rMSw2NTUzNSk7Y29uc3QgYj1mKGgpO2xldCBkPS0xO3JldHVybiBwLm1pblt0XTw9cC5tYXhbdF0mJihkPWYocCkpLGcubGVmdD1iLGcucmlnaHQ9ZCxjfXJldHVybiBhfWZ1bmN0aW9uIHllKHIsZT17fSl7Y29uc3R7bWF4Q29sb3JzOmEsY29sb3JTYW1wbGVzOml9PXI7aWYoIWkubGVuZ3RoKXJldHVybjtjb25zdHttYXhDb2xvcnM6cz1hLGNsZWFyU2FtcGxlczpmPSEwfT1lO2xldCBvPW5lKHtlbmQ6aS5sZW5ndGh9LHIpLG49MTtjb25zdCB0PVtvXTtmdW5jdGlvbiBsKCl7bGV0IGM9LTEsaD0tMTtpZihuPT09cylyZXR1cm4tMTtmb3IobGV0IHA9MDtwPG47cCsrKXtjb25zdCBiPXRbcF07Yi5sZW5ndGg+PTImJmIuc2NvcmU+aCYmKGM9cCxoPWIuc2NvcmUpfXJldHVybiBjfWZ1bmN0aW9uIGcoYyxoKXtjb25zdCBwPW5lKHtzdGFydDpoKzEsZW5kOmMuZW5kLHNvcnRlZDpjLnNvcnRlZH0scik7Yy5lbmQtPXAubGVuZ3RoLHRlKGMsciksdC5wdXNoKHApLG4rK31mb3IoO28mJm8ubGVuZ3RoPjE7KXtjb25zdHtzdGFydDpjLGVuZDpoLHNvcnQ6cCxzb3J0ZWQ6Yn09bztpZihwIT09Yil7Y29uc3QgUz1pLnNsaWNlKGMsaCkuc29ydChwZShwKSk7Zm9yKGxldCB3PVMubGVuZ3RoLG09MDttPHc7bSsrKWlbYyttXT1TW21dO28uc29ydGVkPXB9Y29uc3QgZD1vLndlaWdodCsxPj4xO2xldCB1PWMsQz0wO2ZvcihsZXQgUz1oLTI7dTxTJiYoQys9aVt1XS5jb3VudCwhKEM+ZCkpO3UrKyk7ZyhvLHUpO2NvbnN0IHk9bCgpO289eT49MD90W3ldOm51bGx9Zm9yKGxldCBjPXQubGVuZ3RoLGg9MDtoPGM7aCsrKXRbaF0uc3JnYj1nZSh0W2hdLm9rbGFiKTtyLmNvbG9yQm94ZXM9dC5zb3J0KChjLGgpPT5jLnNyZ2ItaC5zcmdiKSxyLmNvbG9yQm94ZXNJbmRleFRyZWU9Q2UociksZiYmKHIuY29sb3JTYW1wbGVzPVtdLHIuY29sb3JTYW1wbGVzQ2FjaGUuY2xlYXIoKSksci5maW5kZXJDYWNoZS5jbGVhcigpfWZ1bmN0aW9uIEllKHIsZSxhKXtjb25zdHtjb2xvckJveGVzOml9PXI7aWYoIWUpcmV0dXJuO2xldCBzO2lmKHR5cGVvZiBhPT0ibnVtYmVyIilzPWE7ZWxzZSBpZih0eXBlb2YgYT09InN0cmluZyIpe2NvbnN0IHQ9YS5yZXBsYWNlKC9eIy8sIiIpLGw9W2Ake3RbMF19JHt0WzFdfWAsYCR7dFsyXX0ke3RbM119YCxgJHt0WzRdfSR7dFs1XX1gXS5tYXAoZz0+cGFyc2VJbnQoZywxNikpO3M9bFswXTw8MTZ8bFsxXTw8OHxsWzJdfWVsc2UgaWYoQXJyYXkuaXNBcnJheShhKSlzPWFbMF08PDE2fGFbMV08PDh8YVsyXTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIlVuc3VwcG9ydGVkIGNvbG9yIGZvcm1hdCIpO2NvbnN0IGY9ZShzKTtpZihmPT09dm9pZCAwKXJldHVybjtjb25zdCBvPWlbZl07aWYoIW8pcmV0dXJuO2NvbnN0e3NyZ2I6bn09bztpZih0eXBlb2YgYT09InN0cmluZyIpe2NvbnN0IHQ9KG4+PjE2JjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSxsPShuPj44JjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSxnPShuJjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKTtyZXR1cm57dmFsdWU6YCMke3R9JHtsfSR7Z31gLGluZGV4OmZ9fWVsc2UgaWYodHlwZW9mIGE9PSJvYmplY3QiJiZBcnJheS5pc0FycmF5KGEpKXJldHVybnt2YWx1ZTpbbj4+MTYmMjU1LG4+PjgmMjU1LG4mMjU1XSxpbmRleDpmfTtyZXR1cm57dmFsdWU6bixpbmRleDpmfX1mdW5jdGlvbiBrZShyKXtyLmNvbG9yU2FtcGxlcz1bXSxyLmNvbG9yU2FtcGxlc0NhY2hlLmNsZWFyKCksci5jb2xvckJveGVzPVtdLHIuY29sb3JCb3hlc0luZGV4VHJlZT1bXSxyLmZpbmRlckNhY2hlLmNsZWFyKCl9ZnVuY3Rpb24gVGUocil7Y29uc3QgZT1iZShyKSx7c3RhdHNNb2RlOmEsc2FtcGxlczppLHNraXBUcmFuc3BhcmVudDpzfT1lLGY9ZnVuY3Rpb24oKXtsZXQgbDtyZXR1cm4oKT0+KCFsJiZfJiYobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIse3dpbGxSZWFkRnJlcXVlbnRseTohMH0pKSxsKX0oKTtsZXQgbz1udWxsLG49bnVsbDtjb25zdCB0PXtjb250ZXh0OmUsYWRkU2FtcGxlOmw9PntlLmNvbG9yU2FtcGxlcy5sZW5ndGg9PT0wJiYobz1udWxsKTtjb25zdCBnPVYoZSxsLHtnZXRDb250ZXh0MmQ6ZixwcmV2aW91c1NhbXBsZTpvLHNraXBUcmFuc3BhcmVudDpzfSk7cmV0dXJuKGcgaW5zdGFuY2VvZiBQcm9taXNlP2c6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+ZykpLnRoZW4oYz0+e2MmJmE9PT0iZGlmZiImJihvPWMpfSksZ30sZ2VuZXJhdGUobD17fSl7Y29uc3R7Y2xlYXJTYW1wbGVzOmc9ITB9PWw7cmV0dXJuIGcmJihvPW51bGwpLHllKGUsbCksdGhpc30sZ2V0Q29sb3JzOmw9PlNlKGUsbCksZmluZE5lYXJlc3RDb2xvcjpsPT4obnx8KG49ZWUoZSkpLEllKGUsbixsKSkscmVzZXQ6KCk9PmtlKGUpfTtyZXR1cm4gaS5sZW5ndGgmJihpLmZvckVhY2gobD0+dC5hZGRTYW1wbGUobCkpLGUuc2FtcGxlcz1bXSksdH1jb25zdCBBZT0iW21vZGVybi1naWZdIixFZT0iR0lGIixCZT1bIjg3YSIsIjg5YSJdLHJlPTQ0LG9lPTMzLF9lPTI1NSx2ZT0xMSxNZT0yNTQsYWU9MjQ5LHNlPTQsTmU9MSxVZT0xLE9lPTU5LGxlPSguLi5yKT0+Y29uc29sZS53YXJuKEFlLC4uLnIpO2Z1bmN0aW9uIFBlKHIpe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkoci5yZWR1Y2UoKGEsaSk9PmEraS5ieXRlTGVuZ3RoLDApKTtyZXR1cm4gci5yZWR1Y2UoKGEsaSk9PihlLnNldChpLGEpLGEraS5ieXRlTGVuZ3RoKSwwKSxlfWZ1bmN0aW9uIGllKHIsZSxhKXtsZXQgaTtpZihBcnJheUJ1ZmZlci5pc1ZpZXcocikpaT1yLmJ1ZmZlcjtlbHNlIGlmKHIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilpPXI7ZWxzZXtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHt3aWR0aDpmLGhlaWdodDpvfT1hfHx7fSxuPXMuZ2V0Q29udGV4dCgiMmQiKTtpZighbil0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgY2FudmFzIGNvbnRleHQyZCIpO3Mud2lkdGg9ZiE9bnVsbD9mOnR5cGVvZiByLndpZHRoPT0ibnVtYmVyIj9yLndpZHRoOnIud2lkdGguYmFzZVZhbC52YWx1ZSxzLmhlaWdodD1vIT1udWxsP286dHlwZW9mIHIuaGVpZ2h0PT0ibnVtYmVyIj9yLmhlaWdodDpyLmhlaWdodC5iYXNlVmFsLnZhbHVlLG4uZHJhd0ltYWdlKHIsMCwwLHMud2lkdGgscy5oZWlnaHQpLGk9bi5nZXRJbWFnZURhdGEoMCwwLHMud2lkdGgscy5oZWlnaHQpLmRhdGEuYnVmZmVyfXN3aXRjaChlKXtjYXNlInVpbnQ4QXJyYXkiOnJldHVybiBuZXcgVWludDhBcnJheShpKTtjYXNlInVpbnQ4Q2xhbXBlZEFycmF5IjpyZXR1cm4gbmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGkpO2Nhc2UiZGF0YVZpZXciOnJldHVybiBuZXcgRGF0YVZpZXcoaSk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQiKX19ZnVuY3Rpb24gRGUocixlKXt2YXIgYjtjb25zdHt0b3A6YT0wLGxlZnQ6aT0wLHdpZHRoOnMsaGVpZ2h0OmYscmF3V2lkdGg6byxyYXRlOm49NCxjYWxsYmFjazp0fT1lLGw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHMqZipuKSxnPWkqbixjPWEqbixoPXMqbixwPW8qbjtmb3IobGV0IGQ9MDtkPGY7ZCsrKWZvcihsZXQgdT0wO3U8aDt1Kyspe2NvbnN0IEM9KGMrZCkqcCsoZyt1KTtsW2QqaCt1XT0oYj10PT1udWxsP3ZvaWQgMDp0KEMpKSE9bnVsbD9iOnJbQ119cmV0dXJuIGx9ZnVuY3Rpb24gJGUocil7Y29uc3QgZT1pZShyLCJkYXRhVmlldyIpO2xldCBhPTA7Y29uc3QgaT0oKT0+ZS5nZXRVaW50OChhKyspLHM9Zj0+QXJyYXkuZnJvbSh7bGVuZ3RoOmZ9KS5tYXAoaSk7cmV0dXJue2dldEN1cnNvcjooKT0+YSxzZXRDdXJzb3I6Zj0+YT1mLHJlYWRCeXRlOmkscmVhZEJ5dGVzOnMscmVhZFN0cmluZzpmPT5TdHJpbmcuZnJvbUNoYXJDb2RlKC4uLnMoZikpLHJlYWRVbnNpZ25lZDooKT0+W2UuZ2V0VWludDE2KGEsITApLGErPTJdWzBdLHJlYWRCaXRzOigpPT5lLmdldFVpbnQ4KGErKykudG9TdHJpbmcoMikucGFkU3RhcnQoOCwiMCIpLnNwbGl0KCIiKS5tYXAoTnVtYmVyKSxyZWFkQ29sb3JUYWJsZTpmPT5BcnJheS5mcm9tKHtsZW5ndGg6Zn0sKCk9PkFycmF5LmZyb20ocygzKSkpLHJlYWRTdWJCbG9jazooKT0+e2NvbnN0IGY9W107Zm9yKDs7KXtjb25zdCBvPWkoKTtpZihvPT09MCYmZS5nZXRVaW50OChhKSE9PTApYnJlYWs7Zi5wdXNoKG8pfXJldHVybiBmfX19ZnVuY3Rpb24gWGUocil7Y29uc3QgZT17fSx7Z2V0Q3Vyc29yOmEsc2V0Q3Vyc29yOmkscmVhZEJ5dGU6cyxyZWFkU3RyaW5nOmYscmVhZFVuc2lnbmVkOm8scmVhZEJpdHM6bixyZWFkQ29sb3JUYWJsZTp0LHJlYWRTdWJCbG9jazpsfT0kZShyKSxnPSgpPT4oe2luZGV4OjAsZGVsYXk6MTAwLGRpc3Bvc2FsOjB9KSxjPWYoMyksaD1mKDMpO2lmKGMhPT1FZXx8IUJlLmluY2x1ZGVzKGgpKXRocm93IG5ldyBFcnJvcigiVGhpcyBpcyBub3QgYSA4N2EvODlhIEdJRiBkYXRhLiIpO2UudmVyc2lvbj1oLGUud2lkdGg9bygpLGUuaGVpZ2h0PW8oKTtjb25zdCBwPW4oKTtlLmdsb2JhbENvbG9yVGFibGU9ISFwWzBdLGUuY29sb3JSZXNvbHVUaW9uPXBhcnNlSW50KHAuc2xpY2UoMSw0KS5qb2luKCIiKSwyKSsxLGUuY29sb3JUYWJsZVNvcnRlZD0hIXBbNF07Y29uc3QgYj1wYXJzZUludChwLnNsaWNlKDUsOCkuam9pbigiIiksMik7ZS5jb2xvclRhYmxlU2l6ZT1NYXRoLnBvdygyLGIrMSksZS5iYWNrZ3JvdW5kQ29sb3JJbmRleD1zKCksZS5waXhlbEFzcGVjdFJhdGlvPXMoKSxlLmdsb2JhbENvbG9yVGFibGUmJihlLmNvbG9yVGFibGVTaXplP2UuY29sb3JUYWJsZT10KGUuY29sb3JUYWJsZVNpemUpOmwoKSksZS5mcmFtZXM9W107bGV0IGQ9ZygpO2NvbnN0IHU9W10sQz1bXTtmb3IoOzspe2NvbnN0IHk9cygpO2lmKHUucHVzaCh5KSx5PT09cmUpe2QubGVmdD1vKCksZC50b3A9bygpLGQud2lkdGg9bygpLGQuaGVpZ2h0PW8oKTtjb25zdCBTPW4oKTtkLmxvY2FsQ29sb3JUYWJsZT0hIVNbMF0sZC5pbnRlcmxhY2VkPSEhU1sxXSxkLmNvbG9yVGFibGVTb3J0ZWQ9ISFTWzJdLGQucmVzZXJ2ZWQ9cGFyc2VJbnQoUy5zbGljZSgzLDUpLmpvaW4oIiIpLDIpO2NvbnN0IHc9cGFyc2VJbnQoUy5zbGljZSg1LDgpLmpvaW4oIiIpLDIpO2ZvcihkLmNvbG9yVGFibGVTaXplPU1hdGgucG93KDIsdysxKSxkLmxvY2FsQ29sb3JUYWJsZSYmKGQuY29sb3JUYWJsZT10KGQuY29sb3JUYWJsZVNpemUpKSxkLmx6d01pbkNvZGVTaXplPXMoKSxkLmltYWdlRGF0YVBvc2l0aW9ucz1bXTs7KXtjb25zdCBtPXMoKTtpZihtPT09MClicmVhaztjb25zdCBJPWEoKTtkLmltYWdlRGF0YVBvc2l0aW9ucy5wdXNoKFtJLG1dKSxpKEkrbSl9ZS5mcmFtZXMucHVzaChkKSxkPWcoKSxkLmluZGV4PWUuZnJhbWVzLmxlbmd0aDtjb250aW51ZX1pZih5PT09b2Upe2NvbnN0IFM9cygpO2lmKEMucHVzaChTKSxTPT09X2Upe2lmKHMoKSE9PXZlKWNvbnRpbnVlO2NvbnN0IHc9e2lkZW50aWZpZXI6Zig4KSxjb2RlOmYoMyksZGF0YTpbXX07YCR7dy5pZGVudGlmaWVyfSR7dy5jb2RlfWA9PSJORVRTQ0FQRTIuMCImJnMoKT09PTMmJihlLmxvb3BlZD0hIXMoKSxlLmxvb3BDb3VudD1vKCkpLHcuZGF0YT1sKCksZC5hcHBsaWNhdGlvbj13O2NvbnRpbnVlfWlmKFM9PT1NZSl7ZC5jb21tZW50PWwoKS5tYXAodz0+U3RyaW5nLmZyb21DaGFyQ29kZSh3KSkuam9pbigiIik7Y29udGludWV9aWYoUz09PWFlKXtpZihzKCkhPT1zZSljb250aW51ZTtjb25zdCB3PW4oKSxtPXtyZXNlcnZlZDpwYXJzZUludCh3LnNsaWNlKDAsMykuam9pbigiIiksMiksZGlzcG9zYWw6cGFyc2VJbnQody5zbGljZSgzLDYpLmpvaW4oIiIpLDIpLHVzZXJJbnB1dDohIXdbNl0sdHJhbnNwYXJlbnQ6ISF3WzddLGRlbGF5VGltZTpvKCksdHJhbnNwYXJlbnRJbmRleDpzKCl9O2woKSxkLmdyYXBoaWNDb250cm9sPW0sZC5kaXNwb3NhbD1tLmRpc3Bvc2FsLGQuZGVsYXk9KG0uZGVsYXlUaW1lfHwxMCkqMTA7Y29udGludWV9aWYoUz09PU5lKXtpZihzKCkhPT1VZSljb250aW51ZTtkLnBsYWluVGV4dD17bGVmdDpvKCksdG9wOm8oKSx3aWR0aDpvKCksaGVpZ2h0Om8oKSxjZWxsV2lkdGg6cygpLGNlbGxIZWlnaHQ6cygpLGNvbG9ySW5kZXg6cygpLGJhY2tncm91bmRDb2xvckluZGV4OnMoKSxkYXRhOmwoKX07Y29udGludWV9bGUoYFVua25vd24gZXh0ZW5zaW9uIGJsb2NrOiAweCR7Uy50b1N0cmluZygxNil9YCx1LnNsaWNlKDAsdS5sZW5ndGgtMSkubWFwKHc9PmAweCR7dy50b1N0cmluZygxNil9YCksQy5zbGljZSgwLEMubGVuZ3RoLTEpLm1hcCh3PT5gMHgke3cudG9TdHJpbmcoMTYpfWApKTtjb250aW51ZX1pZih5PT09T2UpYnJlYWs7bGUoYFVua25vd24gYmxvY2s6IDB4JHt5LnRvU3RyaW5nKDE2KX1gLHUuc2xpY2UoMCx1Lmxlbmd0aC0xKS5tYXAoUz0+YDB4JHtTLnRvU3RyaW5nKDE2KX1gKSxDLnNsaWNlKDAsQy5sZW5ndGgtMSkubWFwKFM9PmAweCR7Uy50b1N0cmluZygxNil9YCkpfXJldHVybiBlfWZ1bmN0aW9uIFJlKHIsZSxhKXtjb25zdCBmPWE7bGV0IG8sbix0LGwsZyxjLGg7Y29uc3QgcD1uZXcgQXJyYXkoYSksYj1uZXcgQXJyYXkoNDA5NiksZD1uZXcgQXJyYXkoNDA5NiksdT1uZXcgQXJyYXkoNDA5NisxKSxDPXIseT0xPDxDLFM9eSsxO2ZvcihvPXkrMixnPS0xLHQ9QysxLG49KDE8PHQpLTEsYz0wO2M8eTtjKyspYltjXT0wLGRbY109YztsZXQgdyxtLEksVCxBLFA7Zm9yKHc9bT1JPVQ9QT1QPTAsaD0wO2g8Zjspe2lmKFQ9PT0wKXtpZihtPHQpe3crPWVbUF08PG0sbSs9OCxQKys7Y29udGludWV9aWYoYz13Jm4sdz4+PXQsbS09dCxjPm98fGM9PT1TKWJyZWFrO2lmKGM9PT15KXt0PUMrMSxuPSgxPDx0KS0xLG89eSsyLGc9LTE7Y29udGludWV9aWYoZz09PS0xKXt1W1QrK109ZFtjXSxnPWMsST1jO2NvbnRpbnVlfWZvcihsPWMsYz09PW8mJih1W1QrK109SSxjPWcpO2M+eTspdVtUKytdPWRbY10sYz1iW2NdO0k9ZFtjXSYyNTUsdVtUKytdPUksbzw0MDk2JiYoYltvXT1nLGRbb109SSxvKyssIShvJm4pJiZvPDQwOTYmJih0Kyssbis9bykpLGc9bH1ULS0scFtBKytdPXVbVF0saCsrfWZvcihoPUE7aDxmO2grKylwW2hdPTA7cmV0dXJuIHB9ZnVuY3Rpb24gTGUocixlKXtjb25zdCBhPW5ldyBBcnJheShyLmxlbmd0aCksaT1yLmxlbmd0aC9lLHM9WzAsNCwyLDFdLGY9WzgsOCw0LDJdO2xldCBvPTA7Zm9yKGxldCBuPTA7bjw0O24rKylmb3IobGV0IHQ9c1tuXTt0PGk7dCs9ZltuXSlhLnNwbGljZS5hcHBseShhLFt0KmUsZV0uY29uY2F0KHIuc2xpY2UobyplLChvKzEpKmUpKSksbysrO3JldHVybiBhfWZ1bmN0aW9uIHplKHIpe2NvbnN0IGU9bmV3IE1hcCx7d29ya2VyVXJsOmF9PXI7bGV0e3dvcmtlck51bWJlcjppPTF9PXI7Y29uc3Qgcz1bLi4ubmV3IEFycmF5KGE/aTowKV0ubWFwKCgpPT57dHJ5e2NvbnN0IHQ9bmV3IFdvcmtlcihhKTtyZXR1cm4gdC5vbm1lc3NhZ2U9Zix0fWNhdGNoKHQpe3JldHVybiBudWxsfX0pLmZpbHRlcihCb29sZWFuKTtpPXMubGVuZ3RoO2Z1bmN0aW9uIGYodCl7dmFyIGM7Y29uc3R7aWQ6bCxkYXRhOmd9PXQuZGF0YTsoYz1lLmdldChsKSk9PW51bGx8fGMoZyksZS5kZWxldGUobCl9Y29uc3Qgbz1mdW5jdGlvbigpe2xldCB0PTA7cmV0dXJuIGw9PnNbKGwhPW51bGw/bDp0KyspJWldfSgpO3JldHVybntjYWxsOmZ1bmN0aW9uKCl7bGV0IHQ9MDtyZXR1cm4obCxnLGMsaCk9Pm5ldyBQcm9taXNlKHA9Pntjb25zdCBiPW8oaCk7aWYoIWIpcmV0dXJuIHAodm9pZCAwKTtlLnNldCh0LHApLGIucG9zdE1lc3NhZ2Uoe2lkOnQrKyx0eXBlOmwsZGF0YTpnfSx7dHJhbnNmZXI6Y30pfSl9KCl9fWZ1bmN0aW9uIEZlKHIsZSl7Y29uc3QgYT1pZShyLCJ1aW50OEFycmF5Iik7aWYoZSE9bnVsbCYmZS53b3JrZXJVcmwpcmV0dXJuIHplKHt3b3JrZXJVcmw6ZS53b3JrZXJVcmx9KS5jYWxsKCJmcmFtZXM6ZGVjb2RlIixhLFthLmJ1ZmZlcl0pO2NvbnN0e2dpZjppPVhlKHIpLHJhbmdlOnN9PWUhPW51bGw/ZTp7fSx7d2lkdGg6ZixoZWlnaHQ6byxjb2xvclRhYmxlOm4sZnJhbWVzOnR9PWksbD1zP3Quc2xpY2Uoc1swXSxzWzFdKzEpOnQsZz1sLnNvbWUoYj0+Yi5kaXNwb3NhbD09PTMpO2xldCBjPW5ldyBVaW50OENsYW1wZWRBcnJheShmKm8qNCksaCxwPWMuc2xpY2UoKTtyZXR1cm4gbC5tYXAoYj0+e3ZhciBmZTtjb25zdHtsZWZ0OmQsdG9wOnUsd2lkdGg6QyxoZWlnaHQ6eSxpbnRlcmxhY2VkOlMsbG9jYWxDb2xvclRhYmxlOncsY29sb3JUYWJsZTptLGx6d01pbkNvZGVTaXplOkksaW1hZ2VEYXRhUG9zaXRpb25zOlQsZ3JhcGhpY0NvbnRyb2w6QSxkZWxheTpQLGRpc3Bvc2FsOmp9PWIsR2U9dSt5LHt0cmFuc3BhcmVudDpIZSx0cmFuc3BhcmVudEluZGV4OnFlfT1BIT1udWxsP0E6e30sWj13P206bixjZT1IZT9xZTotMSxZZT1QZShULm1hcCgoW0UsRF0pPT5hLnN1YmFycmF5KEUsRStEKSkpO2xldCBYPVJlKEksWWUsQyp5KTtpZihTJiYoWD1MZShYLEMpKSxqPT09MylwJiYoYz1wPT1udWxsP3ZvaWQgMDpwLnNsaWNlKCkpO2Vsc2V7Y29uc3QgRT1oPT1udWxsP3ZvaWQgMDpoLmRpc3Bvc2FsO2lmKEU9PT0wfHxFPT09Mil7Y29uc3R7bGVmdDpELHRvcDokLHdpZHRoOk0saGVpZ2h0OlJ9PWgsRz0kK1I7Zm9yKGxldCBVPSQ7VTxHO1UrKyl7Y29uc3QgSD1VKmYrRCxPPShVLSQpKk07Zm9yKGxldCBMPTA7TDxNO0wrKyl7Y29uc3QgSmU9WFtPK0xdO2lmKEU9PT0yfHxKZSE9PWNlKXtjb25zdCB6PShIK0wpKjQ7Y1t6XT1jW3orMV09Y1t6KzJdPWNbeiszXT0wfX19fX1mb3IobGV0IEU9dTtFPEdlO0UrKyl7Y29uc3QgRD1FKmYrZCwkPShFLXUpKkM7Zm9yKGxldCBNPTA7TTxDO00rKyl7Y29uc3QgUj1YWyQrTV07aWYoUiE9PWNlKXtjb25zdFtHLFUsSF09KGZlPVo9PW51bGw/dm9pZCAwOlpbUl0pIT1udWxsP2ZlOlswLDAsMF0sTz0oRCtNKSo0O2NbT109RyxjW08rMV09VSxjW08rMl09SCxjW08rM109MjU1fX19cmV0dXJuIGcmJihqPT09MHx8aj09PTEpJiYocD1jLnNsaWNlKCkpLGg9Yix7d2lkdGg6ZixoZWlnaHQ6byxkZWxheTpQLGltYWdlRGF0YTpjLnNsaWNlKCl9fSl9ZnVuY3Rpb24gV2UocixlLGEpe2NvbnN0e3dyaXRlQnl0ZTppLGdldEN1cnNvcjpzLGNhbGN1bGF0ZURpc3RhbmNlOmZ9PWE7aShyKTtsZXQgbz1zKCk7aSgwKTtjb25zdCBuPTE8PHIsdD1uLTEsbD1uKzE7bGV0IGc9bCsxLGM9cisxLGg9MCxwPTA7ZnVuY3Rpb24gYihtKXtmb3IoO2g+PW07KWkocCYyNTUpLHA+Pj04LGgtPTgsZihvKT09PTI1NiYmKGkoMjU1LG8pLG89cygpLGkoMCkpfWZ1bmN0aW9uIGQobSl7cHw9bTw8aCxoKz1jLGIoOCl9bGV0IHU9ZVswXSZ0LEM9e30seSxTLHc7ZChuKTtmb3IobGV0IG09ZS5sZW5ndGgsST0xO0k8bTsrK0kpaWYodz1lW0ldJnQseT11PDw4fHcsUz1DW3ldLFM9PT12b2lkIDApe2ZvcihwfD11PDxoLGgrPWM7aD49ODspaShwJjI1NSkscD4+PTgsaC09OCxmKG8pPT09MjU2JiYoaSgyNTUsbyksbz1zKCksaSgwKSk7Zz09PTQwOTY/KGQobiksZz1sKzEsYz1yKzEsQz17fSk6KGc+PTE8PGMmJisrYyxDW3ldPWcrKyksdT13fWVsc2UgdT1TO2QodSksZChsKSxiKDEpLGYobyk9PT0xP2koMCxvKTooaShmKG8pLTEsbyksaSgwKSl9ZnVuY3Rpb24gS2Uocj17fSl7Y29uc3R7Y2h1bmtTaXplOmU9NDA5Nn09cjtsZXQgYT1bbmV3IFVpbnQ4QXJyYXkoZSldLGk9MCxzPTA7Y29uc3QgZj0obix0KT0+e3Q/YVt0WzBdXVt0WzFdXT1uOihzPj1lJiYoYVsrK2ldPW5ldyBVaW50OEFycmF5KGUpLHM9MCksYVtpXVtzKytdPW4pfSxvPW49Pm4uZm9yRWFjaCh0PT5mKHQpKTtyZXR1cm57Z2V0Q3Vyc29yOigpPT5baSxzXSxzZXRDdXJzb3I6bj0+e2k9blswXSxzPW5bMV19LGNhbGN1bGF0ZURpc3RhbmNlOm49PmkqZStzLShuWzBdKmUrblsxXSksd3JpdGVCeXRlOmYsd3JpdGVCeXRlczpvLHdyaXRlU3RyaW5nOm49Pm4uc3BsaXQoIiIpLmZvckVhY2goKHQsbCk9PmYobi5jaGFyQ29kZUF0KGwpKSksd3JpdGVVbnNpZ25lZDpuPT5vKFtuJjI1NSxuPj44JjI1NV0pLGZsdXNoOigpPT57YVtpXT1hW2ldLnNsaWNlKDAscyk7Y29uc3Qgbj1uZXcgVWludDhBcnJheShhLnJlZHVjZSgobCxnKT0+bCtnLmJ5dGVMZW5ndGgsMCkpO2xldCB0PTA7cmV0dXJuIGEuZm9yRWFjaChsPT57bi5zZXQobCx0KSx0Kz1sLmJ5dGVMZW5ndGh9KSxhPVtuZXcgVWludDhBcnJheShlKV0saT0wLHM9MCxufX19ZnVuY3Rpb24gVmUocil7dmFyIEMseSxTO2NvbnN0IGU9S2UoKSx7d3JpdGVCeXRlOmEsd3JpdGVCeXRlczppLHdyaXRlVW5zaWduZWQ6cyxmbHVzaDpmfT1lLHtsZWZ0Om89MCx0b3A6bj0wLHdpZHRoOnQ9MCxoZWlnaHQ6bD0wLGRlbGF5Omc9MTAwLGNvbG9yVGFibGU6Y309cjtsZXR7ZGlzcG9zYWw6aD0wfT1yO2NvbnN0IHA9KEM9ci5ncmFwaGljQ29udHJvbCk9PW51bGw/dm9pZCAwOkMudHJhbnNwYXJlbnQ7bGV0IGI9KFM9KHk9ci5ncmFwaGljQ29udHJvbCk9PW51bGw/dm9pZCAwOnkudHJhbnNwYXJlbnRJbmRleCkhPW51bGw/UzoyNTU7aWYobzwwfHxvPjY1NTM1KXRocm93IG5ldyBFcnJvcigiTGVmdCBpbnZhbGlkLiIpO2lmKG48MHx8bj42NTUzNSl0aHJvdyBuZXcgRXJyb3IoIlRvcCBpbnZhbGlkLiIpO2lmKHQ8PTB8fHQ+NjU1MzUpdGhyb3cgbmV3IEVycm9yKCJXaWR0aCBpbnZhbGlkLiIpO2lmKGw8PTB8fGw+NjU1MzUpdGhyb3cgbmV3IEVycm9yKCJIZWlnaHQgaW52YWxpZC4iKTtsZXQgZD04LHU9Yz9jLmxlbmd0aDowO2lmKHUpe2lmKHU8Mnx8dT4yNTZ8fHUmdS0xKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBjb2xvciB0YWJsZSBsZW5ndGgsIG11c3QgYmUgcG93ZXIgb2YgMiBhbmQgMiAuLiAyNTYuIik7Zm9yKDt1Pj49MTspKytkfXJldHVybiBhKG9lKSxhKGFlKSxhKHNlKSxwP2h8fChoPTIpOmI9MCxhKHBhcnNlSW50KGAwMDAke051bWJlcihoJjcpLnRvU3RyaW5nKDIpLnBhZFN0YXJ0KDMsIjAiKX0wJHtwPzE6MH1gLDIpKSxzKGcvMTApLGEoYiksYSgwKSxhKHJlKSxzKG8pLHMobikscyh0KSxzKGwpLGMhPW51bGwmJmMubGVuZ3RoPyhhKHBhcnNlSW50KGAxMDAwMCR7KGQtMSkudG9TdHJpbmcoMikucGFkU3RhcnQoMywiMCIpfWAsMikpLGkoYy5mbGF0KCkpKTphKDApLFdlKGQsci5pbWFnZURhdGEsZSksZigpfWZ1bmN0aW9uIGplKHIpe2NvbnN0e2ZyYW1lczplLHBhbGV0dGU6YSx0cmFuc3BhcmVudEluZGV4Oml9PXIscz1lZShhKTtyZXR1cm4gZS5tYXAoKHtpbWFnZURhdGE6Zn0pPT57bGV0IG89ITE7Y29uc3Qgbj1uZXcgVWludDhDbGFtcGVkQXJyYXkoZi5sZW5ndGgvNCk7Zm9yKGxldCB0PWYubGVuZ3RoLGw9MDtsPHQ7bCs9NClmW2wrM109PT0wPyhuW2wvNF09aSxvPSEwKTpuW2wvNF09cyhmW2xdPDwxNnxmW2wrMV08PDh8ZltsKzJdKTtyZXR1cm57aW1hZ2VEYXRhOm4sdHJhbnNwYXJlbnQ6b319KX1mdW5jdGlvbiBaZShyKXtjb25zdHtmcmFtZXM6ZSx0cmFuc3BhcmVudEluZGV4OmF9PXI7bGV0IGk7cmV0dXJuIGUubWFwKChzLGYpPT57dmFyIHksUztjb25zdHt3aWR0aDpvLGhlaWdodDpuLGltYWdlRGF0YTp0fT1zLGw9cy50cmFuc3BhcmVudHx8KChTPSh5PWVbZisxXSk9PW51bGw/dm9pZCAwOnkudHJhbnNwYXJlbnQpIT1udWxsP1M6ITApO2xldCBnPTAsYz0wLGg9by0xLHA9bi0xLGI7aWYobCl7Zm9yKDtjPHA7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKWlmKHRbbypjK21dIT09YSl7dz0hMTticmVha31pZighdylicmVhaztjKyt9Zm9yKDtwPmM7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKWlmKHRbbypwK21dIT09YSl7dz0hMTticmVha31pZighdylicmVhaztwLS19Zm9yKDtnPGg7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPHA7bSsrKWlmKHRbbyptK2ddIT09YSl7dz0hMTticmVha31pZighdylicmVhaztnKyt9Zm9yKDtoPmc7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPHA7bSsrKWlmKHRbbyptK2hdIT09YSl7dz0hMTticmVha31pZighdylicmVhaztoLS19fWVsc2V7aWYoaSl7Zm9yKDtjPHA7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKXtjb25zdCBJPW8qYyttO2lmKHRbSV0hPT1pW0ldKXt3PSExO2JyZWFrfX1pZighdylicmVhaztjKyt9Zm9yKDtwPmM7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKXtjb25zdCBJPW8qcCttO2lmKHRbSV0hPT1pW0ldKXt3PSExO2JyZWFrfX1pZighdylicmVhaztwLS19aWYoYz09PXApZz1oO2Vsc2V7Zm9yKDtnPGg7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPD1wO20rKyl7Y29uc3QgST1tKm8rZztpZih0W0ldIT09aVtJXSl7dz0hMTticmVha319aWYoIXcpYnJlYWs7ZysrfWZvcig7aD5nOyl7bGV0IHc9ITA7Zm9yKGxldCBtPWM7bTw9cDttKyspe2NvbnN0IEk9bSpvK2g7aWYodFtJXSE9PWlbSV0pe3c9ITE7YnJlYWt9fWlmKCF3KWJyZWFrO2gtLX19fWI9aSxpPXR9Y29uc3QgZD1oKzEtZyx1PXArMS1jLEM9RGUodCx7bGVmdDpnLHRvcDpjLHdpZHRoOmQsaGVpZ2h0OnUscmF3V2lkdGg6byxyYXRlOjEsY2FsbGJhY2s6dz0+e2lmKCFsJiZiJiZ0W3ddPT09Ylt3XSlyZXR1cm4gYX19KTtyZXR1cm57bGVmdDpnLHRvcDpjLHdpZHRoOmQsaGVpZ2h0OnUsZGlzcG9zYWw6bD8yOjEsaW1hZ2VEYXRhOkN9fSl9Y29uc3QgTj1UZSh7c2tpcFRyYW5zcGFyZW50OiExfSk7c2VsZi5vbm1lc3NhZ2U9cj0+e2NvbnN0e2lkOmUsdHlwZTphLGRhdGE6aX09ci5kYXRhO2lmKGE9PT0icGFsZXR0ZTphZGRTYW1wbGUiJiZOKXJldHVybiBOLmFkZFNhbXBsZShpKSxzZWxmLnBvc3RNZXNzYWdlKHtpZDplLHR5cGU6YSxkYXRhOiEwfSk7aWYoYT09PSJwYWxldHRlOmdlbmVyYXRlIiYmTil7Ti5nZW5lcmF0ZShpKTtjb25zdCBzPXEoe30sTi5jb250ZXh0KTtyZXR1cm4gTi5yZXNldCgpLHNlbGYucG9zdE1lc3NhZ2Uoe2lkOmUsdHlwZTphLGRhdGE6c30pfWlmKGE9PT0iZnJhbWVzOmluZGV4Iil7Y29uc3Qgcz1qZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX1pZihhPT09ImZyYW1lczpjcm9wIil7Y29uc3Qgcz1aZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX1pZihhPT09ImZyYW1lOmVuY29kZSIpe2NvbnN0IHM9VmUoaSk7cmV0dXJuIHNlbGYucG9zdE1lc3NhZ2Uoe2lkOmUsdHlwZTphLGRhdGE6c30sW3MuYnVmZmVyXSl9aWYoYT09PSJmcmFtZXM6ZGVjb2RlIil7Y29uc3Qgcz1GZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX19fSkoKTsK", Pt = (e) => Ee(void 0, null, function* () {
|
|
3018
|
+
const Jr = "data:application/javascript;base64,dmFyIFFlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgZGU9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sczt2YXIgZXQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSx0dD1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlO3ZhciBCPU1hdGgucG93LHVlPShfLHgsayk9PnggaW4gXz9RZShfLHgse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KTpfW3hdPWsscT0oXyx4KT0+e2Zvcih2YXIgayBpbiB4fHwoeD17fSkpZXQuY2FsbCh4LGspJiZ1ZShfLGsseFtrXSk7aWYoZGUpZm9yKHZhciBrIG9mIGRlKHgpKXR0LmNhbGwoeCxrKSYmdWUoXyxrLHhba10pO3JldHVybiBffTsoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y29uc3QgXz10eXBlb2Ygd2luZG93PCJ1Iix4PTY1NTM2LTEsaz14KngsaGU9NTEyLTEsRj1bMCwyMCw0MCw2MCw4MCw5OSwxMTksMTM5LDE1OSwxNzksMTk5LDIxOSwyNDEsMjY0LDI4OCwzMTMsMzQwLDM2NywzOTYsNDI3LDQ1OCw0OTEsNTI2LDU2Miw1OTksNjM3LDY3Nyw3MTgsNzYxLDgwNSw4NTEsODk4LDk0Nyw5OTcsMTA0OCwxMTAxLDExNTYsMTIxMiwxMjcwLDEzMzAsMTM5MSwxNDUzLDE1MTcsMTU4MywxNjUxLDE3MjAsMTc5MCwxODYzLDE5MzcsMjAxMywyMDkwLDIxNzAsMjI1MCwyMzMzLDI0MTgsMjUwNCwyNTkyLDI2ODEsMjc3MywyODY2LDI5NjEsMzA1OCwzMTU3LDMyNTgsMzM2MCwzNDY0LDM1NzAsMzY3OCwzNzg4LDM5MDAsNDAxNCw0MTI5LDQyNDcsNDM2Niw0NDg4LDQ2MTEsNDczNiw0ODY0LDQ5OTMsNTEyNCw1MjU3LDUzOTIsNTUzMCw1NjY5LDU4MTAsNTk1Myw2MDk5LDYyNDYsNjM5NSw2NTQ3LDY3MDAsNjg1Niw3MDE0LDcxNzQsNzMzNSw3NTAwLDc2NjYsNzgzNCw4MDA0LDgxNzcsODM1Miw4NTI4LDg3MDgsODg4OSw5MDcyLDkyNTgsOTQ0NSw5NjM1LDk4MjgsMTAwMjIsMTAyMTksMTA0MTcsMTA2MTksMTA4MjIsMTEwMjgsMTEyMzUsMTE0NDYsMTE2NTgsMTE4NzMsMTIwOTAsMTIzMDksMTI1MzAsMTI3NTQsMTI5ODAsMTMyMDksMTM0NDAsMTM2NzMsMTM5MDksMTQxNDYsMTQzODcsMTQ2MjksMTQ4NzQsMTUxMjIsMTUzNzEsMTU2MjMsMTU4NzgsMTYxMzUsMTYzOTQsMTY2NTYsMTY5MjAsMTcxODcsMTc0NTYsMTc3MjcsMTgwMDEsMTgyNzcsMTg1NTYsMTg4MzcsMTkxMjEsMTk0MDcsMTk2OTYsMTk5ODcsMjAyODEsMjA1NzcsMjA4NzYsMjExNzcsMjE0ODEsMjE3ODcsMjIwOTYsMjI0MDcsMjI3MjEsMjMwMzgsMjMzNTcsMjM2NzgsMjQwMDIsMjQzMjksMjQ2NTgsMjQ5OTAsMjUzMjUsMjU2NjIsMjYwMDEsMjYzNDQsMjY2ODgsMjcwMzYsMjczODYsMjc3MzksMjgwOTQsMjg0NTIsMjg4MTMsMjkxNzYsMjk1NDIsMjk5MTEsMzAyODIsMzA2NTYsMzEwMzMsMzE0MTIsMzE3OTQsMzIxNzksMzI1NjcsMzI5NTcsMzMzNTAsMzM3NDUsMzQxNDMsMzQ1NDQsMzQ5NDgsMzUzNTUsMzU3NjQsMzYxNzYsMzY1OTEsMzcwMDgsMzc0MjksMzc4NTIsMzgyNzgsMzg3MDYsMzkxMzgsMzk1NzIsNDAwMDksNDA0NDksNDA4OTEsNDEzMzcsNDE3ODUsNDIyMzYsNDI2OTAsNDMxNDcsNDM2MDYsNDQwNjksNDQ1MzQsNDUwMDIsNDU0NzMsNDU5NDcsNDY0MjMsNDY5MDMsNDczODUsNDc4NzEsNDgzNTksNDg4NTAsNDkzNDQsNDk4NDEsNTAzNDEsNTA4NDQsNTEzNDksNTE4NTgsNTIzNjksNTI4ODQsNTM0MDEsNTM5MjEsNTQ0NDUsNTQ5NzEsNTU1MDAsNTYwMzIsNTY1NjcsNTcxMDUsNTc2NDYsNTgxOTAsNTg3MzcsNTkyODcsNTk4NDAsNjAzOTYsNjA5NTUsNjE1MTcsNjIwODIsNjI2NTAsNjMyMjEsNjM3OTUsNjQzNzIsNjQ5NTIsNjU1MzVdLFk9WzAsNiwxMywxOCwyMiwyNSwyOCwzMSwzNCwzNiwzOCw0MCw0Miw0NCw0Niw0OCw1MCw1MSw1Myw1NCw1Niw1Nyw1OSw2MCw2MSw2Miw2NCw2NSw2Niw2Nyw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Niw4Nyw4OCw4OSw5MCw5MSw5MSw5Miw5Myw5NCw5NSw5NSw5Niw5Nyw5OCw5OCw5OSwxMDAsMTAxLDEwMSwxMDIsMTAzLDEwMywxMDQsMTA1LDEwNiwxMDYsMTA3LDEwOCwxMDgsMTA5LDExMCwxMTAsMTExLDExMSwxMTIsMTEzLDExMywxMTQsMTE1LDExNSwxMTYsMTE2LDExNywxMTgsMTE4LDExOSwxMTksMTIwLDEyMSwxMjEsMTIyLDEyMiwxMjMsMTIzLDEyNCwxMjUsMTI1LDEyNiwxMjYsMTI3LDEyNywxMjgsMTI4LDEyOSwxMjksMTMwLDEzMCwxMzEsMTMyLDEzMiwxMzMsMTMzLDEzNCwxMzQsMTM1LDEzNSwxMzYsMTM2LDEzNywxMzcsMTM4LDEzOCwxMzksMTM5LDE0MCwxNDAsMTQwLDE0MSwxNDEsMTQyLDE0MiwxNDMsMTQzLDE0NCwxNDQsMTQ1LDE0NSwxNDYsMTQ2LDE0NywxNDcsMTQ3LDE0OCwxNDgsMTQ5LDE0OSwxNTAsMTUwLDE1MSwxNTEsMTUxLDE1MiwxNTIsMTUzLDE1MywxNTQsMTU0LDE1NCwxNTUsMTU1LDE1NiwxNTYsMTU2LDE1NywxNTcsMTU4LDE1OCwxNTksMTU5LDE1OSwxNjAsMTYwLDE2MSwxNjEsMTYxLDE2MiwxNjIsMTYzLDE2MywxNjMsMTY0LDE2NCwxNjUsMTY1LDE2NSwxNjYsMTY2LDE2NiwxNjcsMTY3LDE2OCwxNjgsMTY4LDE2OSwxNjksMTY5LDE3MCwxNzAsMTcxLDE3MSwxNzEsMTcyLDE3MiwxNzIsMTczLDE3MywxNzQsMTc0LDE3NCwxNzUsMTc1LDE3NSwxNzYsMTc2LDE3NiwxNzcsMTc3LDE3NywxNzgsMTc4LDE3OSwxNzksMTc5LDE4MCwxODAsMTgwLDE4MSwxODEsMTgxLDE4MiwxODIsMTgyLDE4MywxODMsMTgzLDE4NCwxODQsMTg0LDE4NSwxODUsMTg1LDE4NiwxODYsMTg2LDE4NywxODcsMTg3LDE4OCwxODgsMTg4LDE4OSwxODksMTg5LDE5MCwxOTAsMTkwLDE5MSwxOTEsMTkxLDE5MiwxOTIsMTkyLDE5MywxOTMsMTkzLDE5MywxOTQsMTk0LDE5NCwxOTUsMTk1LDE5NSwxOTYsMTk2LDE5NiwxOTcsMTk3LDE5NywxOTgsMTk4LDE5OCwxOTgsMTk5LDE5OSwxOTksMjAwLDIwMCwyMDAsMjAxLDIwMSwyMDEsMjAxLDIwMiwyMDIsMjAyLDIwMywyMDMsMjAzLDIwNCwyMDQsMjA0LDIwNCwyMDUsMjA1LDIwNSwyMDYsMjA2LDIwNiwyMDYsMjA3LDIwNywyMDcsMjA4LDIwOCwyMDgsMjA4LDIwOSwyMDksMjA5LDIxMCwyMTAsMjEwLDIxMCwyMTEsMjExLDIxMSwyMTIsMjEyLDIxMiwyMTIsMjEzLDIxMywyMTMsMjE0LDIxNCwyMTQsMjE0LDIxNSwyMTUsMjE1LDIxNSwyMTYsMjE2LDIxNiwyMTcsMjE3LDIxNywyMTcsMjE4LDIxOCwyMTgsMjE4LDIxOSwyMTksMjE5LDIyMCwyMjAsMjIwLDIyMCwyMjEsMjIxLDIyMSwyMjEsMjIyLDIyMiwyMjIsMjIyLDIyMywyMjMsMjIzLDIyNCwyMjQsMjI0LDIyNCwyMjUsMjI1LDIyNSwyMjUsMjI2LDIyNiwyMjYsMjI2LDIyNywyMjcsMjI3LDIyNywyMjgsMjI4LDIyOCwyMjgsMjI5LDIyOSwyMjksMjI5LDIzMCwyMzAsMjMwLDIzMCwyMzEsMjMxLDIzMSwyMzEsMjMyLDIzMiwyMzIsMjMyLDIzMywyMzMsMjMzLDIzMywyMzQsMjM0LDIzNCwyMzQsMjM1LDIzNSwyMzUsMjM1LDIzNiwyMzYsMjM2LDIzNiwyMzcsMjM3LDIzNywyMzcsMjM4LDIzOCwyMzgsMjM4LDIzOSwyMzksMjM5LDIzOSwyMzksMjQwLDI0MCwyNDAsMjQwLDI0MSwyNDEsMjQxLDI0MSwyNDIsMjQyLDI0MiwyNDIsMjQzLDI0MywyNDMsMjQzLDI0MywyNDQsMjQ0LDI0NCwyNDQsMjQ1LDI0NSwyNDUsMjQ1LDI0NiwyNDYsMjQ2LDI0NiwyNDYsMjQ3LDI0NywyNDcsMjQ3LDI0OCwyNDgsMjQ4LDI0OCwyNDksMjQ5LDI0OSwyNDksMjQ5LDI1MCwyNTAsMjUwLDI1MCwyNTEsMjUxLDI1MSwyNTEsMjUxLDI1MiwyNTIsMjUyLDI1MiwyNTMsMjUzLDI1MywyNTMsMjUzLDI1NCwyNTQsMjU0LDI1NCwyNTUsMjU1LDI1NV07ZnVuY3Rpb24gVyhyKXtsZXQgZTtpZihyPD0wKXJldHVybiAwO2lmKHI+PXgpcmV0dXJuIHg7ZT1yKihyKihyKy0xNDQxMDcpL3grMTMyMTE0KS94KzE0Mzc5O2ZvcihsZXQgYT0wO2E8MjthKyspe2NvbnN0IGk9ZSplKmUscz1yKygyKmkray8yKS9rO2U9KGUqKDIqcisoaStrLzIpL2spK3MvMikvc31yZXR1cm4gZX1mdW5jdGlvbiB2KHIsZSl7cmV0dXJuKHJeZSk8MD8oci1lLzIpL2U6KHIrZS8yKS9lfWZ1bmN0aW9uIEoocil7Y29uc3QgZT1GW3I+PjE2JjI1NV0sYT1GW3I+PjgmMjU1XSxpPUZbciYyNTVdLHM9KDI3MDE1KmUrMzUxNDkqYSszMzcyKmkreC8yKS94LGY9KDEzODg3KmUrNDQ2MTAqYSs3MDM4KmkreC8yKS94LG89KDU3ODcqZSsxODQ2MiphKzQxMjg2KmkreC8yKS94LG49VyhzKSx0PVcoZiksbD1XKG8pO3JldHVyblt2KDEzNzkyKm4rNTIwMTAqdC0yNjcqbCx4KSx2KDEyOTYyOCpuLTE1OTE1OCp0KzI5NTMwKmwseCksdigxNjk4Km4rNTEyOTkqdC01Mjk5NypsLHgpXX1mdW5jdGlvbiBLKHIpe2lmKHI8PTApcmV0dXJuIDA7aWYocj49eClyZXR1cm4gMjU1O3tjb25zdCBlPXIqaGUsYT1+fihlL3gpLGk9ZSV4LHM9WVthXSxmPVlbYSsxXTtyZXR1cm4oaSooZi1zKSt4LzIpL3grc319ZnVuY3Rpb24gZ2Uocil7Y29uc3QgZT1yWzBdK3YoMjU5NzQqclsxXSx4KSt2KDE0MTQzKnJbMl0seCksYT1yWzBdK3YoLTY5MTgqclsxXSx4KSt2KC00MTg1KnJbMl0seCksaT1yWzBdK3YoLTU4NjQqclsxXSx4KSt2KC04NDYzOCpyWzJdLHgpLHM9QihlLDIpKmUvayxmPUIoYSwyKSphL2ssbz1CKGksMikqaS9rLG49SygoMjY3MTY5KnMrLTIxNjc3MSpmKzE1MTM3Km8reC8yKS94KSx0PUsoKC04MzEyNypzKzE3MTAzMCpmKy0yMjM2OCpvK3gvMikveCksbD1LKCgtMjc1KnMrLTQ2MDk5KmYrMTExOTA5Km8reC8yKS94KTtyZXR1cm4gbjw8MTZ8dDw8OHxsfWZ1bmN0aW9uIHBlKHIpe2NvbnN0IGU9e2w6MCxhOjEsYjoyfSxhPXJbMF0saT1yWzFdLHM9clsyXSxmPWVbYV0sbz1lW2ldLG49ZVtzXTtyZXR1cm4odCxsKT0+dC5va2xhYltmXS1sLm9rbGFiW2ZdfHx0Lm9rbGFiW29dLWwub2tsYWJbb118fHQub2tsYWJbbl0tbC5va2xhYltuXX1mdW5jdGlvbiBtZShyLGUsYSl7cmV0dXJuIHI+PWU/ZT49YT8ibGFiIjpyPj1hPyJsYmEiOiJibGEiOnI+PWE/ImFsYiI6ZT49YT8iYWJsIjoiYmFsIn1mdW5jdGlvbiB3ZShyKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+e2NvbnN0IGE9bmV3IEltYWdlO2EuZGVjb2Rpbmc9InN5bmMiLGEubG9hZGluZz0iZWFnZXIiLGEuY3Jvc3NPcmlnaW49ImFub255bW91cyIsYS5vbmxvYWQ9KCk9PmUoYSksYS5vbmVycm9yPSgpPT5lKGEpLGEuc3JjPXJ9KX1mdW5jdGlvbiBRKHIpe3JldHVybiByJiZ0eXBlb2Ygcj09Im9iamVjdCImJiJfX0NPTlRFWFRfXyJpbiByfWZ1bmN0aW9uIGJlKHIpe3JldHVybiBRKHIpP3I6eGUocil9ZnVuY3Rpb24geGUocj17fSl7Y29uc3R7bWF4Q29sb3JzOmU9MjU2LHN0YXRzTW9kZTphPSJmdWxsIixzYW1wbGVzOmk9W10sc2tpcFRyYW5zcGFyZW50OnM9ITB9PXI7cmV0dXJue19fQ09OVEVYVF9fOiEwLHNhbXBsZXM6aSxtYXhDb2xvcnM6ZSxzdGF0c01vZGU6YSxza2lwVHJhbnNwYXJlbnQ6cyxjb2xvclNhbXBsZXM6W10sY29sb3JTYW1wbGVzQ2FjaGU6bmV3IE1hcCxjb2xvckJveGVzOltdLGNvbG9yQm94ZXNJbmRleFRyZWU6W10sZmluZGVyQ2FjaGU6bmV3IE1hcH19ZnVuY3Rpb24gZWUocil7Y29uc3QgZT1RKHIpP3I6ci5jb250ZXh0LHtjb2xvckJveGVzSW5kZXhUcmVlOmEsZmluZGVyQ2FjaGU6aX09ZTtmdW5jdGlvbiBzKG8sbix0KXtjb25zdHtsZWZ0OmwscmlnaHQ6Zyxsb25nZXN0OmMsb2tsYWI6aCxjb2xvckJveEluZGV4OnB9PWFbb10sYj1NYXRoLm1pbihCKG5bMF0taFswXSwyKStCKG5bMV0taFsxXSwyKStCKG5bMl0taFsyXSwyKSw0Mjk0OTY3Mjk1LTEpO2I8dC5kaXN0JiYodC5jb2xvckJveEluZGV4PXAsdC5kaXN0PWIpO2xldCBkLHU7aWYobCE9PS0xfHxnIT09LTEpe2NvbnN0IEM9bltjXS1oW2NdO0M8PTA/KGQ9bCx1PWcpOihkPWcsdT1sKSxkIT09LTEmJnMoZCxuLHQpLHUhPT0tMSYmQihDLDIpPHQuZGlzdCYmcyh1LG4sdCl9fWZ1bmN0aW9uIGYobyl7Y29uc3Qgbj17ZGlzdDpOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixjb2xvckJveEluZGV4Oi0xfTtyZXR1cm4gcygwLG8sbiksbi5jb2xvckJveEluZGV4fXJldHVybiBvPT57Y29uc3Qgbj1vJTMyNzY4O2xldCB0PWkuZ2V0KG4pO3R8fCh0PW5ldyBNYXAsaS5zZXQobix0KSk7bGV0IGw9dC5nZXQobyk7cmV0dXJuIGwhPT12b2lkIDB8fChsPWYoSihvKSksdC5zZXQobyxsKSksbH19ZnVuY3Rpb24gU2UocixlKXtjb25zdHtjb2xvckJveGVzOmF9PXIsaT1hLnJlZHVjZSgobyxuKT0+bytuLndlaWdodCwwKTtpZighZSlyZXR1cm4gci5jb2xvckJveGVzLm1hcChvPT57Y29uc3R7c3JnYjpuLHdlaWdodDp0fT1vO3JldHVybnt2YWx1ZTpuLHBlcmNlbnRhZ2U6dC9pfX0pO2NvbnN0IHM9W107Zm9yKGxldCBvPWEubGVuZ3RoLG49MDtuPG87bisrKXtjb25zdHtzcmdiOnQsd2VpZ2h0Omx9PWFbbl07cy5wdXNoKHt2YWx1ZTpbdD4+MTYmMjU1LHQ+PjgmMjU1LHQmMjU1XSxwZXJjZW50YWdlOmwvaX0pfWxldCBmO2lmKGU9PT0iYnVmZmVyIil7Zj1uZXcgVWludDhDbGFtcGVkQXJyYXkocy5sZW5ndGgqNCk7Zm9yKGxldCBvPXMubGVuZ3RoLG49MDtuPG87bisrKXtjb25zdCB0PW4qNCxsPXNbbl0udmFsdWU7Zlt0XT1sWzBdLGZbdCsxXT1sWzFdLGZbdCsyXT1sWzJdLGZbdCszXT0yNTV9fWVsc2UgaWYoZT09PSJoZXgiKXtmPVtdO2ZvcihsZXQgbz1zLmxlbmd0aCxuPTA7bjxvO24rKyl7Y29uc3R7dmFsdWU6dCxwZXJjZW50YWdlOmx9PXNbbl0sZz10WzBdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIiksYz10WzFdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIiksaD10WzJdLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIik7Zi5wdXNoKHt2YWx1ZTpgIyR7Z30ke2N9JHtofWAscGVyY2VudGFnZTpsfSl9fWVsc2UgZj1zO3JldHVybiBmfWZ1bmN0aW9uIFYocixlLGEpe3ZhciBnLGMsaCxwO2NvbnN0e2dldENvbnRleHQyZDppLHByZXZpb3VzU2FtcGxlOnMsc2tpcFRyYW5zcGFyZW50OmZ9PWEse3N0YXRzTW9kZTpvLGNvbG9yU2FtcGxlczpuLGNvbG9yU2FtcGxlc0NhY2hlOnR9PXI7bGV0IGw7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpKWw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGUuYnVmZmVyKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilsPW5ldyBVaW50OENsYW1wZWRBcnJheShlKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpaWYoQXJyYXkuaXNBcnJheShlWzBdKSl7Y29uc3QgYj1bXTtmb3IobGV0IGQ9ZS5sZW5ndGgsdT0wO3U8ZDt1KyspYi5wdXNoKChnPWVbdV1bMF0pIT1udWxsP2c6MCwoYz1lW3VdWzFdKSE9bnVsbD9jOjAsKGg9ZVt1XVsyXSkhPW51bGw/aDowLChwPWVbdV1bM10pIT1udWxsP3A6MjU1KTtsPW5ldyBVaW50OENsYW1wZWRBcnJheShiKX1lbHNlIGw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGUpO2Vsc2UgaWYodHlwZW9mIGU9PSJzdHJpbmciKXtjb25zdCBiPWk9PW51bGw/dm9pZCAwOmkoKTtpZighYilyZXR1cm47Y29uc3QgZD1iLmNhbnZhcztyZXR1cm4gd2UoZSkudGhlbih1PT4oYi5jbGVhclJlY3QoMCwwLGQud2lkdGgsZC5oZWlnaHQpLGQud2lkdGg9dS53aWR0aCxkLmhlaWdodD11LmhlaWdodCxiLmRyYXdJbWFnZSh1LDAsMCxkLndpZHRoLGQuaGVpZ2h0KSxWKHIsYi5nZXRJbWFnZURhdGEoMCwwLGQud2lkdGgsZC5oZWlnaHQpLmRhdGEsYSkpKX1lbHNle2NvbnN0IGI9aT09bnVsbD92b2lkIDA6aSgpO2lmKCFiKXJldHVybjtjb25zdCBkPWIuY2FudmFzO3JldHVybiBiLmNsZWFyUmVjdCgwLDAsZC53aWR0aCxkLmhlaWdodCksZC53aWR0aD10eXBlb2YgZS53aWR0aD09Im51bWJlciI/ZS53aWR0aDplLndpZHRoLmJhc2VWYWwudmFsdWUsZC5oZWlnaHQ9dHlwZW9mIGUuaGVpZ2h0PT0ibnVtYmVyIj9lLmhlaWdodDplLmhlaWdodC5iYXNlVmFsLnZhbHVlLGIuZHJhd0ltYWdlKGUsMCwwLGQud2lkdGgsZC5oZWlnaHQpLFYocixiLmdldEltYWdlRGF0YSgwLDAsZC53aWR0aCxkLmhlaWdodCkuZGF0YSxhKX1mb3IobGV0IGI9bC5sZW5ndGgsZD0wO2Q8YjtkKz00KXtjb25zdCB1PWxbZF0sQz1sW2QrMV0seT1sW2QrMl0sUz1sW2QrM107aWYoZiYmUz09PTB8fG89PT0iZGlmZiImJnMmJnU9PT1zW2RdJiZDPT09c1tkKzFdJiZ5PT09c1tkKzJdJiZTPT09c1tkKzNdKWNvbnRpbnVlO2NvbnN0IHc9dTw8MTZ8Qzw8OHx5LG09UyoxZTgrdyxJPW0lMzI3Njg7bGV0IFQ9dC5nZXQoSSk7VHx8KFQ9bmV3IE1hcCx0LnNldChJLFQpKTtsZXQgQT1ULmdldChtKTtpZihBIT09dm9pZCAwKXtuW0FdLmNvdW50Kys7Y29udGludWV9QT1uLnB1c2goe2FscGhhOlMsc3JnYjp3LG9rbGFiOkoodyksY291bnQ6MX0pLTEsVC5zZXQobSxBKX1yZXR1cm4gbH1mdW5jdGlvbiB0ZShyLGUpe2NvbnN0e2NvbG9yU2FtcGxlczphfT1lLHtzdGFydDppLGVuZDpzfT1yO3IubGVuZ3RoPXMtaSxyLndlaWdodD0wO2NvbnN0IGY9WzAsMCwwXTtmb3IobGV0IG49aTtuPHM7bisrKXtjb25zdCB0PWFbbl07ZlswXSs9dC5va2xhYlswXSp0LmNvdW50LGZbMV0rPXQub2tsYWJbMV0qdC5jb3VudCxmWzJdKz10Lm9rbGFiWzJdKnQuY291bnQsci53ZWlnaHQrPXQuY291bnR9ci5va2xhYj1bZlswXS9yLndlaWdodCxmWzFdL3Iud2VpZ2h0LGZbMl0vci53ZWlnaHRdO2NvbnN0IG89WzAsMCwwXTtmb3IobGV0IG49aTtuPHM7bisrKXtjb25zdCB0PWFbbl07b1swXSs9Qih0Lm9rbGFiWzBdLXIub2tsYWJbMF0sMikqdC5jb3VudCxvWzFdKz1CKHQub2tsYWJbMV0tci5va2xhYlsxXSwyKSp0LmNvdW50LG9bMl0rPUIodC5va2xhYlsyXS1yLm9rbGFiWzJdLDIpKnQuY291bnR9ci5zb3J0PW1lKG9bMF0sb1sxXSxvWzJdKSxyLnNjb3JlPU1hdGgubWF4KG9bMF0sb1sxXSxvWzJdKX1mdW5jdGlvbiBuZShyLGUpe2NvbnN0IGE9cSh7c3RhcnQ6MCxlbmQ6MCxsZW5ndGg6MCxzY29yZTowLHdlaWdodDowLHNvcnQ6ImxhYiIsc29ydGVkOm51bGwsc3JnYjowLG9rbGFiOlswLDAsMF19LHIpO3JldHVybiB0ZShhLGUpLGF9ZnVuY3Rpb24gQ2Uocil7Y29uc3R7Y29sb3JCb3hlczplfT1yLGE9W10saT1uZXcgTWFwO2ZvcihsZXQgbz0tMSxuPWUubGVuZ3RoLHQ9MDt0PG47dCsrKXtjb25zdHtzcmdiOmx9PWVbdF07aWYobD09PW8pe2kuc2V0KHQsITApO2NvbnRpbnVlfW89bH1mKHttaW46Wy02NTUzNSwtNjU1MzUsLTY1NTM1XSxtYXg6WzY1NTM1LDY1NTM1LDY1NTM1XX0pO2Z1bmN0aW9uIHMobyl7Y29uc3Qgbj17bWluOls2NTUzNSw2NTUzNSw2NTUzNV0sbWF4OlstNjU1MzUsLTY1NTM1LC02NTUzNV19O2xldCB0PTA7Y29uc3QgbD1bXTtmb3IobGV0IGI9ZS5sZW5ndGgsZD0wO2Q8YjtkKyspe2NvbnN0e29rbGFiOnV9PWVbZF07aS5oYXMoZCl8fHVbMF08by5taW5bMF18fHVbMV08by5taW5bMV18fHVbMl08by5taW5bMl18fHVbMF0+by5tYXhbMF18fHVbMV0+by5tYXhbMV18fHVbMl0+by5tYXhbMl18fCh1WzBdPG4ubWluWzBdJiYobi5taW5bMF09dVswXSksdVsxXTxuLm1pblsxXSYmKG4ubWluWzFdPXVbMV0pLHVbMl08bi5taW5bMl0mJihuLm1pblsyXT11WzJdKSx1WzBdPm4ubWF4WzBdJiYobi5tYXhbMF09dVswXSksdVsxXT5uLm1heFsxXSYmKG4ubWF4WzFdPXVbMV0pLHVbMl0+bi5tYXhbMl0mJihuLm1heFsyXT11WzJdKSxsW3QrK109e29rbGFiOnUsY29sb3JCb3hJbmRleDpkfSl9bGV0IGc9MDtpZighdClyZXR1cm57Y29sb3JCb3hJbmRleDotMSxsb25nZXN0Omd9O2NvbnN0IGM9bi5tYXhbMF0tbi5taW5bMF0saD1uLm1heFsxXS1uLm1pblsxXSxwPW4ubWF4WzJdLW4ubWluWzJdO3JldHVybiBjPj1oJiZjPj1wP2c9MDpwPj1jJiZwPj1oP2c9MjpoPj1jJiZoPj1wJiYoZz0xKSx7Y29sb3JCb3hJbmRleDpsLnNvcnQoKGIsZCk9PmIub2tsYWJbZ10tZC5va2xhYltnXSlbdD4+MV0uY29sb3JCb3hJbmRleCxsb25nZXN0Omd9fWZ1bmN0aW9uIGYobyl7Y29uc3R7Y29sb3JCb3hJbmRleDpuLGxvbmdlc3Q6dH09cyhvKTtpZihuPDApcmV0dXJuLTE7Y29uc3R7b2tsYWI6bH09ZVtuXSxnPXtsb25nZXN0OnQsb2tsYWI6bCxjb2xvckJveEluZGV4Om59LGM9YS5wdXNoKGcpLTE7aS5zZXQobiwhMCk7Y29uc3QgaD17bWF4OlsuLi5vLm1heF0sbWluOlsuLi5vLm1pbl19LHA9e21heDpbLi4uby5tYXhdLG1pbjpbLi4uby5taW5dfTtoLm1heFt0XT1sW3RdLHAubWluW3RdPU1hdGgubWluKGxbdF0rMSw2NTUzNSk7Y29uc3QgYj1mKGgpO2xldCBkPS0xO3JldHVybiBwLm1pblt0XTw9cC5tYXhbdF0mJihkPWYocCkpLGcubGVmdD1iLGcucmlnaHQ9ZCxjfXJldHVybiBhfWZ1bmN0aW9uIHllKHIsZT17fSl7Y29uc3R7bWF4Q29sb3JzOmEsY29sb3JTYW1wbGVzOml9PXI7aWYoIWkubGVuZ3RoKXJldHVybjtjb25zdHttYXhDb2xvcnM6cz1hLGNsZWFyU2FtcGxlczpmPSEwfT1lO2xldCBvPW5lKHtlbmQ6aS5sZW5ndGh9LHIpLG49MTtjb25zdCB0PVtvXTtmdW5jdGlvbiBsKCl7bGV0IGM9LTEsaD0tMTtpZihuPT09cylyZXR1cm4tMTtmb3IobGV0IHA9MDtwPG47cCsrKXtjb25zdCBiPXRbcF07Yi5sZW5ndGg+PTImJmIuc2NvcmU+aCYmKGM9cCxoPWIuc2NvcmUpfXJldHVybiBjfWZ1bmN0aW9uIGcoYyxoKXtjb25zdCBwPW5lKHtzdGFydDpoKzEsZW5kOmMuZW5kLHNvcnRlZDpjLnNvcnRlZH0scik7Yy5lbmQtPXAubGVuZ3RoLHRlKGMsciksdC5wdXNoKHApLG4rK31mb3IoO28mJm8ubGVuZ3RoPjE7KXtjb25zdHtzdGFydDpjLGVuZDpoLHNvcnQ6cCxzb3J0ZWQ6Yn09bztpZihwIT09Yil7Y29uc3QgUz1pLnNsaWNlKGMsaCkuc29ydChwZShwKSk7Zm9yKGxldCB3PVMubGVuZ3RoLG09MDttPHc7bSsrKWlbYyttXT1TW21dO28uc29ydGVkPXB9Y29uc3QgZD1vLndlaWdodCsxPj4xO2xldCB1PWMsQz0wO2ZvcihsZXQgUz1oLTI7dTxTJiYoQys9aVt1XS5jb3VudCwhKEM+ZCkpO3UrKyk7ZyhvLHUpO2NvbnN0IHk9bCgpO289eT49MD90W3ldOm51bGx9Zm9yKGxldCBjPXQubGVuZ3RoLGg9MDtoPGM7aCsrKXRbaF0uc3JnYj1nZSh0W2hdLm9rbGFiKTtyLmNvbG9yQm94ZXM9dC5zb3J0KChjLGgpPT5jLnNyZ2ItaC5zcmdiKSxyLmNvbG9yQm94ZXNJbmRleFRyZWU9Q2UociksZiYmKHIuY29sb3JTYW1wbGVzPVtdLHIuY29sb3JTYW1wbGVzQ2FjaGUuY2xlYXIoKSksci5maW5kZXJDYWNoZS5jbGVhcigpfWZ1bmN0aW9uIEllKHIsZSxhKXtjb25zdHtjb2xvckJveGVzOml9PXI7aWYoIWUpcmV0dXJuO2xldCBzO2lmKHR5cGVvZiBhPT0ibnVtYmVyIilzPWE7ZWxzZSBpZih0eXBlb2YgYT09InN0cmluZyIpe2NvbnN0IHQ9YS5yZXBsYWNlKC9eIy8sIiIpLGw9W2Ake3RbMF19JHt0WzFdfWAsYCR7dFsyXX0ke3RbM119YCxgJHt0WzRdfSR7dFs1XX1gXS5tYXAoZz0+cGFyc2VJbnQoZywxNikpO3M9bFswXTw8MTZ8bFsxXTw8OHxsWzJdfWVsc2UgaWYoQXJyYXkuaXNBcnJheShhKSlzPWFbMF08PDE2fGFbMV08PDh8YVsyXTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIlVuc3VwcG9ydGVkIGNvbG9yIGZvcm1hdCIpO2NvbnN0IGY9ZShzKTtpZihmPT09dm9pZCAwKXJldHVybjtjb25zdCBvPWlbZl07aWYoIW8pcmV0dXJuO2NvbnN0e3NyZ2I6bn09bztpZih0eXBlb2YgYT09InN0cmluZyIpe2NvbnN0IHQ9KG4+PjE2JjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSxsPShuPj44JjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSxnPShuJjI1NSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKTtyZXR1cm57dmFsdWU6YCMke3R9JHtsfSR7Z31gLGluZGV4OmZ9fWVsc2UgaWYodHlwZW9mIGE9PSJvYmplY3QiJiZBcnJheS5pc0FycmF5KGEpKXJldHVybnt2YWx1ZTpbbj4+MTYmMjU1LG4+PjgmMjU1LG4mMjU1XSxpbmRleDpmfTtyZXR1cm57dmFsdWU6bixpbmRleDpmfX1mdW5jdGlvbiBrZShyKXtyLmNvbG9yU2FtcGxlcz1bXSxyLmNvbG9yU2FtcGxlc0NhY2hlLmNsZWFyKCksci5jb2xvckJveGVzPVtdLHIuY29sb3JCb3hlc0luZGV4VHJlZT1bXSxyLmZpbmRlckNhY2hlLmNsZWFyKCl9ZnVuY3Rpb24gVGUocil7Y29uc3QgZT1iZShyKSx7c3RhdHNNb2RlOmEsc2FtcGxlczppLHNraXBUcmFuc3BhcmVudDpzfT1lLGY9ZnVuY3Rpb24oKXtsZXQgbDtyZXR1cm4oKT0+KCFsJiZfJiYobD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIse3dpbGxSZWFkRnJlcXVlbnRseTohMH0pKSxsKX0oKTtsZXQgbz1udWxsLG49bnVsbDtjb25zdCB0PXtjb250ZXh0OmUsYWRkU2FtcGxlOmw9PntlLmNvbG9yU2FtcGxlcy5sZW5ndGg9PT0wJiYobz1udWxsKTtjb25zdCBnPVYoZSxsLHtnZXRDb250ZXh0MmQ6ZixwcmV2aW91c1NhbXBsZTpvLHNraXBUcmFuc3BhcmVudDpzfSk7cmV0dXJuKGcgaW5zdGFuY2VvZiBQcm9taXNlP2c6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+ZykpLnRoZW4oYz0+e2MmJmE9PT0iZGlmZiImJihvPWMpfSksZ30sZ2VuZXJhdGUobD17fSl7Y29uc3R7Y2xlYXJTYW1wbGVzOmc9ITB9PWw7cmV0dXJuIGcmJihvPW51bGwpLHllKGUsbCksdGhpc30sZ2V0Q29sb3JzOmw9PlNlKGUsbCksZmluZE5lYXJlc3RDb2xvcjpsPT4obnx8KG49ZWUoZSkpLEllKGUsbixsKSkscmVzZXQ6KCk9PmtlKGUpfTtyZXR1cm4gaS5sZW5ndGgmJihpLmZvckVhY2gobD0+dC5hZGRTYW1wbGUobCkpLGUuc2FtcGxlcz1bXSksdH1jb25zdCBBZT0iW21vZGVybi1naWZdIixFZT0iR0lGIixCZT1bIjg3YSIsIjg5YSJdLHJlPTQ0LG9lPTMzLF9lPTI1NSx2ZT0xMSxNZT0yNTQsYWU9MjQ5LHNlPTQsTmU9MSxVZT0xLE9lPTU5LGxlPSguLi5yKT0+Y29uc29sZS53YXJuKEFlLC4uLnIpO2Z1bmN0aW9uIFBlKHIpe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkoci5yZWR1Y2UoKGEsaSk9PmEraS5ieXRlTGVuZ3RoLDApKTtyZXR1cm4gci5yZWR1Y2UoKGEsaSk9PihlLnNldChpLGEpLGEraS5ieXRlTGVuZ3RoKSwwKSxlfWZ1bmN0aW9uIGllKHIsZSxhKXtsZXQgaTtpZihBcnJheUJ1ZmZlci5pc1ZpZXcocikpaT1yLmJ1ZmZlcjtlbHNlIGlmKHIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilpPXI7ZWxzZXtjb25zdCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHt3aWR0aDpmLGhlaWdodDpvfT1hfHx7fSxuPXMuZ2V0Q29udGV4dCgiMmQiKTtpZighbil0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgY2FudmFzIGNvbnRleHQyZCIpO3Mud2lkdGg9ZiE9bnVsbD9mOnR5cGVvZiByLndpZHRoPT0ibnVtYmVyIj9yLndpZHRoOnIud2lkdGguYmFzZVZhbC52YWx1ZSxzLmhlaWdodD1vIT1udWxsP286dHlwZW9mIHIuaGVpZ2h0PT0ibnVtYmVyIj9yLmhlaWdodDpyLmhlaWdodC5iYXNlVmFsLnZhbHVlLG4uZHJhd0ltYWdlKHIsMCwwLHMud2lkdGgscy5oZWlnaHQpLGk9bi5nZXRJbWFnZURhdGEoMCwwLHMud2lkdGgscy5oZWlnaHQpLmRhdGEuYnVmZmVyfXN3aXRjaChlKXtjYXNlInVpbnQ4QXJyYXkiOnJldHVybiBuZXcgVWludDhBcnJheShpKTtjYXNlInVpbnQ4Q2xhbXBlZEFycmF5IjpyZXR1cm4gbmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGkpO2Nhc2UiZGF0YVZpZXciOnJldHVybiBuZXcgRGF0YVZpZXcoaSk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQiKX19ZnVuY3Rpb24gRGUocixlKXt2YXIgYjtjb25zdHt0b3A6YT0wLGxlZnQ6aT0wLHdpZHRoOnMsaGVpZ2h0OmYscmF3V2lkdGg6byxyYXRlOm49NCxjYWxsYmFjazp0fT1lLGw9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHMqZipuKSxnPWkqbixjPWEqbixoPXMqbixwPW8qbjtmb3IobGV0IGQ9MDtkPGY7ZCsrKWZvcihsZXQgdT0wO3U8aDt1Kyspe2NvbnN0IEM9KGMrZCkqcCsoZyt1KTtsW2QqaCt1XT0oYj10PT1udWxsP3ZvaWQgMDp0KEMpKSE9bnVsbD9iOnJbQ119cmV0dXJuIGx9ZnVuY3Rpb24gJGUocil7Y29uc3QgZT1pZShyLCJkYXRhVmlldyIpO2xldCBhPTA7Y29uc3QgaT0oKT0+ZS5nZXRVaW50OChhKyspLHM9Zj0+QXJyYXkuZnJvbSh7bGVuZ3RoOmZ9KS5tYXAoaSk7cmV0dXJue2dldEN1cnNvcjooKT0+YSxzZXRDdXJzb3I6Zj0+YT1mLHJlYWRCeXRlOmkscmVhZEJ5dGVzOnMscmVhZFN0cmluZzpmPT5TdHJpbmcuZnJvbUNoYXJDb2RlKC4uLnMoZikpLHJlYWRVbnNpZ25lZDooKT0+W2UuZ2V0VWludDE2KGEsITApLGErPTJdWzBdLHJlYWRCaXRzOigpPT5lLmdldFVpbnQ4KGErKykudG9TdHJpbmcoMikucGFkU3RhcnQoOCwiMCIpLnNwbGl0KCIiKS5tYXAoTnVtYmVyKSxyZWFkQ29sb3JUYWJsZTpmPT5BcnJheS5mcm9tKHtsZW5ndGg6Zn0sKCk9PkFycmF5LmZyb20ocygzKSkpLHJlYWRTdWJCbG9jazooKT0+e2NvbnN0IGY9W107Zm9yKDs7KXtjb25zdCBvPWkoKTtpZihvPT09MCYmZS5nZXRVaW50OChhKSE9PTApYnJlYWs7Zi5wdXNoKG8pfXJldHVybiBmfX19ZnVuY3Rpb24gWGUocil7Y29uc3QgZT17fSx7Z2V0Q3Vyc29yOmEsc2V0Q3Vyc29yOmkscmVhZEJ5dGU6cyxyZWFkU3RyaW5nOmYscmVhZFVuc2lnbmVkOm8scmVhZEJpdHM6bixyZWFkQ29sb3JUYWJsZTp0LHJlYWRTdWJCbG9jazpsfT0kZShyKSxnPSgpPT4oe2luZGV4OjAsZGVsYXk6MTAwLGRpc3Bvc2FsOjB9KSxjPWYoMyksaD1mKDMpO2lmKGMhPT1FZXx8IUJlLmluY2x1ZGVzKGgpKXRocm93IG5ldyBFcnJvcigiVGhpcyBpcyBub3QgYSA4N2EvODlhIEdJRiBkYXRhLiIpO2UudmVyc2lvbj1oLGUud2lkdGg9bygpLGUuaGVpZ2h0PW8oKTtjb25zdCBwPW4oKTtlLmdsb2JhbENvbG9yVGFibGU9ISFwWzBdLGUuY29sb3JSZXNvbHVUaW9uPXBhcnNlSW50KHAuc2xpY2UoMSw0KS5qb2luKCIiKSwyKSsxLGUuY29sb3JUYWJsZVNvcnRlZD0hIXBbNF07Y29uc3QgYj1wYXJzZUludChwLnNsaWNlKDUsOCkuam9pbigiIiksMik7ZS5jb2xvclRhYmxlU2l6ZT1NYXRoLnBvdygyLGIrMSksZS5iYWNrZ3JvdW5kQ29sb3JJbmRleD1zKCksZS5waXhlbEFzcGVjdFJhdGlvPXMoKSxlLmdsb2JhbENvbG9yVGFibGUmJihlLmNvbG9yVGFibGVTaXplP2UuY29sb3JUYWJsZT10KGUuY29sb3JUYWJsZVNpemUpOmwoKSksZS5mcmFtZXM9W107bGV0IGQ9ZygpO2NvbnN0IHU9W10sQz1bXTtmb3IoOzspe2NvbnN0IHk9cygpO2lmKHUucHVzaCh5KSx5PT09cmUpe2QubGVmdD1vKCksZC50b3A9bygpLGQud2lkdGg9bygpLGQuaGVpZ2h0PW8oKTtjb25zdCBTPW4oKTtkLmxvY2FsQ29sb3JUYWJsZT0hIVNbMF0sZC5pbnRlcmxhY2VkPSEhU1sxXSxkLmNvbG9yVGFibGVTb3J0ZWQ9ISFTWzJdLGQucmVzZXJ2ZWQ9cGFyc2VJbnQoUy5zbGljZSgzLDUpLmpvaW4oIiIpLDIpO2NvbnN0IHc9cGFyc2VJbnQoUy5zbGljZSg1LDgpLmpvaW4oIiIpLDIpO2ZvcihkLmNvbG9yVGFibGVTaXplPU1hdGgucG93KDIsdysxKSxkLmxvY2FsQ29sb3JUYWJsZSYmKGQuY29sb3JUYWJsZT10KGQuY29sb3JUYWJsZVNpemUpKSxkLmx6d01pbkNvZGVTaXplPXMoKSxkLmltYWdlRGF0YVBvc2l0aW9ucz1bXTs7KXtjb25zdCBtPXMoKTtpZihtPT09MClicmVhaztjb25zdCBJPWEoKTtkLmltYWdlRGF0YVBvc2l0aW9ucy5wdXNoKFtJLG1dKSxpKEkrbSl9ZS5mcmFtZXMucHVzaChkKSxkPWcoKSxkLmluZGV4PWUuZnJhbWVzLmxlbmd0aDtjb250aW51ZX1pZih5PT09b2Upe2NvbnN0IFM9cygpO2lmKEMucHVzaChTKSxTPT09X2Upe2lmKHMoKSE9PXZlKWNvbnRpbnVlO2NvbnN0IHc9e2lkZW50aWZpZXI6Zig4KSxjb2RlOmYoMyksZGF0YTpbXX07YCR7dy5pZGVudGlmaWVyfSR7dy5jb2RlfWA9PSJORVRTQ0FQRTIuMCImJnMoKT09PTMmJihlLmxvb3BlZD0hIXMoKSxlLmxvb3BDb3VudD1vKCkpLHcuZGF0YT1sKCksZC5hcHBsaWNhdGlvbj13O2NvbnRpbnVlfWlmKFM9PT1NZSl7ZC5jb21tZW50PWwoKS5tYXAodz0+U3RyaW5nLmZyb21DaGFyQ29kZSh3KSkuam9pbigiIik7Y29udGludWV9aWYoUz09PWFlKXtpZihzKCkhPT1zZSljb250aW51ZTtjb25zdCB3PW4oKSxtPXtyZXNlcnZlZDpwYXJzZUludCh3LnNsaWNlKDAsMykuam9pbigiIiksMiksZGlzcG9zYWw6cGFyc2VJbnQody5zbGljZSgzLDYpLmpvaW4oIiIpLDIpLHVzZXJJbnB1dDohIXdbNl0sdHJhbnNwYXJlbnQ6ISF3WzddLGRlbGF5VGltZTpvKCksdHJhbnNwYXJlbnRJbmRleDpzKCl9O2woKSxkLmdyYXBoaWNDb250cm9sPW0sZC5kaXNwb3NhbD1tLmRpc3Bvc2FsLGQuZGVsYXk9KG0uZGVsYXlUaW1lfHwxMCkqMTA7Y29udGludWV9aWYoUz09PU5lKXtpZihzKCkhPT1VZSljb250aW51ZTtkLnBsYWluVGV4dD17bGVmdDpvKCksdG9wOm8oKSx3aWR0aDpvKCksaGVpZ2h0Om8oKSxjZWxsV2lkdGg6cygpLGNlbGxIZWlnaHQ6cygpLGNvbG9ySW5kZXg6cygpLGJhY2tncm91bmRDb2xvckluZGV4OnMoKSxkYXRhOmwoKX07Y29udGludWV9bGUoYFVua25vd24gZXh0ZW5zaW9uIGJsb2NrOiAweCR7Uy50b1N0cmluZygxNil9YCx1LnNsaWNlKDAsdS5sZW5ndGgtMSkubWFwKHc9PmAweCR7dy50b1N0cmluZygxNil9YCksQy5zbGljZSgwLEMubGVuZ3RoLTEpLm1hcCh3PT5gMHgke3cudG9TdHJpbmcoMTYpfWApKTtjb250aW51ZX1pZih5PT09T2UpYnJlYWs7bGUoYFVua25vd24gYmxvY2s6IDB4JHt5LnRvU3RyaW5nKDE2KX1gLHUuc2xpY2UoMCx1Lmxlbmd0aC0xKS5tYXAoUz0+YDB4JHtTLnRvU3RyaW5nKDE2KX1gKSxDLnNsaWNlKDAsQy5sZW5ndGgtMSkubWFwKFM9PmAweCR7Uy50b1N0cmluZygxNil9YCkpfXJldHVybiBlfWZ1bmN0aW9uIFJlKHIsZSxhKXtjb25zdCBmPWE7bGV0IG8sbix0LGwsZyxjLGg7Y29uc3QgcD1uZXcgQXJyYXkoYSksYj1uZXcgQXJyYXkoNDA5NiksZD1uZXcgQXJyYXkoNDA5NiksdT1uZXcgQXJyYXkoNDA5NisxKSxDPXIseT0xPDxDLFM9eSsxO2ZvcihvPXkrMixnPS0xLHQ9QysxLG49KDE8PHQpLTEsYz0wO2M8eTtjKyspYltjXT0wLGRbY109YztsZXQgdyxtLEksVCxBLFA7Zm9yKHc9bT1JPVQ9QT1QPTAsaD0wO2g8Zjspe2lmKFQ9PT0wKXtpZihtPHQpe3crPWVbUF08PG0sbSs9OCxQKys7Y29udGludWV9aWYoYz13Jm4sdz4+PXQsbS09dCxjPm98fGM9PT1TKWJyZWFrO2lmKGM9PT15KXt0PUMrMSxuPSgxPDx0KS0xLG89eSsyLGc9LTE7Y29udGludWV9aWYoZz09PS0xKXt1W1QrK109ZFtjXSxnPWMsST1jO2NvbnRpbnVlfWZvcihsPWMsYz09PW8mJih1W1QrK109SSxjPWcpO2M+eTspdVtUKytdPWRbY10sYz1iW2NdO0k9ZFtjXSYyNTUsdVtUKytdPUksbzw0MDk2JiYoYltvXT1nLGRbb109SSxvKyssIShvJm4pJiZvPDQwOTYmJih0Kyssbis9bykpLGc9bH1ULS0scFtBKytdPXVbVF0saCsrfWZvcihoPUE7aDxmO2grKylwW2hdPTA7cmV0dXJuIHB9ZnVuY3Rpb24gTGUocixlKXtjb25zdCBhPW5ldyBBcnJheShyLmxlbmd0aCksaT1yLmxlbmd0aC9lLHM9WzAsNCwyLDFdLGY9WzgsOCw0LDJdO2xldCBvPTA7Zm9yKGxldCBuPTA7bjw0O24rKylmb3IobGV0IHQ9c1tuXTt0PGk7dCs9ZltuXSlhLnNwbGljZS5hcHBseShhLFt0KmUsZV0uY29uY2F0KHIuc2xpY2UobyplLChvKzEpKmUpKSksbysrO3JldHVybiBhfWZ1bmN0aW9uIHplKHIpe2NvbnN0IGU9bmV3IE1hcCx7d29ya2VyVXJsOmF9PXI7bGV0e3dvcmtlck51bWJlcjppPTF9PXI7Y29uc3Qgcz1bLi4ubmV3IEFycmF5KGE/aTowKV0ubWFwKCgpPT57dHJ5e2NvbnN0IHQ9bmV3IFdvcmtlcihhKTtyZXR1cm4gdC5vbm1lc3NhZ2U9Zix0fWNhdGNoKHQpe3JldHVybiBudWxsfX0pLmZpbHRlcihCb29sZWFuKTtpPXMubGVuZ3RoO2Z1bmN0aW9uIGYodCl7dmFyIGM7Y29uc3R7aWQ6bCxkYXRhOmd9PXQuZGF0YTsoYz1lLmdldChsKSk9PW51bGx8fGMoZyksZS5kZWxldGUobCl9Y29uc3Qgbz1mdW5jdGlvbigpe2xldCB0PTA7cmV0dXJuIGw9PnNbKGwhPW51bGw/bDp0KyspJWldfSgpO3JldHVybntjYWxsOmZ1bmN0aW9uKCl7bGV0IHQ9MDtyZXR1cm4obCxnLGMsaCk9Pm5ldyBQcm9taXNlKHA9Pntjb25zdCBiPW8oaCk7aWYoIWIpcmV0dXJuIHAodm9pZCAwKTtlLnNldCh0LHApLGIucG9zdE1lc3NhZ2Uoe2lkOnQrKyx0eXBlOmwsZGF0YTpnfSx7dHJhbnNmZXI6Y30pfSl9KCl9fWZ1bmN0aW9uIEZlKHIsZSl7Y29uc3QgYT1pZShyLCJ1aW50OEFycmF5Iik7aWYoZSE9bnVsbCYmZS53b3JrZXJVcmwpcmV0dXJuIHplKHt3b3JrZXJVcmw6ZS53b3JrZXJVcmx9KS5jYWxsKCJmcmFtZXM6ZGVjb2RlIixhLFthLmJ1ZmZlcl0pO2NvbnN0e2dpZjppPVhlKHIpLHJhbmdlOnN9PWUhPW51bGw/ZTp7fSx7d2lkdGg6ZixoZWlnaHQ6byxjb2xvclRhYmxlOm4sZnJhbWVzOnR9PWksbD1zP3Quc2xpY2Uoc1swXSxzWzFdKzEpOnQsZz1sLnNvbWUoYj0+Yi5kaXNwb3NhbD09PTMpO2xldCBjPW5ldyBVaW50OENsYW1wZWRBcnJheShmKm8qNCksaCxwPWMuc2xpY2UoKTtyZXR1cm4gbC5tYXAoYj0+e3ZhciBmZTtjb25zdHtsZWZ0OmQsdG9wOnUsd2lkdGg6QyxoZWlnaHQ6eSxpbnRlcmxhY2VkOlMsbG9jYWxDb2xvclRhYmxlOncsY29sb3JUYWJsZTptLGx6d01pbkNvZGVTaXplOkksaW1hZ2VEYXRhUG9zaXRpb25zOlQsZ3JhcGhpY0NvbnRyb2w6QSxkZWxheTpQLGRpc3Bvc2FsOmp9PWIsR2U9dSt5LHt0cmFuc3BhcmVudDpIZSx0cmFuc3BhcmVudEluZGV4OnFlfT1BIT1udWxsP0E6e30sWj13P206bixjZT1IZT9xZTotMSxZZT1QZShULm1hcCgoW0UsRF0pPT5hLnN1YmFycmF5KEUsRStEKSkpO2xldCBYPVJlKEksWWUsQyp5KTtpZihTJiYoWD1MZShYLEMpKSxqPT09MylwJiYoYz1wPT1udWxsP3ZvaWQgMDpwLnNsaWNlKCkpO2Vsc2V7Y29uc3QgRT1oPT1udWxsP3ZvaWQgMDpoLmRpc3Bvc2FsO2lmKEU9PT0wfHxFPT09Mil7Y29uc3R7bGVmdDpELHRvcDokLHdpZHRoOk0saGVpZ2h0OlJ9PWgsRz0kK1I7Zm9yKGxldCBVPSQ7VTxHO1UrKyl7Y29uc3QgSD1VKmYrRCxPPShVLSQpKk07Zm9yKGxldCBMPTA7TDxNO0wrKyl7Y29uc3QgSmU9WFtPK0xdO2lmKEU9PT0yfHxKZSE9PWNlKXtjb25zdCB6PShIK0wpKjQ7Y1t6XT1jW3orMV09Y1t6KzJdPWNbeiszXT0wfX19fX1mb3IobGV0IEU9dTtFPEdlO0UrKyl7Y29uc3QgRD1FKmYrZCwkPShFLXUpKkM7Zm9yKGxldCBNPTA7TTxDO00rKyl7Y29uc3QgUj1YWyQrTV07aWYoUiE9PWNlKXtjb25zdFtHLFUsSF09KGZlPVo9PW51bGw/dm9pZCAwOlpbUl0pIT1udWxsP2ZlOlswLDAsMF0sTz0oRCtNKSo0O2NbT109RyxjW08rMV09VSxjW08rMl09SCxjW08rM109MjU1fX19cmV0dXJuIGcmJihqPT09MHx8aj09PTEpJiYocD1jLnNsaWNlKCkpLGg9Yix7d2lkdGg6ZixoZWlnaHQ6byxkZWxheTpQLGltYWdlRGF0YTpjLnNsaWNlKCl9fSl9ZnVuY3Rpb24gV2UocixlLGEpe2NvbnN0e3dyaXRlQnl0ZTppLGdldEN1cnNvcjpzLGNhbGN1bGF0ZURpc3RhbmNlOmZ9PWE7aShyKTtsZXQgbz1zKCk7aSgwKTtjb25zdCBuPTE8PHIsdD1uLTEsbD1uKzE7bGV0IGc9bCsxLGM9cisxLGg9MCxwPTA7ZnVuY3Rpb24gYihtKXtmb3IoO2g+PW07KWkocCYyNTUpLHA+Pj04LGgtPTgsZihvKT09PTI1NiYmKGkoMjU1LG8pLG89cygpLGkoMCkpfWZ1bmN0aW9uIGQobSl7cHw9bTw8aCxoKz1jLGIoOCl9bGV0IHU9ZVswXSZ0LEM9e30seSxTLHc7ZChuKTtmb3IobGV0IG09ZS5sZW5ndGgsST0xO0k8bTsrK0kpaWYodz1lW0ldJnQseT11PDw4fHcsUz1DW3ldLFM9PT12b2lkIDApe2ZvcihwfD11PDxoLGgrPWM7aD49ODspaShwJjI1NSkscD4+PTgsaC09OCxmKG8pPT09MjU2JiYoaSgyNTUsbyksbz1zKCksaSgwKSk7Zz09PTQwOTY/KGQobiksZz1sKzEsYz1yKzEsQz17fSk6KGc+PTE8PGMmJisrYyxDW3ldPWcrKyksdT13fWVsc2UgdT1TO2QodSksZChsKSxiKDEpLGYobyk9PT0xP2koMCxvKTooaShmKG8pLTEsbyksaSgwKSl9ZnVuY3Rpb24gS2Uocj17fSl7Y29uc3R7Y2h1bmtTaXplOmU9NDA5Nn09cjtsZXQgYT1bbmV3IFVpbnQ4QXJyYXkoZSldLGk9MCxzPTA7Y29uc3QgZj0obix0KT0+e3Q/YVt0WzBdXVt0WzFdXT1uOihzPj1lJiYoYVsrK2ldPW5ldyBVaW50OEFycmF5KGUpLHM9MCksYVtpXVtzKytdPW4pfSxvPW49Pm4uZm9yRWFjaCh0PT5mKHQpKTtyZXR1cm57Z2V0Q3Vyc29yOigpPT5baSxzXSxzZXRDdXJzb3I6bj0+e2k9blswXSxzPW5bMV19LGNhbGN1bGF0ZURpc3RhbmNlOm49PmkqZStzLShuWzBdKmUrblsxXSksd3JpdGVCeXRlOmYsd3JpdGVCeXRlczpvLHdyaXRlU3RyaW5nOm49Pm4uc3BsaXQoIiIpLmZvckVhY2goKHQsbCk9PmYobi5jaGFyQ29kZUF0KGwpKSksd3JpdGVVbnNpZ25lZDpuPT5vKFtuJjI1NSxuPj44JjI1NV0pLGZsdXNoOigpPT57YVtpXT1hW2ldLnNsaWNlKDAscyk7Y29uc3Qgbj1uZXcgVWludDhBcnJheShhLnJlZHVjZSgobCxnKT0+bCtnLmJ5dGVMZW5ndGgsMCkpO2xldCB0PTA7cmV0dXJuIGEuZm9yRWFjaChsPT57bi5zZXQobCx0KSx0Kz1sLmJ5dGVMZW5ndGh9KSxhPVtuZXcgVWludDhBcnJheShlKV0saT0wLHM9MCxufX19ZnVuY3Rpb24gVmUocil7dmFyIEMseSxTO2NvbnN0IGU9S2UoKSx7d3JpdGVCeXRlOmEsd3JpdGVCeXRlczppLHdyaXRlVW5zaWduZWQ6cyxmbHVzaDpmfT1lLHtsZWZ0Om89MCx0b3A6bj0wLHdpZHRoOnQ9MCxoZWlnaHQ6bD0wLGRlbGF5Omc9MTAwLGNvbG9yVGFibGU6Y309cjtsZXR7ZGlzcG9zYWw6aD0wfT1yO2NvbnN0IHA9KEM9ci5ncmFwaGljQ29udHJvbCk9PW51bGw/dm9pZCAwOkMudHJhbnNwYXJlbnQ7bGV0IGI9KFM9KHk9ci5ncmFwaGljQ29udHJvbCk9PW51bGw/dm9pZCAwOnkudHJhbnNwYXJlbnRJbmRleCkhPW51bGw/UzoyNTU7aWYobzwwfHxvPjY1NTM1KXRocm93IG5ldyBFcnJvcigiTGVmdCBpbnZhbGlkLiIpO2lmKG48MHx8bj42NTUzNSl0aHJvdyBuZXcgRXJyb3IoIlRvcCBpbnZhbGlkLiIpO2lmKHQ8PTB8fHQ+NjU1MzUpdGhyb3cgbmV3IEVycm9yKCJXaWR0aCBpbnZhbGlkLiIpO2lmKGw8PTB8fGw+NjU1MzUpdGhyb3cgbmV3IEVycm9yKCJIZWlnaHQgaW52YWxpZC4iKTtsZXQgZD04LHU9Yz9jLmxlbmd0aDowO2lmKHUpe2lmKHU8Mnx8dT4yNTZ8fHUmdS0xKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBjb2xvciB0YWJsZSBsZW5ndGgsIG11c3QgYmUgcG93ZXIgb2YgMiBhbmQgMiAuLiAyNTYuIik7Zm9yKDt1Pj49MTspKytkfXJldHVybiBhKG9lKSxhKGFlKSxhKHNlKSxwP2h8fChoPTIpOmI9MCxhKHBhcnNlSW50KGAwMDAke051bWJlcihoJjcpLnRvU3RyaW5nKDIpLnBhZFN0YXJ0KDMsIjAiKX0wJHtwPzE6MH1gLDIpKSxzKGcvMTApLGEoYiksYSgwKSxhKHJlKSxzKG8pLHMobikscyh0KSxzKGwpLGMhPW51bGwmJmMubGVuZ3RoPyhhKHBhcnNlSW50KGAxMDAwMCR7KGQtMSkudG9TdHJpbmcoMikucGFkU3RhcnQoMywiMCIpfWAsMikpLGkoYy5mbGF0KCkpKTphKDApLFdlKGQsci5pbWFnZURhdGEsZSksZigpfWZ1bmN0aW9uIGplKHIpe2NvbnN0e2ZyYW1lczplLHBhbGV0dGU6YSx0cmFuc3BhcmVudEluZGV4Oml9PXIscz1lZShhKTtyZXR1cm4gZS5tYXAoKHtpbWFnZURhdGE6Zn0pPT57bGV0IG89ITE7Y29uc3Qgbj1uZXcgVWludDhDbGFtcGVkQXJyYXkoZi5sZW5ndGgvNCk7Zm9yKGxldCB0PWYubGVuZ3RoLGw9MDtsPHQ7bCs9NClmW2wrM109PT0wPyhuW2wvNF09aSxvPSEwKTpuW2wvNF09cyhmW2xdPDwxNnxmW2wrMV08PDh8ZltsKzJdKTtyZXR1cm57aW1hZ2VEYXRhOm4sdHJhbnNwYXJlbnQ6b319KX1mdW5jdGlvbiBaZShyKXtjb25zdHtmcmFtZXM6ZSx0cmFuc3BhcmVudEluZGV4OmF9PXI7bGV0IGk7cmV0dXJuIGUubWFwKChzLGYpPT57dmFyIHksUztjb25zdHt3aWR0aDpvLGhlaWdodDpuLGltYWdlRGF0YTp0fT1zLGw9cy50cmFuc3BhcmVudHx8KChTPSh5PWVbZisxXSk9PW51bGw/dm9pZCAwOnkudHJhbnNwYXJlbnQpIT1udWxsP1M6ITApO2xldCBnPTAsYz0wLGg9by0xLHA9bi0xLGI7aWYobCl7Zm9yKDtjPHA7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKWlmKHRbbypjK21dIT09YSl7dz0hMTticmVha31pZighdylicmVhaztjKyt9Zm9yKDtwPmM7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKWlmKHRbbypwK21dIT09YSl7dz0hMTticmVha31pZighdylicmVhaztwLS19Zm9yKDtnPGg7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPHA7bSsrKWlmKHRbbyptK2ddIT09YSl7dz0hMTticmVha31pZighdylicmVhaztnKyt9Zm9yKDtoPmc7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPHA7bSsrKWlmKHRbbyptK2hdIT09YSl7dz0hMTticmVha31pZighdylicmVhaztoLS19fWVsc2V7aWYoaSl7Zm9yKDtjPHA7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKXtjb25zdCBJPW8qYyttO2lmKHRbSV0hPT1pW0ldKXt3PSExO2JyZWFrfX1pZighdylicmVhaztjKyt9Zm9yKDtwPmM7KXtsZXQgdz0hMDtmb3IobGV0IG09MDttPG87bSsrKXtjb25zdCBJPW8qcCttO2lmKHRbSV0hPT1pW0ldKXt3PSExO2JyZWFrfX1pZighdylicmVhaztwLS19aWYoYz09PXApZz1oO2Vsc2V7Zm9yKDtnPGg7KXtsZXQgdz0hMDtmb3IobGV0IG09YzttPD1wO20rKyl7Y29uc3QgST1tKm8rZztpZih0W0ldIT09aVtJXSl7dz0hMTticmVha319aWYoIXcpYnJlYWs7ZysrfWZvcig7aD5nOyl7bGV0IHc9ITA7Zm9yKGxldCBtPWM7bTw9cDttKyspe2NvbnN0IEk9bSpvK2g7aWYodFtJXSE9PWlbSV0pe3c9ITE7YnJlYWt9fWlmKCF3KWJyZWFrO2gtLX19fWI9aSxpPXR9Y29uc3QgZD1oKzEtZyx1PXArMS1jLEM9RGUodCx7bGVmdDpnLHRvcDpjLHdpZHRoOmQsaGVpZ2h0OnUscmF3V2lkdGg6byxyYXRlOjEsY2FsbGJhY2s6dz0+e2lmKCFsJiZiJiZ0W3ddPT09Ylt3XSlyZXR1cm4gYX19KTtyZXR1cm57bGVmdDpnLHRvcDpjLHdpZHRoOmQsaGVpZ2h0OnUsZGlzcG9zYWw6bD8yOjEsaW1hZ2VEYXRhOkN9fSl9Y29uc3QgTj1UZSh7c2tpcFRyYW5zcGFyZW50OiExfSk7c2VsZi5vbm1lc3NhZ2U9cj0+e2NvbnN0e2lkOmUsdHlwZTphLGRhdGE6aX09ci5kYXRhO2lmKGE9PT0icGFsZXR0ZTphZGRTYW1wbGUiJiZOKXJldHVybiBOLmFkZFNhbXBsZShpKSxzZWxmLnBvc3RNZXNzYWdlKHtpZDplLHR5cGU6YSxkYXRhOiEwfSk7aWYoYT09PSJwYWxldHRlOmdlbmVyYXRlIiYmTil7Ti5nZW5lcmF0ZShpKTtjb25zdCBzPXEoe30sTi5jb250ZXh0KTtyZXR1cm4gTi5yZXNldCgpLHNlbGYucG9zdE1lc3NhZ2Uoe2lkOmUsdHlwZTphLGRhdGE6c30pfWlmKGE9PT0iZnJhbWVzOmluZGV4Iil7Y29uc3Qgcz1qZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX1pZihhPT09ImZyYW1lczpjcm9wIil7Y29uc3Qgcz1aZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX1pZihhPT09ImZyYW1lOmVuY29kZSIpe2NvbnN0IHM9VmUoaSk7cmV0dXJuIHNlbGYucG9zdE1lc3NhZ2Uoe2lkOmUsdHlwZTphLGRhdGE6c30sW3MuYnVmZmVyXSl9aWYoYT09PSJmcmFtZXM6ZGVjb2RlIil7Y29uc3Qgcz1GZShpKTtyZXR1cm4gc2VsZi5wb3N0TWVzc2FnZSh7aWQ6ZSx0eXBlOmEsZGF0YTpzfSxzLm1hcChmPT5mLmltYWdlRGF0YS5idWZmZXIpKX19fSkoKTsK", Pt = (e) => Ee(void 0, null, function* () {
|
|
3009
3019
|
const {
|
|
3010
3020
|
perFrameTime: r = 1e3 / 24,
|
|
3011
3021
|
gif: a,
|
|
@@ -3013,8 +3023,8 @@ const Br = "data:application/javascript;base64,dmFyIFFlPU9iamVjdC5kZWZpbmVQcm9wZ
|
|
|
3013
3023
|
autoSize: m = !0
|
|
3014
3024
|
} = e, l = he({}, a), i = [];
|
|
3015
3025
|
if (m) {
|
|
3016
|
-
const y = (a == null ? void 0 : a.width) || Math.min(...p.map((z) => z.width)),
|
|
3017
|
-
l.width = y, l.height =
|
|
3026
|
+
const y = (a == null ? void 0 : a.width) || Math.min(...p.map((z) => z.width)), S = (a == null ? void 0 : a.height) || Math.min(...p.map((z) => z.height));
|
|
3027
|
+
l.width = y, l.height = S;
|
|
3018
3028
|
}
|
|
3019
3029
|
p.forEach((y) => {
|
|
3020
3030
|
i.push({
|
|
@@ -3022,22 +3032,22 @@ const Br = "data:application/javascript;base64,dmFyIFFlPU9iamVjdC5kZWZpbmVQcm9wZ
|
|
|
3022
3032
|
delay: r
|
|
3023
3033
|
});
|
|
3024
3034
|
});
|
|
3025
|
-
const o = yield
|
|
3026
|
-
workerUrl:
|
|
3035
|
+
const o = yield Hr({
|
|
3036
|
+
workerUrl: Jr,
|
|
3027
3037
|
width: l.width || 200,
|
|
3028
3038
|
height: l.height || 200,
|
|
3029
3039
|
maxColors: 255,
|
|
3030
3040
|
frames: i
|
|
3031
3041
|
});
|
|
3032
3042
|
return new Blob([o], { type: "image/gif" });
|
|
3033
|
-
}),
|
|
3043
|
+
}), Qr = {
|
|
3034
3044
|
formatter(e) {
|
|
3035
3045
|
return !!e;
|
|
3036
3046
|
},
|
|
3037
3047
|
normalize(e) {
|
|
3038
3048
|
return e ? "true" : void 0;
|
|
3039
3049
|
}
|
|
3040
|
-
},
|
|
3050
|
+
}, _r = ({ nodePath: e }) => /* @__PURE__ */ t.createElement(ot, null, /* @__PURE__ */ t.createElement(
|
|
3041
3051
|
Kt,
|
|
3042
3052
|
{
|
|
3043
3053
|
desktop: /* @__PURE__ */ t.createElement(
|
|
@@ -3062,17 +3072,17 @@ function sn({
|
|
|
3062
3072
|
}) {
|
|
3063
3073
|
const { onUpload: a } = dt(), { setFieldValue: p } = qe(), { selectedNode: m } = ze(), { setLock: l } = ut(), [i, o] = Ve(!1), d = t.useRef();
|
|
3064
3074
|
$e(() => {
|
|
3065
|
-
var
|
|
3066
|
-
d.current ? st((
|
|
3075
|
+
var S;
|
|
3076
|
+
d.current ? st((S = d.current) == null ? void 0 : S.data.list, m == null ? void 0 : m.data.list) ? l(!1) : l(!0) : d.current = De(m);
|
|
3067
3077
|
}, [m, l]);
|
|
3068
3078
|
const y = () => Ee(this, null, function* () {
|
|
3069
3079
|
if (m)
|
|
3070
3080
|
try {
|
|
3071
3081
|
o(!0);
|
|
3072
|
-
const
|
|
3082
|
+
const S = yield Promise.all(
|
|
3073
3083
|
m.data.list.filter((Y) => Y.src).map((Y) => un(Y.src))
|
|
3074
3084
|
), z = yield Pt({
|
|
3075
|
-
images:
|
|
3085
|
+
images: S,
|
|
3076
3086
|
perFrameTime: 1e3
|
|
3077
3087
|
}), D = yield a == null ? void 0 : a(
|
|
3078
3088
|
new File([z], "shopwindow.gif", { type: "image/gif" })
|
|
@@ -3088,8 +3098,8 @@ function sn({
|
|
|
3088
3098
|
r === ue.DESKTOP ? "attributes.src" : "mobileAttributes.src",
|
|
3089
3099
|
D
|
|
3090
3100
|
), d.current = K;
|
|
3091
|
-
} catch (
|
|
3092
|
-
console.error(
|
|
3101
|
+
} catch (S) {
|
|
3102
|
+
console.error(S), Je.error(String(S));
|
|
3093
3103
|
} finally {
|
|
3094
3104
|
o(!1);
|
|
3095
3105
|
}
|
|
@@ -3108,8 +3118,8 @@ function sn({
|
|
|
3108
3118
|
tabPosition: "top",
|
|
3109
3119
|
name: "data.list",
|
|
3110
3120
|
label: "",
|
|
3111
|
-
renderItem: (
|
|
3112
|
-
renderHeader: (
|
|
3121
|
+
renderItem: (S, z) => /* @__PURE__ */ t.createElement(qr, { index: z, path: e }),
|
|
3122
|
+
renderHeader: (S, z) => S.content || v("Image") + " " + (z + 1)
|
|
3113
3123
|
}
|
|
3114
3124
|
)
|
|
3115
3125
|
), /* @__PURE__ */ t.createElement(de.Item, { name: "1", header: v("Image settings") }, /* @__PURE__ */ t.createElement(
|
|
@@ -3135,7 +3145,7 @@ function sn({
|
|
|
3135
3145
|
path: e,
|
|
3136
3146
|
name: "fluid-on-mobile",
|
|
3137
3147
|
label: v("Full width on mobile"),
|
|
3138
|
-
formItem:
|
|
3148
|
+
formItem: Qr
|
|
3139
3149
|
}
|
|
3140
3150
|
)), /* @__PURE__ */ t.createElement(de.Item, { name: "0", header: v("Dimension") }, /* @__PURE__ */ t.createElement(
|
|
3141
3151
|
$,
|
|
@@ -3182,7 +3192,7 @@ function sn({
|
|
|
3182
3192
|
}
|
|
3183
3193
|
))) : null;
|
|
3184
3194
|
}
|
|
3185
|
-
function
|
|
3195
|
+
function qr({ index: e, path: r }) {
|
|
3186
3196
|
return /* @__PURE__ */ t.createElement("div", { style: { paddingTop: 20 } }, /* @__PURE__ */ t.createElement(
|
|
3187
3197
|
X.ImageUrl,
|
|
3188
3198
|
{
|
|
@@ -3192,8 +3202,8 @@ function Qr({ index: e, path: r }) {
|
|
|
3192
3202
|
}
|
|
3193
3203
|
));
|
|
3194
3204
|
}
|
|
3195
|
-
const
|
|
3196
|
-
function
|
|
3205
|
+
const $r = ({ nodePath: e }) => /* @__PURE__ */ t.createElement(ot, null, /* @__PURE__ */ t.createElement(eo, { mode: ue.DESKTOP, nodePath: e }));
|
|
3206
|
+
function eo({
|
|
3197
3207
|
nodePath: e,
|
|
3198
3208
|
mode: r
|
|
3199
3209
|
}) {
|
|
@@ -3201,7 +3211,7 @@ function qr({
|
|
|
3201
3211
|
$e(() => {
|
|
3202
3212
|
y.current ? st(y.current, l) ? i(!1) : i(!0) : y.current = De(l);
|
|
3203
3213
|
}, [l, i]);
|
|
3204
|
-
const
|
|
3214
|
+
const S = () => Ee(this, null, function* () {
|
|
3205
3215
|
if (l)
|
|
3206
3216
|
try {
|
|
3207
3217
|
d(!0);
|
|
@@ -3218,8 +3228,8 @@ function qr({
|
|
|
3218
3228
|
Y = 60 * 60 * 24 * Y;
|
|
3219
3229
|
}
|
|
3220
3230
|
const f = 60 * 2;
|
|
3221
|
-
for (let
|
|
3222
|
-
const { day:
|
|
3231
|
+
for (let Q = 0; Q < f; Q++) {
|
|
3232
|
+
const { day: J, hour: F, minute: ae, second: me } = Ge(
|
|
3223
3233
|
Y -= 1
|
|
3224
3234
|
), G = yield jt(z, {
|
|
3225
3235
|
wrapper(ye) {
|
|
@@ -3230,11 +3240,11 @@ function qr({
|
|
|
3230
3240
|
overwrite: [
|
|
3231
3241
|
{
|
|
3232
3242
|
selector: ".days",
|
|
3233
|
-
innerText:
|
|
3243
|
+
innerText: J
|
|
3234
3244
|
},
|
|
3235
3245
|
{
|
|
3236
3246
|
selector: ".hrs",
|
|
3237
|
-
innerText:
|
|
3247
|
+
innerText: F
|
|
3238
3248
|
},
|
|
3239
3249
|
{
|
|
3240
3250
|
selector: ".mins",
|
|
@@ -3251,19 +3261,19 @@ function qr({
|
|
|
3251
3261
|
const O = yield Pt({
|
|
3252
3262
|
images: D,
|
|
3253
3263
|
perFrameTime: 1e3
|
|
3254
|
-
}),
|
|
3264
|
+
}), A = yield p == null ? void 0 : p(
|
|
3255
3265
|
new File([O], "countdown.gif", { type: "image/gif" })
|
|
3256
3266
|
);
|
|
3257
3267
|
m(
|
|
3258
3268
|
e,
|
|
3259
3269
|
r === ue.DESKTOP ? "attributes.src" : "mobileAttributes.src",
|
|
3260
|
-
|
|
3270
|
+
A
|
|
3261
3271
|
);
|
|
3262
3272
|
const te = De(l);
|
|
3263
3273
|
Ce(
|
|
3264
3274
|
te,
|
|
3265
3275
|
r === ue.DESKTOP ? "attributes.src" : "mobileAttributes.src",
|
|
3266
|
-
|
|
3276
|
+
A
|
|
3267
3277
|
), y.current = te;
|
|
3268
3278
|
} catch (z) {
|
|
3269
3279
|
console.error(z), Je.error(String(z));
|
|
@@ -3276,7 +3286,7 @@ function qr({
|
|
|
3276
3286
|
{
|
|
3277
3287
|
name: "0",
|
|
3278
3288
|
header: v("Image"),
|
|
3279
|
-
extra: /* @__PURE__ */ t.createElement(ft, { loading: o, type: "primary", onClick:
|
|
3289
|
+
extra: /* @__PURE__ */ t.createElement(ft, { loading: o, type: "primary", onClick: S }, v("Save as gif"))
|
|
3280
3290
|
},
|
|
3281
3291
|
/* @__PURE__ */ t.createElement(
|
|
3282
3292
|
$,
|
|
@@ -3290,7 +3300,7 @@ function qr({
|
|
|
3290
3300
|
colSpan: 24
|
|
3291
3301
|
}
|
|
3292
3302
|
)
|
|
3293
|
-
), /* @__PURE__ */ t.createElement(de.Item, { name: "3", header: v("Settings") }, /* @__PURE__ */ t.createElement(
|
|
3303
|
+
), /* @__PURE__ */ t.createElement(de.Item, { name: "3", header: v("Settings") }, /* @__PURE__ */ t.createElement(Ne.Row, null, /* @__PURE__ */ t.createElement(Ne.Col, { span: 14, style: { textAlign: "right" } }, /* @__PURE__ */ t.createElement(
|
|
3294
3304
|
X.NumberField,
|
|
3295
3305
|
{
|
|
3296
3306
|
name: "data.remainingTime",
|
|
@@ -3306,7 +3316,7 @@ function qr({
|
|
|
3306
3316
|
}
|
|
3307
3317
|
}
|
|
3308
3318
|
}
|
|
3309
|
-
)), /* @__PURE__ */ t.createElement(
|
|
3319
|
+
)), /* @__PURE__ */ t.createElement(Ne.Col, { span: 10 }, /* @__PURE__ */ t.createElement(
|
|
3310
3320
|
X.SelectField,
|
|
3311
3321
|
{
|
|
3312
3322
|
name: "data.unit",
|
|
@@ -3380,37 +3390,37 @@ function qr({
|
|
|
3380
3390
|
}
|
|
3381
3391
|
))) : null;
|
|
3382
3392
|
}
|
|
3383
|
-
const
|
|
3384
|
-
function
|
|
3393
|
+
const to = ({ nodePath: e }) => /* @__PURE__ */ t.createElement(ot, null, /* @__PURE__ */ t.createElement(no, { mode: ue.DESKTOP, nodePath: e }));
|
|
3394
|
+
function no({
|
|
3385
3395
|
nodePath: e,
|
|
3386
3396
|
mode: r
|
|
3387
3397
|
}) {
|
|
3388
|
-
const a = wt(), { onUpload: p } = dt(), { setFieldValue: m } = qe(), { selectedNode: l } = ze(), i = (l == null ? void 0 : l.data.style) || "dark", [o, d] = Ve(!1), { setStandaloneElementPath: y, activeTab:
|
|
3389
|
-
const
|
|
3398
|
+
const a = wt(), { onUpload: p } = dt(), { setFieldValue: m } = qe(), { selectedNode: l } = ze(), i = (l == null ? void 0 : l.data.style) || "dark", [o, d] = Ve(!1), { setStandaloneElementPath: y, activeTab: S, setActiveTab: z } = ut(), D = Yn(S), K = t.useRef(), Y = (O) => {
|
|
3399
|
+
const A = Be[O];
|
|
3390
3400
|
a.replaceNode({
|
|
3391
3401
|
path: e,
|
|
3392
|
-
node: In(
|
|
3402
|
+
node: In(A)
|
|
3393
3403
|
});
|
|
3394
3404
|
}, f = mn(() => Ee(this, null, function* () {
|
|
3395
3405
|
if (!l)
|
|
3396
3406
|
return;
|
|
3397
|
-
const O = (
|
|
3398
|
-
const te = Xt.toDOMNode(a, l),
|
|
3399
|
-
let
|
|
3400
|
-
switch (
|
|
3407
|
+
const O = (A) => Ee(this, null, function* () {
|
|
3408
|
+
const te = Xt.toDOMNode(a, l), Q = [], J = l.data;
|
|
3409
|
+
let F = J.remainingTime;
|
|
3410
|
+
switch (J.unit) {
|
|
3401
3411
|
case "minute":
|
|
3402
|
-
|
|
3412
|
+
F = 60 * F;
|
|
3403
3413
|
break;
|
|
3404
3414
|
case "hour":
|
|
3405
|
-
|
|
3415
|
+
F = 60 * 60 * F;
|
|
3406
3416
|
break;
|
|
3407
3417
|
case "day":
|
|
3408
|
-
|
|
3418
|
+
F = 60 * 60 * 24 * F;
|
|
3409
3419
|
}
|
|
3410
3420
|
const ae = 60 * 2;
|
|
3411
3421
|
for (let pe = 0; pe < ae; pe++) {
|
|
3412
3422
|
const { day: ye, hour: be, minute: ke, second: W } = Ge(
|
|
3413
|
-
|
|
3423
|
+
F -= 1
|
|
3414
3424
|
), Z = yield jt(te, {
|
|
3415
3425
|
wrapper(k) {
|
|
3416
3426
|
const T = document.createElement("div");
|
|
@@ -3434,12 +3444,12 @@ function eo({
|
|
|
3434
3444
|
innerText: W
|
|
3435
3445
|
}
|
|
3436
3446
|
],
|
|
3437
|
-
width:
|
|
3447
|
+
width: A.width
|
|
3438
3448
|
}), I = yield Vt(Z);
|
|
3439
|
-
|
|
3449
|
+
Q.push(I);
|
|
3440
3450
|
}
|
|
3441
3451
|
const me = yield Pt({
|
|
3442
|
-
images:
|
|
3452
|
+
images: Q,
|
|
3443
3453
|
perFrameTime: 1e3
|
|
3444
3454
|
});
|
|
3445
3455
|
return yield p == null ? void 0 : p(
|
|
@@ -3447,15 +3457,17 @@ function eo({
|
|
|
3447
3457
|
);
|
|
3448
3458
|
});
|
|
3449
3459
|
try {
|
|
3450
|
-
d(!0)
|
|
3451
|
-
const
|
|
3452
|
-
|
|
3460
|
+
d(!0);
|
|
3461
|
+
const A = D.current;
|
|
3462
|
+
z(ue.DESKTOP);
|
|
3453
3463
|
const te = yield O({});
|
|
3454
|
-
|
|
3464
|
+
yield new Promise((F) => setTimeout(F, 100)), z(ue.MOBILE);
|
|
3465
|
+
const Q = yield O({});
|
|
3466
|
+
z(A), m(e, "attributes.src", te), m(e, "mobileAttributes.src", Q);
|
|
3455
3467
|
const J = De(l);
|
|
3456
|
-
Ce(J, "attributes.src",
|
|
3457
|
-
} catch (
|
|
3458
|
-
console.error(
|
|
3468
|
+
Ce(J, "attributes.src", te), Ce(J, "mobileAttributes.src", Q), K.current = J, y(null);
|
|
3469
|
+
} catch (A) {
|
|
3470
|
+
console.error(A), Je.error(String(A));
|
|
3459
3471
|
} finally {
|
|
3460
3472
|
d(!1);
|
|
3461
3473
|
}
|
|
@@ -3479,7 +3491,7 @@ function eo({
|
|
|
3479
3491
|
onlyPreview: !0,
|
|
3480
3492
|
colSpan: 24
|
|
3481
3493
|
}
|
|
3482
|
-
)), /* @__PURE__ */ t.createElement(de.Item, { name: "3", header: v("Settings") }, /* @__PURE__ */ t.createElement(
|
|
3494
|
+
)), /* @__PURE__ */ t.createElement(de.Item, { name: "3", header: v("Settings") }, /* @__PURE__ */ t.createElement(Ne.Row, null, /* @__PURE__ */ t.createElement(Ne.Col, { span: 24 }, /* @__PURE__ */ t.createElement(
|
|
3483
3495
|
X.SelectField,
|
|
3484
3496
|
{
|
|
3485
3497
|
name: "data.style",
|
|
@@ -3496,7 +3508,7 @@ function eo({
|
|
|
3496
3508
|
],
|
|
3497
3509
|
onChange: Y
|
|
3498
3510
|
}
|
|
3499
|
-
))), /* @__PURE__ */ t.createElement(
|
|
3511
|
+
))), /* @__PURE__ */ t.createElement(Ne.Row, null, /* @__PURE__ */ t.createElement(Ne.Col, { span: 14, style: { textAlign: "right" } }, /* @__PURE__ */ t.createElement(
|
|
3500
3512
|
X.NumberField,
|
|
3501
3513
|
{
|
|
3502
3514
|
name: "data.remainingTime",
|
|
@@ -3512,7 +3524,7 @@ function eo({
|
|
|
3512
3524
|
}
|
|
3513
3525
|
}
|
|
3514
3526
|
}
|
|
3515
|
-
)), /* @__PURE__ */ t.createElement(
|
|
3527
|
+
)), /* @__PURE__ */ t.createElement(Ne.Col, { span: 10 }, /* @__PURE__ */ t.createElement(
|
|
3516
3528
|
X.SelectField,
|
|
3517
3529
|
{
|
|
3518
3530
|
name: "data.unit",
|
|
@@ -3525,7 +3537,7 @@ function eo({
|
|
|
3525
3537
|
{ label: v("Second"), value: "second" }
|
|
3526
3538
|
]
|
|
3527
3539
|
}
|
|
3528
|
-
))), /* @__PURE__ */ t.createElement(
|
|
3540
|
+
))), /* @__PURE__ */ t.createElement(Ne.Row, null, /* @__PURE__ */ t.createElement(Ne.Col, null, /* @__PURE__ */ t.createElement(
|
|
3529
3541
|
X.SwitchField,
|
|
3530
3542
|
{
|
|
3531
3543
|
name: "data.hideTextNode",
|
|
@@ -3796,7 +3808,7 @@ function eo({
|
|
|
3796
3808
|
}
|
|
3797
3809
|
))), /* @__PURE__ */ t.createElement(de.Item, { name: "2", header: v("Dimension") }, /* @__PURE__ */ t.createElement(X.Padding, { path: e, name: "attributes" })))) : null;
|
|
3798
3810
|
}
|
|
3799
|
-
function
|
|
3811
|
+
function ro(e) {
|
|
3800
3812
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
3801
3813
|
}
|
|
3802
3814
|
var Mn = { exports: {} };
|
|
@@ -3807,7 +3819,7 @@ var Mn = { exports: {} };
|
|
|
3807
3819
|
return (() => {
|
|
3808
3820
|
var a = { 192: (l, i) => {
|
|
3809
3821
|
var o, d, y = function() {
|
|
3810
|
-
var
|
|
3822
|
+
var S = function(W, Z) {
|
|
3811
3823
|
var I = W, k = O[Z], T = null, V = 0, U = null, P = [], B = {}, xe = function(h, g) {
|
|
3812
3824
|
T = function(u) {
|
|
3813
3825
|
for (var M = new Array(u), E = 0; E < u; E += 1) {
|
|
@@ -3816,8 +3828,8 @@ var Mn = { exports: {} };
|
|
|
3816
3828
|
M[E][j] = null;
|
|
3817
3829
|
}
|
|
3818
3830
|
return M;
|
|
3819
|
-
}(V = 4 * I + 17),
|
|
3820
|
-
},
|
|
3831
|
+
}(V = 4 * I + 17), N(0, 0), N(V - 7, 0), N(0, V - 7), c(), n(), b(h, g), I >= 7 && s(h), U == null && (U = w(I, k, P)), x(U, g);
|
|
3832
|
+
}, N = function(h, g) {
|
|
3821
3833
|
for (var u = -1; u <= 7; u += 1)
|
|
3822
3834
|
if (!(h + u <= -1 || V <= h + u))
|
|
3823
3835
|
for (var M = -1; M <= 7; M += 1)
|
|
@@ -3828,7 +3840,7 @@ var Mn = { exports: {} };
|
|
|
3828
3840
|
for (var g = 8; g < V - 8; g += 1)
|
|
3829
3841
|
T[6][g] == null && (T[6][g] = g % 2 == 0);
|
|
3830
3842
|
}, c = function() {
|
|
3831
|
-
for (var h =
|
|
3843
|
+
for (var h = A.getPatternPosition(I), g = 0; g < h.length; g += 1)
|
|
3832
3844
|
for (var u = 0; u < h.length; u += 1) {
|
|
3833
3845
|
var M = h[g], E = h[u];
|
|
3834
3846
|
if (T[M][E] == null)
|
|
@@ -3837,14 +3849,14 @@ var Mn = { exports: {} };
|
|
|
3837
3849
|
T[M + j][E + R] = j == -2 || j == 2 || R == -2 || R == 2 || j == 0 && R == 0;
|
|
3838
3850
|
}
|
|
3839
3851
|
}, s = function(h) {
|
|
3840
|
-
for (var g =
|
|
3852
|
+
for (var g = A.getBCHTypeNumber(I), u = 0; u < 18; u += 1) {
|
|
3841
3853
|
var M = !h && (g >> u & 1) == 1;
|
|
3842
3854
|
T[Math.floor(u / 3)][u % 3 + V - 8 - 3] = M;
|
|
3843
3855
|
}
|
|
3844
3856
|
for (u = 0; u < 18; u += 1)
|
|
3845
3857
|
M = !h && (g >> u & 1) == 1, T[u % 3 + V - 8 - 3][Math.floor(u / 3)] = M;
|
|
3846
3858
|
}, b = function(h, g) {
|
|
3847
|
-
for (var u = k << 3 | g, M =
|
|
3859
|
+
for (var u = k << 3 | g, M = A.getBCHTypeInfo(u), E = 0; E < 15; E += 1) {
|
|
3848
3860
|
var j = !h && (M >> E & 1) == 1;
|
|
3849
3861
|
E < 6 ? T[E][8] = j : E < 8 ? T[E + 1][8] = j : T[V - 15 + E][8] = j;
|
|
3850
3862
|
}
|
|
@@ -3852,7 +3864,7 @@ var Mn = { exports: {} };
|
|
|
3852
3864
|
j = !h && (M >> E & 1) == 1, E < 8 ? T[8][V - E - 1] = j : E < 9 ? T[8][15 - E - 1 + 1] = j : T[8][15 - E - 1] = j;
|
|
3853
3865
|
T[V - 8][8] = !h;
|
|
3854
3866
|
}, x = function(h, g) {
|
|
3855
|
-
for (var u = -1, M = V - 1, E = 7, j = 0, R =
|
|
3867
|
+
for (var u = -1, M = V - 1, E = 7, j = 0, R = A.getMaskFunction(g), L = V - 1; L > 0; L -= 2)
|
|
3856
3868
|
for (L == 6 && (L -= 1); ; ) {
|
|
3857
3869
|
for (var H = 0; H < 2; H += 1)
|
|
3858
3870
|
if (T[M][L - H] == null) {
|
|
@@ -3865,9 +3877,9 @@ var Mn = { exports: {} };
|
|
|
3865
3877
|
}
|
|
3866
3878
|
}
|
|
3867
3879
|
}, w = function(h, g, u) {
|
|
3868
|
-
for (var M =
|
|
3880
|
+
for (var M = J.getRSBlocks(h, g), E = F(), j = 0; j < u.length; j += 1) {
|
|
3869
3881
|
var R = u[j];
|
|
3870
|
-
E.put(R.getMode(), 4), E.put(R.getLength(),
|
|
3882
|
+
E.put(R.getMode(), 4), E.put(R.getLength(), A.getLengthInBits(R.getMode(), h)), R.write(E);
|
|
3871
3883
|
}
|
|
3872
3884
|
var L = 0;
|
|
3873
3885
|
for (j = 0; j < M.length; j += 1)
|
|
@@ -3880,12 +3892,12 @@ var Mn = { exports: {} };
|
|
|
3880
3892
|
E.put(17, 8);
|
|
3881
3893
|
return function(H, q) {
|
|
3882
3894
|
for (var ne = 0, se = 0, _ = 0, re = new Array(q.length), ee = new Array(q.length), oe = 0; oe < q.length; oe += 1) {
|
|
3883
|
-
var
|
|
3884
|
-
se = Math.max(se,
|
|
3895
|
+
var Se = q[oe].dataCount, ge = q[oe].totalCount - Se;
|
|
3896
|
+
se = Math.max(se, Se), _ = Math.max(_, ge), re[oe] = new Array(Se);
|
|
3885
3897
|
for (var ie = 0; ie < re[oe].length; ie += 1)
|
|
3886
3898
|
re[oe][ie] = 255 & H.getBuffer()[ie + ne];
|
|
3887
|
-
ne +=
|
|
3888
|
-
var fe =
|
|
3899
|
+
ne += Se;
|
|
3900
|
+
var fe = A.getErrorCorrectPolynomial(ge), ce = Q(re[oe], fe.getLength() - 1).mod(fe);
|
|
3889
3901
|
for (ee[oe] = new Array(fe.getLength() - 1), ie = 0; ie < ee[oe].length; ie += 1) {
|
|
3890
3902
|
var we = ie + ce.getLength() - ee[oe].length;
|
|
3891
3903
|
ee[oe][ie] = we >= 0 ? ce.getAt(we) : 0;
|
|
@@ -3932,9 +3944,9 @@ var Mn = { exports: {} };
|
|
|
3932
3944
|
}, B.make = function() {
|
|
3933
3945
|
if (I < 1) {
|
|
3934
3946
|
for (var h = 1; h < 40; h++) {
|
|
3935
|
-
for (var g =
|
|
3947
|
+
for (var g = J.getRSBlocks(h, k), u = F(), M = 0; M < P.length; M++) {
|
|
3936
3948
|
var E = P[M];
|
|
3937
|
-
u.put(E.getMode(), 4), u.put(E.getLength(),
|
|
3949
|
+
u.put(E.getMode(), 4), u.put(E.getLength(), A.getLengthInBits(E.getMode(), h)), E.write(u);
|
|
3938
3950
|
}
|
|
3939
3951
|
var j = 0;
|
|
3940
3952
|
for (M = 0; M < g.length; M++)
|
|
@@ -3947,7 +3959,7 @@ var Mn = { exports: {} };
|
|
|
3947
3959
|
xe(!1, function() {
|
|
3948
3960
|
for (var R = 0, L = 0, H = 0; H < 8; H += 1) {
|
|
3949
3961
|
xe(!0, H);
|
|
3950
|
-
var q =
|
|
3962
|
+
var q = A.getLostPoint(B);
|
|
3951
3963
|
(H == 0 || R > q) && (R = q, L = H);
|
|
3952
3964
|
}
|
|
3953
3965
|
return L;
|
|
@@ -4012,10 +4024,10 @@ var Mn = { exports: {} };
|
|
|
4012
4024
|
if ((h = h || 1) < 2)
|
|
4013
4025
|
return function(re) {
|
|
4014
4026
|
re = re === void 0 ? 2 : re;
|
|
4015
|
-
var ee, oe,
|
|
4027
|
+
var ee, oe, Se, ge, ie, fe = 1 * B.getModuleCount() + 2 * re, ce = re, we = fe - re, Me = { "██": "█", "█ ": "▀", " █": "▄", " ": " " }, ve = { "██": "▀", "█ ": "▀", " █": " ", " ": " " }, Te = "";
|
|
4016
4028
|
for (ee = 0; ee < fe; ee += 2) {
|
|
4017
|
-
for (
|
|
4018
|
-
ie = "█", ce <= oe && oe < we && ce <= ee && ee < we && B.isDark(
|
|
4029
|
+
for (Se = Math.floor((ee - ce) / 1), ge = Math.floor((ee + 1 - ce) / 1), oe = 0; oe < fe; oe += 1)
|
|
4030
|
+
ie = "█", ce <= oe && oe < we && ce <= ee && ee < we && B.isDark(Se, Math.floor((oe - ce) / 1)) && (ie = " "), ce <= oe && oe < we && ce <= ee + 1 && ee + 1 < we && B.isDark(ge, Math.floor((oe - ce) / 1)) ? ie += " " : ie += "█", Te += re < 1 && ee + 1 >= we ? ve[ie] : Me[ie];
|
|
4019
4031
|
Te += `
|
|
4020
4032
|
`;
|
|
4021
4033
|
}
|
|
@@ -4038,13 +4050,13 @@ var Mn = { exports: {} };
|
|
|
4038
4050
|
h.fillStyle = B.isDark(M, E) ? "black" : "white", h.fillRect(M * g, E * g, g, g);
|
|
4039
4051
|
}, B;
|
|
4040
4052
|
};
|
|
4041
|
-
|
|
4053
|
+
S.stringToBytes = (S.stringToBytesFuncs = { default: function(W) {
|
|
4042
4054
|
for (var Z = [], I = 0; I < W.length; I += 1) {
|
|
4043
4055
|
var k = W.charCodeAt(I);
|
|
4044
4056
|
Z.push(255 & k);
|
|
4045
4057
|
}
|
|
4046
4058
|
return Z;
|
|
4047
|
-
} }).default,
|
|
4059
|
+
} }).default, S.createStringToBytes = function(W, Z) {
|
|
4048
4060
|
var I = function() {
|
|
4049
4061
|
for (var T = be(W), V = function() {
|
|
4050
4062
|
var n = T.read();
|
|
@@ -4055,8 +4067,8 @@ var Mn = { exports: {} };
|
|
|
4055
4067
|
var B = T.read();
|
|
4056
4068
|
if (B == -1)
|
|
4057
4069
|
break;
|
|
4058
|
-
var xe = V(),
|
|
4059
|
-
P[String.fromCharCode(B << 8 | xe)] =
|
|
4070
|
+
var xe = V(), N = V() << 8 | V();
|
|
4071
|
+
P[String.fromCharCode(B << 8 | xe)] = N, U += 1;
|
|
4060
4072
|
}
|
|
4061
4073
|
if (U != Z)
|
|
4062
4074
|
throw U + " != " + Z;
|
|
@@ -4075,7 +4087,7 @@ var Mn = { exports: {} };
|
|
|
4075
4087
|
return V;
|
|
4076
4088
|
};
|
|
4077
4089
|
};
|
|
4078
|
-
var z, D, K, Y, f, O = { L: 1, M: 0, Q: 3, H: 2 },
|
|
4090
|
+
var z, D, K, Y, f, O = { L: 1, M: 0, Q: 3, H: 2 }, A = (z = [[], [6, 18], [6, 22], [6, 26], [6, 30], [6, 34], [6, 22, 38], [6, 24, 42], [6, 26, 46], [6, 28, 50], [6, 30, 54], [6, 32, 58], [6, 34, 62], [6, 26, 46, 66], [6, 26, 48, 70], [6, 26, 50, 74], [6, 30, 54, 78], [6, 30, 56, 82], [6, 30, 58, 86], [6, 34, 62, 90], [6, 28, 50, 72, 94], [6, 26, 50, 74, 98], [6, 30, 54, 78, 102], [6, 28, 54, 80, 106], [6, 32, 58, 84, 110], [6, 30, 58, 86, 114], [6, 34, 62, 90, 118], [6, 26, 50, 74, 98, 122], [6, 30, 54, 78, 102, 126], [6, 26, 52, 78, 104, 130], [6, 30, 56, 82, 108, 134], [6, 34, 60, 86, 112, 138], [6, 30, 58, 86, 114, 142], [6, 34, 62, 90, 118, 146], [6, 30, 54, 78, 102, 126, 150], [6, 24, 50, 76, 102, 128, 154], [6, 28, 54, 80, 106, 132, 158], [6, 32, 58, 84, 110, 136, 162], [6, 26, 54, 82, 110, 138, 166], [6, 30, 58, 86, 114, 142, 170]], D = 1335, K = 7973, f = function(W) {
|
|
4079
4091
|
for (var Z = 0; W != 0; )
|
|
4080
4092
|
Z += 1, W >>>= 1;
|
|
4081
4093
|
return Z;
|
|
@@ -4127,8 +4139,8 @@ var Mn = { exports: {} };
|
|
|
4127
4139
|
throw "bad maskPattern:" + W;
|
|
4128
4140
|
}
|
|
4129
4141
|
}, Y.getErrorCorrectPolynomial = function(W) {
|
|
4130
|
-
for (var Z =
|
|
4131
|
-
Z = Z.multiply(
|
|
4142
|
+
for (var Z = Q([1], 0), I = 0; I < W; I += 1)
|
|
4143
|
+
Z = Z.multiply(Q([1, te.gexp(I)], 0));
|
|
4132
4144
|
return Z;
|
|
4133
4145
|
}, Y.getLengthInBits = function(W, Z) {
|
|
4134
4146
|
if (1 <= Z && Z < 10)
|
|
@@ -4192,11 +4204,11 @@ var Mn = { exports: {} };
|
|
|
4192
4204
|
for (T = 0; T < Z; T += 1)
|
|
4193
4205
|
for (k = 0; k < Z - 6; k += 1)
|
|
4194
4206
|
W.isDark(k, T) && !W.isDark(k + 1, T) && W.isDark(k + 2, T) && W.isDark(k + 3, T) && W.isDark(k + 4, T) && !W.isDark(k + 5, T) && W.isDark(k + 6, T) && (I += 40);
|
|
4195
|
-
var
|
|
4207
|
+
var N = 0;
|
|
4196
4208
|
for (T = 0; T < Z; T += 1)
|
|
4197
4209
|
for (k = 0; k < Z; k += 1)
|
|
4198
|
-
W.isDark(k, T) && (
|
|
4199
|
-
return I + Math.abs(100 *
|
|
4210
|
+
W.isDark(k, T) && (N += 1);
|
|
4211
|
+
return I + Math.abs(100 * N / Z / Z - 50) / 5 * 10;
|
|
4200
4212
|
}, Y), te = function() {
|
|
4201
4213
|
for (var W = new Array(256), Z = new Array(256), I = 0; I < 8; I += 1)
|
|
4202
4214
|
W[I] = 1 << I;
|
|
@@ -4216,7 +4228,7 @@ var Mn = { exports: {} };
|
|
|
4216
4228
|
return W[k];
|
|
4217
4229
|
} };
|
|
4218
4230
|
}();
|
|
4219
|
-
function
|
|
4231
|
+
function Q(W, Z) {
|
|
4220
4232
|
if (W.length === void 0)
|
|
4221
4233
|
throw W.length + "/" + Z;
|
|
4222
4234
|
var I = function() {
|
|
@@ -4233,7 +4245,7 @@ var Mn = { exports: {} };
|
|
|
4233
4245
|
for (var V = new Array(k.getLength() + T.getLength() - 1), U = 0; U < k.getLength(); U += 1)
|
|
4234
4246
|
for (var P = 0; P < T.getLength(); P += 1)
|
|
4235
4247
|
V[U + P] ^= te.gexp(te.glog(k.getAt(U)) + te.glog(T.getAt(P)));
|
|
4236
|
-
return
|
|
4248
|
+
return Q(V, 0);
|
|
4237
4249
|
}, mod: function(T) {
|
|
4238
4250
|
if (k.getLength() - T.getLength() < 0)
|
|
4239
4251
|
return k;
|
|
@@ -4241,11 +4253,11 @@ var Mn = { exports: {} };
|
|
|
4241
4253
|
U[P] = k.getAt(P);
|
|
4242
4254
|
for (P = 0; P < T.getLength(); P += 1)
|
|
4243
4255
|
U[P] ^= te.gexp(te.glog(T.getAt(P)) + V);
|
|
4244
|
-
return
|
|
4256
|
+
return Q(U, 0).mod(T);
|
|
4245
4257
|
} };
|
|
4246
4258
|
return k;
|
|
4247
4259
|
}
|
|
4248
|
-
var
|
|
4260
|
+
var J = function() {
|
|
4249
4261
|
var W = [[1, 26, 19], [1, 26, 16], [1, 26, 13], [1, 26, 9], [1, 44, 34], [1, 44, 28], [1, 44, 22], [1, 44, 16], [1, 70, 55], [1, 70, 44], [2, 35, 17], [2, 35, 13], [1, 100, 80], [2, 50, 32], [2, 50, 24], [4, 25, 9], [1, 134, 108], [2, 67, 43], [2, 33, 15, 2, 34, 16], [2, 33, 11, 2, 34, 12], [2, 86, 68], [4, 43, 27], [4, 43, 19], [4, 43, 15], [2, 98, 78], [4, 49, 31], [2, 32, 14, 4, 33, 15], [4, 39, 13, 1, 40, 14], [2, 121, 97], [2, 60, 38, 2, 61, 39], [4, 40, 18, 2, 41, 19], [4, 40, 14, 2, 41, 15], [2, 146, 116], [3, 58, 36, 2, 59, 37], [4, 36, 16, 4, 37, 17], [4, 36, 12, 4, 37, 13], [2, 86, 68, 2, 87, 69], [4, 69, 43, 1, 70, 44], [6, 43, 19, 2, 44, 20], [6, 43, 15, 2, 44, 16], [4, 101, 81], [1, 80, 50, 4, 81, 51], [4, 50, 22, 4, 51, 23], [3, 36, 12, 8, 37, 13], [2, 116, 92, 2, 117, 93], [6, 58, 36, 2, 59, 37], [4, 46, 20, 6, 47, 21], [7, 42, 14, 4, 43, 15], [4, 133, 107], [8, 59, 37, 1, 60, 38], [8, 44, 20, 4, 45, 21], [12, 33, 11, 4, 34, 12], [3, 145, 115, 1, 146, 116], [4, 64, 40, 5, 65, 41], [11, 36, 16, 5, 37, 17], [11, 36, 12, 5, 37, 13], [5, 109, 87, 1, 110, 88], [5, 65, 41, 5, 66, 42], [5, 54, 24, 7, 55, 25], [11, 36, 12, 7, 37, 13], [5, 122, 98, 1, 123, 99], [7, 73, 45, 3, 74, 46], [15, 43, 19, 2, 44, 20], [3, 45, 15, 13, 46, 16], [1, 135, 107, 5, 136, 108], [10, 74, 46, 1, 75, 47], [1, 50, 22, 15, 51, 23], [2, 42, 14, 17, 43, 15], [5, 150, 120, 1, 151, 121], [9, 69, 43, 4, 70, 44], [17, 50, 22, 1, 51, 23], [2, 42, 14, 19, 43, 15], [3, 141, 113, 4, 142, 114], [3, 70, 44, 11, 71, 45], [17, 47, 21, 4, 48, 22], [9, 39, 13, 16, 40, 14], [3, 135, 107, 5, 136, 108], [3, 67, 41, 13, 68, 42], [15, 54, 24, 5, 55, 25], [15, 43, 15, 10, 44, 16], [4, 144, 116, 4, 145, 117], [17, 68, 42], [17, 50, 22, 6, 51, 23], [19, 46, 16, 6, 47, 17], [2, 139, 111, 7, 140, 112], [17, 74, 46], [7, 54, 24, 16, 55, 25], [34, 37, 13], [4, 151, 121, 5, 152, 122], [4, 75, 47, 14, 76, 48], [11, 54, 24, 14, 55, 25], [16, 45, 15, 14, 46, 16], [6, 147, 117, 4, 148, 118], [6, 73, 45, 14, 74, 46], [11, 54, 24, 16, 55, 25], [30, 46, 16, 2, 47, 17], [8, 132, 106, 4, 133, 107], [8, 75, 47, 13, 76, 48], [7, 54, 24, 22, 55, 25], [22, 45, 15, 13, 46, 16], [10, 142, 114, 2, 143, 115], [19, 74, 46, 4, 75, 47], [28, 50, 22, 6, 51, 23], [33, 46, 16, 4, 47, 17], [8, 152, 122, 4, 153, 123], [22, 73, 45, 3, 74, 46], [8, 53, 23, 26, 54, 24], [12, 45, 15, 28, 46, 16], [3, 147, 117, 10, 148, 118], [3, 73, 45, 23, 74, 46], [4, 54, 24, 31, 55, 25], [11, 45, 15, 31, 46, 16], [7, 146, 116, 7, 147, 117], [21, 73, 45, 7, 74, 46], [1, 53, 23, 37, 54, 24], [19, 45, 15, 26, 46, 16], [5, 145, 115, 10, 146, 116], [19, 75, 47, 10, 76, 48], [15, 54, 24, 25, 55, 25], [23, 45, 15, 25, 46, 16], [13, 145, 115, 3, 146, 116], [2, 74, 46, 29, 75, 47], [42, 54, 24, 1, 55, 25], [23, 45, 15, 28, 46, 16], [17, 145, 115], [10, 74, 46, 23, 75, 47], [10, 54, 24, 35, 55, 25], [19, 45, 15, 35, 46, 16], [17, 145, 115, 1, 146, 116], [14, 74, 46, 21, 75, 47], [29, 54, 24, 19, 55, 25], [11, 45, 15, 46, 46, 16], [13, 145, 115, 6, 146, 116], [14, 74, 46, 23, 75, 47], [44, 54, 24, 7, 55, 25], [59, 46, 16, 1, 47, 17], [12, 151, 121, 7, 152, 122], [12, 75, 47, 26, 76, 48], [39, 54, 24, 14, 55, 25], [22, 45, 15, 41, 46, 16], [6, 151, 121, 14, 152, 122], [6, 75, 47, 34, 76, 48], [46, 54, 24, 10, 55, 25], [2, 45, 15, 64, 46, 16], [17, 152, 122, 4, 153, 123], [29, 74, 46, 14, 75, 47], [49, 54, 24, 10, 55, 25], [24, 45, 15, 46, 46, 16], [4, 152, 122, 18, 153, 123], [13, 74, 46, 32, 75, 47], [48, 54, 24, 14, 55, 25], [42, 45, 15, 32, 46, 16], [20, 147, 117, 4, 148, 118], [40, 75, 47, 7, 76, 48], [43, 54, 24, 22, 55, 25], [10, 45, 15, 67, 46, 16], [19, 148, 118, 6, 149, 119], [18, 75, 47, 31, 76, 48], [34, 54, 24, 34, 55, 25], [20, 45, 15, 61, 46, 16]], Z = function(k, T) {
|
|
4250
4262
|
var V = {};
|
|
4251
4263
|
return V.totalCount = k, V.dataCount = T, V;
|
|
@@ -4267,12 +4279,12 @@ var Mn = { exports: {} };
|
|
|
4267
4279
|
if (V === void 0)
|
|
4268
4280
|
throw "bad rs block @ typeNumber:" + k + "/errorCorrectionLevel:" + T;
|
|
4269
4281
|
for (var U = V.length / 3, P = [], B = 0; B < U; B += 1)
|
|
4270
|
-
for (var xe = V[3 * B + 0],
|
|
4271
|
-
P.push(Z(
|
|
4282
|
+
for (var xe = V[3 * B + 0], N = V[3 * B + 1], n = V[3 * B + 2], c = 0; c < xe; c += 1)
|
|
4283
|
+
P.push(Z(N, n));
|
|
4272
4284
|
return P;
|
|
4273
4285
|
} };
|
|
4274
4286
|
return I;
|
|
4275
|
-
}(),
|
|
4287
|
+
}(), F = function() {
|
|
4276
4288
|
var W = [], Z = 0, I = { getBuffer: function() {
|
|
4277
4289
|
return W;
|
|
4278
4290
|
}, getAt: function(k) {
|
|
@@ -4346,7 +4358,7 @@ var Mn = { exports: {} };
|
|
|
4346
4358
|
};
|
|
4347
4359
|
return I;
|
|
4348
4360
|
}, G = function(W) {
|
|
4349
|
-
var Z =
|
|
4361
|
+
var Z = S.stringToBytes(W);
|
|
4350
4362
|
return { getMode: function() {
|
|
4351
4363
|
return 4;
|
|
4352
4364
|
}, getLength: function(I) {
|
|
@@ -4356,7 +4368,7 @@ var Mn = { exports: {} };
|
|
|
4356
4368
|
I.put(Z[k], 8);
|
|
4357
4369
|
} };
|
|
4358
4370
|
}, pe = function(W) {
|
|
4359
|
-
var Z =
|
|
4371
|
+
var Z = S.stringToBytesFuncs.SJIS;
|
|
4360
4372
|
if (!Z)
|
|
4361
4373
|
throw "sjis not supported.";
|
|
4362
4374
|
(function(k, T) {
|
|
@@ -4436,8 +4448,8 @@ var Mn = { exports: {} };
|
|
|
4436
4448
|
};
|
|
4437
4449
|
return V;
|
|
4438
4450
|
}, ke = function(W, Z, I) {
|
|
4439
|
-
for (var k = function(
|
|
4440
|
-
var c =
|
|
4451
|
+
for (var k = function(N, n) {
|
|
4452
|
+
var c = N, s = n, b = new Array(N * n), x = { setPixel: function(h, g, u) {
|
|
4441
4453
|
b[g * c + h] = u;
|
|
4442
4454
|
}, write: function(h) {
|
|
4443
4455
|
h.writeString("GIF87a"), h.writeShort(c), h.writeShort(s), h.writeByte(128), h.writeByte(0), h.writeByte(0), h.writeByte(0), h.writeByte(0), h.writeByte(0), h.writeByte(255), h.writeByte(255), h.writeByte(255), h.writeString(","), h.writeShort(0), h.writeShort(0), h.writeShort(c), h.writeShort(s), h.writeByte(0);
|
|
@@ -4487,7 +4499,7 @@ var Mn = { exports: {} };
|
|
|
4487
4499
|
var U = ye();
|
|
4488
4500
|
k.write(U);
|
|
4489
4501
|
for (var P = function() {
|
|
4490
|
-
var
|
|
4502
|
+
var N = 0, n = 0, c = 0, s = "", b = {}, x = function(C) {
|
|
4491
4503
|
s += String.fromCharCode(w(63 & C));
|
|
4492
4504
|
}, w = function(C) {
|
|
4493
4505
|
if (!(C < 0)) {
|
|
@@ -4505,10 +4517,10 @@ var Mn = { exports: {} };
|
|
|
4505
4517
|
throw "n:" + C;
|
|
4506
4518
|
};
|
|
4507
4519
|
return b.writeByte = function(C) {
|
|
4508
|
-
for (
|
|
4509
|
-
x(
|
|
4520
|
+
for (N = N << 8 | 255 & C, n += 8, c += 1; n >= 6; )
|
|
4521
|
+
x(N >>> n - 6), n -= 6;
|
|
4510
4522
|
}, b.flush = function() {
|
|
4511
|
-
if (n > 0 && (x(
|
|
4523
|
+
if (n > 0 && (x(N << 6 - n), N = 0, n = 0), c % 3 != 0)
|
|
4512
4524
|
for (var C = 3 - c % 3, h = 0; h < C; h += 1)
|
|
4513
4525
|
s += "=";
|
|
4514
4526
|
}, b.toString = function() {
|
|
@@ -4518,55 +4530,55 @@ var Mn = { exports: {} };
|
|
|
4518
4530
|
P.writeByte(B[xe]);
|
|
4519
4531
|
return P.flush(), "data:image/gif;base64," + P;
|
|
4520
4532
|
};
|
|
4521
|
-
return
|
|
4533
|
+
return S;
|
|
4522
4534
|
}();
|
|
4523
|
-
y.stringToBytesFuncs["UTF-8"] = function(
|
|
4535
|
+
y.stringToBytesFuncs["UTF-8"] = function(S) {
|
|
4524
4536
|
return function(z) {
|
|
4525
4537
|
for (var D = [], K = 0; K < z.length; K++) {
|
|
4526
4538
|
var Y = z.charCodeAt(K);
|
|
4527
4539
|
Y < 128 ? D.push(Y) : Y < 2048 ? D.push(192 | Y >> 6, 128 | 63 & Y) : Y < 55296 || Y >= 57344 ? D.push(224 | Y >> 12, 128 | Y >> 6 & 63, 128 | 63 & Y) : (K++, Y = 65536 + ((1023 & Y) << 10 | 1023 & z.charCodeAt(K)), D.push(240 | Y >> 18, 128 | Y >> 12 & 63, 128 | Y >> 6 & 63, 128 | 63 & Y));
|
|
4528
4540
|
}
|
|
4529
4541
|
return D;
|
|
4530
|
-
}(
|
|
4542
|
+
}(S);
|
|
4531
4543
|
}, (d = typeof (o = function() {
|
|
4532
4544
|
return y;
|
|
4533
4545
|
}) == "function" ? o.apply(i, []) : o) === void 0 || (l.exports = d);
|
|
4534
4546
|
}, 676: (l, i, o) => {
|
|
4535
4547
|
o.d(i, { default: () => xe });
|
|
4536
4548
|
var d = function() {
|
|
4537
|
-
return (d = Object.assign || function(
|
|
4549
|
+
return (d = Object.assign || function(N) {
|
|
4538
4550
|
for (var n, c = 1, s = arguments.length; c < s; c++)
|
|
4539
4551
|
for (var b in n = arguments[c])
|
|
4540
|
-
Object.prototype.hasOwnProperty.call(n, b) && (
|
|
4541
|
-
return
|
|
4552
|
+
Object.prototype.hasOwnProperty.call(n, b) && (N[b] = n[b]);
|
|
4553
|
+
return N;
|
|
4542
4554
|
}).apply(this, arguments);
|
|
4543
4555
|
}, y = function() {
|
|
4544
|
-
for (var
|
|
4545
|
-
|
|
4546
|
-
var s = Array(
|
|
4556
|
+
for (var N = 0, n = 0, c = arguments.length; n < c; n++)
|
|
4557
|
+
N += arguments[n].length;
|
|
4558
|
+
var s = Array(N), b = 0;
|
|
4547
4559
|
for (n = 0; n < c; n++)
|
|
4548
4560
|
for (var x = arguments[n], w = 0, C = x.length; w < C; w++, b++)
|
|
4549
4561
|
s[b] = x[w];
|
|
4550
4562
|
return s;
|
|
4551
|
-
},
|
|
4552
|
-
return !!
|
|
4563
|
+
}, S = function(N) {
|
|
4564
|
+
return !!N && typeof N == "object" && !Array.isArray(N);
|
|
4553
4565
|
};
|
|
4554
|
-
function z(
|
|
4566
|
+
function z(N) {
|
|
4555
4567
|
for (var n = [], c = 1; c < arguments.length; c++)
|
|
4556
4568
|
n[c - 1] = arguments[c];
|
|
4557
4569
|
if (!n.length)
|
|
4558
|
-
return
|
|
4570
|
+
return N;
|
|
4559
4571
|
var s = n.shift();
|
|
4560
|
-
return s !== void 0 && N
|
|
4561
|
-
var x =
|
|
4562
|
-
Array.isArray(x) && Array.isArray(w) ?
|
|
4563
|
-
}), z.apply(void 0, y([
|
|
4572
|
+
return s !== void 0 && S(N) && S(s) ? (N = d({}, N), Object.keys(s).forEach(function(b) {
|
|
4573
|
+
var x = N[b], w = s[b];
|
|
4574
|
+
Array.isArray(x) && Array.isArray(w) ? N[b] = w : S(x) && S(w) ? N[b] = z(Object.assign({}, x), w) : N[b] = w;
|
|
4575
|
+
}), z.apply(void 0, y([N], n))) : N;
|
|
4564
4576
|
}
|
|
4565
|
-
function D(
|
|
4577
|
+
function D(N, n) {
|
|
4566
4578
|
var c = document.createElement("a");
|
|
4567
|
-
c.download = n, c.href =
|
|
4579
|
+
c.download = n, c.href = N, document.body.appendChild(c), c.click(), document.body.removeChild(c);
|
|
4568
4580
|
}
|
|
4569
|
-
function K(
|
|
4581
|
+
function K(N) {
|
|
4570
4582
|
return n = this, c = void 0, b = function() {
|
|
4571
4583
|
return function(x, w) {
|
|
4572
4584
|
var C, h, g, u, M = { label: 0, sent: function() {
|
|
@@ -4639,7 +4651,7 @@ var Mn = { exports: {} };
|
|
|
4639
4651
|
h.onloadend = function() {
|
|
4640
4652
|
w(h.result);
|
|
4641
4653
|
}, h.readAsDataURL(C.response);
|
|
4642
|
-
}, C.open("GET",
|
|
4654
|
+
}, C.open("GET", N), C.responseType = "blob", C.send();
|
|
4643
4655
|
})];
|
|
4644
4656
|
});
|
|
4645
4657
|
}, new ((s = void 0) || (s = Promise))(function(x, w) {
|
|
@@ -4669,19 +4681,19 @@ var Mn = { exports: {} };
|
|
|
4669
4681
|
}
|
|
4670
4682
|
const Y = { L: 0.07, M: 0.15, Q: 0.25, H: 0.3 };
|
|
4671
4683
|
var f = function() {
|
|
4672
|
-
return (f = Object.assign || function(
|
|
4684
|
+
return (f = Object.assign || function(N) {
|
|
4673
4685
|
for (var n, c = 1, s = arguments.length; c < s; c++)
|
|
4674
4686
|
for (var b in n = arguments[c])
|
|
4675
|
-
Object.prototype.hasOwnProperty.call(n, b) && (
|
|
4676
|
-
return
|
|
4687
|
+
Object.prototype.hasOwnProperty.call(n, b) && (N[b] = n[b]);
|
|
4688
|
+
return N;
|
|
4677
4689
|
}).apply(this, arguments);
|
|
4678
4690
|
};
|
|
4679
4691
|
const O = function() {
|
|
4680
|
-
function
|
|
4692
|
+
function N(n) {
|
|
4681
4693
|
var c = n.svg, s = n.type;
|
|
4682
4694
|
this._svg = c, this._type = s;
|
|
4683
4695
|
}
|
|
4684
|
-
return
|
|
4696
|
+
return N.prototype.draw = function(n, c, s, b) {
|
|
4685
4697
|
var x;
|
|
4686
4698
|
switch (this._type) {
|
|
4687
4699
|
case "dots":
|
|
@@ -4704,46 +4716,46 @@ var Mn = { exports: {} };
|
|
|
4704
4716
|
x = this._drawSquare;
|
|
4705
4717
|
}
|
|
4706
4718
|
x.call(this, { x: n, y: c, size: s, getNeighbor: b });
|
|
4707
|
-
},
|
|
4719
|
+
}, N.prototype._rotateFigure = function(n) {
|
|
4708
4720
|
var c, s = n.x, b = n.y, x = n.size, w = n.rotation, C = w === void 0 ? 0 : w, h = s + x / 2, g = b + x / 2;
|
|
4709
4721
|
(0, n.draw)(), (c = this._element) === null || c === void 0 || c.setAttribute("transform", "rotate(" + 180 * C / Math.PI + "," + h + "," + g + ")");
|
|
4710
|
-
},
|
|
4722
|
+
}, N.prototype._basicDot = function(n) {
|
|
4711
4723
|
var c = this, s = n.size, b = n.x, x = n.y;
|
|
4712
4724
|
this._rotateFigure(f(f({}, n), { draw: function() {
|
|
4713
4725
|
c._element = document.createElementNS("http://www.w3.org/2000/svg", "circle"), c._element.setAttribute("cx", String(b + s / 2)), c._element.setAttribute("cy", String(x + s / 2)), c._element.setAttribute("r", String(s / 2));
|
|
4714
4726
|
} }));
|
|
4715
|
-
},
|
|
4727
|
+
}, N.prototype._basicSquare = function(n) {
|
|
4716
4728
|
var c = this, s = n.size, b = n.x, x = n.y;
|
|
4717
4729
|
this._rotateFigure(f(f({}, n), { draw: function() {
|
|
4718
4730
|
c._element = document.createElementNS("http://www.w3.org/2000/svg", "rect"), c._element.setAttribute("x", String(b)), c._element.setAttribute("y", String(x)), c._element.setAttribute("width", String(s)), c._element.setAttribute("height", String(s));
|
|
4719
4731
|
} }));
|
|
4720
|
-
},
|
|
4732
|
+
}, N.prototype._basicSideRounded = function(n) {
|
|
4721
4733
|
var c = this, s = n.size, b = n.x, x = n.y;
|
|
4722
4734
|
this._rotateFigure(f(f({}, n), { draw: function() {
|
|
4723
4735
|
c._element = document.createElementNS("http://www.w3.org/2000/svg", "path"), c._element.setAttribute("d", "M " + b + " " + x + "v " + s + "h " + s / 2 + "a " + s / 2 + " " + s / 2 + ", 0, 0, 0, 0 " + -s);
|
|
4724
4736
|
} }));
|
|
4725
|
-
},
|
|
4737
|
+
}, N.prototype._basicCornerRounded = function(n) {
|
|
4726
4738
|
var c = this, s = n.size, b = n.x, x = n.y;
|
|
4727
4739
|
this._rotateFigure(f(f({}, n), { draw: function() {
|
|
4728
4740
|
c._element = document.createElementNS("http://www.w3.org/2000/svg", "path"), c._element.setAttribute("d", "M " + b + " " + x + "v " + s + "h " + s + "v " + -s / 2 + "a " + s / 2 + " " + s / 2 + ", 0, 0, 0, " + -s / 2 + " " + -s / 2);
|
|
4729
4741
|
} }));
|
|
4730
|
-
},
|
|
4742
|
+
}, N.prototype._basicCornerExtraRounded = function(n) {
|
|
4731
4743
|
var c = this, s = n.size, b = n.x, x = n.y;
|
|
4732
4744
|
this._rotateFigure(f(f({}, n), { draw: function() {
|
|
4733
4745
|
c._element = document.createElementNS("http://www.w3.org/2000/svg", "path"), c._element.setAttribute("d", "M " + b + " " + x + "v " + s + "h " + s + "a " + s + " " + s + ", 0, 0, 0, " + -s + " " + -s);
|
|
4734
4746
|
} }));
|
|
4735
|
-
},
|
|
4747
|
+
}, N.prototype._basicCornersRounded = function(n) {
|
|
4736
4748
|
var c = this, s = n.size, b = n.x, x = n.y;
|
|
4737
4749
|
this._rotateFigure(f(f({}, n), { draw: function() {
|
|
4738
4750
|
c._element = document.createElementNS("http://www.w3.org/2000/svg", "path"), c._element.setAttribute("d", "M " + b + " " + x + "v " + s / 2 + "a " + s / 2 + " " + s / 2 + ", 0, 0, 0, " + s / 2 + " " + s / 2 + "h " + s / 2 + "v " + -s / 2 + "a " + s / 2 + " " + s / 2 + ", 0, 0, 0, " + -s / 2 + " " + -s / 2);
|
|
4739
4751
|
} }));
|
|
4740
|
-
},
|
|
4752
|
+
}, N.prototype._drawDot = function(n) {
|
|
4741
4753
|
var c = n.x, s = n.y, b = n.size;
|
|
4742
4754
|
this._basicDot({ x: c, y: s, size: b, rotation: 0 });
|
|
4743
|
-
},
|
|
4755
|
+
}, N.prototype._drawSquare = function(n) {
|
|
4744
4756
|
var c = n.x, s = n.y, b = n.size;
|
|
4745
4757
|
this._basicSquare({ x: c, y: s, size: b, rotation: 0 });
|
|
4746
|
-
},
|
|
4758
|
+
}, N.prototype._drawRounded = function(n) {
|
|
4747
4759
|
var c = n.x, s = n.y, b = n.size, x = n.getNeighbor, w = x ? +x(-1, 0) : 0, C = x ? +x(1, 0) : 0, h = x ? +x(0, -1) : 0, g = x ? +x(0, 1) : 0, u = w + C + h + g;
|
|
4748
4760
|
if (u !== 0)
|
|
4749
4761
|
if (u > 2 || w && C || h && g)
|
|
@@ -4758,7 +4770,7 @@ var Mn = { exports: {} };
|
|
|
4758
4770
|
}
|
|
4759
4771
|
else
|
|
4760
4772
|
this._basicDot({ x: c, y: s, size: b, rotation: 0 });
|
|
4761
|
-
},
|
|
4773
|
+
}, N.prototype._drawExtraRounded = function(n) {
|
|
4762
4774
|
var c = n.x, s = n.y, b = n.size, x = n.getNeighbor, w = x ? +x(-1, 0) : 0, C = x ? +x(1, 0) : 0, h = x ? +x(0, -1) : 0, g = x ? +x(0, 1) : 0, u = w + C + h + g;
|
|
4763
4775
|
if (u !== 0)
|
|
4764
4776
|
if (u > 2 || w && C || h && g)
|
|
@@ -4773,28 +4785,28 @@ var Mn = { exports: {} };
|
|
|
4773
4785
|
}
|
|
4774
4786
|
else
|
|
4775
4787
|
this._basicDot({ x: c, y: s, size: b, rotation: 0 });
|
|
4776
|
-
},
|
|
4788
|
+
}, N.prototype._drawClassy = function(n) {
|
|
4777
4789
|
var c = n.x, s = n.y, b = n.size, x = n.getNeighbor, w = x ? +x(-1, 0) : 0, C = x ? +x(1, 0) : 0, h = x ? +x(0, -1) : 0, g = x ? +x(0, 1) : 0;
|
|
4778
4790
|
w + C + h + g !== 0 ? w || h ? C || g ? this._basicSquare({ x: c, y: s, size: b, rotation: 0 }) : this._basicCornerRounded({ x: c, y: s, size: b, rotation: Math.PI / 2 }) : this._basicCornerRounded({ x: c, y: s, size: b, rotation: -Math.PI / 2 }) : this._basicCornersRounded({ x: c, y: s, size: b, rotation: Math.PI / 2 });
|
|
4779
|
-
},
|
|
4791
|
+
}, N.prototype._drawClassyRounded = function(n) {
|
|
4780
4792
|
var c = n.x, s = n.y, b = n.size, x = n.getNeighbor, w = x ? +x(-1, 0) : 0, C = x ? +x(1, 0) : 0, h = x ? +x(0, -1) : 0, g = x ? +x(0, 1) : 0;
|
|
4781
4793
|
w + C + h + g !== 0 ? w || h ? C || g ? this._basicSquare({ x: c, y: s, size: b, rotation: 0 }) : this._basicCornerExtraRounded({ x: c, y: s, size: b, rotation: Math.PI / 2 }) : this._basicCornerExtraRounded({ x: c, y: s, size: b, rotation: -Math.PI / 2 }) : this._basicCornersRounded({ x: c, y: s, size: b, rotation: Math.PI / 2 });
|
|
4782
|
-
},
|
|
4794
|
+
}, N;
|
|
4783
4795
|
}();
|
|
4784
|
-
var
|
|
4785
|
-
return (
|
|
4796
|
+
var A = function() {
|
|
4797
|
+
return (A = Object.assign || function(N) {
|
|
4786
4798
|
for (var n, c = 1, s = arguments.length; c < s; c++)
|
|
4787
4799
|
for (var b in n = arguments[c])
|
|
4788
|
-
Object.prototype.hasOwnProperty.call(n, b) && (
|
|
4789
|
-
return
|
|
4800
|
+
Object.prototype.hasOwnProperty.call(n, b) && (N[b] = n[b]);
|
|
4801
|
+
return N;
|
|
4790
4802
|
}).apply(this, arguments);
|
|
4791
4803
|
};
|
|
4792
4804
|
const te = function() {
|
|
4793
|
-
function
|
|
4805
|
+
function N(n) {
|
|
4794
4806
|
var c = n.svg, s = n.type;
|
|
4795
4807
|
this._svg = c, this._type = s;
|
|
4796
4808
|
}
|
|
4797
|
-
return
|
|
4809
|
+
return N.prototype.draw = function(n, c, s, b) {
|
|
4798
4810
|
var x;
|
|
4799
4811
|
switch (this._type) {
|
|
4800
4812
|
case "square":
|
|
@@ -4808,49 +4820,49 @@ var Mn = { exports: {} };
|
|
|
4808
4820
|
x = this._drawDot;
|
|
4809
4821
|
}
|
|
4810
4822
|
x.call(this, { x: n, y: c, size: s, rotation: b });
|
|
4811
|
-
},
|
|
4823
|
+
}, N.prototype._rotateFigure = function(n) {
|
|
4812
4824
|
var c, s = n.x, b = n.y, x = n.size, w = n.rotation, C = w === void 0 ? 0 : w, h = s + x / 2, g = b + x / 2;
|
|
4813
4825
|
(0, n.draw)(), (c = this._element) === null || c === void 0 || c.setAttribute("transform", "rotate(" + 180 * C / Math.PI + "," + h + "," + g + ")");
|
|
4814
|
-
},
|
|
4826
|
+
}, N.prototype._basicDot = function(n) {
|
|
4815
4827
|
var c = this, s = n.size, b = n.x, x = n.y, w = s / 7;
|
|
4816
|
-
this._rotateFigure(
|
|
4828
|
+
this._rotateFigure(A(A({}, n), { draw: function() {
|
|
4817
4829
|
c._element = document.createElementNS("http://www.w3.org/2000/svg", "path"), c._element.setAttribute("clip-rule", "evenodd"), c._element.setAttribute("d", "M " + (b + s / 2) + " " + x + "a " + s / 2 + " " + s / 2 + " 0 1 0 0.1 0zm 0 " + w + "a " + (s / 2 - w) + " " + (s / 2 - w) + " 0 1 1 -0.1 0Z");
|
|
4818
4830
|
} }));
|
|
4819
|
-
},
|
|
4831
|
+
}, N.prototype._basicSquare = function(n) {
|
|
4820
4832
|
var c = this, s = n.size, b = n.x, x = n.y, w = s / 7;
|
|
4821
|
-
this._rotateFigure(
|
|
4833
|
+
this._rotateFigure(A(A({}, n), { draw: function() {
|
|
4822
4834
|
c._element = document.createElementNS("http://www.w3.org/2000/svg", "path"), c._element.setAttribute("clip-rule", "evenodd"), c._element.setAttribute("d", "M " + b + " " + x + "v " + s + "h " + s + "v " + -s + "zM " + (b + w) + " " + (x + w) + "h " + (s - 2 * w) + "v " + (s - 2 * w) + "h " + (2 * w - s) + "z");
|
|
4823
4835
|
} }));
|
|
4824
|
-
},
|
|
4836
|
+
}, N.prototype._basicExtraRounded = function(n) {
|
|
4825
4837
|
var c = this, s = n.size, b = n.x, x = n.y, w = s / 7;
|
|
4826
|
-
this._rotateFigure(
|
|
4838
|
+
this._rotateFigure(A(A({}, n), { draw: function() {
|
|
4827
4839
|
c._element = document.createElementNS("http://www.w3.org/2000/svg", "path"), c._element.setAttribute("clip-rule", "evenodd"), c._element.setAttribute("d", "M " + b + " " + (x + 2.5 * w) + "v " + 2 * w + "a " + 2.5 * w + " " + 2.5 * w + ", 0, 0, 0, " + 2.5 * w + " " + 2.5 * w + "h " + 2 * w + "a " + 2.5 * w + " " + 2.5 * w + ", 0, 0, 0, " + 2.5 * w + " " + 2.5 * -w + "v " + -2 * w + "a " + 2.5 * w + " " + 2.5 * w + ", 0, 0, 0, " + 2.5 * -w + " " + 2.5 * -w + "h " + -2 * w + "a " + 2.5 * w + " " + 2.5 * w + ", 0, 0, 0, " + 2.5 * -w + " " + 2.5 * w + "M " + (b + 2.5 * w) + " " + (x + w) + "h " + 2 * w + "a " + 1.5 * w + " " + 1.5 * w + ", 0, 0, 1, " + 1.5 * w + " " + 1.5 * w + "v " + 2 * w + "a " + 1.5 * w + " " + 1.5 * w + ", 0, 0, 1, " + 1.5 * -w + " " + 1.5 * w + "h " + -2 * w + "a " + 1.5 * w + " " + 1.5 * w + ", 0, 0, 1, " + 1.5 * -w + " " + 1.5 * -w + "v " + -2 * w + "a " + 1.5 * w + " " + 1.5 * w + ", 0, 0, 1, " + 1.5 * w + " " + 1.5 * -w);
|
|
4828
4840
|
} }));
|
|
4829
|
-
},
|
|
4841
|
+
}, N.prototype._drawDot = function(n) {
|
|
4830
4842
|
var c = n.x, s = n.y, b = n.size, x = n.rotation;
|
|
4831
4843
|
this._basicDot({ x: c, y: s, size: b, rotation: x });
|
|
4832
|
-
},
|
|
4844
|
+
}, N.prototype._drawSquare = function(n) {
|
|
4833
4845
|
var c = n.x, s = n.y, b = n.size, x = n.rotation;
|
|
4834
4846
|
this._basicSquare({ x: c, y: s, size: b, rotation: x });
|
|
4835
|
-
},
|
|
4847
|
+
}, N.prototype._drawExtraRounded = function(n) {
|
|
4836
4848
|
var c = n.x, s = n.y, b = n.size, x = n.rotation;
|
|
4837
4849
|
this._basicExtraRounded({ x: c, y: s, size: b, rotation: x });
|
|
4838
|
-
},
|
|
4850
|
+
}, N;
|
|
4839
4851
|
}();
|
|
4840
|
-
var
|
|
4841
|
-
return (
|
|
4852
|
+
var Q = function() {
|
|
4853
|
+
return (Q = Object.assign || function(N) {
|
|
4842
4854
|
for (var n, c = 1, s = arguments.length; c < s; c++)
|
|
4843
4855
|
for (var b in n = arguments[c])
|
|
4844
|
-
Object.prototype.hasOwnProperty.call(n, b) && (
|
|
4845
|
-
return
|
|
4856
|
+
Object.prototype.hasOwnProperty.call(n, b) && (N[b] = n[b]);
|
|
4857
|
+
return N;
|
|
4846
4858
|
}).apply(this, arguments);
|
|
4847
4859
|
};
|
|
4848
|
-
const
|
|
4849
|
-
function
|
|
4860
|
+
const J = function() {
|
|
4861
|
+
function N(n) {
|
|
4850
4862
|
var c = n.svg, s = n.type;
|
|
4851
4863
|
this._svg = c, this._type = s;
|
|
4852
4864
|
}
|
|
4853
|
-
return
|
|
4865
|
+
return N.prototype.draw = function(n, c, s, b) {
|
|
4854
4866
|
var x;
|
|
4855
4867
|
switch (this._type) {
|
|
4856
4868
|
case "square":
|
|
@@ -4861,28 +4873,28 @@ var Mn = { exports: {} };
|
|
|
4861
4873
|
x = this._drawDot;
|
|
4862
4874
|
}
|
|
4863
4875
|
x.call(this, { x: n, y: c, size: s, rotation: b });
|
|
4864
|
-
},
|
|
4876
|
+
}, N.prototype._rotateFigure = function(n) {
|
|
4865
4877
|
var c, s = n.x, b = n.y, x = n.size, w = n.rotation, C = w === void 0 ? 0 : w, h = s + x / 2, g = b + x / 2;
|
|
4866
4878
|
(0, n.draw)(), (c = this._element) === null || c === void 0 || c.setAttribute("transform", "rotate(" + 180 * C / Math.PI + "," + h + "," + g + ")");
|
|
4867
|
-
},
|
|
4879
|
+
}, N.prototype._basicDot = function(n) {
|
|
4868
4880
|
var c = this, s = n.size, b = n.x, x = n.y;
|
|
4869
|
-
this._rotateFigure(
|
|
4881
|
+
this._rotateFigure(Q(Q({}, n), { draw: function() {
|
|
4870
4882
|
c._element = document.createElementNS("http://www.w3.org/2000/svg", "circle"), c._element.setAttribute("cx", String(b + s / 2)), c._element.setAttribute("cy", String(x + s / 2)), c._element.setAttribute("r", String(s / 2));
|
|
4871
4883
|
} }));
|
|
4872
|
-
},
|
|
4884
|
+
}, N.prototype._basicSquare = function(n) {
|
|
4873
4885
|
var c = this, s = n.size, b = n.x, x = n.y;
|
|
4874
|
-
this._rotateFigure(
|
|
4886
|
+
this._rotateFigure(Q(Q({}, n), { draw: function() {
|
|
4875
4887
|
c._element = document.createElementNS("http://www.w3.org/2000/svg", "rect"), c._element.setAttribute("x", String(b)), c._element.setAttribute("y", String(x)), c._element.setAttribute("width", String(s)), c._element.setAttribute("height", String(s));
|
|
4876
4888
|
} }));
|
|
4877
|
-
},
|
|
4889
|
+
}, N.prototype._drawDot = function(n) {
|
|
4878
4890
|
var c = n.x, s = n.y, b = n.size, x = n.rotation;
|
|
4879
4891
|
this._basicDot({ x: c, y: s, size: b, rotation: x });
|
|
4880
|
-
},
|
|
4892
|
+
}, N.prototype._drawSquare = function(n) {
|
|
4881
4893
|
var c = n.x, s = n.y, b = n.size, x = n.rotation;
|
|
4882
4894
|
this._basicSquare({ x: c, y: s, size: b, rotation: x });
|
|
4883
|
-
},
|
|
4884
|
-
}(),
|
|
4885
|
-
var ae = function(
|
|
4895
|
+
}, N;
|
|
4896
|
+
}(), F = "circle";
|
|
4897
|
+
var ae = function(N, n, c, s) {
|
|
4886
4898
|
return new (c || (c = Promise))(function(b, x) {
|
|
4887
4899
|
function w(g) {
|
|
4888
4900
|
try {
|
|
@@ -4904,9 +4916,9 @@ var Mn = { exports: {} };
|
|
|
4904
4916
|
M(u);
|
|
4905
4917
|
})).then(w, C);
|
|
4906
4918
|
}
|
|
4907
|
-
h((s = s.apply(
|
|
4919
|
+
h((s = s.apply(N, n || [])).next());
|
|
4908
4920
|
});
|
|
4909
|
-
}, me = function(
|
|
4921
|
+
}, me = function(N, n) {
|
|
4910
4922
|
var c, s, b, x, w = { label: 0, sent: function() {
|
|
4911
4923
|
if (1 & b[0])
|
|
4912
4924
|
throw b[1];
|
|
@@ -4957,7 +4969,7 @@ var Mn = { exports: {} };
|
|
|
4957
4969
|
b[2] && w.ops.pop(), w.trys.pop();
|
|
4958
4970
|
continue;
|
|
4959
4971
|
}
|
|
4960
|
-
u = n.call(
|
|
4972
|
+
u = n.call(N, w);
|
|
4961
4973
|
} catch (M) {
|
|
4962
4974
|
u = [6, M], s = 0;
|
|
4963
4975
|
} finally {
|
|
@@ -4971,22 +4983,22 @@ var Mn = { exports: {} };
|
|
|
4971
4983
|
}
|
|
4972
4984
|
}, G = [[1, 1, 1, 1, 1, 1, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 1]], pe = [[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]];
|
|
4973
4985
|
const ye = function() {
|
|
4974
|
-
function
|
|
4986
|
+
function N(n) {
|
|
4975
4987
|
this._element = document.createElementNS("http://www.w3.org/2000/svg", "svg"), this._element.setAttribute("width", String(n.width)), this._element.setAttribute("height", String(n.height)), this._defs = document.createElementNS("http://www.w3.org/2000/svg", "defs"), this._element.appendChild(this._defs), this._options = n;
|
|
4976
4988
|
}
|
|
4977
|
-
return Object.defineProperty(
|
|
4989
|
+
return Object.defineProperty(N.prototype, "width", { get: function() {
|
|
4978
4990
|
return this._options.width;
|
|
4979
|
-
}, enumerable: !1, configurable: !0 }), Object.defineProperty(
|
|
4991
|
+
}, enumerable: !1, configurable: !0 }), Object.defineProperty(N.prototype, "height", { get: function() {
|
|
4980
4992
|
return this._options.height;
|
|
4981
|
-
}, enumerable: !1, configurable: !0 }),
|
|
4993
|
+
}, enumerable: !1, configurable: !0 }), N.prototype.getElement = function() {
|
|
4982
4994
|
return this._element;
|
|
4983
|
-
},
|
|
4995
|
+
}, N.prototype.drawQR = function(n) {
|
|
4984
4996
|
return ae(this, void 0, void 0, function() {
|
|
4985
4997
|
var c, s, b, x, w, C, h, g, u, M, E = this;
|
|
4986
4998
|
return me(this, function(j) {
|
|
4987
4999
|
switch (j.label) {
|
|
4988
5000
|
case 0:
|
|
4989
|
-
return c = n.getModuleCount(), s = Math.min(this._options.width, this._options.height) - 2 * this._options.margin, b = this._options.shape ===
|
|
5001
|
+
return c = n.getModuleCount(), s = Math.min(this._options.width, this._options.height) - 2 * this._options.margin, b = this._options.shape === F ? s / Math.sqrt(2) : s, x = Math.floor(b / c), w = { hideXDots: 0, hideYDots: 0, width: 0, height: 0 }, this._qr = n, this._options.image ? [4, this.loadImage()] : [3, 2];
|
|
4990
5002
|
case 1:
|
|
4991
5003
|
if (j.sent(), !this._image)
|
|
4992
5004
|
return [2];
|
|
@@ -5009,7 +5021,7 @@ var Mn = { exports: {} };
|
|
|
5009
5021
|
}
|
|
5010
5022
|
});
|
|
5011
5023
|
});
|
|
5012
|
-
},
|
|
5024
|
+
}, N.prototype.drawBackground = function() {
|
|
5013
5025
|
var n, c, s, b = this._element, x = this._options;
|
|
5014
5026
|
if (b) {
|
|
5015
5027
|
var w = (n = x.backgroundOptions) === null || n === void 0 ? void 0 : n.gradient, C = (c = x.backgroundOptions) === null || c === void 0 ? void 0 : c.color;
|
|
@@ -5018,14 +5030,14 @@ var Mn = { exports: {} };
|
|
|
5018
5030
|
this._backgroundClipPath = document.createElementNS("http://www.w3.org/2000/svg", "clipPath"), this._backgroundClipPath.setAttribute("id", "clip-path-background-color"), this._defs.appendChild(this._backgroundClipPath), g.setAttribute("x", String((x.width - h) / 2)), g.setAttribute("y", String((x.height - h) / 2)), g.setAttribute("width", String(h)), g.setAttribute("height", String(h)), g.setAttribute("rx", String(h / 2 * x.backgroundOptions.round)), this._backgroundClipPath.appendChild(g);
|
|
5019
5031
|
}
|
|
5020
5032
|
}
|
|
5021
|
-
},
|
|
5033
|
+
}, N.prototype.drawDots = function(n) {
|
|
5022
5034
|
var c, s, b = this;
|
|
5023
5035
|
if (!this._qr)
|
|
5024
5036
|
throw "QR code is not defined";
|
|
5025
5037
|
var x = this._options, w = this._qr.getModuleCount();
|
|
5026
5038
|
if (w > x.width || w > x.height)
|
|
5027
5039
|
throw "The canvas is too small.";
|
|
5028
|
-
var C = Math.min(x.width, x.height) - 2 * x.margin, h = x.shape ===
|
|
5040
|
+
var C = Math.min(x.width, x.height) - 2 * x.margin, h = x.shape === F ? C / Math.sqrt(2) : C, g = Math.floor(h / w), u = Math.floor((x.width - w * g) / 2), M = Math.floor((x.height - w * g) / 2), E = new O({ svg: this._element, type: x.dotsOptions.type });
|
|
5029
5041
|
this._dotsClipPath = document.createElementNS("http://www.w3.org/2000/svg", "clipPath"), this._dotsClipPath.setAttribute("id", "clip-path-dot-color"), this._defs.appendChild(this._dotsClipPath), this._createColor({ options: (c = x.dotsOptions) === null || c === void 0 ? void 0 : c.gradient, color: x.dotsOptions.color, additionalRotation: 0, x: 0, y: 0, height: x.height, width: x.width, name: "dot-color" });
|
|
5030
5042
|
for (var j = function(ge) {
|
|
5031
5043
|
for (var ie = function(ce) {
|
|
@@ -5036,7 +5048,7 @@ var Mn = { exports: {} };
|
|
|
5036
5048
|
ie(fe);
|
|
5037
5049
|
}, R = this, L = 0; L < w; L++)
|
|
5038
5050
|
j(L);
|
|
5039
|
-
if (x.shape ===
|
|
5051
|
+
if (x.shape === F) {
|
|
5040
5052
|
var H = Math.floor((C / g - w) / 2), q = w + 2 * H, ne = u - H * g, se = M - H * g, _ = [], re = Math.floor(q / 2);
|
|
5041
5053
|
for (L = 0; L < q; L++) {
|
|
5042
5054
|
_[L] = [];
|
|
@@ -5050,23 +5062,23 @@ var Mn = { exports: {} };
|
|
|
5050
5062
|
E.draw(ne + ge * g, se + ce * g, g, function(we, Me) {
|
|
5051
5063
|
var ve;
|
|
5052
5064
|
return !!(!((ve = _[ge + we]) === null || ve === void 0) && ve[ce + Me]);
|
|
5053
|
-
}), E._element &&
|
|
5065
|
+
}), E._element && Se._dotsClipPath && Se._dotsClipPath.appendChild(E._element);
|
|
5054
5066
|
}, fe = 0; fe < q; fe++)
|
|
5055
5067
|
ie(fe);
|
|
5056
|
-
},
|
|
5068
|
+
}, Se = this;
|
|
5057
5069
|
for (L = 0; L < q; L++)
|
|
5058
5070
|
oe(L);
|
|
5059
5071
|
}
|
|
5060
|
-
},
|
|
5072
|
+
}, N.prototype.drawCorners = function() {
|
|
5061
5073
|
var n = this;
|
|
5062
5074
|
if (!this._qr)
|
|
5063
5075
|
throw "QR code is not defined";
|
|
5064
5076
|
var c = this._element, s = this._options;
|
|
5065
5077
|
if (!c)
|
|
5066
5078
|
throw "Element code is not defined";
|
|
5067
|
-
var b = this._qr.getModuleCount(), x = Math.min(s.width, s.height) - 2 * s.margin, w = s.shape ===
|
|
5079
|
+
var b = this._qr.getModuleCount(), x = Math.min(s.width, s.height) - 2 * s.margin, w = s.shape === F ? x / Math.sqrt(2) : x, C = Math.floor(w / b), h = 7 * C, g = 3 * C, u = Math.floor((s.width - b * C) / 2), M = Math.floor((s.height - b * C) / 2);
|
|
5068
5080
|
[[0, 0, 0], [1, 0, Math.PI / 2], [0, 1, -Math.PI / 2]].forEach(function(E) {
|
|
5069
|
-
var j, R, L, H, q, ne, se, _, re, ee, oe,
|
|
5081
|
+
var j, R, L, H, q, ne, se, _, re, ee, oe, Se, ge = E[0], ie = E[1], fe = E[2], ce = u + ge * C * (b - 7), we = M + ie * C * (b - 7), Me = n._dotsClipPath, ve = n._dotsClipPath;
|
|
5070
5082
|
if ((!((j = s.cornersSquareOptions) === null || j === void 0) && j.gradient || !((R = s.cornersSquareOptions) === null || R === void 0) && R.color) && ((Me = document.createElementNS("http://www.w3.org/2000/svg", "clipPath")).setAttribute("id", "clip-path-corners-square-color-" + ge + "-" + ie), n._defs.appendChild(Me), n._cornersSquareClipPath = n._cornersDotClipPath = ve = Me, n._createColor({ options: (L = s.cornersSquareOptions) === null || L === void 0 ? void 0 : L.gradient, color: (H = s.cornersSquareOptions) === null || H === void 0 ? void 0 : H.color, additionalRotation: fe, x: ce, y: we, height: h, width: h, name: "corners-square-color-" + ge + "-" + ie })), (q = s.cornersSquareOptions) === null || q === void 0 ? void 0 : q.type) {
|
|
5071
5083
|
var Te = new te({ svg: n._element, type: s.cornersSquareOptions.type });
|
|
5072
5084
|
Te.draw(ce, we, h, fe), Te._element && Me && Me.appendChild(Te._element);
|
|
@@ -5084,13 +5096,13 @@ var Mn = { exports: {} };
|
|
|
5084
5096
|
}, Fe = 0; Fe < G.length; Fe++)
|
|
5085
5097
|
vn(Fe);
|
|
5086
5098
|
if ((!((se = s.cornersDotOptions) === null || se === void 0) && se.gradient || !((_ = s.cornersDotOptions) === null || _ === void 0) && _.color) && ((ve = document.createElementNS("http://www.w3.org/2000/svg", "clipPath")).setAttribute("id", "clip-path-corners-dot-color-" + ge + "-" + ie), n._defs.appendChild(ve), n._cornersDotClipPath = ve, n._createColor({ options: (re = s.cornersDotOptions) === null || re === void 0 ? void 0 : re.gradient, color: (ee = s.cornersDotOptions) === null || ee === void 0 ? void 0 : ee.color, additionalRotation: fe, x: ce + 2 * C, y: we + 2 * C, height: g, width: g, name: "corners-dot-color-" + ge + "-" + ie })), (oe = s.cornersDotOptions) === null || oe === void 0 ? void 0 : oe.type) {
|
|
5087
|
-
var xt = new
|
|
5099
|
+
var xt = new J({ svg: n._element, type: s.cornersDotOptions.type });
|
|
5088
5100
|
xt.draw(ce + 2 * C, we + 2 * C, g, fe), xt._element && ve && ve.appendChild(xt._element);
|
|
5089
5101
|
} else {
|
|
5090
5102
|
Pe = new O({ svg: n._element, type: s.dotsOptions.type });
|
|
5091
5103
|
var Tn = function(Le) {
|
|
5092
5104
|
for (var Mt = function(Re) {
|
|
5093
|
-
if (!(!((
|
|
5105
|
+
if (!(!((Se = pe[Le]) === null || Se === void 0) && Se[Re]))
|
|
5094
5106
|
return "continue";
|
|
5095
5107
|
Pe.draw(ce + Le * C, we + Re * C, C, function(vt, Tt) {
|
|
5096
5108
|
var Ue;
|
|
@@ -5103,7 +5115,7 @@ var Mn = { exports: {} };
|
|
|
5103
5115
|
Tn(Fe);
|
|
5104
5116
|
}
|
|
5105
5117
|
});
|
|
5106
|
-
},
|
|
5118
|
+
}, N.prototype.loadImage = function() {
|
|
5107
5119
|
var n = this;
|
|
5108
5120
|
return new Promise(function(c, s) {
|
|
5109
5121
|
var b = n._options, x = new Image();
|
|
@@ -5113,7 +5125,7 @@ var Mn = { exports: {} };
|
|
|
5113
5125
|
c();
|
|
5114
5126
|
}, x.src = b.image;
|
|
5115
5127
|
});
|
|
5116
|
-
},
|
|
5128
|
+
}, N.prototype.drawImage = function(n) {
|
|
5117
5129
|
var c = n.width, s = n.height, b = n.count, x = n.dotSize;
|
|
5118
5130
|
return ae(this, void 0, void 0, function() {
|
|
5119
5131
|
var w, C, h, g, u, M, E, j, R;
|
|
@@ -5126,7 +5138,7 @@ var Mn = { exports: {} };
|
|
|
5126
5138
|
}
|
|
5127
5139
|
});
|
|
5128
5140
|
});
|
|
5129
|
-
},
|
|
5141
|
+
}, N.prototype._createColor = function(n) {
|
|
5130
5142
|
var c = n.options, s = n.color, b = n.additionalRotation, x = n.x, w = n.y, C = n.height, h = n.width, g = n.name, u = h > C ? h : C, M = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
|
5131
5143
|
if (M.setAttribute("x", String(x)), M.setAttribute("y", String(w)), M.setAttribute("height", String(C)), M.setAttribute("width", String(h)), M.setAttribute("clip-path", "url('#clip-path-" + g + "')"), c) {
|
|
5132
5144
|
var E;
|
|
@@ -5143,32 +5155,32 @@ var Mn = { exports: {} };
|
|
|
5143
5155
|
} else
|
|
5144
5156
|
s && M.setAttribute("fill", s);
|
|
5145
5157
|
this._element.appendChild(M);
|
|
5146
|
-
},
|
|
5158
|
+
}, N;
|
|
5147
5159
|
}(), be = "canvas";
|
|
5148
5160
|
for (var ke = {}, W = 0; W <= 40; W++)
|
|
5149
5161
|
ke[W] = W;
|
|
5150
5162
|
const Z = { type: be, shape: "square", width: 300, height: 300, data: "", margin: 0, qrOptions: { typeNumber: ke[0], mode: void 0, errorCorrectionLevel: "Q" }, imageOptions: { hideBackgroundDots: !0, imageSize: 0.4, crossOrigin: void 0, margin: 0 }, dotsOptions: { type: "square", color: "#000" }, backgroundOptions: { round: 0, color: "#fff" } };
|
|
5151
5163
|
var I = function() {
|
|
5152
|
-
return (I = Object.assign || function(
|
|
5164
|
+
return (I = Object.assign || function(N) {
|
|
5153
5165
|
for (var n, c = 1, s = arguments.length; c < s; c++)
|
|
5154
5166
|
for (var b in n = arguments[c])
|
|
5155
|
-
Object.prototype.hasOwnProperty.call(n, b) && (
|
|
5156
|
-
return
|
|
5167
|
+
Object.prototype.hasOwnProperty.call(n, b) && (N[b] = n[b]);
|
|
5168
|
+
return N;
|
|
5157
5169
|
}).apply(this, arguments);
|
|
5158
5170
|
};
|
|
5159
|
-
function k(
|
|
5160
|
-
var n = I({},
|
|
5171
|
+
function k(N) {
|
|
5172
|
+
var n = I({}, N);
|
|
5161
5173
|
if (!n.colorStops || !n.colorStops.length)
|
|
5162
5174
|
throw "Field 'colorStops' is required in gradient";
|
|
5163
5175
|
return n.rotation ? n.rotation = Number(n.rotation) : n.rotation = 0, n.colorStops = n.colorStops.map(function(c) {
|
|
5164
5176
|
return I(I({}, c), { offset: Number(c.offset) });
|
|
5165
5177
|
}), n;
|
|
5166
5178
|
}
|
|
5167
|
-
function T(
|
|
5168
|
-
var n = I({},
|
|
5179
|
+
function T(N) {
|
|
5180
|
+
var n = I({}, N);
|
|
5169
5181
|
return n.width = Number(n.width), n.height = Number(n.height), n.margin = Number(n.margin), n.imageOptions = I(I({}, n.imageOptions), { hideBackgroundDots: !!n.imageOptions.hideBackgroundDots, imageSize: Number(n.imageOptions.imageSize), margin: Number(n.imageOptions.margin) }), n.margin > Math.min(n.width, n.height) && (n.margin = Math.min(n.width, n.height)), n.dotsOptions = I({}, n.dotsOptions), n.dotsOptions.gradient && (n.dotsOptions.gradient = k(n.dotsOptions.gradient)), n.cornersSquareOptions && (n.cornersSquareOptions = I({}, n.cornersSquareOptions), n.cornersSquareOptions.gradient && (n.cornersSquareOptions.gradient = k(n.cornersSquareOptions.gradient))), n.cornersDotOptions && (n.cornersDotOptions = I({}, n.cornersDotOptions), n.cornersDotOptions.gradient && (n.cornersDotOptions.gradient = k(n.cornersDotOptions.gradient))), n.backgroundOptions && (n.backgroundOptions = I({}, n.backgroundOptions), n.backgroundOptions.gradient && (n.backgroundOptions.gradient = k(n.backgroundOptions.gradient))), n;
|
|
5170
5182
|
}
|
|
5171
|
-
var V = o(192), U = o.n(V), P = function(
|
|
5183
|
+
var V = o(192), U = o.n(V), P = function(N, n, c, s) {
|
|
5172
5184
|
return new (c || (c = Promise))(function(b, x) {
|
|
5173
5185
|
function w(g) {
|
|
5174
5186
|
try {
|
|
@@ -5190,9 +5202,9 @@ var Mn = { exports: {} };
|
|
|
5190
5202
|
M(u);
|
|
5191
5203
|
})).then(w, C);
|
|
5192
5204
|
}
|
|
5193
|
-
h((s = s.apply(
|
|
5205
|
+
h((s = s.apply(N, n || [])).next());
|
|
5194
5206
|
});
|
|
5195
|
-
}, B = function(
|
|
5207
|
+
}, B = function(N, n) {
|
|
5196
5208
|
var c, s, b, x, w = { label: 0, sent: function() {
|
|
5197
5209
|
if (1 & b[0])
|
|
5198
5210
|
throw b[1];
|
|
@@ -5243,7 +5255,7 @@ var Mn = { exports: {} };
|
|
|
5243
5255
|
b[2] && w.ops.pop(), w.trys.pop();
|
|
5244
5256
|
continue;
|
|
5245
5257
|
}
|
|
5246
|
-
u = n.call(
|
|
5258
|
+
u = n.call(N, w);
|
|
5247
5259
|
} catch (M) {
|
|
5248
5260
|
u = [6, M], s = 0;
|
|
5249
5261
|
} finally {
|
|
@@ -5257,12 +5269,12 @@ var Mn = { exports: {} };
|
|
|
5257
5269
|
}
|
|
5258
5270
|
};
|
|
5259
5271
|
const xe = function() {
|
|
5260
|
-
function
|
|
5272
|
+
function N(n) {
|
|
5261
5273
|
this._options = n ? T(z(Z, n)) : Z, this.update();
|
|
5262
5274
|
}
|
|
5263
|
-
return
|
|
5275
|
+
return N._clearContainer = function(n) {
|
|
5264
5276
|
n && (n.innerHTML = "");
|
|
5265
|
-
},
|
|
5277
|
+
}, N.prototype._setupSvg = function() {
|
|
5266
5278
|
var n = this;
|
|
5267
5279
|
if (this._qr) {
|
|
5268
5280
|
var c = new ye(this._options);
|
|
@@ -5271,7 +5283,7 @@ var Mn = { exports: {} };
|
|
|
5271
5283
|
n._svg && ((s = n._extension) === null || s === void 0 || s.call(n, c.getElement(), n._options));
|
|
5272
5284
|
});
|
|
5273
5285
|
}
|
|
5274
|
-
},
|
|
5286
|
+
}, N.prototype._setupCanvas = function() {
|
|
5275
5287
|
var n, c = this;
|
|
5276
5288
|
this._qr && (this._canvas = document.createElement("canvas"), this._canvas.width = this._options.width, this._canvas.height = this._options.height, this._setupSvg(), this._canvasDrawingPromise = (n = this._svgDrawingPromise) === null || n === void 0 ? void 0 : n.then(function() {
|
|
5277
5289
|
if (c._svg) {
|
|
@@ -5284,7 +5296,7 @@ var Mn = { exports: {} };
|
|
|
5284
5296
|
});
|
|
5285
5297
|
}
|
|
5286
5298
|
}));
|
|
5287
|
-
},
|
|
5299
|
+
}, N.prototype._getElement = function(n) {
|
|
5288
5300
|
return n === void 0 && (n = "png"), P(this, void 0, void 0, function() {
|
|
5289
5301
|
return B(this, function(c) {
|
|
5290
5302
|
switch (c.label) {
|
|
@@ -5301,8 +5313,8 @@ var Mn = { exports: {} };
|
|
|
5301
5313
|
}
|
|
5302
5314
|
});
|
|
5303
5315
|
});
|
|
5304
|
-
},
|
|
5305
|
-
|
|
5316
|
+
}, N.prototype.update = function(n) {
|
|
5317
|
+
N._clearContainer(this._container), this._options = n ? T(z(this._options, n)) : this._options, this._options.data && (this._qr = U()(this._options.qrOptions.typeNumber, this._options.qrOptions.errorCorrectionLevel), this._qr.addData(this._options.data, this._options.qrOptions.mode || function(c) {
|
|
5306
5318
|
switch (!0) {
|
|
5307
5319
|
case /^[0-9]*$/.test(c):
|
|
5308
5320
|
return "Numeric";
|
|
@@ -5312,19 +5324,19 @@ var Mn = { exports: {} };
|
|
|
5312
5324
|
return "Byte";
|
|
5313
5325
|
}
|
|
5314
5326
|
}(this._options.data)), this._qr.make(), this._options.type === be ? this._setupCanvas() : this._setupSvg(), this.append(this._container));
|
|
5315
|
-
},
|
|
5327
|
+
}, N.prototype.append = function(n) {
|
|
5316
5328
|
if (n) {
|
|
5317
5329
|
if (typeof n.appendChild != "function")
|
|
5318
5330
|
throw "Container should be a single DOM node";
|
|
5319
5331
|
this._options.type === be ? this._canvas && n.appendChild(this._canvas) : this._svg && n.appendChild(this._svg), this._container = n;
|
|
5320
5332
|
}
|
|
5321
|
-
},
|
|
5333
|
+
}, N.prototype.applyExtension = function(n) {
|
|
5322
5334
|
if (!n)
|
|
5323
5335
|
throw "Extension function should be defined.";
|
|
5324
5336
|
this._extension = n, this.update();
|
|
5325
|
-
},
|
|
5337
|
+
}, N.prototype.deleteExtension = function() {
|
|
5326
5338
|
this._extension = void 0, this.update();
|
|
5327
|
-
},
|
|
5339
|
+
}, N.prototype.getRawData = function(n) {
|
|
5328
5340
|
return n === void 0 && (n = "png"), P(this, void 0, void 0, function() {
|
|
5329
5341
|
var c, s, b;
|
|
5330
5342
|
return B(this, function(x) {
|
|
@@ -5341,7 +5353,7 @@ var Mn = { exports: {} };
|
|
|
5341
5353
|
}
|
|
5342
5354
|
});
|
|
5343
5355
|
});
|
|
5344
|
-
},
|
|
5356
|
+
}, N.prototype.download = function(n) {
|
|
5345
5357
|
return P(this, void 0, void 0, function() {
|
|
5346
5358
|
var c, s, b, x, w;
|
|
5347
5359
|
return B(this, function(C) {
|
|
@@ -5356,7 +5368,7 @@ var Mn = { exports: {} };
|
|
|
5356
5368
|
}
|
|
5357
5369
|
});
|
|
5358
5370
|
});
|
|
5359
|
-
},
|
|
5371
|
+
}, N;
|
|
5360
5372
|
}();
|
|
5361
5373
|
} }, p = {};
|
|
5362
5374
|
function m(l) {
|
|
@@ -5375,8 +5387,8 @@ var Mn = { exports: {} };
|
|
|
5375
5387
|
})().default;
|
|
5376
5388
|
});
|
|
5377
5389
|
})(Mn);
|
|
5378
|
-
var
|
|
5379
|
-
const
|
|
5390
|
+
var oo = Mn.exports;
|
|
5391
|
+
const ao = /* @__PURE__ */ ro(oo), io = ({ nodePath: e }) => /* @__PURE__ */ t.createElement(ot, null, /* @__PURE__ */ t.createElement(
|
|
5380
5392
|
Kt,
|
|
5381
5393
|
{
|
|
5382
5394
|
desktop: /* @__PURE__ */ t.createElement(
|
|
@@ -5399,16 +5411,16 @@ function cn({
|
|
|
5399
5411
|
nodePath: e,
|
|
5400
5412
|
mode: r
|
|
5401
5413
|
}) {
|
|
5402
|
-
const a = wt(), { onUpload: p } = dt(), { setFieldValue: m, getFieldValue: l } = qe(), { selectedNode: i, selectedNodePath: o } = ze(), { setLock: d, lock: y } = ut(), { isChanged:
|
|
5414
|
+
const a = wt(), { onUpload: p } = dt(), { setFieldValue: m, getFieldValue: l } = qe(), { selectedNode: i, selectedNodePath: o } = ze(), { setLock: d, lock: y } = ut(), { isChanged: S } = Dn(), [z, D] = Ve(!1), K = Ut(null), Y = 600, f = Ut(new ao()), O = Bt(() => i && i.mobileAttributes && Object.keys(i.mobileAttributes).some((G) => i.mobileAttributes[G] === void 0 ? !1 : i.mobileAttributes[G] !== i.attributes[G]), [i]), A = o && l(
|
|
5403
5415
|
o,
|
|
5404
5416
|
r === ue.DESKTOP ? "attributes.dot-color-type" : "mobileAttributes.dot-color-type"
|
|
5405
5417
|
) !== "single", te = o && l(
|
|
5406
5418
|
o,
|
|
5407
5419
|
r === ue.DESKTOP ? "attributes.corner-dot-color-type" : "mobileAttributes.corner-dot-color-type"
|
|
5408
|
-
) !== "single",
|
|
5420
|
+
) !== "single", Q = o && l(
|
|
5409
5421
|
o,
|
|
5410
5422
|
r === ue.DESKTOP ? "attributes.corner-square-color-type" : "mobileAttributes.corner-square-color-type"
|
|
5411
|
-
) !== "single",
|
|
5423
|
+
) !== "single", J = gt(
|
|
5412
5424
|
({ attributes: G }) => ({
|
|
5413
5425
|
width: Y,
|
|
5414
5426
|
height: Y,
|
|
@@ -5481,20 +5493,20 @@ function cn({
|
|
|
5481
5493
|
}
|
|
5482
5494
|
}),
|
|
5483
5495
|
[i == null ? void 0 : i.data.logo, i == null ? void 0 : i.data.text]
|
|
5484
|
-
),
|
|
5496
|
+
), F = Bt(() => {
|
|
5485
5497
|
const pe = r === ue.DESKTOP ? i == null ? void 0 : i.attributes : Ln({}, i == null ? void 0 : i.attributes, i == null ? void 0 : i.mobileAttributes);
|
|
5486
5498
|
if (!pe)
|
|
5487
5499
|
return {};
|
|
5488
|
-
const ye =
|
|
5500
|
+
const ye = J({ attributes: pe });
|
|
5489
5501
|
return st(K.current, ye) ? K.current : (K.current = ye, ye);
|
|
5490
5502
|
}, [
|
|
5491
|
-
|
|
5503
|
+
J,
|
|
5492
5504
|
r,
|
|
5493
5505
|
i == null ? void 0 : i.attributes,
|
|
5494
5506
|
i == null ? void 0 : i.mobileAttributes
|
|
5495
5507
|
]);
|
|
5496
5508
|
$e(() => {
|
|
5497
|
-
if (f.current.update(
|
|
5509
|
+
if (f.current.update(F), S && y) {
|
|
5498
5510
|
const G = document.createElement("div");
|
|
5499
5511
|
document.body.appendChild(G), G.style.position = "absolute", G.style.left = "-9999px", f.current.append(G), f.current.getRawData("png").then((pe) => Ee(this, null, function* () {
|
|
5500
5512
|
if (pe) {
|
|
@@ -5511,7 +5523,7 @@ function cn({
|
|
|
5511
5523
|
G.remove();
|
|
5512
5524
|
});
|
|
5513
5525
|
}
|
|
5514
|
-
}, [a,
|
|
5526
|
+
}, [a, S, y, r, e, F, m]);
|
|
5515
5527
|
const ae = t.useRef();
|
|
5516
5528
|
$e(() => {
|
|
5517
5529
|
ae.current ? st(ae.current, i) ? d(!1) : (console.log("set lock"), d(!0)) : ae.current = De(i);
|
|
@@ -5520,7 +5532,7 @@ function cn({
|
|
|
5520
5532
|
if (i)
|
|
5521
5533
|
try {
|
|
5522
5534
|
D(!0), f.current.update(
|
|
5523
|
-
|
|
5535
|
+
J({ attributes: i.attributes })
|
|
5524
5536
|
);
|
|
5525
5537
|
const G = yield f.current.getRawData("png");
|
|
5526
5538
|
if (!G) {
|
|
@@ -5532,7 +5544,7 @@ function cn({
|
|
|
5532
5544
|
const ye = De(i);
|
|
5533
5545
|
if (O) {
|
|
5534
5546
|
f.current.update(
|
|
5535
|
-
|
|
5547
|
+
J({
|
|
5536
5548
|
attributes: _e(
|
|
5537
5549
|
i.attributes,
|
|
5538
5550
|
i.mobileAttributes
|
|
@@ -5668,7 +5680,7 @@ function cn({
|
|
|
5668
5680
|
name: "dot-color",
|
|
5669
5681
|
label: v("Dot color")
|
|
5670
5682
|
}
|
|
5671
|
-
),
|
|
5683
|
+
), A && /* @__PURE__ */ t.createElement(
|
|
5672
5684
|
$,
|
|
5673
5685
|
{
|
|
5674
5686
|
component: X.ColorPickerField,
|
|
@@ -5676,7 +5688,7 @@ function cn({
|
|
|
5676
5688
|
name: "dot-color-2",
|
|
5677
5689
|
label: v("Dot color 2")
|
|
5678
5690
|
}
|
|
5679
|
-
),
|
|
5691
|
+
), A && /* @__PURE__ */ t.createElement(
|
|
5680
5692
|
$,
|
|
5681
5693
|
{
|
|
5682
5694
|
showLimit: !0,
|
|
@@ -5687,7 +5699,7 @@ function cn({
|
|
|
5687
5699
|
max: 360,
|
|
5688
5700
|
label: v("Dot rotation")
|
|
5689
5701
|
}
|
|
5690
|
-
), /* @__PURE__ */ t.createElement(
|
|
5702
|
+
), /* @__PURE__ */ t.createElement(St, null), /* @__PURE__ */ t.createElement(
|
|
5691
5703
|
$,
|
|
5692
5704
|
{
|
|
5693
5705
|
component: X.SelectField,
|
|
@@ -5754,7 +5766,7 @@ function cn({
|
|
|
5754
5766
|
max: 360,
|
|
5755
5767
|
label: v("Corner dot rotation")
|
|
5756
5768
|
}
|
|
5757
|
-
), /* @__PURE__ */ t.createElement(
|
|
5769
|
+
), /* @__PURE__ */ t.createElement(St, null), /* @__PURE__ */ t.createElement(
|
|
5758
5770
|
$,
|
|
5759
5771
|
{
|
|
5760
5772
|
component: X.SelectField,
|
|
@@ -5802,7 +5814,7 @@ function cn({
|
|
|
5802
5814
|
name: "corner-square-color",
|
|
5803
5815
|
label: v("Corner Square color")
|
|
5804
5816
|
}
|
|
5805
|
-
),
|
|
5817
|
+
), Q && /* @__PURE__ */ t.createElement(
|
|
5806
5818
|
$,
|
|
5807
5819
|
{
|
|
5808
5820
|
component: X.ColorPickerField,
|
|
@@ -5810,7 +5822,7 @@ function cn({
|
|
|
5810
5822
|
name: "corner-square-color-2",
|
|
5811
5823
|
label: v("Corner Square color 2")
|
|
5812
5824
|
}
|
|
5813
|
-
),
|
|
5825
|
+
), Q && /* @__PURE__ */ t.createElement(
|
|
5814
5826
|
$,
|
|
5815
5827
|
{
|
|
5816
5828
|
showLimit: !0,
|
|
@@ -5821,7 +5833,7 @@ function cn({
|
|
|
5821
5833
|
max: 360,
|
|
5822
5834
|
label: v("Corner Square rotation")
|
|
5823
5835
|
}
|
|
5824
|
-
), /* @__PURE__ */ t.createElement(
|
|
5836
|
+
), /* @__PURE__ */ t.createElement(St, null), /* @__PURE__ */ t.createElement(
|
|
5825
5837
|
$,
|
|
5826
5838
|
{
|
|
5827
5839
|
component: X.ColorPickerField,
|
|
@@ -5838,8 +5850,8 @@ function cn({
|
|
|
5838
5850
|
}
|
|
5839
5851
|
))) : null;
|
|
5840
5852
|
}
|
|
5841
|
-
const
|
|
5842
|
-
function
|
|
5853
|
+
const lo = ({ nodePath: e }) => /* @__PURE__ */ t.createElement(ot, null, /* @__PURE__ */ t.createElement(so, { mode: ue.DESKTOP, nodePath: e }));
|
|
5854
|
+
function so({
|
|
5843
5855
|
nodePath: e,
|
|
5844
5856
|
mode: r = ue.DESKTOP
|
|
5845
5857
|
}) {
|
|
@@ -5848,13 +5860,13 @@ function io({
|
|
|
5848
5860
|
var z;
|
|
5849
5861
|
y.current ? st((z = y.current) == null ? void 0 : z.data, l == null ? void 0 : l.data) ? i(!1) : i(!0) : y.current = De(l);
|
|
5850
5862
|
}, [l, i]);
|
|
5851
|
-
const
|
|
5863
|
+
const S = () => Ee(this, null, function* () {
|
|
5852
5864
|
if (l)
|
|
5853
5865
|
try {
|
|
5854
5866
|
d(!0);
|
|
5855
5867
|
const z = Xt.toDOMNode(a, l), D = yield jt(z, {
|
|
5856
5868
|
styleText: `[data-slate-type="common-video"] { width: ${z.getBoundingClientRect().width}px }`
|
|
5857
|
-
}), K = yield
|
|
5869
|
+
}), K = yield nr(yield Vt(D)), Y = yield p == null ? void 0 : p(
|
|
5858
5870
|
new File([K], "video.png", { type: K.type })
|
|
5859
5871
|
);
|
|
5860
5872
|
m(
|
|
@@ -5879,7 +5891,7 @@ function io({
|
|
|
5879
5891
|
{
|
|
5880
5892
|
name: "2",
|
|
5881
5893
|
header: v("Video thumbnail"),
|
|
5882
|
-
extra: /* @__PURE__ */ t.createElement(ft, { loading: o, type: "primary", onClick:
|
|
5894
|
+
extra: /* @__PURE__ */ t.createElement(ft, { loading: o, type: "primary", onClick: S }, v("Save"))
|
|
5883
5895
|
},
|
|
5884
5896
|
/* @__PURE__ */ t.createElement(
|
|
5885
5897
|
X.ImageUrl,
|
|
@@ -5890,7 +5902,7 @@ function io({
|
|
|
5890
5902
|
hideInput: !0
|
|
5891
5903
|
}
|
|
5892
5904
|
),
|
|
5893
|
-
/* @__PURE__ */ t.createElement(
|
|
5905
|
+
/* @__PURE__ */ t.createElement(Ne.Row, null, /* @__PURE__ */ t.createElement(Ne.Col, { offset: 1, span: 22 }, /* @__PURE__ */ t.createElement(
|
|
5894
5906
|
X.TextField,
|
|
5895
5907
|
{
|
|
5896
5908
|
path: e,
|
|
@@ -5925,7 +5937,7 @@ function io({
|
|
|
5925
5937
|
formItem: { layout: "vertical" },
|
|
5926
5938
|
hideInput: !0
|
|
5927
5939
|
}
|
|
5928
|
-
), /* @__PURE__ */ t.createElement(
|
|
5940
|
+
), /* @__PURE__ */ t.createElement(Ne.Row, null, /* @__PURE__ */ t.createElement(Ne.Col, { offset: 1, span: 22 }, /* @__PURE__ */ t.createElement(
|
|
5929
5941
|
X.SliderField,
|
|
5930
5942
|
{
|
|
5931
5943
|
path: e,
|
|
@@ -5941,14 +5953,14 @@ function io({
|
|
|
5941
5953
|
}
|
|
5942
5954
|
))))) : null;
|
|
5943
5955
|
}
|
|
5944
|
-
const
|
|
5956
|
+
const co = {
|
|
5945
5957
|
formatter(e) {
|
|
5946
5958
|
return !!e;
|
|
5947
5959
|
},
|
|
5948
5960
|
normalize(e) {
|
|
5949
5961
|
return e ? "true" : void 0;
|
|
5950
5962
|
}
|
|
5951
|
-
},
|
|
5963
|
+
}, uo = ({ nodePath: e }) => /* @__PURE__ */ t.createElement(ot, null, /* @__PURE__ */ t.createElement(
|
|
5952
5964
|
Kt,
|
|
5953
5965
|
{
|
|
5954
5966
|
desktop: /* @__PURE__ */ t.createElement(
|
|
@@ -5972,7 +5984,7 @@ function dn({
|
|
|
5972
5984
|
mode: r
|
|
5973
5985
|
}) {
|
|
5974
5986
|
const [a, p] = Ve("image"), { selectedNode: m } = ze();
|
|
5975
|
-
return m ? /* @__PURE__ */ t.createElement(je, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ t.createElement(de.Item, { name: "1", header: v("Container") }, /* @__PURE__ */ t.createElement(
|
|
5987
|
+
return m ? /* @__PURE__ */ t.createElement(je, { defaultActiveKey: ["0", "1", "2", "3"] }, /* @__PURE__ */ t.createElement(de.Item, { name: "1", header: v("Container") }, /* @__PURE__ */ t.createElement(ho, { nodePath: e, mode: r }), /* @__PURE__ */ t.createElement(
|
|
5976
5988
|
X.SwitchField,
|
|
5977
5989
|
{
|
|
5978
5990
|
label: v("Stack on mobile"),
|
|
@@ -6022,20 +6034,20 @@ function dn({
|
|
|
6022
6034
|
contentStyle: { padding: 0, paddingBottom: 0 }
|
|
6023
6035
|
},
|
|
6024
6036
|
/* @__PURE__ */ t.createElement(
|
|
6025
|
-
|
|
6037
|
+
Nt.Group,
|
|
6026
6038
|
{
|
|
6027
6039
|
type: "button",
|
|
6028
6040
|
style: { width: "100%", whiteSpace: "nowrap" },
|
|
6029
6041
|
value: a,
|
|
6030
6042
|
onChange: p
|
|
6031
6043
|
},
|
|
6032
|
-
/* @__PURE__ */ t.createElement(
|
|
6033
|
-
/* @__PURE__ */ t.createElement(
|
|
6044
|
+
/* @__PURE__ */ t.createElement(Nt, { style: { width: "50%", textAlign: "center" }, value: "image" }, "Image"),
|
|
6045
|
+
/* @__PURE__ */ t.createElement(Nt, { style: { width: "50%", textAlign: "center" }, value: "text" }, "Text")
|
|
6034
6046
|
),
|
|
6035
|
-
a === "image" ? /* @__PURE__ */ t.createElement(
|
|
6047
|
+
a === "image" ? /* @__PURE__ */ t.createElement(mo, { nodePath: [...e, 0] }) : /* @__PURE__ */ t.createElement(po, { nodePath: [...e, 1], mode: r })
|
|
6036
6048
|
)) : null;
|
|
6037
6049
|
}
|
|
6038
|
-
const
|
|
6050
|
+
const mo = ({ nodePath: e }) => {
|
|
6039
6051
|
const { selectedNode: r } = ze(), { setFieldValue: a, values: p } = qe(), m = parseInt(p.content.attributes.width || "600") || 600, l = gt(
|
|
6040
6052
|
(i) => {
|
|
6041
6053
|
i.width < m && a(e, "attributes.width", i.width + "px");
|
|
@@ -6075,7 +6087,7 @@ const co = ({ nodePath: e }) => {
|
|
|
6075
6087
|
path: e,
|
|
6076
6088
|
name: "fluid-on-mobile",
|
|
6077
6089
|
label: v("Full width on mobile"),
|
|
6078
|
-
formItem:
|
|
6090
|
+
formItem: co
|
|
6079
6091
|
}
|
|
6080
6092
|
)), /* @__PURE__ */ t.createElement(de.Item, { name: "0", header: v("Dimension") }, /* @__PURE__ */ t.createElement(
|
|
6081
6093
|
$,
|
|
@@ -6106,7 +6118,7 @@ const co = ({ nodePath: e }) => {
|
|
|
6106
6118
|
name: ""
|
|
6107
6119
|
}
|
|
6108
6120
|
))) : null;
|
|
6109
|
-
},
|
|
6121
|
+
}, po = ({
|
|
6110
6122
|
nodePath: e,
|
|
6111
6123
|
mode: r
|
|
6112
6124
|
}) => {
|
|
@@ -6158,7 +6170,7 @@ const co = ({ nodePath: e }) => {
|
|
|
6158
6170
|
name: "align"
|
|
6159
6171
|
}
|
|
6160
6172
|
))) : null;
|
|
6161
|
-
},
|
|
6173
|
+
}, ho = ({
|
|
6162
6174
|
nodePath: e,
|
|
6163
6175
|
mode: r
|
|
6164
6176
|
}) => {
|
|
@@ -6176,7 +6188,7 @@ const co = ({ nodePath: e }) => {
|
|
|
6176
6188
|
r === ue.DESKTOP ? "attributes.first-column-width" : "mobileAttributes.first-column-width",
|
|
6177
6189
|
l
|
|
6178
6190
|
);
|
|
6179
|
-
}, [r, e, p, l]),
|
|
6191
|
+
}, [r, e, p, l]), S = gt(() => {
|
|
6180
6192
|
p(
|
|
6181
6193
|
e,
|
|
6182
6194
|
r === ue.DESKTOP ? "attributes.first-column-width" : "mobileAttributes.first-column-width",
|
|
@@ -6208,17 +6220,17 @@ const co = ({ nodePath: e }) => {
|
|
|
6208
6220
|
value: o,
|
|
6209
6221
|
suffix: "%",
|
|
6210
6222
|
onChange: d,
|
|
6211
|
-
onBlur:
|
|
6223
|
+
onBlur: S
|
|
6212
6224
|
}
|
|
6213
6225
|
))
|
|
6214
6226
|
) : null;
|
|
6215
6227
|
};
|
|
6216
|
-
function
|
|
6228
|
+
function bo({
|
|
6217
6229
|
attributes: e,
|
|
6218
6230
|
data: r
|
|
6219
6231
|
}) {
|
|
6220
|
-
var
|
|
6221
|
-
const p = (((
|
|
6232
|
+
var S;
|
|
6233
|
+
const p = (((S = r.styleOptions) == null ? void 0 : S.colorful) || {}).colors || {
|
|
6222
6234
|
day: "#ec4899",
|
|
6223
6235
|
hour: "#8b5cf6",
|
|
6224
6236
|
minute: "#3b82f6",
|
|
@@ -6282,7 +6294,7 @@ function po({
|
|
|
6282
6294
|
}
|
|
6283
6295
|
`), /* @__PURE__ */ t.createElement("div", { className: "colorful-countdown-container" }, /* @__PURE__ */ t.createElement("div", { className: "colorful-countdown-wrapper" }, /* @__PURE__ */ t.createElement("div", { className: "colorful-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "colorful-countdown-number colorful-countdown-day days" }, i), /* @__PURE__ */ t.createElement("span", { className: "colorful-countdown-label" }, "Days")), /* @__PURE__ */ t.createElement("div", { className: "colorful-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "colorful-countdown-number colorful-countdown-hour hrs" }, o), /* @__PURE__ */ t.createElement("span", { className: "colorful-countdown-label" }, "Hours")), /* @__PURE__ */ t.createElement("div", { className: "colorful-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "colorful-countdown-number colorful-countdown-minute mins" }, d), /* @__PURE__ */ t.createElement("span", { className: "colorful-countdown-label" }, "Minutes")), /* @__PURE__ */ t.createElement("div", { className: "colorful-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "colorful-countdown-number colorful-countdown-second secs" }, y), /* @__PURE__ */ t.createElement("span", { className: "colorful-countdown-label" }, "Seconds")))));
|
|
6284
6296
|
}
|
|
6285
|
-
function
|
|
6297
|
+
function go({
|
|
6286
6298
|
attributes: e,
|
|
6287
6299
|
data: r
|
|
6288
6300
|
}) {
|
|
@@ -6299,7 +6311,7 @@ function ho({
|
|
|
6299
6311
|
case "day":
|
|
6300
6312
|
d = 60 * 60 * 24 * d;
|
|
6301
6313
|
}
|
|
6302
|
-
const { day: y, hour:
|
|
6314
|
+
const { day: y, hour: S, minute: z, second: D } = Ge(d);
|
|
6303
6315
|
return /* @__PURE__ */ t.createElement("div", null, /* @__PURE__ */ t.createElement("style", null, `
|
|
6304
6316
|
.minimal-countdown-container {
|
|
6305
6317
|
margin: 0 auto;
|
|
@@ -6333,14 +6345,14 @@ function ho({
|
|
|
6333
6345
|
color: ${o};
|
|
6334
6346
|
margin-top: 4px;
|
|
6335
6347
|
}
|
|
6336
|
-
`), /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-container" }, /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-wrapper" }, /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-number days" }, y), /* @__PURE__ */ t.createElement("span", { className: "minimal-countdown-label" }, "Days")), /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-number hrs" },
|
|
6348
|
+
`), /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-container" }, /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-wrapper" }, /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-number days" }, y), /* @__PURE__ */ t.createElement("span", { className: "minimal-countdown-label" }, "Days")), /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-number hrs" }, S), /* @__PURE__ */ t.createElement("span", { className: "minimal-countdown-label" }, "Hours")), /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-number mins" }, z), /* @__PURE__ */ t.createElement("span", { className: "minimal-countdown-label" }, "Minutes")), /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "minimal-countdown-number secs" }, D), /* @__PURE__ */ t.createElement("span", { className: "minimal-countdown-label" }, "Seconds")))));
|
|
6337
6349
|
}
|
|
6338
|
-
function
|
|
6350
|
+
function fo({
|
|
6339
6351
|
attributes: e,
|
|
6340
6352
|
data: r
|
|
6341
6353
|
}) {
|
|
6342
|
-
var
|
|
6343
|
-
const a = ((
|
|
6354
|
+
var S;
|
|
6355
|
+
const a = ((S = r.styleOptions) == null ? void 0 : S.dark) || {}, p = a["grid-color"] || "#1f2937", m = a["shadow-color"] || "#000000";
|
|
6344
6356
|
let l = r.remainingTime;
|
|
6345
6357
|
switch (r.unit) {
|
|
6346
6358
|
case "minute":
|
|
@@ -6389,12 +6401,12 @@ function bo({
|
|
|
6389
6401
|
}
|
|
6390
6402
|
`), /* @__PURE__ */ t.createElement("div", { className: "dark-countdown-container" }, /* @__PURE__ */ t.createElement("div", { className: "dark-countdown-wrapper" }, /* @__PURE__ */ t.createElement("div", { className: "dark-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "dark-countdown-number days" }, i), /* @__PURE__ */ t.createElement("span", { className: "dark-countdown-label" }, "D")), /* @__PURE__ */ t.createElement("div", { className: "dark-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "dark-countdown-number hrs" }, o), /* @__PURE__ */ t.createElement("span", { className: "dark-countdown-label" }, "H")), /* @__PURE__ */ t.createElement("div", { className: "dark-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "dark-countdown-number mins" }, d), /* @__PURE__ */ t.createElement("span", { className: "dark-countdown-label" }, "M")), /* @__PURE__ */ t.createElement("div", { className: "dark-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "dark-countdown-number secs" }, y), /* @__PURE__ */ t.createElement("span", { className: "dark-countdown-label" }, "S")))));
|
|
6391
6403
|
}
|
|
6392
|
-
function
|
|
6404
|
+
function wo({
|
|
6393
6405
|
attributes: e,
|
|
6394
6406
|
data: r
|
|
6395
6407
|
}) {
|
|
6396
|
-
var
|
|
6397
|
-
const a = ((
|
|
6408
|
+
var S;
|
|
6409
|
+
const a = ((S = r.styleOptions) == null ? void 0 : S.circular) || {}, p = a.borderColor || "#14b8a6", m = a.borderWidth || "4px";
|
|
6398
6410
|
let l = r.remainingTime;
|
|
6399
6411
|
switch (r.unit) {
|
|
6400
6412
|
case "minute":
|
|
@@ -6442,7 +6454,7 @@ function go({
|
|
|
6442
6454
|
}
|
|
6443
6455
|
`), /* @__PURE__ */ t.createElement("div", { className: "circular-countdown-container" }, /* @__PURE__ */ t.createElement("div", { className: "circular-countdown-wrapper" }, /* @__PURE__ */ t.createElement("div", { className: "circular-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "circular-countdown-number days" }, i), /* @__PURE__ */ t.createElement("span", { className: "circular-countdown-label" }, "Days")), /* @__PURE__ */ t.createElement("div", { className: "circular-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "circular-countdown-number hrs" }, o), /* @__PURE__ */ t.createElement("span", { className: "circular-countdown-label" }, "Hours")), /* @__PURE__ */ t.createElement("div", { className: "circular-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "circular-countdown-number mins" }, d), /* @__PURE__ */ t.createElement("span", { className: "circular-countdown-label" }, "Minutes")), /* @__PURE__ */ t.createElement("div", { className: "circular-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "circular-countdown-number secs" }, y), /* @__PURE__ */ t.createElement("span", { className: "circular-countdown-label" }, "Seconds")))));
|
|
6444
6456
|
}
|
|
6445
|
-
function
|
|
6457
|
+
function yo({
|
|
6446
6458
|
attributes: e,
|
|
6447
6459
|
data: r
|
|
6448
6460
|
}) {
|
|
@@ -6495,7 +6507,7 @@ function fo({
|
|
|
6495
6507
|
}
|
|
6496
6508
|
`), /* @__PURE__ */ t.createElement("div", { className: "elegant-countdown-container" }, /* @__PURE__ */ t.createElement("div", { className: "elegant-countdown-content" }, /* @__PURE__ */ t.createElement("div", { className: "elegant-countdown-wrapper" }, /* @__PURE__ */ t.createElement("div", { className: "elegant-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "elegant-countdown-number days" }, l), /* @__PURE__ */ t.createElement("span", { className: "elegant-countdown-label" }, "Days")), /* @__PURE__ */ t.createElement("div", { className: "elegant-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "elegant-countdown-number hrs" }, i), /* @__PURE__ */ t.createElement("span", { className: "elegant-countdown-label" }, "Hours")), /* @__PURE__ */ t.createElement("div", { className: "elegant-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "elegant-countdown-number mins" }, o), /* @__PURE__ */ t.createElement("span", { className: "elegant-countdown-label" }, "Minutes")), /* @__PURE__ */ t.createElement("div", { className: "elegant-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "elegant-countdown-number secs" }, d), /* @__PURE__ */ t.createElement("span", { className: "elegant-countdown-label" }, "Seconds"))))));
|
|
6497
6509
|
}
|
|
6498
|
-
function
|
|
6510
|
+
function xo({
|
|
6499
6511
|
attributes: e,
|
|
6500
6512
|
data: r
|
|
6501
6513
|
}) {
|
|
@@ -6514,7 +6526,7 @@ function wo({
|
|
|
6514
6526
|
case "day":
|
|
6515
6527
|
o = 60 * 60 * 24 * o;
|
|
6516
6528
|
}
|
|
6517
|
-
const { day: d, hour: y, minute:
|
|
6529
|
+
const { day: d, hour: y, minute: S, second: z } = Ge(o);
|
|
6518
6530
|
return /* @__PURE__ */ t.createElement("div", null, /* @__PURE__ */ t.createElement("style", null, `
|
|
6519
6531
|
.promo-countdown-container {
|
|
6520
6532
|
margin: 0 auto;
|
|
@@ -6574,9 +6586,9 @@ function wo({
|
|
|
6574
6586
|
.promo-countdown-button:hover {
|
|
6575
6587
|
opacity: 0.9;
|
|
6576
6588
|
}
|
|
6577
|
-
`), /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-container" }, /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-content" }, /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-wrapper" }, /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-number days" }, d), /* @__PURE__ */ t.createElement("span", { className: "promo-countdown-label" }, "Days")), /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-number hrs" }, y), /* @__PURE__ */ t.createElement("span", { className: "promo-countdown-label" }, "Hours")), /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-number mins" },
|
|
6589
|
+
`), /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-container" }, /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-content" }, /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-wrapper" }, /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-number days" }, d), /* @__PURE__ */ t.createElement("span", { className: "promo-countdown-label" }, "Days")), /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-number hrs" }, y), /* @__PURE__ */ t.createElement("span", { className: "promo-countdown-label" }, "Hours")), /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-number mins" }, S), /* @__PURE__ */ t.createElement("span", { className: "promo-countdown-label" }, "Minutes")), /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "promo-countdown-number secs" }, z), /* @__PURE__ */ t.createElement("span", { className: "promo-countdown-label" }, "Seconds"))), /* @__PURE__ */ t.createElement("button", { className: "promo-countdown-button" }, p))));
|
|
6578
6590
|
}
|
|
6579
|
-
function
|
|
6591
|
+
function Mo({
|
|
6580
6592
|
attributes: e,
|
|
6581
6593
|
data: r
|
|
6582
6594
|
}) {
|
|
@@ -6593,7 +6605,7 @@ function yo({
|
|
|
6593
6605
|
case "day":
|
|
6594
6606
|
o = 60 * 60 * 24 * o;
|
|
6595
6607
|
}
|
|
6596
|
-
const { day: d, hour: y, minute:
|
|
6608
|
+
const { day: d, hour: y, minute: S, second: z } = Ge(o);
|
|
6597
6609
|
return /* @__PURE__ */ t.createElement("div", null, /* @__PURE__ */ t.createElement("style", null, `
|
|
6598
6610
|
.modern-countdown-container {
|
|
6599
6611
|
margin: 0 auto;
|
|
@@ -6649,9 +6661,9 @@ function yo({
|
|
|
6649
6661
|
.modern-countdown-button:hover {
|
|
6650
6662
|
background-color: #f3f4f6;
|
|
6651
6663
|
}
|
|
6652
|
-
`), /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-container" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-inner" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-wrapper" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number-container" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number-top" }), /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number days" }, d)), /* @__PURE__ */ t.createElement("span", { className: "modern-countdown-label" }, "Days")), /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number-container" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number-top" }), /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number hrs" }, y)), /* @__PURE__ */ t.createElement("span", { className: "modern-countdown-label" }, "Hours")), /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number-container" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number-top" }), /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number mins" },
|
|
6664
|
+
`), /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-container" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-inner" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-wrapper" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number-container" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number-top" }), /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number days" }, d)), /* @__PURE__ */ t.createElement("span", { className: "modern-countdown-label" }, "Days")), /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number-container" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number-top" }), /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number hrs" }, y)), /* @__PURE__ */ t.createElement("span", { className: "modern-countdown-label" }, "Hours")), /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number-container" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number-top" }), /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number mins" }, S)), /* @__PURE__ */ t.createElement("span", { className: "modern-countdown-label" }, "Minutes")), /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-item" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number-container" }, /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number-top" }), /* @__PURE__ */ t.createElement("div", { className: "modern-countdown-number secs" }, z)), /* @__PURE__ */ t.createElement("span", { className: "modern-countdown-label" }, "Seconds"))))));
|
|
6653
6665
|
}
|
|
6654
|
-
const
|
|
6666
|
+
const vo = (e) => {
|
|
6655
6667
|
const r = pn[kn.WRAPPER], a = () => {
|
|
6656
6668
|
const m = e.element.attributes, l = {
|
|
6657
6669
|
backgroundColor: m["background-color"] || "transparent",
|
|
@@ -6671,7 +6683,7 @@ const xo = (e) => {
|
|
|
6671
6683
|
switch (m) {
|
|
6672
6684
|
case "minimal":
|
|
6673
6685
|
return /* @__PURE__ */ t.createElement(
|
|
6674
|
-
|
|
6686
|
+
go,
|
|
6675
6687
|
{
|
|
6676
6688
|
attributes: l,
|
|
6677
6689
|
data: e.element.data
|
|
@@ -6679,7 +6691,7 @@ const xo = (e) => {
|
|
|
6679
6691
|
);
|
|
6680
6692
|
case "dark":
|
|
6681
6693
|
return /* @__PURE__ */ t.createElement(
|
|
6682
|
-
|
|
6694
|
+
fo,
|
|
6683
6695
|
{
|
|
6684
6696
|
attributes: l,
|
|
6685
6697
|
data: e.element.data
|
|
@@ -6687,7 +6699,7 @@ const xo = (e) => {
|
|
|
6687
6699
|
);
|
|
6688
6700
|
case "circular":
|
|
6689
6701
|
return /* @__PURE__ */ t.createElement(
|
|
6690
|
-
|
|
6702
|
+
wo,
|
|
6691
6703
|
{
|
|
6692
6704
|
attributes: l,
|
|
6693
6705
|
data: e.element.data
|
|
@@ -6695,7 +6707,7 @@ const xo = (e) => {
|
|
|
6695
6707
|
);
|
|
6696
6708
|
case "elegant":
|
|
6697
6709
|
return /* @__PURE__ */ t.createElement(
|
|
6698
|
-
|
|
6710
|
+
yo,
|
|
6699
6711
|
{
|
|
6700
6712
|
attributes: l,
|
|
6701
6713
|
data: e.element.data
|
|
@@ -6703,7 +6715,7 @@ const xo = (e) => {
|
|
|
6703
6715
|
);
|
|
6704
6716
|
case "promotional":
|
|
6705
6717
|
return /* @__PURE__ */ t.createElement(
|
|
6706
|
-
|
|
6718
|
+
xo,
|
|
6707
6719
|
{
|
|
6708
6720
|
attributes: l,
|
|
6709
6721
|
data: e.element.data
|
|
@@ -6711,7 +6723,7 @@ const xo = (e) => {
|
|
|
6711
6723
|
);
|
|
6712
6724
|
case "modern":
|
|
6713
6725
|
return /* @__PURE__ */ t.createElement(
|
|
6714
|
-
|
|
6726
|
+
Mo,
|
|
6715
6727
|
{
|
|
6716
6728
|
attributes: l,
|
|
6717
6729
|
data: e.element.data
|
|
@@ -6720,7 +6732,7 @@ const xo = (e) => {
|
|
|
6720
6732
|
case "colorful":
|
|
6721
6733
|
default:
|
|
6722
6734
|
return /* @__PURE__ */ t.createElement(
|
|
6723
|
-
|
|
6735
|
+
bo,
|
|
6724
6736
|
{
|
|
6725
6737
|
attributes: l,
|
|
6726
6738
|
data: e.element.data
|
|
@@ -6755,44 +6767,44 @@ const xo = (e) => {
|
|
|
6755
6767
|
))), /* @__PURE__ */ t.createElement("tr", null, /* @__PURE__ */ t.createElement("td", null, p())))
|
|
6756
6768
|
)));
|
|
6757
6769
|
};
|
|
6758
|
-
class
|
|
6770
|
+
class Lo extends nt {
|
|
6759
6771
|
generateElement() {
|
|
6760
|
-
rt.registerBlocks([qt]), Ce(at, qt.type,
|
|
6772
|
+
rt.registerBlocks([qt]), Ce(at, qt.type, _r);
|
|
6761
6773
|
}
|
|
6762
6774
|
}
|
|
6763
|
-
class
|
|
6775
|
+
class Wo extends nt {
|
|
6764
6776
|
generateElement() {
|
|
6765
|
-
rt.registerBlocks([Jt]), Ce(at, Jt.type,
|
|
6777
|
+
rt.registerBlocks([Jt]), Ce(at, Jt.type, $r);
|
|
6766
6778
|
}
|
|
6767
6779
|
}
|
|
6768
|
-
class
|
|
6780
|
+
class zo extends nt {
|
|
6769
6781
|
generateElement() {
|
|
6770
|
-
pn[hn.MARKETING_COUNTDOWN_V2] =
|
|
6782
|
+
pn[hn.MARKETING_COUNTDOWN_V2] = vo, rt.registerBlocks([Qt]), Ce(at, Qt.type, to);
|
|
6771
6783
|
}
|
|
6772
6784
|
}
|
|
6773
|
-
class
|
|
6785
|
+
class Yo extends nt {
|
|
6774
6786
|
generateElement() {
|
|
6775
|
-
rt.registerBlocks([$t]), Ce(at, $t.type,
|
|
6787
|
+
rt.registerBlocks([$t]), Ce(at, $t.type, io);
|
|
6776
6788
|
}
|
|
6777
6789
|
}
|
|
6778
|
-
class
|
|
6790
|
+
class Oo extends nt {
|
|
6779
6791
|
generateElement() {
|
|
6780
|
-
rt.registerBlocks([en]), Ce(at, en.type,
|
|
6792
|
+
rt.registerBlocks([en]), Ce(at, en.type, lo);
|
|
6781
6793
|
}
|
|
6782
6794
|
}
|
|
6783
|
-
class
|
|
6795
|
+
class Ko extends nt {
|
|
6784
6796
|
generateElement() {
|
|
6785
|
-
rt.registerBlocks([tn]), Ce(at, tn.type,
|
|
6797
|
+
rt.registerBlocks([tn]), Ce(at, tn.type, uo);
|
|
6786
6798
|
}
|
|
6787
6799
|
}
|
|
6788
6800
|
export {
|
|
6789
6801
|
Xn as CommonType,
|
|
6790
|
-
|
|
6791
|
-
|
|
6792
|
-
|
|
6802
|
+
Wo as Countdown,
|
|
6803
|
+
zo as CountdownV2,
|
|
6804
|
+
Ko as ImageWithText,
|
|
6793
6805
|
Ze as KitElementType,
|
|
6794
6806
|
hn as MarketingType,
|
|
6795
|
-
|
|
6796
|
-
|
|
6797
|
-
|
|
6807
|
+
Yo as QRCode,
|
|
6808
|
+
Lo as Shopwindow,
|
|
6809
|
+
Oo as Video
|
|
6798
6810
|
};
|