@spiffcommerce/core 22.8.0 → 22.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +17 -0
- package/dist/index.js +805 -775
- package/dist/index.umd.cjs +134 -116
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { createHttpLink as RA, InMemoryCache as HA, ApolloClient as kA, from as UA, gql as f } from "@apollo/client/core";
|
|
2
|
-
import { fetch as
|
|
3
|
-
import { AspectType as
|
|
2
|
+
import { fetch as lt, getAttributesFromArrayBuffer as Ot, AssetType as At, StepType as M, getFrameData as gt, frameDataCache as GA, modifySVGColors as bA, svgToDataUrl as JA, GroupCommand as k, UpdateFramePattern as Lt, UpdateFrameThresholdSettingsCommand as TA, calculateOffsets as Bt, LayoutElementType as G, generate as J, CreateElementCommand as L, generateSVGWithUnknownColors as ze, svgObjectURL as Re, fetchAsString as _, DeleteElementCommand as ne, generateDefaultRectangleFrameSvg as yt, GetSVGDimensions as OA, patternImageDataCache as Mt, fetchAsArrayBuffer as LA, findElement as He, modifySVGWithElementProperties as zA, IllustrationColorCommand as at, IllustrationCacheCommand as KA, getFontMetrics as jA, getPatternImageData as nt, FontAlignmentCommand as VA, FontColorCommand as WA, FontImageFillCommand as Xe, applyTextTransformations as it, determineCorrectFontSizeAndLines as Ne, FontSourceCommand as St, loadFont as dt, TextChangeCommand as XA, FontSizeCommand as qA, createElementNS as ZA, createElement as fe, _loadFontExternalDataURL as Ct, UpdateWorkflowStateCommand as Yt, CommandContext as $A, createCanvas as ke, getSvgElement as zt, LayoutRenderingPurpose as Kt, renderPapyrusComponentAsString as jt, loadImage as Vt, getDomParser as Wt, toBase64 as Pt, getVariant as _A, generateFrameSVG as ea, getDefaultVariant as Ke, domParser as Xt, sanitizeSvgTree as qt, traverse as ta, xmlSerializer as Zt, CreateLayoutCommand as Aa, AspectType as $, rehydrateSerializedLayout as se } from "@spiffcommerce/papyrus";
|
|
3
|
+
import { AspectType as xs, AssetType as Ns, BringForwardCommand as vs, BringToBackCommand as Rs, BringToFrontCommand as Hs, CanvasCommand as ks, CommandContext as Us, CreateElementCommand as Gs, CreateLayoutCommand as bs, DeleteElementCommand as Js, FontAlignmentCommand as Ts, FontColorCommand as Os, FontSizeCommand as Ls, FontSourceCommand as zs, GroupCommand as Ks, LayoutElementFactory as js, LayoutElementType as Vs, MoveCommand as Ws, ResizeCommand as Xs, RotateCommand as qs, SendBackwardsCommand as Zs, StepAspectType as $s, StepType as _s, TextChangeCommand as eo, UnitOfMeasurement as to, UpdateImageSourceCommand as Ao, dataUrlFromExternalUrl as ao, determineCorrectFontSizeAndLines as no, findElement as io, frameDataCache as so, generate as oo, generateSVGWithUnknownColors as ro, getAttributesFromArrayBuffer as co, getAxisAlignedBoundingBox as lo, getFrameData as go, getSvgElement as Bo, loadFont as Co, patternImageDataCache as wo, registerFetchImplementation as ho, registerWindowImplementation as Eo, rehydrateSerializedLayout as uo, setCanvasModule as mo, svgToDataUrl as Qo } from "@spiffcommerce/papyrus";
|
|
4
4
|
import { setContext as aa } from "@apollo/client/link/context";
|
|
5
5
|
import { onError as na } from "@apollo/client/link/error";
|
|
6
6
|
import { Pith as $t } from "pith";
|
|
7
7
|
import _t from "lodash.debounce";
|
|
8
8
|
import eA from "lodash.isequal";
|
|
9
|
-
import
|
|
9
|
+
import le from "lodash.clonedeep";
|
|
10
10
|
import { toString as tA } from "qrcode";
|
|
11
11
|
import ia from "fuse.js";
|
|
12
12
|
import { split as st } from "unicode-default-word-boundary";
|
|
@@ -150,28 +150,28 @@ class ra {
|
|
|
150
150
|
}
|
|
151
151
|
const q = new ra();
|
|
152
152
|
let aA;
|
|
153
|
-
const vt = (
|
|
154
|
-
aA =
|
|
153
|
+
const vt = (l) => {
|
|
154
|
+
aA = l;
|
|
155
155
|
};
|
|
156
156
|
let ht;
|
|
157
|
-
const ca = (
|
|
158
|
-
ht =
|
|
159
|
-
},
|
|
157
|
+
const ca = (l) => {
|
|
158
|
+
ht = l;
|
|
159
|
+
}, la = () => ht;
|
|
160
160
|
let nA;
|
|
161
|
-
const
|
|
162
|
-
nA =
|
|
163
|
-
}, Ba = () => new Promise((
|
|
161
|
+
const ga = (l) => {
|
|
162
|
+
nA = l;
|
|
163
|
+
}, Ba = () => new Promise((l) => {
|
|
164
164
|
const e = q.getHubUrl(), t = (A) => {
|
|
165
|
-
A.origin === e && (window.removeEventListener("message", t),
|
|
165
|
+
A.origin === e && (window.removeEventListener("message", t), l(A.data));
|
|
166
166
|
};
|
|
167
167
|
window.parent !== window && (window.addEventListener("message", t, !1), window.parent.postMessage("ready", e));
|
|
168
168
|
}), da = async () => {
|
|
169
|
-
const
|
|
169
|
+
const l = {
|
|
170
170
|
applicationKey: ht,
|
|
171
171
|
customerToken: aA,
|
|
172
172
|
bearer: nA
|
|
173
173
|
};
|
|
174
|
-
return typeof window < "u" && (window.location.href.includes("/workflows/product/") || window.location.href.includes("hub=true")) ? { ...await Ba(), ...
|
|
174
|
+
return typeof window < "u" && (window.location.href.includes("/workflows/product/") || window.location.href.includes("hub=true")) ? { ...await Ba(), ...l } : l;
|
|
175
175
|
};
|
|
176
176
|
class Ca {
|
|
177
177
|
constructor() {
|
|
@@ -185,22 +185,22 @@ class Ca {
|
|
|
185
185
|
constructShadowGraphqlClient() {
|
|
186
186
|
const e = RA({
|
|
187
187
|
uri: `${q.getServerUrl()}/graphql`,
|
|
188
|
-
fetch:
|
|
188
|
+
fetch: lt
|
|
189
189
|
}), t = aa(async (i, s) => {
|
|
190
|
-
const { headers: o } = s, r = o || {}, c = await da(), B = s.bearer ?? c.bearer,
|
|
190
|
+
const { headers: o } = s, r = o || {}, c = await da(), B = s.bearer ?? c.bearer, g = s.partnerId ?? c.partnerId, d = s.activeIntegration ?? c.activeIntegration, C = s.transactionOwnerId, w = s.customerToken ?? c.customerToken, h = s.applicationKey ?? c.applicationKey, u = s.bundleOwnerId;
|
|
191
191
|
try {
|
|
192
192
|
if (window && window.__SENTRY__) {
|
|
193
193
|
const E = window.__SENTRY__.hub;
|
|
194
194
|
if (E) {
|
|
195
195
|
const D = E.traceHeaders();
|
|
196
|
-
Object.entries(D).forEach(([
|
|
197
|
-
r[
|
|
196
|
+
Object.entries(D).forEach(([Q, p]) => {
|
|
197
|
+
r[Q] = p;
|
|
198
198
|
});
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
} catch {
|
|
202
202
|
}
|
|
203
|
-
return B && (r.Authorization = `Bearer ${B}`),
|
|
203
|
+
return B && (r.Authorization = `Bearer ${B}`), g && (r.partnerId = g), d && (r.activeIntegration = d), C && (r.transactionOwnerId = C), w && (r.customerToken = w), h && (r["X-Application-Key"] = h), u && (r.bundleOwnerId = u), {
|
|
204
204
|
headers: r
|
|
205
205
|
};
|
|
206
206
|
}), A = na(({ operation: i, graphQLErrors: s, networkError: o }) => {
|
|
@@ -265,8 +265,8 @@ const x = new Ca(), wa = f`
|
|
|
265
265
|
value
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
|
-
`, Ie = (
|
|
269
|
-
${
|
|
268
|
+
`, Ie = (l) => f`
|
|
269
|
+
${l && wa || ""}
|
|
270
270
|
fragment AssetFields on Asset {
|
|
271
271
|
name
|
|
272
272
|
key
|
|
@@ -278,7 +278,7 @@ const x = new Ca(), wa = f`
|
|
|
278
278
|
name
|
|
279
279
|
link
|
|
280
280
|
}
|
|
281
|
-
${
|
|
281
|
+
${l && "...AssetMetadataFields" || ""}
|
|
282
282
|
}
|
|
283
283
|
`, ha = f`
|
|
284
284
|
${Ie(!1)}
|
|
@@ -355,35 +355,35 @@ const x = new Ca(), wa = f`
|
|
|
355
355
|
}
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
|
-
`,
|
|
358
|
+
`, ma = f`
|
|
359
359
|
${Ie(!1)}
|
|
360
360
|
mutation RemoveBackgroundFromAsset($key: String!) {
|
|
361
361
|
assetRemoveBackground(key: $key) {
|
|
362
362
|
...AssetFields
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
|
-
`, ot = async (
|
|
365
|
+
`, ot = async (l) => (await x.getShadowGraphqlClient().query({
|
|
366
366
|
query: ha,
|
|
367
367
|
errorPolicy: "all",
|
|
368
368
|
fetchPolicy: "no-cache",
|
|
369
369
|
variables: {
|
|
370
|
-
keys:
|
|
370
|
+
keys: l
|
|
371
371
|
}
|
|
372
|
-
})).data.assets,
|
|
372
|
+
})).data.assets, Qa = async (l) => (await x.getShadowGraphqlClient().query({
|
|
373
373
|
query: Ea,
|
|
374
374
|
errorPolicy: "all",
|
|
375
375
|
fetchPolicy: "no-cache",
|
|
376
376
|
variables: {
|
|
377
|
-
ids:
|
|
377
|
+
ids: l
|
|
378
378
|
}
|
|
379
|
-
})).data.materials, pa = async (
|
|
379
|
+
})).data.materials, pa = async (l, e, t, A, a) => {
|
|
380
380
|
var i;
|
|
381
381
|
return (i = (await x.getShadowGraphqlClient().mutate({
|
|
382
382
|
mutation: ua,
|
|
383
383
|
errorPolicy: "all",
|
|
384
384
|
fetchPolicy: "no-cache",
|
|
385
385
|
variables: {
|
|
386
|
-
name:
|
|
386
|
+
name: l,
|
|
387
387
|
type: e,
|
|
388
388
|
mimeType: t,
|
|
389
389
|
anonymous: A,
|
|
@@ -458,7 +458,7 @@ class Da {
|
|
|
458
458
|
async getMaterialLocalOrFromServer(e) {
|
|
459
459
|
if (this.materialCache.has(e))
|
|
460
460
|
return this.materialCache.get(e);
|
|
461
|
-
const A = (async () => (await
|
|
461
|
+
const A = (async () => (await Qa([e]))[0])();
|
|
462
462
|
return this.materialCache.set(e, A), A;
|
|
463
463
|
}
|
|
464
464
|
/**
|
|
@@ -507,7 +507,7 @@ class Da {
|
|
|
507
507
|
const a = (async () => {
|
|
508
508
|
var i, s;
|
|
509
509
|
const n = await x.getShadowGraphqlClient().mutate({
|
|
510
|
-
mutation:
|
|
510
|
+
mutation: ma,
|
|
511
511
|
fetchPolicy: "no-cache",
|
|
512
512
|
errorPolicy: "all",
|
|
513
513
|
variables: {
|
|
@@ -680,7 +680,7 @@ class Ia {
|
|
|
680
680
|
this.disabled = e;
|
|
681
681
|
}
|
|
682
682
|
}
|
|
683
|
-
const
|
|
683
|
+
const me = new Ia(), sA = f`
|
|
684
684
|
fragment OptionFields on Option {
|
|
685
685
|
id
|
|
686
686
|
name
|
|
@@ -726,13 +726,13 @@ const Qe = new Ia(), sA = f`
|
|
|
726
726
|
...OptionFields
|
|
727
727
|
}
|
|
728
728
|
}
|
|
729
|
-
`, Fa = async (
|
|
729
|
+
`, Fa = async (l) => {
|
|
730
730
|
const e = await x.getShadowGraphqlClient().query({
|
|
731
731
|
query: fa,
|
|
732
732
|
errorPolicy: "all",
|
|
733
733
|
fetchPolicy: "no-cache",
|
|
734
734
|
variables: {
|
|
735
|
-
ids:
|
|
735
|
+
ids: l
|
|
736
736
|
}
|
|
737
737
|
});
|
|
738
738
|
return e.data.options.forEach((t) => {
|
|
@@ -741,12 +741,12 @@ const Qe = new Ia(), sA = f`
|
|
|
741
741
|
n.asset && U.cacheAsset(n.asset), n.thumbnail && U.cacheAsset(n.thumbnail), n.material && U.cacheMaterial(n.material);
|
|
742
742
|
});
|
|
743
743
|
}), e.data.options;
|
|
744
|
-
}, ya = async (
|
|
745
|
-
const e =
|
|
744
|
+
}, ya = async (l, e) => (await e).find((A) => A.id === l), Ma = async (l) => {
|
|
745
|
+
const e = l.map((i) => me.get({ id: i })), t = l.filter((i, s) => e[s] === void 0);
|
|
746
746
|
if (t.length === 0)
|
|
747
747
|
return Promise.all(e);
|
|
748
748
|
const A = Fa(t), a = t.map(
|
|
749
|
-
(i) =>
|
|
749
|
+
(i) => me.set({ id: i }, ya(i, A))
|
|
750
750
|
), n = e.filter((i) => i !== void 0);
|
|
751
751
|
return await Promise.all(n.concat(a));
|
|
752
752
|
};
|
|
@@ -797,7 +797,7 @@ class Sa {
|
|
|
797
797
|
}
|
|
798
798
|
}
|
|
799
799
|
const V = new Sa();
|
|
800
|
-
var Ya = /* @__PURE__ */ ((
|
|
800
|
+
var Ya = /* @__PURE__ */ ((l) => (l.Hyperlink = "Hyperlink", l.Edit = "Edit", l.Approve = "Approve", l))(Ya || {}), Pa = /* @__PURE__ */ ((l) => (l.Hub = "Hub", l.Shopify = "Shopify", l))(Pa || {}), ut = /* @__PURE__ */ ((l) => (l.BackgroundRemover = "BackgroundRemover", l.ConversionAccelerator = "Conversion Accelerator", l.ProcessBuilder = "ProcessBuilder", l))(ut || {}), xa = /* @__PURE__ */ ((l) => (l[l.Orbit = 0] = "Orbit", l[l.Pan = 1] = "Pan", l))(xa || {}), Na = /* @__PURE__ */ ((l) => (l.Manual = "Manual", l.OnStart = "OnStart", l.OnQuit = "OnQuit", l.OnEnd = "OnEnd", l))(Na || {}), va = /* @__PURE__ */ ((l) => (l.Email = "Email", l.FirstName = "FirstName", l.LastName = "LastName", l.Phone = "Phone", l))(va || {}), be = /* @__PURE__ */ ((l) => (l.Owner = "Owner", l.Approver = "Approver", l.Editor = "Editor", l.Viewer = "Viewer", l))(be || {});
|
|
801
801
|
const oA = f`
|
|
802
802
|
fragment ActiveIntegrationFields on Integration {
|
|
803
803
|
id
|
|
@@ -1333,14 +1333,14 @@ const Ja = f`
|
|
|
1333
1333
|
}
|
|
1334
1334
|
}
|
|
1335
1335
|
}
|
|
1336
|
-
`,
|
|
1336
|
+
`, lA = f`
|
|
1337
1337
|
query ReadWorkflowStates($ids: [String]!) {
|
|
1338
1338
|
transactions(ids: $ids) {
|
|
1339
1339
|
id
|
|
1340
1340
|
workflowState
|
|
1341
1341
|
}
|
|
1342
1342
|
}
|
|
1343
|
-
`,
|
|
1343
|
+
`, gA = f`
|
|
1344
1344
|
${Be}
|
|
1345
1345
|
fragment IntegrationProductFields on IntegrationProduct {
|
|
1346
1346
|
id
|
|
@@ -1403,14 +1403,14 @@ const Ja = f`
|
|
|
1403
1403
|
}
|
|
1404
1404
|
}
|
|
1405
1405
|
`, Ta = f`
|
|
1406
|
-
${
|
|
1406
|
+
${gA}
|
|
1407
1407
|
query GetIntegrationProducts($ids: [String!]!) {
|
|
1408
1408
|
integrationProducts(ids: $ids) {
|
|
1409
1409
|
...IntegrationProductFields
|
|
1410
1410
|
}
|
|
1411
1411
|
}
|
|
1412
1412
|
`, Oa = f`
|
|
1413
|
-
${
|
|
1413
|
+
${gA}
|
|
1414
1414
|
query GetIntegrationProductFromExternalIds($externalIntegrationId: String!, $externalProductId: String!) {
|
|
1415
1415
|
integrationProductFromExternalIds(
|
|
1416
1416
|
externalIntegrationId: $externalIntegrationId
|
|
@@ -1431,25 +1431,25 @@ const Ja = f`
|
|
|
1431
1431
|
}
|
|
1432
1432
|
}
|
|
1433
1433
|
}
|
|
1434
|
-
`, Ce = [M.SilentIllustration, M.ProductOverlay], za = async (
|
|
1434
|
+
`, Ce = [M.SilentIllustration, M.ProductOverlay], za = async (l) => {
|
|
1435
1435
|
const e = [];
|
|
1436
|
-
|
|
1436
|
+
l.introduction && e.push({
|
|
1437
1437
|
name: "Introduction",
|
|
1438
|
-
title:
|
|
1438
|
+
title: l.name,
|
|
1439
1439
|
renderableSteps: [
|
|
1440
1440
|
{
|
|
1441
1441
|
type: M.Introduction,
|
|
1442
1442
|
stepName: "Introduction",
|
|
1443
|
-
stepTitle:
|
|
1444
|
-
helpText:
|
|
1443
|
+
stepTitle: l.name,
|
|
1444
|
+
helpText: l.introduction,
|
|
1445
1445
|
data: {},
|
|
1446
1446
|
conditions: []
|
|
1447
1447
|
}
|
|
1448
1448
|
],
|
|
1449
1449
|
silentSteps: []
|
|
1450
1450
|
});
|
|
1451
|
-
for (const A of
|
|
1452
|
-
const a = Ka(A.stepName,
|
|
1451
|
+
for (const A of l.steps) {
|
|
1452
|
+
const a = Ka(A.stepName, l.stepGroups);
|
|
1453
1453
|
if (!a)
|
|
1454
1454
|
e.push({
|
|
1455
1455
|
name: A.stepName,
|
|
@@ -1478,15 +1478,15 @@ const Ja = f`
|
|
|
1478
1478
|
stepTitle: t,
|
|
1479
1479
|
helpText: "",
|
|
1480
1480
|
data: {
|
|
1481
|
-
modelAnimation:
|
|
1482
|
-
lookAtAnimation:
|
|
1481
|
+
modelAnimation: l.finalizeStepConfig ? l.finalizeStepConfig.modelAnimation : void 0,
|
|
1482
|
+
lookAtAnimation: l.finalizeStepConfig ? l.finalizeStepConfig.lookAtAnimation : void 0
|
|
1483
1483
|
},
|
|
1484
1484
|
conditions: []
|
|
1485
1485
|
}
|
|
1486
1486
|
],
|
|
1487
1487
|
silentSteps: []
|
|
1488
1488
|
}), e;
|
|
1489
|
-
}, Ka = (
|
|
1489
|
+
}, Ka = (l, e) => e.find((t) => t.stepNames.includes(l)), ae = (l, e) => (l.conditions || []).every((t) => {
|
|
1490
1490
|
const A = e[t.targetStepName];
|
|
1491
1491
|
if (A && A.selectedVariants) {
|
|
1492
1492
|
const a = A.selectedVariants;
|
|
@@ -1495,17 +1495,17 @@ const Ja = f`
|
|
|
1495
1495
|
);
|
|
1496
1496
|
}
|
|
1497
1497
|
return !1;
|
|
1498
|
-
}), ja = (
|
|
1498
|
+
}), ja = (l, e) => {
|
|
1499
1499
|
const t = {
|
|
1500
|
-
name:
|
|
1501
|
-
title:
|
|
1502
|
-
renderableSteps:
|
|
1503
|
-
silentSteps:
|
|
1500
|
+
name: l.name,
|
|
1501
|
+
title: l.title,
|
|
1502
|
+
renderableSteps: l.renderableSteps.filter((A) => ae(A, e)),
|
|
1503
|
+
silentSteps: l.silentSteps.filter((A) => ae(A, e))
|
|
1504
1504
|
};
|
|
1505
1505
|
return t.silentSteps.length === 0 && t.renderableSteps.length === 0 ? null : t;
|
|
1506
|
-
}, ce = (
|
|
1506
|
+
}, ce = (l, e) => l.map((t) => ja(t, e)).filter((t) => t !== null), Va = async (l, e, t = !1) => {
|
|
1507
1507
|
var i;
|
|
1508
|
-
const A = ce(
|
|
1508
|
+
const A = ce(l, e), a = [];
|
|
1509
1509
|
for (const s of A)
|
|
1510
1510
|
for (const o of s.renderableSteps) {
|
|
1511
1511
|
const r = (((i = o.option) == null ? void 0 : i.variants) || []).length;
|
|
@@ -1595,19 +1595,19 @@ class dA {
|
|
|
1595
1595
|
}
|
|
1596
1596
|
}
|
|
1597
1597
|
}
|
|
1598
|
-
function Wa(
|
|
1599
|
-
const a = t.width *
|
|
1598
|
+
function Wa(l, e, t, A) {
|
|
1599
|
+
const a = t.width * l.zoom, n = t.height * l.zoom;
|
|
1600
1600
|
if (A) {
|
|
1601
|
-
const s =
|
|
1602
|
-
s.zoom = Math.max(o,
|
|
1601
|
+
const s = l, o = Math.max(e.width / t.width, e.height / t.height);
|
|
1602
|
+
s.zoom = Math.max(o, l.zoom);
|
|
1603
1603
|
const r = t.width * s.zoom, c = t.height * s.zoom;
|
|
1604
|
-
return s.x = ye(
|
|
1604
|
+
return s.x = ye(l.x, e.width - r, 0), s.y = ye(l.y, e.height - c, 0), s;
|
|
1605
1605
|
}
|
|
1606
|
-
const i =
|
|
1606
|
+
const i = l;
|
|
1607
1607
|
return i.x = ye(i.x, -a, e.width), i.y = ye(i.y, -n, e.height), i;
|
|
1608
1608
|
}
|
|
1609
|
-
function ye(
|
|
1610
|
-
return Math.min(Math.max(
|
|
1609
|
+
function ye(l, e, t) {
|
|
1610
|
+
return Math.min(Math.max(l, e), t);
|
|
1611
1611
|
}
|
|
1612
1612
|
class Xa {
|
|
1613
1613
|
constructor(e) {
|
|
@@ -1631,7 +1631,7 @@ class Xa {
|
|
|
1631
1631
|
if (a.currentFrameSources) {
|
|
1632
1632
|
let n = !1;
|
|
1633
1633
|
for (let i = 0; i < a.currentFrameSources.length; i++) {
|
|
1634
|
-
const s = a.currentFrameSources[i], o = await
|
|
1634
|
+
const s = a.currentFrameSources[i], o = await gt(s), r = this.frameData ? this.frameData[i] : void 0;
|
|
1635
1635
|
eA(o, r) || (this.frameData || (this.frameData = new Array(a.currentFrameSources.length)), this.frameData[i] = o, n = !0);
|
|
1636
1636
|
}
|
|
1637
1637
|
n && (this.onFrameDataChangeListeners.forEach(
|
|
@@ -1830,24 +1830,24 @@ class kt {
|
|
|
1830
1830
|
constructor(e, t, A) {
|
|
1831
1831
|
this.processRegion = async (a) => {
|
|
1832
1832
|
var o, r, c, B;
|
|
1833
|
-
const n = this.layouts.find((
|
|
1833
|
+
const n = this.layouts.find((g) => g.panelId === a.panelId);
|
|
1834
1834
|
if (!n)
|
|
1835
1835
|
throw new z(a);
|
|
1836
1836
|
let i = "";
|
|
1837
1837
|
if (this.configuration.type === M.ProductOverlay) {
|
|
1838
|
-
let
|
|
1839
|
-
if ((o = this.product) != null && o.overlayImageUrl && (
|
|
1838
|
+
let g = "";
|
|
1839
|
+
if ((o = this.product) != null && o.overlayImageUrl && (g = this.product.overlayImageUrl), i = g, !g)
|
|
1840
1840
|
throw new Ge(this.configuration, "Couldn't find an asset for product overlay step");
|
|
1841
1841
|
}
|
|
1842
1842
|
const s = this.evaluateAssetType();
|
|
1843
1843
|
if (s === G.Image) {
|
|
1844
|
-
const
|
|
1845
|
-
if (!
|
|
1844
|
+
const g = this.configuration.type === M.SilentIllustration ? (r = this.configuration.data.asset) == null ? void 0 : r.fileLink : (c = this.product) == null ? void 0 : c.overlayImageUrl;
|
|
1845
|
+
if (!g)
|
|
1846
1846
|
throw new Error("Undefined raster silent step source");
|
|
1847
1847
|
const d = {
|
|
1848
1848
|
stepName: this.configuration.stepName,
|
|
1849
1849
|
id: J(),
|
|
1850
|
-
src:
|
|
1850
|
+
src: g,
|
|
1851
1851
|
type: s,
|
|
1852
1852
|
y: a.top,
|
|
1853
1853
|
x: a.left,
|
|
@@ -1869,19 +1869,19 @@ class kt {
|
|
|
1869
1869
|
command: new L(d, n)
|
|
1870
1870
|
};
|
|
1871
1871
|
} else {
|
|
1872
|
-
const
|
|
1873
|
-
if (!
|
|
1872
|
+
const g = this.configuration.type === M.SilentIllustration ? (B = this.configuration.data.asset) == null ? void 0 : B.fileLink : i, C = await ze(await (async () => new Promise((h, u) => {
|
|
1873
|
+
if (!g) {
|
|
1874
1874
|
u("Undefined vector silent step source");
|
|
1875
1875
|
return;
|
|
1876
1876
|
}
|
|
1877
|
-
_(
|
|
1877
|
+
_(g, !0).then((E) => {
|
|
1878
1878
|
h(E);
|
|
1879
1879
|
}).catch((E) => console.error(E));
|
|
1880
1880
|
}))()), w = {
|
|
1881
1881
|
stepName: this.configuration.stepName,
|
|
1882
1882
|
id: J(),
|
|
1883
1883
|
cachedObjectURL: await Re(C.svg),
|
|
1884
|
-
src:
|
|
1884
|
+
src: g,
|
|
1885
1885
|
svg: C.svg,
|
|
1886
1886
|
colors: C.colors,
|
|
1887
1887
|
type: s,
|
|
@@ -1927,12 +1927,12 @@ class kt {
|
|
|
1927
1927
|
return e != null && e.startsWith("data:image/png") || e != null && e.endsWith(".jpeg") || e != null && e.endsWith(".jpg") || e != null && e.endsWith(".png") ? G.Image : e != null && e.endsWith(".svg") || e != null && e.startsWith("image/svg+xml") ? G.Illustration : G.Illustration;
|
|
1928
1928
|
}
|
|
1929
1929
|
}
|
|
1930
|
-
const qa = async (
|
|
1930
|
+
const qa = async (l) => {
|
|
1931
1931
|
const e = `${q.getServicesApiUrl()}/shortener`;
|
|
1932
1932
|
try {
|
|
1933
1933
|
return (await (await fetch(e, {
|
|
1934
1934
|
method: "POST",
|
|
1935
|
-
body: JSON.stringify({ longUrl:
|
|
1935
|
+
body: JSON.stringify({ longUrl: l }),
|
|
1936
1936
|
headers: {
|
|
1937
1937
|
"Content-Type": "application/json"
|
|
1938
1938
|
}
|
|
@@ -1974,8 +1974,8 @@ class Za {
|
|
|
1974
1974
|
A.serializableWorkflow.steps
|
|
1975
1975
|
), o = Object.values(A.layouts).map((r) => r.elements).flat().filter((r) => r.stepName === e.stepName).map((r) => ({ id: r.id, region: r.stepRegion }));
|
|
1976
1976
|
await t.setSelectionsAndElements(e.stepName, [], o, async () => {
|
|
1977
|
-
var B,
|
|
1978
|
-
const r = (B = a == null ? void 0 : a.storage) == null ? void 0 : B.videoShortUrl, c = (
|
|
1977
|
+
var B, g;
|
|
1978
|
+
const r = (B = a == null ? void 0 : a.storage) == null ? void 0 : B.videoShortUrl, c = (g = a == null ? void 0 : a.storage) == null ? void 0 : g.videoUrl;
|
|
1979
1979
|
t.updateStorage(e.stepName, {
|
|
1980
1980
|
videoShortUrl: r,
|
|
1981
1981
|
videoUrl: c
|
|
@@ -2015,8 +2015,8 @@ class Za {
|
|
|
2015
2015
|
const c = await qa(r);
|
|
2016
2016
|
if (!a.data || !a.data.regions)
|
|
2017
2017
|
throw new Ge(a, "Missing regions.");
|
|
2018
|
-
const B = await this.regionElements(a),
|
|
2019
|
-
return
|
|
2018
|
+
const B = await this.regionElements(a), g = await this.command(c, B, A, a.stepName);
|
|
2019
|
+
return g && (g.command && A.getCommandDispatcher()(g.command), g.followup && await g.followup()), await A.setSelectionsAndElements(a.stepName, [], B, async () => {
|
|
2020
2020
|
A.updateStorage(a.stepName, {
|
|
2021
2021
|
videoShortUrl: c,
|
|
2022
2022
|
videoUrl: i.href
|
|
@@ -2029,7 +2029,7 @@ class Za {
|
|
|
2029
2029
|
}
|
|
2030
2030
|
async command(e, t, A, a) {
|
|
2031
2031
|
const n = A.getLayouts(), s = `data:image/svg+xml;base64,${btoa(await tA(e, { type: "svg" }))}`, o = t.map((r) => {
|
|
2032
|
-
const c = r.region, B = n.find((
|
|
2032
|
+
const c = r.region, B = n.find((g) => g.panelId === (c == null ? void 0 : c.panelId));
|
|
2033
2033
|
if (!B && c)
|
|
2034
2034
|
throw new z(c);
|
|
2035
2035
|
if (B && !c)
|
|
@@ -2056,7 +2056,7 @@ class Za {
|
|
|
2056
2056
|
} };
|
|
2057
2057
|
}
|
|
2058
2058
|
}
|
|
2059
|
-
const wA = new Za(),
|
|
2059
|
+
const wA = new Za(), Qe = [
|
|
2060
2060
|
"Yellow C",
|
|
2061
2061
|
"Yellow 012 C",
|
|
2062
2062
|
"Orange 021 C",
|
|
@@ -3398,7 +3398,7 @@ const wA = new Za(), me = [
|
|
|
3398
3398
|
"Black 5 C",
|
|
3399
3399
|
"Black 6 C",
|
|
3400
3400
|
"Black 7 C"
|
|
3401
|
-
],
|
|
3401
|
+
], ge = [
|
|
3402
3402
|
"FEDD00",
|
|
3403
3403
|
"FFD700",
|
|
3404
3404
|
"FE5000",
|
|
@@ -4740,55 +4740,55 @@ const wA = new Za(), me = [
|
|
|
4740
4740
|
"3E2B2E",
|
|
4741
4741
|
"101820",
|
|
4742
4742
|
"3D3935"
|
|
4743
|
-
], qe =
|
|
4744
|
-
parseInt(
|
|
4745
|
-
parseInt(
|
|
4746
|
-
parseInt(
|
|
4743
|
+
], qe = ge.map((l) => [
|
|
4744
|
+
parseInt(l.substring(0, 2), 16),
|
|
4745
|
+
parseInt(l.substring(2, 4), 16),
|
|
4746
|
+
parseInt(l.substring(4, 6), 16)
|
|
4747
4747
|
]);
|
|
4748
|
-
function
|
|
4749
|
-
const e =
|
|
4750
|
-
return e >= 0 ?
|
|
4748
|
+
function ps(l) {
|
|
4749
|
+
const e = Qe.indexOf(l);
|
|
4750
|
+
return e >= 0 ? ge[e] : "";
|
|
4751
4751
|
}
|
|
4752
|
-
function $a(
|
|
4753
|
-
const e =
|
|
4754
|
-
return e >= 0 ?
|
|
4752
|
+
function $a(l) {
|
|
4753
|
+
const e = ge.indexOf(l);
|
|
4754
|
+
return e >= 0 ? Qe[e] : "";
|
|
4755
4755
|
}
|
|
4756
|
-
function
|
|
4757
|
-
const t = [], A = [], a = $a(
|
|
4756
|
+
function Ds(l, e = 64) {
|
|
4757
|
+
const t = [], A = [], a = $a(l);
|
|
4758
4758
|
a && t.push({
|
|
4759
4759
|
pms: a,
|
|
4760
|
-
hex:
|
|
4760
|
+
hex: l,
|
|
4761
4761
|
distance: 0
|
|
4762
4762
|
});
|
|
4763
|
-
const n = parseInt(
|
|
4763
|
+
const n = parseInt(l.substring(0, 2), 16), i = parseInt(l.substring(2, 4), 16), s = parseInt(l.substring(4, 6), 16);
|
|
4764
4764
|
let o, r, c;
|
|
4765
|
-
for (let B = 0; B <
|
|
4765
|
+
for (let B = 0; B < ge.length; B++) {
|
|
4766
4766
|
o = qe[B][0], r = qe[B][1], c = qe[B][2];
|
|
4767
|
-
const
|
|
4768
|
-
A.push(
|
|
4767
|
+
const g = Math.sqrt(Math.pow(n - o, 2) + Math.pow(i - r, 2) + Math.pow(s - c, 2));
|
|
4768
|
+
A.push(g);
|
|
4769
4769
|
}
|
|
4770
4770
|
for (let B = 0; B < A.length; B++)
|
|
4771
|
-
A[B] <= e && !t.some((
|
|
4772
|
-
return t.sort((B,
|
|
4771
|
+
A[B] <= e && !t.some((g) => g.pms === Qe[B]) && t.push({ pms: Qe[B], hex: ge[B], distance: A[B] });
|
|
4772
|
+
return t.sort((B, g) => B.distance - g.distance);
|
|
4773
4773
|
}
|
|
4774
|
-
const _a =
|
|
4775
|
-
function
|
|
4776
|
-
return en.search(
|
|
4774
|
+
const _a = Qe.map((l, e) => ({ pms: l, hex: ge[e] })), en = new ia(_a, { keys: ["pms"] });
|
|
4775
|
+
function Is(l, e) {
|
|
4776
|
+
return en.search(l, e ? { limit: e } : void 0);
|
|
4777
4777
|
}
|
|
4778
4778
|
let we = null;
|
|
4779
|
-
function tn(
|
|
4780
|
-
if (
|
|
4781
|
-
return Ut(
|
|
4779
|
+
function tn(l) {
|
|
4780
|
+
if (l.startsWith("#"))
|
|
4781
|
+
return Ut(l);
|
|
4782
4782
|
if (!document)
|
|
4783
4783
|
throw new Error("browserColorToHex is only supported on browsers");
|
|
4784
4784
|
if (we || (we = document.createElement("canvas").getContext("2d")), !we)
|
|
4785
4785
|
throw new Error("Failed to create canvas context required to convert colors");
|
|
4786
|
-
we.fillStyle =
|
|
4786
|
+
we.fillStyle = l;
|
|
4787
4787
|
const e = Ut(we.fillStyle);
|
|
4788
|
-
return e || console.error(`Unknown browser color ${
|
|
4788
|
+
return e || console.error(`Unknown browser color ${l}`), e;
|
|
4789
4789
|
}
|
|
4790
|
-
function Ut(
|
|
4791
|
-
const e =
|
|
4790
|
+
function Ut(l) {
|
|
4791
|
+
const e = l.substring(1).toUpperCase();
|
|
4792
4792
|
return e.length === 6 ? e : e.length === 3 ? `${e[0]}${e[0]}${e[1]}${e[1]}${e[2]}${e[2]}` : "";
|
|
4793
4793
|
}
|
|
4794
4794
|
class An {
|
|
@@ -4850,16 +4850,16 @@ class An {
|
|
|
4850
4850
|
if (a) {
|
|
4851
4851
|
const c = async () => {
|
|
4852
4852
|
var C, w, h, u, E;
|
|
4853
|
-
const B = (C = a.storage) == null ? void 0 : C.colors,
|
|
4853
|
+
const B = (C = a.storage) == null ? void 0 : C.colors, g = (w = a.storage) == null ? void 0 : w.framePatternSrc, d = (h = a.storage) == null ? void 0 : h.frameOffsetsList;
|
|
4854
4854
|
if (t.updateMetadata(e.stepName, {
|
|
4855
4855
|
frameOffsetsList: d,
|
|
4856
|
-
framePatternSrc:
|
|
4857
|
-
}),
|
|
4856
|
+
framePatternSrc: g
|
|
4857
|
+
}), g) {
|
|
4858
4858
|
const D = (u = t.getStepSpecificServices(e.stepName)) == null ? void 0 : u.frameService;
|
|
4859
4859
|
if (!D)
|
|
4860
4860
|
throw new Error("Frame service unavailable, cannot load pattern!");
|
|
4861
|
-
await this.loadPatternFromString(
|
|
4862
|
-
framePatternSrc:
|
|
4861
|
+
await this.loadPatternFromString(g, D, !0, B), t.updateMetadata(e.stepName, { image: g }), t.updateStorage(e.stepName, {
|
|
4862
|
+
framePatternSrc: g
|
|
4863
4863
|
}), this.validateColorCount(e, t);
|
|
4864
4864
|
}
|
|
4865
4865
|
if (d != null && d.some((D) => D.zoom)) {
|
|
@@ -4873,14 +4873,14 @@ class An {
|
|
|
4873
4873
|
if (a.selectedVariants && a.selectedVariants.length > 0) {
|
|
4874
4874
|
const B = a.selectedVariants[0].id;
|
|
4875
4875
|
if (e.option && B) {
|
|
4876
|
-
const
|
|
4877
|
-
|
|
4876
|
+
const g = (r = e.option.variants) == null ? void 0 : r.find((d) => d.id === B);
|
|
4877
|
+
g && await t.setSelectionsAndElements(
|
|
4878
4878
|
e.stepName,
|
|
4879
|
-
[
|
|
4879
|
+
[g],
|
|
4880
4880
|
o,
|
|
4881
4881
|
async () => {
|
|
4882
4882
|
const d = await Promise.all(
|
|
4883
|
-
e.data.regions.map((C) => this.frameSourceSvg(
|
|
4883
|
+
e.data.regions.map((C) => this.frameSourceSvg(g, C))
|
|
4884
4884
|
);
|
|
4885
4885
|
t.updateStorage(e.stepName, { currentFrameSources: d }), await c();
|
|
4886
4886
|
}
|
|
@@ -4972,8 +4972,8 @@ class An {
|
|
|
4972
4972
|
if (e.endsWith("svg")) {
|
|
4973
4973
|
const i = await OA(e), s = i.width, o = i.height, r = await _(e);
|
|
4974
4974
|
if (n) {
|
|
4975
|
-
const
|
|
4976
|
-
if (
|
|
4975
|
+
const g = r.match(/<(image|linearGradient|radialGradient)(\s|>|\/>)/gim);
|
|
4976
|
+
if (g && g.length > 0)
|
|
4977
4977
|
throw new Error(
|
|
4978
4978
|
"Vector files may not include images or gradients when a color limit is specified."
|
|
4979
4979
|
);
|
|
@@ -5045,8 +5045,8 @@ class An {
|
|
|
5045
5045
|
};
|
|
5046
5046
|
const a = { ...e.getImageData().colors ?? {} }, n = {};
|
|
5047
5047
|
Object.entries(a).forEach(([c, B]) => {
|
|
5048
|
-
const
|
|
5049
|
-
n[c] =
|
|
5048
|
+
const g = { browserValue: B.browserValue };
|
|
5049
|
+
n[c] = g;
|
|
5050
5050
|
});
|
|
5051
5051
|
for (const [c, B] of A.entries())
|
|
5052
5052
|
a[c] = { browserValue: B.browserValue, pmsValue: B.pmsValue }, n[c] = B;
|
|
@@ -5054,8 +5054,8 @@ class An {
|
|
|
5054
5054
|
const s = t.data.colorOption;
|
|
5055
5055
|
return s && ((r = s.variants) == null || r.forEach((c) => {
|
|
5056
5056
|
i = i.map((B) => {
|
|
5057
|
-
var
|
|
5058
|
-
return B.toLowerCase() === ((
|
|
5057
|
+
var g;
|
|
5058
|
+
return B.toLowerCase() === ((g = c.color) == null ? void 0 : g.toLowerCase()) ? c.name : B;
|
|
5059
5059
|
});
|
|
5060
5060
|
})), {
|
|
5061
5061
|
newColors: a,
|
|
@@ -5072,8 +5072,8 @@ class An {
|
|
|
5072
5072
|
);
|
|
5073
5073
|
}
|
|
5074
5074
|
async selectVariantCommand(e, t, A, a, n, i) {
|
|
5075
|
-
var
|
|
5076
|
-
const s = (
|
|
5075
|
+
var g;
|
|
5076
|
+
const s = (g = a.getStepSpecificServices(e.stepName)) == null ? void 0 : g.frameService;
|
|
5077
5077
|
if (!s)
|
|
5078
5078
|
throw new Error("Frame service unavailable, cannot load pattern!");
|
|
5079
5079
|
const o = await Promise.all(
|
|
@@ -5082,7 +5082,7 @@ class An {
|
|
|
5082
5082
|
n && n(!0);
|
|
5083
5083
|
const r = await Promise.all(
|
|
5084
5084
|
e.data.regions.map(async (d, C) => {
|
|
5085
|
-
const w = await
|
|
5085
|
+
const w = await gt(o[C]), h = s.getImageData(), u = A.map((I) => new ne(I.id)), E = h ? Bt(h, w) : void 0, D = h ? {
|
|
5086
5086
|
id: J(),
|
|
5087
5087
|
src: h.src,
|
|
5088
5088
|
x: (E == null ? void 0 : E.x) || 0,
|
|
@@ -5092,11 +5092,11 @@ class An {
|
|
|
5092
5092
|
scaleX: (E == null ? void 0 : E.zoom) || 1,
|
|
5093
5093
|
scaleY: (E == null ? void 0 : E.zoom) || 1,
|
|
5094
5094
|
rotation: 0
|
|
5095
|
-
} : void 0,
|
|
5096
|
-
if (!
|
|
5095
|
+
} : void 0, Q = J(), m = a.getLayouts().find((I) => I.panelId === d.panelId);
|
|
5096
|
+
if (!m)
|
|
5097
5097
|
throw new z(d);
|
|
5098
5098
|
return {
|
|
5099
|
-
command: this.getCreateElementCommand(
|
|
5099
|
+
command: this.getCreateElementCommand(Q, d, m, {
|
|
5100
5100
|
frameData: w,
|
|
5101
5101
|
pattern: D,
|
|
5102
5102
|
disablePlaceholder: e.data.disablePlaceholder,
|
|
@@ -5106,7 +5106,7 @@ class An {
|
|
|
5106
5106
|
stepName: e.stepName
|
|
5107
5107
|
}),
|
|
5108
5108
|
regionEl: {
|
|
5109
|
-
id:
|
|
5109
|
+
id: Q,
|
|
5110
5110
|
region: d
|
|
5111
5111
|
},
|
|
5112
5112
|
removeExistingCommands: u
|
|
@@ -5245,13 +5245,13 @@ class an {
|
|
|
5245
5245
|
if (a != null && a.selectedVariants) {
|
|
5246
5246
|
const c = a.selectedVariants[0].id;
|
|
5247
5247
|
if (o && c) {
|
|
5248
|
-
const B = (r = o.variants) == null ? void 0 : r.find((
|
|
5248
|
+
const B = (r = o.variants) == null ? void 0 : r.find((g) => g.id === c);
|
|
5249
5249
|
if (B) {
|
|
5250
|
-
const
|
|
5250
|
+
const g = s.map((d) => ({ id: d.id, region: d.stepRegion }));
|
|
5251
5251
|
await t.setSelectionsAndElements(
|
|
5252
5252
|
e.stepName,
|
|
5253
5253
|
[B],
|
|
5254
|
-
|
|
5254
|
+
g,
|
|
5255
5255
|
async () => {
|
|
5256
5256
|
var d;
|
|
5257
5257
|
t.updateMetadata(e.stepName, {
|
|
@@ -5277,12 +5277,12 @@ class an {
|
|
|
5277
5277
|
async changeColorsCommand(e, t, A, a, n) {
|
|
5278
5278
|
var c;
|
|
5279
5279
|
const i = {};
|
|
5280
|
-
for (const [B,
|
|
5281
|
-
i[B] = { browserValue:
|
|
5280
|
+
for (const [B, g] of n.entries())
|
|
5281
|
+
i[B] = { browserValue: g, spotColor: (c = i[B]) == null ? void 0 : c.spotColor };
|
|
5282
5282
|
const s = zA(e, t, A, i), o = await Re(s), r = [];
|
|
5283
5283
|
for (const B of a) {
|
|
5284
|
-
for (const [
|
|
5285
|
-
r.push(new at(B,
|
|
5284
|
+
for (const [g, d] of n.entries())
|
|
5285
|
+
r.push(new at(B, g, d));
|
|
5286
5286
|
r.push(new KA(B, s, o));
|
|
5287
5287
|
}
|
|
5288
5288
|
return new k(r);
|
|
@@ -5314,7 +5314,7 @@ class an {
|
|
|
5314
5314
|
B.set(w, h.browserValue);
|
|
5315
5315
|
}), !i.svg)
|
|
5316
5316
|
throw new Error("Colors changed before SVG loaded. This should never happen!");
|
|
5317
|
-
const
|
|
5317
|
+
const g = await this.changeColorsCommand(
|
|
5318
5318
|
i.svg,
|
|
5319
5319
|
i.width,
|
|
5320
5320
|
i.height,
|
|
@@ -5323,7 +5323,7 @@ class an {
|
|
|
5323
5323
|
);
|
|
5324
5324
|
A.updateStorage(e.stepName, {
|
|
5325
5325
|
colors: o
|
|
5326
|
-
}), A.getCommandDispatcher()(
|
|
5326
|
+
}), A.getCommandDispatcher()(g);
|
|
5327
5327
|
}
|
|
5328
5328
|
async selectVariant(e, t, A, a, n) {
|
|
5329
5329
|
const i = await this.selectVariantCommand(e, t, A, a, n);
|
|
@@ -5346,23 +5346,23 @@ class an {
|
|
|
5346
5346
|
const D = n.getLayouts().find((p) => p.panelId === E.panelId);
|
|
5347
5347
|
if (!D)
|
|
5348
5348
|
throw new z(E);
|
|
5349
|
-
const
|
|
5349
|
+
const Q = J();
|
|
5350
5350
|
return {
|
|
5351
|
-
regionElement: { id:
|
|
5352
|
-
command: this.getCreateElementCommand(
|
|
5351
|
+
regionElement: { id: Q, region: E },
|
|
5352
|
+
command: this.getCreateElementCommand(Q, E, D, {
|
|
5353
5353
|
stepName: e.stepName,
|
|
5354
5354
|
src: o,
|
|
5355
5355
|
objectURL: c,
|
|
5356
5356
|
svg: r
|
|
5357
5357
|
})
|
|
5358
5358
|
};
|
|
5359
|
-
},
|
|
5359
|
+
}, g = e.data.regions.map(B), C = [...g.map((E) => E.command), ...i];
|
|
5360
5360
|
let w = Array.from(Object.values(r.colors)).map((E) => E.browserValue);
|
|
5361
5361
|
const h = e.data.colorOption;
|
|
5362
5362
|
return h && ((u = h.variants) == null || u.forEach((E) => {
|
|
5363
5363
|
w = w.map((D) => {
|
|
5364
|
-
var
|
|
5365
|
-
return D.toLowerCase() === ((
|
|
5364
|
+
var Q;
|
|
5365
|
+
return D.toLowerCase() === ((Q = E.color) == null ? void 0 : Q.toLowerCase()) ? E.name : D;
|
|
5366
5366
|
});
|
|
5367
5367
|
})), n.updateMetadata(e.stepName, { colors: w }), {
|
|
5368
5368
|
command: new k(C),
|
|
@@ -5370,25 +5370,25 @@ class an {
|
|
|
5370
5370
|
await n.setSelectionsAndElements(
|
|
5371
5371
|
e.stepName,
|
|
5372
5372
|
[t],
|
|
5373
|
-
|
|
5373
|
+
g.map((Q) => Q.regionElement),
|
|
5374
5374
|
async () => {
|
|
5375
5375
|
n.setMandatoryFulfilled(e.stepName, !0), a(!1);
|
|
5376
5376
|
}
|
|
5377
5377
|
);
|
|
5378
5378
|
const E = await this.availableColors(e, n) || [], D = Object.keys(r.colors);
|
|
5379
5379
|
if (e.data.colorPickerEnabled && E.length === 1 && D.length === 1) {
|
|
5380
|
-
const
|
|
5380
|
+
const Q = E[0], p = D[0];
|
|
5381
5381
|
await this.changeColors(
|
|
5382
5382
|
e,
|
|
5383
|
-
|
|
5383
|
+
g.map((m) => m.regionElement),
|
|
5384
5384
|
n,
|
|
5385
5385
|
() => n.getCommandContext().getAllLayouts(),
|
|
5386
|
-
/* @__PURE__ */ new Map([[p,
|
|
5386
|
+
/* @__PURE__ */ new Map([[p, Q.variant.color]])
|
|
5387
5387
|
);
|
|
5388
5388
|
} else
|
|
5389
5389
|
e.data.colorPickerEnabled && await this.changeColors(
|
|
5390
5390
|
e,
|
|
5391
|
-
|
|
5391
|
+
g.map((Q) => Q.regionElement),
|
|
5392
5392
|
n,
|
|
5393
5393
|
() => n.getCommandContext().getAllLayouts(),
|
|
5394
5394
|
/* @__PURE__ */ new Map()
|
|
@@ -5424,9 +5424,9 @@ class nn {
|
|
|
5424
5424
|
if (a != null && a.selectedVariants) {
|
|
5425
5425
|
const c = a.selectedVariants[0].id;
|
|
5426
5426
|
if (c) {
|
|
5427
|
-
const B = (r = o.variants) == null ? void 0 : r.find((
|
|
5427
|
+
const B = (r = o.variants) == null ? void 0 : r.find((g) => g.id === c);
|
|
5428
5428
|
if (B) {
|
|
5429
|
-
const
|
|
5429
|
+
const g = B.material, d = s.map((C) => ({ id: C.id, region: C.stepRegion }));
|
|
5430
5430
|
await t.setSelectionsAndElements(
|
|
5431
5431
|
e.stepName,
|
|
5432
5432
|
[B],
|
|
@@ -5437,7 +5437,7 @@ class nn {
|
|
|
5437
5437
|
const w = e.data.targetMaterials.map((h) => C.applyMaterialVariant(
|
|
5438
5438
|
h,
|
|
5439
5439
|
o.id || "",
|
|
5440
|
-
|
|
5440
|
+
g || {}
|
|
5441
5441
|
));
|
|
5442
5442
|
Promise.all(w).then(
|
|
5443
5443
|
() => t.setMandatoryFulfilled(e.stepName, !0)
|
|
@@ -5500,13 +5500,13 @@ class sn {
|
|
|
5500
5500
|
if (a != null && a.selectedVariants) {
|
|
5501
5501
|
const c = a.selectedVariants[0].id;
|
|
5502
5502
|
if (o && c) {
|
|
5503
|
-
const B = (r = o.variants) == null ? void 0 : r.find((
|
|
5503
|
+
const B = (r = o.variants) == null ? void 0 : r.find((g) => g.id === c);
|
|
5504
5504
|
if (B) {
|
|
5505
|
-
const
|
|
5505
|
+
const g = s.map((d) => ({ id: d.id, region: d.stepRegion }));
|
|
5506
5506
|
await t.setSelectionsAndElements(
|
|
5507
5507
|
e.stepName,
|
|
5508
5508
|
[B],
|
|
5509
|
-
|
|
5509
|
+
g,
|
|
5510
5510
|
async () => {
|
|
5511
5511
|
var C;
|
|
5512
5512
|
const d = t.getModelContainer();
|
|
@@ -5596,55 +5596,55 @@ class on {
|
|
|
5596
5596
|
if (A.setMandatoryFulfilled(e.stepName, t !== ""), !e.data || !e.data.regions || e.data.regions.length <= 0)
|
|
5597
5597
|
return console.error("Missing configuration."), null;
|
|
5598
5598
|
A.updateStorage(e.stepName, { text: t }), A.updateMetadata(e.stepName, { text: t });
|
|
5599
|
-
const r = (B,
|
|
5600
|
-
const C = d || J(), h = A.getLayouts().find((E) => E.panelId ===
|
|
5599
|
+
const r = (B, g, d) => {
|
|
5600
|
+
const C = d || J(), h = A.getLayouts().find((E) => E.panelId === g.panelId);
|
|
5601
5601
|
if (!h)
|
|
5602
|
-
return console.error(`Can not find layout for region: ${
|
|
5602
|
+
return console.error(`Can not find layout for region: ${g.panelId}`), null;
|
|
5603
5603
|
const u = [];
|
|
5604
5604
|
return d && u.push(new ne(C)), u.push(
|
|
5605
5605
|
new L(
|
|
5606
5606
|
{
|
|
5607
|
-
stepRegion:
|
|
5607
|
+
stepRegion: g,
|
|
5608
5608
|
stepName: e.stepName,
|
|
5609
5609
|
colors: {},
|
|
5610
5610
|
id: C,
|
|
5611
5611
|
svg: B,
|
|
5612
5612
|
type: G.Illustration,
|
|
5613
|
-
y:
|
|
5614
|
-
x:
|
|
5615
|
-
rotation:
|
|
5616
|
-
width:
|
|
5617
|
-
height:
|
|
5618
|
-
layer:
|
|
5619
|
-
layerIndex:
|
|
5620
|
-
immutable:
|
|
5613
|
+
y: g.top,
|
|
5614
|
+
x: g.left,
|
|
5615
|
+
rotation: g.rotation,
|
|
5616
|
+
width: g.width,
|
|
5617
|
+
height: g.height,
|
|
5618
|
+
layer: g.layer,
|
|
5619
|
+
layerIndex: g.layerIndex,
|
|
5620
|
+
immutable: g.immutable
|
|
5621
5621
|
},
|
|
5622
5622
|
h
|
|
5623
5623
|
)
|
|
5624
5624
|
), {
|
|
5625
5625
|
id: C,
|
|
5626
|
-
region:
|
|
5626
|
+
region: g,
|
|
5627
5627
|
command: new k(u)
|
|
5628
5628
|
};
|
|
5629
5629
|
};
|
|
5630
5630
|
if (i.length > 0) {
|
|
5631
|
-
const
|
|
5631
|
+
const g = i.map((d) => {
|
|
5632
5632
|
if (!d.region)
|
|
5633
5633
|
return null;
|
|
5634
5634
|
const C = s.svgPrint(t, d.region);
|
|
5635
5635
|
return r(C, d.region, d.id);
|
|
5636
5636
|
}).filter((d) => !!d).filter((d) => !!d).map((d) => d && d.command);
|
|
5637
5637
|
return {
|
|
5638
|
-
command: new k(
|
|
5638
|
+
command: new k(g),
|
|
5639
5639
|
followup: async () => {
|
|
5640
5640
|
}
|
|
5641
5641
|
};
|
|
5642
5642
|
} else {
|
|
5643
5643
|
const B = e.data.regions.map(
|
|
5644
5644
|
(d) => r(s.svgPrint(t, d), d)
|
|
5645
|
-
),
|
|
5645
|
+
), g = B.filter((d) => !!d).map((d) => d && d.command);
|
|
5646
5646
|
return {
|
|
5647
|
-
command: new k(
|
|
5647
|
+
command: new k(g),
|
|
5648
5648
|
followup: async () => {
|
|
5649
5649
|
const d = B.filter((C) => C).map((C) => C && { id: C.id, region: C.region });
|
|
5650
5650
|
await A.setSelectionsAndElements(
|
|
@@ -5696,13 +5696,13 @@ class rn {
|
|
|
5696
5696
|
if (a != null && a.selectedVariants) {
|
|
5697
5697
|
const c = a.selectedVariants[0].id;
|
|
5698
5698
|
if (o && c) {
|
|
5699
|
-
const B = (r = o.variants) == null ? void 0 : r.find((
|
|
5699
|
+
const B = (r = o.variants) == null ? void 0 : r.find((g) => g.id === c);
|
|
5700
5700
|
if (B) {
|
|
5701
|
-
const
|
|
5701
|
+
const g = s.map((d) => ({ id: d.id, region: d.stepRegion }));
|
|
5702
5702
|
await t.setSelectionsAndElements(
|
|
5703
5703
|
e.stepName,
|
|
5704
5704
|
[B],
|
|
5705
|
-
|
|
5705
|
+
g,
|
|
5706
5706
|
async () => {
|
|
5707
5707
|
t.setMandatoryFulfilled(e.stepName, !0);
|
|
5708
5708
|
}
|
|
@@ -5766,7 +5766,7 @@ class rn {
|
|
|
5766
5766
|
};
|
|
5767
5767
|
}
|
|
5768
5768
|
}
|
|
5769
|
-
const
|
|
5769
|
+
const mA = new rn();
|
|
5770
5770
|
class cn {
|
|
5771
5771
|
async init(e, t, A) {
|
|
5772
5772
|
const a = e.option;
|
|
@@ -5825,8 +5825,8 @@ class cn {
|
|
|
5825
5825
|
};
|
|
5826
5826
|
}
|
|
5827
5827
|
}
|
|
5828
|
-
const
|
|
5829
|
-
class
|
|
5828
|
+
const QA = new cn();
|
|
5829
|
+
class ln {
|
|
5830
5830
|
constructor() {
|
|
5831
5831
|
this.shapeFillId = "spiff-fill-shape";
|
|
5832
5832
|
}
|
|
@@ -5883,13 +5883,13 @@ class gn {
|
|
|
5883
5883
|
if (a != null && a.selectedVariants) {
|
|
5884
5884
|
const c = a.selectedVariants[0].id;
|
|
5885
5885
|
if (o && c) {
|
|
5886
|
-
const B = (r = o.variants) == null ? void 0 : r.find((
|
|
5886
|
+
const B = (r = o.variants) == null ? void 0 : r.find((g) => g.id === c);
|
|
5887
5887
|
if (B) {
|
|
5888
|
-
const
|
|
5888
|
+
const g = s.map((d) => ({ id: d.id, region: d.stepRegion }));
|
|
5889
5889
|
await t.setSelectionsAndElements(
|
|
5890
5890
|
e.stepName,
|
|
5891
5891
|
[B],
|
|
5892
|
-
|
|
5892
|
+
g,
|
|
5893
5893
|
async () => {
|
|
5894
5894
|
var d;
|
|
5895
5895
|
t.updateStorage(e.stepName, {
|
|
@@ -5913,9 +5913,9 @@ class gn {
|
|
|
5913
5913
|
};
|
|
5914
5914
|
if (A.length > 0) {
|
|
5915
5915
|
const r = (B) => {
|
|
5916
|
-
const
|
|
5917
|
-
if (!n.find((w) => w.panelId === (
|
|
5918
|
-
throw new z(
|
|
5916
|
+
const g = B.region;
|
|
5917
|
+
if (!n.find((w) => w.panelId === (g == null ? void 0 : g.panelId)))
|
|
5918
|
+
throw new z(g);
|
|
5919
5919
|
const C = s();
|
|
5920
5920
|
return new at(B.id, this.shapeFillId, C);
|
|
5921
5921
|
}, c = A.map(r).filter((B) => !!B);
|
|
@@ -5981,14 +5981,14 @@ class gn {
|
|
|
5981
5981
|
C
|
|
5982
5982
|
)
|
|
5983
5983
|
};
|
|
5984
|
-
}, c = e.data.regions.map(r), B = c.filter((d) => !!d).map((d) => d == null ? void 0 : d.command),
|
|
5984
|
+
}, c = e.data.regions.map(r), B = c.filter((d) => !!d).map((d) => d == null ? void 0 : d.command), g = c.filter((d) => !!d).map((d) => ({ id: d.id, region: d.region }));
|
|
5985
5985
|
return {
|
|
5986
5986
|
command: new k(B),
|
|
5987
5987
|
followup: async () => {
|
|
5988
5988
|
await a.setSelectionsAndElements(
|
|
5989
5989
|
e.stepName,
|
|
5990
5990
|
t.variant ? [t.variant] : [],
|
|
5991
|
-
|
|
5991
|
+
g,
|
|
5992
5992
|
async () => {
|
|
5993
5993
|
a.updateStorage(e.stepName, { colour: s() });
|
|
5994
5994
|
}
|
|
@@ -5998,8 +5998,8 @@ class gn {
|
|
|
5998
5998
|
}
|
|
5999
5999
|
}
|
|
6000
6000
|
}
|
|
6001
|
-
const Ee = new
|
|
6002
|
-
class
|
|
6001
|
+
const Ee = new ln();
|
|
6002
|
+
class gn {
|
|
6003
6003
|
constructor() {
|
|
6004
6004
|
this.latestToast = null, this.toastType = null, this.toastCallbacks = [];
|
|
6005
6005
|
}
|
|
@@ -6024,7 +6024,7 @@ class ln {
|
|
|
6024
6024
|
);
|
|
6025
6025
|
}
|
|
6026
6026
|
}
|
|
6027
|
-
const Bn = new
|
|
6027
|
+
const Bn = new gn(), Ze = 30;
|
|
6028
6028
|
class Je extends Error {
|
|
6029
6029
|
constructor(e) {
|
|
6030
6030
|
super(e), Object.setPrototypeOf(this, new.target.prototype), this.name = Je.name;
|
|
@@ -6093,11 +6093,11 @@ class Cn {
|
|
|
6093
6093
|
color: ((s = await this.getDefaultColorVariant(e.data)) == null ? void 0 : s.name) || await this.getDefaultColor(e.data),
|
|
6094
6094
|
fillImage: o == null ? void 0 : o.name
|
|
6095
6095
|
});
|
|
6096
|
-
const
|
|
6097
|
-
if (
|
|
6096
|
+
const g = V.getDefaultVariant(a);
|
|
6097
|
+
if (g)
|
|
6098
6098
|
return this.selectVariantCommand(
|
|
6099
6099
|
e,
|
|
6100
|
-
|
|
6100
|
+
g,
|
|
6101
6101
|
{},
|
|
6102
6102
|
[],
|
|
6103
6103
|
t,
|
|
@@ -6219,20 +6219,20 @@ class Cn {
|
|
|
6219
6219
|
const o = (A.data.maxLength - i.length).toString();
|
|
6220
6220
|
s.helperText = `${o} characters remaining`;
|
|
6221
6221
|
const r = [], c = /* @__PURE__ */ new Map(), B = /* @__PURE__ */ new Map();
|
|
6222
|
-
for (const
|
|
6223
|
-
if (!
|
|
6222
|
+
for (const g of t) {
|
|
6223
|
+
if (!g.fontData)
|
|
6224
6224
|
throw new b("Failed to resolve font data for text.");
|
|
6225
6225
|
const [d, C] = Ne(
|
|
6226
|
-
|
|
6227
|
-
|
|
6228
|
-
{ left:
|
|
6226
|
+
g.fontSize,
|
|
6227
|
+
g.fontData,
|
|
6228
|
+
{ left: g.x, top: g.y, width: g.width, height: g.height, rotation: g.rotation, panelId: "" },
|
|
6229
6229
|
[i],
|
|
6230
6230
|
{ size: A.data.size, minSize: A.data.minSize, maxSize: A.data.maxSize }
|
|
6231
6231
|
);
|
|
6232
|
-
c.set(
|
|
6232
|
+
c.set(g.id, d), B.set(g.id, C);
|
|
6233
6233
|
const w = A.data.curved ? i : (C || []).join(`
|
|
6234
6234
|
`);
|
|
6235
|
-
r.push(this.generateTextChangeCommandsForRegion(d, A.data,
|
|
6235
|
+
r.push(this.generateTextChangeCommandsForRegion(d, A.data, g.id, w));
|
|
6236
6236
|
}
|
|
6237
6237
|
return !A.data.curved && t.length > 0 && !Array.from(B.values()).every((d) => d) ? (s.errors.push({ localizationKey: "workflow.steps.text.doesNotFit" }), s) : (a.updateStorage(A.stepName, { text: e }), a.updateMetadata(A.stepName, {
|
|
6238
6238
|
text: i
|
|
@@ -6267,11 +6267,11 @@ class Cn {
|
|
|
6267
6267
|
const a = t.getSerializedStep(
|
|
6268
6268
|
e.stepName,
|
|
6269
6269
|
A.serializableWorkflow.steps
|
|
6270
|
-
), s = Object.values(A.layouts).map((
|
|
6270
|
+
), s = Object.values(A.layouts).map((g) => g.elements).flat().filter((g) => g.stepName === e.stepName), o = e.option;
|
|
6271
6271
|
if (a != null && a.selectedVariants) {
|
|
6272
|
-
const
|
|
6273
|
-
if (o &&
|
|
6274
|
-
const d = (r = o.variants) == null ? void 0 : r.find((C) => C.id ===
|
|
6272
|
+
const g = a.selectedVariants[0].id;
|
|
6273
|
+
if (o && g) {
|
|
6274
|
+
const d = (r = o.variants) == null ? void 0 : r.find((C) => C.id === g);
|
|
6275
6275
|
if (d) {
|
|
6276
6276
|
const C = await this.fontDataFromVariant(d), w = s.map((D) => ({ id: D.id, region: D.stepRegion })), h = (c = a.storage) == null ? void 0 : c.color, u = (B = a.storage) == null ? void 0 : B.text;
|
|
6277
6277
|
await t.setSelectionsAndElements(
|
|
@@ -6280,8 +6280,8 @@ class Cn {
|
|
|
6280
6280
|
w,
|
|
6281
6281
|
async () => {
|
|
6282
6282
|
t.updateMetadata(e.stepName, { color: h, text: u }), t.updateStorage(e.stepName, { text: u, inputText: u });
|
|
6283
|
-
const D = s.map((p) => new St(p.id, C)),
|
|
6284
|
-
t.getCommandDispatcher()(
|
|
6283
|
+
const D = s.map((p) => new St(p.id, C)), Q = new k(D);
|
|
6284
|
+
t.getCommandDispatcher()(Q);
|
|
6285
6285
|
}
|
|
6286
6286
|
);
|
|
6287
6287
|
const { command: E } = j.updateInputText(
|
|
@@ -6329,10 +6329,10 @@ class Cn {
|
|
|
6329
6329
|
var B;
|
|
6330
6330
|
const r = n.markUpdatePending(), c = await this.fontDataFromVariant(t);
|
|
6331
6331
|
if (a.length > 0) {
|
|
6332
|
-
const
|
|
6332
|
+
const g = a.map((w) => new St(w.id, c));
|
|
6333
6333
|
if (o) {
|
|
6334
6334
|
const w = a.map((h) => new Xe(h.id, o));
|
|
6335
|
-
|
|
6335
|
+
g.push(...w);
|
|
6336
6336
|
}
|
|
6337
6337
|
const d = await this.changeInputTextWithRegion(
|
|
6338
6338
|
e,
|
|
@@ -6345,14 +6345,14 @@ class Cn {
|
|
|
6345
6345
|
i,
|
|
6346
6346
|
s
|
|
6347
6347
|
);
|
|
6348
|
-
return d &&
|
|
6349
|
-
command: new k(
|
|
6348
|
+
return d && g.push(d), {
|
|
6349
|
+
command: new k(g),
|
|
6350
6350
|
followup: async () => {
|
|
6351
6351
|
n.markUpdateCompleted(r), await n.setSelectionsAndElements(e.stepName, [t], a);
|
|
6352
6352
|
}
|
|
6353
6353
|
};
|
|
6354
6354
|
} else {
|
|
6355
|
-
const
|
|
6355
|
+
const g = await this.createTextboxRegions(
|
|
6356
6356
|
e.stepName,
|
|
6357
6357
|
t,
|
|
6358
6358
|
e.data,
|
|
@@ -6363,15 +6363,15 @@ class Cn {
|
|
|
6363
6363
|
e,
|
|
6364
6364
|
e.data.size || Ze,
|
|
6365
6365
|
c,
|
|
6366
|
-
((B =
|
|
6366
|
+
((B = g[0]) == null ? void 0 : B.newElement.input) || A.text || e.data.defaultText || "",
|
|
6367
6367
|
A,
|
|
6368
6368
|
n,
|
|
6369
6369
|
!!A.customiseAllText,
|
|
6370
6370
|
i,
|
|
6371
6371
|
s
|
|
6372
|
-
), C =
|
|
6372
|
+
), C = g.flatMap((h) => h.commands);
|
|
6373
6373
|
if (o) {
|
|
6374
|
-
const h =
|
|
6374
|
+
const h = g.map(
|
|
6375
6375
|
(u) => new Xe(u.regionElement.id, o)
|
|
6376
6376
|
);
|
|
6377
6377
|
C.push(...h);
|
|
@@ -6412,7 +6412,7 @@ class Cn {
|
|
|
6412
6412
|
colorProfileAssetKey: (w = h.colorProfile) == null ? void 0 : w.key
|
|
6413
6413
|
});
|
|
6414
6414
|
}
|
|
6415
|
-
const E = await this.getDefaultColor(A), D = E || "#000000",
|
|
6415
|
+
const E = await this.getDefaultColor(A), D = E || "#000000", Q = {
|
|
6416
6416
|
stepRegion: B,
|
|
6417
6417
|
stepName: e,
|
|
6418
6418
|
align: this.textAlign(A),
|
|
@@ -6436,34 +6436,34 @@ class Cn {
|
|
|
6436
6436
|
curved: A.curved,
|
|
6437
6437
|
paths: A.paths,
|
|
6438
6438
|
fillSpotColorDefinition: u
|
|
6439
|
-
}, p = [],
|
|
6440
|
-
if (!
|
|
6439
|
+
}, p = [], m = /* @__PURE__ */ new Map(), I = /* @__PURE__ */ new Map();
|
|
6440
|
+
if (!Q.fontData)
|
|
6441
6441
|
throw new b("Failed to resolve font data for text.");
|
|
6442
6442
|
const [F, y] = Ne(
|
|
6443
|
-
|
|
6444
|
-
|
|
6443
|
+
Q.fontSize,
|
|
6444
|
+
Q.fontData,
|
|
6445
6445
|
{
|
|
6446
|
-
left:
|
|
6447
|
-
top:
|
|
6448
|
-
width:
|
|
6449
|
-
height:
|
|
6450
|
-
rotation:
|
|
6446
|
+
left: Q.x,
|
|
6447
|
+
top: Q.y,
|
|
6448
|
+
width: Q.width,
|
|
6449
|
+
height: Q.height,
|
|
6450
|
+
rotation: Q.rotation,
|
|
6451
6451
|
panelId: ""
|
|
6452
6452
|
},
|
|
6453
6453
|
[o],
|
|
6454
6454
|
{ size: A.size, minSize: A.minSize, maxSize: A.maxSize }
|
|
6455
6455
|
);
|
|
6456
|
-
|
|
6456
|
+
m.set(Q.id, F), I.set(Q.id, y);
|
|
6457
6457
|
const Y = A.curved || A.vertical ? o : (y || []).join(`
|
|
6458
6458
|
`);
|
|
6459
6459
|
p.push(
|
|
6460
|
-
this.generateTextChangeCommandsForRegion(F, A,
|
|
6460
|
+
this.generateTextChangeCommandsForRegion(F, A, Q.id, Y)
|
|
6461
6461
|
);
|
|
6462
|
-
const N = new L(
|
|
6462
|
+
const N = new L(Q, d);
|
|
6463
6463
|
return {
|
|
6464
6464
|
regionElement: { id: C, region: B },
|
|
6465
6465
|
commands: [N, ...p],
|
|
6466
|
-
newElement:
|
|
6466
|
+
newElement: Q,
|
|
6467
6467
|
fontData: a
|
|
6468
6468
|
};
|
|
6469
6469
|
} catch (h) {
|
|
@@ -6497,30 +6497,30 @@ class Cn {
|
|
|
6497
6497
|
* @deprecated
|
|
6498
6498
|
*/
|
|
6499
6499
|
async changeInputTextWithRegion(e, t, A, a, n, i, s, o, r, c) {
|
|
6500
|
-
const B = (a || "").replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g, ""),
|
|
6501
|
-
for (const
|
|
6502
|
-
if (
|
|
6503
|
-
const [p,
|
|
6500
|
+
const B = (a || "").replace(/^(?![\u000A\u000D])[\u0000-\u001F\u007F-\u009F]/g, ""), g = this.getProcessedInput(B, e.data, s), d = i.getRegionElements(e.stepName), C = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map();
|
|
6501
|
+
for (const Q of d)
|
|
6502
|
+
if (Q.region) {
|
|
6503
|
+
const [p, m] = Ne(
|
|
6504
6504
|
t,
|
|
6505
6505
|
A,
|
|
6506
|
-
|
|
6507
|
-
[
|
|
6506
|
+
Q.region,
|
|
6507
|
+
[g],
|
|
6508
6508
|
{ size: e.data.size, minSize: e.data.minSize, maxSize: e.data.maxSize }
|
|
6509
6509
|
);
|
|
6510
|
-
C.set(
|
|
6510
|
+
C.set(Q.id, p), w.set(Q.id, m);
|
|
6511
6511
|
}
|
|
6512
6512
|
const u = (() => {
|
|
6513
|
-
if (e.data && e.data.maxLength &&
|
|
6513
|
+
if (e.data && e.data.maxLength && g.length > e.data.maxLength)
|
|
6514
6514
|
return c && c(!0), { info: "0" };
|
|
6515
|
-
const
|
|
6516
|
-
for (const
|
|
6517
|
-
for (const I in
|
|
6518
|
-
const F =
|
|
6519
|
-
if (
|
|
6515
|
+
const Q = i.getProfanities(), p = st(g.toLowerCase());
|
|
6516
|
+
for (const m of p)
|
|
6517
|
+
for (const I in Q) {
|
|
6518
|
+
const F = Q[I].toLowerCase().replace(/\s/g, "");
|
|
6519
|
+
if (m === F)
|
|
6520
6520
|
return o(!0), { error: "Blocked profanity." };
|
|
6521
6521
|
}
|
|
6522
|
-
return !e.data.vertical && !e.data.allowNewlines && (
|
|
6523
|
-
`) ||
|
|
6522
|
+
return !e.data.vertical && !e.data.allowNewlines && (g.includes(`
|
|
6523
|
+
`) || g.includes("\r")) ? (o(!0), { error: "Cannot span multiple lines." }) : !e.data.curved && !Array.from(w.values()).every((I) => I) ? (o(!0), { error: "Does not fit." }) : (o(!1), { info: (e.data.maxLength - g.length).toString() });
|
|
6524
6524
|
})();
|
|
6525
6525
|
if (u.error) {
|
|
6526
6526
|
r(u.error);
|
|
@@ -6532,14 +6532,14 @@ class Cn {
|
|
|
6532
6532
|
text: this.injectReplaceableText(B, e.data)
|
|
6533
6533
|
}), (n.defaultCleared || !e.data.deleteDefaultOnFocus) && i.setMandatoryFulfilled(e.stepName, !0);
|
|
6534
6534
|
const E = [];
|
|
6535
|
-
for (const
|
|
6536
|
-
const p = e.data.curved ?
|
|
6535
|
+
for (const Q of d) {
|
|
6536
|
+
const p = e.data.curved ? g : (w.get(Q.id) || []).join(`
|
|
6537
6537
|
`);
|
|
6538
6538
|
E.push(
|
|
6539
6539
|
this.generateTextChangeCommandsForRegion(
|
|
6540
|
-
C.get(
|
|
6540
|
+
C.get(Q.id) || 1,
|
|
6541
6541
|
e.data,
|
|
6542
|
-
|
|
6542
|
+
Q.id,
|
|
6543
6543
|
p
|
|
6544
6544
|
)
|
|
6545
6545
|
);
|
|
@@ -6548,7 +6548,7 @@ class Cn {
|
|
|
6548
6548
|
}
|
|
6549
6549
|
}
|
|
6550
6550
|
const j = new Cn();
|
|
6551
|
-
class
|
|
6551
|
+
class mt {
|
|
6552
6552
|
}
|
|
6553
6553
|
const wn = "data:application/font-woff;base64,d09GRgABAAAAAFFcABIAAAAAc3wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABlAAAABwAAAAci7Ri5kdERUYAAAGwAAAAIQAAACQAfwCVR1BPUwAAAdQAAAFzAAACKO/T/WhHU1VCAAADSAAAAFcAAABs2hzd2E9TLzIAAAOgAAAASQAAAGB3Irb4Y21hcAAAA+wAAAE/AAACPrH8yqpjdnQgAAAFLAAAAG4AAABuFX4UOGZwZ20AAAWcAAABsQAAAmVTtC+nZ2FzcAAAB1AAAAAIAAAACAAAABBnbHlmAAAHWAAARU4AAGJg9ZIZG2hlYWQAAEyoAAAANQAAADYZz2YgaGhlYQAATOAAAAAeAAAAJApmAHBobXR4AABNAAAAAP4AAAE03nELNmxvY2EAAE4AAAAAgQAAAJz9pBfIbWF4cAAAToQAAAAgAAAAIAFoAoVuYW1lAABOpAAAAQcAAAJOD9ldAnBvc3QAAE+sAAAA0gAAAXKHJy9JcHJlcAAAUIAAAADcAAABiXvFD3wAAAABAAAAANXtRbgAAAAA1+mWZwAAAADd3YbGeNpjYGRgYOABYhkgZgJCRgYPIPZk8AGyWcBiDAARHgEVAAAAeNotkD0vA1AUht/bVr9S0aEL0abV6kdU9ZP2D0iIwWSXsJSIiJjMJoO5kx8gBoPJZLVKmjCQGLoYxCQirufeyknuueec9zzn3CsjKa6MqjL728cHiipERtbKVcze7pHLaRxRC3gflTG3XpnRqja1pR31dagTnepM5xroSje6070e9aRXfepLvyZpZkzB1MyG6ZsLMzCX0LqwekrB7CmnoErES/ZdTTsiNw/dqKwkZ0cJzjW0AbU0TaeLG/b5v6tN7HIhFeyPKvaB2ptW7BBVFmIA5lDrbnfVUIVUZEYTTRt+F6Lh5qolX82SaeJbMHs+v+jPlp9RtR+eUveKJPSCfYF2za2MrqJvNxHtstKKwExowfX59438Lu4VbnaEWVEVqTaI2vxDh1d28T04MXxacyjy6ItUSqjK8Orkxj9RYVaOaM5v2GS3CZgJr2p4VQWu+7mYwpjwcZSTWFBTWIhqiq5ZLExvjq3y7B6D3lX6D1VyS+MAeNolizsKgDAQRN9qCrG0tBCbQEDxHn4ukUqEYOX94xiL2cd8FgNaBmYsxeemwSkhZ77G0nVGZfxOnStspKXQ6bujZ+SgxjOxFwY2KrlVN2hp+BcvHAinAHjaY2Bh+sI4gYGVgYXVmHUGAwOjPIRmvsqQwiTAgAqYA5A4EUDA4MDA9ZuFLe1fGgMDax/jEaAwI0iOcRHTEiClwMAMADo4DD4AAAB42o2QTy8DQRjGn2G7WLqKpazFqC2r2FYtqk0kLlKNODq4iK/hozj5JhxIRMTBQYKDPZA0Ig4OpCkZ7842m6aR8Pwyf995Zt55AbQjbBYY9WAFWjG5VphFYw4cChI00xCn+R4OcYwzXOIat3jAE17whg/U8c01nuX76a+6IkRwV8OxgQNynOICV7jBHXxU8Yp31MiBhoMFDlETn+JZnIsTcYRfJEp+yU8+Vu+3Y+Uw2yalkIGLPIpYxyYq2MFuywk1QpPoEiPClPAIW+JI3AhPAqYiSoG1UQGVltcoGMMfUjs6u7Tunrjem+jrHzAGh5LDI+aoNTY+Ecb5ZGrKTk/POLOZufkFN5tbzC95yyurhbXGh+gXBnggwLYpWccB3ECe5+H/Kqqq0bq3VQkf0aheOlXKoBqZptl04geqBkTqAAASAzsFUgCcAF8AdQB7AIUAjACVAKEApQCqAL0A6wCiAHQAlgCiAKYAqwCyAL0AwwDJANEA1gDbAKgArgCwAM8AuwCTAMEAcgA+AJEAngDuAIoAmgCDAGUAuQDFALYAjgBrAG0AhwDkANQAzQBvAAB42l1Ru05bQRDdDQ8DgcTYIDnaFLOZkMZ7oQUJxNWNYmQ7heUIaTdykYtxAR9AgUQN2q8ZoKGkSJsGIRdIfEI+IRIza4iiNDs7s3POmTNLypGqd+lrz1PnJJDC3QbNNv1OSLWzAPek6+uNjLSDB1psZvTKdfv+Cwab0ZQ7agDlPW8pDxlNO4FatKf+0fwKhvv8H/M7GLQ00/TUOgnpIQTmm3FLg+8ZzbrLD/qC1eFiMDCkmKbiLj+mUv63NOdqy7C1kdG8gzMR+ck0QFNrbQSa/tQh1fNxFEuQy6axNpiYsv4kE8GFyXRVU7XM+NrBXbKz6GCDKs2BB9jDVnkMHg4PJhTStyTKLA0R9mKrxAgRkxwKOeXcyf6kQPlIEsa8SUo744a1BsaR18CgNk+z/zybTW1vHcL4WRzBd78ZSzr4yIbaGBFiO2IpgAlEQkZV+YYaz70sBuRS+89AlIDl8Y9/nQi07thEPJe1dQ4xVgh6ftvc8suKu1a5zotCd2+qaqjSKc37Xs6+xwOeHgvDQWPBm8/7/kqB+jwsrjRoDgRDejd6/6K16oirvBc+sifTv7FaAAAAAAEAAf//AA942q28C3Qb13kuOrOxMRgMBoOZwQADYPAgAAIgCIJDYAiA4FsURVIURVEURVE0JVMP62XLsuzItqI4quO4tpMmtmPHedQnr7pZbY+TzoCKk+j2njJtT9M2t03Triq9q/ecnra365TrtEmahxulOfL99wxJ0U66TtdZ15Q3Z/aeAcn/+f2PvSlEnX3rn9y6+93Uo9QHqP9Bta5QVKl1lAxFRJWsZ/mNG1fPXin6S9ZVdoM2P6ibT9yyKtKGWRHNPW23JGs1vGGu6tYe+FatWr9El8x67Obgj/7xSSpU4gTTK5r8unVJum1eXIebNc7LB0trPjKal8S1By9dDJZaMNn2gbYPZBlBkpumr9mCabii3vDylzjfxQe7nf/od9ybozHaemJVkq1rzzab5h7JKh5tNinr7BVJXhOCkd3tatO8Kn0plakO9l4jN8/KrSeefq7ZbPZU1Hytt1EfoeuNYbqRz2Y8jIcp5HuH6RF62A3/uxp1o6omXUzIFTaqBjzmUsMegQ7QikdRk+4UHYZ7hnxlCnnyVesdoeFbNgOPCMhZ8mToulpV5UZvrbfe2+1isgy6yMRGcpjziP0ZzhdNdoZyIsYYIb5QKhezrK/87muz6ct7cqqoYoQDtZKPM1QscgHMMdzVWp2OYd7PCYyH1dyYRgG1Eq/H5lXehWg0e2ysLAfq8WiO188VhlOSTH9DSzz2H4oI/mNY3jv9JzxmpbbZWVaJDqy9i2a8nCJjjvNhJKc1RfAjdPVPPzAZPRQRi8VEEd8pMIh8IcwotSnOn9S+PsAHeQYjmsYSF83GyyGeL7wydbyvKxHp1zgP7UJ7Jy4ZN1fSPEO7AoiO0ZeyiOG4EBdkeKzc+SeKolzUSQrj97kvUHPUeer91MNUawyEzlr0b7QKRPCu4o0bD5wZK/hL5jnDeoDdMC9XafNp3bxyy+oSN9barhwTSlZ/aMP6RbpEWYtjkmy6muYZ6QYv9h9kCbMfkNeCvaG6IwRrkVjXdXJZkK1kmghAPd+o218McLXQTfc6woDIv3o4RQ9jYLAaDikewR2gnSubp9lModul08BbuMolaTXcqBogRPVaHT6mYIuABwXrVXi9alTteTJFZCcMgvEAF2B4IzU7kkui0TDnBeLWXhBzQcTxQVlIMFiJl8uN8fbHx+sYq7FEIswwF2ptLuXq4iMrq9Govtgsc75CGeOOPO3nK3t3jzDM5c/wiObFoXIhOzzS0zNwMNaIl1Nu5rfTPN0z+hjv12cCAkIsh6+McIy/OPTa9xCLUghxYgAzM/rEx2bk8YE0RjzLiqLG85iJnj6wGtVyu3rymuzGscu7Z9XI61cXCimEQ7Eow8ZQ+GtcIqzQ+JXjgtCe0acV2cMxd/6GNkFc0AcrxXljD42LckiePbmYpGjqDMXgJfcZ6gg1T7XmCb9HhI0WT/hdcoF1WdJNdMtqaBtmQ7Ta6NINVaSCuGQdpUtWW0OSW/yeeVBeU5XMSdDz0gjoeQjFJ4GvPZWgrdA294xqik7ikOJwrBsN0aB6m4wRMJkLgQojwp+Grf91mHNUljAXPSbtOft/jnzgXCkiC1y4MV/SGEGUWM5NyJVTY0k5JEqdiyeXl7IFH+PmGqOlrkr/2NB46lFJcyFFnH5hf2OsPsgL0+87T2cPHvyV195sDR2Mu13AgVJlNB/EuK3QhUErQO8YoZQrcBzjQlgbP/nq6UtH9VwmWp8v8AIdkrPiEcxoSjq9dDUXFXjaVXsf6A8CWtL460DLXmqWGqJaeULNfqCmQqg56QNqHtDNXbesuLJhzREV6c+DiqCmOSlZ3jgQUZEtTiaKQKwgUE0O2qQAiVWBgEmXSsgH1Mpk845YA22y3YjygCqAVNsC37tFVBpodwapKSYyXbgoI5FRgzTdEfjE50snlmdLKJ689vTV91ZdWK/0TqRUsawjVBqQ6GuVyGilV5JOfnLsQLxyMa4N9OmVHJv9NY0N48Tnr9OXaKFQFENo8bP68eu/cYxhlu5/+L+/tlyiaV6AzwlWULlEN54ycnGX/MKHfv1jywsv5Ti9sHth/E9A3lYp3v3X7sepT9Pvo1ofBgqZv2xYT3s21l5++sNsybrm3Wg1gFzmkGEVXRvm4Wqr2OBKa6NF3VsCETR3Ewd3gNtojcC7N04+9OEGmKOAYZ10A3k/o1ufdbzd937va992vN1HRPOFdet6/Lb5vvWb//Kh9efJtNs83C2YB9fd1lDitmDuWl8bHtoVLLnXRsi3m2/+YP1X4THf2ii5NQ+La/OHD4KPPGSPC2S8+d0Tv1Mlz8APWHvxIy+Ay4TxrstswQfucKCjzRa8TK4WmuZ8kxrldx28/r6PDI/OH1p44cXuHf/Ro4GhXQcPk8WRn13ddLGU9fKHQXQ+3bSuPQ2+FoP/NB+SWsHQ40QXT8qtSPxecnVAeqPQds/x0/edIXa2KFsdlWbTauyGdycce0tkhgy13lrekxHobCedB+to62yjp0F8bgNUkAnQGVuX7S/ihZEtcnXVscAZW0kLefsGpsLwUL8rSYcUkEP4VDKNiEzCu+RtGv6RH+G8TGQZJBmuBATSeynAoanE6Sk1Ah4YVXrAcvEIq9gwuEaA97cXS4Fo5CMcN5RIqwkxsPD5gZiHjeZ7a1f1h48M6Tkkl1/uyWB3uqdvz7lEGjUrBRYzSB7pwgLLMh5/MqgeB4XAeK7BaFhh/Hyzo+fjk7lhPZHBqYgQGrlvbOVc8dlT2FUewr64lhNQSubwkfKn/nRiVQiwDItYFrNcikNqzJNW5GBjaFTO5sDIsqwgZhX/GFh22s14ZUZkGVVIzSsY3BMfgt9j/OGZLGbVGPxRDGazOYbxgTcX7/zFLwo1+FyuKrNehDwI65rYpKWkN1aKYLj1IKI/b/2ISbvPUe+hDlCtxwko7CHWJc1tmL1ENRr9hmFN8RutFRrWYvAAbT6hW+8l5iY9Bfa6UDpAJKNXWuvqrg8RseiRzUFic/IEYsH/IBE6DaKQgQnbARMBGaEzhD3EK5Obepq40vAwGqGrYQWkg3hSG67BAzqdF5AzpcIHhBl7CbjfSTNZmEVkhdinLIFp51hN53O5FPDzCJhcge0uC+B/uegD0QI42ydrjYXfk3BCFBm3B+bvpcun3/3xllxIa14vHwAMJR5uy6aMsJqM9x6KHeMTkSDDlJY5Tkjp+3iXlxXV7F4uyNqAyYViuSlZGroyGVMkISmIgtbLGY26LF74r3qRQRgLHibFltkygKvPjE/4MQ84kPfD+KIoexACeEezAQEzxUGW4wjkQpjDPOIV+AkDX020e5CXxVEhkHDbvxySWObCta+2pU6fF1zIzVHE5771I/wH7nnqQeopqnWeeIkm3mh5CR87mI1WhxcMHtUR8pZu7D5w3gs4fzezYR4i3D3OgJW7ZLtkA1yyIVoZcMl+xyU/BC45Y0jyl0PeeEfk4Op5wly/ZB06ThD48abja3ZL1uQqGIEDh+B+kTjpXqLYlK3VOwFVHtTfYf+2TwEeumxHvelvUCNfALUNoLzzIPkEowoctz03fAZ5fJPN+TPzS/T9f9yVf6U/QrPFkXHZn3QhwLpebzGbl6KGLKVTlVJu4aFHSgPxxJym7V8cX1BQpZHjCwFBZYF7zaOh2J77zgyHpZjgZkKJcLy7s1/cf3qhXDuE8YGjx3oX6Kcx/s0/+DY9n2JOFiucb8GYEbAC6u92u+VytZzUch7E+qPy+NWvP/4r71+emdG8u40Xl0qsC3swg0MsNye61IjLjTU1GQIBOferp5tBlaYTidHT4OZt/v0UbwBOfoX6JtVaIT7sumFe1K37XwTdi/Ebpga4+GO6+cwt63IUULJonQSvtFq1prQN6+OOg7p9cH2ZeCLzfnBE58ERacQRJdbX4loCXM794tqF+8+DU4HbHU4F5kgQtpaIn79gO4svJTS4vH9H8HX5GVBy7vkXbUcgtcKxq+RqSl5LKitnQSIo6+KKJN8Ye/T5lz5KBCQm3eCS5fqoDdhkO9YiRgCDabeBNqhqFaB3XSZWIKw6uu5J0tVhZFTrxJQDk0Ob6h8Kh8AxJG3VF1zZLdY7YV23uwAmXgEUGLY/JFvodg/Rm4u2eGXzZxAAOrVZKwv89NPzMyoXddFj+kJQbH6yoo99+mhM7m4DPMxc6J+SO+KpkILZXBQ0G5FwLf2UUY16PTSgPT+oO8RvTEDgsVtV+ot9QcyJoZBcrzWqeT/XwJwQEmQG5FMZD6uJSlzlGMSLIVkUE21VsO/LvB/jhBELYvT6T6/sZhFKupnao0u/W6tzDPMiHbzepoT4sNLN+1vXv4WJqnu9ELXxPvh1yjWMV+dGOn1c91xC4pUA+C82AD8Bp8sPxFL68OnxCQgdyVtPtrRGSY+kEB9iGFVEOFWs6DmeV6MjE6tGzeUVEJG5k2/dcX3TfQRw+iNUaz+xGbs8G6anau4SbxzC1Alcah0m3iBDrEgQ7EWe2IsejwPh+VvWQHTDBu0DPCB0To0esGVhF7ECDPgA6YaXHxgZJxIRlFtSpApSY2UIPu0gvmHY3YB42+aVvBWa5223UG9UG6D2AAXCNuQkLGcc9LlpKRpkDRiObJRAHD28nj+HfTzEzAg3ZvhY9jOLXT2iVCxzKsOm/fzAIdazf3XXqQwB40gezuuJtjlDKUgysNel1Dr1NsGDMVsc7XC724vL75OkUolTc3xIEHwsKqLuweVrLfr1V9w0Av+rqEWOLSI6CBbbp3C41qawH/ri+MeOr84NNoPydIGlvVjh/dEuYIMWZPCWnv8r/rz7IrVEf3AzNhIAngrzxDwLjNdxvWbVsFLeDTNebfUSBtRsl3tUt5YdRR9663tJB4nKohlet2aTt8196zf/+Ze/9pqDRONgAGJgAKouMADN9ZvDh/75YRtYyuJaUA4D4FTsMUTGmz+472u77NW4uKbFY2AqquKaUW0S8NpLvq3VyHjz+5/72nkbwtbtyYY99tlLw8b3/sn+iFlxbWZ2H8zvJ2MLftgOxKo0zVCzBevkZn+zBT9jx2q9aTaaZl+zBb8DsUijohyONfbNBpWQZtT7mjP734FaAdcqdx+JV43e2s997C7CTcEPWsu2F/faGEVqDY/usrNEjr/agqAEu5IEAUhiNwEnxPEAEK3Zc9Wk20i6BmiQTqMa3gYp21Gl60zc5YqHhWAhMTB4UJ8NiMWCIEwlEvj/aRayI6EKxJYggML0cq+Yymi5cC5YYNTudIJhC8uaRhSY71NCi0W0WjauH7y31j91phSkOQ9jYLpHS+cAYQhTzYGvmkbjmzMzqATCzGEOQk4vvJobKHDY7QIxBlPgJQZM5ryJbi/3uc8Kdw699PpePSBPL9YdWTz91puuJ8Dn3EcVqNYqEbQpW9DO6Ca+Zc3HNqyzoNzzGKIBBtw7RfAc0KkXDLmdPwGj7Ak5+S8nvN709oIrQNsmG9x32AbzgjskuAiWL4D+hsJOUm0TrXWjMwi7MS9n1eLQPK/qaV6UAJprQjP3xOrIy4LISz63oj547eFCIfHkhzhlMMdyGhhiCYAxw7gZsVBs1IYT5477XQIvgDIy2YIQiGcLRuBvZSEcQNNt984/Pfn0pz6XMJpgNeN+Pjsw0vm5G43pyqscHw4Ec/WBK/MjksB+/s/5RBjsqhAVguUI6wdEDn7AxyO5ONf81sX3HAj4F1LpKCdrQoLHgjCzROhIYdd/Ajs6Rr1MtXSi02l2w8xVzX5iLzXfRmsXIa4fEeLu1q1xR4tH/uxfddtda6CtkXXLnbptetbXAJKCBmriWlSLgB7FyNiCyR0uG+aIwkSb1JfcMcYTiW4lTt0x7e6tI/MkIrMFV27IdzlEIydPtYm67HkSVaFucJhbuAwVzrvVVCON5YX+v1p24zZM+9GJd+WEEMJPPqrvikoxtyqG3Ex4qibnUgWtqBT5AhKiYjYcn9nLabuwopXKuqT/B/qRx+hvCHSH15tNsd+484efG3m9XmMLIgYE5uNrAz7b2bHIh4j40q4w9nCsYy9/6J5zn6au0n9AtR4mZOwgwwwZIkDQFkec0ykBfNK7dfPxW9aD4Q3zQdF6NLhhPqqTq0Mgw9MwOS1a3XBZCG2Y2epas9DNlqxkZMO6tmlTf/u7nY5NPSKax9atSfW2uWf95tDff/cNm0lV0ayvW5m222bb+s2R0I9qZBabWeBdet2qpW+bjXUrm2bNjLiWzrQBC7PiWiabBuM49FfffcE2jrZZrQNTe8lo1RosWFZyVa2zZk1cAyBBHn/iO445nhTXJib3wCcdEdeWjhyD947a47I93mOPK2RsweoOQ3q0aS43zXua5kqzBR9AJAZ+LFnpBauqtGWrRmNy+Vg6A/Zyz8SRpaP3rPw8k0mPBtv+XU/aGPHQg+DXzzfNack81TS7AS/KJF1AWaceluQ3knL30PShx50MHrj7zbw7BFh0inbi/800rIshopmgFWYL5TWCJKqHgAEsscv2+QwKOcv2A+SzZCeiIHJrW2I7q5XZQoqXhJXHjPMrSwVJVMRkvARIKnEym20UtVBdYuZTe30IVdLLDM0L/HE2CACCE3LFYi7FsqloKV7IKaHlko/IqifBi+oy59X4QGGgcFWfFhHSaRROZ2MqffkRWvin068sVDByuYXow+WeytlsOEnzbafaip+884Nzd35jJjoVUUtx2bgsy+Pz59rpA6k5XYoEE4KI1Ewxx/unRj50/qU73x/Xi4h7KpEJyKFI18ilSnOOLqSzWneYGy7d+Zfnvr3OZgX/a1hLDdQO9dp68j/xk4ArHqIzVGuSxA9njVbQtjiXdfPSLdNVtY5GNsyjonUAtEBTN6yHN83Qx378NUeWXSDLnnXrSOa2eRgwg/S9E45CxEUzCSIeum0aIPqH3/w9Wzpd4hp2galac9sjQ8abw6f++ctbUCIRT4Lsglj31gyQUXh4h4y6mwARW/DIDrMGz9l+3x+vHT7iwm6gdtLofYdM8mTx563ZUnj0Ejgr/3k7TWWebJqabM0GiRQGJyGEaT9wqemkQsGJeZw8VX0rdSSrxO2Tf7ZQKgImzh1tIs4eUiO6G3gWkGsrlUzKRPSOMtGW0J0hgT3DADROCOPzjZpW13k+lwkwPMDMmHf8QFOvJASJpuEhkoSoDMxqUReWYQK5XIjPhkPtiZJajA+EsE83piMyg2naBUBA5mQfBDx5zpdsL0fCf1YvMjm1XGgOTC/p3/jiwpxcdbGVivKtO63jwpUIzEyVQOD9AhdVQiL4v8sv3fnXl37hQntan3K5WM7HMxqLeTGae5UeQnN86OJ7f3h9aaqSEfmOmo/VOCXKBUQvkpShPgODrJ2lXHjI/Sh1krrgxKpWXdho1VcIhq1PA4a1U/15L9jkU7pJ3bIqMVJItHaB4B0SN8xgtbXrEEnA7prylqzTMLurQnBZnl8huOyQ1MrEFm3bkQerZYWjmxBtM4PoFOxUJ+8P8Z5Ok4zBZnaaaL5Tq2mQRJKdaaiRXGCt1y4XEE4RB4gCNCLgA1bO0krk0FLpPR8+ttzTbcykZRQT/YhlfSwEaLUl7Jra88gHdyVEEIaZqUIupPQdm5JDY0kNB7mk7HbLhUGOAxBoNFTl/9qQpDO/XszRN3j/vUdO/ueX6q+MlXihOTygBL2efoQSjAiM8GI05iqMrX1k98K+fZz38C9FeOBsczgSXTq9tMfLzawE+2NBmhFmU6n9e8OhY69dzebu/Ihmr59Y2YojfoJ3uS9R56mvUq04ofdB74bFHahWzYp+YwBTdQyqf8FO6yxrG+ayaE0CoXPShnW/o/feE+uWo99Dojm2bpWzt82u9ZvC+te+amvwkLg2PDQGmr2LjC243qG+uwB6dJV3jQ0Nb+rl2+5sVVxGwDselM+clFoN7qTN0IMDpLyTEx01zNfs4pw8QgP3AB9uBn+klEp4uA0mN3PBwKthBOh8M6HopJDs4M8u95Bij/0WSIIOyP2Ci+aEfPGj9ca5aSzxghfYiVJi4Mx/bOj3jTfuK3aIHk6YXpyPaX2DrLfS3tnEiJWDDDtw30iZ9Y3vc9O8mC2MNrsYd/fUA0MlFtNubIgsjQLR3UpoavrLWqI5evL9H6f3Li9DmE2+WFbI+riG6KbD4nhv71iirVBq3mtkGczRbkb2sgThs0EhgJG20uPztbd3J7IBP7r+0/WvPtEXDCSl4qzAcLKkKhAlLBNen33rh/ga6Nt7qSec/Kz5sGFVQeWqjxMtqs5vqVyGqNx1m+clULmSaO0Fnt/jqNzee8jDe+dA5X4BZveWJPlGht/zKHHK5j3SDS12bPVhO4CvPg6cO/socC4jfSmMoqXeVcdxkyjp56kg/XYVDDkqCLgy73CIRAeOjaxvOvJ36iMAAQz/GBuVOiaU2VLPkLqwVLr2/LFlXd/STkbluB2a6QfFzBeuXCvW0mWEBBxmU4kEyy7MFUU/zchsUsaMraXSJZ5h0qmswkC0ZKd4UrzfxzdrI8VfvynLjub6+Z+vuUKO8ztaO3Z4esbLgdb6r6zM6CkIRUi+iBT3lYuzh0cNWRzZJ20r8PT+3/2LVDw7U6vAUxCwMB7EgBVGJeNkCzkabccQeMH9MHWVuky1dhMeXzFaGmHqfUSvhWrVBrj0Let+8OL3i9Y9wMOstNG6J0vYes9BYCsgWVBuUDBRuUISdISp3FT5EmFwVjYrwNr7dgPXXbJSfpBMapLpA76O0Hb4K5OUGXCQJM1IYWYrorO/7CjOiesU4i7dd+uowCNkF2q2C7OExe4SzYCRdbTSTs15MiTUS6VXAXqpkzpi1YIsMeIvvqukH1w9OTKqEF+oyXOLsxEtd3xAXZiOsyofYOz6aSAekEQpNxNp/GpR7e9Gnj3FkanLFTcd5UslvZhlucVnolFvlfOCAAyr4cpoxH8j5GEe+vArtG9jYjcQHrF+H8sXZhQ2rBrVsUaD58b69ZlSimHE80sF9JmrbXw0IHIBliOxMzC037hMg0wZKeTxqDFRkpfu62U9nXElFRJY/NKdpQ9+oL/noX4+yjCpLCo2BzdtM+V1/av7MnWIep1qHSCRSpokddoNqweDgi7oZvCWNQQhyZBoeenSjSmNCuCSddixyz/yrn/fjjjaAY4V1q3u9ttmef1ubbBdXMu1F8Aiw3jXIlNrhXJ3zjbFN+CqPXfXEA8FQZ2FAyAQXskcI3lbq2c3McY9BwCyC00zLZlFu3K3WYoj7EO25vbaFtlRebVqkOwI0XjdTq0SH2ojHhvGO+Y6RLLztvqepVX++RPPHN2H2LHnjbzoo0FLeIFNXRzqqpZzGHfsq4Q6aazuyaUVuTpt8P6UEuIYkAFubPCLfb2oNPeh5ZfPZpOPFgaiPEpF25am5wPCwMITo3qzmPMLPfNRlS8fjyqcl6b9IqfEXC4Z8wxi4inel85mSmpYUTpXildXl094PLX7L8yJCvJqNo/uAwzzGuDl49TvU61RwiPbgh5ybZgiidpzELVH7WzIvbo5ccuanKpWSX3EWt1EzSf+Jeqg5klg0751SxcImzAJ2qYm9wEUHhl/84idLdtLbtemydiC6x1edLpJvVHWJ6f2Tu/bwrc3yvrWnc08YwKQkWf0wGHbMudGgWMHbIiEjheJjouy5cHNrb6I6nYtlTSr2F0pRl21SydEsW3GbEZItpF+RyKG5HYYu1Eq4+l0CqzMOVcGoWJlfmmg76H7Pn02KAeEzjRyp1lOZRMH+zhiVivlRpqZv6wrrIfYVZ5TfEx3F+/PdBQqAgbPxwUj6dDU0b78dDsE+aeziayGb7oYqR2XwgXG5VcB87KC0CGkdQi+AHsxwmfu/MW3l6b6c15PR8PLRQGE8inAoOL+49NtuCfcLM9Mne67eWPKTtP7nRoYhfAs2NBp6o+o1gTBpRo4Sc5JqNLmPhuLRgAMRUSrE2xlsQQ87RM3rJlNni69+V8cRJQXAQpZw8xtc3AdbtYK+S5gYQcZ8VrRvimR8ebIqX8p2Vo5LK4NDQ8Ch+HRHRzuaLZgmujnlweH8oWOYqlrO5T5kj3TtQMydUZAUzk/0U1OA05TttOVt11u2GO3ajCKUyrDjWF3rXfYbWx5USZAc7YHBmfc7TrTP3NmQAvISkDkgcU4GS1Uoul07UREqy2PDhU0JauKLINdDMMJXjlqwxcfW/njT2fqlX43M/ruc2P0jWs0+/Wvr+QUnuf9iiAzU+OPf/VdL/zp8GmGn1l99amTsx9cnS9nEQ5xog94lxWkRD4anxrddefX7vCLQY6jaWPl9U27yOGS+wrVS41TrS7SaxEWiOVrMSSR02ZrW003jVuWHN1oyQaJJ2QvOLY6MEuG2NDsBMowYbgwCGVIKwuQxa4VO8h/M5sVswO5etjOc9leKut0bEFUxnwY4pjhaAQzVUORaYRdfjFZan08WflAsSBzeOG1+evPPTXtcuUqYYVjEaYv0OcLiWUpF46+/sYfffmQ13OwphbKdJZOTT7yVyxbS8l/d+epV7/33FOoDJ+/cCXq/K20+zH3VepButupx5r3GDcyAiXAn5s5T1x2ZhxgG2tH6E71NQl/dBKRPzopeEtmUrSK8HfXIVJ/aDNFFf/Hn24j9hEI1H1OoP6x73/WmR4WzdF1azF325wD6R1lHQw/AlE4iOfI8CgJ0P/jD5AtsIvi2sHFORDkeXtcIKN15DC7dti+WpxjSdpp8chhkGlYdGSaiPRBp9nENzR6ZHhk7uD8wuHFtwXo/8aCLeDFpJMkqkvmfcDKzHm4HWiarLSG9Pp9d/u75C3kYYdqHsHtCdlhuGGbNxlCOplAShtfiGoS1e0MkPMSCEMPeQP8wBZCcZM2vk2sctkXTBtjp4RAlgGkmJL9mOdYgGQ4EEiCrBXTV/FqykgBQkyx/UwknRPVC1rxXEdUgnjQw7rdnCQCeOdrY+ne2XxnVyXaldYgqkaFhV+4L5fWR1n6seHDD32SFl75GuY6OV9KE2b6y8rY9P6ppiTuG3rXcIXG8p4GfURBDK0fS0QYNeZ/45Ezd/7xC0paTpeG6NYzf3U0Kwm5gOjzaSVjdLZ48s5Pf7L4XJ+WFMf2LcyMysGXHr8RTX9hYlOvaJxzP0ItUD2O3TPnDWvUu9EKE73K2Xp1WLcWSb9GGDzIDSY1PTNrU7ueJ1VZgtPRVrptE/KBRydlWwLRSWXVTbwESeqjTbbYXt6VL2xW5c/SPiEazvK5VxUP9xE2LfozvG+6PtDPCTjnf/Bpfa7a7mFTsiQvanqumOkNs1GOSyhYGZ7LDtbS3aWu2Tnjc4Kn8MycWM3k5PvLxfZyrh4eu61LKr0UnjYK0U4Pmlt8ORHnzsY+/7qxOwSWX+wtKScSQ8ZI/WCWLUoKYHbjkavZpsyVCunYQYOe1vih//akPDjlYLOzFHZ90n2GmqNGHb9Pmwdt7ZMVMDlE+0Zl3ltam5ARWzKnIM4Cnz9P7A84YnN/06xKVmTULobYkkps81aLw90mhs36kV21drJCm0jYvSmT2e3UZTe6yHj8A4aalVif5qbVhuFmUuXGbFgebvi1fo33eEXMjlVOzl2L8k3kZzji8lihq+7Cz+d8NOZTAhutTrg2uovlwr65AsOFvaKs1VaEwMF7/1BEXb2PFLMfeyqUjcNz4aqc+KNPXlltXt7d/55DWGQlTvAxLJdAv5avBITxExfKwehecwsjuX7V/SC1SD1ItWaBVmvTM3Pz7aph9fk3Wr39g9VqtdU3SyxW3yhYrIBuxQE2xZLpKglXjtg14lxow9xdhZifkJYPgjVfInkIHjxd2wjxdIE+uGRLgGXikhXMOYmBht0XRgENa3YgaEumuhlVDm/lBhiXwHgc6On0bqOt8samEyRusJA/56IZTsvRf8sVCyjd8d7ffqpflRMvTZXTMblrr1BOR1zyT3BvaVf/SC3EFwaH+7sasnJgl5D1R5gQZkJafNCY4vnU0LlTT48J0mcVta19uFRD/UJtSZRQRNpVb+MhdmEQ7QIf2NXWDEWeu/MnzFDvobljq2UwRB4XojkEoYynXVSjmUiEBzyMA23RBNDZRyH0565xwKKHqdY40d9Dxo0xTKXBV/A0wJg4KbkDDj12y8qqG2ZWtKaBhkMBG41aQ9MAEfnu+IQNEeNjEACq08cIOOQlUyYmFcRsK9dJepqw3VO13dBJAjSnZQ8b1SQSNqM2CJLCngwpfDodN57N/nfCCx8d1RcH2JSud7frfmG0QTIaYAPT0Xg0Nrc0Mhv20T65t5ZijUE2Ek2XY2IQXCnLuFx1Gg+hbE7uG6jlgAIlPZPOaCnWWyxUwh7sovnSiQefHOW0ZFLkcQ65w2omWEupHnZ/85UVva1N1nA64qtdEXb3NVJ+ORqOyh7PG4/z/HwlhZHaPtvHBI1SOMxDUOBSE3u1pJpiHd3veOstZOI3qRnQfjtHbiV4kGOg8I3iZsJsv20LIhCbhasEJuaAvqOAEGeJzAI6W/P5e3ptOhcTcIci3cO2Hd1sYyCJDgAkDt5Gm/3HhLCNzeIEofwWH8JbIZPT4mCTtuQSw7N7VP10KiHzjMRjZfAiQ0PUWm7zKbmBUhqFsw0RIuEow6vxeK+bGexWQ4oooIk9Qydy/aHocm/tLzPtc4vvobmvlJcvZlNiOcvVvnDnkWtSoKutM444ls/sXXh6pqJPMNgvMrg3HHcVlVLn+NBuLzuzvjSbkGjE6rpNM4GS0WXXfmoMrEBrmNCsC1ScA5qZfsNKk3h2t02zDhDMDtGKQjwbdHrHxoFm0Q7SOVQdJtIYlKzeGtH4dBcRUXK9Iwm43c4dJm0gQ/Qg3e3KbLeGbTVwO+WfTV8e5ejO4ctDY82M251LGRHRjYI8w7o5JZWu1Qab4ehUplMQ9FR0DyvSfq68qJeMWCwarx/9rZ6ek6defqCpRUhYmsqFeaWOEMdg7IurYa8n03dmYrpvtVulXYyfLSMsppT6pBpkwfIeJnTh3/pn1xD+b9QB6lcdP2LOGKaoW15CkTk70oiBfh7cRG7/8N3/7EC0tGhm162K97bZvQ43a5l0FuBZRVzTK90Aw3rI2ILJHWURmCO4S4dgMd2dyepwv1Xvffu90+MgjhLBjCXsvhsvmFTFJnPv2zI6YBy76bsNNTZ82kZQxLKSOMJJqCYRk3VCehJ6kAs+EjsztLzE+8biBEOlE3ozu5piS2ry+IeT2mpOzIVlnguXhJl9bvBVqsgDyOKxu3NoN4+FUnVPNihPDUx/h2H2r5y6UZ2iWYNXEXjzUuHiG9XCUoTn0rTw8afppel0OOAJdA0/VrjzD3dujqhqNF49qAhBkaUr9QUm1CiXGNw/RSEqTmH0btcoNUjNUhOU3TFj5V0bLZZo9ySm3kW0+4Bu7r51IyBSPSCecyCegd0giaWusp2bnsxL8pfCXeWBod2bdcqtZiQCejx2Bsxu9sg4Ln3LHZE+RdKatrMzbSuNQtvtjW18T2ImEr1wNWHoCUzT440JbZcS1DmMBDcpfON6mPN1Dc+WNBHxXGLsdF9KmzImooG/PDk6qgiISY/m1A5NdtONsycH7o+oF2h/rJpk2dl7p7vEDMsqHszKnE/gC1lEB9U2P5Jicse+PhYnOyc7mql3GZOT1azCumVftqztHRuQQYYNyuOadruoU9STVOsgkeEx3aq5N8xTbbckc8SwPJ4Nq+nZML1Vs0O3Qu6NVkfI7iNNeYGap3Vz6ZY1Fdkwp0QrC3qfcPT+PiDs1BIIIURKdkEnK7VCM/ttGo8dBGc/tQTW4JRkrjStZg1QVY8N+50dHYbTXLKFQpWQkt3ameA0JQAHtujeCHs2qb4Nvu6mJG0udCPSX9zAXKpcSOc8HizVBlarTHgswfnCsUKiiMKIFlgupzEeNZHv0Mc5H5euiEJceYRhMRIrU6OdupYoiVjGWZYV23RVyw7yDK81MF+KMiUVfYpJ5bOcly89duYKaGzCjTxcutTErjIKRskOoWhz/MVCAZw/7VYAH3BauY3zoK98sC0xWuH62BwfdjNTNa3Yf9h8FjEs4klPNnXnOvot1xR1D/VLVEuze/O4jdYuzS6bTULkmCfAoI/dMBd0SyC7alZ0M3XLGpLstCJEzDdKDjuOEYiQAjL7SNw1yoW1XN7oG588sEB4U5Kt4j7CGWEBHjlIcsIWXgb+7JJb4QNzxG73SWupSnCfrRMhYkKSCAy1y94L1dg2xw6crSY366LddoEmm9niTHVnfxDtQe7t4jwS/awsccCcYqisTT8gClFWkFhdmxtYHciK2kNPP3Vxrhgh2QlF4wWVQ/6HJn6vxPvCRuPaCnZ7VD3EMFlv484dl+v48K4QfzmdgKeDPM8z49E4eumRgcfYYIQdUMdODi707X7ktx7s13SjPxMQi8BTxLPl9Mmbz+v5rNaHfvmrmKmEjHiu/M2+O4/xA4N7ykk35aIKb/0YXXcLEGMtUivUY5t5XZLEaMVpEkUc081Dt6yJ4IY5IVq9QPP2wIY5SFKJbeAHjsPEBOmLpEmb/BtyOLTv8OIRwoBBuSVKLKFzu9QKxP3kqo10SAKUOyDJX1ZCo4fg0XscmCHTdzdLOB3vAXq7jG0bbtto23aqG+n0VohiF0FtuAfrCjyAnAgkOEL3wJpS4Gk2VeRQJMR6eA5D7FxJzMaibKmQrxbzLHtG7pAEJCo+Nm3EgggxKcQIiKYTkcITWhRibSxmtQFN+CuEfpduIWakl0cyQqKgcYFrU39/YE4e7i7HVTr4idGl335wKp/SQwAXkRCN+FilsGiyiZm2cNjnS6dY/pWZmYv942wxmIbfZCK7z0v/JnLRNEJkP5QKzvcP8f9BdVJj9C5nP5Q5oluGzwEinbdMqmpFHfwWFa0y0L0Z29huuar+6O+crC3VLZiudWyFI7cFM7B+c+gT3/kMWbEoF2u6RLsRQkncNsX1myPDb3bbKRNKXKMpF3hpRMabQx/4zv0/pxPCVMQ1SRHhVrbHIBktRWTNsLimhAPg3+FTduQIUfNneiNa8BK5gn9SkxoVKNoTkINKGLmwW5Te2abDO6s/u2jnXMpRELtU02xKlr+NaPpInmQZU0278kOKqfW7fdkkZwLqSvLCTtWmABFUcBOiqU5KZrvLIYqZSDTsZYtzopgjWxawWuIJozADKAxjvioHCzWR+a+IliNdYUWR2zkXXJZCwVAw9zfRoafvm1dCV5MsZvv9AbXLz8+8+ivhjKDxnOgRNIYhm3UaUxOu66xXVVOCh2aENq83Em4DlMcTTI/u3LjzIfr38dfBl03TfZRZ0S2e3zADVXNKtwaJUOzTTfUWSIOVlzasXKFaNetEKcdid9O+nh/+3XY3rbZudeZvm+3rTqusZrfKanarrEaSv2H7RiXjzeG//MH/a2f4I/Zk1B5j9nNmp7iW62yH+wIZb46MvNmwH+2wJ4tkbMHHv7M51oyQtj4z1mzBg2S2SPpgO4G7obAaica09lyho/iznVq8/Yj9wNuXbREgbRTmVNMck1qZwUnbEU9BAN4CMbQxOCbBdZgYdYj57Mxyr50WIqUD0mtFOgMdR0tvopvt7JyzL/rOjRTLZUNhLiQGMA6HVof5VFyVWZ8ghDg1lgOjjUqJAselG0ebnfnnllAbklRbDto5JIJEdARzv7FCCvRtWT7EMy7PJxJPvvjMfUxlaHqkh+FZlsNs6s73EfuHP64Zpx6YE3wvuPu8XhVkweMhUhEOp/wM4yfYXH7rNnrBzVLvpU5T9iZ38xGjNbAzzLtu728/C2birB3j3RizfaV5qGrXxs8+AfS60jRz0pc9CaM+s/+oXS4dIw4SIr+jgBMT1frYqQe3cSJTs3eOb1peG6U4WfvNrjQCnfP1mo1snDxGaLuiSt8lpbPjjdTTNzevksT+9mY4J/jOR/hOtaIXSkoaITVZ04OyV1J8XG5valQQGk/NyRqH+VC7GhdUiROxEMBMbqYkBrRwJk3AiaruGmkERfzgmJLq8kQH3EykTS0oifG9yM363AwTZTkeuJhMulxaWzocFkkoferZ2ecfWporGAh5CvreNKD1Rq8sz35q4g9GdzFTu0OpDO8PKRGOYf0sj4GrSO6pMKQHYzDv98findnsUC7G4LGXugVZi3G+HAMxmRaKT32sUBAOFlKZiKaznBCK8iLtZSKR3kQpa8eghbfu0H/n9lO9VIfTX2tKul0pgLAzHSPtnHaFIE0aTjj9ZxqVnQ6vkAPaXbaB+5nKVweNwF6F0pHi8Dzf6HW7IaJGkai40CeQQjDvYQRO4UDUA2I8UzCE/1sWgn60O7U0c233tZc/ql2icczPpWsDhb+5c3NhIgsetY/loqwc5TUe88LUHPwdsbd+4vpb1zz1fvpVqnWdYLrqkmG03ATJyQnDsDe+P3XLugIY7rFq68pTBOxdueYtmVdE6174C+cAUsxWzTnRasJdJ9x1VM0RYs6yir1D3jZnH/nxLzs+bhZ83OS6dYK/bZ5avzn8zR/ccMzcrGjuhelTrHWCs5dGPvrjlvNKB7zSvm4NxG+bQ/DKD3542fZwHeJaoQNMFmnvn56dBH82O8nC1V5i2qQfpWzTtm97YZ+zwP3w+/bCDLld27+9vJ/ct2B2u6jQgk+3W/+E9oGhyb0nThU6pvfN7J/9GTO3tUxWf8bMXXkK1PaJpnmv1HIL9xMgNSe3Dtx3llyB91MPN5tW5wgISaLYJFEJCakt93UAWT41U26OHzq/3Z8KMgMa2eMZZlW7aWXL4pH6G7hGFzjGzHbLw2Ynkh1OC+6ft1zLFzrprcMiCB4OKaHtLHA2+mjDy6guBbHRSCFdLpTFFX86095fSvO+WizmwyEWpJEhsaI3FlLbyyrZECiJtLvGqHtzyI1Flvcg7IZgHLGaoubKYRZxrCjiBuKyuYbG+jjRR8uogtBQRqHnX6MrEVcxEF5BbCpS0Nr8HJt4KpfNpCMusbd69QB/sbRS26WxBTUp8UgojDeD4VJt6N6jJR/bAWCvp6SGxfnyTGWoV2GLobYAPJSb6AuGSg14qItjO7E/Us+rhcKx3dWgdFRn3GV0b3OfYeuz+NZP0QOuWeoI9R1nD4xZMlpBklJyG9ag39letHjL2itttPYu2l1Ls6AEe0WrSppeQOzTVbPP7q1X7A1Itth/8Mf3ODKc7iab3qze4G2zvkOG0+JaMp0AQUzZYxsZWzDucMHJJgAl6o1Ebz2Zaktv12md+x2CtncRBG2O1ALW3D4PyQBaWZLFDmaadlMNAe+D8xABR335RXv7k2R63ylZaKcfBVD1bwqWLTnE/75DbqJbcsNExtvSHdGw31/TYojDitcWl8A7hAHExZEGxEXBw7okl/5OcWDjE5GYyGGxtzKA8OgE/0DXSm139GdYfKTs22Qxm1iZqWtl8YjuYbZZDDz2UgituMapGeok1dpDbF3BtdHyE1OnkW31dqLV3Fe10hAxpUWrB5zwkOOEg1U73UrMOWkT7pFafr5BdHhIbkXUURu+aAWS5Ar3Dd3NvtrbyutbnYN2ijuTZd5Wl6k3dvYN1ncUGBGpE3C0C0fHLwz06wBIijoLPo4XowlDlKYrqyk/Hxn3C0q4PVLSeXKOC08jHx8V6y527voslnv1EaPsQ99nuGDGOP/Ss/l2kiyM+hIdqqhGEwzbd+7JaqmYnRRdHj5UOH48llBCqYbGQbjFhXc/qiWPf+Z0ANwQEy3PNz1AQ+3Oe9Afuoaoo6T+QiKdG902fmm5iM4c1km6RnFtWHyYlFuWbX84HbJ3OgwCAeMAeCOxatVuFRucBtASCOdLorNJL38Y5BVNg0Uc65bI3v4BQmFFMsXtQ3PsZi7bc4Kskh32ylb0vr3PmmzXC9fJTj542u7ry2Qz21YuibYdLIGWyYnpjOCXedEPYricRfRLJcQEYs8sslo2rPh8pYgoMFrcSGjlbCwkMKwLIVdcQ/S+sd1lnaXbsRj0sMW0m9HSaf0j0fjy+7/4X77RUAUAl0ZE5RIGegOzbbn+vY/+fQX7PJhmUgrZWCKIQpdhjBrpdCFYCBVrroXFV1/7rWTsw91MsMSLGqYl8SLQO3DnafSiaz/E+Bc39+a1c04G0fQZN9RN7HjYKdaDj046/ZX9EN8vko5KUtzONc1+6cu8mmc7d+13SN0OlsA6sN8+0OQNiKGTnQYpIZisbOmV5nbxwDEGJNfYQ2gGqFFATpsOqm8dkmD3UYIJQJ4dGa884xgMgKCCC3gS9vQMXTx52udDQjoWJd1zbF9EHV86ILFIK3SE9JISmBBrZGMjL6yQbchBOaRkykI2l9VYktHlcqXJwqU/LxQuPvqp5YMg5mI2HGDS6clP3d8setluPcEgcamg/3H6iYoYYPwyq99ZuXjtSa/34XQ0Kk/AzwzFx8vtdSGw9xj2xyUUKAF905QH6HuEKlPvc/o/WgqxBxliD7qdIkJow9Idez7s/l6vA1ewaDIQlWVum/l1uFlzY2BbC8Yd3W83cL7TzWy2UN29djLiGVJviKd4R8ItzrtF9GAvOe1J3epvU6tJFwl2tko1DiJfapzBQTklKyEcbKZS3ZoWlLFQSEVwLFXIrc4VxQE/hDBNP+d/7+v0L2A+LYo8M8dqI+GI4KUxE4qVVMzygnih2fv1Xy8XRuwYhfKiAdcCNUS9QrWahBbEAVpJshl/2C6cFqMbrSJvn1NS8ZasEYcsX+v5wVcdsnCiya5bpcJtU1+/+TsHvvNjG2uVSzo4t24ytuB6h3PrblJfYrmSXt72azvvHEolm6RnO7Z1XAyRt61NNnTDPumIYGandmg3WTjn6+zc4V+QkU8YykY5RvQwXm5xoHmlHOJElgkHmWRbIIBQgBd8HGJxUGTcOf3ebE8q4ucSfI5jOG249BCaaXZ3Gt0Dl+JagldSCSWImIibplmvorarqRzXHM4k4rNjCyWJdYNsUpt1Kta1iH9CHaaGKbNPt5gBw7CKHiBhn03CDMlYL9p1mT3ahnUE9HUPRTY2hok7KRLvHY7YfzeoEfzpzGYTuZ0f2UqTDNMDoH/wl4YIce5u/sxmdDqzeSLFplp6nOxc3t4+mo4uTc60C6rdI4xJ43F5voEBdCE0nRVSLJPlOEZrnR0i53IxKcHfPWbofv48B9pdaJTiLh+jKGEm4mX5wng8kbqZXnz5yl9+jpXJtk+y5xnoiZqSiDgfj/CZrBBgBiOlPgYlZCRybLTMce2Cj2Zkzjf3W6/8ZTjc1Z0KRxVGwKBFAUU56tAQUyz6imuZ2ked2+yfU/wbrTpxPFWnGm3bwjYIVGZ0c/qWJQc3WvK03ablA4Ami9Yw0LUL/M5++D4sE6JOgNJ1SaYGVFaqoIddw8SDm6zTc0qqTqScb4BZE1whBAJVdU6B2PI5O1sr7C02W4lj+8wictnLcPfvEvoS4K15huf4C3SZpnt2F+f3+NRYMU7TORQv5OOYlaI6zwh1t/tkL8+x2Fcsz5ZYz6l8mt64SE8/mYgDstVyJT2dRHd+vDCBlhqttXC5lEL92NXcd+lT7xpRxUKizGNWoaeVBICooFHMomrpkGLTLwe49t2uRWqa+gWqZdhZ4X266bllxcEpx0WrgxCFZIWr26kn7w+/52izSzTd61ab77aZXF9LtSVBfWHcaeFc7i0QSu+4tvFo3AOeJ9M0OySrp2bHv/W8c8hK72a3PRHhzRb8rRMYtmtULnuZEDu8vY48jgJUeIbJihINcTnDYIy5VDTCMENaCAIHOXh9VWQxcvMgsQLD+zxMKdcpihUWCcqUzj993pgDD9MbVp98+OFxj3uwt69D4CWyKZkhlJ7qGw0qi6/1NebeLBVUcEZtui6JYgiglRAQ9EklWO0eff/uwKtD6TBD9h0B7MEp1xR1L81v1qtWDKsOItpBTKevk0TQq7YficU21tgY6eDxGFYQXHVMtPJA/W6gfrdIbKk1BV77xGZ19vXv/L0TOnggdHCvYytIDs6IrJtucXM7bkRcUyJBkga0x7A9qmR8x9ZcWCfGNgzOnqT0qFGvR424GZK/uxvHvkGm7s7YPGQJ3F1pWnl4v5U5SPY/md1Sy6jP2YC3fpAA3mTCDic6pC9hNpYZm9qBfukRurdONmWEGWW7hWN7C5TRY2wnmbbP9WrsOPuO7P3N2Jmn7R0Yon9QPMTwJU0OxoFrDO8W0Lgo8PlSxsfjmbl2eibP1wyFUbx+US2eStb8JKUfLEQ00tc/cc/Qk5cWMrkS6OVwNLJbF/n6aqLjyPPFNxOLmuhnOTWjMuVgRdHZbxh9giy4Emmel7/x7dleZjZWOPjMU6sZ0cMpL80/fxYVUwURyXIqrsezC59+eulSThAmtIRYl4M5LDr2KwMxx1dcK1Q/XNHmAPGiN2SJKuOSjYdlkvLERm/TyRDVnb63rYqtHTYQKEsy38SQO3GEANrhbPwjj5Xk6PQKRqAEshxJdUdZbnZlFKKsSDadFsAs5JY/ZDxVSIE1ZtVi+sxHKsXFUlrxXSxnLl1j8Nj42OhgSWfguVDq9x8bQb5wKMxhDgn9heNfOfNaQo0wUlhiGZn2jA8972PTkiJT9Fuv3XkJXYZ4eZV+nGqFiF0eA1wqEtBQIAZ5n0HOhuC8Gy3uKDHGHCLO7oRuaresQYihB+2q4WAJUMTJTYm/+d2IY3eSdj9Cb4e9x2Ak8qPdznRANKfWrUMwfXD95tBz3znrTO8RrcAUS5YOZkFDDqy74ck1MTBFyiFPfmfWDrST4loqmSUhtj2myWj2ims9vWW4rdqjQcabw+f/+Vv2K3vEtYk98CFrk2Rswes7gEtb00w3W/AGualCQNhswcM7HpgENZMD6Wy5Z8/UgYOHwDRWjd6JyZ+7ozkg/jueczRyUCP4wG1LCzljLHy3/2yEFlyZPMnVAoKs1bdaqzYVyeVhtkptJO50wk7SGOTon+tt20SXmZCoJblioNSeiBoTLIuzfDacDtYWdMQIPjGajKZ7Ci4UY5HMoCAfAuHiWBft8yckqbckcn2CcLRS9DC4pqeGKqdqtXL5UpE/nEzV5HYm4FUulXVEjirD7PBKIzuzW+/Dp2cHisO4TdL4SogzCnMG9hnNMstmI0neG8oWE99dWPlIhxiWpb+787E3H1ophALF54pxDnQsRTHg43ZR+6lDm/uMdxtWBUL7Lt2oVqumoFtRcoLsLIFaN/o1ygPaR3Yc91N2ry9lVSZJ5DkE5k2Q1rxMsUEsWlS2dyI1Ns+NsilM287dKTuRvQxO2x/pxAjZ9N3iBkm7exTBkwVUSiKhVEyh22U+yGAue33qIp1l2VSzqjNM4mDTJ8qKLNH4Vd4siM3lkDLW4FKhMAbQ6iXH98RzRkLQ5mfP1DnlaeyqdCbo4YiY9XGYFaO7yiJGAb8MKhsQMsl2jCe+yP8xBLEumgWXhhE/ISPBK3C8lxwbwQZFZ68JOQh1BeySi6pRLYrAKVogdNl5TZvYppjLptjmN8tNl0D4KlJaIh/w09fsj6ISb/0YP+mmgAPvod5P/Seq9W5iCuxNY03dnDOsDs+G2Vm13N4NU6+a+0mmzE2Y8rRuHr5lHqlaD4Q3zAfErYzxkPqP/8PR7yXRXF63LsRvm+fXbw6z33POIVgS144uLYNewrgTkSyfv7B0dBOR3L22deeBw5J8I15WFqt2CNx8N/B89AzwfD/p/DY75FbxxCnn6BXSnIiBiw5vBUSOXMFOaSQM00YPmcUFZ58RafCwAY19oGuGyeYzeYocMre5cTRMjhqxgfiOGmYJcLycJ/hHoFNIKZ/aRfpAThiMMjowmzY40DmBHOrEBlPt5Xo8YSRk7Grdk+oMsKSoieITxz++VJT5GM4xjKzPZwd5QdEaj8isyjAsi1rAek4PyqXZoKD77WOjMAqVeXKFPWRDC98rBwvGt2R9cRr+R5/h0+U04otOx4jGKSmjv5yVQwzjZ+V0KYRzhdLyRFOQeJnxkT52jkuVMyH8lefOTfCkYyQtshO1sRfNZ5GbRf7/uTERjp78Zq32WAp+4QU2JAd4sBIzn/x0qc7xgkeIMkw0jGuufxwZjsVGR6Kkjg4y9Lo7Qs1Rj1HLlFnXzf2GlQO5KVTNKVtgSM/p43ZTw/0xe8chqUCcAmx/lWwzPAT8jXXqCtmXZN4rWccfIj09srV6hqCV3BQoe/7ncJcERK4dzK2C6v4bzBVoUGeayjtlHJdTjHTs59YBMqRUFgWGnhzDYn1gtfcuQ1mAqZxa0sfSiWoiiNEmN8EIYpTYs4OdQWDnwNvZ+W2vB9vH0aQHsg1xsJljsRoVFxsKFgTeT06XmW0UKuhTQkpPIb505dyVLBYSnJo0+vR0Sg6IakfZn9aLKxPNgCDYHERenk2Xcgp+44Nn9vIN4GBKYCcaIy+bz2IXYhB3JzGvOuWkPcdfmDqTfZxny6nGQOGv73zlxV9PplROVvlEWOGniP5n3/qJ+/vuGPU09Tr1FTpNtX6D6P8iGS4TI3BSN1cNK8NvWO1DJDP4Vd18DLgYtbl4HHR+pWrNRTZMiZSSboSdrGtYJ3WlZ2D1uar1anhj7UOvPsOWrJfAUrwqml0gEjcqzpMV/UaXc9VZhTXrCyAPNzeTNsHv3e8g6ePdbnN1XbD2d5GjqajWvv3HiZ2A76tbNuL+x0jj9zWQm+NS69QFcjSDGZZb7Utkq7j1zBw53XvI6VL6kLQ2MvnsLpJo73oV3vrlz8GzX5DWPv7JX3nNNjAnf0OSv0wvLJ2+dO39r5A3MtIaOzH9gnMC3dYho7LdQ+5IUb6Wt9vzNs8vUsmaI6JgfjYPHSXnGtXDnpCzB70HBM6JQeHNzV0TTvL4bbN2tRbgwTvMksvurXiHVXK63ohdymcRjpb3pHPXzNXFXBFjlRXZIGK4cinAcapSK5xsXfn8pf1llgGEAN6cYYN8uchx0ZBROHNYllxYILX3hWeGWD8r8lphonxOQ2zEBzh7aiA6f78QlRETYARBK+zRz0ewF5Z8yhgApwLEdSCgrv9O7FiPHCztBzvG2x5t24zBT8VIqATlgvFDzIazSnlaAmuGrnKskmlkRYEeON/Ii/tKzYriZYRoKpZWvRzLRZPzp1iO1lZHdheG9JLoFlFQDsmMmoa11NwqF8IC5xVTShDjKe4HqcUns8VsJS0rKcyX+5Zrn/9rci6QcXqeedtSd2O59vFvwW8mkZTKHXEiEj39rUbf1SQ4/QXQFPi0mU99tkzMn5fXHPOHA0I6EWH42OiQppFeotxbP3b/gztB/SL1BXoPRc6qOLFTbb5onyf0QNR2lcdAwO+pWgcctTmwU20OiNazoAKfhZiz67PPsqWfqyefFa2PwkOfAPv5m5u68mc/+B1HV45B1HnvujWbuW3OrG/rkNs80W0du5eFJcHa579tzc6w9vqdH7a2jlrbPzsDbhnGHW75S/tmjt27VTql4e7eE1t3jmsmu/vZ94ACHZNap+9/aEvtjhB/bD17AIIkYegQma1IN0Z2TT73S0TtPtsFFr3UND8qWS9/HtY+IVuvvEpMfeYUvACqZjvz/380jTR5v02l/teqRo4VxpubcX6el8j972qXYnQQ7UI48Hbt2lM+v6ld2Jeq7NCvgBDb0i/Oe1e/4DWM7fNi/XI2XByd5webCRqHNQEci0sI8DyoTXauVqj++1VqbOJ/S6XStVc+8e9RqqG5aDaTWpy9tvvaRz6mPc4xFccj3Xzp86mU3doAHkkgW9D+P3SUjS8AAHjaY2BkYGAAYqZFMhPi+W2+MshzMIDA9ZfT0kH03bttx/5t+VfDpshaBeRyMDCBRAFKogy4AAAAeNpjYGRgYO37ZwMkq/5t+ZPDpsgAFEEBvgCM3gXdAAB42kWPr0uDURSGn3vu/YIoKpaJTvzFmCBiGGLwT5BVMYiMj+37ilEWhlgMpmWDmGbR4oLIinVBDIJrC0OWxCD7B9R3bOCBh/c9573nwgmMyu7HegeuBeGDNNSJwyZJuBA1SlanFK7lT0isT+xjEt+g7DuUQ0++pSyQ2kB6rv1DZV0S90XFv2qno3lbbMvvkPo2FXti0l7YsCrT1mTKzsjaLgXNsUvybouMO/15tBvmXJG877Ogt7Niwt5YtJgZ982q6yov6I8qwQ7I+QHeGqzZ3u+tXbE8vMmeIar9q3sXxzr6c8yD+nlpcaTDzB+JHkshSyZaYT3aJ/cHqyw6WAAAeNpjYEAGjDZMZkx3mPNY+Vg/sF3g4OI4wsXFtY47hucDnxrfC/57AhcEtwl1CBeJOInsEH0n1iIuJX5OoklSRnKFVIE0l/QNmQWyKXI58mUKcQqHlNyULZRvqUxSdVI9oVagLqS+SSNJs0jznraK9j688Jkuh+4z/S5DAwAB1i9XAAAAAAEAAABNALkAAwAAAAAAAgABAAIAFgAAAQAByAAAAAB42q2RvUoDURCFv+vGgEKCNhZWW1uETTYB0Taki4WC1v5s4pKQ6GYVbHwCKytrn0bNEwR8mJy7OwqxEUGWe/lm5szMuSxQ45UAV9nAEYLxGnVFJQcc0DCuEHFtvE6XF+OqFJ/GW4Ru03ibutszfmPH7Ru/E7kj4w9pHo3nVN1TyYuAXfdMj3PumXJHRkpOwowhYx64kZMZx8oMVR1Ll9GUj0hfi8M/dv6mDn/oTxVlyqfqmai6utnnclUTqQeq9tUzKjpCKRrEOp1/driqPlN0od2lky9/fXPbVfWyyMaFo1j/uEVbd0e3z/iXNLmSbqB5fmquk6i/9z3zhFtVUm3L/EuXFn9Z8AB42m3Nt07EUBSE4X+8sEvO6QHI0b62NxAKw2JyzqklSAjRUPDwSHi5p2SaT5pihoC//AQ881+OQIFKalM7JSaZYpoZZpljngUWWWKZFUIiHDEJKVVq1GmwyhrrbNBkm5wddtljnwMOi81jTjjljHMuuOSKa2645Y57HnjkSWVV1KFOdalbPepVn/o1oEENaVgjGtWYxjVRfnn//nyNPK7y9fEWhmFmNr1Z2NIVhRmZzozNxEzNqlkz62bDzLwu96beNN9qmW/6n0JnxmbyC+ZKQfUAAHjaRc49bsJAEIZhLwvG/MVgFvMXErtlEafASBFNhIRkS0jcghaKpEgR2hwj41SI++Qc8AGTSTfPK81ojur8TurTWZD3muZKHbJ87to0pma2ILPEsM9G5Np16pCOEtJ2RpUo+dFfBXuDB1ReGGXAmzJcoBwzSoD7zSgCJcOoXq/9MmpA9YNRB2orRgOoTxgPQCO4Q5HPf7VQ/U3B5nq+BZtgKxIGUXJy/N3ZkdK+lkDp/2Kw0n4TdkCTCEOwMxF2wXAs7IHdZ2Ef7D0JB2B/JByCg8c/ZmTsBdB4bnk=", hn = `<?xml version="1.0" encoding="iso-8859-1"?>
|
|
6554
6554
|
<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
@@ -7811,42 +7811,42 @@ IfnI8vaNAAAAAElFTkSuQmCC" transform="matrix(0.13 0.0141 -0.0141 0.1301 104.926 1
|
|
|
7811
7811
|
</g>
|
|
7812
7812
|
</svg>
|
|
7813
7813
|
|
|
7814
|
-
`, v = (
|
|
7814
|
+
`, v = (l) => ZA("http://www.w3.org/2000/svg", l), Qt = (l, e) => {
|
|
7815
7815
|
const t = v("rect");
|
|
7816
|
-
return t.setAttribute("height", `${
|
|
7816
|
+
return t.setAttribute("height", `${l}`), t.setAttribute("width", `${e}`), t;
|
|
7817
7817
|
}, En = () => {
|
|
7818
|
-
const
|
|
7819
|
-
return
|
|
7820
|
-
}, un = (
|
|
7818
|
+
const l = v("svg");
|
|
7819
|
+
return l.setAttribute("xmlns", "http://www.w3.org/2000/svg"), l.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), l.setAttribute("version", "1.1"), l;
|
|
7820
|
+
}, un = (l) => {
|
|
7821
7821
|
const e = v("use");
|
|
7822
|
-
return e.setAttribute("xlink:href",
|
|
7822
|
+
return e.setAttribute("xlink:href", l), e.setAttribute("href", l), e;
|
|
7823
7823
|
};
|
|
7824
|
-
function pA(
|
|
7825
|
-
const e = En(), t = /viewBox="0 0 (.+?) (.+?)"/.exec(
|
|
7824
|
+
function pA(l) {
|
|
7825
|
+
const e = En(), t = /viewBox="0 0 (.+?) (.+?)"/.exec(l) || ["0", "0"], A = parseFloat(t[1]), a = parseFloat(t[2]);
|
|
7826
7826
|
return e.setAttribute("height", `${a}`), e.setAttribute("width", `${A}`), [e, a, A];
|
|
7827
7827
|
}
|
|
7828
|
-
const
|
|
7828
|
+
const mn = (l, e, t) => {
|
|
7829
7829
|
const A = v("g");
|
|
7830
|
-
|
|
7830
|
+
l.appendChild(A), A.setAttribute("id", t), A.innerHTML = e;
|
|
7831
7831
|
};
|
|
7832
|
-
function DA(
|
|
7832
|
+
function DA(l, e, t) {
|
|
7833
7833
|
const A = J();
|
|
7834
|
-
|
|
7834
|
+
mn(e, t, `bgdef-${A}`), l.appendChild(un(`#bgdef-${A}`));
|
|
7835
7835
|
}
|
|
7836
|
-
const IA = (
|
|
7836
|
+
const IA = (l, e, t, A) => {
|
|
7837
7837
|
const a = fe("filter");
|
|
7838
7838
|
a.setAttribute("id", A), a.setAttribute("height", "200%"), a.setAttribute("width", "200%"), a.setAttribute("x", "-50%"), a.setAttribute("y", "-50%");
|
|
7839
7839
|
const n = fe("feOffset");
|
|
7840
|
-
a.appendChild(n), n.setAttribute("result", "offOut"), n.setAttribute("in", "SourceAlpha"), n.setAttribute("dx", `${
|
|
7840
|
+
a.appendChild(n), n.setAttribute("result", "offOut"), n.setAttribute("in", "SourceAlpha"), n.setAttribute("dx", `${l}`), n.setAttribute("dy", `${e}`);
|
|
7841
7841
|
const i = fe("feGaussianBlur");
|
|
7842
7842
|
a.appendChild(i), i.setAttribute("result", "blurOut"), i.setAttribute("in", "offOut"), i.setAttribute("stdDeviation", `${t}`);
|
|
7843
7843
|
const s = fe("feBlend");
|
|
7844
7844
|
return a.appendChild(s), s.setAttribute("in", "SourceGraphic"), s.setAttribute("in2", "blurOut"), s.setAttribute("mode", "normal"), a;
|
|
7845
|
-
}, fA = (
|
|
7846
|
-
let e =
|
|
7845
|
+
}, fA = (l) => {
|
|
7846
|
+
let e = l;
|
|
7847
7847
|
return e = e.replace(/feoffset/gi, "feOffset"), e = e.replace(/fegaussianblur/gi, "feGaussianBlur"), e = e.replace(/feblend/gi, "feBlend"), e = e.replace(/lineargradient/gi, "linearGradient"), e = e.replace(/stddeviation/gi, "stdDeviation"), e;
|
|
7848
7848
|
};
|
|
7849
|
-
function pt(
|
|
7849
|
+
function pt(l, e, t, A, a, n) {
|
|
7850
7850
|
const i = a || 1, s = n || 1, o = {
|
|
7851
7851
|
x: e[0],
|
|
7852
7852
|
y: e[1],
|
|
@@ -7855,11 +7855,11 @@ function pt(g, e, t, A, a, n) {
|
|
|
7855
7855
|
};
|
|
7856
7856
|
if (o.width <= 0)
|
|
7857
7857
|
return;
|
|
7858
|
-
const r =
|
|
7859
|
-
|
|
7858
|
+
const r = Qn(o.height, o.width, t * i, A * s), c = (A - r * o.width) / 2 - r * o.x, B = (t - r * o.height) / 2 - r * o.y;
|
|
7859
|
+
l.setAttribute("transform", `translate(${c} ${B}) scale(${r} ${r})`);
|
|
7860
7860
|
}
|
|
7861
|
-
function
|
|
7862
|
-
const a = t /
|
|
7861
|
+
function Qn(l, e, t, A) {
|
|
7862
|
+
const a = t / l, n = A / e;
|
|
7863
7863
|
return a > 1 && n > 1 ? Math.min(a, n) : a > 1 && n < 1 ? n : a < 1 && n > 1 ? a : Math.min(a, n);
|
|
7864
7864
|
}
|
|
7865
7865
|
const Gt = {
|
|
@@ -7896,18 +7896,18 @@ class Dt {
|
|
|
7896
7896
|
o && (i.push(s), t = s);
|
|
7897
7897
|
for (const c of r) {
|
|
7898
7898
|
const B = n[c];
|
|
7899
|
-
let
|
|
7899
|
+
let g;
|
|
7900
7900
|
switch (typeof B) {
|
|
7901
7901
|
case "boolean":
|
|
7902
|
-
|
|
7902
|
+
g = B | 0;
|
|
7903
7903
|
break;
|
|
7904
7904
|
case "number":
|
|
7905
|
-
|
|
7905
|
+
g = (B * 100 | 0) / 100;
|
|
7906
7906
|
break;
|
|
7907
7907
|
default:
|
|
7908
7908
|
throw new he("Failed to encode path.");
|
|
7909
7909
|
}
|
|
7910
|
-
o || i.push(" "), i.push(
|
|
7910
|
+
o || i.push(" "), i.push(g), o = !1;
|
|
7911
7911
|
}
|
|
7912
7912
|
return i.join("");
|
|
7913
7913
|
};
|
|
@@ -7929,8 +7929,8 @@ class Dt {
|
|
|
7929
7929
|
);
|
|
7930
7930
|
for (let c = 0; c < s.length / r.length; c++) {
|
|
7931
7931
|
const B = { type: i, relative: o };
|
|
7932
|
-
for (let
|
|
7933
|
-
B[r[
|
|
7932
|
+
for (let g = 0; g < r.length; g++)
|
|
7933
|
+
B[r[g]] = s[c * r.length + g];
|
|
7934
7934
|
a.push(B);
|
|
7935
7935
|
}
|
|
7936
7936
|
} else
|
|
@@ -7972,7 +7972,7 @@ class Dt {
|
|
|
7972
7972
|
}
|
|
7973
7973
|
}
|
|
7974
7974
|
}
|
|
7975
|
-
class pn extends
|
|
7975
|
+
class pn extends mt {
|
|
7976
7976
|
constructor() {
|
|
7977
7977
|
super(...arguments), this.moduleName = "Favourites";
|
|
7978
7978
|
}
|
|
@@ -7988,8 +7988,8 @@ class pn extends Qt {
|
|
|
7988
7988
|
}
|
|
7989
7989
|
brandSvg(e, t) {
|
|
7990
7990
|
const A = e.toSVG(2), a = e.getBoundingBox(), n = a.x2 - a.x1, i = e.toPathData(3), s = () => {
|
|
7991
|
-
const p = v("g"),
|
|
7992
|
-
p.appendChild(
|
|
7991
|
+
const p = v("g"), m = v("defs");
|
|
7992
|
+
p.appendChild(m), m.appendChild(IA(3, 7, 4, "shadow"));
|
|
7993
7993
|
const I = v("g");
|
|
7994
7994
|
p.appendChild(I), I.setAttribute("filter", "url(#shadow)"), I.innerHTML = A;
|
|
7995
7995
|
const F = v("g");
|
|
@@ -8003,20 +8003,20 @@ class pn extends Qt {
|
|
|
8003
8003
|
return "";
|
|
8004
8004
|
const B = v("defs");
|
|
8005
8005
|
o.appendChild(B), DA(o, B, t);
|
|
8006
|
-
const
|
|
8006
|
+
const g = r * 0.23, d = c * 0.94, C = c * 0.04, w = r * 0.53, h = v("g");
|
|
8007
8007
|
o.appendChild(h), h.setAttribute("transform", `translate(${C} ${w}) rotate(-21)`);
|
|
8008
|
-
const u =
|
|
8008
|
+
const u = Qt(g, d);
|
|
8009
8009
|
u.setAttribute("opacity", "0"), h.appendChild(u);
|
|
8010
8010
|
const E = v("g");
|
|
8011
8011
|
h.appendChild(E);
|
|
8012
8012
|
const D = s();
|
|
8013
8013
|
E.appendChild(D);
|
|
8014
|
-
const
|
|
8015
|
-
return pt(E,
|
|
8014
|
+
const Q = wt(i);
|
|
8015
|
+
return pt(E, Q, g, d), fA(o.outerHTML);
|
|
8016
8016
|
}
|
|
8017
8017
|
}
|
|
8018
8018
|
const Dn = "data:application/octet-stream;base64,AAEAAAAPAIAAAwBwRkZUTYPq+1wAAOjIAAAAHEdERUYA4AB5AADfmAAAACRHUE9TS5tfuQAA5DwAAASKR1NVQiMzLFQAAN+8AAAEfk9TLzJp7a5lAAABeAAAAGBjbWFw0xjbSAAABIgAAAJwZ2FzcP//AAMAAN+QAAAACGdseWbwDKFSAAAIVAAAz+xoZWFkEhAn1wAAAPwAAAA2aGhlYQarAo0AAAE0AAAAJGhtdHht1RNRAAAB2AAAArBsb2Nh+CbEtgAABvgAAAFabWF4cADzANMAAAFYAAAAIG5hbWXa9+qFAADYQAAAAjFwb3N0jPH63wAA2nQAAAUZAAEAAAABAAARfaMVXw889QALA+gAAAAA1+lypQAAAADX6XKl/zH/FgPtApIAAAAIAAIAAAAAAAAAAQAAA4r/JgAAA7P/Mf8HA+0AAQAAAAAAAAAAAAAAAAAAAKwAAQAAAKwA0AAFAAAAAAACAAAAAQABAAAAQAAAAAAAAAAEAisBkAAFAAACigK7AAAAjAKKArsAAAHfADEBAgAAAAAAAAAAAAAAAAAAAANQAAAAAAAAAAAAAABYWFhYAEAACvsCA4r/JgAAAokA5QAAAAEAAAAAAaQCfwAAACAAAwH0AAAAAAAAAU0AAAAAAAAAAAAAAN4AAAH3ACIB4AAwAbYALwHsADABTwAwASsALQHZADEBpQAtATkAMAGCAC8B/gAvAdAALQJXAC0B2gAtAdUALwGWADIB5wAvAb4AMgG+ABsA5wAtAbcAMAFZADECQwAoAd8ALwELAC8CAAAoAUb/7AE1//kBKv/3ATL/9gFC//gA7AAeAVH/9QFC//sAm//7ALn/OgFo//sAsv//AeL//gE7//4BSv/4AWb/xwFG//gBAAACAUn/6ACxAAQBRP/9AUkABQHT//UBhAABAUz/1AFi//cA3gAAA2EAIgKfACICKwAwAigAMAIBADAC1gAwAhkAMAKuADACMAAtAr4ALQLiAC0CGwAtArkALQJtAC0CjwAtAhAAMAKyADACJAAwAfMAMAH1ADAClgAxAm8ALwJkAC8C4wAvAxcALwJUAC8C7AAvAr8ALwNxAC8DNwAvAoQALQMAAC0DiQAtAxAALQKSAC0CsQAtAq0ALwMQAC8C0wAyA3MAMgKTADICdAAyAtwAMgLaADICOQAyAp4AMgLsADICQwAyAyYAMgJZADIDAAAyAxwAMgLoADIC4wAyAtQAMgN1ADIDMAAyAp8AMgKDADICJgAtAhkALQKzAC0C1QAtAh8ALQKtAC0CeAAwAuYAMAKkADACLAAxAoIAMQI9ADECBgAxAv4AKAMiACgDQwAvAfUALwGyAC4CEwAvAnIALwHWAC8CmAAvAnEALwKMACIC9QAvAsUAMAK5ADEDJAAvAeQAAQIyAAgCDAAGAeEAAAKEAAUB///8AgkAAAH6ACgChwApAoAAJQK2AC4CNv/3AYD/MgIV/9ABoAAAAboAAgISAAQBdgAWAk4ACAGPAA8DEQAGAycAAQOz//4B+QAlAasAHQH2AC4AAAADAAAAAwAAABwAAQAAAAABagADAAEAAAAcAAQBTgAAADQAIAAEABQAAAAKAA0AIABaAHoAoADFAM8A1gDdAOUA7wD2AP0A//AB8AbwDfBV8FvwXfBm8Hb7Av//AAAAAAAKAA0AIABBAGEAoADAAMcA0QDYAN8A5wDxAPgA//AB8APwCPAP8FfwXfBf8Gn7AP//AAD/+f/3/+X/xf+//5oAAAAAAAAAAAAAAAAAAAAA/zkQOhA5EDgQNxA2EDUQNBAyBakAAQAAAAAAAAAAAAAAAAAAACYAMABAAEoAVABgAHAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAGAAYABgAGAAYACAAKAAoACgAKAA4ADgAOAA4AEwAUABQAFAAUABQAFAAaABoAGgAaAB4AMgAgACAAIAAgACAAIAAiACQAJAAkACQAKAAoACgAKAAtAC4ALgAuAC4ALgAuADQANAA0ADQAOAAAAQYAAAEAAAAAAAAAAQIDAAAEAAAAAAAAAAAAAAAAAAAAAQAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8AAAAAAAAgISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OQAAAAAABgYIChMUGiAgICAgICIkJCQkKCgoKC0uLi4uLjQ0NDQAAAAAAAAAMgAAAAAAAAAUAAAAAAAAAAAAAAAAAAAALgAAAAAAAAAAAAA6BgYUAAAAAAAAAAAAADgAAAAAAKqrAAAAAAAGCgYKCg4ODg4UFAAUGhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAMwBMAF+Ad4CSALGA0oDngQOBI4E7gWaBhYGcAa6Bz4Hlgf6CEgIlgjuCXoJ3AoeCogK+gtmC7oMJgyEDPYNkg38DkAOjg76DzgP3hBGEJQQ/hFkEaASABJYEqoS9hNwE8QURhScFJwVXBYAFrQXfBgkGPIZhhpSGwgb0hyeHTYeCB7eH84geCEwIfIilCMgI9gkmCV2JkInFCe0KIwpXipCK0Ar9CzqLfIvBC/UMLoxfDIeMsozijQCNJw1WDXqNnI3JjfQOFo5BDmCOhg6rDs8O+o8kj2MPkY/Ej+6QFhBEkHEQnhDAEOyRFJE9kW0RmZHGEfgSHZJVkpOSxBLpkwiTNZNfE38Tq5PWFAgUPpRvlJ4UzhT/FSeVXpWPFb6V7hYhFlGWhpa9lvQXKxdWl4qXtZfmGBaYOxhqmI6Y05khmW8ZpxnUGf2AAAAAgAi//kB7QKFACgAOQAAJRQWBgcGJy4BJyY/AS4CBwYHBgcGJyY3Njc+Azc2HgIHBhUHBic2FzY3NgciBw4BBw4CHgEBugUBAw0cEBcDBwUDEzYsEB0LBw0aMToUDUMOPlNbHx0kCAMDARoZwk0vAw4ZGgUMElkdAQICAQhMBRsQBxoDAhMPHT0iBgcBAQMSCjFhAwRXPIocZnteBgYTIygQBQLCv2UCEDNLiQEKDos7AQMJBwYAAAMAMP//AeACgAAhADEARgAAAR4FBgcOBAcGBwYmJyY3Ejc2Nz4BHgEXFg4BBzYmJyYGDwEGBw4BFjMyNhM+AScmBwYHDgEPARYyNjI+BAF8AgcRDg4HBAkBBRkiPyYdJT5SAgEJRVwWIw8yOzQMDxIzRRkFHhY7GRoeDQMCEhcnVy4kAyYQDiASFB4GBQEFDg4VExYTEgFRAQQOEh8mNx8FDyoiIwcGAQEZMRgpATaDIhAHBAkoITFeRsgmVw8IAgYGTEkNFAoZASkfZw4GAwgcIEoVFAEBAgMFBwkAAAAAAQAv//8B7wKMAEYAADMiLgEnLgY3Njc2NzY3NhcWFQYHBiIuAicwLgMGBw4GBw4BHgI+Azc+AxceAhUOAQcOArYDECAKAgYUDhMHBQcLHTpxNytEJhgBEQsRCwcFAQYECwsUDAIHFxgjIScRFg4LGBoWDw4HCAYRCxcPDRQHAzUXEhoxAgkIAQURFiQqOiE0QopcLAoQKxwmHwoGCQoNAQkFBwMBBAEDEBQkLEImL04uIAsCBQsHCgYbDwsCAhMZDBpFDgsNCgACADD//QH7AogAHQAvAAABHgMHDgUHBi4DNSY2NzY3PgE3Njc2Ez4BLgEnJg4CDwEOARceATYBiyUyEQcFAhAcLThOLC9CJxYHAw4XBAIQRh4YMzgaHxkKHBYTIxYQBAQoQQcGRWACeQk0QEccFUJaWE82BggHDBcQCSpJUg8IO6g6Lw8Q/mZPd0UlBQUNGRsJCl7JHxwUQAAAAAABADD/+gHjAosAPAAAAS4BIgcGBxc2FxYHBgcGIwcGBwYXFjYWFx4BBxQOAwcGJyYnLgE2NzY3BgcGJyY+ATc2Fx4EBwYBtgY3MRdHFSwZDw8GBhcUEUEdBQk0DSEYCA8PBAEEBw0IPSk8HQwDCws5RhUGIQ8JAwoHM5wmOBwQBAEBAiYBAQNhPQEBDg4XFQUFBlYtRAUBAwEECBsOAQMICAkDFQcLMBRKTCK+ZQQBBhELFhAEJRAEDA0QCgYYAAABAC3//wHgAoYASQAAAR4CDgEHDgIiLgEjJgcUBxQOAQcyFx4BFxYGIwYHFDEGBxQOByMiLgEnJjY3NjcGJyIuBCcmNz4DPwE2FgHDDQ4CBQMBBA0NEw8WByEwARMgDTEKCxcDBRgaHzUuDAMBAwMFBwkNBwQLFQMFKB0gNRUPAwcGBgQEARgLAQcJBwMCNNQCYgcRCgwDAQQDAgEBAQMBAQEsTSABAQ8QExsBBgGEXwQVBxEGDQUGAgISEBy6Ulp/BAEBAgICAQEPGwQJBgUBARcOAAEAMf/9Ad4ChwBVAAABDgQHDgEeAhcWNzY3Jjc2ND4EMxYXMh4DBwYHFAcGBwYnKgEuAjc2NwYHDgInJicuAzY3Njc2NzY3NhcWBwYHDgEuAjU0JyYBawQOKio6GhgUBhIVCRgbBQkbBwEEBAoLEQphFAEDCQQEBAgYAQgFCR0BBg4KCAEBAhsWERcuFyESAwkVDAELEB9CaTQmPRwSBAQQCw0KBAQBCwIYAgYfK1EyLkoqHQsBAh8GDQkbAQQKCQsHBgUGAQQJDwwgBwkLXhMeAwYLGA8KDiENCQoJBQUUAgsnLk8sNEGIUCgGCi8fJh8IBAELCg4BAQEYAAEALf/+Af0CgwBdAAABHgMUDgIxDgIHBgcUDgQjKgEuAicmNjc2JyYHBgcGBw4HIyIuAScmNjc+AT8BND4DFx4DFA4CMQ4CBwYXFhcWNz4BPwE+BAHhCAsGAgIDAgEjMA4yCgMCBgkRCwEFDAoKAgQVEwMLRw4NBx0IAQIBAwQHCg0JBAsWAwUnHRIwEBAEDA4XDAgLBgICAwIBGCcOBAUmMgoEEi4PDgEEDA4WAn0DCQkNCgwHCAFWeiiYUgYfCxUIBwQHEAoVfEgKAQwEBBNmQAUWChIIDAUEAhMQHcBUM4EnJwIHEggJBgMJCQ0KDAcIATxfJg4BCQQBCjJ7JSQCBxIICQAAAAEAMP//Ab4CgAA5AAABFgYHIiMGBwYHFDEWFzAWMh4EBhUOAQciJyYnJjY3MjM2NzY3JiMwJiIuBDQ3PgE3FhcWAbwBHCMJCkYVMAkSBAUCBgMFAgMBBBoYaxAhAgEbIwgLDS0fMQoCBQIGAwUCAgEFGhhrECECYBMmAaw/lVABAQEBAgIEBQgJBhkTAgIEFRMnAnSHWoABAQIDAwYHCgUZEwIEAgUAAAEAL///AhoCfwBNAAABPgM/AQYHMCMGJyY+ATc+ARceBBcWFQYHBicmJw4EBw4GIy4ENzQ+ATc+AxYXFgcGBwYHBhcWNz4DASAHEg8OBARSEgM6CQUHEQsUmDAKGw8QCwUXASIHChUUBAsiHyUNAQEHCxYbKhoHFC4hGAQCEQ8BBA0NFAkYBAIICwINJSsNAQ8SFwGPFzElHgcIAQQMHhAbEgQHAQYBAgEDAwILGiYGAQEBBQYVTFuWVAIJGRcbFAwBAhAbOScGFTIQAQUJBgEFDh4NDhIKNggJKQVEUl8AAQAv//gCVgKLAFcAAAEOAQ8BMD4FNz4BHgIXFBYOAgcGBx4CFxYXHgEGBw4BLgYnLgEnDgQHDgIHBiY3PgE3PgE/AQ4EJy4BNjc+ARceAwYBLQsiCwwTISs0NDoZAwgYFBUGAQMHFBChXAMNOCUXDQcKDBYIEA8ODgsMBwkBDUwDAQYODQ8FBgkPEyAuAwMqGA4YBQQBBQ8OFgkQAhMQHmImAgUMBwECMhlbISETHycpJR0HAQEBBhIOAgQNDQ8GQFwMKHIyFwwHGSMNBQIEBw0KEAoOAROXEwIGFBYkEhZLJwsUHiQjqUssURISAQQNBQUGBh4iEiMzEAEDCw8aAAEALQAAAaEChABDAAAlFgcOAw8BDgEqASYjJiMiBwYHBisBIiMqAS4CJyY2Nz4FPwE+BBceAxQOAjEUDgEHBgc+ARcWAZoGAwEEBAQBAQQMDQoMATIMGFsOKAMEAQQBAgYQDQwCBS4fCRQUFBANBAMBBAwOFwwICwYCAwIDJTAOFxw0gh4aVg8SBgwIBgECBQcDBggBBAEEBxAKG71ZFzYwMCYeCAgCBhIJCAYDCQoMCgwIBwFWeSlDiAYBBwYAAAEALf/zAoYCiwByAAABDgMPAQ4EBxwBBgcGJy4BNzY3Njc2NzY1NAcGJyY2NzY3NhYHBgcGFjc+ATc2NzYWBw4DBwY3Mj4CNz4DNzYWBwIHBhcWIwYnJjY3Njc2JgYHDgIHBgcOAQcGJicmNz4DNzY3NiYBPwgTEA8EBQMMHhcVAQgHFikRFQYTQBMMBAIBDRwXDgERMzchKQcGIQUBCgc6GCkkGBgIAw0KCgIFBQIEIisLDQ0XFgwcFA1aCggHBjEzCAcaFh0CAQUPDA8nJwYSAwITER4wBAgmCREJCgUVBAQEAc0DDRAQBQYEETk+YDAJGjUKIQ4GMSyKojcgCwsGAgkIEBAKKBAvDAcrGhU+CAkHBj4VJgYEHxgKHxkYAw8BAyIrCgsLDwcBAycm/v9BOE9EASMexTtOHgcKBA4QP1AdOkQyMgYLFxcwdBo1HB4NMRgLGwAAAQAt//8CIwKCAFUAAAEeAQ4BBzAOAQcGBxQVDgQHKgEuAjUuAic0LgEnBgcGBw4BJyIuAScmNjc+BT8BPgQXNhcWFx4BFx4CFz4CNz4BPwE0PgMCBg4OAQMBJS8NKQ0CAwcJEQwDBxMPDAEIEAgDAwEZFhoPBBsgBAwWBAYlHAgTERIPCwQDAQIJCxEKHQ4GAQIOAgEHCwQCCQgCCysQEAMLDhgCdwIVHA4GVnkof2oCBBAPFwoJAQUJEw0Gebs5BQsLBD9EUpcoKwIDFREdwFMYNTAvJh0ICAEGDQoIAQIeDAkNaAsGPGAeCRoZCS19KCgCBxALCAACAC///wHoAn8AHwA7AAABHgEHDgIHDgYnLgM3PgQ3PgQXNiYHDgUPAQ4BBwYXFBcWFxY3Njc+AgFrNUgDAg1SQwEFEBEcHScTJjQXBwcCBhsjQigCCRweKyoEFhcGDQwLCgcCAjtCBwMBAQQHDx8YEyhBHQJ+AVBQHGXgRgEFDgsOBgMGCCw6RSMIHlZSaCkDCRcSD6wvHQoDCAkKCQcCAkunMhgKCwUQChYHBhImlHgAAAACADL//QHvAoIAGgAtAAABFgYHDgMjJw4BBwYnLgE1Jz4CNzY3PgEHNiYnJicmBw4BDwE6AT4EAbo1DTYZQjo0DxAVGAIENxMUAQZJNhkPGChwICkBHwYJNRYMIAsKDA0ZEBgUGAJnJp1EHioRCAFDaho8AwIdDg5M6IM4HxMfB+4vVQwDAQgxGlIdHAMECA0SAAAAAgAv//kB6AKBAC8AVwAAAR4BBw4EBxYXFhcWBwYHBicmJwYHDgYnLgM3PgQ3PgQXNiYHDgMPAQ4BBwYXFBcWFxY3Njc2Ny4BLwEmNhcWFx4CFz4BAWs1SAMBAg0UKBoSFQgGCQsFBhIUGx8DAwEFEBEcHScTJjQXBwcCBhsjQigCCRweKyoEFhcIEw8NBAQ8QQcDAQEEBw8fGBMNDRMVAQIBFQwOFQIJCgQaIQKAAlFPCB5QT2grHB0LDBUSCAMKCQ4pBAICBQ4LDgUEBggsO0YiCR1YUmkpAwkYEg6tLx4LAw0NDQQES6gyGQoLBRALFQcGEg0SKEENDRcXAwMmBBIRCDyEAAAAAgAy//0B7wKDACUANQAAARYGBwYHFhcWFxYXFgYPAQYmLwEmJwYHBicuATUnPgI3Njc+AQc2JicmJyYHDgEPATI+AgG6NQ02Nl0RIhMmCgUFBAQFEiYODjw4LQQENRMUAQZJNhkPGChwICkBHwYJNRYMIAsKFhgpJwJoJp5DQxYwPiMgCQsPFwcHEAIJCSrBjDk8AwIdDg5N54M5HxMfB+4vVA0DAQcxGVMcHQMKGQABABv//QHPAoIAPwAANxY3NicmJyYnJjc+ARYXFgcGBwYnLgQnJgcOAhceBBcWBgcGJicmNz4CFx4CBg8BDgEfAR4BF94bECscFRscCRc0E0VCFT8FAh4MDggLCAQFAQ4iDhYDEQYgDxcNBAsfLjJ8LUkhBx0rFxARAQQEEgYBAwIFGwtbAw8jVUQtLiJgShscAw4sQh4KAwUCCA0IDgIfDAUmOCAKPB4vJhEwahweBCA2axorGAgGFRcRBiAMGQcGDxABAAAAAAEALQAAAeQCgQAxAAABFgcGBwYmLwEmJwYHBgcUDgcjIi4BJyY2NzY3ByIOASMuATc+AT8BNhYXFgHeBgYLIQgeDAsdKEsVLwwDAQMDBgcJDQcECxYDBSkeHzJEBAsdCxISCQUYCgk97ikbAmANEB4FAQICAgMBsD6HYQMVCBEHDQUGAgISERy+VFd8BgIDASUWDRACAggDBgQAAAEAMP//AgUCgQAuAAABDgEHDgQeARceAT4CNz4BNz4BFx4BBwYCBwYHBgcGJicmJyY2Nz4BFx4BAQEKOgYCBQwKBwEODQMLIB8nEBNHChMfGRYNCgNWGjI2KT8jPBEVAQEyHhknIR8PAh8XpxEEDyooMSYfBQEBCBg+LTbzGCocBQU0Fgr+9UB/LSMGAxocIiw811tOQAEBPQAAAAEAMf/xAbYCggA4AAA3PgI3PgIXHgEPAQYHDgMHDgEHBicuAScuAT4BPwE+AzU+AT8BPgEfARYHFA4CBw4BB5IPX1sBBhAaDw4MAQEDIgEaFicTIikdOyYUCgcCAQECAQEBDg8OAQQDAgojDAwjCgYHCwYHDQSRFNjWAwsPCQYGGgsLIFEBQDVWJkM/IUYWDCA6FDMtJwwMFmJdTwMGDgUEEgwDAw8yAhsgOx8oijEAAQAo//oChgKBAGEAABMOAQcOAhUGNzY3PgE3ND4HNzYWFx4BDgIHBgcOBR4CMxY+ATc+Ajc+BjcyHgEXFgYHBgcOAwcGJyYnDgYnLgE3Njc+ARceAf0FGxAFER0CNB8XDj8JBgMGAwcFBgcEESEGAgEBBgYGQAcBBQIDAQEDBQkFESMWCQMsJQUBCAMJBwwPCQMJEwQFCRJILgYUIDEcMSIWAgIEDxAZGB8ONiEWMyIOHRUYHgIxEUEsEDWBLGE1IFo60BIBDgUNBgoHBwUCCQwRBhAOGBISwjMIGhEYEBIMDAYCMTUdCpd9CwMVBxEICwUBAQsKFzAyzZITJikdAwUiGB8DBhQQFQkIBhCEYe9WJRsBASsAAAEAL//sAfwCgQA+AAAlDgEHBicuAT4BPwE+AT8BJicmNzY3Nh4BHwE+ATc+ARceAgYHDgUPAR4EFx4BDgEHBiYnLgEnAQsDORc+LhAMBQkFBRFOHx8dEBgBAykOGQwEKQ9YCw8pCQcMCQoPBxYaHBoVBgYDCRgTEQIDAwEMCxUbCQkkDuoDYChzGAgcHBsICB56Li5qL0EUJwcCGBoOhhN+DREHCAQOFyMTCB4jJyQdCAkIHEo8NwgMGBwWBQcMDQ1pLwABAC///gGjAo8AKAAAEy4BJy4BNzYXHgEfAT4GFxYHBgcOAhUOAScuAT4BPwE+ATeSAjUUEgURKCYNIAoJDiQWHBQVFAkpFwSOHicaCTgSBwcBBAECDCgOASchmykkPQwWOxVfJiUXPSctGxgIAgc/C/gzb2oCGwYTBhYVFAYGKWIdAAABACgAAAH6AoEATAAANzYXHgcGFQ4GJiMmBwYnJicmNz4BPwEmJzAqAS4GNTQ+BDsBNh4CFx4BBxQOBgcGBw4BB7ByLwYWEBcOEwkMAgMMDBMNFgoVAncnMyAiDA4cFphCQRB3CwcNCQ4JCgYEBgwNDgsDBBhKSEAOGQ0DAwIGAwkEDAMGCU6GHGwEBAEBAQIDBQcKDQkMEgwIBAEBAQIBAgICGh1BMs9PTgIDAgEEBAcIDAcLEQsHAwICAQQGBQcaGwYMCAsFDAUPAwcKWbUuAAAAAAL/6//+AV0BtwAtAEkAAAEOAQcGFRQXFgcOAScuAicuAicmBwYHBicmJyY3PgE3PgI3NhcWNzYXHgEHPgInJgYPAQ4DDwEGFx4CNz4FNwFRDjELAwcDAgUjEAgKAwIBAgEBAgcWKCcgFQ4bDAYrIgQPMxs4KgUFEBgVCMAdLA0JDBkKChsqFg4CAgIEAwkKBgYOCwsIBgIBXxp+OxESGRsMCBAPBgMKBQcCBQYCBQoiBQUOCRQmQiVrJQYSLA4eIwUFDwgIIvUvakQLBQoICBpBODEODhcJBgcCAQIJCwwLCQIAAAL/+P/+AR4CfAAqAEIAAAEWBw4BBw4CJyIuAScmNQcGBwYmNz4BPwE2NzYWFxYPATY3NhcWFxYXFgc+AScuAQcOAQ8BDgEPARYGFjM+AzcBGAYFBjUkAgojFAMJFAUCAwUhGBYBAicdXgsWEh8GDA5HCQIcHwkGCQQGcBwXBAIKCgcOBAQaHgIDAQEKCgYNCwoCAV0mLjuPJgMKDgQDDwwFAQQiAQEeGiO5Te4cCwcLCRQkqwoDHhAFCAoMDvYvgxUMCgIBDQYGJ2cgIAEQEQEKDQ4FAAAAAAH/9gABATMBrQA2AAABFhcUBwYuAjEmBw4EBw4BHgI3Njc+AhceARUOAQcGByInIi4FNzY3Njc2NzYBHxIBDAkQBgcNHAMKHx0mEA4ICBMRCBgPAhIQDQ8QASUQJy8cEQEFDwwQBwUEBxInTSQmMQGSERkTBwcEBgwPDAEGFx85Ih8wGA8EAQERAxsKAQEXDBEvCRgCCwMLDRcbJRUiLFw9HQoMAAAAAAL/9f/9AZkCfAAxAEIAAAE2HgEHDgEHDgQfARYGJyYnJicmJyYiBhUGBwYuAScmPgE3PgE3NhYfATY3Njc2AzYnJgcGBw4BFxY3Njc+ATcBZg4cCQ8GLwsDLCQKAgEBBCgaAQELBAIBAQEFGyIUKx8CARMjFB1EIBAYBAQZBhsKHoMHCAoaHSAPIAMDFQkHHjMKAnYGDyMcCWsgCHRmLDMODyAeDwEBBxAKAwEHASIIBRErHR1XVyEuMgIBBQMDQQ47Ezj+yCEKDRgZRR9rFhINBQgiayQAAAL/9//9AUQBqQAkADgAAAEWBgcOAQ8BBgcGFjc2Nz4BFx4BFQcGBwYHBiYnJjY3PgE3NhYHNicmBg8BDgMPAQYWPwE+AgE7CBYtHlsfHgcCAxoYIxoHGg8KCgEBBw0VK2ocHgIeHm0sJz9SFw0HEQYGDBsWEwUGCw0ODhkrEAFzH1MoGyEDAwgbFBwBAScKDAcEEgcHCw4YDhsIHSBXTUlqBwceYi8KBgEDAwYZHBoJCBkOBAMLJhcAAAAAAQAe//8BtAKAAEgAAAEeAQcOASciLgMiDgEHBgcGBw4CBxcWFxYXFhcWBw4BDwEGJyYnBw4DFQ4BJicmNzY3NjcmJy4BNzY3Nhc3Njc+ARcWAYoYEgwMIggBCwcNCw4LDAUVEQMCAQQDAhQNCwkFAwEDBAMHAgEUJwUQJAwUCQwEGRoHEwYEFhAmFwcPAQkLGwkXDhEZGE8rFgJwCiASDwIFBAICAQMHBBcrBwQDCQsEAwEFBAYEBAoLCAwCAhcDAQJtI0wnPwERDwMGDy0iW0RpBAIGJA4XAwIDISkmJCYFAgAAAv/0/zoBTgGlAEgAagAAAR4FDgMxBgcOAQcOAgcOAycuAicmNjc2FxYXFjc2NzY3NiYHBgcGJicuATc2NzY3PgU/AT4FFgc2LgEjIiYOAgcOAw8BBhY7AT4BPwE+Az8BPgE3AR0KEQsHAwEBAgIDBB0JKAEBCg8GBxIeLBkhKgwFBg0SGB4FBRAOGBILCgECARIXFE8TEgQHBBMQFgcOCwoHBQECAgcWFyAfIhECBgUBBAoVFh4QDxkNCAECAw4ICQseCAkIFBEOBAMIDAMBmwUNDQ8NDwsNBgkOXB6PCQclLg8QHSYUAwMVEAwPJgsNEAMCBwYKLx4tAQEBFw0NEBsZQxwaLSYgCxINCgcFAQECBQ8NDgYDVgwOAgIKDyIXFzInIAkJFxYCGQwLCyEhHgkKESoMAAAAAf/6//0BNwJ7AEMAAAEGBwYfARYGJy4BNSY2PwE2NzQ2NzYuASMiBwYHDgEPAQ4BJyYnND4BNzY3Njc+Ajc2FhUWBwYHFDIxPgEXHgEfARYBLB8HCQYDAhMYGBMBDAYGBQIPAgEEBgITGBgWBSACCQMZEiEDAQYBBSkRUQkLFA0TIgEXES4BEjETCxIEAxMBNGkjLywkDxsCAyQmFUgZGRYGATgIBwgDFBQqCoEWPQ8QAwQmCBQlCi2KOMkZFhgCBRMRGDQldQETEwQCDgUGIAAAAAAC//oAAADGAgMAJAAsAAATHgMcAQ4BMTAOAQcGFRQWDgMjIicmNjc+Az8BPgMeAQ4BLgE2iAcLBgMCARYeBx0BAQMHDQocCgcPEQYRDw0DBAIGGykbCw4dHAoNAY4BBgYIBggEBTZMGV80AxMHDQUFGBF4NRQwKCIJCgQKDXELHR0NCh0dAAAAAv85/zkA2QIGACYALgAAExYHBgcOAQcOAQ8BBgcOAScmJyY3Njc2FxY2PwE2Nz4BNT4BNz4CHgEOAS4BNqURAwELAj0LCBoICREkG04kKQQBBw0bEh8SGwgIDhMFRgUiCAkeGBwLDB0cCwwBiwoXBycFwCYdTRgYLSUdDhEUIBAPGgMCEggKCwsSQRDeAg9fDA4FcgocHg4KHB4AAf/6//YBRwJ8AEsAACUUDgUxIjEGJyYnJicGBw4FIyIuAScmNjc+AT8BPgQXHgMOAzEUDgEHNjc2FxYHBgcWFx4BHwEeARceARUBRgIEBQUFAgEdHBsfETkTBAEDAgcJEAwECxYDBSkeEjMQEAEDDQ4XDAgMBQMBAgIDJTAOUgcoDg8dEVMMCAkYCAgHLwMICDEFCggHBQMCEhIRKBZjRSMFHwsVBwcCEhEcvVQyfycmAgcRCQgGAwkJDQoMBwcBU3cnPQUaIygcEDoWDhAkCgoIJgIHDgMAAf/+AAEBBQJ8ACgAABMeAxQOAgcUDgMHBgcOBSMiLgEnJjY3PgE/ATQ+A+oICwUCAgMCAQ8XGRsINAoBAwIGCRELBAsVAwUpHRIyEBAEDA4WAnYDCQoMCgwHBwEBIjc9RBqVUQUfCxUHBwISERy9UzJ/JyYCBhIICQAAAAH//f/yAd8BngBxAAABFgcOAgcOAR4BFRQGBwYnJjc+AT8BNjc2Jg8BDgEHDgEXFgcGBxQHMDEGBzAHIiMGIicmJyY3PgE/ATY3NiYPAQ4BBw4BFxYHDgEHIiYvAS4BJzU0Njc+AR8CPgUWFxYXPgM/AT4EAao0DQEOFggGBAECEBEoCwgMAhIHCAYIBAkHBxQaFBMkAwIEAwcCBAUBAQEECQUfCQgLAhIIBwYJBAoGBxQaFBMkAwIFAxEMCA4DBAcHAU8XCxgHBg4BAwwMExEWCicCAwkIBgICAgcXFSABkBRABS1FGhYyISICDhoBAykfQg9EGhsSHQ4MAQEGGyAejSAXEgkHAQEEAgECAQMjH0IPRBsaEh4NDAEBBhsgHo0gFxILDwEFAwIHGgoKOvUUCwIEBA4BBAoICAQCBRMsBQsIBgIBAgUOBQQAAf/9//0BMwGlAEIAAAEeAhQHDgIHDgEeARUWDgEHBicmNz4BPwE2NzYmDwEOAQcOARcWBw4BBwYmLwEuASc1JjY3PgEfAj4FFgEHEhUEAQEPFQgGBAEDAQYQDSkLCQoDEQgIBQkECgcHFRsUEyQEAgUCEgwIDwQDCAgBAU8XDBkHBg8BBAwMExIXAZ4IGRsRBwUuRRoWMiEjAggREAEDKh5DDkUbGxIdDgwBAQcbIR6OIBcSCw8BAQUDAgcaCgo69xULAwUEDQEDCgkIBAEAAAL/9wAAATcBpgAbADAAAAEUDgMHDgQnLgE3PgQ3PgI3NhYHNiYHDgEPAQ4CBwYfAR4BPwE+AQE2AQoTKx4CBhYZJxU4LQYBAxEXLRwFETMZJzpPAg4RCRMEBR0mCgIBAgEEFggJJzgBQgcYR0JRHwIGEAsGAgdLMgYTOTZHHAUQGwIBMj0fEQcEEgYHI141GAsJBREGBgYfnQAAAAL/xv8yAU0BqAAsAEUAABMyFgcUDgMHDgInJicGBw4FJyIuAScmNjc+AT8BPgQXFhc2FzYuAQcOAw8BDgMHBh8BHgE/AT4B9CQ1AQEMEyodBBE4Hx4VHgYBAwEHCRALAwsVAwUnHhEwEA8BBAsOFgwXAxckAwUNCgUMCAcCAhUgEAgBAQEBAxQICCU5AY8xLgsQRztNHAUOEwQFEGYzBR8KFQgHAQISEBy8UzF+JiYCBxEICQYIFwtnExUDBAIJCAgCAxk8OSMPCwkFDwYFBRyTAAAAAv/3/yIBVAG1ACwAQAAAATYWFRQHBgcGAgcyPgEzFhUWBwYHBicmNTQ2Nw4BLgInJjc2NzY3Nhc+Agc2BwYHDgEPARQVFhcWNzY3PgIBJxIbAggPGmEOAwgSBR0BIhseHBEPFA0FDyggHwYEAxBYFhpALgIGFEcDEhEiHyMDAgEDCxcIBh0qDQGkARMVBwgeIDn+6F0DBAIaGBQPCAgODBoWeisBAwILJBwWGYBlGQ0hLgMKEGwjAgIqJmEeHgUFBwYUEQUIIms/AAAAAQACAAABLwGqACMAAAEWDgIvASIGDwEOAQ8BDgEnLgEnNSYSNzYXMh4CFxU+ARYBLAINExIDHhgoCAkTGQMEAxYYEBEBAkgKEhwIDQYDARBBOAGDERUFAwIDIBARJW0kJB8fAgIYCwwoAQEaKwIICQoDAxcTEAAAAf/nAAIBPwGqADwAAAEeAQcGBwYnLgQ1JgcOARcWFxYGBwYmJyY3PgEXHgEGDwEOAR8BHgM3Mz4BPwE2JyYnJicmNz4BAQ0YGQQEGAsKBQkGBAQLGhIFFUUEAyAlJmUjOBMGMhoRDgMEDgUBAgIDCwsLBAQGDAMDIAwEJxQHEicVWgGaCyoUFAYDAgIFCAYJARQIBS8fWycgRBITARYkRBkmCAUVEAUVBxEEBAYIAgEBAQQCAhI1FDUaGT0xGxAAAQAE//0BJAJ7ADoAAAEeAQcOASciJwYHBgcUDgQjIi4BJyY2NzY3JicmNjc+AR8BFjM3PgQXHgMOAzEUBxYBBhAOAgMfJAkKIRAzCwQCBgkPCgQKEwIEKR0SGRcHDQEJBxwKCgQGFQEECw0VCwcKBQIBAgIDDRUCDQUNDRQhAwFUMJdRBR8LFQgHARIQHL5UM0QEAwggEAwKAQEBNwIGEgkJBgIJCQwKDAcIAR4DAAAB//z/9wFiAakANQAAARYHBgcOBAcGJyYxJgcwDgMHBiYnJjc2Nz4BFx4BBwYHDgIWNzI+Azc+Ajc2AUAiFU0JAQMDBQwKJhEBBQ0KCA0PCRcsCwkBBEQUHxcdCw0vEAMJDwYQAQUPDhUJCCofByABnQ0qoj0MKh8fEgIILgIHDQoHCQUBAhcUEiVLpjAlAgEmFVsrCR0+JwEBCA4fFhRoRw00AAEABf//AVQBqgAtAAABHgEHDgEHDgMHDgEuATc2NzY3PgEzNx4BBxUOAgcGFxY3Njc2Nz4BNz4BAUMNBAUFKhQPFyIoFBcvJhYCBz8FCQkVBgcSEQECChcMHgIBDQECHiAMSQIJKAGgBhUOFHEpHSo3Kg4PBRIwJFu1DgsKCgEBEwoKChg2IVQ/HwYBARZAGLwEFg0AAAAAAf/0//0B6QGmAFAAAAEWBwYHDgEHBicmJw4GJy4BNzY3PgEXMhYHDgEHBgcGNzY3PgI3Njc+Ajc2FhcWBgcGBwYHBhYXFj4BNz4DNz4GMzYB4AkcPScLOSsoGxIBAQQMDRUTGgssGRMsHQwYERMYCgUXDSoCAioaEwggHQQBAgYHEAgOGgUDBgs2BwEDCAERDR4SBwMZFxYDAQcDBwYKDAcVAY0TPIdhHDUEAxYPFQIEDQsOBgUECldAnTgZEgEdFwsrHF9BPyIWOxhURwgBAwoNDwQGCAsPFRuAIgULGy8BASAjEwhAPTgHAQ4FCwUHBAIAAAEAAf/4AXgBqgA0AAABHgIHDgEPARYXFgYHBi4BLwEGBwYnLgE+AT8BPgE/ASYnJjU0PgMeAh8BPgM3NgFYCBEHDws8GBhICQcFEAsVDQVJBUg0JAoKAgQDAw5AGhohEhkECA4TEg8FBTAJHRwZBRgBogMSIBQQQhoZfhIMJAwJBAkHhwNcQg0EERIQBgUUTh0eQx0pDQYMDAoCCBYIClcKHx8dBiEAAAH/0/9FAWwBqwBXAAABFgcOAQ8BBgcOCAcGJyYnJicmNhcWFxY+Ajc+ATcwJhUGBw4CJyoBLgInJjY3Njc+BBcWBwYHDgEHBhcWNz4CNz4CNz4DFgFGJRgFDQMEQxMBCggNDREUFxwQERI7EQEBCywdCQ8OFRMLBAoWAwEGDAUQIhACBxUQEQMGERorEwUIEAsTBxcMAw0MKgYXDgUIDi0pDgchEwYBAwgJDwGlEzAMIQoLsj4FIxcnHCQZGA4DAgIKJgMCHi8KAwoGAREOCBI+DgEBCAwFDA4CBgoWDxxrP2kXCAkOBAQGCzAKFxdbEUgVBgIEOEkgElUrCAECBwMBAAAAAf/2//wBXwGkADYAAAEeAQcGBw4BBw4BDwEWFx4CFRQOAScmBwYHBicmNDc+BT8BJiIGIyIuAjc+AT8BPgEBNxIWAQEgAgUCOFMNDj4fERYRDRUMYSMuHRoMCQsFHScuLCQLDBIoIgMIDxYMAQEOBgcenwGhARoRHh4CCAI4ZBYVAwUCCRQQEBcJAg0CAgcGDgsjFAYkLjYzKQ0NAgIDBhALDxQCAwYBAAAAAAQAIv8sA0oCiQAtAEQAbgB/AAABNh4BBxQOAwcOAicmJwYHDgUjIi4BJyY2Nz4BPwE+BBcWFzYXNiYHDgMPAQ4CBwYfAR4BPwE+ASUGFxQWBgcGJy4BJyY/AS4CBwYHBgcGJyY3Njc+BDc2HgIHBhUHNgciBw4BBw4CHgE3Nhc2AvEXKBoBAQwTKh0EETgfHhUeBgEDAQcIEAwDCxUDBSgdETEPDwEECw4WDBcDFyQEDRAFDAgHAgIbJgsCAQEBAxQICCU5/tUZBQUBAw0cEBcDBwUDEzYsEB0LBw0aMToUDUMKK0JCRxkdJAgDAwFoGRoFDBJZHQECAgEICU0vAwGJARQsHwkURTxNHAQPEwUEEGYzBR4LFQcHAhIRHLtTMn4mJgIGEggIBggWC2gdEQcCCAkHAwIhWDIWCgkFEAYFBR2TXsBCBRwQBxoEAhIPHjwiBggBAgMSCjFhAwRXPIsUS2NYQgQGEyMoEAUCrIoCCQ+KOwEECQcGAQEPMwAAAAQAIv8uAsYCkgApADEAVwBoAAABFgcGBw4BBw4DDwEGBw4BJyYnJjc2NzYXFjY/ATY3PgE1PgI3PgIOAS4BPgEWATcuAQcGBwYHBicmNzY3PgQ3NgcUDwEGFxQWBgcGJy4BJyYnNhc2NzYHBgcOAQcOAh4BApURAwELAj0LBQ4OCwQDESQbTiQpBAEHDRsSHxIbCAgOEwVGAhEXBQkePRUfFwEVHxf+oQMcUhcdCwcNGjE6FA1DCitCQkcZTAEDGhkFBQEDDRwQFwMHbk0vAw4ZGgUMElkdAQICAQgBgAoXBycFwCUTLSYiCgksJh0OERQgEQ8ZAwISCAsKCxJCD94DBjE6CQ0FPxkEEiAZBBP+mSIJBwIDEwoxYQQEVjyLFEtjWEIFDlcIH8HAQgUbEQcaBAISDx61AQ8zSooBAQkOizsBBAkHBQACADD/+gKtAosAPAB5AAABHgEHDgEnJicGBwYHDgUHIi4BJyY+Ajc2NyYnJjY3PgEfARYzNz4EFx4DFA4CMRQHFiciJgYHBgcXNhcWBwYHBiMHBgcGFxY2FhceAQcUDgMHBicmJy4BNjc2NwYHBicmPgE3NhceBAcGAo4QDgEDICQICiERMgsBBAIGCBAKAwsTAgIJEhsOEhoXBw4BCQccCgoEBhYBAwsNFQsICgQCAwIDDBTSBjcxF0cVLBkPDwYGFxQRQR0FCDMNIRgIDw8EAQQHDQg9KTwdDAMLCzlGFQYhDwkDCgcznCY4HBAEAQECEwQNDRUgAgEBVDGWUQUfCxUIBwECEhANQ1NhKTREAwMJHxEMCgEBATYDBhIJCQYCCQkMCwsIBwEeAxICAQNhPQEBDg4XFQUFBlYtRAUBAwEECBsOAQMICAkDFQgKMBRKTCO9ZQQBBhELFhAEJRADDQ0PCwYYAAACADD//ALzAo4ARwCCAAABHgEHDgEnMC4CKgEOAQcGBwYHDgEHFxYXFhcWFxYHDgEPAQYnIicHDgMHDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYFNhcWBwYHBiMHBgcGFxY2MhceAQcUDgEHBicmJy4BNjc2NwYHBicmPgE3NhceBAcGJyImBgcGBwLIGBIMCyMICwcOCg4LDAUVEQMCAQcCFA4LCAUEAQIDAwcBAhQnBBEjDBMJCwEDGRoHEwUEFRAlFwcPAQgLGwoXDREZF08rFv5OGQ8PBgYXFBFBHQUIMw0hGAgPDwQDEQ09KTwdDAMLCzlGFQYhDwkDCgcznCY4HBAEAQErBjcxF0cVAnEJIBIQAgYDAgMDBwUXKggEBBIFAwEEBAYEBAoLCAwDAhYDAm0kSyc/AhAPAgYPLSFcRGkEAwUkDhcEAQMiKSYlJgQD8QEODhcVBQUGVi1EBQEDBQccDgIIEQUVCAowFEpMI71lBAEGEQsWEAQlEAMNDQ8LBhgBAgECYj0AAAAAAwAw/zQCJQKMACgAMABrAAABFgcGBw4BBw4BDwEGBw4BJy4BJyY3Njc2FxY2PwE2Nz4BNz4CNz4CHgEOAS4BNgMGJyYnLgE2NzY3BgcGJyY+ATc2Fx4EBwYjIiYiBwYHMzYXFgcGBwYjBwYHBhcWNhYXHgEHFA4BAewRAgEKATcKCBcICA8jGk4kFBgDAgcMGxIgEhoICA4RBD8BARAUBggeHhwLDR0cCw3iPSk8HQwDCws5RhUGIQ8JAwoHM5wmOBwQBAEBKwY3MRdHFSwZDw8GBhcUEUEdBQk0DSEYCA8PBAMRAY4KFwcnBcImHU4YGS0mHhERCRsOEQ8aBAIRCAwLCxJCEOACBzE7CQ4GcgocHg4KHB7+FhUHCzAUSkwivmUFAQURChcPBSUQBAwNEAoHFwIDYT4BDg8WFQUFBlcsRAUBAwEECBsOAggSAAAAAgAw//cCuAKLAFUAkAAAJRQOBTEGMQYnJicmJwYHDgUjIi4BJyY2Nz4FPwE+BBceAw4DMTAOAQc2NzYXFgcGBxYXHgcfAR4BFx4BFwEiJgYHBgcXNhcWBwYHBiMHBgcGFxY2FhceAQcUDgEHBicmJy4BNjc2NwYHBicmPgE3NhceBAcGArcCBAUFBAMBHRwbHxE5EwQBAwIGChAMBAsWAwUpHgkUExMPDAQDAQQMDhcNCAsGAgECAgMkMQ5SBygODx0QUwsIAwgHBwcGBQQBAQcvAwgIAf7/BjcxF0cVLBkPDwYGFxQRQR0FCDMNIRgIDw8EAxENPSk8HQwDCws5RhUGIQ8JAwoHM5wmOBwQBAEBMgUKCAcFBAEBEhMRJxdjRSMGHwoVCAcCExAdvVQXNTAvJh0ICAIGEggJBgMJCgwKDAcIVHYoPgUaIygcEDoWDgYNCwsJCAcEAgEIJgMGDgQB8gIBA2E9AQEODhcVBQUGVi1EBQEDAQQIGw4CCBEFFQgKMBRKTCO9ZQQBBhELFhAEJRADDQ0PCwYYAAIAMP/8AnICjgAnAGQAAAEeAxQOAxUiDgEHBgcOBSMiLgEnJjY3PgE/ATQ+AwciJiIHBgczNhcWBwYHBiMHBgcGFxY2FhceAQcUDgMHBicmJy4BNjc2NwYHBicmPgE3NhceBAcGAlcHCgYDAQICAgEkMQ00CgEDAgYJEQsECxUDBSkdEjIQEAQMDhaUBjcxF0cVLBkPDwYGFxQRQR0FCDMNIRgIDw8EAQQHDQg9KTwdDAMLCzlGFQYhDwkDCgcznCY4HBAEAQECdAMHCQoKCgkGBgFVeCiVUQUfCxQIBwISERy9UzJ/JyYCBhIICVECA2E+AQ4PFhUFBQZWLUQFAQMBBAgbDgEDCQcJAxUHCzAUSkwivmUFAQURChcQBCUQBAwNEAoHFwAAAwAw//sCmQKMADYATACHAAABFgcOAQcOBCciLgMnJiMHBhQOBCMGJjc+Az8BNjc2FhcWDwE2NzYXFhcWFxYHPgEnLgEHBgcOAQ8BFgYWNzI+AjcDIiYiBwYHFzYXFgcGBwYjBwYHBhcWNhYXHgEHFA4BBwYnJicuATY3NjcGBwYnJj4BNzYXHgQHBgKSBgUGNCQBBA0OFwwBBAsJCgICAQIBAgMHBwwGGBcBAQoQHBBdDBYRHwYND0YIAxsfCQcIBQZxHRYEAgkLDg4aHwICAQIKCgYOCwkDZwY3MRdHFSwZDw8GBhcUEUEdBQgzDSEYCA8PBAMRDT0pPB0MAwsLOUYVBiEPCQMKBzOcJjgcEAQBAQFeJi47jiYCBAoGBQMBBAYMCAUEAwEJBQgFBAEfGQ49UmMp7hwMBgoKFCSrCgQdEAUICgsP9i+DFQ0JAgIYJ2cgIAEQEQEKDg0FAbMBA2E9AQEODhcVBQUGVi1EBQEDAQQIGw4CCBEFFQgKMBRKTCO9ZQQBBhELFhAEJRADDQ0QCgYYAAAAAgAt//8CqwKGADwAfwAAAR4BBw4BJyYnBgcGBw4HIyIuAScmNjc2NyYnJjY3PgEfATIzNz4EFx4DDgMxFAcWJw4BIiYjJgcUBxQOAQcyFx4BFxYGIwYHFDEGBxQOByMiLgEnJjY3NjcGJyImLwEmNz4DPwE2FhceAQcCjRAOAgMfJAkKIRAzCwECAQMEBwgMCAQKEwIEKR0SGRcHDQEJBxwKCgQGFQEECw0VCwcKBQIBAgIDDRWwBhcTJgchMAETIA0xCgsXAwUYGh81LgwDAQMDBQcJDQcECxUDBSgdIDUVDwcPBQQYCwEHCQcDAjTUJhUKBgIPBQwNFSACAQFUMZdQBhQLEQkLBgQCEREcvVQ0RAMDCR8QDAoBATYCBxIICgYCCQkNCgwHBwEfAh8FBAIBAwEBASxMIQEBDxASHAEGAYRfBBQIEQYNBQYCAhIQHLpSWn8EAQUCAg8cAwkGBQEBFw4WDBkHAAAAAAIALf/+ArECiABHAIoAAAEGBwYfARYGJy4CJzQ+Aj8BNjc0Njc2LgIjIgcGBw4BDwEOAScmJyY+Ajc2NzY3PgI3NhYVFAcGBxQzPgEXHgEfARYlBjEUDgEHMhceARcWBiMGBxQxBgcUDgcjIi4BJyY2NzY3BiciJi8BJjc+Az8BNhYXHgEPAQ4BIiYjJgKmHgcJBQQBEhgREwcBBQcHAgMFAg4CAQIEBAETGBkVBSADCAQYEiEDAQIBBAEGKRBRCgsUDBQiFhEvARMxEwsSAwQT/ngBEyANMQoLFwMFGBofNS4MAwEDAwUHCQ0HBAsVAwUoHSA1FQ8HDwUEGAsBBwkHAwI01CYVCgYFBhcTJgchATRoIy8sJQ4bAgITHxkNJyUiCgoWBgE4CAUIAwIUFSkKgRc8DxADBCUFFgwbCi2KOMkYFxgCBRQQGDQldQETEwQCDgUGINECASxNIAEBDxATGwEGAYRfBBUHEQYNBQYCAhIQHLpSWn8EAQUCAg8bBAkGBQEBFw4WDBkHBgUEAgEAAAAAAgAt//YCvAKGAEoAkAAAJRQOBTEGJyYnJicGBxQOBCMiLgEnJjY3PgE/AT4EFx4DFA4CMQ4CBzY3NhcWBwYHFhceAR8BHgIXHgEVAQYVFA4BBzIXHgEXFgYjBgcUMQYHFA4HIyIuAScmNjc2NwYnIi4EJyY3PgM/ATYWFx4BDwEOASImIyYCuwIEBQUFAx0dGx4RORMFAwIHCRELBAsWAwUpHhIzEBABAwwPFwwIDAUCAgMCASQxDlMHKA0QHhBTDAcJGQgIBRQZBwcJ/m8BEyANMQoLFwMFGBofNS4MAwEDAwUHCQ0HBAsVAwUoHSA1FQ8DBwYGBAQBGAsBBwkHAwI01CYVCgYFBhcTJgchMQUKCAYFBAISEhInFmRFJAUfCxUHBwITEBy+UzN/JiYDBhEJCAYCCQoMCwsIBwFTdig+BBojJx0POhYPECQKCQYRFQUHDgMB8gEBASxMIQEBDxASHAEGAYRfBBQIEQYNBQYCAhIQHLpSWn8EAQECAgIBAQ8cAwkGBQEBFw4WDBkHBgUEAgEAAAAAAgAt//8CcgKHACYAaQAAAR4DFA4CFSIOAQcGBw4FIyIuAScmNjc+AT8BPgQFFAcUDgEHMhceARcWBiMGBxQxBgcUDgcjIi4BJyY2NzY3BiciJi8BJjc+Az8BNhYXHgEPAQ4BIiYjJgJXCAsFAgIDAgEkMQ00CgEDAgYJEQsECxUDBSkdEjIQEAEDDA4X/t4BEyANMQoLFwMFGBofNS4MAwEDAwUHCQ0HBAsVAwUoHSA1FQ8HDwUEGAsBBwkHAwI01CYVCgYFBhcTJgchAnQDCQoMCgwHBwFVeCiVUQUfCxQIBwISERy9UzJ/JyYCBhIICVIBAQEsTCEBAQ8QEhwBBgGEXwQUBxIGDQUGAgISEBy6Ulp/BAEFAgIPHAMJBgUBARcOFgwZBwYFBAIBAAAAAAMALf//ApsChgA0AEoAjwAAARYHDgEHFA4FJyIuAycmNQcUDgMjBiY3PgE/ATY3NhYXFg8BNjc2FxYXFhcWBz4BJy4BBw4BDwEOAQ8BFgYWNz4BNwMGFRQOAQcyFx4BFxYGIwYHFDEGBxQOByMiLgEnJjY3NjcGJyImLwEmNz4DPwE2FhceAgYPAQ4BIiYjJgKVBgUGNSQCBwcMDBIJAQQKCQoDAgMBBQgOChgWAQInHV4LFhIfBgwORwgDHB8IBwkEBnAcFwQCCgoHDgQEGh4CAwEBCgoJFwbyARMgDTEKCxcDBRgaHzUuDAMBAwMFBwkNBwQLFQMFKB0gNRUPBw8FBBgLAQcJBwMCNNQmDQ4BAwMCBhcTJgchAWEnLjqPJgECBgUHAgICAQQGDAcFAQUDBAwIBwEeGiO5Te4cCwcLChMkqwoDHhEECAoMD/UvgxUMCgIBDQYGJ2cgIAIPEgEBFwwBtgEBASxMIQEBDxASHAEGAYRfBBQIEQYNBQYCAhIQHLpSWn8EAQUCAg8cAwkGBQEBFw4WBxAMCgMCBQQCAQAAAAIALf//AuAChAA6AJkAAAEeAQcOAScmJwYHBgcUDgQHIi4BJyY2NzY3JicmNjc+AR8BMjM3PgQXHgMOAzEUBxYnHgMUDgIxDgIHBgcUDgQjIi4BJyY2NzYnJgcGBwYHFA4FIyIuAScmNjc+BT8BND4DFx4DFA4CMQ4CBwYXFhcWNz4BPwE0PgMCwRAOAgIgJAgKIREyDAQCBggQCgMLEwIEKR0SGhcHDgEJBxwKCgQGFgEDCw0VCwcKBQIBAgIDDRXaCAsGAgIDAgEjMA4yCgMCBgkRCwQLFgMEFRMDC0cODQcdCAMCBAYKDwoECxYDBScdCBQSEg8MAwQEDA4XDAgLBgICAwIBGCcOBAUmMgoEEi4PDwQMDhYCDwQNDRUgAgEBVDGXUAYeCxUIBwECEhAcvVQ0RAMDCR8RDAkBATYCBxIJCQYCCQkMCwsIBwEfAm0DCQkNCgwHCAFWeiiZUQYfCxUIBwISERV8RwsBDAQEE2ZABRsJFQcLBAITEB3AVBg2MDAmHggIAgcSCAkGAwkJDQoMBwgBPF8mDgEJBAEKMnslJAIHEggJAAAAAgAt//8DUAKEAEkApwAAAR4BBw4BJyIuAyIOAgcGBwYHDgIHFxYXFhcWFxYHDgEPAQYnJicHDgMVDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYlHgMUDgIxDgIHBgcUDgQjKgEuAicmNjc2JyYHBgcGBw4HIyIuAScmNjc+AT8BND4DFx4DFA4CMQ4CBwYXFhcWNz4BPwE0PgMDJhgSDAsjCAEJBgsKDAoLCgQWEQMCAQMEAhQOCwgFAwEDBAMGAgIUJwQRJAwUCQwEGRoHEwYEFhAnGAcOAQgLGwoXDREZGE8rF/7PCAsGAgIDAgEjMA4yCgMCBgkRCwEFDAoKAgQVEwMLRw4NBx0IAQIBAwQHCg0JBAsWAwUnHRIwEBAEDA4XDAgLBgICAwIBGCcOBAUmMgoEEi4PDwQMDhYCcAkgEhABBQMCAgIBAwYFFisHBQMICwUCAgQEBgQECgsIDAIDFgMBAm0kSyc/AREPAwYPLSFcQ2kEAwYkDhcDAQMiKSYkJgUDBgMJCQ0KDAcIAVZ6KJhSBh8LFQgHBAcQChV8RwsBDAQEE2ZABRYKEggMBQQCExAdwFQzgScnAgcSCAkGAwkJDQoMBwgBPF8mDgEJBAEKMnslJAIHEggJAAAAAgAw//8CigKBADsAeQAAAR4BBw4BJyInBgcGBxQOBSMiLgEnJjY3NjcmJyY2Nz4BHwEyFzc+BBceAw4DMRQHFiciIwYHBgcwFDEWFzAyHgUGFQ4BByYnJicmNjc2MzY3NjcmIzAuBzQ3PgM3FhcWFxYGAmsQDgICICQICiIQMwsDAgQGCQ0JAwsTAgQpHRIaGAcNAQkHHAoKBAYWAQMLDRULBwoFAgECAgMNFecJCkYVMAkSBAUCBgMFAgMBBBoYaxAhAgEbIwgLDS0fMQoCBAMEAwUCAwEBAgoPEAxrECEBARwCEgUNDBUhAwFTMZdRBhgLEwkKBAESEBy+VDRDBAMIIBAMCgEBATcCBhIJCQUDCAoMCgwHCAEeAhKrQJRQAgEBAQEDBAUHCQYaEwIBAQQVEygBAXSHWYABAQEBAgMDBgcJBQ0RCgQBAwMEFhMmAAAAAAMAMP8rApACfwAuAEcAgQAAATYWBxQOAwcOAicmJwYHDgUjIi4BJyY2Nz4DPwE+BBcWFzYXNiYHDgMPAQ4EBwYXFR4BPwE+AQUwFjIeBAYVDgEHIicmJyY2NzIzNjc2NyYjMC4GNDc+ATcWFxYXFgYHIiMGBwYHFDEWAjckNQEBDBMrHAQROB8eFR4GAQMCBgkQCwMLFQMFJx0LHRgVBgYBBAsOFgwXAxckBA0QBQwIBwICERwQDAQBAQEEFAgIJTn+rgUCBgMFAgMBBBoYaxAhAgEbIwgLDS0fMQoCBQIGAwUCAgEFGhhrECEBARwjCQtFFTAJEgGIATEuBxdDPU0cBA8TBQQQZjMFHgsVBwcCEhEcu1MfSz81Dw8CBhIICAYIFgtoHREHAggJBwMCFDIqLBkMCgkFEAYFBR2ToQECAgQFCAkGGRMCAgQVEycCdIdagAEBAQEDAwYHCgYYEwIEAgQWEyYBrD+VUAEBAAAAAgAw//4C4wKAAEkAhAAAAR4BBw4BJzAuAioBDgEHBgcGBw4BBxcWFxYXFhcWBw4DByMGJyYnBw4DBw4BJicmNzY3NjcmJy4BNzY3Nhc3Njc+ARcWAQYHMBQxFhcwMh4FBhUOAQcmJyYnJjY3NjM2NzY3JiM0Ii4FNDc+ATcWFxYXFgYHIiMGArgYEgwLIwgLBw4KDgsMBRYQAwICBgITDgsIBgMBAgQBBAMDAQETJwURIwwVCAwBAxoZBxMFBRUQJxcIDgEIDBsJFw4RGRhOKxf+bDAJEgQFAgYDBQIDAQQaGGsQIQIBGyMICw0tHzEKAgUCBgMFAgIBBRoYaxAhAQEcIwkKRgJvCiASDwIFBAIDAwcEFysHBAQSBQMBBQQGAwUKCwUJBQQBFwMBAm0jTCc/AREOAgYPLSJbRGkEAwUkDhcDAgMhKSYkJgUC/sSUUAIBAQEBAwQFBwkGGRQCAQEEFRQnAQF0h1mAAQEBAgIEBQcKBhkSAgMDBBUUJgGrAAAAAAMAMP84AhECggApADEAbQAAARYHBgcOAQcOAQ8BBgcOAScuAScmNzY3NhcWMj4BPwE2Nz4BNT4BNz4CHgEOAS4BNgMOAQcmJyYnJjY3MjM2NzY3JicwIi4FNDc+AjcWFxYXFgYjBiMGBwYHMBQVFjMwHgYGAdsRAwEKAjoLCBgJCBAkG04jFBgCAgcNGxIfCxIPCwMDDhIERAQiBwkeGhwLDB0cCwzGBBoYaxAhAgEbIwgLDS0fMQoCBQIGAwUCAgEDEBQQaxAhAQEcIwkLRRUwCRIEBQIGAwUCAwEBjgoYByYGwSUdThgYLSYdDxAKHA4QDxoEAhIFCgsEBRJCD98DDmAMDgVwChweDgscHv44GRMDAQIDFhMnAnSHWYABAQECAgQGBwkGERQHAQMCBRUTJwGrP5VQAQEBAQEBAgQFCAkAAAIAMP//Ak8CgAAoAGMAAAEeAxQOAjEiDgEHBgcOBSMiLgEnJjY3PgM/AT4EAQYHMBQxFhcwMh4FBhUOAQcmJyYnJjY3NjM2NzY3JiMwLgY0Nz4BNxYXFhcWBgciIwYCNAgLBQICAwIBJDENNAoBAwIGCRELBAsVAwUpHQwcGRYGBwEDDA4X/ugwCRIEBQIGAwUCAwEEGhhrECECARsjCAsNLR8xCgIFAgYDBQICAQUaGGsQIQEBHCMJC0UCdQMJCgwKDAcIVXgolVEFHwsVBwcCEhEcvVMgSz81EA8CBhIICf7AlFACAQEBAQMEBQcJBhoTAgEBBBUTKAEBdIdZgAEBAQEDBAUHCgYZEgIDAwQWEyYBqwAAAAADADH//wJ4AoAAKwBBAH4AAAEWBw4CBw4CJyIuAScmNQcGBwYmNz4BPwE2NzYWFxYPATY3NhcWFxYXFgc+AScuAQcGBw4BDwEUBhY3PgM3JwYHMBQxFhcwMh4FBhUOAgcmJyYnJj4BNzYzNjc2NyYjMC4GNDc+ATcWFxYXFgYHIiMGAnIGBQQYKhkCCiMUAwkUBQICBiEYFgECJx1eDBYRHwYMDkcJAhwfCQYJBAdxHBcEAgoKDw4aHgICAQoKBg0LCgLsMAkSBAUCBgMFAgMBAw8UEGsQIQIBCB4YCAsNLR8xCgIFAgYDBQICAQUaGGsQIQEBHCMJCkYBXycuJFhZGgMKDgQDDwwFAQUhAQEeGiO5Te4cCwcLChMkqwoDHhEECAoMD/UvgxUMCgIDFydnICACDxIBAQoNDgTGlFACAQEBAQMEBQcJBhIUBwIBAQQVCxgYAQF0h1mAAQEBAQMEBQcKBhkSAgMDBBYTJgGrAAIAL///AvACgAA7AIcAAAEeAQcOAScmIwYHBgcUDgUjIi4BJyY2NzY3JicmNjc+AR8BMhc3PgQXHgMOAzEUBxYnBicmJw4EBw4EJy4ENzQ+ATcwPgUyFhcWBwYHBgcGFxY3PgM3PgE/AQYHMCMGJyY2Nz4BFx4DFxYVBgLREA4CAiAkCAohETIMAwIEBgkNCQMLEwIEKR0SGhgHDQEJBxwKCgQGFgEDCw0VCwcKBQIBAgIDDRXVBwoVFAQLIh8lDQEDERs2IwcULiEYBAIRDwEFBAgHCQoLBRgEAggLAg0lKw0BDxIXCQsfCgpSEgM6CQcTEhSYMAsjDxEGFwECDwUNDBUhAwFTMZdRBhgLEgkLBAIRERu+VDRDBAMIIBAMCgEBATcCBhIJCQUDCAoMCgwHCAEeAgwBAQEFBhVMW5ZUBRAqHxkBAQIQGzknBhUyEAIEBAUDAwMDDh4NDhIKNggJKQVEUWAcJU0UFAEEDB4XJAYHAQYBAwIDAwsaJgAAAAIAL///Ay0CgABKAJkAAAEeAQcOASciLgMOAgcGBwYHDgEHFxYXFhcWFxYHDgMVBwYnIicHDgMVDgImJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYFJicOBAcOBCciLgM3ND4BNz4DMhcWBwYHBgcGFxY3PgU3PgM/AQYHMCMGJyY2Nz4BFx4GFxYVBgcGAwMYEgwMIggBCwYOCw4LDAQWEQMCAQcCFA4LCAUDAQMEAgQDAwEUJwQRJAwUCQwDEBQSBRMGBBYQJhcHDwEJCxsJGA0RGRhPKxf+9hUUBAsiHyUNAQMRGzYjBxQuIRgEAhEPAQQNDRQJGAQCCAsCDSUrDQEICg0NDwYHEg8OBARSEgM6CQcTEhSYMAgTDQ4JCggDFwEiBwJwCSATDwIGAwIDAQEDBgUXKggEBBIFAwEFAwYEBAoLBQkGAwEBFgMCbCRLJz8CDA8DAwQQLCJcQ2kEAwUlDRgDAQMhKSYlJgUDXQIEBRVNWpdTBRAqHxkBAxAbOScGFTIQAQUJBQUOHg4NEgo2CAoqAyIvPDk5FBcxJB4ICAEEDB4XJAYHAQYBAQIBAQIDAQsbJQYBAAAAAAIAL//+At8CgQBEAIsAAAEGBwYfARYGJy4BJzQ2PwE2Nz4BNzYuAiMiBwYHDgEPAQ4CJyYnJj4BNzY3Njc+Ajc2FhUUBwYHFDM+ARceAR8BFicmJw4EBw4EJyIuAzc0PgE3PgMyFxYHBgcGBwYXFjc+Ajc+AT8BBgcwBwYnJjY3NjIXHgMXFhUGBwYC1B8GCQUEARIYGRIBDAYGBQEBDgIBAgQEARMZGBUFIQIIAg0TDCEDAQIFAQYpEFEKChUMFCIWES8BEzAUCxIDBBP6FRQECyIeJg0BAxEbNiMHFC4hGAQCEQ8BBA0NFAkYBAIICwINJSsNARcfCwsfCgpSEgM6CQcTEhSYMAsjDxEGFwEiBwE0aSIvLCUOGwIDJCYVRxoZFgYBOAgFCAMCFBUpCoEXPAoOBgIEJQkUJQotijjJGBcYAgUUEBg0JXUBExMEAg4FBiDFAgQFFU1al1MFESkgGAECEBs6JgcVMhABBAoFBg0eDg0TCjUICikFaoMkJU0VFAIDAQseFiQHBwUBAwIEAwobJQYCAAIAL//2AvECgABNAJQAACUUDgUxBicmJyYnBgcOBSMiLgEnJjY3PgU/AT4EFx4DDgMxDgIHNjc2FxYHBgcWFx4BHwEeARceARUBJicOBAcOBCciLgM3ND4BNz4DFhcWBwYHBgcGFxY3PgI3PgE/AQYHMAcGJyY2NzYyFx4DFxYVBgcGAvACBAUFBQMdHRseETkTBAEDAgcJEQsECxYDBSkeCBUSExAMBAMBAw0OFwwIDAUDAQICAwEkMA9TBygNEB0RUwwICBkICAcvAwgI/vYVFAQLIh8lDQEDERs2IwcULiEYBAIRDwEEDQ0UCRgEAggLAg0lKw0BFx8LCx8KClISAzoJBxMSFJgwCyMPEQYXASIHMQYJCAcFBAISEhInF2NFJAUfChUIBwITEB29VBc1LzAlHggIAgYSCAgGAgkKDAoMBwgBU3YoPgUaIygcEDoWDxAkCQoIJgMHDQQB6AEFBRVNWpdUBRApIBgBAhAbOiYHFTIPAgQKBQEFDR4ODhIKNQkJKQVphCQlTRQVAgMBCx4WJAcHBQIDAQQDCxolBwEAAAIAL///ArMCfwAoAHEAAAEeAw4DMTAOAQcGBxQOBCMiLgEnJjY3PgM/AT4EByYnDgQHDgYnIi4DNzQ+ATc+AzIXFgcGBwYHBhcWNz4CNz4BPwEGBzAjBicmNjc+ARceAxcWFQYHBgKYCAsGAgECAgMlMA4zCwMCBwkQCwQLFgMFKR4LHRkWBgYBAw0NF6cVFAQLIh8lDQEBBwsWGyoaBxQuIRgEAhEPAQQNDRQJGAQCCAsCDSUrDQEXHwsLHwoKUhIDOgkHExIUmDALIw8RBhcBIgcCdAIJCgwKDAcIVXgolVEFHwsVBwcCEhEcvVMgSz81EA8CBhIICF8CBAUVTVqXUwMIGhYcEw0BAxAbOScGFTIQAQUJBQUOHg4NEgo2CAoqBWmDJSVNFBQBBAweFyQGBwEGAQMCBAILGyUGAQAAAwAv//8C1AKBADQASgCSAAABFgcOAgciDgUnLgInJiMHBhQOAyMGJjc+AT8BNjc2FhcWDwE2NzYXFhcWFxYHPgEnLgEHDgEPAQ4BDwEWBhY3MjY3AyYnDgQHDgQnLgQ3ND4BNz4DFhcWBwYHBgcGFxY3PgM3PgE/AQYHMCMGJyY2Nz4BFx4DFxYVBgcGAs0GBQMZKhgBAgYICw0RCQMKFAQCAQIBAwYIDQcZFgECJx5dDBYRHwYND0cJAxsfCQcIBQZxHRYEAgkLBw4EBBkfAgIBAgoKCRcHbxUUBAsiHyUNAQMRGzYjBxQuIRgEAhEPAQQNDRQJGAQCCAsCDSUrDQEPEhcJCx8KClISAzoJBxMSFJgwCyMPEQYXASIHAV4mLiVYWRoCBwUGAwICAQIPDQUEAwMJBwgFAR8ZI7lN7hwMBgoKFCSrCwMdEAUICgsP9i+DFQ0JAgENBgYnZyAgARARARgLAbABBQYVTFuWVAUQKh8ZAQECEBs5JwYVMhABBQkGAQUOHg0OEgo2CAkpBURRYBwlTRQUAQQMHhckBgcBBgEDAgMDCxomBgEAAAAAAgAv//gDPwKLADwAkgAAAR4BBw4BJyYnBgcGBw4GIyIuAScmPgE3NjcmJyY2Nz4BHwEyMzc+BBceAxQOAjEUBxYBFhceAQYHDgEuBicuAScOAgcOAgcGJjc+ATc+AT8BDgQnLgE2Nz4BFzIeAgYHDgEPATA+BTcyNh4CFxQWDgIHBgceAgMhEA4CAyAjCQohEDMLAQMBBAYJDgkDChMDAhAiExEaFwcOAQoHGwoLAwcVAQMMDRULBwoFAQMCAwwV/n0XDQcKDBYIEA8ODgsMBwkBDUwDBA0dCAYJDxMgLgMDKhgOGAUEAQUPDhYJEAITEB5iJgIFDAcBBwsiCwwTISs0NDoZAwgYFBUGAQMHFBChXAMNOAIPBQwNFSACAQFUMZdQBhgMEgkKBQIRERJkgDc0RAMDCR8QDAoBATYCBxIICgYCCQkNCgwHBwEfAv5pGAsIGCQNBAMEBw0LEAkOAhKXEwQQNh4VSycMEx4jI6lLLVATEgIEDAUFBQceIhIiNBEDDA4bEBlbICETHyYpJR4HAQEGEg4BBQ0MEAY/XQspcgAAAwAv/y8DVAKLAC4ARgCfAAABNhYHFA4DBw4CJyYnBgcOBSMiLgEnJjY3PgM/AT4EFxYXNhc2JgcOAw8BDgMHBh8BHgE/AT4BBRYXHgEGBw4BLgUnLgEnDgQHDgIHBiY3PgE3PgE/AQ4EJy4BNjc+ARcyHgIGBw4BDwEwPgU3PgEeAhccAg4DBwYHHgIC+iU1AQEMFCocBRE4Hh8UHgYBAwIGCRALBAsVAwUoHQscGRUGBgEDDA4WDBcCGCQDDBAGCwkHAQIWIBAHAgEBAQQUCAglOP6WFw0HCgwWCBMPEgwPCAsBDUwDAQYODQ8FBgkPEyAuAwMqGA4YBQQBBQ8OFgkQAhMQHmImAgUMBwEHCyILDBMhKzQ0OhkDCBgUFQYCBQoRC6FcAw04AYwBMS4JFEU8TRwEDxMFBBBmMwUeCxUHBwISERy7Ux9LPzUPDwIGEggIBggWC2gdEQcCCAkHAwIZPTgkDwoJBRAGBQUdk30YCwgYJA0FAQQNCxILEQESlxMBBhQWJBMVSycMEx4kIqlMLFESEgEFDAUFBQceIhIiNBEDDA4bEBhbISETHycpJB4HAQECBhIOAQIHCAoKCgU/XAwpcQAAAgAv/z8DXQKLAFgAsQAAARYHDgMPAQYHDggnJicmJyY2FxYXFj4CNz4BNzAmFQYHDgMnIi4DJyY2NzY3PgQXFgcGBw4BBwYXFjc+ATc+Azc+AxYBFhceAQYHDgEuBScuAScOAgcOAwcGJjc+ATc+Az8BDgQnLgE+ATc+ARcyHgIGBw4BDwEwPgU3PgEeAhcUFg4CBwYHHgIDOCUYBAgGBQEBQxMBDQgRDhgXICISOxEBAQsrHggQDhQUCwMKFwMCBQ0DCxMZDAIIFBERAwYRGisTBggPDBIHGA0DDA0qBRcNBQgWRxUIFw4QBQECCQkO/mgXDQcKDBYIEw8SDA8ICwENTAMEDR0IBQgFEA8gLgMDKhgJEAsIAQIBBQ8OFgkMBwgQDB5iJgIFDAcBBwsiCwwTISs0NDoZAwgYFBUGAQMHFBChXAMNOAGfEzAHExEPBASyPgQsFy8dJxgTBQIKJgMCHi8KAwoGAREOCBI+DgEBCAwECAwHAQEGChYPHGs/aRcICQ4EBAYLMAoXF1sRSBUGAgZrNBI8JCIGAQIHAwH+1xcMCBgkDQUBBA0LEgsRARKYEgQQNh4TNx8hCRMeJCOoTBw1JR0HBwEFDAUFBQUUGRoNIjQRAwsPGw8ZWyEhEx8nKSQeBwEBAQcSDgEFDQwQBj9cDClxAAAAAAMALf80AqUCfwAtADgAegAAARYHBgcOAgcOAw8BBgcOAScmJyY3Njc2FxY2PwE2Nz4BNz4ENz4BFzYeAQcOAicuATYBJiMiBwYHIisBBiMwIi4GJyY2Nz4BPwE+BBceAxQOAjEUDgEHBgc2MhcWFxYHDgEPAQ4CLgECchEEAQsCHSIIBQ8NDAMDESQcTiMpBAIIDRoTHxEbCAkOEwRGAQEHDAwLBAkeCw0cCwYFEBMKDgsN/vkyDBhbDigDBAEEAQIHBggICAYFAQUuHxI1EREBBAwOFwwICwYCAwIDJTAOFxw0gh4aCQYDAQgDAwQMDQoMAYYKFwcnB1ptHBMtJiIKCSwmHQ4RFCARDxkDAhIICwoLEkIP3gMDFiAgGwYNBQh6ChwPCg0EAwUdHf4TBQcBBQEBAQMEBQgKBhu8WTOBJycCBhIICQYDCQoMCwwHBwFWeihDiQcGBhYPEgoSAwQGBgEBAwAAAAMALf80AyICiwAtADgAoQAAARYHBgcOAgcOBQ8BBgcOAScmJyY3Njc2FxY2PwE2Nz4CNz4BNz4BFzYeAQcOAicuATYHNiYGBw4BBwYHBgcGJicmNz4CNzY3NiYHDgEPAQ4EBxYHBicuATc2NzY3Njc2NTQHBicmNjc2NzYWBwYHBhY3PgE3Njc2FgcOATEGPwE+Ajc+Ajc2FgcCBwYXFiMGJyY2NzYC7hEEAQoCHSMIBAoJCggHAQIRJBtOJCkEAggNGhMfERsJCA4TAyUiAQQjCAkeCw0cCwYEERMKDgsN5wEFDwwYQgkSAwQiHjAECCYLFQsHFQQEBBEMIQsLAwweFxUBARAWKREVBhNAEwwEAgENHBcOAREzNyEpBwYhBQEKBzoYKSQYGAgGIAUFBAIiKwsREiAQHBQNWgoIBwYxMwgHGhYdAYYKFwcnB1ptHA4fHR0YEgUFLCYdDhEUIBEPGQMCEggLCgsSQgt0bQQOXw0NBQh6ChwPCg0EAwUdHUgICgQOHHYqOkReDAsXFzB0IEIjETEYCxoFAx0NDQQROT5gMEwWIQ4GMSyKojcgCwsGAQkHEBAKKBAvDAcrGhU+CAkHBj4VJgYEHxgSSw8BAQIiKwoPDg8BAycm/v9BOE9EASMexTtOAAAAAAIALf/1A34CjQBFAK8AAAEGBwYfARYGJy4BNSY2PwE2NzQ+Ai4BIyIHBgcOAQ8BDgEnJicmPgE3Njc2Nz4CNzYWFRQHBgciFjM+ARceAx8BFiUCBwYXFgciJyY2NzY3NiYGBw4BBwYHBgcGJicmNz4CNzY3NiYHDgEPAQ4EBxYHBicuATc2NzY3Njc2NTQHBicmNjc2NzYWBwYHBhY3PgE3Njc2FgcOAgcGNzI+Ajc+Ajc2FgNyHgcJBgMBEhgZEgEMBgYFAggHAwUFAhMYGBYFIAMIAxkSIQMBAgUCBSkRUQkLFAwUIhYRLgEBARIxEwcMCAYBAhP+/FoKCAcGMTMIBxoWHQIBBQ8MGEIJEgMEIh4wBAgmCxULBxUEBAQRDCELCwMMHhcVAQEQFikRFQYTQBMMBAIBDRwXDgERMzchKQcGIQUBCgc6GCkkGBgIBBEPAgUFAgQiKwsREiAQHBQBNWoiLi0kDhwDAiUmFEgZGhUGAxseDAkCFBQqCoEWPBAQAwUlCBQmCS2KOMoYFhgDBBMRGDMmdQETFAQCBwcHAgMftf8AQTlPQwEiHsY6Th4HCgQNHHYqO0RdDQsXGDBzIEMjETAZChsFAx0NDQUROD5gMUsXIA4FMiuKojcgDAsFAgkIEBEJKRAuDAgrGhU/BwoIBT8VJQcEIBcOKSMEDgECIysJDw4PAgImAAAAAAIALf/4A98CjwBIALYAAAEeAQcOAScwLgMOAgcGBwYHDgIHFxYXFhcWFxYHDgEPAQYnIicHDgMVDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYFAgcGFxYjBicmNjc2NzYmBgcOAQcGBwYHBiYnJjc+Ajc2NzYmBw4BDwEOBAccAQYHBicuATc2NzY3Njc2NTQHBicmNjc2NzYWBwYHBhY3PgE3Njc2FgcOAgcGNzI3PgM3PgI3NhYDtBgTDAsjCAsHDgoOCwwFFRADAQIDAwIUDgsIBQQBAwQDBgICEycEESEMEggLAxkaBxMEBBMPJBcIDgIICxsJFw0QGBhNLBb+2loKCAcGMTMIBxoWHQIBBQ8MGEIJEgMEIh4wBAgmCxULBxUEBAQRDCELCwMMHhcVAQgHFikRFQYTQBMMBAIBDRwXDgERMzchKQcGIQUBCgc6GCkkGBgIBBEPAgUFAgIBFxofCRESIBAcFAJ2CSASEAIFAwICAQEDBwUXKwcFAwkKBQIBBQMGBAQKCwgMAwIXAwJuJEsoPwERDwIFDy0iXERqAwMFJA4XBAIDIiknJScEAmz+/0E5T0MBIh/FO04dBwsEDhx2KjpFXQwLFxcwdCBCIxEwGQsaBQMdDQ0EETk+YDEIGjUKIQ4GMSuKojgfDAsFAgkIEBEKKBAvCwgrGhU+CAkHBj4VJgYEHxgNKiMDDwEBARcbHggODw8BAiYAAAAAAgAt//8DCwKEAD0AkgAAAR4BBw4BJyYjBgcGBw4GIyIuAScmPgI3NjcmJyY2Nz4BHwEyFzc+BBceAxQOAjEUBxYnHgEOAQcwDgEHBgcUFQ4EByoBLgI1LgInLgEnBgcGBw4BJy4CJyY2Nz4DPwE+BBc2FxYXHgEXHgMXPgE3PgM/ATQ+AwLtEA4CAyAjCQohETILAQMBBAYJDgkDChQCAgoSGg8RGhcHDgEKBxsKCwMHFQEDDA0VCwcKBQEDAgMMFeEODgEDASUvDSgOAgMHCREMAwcTDwwBCBAIAQUBGRYaDwQbIAQMFgQGJRwLGxgVBgYBAgkLEQodDgYBAg8BAQUFCQMCEQIHFxYVBgcDCw4YAg8FDQwVIQMBUzGXUQYYCxIJCwQCERENQ1NhKTNEBAMIIBAMCgEBATcCBhIJCQUDCAoMCgwHCAEeAmcCFRwOBlZ5KH9pAwQQDxcKCQEFCRMNBnm7OQcWAj9DU5YpKwIBAhURHcBUH0w/Ng8PAgUNCggBAh0NCQ1oCwUqMkYZCTELHEk/NhAQAgcQCwgAAAACAC3//wN9AoMASQCdAAABHgEHDgEnIi4DIg4BBwYHBgcOAQcXFhcWFxYXFgcOAw8BBicmJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFgUeAQ4BBzAOAQcGBxQVDgQHKgEuAjUuAic0LgMnBgcGBw4BJy4CJyY2Nz4BPwE+BBc2FxYXHgIXHgIXPgE3PgE/ATQ+AwNSGBIMCyMIAQoHDgoOCwwFFhEDAgEHAhQOCwgFAwEDBAIEAwIBARQnBBEkDBQJDAMaGQgTBgQWECcXCA4BCAsbChcNEhgYTysX/sgODgEDASUvDSgOAgMHCREMAwcTDwwBCBAIAQIBAgEZFhoPBBsgBAwWBAYlHBEvEA8BAgkLEQodDgYBAgcIAQEHCwQCEQILKxAQAwsOGAJyCSASEAEFBAEDAQMHBRcqBwUDEgYCAgQEBgQECgsFCQUEAQEWAwECbSRLJz8BEQ8DBg8tIVxDaQQDBiQOFwMBAyIpJiQmBQMDAhUcDgZWeSh/aQMEEA8XCgkBBQkTDQZ5uzkDBwYGBwI/Q1OWKSsCAQIVER3AVDJ/JyYCBQ0KCAECHQ0JCzc1CQY8YB4KMAstfSgoAgcQCwgAAwAv//4DdgKDAEcAaQCBAAABHgEHDgEnNC4DDgIHBgcGBw4BBxcWFxYXFhcWBw4BDwEGJyInBw4DFQ4BJicmNzY3NjcmJy4BNzY3Nhc3Njc+ARcWJR4BBw4EBw4GJy4DNz4ENz4EFzYmBw4BDwEOAQcGFxQXFhcWNzY3PgIDSxgTDAsjCAsHDgoODAsFFREDAQIGAhQOCwgFAwEDBAIHAQIUJwQRIgwTCAsEGRkIEwUEFA8mGAcPAQgLGwkXDREYGE4rF/40NUgDAQQUIEEqAQUQERwdJxMmNBcHBwIGGyNCKAIJHB4rKgQWFw0fCQo7QgcDAQEEBw8fGBMoQR0CcwkfEw8DBQEDAgIBAQMGBRgqCAQEEgUCAgQEBgMECgwIDAICFwMCbSRMJz8BEQ8CBg8sIlxEaQQDBSQOFwQBAiEpJyQoBQIHAVFPCilqZXksAgQPCg8FAwUJKzpGIgkdV1JoKQIKFxIOqy8cCgUZCglLpzIZCgoFEQoVBwYSJpR4AAAAAAMAL//8AyECfwAzAFUAbQAAAR4BBwYHDgIHDgMPARYXHgEVFAYnJgcGBwYnJjQ3PgE/ASYiBiMiLgI3PgE/ATYyJR4BBw4EBw4GJy4DNz4ENz4EFzYmBw4BDwEOAQcGFxQXFhcWNzY3PgIC+RIWAQEgAgMCAiM9IxkFBT4fGh4bE2EjLh0aDAkLCm4zMxIoIgMIDxYMAQEOBgYfn/6HNUgDAQQUIEEqAQUQERwdJxMmNBcHBwIGGyNCKAIJHB4rKgQWFw0fCQo7QgcDAQEEBw8fGBMoQR0BoQIaEB8eAgQEASRDLiMICAMEBRQXGBgCDQEDBwYPCiMUDoI6OgMCAgcPDA8TAwIH2wFQUAopamR6LAEFDgsOBgMGCCw6RSMIHlZSaCkDCRgRD6wvHQoGGQkKS6cyGAoLBRAKFgcGEiaUeAAAAAQAMv8WAuQCgAAvAEcAYwBzAAABMhYVFAcGBw4CBzI+AzMWFxQHBgcGJyYnNDY3DgEuAicmNzY3Njc2Fz4CBzYHBgcOBQcVFBcWFxY3Njc+AicOAycjDgEHBicuATUnPgM3Njc+ARcWBgc2JicmJyYHDgEPATI+AgK2ExoCCA8NMz8JAQMJCAkDHQEhHB4cEQ4BFA0FDyggHwYEBBBXFhpALwEGFEcDEhIhDhcOCwUDAQEBAgsYBwccKg23GUI6NA8QFRgCBDcTFAEFKTkmEQ8YKHArNQ1zKQEfBgk1FgwgCwoWGCknAZkTFAcJHiAch8pBAQMCAQEaGRMQCAcODBoVeysCAgEMJBwWGYBlGA4gLQMJEWwiAgMoEiglJB0XBgcEBgcFFBEFCCJrPkEfKhEIAUJrGjsDAR0ODjucl1wlHxMfBxsmnQ8uVQ0CAQgxGVMcHQMKGQAAAwAy//wDjgKEAFgAcgCDAAABFgcGBw4BBwYnJicOBicuATc2Nz4BMx4BBw4BBwYHBjc2Nz4CNz4JNzYWFxYGBwYHDgQUHgIXFjY3PgI3PgYzNiUWBgcOAycjBgcGJy4BNSc+Ajc2Nz4BBzYmJyYnJgcOAQ8BPgQDhQkcPScMOCsoGxIBAQQNDBUTGgwrGRMsHA0XEhMYCgUXDSoCAioaEwggHQQBBAIEAwUDBQQGAg4bBQMGCzcGAQQCAwECAwcFEyQNAyUgBAEHAggGCgwHFf48NQ02GUI6NA8QKgUENxMUAQZJNhkPGChwICkBHwYJNRYMIAsKERMiGiIBjBM8h2AdNQQDFhAUAQUNCg4GBQQKVkCdORgSARwXDCodX0BAIxU7GFRHCAEIAwcEBgQFBAMBBggLDhYbgCEFEgsPCwwIBwQBAjcgB2NSCAEOBQsFBwQCzSaeQx4rEAkBh0A7AwEdDg5N6II5HxMfB+4vVA0DAQcwGlIdHQEBBgsXAAAAAwAy//0CyAKFACAAOgBKAAABFgYmIycmBg8BDgEPAQ4BJy4BJzUmEjc2Fx4BHwE+ARYFDgMjJwYHBicuATUnPgI3Njc+ARcWBgc2JicmJyYHDgEPATI+AgLFAhcZBh4XKQgJExsEAwQXGBAQAQFKCxMbDRABARBCN/7pGUI6NA8QKgUENxMUAQZJNhkPGChwKzUNcykBHwYJNRYMIAsKFhgpJwF9FRcBAwEgEBElbSMkHx8CAhkLCykBABorAgIRCAgXExExHioRCAGHQDwEAR0ODk3ngzgfEx8HGyadEC9VDAMBCDEZUx0cAgoaAAAAAwAy//8C5wKFADsAVQBnAAABHgEHDgEnJiMGBwYHDgYjIi4BJyY2NzY3JicmNjc+AR8BMhc3PgQXHgMUDgIxFAcWJRYGBw4DJyMGBwYnLgE1Jz4CNzY3PgEHNiYnJicmBw4BDwE2Mj4DAskQDgIDICMJCiEQMwsBAwEEBgkOCQMKEwMEKh0RGhcHDgEKBxsKCwMHFQEDDA0VCwcKBQEDAgMMFf73NQ02GUI6NA8QKgUENxMUAQZJNhkPGChwICkBHwYJNRYMIAsKDg8dFRsaAg8FDQwVIQMBUzGXUQYYCxIJCwQCEREbvlQ0QwQDCCAQDAoBAQE3AgYSCQkFAwgKDAoMBwgBHgJZJ51DHisQCQGHQDsDAR0ODk3ngzkfEx4I7i9UDQICBzEZUh0dAQMIDBUAAAADADL/QwL/AoUAVgBsAH4AAAEWBw4BDwEGBw4IJyYnJicmNhcWFxY+Ajc+ATcwJgcGBw4CJyIuAycmNjc2Nz4EFxYHBgcOAwcGFxY3PgE3PgI3PgMWBQYjBgcGJy4BNSc+Ajc2Nz4BFxYGBzYmJyYnJgcOAQ8BMj4EAtolGAYMBANDEwENBxIOGBcgIhI7EQEBCywdCBAOFBQLBAkXAwEBBQ0FDyMPAggUERAEBhIaKxIGCA8MEgcYDQINBhISEAIXDQUIFkcVCCESBwECCQkP/tlOmioFBDcTFAEGSTYZDxgocCs1DXMpAR8GCTUWDCALCg4PHRUbGgGjEzAMIQoLsj4ELBcvHScYEwUCCiYDAh4vCgMKBgERDggSPg4BAQgMBQwOAQEGChYPHGs/aRcICQ4EBAYLMAoXCyQnJAlIFQcDBms0ElUrCAECBwMBRGGHQDsDAR0ODk3ngzgfEx8HGyadEC9VDQIBCDEZUxwdAQMIDBUAAAAAAwAy//oC/wKEADUATwBfAAABFgcGBw4EBwYnJgciFSIOAwcGJicmNzY3PgEXHgEHBgcOAhY3Mj4DNz4CNzYFDgMnIwYHBicuATUnPgI3Njc+ARcWBgc2JicmJyYHDgEPAT4DAt0hFE0JAgMCBgwJJhMDDQEBCQgNEAkXLAsJAgNFFB4YHQoNLw8DCQ8GDwIEDw8UCQkqHggg/u8ZQjo0DxAqBQQ3ExQBBkk2GQ8YKHArNQ1zKQEfBgk1FgwgCwoWGCknAZ8MK6I8DSofHxICBi8HDQEKBgkGAQEXExImSqYwJQECJhVbKwkdPSgBAQgPHxUUaEcNNEkeKxEIAYdAOwMBHQ4OTeeDOR8SHwgbJ50PL1QNAgIHMRlTHB0BAgoZAAAAAAQAMv/8AmUCggAiAC0ASABbAAABHgQOAjEwDgEHBgcUFhQOAiMiJyY2Nz4BPwE+Ax4BBw4CJy4BNicWBgcOAycjBgcGJy4BNSc+Azc2Nz4BBzYmJyYnJgcOAQ8BNjI+BAIoBwoGAwEBAQIWHQgcAQEEBw0KHAkIDxEKHQoKAQcaKRwKBwQREwoOCg5oNQ02GUI6NA8QKgUENxMUAQUpOSYRDxgocCApAR8GCTUWDCALCgwNGRAYFBgBjwEGBggGCAQFNkwaXzMDEwcNBQUXEng1IFAYGQMLDXAKHQ8JDQMDBR0dcSaeQx4rEAkBh0A7AwEdDg47nJdcJh8THwfuL1QNAwEHMRlSHR0BAgUIDBMAAwAy//4DZQKGAEkAYwB2AAABHgEHDgEnMC4CKgEOAQcGBwYHDgEHFxYXFhcWFxYHDgMHIwYnJicHDgMHDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYFFgYHDgMnIwYHBicuATUnPgI3Njc+AQc2JicmJyYHDgMPATI+AwM6GBIMCyMICwcOCg4LDAUWEQICAgYCEw4LCAUEAQIEAQQEAgEBEygEESMMFQgMAQMaGQcTBQUVECcXCA4BCAwbCRcOERkYTisX/pQ1DTYZQjo0DxAqBQQ3ExQBBkk2GQ8YKHAgKQEfBgk1FggSEQ4EBBETIhoiAm8KIBIPAgUEAgMDBwQXKwcEBBIFAwEFBAYDBQoLBQkFBAEXAwECbSNMJz8BEQ4CBg8tIltEaQQDBSQOFwMCAyEpJiQmBQINJp1DHyoRCAGHQDsDAR0ODk3ngzgfEx8H7S5VDQIBCDEQLiomCwwBBgwXAAAAAwAy//4C5gKDAEMAXgBuAAABBgcGHwEWBicuATUmNj8BNjc0Njc2LgEjIgcGBw4BDwEOAScmJzQ+ATc2NzY3PgI3NhYVFgcGBxQyMT4BFx4BHwEWARYGBw4DIycOAQcGJy4BNSc+Ajc2Nz4BBzYmJyYnJgcOAQ8BMj4CAtsfBwkGAwITGBgTAQwGBgUCDwIBBAYCExgYFgUgAgkDGRIhAwEGAQUpEVEJCxQNEyIBFxEuARIxEwsSBAMT/tU1DTYZQjo0DxAVGAIENxMUAQZJNhkPGChwICkBHwYJNRYMIAsKFhgpJwE0aCMvLCUOGwIDJCYVRxoZFgYBOAgHCAMUFSkKgRc8DxADBCUJFCUKLYo4yRgXGAIFFBAYNCV1ARMTBAIOBQYgARAmnUQeKhEIAUNqGjwDAh0ODkzogzgfEx8H7i9VDAMBCDEZUx0cAgoaAAAAAAQAMv86AmYCgwAmAC4ARQBVAAABFgcGBw4BBw4BDwEGBw4BJyYnJjc2NzYXFjY/ATY3PgE3PgE3PgIeAQ4BLgE2BwYjBgcGJy4BNSc+Azc2Nz4BFxYGJw4BDwEyPgI3NiYnJicmAjIRAwELAT0LCRkJCRAkHE4jKgMCCAwbEx4SGwgIDxMERgEEIwgIHxgcCw0dHAsNdk6aKgUENxMUAQUpOSYRDxgocCs1DcQMIAsKFhgpJxQpAR8GCTUBjAoXBycFwCUdThgYLCYdDhEUIBEPGQMCEggLCgsSQg/eAw5fDQ0FcgocHg4KHR2XYYdAOwMBHQ4OO5yXXCUgEh8HGyadWxlTHB0DChkVLlUNAgEIAAAAAAMAMv/5AvcCggBHAGEAcwAAJRYHBicmJyYnBgcUDgQjIi4BJyY2Nz4DPwE+BBceAw4DMQ4CBzY3NhcWBwYHFhceAx8BHgEXHgEVARYGBw4DJyMGBwYnLgE1Jz4CNzY3PgEHNiYnJicmBw4BDwE2Mj4DAvUCGh0dGx4RORMFAwIHCRELBAsWAwUpHgseGRYGBwEDDQ4XDAgMBQMBAgMCASQxDlIIKA0QHhBTDAgFDg0KBAMHLgQHCf7GNQ02GUI6NA8QKgUENxMUAQZJNhkPGChwICkBHwYJNRYMIAsKDg8dFRsaNBkQEhISJxZkRSQFHwoVCAcCExAdvVMgTD81DxACBhIICAYCCQoMCgwHCAFTdig+BRkiKB0POhYPChYRDgQECCYDBw0EAjAmnkMeKxAJAYdAOwMBHQ4OTeeDOR8THwfuL1QNAwEHMRlSHR0BBAcMFQADADL//AKxAoIAKABCAFQAAAEeAxQOAjEOBAcGBw4FIyIuAScmNjc+AT8BPgQHFgYHDgMnIwYHBicuATUnPgI3Njc+AQc2JicmJyYHDgEPATYyPgMClggLBQICAwIBDxcZGwg0CgEDAgYJEQsECxUDBSkdEjIQEAEDDA4WzzUNNhlCOjQPECoFBDcTFAEGSTYZDxgocCApAR8GCTUWDCALCg4PHRUbGgJ0AwkJDQoMBwcBIzc9RBmWUQUfChUIBwITEBy9UzN+JyYCBhIICRMmnkMeKxAJAYdAOwMBHQ4OTeeDOR8THwfuL1QNAwEHMRlSHR0BBAcMFQAAAAADADL//AMOAoIANgBQAGEAAAEeAhUGBw4BBw4DDwEWFx4CFxQOAScmBwYHBicmNDc+AT8BLgEOASMiLgI3PgE/AT4BJRYGBw4DJyMGBwYnLgE1Jz4CNzY3PgEHNiYnJicmBw4BDwE+BALmDBIJAiACBAIkPCMaBAU+HhIWEAEOFA1gIy4dGg0ICwlvMzIOIBYXAwgPFg0BAQ4HBh6f/uo1DTYZQjo0DxAqBQQ3ExQBBkk2GQ8YKHAgKQEfBgk1FgwgCwoREyIaIgGkAQ0UCh4fAgcCJEMtIwgJAgUDCBUPEBcJAg0CAgcHDwokEw6DOjoBAQEBAgcQCw8UAgMGAcAmnkMeKxAJAYdAOwMBHQ4OTeeDOR8THwfuL1QNAwEHMRlSHR0BAQYLFwAAAAADADL/+AMiAogANABPAF8AAAEeAgcOAQ8BFhcWBgcGLgEvAQYHBicuAT4BPwE+Az8BJicmNTQ2NzYeAh8BPgI3NiUWBgcOAyMnDgEHBicuATUnPgI3Njc+AQc2JicmJyYHDgEPATI+AgMBCRAIDws8GBhICAgFEAsVDQVKBEkzJAoKAgQDAwghIyEKCiERGRETCRIPBAYvDSglBxj+zTUNNhlCOjQPEBUYAgQ3ExQBBkk2GQ8YKHAgKQEfBgk1FgwgCwoWGCknAaEDEiATEEMZGn4RDCUMCQQJB4cDXEIOBBASEQUFDSkpJgwMQx0pDg0ZAgIJFggKVw0sKgkgxCadRB4qEQgBQ2oaPAMCHQ4NTeiDOB8THwfuL1UMAwEIMRpSHRwCChoAAAMAMv/+AvwCgwAvAEkAXQAAAR4BBw4BBw4DBw4BLgE3Njc2Nz4DOwEeAQ8BDgIHBhcWNzY3Njc+ATc+ASUWBgcOAy8BBgcGJy4BNSc+Ajc2Nz4BBzYmJyYnJgcOBQ8BPgMC6wwFBQUqFA8XIycVFi8mFgIHPwUJBQ0KCQMCExEBAQEKGAweAwENAQIeIAxJAgko/t01DTYZQjo0DxAqBQQ3ExQBBkk2GQ8YKHAgKQEfBgk1FgYMDQwKCAICFhgpJwGfBhUOFHEpHSo2Kw4OBhIxI1u1DwoHCAQCARMKCQsYNiFUPx8GAQEWQBi8BRUNwCaeQx4qEQkBAYhAOwMBHQ4OTeiCOR8THwfuL1QNAwEHMAwfHiAbFQcGAQIKGQAAAAQAMv//As4ChQAuAEQAXwBwAAABFgcOAQcUDgUnLgInJiMHBgcGJjc+AT8BNjc2FhcWDwE2NzYXFhcWFxYHPgEnLgEHBgcOAQ8BFgYWNzI+AjcDFgYHDgMjJw4BBwYnLgE1Jz4CNzY3PgEHNiYnJicmBw4BDwEyPgMCyAUEBjUkAgcHDA0RCQMJFQQCAQIGIBgWAQInHV4LFhIfBgwORwgDHB8IBwgFBnAcFwQDCQsODhoeAwIBAgoLBQ4LCQOYNQ02GUI6NA8QFRgCBDcTFAEGSTYZDxgocCApAR8GCTUWDCALChETIhoiAV4mLjuOJgECBwUGAwICAQIPDQUEIgEBHxkjuU3uHAwGCgoUJKsKBB0QBQgKCw/2L4MVDQkCAhgnZyAgARARAQoODQUB9SadRB4qEQgBQ2oaPAMBHg4NTeiDOB8THwfuL1UMAwEIMRpSHRwBBgwXAAAAAAMAMv/9AtACiABEAF4AbgAAARYHDgIHDgEeARcUBgcGJyY3PgM/ATY3NiYPAQ4BBw4BFxYHDgEHIi4CLwEuATUnJjY3PgEeAR8CPgUWBw4DJyMGBwYnLgE1Jz4CNzY3PgEXFgYHNiYnJicmBw4BDwE+AwKaNQsBDxUIBgQBAwERESkMCQsBCAoJBAMGCAQKBwcVGhUTJAQCBAMSDAUKBwYBAQgIAQFQFggQDAkDAg8BBAwMExIX5BlCOjQPECoFBDcTFAEGSTYZDxgocCs1DXMpAR8GCTUWDCALChYYKScBnhg8BS5FGhYyISMCDhoCAykfQgojJSILCxIdDgwBAQcbIR6OIBcSCxABAgMDAQEHGgoKOvcVBwYBAwICDgIDCggJBAE9HisRCAGHQDsDAR0ODk3ngzkfEh8IGyedDy9UDQICBzEZUxwdAQIKGQAAAAMAMv/zA3kCgwCCAJwArAAAARYHFA4CBw4BHgEVFA4DBwYnJjc+Bz8BNjc2Jg8BDgEHDgEXFgcGBwYHIxUGBzAHIiMOAScmJyY3PgM/ATY3NiYPAQ4CBw4BFxYHDgEHIi4CLwEuASc1NDY3PgEeAR8CPgUWFxYXPgM/AT4EBQ4DIycGBwYnLgE1Jz4CNzY3PgEXFgYHNiYnJicmBw4BDwEyPgIDRDQNCgwRBQYFAQICBQcMBygKCAsBAwUFBQYEBAEBBggECQcHFBoUEiUDAgQDBgEBAQQFAQEBBAkEIAkICwIICgkDBAUJBAoGBw4WEA4TJAMCBQMRDAUJBwUBAgcHAVAWBw8MCQMCDgEECwwTERYKKAEDCQgGAgICBxcVIP50GUI6NA8QKgUENxMUAQZJNhkPGChwKzUNcykBHwYJNRYMIAsKFhgpJwGSFEEEHyU0FRUyISMCBAsLCAYBAikeQgYQEhUUFBANAwQSHQ4MAQEGGyEdjSAYEQkHAQEBAwIBAgEBAyQfQgkjJCILCxIdDgwBAQQRFhYejSAYEQsPAQEEAwEBBxoKCjr1FAcGAgMBAg4BBAkICQQCBRMtBgoIBwECAgUNBgQ4HioRCAGHQDwDAh0ODkzogzgfEx8HGyadEC9VDAMBCDEZUx0cAgoaAAAABAAy/ygDFgKDAC8ARABqAHoAAAEUDgMHDgInJicGBw4FIyIuAScmNjc+Az8BPgQXFhc2NzYeAQc2JgcOAQ8BDgIHBh8BHgE/AT4BJQYHFhcWFxYXFgYPAQYmLwEmJwYHBicuATUnPgI3Njc+ARcWBgc2JicmJyYHDgEPATI+AgMVAQoTKRwEETcfHhUdBQECAgYIEAsECxUEBSUbCxsXFAYGAQMMDRYMFwMYFhcoG0sDDQ8JEgQFGyQKAgEBAQQUCAgkN/7mNl0RIhMmCgUFBAQFEiYODjw4LQQENRMUAQZJNhkPGChwKzUNcykBHwYJNRYMIAsKFhgpJwEsBxZEPU0dBQ4UBAQQZzMFHwoVCAcCEhAcvFMgSz81EA8CBhIICQYHFwsBARMsKRwRBwQQBgYhWDMWCgkFEAUFBR2UbUMWMD4jIAkLDxcHBxACCQkqwYw5PAMCHQ4OTeeDOR8THwcbJp4PL1QNAwEHMRlTHB0DChkAAwAy//4DZgKIAEkAcQCFAAABHgEHDgEnMC4CIg4CBwYHBgcOAQcXFhcWFxYXFgcOAw8BBicmJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFgUWBgcGBxYXFhcWFxYGDwEOAS4BLwEmJwYHBicuATUnPgI3Njc+AQc2JicmJyYHDgUPATI+AgM6GRMMCyIJCwcOCg4LDAUVDwMCAQYCEw4LCQUDAgIDAgQDAgEBEycEESELEgcLAxkaBxMEAxMPIxcIDgIICxsJFw0QFxdOKxf+lDUNNjZdESITJgoFBQQEBQoYFRIGBTw4LQQENRMUAQZJNhkPGChwICkBHwYJNRYGDQwMCggCAhYYKScCdwggEhADBQQBAwEDBwUXKwcFBBIFAgEFAwYDBQoLBQkFBAEBFwIBAW0kTCdAAREPAgUPLSJcRGoDAwUkDhgEAQIhKiYlKQQCEiedQ0MWMD4jIAkMDhgHBwoGBQgEBCnCjTg8AwEdDg5N6IM4IBIfCO8vVQ0CAgcxCx8fIBsVBgYDChkAAAAABAAy/zQCpAKBACkAMQBYAGgAAAEWBwYHDgEHDgMPAQYHDgEnJicmNzY3NhcWNj8BNjc+ATc+ATc+ARc2HgEOAS4BNgEmJwYHBicuATUnPgM3Njc+ARcWBgcGBxYXFhcWFxYGDwEGJicDDgEPATI+Ajc2JicmJyYCcREEAQsBPQsGDg0MAwQQJBxOIyoDAggNGhMfERsICA8TBEYBBCMICR4LDRwLDR0cCw3+2Dw4LQQENRMUAQUpOSYRDxgocCs1DTY2XBAiEyYKBQUEBAUSJg4oDCALChYYKScUKQEfBgk1AYYKFwcnBcAlEy0mIgoJLCYdDhEUIBEPGQMCEggLCgsSQg/eAw5fDQ0FCHoKHB4OCh0d/h8qwYw5PAQBHQ4OO5yXXCYfEx8HGyaeQ0MWMD4jIAkLDxcHBxACCQH2GlIdHQMKGRUvVA0DAQcAAAAAAgAt//8CmwKBADgAbgAAAR4BBw4BJyYjBgcGBw4GIyIuAScmNjc2NyYnJjc2NzYXNz4EFx4DFA4CMRQHFicGIi4CMSYnBgcGBxQOByMiLgEnJjY3NjcHDgIjIiY3PgM3MzYWFxYXFgcGAn0PDgEDICMJCiERMgsBAwIDBgkOCQMKFAIEKR0SGhcHGhMMIAwMFgEDDAwVDAcKBQEDAgMMFcUGDxENCh0oSxUvDAMBAwMGBwkNBwQLFgMFKR4fMkQECx0LEhIJAw0NDAMEPe4pGwkGBgsCDwUNDBUhAwFTMZdRBhgLEgkLBAIRERu+VDRDBAMLIRQJAwE3AgYSCQkFAwgKDAoMBwgBHgIPAQICAQQBsD+HYAQVBxIGDQUHAgITERy+U1d8BQECAiYWCAwHBAEIAwUEFA4PHwAAAAIALf/+AugCggBLAH0AAAEeAQcOASciLgIqAQ4BBwYHBgcOAQcXFhcWFxYXFgcOBTEHBiciJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFgcGLgExJicGBwYHFA4HIyIuAScmNjc2NwcOAiciJjc+AT8BNhYXFhcWBwYCvRgTDAwiCAELBw0LDgsMBBYRAgICBgIUDQsJBQMBAwQBAwIDAgEBEygEESIMFAgMAxoZCBMGBBUPJhcIDgEICxsJFw4RGBhOKxf3CB4XHShLFS8MAwEDAwYHCQ0HBAsWAwUpHh8yRAQLHQsSEgkFGAoJPe4pGwkGBgsCcQkgEhACBgMCAwMHBRcqCAQEEgUDAQUDBgQECgsEBgUEAwIBFgMCbSRLJz8CEA8CBg8tIVxEaQQDBSQOFwQBAyIpJiQnBQJYAgMDBAGwP4dgBBUHEgcMBQcCAhMQHb5TV3wFAQIDASYVDREBAggDBQQUDg8fAAAAAAIALf//AqwCgABHAHkAAAEGBwYfARYGJy4BNSY2PwE2NzQ+Ai4BIyIHBgcOAQ8BDgEnJic0PgE3Njc2Nz4ENzYWFRYHBgcUMDM+ARceAx8BFicGLgExJiMGBwYHFA4HIyIuAScmNjc2NwcOAiMuATc+AT8BNhYXFhcWBwYCoR8HCQYDAhMYGRIBDAYGBQIIBwMFBQITGBgWBSACCQMZEiEDAQYBBSkRUQYFDAkNCBMiARcRLgESMRMHDAgGAgET+QgeFx0oSxUvDAMBAwMGBwkNBwQLFgMFKR4fMkQECx0LEhIJBRgKCT3uKRsJBgYLATdoIy8sJQ4bAgMkJhVHGhkWBgIcHQ0IAxQVKQqBFzwPEAMEJQkUJQotijjJDw4WCgsBBRQQGDQldQESFAQBBwcHAwIgxAECBASwPodhAxUIEQcMBgYCAhMQHb1UV3wFAQIDASYVDRACAggDBgMUDg8fAAAAAgAt//YCswKDAEkAfQAAJRYHMCMGJyYnJicGBw4FIyIuAScmNjc+Az8BPgQXHgMUDgIxFA4BBzY3NhcWBwYHFhceAx8BHgEXHgEXAwYuAzEmJwYHBgcUDgcjIi4BJyY2NzY3ByIOASMiJjc+AT8BNhYXFhcWBwYCsAIZAR0cGx8RORMEAQMCBgkRDAMMFgMFKR8LHRoWBgYBBAwOFw0ICwYCAwIDJDEOUgcoDhAeEFMLCAYODAsDAwcvAwgIAf4GDxENCh0oSxUvDAMBAwMGBwkNBwQLFgMFKR0gMkQECx0LEhIJBRgKCT3uKRsJBgYLMRkQEhISJxdjRSQFHwoVCAcCExAdvVQfTD81EA8CBhIICAYCCQoMCgwHCAFTdig+BRojKBwQOhYPChYRDgQECCYDBw0EAe4BAQECAQQBsD6HYQMVCBEHDQUGAgISERy+VFd8BgIDJhYNEAICCAQFBBQNEB8AAAAAAgAt//8CbgKBACwAYAAAAR4DDgMxFA4BBwYHDgYjIi4BJyY+ATc+AT8BND4GMgcGLgExJiMGBwYHFA4HIyIuAScmNjc2NwcOAiMuATc+AzM3NhYXFhcWBwYCUwcMBQMBAgIDJC8NMgkBAgIDBgoOCgQLFgMDDx8TEjAPEAEEBAcHCgsOmggeFx0oSxUvDAMBAwMGBwkNBwQLFgMFKR0gMkQECx0LEhIJAw0NDAMEPe4pGwkGBgsCdgMJCQwLDAcHAVV4KJdQBhgMEgkKBAISEBNjgTcyfycmAQIHBgkGBgNZAQMDBK8/h2AEFQgRBwwFBwICExAdvVRXfAUBAgMBJhUIDQcEAQgDBgMUDg8fAAADAC3//wKTAoAAKgBDAHUAAAEWBw4BBw4CJy4CJyYjBwYHBiY3PgE/ATY3NhYXFg8BNjc2FxYXFhcWBz4CJy4BByIOAg8BDgEPARQGFjcyNjcDBi4BMSYjBgcGBxQOByMiLgEnJjY3NjcHDgIjLgE3PgE/ATYWFxYXFgcGAo0GBQY0JAMKIxMDChQEAgECBiEYFgECJx1eDBYRHwYND0cJAxsfCQcIBQZxFBgFAgIKCgQJBwYBAhkfAgIBCgoJFwdiCB4XHShLFS8MAwEDAwYHCQ0HBAsWAwUpHh8yRAQLHQsSEgkFGAoJPe4pGwkGBgsBXiYuO44mBAoNAwECEAwFBCIBAR8ZI7lN7hwMBwsKFCSrCwMdEAUICQwP9SBePQsNCQIGCAcCAydnICABEBEBGAsBsQECBASwPodhAxUIEQcMBgYCAhMQHb1UV3wFAQIDASYVDRACAggDBgMUDg8fAAAAAAIAMP//Au8CgQA7AGsAAAEeAQcOAScmIwYHBgcOBiMiLgEnJjY3NjcmJyY2Nz4BHwEyFzc+BBceAxQOAjEUBxYnHgEHDgIHBgcGBwYmJyYnJjY3PgEXHgEHDgEHDgQeARceAT4CNz4BNz4BAtAQDgEDICQICiERMgsBAwIEBQkOCQMLEwIEKR0SGhcHDgEJBxwKCgQGFgEDCw0VCwgJBQIDAgMNFegWDQoIKS8TMjYpPyM8ERUBATIeGSchHw8PCjoGAgUMCgcBDg0DCyAfJxATRwoTHwIPBQ0MFSEDAVMxl1EGGAsSCQsEAhERG75UNEMEAwggEAwKAQEBNwIGEgkJBQMICgwKDAcIAR4CagUzFxWDjTB+LiMFAxobIyw81lxOQAEBPiAYphIEDisnMiYeBQECCRc+LjX0FyscAAAAAgAw//0C2wJ/ADoAaQAAAR4BBwYHBicuBDUmBw4BFxYXFgYHBiYnJjc+ARceAQYPAQ4BHwEeATM3PgE/ATYnJicmJyY3PgEnHgEHBgIHBgcGBwYmJyYnJjY3PgEXMhYHDgEHDgQeARceAT4CNz4BNz4BAqkYGQQEGAsKBQkGBAQLGhIFFUUEAyAlJmUjOBMGMhoRDgMEDgUBAgIEFgkJBgwDAyAMBCcUBxInFVqkFg0KA1YaMjYpPyM8ERUBATIeGSchHw8PCjoGAgUMCgcBDg0DCyAfJxATRwoTHwGXCyoUFAYDAgIFCAYJARQIBS8eXCcgRBEUARcjRBkmCAUVEAUVBxEEBAoHAQEEAgISNRQ1Ghk9MRsQ0gUzFwr+9UB/LSMFAxkcIiw811tOQAE+IRemEgQPKicyJh8EAQIIGD4uNfMYKxsAAAIAMP/+A2QCgABLAH8AAAEeAQcOAScwLgIqAQ4BBwYHBgcOAgcXFhcWFxYXFgcOAwcjBicmJwcOAxUOAiYnJjc2NzY3JicuATc2NzYXNzY3PgEXFiUeAQcOAgcGBwYHBiYnJicmNjc+ARcyFgcOAQcOBB4BFx4BPgI3PgU3PgEDORgSDAsjCAsHDgoOCwwFFhECAgIDBAIUDgsIBQQBAgQBBAQCAQETKAQRIwwVCA0CERMSBRMFBRUQJxcIDgEIDBsJFw4RGRhOKxf+vRYNCggpLxIzNik/IzwRFQEBMh4ZJyEfDw8KOgYCBQwKBwEODQQKIB8nEAkVERMPDwQTHwJvCiASDwIFBAIDAwcEFysHBAMJCwQDAQUEBgMFCgsFCQUEARcDAQJtI0wnPwENDwMEBA8tIltEaQQDBSQOFwMCAyEpJiQmBQIDBTMXFoOMMH8tIwUDGRwiLDzXW05AAT4hF6YSBA8qJzImHwQBAggYPi4ZQjxAMysLKxsAAgAx//ACogKCADwAewAAAR4BBw4BJyInBgcGBxQOBCMiLgEnJj4CNzY3JicmNDc+ARczFjM3PgQXHgMUDgIVBgcWJwYHDgMHDgEHBicuAScuAT4BPwE+BDU+AT8BPgEfARYHFA4CBw4FFQc+Ajc+AxceAQcCgxAOAQMfIwoJIBAwCgMCBggPCwMKFAMCCRAaDREZFwcOCQccCgoEBhUBAwsNFQsHCgUCAwICAQwVygMiARoWJxMiKR07JhQKBwIBAQIBAQEJDQwJAQQDAgojDAwjCgYHCwYDBgUFBAMBD19bAQQLEBQMDgwBAhIEDQ0UIgMBVDGYUQUfCxUICAESEA1DVGEqM0UDAwgfEQwKAQE3AgYSCQoGAggKDAoMBwcBAR4CKSBRAkA0VyVEPiJFFgsgOhQzLSgMCxJITkk0AwUPBAURDAMDDjICHCA6HxMyMzUuJAoLFNjWBAcNCwEEBRsLAAACADH/7gJ2AoAAOgBzAAABHgEHBgcGJy4EJyYHDgEXFhcWBgcGJicmNz4BFx4BBg8BDgEfAR4BNzM+AT8BNicmJyYnJjc+AScGBw4EBw4BBwYnLgEnLgE+AT8BPgI1PgE/AT4BHwEWBxQOAgcOAQ8BPgI3PgIXHgEHAkQYGQQEGAsKBggGBAQBChoSBRVFBAMgJSZlIzgSBzIaEQ0CBA4FAQICBBYJCQYMAwMgDAQnFAgSKBVabgMiAhESGR4PIikdOyYUCgcCAQECAQEBFRYBBAMCCiMMDCMKBgcLBgcNBAMPX1sBBhAaDw4MAQGXCyoUFAYDAwEGBwYJARQIBS8eXCcgRBEUARcjRBkmCAUVEAUVBxEEBAkIAQEFAQISNRQ1Gho8MRsQlCBRBCkrOkEfQz8iRRYLIDsTNC0nDAsdjH0CBQ8EBREMAgMPMgIbITofKIoxMBPZ1gMLDwkHBRsKAAAAAAIAMf/zAwwChQBHAIQAAAEeAQcOAScwLgMOAgcGBwYHDgEHFxYXFhcWFxYHDgEPAQYnIicHDgMHDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYFBgcOAwcOAgcGJy4BJy4BPgE/AT4ENT4BPwE+AR8BFgcUDgIHDgMPAT4CNz4CFx4BBwLhGBMMCyMICwcOCg4LDAUVEAMCAgYCFA4LCAYDAQMEAwYCAhMnBBEiDBMHCwEDGRoHEwUDFQ4lFwgOAggLGwoXDRAYGE4rF/7mAyIBGhYnExgkGBQ7JhQKBwIBAQIBAQEJDQwJAQQDAgojDAwjCgYHCwYECQYFAgEPX1sBBhAaDw4MAQJ0CR8TDwMFBAEDAQEDBwUXKwcEBBIGAgEFAwYEBAoLCAwDAhYCAm0kTCc/AREPAgYPLCJcRGkEAwUkDhcEAQIhKiYlJwQCPCBRAUE0ViYvPiAXRRYLIToTNC0nDAsSSE5JNAMGDgUEEgsCAw8yAhshOh8ZTEdAFBMU2NYDCw8JBwUbCgAAAAACADH/7gJcAoAAKABoAAABHgMUDgIxMA4BBwYHFA4EIyIuAScmNjc+Az8BPgQHBgcOAwcOAQcGJy4BJy4BPgE/AT4ENT4BPwE+AR8BFgcUDgIHDgUVBz4DNz4DFx4BBwJACAsGAgMCAyQxDjMLAwIHCRALBAsWAgUoHgsdGRYGBgEEDA0XgQMiARoWJxMiKR07JhQKBwIBAQIBAQEJDQwJAQQDAgojDAwjCgYHCwYDBgUFBAMBC0JCOQIECxAUDA4MAQJ1AgkKDAoMBwhVeCiVUQUfCxUHBwISERy9UyBLPzUQDwIGEggIQCBRAUE0ViZDPyJFFgsgOxM0LScMCxJITkk0AwUPBAURDAIDDzICGyE6HxMyMzUuJAoKD5CahwUIDAsBBAUbCgAAAAACACj/+wNzAoIAOwCgAAABHgEHDgEnIicGBwYHDgYjIi4BJyY2NzY3JicmNjc+AR8BMhc3ND4DFx4DDgMxFAcWJxYGBwYHDgMHBicmJw4GJy4BNzY3PgEzHgEHDgEHDgIVBjc2Nz4BNzQ+Bzc2FhceAQ4BBwYHDgUeAhcWPgE3PgY3PgY3OgEWA1UQDgIDHyQICyEQMwsBAgIEBgkNCQQKEwIEKR0SGhgHDQEJBxwKCgQGFgQLDRULBwoFAgECAgMNFc8FCRJILgYUIDEcMSIWAgIEDxAZGB8ONiEWMyIOHRUYHgwFGxAFER0CNB8XDj8JBgMGAwcFBgcEESEGAwEGBwdABwEFAgMBAQMFCQURIxYJAgwOEREOCwIBCAMJBwwPCQMJEwIQBQ0MFSEDAVMxl1EGGAsSCgoEARIQHL5UNEMEAwggEAwKAQEBNwIGEgkJBQMICgwKDAcIAR4CSBYxMc6SEicpHAMGIxcfAgcUDxYJBwYPhGLuViUbASsjEkAsETWBK2I1IVk60BMBDgQNBgsGCAUCCQwRCBIaFhbCNAcbERcQEwwLBgECMTUdCSkxOTcwIQYCFQcSBwsFAQsAAgAo//sD6QKCAEcAqgAAAR4BBw4BJyIuAyIOAQcGBwYHDgEHFxYXFhcWFxYHDgEPAQYnJicHDgMVDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYFFgYHBgcOAwcGJyYnDgYnLgE3Njc+ATMeAQcOAQcOAhUGNzY3PgE3ND4HNzYWFx4BDgIHBgcOBR4CFxY+ATc+Ajc+Bzc6ARYDvxgSDAsjCAELBg4KDgwMBBYRAwIBBwIUDgsIBQMBAwQDBgICFCcEESQMFAkMBBkZCBMGBBYQJxgHDgEICxsKFw0RGRhPKxf+1QUJEkguBhQgMRwxIhYCAgQPEBkYHw42IRYzIg4dFRgeDAUbEAURHQI0HxcOPwkGAwYDBwUGBwQRIQYCAQEGBgZABwEFAgMBAQMFCQURIxYJAywlBQEGAwcGCgoNCAMJEwJvCSASDwIFBAEDAQMHBRYrBwUDEgYCAgQEBgQECgsIDAIDFgMBAm0kSyc/AREPAwYPLSFcQ2kEAwYkDhcDAQMiKSYkJgUDHRYxMc6SEicpHAMGIxcfAgcUDxYJBwYPhGLuViUbASsjEkAsETWBK2I1IVk60BMBDgQNBgsGCAUCCQwRBw8OGBMRwjQHGxEXEBMMCwYBAjE1HQqYfAwDEAgPCAoGBQELAAAAAAMAL/8vAyoCgwAsAEMAggAAATYWFRQOAwcOAicmJwYHFA4EIyIuAScmNjc+AT8BPgQXFhc2FzYmBw4DDwEOAgcGHwEeAT8BPgElFhceAQYHBiYnLgEvAQ4CBwYnLgE+AT8BPgU/ASYnJjc2NzYeAR8BPgE3PgEXHgIGBw4FBwLQJTQCCxQqHQQROB4fFB4HAwIGCRALBAsVAwUoHRExDxABAwwNFwwXAhclAw0PBgsJBwIBHCYLAgEBAQQTCQgkOf59QwcFAwsPFRsJCSQODgIdJQ8+LhAMBQkFBQgZHR8cFwYHHRAYAQMpDhkMBCkPWAsPKQkHDAkKDwcWGhwaFQYBjAExLgcXQz1NHAQPEwUEEGYzBR4LFQcHAhIRHLtTMn4mJgIGEggIBggWC2gdEQcCCAkHAwIhWDIWCgkFEAYFBR2TU80cESAjBwYLDQ1qLi8CLkEachcIHB0aCAkNKiwwKiIKCmovQRUmBwIYGg2HE34NEQcIBA4XIhMIHyMnJBwJAAACAC///QJyAo4AOgBlAAABHgEHDgEnIicGBwYHDgUjIi4BJyY2NzY3JicmNjc+AR8BMhc3PgQXHgMUDgIxFAcWJxYHBgcOAhUOAScuAT4BPwE+AT8BLgEnLgE3NhceAR8BPggCVBANAQMgIwkKIREyCwEDAgcIDwsDChQCBCkeERoXBw4BCgcbCgsDBhYBAwwNFAwHCgUBAwIDDBXVKRcEjh4nGgk4EgcHAQQBAgwoDg8CNRQSBREoJg0gCgkMGxMXEBMQEA8CEAUNDBUhAwFTMZdRBR8KFQgIARIQHL5UNEMEAwggEAwKAQEBNwIGEgkJBQMICgwKDAcIAR4CYwc/C/g0bmoCGwYTBhUWFAYGKWIdHSGaKiQ9DBY7FV8mJRMuIiYbGxEOBQAAAAADAC7//AHhAo0AJAAsAFMAAAEeBA4CMTAOAQcGFRwCDgIjIicmNjc+Az8BPgMeAQ4BLgE2JxYHBgcOAhUOAScuAT8BPgE/AS4BJy4BNzYXHgEfAT4GAaAHCgYDAQEBAhYeCB0EBw0KHAkHDxEHEQ8NBAQBBxsrHAoNHhwKDiUpFASFGyQVCDgTCwUEBAklDQ4DPBYSCBAoKA4kCwsNIRUaEhUUAY8CBgYHBwcFBTZMGV8zAxQGDgQFGBJ3NRQwJyIKCQQKDnMLHB4NCxwehgY/C/41cGoCGwgRCigQDylkHh0hmCkkPA0XOhReJSUYPigvGxgKAAAAAAIAL///AuICkABJAHcAAAEeAQcOAScwLgIqAQ4BBwYHBgcOAQcXFhcWFxYXFgcOAQ8BBicmJwcOBAcOAiYnJjc2NzY3JicuATc2NzYXNzY3PgEXFiEWBwYHDgIVDgEnLgE+AT8BPgE/AS4BJy4BNzYXHgMfAT4JArcYEgwLIwgLBw4KDgsMBRYRAwIBBwIUDgsIBQMBAwQDBgICFCcEESQJEQsHCAEDEBMSBhIFBBYQJxcIDgEICxsKFw0SGRdPKxf+1ikXBI4eJxoJOBIHBwEEAQIMKA4PAjUUEgURKCYIExAOAwQLGBIVDxIODw4OAm8KIBIPAgUEAgMDBwQXKwcEBBIFAwEFBAYDBQoLCAwCAhcDAQJtHTgyIigFDQ8DBAQPLSJbRGkEAwUkDhcDAgMhKSYkJgUCBz8L+DNvagIbBhMGFhUUBgYpYh0dIZspJD0MFjsNMTMwDw8RKh8jGhsTEAkFAAAAAAIAL//+AmcCkABFAG4AAAEGBwYfARYGJy4BJzQ2PwE2Nz4DLgEjIgcGBw4CDwEOAScmJyY+ATc2NzY3PgM3NhYXFAcGBxQyMT4BFx4BHwEWAxYHBgcOAhUOAScuAT4BPwE+AT8BLgEnLgE3NhceAR8BPgYCXB8GCQUEARMYGBIBCwYGBgEBBwgCBAUCExkYFQQSEQEIBBgTIQIBAgUBBSkRUQcIDg8JFCEBFxAvARMwEwsSBAMU7ikXBI4eJxoJOBIHBwEEAQIMKA4PAjUUEgURKCYNIAoJDiQWHBQVFAE0aCMvLCUOGwIDJCYVRxoZFgYCHB0NCAMUFSkGQ0oPPA8QAwQlCRQlCi2KOMkTERgLAgUUEBg0JXUBExMEAg4FBiABHwg/Cvkzb2kCGwYSBxUVFAYHKGIdHSGbKSU9DBU7FGAlJhc+Jy0bFwgAAgAv//0CMgKOACsAWQAAAR4DFA4CMQ4CBwYHDgUjIi4BJyY+ATc+BT8BND4DBxYHBgcOAhUOAScuAT4BPwE+AT8BLgEnLgE3NhceAx8BPgkCFwgLBQICAwIBJDENNAoBAwIGCRELBAsVAwMQIRMJExMTDwwDBAQMDhaRKRcEjh4nGgk4EgcHAQQBAgwoDg8CNRQSBREoJggTEA4DBAsYEhUPEg4PDg4CdAMICgwLCwcIAVV3KJZQBh4LFQgHAhMQE2OANxc1Ly8mHQgIAgcRCQgFBz8L+DRuagIbBhMGFRYUBgYpYh0dIZoqJD0MFjsNMTMwDw8RKh8jGhsTEAkEAAIAL//2AnUCjgBQAH4AACUWDgUxMCMGJyYnJicGBw4FIyIuAScmNjc+AT8BPgQXHgMUDgIxFA4BBzY3NhcWBwYHFhceAR8BHgIXHgUVAxYHBgcOAhUOAScuAT4BPwE+AT8BLgEnLgE3NhceAx8BPgkCdAEDBAUFBAMBHRwbHxE5EwQBAwIGChAMAwwWAwUpHhMyEBABBAwOFw0ICwYCAwIDJDEOUgcoDhAeEFMLCAkYCAgFFBoGBAUEAgEB+ykXBI4eJxoJOBIHBwEEAQIMKA4PAjUUEgURKCYIExAOAwQLGBIVDxIODw4OMQUKBwcFBAISEhInFmRFJAUfCxUHBwITEBy+UzN/JiYDBhEJCAYCCQoMCwsIBwFTdig+BBojJx0POhYPECQKCQYRFQUDBwUFAwMBAkMHPwv4NG5qAhsGEwYVFhQGBiliHR0hmiokPQwWOw0xMzAPDxEqHyMaGxMQCQQAAwAv//0CVQKOACsAQwBuAAABFgcOAgcOAiciLgEnJicHBgcGJjc+AT8BNjc2FhcWDwE2NzYXFhcWFxYHPgEnLgEHDgEPAQ4BDwEWBhY3PgM3AxYHBgcOAhUOAScuAT4BPwE+AT8BLgEnLgE3NhceAR8BPggCTwUEBBkqGAMKIhQDChQEAgECBiAYFgEBJx5eCxYSHwYMDkcIAxwfCAcIBQZwHBcEAwkLBg4EBBoeAwIBAgoKBg4LCQNgKRcEjh4nGgk4EgcHAQQBAgwoDg8CNRQSBREoJg0gCgkMGxMXEBMQEA8BYCcuJFhZGgMKDgQDDwwFAQUhAQEeGiO5Te4cCwcLCRQkqwoDHhAFCAoMD/UvgxUMCgIBDQYGJ2cgIAEQEgEBCg0OBAH/Bz8L+DRuagIbBhMGFRYUBgYpYh0dIZoqJD0MFjsVXyYlEy4iJhsbEQ4FAAMAIv/9A28CiQBHAHEAggAAAR4BBw4BJyIuAw4CBwYHBgcOAQcXFhcWFxYXFgcOAQ8BBicmJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFiU2HgIHBhUHBhcUFgYHBicuAScmPwEuAgcGBwYHBicmNzY3PgQDNgciBw4BBw4CHgEzNhc2A0MYEwsLIwgBCwcNCw4LDAQVEAMBAgYCFA4LCAYDAQMEAgcBAhMoAxIgDBIHCwMZGgcTBAMUDiQYBw8CCAsbCRgMEBgXTisX/nEdJAgDAwEaGQUFAQMNHBAXAwcFAxM2LBAdCwcNGjE6FA1DCitCQkcHGRoFDBJZHQECAgEICU0vAwJ3CR8TDwMFAwICAQEDBwUXKwgEBBIFAgEFAwYEBAoLCA0CAhcCAQFtJEwnQAERDwIFDy0iXERqAwMFJA4YAwICISomJSgDAgQGEyMoEAUCwr9DBBwQBxoDAhMPHT0iBgcCAgMSCjFhAwRXPIoVS2NYQv7piQEKDos7AQMJBwYCEDMAAAACAC//PwMZAo0AVgCYAAABFgcOAQ8BBgcOCCcmJyY1JjYXFhcWPgI3PgE3MiYVBgcOAiciLgUnJjY3Njc+BBcWBwYHDgEHBhcWNz4BNz4CNzQ+AhYlDgQHDgEeAjc+Ajc+AxceAQcOAQcOAiMmJy4GNzY3Njc2NzYXFhUGBwYiLgInMC4DBgL0JRgGDQMEQhMCDAgRDxcYHyISOxIBDCwdCRANFRQKBAoWAwECBQ0FECIPAQULDA4MCgIGERorEwYIDwsTBxgNAwwNKgYWDQUIFkcVCCATBwMICg7+fAQOKik3GBYOCxgaCw4VCgoGEQsXDxQVAQM1FxIaMR0mFwIGFA4TBwUHCx06cTcrRCYYARELEQsHBQEGBAsLFAGfEzAMIQoLsj4ELBcvHScYEwUCCiYDAh4vCgMKBgERDggSPg4BAQgMBQwOAQECAwkKEgscaz9pFwgJDgQEBgswChcXWxFIFQYCBms0ElUrCAECBwMBgQEIIS1VNC9OLh8LAQEKCgwHGg8LAgIlExpFDgsMCwIRAQURFiQqOiE0Q4lcLQoPKxwmHgoHCQoNAQkFCAIBAAAAAgAw//wCsQKOAEUAggAAAQYHBh8BFgYnLgEnND4CPwE2NzQ2NzYuASMiBwYHDgEPAQ4BJyYnND4BNzY3Njc+Ajc2FhUWBwYHFDIxPgEXHgEfARYnIi4BIgYHBgczNhcWBwYHBiMHBgcGFxY2FhceAQcUDgEHBicmJy4BNjc2NwYHBicmPgE3NhceBAcGAqYfBwgFAwITGBgSAQQHBwMCBgEPAgEEBgISGRgVBiACCQMZEiEDAQYBBSkRUQoKFQwUIQEXEC8BEzATCxIEAxP6BxoZHSAORxUsGQ8PBgYXFBFBHQUIMw0hGAgPDwQDEQ09KTwdDAMLCzlGFQYhDwkDCgcznCY4HBAEAQEBNGgjLywlDhsCAyQmDSclIgoKFgYBOAgHCAMUFSkKgRc8DxADBCUJFCUKLYo4yRgXGAIFFBAYNCV1ARMTBAIOBQYg0QEBAQJhPgEODxYVBQUGVi1EBQEDAQQIGw4CCBIEFQcLMBRKTCK+ZQUBBREKFxAEJRAEDA0QCgcXAAACADH//QLtAocAWACAAAABDgQHDgEeAhcWNzY3Jjc+BDMWFzIeAwcGBxYHDgIHBiciLgM3NjcGBw4CJyYnLgM2NzY3Njc2NzYXFgcGBw4BLgU1MCcmBRYOAi8BIgYPAQ4BDwEOAScuBT0BJhI3NhcyHgIXFT4BFgFrBA4qKjoaGBQGEhUJGBsFCRsHAQEICxYOYRQBAwkEBAQIGQEBAQMHAgkdAQYOCggBAQIbFhEXLhchEgMJFQwBCxAfQmk0Jj0cEgQEEAYLCAYEAwICAQsBWwINExIDHhgoCAkTGQMEAxYYCAsHBQIBAkgLERwIDQYDARBBOAIXAQceK1EyLkoqHgoBAh8GDQgcAgYRDAsFBgEECQ8MIAgICwsgPggfAwEGCxcQCg4hDQoJCQUFEwMKJy9PLDRAiFEoBgovHyYfCQMCAwUHCAcGAQEZoxEVBQMCAyARECZtIyQfHwIBBggKCggDAikBARorAggKCQMEFxQQAAAEAC//LAMJAn8AMABHAG0AhQAAATYWBxQOAwcOAicmJwYHDgUjIi4BJyY2Nz4FPwE+BBcWFzYXNiYHDgMPAQ4CBwYfAR4BPwE+AQEyHgIHDgYHDgYnLgM3PgQ3PgQXNiYHDgEPAQ4BBwYXFBcWFxY3Njc+AgKwJDUBAQwTKh0EETgfHhUeBgEDAQcJEAsDCxUDBSceCBMSEg8MAwMBBAsOFgwXAxckBA0QBQwIBwICHCULAgEBAQMUCAglOf6zGSskEwEBAQkNGSEzHwEFEBEcHScTJjQXBwcCBhsjQigCCRweKyoEFhcNHwkKO0IHAwEBBAcPHxgTKEEdAYkBMS4HF0M9TRwEDxMFBBBmMwUeCxUHBwISERy7Uxc0MC4mHQgIAgYSCAgGCBYLaB0RBwIICQcDAiFYMhYKCQUQBgUFHZMBihMlQCkFFjw+VExSIAEFDgsOBgMGCCw6RSMIHlZSaCkDCRgRD6wvHQoGGQkKS6cyGAoLBRAKFgcGEiaUeAADAAH//wJXAn8AKgBHAIMAAAEWFxYHDgEHDgInIi4BJyY1BwYHBiY3PgE/ATY3NhYXFg8BNjc2FxYXFgM+AicuAQcOAw8BDgMPARYGFjc+AzcBHgEHDgEnJiMGBwYHFA4FIyIuAScmNjc2NyYnJjY3PgEfATIXNz4EFx4DDgMxFAcWARgGAwYFBjUkAgojFAMJFAUCAwUhGBYBAicdXgsWEh8GDA5HCQIcHwkGCWYUGAUCAgoKBAkHBgECEBkLBwEBAQEKCgYNCwoCAY0QDgICICQJCSIQMgwDAgQGCQ0JAwsTAgQpHRIaGAcNAQkHHAoKBAYWAQMLDRULBwoFAgECAgMNFQF/DxAnLTuPJgMKDgQDDwwFAQUhAQEeGiO5Te4cCwcLCRQkqwoDHhAFCAr+8CFdPgsMCgIBBgcHAwIZPDQsDA0BEBIBAQoNDgQBmQUNDBUhAwFTMZdRBhgLEgkLBAIRERu+VDRDBAMIIBAMCgEBATcCBhIJCQUDCAoMCgwHCAEeAgAAAAMACP//AmgCfQAqAEIAaAAAARYXFgcOAQcOAicuAicmMQcGBwYmNz4BPwE2NzYWFxYPATY3NhcWFxYDPgEnLgEHIg4CDwEOAQ8BFgYWNzI2NwEWDgIvASIGDwEOAQ8BDgEnLgU9ASYSNzYXHgEfAT4BFgEfBgMGBQY1JAIKIxQDCRQFAgMFIRgWAQInHV4LFhIfBgwORwkCHB8JBglmHBcEAgoKBAkHBgECGh4CAwEBCgoJFwYBtwINExIDHhgoCAkTGQMEAxYYBwwHBQIBAkgLERwNEAEBEEE4AX4PESYuO44nAwoNAwECDw0FBCIBAR8ZI7lN7hwMBgoKFCSrCwMdEAUICv7wL4MVDQkCBggHAgMnZyAgARARARgLARcRFQUDAgMgEBElbSQkHx8CAQYJCgoIAgMoAQEaKwIBEAgIFxMQAAMABv//AtICgAAqAEQAkAAAARYXFgcOAQcOAicuAicmMQcGBwYmNz4BPwE2NzYWFxYPATY3NhcWFxYDPgEnLgEHDgEPAQ4DDwEWBhY3Mj4CNwEeAQcOASciLgMOAgcGBwYHDgEHFxYXFhcWFxYHDgMVBwYnIicHDgMVDgMmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYBHQYDBgUGNSQCCiMUAwkUBQIDBSEYFgECJx1eCxYSHwYMDkcJAhwfCQYJZhwXBAIKCgcOBAQQGQsHAQEBAQoKBg0LCgIB+BgSDAsjCAELBg4KDgwMBBYRAwIBBwIUDgsIBQMBAwQCBAMDARQnBBEkDBQJDAIMDw8OBBMGBBYQJxgHDgEICxsKFw0SGBhPKxcBfg8RJi47jicDCg0DAQIPDQUEIgEBHxkjuU3uHAwGCgoUJKsLAx0QBQgK/vAvgxUNCQIBDQYGGD0zLQwNARARAQoODQUB+wkgEhACBgMCAwEBAwYFFyoIBAQSBQMBBQMGBAQKCwUJBQQBARYDAmwkSyc/AQsOBQEEAxAsIlxDaQQDBSUNGAMBAyEpJiUmBQMAAAAABAAA/zEB/AJ7ACoARgBzAH4AADciLgEnJjEHBgciJjc+AT8BNjc2FhcWDwE2NzYXFhcWFxYXFgcOAQcOAicWBhY3Mj4CPwE+AScuAQcOAw8BDgMHARYHBgcOAgcOAQ8BBgcOAScmJyY3Njc2Fx4BPgM/ATY3PgE3PgI3PgIeAQcOAicuATZ/AwkUBQIDBSEYFgECJx1eCxYSHwYMDkcJAhwfCQYJBAYDBgUGNSQCCiMnAQEKCgYNCwoCAxwXBAIKCgQJBwYBAhAZCwcBAVsRAwELAh0iCQgaCAkRJBtOJCkEAQcNGxIfBw4MCwgGAgEOEwVGAQERFwUJHhgdCgYEERIKDgsMAgIQDAUEIgEeGSO5Tu0cDAcLChQkqwsDHhEECAoMDxEmLjuOJgQKDWwBEBEBCg4NBQUvghUNCQEBBgcIAgMYPTMsDQEMChcHJwdabRwdThgYLCYdDhEUIBEPGQMCEgQCBAYIBwMCEkIP3gMGMToJDQVyChwPCg0EAwUdHQAAAAMABf//AooCfQAuAEoAfgAAARYHDgEHFA4FJy4CJyYxBwYHBiY3PgE/ATY3NhYXFg8BNjc2FxYXFhcWBz4BJy4BByIOAg8BDgMPARYGFjcyPgI3AR4BBwYHDgEHDgMPARYXHgIVFAYnJgcGBwYnJjQ3PgE/ASYiBiMiLgI3PgE/ATYyASUGBQY1JAIHBwwMEgkDCRQFAgMFIRgWAQInHV4LFhIfBgwORwkCHB8JBgkEBnAcFwQCCgoECQcGAQIQGQsHAQEBAQoKBg0LCgIBsxIWAQEgAgUCIzwkGQUFPh8RFhEbE2EjLR4aDAkMCW4zMxIoIgMIDxYMAQEOBgcenwFeJi47jiYBAgcFBgMCAgECDw0FBCIBAR8ZI7lN7hwMBgoKFCSrCgQdEAUICgsP9i+DFQ0JAgYIBwIDGD0zLQwNARARAQoODQUBMAIaEB4fAgcCJEMtIwkIAgUDCBUQFxkDDQICCAYPCiMUDoI6OgMCAgcQCw8UAgMGAAAAA//7//kCdAKCADAAQwB+AAABNh4BBw4BBw4CBw4BFBYfARYGJyYnJicmNSYHBgcGJicmNjc+ATc2Fh8BNjc2NzYDNicmBwYHDgEXFjc2Nz4DNyUeAQcOASciJwYHBgcUDgQjIi4BJyY2NzY3JicmNjc+AR8BMjM3PgQXHgMOAzEUBxYBYw0dCQ4GLQoDKiIEAwMBAQEFKBoCAQoFAwIFGyIfPwMDKh4cQyAQGAMEGAcZCh19BggKGhwfDx4FAxUJBhIiFhAEAYYQDgEDICMJCiARMQsEAgYIDwsDChQCBCgcEhkXBw4BCQccCgoEBhUBAwwNFQsHCgUCAQICAw0VAnsGDiMcCmsgCHVnFg4fGRUFBiAfDgEBBxAKAwEIIwgILyssjzIvMwMBBAMDQQ47FDj+xiIJDRgbRCBsFhENBQgWPTcxDuoFDQwVIQMBVDGXUQUfChYHCAESEBy+VDNFAwMIIBAMCgEBNgMGEgkJBgIICgwKDAcIAR4CAAAD/////gLbAoMAJwA7AIQAABM2FhcWBgcOAw8BBgcGFjc2Nz4BFx4BFQcGBwYHBiYnJjY3PgIXNicmBg8BDgEPAQYUFjY/AT4CAR4BBw4BJzAuAw4CBwYHBgcOAQcXFhcWFxYXFgcOAQ8BBiciJwcOAwcOAiYnJjc2NzY3JicuATc2NzYXNzY3PgEXFtYnPwcIFi0TNC4pDAwHAgMaGCMaBxoPCgoBAQcNFStqHB4CHhRDRDAXDQcRBgYTLQ0OBwwNBgYZKxAByRgTDAsjCAsHDgoOCwwFFRADAgEHAhQOCwgGAwEDBAMGAgITJwQRIgsTCAsBAhATEwUTBQMVDiUXCA4CCAsbChcNEBgYTisXAaMGHhceVCgRGg0IAQEIGhUcAQEnCgwHBBIHBwoPGA4bCRwgWEwxVDF1LwoGAQMCCjMVFQ8QBQECAgomFwFRCR8TDwMFBAEDAQEDBwUXKwcEBBIGAgEFAwYEBAoLCAwDAhYCAm0kTCc/AQ0PBAMFDywiXERpBAMFJA4XBAECISomJScEAgAAAAACACj//gJmAoUARwCEAAATBgcOAQcXFhcWFxYXFgcOAQ8BBiciJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFhceAQcOAScwLgMOAgcGBR4BBw4DJyInBgcGBw4FIyIuAScmNjc2NyYnLgE3Njc2Fzc+BhceAw4DMQYHFvQDAgEGAhQOCwgFBAEDBAIHAQITJwQSIAsSCAoDGRkIEwQDEw4kGAcPAggLGwkXDRAYFk4rFxQZEwwLIgkLBw4KDgsMBRUBRRAOAgEHDxwTCQohEDILAQMCBwgPCwMKEwMEKR0SGRcHDgEMDBkODhUBAQYHCwsQCAcKBQIBAgMCAQwVAeUHBQMTBQIBBAMGBAQKCwgNAgIXAgJuJEwnQAERDwIFDy0iXERqAwMFJA4YBAECISonJSgEAgcJHxMPAwUDAgIBAQMHBRgDBA0NCBERCgIBUzCWUQUfChUICAISEBy8VDNEAwMGIAsMCgUBNgEECwgLBAMDAwgKDAoMBwcBHgMAAgAp//4CeAKEAEsAjgAAARYXFgcOBSMVBiciJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFhceAQcOAScwLgIqAQ4BBwYHBgcOAQcXFhcWBQYHBh8BFgYnLgEnNDY/ATY3MDY3Ni4BIyIHBgcOAQ8BDgEnJicmPgE3Njc2Nz4CNzYWFRQHBgcwFz4BFx4BHwEWASQDAQMEAQMCAgIBARMoBBEhCxMHCwMZGgcTBAQTDiUYBw8CCAsbChcMERgXTSwWFRgTDAsiCQsHDgoOCwwFFRACAgIGAhQOCwgBTx8GCQYDARIYGRIBDAYGBQIPAQEEBQITGBkVBSADCAQYEiEDAQIFAQYpEFEKCxQMFCIWES8BEzETCxIDBBMBrAMECgwDBwUEAwIBFgICbSRMJ0ABEQ8CBQ8tIlxEagMDBSQOGAMCAyIpJyUoBAIICR8TDwMFAwIDBAYFGCsHBAQSBgIBBAR8aiIuLSQOHAMCJSYUSBkaFQc4CQYJAhQUKQuBFjwQEAMFJQgUJgktijjKGBYYAwQTERgzJnUBExQEAw0GBh8AAAMAJf/+AmQCgwAvAEkAkQAAARYHDgEHDgInIi4BJyYjBwYUDgIjBiY3PgI/ATY3NhYXFg8BNjc2FxYXFhcWBz4BJy4BBw4BDwEOAxUHFgYWMz4DNwMWFxYHDgEPAQYnIicHDgMVDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYXHgEHDgEnIi4DDgIHBgcGBw4BBxcWFxYCXgUEBzQkAwoiFAMKFAQCAQIBBgcPCRgXAgEPIRVdDBYSHwYMDkcIAxsgCAcIBQZxHRYDAwkLBg8DBBEYDAcBAQIKCgYOCwkDxgMBAwQDBgICEycEESILEwgLAxkaBxQFBBQOJRcIDgIICxsKFwwRGBdOKxcVGBILCyMIAQsHDQsOCwwEFRECAgIGAhQOCwgBYiYuO48mAwoNAwMPDQUEBAQMCAcBHhoTWoc17hwLBwsJFCSrCgQdEAUICgwO9i+DFQ0JAgENBgYZPDMtDA0BEBEBCg0OBQEyAwQKDAgMAgMWAgJtJEwnPwERDwIFECwiXERpBAMFJA4XBAIDIikmJSgFAgcJIBIQAgUDAgIBAQMGBRgrBwQEEgUDAQQEAAAAAgAu//YCjAKAAEsAlQAAARYXFgcOAwcVBicmJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgIXFhceAQcOAScwLgIqAQ4BBwYHBgcOAgcXFhcWARQOBTEGJyYnJicGBxQOBCMiLgEnJjY3PgE/AT4EFx4DDgMxDgIHNjc2FxYHBgcWFx4BHwEeARceARUBLQMBAwQBBAMDARQnBBEiDBQICwMaGQgTBQQVDyUXBw8BCAsbCRcNERkPLjccFxUYEgwLIgkLBw4KDgsMBRURAgICAwMCFA4LCAFjAgQFBQUDHR0bHhE5EwUDAgcJEQsECxYDBSkeEjMQEAEDDQ4XDAgMBQMBAgMCASQxDlMHKA0QHhBTDAgIGQgIBy4EBwkBqgQECgsFCQUEAQEWAgEBbCRMJz8BEQ8CBg8sIlxEaQQDBSQOFwQBAiEpJhkiEAMDBwofEw8CBQMCAwMHBRcrBwQDCQsEAwEFA/6BBQoIBwUEAhISEicXY0UjBh8KFQgHAhMQHb1UMn8mJwIGEggJBwIJCgwKDAcIAVN2KD4FGiMoHBA6Fg4RJAkKCCYDBw0EAAAAAAT/9v8xAk8CCABCAF4AigCSAAAlDgIHDgIHBicuAicmNjc2FxYXFjc2NzY3NiIjBgcGJicuATc2NzY3PgE/AT4FFhceBQ4DMQYHPgI1PgE/ATYmLwEmDgEHDgEPAQYWNzM+ATcBFgcUBw4BBw4BDwEGBw4BJyYnJjc2NzYWMh4CFxY2PwE2Nz4BNz4BNz4CHgEOAS4BNgEnAx8WAQENEQYvSx0lCwUGDRIYHgUFEA4YEgsKAQIBEhcUTxMSBAcEExAWDx0GBwIHFhcgHyIPChELBwMBAQICAwSgDSITCAwDAwEFBAMHFzAZGCAEBAMOCAkLHggBgRICCQEwCAcUBwcOIRpGJCIGAwYMGAIKAwoFDQQOGgUGCw8DNwEDHAcIHhYdCwsdHAwMvQpfRwUGJy0PbQgDFRANDicKDhADAwcGCy8dLgEYDQ0RGxlDHBotJSEWIQUFAgYPDQ0GAgcFDQ0PDQ8LDQcIDqEQPy0BEioMDAwNAQICBSglJFEXFhcXAQEZDAEnCRcIJwXEJh1PGRktKB8TDw4hEg8bBQEBBAIFAgYOCgoPRw/jAg5iDQ4HbQkcHg8JHB4ABP8x/yEBkQH7AC8ANwBmAHEAABMOAQcOAQ8BBgcOAScuAicmNzY3NhceAT4DPwE2Nz4BNz4CNz4BFzAxFgcGLgI+AR4BBhcWBxQHDgEHDgEPAQYHDgEnJicmNzY3NjIeAxcWNj8BNjc+ATc+Ajc+ARcyNx4BDgEuATc+ApcBOgoIGAkIECMbTiQNFAsCAggMGxIfBw8LCwgGAQIOEgRCAQIPFgYIHgwRAwEEHAwNHB0LDKYSAggBLQgGEwYHDSEZRSUiBwMGCxkDBwUJBg0EDhkGBQoPAzMBAQ0RBQgdDAEWDg0MHB0MBgQPEwEpBsElHU4YGSwnHQ8QBhISChAPGgMDEgQCBAcIBwIDEkIP4AIHMTsIDgUHChcIUQocHg4KHB4mCRcIJwXFJh1QGRguKCAUDg0iERAbBQEBAwIFAgUOCgoPRw/kAgcyPAkOBwZvBBweDwkbDwoPBAAAA//P/zoCJQIVAFQAhACMAAABDgIHDggnJicmJyY2FxYXFj4CNz4BNzQmFQYHDgInIi4DJyY2NzY3PgQXFgcGBw4BBwYXFjc+ATc+Ajc+AhcWBw4BBzcWBwYHDgEHDgMPAQYHDgEnJicmNzY3MjYeAhcWNj8BNjc+Ajc+ATc+ARcwNh4BDgEuATYBNgcYLgkBDQcRDxcYHyMSOxEBAQssHQkPDhUTCwQKFgMBBgwFECIQAgcVEBEDBhEaKxMFCBALEwcXDAMNDCoGFw4FCBZHFQchEwYCBxcLJRgFDQO6EgEBCAEtBwQLCQkDAwwhGUYlIgYEBwsYBwIOAxEEDhkGBQsOAhsZAQMaBwgeDAgdDAwcHA0MASAUP4IcAywXMB0nFxMGAwknAgIeLwoDCQYBEQ4HEz0OAQEBCA0FDA4CAQUKFw8ba0BoGAcJDwQEBgwvCxcXWhFJFAYCBms0ElUrBwMFCQgTMAwhC3YIGAcnBsQmEy4nIwoJLiggFA4NIhEQGwUCBQEGAgUOCgoPRwt3cAMPYg0OBwZ0CRweDwgcHgAC/////wIZAn4APAB4AAABDgEnJicGBwYHFA4EIyIuAScmNjc2NyYnJjY3PgEfATIzNz4GFx4DDgMxFAcWFx4BNx4BBw4BJyYjBgcGBxQOBSMiLgEnJjY3NjcmJyY2Nz4BHwEyFzc0PgMXHgMOAzEUBxYBHQMfJAkKIRAzCwQCBgkPCgQKEwIEKR0SGRcHDQEJBxwKCgQGFQECBQcLCxAIBwoFAgECAgMNFQYQDtsQDgICICQICyEQMwsDAgQGCQ0JBAoTAgQpHRIaGAcNAQkHHAoKBAYWBAsNFQsHCgUCAQICAw0VAfMVIAIBAVQxl1AGHgsVCAgCEhAcvVQ0RAMDCR8QDAoBATYBBAsICwQEBAIJCQwLDAcHAR8CAgUMDwUNDBUhAwFTMZdRBhgLEgkLBAIRERu+VDNEBAMIIBAMCgEBATcCBhIJCQUDCAoMCgwHCAEeAgAAAAIAAv/+AoIChABIAIMAAAEeAQcOASciLgMiDgIHBgcGBw4BBxcWFxYXFhcWBw4BDwEGJyInBw4DFQ4BJicmNzY3NjcmJy4BNzY3Nhc3Njc+ARcWBQ4BJyYjBgcGBw4FIyIuAScmNjc2NyYnJjY3PgEzFxYzNz4EFx4DDgMxFAcWFx4BAlcYEwwLIggBCQYMCQwLCgoEFg8DAgEHARMOCwkFAwEDAwMGAgITJwQSIQsSCAsDGRoHEwQEEw8kFwgOAggKGwoXDRAYF04rF/7ZAiAjCQohDzIKAQMCBggPCwMKFAIFKBwSGRcHDgEJBxsKCwMHFQEDCw0VCwcKBQIBAgIDDBUGEA4CdgkfEw8DBQMBAwEBBAYFFysHBAQTBQIBBAQGAwQKDAgMAgMWAgJtJEwnQAERDwIFDy0iXERqAwMFJA4XBAIDIiknJSgEAooVIQIBUzGYUQUfChUICAESEBy+VDREAwMIIBAMCgEBNwIGEgkJBQIJCQwKDAcIAR8CAQUNAAACAAT//gIOAoAASgCFAAABBgcGHwEWBicuASc0PgI/ATY3MDY3Ni4CIyIHBgcOAw8BDgEnJicmPgE3Njc2Nz4CNzYWFxQHBgcwFjU+ARceAx8BFicOAScmIwYHBgcOBSMiLgEnJjY3NjcmJyY2Nz4BHwEyMzc+BBceAw4DMRQHFhceAQIDHwYJBQQBEhgZEgEFBwcCAgYBDwIBAgQEARMZGBUDDA0LAQgEGBMgAwECBQEFKRFRCgoVDBQhARcQLwETMBMHDQgGAQEU8gIgIwkKIBAwCgEDAgYIDwsDChQCBSccERkXBw4BCQcbCgsDBhUBAwsNFQsICgUCAQICAwwVBhAOATVoIy8tJA4cAwIlJg0nJSEKCxUHOAkFBwQBFBQpBSwzMws8EA8CBSUJFCUJLYo5yRgWGAMEExEYMyZ1AQESFAQCBwcHAgMfmxUhAgFTMpdRBR8LFQgIARIQHL5UNEQEAwgfEQwKAQE3AgYSCQoGAggKDAoMBwgBHgICBQwAAAAAAwAW//4BnQKCADoAXQBlAAABDgEnJiMGBwYHDgUjIi4BJyY2NzY3JicmNDc+ATMXMhc3PgQXHgMUDgIxFAcWFx4BFx4EDgIxMA4BBwYXFBYUDgIjBicmNjc+AT8BPgMeAQ4BLgE2ASwDHyQJCSAPMAkBAwIGCA8KBAoUAgUmGxEZGAcNCQcbCgsDBxQBAwsNFQsHCgUCAgIDDBUGEA4lCAoGBAEBAQEUGwYZAgEDBg0KHAsICw4JGgkIAgYaNhsLDh0cCg0B9hQiAgFUMZhRBR8KFggIARIQHL5VNEQDAwggEAwKAQE3AgcSCQoGAggKDAoMBwgBHgICBA1xAgUGBwcHBQU3TRlgNAMTBw0GBQEXEHk2IFIYGQQKD24KHR0NCh0dAAIACP/2AigCfABJAIYAACUWBzAVBicmJyYnBgcOBSciLgEnJjY3PgM/ATQ+AxceAxQOAjEUDgMHNjc2FxYHBgcWFx4BHwEeARceARUDDgEnJiMGBwYHFA4EIyIuAScmNjc2NyYnJjY3PgEfATIXNz4GFx4DDgMxFAcWFx4BAiUDGh0dGx4SORIFAQMCBgkRCwQMFQQFKR8LHRoWBgcEDA4XDQgLBgIDAgMPFxkbCVIIJw4QHhBTCwgJGQgIBi8DCAn/Ax8kCQohEDMLBAIGCQ8KBAoTAgQpHRIZFwcNAQkHHAoKBAYVAQIFBwsLEAgHCgUCAQICAw0VBhAOMRkPARITESgWY0UjBh4LFQgHAQISERy9VCBLPzYPDwIGEggJBgMJCgwKDAcIASI1PUMaPgUaIygcEDoVDxEjCgoIJgIHDgQBvRUhAwFTMZdRBR8KFQgIAhERG75UNEMEAwggEAwKAQEBNwEECggMBAMDAwgKDAoMBwgBHgICBQ0AAgAP//8B2wKBACoAZQAAAR4DFA4DMQ4EBwYHDgUjIi4BJyY+ATc+AT8BPgQHDgEnJicGBwYHDgUjIi4BJyY2NzY3JicmNjc+ARczFjM3PgQXHgMOAzEUBxYXHgEBwAcKBgQBAgICAQ4WGRkJMQkBAgIGCRALBAsWAwQPHxMRMA8PAQMMDhaMAiAjCQogEDAKAQMCBggPCwMKFAIFJxwRGRcHDgEJBxsKCwMHFAEDDAwVCwgKBQIBAgIDDBUGEA4CdgIHCQoKCQoGBgIiNz5FGZZRBh4LFQgHAhIQEmSBNzKAJicCBhIICYcVIQIBAVQxmFEFHwsVCAgCERAcvlU0RAMDCCAQDAoBATcCBhIJCgYCCAoMCgwHCAEeAgIFDAAAAwAG//4DBgJ+AEcAhADBAAABBgcGHwEWBicuASc0Nj8BNjcwNjc2LgEjIgcGBw4CDwEOAScmJyY+Ajc2NzY3PgM3NhYXFAcGBxY1PgEXHgMfARYlDgEnJicGBwYHFA4EIyIuAScmNjc2NyYnJjY3PgEfATIzNz4GFx4DDgMxFAcWFx4BFw4BJyYjBgcGBxQOBSMiLgEnJjY3NjcmJyY2Nz4BHwEyFzc0PgMXHgMUDgMVFAcWFx4BAvsfBgkFBAESGBkSAQsGBwUBDwIBBAUCExkYFQQSEAIIBBgTIAMBAQIEAQYoEVEHCA4PCRQhARcQLwETMBQGDQgGAQEU/h4DHyQJCiEQMwsEAgYJDwoEChMCBCkdEhkXBw0BCQccCgoEBhUBAgUHCwsQCAcKBQIBAgIDDRUGEA73AiAkCAshEDMLAwIEBgkNCQQKEwIEKR0SGhgHDQEJBxwKCgQGFgQLDRULBwkFAwEDAgINFQYQDgE1aCMvLSQOHAMCJSYVRxoZFQc5CAYJAxUUKQdCSg88EA8CBSUEFg0bCiyKOckSERgMAgQTEBg0JnUBARIUBAIGCAcCAiCaFSACAQFUMZdQBh4LFQgIAhIQHL1UNEQDAwkfEAwKAQE2AQQLCAsEBAQCCQkMCwwHBwEfAgIFDA8VIQMBUzGXUQYYCxIJCwQCEREbvlQ0QwQDCCAQDAoBAQE3AgYSCQkFAgcJCgoKCQYGAQEeAgIFDQAABAAB//wD7QKMACcAPQCFAM8AABM2FhceAQ4BBw4BDwEGBwYWMzY3PgEXHgEVBwYHBgcGJicmNjc+Ahc2Jy4BDgEPAQ4BDwEGFBY2PwE+AiUWFxYHDgEPAQYnIicHDgMVDgEmJyY3Njc2NyYnLgE3Njc2Fzc2Nz4BFxYXHgEHDgEnIi4CIg4CBwYHBgcOAQcXMhcWJR4BBw4BJyIuAw4CBwYHBgcOAQcXFhcWFxYXFgcOAQ8BBicmJwcOAxUOAiYnJjc2NzY3JicuATc2NzYXNzY3PgIXFtgnPwcDAQkeGB5bHx4HAgMaGCMaBxoPCgoBAQcNFStqHB4CHhRDRDAXDQQKCQkCAhMtDQ4HDA0GBhkrEAFtBAEDAwIGAgISJwQSHQoQBwgDGBoHFAMCEQwhGAgOAwcKGwoXCw8XFkwrFxUYFAsKIwgBCwcOCg4LCwUUDwICAQYBEw4LCQFwGBQMCiMIAQsHDgoOCwwEFQ8CAgEGAhQOCwgGAwEDAwIGAgITJwQRHwsRBgoCEBMSBRQEAhINIhcIDwIIChsJFwwQFw8sNxwXAaAHHhgNHykvFhshAwMIGhUbASgKCwYFEgcGCw4ZDhsJHR9YTTBVMHUwCgMCAQMBAQozFRUPEAUBAgIKJheUBAQKCwgNAgIYAQFuJEwoQAEREAEGDi0iXEVrAgMEJQ4XBQICIionJioCAQcIHxMQBAUDAQMBBAcFGCwHBQMTBQIEA8UIHxMQAwUDAQIBAQQHBRgrBwUDEwUCAQQDBgMECgwIDAMCFwEBAW4kTCg/AQ0QBAMEDi0iXERrAwMEJQ0YBQECIionGSMSAgIABf/9//4DlgKGAC0AQwBuAIUAzQAAEzYeAhcWBgcOAQ8BBgcGFjc2Nz4DFx4FFQcGBwYHBiYnJjY3PgIXNicuAQ4BDwEOAQ8BBhQWNj8BPgIlFgcOAQcOAicuAicmIwcGBwYmNz4BPwE2NzYWFxYPATY3NhcWFxYXFgc+AicuAQcOAQ8BDgEPARYGFjcyNjcDBgcOAQcXFhcWFxYXFgcOAQ8BBiciJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFhceAQcOASciLgIqAQ4BBwbUFCUdFAMIFi0eWx8eBwIDGhgjGgMJDA8JBAgEAgEBAQEHDRUrahweAh4UQ0QwFw0ECgkJAgITLQ0OBwwNBgYZKxACqwUEBjUkAwoiFAMKFAQCAQIGIBgWAQEoHV4LFhIfBgwORwgDHB8IBwgFBnATGAYCAwkLBg4EBBoeAwIBAgoKChYH8gMCAQYCFA4LCAUEAQMEAgYCAhMnBBEgCxIHCwMYGggTBAMTDiMXCA4DCAsbCRcNEBcXTSsXFRgTCwsjCAELBg4KDwsLBRUBogQFDhQLH1MoGyEDAwgbFBwBAScECAYBBAIGBwcGBQECCw4YDhsIHSBXTTFUMXUvCgQCAgIBAgk0FBUQEAQBAgELJhdBJi47jicDCg0DAQIPDQUEIgEBHxkjuU3uHAwGCgoUJKsKBB0QBQgKCw/2IV0+Cw0JAgENBgYnZyAgARARARgLAXIIBAQSBQIBBQMGAwUJDAgMAwIXAgJuJEwnQAEQEAIFDy0iXERqAwMFJA4YBAECIiknJSkEAgcJHxMPAwUDAgIEBwUXAAACACX//gK4AocASACVAAABFhcWBw4BDwEGJyInBw4DFQ4BJicmNzY3NjcmJy4BNzY3Nhc3Njc+ARcWFx4BBw4BJyIuAyIOAgcGBwYHDgEHFxYXFiUeAQcOAScwLgIqAQ4BBwYHBgcOAgcXFhcWFxYXFgcOAwcVBiciJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgMXFgEbAwEDAwMGAgETJwQSHwsSBwoDGRkIEwQDEg4jGAcPAggKGwkYDBAXF00rFxQZEwsLIwgBCQYLCgwKCwoEFQ8DAgEGAhQOCwgBdxkSCwsjCAsHDgoPCwsFFRADAQIDAwIUDgsIBQQBAwQCAwMDARMoBBEhCxIICwMZGgcTBAQTDiUYBw8CCAsbCRgMEBgMHyUrFRcBrwQECgsIDQICFwIBbSVMJz8BERABBg8tIV1EagMDBSQOGAQBAiIqJiYoAwIHCR8SEAMFAgICAQIDBgUYKwcEBBMFAgEEA8MJHxMPAwUDAgMEBwUXKwcFAwgLBQIBBAQGAwQKDAUJBQQBARYCAm4kSyg/AREPAQYPLSJcRGkEAwUkDhcEAgMiKScSHRMJAgIAAAAAAwAd//4BxgKCAEkAbQB5AAABBiciJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFhceAQcOASciLgIqAQ4BBwYHBgcOAQcXFhcWFxYXFgcOAyM3HgMcAQ4BMRQOAQcGFxQWFA4DIwYnJjY3PgE/AT4DHgEHDgMnLgE2ARIUJwQRIgwTCAsDGhkHFAUEFA8lFwcPAQgLGwkXDREYF08rFhUYEgsLIwgBCwcNCw4LDAQWEAMCAQYCEw4LCQUDAQMEAQQDAwF1BwoGBAECFRsHGwEBAgQHDAgcCggNDwobCQkCBhorGwsHAwsODwcOCg0BdRcDAm0kTCc/AREPAgYPLCJcRGkEAwUkDhcEAQIhKiYlJwUCBwofEw8CBQMCAwQGBRcrBwUDEwUCAQUDBwMECgsGCAYEHQIFBggGCAQFATZNGV80AxAHCwYHAgEXEHo1IFEYGQQKDnAKHQ8HCwYBAwUcHgAAAgAu//4CRgKFAEkAcAAAARYXFgcOAQ8BBiciJwcOAxUOASYnJjc2NzY3JicuATc2NzYXNzY3PgEXFhceAQcOASciLgMOAgcGBwYHDgMHFxYXFiUeAxQOAjEUDgEHBgcOBSMiLgEnJjY3PgE/ATQ+AwEnAwEDBAIGAgITJwQRIQsSBwsDGRkIEwQDEw4kFwgOAgcLGwkYDBAYF00rFxUYEwwLIggBCwcOCg4LDAQVEAMBAQMCAgIUDgsIAQoICwUCAgMDJDENNAoBAwIGCRELBAsVAwUpHRIyEBAEDA4WAa0DBAoMCAwCAxYCAW0kTCdAAREPAgUPLSJcRGoDAwUkDhgEAQIhKiYmKAQCBwkfExACBQMCAgEBBAYFGCsHBQIHBggEAgEEBMcDCQoMCgwHBwFVeCeWUQUfCxQIBwISERy9UzJ/JyYCBhIICQAAABAAxgABAAAAAAABAAkAFAABAAAAAAACAAcALgABAAAAAAADABYAZAABAAAAAAAEAAkAjwABAAAAAAAFACIA3wABAAAAAAAGABABJAABAAAAAAAQAAkBSQABAAAAAAARAAcBYwADAAEECQABABIAAAADAAEECQACAA4AHgADAAEECQADACwANgADAAEECQAEABIAewADAAEECQAFAEQAmQADAAEECQAGACABAgADAAEECQAQABIBNQADAAEECQARAA4BUwBNAGEAbAB0AGUAcwBlAHIAcwAATWFsdGVzZXJzAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAAAxAC4AMAAwADIAOwBNAGEAbAB0AGUAcwBlAHIAcwBSAGUAZwB1AGwAYQByAAAxLjAwMjtNYWx0ZXNlcnNSZWd1bGFyAABNAGEAbAB0AGUAcwBlAHIAcwAATWFsdGVzZXJzAABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAyADsARgBvAG4AdABzAGUAbABmACAATQBhAGsAZQByACAAMgAuADMALgA1AABWZXJzaW9uIDEuMDAyO0ZvbnRzZWxmIE1ha2VyIDIuMy41AABNAGEAbAB0AGUAcwBlAHIAcwBSAGUAZwB1AGwAYQByAABNYWx0ZXNlcnNSZWd1bGFyAABNAGEAbAB0AGUAcwBlAHIAcwAATWFsdGVzZXJzAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAAAAAAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAKwAAAABAAIBAgEDAAMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQCsAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAljb250cm9sTEYJY29udHJvbENSB0FwLmxpZ2EHQWoubGlnYQdFdC5saWdhB0VmLmxpZ2EHRWoubGlnYQdFay5saWdhB0VsLmxpZ2EHRWIubGlnYQdGdC5saWdhB0ZoLmxpZ2EHRmsubGlnYQdGbC5saWdhB0ZiLmxpZ2EHSHQubGlnYQdIZi5saWdhB0l0LmxpZ2EHSXAubGlnYQdJZi5saWdhB0lqLmxpZ2EHSWwubGlnYQdJYi5saWdhB0p0LmxpZ2EHSmYubGlnYQdKaC5saWdhB0prLmxpZ2EHSmwubGlnYQdKYi5saWdhB0t0LmxpZ2EHS3AubGlnYQdLeS5saWdhB0xqLmxpZ2EHTWoubGlnYQdNaC5saWdhB01mLmxpZ2EHTnQubGlnYQdOZi5saWdhB09mLmxpZ2EHT3oubGlnYQdQcS5saWdhB1B3LmxpZ2EHUHIubGlnYQdQdC5saWdhB1B5LmxpZ2EHUHUubGlnYQdQaS5saWdhB1BmLmxpZ2EHUGgubGlnYQdQai5saWdhB1BrLmxpZ2EHUGwubGlnYQdQei5saWdhB1B4LmxpZ2EHUHYubGlnYQdQYi5saWdhB1BuLmxpZ2EHUG0ubGlnYQdScC5saWdhB1JmLmxpZ2EHUmoubGlnYQdUdC5saWdhB1RmLmxpZ2EHVGgubGlnYQdUay5saWdhB1RsLmxpZ2EHVGIubGlnYQdVdC5saWdhB1VzLmxpZ2EHVWYubGlnYQdWdC5saWdhB1ZzLmxpZ2EHVmYubGlnYQdWbC5saWdhB1d0LmxpZ2EHV2YubGlnYQdYcC5saWdhB1l0LmxpZ2EHWWkubGlnYQdZZi5saWdhB1loLmxpZ2EHWWwubGlnYQdZay5saWdhB1liLmxpZ2EHQWYubGlnYQdDeS5saWdhB0VoLmxpZ2EHR3IubGlnYQdPcC5saWdhB2J0LmxpZ2EHYnIubGlnYQdiZi5saWdhB2JqLmxpZ2EHYnoubGlnYQdkdC5saWdhB2VmLmxpZ2EHZnQubGlnYQdmaC5saWdhB2ZiLmxpZ2EHZmsubGlnYQdnai5saWdhB2pqLmxpZ2EHeWoubGlnYQd0dC5saWdhB3RmLmxpZ2EHdGgubGlnYQd0aS5saWdhB3RrLmxpZ2EHdGwubGlnYQh0dGgubGlnYQhlZmYubGlnYQhlZmIubGlnYQdmZi5saWdhB2ZpLmxpZ2EHZmwubGlnYQAAAAAAAAH//wACAAEAAAAMAAAAHAAAAAIAAgADADoAAQA7AKsAAgAEAAAAAgAAAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQQIAB0AQABaAGQAngDIANIA5AEWAUgBYgFsAYYBmAGyAkQCXgKQAqoCzALeAugDIgNMA1YDdAOuA7gDwgP+AAMACAAOABQAjQACACUAPAACACkAOwACAC8AAQAEAI4AAgA4AAcAEAAWABwAIgAoAC4ANACPAAIAJwBCAAIAIQBBAAIAKwBAAAIAKgA/AAIAKQA+AAIAJQA9AAIAMwAFAAwAEgAYAB4AJABHAAIAIQBGAAIAKwBFAAIAKgBEAAIAJwBDAAIAMwABAAQAkAACADEAAgAGAAwASQACACUASAACADMABgAOABQAGgAgACYALABPAAIAIQBOAAIAKwBNAAIAKQBMAAIAJQBLAAIALwBKAAIAMwAGAA4AFAAaACAAJgAsAFUAAgAhAFQAAgArAFMAAgAqAFIAAgAnAFEAAgAlAFAAAgAzAAMACAAOABQAWAACADgAVwACAC8AVgACADMAAQAEAFkAAgApAAMACAAOABQAXAACACUAWwACACcAWgACACkAAgAGAAwAXgACACUAXQACADMAAwAIAA4AFACRAAIALwBgAAIAOQBfAAIAJQASACYALAAyADgAPgBEAEoAUABWAFwAYgBoAG4AdAB6AIAAhgCMAHIAAgAsAHEAAgAtAHAAAgAhAG8AAgA1AG4AAgA3AG0AAgA5AGwAAgArAGsAAgAqAGoAAgApAGkAAgAnAGgAAgAlAGcAAgAoAGYAAgA0AGUAAgA4AGQAAgAzAGMAAgAxAGIAAgA2AGEAAgAwAAMACAAOABQAdQACACkAdAACACUAcwACAC8ABgAOABQAGgAgACYALAB7AAIAIQB6AAIAKwB5AAIAKgB4AAIAJwB3AAIAJQB2AAIAMwADAAgADgAUAH4AAgAlAH0AAgAyAHwAAgAzAAQACgAQABYAHACCAAIAKwCBAAIAJQCAAAIAMgB/AAIAMwACAAYADACEAAIAJQCDAAIAMwABAAQAhQACAC8ABwAQABYAHAAiACgALgA0AIwAAgAhAIsAAgAqAIoAAgArAIkAAgAnAIgAAgAlAIcAAgAoAIYAAgAzAAUADAASABgAHgAkAJYAAgA5AJUAAgApAJQAAgAlAJMAAgAxAJIAAgAzAAEABACXAAIAMwADAAgAEAAYAKgAAwAlACEApwADACUAJQCYAAIAJQAHABAAFgAcACIAKAAuADQAqwACACsAqgACACgAqQACACUAnAACACoAmwACACEAmgACACcAmQACADMAAQAEAJ0AAgApAAEABACeAAIAKQAHABAAGAAeACQAKgAwADYApgADADMAJwClAAIAKwCkAAIAKgCjAAIAKACiAAIAJwChAAIAJQCgAAIAMwABAAQAnwACACkAAQAdAAYACAAKAAsADAANAA4ADwAQABEAEgATABQAFQAXABkAGgAbABwAHQAeACEAIwAkACUAJgApADMAOAAAAAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFrZXJuAAgAAAABAAAAAQAEAAIAAAABAAgAAQPGAAQAAABEAJIAnADSAOABIgEoATYBPAFKAVABXgFkAW4BfAGKAawBsgHAAcYB1AHiAewB/gIIAhYCSAJiAnAChgKcAqoCvALKAtAC6gL0AvoDAAMKAxADGgMgAyYDLAMyAzgDOAMyAz4DRANOAz4DVANaA2ADIANmA2wDcgN4A34DiAOOA5gDngOkA7IDvAACAC7//AA3//IADQAl/+oAKP/8ACn/9AAq//AAK//6ACz//gAt//4AMf/qADP//AA0//wANf/+ADb/+AA5//QAAwAt//wALv/8ADb//AAQACT//AAl/+wAJv/6ACf//AAp/+wAKv/0ACv/+gAs//gALf/8AC//7gAx//gAMv/0ADT/9gA3/+oAOP/6ADn/5AABADf/+gADADX//AA3/+gAOf/6AAEALv/2AAMAKP/8ACn/6AAy/+QAAQAu//IAAwAo/+4AL//2ADX/5gABACT/8AACABgAAgAoAAQAAwAo//4ALv/wADL/+AADACf/9gAv/+4Ao//sAAgAKf/qACv/9AAu//wAL//uADH/7gAy//IAN//mAJX/9AABADYADgADACAABAAjAAQAM//4AAEAMv/8AAMAJv/+ACr/+AA3//4AAwAo//gALv/0AJn/7AACACMAAgAl/+wABAAk//wAL//8ADT/9AA4//4AAgAt//IAq//iAAMAJf/sACb/+AA3//wADAAk//wAJv/+ACj/+gAp/+AAK//+ACz/9gAt//wAL//qADH/7AAy//IAN//cAKP/4gAGACQAAgAl/9oAK//yAC//4gAx/+gAMv/8AAMAKQB+ADL/7ACeAIgABQAg//wAIv/4ACb//AAu//YANQAEAAUAKf/0ACr/+AAv//QAM//mAKP/3gADACEAHAAkAAIALv/4AAQAJf/0AC3//gAv//wAmf/8AAMAJP/wACf/+AAp/+4AAQAk//oABgAg//QAIf/wACj/9gAu/+wAL//0ADP/9AACACH//gA3//IAAQApAEIAAQAnACgAAgAzADQAqgAoAAEAMwA0AAIAMwAyAKEARgABADL/6gABADMALAABACkANAABAJoAGAABADMAMgABACkAOAABADMAMAACACUAEgAzAC4AAQApAHgAAQApADYAAQAzAC4AAQAzADgAAQAzAEIAAQAzAEwAAQAz//IAAQAnAEgAAgAl/+4Amv/oAAEAKQBiAAIAKQBaAJ4AUAABACkAVgABAKEARAADADMANgCaABIAogBKAAIAJwAsAKEARgACAC3/8gA3/+oAAQBEAAYABwAIAAkACgAMABEAFAAVABgAHQAgACEAIgAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOQA8AD0APgBIAEkASwBMAE0AUABRAFkAWgBcAF4AXwBhAGgAagB+AIEAhACIAI0AkQCYAJoAnQCeAJ8AoAChAKkAqgAAAAAAAQAAAADUGBYRAAAAANfpcqUAAAAA1+lypQ==";
|
|
8019
|
-
class In extends
|
|
8019
|
+
class In extends mt {
|
|
8020
8020
|
constructor(e, t) {
|
|
8021
8021
|
super(), this.moduleName = "Maltesers", this.shortLength = 5, this.indicator = (A) => A ? 1 : 0, this.backgroundSvg = e, this.backgroundShortSvg = t;
|
|
8022
8022
|
}
|
|
@@ -8043,28 +8043,28 @@ class In extends Qt {
|
|
|
8043
8043
|
S,
|
|
8044
8044
|
T + (s / 3 - S) ** 2 / s * this.indicator(S < s / 3)
|
|
8045
8045
|
]), N.transform(([S, T]) => [S - (i - T) * (s - S) / 800, T]), I;
|
|
8046
|
-
}, [c, B,
|
|
8046
|
+
}, [c, B, g] = pA(t);
|
|
8047
8047
|
if (!c)
|
|
8048
8048
|
return "";
|
|
8049
8049
|
const d = v("defs");
|
|
8050
8050
|
c.appendChild(d), DA(c, d, t);
|
|
8051
8051
|
let C, w, h, u;
|
|
8052
|
-
A ? (C = B * 0.25 * (1 + 0.1), w =
|
|
8052
|
+
A ? (C = B * 0.25 * (1 + 0.1), w = g / 2 * (1 + 0.1), h = g * 0.22, u = B * 0.32) : (C = B * 0.22 * (1 + 0.1), w = g * 0.8, h = g * 0.067, u = B * 0.33);
|
|
8053
8053
|
const E = v("g");
|
|
8054
8054
|
c.appendChild(E), E.setAttribute("transform", `translate(${h} ${u}) rotate(-10)`);
|
|
8055
|
-
const D =
|
|
8055
|
+
const D = Qt(C, w);
|
|
8056
8056
|
D.setAttribute("opacity", "0"), E.appendChild(D);
|
|
8057
|
-
const
|
|
8058
|
-
E.appendChild(
|
|
8057
|
+
const Q = v("g");
|
|
8058
|
+
E.appendChild(Q);
|
|
8059
8059
|
const p = r();
|
|
8060
|
-
|
|
8061
|
-
const
|
|
8062
|
-
return pt(
|
|
8060
|
+
Q.appendChild(p);
|
|
8061
|
+
const m = wt(o);
|
|
8062
|
+
return pt(Q, m, C, w), c.outerHTML;
|
|
8063
8063
|
}
|
|
8064
8064
|
// 1 if true, 0 if false.
|
|
8065
8065
|
}
|
|
8066
8066
|
const fn = "data:application/octet-stream;base64,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DOYNZA3mDlQOyg88D54QEBCGEQARchHsEmIS1BOWFAwUghTwFWIV1BaiFxQXkhgEGMYZdBomGtQbfhwYHL4dYB3+HpgfPh/oIJYhPCHmIpQjRiPsJJolSCXuJpQnQifoKJIpRAAmAAn/8QAK//sADP/7AA3/+wAO//sAD//7ABD/+wAR//sAEv/7ABP/+wAU//sAFf/xABb/8QAZ//sAHf/2AB7/+wAf//sAIP/xACH/+wAi//sAI//7ACT/+wAl//EAJv/2ACf/8QAo//sAKf/2ACr/+wAr//sALP/sAC3/7AAu/+IAL//dADD/9gAx/+wAMv/7ADP/+wA0//YAKwAG//EACP/nAAn/4gAK/9MAC//iAAz/9gAN/+IADv/sAA//4gAQ/9gAEf/iABL/1QAT//EAFP/nABX/8QAW/9gAMf/TADL/pgAz//MANP/nADX/8QA2//EAN//7ADj/7gA5//YAOv/7ADv/2AA8//EAPf/2AD7/9gA///EAQP/sAEH/+wBC/+wAQ//xAET/7ABF/+wARv/2AEf/3QBI/90ASf/EAEr/zgBL//YAKwAG//YAB//2AAn/3QAL/+wADP/sAA3/8QAO//YAD//sABD/8QAR/+wAEv/iABP/5wAU/+wAFf/dABb/7AAX/78AMf/YADL/sAAz/+IANP/iADX/8QA2/+cAN//xADj/3QA5/+wAOv/2ADv/4gA8//EAPf/xAD7/8QA///YAQP/YAEH/9gBC/+cAQ//sAET/7ABF/+wARv/xAEf/zgBI/9MASf/OAEr/zgBL/+wAKgAG//YAB//iAAj/4gAK/+IADP/dAA3/ugAO/+IAD//iABD/5wAR/+IAEv/dABP/yQAU/90AFf+mABb/0wAx/5gAMv/YADP/4gA0/9MANf/xADb/7AA3/+wAOP/iADn/7AA6//EAO//dADz/5wA9/+wAPv/sAD//5wBA/9gAQf/sAEL/zgBD/+wARP/YAEX/tQBG/90AR/+hAEj/oQBJ/8QASv+DAEv/7AAqAAb/8QAH/90ACP/YAAn/oQAL/8kADP/iAA3/sAAO/+cAD//YABD/4gAR/90AEv/bABP/4gAU/+IAFf/TABb/5wAg/+QAMf/nADL/3AAz//QANP/rADX/9AA2//IAN//4ADj/8AA5//QAOv/1ADv/7AA8/+oAPf/7AD7/9wA///IAQP/tAEH/+wBC/+IAQ//2AET/4wBF/7YARv/vAEf/pgBK/6MAS//yACYAB//TAAj/8QAK/84ADP/dAA3/9gAO//EAD//dABD/pgAR/8kAEv+6ABP/7AAU/90AFf/OADH/xAAy/5IAM//sADT/3QA1/+cANv/xADf/9gA4/90AO/9WADz/5wA9//EAPv/sAD//5wBA/84AQf/dAEL/0wBD/+cARP/nAEX/5wBG/+cAR//dAEj/2ABJ/7oASv/JAEv/4gAsAAb/+wAH//sACP/xAAn/zgAK/+cAC//dAAz/9gAN/9gADv/tAA//7AAQ/+kAEf/rABL/3QAT/90AFP/hABX/3QAW/90AMf/nADL/vwAz/+cANP/nADX/8QA2//EAN//sADj/5wA5//YAOv/2ADv/4gA8//EAPf/2AD7/+wA///sAQP/2AEH/+wBC/+wAQ//7AET/7ABF/9MARv/7AEf/yQBI/84ASf+wAEr/xABL/+cADgAG//sACf/xAAv/7AAN//sADv/7AA8AAAAR//EAEv/0ABP/9gAU//EAFf/xABb/7AAx//YAQP/2ACkABv/7AAf/9gAI//sACf/iAAr/5wAL/+wADP/vAA3/3QAO//sAD//qABD/8QAR/+wAEv/nABP/8QAU/+cAFf/iABb/7AAx/+cAMv/vADP//AA0/+cANf/7ADb//gA4//EAOf/8ADr//AA7/+kAPP/6AD3//QA+//4AP//7AEL/6gBD//0ARP/2AEX/7ABG//EAR//YAEj/4gBJ/+wASv/LAEv//AAsAAb/+wAH//EACP/2AAn/0wAK/+IAC//JAAz/5wAN/90ADv/iAA//7AAQ/+cAEf/sABL/3QAT/9MAFP/iABX/zgAW/+cAMf/YADL/xAAz/+wANP/dADX/6AA2//EAN//xADj/4wA5//EAOv/2ADv/7AA8/+wAPf/sAD7/9gA//+wAQP/iAEH/8QBC/90AQ//nAET/5wBF/8QARv/mAEf/xABI/8kASf+1AEr/rQBL/+IALAAG//sAB//7AAj/9gAJ/9MACv/2AAv/ugAM/+kADf/dAA7/9gAP/+wAEP/2ABH/8AAS//EAE//2ABT/5wAV/9gAFv/sADH/vwAy/9UAM//eADT/3wA1//EANv/xADf/9gA4/+IAOf/xADr/9gA7/+wAPP/xAD3/9gA+//EAP//2AED/2ABB//EAQv/nAEP/9gBE/+cARf/TAEb/8QBH/9gASP/YAEn/xgBK/78AS//xACsABv/7AAf/9gAI/+wACf/TAAr/5wAL/90ADP/lAA3/zgAO/90AD//dABD/7AAR/+IAEv/iABP/2AAU/+IAFf/JABb/5wAx/90AMv/EADP/6wA0/+EANf/wADb/8AA4/9wAOf/dADr/7AA7/9gAPP/sAD3/5wA+/+wAP//iAED/0wBB/+IAQv/YAEP/4gBE/84ARf/JAEb/4gBH/8kASP/OAEn/vwBK/8kAS//TACwABv/7AAf/3wAI/+cACf+wAAr/4wAL/8kADP/dAA3/xwAO/+cAD//dABD/7AAR/+cAEv/iABP/yQAU/9cAFf+/ABb/4gAa/+kAMf/YADL/uwAz/+EANP/dADb/6wA3//MAOP/lADn/8QA6//IAO//eADz/5wA9/+4APv/zAD//8ABA/+IAQf/2AEL/6gBD//YARP/kAEX/zABG/+8AR/+0AEj/uwBJ/64ASv+vAEv/5QAsAAb/+wAH/90ACP/nAAn/4gAK/9MAC//nAAz/3QAN//YADv/eAA//3QAQ/7AAEf/OABL/sAAT//sAFP/dABX/0wAW/9MAMf/iADL/iAAz//YANP/OADX/9gA2//EAN//xADj/0wA5//YAOv/zADv/gAA8//EAPf/7AD7/+wA///YAQP/OAEH/7gBC/84AQ//2AET/2ABF//sARv/2AEf/5wBI/+cASf/TAEr/4gBL/+wALAAG//sAB//2AAj/8QAJ/9gACv/nAAv/3QAM/+IADf/dAA7/4gAP/+IAEP/nABH/5wAS/9gAE//YABT/3QAV/84AFv/sADH/5wAy/78AM//nADT/2AA1/+cANv/nADf/7AA4/90AOf/sADr/7AA7/+cAPP/sAD3/8QA+/+wAP//xAED/4gBB//EAQv/dAEP/5wBE/+IARf/YAEb/5wBH/78ASP/HAEn/sABK/7UAS//dACsABv/xAAf/8QAI/+IACf/dAAr/0wAL/+IADP/iAA3/3QAO/+cAD//dABD/zgAR/9MAEv/EABP/0wAU/84AFv/dADH/4gAy/6EAM//jADT/3QA1/+wANv/sADf/5wA4/90AOf/nADr/8QA7/78APP/xAD3/9gA+/+wAP//nAED/3QBB/+cAQv/nAEP/5wBE/+IARf/OAEb/3QBH/8QASP/JAEn/lwBK/7oAS//YACkABv/sAAf/0wAI/90ACf/OAAr/3QAM/90ADf/EAA7/5wAP/9gAEP/YABH/3QAS/9MAE//YABT/4gAV/90AMf/sADL/wAAz/+8ANP/kADX/6wA2//AAN//2ADj/5AA5//EAOv/uADv/1gA8//QAPf/2AD7/8QA///AAQP/dAEH/7ABD/+gARP/YAEX/1QBG/+wAR/+3AEj/wwBJ/7UASv+wAEv/5gAeAAf/zgAi/+4AI//5ACT/7wAy/9AAM//pADT/sQA1/+sANv/nADf/5gA4/7oAOf/vADr/9wA7/9AAPP/sAD3/6wA+/+YAP//sAED/uwBB/+kAQv+7AEP/5ABE/9QARf+6AEb/0ABH/34ASP+SAEn/zQBK/5sAS//nABwAF//RACT//wAy/9EAM//uADT/5wA1/+8ANv/3ADf/7gA4/+gAOf/3ADr/+wA7/9oAPP/vAD3/9wA+/+4AP//vAED/4QBB//cAQv/nAEP/7wBE/+4ARf/QAEb/9wBH/8EASP/MAEn/wwBK/7sAS//nABwAF//QABv/+QAy/8EAM//zADT/6wA1//sANv/zADf/+wA4/+8AOf/zADr//gA7/+EAPP/vAD3/9wA+//kAP//3AED/4gBB//kAQv/jAEP/8wBE/+YARf/VAEb/+QBH/84ASP/JAEn/twBK/8EAS//rAB8ABv/7ABL/3wAX/8kAJf/5ACv/7wAy/7oAM//zADT/6wA1/+8ANv/uADf/8wA4/+oAOf/vADr/7wA7/9QAPP/5AD3//gA+//EAP//vAED/4wBB//MAQv/mAEP/7gBE/+cARf/XAEb/6wBH/8kASP/JAEn/twBK/7cAS//nACAABv/7ACQAAgAl/+8AJ//5AC3//gAv//4AMv/oADP//QA0/+sANf/7ADb/+gA3//sAOP/jADn/9wA6//oAO//kADz//wA9//0APv/+AD8AAABA/+gAQf/7AEL/6ABD//sARP/sAEX/8QBG//sAR//qAEj/6wBJ/+cASv/qAEv/+QAbAAb/+wAl/+8AMv+5ADP/+wA0/+8ANf/7ADb/+wA3//0AOP/vADn/+wA6AAAAO/+7ADz//gA9//4APv/7AED/7ABB//4AQv/nAEP/+QBE//kARf/7AEb/+QBH//MASP/rAEn/4gBK/+8AS//7AB0ABv/2ABf/zgAl/+8AMv+3ADP/9wA0/+sANf/3ADb/8QA3//kAOP/uADn/8wA6//sAO//YADz/8wA9/+4APv/3AD//8wBA/+MAQf/3AEL/6QBD/+8ARP/nAEX/1ABG/+8AR//JAEj/zABJ/6YASv/JAEv/3AAcAAb/+wAX//MAJf/7ADL/6wAz//4ANP/uADX/+wA2//4AN//+ADj/8wA5//0AOv/+ADv/7gA8//4APf/+AD7/+wA///4AQP/uAEL/9wBD//4ARP/+AEX/+QBG//4AR//uAEj/9wBJ/+4ASv/zAEv//gAYAAb/+wAx//YAMv/rADP//wA0//MANf//ADYAAQA3//8AOP/zADv/6AA8//4APf/+AD4AAQBA/+4AQf//AEL/8wBD//4ARP/4AEX//QBH/+wASP/3AEn/7ABK//EASwABABwABv/2ABf/4QAy/8oAM//9ADT/+QA1//4ANv/7ADf//gA4//MAOf/+ADr//wA7/+EAPP/7AD3//gA+//4AP//+AED/7wBB//4AQv/zAEP//gBE//sARf/7AEb//gBH/+8ASP/5AEn/2gBK//oAS//+AB0ABv/nABf/5wAx/7AAMv/hADP/7gA0/7QANf/rADb/5wA3/+4AOP+sADn/6wA6//kAO/+3ADz/6gA9/+8APv/nAD//5wBA/6wAQf/uAEL/rgBD/+cARP+8AEX/3ABG/9oAR//cAEj/0QBJ/9oASv/RAEv/7wAeAAb/9gAX//cAI//9ADH/vwAy/+4AM//5ADT/2gA1//4ANv/3ADf/+wA4/9oAOf/3ADr/+wA7/+cAPP/7AD3/+QA+//cAP//5AED/1ABB//sAQv/cAEP/9wBE/+8ARf/JAEb/6wBH/8QASP++AEn/5wBK/8EAS//+ABwAF//7ADH/7AAy/+QAM//+ADT/7gA1//4ANgAAADf//QA4//cAOf/7ADr//gA7/+4APP/+AD3//gA+//0AP//7AED/7wBB//4AQv/uAEP//gBE//cARf/7AEb/+QBH/+gASP/vAEn/6wBK/+gAS//+AB4ABv/7ABf/8wAa//4AHf/3ACX/9wAq//4AMf/2ADL/5AAz//0ANP/zADX/+wA2//4AN//+ADj/+QA7/+4APf/+AD7/+wA///4AQP/2AEH/+gBC/+4AQ//7AET/+QBF//sARv/+AEf/8wBI/+8ASf/zAEr/6wBL//4AHQAG//EAJP/3ADH/7AAy/7sAM//sADT/4wA1/+8ANv/vADf/9wA4/+QAOf/qADr/9wA7/98APP/vAD3/9wA+/+sAP//uAED/4wBB/+4AQv/mAEP/7wBE/+IARf/VAEb/7gBH/8MASP/GAEn/uwBK/7oAS//fABwABv/sACT//gAy/54AM//rADT/6gA1//EANv/rADf/9wA4/+MAOf/oADr/9wA7/64APP/sAD3/8QA+/+wAP//sAED/4QBB//MAQv/oAEP/5ABE/9gARf/kAEb/7gBH/9EASP/QAEn/uwBK/8QAS//zADAAF//3ABj//wAZ/+kAGv//ABv//QAc//4AHf/pAB7/+wAf//8AIP/iACH//gAi//8AI//+ACT//wAl/+IAJ//uACj//gAp/+cAKv/hACv/+QAs/8MALf/QAC7/5AAv/8wAMP//ADL/4QAz//4ANP/jADX/9wA3//kAOP/fADn/9wA7/+IAPP/5AD3/+gA+//EAP//6AED/2gBB/+8AQv/aAET/7wBF/9cARv/qAEf/xgBI/7sASf/qAEr/tABL//sAHQAG/+cAF//oACT/+gAy/+IAM//xADT/zAA1/+8ANv/sADf/+gA4/8wAOf/3ADr/8wA7/8kAPP/uAD3/7wA+/+wAP//rAED/yQBB//cAQv/MAEP/+ABE/9QARf/KAEb/2gBH/8EASP/EAEn/4gBK/7cAS//vAB0ABv/xABv/+QAl/+4AMv+8ADP/7wA0/9wANf/zADb/6AA3//cAOP/hADn/5gA6//MAO//aADz/6QA9//MAPv/pAD//6wBA/+MAQf/3AEL/2gBD/+kARP/rAEX/1ABG/+kAR//JAEj/zABJ/7QASv+7AEv/5wAbAAb/9gAy/6YAM//9ADT/0wA1//oANv/+ADf//QA4/9UAOf/3ADr//wA7/7kAPP/6AD3//gA+//sAP//7AED/0ABB//oAQv/XAEP/+QBE/+IARf/zAEb/9wBH/+8ASP/vAEn/6gBK/+cAS//6ABwABv/7ACQAAgAy/9UAM//7ADT/7wA1//cANv/9ADf//wA4/+4AOf/7ADr//wA7/+sAPP/+AD3//gA+//0AP//6AED/7gBB//sAQv/sAEP/+wBE/+8ARf/7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ABX/3QAx//YAMv+5ADP/+AA0/+MANf/3ADb/+AA3//kAOP/iADn/+gA6//0AO//OADz//QA9//4APv/5AD///ABA/+YAQv/jAEP/9wBE/+YARf/vAEb//gBH/+cASP/vAEn/0QBK/+YAS//9ACgAB//2AAj/4gAJ/90ACv/sAAv/4gAM/+gADf/iAA7/9QAP/+gAEP/dABH/4AAS/+YAE//OABT/4gAV/90AJP/7ADH/9gAy/8EAM//vADT/3wA2//QAN//4ADj/4wA5/+kAOv/6ADv/0QA8/+YAPf/zAD7/6QA///EAQP/qAEL/3ABD/+gARP/fAEb/+ABH/7sASP+7AEn/rwBK/68AS//jACcACP/xAAn/7AAK//gADP/2AA7/9wAP//YAEP/xABH/5wAS/+cAE//xABT/7AAV/+UAMf/2ADL/6AAz//kANP/qADX/+wA2//oAN//7ADj/6wA5//cAOv//ADv/4wA8//sAPf/+AD7/+wA///oAQP/sAEH/+gBC/+MAQ//5AET/7wBF/+oARv/7AEf/4wBI/+wASf/jAEr/6gBL//4AJgAH//sACP/7AAn/5wAK//oADP/2AA7/9gAP//YAEP/xABH/8QAS//IAE//xABT/5wAV//EAMv/nADP/+wA0//EANf/9ADb//gA3//4AOP/uADn/+wA6//4AO//oAD0AAAA+//sAP//+AED/7wBB//4AQv/qAEP//wBE//EARf/3AEb/+wBH/+YASP/3AEn/2gBK/+QAS//7ACkAB//2AAj/9gAJ/90ACv/yAAz/8QAO//EAD//wABD/6gAR/+wAEv/mABP/9AAU/+wAFf/rABf/zgAx//YAMv/OADP/7wA0/+oANf/5ADb//gA3//0AOP/oADn/+QA6//0AO//YADz//gA9//8APv/6AD//+QBA/+4AQf/5AEL/4wBD//gARP/qAEX/+QBG//oAR//pAEj/6QBJ/9UASv/rAEv/+gAqAAf/sgAI/8kACf+wAAr/ugAL/7UADP+1AA3/3QAO/+QAD/+6ABD/sgAR/7UAEv+xABP/4gAU/6sAFf+mADH/lwAy/9oAM//jADT/qwA1/+IANv/iADf/4wA4/5oAOf/XADr/7gA7/7QAPP/kAD3/6wA+/+4AP//mAED/rQBB/+8AQv+qAEP/6gBE/74ARf/XAEb/2gBH/9AASP/SAEn/1QBK/80AS//qACsAB//nAAj/8QAJ/6YACv/sAAv/nAAM/90ADf+6AA7/9gAP/+IAEP/sABH/3QAS/9oAE//sABT/3QAV/8QAJP/+ADH/pgAy/+sAM//vADT/ygA1//0ANv/zADf/+wA4/9MAOf/vADr/+wA7/9gAPP/3AD3/9wA+//EAP//7AED/1QBB//cAQv/PAEP/8wBE/+YARf+7AEb/5wBH/7UASP/JAEn/2gBK/6UAS//zACkAB//2AAn/7AAK//kAC//sAAz/9gAO//oAD//2ABD/7AAR/+cAEv/vABP/9gAU//EAFf/sABcAAQAx/+YAMv/pADP/+QA0/+oANf/zADb/+wA3//oAOP/nADn/9wA6//4AO//uADz/+QA9//oAPv/7AD//+QBA/+8AQf/3AEL/6QBD//oARP/sAEX/8wBG//gAR//pAEj/6QBJ/+MASv/nAEv//QAqAAf/9gAI//sACf/sAAr/9wAL/+wADP/7AA7/+gAP//EAEP/2ABH/7AAS//EAE//2ABT/9gAV/+QAFwABADH/8QAy/+kAM//3ADT/6QA1//kANv/5ADf/+QA4/+8AOf/6ADr//gA7/+8APP/7AD3/+gA+//oAP//4AED/7wBB//sAQv/rAEP//QBE/+8ARf/3AEb/+gBH/+4ASP/rAEn/4QBK/+wAS//5ACsAB//xAAj/4gAJ/9gACv/sAAv/2AAM//YADf/iAA7/8QAP/90AEP/iABH/0wAS/+IAE//JABT/4gAV/94AJP/7ADH/3QAy/7QAM//pADT/4QA1/+wANv/vADf/6gA4/+IAOf/qADr/+gA7/9oAPP/pAD3/6wA+/+wAP//pAED/4QBB/+sAQv/cAEP/6wBE/+IARf/JAEb/7gBH/7wASP/BAEn/pgBK/7UAS//kACwAB//iAAj/5wAJ/+IACv/OAAv/2AAM/+cADf/nAA7/8AAP/90AEP+6ABH/xAAS/9cAE//XABT/2AAV/9gAG//3ACT/+wAx/+IAMv+gADP/6QA0/+MANf/mADb/7wA3/+sAOP/aADn/6AA6//YAO/+xADz/6wA9/+4APv/oAD//7wBA/9oAQf/oAEL/1wBD/+MARP/aAEX/2ABG/+cAR//PAEj/yQBJ/7kASv/BAEv/6AApAAf/8QAI/+wACf/OAAr/6gAL/84ADP/nAA3/2AAO//YAD//fABD/4gAR/9gAEv/lABP/5wAU/+IAFf/YADH/4gAy/+cAM//3ADT/2gA1//gANv/5ADf/+wA4/9wAOf/3ADr//gA7/+MAPP/3AD3//QA+//cAP//3AED/1QBC/9UAQ//9AET/6QBF/+EARv/pAEf/ugBI/8QASf/aAEr/wgBL//sAKwAH/8kACP/YAAn/xAAK/9MAC/+/AAz/yQAN/9gADv/nAA//xAAQ/7oAEf+1ABL/wQAT/9gAFP+6ABX/vwAk//sAMf+/ADL/2gAz/+gANP/KADX/6QA2/+kAN//oADj/xgA5/+QAOv/nADv/uQA8/+wAPf/uAD7/6QA//+cAQP/GAEH/7ABC/8kAQ//mAET/2ABF/84ARv/VAEf/wQBI/7wASf/GAEr/tABL/+8AKwAH//EACP/2AAn/yQAK/+oAC//TAAz/3QAN/+cADv/sAA//4gAQ/+IAEf/YABL/3wAT/90AFP/dABX/2AAk//sAMf/nADL/xgAz//MANP/iADX/7wA2/+4AN//3ADj/4wA5/+kAOv/vADv/1wA8/+4APf/zAD7/6gA//+0AQP/kAEH/9wBC/98AQ//qAET/5wBF/9AARv/vAEf/yQBI/9AASf/PAEr/xABL/+8AKQAH/+cACP/sAAn/5wAK/+kAC//dAAz/2AAO/+wAD//XABD/qwAR/8kAEv/AABP/9gAU/9MAFf/OADH/2AAy/7AAM//5ADT/2gA1//0ANv/6ADf//gA4/98AOf/3ADr//QA7/8YAPP/7AD3//gA+//gAP//4AED/1QBB//0AQv/VAEP/+ABE/+MARf/zAEb/+QBH/+4ASP/zAEn/4gBK/+cAS//zACkACP/2AAn/5wAK//QAC//sAAz/+wAN//4ADv/2AA//5QAQ/+wAEf/nABL/8wAT//EAFP/nABX/3QAx/+QAMv/KADP/+QA0/+wANf/6ADb/+gA3//sAOP/vADn/+gA6AAAAO//hADz//wA9//0APv/5AD///gBA/+wAQf/7AEL/7ABD//sARP/vAEX/9wBG//sAR//zAEj/6gBJ/+EASv/jAEv/+wArAAf/zgAI/84ACf/YAAr/ygAL/9gADP/JAA3/+wAO/9kAD//JABD/ogAR/7oAEv+5ABP/5wAU/8QAFf+9ACT/+wAx/7oAMv+FADP/+wA0/7sANf/qADb/6wA3/+wAOP++ADn/5gA6/+8AO/+iADz/6AA9/+oAPv/sAD//7wBA/8MAQf/mAEL/uwBD/+YARP/KAEX/6QBG/+8AR//jAEj/3wBJ/9MASv/hAEv/6wApAAf/zgAI/84ACf/TAAv/2AAM/84ADv/eAA//xAAQ/7AAEf/TABL/sQAT/+wAFP/FABX/yQAk//sAMf/JADL/lQAz//MANP/BADX/+QA2//MAN//3ADj/xgA5//sAOv/3ADv/pQA8/+8APf/+AD7/7gA//+oAQP/DAEH/7gBC/8QAQ//vAET/0ABF/+4ARv/uAEf/6QBI/+QASf/aAEr/5gBL//cAKgAH/8QACP/OAAn/pgAL/7oADP+rAA3/3QAO/+cAD/+5ABD/twAR/8QAEv+zABP/0wAU/7AAFf+cACT/+wAx/6EAMv/aADP/4wA0/7cANf/4ADb/4wA3//0AOP+3ADn/7gA6/+8AO/+7ADz/7gA9//EAPv/jAD//6ABA/7oAQf/zAEL/uQBD/+sARP/OAEX/3wBG/+EAR//aAEj/2ABJ/9gASv/MAEv/7gAsAAf/yQAI/84ACf/JAAr/wgAL/8kADP/JAA3//gAO/8kAD/+6ABD/jQAR/7oAEv+gABP/4gAU/7UAFf+6AB7/8QAk//sAMf+1ADL/lwAz/+8ANP+7ADX/5gA2/+4AN//uADj/uQA5/+gAOv/3ADv/hAA8/+8APf/sAD7/7AA//+oAQP+6AEH/7ABC/7kAQ//pAET/ygBF/+8ARv/vAEf/6ABI/+kASf/fAEr/5ABL//EAJgAH//YACf/iAAr/7AAL/+cADP/iAA3//wAO//UAD//nABD/7AAR/+IAEv/gABP/7AAU/90AFf/TADH/4gAy/+sAM//+ADT/6AA1//4ANgAEADf//wA4/9wAOf/6ADv/5gA8//8APf//AD///QBA/+MAQf//AEMAAABE/+8ARf/4AEb/+wBH//cASP/rAEn/6QBK/+kAS//9AAIAAQAGAEsAAAAAAAAAAQAAAADUGBYRAAAAANmXsTQAAAAA2ZexNA==";
|
|
8067
|
-
class Fn extends
|
|
8067
|
+
class Fn extends mt {
|
|
8068
8068
|
constructor() {
|
|
8069
8069
|
super(...arguments), this.moduleName = "Vegemite";
|
|
8070
8070
|
}
|
|
@@ -8078,46 +8078,46 @@ class Fn extends Qt {
|
|
|
8078
8078
|
const A = Ct(fn), n = e !== "" ? ((D) => D.charAt(0).toUpperCase() + D.substr(1).toLowerCase())(e) : "", i = A.getPath(n, 0, 72, 72), s = i.toSVG(2), o = i.getBoundingBox(), r = o.x2 - o.x1, c = i.toPathData(3), B = () => {
|
|
8079
8079
|
const D = v("g");
|
|
8080
8080
|
D.classList.add("module-text-group");
|
|
8081
|
-
const
|
|
8082
|
-
D.appendChild(
|
|
8081
|
+
const Q = v("defs");
|
|
8082
|
+
D.appendChild(Q), Q.appendChild(IA(0, 2, 2, "shadow"));
|
|
8083
8083
|
const p = v("path");
|
|
8084
|
-
p.setAttribute("d", c), p.setAttribute("stroke", "black"), p.setAttribute("stroke-width", "3"),
|
|
8085
|
-
const
|
|
8086
|
-
|
|
8084
|
+
p.setAttribute("d", c), p.setAttribute("stroke", "black"), p.setAttribute("stroke-width", "3"), Q.appendChild(p);
|
|
8085
|
+
const m = v("g");
|
|
8086
|
+
m.classList.add("module-layer0"), D.appendChild(m), m.setAttribute("filter", "url(#shadow)"), m.innerHTML = p.outerHTML;
|
|
8087
8087
|
const I = v("g");
|
|
8088
8088
|
I.classList.add("module-layer1"), D.appendChild(I), I.setAttribute("stroke-width", "3"), I.setAttribute("stroke", "rgb(45,41,38)"), I.setAttribute("fill", "rgb(45,41,38)"), I.setAttribute("transform", "translate(0.5,0)"), I.innerHTML = s;
|
|
8089
8089
|
const F = v("g");
|
|
8090
8090
|
F.classList.add("module-layer2"), D.appendChild(F), F.setAttribute("fill", "rgb(255,209,0)"), F.setAttribute("transform", "translate(1,-0.1)"), F.innerHTML = s;
|
|
8091
8091
|
const y = v("g");
|
|
8092
8092
|
return y.classList.add("module-layer3"), D.appendChild(y), y.setAttribute("fill", "white"), y.innerHTML = s, new Dt(D).transform(([N, S]) => [N, S + (r / 2 - N) ** 2 / (r * 6)]), D;
|
|
8093
|
-
},
|
|
8094
|
-
|
|
8093
|
+
}, g = v("g");
|
|
8094
|
+
g.classList.add("module-root");
|
|
8095
8095
|
const d = v("defs");
|
|
8096
|
-
|
|
8096
|
+
g.appendChild(d);
|
|
8097
8097
|
const C = v("g");
|
|
8098
|
-
C.classList.add("module-bounds"),
|
|
8099
|
-
const w =
|
|
8098
|
+
C.classList.add("module-bounds"), g.appendChild(C);
|
|
8099
|
+
const w = Qt(t.height, t.width);
|
|
8100
8100
|
w.setAttribute("opacity", "0"), C.appendChild(w);
|
|
8101
8101
|
const h = v("g");
|
|
8102
|
-
h.classList.add("module-text-enclosure"),
|
|
8102
|
+
h.classList.add("module-text-enclosure"), g.appendChild(h);
|
|
8103
8103
|
const u = B();
|
|
8104
8104
|
h.appendChild(u);
|
|
8105
8105
|
const E = wt(c);
|
|
8106
|
-
return pt(h, E, t.height, t.width, 0.35, 0.65), fA(
|
|
8106
|
+
return pt(h, E, t.height, t.width, 0.35, 0.65), fA(g.outerHTML);
|
|
8107
8107
|
}
|
|
8108
8108
|
}
|
|
8109
|
-
async function FA(
|
|
8110
|
-
if (
|
|
8109
|
+
async function FA(l) {
|
|
8110
|
+
if (l === "Favourites")
|
|
8111
8111
|
return new pn();
|
|
8112
|
-
if (
|
|
8112
|
+
if (l === "Maltesers") {
|
|
8113
8113
|
const e = _("https://assets.spiff.com.au/public/modules/img/MaltesersBackground.svg"), t = _("https://assets.spiff.com.au/public/modules/img/MaltesersBackgroundShort.svg"), A = await Promise.all([e, t]);
|
|
8114
8114
|
return new In(A[0], A[1]);
|
|
8115
8115
|
}
|
|
8116
|
-
if (
|
|
8116
|
+
if (l === "Vegemite")
|
|
8117
8117
|
return new Fn();
|
|
8118
|
-
throw new b(`Failed to resolve Module, Module ${
|
|
8118
|
+
throw new b(`Failed to resolve Module, Module ${l} not found`);
|
|
8119
8119
|
}
|
|
8120
|
-
var pe = /* @__PURE__ */ ((
|
|
8120
|
+
var pe = /* @__PURE__ */ ((l) => (l.Error = "Error", l.Warning = "Warning", l.Info = "Info", l))(pe || {});
|
|
8121
8121
|
const yn = 1e3;
|
|
8122
8122
|
class bt extends BA {
|
|
8123
8123
|
constructor(e) {
|
|
@@ -8132,16 +8132,16 @@ class bt extends BA {
|
|
|
8132
8132
|
}
|
|
8133
8133
|
}
|
|
8134
8134
|
class Mn {
|
|
8135
|
-
constructor(e, t, A, a, n, i, s, o, r, c, B,
|
|
8135
|
+
constructor(e, t, A, a, n, i, s, o, r, c, B, g, d, C = !1, w, h = !1, u = !1, E = !1) {
|
|
8136
8136
|
this.workflowStatePromiseQueue = new dA(1), this.initialized = !1, this.readOnly = !1, this.isReloadedTransaction = !1, this.singleVariantsRenderable = !1, this.stepTags = {}, this.renderLayouts = () => {
|
|
8137
8137
|
var p;
|
|
8138
8138
|
if (!this.previewService)
|
|
8139
8139
|
return;
|
|
8140
|
-
const D = this.getCommandContext().getAllLayouts(),
|
|
8141
|
-
if (
|
|
8142
|
-
for (const [,
|
|
8143
|
-
|
|
8144
|
-
}, this.experience = e, this.client = t, this.updateTransaction = s, this.commandContext = i, this.reloadedState = d, this.transaction = o, this.readOnly = C, this.singleVariantsRenderable = u, this.confirmedDesign = !1, this.editedSteps = {}, this.informationResults = [], this.mandatorySteps = {}, this.pendingUpdates = [], this.selectionCost = 0, this.workflow = A, this.stepSpecificServices = {}, this.profanityFilter = a, this.pollers = [], this.allScenes = [], this.layouts = n, this.product = r, this.previewService = B, this.modelContainer = w, this.stepElements = {}, this.stepInitialised = {}, this.stepMetadata = {}, this.stepSelections = {}, this.storage = {}, this.validationErrors = { steps: /* @__PURE__ */ new Map() }, this.confirmCallbacks = [], this.editedCallbacks = [], this.elementsCallbacks = [], this.informationResultCallbacks = [], this.initCallbacks = [], this.mandatoryCallbacks = [], this.makingAdjustmentsCallback = [], this.metadataCallbacks = [], this.selectionCallbacks = [], this.stepSpecificStorageCallbacks = {}, this.storageCallbacks = [], this.validationCallbacks = [], this.currentAdjustingStepId = "", this.renderableContextService =
|
|
8140
|
+
const D = this.getCommandContext().getAllLayouts(), Q = (p = this.getLayoutPreviewService()) == null ? void 0 : p.getAll();
|
|
8141
|
+
if (Q)
|
|
8142
|
+
for (const [, m] of Q)
|
|
8143
|
+
m.render(D);
|
|
8144
|
+
}, this.experience = e, this.client = t, this.updateTransaction = s, this.commandContext = i, this.reloadedState = d, this.transaction = o, this.readOnly = C, this.singleVariantsRenderable = u, this.confirmedDesign = !1, this.editedSteps = {}, this.informationResults = [], this.mandatorySteps = {}, this.pendingUpdates = [], this.selectionCost = 0, this.workflow = A, this.stepSpecificServices = {}, this.profanityFilter = a, this.pollers = [], this.allScenes = [], this.layouts = n, this.product = r, this.previewService = B, this.modelContainer = w, this.stepElements = {}, this.stepInitialised = {}, this.stepMetadata = {}, this.stepSelections = {}, this.storage = {}, this.validationErrors = { steps: /* @__PURE__ */ new Map() }, this.confirmCallbacks = [], this.editedCallbacks = [], this.elementsCallbacks = [], this.informationResultCallbacks = [], this.initCallbacks = [], this.mandatoryCallbacks = [], this.makingAdjustmentsCallback = [], this.metadataCallbacks = [], this.selectionCallbacks = [], this.stepSpecificStorageCallbacks = {}, this.storageCallbacks = [], this.validationCallbacks = [], this.currentAdjustingStepId = "", this.renderableContextService = g, this.isReloadedTransaction = h, this.stepTags = c, E && (this.workflowStatePromiseQueue.enabled = !1), this.initializationPromise = this.initializeDefaultWorkflowState(A), this.initializationPromise.then(() => {
|
|
8145
8145
|
this.initialized = !0;
|
|
8146
8146
|
}), this.initializationPromise.catch((D) => {
|
|
8147
8147
|
throw console.error(D), this.initialized = !1, new Error("Workflow initialization failed due to an error. See console.");
|
|
@@ -8378,8 +8378,8 @@ class Mn {
|
|
|
8378
8378
|
throw new b(
|
|
8379
8379
|
"We should always have a model container when injecting a preview!"
|
|
8380
8380
|
);
|
|
8381
|
-
const
|
|
8382
|
-
if (!
|
|
8381
|
+
const g = (B = o.asset) == null ? void 0 : B.fileLink;
|
|
8382
|
+
if (!g) {
|
|
8383
8383
|
console.error(`Failed to read model url from variant: ${o.id} for step: ${i.stepName}`);
|
|
8384
8384
|
return;
|
|
8385
8385
|
}
|
|
@@ -8387,14 +8387,14 @@ class Mn {
|
|
|
8387
8387
|
this.modelContainer.applyModelVariant(
|
|
8388
8388
|
i.stepName,
|
|
8389
8389
|
{
|
|
8390
|
-
model:
|
|
8390
|
+
model: g,
|
|
8391
8391
|
contextService: this.getLayoutPreviewService()
|
|
8392
8392
|
},
|
|
8393
8393
|
d.replaceProductModel || !1
|
|
8394
8394
|
);
|
|
8395
8395
|
} else {
|
|
8396
|
-
const
|
|
8397
|
-
if (!
|
|
8396
|
+
const g = o.material;
|
|
8397
|
+
if (!g) {
|
|
8398
8398
|
console.error(`Failed to read material from variant: ${o.id} for step: ${i.stepName}`);
|
|
8399
8399
|
return;
|
|
8400
8400
|
}
|
|
@@ -8403,7 +8403,7 @@ class Mn {
|
|
|
8403
8403
|
throw new b(
|
|
8404
8404
|
"We should always have a model container when injecting a preview!"
|
|
8405
8405
|
);
|
|
8406
|
-
this.modelContainer.applyMaterialVariant(C, i.option.id,
|
|
8406
|
+
this.modelContainer.applyMaterialVariant(C, i.option.id, g);
|
|
8407
8407
|
});
|
|
8408
8408
|
}
|
|
8409
8409
|
}), await A.getInitializationPromise(), this.renderLayouts();
|
|
@@ -8475,7 +8475,7 @@ class Mn {
|
|
|
8475
8475
|
const e = this.getCommandContext().getState();
|
|
8476
8476
|
if (!e)
|
|
8477
8477
|
throw new b("Attempted to serialize state before it was initialized.");
|
|
8478
|
-
return { transaction: JSON.stringify(this.dehydrateState(
|
|
8478
|
+
return { transaction: JSON.stringify(this.dehydrateState(le(e.transaction))) };
|
|
8479
8479
|
}
|
|
8480
8480
|
dehydrateState(e) {
|
|
8481
8481
|
var t;
|
|
@@ -8516,15 +8516,15 @@ class Mn {
|
|
|
8516
8516
|
return Promise.resolve({ stepElements: {}, commands: [] });
|
|
8517
8517
|
const a = async (r, c, B) => {
|
|
8518
8518
|
if (r.type === M.SilentIllustration) {
|
|
8519
|
-
const
|
|
8520
|
-
return { step: r, results:
|
|
8519
|
+
const g = await new kt(r, c).trigger();
|
|
8520
|
+
return { step: r, results: g };
|
|
8521
8521
|
} else if (r.type === M.ProductOverlay) {
|
|
8522
|
-
const
|
|
8522
|
+
const g = await new kt(
|
|
8523
8523
|
r,
|
|
8524
8524
|
c,
|
|
8525
8525
|
B
|
|
8526
8526
|
).trigger();
|
|
8527
|
-
return { step: r, results:
|
|
8527
|
+
return { step: r, results: g };
|
|
8528
8528
|
}
|
|
8529
8529
|
return Promise.reject("Unknown silent step. This is a bug");
|
|
8530
8530
|
}, n = e.filter(
|
|
@@ -8587,32 +8587,32 @@ class Mn {
|
|
|
8587
8587
|
this.stepSelections = {
|
|
8588
8588
|
...this.stepSelections,
|
|
8589
8589
|
[e]: { selectedVariants: t }
|
|
8590
|
-
}, this.selectionCost = Object.values(this.stepSelections).reduce((
|
|
8591
|
-
ae(
|
|
8590
|
+
}, this.selectionCost = Object.values(this.stepSelections).reduce((m, I) => m + I.selectedVariants.map((F) => F.priceModifier || 0).reduce((F, y) => F + y, 0), 0), this.workflow.steps.forEach((m) => {
|
|
8591
|
+
ae(m, this.stepSelections) || (this.stepInitialised[m.stepName] = !1, delete this.stepMetadata[m.stepName], delete this.stepSelections[m.stepName], delete this.storage[m.stepName]);
|
|
8592
8592
|
});
|
|
8593
|
-
const i = this.allScenes, s = ce(i, n), o = ce(i, this.stepSelections), r = s.map((
|
|
8594
|
-
(
|
|
8593
|
+
const i = this.allScenes, s = ce(i, n), o = ce(i, this.stepSelections), r = s.map((m) => m.silentSteps).flat(), B = o.map((m) => m.silentSteps).flat().filter(
|
|
8594
|
+
(m) => !r.some((I) => I.stepName === m.stepName)
|
|
8595
8595
|
);
|
|
8596
|
-
r.forEach((
|
|
8597
|
-
ae(
|
|
8596
|
+
r.forEach((m) => {
|
|
8597
|
+
ae(m, this.stepSelections) || (this.stepInitialised[m.stepName] = !1);
|
|
8598
8598
|
});
|
|
8599
|
-
const
|
|
8599
|
+
const g = this.getInvalidCanvasRegions(), { stepElements: d, commands: C } = await this.stepElementsForIntroducedSilentSteps(B, !1);
|
|
8600
8600
|
this.stepElements = {
|
|
8601
8601
|
...this.stepElements,
|
|
8602
8602
|
...d,
|
|
8603
8603
|
[e]: A
|
|
8604
|
-
}, this.removeElements(
|
|
8605
|
-
const w = this.workflow.steps.find((
|
|
8604
|
+
}, this.removeElements(g);
|
|
8605
|
+
const w = this.workflow.steps.find((m) => m.stepName === e);
|
|
8606
8606
|
if ((w == null ? void 0 : w.type) === M.Frame) {
|
|
8607
|
-
const
|
|
8608
|
-
(p =
|
|
8607
|
+
const m = this.getStepSpecificServices(e);
|
|
8608
|
+
(p = m == null ? void 0 : m.frameService) == null || p.setTargetElements(A.map((I) => I.id));
|
|
8609
8609
|
}
|
|
8610
|
-
const h =
|
|
8610
|
+
const h = g.map((m) => new ne(m.id)), u = new Yt(this.constructSerializableWorkflow()), E = [...C, ...h, u];
|
|
8611
8611
|
E.length > 0 && this.commandContext.apply(new k(E), !0), await this.ensureStepsAreLoaded(), this.onElementsChange();
|
|
8612
|
-
const D = this.getInvalidModelVariants(),
|
|
8613
|
-
if (
|
|
8614
|
-
const
|
|
8615
|
-
(I) =>
|
|
8612
|
+
const D = this.getInvalidModelVariants(), Q = this.modelContainer;
|
|
8613
|
+
if (Q) {
|
|
8614
|
+
const m = D.map(
|
|
8615
|
+
(I) => Q.applyModelVariant(
|
|
8616
8616
|
I,
|
|
8617
8617
|
{
|
|
8618
8618
|
contextService: this.getLayoutPreviewService()
|
|
@@ -8620,7 +8620,7 @@ class Mn {
|
|
|
8620
8620
|
!1
|
|
8621
8621
|
)
|
|
8622
8622
|
);
|
|
8623
|
-
await Promise.all(
|
|
8623
|
+
await Promise.all(m);
|
|
8624
8624
|
}
|
|
8625
8625
|
await this.onSelectionChange(), a && await a();
|
|
8626
8626
|
}
|
|
@@ -8670,12 +8670,12 @@ class Mn {
|
|
|
8670
8670
|
break;
|
|
8671
8671
|
case M.Picture:
|
|
8672
8672
|
A.push(
|
|
8673
|
-
|
|
8673
|
+
mA.init(o, this, this.reloadedState)
|
|
8674
8674
|
);
|
|
8675
8675
|
break;
|
|
8676
8676
|
case M.Question:
|
|
8677
8677
|
A.push(
|
|
8678
|
-
|
|
8678
|
+
QA.init(o, this, this.reloadedState)
|
|
8679
8679
|
);
|
|
8680
8680
|
break;
|
|
8681
8681
|
case M.Shape:
|
|
@@ -9052,7 +9052,7 @@ class xn extends X {
|
|
|
9052
9052
|
* @returns A promise that can be awaited to ensure the new image asset has been updated on the design.
|
|
9053
9053
|
*/
|
|
9054
9054
|
selectVariant(e) {
|
|
9055
|
-
return
|
|
9055
|
+
return mA.selectVariant(
|
|
9056
9056
|
this.step,
|
|
9057
9057
|
e.getResource(),
|
|
9058
9058
|
this.manager,
|
|
@@ -9067,7 +9067,7 @@ class Nn extends X {
|
|
|
9067
9067
|
async selectVariant(e) {
|
|
9068
9068
|
if (!e.getId())
|
|
9069
9069
|
throw new Error("Unable to select variant with a null ID");
|
|
9070
|
-
await
|
|
9070
|
+
await QA.selectVariant(this.step, e.getId(), this.manager);
|
|
9071
9071
|
}
|
|
9072
9072
|
/**
|
|
9073
9073
|
* The way that this step expects to be rendered.
|
|
@@ -9247,12 +9247,12 @@ class Rn extends X {
|
|
|
9247
9247
|
this.manager
|
|
9248
9248
|
);
|
|
9249
9249
|
o && this.manager.getCommandDispatcher()(o);
|
|
9250
|
-
const B = this.manager.getInformationResults(),
|
|
9251
|
-
if (
|
|
9250
|
+
const B = this.manager.getInformationResults(), g = (C = r[0]) == null ? void 0 : C.localizationKey;
|
|
9251
|
+
if (g)
|
|
9252
9252
|
this.manager.setInformationResults([
|
|
9253
9253
|
...B,
|
|
9254
9254
|
{
|
|
9255
|
-
message: `${
|
|
9255
|
+
message: `${g} - ${this.step.stepTitle}`,
|
|
9256
9256
|
messageType: pe.Error,
|
|
9257
9257
|
stepID: this.step.stepName
|
|
9258
9258
|
}
|
|
@@ -9261,7 +9261,7 @@ class Rn extends X {
|
|
|
9261
9261
|
const w = B.filter((h) => h.stepID !== this.step.stepName);
|
|
9262
9262
|
this.manager.setInformationResults(w);
|
|
9263
9263
|
}
|
|
9264
|
-
return t.helperText =
|
|
9264
|
+
return t.helperText = g || c, t.errorText = g, t;
|
|
9265
9265
|
}
|
|
9266
9266
|
/**
|
|
9267
9267
|
* Gets the text currently applied to the elements of this step.
|
|
@@ -9434,7 +9434,7 @@ class Me {
|
|
|
9434
9434
|
case M.Model:
|
|
9435
9435
|
return new Pn(e, t, e.getStepTags(t.stepName));
|
|
9436
9436
|
case M.Frame:
|
|
9437
|
-
return new
|
|
9437
|
+
return new os(e, t, e.getStepTags(t.stepName));
|
|
9438
9438
|
case M.Module:
|
|
9439
9439
|
return new Un(e, t, e.getStepTags(t.stepName));
|
|
9440
9440
|
default:
|
|
@@ -9514,11 +9514,11 @@ const MA = f`
|
|
|
9514
9514
|
}
|
|
9515
9515
|
}
|
|
9516
9516
|
`;
|
|
9517
|
-
function Oe(
|
|
9518
|
-
const e = JSON.parse(atob(
|
|
9517
|
+
function Oe(l) {
|
|
9518
|
+
const e = JSON.parse(atob(l.split(".")[1])).exp;
|
|
9519
9519
|
return Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3) >= e;
|
|
9520
9520
|
}
|
|
9521
|
-
const Jn = async (
|
|
9521
|
+
const Jn = async (l) => {
|
|
9522
9522
|
var i, s;
|
|
9523
9523
|
const t = ((i = Object.entries(localStorage).find(([o, r]) => o.startsWith("CognitoIdentityServiceProvider") && o.endsWith("idToken"))) == null ? void 0 : i[0]) || "", A = localStorage.getItem(t), a = {};
|
|
9524
9524
|
return A && !Oe(A) && (a.Authorization = `Bearer ${A}`), (s = (await x.getShadowGraphqlClient().mutate({
|
|
@@ -9526,20 +9526,20 @@ const Jn = async (g) => {
|
|
|
9526
9526
|
errorPolicy: "all",
|
|
9527
9527
|
fetchPolicy: "no-cache",
|
|
9528
9528
|
variables: {
|
|
9529
|
-
name:
|
|
9530
|
-
layouts:
|
|
9531
|
-
workflowId:
|
|
9532
|
-
transactionId:
|
|
9533
|
-
previewImage:
|
|
9534
|
-
useThreeDimPreview:
|
|
9535
|
-
metadata:
|
|
9536
|
-
selectedVariants:
|
|
9529
|
+
name: l.name,
|
|
9530
|
+
layouts: l.layouts,
|
|
9531
|
+
workflowId: l.workflowId,
|
|
9532
|
+
transactionId: l.transactionId,
|
|
9533
|
+
previewImage: l.previewImage,
|
|
9534
|
+
useThreeDimPreview: l.useThreeDimPreview,
|
|
9535
|
+
metadata: l.metadata,
|
|
9536
|
+
selectedVariants: l.selectedVariants
|
|
9537
9537
|
},
|
|
9538
9538
|
context: {
|
|
9539
9539
|
headers: a
|
|
9540
9540
|
}
|
|
9541
9541
|
})).data) == null ? void 0 : s.designCreate;
|
|
9542
|
-
}, Tn = async (
|
|
9542
|
+
}, Tn = async (l) => {
|
|
9543
9543
|
var i, s;
|
|
9544
9544
|
const t = ((i = Object.entries(localStorage).find(([o, r]) => o.startsWith("CognitoIdentityServiceProvider") && o.endsWith("idToken"))) == null ? void 0 : i[0]) || "", A = localStorage.getItem(t), a = {};
|
|
9545
9545
|
return A && !Oe(A) && (a.Authorization = `Bearer ${A}`), (s = (await x.getShadowGraphqlClient().mutate({
|
|
@@ -9547,7 +9547,7 @@ const Jn = async (g) => {
|
|
|
9547
9547
|
errorPolicy: "all",
|
|
9548
9548
|
fetchPolicy: "no-cache",
|
|
9549
9549
|
variables: {
|
|
9550
|
-
inputs:
|
|
9550
|
+
inputs: l.map((o) => ({
|
|
9551
9551
|
name: o.name,
|
|
9552
9552
|
layouts: o.layouts,
|
|
9553
9553
|
workflowId: o.workflowId,
|
|
@@ -9562,17 +9562,17 @@ const Jn = async (g) => {
|
|
|
9562
9562
|
headers: a
|
|
9563
9563
|
}
|
|
9564
9564
|
})).data) == null ? void 0 : s.designCreateMany;
|
|
9565
|
-
}, ct = (
|
|
9565
|
+
}, ct = (l, e, t) => {
|
|
9566
9566
|
const A = (n) => {
|
|
9567
9567
|
const i = {};
|
|
9568
9568
|
if (n.type === "Frame") {
|
|
9569
|
-
const s =
|
|
9569
|
+
const s = l[n.stepName], o = n.data;
|
|
9570
9570
|
if (!s || !s.image || o.hideImageInCart && t)
|
|
9571
9571
|
return i;
|
|
9572
9572
|
i[`${n.stepTitle} image`] = s.image;
|
|
9573
9573
|
}
|
|
9574
9574
|
if (n.type === "Illustration") {
|
|
9575
|
-
const s =
|
|
9575
|
+
const s = l[n.stepName], o = n.data;
|
|
9576
9576
|
if (!s || o.hideColorsInCart && t || !s.colors)
|
|
9577
9577
|
return i;
|
|
9578
9578
|
if (s.colors.length > 0) {
|
|
@@ -9581,13 +9581,13 @@ const Jn = async (g) => {
|
|
|
9581
9581
|
}
|
|
9582
9582
|
}
|
|
9583
9583
|
if (n.type === "Module") {
|
|
9584
|
-
const s =
|
|
9584
|
+
const s = l[n.stepName], o = n.data;
|
|
9585
9585
|
if (!s || s.text === void 0 || s.text === null || o.hideTextInCart && t)
|
|
9586
9586
|
return i;
|
|
9587
9587
|
i[`${n.stepTitle} text`] = s.text;
|
|
9588
9588
|
}
|
|
9589
9589
|
if (n.type === "Text") {
|
|
9590
|
-
const s =
|
|
9590
|
+
const s = l[n.stepName];
|
|
9591
9591
|
if (!s)
|
|
9592
9592
|
return i;
|
|
9593
9593
|
const o = n.data;
|
|
@@ -9598,14 +9598,14 @@ const Jn = async (g) => {
|
|
|
9598
9598
|
return e.steps.forEach((n) => {
|
|
9599
9599
|
Object.assign(a, A(n));
|
|
9600
9600
|
}), a;
|
|
9601
|
-
}, On = (
|
|
9601
|
+
}, On = (l, e, t, A) => {
|
|
9602
9602
|
const a = {};
|
|
9603
9603
|
let n = {};
|
|
9604
9604
|
t ? n = ct(t, e, !1) : A && (n = A);
|
|
9605
9605
|
const s = e.steps.map((o) => o.stepTitle).filter((o, r, c) => c.indexOf(o) == r);
|
|
9606
9606
|
for (const o of s) {
|
|
9607
|
-
if (Object.keys(
|
|
9608
|
-
const r =
|
|
9607
|
+
if (Object.keys(l).includes(o)) {
|
|
9608
|
+
const r = l[o], c = e.steps.find((B) => B.stepTitle === o);
|
|
9609
9609
|
a[`${c == null ? void 0 : c.stepTitle} selection`] = {
|
|
9610
9610
|
value: r[0].name,
|
|
9611
9611
|
priceModifier: r[0].priceModifier
|
|
@@ -9618,39 +9618,39 @@ const Jn = async (g) => {
|
|
|
9618
9618
|
});
|
|
9619
9619
|
}
|
|
9620
9620
|
return a;
|
|
9621
|
-
}, SA = (
|
|
9621
|
+
}, SA = (l, e, t, A, a, n, i, s) => {
|
|
9622
9622
|
var C, w;
|
|
9623
|
-
const o = e.basePrice || 0, r =
|
|
9624
|
-
additionalExternalProductId: (C =
|
|
9625
|
-
additionalExternalVariantId: (w =
|
|
9623
|
+
const o = e.basePrice || 0, r = l.priceModifierTotal || 0, c = On(A, t, void 0, n), g = (P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(l.id), d = {
|
|
9624
|
+
additionalExternalProductId: (C = l.integrationProduct) == null ? void 0 : C.additionalExternalProductId,
|
|
9625
|
+
additionalExternalVariantId: (w = l.integrationProduct) == null ? void 0 : w.additionalExternalVariantId,
|
|
9626
9626
|
baseCost: o,
|
|
9627
|
-
designExternalVariants:
|
|
9628
|
-
designProductId:
|
|
9629
|
-
designProductVariantId:
|
|
9627
|
+
designExternalVariants: l.designExternalVariants,
|
|
9628
|
+
designProductId: l.externalDesignProductId,
|
|
9629
|
+
designProductVariantId: l.externalDesignProductVariantId,
|
|
9630
9630
|
event: "onComplete",
|
|
9631
9631
|
exportedData: c,
|
|
9632
|
-
externalCartProductId:
|
|
9633
|
-
externalCartProductVariantId:
|
|
9632
|
+
externalCartProductId: l.externalCartProductId,
|
|
9633
|
+
externalCartProductVariantId: l.externalCartProductVariantId,
|
|
9634
9634
|
lineItemImageUrl: i || "",
|
|
9635
9635
|
optionsCost: r,
|
|
9636
9636
|
processExecutionId: s,
|
|
9637
|
-
quantity:
|
|
9638
|
-
transactionId:
|
|
9639
|
-
transactionOwnerId:
|
|
9637
|
+
quantity: l.quantity,
|
|
9638
|
+
transactionId: l.id,
|
|
9639
|
+
transactionOwnerId: g,
|
|
9640
9640
|
weight: e.weight,
|
|
9641
|
-
workflowViewerLink:
|
|
9642
|
-
workflowViewerReadOnlyLink:
|
|
9641
|
+
workflowViewerLink: l.workflowViewerLink || "",
|
|
9642
|
+
workflowViewerReadOnlyLink: l.workflowViewerReadOnlyLink || ""
|
|
9643
9643
|
};
|
|
9644
9644
|
return n && (d.metadata = n), A && (d.selectedVariants = A), a && (d.sku = a), d;
|
|
9645
|
-
}, YA = async (
|
|
9645
|
+
}, YA = async (l, e, t, A, a, n, i, s, o, r) => {
|
|
9646
9646
|
var F;
|
|
9647
9647
|
await (async () => {
|
|
9648
9648
|
var R;
|
|
9649
9649
|
if (r !== void 0)
|
|
9650
9650
|
return r;
|
|
9651
|
-
await
|
|
9651
|
+
await l.outstandingRequestsPromise();
|
|
9652
9652
|
const Y = (P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map()).get(a.id), S = await x.getShadowGraphqlClient().query({
|
|
9653
|
-
query:
|
|
9653
|
+
query: lA,
|
|
9654
9654
|
variables: { ids: [a.id] },
|
|
9655
9655
|
fetchPolicy: "no-cache",
|
|
9656
9656
|
errorPolicy: "all",
|
|
@@ -9661,8 +9661,8 @@ const Jn = async (g) => {
|
|
|
9661
9661
|
return S.errors ? (S.errors.forEach((W) => {
|
|
9662
9662
|
S.errors && console.log("Server Error:", W.message);
|
|
9663
9663
|
}), null) : T ?? null;
|
|
9664
|
-
})() || (console.warn("State mismatch detected. Uploading known state explicitly"), console.warn("State Object:", JSON.stringify(A())), await
|
|
9665
|
-
const
|
|
9664
|
+
})() || (console.warn("State mismatch detected. Uploading known state explicitly"), console.warn("State Object:", JSON.stringify(A())), await l.updateStateWithServerImmediate(A), console.log("Server state is undefined @ Workflow completion"));
|
|
9665
|
+
const g = l.getPreviewService(), d = (F = e == null ? void 0 : e.finalizeStepConfig) == null ? void 0 : F.lookAtAnimation, C = g && e.showModelOnFinishStep && !!d, w = o && ct(o, e, !0), h = o && ct(o, e, !1), u = async (y) => {
|
|
9666
9666
|
const Y = {};
|
|
9667
9667
|
let N = 0;
|
|
9668
9668
|
if (Object.keys(n).length > 0)
|
|
@@ -9690,16 +9690,16 @@ const Jn = async (g) => {
|
|
|
9690
9690
|
return [Y, N];
|
|
9691
9691
|
}, [E] = await u(!0), D = Object.fromEntries(
|
|
9692
9692
|
Object.keys(E).map((y) => [y, E[y].map((Y) => Y.id)])
|
|
9693
|
-
), [
|
|
9694
|
-
Object.keys(
|
|
9693
|
+
), [Q] = await u(!1), p = Object.fromEntries(
|
|
9694
|
+
Object.keys(Q).map((y) => [
|
|
9695
9695
|
y,
|
|
9696
|
-
|
|
9696
|
+
Q[y].map((Y) => Y.id)
|
|
9697
9697
|
])
|
|
9698
9698
|
);
|
|
9699
|
-
let
|
|
9700
|
-
if (
|
|
9701
|
-
const y = await (await fetch(
|
|
9702
|
-
|
|
9699
|
+
let m = await s(C, a.id);
|
|
9700
|
+
if (m) {
|
|
9701
|
+
const y = await (await fetch(m)).blob();
|
|
9702
|
+
m = (await U.uploadAsset(
|
|
9703
9703
|
{ name: `${a.id}-preview-image.png`, blob: y },
|
|
9704
9704
|
At.Image,
|
|
9705
9705
|
!0,
|
|
@@ -9717,7 +9717,7 @@ const Jn = async (g) => {
|
|
|
9717
9717
|
workflowId: e.id,
|
|
9718
9718
|
transactionId: a.id,
|
|
9719
9719
|
useThreeDimPreview: !!C,
|
|
9720
|
-
previewImage:
|
|
9720
|
+
previewImage: m
|
|
9721
9721
|
};
|
|
9722
9722
|
if (h) {
|
|
9723
9723
|
const Y = [];
|
|
@@ -9736,11 +9736,11 @@ const Jn = async (g) => {
|
|
|
9736
9736
|
cartSelectionsWithPrices: E,
|
|
9737
9737
|
cartMetadata: w
|
|
9738
9738
|
};
|
|
9739
|
-
}, Ln = async (
|
|
9739
|
+
}, Ln = async (l, e, t, A, a, n, i, s, o, r, c) => {
|
|
9740
9740
|
var u, E;
|
|
9741
9741
|
o("workflow.steps.finish.finalize.buildingLayouts");
|
|
9742
|
-
const { designDetails: B, cartSelectionsWithPrices:
|
|
9743
|
-
|
|
9742
|
+
const { designDetails: B, cartSelectionsWithPrices: g, cartMetadata: d } = await YA(
|
|
9743
|
+
l,
|
|
9744
9744
|
e,
|
|
9745
9745
|
t,
|
|
9746
9746
|
A,
|
|
@@ -9760,23 +9760,23 @@ const Jn = async (g) => {
|
|
|
9760
9760
|
h,
|
|
9761
9761
|
a,
|
|
9762
9762
|
e,
|
|
9763
|
-
|
|
9763
|
+
g,
|
|
9764
9764
|
C == null ? void 0 : C.sku,
|
|
9765
9765
|
d,
|
|
9766
9766
|
w,
|
|
9767
9767
|
(E = C == null ? void 0 : C.processExecution) == null ? void 0 : E.id
|
|
9768
9768
|
);
|
|
9769
|
-
}, zn = async (
|
|
9769
|
+
}, zn = async (l, e, t) => {
|
|
9770
9770
|
e("workflow.steps.finish.finalize.buildingLayouts"), await Promise.all(
|
|
9771
|
-
|
|
9771
|
+
l.map(async (s) => {
|
|
9772
9772
|
await s.workflowManager.outstandingRequestsPromise();
|
|
9773
9773
|
})
|
|
9774
9774
|
);
|
|
9775
9775
|
const a = await (async () => {
|
|
9776
9776
|
var r;
|
|
9777
9777
|
const o = await x.getShadowGraphqlClient().query({
|
|
9778
|
-
query:
|
|
9779
|
-
variables: { ids:
|
|
9778
|
+
query: lA,
|
|
9779
|
+
variables: { ids: l.map((c) => c.transaction.id) },
|
|
9780
9780
|
fetchPolicy: "no-cache",
|
|
9781
9781
|
errorPolicy: "all"
|
|
9782
9782
|
});
|
|
@@ -9784,7 +9784,7 @@ const Jn = async (g) => {
|
|
|
9784
9784
|
o.errors && console.log("Server Error:", c.message);
|
|
9785
9785
|
}), null) : (r = o.data) != null && r.transactions ? o.data.transactions.map((c) => c.workflowState ?? null) : null;
|
|
9786
9786
|
})(), n = await Promise.all(
|
|
9787
|
-
|
|
9787
|
+
l.map(async (s, o) => await YA(
|
|
9788
9788
|
s.workflowManager,
|
|
9789
9789
|
s.workflow,
|
|
9790
9790
|
s.layouts,
|
|
@@ -9802,8 +9802,8 @@ const Jn = async (g) => {
|
|
|
9802
9802
|
if (!i)
|
|
9803
9803
|
throw new Error("Failed to create designs");
|
|
9804
9804
|
return e("workflow.steps.finish.finalize.updatingTransaction"), i.map((s, o) => {
|
|
9805
|
-
var
|
|
9806
|
-
const r =
|
|
9805
|
+
var g;
|
|
9806
|
+
const r = l[o], c = n[o], B = s.transaction;
|
|
9807
9807
|
return SA(
|
|
9808
9808
|
B,
|
|
9809
9809
|
r.product,
|
|
@@ -9813,7 +9813,7 @@ const Jn = async (g) => {
|
|
|
9813
9813
|
c.cartMetadata,
|
|
9814
9814
|
//lineItemImageLink,
|
|
9815
9815
|
void 0,
|
|
9816
|
-
(
|
|
9816
|
+
(g = s.processExecution) == null ? void 0 : g.id
|
|
9817
9817
|
);
|
|
9818
9818
|
});
|
|
9819
9819
|
};
|
|
@@ -9899,7 +9899,7 @@ const $e = new Kn(), jn = f`
|
|
|
9899
9899
|
}
|
|
9900
9900
|
}
|
|
9901
9901
|
`;
|
|
9902
|
-
var Vn = /* @__PURE__ */ ((
|
|
9902
|
+
var Vn = /* @__PURE__ */ ((l) => (l.QuantityChanged = "QuantityChanged", l.PriceBreakChanged = "PriceBreakChanged", l))(Vn || {});
|
|
9903
9903
|
class Se {
|
|
9904
9904
|
constructor(e, t) {
|
|
9905
9905
|
var a;
|
|
@@ -9989,9 +9989,9 @@ class Se {
|
|
|
9989
9989
|
}
|
|
9990
9990
|
let n = 2048;
|
|
9991
9991
|
t && t <= 2048 && (n = t);
|
|
9992
|
-
const i = ke(n, n), s = this.commandContext.getAllLayouts(), o = A.defaultPreviewPanelIndex || 0, r = A.panels[o], c = s.find((
|
|
9992
|
+
const i = ke(n, n), s = this.commandContext.getAllLayouts(), o = A.defaultPreviewPanelIndex || 0, r = A.panels[o], c = s.find((Q) => {
|
|
9993
9993
|
var p;
|
|
9994
|
-
return ((p =
|
|
9994
|
+
return ((p = Q.layoutState) == null ? void 0 : p.layout.panelId) === (r == null ? void 0 : r.name);
|
|
9995
9995
|
}) || s[0], B = c.layoutState.layout.previewRegion ? {
|
|
9996
9996
|
x: c.layoutState.layout.previewRegion.left,
|
|
9997
9997
|
y: c.layoutState.layout.previewRegion.top,
|
|
@@ -10002,10 +10002,10 @@ class Se {
|
|
|
10002
10002
|
y: 0,
|
|
10003
10003
|
width: c.layoutState.layout.width,
|
|
10004
10004
|
height: c.layoutState.layout.height
|
|
10005
|
-
},
|
|
10005
|
+
}, g = this.commandContext.getLayoutById(c.layoutState.layout.id), d = i.getContext("2d");
|
|
10006
10006
|
if (!d)
|
|
10007
10007
|
throw new Ve("Failed to obtain 2D context for preview image creation");
|
|
10008
|
-
const C = zt(
|
|
10008
|
+
const C = zt(g.layoutState.layout, g.layoutState.elements, {
|
|
10009
10009
|
renderingConfiguration: {
|
|
10010
10010
|
purpose: Kt.Print,
|
|
10011
10011
|
region: { left: B.x, top: B.y, width: B.width, height: B.height }
|
|
@@ -10017,7 +10017,7 @@ class Se {
|
|
|
10017
10017
|
createCanvas: ke,
|
|
10018
10018
|
createImage: Vt,
|
|
10019
10019
|
DOMParser: Wt(),
|
|
10020
|
-
fetch:
|
|
10020
|
+
fetch: lt
|
|
10021
10021
|
})).render();
|
|
10022
10022
|
const u = await this.getCanvasObjectURLAsync(i);
|
|
10023
10023
|
return i.toDataURL(u);
|
|
@@ -10113,17 +10113,17 @@ class Se {
|
|
|
10113
10113
|
const a = await e.getGlobalProperties(), n = A == null ? void 0 : A.map((r) => r.getId()), i = this.getSteps().filter((r) => n === void 0 || n.includes(r.getId())), s = t.getSteps(), o = (r) => a.find((c) => c.getRawProperty().name === r.aspectName);
|
|
10114
10114
|
i.forEach((r) => {
|
|
10115
10115
|
const c = /* @__PURE__ */ new Set(), B = r.getRaw().globalPropertyAspectConfigurations;
|
|
10116
|
-
B !== void 0 && (B.forEach((
|
|
10117
|
-
const d =
|
|
10116
|
+
B !== void 0 && (B.forEach((g) => c.add(JSON.stringify(g))), s.forEach((g) => {
|
|
10117
|
+
const d = g.getRaw().globalPropertyAspectConfigurations;
|
|
10118
10118
|
d !== void 0 && d.forEach((C) => {
|
|
10119
10119
|
const w = o(C), h = c.has(JSON.stringify(C));
|
|
10120
10120
|
if (h && (w == null ? void 0 : w.getType()) === "Option") {
|
|
10121
|
-
const u =
|
|
10121
|
+
const u = g.getCurrentVariant();
|
|
10122
10122
|
if (!u)
|
|
10123
10123
|
return;
|
|
10124
10124
|
r.selectVariant(u), c.delete(JSON.stringify(C));
|
|
10125
10125
|
} else if (h && (w == null ? void 0 : w.getType()) === "Text") {
|
|
10126
|
-
const u =
|
|
10126
|
+
const u = g.getText();
|
|
10127
10127
|
r.setText(u), c.delete(JSON.stringify(C));
|
|
10128
10128
|
}
|
|
10129
10129
|
});
|
|
@@ -10203,10 +10203,10 @@ class Se {
|
|
|
10203
10203
|
}
|
|
10204
10204
|
async copy() {
|
|
10205
10205
|
var s;
|
|
10206
|
-
const e =
|
|
10206
|
+
const e = le(this.getCommandContext().getState());
|
|
10207
10207
|
if (!e)
|
|
10208
10208
|
throw new b("Internal state is undefined! Cannot copy experience!");
|
|
10209
|
-
const t = JSON.stringify(e.transaction), A = this.getWorkflowManager().getWorkflow(), a = new
|
|
10209
|
+
const t = JSON.stringify(e.transaction), A = this.getWorkflowManager().getWorkflow(), a = new is({}), n = (s = this.getWorkflowManager().getTransaction().integrationProduct) == null ? void 0 : s.id;
|
|
10210
10210
|
if (!n)
|
|
10211
10211
|
throw new b("Integration product id is undefined!");
|
|
10212
10212
|
return await a.initFromIntegrationProduct(n), await a.getWorkflowExperience(A.id, t, void 0);
|
|
@@ -10303,11 +10303,11 @@ const Wn = [
|
|
|
10303
10303
|
"textPath",
|
|
10304
10304
|
"tref",
|
|
10305
10305
|
"tspan"
|
|
10306
|
-
], Xn = async (
|
|
10306
|
+
], Xn = async (l, e, t) => {
|
|
10307
10307
|
const A = e.data, a = t.data.baseUrl, n = A.assetUrl.replace("localhost", "localstack"), i = a.slice(0, 4) === "http" ? "" : "https://", s = new URL(i + a);
|
|
10308
10308
|
s.searchParams.append("video", Pt(JSON.stringify([{ href: n }]))), s.pathname = s.pathname + (s.pathname.slice(-1) === "/" ? "" : "/");
|
|
10309
10309
|
const o = s.toString(), c = `data:image/svg+xml;base64,${Pt(await tA(o, { type: "svg" }))}`, B = (d) => {
|
|
10310
|
-
const C =
|
|
10310
|
+
const C = l.find((h) => h.panelId === d.panelId);
|
|
10311
10311
|
if (!C)
|
|
10312
10312
|
throw new z(d);
|
|
10313
10313
|
const w = J();
|
|
@@ -10324,13 +10324,13 @@ const Wn = [
|
|
|
10324
10324
|
},
|
|
10325
10325
|
C
|
|
10326
10326
|
);
|
|
10327
|
-
},
|
|
10327
|
+
}, g = t.data.regions;
|
|
10328
10328
|
try {
|
|
10329
|
-
return
|
|
10329
|
+
return g.map(B);
|
|
10330
10330
|
} catch (d) {
|
|
10331
10331
|
return console.error(d), [];
|
|
10332
10332
|
}
|
|
10333
|
-
}, qn = async (
|
|
10333
|
+
}, qn = async (l, e, t, A) => {
|
|
10334
10334
|
const a = t.data, n = a.assetUrl, i = await nt(n);
|
|
10335
10335
|
try {
|
|
10336
10336
|
const s = _A(a, A.option);
|
|
@@ -10343,7 +10343,7 @@ const Wn = [
|
|
|
10343
10343
|
height: 1
|
|
10344
10344
|
},
|
|
10345
10345
|
(w = s == null ? void 0 : s.asset) == null ? void 0 : w.fileLink
|
|
10346
|
-
), B = await
|
|
10346
|
+
), B = await gt(c), g = J(), d = l.find((h) => h.panelId === r.panelId);
|
|
10347
10347
|
if (!d)
|
|
10348
10348
|
throw new z(r);
|
|
10349
10349
|
const C = Bt(i, B, {
|
|
@@ -10354,7 +10354,7 @@ const Wn = [
|
|
|
10354
10354
|
return [
|
|
10355
10355
|
new L(
|
|
10356
10356
|
{
|
|
10357
|
-
id:
|
|
10357
|
+
id: g,
|
|
10358
10358
|
path: B.path,
|
|
10359
10359
|
dataWidth: B.width,
|
|
10360
10360
|
dataHeight: B.height,
|
|
@@ -10376,15 +10376,15 @@ const Wn = [
|
|
|
10376
10376
|
},
|
|
10377
10377
|
d
|
|
10378
10378
|
),
|
|
10379
|
-
new Lt(
|
|
10379
|
+
new Lt(g, i, C)
|
|
10380
10380
|
];
|
|
10381
10381
|
};
|
|
10382
10382
|
return (await Promise.all(A.data.regions.map((r) => o(r)))).flat();
|
|
10383
10383
|
} catch (s) {
|
|
10384
10384
|
return console.error(s), [];
|
|
10385
10385
|
}
|
|
10386
|
-
}, Zn = async (
|
|
10387
|
-
var p,
|
|
10386
|
+
}, Zn = async (l, e, t, A) => {
|
|
10387
|
+
var p, m;
|
|
10388
10388
|
const a = t.data, n = A.option;
|
|
10389
10389
|
if (!n)
|
|
10390
10390
|
return console.error(`No option for step ${A.stepName}.`), [];
|
|
@@ -10394,7 +10394,7 @@ const Wn = [
|
|
|
10394
10394
|
if (!i.asset)
|
|
10395
10395
|
return console.error(`No asset for variant with ID: ${a.illustrationVariantId}`), [];
|
|
10396
10396
|
e[A.stepName] = { selectedVariants: [i] };
|
|
10397
|
-
const s = (
|
|
10397
|
+
const s = (m = i.asset) == null ? void 0 : m.fileLink;
|
|
10398
10398
|
if (!s)
|
|
10399
10399
|
return console.error(`No asset link for variant with ID: ${a.illustrationVariantId}`), [];
|
|
10400
10400
|
const o = await _(s, !0), r = /<svg.*?<\/svg>/s, c = o.match(r) || [], B = (c == null ? void 0 : c.length) > 0 ? c[0] : "", C = Xt().parseFromString(B, "image/svg+xml").firstElementChild;
|
|
@@ -10425,7 +10425,7 @@ const Wn = [
|
|
|
10425
10425
|
}
|
|
10426
10426
|
}
|
|
10427
10427
|
const D = (I) => {
|
|
10428
|
-
const F =
|
|
10428
|
+
const F = l.find((Y) => Y.panelId === I.panelId);
|
|
10429
10429
|
if (!F)
|
|
10430
10430
|
throw new z(I);
|
|
10431
10431
|
const y = J();
|
|
@@ -10446,15 +10446,15 @@ const Wn = [
|
|
|
10446
10446
|
},
|
|
10447
10447
|
F
|
|
10448
10448
|
);
|
|
10449
|
-
},
|
|
10449
|
+
}, Q = A.data.regions;
|
|
10450
10450
|
try {
|
|
10451
|
-
return
|
|
10451
|
+
return Q.map(D);
|
|
10452
10452
|
} catch (I) {
|
|
10453
10453
|
return console.error(I), [];
|
|
10454
10454
|
}
|
|
10455
|
-
}, $n = async (
|
|
10455
|
+
}, $n = async (l, e, t) => {
|
|
10456
10456
|
const A = await FA(t.data.module), a = e.data, n = (s, o) => {
|
|
10457
|
-
const r =
|
|
10457
|
+
const r = l.find((B) => B.panelId === o.panelId);
|
|
10458
10458
|
if (!r)
|
|
10459
10459
|
throw new z(o);
|
|
10460
10460
|
const c = J();
|
|
@@ -10482,12 +10482,12 @@ const Wn = [
|
|
|
10482
10482
|
} catch (s) {
|
|
10483
10483
|
return console.error(s), [];
|
|
10484
10484
|
}
|
|
10485
|
-
}, _n = async (
|
|
10485
|
+
}, _n = async (l, e, t, A) => {
|
|
10486
10486
|
var c, B;
|
|
10487
10487
|
const a = t.data, n = A.option;
|
|
10488
10488
|
if (!n)
|
|
10489
10489
|
return console.error(`No option for step ${A.stepName}.`), [];
|
|
10490
|
-
const i = ((c = n.variants) == null ? void 0 : c.find((
|
|
10490
|
+
const i = ((c = n.variants) == null ? void 0 : c.find((g) => g.id === a.pictureVariantId)) || Ke(n);
|
|
10491
10491
|
if (!i)
|
|
10492
10492
|
return console.error(`No variant with ID: ${a.pictureVariantId}`), [];
|
|
10493
10493
|
if (!i.asset)
|
|
@@ -10496,24 +10496,24 @@ const Wn = [
|
|
|
10496
10496
|
const s = (B = i.asset) == null ? void 0 : B.fileLink;
|
|
10497
10497
|
if (!s)
|
|
10498
10498
|
return console.error(`No asset link for variant with ID: ${a.pictureVariantId}`), [];
|
|
10499
|
-
const o = (
|
|
10500
|
-
const d =
|
|
10499
|
+
const o = (g) => {
|
|
10500
|
+
const d = l.find((w) => w.panelId === g.panelId);
|
|
10501
10501
|
if (!d)
|
|
10502
|
-
throw new z(
|
|
10502
|
+
throw new z(g);
|
|
10503
10503
|
const C = J();
|
|
10504
10504
|
return new L(
|
|
10505
10505
|
{
|
|
10506
10506
|
id: C,
|
|
10507
10507
|
src: s,
|
|
10508
10508
|
type: G.Image,
|
|
10509
|
-
y:
|
|
10510
|
-
x:
|
|
10511
|
-
rotation:
|
|
10512
|
-
width:
|
|
10513
|
-
height:
|
|
10514
|
-
layer:
|
|
10515
|
-
layerIndex:
|
|
10516
|
-
immutable:
|
|
10509
|
+
y: g.top,
|
|
10510
|
+
x: g.left,
|
|
10511
|
+
rotation: g.rotation,
|
|
10512
|
+
width: g.width,
|
|
10513
|
+
height: g.height,
|
|
10514
|
+
layer: g.layer,
|
|
10515
|
+
layerIndex: g.layerIndex,
|
|
10516
|
+
immutable: g.immutable,
|
|
10517
10517
|
preserveAspectRatio: "none"
|
|
10518
10518
|
},
|
|
10519
10519
|
d
|
|
@@ -10521,10 +10521,10 @@ const Wn = [
|
|
|
10521
10521
|
}, r = A.data.regions;
|
|
10522
10522
|
try {
|
|
10523
10523
|
return r.map(o);
|
|
10524
|
-
} catch (
|
|
10525
|
-
return console.error(
|
|
10524
|
+
} catch (g) {
|
|
10525
|
+
return console.error(g), [];
|
|
10526
10526
|
}
|
|
10527
|
-
}, ei = async (
|
|
10527
|
+
}, ei = async (l, e, t, A) => {
|
|
10528
10528
|
var r;
|
|
10529
10529
|
const a = t.data, n = A.option;
|
|
10530
10530
|
if (!n)
|
|
@@ -10534,10 +10534,10 @@ const Wn = [
|
|
|
10534
10534
|
return console.error(`No variant with ID: ${a.colorVariantId}`), [];
|
|
10535
10535
|
e[A.stepName] = { selectedVariants: [i] };
|
|
10536
10536
|
const s = (c) => {
|
|
10537
|
-
const B =
|
|
10537
|
+
const B = l.find((h) => h.panelId === c.panelId);
|
|
10538
10538
|
if (!B)
|
|
10539
10539
|
throw new z(c);
|
|
10540
|
-
const
|
|
10540
|
+
const g = `
|
|
10541
10541
|
<svg
|
|
10542
10542
|
xmlns="http://www.w3.org/2000/svg"
|
|
10543
10543
|
xmlnsXlink="http://www.w3.org/1999/xlink"
|
|
@@ -10562,7 +10562,7 @@ const Wn = [
|
|
|
10562
10562
|
{
|
|
10563
10563
|
colors: C,
|
|
10564
10564
|
id: w,
|
|
10565
|
-
svg:
|
|
10565
|
+
svg: g,
|
|
10566
10566
|
type: G.Illustration,
|
|
10567
10567
|
y: c.top,
|
|
10568
10568
|
x: c.left,
|
|
@@ -10581,7 +10581,7 @@ const Wn = [
|
|
|
10581
10581
|
} catch (c) {
|
|
10582
10582
|
return console.error(c), [];
|
|
10583
10583
|
}
|
|
10584
|
-
}, ti = async (
|
|
10584
|
+
}, ti = async (l, e, t) => {
|
|
10585
10585
|
const A = [], n = (() => {
|
|
10586
10586
|
var r, c;
|
|
10587
10587
|
return e.type === M.ProductOverlay ? t || ((r = e.data.asset) == null ? void 0 : r.fileLink) || "" : ((c = e.data.asset) == null ? void 0 : c.fileLink) || "";
|
|
@@ -10589,7 +10589,7 @@ const Wn = [
|
|
|
10589
10589
|
if (s === "image")
|
|
10590
10590
|
try {
|
|
10591
10591
|
o.forEach((r) => {
|
|
10592
|
-
const c =
|
|
10592
|
+
const c = l.find((g) => g.panelId === r.panelId);
|
|
10593
10593
|
if (!c)
|
|
10594
10594
|
throw new z(r);
|
|
10595
10595
|
const B = {
|
|
@@ -10616,14 +10616,14 @@ const Wn = [
|
|
|
10616
10616
|
}
|
|
10617
10617
|
else {
|
|
10618
10618
|
const r = await _(n, !0), c = (B) => {
|
|
10619
|
-
const
|
|
10619
|
+
const g = /<svg.*?<\/svg>/s, d = B.match(g) || [], C = (d == null ? void 0 : d.length) > 0 ? d[0] : "", u = Xt().parseFromString(C, "image/svg+xml").firstElementChild;
|
|
10620
10620
|
if (!u)
|
|
10621
10621
|
throw new he("Failed to read SVG.");
|
|
10622
10622
|
return qt(u), Zt().serializeToString(u);
|
|
10623
10623
|
};
|
|
10624
10624
|
o.forEach((B) => {
|
|
10625
|
-
const
|
|
10626
|
-
if (!
|
|
10625
|
+
const g = l.find((C) => C.panelId === B.panelId);
|
|
10626
|
+
if (!g)
|
|
10627
10627
|
throw new z(B);
|
|
10628
10628
|
const d = {
|
|
10629
10629
|
id: J(),
|
|
@@ -10644,17 +10644,17 @@ const Wn = [
|
|
|
10644
10644
|
productOverlay: e.type === M.ProductOverlay ? !0 : void 0,
|
|
10645
10645
|
excludeFromExport: e.data.excludeFromPrint
|
|
10646
10646
|
};
|
|
10647
|
-
A.push(new L(d,
|
|
10647
|
+
A.push(new L(d, g));
|
|
10648
10648
|
});
|
|
10649
10649
|
}
|
|
10650
10650
|
return A;
|
|
10651
|
-
}, Ai = async (
|
|
10651
|
+
}, Ai = async (l, e, t, A) => {
|
|
10652
10652
|
const a = [], n = t.data, i = 30, s = (h) => h.vertical ? "center" : h.textAlign || "center", o = () => {
|
|
10653
10653
|
var D;
|
|
10654
10654
|
const h = A.option;
|
|
10655
10655
|
if (!h)
|
|
10656
10656
|
return;
|
|
10657
|
-
const u = ((D = h.variants) == null ? void 0 : D.find((
|
|
10657
|
+
const u = ((D = h.variants) == null ? void 0 : D.find((Q) => Q.id === n.fontVariantId)) || Ke(h);
|
|
10658
10658
|
if (!u || !u.asset)
|
|
10659
10659
|
return;
|
|
10660
10660
|
e[A.stepName] = { selectedVariants: [u] };
|
|
@@ -10670,7 +10670,7 @@ const Wn = [
|
|
|
10670
10670
|
assetUrl: h,
|
|
10671
10671
|
name: u.names.fullName.en
|
|
10672
10672
|
};
|
|
10673
|
-
})(), B = (A.data.replaceableText ? A.data.replaceableText.replace("{{}}", n.text) : n.text) || "",
|
|
10673
|
+
})(), B = (A.data.replaceableText ? A.data.replaceableText.replace("{{}}", n.text) : n.text) || "", g = it(B, {
|
|
10674
10674
|
vertical: A.data.vertical,
|
|
10675
10675
|
uppercase: A.data.uppercase
|
|
10676
10676
|
}), d = async (h) => {
|
|
@@ -10681,7 +10681,7 @@ const Wn = [
|
|
|
10681
10681
|
return E == null ? void 0 : E.color;
|
|
10682
10682
|
}, C = n.color || await d(A.data), w = A.data.regions;
|
|
10683
10683
|
for (const h of w) {
|
|
10684
|
-
const u =
|
|
10684
|
+
const u = l.find((D) => D.panelId === h.panelId);
|
|
10685
10685
|
if (!u)
|
|
10686
10686
|
continue;
|
|
10687
10687
|
const E = {
|
|
@@ -10697,7 +10697,7 @@ const Wn = [
|
|
|
10697
10697
|
layerIndex: h.layerIndex,
|
|
10698
10698
|
paths: A.data.paths,
|
|
10699
10699
|
rotation: h.rotation,
|
|
10700
|
-
text:
|
|
10700
|
+
text: g,
|
|
10701
10701
|
type: G.Textbox,
|
|
10702
10702
|
vertical: A.data.vertical,
|
|
10703
10703
|
verticalAlign: A.data.verticalAlign || "middle",
|
|
@@ -10706,12 +10706,12 @@ const Wn = [
|
|
|
10706
10706
|
y: h.top
|
|
10707
10707
|
};
|
|
10708
10708
|
if (c) {
|
|
10709
|
-
const [D,
|
|
10709
|
+
const [D, Q] = Ne(
|
|
10710
10710
|
A.data.size || i,
|
|
10711
10711
|
c,
|
|
10712
10712
|
h,
|
|
10713
10713
|
[
|
|
10714
|
-
it(
|
|
10714
|
+
it(g, {
|
|
10715
10715
|
vertical: A.data.vertical,
|
|
10716
10716
|
uppercase: A.data.uppercase
|
|
10717
10717
|
})
|
|
@@ -10727,7 +10727,7 @@ const Wn = [
|
|
|
10727
10727
|
{
|
|
10728
10728
|
...E,
|
|
10729
10729
|
fontSize: D,
|
|
10730
|
-
text: E.curved ? E.text : (
|
|
10730
|
+
text: E.curved ? E.text : (Q || []).join(`
|
|
10731
10731
|
`)
|
|
10732
10732
|
},
|
|
10733
10733
|
u
|
|
@@ -10737,7 +10737,7 @@ const Wn = [
|
|
|
10737
10737
|
a.push(new L(E, u));
|
|
10738
10738
|
}
|
|
10739
10739
|
return a;
|
|
10740
|
-
}, ai = (
|
|
10740
|
+
}, ai = (l, e) => l.conditions ? l.conditions.every((t) => {
|
|
10741
10741
|
const A = e[t.targetStepName];
|
|
10742
10742
|
if (A && A.selectedVariants) {
|
|
10743
10743
|
const a = A.selectedVariants;
|
|
@@ -10746,9 +10746,9 @@ const Wn = [
|
|
|
10746
10746
|
);
|
|
10747
10747
|
}
|
|
10748
10748
|
return !1;
|
|
10749
|
-
}) : !0, ni = async (
|
|
10749
|
+
}) : !0, ni = async (l, e, t, A) => {
|
|
10750
10750
|
const a = [], n = {};
|
|
10751
|
-
for (const i of
|
|
10751
|
+
for (const i of l) {
|
|
10752
10752
|
const s = e.steps.find((o) => o.stepName === i.name);
|
|
10753
10753
|
if (s)
|
|
10754
10754
|
switch (s.type) {
|
|
@@ -10820,12 +10820,12 @@ class Ye {
|
|
|
10820
10820
|
return this.layouts;
|
|
10821
10821
|
}
|
|
10822
10822
|
}
|
|
10823
|
-
const ii = () => new Promise((
|
|
10823
|
+
const ii = () => new Promise((l, e) => {
|
|
10824
10824
|
try {
|
|
10825
10825
|
const A = ke().getContext("webgl2");
|
|
10826
|
-
|
|
10826
|
+
l(!!A);
|
|
10827
10827
|
} catch {
|
|
10828
|
-
|
|
10828
|
+
l(!1);
|
|
10829
10829
|
}
|
|
10830
10830
|
}), si = ii();
|
|
10831
10831
|
class oi {
|
|
@@ -10876,7 +10876,7 @@ class oi {
|
|
|
10876
10876
|
* Actions to perform when a static render event is fired for this canvas.
|
|
10877
10877
|
*/
|
|
10878
10878
|
async render(e) {
|
|
10879
|
-
const t =
|
|
10879
|
+
const t = le(e);
|
|
10880
10880
|
this.lastRequestedRenderArguments = t;
|
|
10881
10881
|
const A = this.getStaticContext();
|
|
10882
10882
|
if (!A) {
|
|
@@ -10949,7 +10949,7 @@ class ri extends BA {
|
|
|
10949
10949
|
o = n.width, r = n.height;
|
|
10950
10950
|
const c = zt(e.layoutState.layout, t, {
|
|
10951
10951
|
renderingConfiguration: { purpose: Kt.ThreeD }
|
|
10952
|
-
}), B = jt(c),
|
|
10952
|
+
}), B = jt(c), g = await $t.from(this.ctx, B, {
|
|
10953
10953
|
anonymousCrossOrigin: !0,
|
|
10954
10954
|
ignoreDimensions: !this.nonPOTSupport,
|
|
10955
10955
|
ignoreAnimation: !0,
|
|
@@ -10959,14 +10959,14 @@ class ri extends BA {
|
|
|
10959
10959
|
createCanvas: ke,
|
|
10960
10960
|
createImage: Vt,
|
|
10961
10961
|
DOMParser: Wt(),
|
|
10962
|
-
fetch:
|
|
10962
|
+
fetch: lt
|
|
10963
10963
|
});
|
|
10964
|
-
|
|
10964
|
+
g.resize(o, r), await g.render(), this.onRender();
|
|
10965
10965
|
}
|
|
10966
10966
|
}
|
|
10967
|
-
const
|
|
10967
|
+
const fs = (l, e) => {
|
|
10968
10968
|
const t = [];
|
|
10969
|
-
return
|
|
10969
|
+
return l.forEach((A) => {
|
|
10970
10970
|
const a = e.steps.find((n) => n.stepName === A.stepName);
|
|
10971
10971
|
(a == null ? void 0 : a.type) === M.Text && A.stepAspectType === "Text" && t.push({
|
|
10972
10972
|
name: a.stepName,
|
|
@@ -10975,13 +10975,13 @@ const Is = (g, e) => {
|
|
|
10975
10975
|
}
|
|
10976
10976
|
});
|
|
10977
10977
|
}), t;
|
|
10978
|
-
},
|
|
10978
|
+
}, Fs = async (l, e, t, A) => {
|
|
10979
10979
|
let a = {
|
|
10980
10980
|
serializableWorkflow: { steps: [] },
|
|
10981
10981
|
layouts: {}
|
|
10982
10982
|
};
|
|
10983
10983
|
a = new k(t.map((o) => new Aa(o))).apply(a);
|
|
10984
|
-
const i = await ni(
|
|
10984
|
+
const i = await ni(l, e, t, A);
|
|
10985
10985
|
return new k(i).apply(a);
|
|
10986
10986
|
}, ci = f`
|
|
10987
10987
|
${Be}
|
|
@@ -11037,8 +11037,8 @@ const Is = (g, e) => {
|
|
|
11037
11037
|
...ProductFields
|
|
11038
11038
|
}
|
|
11039
11039
|
}
|
|
11040
|
-
`, We = (
|
|
11041
|
-
${
|
|
11040
|
+
`, We = (l) => f`
|
|
11041
|
+
${l ? PA : ""}
|
|
11042
11042
|
fragment ProductCollectionFields on ProductCollection {
|
|
11043
11043
|
id
|
|
11044
11044
|
name
|
|
@@ -11057,7 +11057,7 @@ const Is = (g, e) => {
|
|
|
11057
11057
|
}
|
|
11058
11058
|
}
|
|
11059
11059
|
}
|
|
11060
|
-
${
|
|
11060
|
+
${l ? "productCollectionProducts { ...ProductCollectionProductFields }" : ""}
|
|
11061
11061
|
transformCollection {
|
|
11062
11062
|
id
|
|
11063
11063
|
name
|
|
@@ -11082,8 +11082,8 @@ const Is = (g, e) => {
|
|
|
11082
11082
|
}
|
|
11083
11083
|
}
|
|
11084
11084
|
}
|
|
11085
|
-
`,
|
|
11086
|
-
${We(
|
|
11085
|
+
`, li = (l) => f`
|
|
11086
|
+
${We(l)}
|
|
11087
11087
|
query GetBundle($id: String!) {
|
|
11088
11088
|
bundles(ids: [$id]) {
|
|
11089
11089
|
id
|
|
@@ -11104,7 +11104,7 @@ const Is = (g, e) => {
|
|
|
11104
11104
|
}
|
|
11105
11105
|
}
|
|
11106
11106
|
}
|
|
11107
|
-
`,
|
|
11107
|
+
`, gi = f`
|
|
11108
11108
|
query GetBundleStakeholders($id: String!) {
|
|
11109
11109
|
bundles(ids: [$id]) {
|
|
11110
11110
|
id
|
|
@@ -11155,8 +11155,8 @@ const Is = (g, e) => {
|
|
|
11155
11155
|
}
|
|
11156
11156
|
}
|
|
11157
11157
|
}
|
|
11158
|
-
`, Ci = (
|
|
11159
|
-
${We(
|
|
11158
|
+
`, Ci = (l) => f`
|
|
11159
|
+
${We(l)}
|
|
11160
11160
|
mutation CreateBundle(
|
|
11161
11161
|
$collectionId: String
|
|
11162
11162
|
$initialMetadata: [MetadataInput!]
|
|
@@ -11184,8 +11184,8 @@ const Is = (g, e) => {
|
|
|
11184
11184
|
}
|
|
11185
11185
|
}
|
|
11186
11186
|
}
|
|
11187
|
-
`, wi = (
|
|
11188
|
-
${We(
|
|
11187
|
+
`, wi = (l) => f`
|
|
11188
|
+
${We(l)}
|
|
11189
11189
|
mutation DuplicateBundle(
|
|
11190
11190
|
$id: String!
|
|
11191
11191
|
$template: Boolean
|
|
@@ -11233,7 +11233,7 @@ const Is = (g, e) => {
|
|
|
11233
11233
|
id
|
|
11234
11234
|
}
|
|
11235
11235
|
}
|
|
11236
|
-
`,
|
|
11236
|
+
`, mi = f`
|
|
11237
11237
|
mutation BundleRemoveTransaction(
|
|
11238
11238
|
$id: String!
|
|
11239
11239
|
$transactionId: String!
|
|
@@ -11248,7 +11248,7 @@ const Is = (g, e) => {
|
|
|
11248
11248
|
id
|
|
11249
11249
|
}
|
|
11250
11250
|
}
|
|
11251
|
-
`,
|
|
11251
|
+
`, Qi = f`
|
|
11252
11252
|
mutation BundleRemoveTransactions(
|
|
11253
11253
|
$id: String!
|
|
11254
11254
|
$transactionIds: [String!]!
|
|
@@ -11315,8 +11315,8 @@ const Is = (g, e) => {
|
|
|
11315
11315
|
id
|
|
11316
11316
|
}
|
|
11317
11317
|
}
|
|
11318
|
-
`, Fi = (
|
|
11319
|
-
${We(
|
|
11318
|
+
`, Fi = (l) => f`
|
|
11319
|
+
${We(l)}
|
|
11320
11320
|
mutation BundleAssignProductCollection($id: String!, $productCollectionId: String!) {
|
|
11321
11321
|
bundleAssignProductCollection(id: $id, collectionId: $productCollectionId) {
|
|
11322
11322
|
id
|
|
@@ -11804,7 +11804,7 @@ class Ni {
|
|
|
11804
11804
|
}
|
|
11805
11805
|
async setGlobalPropertyState(e) {
|
|
11806
11806
|
this.globalPropertyState || await this.initPromise;
|
|
11807
|
-
const t =
|
|
11807
|
+
const t = le(this.globalPropertyState);
|
|
11808
11808
|
this.globalPropertyState = { ...e, id: t.id }, await this.updateGlobalPropertyState(), await this.onGlobalPropertyStateChange(t, this.globalPropertyState);
|
|
11809
11809
|
}
|
|
11810
11810
|
getAspect(e) {
|
|
@@ -11828,7 +11828,7 @@ class Ni {
|
|
|
11828
11828
|
const a = this.configuration.aspects.find((s) => s.name === e);
|
|
11829
11829
|
if (!a)
|
|
11830
11830
|
throw new Error(`Failed to find configuration aspect with name: ${e}`);
|
|
11831
|
-
const n =
|
|
11831
|
+
const n = le(this.globalPropertyState), i = this.globalPropertyState.aspects.find((s) => s.name === e);
|
|
11832
11832
|
i ? (i.value = t, A !== void 0 && (i.type = a.type, i.storage = A !== null ? A : void 0)) : this.globalPropertyState.aspects.push({
|
|
11833
11833
|
name: e,
|
|
11834
11834
|
value: t,
|
|
@@ -11843,7 +11843,7 @@ class Ni {
|
|
|
11843
11843
|
const A = this.configuration.aspects.find((i) => i.name === e);
|
|
11844
11844
|
if (!A)
|
|
11845
11845
|
throw new Error(`Failed to find configuration aspect with name: ${e}`);
|
|
11846
|
-
const a =
|
|
11846
|
+
const a = le(this.globalPropertyState), n = this.globalPropertyState.aspects.find((i) => i.name === e);
|
|
11847
11847
|
n ? (n.storage = t !== null ? t : void 0, n.type = A.type) : this.globalPropertyState.aspects.push({
|
|
11848
11848
|
name: e,
|
|
11849
11849
|
value: "",
|
|
@@ -12415,7 +12415,7 @@ class et {
|
|
|
12415
12415
|
(n) => n.getWorkflowManager().getTransaction().id === t.id
|
|
12416
12416
|
);
|
|
12417
12417
|
a.setBundle(void 0), this.previewService && a.getWorkflowManager().ejectFromPreviewService(), this.bundleStateManager.removeStateForTransaction(t.id), await x.getShadowGraphqlClient().mutate({
|
|
12418
|
-
mutation:
|
|
12418
|
+
mutation: mi,
|
|
12419
12419
|
variables: {
|
|
12420
12420
|
id: this.id,
|
|
12421
12421
|
transactionId: t.id,
|
|
@@ -12447,7 +12447,7 @@ class et {
|
|
|
12447
12447
|
A.forEach((a) => a.setBundle(void 0)), [...this.workflowExperiences, ...A].forEach(
|
|
12448
12448
|
(a) => a.checkForPriceBreakChanges()
|
|
12449
12449
|
), this.previewService && A.forEach((a) => a.getWorkflowManager().ejectFromPreviewService()), e.forEach((a) => this.bundleStateManager.removeStateForTransaction(a.id)), await x.getShadowGraphqlClient().mutate({
|
|
12450
|
-
mutation:
|
|
12450
|
+
mutation: Qi,
|
|
12451
12451
|
variables: {
|
|
12452
12452
|
id: this.id,
|
|
12453
12453
|
transactionIds: e.map((a) => a.id),
|
|
@@ -12556,7 +12556,7 @@ class et {
|
|
|
12556
12556
|
}
|
|
12557
12557
|
async getAllStakeholders() {
|
|
12558
12558
|
const e = await x.getShadowGraphqlClient().query({
|
|
12559
|
-
query:
|
|
12559
|
+
query: gi,
|
|
12560
12560
|
errorPolicy: "all",
|
|
12561
12561
|
fetchPolicy: "no-cache",
|
|
12562
12562
|
variables: {
|
|
@@ -12748,14 +12748,14 @@ class Gi {
|
|
|
12748
12748
|
* @returns
|
|
12749
12749
|
*/
|
|
12750
12750
|
async execute(e, t, A) {
|
|
12751
|
-
var B,
|
|
12752
|
-
const n = (
|
|
12751
|
+
var B, g, d;
|
|
12752
|
+
const n = (g = (B = (await x.getShadowGraphqlClient().mutate({
|
|
12753
12753
|
mutation: Ui,
|
|
12754
12754
|
variables: {
|
|
12755
12755
|
processFlowId: e,
|
|
12756
12756
|
inputs: [...t.map((C) => C.getValueForTransmission())]
|
|
12757
12757
|
}
|
|
12758
|
-
})).data) == null ? void 0 : B.processExecutionCreate) == null ? void 0 :
|
|
12758
|
+
})).data) == null ? void 0 : B.processExecutionCreate) == null ? void 0 : g.id;
|
|
12759
12759
|
if (!n)
|
|
12760
12760
|
throw new Error("Failed to create process execution.");
|
|
12761
12761
|
function i(C) {
|
|
@@ -12891,8 +12891,8 @@ class Ft {
|
|
|
12891
12891
|
return e.startsWith("[") ? JSON.stringify(JSON.parse(e)) : e;
|
|
12892
12892
|
}
|
|
12893
12893
|
}
|
|
12894
|
-
var Ji = /* @__PURE__ */ ((
|
|
12895
|
-
class
|
|
12894
|
+
var Ji = /* @__PURE__ */ ((l) => (l.Transaction = "Transaction", l.Bundle = "Bundle", l.Product = "Product", l.Variant = "Variant", l.Option = "Option", l.LineItem = "LineItem", l.Asset = "Asset", l))(Ji || {});
|
|
12895
|
+
class ys extends Ft {
|
|
12896
12896
|
constructor(e) {
|
|
12897
12897
|
super(`"${e}"`);
|
|
12898
12898
|
}
|
|
@@ -12907,7 +12907,7 @@ class NA extends Ft {
|
|
|
12907
12907
|
return e.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i);
|
|
12908
12908
|
}
|
|
12909
12909
|
}
|
|
12910
|
-
class
|
|
12910
|
+
class Ms extends Ft {
|
|
12911
12911
|
constructor(e) {
|
|
12912
12912
|
super(`[${e.map((t) => t.getRaw()).join(",")}]`);
|
|
12913
12913
|
}
|
|
@@ -12955,6 +12955,103 @@ class Tt {
|
|
|
12955
12955
|
}
|
|
12956
12956
|
}
|
|
12957
12957
|
const Ti = f`
|
|
12958
|
+
query GetCustomer($emailAddress: String!) {
|
|
12959
|
+
customer(emailAddress: $emailAddress) {
|
|
12960
|
+
id
|
|
12961
|
+
emailAddress
|
|
12962
|
+
partner {
|
|
12963
|
+
id
|
|
12964
|
+
}
|
|
12965
|
+
}
|
|
12966
|
+
}
|
|
12967
|
+
`, Oi = f`
|
|
12968
|
+
mutation CustomerCreate($details: CustomerDetailsInput!) {
|
|
12969
|
+
customerCreate(details: $details) {
|
|
12970
|
+
id
|
|
12971
|
+
emailAddress
|
|
12972
|
+
partner {
|
|
12973
|
+
id
|
|
12974
|
+
}
|
|
12975
|
+
}
|
|
12976
|
+
}
|
|
12977
|
+
`, Li = f`
|
|
12978
|
+
mutation CustomerAuthenticate($loginToken: String!) {
|
|
12979
|
+
customerAuthenticate(loginToken: $loginToken) {
|
|
12980
|
+
id
|
|
12981
|
+
emailAddress
|
|
12982
|
+
stakeholders {
|
|
12983
|
+
id
|
|
12984
|
+
type
|
|
12985
|
+
transaction {
|
|
12986
|
+
id
|
|
12987
|
+
}
|
|
12988
|
+
}
|
|
12989
|
+
bundleStakeholders {
|
|
12990
|
+
id
|
|
12991
|
+
type
|
|
12992
|
+
bundle {
|
|
12993
|
+
id
|
|
12994
|
+
transactions {
|
|
12995
|
+
id
|
|
12996
|
+
}
|
|
12997
|
+
}
|
|
12998
|
+
}
|
|
12999
|
+
partner {
|
|
13000
|
+
id
|
|
13001
|
+
}
|
|
13002
|
+
}
|
|
13003
|
+
}
|
|
13004
|
+
`, zi = f`
|
|
13005
|
+
mutation CustomerGenerateVerificationCode($emailAddress: String!) {
|
|
13006
|
+
customerGenerateVerificationCode(emailAddress: $emailAddress)
|
|
13007
|
+
}
|
|
13008
|
+
`, Ki = f`
|
|
13009
|
+
mutation CustomerVerifyCode($emailAddress: String!, $verificationCode: String!) {
|
|
13010
|
+
customerVerifyCode(emailAddress: $emailAddress, verificationCode: $verificationCode) {
|
|
13011
|
+
id
|
|
13012
|
+
emailAddress
|
|
13013
|
+
loginToken
|
|
13014
|
+
partner {
|
|
13015
|
+
id
|
|
13016
|
+
}
|
|
13017
|
+
stakeholders {
|
|
13018
|
+
id
|
|
13019
|
+
type
|
|
13020
|
+
transaction {
|
|
13021
|
+
id
|
|
13022
|
+
}
|
|
13023
|
+
}
|
|
13024
|
+
bundleStakeholders {
|
|
13025
|
+
id
|
|
13026
|
+
type
|
|
13027
|
+
bundle {
|
|
13028
|
+
id
|
|
13029
|
+
transactions {
|
|
13030
|
+
id
|
|
13031
|
+
}
|
|
13032
|
+
}
|
|
13033
|
+
}
|
|
13034
|
+
}
|
|
13035
|
+
}
|
|
13036
|
+
`, ji = f`
|
|
13037
|
+
query CustomerMetafields($id: String!) {
|
|
13038
|
+
metafields(entityId: $id) {
|
|
13039
|
+
id
|
|
13040
|
+
createdAt
|
|
13041
|
+
updatedAt
|
|
13042
|
+
entityId
|
|
13043
|
+
value
|
|
13044
|
+
metafieldConfiguration {
|
|
13045
|
+
id
|
|
13046
|
+
createdAt
|
|
13047
|
+
updatedAt
|
|
13048
|
+
entityType
|
|
13049
|
+
metafieldType
|
|
13050
|
+
name
|
|
13051
|
+
}
|
|
13052
|
+
}
|
|
13053
|
+
}
|
|
13054
|
+
`, Vi = f`
|
|
12958
13055
|
fragment RegionFields on Region {
|
|
12959
13056
|
width
|
|
12960
13057
|
top
|
|
@@ -12972,7 +13069,7 @@ const Ti = f`
|
|
|
12972
13069
|
height
|
|
12973
13070
|
}
|
|
12974
13071
|
}
|
|
12975
|
-
`,
|
|
13072
|
+
`, Wi = f`
|
|
12976
13073
|
fragment LookAtAnimationFields on LookAtAnimation {
|
|
12977
13074
|
latDeg
|
|
12978
13075
|
lonDeg
|
|
@@ -12983,7 +13080,7 @@ const Ti = f`
|
|
|
12983
13080
|
z
|
|
12984
13081
|
}
|
|
12985
13082
|
}
|
|
12986
|
-
`,
|
|
13083
|
+
`, Xi = f`
|
|
12987
13084
|
fragment RenderingPipelineConfigurationFields on RenderingPipelineConfiguration {
|
|
12988
13085
|
antiAliasing {
|
|
12989
13086
|
samples
|
|
@@ -13067,21 +13164,21 @@ const Ti = f`
|
|
|
13067
13164
|
weight
|
|
13068
13165
|
}
|
|
13069
13166
|
}
|
|
13070
|
-
`,
|
|
13167
|
+
`, qi = f`
|
|
13071
13168
|
fragment ModelAnimationFields on ModelAnimation {
|
|
13072
13169
|
from
|
|
13073
13170
|
to
|
|
13074
13171
|
loop
|
|
13075
13172
|
name
|
|
13076
13173
|
}
|
|
13077
|
-
`,
|
|
13078
|
-
${Ie(
|
|
13174
|
+
`, Zi = (l) => f`
|
|
13175
|
+
${Ie(l)}
|
|
13079
13176
|
${Et}
|
|
13080
13177
|
${sA}
|
|
13081
|
-
${
|
|
13082
|
-
${
|
|
13083
|
-
${
|
|
13084
|
-
${
|
|
13178
|
+
${Vi}
|
|
13179
|
+
${Wi}
|
|
13180
|
+
${Xi}
|
|
13181
|
+
${qi}
|
|
13085
13182
|
query GetWorkflows($ids: [String!]!) {
|
|
13086
13183
|
workflows(ids: $ids) {
|
|
13087
13184
|
partner {
|
|
@@ -13470,7 +13567,7 @@ const Ti = f`
|
|
|
13470
13567
|
}
|
|
13471
13568
|
}
|
|
13472
13569
|
}
|
|
13473
|
-
`,
|
|
13570
|
+
`, $i = f`
|
|
13474
13571
|
query GetTransactionForPartner($id: String!) {
|
|
13475
13572
|
transactions(ids: [$id]) {
|
|
13476
13573
|
id
|
|
@@ -13487,7 +13584,7 @@ const Ti = f`
|
|
|
13487
13584
|
}
|
|
13488
13585
|
}
|
|
13489
13586
|
}
|
|
13490
|
-
`,
|
|
13587
|
+
`, _i = f`
|
|
13491
13588
|
${Ie(!1)}
|
|
13492
13589
|
query GetWorkflowForTheme($id: String!) {
|
|
13493
13590
|
workflow(id: $id) {
|
|
@@ -13509,147 +13606,68 @@ const Ti = f`
|
|
|
13509
13606
|
}
|
|
13510
13607
|
}
|
|
13511
13608
|
}
|
|
13512
|
-
`,
|
|
13513
|
-
query GetCustomer($emailAddress: String!) {
|
|
13514
|
-
customer(emailAddress: $emailAddress) {
|
|
13515
|
-
id
|
|
13516
|
-
emailAddress
|
|
13517
|
-
partner {
|
|
13518
|
-
id
|
|
13519
|
-
}
|
|
13520
|
-
}
|
|
13521
|
-
}
|
|
13522
|
-
`, Xi = f`
|
|
13523
|
-
mutation CustomerCreate($details: CustomerDetailsInput!) {
|
|
13524
|
-
customerCreate(details: $details) {
|
|
13525
|
-
id
|
|
13526
|
-
emailAddress
|
|
13527
|
-
partner {
|
|
13528
|
-
id
|
|
13529
|
-
}
|
|
13530
|
-
}
|
|
13531
|
-
}
|
|
13532
|
-
`, qi = f`
|
|
13533
|
-
mutation CustomerAuthenticate($loginToken: String!) {
|
|
13534
|
-
customerAuthenticate(loginToken: $loginToken) {
|
|
13535
|
-
id
|
|
13536
|
-
emailAddress
|
|
13537
|
-
stakeholders {
|
|
13538
|
-
id
|
|
13539
|
-
type
|
|
13540
|
-
transaction {
|
|
13541
|
-
id
|
|
13542
|
-
}
|
|
13543
|
-
}
|
|
13544
|
-
bundleStakeholders {
|
|
13545
|
-
id
|
|
13546
|
-
type
|
|
13547
|
-
bundle {
|
|
13548
|
-
id
|
|
13549
|
-
transactions {
|
|
13550
|
-
id
|
|
13551
|
-
}
|
|
13552
|
-
}
|
|
13553
|
-
}
|
|
13554
|
-
partner {
|
|
13555
|
-
id
|
|
13556
|
-
}
|
|
13557
|
-
}
|
|
13558
|
-
}
|
|
13559
|
-
`, Zi = f`
|
|
13560
|
-
mutation CustomerGenerateVerificationCode($emailAddress: String!) {
|
|
13561
|
-
customerGenerateVerificationCode(emailAddress: $emailAddress)
|
|
13562
|
-
}
|
|
13563
|
-
`, $i = f`
|
|
13564
|
-
mutation CustomerVerifyCode($emailAddress: String!, $verificationCode: String!) {
|
|
13565
|
-
customerVerifyCode(emailAddress: $emailAddress, verificationCode: $verificationCode) {
|
|
13566
|
-
id
|
|
13567
|
-
emailAddress
|
|
13568
|
-
loginToken
|
|
13569
|
-
partner {
|
|
13570
|
-
id
|
|
13571
|
-
}
|
|
13572
|
-
stakeholders {
|
|
13573
|
-
id
|
|
13574
|
-
type
|
|
13575
|
-
transaction {
|
|
13576
|
-
id
|
|
13577
|
-
}
|
|
13578
|
-
}
|
|
13579
|
-
bundleStakeholders {
|
|
13580
|
-
id
|
|
13581
|
-
type
|
|
13582
|
-
bundle {
|
|
13583
|
-
id
|
|
13584
|
-
transactions {
|
|
13585
|
-
id
|
|
13586
|
-
}
|
|
13587
|
-
}
|
|
13588
|
-
}
|
|
13589
|
-
}
|
|
13590
|
-
}
|
|
13591
|
-
`, _i = f`
|
|
13609
|
+
`, es = f`
|
|
13592
13610
|
fragment TagFields on Tag {
|
|
13593
13611
|
id
|
|
13594
13612
|
name
|
|
13595
13613
|
}
|
|
13596
|
-
`,
|
|
13597
|
-
${
|
|
13614
|
+
`, ts = f`
|
|
13615
|
+
${es}
|
|
13598
13616
|
query GetManyTags($entityIds: [String!]!) {
|
|
13599
13617
|
tagsMany(entityIds: $entityIds) {
|
|
13600
13618
|
...TagFields
|
|
13601
13619
|
}
|
|
13602
13620
|
}
|
|
13603
|
-
`, re = async (
|
|
13621
|
+
`, re = async (l) => {
|
|
13604
13622
|
var e;
|
|
13605
|
-
for (const t in
|
|
13606
|
-
const A =
|
|
13623
|
+
for (const t in l.layouts) {
|
|
13624
|
+
const A = l.layouts[t].elements.filter(
|
|
13607
13625
|
(n) => n.type === G.Illustration
|
|
13608
13626
|
);
|
|
13609
13627
|
for (let n = 0; n < A.length; ++n) {
|
|
13610
13628
|
const i = A[n];
|
|
13611
13629
|
i.src && i.svg && (i.cachedObjectURL = await Re(i.svg));
|
|
13612
13630
|
}
|
|
13613
|
-
const a =
|
|
13631
|
+
const a = l.layouts[t].elements.filter((n) => n.type === G.Textbox);
|
|
13614
13632
|
for (let n = 0; n < a.length; ++n) {
|
|
13615
13633
|
const i = a[n];
|
|
13616
13634
|
(e = i.fontData) != null && e.assetUrl && await dt(i.fontData.assetUrl);
|
|
13617
13635
|
}
|
|
13618
13636
|
}
|
|
13619
|
-
},
|
|
13637
|
+
}, As = async (l, e) => {
|
|
13620
13638
|
var a;
|
|
13621
13639
|
const t = await x.getShadowGraphqlClient().query({
|
|
13622
|
-
query:
|
|
13640
|
+
query: Zi(((a = e == null ? void 0 : e.assets) == null ? void 0 : a.metadata) || !1),
|
|
13623
13641
|
errorPolicy: "all",
|
|
13624
13642
|
fetchPolicy: "no-cache",
|
|
13625
13643
|
variables: {
|
|
13626
|
-
ids:
|
|
13644
|
+
ids: l
|
|
13627
13645
|
}
|
|
13628
13646
|
}), A = t.data.workflows;
|
|
13629
|
-
if (A === void 0 || A.length !==
|
|
13647
|
+
if (A === void 0 || A.length !== l.length)
|
|
13630
13648
|
throw new Error(`Unable to read workflows: ${t.errors ?? "Length mismatch in response"}`);
|
|
13631
13649
|
return A.forEach((n) => {
|
|
13632
13650
|
n.steps.forEach((i) => {
|
|
13633
13651
|
var s, o, r;
|
|
13634
13652
|
delete i.data.__typename, (s = i.option) != null && s.id && ((o = i.option.defaultVariant) != null && o.asset && U.cacheAsset(i.option.defaultVariant.asset), i.option.colorProfile && U.cacheAsset(i.option.colorProfile), (r = i.option.variants) == null || r.forEach((c) => {
|
|
13635
13653
|
c.asset && U.cacheAsset(c.asset), c.thumbnail && U.cacheAsset(c.thumbnail), c.material && U.cacheMaterial(c.material);
|
|
13636
|
-
}),
|
|
13654
|
+
}), me.set({ id: i.option.id }, Promise.resolve(i.option)));
|
|
13637
13655
|
}), n.finalizeStepConfig || (n.finalizeStepConfig = {}), n.finalizeStepConfig.termsMarkdown = n.partner.termsMarkdown;
|
|
13638
13656
|
}), A;
|
|
13639
|
-
},
|
|
13640
|
-
const A = (await e).find((a) => a.id ===
|
|
13657
|
+
}, as = async (l, e) => {
|
|
13658
|
+
const A = (await e).find((a) => a.id === l);
|
|
13641
13659
|
if (!A)
|
|
13642
|
-
throw new Error(`Workflow not found: ${
|
|
13660
|
+
throw new Error(`Workflow not found: ${l}`);
|
|
13643
13661
|
return A;
|
|
13644
|
-
}, vA = async (
|
|
13645
|
-
const t =
|
|
13662
|
+
}, vA = async (l, e) => {
|
|
13663
|
+
const t = l.map((s) => me.get({ id: s, options: e })), A = l.filter((s, o) => t[o] === void 0);
|
|
13646
13664
|
if (A.length === 0)
|
|
13647
13665
|
return Promise.all(t);
|
|
13648
|
-
const a =
|
|
13649
|
-
(s) =>
|
|
13666
|
+
const a = As(A, e), n = A.map(
|
|
13667
|
+
(s) => me.set({ id: s, options: e }, as(s, a))
|
|
13650
13668
|
), i = t.filter((s) => s !== void 0);
|
|
13651
13669
|
return await Promise.all(i.concat(n));
|
|
13652
|
-
}, xe = async (
|
|
13670
|
+
}, xe = async (l, e) => (await vA([l], e))[0], ns = (l) => l.sort((e, t) => e.index - t.index).map((e) => ({
|
|
13653
13671
|
id: J(),
|
|
13654
13672
|
panelId: e.name,
|
|
13655
13673
|
name: e.name,
|
|
@@ -13662,11 +13680,11 @@ const Ti = f`
|
|
|
13662
13680
|
previewRegion: e.previewRegion,
|
|
13663
13681
|
useEditableArea: e.useEditableArea,
|
|
13664
13682
|
editableArea: e.editableArea
|
|
13665
|
-
})), tt = (
|
|
13666
|
-
const t =
|
|
13667
|
-
return A ? Object.values(A.layouts).map((a) => a.layout) :
|
|
13683
|
+
})), tt = (l, e) => {
|
|
13684
|
+
const t = l.workflowState, A = t ? JSON.parse(t) : void 0;
|
|
13685
|
+
return A ? Object.values(A.layouts).map((a) => a.layout) : ns(e.panels);
|
|
13668
13686
|
};
|
|
13669
|
-
class
|
|
13687
|
+
class is {
|
|
13670
13688
|
constructor(e) {
|
|
13671
13689
|
this.activeIntegration = void 0, this.updateTransactionState = async (t) => {
|
|
13672
13690
|
try {
|
|
@@ -13677,14 +13695,14 @@ class ns {
|
|
|
13677
13695
|
} catch (A) {
|
|
13678
13696
|
throw console.error(A), new H("Critical - Unable to synchronize workflow state with server.");
|
|
13679
13697
|
}
|
|
13680
|
-
}, this.initialized = !1, this.options = e, this.options.applicationKey && ca(this.options.applicationKey), console.debug("------------------------"), console.debug("Spiff Commerce Core SDK"), console.debug("Version: 22.
|
|
13698
|
+
}, this.initialized = !1, this.options = e, this.options.applicationKey && ca(this.options.applicationKey), console.debug("------------------------"), console.debug("Spiff Commerce Core SDK"), console.debug("Version: 22.9.0"), console.debug(`Application Key Provided: ${!!this.options.applicationKey}`), console.debug("------------------------");
|
|
13681
13699
|
}
|
|
13682
13700
|
/** @deprecated Use `configure` instead */
|
|
13683
13701
|
configureUrls(e, t, A) {
|
|
13684
13702
|
q.setHubUrl(e), q.setServerUrl(t), q.setServicesApiUrl(A), this.options.applicationKey && this.getIntegration();
|
|
13685
13703
|
}
|
|
13686
13704
|
configure(e) {
|
|
13687
|
-
q.setHubUrl(e.hubUrl), q.setServerUrl(e.serverUrl), q.setServicesApiUrl(e.servicesApiUrl), this.marketplaceThemeInstallId = e.marketplaceThemeInstallId, this.marketplaceThemeInstallConfigurationId = e.marketplaceThemeInstallConfigurationId, e.bearerAuthenticationToken &&
|
|
13705
|
+
q.setHubUrl(e.hubUrl), q.setServerUrl(e.serverUrl), q.setServicesApiUrl(e.servicesApiUrl), this.marketplaceThemeInstallId = e.marketplaceThemeInstallId, this.marketplaceThemeInstallConfigurationId = e.marketplaceThemeInstallConfigurationId, e.bearerAuthenticationToken && ga(e.bearerAuthenticationToken), this.options.applicationKey && this.getIntegration();
|
|
13688
13706
|
}
|
|
13689
13707
|
/**
|
|
13690
13708
|
* @returns The asset manager allows for common operations related to assets
|
|
@@ -13699,7 +13717,7 @@ class ns {
|
|
|
13699
13717
|
return this.currencyCode;
|
|
13700
13718
|
}
|
|
13701
13719
|
getFlowService() {
|
|
13702
|
-
if (!
|
|
13720
|
+
if (!la())
|
|
13703
13721
|
throw new Error("Application key required to use Flow Service.");
|
|
13704
13722
|
return new Gi();
|
|
13705
13723
|
}
|
|
@@ -13740,8 +13758,8 @@ class ns {
|
|
|
13740
13758
|
if (o && await this.authenticateCustomerId(o)) {
|
|
13741
13759
|
const c = (n = (a = this.customer) == null ? void 0 : a.bundleStakeholders) == null ? void 0 : n.find(
|
|
13742
13760
|
(B) => {
|
|
13743
|
-
var
|
|
13744
|
-
return ((
|
|
13761
|
+
var g;
|
|
13762
|
+
return ((g = B.bundle) == null ? void 0 : g.id) === e;
|
|
13745
13763
|
}
|
|
13746
13764
|
);
|
|
13747
13765
|
if (c)
|
|
@@ -13764,9 +13782,9 @@ class ns {
|
|
|
13764
13782
|
* @throws An error if the transaction is not found.
|
|
13765
13783
|
*/
|
|
13766
13784
|
async authenticateTransactionFromLocalStorage(e) {
|
|
13767
|
-
var c, B,
|
|
13785
|
+
var c, B, g, d, C, w;
|
|
13768
13786
|
const t = x.getShadowGraphqlClient(), A = await t.query({
|
|
13769
|
-
query:
|
|
13787
|
+
query: $i,
|
|
13770
13788
|
errorPolicy: "all",
|
|
13771
13789
|
fetchPolicy: "no-cache",
|
|
13772
13790
|
variables: {
|
|
@@ -13787,15 +13805,15 @@ class ns {
|
|
|
13787
13805
|
if (s != null && s.has(e)) {
|
|
13788
13806
|
const h = s.get(e);
|
|
13789
13807
|
if (h && await this.authenticateCustomerId(h)) {
|
|
13790
|
-
const E = ((d = (
|
|
13808
|
+
const E = ((d = (g = this.customer) == null ? void 0 : g.bundleStakeholders) == null ? void 0 : d.find(
|
|
13791
13809
|
(D) => {
|
|
13792
|
-
var
|
|
13793
|
-
return (p = (
|
|
13810
|
+
var Q, p;
|
|
13811
|
+
return (p = (Q = D.bundle) == null ? void 0 : Q.transactions) == null ? void 0 : p.some((m) => m.id === e);
|
|
13794
13812
|
}
|
|
13795
13813
|
)) || ((w = (C = this.customer) == null ? void 0 : C.stakeholders) == null ? void 0 : w.find(
|
|
13796
13814
|
(D) => {
|
|
13797
|
-
var
|
|
13798
|
-
return ((
|
|
13815
|
+
var Q;
|
|
13816
|
+
return ((Q = D.transaction) == null ? void 0 : Q.id) === e;
|
|
13799
13817
|
}
|
|
13800
13818
|
));
|
|
13801
13819
|
if (E)
|
|
@@ -13806,7 +13824,7 @@ class ns {
|
|
|
13806
13824
|
}
|
|
13807
13825
|
}
|
|
13808
13826
|
const r = (await t.query({
|
|
13809
|
-
query:
|
|
13827
|
+
query: _i,
|
|
13810
13828
|
errorPolicy: "all",
|
|
13811
13829
|
variables: {
|
|
13812
13830
|
id: a.workflowId
|
|
@@ -13842,7 +13860,7 @@ class ns {
|
|
|
13842
13860
|
var i;
|
|
13843
13861
|
this.customer = void 0;
|
|
13844
13862
|
const t = x.getShadowGraphqlClient(), a = (await t.query({
|
|
13845
|
-
query:
|
|
13863
|
+
query: Ti,
|
|
13846
13864
|
errorPolicy: "all",
|
|
13847
13865
|
fetchPolicy: "no-cache",
|
|
13848
13866
|
variables: {
|
|
@@ -13851,7 +13869,7 @@ class ns {
|
|
|
13851
13869
|
})).data.customer;
|
|
13852
13870
|
if (!a.id) {
|
|
13853
13871
|
const o = (i = (await t.mutate({
|
|
13854
|
-
mutation:
|
|
13872
|
+
mutation: Oi,
|
|
13855
13873
|
errorPolicy: "all",
|
|
13856
13874
|
fetchPolicy: "no-cache",
|
|
13857
13875
|
variables: {
|
|
@@ -13883,7 +13901,7 @@ class ns {
|
|
|
13883
13901
|
if (!a)
|
|
13884
13902
|
return !1;
|
|
13885
13903
|
const i = (s = (await t.mutate({
|
|
13886
|
-
mutation:
|
|
13904
|
+
mutation: Li,
|
|
13887
13905
|
errorPolicy: "all",
|
|
13888
13906
|
fetchPolicy: "no-cache",
|
|
13889
13907
|
variables: {
|
|
@@ -13898,7 +13916,7 @@ class ns {
|
|
|
13898
13916
|
*/
|
|
13899
13917
|
async generateVerificationCode(e) {
|
|
13900
13918
|
await x.getShadowGraphqlClient().mutate({
|
|
13901
|
-
mutation:
|
|
13919
|
+
mutation: zi,
|
|
13902
13920
|
variables: {
|
|
13903
13921
|
emailAddress: e
|
|
13904
13922
|
}
|
|
@@ -13913,7 +13931,7 @@ class ns {
|
|
|
13913
13931
|
async verifyCode(e, t) {
|
|
13914
13932
|
var n, i;
|
|
13915
13933
|
const a = (n = (await x.getShadowGraphqlClient().mutate({
|
|
13916
|
-
mutation:
|
|
13934
|
+
mutation: Ki,
|
|
13917
13935
|
errorPolicy: "all",
|
|
13918
13936
|
fetchPolicy: "no-cache",
|
|
13919
13937
|
variables: {
|
|
@@ -13932,12 +13950,24 @@ class ns {
|
|
|
13932
13950
|
}
|
|
13933
13951
|
return !1;
|
|
13934
13952
|
}
|
|
13953
|
+
async getCustomerMetafields() {
|
|
13954
|
+
var t;
|
|
13955
|
+
if (!((t = this.customer) != null && t.id))
|
|
13956
|
+
throw new Error("Customer must be logged in before calling this function.");
|
|
13957
|
+
return (await x.getShadowGraphqlClient().query({
|
|
13958
|
+
query: ji,
|
|
13959
|
+
fetchPolicy: "no-cache",
|
|
13960
|
+
variables: {
|
|
13961
|
+
id: this.customer.id
|
|
13962
|
+
}
|
|
13963
|
+
})).data.metafields;
|
|
13964
|
+
}
|
|
13935
13965
|
/**
|
|
13936
13966
|
* @param collectionId Optional: The id of the product collection that the bundle can use.
|
|
13937
13967
|
* @returns A bundle to be used for grouping and operating on large amounts of workflow experiences.
|
|
13938
13968
|
*/
|
|
13939
13969
|
async getNewBundle(e, t, A) {
|
|
13940
|
-
var r, c, B,
|
|
13970
|
+
var r, c, B, g, d;
|
|
13941
13971
|
const n = (B = (await x.getShadowGraphqlClient().mutate({
|
|
13942
13972
|
mutation: Ci(((c = (r = A == null ? void 0 : A.graphql) == null ? void 0 : r.productCollection) == null ? void 0 : c.eagerFetchProducts) || !1),
|
|
13943
13973
|
variables: {
|
|
@@ -13955,7 +13985,7 @@ class ns {
|
|
|
13955
13985
|
const s = P.getMap("bundleOwnerIds") || /* @__PURE__ */ new Map();
|
|
13956
13986
|
s.set(n.id, n.bundleOwnerId), P.setMap("bundleOwnerIds", s);
|
|
13957
13987
|
const o = new et(this, n, void 0, void 0, n.bundleOwnerId, {
|
|
13958
|
-
eagerFetchProducts: (d = (
|
|
13988
|
+
eagerFetchProducts: (d = (g = A == null ? void 0 : A.graphql) == null ? void 0 : g.productCollection) == null ? void 0 : d.eagerFetchProducts
|
|
13959
13989
|
});
|
|
13960
13990
|
return await o.getInitializationPromise(), o;
|
|
13961
13991
|
}
|
|
@@ -13967,15 +13997,15 @@ class ns {
|
|
|
13967
13997
|
* @returns A bundle to be used for grouping and operating on large amounts of workflow experiences.
|
|
13968
13998
|
*/
|
|
13969
13999
|
async getExistingBundle(e, t, A, a) {
|
|
13970
|
-
var h, u, E, D,
|
|
14000
|
+
var h, u, E, D, Q, p, m, I, F, y, Y;
|
|
13971
14001
|
const n = P.getMap("bundleOwnerIds"), i = n == null ? void 0 : n.get(e), o = ((h = Object.entries(localStorage).find(([N, S]) => N.startsWith("CognitoIdentityServiceProvider") && N.endsWith("idToken"))) == null ? void 0 : h[0]) || "", r = localStorage.getItem(o), c = {};
|
|
13972
14002
|
r && !Oe(r) && (c.Authorization = `Bearer ${r}`);
|
|
13973
14003
|
const B = {
|
|
13974
14004
|
bundleOwnerId: i,
|
|
13975
14005
|
...c,
|
|
13976
14006
|
...(u = a == null ? void 0 : a.graphql) == null ? void 0 : u.additionalHeaders
|
|
13977
|
-
},
|
|
13978
|
-
query:
|
|
14007
|
+
}, g = await x.getShadowGraphqlClient().query({
|
|
14008
|
+
query: li(((D = (E = a == null ? void 0 : a.graphql) == null ? void 0 : E.productCollection) == null ? void 0 : D.eagerFetchProducts) || !1),
|
|
13979
14009
|
variables: {
|
|
13980
14010
|
id: e
|
|
13981
14011
|
},
|
|
@@ -13984,9 +14014,9 @@ class ns {
|
|
|
13984
14014
|
headers: B
|
|
13985
14015
|
}
|
|
13986
14016
|
});
|
|
13987
|
-
if (!((
|
|
14017
|
+
if (!((Q = g.data) != null && Q.bundles) || ((p = g.data) == null ? void 0 : p.bundles.length) === 0 || !((m = g.data) != null && m.bundles[0]))
|
|
13988
14018
|
throw new Error(`Unable to find bundle: ${e}`);
|
|
13989
|
-
const d = (I =
|
|
14019
|
+
const d = (I = g.data) == null ? void 0 : I.bundles[0], C = P.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
|
|
13990
14020
|
C.set(d.id, d.partner.id), P.setMap("bundlePartnerIds", C);
|
|
13991
14021
|
const w = new et(this, d, t, A, i, {
|
|
13992
14022
|
additionalHeaders: (F = a == null ? void 0 : a.graphql) == null ? void 0 : F.additionalHeaders,
|
|
@@ -14001,15 +14031,15 @@ class ns {
|
|
|
14001
14031
|
* @returns A bundle to be used for grouping and operating on large amounts of workflow experiences.
|
|
14002
14032
|
*/
|
|
14003
14033
|
async duplicateBundle(e, t, A, a) {
|
|
14004
|
-
var h, u, E, D,
|
|
14034
|
+
var h, u, E, D, Q, p, m, I;
|
|
14005
14035
|
const n = (h = P.getMap("bundleOwnerIds")) == null ? void 0 : h.get(e), s = ((u = Object.entries(localStorage).find(([F, y]) => F.startsWith("CognitoIdentityServiceProvider") && F.endsWith("idToken"))) == null ? void 0 : u[0]) || "", o = localStorage.getItem(s), r = {};
|
|
14006
14036
|
o && !Oe(o) && (r.Authorization = `Bearer ${o}`);
|
|
14007
14037
|
const c = {
|
|
14008
14038
|
bundleOwnerId: n,
|
|
14009
14039
|
...r,
|
|
14010
14040
|
...(E = a == null ? void 0 : a.graphql) == null ? void 0 : E.additionalHeaders
|
|
14011
|
-
},
|
|
14012
|
-
mutation: wi(((
|
|
14041
|
+
}, g = (p = (await x.getShadowGraphqlClient().mutate({
|
|
14042
|
+
mutation: wi(((Q = (D = a == null ? void 0 : a.graphql) == null ? void 0 : D.productCollection) == null ? void 0 : Q.eagerFetchProducts) || !1),
|
|
14013
14043
|
variables: {
|
|
14014
14044
|
id: e,
|
|
14015
14045
|
template: t,
|
|
@@ -14022,14 +14052,14 @@ class ns {
|
|
|
14022
14052
|
},
|
|
14023
14053
|
fetchPolicy: "no-cache"
|
|
14024
14054
|
})).data) == null ? void 0 : p.bundleDuplicate;
|
|
14025
|
-
if (!(
|
|
14055
|
+
if (!(g != null && g.id))
|
|
14026
14056
|
throw new Error("Unable to duplicate bundle");
|
|
14027
14057
|
const d = P.getMap("bundlePartnerIds") || /* @__PURE__ */ new Map();
|
|
14028
|
-
d.set(
|
|
14058
|
+
d.set(g.id, g.partner.id), P.setMap("bundlePartnerIds", d);
|
|
14029
14059
|
const C = P.getMap("bundleOwnerIds") || /* @__PURE__ */ new Map();
|
|
14030
|
-
C.set(
|
|
14031
|
-
const w = new et(this,
|
|
14032
|
-
eagerFetchProducts: (I = (
|
|
14060
|
+
C.set(g.id, g.bundleOwnerId), P.setMap("bundleOwnerIds", C);
|
|
14061
|
+
const w = new et(this, g, void 0, void 0, g.bundleOwnerId, {
|
|
14062
|
+
eagerFetchProducts: (I = (m = a == null ? void 0 : a.graphql) == null ? void 0 : m.productCollection) == null ? void 0 : I.eagerFetchProducts
|
|
14033
14063
|
});
|
|
14034
14064
|
return await w.getInitializationPromise(), w;
|
|
14035
14065
|
}
|
|
@@ -14060,7 +14090,7 @@ class ns {
|
|
|
14060
14090
|
const t = x.getShadowGraphqlClient();
|
|
14061
14091
|
let A = {};
|
|
14062
14092
|
const a = e.steps.map((i) => `${e.id}_${i.stepName}`), n = await t.query({
|
|
14063
|
-
query:
|
|
14093
|
+
query: ts,
|
|
14064
14094
|
fetchPolicy: "no-cache",
|
|
14065
14095
|
variables: { entityIds: a }
|
|
14066
14096
|
});
|
|
@@ -14082,14 +14112,14 @@ class ns {
|
|
|
14082
14112
|
* @returns A workflow experience configured as requested.
|
|
14083
14113
|
*/
|
|
14084
14114
|
async getWorkflowExperience(e, t, A, a) {
|
|
14085
|
-
var
|
|
14115
|
+
var g, d, C, w, h;
|
|
14086
14116
|
if (!a)
|
|
14087
14117
|
return await this.getWorkflowExperienceDeprecated(e, t, A);
|
|
14088
14118
|
const n = async () => {
|
|
14089
|
-
var E, D,
|
|
14119
|
+
var E, D, Q;
|
|
14090
14120
|
const u = x.getShadowGraphqlClient();
|
|
14091
14121
|
if (a.type === "transaction") {
|
|
14092
|
-
const { transactionId: p, readOnly:
|
|
14122
|
+
const { transactionId: p, readOnly: m } = a, I = await u.query({
|
|
14093
14123
|
query: Fe,
|
|
14094
14124
|
variables: {
|
|
14095
14125
|
ids: [p]
|
|
@@ -14105,9 +14135,9 @@ class ns {
|
|
|
14105
14135
|
const y = await xe(F.workflowId);
|
|
14106
14136
|
if (!F.product)
|
|
14107
14137
|
throw new H("Failed to load transaction, product not available.");
|
|
14108
|
-
!this.activeIntegration && ((
|
|
14138
|
+
!this.activeIntegration && ((Q = F.integrationProduct) != null && Q.integration) && (this.activeIntegration = Promise.resolve(F.integrationProduct.integration));
|
|
14109
14139
|
const Y = await this.getStepTags(y);
|
|
14110
|
-
return { transaction: F, workflow: y, stepTags: Y, readOnly:
|
|
14140
|
+
return { transaction: F, workflow: y, stepTags: Y, readOnly: m };
|
|
14111
14141
|
}
|
|
14112
14142
|
if (a.type === "integration" || a.type === "external") {
|
|
14113
14143
|
const p = async () => {
|
|
@@ -14135,12 +14165,12 @@ class ns {
|
|
|
14135
14165
|
if (!S.product)
|
|
14136
14166
|
throw new H("Failed to create transaction, product not available.");
|
|
14137
14167
|
return S;
|
|
14138
|
-
},
|
|
14168
|
+
}, m = xe(a.workflowId, a == null ? void 0 : a.graphql), [I, F] = await Promise.all([p(), m]), y = await this.getStepTags(F);
|
|
14139
14169
|
return { transaction: I, workflow: F, stepTags: y };
|
|
14140
14170
|
}
|
|
14141
14171
|
throw new H("No workflow ID provided.");
|
|
14142
14172
|
}, { transaction: i, workflow: s, stepTags: o, readOnly: r } = await n();
|
|
14143
|
-
this.currencyCode = (
|
|
14173
|
+
this.currencyCode = (g = i.product.partner) == null ? void 0 : g.currencyCode;
|
|
14144
14174
|
const c = {
|
|
14145
14175
|
product: i.product,
|
|
14146
14176
|
transaction: i,
|
|
@@ -14198,10 +14228,10 @@ class ns {
|
|
|
14198
14228
|
var y, Y, N;
|
|
14199
14229
|
if (p.length === 0)
|
|
14200
14230
|
return [];
|
|
14201
|
-
const
|
|
14231
|
+
const m = p.map((S) => S.option.transactionId), I = await A.query({
|
|
14202
14232
|
query: Fe,
|
|
14203
14233
|
variables: {
|
|
14204
|
-
ids:
|
|
14234
|
+
ids: m
|
|
14205
14235
|
},
|
|
14206
14236
|
errorPolicy: "all",
|
|
14207
14237
|
fetchPolicy: "no-cache"
|
|
@@ -14223,7 +14253,7 @@ class ns {
|
|
|
14223
14253
|
var F, y, Y;
|
|
14224
14254
|
if (p.length === 0)
|
|
14225
14255
|
return [];
|
|
14226
|
-
const
|
|
14256
|
+
const m = await A.mutate({
|
|
14227
14257
|
mutation: Ha,
|
|
14228
14258
|
variables: {
|
|
14229
14259
|
inputs: p.map((N) => ({
|
|
@@ -14239,9 +14269,9 @@ class ns {
|
|
|
14239
14269
|
},
|
|
14240
14270
|
errorPolicy: "all",
|
|
14241
14271
|
fetchPolicy: "no-cache"
|
|
14242
|
-
}), I = (F =
|
|
14272
|
+
}), I = (F = m.data) == null ? void 0 : F.transactionCreateMany;
|
|
14243
14273
|
if (!I || I.length === 0) {
|
|
14244
|
-
const N = ((Y = (y =
|
|
14274
|
+
const N = ((Y = (y = m.errors) == null ? void 0 : y[0]) == null ? void 0 : Y.message) || "Unknown error";
|
|
14245
14275
|
throw new H(`Failed to create transactions: ${N}`);
|
|
14246
14276
|
}
|
|
14247
14277
|
return I.map((N, S) => ({
|
|
@@ -14250,18 +14280,18 @@ class ns {
|
|
|
14250
14280
|
readOnly: !1,
|
|
14251
14281
|
index: p[S].index
|
|
14252
14282
|
}));
|
|
14253
|
-
}, i = e.map((p,
|
|
14283
|
+
}, i = e.map((p, m) => ({ option: p, index: m })), s = i.filter((p) => p.option.type === "transaction"), o = i.filter(
|
|
14254
14284
|
(p) => p.option.type === "integration" || p.option.type === "external"
|
|
14255
14285
|
), r = xt(s, 10), c = xt(o, 10), B = (await Promise.all([
|
|
14256
14286
|
...r.map(a),
|
|
14257
14287
|
...c.map(n)
|
|
14258
|
-
])).flat(),
|
|
14288
|
+
])).flat(), g = [...new Set(B.map((p) => p.workflowId))], d = await vA(g, t), C = new Map(d.map((p) => [p.id, p])), w = P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), h = B.map(async (p) => {
|
|
14259
14289
|
var W;
|
|
14260
|
-
const { transaction:
|
|
14261
|
-
!w.get(
|
|
14262
|
-
const T = w.get(
|
|
14263
|
-
product:
|
|
14264
|
-
transaction:
|
|
14290
|
+
const { transaction: m, workflowId: I, readOnly: F, index: y } = p, Y = C.get(I), N = await this.getStepTags(Y), S = e[y];
|
|
14291
|
+
!w.get(m.id) && m.transactionOwnerId && w.set(m.id, m.transactionOwnerId);
|
|
14292
|
+
const T = w.get(m.id) || void 0, R = {
|
|
14293
|
+
product: m.product,
|
|
14294
|
+
transaction: m,
|
|
14265
14295
|
stepTags: N,
|
|
14266
14296
|
layouts: [],
|
|
14267
14297
|
singleVariantsRenderable: (W = S == null ? void 0 : S.workflowConfiguration) == null ? void 0 : W.singleVariantsRenderable,
|
|
@@ -14272,8 +14302,8 @@ class ns {
|
|
|
14272
14302
|
workflow: Y,
|
|
14273
14303
|
isReloadedTransaction: S.type === "transaction"
|
|
14274
14304
|
};
|
|
14275
|
-
if (S.type === "transaction" &&
|
|
14276
|
-
const O = JSON.parse(
|
|
14305
|
+
if (S.type === "transaction" && m.workflowState) {
|
|
14306
|
+
const O = JSON.parse(m.workflowState);
|
|
14277
14307
|
R.layouts = Object.values(O.layouts || {}).map((ee) => ee.layout), await se(O), await re(O), R.reloadedState = O;
|
|
14278
14308
|
} else if (!F && S.workflowState) {
|
|
14279
14309
|
const O = JSON.parse(S.workflowState);
|
|
@@ -14288,11 +14318,11 @@ class ns {
|
|
|
14288
14318
|
), R.delayWorkflowStateSync = !0, this.initialized = !0, this.experienceOptions = R, { experienceOptions: R, index: y, options: S };
|
|
14289
14319
|
}), u = await Promise.all(h);
|
|
14290
14320
|
P.setMap("transactionOwnerIds", w);
|
|
14291
|
-
const D = u.sort((p,
|
|
14292
|
-
const { experienceOptions:
|
|
14321
|
+
const D = u.sort((p, m) => p.index - m.index).map(async (p) => {
|
|
14322
|
+
const { experienceOptions: m, options: I } = p, F = new Se(this, m);
|
|
14293
14323
|
return await F.getWorkflowManager().getInitializationPromise(), I.type !== "transaction" && this.customer && await F.attachCustomerDetails({ email: this.customer.emailAddress }), F;
|
|
14294
|
-
}),
|
|
14295
|
-
return
|
|
14324
|
+
}), Q = await Promise.all(D);
|
|
14325
|
+
return Q.forEach((p) => p.getWorkflowManager().setWorkflowStateSyncEnabled(!0)), Q;
|
|
14296
14326
|
}
|
|
14297
14327
|
/**
|
|
14298
14328
|
* Initialize the client from an integration product.
|
|
@@ -14345,19 +14375,19 @@ class ns {
|
|
|
14345
14375
|
throw new H("No transaction ID provided.");
|
|
14346
14376
|
const A = x.getShadowGraphqlClient(), a = async () => {
|
|
14347
14377
|
var d, C;
|
|
14348
|
-
const
|
|
14378
|
+
const g = (d = (await A.query({
|
|
14349
14379
|
query: Fe,
|
|
14350
14380
|
variables: { ids: [e] },
|
|
14351
14381
|
fetchPolicy: "no-cache",
|
|
14352
14382
|
errorPolicy: "all"
|
|
14353
14383
|
})).data) == null ? void 0 : d.transactions[0];
|
|
14354
|
-
if (!
|
|
14384
|
+
if (!g)
|
|
14355
14385
|
throw new H("Failed to read transaction.");
|
|
14356
|
-
if (!
|
|
14386
|
+
if (!g.product)
|
|
14357
14387
|
throw new H("Failed to load transaction, product not available.");
|
|
14358
|
-
this.currencyCode = (C =
|
|
14359
|
-
product:
|
|
14360
|
-
transaction:
|
|
14388
|
+
this.currencyCode = (C = g.product.partner) == null ? void 0 : C.currencyCode, this.experienceOptions = {
|
|
14389
|
+
product: g.product,
|
|
14390
|
+
transaction: g,
|
|
14361
14391
|
layouts: [],
|
|
14362
14392
|
stateMutationFunc: async () => {
|
|
14363
14393
|
throw new b("State mutation is forbidden in read only mode!");
|
|
@@ -14369,20 +14399,20 @@ class ns {
|
|
|
14369
14399
|
return await a();
|
|
14370
14400
|
const n = P.getMap("transactionOwnerIds") || /* @__PURE__ */ new Map(), i = n.get(e);
|
|
14371
14401
|
if (i) {
|
|
14372
|
-
const
|
|
14402
|
+
const g = (s = (await A.query({
|
|
14373
14403
|
query: Fe,
|
|
14374
14404
|
variables: {
|
|
14375
14405
|
ids: [e]
|
|
14376
14406
|
},
|
|
14377
14407
|
errorPolicy: "all"
|
|
14378
14408
|
})).data) == null ? void 0 : s.transactions[0];
|
|
14379
|
-
if (!
|
|
14409
|
+
if (!g)
|
|
14380
14410
|
throw new H("Failed to read transaction.");
|
|
14381
|
-
if (!
|
|
14411
|
+
if (!g.product)
|
|
14382
14412
|
throw new H("Failed to load transaction, product not available.");
|
|
14383
|
-
this.currencyCode = (o =
|
|
14384
|
-
product:
|
|
14385
|
-
transaction:
|
|
14413
|
+
this.currencyCode = (o = g.product.partner) == null ? void 0 : o.currencyCode, this.experienceOptions = {
|
|
14414
|
+
product: g.product,
|
|
14415
|
+
transaction: g,
|
|
14386
14416
|
layouts: [],
|
|
14387
14417
|
stateMutationFunc: async (d) => this.updateTransactionState({ ...d, context: { transactionOwnerId: i } }),
|
|
14388
14418
|
readOnly: t
|
|
@@ -14390,22 +14420,22 @@ class ns {
|
|
|
14390
14420
|
return;
|
|
14391
14421
|
}
|
|
14392
14422
|
try {
|
|
14393
|
-
const
|
|
14423
|
+
const g = (r = (await A.mutate({
|
|
14394
14424
|
mutation: ka,
|
|
14395
14425
|
variables: { id: e },
|
|
14396
14426
|
errorPolicy: "all"
|
|
14397
14427
|
})).data) == null ? void 0 : r.transactionClaim;
|
|
14398
|
-
if (!
|
|
14428
|
+
if (!g)
|
|
14399
14429
|
throw new H("Failed to read transaction.");
|
|
14400
|
-
if (!
|
|
14430
|
+
if (!g.product)
|
|
14401
14431
|
throw new H("Failed to load transaction, product not available.");
|
|
14402
|
-
this.currencyCode = (c =
|
|
14403
|
-
product:
|
|
14404
|
-
transaction:
|
|
14432
|
+
this.currencyCode = (c = g.product.partner) == null ? void 0 : c.currencyCode, g.transactionOwnerId && (n.set(g.id, g.transactionOwnerId), P.setMap("transactionOwnerIds", n)), this.experienceOptions = {
|
|
14433
|
+
product: g.product,
|
|
14434
|
+
transaction: g,
|
|
14405
14435
|
layouts: [],
|
|
14406
14436
|
stateMutationFunc: async (d) => this.updateTransactionState({
|
|
14407
14437
|
...d,
|
|
14408
|
-
context: { transactionOwnerId:
|
|
14438
|
+
context: { transactionOwnerId: g.transactionOwnerId }
|
|
14409
14439
|
}),
|
|
14410
14440
|
readOnly: t
|
|
14411
14441
|
}, this.initialized = !0;
|
|
@@ -14456,8 +14486,8 @@ class ns {
|
|
|
14456
14486
|
model: this.experienceOptions.product.modelUrl,
|
|
14457
14487
|
contextService: this.experienceOptions.renderableContextService
|
|
14458
14488
|
}));
|
|
14459
|
-
const
|
|
14460
|
-
return await
|
|
14489
|
+
const g = new Se(this, this.experienceOptions);
|
|
14490
|
+
return await g.getWorkflowManager().getInitializationPromise(), g;
|
|
14461
14491
|
}
|
|
14462
14492
|
throw new H("No workflow ID provided.");
|
|
14463
14493
|
}
|
|
@@ -14540,7 +14570,7 @@ class ns {
|
|
|
14540
14570
|
return a.data.transactions[0].transactionShareActions;
|
|
14541
14571
|
}
|
|
14542
14572
|
}
|
|
14543
|
-
class
|
|
14573
|
+
class Ss {
|
|
14544
14574
|
getClient() {
|
|
14545
14575
|
return this.client ?? {};
|
|
14546
14576
|
}
|
|
@@ -14693,8 +14723,8 @@ class Ms {
|
|
|
14693
14723
|
return [];
|
|
14694
14724
|
}
|
|
14695
14725
|
}
|
|
14696
|
-
var
|
|
14697
|
-
class
|
|
14726
|
+
var ss = /* @__PURE__ */ ((l) => (l.SelectFrame = "SelectFrame", l.SelectImage = "SelectImage", l.Position = "Position", l))(ss || {});
|
|
14727
|
+
class os extends X {
|
|
14698
14728
|
constructor(e, t, A) {
|
|
14699
14729
|
var a;
|
|
14700
14730
|
super(e, t, A), this.frameService = (a = this.manager.getStepSpecificServices(this.getId())) == null ? void 0 : a.frameService;
|
|
@@ -14868,50 +14898,50 @@ class ss extends X {
|
|
|
14868
14898
|
}
|
|
14869
14899
|
export {
|
|
14870
14900
|
ut as AddonHandle,
|
|
14871
|
-
|
|
14872
|
-
|
|
14901
|
+
Ms as ArrayInput,
|
|
14902
|
+
xs as AspectType,
|
|
14873
14903
|
ie as AssetNotFoundError,
|
|
14874
|
-
|
|
14875
|
-
|
|
14876
|
-
|
|
14877
|
-
|
|
14878
|
-
|
|
14904
|
+
Ns as AssetType,
|
|
14905
|
+
vs as BringForwardCommand,
|
|
14906
|
+
Rs as BringToBackCommand,
|
|
14907
|
+
Hs as BringToFrontCommand,
|
|
14908
|
+
ks as CanvasCommand,
|
|
14879
14909
|
_e as CollectionProduct,
|
|
14880
14910
|
Jt as ColorOptionGlobalPropertyHandle,
|
|
14881
|
-
|
|
14911
|
+
Us as CommandContext,
|
|
14882
14912
|
va as ConversionDataType,
|
|
14883
14913
|
Na as ConversionLocation,
|
|
14884
|
-
|
|
14885
|
-
|
|
14886
|
-
|
|
14914
|
+
Gs as CreateElementCommand,
|
|
14915
|
+
bs as CreateLayoutCommand,
|
|
14916
|
+
Js as DeleteElementCommand,
|
|
14887
14917
|
kn as DigitalContentStepHandle,
|
|
14888
14918
|
Mi as FileUploadGlobalPropertyHandle,
|
|
14889
14919
|
Pe as FlowExecutionNodeResult,
|
|
14890
14920
|
bi as FlowExecutionResult,
|
|
14891
14921
|
Gi as FlowService,
|
|
14892
|
-
|
|
14893
|
-
|
|
14894
|
-
|
|
14895
|
-
|
|
14922
|
+
Ts as FontAlignmentCommand,
|
|
14923
|
+
Os as FontColorCommand,
|
|
14924
|
+
Ls as FontSizeCommand,
|
|
14925
|
+
zs as FontSourceCommand,
|
|
14896
14926
|
Xa as FrameService,
|
|
14897
|
-
|
|
14898
|
-
|
|
14927
|
+
ss as FrameStep,
|
|
14928
|
+
os as FrameStepHandle,
|
|
14899
14929
|
It as GlobalPropertyHandle,
|
|
14900
|
-
|
|
14930
|
+
Ks as GroupCommand,
|
|
14901
14931
|
Sn as IllustrationStepHandle,
|
|
14902
14932
|
pe as InformationMessageType,
|
|
14903
14933
|
Hn as InformationStepHandle,
|
|
14904
14934
|
Tt as IntegrationProduct,
|
|
14905
14935
|
Pa as IntegrationType,
|
|
14906
|
-
|
|
14907
|
-
|
|
14936
|
+
js as LayoutElementFactory,
|
|
14937
|
+
Vs as LayoutElementType,
|
|
14908
14938
|
z as LayoutNotFoundError,
|
|
14909
14939
|
Yn as MaterialStepHandle,
|
|
14910
14940
|
Ge as MisconfigurationError,
|
|
14911
|
-
|
|
14941
|
+
Ss as MockWorkflowManager,
|
|
14912
14942
|
Pn as ModelStepHandle,
|
|
14913
14943
|
Un as ModuleStepHandle,
|
|
14914
|
-
|
|
14944
|
+
Ws as MoveCommand,
|
|
14915
14945
|
NA as ObjectInput,
|
|
14916
14946
|
Ji as ObjectInputType,
|
|
14917
14947
|
xA as OptionGlobalPropertyHandle,
|
|
@@ -14921,78 +14951,78 @@ export {
|
|
|
14921
14951
|
xa as ProductCameraRig,
|
|
14922
14952
|
Ri as ProductCollection,
|
|
14923
14953
|
Le as ProductWorkflow,
|
|
14924
|
-
|
|
14954
|
+
me as PromiseCache,
|
|
14925
14955
|
dA as PromiseQueue,
|
|
14926
14956
|
Nn as QuestionStepHandle,
|
|
14927
14957
|
BA as QueueablePromise,
|
|
14928
|
-
|
|
14958
|
+
Xs as ResizeCommand,
|
|
14929
14959
|
ue as ResourceNotFoundError,
|
|
14930
|
-
|
|
14931
|
-
|
|
14960
|
+
qs as RotateCommand,
|
|
14961
|
+
Zs as SendBackwardsCommand,
|
|
14932
14962
|
vn as ShapeStepHandle,
|
|
14933
|
-
|
|
14963
|
+
is as SpiffCommerceClient,
|
|
14934
14964
|
be as StakeholderType,
|
|
14935
|
-
|
|
14965
|
+
$s as StepAspectType,
|
|
14936
14966
|
X as StepHandle,
|
|
14937
|
-
|
|
14938
|
-
|
|
14967
|
+
_s as StepType,
|
|
14968
|
+
eo as TextChangeCommand,
|
|
14939
14969
|
Si as TextGlobalPropertyHandle,
|
|
14940
|
-
|
|
14970
|
+
ys as TextInput,
|
|
14941
14971
|
Rn as TextStepHandle,
|
|
14942
14972
|
Ya as TransactionShareActionType,
|
|
14943
14973
|
ki as Transform,
|
|
14944
14974
|
Hi as TransformCollection,
|
|
14945
14975
|
b as UnhandledBehaviorError,
|
|
14946
|
-
|
|
14947
|
-
|
|
14976
|
+
to as UnitOfMeasurement,
|
|
14977
|
+
Ao as UpdateImageSourceCommand,
|
|
14948
14978
|
Z as Variant,
|
|
14949
14979
|
Vn as WorkflowExperienceEventType,
|
|
14950
14980
|
Se as WorkflowExperienceImpl,
|
|
14951
14981
|
U as assetService,
|
|
14952
14982
|
tn as browserColorToHex,
|
|
14953
14983
|
Ln as createDesign,
|
|
14954
|
-
|
|
14984
|
+
ao as dataUrlFromExternalUrl,
|
|
14955
14985
|
$e as designService,
|
|
14956
|
-
|
|
14986
|
+
no as determineCorrectFontSizeAndLines,
|
|
14957
14987
|
wA as digitalContentStepService,
|
|
14958
|
-
|
|
14959
|
-
|
|
14960
|
-
|
|
14988
|
+
io as findElement,
|
|
14989
|
+
Is as findPmsColors,
|
|
14990
|
+
so as frameDataCache,
|
|
14961
14991
|
Ae as frameStepService,
|
|
14962
|
-
|
|
14992
|
+
oo as generate,
|
|
14963
14993
|
ni as generateCommands,
|
|
14964
|
-
|
|
14965
|
-
|
|
14966
|
-
|
|
14967
|
-
|
|
14994
|
+
ro as generateSVGWithUnknownColors,
|
|
14995
|
+
Fs as generateStateFromDesignInputSteps,
|
|
14996
|
+
co as getAttributesFromArrayBuffer,
|
|
14997
|
+
lo as getAxisAlignedBoundingBox,
|
|
14968
14998
|
Wa as getBoundedOffsets,
|
|
14969
14999
|
go as getFrameData,
|
|
14970
|
-
|
|
15000
|
+
Bo as getSvgElement,
|
|
14971
15001
|
xe as getWorkflow,
|
|
14972
15002
|
vA as getWorkflows,
|
|
14973
15003
|
x as graphQlManager,
|
|
14974
15004
|
ve as illustrationStepService,
|
|
14975
|
-
|
|
14976
|
-
|
|
15005
|
+
Co as loadFont,
|
|
15006
|
+
Ds as matchHexToPms,
|
|
14977
15007
|
hA as materialStepService,
|
|
14978
15008
|
EA as modelStepService,
|
|
14979
15009
|
uA as moduleStepService,
|
|
14980
15010
|
V as optionService,
|
|
14981
|
-
|
|
15011
|
+
wo as patternImageDataCache,
|
|
14982
15012
|
P as persistenceService,
|
|
14983
|
-
|
|
14984
|
-
|
|
14985
|
-
|
|
14986
|
-
|
|
14987
|
-
|
|
14988
|
-
|
|
15013
|
+
mA as pictureStepService,
|
|
15014
|
+
ps as pmsToRgb,
|
|
15015
|
+
QA as questionStepService,
|
|
15016
|
+
ho as registerFetchImplementation,
|
|
15017
|
+
Eo as registerWindowImplementation,
|
|
15018
|
+
uo as rehydrateSerializedLayout,
|
|
14989
15019
|
$a as rgbToPms,
|
|
14990
|
-
|
|
14991
|
-
|
|
15020
|
+
ga as setBearerAuthenticationToken,
|
|
15021
|
+
mo as setCanvasModule,
|
|
14992
15022
|
Ee as shapeStepService,
|
|
14993
15023
|
qa as shortenUrl,
|
|
14994
15024
|
q as spiffCoreConfiguration,
|
|
14995
|
-
|
|
15025
|
+
fs as stepAspectValuesToDesignInputSteps,
|
|
14996
15026
|
Qo as svgToDataUrl,
|
|
14997
15027
|
j as textStepService,
|
|
14998
15028
|
Bn as toast
|