manim-web 0.31.0 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40611,7 +40611,7 @@ var jg = class e {
40611
40611
  if (this.isHeadless) throw Error("export() is not available in headless mode. Create a Scene with a container for rendering and exporting.");
40612
40612
  let n = e.slice(e.lastIndexOf(".")).toLowerCase(), r;
40613
40613
  if (n === ".gif") {
40614
- let { GifExporter: n } = await Promise.resolve().then(() => QP);
40614
+ let { GifExporter: n } = await Promise.resolve().then(() => lF);
40615
40615
  r = await new n(this, {
40616
40616
  fps: t?.fps,
40617
40617
  quality: t?.quality,
@@ -40623,7 +40623,7 @@ var jg = class e {
40623
40623
  workers: t?.workers
40624
40624
  }).exportTimeline(t?.duration), n.download(r, e);
40625
40625
  } else if (n === ".webm" || n === ".mp4" || n === ".mov") {
40626
- let { VideoExporter: i } = await Promise.resolve().then(() => nF), a = n === ".mp4" ? "mp4" : n === ".mov" ? "mov" : "webm";
40626
+ let { VideoExporter: i } = await Promise.resolve().then(() => pF), a = n === ".mp4" ? "mp4" : n === ".mov" ? "mov" : "webm";
40627
40627
  r = await new i(this, {
40628
40628
  fps: t?.fps,
40629
40629
  quality: t?.quality,
@@ -74754,11 +74754,239 @@ function qP(e, t) {
74754
74754
  return new KP(e, t);
74755
74755
  }
74756
74756
  //#endregion
74757
+ //#region src/interaction/GamepadInput.ts
74758
+ var JP = {
74759
+ A: 0,
74760
+ B: 1,
74761
+ X: 2,
74762
+ Y: 3,
74763
+ LB: 4,
74764
+ RB: 5,
74765
+ LT: 6,
74766
+ RT: 7,
74767
+ select: 8,
74768
+ start: 9,
74769
+ L3: 10,
74770
+ R3: 11,
74771
+ dpadUp: 12,
74772
+ dpadDown: 13,
74773
+ dpadLeft: 14,
74774
+ dpadRight: 15,
74775
+ guide: 16
74776
+ }, YP = {
74777
+ leftX: 0,
74778
+ leftY: 1,
74779
+ rightX: 2,
74780
+ rightY: 3
74781
+ }, XP = {
74782
+ cross: "A",
74783
+ circle: "B",
74784
+ square: "X",
74785
+ triangle: "Y",
74786
+ l1: "LB",
74787
+ r1: "RB",
74788
+ l2: "LT",
74789
+ r2: "RT",
74790
+ back: "select",
74791
+ view: "select",
74792
+ menu: "start",
74793
+ home: "guide",
74794
+ up: "dpadUp",
74795
+ down: "dpadDown",
74796
+ left: "dpadLeft",
74797
+ right: "dpadRight"
74798
+ }, ZP = Object.fromEntries(Object.entries(JP).map(([e, t]) => [e.toLowerCase(), t]));
74799
+ function QP(e) {
74800
+ if (typeof e == "number") return e;
74801
+ let t = e.toLowerCase(), n = XP[t];
74802
+ return n ? JP[n] : ZP[t] ?? -1;
74803
+ }
74804
+ function $P(e) {
74805
+ return e || (typeof navigator < "u" && typeof navigator.getGamepads == "function" ? () => navigator.getGamepads() : null);
74806
+ }
74807
+ function eF(e) {
74808
+ return e || (typeof window < "u" && typeof window.addEventListener == "function" ? window : null);
74809
+ }
74810
+ function tF() {
74811
+ return $P() !== null;
74812
+ }
74813
+ var nF = class {
74814
+ _getGamepads;
74815
+ _eventTarget;
74816
+ _gamepadIndex;
74817
+ _deadzone;
74818
+ _down = /* @__PURE__ */ new Set();
74819
+ _pressed = /* @__PURE__ */ new Set();
74820
+ _released = /* @__PURE__ */ new Set();
74821
+ _axes = [];
74822
+ _buttonValues = [];
74823
+ _downCallbacks = /* @__PURE__ */ new Map();
74824
+ _upCallbacks = /* @__PURE__ */ new Map();
74825
+ _enabled = !1;
74826
+ _onConnect;
74827
+ _onDisconnect;
74828
+ constructor(e = {}, t, n) {
74829
+ this._getGamepads = $P(t), this._eventTarget = eF(n), this._gamepadIndex = e.gamepadIndex, this._deadzone = e.deadzone ?? .1, this._onConnect = this._handleConnect.bind(this), this._onDisconnect = this._handleDisconnect.bind(this), (e.autoEnable ?? !0) && this.enable();
74830
+ }
74831
+ get isEnabled() {
74832
+ return this._enabled;
74833
+ }
74834
+ get hasSource() {
74835
+ return this._getGamepads !== null;
74836
+ }
74837
+ get hasTarget() {
74838
+ return this._eventTarget !== null;
74839
+ }
74840
+ enable() {
74841
+ this._enabled ||= (this._eventTarget && (this._eventTarget.addEventListener("gamepadconnected", this._onConnect), this._eventTarget.addEventListener("gamepaddisconnected", this._onDisconnect)), !0);
74842
+ }
74843
+ disable() {
74844
+ this._eventTarget && (this._eventTarget.removeEventListener("gamepadconnected", this._onConnect), this._eventTarget.removeEventListener("gamepaddisconnected", this._onDisconnect)), this._enabled = !1, this.clear();
74845
+ }
74846
+ dispose() {
74847
+ this.disable(), this._downCallbacks.clear(), this._upCallbacks.clear();
74848
+ }
74849
+ clear() {
74850
+ this._down.clear(), this._pressed.clear(), this._released.clear(), this._axes = [], this._buttonValues = [];
74851
+ }
74852
+ poll() {
74853
+ this._pressed.clear(), this._released.clear();
74854
+ let e = this._readActivePad();
74855
+ if (!e) {
74856
+ this._releaseAll(), this._axes = [], this._buttonValues = [];
74857
+ return;
74858
+ }
74859
+ let t = e.buttons;
74860
+ for (let n = 0; n < t.length; n += 1) {
74861
+ let r = t[n]?.pressed ?? !1, i = this._down.has(n);
74862
+ r && !i ? (this._down.add(n), this._pressed.add(n), this._emit(this._downCallbacks, n, e)) : !r && i && (this._down.delete(n), this._released.add(n), this._emit(this._upCallbacks, n, e));
74863
+ }
74864
+ for (let n of [...this._down]) n >= t.length && (this._down.delete(n), this._released.add(n), this._emit(this._upCallbacks, n, e));
74865
+ this._axes = [...e.axes], this._buttonValues = t.map((e) => e?.value ?? 0);
74866
+ }
74867
+ update(e = 0) {
74868
+ this.poll();
74869
+ }
74870
+ isButtonDown(e) {
74871
+ let t = QP(e);
74872
+ return t >= 0 && this._down.has(t);
74873
+ }
74874
+ anyButtonDown() {
74875
+ return this._down.size > 0;
74876
+ }
74877
+ wasButtonPressed(e) {
74878
+ let t = QP(e);
74879
+ return t >= 0 && this._pressed.has(t);
74880
+ }
74881
+ wasButtonReleased(e) {
74882
+ let t = QP(e);
74883
+ return t >= 0 && this._released.has(t);
74884
+ }
74885
+ getButtonValue(e) {
74886
+ let t = QP(e);
74887
+ return t < 0 ? 0 : this._buttonValues[t] ?? 0;
74888
+ }
74889
+ getAxis(e, t = this._deadzone) {
74890
+ return this._applyDeadzone(this._axes[e] ?? 0, t);
74891
+ }
74892
+ getLeftStick() {
74893
+ return [this.getAxis(YP.leftX), 0 - this.getAxis(YP.leftY)];
74894
+ }
74895
+ getRightStick() {
74896
+ return [this.getAxis(YP.rightX), 0 - this.getAxis(YP.rightY)];
74897
+ }
74898
+ getDirectionVector() {
74899
+ let e = !!this.isButtonDown("dpadRight") - +!!this.isButtonDown("dpadLeft"), t = !!this.isButtonDown("dpadUp") - +!!this.isButtonDown("dpadDown");
74900
+ if (e !== 0 || t !== 0) return rF(e, t);
74901
+ let [n, r] = this.getLeftStick();
74902
+ return rF(n, r);
74903
+ }
74904
+ getConnectedGamepads() {
74905
+ if (!this._getGamepads) return [];
74906
+ try {
74907
+ return [...this._getGamepads()].filter((e) => e != null && (e.connected ?? !0));
74908
+ } catch {
74909
+ return [];
74910
+ }
74911
+ }
74912
+ onButtonDown(e, t) {
74913
+ return this._addCallback(this._downCallbacks, e, t);
74914
+ }
74915
+ onButtonUp(e, t) {
74916
+ return this._addCallback(this._upCallbacks, e, t);
74917
+ }
74918
+ bindBool(e, t, n) {
74919
+ let r = this.onButtonDown(n, () => e.setInput(t, !0)), i = this.onButtonUp(n, () => e.setInput(t, !1));
74920
+ return () => {
74921
+ r(), i();
74922
+ };
74923
+ }
74924
+ bindTrigger(e, t, n) {
74925
+ return this.onButtonDown(n, () => e.fire(t));
74926
+ }
74927
+ bindValue(e, t, n) {
74928
+ let r = n.releasedValue ?? 0, i = this.onButtonDown(t, () => e.setValue(n.heldValue)), a = this.onButtonUp(t, () => e.setValue(r));
74929
+ return () => {
74930
+ i(), a();
74931
+ };
74932
+ }
74933
+ _readActivePad() {
74934
+ if (!this._getGamepads) return null;
74935
+ let e;
74936
+ try {
74937
+ e = this._getGamepads() ?? [];
74938
+ } catch {
74939
+ return null;
74940
+ }
74941
+ if (this._gamepadIndex != null) return e[this._gamepadIndex] ?? null;
74942
+ for (let t of e) if (t && (t.connected ?? !0)) return t;
74943
+ return null;
74944
+ }
74945
+ _releaseAll() {
74946
+ if (this._down.size !== 0) {
74947
+ for (let e of [...this._down]) this._released.add(e), this._emit(this._upCallbacks, e, null);
74948
+ this._down.clear();
74949
+ }
74950
+ }
74951
+ _applyDeadzone(e, t) {
74952
+ return Math.abs(e) < t ? 0 : e;
74953
+ }
74954
+ _addCallback(e, t, n) {
74955
+ let r = this._callbackKey(t), i = e.get(r) ?? /* @__PURE__ */ new Set();
74956
+ return i.add(n), e.set(r, i), () => {
74957
+ i.delete(n), i.size === 0 && e.delete(r);
74958
+ };
74959
+ }
74960
+ _callbackKey(e) {
74961
+ if (e === "any") return "any";
74962
+ let t = QP(e);
74963
+ return t < 0 && i.warn(`[manim-web] GamepadInput: unknown button "${String(e)}".`), t;
74964
+ }
74965
+ _emit(e, t, n) {
74966
+ e.get(t)?.forEach((e) => e(t, n)), e.get("any")?.forEach((e) => e(t, n));
74967
+ }
74968
+ _handleConnect(e) {
74969
+ let t = e.gamepad;
74970
+ i.info(`[manim-web] GamepadInput: gamepad connected (index ${t?.index ?? "?"}).`);
74971
+ }
74972
+ _handleDisconnect(e) {
74973
+ let t = e.gamepad;
74974
+ i.info(`[manim-web] GamepadInput: gamepad disconnected (index ${t?.index ?? "?"}).`);
74975
+ }
74976
+ };
74977
+ function rF(e, t) {
74978
+ let n = Math.hypot(e, t);
74979
+ return n === 0 ? [0, 0] : [e / n, t / n];
74980
+ }
74981
+ function iF(e, t, n) {
74982
+ return new nF(e, t, n);
74983
+ }
74984
+ //#endregion
74757
74985
  //#region src/interaction/PanZoomControls.ts
74758
- function JP(e, t, n) {
74986
+ function aF(e, t, n) {
74759
74987
  return Math.max(t, Math.min(n, e));
74760
74988
  }
74761
- var YP = class {
74989
+ var oF = class {
74762
74990
  _camera;
74763
74991
  _domElement;
74764
74992
  _options;
@@ -74810,7 +75038,7 @@ var YP = class {
74810
75038
  if (!this._enabled || !this._options.enableZoom) return;
74811
75039
  let t = this._eventToNdc(e.clientX, e.clientY);
74812
75040
  if (!t) return;
74813
- let n = this._worldAt(t.x, t.y), r = this._options.invertZoom ? -e.deltaY : e.deltaY, i = Math.exp(r * this._options.zoomSpeed), a = this._baseFrameWidth / this._options.maxZoom, o = this._baseFrameWidth / this._options.minZoom, s = JP(this._camera.frameWidth * i, a, o) / this._camera.frameWidth;
75041
+ let n = this._worldAt(t.x, t.y), r = this._options.invertZoom ? -e.deltaY : e.deltaY, i = Math.exp(r * this._options.zoomSpeed), a = this._baseFrameWidth / this._options.maxZoom, o = this._baseFrameWidth / this._options.minZoom, s = aF(this._camera.frameWidth * i, a, o) / this._camera.frameWidth;
74814
75042
  if (s === 1) return;
74815
75043
  this._camera.frameWidth = this._camera.frameWidth * s, this._camera.frameHeight = this._camera.frameHeight * s;
74816
75044
  let c = n.x - t.x * this._camera.frameWidth / 2, l = n.y - t.y * this._camera.frameHeight / 2;
@@ -74859,12 +75087,12 @@ var YP = class {
74859
75087
  this._options.onChange?.();
74860
75088
  }
74861
75089
  };
74862
- function XP(e, t, n) {
74863
- return new YP(e, t, n);
75090
+ function sF(e, t, n) {
75091
+ return new oF(e, t, n);
74864
75092
  }
74865
75093
  //#endregion
74866
75094
  //#region node_modules/gif.js/dist/gif.js
74867
- var ZP = /* @__PURE__ */ r(((e, t) => {
75095
+ var cF = /* @__PURE__ */ r(((e, t) => {
74868
75096
  (function(n) {
74869
75097
  if (typeof e == "object" && t !== void 0) t.exports = n();
74870
75098
  else if (typeof define == "function" && define.amd) define([], n);
@@ -75118,10 +75346,10 @@ var ZP = /* @__PURE__ */ r(((e, t) => {
75118
75346
  }]
75119
75347
  }, {}, [3])(3);
75120
75348
  });
75121
- })), QP = /* @__PURE__ */ t({
75122
- GifExporter: () => eF,
75123
- createGifExporter: () => tF
75124
- }), $P = /* @__PURE__ */ e(ZP(), 1), eF = class e {
75349
+ })), lF = /* @__PURE__ */ t({
75350
+ GifExporter: () => dF,
75351
+ createGifExporter: () => fF
75352
+ }), uF = /* @__PURE__ */ e(cF(), 1), dF = class e {
75125
75353
  _scene;
75126
75354
  _options;
75127
75355
  constructor(e, t) {
@@ -75139,7 +75367,7 @@ var ZP = /* @__PURE__ */ r(((e, t) => {
75139
75367
  };
75140
75368
  }
75141
75369
  async exportTimeline(e) {
75142
- let t = (e || this._options.duration || this._getTimelineDuration()) ?? 5, n = Math.ceil(t * this._options.fps), r = Math.round(1e3 / this._options.fps), i = await this._createWorkerBlobUrl(), a = new $P.default({
75370
+ let t = (e || this._options.duration || this._getTimelineDuration()) ?? 5, n = Math.ceil(t * this._options.fps), r = Math.round(1e3 / this._options.fps), i = await this._createWorkerBlobUrl(), a = new uF.default({
75143
75371
  workers: this._options.workers,
75144
75372
  quality: this._options.quality,
75145
75373
  width: this._options.width,
@@ -75198,15 +75426,15 @@ var ZP = /* @__PURE__ */ r(((e, t) => {
75198
75426
  e.download(r, t);
75199
75427
  }
75200
75428
  };
75201
- function tF(e, t) {
75202
- return new eF(e, t);
75429
+ function fF(e, t) {
75430
+ return new dF(e, t);
75203
75431
  }
75204
75432
  //#endregion
75205
75433
  //#region src/export/VideoExporter.ts
75206
- var nF = /* @__PURE__ */ t({
75207
- VideoExporter: () => rF,
75208
- createVideoExporter: () => iF
75209
- }), rF = class e {
75434
+ var pF = /* @__PURE__ */ t({
75435
+ VideoExporter: () => mF,
75436
+ createVideoExporter: () => hF
75437
+ }), mF = class e {
75210
75438
  _scene;
75211
75439
  _options;
75212
75440
  _mediaRecorder = null;
@@ -75298,26 +75526,26 @@ var nF = /* @__PURE__ */ t({
75298
75526
  return { ...this._options };
75299
75527
  }
75300
75528
  };
75301
- function iF(e, t) {
75302
- return new rF(e, t);
75529
+ function hF(e, t) {
75530
+ return new mF(e, t);
75303
75531
  }
75304
75532
  //#endregion
75305
75533
  //#region src/export/alphaBackground.ts
75306
- var aF = "Transparent export needs a WebGL context created with an alpha channel. Create the Scene with { alpha: true } (or backgroundOpacity < 1) so the canvas carries a real alpha channel to export.", oF = "Transparent export needs access to the WebGL renderer, but the scene did not expose one.";
75307
- function sF(e) {
75534
+ var gF = "Transparent export needs a WebGL context created with an alpha channel. Create the Scene with { alpha: true } (or backgroundOpacity < 1) so the canvas carries a real alpha channel to export.", _F = "Transparent export needs access to the WebGL renderer, but the scene did not expose one.";
75535
+ function vF(e) {
75308
75536
  let t = e.renderer;
75309
75537
  return !t || typeof t.getThreeRenderer != "function" ? null : t.getThreeRenderer() ?? null;
75310
75538
  }
75311
- function cF(e) {
75539
+ function yF(e) {
75312
75540
  return e.getContext().getContextAttributes()?.alpha === !0;
75313
75541
  }
75314
- function lF(e) {
75315
- let t = sF(e);
75316
- if (!t) throw Error(oF);
75317
- if (!cF(t)) throw Error(aF);
75542
+ function bF(e) {
75543
+ let t = vF(e);
75544
+ if (!t) throw Error(_F);
75545
+ if (!yF(t)) throw Error(gF);
75318
75546
  return t;
75319
75547
  }
75320
- async function uF(e, t) {
75548
+ async function xF(e, t) {
75321
75549
  let n = e.getClearAlpha();
75322
75550
  e.setClearAlpha(0);
75323
75551
  try {
@@ -75328,7 +75556,7 @@ async function uF(e, t) {
75328
75556
  }
75329
75557
  //#endregion
75330
75558
  //#region src/export/FrameExporter.ts
75331
- function dF(e, t, n) {
75559
+ function SF(e, t, n) {
75332
75560
  return new Promise((r, i) => {
75333
75561
  if (typeof e.toBlob == "function") {
75334
75562
  e.toBlob((e) => {
@@ -75337,22 +75565,22 @@ function dF(e, t, n) {
75337
75565
  return;
75338
75566
  }
75339
75567
  try {
75340
- r(fF(e.toDataURL(t, n)));
75568
+ r(CF(e.toDataURL(t, n)));
75341
75569
  } catch (e) {
75342
75570
  i(e instanceof Error ? e : Error(String(e)));
75343
75571
  }
75344
75572
  });
75345
75573
  }
75346
- function fF(e) {
75574
+ function CF(e) {
75347
75575
  let [t, n] = e.split(","), r = t.match(/data:([^;]+)/), i = r ? r[1] : "image/png", a = atob(n), o = new Uint8Array(a.length);
75348
75576
  for (let e = 0; e < a.length; e++) o[e] = a.charCodeAt(e);
75349
75577
  return new Blob([o], { type: i });
75350
75578
  }
75351
- async function pF(e, t) {
75579
+ async function wF(e, t) {
75352
75580
  let n = t?.type ?? "image/png";
75353
- return t?.transparent ? uF(lF(e), () => (mF(e, t?.time), dF(e.getCanvas(), n, t?.quality))) : (t?.time !== void 0 && e.seek(t.time), dF(e.getCanvas(), n, t?.quality));
75581
+ return t?.transparent ? xF(bF(e), () => (TF(e, t?.time), SF(e.getCanvas(), n, t?.quality))) : (t?.time !== void 0 && e.seek(t.time), SF(e.getCanvas(), n, t?.quality));
75354
75582
  }
75355
- function mF(e, t) {
75583
+ function TF(e, t) {
75356
75584
  if (t !== void 0) {
75357
75585
  e.seek(t);
75358
75586
  return;
@@ -75363,29 +75591,29 @@ function mF(e, t) {
75363
75591
  }
75364
75592
  throw Error("Transparent single-frame export needs either a `time` to seek to, or a scene with a render() method, so the frame is re-rendered with a transparent background.");
75365
75593
  }
75366
- async function hF(e, t) {
75594
+ async function EF(e, t) {
75367
75595
  let n = t.fps, r = t.from ?? 0, i = t.to ?? e.getTimelineDuration() ?? 5, a = t.type ?? "image/png", o = t.onProgress ?? (() => {}), s = Math.max(0, i - r), c = Math.ceil(s * n), l = 1 / n, u = async () => {
75368
75596
  let n = [];
75369
75597
  for (let i = 0; i < c; i++) {
75370
75598
  let s = r + i * l;
75371
75599
  e.seek(s);
75372
75600
  let u = e.getCanvas();
75373
- n.push(await dF(u, a, t.quality)), o((i + 1) / c);
75601
+ n.push(await SF(u, a, t.quality)), o((i + 1) / c);
75374
75602
  }
75375
75603
  return n;
75376
75604
  };
75377
- return t.transparent ? uF(lF(e), u) : u();
75605
+ return t.transparent ? xF(bF(e), u) : u();
75378
75606
  }
75379
- function gF(e, t) {
75607
+ function DF(e, t) {
75380
75608
  let n = URL.createObjectURL(e), r = document.createElement("a");
75381
75609
  r.href = n, r.download = t, document.body.appendChild(r), r.click(), document.body.removeChild(r), URL.revokeObjectURL(n);
75382
75610
  }
75383
- async function _F(e, t = "frame.png", n) {
75384
- gF(await pF(e, n), t);
75611
+ async function OF(e, t = "frame.png", n) {
75612
+ DF(await wF(e, n), t);
75385
75613
  }
75386
75614
  //#endregion
75387
75615
  //#region src/export/WebCodecsExporter.ts
75388
- var vF = {
75616
+ var kF = {
75389
75617
  avc: {
75390
75618
  encoderCodec: "avc1.42001f",
75391
75619
  mp4Codec: "avc",
@@ -75406,7 +75634,7 @@ var vF = {
75406
75634
  mp4Codec: "av1",
75407
75635
  webmCodec: "V_AV1"
75408
75636
  }
75409
- }, yF = class e {
75637
+ }, AF = class e {
75410
75638
  _scene;
75411
75639
  _options;
75412
75640
  constructor(e, t) {
@@ -75430,8 +75658,8 @@ var vF = {
75430
75658
  }
75431
75659
  async export() {
75432
75660
  if (!e.isSupported()) throw Error("WebCodecs VideoEncoder is not available in this environment. Use VideoExporter (MediaRecorder) instead to export video.");
75433
- let t = this._options, n = t.duration || this._scene.getTimelineDuration() || 5, r = Math.ceil(n * t.fps), a = vF[t.codec], o = null;
75434
- t.alpha && (this._assertAlphaCodec(), o = lF(this._scene), await this._assertAlphaEncodeSupport(a));
75661
+ let t = this._options, n = t.duration || this._scene.getTimelineDuration() || 5, r = Math.ceil(n * t.fps), a = kF[t.codec], o = null;
75662
+ t.alpha && (this._assertAlphaCodec(), o = bF(this._scene), await this._assertAlphaEncodeSupport(a));
75435
75663
  let s = await this._createMuxer(a), c = new window.VideoEncoder({
75436
75664
  output: (e, t) => s.addVideoChunk(e, t),
75437
75665
  error: (e) => i.error("WebCodecs encoder error:", e)
@@ -75455,7 +75683,7 @@ var vF = {
75455
75683
  c.encode(i, { keyFrame: e % t.keyFrameInterval === 0 }), i.close(), t.onProgress(r === 0 ? 1 : (e + 1) / r);
75456
75684
  }
75457
75685
  };
75458
- return o ? await uF(o, f) : f(), await c.flush(), c.close(), s.finalize();
75686
+ return o ? await xF(o, f) : f(), await c.flush(), c.close(), s.finalize();
75459
75687
  }
75460
75688
  _assertAlphaCodec() {
75461
75689
  let e = this._options;
@@ -75511,30 +75739,30 @@ var vF = {
75511
75739
  return { ...this._options };
75512
75740
  }
75513
75741
  };
75514
- function bF(e, t) {
75515
- return new yF(e, t);
75742
+ function jF(e, t) {
75743
+ return new AF(e, t);
75516
75744
  }
75517
75745
  //#endregion
75518
75746
  //#region src/export/chooseExporter.ts
75519
- function xF(e = yF.isSupported()) {
75747
+ function MF(e = AF.isSupported()) {
75520
75748
  return e ? "webcodecs" : "mediarecorder";
75521
75749
  }
75522
75750
  //#endregion
75523
75751
  //#region src/export/SvgExporter.ts
75524
- var SF = 3;
75525
- function CF(e, t) {
75752
+ var NF = 3;
75753
+ function PF(e, t) {
75526
75754
  if (!Number.isFinite(e)) return "0";
75527
75755
  let n = Number(e.toFixed(t));
75528
75756
  return String(Object.is(n, -0) ? 0 : n);
75529
75757
  }
75530
- function wF(e) {
75758
+ function FF(e) {
75531
75759
  return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
75532
75760
  }
75533
- function TF(e, t, n) {
75761
+ function IF(e, t, n) {
75534
75762
  let r = e.position.x, i = e.position.y, a = e.frameWidth || 1, o = e.frameHeight || 1;
75535
75763
  return (e) => [(e[0] - r) / a * t + t / 2, n / 2 - (e[1] - i) / o * n];
75536
75764
  }
75537
- function EF(e, t) {
75765
+ function LF(e, t) {
75538
75766
  if (!t || t.length <= 1) return [e];
75539
75767
  let n = [], r = 0;
75540
75768
  for (let i of t) {
@@ -75543,11 +75771,11 @@ function EF(e, t) {
75543
75771
  }
75544
75772
  return r === e.length ? n : [e];
75545
75773
  }
75546
- function DF(e, t, n) {
75774
+ function RF(e, t, n) {
75547
75775
  if (e.length < 4) return null;
75548
75776
  let r = (e) => {
75549
75777
  let [r, i] = t(e);
75550
- return `${CF(r, n)} ${CF(i, n)}`;
75778
+ return `${PF(r, n)} ${PF(i, n)}`;
75551
75779
  }, i = [`M ${r(e[0])}`], a = Math.floor((e.length - 1) / 3);
75552
75780
  for (let t = 0; t < a; t++) {
75553
75781
  let n = e[3 * t + 1], a = e[3 * t + 2], o = e[3 * t + 3];
@@ -75555,65 +75783,65 @@ function DF(e, t, n) {
75555
75783
  }
75556
75784
  return Xi(e) && i.push("Z"), i.join(" ");
75557
75785
  }
75558
- function OF(e) {
75786
+ function zF(e) {
75559
75787
  return e.style.fillColor ?? e.color;
75560
75788
  }
75561
- function kF(e, t, n, r) {
75789
+ function BF(e, t, n, r) {
75562
75790
  let i = e.getPoints();
75563
75791
  if (i.length < 4) return null;
75564
- let a = EF(i, e.getEffectiveSubpathLengths()), o = [];
75792
+ let a = LF(i, e.getEffectiveSubpathLengths()), o = [];
75565
75793
  for (let e of a) {
75566
- let n = DF(e, t, r);
75794
+ let n = RF(e, t, r);
75567
75795
  n && o.push(n);
75568
75796
  }
75569
75797
  if (o.length === 0) return null;
75570
75798
  let s = e.fillOpacity > 0, c = e.strokeWidth > 0;
75571
75799
  if (!s && !c) return null;
75572
75800
  let l = [`d="${o.join(" ")}"`];
75573
- return s ? (l.push(`fill="${wF(OF(e))}"`), l.push("fill-rule=\"nonzero\""), e.fillOpacity < 1 && l.push(`fill-opacity="${CF(e.fillOpacity, r)}"`)) : l.push("fill=\"none\""), c && (l.push(`stroke="${wF(e.color)}"`), l.push(`stroke-width="${CF(e.strokeWidth * n, r)}"`), l.push("stroke-linejoin=\"round\""), l.push("stroke-linecap=\"round\""), e.opacity < 1 && l.push(`stroke-opacity="${CF(e.opacity, r)}"`)), `<path ${l.join(" ")} />`;
75801
+ return s ? (l.push(`fill="${FF(zF(e))}"`), l.push("fill-rule=\"nonzero\""), e.fillOpacity < 1 && l.push(`fill-opacity="${PF(e.fillOpacity, r)}"`)) : l.push("fill=\"none\""), c && (l.push(`stroke="${FF(e.color)}"`), l.push(`stroke-width="${PF(e.strokeWidth * n, r)}"`), l.push("stroke-linejoin=\"round\""), l.push("stroke-linecap=\"round\""), e.opacity < 1 && l.push(`stroke-opacity="${PF(e.opacity, r)}"`)), `<path ${l.join(" ")} />`;
75574
75802
  }
75575
- function AF(e) {
75803
+ function VF(e) {
75576
75804
  return e instanceof I && e.getPoints().length >= 4;
75577
75805
  }
75578
- function jF(e, t) {
75579
- let n = t?.precision ?? SF, r = e.getWidth(), i = e.getHeight(), a = e.camera, o = TF(a, r, i), s = .01 * r / (a.frameWidth || 1), c = [];
75806
+ function HF(e, t) {
75807
+ let n = t?.precision ?? NF, r = e.getWidth(), i = e.getHeight(), a = e.camera, o = IF(a, r, i), s = .01 * r / (a.frameWidth || 1), c = [];
75580
75808
  for (let t of e.mobjects) {
75581
75809
  let e = [];
75582
75810
  for (let r of t.getFamily()) {
75583
- if (!AF(r)) continue;
75584
- let t = kF(r, o, s, n);
75811
+ if (!VF(r)) continue;
75812
+ let t = BF(r, o, s, n);
75585
75813
  t && e.push(t);
75586
75814
  }
75587
75815
  if (e.length === 0) continue;
75588
- let r = t.userId ? ` data-mobject-id="${wF(t.userId)}"` : "";
75816
+ let r = t.userId ? ` data-mobject-id="${FF(t.userId)}"` : "";
75589
75817
  c.push(` <g${r}>\n ${e.join("\n ")}\n </g>`);
75590
75818
  }
75591
- let l = CF(r, n), u = CF(i, n);
75592
- return `${`<svg xmlns="http://www.w3.org/2000/svg" width="${l}" height="${u}" viewBox="0 0 ${l} ${u}">`}${t?.background ? `\n <rect x="0" y="0" width="${l}" height="${u}" fill="${wF(t.background)}" />` : ""}${c.length > 0 ? `\n${c.join("\n")}\n` : "\n"}</svg>`;
75819
+ let l = PF(r, n), u = PF(i, n);
75820
+ return `${`<svg xmlns="http://www.w3.org/2000/svg" width="${l}" height="${u}" viewBox="0 0 ${l} ${u}">`}${t?.background ? `\n <rect x="0" y="0" width="${l}" height="${u}" fill="${FF(t.background)}" />` : ""}${c.length > 0 ? `\n${c.join("\n")}\n` : "\n"}</svg>`;
75593
75821
  }
75594
- function MF(e, t) {
75595
- let n = jF(e, t);
75822
+ function UF(e, t) {
75823
+ let n = HF(e, t);
75596
75824
  return new Blob([n], { type: "image/svg+xml" });
75597
75825
  }
75598
- function NF(e, t = "scene.svg", n) {
75826
+ function WF(e, t = "scene.svg", n) {
75599
75827
  if (typeof document > "u") throw Error("exportAndDownloadSVG requires a DOM (document is undefined)");
75600
- gF(MF(e, n), t);
75828
+ DF(UF(e, n), t);
75601
75829
  }
75602
75830
  //#endregion
75603
75831
  //#region src/export/SlideDeckExporter.ts
75604
- var PF = "PNG";
75605
- function FF(e, t) {
75832
+ var GF = "PNG";
75833
+ function KF(e, t) {
75606
75834
  return e.seek(t), {
75607
75835
  dataUrl: e.getCanvas().toDataURL("image/png"),
75608
75836
  width: e.getWidth(),
75609
75837
  height: e.getHeight()
75610
75838
  };
75611
75839
  }
75612
- async function IF(e) {
75840
+ async function qF(e) {
75613
75841
  let { jsPDF: t } = await import("./jspdf.es.min-CvMJL6nS.js");
75614
75842
  return new t(e);
75615
75843
  }
75616
- function LF(e, t, n, r) {
75844
+ function JF(e, t, n, r) {
75617
75845
  let i = e > 0 ? e : 1, a = t > 0 ? t : 1, o = Math.min(n / i, r / a), s = i * o, c = a * o;
75618
75846
  return {
75619
75847
  x: (n - s) / 2,
@@ -75622,33 +75850,33 @@ function LF(e, t, n, r) {
75622
75850
  h: c
75623
75851
  };
75624
75852
  }
75625
- function RF(e, t) {
75853
+ function YF(e, t) {
75626
75854
  return t === "first" ? e.startTime : e.endTime;
75627
75855
  }
75628
- async function zF(e, t) {
75856
+ async function XF(e, t) {
75629
75857
  let n = e.timeline.getSlides();
75630
75858
  if (n.length === 0) return null;
75631
- let r = t?.still ?? "last", i = t?.orientation ?? "landscape", a = t?.pageSize ?? "a4", o = t?.unit ?? "pt", s = t?.imageFormat ?? PF, c = t?.background, l = t?.captureSlide ?? FF, u = t?.pdfFactory ?? IF, d = t?.onProgress ?? (() => {}), f = await u({
75859
+ let r = t?.still ?? "last", i = t?.orientation ?? "landscape", a = t?.pageSize ?? "a4", o = t?.unit ?? "pt", s = t?.imageFormat ?? GF, c = t?.background, l = t?.captureSlide ?? KF, u = t?.pdfFactory ?? qF, d = t?.onProgress ?? (() => {}), f = await u({
75632
75860
  orientation: i,
75633
75861
  unit: o,
75634
75862
  format: a
75635
75863
  }), p = f.internal.pageSize.getWidth(), m = f.internal.pageSize.getHeight();
75636
75864
  for (let t = 0; t < n.length; t++) {
75637
75865
  t > 0 && f.addPage(a, i), c && (f.setFillColor(c[0], c[1], c[2]), f.rect(0, 0, p, m, "F"));
75638
- let o = await l(e.scene, RF(n[t], r)), u = LF(o.width, o.height, p, m);
75866
+ let o = await l(e.scene, YF(n[t], r)), u = JF(o.width, o.height, p, m);
75639
75867
  f.addImage(o.dataUrl, s, u.x, u.y, u.w, u.h), d((t + 1) / n.length);
75640
75868
  }
75641
75869
  return f.output("blob");
75642
75870
  }
75643
- async function BF(e, t = "slides.pdf", n) {
75871
+ async function ZF(e, t = "slides.pdf", n) {
75644
75872
  if (typeof document > "u") {
75645
75873
  i.warn("exportAndDownloadSlidesToPDF: no DOM available, skipping download.");
75646
75874
  return;
75647
75875
  }
75648
- let r = await zF(e, n);
75649
- r && gF(r, t);
75876
+ let r = await XF(e, n);
75877
+ r && DF(r, t);
75650
75878
  }
75651
- async function VF() {
75879
+ async function QF() {
75652
75880
  let e;
75653
75881
  try {
75654
75882
  e = await import(
@@ -75660,14 +75888,14 @@ async function VF() {
75660
75888
  }
75661
75889
  return new (e.default ?? e)();
75662
75890
  }
75663
- async function HF(e, t) {
75891
+ async function $F(e, t) {
75664
75892
  let n = e.timeline.getSlides();
75665
75893
  if (n.length === 0) return null;
75666
- let r = t?.still ?? "last", i = t?.slideWidth ?? 13.333, a = t?.slideHeight ?? 7.5, o = t?.background, s = t?.captureSlide ?? FF, c = t?.pptxFactory ?? VF, l = t?.onProgress ?? (() => {}), u = await c();
75894
+ let r = t?.still ?? "last", i = t?.slideWidth ?? 13.333, a = t?.slideHeight ?? 7.5, o = t?.background, s = t?.captureSlide ?? KF, c = t?.pptxFactory ?? QF, l = t?.onProgress ?? (() => {}), u = await c();
75667
75895
  for (let t = 0; t < n.length; t++) {
75668
75896
  let c = u.addSlide();
75669
75897
  o && (c.background = { color: o });
75670
- let d = await s(e.scene, RF(n[t], r));
75898
+ let d = await s(e.scene, YF(n[t], r));
75671
75899
  c.addImage({
75672
75900
  data: d.dataUrl,
75673
75901
  x: 0,
@@ -75685,7 +75913,7 @@ async function HF(e, t) {
75685
75913
  }
75686
75914
  //#endregion
75687
75915
  //#region src/player/ExportSettingsUI.ts
75688
- var UF = [
75916
+ var eI = [
75689
75917
  {
75690
75918
  id: "current",
75691
75919
  label: "Current",
@@ -75722,11 +75950,11 @@ var UF = [
75722
75950
  width: 3840,
75723
75951
  height: 2160
75724
75952
  }
75725
- ], WF = [
75953
+ ], tI = [
75726
75954
  24,
75727
75955
  30,
75728
75956
  60
75729
- ], GF = [
75957
+ ], nI = [
75730
75958
  {
75731
75959
  id: "low",
75732
75960
  label: "Low",
@@ -75742,12 +75970,12 @@ var UF = [
75742
75970
  label: "High",
75743
75971
  value: .9
75744
75972
  }
75745
- ], KF = 1e7;
75746
- function qF(e) {
75747
- return Math.round(Math.max(0, Math.min(1, e)) * KF);
75973
+ ], rI = 1e7;
75974
+ function iI(e) {
75975
+ return Math.round(Math.max(0, Math.min(1, e)) * rI);
75748
75976
  }
75749
- function JF(e, t, n) {
75750
- let r = UF.find((t) => t.id === e);
75977
+ function aI(e, t, n) {
75978
+ let r = eI.find((t) => t.id === e);
75751
75979
  return !r || r.width === null || r.height === null ? {
75752
75980
  width: t,
75753
75981
  height: n
@@ -75756,7 +75984,7 @@ function JF(e, t, n) {
75756
75984
  height: r.height
75757
75985
  };
75758
75986
  }
75759
- var YF = class {
75987
+ var oI = class {
75760
75988
  _element;
75761
75989
  _fpsSelect;
75762
75990
  _resolutionSelect;
@@ -75769,22 +75997,22 @@ var YF = class {
75769
75997
  display: "flex",
75770
75998
  flexDirection: "column",
75771
75999
  gap: "6px"
75772
- }), this._element.setAttribute("data-export-settings", ""), this._fpsSelect = this._buildSelect("FPS", WF.map((e) => ({
76000
+ }), this._element.setAttribute("data-export-settings", ""), this._fpsSelect = this._buildSelect("FPS", tI.map((e) => ({
75773
76001
  value: String(e),
75774
76002
  label: `${e} fps`
75775
- })), String(this._nearestFps(e.fps))), this._resolutionSelect = this._buildSelect("Resolution", UF.map((e) => ({
76003
+ })), String(this._nearestFps(e.fps))), this._resolutionSelect = this._buildSelect("Resolution", eI.map((e) => ({
75776
76004
  value: e.id,
75777
76005
  label: e.label
75778
- })), "current"), this._qualitySelect = this._buildSelect("Quality", GF.map((e) => ({
76006
+ })), "current"), this._qualitySelect = this._buildSelect("Quality", nI.map((e) => ({
75779
76007
  value: String(e.value),
75780
76008
  label: e.label
75781
- })), String(GF[GF.length - 1].value));
76009
+ })), String(nI[nI.length - 1].value));
75782
76010
  }
75783
76011
  get element() {
75784
76012
  return this._element;
75785
76013
  }
75786
76014
  getSettings() {
75787
- let e = parseInt(this._fpsSelect.value, 10), { width: t, height: n } = JF(this._resolutionSelect.value, this._defaults.width, this._defaults.height);
76015
+ let e = parseInt(this._fpsSelect.value, 10), { width: t, height: n } = aI(this._resolutionSelect.value, this._defaults.width, this._defaults.height);
75788
76016
  return {
75789
76017
  fps: e,
75790
76018
  width: t,
@@ -75793,7 +76021,7 @@ var YF = class {
75793
76021
  };
75794
76022
  }
75795
76023
  _nearestFps(e) {
75796
- return WF.reduce((t, n) => Math.abs(n - e) < Math.abs(t - e) ? n : t);
76024
+ return tI.reduce((t, n) => Math.abs(n - e) < Math.abs(t - e) ? n : t);
75797
76025
  }
75798
76026
  _buildSelect(e, t, n) {
75799
76027
  let r = document.createElement("label");
@@ -75824,7 +76052,7 @@ var YF = class {
75824
76052
  }
75825
76053
  return a.value = n, a.addEventListener("click", (e) => e.stopPropagation()), r.appendChild(i), r.appendChild(a), this._element.appendChild(r), a;
75826
76054
  }
75827
- }, XF = class {
76055
+ }, sI = class {
75828
76056
  _container;
75829
76057
  _bar;
75830
76058
  _playBtn;
@@ -75860,19 +76088,19 @@ var YF = class {
75860
76088
  this._container = e, this._callbacks = t, this._autoHideMs = n.autoHideMs ?? 2500, this._exportControls = n.exportControls ?? !1, getComputedStyle(e).position === "static" && (e.style.position = "relative"), e.style.overflow = "hidden", this._bar = this._createBar(), this._playBtn = this._createPlayBtn(), this._prevBtn = this._createNavBtn("prev"), this._nextBtn = this._createNavBtn("next");
75861
76089
  let r = this._createProgressBar();
75862
76090
  this._progressWrap = r.wrap, this._progressFill = r.fill, this._segmentMarkers = r.markers, this._timeDisplay = this._createTimeDisplay(), this._speedSelect = this._createSpeedSelect(), this._fullscreenBtn = this._createFullscreenBtn(), this._slidesBtn = this._createSlidesBtn(), this._exportBtn = this._createExportBtn();
75863
- let i = ZF("div", {
76091
+ let i = cI("div", {
75864
76092
  display: "flex",
75865
76093
  alignItems: "center",
75866
76094
  gap: "4px"
75867
76095
  });
75868
76096
  i.appendChild(this._prevBtn), i.appendChild(this._playBtn), i.appendChild(this._nextBtn);
75869
- let a = ZF("div", {
76097
+ let a = cI("div", {
75870
76098
  display: "flex",
75871
76099
  alignItems: "center",
75872
76100
  gap: "8px"
75873
76101
  });
75874
76102
  a.appendChild(this._timeDisplay), a.appendChild(this._speedSelect), a.appendChild(this._slidesBtn), a.appendChild(this._exportBtnWrapper), a.appendChild(this._fullscreenBtn), this._bar.appendChild(this._progressWrap);
75875
- let o = ZF("div", {
76103
+ let o = cI("div", {
75876
76104
  display: "flex",
75877
76105
  alignItems: "center",
75878
76106
  justifyContent: "space-between",
@@ -75887,10 +76115,10 @@ var YF = class {
75887
76115
  let n = e / t * 100;
75888
76116
  this._progressFill.style.width = `${n}%`;
75889
76117
  }
75890
- this._timeDisplay.textContent = `${$F(e)} / ${$F(t)}`;
76118
+ this._timeDisplay.textContent = `${uI(e)} / ${uI(t)}`;
75891
76119
  }
75892
76120
  setPlaying(e, t = !1) {
75893
- this._isPlaying = e, t ? (this._playBtn.innerHTML = nI, this._playBtn.title = "Replay (Space)") : (this._playBtn.innerHTML = e ? tI : eI, this._playBtn.title = e ? "Pause (Space)" : "Play (Space)"), e && this._scheduleHide();
76121
+ this._isPlaying = e, t ? (this._playBtn.innerHTML = pI, this._playBtn.title = "Replay (Space)") : (this._playBtn.innerHTML = e ? fI : dI, this._playBtn.title = e ? "Pause (Space)" : "Play (Space)"), e && this._scheduleHide();
75894
76122
  }
75895
76123
  setSlidesMode(e) {
75896
76124
  this._slidesActive = e, this._slidesBtn.style.opacity = e ? "1" : "0.4", this._slidesBtn.style.background = e ? "rgba(74,158,255,0.25)" : "none", this._slidesBtn.title = `Slides mode ${e ? "on" : "off"} (S)`;
@@ -75900,7 +76128,7 @@ var YF = class {
75900
76128
  let t = e.getSlides(), n = e.getDuration();
75901
76129
  if (!(n <= 0)) for (let e of t) {
75902
76130
  if (e.index === 0) continue;
75903
- let t = ZF("div", {
76131
+ let t = cI("div", {
75904
76132
  position: "absolute",
75905
76133
  left: `${e.startTime / n * 100}%`,
75906
76134
  top: "50%",
@@ -75915,7 +76143,7 @@ var YF = class {
75915
76143
  }
75916
76144
  }
75917
76145
  _createBar() {
75918
- let e = ZF("div", {
76146
+ let e = cI("div", {
75919
76147
  position: "absolute",
75920
76148
  bottom: "0",
75921
76149
  left: "0",
@@ -75933,21 +76161,21 @@ var YF = class {
75933
76161
  }
75934
76162
  _createPlayBtn() {
75935
76163
  let e = document.createElement("button");
75936
- return e.innerHTML = eI, e.title = "Play (Space)", QF(e, "36px", "36px"), e.addEventListener("click", () => this._callbacks.onPlayPause()), e;
76164
+ return e.innerHTML = dI, e.title = "Play (Space)", lI(e, "36px", "36px"), e.addEventListener("click", () => this._callbacks.onPlayPause()), e;
75937
76165
  }
75938
76166
  _createNavBtn(e) {
75939
76167
  let t = document.createElement("button");
75940
- return t.innerHTML = e === "prev" ? rI : iI, t.title = e === "prev" ? "Previous (Left arrow)" : "Next (Right arrow)", QF(t, "28px", "28px"), t.addEventListener("click", () => {
76168
+ return t.innerHTML = e === "prev" ? mI : hI, t.title = e === "prev" ? "Previous (Left arrow)" : "Next (Right arrow)", lI(t, "28px", "28px"), t.addEventListener("click", () => {
75941
76169
  e === "prev" ? this._callbacks.onPrev() : this._callbacks.onNext();
75942
76170
  }), t;
75943
76171
  }
75944
76172
  _createProgressBar() {
75945
- let e = ZF("div", {
76173
+ let e = cI("div", {
75946
76174
  position: "relative",
75947
76175
  height: "16px",
75948
76176
  padding: "6px 12px",
75949
76177
  cursor: "pointer"
75950
- }), t = ZF("div", {
76178
+ }), t = cI("div", {
75951
76179
  position: "absolute",
75952
76180
  left: "12px",
75953
76181
  right: "12px",
@@ -75957,14 +76185,14 @@ var YF = class {
75957
76185
  background: "rgba(255,255,255,0.2)",
75958
76186
  borderRadius: "2px",
75959
76187
  overflow: "visible"
75960
- }), n = ZF("div", {
76188
+ }), n = cI("div", {
75961
76189
  width: "0%",
75962
76190
  height: "100%",
75963
76191
  background: "#4a9eff",
75964
76192
  borderRadius: "2px",
75965
76193
  transition: "none",
75966
76194
  position: "relative"
75967
- }), r = ZF("div", {
76195
+ }), r = cI("div", {
75968
76196
  position: "absolute",
75969
76197
  right: "-5px",
75970
76198
  top: "50%",
@@ -75977,7 +76205,7 @@ var YF = class {
75977
76205
  transition: "transform 0.1s"
75978
76206
  });
75979
76207
  n.appendChild(r);
75980
- let i = ZF("div", {
76208
+ let i = cI("div", {
75981
76209
  width: "0%",
75982
76210
  height: "100%",
75983
76211
  background: "rgba(255,255,255,0.1)",
@@ -75986,7 +76214,7 @@ var YF = class {
75986
76214
  top: "0",
75987
76215
  left: "0",
75988
76216
  pointerEvents: "none"
75989
- }), a = ZF("div", {
76217
+ }), a = cI("div", {
75990
76218
  position: "absolute",
75991
76219
  top: "0",
75992
76220
  left: "0",
@@ -76011,7 +76239,7 @@ var YF = class {
76011
76239
  };
76012
76240
  }
76013
76241
  _createTimeDisplay() {
76014
- let e = ZF("span", {
76242
+ let e = cI("span", {
76015
76243
  fontFamily: "\"SF Mono\", Monaco, Consolas, monospace",
76016
76244
  fontSize: "12px",
76017
76245
  opacity: "0.8",
@@ -76053,16 +76281,16 @@ var YF = class {
76053
76281
  }), e;
76054
76282
  }
76055
76283
  _createExportBtn() {
76056
- let e = ZF("div", {
76284
+ let e = cI("div", {
76057
76285
  position: "relative",
76058
76286
  display: "inline-block"
76059
76287
  }), t = document.createElement("button");
76060
- return t.innerHTML = aI, t.title = "Export animation", QF(t, "28px", "28px"), t.addEventListener("click", (e) => {
76288
+ return t.innerHTML = gI, t.title = "Export animation", lI(t, "28px", "28px"), t.addEventListener("click", (e) => {
76061
76289
  e.stopPropagation(), this._exportMenu ? this._closeExportMenu() : this._showExportMenu();
76062
76290
  }), e.appendChild(t), this._exportBtnWrapper = e, t;
76063
76291
  }
76064
76292
  _showExportMenu() {
76065
- let e = this._exportBtn.getBoundingClientRect(), t = ZF("div", {
76293
+ let e = this._exportBtn.getBoundingClientRect(), t = cI("div", {
76066
76294
  position: "fixed",
76067
76295
  top: "0",
76068
76296
  left: "0",
@@ -76073,7 +76301,7 @@ var YF = class {
76073
76301
  t.setAttribute("data-player-bar", ""), t.addEventListener("mousedown", (e) => {
76074
76302
  e.stopPropagation(), e.preventDefault(), this._closeExportMenu();
76075
76303
  });
76076
- let n = ZF("div", {
76304
+ let n = cI("div", {
76077
76305
  position: "fixed",
76078
76306
  bottom: `${window.innerHeight - e.top + 6}px`,
76079
76307
  left: `${e.left - 60}px`,
@@ -76094,7 +76322,7 @@ var YF = class {
76094
76322
  height: 1080,
76095
76323
  fps: 60
76096
76324
  };
76097
- this._exportPanel = new YF(e), n.appendChild(this._exportPanel.element);
76325
+ this._exportPanel = new oI(e), n.appendChild(this._exportPanel.element);
76098
76326
  }
76099
76327
  for (let e of [
76100
76328
  {
@@ -76113,7 +76341,7 @@ var YF = class {
76113
76341
  desc: "Video file"
76114
76342
  }
76115
76343
  ]) {
76116
- let t = ZF("div", {
76344
+ let t = cI("div", {
76117
76345
  padding: "8px 14px",
76118
76346
  cursor: "pointer",
76119
76347
  fontSize: "13px",
@@ -76138,7 +76366,7 @@ var YF = class {
76138
76366
  this._exportMenu && (this._exportMenuBackdrop?.remove(), this._exportMenuBackdrop = null, this._exportMenu.remove(), this._exportMenu = null, this._exportPanel = null);
76139
76367
  }
76140
76368
  setExportProgress(e) {
76141
- if (e === null) this._exportBtn.innerHTML = aI, this._exportBtn.disabled = !1, this._exportBtn.title = "Export animation";
76369
+ if (e === null) this._exportBtn.innerHTML = gI, this._exportBtn.disabled = !1, this._exportBtn.title = "Export animation";
76142
76370
  else {
76143
76371
  let t = Math.round(e * 100);
76144
76372
  this._exportBtn.innerHTML = `<span style="font-size:10px;font-weight:600">${t}%</span>`, this._exportBtn.disabled = !0, this._exportBtn.title = `Exporting... ${t}%`;
@@ -76146,7 +76374,7 @@ var YF = class {
76146
76374
  }
76147
76375
  _createSlidesBtn() {
76148
76376
  let e = document.createElement("button");
76149
- return e.innerHTML = oI, e.title = "Slides mode off (S)", QF(e, "28px", "28px"), e.style.opacity = "0.4", e.addEventListener("click", () => {
76377
+ return e.innerHTML = _I, e.title = "Slides mode off (S)", lI(e, "28px", "28px"), e.style.opacity = "0.4", e.addEventListener("click", () => {
76150
76378
  this._slidesActive = !this._slidesActive, this.setSlidesMode(this._slidesActive), this._callbacks.onSlidesToggle(this._slidesActive);
76151
76379
  }), e.addEventListener("mouseenter", () => {
76152
76380
  e.style.background = this._slidesActive ? "rgba(74,158,255,0.35)" : "rgba(255,255,255,0.15)";
@@ -76156,7 +76384,7 @@ var YF = class {
76156
76384
  }
76157
76385
  _createFullscreenBtn() {
76158
76386
  let e = document.createElement("button");
76159
- return e.innerHTML = sI, e.title = "Fullscreen (F)", QF(e, "28px", "28px"), e.addEventListener("click", () => this._callbacks.onFullscreen()), e;
76387
+ return e.innerHTML = vI, e.title = "Fullscreen (F)", lI(e, "28px", "28px"), e.addEventListener("click", () => this._callbacks.onFullscreen()), e;
76160
76388
  }
76161
76389
  _showControls() {
76162
76390
  this._isVisible ||= (this._bar.style.opacity = "1", this._bar.style.transform = "translateY(0)", !0), this._scheduleHide();
@@ -76211,11 +76439,11 @@ var YF = class {
76211
76439
  this._hideTimeout && clearTimeout(this._hideTimeout), this._container.removeEventListener("mousemove", this._onMouseMove), this._container.removeEventListener("mouseleave", this._onMouseLeave), this._progressWrap.removeEventListener("mousedown", this._onProgressDown), document.removeEventListener("mousemove", this._onProgressMove), document.removeEventListener("mouseup", this._onProgressUp), this._bar.remove();
76212
76440
  }
76213
76441
  };
76214
- function ZF(e, t) {
76442
+ function cI(e, t) {
76215
76443
  let n = document.createElement(e);
76216
76444
  return Object.assign(n.style, t), n;
76217
76445
  }
76218
- function QF(e, t, n) {
76446
+ function lI(e, t, n) {
76219
76447
  Object.assign(e.style, {
76220
76448
  width: t,
76221
76449
  height: n,
@@ -76236,11 +76464,11 @@ function QF(e, t, n) {
76236
76464
  e.style.background = "none";
76237
76465
  });
76238
76466
  }
76239
- function $F(e) {
76467
+ function uI(e) {
76240
76468
  let t = Math.floor(e / 60), n = Math.floor(e % 60);
76241
76469
  return `${t}:${String(n).padStart(2, "0")}`;
76242
76470
  }
76243
- var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><path d=\"M5 3l10 6-10 6V3z\"/></svg>", tI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><rect x=\"4\" y=\"3\" width=\"3.5\" height=\"12\" rx=\"0.5\"/><rect x=\"10.5\" y=\"3\" width=\"3.5\" height=\"12\" rx=\"0.5\"/></svg>", nI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><path d=\"M9 3a6 6 0 1 0 6 6h-2a4 4 0 1 1-4-4v3l4-3.5L9 1v2z\"/></svg>", rI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"2\" y=\"3\" width=\"2\" height=\"10\"/><path d=\"M14 3L6 8l8 5V3z\"/></svg>", iI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"12\" y=\"3\" width=\"2\" height=\"10\"/><path d=\"M2 3l8 5-8 5V3z\"/></svg>", aI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><path d=\"M8 1L8 10M8 10L5 7M8 10L11 7\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 12v1h10v-1\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\"/></svg>", oI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"1\" y=\"2\" width=\"14\" height=\"10\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"/><path d=\"M5 14h6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/><path d=\"M6 6l5 3-5 3V6z\"/></svg>", sI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><path d=\"M2 2h4v2H4v2H2V2zm8 0h4v4h-2V4h-2V2zM2 10h2v2h2v2H2v-4zm10 2h-2v2h4v-4h-2v2z\"/></svg>", cI = class {
76471
+ var dI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><path d=\"M5 3l10 6-10 6V3z\"/></svg>", fI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><rect x=\"4\" y=\"3\" width=\"3.5\" height=\"12\" rx=\"0.5\"/><rect x=\"10.5\" y=\"3\" width=\"3.5\" height=\"12\" rx=\"0.5\"/></svg>", pI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><path d=\"M9 3a6 6 0 1 0 6 6h-2a4 4 0 1 1-4-4v3l4-3.5L9 1v2z\"/></svg>", mI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"2\" y=\"3\" width=\"2\" height=\"10\"/><path d=\"M14 3L6 8l8 5V3z\"/></svg>", hI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"12\" y=\"3\" width=\"2\" height=\"10\"/><path d=\"M2 3l8 5-8 5V3z\"/></svg>", gI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><path d=\"M8 1L8 10M8 10L5 7M8 10L11 7\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 12v1h10v-1\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\"/></svg>", _I = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"1\" y=\"2\" width=\"14\" height=\"10\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"/><path d=\"M5 14h6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/><path d=\"M6 6l5 3-5 3V6z\"/></svg>", vI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><path d=\"M2 2h4v2H4v2H2V2zm8 0h4v4h-2V4h-2V2zM2 10h2v2h2v2H2v-4zm10 2h-2v2h4v-4h-2v2z\"/></svg>", yI = class {
76244
76472
  _container;
76245
76473
  _callbacks;
76246
76474
  _onKeyDown;
@@ -76270,7 +76498,7 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76270
76498
  dispose() {
76271
76499
  this._container.removeEventListener("keydown", this._onKeyDown);
76272
76500
  }
76273
- }, lI = class {
76501
+ }, bI = class {
76274
76502
  _realScene;
76275
76503
  _masterTimeline;
76276
76504
  constructor(e, t) {
@@ -76307,7 +76535,7 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76307
76535
  for (let n of e) t.push(n), n instanceof og && t.push(...this._collectAll(n.animations));
76308
76536
  return t;
76309
76537
  }
76310
- }, uI = [
76538
+ }, xI = [
76311
76539
  "mousedown",
76312
76540
  "mousemove",
76313
76541
  "mouseup",
@@ -76315,7 +76543,7 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76315
76543
  "touchstart",
76316
76544
  "touchmove",
76317
76545
  "touchend"
76318
- ], dI = class {
76546
+ ], SI = class {
76319
76547
  _target;
76320
76548
  _scene;
76321
76549
  _isIdle;
@@ -76334,13 +76562,13 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76334
76562
  }
76335
76563
  attach() {
76336
76564
  if (!this._attached) {
76337
- for (let e of uI) this._target.addEventListener(e, this._onEvent);
76565
+ for (let e of xI) this._target.addEventListener(e, this._onEvent);
76338
76566
  this._attached = !0;
76339
76567
  }
76340
76568
  }
76341
76569
  dispose() {
76342
76570
  if (this._attached) {
76343
- for (let e of uI) this._target.removeEventListener(e, this._onEvent);
76571
+ for (let e of xI) this._target.removeEventListener(e, this._onEvent);
76344
76572
  this._attached = !1, this._renderScheduled = !1;
76345
76573
  }
76346
76574
  }
@@ -76352,7 +76580,7 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76352
76580
  this._renderScheduled = !1, !(!this._attached || !this._isIdle()) && (this._scene.render(), this._renderCount++);
76353
76581
  }));
76354
76582
  }
76355
- }, fI = class {
76583
+ }, CI = class {
76356
76584
  _scene;
76357
76585
  _masterTimeline;
76358
76586
  _ui;
@@ -76375,7 +76603,7 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76375
76603
  _origHeight = 0;
76376
76604
  _onFullscreenChange;
76377
76605
  constructor(e, t = {}) {
76378
- this._container = e, this._loop = t.loop ?? !1, this._autoPlay = t.autoPlay ?? !1, this._slidesMode = t.slidesMode ?? !1, this._interactiveSlides = t.interactiveSlides ?? !1, this._exportControls = t.exportControls ?? !1, this._exportFps = t.targetFps ?? 60, this._scene = new jg(e, t), this._masterTimeline = new RA(), this._ui = new XF(e, {
76606
+ this._container = e, this._loop = t.loop ?? !1, this._autoPlay = t.autoPlay ?? !1, this._slidesMode = t.slidesMode ?? !1, this._interactiveSlides = t.interactiveSlides ?? !1, this._exportControls = t.exportControls ?? !1, this._exportFps = t.targetFps ?? 60, this._scene = new jg(e, t), this._masterTimeline = new RA(), this._ui = new sI(e, {
76379
76607
  onPlayPause: () => this.togglePlayPause(),
76380
76608
  onSeek: (e) => this.seek(e),
76381
76609
  onPrev: () => this.prevSegment(),
@@ -76392,7 +76620,7 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76392
76620
  }, {
76393
76621
  autoHideMs: t.autoHideMs,
76394
76622
  exportControls: this._exportControls
76395
- }), this._ui.setSlidesMode(this._slidesMode), this._ui.enableScrollScrub(() => this._masterTimeline.getCurrentTime()), this._controller = new cI(e, {
76623
+ }), this._ui.setSlidesMode(this._slidesMode), this._ui.enableScrollScrub(() => this._masterTimeline.getCurrentTime()), this._controller = new yI(e, {
76396
76624
  onPlayPause: () => this.togglePlayPause(),
76397
76625
  onPrev: () => this.prevSegment(),
76398
76626
  onNext: () => this.nextSegment(),
@@ -76406,10 +76634,10 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76406
76634
  }, document.addEventListener("fullscreenchange", this._onFullscreenChange), this._interactiveSlides && this._enableSlideInteraction();
76407
76635
  }
76408
76636
  _enableSlideInteraction() {
76409
- this._slideInteraction || (this._slideInteraction = new dI(this._container, this._scene, () => !this._isPlaying), this._slideInteraction.attach());
76637
+ this._slideInteraction || (this._slideInteraction = new SI(this._container, this._scene, () => !this._isPlaying), this._slideInteraction.attach());
76410
76638
  }
76411
76639
  async sequence(e) {
76412
- this._masterTimeline = new RA(), this._activeLoopSlideIndex = null, this._slidesTargetSlideIndex = -1, await e(new lI(this._scene, this._masterTimeline)), this._masterTimeline.finalizeSlides(), this._scene.setTimeline(this._masterTimeline), this._masterTimeline.seek(0), this._scene.render(), this._ui.setSegments(this._masterTimeline), this._ui.updateTime(0, this._masterTimeline.getDuration()), this._autoPlay && this.play();
76640
+ this._masterTimeline = new RA(), this._activeLoopSlideIndex = null, this._slidesTargetSlideIndex = -1, await e(new bI(this._scene, this._masterTimeline)), this._masterTimeline.finalizeSlides(), this._scene.setTimeline(this._masterTimeline), this._masterTimeline.seek(0), this._scene.render(), this._ui.setSegments(this._masterTimeline), this._ui.updateTime(0, this._masterTimeline.getDuration()), this._autoPlay && this.play();
76413
76641
  }
76414
76642
  get scene() {
76415
76643
  return this._scene;
@@ -76520,7 +76748,7 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76520
76748
  let a = `animation.${e}`, o = this._masterTimeline.getDuration(), s = (e) => this._ui.setExportProgress(e);
76521
76749
  this._ui.setExportProgress(0);
76522
76750
  try {
76523
- (e === "webm" || e === "mp4") && xF() === "webcodecs" ? await this._exportWithWebCodecs(e === "mp4" ? "mp4" : "webm", t, o, s, a) : await this._scene.export(a, this._buildSceneExportOptions(e, t, o, s));
76751
+ (e === "webm" || e === "mp4") && MF() === "webcodecs" ? await this._exportWithWebCodecs(e === "mp4" ? "mp4" : "webm", t, o, s, a) : await this._scene.export(a, this._buildSceneExportOptions(e, t, o, s));
76524
76752
  } catch (e) {
76525
76753
  i.error("Export failed:", e), this._ui.showError(`Export failed: ${e instanceof Error ? e.message : "Unknown error"}`);
76526
76754
  } finally {
@@ -76528,12 +76756,12 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76528
76756
  }
76529
76757
  }
76530
76758
  async _exportWithWebCodecs(e, t, n, r, i) {
76531
- gF(await new yF(this._scene, {
76759
+ DF(await new AF(this._scene, {
76532
76760
  format: e,
76533
76761
  fps: t?.fps ?? this._exportFps,
76534
76762
  width: t?.width ?? this._scene.getWidth(),
76535
76763
  height: t?.height ?? this._scene.getHeight(),
76536
- bitrate: qF(t?.quality ?? .9),
76764
+ bitrate: iI(t?.quality ?? .9),
76537
76765
  duration: n,
76538
76766
  onProgress: r
76539
76767
  }).export(), i);
@@ -76594,36 +76822,36 @@ var eI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
76594
76822
  _stopLoop() {
76595
76823
  this._animFrameId !== null && (cancelAnimationFrame(this._animFrameId), this._animFrameId = null);
76596
76824
  }
76597
- }, pI = {
76825
+ }, wI = {
76598
76826
  EXPERIMENTAL_3D_LIGHTING: !1,
76599
76827
  WEBGPU_RENDERER: !1,
76600
76828
  ADVANCED_TEXT_LAYOUT: !1
76601
- }, mI = { ...pI };
76602
- function hI(e) {
76603
- return mI[e] ?? !1;
76829
+ }, TI = { ...wI };
76830
+ function EI(e) {
76831
+ return TI[e] ?? !1;
76604
76832
  }
76605
- function gI(e) {
76606
- mI = {
76607
- ...mI,
76833
+ function DI(e) {
76834
+ TI = {
76835
+ ...TI,
76608
76836
  ...e
76609
76837
  };
76610
76838
  }
76611
- function _I() {
76612
- mI = { ...pI };
76839
+ function OI() {
76840
+ TI = { ...wI };
76613
76841
  }
76614
- function vI() {
76615
- return { ...mI };
76842
+ function kI() {
76843
+ return { ...TI };
76616
76844
  }
76617
76845
  //#endregion
76618
76846
  //#region src/utils/ManimColor.ts
76619
- var yI = /(?:#|0[xX])([A-Fa-f0-9]{3,8})/;
76620
- function bI(e) {
76847
+ var AI = /(?:#|0[xX])([A-Fa-f0-9]{3,8})/;
76848
+ function jI(e) {
76621
76849
  return Math.min(255, Math.max(0, Math.trunc(e * 255)));
76622
76850
  }
76623
- function xI(e) {
76624
- return bI(e).toString(16).toUpperCase().padStart(2, "0");
76851
+ function MI(e) {
76852
+ return jI(e).toString(16).toUpperCase().padStart(2, "0");
76625
76853
  }
76626
- function SI(e, t) {
76854
+ function NI(e, t) {
76627
76855
  let n = e;
76628
76856
  (n.length === 3 || n.length === 4) && (n = n.split("").map((e) => e + e).join(""));
76629
76857
  let r = t;
@@ -76636,14 +76864,14 @@ function SI(e, t) {
76636
76864
  r
76637
76865
  ];
76638
76866
  }
76639
- function CI(e, t) {
76640
- let n = yI.exec(e);
76641
- if (n !== null) return SI(n[1], t);
76867
+ function PI(e, t) {
76868
+ let n = AI.exec(e);
76869
+ if (n !== null) return NI(n[1], t);
76642
76870
  let r = se[e.toUpperCase()];
76643
- if (typeof r == "string") return CI(r, t);
76871
+ if (typeof r == "string") return PI(r, t);
76644
76872
  throw Error(`Failed to parse a color from "${e}"`);
76645
76873
  }
76646
- function wI(e, t) {
76874
+ function FI(e, t) {
76647
76875
  return [
76648
76876
  (e >> 16 & 255) / 255,
76649
76877
  (e >> 8 & 255) / 255,
@@ -76651,7 +76879,7 @@ function wI(e, t) {
76651
76879
  t
76652
76880
  ];
76653
76881
  }
76654
- var TI = class e {
76882
+ var II = class e {
76655
76883
  value;
76656
76884
  constructor(t, n = 1) {
76657
76885
  if (t === null) this.value = [
@@ -76668,8 +76896,8 @@ var TI = class e {
76668
76896
  e[2],
76669
76897
  e[3]
76670
76898
  ];
76671
- } else if (typeof t == "number") this.value = wI(t, n);
76672
- else if (typeof t == "string") this.value = CI(t, n);
76899
+ } else if (typeof t == "number") this.value = FI(t, n);
76900
+ else if (typeof t == "string") this.value = PI(t, n);
76673
76901
  else if (t.length === 3) this.value = [
76674
76902
  t[0],
76675
76903
  t[1],
@@ -76727,18 +76955,18 @@ var TI = class e {
76727
76955
  toIntRgb() {
76728
76956
  let e = this.internalRgba();
76729
76957
  return [
76730
- bI(e[0]),
76731
- bI(e[1]),
76732
- bI(e[2])
76958
+ jI(e[0]),
76959
+ jI(e[1]),
76960
+ jI(e[2])
76733
76961
  ];
76734
76962
  }
76735
76963
  toIntRgba() {
76736
76964
  let e = this.internalRgba();
76737
76965
  return [
76738
- bI(e[0]),
76739
- bI(e[1]),
76740
- bI(e[2]),
76741
- bI(e[3])
76966
+ jI(e[0]),
76967
+ jI(e[1]),
76968
+ jI(e[2]),
76969
+ jI(e[3])
76742
76970
  ];
76743
76971
  }
76744
76972
  toHex(e = !1) {
@@ -76747,7 +76975,7 @@ var TI = class e {
76747
76975
  t[1],
76748
76976
  t[2]
76749
76977
  ]);
76750
- return e ? n + xI(t[3]) : n;
76978
+ return e ? n + MI(t[3]) : n;
76751
76979
  }
76752
76980
  toHsv() {
76753
76981
  return Yb(this.toRgb());
@@ -76807,7 +77035,7 @@ var TI = class e {
76807
77035
  static parse(t, n = 1) {
76808
77036
  return Array.isArray(t) && t.some((e) => typeof e != "number") ? t.map((t) => new e(t, n)) : new e(t, n);
76809
77037
  }
76810
- }, EI = TI, DI = class e extends TI {
77038
+ }, LI = II, RI = class e extends II {
76811
77039
  hsva;
76812
77040
  constructor(e, t = 1) {
76813
77041
  if (super(null), e.length === 3) this.hsva = [
@@ -76876,7 +77104,7 @@ var TI = class e {
76876
77104
  return this.hsva[2];
76877
77105
  }
76878
77106
  };
76879
- function OI(e) {
77107
+ function zI(e) {
76880
77108
  let t = e >>> 0;
76881
77109
  return () => {
76882
77110
  t = t + 1831565813 | 0;
@@ -76884,18 +77112,18 @@ function OI(e) {
76884
77112
  return e = e + Math.imul(e ^ e >>> 7, 61 | e) ^ e, ((e ^ e >>> 14) >>> 0) / 4294967296;
76885
77113
  };
76886
77114
  }
76887
- var kI = Array.from(new Set(Object.values(se))).map((e) => new TI(e)), AI = class {
77115
+ var BI = Array.from(new Set(Object.values(se))).map((e) => new II(e)), VI = class {
76888
77116
  rng;
76889
77117
  colors;
76890
77118
  constructor(e, t) {
76891
- this.rng = e === void 0 ? Math.random : OI(e), this.colors = t === void 0 ? kI : t.map((e) => e instanceof TI ? e : new TI(e));
77119
+ this.rng = e === void 0 ? Math.random : zI(e), this.colors = t === void 0 ? BI : t.map((e) => e instanceof II ? e : new II(e));
76892
77120
  }
76893
77121
  next() {
76894
77122
  let e = Math.floor(this.rng() * this.colors.length);
76895
77123
  return this.colors[e];
76896
77124
  }
76897
77125
  };
76898
- function jI(e, t, n, r) {
77126
+ function HI(e, t, n, r) {
76899
77127
  let i = .5 * Fn(n, Rn([
76900
77128
  r[0] - t[0],
76901
77129
  r[1] - t[1],
@@ -76909,7 +77137,7 @@ function jI(e, t, n, r) {
76909
77137
  }
76910
77138
  //#endregion
76911
77139
  //#region src/utils/iterables.ts
76912
- function MI(e, t) {
77140
+ function UI(e, t) {
76913
77141
  let n = e.length;
76914
77142
  if (n === 0) return [];
76915
77143
  let r = [];
@@ -76920,10 +77148,10 @@ function MI(e, t) {
76920
77148
  }
76921
77149
  return r;
76922
77150
  }
76923
- function NI(e) {
76924
- return MI(e, 2);
77151
+ function WI(e) {
77152
+ return UI(e, 2);
76925
77153
  }
76926
- function PI(e) {
77154
+ function GI(e) {
76927
77155
  let t = [], n = /* @__PURE__ */ new Set();
76928
77156
  for (let r = e.length - 1; r >= 0; r--) {
76929
77157
  let i = e[r];
@@ -76931,7 +77159,7 @@ function PI(e) {
76931
77159
  }
76932
77160
  return t.reverse(), t;
76933
77161
  }
76934
- function FI(e, t, n) {
77162
+ function KI(e, t, n) {
76935
77163
  if (n === void 0) {
76936
77164
  let n = new Set(t);
76937
77165
  return e.filter((e) => !n.has(e));
@@ -76939,29 +77167,29 @@ function FI(e, t, n) {
76939
77167
  let r = new Set(t.map((e) => n(e)));
76940
77168
  return e.filter((e) => !r.has(n(e)));
76941
77169
  }
76942
- function II(e, t, n) {
76943
- return FI(e, t, n).concat(t);
77170
+ function qI(e, t, n) {
77171
+ return KI(e, t, n).concat(t);
76944
77172
  }
76945
- function LI(e) {
77173
+ function JI(e) {
76946
77174
  return typeof e == "string" ? [e] : typeof e == "object" && e && Symbol.iterator in e ? [...e] : [e];
76947
77175
  }
76948
- function RI(e, t) {
77176
+ function YI(e, t) {
76949
77177
  let n = e.length, r = t.length, i = Math.max(n, r), a = [], o = [];
76950
77178
  for (let s = 0; s < i; s++) a.push(e[Math.floor(s * n / i)]), o.push(t[Math.floor(s * r / i)]);
76951
77179
  return [a, o];
76952
77180
  }
76953
- function zI(e, t) {
77181
+ function XI(e, t) {
76954
77182
  let n = e.length;
76955
77183
  if (n > t) throw Error("Trying to stretch array to a length shorter than its own");
76956
77184
  let r = [];
76957
77185
  for (let i = 0; i < t; i++) r.push(e[Math.floor(i / t * n)]);
76958
77186
  return r;
76959
77187
  }
76960
- function* BI(...e) {
77188
+ function* ZI(...e) {
76961
77189
  let t = /* @__PURE__ */ new Set();
76962
77190
  for (let n of e) for (let e of n) t.has(e) || (t.add(e), yield e);
76963
77191
  }
76964
- function VI(e) {
77192
+ function QI(e) {
76965
77193
  let t = [[]];
76966
77194
  for (let n of e) {
76967
77195
  let e = t.length;
@@ -76969,82 +77197,82 @@ function VI(e) {
76969
77197
  }
76970
77198
  return t;
76971
77199
  }
76972
- function HI(e, t) {
77200
+ function $I(e, t) {
76973
77201
  for (let n of e) if (!(n instanceof t)) return !1;
76974
77202
  return !0;
76975
77203
  }
76976
- function UI(...e) {
77204
+ function eL(...e) {
76977
77205
  let t = [];
76978
77206
  for (let n of e) for (let e of n) t.push(e);
76979
77207
  return t;
76980
77208
  }
76981
- function WI(e) {
77209
+ function tL(e) {
76982
77210
  return typeof e == "string" ? [e] : typeof e == "object" && e && Symbol.iterator in e ? [...e] : [e];
76983
77211
  }
76984
- function GI(e) {
77212
+ function nL(e) {
76985
77213
  let t = [];
76986
77214
  for (let n of e) n && t.push(n);
76987
77215
  return t;
76988
77216
  }
76989
- function KI(e, t) {
77217
+ function rL(e, t) {
76990
77218
  let n = Math.max(e.length, t.length), r = [], i = [];
76991
77219
  for (let a = 0; a < n; a++) r.push(e[a % e.length]), i.push(t[a % t.length]);
76992
77220
  return [r, i];
76993
77221
  }
76994
- function qI(e) {
76995
- return YI(JI(e));
77222
+ function iL(e) {
77223
+ return oL(aL(e));
76996
77224
  }
76997
- function JI(e) {
77225
+ function aL(e) {
76998
77226
  if (e === null) return "null";
76999
77227
  if (e === void 0) return "undefined";
77000
77228
  let t = typeof e;
77001
77229
  if (t === "string") return `s:${e}`;
77002
77230
  if (t === "number" || t === "boolean" || t === "bigint") return `${t[0]}:${String(e)}`;
77003
- if (e instanceof Set) return `set:[${[...e].map(JI).sort().join(",")}]`;
77004
- if (e instanceof Map) return `map:{${[...e.entries()].map(([e, t]) => `${JI(e)}=${JI(t)}`).sort().join(",")}}`;
77005
- if (Array.isArray(e)) return `arr:[${e.map(JI).join(",")}]`;
77231
+ if (e instanceof Set) return `set:[${[...e].map(aL).sort().join(",")}]`;
77232
+ if (e instanceof Map) return `map:{${[...e.entries()].map(([e, t]) => `${aL(e)}=${aL(t)}`).sort().join(",")}}`;
77233
+ if (Array.isArray(e)) return `arr:[${e.map(aL).join(",")}]`;
77006
77234
  if (t === "object") {
77007
77235
  let t = e;
77008
- return `obj:{${Object.keys(t).sort().map((e) => `${e}=${JI(t[e])}`).join(",")}}`;
77236
+ return `obj:{${Object.keys(t).sort().map((e) => `${e}=${aL(t[e])}`).join(",")}}`;
77009
77237
  }
77010
77238
  return `${t}:${String(e)}`;
77011
77239
  }
77012
- function YI(e) {
77240
+ function oL(e) {
77013
77241
  let t = 2166136261;
77014
77242
  for (let n = 0; n < e.length; n++) t ^= e.charCodeAt(n), t = Math.imul(t, 16777619);
77015
77243
  return t >>> 0;
77016
77244
  }
77017
77245
  //#endregion
77018
77246
  //#region src/utils/unit.ts
77019
- function XI(e) {
77247
+ function sL(e) {
77020
77248
  return e * Zt / $t;
77021
77249
  }
77022
- function ZI(e) {
77250
+ function cL(e) {
77023
77251
  return e * Math.PI / 180;
77024
77252
  }
77025
- function QI(e) {
77253
+ function lL(e) {
77026
77254
  return e;
77027
77255
  }
77028
- function $I(e, t) {
77256
+ function uL(e, t) {
77029
77257
  return e[0] === t[0] && e[1] === t[1] && e[2] === t[2];
77030
77258
  }
77031
- function eL(e, t) {
77259
+ function dL(e, t) {
77032
77260
  let n;
77033
- if ($I(e, _n)) n = Zt;
77034
- else if ($I(e, mn)) n = 8;
77035
- else if ($I(e, vn)) throw Error("length of Z axis is undefined");
77261
+ if (uL(e, _n)) n = Zt;
77262
+ else if (uL(e, mn)) n = 8;
77263
+ else if (uL(e, vn)) throw Error("length of Z axis is undefined");
77036
77264
  else throw Error("Percent axis must be the X axis (RIGHT) or Y axis (UP)");
77037
77265
  return t / 100 * n;
77038
77266
  }
77039
77267
  //#endregion
77040
77268
  //#region src/utils/debug.ts
77041
- function tL(e, t = !1) {
77269
+ function fL(e, t = !1) {
77042
77270
  let n = [];
77043
77271
  for (let t of e) n.push(...t.getFamily());
77044
77272
  return t ? n.filter((e) => e instanceof I && e.hasOwnPoints()) : n;
77045
77273
  }
77046
- function nL(e, t) {
77047
- let n = [], r = new Set(tL(t)), i = (e, t) => {
77274
+ function pL(e, t) {
77275
+ let n = [], r = new Set(fL(t)), i = (e, t) => {
77048
77276
  for (let r of e) {
77049
77277
  if (t.has(r)) continue;
77050
77278
  let e = new Set(r.getFamily().filter((e) => t.has(e)));
@@ -77053,14 +77281,14 @@ function nL(e, t) {
77053
77281
  };
77054
77282
  return i(e, r), n;
77055
77283
  }
77056
- function rL(e, t = {}) {
77284
+ function mL(e, t = {}) {
77057
77285
  let { labelHeight: n = .15 } = t, r = new L();
77058
77286
  return e.children.forEach((e, t) => {
77059
77287
  let i = new HS({ value: t });
77060
77288
  i.setHeight(n), i.moveTo(e), r.add(i);
77061
77289
  }), r;
77062
77290
  }
77063
- function iL(e, t = 0) {
77291
+ function hL(e, t = 0) {
77064
77292
  let n = [], r = (e, t) => {
77065
77293
  n.push(" ".repeat(t) + `${e.constructor.name} ${e.id}`);
77066
77294
  for (let n of e.children) r(n, t + 1);
@@ -77071,8 +77299,8 @@ function iL(e, t = 0) {
77071
77299
  }
77072
77300
  //#endregion
77073
77301
  //#region src/utils/spaceOps.ts
77074
- var aL = 2 * Math.PI;
77075
- function oL(e) {
77302
+ var gL = 2 * Math.PI;
77303
+ function _L(e) {
77076
77304
  let t = e.length, n = e[0].length, r = [];
77077
77305
  for (let i = 0; i < n; i++) {
77078
77306
  let n = [];
@@ -77081,20 +77309,20 @@ function oL(e) {
77081
77309
  }
77082
77310
  return r;
77083
77311
  }
77084
- function sL(e, t) {
77312
+ function vL(e, t) {
77085
77313
  return e.map((e) => e.reduce((e, n, r) => e + n * (t[r] ?? 0), 0));
77086
77314
  }
77087
- function cL(e) {
77315
+ function yL(e) {
77088
77316
  return e.reduce((e, t) => e + t * t, 0);
77089
77317
  }
77090
- function lL(e, t) {
77318
+ function bL(e, t) {
77091
77319
  return e[0] * t[1] - e[1] * t[0];
77092
77320
  }
77093
- function uL(e, t) {
77094
- let n = Math.sqrt(cL(e));
77321
+ function xL(e, t) {
77322
+ let n = Math.sqrt(yL(e));
77095
77323
  return n > 0 ? e.map((e) => e / n) : t ?? e.map(() => 0);
77096
77324
  }
77097
- function dL(...e) {
77325
+ function SL(...e) {
77098
77326
  if (e.length === 0) return [
77099
77327
  1,
77100
77328
  0,
@@ -77113,8 +77341,8 @@ function dL(...e) {
77113
77341
  }
77114
77342
  return t;
77115
77343
  }
77116
- function fL(e, t, n = !1) {
77117
- let r = n ? t : uL(t), i = Math.sin(e / 2);
77344
+ function CL(e, t, n = !1) {
77345
+ let r = n ? t : xL(t), i = Math.sin(e / 2);
77118
77346
  return [
77119
77347
  Math.cos(e / 2),
77120
77348
  i * (r[0] ?? 0),
@@ -77122,19 +77350,19 @@ function fL(e, t, n = !1) {
77122
77350
  i * (r[2] ?? 0)
77123
77351
  ];
77124
77352
  }
77125
- function pL(e) {
77126
- let t = uL(e.slice(1), [
77353
+ function wL(e) {
77354
+ let t = xL(e.slice(1), [
77127
77355
  1,
77128
77356
  0,
77129
77357
  0
77130
77358
  ]), n = 2 * Math.acos(e[0]);
77131
- return n > aL / 2 && (n = aL - n, t = [
77359
+ return n > gL / 2 && (n = gL - n, t = [
77132
77360
  -t[0],
77133
77361
  -t[1],
77134
77362
  -t[2]
77135
77363
  ]), [n, t];
77136
77364
  }
77137
- function mL(e) {
77365
+ function TL(e) {
77138
77366
  return [
77139
77367
  e[0],
77140
77368
  -e[1],
@@ -77142,7 +77370,7 @@ function mL(e) {
77142
77370
  -e[3]
77143
77371
  ];
77144
77372
  }
77145
- function hL(e, t, n = !1) {
77373
+ function EL(e, t, n = !1) {
77146
77374
  let [r, i, a] = Rn(t), o = Math.cos(e), s = Math.sin(e), c = 1 - o, l = [
77147
77375
  [
77148
77376
  o + r * r * c,
@@ -77172,7 +77400,7 @@ function hL(e, t, n = !1) {
77172
77400
  ]
77173
77401
  ] : l;
77174
77402
  }
77175
- function gL(e) {
77403
+ function DL(e) {
77176
77404
  let t = Math.cos(e), n = Math.sin(e);
77177
77405
  return [
77178
77406
  [
@@ -77192,23 +77420,23 @@ function gL(e) {
77192
77420
  ]
77193
77421
  ];
77194
77422
  }
77195
- function _L(e, t) {
77196
- return (t[0] ?? 0) === 0 && (t[1] ?? 0) === 0 ? oL(gL(e * Math.sign(t[2] ?? 0))) : oL(hL(e, t));
77423
+ function OL(e, t) {
77424
+ return (t[0] ?? 0) === 0 && (t[1] ?? 0) === 0 ? _L(DL(e * Math.sign(t[2] ?? 0))) : _L(EL(e, t));
77197
77425
  }
77198
- function vL(e, t, n = vn) {
77426
+ function kL(e, t, n = vn) {
77199
77427
  if (e.length > 3) throw Error("Vector must have the correct dimensions.");
77200
77428
  let r = e.length === 2 ? [
77201
77429
  e[0],
77202
77430
  e[1],
77203
77431
  0
77204
- ] : e, i = sL(hL(t, n), r);
77432
+ ] : e, i = vL(EL(t, n), r);
77205
77433
  return [
77206
77434
  i[0],
77207
77435
  i[1],
77208
77436
  i[2]
77209
77437
  ];
77210
77438
  }
77211
- function yL(e) {
77439
+ function AL(e) {
77212
77440
  let t = Rn(e), n = Rn(In(t, _n)), r = In(n, t);
77213
77441
  if (Ln(n) === 0) {
77214
77442
  r = Rn(In(mn, t));
@@ -77219,27 +77447,27 @@ function yL(e) {
77219
77447
  -e[2]
77220
77448
  ];
77221
77449
  }
77222
- return oL([
77450
+ return _L([
77223
77451
  r,
77224
77452
  n,
77225
77453
  t
77226
77454
  ]);
77227
77455
  }
77228
- function bL(e) {
77456
+ function jL(e) {
77229
77457
  return Math.atan2(e[1] ?? 0, e[0] ?? 0);
77230
77458
  }
77231
- function xL(e, t) {
77232
- let n = uL(e), r = uL(t), i = n.map((e, t) => e - r[t]), a = n.map((e, t) => e + r[t]);
77233
- return 2 * Math.atan2(Math.sqrt(cL(i)), Math.sqrt(cL(a)));
77459
+ function ML(e, t) {
77460
+ let n = xL(e), r = xL(t), i = n.map((e, t) => e - r[t]), a = n.map((e, t) => e + r[t]);
77461
+ return 2 * Math.atan2(Math.sqrt(yL(i)), Math.sqrt(yL(a)));
77234
77462
  }
77235
- function SL(e, t, n = 1e-6) {
77463
+ function NL(e, t, n = 1e-6) {
77236
77464
  let r = Math.max(...e.map(Math.abs)), i = Math.max(...t.map(Math.abs)), a;
77237
77465
  if (r === 0) {
77238
77466
  if (i === 0) return hn;
77239
77467
  a = t.map((e) => e / i);
77240
77468
  } else if (i === 0) a = e.map((e) => e / r);
77241
77469
  else {
77242
- let o = e.map((e) => e / r), s = In(o, t.map((e) => e / i)), c = Math.sqrt(cL(s));
77470
+ let o = e.map((e) => e / r), s = In(o, t.map((e) => e / i)), c = Math.sqrt(yL(s));
77243
77471
  if (c > n) return [
77244
77472
  s[0] / c,
77245
77473
  s[1] / c,
@@ -77252,43 +77480,43 @@ function SL(e, t, n = 1e-6) {
77252
77480
  -a[0] * a[2],
77253
77481
  -a[1] * a[2],
77254
77482
  a[0] * a[0] + a[1] * a[1]
77255
- ], s = Math.sqrt(cL(o));
77483
+ ], s = Math.sqrt(yL(o));
77256
77484
  return [
77257
77485
  o[0] / s,
77258
77486
  o[1] / s,
77259
77487
  o[2] / s
77260
77488
  ];
77261
77489
  }
77262
- function CL(e = 4, t = _n) {
77263
- let n = aL / e, r = [];
77264
- for (let i = 0; i < e; i++) r.push(vL(t, i * n));
77490
+ function PL(e = 4, t = _n) {
77491
+ let n = gL / e, r = [];
77492
+ for (let i = 0; i < e; i++) r.push(kL(t, i * n));
77265
77493
  return r;
77266
77494
  }
77267
- function wL(e, t = {}) {
77268
- let n = t.radius ?? 1, r = t.startAngle ?? (e % 2 == 0 ? 0 : aL / 4);
77269
- return [CL(e, vL([
77495
+ function FL(e, t = {}) {
77496
+ let n = t.radius ?? 1, r = t.startAngle ?? (e % 2 == 0 ? 0 : gL / 4);
77497
+ return [PL(e, kL([
77270
77498
  n,
77271
77499
  0,
77272
77500
  0
77273
77501
  ], r)), r];
77274
77502
  }
77275
- function TL(e) {
77503
+ function IL(e) {
77276
77504
  return [
77277
77505
  e.re,
77278
77506
  e.im,
77279
77507
  0
77280
77508
  ];
77281
77509
  }
77282
- function EL(e) {
77510
+ function LL(e) {
77283
77511
  return {
77284
77512
  re: e[0] ?? 0,
77285
77513
  im: e[1] ?? 0
77286
77514
  };
77287
77515
  }
77288
- function DL(e) {
77289
- return (t) => TL(e(EL(t)));
77516
+ function RL(e) {
77517
+ return (t) => IL(e(LL(t)));
77290
77518
  }
77291
- function OL(e) {
77519
+ function zL(e) {
77292
77520
  let t = [
77293
77521
  0,
77294
77522
  0,
@@ -77302,10 +77530,10 @@ function OL(e) {
77302
77530
  t[2] / n
77303
77531
  ];
77304
77532
  }
77305
- function kL(e, t) {
77306
- return OL([e, t]);
77533
+ function BL(e, t) {
77534
+ return zL([e, t]);
77307
77535
  }
77308
- function AL(e, t) {
77536
+ function VL(e, t) {
77309
77537
  for (let n of [e, t]) for (let e of n) if ((e[2] ?? 0) !== 0) throw Error("Coords must be in the xy-plane.");
77310
77538
  let n = (e) => In([
77311
77539
  e[0][0],
@@ -77323,7 +77551,7 @@ function AL(e, t) {
77323
77551
  0
77324
77552
  ];
77325
77553
  }
77326
- function jL(e, t, n, r, i = 1e-5) {
77554
+ function HL(e, t, n, r, i = 1e-5) {
77327
77555
  let a = [];
77328
77556
  for (let o = 0; o < e.length; o++) {
77329
77557
  let s = e[o], c = t[o], l = n[o], u = r[o], d = In(u, In(c, u)), f = c[0] * d[0] + c[1] * d[1] + c[2] * d[2], p = Math.max(f, i), m = [
@@ -77339,15 +77567,15 @@ function jL(e, t, n, r, i = 1e-5) {
77339
77567
  }
77340
77568
  return a;
77341
77569
  }
77342
- function ML(e) {
77570
+ function UL(e) {
77343
77571
  let t = 0;
77344
77572
  for (let n = 0; n < e.length - 1; n++) t += (e[n + 1][0] - e[n][0]) * (e[n][1] + e[n + 1][1]) / 2;
77345
77573
  return t;
77346
77574
  }
77347
- function NL(e) {
77348
- return ML(e) > 0 ? "CW" : "CCW";
77575
+ function WL(e) {
77576
+ return UL(e) > 0 ? "CW" : "CCW";
77349
77577
  }
77350
- function PL(e) {
77578
+ function GL(e) {
77351
77579
  let t = Ln(e);
77352
77580
  if (t === 0) return [
77353
77581
  0,
@@ -77361,7 +77589,7 @@ function PL(e) {
77361
77589
  n
77362
77590
  ];
77363
77591
  }
77364
- function FL(e) {
77592
+ function KL(e) {
77365
77593
  let [t, n, r] = e;
77366
77594
  return [
77367
77595
  t * Math.cos(n) * Math.sin(r),
@@ -77369,12 +77597,12 @@ function FL(e) {
77369
77597
  t * Math.cos(r)
77370
77598
  ];
77371
77599
  }
77372
- function IL(e, t = vn) {
77600
+ function qL(e, t = vn) {
77373
77601
  let n = e[0], r = e[1], i = In([
77374
77602
  n[0] - r[0],
77375
77603
  n[1] - r[1],
77376
77604
  n[2] - r[2]
77377
- ], t), a = kL(n, r);
77605
+ ], t), a = BL(n, r);
77378
77606
  return [[
77379
77607
  a[0] + i[0],
77380
77608
  a[1] + i[1],
@@ -77385,7 +77613,7 @@ function IL(e, t = vn) {
77385
77613
  a[2] - i[2]
77386
77614
  ]];
77387
77615
  }
77388
- function LL(e, t = 2) {
77616
+ function JL(e, t = 2) {
77389
77617
  let n = [];
77390
77618
  for (let r = 0; r < e; r++) {
77391
77619
  let i = [];
@@ -77394,41 +77622,41 @@ function LL(e, t = 2) {
77394
77622
  }
77395
77623
  return n;
77396
77624
  }
77397
- function RL(e) {
77625
+ function YL(e) {
77398
77626
  let t = 0;
77399
- for (let [n, r] of NI(e)) {
77400
- let e = ((bL(r) - bL(n) + Math.PI) % aL + aL) % aL - Math.PI;
77627
+ for (let [n, r] of WI(e)) {
77628
+ let e = ((jL(r) - jL(n) + Math.PI) % gL + gL) % gL - Math.PI;
77401
77629
  t += e;
77402
77630
  }
77403
- return t / aL;
77631
+ return t / gL;
77404
77632
  }
77405
77633
  //#endregion
77406
77634
  //#region src/utils/paths.ts
77407
- var zL = .01;
77408
- function BL(e, t, n) {
77635
+ var XL = .01;
77636
+ function ZL(e, t, n) {
77409
77637
  return e.map((e, r) => e.map((e, i) => e + n * (t[r][i] - e)));
77410
77638
  }
77411
- function VL(e, t) {
77639
+ function QL(e, t) {
77412
77640
  return t.map((t) => t.reduce((t, n, r) => t + n * e[r], 0));
77413
77641
  }
77414
- function HL() {
77415
- return BL;
77642
+ function $L() {
77643
+ return ZL;
77416
77644
  }
77417
- function UL(e, t, n = vn) {
77418
- let r = uL(n, vn), i = (e) => t[e] ?? t[0];
77645
+ function eR(e, t, n = vn) {
77646
+ let r = xL(n, vn), i = (e) => t[e] ?? t[0];
77419
77647
  return (t, n, a) => {
77420
- let o = hL(-e, r), s = hL(a * e, r);
77648
+ let o = EL(-e, r), s = EL(a * e, r);
77421
77649
  return t.map((e, t) => {
77422
- let r = i(t), c = VL(n[t].map((e, t) => e - r[t]), o).map((e, t) => e + r[t]);
77423
- return VL(e.map((e, t) => e + a * (c[t] - e)).map((e, t) => e - r[t]), s).map((e, t) => e + r[t]);
77650
+ let r = i(t), c = QL(n[t].map((e, t) => e - r[t]), o).map((e, t) => e + r[t]);
77651
+ return QL(e.map((e, t) => e + a * (c[t] - e)).map((e, t) => e - r[t]), s).map((e, t) => e + r[t]);
77424
77652
  });
77425
77653
  };
77426
77654
  }
77427
- function WL(e, t = vn) {
77428
- if (Math.abs(e) < zL) return HL();
77429
- let n = uL(t, vn);
77655
+ function tR(e, t = vn) {
77656
+ if (Math.abs(e) < XL) return $L();
77657
+ let n = xL(t, vn);
77430
77658
  return (t, r, i) => {
77431
- let a = hL(i * e, n);
77659
+ let a = EL(i * e, n);
77432
77660
  return t.map((t, i) => {
77433
77661
  let o = r[i].map((e, n) => e - t[n]), s = t.map((e, t) => e + .5 * o[t]);
77434
77662
  if (e !== Math.PI) {
@@ -77439,19 +77667,19 @@ function WL(e, t = vn) {
77439
77667
  ], i = 1 / Math.tan(e / 2);
77440
77668
  for (let e = 0; e < s.length; e++) s[e] += r[e] * i;
77441
77669
  }
77442
- return VL(t.map((e, t) => e - s[t]), a).map((e, t) => e + s[t]);
77670
+ return QL(t.map((e, t) => e - s[t]), a).map((e, t) => e + s[t]);
77443
77671
  });
77444
77672
  };
77445
77673
  }
77446
- function GL() {
77447
- return WL(-Math.PI);
77674
+ function nR() {
77675
+ return tR(-Math.PI);
77448
77676
  }
77449
- function KL() {
77450
- return WL(Math.PI);
77677
+ function rR() {
77678
+ return tR(Math.PI);
77451
77679
  }
77452
77680
  //#endregion
77453
77681
  //#region src/utils/simpleFunctions.ts
77454
- function qL(e, t, n, r, i = 1e-4) {
77682
+ function iR(e, t, n, r, i = 1e-4) {
77455
77683
  let a = n, o = r, s = (a + o) / 2;
77456
77684
  for (; Math.abs(o - a) > i;) {
77457
77685
  s = (a + o) / 2;
@@ -77464,7 +77692,7 @@ function qL(e, t, n, r, i = 1e-4) {
77464
77692
  }
77465
77693
  return s;
77466
77694
  }
77467
- function JL(e, t) {
77695
+ function aR(e, t) {
77468
77696
  if (t < 0 || t > e) return 0;
77469
77697
  let n = t;
77470
77698
  n > e - n && (n = e - n);
@@ -77472,30 +77700,30 @@ function JL(e, t) {
77472
77700
  for (let t = 0; t < n; t++) r = r * (e - t) / (t + 1);
77473
77701
  return Math.round(r);
77474
77702
  }
77475
- function YL(e, t, n) {
77703
+ function oR(e, t, n) {
77476
77704
  return e < t ? t : e > n ? n : e;
77477
77705
  }
77478
- function XL(e) {
77706
+ function sR(e) {
77479
77707
  return 1 / (1 + Math.exp(-e));
77480
77708
  }
77481
77709
  //#endregion
77482
77710
  //#region src/utils/bezier.ts
77483
- function ZL(e, t, n) {
77711
+ function cR(e, t, n) {
77484
77712
  if (Array.isArray(e) && Array.isArray(t)) return e.map((e, r) => (1 - n) * e + n * t[r]);
77485
77713
  if (typeof e == "number" && typeof t == "number") return (1 - n) * e + n * t;
77486
77714
  throw Error("interpolate: start and end must both be numbers or both be arrays");
77487
77715
  }
77488
- function QL(e, t) {
77716
+ function lR(e, t) {
77489
77717
  if (Array.isArray(e) && Array.isArray(t)) return e.map((e, n) => (e + t[n]) / 2);
77490
77718
  if (typeof e == "number" && typeof t == "number") return (e + t) / 2;
77491
77719
  throw Error("mid: start and end must both be numbers or both be arrays");
77492
77720
  }
77493
- function $L(e, t, n) {
77721
+ function uR(e, t, n) {
77494
77722
  if (Array.isArray(e) && Array.isArray(t) && Array.isArray(n)) return e.map((e, r) => (n[r] - e) / (t[r] - e));
77495
77723
  if (typeof e == "number" && typeof t == "number" && typeof n == "number") return (n - e) / (t - e);
77496
77724
  throw Error("inverse_interpolate: start, end and value must all be numbers or all be arrays");
77497
77725
  }
77498
- function eR(e, t, n, r, i) {
77726
+ function dR(e, t, n, r, i) {
77499
77727
  let a = r - n;
77500
77728
  if (Array.isArray(i)) return i.map((r) => {
77501
77729
  let i = (r - n) / a;
@@ -77504,7 +77732,7 @@ function eR(e, t, n, r, i) {
77504
77732
  let o = (i - n) / a;
77505
77733
  return (1 - o) * e + o * t;
77506
77734
  }
77507
- function tR(e, t) {
77735
+ function fR(e, t) {
77508
77736
  if (e.length === 0) return 0;
77509
77737
  let n = e.slice();
77510
77738
  for (; n.length > 1;) {
@@ -77514,7 +77742,7 @@ function tR(e, t) {
77514
77742
  }
77515
77743
  return n[0];
77516
77744
  }
77517
- function nR(e, t) {
77745
+ function pR(e, t) {
77518
77746
  if (e.length === 0) return [];
77519
77747
  let n = e.map((e) => e.slice());
77520
77748
  for (; n.length > 1;) {
@@ -77524,15 +77752,15 @@ function nR(e, t) {
77524
77752
  }
77525
77753
  return n[0];
77526
77754
  }
77527
- function rR(e) {
77755
+ function mR(e) {
77528
77756
  if (e.length > 0 && Array.isArray(e[0])) {
77529
77757
  let t = e.filter((e) => Array.isArray(e));
77530
- return (e) => nR(t, e);
77758
+ return (e) => pR(t, e);
77531
77759
  }
77532
77760
  let t = e.filter((e) => typeof e == "number");
77533
- return (e) => tR(t, e);
77761
+ return (e) => fR(t, e);
77534
77762
  }
77535
- function iR(e, t) {
77763
+ function hR(e, t) {
77536
77764
  let n = e.length, r = e.map((e) => e.slice()), i = Array(n);
77537
77765
  i[0] = e[0].slice();
77538
77766
  for (let e = 1; e < n; e++) {
@@ -77541,7 +77769,7 @@ function iR(e, t) {
77541
77769
  }
77542
77770
  return [...i, ...r];
77543
77771
  }
77544
- function aR(e, t) {
77772
+ function gR(e, t) {
77545
77773
  if (t <= 1) return e.map((e) => e.slice());
77546
77774
  let n = [];
77547
77775
  for (let r = 0; r < t; r++) {
@@ -77550,7 +77778,7 @@ function aR(e, t) {
77550
77778
  }
77551
77779
  return n;
77552
77780
  }
77553
- function oR(e, t) {
77781
+ function _R(e, t) {
77554
77782
  let n = e.length;
77555
77783
  if (n === 0) return [];
77556
77784
  let r = e[0].length, i = [];
@@ -77561,12 +77789,12 @@ function oR(e, t) {
77561
77789
  for (let t = 0; t < n; t++) {
77562
77790
  let n = a[t];
77563
77791
  if (n <= 0) continue;
77564
- let i = aR(e[t], n);
77792
+ let i = gR(e[t], n);
77565
77793
  for (let e = 0; e < n; e++) o.push(i.slice(e * r, e * r + r));
77566
77794
  }
77567
77795
  return o;
77568
77796
  }
77569
- function sR(e) {
77797
+ function vR(e) {
77570
77798
  let t = e[0], n = e[e.length - 1];
77571
77799
  for (let e = 0; e < 3; e++) {
77572
77800
  let r = t[e] ?? 0, i = n[e] ?? 0, a = 1e-8 + 1e-5 * Math.abs(r);
@@ -77574,43 +77802,43 @@ function sR(e) {
77574
77802
  }
77575
77803
  return !0;
77576
77804
  }
77577
- function cR(e, t) {
77805
+ function yR(e, t) {
77578
77806
  return {
77579
77807
  re: e.re + t.re,
77580
77808
  im: e.im + t.im
77581
77809
  };
77582
77810
  }
77583
- function lR(e, t) {
77811
+ function bR(e, t) {
77584
77812
  return {
77585
77813
  re: e.re - t.re,
77586
77814
  im: e.im - t.im
77587
77815
  };
77588
77816
  }
77589
- function uR(e, t) {
77817
+ function xR(e, t) {
77590
77818
  return {
77591
77819
  re: e.re * t.re - e.im * t.im,
77592
77820
  im: e.re * t.im + e.im * t.re
77593
77821
  };
77594
77822
  }
77595
- function dR(e, t) {
77823
+ function SR(e, t) {
77596
77824
  let n = t.re * t.re + t.im * t.im;
77597
77825
  return {
77598
77826
  re: (e.re * t.re + e.im * t.im) / n,
77599
77827
  im: (e.im * t.re - e.re * t.im) / n
77600
77828
  };
77601
77829
  }
77602
- function fR(e, t) {
77830
+ function CR(e, t) {
77603
77831
  let n = {
77604
77832
  re: e[e.length - 1],
77605
77833
  im: 0
77606
77834
  };
77607
- for (let r = e.length - 2; r >= 0; r--) n = cR(uR(n, t), {
77835
+ for (let r = e.length - 2; r >= 0; r--) n = yR(xR(n, t), {
77608
77836
  re: e[r],
77609
77837
  im: 0
77610
77838
  });
77611
77839
  return n;
77612
77840
  }
77613
- function pR(e) {
77841
+ function wR(e) {
77614
77842
  let t = e.slice();
77615
77843
  for (; t.length > 1 && Math.abs(t[t.length - 1]) < 1e-14;) t.pop();
77616
77844
  let n = t.length - 1;
@@ -77625,17 +77853,17 @@ function pR(e) {
77625
77853
  for (let e = 0; e < n; e++) a.push({
77626
77854
  re: s.re,
77627
77855
  im: s.im
77628
- }), s = uR(s, o);
77856
+ }), s = xR(s, o);
77629
77857
  for (let e = 0; e < 200; e++) {
77630
77858
  let e = 0;
77631
77859
  for (let t = 0; t < n; t++) {
77632
- let r = fR(i, a[t]), o = {
77860
+ let r = CR(i, a[t]), o = {
77633
77861
  re: 1,
77634
77862
  im: 0
77635
77863
  };
77636
- for (let e = 0; e < n; e++) e !== t && (o = uR(o, lR(a[t], a[e])));
77637
- let s = dR(r, o);
77638
- a[t] = lR(a[t], s);
77864
+ for (let e = 0; e < n; e++) e !== t && (o = xR(o, bR(a[t], a[e])));
77865
+ let s = SR(r, o);
77866
+ a[t] = bR(a[t], s);
77639
77867
  let c = Math.hypot(s.re, s.im);
77640
77868
  c > e && (e = c);
77641
77869
  }
@@ -77643,98 +77871,98 @@ function pR(e) {
77643
77871
  }
77644
77872
  return a;
77645
77873
  }
77646
- function mR(e, t) {
77874
+ function TR(e, t) {
77647
77875
  if (t < 0 || t > e) return 0;
77648
77876
  let n = 1;
77649
77877
  for (let r = 0; r < t; r++) n = n * (e - r) / (r + 1);
77650
77878
  return Math.round(n);
77651
77879
  }
77652
- function hR(e, t) {
77880
+ function ER(e, t) {
77653
77881
  let n = 10 ** t;
77654
77882
  return Math.round(e * n) / n;
77655
77883
  }
77656
- function gR(e, t, n) {
77884
+ function DR(e, t, n) {
77657
77885
  let r = .5 * 10 ** -n, i = [];
77658
77886
  for (let n of e) t.some((e) => Math.abs(n - e) <= r) && !i.some((e) => Math.abs(n - e) <= r) && i.push(n);
77659
77887
  return i;
77660
77888
  }
77661
- function _R(e, t, n = 1e-6) {
77889
+ function OR(e, t, n = 1e-6) {
77662
77890
  for (let n of t) if (n.length !== e.length) throw Error("proportions_along_bezier_curve_for_point: point and control points have different shapes");
77663
77891
  let r = t.length - 1, i = Math.round(Math.log10(1 / n)), a = [];
77664
77892
  for (let n = 0; n < e.length; n++) {
77665
77893
  let o = e[n], s = t.map((e) => e[n]), c = [];
77666
77894
  for (let e = r; e >= 0; e--) {
77667
- let t = mR(r, e), n = 1, i = 0;
77895
+ let t = TR(r, e), n = 1, i = 0;
77668
77896
  for (let t = e; t >= 0; t--) {
77669
- let r = mR(e, t) * n * s[t];
77897
+ let r = TR(e, t) * n * s[t];
77670
77898
  e === 0 && (r -= o), i += r, n *= -1;
77671
77899
  }
77672
77900
  c.push(t * i);
77673
77901
  }
77674
77902
  if (c.every((e) => e === 0)) continue;
77675
- let l = pR(c.slice().reverse()).filter((e) => Math.abs(e.im) < 1e-9).map((e) => hR(e.re, i));
77903
+ let l = wR(c.slice().reverse()).filter((e) => Math.abs(e.im) < 1e-9).map((e) => ER(e.re, i));
77676
77904
  a.push(l);
77677
77905
  }
77678
77906
  if (a.length === 0) return [];
77679
77907
  let o = a[0];
77680
- for (let e = 1; e < a.length; e++) o = gR(o, a[e], i);
77908
+ for (let e = 1; e < a.length; e++) o = DR(o, a[e], i);
77681
77909
  return o.filter((e) => e >= 0 && e <= 1);
77682
77910
  }
77683
- function vR(e, t, n = 1e-6) {
77684
- return _R(e, t, n).length > 0;
77911
+ function kR(e, t, n = 1e-6) {
77912
+ return OR(e, t, n).length > 0;
77685
77913
  }
77686
77914
  //#endregion
77687
77915
  //#region src/mobjects/three-d/threeDVmobUtils.ts
77688
- function yR(e) {
77916
+ function AR(e) {
77689
77917
  return [
77690
77918
  e[0],
77691
77919
  e[1],
77692
77920
  e[2]
77693
77921
  ];
77694
77922
  }
77695
- function bR(e) {
77923
+ function jR(e) {
77696
77924
  return e.filter((e, t) => t % 3 == 0);
77697
77925
  }
77698
- function xR(e) {
77699
- return [wR(e), TR(e)];
77926
+ function MR(e) {
77927
+ return [FR(e), IR(e)];
77700
77928
  }
77701
- function SR(e) {
77929
+ function NR(e) {
77702
77930
  return 0;
77703
77931
  }
77704
- function CR(e) {
77932
+ function PR(e) {
77705
77933
  return Math.floor((e.getPoints().length - 1) / 6) * 3;
77706
77934
  }
77707
- function wR(e) {
77935
+ function FR(e) {
77708
77936
  let t = e.getPoints();
77709
- return t.length === 0 ? [...bn] : yR(t[SR(e)]);
77937
+ return t.length === 0 ? [...bn] : AR(t[NR(e)]);
77710
77938
  }
77711
- function TR(e) {
77939
+ function IR(e) {
77712
77940
  let t = e.getPoints();
77713
- return t.length === 0 ? [...bn] : yR(t[CR(e)]);
77941
+ return t.length === 0 ? [...bn] : AR(t[PR(e)]);
77714
77942
  }
77715
- function ER(e, t) {
77943
+ function LR(e, t) {
77716
77944
  let n = e.getPoints(), r = n.length;
77717
- if (bR(n).length <= 2) return [...mn];
77718
- let i = t, a = i > 2 ? i - 3 : r - 4, o = SL(n[i < r - 3 ? i + 3 : 3].map((e, t) => e - n[i][t]), n[a].map((e, t) => e - n[i][t]));
77945
+ if (jR(n).length <= 2) return [...mn];
77946
+ let i = t, a = i > 2 ? i - 3 : r - 4, o = NL(n[i < r - 3 ? i + 3 : 3].map((e, t) => e - n[i][t]), n[a].map((e, t) => e - n[i][t]));
77719
77947
  return Math.hypot(...o) === 0 ? [...mn] : o;
77720
77948
  }
77721
- function DR(e) {
77722
- return ER(e, SR(e));
77949
+ function RR(e) {
77950
+ return LR(e, NR(e));
77723
77951
  }
77724
- function OR(e) {
77725
- return ER(e, CR(e));
77952
+ function zR(e) {
77953
+ return LR(e, PR(e));
77726
77954
  }
77727
77955
  //#endregion
77728
77956
  //#region src/core/SpecialThreeDScene.ts
77729
- var kR = 70 * _t, AR = -110 * _t, jR = 2, MR = 48, NR = class extends c_ {
77957
+ var BR = 70 * _t, VR = -110 * _t, HR = 2, UR = 48, WR = class extends c_ {
77730
77958
  cutAxesAtRadius;
77731
77959
  _threeDAxesConfig;
77732
77960
  _sphereConfig;
77733
77961
  _defaultAngledCameraPosition;
77734
77962
  constructor(e, t = {}) {
77735
77963
  let { cutAxesAtRadius: n = !0, threeDAxesConfig: r = {}, sphereConfig: i = {}, defaultAngledCameraPosition: a = {
77736
- phi: kR,
77737
- theta: AR
77964
+ phi: BR,
77965
+ theta: VR
77738
77966
  }, phi: o = a.phi, theta: s = a.theta, ...c } = t;
77739
77967
  super(e, {
77740
77968
  ...c,
@@ -77764,8 +77992,8 @@ var kR = 70 * _t, AR = -110 * _t, jR = 2, MR = 48, NR = class extends c_ {
77764
77992
  }
77765
77993
  getDefaultSphereConfig() {
77766
77994
  return {
77767
- radius: jR,
77768
- resolution: MR
77995
+ radius: HR,
77996
+ resolution: UR
77769
77997
  };
77770
77998
  }
77771
77999
  getAxes() {
@@ -77791,73 +78019,73 @@ var kR = 70 * _t, AR = -110 * _t, jR = 2, MR = 48, NR = class extends c_ {
77791
78019
  };
77792
78020
  //#endregion
77793
78021
  //#region src/mobjects/text/registerFont.ts
77794
- function PR(e, t) {
78022
+ function GR(e, t) {
77795
78023
  if (typeof document > "u" || typeof FontFace > "u" || document.fonts === void 0) return !1;
77796
78024
  let n = typeof t == "string" && !/^\s*(url|local)\s*\(/i.test(t) ? `url("${t}")` : t, r = new FontFace(e, n);
77797
78025
  return document.fonts.add(r), !0;
77798
78026
  }
77799
78027
  //#endregion
77800
78028
  //#region src/serialization/registry.ts
77801
- var FR = /* @__PURE__ */ new Map();
77802
- function IR(e, t) {
77803
- FR.set(e, t);
78029
+ var KR = /* @__PURE__ */ new Map();
78030
+ function qR(e, t) {
78031
+ KR.set(e, t);
77804
78032
  }
77805
- function LR(e) {
77806
- FR.delete(e);
78033
+ function JR(e) {
78034
+ KR.delete(e);
77807
78035
  }
77808
- function RR(e) {
77809
- return FR.get(e);
78036
+ function YR(e) {
78037
+ return KR.get(e);
77810
78038
  }
77811
- function zR() {
77812
- return [...FR.keys()].sort();
78039
+ function XR() {
78040
+ return [...KR.keys()].sort();
77813
78041
  }
77814
78042
  //#endregion
77815
78043
  //#region src/serialization/props.ts
77816
- function BR(e, t) {
78044
+ function ZR(e, t) {
77817
78045
  return typeof e == "number" && Number.isFinite(e) ? e : t;
77818
78046
  }
77819
- function VR(e, t) {
78047
+ function QR(e, t) {
77820
78048
  return typeof e == "string" ? e : t;
77821
78049
  }
77822
- function HR(e, t) {
78050
+ function $R(e, t) {
77823
78051
  return typeof e == "boolean" ? e : t;
77824
78052
  }
77825
- function UR(e) {
78053
+ function ez(e) {
77826
78054
  return typeof e == "string" ? e : void 0;
77827
78055
  }
77828
- function WR(e) {
78056
+ function tz(e) {
77829
78057
  return Array.isArray(e) && e.length === 3 && e.every((e) => typeof e == "number" && Number.isFinite(e));
77830
78058
  }
77831
- function GR(e, t) {
77832
- return WR(e) ? [
78059
+ function nz(e, t) {
78060
+ return tz(e) ? [
77833
78061
  e[0],
77834
78062
  e[1],
77835
78063
  e[2]
77836
78064
  ] : t;
77837
78065
  }
77838
- function KR(e) {
78066
+ function rz(e) {
77839
78067
  if (!Array.isArray(e)) return [];
77840
78068
  let t = [];
77841
- for (let n of e) WR(n) && t.push([
78069
+ for (let n of e) tz(n) && t.push([
77842
78070
  n[0],
77843
78071
  n[1],
77844
78072
  n[2]
77845
78073
  ]);
77846
78074
  return t;
77847
78075
  }
77848
- function qR(e) {
78076
+ function iz(e) {
77849
78077
  return typeof e == "object" && !!e && !Array.isArray(e);
77850
78078
  }
77851
78079
  //#endregion
77852
78080
  //#region src/serialization/defaults.ts
77853
- function JR(e) {
77854
- return typeof e == "number" && Number.isFinite(e) ? e : VR(e, "normal");
78081
+ function az(e) {
78082
+ return typeof e == "number" && Number.isFinite(e) ? e : QR(e, "normal");
77855
78083
  }
77856
- function YR(e) {
78084
+ function oz(e) {
77857
78085
  return e === "left" || e === "right" ? e : "center";
77858
78086
  }
77859
- function XR() {
77860
- IR("Circle", {
78087
+ function sz() {
78088
+ qR("Circle", {
77861
78089
  serialize: (e) => {
77862
78090
  let t = e;
77863
78091
  return {
@@ -77866,10 +78094,10 @@ function XR() {
77866
78094
  };
77867
78095
  },
77868
78096
  deserialize: (e) => new Wv({
77869
- radius: BR(e.radius, 1),
77870
- numPoints: BR(e.numPoints, 64)
78097
+ radius: ZR(e.radius, 1),
78098
+ numPoints: ZR(e.numPoints, 64)
77871
78099
  })
77872
- }), IR("Rectangle", {
78100
+ }), qR("Rectangle", {
77873
78101
  serialize: (e) => {
77874
78102
  let t = e;
77875
78103
  return {
@@ -77878,13 +78106,13 @@ function XR() {
77878
78106
  };
77879
78107
  },
77880
78108
  deserialize: (e) => new l_({
77881
- width: BR(e.width, 2),
77882
- height: BR(e.height, 1)
78109
+ width: ZR(e.width, 2),
78110
+ height: ZR(e.height, 1)
77883
78111
  })
77884
- }), IR("Square", {
78112
+ }), qR("Square", {
77885
78113
  serialize: (e) => ({ sideLength: e._width }),
77886
- deserialize: (e) => new u_({ sideLength: BR(e.sideLength, 2) })
77887
- }), IR("Line", {
78114
+ deserialize: (e) => new u_({ sideLength: ZR(e.sideLength, 2) })
78115
+ }), qR("Line", {
77888
78116
  serialize: (e) => {
77889
78117
  let t = e;
77890
78118
  return {
@@ -77893,27 +78121,27 @@ function XR() {
77893
78121
  };
77894
78122
  },
77895
78123
  deserialize: (e) => new x_({
77896
- start: GR(e.start, [
78124
+ start: nz(e.start, [
77897
78125
  0,
77898
78126
  0,
77899
78127
  0
77900
78128
  ]),
77901
- end: GR(e.end, [
78129
+ end: nz(e.end, [
77902
78130
  1,
77903
78131
  0,
77904
78132
  0
77905
78133
  ])
77906
78134
  })
77907
- }), IR("Dot", {
78135
+ }), qR("Dot", {
77908
78136
  serialize: (e) => ({ radius: e._radius }),
77909
- deserialize: (e) => new my({ radius: BR(e.radius, .08) })
77910
- }), IR("Polygon", {
78137
+ deserialize: (e) => new my({ radius: ZR(e.radius, .08) })
78138
+ }), qR("Polygon", {
77911
78139
  serialize: (e) => ({
77912
78140
  vertices: e.getVertices().map((e) => [...e]),
77913
78141
  closed: e._closed
77914
78142
  }),
77915
78143
  deserialize: (e) => {
77916
- let t = KR(e.vertices);
78144
+ let t = rz(e.vertices);
77917
78145
  return new Gv({
77918
78146
  vertices: t.length >= 2 ? t : [[
77919
78147
  0,
@@ -77924,16 +78152,16 @@ function XR() {
77924
78152
  0,
77925
78153
  0
77926
78154
  ]],
77927
- closed: HR(e.closed, !0)
78155
+ closed: $R(e.closed, !0)
77928
78156
  });
77929
78157
  }
77930
- }), IR("Group", {
78158
+ }), qR("Group", {
77931
78159
  serialize: () => ({}),
77932
78160
  deserialize: () => new Qh()
77933
- }), IR("VGroup", {
78161
+ }), qR("VGroup", {
77934
78162
  serialize: () => ({}),
77935
78163
  deserialize: () => new L()
77936
- }), IR("Text", {
78164
+ }), qR("Text", {
77937
78165
  serialize: (e) => {
77938
78166
  let t = e;
77939
78167
  return {
@@ -77948,16 +78176,16 @@ function XR() {
77948
78176
  };
77949
78177
  },
77950
78178
  deserialize: (e) => new sh({
77951
- text: VR(e.text, ""),
77952
- fontSize: BR(e.fontSize, 48),
77953
- fontFamily: VR(e.fontFamily, "CMU Serif, Georgia, Times New Roman, serif"),
77954
- fontWeight: JR(e.fontWeight),
77955
- fontStyle: VR(e.fontStyle, "normal"),
77956
- lineHeight: BR(e.lineHeight, 1.2),
77957
- letterSpacing: BR(e.letterSpacing, 0),
77958
- textAlign: YR(e.textAlign)
78179
+ text: QR(e.text, ""),
78180
+ fontSize: ZR(e.fontSize, 48),
78181
+ fontFamily: QR(e.fontFamily, "CMU Serif, Georgia, Times New Roman, serif"),
78182
+ fontWeight: az(e.fontWeight),
78183
+ fontStyle: QR(e.fontStyle, "normal"),
78184
+ lineHeight: ZR(e.lineHeight, 1.2),
78185
+ letterSpacing: ZR(e.letterSpacing, 0),
78186
+ textAlign: oz(e.textAlign)
77959
78187
  })
77960
- }), IR("MathTex", {
78188
+ }), qR("MathTex", {
77961
78189
  serialize: (e) => {
77962
78190
  let t = e;
77963
78191
  return {
@@ -77967,15 +78195,15 @@ function XR() {
77967
78195
  };
77968
78196
  },
77969
78197
  deserialize: (e) => new wS({
77970
- latex: VR(e.latex, ""),
77971
- fontSize: BR(e.fontSize, 1),
77972
- displayMode: HR(e.displayMode, !0)
78198
+ latex: QR(e.latex, ""),
78199
+ fontSize: ZR(e.fontSize, 1),
78200
+ displayMode: $R(e.displayMode, !0)
77973
78201
  })
77974
78202
  });
77975
78203
  }
77976
78204
  //#endregion
77977
78205
  //#region src/serialization/types.ts
77978
- var ZR = "manim-web-scene", QR = {
78206
+ var cz = "manim-web-scene", lz = {
77979
78207
  position: [
77980
78208
  0,
77981
78209
  0,
@@ -77992,7 +78220,7 @@ var ZR = "manim-web-scene", QR = {
77992
78220
  1
77993
78221
  ]
77994
78222
  };
77995
- function $R(e) {
78223
+ function uz(e) {
77996
78224
  return {
77997
78225
  position: [
77998
78226
  e.position.x,
@@ -78011,98 +78239,98 @@ function $R(e) {
78011
78239
  ]
78012
78240
  };
78013
78241
  }
78014
- function ez(e) {
78242
+ function dz(e) {
78015
78243
  let t = {};
78016
78244
  return e.strokeColor !== void 0 && (t.strokeColor = e.strokeColor), e.fillColor !== void 0 && (t.fillColor = e.fillColor), typeof e.opacity == "number" && (t.strokeOpacity = e.opacity), typeof e.fillOpacity == "number" && (t.fillOpacity = e.fillOpacity), typeof e.strokeWidth == "number" && (t.strokeWidth = e.strokeWidth), t;
78017
78245
  }
78018
- function tz(e, t) {
78019
- let n = qR(t) ? t : {}, r = GR(n.position, QR.position), i = GR(n.rotation, QR.rotation), a = GR(n.scale, QR.scale);
78246
+ function fz(e, t) {
78247
+ let n = iz(t) ? t : {}, r = nz(n.position, lz.position), i = nz(n.rotation, lz.rotation), a = nz(n.scale, lz.scale);
78020
78248
  e.position.set(r[0], r[1], r[2]), e.rotation.set(i[0], i[1], i[2]), e.scaleVector.set(a[0], a[1], a[2]);
78021
78249
  }
78022
- function nz(e, t) {
78023
- let n = qR(t) ? t : {};
78250
+ function pz(e, t) {
78251
+ let n = iz(t) ? t : {};
78024
78252
  typeof n.strokeWidth == "number" && e.setStrokeWidth(n.strokeWidth), typeof n.strokeOpacity == "number" && e.setStrokeOpacity(n.strokeOpacity), typeof n.fillOpacity == "number" && e.setFillOpacity(n.fillOpacity);
78025
- let r = UR(n.strokeColor), i = UR(n.fillColor);
78253
+ let r = ez(n.strokeColor), i = ez(n.fillColor);
78026
78254
  r !== void 0 && (e.color = r), r !== void 0 && (e.strokeColor = r), i !== void 0 && (e.fillColor = i);
78027
78255
  }
78028
- function rz(e) {
78029
- let t = e.constructor.name, n = RR(t), r = {
78256
+ function mz(e) {
78257
+ let t = e.constructor.name, n = YR(t), r = {
78030
78258
  type: t,
78031
78259
  props: n ? n.serialize(e) : {},
78032
- transform: $R(e),
78033
- style: ez(e),
78034
- children: e.children.map(rz)
78260
+ transform: uz(e),
78261
+ style: dz(e),
78262
+ children: e.children.map(mz)
78035
78263
  };
78036
78264
  return n || (r.unknown = !0), r;
78037
78265
  }
78038
- function iz(e) {
78039
- if (!qR(e) || e.unknown === !0) return null;
78040
- let t = UR(e.type);
78266
+ function hz(e) {
78267
+ if (!iz(e) || e.unknown === !0) return null;
78268
+ let t = ez(e.type);
78041
78269
  if (t === void 0) return null;
78042
- let n = RR(t);
78270
+ let n = YR(t);
78043
78271
  if (!n) return null;
78044
- let r = qR(e.props) ? e.props : {}, i = n.deserialize(r);
78045
- if (tz(i, e.transform), nz(i, e.style), Array.isArray(e.children)) for (let t of e.children) {
78046
- let e = iz(t);
78272
+ let r = iz(e.props) ? e.props : {}, i = n.deserialize(r);
78273
+ if (fz(i, e.transform), pz(i, e.style), Array.isArray(e.children)) for (let t of e.children) {
78274
+ let e = hz(t);
78047
78275
  e && i.add(e);
78048
78276
  }
78049
78277
  return i;
78050
78278
  }
78051
- function az(e) {
78279
+ function gz(e) {
78052
78280
  let t = [];
78053
- for (let n of e.mobjects) t.push(rz(n));
78281
+ for (let n of e.mobjects) t.push(mz(n));
78054
78282
  return {
78055
- format: ZR,
78283
+ format: cz,
78056
78284
  version: 1,
78057
78285
  mobjects: t
78058
78286
  };
78059
78287
  }
78060
- function oz(e, t) {
78061
- if (!qR(e) || !Array.isArray(e.mobjects)) return [];
78288
+ function _z(e, t) {
78289
+ if (!iz(e) || !Array.isArray(e.mobjects)) return [];
78062
78290
  let n = [];
78063
78291
  for (let r of e.mobjects) {
78064
- let e = iz(r);
78292
+ let e = hz(r);
78065
78293
  e && (t.add(e), n.push(e));
78066
78294
  }
78067
78295
  return n;
78068
78296
  }
78069
78297
  //#endregion
78070
78298
  //#region src/serialization/urlState.ts
78071
- var sz = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", cz = (() => {
78299
+ var vz = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", yz = (() => {
78072
78300
  let e = /* @__PURE__ */ new Map();
78073
- for (let t = 0; t < 64; t++) e.set(sz.charAt(t), t);
78301
+ for (let t = 0; t < 64; t++) e.set(vz.charAt(t), t);
78074
78302
  return e;
78075
78303
  })();
78076
- function lz(e) {
78304
+ function bz(e) {
78077
78305
  let t = "";
78078
78306
  for (let n = 0; n < e.length; n += 3) {
78079
78307
  let r = e[n], i = n + 1 < e.length, a = n + 2 < e.length, o = i ? e[n + 1] : 0, s = a ? e[n + 2] : 0, c = r << 16 | o << 8 | s;
78080
- t += sz.charAt(c >> 18 & 63), t += sz.charAt(c >> 12 & 63), i && (t += sz.charAt(c >> 6 & 63)), a && (t += sz.charAt(c & 63));
78308
+ t += vz.charAt(c >> 18 & 63), t += vz.charAt(c >> 12 & 63), i && (t += vz.charAt(c >> 6 & 63)), a && (t += vz.charAt(c & 63));
78081
78309
  }
78082
78310
  return t;
78083
78311
  }
78084
- function uz(e) {
78312
+ function xz(e) {
78085
78313
  let t = e.length;
78086
78314
  if (t % 4 == 1) return null;
78087
78315
  let n = [];
78088
78316
  for (let r = 0; r < t; r += 4) {
78089
- let i = Math.min(4, t - r), a = cz.get(e.charAt(r)), o = cz.get(e.charAt(r + 1));
78317
+ let i = Math.min(4, t - r), a = yz.get(e.charAt(r)), o = yz.get(e.charAt(r + 1));
78090
78318
  if (a === void 0 || o === void 0) return null;
78091
- let s = i > 2 ? cz.get(e.charAt(r + 2)) : 0, c = i > 3 ? cz.get(e.charAt(r + 3)) : 0;
78319
+ let s = i > 2 ? yz.get(e.charAt(r + 2)) : 0, c = i > 3 ? yz.get(e.charAt(r + 3)) : 0;
78092
78320
  if (s === void 0 || c === void 0) return null;
78093
78321
  let l = a << 18 | o << 12 | s << 6 | c;
78094
78322
  n.push(l >> 16 & 255), i > 2 && n.push(l >> 8 & 255), i > 3 && n.push(l & 255);
78095
78323
  }
78096
78324
  return Uint8Array.from(n);
78097
78325
  }
78098
- function dz(e) {
78326
+ function Sz(e) {
78099
78327
  let t = JSON.stringify(e), n = typeof t == "string" ? t : "null";
78100
- return lz(new TextEncoder().encode(n));
78328
+ return bz(new TextEncoder().encode(n));
78101
78329
  }
78102
- function fz(e) {
78330
+ function Cz(e) {
78103
78331
  let t = e.startsWith("#") ? e.slice(1) : e;
78104
78332
  if (t.length === 0) return null;
78105
- let n = uz(t);
78333
+ let n = xz(t);
78106
78334
  if (n === null) return null;
78107
78335
  try {
78108
78336
  let e = new TextDecoder().decode(n);
@@ -78111,18 +78339,18 @@ function fz(e) {
78111
78339
  return null;
78112
78340
  }
78113
78341
  }
78114
- function pz() {
78342
+ function wz() {
78115
78343
  return typeof window < "u" && window.location ? window.location : null;
78116
78344
  }
78117
- function mz() {
78345
+ function Tz() {
78118
78346
  return typeof window < "u" && window.history ? window.history : null;
78119
78347
  }
78120
- function hz(e, t = {}) {
78121
- let n = pz();
78348
+ function Ez(e, t = {}) {
78349
+ let n = wz();
78122
78350
  if (!n) return;
78123
- let r = dz(e), i = `#${r}`;
78351
+ let r = Sz(e), i = `#${r}`;
78124
78352
  if (t.replace) {
78125
- let e = mz();
78353
+ let e = Tz();
78126
78354
  if (e && typeof e.replaceState == "function") {
78127
78355
  e.replaceState(e.state ?? null, "", i);
78128
78356
  return;
@@ -78130,29 +78358,29 @@ function hz(e, t = {}) {
78130
78358
  }
78131
78359
  n.hash = r;
78132
78360
  }
78133
- function gz() {
78134
- let e = pz();
78135
- return e ? fz(e.hash) : null;
78361
+ function Dz() {
78362
+ let e = wz();
78363
+ return e ? Cz(e.hash) : null;
78136
78364
  }
78137
- function _z(e) {
78365
+ function Oz(e) {
78138
78366
  if (typeof window > "u" || typeof window.addEventListener != "function") return () => void 0;
78139
- let t = () => e(gz());
78367
+ let t = () => e(Dz());
78140
78368
  return window.addEventListener("hashchange", t), () => window.removeEventListener("hashchange", t);
78141
78369
  }
78142
- function vz(e) {
78370
+ function kz(e) {
78143
78371
  let t = {};
78144
78372
  for (let n of e) t[n.id] = n.get();
78145
78373
  return t;
78146
78374
  }
78147
- function yz(e, t) {
78375
+ function Az(e, t) {
78148
78376
  if (typeof t != "object" || !t || Array.isArray(t)) return !1;
78149
78377
  let n = t, r = !1;
78150
78378
  for (let t of e) Object.prototype.hasOwnProperty.call(n, t.id) && (t.set(n[t.id]), r = !0);
78151
78379
  return r;
78152
78380
  }
78153
- function bz(e, t = {}) {
78154
- let { replace: n = !0, restoreOnBind: r = !0, listen: i = !0 } = t, a = () => vz(e), o = () => hz(a(), { replace: n }), s = () => yz(e, gz()), c = null;
78155
- return r && s(), i && (c = _z((t) => yz(e, t))), {
78381
+ function jz(e, t = {}) {
78382
+ let { replace: n = !0, restoreOnBind: r = !0, listen: i = !0 } = t, a = () => kz(e), o = () => Ez(a(), { replace: n }), s = () => Az(e, Dz()), c = null;
78383
+ return r && s(), i && (c = Oz((t) => Az(e, t))), {
78156
78384
  capture: a,
78157
78385
  save: o,
78158
78386
  restore: s,
@@ -78163,13 +78391,13 @@ function bz(e, t = {}) {
78163
78391
  }
78164
78392
  //#endregion
78165
78393
  //#region src/serialization/parametrized.ts
78166
- function xz(e) {
78394
+ function Mz(e) {
78167
78395
  return Array.isArray(e) && e.length === 3 && e.every((e) => typeof e == "number" && Number.isFinite(e));
78168
78396
  }
78169
- function Sz(e) {
78170
- return typeof e == "number" ? "number" : typeof e == "string" ? "string" : typeof e == "boolean" ? "boolean" : xz(e) ? "vec3" : Array.isArray(e) ? "array" : qR(e) ? "object" : null;
78397
+ function Nz(e) {
78398
+ return typeof e == "number" ? "number" : typeof e == "string" ? "string" : typeof e == "boolean" ? "boolean" : Mz(e) ? "vec3" : Array.isArray(e) ? "array" : iz(e) ? "object" : null;
78171
78399
  }
78172
- function Cz(e, t, n) {
78400
+ function Pz(e, t, n) {
78173
78401
  switch (t) {
78174
78402
  case "number":
78175
78403
  if (typeof e == "number" && Number.isFinite(e)) return e;
@@ -78180,46 +78408,46 @@ function Cz(e, t, n) {
78180
78408
  return typeof e == "boolean" ? +!!e : n;
78181
78409
  case "string": return typeof e == "string" ? e : typeof e == "number" && Number.isFinite(e) || typeof e == "boolean" ? String(e) : n;
78182
78410
  case "boolean": return typeof e == "boolean" ? e : e === "true" ? !0 : e === "false" ? !1 : typeof e == "number" && Number.isFinite(e) ? e !== 0 : n;
78183
- case "vec3": return GR(e, xz(n) ? n : [
78411
+ case "vec3": return nz(e, Mz(n) ? n : [
78184
78412
  0,
78185
78413
  0,
78186
78414
  0
78187
78415
  ]);
78188
78416
  case "array": return Array.isArray(e) ? e : n;
78189
- case "object": return qR(e) ? e : n;
78417
+ case "object": return iz(e) ? e : n;
78190
78418
  }
78191
78419
  }
78192
- function wz(e, t, n) {
78193
- let r = e.defaultProps[t], i = e.schema?.[t] ?? Sz(r);
78194
- return i === null ? n === void 0 ? r : n : Cz(n, i, r);
78420
+ function Fz(e, t, n) {
78421
+ let r = e.defaultProps[t], i = e.schema?.[t] ?? Nz(r);
78422
+ return i === null ? n === void 0 ? r : n : Pz(n, i, r);
78195
78423
  }
78196
- function Tz(e, t, n) {
78424
+ function Iz(e, t, n) {
78197
78425
  let r = { ...t };
78198
- if (n) for (let t of Object.keys(n)) Object.prototype.hasOwnProperty.call(e.defaultProps, t) && (r[t] = wz(e, t, n[t]));
78426
+ if (n) for (let t of Object.keys(n)) Object.prototype.hasOwnProperty.call(e.defaultProps, t) && (r[t] = Fz(e, t, n[t]));
78199
78427
  return r;
78200
78428
  }
78201
- function Ez(e) {
78429
+ function Lz(e) {
78202
78430
  return e;
78203
78431
  }
78204
- function Dz(e, t) {
78205
- return Tz(e, { ...e.defaultProps }, t);
78432
+ function Rz(e, t) {
78433
+ return Iz(e, { ...e.defaultProps }, t);
78206
78434
  }
78207
- function Oz(e) {
78208
- let t = gz();
78209
- return Dz(e, qR(t) ? t : void 0);
78435
+ function zz(e) {
78436
+ let t = Dz();
78437
+ return Rz(e, iz(t) ? t : void 0);
78210
78438
  }
78211
- var kz = async (e, t) => {
78439
+ var Bz = async (e, t) => {
78212
78440
  if (typeof fetch != "function") throw Error("renderParametrized: no global fetch available. Pass options.fetch to inject one.");
78213
78441
  let n = await fetch(e, t);
78214
78442
  if (!n.ok) throw Error(`renderParametrized: fetch failed for ${e} (status ${n.status})`);
78215
78443
  return n.json();
78216
78444
  };
78217
- function Az(e, t) {
78445
+ function Vz(e, t) {
78218
78446
  let n = t.width ?? e.renderer.width, r = t.height ?? e.renderer.height;
78219
78447
  (n !== e.renderer.width || r !== e.renderer.height) && e.resize(n, r), typeof t.fps == "number" && Number.isFinite(t.fps) && e.setTargetFps(t.fps);
78220
78448
  }
78221
- async function jz(e, t, n = {}) {
78222
- let r = n.fetch ?? kz, i = Dz(e, t), a, o = {};
78449
+ async function Hz(e, t, n = {}) {
78450
+ let r = n.fetch ?? Bz, i = Rz(e, t), a, o = {};
78223
78451
  if (e.calculateMetadata) {
78224
78452
  let t = await e.calculateMetadata({
78225
78453
  props: i,
@@ -78230,7 +78458,7 @@ async function jz(e, t, n = {}) {
78230
78458
  width: t.width,
78231
78459
  height: t.height,
78232
78460
  fps: t.fps
78233
- }, t.props && (i = Tz(e, i, t.props));
78461
+ }, t.props && (i = Iz(e, i, t.props));
78234
78462
  }
78235
78463
  let s = n.scene;
78236
78464
  s ||= jg.createHeadless({
@@ -78238,9 +78466,9 @@ async function jz(e, t, n = {}) {
78238
78466
  ...o.width === void 0 ? {} : { width: o.width },
78239
78467
  ...o.height === void 0 ? {} : { height: o.height },
78240
78468
  ...o.fps === void 0 ? {} : { targetFps: o.fps }
78241
- }), Az(s, o);
78242
- let c = dz(i);
78243
- return n.writeUrl && hz(i, { replace: n.urlReplace ?? !0 }), await e.build(s, i, a), {
78469
+ }), Vz(s, o);
78470
+ let c = Sz(i);
78471
+ return n.writeUrl && Ez(i, { replace: n.urlReplace ?? !0 }), await e.build(s, i, a), {
78244
78472
  scene: s,
78245
78473
  props: i,
78246
78474
  data: a,
@@ -78255,10 +78483,10 @@ async function jz(e, t, n = {}) {
78255
78483
  }
78256
78484
  //#endregion
78257
78485
  //#region src/serialization/index.ts
78258
- XR();
78486
+ sz();
78259
78487
  //#endregion
78260
78488
  //#region src/mobjects/geo/geojson.ts
78261
- function Mz(e) {
78489
+ function Uz(e) {
78262
78490
  if (e.type === "Polygon") {
78263
78491
  let t = e.coordinates[0];
78264
78492
  return t ? [t] : [];
@@ -78272,26 +78500,26 @@ function Mz(e) {
78272
78500
  }
78273
78501
  //#endregion
78274
78502
  //#region src/mobjects/geo/projections.ts
78275
- var Nz = Math.PI / 180;
78276
- function Pz(e = {}) {
78277
- let { radius: t = 1, centerLon: n = 0, centerLat: r = 0, standardParallel: i = 0 } = e, a = Math.cos(i * Nz);
78278
- return ([e, i]) => [(e - n) * Nz * t * a, (i - r) * Nz * t];
78503
+ var Wz = Math.PI / 180;
78504
+ function Gz(e = {}) {
78505
+ let { radius: t = 1, centerLon: n = 0, centerLat: r = 0, standardParallel: i = 0 } = e, a = Math.cos(i * Wz);
78506
+ return ([e, i]) => [(e - n) * Wz * t * a, (i - r) * Wz * t];
78279
78507
  }
78280
- function Fz(e = {}) {
78508
+ function Kz(e = {}) {
78281
78509
  let { radius: t = 1, centerLon: n = 0, maxLatitude: r = 85.05112878 } = e;
78282
78510
  return ([e, i]) => {
78283
- let a = Math.max(-r, Math.min(r, i)) * Nz;
78284
- return [(e - n) * Nz * t, t * Math.log(Math.tan(Math.PI / 4 + a / 2))];
78511
+ let a = Math.max(-r, Math.min(r, i)) * Wz;
78512
+ return [(e - n) * Wz * t, t * Math.log(Math.tan(Math.PI / 4 + a / 2))];
78285
78513
  };
78286
78514
  }
78287
78515
  //#endregion
78288
78516
  //#region src/mobjects/geo/colorScale.ts
78289
- var Iz = ["#0d1b2a", "#4cc9f0"], Lz = class {
78517
+ var qz = ["#0d1b2a", "#4cc9f0"], Jz = class {
78290
78518
  _palette;
78291
78519
  _domain;
78292
78520
  constructor(e = {}) {
78293
- let { colors: t = Iz, domain: n = [0, 1], samples: r = 256 } = e, i = Math.max(2, Math.floor(r));
78294
- this._palette = Ua(t.length > 0 ? t : Iz, i), this._domain = [n[0], n[1]];
78521
+ let { colors: t = qz, domain: n = [0, 1], samples: r = 256 } = e, i = Math.max(2, Math.floor(r));
78522
+ this._palette = Ua(t.length > 0 ? t : qz, i), this._domain = [n[0], n[1]];
78295
78523
  }
78296
78524
  setDomainFromValues(e) {
78297
78525
  let t = Infinity, n = -Infinity;
@@ -78307,7 +78535,7 @@ var Iz = ["#0d1b2a", "#4cc9f0"], Lz = class {
78307
78535
  let a = Math.round(i * (this._palette.length - 1));
78308
78536
  return this._palette[a];
78309
78537
  }
78310
- }, Rz = class extends Qh {
78538
+ }, Yz = class extends Qh {
78311
78539
  _projection;
78312
78540
  _colorScale;
78313
78541
  _regions = [];
@@ -78315,10 +78543,10 @@ var Iz = ["#0d1b2a", "#4cc9f0"], Lz = class {
78315
78543
  _regionPolygons = [];
78316
78544
  constructor(e) {
78317
78545
  super();
78318
- let { geojson: t, value: n, colorScale: r = ["#0d1b2a", "#4cc9f0"], domain: i, fillOpacity: a = 1, noDataColor: o = pe, borderColor: s = "#1b263b", borderWidth: c = 1, projection: l = Pz() } = e;
78546
+ let { geojson: t, value: n, colorScale: r = ["#0d1b2a", "#4cc9f0"], domain: i, fillOpacity: a = 1, noDataColor: o = pe, borderColor: s = "#1b263b", borderWidth: c = 1, projection: l = Gz() } = e;
78319
78547
  this._projection = l;
78320
78548
  let u = t.features ?? [], d = u.map((e, t) => n(e, t));
78321
- this._colorScale = new Lz({
78549
+ this._colorScale = new Jz({
78322
78550
  colors: r,
78323
78551
  domain: i
78324
78552
  }), i || this._colorScale.setDomainFromValues(d.filter((e) => typeof e == "number" && Number.isFinite(e))), u.forEach((e, t) => {
@@ -78331,7 +78559,7 @@ var Iz = ["#0d1b2a", "#4cc9f0"], Lz = class {
78331
78559
  });
78332
78560
  }
78333
78561
  _buildRegion(e, t, n) {
78334
- let r = typeof t == "number" && Number.isFinite(t) ? this._colorScale.colorFor(t) : n.noDataColor, i = Mz(e.geometry), a = [];
78562
+ let r = typeof t == "number" && Number.isFinite(t) ? this._colorScale.colorFor(t) : n.noDataColor, i = Uz(e.geometry), a = [];
78335
78563
  for (let e of i) {
78336
78564
  let t = this._buildPolygon(e, r, n);
78337
78565
  t && a.push(t);
@@ -78340,7 +78568,7 @@ var Iz = ["#0d1b2a", "#4cc9f0"], Lz = class {
78340
78568
  this.add(o), this._regions.push(o), this._regionColors.push(r), this._regionPolygons.push(a);
78341
78569
  }
78342
78570
  _buildPolygon(e, t, n) {
78343
- let r = Bz(e);
78571
+ let r = Zz(e);
78344
78572
  if (r.length < 3) return null;
78345
78573
  let i = new Gv({
78346
78574
  vertices: r.map((e) => {
@@ -78376,15 +78604,15 @@ var Iz = ["#0d1b2a", "#4cc9f0"], Lz = class {
78376
78604
  getColorScale() {
78377
78605
  return this._colorScale;
78378
78606
  }
78379
- }, zz = Rz;
78380
- function Bz(e) {
78607
+ }, Xz = Yz;
78608
+ function Zz(e) {
78381
78609
  if (e.length < 2) return e;
78382
78610
  let t = e[0], n = e[e.length - 1];
78383
78611
  return t[0] === n[0] && t[1] === n[1] ? e.slice(0, -1) : e;
78384
78612
  }
78385
78613
  //#endregion
78386
78614
  //#region src/mobjects/geo/Globe.ts
78387
- var Vz = Math.PI / 180, Hz = class extends Qh {
78615
+ var Qz = Math.PI / 180, $z = class extends Qh {
78388
78616
  _radius;
78389
78617
  _center;
78390
78618
  _sphere;
@@ -78432,9 +78660,9 @@ var Vz = Math.PI / 180, Hz = class extends Qh {
78432
78660
  return [...this._plottedPoints];
78433
78661
  }
78434
78662
  arc(e, t, n = {}) {
78435
- let { segments: r = 64, color: i = "#ef476f", lineWidth: a = 2, altitude: o = 0 } = n, s = this._radius * (1 + o), c = Uz(e[0], e[1]), l = Uz(t[0], t[1]), u = Kz(c[0] * l[0] + c[1] * l[1] + c[2] * l[2], -1, 1), d = Math.acos(u), f = Math.sin(d), p = [];
78663
+ let { segments: r = 64, color: i = "#ef476f", lineWidth: a = 2, altitude: o = 0 } = n, s = this._radius * (1 + o), c = eB(e[0], e[1]), l = eB(t[0], t[1]), u = rB(c[0] * l[0] + c[1] * l[1] + c[2] * l[2], -1, 1), d = Math.acos(u), f = Math.sin(d), p = [];
78436
78664
  for (let e = 0; e <= r; e++) {
78437
- let t = Wz(c, l, e / r, d, f);
78665
+ let t = tB(c, l, e / r, d, f);
78438
78666
  p.push([
78439
78667
  this._center[0] + s * t[0],
78440
78668
  this._center[1] + s * t[1],
@@ -78451,8 +78679,8 @@ var Vz = Math.PI / 180, Hz = class extends Qh {
78451
78679
  }
78452
78680
  graticule(e = {}) {
78453
78681
  let { latStep: t = 30, lonStep: n = 30, segments: r = 48, color: i = "#8d99ae", lineWidth: a = 1 } = e, o = new Qh();
78454
- for (let e = -180; e < 180; e += n) o.add(this._gridLine(qz(e, r), i, a));
78455
- for (let e = -90 + t; e < 90; e += t) o.add(this._gridLine(Jz(e, r), i, a));
78682
+ for (let e = -180; e < 180; e += n) o.add(this._gridLine(iB(e, r), i, a));
78683
+ for (let e = -90 + t; e < 90; e += t) o.add(this._gridLine(aB(e, r), i, a));
78456
78684
  return this.add(o), o;
78457
78685
  }
78458
78686
  _gridLine(e, t, n) {
@@ -78464,7 +78692,7 @@ var Vz = Math.PI / 180, Hz = class extends Qh {
78464
78692
  });
78465
78693
  }
78466
78694
  _surfacePoint(e, t, n) {
78467
- let r = Uz(e, t);
78695
+ let r = eB(e, t);
78468
78696
  return [
78469
78697
  this._center[0] + n * r[0],
78470
78698
  this._center[1] + n * r[1],
@@ -78472,16 +78700,16 @@ var Vz = Math.PI / 180, Hz = class extends Qh {
78472
78700
  ];
78473
78701
  }
78474
78702
  };
78475
- function Uz(e, t) {
78476
- let n = e * Vz, r = t * Vz, i = Math.cos(n);
78703
+ function eB(e, t) {
78704
+ let n = e * Qz, r = t * Qz, i = Math.cos(n);
78477
78705
  return [
78478
78706
  i * Math.cos(r),
78479
78707
  i * Math.sin(r),
78480
78708
  Math.sin(n)
78481
78709
  ];
78482
78710
  }
78483
- function Wz(e, t, n, r, i) {
78484
- if (i < 1e-9) return Gz([
78711
+ function tB(e, t, n, r, i) {
78712
+ if (i < 1e-9) return nB([
78485
78713
  e[0] + (t[0] - e[0]) * n,
78486
78714
  e[1] + (t[1] - e[1]) * n,
78487
78715
  e[2] + (t[2] - e[2]) * n
@@ -78493,7 +78721,7 @@ function Wz(e, t, n, r, i) {
78493
78721
  e[2] * a + t[2] * o
78494
78722
  ];
78495
78723
  }
78496
- function Gz(e) {
78724
+ function nB(e) {
78497
78725
  let t = Math.sqrt(e[0] * e[0] + e[1] * e[1] + e[2] * e[2]) || 1;
78498
78726
  return [
78499
78727
  e[0] / t,
@@ -78501,44 +78729,44 @@ function Gz(e) {
78501
78729
  e[2] / t
78502
78730
  ];
78503
78731
  }
78504
- function Kz(e, t, n) {
78732
+ function rB(e, t, n) {
78505
78733
  return Math.max(t, Math.min(n, e));
78506
78734
  }
78507
- function qz(e, t) {
78735
+ function iB(e, t) {
78508
78736
  let n = [];
78509
78737
  for (let r = 0; r <= t; r++) n.push([-90 + 180 * r / t, e]);
78510
78738
  return n;
78511
78739
  }
78512
- function Jz(e, t) {
78740
+ function aB(e, t) {
78513
78741
  let n = [];
78514
78742
  for (let r = 0; r <= t; r++) n.push([e, -180 + 360 * r / t]);
78515
78743
  return n;
78516
78744
  }
78517
78745
  //#endregion
78518
78746
  //#region src/mobjects/ml/mlStyles.ts
78519
- var Yz = {
78747
+ var oB = {
78520
78748
  color: be,
78521
78749
  fillColor: be,
78522
78750
  fillOpacity: .3,
78523
78751
  strokeWidth: 2
78524
- }, Xz = {
78752
+ }, sB = {
78525
78753
  color: pe,
78526
78754
  strokeWidth: 1.5,
78527
78755
  opacity: .35
78528
- }, Zz = E;
78529
- function Qz(e, t) {
78756
+ }, cB = E;
78757
+ function lB(e, t) {
78530
78758
  return {
78531
78759
  ...e,
78532
- ...eB(t)
78760
+ ...dB(t)
78533
78761
  };
78534
78762
  }
78535
- function $z(e, t) {
78763
+ function uB(e, t) {
78536
78764
  return {
78537
78765
  ...e,
78538
- ...eB(t)
78766
+ ...dB(t)
78539
78767
  };
78540
78768
  }
78541
- function eB(e) {
78769
+ function dB(e) {
78542
78770
  if (!e) return {};
78543
78771
  let t = {};
78544
78772
  for (let n of Object.keys(e)) e[n] !== void 0 && (t[n] = e[n]);
@@ -78546,7 +78774,7 @@ function eB(e) {
78546
78774
  }
78547
78775
  //#endregion
78548
78776
  //#region src/mobjects/ml/NeuralNetworkLayer.ts
78549
- var tB = class extends L {
78777
+ var fB = class extends L {
78550
78778
  _nodes = [];
78551
78779
  normalizeTransform(e = this._ownMatrix()) {
78552
78780
  return this._flattenAsContainer(e);
@@ -78560,14 +78788,14 @@ var tB = class extends L {
78560
78788
  nodeAnchors() {
78561
78789
  return this._nodes.map((e) => e.getCenter());
78562
78790
  }
78563
- }, nB = class extends tB {
78791
+ }, pB = class extends fB {
78564
78792
  _nodeRadius;
78565
78793
  _nodeSpacing;
78566
78794
  _nodeStyle;
78567
78795
  constructor(e = {}) {
78568
78796
  super();
78569
78797
  let t = e.numNodes ?? 3, n = Math.max(0, Math.floor(t));
78570
- this._nodeRadius = e.nodeRadius ?? .25, this._nodeSpacing = e.nodeSpacing ?? .7, this._nodeStyle = Qz(Yz, e.nodeStyle), this._buildNodes(n);
78798
+ this._nodeRadius = e.nodeRadius ?? .25, this._nodeSpacing = e.nodeSpacing ?? .7, this._nodeStyle = lB(oB, e.nodeStyle), this._buildNodes(n);
78571
78799
  }
78572
78800
  _buildNodes(e) {
78573
78801
  if (e === 0) return;
@@ -78596,7 +78824,7 @@ var tB = class extends L {
78596
78824
  };
78597
78825
  //#endregion
78598
78826
  //#region src/mobjects/ml/featureMapStack.ts
78599
- function rB(e) {
78827
+ function mB(e) {
78600
78828
  let { numFeatureMaps: t, mapSize: n, offset: r, style: i } = e, a = Math.max(0, Math.floor(t)), o = a > 0 ? (a - 1) * r : 0, s = n + o, c = [];
78601
78829
  for (let e = 0; e < a; e++) {
78602
78830
  let t = -o / 2 + e * r, a = o / 2 - e * r, s = new l_({
@@ -78620,15 +78848,15 @@ function rB(e) {
78620
78848
  }
78621
78849
  //#endregion
78622
78850
  //#region src/mobjects/ml/ConvolutionalLayer.ts
78623
- var iB = class extends tB {
78851
+ var hB = class extends fB {
78624
78852
  _width;
78625
78853
  constructor(e = {}) {
78626
78854
  super();
78627
- let { nodes: t, width: n } = rB({
78855
+ let { nodes: t, width: n } = mB({
78628
78856
  numFeatureMaps: e.numFeatureMaps ?? 3,
78629
78857
  mapSize: e.mapSize ?? .5,
78630
78858
  offset: e.offset ?? .15,
78631
- style: Qz(Yz, e.nodeStyle)
78859
+ style: lB(oB, e.nodeStyle)
78632
78860
  });
78633
78861
  this._width = n;
78634
78862
  for (let e of t) this._nodes.push(e), this.add(e);
@@ -78636,15 +78864,15 @@ var iB = class extends tB {
78636
78864
  layerWidth() {
78637
78865
  return this._width;
78638
78866
  }
78639
- }, aB = class extends tB {
78867
+ }, gB = class extends fB {
78640
78868
  _width;
78641
78869
  constructor(e = {}) {
78642
78870
  super();
78643
- let { nodes: t, width: n } = rB({
78871
+ let { nodes: t, width: n } = mB({
78644
78872
  numFeatureMaps: e.numFeatureMaps ?? 3,
78645
78873
  mapSize: e.mapSize ?? .3,
78646
78874
  offset: e.offset ?? .12,
78647
- style: Qz(Yz, e.nodeStyle)
78875
+ style: lB(oB, e.nodeStyle)
78648
78876
  });
78649
78877
  this._width = n;
78650
78878
  for (let e of t) this._nodes.push(e), this.add(e);
@@ -78652,7 +78880,7 @@ var iB = class extends tB {
78652
78880
  layerWidth() {
78653
78881
  return this._width;
78654
78882
  }
78655
- }, oB = class extends tB {
78883
+ }, _B = class extends fB {
78656
78884
  _cols;
78657
78885
  _cellSize;
78658
78886
  _grid;
@@ -78660,7 +78888,7 @@ var iB = class extends tB {
78660
78888
  super();
78661
78889
  let t = Math.max(0, Math.floor(e.rows ?? 3));
78662
78890
  this._cols = Math.max(0, Math.floor(e.cols ?? 3)), this._cellSize = e.cellSize ?? .25;
78663
- let n = Qz(Yz, e.nodeStyle);
78891
+ let n = lB(oB, e.nodeStyle);
78664
78892
  this._grid = this._buildGrid(t, this._cols, n), this.add(this._grid), t > 0 && this._cols > 0 && this._nodes.push(this._grid);
78665
78893
  }
78666
78894
  _buildGrid(e, t, n) {
@@ -78685,13 +78913,13 @@ var iB = class extends tB {
78685
78913
  layerWidth() {
78686
78914
  return Math.max(this._cols, 1) * this._cellSize;
78687
78915
  }
78688
- }, sB = class extends L {
78916
+ }, vB = class extends L {
78689
78917
  _layers;
78690
78918
  _connections = [];
78691
78919
  _stages = [];
78692
78920
  _edgeStyle;
78693
78921
  constructor(e = [], t = {}) {
78694
- super(), this._layers = [...e], this._edgeStyle = $z(Xz, t.edgeStyle);
78922
+ super(), this._layers = [...e], this._edgeStyle = uB(sB, t.edgeStyle);
78695
78923
  let n = t.layerSpacing ?? 1, r = t.connectAdjacent ?? !0;
78696
78924
  this._placeLayers(n), r && this._buildConnections();
78697
78925
  for (let e of this._connections) this.add(e);
@@ -78738,7 +78966,7 @@ var iB = class extends tB {
78738
78966
  getConnectionStages() {
78739
78967
  return this._stages.map((e) => [...e]);
78740
78968
  }
78741
- }, cB = class extends z {
78969
+ }, yB = class extends z {
78742
78970
  activation = 0;
78743
78971
  _activationColor;
78744
78972
  _peakOpacity;
@@ -78749,7 +78977,7 @@ var iB = class extends tB {
78749
78977
  super(e, {
78750
78978
  duration: t.duration ?? 1,
78751
78979
  rateFunc: t.rateFunc ?? (t.restore ? Fo : void 0)
78752
- }), this._activationColor = t.activationColor ?? Zz, this._peakOpacity = t.peakOpacity ?? 1, this._restore = t.restore ?? !1;
78980
+ }), this._activationColor = t.activationColor ?? cB, this._peakOpacity = t.peakOpacity ?? 1, this._restore = t.restore ?? !1;
78753
78981
  }
78754
78982
  begin() {
78755
78983
  super.begin(), this._baseOpacity = this.mobject.opacity, this._baseColor = this.mobject.color, this.activation = 0;
@@ -78765,12 +78993,12 @@ var iB = class extends tB {
78765
78993
  this._restore ? (this.mobject.setStrokeOpacity(this._baseOpacity), this.mobject.setColor(this._baseColor), this.activation = 0) : this.activation = 1, this.mobject._markDirty(), super.finish();
78766
78994
  }
78767
78995
  };
78768
- function lB(e, t) {
78769
- return new cB(e, t);
78996
+ function bB(e, t) {
78997
+ return new yB(e, t);
78770
78998
  }
78771
78999
  //#endregion
78772
79000
  //#region src/mobjects/ml/forwardPass.ts
78773
- function uB(e, t, n) {
79001
+ function xB(e, t, n) {
78774
79002
  let r = e.getConnectionStages(), i = t ? [...r].reverse() : r, a = {
78775
79003
  duration: n.gapDuration ?? 1,
78776
79004
  activationColor: n.activationColor,
@@ -78778,13 +79006,13 @@ function uB(e, t, n) {
78778
79006
  restore: n.restore,
78779
79007
  rateFunc: n.rateFunc
78780
79008
  };
78781
- return i.map((e) => new og(e.map((e) => new cB(e, a)), { lagRatio: 0 }));
79009
+ return i.map((e) => new og(e.map((e) => new yB(e, a)), { lagRatio: 0 }));
78782
79010
  }
78783
- function dB(e, t = {}) {
78784
- return new jM(uB(e, !1, t), { lagRatio: t.lagRatio ?? 1 });
79011
+ function SB(e, t = {}) {
79012
+ return new jM(xB(e, !1, t), { lagRatio: t.lagRatio ?? 1 });
78785
79013
  }
78786
- function fB(e, t = {}) {
78787
- return new jM(uB(e, !0, t), { lagRatio: t.lagRatio ?? 1 });
79014
+ function CB(e, t = {}) {
79015
+ return new jM(xB(e, !0, t), { lagRatio: t.lagRatio ?? 1 });
78788
79016
  }
78789
79017
  //#endregion
78790
- export { oR as $, je as $_, rj as $a, cT as $c, zy as $d, Dv as $f, Bt as $g, Tr as $h, CM as $i, SC as $l, R as $m, tF as $n, Ik as $o, og as $p, VN as $r, cD as $s, ZI as $t, fx as $u, dz as A, _e as A_, Ij as Aa, bE as Ac, Ob as Ad, ny as Af, dn as Ag, $o as Ah, eN as Ai, uw as Al, cm as Am, XF as An, SA as Ao, Pg as Ap, aP as Ar, sO as As, AL as At, vS as Au, Se as Av, IR as B, He as B_, xj as Ba, qT as Bc, mb as Bd, qv as Bf, en as Bg, So as Bh, MM as Bi, RC as Bl, z as Bm, NF as Bn, eA as Bo, wg as Bp, YN as Br, DD as Bs, vL as Bt, Ix as Bu, Re as Bv, Mz as C, vt as C_, Kj as Ca, ME as Cc, Bb as Cd, dy as Cf, gn as Cg, Bo as Ch, sN as Ci, ww as Cl, sh as Cm, jI as Cn, kA as Co, h_ as Cp, pP as Cr, fO as Cs, CL as Ct, MS as Cu, N as Cv, Dz as D, be as D_, Bj as Da, kE as Dc, Ab as Dd, iy as Df, xn as Dg, Wo as Dh, iN as Di, yw as Dl, hm as Dm, gI as Dn, EA as Do, u_ as Dp, oP as Dr, pO as Ds, jL as Dt, ES as Du, Ye as Dv, jz as E, de as E_, Wj as Ea, EE as Ec, Vb as Ed, cy as Ef, _n as Eg, Io as Eh, rN as Ei, _w as El, Im as Em, _I as En, AA as Eo, l_ as Ep, lP as Er, mO as Es, lL as Et, AS as Eu, Je as Ev, oz as F, pt as F_, bj as Fa, oE as Fc, gb as Fd, Zv as Ff, tn as Fg, Ko as Fh, GM as Fi, tw as Fl, Kp as Fm, qF as Fn, lA as Fo, Eg as Fp, QN as Fr, FD as Fs, mL as Ft, Jx as Fu, E as Fv, CR as G, ce as G_, lj as Ga, OT as Gc, qy as Gd, zv as Gf, rn as Gg, I as Gh, PM as Gi, DC as Gl, Po as Gm, bF as Gn, Wk as Go, _g as Gp, HN as Gr, _D as Gs, NL as Gt, Px as Gu, PR as H, We as H_, yj as Ha, BT as Hc, Yy as Hd, Wv as Hf, Jt as Hg, Co as Hh, HM as Hi, IC as Hl, Ro as Hm, jF as Hn, qk as Ho, vg as Hp, qN as Hr, bD as Hs, hL as Ht, zx as Hu, rz as I, A as I_, gj as Ia, eE as Ic, pb as Id, Xv as If, Qt as Ig, Jo as Ih, UM as Ii, YC as Il, Wp as Im, JF as In, uA as Io, Tg as Ip, $N as Ir, TD as Is, fL as It, qx as Iu, ze as Iv, wR as J, ue as J_, cj as Ja, mT as Jc, Qy as Jd, Bv as Jf, Ft as Jg, Na as Jh, AM as Ji, CC as Jl, jo as Jm, pF as Jn, Bk as Jo, mg as Jp, BN as Jr, sD as Js, yL as Jt, jx as Ju, OR as K, le as K_, mj as Ka, pT as Kc, $y as Kd, Iv as Kf, nn as Kg, Ua as Kh, WM as Ki, EC as Kl, fs as Km, gF as Kn, Uk as Ko, gg as Kp, UN as Kr, hD as Ks, FL as Kt, Nx as Ku, az as L, Ge as L_, vj as La, $T as Lc, db as Ld, Jv as Lf, Zt as Lg, vo as Lh, FM as Li, qC as Ll, Hp as Lm, BF as Ln, iA as Lo, Cg as Lp, XN as Lr, CD as Ls, dL as Lt, Xx as Lu, Fe as Lv, gz as M, j as M_, Lj as Ma, yE as Mc, Tb as Md, ey as Mf, fn as Mg, Go as Mh, QM as Mi, ow as Ml, im as Mm, WF as Mn, hA as Mo, Mg as Mp, nP as Mr, qD as Ms, cL as Mt, $x as Mu, we as Mv, hz as N, me as N_, Ej as Na, TE as Nc, _b as Nd, $v as Nf, Xt as Ng, zo as Nh, ZM as Ni, aw as Nl, Jp as Nm, GF as Nn, dA as No, jg as Np, tP as Nr, zD as Ns, uL as Nt, Zx as Nu, Te as Nv, bz as O, he as O_, Vj as Oa, SE as Oc, kb as Od, sy as Of, mn as Og, To as Oh, tN as Oi, hw as Ol, sm as Om, fI as On, DA as Oo, c_ as Op, sP as Or, hO as Os, SL as Ot, wS as Ou, Xe as Ov, iz as P, xe as P_, Sj as Pa, CE as Pc, hb as Pd, Qv as Pf, Yt as Pg, Fo as Ph, YM as Pi, iw as Pl, Qp as Pm, UF as Pn, fA as Po, Ag as Pp, rP as Pr, BD as Ps, IL as Pt, Yx as Pu, Ee as Pv, rR as Q, Ae as Q_, tj as Qa, sT as Qc, By as Qd, Mv as Qf, xt as Qg, Cr as Qh, OM as Qi, wC as Ql, ms as Qm, eF as Qn, Hk as Qo, cg as Qp, NN as Qr, oD as Qs, nL as Qt, Sx as Qu, zR as R, Be as R_, wj as Ra, XT as Rc, fb as Rd, Yv as Rf, sn as Rg, yo as Rh, zM as Ri, GC as Rl, Os as Rm, zF as Rn, tA as Ro, kg as Rp, ZN as Rr, wD as Rs, EL as Rt, Wx as Ru, Ie as Rv, Fz as S, Nt as S_, Yj as Sa, jE as Sc, Kb as Sd, fy as Sf, yn as Sg, Yo as Sh, lN as Si, Dw as Sl, Nh as Sm, AI as Sn, NA as So, x_ as Sp, gP as Sr, EO as Ss, OL as St, LS as Su, st as Sv, Oz as T, bt as T_, Uj as Ta, DE as Tc, Yb as Td, ly as Tf, vn as Tg, Lo as Th, aN as Ti, Tw as Tl, Rm as Tm, hI as Tn, jA as To, m_ as Tp, cP as Tr, uO as Ts, TL as Tt, FS as Tu, qe as Tv, NR as U, pe as U_, Tj as Ua, PT as Uc, Xy as Ud, Uv as Uf, on as Ug, co as Uh, qM as Ui, FC as Ul, Do as Um, xF as Un, Kk as Uo, hg as Up, WN as Ur, vD as Us, _L as Ut, Rx as Uu, LR as V, Ue as V_, _j as Va, HT as Vc, Uy as Vd, Kv as Vf, $t as Vg, xo as Vh, BM as Vi, LC as Vl, Vo as Vm, MF as Vn, Xk as Vo, Og as Vp, KN as Vr, xD as Vs, gL as Vt, Bx as Vu, M as Vv, TR as W, D as W_, sj as Wa, NT as Wc, Jy as Wd, Vv as Wf, an as Wg, L as Wh, KM as Wi, AC as Wl, vs as Wm, yF as Wn, Gk as Wo, ug as Wp, GN as Wr, yD as Ws, ML as Wt, Lx as Wu, DR as X, Oe as X_, hj as Xa, lT as Xc, Ry as Xd, Fv as Xf, wt as Xg, Bi as Xh, wM as Xi, TC as Xl, bs as Xm, rF as Xn, Rk as Xo, fg as Xp, RN as Xr, dD as Xs, rL as Xt, wx as Xu, SR as Y, Pe as Y_, uj as Ya, dT as Yc, Zy as Yd, Lv as Yf, qt as Yg, La as Yh, SM as Yi, jC as Yl, Eo as Ym, hF as Yn, zk as Yo, pg as Yp, PN as Yr, lD as Ys, tL as Yt, Tx as Yu, ER as Z, ke as Z_, fj as Za, uT as Zc, Ly as Zd, jv as Zf, Ct as Zg, kr as Zh, EM as Zi, NC as Zl, Ts as Zm, iF as Zn, Vk as Zo, dg as Zp, IN as Zr, pD as Zs, iL as Zt, Cx as Zu, Hz as _, Gt as __, $j as _a, YE as _c, Fb as _d, yy as _f, zn as _g, ls as _h, fN as _i, Rw as _l, Ih as _m, LI as _n, zA as _o, k_ as _p, yP as _r, VO as _s, HL as _t, JS as _u, ct as _v, sB as a, jt as a_, _M as aa, tD as ac, ax as ad, Ay as af, Sr as ag, ko as ah, kN as ai, eT as al, $h as am, HI as an, qA as ao, yv as ap, LP as ar, dk as as, vR as at, gC as au, mt as av, Lz as b, It as b_, Qj as ba, UE as bc, Hb as bd, hy as bf, hn as bg, wo as bh, pN as bi, jw as bl, Lh as bm, TI as bn, FA as bo, E_ as bp, vP as br, FO as bs, bL as bt, HS as bu, at as bv, iB as c, Kt as c_, vM as ca, IE as cc, nx as cd, Dy as cf, In as cg, ts as ch, jN as ci, Qw as cl, Zh as cm, FI as cn, XA as co, ev as cp, BP as cr, YO as cs, aR as ct, pC as cu, P as cv, tB as d, Rt as d_, sM as da, BE as dc, ix as dd, Sy as df, Hn as dg, No as dh, SN as di, Jw as dl, Uh as dm, RI as dn, QA as do, V_ as dp, IP as dr, HO as ds, YL as dt, lC as du, tt as dv, Ht as e_, TM as ea, uD as ec, dx as ed, Py as ef, wr as eg, ds as eh, FN as ei, oT as el, sg as em, QI as en, aj as eo, Ov as ep, YP as er, Pk as es, ZL as et, yC as eu, Me as ev, Zz as f, ht as f_, cM as fa, WE as fc, Wb as fd, Cy as ff, Rn as fg, ps as fh, bN as fi, qw as fl, Vh as fm, KI as fn, WA as fo, P_ as fp, PP as fr, WO as fs, XL as ft, eC as fu, dt as fv, Qz as g, Wt as g_, nM as ga, zE as gc, Lb as gd, vy as gf, Pn as gg, os as gh, _N as gi, Ww as gl, Wh as gm, zI as gn, RA as go, j_ as gp, wP as gr, BO as gs, UL as gt, WS as gu, Ze as gv, $z as h, Pt as h_, iM as ha, LE as hc, Ib as hd, by as hf, Mn as hg, Ao as hh, vN as hi, zw as hl, zh as hm, GI as hn, UA as ho, L_ as hp, xP as hr, UO as hs, WL as ht, KS as hu, Ne as hv, lB as i, _t as i_, mM as ia, nD as ic, tx as id, Oy as if, _r as ig, rs as ih, DN as ii, tT as il, eg as im, NI as in, YA as io, gv as ip, UP as ir, vk as is, QL as it, hC as iu, ut as iv, _z as j, ve as j_, Pj as ja, xE as jc, Eb as jd, ty as jf, ln as jg, Qo as jh, $M as ji, sw as jl, lm as jm, YF as jn, yA as jo, Ng as jp, eP as jr, lO as js, kL as jt, nS as ju, Ce as jv, fz as k, ge as k_, Nj as ka, wE as kc, Db as kd, ry as kf, Sn as kg, es as kh, nN as ki, pw as kl, um as km, cI as kn, wA as ko, a_ as kp, iP as kr, cO as ks, RL as kt, TS as ku, De as kv, rB as l, kt as l_, xM as la, RE as lc, rx as ld, Ey as lf, Fn as lg, Oo as lh, xN as li, Xw as ll, Yh as lm, II as ln, JA as lo, Q_ as lp, RP as lr, qO as ls, qL as lt, dC as lu, $e as lv, Yz as m, At as m_, tM as ma, qE as mc, zb as md, _y as mf, Bn as mg, Mo as mh, hN as mi, Gw as ml, Bh as mm, PI as mn, HA as mo, M_ as mp, kP as mr, zO as ms, KL as mt, YS as mu, ye as mv, dB as n, St as n_, kM as na, mD as nc, px as nd, Fy as nf, yr as ng, ss as nh, LN as ni, iT as nl, ng as nm, XI as nn, ij as no, Ev as np, KP as nr, xk as ns, sR as nt, xC as nu, ft as nv, oB as o, Lt as o_, gM as oa, rD as oc, cx as od, ky as of, vr as og, as as oh, ON as oi, $w as ol, Qh as om, UI as on, $A as oo, mv as op, VP as or, ek as os, _R as ot, fC as ou, nt as ov, Xz as p, Ut as p_, rM as pa, HE as pc, Rb as pd, xy as pf, Vn as pg, ws as ph, gN as pi, Kw as pl, Hh as pm, VI as pn, GA as po, R_ as pp, DP as pr, RO as ps, GL as pt, tC as pu, lt as pv, xR as q, O as q_, dj as qa, fT as qc, eb as qd, Rv as qf, Et as qg, Pa as qh, jM as qi, PC as ql, Cs as qm, _F as qn, Lk as qo, lg as qp, MN as qr, aD as qs, LL as qt, Mx as qu, cB as r, zt as r_, hM as ra, eD as rc, mx as rd, Vy as rf, xr as rg, us as rh, EN as ri, nT as rl, tg as rm, MI as rn, oj as ro, xv as rp, qP as rr, yk as rs, eR as rt, vC as ru, fe as rv, aB as s, Ot as s_, yM as sa, KE as sc, lx as sd, jy as sf, Nn as sg, cs as sh, AN as si, Zw as sl, Xh as sm, qI as sn, ZA as so, dv as sp, zP as sr, XO as ss, iR as st, mC as su, Qe as sv, fB as t, Vt as t_, DM as ta, fD as tc, ux as td, Iy as tf, br as tg, is as th, zN as ti, rT as tl, rg as tm, eL as tn, nj as to, Tv as tp, XP as tr, Ek as ts, $L as tt, bC as tu, k as tv, nB as u, Tt as u_, bM as ua, JE as uc, ox as ud, Ty as uf, Ln as ug, ys as uh, yN as ui, Yw as ul, Gh as um, WI as un, ej as uo, H_ as up, NP as ur, GO as us, JL as ut, uC as uu, et as uv, Rz as v, gt as v_, Zj as va, VE as vc, Jb as vd, my as vf, a as vg, ns as vh, dN as vi, Fw as vl, Ph as vm, BI as vn, IA as vo, O_ as vp, bP as vr, LO as vs, pL as vt, qS as vu, rt as vv, Ez as w, yt as w_, qj as wa, OE as wc, Pb as wd, uy as wf, bn as wg, qo as wh, oN as wi, Ew as wl, Hm as wm, vI as wn, OA as wo, p_ as wp, mP as wr, dO as ws, DL as wt, NS as wu, Ke as wv, Pz as x, Mt as x_, Jj as xa, AE as xc, qb as xd, py as xf, wn as xg, Xo as xh, cN as xi, kw as xl, Fh as xm, EI as xn, PA as xo, D_ as xp, hP as xr, TO as xs, PL as xt, RS as xu, ot as xv, zz as y, Dt as y_, eM as ya, GE as yc, Ub as yd, gy as yf, Cn as yg, Zo as yh, mN as yi, Pw as yl, Mh as ym, DI as yn, LA as yo, T_ as yp, _P as yr, IO as ys, xL as yt, VS as yu, it as yv, RR as z, Ve as z_, Cj as za, GT as zc, ub as zd, Gv as zf, cn as zg, bo as zh, XM as zi, UC as zl, Es as zm, HF as zn, nA as zo, Dg as zp, JN as zr, ED as zs, wL as zt, Ux as zu, Le as zv };
79018
+ export { _R as $, O as $_, dj as $a, fT as $c, eb as $d, Rv as $f, Et as $g, Pa as $h, jM as $i, PC as $l, Cs as $m, fF as $n, Lk as $o, lg as $p, MN as $r, aD as $s, cL as $t, Mx as $u, Sz as A, yt as A_, qj as Aa, OE as Ac, Pb as Ad, uy as Af, bn as Ag, qo as Ah, oN as Ai, Ew as Al, Hm as Am, sI as An, OA as Ao, p_ as Ap, mP as Ar, dO as As, VL as At, NS as Au, Ke as Av, qR as B, xe as B_, Sj as Ba, CE as Bc, hb as Bd, Qv as Bf, Yt as Bg, Fo as Bh, YM as Bi, iw as Bl, Qp as Bm, WF as Bn, fA as Bo, Ag as Bp, rP as Br, BD as Bs, kL as Bt, Yx as Bu, Ee as Bv, Uz as C, Gt as C_, $j as Ca, YE as Cc, Fb as Cd, yy as Cf, zn as Cg, ls as Ch, fN as Ci, Rw as Cl, Ih as Cm, HI as Cn, zA as Co, k_ as Cp, yP as Cr, VO as Cs, PL as Ct, JS as Cu, ct as Cv, Rz as D, Mt as D_, Jj as Da, AE as Dc, qb as Dd, py as Df, wn as Dg, Xo as Dh, cN as Di, kw as Dl, Fh as Dm, DI as Dn, PA as Do, D_ as Dp, hP as Dr, TO as Ds, HL as Dt, RS as Du, ot as Dv, Hz as E, It as E_, Qj as Ea, UE as Ec, Hb as Ed, hy as Ef, hn as Eg, wo as Eh, pN as Ei, jw as El, Lh as Em, OI as En, FA as Eo, E_ as Ep, vP as Er, FO as Es, bL as Et, HS as Eu, at as Ev, _z as F, ge as F_, Nj as Fa, wE as Fc, Db as Fd, ry as Ff, Sn as Fg, es as Fh, nN as Fi, pw as Fl, um as Fm, iI as Fn, wA as Fo, a_ as Fp, iP as Fr, cO as Fs, TL as Ft, TS as Fu, De as Fv, PR as G, Ve as G_, Cj as Ga, GT as Gc, ub as Gd, Gv as Gf, cn as Gg, bo as Gh, XM as Gi, UC as Gl, Es as Gm, jF as Gn, nA as Go, Dg as Gp, JN as Gr, ED as Gs, WL as Gt, Ux as Gu, Le as Gv, GR as H, A as H_, gj as Ha, eE as Hc, pb as Hd, Xv as Hf, Qt as Hg, Jo as Hh, UM as Hi, YC as Hl, Wp as Hm, HF as Hn, uA as Ho, Tg as Hp, $N as Hr, TD as Hs, EL as Ht, qx as Hu, ze as Hv, mz as I, _e as I_, Ij as Ia, bE as Ic, Ob as Id, ny as If, dn as Ig, $o as Ih, eN as Ii, uw as Il, cm as Im, aI as In, SA as Io, Pg as Ip, aP as Ir, sO as Is, CL as It, vS as Iu, Se as Iv, FR as J, We as J_, yj as Ja, BT as Jc, Yy as Jd, Wv as Jf, Jt as Jg, Co as Jh, HM as Ji, IC as Jl, Ro as Jm, wF as Jn, qk as Jo, vg as Jp, qN as Jr, bD as Js, AL as Jt, zx as Ju, zR as K, He as K_, xj as Ka, qT as Kc, mb as Kd, qv as Kf, en as Kg, So as Kh, MM as Ki, RC as Kl, z as Km, DF as Kn, eA as Ko, wg as Kp, YN as Kr, DD as Ks, KL as Kt, Ix as Ku, Re as Kv, gz as L, ve as L_, Pj as La, xE as Lc, Eb as Ld, ty as Lf, ln as Lg, Qo as Lh, $M as Li, sw as Ll, lm as Lm, ZF as Ln, yA as Lo, Ng as Lp, eP as Lr, lO as Ls, SL as Lt, nS as Lu, Ce as Lv, Dz as M, de as M_, Wj as Ma, EE as Mc, Vb as Md, cy as Mf, _n as Mg, Io as Mh, rN as Mi, _w as Ml, Im as Mm, tI as Mn, AA as Mo, l_ as Mp, lP as Mr, mO as Ms, yL as Mt, AS as Mu, Je as Mv, Ez as N, be as N_, Bj as Na, kE as Nc, Ab as Nd, iy as Nf, xn as Ng, Wo as Nh, iN as Ni, yw as Nl, hm as Nm, nI as Nn, EA as No, u_ as Np, oP as Nr, pO as Ns, xL as Nt, ES as Nu, Ye as Nv, jz as O, Nt as O_, Yj as Oa, jE as Oc, Kb as Od, fy as Of, yn as Og, Yo as Oh, lN as Oi, Dw as Ol, Nh as Om, CI as On, NA as Oo, x_ as Op, gP as Or, EO as Os, NL as Ot, LS as Ou, st as Ov, hz as P, he as P_, Vj as Pa, SE as Pc, kb as Pd, sy as Pf, mn as Pg, To as Ph, tN as Pi, hw as Pl, sm as Pm, eI as Pn, DA as Po, c_ as Pp, sP as Pr, hO as Ps, qL as Pt, wS as Pu, Xe as Pv, mR as Q, le as Q_, mj as Qa, pT as Qc, $y as Qd, Iv as Qf, nn as Qg, Ua as Qh, WM as Qi, EC as Ql, fs as Qm, dF as Qn, Uk as Qo, gg as Qp, UN as Qr, hD as Qs, pL as Qt, Nx as Qu, XR as R, j as R_, Lj as Ra, yE as Rc, Tb as Rd, ey as Rf, fn as Rg, Go as Rh, QM as Ri, ow as Rl, im as Rm, XF as Rn, hA as Ro, Mg as Rp, nP as Rr, qD as Rs, LL as Rt, $x as Ru, we as Rv, Kz as S, Wt as S_, nM as Sa, zE as Sc, Lb as Sd, vy as Sf, Pn as Sg, os as Sh, _N as Si, Ww as Sl, Wh as Sm, VI as Sn, RA as So, j_ as Sp, wP as Sr, BO as Ss, zL as St, WS as Su, Ze as Sv, zz as T, Dt as T_, eM as Ta, GE as Tc, Ub as Td, gy as Tf, Cn as Tg, Zo as Th, mN as Ti, Pw as Tl, Mh as Tm, EI as Tn, LA as To, T_ as Tp, _P as Tr, IO as Ts, IL as Tt, VS as Tu, it as Tv, WR as U, Ge as U_, vj as Ua, $T as Uc, db as Ud, Jv as Uf, Zt as Ug, vo as Uh, FM as Ui, qC as Ul, Hp as Um, MF as Un, iA as Uo, Cg as Up, XN as Ur, CD as Us, OL as Ut, Xx as Uu, Fe as Uv, JR as V, pt as V_, bj as Va, oE as Vc, gb as Vd, Zv as Vf, tn as Vg, Ko as Vh, GM as Vi, tw as Vl, Kp as Vm, UF as Vn, lA as Vo, Eg as Vp, QN as Vr, FD as Vs, DL as Vt, Jx as Vu, E as Vv, IR as W, Be as W_, wj as Wa, XT as Wc, fb as Wd, Yv as Wf, sn as Wg, yo as Wh, zM as Wi, GC as Wl, Os as Wm, AF as Wn, tA as Wo, kg as Wp, ZN as Wr, wD as Ws, UL as Wt, Wx as Wu, Ie as Wv, RR as X, D as X_, sj as Xa, NT as Xc, Jy as Xd, Vv as Xf, an as Xg, L as Xh, KM as Xi, AC as Xl, vs as Xm, mF as Xn, Gk as Xo, ug as Xp, GN as Xr, yD as Xs, mL as Xt, Lx as Xu, NR as Y, pe as Y_, Tj as Ya, PT as Yc, Xy as Yd, Uv as Yf, on as Yg, co as Yh, qM as Yi, FC as Yl, Do as Ym, EF as Yn, Kk as Yo, hg as Yp, WN as Yr, vD as Ys, fL as Yt, Rx as Yu, LR as Z, ce as Z_, lj as Za, OT as Zc, qy as Zd, zv as Zf, rn as Zg, I as Zh, PM as Zi, DC as Zl, Po as Zm, hF as Zn, Wk as Zo, _g as Zp, HN as Zr, _D as Zs, hL as Zt, Px as Zu, $z as _, Rt as __, sM as _a, BE as _c, ix as _d, Sy as _f, Hn as _g, No as _h, SN as _i, Jw as _l, Uh as _m, JI as _n, QA as _o, V_ as _p, IP as _r, HO as _s, $L as _t, lC as _u, tt as _v, vB as a, Bt as a_, CM as aa, cD as ac, fx as ad, zy as af, Tr as ag, R as ah, VN as ai, cT as al, og as am, $I as an, rj as ao, Dv as ap, tF as ar, Ik as as, kR as at, SC as au, je as av, Jz as b, At as b_, tM as ba, qE as bc, zb as bd, _y as bf, Bn as bg, Mo as bh, hN as bi, Gw as bl, Bh as bm, II as bn, HA as bo, M_ as bp, kP as br, zO as bs, jL as bt, YS as bu, ye as bv, hB as c, St as c_, kM as ca, mD as cc, px as cd, Fy as cf, yr as cg, ss as ch, LN as ci, iT as cl, ng as cm, KI as cn, ij as co, Ev as cp, KP as cr, xk as cs, gR as ct, xC as cu, ft as cv, fB as d, jt as d_, _M as da, tD as dc, ax as dd, Ay as df, Sr as dg, ko as dh, kN as di, eT as dl, $h as dm, YI as dn, qA as do, yv as dp, LP as dr, dk as ds, oR as dt, gC as du, mt as dv, Ft as e_, AM as ea, sD as ec, jx as ed, Qy as ef, Na as eg, jo as eh, BN as ei, mT as el, mg as em, lL as en, cj as eo, Bv as ep, oF as er, Bk as es, cR as et, CC as eu, ue as ev, cB as f, Lt as f_, gM as fa, rD as fc, cx as fd, ky as ff, vr as fg, as as fh, ON as fi, $w as fl, Qh as fm, rL as fn, $A as fo, mv as fp, VP as fr, ek as fs, sR as ft, fC as fu, nt as fv, lB as g, Tt as g_, bM as ga, JE as gc, ox as gd, Ty as gf, Ln as gg, ys as gh, yN as gi, Yw as gl, Gh as gm, XI as gn, ej as go, H_ as gp, NP as gr, GO as gs, eR as gt, uC as gu, et as gv, uB as h, kt as h_, xM as ha, RE as hc, rx as hd, Ey as hf, Fn as hg, Oo as hh, xN as hi, Xw as hl, Yh as hm, nL as hn, JA as ho, Q_ as hp, RP as hr, qO as hs, tR as ht, dC as hu, $e as hv, bB as i, xt as i_, OM as ia, oD as ic, Sx as id, By as if, Cr as ig, ms as ih, NN as ii, sT as il, cg as im, WI as in, tj as io, Mv as ip, JP as ir, Hk as is, lR as it, wC as iu, Ae as iv, Oz as j, bt as j_, Uj as ja, DE as jc, Yb as jd, ly as jf, vn as jg, Lo as jh, aN as ji, Tw as jl, Rm as jm, oI as jn, jA as jo, m_ as jp, cP as jr, uO as js, BL as jt, FS as ju, qe as jv, Cz as k, vt as k_, Kj as ka, ME as kc, Bb as kd, dy as kf, gn as kg, Bo as kh, sN as ki, ww as kl, sh as km, yI as kn, kA as ko, h_ as kp, pP as kr, fO as ks, YL as kt, MS as ku, N as kv, mB as l, zt as l_, hM as la, eD as lc, mx as ld, Vy as lf, xr as lg, us as lh, EN as li, nT as ll, tg as lm, qI as ln, oj as lo, xv as lp, qP as lr, yk as ls, iR as lt, vC as lu, fe as lv, oB as m, Kt as m_, vM as ma, IE as mc, nx as md, Dy as mf, In as mg, ts as mh, jN as mi, Qw as ml, Zh as mm, GI as mn, XA as mo, ev as mp, BP as mr, YO as ms, rR as mt, pC as mu, P as mv, SB as n, wt as n_, wM as na, dD as nc, wx as nd, Ry as nf, Bi as ng, bs as nh, RN as ni, lT as nl, fg as nm, sL as nn, hj as no, Fv as np, nF as nr, Rk as ns, vR as nt, TC as nu, Oe as nv, _B as o, Ht as o_, TM as oa, uD as oc, dx as od, Py as of, wr as og, ds as oh, FN as oi, oT as ol, sg as om, eL as on, aj as oo, Ov as op, iF as or, Pk as os, OR as ot, yC as ou, Me as ov, sB as p, Ot as p_, yM as pa, KE as pc, lx as pd, jy as pf, Nn as pg, cs as ph, AN as pi, Zw as pl, Xh as pm, QI as pn, ZA as po, dv as pp, zP as pr, XO as ps, nR as pt, mC as pu, Qe as pv, MR as q, Ue as q_, _j as qa, HT as qc, Uy as qd, Kv as qf, $t as qg, xo as qh, BM as qi, LC as ql, Vo as qm, OF as qn, Xk as qo, Og as qp, KN as qr, xD as qs, JL as qt, Bx as qu, M as qv, yB as r, Ct as r_, EM as ra, pD as rc, Cx as rd, Ly as rf, kr as rg, Ts as rh, IN as ri, uT as rl, dg as rm, UI as rn, fj as ro, jv as rp, YP as rr, Vk as rs, dR as rt, NC as ru, ke as rv, gB as s, Vt as s_, DM as sa, fD as sc, ux as sd, Iy as sf, br as sg, is as sh, zN as si, rT as sl, rg as sm, iL as sn, nj as so, Tv as sp, QP as sr, Ek as ss, hR as st, bC as su, k as sv, CB as t, qt as t_, SM as ta, lD as tc, Tx as td, Zy as tf, La as tg, Eo as th, PN as ti, dT as tl, pg as tm, dL as tn, uj as to, Lv as tp, sF as tr, zk as ts, uR as tt, jC as tu, Pe as tv, pB as u, _t as u_, mM as ua, nD as uc, tx as ud, Oy as uf, _r as ug, rs as uh, DN as ui, tT as ul, eg as um, tL as un, YA as uo, gv as up, UP as ur, vk as us, aR as ut, hC as uu, ut as uv, Yz as v, ht as v_, cM as va, WE as vc, Wb as vd, Cy as vf, Rn as vg, ps as vh, bN as vi, qw as vl, Vh as vm, ZI as vn, WA as vo, P_ as vp, PP as vr, WO as vs, wL as vt, eC as vu, dt as vv, Lz as w, gt as w_, Zj as wa, VE as wc, Jb as wd, my as wf, a as wg, ns as wh, dN as wi, Fw as wl, Ph as wm, kI as wn, IA as wo, O_ as wp, bP as wr, LO as ws, RL as wt, qS as wu, rt as wv, Gz as x, Pt as x_, iM as xa, LE as xc, Ib as xd, by as xf, Mn as xg, Ao as xh, vN as xi, zw as xl, zh as xm, LI as xn, UA as xo, L_ as xp, xP as xr, UO as xs, GL as xt, KS as xu, Ne as xv, Xz as y, Ut as y_, rM as ya, HE as yc, Rb as yd, xy as yf, Vn as yg, ws as yh, gN as yi, Kw as yl, Hh as ym, RI as yn, GA as yo, R_ as yp, DP as yr, RO as ys, ML as yt, tC as yu, lt as yv, YR as z, me as z_, Ej as za, TE as zc, _b as zd, $v as zf, Xt as zg, zo as zh, ZM as zi, aw as zl, Jp as zm, $F as zn, dA as zo, jg as zp, tP as zr, zD as zs, FL as zt, Zx as zu, Te as zv };