@prefecthq/graphs 2.3.1 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/graphs.mjs +708 -708
- package/dist/graphs.mjs.map +1 -1
- package/dist/graphs.umd.js +4 -4
- package/dist/graphs.umd.js.map +1 -1
- package/package.json +3 -3
package/dist/graphs.mjs
CHANGED
|
@@ -10324,7 +10324,7 @@ class Zc {
|
|
|
10324
10324
|
return this.next = t ? null : e, this.previous = null, e;
|
|
10325
10325
|
}
|
|
10326
10326
|
}
|
|
10327
|
-
const
|
|
10327
|
+
const t1 = class Be {
|
|
10328
10328
|
constructor() {
|
|
10329
10329
|
this.autoStart = !1, this.deltaTime = 1, this.lastTime = -1, this.speed = 1, this.started = !1, this._requestId = null, this._maxElapsedMS = 100, this._minElapsedMS = 0, this._protected = !1, this._lastFrame = -1, this._head = new Zc(null, null, 1 / 0), this.deltaMS = 1 / Be.targetFPMS, this.elapsedMS = 1 / Be.targetFPMS, this._tick = (t) => {
|
|
10330
10330
|
this._requestId = null, this.started && (this.update(t), this.started && this._requestId === null && this._head.next && (this._requestId = requestAnimationFrame(this._tick)));
|
|
@@ -10594,8 +10594,8 @@ const ty = class Be {
|
|
|
10594
10594
|
return Be._system;
|
|
10595
10595
|
}
|
|
10596
10596
|
};
|
|
10597
|
-
|
|
10598
|
-
let Se =
|
|
10597
|
+
t1.targetFPMS = 0.06;
|
|
10598
|
+
let Se = t1;
|
|
10599
10599
|
Object.defineProperties(rt, {
|
|
10600
10600
|
/**
|
|
10601
10601
|
* Target frames per millisecond.
|
|
@@ -10615,7 +10615,7 @@ Object.defineProperties(rt, {
|
|
|
10615
10615
|
}
|
|
10616
10616
|
}
|
|
10617
10617
|
});
|
|
10618
|
-
class
|
|
10618
|
+
class e1 {
|
|
10619
10619
|
/**
|
|
10620
10620
|
* Initialize the plugin with scope of application instance
|
|
10621
10621
|
* @static
|
|
@@ -10655,12 +10655,12 @@ class ey {
|
|
|
10655
10655
|
}
|
|
10656
10656
|
}
|
|
10657
10657
|
}
|
|
10658
|
-
|
|
10659
|
-
ot.add(
|
|
10660
|
-
const
|
|
10661
|
-
ot.handleByList(q.Renderer,
|
|
10658
|
+
e1.extension = q.Application;
|
|
10659
|
+
ot.add(e1);
|
|
10660
|
+
const i1 = [];
|
|
10661
|
+
ot.handleByList(q.Renderer, i1);
|
|
10662
10662
|
function G2(i) {
|
|
10663
|
-
for (const t of
|
|
10663
|
+
for (const t of i1)
|
|
10664
10664
|
if (t.test(i))
|
|
10665
10665
|
return new t(i);
|
|
10666
10666
|
throw new Error("Unable to auto-detect a suitable renderer.");
|
|
@@ -10703,8 +10703,8 @@ void main(void)
|
|
|
10703
10703
|
vTextureCoord = filterTextureCoord();
|
|
10704
10704
|
}
|
|
10705
10705
|
`;
|
|
10706
|
-
const D2 = k2,
|
|
10707
|
-
class
|
|
10706
|
+
const D2 = k2, r1 = F2;
|
|
10707
|
+
class n1 {
|
|
10708
10708
|
constructor(t) {
|
|
10709
10709
|
this.renderer = t;
|
|
10710
10710
|
}
|
|
@@ -10722,17 +10722,17 @@ class ny {
|
|
|
10722
10722
|
destroy() {
|
|
10723
10723
|
}
|
|
10724
10724
|
}
|
|
10725
|
-
|
|
10725
|
+
n1.extension = {
|
|
10726
10726
|
type: q.RendererSystem,
|
|
10727
10727
|
name: "_multisample"
|
|
10728
10728
|
};
|
|
10729
|
-
ot.add(
|
|
10729
|
+
ot.add(n1);
|
|
10730
10730
|
class N2 {
|
|
10731
10731
|
constructor(t) {
|
|
10732
10732
|
this.buffer = t || null, this.updateID = -1, this.byteLength = -1, this.refCount = 0;
|
|
10733
10733
|
}
|
|
10734
10734
|
}
|
|
10735
|
-
class
|
|
10735
|
+
class s1 {
|
|
10736
10736
|
/**
|
|
10737
10737
|
* @param {PIXI.Renderer} renderer - The renderer this System works for.
|
|
10738
10738
|
*/
|
|
@@ -10833,12 +10833,12 @@ class sy {
|
|
|
10833
10833
|
return t._glBuffers[e] = new N2(r.createBuffer()), this.managedBuffers[t.id] = t, t.disposeRunner.add(this), t._glBuffers[e];
|
|
10834
10834
|
}
|
|
10835
10835
|
}
|
|
10836
|
-
|
|
10836
|
+
s1.extension = {
|
|
10837
10837
|
type: q.RendererSystem,
|
|
10838
10838
|
name: "buffer"
|
|
10839
10839
|
};
|
|
10840
|
-
ot.add(
|
|
10841
|
-
class
|
|
10840
|
+
ot.add(s1);
|
|
10841
|
+
class o1 {
|
|
10842
10842
|
// renderers scene graph!
|
|
10843
10843
|
constructor(t) {
|
|
10844
10844
|
this.renderer = t;
|
|
@@ -10863,11 +10863,11 @@ class oy {
|
|
|
10863
10863
|
this.renderer = null, this.lastObjectRendered = null;
|
|
10864
10864
|
}
|
|
10865
10865
|
}
|
|
10866
|
-
|
|
10866
|
+
o1.extension = {
|
|
10867
10867
|
type: q.RendererSystem,
|
|
10868
10868
|
name: "objectRenderer"
|
|
10869
10869
|
};
|
|
10870
|
-
ot.add(
|
|
10870
|
+
ot.add(o1);
|
|
10871
10871
|
const bl = class ed extends R2 {
|
|
10872
10872
|
/**
|
|
10873
10873
|
* @param {PIXI.IRendererOptions} [options] - See {@link PIXI.settings.RENDER_OPTIONS} for defaults.
|
|
@@ -11117,7 +11117,7 @@ let lf = bl;
|
|
|
11117
11117
|
ot.handleByMap(q.RendererPlugin, lf.__plugins);
|
|
11118
11118
|
ot.handleByMap(q.RendererSystem, lf.__systems);
|
|
11119
11119
|
ot.add(lf);
|
|
11120
|
-
class
|
|
11120
|
+
class a1 extends Ko {
|
|
11121
11121
|
/**
|
|
11122
11122
|
* @param length
|
|
11123
11123
|
* @param options - Options to for Resource constructor
|
|
@@ -11196,7 +11196,7 @@ class ay extends Ko {
|
|
|
11196
11196
|
), this._load;
|
|
11197
11197
|
}
|
|
11198
11198
|
}
|
|
11199
|
-
class O2 extends
|
|
11199
|
+
class O2 extends a1 {
|
|
11200
11200
|
/**
|
|
11201
11201
|
* @param source - Number of items in array or the collection
|
|
11202
11202
|
* of image URLs to use. Can also be resources, image elements, canvas, etc.
|
|
@@ -11291,7 +11291,7 @@ class B2 extends Zr {
|
|
|
11291
11291
|
return e && t instanceof e ? !0 : globalThis.HTMLCanvasElement && t instanceof HTMLCanvasElement;
|
|
11292
11292
|
}
|
|
11293
11293
|
}
|
|
11294
|
-
const
|
|
11294
|
+
const l1 = class Eo extends a1 {
|
|
11295
11295
|
/**
|
|
11296
11296
|
* @param {Array<string|PIXI.Resource>} [source] - Collection of URLs or resources
|
|
11297
11297
|
* to use as the sides of the cube.
|
|
@@ -11364,8 +11364,8 @@ const ly = class Eo extends ay {
|
|
|
11364
11364
|
return Array.isArray(t) && t.length === Eo.SIDES;
|
|
11365
11365
|
}
|
|
11366
11366
|
};
|
|
11367
|
-
|
|
11368
|
-
let U2 =
|
|
11367
|
+
l1.SIDES = 6;
|
|
11368
|
+
let U2 = l1;
|
|
11369
11369
|
class bs extends Zr {
|
|
11370
11370
|
/**
|
|
11371
11371
|
* @param source - ImageBitmap or URL to use.
|
|
@@ -11663,12 +11663,12 @@ nd.MIME_TYPES = {
|
|
|
11663
11663
|
mov: "video/quicktime",
|
|
11664
11664
|
m4v: "video/mp4"
|
|
11665
11665
|
};
|
|
11666
|
-
let
|
|
11666
|
+
let h1 = nd;
|
|
11667
11667
|
Vu.push(
|
|
11668
11668
|
bs,
|
|
11669
11669
|
kg,
|
|
11670
11670
|
B2,
|
|
11671
|
-
|
|
11671
|
+
h1,
|
|
11672
11672
|
rd,
|
|
11673
11673
|
bh,
|
|
11674
11674
|
U2,
|
|
@@ -12215,7 +12215,7 @@ const W2 = new Nt();
|
|
|
12215
12215
|
function Z2(i, t) {
|
|
12216
12216
|
return i.zIndex === t.zIndex ? i._lastSortedIndex - t._lastSortedIndex : i.zIndex - t.zIndex;
|
|
12217
12217
|
}
|
|
12218
|
-
const
|
|
12218
|
+
const c1 = class od extends Ht {
|
|
12219
12219
|
constructor() {
|
|
12220
12220
|
super(), this.children = [], this.sortableChildren = od.defaultSortableChildren, this.sortDirty = !1;
|
|
12221
12221
|
}
|
|
@@ -12528,8 +12528,8 @@ const cy = class od extends Ht {
|
|
|
12528
12528
|
e !== 0 ? this.scale.y = t / e : this.scale.y = 1, this._height = t;
|
|
12529
12529
|
}
|
|
12530
12530
|
};
|
|
12531
|
-
|
|
12532
|
-
let St =
|
|
12531
|
+
c1.defaultSortableChildren = !1;
|
|
12532
|
+
let St = c1;
|
|
12533
12533
|
St.prototype.containerUpdateTransform = St.prototype.updateTransform;
|
|
12534
12534
|
Object.defineProperties(rt, {
|
|
12535
12535
|
/**
|
|
@@ -12743,7 +12743,7 @@ class jt extends St {
|
|
|
12743
12743
|
this._texture !== t && (this._texture && this._texture.off("update", this._onTextureUpdate, this), this._texture = t || st.EMPTY, this._cachedTint = 16777215, this._textureID = -1, this._textureTrimmedID = -1, t && (t.baseTexture.valid ? this._onTextureUpdate() : t.once("update", this._onTextureUpdate, this)));
|
|
12744
12744
|
}
|
|
12745
12745
|
}
|
|
12746
|
-
const
|
|
12746
|
+
const u1 = new Nt();
|
|
12747
12747
|
Ht.prototype._cacheAsBitmap = !1;
|
|
12748
12748
|
Ht.prototype._cacheData = null;
|
|
12749
12749
|
Ht.prototype._cacheAsBitmapResolution = null;
|
|
@@ -12834,7 +12834,7 @@ Ht.prototype._initCachedDisplayObject = function(i) {
|
|
|
12834
12834
|
multisample: this.cacheAsBitmapMultisample ?? i.multisample
|
|
12835
12835
|
}), h = `cacheAsBitmap_${kn()}`;
|
|
12836
12836
|
this._cacheData.textureCacheId = h, bt.addToCache(l.baseTexture, h), st.addToCache(l, h);
|
|
12837
|
-
const c = this.transform.localTransform.copyTo(
|
|
12837
|
+
const c = this.transform.localTransform.copyTo(u1).invert().translate(-e.x, -e.y);
|
|
12838
12838
|
this.render = this._cacheData.originalRender, i.render(this, { renderTexture: l, clear: !0, transform: c, skipUpdateTransform: !1 }), i.framebuffer.blit(), i.projection.transform = a, i.renderTexture.bind(n, s, o), this.render = this._renderCached, this.updateTransform = this.displayObjectUpdateTransform, this.calculateBounds = this._calculateCachedBounds, this.getLocalBounds = this._getCachedLocalBounds, this._mask = null, this.filterArea = null, this.alpha = t;
|
|
12839
12839
|
const u = new jt(l);
|
|
12840
12840
|
u.transform.worldTransform = this.transform.worldTransform, u.anchor.x = -(e.x / e.width), u.anchor.y = -(e.y / e.height), u.alpha = t, u._bounds = this._bounds, this._cacheData.sprite = u, this.transform._parentID = -1, this.parent ? this.updateTransform() : (this.enableTempParent(), this.updateTransform(), this.disableTempParent(null)), this.containsPoint = u.containsPoint.bind(u);
|
|
@@ -12856,7 +12856,7 @@ Ht.prototype._initCachedDisplayObjectCanvas = function(i) {
|
|
|
12856
12856
|
resolution: s
|
|
12857
12857
|
}), a = `cacheAsBitmap_${kn()}`;
|
|
12858
12858
|
this._cacheData.textureCacheId = a, bt.addToCache(o.baseTexture, a), st.addToCache(o, a);
|
|
12859
|
-
const l =
|
|
12859
|
+
const l = u1;
|
|
12860
12860
|
this.transform.localTransform.copyTo(l), l.invert(), l.tx -= t.x, l.ty -= t.y, this.renderCanvas = this._cacheData.originalRenderCanvas, i.render(this, { renderTexture: o, clear: !0, transform: l, skipUpdateTransform: !1 }), i.canvasContext.activeContext = r, i._projTransform = n, this.renderCanvas = this._renderCachedCanvas, this.updateTransform = this.displayObjectUpdateTransform, this.calculateBounds = this._calculateCachedBounds, this.getLocalBounds = this._getCachedLocalBounds, this._mask = null, this.filterArea = null, this.alpha = e;
|
|
12861
12861
|
const h = new jt(o);
|
|
12862
12862
|
h.transform.worldTransform = this.transform.worldTransform, h.anchor.x = -(t.x / t.width), h.anchor.y = -(t.y / t.height), h.alpha = e, h._bounds = this._bounds, this._cacheData.sprite = h, this.transform._parentID = -1, this.parent ? this.updateTransform() : (this.parent = i._tempDisplayObjectParent, this.updateTransform(), this.parent = null), this.containsPoint = h.containsPoint.bind(h);
|
|
@@ -13221,7 +13221,7 @@ class ld extends Te {
|
|
|
13221
13221
|
]),
|
|
13222
13222
|
uAlpha: 1
|
|
13223
13223
|
};
|
|
13224
|
-
super(
|
|
13224
|
+
super(r1, tT, t), this.alpha = 1;
|
|
13225
13225
|
}
|
|
13226
13226
|
/**
|
|
13227
13227
|
* Transforms current matrix and set the new one
|
|
@@ -14202,7 +14202,7 @@ class lT extends Te {
|
|
|
14202
14202
|
* @param {number} [seed] - A random seed for the noise generation. Default is `Math.random()`.
|
|
14203
14203
|
*/
|
|
14204
14204
|
constructor(t = 0.5, e = Math.random()) {
|
|
14205
|
-
super(
|
|
14205
|
+
super(r1, aT, {
|
|
14206
14206
|
uNoise: 0,
|
|
14207
14207
|
uSeed: 0
|
|
14208
14208
|
}), this.noise = t, this.seed = e;
|
|
@@ -15993,7 +15993,7 @@ const gT = {
|
|
|
15993
15993
|
};
|
|
15994
15994
|
Ht.mixin(gT);
|
|
15995
15995
|
const yT = 9, Ja = 100, bT = 0, xT = 0, d0 = 2, f0 = 1, _T = -1e3, vT = -1e3, wT = 2;
|
|
15996
|
-
class
|
|
15996
|
+
class d1 {
|
|
15997
15997
|
// 2fps
|
|
15998
15998
|
/**
|
|
15999
15999
|
* @param {PIXI.CanvasRenderer|PIXI.Renderer} renderer - A reference to the current renderer
|
|
@@ -16174,15 +16174,15 @@ class dy {
|
|
|
16174
16174
|
this.destroyTouchHook(), this.div = null, globalThis.document.removeEventListener("mousemove", this._onMouseMove, !0), globalThis.removeEventListener("keydown", this._onKeyDown), this.pool = null, this.children = null, this.renderer = null;
|
|
16175
16175
|
}
|
|
16176
16176
|
}
|
|
16177
|
-
|
|
16177
|
+
d1.extension = {
|
|
16178
16178
|
name: "accessibility",
|
|
16179
16179
|
type: [
|
|
16180
16180
|
q.RendererPlugin,
|
|
16181
16181
|
q.CanvasRendererPlugin
|
|
16182
16182
|
]
|
|
16183
16183
|
};
|
|
16184
|
-
ot.add(
|
|
16185
|
-
const
|
|
16184
|
+
ot.add(d1);
|
|
16185
|
+
const f1 = class dd {
|
|
16186
16186
|
/**
|
|
16187
16187
|
* @param options - The optional application and renderer parameters.
|
|
16188
16188
|
*/
|
|
@@ -16234,10 +16234,10 @@ const fy = class dd {
|
|
|
16234
16234
|
}), this.stage.destroy(e), this.stage = null, this.renderer.destroy(t), this.renderer = null;
|
|
16235
16235
|
}
|
|
16236
16236
|
};
|
|
16237
|
-
|
|
16238
|
-
let
|
|
16239
|
-
ot.handleByList(q.Application,
|
|
16240
|
-
class
|
|
16237
|
+
f1._plugins = [];
|
|
16238
|
+
let p1 = f1;
|
|
16239
|
+
ot.handleByList(q.Application, p1._plugins);
|
|
16240
|
+
class m1 {
|
|
16241
16241
|
/**
|
|
16242
16242
|
* Initialize the plugin with scope of application instance
|
|
16243
16243
|
* @static
|
|
@@ -16290,8 +16290,8 @@ class my {
|
|
|
16290
16290
|
globalThis.removeEventListener("resize", this.queueResize), this.cancelResize(), this.cancelResize = null, this.queueResize = null, this.resizeTo = null, this.resize = null;
|
|
16291
16291
|
}
|
|
16292
16292
|
}
|
|
16293
|
-
|
|
16294
|
-
ot.add(
|
|
16293
|
+
m1.extension = q.Application;
|
|
16294
|
+
ot.add(m1);
|
|
16295
16295
|
const p0 = {
|
|
16296
16296
|
loader: q.LoadParser,
|
|
16297
16297
|
resolver: q.ResolveParser,
|
|
@@ -16369,11 +16369,11 @@ const pi = (i, t, e = !1) => (Array.isArray(i) || (i = [i]), t ? i.map((r) => ty
|
|
|
16369
16369
|
const e = t.split("?")[1];
|
|
16370
16370
|
return e && (i += `?${e}`), i;
|
|
16371
16371
|
};
|
|
16372
|
-
function
|
|
16372
|
+
function g1(i, t, e, r, n) {
|
|
16373
16373
|
const s = t[e];
|
|
16374
16374
|
for (let o = 0; o < s.length; o++) {
|
|
16375
16375
|
const a = s[o];
|
|
16376
|
-
e < t.length - 1 ?
|
|
16376
|
+
e < t.length - 1 ? g1(i.replace(r[e], a), t, e + 1, r, n) : n.push(i.replace(r[e], a));
|
|
16377
16377
|
}
|
|
16378
16378
|
}
|
|
16379
16379
|
function ST(i) {
|
|
@@ -16383,7 +16383,7 @@ function ST(i) {
|
|
|
16383
16383
|
e.forEach((s) => {
|
|
16384
16384
|
const o = s.substring(1, s.length - 1).split(",");
|
|
16385
16385
|
n.push(o);
|
|
16386
|
-
}),
|
|
16386
|
+
}), g1(i, n, 0, e, r);
|
|
16387
16387
|
} else
|
|
16388
16388
|
r.push(i);
|
|
16389
16389
|
return r;
|
|
@@ -16881,7 +16881,7 @@ const $T = [".mp4", ".m4v", ".webm", ".ogv"], QT = [
|
|
|
16881
16881
|
const a = {
|
|
16882
16882
|
autoPlay: this.config.defaultAutoPlay,
|
|
16883
16883
|
...(o = t == null ? void 0 : t.data) == null ? void 0 : o.resourceOptions
|
|
16884
|
-
}, l = new
|
|
16884
|
+
}, l = new h1(s, a);
|
|
16885
16885
|
await l.load();
|
|
16886
16886
|
const h = new bt(l, {
|
|
16887
16887
|
alphaMode: await ow(),
|
|
@@ -17619,7 +17619,7 @@ const iS = {
|
|
|
17619
17619
|
}
|
|
17620
17620
|
};
|
|
17621
17621
|
ot.add(iS);
|
|
17622
|
-
async function
|
|
17622
|
+
async function y1(i) {
|
|
17623
17623
|
if ("Image" in globalThis)
|
|
17624
17624
|
return new Promise((t) => {
|
|
17625
17625
|
const e = new Image();
|
|
@@ -17645,7 +17645,7 @@ const rS = {
|
|
|
17645
17645
|
type: q.DetectionParser,
|
|
17646
17646
|
priority: 1
|
|
17647
17647
|
},
|
|
17648
|
-
test: async () =>
|
|
17648
|
+
test: async () => y1(
|
|
17649
17649
|
// eslint-disable-next-line max-len
|
|
17650
17650
|
"data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A="
|
|
17651
17651
|
),
|
|
@@ -17658,7 +17658,7 @@ const nS = {
|
|
|
17658
17658
|
type: q.DetectionParser,
|
|
17659
17659
|
priority: 0
|
|
17660
17660
|
},
|
|
17661
|
-
test: async () =>
|
|
17661
|
+
test: async () => y1(
|
|
17662
17662
|
"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA="
|
|
17663
17663
|
),
|
|
17664
17664
|
add: async (i) => [...i, "webp"],
|
|
@@ -18253,7 +18253,7 @@ const BS = {
|
|
|
18253
18253
|
}
|
|
18254
18254
|
};
|
|
18255
18255
|
ot.add(BS);
|
|
18256
|
-
const el = new mt(), US = 4,
|
|
18256
|
+
const el = new mt(), US = 4, b1 = class Io {
|
|
18257
18257
|
/**
|
|
18258
18258
|
* @param renderer - A reference to the current renderer
|
|
18259
18259
|
*/
|
|
@@ -18390,11 +18390,11 @@ const el = new mt(), US = 4, by = class Io {
|
|
|
18390
18390
|
}
|
|
18391
18391
|
}
|
|
18392
18392
|
};
|
|
18393
|
-
|
|
18393
|
+
b1.extension = {
|
|
18394
18394
|
name: "extract",
|
|
18395
18395
|
type: q.RendererSystem
|
|
18396
18396
|
};
|
|
18397
|
-
let XS =
|
|
18397
|
+
let XS = b1;
|
|
18398
18398
|
ot.add(XS);
|
|
18399
18399
|
const Hl = {
|
|
18400
18400
|
build(i) {
|
|
@@ -18479,7 +18479,7 @@ function w0(i, t = !1) {
|
|
|
18479
18479
|
}
|
|
18480
18480
|
}
|
|
18481
18481
|
}
|
|
18482
|
-
const
|
|
18482
|
+
const x1 = {
|
|
18483
18483
|
build(i) {
|
|
18484
18484
|
i.points = i.shape.points.slice();
|
|
18485
18485
|
},
|
|
@@ -19029,7 +19029,7 @@ class uf {
|
|
|
19029
19029
|
}
|
|
19030
19030
|
}
|
|
19031
19031
|
const Yc = {
|
|
19032
|
-
[de.POLY]:
|
|
19032
|
+
[de.POLY]: x1,
|
|
19033
19033
|
[de.CIRC]: Hl,
|
|
19034
19034
|
[de.ELIP]: Hl,
|
|
19035
19035
|
[de.RECT]: WS,
|
|
@@ -19062,7 +19062,7 @@ class Kl {
|
|
|
19062
19062
|
this.shape = null, this.holes.length = 0, this.holes = null, this.points.length = 0, this.points = null, this.lineStyle = null, this.fillStyle = null;
|
|
19063
19063
|
}
|
|
19064
19064
|
}
|
|
19065
|
-
const ss = new dt(),
|
|
19065
|
+
const ss = new dt(), _1 = class v1 extends Eg {
|
|
19066
19066
|
// eslint-disable-next-line @typescript-eslint/no-useless-constructor
|
|
19067
19067
|
constructor() {
|
|
19068
19068
|
super(), this.closePointEps = 1e-4, this.boundsPadding = 0, this.uvsFloat32 = null, this.indicesUint16 = null, this.batchable = !1, this.points = [], this.colors = [], this.uvs = [], this.indices = [], this.textureIds = [], this.graphicsData = [], this.drawCalls = [], this.batchDirty = -1, this.batches = [], this.dirty = 0, this.cacheDirty = -1, this.clearDirty = 0, this.shapeIndex = 0, this._bounds = new Xl(), this.boundsDirty = -1;
|
|
@@ -19232,7 +19232,7 @@ const ss = new dt(), _y = class vy extends Eg {
|
|
|
19232
19232
|
for (let e = 0; e < t.length; e++)
|
|
19233
19233
|
if (t[e].style.native)
|
|
19234
19234
|
return !1;
|
|
19235
|
-
return this.points.length <
|
|
19235
|
+
return this.points.length < v1.BATCHABLE_SIZE * 2;
|
|
19236
19236
|
}
|
|
19237
19237
|
/** Converts intermediate batches data to drawCalls. */
|
|
19238
19238
|
buildDrawCalls() {
|
|
@@ -19264,7 +19264,7 @@ const ss = new dt(), _y = class vy extends Eg {
|
|
|
19264
19264
|
* @param data
|
|
19265
19265
|
*/
|
|
19266
19266
|
processFill(t) {
|
|
19267
|
-
t.holes.length ?
|
|
19267
|
+
t.holes.length ? x1.triangulate(t, this) : Yc[t.type].triangulate(t, this);
|
|
19268
19268
|
}
|
|
19269
19269
|
/**
|
|
19270
19270
|
* Process line part of Graphics.
|
|
@@ -19368,8 +19368,8 @@ const ss = new dt(), _y = class vy extends Eg {
|
|
|
19368
19368
|
t[m] = (t[m] + u) * h, t[m + 1] = (t[m + 1] + d) * c;
|
|
19369
19369
|
}
|
|
19370
19370
|
};
|
|
19371
|
-
|
|
19372
|
-
let zS =
|
|
19371
|
+
_1.BATCHABLE_SIZE = 100;
|
|
19372
|
+
let zS = _1;
|
|
19373
19373
|
class Sh {
|
|
19374
19374
|
constructor() {
|
|
19375
19375
|
this.color = 16777215, this.alpha = 1, this.texture = st.WHITE, this.matrix = null, this.visible = !1, this.reset();
|
|
@@ -19970,7 +19970,7 @@ class YS {
|
|
|
19970
19970
|
(!this.data || this.data.length !== e.length) && (this.data = new Float32Array(e.length)), this.uvMatrix.multiplyUvs(e, this.data), this._updateID++;
|
|
19971
19971
|
}
|
|
19972
19972
|
}
|
|
19973
|
-
const Jc = new dt(), I0 = new En(),
|
|
19973
|
+
const Jc = new dt(), I0 = new En(), w1 = class T1 extends St {
|
|
19974
19974
|
/**
|
|
19975
19975
|
* @param geometry - The geometry the mesh will use.
|
|
19976
19976
|
* @param {PIXI.MeshMaterial} shader - The shader the mesh will use.
|
|
@@ -20071,7 +20071,7 @@ const Jc = new dt(), I0 = new En(), wy = class Ty extends St {
|
|
|
20071
20071
|
*/
|
|
20072
20072
|
_render(t) {
|
|
20073
20073
|
const e = this.geometry.buffers[0].data;
|
|
20074
|
-
this.shader.batchable && this.drawMode === Fi.TRIANGLES && e.length <
|
|
20074
|
+
this.shader.batchable && this.drawMode === Fi.TRIANGLES && e.length < T1.BATCHABLE_SIZE * 2 ? this._renderToBatch(t) : this._renderDefault(t);
|
|
20075
20075
|
}
|
|
20076
20076
|
/**
|
|
20077
20077
|
* Standard non-batching way of rendering.
|
|
@@ -20142,9 +20142,9 @@ const Jc = new dt(), I0 = new En(), wy = class Ty extends St {
|
|
|
20142
20142
|
super.destroy(t), this._cachedTexture && (this._cachedTexture.destroy(), this._cachedTexture = null), this.geometry = null, this.shader = null, this.state = null, this.uvs = null, this.indices = null, this.vertexData = null;
|
|
20143
20143
|
}
|
|
20144
20144
|
};
|
|
20145
|
-
|
|
20146
|
-
let gd =
|
|
20147
|
-
class
|
|
20145
|
+
w1.BATCHABLE_SIZE = 100;
|
|
20146
|
+
let gd = w1;
|
|
20147
|
+
class S1 extends Wr {
|
|
20148
20148
|
/**
|
|
20149
20149
|
* @param {Float32Array|number[]} [vertices] - Positional data on geometry.
|
|
20150
20150
|
* @param {Float32Array|number[]} [uvs] - Texture UVs.
|
|
@@ -20256,7 +20256,7 @@ class yd extends Ui {
|
|
|
20256
20256
|
this.uvMatrix.update() && (this.uniforms.uTextureMatrix = this.uvMatrix.mapCoord);
|
|
20257
20257
|
}
|
|
20258
20258
|
}
|
|
20259
|
-
class $S extends
|
|
20259
|
+
class $S extends S1 {
|
|
20260
20260
|
/**
|
|
20261
20261
|
* @param width - The width (i.e., thickness) of the rope.
|
|
20262
20262
|
* @param points - An array of {@link PIXI.Point} objects to construct this rope.
|
|
@@ -20491,7 +20491,7 @@ void main(void){
|
|
|
20491
20491
|
vColor = aColor * uColor;
|
|
20492
20492
|
}
|
|
20493
20493
|
`;
|
|
20494
|
-
class
|
|
20494
|
+
class C1 extends wh {
|
|
20495
20495
|
/**
|
|
20496
20496
|
* @param renderer - The renderer this sprite batch works for.
|
|
20497
20497
|
*/
|
|
@@ -20662,11 +20662,11 @@ class Cy extends wh {
|
|
|
20662
20662
|
super.destroy(), this.shader && (this.shader.destroy(), this.shader = null), this.tempMatrix = null;
|
|
20663
20663
|
}
|
|
20664
20664
|
}
|
|
20665
|
-
|
|
20665
|
+
C1.extension = {
|
|
20666
20666
|
name: "particle",
|
|
20667
20667
|
type: q.RendererPlugin
|
|
20668
20668
|
};
|
|
20669
|
-
ot.add(
|
|
20669
|
+
ot.add(C1);
|
|
20670
20670
|
var Ch = /* @__PURE__ */ ((i) => (i[i.LINEAR_VERTICAL = 0] = "LINEAR_VERTICAL", i[i.LINEAR_HORIZONTAL = 1] = "LINEAR_HORIZONTAL", i))(Ch || {});
|
|
20671
20671
|
const rl = {
|
|
20672
20672
|
// TextMetrics requires getImageData readback for measuring fonts.
|
|
@@ -21092,7 +21092,7 @@ const eC = [
|
|
|
21092
21092
|
"cursive",
|
|
21093
21093
|
"fantasy",
|
|
21094
21094
|
"system-ui"
|
|
21095
|
-
],
|
|
21095
|
+
], E1 = class Ao {
|
|
21096
21096
|
/**
|
|
21097
21097
|
* @param style - TextStyle properties to be set on the text. See {@link PIXI.TextStyle.defaultStyle}
|
|
21098
21098
|
* for the default values.
|
|
@@ -21405,7 +21405,7 @@ const eC = [
|
|
|
21405
21405
|
return `${this.fontStyle} ${this.fontVariant} ${this.fontWeight} ${t} ${e.join(",")}`;
|
|
21406
21406
|
}
|
|
21407
21407
|
};
|
|
21408
|
-
|
|
21408
|
+
E1.defaultStyle = {
|
|
21409
21409
|
/**
|
|
21410
21410
|
* See {@link PIXI.TextStyle.align}
|
|
21411
21411
|
* @type {'left'|'center'|'right'|'justify'}
|
|
@@ -21513,7 +21513,7 @@ Ey.defaultStyle = {
|
|
|
21513
21513
|
/** See {@link PIXI.TextStyle.wordWrapWidth} */
|
|
21514
21514
|
wordWrapWidth: 100
|
|
21515
21515
|
};
|
|
21516
|
-
let Hr =
|
|
21516
|
+
let Hr = E1;
|
|
21517
21517
|
function $c(i) {
|
|
21518
21518
|
const t = Dt.shared, e = (r) => {
|
|
21519
21519
|
const n = t.setValue(r);
|
|
@@ -21537,7 +21537,7 @@ const rC = {
|
|
|
21537
21537
|
texture: !0,
|
|
21538
21538
|
children: !1,
|
|
21539
21539
|
baseTexture: !0
|
|
21540
|
-
},
|
|
21540
|
+
}, I1 = class bd extends jt {
|
|
21541
21541
|
/**
|
|
21542
21542
|
* @param text - The string that you would like the text to display
|
|
21543
21543
|
* @param style - The style parameters
|
|
@@ -21788,8 +21788,8 @@ const rC = {
|
|
|
21788
21788
|
this._autoResolution = !1, this._resolution !== t && (this._resolution = t, this.dirty = !0);
|
|
21789
21789
|
}
|
|
21790
21790
|
};
|
|
21791
|
-
|
|
21792
|
-
let
|
|
21791
|
+
I1.defaultAutoResolution = !0;
|
|
21792
|
+
let A1 = I1;
|
|
21793
21793
|
class nC {
|
|
21794
21794
|
/**
|
|
21795
21795
|
* @param maxItemsPerFrame - The maximum number of items that can be prepared each frame.
|
|
@@ -21836,7 +21836,7 @@ function aC(i, t) {
|
|
|
21836
21836
|
return !1;
|
|
21837
21837
|
}
|
|
21838
21838
|
function lC(i, t) {
|
|
21839
|
-
return t instanceof
|
|
21839
|
+
return t instanceof A1 ? (t.updateText(!0), !0) : !1;
|
|
21840
21840
|
}
|
|
21841
21841
|
function hC(i, t) {
|
|
21842
21842
|
if (t instanceof Hr) {
|
|
@@ -21846,7 +21846,7 @@ function hC(i, t) {
|
|
|
21846
21846
|
return !1;
|
|
21847
21847
|
}
|
|
21848
21848
|
function cC(i, t) {
|
|
21849
|
-
if (i instanceof
|
|
21849
|
+
if (i instanceof A1) {
|
|
21850
21850
|
t.includes(i.style) || t.push(i.style), t.includes(i) || t.push(i);
|
|
21851
21851
|
const e = i._texture.baseTexture;
|
|
21852
21852
|
return t.includes(e) || t.push(e), !0;
|
|
@@ -21856,12 +21856,12 @@ function cC(i, t) {
|
|
|
21856
21856
|
function uC(i, t) {
|
|
21857
21857
|
return i instanceof Hr ? (t.includes(i) || t.push(i), !0) : !1;
|
|
21858
21858
|
}
|
|
21859
|
-
const
|
|
21859
|
+
const M1 = class R1 {
|
|
21860
21860
|
/**
|
|
21861
21861
|
* @param {PIXI.IRenderer} renderer - A reference to the current renderer
|
|
21862
21862
|
*/
|
|
21863
21863
|
constructor(t) {
|
|
21864
|
-
this.limiter = new nC(
|
|
21864
|
+
this.limiter = new nC(R1.uploadsPerFrame), this.renderer = t, this.uploadHookHelper = null, this.queue = [], this.addHooks = [], this.uploadHooks = [], this.completes = [], this.ticking = !1, this.delayedTick = () => {
|
|
21865
21865
|
this.queue && this.prepareItems();
|
|
21866
21866
|
}, this.registerFindHook(cC), this.registerFindHook(uC), this.registerFindHook(sC), this.registerFindHook(oC), this.registerFindHook(aC), this.registerUploadHook(lC), this.registerUploadHook(hC);
|
|
21867
21867
|
}
|
|
@@ -21949,8 +21949,8 @@ const My = class Ry {
|
|
|
21949
21949
|
this.ticking && Se.system.remove(this.tick, this), this.ticking = !1, this.addHooks = null, this.uploadHooks = null, this.renderer = null, this.completes = null, this.queue = null, this.limiter = null, this.uploadHookHelper = null;
|
|
21950
21950
|
}
|
|
21951
21951
|
};
|
|
21952
|
-
|
|
21953
|
-
let xd =
|
|
21952
|
+
M1.uploadsPerFrame = 4;
|
|
21953
|
+
let xd = M1;
|
|
21954
21954
|
Object.defineProperties(rt, {
|
|
21955
21955
|
/**
|
|
21956
21956
|
* Default number of uploads per frame using prepare plugin.
|
|
@@ -21970,7 +21970,7 @@ Object.defineProperties(rt, {
|
|
|
21970
21970
|
}
|
|
21971
21971
|
}
|
|
21972
21972
|
});
|
|
21973
|
-
function
|
|
21973
|
+
function P1(i, t) {
|
|
21974
21974
|
return t instanceof bt ? (t._glTextures[i.CONTEXT_UID] || i.texture.bind(t), !0) : !1;
|
|
21975
21975
|
}
|
|
21976
21976
|
function dC(i, t) {
|
|
@@ -21981,26 +21981,26 @@ function dC(i, t) {
|
|
|
21981
21981
|
const { batches: r } = e;
|
|
21982
21982
|
for (let n = 0; n < r.length; n++) {
|
|
21983
21983
|
const { texture: s } = r[n].style;
|
|
21984
|
-
s &&
|
|
21984
|
+
s && P1(i, s.baseTexture);
|
|
21985
21985
|
}
|
|
21986
21986
|
return e.batchable || i.geometry.bind(e, t._resolveDirectShader(i)), !0;
|
|
21987
21987
|
}
|
|
21988
21988
|
function fC(i, t) {
|
|
21989
21989
|
return i instanceof Vr ? (t.push(i), !0) : !1;
|
|
21990
21990
|
}
|
|
21991
|
-
class
|
|
21991
|
+
class L1 extends xd {
|
|
21992
21992
|
/**
|
|
21993
21993
|
* @param {PIXI.Renderer} renderer - A reference to the current renderer
|
|
21994
21994
|
*/
|
|
21995
21995
|
constructor(t) {
|
|
21996
|
-
super(t), this.uploadHookHelper = this.renderer, this.registerFindHook(fC), this.registerUploadHook(
|
|
21996
|
+
super(t), this.uploadHookHelper = this.renderer, this.registerFindHook(fC), this.registerUploadHook(P1), this.registerUploadHook(dC);
|
|
21997
21997
|
}
|
|
21998
21998
|
}
|
|
21999
|
-
|
|
21999
|
+
L1.extension = {
|
|
22000
22000
|
name: "prepare",
|
|
22001
22001
|
type: q.RendererSystem
|
|
22002
22002
|
};
|
|
22003
|
-
ot.add(
|
|
22003
|
+
ot.add(L1);
|
|
22004
22004
|
var pC = `#version 300 es
|
|
22005
22005
|
#define SHADER_NAME Tiling-Sprite-100
|
|
22006
22006
|
|
|
@@ -22117,7 +22117,7 @@ void main(void)
|
|
|
22117
22117
|
}
|
|
22118
22118
|
`;
|
|
22119
22119
|
const nl = new Nt();
|
|
22120
|
-
class
|
|
22120
|
+
class G1 extends wh {
|
|
22121
22121
|
/**
|
|
22122
22122
|
* constructor for renderer
|
|
22123
22123
|
* @param {PIXI.Renderer} renderer - The renderer this tiling awesomeness works for.
|
|
@@ -22153,12 +22153,12 @@ class Gy extends wh {
|
|
|
22153
22153
|
), nl.invert(), d ? nl.prepend(u.mapCoord) : (f.uniforms.uMapCoord = u.mapCoord.toArray(!0), f.uniforms.uClampFrame = u.uClampFrame, f.uniforms.uClampOffset = u.uClampOffset), f.uniforms.uTransform = nl.toArray(!0), f.uniforms.uColor = Dt.shared.setValue(t.tint).premultiply(t.worldAlpha, h).toArray(f.uniforms.uColor), f.uniforms.translationMatrix = t.transform.worldTransform.toArray(!0), f.uniforms.uSampler = a, e.shader.bind(f), e.geometry.bind(r), this.state.blendMode = Tg(t.blendMode, h), e.state.set(this.state), e.geometry.draw(this.renderer.gl.TRIANGLES, 6, 0);
|
|
22154
22154
|
}
|
|
22155
22155
|
}
|
|
22156
|
-
|
|
22156
|
+
G1.extension = {
|
|
22157
22157
|
name: "tilingSprite",
|
|
22158
22158
|
type: q.RendererPlugin
|
|
22159
22159
|
};
|
|
22160
|
-
ot.add(
|
|
22161
|
-
const
|
|
22160
|
+
ot.add(G1);
|
|
22161
|
+
const k1 = class Mo {
|
|
22162
22162
|
/**
|
|
22163
22163
|
* @param texture - Reference to the source BaseTexture object.
|
|
22164
22164
|
* @param {object} data - Spritesheet image data.
|
|
@@ -22271,10 +22271,10 @@ const ky = class Mo {
|
|
|
22271
22271
|
this._frames = null, this._frameKeys = null, this.data = null, this.textures = null, t && ((e = this._texture) == null || e.destroy(), this.baseTexture.destroy()), this._texture = null, this.baseTexture = null, this.linkedSheets = [];
|
|
22272
22272
|
}
|
|
22273
22273
|
};
|
|
22274
|
-
|
|
22275
|
-
let R0 =
|
|
22274
|
+
k1.BATCH_SIZE = 1e3;
|
|
22275
|
+
let R0 = k1;
|
|
22276
22276
|
const bC = ["jpg", "png", "jpeg", "avif", "webp"];
|
|
22277
|
-
function
|
|
22277
|
+
function F1(i, t, e) {
|
|
22278
22278
|
const r = {};
|
|
22279
22279
|
if (i.forEach((n) => {
|
|
22280
22280
|
r[n] = t;
|
|
@@ -22283,7 +22283,7 @@ function Fy(i, t, e) {
|
|
|
22283
22283
|
}), !e) {
|
|
22284
22284
|
const n = re.dirname(i[0]);
|
|
22285
22285
|
t.linkedSheets.forEach((s, o) => {
|
|
22286
|
-
const a =
|
|
22286
|
+
const a = F1([`${n}/${t.data.meta.related_multi_packs[o]}`], s, !0);
|
|
22287
22287
|
Object.assign(r, a);
|
|
22288
22288
|
});
|
|
22289
22289
|
}
|
|
@@ -22294,7 +22294,7 @@ const xC = {
|
|
|
22294
22294
|
/** Handle the caching of the related Spritesheet Textures */
|
|
22295
22295
|
cache: {
|
|
22296
22296
|
test: (i) => i instanceof R0,
|
|
22297
|
-
getCacheableAssets: (i, t) =>
|
|
22297
|
+
getCacheableAssets: (i, t) => F1(i, t, !1)
|
|
22298
22298
|
},
|
|
22299
22299
|
/** Resolve the the resolution of the asset. */
|
|
22300
22300
|
resolver: {
|
|
@@ -22575,7 +22575,7 @@ function wC(i, t, e, r, n, s, o) {
|
|
|
22575
22575
|
function wl(i) {
|
|
22576
22576
|
return i.codePointAt ? i.codePointAt(0) : i.charCodeAt(0);
|
|
22577
22577
|
}
|
|
22578
|
-
function
|
|
22578
|
+
function D1(i) {
|
|
22579
22579
|
return Array.from ? Array.from(i) : i.split("");
|
|
22580
22580
|
}
|
|
22581
22581
|
function TC(i) {
|
|
@@ -22592,7 +22592,7 @@ function TC(i) {
|
|
|
22592
22592
|
for (let a = s, l = o; a <= l; a++)
|
|
22593
22593
|
t.push(String.fromCharCode(a));
|
|
22594
22594
|
} else
|
|
22595
|
-
t.push(...
|
|
22595
|
+
t.push(...D1(n));
|
|
22596
22596
|
}
|
|
22597
22597
|
if (t.length === 0)
|
|
22598
22598
|
throw new Error("[BitmapFont]: Empty set when resolving characters.");
|
|
@@ -22875,7 +22875,7 @@ void main(void)\r
|
|
|
22875
22875
|
vTextureCoord = (uTextureMatrix * vec3(aTextureCoord, 1.0)).xy;\r
|
|
22876
22876
|
}\r
|
|
22877
22877
|
`;
|
|
22878
|
-
const P0 = [], L0 = [], G0 = [],
|
|
22878
|
+
const P0 = [], L0 = [], G0 = [], N1 = class O1 extends St {
|
|
22879
22879
|
/**
|
|
22880
22880
|
* @param text - A string that you would like the text to display.
|
|
22881
22881
|
* @param style - The style parameters.
|
|
@@ -22892,7 +22892,7 @@ const P0 = [], L0 = [], G0 = [], Ny = class Oy extends St {
|
|
|
22892
22892
|
super();
|
|
22893
22893
|
const { align: r, tint: n, maxWidth: s, letterSpacing: o, fontName: a, fontSize: l } = Object.assign(
|
|
22894
22894
|
{},
|
|
22895
|
-
|
|
22895
|
+
O1.styleDefaults,
|
|
22896
22896
|
e
|
|
22897
22897
|
);
|
|
22898
22898
|
if (!fi.available[a])
|
|
@@ -22905,7 +22905,7 @@ const P0 = [], L0 = [], G0 = [], Ny = class Oy extends St {
|
|
|
22905
22905
|
updateText() {
|
|
22906
22906
|
var G;
|
|
22907
22907
|
const t = fi.available[this._fontName], e = this.fontSize, r = e / t.size, n = new dt(), s = [], o = [], a = [], l = this._text.replace(/(?:\r\n|\r)/g, `
|
|
22908
|
-
`) || " ", h =
|
|
22908
|
+
`) || " ", h = D1(l), c = this._maxWidth * t.size / e, u = t.distanceFieldType === "none" ? P0 : L0;
|
|
22909
22909
|
let d = null, f = 0, p = 0, m = 0, g = -1, y = 0, x = 0, b = 0, v = 0;
|
|
22910
22910
|
for (let F = 0; F < h.length; F++) {
|
|
22911
22911
|
const M = h[F], N = wl(M);
|
|
@@ -22942,7 +22942,7 @@ const P0 = [], L0 = [], G0 = [], Ny = class Oy extends St {
|
|
|
22942
22942
|
if (!I[N]) {
|
|
22943
22943
|
let W = u.pop();
|
|
22944
22944
|
if (!W) {
|
|
22945
|
-
const H = new
|
|
22945
|
+
const H = new S1();
|
|
22946
22946
|
let Y, B;
|
|
22947
22947
|
t.distanceFieldType === "none" ? (Y = new yd(st.EMPTY), B = pt.NORMAL) : (Y = new yd(
|
|
22948
22948
|
st.EMPTY,
|
|
@@ -23180,13 +23180,13 @@ const P0 = [], L0 = [], G0 = [], Ny = class Oy extends St {
|
|
|
23180
23180
|
this._font = null, this._tintColor = null, this._textureCache = null, super.destroy(t);
|
|
23181
23181
|
}
|
|
23182
23182
|
};
|
|
23183
|
-
|
|
23183
|
+
N1.styleDefaults = {
|
|
23184
23184
|
align: "left",
|
|
23185
23185
|
tint: 16777215,
|
|
23186
23186
|
maxWidth: 0,
|
|
23187
23187
|
letterSpacing: 0
|
|
23188
23188
|
};
|
|
23189
|
-
let EC =
|
|
23189
|
+
let EC = N1;
|
|
23190
23190
|
const IC = [".xml", ".fnt"], AC = {
|
|
23191
23191
|
extension: {
|
|
23192
23192
|
type: q.LoadParser,
|
|
@@ -23729,14 +23729,14 @@ function Fe(i) {
|
|
|
23729
23729
|
}).then((e) => (Q.off(i, t), e));
|
|
23730
23730
|
}
|
|
23731
23731
|
let Xi = null;
|
|
23732
|
-
const
|
|
23732
|
+
const B1 = new ResizeObserver(() => {
|
|
23733
23733
|
Xi && Q.emit("stageUpdated", Xi);
|
|
23734
23734
|
});
|
|
23735
23735
|
function RC(i) {
|
|
23736
|
-
Xi = i,
|
|
23736
|
+
Xi = i, B1.observe(Xi), Q.emit("stageCreated", Xi);
|
|
23737
23737
|
}
|
|
23738
23738
|
function PC() {
|
|
23739
|
-
Xi &&
|
|
23739
|
+
Xi && B1.unobserve(Xi), Xi = null;
|
|
23740
23740
|
}
|
|
23741
23741
|
async function ff() {
|
|
23742
23742
|
return Xi || await Fe("stageCreated");
|
|
@@ -23752,7 +23752,7 @@ function GC() {
|
|
|
23752
23752
|
}), We = null);
|
|
23753
23753
|
}
|
|
23754
23754
|
function kC(i) {
|
|
23755
|
-
We = new
|
|
23755
|
+
We = new p1({
|
|
23756
23756
|
backgroundAlpha: 0,
|
|
23757
23757
|
resizeTo: i,
|
|
23758
23758
|
antialias: !0,
|
|
@@ -24347,7 +24347,7 @@ function ZC() {
|
|
|
24347
24347
|
async function Pt() {
|
|
24348
24348
|
return Pr || await Fe("configCreated");
|
|
24349
24349
|
}
|
|
24350
|
-
async function
|
|
24350
|
+
async function U1(i, t) {
|
|
24351
24351
|
const e = await Pt();
|
|
24352
24352
|
let r, n = null;
|
|
24353
24353
|
async function s() {
|
|
@@ -24375,7 +24375,7 @@ function ir(i) {
|
|
|
24375
24375
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
24376
24376
|
return i;
|
|
24377
24377
|
}
|
|
24378
|
-
function
|
|
24378
|
+
function X1(i, t) {
|
|
24379
24379
|
i.prototype = Object.create(t.prototype), i.prototype.constructor = i, i.__proto__ = t;
|
|
24380
24380
|
}
|
|
24381
24381
|
/*!
|
|
@@ -24398,7 +24398,7 @@ var He = {
|
|
|
24398
24398
|
duration: 0.5,
|
|
24399
24399
|
overwrite: !1,
|
|
24400
24400
|
delay: 0
|
|
24401
|
-
}, pf, be, Bt, ti = 1e8, Gt = 1 / ti, Td = Math.PI * 2, HC = Td / 4, KC = 0,
|
|
24401
|
+
}, pf, be, Bt, ti = 1e8, Gt = 1 / ti, Td = Math.PI * 2, HC = Td / 4, KC = 0, W1 = Math.sqrt, zC = Math.cos, YC = Math.sin, ce = function(t) {
|
|
24402
24402
|
return typeof t == "string";
|
|
24403
24403
|
}, Kt = function(t) {
|
|
24404
24404
|
return typeof t == "function";
|
|
@@ -24414,14 +24414,14 @@ var He = {
|
|
|
24414
24414
|
return typeof window < "u";
|
|
24415
24415
|
}, ol = function(t) {
|
|
24416
24416
|
return Kt(t) || ce(t);
|
|
24417
|
-
},
|
|
24418
|
-
}, xe = Array.isArray, Sd = /(?:-?\.?\d|\.)+/gi,
|
|
24417
|
+
}, Z1 = typeof ArrayBuffer == "function" && ArrayBuffer.isView || function() {
|
|
24418
|
+
}, xe = Array.isArray, Sd = /(?:-?\.?\d|\.)+/gi, V1 = /[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g, xs = /[-+=.]*\d+[.e-]*\d*[a-z%]*/g, eu = /[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi, H1 = /[+-]=-?[.\d]+/, K1 = /[^,'"\[\]\s]+/gi, jC = /^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i, Wt, Ri, Cd, yf, Ke = {}, jl = {}, z1, Y1 = function(t) {
|
|
24419
24419
|
return (jl = Dn(t, Ke)) && ke;
|
|
24420
24420
|
}, bf = function(t, e) {
|
|
24421
24421
|
return console.warn("Invalid property", t, "set to", e, "Missing plugin? gsap.registerPlugin()");
|
|
24422
24422
|
}, zo = function(t, e) {
|
|
24423
24423
|
return !e && console.warn(t);
|
|
24424
|
-
},
|
|
24424
|
+
}, j1 = function(t, e) {
|
|
24425
24425
|
return t && (Ke[t] = e) && jl && (jl[t] = e) || Ke;
|
|
24426
24426
|
}, Yo = function() {
|
|
24427
24427
|
return 0;
|
|
@@ -24434,7 +24434,7 @@ var He = {
|
|
|
24434
24434
|
kill: !1
|
|
24435
24435
|
}, $C = {
|
|
24436
24436
|
suppressEvents: !0
|
|
24437
|
-
}, xf = {}, Ur = [], Ed = {},
|
|
24437
|
+
}, xf = {}, Ur = [], Ed = {}, J1, Xe = {}, iu = {}, F0 = 30, Sl = [], _f = "", vf = function(t) {
|
|
24438
24438
|
var e = t[0], r, n;
|
|
24439
24439
|
if (Hi(e) || Kt(e) || (t = [t]), !(r = (e._gsap || {}).harness)) {
|
|
24440
24440
|
for (n = Sl.length; n-- && !Sl[n].targetTest(e); )
|
|
@@ -24442,11 +24442,11 @@ var He = {
|
|
|
24442
24442
|
r = Sl[n];
|
|
24443
24443
|
}
|
|
24444
24444
|
for (n = t.length; n--; )
|
|
24445
|
-
t[n] && (t[n]._gsap || (t[n]._gsap = new
|
|
24445
|
+
t[n] && (t[n]._gsap || (t[n]._gsap = new _y(t[n], r))) || t.splice(n, 1);
|
|
24446
24446
|
return t;
|
|
24447
24447
|
}, An = function(t) {
|
|
24448
24448
|
return t._gsap || vf(ei(t))[0]._gsap;
|
|
24449
|
-
}, $
|
|
24449
|
+
}, $1 = function(t, e, r) {
|
|
24450
24450
|
return (r = t[e]) && Kt(r) ? t[e]() : mf(r) && t.getAttribute && t.getAttribute(e) || r;
|
|
24451
24451
|
}, Pe = function(t, e) {
|
|
24452
24452
|
return (t = t.split(",")).forEach(e) || t;
|
|
@@ -24465,12 +24465,12 @@ var He = {
|
|
|
24465
24465
|
var t = Ur.length, e = Ur.slice(0), r, n;
|
|
24466
24466
|
for (Ed = {}, Ur.length = 0, r = 0; r < t; r++)
|
|
24467
24467
|
n = e[r], n && n._lazy && (n.render(n._lazy[0], n._lazy[1], !0)._lazy = 0);
|
|
24468
|
-
},
|
|
24468
|
+
}, Q1 = function(t, e, r, n) {
|
|
24469
24469
|
Ur.length && !be && Jl(), t.render(e, r, n || be && e < 0 && (t._initted || t._startAt)), Ur.length && !be && Jl();
|
|
24470
|
-
},
|
|
24470
|
+
}, q1 = function(t) {
|
|
24471
24471
|
var e = parseFloat(t);
|
|
24472
|
-
return (e || e === 0) && (t + "").match(
|
|
24473
|
-
},
|
|
24472
|
+
return (e || e === 0) && (t + "").match(K1).length < 2 ? e : ce(t) ? t.trim() : t;
|
|
24473
|
+
}, ty = function(t) {
|
|
24474
24474
|
return t;
|
|
24475
24475
|
}, ri = function(t, e) {
|
|
24476
24476
|
for (var r in e)
|
|
@@ -24504,7 +24504,7 @@ var He = {
|
|
|
24504
24504
|
for (var r = t.length, n = r === e.length; n && r-- && t[r] === e[r]; )
|
|
24505
24505
|
;
|
|
24506
24506
|
return r < 0;
|
|
24507
|
-
},
|
|
24507
|
+
}, ey = function(t, e, r, n, s) {
|
|
24508
24508
|
r === void 0 && (r = "_first"), n === void 0 && (n = "_last");
|
|
24509
24509
|
var o = t[n], a;
|
|
24510
24510
|
if (s)
|
|
@@ -24542,7 +24542,7 @@ var He = {
|
|
|
24542
24542
|
}, Ah = function(t, e) {
|
|
24543
24543
|
var r = t._dp;
|
|
24544
24544
|
return r && r.smoothChildTiming && t._ts && (t._start = he(r._time - (t._ts > 0 ? e / t._ts : ((t._dirty ? t.totalDuration() : t._tDur) - e) / -t._ts)), Ih(t), r._dirty || Mn(r, t)), t;
|
|
24545
|
-
},
|
|
24545
|
+
}, iy = function(t, e) {
|
|
24546
24546
|
var r;
|
|
24547
24547
|
if ((e._time || !e._dur && e._initted || e._start < t._time && (e._dur || !e.add)) && (r = Ql(t.rawTime(), e), (!e._dur || la(0, e.totalDuration(), r) - e._tTime > Gt) && e.render(r, !0)), Mn(t, e)._dp && t._initted && t._time >= t._dur && t._ts) {
|
|
24548
24548
|
if (t._dur < t.duration())
|
|
@@ -24551,13 +24551,13 @@ var He = {
|
|
|
24551
24551
|
t._zTime = -Gt;
|
|
24552
24552
|
}
|
|
24553
24553
|
}, Gi = function(t, e, r, n) {
|
|
24554
|
-
return e.parent && Kr(e), e._start = he((pr(r) ? r : r || t !== Wt ? je(t, r, e) : t._time) + e._delay), e._end = he(e._start + (e.totalDuration() / Math.abs(e.timeScale()) || 0)),
|
|
24555
|
-
},
|
|
24554
|
+
return e.parent && Kr(e), e._start = he((pr(r) ? r : r || t !== Wt ? je(t, r, e) : t._time) + e._delay), e._end = he(e._start + (e.totalDuration() / Math.abs(e.timeScale()) || 0)), ey(t, e, "_first", "_last", t._sort ? "_start" : 0), Ad(e) || (t._recent = e), n || iy(t, e), t._ts < 0 && Ah(t, t._tTime), t;
|
|
24555
|
+
}, ry = function(t, e) {
|
|
24556
24556
|
return (Ke.ScrollTrigger || bf("scrollTrigger", e)) && Ke.ScrollTrigger.create(e, t);
|
|
24557
|
-
},
|
|
24557
|
+
}, ny = function(t, e, r, n, s) {
|
|
24558
24558
|
if (Tf(t, e, s), !t._initted)
|
|
24559
24559
|
return 1;
|
|
24560
|
-
if (!r && t._pt && !be && (t._dur && t.vars.lazy !== !1 || !t._dur && t.vars.lazy) &&
|
|
24560
|
+
if (!r && t._pt && !be && (t._dur && t.vars.lazy !== !1 || !t._dur && t.vars.lazy) && J1 !== Ze.frame)
|
|
24561
24561
|
return Ur.push(t), t._lazy = [s, n], 1;
|
|
24562
24562
|
}, rE = function i(t) {
|
|
24563
24563
|
var e = t.parent;
|
|
@@ -24568,7 +24568,7 @@ var He = {
|
|
|
24568
24568
|
}, nE = function(t, e, r, n) {
|
|
24569
24569
|
var s = t.ratio, o = e < 0 || !e && (!t._start && rE(t) && !(!t._initted && Ad(t)) || (t._ts < 0 || t._dp._ts < 0) && !Ad(t)) ? 0 : 1, a = t._rDelay, l = 0, h, c, u;
|
|
24570
24570
|
if (a && t._repeat && (l = la(0, t._tDur, e), c = Us(l, a), t._yoyo && c & 1 && (o = 1 - o), c !== Us(t._tTime, a) && (s = 1 - o, t.vars.repeatRefresh && t._initted && t.invalidate())), o !== s || be || n || t._zTime === Gt || !e && t._zTime) {
|
|
24571
|
-
if (!t._initted &&
|
|
24571
|
+
if (!t._initted && ny(t, e, n, r, l))
|
|
24572
24572
|
return;
|
|
24573
24573
|
for (u = t._zTime, t._zTime = e || (r ? Gt : 0), r || (r = e && !u), t.ratio = o, t._from && (o = 1 - o), t._time = 0, t._tTime = l, h = t._pt; h; )
|
|
24574
24574
|
h.r(o, h.d), h = h._next;
|
|
@@ -24619,25 +24619,25 @@ var He = {
|
|
|
24619
24619
|
return $r(r, function(n) {
|
|
24620
24620
|
return la(t, e, n);
|
|
24621
24621
|
});
|
|
24622
|
-
}, Md = [].slice,
|
|
24622
|
+
}, Md = [].slice, sy = function(t, e) {
|
|
24623
24623
|
return t && Hi(t) && "length" in t && (!e && !t.length || t.length - 1 in t && Hi(t[0])) && !t.nodeType && t !== Ri;
|
|
24624
24624
|
}, lE = function(t, e, r) {
|
|
24625
24625
|
return r === void 0 && (r = []), t.forEach(function(n) {
|
|
24626
24626
|
var s;
|
|
24627
|
-
return ce(n) && !e ||
|
|
24627
|
+
return ce(n) && !e || sy(n, 1) ? (s = r).push.apply(s, ei(n)) : r.push(n);
|
|
24628
24628
|
}) || r;
|
|
24629
24629
|
}, ei = function(t, e, r) {
|
|
24630
|
-
return Bt && !e && Bt.selector ? Bt.selector(t) : ce(t) && !r && (Cd || !Ws()) ? Md.call((e || yf).querySelectorAll(t), 0) : xe(t) ? lE(t, r) :
|
|
24630
|
+
return Bt && !e && Bt.selector ? Bt.selector(t) : ce(t) && !r && (Cd || !Ws()) ? Md.call((e || yf).querySelectorAll(t), 0) : xe(t) ? lE(t, r) : sy(t) ? Md.call(t, 0) : t ? [t] : [];
|
|
24631
24631
|
}, Rd = function(t) {
|
|
24632
24632
|
return t = ei(t)[0] || zo("Invalid scope") || {}, function(e) {
|
|
24633
24633
|
var r = t.current || t.nativeElement || t;
|
|
24634
24634
|
return ei(e, r.querySelectorAll ? r : r === t ? zo("Invalid scope") || yf.createElement("div") : t);
|
|
24635
24635
|
};
|
|
24636
|
-
},
|
|
24636
|
+
}, oy = function(t) {
|
|
24637
24637
|
return t.sort(function() {
|
|
24638
24638
|
return 0.5 - Math.random();
|
|
24639
24639
|
});
|
|
24640
|
-
},
|
|
24640
|
+
}, ay = function(t) {
|
|
24641
24641
|
if (Kt(t))
|
|
24642
24642
|
return t;
|
|
24643
24643
|
var e = Hi(t) ? t : {
|
|
@@ -24656,8 +24656,8 @@ var He = {
|
|
|
24656
24656
|
A < m && A--;
|
|
24657
24657
|
}
|
|
24658
24658
|
for (g = o[m] = [], y = l ? Math.min(A, m) * c - 0.5 : n % A, x = A === ti ? 0 : l ? m * u / A - 0.5 : n / A | 0, E = 0, I = ti, S = 0; S < m; S++)
|
|
24659
|
-
b = S % A - y, v = x - (S / A | 0), g[S] = w = h ? Math.abs(h === "y" ? v : b) :
|
|
24660
|
-
n === "random" &&
|
|
24659
|
+
b = S % A - y, v = x - (S / A | 0), g[S] = w = h ? Math.abs(h === "y" ? v : b) : W1(b * b + v * v), w > E && (E = w), w < I && (I = w);
|
|
24660
|
+
n === "random" && oy(g), g.max = E - I, g.min = I, g.v = m = (parseFloat(e.amount) || parseFloat(e.each) * (A > m ? m - 1 : h ? h === "y" ? m / A : A : Math.max(A, m / A)) || 0) * (n === "edges" ? -1 : 1), g.b = m < 0 ? s - m : s, g.u = ye(e.amount || e.each) || 0, r = r && m < 0 ? yy(r) : r;
|
|
24661
24661
|
}
|
|
24662
24662
|
return m = (g[d] - g.min) / g.max || 0, he(g.b + (r ? r(m) : m) * g.v) + g.u;
|
|
24663
24663
|
};
|
|
@@ -24667,7 +24667,7 @@ var He = {
|
|
|
24667
24667
|
var n = he(Math.round(parseFloat(r) / t) * t * e);
|
|
24668
24668
|
return (n - n % 1) / e + (pr(r) ? 0 : ye(r));
|
|
24669
24669
|
};
|
|
24670
|
-
},
|
|
24670
|
+
}, ly = function(t, e) {
|
|
24671
24671
|
var r = xe(t), n, s;
|
|
24672
24672
|
return !r && Hi(t) && (n = r = t.radius || ti, t.values ? (t = ei(t.values), (s = !pr(t[0])) && (n *= n)) : t = Pd(t.increment)), $r(e, r ? Kt(t) ? function(o) {
|
|
24673
24673
|
return s = t(o), Math.abs(s - o) <= n ? s : o;
|
|
@@ -24676,7 +24676,7 @@ var He = {
|
|
|
24676
24676
|
s ? (d = t[u].x - a, f = t[u].y - l, d = d * d + f * f) : d = Math.abs(t[u] - a), d < h && (h = d, c = u);
|
|
24677
24677
|
return c = !n || h <= n ? t[c] : o, s || c === o || pr(o) ? c : c + ye(o);
|
|
24678
24678
|
} : Pd(t));
|
|
24679
|
-
},
|
|
24679
|
+
}, hy = function(t, e, r, n) {
|
|
24680
24680
|
return $r(xe(t) ? !e : r === !0 ? !!(r = 0) : !n, function() {
|
|
24681
24681
|
return xe(t) ? t[~~(Math.random() * t.length)] : (r = r || 1e-5) && (n = r < 1 ? Math.pow(10, (r + "").length - 2) : 1) && Math.floor(Math.round((t - r / 2 + Math.random() * (e - t + r * 0.99)) / r) * r * n) / n;
|
|
24682
24682
|
});
|
|
@@ -24693,26 +24693,26 @@ var He = {
|
|
|
24693
24693
|
return t(parseFloat(r)) + (e || ye(r));
|
|
24694
24694
|
};
|
|
24695
24695
|
}, uE = function(t, e, r) {
|
|
24696
|
-
return
|
|
24697
|
-
},
|
|
24696
|
+
return uy(t, e, 0, 1, r);
|
|
24697
|
+
}, cy = function(t, e, r) {
|
|
24698
24698
|
return $r(r, function(n) {
|
|
24699
24699
|
return t[~~e(n)];
|
|
24700
24700
|
});
|
|
24701
24701
|
}, dE = function i(t, e, r) {
|
|
24702
24702
|
var n = e - t;
|
|
24703
|
-
return xe(t) ?
|
|
24703
|
+
return xe(t) ? cy(t, i(0, t.length), e) : $r(r, function(s) {
|
|
24704
24704
|
return (n + (s - t) % n) % n + t;
|
|
24705
24705
|
});
|
|
24706
24706
|
}, fE = function i(t, e, r) {
|
|
24707
24707
|
var n = e - t, s = n * 2;
|
|
24708
|
-
return xe(t) ?
|
|
24708
|
+
return xe(t) ? cy(t, i(0, t.length - 1), e) : $r(r, function(o) {
|
|
24709
24709
|
return o = (s + (o - t) % s) % s || 0, t + (o > n ? s - o : o);
|
|
24710
24710
|
});
|
|
24711
24711
|
}, jo = function(t) {
|
|
24712
24712
|
for (var e = 0, r = "", n, s, o, a; ~(n = t.indexOf("random(", e)); )
|
|
24713
|
-
o = t.indexOf(")", n), a = t.charAt(n + 7) === "[", s = t.substr(n + 7, o - n - 7).match(a ?
|
|
24713
|
+
o = t.indexOf(")", n), a = t.charAt(n + 7) === "[", s = t.substr(n + 7, o - n - 7).match(a ? K1 : Sd), r += t.substr(e, n - e) + hy(a ? s : +s[0], a ? 0 : +s[1], +s[2] || 1e-5), e = o + 1;
|
|
24714
24714
|
return r + t.substr(e, t.length - e);
|
|
24715
|
-
},
|
|
24715
|
+
}, uy = function(t, e, r, n, s) {
|
|
24716
24716
|
var o = e - t, a = n - r;
|
|
24717
24717
|
return $r(s, function(l) {
|
|
24718
24718
|
return r + ((l - t) / o * a || 0);
|
|
@@ -24759,7 +24759,7 @@ var He = {
|
|
|
24759
24759
|
return l = n[e + "Params"], h = n.callbackScope || t, r && Ur.length && Jl(), a && (Bt = a), c = l ? s.apply(h, l) : s.call(h), Bt = o, c;
|
|
24760
24760
|
}, Ro = function(t) {
|
|
24761
24761
|
return Kr(t), t.scrollTrigger && t.scrollTrigger.kill(!!be), t.progress() < 1 && Ve(t, "onInterrupt"), t;
|
|
24762
|
-
}, _s,
|
|
24762
|
+
}, _s, dy = [], fy = function(t) {
|
|
24763
24763
|
if (t)
|
|
24764
24764
|
if (t = !t.name && t.default || t, gf() || t.headless) {
|
|
24765
24765
|
var e = t.name, r = Kt(t), n = e && !r && t.init ? function() {
|
|
@@ -24783,9 +24783,9 @@ var He = {
|
|
|
24783
24783
|
return;
|
|
24784
24784
|
ri(n, ri($l(t, s), o)), Dn(n.prototype, Dn(s, $l(t, o))), Xe[n.prop = e] = n, t.targetTest && (Sl.push(n), xf[e] = 1), e = (e === "css" ? "CSS" : e.charAt(0).toUpperCase() + e.substr(1)) + "Plugin";
|
|
24785
24785
|
}
|
|
24786
|
-
|
|
24786
|
+
j1(e, n), t.register && t.register(ke, n, Le);
|
|
24787
24787
|
} else
|
|
24788
|
-
|
|
24788
|
+
dy.push(t);
|
|
24789
24789
|
}, Lt = 255, Po = {
|
|
24790
24790
|
aqua: [0, Lt, Lt],
|
|
24791
24791
|
lime: [0, Lt, 0],
|
|
@@ -24808,7 +24808,7 @@ var He = {
|
|
|
24808
24808
|
transparent: [Lt, Lt, Lt, 0]
|
|
24809
24809
|
}, ru = function(t, e, r) {
|
|
24810
24810
|
return t += t < 0 ? 1 : t > 1 ? -1 : 0, (t * 6 < 1 ? e + (r - e) * t * 6 : t < 0.5 ? r : t * 3 < 2 ? e + (r - e) * (2 / 3 - t) * 6 : e) * Lt + 0.5 | 0;
|
|
24811
|
-
},
|
|
24811
|
+
}, py = function(t, e, r) {
|
|
24812
24812
|
var n = t ? pr(t) ? [t >> 16, t >> 8 & Lt, t & Lt] : 0 : Po.black, s, o, a, l, h, c, u, d, f, p;
|
|
24813
24813
|
if (!n) {
|
|
24814
24814
|
if (t.substr(-1) === "," && (t = t.substr(0, t.length - 1)), Po[t])
|
|
@@ -24821,13 +24821,13 @@ var He = {
|
|
|
24821
24821
|
if (n = p = t.match(Sd), !e)
|
|
24822
24822
|
l = +n[0] % 360 / 360, h = +n[1] / 100, c = +n[2] / 100, o = c <= 0.5 ? c * (h + 1) : c + h - c * h, s = c * 2 - o, n.length > 3 && (n[3] *= 1), n[0] = ru(l + 1 / 3, s, o), n[1] = ru(l, s, o), n[2] = ru(l - 1 / 3, s, o);
|
|
24823
24823
|
else if (~t.indexOf("="))
|
|
24824
|
-
return n = t.match(
|
|
24824
|
+
return n = t.match(V1), r && n.length < 4 && (n[3] = 1), n;
|
|
24825
24825
|
} else
|
|
24826
24826
|
n = t.match(Sd) || Po.transparent;
|
|
24827
24827
|
n = n.map(Number);
|
|
24828
24828
|
}
|
|
24829
24829
|
return e && !p && (s = n[0] / Lt, o = n[1] / Lt, a = n[2] / Lt, u = Math.max(s, o, a), d = Math.min(s, o, a), c = (u + d) / 2, u === d ? l = h = 0 : (f = u - d, h = c > 0.5 ? f / (2 - u - d) : f / (u + d), l = u === s ? (o - a) / f + (o < a ? 6 : 0) : u === o ? (a - s) / f + 2 : (s - o) / f + 4, l *= 60), n[0] = ~~(l + 0.5), n[1] = ~~(h * 100 + 0.5), n[2] = ~~(c * 100 + 0.5)), r && n.length < 4 && (n[3] = 1), n;
|
|
24830
|
-
},
|
|
24830
|
+
}, my = function(t) {
|
|
24831
24831
|
var e = [], r = [], n = -1;
|
|
24832
24832
|
return t.split(Xr).forEach(function(s) {
|
|
24833
24833
|
var o = s.match(xs) || [];
|
|
@@ -24838,8 +24838,8 @@ var He = {
|
|
|
24838
24838
|
if (!s)
|
|
24839
24839
|
return t;
|
|
24840
24840
|
if (s = s.map(function(d) {
|
|
24841
|
-
return (d =
|
|
24842
|
-
}), r && (c =
|
|
24841
|
+
return (d = py(d, e, 1)) && o + (e ? d[0] + "," + d[1] + "%," + d[2] + "%," + d[3] : d.join(",")) + ")";
|
|
24842
|
+
}), r && (c = my(t), l = r.c, l.join(n) !== c.c.join(n)))
|
|
24843
24843
|
for (h = t.replace(Xr, "1").split(xs), u = h.length - 1; a < u; a++)
|
|
24844
24844
|
n += h[a] + (~l.indexOf(a) ? s.shift() || o + "0,0,0,0)" : (c.length ? c : s.length ? s : r).shift());
|
|
24845
24845
|
if (!h)
|
|
@@ -24851,10 +24851,10 @@ var He = {
|
|
|
24851
24851
|
for (t in Po)
|
|
24852
24852
|
i += "|" + t + "\\b";
|
|
24853
24853
|
return new RegExp(i + ")", "gi");
|
|
24854
|
-
}(), mE = /hsl[a]?\(/,
|
|
24854
|
+
}(), mE = /hsl[a]?\(/, gy = function(t) {
|
|
24855
24855
|
var e = t.join(" "), r;
|
|
24856
24856
|
if (Xr.lastIndex = 0, Xr.test(e))
|
|
24857
|
-
return r = mE.test(e), t[1] = U0(t[1], r), t[0] = U0(t[0], r,
|
|
24857
|
+
return r = mE.test(e), t[1] = U0(t[1], r), t[0] = U0(t[0], r, my(t[1])), !0;
|
|
24858
24858
|
}, Jo, Ze = function() {
|
|
24859
24859
|
var i = Date.now, t = 500, e = 33, r = i(), n = r, s = 1e3 / 240, o = s, a = [], l, h, c, u, d, f, p = function m(g) {
|
|
24860
24860
|
var y = i() - n, x = g === !0, b, v, w, S;
|
|
@@ -24872,7 +24872,7 @@ var He = {
|
|
|
24872
24872
|
return d / (1e3 / (g || 60));
|
|
24873
24873
|
},
|
|
24874
24874
|
wake: function() {
|
|
24875
|
-
|
|
24875
|
+
z1 && (!Cd && gf() && (Ri = Cd = window, yf = Ri.document || {}, Ke.gsap = ke, (Ri.gsapVersions || (Ri.gsapVersions = [])).push(ke.version), Y1(jl || Ri.GreenSockGlobals || !Ri.gsap && Ri || {}), dy.forEach(fy)), c = typeof requestAnimationFrame < "u" && requestAnimationFrame, l && u.sleep(), h = c || function(g) {
|
|
24876
24876
|
return setTimeout(g, o - u.time * 1e3 + 1 | 0);
|
|
24877
24877
|
}, Jo = 1, p(2));
|
|
24878
24878
|
},
|
|
@@ -24907,12 +24907,12 @@ var He = {
|
|
|
24907
24907
|
return t.substring(e, ~n && n < r ? t.indexOf(")", r + 1) : r);
|
|
24908
24908
|
}, _E = function(t) {
|
|
24909
24909
|
var e = (t + "").split("("), r = Ct[e[0]];
|
|
24910
|
-
return r && e.length > 1 && r.config ? r.config.apply(null, ~t.indexOf("{") ? [bE(e[1])] : xE(t).split(",").map(
|
|
24911
|
-
},
|
|
24910
|
+
return r && e.length > 1 && r.config ? r.config.apply(null, ~t.indexOf("{") ? [bE(e[1])] : xE(t).split(",").map(q1)) : Ct._CE && gE.test(t) ? Ct._CE("", t) : r;
|
|
24911
|
+
}, yy = function(t) {
|
|
24912
24912
|
return function(e) {
|
|
24913
24913
|
return 1 - t(1 - e);
|
|
24914
24914
|
};
|
|
24915
|
-
},
|
|
24915
|
+
}, by = function i(t, e) {
|
|
24916
24916
|
for (var r = t._first, n; r; )
|
|
24917
24917
|
r instanceof ve ? i(r, e) : r.vars.yoyoEase && (!r._yoyo || !r._repeat) && r._yoyo !== e && (r.timeline ? i(r.timeline, e) : (n = r._ease, r._ease = r._yEase, r._yEase = n, r._yoyo = e)), r = r._next;
|
|
24918
24918
|
}, Rn = function(t, e) {
|
|
@@ -24933,7 +24933,7 @@ var He = {
|
|
|
24933
24933
|
for (var l in s)
|
|
24934
24934
|
Ct[o + (l === "easeIn" ? ".in" : l === "easeOut" ? ".out" : ".inOut")] = Ct[a + "." + l] = s[l];
|
|
24935
24935
|
}), s;
|
|
24936
|
-
},
|
|
24936
|
+
}, xy = function(t) {
|
|
24937
24937
|
return function(e) {
|
|
24938
24938
|
return e < 0.5 ? (1 - t(1 - e * 2)) / 2 : 0.5 + t((e - 0.5) * 2) / 2;
|
|
24939
24939
|
};
|
|
@@ -24942,7 +24942,7 @@ var He = {
|
|
|
24942
24942
|
return c === 1 ? 1 : n * Math.pow(2, -10 * c) * YC((c - o) * s) + 1;
|
|
24943
24943
|
}, l = t === "out" ? a : t === "in" ? function(h) {
|
|
24944
24944
|
return 1 - a(1 - h);
|
|
24945
|
-
} :
|
|
24945
|
+
} : xy(a);
|
|
24946
24946
|
return s = Td / s, l.config = function(h, c) {
|
|
24947
24947
|
return i(t, h, c);
|
|
24948
24948
|
}, l;
|
|
@@ -24952,7 +24952,7 @@ var He = {
|
|
|
24952
24952
|
return o ? --o * o * ((e + 1) * o + e) + 1 : 0;
|
|
24953
24953
|
}, n = t === "out" ? r : t === "in" ? function(s) {
|
|
24954
24954
|
return 1 - r(1 - s);
|
|
24955
|
-
} :
|
|
24955
|
+
} : xy(r);
|
|
24956
24956
|
return n.config = function(s) {
|
|
24957
24957
|
return i(t, s);
|
|
24958
24958
|
}, n;
|
|
@@ -24983,7 +24983,7 @@ Wn("Expo", function(i) {
|
|
|
24983
24983
|
return i ? Math.pow(2, 10 * (i - 1)) : 0;
|
|
24984
24984
|
});
|
|
24985
24985
|
Wn("Circ", function(i) {
|
|
24986
|
-
return -(
|
|
24986
|
+
return -(W1(1 - i * i) - 1);
|
|
24987
24987
|
});
|
|
24988
24988
|
Wn("Sine", function(i) {
|
|
24989
24989
|
return i === 1 ? 1 : -zC(i * HC) + 1;
|
|
@@ -25002,8 +25002,8 @@ Bs.ease = Ct["quad.out"];
|
|
|
25002
25002
|
Pe("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt", function(i) {
|
|
25003
25003
|
return _f += i + "," + i + "Params,";
|
|
25004
25004
|
});
|
|
25005
|
-
var
|
|
25006
|
-
this.id = KC++, t._gsap = this, this.target = t, this.harness = e, this.get = e ? e.get : $
|
|
25005
|
+
var _y = function(t, e) {
|
|
25006
|
+
this.id = KC++, t._gsap = this, this.target = t, this.harness = e, this.get = e ? e.get : $1, this.set = e ? e.getSetter : Cf;
|
|
25007
25007
|
}, $o = /* @__PURE__ */ function() {
|
|
25008
25008
|
function i(e) {
|
|
25009
25009
|
this.vars = e, this._delay = +e.delay || 0, (this._repeat = e.repeat === 1 / 0 ? -2 : e.repeat || 0) && (this._rDelay = e.repeatDelay || 0, this._yoyo = !!e.yoyo || !!e.yoyoEase), this._ts = 1, Xs(this, +e.duration, 1, 1), this.data = e.data, Bt && (this._ctx = Bt, Bt.data.push(this)), Jo || Ze.wake();
|
|
@@ -25020,11 +25020,11 @@ var _1 = function(t, e) {
|
|
|
25020
25020
|
return this._tTime;
|
|
25021
25021
|
var s = this._dp;
|
|
25022
25022
|
if (s && s.smoothChildTiming && this._ts) {
|
|
25023
|
-
for (Ah(this, r), !s._dp || s.parent ||
|
|
25023
|
+
for (Ah(this, r), !s._dp || s.parent || iy(s, this); s && s.parent; )
|
|
25024
25024
|
s.parent._time !== s._start + (s._ts >= 0 ? s._tTime / s._ts : (s.totalDuration() - s._tTime) / -s._ts) && s.totalTime(s._tTime, !0), s = s.parent;
|
|
25025
25025
|
!this.parent && this._dp.autoRemoveChildren && (this._ts > 0 && r < this._tDur || this._ts < 0 && r > 0 || !this._tDur && !r) && Gi(this._dp, this, this._start - this._delay);
|
|
25026
25026
|
}
|
|
25027
|
-
return (this._tTime !== r || !this._dur && !n || this._initted && Math.abs(this._zTime) === Gt || !r && !this._initted && (this.add || this._ptLookup)) && (this._ts || (this._pTime = r),
|
|
25027
|
+
return (this._tTime !== r || !this._dur && !n || this._initted && Math.abs(this._zTime) === Gt || !r && !this._initted && (this.add || this._ptLookup)) && (this._ts || (this._pTime = r), Q1(this, r, n)), this;
|
|
25028
25028
|
}, t.time = function(r, n) {
|
|
25029
25029
|
return arguments.length ? this.totalTime(Math.min(this.totalDuration(), r + N0(this)) % (this._dur + this._rDelay) || (r ? this._dur : 0), n) : this._time;
|
|
25030
25030
|
}, t.totalProgress = function(r, n) {
|
|
@@ -25098,7 +25098,7 @@ var _1 = function(t, e) {
|
|
|
25098
25098
|
}, t.then = function(r) {
|
|
25099
25099
|
var n = this;
|
|
25100
25100
|
return new Promise(function(s) {
|
|
25101
|
-
var o = Kt(r) ? r :
|
|
25101
|
+
var o = Kt(r) ? r : ty, a = function() {
|
|
25102
25102
|
var h = n.then;
|
|
25103
25103
|
n.then = null, Kt(o) && (o = o(n)) && (o.then || o === n) && (n.then = h), s(o), n.then = h;
|
|
25104
25104
|
};
|
|
@@ -25129,10 +25129,10 @@ ri($o.prototype, {
|
|
|
25129
25129
|
_rts: 1
|
|
25130
25130
|
});
|
|
25131
25131
|
var ve = /* @__PURE__ */ function(i) {
|
|
25132
|
-
|
|
25132
|
+
X1(t, i);
|
|
25133
25133
|
function t(r, n) {
|
|
25134
25134
|
var s;
|
|
25135
|
-
return r === void 0 && (r = {}), s = i.call(this, r) || this, s.labels = {}, s.smoothChildTiming = !!r.smoothChildTiming, s.autoRemoveChildren = !!r.autoRemoveChildren, s._sort = Re(r.sortChildren), Wt && Gi(r.parent || Wt, ir(s), n), r.reversed && s.reverse(), r.paused && s.paused(!0), r.scrollTrigger &&
|
|
25135
|
+
return r === void 0 && (r = {}), s = i.call(this, r) || this, s.labels = {}, s.smoothChildTiming = !!r.smoothChildTiming, s.autoRemoveChildren = !!r.autoRemoveChildren, s._sort = Re(r.sortChildren), Wt && Gi(r.parent || Wt, ir(s), n), r.reversed && s.reverse(), r.paused && s.paused(!0), r.scrollTrigger && ry(ir(s), r.scrollTrigger), s;
|
|
25136
25136
|
}
|
|
25137
25137
|
var e = t.prototype;
|
|
25138
25138
|
return e.to = function(n, s, o) {
|
|
@@ -25163,7 +25163,7 @@ var ve = /* @__PURE__ */ function(i) {
|
|
|
25163
25163
|
return this;
|
|
25164
25164
|
if (h = this._dur, l = this._tDur, A && (this._lock = 2, a = I ? h : -1e-4, this.render(a, !0), this.vars.repeatRefresh && !E && this.invalidate()), this._lock = 0, !this._ts && !y)
|
|
25165
25165
|
return this;
|
|
25166
|
-
|
|
25166
|
+
by(this, E);
|
|
25167
25167
|
}
|
|
25168
25168
|
}
|
|
25169
25169
|
if (this._hasPause && !this._forcing && this._lock < 2 && (x = sE(this, he(a), he(d)), x && (c -= d - (d = x._start))), this._tTime = c, this._time = d, this._act = !b, this._initted || (this._onUpdate = this.vars.onUpdate, this._initted = 1, this._zTime = n, a = 0), !a && d && !s && !m && (Ve(this, "onStart"), this._tTime !== c))
|
|
@@ -25307,7 +25307,7 @@ var ve = /* @__PURE__ */ function(i) {
|
|
|
25307
25307
|
}
|
|
25308
25308
|
return o._tDur;
|
|
25309
25309
|
}, t.updateRoot = function(n) {
|
|
25310
|
-
if (Wt._ts && (
|
|
25310
|
+
if (Wt._ts && (Q1(Wt, Ql(n, Wt)), J1 = Ze.frame), Ze.frame >= F0) {
|
|
25311
25311
|
F0 += He.autoSleep || 120;
|
|
25312
25312
|
var s = Wt._first;
|
|
25313
25313
|
if ((!s || !s._ts) && He.autoSleep && Ze._listeners.length < 2) {
|
|
@@ -25324,7 +25324,7 @@ ri(ve.prototype, {
|
|
|
25324
25324
|
_forcing: 0
|
|
25325
25325
|
});
|
|
25326
25326
|
var vE = function(t, e, r, n, s, o, a) {
|
|
25327
|
-
var l = new Le(this._pt, t, e, 0, 1,
|
|
25327
|
+
var l = new Le(this._pt, t, e, 0, 1, Ey, null, s), h = 0, c = 0, u, d, f, p, m, g, y, x;
|
|
25328
25328
|
for (l.b = r, l.e = n, r += "", n += "", (y = ~n.indexOf("random(")) && (n = jo(n)), o && (x = [r, n], o(x, t, e), r = x[0], n = x[1]), d = r.match(eu) || []; u = eu.exec(n); )
|
|
25329
25329
|
p = u[0], m = n.substring(h, u.index), f ? f = (f + 1) % 5 : m.substr(-5) === "rgba(" && (f = 1), p !== d[c++] && (g = parseFloat(d[c - 1]) || 0, l._pt = {
|
|
25330
25330
|
_next: l._pt,
|
|
@@ -25334,20 +25334,20 @@ var vE = function(t, e, r, n, s, o, a) {
|
|
|
25334
25334
|
c: p.charAt(1) === "=" ? Ms(g, p) - g : parseFloat(p) - g,
|
|
25335
25335
|
m: f && f < 4 ? Math.round : 0
|
|
25336
25336
|
}, h = eu.lastIndex);
|
|
25337
|
-
return l.c = h < n.length ? n.substring(h, n.length) : "", l.fp = a, (
|
|
25337
|
+
return l.c = h < n.length ? n.substring(h, n.length) : "", l.fp = a, (H1.test(n) || y) && (l.e = 0), this._pt = l, l;
|
|
25338
25338
|
}, wf = function(t, e, r, n, s, o, a, l, h, c) {
|
|
25339
25339
|
Kt(n) && (n = n(s || 0, t, o));
|
|
25340
|
-
var u = t[e], d = r !== "get" ? r : Kt(u) ? h ? t[e.indexOf("set") || !Kt(t["get" + e.substr(3)]) ? e : "get" + e.substr(3)](h) : t[e]() : u, f = Kt(u) ? h ? EE :
|
|
25340
|
+
var u = t[e], d = r !== "get" ? r : Kt(u) ? h ? t[e.indexOf("set") || !Kt(t["get" + e.substr(3)]) ? e : "get" + e.substr(3)](h) : t[e]() : u, f = Kt(u) ? h ? EE : Sy : Sf, p;
|
|
25341
25341
|
if (ce(n) && (~n.indexOf("random(") && (n = jo(n)), n.charAt(1) === "=" && (p = Ms(d, n) + (ye(d) || 0), (p || p === 0) && (n = p))), !c || d !== n || Ld)
|
|
25342
|
-
return !isNaN(d * n) && n !== "" ? (p = new Le(this._pt, t, e, +d || 0, n - (d || 0), typeof u == "boolean" ? AE :
|
|
25342
|
+
return !isNaN(d * n) && n !== "" ? (p = new Le(this._pt, t, e, +d || 0, n - (d || 0), typeof u == "boolean" ? AE : Cy, 0, f), h && (p.fp = h), a && p.modifier(a, this, t), this._pt = p) : (!u && !(e in t) && bf(e, n), vE.call(this, t, e, d, n, f, l || He.stringFilter, h));
|
|
25343
25343
|
}, wE = function(t, e, r, n, s) {
|
|
25344
|
-
if (Kt(t) && (t = Wo(t, s, e, r, n)), !Hi(t) || t.style && t.nodeType || xe(t) ||
|
|
25344
|
+
if (Kt(t) && (t = Wo(t, s, e, r, n)), !Hi(t) || t.style && t.nodeType || xe(t) || Z1(t))
|
|
25345
25345
|
return ce(t) ? Wo(t, s, e, r, n) : t;
|
|
25346
25346
|
var o = {}, a;
|
|
25347
25347
|
for (a in t)
|
|
25348
25348
|
o[a] = Wo(t[a], s, e, r, n);
|
|
25349
25349
|
return o;
|
|
25350
|
-
},
|
|
25350
|
+
}, vy = function(t, e, r, n, s, o) {
|
|
25351
25351
|
var a, l, h, c;
|
|
25352
25352
|
if (Xe[t] && (a = new Xe[t]()).init(s, a.rawVars ? e[t] : wE(e[t], n, s, o, r), r, n, o) !== !1 && (r._pt = l = new Le(r._pt, s, t, 0, 1, a.render, a, 0, a.priority), r !== _s))
|
|
25353
25353
|
for (h = r._ptLookup[r._targets.indexOf(s)], c = a._props.length; c--; )
|
|
@@ -25355,7 +25355,7 @@ var vE = function(t, e, r, n, s, o, a) {
|
|
|
25355
25355
|
return a;
|
|
25356
25356
|
}, Dr, Ld, Tf = function i(t, e, r) {
|
|
25357
25357
|
var n = t.vars, s = n.ease, o = n.startAt, a = n.immediateRender, l = n.lazy, h = n.onUpdate, c = n.runBackwards, u = n.yoyoEase, d = n.keyframes, f = n.autoRevert, p = t._dur, m = t._startAt, g = t._targets, y = t.parent, x = y && y.data === "nested" ? y.vars.targets : g, b = t._overwrite === "auto" && !pf, v = t.timeline, w, S, E, I, A, L, G, F, M, N, W, K, H;
|
|
25358
|
-
if (v && (!d || !s) && (s = "none"), t._ease = Rn(s, Bs.ease), t._yEase = u ?
|
|
25358
|
+
if (v && (!d || !s) && (s = "none"), t._ease = Rn(s, Bs.ease), t._yEase = u ? yy(Rn(u === !0 ? s : u, Bs.ease)) : 0, u && t._yoyo && !t._repeat && (u = t._yEase, t._yEase = t._ease, t._ease = u), t._from = !v && !!n.runBackwards, !v || d && !n.stagger) {
|
|
25359
25359
|
if (F = g[0] ? An(g[0]).harness : 0, K = F && n[F.prop], w = $l(n, xf), m && (m._zTime < 0 && m.progress(1), e < 0 && c && a && !f ? m.render(-1, !0) : m.revert(c && p ? Tl : JC), m._lazy = 0), o) {
|
|
25360
25360
|
if (Kr(t._startAt = Jt.set(g, ri({
|
|
25361
25361
|
data: "isStart",
|
|
@@ -25394,10 +25394,10 @@ var vE = function(t, e, r, n, s, o, a) {
|
|
|
25394
25394
|
N[Y] = I;
|
|
25395
25395
|
}), M.priority && (L = 1)), !F || K)
|
|
25396
25396
|
for (E in w)
|
|
25397
|
-
Xe[E] && (M =
|
|
25397
|
+
Xe[E] && (M = vy(E, w, t, W, A, x)) ? M.priority && (L = 1) : N[E] = I = wf.call(t, A, E, "get", w[E], W, x, 0, n.stringFilter);
|
|
25398
25398
|
t._op && t._op[S] && t.kill(A, t._op[S]), b && t._pt && (Dr = t, Wt.killTweensOf(A, N, t.globalTime(e)), H = !t.parent, Dr = 0), t._pt && l && (Ed[G.id] = 1);
|
|
25399
25399
|
}
|
|
25400
|
-
L &&
|
|
25400
|
+
L && Iy(t), t._onInit && t._onInit(t);
|
|
25401
25401
|
}
|
|
25402
25402
|
t._onUpdate = h, t._initted = (!t._op || t._pt) && !H, d && e <= 0 && v.render(ti, !0, !0);
|
|
25403
25403
|
}, TE = function(t, e, r, n, s, o, a, l) {
|
|
@@ -25442,27 +25442,27 @@ var vE = function(t, e, r, n, s, o, a) {
|
|
|
25442
25442
|
});
|
|
25443
25443
|
}, Wo = function(t, e, r, n, s) {
|
|
25444
25444
|
return Kt(t) ? t.call(e, r, n, s) : ce(t) && ~t.indexOf("random(") ? jo(t) : t;
|
|
25445
|
-
},
|
|
25446
|
-
Pe(
|
|
25447
|
-
return
|
|
25445
|
+
}, wy = _f + "repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert", Ty = {};
|
|
25446
|
+
Pe(wy + ",id,stagger,delay,duration,paused,scrollTrigger", function(i) {
|
|
25447
|
+
return Ty[i] = 1;
|
|
25448
25448
|
});
|
|
25449
25449
|
var Jt = /* @__PURE__ */ function(i) {
|
|
25450
|
-
|
|
25450
|
+
X1(t, i);
|
|
25451
25451
|
function t(r, n, s, o) {
|
|
25452
25452
|
var a;
|
|
25453
25453
|
typeof n == "number" && (s.duration = n, n = s, s = null), a = i.call(this, o ? n : Uo(n)) || this;
|
|
25454
|
-
var l = a.vars, h = l.duration, c = l.delay, u = l.immediateRender, d = l.stagger, f = l.overwrite, p = l.keyframes, m = l.defaults, g = l.scrollTrigger, y = l.yoyoEase, x = n.parent || Wt, b = (xe(r) ||
|
|
25454
|
+
var l = a.vars, h = l.duration, c = l.delay, u = l.immediateRender, d = l.stagger, f = l.overwrite, p = l.keyframes, m = l.defaults, g = l.scrollTrigger, y = l.yoyoEase, x = n.parent || Wt, b = (xe(r) || Z1(r) ? pr(r[0]) : "length" in n) ? [r] : ei(r), v, w, S, E, I, A, L, G;
|
|
25455
25455
|
if (a._targets = b.length ? vf(b) : zo("GSAP target " + r + " not found. https://gsap.com", !He.nullTargetWarn) || [], a._ptLookup = [], a._overwrite = f, p || d || ol(h) || ol(c)) {
|
|
25456
25456
|
if (n = a.vars, v = a.timeline = new ve({
|
|
25457
25457
|
data: "nested",
|
|
25458
25458
|
defaults: m || {},
|
|
25459
25459
|
targets: x && x.data === "nested" ? x.vars.targets : b
|
|
25460
25460
|
}), v.kill(), v.parent = v._dp = ir(a), v._start = 0, d || ol(h) || ol(c)) {
|
|
25461
|
-
if (E = b.length, L = d &&
|
|
25461
|
+
if (E = b.length, L = d && ay(d), Hi(d))
|
|
25462
25462
|
for (I in d)
|
|
25463
|
-
~
|
|
25463
|
+
~wy.indexOf(I) && (G || (G = {}), G[I] = d[I]);
|
|
25464
25464
|
for (w = 0; w < E; w++)
|
|
25465
|
-
S = $l(n,
|
|
25465
|
+
S = $l(n, Ty), S.stagger = 0, y && (S.yoyoEase = y), G && Dn(S, G), A = b[w], S.duration = +Wo(h, ir(a), w, A, b), S.delay = (+Wo(c, ir(a), w, A, b) || 0) - a._delay, !d && E === 1 && S.delay && (a._delay = c = S.delay, a._start += c, S.delay = 0), v.to(A, S, L ? L(w, A, b) : 0), v._ease = Ct.none;
|
|
25466
25466
|
v.duration() ? h = c = 0 : a.timeline = 0;
|
|
25467
25467
|
} else if (p) {
|
|
25468
25468
|
Uo(ri(v.vars.defaults, {
|
|
@@ -25493,7 +25493,7 @@ var Jt = /* @__PURE__ */ function(i) {
|
|
|
25493
25493
|
h || a.duration(h = v.duration());
|
|
25494
25494
|
} else
|
|
25495
25495
|
a.timeline = 0;
|
|
25496
|
-
return f === !0 && !pf && (Dr = ir(a), Wt.killTweensOf(b), Dr = 0), Gi(x, ir(a), s), n.reversed && a.reverse(), n.paused && a.paused(!0), (u || !h && !p && a._start === he(x._time) && Re(u) && iE(ir(a)) && x.data !== "nested") && (a._tTime = -Gt, a.render(Math.max(0, -c) || 0)), g &&
|
|
25496
|
+
return f === !0 && !pf && (Dr = ir(a), Wt.killTweensOf(b), Dr = 0), Gi(x, ir(a), s), n.reversed && a.reverse(), n.paused && a.paused(!0), (u || !h && !p && a._start === he(x._time) && Re(u) && iE(ir(a)) && x.data !== "nested") && (a._tTime = -Gt, a.render(Math.max(0, -c) || 0)), g && ry(ir(a), g), a;
|
|
25497
25497
|
}
|
|
25498
25498
|
var e = t.prototype;
|
|
25499
25499
|
return e.render = function(n, s, o) {
|
|
@@ -25506,10 +25506,10 @@ var Jt = /* @__PURE__ */ function(i) {
|
|
|
25506
25506
|
return this.totalTime(m * 100 + n, s, o);
|
|
25507
25507
|
if (d = he(u % m), u === l ? (p = this._repeat, d = h) : (p = ~~(u / m), p && p === he(u / m) && (d = h, p--), d > h && (d = h)), y = this._yoyo && p & 1, y && (v = this._yEase, d = h - d), g = Us(this._tTime, m), d === a && !o && this._initted && p === g)
|
|
25508
25508
|
return this._tTime = u, this;
|
|
25509
|
-
p !== g && (b && this._yEase &&
|
|
25509
|
+
p !== g && (b && this._yEase && by(b, y), this.vars.repeatRefresh && !y && !this._lock && this._time !== m && this._initted && (this._lock = o = 1, this.render(he(m * p), !0).invalidate()._lock = 0));
|
|
25510
25510
|
}
|
|
25511
25511
|
if (!this._initted) {
|
|
25512
|
-
if (
|
|
25512
|
+
if (ny(this, c ? n : d, o, s, u))
|
|
25513
25513
|
return this._tTime = 0, this;
|
|
25514
25514
|
if (a !== this._time && !(o && this.vars.repeatRefresh && p !== g))
|
|
25515
25515
|
return this;
|
|
@@ -25530,7 +25530,7 @@ var Jt = /* @__PURE__ */ function(i) {
|
|
|
25530
25530
|
}, e.resetTo = function(n, s, o, a, l) {
|
|
25531
25531
|
Jo || Ze.wake(), this._ts || this.play();
|
|
25532
25532
|
var h = Math.min(this._dur, (this._dp._time - this._start) * this._ts), c;
|
|
25533
|
-
return this._initted || Tf(this, h), c = this._ease(h / this._dur), TE(this, n, s, o, a, c, h, l) ? this.resetTo(n, s, o, a, 1) : (Ah(this, 0), this.parent ||
|
|
25533
|
+
return this._initted || Tf(this, h), c = this._ease(h / this._dur), TE(this, n, s, o, a, c, h, l) ? this.resetTo(n, s, o, a, 1) : (Ah(this, 0), this.parent || ey(this._dp, this, "_first", "_last", this._dp._sort ? "_start" : 0), this.render(0));
|
|
25534
25534
|
}, e.kill = function(n, s) {
|
|
25535
25535
|
if (s === void 0 && (s = "all"), !n && (!s || s === "all"))
|
|
25536
25536
|
return this._lazy = this._pt = 0, this.parent ? Ro(this) : this;
|
|
@@ -25589,19 +25589,19 @@ Pe("staggerTo,staggerFrom,staggerFromTo", function(i) {
|
|
|
25589
25589
|
});
|
|
25590
25590
|
var Sf = function(t, e, r) {
|
|
25591
25591
|
return t[e] = r;
|
|
25592
|
-
},
|
|
25592
|
+
}, Sy = function(t, e, r) {
|
|
25593
25593
|
return t[e](r);
|
|
25594
25594
|
}, EE = function(t, e, r, n) {
|
|
25595
25595
|
return t[e](n.fp, r);
|
|
25596
25596
|
}, IE = function(t, e, r) {
|
|
25597
25597
|
return t.setAttribute(e, r);
|
|
25598
25598
|
}, Cf = function(t, e) {
|
|
25599
|
-
return Kt(t[e]) ?
|
|
25600
|
-
},
|
|
25599
|
+
return Kt(t[e]) ? Sy : mf(t[e]) && t.setAttribute ? IE : Sf;
|
|
25600
|
+
}, Cy = function(t, e) {
|
|
25601
25601
|
return e.set(e.t, e.p, Math.round((e.s + e.c * t) * 1e6) / 1e6, e);
|
|
25602
25602
|
}, AE = function(t, e) {
|
|
25603
25603
|
return e.set(e.t, e.p, !!(e.s + e.c * t), e);
|
|
25604
|
-
},
|
|
25604
|
+
}, Ey = function(t, e) {
|
|
25605
25605
|
var r = e._pt, n = "";
|
|
25606
25606
|
if (!t && e.b)
|
|
25607
25607
|
n = e.b;
|
|
@@ -25625,7 +25625,7 @@ var Sf = function(t, e, r) {
|
|
|
25625
25625
|
return !r;
|
|
25626
25626
|
}, PE = function(t, e, r, n) {
|
|
25627
25627
|
n.mSet(t, e, n.m.call(n.tween, r, n.mt), n);
|
|
25628
|
-
},
|
|
25628
|
+
}, Iy = function(t) {
|
|
25629
25629
|
for (var e = t._pt, r, n, s, o; e; ) {
|
|
25630
25630
|
for (r = e._next, n = s; n && n.pr > e.pr; )
|
|
25631
25631
|
n = n._next;
|
|
@@ -25634,7 +25634,7 @@ var Sf = function(t, e, r) {
|
|
|
25634
25634
|
t._pt = s;
|
|
25635
25635
|
}, Le = /* @__PURE__ */ function() {
|
|
25636
25636
|
function i(e, r, n, s, o, a, l, h, c) {
|
|
25637
|
-
this.t = r, this.s = s, this.c = o, this.p = n, this.r = a ||
|
|
25637
|
+
this.t = r, this.s = s, this.c = o, this.p = n, this.r = a || Cy, this.d = l || this, this.set = h || Sf, this.pr = c || 0, this._next = e, e && (e._prev = this);
|
|
25638
25638
|
}
|
|
25639
25639
|
var t = i.prototype;
|
|
25640
25640
|
return t.modifier = function(r, n, s) {
|
|
@@ -25653,7 +25653,7 @@ Wt = new ve({
|
|
|
25653
25653
|
id: "root",
|
|
25654
25654
|
smoothChildTiming: !0
|
|
25655
25655
|
});
|
|
25656
|
-
He.stringFilter =
|
|
25656
|
+
He.stringFilter = gy;
|
|
25657
25657
|
var Pn = [], Cl = {}, LE = [], X0 = 0, GE = 0, ou = function(t) {
|
|
25658
25658
|
return (Cl[t] || LE).map(function(e) {
|
|
25659
25659
|
return e();
|
|
@@ -25670,7 +25670,7 @@ var Pn = [], Cl = {}, LE = [], X0 = 0, GE = 0, ou = function(t) {
|
|
|
25670
25670
|
return r.add(null, n);
|
|
25671
25671
|
});
|
|
25672
25672
|
}), X0 = t, ou("matchMedia"));
|
|
25673
|
-
},
|
|
25673
|
+
}, Ay = /* @__PURE__ */ function() {
|
|
25674
25674
|
function i(e, r) {
|
|
25675
25675
|
this.selector = r && Rd(r), this.data = [], this._r = [], this.isReverted = !1, this.id = GE++, e && this.add(e);
|
|
25676
25676
|
}
|
|
@@ -25732,7 +25732,7 @@ var Pn = [], Cl = {}, LE = [], X0 = 0, GE = 0, ou = function(t) {
|
|
|
25732
25732
|
Hi(r) || (r = {
|
|
25733
25733
|
matches: r
|
|
25734
25734
|
});
|
|
25735
|
-
var o = new
|
|
25735
|
+
var o = new Ay(0, s || this.scope), a = o.conditions = {}, l, h, c;
|
|
25736
25736
|
Bt && !o.selector && (o.selector = Bt.selector), this.contexts.push(o), n = o.add("onMatch", n), o.queries = r;
|
|
25737
25737
|
for (h in r)
|
|
25738
25738
|
h === "all" ? c = 1 : (l = Ri.matchMedia(r[h]), l && (Pn.indexOf(o) < 0 && Pn.push(o), (a[h] = l.matches) && (c = 1), l.addListener ? l.addListener(Gd) : l.addEventListener("change", Gd)));
|
|
@@ -25751,7 +25751,7 @@ var Pn = [], Cl = {}, LE = [], X0 = 0, GE = 0, ou = function(t) {
|
|
|
25751
25751
|
for (var t = arguments.length, e = new Array(t), r = 0; r < t; r++)
|
|
25752
25752
|
e[r] = arguments[r];
|
|
25753
25753
|
e.forEach(function(n) {
|
|
25754
|
-
return
|
|
25754
|
+
return fy(n);
|
|
25755
25755
|
});
|
|
25756
25756
|
},
|
|
25757
25757
|
timeline: function(t) {
|
|
@@ -25762,7 +25762,7 @@ var Pn = [], Cl = {}, LE = [], X0 = 0, GE = 0, ou = function(t) {
|
|
|
25762
25762
|
},
|
|
25763
25763
|
getProperty: function(t, e, r, n) {
|
|
25764
25764
|
ce(t) && (t = ei(t)[0]);
|
|
25765
|
-
var s = An(t || {}).get, o = r ?
|
|
25765
|
+
var s = An(t || {}).get, o = r ? ty : q1;
|
|
25766
25766
|
return r === "native" && (r = ""), t && (e ? o((Xe[e] && Xe[e].get || s)(t, e, r, n)) : function(a, l, h) {
|
|
25767
25767
|
return o((Xe[a] && Xe[a].get || s)(t, a, l, h));
|
|
25768
25768
|
});
|
|
@@ -25828,7 +25828,7 @@ var Pn = [], Cl = {}, LE = [], X0 = 0, GE = 0, ou = function(t) {
|
|
|
25828
25828
|
return Gi(Wt, r, 0), r;
|
|
25829
25829
|
},
|
|
25830
25830
|
context: function(t, e) {
|
|
25831
|
-
return t ? new
|
|
25831
|
+
return t ? new Ay(t, e) : Bt;
|
|
25832
25832
|
},
|
|
25833
25833
|
matchMedia: function(t) {
|
|
25834
25834
|
return new kE(t);
|
|
@@ -25852,22 +25852,22 @@ var Pn = [], Cl = {}, LE = [], X0 = 0, GE = 0, ou = function(t) {
|
|
|
25852
25852
|
utils: {
|
|
25853
25853
|
wrap: dE,
|
|
25854
25854
|
wrapYoyo: fE,
|
|
25855
|
-
distribute:
|
|
25856
|
-
random:
|
|
25857
|
-
snap:
|
|
25855
|
+
distribute: ay,
|
|
25856
|
+
random: hy,
|
|
25857
|
+
snap: ly,
|
|
25858
25858
|
normalize: uE,
|
|
25859
25859
|
getUnit: ye,
|
|
25860
25860
|
clamp: aE,
|
|
25861
|
-
splitColor:
|
|
25861
|
+
splitColor: py,
|
|
25862
25862
|
toArray: ei,
|
|
25863
25863
|
selector: Rd,
|
|
25864
|
-
mapRange:
|
|
25864
|
+
mapRange: uy,
|
|
25865
25865
|
pipe: hE,
|
|
25866
25866
|
unitize: cE,
|
|
25867
25867
|
interpolate: pE,
|
|
25868
|
-
shuffle:
|
|
25868
|
+
shuffle: oy
|
|
25869
25869
|
},
|
|
25870
|
-
install:
|
|
25870
|
+
install: Y1,
|
|
25871
25871
|
effects: iu,
|
|
25872
25872
|
ticker: Ze,
|
|
25873
25873
|
updateRoot: ve.updateRoot,
|
|
@@ -25875,7 +25875,7 @@ var Pn = [], Cl = {}, LE = [], X0 = 0, GE = 0, ou = function(t) {
|
|
|
25875
25875
|
globalTimeline: Wt,
|
|
25876
25876
|
core: {
|
|
25877
25877
|
PropTween: Le,
|
|
25878
|
-
globals:
|
|
25878
|
+
globals: j1,
|
|
25879
25879
|
Tween: Jt,
|
|
25880
25880
|
Timeline: ve,
|
|
25881
25881
|
Animation: $o,
|
|
@@ -25946,9 +25946,9 @@ var FE = function(t, e) {
|
|
|
25946
25946
|
for (var r = e.length; r--; )
|
|
25947
25947
|
this.add(t, r, t[r] || 0, e[r], 0, 0, 0, 0, 0, 1);
|
|
25948
25948
|
}
|
|
25949
|
-
}, au("roundProps", Pd), au("modifiers"), au("snap",
|
|
25949
|
+
}, au("roundProps", Pd), au("modifiers"), au("snap", ly)) || ql;
|
|
25950
25950
|
Jt.version = ve.version = ke.version = "3.12.5";
|
|
25951
|
-
|
|
25951
|
+
z1 = 1;
|
|
25952
25952
|
gf() && Ws();
|
|
25953
25953
|
Ct.Power0;
|
|
25954
25954
|
Ct.Power1;
|
|
@@ -25992,9 +25992,9 @@ var W0, Nr, Rs, If, wn, Z0, Af, NE = function() {
|
|
|
25992
25992
|
}, WE = function(t, e) {
|
|
25993
25993
|
var r = e.s + e.c * t;
|
|
25994
25994
|
e.set(e.t, e.p, ~~(r + (r < 0 ? -0.5 : 0.5)) + e.u, e);
|
|
25995
|
-
},
|
|
25995
|
+
}, My = function(t, e) {
|
|
25996
25996
|
return e.set(e.t, e.p, t ? e.e : e.b, e);
|
|
25997
|
-
},
|
|
25997
|
+
}, Ry = function(t, e) {
|
|
25998
25998
|
return e.set(e.t, e.p, t !== 1 ? e.b : e.e, e);
|
|
25999
25999
|
}, ZE = function(t, e, r) {
|
|
26000
26000
|
return t.style[e] = r;
|
|
@@ -26026,7 +26026,7 @@ var W0, Nr, Rs, If, wn, Z0, Af, NE = function() {
|
|
|
26026
26026
|
o.svg && (this.svgo = n.getAttribute("data-svg-origin"), this.props.push(Ge, e, "")), t = Vt;
|
|
26027
26027
|
}
|
|
26028
26028
|
(s || e) && this.props.push(t, e, s[t]);
|
|
26029
|
-
},
|
|
26029
|
+
}, Py = function(t) {
|
|
26030
26030
|
t.translate && (t.removeProperty("translate"), t.removeProperty("scale"), t.removeProperty("rotate"));
|
|
26031
26031
|
}, JE = function() {
|
|
26032
26032
|
var t = this.props, e = this.target, r = e.style, n = e._gsap, s, o;
|
|
@@ -26035,9 +26035,9 @@ var W0, Nr, Rs, If, wn, Z0, Af, NE = function() {
|
|
|
26035
26035
|
if (this.tfm) {
|
|
26036
26036
|
for (o in this.tfm)
|
|
26037
26037
|
n[o] = this.tfm[o];
|
|
26038
|
-
n.svg && (n.renderTransform(), e.setAttribute("data-svg-origin", this.svgo || "")), s = Af(), (!s || !s.isStart) && !r[Vt] && (
|
|
26038
|
+
n.svg && (n.renderTransform(), e.setAttribute("data-svg-origin", this.svgo || "")), s = Af(), (!s || !s.isStart) && !r[Vt] && (Py(r), n.zOrigin && r[Ge] && (r[Ge] += " " + n.zOrigin + "px", n.zOrigin = 0, n.renderTransform()), n.uncache = 1);
|
|
26039
26039
|
}
|
|
26040
|
-
},
|
|
26040
|
+
}, Ly = function(t, e) {
|
|
26041
26041
|
var r = {
|
|
26042
26042
|
target: t,
|
|
26043
26043
|
props: [],
|
|
@@ -26047,7 +26047,7 @@ var W0, Nr, Rs, If, wn, Z0, Af, NE = function() {
|
|
|
26047
26047
|
return t._gsap || ke.core.getCache(t), e && e.split(",").forEach(function(n) {
|
|
26048
26048
|
return r.save(n);
|
|
26049
26049
|
}), r;
|
|
26050
|
-
},
|
|
26050
|
+
}, Gy, Fd = function(t, e) {
|
|
26051
26051
|
var r = Nr.createElementNS ? Nr.createElementNS((e || "http://www.w3.org/1999/xhtml").replace(/^https/, "http"), t) : Nr.createElement(t);
|
|
26052
26052
|
return r && r.style ? r : Nr.createElement(t);
|
|
26053
26053
|
}, Wi = function i(t, e, r) {
|
|
@@ -26063,7 +26063,7 @@ var W0, Nr, Rs, If, wn, Z0, Af, NE = function() {
|
|
|
26063
26063
|
}, Dd = function() {
|
|
26064
26064
|
NE() && window.document && (W0 = window, Nr = W0.document, Rs = Nr.documentElement, wn = Fd("div") || {
|
|
26065
26065
|
style: {}
|
|
26066
|
-
}, Fd("div"), Vt = Zs(Vt), Ge = Vt + "Origin", wn.style.cssText = "border-width:0;line-height:0;position:absolute;padding:0",
|
|
26066
|
+
}, Fd("div"), Vt = Zs(Vt), Ge = Vt + "Origin", wn.style.cssText = "border-width:0;line-height:0;position:absolute;padding:0", Gy = !!Zs("perspective"), Af = ke.core.reverting, If = 1);
|
|
26067
26067
|
}, lu = function i(t) {
|
|
26068
26068
|
var e = Fd("svg", this.ownerSVGElement && this.ownerSVGElement.getAttribute("xmlns") || "http://www.w3.org/2000/svg"), r = this.parentNode, n = this.nextSibling, s = this.style.cssText, o;
|
|
26069
26069
|
if (Rs.appendChild(e), e.appendChild(this), this.style.display = "block", t)
|
|
@@ -26078,7 +26078,7 @@ var W0, Nr, Rs, If, wn, Z0, Af, NE = function() {
|
|
|
26078
26078
|
for (var r = e.length; r--; )
|
|
26079
26079
|
if (t.hasAttribute(e[r]))
|
|
26080
26080
|
return t.getAttribute(e[r]);
|
|
26081
|
-
},
|
|
26081
|
+
}, ky = function(t) {
|
|
26082
26082
|
var e;
|
|
26083
26083
|
try {
|
|
26084
26084
|
e = t.getBBox();
|
|
@@ -26091,15 +26091,15 @@ var W0, Nr, Rs, If, wn, Z0, Af, NE = function() {
|
|
|
26091
26091
|
width: 0,
|
|
26092
26092
|
height: 0
|
|
26093
26093
|
} : e;
|
|
26094
|
-
},
|
|
26095
|
-
return !!(t.getCTM && (!t.parentNode || t.ownerSVGElement) &&
|
|
26094
|
+
}, Fy = function(t) {
|
|
26095
|
+
return !!(t.getCTM && (!t.parentNode || t.ownerSVGElement) && ky(t));
|
|
26096
26096
|
}, Nn = function(t, e) {
|
|
26097
26097
|
if (e) {
|
|
26098
26098
|
var r = t.style, n;
|
|
26099
26099
|
e in mr && e !== Ge && (e = Vt), r.removeProperty ? (n = e.substr(0, 2), (n === "ms" || e.substr(0, 6) === "webkit") && (e = "-" + e), r.removeProperty(n === "--" ? e : e.replace(Mf, "-$1").toLowerCase())) : r.removeAttribute(e);
|
|
26100
26100
|
}
|
|
26101
26101
|
}, Or = function(t, e, r, n, s, o) {
|
|
26102
|
-
var a = new Le(t._pt, e, r, 0, 1, o ?
|
|
26102
|
+
var a = new Le(t._pt, e, r, 0, 1, o ? Ry : My);
|
|
26103
26103
|
return t._pt = a, a.b = n, a.e = s, t._props.push(r), a;
|
|
26104
26104
|
}, z0 = {
|
|
26105
26105
|
deg: 1,
|
|
@@ -26112,7 +26112,7 @@ var W0, Nr, Rs, If, wn, Z0, Af, NE = function() {
|
|
|
26112
26112
|
var s = parseFloat(r) || 0, o = (r + "").trim().substr((s + "").length) || "px", a = wn.style, l = OE.test(e), h = t.tagName.toLowerCase() === "svg", c = (h ? "client" : "offset") + (l ? "Width" : "Height"), u = 100, d = n === "px", f = n === "%", p, m, g, y;
|
|
26113
26113
|
if (n === o || !s || z0[n] || z0[o])
|
|
26114
26114
|
return s;
|
|
26115
|
-
if (o !== "px" && !d && (s = i(t, e, r, "px")), y = t.getCTM &&
|
|
26115
|
+
if (o !== "px" && !d && (s = i(t, e, r, "px")), y = t.getCTM && Fy(t), (f || o === "%") && (mr[e] || ~e.indexOf("adius")))
|
|
26116
26116
|
return p = y ? t.getBBox()[l ? "width" : "height"] : t[c], zt(f ? s / p * u : s / 100 * p);
|
|
26117
26117
|
if (a[l ? "width" : "height"] = u + (d ? o : n), m = ~e.indexOf("adius") || n === "em" && t.appendChild && !h ? t : t.parentNode, y && (m = (t.ownerSVGElement || {}).parentNode), (!m || m === Nr || !m.appendChild) && (m = Nr.body), g = m._gsap, g && f && g.width && l && g.time === Ze.time && !g.uncache)
|
|
26118
26118
|
return zt(s / g.width * u);
|
|
@@ -26124,14 +26124,14 @@ var W0, Nr, Rs, If, wn, Z0, Af, NE = function() {
|
|
|
26124
26124
|
return l && f && (g = An(m), g.time = Ze.time, g.width = m[c]), zt(d ? p * s / u : p && s ? u / p * s : 0);
|
|
26125
26125
|
}, nr = function(t, e, r, n) {
|
|
26126
26126
|
var s;
|
|
26127
|
-
return If || Dd(), e in Di && e !== "transform" && (e = Di[e], ~e.indexOf(",") && (e = e.split(",")[0])), mr[e] && e !== "transform" ? (s = qo(t, n), s = e !== "transformOrigin" ? s[e] : s.svg ? s.origin : eh(Wi(t, Ge)) + " " + s.zOrigin + "px") : (s = t.style[e], (!s || s === "auto" || n || ~(s + "").indexOf("calc(")) && (s = th[e] && th[e](t, e, r) || Wi(t, e) || $
|
|
26127
|
+
return If || Dd(), e in Di && e !== "transform" && (e = Di[e], ~e.indexOf(",") && (e = e.split(",")[0])), mr[e] && e !== "transform" ? (s = qo(t, n), s = e !== "transformOrigin" ? s[e] : s.svg ? s.origin : eh(Wi(t, Ge)) + " " + s.zOrigin + "px") : (s = t.style[e], (!s || s === "auto" || n || ~(s + "").indexOf("calc(")) && (s = th[e] && th[e](t, e, r) || Wi(t, e) || $1(t, e) || (e === "opacity" ? 1 : 0))), r && !~(s + "").trim().indexOf(" ") ? zr(t, e, s, r) + r : s;
|
|
26128
26128
|
}, QE = function(t, e, r, n) {
|
|
26129
26129
|
if (!r || r === "none") {
|
|
26130
26130
|
var s = Zs(e, t, 1), o = s && Wi(t, s, 1);
|
|
26131
26131
|
o && o !== r ? (e = s, r = o) : e === "borderColor" && (r = Wi(t, "borderTopColor"));
|
|
26132
26132
|
}
|
|
26133
|
-
var a = new Le(this._pt, t.style, e, 0, 1,
|
|
26134
|
-
if (a.b = r, a.e = n, r += "", n += "", n === "auto" && (m = t.style[e], t.style[e] = n, n = Wi(t, e) || n, m ? t.style[e] = m : Nn(t, e)), c = [r, n],
|
|
26133
|
+
var a = new Le(this._pt, t.style, e, 0, 1, Ey), l = 0, h = 0, c, u, d, f, p, m, g, y, x, b, v, w;
|
|
26134
|
+
if (a.b = r, a.e = n, r += "", n += "", n === "auto" && (m = t.style[e], t.style[e] = n, n = Wi(t, e) || n, m ? t.style[e] = m : Nn(t, e)), c = [r, n], gy(c), r = c[0], n = c[1], d = r.match(xs) || [], w = n.match(xs) || [], w.length) {
|
|
26135
26135
|
for (; u = xs.exec(n); )
|
|
26136
26136
|
g = u[0], x = n.substring(l, u.index), p ? p = (p + 1) % 5 : (x.substr(-5) === "rgba(" || x.substr(-5) === "hsla(") && (p = 1), g !== (m = d[h++] || "") && (f = parseFloat(m) || 0, v = m.substr((f + "").length), g.charAt(1) === "=" && (g = Ms(f, g) + v), y = parseFloat(g), b = g.substr((y + "").length), l = xs.lastIndex - b.length, b || (b = b || He.units[e] || v, l === n.length && (n += b, a.e += b)), v !== b && (f = zr(t, e, m, b) || 0), a._pt = {
|
|
26137
26137
|
_next: a._pt,
|
|
@@ -26143,8 +26143,8 @@ var W0, Nr, Rs, If, wn, Z0, Af, NE = function() {
|
|
|
26143
26143
|
});
|
|
26144
26144
|
a.c = l < n.length ? n.substring(l, n.length) : "";
|
|
26145
26145
|
} else
|
|
26146
|
-
a.r = e === "display" && n === "none" ?
|
|
26147
|
-
return
|
|
26146
|
+
a.r = e === "display" && n === "none" ? Ry : My;
|
|
26147
|
+
return H1.test(n) && (a.e = 0), this._pt = a, a;
|
|
26148
26148
|
}, Y0 = {
|
|
26149
26149
|
top: "0%",
|
|
26150
26150
|
bottom: "100%",
|
|
@@ -26162,7 +26162,7 @@ var W0, Nr, Rs, If, wn, Z0, Af, NE = function() {
|
|
|
26162
26162
|
else
|
|
26163
26163
|
for (s = s.split(","), h = s.length; --h > -1; )
|
|
26164
26164
|
a = s[h], mr[a] && (l = 1, a = a === "transformOrigin" ? Ge : Vt), Nn(r, a);
|
|
26165
|
-
l && (Nn(r, Vt), o && (o.svg && r.removeAttribute("transform"), qo(r, 1), o.uncache = 1,
|
|
26165
|
+
l && (Nn(r, Vt), o && (o.svg && r.removeAttribute("transform"), qo(r, 1), o.uncache = 1, Py(n)));
|
|
26166
26166
|
}
|
|
26167
26167
|
}, th = {
|
|
26168
26168
|
clearProps: function(t, e, r, n, s) {
|
|
@@ -26234,31 +26234,31 @@ var W0, Nr, Rs, If, wn, Z0, Af, NE = function() {
|
|
|
26234
26234
|
return 1;
|
|
26235
26235
|
}
|
|
26236
26236
|
*/
|
|
26237
|
-
}, Qo = [1, 0, 0, 1, 0, 0],
|
|
26237
|
+
}, Qo = [1, 0, 0, 1, 0, 0], Dy = {}, Ny = function(t) {
|
|
26238
26238
|
return t === "matrix(1, 0, 0, 1, 0, 0)" || t === "none" || !t;
|
|
26239
26239
|
}, j0 = function(t) {
|
|
26240
26240
|
var e = Wi(t, Vt);
|
|
26241
|
-
return
|
|
26241
|
+
return Ny(e) ? Qo : e.substr(7).match(V1).map(zt);
|
|
26242
26242
|
}, Rf = function(t, e) {
|
|
26243
26243
|
var r = t._gsap || An(t), n = t.style, s = j0(t), o, a, l, h;
|
|
26244
26244
|
return r.svg && t.getAttribute("transform") ? (l = t.transform.baseVal.consolidate().matrix, s = [l.a, l.b, l.c, l.d, l.e, l.f], s.join(",") === "1,0,0,1,0,0" ? Qo : s) : (s === Qo && !t.offsetParent && t !== Rs && !r.svg && (l = n.display, n.display = "block", o = t.parentNode, (!o || !t.offsetParent) && (h = 1, a = t.nextElementSibling, Rs.appendChild(t)), s = j0(t), l ? n.display = l : Nn(t, "display"), h && (a ? o.insertBefore(t, a) : o ? o.appendChild(t) : Rs.removeChild(t))), e && s.length > 6 ? [s[0], s[1], s[4], s[5], s[12], s[13]] : s);
|
|
26245
26245
|
}, Nd = function(t, e, r, n, s, o) {
|
|
26246
26246
|
var a = t._gsap, l = s || Rf(t, !0), h = a.xOrigin || 0, c = a.yOrigin || 0, u = a.xOffset || 0, d = a.yOffset || 0, f = l[0], p = l[1], m = l[2], g = l[3], y = l[4], x = l[5], b = e.split(" "), v = parseFloat(b[0]) || 0, w = parseFloat(b[1]) || 0, S, E, I, A;
|
|
26247
|
-
r ? l !== Qo && (E = f * g - p * m) && (I = v * (g / E) + w * (-m / E) + (m * x - g * y) / E, A = v * (-p / E) + w * (f / E) - (f * x - p * y) / E, v = I, w = A) : (S =
|
|
26247
|
+
r ? l !== Qo && (E = f * g - p * m) && (I = v * (g / E) + w * (-m / E) + (m * x - g * y) / E, A = v * (-p / E) + w * (f / E) - (f * x - p * y) / E, v = I, w = A) : (S = ky(t), v = S.x + (~b[0].indexOf("%") ? v / 100 * S.width : v), w = S.y + (~(b[1] || b[0]).indexOf("%") ? w / 100 * S.height : w)), n || n !== !1 && a.smooth ? (y = v - h, x = w - c, a.xOffset = u + (y * f + x * m) - y, a.yOffset = d + (y * p + x * g) - x) : a.xOffset = a.yOffset = 0, a.xOrigin = v, a.yOrigin = w, a.smooth = !!n, a.origin = e, a.originIsAbsolute = !!r, t.style[Ge] = "0px 0px", o && (Or(o, a, "xOrigin", h, v), Or(o, a, "yOrigin", c, w), Or(o, a, "xOffset", u, a.xOffset), Or(o, a, "yOffset", d, a.yOffset)), t.setAttribute("data-svg-origin", v + " " + w);
|
|
26248
26248
|
}, qo = function(t, e) {
|
|
26249
|
-
var r = t._gsap || new
|
|
26249
|
+
var r = t._gsap || new _y(t);
|
|
26250
26250
|
if ("x" in r && !e && !r.uncache)
|
|
26251
26251
|
return r;
|
|
26252
26252
|
var n = t.style, s = r.scaleX < 0, o = "px", a = "deg", l = getComputedStyle(t), h = Wi(t, Ge) || "0", c, u, d, f, p, m, g, y, x, b, v, w, S, E, I, A, L, G, F, M, N, W, K, H, Y, B, D, k, V, tt, ut, nt;
|
|
26253
|
-
return c = u = d = m = g = y = x = b = v = 0, f = p = 1, r.svg = !!(t.getCTM &&
|
|
26253
|
+
return c = u = d = m = g = y = x = b = v = 0, f = p = 1, r.svg = !!(t.getCTM && Fy(t)), l.translate && ((l.translate !== "none" || l.scale !== "none" || l.rotate !== "none") && (n[Vt] = (l.translate !== "none" ? "translate3d(" + (l.translate + " 0 0").split(" ").slice(0, 3).join(", ") + ") " : "") + (l.rotate !== "none" ? "rotate(" + l.rotate + ") " : "") + (l.scale !== "none" ? "scale(" + l.scale.split(" ").join(",") + ") " : "") + (l[Vt] !== "none" ? l[Vt] : "")), n.scale = n.rotate = n.translate = "none"), E = Rf(t, r.svg), r.svg && (r.uncache ? (Y = t.getBBox(), h = r.xOrigin - Y.x + "px " + (r.yOrigin - Y.y) + "px", H = "") : H = !e && t.getAttribute("data-svg-origin"), Nd(t, H || h, !!H || r.originIsAbsolute, r.smooth !== !1, E)), w = r.xOrigin || 0, S = r.yOrigin || 0, E !== Qo && (G = E[0], F = E[1], M = E[2], N = E[3], c = W = E[4], u = K = E[5], E.length === 6 ? (f = Math.sqrt(G * G + F * F), p = Math.sqrt(N * N + M * M), m = G || F ? os(F, G) * bn : 0, x = M || N ? os(M, N) * bn + m : 0, x && (p *= Math.abs(Math.cos(x * Ps))), r.svg && (c -= w - (w * G + S * M), u -= S - (w * F + S * N))) : (nt = E[6], tt = E[7], D = E[8], k = E[9], V = E[10], ut = E[11], c = E[12], u = E[13], d = E[14], I = os(nt, V), g = I * bn, I && (A = Math.cos(-I), L = Math.sin(-I), H = W * A + D * L, Y = K * A + k * L, B = nt * A + V * L, D = W * -L + D * A, k = K * -L + k * A, V = nt * -L + V * A, ut = tt * -L + ut * A, W = H, K = Y, nt = B), I = os(-M, V), y = I * bn, I && (A = Math.cos(-I), L = Math.sin(-I), H = G * A - D * L, Y = F * A - k * L, B = M * A - V * L, ut = N * L + ut * A, G = H, F = Y, M = B), I = os(F, G), m = I * bn, I && (A = Math.cos(I), L = Math.sin(I), H = G * A + F * L, Y = W * A + K * L, F = F * A - G * L, K = K * A - W * L, G = H, W = Y), g && Math.abs(g) + Math.abs(m) > 359.9 && (g = m = 0, y = 180 - y), f = zt(Math.sqrt(G * G + F * F + M * M)), p = zt(Math.sqrt(K * K + nt * nt)), I = os(W, K), x = Math.abs(I) > 2e-4 ? I * bn : 0, v = ut ? 1 / (ut < 0 ? -ut : ut) : 0), r.svg && (H = t.getAttribute("transform"), r.forceCSS = t.setAttribute("transform", "") || !Ny(Wi(t, Vt)), H && t.setAttribute("transform", H))), Math.abs(x) > 90 && Math.abs(x) < 270 && (s ? (f *= -1, x += m <= 0 ? 180 : -180, m += m <= 0 ? 180 : -180) : (p *= -1, x += x <= 0 ? 180 : -180)), e = e || r.uncache, r.x = c - ((r.xPercent = c && (!e && r.xPercent || (Math.round(t.offsetWidth / 2) === Math.round(-c) ? -50 : 0))) ? t.offsetWidth * r.xPercent / 100 : 0) + o, r.y = u - ((r.yPercent = u && (!e && r.yPercent || (Math.round(t.offsetHeight / 2) === Math.round(-u) ? -50 : 0))) ? t.offsetHeight * r.yPercent / 100 : 0) + o, r.z = d + o, r.scaleX = zt(f), r.scaleY = zt(p), r.rotation = zt(m) + a, r.rotationX = zt(g) + a, r.rotationY = zt(y) + a, r.skewX = x + a, r.skewY = b + a, r.transformPerspective = v + o, (r.zOrigin = parseFloat(h.split(" ")[2]) || !e && r.zOrigin || 0) && (n[Ge] = eh(h)), r.xOffset = r.yOffset = 0, r.force3D = He.force3D, r.renderTransform = r.svg ? iI : Gy ? Oy : eI, r.uncache = 0, r;
|
|
26254
26254
|
}, eh = function(t) {
|
|
26255
26255
|
return (t = t.split(" "))[0] + " " + t[1];
|
|
26256
26256
|
}, hu = function(t, e, r) {
|
|
26257
26257
|
var n = ye(e);
|
|
26258
26258
|
return zt(parseFloat(e) + parseFloat(zr(t, "x", r + "px", n))) + n;
|
|
26259
26259
|
}, eI = function(t, e) {
|
|
26260
|
-
e.z = "0px", e.rotationY = e.rotationX = "0deg", e.force3D = 0,
|
|
26261
|
-
}, hn = "0deg", go = "0px", cn = ") ",
|
|
26260
|
+
e.z = "0px", e.rotationY = e.rotationX = "0deg", e.force3D = 0, Oy(t, e);
|
|
26261
|
+
}, hn = "0deg", go = "0px", cn = ") ", Oy = function(t, e) {
|
|
26262
26262
|
var r = e || this, n = r.xPercent, s = r.yPercent, o = r.x, a = r.y, l = r.z, h = r.rotation, c = r.rotationY, u = r.rotationX, d = r.skewX, f = r.skewY, p = r.scaleX, m = r.scaleY, g = r.transformPerspective, y = r.force3D, x = r.target, b = r.zOrigin, v = "", w = y === "auto" && t && t !== 1 || y === !0;
|
|
26263
26263
|
if (b && (u !== hn || c !== hn)) {
|
|
26264
26264
|
var S = parseFloat(c) * Ps, E = Math.sin(S), I = Math.cos(S), A;
|
|
@@ -26297,7 +26297,7 @@ Pe("padding,margin,Width,Radius", function(i, t) {
|
|
|
26297
26297
|
}), a.init(l, f, u);
|
|
26298
26298
|
};
|
|
26299
26299
|
});
|
|
26300
|
-
var
|
|
26300
|
+
var By = {
|
|
26301
26301
|
name: "css",
|
|
26302
26302
|
register: Dd,
|
|
26303
26303
|
targetTest: function(t) {
|
|
@@ -26305,9 +26305,9 @@ var B1 = {
|
|
|
26305
26305
|
},
|
|
26306
26306
|
init: function(t, e, r, n, s) {
|
|
26307
26307
|
var o = this._props, a = t.style, l = r.vars.startAt, h, c, u, d, f, p, m, g, y, x, b, v, w, S, E, I;
|
|
26308
|
-
If || Dd(), this.styles = this.styles ||
|
|
26308
|
+
If || Dd(), this.styles = this.styles || Ly(t), I = this.styles.props, this.tween = r;
|
|
26309
26309
|
for (m in e)
|
|
26310
|
-
if (m !== "autoRound" && (c = e[m], !(Xe[m] &&
|
|
26310
|
+
if (m !== "autoRound" && (c = e[m], !(Xe[m] && vy(m, e, r, n, t, s)))) {
|
|
26311
26311
|
if (f = typeof c, p = th[m], f === "function" && (c = c.call(r, n, t, s), f = typeof c), f === "string" && ~c.indexOf("random(") && (c = jo(c)), p)
|
|
26312
26312
|
p(this, t, m, c, r) && (E = 1);
|
|
26313
26313
|
else if (m.substr(0, 2) === "--")
|
|
@@ -26322,7 +26322,7 @@ var B1 = {
|
|
|
26322
26322
|
} else if (m === "svgOrigin") {
|
|
26323
26323
|
Nd(t, c, 1, S, 0, this);
|
|
26324
26324
|
continue;
|
|
26325
|
-
} else if (m in
|
|
26325
|
+
} else if (m in Dy) {
|
|
26326
26326
|
rI(this, w, m, d, x ? Ms(d, x + c) : c);
|
|
26327
26327
|
continue;
|
|
26328
26328
|
} else if (m === "smoothOrigin") {
|
|
@@ -26350,7 +26350,7 @@ var B1 = {
|
|
|
26350
26350
|
b || (m in a ? I.push(m, 0, a[m]) : I.push(m, 1, h || t[m])), o.push(m);
|
|
26351
26351
|
}
|
|
26352
26352
|
}
|
|
26353
|
-
E &&
|
|
26353
|
+
E && Iy(this);
|
|
26354
26354
|
},
|
|
26355
26355
|
render: function(t, e) {
|
|
26356
26356
|
if (e.tween._time || !Af())
|
|
@@ -26371,13 +26371,13 @@ var B1 = {
|
|
|
26371
26371
|
}
|
|
26372
26372
|
};
|
|
26373
26373
|
ke.utils.checkPrefix = Zs;
|
|
26374
|
-
ke.core.getStyleSaver =
|
|
26374
|
+
ke.core.getStyleSaver = Ly;
|
|
26375
26375
|
(function(i, t, e, r) {
|
|
26376
26376
|
var n = Pe(i + "," + t + "," + e, function(s) {
|
|
26377
26377
|
mr[s] = 1;
|
|
26378
26378
|
});
|
|
26379
26379
|
Pe(t, function(s) {
|
|
26380
|
-
He.units[s] = "deg",
|
|
26380
|
+
He.units[s] = "deg", Dy[s] = 1;
|
|
26381
26381
|
}), Di[n[13]] = i + "," + t, Pe(r, function(s) {
|
|
26382
26382
|
var o = s.split(":");
|
|
26383
26383
|
Di[o[1]] = n[o[0]];
|
|
@@ -26386,9 +26386,9 @@ ke.core.getStyleSaver = L1;
|
|
|
26386
26386
|
Pe("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective", function(i) {
|
|
26387
26387
|
He.units[i] = "px";
|
|
26388
26388
|
});
|
|
26389
|
-
ke.registerPlugin(
|
|
26390
|
-
var
|
|
26391
|
-
|
|
26389
|
+
ke.registerPlugin(By);
|
|
26390
|
+
var Uy = ke.registerPlugin(By) || ke;
|
|
26391
|
+
Uy.core.Tween;
|
|
26392
26392
|
const un = new mt();
|
|
26393
26393
|
class sI {
|
|
26394
26394
|
/**
|
|
@@ -26980,7 +26980,7 @@ ih.exports;
|
|
|
26980
26980
|
i.exports = Ia;
|
|
26981
26981
|
})(ih, ih.exports);
|
|
26982
26982
|
var oI = ih.exports;
|
|
26983
|
-
const
|
|
26983
|
+
const Xy = /* @__PURE__ */ Yr(oI);
|
|
26984
26984
|
var aI = Object.defineProperty, lI = (i, t, e) => t in i ? aI(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e, U = (i, t, e) => (lI(i, typeof t != "symbol" ? t + "" : t, e), e);
|
|
26985
26985
|
class ni {
|
|
26986
26986
|
constructor(t) {
|
|
@@ -27013,7 +27013,7 @@ class ni {
|
|
|
27013
27013
|
this.paused = !1;
|
|
27014
27014
|
}
|
|
27015
27015
|
}
|
|
27016
|
-
var hI = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {},
|
|
27016
|
+
var hI = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, Wy = { exports: {} };
|
|
27017
27017
|
(function(i, t) {
|
|
27018
27018
|
(function() {
|
|
27019
27019
|
var e, r;
|
|
@@ -27120,8 +27120,8 @@ var hI = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : t
|
|
|
27120
27120
|
}
|
|
27121
27121
|
}, r(e);
|
|
27122
27122
|
}).call(hI);
|
|
27123
|
-
})(
|
|
27124
|
-
const $0 =
|
|
27123
|
+
})(Wy);
|
|
27124
|
+
const $0 = Wy.exports;
|
|
27125
27125
|
function Mh(i, t) {
|
|
27126
27126
|
if (i) {
|
|
27127
27127
|
if (typeof i == "function")
|
|
@@ -28509,7 +28509,7 @@ function Bd(i, t, e) {
|
|
|
28509
28509
|
function Lf(i, t, e) {
|
|
28510
28510
|
i.prototype = t.prototype = e, e.constructor = i;
|
|
28511
28511
|
}
|
|
28512
|
-
function
|
|
28512
|
+
function Zy(i, t) {
|
|
28513
28513
|
var e = Object.create(i.prototype);
|
|
28514
28514
|
for (var r in t)
|
|
28515
28515
|
e[r] = t[r];
|
|
@@ -28677,19 +28677,19 @@ Lf(ha, ia, {
|
|
|
28677
28677
|
hex: q0,
|
|
28678
28678
|
// Deprecated! Use color.formatHex.
|
|
28679
28679
|
formatHex: q0,
|
|
28680
|
-
formatHex8:
|
|
28681
|
-
formatHsl:
|
|
28680
|
+
formatHex8: t3,
|
|
28681
|
+
formatHsl: e3,
|
|
28682
28682
|
formatRgb: tm,
|
|
28683
28683
|
toString: tm
|
|
28684
28684
|
});
|
|
28685
28685
|
function q0() {
|
|
28686
28686
|
return this.rgb().formatHex();
|
|
28687
28687
|
}
|
|
28688
|
-
function
|
|
28688
|
+
function t3() {
|
|
28689
28689
|
return this.rgb().formatHex8();
|
|
28690
28690
|
}
|
|
28691
|
-
function
|
|
28692
|
-
return
|
|
28691
|
+
function e3() {
|
|
28692
|
+
return Vy(this).formatHsl();
|
|
28693
28693
|
}
|
|
28694
28694
|
function tm() {
|
|
28695
28695
|
return this.rgb().formatRgb();
|
|
@@ -28704,16 +28704,16 @@ function em(i) {
|
|
|
28704
28704
|
function al(i, t, e, r) {
|
|
28705
28705
|
return r <= 0 && (i = t = e = NaN), new Me(i, t, e, r);
|
|
28706
28706
|
}
|
|
28707
|
-
function
|
|
28707
|
+
function i3(i) {
|
|
28708
28708
|
return i instanceof ha || (i = ia(i)), i ? (i = i.rgb(), new Me(i.r, i.g, i.b, i.opacity)) : new Me();
|
|
28709
28709
|
}
|
|
28710
28710
|
function Ud(i, t, e, r) {
|
|
28711
|
-
return arguments.length === 1 ?
|
|
28711
|
+
return arguments.length === 1 ? i3(i) : new Me(i, t, e, r ?? 1);
|
|
28712
28712
|
}
|
|
28713
28713
|
function Me(i, t, e, r) {
|
|
28714
28714
|
this.r = +i, this.g = +t, this.b = +e, this.opacity = +r;
|
|
28715
28715
|
}
|
|
28716
|
-
Lf(Me, Ud,
|
|
28716
|
+
Lf(Me, Ud, Zy(ha, {
|
|
28717
28717
|
brighter(i) {
|
|
28718
28718
|
return i = i == null ? nh : Math.pow(nh, i), new Me(this.r * i, this.g * i, this.b * i, this.opacity);
|
|
28719
28719
|
},
|
|
@@ -28732,14 +28732,14 @@ Lf(Me, Ud, Z1(ha, {
|
|
|
28732
28732
|
hex: im,
|
|
28733
28733
|
// Deprecated! Use color.formatHex.
|
|
28734
28734
|
formatHex: im,
|
|
28735
|
-
formatHex8:
|
|
28735
|
+
formatHex8: r3,
|
|
28736
28736
|
formatRgb: rm,
|
|
28737
28737
|
toString: rm
|
|
28738
28738
|
}));
|
|
28739
28739
|
function im() {
|
|
28740
28740
|
return `#${Tn(this.r)}${Tn(this.g)}${Tn(this.b)}`;
|
|
28741
28741
|
}
|
|
28742
|
-
function
|
|
28742
|
+
function r3() {
|
|
28743
28743
|
return `#${Tn(this.r)}${Tn(this.g)}${Tn(this.b)}${Tn((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;
|
|
28744
28744
|
}
|
|
28745
28745
|
function rm() {
|
|
@@ -28758,7 +28758,7 @@ function Tn(i) {
|
|
|
28758
28758
|
function nm(i, t, e, r) {
|
|
28759
28759
|
return r <= 0 ? i = t = e = NaN : e <= 0 || e >= 1 ? i = t = NaN : t <= 0 && (i = NaN), new mi(i, t, e, r);
|
|
28760
28760
|
}
|
|
28761
|
-
function
|
|
28761
|
+
function Vy(i) {
|
|
28762
28762
|
if (i instanceof mi)
|
|
28763
28763
|
return new mi(i.h, i.s, i.l, i.opacity);
|
|
28764
28764
|
if (i instanceof ha || (i = ia(i)), !i)
|
|
@@ -28769,13 +28769,13 @@ function V1(i) {
|
|
|
28769
28769
|
var t = i.r / 255, e = i.g / 255, r = i.b / 255, n = Math.min(t, e, r), s = Math.max(t, e, r), o = NaN, a = s - n, l = (s + n) / 2;
|
|
28770
28770
|
return a ? (t === s ? o = (e - r) / a + (e < r) * 6 : e === s ? o = (r - t) / a + 2 : o = (t - e) / a + 4, a /= l < 0.5 ? s + n : 2 - s - n, o *= 60) : a = l > 0 && l < 1 ? 0 : o, new mi(o, a, l, i.opacity);
|
|
28771
28771
|
}
|
|
28772
|
-
function
|
|
28773
|
-
return arguments.length === 1 ?
|
|
28772
|
+
function n3(i, t, e, r) {
|
|
28773
|
+
return arguments.length === 1 ? Vy(i) : new mi(i, t, e, r ?? 1);
|
|
28774
28774
|
}
|
|
28775
28775
|
function mi(i, t, e, r) {
|
|
28776
28776
|
this.h = +i, this.s = +t, this.l = +e, this.opacity = +r;
|
|
28777
28777
|
}
|
|
28778
|
-
Lf(mi,
|
|
28778
|
+
Lf(mi, n3, Zy(ha, {
|
|
28779
28779
|
brighter(i) {
|
|
28780
28780
|
return i = i == null ? nh : Math.pow(nh, i), new mi(this.h, this.s, this.l * i, this.opacity);
|
|
28781
28781
|
},
|
|
@@ -28812,36 +28812,36 @@ function cu(i, t, e) {
|
|
|
28812
28812
|
return (i < 60 ? t + (e - t) * i / 60 : i < 180 ? e : i < 240 ? t + (e - t) * (240 - i) / 60 : t) * 255;
|
|
28813
28813
|
}
|
|
28814
28814
|
const Gf = (i) => () => i;
|
|
28815
|
-
function
|
|
28815
|
+
function s3(i, t) {
|
|
28816
28816
|
return function(e) {
|
|
28817
28817
|
return i + e * t;
|
|
28818
28818
|
};
|
|
28819
28819
|
}
|
|
28820
|
-
function
|
|
28820
|
+
function o3(i, t, e) {
|
|
28821
28821
|
return i = Math.pow(i, e), t = Math.pow(t, e) - i, e = 1 / e, function(r) {
|
|
28822
28822
|
return Math.pow(i + r * t, e);
|
|
28823
28823
|
};
|
|
28824
28824
|
}
|
|
28825
|
-
function
|
|
28826
|
-
return (i = +i) == 1 ?
|
|
28827
|
-
return e - t ?
|
|
28825
|
+
function a3(i) {
|
|
28826
|
+
return (i = +i) == 1 ? Hy : function(t, e) {
|
|
28827
|
+
return e - t ? o3(t, e, i) : Gf(isNaN(t) ? e : t);
|
|
28828
28828
|
};
|
|
28829
28829
|
}
|
|
28830
|
-
function
|
|
28830
|
+
function Hy(i, t) {
|
|
28831
28831
|
var e = t - i;
|
|
28832
|
-
return e ?
|
|
28832
|
+
return e ? s3(i, e) : Gf(isNaN(i) ? t : i);
|
|
28833
28833
|
}
|
|
28834
28834
|
const om = function i(t) {
|
|
28835
|
-
var e =
|
|
28835
|
+
var e = a3(t);
|
|
28836
28836
|
function r(n, s) {
|
|
28837
|
-
var o = e((n = Ud(n)).r, (s = Ud(s)).r), a = e(n.g, s.g), l = e(n.b, s.b), h =
|
|
28837
|
+
var o = e((n = Ud(n)).r, (s = Ud(s)).r), a = e(n.g, s.g), l = e(n.b, s.b), h = Hy(n.opacity, s.opacity);
|
|
28838
28838
|
return function(c) {
|
|
28839
28839
|
return n.r = o(c), n.g = a(c), n.b = l(c), n.opacity = h(c), n + "";
|
|
28840
28840
|
};
|
|
28841
28841
|
}
|
|
28842
28842
|
return r.gamma = i, r;
|
|
28843
28843
|
}(1);
|
|
28844
|
-
function
|
|
28844
|
+
function l3(i, t) {
|
|
28845
28845
|
t || (t = []);
|
|
28846
28846
|
var e = i ? Math.min(t.length, i.length) : 0, r = t.slice(), n;
|
|
28847
28847
|
return function(s) {
|
|
@@ -28850,10 +28850,10 @@ function lA(i, t) {
|
|
|
28850
28850
|
return r;
|
|
28851
28851
|
};
|
|
28852
28852
|
}
|
|
28853
|
-
function
|
|
28853
|
+
function h3(i) {
|
|
28854
28854
|
return ArrayBuffer.isView(i) && !(i instanceof DataView);
|
|
28855
28855
|
}
|
|
28856
|
-
function
|
|
28856
|
+
function c3(i, t) {
|
|
28857
28857
|
var e = t ? t.length : 0, r = i ? Math.min(e, i.length) : 0, n = new Array(r), s = new Array(e), o;
|
|
28858
28858
|
for (o = 0; o < r; ++o)
|
|
28859
28859
|
n[o] = kf(i[o], t[o]);
|
|
@@ -28865,7 +28865,7 @@ function cA(i, t) {
|
|
|
28865
28865
|
return s;
|
|
28866
28866
|
};
|
|
28867
28867
|
}
|
|
28868
|
-
function
|
|
28868
|
+
function u3(i, t) {
|
|
28869
28869
|
var e = /* @__PURE__ */ new Date();
|
|
28870
28870
|
return i = +i, t = +t, function(r) {
|
|
28871
28871
|
return e.setTime(i * (1 - r) + t * r), e;
|
|
@@ -28876,7 +28876,7 @@ function oh(i, t) {
|
|
|
28876
28876
|
return i * (1 - e) + t * e;
|
|
28877
28877
|
};
|
|
28878
28878
|
}
|
|
28879
|
-
function
|
|
28879
|
+
function d3(i, t) {
|
|
28880
28880
|
var e = {}, r = {}, n;
|
|
28881
28881
|
(i === null || typeof i != "object") && (i = {}), (t === null || typeof t != "object") && (t = {});
|
|
28882
28882
|
for (n in t)
|
|
@@ -28888,21 +28888,21 @@ function dA(i, t) {
|
|
|
28888
28888
|
};
|
|
28889
28889
|
}
|
|
28890
28890
|
var Xd = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, uu = new RegExp(Xd.source, "g");
|
|
28891
|
-
function
|
|
28891
|
+
function f3(i) {
|
|
28892
28892
|
return function() {
|
|
28893
28893
|
return i;
|
|
28894
28894
|
};
|
|
28895
28895
|
}
|
|
28896
|
-
function
|
|
28896
|
+
function p3(i) {
|
|
28897
28897
|
return function(t) {
|
|
28898
28898
|
return i(t) + "";
|
|
28899
28899
|
};
|
|
28900
28900
|
}
|
|
28901
|
-
function
|
|
28901
|
+
function m3(i, t) {
|
|
28902
28902
|
var e = Xd.lastIndex = uu.lastIndex = 0, r, n, s, o = -1, a = [], l = [];
|
|
28903
28903
|
for (i = i + "", t = t + ""; (r = Xd.exec(i)) && (n = uu.exec(t)); )
|
|
28904
28904
|
(s = n.index) > e && (s = t.slice(e, s), a[o] ? a[o] += s : a[++o] = s), (r = r[0]) === (n = n[0]) ? a[o] ? a[o] += n : a[++o] = n : (a[++o] = null, l.push({ i: o, x: oh(r, n) })), e = uu.lastIndex;
|
|
28905
|
-
return e < t.length && (s = t.slice(e), a[o] ? a[o] += s : a[++o] = s), a.length < 2 ? l[0] ?
|
|
28905
|
+
return e < t.length && (s = t.slice(e), a[o] ? a[o] += s : a[++o] = s), a.length < 2 ? l[0] ? p3(l[0].x) : f3(t) : (t = l.length, function(h) {
|
|
28906
28906
|
for (var c = 0, u; c < t; ++c)
|
|
28907
28907
|
a[(u = l[c]).i] = u.x(h);
|
|
28908
28908
|
return a.join("");
|
|
@@ -28910,14 +28910,14 @@ function mA(i, t) {
|
|
|
28910
28910
|
}
|
|
28911
28911
|
function kf(i, t) {
|
|
28912
28912
|
var e = typeof t, r;
|
|
28913
|
-
return t == null || e === "boolean" ? Gf(t) : (e === "number" ? oh : e === "string" ? (r = ia(t)) ? (t = r, om) :
|
|
28913
|
+
return t == null || e === "boolean" ? Gf(t) : (e === "number" ? oh : e === "string" ? (r = ia(t)) ? (t = r, om) : m3 : t instanceof ia ? om : t instanceof Date ? u3 : h3(t) ? l3 : Array.isArray(t) ? c3 : typeof t.valueOf != "function" && typeof t.toString != "function" || isNaN(t) ? d3 : oh)(i, t);
|
|
28914
28914
|
}
|
|
28915
|
-
function
|
|
28915
|
+
function g3(i, t) {
|
|
28916
28916
|
return i = +i, t = +t, function(e) {
|
|
28917
28917
|
return Math.round(i * (1 - e) + t * e);
|
|
28918
28918
|
};
|
|
28919
28919
|
}
|
|
28920
|
-
function
|
|
28920
|
+
function y3(i) {
|
|
28921
28921
|
return Math.abs(i = Math.round(i)) >= 1e21 ? i.toLocaleString("en").replace(/,/g, "") : i.toString(10);
|
|
28922
28922
|
}
|
|
28923
28923
|
function ah(i, t) {
|
|
@@ -28932,23 +28932,23 @@ function ah(i, t) {
|
|
|
28932
28932
|
function Vs(i) {
|
|
28933
28933
|
return i = ah(Math.abs(i)), i ? i[1] : NaN;
|
|
28934
28934
|
}
|
|
28935
|
-
function
|
|
28935
|
+
function b3(i, t) {
|
|
28936
28936
|
return function(e, r) {
|
|
28937
28937
|
for (var n = e.length, s = [], o = 0, a = i[0], l = 0; n > 0 && a > 0 && (l + a + 1 > r && (a = Math.max(1, r - l)), s.push(e.substring(n -= a, n + a)), !((l += a + 1) > r)); )
|
|
28938
28938
|
a = i[o = (o + 1) % i.length];
|
|
28939
28939
|
return s.reverse().join(t);
|
|
28940
28940
|
};
|
|
28941
28941
|
}
|
|
28942
|
-
function
|
|
28942
|
+
function x3(i) {
|
|
28943
28943
|
return function(t) {
|
|
28944
28944
|
return t.replace(/[0-9]/g, function(e) {
|
|
28945
28945
|
return i[+e];
|
|
28946
28946
|
});
|
|
28947
28947
|
};
|
|
28948
28948
|
}
|
|
28949
|
-
var
|
|
28949
|
+
var _3 = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
|
|
28950
28950
|
function lh(i) {
|
|
28951
|
-
if (!(t =
|
|
28951
|
+
if (!(t = _3.exec(i)))
|
|
28952
28952
|
throw new Error("invalid format: " + i);
|
|
28953
28953
|
var t;
|
|
28954
28954
|
return new Ff({
|
|
@@ -28971,7 +28971,7 @@ function Ff(i) {
|
|
|
28971
28971
|
Ff.prototype.toString = function() {
|
|
28972
28972
|
return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (this.width === void 0 ? "" : Math.max(1, this.width | 0)) + (this.comma ? "," : "") + (this.precision === void 0 ? "" : "." + Math.max(0, this.precision | 0)) + (this.trim ? "~" : "") + this.type;
|
|
28973
28973
|
};
|
|
28974
|
-
function
|
|
28974
|
+
function v3(i) {
|
|
28975
28975
|
t:
|
|
28976
28976
|
for (var t = i.length, e = 1, r = -1, n; e < t; ++e)
|
|
28977
28977
|
switch (i[e]) {
|
|
@@ -28989,12 +28989,12 @@ function vA(i) {
|
|
|
28989
28989
|
}
|
|
28990
28990
|
return r > 0 ? i.slice(0, r) + i.slice(n + 1) : i;
|
|
28991
28991
|
}
|
|
28992
|
-
var
|
|
28993
|
-
function
|
|
28992
|
+
var Ky;
|
|
28993
|
+
function w3(i, t) {
|
|
28994
28994
|
var e = ah(i, t);
|
|
28995
28995
|
if (!e)
|
|
28996
28996
|
return i + "";
|
|
28997
|
-
var r = e[0], n = e[1], s = n - (
|
|
28997
|
+
var r = e[0], n = e[1], s = n - (Ky = Math.max(-8, Math.min(8, Math.floor(n / 3))) * 3) + 1, o = r.length;
|
|
28998
28998
|
return s === o ? r : s > o ? r + new Array(s - o + 1).join("0") : s > 0 ? r.slice(0, s) + "." + r.slice(s) : "0." + new Array(1 - s).join("0") + ah(i, Math.max(0, t + s - 1))[0];
|
|
28999
28999
|
}
|
|
29000
29000
|
function am(i, t) {
|
|
@@ -29008,14 +29008,14 @@ const lm = {
|
|
|
29008
29008
|
"%": (i, t) => (i * 100).toFixed(t),
|
|
29009
29009
|
b: (i) => Math.round(i).toString(2),
|
|
29010
29010
|
c: (i) => i + "",
|
|
29011
|
-
d:
|
|
29011
|
+
d: y3,
|
|
29012
29012
|
e: (i, t) => i.toExponential(t),
|
|
29013
29013
|
f: (i, t) => i.toFixed(t),
|
|
29014
29014
|
g: (i, t) => i.toPrecision(t),
|
|
29015
29015
|
o: (i) => Math.round(i).toString(8),
|
|
29016
29016
|
p: (i, t) => am(i * 100, t),
|
|
29017
29017
|
r: am,
|
|
29018
|
-
s:
|
|
29018
|
+
s: w3,
|
|
29019
29019
|
X: (i) => Math.round(i).toString(16).toUpperCase(),
|
|
29020
29020
|
x: (i) => Math.round(i).toString(16)
|
|
29021
29021
|
};
|
|
@@ -29023,8 +29023,8 @@ function hm(i) {
|
|
|
29023
29023
|
return i;
|
|
29024
29024
|
}
|
|
29025
29025
|
var cm = Array.prototype.map, um = ["y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"];
|
|
29026
|
-
function
|
|
29027
|
-
var t = i.grouping === void 0 || i.thousands === void 0 ? hm :
|
|
29026
|
+
function T3(i) {
|
|
29027
|
+
var t = i.grouping === void 0 || i.thousands === void 0 ? hm : b3(cm.call(i.grouping, Number), i.thousands + ""), e = i.currency === void 0 ? "" : i.currency[0] + "", r = i.currency === void 0 ? "" : i.currency[1] + "", n = i.decimal === void 0 ? "." : i.decimal + "", s = i.numerals === void 0 ? hm : x3(cm.call(i.numerals, String)), o = i.percent === void 0 ? "%" : i.percent + "", a = i.minus === void 0 ? "−" : i.minus + "", l = i.nan === void 0 ? "NaN" : i.nan + "";
|
|
29028
29028
|
function h(u) {
|
|
29029
29029
|
u = lh(u);
|
|
29030
29030
|
var d = u.fill, f = u.align, p = u.sign, m = u.symbol, g = u.zero, y = u.width, x = u.comma, b = u.precision, v = u.trim, w = u.type;
|
|
@@ -29038,7 +29038,7 @@ function TA(i) {
|
|
|
29038
29038
|
else {
|
|
29039
29039
|
G = +G;
|
|
29040
29040
|
var H = G < 0 || 1 / G < 0;
|
|
29041
|
-
if (G = isNaN(G) ? l : I(Math.abs(G), b), v && (G =
|
|
29041
|
+
if (G = isNaN(G) ? l : I(Math.abs(G), b), v && (G = v3(G)), H && +G == 0 && p !== "+" && (H = !1), F = (H ? p === "(" ? p : a : p === "-" || p === "(" ? "" : p) + F, M = (w === "s" ? um[8 + Ky / 3] : "") + M + (H && p === "(" ? ")" : ""), A) {
|
|
29042
29042
|
for (N = -1, W = G.length; ++N < W; )
|
|
29043
29043
|
if (K = G.charCodeAt(N), 48 > K || K > 57) {
|
|
29044
29044
|
M = (K === 46 ? n + G.slice(N + 1) : G.slice(N)) + M, G = G.slice(0, N);
|
|
@@ -29079,25 +29079,25 @@ function TA(i) {
|
|
|
29079
29079
|
formatPrefix: c
|
|
29080
29080
|
};
|
|
29081
29081
|
}
|
|
29082
|
-
var hl,
|
|
29083
|
-
|
|
29082
|
+
var hl, zy, Yy;
|
|
29083
|
+
S3({
|
|
29084
29084
|
thousands: ",",
|
|
29085
29085
|
grouping: [3],
|
|
29086
29086
|
currency: ["$", ""]
|
|
29087
29087
|
});
|
|
29088
|
-
function
|
|
29089
|
-
return hl =
|
|
29088
|
+
function S3(i) {
|
|
29089
|
+
return hl = T3(i), zy = hl.format, Yy = hl.formatPrefix, hl;
|
|
29090
29090
|
}
|
|
29091
|
-
function
|
|
29091
|
+
function C3(i) {
|
|
29092
29092
|
return Math.max(0, -Vs(Math.abs(i)));
|
|
29093
29093
|
}
|
|
29094
|
-
function
|
|
29094
|
+
function E3(i, t) {
|
|
29095
29095
|
return Math.max(0, Math.max(-8, Math.min(8, Math.floor(Vs(t) / 3))) * 3 - Vs(Math.abs(i)));
|
|
29096
29096
|
}
|
|
29097
|
-
function
|
|
29097
|
+
function I3(i, t) {
|
|
29098
29098
|
return i = Math.abs(i), t = Math.abs(t) - i, Math.max(0, Vs(t) - Vs(i)) + 1;
|
|
29099
29099
|
}
|
|
29100
|
-
function
|
|
29100
|
+
function jy(i, t) {
|
|
29101
29101
|
switch (arguments.length) {
|
|
29102
29102
|
case 0:
|
|
29103
29103
|
break;
|
|
@@ -29110,12 +29110,12 @@ function j1(i, t) {
|
|
|
29110
29110
|
}
|
|
29111
29111
|
return this;
|
|
29112
29112
|
}
|
|
29113
|
-
function
|
|
29113
|
+
function A3(i) {
|
|
29114
29114
|
return function() {
|
|
29115
29115
|
return i;
|
|
29116
29116
|
};
|
|
29117
29117
|
}
|
|
29118
|
-
function
|
|
29118
|
+
function M3(i) {
|
|
29119
29119
|
return +i;
|
|
29120
29120
|
}
|
|
29121
29121
|
var dm = [0, 1];
|
|
@@ -29125,21 +29125,21 @@ function vs(i) {
|
|
|
29125
29125
|
function Wd(i, t) {
|
|
29126
29126
|
return (t -= i = +i) ? function(e) {
|
|
29127
29127
|
return (e - i) / t;
|
|
29128
|
-
} :
|
|
29128
|
+
} : A3(isNaN(t) ? NaN : 0.5);
|
|
29129
29129
|
}
|
|
29130
|
-
function
|
|
29130
|
+
function R3(i, t) {
|
|
29131
29131
|
var e;
|
|
29132
29132
|
return i > t && (e = i, i = t, t = e), function(r) {
|
|
29133
29133
|
return Math.max(i, Math.min(t, r));
|
|
29134
29134
|
};
|
|
29135
29135
|
}
|
|
29136
|
-
function
|
|
29136
|
+
function P3(i, t, e) {
|
|
29137
29137
|
var r = i[0], n = i[1], s = t[0], o = t[1];
|
|
29138
29138
|
return n < r ? (r = Wd(n, r), s = e(o, s)) : (r = Wd(r, n), s = e(s, o)), function(a) {
|
|
29139
29139
|
return s(r(a));
|
|
29140
29140
|
};
|
|
29141
29141
|
}
|
|
29142
|
-
function
|
|
29142
|
+
function L3(i, t, e) {
|
|
29143
29143
|
var r = Math.min(i.length, t.length) - 1, n = new Array(r), s = new Array(r), o = -1;
|
|
29144
29144
|
for (i[r] < i[0] && (i = i.slice().reverse(), t = t.slice().reverse()); ++o < r; )
|
|
29145
29145
|
n[o] = Wd(i[o], i[o + 1]), s[o] = e(t[o], t[o + 1]);
|
|
@@ -29148,14 +29148,14 @@ function LA(i, t, e) {
|
|
|
29148
29148
|
return s[l](n[l](a));
|
|
29149
29149
|
};
|
|
29150
29150
|
}
|
|
29151
|
-
function
|
|
29151
|
+
function Jy(i, t) {
|
|
29152
29152
|
return t.domain(i.domain()).range(i.range()).interpolate(i.interpolate()).clamp(i.clamp()).unknown(i.unknown());
|
|
29153
29153
|
}
|
|
29154
|
-
function
|
|
29154
|
+
function G3() {
|
|
29155
29155
|
var i = dm, t = dm, e = kf, r, n, s, o = vs, a, l, h;
|
|
29156
29156
|
function c() {
|
|
29157
29157
|
var d = Math.min(i.length, t.length);
|
|
29158
|
-
return o !== vs && (o =
|
|
29158
|
+
return o !== vs && (o = R3(i[0], i[d - 1])), a = d > 2 ? L3 : P3, l = h = null, u;
|
|
29159
29159
|
}
|
|
29160
29160
|
function u(d) {
|
|
29161
29161
|
return d == null || isNaN(d = +d) ? s : (l || (l = a(i.map(r), t, e)))(r(o(d)));
|
|
@@ -29163,11 +29163,11 @@ function GA() {
|
|
|
29163
29163
|
return u.invert = function(d) {
|
|
29164
29164
|
return o(n((h || (h = a(t, i.map(r), oh)))(d)));
|
|
29165
29165
|
}, u.domain = function(d) {
|
|
29166
|
-
return arguments.length ? (i = Array.from(d,
|
|
29166
|
+
return arguments.length ? (i = Array.from(d, M3), c()) : i.slice();
|
|
29167
29167
|
}, u.range = function(d) {
|
|
29168
29168
|
return arguments.length ? (t = Array.from(d), c()) : t.slice();
|
|
29169
29169
|
}, u.rangeRound = function(d) {
|
|
29170
|
-
return t = Array.from(d), e =
|
|
29170
|
+
return t = Array.from(d), e = g3, c();
|
|
29171
29171
|
}, u.clamp = function(d) {
|
|
29172
29172
|
return arguments.length ? (o = d ? !0 : vs, c()) : o !== vs;
|
|
29173
29173
|
}, u.interpolate = function(d) {
|
|
@@ -29178,40 +29178,40 @@ function GA() {
|
|
|
29178
29178
|
return r = d, n = f, c();
|
|
29179
29179
|
};
|
|
29180
29180
|
}
|
|
29181
|
-
function $
|
|
29182
|
-
return
|
|
29181
|
+
function $y() {
|
|
29182
|
+
return G3()(vs, vs);
|
|
29183
29183
|
}
|
|
29184
|
-
function
|
|
29184
|
+
function k3(i, t, e, r) {
|
|
29185
29185
|
var n = Bd(i, t, e), s;
|
|
29186
29186
|
switch (r = lh(r ?? ",f"), r.type) {
|
|
29187
29187
|
case "s": {
|
|
29188
29188
|
var o = Math.max(Math.abs(i), Math.abs(t));
|
|
29189
|
-
return r.precision == null && !isNaN(s =
|
|
29189
|
+
return r.precision == null && !isNaN(s = E3(n, o)) && (r.precision = s), Yy(r, o);
|
|
29190
29190
|
}
|
|
29191
29191
|
case "":
|
|
29192
29192
|
case "e":
|
|
29193
29193
|
case "g":
|
|
29194
29194
|
case "p":
|
|
29195
29195
|
case "r": {
|
|
29196
|
-
r.precision == null && !isNaN(s =
|
|
29196
|
+
r.precision == null && !isNaN(s = I3(n, Math.max(Math.abs(i), Math.abs(t)))) && (r.precision = s - (r.type === "e"));
|
|
29197
29197
|
break;
|
|
29198
29198
|
}
|
|
29199
29199
|
case "f":
|
|
29200
29200
|
case "%": {
|
|
29201
|
-
r.precision == null && !isNaN(s =
|
|
29201
|
+
r.precision == null && !isNaN(s = C3(n)) && (r.precision = s - (r.type === "%") * 2);
|
|
29202
29202
|
break;
|
|
29203
29203
|
}
|
|
29204
29204
|
}
|
|
29205
|
-
return
|
|
29205
|
+
return zy(r);
|
|
29206
29206
|
}
|
|
29207
|
-
function
|
|
29207
|
+
function F3(i) {
|
|
29208
29208
|
var t = i.domain;
|
|
29209
29209
|
return i.ticks = function(e) {
|
|
29210
29210
|
var r = t();
|
|
29211
29211
|
return KI(r[0], r[r.length - 1], e ?? 10);
|
|
29212
29212
|
}, i.tickFormat = function(e, r) {
|
|
29213
29213
|
var n = t();
|
|
29214
|
-
return
|
|
29214
|
+
return k3(n[0], n[n.length - 1], e ?? 10, r);
|
|
29215
29215
|
}, i.nice = function(e) {
|
|
29216
29216
|
e == null && (e = 10);
|
|
29217
29217
|
var r = t(), n = 0, s = r.length - 1, o = r[n], a = r[s], l, h, c = 10;
|
|
@@ -29229,13 +29229,13 @@ function FA(i) {
|
|
|
29229
29229
|
return i;
|
|
29230
29230
|
}, i;
|
|
29231
29231
|
}
|
|
29232
|
-
function
|
|
29233
|
-
var i = $
|
|
29232
|
+
function Qy() {
|
|
29233
|
+
var i = $y();
|
|
29234
29234
|
return i.copy = function() {
|
|
29235
|
-
return
|
|
29236
|
-
},
|
|
29235
|
+
return Jy(i, Qy());
|
|
29236
|
+
}, jy.apply(i, arguments), F3(i);
|
|
29237
29237
|
}
|
|
29238
|
-
function
|
|
29238
|
+
function D3(i, t) {
|
|
29239
29239
|
i = i.slice();
|
|
29240
29240
|
var e = 0, r = i.length - 1, n = i[e], s = i[r], o;
|
|
29241
29241
|
return s < n && (o = e, e = r, r = o, o = n, n = s, s = o), i[e] = t.floor(n), i[r] = t.ceil(s), i;
|
|
@@ -29295,24 +29295,24 @@ const Nf = ne((i) => {
|
|
|
29295
29295
|
i.setTime(+i + t * ii);
|
|
29296
29296
|
}, (i, t) => (t - i) / ii, (i) => i.getMinutes());
|
|
29297
29297
|
Nf.range;
|
|
29298
|
-
const
|
|
29298
|
+
const N3 = ne((i) => {
|
|
29299
29299
|
i.setUTCSeconds(0, 0);
|
|
29300
29300
|
}, (i, t) => {
|
|
29301
29301
|
i.setTime(+i + t * ii);
|
|
29302
29302
|
}, (i, t) => (t - i) / ii, (i) => i.getUTCMinutes());
|
|
29303
|
-
|
|
29303
|
+
N3.range;
|
|
29304
29304
|
const Of = ne((i) => {
|
|
29305
29305
|
i.setTime(i - i.getMilliseconds() - i.getSeconds() * cr - i.getMinutes() * ii);
|
|
29306
29306
|
}, (i, t) => {
|
|
29307
29307
|
i.setTime(+i + t * ur);
|
|
29308
29308
|
}, (i, t) => (t - i) / ur, (i) => i.getHours());
|
|
29309
29309
|
Of.range;
|
|
29310
|
-
const
|
|
29310
|
+
const O3 = ne((i) => {
|
|
29311
29311
|
i.setUTCMinutes(0, 0, 0);
|
|
29312
29312
|
}, (i, t) => {
|
|
29313
29313
|
i.setTime(+i + t * ur);
|
|
29314
29314
|
}, (i, t) => (t - i) / ur, (i) => i.getUTCHours());
|
|
29315
|
-
|
|
29315
|
+
O3.range;
|
|
29316
29316
|
const ca = ne(
|
|
29317
29317
|
(i) => i.setHours(0, 0, 0, 0),
|
|
29318
29318
|
(i, t) => i.setDate(i.getDate() + t),
|
|
@@ -29326,12 +29326,12 @@ const Bf = ne((i) => {
|
|
|
29326
29326
|
i.setUTCDate(i.getUTCDate() + t);
|
|
29327
29327
|
}, (i, t) => (t - i) / gr, (i) => i.getUTCDate() - 1);
|
|
29328
29328
|
Bf.range;
|
|
29329
|
-
const
|
|
29329
|
+
const B3 = ne((i) => {
|
|
29330
29330
|
i.setUTCHours(0, 0, 0, 0);
|
|
29331
29331
|
}, (i, t) => {
|
|
29332
29332
|
i.setUTCDate(i.getUTCDate() + t);
|
|
29333
29333
|
}, (i, t) => (t - i) / gr, (i) => Math.floor(i / gr));
|
|
29334
|
-
|
|
29334
|
+
B3.range;
|
|
29335
29335
|
function Zn(i) {
|
|
29336
29336
|
return ne((t) => {
|
|
29337
29337
|
t.setDate(t.getDate() - (t.getDay() + 7 - i) % 7), t.setHours(0, 0, 0, 0);
|
|
@@ -29339,14 +29339,14 @@ function Zn(i) {
|
|
|
29339
29339
|
t.setDate(t.getDate() + e * 7);
|
|
29340
29340
|
}, (t, e) => (e - t - (e.getTimezoneOffset() - t.getTimezoneOffset()) * ii) / Df);
|
|
29341
29341
|
}
|
|
29342
|
-
const Rh = Zn(0), ch = Zn(1),
|
|
29342
|
+
const Rh = Zn(0), ch = Zn(1), U3 = Zn(2), X3 = Zn(3), Hs = Zn(4), W3 = Zn(5), Z3 = Zn(6);
|
|
29343
29343
|
Rh.range;
|
|
29344
29344
|
ch.range;
|
|
29345
|
-
|
|
29346
|
-
|
|
29345
|
+
U3.range;
|
|
29346
|
+
X3.range;
|
|
29347
29347
|
Hs.range;
|
|
29348
|
-
|
|
29349
|
-
|
|
29348
|
+
W3.range;
|
|
29349
|
+
Z3.range;
|
|
29350
29350
|
function Vn(i) {
|
|
29351
29351
|
return ne((t) => {
|
|
29352
29352
|
t.setUTCDate(t.getUTCDate() - (t.getUTCDay() + 7 - i) % 7), t.setUTCHours(0, 0, 0, 0);
|
|
@@ -29354,26 +29354,26 @@ function Vn(i) {
|
|
|
29354
29354
|
t.setUTCDate(t.getUTCDate() + e * 7);
|
|
29355
29355
|
}, (t, e) => (e - t) / Df);
|
|
29356
29356
|
}
|
|
29357
|
-
const
|
|
29358
|
-
|
|
29357
|
+
const qy = Vn(0), uh = Vn(1), V3 = Vn(2), H3 = Vn(3), Ks = Vn(4), K3 = Vn(5), z3 = Vn(6);
|
|
29358
|
+
qy.range;
|
|
29359
29359
|
uh.range;
|
|
29360
|
-
|
|
29361
|
-
|
|
29360
|
+
V3.range;
|
|
29361
|
+
H3.range;
|
|
29362
29362
|
Ks.range;
|
|
29363
|
-
|
|
29364
|
-
|
|
29363
|
+
K3.range;
|
|
29364
|
+
z3.range;
|
|
29365
29365
|
const Uf = ne((i) => {
|
|
29366
29366
|
i.setDate(1), i.setHours(0, 0, 0, 0);
|
|
29367
29367
|
}, (i, t) => {
|
|
29368
29368
|
i.setMonth(i.getMonth() + t);
|
|
29369
29369
|
}, (i, t) => t.getMonth() - i.getMonth() + (t.getFullYear() - i.getFullYear()) * 12, (i) => i.getMonth());
|
|
29370
29370
|
Uf.range;
|
|
29371
|
-
const
|
|
29371
|
+
const Y3 = ne((i) => {
|
|
29372
29372
|
i.setUTCDate(1), i.setUTCHours(0, 0, 0, 0);
|
|
29373
29373
|
}, (i, t) => {
|
|
29374
29374
|
i.setUTCMonth(i.getUTCMonth() + t);
|
|
29375
29375
|
}, (i, t) => t.getUTCMonth() - i.getUTCMonth() + (t.getUTCFullYear() - i.getUTCFullYear()) * 12, (i) => i.getUTCMonth());
|
|
29376
|
-
|
|
29376
|
+
Y3.range;
|
|
29377
29377
|
const yr = ne((i) => {
|
|
29378
29378
|
i.setMonth(0, 1), i.setHours(0, 0, 0, 0);
|
|
29379
29379
|
}, (i, t) => {
|
|
@@ -29396,7 +29396,7 @@ On.every = (i) => !isFinite(i = Math.floor(i)) || !(i > 0) ? null : ne((t) => {
|
|
|
29396
29396
|
t.setUTCFullYear(t.getUTCFullYear() + e * i);
|
|
29397
29397
|
});
|
|
29398
29398
|
On.range;
|
|
29399
|
-
function
|
|
29399
|
+
function j3(i, t, e, r, n, s) {
|
|
29400
29400
|
const o = [
|
|
29401
29401
|
[ws, 1, cr],
|
|
29402
29402
|
[ws, 5, 5 * cr],
|
|
@@ -29434,7 +29434,7 @@ function jA(i, t, e, r, n, s) {
|
|
|
29434
29434
|
}
|
|
29435
29435
|
return [a, l];
|
|
29436
29436
|
}
|
|
29437
|
-
const [
|
|
29437
|
+
const [J3, $3] = j3(yr, Uf, Rh, ca, Of, Nf);
|
|
29438
29438
|
function mu(i) {
|
|
29439
29439
|
if (0 <= i.y && i.y < 100) {
|
|
29440
29440
|
var t = new Date(-1, i.m, i.d, i.H, i.M, i.S, i.L);
|
|
@@ -29452,7 +29452,7 @@ function gu(i) {
|
|
|
29452
29452
|
function bo(i, t, e) {
|
|
29453
29453
|
return { y: i, m: t, d: e, H: 0, M: 0, S: 0, L: 0 };
|
|
29454
29454
|
}
|
|
29455
|
-
function
|
|
29455
|
+
function Q3(i) {
|
|
29456
29456
|
var t = i.dateTime, e = i.date, r = i.time, n = i.periods, s = i.days, o = i.shortDays, a = i.months, l = i.shortMonths, h = xo(n), c = _o(n), u = xo(s), d = _o(s), f = xo(o), p = _o(o), m = xo(a), g = _o(a), y = xo(l), x = _o(l), b = {
|
|
29457
29457
|
a: H,
|
|
29458
29458
|
A: Y,
|
|
@@ -29461,30 +29461,30 @@ function QA(i) {
|
|
|
29461
29461
|
c: null,
|
|
29462
29462
|
d: xm,
|
|
29463
29463
|
e: xm,
|
|
29464
|
-
f:
|
|
29465
|
-
g:
|
|
29466
|
-
G:
|
|
29467
|
-
H:
|
|
29468
|
-
I:
|
|
29469
|
-
j:
|
|
29464
|
+
f: vA,
|
|
29465
|
+
g: PA,
|
|
29466
|
+
G: GA,
|
|
29467
|
+
H: bA,
|
|
29468
|
+
I: xA,
|
|
29469
|
+
j: _A,
|
|
29470
29470
|
L: tb,
|
|
29471
|
-
m:
|
|
29472
|
-
M:
|
|
29471
|
+
m: wA,
|
|
29472
|
+
M: TA,
|
|
29473
29473
|
p: k,
|
|
29474
29474
|
q: V,
|
|
29475
29475
|
Q: wm,
|
|
29476
29476
|
s: Tm,
|
|
29477
|
-
S:
|
|
29478
|
-
u:
|
|
29479
|
-
U:
|
|
29480
|
-
V:
|
|
29481
|
-
w:
|
|
29482
|
-
W:
|
|
29477
|
+
S: SA,
|
|
29478
|
+
u: CA,
|
|
29479
|
+
U: EA,
|
|
29480
|
+
V: IA,
|
|
29481
|
+
w: AA,
|
|
29482
|
+
W: MA,
|
|
29483
29483
|
x: null,
|
|
29484
29484
|
X: null,
|
|
29485
|
-
y:
|
|
29486
|
-
Y:
|
|
29487
|
-
Z:
|
|
29485
|
+
y: RA,
|
|
29486
|
+
Y: LA,
|
|
29487
|
+
Z: kA,
|
|
29488
29488
|
"%": vm
|
|
29489
29489
|
}, v = {
|
|
29490
29490
|
a: tt,
|
|
@@ -29494,30 +29494,30 @@ function QA(i) {
|
|
|
29494
29494
|
c: null,
|
|
29495
29495
|
d: _m,
|
|
29496
29496
|
e: _m,
|
|
29497
|
-
f:
|
|
29498
|
-
g:
|
|
29499
|
-
G:
|
|
29500
|
-
H:
|
|
29501
|
-
I:
|
|
29502
|
-
j:
|
|
29497
|
+
f: OA,
|
|
29498
|
+
g: YA,
|
|
29499
|
+
G: JA,
|
|
29500
|
+
H: FA,
|
|
29501
|
+
I: DA,
|
|
29502
|
+
j: NA,
|
|
29503
29503
|
L: ib,
|
|
29504
|
-
m:
|
|
29505
|
-
M:
|
|
29504
|
+
m: BA,
|
|
29505
|
+
M: UA,
|
|
29506
29506
|
p: Et,
|
|
29507
29507
|
q: $,
|
|
29508
29508
|
Q: wm,
|
|
29509
29509
|
s: Tm,
|
|
29510
|
-
S:
|
|
29511
|
-
u:
|
|
29512
|
-
U:
|
|
29513
|
-
V:
|
|
29514
|
-
w:
|
|
29515
|
-
W:
|
|
29510
|
+
S: XA,
|
|
29511
|
+
u: WA,
|
|
29512
|
+
U: ZA,
|
|
29513
|
+
V: VA,
|
|
29514
|
+
w: HA,
|
|
29515
|
+
W: KA,
|
|
29516
29516
|
x: null,
|
|
29517
29517
|
X: null,
|
|
29518
|
-
y:
|
|
29519
|
-
Y:
|
|
29520
|
-
Z: $
|
|
29518
|
+
y: zA,
|
|
29519
|
+
Y: jA,
|
|
29520
|
+
Z: $A,
|
|
29521
29521
|
"%": vm
|
|
29522
29522
|
}, w = {
|
|
29523
29523
|
a: L,
|
|
@@ -29527,31 +29527,31 @@ function QA(i) {
|
|
|
29527
29527
|
c: N,
|
|
29528
29528
|
d: ym,
|
|
29529
29529
|
e: ym,
|
|
29530
|
-
f:
|
|
29530
|
+
f: pA,
|
|
29531
29531
|
g: gm,
|
|
29532
29532
|
G: mm,
|
|
29533
29533
|
H: bm,
|
|
29534
29534
|
I: bm,
|
|
29535
|
-
j:
|
|
29536
|
-
L:
|
|
29537
|
-
m:
|
|
29538
|
-
M:
|
|
29535
|
+
j: cA,
|
|
29536
|
+
L: fA,
|
|
29537
|
+
m: hA,
|
|
29538
|
+
M: uA,
|
|
29539
29539
|
p: A,
|
|
29540
|
-
q:
|
|
29541
|
-
Q:
|
|
29542
|
-
s:
|
|
29543
|
-
S:
|
|
29544
|
-
u:
|
|
29545
|
-
U:
|
|
29546
|
-
V:
|
|
29547
|
-
w:
|
|
29548
|
-
W:
|
|
29540
|
+
q: lA,
|
|
29541
|
+
Q: gA,
|
|
29542
|
+
s: yA,
|
|
29543
|
+
S: dA,
|
|
29544
|
+
u: rA,
|
|
29545
|
+
U: nA,
|
|
29546
|
+
V: sA,
|
|
29547
|
+
w: iA,
|
|
29548
|
+
W: oA,
|
|
29549
29549
|
x: W,
|
|
29550
29550
|
X: K,
|
|
29551
29551
|
y: gm,
|
|
29552
29552
|
Y: mm,
|
|
29553
|
-
Z:
|
|
29554
|
-
"%":
|
|
29553
|
+
Z: aA,
|
|
29554
|
+
"%": mA
|
|
29555
29555
|
};
|
|
29556
29556
|
b.x = S(e, b), b.X = S(r, b), b.c = S(t, b), v.x = S(e, v), v.X = S(r, v), v.c = S(t, v);
|
|
29557
29557
|
function S(Z, j) {
|
|
@@ -29684,37 +29684,37 @@ function QA(i) {
|
|
|
29684
29684
|
}
|
|
29685
29685
|
};
|
|
29686
29686
|
}
|
|
29687
|
-
var pm = { "-": "", _: " ", 0: "0" }, ue = /^\s*\d+/,
|
|
29687
|
+
var pm = { "-": "", _: " ", 0: "0" }, ue = /^\s*\d+/, q3 = /^%/, tA = /[\\^$*+?|[\]().{}]/g;
|
|
29688
29688
|
function At(i, t, e) {
|
|
29689
29689
|
var r = i < 0 ? "-" : "", n = (r ? -i : i) + "", s = n.length;
|
|
29690
29690
|
return r + (s < e ? new Array(e - s + 1).join(t) + n : n);
|
|
29691
29691
|
}
|
|
29692
|
-
function
|
|
29693
|
-
return i.replace(
|
|
29692
|
+
function eA(i) {
|
|
29693
|
+
return i.replace(tA, "\\$&");
|
|
29694
29694
|
}
|
|
29695
29695
|
function xo(i) {
|
|
29696
|
-
return new RegExp("^(?:" + i.map(
|
|
29696
|
+
return new RegExp("^(?:" + i.map(eA).join("|") + ")", "i");
|
|
29697
29697
|
}
|
|
29698
29698
|
function _o(i) {
|
|
29699
29699
|
return new Map(i.map((t, e) => [t.toLowerCase(), e]));
|
|
29700
29700
|
}
|
|
29701
|
-
function
|
|
29701
|
+
function iA(i, t, e) {
|
|
29702
29702
|
var r = ue.exec(t.slice(e, e + 1));
|
|
29703
29703
|
return r ? (i.w = +r[0], e + r[0].length) : -1;
|
|
29704
29704
|
}
|
|
29705
|
-
function
|
|
29705
|
+
function rA(i, t, e) {
|
|
29706
29706
|
var r = ue.exec(t.slice(e, e + 1));
|
|
29707
29707
|
return r ? (i.u = +r[0], e + r[0].length) : -1;
|
|
29708
29708
|
}
|
|
29709
|
-
function
|
|
29709
|
+
function nA(i, t, e) {
|
|
29710
29710
|
var r = ue.exec(t.slice(e, e + 2));
|
|
29711
29711
|
return r ? (i.U = +r[0], e + r[0].length) : -1;
|
|
29712
29712
|
}
|
|
29713
|
-
function
|
|
29713
|
+
function sA(i, t, e) {
|
|
29714
29714
|
var r = ue.exec(t.slice(e, e + 2));
|
|
29715
29715
|
return r ? (i.V = +r[0], e + r[0].length) : -1;
|
|
29716
29716
|
}
|
|
29717
|
-
function
|
|
29717
|
+
function oA(i, t, e) {
|
|
29718
29718
|
var r = ue.exec(t.slice(e, e + 2));
|
|
29719
29719
|
return r ? (i.W = +r[0], e + r[0].length) : -1;
|
|
29720
29720
|
}
|
|
@@ -29726,15 +29726,15 @@ function gm(i, t, e) {
|
|
|
29726
29726
|
var r = ue.exec(t.slice(e, e + 2));
|
|
29727
29727
|
return r ? (i.y = +r[0] + (+r[0] > 68 ? 1900 : 2e3), e + r[0].length) : -1;
|
|
29728
29728
|
}
|
|
29729
|
-
function
|
|
29729
|
+
function aA(i, t, e) {
|
|
29730
29730
|
var r = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(e, e + 6));
|
|
29731
29731
|
return r ? (i.Z = r[1] ? 0 : -(r[2] + (r[3] || "00")), e + r[0].length) : -1;
|
|
29732
29732
|
}
|
|
29733
|
-
function
|
|
29733
|
+
function lA(i, t, e) {
|
|
29734
29734
|
var r = ue.exec(t.slice(e, e + 1));
|
|
29735
29735
|
return r ? (i.q = r[0] * 3 - 3, e + r[0].length) : -1;
|
|
29736
29736
|
}
|
|
29737
|
-
function
|
|
29737
|
+
function hA(i, t, e) {
|
|
29738
29738
|
var r = ue.exec(t.slice(e, e + 2));
|
|
29739
29739
|
return r ? (i.m = r[0] - 1, e + r[0].length) : -1;
|
|
29740
29740
|
}
|
|
@@ -29742,7 +29742,7 @@ function ym(i, t, e) {
|
|
|
29742
29742
|
var r = ue.exec(t.slice(e, e + 2));
|
|
29743
29743
|
return r ? (i.d = +r[0], e + r[0].length) : -1;
|
|
29744
29744
|
}
|
|
29745
|
-
function
|
|
29745
|
+
function cA(i, t, e) {
|
|
29746
29746
|
var r = ue.exec(t.slice(e, e + 3));
|
|
29747
29747
|
return r ? (i.m = 0, i.d = +r[0], e + r[0].length) : -1;
|
|
29748
29748
|
}
|
|
@@ -29750,159 +29750,159 @@ function bm(i, t, e) {
|
|
|
29750
29750
|
var r = ue.exec(t.slice(e, e + 2));
|
|
29751
29751
|
return r ? (i.H = +r[0], e + r[0].length) : -1;
|
|
29752
29752
|
}
|
|
29753
|
-
function
|
|
29753
|
+
function uA(i, t, e) {
|
|
29754
29754
|
var r = ue.exec(t.slice(e, e + 2));
|
|
29755
29755
|
return r ? (i.M = +r[0], e + r[0].length) : -1;
|
|
29756
29756
|
}
|
|
29757
|
-
function
|
|
29757
|
+
function dA(i, t, e) {
|
|
29758
29758
|
var r = ue.exec(t.slice(e, e + 2));
|
|
29759
29759
|
return r ? (i.S = +r[0], e + r[0].length) : -1;
|
|
29760
29760
|
}
|
|
29761
|
-
function
|
|
29761
|
+
function fA(i, t, e) {
|
|
29762
29762
|
var r = ue.exec(t.slice(e, e + 3));
|
|
29763
29763
|
return r ? (i.L = +r[0], e + r[0].length) : -1;
|
|
29764
29764
|
}
|
|
29765
|
-
function
|
|
29765
|
+
function pA(i, t, e) {
|
|
29766
29766
|
var r = ue.exec(t.slice(e, e + 6));
|
|
29767
29767
|
return r ? (i.L = Math.floor(r[0] / 1e3), e + r[0].length) : -1;
|
|
29768
29768
|
}
|
|
29769
|
-
function
|
|
29770
|
-
var r =
|
|
29769
|
+
function mA(i, t, e) {
|
|
29770
|
+
var r = q3.exec(t.slice(e, e + 1));
|
|
29771
29771
|
return r ? e + r[0].length : -1;
|
|
29772
29772
|
}
|
|
29773
|
-
function
|
|
29773
|
+
function gA(i, t, e) {
|
|
29774
29774
|
var r = ue.exec(t.slice(e));
|
|
29775
29775
|
return r ? (i.Q = +r[0], e + r[0].length) : -1;
|
|
29776
29776
|
}
|
|
29777
|
-
function
|
|
29777
|
+
function yA(i, t, e) {
|
|
29778
29778
|
var r = ue.exec(t.slice(e));
|
|
29779
29779
|
return r ? (i.s = +r[0], e + r[0].length) : -1;
|
|
29780
29780
|
}
|
|
29781
29781
|
function xm(i, t) {
|
|
29782
29782
|
return At(i.getDate(), t, 2);
|
|
29783
29783
|
}
|
|
29784
|
-
function
|
|
29784
|
+
function bA(i, t) {
|
|
29785
29785
|
return At(i.getHours(), t, 2);
|
|
29786
29786
|
}
|
|
29787
|
-
function
|
|
29787
|
+
function xA(i, t) {
|
|
29788
29788
|
return At(i.getHours() % 12 || 12, t, 2);
|
|
29789
29789
|
}
|
|
29790
|
-
function
|
|
29790
|
+
function _A(i, t) {
|
|
29791
29791
|
return At(1 + ca.count(yr(i), i), t, 3);
|
|
29792
29792
|
}
|
|
29793
29793
|
function tb(i, t) {
|
|
29794
29794
|
return At(i.getMilliseconds(), t, 3);
|
|
29795
29795
|
}
|
|
29796
|
-
function
|
|
29796
|
+
function vA(i, t) {
|
|
29797
29797
|
return tb(i, t) + "000";
|
|
29798
29798
|
}
|
|
29799
|
-
function
|
|
29799
|
+
function wA(i, t) {
|
|
29800
29800
|
return At(i.getMonth() + 1, t, 2);
|
|
29801
29801
|
}
|
|
29802
|
-
function
|
|
29802
|
+
function TA(i, t) {
|
|
29803
29803
|
return At(i.getMinutes(), t, 2);
|
|
29804
29804
|
}
|
|
29805
|
-
function
|
|
29805
|
+
function SA(i, t) {
|
|
29806
29806
|
return At(i.getSeconds(), t, 2);
|
|
29807
29807
|
}
|
|
29808
|
-
function
|
|
29808
|
+
function CA(i) {
|
|
29809
29809
|
var t = i.getDay();
|
|
29810
29810
|
return t === 0 ? 7 : t;
|
|
29811
29811
|
}
|
|
29812
|
-
function
|
|
29812
|
+
function EA(i, t) {
|
|
29813
29813
|
return At(Rh.count(yr(i) - 1, i), t, 2);
|
|
29814
29814
|
}
|
|
29815
29815
|
function eb(i) {
|
|
29816
29816
|
var t = i.getDay();
|
|
29817
29817
|
return t >= 4 || t === 0 ? Hs(i) : Hs.ceil(i);
|
|
29818
29818
|
}
|
|
29819
|
-
function
|
|
29819
|
+
function IA(i, t) {
|
|
29820
29820
|
return i = eb(i), At(Hs.count(yr(i), i) + (yr(i).getDay() === 4), t, 2);
|
|
29821
29821
|
}
|
|
29822
|
-
function
|
|
29822
|
+
function AA(i) {
|
|
29823
29823
|
return i.getDay();
|
|
29824
29824
|
}
|
|
29825
|
-
function
|
|
29825
|
+
function MA(i, t) {
|
|
29826
29826
|
return At(ch.count(yr(i) - 1, i), t, 2);
|
|
29827
29827
|
}
|
|
29828
|
-
function
|
|
29828
|
+
function RA(i, t) {
|
|
29829
29829
|
return At(i.getFullYear() % 100, t, 2);
|
|
29830
29830
|
}
|
|
29831
|
-
function
|
|
29831
|
+
function PA(i, t) {
|
|
29832
29832
|
return i = eb(i), At(i.getFullYear() % 100, t, 2);
|
|
29833
29833
|
}
|
|
29834
|
-
function
|
|
29834
|
+
function LA(i, t) {
|
|
29835
29835
|
return At(i.getFullYear() % 1e4, t, 4);
|
|
29836
29836
|
}
|
|
29837
|
-
function
|
|
29837
|
+
function GA(i, t) {
|
|
29838
29838
|
var e = i.getDay();
|
|
29839
29839
|
return i = e >= 4 || e === 0 ? Hs(i) : Hs.ceil(i), At(i.getFullYear() % 1e4, t, 4);
|
|
29840
29840
|
}
|
|
29841
|
-
function
|
|
29841
|
+
function kA(i) {
|
|
29842
29842
|
var t = i.getTimezoneOffset();
|
|
29843
29843
|
return (t > 0 ? "-" : (t *= -1, "+")) + At(t / 60 | 0, "0", 2) + At(t % 60, "0", 2);
|
|
29844
29844
|
}
|
|
29845
29845
|
function _m(i, t) {
|
|
29846
29846
|
return At(i.getUTCDate(), t, 2);
|
|
29847
29847
|
}
|
|
29848
|
-
function
|
|
29848
|
+
function FA(i, t) {
|
|
29849
29849
|
return At(i.getUTCHours(), t, 2);
|
|
29850
29850
|
}
|
|
29851
|
-
function
|
|
29851
|
+
function DA(i, t) {
|
|
29852
29852
|
return At(i.getUTCHours() % 12 || 12, t, 2);
|
|
29853
29853
|
}
|
|
29854
|
-
function
|
|
29854
|
+
function NA(i, t) {
|
|
29855
29855
|
return At(1 + Bf.count(On(i), i), t, 3);
|
|
29856
29856
|
}
|
|
29857
29857
|
function ib(i, t) {
|
|
29858
29858
|
return At(i.getUTCMilliseconds(), t, 3);
|
|
29859
29859
|
}
|
|
29860
|
-
function
|
|
29860
|
+
function OA(i, t) {
|
|
29861
29861
|
return ib(i, t) + "000";
|
|
29862
29862
|
}
|
|
29863
|
-
function
|
|
29863
|
+
function BA(i, t) {
|
|
29864
29864
|
return At(i.getUTCMonth() + 1, t, 2);
|
|
29865
29865
|
}
|
|
29866
|
-
function
|
|
29866
|
+
function UA(i, t) {
|
|
29867
29867
|
return At(i.getUTCMinutes(), t, 2);
|
|
29868
29868
|
}
|
|
29869
|
-
function
|
|
29869
|
+
function XA(i, t) {
|
|
29870
29870
|
return At(i.getUTCSeconds(), t, 2);
|
|
29871
29871
|
}
|
|
29872
|
-
function
|
|
29872
|
+
function WA(i) {
|
|
29873
29873
|
var t = i.getUTCDay();
|
|
29874
29874
|
return t === 0 ? 7 : t;
|
|
29875
29875
|
}
|
|
29876
|
-
function
|
|
29877
|
-
return At(
|
|
29876
|
+
function ZA(i, t) {
|
|
29877
|
+
return At(qy.count(On(i) - 1, i), t, 2);
|
|
29878
29878
|
}
|
|
29879
29879
|
function rb(i) {
|
|
29880
29880
|
var t = i.getUTCDay();
|
|
29881
29881
|
return t >= 4 || t === 0 ? Ks(i) : Ks.ceil(i);
|
|
29882
29882
|
}
|
|
29883
|
-
function
|
|
29883
|
+
function VA(i, t) {
|
|
29884
29884
|
return i = rb(i), At(Ks.count(On(i), i) + (On(i).getUTCDay() === 4), t, 2);
|
|
29885
29885
|
}
|
|
29886
|
-
function
|
|
29886
|
+
function HA(i) {
|
|
29887
29887
|
return i.getUTCDay();
|
|
29888
29888
|
}
|
|
29889
|
-
function
|
|
29889
|
+
function KA(i, t) {
|
|
29890
29890
|
return At(uh.count(On(i) - 1, i), t, 2);
|
|
29891
29891
|
}
|
|
29892
|
-
function
|
|
29892
|
+
function zA(i, t) {
|
|
29893
29893
|
return At(i.getUTCFullYear() % 100, t, 2);
|
|
29894
29894
|
}
|
|
29895
|
-
function
|
|
29895
|
+
function YA(i, t) {
|
|
29896
29896
|
return i = rb(i), At(i.getUTCFullYear() % 100, t, 2);
|
|
29897
29897
|
}
|
|
29898
|
-
function
|
|
29898
|
+
function jA(i, t) {
|
|
29899
29899
|
return At(i.getUTCFullYear() % 1e4, t, 4);
|
|
29900
29900
|
}
|
|
29901
|
-
function
|
|
29901
|
+
function JA(i, t) {
|
|
29902
29902
|
var e = i.getUTCDay();
|
|
29903
29903
|
return i = e >= 4 || e === 0 ? Ks(i) : Ks.ceil(i), At(i.getUTCFullYear() % 1e4, t, 4);
|
|
29904
29904
|
}
|
|
29905
|
-
function $
|
|
29905
|
+
function $A() {
|
|
29906
29906
|
return "+0000";
|
|
29907
29907
|
}
|
|
29908
29908
|
function vm() {
|
|
@@ -29915,7 +29915,7 @@ function Tm(i) {
|
|
|
29915
29915
|
return Math.floor(+i / 1e3);
|
|
29916
29916
|
}
|
|
29917
29917
|
var as, nb;
|
|
29918
|
-
|
|
29918
|
+
QA({
|
|
29919
29919
|
dateTime: "%x, %X",
|
|
29920
29920
|
date: "%-m/%-d/%Y",
|
|
29921
29921
|
time: "%-I:%M:%S %p",
|
|
@@ -29925,24 +29925,24 @@ QM({
|
|
|
29925
29925
|
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
|
|
29926
29926
|
shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
|
|
29927
29927
|
});
|
|
29928
|
-
function
|
|
29929
|
-
return as =
|
|
29928
|
+
function QA(i) {
|
|
29929
|
+
return as = Q3(i), nb = as.format, as.parse, as.utcFormat, as.utcParse, as;
|
|
29930
29930
|
}
|
|
29931
|
-
function
|
|
29931
|
+
function qA(i) {
|
|
29932
29932
|
return new Date(i);
|
|
29933
29933
|
}
|
|
29934
|
-
function
|
|
29934
|
+
function tM(i) {
|
|
29935
29935
|
return i instanceof Date ? +i : +/* @__PURE__ */ new Date(+i);
|
|
29936
29936
|
}
|
|
29937
29937
|
function sb(i, t, e, r, n, s, o, a, l, h) {
|
|
29938
|
-
var c = $
|
|
29938
|
+
var c = $y(), u = c.invert, d = c.domain, f = h(".%L"), p = h(":%S"), m = h("%I:%M"), g = h("%I %p"), y = h("%a %d"), x = h("%b %d"), b = h("%B"), v = h("%Y");
|
|
29939
29939
|
function w(S) {
|
|
29940
29940
|
return (l(S) < S ? f : a(S) < S ? p : o(S) < S ? m : s(S) < S ? g : r(S) < S ? n(S) < S ? y : x : e(S) < S ? b : v)(S);
|
|
29941
29941
|
}
|
|
29942
29942
|
return c.invert = function(S) {
|
|
29943
29943
|
return new Date(u(S));
|
|
29944
29944
|
}, c.domain = function(S) {
|
|
29945
|
-
return arguments.length ? d(Array.from(S,
|
|
29945
|
+
return arguments.length ? d(Array.from(S, tM)) : d().map(qA);
|
|
29946
29946
|
}, c.ticks = function(S) {
|
|
29947
29947
|
var E = d();
|
|
29948
29948
|
return i(E[0], E[E.length - 1], S ?? 10);
|
|
@@ -29950,13 +29950,13 @@ function sb(i, t, e, r, n, s, o, a, l, h) {
|
|
|
29950
29950
|
return E == null ? w : h(E);
|
|
29951
29951
|
}, c.nice = function(S) {
|
|
29952
29952
|
var E = d();
|
|
29953
|
-
return (!S || typeof S.range != "function") && (S = t(E[0], E[E.length - 1], S ?? 10)), S ? d(
|
|
29953
|
+
return (!S || typeof S.range != "function") && (S = t(E[0], E[E.length - 1], S ?? 10)), S ? d(D3(E, S)) : c;
|
|
29954
29954
|
}, c.copy = function() {
|
|
29955
|
-
return
|
|
29955
|
+
return Jy(c, sb(i, t, e, r, n, s, o, a, l, h));
|
|
29956
29956
|
}, c;
|
|
29957
29957
|
}
|
|
29958
|
-
function
|
|
29959
|
-
return
|
|
29958
|
+
function eM() {
|
|
29959
|
+
return jy.apply(sb(J3, $3, yr, Uf, Rh, ca, Of, Nf, ws, nb).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), arguments);
|
|
29960
29960
|
}
|
|
29961
29961
|
function Lo(i, t, e) {
|
|
29962
29962
|
this.k = i, this.x = t, this.y = e;
|
|
@@ -29999,32 +29999,32 @@ Lo.prototype = {
|
|
|
29999
29999
|
};
|
|
30000
30000
|
Lo.prototype;
|
|
30001
30001
|
function ob(i) {
|
|
30002
|
-
return i.mode === "temporal" || i.mode === "left-aligned" ?
|
|
30002
|
+
return i.mode === "temporal" || i.mode === "left-aligned" ? iM(i) : rM(i);
|
|
30003
30003
|
}
|
|
30004
|
-
function
|
|
30005
|
-
return
|
|
30004
|
+
function iM({ domain: i, range: t }) {
|
|
30005
|
+
return eM().domain(i).range(t);
|
|
30006
30006
|
}
|
|
30007
|
-
function
|
|
30008
|
-
return
|
|
30007
|
+
function rM({ domain: i, range: t }) {
|
|
30008
|
+
return Qy().domain(i).range(t);
|
|
30009
30009
|
}
|
|
30010
30010
|
function Zd(i) {
|
|
30011
30011
|
return {
|
|
30012
30012
|
mode: et.horizontal,
|
|
30013
|
-
range:
|
|
30014
|
-
domain:
|
|
30013
|
+
range: T5(),
|
|
30014
|
+
domain: S5(i)
|
|
30015
30015
|
};
|
|
30016
30016
|
}
|
|
30017
|
-
function
|
|
30017
|
+
function nM() {
|
|
30018
30018
|
return {
|
|
30019
30019
|
mode: et.vertical
|
|
30020
30020
|
};
|
|
30021
30021
|
}
|
|
30022
30022
|
let Gs = null;
|
|
30023
|
-
async function
|
|
30023
|
+
async function sM() {
|
|
30024
30024
|
const i = await Yi();
|
|
30025
30025
|
Sm(i.start_time), Q.on("layoutSettingsUpdated", () => Sm(i.start_time));
|
|
30026
30026
|
}
|
|
30027
|
-
function
|
|
30027
|
+
function oM() {
|
|
30028
30028
|
Gs = null;
|
|
30029
30029
|
}
|
|
30030
30030
|
async function si() {
|
|
@@ -30036,7 +30036,7 @@ async function Sm(i) {
|
|
|
30036
30036
|
Gs = ob(e), Q.emit(t, Gs);
|
|
30037
30037
|
}
|
|
30038
30038
|
let Ie = null, Vd = null;
|
|
30039
|
-
async function
|
|
30039
|
+
async function aM() {
|
|
30040
30040
|
const i = await qt(), t = await ff();
|
|
30041
30041
|
Ie = new NI({
|
|
30042
30042
|
screenHeight: t.clientHeight,
|
|
@@ -30053,24 +30053,24 @@ async function aR() {
|
|
|
30053
30053
|
Q.emit("viewportMoved", null);
|
|
30054
30054
|
}).on("moved-end", () => {
|
|
30055
30055
|
Q.emit("viewportMoved", null);
|
|
30056
|
-
}), i.stage.addChild(Ie), Q.emit("viewportCreated", Ie), Q.on("applicationResized",
|
|
30056
|
+
}), i.stage.addChild(Ie), Q.emit("viewportCreated", Ie), Q.on("applicationResized", pM), Q.on("scaleUpdated", () => ra()), dM();
|
|
30057
30057
|
}
|
|
30058
|
-
function
|
|
30058
|
+
function lM() {
|
|
30059
30059
|
Ie = null, Vd = null;
|
|
30060
30060
|
}
|
|
30061
30061
|
async function Xf({ animate: i } = {}) {
|
|
30062
30062
|
const e = (await te()).getChildByName(Km);
|
|
30063
30063
|
if (!e)
|
|
30064
30064
|
throw new Error("Nodes container not found");
|
|
30065
|
-
|
|
30065
|
+
yM();
|
|
30066
30066
|
const { x: r, y: n, width: s, height: o } = e.getLocalBounds();
|
|
30067
30067
|
if (!s || !o) {
|
|
30068
|
-
|
|
30068
|
+
cM({ animate: i });
|
|
30069
30069
|
return;
|
|
30070
30070
|
}
|
|
30071
|
-
|
|
30071
|
+
hM({ x: r, y: n, width: s, height: o, animate: i });
|
|
30072
30072
|
}
|
|
30073
|
-
async function
|
|
30073
|
+
async function hM({ x: i, y: t, width: e, height: r, animate: n }) {
|
|
30074
30074
|
const s = await Pt(), o = await te(), {
|
|
30075
30075
|
guideTextSize: a,
|
|
30076
30076
|
guideTextTopPadding: l,
|
|
@@ -30092,7 +30092,7 @@ async function hR({ x: i, y: t, width: e, height: r, animate: n }) {
|
|
|
30092
30092
|
}
|
|
30093
30093
|
});
|
|
30094
30094
|
}
|
|
30095
|
-
async function
|
|
30095
|
+
async function cM({ animate: i }) {
|
|
30096
30096
|
const t = await Yi(), e = await Pt(), r = await te(), n = await si();
|
|
30097
30097
|
let s = n(t.start_time) - e.styles.columnGap, o = n(t.end_time ?? /* @__PURE__ */ new Date()) + e.styles.columnGap;
|
|
30098
30098
|
if (s > o) {
|
|
@@ -30118,9 +30118,9 @@ async function te() {
|
|
|
30118
30118
|
return Ie || await Fe("viewportCreated");
|
|
30119
30119
|
}
|
|
30120
30120
|
function ab(i) {
|
|
30121
|
-
|
|
30121
|
+
Xy(Vd, i) || (Vd = i, Q.emit("viewportDateRangeUpdated", i));
|
|
30122
30122
|
}
|
|
30123
|
-
function
|
|
30123
|
+
function uM({ xOffset: i, yOffset: t }) {
|
|
30124
30124
|
if (!Ie)
|
|
30125
30125
|
return;
|
|
30126
30126
|
const { x: e, y: r } = Ie.transform.position;
|
|
@@ -30131,7 +30131,7 @@ function uR({ xOffset: i, yOffset: t }) {
|
|
|
30131
30131
|
Ie.transform.scale.y
|
|
30132
30132
|
);
|
|
30133
30133
|
}
|
|
30134
|
-
async function
|
|
30134
|
+
async function dM() {
|
|
30135
30135
|
const i = await te();
|
|
30136
30136
|
ra(), i.on("moved", () => ra());
|
|
30137
30137
|
}
|
|
@@ -30143,16 +30143,16 @@ async function lb() {
|
|
|
30143
30143
|
const i = await te(), t = await si(), e = t.invert(i.left), r = t.invert(i.right);
|
|
30144
30144
|
return e instanceof Date && r instanceof Date ? [e, r] : null;
|
|
30145
30145
|
}
|
|
30146
|
-
async function
|
|
30146
|
+
async function fM(i) {
|
|
30147
30147
|
const t = await lb(), e = await Qt();
|
|
30148
|
-
if (i === void 0 || e.isDependency() ||
|
|
30148
|
+
if (i === void 0 || e.isDependency() || Xy(i, t))
|
|
30149
30149
|
return;
|
|
30150
30150
|
const r = await te(), n = await si(), [s, o] = i, a = n(s), l = n(o), h = a + (l - a) / 2;
|
|
30151
30151
|
ab(i), r.fitWidth(l - a, !0), r.moveCenter(h, r.center.y);
|
|
30152
30152
|
}
|
|
30153
|
-
async function
|
|
30153
|
+
async function pM() {
|
|
30154
30154
|
const i = await qt(), t = await te(), e = await ff(), r = t.screenWidth, n = t.screenHeight, s = e.clientWidth, o = e.clientHeight, a = (s - r) / 2, l = (o - n) / 2;
|
|
30155
|
-
t.resize(i.screen.width, i.screen.height),
|
|
30155
|
+
t.resize(i.screen.width, i.screen.height), uM({
|
|
30156
30156
|
xOffset: a,
|
|
30157
30157
|
yOffset: l
|
|
30158
30158
|
});
|
|
@@ -30193,7 +30193,7 @@ class cl {
|
|
|
30193
30193
|
}
|
|
30194
30194
|
}
|
|
30195
30195
|
let ki = null, $e = null, Ni = null, sr = null, gi = null;
|
|
30196
|
-
async function
|
|
30196
|
+
async function mM() {
|
|
30197
30197
|
const i = await te(), t = await qt();
|
|
30198
30198
|
ki = new sI({
|
|
30199
30199
|
toggle: "renderable"
|
|
@@ -30204,20 +30204,20 @@ async function mR() {
|
|
|
30204
30204
|
}
|
|
30205
30205
|
}), Q.emit("cullCreated", ki), Q.emit("labelCullCreated", $e), Q.emit("iconCullCreated", $e), Q.emit("edgeCullCreated", gi), Q.emit("toggleCullCreated", sr);
|
|
30206
30206
|
}
|
|
30207
|
-
function
|
|
30207
|
+
function gM() {
|
|
30208
30208
|
ki = null, $e == null || $e.clear(), $e = null, Ni == null || Ni.clear(), Ni = null, gi == null || gi.clear(), gi = null, sr == null || sr.clear(), sr = null;
|
|
30209
30209
|
}
|
|
30210
30210
|
async function Ph() {
|
|
30211
30211
|
const i = await te();
|
|
30212
30212
|
i.dirty = !0;
|
|
30213
30213
|
}
|
|
30214
|
-
function
|
|
30214
|
+
function yM() {
|
|
30215
30215
|
ki && ki.uncull();
|
|
30216
30216
|
}
|
|
30217
30217
|
async function hb() {
|
|
30218
30218
|
return ki || await Fe("cullCreated");
|
|
30219
30219
|
}
|
|
30220
|
-
async function
|
|
30220
|
+
async function bM() {
|
|
30221
30221
|
return gi || await Fe("edgeCullCreated");
|
|
30222
30222
|
}
|
|
30223
30223
|
async function cb() {
|
|
@@ -30230,7 +30230,7 @@ async function db() {
|
|
|
30230
30230
|
const i = await Qt(), t = await Pt();
|
|
30231
30231
|
function e(r, n, s) {
|
|
30232
30232
|
const a = i.disableAnimations || s ? 0 : t.animationDuration / 1e3;
|
|
30233
|
-
return
|
|
30233
|
+
return Uy.to(r, {
|
|
30234
30234
|
...n,
|
|
30235
30235
|
duration: a,
|
|
30236
30236
|
ease: "power1.out",
|
|
@@ -30244,7 +30244,7 @@ async function db() {
|
|
|
30244
30244
|
};
|
|
30245
30245
|
}
|
|
30246
30246
|
let Il = /* @__PURE__ */ new Map();
|
|
30247
|
-
function
|
|
30247
|
+
function xM() {
|
|
30248
30248
|
Il = /* @__PURE__ */ new Map();
|
|
30249
30249
|
}
|
|
30250
30250
|
async function ua(i, t) {
|
|
@@ -30254,7 +30254,7 @@ async function ua(i, t) {
|
|
|
30254
30254
|
const r = await i(...t);
|
|
30255
30255
|
return Il.set(e, r), r;
|
|
30256
30256
|
}
|
|
30257
|
-
async function
|
|
30257
|
+
async function _M({ size: i, stroke: t = 1, radius: e = 0 }) {
|
|
30258
30258
|
const r = await qt(), n = new Vr();
|
|
30259
30259
|
return n.lineStyle(t, "#fff", 1, 0), n.drawRoundedRect(0, 0, i * 2, i * 2, e), r.renderer.generateTexture(n, {
|
|
30260
30260
|
// drew a rounded rectangle and then just using one corner as the "arrow"
|
|
@@ -30264,7 +30264,7 @@ async function _R({ size: i, stroke: t = 1, radius: e = 0 }) {
|
|
|
30264
30264
|
});
|
|
30265
30265
|
}
|
|
30266
30266
|
async function Go(i) {
|
|
30267
|
-
return await ua(
|
|
30267
|
+
return await ua(_M, [i]);
|
|
30268
30268
|
}
|
|
30269
30269
|
var dh = /* @__PURE__ */ ((i) => (i[i.Up = 0] = "Up", i[i.Down = 180] = "Down", i[i.Left = 270] = "Left", i[i.Right = 90] = "Right", i))(dh || {});
|
|
30270
30270
|
function fb() {
|
|
@@ -30282,21 +30282,21 @@ function fb() {
|
|
|
30282
30282
|
render: t
|
|
30283
30283
|
};
|
|
30284
30284
|
}
|
|
30285
|
-
async function
|
|
30285
|
+
async function vM() {
|
|
30286
30286
|
const i = await qt(), t = new Vr();
|
|
30287
30287
|
return t.beginFill("#fff"), t.drawRect(0, 0, 1, 1), t.endFill(), i.renderer.generateTexture(t, {
|
|
30288
30288
|
wrapMode: Oi.REPEAT
|
|
30289
30289
|
});
|
|
30290
30290
|
}
|
|
30291
30291
|
async function Wf() {
|
|
30292
|
-
return await ua(
|
|
30292
|
+
return await ua(vM, []);
|
|
30293
30293
|
}
|
|
30294
30294
|
function Hd(i, t) {
|
|
30295
30295
|
return Array.from({ length: i }, (e, r) => t(r));
|
|
30296
30296
|
}
|
|
30297
|
-
const
|
|
30298
|
-
async function
|
|
30299
|
-
const i = await Pt(), t = await hb(), e = await
|
|
30297
|
+
const wM = 8, TM = 2;
|
|
30298
|
+
async function SM() {
|
|
30299
|
+
const i = await Pt(), t = await hb(), e = await bM(), { animate: r } = await db(), n = new St(), { element: s, render: o } = await fb(), a = await Wf(), l = Hd(Jm, () => new dt()), h = new QS(a, l);
|
|
30300
30300
|
let c = !1;
|
|
30301
30301
|
n.name = ox, n.addChild(s), n.addChild(h), t.addAll([s, h]), e.add(n);
|
|
30302
30302
|
async function u() {
|
|
@@ -30319,12 +30319,12 @@ async function SR() {
|
|
|
30319
30319
|
x: p.x,
|
|
30320
30320
|
y: p.y
|
|
30321
30321
|
}, !c), r(s, {
|
|
30322
|
-
x: m.x -
|
|
30322
|
+
x: m.x - wM,
|
|
30323
30323
|
y: m.y
|
|
30324
30324
|
}, !c), c = !0;
|
|
30325
30325
|
}
|
|
30326
30326
|
function f({ x: p, y: m }) {
|
|
30327
|
-
const g = [], y = { x: 0, y: 0 }, x = { x: p -
|
|
30327
|
+
const g = [], y = { x: 0, y: 0 }, x = { x: p - TM, y: m }, b = {
|
|
30328
30328
|
x: Cm(y.x, { source: y, target: x }),
|
|
30329
30329
|
y: y.y
|
|
30330
30330
|
}, v = {
|
|
@@ -30336,7 +30336,7 @@ async function SR() {
|
|
|
30336
30336
|
g[w] = x;
|
|
30337
30337
|
continue;
|
|
30338
30338
|
}
|
|
30339
|
-
const S =
|
|
30339
|
+
const S = CM(w, {
|
|
30340
30340
|
source: y,
|
|
30341
30341
|
target: x,
|
|
30342
30342
|
sourceBezier: b,
|
|
@@ -30356,11 +30356,11 @@ function Cm(i, { source: t, target: e }, r) {
|
|
|
30356
30356
|
const n = (e.x - t.x) / 2;
|
|
30357
30357
|
return i + (n > tp ? n : tp) * (r ? -1 : 1);
|
|
30358
30358
|
}
|
|
30359
|
-
function
|
|
30359
|
+
function CM(i, t) {
|
|
30360
30360
|
const e = i / Jm, { source: r, target: n, sourceBezier: s, targetBezier: o } = t, a = r.x + (s.x - r.x) * e, l = r.y + (s.y - r.y) * e, h = s.x + (o.x - s.x) * e, c = s.y + (o.y - s.y) * e, u = o.x + (n.x - o.x) * e, d = o.y + (n.y - o.y) * e, f = a + (h - a) * e, p = l + (c - l) * e, m = h + (u - h) * e, g = c + (d - c) * e, y = f + (m - f) * e, x = p + (g - p) * e;
|
|
30361
30361
|
return { x: y, y: x };
|
|
30362
30362
|
}
|
|
30363
|
-
async function
|
|
30363
|
+
async function EM({ height: i, radius: t }) {
|
|
30364
30364
|
const e = await qt(), r = new Vr();
|
|
30365
30365
|
return r.beginFill("#fff"), r.drawRoundedRect(0, 0, t * 2, i, t), r.endFill(), e.renderer.generateTexture(r, {
|
|
30366
30366
|
// drew a rounded rectangle and then just using half of the graphic to get just the left "cap"
|
|
@@ -30368,13 +30368,13 @@ async function ER({ height: i, radius: t }) {
|
|
|
30368
30368
|
resolution: Ym
|
|
30369
30369
|
});
|
|
30370
30370
|
}
|
|
30371
|
-
async function
|
|
30372
|
-
return await ua(
|
|
30371
|
+
async function IM(i) {
|
|
30372
|
+
return await ua(EM, [i]);
|
|
30373
30373
|
}
|
|
30374
|
-
function
|
|
30374
|
+
function AM() {
|
|
30375
30375
|
const i = new jt(), t = new jt();
|
|
30376
30376
|
async function e(r) {
|
|
30377
|
-
const n = await
|
|
30377
|
+
const n = await IM(r);
|
|
30378
30378
|
return i.texture = n, t.texture = n, t.anchor.x = 1, t.scale.x = -1, {
|
|
30379
30379
|
left: i,
|
|
30380
30380
|
right: t
|
|
@@ -30391,7 +30391,7 @@ async function br() {
|
|
|
30391
30391
|
return new jt(i);
|
|
30392
30392
|
}
|
|
30393
30393
|
async function Zf() {
|
|
30394
|
-
const i = new St(), t = await br(), { left: e, right: r, render: n } = await
|
|
30394
|
+
const i = new St(), t = await br(), { left: e, right: r, render: n } = await AM();
|
|
30395
30395
|
i.addChild(t), i.addChild(e), i.addChild(r);
|
|
30396
30396
|
async function s(l) {
|
|
30397
30397
|
const { width: h, x: c, visible: u } = a(l);
|
|
@@ -30498,7 +30498,7 @@ async function Lh() {
|
|
|
30498
30498
|
render: n
|
|
30499
30499
|
};
|
|
30500
30500
|
}
|
|
30501
|
-
async function
|
|
30501
|
+
async function MM() {
|
|
30502
30502
|
const i = await Pt(), t = new St(), { element: e, render: r } = await Zf(), { element: n, render: s } = await Lh();
|
|
30503
30503
|
t.addChild(e), t.addChild(n);
|
|
30504
30504
|
async function o({ selected: a, width: l, height: h }) {
|
|
@@ -30523,8 +30523,8 @@ async function MR() {
|
|
|
30523
30523
|
render: o
|
|
30524
30524
|
};
|
|
30525
30525
|
}
|
|
30526
|
-
var
|
|
30527
|
-
class
|
|
30526
|
+
var RM = Object.defineProperty, PM = (i, t, e) => t in i ? RM(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e, vo = (i, t, e) => (PM(i, typeof t != "symbol" ? t + "" : t, e), e);
|
|
30527
|
+
class LM extends St {
|
|
30528
30528
|
/**
|
|
30529
30529
|
* Creates a Circular ProgressBar.
|
|
30530
30530
|
* @param { number } options - Options object to use.
|
|
@@ -30587,8 +30587,8 @@ class LR extends St {
|
|
|
30587
30587
|
return this._progress;
|
|
30588
30588
|
}
|
|
30589
30589
|
}
|
|
30590
|
-
async function
|
|
30591
|
-
const t = await ub(), e = new
|
|
30590
|
+
async function GM(i = {}) {
|
|
30591
|
+
const t = await ub(), e = new LM({
|
|
30592
30592
|
fillColor: 16777215,
|
|
30593
30593
|
cullAtZoomThreshold: !0,
|
|
30594
30594
|
backgroundColor: 0,
|
|
@@ -30611,29 +30611,29 @@ async function GR(i = {}) {
|
|
|
30611
30611
|
render: r
|
|
30612
30612
|
};
|
|
30613
30613
|
}
|
|
30614
|
-
const kR = "data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_11_257)'%3e%3cpath%20d='M12%2022C17.5228%2022%2022%2017.5228%2022%2012C22%206.47715%2017.5228%202%2012%202C6.47715%202%202%206.47715%202%2012C2%2017.5228%206.47715%2022%2012%2022Z'%20stroke='white'%20stroke-width='2'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.25%207.2C7.25%206.67533%207.67533%206.25%208.2%206.25H15.8C16.3247%206.25%2016.75%206.67533%2016.75%207.2V16.6764C16.75%2017.3826%2016.0068%2017.8419%2015.3751%2017.5261L14%2016.8385L12.4249%2017.6261C12.1574%2017.7598%2011.8426%2017.7598%2011.5751%2017.6261L10%2016.8385L8.62485%2017.5261C7.9932%2017.8419%207.25%2017.3826%207.25%2016.6764V7.2ZM8.75%207.75V15.7865L9.57515%2015.3739C9.8426%2015.2402%2010.1574%2015.2402%2010.4249%2015.3739L12%2016.1615L13.5751%2015.3739C13.8426%2015.2402%2014.1574%2015.2402%2014.4249%2015.3739L15.25%2015.7865V7.75H8.75Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%2010.5C8%2010.2239%208.22386%2010%208.5%2010L8.68421%2010C8.96035%2010%209.18421%2010.2239%209.18421%2010.5C9.18421%2010.7761%208.96035%2011%208.68421%2011L8.5%2011C8.22386%2011%208%2010.7761%208%2010.5ZM9.56579%2010.5C9.56579%2010.2239%209.78965%2010%2010.0658%2010L10.4342%2010C10.7104%2010%2010.9342%2010.2239%2010.9342%2010.5C10.9342%2010.7761%2010.7104%2011%2010.4342%2011L10.0658%2011C9.78965%2011%209.56579%2010.7761%209.56579%2010.5ZM11.3158%2010.5C11.3158%2010.2239%2011.5396%2010%2011.8158%2010L12.1842%2010C12.4604%2010%2012.6842%2010.2239%2012.6842%2010.5C12.6842%2010.7761%2012.4604%2011%2012.1842%2011L11.8158%2011C11.5396%2011%2011.3158%2010.7761%2011.3158%2010.5ZM13.0658%2010.5C13.0658%2010.2239%2013.2896%2010%2013.5658%2010L13.9342%2010C14.2104%2010%2014.4342%2010.2239%2014.4342%2010.5C14.4342%2010.7761%2014.2104%2011%2013.9342%2011L13.5658%2011C13.2896%2011%2013.0658%2010.7761%2013.0658%2010.5ZM14.8158%2010.5C14.8158%2010.2239%2015.0396%2010%2015.3158%2010L15.5%2010C15.7761%2010%2016%2010.2239%2016%2010.5C16%2010.7761%2015.7761%2011%2015.5%2011L15.3158%2011C15.0396%2011%2014.8158%2010.7761%2014.8158%2010.5Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_11_257'%3e%3crect%20width='24'%20height='24'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", FR = "data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_11_270)'%3e%3cpath%20d='M12%2022C17.5228%2022%2022%2017.5228%2022%2012C22%206.47715%2017.5228%202%2012%202C6.47715%202%202%206.47715%202%2012C2%2017.5228%206.47715%2022%2012%2022Z'%20stroke='white'%20stroke-width='2'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%2012C8%2011.4477%208.44772%2011%209%2011H15C15.5523%2011%2016%2011.4477%2016%2012C16%2012.5523%2015.5523%2013%2015%2013H9C8.44772%2013%208%2012.5523%208%2012Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%2016C8%2015.4477%208.44772%2015%209%2015H11C11.5523%2015%2012%2015.4477%2012%2016C12%2016.5523%2011.5523%2017%2011%2017H9C8.44772%2017%208%2016.5523%208%2016Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%208C8%207.44772%208.44772%207%209%207H14C14.5523%207%2015%207.44772%2015%208C15%208.55228%2014.5523%209%2014%209H9C8.44772%209%208%208.55228%208%208Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_11_270'%3e%3crect%20width='24'%20height='24'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", DR = "data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_11_257)'%3e%3cpath%20d='M12%2022C17.5228%2022%2022%2017.5228%2022%2012C22%206.47715%2017.5228%202%2012%202C6.47715%202%202%206.47715%202%2012C2%2017.5228%206.47715%2022%2012%2022Z'%20stroke='white'%20stroke-width='2'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M7.25%207.2C7.25%206.67533%207.67533%206.25%208.2%206.25H15.8C16.3247%206.25%2016.75%206.67533%2016.75%207.2V16.6764C16.75%2017.3826%2016.0068%2017.8419%2015.3751%2017.5261L14%2016.8385L12.4249%2017.6261C12.1574%2017.7598%2011.8426%2017.7598%2011.5751%2017.6261L10%2016.8385L8.62485%2017.5261C7.9932%2017.8419%207.25%2017.3826%207.25%2016.6764V7.2ZM8.75%207.75V15.7865L9.57515%2015.3739C9.8426%2015.2402%2010.1574%2015.2402%2010.4249%2015.3739L12%2016.1615L13.5751%2015.3739C13.8426%2015.2402%2014.1574%2015.2402%2014.4249%2015.3739L15.25%2015.7865V7.75H8.75Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8%2010.5C8%2010.2239%208.22386%2010%208.5%2010L8.68421%2010C8.96035%2010%209.18421%2010.2239%209.18421%2010.5C9.18421%2010.7761%208.96035%2011%208.68421%2011L8.5%2011C8.22386%2011%208%2010.7761%208%2010.5ZM9.56579%2010.5C9.56579%2010.2239%209.78965%2010%2010.0658%2010L10.4342%2010C10.7104%2010%2010.9342%2010.2239%2010.9342%2010.5C10.9342%2010.7761%2010.7104%2011%2010.4342%2011L10.0658%2011C9.78965%2011%209.56579%2010.7761%209.56579%2010.5ZM11.3158%2010.5C11.3158%2010.2239%2011.5396%2010%2011.8158%2010L12.1842%2010C12.4604%2010%2012.6842%2010.2239%2012.6842%2010.5C12.6842%2010.7761%2012.4604%2011%2012.1842%2011L11.8158%2011C11.5396%2011%2011.3158%2010.7761%2011.3158%2010.5ZM13.0658%2010.5C13.0658%2010.2239%2013.2896%2010%2013.5658%2010L13.9342%2010C14.2104%2010%2014.4342%2010.2239%2014.4342%2010.5C14.4342%2010.7761%2014.2104%2011%2013.9342%2011L13.5658%2011C13.2896%2011%2013.0658%2010.7761%2013.0658%2010.5ZM14.8158%2010.5C14.8158%2010.2239%2015.0396%2010%2015.3158%2010L15.5%2010C15.7761%2010%2016%2010.2239%2016%2010.5C16%2010.7761%2015.7761%2011%2015.5%2011L15.3158%2011C15.0396%2011%2014.8158%2010.7761%2014.8158%2010.5Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_11_257'%3e%3crect%20width='24'%20height='24'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", NR = "data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_11_250)'%3e%3cpath%20d='M12%2022C17.5228%2022%2022%2017.5228%2022%2012C22%206.47715%2017.5228%202%2012%202C6.47715%202%202%206.47715%202%2012C2%2017.5228%206.47715%2022%2012%2022Z'%20stroke='white'%20stroke-width='2'/%3e%3crect%20x='7'%20y='7'%20width='4'%20height='4'%20rx='1'%20fill='white'/%3e%3crect%20x='13'%20y='7'%20width='4'%20height='4'%20rx='1'%20fill='white'/%3e%3crect%20x='13'%20y='13'%20width='4'%20height='4'%20rx='1'%20fill='white'/%3e%3crect%20x='7'%20y='13'%20width='4'%20height='4'%20rx='1'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_11_250'%3e%3crect%20width='24'%20height='24'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", OR = "data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_11_236)'%3e%3cpath%20d='M12%2022C17.5228%2022%2022%2017.5228%2022%2012C22%206.47715%2017.5228%202%2012%202C6.47715%202%202%206.47715%202%2012C2%2017.5228%206.47715%2022%2012%2022Z'%20stroke='white'%20stroke-width='2'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.619%2012.0268C13.3824%2011.9709%2013.1335%2012.0031%2012.9188%2012.1174L3.52996%2017.1174C3.04249%2017.377%202.85776%2017.9826%203.11736%2018.47C3.37696%2018.9575%203.98258%2019.1422%204.47005%2018.8826L13.5259%2014.06L20.7699%2015.7732C21.3073%2015.9003%2021.8461%2015.5676%2021.9732%2015.0301C22.1003%2014.4927%2021.7676%2013.954%2021.2302%2013.8268L13.619%2012.0268Z'%20fill='white'/%3e%3cpath%20d='M7.68063%2011C6.85218%2011%206.18063%2010.3284%206.18063%209.5C6.18063%208.67157%206.85218%208%207.68063%208C8.50908%208%209.18063%208.67157%209.18063%209.5C9.18063%2010.3284%208.50908%2011%207.68063%2011Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_11_236'%3e%3crect%20width='24'%20height='24'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", BR = "data:image/svg+xml,%3csvg%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_11_222)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M9.85431%201.20935C10.5491%201.07191%2011.2666%201%2012%201C12.7334%201%2013.4509%201.07191%2014.1457%201.20935L13.7576%203.17133C13.1899%203.05903%2012.6023%203%2012%203C11.3977%203%2010.8101%203.05903%2010.2424%203.17133L9.85431%201.20935ZM18.1125%202.85338C19.3116%203.65618%2020.3438%204.68839%2021.1466%205.88752L19.4847%207.00016C18.8273%206.01827%2017.9817%205.17268%2016.9998%204.51531L18.1125%202.85338ZM2.85338%205.88752C3.65618%204.68839%204.68839%203.65618%205.88752%202.85338L7.00016%204.51531C6.01827%205.17268%205.17268%206.01827%204.51531%207.00016L2.85338%205.88752ZM22.7906%209.85431C22.9281%2010.5491%2023%2011.2666%2023%2012C23%2012.7334%2022.9281%2013.4509%2022.7906%2014.1457L20.8287%2013.7576C20.941%2013.1899%2021%2012.6023%2021%2012C21%2011.3977%2020.941%2010.8101%2020.8287%2010.2424L22.7906%209.85431ZM1%2012C1%2011.2666%201.07191%2010.5491%201.20935%209.85431L3.17133%2010.2424C3.05903%2010.8101%203%2011.3977%203%2012C3%2012.6023%203.05903%2013.1899%203.17133%2013.7576L1.20935%2014.1457C1.07191%2013.4509%201%2012.7334%201%2012ZM21.1466%2018.1125C20.3438%2019.3116%2019.3116%2020.3438%2018.1125%2021.1466L16.9998%2019.4847C17.9817%2018.8273%2018.8273%2017.9817%2019.4847%2016.9998L21.1466%2018.1125ZM5.88752%2021.1466C4.68839%2020.3438%203.65618%2019.3116%202.85338%2018.1125L4.51531%2016.9998C5.17268%2017.9817%206.01827%2018.8273%207.00016%2019.4847L5.88752%2021.1466ZM12%2023C11.2666%2023%2010.5491%2022.9281%209.85431%2022.7906L10.2424%2020.8287C10.8101%2020.941%2011.3977%2021%2012%2021C12.6023%2021%2013.1899%2020.941%2013.7576%2020.8287L14.1457%2022.7906C13.4509%2022.9281%2012.7334%2023%2012%2023Z'%20fill='white'/%3e%3cpath%20d='M12%2014C10.8954%2014%2010%2013.1046%2010%2012C10%2010.8954%2010.8954%2010%2012%2010C13.1046%2010%2014%2010.8954%2014%2012C14%2013.1046%2013.1046%2014%2012%2014Z'%20fill='white'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_11_222'%3e%3crect%20width='24'%20height='24'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", UR = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
30614
|
+
const kM = "data:image/svg+xml,%3csvg%20viewBox='0%200%2020%2020'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_7_19)'%3e%3cmask%20id='mask0_7_19'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='-1'%20y='-1'%20width='22'%20height='22'%3e%3cpath%20d='M20.9091%20-0.909058H-0.909088V20.9091H20.9091V-0.909058Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_7_19)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M0%2010C0%204.47715%204.47715%200%2010%200C15.5228%200%2020%204.47715%2020%2010C20%2015.5228%2015.5228%2020%2010%2020C4.47715%2020%200%2015.5228%200%2010ZM10%201.81818C5.4813%201.81818%201.81818%205.4813%201.81818%2010C1.81818%2014.5187%205.48131%2018.1818%2010%2018.1818C14.5187%2018.1818%2018.1818%2014.5187%2018.1818%2010C18.1818%205.48131%2014.5187%201.81818%2010%201.81818Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M5.68182%205.63634C5.68182%205.15937%206.06849%204.77271%206.54546%204.77271H13.4546C13.9316%204.77271%2014.3182%205.15937%2014.3182%205.63634V14.2512C14.3182%2014.8932%2013.6426%2015.3108%2013.0683%2015.0237L11.8182%2014.3986L10.3863%2015.1146C10.1431%2015.2362%209.85691%2015.2362%209.61373%2015.1146L8.18182%2014.3986L6.93169%2015.0237C6.35746%2015.3108%205.68182%2014.8932%205.68182%2014.2512V5.63634ZM7.04546%206.13634V13.4423L7.7956%2013.0672C8.03873%2012.9456%208.32491%2012.9456%208.5681%2013.0672L10%2013.7832L11.4319%2013.0672C11.6751%2012.9456%2011.9613%2012.9456%2012.2045%2013.0672L12.9546%2013.4423V6.13634H7.04546Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M6.36365%208.63631C6.36365%208.38531%206.56716%208.18176%206.81819%208.18176H6.98566C7.23669%208.18176%207.4402%208.38531%207.4402%208.63631C7.4402%208.88731%207.23669%209.09085%206.98566%209.09085H6.81819C6.56716%209.09085%206.36365%208.88731%206.36365%208.63631ZM7.78709%208.63631C7.78709%208.38531%207.9906%208.18176%208.24165%208.18176H8.57656C8.82765%208.18176%209.0311%208.38531%209.0311%208.63631C9.0311%208.88731%208.82765%209.09085%208.57656%209.09085H8.24165C7.9906%209.09085%207.78709%208.88731%207.78709%208.63631ZM9.37801%208.63631C9.37801%208.38531%209.58147%208.18176%209.83256%208.18176H10.1675C10.4186%208.18176%2010.622%208.38531%2010.622%208.63631C10.622%208.88731%2010.4186%209.09085%2010.1675%209.09085H9.83256C9.58147%209.09085%209.37801%208.88731%209.37801%208.63631ZM10.9689%208.63631C10.9689%208.38531%2011.1724%208.18176%2011.4235%208.18176H11.7584C12.0095%208.18176%2012.2129%208.38531%2012.2129%208.63631C12.2129%208.88731%2012.0095%209.09085%2011.7584%209.09085H11.4235C11.1724%209.09085%2010.9689%208.88731%2010.9689%208.63631ZM12.5598%208.63631C12.5598%208.38531%2012.7633%208.18176%2013.0144%208.18176H13.1818C13.4328%208.18176%2013.6364%208.38531%2013.6364%208.63631C13.6364%208.88731%2013.4328%209.09085%2013.1818%209.09085H13.0144C12.7633%209.09085%2012.5598%208.88731%2012.5598%208.63631Z'%20fill='white'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_7_19'%3e%3crect%20width='20'%20height='20'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", FM = "data:image/svg+xml,%3csvg%20viewBox='0%200%2020%2020'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_7_27)'%3e%3cmask%20id='mask0_7_27'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='-1'%20y='-1'%20width='22'%20height='22'%3e%3cpath%20d='M20.9091%20-0.909058H-0.909088V20.9091H20.9091V-0.909058Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_7_27)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M0%2010C0%204.47715%204.47715%200%2010%200C15.5228%200%2020%204.47715%2020%2010C20%2015.5228%2015.5228%2020%2010%2020C4.47715%2020%200%2015.5228%200%2010ZM10%201.81818C5.4813%201.81818%201.81818%205.4813%201.81818%2010C1.81818%2014.5187%205.48131%2018.1818%2010%2018.1818C14.5187%2018.1818%2018.1818%2014.5187%2018.1818%2010C18.1818%205.48131%2014.5187%201.81818%2010%201.81818Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M6.36365%2010C6.36365%209.49794%206.77067%209.09094%207.27274%209.09094H12.7273C13.2294%209.09094%2013.6364%209.49794%2013.6364%2010C13.6364%2010.5021%2013.2294%2010.9091%2012.7273%2010.9091H7.27274C6.77067%2010.9091%206.36365%2010.5021%206.36365%2010Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M6.36365%2013.6364C6.36365%2013.1343%206.77067%2012.7273%207.27274%2012.7273H9.09092C9.59301%2012.7273%2010%2013.1343%2010%2013.6364C10%2014.1385%209.59301%2014.5455%209.09092%2014.5455H7.27274C6.77067%2014.5455%206.36365%2014.1385%206.36365%2013.6364Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M6.36365%206.36368C6.36365%205.86161%206.77067%205.45459%207.27274%205.45459H11.8182C12.3203%205.45459%2012.7273%205.86161%2012.7273%206.36368C12.7273%206.86575%2012.3203%207.27277%2011.8182%207.27277H7.27274C6.77067%207.27277%206.36365%206.86575%206.36365%206.36368Z'%20fill='white'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_7_27'%3e%3crect%20width='20'%20height='20'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", DM = "data:image/svg+xml,%3csvg%20viewBox='0%200%2020%2020'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_7_19)'%3e%3cmask%20id='mask0_7_19'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='-1'%20y='-1'%20width='22'%20height='22'%3e%3cpath%20d='M20.9091%20-0.909058H-0.909088V20.9091H20.9091V-0.909058Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_7_19)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M0%2010C0%204.47715%204.47715%200%2010%200C15.5228%200%2020%204.47715%2020%2010C20%2015.5228%2015.5228%2020%2010%2020C4.47715%2020%200%2015.5228%200%2010ZM10%201.81818C5.4813%201.81818%201.81818%205.4813%201.81818%2010C1.81818%2014.5187%205.48131%2018.1818%2010%2018.1818C14.5187%2018.1818%2018.1818%2014.5187%2018.1818%2010C18.1818%205.48131%2014.5187%201.81818%2010%201.81818Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M5.68182%205.63634C5.68182%205.15937%206.06849%204.77271%206.54546%204.77271H13.4546C13.9316%204.77271%2014.3182%205.15937%2014.3182%205.63634V14.2512C14.3182%2014.8932%2013.6426%2015.3108%2013.0683%2015.0237L11.8182%2014.3986L10.3863%2015.1146C10.1431%2015.2362%209.85691%2015.2362%209.61373%2015.1146L8.18182%2014.3986L6.93169%2015.0237C6.35746%2015.3108%205.68182%2014.8932%205.68182%2014.2512V5.63634ZM7.04546%206.13634V13.4423L7.7956%2013.0672C8.03873%2012.9456%208.32491%2012.9456%208.5681%2013.0672L10%2013.7832L11.4319%2013.0672C11.6751%2012.9456%2011.9613%2012.9456%2012.2045%2013.0672L12.9546%2013.4423V6.13634H7.04546Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M6.36365%208.63631C6.36365%208.38531%206.56716%208.18176%206.81819%208.18176H6.98566C7.23669%208.18176%207.4402%208.38531%207.4402%208.63631C7.4402%208.88731%207.23669%209.09085%206.98566%209.09085H6.81819C6.56716%209.09085%206.36365%208.88731%206.36365%208.63631ZM7.78709%208.63631C7.78709%208.38531%207.9906%208.18176%208.24165%208.18176H8.57656C8.82765%208.18176%209.0311%208.38531%209.0311%208.63631C9.0311%208.88731%208.82765%209.09085%208.57656%209.09085H8.24165C7.9906%209.09085%207.78709%208.88731%207.78709%208.63631ZM9.37801%208.63631C9.37801%208.38531%209.58147%208.18176%209.83256%208.18176H10.1675C10.4186%208.18176%2010.622%208.38531%2010.622%208.63631C10.622%208.88731%2010.4186%209.09085%2010.1675%209.09085H9.83256C9.58147%209.09085%209.37801%208.88731%209.37801%208.63631ZM10.9689%208.63631C10.9689%208.38531%2011.1724%208.18176%2011.4235%208.18176H11.7584C12.0095%208.18176%2012.2129%208.38531%2012.2129%208.63631C12.2129%208.88731%2012.0095%209.09085%2011.7584%209.09085H11.4235C11.1724%209.09085%2010.9689%208.88731%2010.9689%208.63631ZM12.5598%208.63631C12.5598%208.38531%2012.7633%208.18176%2013.0144%208.18176H13.1818C13.4328%208.18176%2013.6364%208.38531%2013.6364%208.63631C13.6364%208.88731%2013.4328%209.09085%2013.1818%209.09085H13.0144C12.7633%209.09085%2012.5598%208.88731%2012.5598%208.63631Z'%20fill='white'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_7_19'%3e%3crect%20width='20'%20height='20'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", NM = "data:image/svg+xml,%3csvg%20viewBox='0%200%2020%2020'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_7_9)'%3e%3cmask%20id='mask0_7_9'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='-1'%20y='-1'%20width='22'%20height='22'%3e%3cpath%20d='M20.9091%20-0.909058H-0.909088V20.9091H20.9091V-0.909058Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_7_9)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M0%2010C0%204.47715%204.47715%200%2010%200C15.5228%200%2020%204.47715%2020%2010C20%2015.5228%2015.5228%2020%2010%2020C4.47715%2020%200%2015.5228%200%2010ZM10%201.81818C5.4813%201.81818%201.81818%205.4813%201.81818%2010C1.81818%2014.5187%205.48131%2018.1818%2010%2018.1818C14.5187%2018.1818%2018.1818%2014.5187%2018.1818%2010C18.1818%205.48131%2014.5187%201.81818%2010%201.81818Z'%20fill='white'/%3e%3cpath%20d='M8.18183%205.45459H6.36365C5.86157%205.45459%205.45456%205.8616%205.45456%206.36368V8.18186C5.45456%208.68394%205.86157%209.09095%206.36365%209.09095H8.18183C8.68391%209.09095%209.09092%208.68394%209.09092%208.18186V6.36368C9.09092%205.8616%208.68391%205.45459%208.18183%205.45459Z'%20fill='white'/%3e%3cpath%20d='M13.6364%205.45459H11.8182C11.3161%205.45459%2010.9091%205.8616%2010.9091%206.36368V8.18186C10.9091%208.68394%2011.3161%209.09095%2011.8182%209.09095H13.6364C14.1384%209.09095%2014.5455%208.68394%2014.5455%208.18186V6.36368C14.5455%205.8616%2014.1384%205.45459%2013.6364%205.45459Z'%20fill='white'/%3e%3cpath%20d='M13.6364%2010.9091H11.8182C11.3161%2010.9091%2010.9091%2011.3161%2010.9091%2011.8181V13.6363C10.9091%2014.1384%2011.3161%2014.5454%2011.8182%2014.5454H13.6364C14.1384%2014.5454%2014.5455%2014.1384%2014.5455%2013.6363V11.8181C14.5455%2011.3161%2014.1384%2010.9091%2013.6364%2010.9091Z'%20fill='white'/%3e%3cpath%20d='M8.18183%2010.9091H6.36365C5.86157%2010.9091%205.45456%2011.3161%205.45456%2011.8181V13.6363C5.45456%2014.1384%205.86157%2014.5454%206.36365%2014.5454H8.18183C8.68391%2014.5454%209.09092%2014.1384%209.09092%2013.6363V11.8181C9.09092%2011.3161%208.68391%2010.9091%208.18183%2010.9091Z'%20fill='white'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_7_9'%3e%3crect%20width='20'%20height='20'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", OM = "data:image/svg+xml,%3csvg%20viewBox='0%200%2020%2020'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_7_36)'%3e%3cmask%20id='mask0_7_36'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='-1'%20y='-1'%20width='22'%20height='22'%3e%3cpath%20d='M20.9091%20-0.909058H-0.909088V20.9091H20.9091V-0.909058Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_7_36)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M0%2010C0%204.47715%204.47715%200%2010%200C15.5228%200%2020%204.47715%2020%2010C20%2015.5228%2015.5228%2020%2010%2020C4.47715%2020%200%2015.5228%200%2010ZM10%201.81818C5.4813%201.81818%201.81818%205.4813%201.81818%2010C1.81818%2014.5187%205.48131%2018.1818%2010%2018.1818C14.5187%2018.1818%2018.1818%2014.5187%2018.1818%2010C18.1818%205.48131%2014.5187%201.81818%2010%201.81818Z'%20fill='white'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M11.4718%2010.0244C11.2567%209.97354%2011.0304%2010.0028%2010.8353%2010.1067L2.29995%2014.6522C1.8568%2014.8882%201.68886%2015.4387%201.92486%2015.8818C2.16086%2016.325%202.71143%2016.4929%203.15458%2016.2569L11.3872%2011.8727L17.9726%2013.4302C18.4612%2013.5457%2018.951%2013.2433%2019.0665%2012.7546C19.1821%2012.2661%2018.8796%2011.7764%2018.3911%2011.6607L11.4718%2010.0244Z'%20fill='white'/%3e%3cpath%20d='M6.07329%209.09092C5.32016%209.09092%204.70966%208.48037%204.70966%207.72728C4.70966%206.97417%205.32016%206.36365%206.07329%206.36365C6.82643%206.36365%207.43693%206.97417%207.43693%207.72728C7.43693%208.48037%206.82643%209.09092%206.07329%209.09092Z'%20fill='white'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_7_36'%3e%3crect%20width='20'%20height='20'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", BM = "data:image/svg+xml,%3csvg%20viewBox='0%200%2020%2020'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_7_2)'%3e%3cmask%20id='mask0_7_2'%20style='mask-type:luminance'%20maskUnits='userSpaceOnUse'%20x='-1'%20y='-1'%20width='22'%20height='22'%3e%3cpath%20d='M20.9091%20-0.909058H-0.909088V20.9091H20.9091V-0.909058Z'%20fill='white'/%3e%3c/mask%3e%3cg%20mask='url(%23mask0_7_2)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.04937%200.190318C8.681%200.0653727%209.33327%200%2010%200C10.6667%200%2011.319%200.0653727%2011.9506%200.190318L11.5978%201.97394C11.0817%201.87185%2010.5475%201.81818%2010%201.81818C9.45245%201.81818%208.91827%201.87185%208.40218%201.97394L8.04937%200.190318ZM15.5568%201.68489C16.6469%202.41471%2017.5853%203.35308%2018.3151%204.4432L16.8043%205.45469C16.2066%204.56206%2015.4379%203.79335%2014.5453%203.19574L15.5568%201.68489ZM1.68489%204.4432C2.41471%203.35308%203.35308%202.41471%204.4432%201.68489L5.45469%203.19574C4.56206%203.79335%203.79335%204.56206%203.19574%205.45469L1.68489%204.4432ZM19.8096%208.04937C19.9346%208.681%2020%209.33327%2020%2010C20%2010.6667%2019.9346%2011.319%2019.8096%2011.9506L18.0261%2011.5978C18.1282%2011.0817%2018.1818%2010.5475%2018.1818%2010C18.1818%209.45245%2018.1282%208.91827%2018.0261%208.40218L19.8096%208.04937ZM0%2010C0%209.33327%200.0653727%208.681%200.190318%208.04937L1.97394%208.40218C1.87185%208.91827%201.81818%209.45245%201.81818%2010C1.81818%2010.5475%201.87185%2011.0817%201.97394%2011.5978L0.190318%2011.9506C0.0653727%2011.319%200%2010.6667%200%2010ZM18.3151%2015.5568C17.5853%2016.6469%2016.6469%2017.5853%2015.5568%2018.3151L14.5453%2016.8043C15.4379%2016.2066%2016.2066%2015.4379%2016.8043%2014.5453L18.3151%2015.5568ZM4.4432%2018.3151C3.35308%2017.5853%202.41471%2016.6469%201.68489%2015.5568L3.19574%2014.5453C3.79335%2015.4379%204.56206%2016.2066%205.45469%2016.8043L4.4432%2018.3151ZM10%2020C9.33327%2020%208.681%2019.9346%208.04937%2019.8096L8.40218%2018.0261C8.91827%2018.1282%209.45245%2018.1818%2010%2018.1818C10.5475%2018.1818%2011.0817%2018.1282%2011.5978%2018.0261L11.9506%2019.8096C11.319%2019.9346%2010.6667%2020%2010%2020Z'%20fill='white'/%3e%3cpath%20d='M10%2011.8181C8.99582%2011.8181%208.18182%2011.0041%208.18182%209.99994C8.18182%208.99576%208.99582%208.18176%2010%208.18176C11.0042%208.18176%2011.8182%208.99576%2011.8182%209.99994C11.8182%2011.0041%2011.0042%2011.8181%2010%2011.8181Z'%20fill='white'/%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_7_2'%3e%3crect%20width='20'%20height='20'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e", UM = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
30615
30615
|
__proto__: null,
|
|
30616
|
-
Artifact:
|
|
30617
|
-
ArtifactImage:
|
|
30618
|
-
ArtifactMarkdown:
|
|
30619
|
-
ArtifactProgress:
|
|
30620
|
-
ArtifactResult:
|
|
30621
|
-
ArtifactTable:
|
|
30616
|
+
Artifact: kM,
|
|
30617
|
+
ArtifactImage: OM,
|
|
30618
|
+
ArtifactMarkdown: FM,
|
|
30619
|
+
ArtifactProgress: BM,
|
|
30620
|
+
ArtifactResult: DM,
|
|
30621
|
+
ArtifactTable: NM
|
|
30622
30622
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
30623
|
-
function
|
|
30623
|
+
function XM(i) {
|
|
30624
30624
|
const t = {
|
|
30625
30625
|
resolution: jm
|
|
30626
30626
|
};
|
|
30627
|
-
return st.from(
|
|
30627
|
+
return st.from(UM[i], t);
|
|
30628
30628
|
}
|
|
30629
|
-
async function
|
|
30630
|
-
return await ua(
|
|
30629
|
+
async function WM(i) {
|
|
30630
|
+
return await ua(XM, [i]);
|
|
30631
30631
|
}
|
|
30632
|
-
async function
|
|
30632
|
+
async function ZM({ cullAtZoomThreshold: i = !0 } = {}) {
|
|
30633
30633
|
const t = await ub(), e = new jt();
|
|
30634
30634
|
i && t.add(e);
|
|
30635
30635
|
async function r(n) {
|
|
30636
|
-
const s = await
|
|
30636
|
+
const s = await WM(n);
|
|
30637
30637
|
return e.texture = s, e;
|
|
30638
30638
|
}
|
|
30639
30639
|
return {
|
|
@@ -30641,7 +30641,7 @@ async function ZR({ cullAtZoomThreshold: i = !0 } = {}) {
|
|
|
30641
30641
|
render: r
|
|
30642
30642
|
};
|
|
30643
30643
|
}
|
|
30644
|
-
var
|
|
30644
|
+
var VM = {
|
|
30645
30645
|
aqua: /#00ffff(ff)?(?!\w)|#0ff(f)?(?!\w)/gi,
|
|
30646
30646
|
azure: /#f0ffff(ff)?(?!\w)/gi,
|
|
30647
30647
|
beige: /#f5f5dc(ff)?(?!\w)/gi,
|
|
@@ -30696,23 +30696,23 @@ var VR = {
|
|
|
30696
30696
|
violet: /#ee82ee(ff)?(?!\w)/gi,
|
|
30697
30697
|
wheat: /#f5deb3(ff)?(?!\w)/gi,
|
|
30698
30698
|
white: /#ffffff(ff)?(?!\w)|#fff(f)?(?!\w)/gi
|
|
30699
|
-
}, yu =
|
|
30699
|
+
}, yu = VM, Hf = {
|
|
30700
30700
|
whitespace: /\s+/g,
|
|
30701
30701
|
urlHexPairs: /%[\dA-F]{2}/g,
|
|
30702
30702
|
quotes: /"/g
|
|
30703
30703
|
};
|
|
30704
|
-
function
|
|
30704
|
+
function HM(i) {
|
|
30705
30705
|
return i.trim().replace(Hf.whitespace, " ");
|
|
30706
30706
|
}
|
|
30707
|
-
function
|
|
30708
|
-
return encodeURIComponent(i).replace(Hf.urlHexPairs,
|
|
30707
|
+
function KM(i) {
|
|
30708
|
+
return encodeURIComponent(i).replace(Hf.urlHexPairs, YM);
|
|
30709
30709
|
}
|
|
30710
|
-
function
|
|
30710
|
+
function zM(i) {
|
|
30711
30711
|
return Object.keys(yu).forEach(function(t) {
|
|
30712
30712
|
yu[t].test(i) && (i = i.replace(yu[t], t));
|
|
30713
30713
|
}), i;
|
|
30714
30714
|
}
|
|
30715
|
-
function
|
|
30715
|
+
function YM(i) {
|
|
30716
30716
|
switch (i) {
|
|
30717
30717
|
case "%20":
|
|
30718
30718
|
return " ";
|
|
@@ -30730,13 +30730,13 @@ function Kd(i) {
|
|
|
30730
30730
|
if (typeof i != "string")
|
|
30731
30731
|
throw new TypeError("Expected a string, but received " + typeof i);
|
|
30732
30732
|
i.charCodeAt(0) === 65279 && (i = i.slice(1));
|
|
30733
|
-
var t =
|
|
30734
|
-
return "data:image/svg+xml," +
|
|
30733
|
+
var t = zM(HM(i)).replace(Hf.quotes, "'");
|
|
30734
|
+
return "data:image/svg+xml," + KM(t);
|
|
30735
30735
|
}
|
|
30736
30736
|
Kd.toSrcset = function(t) {
|
|
30737
30737
|
return Kd(t).replace(/ /g, "%20");
|
|
30738
30738
|
};
|
|
30739
|
-
var
|
|
30739
|
+
var jM = Kd, pb = {}, mb = {};
|
|
30740
30740
|
(function(i) {
|
|
30741
30741
|
Object.defineProperty(i, "__esModule", {
|
|
30742
30742
|
value: !0
|
|
@@ -30783,7 +30783,7 @@ var jR = Kd, pb = {}, mb = {};
|
|
|
30783
30783
|
})(pb);
|
|
30784
30784
|
let bu = pb;
|
|
30785
30785
|
var Kf = (bu.__esModule ? bu : { default: bu }).default;
|
|
30786
|
-
const
|
|
30786
|
+
const JM = /* @__PURE__ */ Yr(Kf);
|
|
30787
30787
|
var gb = {}, yb = {};
|
|
30788
30788
|
(function(i) {
|
|
30789
30789
|
Object.defineProperty(i, "__esModule", {
|
|
@@ -30801,7 +30801,7 @@ var gb = {}, yb = {};
|
|
|
30801
30801
|
])) : e;
|
|
30802
30802
|
}
|
|
30803
30803
|
})(yb);
|
|
30804
|
-
var $
|
|
30804
|
+
var $M = {
|
|
30805
30805
|
content: [],
|
|
30806
30806
|
presets: [],
|
|
30807
30807
|
darkMode: "media",
|
|
@@ -31872,7 +31872,7 @@ var $R = {
|
|
|
31872
31872
|
return n;
|
|
31873
31873
|
}
|
|
31874
31874
|
});
|
|
31875
|
-
const t = yb, e = /* @__PURE__ */ r($
|
|
31875
|
+
const t = yb, e = /* @__PURE__ */ r($M);
|
|
31876
31876
|
function r(s) {
|
|
31877
31877
|
return s && s.__esModule ? s : {
|
|
31878
31878
|
default: s
|
|
@@ -31888,7 +31888,7 @@ var xb = {}, _b = {}, zf = { exports: {} }, Ft = String, vb = function() {
|
|
|
31888
31888
|
};
|
|
31889
31889
|
zf.exports = vb();
|
|
31890
31890
|
zf.exports.createColors = vb;
|
|
31891
|
-
var
|
|
31891
|
+
var QM = zf.exports;
|
|
31892
31892
|
(function(i) {
|
|
31893
31893
|
Object.defineProperty(i, "__esModule", {
|
|
31894
31894
|
value: !0
|
|
@@ -31908,7 +31908,7 @@ var QR = zf.exports;
|
|
|
31908
31908
|
return a;
|
|
31909
31909
|
}
|
|
31910
31910
|
});
|
|
31911
|
-
const e = /* @__PURE__ */ r(
|
|
31911
|
+
const e = /* @__PURE__ */ r(QM);
|
|
31912
31912
|
function r(l) {
|
|
31913
31913
|
return l && l.__esModule ? l : {
|
|
31914
31914
|
default: l
|
|
@@ -32299,9 +32299,9 @@ var QR = zf.exports;
|
|
|
32299
32299
|
};
|
|
32300
32300
|
})(xb);
|
|
32301
32301
|
let _u = xb;
|
|
32302
|
-
var
|
|
32303
|
-
const ul =
|
|
32304
|
-
|
|
32302
|
+
var qM = (_u.__esModule ? _u : { default: _u }).default;
|
|
32303
|
+
const ul = jM, tR = Kf, wb = bb, Er = qM, [eR, { lineHeight: iR }] = wb.fontSize.base, { spacing: tr, borderWidth: Im, borderRadius: Am } = wb;
|
|
32304
|
+
tR.withOptions(function(i = { strategy: void 0 }) {
|
|
32305
32305
|
return function({ addBase: t, addComponents: e, theme: r }) {
|
|
32306
32306
|
const n = i.strategy === void 0 ? ["base", "class"] : [i.strategy], s = [
|
|
32307
32307
|
{
|
|
@@ -32333,8 +32333,8 @@ t3.withOptions(function(i = { strategy: void 0 }) {
|
|
|
32333
32333
|
"padding-right": tr[3],
|
|
32334
32334
|
"padding-bottom": tr[2],
|
|
32335
32335
|
"padding-left": tr[3],
|
|
32336
|
-
"font-size":
|
|
32337
|
-
"line-height":
|
|
32336
|
+
"font-size": eR,
|
|
32337
|
+
"line-height": iR,
|
|
32338
32338
|
"--tw-shadow": "0 0 #0000",
|
|
32339
32339
|
"&:focus": {
|
|
32340
32340
|
outline: "2px solid transparent",
|
|
@@ -32581,13 +32581,13 @@ t3.withOptions(function(i = { strategy: void 0 }) {
|
|
|
32581
32581
|
n.includes("base") && t(o("base")), n.includes("class") && e(o("class"));
|
|
32582
32582
|
};
|
|
32583
32583
|
});
|
|
32584
|
-
const
|
|
32584
|
+
const rR = Kf;
|
|
32585
32585
|
function Mm(i) {
|
|
32586
32586
|
return Object.fromEntries(
|
|
32587
32587
|
Object.entries(i).filter(([t]) => t !== "DEFAULT")
|
|
32588
32588
|
);
|
|
32589
32589
|
}
|
|
32590
|
-
|
|
32590
|
+
rR(
|
|
32591
32591
|
({ addUtilities: i, matchUtilities: t, theme: e }) => {
|
|
32592
32592
|
i({
|
|
32593
32593
|
"@keyframes enter": e("keyframes.enter"),
|
|
@@ -32743,9 +32743,9 @@ r3(
|
|
|
32743
32743
|
}
|
|
32744
32744
|
}
|
|
32745
32745
|
);
|
|
32746
|
-
const Tb = "Inter Variable",
|
|
32746
|
+
const Tb = "Inter Variable", nR = "Inconsolata Variable";
|
|
32747
32747
|
[...Em.fontFamily.sans], [...Em.fontFamily.mono];
|
|
32748
|
-
const
|
|
32748
|
+
const sR = {
|
|
32749
32749
|
".bg-floating": { backgroundColor: "var(--p-color-bg-floating)" },
|
|
32750
32750
|
".bg-floating-sticky": { backgroundColor: "var(--p-color-bg-floating-sticky)" },
|
|
32751
32751
|
".bg-code": { backgroundColor: "var(--p-color-bg-code)" },
|
|
@@ -32762,7 +32762,7 @@ const s3 = {
|
|
|
32762
32762
|
".text-selected": { color: "var(--p-color-text-selected)" },
|
|
32763
32763
|
".caret-default": { caretColor: "var(--p-color-text-default)" }
|
|
32764
32764
|
};
|
|
32765
|
-
|
|
32765
|
+
JM(({ addUtilities: i }) => i(sR));
|
|
32766
32766
|
var Sb = { exports: {} };
|
|
32767
32767
|
(function(i) {
|
|
32768
32768
|
(function() {
|
|
@@ -32862,8 +32862,8 @@ var Sb = { exports: {} };
|
|
|
32862
32862
|
}, i.exports = a;
|
|
32863
32863
|
})();
|
|
32864
32864
|
})(Sb);
|
|
32865
|
-
var
|
|
32866
|
-
const
|
|
32865
|
+
var oR = Sb.exports;
|
|
32866
|
+
const aR = /* @__PURE__ */ Yr(oR), Cb = {
|
|
32867
32867
|
inter: {
|
|
32868
32868
|
fontFamily: Tb,
|
|
32869
32869
|
fontSize: 16,
|
|
@@ -32874,15 +32874,15 @@ const a3 = /* @__PURE__ */ Yr(o3), Cb = {
|
|
|
32874
32874
|
resolution: jm,
|
|
32875
32875
|
chars: fi.ASCII
|
|
32876
32876
|
}, Pm = "sans-serif", Eb = {
|
|
32877
|
-
inter:
|
|
32877
|
+
inter: uR(Cb.inter)
|
|
32878
32878
|
};
|
|
32879
32879
|
let Yf = !1;
|
|
32880
|
-
async function
|
|
32880
|
+
async function lR() {
|
|
32881
32881
|
const i = Object.values(Cb);
|
|
32882
|
-
await Promise.all(i.map((t) =>
|
|
32882
|
+
await Promise.all(i.map((t) => hR(t))), Yf = !0, Q.emit("fontsLoaded", Eb);
|
|
32883
32883
|
}
|
|
32884
|
-
async function
|
|
32885
|
-
const { fontFamily: t, ...e } = i, r = new
|
|
32884
|
+
async function hR(i) {
|
|
32885
|
+
const { fontFamily: t, ...e } = i, r = new aR(t);
|
|
32886
32886
|
try {
|
|
32887
32887
|
await r.load();
|
|
32888
32888
|
} catch (n) {
|
|
@@ -32894,13 +32894,13 @@ async function h3(i) {
|
|
|
32894
32894
|
}
|
|
32895
32895
|
fi.from(t, i, Rm);
|
|
32896
32896
|
}
|
|
32897
|
-
function
|
|
32897
|
+
function cR() {
|
|
32898
32898
|
Yf = !1;
|
|
32899
32899
|
}
|
|
32900
32900
|
async function Ib() {
|
|
32901
32901
|
return Yf ? Eb : await Fe("fontsLoaded");
|
|
32902
32902
|
}
|
|
32903
|
-
function
|
|
32903
|
+
function uR(i) {
|
|
32904
32904
|
const { fontFamily: t, ...e } = i, r = {
|
|
32905
32905
|
fontName: t,
|
|
32906
32906
|
...e
|
|
@@ -32918,14 +32918,14 @@ async function Gh({ cullAtZoomThreshold: i = !0 } = {}) {
|
|
|
32918
32918
|
render: n
|
|
32919
32919
|
};
|
|
32920
32920
|
}
|
|
32921
|
-
const
|
|
32921
|
+
const O5 = [
|
|
32922
32922
|
"result",
|
|
32923
32923
|
"markdown",
|
|
32924
32924
|
"table",
|
|
32925
32925
|
"progress",
|
|
32926
32926
|
"image",
|
|
32927
32927
|
"unknown"
|
|
32928
|
-
],
|
|
32928
|
+
], dR = {
|
|
32929
32929
|
markdown: "ArtifactMarkdown",
|
|
32930
32930
|
table: "ArtifactTable",
|
|
32931
32931
|
result: "ArtifactResult",
|
|
@@ -32933,28 +32933,28 @@ const OP = [
|
|
|
32933
32933
|
progress: "ArtifactProgress",
|
|
32934
32934
|
unknown: "Artifact"
|
|
32935
32935
|
}, Ab = ["flow-run", "task-run"];
|
|
32936
|
-
function
|
|
32936
|
+
function B5(i) {
|
|
32937
32937
|
return Ab.includes(i);
|
|
32938
32938
|
}
|
|
32939
32939
|
function zd(i) {
|
|
32940
32940
|
return Ab.includes(i.kind);
|
|
32941
32941
|
}
|
|
32942
|
-
function
|
|
32942
|
+
function fR(i) {
|
|
32943
32943
|
return i.kind === "artifact";
|
|
32944
32944
|
}
|
|
32945
|
-
function
|
|
32945
|
+
function pR(i) {
|
|
32946
32946
|
return i.kind === "artifacts";
|
|
32947
32947
|
}
|
|
32948
|
-
function
|
|
32948
|
+
function mR(i) {
|
|
32949
32949
|
return i.kind === "state";
|
|
32950
32950
|
}
|
|
32951
|
-
function
|
|
32951
|
+
function gR(i) {
|
|
32952
32952
|
return i.kind === "event";
|
|
32953
32953
|
}
|
|
32954
|
-
function
|
|
32954
|
+
function yR(i) {
|
|
32955
32955
|
return i.kind === "events";
|
|
32956
32956
|
}
|
|
32957
|
-
const
|
|
32957
|
+
const U5 = [
|
|
32958
32958
|
"COMPLETED",
|
|
32959
32959
|
"RUNNING",
|
|
32960
32960
|
"SCHEDULED",
|
|
@@ -32966,7 +32966,7 @@ const UP = [
|
|
|
32966
32966
|
"PAUSED"
|
|
32967
32967
|
];
|
|
32968
32968
|
async function Mb({ cullAtZoomThreshold: i }) {
|
|
32969
|
-
const t = await Pt(), e = new St(), r = new St(), { element: n, render: s } = await
|
|
32969
|
+
const t = await Pt(), e = new St(), r = new St(), { element: n, render: s } = await ZM({ cullAtZoomThreshold: i }), { element: o, render: a } = await GM(), { element: l, render: h } = await Gh({ cullAtZoomThreshold: i }), { element: c, render: u } = await MM();
|
|
32970
32970
|
let d = !1, f = null, p;
|
|
32971
32971
|
r.addChild(l), e.addChild(c), e.addChild(r);
|
|
32972
32972
|
async function m(v) {
|
|
@@ -32982,7 +32982,7 @@ async function Mb({ cullAtZoomThreshold: i }) {
|
|
|
32982
32982
|
async function g() {
|
|
32983
32983
|
if (p === "progress")
|
|
32984
32984
|
return n;
|
|
32985
|
-
const v =
|
|
32985
|
+
const v = dR[p], {
|
|
32986
32986
|
artifactIconSize: w,
|
|
32987
32987
|
artifactIconColor: S,
|
|
32988
32988
|
artifactPaddingLeft: E,
|
|
@@ -33034,7 +33034,7 @@ async function Mb({ cullAtZoomThreshold: i }) {
|
|
|
33034
33034
|
};
|
|
33035
33035
|
}
|
|
33036
33036
|
let Ut = null, fh = !1;
|
|
33037
|
-
async function
|
|
33037
|
+
async function bR() {
|
|
33038
33038
|
const i = await te();
|
|
33039
33039
|
i.on("click", () => zi(null)), i.on("drag-start", () => {
|
|
33040
33040
|
fh = !0;
|
|
@@ -33044,7 +33044,7 @@ async function b3() {
|
|
|
33044
33044
|
});
|
|
33045
33045
|
});
|
|
33046
33046
|
}
|
|
33047
|
-
function
|
|
33047
|
+
function xR() {
|
|
33048
33048
|
Ut = null, fh = !1;
|
|
33049
33049
|
}
|
|
33050
33050
|
function zi(i) {
|
|
@@ -33066,21 +33066,21 @@ function xr(i) {
|
|
|
33066
33066
|
case "flow-run":
|
|
33067
33067
|
return zd(Ut) && Ut.id === i.id;
|
|
33068
33068
|
case "artifact":
|
|
33069
|
-
return
|
|
33069
|
+
return fR(Ut) && Ut.id === i.id;
|
|
33070
33070
|
case "artifacts":
|
|
33071
|
-
return
|
|
33071
|
+
return pR(Ut) && Ut.ids.length === i.ids.length && Ut.ids.every((r) => i.ids.includes(r));
|
|
33072
33072
|
case "state":
|
|
33073
|
-
return
|
|
33073
|
+
return mR(Ut) && Ut.id === i.id;
|
|
33074
33074
|
case "event":
|
|
33075
|
-
return
|
|
33075
|
+
return gR(Ut) && Ut.id === i.id;
|
|
33076
33076
|
case "events":
|
|
33077
|
-
return
|
|
33077
|
+
return yR(Ut) && Ut.ids.length === i.ids.length && Ut.ids.every((r) => i.ids.includes(r));
|
|
33078
33078
|
default:
|
|
33079
33079
|
const e = t;
|
|
33080
33080
|
throw new Error(`switch does not have case for value: ${e}`);
|
|
33081
33081
|
}
|
|
33082
33082
|
}
|
|
33083
|
-
function
|
|
33083
|
+
function _R() {
|
|
33084
33084
|
return Ut && zd(Ut) ? Ut : null;
|
|
33085
33085
|
}
|
|
33086
33086
|
async function jf(i, {
|
|
@@ -33138,7 +33138,7 @@ async function Pb(i, t) {
|
|
|
33138
33138
|
stop: a
|
|
33139
33139
|
};
|
|
33140
33140
|
}
|
|
33141
|
-
async function
|
|
33141
|
+
async function vR() {
|
|
33142
33142
|
const i = await Pt(), t = await cb(), e = new St(), { element: r, render: n } = await fb(), { element: s, render: o } = await Zf(), { element: a, render: l } = await Vf();
|
|
33143
33143
|
t.add(e);
|
|
33144
33144
|
let h = !1;
|
|
@@ -33210,14 +33210,14 @@ async function Lb() {
|
|
|
33210
33210
|
render: a
|
|
33211
33211
|
};
|
|
33212
33212
|
}
|
|
33213
|
-
var Gb = "Expected a function", Lm = NaN,
|
|
33214
|
-
return
|
|
33213
|
+
var Gb = "Expected a function", Lm = NaN, wR = "[object Symbol]", TR = /^\s+|\s+$/g, SR = /^[-+]0x[0-9a-f]+$/i, CR = /^0b[01]+$/i, ER = /^0o[0-7]+$/i, IR = parseInt, AR = typeof we == "object" && we && we.Object === Object && we, MR = typeof self == "object" && self && self.Object === Object && self, RR = AR || MR || Function("return this")(), PR = Object.prototype, LR = PR.toString, GR = Math.max, kR = Math.min, vu = function() {
|
|
33214
|
+
return RR.Date.now();
|
|
33215
33215
|
};
|
|
33216
|
-
function
|
|
33216
|
+
function FR(i, t, e) {
|
|
33217
33217
|
var r, n, s, o, a, l, h = 0, c = !1, u = !1, d = !0;
|
|
33218
33218
|
if (typeof i != "function")
|
|
33219
33219
|
throw new TypeError(Gb);
|
|
33220
|
-
t = Gm(t) || 0, ph(e) && (c = !!e.leading, u = "maxWait" in e, s = u ?
|
|
33220
|
+
t = Gm(t) || 0, ph(e) && (c = !!e.leading, u = "maxWait" in e, s = u ? GR(Gm(e.maxWait) || 0, t) : s, d = "trailing" in e ? !!e.trailing : d);
|
|
33221
33221
|
function f(S) {
|
|
33222
33222
|
var E = r, I = n;
|
|
33223
33223
|
return r = n = void 0, h = S, o = i.apply(I, E), o;
|
|
@@ -33227,7 +33227,7 @@ function F3(i, t, e) {
|
|
|
33227
33227
|
}
|
|
33228
33228
|
function m(S) {
|
|
33229
33229
|
var E = S - l, I = S - h, A = t - E;
|
|
33230
|
-
return u ?
|
|
33230
|
+
return u ? kR(A, s - I) : A;
|
|
33231
33231
|
}
|
|
33232
33232
|
function g(S) {
|
|
33233
33233
|
var E = S - l, I = S - h;
|
|
@@ -33260,11 +33260,11 @@ function F3(i, t, e) {
|
|
|
33260
33260
|
}
|
|
33261
33261
|
return w.cancel = b, w.flush = v, w;
|
|
33262
33262
|
}
|
|
33263
|
-
function
|
|
33263
|
+
function DR(i, t, e) {
|
|
33264
33264
|
var r = !0, n = !0;
|
|
33265
33265
|
if (typeof i != "function")
|
|
33266
33266
|
throw new TypeError(Gb);
|
|
33267
|
-
return ph(e) && (r = "leading" in e ? !!e.leading : r, n = "trailing" in e ? !!e.trailing : n),
|
|
33267
|
+
return ph(e) && (r = "leading" in e ? !!e.leading : r, n = "trailing" in e ? !!e.trailing : n), FR(i, t, {
|
|
33268
33268
|
leading: r,
|
|
33269
33269
|
maxWait: t,
|
|
33270
33270
|
trailing: n
|
|
@@ -33274,16 +33274,16 @@ function ph(i) {
|
|
|
33274
33274
|
var t = typeof i;
|
|
33275
33275
|
return !!i && (t == "object" || t == "function");
|
|
33276
33276
|
}
|
|
33277
|
-
function
|
|
33277
|
+
function NR(i) {
|
|
33278
33278
|
return !!i && typeof i == "object";
|
|
33279
33279
|
}
|
|
33280
|
-
function
|
|
33281
|
-
return typeof i == "symbol" ||
|
|
33280
|
+
function OR(i) {
|
|
33281
|
+
return typeof i == "symbol" || NR(i) && LR.call(i) == wR;
|
|
33282
33282
|
}
|
|
33283
33283
|
function Gm(i) {
|
|
33284
33284
|
if (typeof i == "number")
|
|
33285
33285
|
return i;
|
|
33286
|
-
if (
|
|
33286
|
+
if (OR(i))
|
|
33287
33287
|
return Lm;
|
|
33288
33288
|
if (ph(i)) {
|
|
33289
33289
|
var t = typeof i.valueOf == "function" ? i.valueOf() : i;
|
|
@@ -33291,12 +33291,12 @@ function Gm(i) {
|
|
|
33291
33291
|
}
|
|
33292
33292
|
if (typeof i != "string")
|
|
33293
33293
|
return i === 0 ? i : +i;
|
|
33294
|
-
i = i.replace(
|
|
33295
|
-
var e =
|
|
33296
|
-
return e ||
|
|
33294
|
+
i = i.replace(TR, "");
|
|
33295
|
+
var e = CR.test(i);
|
|
33296
|
+
return e || ER.test(i) ? IR(i.slice(2), e ? 2 : 8) : SR.test(i) ? Lm : +i;
|
|
33297
33297
|
}
|
|
33298
|
-
var
|
|
33299
|
-
const kb = /* @__PURE__ */ Yr(
|
|
33298
|
+
var BR = DR;
|
|
33299
|
+
const kb = /* @__PURE__ */ Yr(BR);
|
|
33300
33300
|
async function Fb() {
|
|
33301
33301
|
const { element: i, render: t } = await Mb({ cullAtZoomThreshold: !1 });
|
|
33302
33302
|
let e = null, r = [], n = !1;
|
|
@@ -33331,7 +33331,7 @@ async function Fb() {
|
|
|
33331
33331
|
isCluster: !0
|
|
33332
33332
|
};
|
|
33333
33333
|
}
|
|
33334
|
-
async function
|
|
33334
|
+
async function UR() {
|
|
33335
33335
|
const i = await qt(), t = await Yi(), e = await Qt(), { element: r, render: n, update: s } = await Wb({ isRoot: !0 });
|
|
33336
33336
|
r.zIndex = yx;
|
|
33337
33337
|
function o(a) {
|
|
@@ -33343,17 +33343,17 @@ async function U3() {
|
|
|
33343
33343
|
}
|
|
33344
33344
|
t.artifacts && o(t), Q.on("viewportMoved", () => s()), Q.on("runDataCreated", (a) => o(a)), Q.on("runDataUpdated", (a) => o(a)), Q.on("configUpdated", () => o()), Q.on("layoutSettingsUpdated", () => o());
|
|
33345
33345
|
}
|
|
33346
|
-
async function
|
|
33346
|
+
async function XR({ radius: i }) {
|
|
33347
33347
|
const t = await qt(), e = new Vr();
|
|
33348
33348
|
return e.beginFill("#fff"), e.drawCircle(0, 0, i), e.endFill(), t.renderer.generateTexture(e, {
|
|
33349
33349
|
resolution: Ym
|
|
33350
33350
|
});
|
|
33351
33351
|
}
|
|
33352
|
-
async function
|
|
33353
|
-
return await ua(
|
|
33352
|
+
async function WR(i) {
|
|
33353
|
+
return await ua(XR, [i]);
|
|
33354
33354
|
}
|
|
33355
33355
|
async function Db(i) {
|
|
33356
|
-
const t = await
|
|
33356
|
+
const t = await WR(i);
|
|
33357
33357
|
return new jt(t);
|
|
33358
33358
|
}
|
|
33359
33359
|
async function Nb(i) {
|
|
@@ -33602,7 +33602,7 @@ async function Ub({ isRoot: i, parentStartDate: t } = {}) {
|
|
|
33602
33602
|
};
|
|
33603
33603
|
}
|
|
33604
33604
|
let ko = null, ks = null;
|
|
33605
|
-
async function
|
|
33605
|
+
async function ZR() {
|
|
33606
33606
|
const i = await qt(), t = await Pt(), e = await Qt(), r = await Yi(), { element: n, render: s, update: o } = await Ub({ isRoot: !0 });
|
|
33607
33607
|
n.zIndex = mx;
|
|
33608
33608
|
async function a(h) {
|
|
@@ -33622,13 +33622,13 @@ async function Z3() {
|
|
|
33622
33622
|
});
|
|
33623
33623
|
Q.on("configUpdated", () => a()), Q.on("viewportMoved", () => o()), Q.on("layoutSettingsUpdated", () => a()), ko = l.stop, l.start();
|
|
33624
33624
|
}
|
|
33625
|
-
function
|
|
33625
|
+
function VR() {
|
|
33626
33626
|
ko == null || ko(), ko = null, ks = null;
|
|
33627
33627
|
}
|
|
33628
|
-
async function
|
|
33628
|
+
async function HR() {
|
|
33629
33629
|
return ks || await Fe("eventDataCreated");
|
|
33630
33630
|
}
|
|
33631
|
-
async function
|
|
33631
|
+
async function KR(i) {
|
|
33632
33632
|
const t = await qt(), e = await te(), r = await Pt(), n = await Yi();
|
|
33633
33633
|
let s = await si();
|
|
33634
33634
|
const o = new St(), a = await br(), l = await br();
|
|
@@ -33695,10 +33695,10 @@ async function K3(i) {
|
|
|
33695
33695
|
render: d
|
|
33696
33696
|
};
|
|
33697
33697
|
}
|
|
33698
|
-
function
|
|
33698
|
+
function zR(i) {
|
|
33699
33699
|
return "isNodesFlowRunStateFactory" in i;
|
|
33700
33700
|
}
|
|
33701
|
-
async function
|
|
33701
|
+
async function YR(i) {
|
|
33702
33702
|
const t = await qt(), e = await te(), r = await Pt(), n = await Yi();
|
|
33703
33703
|
let s = await si();
|
|
33704
33704
|
const o = new St(), a = await br(), l = await br();
|
|
@@ -33806,19 +33806,19 @@ function Xb({ isRoot: i } = {}) {
|
|
|
33806
33806
|
d = e.get(a.id);
|
|
33807
33807
|
else {
|
|
33808
33808
|
const f = (async () => {
|
|
33809
|
-
const p = i ? await
|
|
33809
|
+
const p = i ? await KR(a) : await YR(a);
|
|
33810
33810
|
e.set(a.id, p), t.addChild(p.element);
|
|
33811
33811
|
})();
|
|
33812
33812
|
r.set(a.id, f), await f, r.delete(a.id), d = e.get(a.id);
|
|
33813
33813
|
}
|
|
33814
|
-
|
|
33814
|
+
zR(d) ? await d.render({ end: u, ...h }) : await d.render(u ? { end: u } : void 0);
|
|
33815
33815
|
}
|
|
33816
33816
|
return {
|
|
33817
33817
|
element: t,
|
|
33818
33818
|
render: s
|
|
33819
33819
|
};
|
|
33820
33820
|
}
|
|
33821
|
-
async function
|
|
33821
|
+
async function jR() {
|
|
33822
33822
|
const i = await qt(), t = await Yi(), { element: e, render: r } = await Xb({ isRoot: !0 });
|
|
33823
33823
|
e.zIndex = gx, i.stage.addChild(e);
|
|
33824
33824
|
function n(s) {
|
|
@@ -33826,7 +33826,7 @@ async function j3() {
|
|
|
33826
33826
|
}
|
|
33827
33827
|
t.states && n(t), Q.on("runDataUpdated", (s) => n(s)), Q.on("configUpdated", () => n()), Q.on("layoutSettingsUpdated", () => n());
|
|
33828
33828
|
}
|
|
33829
|
-
async function
|
|
33829
|
+
async function JR() {
|
|
33830
33830
|
const i = await qt(), t = await te(), e = await Qt(), r = await Pt(), { inter: n } = await Ib(), s = new St(), o = await br();
|
|
33831
33831
|
s.addChild(o);
|
|
33832
33832
|
const a = n("");
|
|
@@ -33859,25 +33859,25 @@ class Dm extends Error {
|
|
|
33859
33859
|
super("Layout is not temporal");
|
|
33860
33860
|
}
|
|
33861
33861
|
}
|
|
33862
|
-
function $
|
|
33862
|
+
function $R(i) {
|
|
33863
33863
|
return i.toLocaleTimeString();
|
|
33864
33864
|
}
|
|
33865
33865
|
function Nm(i) {
|
|
33866
33866
|
const t = navigator.language;
|
|
33867
33867
|
return new Intl.DateTimeFormat(t, { timeStyle: "short" }).format(i);
|
|
33868
33868
|
}
|
|
33869
|
-
function
|
|
33869
|
+
function QR(i) {
|
|
33870
33870
|
const t = navigator.language;
|
|
33871
33871
|
return new Intl.DateTimeFormat(t, { dateStyle: "short" }).format(i);
|
|
33872
33872
|
}
|
|
33873
|
-
function
|
|
33873
|
+
function qR(i) {
|
|
33874
33874
|
return i.getHours() === 0 && i.getMinutes() === 0 ? `${Al.date(i)}
|
|
33875
33875
|
${Nm(i)}` : Nm(i);
|
|
33876
33876
|
}
|
|
33877
33877
|
const Al = {
|
|
33878
|
-
timeBySeconds: $
|
|
33879
|
-
timeByMinutesWithDates:
|
|
33880
|
-
date:
|
|
33878
|
+
timeBySeconds: $R,
|
|
33879
|
+
timeByMinutesWithDates: qR,
|
|
33880
|
+
date: QR
|
|
33881
33881
|
}, ee = {
|
|
33882
33882
|
seconds: "seconds",
|
|
33883
33883
|
minutes: "minutes",
|
|
@@ -33988,8 +33988,8 @@ const Al = {
|
|
|
33988
33988
|
increment: It.week * 4,
|
|
33989
33989
|
labelFormat: ee.date
|
|
33990
33990
|
}
|
|
33991
|
-
],
|
|
33992
|
-
async function
|
|
33991
|
+
], t5 = 300;
|
|
33992
|
+
async function e5() {
|
|
33993
33993
|
const i = await te(), t = await Qt(), e = new St(), r = /* @__PURE__ */ new Map();
|
|
33994
33994
|
let n = await si();
|
|
33995
33995
|
Q.on("scaleUpdated", (d) => n = d), await o();
|
|
@@ -34007,14 +34007,14 @@ async function eP() {
|
|
|
34007
34007
|
async function o() {
|
|
34008
34008
|
const d = [];
|
|
34009
34009
|
Hd(ip, async (f) => {
|
|
34010
|
-
const p =
|
|
34010
|
+
const p = JR();
|
|
34011
34011
|
d.push(p);
|
|
34012
34012
|
const m = await p;
|
|
34013
34013
|
e.addChild(m.element), r.set(f, m);
|
|
34014
34014
|
}), await Promise.all(d);
|
|
34015
34015
|
}
|
|
34016
34016
|
function a() {
|
|
34017
|
-
const d = i.left -
|
|
34017
|
+
const d = i.left - t5, f = n.invert(d), p = n.invert(d + fx / i.scale.x);
|
|
34018
34018
|
if (!(f instanceof Date) || !(p instanceof Date))
|
|
34019
34019
|
throw new Dm();
|
|
34020
34020
|
const m = p.getTime() - f.getTime(), { increment: g, getAnchor: y, labelFormat: x } = l(m);
|
|
@@ -34063,12 +34063,12 @@ async function eP() {
|
|
|
34063
34063
|
render: s
|
|
34064
34064
|
};
|
|
34065
34065
|
}
|
|
34066
|
-
async function
|
|
34067
|
-
const i = await qt(), { element: t, render: e } = await
|
|
34066
|
+
async function i5() {
|
|
34067
|
+
const i = await qt(), { element: t, render: e } = await e5();
|
|
34068
34068
|
i.stage.addChild(t), e(), Q.on("viewportDateRangeUpdated", () => e()), Q.on("layoutSettingsUpdated", () => e()), Q.on("configUpdated", () => e());
|
|
34069
34069
|
}
|
|
34070
|
-
const
|
|
34071
|
-
async function
|
|
34070
|
+
const r5 = 80;
|
|
34071
|
+
async function n5() {
|
|
34072
34072
|
const i = await qt(), t = await te(), e = await Qt(), r = await Pt(), n = await br();
|
|
34073
34073
|
let s = await si();
|
|
34074
34074
|
Q.on("scaleUpdated", (l) => s = l);
|
|
@@ -34080,7 +34080,7 @@ async function nP() {
|
|
|
34080
34080
|
n.width = r.styles.playheadWidth, n.height = i.stage.height, n.tint = r.styles.playheadColor, n.position.x = s(/* @__PURE__ */ new Date()) * t.scale.x + t.worldTransform.tx, a();
|
|
34081
34081
|
}
|
|
34082
34082
|
function a() {
|
|
34083
|
-
if (t.moving || !(n.position.x > 0 && n.position.x < i.screen.width) || !(n.position.x > i.screen.width -
|
|
34083
|
+
if (t.moving || !(n.position.x > 0 && n.position.x < i.screen.width) || !(n.position.x > i.screen.width - r5))
|
|
34084
34084
|
return;
|
|
34085
34085
|
const c = t.left;
|
|
34086
34086
|
t.zoomPercent(-0.1, !0), t.left = c;
|
|
@@ -34090,25 +34090,25 @@ async function nP() {
|
|
|
34090
34090
|
render: o
|
|
34091
34091
|
};
|
|
34092
34092
|
}
|
|
34093
|
-
async function
|
|
34094
|
-
const i = await qt(), t = await Yi(), { element: e, render: r } = await
|
|
34093
|
+
async function s5() {
|
|
34094
|
+
const i = await qt(), t = await Yi(), { element: e, render: r } = await n5();
|
|
34095
34095
|
t.end_time || (i.stage.addChild(e), i.ticker.add(r)), Q.on("runDataUpdated", ({ end_time: n }) => {
|
|
34096
34096
|
n && (i.ticker.remove(r), i.stage.removeChild(e));
|
|
34097
34097
|
});
|
|
34098
34098
|
}
|
|
34099
|
-
function
|
|
34100
|
-
LC(),
|
|
34099
|
+
function o5({ stage: i, props: t }) {
|
|
34100
|
+
LC(), aM(), sM(), i5(), m5(), UR(), ZR(), jR(), s5(), OC(), lR(), RC(i), WC(t), mM(), v5(), bR();
|
|
34101
34101
|
}
|
|
34102
|
-
function
|
|
34102
|
+
function a5() {
|
|
34103
34103
|
Q.clear();
|
|
34104
34104
|
try {
|
|
34105
|
-
GC(),
|
|
34105
|
+
GC(), lM(), oM(), PC(), g5(), VR(), ZC(), BC(), cR(), gM(), w5(), xR(), xM();
|
|
34106
34106
|
} catch (i) {
|
|
34107
34107
|
console.error(i);
|
|
34108
34108
|
}
|
|
34109
34109
|
}
|
|
34110
34110
|
async function Bm(i) {
|
|
34111
|
-
const t = await qt(), e = await te(), r = await Pt(), n = await Qt(), s = await
|
|
34111
|
+
const t = await qt(), e = await te(), r = await Pt(), n = await Qt(), s = await HR();
|
|
34112
34112
|
let o = await si(), a = s && s.length > 0;
|
|
34113
34113
|
const l = await c();
|
|
34114
34114
|
l.element.on("click", (d) => {
|
|
@@ -34272,11 +34272,11 @@ class Zb extends St {
|
|
|
34272
34272
|
this._bounds.updateID = this._boundsID;
|
|
34273
34273
|
}
|
|
34274
34274
|
}
|
|
34275
|
-
async function
|
|
34276
|
-
const t = new Zb(), e = await Pt(), r = await Qt(), { element: n, render: s } = await Lb(), { element: o, render: a } = await Gh(), { element: l, render: h } = await
|
|
34275
|
+
async function l5(i) {
|
|
34276
|
+
const t = new Zb(), e = await Pt(), r = await Qt(), { element: n, render: s } = await Lb(), { element: o, render: a } = await Gh(), { element: l, render: h } = await vR(), { element: c, render: u } = await Vf(), { element: d, render: f, getSize: p, stopWorker: m } = await Hb(), { element: g, render: y } = await Xb(), { element: x, render: b, update: v } = await Ub({ parentStartDate: i.start_time }), { element: w, render: S, update: E } = await Wb({ parentStartDate: i.start_time });
|
|
34277
34277
|
let I = !1, A = !1, L = i, G = !1;
|
|
34278
34278
|
t.sortableChildren = !0, c.zIndex = bx, n.zIndex = Tx, o.zIndex = rp, l.zIndex = rp, d.zIndex = vx, x.zIndex = xx, g.zIndex = _x, w.zIndex = wx, c.eventMode = "none", c.cursor = "default";
|
|
34279
|
-
const { start: F, stop: M } = await
|
|
34279
|
+
const { start: F, stop: M } = await U1(L.id, ($) => {
|
|
34280
34280
|
A = !!$.artifacts && $.artifacts.length > 0, f($), B($.states), k($.artifacts), Y();
|
|
34281
34281
|
}), { start: N, stop: W } = await Pb(() => ({
|
|
34282
34282
|
nodeId: L.id,
|
|
@@ -34393,7 +34393,7 @@ async function lP(i) {
|
|
|
34393
34393
|
render: K
|
|
34394
34394
|
};
|
|
34395
34395
|
}
|
|
34396
|
-
async function
|
|
34396
|
+
async function h5() {
|
|
34397
34397
|
const i = await Pt(), t = new Zb(), { element: e, render: r } = await Gh(), { element: n, render: s } = await Lb();
|
|
34398
34398
|
t.addChild(n), t.addChild(e);
|
|
34399
34399
|
async function o(l) {
|
|
@@ -34413,7 +34413,7 @@ async function hP() {
|
|
|
34413
34413
|
bar: n
|
|
34414
34414
|
};
|
|
34415
34415
|
}
|
|
34416
|
-
async function
|
|
34416
|
+
async function c5(i) {
|
|
34417
34417
|
const t = await Pt(), e = await qt(), r = await hb(), n = await Qt();
|
|
34418
34418
|
let s = null;
|
|
34419
34419
|
const o = /* @__PURE__ */ new Map(), { animate: a } = await db(), { element: l, render: h, bar: c } = await E(i);
|
|
@@ -34475,9 +34475,9 @@ async function cP(i) {
|
|
|
34475
34475
|
const { kind: G } = L;
|
|
34476
34476
|
switch (G) {
|
|
34477
34477
|
case "task-run":
|
|
34478
|
-
return await
|
|
34478
|
+
return await h5();
|
|
34479
34479
|
case "flow-run":
|
|
34480
|
-
return await
|
|
34480
|
+
return await l5(L);
|
|
34481
34481
|
default:
|
|
34482
34482
|
const F = G;
|
|
34483
34483
|
throw new Error(`switch does not have case for value: ${F}`);
|
|
@@ -34553,11 +34553,11 @@ function Xm({ gap: i = 0, minimum: t = 0 } = {}) {
|
|
|
34553
34553
|
clear: h
|
|
34554
34554
|
};
|
|
34555
34555
|
}
|
|
34556
|
-
function
|
|
34556
|
+
function u5(i) {
|
|
34557
34557
|
throw new Error(`switch does not have case for value: ${i}`);
|
|
34558
34558
|
}
|
|
34559
|
-
const Vb = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIEtlKG4pe3Rocm93IG5ldyBFcnJvcihgc3dpdGNoIGRvZXMgbm90IGhhdmUgY2FzZSBmb3IgdmFsdWU6ICR7bn1gKX1mdW5jdGlvbiBDbihuLGUpe3JldHVybiBuPT1udWxsfHxlPT1udWxsP05hTjpuPGU/LTE6bj5lPzE6bj49ZT8wOk5hTn1mdW5jdGlvbiBudChuLGUpe3JldHVybiBuPT1udWxsfHxlPT1udWxsP05hTjplPG4/LTE6ZT5uPzE6ZT49bj8wOk5hTn1mdW5jdGlvbiBSbihuKXtsZXQgZSx0LHI7bi5sZW5ndGghPT0yPyhlPUNuLHQ9KHUsbCk9PkNuKG4odSksbCkscj0odSxsKT0+bih1KS1sKTooZT1uPT09Q258fG49PT1udD9uOmV0LHQ9bixyPW4pO2Z1bmN0aW9uIG8odSxsLGY9MCxnPXUubGVuZ3RoKXtpZihmPGcpe2lmKGUobCxsKSE9PTApcmV0dXJuIGc7ZG97Y29uc3QgbT1mK2c+Pj4xO3QodVttXSxsKTwwP2Y9bSsxOmc9bX13aGlsZShmPGcpfXJldHVybiBmfWZ1bmN0aW9uIGkodSxsLGY9MCxnPXUubGVuZ3RoKXtpZihmPGcpe2lmKGUobCxsKSE9PTApcmV0dXJuIGc7ZG97Y29uc3QgbT1mK2c+Pj4xO3QodVttXSxsKTw9MD9mPW0rMTpnPW19d2hpbGUoZjxnKX1yZXR1cm4gZn1mdW5jdGlvbiBhKHUsbCxmPTAsZz11Lmxlbmd0aCl7Y29uc3QgbT1vKHUsbCxmLGctMSk7cmV0dXJuIG0+ZiYmcih1W20tMV0sbCk+LXIodVttXSxsKT9tLTE6bX1yZXR1cm57bGVmdDpvLGNlbnRlcjphLHJpZ2h0Oml9fWZ1bmN0aW9uIGV0KCl7cmV0dXJuIDB9ZnVuY3Rpb24gdHQobil7cmV0dXJuIG49PT1udWxsP05hTjorbn1jb25zdCBydD1SbihDbikucmlnaHQ7Um4odHQpLmNlbnRlcjtjb25zdCBvdD1NYXRoLnNxcnQoNTApLGl0PU1hdGguc3FydCgxMCksYXQ9TWF0aC5zcXJ0KDIpO2Z1bmN0aW9uIE5uKG4sZSx0KXtjb25zdCByPShlLW4pL01hdGgubWF4KDAsdCksbz1NYXRoLmZsb29yKE1hdGgubG9nMTAocikpLGk9ci9NYXRoLnBvdygxMCxvKSxhPWk+PW90PzEwOmk+PWl0PzU6aT49YXQ/MjoxO2xldCB1LGwsZjtyZXR1cm4gbzwwPyhmPU1hdGgucG93KDEwLC1vKS9hLHU9TWF0aC5yb3VuZChuKmYpLGw9TWF0aC5yb3VuZChlKmYpLHUvZjxuJiYrK3UsbC9mPmUmJi0tbCxmPS1mKTooZj1NYXRoLnBvdygxMCxvKSphLHU9TWF0aC5yb3VuZChuL2YpLGw9TWF0aC5yb3VuZChlL2YpLHUqZjxuJiYrK3UsbCpmPmUmJi0tbCksbDx1JiYuNTw9dCYmdDwyP05uKG4sZSx0KjIpOlt1LGwsZl19ZnVuY3Rpb24gdXQobixlLHQpe2lmKGU9K2Usbj0rbix0PSt0LCEodD4wKSlyZXR1cm5bXTtpZihuPT09ZSlyZXR1cm5bbl07Y29uc3Qgcj1lPG4sW28saSxhXT1yP05uKGUsbix0KTpObihuLGUsdCk7aWYoIShpPj1vKSlyZXR1cm5bXTtjb25zdCB1PWktbysxLGw9bmV3IEFycmF5KHUpO2lmKHIpaWYoYTwwKWZvcihsZXQgZj0wO2Y8dTsrK2YpbFtmXT0oaS1mKS8tYTtlbHNlIGZvcihsZXQgZj0wO2Y8dTsrK2YpbFtmXT0oaS1mKSphO2Vsc2UgaWYoYTwwKWZvcihsZXQgZj0wO2Y8dTsrK2YpbFtmXT0obytmKS8tYTtlbHNlIGZvcihsZXQgZj0wO2Y8dTsrK2YpbFtmXT0obytmKSphO3JldHVybiBsfWZ1bmN0aW9uIEluKG4sZSx0KXtyZXR1cm4gZT0rZSxuPStuLHQ9K3QsTm4obixlLHQpWzJdfWZ1bmN0aW9uIE9uKG4sZSx0KXtlPStlLG49K24sdD0rdDtjb25zdCByPWU8bixvPXI/SW4oZSxuLHQpOkluKG4sZSx0KTtyZXR1cm4ocj8tMToxKSoobzwwPzEvLW86byl9ZnVuY3Rpb24gem4obixlLHQpe24ucHJvdG90eXBlPWUucHJvdG90eXBlPXQsdC5jb25zdHJ1Y3Rvcj1ufWZ1bmN0aW9uIGZlKG4sZSl7dmFyIHQ9T2JqZWN0LmNyZWF0ZShuLnByb3RvdHlwZSk7Zm9yKHZhciByIGluIGUpdFtyXT1lW3JdO3JldHVybiB0fWZ1bmN0aW9uIGRuKCl7fXZhciB5bj0uNyxVbj0xL3luLHJuPSJcXHMqKFsrLV0/XFxkKylcXHMqIix4bj0iXFxzKihbKy1dPyg/OlxcZCpcXC4pP1xcZCsoPzpbZUVdWystXT9cXGQrKT8pXFxzKiIsWj0iXFxzKihbKy1dPyg/OlxcZCpcXC4pP1xcZCsoPzpbZUVdWystXT9cXGQrKT8pJVxccyoiLGZ0PS9eIyhbMC05YS1mXXszLDh9KSQvLGN0PW5ldyBSZWdFeHAoYF5yZ2JcXCgke3JufSwke3JufSwke3JufVxcKSRgKSxzdD1uZXcgUmVnRXhwKGBecmdiXFwoJHtafSwke1p9LCR7Wn1cXCkkYCksbHQ9bmV3IFJlZ0V4cChgXnJnYmFcXCgke3JufSwke3JufSwke3JufSwke3hufVxcKSRgKSxodD1uZXcgUmVnRXhwKGBecmdiYVxcKCR7Wn0sJHtafSwke1p9LCR7eG59XFwpJGApLGd0PW5ldyBSZWdFeHAoYF5oc2xcXCgke3hufSwke1p9LCR7Wn1cXCkkYCksbXQ9bmV3IFJlZ0V4cChgXmhzbGFcXCgke3hufSwke1p9LCR7Wn0sJHt4bn1cXCkkYCksY2U9e2FsaWNlYmx1ZToxNTc5MjM4MyxhbnRpcXVld2hpdGU6MTY0NDQzNzUsYXF1YTo2NTUzNSxhcXVhbWFyaW5lOjgzODg1NjQsYXp1cmU6MTU3OTQxNzUsYmVpZ2U6MTYxMTkyNjAsYmlzcXVlOjE2NzcwMjQ0LGJsYWNrOjAsYmxhbmNoZWRhbG1vbmQ6MTY3NzIwNDUsYmx1ZToyNTUsYmx1ZXZpb2xldDo5MDU1MjAyLGJyb3duOjEwODI0MjM0LGJ1cmx5d29vZDoxNDU5NjIzMSxjYWRldGJsdWU6NjI2NjUyOCxjaGFydHJldXNlOjgzODgzNTIsY2hvY29sYXRlOjEzNzg5NDcwLGNvcmFsOjE2NzQ0MjcyLGNvcm5mbG93ZXJibHVlOjY1OTE5ODEsY29ybnNpbGs6MTY3NzUzODgsY3JpbXNvbjoxNDQyMzEwMCxjeWFuOjY1NTM1LGRhcmtibHVlOjEzOSxkYXJrY3lhbjozNTcyMyxkYXJrZ29sZGVucm9kOjEyMDkyOTM5LGRhcmtncmF5OjExMTE5MDE3LGRhcmtncmVlbjoyNTYwMCxkYXJrZ3JleToxMTExOTAxNyxkYXJra2hha2k6MTI0MzMyNTksZGFya21hZ2VudGE6OTEwOTY0MyxkYXJrb2xpdmVncmVlbjo1NTk3OTk5LGRhcmtvcmFuZ2U6MTY3NDc1MjAsZGFya29yY2hpZDoxMDA0MDAxMixkYXJrcmVkOjkxMDk1MDQsZGFya3NhbG1vbjoxNTMwODQxMCxkYXJrc2VhZ3JlZW46OTQxOTkxOSxkYXJrc2xhdGVibHVlOjQ3MzQzNDcsZGFya3NsYXRlZ3JheTozMTAwNDk1LGRhcmtzbGF0ZWdyZXk6MzEwMDQ5NSxkYXJrdHVycXVvaXNlOjUyOTQ1LGRhcmt2aW9sZXQ6OTY5OTUzOSxkZWVwcGluazoxNjcxNjk0NyxkZWVwc2t5Ymx1ZTo0OTE1MSxkaW1ncmF5OjY5MDgyNjUsZGltZ3JleTo2OTA4MjY1LGRvZGdlcmJsdWU6MjAwMzE5OSxmaXJlYnJpY2s6MTE2NzQxNDYsZmxvcmFsd2hpdGU6MTY3NzU5MjAsZm9yZXN0Z3JlZW46MjI2Mzg0MixmdWNoc2lhOjE2NzExOTM1LGdhaW5zYm9ybzoxNDQ3NDQ2MCxnaG9zdHdoaXRlOjE2MzE2NjcxLGdvbGQ6MTY3NjY3MjAsZ29sZGVucm9kOjE0MzI5MTIwLGdyYXk6ODQyMTUwNCxncmVlbjozMjc2OCxncmVlbnllbGxvdzoxMTQwMzA1NSxncmV5Ojg0MjE1MDQsaG9uZXlkZXc6MTU3OTQxNjAsaG90cGluazoxNjczODc0MCxpbmRpYW5yZWQ6MTM0NTg1MjQsaW5kaWdvOjQ5MTUzMzAsaXZvcnk6MTY3NzcyMDAsa2hha2k6MTU3ODc2NjAsbGF2ZW5kZXI6MTUxMzI0MTAsbGF2ZW5kZXJibHVzaDoxNjc3MzM2NSxsYXduZ3JlZW46ODE5MDk3NixsZW1vbmNoaWZmb246MTY3NzU4ODUsbGlnaHRibHVlOjExMzkzMjU0LGxpZ2h0Y29yYWw6MTU3NjE1MzYsbGlnaHRjeWFuOjE0NzQ1NTk5LGxpZ2h0Z29sZGVucm9keWVsbG93OjE2NDQ4MjEwLGxpZ2h0Z3JheToxMzg4MjMyMyxsaWdodGdyZWVuOjk0OTgyNTYsbGlnaHRncmV5OjEzODgyMzIzLGxpZ2h0cGluazoxNjc1ODQ2NSxsaWdodHNhbG1vbjoxNjc1Mjc2MixsaWdodHNlYWdyZWVuOjIxNDI4OTAsbGlnaHRza3libHVlOjg5MDAzNDYsbGlnaHRzbGF0ZWdyYXk6NzgzMzc1MyxsaWdodHNsYXRlZ3JleTo3ODMzNzUzLGxpZ2h0c3RlZWxibHVlOjExNTg0NzM0LGxpZ2h0eWVsbG93OjE2Nzc3MTg0LGxpbWU6NjUyODAsbGltZWdyZWVuOjMzMjkzMzAsbGluZW46MTY0NDU2NzAsbWFnZW50YToxNjcxMTkzNSxtYXJvb246ODM4ODYwOCxtZWRpdW1hcXVhbWFyaW5lOjY3MzczMjIsbWVkaXVtYmx1ZToyMDUsbWVkaXVtb3JjaGlkOjEyMjExNjY3LG1lZGl1bXB1cnBsZTo5NjYyNjgzLG1lZGl1bXNlYWdyZWVuOjM5NzgwOTcsbWVkaXVtc2xhdGVibHVlOjgwODc3OTAsbWVkaXVtc3ByaW5nZ3JlZW46NjQxNTQsbWVkaXVtdHVycXVvaXNlOjQ3NzIzMDAsbWVkaXVtdmlvbGV0cmVkOjEzMDQ3MTczLG1pZG5pZ2h0Ymx1ZToxNjQ0OTEyLG1pbnRjcmVhbToxNjEyMTg1MCxtaXN0eXJvc2U6MTY3NzAyNzMsbW9jY2FzaW46MTY3NzAyMjksbmF2YWpvd2hpdGU6MTY3Njg2ODUsbmF2eToxMjgsb2xkbGFjZToxNjY0MzU1OCxvbGl2ZTo4NDIxMzc2LG9saXZlZHJhYjo3MDQ4NzM5LG9yYW5nZToxNjc1MzkyMCxvcmFuZ2VyZWQ6MTY3MjkzNDQsb3JjaGlkOjE0MzE1NzM0LHBhbGVnb2xkZW5yb2Q6MTU2NTcxMzAscGFsZWdyZWVuOjEwMDI1ODgwLHBhbGV0dXJxdW9pc2U6MTE1Mjk5NjYscGFsZXZpb2xldHJlZDoxNDM4MTIwMyxwYXBheWF3aGlwOjE2NzczMDc3LHBlYWNocHVmZjoxNjc2NzY3MyxwZXJ1OjEzNDY4OTkxLHBpbms6MTY3NjEwMzUscGx1bToxNDUyNDYzNyxwb3dkZXJibHVlOjExNTkxOTEwLHB1cnBsZTo4Mzg4NzM2LHJlYmVjY2FwdXJwbGU6NjY5Nzg4MSxyZWQ6MTY3MTE2ODAscm9zeWJyb3duOjEyMzU3NTE5LHJveWFsYmx1ZTo0Mjg2OTQ1LHNhZGRsZWJyb3duOjkxMjcxODcsc2FsbW9uOjE2NDE2ODgyLHNhbmR5YnJvd246MTYwMzI4NjQsc2VhZ3JlZW46MzA1MDMyNyxzZWFzaGVsbDoxNjc3NDYzOCxzaWVubmE6MTA1MDY3OTcsc2lsdmVyOjEyNjMyMjU2LHNreWJsdWU6ODkwMDMzMSxzbGF0ZWJsdWU6Njk3MDA2MSxzbGF0ZWdyYXk6NzM3Mjk0NCxzbGF0ZWdyZXk6NzM3Mjk0NCxzbm93OjE2Nzc1OTMwLHNwcmluZ2dyZWVuOjY1NDA3LHN0ZWVsYmx1ZTo0NjIwOTgwLHRhbjoxMzgwODc4MCx0ZWFsOjMyODk2LHRoaXN0bGU6MTQyMDQ4ODgsdG9tYXRvOjE2NzM3MDk1LHR1cnF1b2lzZTo0MjUxODU2LHZpb2xldDoxNTYzMTA4Nix3aGVhdDoxNjExMzMzMSx3aGl0ZToxNjc3NzIxNSx3aGl0ZXNtb2tlOjE2MTE5Mjg1LHllbGxvdzoxNjc3Njk2MCx5ZWxsb3dncmVlbjoxMDE0NTA3NH07em4oZG4scG4se2NvcHkobil7cmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IHRoaXMuY29uc3RydWN0b3IsdGhpcyxuKX0sZGlzcGxheWFibGUoKXtyZXR1cm4gdGhpcy5yZ2IoKS5kaXNwbGF5YWJsZSgpfSxoZXg6c2UsZm9ybWF0SGV4OnNlLGZvcm1hdEhleDg6ZHQsZm9ybWF0SHNsOnl0LGZvcm1hdFJnYjpsZSx0b1N0cmluZzpsZX0pO2Z1bmN0aW9uIHNlKCl7cmV0dXJuIHRoaXMucmdiKCkuZm9ybWF0SGV4KCl9ZnVuY3Rpb24gZHQoKXtyZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRIZXg4KCl9ZnVuY3Rpb24geXQoKXtyZXR1cm4geWUodGhpcykuZm9ybWF0SHNsKCl9ZnVuY3Rpb24gbGUoKXtyZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRSZ2IoKX1mdW5jdGlvbiBwbihuKXt2YXIgZSx0O3JldHVybiBuPShuKyIiKS50cmltKCkudG9Mb3dlckNhc2UoKSwoZT1mdC5leGVjKG4pKT8odD1lWzFdLmxlbmd0aCxlPXBhcnNlSW50KGVbMV0sMTYpLHQ9PT02P2hlKGUpOnQ9PT0zP25ldyBQKGU+PjgmMTV8ZT4+NCYyNDAsZT4+NCYxNXxlJjI0MCwoZSYxNSk8PDR8ZSYxNSwxKTp0PT09OD9EbihlPj4yNCYyNTUsZT4+MTYmMjU1LGU+PjgmMjU1LChlJjI1NSkvMjU1KTp0PT09ND9EbihlPj4xMiYxNXxlPj44JjI0MCxlPj44JjE1fGU+PjQmMjQwLGU+PjQmMTV8ZSYyNDAsKChlJjE1KTw8NHxlJjE1KS8yNTUpOm51bGwpOihlPWN0LmV4ZWMobikpP25ldyBQKGVbMV0sZVsyXSxlWzNdLDEpOihlPXN0LmV4ZWMobikpP25ldyBQKGVbMV0qMjU1LzEwMCxlWzJdKjI1NS8xMDAsZVszXSoyNTUvMTAwLDEpOihlPWx0LmV4ZWMobikpP0RuKGVbMV0sZVsyXSxlWzNdLGVbNF0pOihlPWh0LmV4ZWMobikpP0RuKGVbMV0qMjU1LzEwMCxlWzJdKjI1NS8xMDAsZVszXSoyNTUvMTAwLGVbNF0pOihlPWd0LmV4ZWMobikpP2RlKGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsMSk6KGU9bXQuZXhlYyhuKSk/ZGUoZVsxXSxlWzJdLzEwMCxlWzNdLzEwMCxlWzRdKTpjZS5oYXNPd25Qcm9wZXJ0eShuKT9oZShjZVtuXSk6bj09PSJ0cmFuc3BhcmVudCI/bmV3IFAoTmFOLE5hTixOYU4sMCk6bnVsbH1mdW5jdGlvbiBoZShuKXtyZXR1cm4gbmV3IFAobj4+MTYmMjU1LG4+PjgmMjU1LG4mMjU1LDEpfWZ1bmN0aW9uIERuKG4sZSx0LHIpe3JldHVybiByPD0wJiYobj1lPXQ9TmFOKSxuZXcgUChuLGUsdCxyKX1mdW5jdGlvbiB4dChuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIGRufHwobj1wbihuKSksbj8obj1uLnJnYigpLG5ldyBQKG4ucixuLmcsbi5iLG4ub3BhY2l0eSkpOm5ldyBQfWZ1bmN0aW9uIEVuKG4sZSx0LHIpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPT09MT94dChuKTpuZXcgUChuLGUsdCxyPz8xKX1mdW5jdGlvbiBQKG4sZSx0LHIpe3RoaXMucj0rbix0aGlzLmc9K2UsdGhpcy5iPSt0LHRoaXMub3BhY2l0eT0rcn16bihQLEVuLGZlKGRuLHticmlnaHRlcihuKXtyZXR1cm4gbj1uPT1udWxsP1VuOk1hdGgucG93KFVuLG4pLG5ldyBQKHRoaXMucipuLHRoaXMuZypuLHRoaXMuYipuLHRoaXMub3BhY2l0eSl9LGRhcmtlcihuKXtyZXR1cm4gbj1uPT1udWxsP3luOk1hdGgucG93KHluLG4pLG5ldyBQKHRoaXMucipuLHRoaXMuZypuLHRoaXMuYipuLHRoaXMub3BhY2l0eSl9LHJnYigpe3JldHVybiB0aGlzfSxjbGFtcCgpe3JldHVybiBuZXcgUChHKHRoaXMuciksRyh0aGlzLmcpLEcodGhpcy5iKSxrbih0aGlzLm9wYWNpdHkpKX0sZGlzcGxheWFibGUoKXtyZXR1cm4tLjU8PXRoaXMuciYmdGhpcy5yPDI1NS41JiYtLjU8PXRoaXMuZyYmdGhpcy5nPDI1NS41JiYtLjU8PXRoaXMuYiYmdGhpcy5iPDI1NS41JiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0saGV4OmdlLGZvcm1hdEhleDpnZSxmb3JtYXRIZXg4OnB0LGZvcm1hdFJnYjptZSx0b1N0cmluZzptZX0pKTtmdW5jdGlvbiBnZSgpe3JldHVybmAjJHtKKHRoaXMucil9JHtKKHRoaXMuZyl9JHtKKHRoaXMuYil9YH1mdW5jdGlvbiBwdCgpe3JldHVybmAjJHtKKHRoaXMucil9JHtKKHRoaXMuZyl9JHtKKHRoaXMuYil9JHtKKChpc05hTih0aGlzLm9wYWNpdHkpPzE6dGhpcy5vcGFjaXR5KSoyNTUpfWB9ZnVuY3Rpb24gbWUoKXtjb25zdCBuPWtuKHRoaXMub3BhY2l0eSk7cmV0dXJuYCR7bj09PTE/InJnYigiOiJyZ2JhKCJ9JHtHKHRoaXMucil9LCAke0codGhpcy5nKX0sICR7Ryh0aGlzLmIpfSR7bj09PTE/IikiOmAsICR7bn0pYH1gfWZ1bmN0aW9uIGtuKG4pe3JldHVybiBpc05hTihuKT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSxuKSl9ZnVuY3Rpb24gRyhuKXtyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZChuKXx8MCkpfWZ1bmN0aW9uIEoobil7cmV0dXJuIG49RyhuKSwobjwxNj8iMCI6IiIpK24udG9TdHJpbmcoMTYpfWZ1bmN0aW9uIGRlKG4sZSx0LHIpe3JldHVybiByPD0wP249ZT10PU5hTjp0PD0wfHx0Pj0xP249ZT1OYU46ZTw9MCYmKG49TmFOKSxuZXcgXyhuLGUsdCxyKX1mdW5jdGlvbiB5ZShuKXtpZihuIGluc3RhbmNlb2YgXylyZXR1cm4gbmV3IF8obi5oLG4ucyxuLmwsbi5vcGFjaXR5KTtpZihuIGluc3RhbmNlb2YgZG58fChuPXBuKG4pKSwhbilyZXR1cm4gbmV3IF87aWYobiBpbnN0YW5jZW9mIF8pcmV0dXJuIG47bj1uLnJnYigpO3ZhciBlPW4uci8yNTUsdD1uLmcvMjU1LHI9bi5iLzI1NSxvPU1hdGgubWluKGUsdCxyKSxpPU1hdGgubWF4KGUsdCxyKSxhPU5hTix1PWktbyxsPShpK28pLzI7cmV0dXJuIHU/KGU9PT1pP2E9KHQtcikvdSsodDxyKSo2OnQ9PT1pP2E9KHItZSkvdSsyOmE9KGUtdCkvdSs0LHUvPWw8LjU/aStvOjItaS1vLGEqPTYwKTp1PWw+MCYmbDwxPzA6YSxuZXcgXyhhLHUsbCxuLm9wYWNpdHkpfWZ1bmN0aW9uIHd0KG4sZSx0LHIpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPT09MT95ZShuKTpuZXcgXyhuLGUsdCxyPz8xKX1mdW5jdGlvbiBfKG4sZSx0LHIpe3RoaXMuaD0rbix0aGlzLnM9K2UsdGhpcy5sPSt0LHRoaXMub3BhY2l0eT0rcn16bihfLHd0LGZlKGRuLHticmlnaHRlcihuKXtyZXR1cm4gbj1uPT1udWxsP1VuOk1hdGgucG93KFVuLG4pLG5ldyBfKHRoaXMuaCx0aGlzLnMsdGhpcy5sKm4sdGhpcy5vcGFjaXR5KX0sZGFya2VyKG4pe3JldHVybiBuPW49PW51bGw/eW46TWF0aC5wb3coeW4sbiksbmV3IF8odGhpcy5oLHRoaXMucyx0aGlzLmwqbix0aGlzLm9wYWNpdHkpfSxyZ2IoKXt2YXIgbj10aGlzLmglMzYwKyh0aGlzLmg8MCkqMzYwLGU9aXNOYU4obil8fGlzTmFOKHRoaXMucyk/MDp0aGlzLnMsdD10aGlzLmwscj10Kyh0PC41P3Q6MS10KSplLG89Mip0LXI7cmV0dXJuIG5ldyBQKF9uKG4+PTI0MD9uLTI0MDpuKzEyMCxvLHIpLF9uKG4sbyxyKSxfbihuPDEyMD9uKzI0MDpuLTEyMCxvLHIpLHRoaXMub3BhY2l0eSl9LGNsYW1wKCl7cmV0dXJuIG5ldyBfKHhlKHRoaXMuaCksU24odGhpcy5zKSxTbih0aGlzLmwpLGtuKHRoaXMub3BhY2l0eSkpfSxkaXNwbGF5YWJsZSgpe3JldHVybigwPD10aGlzLnMmJnRoaXMuczw9MXx8aXNOYU4odGhpcy5zKSkmJjA8PXRoaXMubCYmdGhpcy5sPD0xJiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0sZm9ybWF0SHNsKCl7Y29uc3Qgbj1rbih0aGlzLm9wYWNpdHkpO3JldHVybmAke249PT0xPyJoc2woIjoiaHNsYSgifSR7eGUodGhpcy5oKX0sICR7U24odGhpcy5zKSoxMDB9JSwgJHtTbih0aGlzLmwpKjEwMH0lJHtuPT09MT8iKSI6YCwgJHtufSlgfWB9fSkpO2Z1bmN0aW9uIHhlKG4pe3JldHVybiBuPShufHwwKSUzNjAsbjwwP24rMzYwOm59ZnVuY3Rpb24gU24obil7cmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4oMSxufHwwKSl9ZnVuY3Rpb24gX24obixlLHQpe3JldHVybihuPDYwP2UrKHQtZSkqbi82MDpuPDE4MD90Om48MjQwP2UrKHQtZSkqKDI0MC1uKS82MDplKSoyNTV9dmFyIHFuPW49PigpPT5uO2Z1bmN0aW9uIE10KG4sZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBuK3QqZX19ZnVuY3Rpb24gYnQobixlLHQpe3JldHVybiBuPU1hdGgucG93KG4sdCksZT1NYXRoLnBvdyhlLHQpLW4sdD0xL3QsZnVuY3Rpb24ocil7cmV0dXJuIE1hdGgucG93KG4rciplLHQpfX1mdW5jdGlvbiB2dChuKXtyZXR1cm4obj0rbik9PTE/cGU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC1lP2J0KGUsdCxuKTpxbihpc05hTihlKT90OmUpfX1mdW5jdGlvbiBwZShuLGUpe3ZhciB0PWUtbjtyZXR1cm4gdD9NdChuLHQpOnFuKGlzTmFOKG4pP2U6bil9dmFyIHdlPWZ1bmN0aW9uIG4oZSl7dmFyIHQ9dnQoZSk7ZnVuY3Rpb24gcihvLGkpe3ZhciBhPXQoKG89RW4obykpLnIsKGk9RW4oaSkpLnIpLHU9dChvLmcsaS5nKSxsPXQoby5iLGkuYiksZj1wZShvLm9wYWNpdHksaS5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24oZyl7cmV0dXJuIG8ucj1hKGcpLG8uZz11KGcpLG8uYj1sKGcpLG8ub3BhY2l0eT1mKGcpLG8rIiJ9fXJldHVybiByLmdhbW1hPW4scn0oMSk7ZnVuY3Rpb24gVHQobixlKXtlfHwoZT1bXSk7dmFyIHQ9bj9NYXRoLm1pbihlLmxlbmd0aCxuLmxlbmd0aCk6MCxyPWUuc2xpY2UoKSxvO3JldHVybiBmdW5jdGlvbihpKXtmb3Iobz0wO288dDsrK28pcltvXT1uW29dKigxLWkpK2Vbb10qaTtyZXR1cm4gcn19ZnVuY3Rpb24gQ3Qobil7cmV0dXJuIEFycmF5QnVmZmVyLmlzVmlldyhuKSYmIShuIGluc3RhbmNlb2YgRGF0YVZpZXcpfWZ1bmN0aW9uIE50KG4sZSl7dmFyIHQ9ZT9lLmxlbmd0aDowLHI9bj9NYXRoLm1pbih0LG4ubGVuZ3RoKTowLG89bmV3IEFycmF5KHIpLGk9bmV3IEFycmF5KHQpLGE7Zm9yKGE9MDthPHI7KythKW9bYV09Vm4oblthXSxlW2FdKTtmb3IoO2E8dDsrK2EpaVthXT1lW2FdO3JldHVybiBmdW5jdGlvbih1KXtmb3IoYT0wO2E8cjsrK2EpaVthXT1vW2FdKHUpO3JldHVybiBpfX1mdW5jdGlvbiBVdChuLGUpe3ZhciB0PW5ldyBEYXRlO3JldHVybiBuPStuLGU9K2UsZnVuY3Rpb24ocil7cmV0dXJuIHQuc2V0VGltZShuKigxLXIpK2UqciksdH19ZnVuY3Rpb24gJG4obixlKXtyZXR1cm4gbj0rbixlPStlLGZ1bmN0aW9uKHQpe3JldHVybiBuKigxLXQpK2UqdH19ZnVuY3Rpb24gRHQobixlKXt2YXIgdD17fSxyPXt9LG87KG49PT1udWxsfHx0eXBlb2YgbiE9Im9iamVjdCIpJiYobj17fSksKGU9PT1udWxsfHx0eXBlb2YgZSE9Im9iamVjdCIpJiYoZT17fSk7Zm9yKG8gaW4gZSlvIGluIG4/dFtvXT1WbihuW29dLGVbb10pOnJbb109ZVtvXTtyZXR1cm4gZnVuY3Rpb24oaSl7Zm9yKG8gaW4gdClyW29dPXRbb10oaSk7cmV0dXJuIHJ9fXZhciBqbj0vWy0rXT8oPzpcZCtcLj9cZCp8XC4/XGQrKSg/OltlRV1bLStdP1xkKyk/L2csWm49bmV3IFJlZ0V4cChqbi5zb3VyY2UsImciKTtmdW5jdGlvbiBrdChuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbn19ZnVuY3Rpb24gU3Qobil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBuKGUpKyIifX1mdW5jdGlvbiAkdChuLGUpe3ZhciB0PWpuLmxhc3RJbmRleD1abi5sYXN0SW5kZXg9MCxyLG8saSxhPS0xLHU9W10sbD1bXTtmb3Iobj1uKyIiLGU9ZSsiIjsocj1qbi5leGVjKG4pKSYmKG89Wm4uZXhlYyhlKSk7KShpPW8uaW5kZXgpPnQmJihpPWUuc2xpY2UodCxpKSx1W2FdP3VbYV0rPWk6dVsrK2FdPWkpLChyPXJbMF0pPT09KG89b1swXSk/dVthXT91W2FdKz1vOnVbKythXT1vOih1WysrYV09bnVsbCxsLnB1c2goe2k6YSx4OiRuKHIsbyl9KSksdD1abi5sYXN0SW5kZXg7cmV0dXJuIHQ8ZS5sZW5ndGgmJihpPWUuc2xpY2UodCksdVthXT91W2FdKz1pOnVbKythXT1pKSx1Lmxlbmd0aDwyP2xbMF0/U3QobFswXS54KTprdChlKTooZT1sLmxlbmd0aCxmdW5jdGlvbihmKXtmb3IodmFyIGc9MCxtO2c8ZTsrK2cpdVsobT1sW2ddKS5pXT1tLngoZik7cmV0dXJuIHUuam9pbigiIil9KX1mdW5jdGlvbiBWbihuLGUpe3ZhciB0PXR5cGVvZiBlLHI7cmV0dXJuIGU9PW51bGx8fHQ9PT0iYm9vbGVhbiI/cW4oZSk6KHQ9PT0ibnVtYmVyIj8kbjp0PT09InN0cmluZyI/KHI9cG4oZSkpPyhlPXIsd2UpOiR0OmUgaW5zdGFuY2VvZiBwbj93ZTplIGluc3RhbmNlb2YgRGF0ZT9VdDpDdChlKT9UdDpBcnJheS5pc0FycmF5KGUpP050OnR5cGVvZiBlLnZhbHVlT2YhPSJmdW5jdGlvbiImJnR5cGVvZiBlLnRvU3RyaW5nIT0iZnVuY3Rpb24ifHxpc05hTihlKT9EdDokbikobixlKX1mdW5jdGlvbiBGdChuLGUpe3JldHVybiBuPStuLGU9K2UsZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQobiooMS10KStlKnQpfX1mdW5jdGlvbiBIdChuKXtyZXR1cm4gTWF0aC5hYnMobj1NYXRoLnJvdW5kKG4pKT49MWUyMT9uLnRvTG9jYWxlU3RyaW5nKCJlbiIpLnJlcGxhY2UoLywvZywiIik6bi50b1N0cmluZygxMCl9ZnVuY3Rpb24gRm4obixlKXtpZigodD0obj1lP24udG9FeHBvbmVudGlhbChlLTEpOm4udG9FeHBvbmVudGlhbCgpKS5pbmRleE9mKCJlIikpPDApcmV0dXJuIG51bGw7dmFyIHQscj1uLnNsaWNlKDAsdCk7cmV0dXJuW3IubGVuZ3RoPjE/clswXStyLnNsaWNlKDIpOnIsK24uc2xpY2UodCsxKV19ZnVuY3Rpb24gb24obil7cmV0dXJuIG49Rm4oTWF0aC5hYnMobikpLG4/blsxXTpOYU59ZnVuY3Rpb24gTHQobixlKXtyZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIG89dC5sZW5ndGgsaT1bXSxhPTAsdT1uWzBdLGw9MDtvPjAmJnU+MCYmKGwrdSsxPnImJih1PU1hdGgubWF4KDEsci1sKSksaS5wdXNoKHQuc3Vic3RyaW5nKG8tPXUsbyt1KSksISgobCs9dSsxKT5yKSk7KXU9blthPShhKzEpJW4ubGVuZ3RoXTtyZXR1cm4gaS5yZXZlcnNlKCkuam9pbihlKX19ZnVuY3Rpb24gUHQobil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoL1swLTldL2csZnVuY3Rpb24odCl7cmV0dXJuIG5bK3RdfSl9fXZhciBZdD0vXig/OiguKT8oWzw+PV5dKSk/KFsrXC0oIF0pPyhbJCNdKT8oMCk/KFxkKyk/KCwpPyhcLlxkKyk/KH4pPyhbYS16JV0pPyQvaTtmdW5jdGlvbiBIbihuKXtpZighKGU9WXQuZXhlYyhuKSkpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGZvcm1hdDogIituKTt2YXIgZTtyZXR1cm4gbmV3IFhuKHtmaWxsOmVbMV0sYWxpZ246ZVsyXSxzaWduOmVbM10sc3ltYm9sOmVbNF0semVybzplWzVdLHdpZHRoOmVbNl0sY29tbWE6ZVs3XSxwcmVjaXNpb246ZVs4XSYmZVs4XS5zbGljZSgxKSx0cmltOmVbOV0sdHlwZTplWzEwXX0pfUhuLnByb3RvdHlwZT1Ybi5wcm90b3R5cGU7ZnVuY3Rpb24gWG4obil7dGhpcy5maWxsPW4uZmlsbD09PXZvaWQgMD8iICI6bi5maWxsKyIiLHRoaXMuYWxpZ249bi5hbGlnbj09PXZvaWQgMD8iPiI6bi5hbGlnbisiIix0aGlzLnNpZ249bi5zaWduPT09dm9pZCAwPyItIjpuLnNpZ24rIiIsdGhpcy5zeW1ib2w9bi5zeW1ib2w9PT12b2lkIDA/IiI6bi5zeW1ib2wrIiIsdGhpcy56ZXJvPSEhbi56ZXJvLHRoaXMud2lkdGg9bi53aWR0aD09PXZvaWQgMD92b2lkIDA6K24ud2lkdGgsdGhpcy5jb21tYT0hIW4uY29tbWEsdGhpcy5wcmVjaXNpb249bi5wcmVjaXNpb249PT12b2lkIDA/dm9pZCAwOituLnByZWNpc2lvbix0aGlzLnRyaW09ISFuLnRyaW0sdGhpcy50eXBlPW4udHlwZT09PXZvaWQgMD8iIjpuLnR5cGUrIiJ9WG4ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlsbCt0aGlzLmFsaWduK3RoaXMuc2lnbit0aGlzLnN5bWJvbCsodGhpcy56ZXJvPyIwIjoiIikrKHRoaXMud2lkdGg9PT12b2lkIDA/IiI6TWF0aC5tYXgoMSx0aGlzLndpZHRofDApKSsodGhpcy5jb21tYT8iLCI6IiIpKyh0aGlzLnByZWNpc2lvbj09PXZvaWQgMD8iIjoiLiIrTWF0aC5tYXgoMCx0aGlzLnByZWNpc2lvbnwwKSkrKHRoaXMudHJpbT8ifiI6IiIpK3RoaXMudHlwZX07ZnVuY3Rpb24gV3Qobil7bjpmb3IodmFyIGU9bi5sZW5ndGgsdD0xLHI9LTEsbzt0PGU7Kyt0KXN3aXRjaChuW3RdKXtjYXNlIi4iOnI9bz10O2JyZWFrO2Nhc2UiMCI6cj09PTAmJihyPXQpLG89dDticmVhaztkZWZhdWx0OmlmKCErblt0XSlicmVhayBuO3I+MCYmKHI9MCk7YnJlYWt9cmV0dXJuIHI+MD9uLnNsaWNlKDAscikrbi5zbGljZShvKzEpOm59dmFyIE1lO2Z1bmN0aW9uIEF0KG4sZSl7dmFyIHQ9Rm4obixlKTtpZighdClyZXR1cm4gbisiIjt2YXIgcj10WzBdLG89dFsxXSxpPW8tKE1lPU1hdGgubWF4KC04LE1hdGgubWluKDgsTWF0aC5mbG9vcihvLzMpKSkqMykrMSxhPXIubGVuZ3RoO3JldHVybiBpPT09YT9yOmk+YT9yK25ldyBBcnJheShpLWErMSkuam9pbigiMCIpOmk+MD9yLnNsaWNlKDAsaSkrIi4iK3Iuc2xpY2UoaSk6IjAuIituZXcgQXJyYXkoMS1pKS5qb2luKCIwIikrRm4obixNYXRoLm1heCgwLGUraS0xKSlbMF19ZnVuY3Rpb24gYmUobixlKXt2YXIgdD1GbihuLGUpO2lmKCF0KXJldHVybiBuKyIiO3ZhciByPXRbMF0sbz10WzFdO3JldHVybiBvPDA/IjAuIituZXcgQXJyYXkoLW8pLmpvaW4oIjAiKStyOnIubGVuZ3RoPm8rMT9yLnNsaWNlKDAsbysxKSsiLiIrci5zbGljZShvKzEpOnIrbmV3IEFycmF5KG8tci5sZW5ndGgrMikuam9pbigiMCIpfXZhciB2ZT17IiUiOihuLGUpPT4obioxMDApLnRvRml4ZWQoZSksYjpuPT5NYXRoLnJvdW5kKG4pLnRvU3RyaW5nKDIpLGM6bj0+bisiIixkOkh0LGU6KG4sZSk9Pm4udG9FeHBvbmVudGlhbChlKSxmOihuLGUpPT5uLnRvRml4ZWQoZSksZzoobixlKT0+bi50b1ByZWNpc2lvbihlKSxvOm49Pk1hdGgucm91bmQobikudG9TdHJpbmcoOCkscDoobixlKT0+YmUobioxMDAsZSkscjpiZSxzOkF0LFg6bj0+TWF0aC5yb3VuZChuKS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSx4Om49Pk1hdGgucm91bmQobikudG9TdHJpbmcoMTYpfTtmdW5jdGlvbiBUZShuKXtyZXR1cm4gbn12YXIgQ2U9QXJyYXkucHJvdG90eXBlLm1hcCxOZT1bInkiLCJ6IiwiYSIsImYiLCJwIiwibiIsIsK1IiwibSIsIiIsImsiLCJNIiwiRyIsIlQiLCJQIiwiRSIsIloiLCJZIl07ZnVuY3Rpb24gUnQobil7dmFyIGU9bi5ncm91cGluZz09PXZvaWQgMHx8bi50aG91c2FuZHM9PT12b2lkIDA/VGU6THQoQ2UuY2FsbChuLmdyb3VwaW5nLE51bWJlciksbi50aG91c2FuZHMrIiIpLHQ9bi5jdXJyZW5jeT09PXZvaWQgMD8iIjpuLmN1cnJlbmN5WzBdKyIiLHI9bi5jdXJyZW5jeT09PXZvaWQgMD8iIjpuLmN1cnJlbmN5WzFdKyIiLG89bi5kZWNpbWFsPT09dm9pZCAwPyIuIjpuLmRlY2ltYWwrIiIsaT1uLm51bWVyYWxzPT09dm9pZCAwP1RlOlB0KENlLmNhbGwobi5udW1lcmFscyxTdHJpbmcpKSxhPW4ucGVyY2VudD09PXZvaWQgMD8iJSI6bi5wZXJjZW50KyIiLHU9bi5taW51cz09PXZvaWQgMD8i4oiSIjpuLm1pbnVzKyIiLGw9bi5uYW49PT12b2lkIDA/Ik5hTiI6bi5uYW4rIiI7ZnVuY3Rpb24gZihtKXttPUhuKG0pO3ZhciBwPW0uZmlsbCxEPW0uYWxpZ24saz1tLnNpZ24sUj1tLnN5bWJvbCxZPW0uemVybyxxPW0ud2lkdGgsRT1tLmNvbW1hLCQ9bS5wcmVjaXNpb24sVz1tLnRyaW0saD1tLnR5cGU7aD09PSJuIj8oRT0hMCxoPSJnIik6dmVbaF18fCgkPT09dm9pZCAwJiYoJD0xMiksVz0hMCxoPSJnIiksKFl8fHA9PT0iMCImJkQ9PT0iPSIpJiYoWT0hMCxwPSIwIixEPSI9Iik7dmFyIGM9Uj09PSIkIj90OlI9PT0iIyImJi9bYm94WF0vLnRlc3QoaCk/IjAiK2gudG9Mb3dlckNhc2UoKToiIix4PVI9PT0iJCI/cjovWyVwXS8udGVzdChoKT9hOiIiLHc9dmVbaF0sTj0vW2RlZmdwcnMlXS8udGVzdChoKTskPSQ9PT12b2lkIDA/NjovW2dwcnNdLy50ZXN0KGgpP01hdGgubWF4KDEsTWF0aC5taW4oMjEsJCkpOk1hdGgubWF4KDAsTWF0aC5taW4oMjAsJCkpO2Z1bmN0aW9uIHYoeSl7dmFyIEM9YyxTPXgsRixsbixobjtpZihoPT09ImMiKVM9dyh5KStTLHk9IiI7ZWxzZXt5PSt5O3ZhciBnbj15PDB8fDEveTwwO2lmKHk9aXNOYU4oeSk/bDp3KE1hdGguYWJzKHkpLCQpLFcmJih5PVd0KHkpKSxnbiYmK3k9PTAmJmshPT0iKyImJihnbj0hMSksQz0oZ24/az09PSIoIj9rOnU6az09PSItInx8az09PSIoIj8iIjprKStDLFM9KGg9PT0icyI/TmVbOCtNZS8zXToiIikrUysoZ24mJms9PT0iKCI/IikiOiIiKSxOKXtmb3IoRj0tMSxsbj15Lmxlbmd0aDsrK0Y8bG47KWlmKGhuPXkuY2hhckNvZGVBdChGKSw0OD5obnx8aG4+NTcpe1M9KGhuPT09NDY/byt5LnNsaWNlKEYrMSk6eS5zbGljZShGKSkrUyx5PXkuc2xpY2UoMCxGKTticmVha319fUUmJiFZJiYoeT1lKHksMS8wKSk7dmFyIG1uPUMubGVuZ3RoK3kubGVuZ3RoK1MubGVuZ3RoLGo9bW48cT9uZXcgQXJyYXkocS1tbisxKS5qb2luKHApOiIiO3N3aXRjaChFJiZZJiYoeT1lKGoreSxqLmxlbmd0aD9xLVMubGVuZ3RoOjEvMCksaj0iIiksRCl7Y2FzZSI8Ijp5PUMreStTK2o7YnJlYWs7Y2FzZSI9Ijp5PUMrait5K1M7YnJlYWs7Y2FzZSJeIjp5PWouc2xpY2UoMCxtbj1qLmxlbmd0aD4+MSkrQyt5K1Mrai5zbGljZShtbik7YnJlYWs7ZGVmYXVsdDp5PWorQyt5K1M7YnJlYWt9cmV0dXJuIGkoeSl9cmV0dXJuIHYudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gbSsiIn0sdn1mdW5jdGlvbiBnKG0scCl7dmFyIEQ9ZigobT1IbihtKSxtLnR5cGU9ImYiLG0pKSxrPU1hdGgubWF4KC04LE1hdGgubWluKDgsTWF0aC5mbG9vcihvbihwKS8zKSkpKjMsUj1NYXRoLnBvdygxMCwtayksWT1OZVs4K2svM107cmV0dXJuIGZ1bmN0aW9uKHEpe3JldHVybiBEKFIqcSkrWX19cmV0dXJue2Zvcm1hdDpmLGZvcm1hdFByZWZpeDpnfX12YXIgTG4sVWUsRGU7SXQoe3Rob3VzYW5kczoiLCIsZ3JvdXBpbmc6WzNdLGN1cnJlbmN5OlsiJCIsIiJdfSk7ZnVuY3Rpb24gSXQobil7cmV0dXJuIExuPVJ0KG4pLFVlPUxuLmZvcm1hdCxEZT1Mbi5mb3JtYXRQcmVmaXgsTG59ZnVuY3Rpb24gT3Qobil7cmV0dXJuIE1hdGgubWF4KDAsLW9uKE1hdGguYWJzKG4pKSl9ZnVuY3Rpb24genQobixlKXtyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLm1heCgtOCxNYXRoLm1pbig4LE1hdGguZmxvb3Iob24oZSkvMykpKSozLW9uKE1hdGguYWJzKG4pKSl9ZnVuY3Rpb24gRXQobixlKXtyZXR1cm4gbj1NYXRoLmFicyhuKSxlPU1hdGguYWJzKGUpLW4sTWF0aC5tYXgoMCxvbihlKS1vbihuKSkrMX1mdW5jdGlvbiBrZShuLGUpe3N3aXRjaChhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnRoaXMucmFuZ2Uobik7YnJlYWs7ZGVmYXVsdDp0aGlzLnJhbmdlKGUpLmRvbWFpbihuKTticmVha31yZXR1cm4gdGhpc31mdW5jdGlvbiBfdChuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbn19ZnVuY3Rpb24gcXQobil7cmV0dXJuK259dmFyIFNlPVswLDFdO2Z1bmN0aW9uIGFuKG4pe3JldHVybiBufWZ1bmN0aW9uIEJuKG4sZSl7cmV0dXJuKGUtPW49K24pP2Z1bmN0aW9uKHQpe3JldHVybih0LW4pL2V9Ol90KGlzTmFOKGUpP05hTjouNSl9ZnVuY3Rpb24ganQobixlKXt2YXIgdDtyZXR1cm4gbj5lJiYodD1uLG49ZSxlPXQpLGZ1bmN0aW9uKHIpe3JldHVybiBNYXRoLm1heChuLE1hdGgubWluKGUscikpfX1mdW5jdGlvbiBadChuLGUsdCl7dmFyIHI9blswXSxvPW5bMV0saT1lWzBdLGE9ZVsxXTtyZXR1cm4gbzxyPyhyPUJuKG8sciksaT10KGEsaSkpOihyPUJuKHIsbyksaT10KGksYSkpLGZ1bmN0aW9uKHUpe3JldHVybiBpKHIodSkpfX1mdW5jdGlvbiBWdChuLGUsdCl7dmFyIHI9TWF0aC5taW4obi5sZW5ndGgsZS5sZW5ndGgpLTEsbz1uZXcgQXJyYXkociksaT1uZXcgQXJyYXkociksYT0tMTtmb3IobltyXTxuWzBdJiYobj1uLnNsaWNlKCkucmV2ZXJzZSgpLGU9ZS5zbGljZSgpLnJldmVyc2UoKSk7KythPHI7KW9bYV09Qm4oblthXSxuW2ErMV0pLGlbYV09dChlW2FdLGVbYSsxXSk7cmV0dXJuIGZ1bmN0aW9uKHUpe3ZhciBsPXJ0KG4sdSwxLHIpLTE7cmV0dXJuIGlbbF0ob1tsXSh1KSl9fWZ1bmN0aW9uICRlKG4sZSl7cmV0dXJuIGUuZG9tYWluKG4uZG9tYWluKCkpLnJhbmdlKG4ucmFuZ2UoKSkuaW50ZXJwb2xhdGUobi5pbnRlcnBvbGF0ZSgpKS5jbGFtcChuLmNsYW1wKCkpLnVua25vd24obi51bmtub3duKCkpfWZ1bmN0aW9uIFh0KCl7dmFyIG49U2UsZT1TZSx0PVZuLHIsbyxpLGE9YW4sdSxsLGY7ZnVuY3Rpb24gZygpe3ZhciBwPU1hdGgubWluKG4ubGVuZ3RoLGUubGVuZ3RoKTtyZXR1cm4gYSE9PWFuJiYoYT1qdChuWzBdLG5bcC0xXSkpLHU9cD4yP1Z0Olp0LGw9Zj1udWxsLG19ZnVuY3Rpb24gbShwKXtyZXR1cm4gcD09bnVsbHx8aXNOYU4ocD0rcCk/aToobHx8KGw9dShuLm1hcChyKSxlLHQpKSkocihhKHApKSl9cmV0dXJuIG0uaW52ZXJ0PWZ1bmN0aW9uKHApe3JldHVybiBhKG8oKGZ8fChmPXUoZSxuLm1hcChyKSwkbikpKShwKSkpfSxtLmRvbWFpbj1mdW5jdGlvbihwKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1BcnJheS5mcm9tKHAscXQpLGcoKSk6bi5zbGljZSgpfSxtLnJhbmdlPWZ1bmN0aW9uKHApe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPUFycmF5LmZyb20ocCksZygpKTplLnNsaWNlKCl9LG0ucmFuZ2VSb3VuZD1mdW5jdGlvbihwKXtyZXR1cm4gZT1BcnJheS5mcm9tKHApLHQ9RnQsZygpfSxtLmNsYW1wPWZ1bmN0aW9uKHApe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXA/ITA6YW4sZygpKTphIT09YW59LG0uaW50ZXJwb2xhdGU9ZnVuY3Rpb24ocCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9cCxnKCkpOnR9LG0udW5rbm93bj1mdW5jdGlvbihwKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT1wLG0pOml9LGZ1bmN0aW9uKHAsRCl7cmV0dXJuIHI9cCxvPUQsZygpfX1mdW5jdGlvbiBGZSgpe3JldHVybiBYdCgpKGFuLGFuKX1mdW5jdGlvbiBCdChuLGUsdCxyKXt2YXIgbz1PbihuLGUsdCksaTtzd2l0Y2gocj1IbihyPz8iLGYiKSxyLnR5cGUpe2Nhc2UicyI6e3ZhciBhPU1hdGgubWF4KE1hdGguYWJzKG4pLE1hdGguYWJzKGUpKTtyZXR1cm4gci5wcmVjaXNpb249PW51bGwmJiFpc05hTihpPXp0KG8sYSkpJiYoci5wcmVjaXNpb249aSksRGUocixhKX1jYXNlIiI6Y2FzZSJlIjpjYXNlImciOmNhc2UicCI6Y2FzZSJyIjp7ci5wcmVjaXNpb249PW51bGwmJiFpc05hTihpPUV0KG8sTWF0aC5tYXgoTWF0aC5hYnMobiksTWF0aC5hYnMoZSkpKSkmJihyLnByZWNpc2lvbj1pLShyLnR5cGU9PT0iZSIpKTticmVha31jYXNlImYiOmNhc2UiJSI6e3IucHJlY2lzaW9uPT1udWxsJiYhaXNOYU4oaT1PdChvKSkmJihyLnByZWNpc2lvbj1pLShyLnR5cGU9PT0iJSIpKjIpO2JyZWFrfX1yZXR1cm4gVWUocil9ZnVuY3Rpb24gUXQobil7dmFyIGU9bi5kb21haW47cmV0dXJuIG4udGlja3M9ZnVuY3Rpb24odCl7dmFyIHI9ZSgpO3JldHVybiB1dChyWzBdLHJbci5sZW5ndGgtMV0sdD8/MTApfSxuLnRpY2tGb3JtYXQ9ZnVuY3Rpb24odCxyKXt2YXIgbz1lKCk7cmV0dXJuIEJ0KG9bMF0sb1tvLmxlbmd0aC0xXSx0Pz8xMCxyKX0sbi5uaWNlPWZ1bmN0aW9uKHQpe3Q9PW51bGwmJih0PTEwKTt2YXIgcj1lKCksbz0wLGk9ci5sZW5ndGgtMSxhPXJbb10sdT1yW2ldLGwsZixnPTEwO2Zvcih1PGEmJihmPWEsYT11LHU9ZixmPW8sbz1pLGk9Zik7Zy0tID4wOyl7aWYoZj1JbihhLHUsdCksZj09PWwpcmV0dXJuIHJbb109YSxyW2ldPXUsZShyKTtpZihmPjApYT1NYXRoLmZsb29yKGEvZikqZix1PU1hdGguY2VpbCh1L2YpKmY7ZWxzZSBpZihmPDApYT1NYXRoLmNlaWwoYSpmKS9mLHU9TWF0aC5mbG9vcih1KmYpL2Y7ZWxzZSBicmVhaztsPWZ9cmV0dXJuIG59LG59ZnVuY3Rpb24gSGUoKXt2YXIgbj1GZSgpO3JldHVybiBuLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gJGUobixIZSgpKX0sa2UuYXBwbHkobixhcmd1bWVudHMpLFF0KG4pfWZ1bmN0aW9uIEd0KG4sZSl7bj1uLnNsaWNlKCk7dmFyIHQ9MCxyPW4ubGVuZ3RoLTEsbz1uW3RdLGk9bltyXSxhO3JldHVybiBpPG8mJihhPXQsdD1yLHI9YSxhPW8sbz1pLGk9YSksblt0XT1lLmZsb29yKG8pLG5bcl09ZS5jZWlsKGkpLG59Y29uc3QgUW49bmV3IERhdGUsR249bmV3IERhdGU7ZnVuY3Rpb24gSChuLGUsdCxyKXtmdW5jdGlvbiBvKGkpe3JldHVybiBuKGk9YXJndW1lbnRzLmxlbmd0aD09PTA/bmV3IERhdGU6bmV3IERhdGUoK2kpKSxpfXJldHVybiBvLmZsb29yPWk9PihuKGk9bmV3IERhdGUoK2kpKSxpKSxvLmNlaWw9aT0+KG4oaT1uZXcgRGF0ZShpLTEpKSxlKGksMSksbihpKSxpKSxvLnJvdW5kPWk9Pntjb25zdCBhPW8oaSksdT1vLmNlaWwoaSk7cmV0dXJuIGktYTx1LWk/YTp1fSxvLm9mZnNldD0oaSxhKT0+KGUoaT1uZXcgRGF0ZSgraSksYT09bnVsbD8xOk1hdGguZmxvb3IoYSkpLGkpLG8ucmFuZ2U9KGksYSx1KT0+e2NvbnN0IGw9W107aWYoaT1vLmNlaWwoaSksdT11PT1udWxsPzE6TWF0aC5mbG9vcih1KSwhKGk8YSl8fCEodT4wKSlyZXR1cm4gbDtsZXQgZjtkbyBsLnB1c2goZj1uZXcgRGF0ZSgraSkpLGUoaSx1KSxuKGkpO3doaWxlKGY8aSYmaTxhKTtyZXR1cm4gbH0sby5maWx0ZXI9aT0+SChhPT57aWYoYT49YSlmb3IoO24oYSksIWkoYSk7KWEuc2V0VGltZShhLTEpfSwoYSx1KT0+e2lmKGE+PWEpaWYodTwwKWZvcig7Kyt1PD0wOylmb3IoO2UoYSwtMSksIWkoYSk7KTtlbHNlIGZvcig7LS11Pj0wOylmb3IoO2UoYSwxKSwhaShhKTspO30pLHQmJihvLmNvdW50PShpLGEpPT4oUW4uc2V0VGltZSgraSksR24uc2V0VGltZSgrYSksbihRbiksbihHbiksTWF0aC5mbG9vcih0KFFuLEduKSkpLG8uZXZlcnk9aT0+KGk9TWF0aC5mbG9vcihpKSwhaXNGaW5pdGUoaSl8fCEoaT4wKT9udWxsOmk+MT9vLmZpbHRlcihyP2E9PnIoYSklaT09PTA6YT0+by5jb3VudCgwLGEpJWk9PT0wKTpvKSksb31jb25zdCBQbj1IKCgpPT57fSwobixlKT0+e24uc2V0VGltZSgrbitlKX0sKG4sZSk9PmUtbik7UG4uZXZlcnk9bj0+KG49TWF0aC5mbG9vcihuKSwhaXNGaW5pdGUobil8fCEobj4wKT9udWxsOm4+MT9IKGU9PntlLnNldFRpbWUoTWF0aC5mbG9vcihlL24pKm4pfSwoZSx0KT0+e2Uuc2V0VGltZSgrZSt0Km4pfSwoZSx0KT0+KHQtZSkvbik6UG4pLFBuLnJhbmdlO2NvbnN0IFY9MWUzLHo9Vio2MCxYPXoqNjAsQj1YKjI0LEpuPUIqNyxMZT1CKjMwLEtuPUIqMzY1LHVuPUgobj0+e24uc2V0VGltZShuLW4uZ2V0TWlsbGlzZWNvbmRzKCkpfSwobixlKT0+e24uc2V0VGltZSgrbitlKlYpfSwobixlKT0+KGUtbikvVixuPT5uLmdldFVUQ1NlY29uZHMoKSk7dW4ucmFuZ2U7Y29uc3QgbmU9SChuPT57bi5zZXRUaW1lKG4tbi5nZXRNaWxsaXNlY29uZHMoKS1uLmdldFNlY29uZHMoKSpWKX0sKG4sZSk9PntuLnNldFRpbWUoK24rZSp6KX0sKG4sZSk9PihlLW4pL3osbj0+bi5nZXRNaW51dGVzKCkpO25lLnJhbmdlLEgobj0+e24uc2V0VVRDU2Vjb25kcygwLDApfSwobixlKT0+e24uc2V0VGltZSgrbitlKnopfSwobixlKT0+KGUtbikveixuPT5uLmdldFVUQ01pbnV0ZXMoKSkucmFuZ2U7Y29uc3QgZWU9SChuPT57bi5zZXRUaW1lKG4tbi5nZXRNaWxsaXNlY29uZHMoKS1uLmdldFNlY29uZHMoKSpWLW4uZ2V0TWludXRlcygpKnopfSwobixlKT0+e24uc2V0VGltZSgrbitlKlgpfSwobixlKT0+KGUtbikvWCxuPT5uLmdldEhvdXJzKCkpO2VlLnJhbmdlLEgobj0+e24uc2V0VVRDTWludXRlcygwLDAsMCl9LChuLGUpPT57bi5zZXRUaW1lKCtuK2UqWCl9LChuLGUpPT4oZS1uKS9YLG49Pm4uZ2V0VVRDSG91cnMoKSkucmFuZ2U7Y29uc3Qgd249SChuPT5uLnNldEhvdXJzKDAsMCwwLDApLChuLGUpPT5uLnNldERhdGUobi5nZXREYXRlKCkrZSksKG4sZSk9PihlLW4tKGUuZ2V0VGltZXpvbmVPZmZzZXQoKS1uLmdldFRpbWV6b25lT2Zmc2V0KCkpKnopL0Isbj0+bi5nZXREYXRlKCktMSk7d24ucmFuZ2U7Y29uc3QgdGU9SChuPT57bi5zZXRVVENIb3VycygwLDAsMCwwKX0sKG4sZSk9PntuLnNldFVUQ0RhdGUobi5nZXRVVENEYXRlKCkrZSl9LChuLGUpPT4oZS1uKS9CLG49Pm4uZ2V0VVRDRGF0ZSgpLTEpO3RlLnJhbmdlLEgobj0+e24uc2V0VVRDSG91cnMoMCwwLDAsMCl9LChuLGUpPT57bi5zZXRVVENEYXRlKG4uZ2V0VVRDRGF0ZSgpK2UpfSwobixlKT0+KGUtbikvQixuPT5NYXRoLmZsb29yKG4vQikpLnJhbmdlO2Z1bmN0aW9uIEsobil7cmV0dXJuIEgoZT0+e2Uuc2V0RGF0ZShlLmdldERhdGUoKS0oZS5nZXREYXkoKSs3LW4pJTcpLGUuc2V0SG91cnMoMCwwLDAsMCl9LChlLHQpPT57ZS5zZXREYXRlKGUuZ2V0RGF0ZSgpK3QqNyl9LChlLHQpPT4odC1lLSh0LmdldFRpbWV6b25lT2Zmc2V0KCktZS5nZXRUaW1lem9uZU9mZnNldCgpKSp6KS9Kbil9Y29uc3QgWW49SygwKSxXbj1LKDEpLEp0PUsoMiksS3Q9SygzKSxmbj1LKDQpLG5yPUsoNSksZXI9Syg2KTtZbi5yYW5nZSxXbi5yYW5nZSxKdC5yYW5nZSxLdC5yYW5nZSxmbi5yYW5nZSxuci5yYW5nZSxlci5yYW5nZTtmdW5jdGlvbiBubihuKXtyZXR1cm4gSChlPT57ZS5zZXRVVENEYXRlKGUuZ2V0VVRDRGF0ZSgpLShlLmdldFVUQ0RheSgpKzctbiklNyksZS5zZXRVVENIb3VycygwLDAsMCwwKX0sKGUsdCk9PntlLnNldFVUQ0RhdGUoZS5nZXRVVENEYXRlKCkrdCo3KX0sKGUsdCk9Pih0LWUpL0puKX1jb25zdCBQZT1ubigwKSxBbj1ubigxKSx0cj1ubigyKSxycj1ubigzKSxjbj1ubig0KSxvcj1ubig1KSxpcj1ubig2KTtQZS5yYW5nZSxBbi5yYW5nZSx0ci5yYW5nZSxyci5yYW5nZSxjbi5yYW5nZSxvci5yYW5nZSxpci5yYW5nZTtjb25zdCByZT1IKG49PntuLnNldERhdGUoMSksbi5zZXRIb3VycygwLDAsMCwwKX0sKG4sZSk9PntuLnNldE1vbnRoKG4uZ2V0TW9udGgoKStlKX0sKG4sZSk9PmUuZ2V0TW9udGgoKS1uLmdldE1vbnRoKCkrKGUuZ2V0RnVsbFllYXIoKS1uLmdldEZ1bGxZZWFyKCkpKjEyLG49Pm4uZ2V0TW9udGgoKSk7cmUucmFuZ2UsSChuPT57bi5zZXRVVENEYXRlKDEpLG4uc2V0VVRDSG91cnMoMCwwLDAsMCl9LChuLGUpPT57bi5zZXRVVENNb250aChuLmdldFVUQ01vbnRoKCkrZSl9LChuLGUpPT5lLmdldFVUQ01vbnRoKCktbi5nZXRVVENNb250aCgpKyhlLmdldFVUQ0Z1bGxZZWFyKCktbi5nZXRVVENGdWxsWWVhcigpKSoxMixuPT5uLmdldFVUQ01vbnRoKCkpLnJhbmdlO2NvbnN0IFE9SChuPT57bi5zZXRNb250aCgwLDEpLG4uc2V0SG91cnMoMCwwLDAsMCl9LChuLGUpPT57bi5zZXRGdWxsWWVhcihuLmdldEZ1bGxZZWFyKCkrZSl9LChuLGUpPT5lLmdldEZ1bGxZZWFyKCktbi5nZXRGdWxsWWVhcigpLG49Pm4uZ2V0RnVsbFllYXIoKSk7US5ldmVyeT1uPT4haXNGaW5pdGUobj1NYXRoLmZsb29yKG4pKXx8IShuPjApP251bGw6SChlPT57ZS5zZXRGdWxsWWVhcihNYXRoLmZsb29yKGUuZ2V0RnVsbFllYXIoKS9uKSpuKSxlLnNldE1vbnRoKDAsMSksZS5zZXRIb3VycygwLDAsMCwwKX0sKGUsdCk9PntlLnNldEZ1bGxZZWFyKGUuZ2V0RnVsbFllYXIoKSt0Km4pfSksUS5yYW5nZTtjb25zdCBlbj1IKG49PntuLnNldFVUQ01vbnRoKDAsMSksbi5zZXRVVENIb3VycygwLDAsMCwwKX0sKG4sZSk9PntuLnNldFVUQ0Z1bGxZZWFyKG4uZ2V0VVRDRnVsbFllYXIoKStlKX0sKG4sZSk9PmUuZ2V0VVRDRnVsbFllYXIoKS1uLmdldFVUQ0Z1bGxZZWFyKCksbj0+bi5nZXRVVENGdWxsWWVhcigpKTtlbi5ldmVyeT1uPT4haXNGaW5pdGUobj1NYXRoLmZsb29yKG4pKXx8IShuPjApP251bGw6SChlPT57ZS5zZXRVVENGdWxsWWVhcihNYXRoLmZsb29yKGUuZ2V0VVRDRnVsbFllYXIoKS9uKSpuKSxlLnNldFVUQ01vbnRoKDAsMSksZS5zZXRVVENIb3VycygwLDAsMCwwKX0sKGUsdCk9PntlLnNldFVUQ0Z1bGxZZWFyKGUuZ2V0VVRDRnVsbFllYXIoKSt0Km4pfSksZW4ucmFuZ2U7ZnVuY3Rpb24gYXIobixlLHQscixvLGkpe2NvbnN0IGE9W1t1biwxLFZdLFt1biw1LDUqVl0sW3VuLDE1LDE1KlZdLFt1biwzMCwzMCpWXSxbaSwxLHpdLFtpLDUsNSp6XSxbaSwxNSwxNSp6XSxbaSwzMCwzMCp6XSxbbywxLFhdLFtvLDMsMypYXSxbbyw2LDYqWF0sW28sMTIsMTIqWF0sW3IsMSxCXSxbciwyLDIqQl0sW3QsMSxKbl0sW2UsMSxMZV0sW2UsMywzKkxlXSxbbiwxLEtuXV07ZnVuY3Rpb24gdShmLGcsbSl7Y29uc3QgcD1nPGY7cCYmKFtmLGddPVtnLGZdKTtjb25zdCBEPW0mJnR5cGVvZiBtLnJhbmdlPT0iZnVuY3Rpb24iP206bChmLGcsbSksaz1EP0QucmFuZ2UoZiwrZysxKTpbXTtyZXR1cm4gcD9rLnJldmVyc2UoKTprfWZ1bmN0aW9uIGwoZixnLG0pe2NvbnN0IHA9TWF0aC5hYnMoZy1mKS9tLEQ9Um4oKFssLFldKT0+WSkucmlnaHQoYSxwKTtpZihEPT09YS5sZW5ndGgpcmV0dXJuIG4uZXZlcnkoT24oZi9LbixnL0tuLG0pKTtpZihEPT09MClyZXR1cm4gUG4uZXZlcnkoTWF0aC5tYXgoT24oZixnLG0pLDEpKTtjb25zdFtrLFJdPWFbcC9hW0QtMV1bMl08YVtEXVsyXS9wP0QtMTpEXTtyZXR1cm4gay5ldmVyeShSKX1yZXR1cm5bdSxsXX1jb25zdFt1cixmcl09YXIoUSxyZSxZbix3bixlZSxuZSk7ZnVuY3Rpb24gb2Uobil7aWYoMDw9bi55JiZuLnk8MTAwKXt2YXIgZT1uZXcgRGF0ZSgtMSxuLm0sbi5kLG4uSCxuLk0sbi5TLG4uTCk7cmV0dXJuIGUuc2V0RnVsbFllYXIobi55KSxlfXJldHVybiBuZXcgRGF0ZShuLnksbi5tLG4uZCxuLkgsbi5NLG4uUyxuLkwpfWZ1bmN0aW9uIGllKG4pe2lmKDA8PW4ueSYmbi55PDEwMCl7dmFyIGU9bmV3IERhdGUoRGF0ZS5VVEMoLTEsbi5tLG4uZCxuLkgsbi5NLG4uUyxuLkwpKTtyZXR1cm4gZS5zZXRVVENGdWxsWWVhcihuLnkpLGV9cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKG4ueSxuLm0sbi5kLG4uSCxuLk0sbi5TLG4uTCkpfWZ1bmN0aW9uIE1uKG4sZSx0KXtyZXR1cm57eTpuLG06ZSxkOnQsSDowLE06MCxTOjAsTDowfX1mdW5jdGlvbiBjcihuKXt2YXIgZT1uLmRhdGVUaW1lLHQ9bi5kYXRlLHI9bi50aW1lLG89bi5wZXJpb2RzLGk9bi5kYXlzLGE9bi5zaG9ydERheXMsdT1uLm1vbnRocyxsPW4uc2hvcnRNb250aHMsZj1ibihvKSxnPXZuKG8pLG09Ym4oaSkscD12bihpKSxEPWJuKGEpLGs9dm4oYSksUj1ibih1KSxZPXZuKHUpLHE9Ym4obCksRT12bihsKSwkPXthOmduLEE6bW4sYjpqLEI6U28sYzpudWxsLGQ6T2UsZTpPZSxmOkhyLGc6RXIsRzpxcixIOlNyLEk6JHIsajpGcixMOnplLG06THIsTTpQcixwOiRvLHE6Rm8sUTpWZSxzOlhlLFM6WXIsdTpXcixVOkFyLFY6UnIsdzpJcixXOk9yLHg6bnVsbCxYOm51bGwseTp6cixZOl9yLFo6anIsIiUiOlplfSxXPXthOkhvLEE6TG8sYjpQbyxCOllvLGM6bnVsbCxkOl9lLGU6X2UsZjpCcixnOmlvLEc6dW8sSDpacixJOlZyLGo6WHIsTDpxZSxtOlFyLE06R3IscDpXbyxxOkFvLFE6VmUsczpYZSxTOkpyLHU6S3IsVTpubyxWOmVvLHc6dG8sVzpybyx4Om51bGwsWDpudWxsLHk6b28sWTphbyxaOmZvLCIlIjpaZX0saD17YTp2LEE6eSxiOkMsQjpTLGM6RixkOlJlLGU6UmUsZjpOcixnOkFlLEc6V2UsSDpJZSxJOkllLGo6YnIsTDpDcixtOk1yLE06dnIscDpOLHE6d3IsUTpEcixzOmtyLFM6VHIsdTptcixVOmRyLFY6eXIsdzpncixXOnhyLHg6bG4sWDpobix5OkFlLFk6V2UsWjpwciwiJSI6VXJ9OyQueD1jKHQsJCksJC5YPWMociwkKSwkLmM9YyhlLCQpLFcueD1jKHQsVyksVy5YPWMocixXKSxXLmM9YyhlLFcpO2Z1bmN0aW9uIGMoZCxNKXtyZXR1cm4gZnVuY3Rpb24oVCl7dmFyIHM9W10sQT0tMSxVPTAsST1kLmxlbmd0aCxPLHRuLEplO2ZvcihUIGluc3RhbmNlb2YgRGF0ZXx8KFQ9bmV3IERhdGUoK1QpKTsrK0E8STspZC5jaGFyQ29kZUF0KEEpPT09MzcmJihzLnB1c2goZC5zbGljZShVLEEpKSwodG49WWVbTz1kLmNoYXJBdCgrK0EpXSkhPW51bGw/Tz1kLmNoYXJBdCgrK0EpOnRuPU89PT0iZSI/IiAiOiIwIiwoSmU9TVtPXSkmJihPPUplKFQsdG4pKSxzLnB1c2goTyksVT1BKzEpO3JldHVybiBzLnB1c2goZC5zbGljZShVLEEpKSxzLmpvaW4oIiIpfX1mdW5jdGlvbiB4KGQsTSl7cmV0dXJuIGZ1bmN0aW9uKFQpe3ZhciBzPU1uKDE5MDAsdm9pZCAwLDEpLEE9dyhzLGQsVCs9IiIsMCksVSxJO2lmKEEhPVQubGVuZ3RoKXJldHVybiBudWxsO2lmKCJRImluIHMpcmV0dXJuIG5ldyBEYXRlKHMuUSk7aWYoInMiaW4gcylyZXR1cm4gbmV3IERhdGUocy5zKjFlMysoIkwiaW4gcz9zLkw6MCkpO2lmKE0mJiEoIloiaW4gcykmJihzLlo9MCksInAiaW4gcyYmKHMuSD1zLkglMTIrcy5wKjEyKSxzLm09PT12b2lkIDAmJihzLm09InEiaW4gcz9zLnE6MCksIlYiaW4gcyl7aWYocy5WPDF8fHMuVj41MylyZXR1cm4gbnVsbDsidyJpbiBzfHwocy53PTEpLCJaImluIHM/KFU9aWUoTW4ocy55LDAsMSkpLEk9VS5nZXRVVENEYXkoKSxVPUk+NHx8ST09PTA/QW4uY2VpbChVKTpBbihVKSxVPXRlLm9mZnNldChVLChzLlYtMSkqNykscy55PVUuZ2V0VVRDRnVsbFllYXIoKSxzLm09VS5nZXRVVENNb250aCgpLHMuZD1VLmdldFVUQ0RhdGUoKSsocy53KzYpJTcpOihVPW9lKE1uKHMueSwwLDEpKSxJPVUuZ2V0RGF5KCksVT1JPjR8fEk9PT0wP1duLmNlaWwoVSk6V24oVSksVT13bi5vZmZzZXQoVSwocy5WLTEpKjcpLHMueT1VLmdldEZ1bGxZZWFyKCkscy5tPVUuZ2V0TW9udGgoKSxzLmQ9VS5nZXREYXRlKCkrKHMudys2KSU3KX1lbHNlKCJXImluIHN8fCJVImluIHMpJiYoInciaW4gc3x8KHMudz0idSJpbiBzP3MudSU3OiJXImluIHM/MTowKSxJPSJaImluIHM/aWUoTW4ocy55LDAsMSkpLmdldFVUQ0RheSgpOm9lKE1uKHMueSwwLDEpKS5nZXREYXkoKSxzLm09MCxzLmQ9IlciaW4gcz8ocy53KzYpJTcrcy5XKjctKEkrNSklNzpzLncrcy5VKjctKEkrNiklNyk7cmV0dXJuIloiaW4gcz8ocy5IKz1zLlovMTAwfDAscy5NKz1zLlolMTAwLGllKHMpKTpvZShzKX19ZnVuY3Rpb24gdyhkLE0sVCxzKXtmb3IodmFyIEE9MCxVPU0ubGVuZ3RoLEk9VC5sZW5ndGgsTyx0bjtBPFU7KXtpZihzPj1JKXJldHVybi0xO2lmKE89TS5jaGFyQ29kZUF0KEErKyksTz09PTM3KXtpZihPPU0uY2hhckF0KEErKyksdG49aFtPIGluIFllP00uY2hhckF0KEErKyk6T10sIXRufHwocz10bihkLFQscykpPDApcmV0dXJuLTF9ZWxzZSBpZihPIT1ULmNoYXJDb2RlQXQocysrKSlyZXR1cm4tMX1yZXR1cm4gc31mdW5jdGlvbiBOKGQsTSxUKXt2YXIgcz1mLmV4ZWMoTS5zbGljZShUKSk7cmV0dXJuIHM/KGQucD1nLmdldChzWzBdLnRvTG93ZXJDYXNlKCkpLFQrc1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHYoZCxNLFQpe3ZhciBzPUQuZXhlYyhNLnNsaWNlKFQpKTtyZXR1cm4gcz8oZC53PWsuZ2V0KHNbMF0udG9Mb3dlckNhc2UoKSksVCtzWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24geShkLE0sVCl7dmFyIHM9bS5leGVjKE0uc2xpY2UoVCkpO3JldHVybiBzPyhkLnc9cC5nZXQoc1swXS50b0xvd2VyQ2FzZSgpKSxUK3NbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBDKGQsTSxUKXt2YXIgcz1xLmV4ZWMoTS5zbGljZShUKSk7cmV0dXJuIHM/KGQubT1FLmdldChzWzBdLnRvTG93ZXJDYXNlKCkpLFQrc1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIFMoZCxNLFQpe3ZhciBzPVIuZXhlYyhNLnNsaWNlKFQpKTtyZXR1cm4gcz8oZC5tPVkuZ2V0KHNbMF0udG9Mb3dlckNhc2UoKSksVCtzWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gRihkLE0sVCl7cmV0dXJuIHcoZCxlLE0sVCl9ZnVuY3Rpb24gbG4oZCxNLFQpe3JldHVybiB3KGQsdCxNLFQpfWZ1bmN0aW9uIGhuKGQsTSxUKXtyZXR1cm4gdyhkLHIsTSxUKX1mdW5jdGlvbiBnbihkKXtyZXR1cm4gYVtkLmdldERheSgpXX1mdW5jdGlvbiBtbihkKXtyZXR1cm4gaVtkLmdldERheSgpXX1mdW5jdGlvbiBqKGQpe3JldHVybiBsW2QuZ2V0TW9udGgoKV19ZnVuY3Rpb24gU28oZCl7cmV0dXJuIHVbZC5nZXRNb250aCgpXX1mdW5jdGlvbiAkbyhkKXtyZXR1cm4gb1srKGQuZ2V0SG91cnMoKT49MTIpXX1mdW5jdGlvbiBGbyhkKXtyZXR1cm4gMSt+fihkLmdldE1vbnRoKCkvMyl9ZnVuY3Rpb24gSG8oZCl7cmV0dXJuIGFbZC5nZXRVVENEYXkoKV19ZnVuY3Rpb24gTG8oZCl7cmV0dXJuIGlbZC5nZXRVVENEYXkoKV19ZnVuY3Rpb24gUG8oZCl7cmV0dXJuIGxbZC5nZXRVVENNb250aCgpXX1mdW5jdGlvbiBZbyhkKXtyZXR1cm4gdVtkLmdldFVUQ01vbnRoKCldfWZ1bmN0aW9uIFdvKGQpe3JldHVybiBvWysoZC5nZXRVVENIb3VycygpPj0xMildfWZ1bmN0aW9uIEFvKGQpe3JldHVybiAxK35+KGQuZ2V0VVRDTW9udGgoKS8zKX1yZXR1cm57Zm9ybWF0OmZ1bmN0aW9uKGQpe3ZhciBNPWMoZCs9IiIsJCk7cmV0dXJuIE0udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gZH0sTX0scGFyc2U6ZnVuY3Rpb24oZCl7dmFyIE09eChkKz0iIiwhMSk7cmV0dXJuIE0udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gZH0sTX0sdXRjRm9ybWF0OmZ1bmN0aW9uKGQpe3ZhciBNPWMoZCs9IiIsVyk7cmV0dXJuIE0udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gZH0sTX0sdXRjUGFyc2U6ZnVuY3Rpb24oZCl7dmFyIE09eChkKz0iIiwhMCk7cmV0dXJuIE0udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gZH0sTX19fXZhciBZZT17Ii0iOiIiLF86IiAiLDA6IjAifSxMPS9eXHMqXGQrLyxzcj0vXiUvLGxyPS9bXFxeJCorP3xbXF0oKS57fV0vZztmdW5jdGlvbiBiKG4sZSx0KXt2YXIgcj1uPDA/Ii0iOiIiLG89KHI/LW46bikrIiIsaT1vLmxlbmd0aDtyZXR1cm4gcisoaTx0P25ldyBBcnJheSh0LWkrMSkuam9pbihlKStvOm8pfWZ1bmN0aW9uIGhyKG4pe3JldHVybiBuLnJlcGxhY2UobHIsIlxcJCYiKX1mdW5jdGlvbiBibihuKXtyZXR1cm4gbmV3IFJlZ0V4cCgiXig/OiIrbi5tYXAoaHIpLmpvaW4oInwiKSsiKSIsImkiKX1mdW5jdGlvbiB2bihuKXtyZXR1cm4gbmV3IE1hcChuLm1hcCgoZSx0KT0+W2UudG9Mb3dlckNhc2UoKSx0XSkpfWZ1bmN0aW9uIGdyKG4sZSx0KXt2YXIgcj1MLmV4ZWMoZS5zbGljZSh0LHQrMSkpO3JldHVybiByPyhuLnc9K3JbMF0sdCtyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gbXIobixlLHQpe3ZhciByPUwuZXhlYyhlLnNsaWNlKHQsdCsxKSk7cmV0dXJuIHI/KG4udT0rclswXSx0K3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBkcihuLGUsdCl7dmFyIHI9TC5leGVjKGUuc2xpY2UodCx0KzIpKTtyZXR1cm4gcj8obi5VPStyWzBdLHQrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHlyKG4sZSx0KXt2YXIgcj1MLmV4ZWMoZS5zbGljZSh0LHQrMikpO3JldHVybiByPyhuLlY9K3JbMF0sdCtyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24geHIobixlLHQpe3ZhciByPUwuZXhlYyhlLnNsaWNlKHQsdCsyKSk7cmV0dXJuIHI/KG4uVz0rclswXSx0K3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBXZShuLGUsdCl7dmFyIHI9TC5leGVjKGUuc2xpY2UodCx0KzQpKTtyZXR1cm4gcj8obi55PStyWzBdLHQrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIEFlKG4sZSx0KXt2YXIgcj1MLmV4ZWMoZS5zbGljZSh0LHQrMikpO3JldHVybiByPyhuLnk9K3JbMF0rKCtyWzBdPjY4PzE5MDA6MmUzKSx0K3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBwcihuLGUsdCl7dmFyIHI9L14oWil8KFsrLV1cZFxkKSg/Ojo/KFxkXGQpKT8vLmV4ZWMoZS5zbGljZSh0LHQrNikpO3JldHVybiByPyhuLlo9clsxXT8wOi0oclsyXSsoclszXXx8IjAwIikpLHQrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHdyKG4sZSx0KXt2YXIgcj1MLmV4ZWMoZS5zbGljZSh0LHQrMSkpO3JldHVybiByPyhuLnE9clswXSozLTMsdCtyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gTXIobixlLHQpe3ZhciByPUwuZXhlYyhlLnNsaWNlKHQsdCsyKSk7cmV0dXJuIHI/KG4ubT1yWzBdLTEsdCtyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gUmUobixlLHQpe3ZhciByPUwuZXhlYyhlLnNsaWNlKHQsdCsyKSk7cmV0dXJuIHI/KG4uZD0rclswXSx0K3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBicihuLGUsdCl7dmFyIHI9TC5leGVjKGUuc2xpY2UodCx0KzMpKTtyZXR1cm4gcj8obi5tPTAsbi5kPStyWzBdLHQrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIEllKG4sZSx0KXt2YXIgcj1MLmV4ZWMoZS5zbGljZSh0LHQrMikpO3JldHVybiByPyhuLkg9K3JbMF0sdCtyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gdnIobixlLHQpe3ZhciByPUwuZXhlYyhlLnNsaWNlKHQsdCsyKSk7cmV0dXJuIHI/KG4uTT0rclswXSx0K3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBUcihuLGUsdCl7dmFyIHI9TC5leGVjKGUuc2xpY2UodCx0KzIpKTtyZXR1cm4gcj8obi5TPStyWzBdLHQrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIENyKG4sZSx0KXt2YXIgcj1MLmV4ZWMoZS5zbGljZSh0LHQrMykpO3JldHVybiByPyhuLkw9K3JbMF0sdCtyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gTnIobixlLHQpe3ZhciByPUwuZXhlYyhlLnNsaWNlKHQsdCs2KSk7cmV0dXJuIHI/KG4uTD1NYXRoLmZsb29yKHJbMF0vMWUzKSx0K3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBVcihuLGUsdCl7dmFyIHI9c3IuZXhlYyhlLnNsaWNlKHQsdCsxKSk7cmV0dXJuIHI/dCtyWzBdLmxlbmd0aDotMX1mdW5jdGlvbiBEcihuLGUsdCl7dmFyIHI9TC5leGVjKGUuc2xpY2UodCkpO3JldHVybiByPyhuLlE9K3JbMF0sdCtyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24ga3IobixlLHQpe3ZhciByPUwuZXhlYyhlLnNsaWNlKHQpKTtyZXR1cm4gcj8obi5zPStyWzBdLHQrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIE9lKG4sZSl7cmV0dXJuIGIobi5nZXREYXRlKCksZSwyKX1mdW5jdGlvbiBTcihuLGUpe3JldHVybiBiKG4uZ2V0SG91cnMoKSxlLDIpfWZ1bmN0aW9uICRyKG4sZSl7cmV0dXJuIGIobi5nZXRIb3VycygpJTEyfHwxMixlLDIpfWZ1bmN0aW9uIEZyKG4sZSl7cmV0dXJuIGIoMSt3bi5jb3VudChRKG4pLG4pLGUsMyl9ZnVuY3Rpb24gemUobixlKXtyZXR1cm4gYihuLmdldE1pbGxpc2Vjb25kcygpLGUsMyl9ZnVuY3Rpb24gSHIobixlKXtyZXR1cm4gemUobixlKSsiMDAwIn1mdW5jdGlvbiBMcihuLGUpe3JldHVybiBiKG4uZ2V0TW9udGgoKSsxLGUsMil9ZnVuY3Rpb24gUHIobixlKXtyZXR1cm4gYihuLmdldE1pbnV0ZXMoKSxlLDIpfWZ1bmN0aW9uIFlyKG4sZSl7cmV0dXJuIGIobi5nZXRTZWNvbmRzKCksZSwyKX1mdW5jdGlvbiBXcihuKXt2YXIgZT1uLmdldERheSgpO3JldHVybiBlPT09MD83OmV9ZnVuY3Rpb24gQXIobixlKXtyZXR1cm4gYihZbi5jb3VudChRKG4pLTEsbiksZSwyKX1mdW5jdGlvbiBFZShuKXt2YXIgZT1uLmdldERheSgpO3JldHVybiBlPj00fHxlPT09MD9mbihuKTpmbi5jZWlsKG4pfWZ1bmN0aW9uIFJyKG4sZSl7cmV0dXJuIG49RWUobiksYihmbi5jb3VudChRKG4pLG4pKyhRKG4pLmdldERheSgpPT09NCksZSwyKX1mdW5jdGlvbiBJcihuKXtyZXR1cm4gbi5nZXREYXkoKX1mdW5jdGlvbiBPcihuLGUpe3JldHVybiBiKFduLmNvdW50KFEobiktMSxuKSxlLDIpfWZ1bmN0aW9uIHpyKG4sZSl7cmV0dXJuIGIobi5nZXRGdWxsWWVhcigpJTEwMCxlLDIpfWZ1bmN0aW9uIEVyKG4sZSl7cmV0dXJuIG49RWUobiksYihuLmdldEZ1bGxZZWFyKCklMTAwLGUsMil9ZnVuY3Rpb24gX3IobixlKXtyZXR1cm4gYihuLmdldEZ1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gcXIobixlKXt2YXIgdD1uLmdldERheSgpO3JldHVybiBuPXQ+PTR8fHQ9PT0wP2ZuKG4pOmZuLmNlaWwobiksYihuLmdldEZ1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24ganIobil7dmFyIGU9bi5nZXRUaW1lem9uZU9mZnNldCgpO3JldHVybihlPjA/Ii0iOihlKj0tMSwiKyIpKStiKGUvNjB8MCwiMCIsMikrYihlJTYwLCIwIiwyKX1mdW5jdGlvbiBfZShuLGUpe3JldHVybiBiKG4uZ2V0VVRDRGF0ZSgpLGUsMil9ZnVuY3Rpb24gWnIobixlKXtyZXR1cm4gYihuLmdldFVUQ0hvdXJzKCksZSwyKX1mdW5jdGlvbiBWcihuLGUpe3JldHVybiBiKG4uZ2V0VVRDSG91cnMoKSUxMnx8MTIsZSwyKX1mdW5jdGlvbiBYcihuLGUpe3JldHVybiBiKDErdGUuY291bnQoZW4obiksbiksZSwzKX1mdW5jdGlvbiBxZShuLGUpe3JldHVybiBiKG4uZ2V0VVRDTWlsbGlzZWNvbmRzKCksZSwzKX1mdW5jdGlvbiBCcihuLGUpe3JldHVybiBxZShuLGUpKyIwMDAifWZ1bmN0aW9uIFFyKG4sZSl7cmV0dXJuIGIobi5nZXRVVENNb250aCgpKzEsZSwyKX1mdW5jdGlvbiBHcihuLGUpe3JldHVybiBiKG4uZ2V0VVRDTWludXRlcygpLGUsMil9ZnVuY3Rpb24gSnIobixlKXtyZXR1cm4gYihuLmdldFVUQ1NlY29uZHMoKSxlLDIpfWZ1bmN0aW9uIEtyKG4pe3ZhciBlPW4uZ2V0VVRDRGF5KCk7cmV0dXJuIGU9PT0wPzc6ZX1mdW5jdGlvbiBubyhuLGUpe3JldHVybiBiKFBlLmNvdW50KGVuKG4pLTEsbiksZSwyKX1mdW5jdGlvbiBqZShuKXt2YXIgZT1uLmdldFVUQ0RheSgpO3JldHVybiBlPj00fHxlPT09MD9jbihuKTpjbi5jZWlsKG4pfWZ1bmN0aW9uIGVvKG4sZSl7cmV0dXJuIG49amUobiksYihjbi5jb3VudChlbihuKSxuKSsoZW4obikuZ2V0VVRDRGF5KCk9PT00KSxlLDIpfWZ1bmN0aW9uIHRvKG4pe3JldHVybiBuLmdldFVUQ0RheSgpfWZ1bmN0aW9uIHJvKG4sZSl7cmV0dXJuIGIoQW4uY291bnQoZW4obiktMSxuKSxlLDIpfWZ1bmN0aW9uIG9vKG4sZSl7cmV0dXJuIGIobi5nZXRVVENGdWxsWWVhcigpJTEwMCxlLDIpfWZ1bmN0aW9uIGlvKG4sZSl7cmV0dXJuIG49amUobiksYihuLmdldFVUQ0Z1bGxZZWFyKCklMTAwLGUsMil9ZnVuY3Rpb24gYW8obixlKXtyZXR1cm4gYihuLmdldFVUQ0Z1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gdW8obixlKXt2YXIgdD1uLmdldFVUQ0RheSgpO3JldHVybiBuPXQ+PTR8fHQ9PT0wP2NuKG4pOmNuLmNlaWwobiksYihuLmdldFVUQ0Z1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gZm8oKXtyZXR1cm4iKzAwMDAifWZ1bmN0aW9uIFplKCl7cmV0dXJuIiUifWZ1bmN0aW9uIFZlKG4pe3JldHVybitufWZ1bmN0aW9uIFhlKG4pe3JldHVybiBNYXRoLmZsb29yKCtuLzFlMyl9dmFyIHNuLEJlO2NvKHtkYXRlVGltZToiJXgsICVYIixkYXRlOiIlLW0vJS1kLyVZIix0aW1lOiIlLUk6JU06JVMgJXAiLHBlcmlvZHM6WyJBTSIsIlBNIl0sZGF5czpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sc2hvcnREYXlzOlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sbW9udGhzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxzaG9ydE1vbnRoczpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdfSk7ZnVuY3Rpb24gY28obil7cmV0dXJuIHNuPWNyKG4pLEJlPXNuLmZvcm1hdCxzbi5wYXJzZSxzbi51dGNGb3JtYXQsc24udXRjUGFyc2Usc259ZnVuY3Rpb24gc28obil7cmV0dXJuIG5ldyBEYXRlKG4pfWZ1bmN0aW9uIGxvKG4pe3JldHVybiBuIGluc3RhbmNlb2YgRGF0ZT8rbjorbmV3IERhdGUoK24pfWZ1bmN0aW9uIFFlKG4sZSx0LHIsbyxpLGEsdSxsLGYpe3ZhciBnPUZlKCksbT1nLmludmVydCxwPWcuZG9tYWluLEQ9ZigiLiVMIiksaz1mKCI6JVMiKSxSPWYoIiVJOiVNIiksWT1mKCIlSSAlcCIpLHE9ZigiJWEgJWQiKSxFPWYoIiViICVkIiksJD1mKCIlQiIpLFc9ZigiJVkiKTtmdW5jdGlvbiBoKGMpe3JldHVybihsKGMpPGM/RDp1KGMpPGM/azphKGMpPGM/UjppKGMpPGM/WTpyKGMpPGM/byhjKTxjP3E6RTp0KGMpPGM/JDpXKShjKX1yZXR1cm4gZy5pbnZlcnQ9ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBEYXRlKG0oYykpfSxnLmRvbWFpbj1mdW5jdGlvbihjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9wKEFycmF5LmZyb20oYyxsbykpOnAoKS5tYXAoc28pfSxnLnRpY2tzPWZ1bmN0aW9uKGMpe3ZhciB4PXAoKTtyZXR1cm4gbih4WzBdLHhbeC5sZW5ndGgtMV0sYz8/MTApfSxnLnRpY2tGb3JtYXQ9ZnVuY3Rpb24oYyx4KXtyZXR1cm4geD09bnVsbD9oOmYoeCl9LGcubmljZT1mdW5jdGlvbihjKXt2YXIgeD1wKCk7cmV0dXJuKCFjfHx0eXBlb2YgYy5yYW5nZSE9ImZ1bmN0aW9uIikmJihjPWUoeFswXSx4W3gubGVuZ3RoLTFdLGM/PzEwKSksYz9wKEd0KHgsYykpOmd9LGcuY29weT1mdW5jdGlvbigpe3JldHVybiAkZShnLFFlKG4sZSx0LHIsbyxpLGEsdSxsLGYpKX0sZ31mdW5jdGlvbiBobygpe3JldHVybiBrZS5hcHBseShRZSh1cixmcixRLHJlLFluLHduLGVlLG5lLHVuLEJlKS5kb21haW4oW25ldyBEYXRlKDJlMywwLDEpLG5ldyBEYXRlKDJlMywwLDIpXSksYXJndW1lbnRzKX1mdW5jdGlvbiBUbihuLGUsdCl7dGhpcy5rPW4sdGhpcy54PWUsdGhpcy55PXR9VG4ucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpUbixzY2FsZTpmdW5jdGlvbihuKXtyZXR1cm4gbj09PTE/dGhpczpuZXcgVG4odGhpcy5rKm4sdGhpcy54LHRoaXMueSl9LHRyYW5zbGF0ZTpmdW5jdGlvbihuLGUpe3JldHVybiBuPT09MCZlPT09MD90aGlzOm5ldyBUbih0aGlzLmssdGhpcy54K3RoaXMuaypuLHRoaXMueSt0aGlzLmsqZSl9LGFwcGx5OmZ1bmN0aW9uKG4pe3JldHVybltuWzBdKnRoaXMuayt0aGlzLngsblsxXSp0aGlzLmsrdGhpcy55XX0sYXBwbHlYOmZ1bmN0aW9uKG4pe3JldHVybiBuKnRoaXMuayt0aGlzLnh9LGFwcGx5WTpmdW5jdGlvbihuKXtyZXR1cm4gbip0aGlzLmsrdGhpcy55fSxpbnZlcnQ6ZnVuY3Rpb24obil7cmV0dXJuWyhuWzBdLXRoaXMueCkvdGhpcy5rLChuWzFdLXRoaXMueSkvdGhpcy5rXX0saW52ZXJ0WDpmdW5jdGlvbihuKXtyZXR1cm4obi10aGlzLngpL3RoaXMua30saW52ZXJ0WTpmdW5jdGlvbihuKXtyZXR1cm4obi10aGlzLnkpL3RoaXMua30scmVzY2FsZVg6ZnVuY3Rpb24obil7cmV0dXJuIG4uY29weSgpLmRvbWFpbihuLnJhbmdlKCkubWFwKHRoaXMuaW52ZXJ0WCx0aGlzKS5tYXAobi5pbnZlcnQsbikpfSxyZXNjYWxlWTpmdW5jdGlvbihuKXtyZXR1cm4gbi5jb3B5KCkuZG9tYWluKG4ucmFuZ2UoKS5tYXAodGhpcy5pbnZlcnRZLHRoaXMpLm1hcChuLmludmVydCxuKSl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInRyYW5zbGF0ZSgiK3RoaXMueCsiLCIrdGhpcy55KyIpIHNjYWxlKCIrdGhpcy5rKyIpIn19LFRuLnByb3RvdHlwZTtmdW5jdGlvbiBhZShuKXtyZXR1cm4gbi5tb2RlPT09InRlbXBvcmFsInx8bi5tb2RlPT09ImxlZnQtYWxpZ25lZCI/Z28obik6bW8obil9ZnVuY3Rpb24gZ28oe2RvbWFpbjpuLHJhbmdlOmV9KXtyZXR1cm4gaG8oKS5kb21haW4obikucmFuZ2UoZSl9ZnVuY3Rpb24gbW8oe2RvbWFpbjpuLHJhbmdlOmV9KXtyZXR1cm4gSGUoKS5kb21haW4obikucmFuZ2UoZSl9ZnVuY3Rpb24geW8oe3Jvb3Rfbm9kZV9pZHM6bixub2RlczplfSl7dHJ5e3JldHVybiB4byhuLGUpfWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKHQpLEdlKG4sZSl9fWZ1bmN0aW9uIHhvKG4sZSl7Y29uc3QgdD1uZXcgTWFwLHI9W107Zm9yKGNvbnN0IG8gb2Ygbil7dC5zZXQobywwKTtjb25zdCBpPWUuZ2V0KG8pO2Zvcihjb25zdHtpZDphfW9mIGkuY2hpbGRyZW4pci5wdXNoKGEpfXJldHVybiB1ZShyLGUsdCl9ZnVuY3Rpb24gdWUobixlLHQpe2Zvcihjb25zdCByIG9mIG4pe2lmKHQuaGFzKHIpKWNvbnRpbnVlO2NvbnN0IG89ZS5nZXQocik7aWYoIW8pdGhyb3cgbmV3IEVycm9yKCJOb2RlIGlkIG5vdCBmb3VuZCBpbiBub2RlcyIpO2NvbnN0IGk9W107Zm9yKGNvbnN0IGwgb2Ygby5wYXJlbnRzKXtjb25zdCBmPXQuZ2V0KGwuaWQpO2lmKGYhPT12b2lkIDApe2kucHVzaChmKTtjb250aW51ZX11ZShbbC5pZF0sZSx0KTtjb25zdCBnPXQuZ2V0KGwuaWQpO2lmKGc9PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgZGV0ZXJtaW5lIHBhcmVudCBjb2x1bW4iKTtpLnB1c2goZyl9Y29uc3QgYT1NYXRoLm1heCguLi5pKTt0LnNldChyLGErMSk7Y29uc3QgdT1vLmNoaWxkcmVuLm1hcCgoe2lkOmx9KT0+bCk7dS5sZW5ndGgmJnVlKHUsZSx0KX1yZXR1cm4gdH1mdW5jdGlvbiBHZShuLGUsdD0wLHI9bmV3IE1hcCl7Zm9yKGNvbnN0IG8gb2Ygbil7Y29uc3QgaT1yLmdldChvKTsoIWl8fGk8dCkmJnIuc2V0KG8sdCk7Y29uc3QgYT1lLmdldChvKTtmb3IoY29uc3R7aWQ6dX1vZiBhLmNoaWxkcmVuKUdlKFt1XSxlLHQrMSxyKX1yZXR1cm4gcn1mdW5jdGlvbiBwbyhuKXtyZXR1cm4gbi5ob3Jpem9udGFsU2V0dGluZ3MubW9kZT09PSJkZXBlbmRlbmN5Ij93byhuKTpuLmhvcml6b250YWxTZXR0aW5ncy5tb2RlPT09ImxlZnQtYWxpZ25lZCI/Ym8obik6TW8obil9ZnVuY3Rpb24gd28oe2RhdGE6bixob3Jpem9udGFsU2V0dGluZ3M6ZX0pe2NvbnN0IHQ9eW8obikscj1hZShlKSxvPW5ldyBNYXA7Zm9yKGNvbnN0W2ldb2Ygbi5ub2Rlcyl7Y29uc3QgYT10LmdldChpKTtpZihhPT09dm9pZCAwKXtjb25zb2xlLndhcm4oYE5vZGUgbm90IGZvdW5kIGluIGNvbHVtbnM6IFNraXBwaW5nICR7aX1gKTtjb250aW51ZX1vLnNldChpLHt4OnIoYSksY29sdW1uOmF9KX1yZXR1cm4gb31mdW5jdGlvbiBNbyh7ZGF0YTpuLGhvcml6b250YWxTZXR0aW5nczplfSl7Y29uc3QgdD1hZShlKSxyPW5ldyBNYXA7Zm9yKGNvbnN0W28saV1vZiBuLm5vZGVzKXtjb25zdCBhPXQoaS5zdGFydF90aW1lKTtyLnNldChvLHtjb2x1bW46YSx4OmF9KX1yZXR1cm4gcn1mdW5jdGlvbiBibyh7ZGF0YTpuLGhvcml6b250YWxTZXR0aW5nczplfSl7Y29uc3QgdD1hZShlKSxyPW5ldyBNYXA7Zm9yKGNvbnN0W29db2Ygbi5ub2RlcylyLnNldChvLHtjb2x1bW46MCx4OnQobi5zdGFydF90aW1lKX0pO3JldHVybiByfWFzeW5jIGZ1bmN0aW9uIHZvKG4sZSl7Y29uc3Qgbz1uZXcgTWFwLGk9bmV3IE1hcDtsZXQgYT0wO2NvbnN0IHU9bmV3IE1hcDtmb3IgYXdhaXQoY29uc3RbaF1vZiBuLmRhdGEubm9kZXMpe2NvbnN0IGM9bi5kYXRhLm5vZGVzLmdldChoKTtpZighYyl7Y29uc29sZS53YXJuKCJOZWFyZXN0UGFyZW50TGF5b3V0OiBOb2RlIHdhcyBub3QgZm91bmQgaW4gdGhlIGRhdGEiLGgpO2NvbnRpbnVlfWNvbnN0IHg9YXdhaXQgbChjKTskKGgseCl9cmV0dXJuIFcoKSx1O2FzeW5jIGZ1bmN0aW9uIGwoaCl7Y29uc3R7eDpjfT1lLmdldChoLmlkKT8/e307aWYoYz09PXZvaWQgMClyZXR1cm4gY29uc29sZS53YXJuKCJOZWFyZXN0UGFyZW50TGF5b3V0OiBOb2RlIHdhcyBub3QgZm91bmQgaW4gdGhlIGhvcml6b250YWwgbGF5b3V0IixoLmlkKSwwO2lmKGgucGFyZW50cy5sZW5ndGg9PT0xKXJldHVybiB1LmhhcyhoLnBhcmVudHNbMF0uaWQpP2F3YWl0IGcoaC5wYXJlbnRzWzBdLmlkLGMpOihjb25zb2xlLndhcm4oIk5lYXJlc3RQYXJlbnRMYXlvdXQ6IFBhcmVudCBub2RlIG5vdCBmb3VuZCBpbiBsYXlvdXQiLGgucGFyZW50c1swXS5pZCksMCk7aWYoaC5wYXJlbnRzLmxlbmd0aD4wKXtjb25zdCB4PWgucGFyZW50cy5tYXAoKHtpZDp5fSk9Pntjb25zdCBDPXUuZ2V0KHkpO3JldHVybiBDPT09dm9pZCAwPyhjb25zb2xlLndhcm4oIk5lYXJlc3RQYXJlbnRMYXlvdXQ6IFBhcmVudCBub2RlIG5vdCBmb3VuZCBpbiBsYXlvdXQiLHkpLDApOkN9KSxOPXgucmVkdWNlKCh5LEMpPT55K0MsMCkveC5sZW5ndGgsdj1NYXRoLnJvdW5kKE4pO2lmKG0oYyx2KSl7Y29uc3QgeT1rKGMsdiksQz1oLnBhcmVudHMubWFwKCh7aWQ6Rn0pPT5GKSxTPXkuZmlsdGVyKEY9PkMuaW5jbHVkZXMoRikpO2lmKFMubGVuZ3RoPjB8fHkubGVuZ3RoPjEpe2NvbnN0W0ZdPVMubGVuZ3RoPjA/Uzp5LGxuPVIoeCx2LG8uZ2V0KEYpKTtyZXR1cm4gby5zZXQoRixsbiksYXdhaXQgZyhGLGMpfXJldHVybiBhd2FpdCBZKHtjb21wZXRpbmdOb2RlSWQ6eVswXSx1cHN0cmVhbVJvd3M6eCxub2RlU3RhcnRYOmMsZGVzaXJlZFJvdzp2fSl9fXJldHVybiBmKGMsMCl9ZnVuY3Rpb24gZihoLGMpe3JldHVybiBtKGgsYyk/ZihoLGMrMSk6Y31hc3luYyBmdW5jdGlvbiBnKGgsYyl7Y29uc3QgeD11LmdldChoKTtpZih4PT09dm9pZCAwKXJldHVybiBjb25zb2xlLndhcm4oIk5lYXJlc3RQYXJlbnRMYXlvdXQ6IFVwc3RyZWFtIG5vZGUgbm90IGZvdW5kIGluIGxheW91dCIsaCksMDtvLmdldChoKXx8by5zZXQoaCwxKTtjb25zdCB3PW8uZ2V0KGgpO3JldHVybiBtKGMseCk/dz09PTEmJiFtKGMseCsxKT8oby5zZXQoaCwtMSkseCsxKTptKGMseC0xKT8oYXdhaXQgcCh7ZGlyZWN0aW9uOncsbm9kZVN0YXJ0WDpjLGRlc2lyZWRSb3c6eCt3fSksby5zZXQoaCx3PT09MT8tMToxKSx4K3cpOihvLnNldChoLDEpLHgtMSk6eH1mdW5jdGlvbiBtKGgsYyl7aWYodS5zaXplPT09MClyZXR1cm4hMTtsZXQgeD0hMTtjb25zdCB3PWkuZ2V0KGMpPz9bXTtmb3IoY29uc3QgTiBvZiB3KXtjb25zdCB2PXUuZ2V0KE4pLHk9RShOKTtpZihEKHtmaXJzdE5vZGVFbmRYOnksZmlyc3ROb2RlUm93OnYsbGFzdE5vZGVTdGFydFg6aCxsYXN0Tm9kZVJvdzpjfSkpe3g9ITA7YnJlYWt9fXJldHVybiB4fWFzeW5jIGZ1bmN0aW9uIHAoe2RpcmVjdGlvbjpoLG5vZGVTdGFydFg6YyxkZXNpcmVkUm93Onh9KXtjb25zdCB3PWsoYyx4KTtpZih3KWZvciBhd2FpdChjb25zdCBOIG9mIHcpe2NvbnN0IHY9dS5nZXQoTikse3g6eX09ZS5nZXQoTik/P3t9O2lmKHY9PT12b2lkIDB8fHk9PT12b2lkIDApe2NvbnNvbGUud2FybigiTmVhcmVzdFBhcmVudExheW91dCAtIHNob3ZlOiBOb2RlIHdhcyBub3QgZm91bmQgaW4gdGhlIHZlcnRpY2FsIG9yIGhvcml6b250YWwgbGF5b3V0IixOKTtjb250aW51ZX1jb25zdCBDPXYraDthd2FpdCBwKHtkaXJlY3Rpb246aCxub2RlU3RhcnRYOnksZGVzaXJlZFJvdzpDfSksJChOLEMpfX1mdW5jdGlvbiBEKHtmaXJzdE5vZGVFbmRYOmgsZmlyc3ROb2RlUm93OmMsbGFzdE5vZGVTdGFydFg6eCxsYXN0Tm9kZVJvdzp3fSl7cmV0dXJuIGM9PT13JiZoKzE2Pj14fWZ1bmN0aW9uIGsoaCxjKXtjb25zdCB4PVtdLHc9aS5nZXQoYyk/P1tdO2Zvcihjb25zdCBOIG9mIHcpe2NvbnN0IHY9RShOKSx5PXUuZ2V0KE4pO2lmKHk9PT12b2lkIDApe2NvbnNvbGUud2FybigiTmVhcmVzdFBhcmVudExheW91dCAtIGdldE92ZXJsYXBwaW5nTm9kZUlkczogTm9kZSB3YXMgbm90IGZvdW5kIGluIHRoZSBsYXlvdXQiLE4pO2NvbnRpbnVlfUQoe2ZpcnN0Tm9kZUVuZFg6dixmaXJzdE5vZGVSb3c6eSxsYXN0Tm9kZVN0YXJ0WDpoLGxhc3ROb2RlUm93OmN9KSYmeC5wdXNoKE4pfWlmKHgubGVuZ3RoIT09MClyZXR1cm4geC5zb3J0KChOLHYpPT57Y29uc3QgeT1FKE4pLEM9RSh2KTtyZXR1cm4geTxDPzE6eT5DPy0xOjB9KSx4fWZ1bmN0aW9uIFIoaCxjLHgpe2NvbnN0IHc9aC5maWx0ZXIodj0+djxjKS5sZW5ndGgsTj1oLmZpbHRlcih2PT52PmMpLmxlbmd0aDtyZXR1cm4gdz5OPy0xOng/PzF9YXN5bmMgZnVuY3Rpb24gWSh7ZGVzaXJlZFJvdzpoLG5vZGVTdGFydFg6Yyx1cHN0cmVhbVJvd3M6eCxjb21wZXRpbmdOb2RlSWQ6d30pe2lmKHUuZ2V0KHcpPT09dm9pZCAwKXJldHVybiBjb25zb2xlLndhcm4oIk5lYXJlc3RQYXJlbnRMYXlvdXQgLSBhcmd1ZVdpdGhDb21wZXRpbmdVcHN0cmVhbVBsYWNlbWVudDogQ29tcGV0aXRvciBub2RlIHdhcyBub3QgZm91bmQgaW4gdGhlIGxheW91dCIsdyksaDtjb25zdFt2LHldPXEodyksQz14LmZpbHRlcihGPT5GPGgpLmxlbmd0aCxTPXguZmlsdGVyKEY9PkY+aCkubGVuZ3RoO2lmKEM+Uyl7aWYodj55JiZ2PkMpcmV0dXJuIGF3YWl0IHAoe2RpcmVjdGlvbjotMSxub2RlU3RhcnRYOmMsZGVzaXJlZFJvdzpofSksaDtpZih5PnYpcmV0dXJuIGF3YWl0IHAoe2RpcmVjdGlvbjoxLG5vZGVTdGFydFg6YyxkZXNpcmVkUm93Omh9KSxoO28uc2V0KHcsLTEpfWlmKFM+Qyl7aWYoeT52JiZ5PlMpcmV0dXJuIGF3YWl0IHAoe2RpcmVjdGlvbjoxLG5vZGVTdGFydFg6YyxkZXNpcmVkUm93Omh9KSxoO2lmKHY+eSlyZXR1cm4gYXdhaXQgcCh7ZGlyZWN0aW9uOi0xLG5vZGVTdGFydFg6YyxkZXNpcmVkUm93Omh9KSxoO28uc2V0KHcsMSl9cmV0dXJuIGF3YWl0IGcodyxjKX1mdW5jdGlvbiBxKGgpe2NvbnN0IGM9bi5kYXRhLm5vZGVzLmdldChoKSx4PXUuZ2V0KGgpO3JldHVybiFjfHx4PT09dm9pZCAwPyhjb25zb2xlLndhcm4oIk5lYXJlc3RQYXJlbnRMYXlvdXQ6IE5vZGUgd2FzIG5vdCBmb3VuZCBpbiBlaXRoZXIgdGhlIGRhdGEgb3IgbGF5b3V0IixoKSxbMCwwXSk6Yy5wYXJlbnRzLnJlZHVjZSgodyxOKT0+e2NvbnN0IHY9dS5nZXQoTi5pZCk7cmV0dXJuIHY9PT12b2lkIDA/KGNvbnNvbGUud2FybigiTmVhcmVzdFBhcmVudExheW91dCAtIGdldE5vZGVQYXJlbnREaXJlY3Rpb25Db3VudHM6IFBhcmVudCBub2RlIG5vdCBmb3VuZCBvbiBsYXlvdXQgZGF0YSIsaCksdyk6KHY8eCYmKHdbMF0rPTEpLHY+eCYmKHdbMV0rPTEpLHcpfSxbMCwwXSl9ZnVuY3Rpb24gRShoKXtjb25zdHt4OmN9PWUuZ2V0KGgpPz97fSx4PW4ud2lkdGhzLmdldChoKTtyZXR1cm4gYz09PXZvaWQgMHx8eD09PXZvaWQgMD8oY29uc29sZS53YXJuKCJOZWFyZXN0UGFyZW50TGF5b3V0OiBOb2RlIHdhcyBub3QgZm91bmQgaW4gdGhlIGhvcml6b250YWwgbGF5b3V0IGFuZC9vciB3aWR0aHMiLGgpLDApOmMreH1mdW5jdGlvbiAkKGgsYyl7dmFyIHgsdztpZihjPGEmJihhPWMpLHUuaGFzKGgpKXtjb25zdCBOPXUuZ2V0KGgpOyh4PWkuZ2V0KE4pKT09bnVsbHx8eC5kZWxldGUoaCl9aS5oYXMoYyl8fGkuc2V0KGMsbmV3IFNldCksKHc9aS5nZXQoYykpPT1udWxsfHx3LmFkZChoKSx1LnNldChoLGMpfWZ1bmN0aW9uIFcoKXtpZihhPDApZm9yKGNvbnN0W2hdb2YgdSl7Y29uc3QgYz11LmdldChoKTt1LnNldChoLGMrTWF0aC5hYnMoYSkpfX19YXN5bmMgZnVuY3Rpb24gVG8obixlKXtyZXR1cm4gbi52ZXJ0aWNhbFNldHRpbmdzLm1vZGU9PT0ibmVhcmVzdC1wYXJlbnQiP2F3YWl0IHZvKG4sZSk6bi52ZXJ0aWNhbFNldHRpbmdzLm1vZGU9PT0iZHVyYXRpb24tc29ydGVkIj9ObyhuKTpDbyhuKX1mdW5jdGlvbiBDbyhuKXtjb25zdCBlPW5ldyBNYXA7bGV0IHQ9MDtmb3IoY29uc3Rbcl1vZiBuLmRhdGEubm9kZXMpZS5zZXQocix0KyspO3JldHVybiBlfWZ1bmN0aW9uIE5vKG4pe2NvbnN0IGU9bmV3IE1hcCx0PVsuLi5uLmRhdGEubm9kZXMudmFsdWVzKCldLnNvcnQoKG8saSk9Pntjb25zdCBhPShvLmVuZF90aW1lP28uZW5kX3RpbWUuZ2V0VGltZSgpOm5ldyBEYXRlKCkuZ2V0VGltZSgpKS1vLnN0YXJ0X3RpbWUuZ2V0VGltZSgpO3JldHVybihpLmVuZF90aW1lP2kuZW5kX3RpbWUuZ2V0VGltZSgpOm5ldyBEYXRlKCkuZ2V0VGltZSgpKS1pLnN0YXJ0X3RpbWUuZ2V0VGltZSgpLWF9KTtsZXQgcj0wO2Zvcihjb25zdCBvIG9mIHQpZS5zZXQoby5pZCxyKyspO3JldHVybiBlfW9ubWVzc2FnZT1VbztmdW5jdGlvbiBVbyh7ZGF0YTpufSl7Y29uc3R7dHlwZTplfT1uO3N3aXRjaChlKXtjYXNlImxheW91dCI6a28obik7cmV0dXJuO2RlZmF1bHQ6S2UoZSl9fWZ1bmN0aW9uIERvKG4pe3Bvc3RNZXNzYWdlKG4pfWFzeW5jIGZ1bmN0aW9uIGtvKG4pe2NvbnN0e2RhdGE6ZX09bix0PXBvKG4pLHI9YXdhaXQgVG8obix0KSxvPW5ldyBNYXA7bGV0IGk9MCxhPTA7Zm9yKGNvbnN0W3UsbF1vZiBlLm5vZGVzKXtjb25zdCBmPXQuZ2V0KHUpLGc9ci5nZXQodSk7aWYoZj09PXZvaWQgMCl7Y29uc29sZS53YXJuKGBOb2RlSWQgbm90IGZvdW5kIGluIGhvcml6b250YWwgbGF5b3V0OiBTa2lwcGluZyAke2wubGFiZWx9YCk7Y29udGludWV9aWYoZz09PXZvaWQgMCl7Y29uc29sZS53YXJuKGBOb2RlSWQgbm90IGZvdW5kIGluIHZlcnRpY2FsIGxheW91dDogU2tpcHBpbmcgJHtsLmxhYmVsfWApO2NvbnRpbnVlfWk9TWF0aC5tYXgoaSxnKSxhPU1hdGgubWF4KGEsZi5jb2x1bW4pLG8uc2V0KHUsey4uLmYseTpnLHJvdzpnfSl9RG8oe3R5cGU6ImxheW91dCIsbGF5b3V0OnttYXhSb3c6aSxtYXhDb2x1bW46YSxwb3NpdGlvbnM6b319KX19KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1ydW5HcmFwaC53b3JrZXItQzRjMjBKZ3UuanMubWFwCg==", dP = (i) => Uint8Array.from(atob(i), (t) => t.charCodeAt(0)), Wm = typeof window < "u" && window.Blob && new Blob([dP(Vb)], { type: "text/javascript;charset=utf-8" });
|
|
34560
|
-
function
|
|
34559
|
+
const Vb = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIEtlKG4pe3Rocm93IG5ldyBFcnJvcihgc3dpdGNoIGRvZXMgbm90IGhhdmUgY2FzZSBmb3IgdmFsdWU6ICR7bn1gKX1mdW5jdGlvbiBDbihuLGUpe3JldHVybiBuPT1udWxsfHxlPT1udWxsP05hTjpuPGU/LTE6bj5lPzE6bj49ZT8wOk5hTn1mdW5jdGlvbiBudChuLGUpe3JldHVybiBuPT1udWxsfHxlPT1udWxsP05hTjplPG4/LTE6ZT5uPzE6ZT49bj8wOk5hTn1mdW5jdGlvbiBSbihuKXtsZXQgZSx0LHI7bi5sZW5ndGghPT0yPyhlPUNuLHQ9KHUsbCk9PkNuKG4odSksbCkscj0odSxsKT0+bih1KS1sKTooZT1uPT09Q258fG49PT1udD9uOmV0LHQ9bixyPW4pO2Z1bmN0aW9uIG8odSxsLGY9MCxnPXUubGVuZ3RoKXtpZihmPGcpe2lmKGUobCxsKSE9PTApcmV0dXJuIGc7ZG97Y29uc3QgbT1mK2c+Pj4xO3QodVttXSxsKTwwP2Y9bSsxOmc9bX13aGlsZShmPGcpfXJldHVybiBmfWZ1bmN0aW9uIGkodSxsLGY9MCxnPXUubGVuZ3RoKXtpZihmPGcpe2lmKGUobCxsKSE9PTApcmV0dXJuIGc7ZG97Y29uc3QgbT1mK2c+Pj4xO3QodVttXSxsKTw9MD9mPW0rMTpnPW19d2hpbGUoZjxnKX1yZXR1cm4gZn1mdW5jdGlvbiBhKHUsbCxmPTAsZz11Lmxlbmd0aCl7Y29uc3QgbT1vKHUsbCxmLGctMSk7cmV0dXJuIG0+ZiYmcih1W20tMV0sbCk+LXIodVttXSxsKT9tLTE6bX1yZXR1cm57bGVmdDpvLGNlbnRlcjphLHJpZ2h0Oml9fWZ1bmN0aW9uIGV0KCl7cmV0dXJuIDB9ZnVuY3Rpb24gdHQobil7cmV0dXJuIG49PT1udWxsP05hTjorbn1jb25zdCBydD1SbihDbikucmlnaHQ7Um4odHQpLmNlbnRlcjtjb25zdCBvdD1NYXRoLnNxcnQoNTApLGl0PU1hdGguc3FydCgxMCksYXQ9TWF0aC5zcXJ0KDIpO2Z1bmN0aW9uIE5uKG4sZSx0KXtjb25zdCByPShlLW4pL01hdGgubWF4KDAsdCksbz1NYXRoLmZsb29yKE1hdGgubG9nMTAocikpLGk9ci9NYXRoLnBvdygxMCxvKSxhPWk+PW90PzEwOmk+PWl0PzU6aT49YXQ/MjoxO2xldCB1LGwsZjtyZXR1cm4gbzwwPyhmPU1hdGgucG93KDEwLC1vKS9hLHU9TWF0aC5yb3VuZChuKmYpLGw9TWF0aC5yb3VuZChlKmYpLHUvZjxuJiYrK3UsbC9mPmUmJi0tbCxmPS1mKTooZj1NYXRoLnBvdygxMCxvKSphLHU9TWF0aC5yb3VuZChuL2YpLGw9TWF0aC5yb3VuZChlL2YpLHUqZjxuJiYrK3UsbCpmPmUmJi0tbCksbDx1JiYuNTw9dCYmdDwyP05uKG4sZSx0KjIpOlt1LGwsZl19ZnVuY3Rpb24gdXQobixlLHQpe2lmKGU9K2Usbj0rbix0PSt0LCEodD4wKSlyZXR1cm5bXTtpZihuPT09ZSlyZXR1cm5bbl07Y29uc3Qgcj1lPG4sW28saSxhXT1yP05uKGUsbix0KTpObihuLGUsdCk7aWYoIShpPj1vKSlyZXR1cm5bXTtjb25zdCB1PWktbysxLGw9bmV3IEFycmF5KHUpO2lmKHIpaWYoYTwwKWZvcihsZXQgZj0wO2Y8dTsrK2YpbFtmXT0oaS1mKS8tYTtlbHNlIGZvcihsZXQgZj0wO2Y8dTsrK2YpbFtmXT0oaS1mKSphO2Vsc2UgaWYoYTwwKWZvcihsZXQgZj0wO2Y8dTsrK2YpbFtmXT0obytmKS8tYTtlbHNlIGZvcihsZXQgZj0wO2Y8dTsrK2YpbFtmXT0obytmKSphO3JldHVybiBsfWZ1bmN0aW9uIEluKG4sZSx0KXtyZXR1cm4gZT0rZSxuPStuLHQ9K3QsTm4obixlLHQpWzJdfWZ1bmN0aW9uIE9uKG4sZSx0KXtlPStlLG49K24sdD0rdDtjb25zdCByPWU8bixvPXI/SW4oZSxuLHQpOkluKG4sZSx0KTtyZXR1cm4ocj8tMToxKSoobzwwPzEvLW86byl9ZnVuY3Rpb24gem4obixlLHQpe24ucHJvdG90eXBlPWUucHJvdG90eXBlPXQsdC5jb25zdHJ1Y3Rvcj1ufWZ1bmN0aW9uIGZlKG4sZSl7dmFyIHQ9T2JqZWN0LmNyZWF0ZShuLnByb3RvdHlwZSk7Zm9yKHZhciByIGluIGUpdFtyXT1lW3JdO3JldHVybiB0fWZ1bmN0aW9uIGRuKCl7fXZhciB5bj0uNyxVbj0xL3luLHJuPSJcXHMqKFsrLV0/XFxkKylcXHMqIix4bj0iXFxzKihbKy1dPyg/OlxcZCpcXC4pP1xcZCsoPzpbZUVdWystXT9cXGQrKT8pXFxzKiIsWj0iXFxzKihbKy1dPyg/OlxcZCpcXC4pP1xcZCsoPzpbZUVdWystXT9cXGQrKT8pJVxccyoiLGZ0PS9eIyhbMC05YS1mXXszLDh9KSQvLGN0PW5ldyBSZWdFeHAoYF5yZ2JcXCgke3JufSwke3JufSwke3JufVxcKSRgKSxzdD1uZXcgUmVnRXhwKGBecmdiXFwoJHtafSwke1p9LCR7Wn1cXCkkYCksbHQ9bmV3IFJlZ0V4cChgXnJnYmFcXCgke3JufSwke3JufSwke3JufSwke3hufVxcKSRgKSxodD1uZXcgUmVnRXhwKGBecmdiYVxcKCR7Wn0sJHtafSwke1p9LCR7eG59XFwpJGApLGd0PW5ldyBSZWdFeHAoYF5oc2xcXCgke3hufSwke1p9LCR7Wn1cXCkkYCksbXQ9bmV3IFJlZ0V4cChgXmhzbGFcXCgke3hufSwke1p9LCR7Wn0sJHt4bn1cXCkkYCksY2U9e2FsaWNlYmx1ZToxNTc5MjM4MyxhbnRpcXVld2hpdGU6MTY0NDQzNzUsYXF1YTo2NTUzNSxhcXVhbWFyaW5lOjgzODg1NjQsYXp1cmU6MTU3OTQxNzUsYmVpZ2U6MTYxMTkyNjAsYmlzcXVlOjE2NzcwMjQ0LGJsYWNrOjAsYmxhbmNoZWRhbG1vbmQ6MTY3NzIwNDUsYmx1ZToyNTUsYmx1ZXZpb2xldDo5MDU1MjAyLGJyb3duOjEwODI0MjM0LGJ1cmx5d29vZDoxNDU5NjIzMSxjYWRldGJsdWU6NjI2NjUyOCxjaGFydHJldXNlOjgzODgzNTIsY2hvY29sYXRlOjEzNzg5NDcwLGNvcmFsOjE2NzQ0MjcyLGNvcm5mbG93ZXJibHVlOjY1OTE5ODEsY29ybnNpbGs6MTY3NzUzODgsY3JpbXNvbjoxNDQyMzEwMCxjeWFuOjY1NTM1LGRhcmtibHVlOjEzOSxkYXJrY3lhbjozNTcyMyxkYXJrZ29sZGVucm9kOjEyMDkyOTM5LGRhcmtncmF5OjExMTE5MDE3LGRhcmtncmVlbjoyNTYwMCxkYXJrZ3JleToxMTExOTAxNyxkYXJra2hha2k6MTI0MzMyNTksZGFya21hZ2VudGE6OTEwOTY0MyxkYXJrb2xpdmVncmVlbjo1NTk3OTk5LGRhcmtvcmFuZ2U6MTY3NDc1MjAsZGFya29yY2hpZDoxMDA0MDAxMixkYXJrcmVkOjkxMDk1MDQsZGFya3NhbG1vbjoxNTMwODQxMCxkYXJrc2VhZ3JlZW46OTQxOTkxOSxkYXJrc2xhdGVibHVlOjQ3MzQzNDcsZGFya3NsYXRlZ3JheTozMTAwNDk1LGRhcmtzbGF0ZWdyZXk6MzEwMDQ5NSxkYXJrdHVycXVvaXNlOjUyOTQ1LGRhcmt2aW9sZXQ6OTY5OTUzOSxkZWVwcGluazoxNjcxNjk0NyxkZWVwc2t5Ymx1ZTo0OTE1MSxkaW1ncmF5OjY5MDgyNjUsZGltZ3JleTo2OTA4MjY1LGRvZGdlcmJsdWU6MjAwMzE5OSxmaXJlYnJpY2s6MTE2NzQxNDYsZmxvcmFsd2hpdGU6MTY3NzU5MjAsZm9yZXN0Z3JlZW46MjI2Mzg0MixmdWNoc2lhOjE2NzExOTM1LGdhaW5zYm9ybzoxNDQ3NDQ2MCxnaG9zdHdoaXRlOjE2MzE2NjcxLGdvbGQ6MTY3NjY3MjAsZ29sZGVucm9kOjE0MzI5MTIwLGdyYXk6ODQyMTUwNCxncmVlbjozMjc2OCxncmVlbnllbGxvdzoxMTQwMzA1NSxncmV5Ojg0MjE1MDQsaG9uZXlkZXc6MTU3OTQxNjAsaG90cGluazoxNjczODc0MCxpbmRpYW5yZWQ6MTM0NTg1MjQsaW5kaWdvOjQ5MTUzMzAsaXZvcnk6MTY3NzcyMDAsa2hha2k6MTU3ODc2NjAsbGF2ZW5kZXI6MTUxMzI0MTAsbGF2ZW5kZXJibHVzaDoxNjc3MzM2NSxsYXduZ3JlZW46ODE5MDk3NixsZW1vbmNoaWZmb246MTY3NzU4ODUsbGlnaHRibHVlOjExMzkzMjU0LGxpZ2h0Y29yYWw6MTU3NjE1MzYsbGlnaHRjeWFuOjE0NzQ1NTk5LGxpZ2h0Z29sZGVucm9keWVsbG93OjE2NDQ4MjEwLGxpZ2h0Z3JheToxMzg4MjMyMyxsaWdodGdyZWVuOjk0OTgyNTYsbGlnaHRncmV5OjEzODgyMzIzLGxpZ2h0cGluazoxNjc1ODQ2NSxsaWdodHNhbG1vbjoxNjc1Mjc2MixsaWdodHNlYWdyZWVuOjIxNDI4OTAsbGlnaHRza3libHVlOjg5MDAzNDYsbGlnaHRzbGF0ZWdyYXk6NzgzMzc1MyxsaWdodHNsYXRlZ3JleTo3ODMzNzUzLGxpZ2h0c3RlZWxibHVlOjExNTg0NzM0LGxpZ2h0eWVsbG93OjE2Nzc3MTg0LGxpbWU6NjUyODAsbGltZWdyZWVuOjMzMjkzMzAsbGluZW46MTY0NDU2NzAsbWFnZW50YToxNjcxMTkzNSxtYXJvb246ODM4ODYwOCxtZWRpdW1hcXVhbWFyaW5lOjY3MzczMjIsbWVkaXVtYmx1ZToyMDUsbWVkaXVtb3JjaGlkOjEyMjExNjY3LG1lZGl1bXB1cnBsZTo5NjYyNjgzLG1lZGl1bXNlYWdyZWVuOjM5NzgwOTcsbWVkaXVtc2xhdGVibHVlOjgwODc3OTAsbWVkaXVtc3ByaW5nZ3JlZW46NjQxNTQsbWVkaXVtdHVycXVvaXNlOjQ3NzIzMDAsbWVkaXVtdmlvbGV0cmVkOjEzMDQ3MTczLG1pZG5pZ2h0Ymx1ZToxNjQ0OTEyLG1pbnRjcmVhbToxNjEyMTg1MCxtaXN0eXJvc2U6MTY3NzAyNzMsbW9jY2FzaW46MTY3NzAyMjksbmF2YWpvd2hpdGU6MTY3Njg2ODUsbmF2eToxMjgsb2xkbGFjZToxNjY0MzU1OCxvbGl2ZTo4NDIxMzc2LG9saXZlZHJhYjo3MDQ4NzM5LG9yYW5nZToxNjc1MzkyMCxvcmFuZ2VyZWQ6MTY3MjkzNDQsb3JjaGlkOjE0MzE1NzM0LHBhbGVnb2xkZW5yb2Q6MTU2NTcxMzAscGFsZWdyZWVuOjEwMDI1ODgwLHBhbGV0dXJxdW9pc2U6MTE1Mjk5NjYscGFsZXZpb2xldHJlZDoxNDM4MTIwMyxwYXBheWF3aGlwOjE2NzczMDc3LHBlYWNocHVmZjoxNjc2NzY3MyxwZXJ1OjEzNDY4OTkxLHBpbms6MTY3NjEwMzUscGx1bToxNDUyNDYzNyxwb3dkZXJibHVlOjExNTkxOTEwLHB1cnBsZTo4Mzg4NzM2LHJlYmVjY2FwdXJwbGU6NjY5Nzg4MSxyZWQ6MTY3MTE2ODAscm9zeWJyb3duOjEyMzU3NTE5LHJveWFsYmx1ZTo0Mjg2OTQ1LHNhZGRsZWJyb3duOjkxMjcxODcsc2FsbW9uOjE2NDE2ODgyLHNhbmR5YnJvd246MTYwMzI4NjQsc2VhZ3JlZW46MzA1MDMyNyxzZWFzaGVsbDoxNjc3NDYzOCxzaWVubmE6MTA1MDY3OTcsc2lsdmVyOjEyNjMyMjU2LHNreWJsdWU6ODkwMDMzMSxzbGF0ZWJsdWU6Njk3MDA2MSxzbGF0ZWdyYXk6NzM3Mjk0NCxzbGF0ZWdyZXk6NzM3Mjk0NCxzbm93OjE2Nzc1OTMwLHNwcmluZ2dyZWVuOjY1NDA3LHN0ZWVsYmx1ZTo0NjIwOTgwLHRhbjoxMzgwODc4MCx0ZWFsOjMyODk2LHRoaXN0bGU6MTQyMDQ4ODgsdG9tYXRvOjE2NzM3MDk1LHR1cnF1b2lzZTo0MjUxODU2LHZpb2xldDoxNTYzMTA4Nix3aGVhdDoxNjExMzMzMSx3aGl0ZToxNjc3NzIxNSx3aGl0ZXNtb2tlOjE2MTE5Mjg1LHllbGxvdzoxNjc3Njk2MCx5ZWxsb3dncmVlbjoxMDE0NTA3NH07em4oZG4scG4se2NvcHkobil7cmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IHRoaXMuY29uc3RydWN0b3IsdGhpcyxuKX0sZGlzcGxheWFibGUoKXtyZXR1cm4gdGhpcy5yZ2IoKS5kaXNwbGF5YWJsZSgpfSxoZXg6c2UsZm9ybWF0SGV4OnNlLGZvcm1hdEhleDg6ZHQsZm9ybWF0SHNsOnl0LGZvcm1hdFJnYjpsZSx0b1N0cmluZzpsZX0pO2Z1bmN0aW9uIHNlKCl7cmV0dXJuIHRoaXMucmdiKCkuZm9ybWF0SGV4KCl9ZnVuY3Rpb24gZHQoKXtyZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRIZXg4KCl9ZnVuY3Rpb24geXQoKXtyZXR1cm4geWUodGhpcykuZm9ybWF0SHNsKCl9ZnVuY3Rpb24gbGUoKXtyZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRSZ2IoKX1mdW5jdGlvbiBwbihuKXt2YXIgZSx0O3JldHVybiBuPShuKyIiKS50cmltKCkudG9Mb3dlckNhc2UoKSwoZT1mdC5leGVjKG4pKT8odD1lWzFdLmxlbmd0aCxlPXBhcnNlSW50KGVbMV0sMTYpLHQ9PT02P2hlKGUpOnQ9PT0zP25ldyBQKGU+PjgmMTV8ZT4+NCYyNDAsZT4+NCYxNXxlJjI0MCwoZSYxNSk8PDR8ZSYxNSwxKTp0PT09OD9EbihlPj4yNCYyNTUsZT4+MTYmMjU1LGU+PjgmMjU1LChlJjI1NSkvMjU1KTp0PT09ND9EbihlPj4xMiYxNXxlPj44JjI0MCxlPj44JjE1fGU+PjQmMjQwLGU+PjQmMTV8ZSYyNDAsKChlJjE1KTw8NHxlJjE1KS8yNTUpOm51bGwpOihlPWN0LmV4ZWMobikpP25ldyBQKGVbMV0sZVsyXSxlWzNdLDEpOihlPXN0LmV4ZWMobikpP25ldyBQKGVbMV0qMjU1LzEwMCxlWzJdKjI1NS8xMDAsZVszXSoyNTUvMTAwLDEpOihlPWx0LmV4ZWMobikpP0RuKGVbMV0sZVsyXSxlWzNdLGVbNF0pOihlPWh0LmV4ZWMobikpP0RuKGVbMV0qMjU1LzEwMCxlWzJdKjI1NS8xMDAsZVszXSoyNTUvMTAwLGVbNF0pOihlPWd0LmV4ZWMobikpP2RlKGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsMSk6KGU9bXQuZXhlYyhuKSk/ZGUoZVsxXSxlWzJdLzEwMCxlWzNdLzEwMCxlWzRdKTpjZS5oYXNPd25Qcm9wZXJ0eShuKT9oZShjZVtuXSk6bj09PSJ0cmFuc3BhcmVudCI/bmV3IFAoTmFOLE5hTixOYU4sMCk6bnVsbH1mdW5jdGlvbiBoZShuKXtyZXR1cm4gbmV3IFAobj4+MTYmMjU1LG4+PjgmMjU1LG4mMjU1LDEpfWZ1bmN0aW9uIERuKG4sZSx0LHIpe3JldHVybiByPD0wJiYobj1lPXQ9TmFOKSxuZXcgUChuLGUsdCxyKX1mdW5jdGlvbiB4dChuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIGRufHwobj1wbihuKSksbj8obj1uLnJnYigpLG5ldyBQKG4ucixuLmcsbi5iLG4ub3BhY2l0eSkpOm5ldyBQfWZ1bmN0aW9uIEVuKG4sZSx0LHIpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPT09MT94dChuKTpuZXcgUChuLGUsdCxyPz8xKX1mdW5jdGlvbiBQKG4sZSx0LHIpe3RoaXMucj0rbix0aGlzLmc9K2UsdGhpcy5iPSt0LHRoaXMub3BhY2l0eT0rcn16bihQLEVuLGZlKGRuLHticmlnaHRlcihuKXtyZXR1cm4gbj1uPT1udWxsP1VuOk1hdGgucG93KFVuLG4pLG5ldyBQKHRoaXMucipuLHRoaXMuZypuLHRoaXMuYipuLHRoaXMub3BhY2l0eSl9LGRhcmtlcihuKXtyZXR1cm4gbj1uPT1udWxsP3luOk1hdGgucG93KHluLG4pLG5ldyBQKHRoaXMucipuLHRoaXMuZypuLHRoaXMuYipuLHRoaXMub3BhY2l0eSl9LHJnYigpe3JldHVybiB0aGlzfSxjbGFtcCgpe3JldHVybiBuZXcgUChHKHRoaXMuciksRyh0aGlzLmcpLEcodGhpcy5iKSxrbih0aGlzLm9wYWNpdHkpKX0sZGlzcGxheWFibGUoKXtyZXR1cm4tLjU8PXRoaXMuciYmdGhpcy5yPDI1NS41JiYtLjU8PXRoaXMuZyYmdGhpcy5nPDI1NS41JiYtLjU8PXRoaXMuYiYmdGhpcy5iPDI1NS41JiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0saGV4OmdlLGZvcm1hdEhleDpnZSxmb3JtYXRIZXg4OnB0LGZvcm1hdFJnYjptZSx0b1N0cmluZzptZX0pKTtmdW5jdGlvbiBnZSgpe3JldHVybmAjJHtKKHRoaXMucil9JHtKKHRoaXMuZyl9JHtKKHRoaXMuYil9YH1mdW5jdGlvbiBwdCgpe3JldHVybmAjJHtKKHRoaXMucil9JHtKKHRoaXMuZyl9JHtKKHRoaXMuYil9JHtKKChpc05hTih0aGlzLm9wYWNpdHkpPzE6dGhpcy5vcGFjaXR5KSoyNTUpfWB9ZnVuY3Rpb24gbWUoKXtjb25zdCBuPWtuKHRoaXMub3BhY2l0eSk7cmV0dXJuYCR7bj09PTE/InJnYigiOiJyZ2JhKCJ9JHtHKHRoaXMucil9LCAke0codGhpcy5nKX0sICR7Ryh0aGlzLmIpfSR7bj09PTE/IikiOmAsICR7bn0pYH1gfWZ1bmN0aW9uIGtuKG4pe3JldHVybiBpc05hTihuKT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSxuKSl9ZnVuY3Rpb24gRyhuKXtyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZChuKXx8MCkpfWZ1bmN0aW9uIEoobil7cmV0dXJuIG49RyhuKSwobjwxNj8iMCI6IiIpK24udG9TdHJpbmcoMTYpfWZ1bmN0aW9uIGRlKG4sZSx0LHIpe3JldHVybiByPD0wP249ZT10PU5hTjp0PD0wfHx0Pj0xP249ZT1OYU46ZTw9MCYmKG49TmFOKSxuZXcgXyhuLGUsdCxyKX1mdW5jdGlvbiB5ZShuKXtpZihuIGluc3RhbmNlb2YgXylyZXR1cm4gbmV3IF8obi5oLG4ucyxuLmwsbi5vcGFjaXR5KTtpZihuIGluc3RhbmNlb2YgZG58fChuPXBuKG4pKSwhbilyZXR1cm4gbmV3IF87aWYobiBpbnN0YW5jZW9mIF8pcmV0dXJuIG47bj1uLnJnYigpO3ZhciBlPW4uci8yNTUsdD1uLmcvMjU1LHI9bi5iLzI1NSxvPU1hdGgubWluKGUsdCxyKSxpPU1hdGgubWF4KGUsdCxyKSxhPU5hTix1PWktbyxsPShpK28pLzI7cmV0dXJuIHU/KGU9PT1pP2E9KHQtcikvdSsodDxyKSo2OnQ9PT1pP2E9KHItZSkvdSsyOmE9KGUtdCkvdSs0LHUvPWw8LjU/aStvOjItaS1vLGEqPTYwKTp1PWw+MCYmbDwxPzA6YSxuZXcgXyhhLHUsbCxuLm9wYWNpdHkpfWZ1bmN0aW9uIHd0KG4sZSx0LHIpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPT09MT95ZShuKTpuZXcgXyhuLGUsdCxyPz8xKX1mdW5jdGlvbiBfKG4sZSx0LHIpe3RoaXMuaD0rbix0aGlzLnM9K2UsdGhpcy5sPSt0LHRoaXMub3BhY2l0eT0rcn16bihfLHd0LGZlKGRuLHticmlnaHRlcihuKXtyZXR1cm4gbj1uPT1udWxsP1VuOk1hdGgucG93KFVuLG4pLG5ldyBfKHRoaXMuaCx0aGlzLnMsdGhpcy5sKm4sdGhpcy5vcGFjaXR5KX0sZGFya2VyKG4pe3JldHVybiBuPW49PW51bGw/eW46TWF0aC5wb3coeW4sbiksbmV3IF8odGhpcy5oLHRoaXMucyx0aGlzLmwqbix0aGlzLm9wYWNpdHkpfSxyZ2IoKXt2YXIgbj10aGlzLmglMzYwKyh0aGlzLmg8MCkqMzYwLGU9aXNOYU4obil8fGlzTmFOKHRoaXMucyk/MDp0aGlzLnMsdD10aGlzLmwscj10Kyh0PC41P3Q6MS10KSplLG89Mip0LXI7cmV0dXJuIG5ldyBQKF9uKG4+PTI0MD9uLTI0MDpuKzEyMCxvLHIpLF9uKG4sbyxyKSxfbihuPDEyMD9uKzI0MDpuLTEyMCxvLHIpLHRoaXMub3BhY2l0eSl9LGNsYW1wKCl7cmV0dXJuIG5ldyBfKHhlKHRoaXMuaCksU24odGhpcy5zKSxTbih0aGlzLmwpLGtuKHRoaXMub3BhY2l0eSkpfSxkaXNwbGF5YWJsZSgpe3JldHVybigwPD10aGlzLnMmJnRoaXMuczw9MXx8aXNOYU4odGhpcy5zKSkmJjA8PXRoaXMubCYmdGhpcy5sPD0xJiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0sZm9ybWF0SHNsKCl7Y29uc3Qgbj1rbih0aGlzLm9wYWNpdHkpO3JldHVybmAke249PT0xPyJoc2woIjoiaHNsYSgifSR7eGUodGhpcy5oKX0sICR7U24odGhpcy5zKSoxMDB9JSwgJHtTbih0aGlzLmwpKjEwMH0lJHtuPT09MT8iKSI6YCwgJHtufSlgfWB9fSkpO2Z1bmN0aW9uIHhlKG4pe3JldHVybiBuPShufHwwKSUzNjAsbjwwP24rMzYwOm59ZnVuY3Rpb24gU24obil7cmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4oMSxufHwwKSl9ZnVuY3Rpb24gX24obixlLHQpe3JldHVybihuPDYwP2UrKHQtZSkqbi82MDpuPDE4MD90Om48MjQwP2UrKHQtZSkqKDI0MC1uKS82MDplKSoyNTV9dmFyIHFuPW49PigpPT5uO2Z1bmN0aW9uIE10KG4sZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBuK3QqZX19ZnVuY3Rpb24gYnQobixlLHQpe3JldHVybiBuPU1hdGgucG93KG4sdCksZT1NYXRoLnBvdyhlLHQpLW4sdD0xL3QsZnVuY3Rpb24ocil7cmV0dXJuIE1hdGgucG93KG4rciplLHQpfX1mdW5jdGlvbiB2dChuKXtyZXR1cm4obj0rbik9PTE/cGU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC1lP2J0KGUsdCxuKTpxbihpc05hTihlKT90OmUpfX1mdW5jdGlvbiBwZShuLGUpe3ZhciB0PWUtbjtyZXR1cm4gdD9NdChuLHQpOnFuKGlzTmFOKG4pP2U6bil9dmFyIHdlPWZ1bmN0aW9uIG4oZSl7dmFyIHQ9dnQoZSk7ZnVuY3Rpb24gcihvLGkpe3ZhciBhPXQoKG89RW4obykpLnIsKGk9RW4oaSkpLnIpLHU9dChvLmcsaS5nKSxsPXQoby5iLGkuYiksZj1wZShvLm9wYWNpdHksaS5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24oZyl7cmV0dXJuIG8ucj1hKGcpLG8uZz11KGcpLG8uYj1sKGcpLG8ub3BhY2l0eT1mKGcpLG8rIiJ9fXJldHVybiByLmdhbW1hPW4scn0oMSk7ZnVuY3Rpb24gVHQobixlKXtlfHwoZT1bXSk7dmFyIHQ9bj9NYXRoLm1pbihlLmxlbmd0aCxuLmxlbmd0aCk6MCxyPWUuc2xpY2UoKSxvO3JldHVybiBmdW5jdGlvbihpKXtmb3Iobz0wO288dDsrK28pcltvXT1uW29dKigxLWkpK2Vbb10qaTtyZXR1cm4gcn19ZnVuY3Rpb24gQ3Qobil7cmV0dXJuIEFycmF5QnVmZmVyLmlzVmlldyhuKSYmIShuIGluc3RhbmNlb2YgRGF0YVZpZXcpfWZ1bmN0aW9uIE50KG4sZSl7dmFyIHQ9ZT9lLmxlbmd0aDowLHI9bj9NYXRoLm1pbih0LG4ubGVuZ3RoKTowLG89bmV3IEFycmF5KHIpLGk9bmV3IEFycmF5KHQpLGE7Zm9yKGE9MDthPHI7KythKW9bYV09Vm4oblthXSxlW2FdKTtmb3IoO2E8dDsrK2EpaVthXT1lW2FdO3JldHVybiBmdW5jdGlvbih1KXtmb3IoYT0wO2E8cjsrK2EpaVthXT1vW2FdKHUpO3JldHVybiBpfX1mdW5jdGlvbiBVdChuLGUpe3ZhciB0PW5ldyBEYXRlO3JldHVybiBuPStuLGU9K2UsZnVuY3Rpb24ocil7cmV0dXJuIHQuc2V0VGltZShuKigxLXIpK2UqciksdH19ZnVuY3Rpb24gJG4obixlKXtyZXR1cm4gbj0rbixlPStlLGZ1bmN0aW9uKHQpe3JldHVybiBuKigxLXQpK2UqdH19ZnVuY3Rpb24gRHQobixlKXt2YXIgdD17fSxyPXt9LG87KG49PT1udWxsfHx0eXBlb2YgbiE9Im9iamVjdCIpJiYobj17fSksKGU9PT1udWxsfHx0eXBlb2YgZSE9Im9iamVjdCIpJiYoZT17fSk7Zm9yKG8gaW4gZSlvIGluIG4/dFtvXT1WbihuW29dLGVbb10pOnJbb109ZVtvXTtyZXR1cm4gZnVuY3Rpb24oaSl7Zm9yKG8gaW4gdClyW29dPXRbb10oaSk7cmV0dXJuIHJ9fXZhciBqbj0vWy0rXT8oPzpcZCtcLj9cZCp8XC4/XGQrKSg/OltlRV1bLStdP1xkKyk/L2csWm49bmV3IFJlZ0V4cChqbi5zb3VyY2UsImciKTtmdW5jdGlvbiBrdChuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbn19ZnVuY3Rpb24gU3Qobil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBuKGUpKyIifX1mdW5jdGlvbiAkdChuLGUpe3ZhciB0PWpuLmxhc3RJbmRleD1abi5sYXN0SW5kZXg9MCxyLG8saSxhPS0xLHU9W10sbD1bXTtmb3Iobj1uKyIiLGU9ZSsiIjsocj1qbi5leGVjKG4pKSYmKG89Wm4uZXhlYyhlKSk7KShpPW8uaW5kZXgpPnQmJihpPWUuc2xpY2UodCxpKSx1W2FdP3VbYV0rPWk6dVsrK2FdPWkpLChyPXJbMF0pPT09KG89b1swXSk/dVthXT91W2FdKz1vOnVbKythXT1vOih1WysrYV09bnVsbCxsLnB1c2goe2k6YSx4OiRuKHIsbyl9KSksdD1abi5sYXN0SW5kZXg7cmV0dXJuIHQ8ZS5sZW5ndGgmJihpPWUuc2xpY2UodCksdVthXT91W2FdKz1pOnVbKythXT1pKSx1Lmxlbmd0aDwyP2xbMF0/U3QobFswXS54KTprdChlKTooZT1sLmxlbmd0aCxmdW5jdGlvbihmKXtmb3IodmFyIGc9MCxtO2c8ZTsrK2cpdVsobT1sW2ddKS5pXT1tLngoZik7cmV0dXJuIHUuam9pbigiIil9KX1mdW5jdGlvbiBWbihuLGUpe3ZhciB0PXR5cGVvZiBlLHI7cmV0dXJuIGU9PW51bGx8fHQ9PT0iYm9vbGVhbiI/cW4oZSk6KHQ9PT0ibnVtYmVyIj8kbjp0PT09InN0cmluZyI/KHI9cG4oZSkpPyhlPXIsd2UpOiR0OmUgaW5zdGFuY2VvZiBwbj93ZTplIGluc3RhbmNlb2YgRGF0ZT9VdDpDdChlKT9UdDpBcnJheS5pc0FycmF5KGUpP050OnR5cGVvZiBlLnZhbHVlT2YhPSJmdW5jdGlvbiImJnR5cGVvZiBlLnRvU3RyaW5nIT0iZnVuY3Rpb24ifHxpc05hTihlKT9EdDokbikobixlKX1mdW5jdGlvbiBGdChuLGUpe3JldHVybiBuPStuLGU9K2UsZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQobiooMS10KStlKnQpfX1mdW5jdGlvbiBIdChuKXtyZXR1cm4gTWF0aC5hYnMobj1NYXRoLnJvdW5kKG4pKT49MWUyMT9uLnRvTG9jYWxlU3RyaW5nKCJlbiIpLnJlcGxhY2UoLywvZywiIik6bi50b1N0cmluZygxMCl9ZnVuY3Rpb24gRm4obixlKXtpZigodD0obj1lP24udG9FeHBvbmVudGlhbChlLTEpOm4udG9FeHBvbmVudGlhbCgpKS5pbmRleE9mKCJlIikpPDApcmV0dXJuIG51bGw7dmFyIHQscj1uLnNsaWNlKDAsdCk7cmV0dXJuW3IubGVuZ3RoPjE/clswXStyLnNsaWNlKDIpOnIsK24uc2xpY2UodCsxKV19ZnVuY3Rpb24gb24obil7cmV0dXJuIG49Rm4oTWF0aC5hYnMobikpLG4/blsxXTpOYU59ZnVuY3Rpb24gTHQobixlKXtyZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIG89dC5sZW5ndGgsaT1bXSxhPTAsdT1uWzBdLGw9MDtvPjAmJnU+MCYmKGwrdSsxPnImJih1PU1hdGgubWF4KDEsci1sKSksaS5wdXNoKHQuc3Vic3RyaW5nKG8tPXUsbyt1KSksISgobCs9dSsxKT5yKSk7KXU9blthPShhKzEpJW4ubGVuZ3RoXTtyZXR1cm4gaS5yZXZlcnNlKCkuam9pbihlKX19ZnVuY3Rpb24gUHQobil7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoL1swLTldL2csZnVuY3Rpb24odCl7cmV0dXJuIG5bK3RdfSl9fXZhciBZdD0vXig/OiguKT8oWzw+PV5dKSk/KFsrXC0oIF0pPyhbJCNdKT8oMCk/KFxkKyk/KCwpPyhcLlxkKyk/KH4pPyhbYS16JV0pPyQvaTtmdW5jdGlvbiBIbihuKXtpZighKGU9WXQuZXhlYyhuKSkpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGZvcm1hdDogIituKTt2YXIgZTtyZXR1cm4gbmV3IFhuKHtmaWxsOmVbMV0sYWxpZ246ZVsyXSxzaWduOmVbM10sc3ltYm9sOmVbNF0semVybzplWzVdLHdpZHRoOmVbNl0sY29tbWE6ZVs3XSxwcmVjaXNpb246ZVs4XSYmZVs4XS5zbGljZSgxKSx0cmltOmVbOV0sdHlwZTplWzEwXX0pfUhuLnByb3RvdHlwZT1Ybi5wcm90b3R5cGU7ZnVuY3Rpb24gWG4obil7dGhpcy5maWxsPW4uZmlsbD09PXZvaWQgMD8iICI6bi5maWxsKyIiLHRoaXMuYWxpZ249bi5hbGlnbj09PXZvaWQgMD8iPiI6bi5hbGlnbisiIix0aGlzLnNpZ249bi5zaWduPT09dm9pZCAwPyItIjpuLnNpZ24rIiIsdGhpcy5zeW1ib2w9bi5zeW1ib2w9PT12b2lkIDA/IiI6bi5zeW1ib2wrIiIsdGhpcy56ZXJvPSEhbi56ZXJvLHRoaXMud2lkdGg9bi53aWR0aD09PXZvaWQgMD92b2lkIDA6K24ud2lkdGgsdGhpcy5jb21tYT0hIW4uY29tbWEsdGhpcy5wcmVjaXNpb249bi5wcmVjaXNpb249PT12b2lkIDA/dm9pZCAwOituLnByZWNpc2lvbix0aGlzLnRyaW09ISFuLnRyaW0sdGhpcy50eXBlPW4udHlwZT09PXZvaWQgMD8iIjpuLnR5cGUrIiJ9WG4ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlsbCt0aGlzLmFsaWduK3RoaXMuc2lnbit0aGlzLnN5bWJvbCsodGhpcy56ZXJvPyIwIjoiIikrKHRoaXMud2lkdGg9PT12b2lkIDA/IiI6TWF0aC5tYXgoMSx0aGlzLndpZHRofDApKSsodGhpcy5jb21tYT8iLCI6IiIpKyh0aGlzLnByZWNpc2lvbj09PXZvaWQgMD8iIjoiLiIrTWF0aC5tYXgoMCx0aGlzLnByZWNpc2lvbnwwKSkrKHRoaXMudHJpbT8ifiI6IiIpK3RoaXMudHlwZX07ZnVuY3Rpb24gV3Qobil7bjpmb3IodmFyIGU9bi5sZW5ndGgsdD0xLHI9LTEsbzt0PGU7Kyt0KXN3aXRjaChuW3RdKXtjYXNlIi4iOnI9bz10O2JyZWFrO2Nhc2UiMCI6cj09PTAmJihyPXQpLG89dDticmVhaztkZWZhdWx0OmlmKCErblt0XSlicmVhayBuO3I+MCYmKHI9MCk7YnJlYWt9cmV0dXJuIHI+MD9uLnNsaWNlKDAscikrbi5zbGljZShvKzEpOm59dmFyIE1lO2Z1bmN0aW9uIEF0KG4sZSl7dmFyIHQ9Rm4obixlKTtpZighdClyZXR1cm4gbisiIjt2YXIgcj10WzBdLG89dFsxXSxpPW8tKE1lPU1hdGgubWF4KC04LE1hdGgubWluKDgsTWF0aC5mbG9vcihvLzMpKSkqMykrMSxhPXIubGVuZ3RoO3JldHVybiBpPT09YT9yOmk+YT9yK25ldyBBcnJheShpLWErMSkuam9pbigiMCIpOmk+MD9yLnNsaWNlKDAsaSkrIi4iK3Iuc2xpY2UoaSk6IjAuIituZXcgQXJyYXkoMS1pKS5qb2luKCIwIikrRm4obixNYXRoLm1heCgwLGUraS0xKSlbMF19ZnVuY3Rpb24gYmUobixlKXt2YXIgdD1GbihuLGUpO2lmKCF0KXJldHVybiBuKyIiO3ZhciByPXRbMF0sbz10WzFdO3JldHVybiBvPDA/IjAuIituZXcgQXJyYXkoLW8pLmpvaW4oIjAiKStyOnIubGVuZ3RoPm8rMT9yLnNsaWNlKDAsbysxKSsiLiIrci5zbGljZShvKzEpOnIrbmV3IEFycmF5KG8tci5sZW5ndGgrMikuam9pbigiMCIpfXZhciB2ZT17IiUiOihuLGUpPT4obioxMDApLnRvRml4ZWQoZSksYjpuPT5NYXRoLnJvdW5kKG4pLnRvU3RyaW5nKDIpLGM6bj0+bisiIixkOkh0LGU6KG4sZSk9Pm4udG9FeHBvbmVudGlhbChlKSxmOihuLGUpPT5uLnRvRml4ZWQoZSksZzoobixlKT0+bi50b1ByZWNpc2lvbihlKSxvOm49Pk1hdGgucm91bmQobikudG9TdHJpbmcoOCkscDoobixlKT0+YmUobioxMDAsZSkscjpiZSxzOkF0LFg6bj0+TWF0aC5yb3VuZChuKS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSx4Om49Pk1hdGgucm91bmQobikudG9TdHJpbmcoMTYpfTtmdW5jdGlvbiBUZShuKXtyZXR1cm4gbn12YXIgQ2U9QXJyYXkucHJvdG90eXBlLm1hcCxOZT1bInkiLCJ6IiwiYSIsImYiLCJwIiwibiIsIsK1IiwibSIsIiIsImsiLCJNIiwiRyIsIlQiLCJQIiwiRSIsIloiLCJZIl07ZnVuY3Rpb24gUnQobil7dmFyIGU9bi5ncm91cGluZz09PXZvaWQgMHx8bi50aG91c2FuZHM9PT12b2lkIDA/VGU6THQoQ2UuY2FsbChuLmdyb3VwaW5nLE51bWJlciksbi50aG91c2FuZHMrIiIpLHQ9bi5jdXJyZW5jeT09PXZvaWQgMD8iIjpuLmN1cnJlbmN5WzBdKyIiLHI9bi5jdXJyZW5jeT09PXZvaWQgMD8iIjpuLmN1cnJlbmN5WzFdKyIiLG89bi5kZWNpbWFsPT09dm9pZCAwPyIuIjpuLmRlY2ltYWwrIiIsaT1uLm51bWVyYWxzPT09dm9pZCAwP1RlOlB0KENlLmNhbGwobi5udW1lcmFscyxTdHJpbmcpKSxhPW4ucGVyY2VudD09PXZvaWQgMD8iJSI6bi5wZXJjZW50KyIiLHU9bi5taW51cz09PXZvaWQgMD8i4oiSIjpuLm1pbnVzKyIiLGw9bi5uYW49PT12b2lkIDA/Ik5hTiI6bi5uYW4rIiI7ZnVuY3Rpb24gZihtKXttPUhuKG0pO3ZhciBwPW0uZmlsbCxEPW0uYWxpZ24saz1tLnNpZ24sUj1tLnN5bWJvbCxZPW0uemVybyxxPW0ud2lkdGgsRT1tLmNvbW1hLCQ9bS5wcmVjaXNpb24sVz1tLnRyaW0saD1tLnR5cGU7aD09PSJuIj8oRT0hMCxoPSJnIik6dmVbaF18fCgkPT09dm9pZCAwJiYoJD0xMiksVz0hMCxoPSJnIiksKFl8fHA9PT0iMCImJkQ9PT0iPSIpJiYoWT0hMCxwPSIwIixEPSI9Iik7dmFyIGM9Uj09PSIkIj90OlI9PT0iIyImJi9bYm94WF0vLnRlc3QoaCk/IjAiK2gudG9Mb3dlckNhc2UoKToiIix4PVI9PT0iJCI/cjovWyVwXS8udGVzdChoKT9hOiIiLHc9dmVbaF0sTj0vW2RlZmdwcnMlXS8udGVzdChoKTskPSQ9PT12b2lkIDA/NjovW2dwcnNdLy50ZXN0KGgpP01hdGgubWF4KDEsTWF0aC5taW4oMjEsJCkpOk1hdGgubWF4KDAsTWF0aC5taW4oMjAsJCkpO2Z1bmN0aW9uIHYoeSl7dmFyIEM9YyxTPXgsRixsbixobjtpZihoPT09ImMiKVM9dyh5KStTLHk9IiI7ZWxzZXt5PSt5O3ZhciBnbj15PDB8fDEveTwwO2lmKHk9aXNOYU4oeSk/bDp3KE1hdGguYWJzKHkpLCQpLFcmJih5PVd0KHkpKSxnbiYmK3k9PTAmJmshPT0iKyImJihnbj0hMSksQz0oZ24/az09PSIoIj9rOnU6az09PSItInx8az09PSIoIj8iIjprKStDLFM9KGg9PT0icyI/TmVbOCtNZS8zXToiIikrUysoZ24mJms9PT0iKCI/IikiOiIiKSxOKXtmb3IoRj0tMSxsbj15Lmxlbmd0aDsrK0Y8bG47KWlmKGhuPXkuY2hhckNvZGVBdChGKSw0OD5obnx8aG4+NTcpe1M9KGhuPT09NDY/byt5LnNsaWNlKEYrMSk6eS5zbGljZShGKSkrUyx5PXkuc2xpY2UoMCxGKTticmVha319fUUmJiFZJiYoeT1lKHksMS8wKSk7dmFyIG1uPUMubGVuZ3RoK3kubGVuZ3RoK1MubGVuZ3RoLGo9bW48cT9uZXcgQXJyYXkocS1tbisxKS5qb2luKHApOiIiO3N3aXRjaChFJiZZJiYoeT1lKGoreSxqLmxlbmd0aD9xLVMubGVuZ3RoOjEvMCksaj0iIiksRCl7Y2FzZSI8Ijp5PUMreStTK2o7YnJlYWs7Y2FzZSI9Ijp5PUMrait5K1M7YnJlYWs7Y2FzZSJeIjp5PWouc2xpY2UoMCxtbj1qLmxlbmd0aD4+MSkrQyt5K1Mrai5zbGljZShtbik7YnJlYWs7ZGVmYXVsdDp5PWorQyt5K1M7YnJlYWt9cmV0dXJuIGkoeSl9cmV0dXJuIHYudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gbSsiIn0sdn1mdW5jdGlvbiBnKG0scCl7dmFyIEQ9ZigobT1IbihtKSxtLnR5cGU9ImYiLG0pKSxrPU1hdGgubWF4KC04LE1hdGgubWluKDgsTWF0aC5mbG9vcihvbihwKS8zKSkpKjMsUj1NYXRoLnBvdygxMCwtayksWT1OZVs4K2svM107cmV0dXJuIGZ1bmN0aW9uKHEpe3JldHVybiBEKFIqcSkrWX19cmV0dXJue2Zvcm1hdDpmLGZvcm1hdFByZWZpeDpnfX12YXIgTG4sVWUsRGU7SXQoe3Rob3VzYW5kczoiLCIsZ3JvdXBpbmc6WzNdLGN1cnJlbmN5OlsiJCIsIiJdfSk7ZnVuY3Rpb24gSXQobil7cmV0dXJuIExuPVJ0KG4pLFVlPUxuLmZvcm1hdCxEZT1Mbi5mb3JtYXRQcmVmaXgsTG59ZnVuY3Rpb24gT3Qobil7cmV0dXJuIE1hdGgubWF4KDAsLW9uKE1hdGguYWJzKG4pKSl9ZnVuY3Rpb24genQobixlKXtyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLm1heCgtOCxNYXRoLm1pbig4LE1hdGguZmxvb3Iob24oZSkvMykpKSozLW9uKE1hdGguYWJzKG4pKSl9ZnVuY3Rpb24gRXQobixlKXtyZXR1cm4gbj1NYXRoLmFicyhuKSxlPU1hdGguYWJzKGUpLW4sTWF0aC5tYXgoMCxvbihlKS1vbihuKSkrMX1mdW5jdGlvbiBrZShuLGUpe3N3aXRjaChhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnRoaXMucmFuZ2Uobik7YnJlYWs7ZGVmYXVsdDp0aGlzLnJhbmdlKGUpLmRvbWFpbihuKTticmVha31yZXR1cm4gdGhpc31mdW5jdGlvbiBfdChuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbn19ZnVuY3Rpb24gcXQobil7cmV0dXJuK259dmFyIFNlPVswLDFdO2Z1bmN0aW9uIGFuKG4pe3JldHVybiBufWZ1bmN0aW9uIEJuKG4sZSl7cmV0dXJuKGUtPW49K24pP2Z1bmN0aW9uKHQpe3JldHVybih0LW4pL2V9Ol90KGlzTmFOKGUpP05hTjouNSl9ZnVuY3Rpb24ganQobixlKXt2YXIgdDtyZXR1cm4gbj5lJiYodD1uLG49ZSxlPXQpLGZ1bmN0aW9uKHIpe3JldHVybiBNYXRoLm1heChuLE1hdGgubWluKGUscikpfX1mdW5jdGlvbiBadChuLGUsdCl7dmFyIHI9blswXSxvPW5bMV0saT1lWzBdLGE9ZVsxXTtyZXR1cm4gbzxyPyhyPUJuKG8sciksaT10KGEsaSkpOihyPUJuKHIsbyksaT10KGksYSkpLGZ1bmN0aW9uKHUpe3JldHVybiBpKHIodSkpfX1mdW5jdGlvbiBWdChuLGUsdCl7dmFyIHI9TWF0aC5taW4obi5sZW5ndGgsZS5sZW5ndGgpLTEsbz1uZXcgQXJyYXkociksaT1uZXcgQXJyYXkociksYT0tMTtmb3IobltyXTxuWzBdJiYobj1uLnNsaWNlKCkucmV2ZXJzZSgpLGU9ZS5zbGljZSgpLnJldmVyc2UoKSk7KythPHI7KW9bYV09Qm4oblthXSxuW2ErMV0pLGlbYV09dChlW2FdLGVbYSsxXSk7cmV0dXJuIGZ1bmN0aW9uKHUpe3ZhciBsPXJ0KG4sdSwxLHIpLTE7cmV0dXJuIGlbbF0ob1tsXSh1KSl9fWZ1bmN0aW9uICRlKG4sZSl7cmV0dXJuIGUuZG9tYWluKG4uZG9tYWluKCkpLnJhbmdlKG4ucmFuZ2UoKSkuaW50ZXJwb2xhdGUobi5pbnRlcnBvbGF0ZSgpKS5jbGFtcChuLmNsYW1wKCkpLnVua25vd24obi51bmtub3duKCkpfWZ1bmN0aW9uIFh0KCl7dmFyIG49U2UsZT1TZSx0PVZuLHIsbyxpLGE9YW4sdSxsLGY7ZnVuY3Rpb24gZygpe3ZhciBwPU1hdGgubWluKG4ubGVuZ3RoLGUubGVuZ3RoKTtyZXR1cm4gYSE9PWFuJiYoYT1qdChuWzBdLG5bcC0xXSkpLHU9cD4yP1Z0Olp0LGw9Zj1udWxsLG19ZnVuY3Rpb24gbShwKXtyZXR1cm4gcD09bnVsbHx8aXNOYU4ocD0rcCk/aToobHx8KGw9dShuLm1hcChyKSxlLHQpKSkocihhKHApKSl9cmV0dXJuIG0uaW52ZXJ0PWZ1bmN0aW9uKHApe3JldHVybiBhKG8oKGZ8fChmPXUoZSxuLm1hcChyKSwkbikpKShwKSkpfSxtLmRvbWFpbj1mdW5jdGlvbihwKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1BcnJheS5mcm9tKHAscXQpLGcoKSk6bi5zbGljZSgpfSxtLnJhbmdlPWZ1bmN0aW9uKHApe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPUFycmF5LmZyb20ocCksZygpKTplLnNsaWNlKCl9LG0ucmFuZ2VSb3VuZD1mdW5jdGlvbihwKXtyZXR1cm4gZT1BcnJheS5mcm9tKHApLHQ9RnQsZygpfSxtLmNsYW1wPWZ1bmN0aW9uKHApe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXA/ITA6YW4sZygpKTphIT09YW59LG0uaW50ZXJwb2xhdGU9ZnVuY3Rpb24ocCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9cCxnKCkpOnR9LG0udW5rbm93bj1mdW5jdGlvbihwKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT1wLG0pOml9LGZ1bmN0aW9uKHAsRCl7cmV0dXJuIHI9cCxvPUQsZygpfX1mdW5jdGlvbiBGZSgpe3JldHVybiBYdCgpKGFuLGFuKX1mdW5jdGlvbiBCdChuLGUsdCxyKXt2YXIgbz1PbihuLGUsdCksaTtzd2l0Y2gocj1IbihyPz8iLGYiKSxyLnR5cGUpe2Nhc2UicyI6e3ZhciBhPU1hdGgubWF4KE1hdGguYWJzKG4pLE1hdGguYWJzKGUpKTtyZXR1cm4gci5wcmVjaXNpb249PW51bGwmJiFpc05hTihpPXp0KG8sYSkpJiYoci5wcmVjaXNpb249aSksRGUocixhKX1jYXNlIiI6Y2FzZSJlIjpjYXNlImciOmNhc2UicCI6Y2FzZSJyIjp7ci5wcmVjaXNpb249PW51bGwmJiFpc05hTihpPUV0KG8sTWF0aC5tYXgoTWF0aC5hYnMobiksTWF0aC5hYnMoZSkpKSkmJihyLnByZWNpc2lvbj1pLShyLnR5cGU9PT0iZSIpKTticmVha31jYXNlImYiOmNhc2UiJSI6e3IucHJlY2lzaW9uPT1udWxsJiYhaXNOYU4oaT1PdChvKSkmJihyLnByZWNpc2lvbj1pLShyLnR5cGU9PT0iJSIpKjIpO2JyZWFrfX1yZXR1cm4gVWUocil9ZnVuY3Rpb24gUXQobil7dmFyIGU9bi5kb21haW47cmV0dXJuIG4udGlja3M9ZnVuY3Rpb24odCl7dmFyIHI9ZSgpO3JldHVybiB1dChyWzBdLHJbci5sZW5ndGgtMV0sdD8/MTApfSxuLnRpY2tGb3JtYXQ9ZnVuY3Rpb24odCxyKXt2YXIgbz1lKCk7cmV0dXJuIEJ0KG9bMF0sb1tvLmxlbmd0aC0xXSx0Pz8xMCxyKX0sbi5uaWNlPWZ1bmN0aW9uKHQpe3Q9PW51bGwmJih0PTEwKTt2YXIgcj1lKCksbz0wLGk9ci5sZW5ndGgtMSxhPXJbb10sdT1yW2ldLGwsZixnPTEwO2Zvcih1PGEmJihmPWEsYT11LHU9ZixmPW8sbz1pLGk9Zik7Zy0tID4wOyl7aWYoZj1JbihhLHUsdCksZj09PWwpcmV0dXJuIHJbb109YSxyW2ldPXUsZShyKTtpZihmPjApYT1NYXRoLmZsb29yKGEvZikqZix1PU1hdGguY2VpbCh1L2YpKmY7ZWxzZSBpZihmPDApYT1NYXRoLmNlaWwoYSpmKS9mLHU9TWF0aC5mbG9vcih1KmYpL2Y7ZWxzZSBicmVhaztsPWZ9cmV0dXJuIG59LG59ZnVuY3Rpb24gSGUoKXt2YXIgbj1GZSgpO3JldHVybiBuLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gJGUobixIZSgpKX0sa2UuYXBwbHkobixhcmd1bWVudHMpLFF0KG4pfWZ1bmN0aW9uIEd0KG4sZSl7bj1uLnNsaWNlKCk7dmFyIHQ9MCxyPW4ubGVuZ3RoLTEsbz1uW3RdLGk9bltyXSxhO3JldHVybiBpPG8mJihhPXQsdD1yLHI9YSxhPW8sbz1pLGk9YSksblt0XT1lLmZsb29yKG8pLG5bcl09ZS5jZWlsKGkpLG59Y29uc3QgUW49bmV3IERhdGUsR249bmV3IERhdGU7ZnVuY3Rpb24gSChuLGUsdCxyKXtmdW5jdGlvbiBvKGkpe3JldHVybiBuKGk9YXJndW1lbnRzLmxlbmd0aD09PTA/bmV3IERhdGU6bmV3IERhdGUoK2kpKSxpfXJldHVybiBvLmZsb29yPWk9PihuKGk9bmV3IERhdGUoK2kpKSxpKSxvLmNlaWw9aT0+KG4oaT1uZXcgRGF0ZShpLTEpKSxlKGksMSksbihpKSxpKSxvLnJvdW5kPWk9Pntjb25zdCBhPW8oaSksdT1vLmNlaWwoaSk7cmV0dXJuIGktYTx1LWk/YTp1fSxvLm9mZnNldD0oaSxhKT0+KGUoaT1uZXcgRGF0ZSgraSksYT09bnVsbD8xOk1hdGguZmxvb3IoYSkpLGkpLG8ucmFuZ2U9KGksYSx1KT0+e2NvbnN0IGw9W107aWYoaT1vLmNlaWwoaSksdT11PT1udWxsPzE6TWF0aC5mbG9vcih1KSwhKGk8YSl8fCEodT4wKSlyZXR1cm4gbDtsZXQgZjtkbyBsLnB1c2goZj1uZXcgRGF0ZSgraSkpLGUoaSx1KSxuKGkpO3doaWxlKGY8aSYmaTxhKTtyZXR1cm4gbH0sby5maWx0ZXI9aT0+SChhPT57aWYoYT49YSlmb3IoO24oYSksIWkoYSk7KWEuc2V0VGltZShhLTEpfSwoYSx1KT0+e2lmKGE+PWEpaWYodTwwKWZvcig7Kyt1PD0wOylmb3IoO2UoYSwtMSksIWkoYSk7KTtlbHNlIGZvcig7LS11Pj0wOylmb3IoO2UoYSwxKSwhaShhKTspO30pLHQmJihvLmNvdW50PShpLGEpPT4oUW4uc2V0VGltZSgraSksR24uc2V0VGltZSgrYSksbihRbiksbihHbiksTWF0aC5mbG9vcih0KFFuLEduKSkpLG8uZXZlcnk9aT0+KGk9TWF0aC5mbG9vcihpKSwhaXNGaW5pdGUoaSl8fCEoaT4wKT9udWxsOmk+MT9vLmZpbHRlcihyP2E9PnIoYSklaT09PTA6YT0+by5jb3VudCgwLGEpJWk9PT0wKTpvKSksb31jb25zdCBQbj1IKCgpPT57fSwobixlKT0+e24uc2V0VGltZSgrbitlKX0sKG4sZSk9PmUtbik7UG4uZXZlcnk9bj0+KG49TWF0aC5mbG9vcihuKSwhaXNGaW5pdGUobil8fCEobj4wKT9udWxsOm4+MT9IKGU9PntlLnNldFRpbWUoTWF0aC5mbG9vcihlL24pKm4pfSwoZSx0KT0+e2Uuc2V0VGltZSgrZSt0Km4pfSwoZSx0KT0+KHQtZSkvbik6UG4pLFBuLnJhbmdlO2NvbnN0IFY9MWUzLHo9Vio2MCxYPXoqNjAsQj1YKjI0LEpuPUIqNyxMZT1CKjMwLEtuPUIqMzY1LHVuPUgobj0+e24uc2V0VGltZShuLW4uZ2V0TWlsbGlzZWNvbmRzKCkpfSwobixlKT0+e24uc2V0VGltZSgrbitlKlYpfSwobixlKT0+KGUtbikvVixuPT5uLmdldFVUQ1NlY29uZHMoKSk7dW4ucmFuZ2U7Y29uc3QgbmU9SChuPT57bi5zZXRUaW1lKG4tbi5nZXRNaWxsaXNlY29uZHMoKS1uLmdldFNlY29uZHMoKSpWKX0sKG4sZSk9PntuLnNldFRpbWUoK24rZSp6KX0sKG4sZSk9PihlLW4pL3osbj0+bi5nZXRNaW51dGVzKCkpO25lLnJhbmdlLEgobj0+e24uc2V0VVRDU2Vjb25kcygwLDApfSwobixlKT0+e24uc2V0VGltZSgrbitlKnopfSwobixlKT0+KGUtbikveixuPT5uLmdldFVUQ01pbnV0ZXMoKSkucmFuZ2U7Y29uc3QgZWU9SChuPT57bi5zZXRUaW1lKG4tbi5nZXRNaWxsaXNlY29uZHMoKS1uLmdldFNlY29uZHMoKSpWLW4uZ2V0TWludXRlcygpKnopfSwobixlKT0+e24uc2V0VGltZSgrbitlKlgpfSwobixlKT0+KGUtbikvWCxuPT5uLmdldEhvdXJzKCkpO2VlLnJhbmdlLEgobj0+e24uc2V0VVRDTWludXRlcygwLDAsMCl9LChuLGUpPT57bi5zZXRUaW1lKCtuK2UqWCl9LChuLGUpPT4oZS1uKS9YLG49Pm4uZ2V0VVRDSG91cnMoKSkucmFuZ2U7Y29uc3Qgd249SChuPT5uLnNldEhvdXJzKDAsMCwwLDApLChuLGUpPT5uLnNldERhdGUobi5nZXREYXRlKCkrZSksKG4sZSk9PihlLW4tKGUuZ2V0VGltZXpvbmVPZmZzZXQoKS1uLmdldFRpbWV6b25lT2Zmc2V0KCkpKnopL0Isbj0+bi5nZXREYXRlKCktMSk7d24ucmFuZ2U7Y29uc3QgdGU9SChuPT57bi5zZXRVVENIb3VycygwLDAsMCwwKX0sKG4sZSk9PntuLnNldFVUQ0RhdGUobi5nZXRVVENEYXRlKCkrZSl9LChuLGUpPT4oZS1uKS9CLG49Pm4uZ2V0VVRDRGF0ZSgpLTEpO3RlLnJhbmdlLEgobj0+e24uc2V0VVRDSG91cnMoMCwwLDAsMCl9LChuLGUpPT57bi5zZXRVVENEYXRlKG4uZ2V0VVRDRGF0ZSgpK2UpfSwobixlKT0+KGUtbikvQixuPT5NYXRoLmZsb29yKG4vQikpLnJhbmdlO2Z1bmN0aW9uIEsobil7cmV0dXJuIEgoZT0+e2Uuc2V0RGF0ZShlLmdldERhdGUoKS0oZS5nZXREYXkoKSs3LW4pJTcpLGUuc2V0SG91cnMoMCwwLDAsMCl9LChlLHQpPT57ZS5zZXREYXRlKGUuZ2V0RGF0ZSgpK3QqNyl9LChlLHQpPT4odC1lLSh0LmdldFRpbWV6b25lT2Zmc2V0KCktZS5nZXRUaW1lem9uZU9mZnNldCgpKSp6KS9Kbil9Y29uc3QgWW49SygwKSxXbj1LKDEpLEp0PUsoMiksS3Q9SygzKSxmbj1LKDQpLG5yPUsoNSksZXI9Syg2KTtZbi5yYW5nZSxXbi5yYW5nZSxKdC5yYW5nZSxLdC5yYW5nZSxmbi5yYW5nZSxuci5yYW5nZSxlci5yYW5nZTtmdW5jdGlvbiBubihuKXtyZXR1cm4gSChlPT57ZS5zZXRVVENEYXRlKGUuZ2V0VVRDRGF0ZSgpLShlLmdldFVUQ0RheSgpKzctbiklNyksZS5zZXRVVENIb3VycygwLDAsMCwwKX0sKGUsdCk9PntlLnNldFVUQ0RhdGUoZS5nZXRVVENEYXRlKCkrdCo3KX0sKGUsdCk9Pih0LWUpL0puKX1jb25zdCBQZT1ubigwKSxBbj1ubigxKSx0cj1ubigyKSxycj1ubigzKSxjbj1ubig0KSxvcj1ubig1KSxpcj1ubig2KTtQZS5yYW5nZSxBbi5yYW5nZSx0ci5yYW5nZSxyci5yYW5nZSxjbi5yYW5nZSxvci5yYW5nZSxpci5yYW5nZTtjb25zdCByZT1IKG49PntuLnNldERhdGUoMSksbi5zZXRIb3VycygwLDAsMCwwKX0sKG4sZSk9PntuLnNldE1vbnRoKG4uZ2V0TW9udGgoKStlKX0sKG4sZSk9PmUuZ2V0TW9udGgoKS1uLmdldE1vbnRoKCkrKGUuZ2V0RnVsbFllYXIoKS1uLmdldEZ1bGxZZWFyKCkpKjEyLG49Pm4uZ2V0TW9udGgoKSk7cmUucmFuZ2UsSChuPT57bi5zZXRVVENEYXRlKDEpLG4uc2V0VVRDSG91cnMoMCwwLDAsMCl9LChuLGUpPT57bi5zZXRVVENNb250aChuLmdldFVUQ01vbnRoKCkrZSl9LChuLGUpPT5lLmdldFVUQ01vbnRoKCktbi5nZXRVVENNb250aCgpKyhlLmdldFVUQ0Z1bGxZZWFyKCktbi5nZXRVVENGdWxsWWVhcigpKSoxMixuPT5uLmdldFVUQ01vbnRoKCkpLnJhbmdlO2NvbnN0IFE9SChuPT57bi5zZXRNb250aCgwLDEpLG4uc2V0SG91cnMoMCwwLDAsMCl9LChuLGUpPT57bi5zZXRGdWxsWWVhcihuLmdldEZ1bGxZZWFyKCkrZSl9LChuLGUpPT5lLmdldEZ1bGxZZWFyKCktbi5nZXRGdWxsWWVhcigpLG49Pm4uZ2V0RnVsbFllYXIoKSk7US5ldmVyeT1uPT4haXNGaW5pdGUobj1NYXRoLmZsb29yKG4pKXx8IShuPjApP251bGw6SChlPT57ZS5zZXRGdWxsWWVhcihNYXRoLmZsb29yKGUuZ2V0RnVsbFllYXIoKS9uKSpuKSxlLnNldE1vbnRoKDAsMSksZS5zZXRIb3VycygwLDAsMCwwKX0sKGUsdCk9PntlLnNldEZ1bGxZZWFyKGUuZ2V0RnVsbFllYXIoKSt0Km4pfSksUS5yYW5nZTtjb25zdCBlbj1IKG49PntuLnNldFVUQ01vbnRoKDAsMSksbi5zZXRVVENIb3VycygwLDAsMCwwKX0sKG4sZSk9PntuLnNldFVUQ0Z1bGxZZWFyKG4uZ2V0VVRDRnVsbFllYXIoKStlKX0sKG4sZSk9PmUuZ2V0VVRDRnVsbFllYXIoKS1uLmdldFVUQ0Z1bGxZZWFyKCksbj0+bi5nZXRVVENGdWxsWWVhcigpKTtlbi5ldmVyeT1uPT4haXNGaW5pdGUobj1NYXRoLmZsb29yKG4pKXx8IShuPjApP251bGw6SChlPT57ZS5zZXRVVENGdWxsWWVhcihNYXRoLmZsb29yKGUuZ2V0VVRDRnVsbFllYXIoKS9uKSpuKSxlLnNldFVUQ01vbnRoKDAsMSksZS5zZXRVVENIb3VycygwLDAsMCwwKX0sKGUsdCk9PntlLnNldFVUQ0Z1bGxZZWFyKGUuZ2V0VVRDRnVsbFllYXIoKSt0Km4pfSksZW4ucmFuZ2U7ZnVuY3Rpb24gYXIobixlLHQscixvLGkpe2NvbnN0IGE9W1t1biwxLFZdLFt1biw1LDUqVl0sW3VuLDE1LDE1KlZdLFt1biwzMCwzMCpWXSxbaSwxLHpdLFtpLDUsNSp6XSxbaSwxNSwxNSp6XSxbaSwzMCwzMCp6XSxbbywxLFhdLFtvLDMsMypYXSxbbyw2LDYqWF0sW28sMTIsMTIqWF0sW3IsMSxCXSxbciwyLDIqQl0sW3QsMSxKbl0sW2UsMSxMZV0sW2UsMywzKkxlXSxbbiwxLEtuXV07ZnVuY3Rpb24gdShmLGcsbSl7Y29uc3QgcD1nPGY7cCYmKFtmLGddPVtnLGZdKTtjb25zdCBEPW0mJnR5cGVvZiBtLnJhbmdlPT0iZnVuY3Rpb24iP206bChmLGcsbSksaz1EP0QucmFuZ2UoZiwrZysxKTpbXTtyZXR1cm4gcD9rLnJldmVyc2UoKTprfWZ1bmN0aW9uIGwoZixnLG0pe2NvbnN0IHA9TWF0aC5hYnMoZy1mKS9tLEQ9Um4oKFssLFldKT0+WSkucmlnaHQoYSxwKTtpZihEPT09YS5sZW5ndGgpcmV0dXJuIG4uZXZlcnkoT24oZi9LbixnL0tuLG0pKTtpZihEPT09MClyZXR1cm4gUG4uZXZlcnkoTWF0aC5tYXgoT24oZixnLG0pLDEpKTtjb25zdFtrLFJdPWFbcC9hW0QtMV1bMl08YVtEXVsyXS9wP0QtMTpEXTtyZXR1cm4gay5ldmVyeShSKX1yZXR1cm5bdSxsXX1jb25zdFt1cixmcl09YXIoUSxyZSxZbix3bixlZSxuZSk7ZnVuY3Rpb24gb2Uobil7aWYoMDw9bi55JiZuLnk8MTAwKXt2YXIgZT1uZXcgRGF0ZSgtMSxuLm0sbi5kLG4uSCxuLk0sbi5TLG4uTCk7cmV0dXJuIGUuc2V0RnVsbFllYXIobi55KSxlfXJldHVybiBuZXcgRGF0ZShuLnksbi5tLG4uZCxuLkgsbi5NLG4uUyxuLkwpfWZ1bmN0aW9uIGllKG4pe2lmKDA8PW4ueSYmbi55PDEwMCl7dmFyIGU9bmV3IERhdGUoRGF0ZS5VVEMoLTEsbi5tLG4uZCxuLkgsbi5NLG4uUyxuLkwpKTtyZXR1cm4gZS5zZXRVVENGdWxsWWVhcihuLnkpLGV9cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKG4ueSxuLm0sbi5kLG4uSCxuLk0sbi5TLG4uTCkpfWZ1bmN0aW9uIE1uKG4sZSx0KXtyZXR1cm57eTpuLG06ZSxkOnQsSDowLE06MCxTOjAsTDowfX1mdW5jdGlvbiBjcihuKXt2YXIgZT1uLmRhdGVUaW1lLHQ9bi5kYXRlLHI9bi50aW1lLG89bi5wZXJpb2RzLGk9bi5kYXlzLGE9bi5zaG9ydERheXMsdT1uLm1vbnRocyxsPW4uc2hvcnRNb250aHMsZj1ibihvKSxnPXZuKG8pLG09Ym4oaSkscD12bihpKSxEPWJuKGEpLGs9dm4oYSksUj1ibih1KSxZPXZuKHUpLHE9Ym4obCksRT12bihsKSwkPXthOmduLEE6bW4sYjpqLEI6U28sYzpudWxsLGQ6T2UsZTpPZSxmOkhyLGc6RXIsRzpxcixIOlNyLEk6JHIsajpGcixMOnplLG06THIsTTpQcixwOiRvLHE6Rm8sUTpWZSxzOlhlLFM6WXIsdTpXcixVOkFyLFY6UnIsdzpJcixXOk9yLHg6bnVsbCxYOm51bGwseTp6cixZOl9yLFo6anIsIiUiOlplfSxXPXthOkhvLEE6TG8sYjpQbyxCOllvLGM6bnVsbCxkOl9lLGU6X2UsZjpCcixnOmlvLEc6dW8sSDpacixJOlZyLGo6WHIsTDpxZSxtOlFyLE06R3IscDpXbyxxOkFvLFE6VmUsczpYZSxTOkpyLHU6S3IsVTpubyxWOmVvLHc6dG8sVzpybyx4Om51bGwsWDpudWxsLHk6b28sWTphbyxaOmZvLCIlIjpaZX0saD17YTp2LEE6eSxiOkMsQjpTLGM6RixkOlJlLGU6UmUsZjpOcixnOkFlLEc6V2UsSDpJZSxJOkllLGo6YnIsTDpDcixtOk1yLE06dnIscDpOLHE6d3IsUTpEcixzOmtyLFM6VHIsdTptcixVOmRyLFY6eXIsdzpncixXOnhyLHg6bG4sWDpobix5OkFlLFk6V2UsWjpwciwiJSI6VXJ9OyQueD1jKHQsJCksJC5YPWMociwkKSwkLmM9YyhlLCQpLFcueD1jKHQsVyksVy5YPWMocixXKSxXLmM9YyhlLFcpO2Z1bmN0aW9uIGMoZCxNKXtyZXR1cm4gZnVuY3Rpb24oVCl7dmFyIHM9W10sQT0tMSxVPTAsST1kLmxlbmd0aCxPLHRuLEplO2ZvcihUIGluc3RhbmNlb2YgRGF0ZXx8KFQ9bmV3IERhdGUoK1QpKTsrK0E8STspZC5jaGFyQ29kZUF0KEEpPT09MzcmJihzLnB1c2goZC5zbGljZShVLEEpKSwodG49WWVbTz1kLmNoYXJBdCgrK0EpXSkhPW51bGw/Tz1kLmNoYXJBdCgrK0EpOnRuPU89PT0iZSI/IiAiOiIwIiwoSmU9TVtPXSkmJihPPUplKFQsdG4pKSxzLnB1c2goTyksVT1BKzEpO3JldHVybiBzLnB1c2goZC5zbGljZShVLEEpKSxzLmpvaW4oIiIpfX1mdW5jdGlvbiB4KGQsTSl7cmV0dXJuIGZ1bmN0aW9uKFQpe3ZhciBzPU1uKDE5MDAsdm9pZCAwLDEpLEE9dyhzLGQsVCs9IiIsMCksVSxJO2lmKEEhPVQubGVuZ3RoKXJldHVybiBudWxsO2lmKCJRImluIHMpcmV0dXJuIG5ldyBEYXRlKHMuUSk7aWYoInMiaW4gcylyZXR1cm4gbmV3IERhdGUocy5zKjFlMysoIkwiaW4gcz9zLkw6MCkpO2lmKE0mJiEoIloiaW4gcykmJihzLlo9MCksInAiaW4gcyYmKHMuSD1zLkglMTIrcy5wKjEyKSxzLm09PT12b2lkIDAmJihzLm09InEiaW4gcz9zLnE6MCksIlYiaW4gcyl7aWYocy5WPDF8fHMuVj41MylyZXR1cm4gbnVsbDsidyJpbiBzfHwocy53PTEpLCJaImluIHM/KFU9aWUoTW4ocy55LDAsMSkpLEk9VS5nZXRVVENEYXkoKSxVPUk+NHx8ST09PTA/QW4uY2VpbChVKTpBbihVKSxVPXRlLm9mZnNldChVLChzLlYtMSkqNykscy55PVUuZ2V0VVRDRnVsbFllYXIoKSxzLm09VS5nZXRVVENNb250aCgpLHMuZD1VLmdldFVUQ0RhdGUoKSsocy53KzYpJTcpOihVPW9lKE1uKHMueSwwLDEpKSxJPVUuZ2V0RGF5KCksVT1JPjR8fEk9PT0wP1duLmNlaWwoVSk6V24oVSksVT13bi5vZmZzZXQoVSwocy5WLTEpKjcpLHMueT1VLmdldEZ1bGxZZWFyKCkscy5tPVUuZ2V0TW9udGgoKSxzLmQ9VS5nZXREYXRlKCkrKHMudys2KSU3KX1lbHNlKCJXImluIHN8fCJVImluIHMpJiYoInciaW4gc3x8KHMudz0idSJpbiBzP3MudSU3OiJXImluIHM/MTowKSxJPSJaImluIHM/aWUoTW4ocy55LDAsMSkpLmdldFVUQ0RheSgpOm9lKE1uKHMueSwwLDEpKS5nZXREYXkoKSxzLm09MCxzLmQ9IlciaW4gcz8ocy53KzYpJTcrcy5XKjctKEkrNSklNzpzLncrcy5VKjctKEkrNiklNyk7cmV0dXJuIloiaW4gcz8ocy5IKz1zLlovMTAwfDAscy5NKz1zLlolMTAwLGllKHMpKTpvZShzKX19ZnVuY3Rpb24gdyhkLE0sVCxzKXtmb3IodmFyIEE9MCxVPU0ubGVuZ3RoLEk9VC5sZW5ndGgsTyx0bjtBPFU7KXtpZihzPj1JKXJldHVybi0xO2lmKE89TS5jaGFyQ29kZUF0KEErKyksTz09PTM3KXtpZihPPU0uY2hhckF0KEErKyksdG49aFtPIGluIFllP00uY2hhckF0KEErKyk6T10sIXRufHwocz10bihkLFQscykpPDApcmV0dXJuLTF9ZWxzZSBpZihPIT1ULmNoYXJDb2RlQXQocysrKSlyZXR1cm4tMX1yZXR1cm4gc31mdW5jdGlvbiBOKGQsTSxUKXt2YXIgcz1mLmV4ZWMoTS5zbGljZShUKSk7cmV0dXJuIHM/KGQucD1nLmdldChzWzBdLnRvTG93ZXJDYXNlKCkpLFQrc1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHYoZCxNLFQpe3ZhciBzPUQuZXhlYyhNLnNsaWNlKFQpKTtyZXR1cm4gcz8oZC53PWsuZ2V0KHNbMF0udG9Mb3dlckNhc2UoKSksVCtzWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24geShkLE0sVCl7dmFyIHM9bS5leGVjKE0uc2xpY2UoVCkpO3JldHVybiBzPyhkLnc9cC5nZXQoc1swXS50b0xvd2VyQ2FzZSgpKSxUK3NbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBDKGQsTSxUKXt2YXIgcz1xLmV4ZWMoTS5zbGljZShUKSk7cmV0dXJuIHM/KGQubT1FLmdldChzWzBdLnRvTG93ZXJDYXNlKCkpLFQrc1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIFMoZCxNLFQpe3ZhciBzPVIuZXhlYyhNLnNsaWNlKFQpKTtyZXR1cm4gcz8oZC5tPVkuZ2V0KHNbMF0udG9Mb3dlckNhc2UoKSksVCtzWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gRihkLE0sVCl7cmV0dXJuIHcoZCxlLE0sVCl9ZnVuY3Rpb24gbG4oZCxNLFQpe3JldHVybiB3KGQsdCxNLFQpfWZ1bmN0aW9uIGhuKGQsTSxUKXtyZXR1cm4gdyhkLHIsTSxUKX1mdW5jdGlvbiBnbihkKXtyZXR1cm4gYVtkLmdldERheSgpXX1mdW5jdGlvbiBtbihkKXtyZXR1cm4gaVtkLmdldERheSgpXX1mdW5jdGlvbiBqKGQpe3JldHVybiBsW2QuZ2V0TW9udGgoKV19ZnVuY3Rpb24gU28oZCl7cmV0dXJuIHVbZC5nZXRNb250aCgpXX1mdW5jdGlvbiAkbyhkKXtyZXR1cm4gb1srKGQuZ2V0SG91cnMoKT49MTIpXX1mdW5jdGlvbiBGbyhkKXtyZXR1cm4gMSt+fihkLmdldE1vbnRoKCkvMyl9ZnVuY3Rpb24gSG8oZCl7cmV0dXJuIGFbZC5nZXRVVENEYXkoKV19ZnVuY3Rpb24gTG8oZCl7cmV0dXJuIGlbZC5nZXRVVENEYXkoKV19ZnVuY3Rpb24gUG8oZCl7cmV0dXJuIGxbZC5nZXRVVENNb250aCgpXX1mdW5jdGlvbiBZbyhkKXtyZXR1cm4gdVtkLmdldFVUQ01vbnRoKCldfWZ1bmN0aW9uIFdvKGQpe3JldHVybiBvWysoZC5nZXRVVENIb3VycygpPj0xMildfWZ1bmN0aW9uIEFvKGQpe3JldHVybiAxK35+KGQuZ2V0VVRDTW9udGgoKS8zKX1yZXR1cm57Zm9ybWF0OmZ1bmN0aW9uKGQpe3ZhciBNPWMoZCs9IiIsJCk7cmV0dXJuIE0udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gZH0sTX0scGFyc2U6ZnVuY3Rpb24oZCl7dmFyIE09eChkKz0iIiwhMSk7cmV0dXJuIE0udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gZH0sTX0sdXRjRm9ybWF0OmZ1bmN0aW9uKGQpe3ZhciBNPWMoZCs9IiIsVyk7cmV0dXJuIE0udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gZH0sTX0sdXRjUGFyc2U6ZnVuY3Rpb24oZCl7dmFyIE09eChkKz0iIiwhMCk7cmV0dXJuIE0udG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gZH0sTX19fXZhciBZZT17Ii0iOiIiLF86IiAiLDA6IjAifSxMPS9eXHMqXGQrLyxzcj0vXiUvLGxyPS9bXFxeJCorP3xbXF0oKS57fV0vZztmdW5jdGlvbiBiKG4sZSx0KXt2YXIgcj1uPDA/Ii0iOiIiLG89KHI/LW46bikrIiIsaT1vLmxlbmd0aDtyZXR1cm4gcisoaTx0P25ldyBBcnJheSh0LWkrMSkuam9pbihlKStvOm8pfWZ1bmN0aW9uIGhyKG4pe3JldHVybiBuLnJlcGxhY2UobHIsIlxcJCYiKX1mdW5jdGlvbiBibihuKXtyZXR1cm4gbmV3IFJlZ0V4cCgiXig/OiIrbi5tYXAoaHIpLmpvaW4oInwiKSsiKSIsImkiKX1mdW5jdGlvbiB2bihuKXtyZXR1cm4gbmV3IE1hcChuLm1hcCgoZSx0KT0+W2UudG9Mb3dlckNhc2UoKSx0XSkpfWZ1bmN0aW9uIGdyKG4sZSx0KXt2YXIgcj1MLmV4ZWMoZS5zbGljZSh0LHQrMSkpO3JldHVybiByPyhuLnc9K3JbMF0sdCtyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gbXIobixlLHQpe3ZhciByPUwuZXhlYyhlLnNsaWNlKHQsdCsxKSk7cmV0dXJuIHI/KG4udT0rclswXSx0K3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBkcihuLGUsdCl7dmFyIHI9TC5leGVjKGUuc2xpY2UodCx0KzIpKTtyZXR1cm4gcj8obi5VPStyWzBdLHQrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHlyKG4sZSx0KXt2YXIgcj1MLmV4ZWMoZS5zbGljZSh0LHQrMikpO3JldHVybiByPyhuLlY9K3JbMF0sdCtyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24geHIobixlLHQpe3ZhciByPUwuZXhlYyhlLnNsaWNlKHQsdCsyKSk7cmV0dXJuIHI/KG4uVz0rclswXSx0K3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBXZShuLGUsdCl7dmFyIHI9TC5leGVjKGUuc2xpY2UodCx0KzQpKTtyZXR1cm4gcj8obi55PStyWzBdLHQrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIEFlKG4sZSx0KXt2YXIgcj1MLmV4ZWMoZS5zbGljZSh0LHQrMikpO3JldHVybiByPyhuLnk9K3JbMF0rKCtyWzBdPjY4PzE5MDA6MmUzKSx0K3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBwcihuLGUsdCl7dmFyIHI9L14oWil8KFsrLV1cZFxkKSg/Ojo/KFxkXGQpKT8vLmV4ZWMoZS5zbGljZSh0LHQrNikpO3JldHVybiByPyhuLlo9clsxXT8wOi0oclsyXSsoclszXXx8IjAwIikpLHQrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHdyKG4sZSx0KXt2YXIgcj1MLmV4ZWMoZS5zbGljZSh0LHQrMSkpO3JldHVybiByPyhuLnE9clswXSozLTMsdCtyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gTXIobixlLHQpe3ZhciByPUwuZXhlYyhlLnNsaWNlKHQsdCsyKSk7cmV0dXJuIHI/KG4ubT1yWzBdLTEsdCtyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gUmUobixlLHQpe3ZhciByPUwuZXhlYyhlLnNsaWNlKHQsdCsyKSk7cmV0dXJuIHI/KG4uZD0rclswXSx0K3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBicihuLGUsdCl7dmFyIHI9TC5leGVjKGUuc2xpY2UodCx0KzMpKTtyZXR1cm4gcj8obi5tPTAsbi5kPStyWzBdLHQrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIEllKG4sZSx0KXt2YXIgcj1MLmV4ZWMoZS5zbGljZSh0LHQrMikpO3JldHVybiByPyhuLkg9K3JbMF0sdCtyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gdnIobixlLHQpe3ZhciByPUwuZXhlYyhlLnNsaWNlKHQsdCsyKSk7cmV0dXJuIHI/KG4uTT0rclswXSx0K3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBUcihuLGUsdCl7dmFyIHI9TC5leGVjKGUuc2xpY2UodCx0KzIpKTtyZXR1cm4gcj8obi5TPStyWzBdLHQrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIENyKG4sZSx0KXt2YXIgcj1MLmV4ZWMoZS5zbGljZSh0LHQrMykpO3JldHVybiByPyhuLkw9K3JbMF0sdCtyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gTnIobixlLHQpe3ZhciByPUwuZXhlYyhlLnNsaWNlKHQsdCs2KSk7cmV0dXJuIHI/KG4uTD1NYXRoLmZsb29yKHJbMF0vMWUzKSx0K3JbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBVcihuLGUsdCl7dmFyIHI9c3IuZXhlYyhlLnNsaWNlKHQsdCsxKSk7cmV0dXJuIHI/dCtyWzBdLmxlbmd0aDotMX1mdW5jdGlvbiBEcihuLGUsdCl7dmFyIHI9TC5leGVjKGUuc2xpY2UodCkpO3JldHVybiByPyhuLlE9K3JbMF0sdCtyWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24ga3IobixlLHQpe3ZhciByPUwuZXhlYyhlLnNsaWNlKHQpKTtyZXR1cm4gcj8obi5zPStyWzBdLHQrclswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIE9lKG4sZSl7cmV0dXJuIGIobi5nZXREYXRlKCksZSwyKX1mdW5jdGlvbiBTcihuLGUpe3JldHVybiBiKG4uZ2V0SG91cnMoKSxlLDIpfWZ1bmN0aW9uICRyKG4sZSl7cmV0dXJuIGIobi5nZXRIb3VycygpJTEyfHwxMixlLDIpfWZ1bmN0aW9uIEZyKG4sZSl7cmV0dXJuIGIoMSt3bi5jb3VudChRKG4pLG4pLGUsMyl9ZnVuY3Rpb24gemUobixlKXtyZXR1cm4gYihuLmdldE1pbGxpc2Vjb25kcygpLGUsMyl9ZnVuY3Rpb24gSHIobixlKXtyZXR1cm4gemUobixlKSsiMDAwIn1mdW5jdGlvbiBMcihuLGUpe3JldHVybiBiKG4uZ2V0TW9udGgoKSsxLGUsMil9ZnVuY3Rpb24gUHIobixlKXtyZXR1cm4gYihuLmdldE1pbnV0ZXMoKSxlLDIpfWZ1bmN0aW9uIFlyKG4sZSl7cmV0dXJuIGIobi5nZXRTZWNvbmRzKCksZSwyKX1mdW5jdGlvbiBXcihuKXt2YXIgZT1uLmdldERheSgpO3JldHVybiBlPT09MD83OmV9ZnVuY3Rpb24gQXIobixlKXtyZXR1cm4gYihZbi5jb3VudChRKG4pLTEsbiksZSwyKX1mdW5jdGlvbiBFZShuKXt2YXIgZT1uLmdldERheSgpO3JldHVybiBlPj00fHxlPT09MD9mbihuKTpmbi5jZWlsKG4pfWZ1bmN0aW9uIFJyKG4sZSl7cmV0dXJuIG49RWUobiksYihmbi5jb3VudChRKG4pLG4pKyhRKG4pLmdldERheSgpPT09NCksZSwyKX1mdW5jdGlvbiBJcihuKXtyZXR1cm4gbi5nZXREYXkoKX1mdW5jdGlvbiBPcihuLGUpe3JldHVybiBiKFduLmNvdW50KFEobiktMSxuKSxlLDIpfWZ1bmN0aW9uIHpyKG4sZSl7cmV0dXJuIGIobi5nZXRGdWxsWWVhcigpJTEwMCxlLDIpfWZ1bmN0aW9uIEVyKG4sZSl7cmV0dXJuIG49RWUobiksYihuLmdldEZ1bGxZZWFyKCklMTAwLGUsMil9ZnVuY3Rpb24gX3IobixlKXtyZXR1cm4gYihuLmdldEZ1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gcXIobixlKXt2YXIgdD1uLmdldERheSgpO3JldHVybiBuPXQ+PTR8fHQ9PT0wP2ZuKG4pOmZuLmNlaWwobiksYihuLmdldEZ1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24ganIobil7dmFyIGU9bi5nZXRUaW1lem9uZU9mZnNldCgpO3JldHVybihlPjA/Ii0iOihlKj0tMSwiKyIpKStiKGUvNjB8MCwiMCIsMikrYihlJTYwLCIwIiwyKX1mdW5jdGlvbiBfZShuLGUpe3JldHVybiBiKG4uZ2V0VVRDRGF0ZSgpLGUsMil9ZnVuY3Rpb24gWnIobixlKXtyZXR1cm4gYihuLmdldFVUQ0hvdXJzKCksZSwyKX1mdW5jdGlvbiBWcihuLGUpe3JldHVybiBiKG4uZ2V0VVRDSG91cnMoKSUxMnx8MTIsZSwyKX1mdW5jdGlvbiBYcihuLGUpe3JldHVybiBiKDErdGUuY291bnQoZW4obiksbiksZSwzKX1mdW5jdGlvbiBxZShuLGUpe3JldHVybiBiKG4uZ2V0VVRDTWlsbGlzZWNvbmRzKCksZSwzKX1mdW5jdGlvbiBCcihuLGUpe3JldHVybiBxZShuLGUpKyIwMDAifWZ1bmN0aW9uIFFyKG4sZSl7cmV0dXJuIGIobi5nZXRVVENNb250aCgpKzEsZSwyKX1mdW5jdGlvbiBHcihuLGUpe3JldHVybiBiKG4uZ2V0VVRDTWludXRlcygpLGUsMil9ZnVuY3Rpb24gSnIobixlKXtyZXR1cm4gYihuLmdldFVUQ1NlY29uZHMoKSxlLDIpfWZ1bmN0aW9uIEtyKG4pe3ZhciBlPW4uZ2V0VVRDRGF5KCk7cmV0dXJuIGU9PT0wPzc6ZX1mdW5jdGlvbiBubyhuLGUpe3JldHVybiBiKFBlLmNvdW50KGVuKG4pLTEsbiksZSwyKX1mdW5jdGlvbiBqZShuKXt2YXIgZT1uLmdldFVUQ0RheSgpO3JldHVybiBlPj00fHxlPT09MD9jbihuKTpjbi5jZWlsKG4pfWZ1bmN0aW9uIGVvKG4sZSl7cmV0dXJuIG49amUobiksYihjbi5jb3VudChlbihuKSxuKSsoZW4obikuZ2V0VVRDRGF5KCk9PT00KSxlLDIpfWZ1bmN0aW9uIHRvKG4pe3JldHVybiBuLmdldFVUQ0RheSgpfWZ1bmN0aW9uIHJvKG4sZSl7cmV0dXJuIGIoQW4uY291bnQoZW4obiktMSxuKSxlLDIpfWZ1bmN0aW9uIG9vKG4sZSl7cmV0dXJuIGIobi5nZXRVVENGdWxsWWVhcigpJTEwMCxlLDIpfWZ1bmN0aW9uIGlvKG4sZSl7cmV0dXJuIG49amUobiksYihuLmdldFVUQ0Z1bGxZZWFyKCklMTAwLGUsMil9ZnVuY3Rpb24gYW8obixlKXtyZXR1cm4gYihuLmdldFVUQ0Z1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gdW8obixlKXt2YXIgdD1uLmdldFVUQ0RheSgpO3JldHVybiBuPXQ+PTR8fHQ9PT0wP2NuKG4pOmNuLmNlaWwobiksYihuLmdldFVUQ0Z1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gZm8oKXtyZXR1cm4iKzAwMDAifWZ1bmN0aW9uIFplKCl7cmV0dXJuIiUifWZ1bmN0aW9uIFZlKG4pe3JldHVybitufWZ1bmN0aW9uIFhlKG4pe3JldHVybiBNYXRoLmZsb29yKCtuLzFlMyl9dmFyIHNuLEJlO2NvKHtkYXRlVGltZToiJXgsICVYIixkYXRlOiIlLW0vJS1kLyVZIix0aW1lOiIlLUk6JU06JVMgJXAiLHBlcmlvZHM6WyJBTSIsIlBNIl0sZGF5czpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sc2hvcnREYXlzOlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sbW9udGhzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxzaG9ydE1vbnRoczpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdfSk7ZnVuY3Rpb24gY28obil7cmV0dXJuIHNuPWNyKG4pLEJlPXNuLmZvcm1hdCxzbi5wYXJzZSxzbi51dGNGb3JtYXQsc24udXRjUGFyc2Usc259ZnVuY3Rpb24gc28obil7cmV0dXJuIG5ldyBEYXRlKG4pfWZ1bmN0aW9uIGxvKG4pe3JldHVybiBuIGluc3RhbmNlb2YgRGF0ZT8rbjorbmV3IERhdGUoK24pfWZ1bmN0aW9uIFFlKG4sZSx0LHIsbyxpLGEsdSxsLGYpe3ZhciBnPUZlKCksbT1nLmludmVydCxwPWcuZG9tYWluLEQ9ZigiLiVMIiksaz1mKCI6JVMiKSxSPWYoIiVJOiVNIiksWT1mKCIlSSAlcCIpLHE9ZigiJWEgJWQiKSxFPWYoIiViICVkIiksJD1mKCIlQiIpLFc9ZigiJVkiKTtmdW5jdGlvbiBoKGMpe3JldHVybihsKGMpPGM/RDp1KGMpPGM/azphKGMpPGM/UjppKGMpPGM/WTpyKGMpPGM/byhjKTxjP3E6RTp0KGMpPGM/JDpXKShjKX1yZXR1cm4gZy5pbnZlcnQ9ZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBEYXRlKG0oYykpfSxnLmRvbWFpbj1mdW5jdGlvbihjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9wKEFycmF5LmZyb20oYyxsbykpOnAoKS5tYXAoc28pfSxnLnRpY2tzPWZ1bmN0aW9uKGMpe3ZhciB4PXAoKTtyZXR1cm4gbih4WzBdLHhbeC5sZW5ndGgtMV0sYz8/MTApfSxnLnRpY2tGb3JtYXQ9ZnVuY3Rpb24oYyx4KXtyZXR1cm4geD09bnVsbD9oOmYoeCl9LGcubmljZT1mdW5jdGlvbihjKXt2YXIgeD1wKCk7cmV0dXJuKCFjfHx0eXBlb2YgYy5yYW5nZSE9ImZ1bmN0aW9uIikmJihjPWUoeFswXSx4W3gubGVuZ3RoLTFdLGM/PzEwKSksYz9wKEd0KHgsYykpOmd9LGcuY29weT1mdW5jdGlvbigpe3JldHVybiAkZShnLFFlKG4sZSx0LHIsbyxpLGEsdSxsLGYpKX0sZ31mdW5jdGlvbiBobygpe3JldHVybiBrZS5hcHBseShRZSh1cixmcixRLHJlLFluLHduLGVlLG5lLHVuLEJlKS5kb21haW4oW25ldyBEYXRlKDJlMywwLDEpLG5ldyBEYXRlKDJlMywwLDIpXSksYXJndW1lbnRzKX1mdW5jdGlvbiBUbihuLGUsdCl7dGhpcy5rPW4sdGhpcy54PWUsdGhpcy55PXR9VG4ucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpUbixzY2FsZTpmdW5jdGlvbihuKXtyZXR1cm4gbj09PTE/dGhpczpuZXcgVG4odGhpcy5rKm4sdGhpcy54LHRoaXMueSl9LHRyYW5zbGF0ZTpmdW5jdGlvbihuLGUpe3JldHVybiBuPT09MCZlPT09MD90aGlzOm5ldyBUbih0aGlzLmssdGhpcy54K3RoaXMuaypuLHRoaXMueSt0aGlzLmsqZSl9LGFwcGx5OmZ1bmN0aW9uKG4pe3JldHVybltuWzBdKnRoaXMuayt0aGlzLngsblsxXSp0aGlzLmsrdGhpcy55XX0sYXBwbHlYOmZ1bmN0aW9uKG4pe3JldHVybiBuKnRoaXMuayt0aGlzLnh9LGFwcGx5WTpmdW5jdGlvbihuKXtyZXR1cm4gbip0aGlzLmsrdGhpcy55fSxpbnZlcnQ6ZnVuY3Rpb24obil7cmV0dXJuWyhuWzBdLXRoaXMueCkvdGhpcy5rLChuWzFdLXRoaXMueSkvdGhpcy5rXX0saW52ZXJ0WDpmdW5jdGlvbihuKXtyZXR1cm4obi10aGlzLngpL3RoaXMua30saW52ZXJ0WTpmdW5jdGlvbihuKXtyZXR1cm4obi10aGlzLnkpL3RoaXMua30scmVzY2FsZVg6ZnVuY3Rpb24obil7cmV0dXJuIG4uY29weSgpLmRvbWFpbihuLnJhbmdlKCkubWFwKHRoaXMuaW52ZXJ0WCx0aGlzKS5tYXAobi5pbnZlcnQsbikpfSxyZXNjYWxlWTpmdW5jdGlvbihuKXtyZXR1cm4gbi5jb3B5KCkuZG9tYWluKG4ucmFuZ2UoKS5tYXAodGhpcy5pbnZlcnRZLHRoaXMpLm1hcChuLmludmVydCxuKSl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInRyYW5zbGF0ZSgiK3RoaXMueCsiLCIrdGhpcy55KyIpIHNjYWxlKCIrdGhpcy5rKyIpIn19LFRuLnByb3RvdHlwZTtmdW5jdGlvbiBhZShuKXtyZXR1cm4gbi5tb2RlPT09InRlbXBvcmFsInx8bi5tb2RlPT09ImxlZnQtYWxpZ25lZCI/Z28obik6bW8obil9ZnVuY3Rpb24gZ28oe2RvbWFpbjpuLHJhbmdlOmV9KXtyZXR1cm4gaG8oKS5kb21haW4obikucmFuZ2UoZSl9ZnVuY3Rpb24gbW8oe2RvbWFpbjpuLHJhbmdlOmV9KXtyZXR1cm4gSGUoKS5kb21haW4obikucmFuZ2UoZSl9ZnVuY3Rpb24geW8oe3Jvb3Rfbm9kZV9pZHM6bixub2RlczplfSl7dHJ5e3JldHVybiB4byhuLGUpfWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKHQpLEdlKG4sZSl9fWZ1bmN0aW9uIHhvKG4sZSl7Y29uc3QgdD1uZXcgTWFwLHI9W107Zm9yKGNvbnN0IG8gb2Ygbil7dC5zZXQobywwKTtjb25zdCBpPWUuZ2V0KG8pO2Zvcihjb25zdHtpZDphfW9mIGkuY2hpbGRyZW4pci5wdXNoKGEpfXJldHVybiB1ZShyLGUsdCl9ZnVuY3Rpb24gdWUobixlLHQpe2Zvcihjb25zdCByIG9mIG4pe2lmKHQuaGFzKHIpKWNvbnRpbnVlO2NvbnN0IG89ZS5nZXQocik7aWYoIW8pdGhyb3cgbmV3IEVycm9yKCJOb2RlIGlkIG5vdCBmb3VuZCBpbiBub2RlcyIpO2NvbnN0IGk9W107Zm9yKGNvbnN0IGwgb2Ygby5wYXJlbnRzKXtjb25zdCBmPXQuZ2V0KGwuaWQpO2lmKGYhPT12b2lkIDApe2kucHVzaChmKTtjb250aW51ZX11ZShbbC5pZF0sZSx0KTtjb25zdCBnPXQuZ2V0KGwuaWQpO2lmKGc9PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgZGV0ZXJtaW5lIHBhcmVudCBjb2x1bW4iKTtpLnB1c2goZyl9Y29uc3QgYT1NYXRoLm1heCguLi5pKTt0LnNldChyLGErMSk7Y29uc3QgdT1vLmNoaWxkcmVuLm1hcCgoe2lkOmx9KT0+bCk7dS5sZW5ndGgmJnVlKHUsZSx0KX1yZXR1cm4gdH1mdW5jdGlvbiBHZShuLGUsdD0wLHI9bmV3IE1hcCl7Zm9yKGNvbnN0IG8gb2Ygbil7Y29uc3QgaT1yLmdldChvKTsoIWl8fGk8dCkmJnIuc2V0KG8sdCk7Y29uc3QgYT1lLmdldChvKTtmb3IoY29uc3R7aWQ6dX1vZiBhLmNoaWxkcmVuKUdlKFt1XSxlLHQrMSxyKX1yZXR1cm4gcn1mdW5jdGlvbiBwbyhuKXtyZXR1cm4gbi5ob3Jpem9udGFsU2V0dGluZ3MubW9kZT09PSJkZXBlbmRlbmN5Ij93byhuKTpuLmhvcml6b250YWxTZXR0aW5ncy5tb2RlPT09ImxlZnQtYWxpZ25lZCI/Ym8obik6TW8obil9ZnVuY3Rpb24gd28oe2RhdGE6bixob3Jpem9udGFsU2V0dGluZ3M6ZX0pe2NvbnN0IHQ9eW8obikscj1hZShlKSxvPW5ldyBNYXA7Zm9yKGNvbnN0W2ldb2Ygbi5ub2Rlcyl7Y29uc3QgYT10LmdldChpKTtpZihhPT09dm9pZCAwKXtjb25zb2xlLndhcm4oYE5vZGUgbm90IGZvdW5kIGluIGNvbHVtbnM6IFNraXBwaW5nICR7aX1gKTtjb250aW51ZX1vLnNldChpLHt4OnIoYSksY29sdW1uOmF9KX1yZXR1cm4gb31mdW5jdGlvbiBNbyh7ZGF0YTpuLGhvcml6b250YWxTZXR0aW5nczplfSl7Y29uc3QgdD1hZShlKSxyPW5ldyBNYXA7Zm9yKGNvbnN0W28saV1vZiBuLm5vZGVzKXtjb25zdCBhPXQoaS5zdGFydF90aW1lKTtyLnNldChvLHtjb2x1bW46YSx4OmF9KX1yZXR1cm4gcn1mdW5jdGlvbiBibyh7ZGF0YTpuLGhvcml6b250YWxTZXR0aW5nczplfSl7Y29uc3QgdD1hZShlKSxyPW5ldyBNYXA7Zm9yKGNvbnN0W29db2Ygbi5ub2RlcylyLnNldChvLHtjb2x1bW46MCx4OnQobi5zdGFydF90aW1lKX0pO3JldHVybiByfWFzeW5jIGZ1bmN0aW9uIHZvKG4sZSl7Y29uc3Qgbz1uZXcgTWFwLGk9bmV3IE1hcDtsZXQgYT0wO2NvbnN0IHU9bmV3IE1hcDtmb3IgYXdhaXQoY29uc3RbaF1vZiBuLmRhdGEubm9kZXMpe2NvbnN0IGM9bi5kYXRhLm5vZGVzLmdldChoKTtpZighYyl7Y29uc29sZS53YXJuKCJOZWFyZXN0UGFyZW50TGF5b3V0OiBOb2RlIHdhcyBub3QgZm91bmQgaW4gdGhlIGRhdGEiLGgpO2NvbnRpbnVlfWNvbnN0IHg9YXdhaXQgbChjKTskKGgseCl9cmV0dXJuIFcoKSx1O2FzeW5jIGZ1bmN0aW9uIGwoaCl7Y29uc3R7eDpjfT1lLmdldChoLmlkKT8/e307aWYoYz09PXZvaWQgMClyZXR1cm4gY29uc29sZS53YXJuKCJOZWFyZXN0UGFyZW50TGF5b3V0OiBOb2RlIHdhcyBub3QgZm91bmQgaW4gdGhlIGhvcml6b250YWwgbGF5b3V0IixoLmlkKSwwO2lmKGgucGFyZW50cy5sZW5ndGg9PT0xKXJldHVybiB1LmhhcyhoLnBhcmVudHNbMF0uaWQpP2F3YWl0IGcoaC5wYXJlbnRzWzBdLmlkLGMpOihjb25zb2xlLndhcm4oIk5lYXJlc3RQYXJlbnRMYXlvdXQ6IFBhcmVudCBub2RlIG5vdCBmb3VuZCBpbiBsYXlvdXQiLGgucGFyZW50c1swXS5pZCksMCk7aWYoaC5wYXJlbnRzLmxlbmd0aD4wKXtjb25zdCB4PWgucGFyZW50cy5tYXAoKHtpZDp5fSk9Pntjb25zdCBDPXUuZ2V0KHkpO3JldHVybiBDPT09dm9pZCAwPyhjb25zb2xlLndhcm4oIk5lYXJlc3RQYXJlbnRMYXlvdXQ6IFBhcmVudCBub2RlIG5vdCBmb3VuZCBpbiBsYXlvdXQiLHkpLDApOkN9KSxOPXgucmVkdWNlKCh5LEMpPT55K0MsMCkveC5sZW5ndGgsdj1NYXRoLnJvdW5kKE4pO2lmKG0oYyx2KSl7Y29uc3QgeT1rKGMsdiksQz1oLnBhcmVudHMubWFwKCh7aWQ6Rn0pPT5GKSxTPXkuZmlsdGVyKEY9PkMuaW5jbHVkZXMoRikpO2lmKFMubGVuZ3RoPjB8fHkubGVuZ3RoPjEpe2NvbnN0W0ZdPVMubGVuZ3RoPjA/Uzp5LGxuPVIoeCx2LG8uZ2V0KEYpKTtyZXR1cm4gby5zZXQoRixsbiksYXdhaXQgZyhGLGMpfXJldHVybiBhd2FpdCBZKHtjb21wZXRpbmdOb2RlSWQ6eVswXSx1cHN0cmVhbVJvd3M6eCxub2RlU3RhcnRYOmMsZGVzaXJlZFJvdzp2fSl9fXJldHVybiBmKGMsMCl9ZnVuY3Rpb24gZihoLGMpe3JldHVybiBtKGgsYyk/ZihoLGMrMSk6Y31hc3luYyBmdW5jdGlvbiBnKGgsYyl7Y29uc3QgeD11LmdldChoKTtpZih4PT09dm9pZCAwKXJldHVybiBjb25zb2xlLndhcm4oIk5lYXJlc3RQYXJlbnRMYXlvdXQ6IFVwc3RyZWFtIG5vZGUgbm90IGZvdW5kIGluIGxheW91dCIsaCksMDtvLmdldChoKXx8by5zZXQoaCwxKTtjb25zdCB3PW8uZ2V0KGgpO3JldHVybiBtKGMseCk/dz09PTEmJiFtKGMseCsxKT8oby5zZXQoaCwtMSkseCsxKTptKGMseC0xKT8oYXdhaXQgcCh7ZGlyZWN0aW9uOncsbm9kZVN0YXJ0WDpjLGRlc2lyZWRSb3c6eCt3fSksby5zZXQoaCx3PT09MT8tMToxKSx4K3cpOihvLnNldChoLDEpLHgtMSk6eH1mdW5jdGlvbiBtKGgsYyl7aWYodS5zaXplPT09MClyZXR1cm4hMTtsZXQgeD0hMTtjb25zdCB3PWkuZ2V0KGMpPz9bXTtmb3IoY29uc3QgTiBvZiB3KXtjb25zdCB2PXUuZ2V0KE4pLHk9RShOKTtpZihEKHtmaXJzdE5vZGVFbmRYOnksZmlyc3ROb2RlUm93OnYsbGFzdE5vZGVTdGFydFg6aCxsYXN0Tm9kZVJvdzpjfSkpe3g9ITA7YnJlYWt9fXJldHVybiB4fWFzeW5jIGZ1bmN0aW9uIHAoe2RpcmVjdGlvbjpoLG5vZGVTdGFydFg6YyxkZXNpcmVkUm93Onh9KXtjb25zdCB3PWsoYyx4KTtpZih3KWZvciBhd2FpdChjb25zdCBOIG9mIHcpe2NvbnN0IHY9dS5nZXQoTikse3g6eX09ZS5nZXQoTik/P3t9O2lmKHY9PT12b2lkIDB8fHk9PT12b2lkIDApe2NvbnNvbGUud2FybigiTmVhcmVzdFBhcmVudExheW91dCAtIHNob3ZlOiBOb2RlIHdhcyBub3QgZm91bmQgaW4gdGhlIHZlcnRpY2FsIG9yIGhvcml6b250YWwgbGF5b3V0IixOKTtjb250aW51ZX1jb25zdCBDPXYraDthd2FpdCBwKHtkaXJlY3Rpb246aCxub2RlU3RhcnRYOnksZGVzaXJlZFJvdzpDfSksJChOLEMpfX1mdW5jdGlvbiBEKHtmaXJzdE5vZGVFbmRYOmgsZmlyc3ROb2RlUm93OmMsbGFzdE5vZGVTdGFydFg6eCxsYXN0Tm9kZVJvdzp3fSl7cmV0dXJuIGM9PT13JiZoKzE2Pj14fWZ1bmN0aW9uIGsoaCxjKXtjb25zdCB4PVtdLHc9aS5nZXQoYyk/P1tdO2Zvcihjb25zdCBOIG9mIHcpe2NvbnN0IHY9RShOKSx5PXUuZ2V0KE4pO2lmKHk9PT12b2lkIDApe2NvbnNvbGUud2FybigiTmVhcmVzdFBhcmVudExheW91dCAtIGdldE92ZXJsYXBwaW5nTm9kZUlkczogTm9kZSB3YXMgbm90IGZvdW5kIGluIHRoZSBsYXlvdXQiLE4pO2NvbnRpbnVlfUQoe2ZpcnN0Tm9kZUVuZFg6dixmaXJzdE5vZGVSb3c6eSxsYXN0Tm9kZVN0YXJ0WDpoLGxhc3ROb2RlUm93OmN9KSYmeC5wdXNoKE4pfWlmKHgubGVuZ3RoIT09MClyZXR1cm4geC5zb3J0KChOLHYpPT57Y29uc3QgeT1FKE4pLEM9RSh2KTtyZXR1cm4geTxDPzE6eT5DPy0xOjB9KSx4fWZ1bmN0aW9uIFIoaCxjLHgpe2NvbnN0IHc9aC5maWx0ZXIodj0+djxjKS5sZW5ndGgsTj1oLmZpbHRlcih2PT52PmMpLmxlbmd0aDtyZXR1cm4gdz5OPy0xOng/PzF9YXN5bmMgZnVuY3Rpb24gWSh7ZGVzaXJlZFJvdzpoLG5vZGVTdGFydFg6Yyx1cHN0cmVhbVJvd3M6eCxjb21wZXRpbmdOb2RlSWQ6d30pe2lmKHUuZ2V0KHcpPT09dm9pZCAwKXJldHVybiBjb25zb2xlLndhcm4oIk5lYXJlc3RQYXJlbnRMYXlvdXQgLSBhcmd1ZVdpdGhDb21wZXRpbmdVcHN0cmVhbVBsYWNlbWVudDogQ29tcGV0aXRvciBub2RlIHdhcyBub3QgZm91bmQgaW4gdGhlIGxheW91dCIsdyksaDtjb25zdFt2LHldPXEodyksQz14LmZpbHRlcihGPT5GPGgpLmxlbmd0aCxTPXguZmlsdGVyKEY9PkY+aCkubGVuZ3RoO2lmKEM+Uyl7aWYodj55JiZ2PkMpcmV0dXJuIGF3YWl0IHAoe2RpcmVjdGlvbjotMSxub2RlU3RhcnRYOmMsZGVzaXJlZFJvdzpofSksaDtpZih5PnYpcmV0dXJuIGF3YWl0IHAoe2RpcmVjdGlvbjoxLG5vZGVTdGFydFg6YyxkZXNpcmVkUm93Omh9KSxoO28uc2V0KHcsLTEpfWlmKFM+Qyl7aWYoeT52JiZ5PlMpcmV0dXJuIGF3YWl0IHAoe2RpcmVjdGlvbjoxLG5vZGVTdGFydFg6YyxkZXNpcmVkUm93Omh9KSxoO2lmKHY+eSlyZXR1cm4gYXdhaXQgcCh7ZGlyZWN0aW9uOi0xLG5vZGVTdGFydFg6YyxkZXNpcmVkUm93Omh9KSxoO28uc2V0KHcsMSl9cmV0dXJuIGF3YWl0IGcodyxjKX1mdW5jdGlvbiBxKGgpe2NvbnN0IGM9bi5kYXRhLm5vZGVzLmdldChoKSx4PXUuZ2V0KGgpO3JldHVybiFjfHx4PT09dm9pZCAwPyhjb25zb2xlLndhcm4oIk5lYXJlc3RQYXJlbnRMYXlvdXQ6IE5vZGUgd2FzIG5vdCBmb3VuZCBpbiBlaXRoZXIgdGhlIGRhdGEgb3IgbGF5b3V0IixoKSxbMCwwXSk6Yy5wYXJlbnRzLnJlZHVjZSgodyxOKT0+e2NvbnN0IHY9dS5nZXQoTi5pZCk7cmV0dXJuIHY9PT12b2lkIDA/KGNvbnNvbGUud2FybigiTmVhcmVzdFBhcmVudExheW91dCAtIGdldE5vZGVQYXJlbnREaXJlY3Rpb25Db3VudHM6IFBhcmVudCBub2RlIG5vdCBmb3VuZCBvbiBsYXlvdXQgZGF0YSIsaCksdyk6KHY8eCYmKHdbMF0rPTEpLHY+eCYmKHdbMV0rPTEpLHcpfSxbMCwwXSl9ZnVuY3Rpb24gRShoKXtjb25zdHt4OmN9PWUuZ2V0KGgpPz97fSx4PW4ud2lkdGhzLmdldChoKTtyZXR1cm4gYz09PXZvaWQgMHx8eD09PXZvaWQgMD8oY29uc29sZS53YXJuKCJOZWFyZXN0UGFyZW50TGF5b3V0OiBOb2RlIHdhcyBub3QgZm91bmQgaW4gdGhlIGhvcml6b250YWwgbGF5b3V0IGFuZC9vciB3aWR0aHMiLGgpLDApOmMreH1mdW5jdGlvbiAkKGgsYyl7dmFyIHgsdztpZihjPGEmJihhPWMpLHUuaGFzKGgpKXtjb25zdCBOPXUuZ2V0KGgpOyh4PWkuZ2V0KE4pKT09bnVsbHx8eC5kZWxldGUoaCl9aS5oYXMoYyl8fGkuc2V0KGMsbmV3IFNldCksKHc9aS5nZXQoYykpPT1udWxsfHx3LmFkZChoKSx1LnNldChoLGMpfWZ1bmN0aW9uIFcoKXtpZihhPDApZm9yKGNvbnN0W2hdb2YgdSl7Y29uc3QgYz11LmdldChoKTt1LnNldChoLGMrTWF0aC5hYnMoYSkpfX19YXN5bmMgZnVuY3Rpb24gVG8obixlKXtyZXR1cm4gbi52ZXJ0aWNhbFNldHRpbmdzLm1vZGU9PT0ibmVhcmVzdC1wYXJlbnQiP2F3YWl0IHZvKG4sZSk6bi52ZXJ0aWNhbFNldHRpbmdzLm1vZGU9PT0iZHVyYXRpb24tc29ydGVkIj9ObyhuKTpDbyhuKX1mdW5jdGlvbiBDbyhuKXtjb25zdCBlPW5ldyBNYXA7bGV0IHQ9MDtmb3IoY29uc3Rbcl1vZiBuLmRhdGEubm9kZXMpZS5zZXQocix0KyspO3JldHVybiBlfWZ1bmN0aW9uIE5vKG4pe2NvbnN0IGU9bmV3IE1hcCx0PVsuLi5uLmRhdGEubm9kZXMudmFsdWVzKCldLnNvcnQoKG8saSk9Pntjb25zdCBhPShvLmVuZF90aW1lP28uZW5kX3RpbWUuZ2V0VGltZSgpOm5ldyBEYXRlKCkuZ2V0VGltZSgpKS1vLnN0YXJ0X3RpbWUuZ2V0VGltZSgpO3JldHVybihpLmVuZF90aW1lP2kuZW5kX3RpbWUuZ2V0VGltZSgpOm5ldyBEYXRlKCkuZ2V0VGltZSgpKS1pLnN0YXJ0X3RpbWUuZ2V0VGltZSgpLWF9KTtsZXQgcj0wO2Zvcihjb25zdCBvIG9mIHQpZS5zZXQoby5pZCxyKyspO3JldHVybiBlfW9ubWVzc2FnZT1VbztmdW5jdGlvbiBVbyh7ZGF0YTpufSl7Y29uc3R7dHlwZTplfT1uO3N3aXRjaChlKXtjYXNlImxheW91dCI6a28obik7cmV0dXJuO2RlZmF1bHQ6S2UoZSl9fWZ1bmN0aW9uIERvKG4pe3Bvc3RNZXNzYWdlKG4pfWFzeW5jIGZ1bmN0aW9uIGtvKG4pe2NvbnN0e2RhdGE6ZX09bix0PXBvKG4pLHI9YXdhaXQgVG8obix0KSxvPW5ldyBNYXA7bGV0IGk9MCxhPTA7Zm9yKGNvbnN0W3UsbF1vZiBlLm5vZGVzKXtjb25zdCBmPXQuZ2V0KHUpLGc9ci5nZXQodSk7aWYoZj09PXZvaWQgMCl7Y29uc29sZS53YXJuKGBOb2RlSWQgbm90IGZvdW5kIGluIGhvcml6b250YWwgbGF5b3V0OiBTa2lwcGluZyAke2wubGFiZWx9YCk7Y29udGludWV9aWYoZz09PXZvaWQgMCl7Y29uc29sZS53YXJuKGBOb2RlSWQgbm90IGZvdW5kIGluIHZlcnRpY2FsIGxheW91dDogU2tpcHBpbmcgJHtsLmxhYmVsfWApO2NvbnRpbnVlfWk9TWF0aC5tYXgoaSxnKSxhPU1hdGgubWF4KGEsZi5jb2x1bW4pLG8uc2V0KHUsey4uLmYseTpnLHJvdzpnfSl9RG8oe3R5cGU6ImxheW91dCIsbGF5b3V0OnttYXhSb3c6aSxtYXhDb2x1bW46YSxwb3NpdGlvbnM6b319KX19KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1ydW5HcmFwaC53b3JrZXItQzRjMjBKZ3UuanMubWFwCg==", d5 = (i) => Uint8Array.from(atob(i), (t) => t.charCodeAt(0)), Wm = typeof window < "u" && window.Blob && new Blob([d5(Vb)], { type: "text/javascript;charset=utf-8" });
|
|
34560
|
+
function f5(i) {
|
|
34561
34561
|
let t;
|
|
34562
34562
|
try {
|
|
34563
34563
|
if (t = Wm && (window.URL || window.webkitURL).createObjectURL(Wm), !t)
|
|
@@ -34579,8 +34579,8 @@ function fP(i) {
|
|
|
34579
34579
|
t && (window.URL || window.webkitURL).revokeObjectURL(t);
|
|
34580
34580
|
}
|
|
34581
34581
|
}
|
|
34582
|
-
function
|
|
34583
|
-
const t = new
|
|
34582
|
+
function p5(i) {
|
|
34583
|
+
const t = new f5();
|
|
34584
34584
|
return t.onmessage = i, t;
|
|
34585
34585
|
}
|
|
34586
34586
|
async function Hb() {
|
|
@@ -34608,7 +34608,7 @@ async function Hb() {
|
|
|
34608
34608
|
]), y(B);
|
|
34609
34609
|
}
|
|
34610
34610
|
function u() {
|
|
34611
|
-
s || (s =
|
|
34611
|
+
s || (s = p5(G));
|
|
34612
34612
|
}
|
|
34613
34613
|
function d() {
|
|
34614
34614
|
s && (s.terminate(), s = null);
|
|
@@ -34639,7 +34639,7 @@ async function Hb() {
|
|
|
34639
34639
|
const k = `${B}_${D}`;
|
|
34640
34640
|
if (t.has(k))
|
|
34641
34641
|
return;
|
|
34642
|
-
const V = await
|
|
34642
|
+
const V = await SM();
|
|
34643
34643
|
t.has(k) || (t.set(k, V), r.addChild(V.element));
|
|
34644
34644
|
}
|
|
34645
34645
|
function y(B) {
|
|
@@ -34653,7 +34653,7 @@ async function Hb() {
|
|
|
34653
34653
|
data: B,
|
|
34654
34654
|
widths: D,
|
|
34655
34655
|
horizontalSettings: Zd(B.start_time),
|
|
34656
|
-
verticalSettings:
|
|
34656
|
+
verticalSettings: nM()
|
|
34657
34657
|
});
|
|
34658
34658
|
}
|
|
34659
34659
|
function x() {
|
|
@@ -34696,7 +34696,7 @@ async function Hb() {
|
|
|
34696
34696
|
const D = i.get(B.id);
|
|
34697
34697
|
if (D)
|
|
34698
34698
|
return D;
|
|
34699
|
-
const k = await
|
|
34699
|
+
const k = await c5(B);
|
|
34700
34700
|
return k.element.on("resized", (V) => w(B.id, V)), i.set(B.id, k), e.addChild(k.element), k;
|
|
34701
34701
|
}
|
|
34702
34702
|
function w(B, D) {
|
|
@@ -34739,14 +34739,14 @@ async function Hb() {
|
|
|
34739
34739
|
F(B);
|
|
34740
34740
|
return;
|
|
34741
34741
|
default:
|
|
34742
|
-
|
|
34742
|
+
u5(D);
|
|
34743
34743
|
}
|
|
34744
34744
|
}
|
|
34745
34745
|
function F(B) {
|
|
34746
34746
|
l = B.layout, b();
|
|
34747
34747
|
}
|
|
34748
34748
|
async function M() {
|
|
34749
|
-
const B = await Qt(), D =
|
|
34749
|
+
const B = await Qt(), D = _R();
|
|
34750
34750
|
if (B.disableEdges || !D || !(h != null && h.nodes.has(D.id))) {
|
|
34751
34751
|
N([]);
|
|
34752
34752
|
return;
|
|
@@ -34797,29 +34797,29 @@ async function Hb() {
|
|
|
34797
34797
|
};
|
|
34798
34798
|
}
|
|
34799
34799
|
let Fo = null, Lr = null, Bn = null;
|
|
34800
|
-
async function
|
|
34800
|
+
async function m5() {
|
|
34801
34801
|
const i = await te(), t = await Pt(), { element: e, render: r } = await Hb();
|
|
34802
34802
|
i.addChild(e), e.alpha = 0;
|
|
34803
|
-
const n = await
|
|
34803
|
+
const n = await U1(t.runId, async (s) => {
|
|
34804
34804
|
const o = Lr ? "runDataUpdated" : "runDataCreated";
|
|
34805
34805
|
Lr = s, Q.emit(o, Lr), await Qt(), r(s);
|
|
34806
34806
|
});
|
|
34807
34807
|
Q.on("configUpdated", () => {
|
|
34808
34808
|
Lr && r(Lr);
|
|
34809
|
-
}), Bn = e, Fo = n.stop, Bn.once("rendered", () =>
|
|
34809
|
+
}), Bn = e, Fo = n.stop, Bn.once("rendered", () => y5()), Q.on("layoutUpdated", () => b5()), n.start();
|
|
34810
34810
|
}
|
|
34811
|
-
function
|
|
34811
|
+
function g5() {
|
|
34812
34812
|
Fo == null || Fo(), Fo = null, Bn = null, Lr = null;
|
|
34813
34813
|
}
|
|
34814
34814
|
async function Yi() {
|
|
34815
34815
|
return Lr || await Fe("runDataCreated");
|
|
34816
34816
|
}
|
|
34817
|
-
function
|
|
34817
|
+
function y5() {
|
|
34818
34818
|
Xf(), Se.shared.addOnce(() => {
|
|
34819
34819
|
Bn && (Bn.alpha = 1);
|
|
34820
34820
|
});
|
|
34821
34821
|
}
|
|
34822
|
-
async function
|
|
34822
|
+
async function b5() {
|
|
34823
34823
|
if (!Bn)
|
|
34824
34824
|
return;
|
|
34825
34825
|
const i = await Pt();
|
|
@@ -34829,21 +34829,21 @@ async function bP() {
|
|
|
34829
34829
|
}, i.animationDuration);
|
|
34830
34830
|
});
|
|
34831
34831
|
}
|
|
34832
|
-
function
|
|
34832
|
+
function x5(i) {
|
|
34833
34833
|
let t = 0;
|
|
34834
34834
|
for (const [, { children: e }] of i)
|
|
34835
34835
|
t += e.length;
|
|
34836
34836
|
return t;
|
|
34837
34837
|
}
|
|
34838
|
-
function
|
|
34838
|
+
function _5({ start_time: i, end_time: t, nodes: e }, r, n) {
|
|
34839
34839
|
const s = Math.max(Ax(t ?? /* @__PURE__ */ new Date(), i), 1), o = r.styles.nodeHeight + r.styles.rowGap;
|
|
34840
34840
|
return (e.size > 0 ? e.size * o * 0.5 : o * 4) * n / (s * zm);
|
|
34841
34841
|
}
|
|
34842
|
-
async function
|
|
34843
|
-
const i = await Yi(), t = await Pt(), e = await qt(), r = e.view.width / e.view.height, n =
|
|
34844
|
-
mh(n, !0), i.nodes.size > t.disableAnimationsThreshold && (et.disableAnimations = !0),
|
|
34842
|
+
async function v5() {
|
|
34843
|
+
const i = await Yi(), t = await Pt(), e = await qt(), r = e.view.width / e.view.height, n = _5(i, t, r);
|
|
34844
|
+
mh(n, !0), i.nodes.size > t.disableAnimationsThreshold && (et.disableAnimations = !0), x5(i.nodes) > t.disableEdgesThreshold && (et.disableEdges = !0);
|
|
34845
34845
|
}
|
|
34846
|
-
function
|
|
34846
|
+
function w5() {
|
|
34847
34847
|
et.horizontal = "temporal", et.vertical = "nearest-parent", et.horizontalScaleMultiplierDefault = 0, et.horizontalScaleMultiplier = 0, et.disableAnimations = !1, et.disableGuides = !1, et.disableEdges = !1, et.disableArtifacts = !1, et.disableEvents = !1;
|
|
34848
34848
|
}
|
|
34849
34849
|
const et = Jb({
|
|
@@ -34878,10 +34878,10 @@ async function Qt() {
|
|
|
34878
34878
|
function Jf() {
|
|
34879
34879
|
return et.isDependency() ? lx : zm * et.horizontalScaleMultiplier;
|
|
34880
34880
|
}
|
|
34881
|
-
function
|
|
34881
|
+
function T5() {
|
|
34882
34882
|
return [0, Jf()];
|
|
34883
34883
|
}
|
|
34884
|
-
function
|
|
34884
|
+
function S5(i) {
|
|
34885
34885
|
if (et.isDependency())
|
|
34886
34886
|
return [0, 1];
|
|
34887
34887
|
const t = i, e = Ex(t, ax);
|
|
@@ -34893,34 +34893,34 @@ function mh(i, t = !1) {
|
|
|
34893
34893
|
const e = js();
|
|
34894
34894
|
et.horizontalScaleMultiplier = i, t && (et.horizontalScaleMultiplierDefault = i), e();
|
|
34895
34895
|
}
|
|
34896
|
-
function
|
|
34896
|
+
function C5() {
|
|
34897
34897
|
mh(et.horizontalScaleMultiplierDefault);
|
|
34898
34898
|
}
|
|
34899
|
-
function
|
|
34899
|
+
function E5(i) {
|
|
34900
34900
|
if (et.horizontal === i)
|
|
34901
34901
|
return;
|
|
34902
34902
|
const t = js();
|
|
34903
34903
|
et.horizontal = i, et.disableGuides = et.isDependency() || et.isLeftAligned(), t();
|
|
34904
34904
|
}
|
|
34905
|
-
function
|
|
34905
|
+
function I5(i) {
|
|
34906
34906
|
if (et.vertical === i)
|
|
34907
34907
|
return;
|
|
34908
34908
|
const t = js();
|
|
34909
34909
|
et.vertical = i, t();
|
|
34910
34910
|
}
|
|
34911
|
-
function
|
|
34911
|
+
function A5(i) {
|
|
34912
34912
|
if (et.disableEdges === i)
|
|
34913
34913
|
return;
|
|
34914
34914
|
const t = js();
|
|
34915
34915
|
et.disableEdges = i, t();
|
|
34916
34916
|
}
|
|
34917
|
-
function
|
|
34917
|
+
function M5(i) {
|
|
34918
34918
|
if (et.disableArtifacts === i)
|
|
34919
34919
|
return;
|
|
34920
34920
|
const t = js();
|
|
34921
34921
|
et.disableArtifacts = i, t();
|
|
34922
34922
|
}
|
|
34923
|
-
function
|
|
34923
|
+
function R5(i) {
|
|
34924
34924
|
if (et.disableEvents === i)
|
|
34925
34925
|
return;
|
|
34926
34926
|
const t = js();
|
|
@@ -34941,7 +34941,7 @@ function Kb(i) {
|
|
|
34941
34941
|
const t = i.tagName.toLowerCase();
|
|
34942
34942
|
return ["input", "textarea"].includes(t);
|
|
34943
34943
|
}
|
|
34944
|
-
const
|
|
34944
|
+
const P5 = { class: "flex items-center gap-2" }, L5 = /* @__PURE__ */ Zm({
|
|
34945
34945
|
__name: "RunGraphSettings",
|
|
34946
34946
|
setup(i) {
|
|
34947
34947
|
const t = [Ga.topRight, Ga.bottomRight, Ga.topLeft, Ga.bottomLeft], e = [
|
|
@@ -34971,28 +34971,28 @@ const PP = { class: "flex items-center gap-2" }, LP = /* @__PURE__ */ Zm({
|
|
|
34971
34971
|
},
|
|
34972
34972
|
set(u) {
|
|
34973
34973
|
const [d, f] = u.split("_");
|
|
34974
|
-
|
|
34974
|
+
E5(d), I5(f);
|
|
34975
34975
|
}
|
|
34976
34976
|
}), n = gs({
|
|
34977
34977
|
get() {
|
|
34978
34978
|
return et.disableEdges;
|
|
34979
34979
|
},
|
|
34980
34980
|
set(u) {
|
|
34981
|
-
|
|
34981
|
+
A5(u);
|
|
34982
34982
|
}
|
|
34983
34983
|
}), s = gs({
|
|
34984
34984
|
get() {
|
|
34985
34985
|
return et.disableArtifacts;
|
|
34986
34986
|
},
|
|
34987
34987
|
set(u) {
|
|
34988
|
-
|
|
34988
|
+
M5(u);
|
|
34989
34989
|
}
|
|
34990
34990
|
}), o = gs({
|
|
34991
34991
|
get() {
|
|
34992
34992
|
return et.disableEvents;
|
|
34993
34993
|
},
|
|
34994
34994
|
set(u) {
|
|
34995
|
-
|
|
34995
|
+
R5(u);
|
|
34996
34996
|
}
|
|
34997
34997
|
});
|
|
34998
34998
|
function a() {
|
|
@@ -35016,7 +35016,7 @@ const PP = { class: "flex items-center gap-2" }, LP = /* @__PURE__ */ Zm({
|
|
|
35016
35016
|
}
|
|
35017
35017
|
}
|
|
35018
35018
|
function c() {
|
|
35019
|
-
|
|
35019
|
+
C5();
|
|
35020
35020
|
}
|
|
35021
35021
|
return (u, d) => {
|
|
35022
35022
|
const f = ls("p-radio-group"), p = ls("p-label"), m = ls("p-divider"), g = ls("p-checkbox"), y = ls("p-overflow-menu");
|
|
@@ -35055,7 +35055,7 @@ const PP = { class: "flex items-center gap-2" }, LP = /* @__PURE__ */ Zm({
|
|
|
35055
35055
|
me(m),
|
|
35056
35056
|
me(p, { label: "Scaling" }, {
|
|
35057
35057
|
default: on(() => [
|
|
35058
|
-
Su("div",
|
|
35058
|
+
Su("div", P5, [
|
|
35059
35059
|
me(sn(ka), {
|
|
35060
35060
|
title: "Decrease scale (-)",
|
|
35061
35061
|
small: "",
|
|
@@ -35106,7 +35106,7 @@ const PP = { class: "flex items-center gap-2" }, LP = /* @__PURE__ */ Zm({
|
|
|
35106
35106
|
});
|
|
35107
35107
|
};
|
|
35108
35108
|
}
|
|
35109
|
-
}),
|
|
35109
|
+
}), G5 = { class: "run-graph__actions" }, X5 = /* @__PURE__ */ Zm({
|
|
35110
35110
|
__name: "RunGraph",
|
|
35111
35111
|
props: {
|
|
35112
35112
|
config: {},
|
|
@@ -35124,7 +35124,7 @@ const PP = { class: "flex items-center gap-2" }, LP = /* @__PURE__ */ Zm({
|
|
|
35124
35124
|
s.value = u, r("update:fullscreen", u);
|
|
35125
35125
|
}
|
|
35126
35126
|
});
|
|
35127
|
-
wu(() => e.selected, (u) => zi(u)), Q.on("itemSelected", (u) => r("update:selected", u)), wu(() => e.viewport, (u) =>
|
|
35127
|
+
wu(() => e.selected, (u) => zi(u)), Q.on("itemSelected", (u) => r("update:selected", u)), wu(() => e.viewport, (u) => fM(u));
|
|
35128
35128
|
const a = gs(() => ({
|
|
35129
35129
|
root: {
|
|
35130
35130
|
"run-graph--fullscreen": o.value
|
|
@@ -35140,12 +35140,12 @@ const PP = { class: "flex items-center gap-2" }, LP = /* @__PURE__ */ Zm({
|
|
|
35140
35140
|
ex(() => {
|
|
35141
35141
|
if (!n.value)
|
|
35142
35142
|
throw new Error("Stage does not exist");
|
|
35143
|
-
|
|
35143
|
+
o5({
|
|
35144
35144
|
stage: n.value,
|
|
35145
35145
|
props: e
|
|
35146
35146
|
});
|
|
35147
35147
|
}), ix(() => {
|
|
35148
|
-
|
|
35148
|
+
a5();
|
|
35149
35149
|
}), Hm(["c", "f", "Escape"], c);
|
|
35150
35150
|
function c(u) {
|
|
35151
35151
|
if (!(Kb(u.target) || u.metaKey || u.ctrlKey))
|
|
@@ -35171,7 +35171,7 @@ const PP = { class: "flex items-center gap-2" }, LP = /* @__PURE__ */ Zm({
|
|
|
35171
35171
|
ref: n,
|
|
35172
35172
|
class: "run-graph__stage"
|
|
35173
35173
|
}, null, 512),
|
|
35174
|
-
Su("div",
|
|
35174
|
+
Su("div", G5, [
|
|
35175
35175
|
me(f, {
|
|
35176
35176
|
title: "Recenter graph (c)",
|
|
35177
35177
|
icon: "Target",
|
|
@@ -35184,24 +35184,24 @@ const PP = { class: "flex items-center gap-2" }, LP = /* @__PURE__ */ Zm({
|
|
|
35184
35184
|
flat: "",
|
|
35185
35185
|
onClick: h
|
|
35186
35186
|
}),
|
|
35187
|
-
me(
|
|
35187
|
+
me(L5)
|
|
35188
35188
|
])
|
|
35189
35189
|
], 2);
|
|
35190
35190
|
};
|
|
35191
35191
|
}
|
|
35192
35192
|
});
|
|
35193
35193
|
export {
|
|
35194
|
-
|
|
35195
|
-
|
|
35196
|
-
|
|
35197
|
-
|
|
35198
|
-
|
|
35199
|
-
|
|
35200
|
-
|
|
35194
|
+
X5 as RunGraph,
|
|
35195
|
+
dR as artifactTypeIconMap,
|
|
35196
|
+
O5 as artifactTypes,
|
|
35197
|
+
fR as isArtifactSelection,
|
|
35198
|
+
pR as isArtifactsSelection,
|
|
35199
|
+
gR as isEventSelection,
|
|
35200
|
+
yR as isEventsSelection,
|
|
35201
35201
|
zd as isNodeSelection,
|
|
35202
|
-
|
|
35203
|
-
|
|
35202
|
+
B5 as isRunGraphNodeType,
|
|
35203
|
+
mR as isStateSelection,
|
|
35204
35204
|
Ab as runGraphNodeKinds,
|
|
35205
|
-
|
|
35205
|
+
U5 as stateType
|
|
35206
35206
|
};
|
|
35207
35207
|
//# sourceMappingURL=graphs.mjs.map
|