@needle-tools/engine 3.32.5-alpha → 3.32.6-alpha

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.
Files changed (28) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/needle-engine.js +646 -617
  3. package/dist/needle-engine.light.js +625 -596
  4. package/dist/needle-engine.light.min.js +106 -106
  5. package/dist/needle-engine.light.umd.cjs +58 -58
  6. package/dist/needle-engine.min.js +71 -71
  7. package/dist/needle-engine.umd.cjs +141 -141
  8. package/lib/engine/engine_addressables.js +14 -16
  9. package/lib/engine/engine_addressables.js.map +1 -1
  10. package/lib/engine/engine_gameobject.d.ts +4 -1
  11. package/lib/engine/engine_gameobject.js +20 -0
  12. package/lib/engine/engine_gameobject.js.map +1 -1
  13. package/lib/engine/engine_networking_instantiate.d.ts +2 -2
  14. package/lib/engine/engine_networking_instantiate.js.map +1 -1
  15. package/lib/engine-components/timeline/PlayableDirector.js +2 -2
  16. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  17. package/lib/engine-components/timeline/TimelineTracks.d.ts +7 -1
  18. package/lib/engine-components/timeline/TimelineTracks.js +47 -12
  19. package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
  20. package/lib/engine-components/ui/EventSystem.js +16 -3
  21. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  22. package/package.json +1 -1
  23. package/src/engine/engine_addressables.ts +17 -19
  24. package/src/engine/engine_gameobject.ts +24 -2
  25. package/src/engine/engine_networking_instantiate.ts +3 -3
  26. package/src/engine-components/timeline/PlayableDirector.ts +1 -1
  27. package/src/engine-components/timeline/TimelineTracks.ts +51 -14
  28. package/src/engine-components/ui/EventSystem.ts +16 -3
@@ -6,7 +6,7 @@ var u = (n, e, t) => (T4(n, typeof e != "symbol" ? e + "" : e, t), t);
6
6
  * Copyright 2010-2023 Three.js Authors
7
7
  * SPDX-License-Identifier: MIT
8
8
  */
9
- const bh = "161dev", su = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 }, ru = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 }, y2 = 0, XC = 1, _2 = 2, I4 = 3, R4 = 0, cM = 1, lM = 2, za = 3, Ys = 0, Mn = 1, _i = 2, ln = 0, rh = 1, Gu = 2, YC = 3, JC = 4, hM = 5, Kl = 100, b2 = 101, x2 = 102, KC = 103, H0 = 104, w2 = 200, S2 = 201, C2 = 202, E2 = 203, Q0 = 204, j0 = 205, M2 = 206, T2 = 207, I2 = 208, R2 = 209, P2 = 210, B2 = 211, D2 = 212, O2 = 213, k2 = 214, uM = 0, K_ = 1, bg = 2, Vu = 3, Nf = 4, Z_ = 5, $_ = 6, cv = 7, lv = 0, L2 = 1, F2 = 2, Ur = 0, xg = 1, dM = 2, U2 = 3, fM = 4, N2 = 5, z2 = 6, ZC = "attached", G2 = "detached", eb = 300, hl = 301, ph = 302, Uo = 303, zf = 304, ip = 306, No = 1e3, cs = 1001, Hu = 1002, jt = 1003, Gf = 1004, P4 = 1004, Vc = 1005, B4 = 1005, Tt = 1006, Mu = 1007, D4 = 1007, Lr = 1008, O4 = 1008, yi = 1009, V2 = 1010, H2 = 1011, tb = 1012, pM = 1013, oa = 1014, Zi = 1015, cn = 1016, mM = 1017, gM = 1018, il = 1020, Q2 = 1021, Ci = 1023, ib = 1024, j2 = 1025, oh = 1026, mh = 1027, ec = 1028, vM = 1029, th = 1030, AM = 1031, yM = 1033, Vm = 33776, l0 = 33777, h0 = 33778, Hm = 33779, W0 = 35840, $C = 35841, q0 = 35842, eE = 35843, nb = 36196, X0 = 37492, Y0 = 37496, J0 = 37808, tE = 37809, iE = 37810, nE = 37811, wg = 37812, sE = 37813, rE = 37814, oE = 37815, aE = 37816, cE = 37817, lE = 37818, hE = 37819, uE = 37820, dE = 37821, Qm = 36492, fE = 36494, pE = 36495, W2 = 36283, mE = 36284, gE = 36285, vE = 36286, Sg = 2200, _M = 2201, q2 = 2202, gh = 2300, lc = 2301, u0 = 2302, vu = 2400, Au = 2401, Cg = 2402, sb = 2500, bM = 2501, X2 = 0, xM = 1, K0 = 2, hv = 3e3, sc = 3001, Bs = 3200, rb = 3201, xh = 0, Y2 = 1, ls = "", Wt = "srgb", Pi = "srgb-linear", uv = "display-p3", np = "display-p3-linear", Eg = "linear", Gi = "srgb", Mg = "rec709", Tg = "p3", J2 = 0, ql = 7680, K2 = 7681, Z2 = 7682, $2 = 7683, eL = 34055, tL = 34056, iL = 5386, AE = 512, nL = 513, sL = 514, rL = 515, oL = 516, aL = 517, cL = 518, Z0 = 519, lL = 512, hL = 513, uL = 514, wM = 515, dL = 516, fL = 517, pL = 518, mL = 519, Ig = 35044, js = 35048, k4 = 35040, L4 = 35045, F4 = 35049, U4 = 35041, N4 = 35046, z4 = 35050, G4 = 35042, V4 = "100", $0 = "300 es", e_ = 1035, tc = 2e3, Rg = 2001;
9
+ const bh = "161dev", su = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 }, ru = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 }, y2 = 0, XC = 1, _2 = 2, I4 = 3, R4 = 0, cM = 1, lM = 2, za = 3, Ys = 0, Mn = 1, _i = 2, ln = 0, rh = 1, Gu = 2, YC = 3, JC = 4, hM = 5, Kl = 100, b2 = 101, x2 = 102, KC = 103, H0 = 104, w2 = 200, S2 = 201, C2 = 202, E2 = 203, Q0 = 204, j0 = 205, M2 = 206, T2 = 207, I2 = 208, R2 = 209, P2 = 210, B2 = 211, D2 = 212, O2 = 213, k2 = 214, uM = 0, K_ = 1, bg = 2, Vu = 3, Nf = 4, Z_ = 5, $_ = 6, cv = 7, lv = 0, L2 = 1, F2 = 2, Ur = 0, xg = 1, dM = 2, U2 = 3, fM = 4, N2 = 5, z2 = 6, ZC = "attached", G2 = "detached", eb = 300, ul = 301, ph = 302, Uo = 303, zf = 304, ip = 306, No = 1e3, cs = 1001, Hu = 1002, jt = 1003, Gf = 1004, P4 = 1004, Qc = 1005, B4 = 1005, Tt = 1006, Mu = 1007, D4 = 1007, Lr = 1008, O4 = 1008, yi = 1009, V2 = 1010, H2 = 1011, tb = 1012, pM = 1013, oa = 1014, Zi = 1015, cn = 1016, mM = 1017, gM = 1018, nl = 1020, Q2 = 1021, Ci = 1023, ib = 1024, j2 = 1025, oh = 1026, mh = 1027, ec = 1028, vM = 1029, th = 1030, AM = 1031, yM = 1033, Vm = 33776, l0 = 33777, h0 = 33778, Hm = 33779, W0 = 35840, $C = 35841, q0 = 35842, eE = 35843, nb = 36196, X0 = 37492, Y0 = 37496, J0 = 37808, tE = 37809, iE = 37810, nE = 37811, wg = 37812, sE = 37813, rE = 37814, oE = 37815, aE = 37816, cE = 37817, lE = 37818, hE = 37819, uE = 37820, dE = 37821, Qm = 36492, fE = 36494, pE = 36495, W2 = 36283, mE = 36284, gE = 36285, vE = 36286, Sg = 2200, _M = 2201, q2 = 2202, gh = 2300, hc = 2301, u0 = 2302, vu = 2400, Au = 2401, Cg = 2402, sb = 2500, bM = 2501, X2 = 0, xM = 1, K0 = 2, hv = 3e3, rc = 3001, Bs = 3200, rb = 3201, xh = 0, Y2 = 1, ls = "", Wt = "srgb", Pi = "srgb-linear", uv = "display-p3", np = "display-p3-linear", Eg = "linear", Gi = "srgb", Mg = "rec709", Tg = "p3", J2 = 0, ql = 7680, K2 = 7681, Z2 = 7682, $2 = 7683, eL = 34055, tL = 34056, iL = 5386, AE = 512, nL = 513, sL = 514, rL = 515, oL = 516, aL = 517, cL = 518, Z0 = 519, lL = 512, hL = 513, uL = 514, wM = 515, dL = 516, fL = 517, pL = 518, mL = 519, Ig = 35044, js = 35048, k4 = 35040, L4 = 35045, F4 = 35049, U4 = 35041, N4 = 35046, z4 = 35050, G4 = 35042, V4 = "100", $0 = "300 es", e_ = 1035, tc = 2e3, Rg = 2001;
10
10
  class ps {
11
11
  addEventListener(e, t) {
12
12
  this._listeners === void 0 && (this._listeners = {});
@@ -727,7 +727,7 @@ class CM {
727
727
  }
728
728
  }
729
729
  let rV = 0;
730
- class Yc {
730
+ class Kc {
731
731
  constructor(e = null) {
732
732
  this.isSource = !0, Object.defineProperty(this, "id", { value: rV++ }), this.uuid = so(), this.data = e, this.version = 0;
733
733
  }
@@ -766,7 +766,7 @@ function mw(n) {
766
766
  let oV = 0;
767
767
  class Gt extends ps {
768
768
  constructor(e = Gt.DEFAULT_IMAGE, t = Gt.DEFAULT_MAPPING, i = cs, s = cs, r = Tt, o = Lr, a = Ci, c = yi, l = Gt.DEFAULT_ANISOTROPY, h = ls) {
769
- super(), this.isTexture = !0, Object.defineProperty(this, "id", { value: oV++ }), this.uuid = so(), this.name = "", this.source = new Yc(e), this.mipmaps = [], this.mapping = t, this.channel = 0, this.wrapS = i, this.wrapT = s, this.magFilter = r, this.minFilter = o, this.anisotropy = l, this.format = a, this.internalFormat = null, this.type = c, this.offset = new ie(0, 0), this.repeat = new ie(1, 1), this.center = new ie(0, 0), this.rotation = 0, this.matrixAutoUpdate = !0, this.matrix = new Nt(), this.generateMipmaps = !0, this.premultiplyAlpha = !1, this.flipY = !0, this.unpackAlignment = 4, typeof h == "string" ? this.colorSpace = h : (Iu("THREE.Texture: Property .encoding has been replaced by .colorSpace."), this.colorSpace = h === sc ? Wt : ls), this.userData = {}, this.version = 0, this.onUpdate = null, this.isRenderTargetTexture = !1, this.needsPMREMUpdate = !1;
769
+ super(), this.isTexture = !0, Object.defineProperty(this, "id", { value: oV++ }), this.uuid = so(), this.name = "", this.source = new Kc(e), this.mipmaps = [], this.mapping = t, this.channel = 0, this.wrapS = i, this.wrapT = s, this.magFilter = r, this.minFilter = o, this.anisotropy = l, this.format = a, this.internalFormat = null, this.type = c, this.offset = new ie(0, 0), this.repeat = new ie(1, 1), this.center = new ie(0, 0), this.rotation = 0, this.matrixAutoUpdate = !0, this.matrix = new Nt(), this.generateMipmaps = !0, this.premultiplyAlpha = !1, this.flipY = !0, this.unpackAlignment = 4, typeof h == "string" ? this.colorSpace = h : (Iu("THREE.Texture: Property .encoding has been replaced by .colorSpace."), this.colorSpace = h === rc ? Wt : ls), this.userData = {}, this.version = 0, this.onUpdate = null, this.isRenderTargetTexture = !1, this.needsPMREMUpdate = !1;
770
770
  }
771
771
  get image() {
772
772
  return this.source.data;
@@ -853,10 +853,10 @@ class Gt extends ps {
853
853
  e === !0 && (this.version++, this.source.needsUpdate = !0);
854
854
  }
855
855
  get encoding() {
856
- return Iu("THREE.Texture: Property .encoding has been replaced by .colorSpace."), this.colorSpace === Wt ? sc : hv;
856
+ return Iu("THREE.Texture: Property .encoding has been replaced by .colorSpace."), this.colorSpace === Wt ? rc : hv;
857
857
  }
858
858
  set encoding(e) {
859
- Iu("THREE.Texture: Property .encoding has been replaced by .colorSpace."), this.colorSpace = e === sc ? Wt : ls;
859
+ Iu("THREE.Texture: Property .encoding has been replaced by .colorSpace."), this.colorSpace = e === rc ? Wt : ls;
860
860
  }
861
861
  }
862
862
  Gt.DEFAULT_IMAGE = null;
@@ -1065,7 +1065,7 @@ class AL extends ps {
1065
1065
  constructor(e = 1, t = 1, i = {}) {
1066
1066
  super(), this.isRenderTarget = !0, this.width = e, this.height = t, this.depth = 1, this.scissor = new st(0, 0, e, t), this.scissorTest = !1, this.viewport = new st(0, 0, e, t);
1067
1067
  const s = { width: e, height: t, depth: 1 };
1068
- i.encoding !== void 0 && (Iu("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."), i.colorSpace = i.encoding === sc ? Wt : ls), i = Object.assign({
1068
+ i.encoding !== void 0 && (Iu("THREE.WebGLRenderTarget: option.encoding has been replaced by option.colorSpace."), i.colorSpace = i.encoding === rc ? Wt : ls), i = Object.assign({
1069
1069
  generateMipmaps: !1,
1070
1070
  internalFormat: null,
1071
1071
  minFilter: Tt,
@@ -1084,7 +1084,7 @@ class AL extends ps {
1084
1084
  copy(e) {
1085
1085
  this.width = e.width, this.height = e.height, this.depth = e.depth, this.scissor.copy(e.scissor), this.scissorTest = e.scissorTest, this.viewport.copy(e.viewport), this.texture = e.texture.clone(), this.texture.isRenderTargetTexture = !0;
1086
1086
  const t = Object.assign({}, e.texture.image);
1087
- return this.texture.source = new Yc(t), this.depthBuffer = e.depthBuffer, this.stencilBuffer = e.stencilBuffer, e.depthTexture !== null && (this.depthTexture = e.depthTexture.clone()), this.samples = e.samples, this;
1087
+ return this.texture.source = new Kc(t), this.depthBuffer = e.depthBuffer, this.stencilBuffer = e.stencilBuffer, e.depthTexture !== null && (this.depthTexture = e.depthTexture.clone()), this.samples = e.samples, this;
1088
1088
  }
1089
1089
  dispose() {
1090
1090
  this.dispatchEvent({ type: "dispose" });
@@ -1771,7 +1771,7 @@ class Ri {
1771
1771
  return this.min.min(e.min), this.max.max(e.max), this;
1772
1772
  }
1773
1773
  applyMatrix4(e) {
1774
- return this.isEmpty() ? this : (_c[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(e), _c[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(e), _c[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(e), _c[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(e), _c[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(e), _c[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(e), _c[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(e), _c[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(e), this.setFromPoints(_c), this);
1774
+ return this.isEmpty() ? this : (xc[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(e), xc[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(e), xc[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(e), xc[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(e), xc[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(e), xc[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(e), xc[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(e), xc[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(e), this.setFromPoints(xc), this);
1775
1775
  }
1776
1776
  translate(e) {
1777
1777
  return this.min.add(e), this.max.add(e), this;
@@ -1780,7 +1780,7 @@ class Ri {
1780
1780
  return e.min.equals(this.min) && e.max.equals(this.max);
1781
1781
  }
1782
1782
  }
1783
- const _c = [
1783
+ const xc = [
1784
1784
  /* @__PURE__ */ new w(),
1785
1785
  /* @__PURE__ */ new w(),
1786
1786
  /* @__PURE__ */ new w(),
@@ -1874,7 +1874,7 @@ class Tn {
1874
1874
  return new this.constructor().copy(this);
1875
1875
  }
1876
1876
  }
1877
- const bc = /* @__PURE__ */ new w(), yw = /* @__PURE__ */ new w(), bA = /* @__PURE__ */ new w(), Pl = /* @__PURE__ */ new w(), _w = /* @__PURE__ */ new w(), xA = /* @__PURE__ */ new w(), bw = /* @__PURE__ */ new w();
1877
+ const wc = /* @__PURE__ */ new w(), yw = /* @__PURE__ */ new w(), bA = /* @__PURE__ */ new w(), Pl = /* @__PURE__ */ new w(), _w = /* @__PURE__ */ new w(), xA = /* @__PURE__ */ new w(), bw = /* @__PURE__ */ new w();
1878
1878
  class co {
1879
1879
  constructor(e = new w(), t = new w(0, 0, -1)) {
1880
1880
  this.origin = e, this.direction = t;
@@ -1892,7 +1892,7 @@ class co {
1892
1892
  return this.direction.copy(e).sub(this.origin).normalize(), this;
1893
1893
  }
1894
1894
  recast(e) {
1895
- return this.origin.copy(this.at(e, bc)), this;
1895
+ return this.origin.copy(this.at(e, wc)), this;
1896
1896
  }
1897
1897
  closestPointToPoint(e, t) {
1898
1898
  t.subVectors(e, this.origin);
@@ -1903,8 +1903,8 @@ class co {
1903
1903
  return Math.sqrt(this.distanceSqToPoint(e));
1904
1904
  }
1905
1905
  distanceSqToPoint(e) {
1906
- const t = bc.subVectors(e, this.origin).dot(this.direction);
1907
- return t < 0 ? this.origin.distanceToSquared(e) : (bc.copy(this.origin).addScaledVector(this.direction, t), bc.distanceToSquared(e));
1906
+ const t = wc.subVectors(e, this.origin).dot(this.direction);
1907
+ return t < 0 ? this.origin.distanceToSquared(e) : (wc.copy(this.origin).addScaledVector(this.direction, t), wc.distanceToSquared(e));
1908
1908
  }
1909
1909
  distanceSqToSegment(e, t, i, s) {
1910
1910
  yw.copy(e).add(t).multiplyScalar(0.5), bA.copy(t).sub(e).normalize(), Pl.copy(this.origin).sub(yw);
@@ -1927,8 +1927,8 @@ class co {
1927
1927
  return i && i.copy(this.origin).addScaledVector(this.direction, d), s && s.copy(yw).addScaledVector(bA, f), p;
1928
1928
  }
1929
1929
  intersectSphere(e, t) {
1930
- bc.subVectors(e.center, this.origin);
1931
- const i = bc.dot(this.direction), s = bc.dot(bc) - i * i, r = e.radius * e.radius;
1930
+ wc.subVectors(e.center, this.origin);
1931
+ const i = wc.dot(this.direction), s = wc.dot(wc) - i * i, r = e.radius * e.radius;
1932
1932
  if (s > r)
1933
1933
  return null;
1934
1934
  const o = Math.sqrt(r - s), a = i - o, c = i + o;
@@ -1958,7 +1958,7 @@ class co {
1958
1958
  return l >= 0 ? (i = (e.min.x - f.x) * l, s = (e.max.x - f.x) * l) : (i = (e.max.x - f.x) * l, s = (e.min.x - f.x) * l), h >= 0 ? (r = (e.min.y - f.y) * h, o = (e.max.y - f.y) * h) : (r = (e.max.y - f.y) * h, o = (e.min.y - f.y) * h), i > o || r > s || ((r > i || isNaN(i)) && (i = r), (o < s || isNaN(s)) && (s = o), d >= 0 ? (a = (e.min.z - f.z) * d, c = (e.max.z - f.z) * d) : (a = (e.max.z - f.z) * d, c = (e.min.z - f.z) * d), i > c || a > s) || ((a > i || i !== i) && (i = a), (c < s || s !== s) && (s = c), s < 0) ? null : this.at(i >= 0 ? i : s, t);
1959
1959
  }
1960
1960
  intersectsBox(e) {
1961
- return this.intersectBox(e, bc) !== null;
1961
+ return this.intersectBox(e, wc) !== null;
1962
1962
  }
1963
1963
  intersectTriangle(e, t, i, s, r) {
1964
1964
  _w.subVectors(t, e), xA.subVectors(i, e), bw.crossVectors(_w, xA);
@@ -2501,7 +2501,7 @@ class gr {
2501
2501
  }
2502
2502
  }
2503
2503
  let dV = 0;
2504
- const GR = /* @__PURE__ */ new w(), wd = /* @__PURE__ */ new Te(), xc = /* @__PURE__ */ new Se(), SA = /* @__PURE__ */ new w(), Qp = /* @__PURE__ */ new w(), fV = /* @__PURE__ */ new w(), pV = /* @__PURE__ */ new Te(), VR = /* @__PURE__ */ new w(1, 0, 0), HR = /* @__PURE__ */ new w(0, 1, 0), QR = /* @__PURE__ */ new w(0, 0, 1), mV = { type: "added" }, gV = { type: "removed" };
2504
+ const GR = /* @__PURE__ */ new w(), wd = /* @__PURE__ */ new Te(), Sc = /* @__PURE__ */ new Se(), SA = /* @__PURE__ */ new w(), Qp = /* @__PURE__ */ new w(), fV = /* @__PURE__ */ new w(), pV = /* @__PURE__ */ new Te(), VR = /* @__PURE__ */ new w(1, 0, 0), HR = /* @__PURE__ */ new w(0, 1, 0), QR = /* @__PURE__ */ new w(0, 0, 1), mV = { type: "added" }, gV = { type: "removed" };
2505
2505
  class ge extends ps {
2506
2506
  constructor() {
2507
2507
  super(), this.isObject3D = !0, Object.defineProperty(this, "id", { value: dV++ }), this.uuid = so(), this.name = "", this.type = "Object3D", this.parent = null, this.children = [], this.up = ge.DEFAULT_UP.clone();
@@ -2598,12 +2598,12 @@ class ge extends ps {
2598
2598
  return this.updateWorldMatrix(!0, !1), e.applyMatrix4(this.matrixWorld);
2599
2599
  }
2600
2600
  worldToLocal(e) {
2601
- return this.updateWorldMatrix(!0, !1), e.applyMatrix4(xc.copy(this.matrixWorld).invert());
2601
+ return this.updateWorldMatrix(!0, !1), e.applyMatrix4(Sc.copy(this.matrixWorld).invert());
2602
2602
  }
2603
2603
  lookAt(e, t, i) {
2604
2604
  e.isVector3 ? SA.copy(e) : SA.set(e, t, i);
2605
2605
  const s = this.parent;
2606
- this.updateWorldMatrix(!0, !1), Qp.setFromMatrixPosition(this.matrixWorld), this.isCamera || this.isLight ? xc.lookAt(Qp, SA, this.up) : xc.lookAt(SA, Qp, this.up), this.quaternion.setFromRotationMatrix(xc), s && (xc.extractRotation(s.matrixWorld), wd.setFromRotationMatrix(xc), this.quaternion.premultiply(wd.invert()));
2606
+ this.updateWorldMatrix(!0, !1), Qp.setFromMatrixPosition(this.matrixWorld), this.isCamera || this.isLight ? Sc.lookAt(Qp, SA, this.up) : Sc.lookAt(SA, Qp, this.up), this.quaternion.setFromRotationMatrix(Sc), s && (Sc.extractRotation(s.matrixWorld), wd.setFromRotationMatrix(Sc), this.quaternion.premultiply(wd.invert()));
2607
2607
  }
2608
2608
  add(e) {
2609
2609
  if (arguments.length > 1) {
@@ -2630,7 +2630,7 @@ class ge extends ps {
2630
2630
  return this.remove(...this.children);
2631
2631
  }
2632
2632
  attach(e) {
2633
- return this.updateWorldMatrix(!0, !1), xc.copy(this.matrixWorld).invert(), e.parent !== null && (e.parent.updateWorldMatrix(!0, !1), xc.multiply(e.parent.matrixWorld)), e.applyMatrix4(xc), this.add(e), e.updateWorldMatrix(!1, !0), this;
2633
+ return this.updateWorldMatrix(!0, !1), Sc.copy(this.matrixWorld).invert(), e.parent !== null && (e.parent.updateWorldMatrix(!0, !1), Sc.multiply(e.parent.matrixWorld)), e.applyMatrix4(Sc), this.add(e), e.updateWorldMatrix(!1, !0), this;
2634
2634
  }
2635
2635
  getObjectById(e) {
2636
2636
  return this.getObjectByProperty("id", e);
@@ -2808,7 +2808,7 @@ class ge extends ps {
2808
2808
  ge.DEFAULT_UP = /* @__PURE__ */ new w(0, 1, 0);
2809
2809
  ge.DEFAULT_MATRIX_AUTO_UPDATE = !0;
2810
2810
  ge.DEFAULT_MATRIX_WORLD_AUTO_UPDATE = !0;
2811
- const Xo = /* @__PURE__ */ new w(), wc = /* @__PURE__ */ new w(), xw = /* @__PURE__ */ new w(), Sc = /* @__PURE__ */ new w(), Sd = /* @__PURE__ */ new w(), Cd = /* @__PURE__ */ new w(), jR = /* @__PURE__ */ new w(), ww = /* @__PURE__ */ new w(), Sw = /* @__PURE__ */ new w(), Cw = /* @__PURE__ */ new w();
2811
+ const Xo = /* @__PURE__ */ new w(), Cc = /* @__PURE__ */ new w(), xw = /* @__PURE__ */ new w(), Ec = /* @__PURE__ */ new w(), Sd = /* @__PURE__ */ new w(), Cd = /* @__PURE__ */ new w(), jR = /* @__PURE__ */ new w(), ww = /* @__PURE__ */ new w(), Sw = /* @__PURE__ */ new w(), Cw = /* @__PURE__ */ new w();
2812
2812
  class kr {
2813
2813
  constructor(e = new w(), t = new w(), i = new w()) {
2814
2814
  this.a = e, this.b = t, this.c = i;
@@ -2821,21 +2821,21 @@ class kr {
2821
2821
  // static/instance method to calculate barycentric coordinates
2822
2822
  // based on: http://www.blackpawn.com/texts/pointinpoly/default.html
2823
2823
  static getBarycoord(e, t, i, s, r) {
2824
- Xo.subVectors(s, t), wc.subVectors(i, t), xw.subVectors(e, t);
2825
- const o = Xo.dot(Xo), a = Xo.dot(wc), c = Xo.dot(xw), l = wc.dot(wc), h = wc.dot(xw), d = o * l - a * a;
2824
+ Xo.subVectors(s, t), Cc.subVectors(i, t), xw.subVectors(e, t);
2825
+ const o = Xo.dot(Xo), a = Xo.dot(Cc), c = Xo.dot(xw), l = Cc.dot(Cc), h = Cc.dot(xw), d = o * l - a * a;
2826
2826
  if (d === 0)
2827
2827
  return r.set(0, 0, 0), null;
2828
2828
  const f = 1 / d, p = (l * c - a * h) * f, m = (o * h - a * c) * f;
2829
2829
  return r.set(1 - p - m, m, p);
2830
2830
  }
2831
2831
  static containsPoint(e, t, i, s) {
2832
- return this.getBarycoord(e, t, i, s, Sc) === null ? !1 : Sc.x >= 0 && Sc.y >= 0 && Sc.x + Sc.y <= 1;
2832
+ return this.getBarycoord(e, t, i, s, Ec) === null ? !1 : Ec.x >= 0 && Ec.y >= 0 && Ec.x + Ec.y <= 1;
2833
2833
  }
2834
2834
  static getInterpolation(e, t, i, s, r, o, a, c) {
2835
- return this.getBarycoord(e, t, i, s, Sc) === null ? (c.x = 0, c.y = 0, "z" in c && (c.z = 0), "w" in c && (c.w = 0), null) : (c.setScalar(0), c.addScaledVector(r, Sc.x), c.addScaledVector(o, Sc.y), c.addScaledVector(a, Sc.z), c);
2835
+ return this.getBarycoord(e, t, i, s, Ec) === null ? (c.x = 0, c.y = 0, "z" in c && (c.z = 0), "w" in c && (c.w = 0), null) : (c.setScalar(0), c.addScaledVector(r, Ec.x), c.addScaledVector(o, Ec.y), c.addScaledVector(a, Ec.z), c);
2836
2836
  }
2837
2837
  static isFrontFacing(e, t, i, s) {
2838
- return Xo.subVectors(i, t), wc.subVectors(e, t), Xo.cross(wc).dot(s) < 0;
2838
+ return Xo.subVectors(i, t), Cc.subVectors(e, t), Xo.cross(Cc).dot(s) < 0;
2839
2839
  }
2840
2840
  set(e, t, i) {
2841
2841
  return this.a.copy(e), this.b.copy(t), this.c.copy(i), this;
@@ -2853,7 +2853,7 @@ class kr {
2853
2853
  return this.a.copy(e.a), this.b.copy(e.b), this.c.copy(e.c), this;
2854
2854
  }
2855
2855
  getArea() {
2856
- return Xo.subVectors(this.c, this.b), wc.subVectors(this.a, this.b), Xo.cross(wc).length() * 0.5;
2856
+ return Xo.subVectors(this.c, this.b), Cc.subVectors(this.a, this.b), Xo.cross(Cc).length() * 0.5;
2857
2857
  }
2858
2858
  getMidpoint(e) {
2859
2859
  return e.addVectors(this.a, this.b).add(this.c).multiplyScalar(1 / 3);
@@ -3362,7 +3362,7 @@ class ai extends zt {
3362
3362
  return super.copy(e), this.color.copy(e.color), this.map = e.map, this.lightMap = e.lightMap, this.lightMapIntensity = e.lightMapIntensity, this.aoMap = e.aoMap, this.aoMapIntensity = e.aoMapIntensity, this.specularMap = e.specularMap, this.alphaMap = e.alphaMap, this.envMap = e.envMap, this.combine = e.combine, this.reflectivity = e.reflectivity, this.refractionRatio = e.refractionRatio, this.wireframe = e.wireframe, this.wireframeLinewidth = e.wireframeLinewidth, this.wireframeLinecap = e.wireframeLinecap, this.wireframeLinejoin = e.wireframeLinejoin, this.fog = e.fog, this.occlusion = e.occlusion, this;
3363
3363
  }
3364
3364
  }
3365
- const Hc = /* @__PURE__ */ AV();
3365
+ const jc = /* @__PURE__ */ AV();
3366
3366
  function AV() {
3367
3367
  const n = new ArrayBuffer(4), e = new Float32Array(n), t = new Uint32Array(n), i = new Uint32Array(512), s = new Uint32Array(512);
3368
3368
  for (let c = 0; c < 256; ++c) {
@@ -3397,13 +3397,13 @@ function AV() {
3397
3397
  };
3398
3398
  }
3399
3399
  function Tr(n) {
3400
- Math.abs(n) > 65504 && console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."), n = gn(n, -65504, 65504), Hc.floatView[0] = n;
3401
- const e = Hc.uint32View[0], t = e >> 23 & 511;
3402
- return Hc.baseTable[t] + ((e & 8388607) >> Hc.shiftTable[t]);
3400
+ Math.abs(n) > 65504 && console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."), n = gn(n, -65504, 65504), jc.floatView[0] = n;
3401
+ const e = jc.uint32View[0], t = e >> 23 & 511;
3402
+ return jc.baseTable[t] + ((e & 8388607) >> jc.shiftTable[t]);
3403
3403
  }
3404
3404
  function Mm(n) {
3405
3405
  const e = n >> 10;
3406
- return Hc.uint32View[0] = Hc.mantissaTable[Hc.offsetTable[e] + (n & 1023)] + Hc.exponentTable[e], Hc.floatView[0];
3406
+ return jc.uint32View[0] = jc.mantissaTable[jc.offsetTable[e] + (n & 1023)] + jc.exponentTable[e], jc.floatView[0];
3407
3407
  }
3408
3408
  const yu = {
3409
3409
  toHalfFloat: Tr,
@@ -4349,7 +4349,7 @@ class TM extends ge {
4349
4349
  }
4350
4350
  class fv extends Gt {
4351
4351
  constructor(e, t, i, s, r, o, a, c, l, h) {
4352
- e = e !== void 0 ? e : [], t = t !== void 0 ? t : hl, super(e, t, i, s, r, o, a, c, l, h), this.isCubeTexture = !0, this.flipY = !1;
4352
+ e = e !== void 0 ? e : [], t = t !== void 0 ? t : ul, super(e, t, i, s, r, o, a, c, l, h), this.isCubeTexture = !0, this.flipY = !1;
4353
4353
  }
4354
4354
  get images() {
4355
4355
  return this.image;
@@ -4362,7 +4362,7 @@ class IM extends ti {
4362
4362
  constructor(e = 1, t = {}) {
4363
4363
  super(e, e, t), this.isWebGLCubeRenderTarget = !0;
4364
4364
  const i = { width: e, height: e, depth: 1 }, s = [i, i, i, i, i, i];
4365
- t.encoding !== void 0 && (Iu("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."), t.colorSpace = t.encoding === sc ? Wt : ls), this.texture = new fv(s, t.mapping, t.wrapS, t.wrapT, t.magFilter, t.minFilter, t.format, t.type, t.anisotropy, t.colorSpace), this.texture.isRenderTargetTexture = !0, this.texture.generateMipmaps = t.generateMipmaps !== void 0 ? t.generateMipmaps : !1, this.texture.minFilter = t.minFilter !== void 0 ? t.minFilter : Tt;
4365
+ t.encoding !== void 0 && (Iu("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."), t.colorSpace = t.encoding === rc ? Wt : ls), this.texture = new fv(s, t.mapping, t.wrapS, t.wrapT, t.magFilter, t.minFilter, t.format, t.type, t.anisotropy, t.colorSpace), this.texture.isRenderTargetTexture = !0, this.texture.generateMipmaps = t.generateMipmaps !== void 0 ? t.generateMipmaps : !1, this.texture.minFilter = t.minFilter !== void 0 ? t.minFilter : Tt;
4366
4366
  }
4367
4367
  fromEquirectangularTexture(e, t) {
4368
4368
  this.texture.type = t.type, this.texture.colorSpace = t.colorSpace, this.texture.generateMipmaps = t.generateMipmaps, this.texture.minFilter = t.minFilter, this.texture.magFilter = t.magFilter;
@@ -9315,7 +9315,7 @@ function y5(n) {
9315
9315
  function _5(n) {
9316
9316
  let e = /* @__PURE__ */ new WeakMap();
9317
9317
  function t(o, a) {
9318
- return a === Uo ? o.mapping = hl : a === zf && (o.mapping = ph), o;
9318
+ return a === Uo ? o.mapping = ul : a === zf && (o.mapping = ph), o;
9319
9319
  }
9320
9320
  function i(o) {
9321
9321
  if (o && o.isTexture) {
@@ -9465,7 +9465,7 @@ class _E {
9465
9465
  this._renderer.setRenderTarget(Pw, Bw, Dw), e.scissorTest = !1, FA(e, 0, 0, e.width, e.height);
9466
9466
  }
9467
9467
  _fromTexture(e, t) {
9468
- e.mapping === hl || e.mapping === ph ? this._setSize(e.image.length === 0 ? 16 : e.image[0].width || e.image[0].image.width) : this._setSize(e.image.width / 4), Pw = this._renderer.getRenderTarget(), Bw = this._renderer.getActiveCubeFace(), Dw = this._renderer.getActiveMipmapLevel();
9468
+ e.mapping === ul || e.mapping === ph ? this._setSize(e.image.length === 0 ? 16 : e.image[0].width || e.image[0].image.width) : this._setSize(e.image.width / 4), Pw = this._renderer.getRenderTarget(), Bw = this._renderer.getActiveCubeFace(), Dw = this._renderer.getActiveMipmapLevel();
9469
9469
  const i = t || this._allocateTargets();
9470
9470
  return this._textureToCubeUV(e, i), this._applyPMREM(i), this._cleanup(i), i;
9471
9471
  }
@@ -9511,7 +9511,7 @@ class _E {
9511
9511
  m.geometry.dispose(), m.material.dispose(), h.toneMapping = f, h.autoClear = d, e.background = y;
9512
9512
  }
9513
9513
  _textureToCubeUV(e, t) {
9514
- const i = this._renderer, s = e.mapping === hl || e.mapping === ph;
9514
+ const i = this._renderer, s = e.mapping === ul || e.mapping === ph;
9515
9515
  s ? (this._cubemapMaterial === null && (this._cubemapMaterial = rP()), this._cubemapMaterial.uniforms.flipEnvMap.value = e.isRenderTargetTexture === !1 ? -1 : 1) : this._equirectMaterial === null && (this._equirectMaterial = sP());
9516
9516
  const r = s ? this._cubemapMaterial : this._equirectMaterial, o = new me(this._lodPlanes[0], r), a = r.uniforms;
9517
9517
  a.envMap.value = e;
@@ -9845,7 +9845,7 @@ function x5(n) {
9845
9845
  let e = /* @__PURE__ */ new WeakMap(), t = null;
9846
9846
  function i(a) {
9847
9847
  if (a && a.isTexture) {
9848
- const c = a.mapping, l = c === Uo || c === zf, h = c === hl || c === ph;
9848
+ const c = a.mapping, l = c === Uo || c === zf, h = c === ul || c === ph;
9849
9849
  if (l || h)
9850
9850
  if (a.isRenderTargetTexture && a.needsPMREMUpdate === !0) {
9851
9851
  a.needsPMREMUpdate = !1;
@@ -10184,7 +10184,7 @@ class rp extends Gt {
10184
10184
  constructor(e, t, i, s, r, o, a, c, l, h) {
10185
10185
  if (h = h !== void 0 ? h : oh, h !== oh && h !== mh)
10186
10186
  throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");
10187
- i === void 0 && h === oh && (i = oa), i === void 0 && h === mh && (i = il), super(null, s, r, o, a, c, h, i, l), this.isDepthTexture = !0, this.image = { width: e, height: t }, this.magFilter = a !== void 0 ? a : jt, this.minFilter = c !== void 0 ? c : jt, this.flipY = !1, this.generateMipmaps = !1, this.compareFunction = null;
10187
+ i === void 0 && h === oh && (i = oa), i === void 0 && h === mh && (i = nl), super(null, s, r, o, a, c, h, i, l), this.isDepthTexture = !0, this.image = { width: e, height: t }, this.magFilter = a !== void 0 ? a : jt, this.minFilter = c !== void 0 ? c : jt, this.flipY = !1, this.generateMipmaps = !1, this.compareFunction = null;
10188
10188
  }
10189
10189
  copy(e) {
10190
10190
  return super.copy(e), this.compareFunction = e.compareFunction, this;
@@ -10838,7 +10838,7 @@ function Fj(n) {
10838
10838
  let e = "ENVMAP_TYPE_CUBE";
10839
10839
  if (n.envMap)
10840
10840
  switch (n.envMapMode) {
10841
- case hl:
10841
+ case ul:
10842
10842
  case ph:
10843
10843
  e = "ENVMAP_TYPE_CUBE";
10844
10844
  break;
@@ -12444,7 +12444,7 @@ function rW(n, e, t, i, s, r, o) {
12444
12444
  return A(F, ce) === !0 || F.isFramebufferTexture && F.minFilter !== jt && F.minFilter !== Tt ? Math.log2(Math.max(B.width, B.height)) + 1 : F.mipmaps !== void 0 && F.mipmaps.length > 0 ? F.mipmaps.length : F.isCompressedTexture && Array.isArray(F.image) ? B.mipmaps.length : 1;
12445
12445
  }
12446
12446
  function E(F) {
12447
- return F === jt || F === Gf || F === Vc ? n.NEAREST : n.LINEAR;
12447
+ return F === jt || F === Gf || F === Qc ? n.NEAREST : n.LINEAR;
12448
12448
  }
12449
12449
  function T(F) {
12450
12450
  const B = F.target;
@@ -12558,7 +12558,7 @@ function rW(n, e, t, i, s, r, o) {
12558
12558
  }, se = {
12559
12559
  [jt]: n.NEAREST,
12560
12560
  [Gf]: n.NEAREST_MIPMAP_NEAREST,
12561
- [Vc]: n.NEAREST_MIPMAP_LINEAR,
12561
+ [Qc]: n.NEAREST_MIPMAP_LINEAR,
12562
12562
  [Tt]: n.LINEAR,
12563
12563
  [Mu]: n.LINEAR_MIPMAP_NEAREST,
12564
12564
  [Lr]: n.LINEAR_MIPMAP_LINEAR
@@ -12573,9 +12573,9 @@ function rW(n, e, t, i, s, r, o) {
12573
12573
  [fL]: n.NOTEQUAL
12574
12574
  };
12575
12575
  function be(F, B, ce) {
12576
- if (B.type === Zi && e.has("OES_texture_float_linear") === !1 && (B.magFilter === Tt || B.magFilter === Mu || B.magFilter === Vc || B.magFilter === Lr || B.minFilter === Tt || B.minFilter === Mu || B.minFilter === Vc || B.minFilter === Lr) && console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."), ce ? (n.texParameteri(F, n.TEXTURE_WRAP_S, K[B.wrapS]), n.texParameteri(F, n.TEXTURE_WRAP_T, K[B.wrapT]), (F === n.TEXTURE_3D || F === n.TEXTURE_2D_ARRAY) && n.texParameteri(F, n.TEXTURE_WRAP_R, K[B.wrapR]), n.texParameteri(F, n.TEXTURE_MAG_FILTER, se[B.magFilter]), n.texParameteri(F, n.TEXTURE_MIN_FILTER, se[B.minFilter])) : (n.texParameteri(F, n.TEXTURE_WRAP_S, n.CLAMP_TO_EDGE), n.texParameteri(F, n.TEXTURE_WRAP_T, n.CLAMP_TO_EDGE), (F === n.TEXTURE_3D || F === n.TEXTURE_2D_ARRAY) && n.texParameteri(F, n.TEXTURE_WRAP_R, n.CLAMP_TO_EDGE), (B.wrapS !== cs || B.wrapT !== cs) && console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."), n.texParameteri(F, n.TEXTURE_MAG_FILTER, E(B.magFilter)), n.texParameteri(F, n.TEXTURE_MIN_FILTER, E(B.minFilter)), B.minFilter !== jt && B.minFilter !== Tt && console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")), B.compareFunction && (n.texParameteri(F, n.TEXTURE_COMPARE_MODE, n.COMPARE_REF_TO_TEXTURE), n.texParameteri(F, n.TEXTURE_COMPARE_FUNC, fe[B.compareFunction])), e.has("EXT_texture_filter_anisotropic") === !0) {
12576
+ if (B.type === Zi && e.has("OES_texture_float_linear") === !1 && (B.magFilter === Tt || B.magFilter === Mu || B.magFilter === Qc || B.magFilter === Lr || B.minFilter === Tt || B.minFilter === Mu || B.minFilter === Qc || B.minFilter === Lr) && console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."), ce ? (n.texParameteri(F, n.TEXTURE_WRAP_S, K[B.wrapS]), n.texParameteri(F, n.TEXTURE_WRAP_T, K[B.wrapT]), (F === n.TEXTURE_3D || F === n.TEXTURE_2D_ARRAY) && n.texParameteri(F, n.TEXTURE_WRAP_R, K[B.wrapR]), n.texParameteri(F, n.TEXTURE_MAG_FILTER, se[B.magFilter]), n.texParameteri(F, n.TEXTURE_MIN_FILTER, se[B.minFilter])) : (n.texParameteri(F, n.TEXTURE_WRAP_S, n.CLAMP_TO_EDGE), n.texParameteri(F, n.TEXTURE_WRAP_T, n.CLAMP_TO_EDGE), (F === n.TEXTURE_3D || F === n.TEXTURE_2D_ARRAY) && n.texParameteri(F, n.TEXTURE_WRAP_R, n.CLAMP_TO_EDGE), (B.wrapS !== cs || B.wrapT !== cs) && console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."), n.texParameteri(F, n.TEXTURE_MAG_FILTER, E(B.magFilter)), n.texParameteri(F, n.TEXTURE_MIN_FILTER, E(B.minFilter)), B.minFilter !== jt && B.minFilter !== Tt && console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")), B.compareFunction && (n.texParameteri(F, n.TEXTURE_COMPARE_MODE, n.COMPARE_REF_TO_TEXTURE), n.texParameteri(F, n.TEXTURE_COMPARE_FUNC, fe[B.compareFunction])), e.has("EXT_texture_filter_anisotropic") === !0) {
12577
12577
  const Ce = e.get("EXT_texture_filter_anisotropic");
12578
- if (B.magFilter === jt || B.minFilter !== Vc && B.minFilter !== Lr || B.type === Zi && e.has("OES_texture_float_linear") === !1 || a === !1 && B.type === cn && e.has("OES_texture_half_float_linear") === !1)
12578
+ if (B.magFilter === jt || B.minFilter !== Qc && B.minFilter !== Lr || B.type === Zi && e.has("OES_texture_float_linear") === !1 || a === !1 && B.type === cn && e.has("OES_texture_half_float_linear") === !1)
12579
12579
  return;
12580
12580
  (B.anisotropy > 1 || i.get(B).__currentAnisotropy) && (n.texParameterf(F, Ce.TEXTURE_MAX_ANISOTROPY_EXT, Math.min(B.anisotropy, s.getMaxAnisotropy())), i.get(B).__currentAnisotropy = B.anisotropy);
12581
12581
  }
@@ -12616,7 +12616,7 @@ function rW(n, e, t, i, s, r, o) {
12616
12616
  let Qe;
12617
12617
  const vt = B.mipmaps, Ft = a && B.isVideoTexture !== !0 && et !== nb, j = nt.__version === void 0 || xe === !0, ze = C(B, Ee, kt);
12618
12618
  if (B.isDepthTexture)
12619
- et = n.DEPTH_COMPONENT, a ? B.type === Zi ? et = n.DEPTH_COMPONENT32F : B.type === oa ? et = n.DEPTH_COMPONENT24 : B.type === il ? et = n.DEPTH24_STENCIL8 : et = n.DEPTH_COMPONENT16 : B.type === Zi && console.error("WebGLRenderer: Floating point depth texture requires WebGL2."), B.format === oh && et === n.DEPTH_COMPONENT && B.type !== tb && B.type !== oa && (console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."), B.type = oa, mt = r.convert(B.type)), B.format === mh && et === n.DEPTH_COMPONENT && (et = n.DEPTH_STENCIL, B.type !== il && (console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."), B.type = il, mt = r.convert(B.type))), j && (Ft ? t.texStorage2D(n.TEXTURE_2D, 1, et, Ee.width, Ee.height) : t.texImage2D(n.TEXTURE_2D, 0, et, Ee.width, Ee.height, 0, pt, mt, null));
12619
+ et = n.DEPTH_COMPONENT, a ? B.type === Zi ? et = n.DEPTH_COMPONENT32F : B.type === oa ? et = n.DEPTH_COMPONENT24 : B.type === nl ? et = n.DEPTH24_STENCIL8 : et = n.DEPTH_COMPONENT16 : B.type === Zi && console.error("WebGLRenderer: Floating point depth texture requires WebGL2."), B.format === oh && et === n.DEPTH_COMPONENT && B.type !== tb && B.type !== oa && (console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."), B.type = oa, mt = r.convert(B.type)), B.format === mh && et === n.DEPTH_COMPONENT && (et = n.DEPTH_STENCIL, B.type !== nl && (console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."), B.type = nl, mt = r.convert(B.type))), j && (Ft ? t.texStorage2D(n.TEXTURE_2D, 1, et, Ee.width, Ee.height) : t.texImage2D(n.TEXTURE_2D, 0, et, Ee.width, Ee.height, 0, pt, mt, null));
12620
12620
  else if (B.isDataTexture)
12621
12621
  if (vt.length > 0 && kt) {
12622
12622
  Ft && j && t.texStorage2D(n.TEXTURE_2D, ze, et, vt[0].width, vt[0].height);
@@ -13040,7 +13040,7 @@ function TL(n, e, t) {
13040
13040
  return a.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT;
13041
13041
  } else
13042
13042
  return null;
13043
- return r === il ? i ? n.UNSIGNED_INT_24_8 : (a = e.get("WEBGL_depth_texture"), a !== null ? a.UNSIGNED_INT_24_8_WEBGL : null) : n[r] !== void 0 ? n[r] : null;
13043
+ return r === nl ? i ? n.UNSIGNED_INT_24_8 : (a = e.get("WEBGL_depth_texture"), a !== null ? a.UNSIGNED_INT_24_8_WEBGL : null) : n[r] !== void 0 ? n[r] : null;
13044
13044
  }
13045
13045
  return { convert: s };
13046
13046
  }
@@ -13197,7 +13197,7 @@ class aW extends ps {
13197
13197
  );
13198
13198
  } else {
13199
13199
  let Ae = null, Ne = null, He = null;
13200
- A.depth && (He = A.stencil ? t.DEPTH24_STENCIL8 : t.DEPTH_COMPONENT24, Ae = A.stencil ? mh : oh, Ne = A.stencil ? il : oa);
13200
+ A.depth && (He = A.stencil ? t.DEPTH24_STENCIL8 : t.DEPTH_COMPONENT24, Ae = A.stencil ? mh : oh, Ne = A.stencil ? nl : oa);
13201
13201
  const Je = {
13202
13202
  colorFormat: t.RGBA8,
13203
13203
  depthFormat: He,
@@ -13646,7 +13646,7 @@ class Al {
13646
13646
  Z = he === yM || he === AM || he === vM;
13647
13647
  }
13648
13648
  if (Z) {
13649
- const he = T.texture.type, pe = he === yi || he === oa || he === tb || he === il || he === mM || he === gM, Re = pt.getClearColor(), Be = pt.getClearAlpha(), We = Re.r, Ze = Re.g, Fe = Re.b;
13649
+ const he = T.texture.type, pe = he === yi || he === oa || he === tb || he === nl || he === mM || he === gM, Re = pt.getClearColor(), Be = pt.getClearAlpha(), We = Re.r, Ze = Re.g, Fe = Re.b;
13650
13650
  pe ? (p[0] = We, p[1] = Ze, p[2] = Fe, p[3] = Be, X.clearBufferuiv(X.COLOR, 0, p)) : (m[0] = We, m[1] = Ze, m[2] = Fe, m[3] = Be, X.clearBufferiv(X.COLOR, 0, m));
13651
13651
  } else
13652
13652
  ee |= X.COLOR_BUFFER_BIT;
@@ -14034,10 +14034,10 @@ class Al {
14034
14034
  t.drawingBufferColorSpace = e === uv ? "display-p3" : "srgb", t.unpackColorSpace = Si.workingColorSpace === np ? "display-p3" : "srgb";
14035
14035
  }
14036
14036
  get outputEncoding() {
14037
- return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."), this.outputColorSpace === Wt ? sc : hv;
14037
+ return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."), this.outputColorSpace === Wt ? rc : hv;
14038
14038
  }
14039
14039
  set outputEncoding(e) {
14040
- console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."), this.outputColorSpace = e === sc ? Wt : Pi;
14040
+ console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."), this.outputColorSpace = e === rc ? Wt : Pi;
14041
14041
  }
14042
14042
  get useLegacyLights() {
14043
14043
  return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."), this._useLegacyLights;
@@ -15113,19 +15113,19 @@ class AW extends Gt {
15113
15113
  super({ width: e, height: t }), this.isFramebufferTexture = !0, this.magFilter = jt, this.minFilter = jt, this.generateMipmaps = !1, this.needsUpdate = !0;
15114
15114
  }
15115
15115
  }
15116
- class rc extends Gt {
15116
+ class oc extends Gt {
15117
15117
  constructor(e, t, i, s, r, o, a, c, l, h, d, f) {
15118
15118
  super(null, o, a, c, l, h, s, r, d, f), this.isCompressedTexture = !0, this.image = { width: t, height: i }, this.mipmaps = e, this.flipY = !1, this.generateMipmaps = !1;
15119
15119
  }
15120
15120
  }
15121
- class LL extends rc {
15121
+ class LL extends oc {
15122
15122
  constructor(e, t, i, s, r, o) {
15123
15123
  super(e, t, i, r, o), this.isCompressedArrayTexture = !0, this.image.depth = s, this.wrapR = cs;
15124
15124
  }
15125
15125
  }
15126
- class FL extends rc {
15126
+ class FL extends oc {
15127
15127
  constructor(e, t, i) {
15128
- super(void 0, e[0].width, e[0].height, t, i, hl), this.isCompressedCubeTexture = !0, this.isCubeTexture = !0, this.image = e;
15128
+ super(void 0, e[0].width, e[0].height, t, i, ul), this.isCompressedCubeTexture = !0, this.isCubeTexture = !0, this.image = e;
15129
15129
  }
15130
15130
  }
15131
15131
  class FM extends Gt {
@@ -16543,7 +16543,7 @@ function VW(n, e, t, i) {
16543
16543
  s += (n[o] - n[r]) * (n[r + 1] + n[o + 1]), o = r;
16544
16544
  return s;
16545
16545
  }
16546
- class oc {
16546
+ class ac {
16547
16547
  // calculate area of the contour polygon
16548
16548
  static area(e) {
16549
16549
  const t = e.length;
@@ -16553,7 +16553,7 @@ class oc {
16553
16553
  return i * 0.5;
16554
16554
  }
16555
16555
  static isClockWise(e) {
16556
- return oc.area(e) < 0;
16556
+ return ac.area(e) < 0;
16557
16557
  }
16558
16558
  static triangulateShape(e, t) {
16559
16559
  const i = [], s = [], r = [];
@@ -16597,14 +16597,14 @@ class Ab extends yt {
16597
16597
  const S = a.extractPoints(l);
16598
16598
  let M = S.shape;
16599
16599
  const D = S.holes;
16600
- if (!oc.isClockWise(M)) {
16600
+ if (!ac.isClockWise(M)) {
16601
16601
  M = M.reverse();
16602
16602
  for (let Pe = 0, X = D.length; Pe < X; Pe++) {
16603
16603
  const ve = D[Pe];
16604
- oc.isClockWise(ve) && (D[Pe] = ve.reverse());
16604
+ ac.isClockWise(ve) && (D[Pe] = ve.reverse());
16605
16605
  }
16606
16606
  }
16607
- const Q = oc.triangulateShape(M, D), L = M;
16607
+ const Q = ac.triangulateShape(M, D), L = M;
16608
16608
  for (let Pe = 0, X = D.length; Pe < X; Pe++) {
16609
16609
  const ve = D[Pe];
16610
16610
  M = M.concat(ve);
@@ -16911,7 +16911,7 @@ class yb extends wh {
16911
16911
  return new yb(e.radius, e.detail);
16912
16912
  }
16913
16913
  }
16914
- class Jc extends wh {
16914
+ class Zc extends wh {
16915
16915
  constructor(e = 1, t = 0) {
16916
16916
  const i = [
16917
16917
  1,
@@ -16964,7 +16964,7 @@ class Jc extends wh {
16964
16964
  };
16965
16965
  }
16966
16966
  static fromJSON(e) {
16967
- return new Jc(e.radius, e.detail);
16967
+ return new Zc(e.radius, e.detail);
16968
16968
  }
16969
16969
  }
16970
16970
  class ju extends yt {
@@ -17021,12 +17021,12 @@ class _b extends yt {
17021
17021
  const d = s.length / 3, f = h.extractPoints(t);
17022
17022
  let p = f.shape;
17023
17023
  const m = f.holes;
17024
- oc.isClockWise(p) === !1 && (p = p.reverse());
17024
+ ac.isClockWise(p) === !1 && (p = p.reverse());
17025
17025
  for (let y = 0, g = m.length; y < g; y++) {
17026
17026
  const A = m[y];
17027
- oc.isClockWise(A) === !0 && (m[y] = A.reverse());
17027
+ ac.isClockWise(A) === !0 && (m[y] = A.reverse());
17028
17028
  }
17029
- const v = oc.triangulateShape(p, m);
17029
+ const v = ac.triangulateShape(p, m);
17030
17030
  for (let y = 0, g = m.length; y < g; y++) {
17031
17031
  const A = m[y];
17032
17032
  p = p.concat(A);
@@ -17143,7 +17143,7 @@ class bb extends wh {
17143
17143
  return new bb(e.radius, e.detail);
17144
17144
  }
17145
17145
  }
17146
- class Qc extends yt {
17146
+ class Wc extends yt {
17147
17147
  constructor(e = 1, t = 0.4, i = 12, s = 48, r = Math.PI * 2) {
17148
17148
  super(), this.type = "TorusGeometry", this.parameters = {
17149
17149
  radius: e,
@@ -17169,7 +17169,7 @@ class Qc extends yt {
17169
17169
  return super.copy(e), this.parameters = Object.assign({}, e.parameters), this;
17170
17170
  }
17171
17171
  static fromJSON(e) {
17172
- return new Qc(e.radius, e.tube, e.radialSegments, e.tubularSegments, e.arc);
17172
+ return new Wc(e.radius, e.tube, e.radialSegments, e.tubularSegments, e.arc);
17173
17173
  }
17174
17174
  }
17175
17175
  class xb extends yt {
@@ -17316,14 +17316,14 @@ var WP = /* @__PURE__ */ Object.freeze({
17316
17316
  ExtrudeGeometry: Ab,
17317
17317
  IcosahedronGeometry: yb,
17318
17318
  LatheGeometry: Av,
17319
- OctahedronGeometry: Jc,
17319
+ OctahedronGeometry: Zc,
17320
17320
  PlaneGeometry: $n,
17321
17321
  PolyhedronGeometry: wh,
17322
17322
  RingGeometry: ju,
17323
17323
  ShapeGeometry: _b,
17324
17324
  SphereGeometry: xa,
17325
17325
  TetrahedronGeometry: bb,
17326
- TorusGeometry: Qc,
17326
+ TorusGeometry: Wc,
17327
17327
  TorusKnotGeometry: xb,
17328
17328
  TubeGeometry: wb,
17329
17329
  WireframeGeometry: jM
@@ -17753,7 +17753,7 @@ class wa {
17753
17753
  case gh:
17754
17754
  t = this.InterpolantFactoryMethodDiscrete;
17755
17755
  break;
17756
- case lc:
17756
+ case hc:
17757
17757
  t = this.InterpolantFactoryMethodLinear;
17758
17758
  break;
17759
17759
  case u0:
@@ -17776,7 +17776,7 @@ class wa {
17776
17776
  case this.InterpolantFactoryMethodDiscrete:
17777
17777
  return gh;
17778
17778
  case this.InterpolantFactoryMethodLinear:
17779
- return lc;
17779
+ return hc;
17780
17780
  case this.InterpolantFactoryMethodSmooth:
17781
17781
  return u0;
17782
17782
  }
@@ -17894,7 +17894,7 @@ class wa {
17894
17894
  }
17895
17895
  wa.prototype.TimeBufferType = Float32Array;
17896
17896
  wa.prototype.ValueBufferType = Float32Array;
17897
- wa.prototype.DefaultInterpolation = lc;
17897
+ wa.prototype.DefaultInterpolation = hc;
17898
17898
  class Ju extends wa {
17899
17899
  }
17900
17900
  Ju.prototype.ValueTypeName = "bool";
@@ -17920,14 +17920,14 @@ class tF extends cp {
17920
17920
  return r;
17921
17921
  }
17922
17922
  }
17923
- class hc extends wa {
17923
+ class uc extends wa {
17924
17924
  InterpolantFactoryMethodLinear(e) {
17925
17925
  return new tF(this.times, this.values, this.getValueSize(), e);
17926
17926
  }
17927
17927
  }
17928
- hc.prototype.ValueTypeName = "quaternion";
17929
- hc.prototype.DefaultInterpolation = lc;
17930
- hc.prototype.InterpolantFactoryMethodSmooth = void 0;
17928
+ uc.prototype.ValueTypeName = "quaternion";
17929
+ uc.prototype.DefaultInterpolation = hc;
17930
+ uc.prototype.InterpolantFactoryMethodSmooth = void 0;
17931
17931
  class Ku extends wa {
17932
17932
  }
17933
17933
  Ku.prototype.ValueTypeName = "string";
@@ -17935,9 +17935,9 @@ Ku.prototype.ValueBufferType = Array;
17935
17935
  Ku.prototype.DefaultInterpolation = gh;
17936
17936
  Ku.prototype.InterpolantFactoryMethodLinear = void 0;
17937
17937
  Ku.prototype.InterpolantFactoryMethodSmooth = void 0;
17938
- class ul extends wa {
17938
+ class dl extends wa {
17939
17939
  }
17940
- ul.prototype.ValueTypeName = "vector";
17940
+ dl.prototype.ValueTypeName = "vector";
17941
17941
  class zr {
17942
17942
  constructor(e, t = -1, i, s = sb) {
17943
17943
  this.name = e, this.tracks = i, this.duration = t, this.blendMode = s, this.uuid = so(), this.duration < 0 && this.resetDuration();
@@ -18041,19 +18041,19 @@ class zr {
18041
18041
  } else {
18042
18042
  const p = ".bones[" + t[d].name + "]";
18043
18043
  i(
18044
- ul,
18044
+ dl,
18045
18045
  p + ".position",
18046
18046
  f,
18047
18047
  "pos",
18048
18048
  s
18049
18049
  ), i(
18050
- hc,
18050
+ uc,
18051
18051
  p + ".quaternion",
18052
18052
  f,
18053
18053
  "rot",
18054
18054
  s
18055
18055
  ), i(
18056
- ul,
18056
+ dl,
18057
18057
  p + ".scale",
18058
18058
  f,
18059
18059
  "scl",
@@ -18110,11 +18110,11 @@ function YW(n) {
18110
18110
  case "vector2":
18111
18111
  case "vector3":
18112
18112
  case "vector4":
18113
- return ul;
18113
+ return dl;
18114
18114
  case "color":
18115
18115
  return Eb;
18116
18116
  case "quaternion":
18117
- return hc;
18117
+ return uc;
18118
18118
  case "bool":
18119
18119
  case "boolean":
18120
18120
  return Ju;
@@ -18133,7 +18133,7 @@ function JW(n) {
18133
18133
  }
18134
18134
  return e.parse !== void 0 ? e.parse(n) : new e(n.name, n.times, n.values, n.interpolation);
18135
18135
  }
18136
- const Kc = {
18136
+ const $c = {
18137
18137
  enabled: !1,
18138
18138
  files: {},
18139
18139
  add: function(n, e) {
@@ -18212,7 +18212,7 @@ class Os {
18212
18212
  }
18213
18213
  }
18214
18214
  Os.DEFAULT_MATERIAL_NAME = "__DEFAULT";
18215
- const Cc = {};
18215
+ const Mc = {};
18216
18216
  class KW extends Error {
18217
18217
  constructor(e, t) {
18218
18218
  super(e), this.response = t;
@@ -18224,20 +18224,20 @@ class Xn extends Os {
18224
18224
  }
18225
18225
  load(e, t, i, s) {
18226
18226
  e === void 0 && (e = ""), this.path !== void 0 && (e = this.path + e), e = this.manager.resolveURL(e);
18227
- const r = Kc.get(e);
18227
+ const r = $c.get(e);
18228
18228
  if (r !== void 0)
18229
18229
  return this.manager.itemStart(e), setTimeout(() => {
18230
18230
  t && t(r), this.manager.itemEnd(e);
18231
18231
  }, 0), r;
18232
- if (Cc[e] !== void 0) {
18233
- Cc[e].push({
18232
+ if (Mc[e] !== void 0) {
18233
+ Mc[e].push({
18234
18234
  onLoad: t,
18235
18235
  onProgress: i,
18236
18236
  onError: s
18237
18237
  });
18238
18238
  return;
18239
18239
  }
18240
- Cc[e] = [], Cc[e].push({
18240
+ Mc[e] = [], Mc[e].push({
18241
18241
  onLoad: t,
18242
18242
  onProgress: i,
18243
18243
  onError: s
@@ -18251,7 +18251,7 @@ class Xn extends Os {
18251
18251
  if (l.status === 200 || l.status === 0) {
18252
18252
  if (l.status === 0 && console.warn("THREE.FileLoader: HTTP Status 0 received."), typeof ReadableStream > "u" || l.body === void 0 || l.body.getReader === void 0)
18253
18253
  return l;
18254
- const h = Cc[e], d = l.body.getReader(), f = l.headers.get("Content-Length") || l.headers.get("X-File-Size"), p = f ? parseInt(f) : 0, m = p !== 0;
18254
+ const h = Mc[e], d = l.body.getReader(), f = l.headers.get("Content-Length") || l.headers.get("X-File-Size"), p = f ? parseInt(f) : 0, m = p !== 0;
18255
18255
  let v = 0;
18256
18256
  const y = new ReadableStream({
18257
18257
  start(g) {
@@ -18295,18 +18295,18 @@ class Xn extends Os {
18295
18295
  }
18296
18296
  }
18297
18297
  }).then((l) => {
18298
- Kc.add(e, l);
18299
- const h = Cc[e];
18300
- delete Cc[e];
18298
+ $c.add(e, l);
18299
+ const h = Mc[e];
18300
+ delete Mc[e];
18301
18301
  for (let d = 0, f = h.length; d < f; d++) {
18302
18302
  const p = h[d];
18303
18303
  p.onLoad && p.onLoad(l);
18304
18304
  }
18305
18305
  }).catch((l) => {
18306
- const h = Cc[e];
18306
+ const h = Mc[e];
18307
18307
  if (h === void 0)
18308
18308
  throw this.manager.itemError(e), l;
18309
- delete Cc[e];
18309
+ delete Mc[e];
18310
18310
  for (let d = 0, f = h.length; d < f; d++) {
18311
18311
  const p = h[d];
18312
18312
  p.onError && p.onError(l);
@@ -18351,7 +18351,7 @@ class $W extends Os {
18351
18351
  super(e);
18352
18352
  }
18353
18353
  load(e, t, i, s) {
18354
- const r = this, o = [], a = new rc(), c = new Xn(this.manager);
18354
+ const r = this, o = [], a = new oc(), c = new Xn(this.manager);
18355
18355
  c.setPath(this.path), c.setResponseType("arraybuffer"), c.setRequestHeader(this.requestHeader), c.setWithCredentials(r.withCredentials);
18356
18356
  let l = 0;
18357
18357
  function h(d) {
@@ -18392,14 +18392,14 @@ class Lg extends Os {
18392
18392
  }
18393
18393
  load(e, t, i, s) {
18394
18394
  this.path !== void 0 && (e = this.path + e), e = this.manager.resolveURL(e);
18395
- const r = this, o = Kc.get(e);
18395
+ const r = this, o = $c.get(e);
18396
18396
  if (o !== void 0)
18397
18397
  return r.manager.itemStart(e), setTimeout(function() {
18398
18398
  t && t(o), r.manager.itemEnd(e);
18399
18399
  }, 0), o;
18400
18400
  const a = Pg("img");
18401
18401
  function c() {
18402
- h(), Kc.add(e, this), t && t(this), r.manager.itemEnd(e);
18402
+ h(), $c.add(e, this), t && t(this), r.manager.itemEnd(e);
18403
18403
  }
18404
18404
  function l(d) {
18405
18405
  h(), s && s(d), r.manager.itemError(e), r.manager.itemEnd(e);
@@ -18452,7 +18452,7 @@ class XM extends Os {
18452
18452
  }, i, s), o;
18453
18453
  }
18454
18454
  }
18455
- class nl extends Os {
18455
+ class sl extends Os {
18456
18456
  constructor(e) {
18457
18457
  super(e);
18458
18458
  }
@@ -19111,10 +19111,10 @@ class s8 extends Os {
19111
19111
  const y = f[m], g = a(y);
19112
19112
  g !== null && (g instanceof HTMLImageElement ? p.push(g) : p.push(new ro(g.data, g.width, g.height)));
19113
19113
  }
19114
- s[d.uuid] = new Yc(p);
19114
+ s[d.uuid] = new Kc(p);
19115
19115
  } else {
19116
19116
  const p = a(d.url);
19117
- s[d.uuid] = new Yc(p);
19117
+ s[d.uuid] = new Kc(p);
19118
19118
  }
19119
19119
  }
19120
19120
  }
@@ -19144,10 +19144,10 @@ class s8 extends Os {
19144
19144
  const p = l[d], m = await r(p);
19145
19145
  m !== null && (m instanceof HTMLImageElement ? h.push(m) : h.push(new ro(m.data, m.width, m.height)));
19146
19146
  }
19147
- i[c.uuid] = new Yc(h);
19147
+ i[c.uuid] = new Kc(h);
19148
19148
  } else {
19149
19149
  const h = await r(c.url);
19150
- i[c.uuid] = new Yc(h);
19150
+ i[c.uuid] = new Kc(h);
19151
19151
  }
19152
19152
  }
19153
19153
  }
@@ -19306,7 +19306,7 @@ class s8 extends Os {
19306
19306
  }
19307
19307
  const r8 = {
19308
19308
  UVMapping: eb,
19309
- CubeReflectionMapping: hl,
19309
+ CubeReflectionMapping: ul,
19310
19310
  CubeRefractionMapping: ph,
19311
19311
  EquirectangularReflectionMapping: Uo,
19312
19312
  EquirectangularRefractionMapping: zf,
@@ -19318,7 +19318,7 @@ const r8 = {
19318
19318
  }, KP = {
19319
19319
  NearestFilter: jt,
19320
19320
  NearestMipmapNearestFilter: Gf,
19321
- NearestMipmapLinearFilter: Vc,
19321
+ NearestMipmapLinearFilter: Qc,
19322
19322
  LinearFilter: Tt,
19323
19323
  LinearMipmapNearestFilter: Mu,
19324
19324
  LinearMipmapLinearFilter: Lr
@@ -19332,7 +19332,7 @@ class aF extends Os {
19332
19332
  }
19333
19333
  load(e, t, i, s) {
19334
19334
  e === void 0 && (e = ""), this.path !== void 0 && (e = this.path + e), e = this.manager.resolveURL(e);
19335
- const r = this, o = Kc.get(e);
19335
+ const r = this, o = $c.get(e);
19336
19336
  if (o !== void 0) {
19337
19337
  if (r.manager.itemStart(e), o.then) {
19338
19338
  o.then((l) => {
@@ -19353,11 +19353,11 @@ class aF extends Os {
19353
19353
  }).then(function(l) {
19354
19354
  return createImageBitmap(l, Object.assign(r.options, { colorSpaceConversion: "none" }));
19355
19355
  }).then(function(l) {
19356
- return Kc.add(e, l), t && t(l), r.manager.itemEnd(e), l;
19356
+ return $c.add(e, l), t && t(l), r.manager.itemEnd(e), l;
19357
19357
  }).catch(function(l) {
19358
- s && s(l), Kc.remove(e), r.manager.itemError(e), r.manager.itemEnd(e);
19358
+ s && s(l), $c.remove(e), r.manager.itemError(e), r.manager.itemEnd(e);
19359
19359
  });
19360
- Kc.add(e, c), r.manager.itemStart(e);
19360
+ $c.add(e, c), r.manager.itemStart(e);
19361
19361
  }
19362
19362
  }
19363
19363
  let ty;
@@ -21055,7 +21055,7 @@ const I8 = /* @__PURE__ */ new w(), aB = /* @__PURE__ */ new ye(), cB = /* @__PU
21055
21055
  class R8 extends ge {
21056
21056
  constructor(e, t, i) {
21057
21057
  super(), this.light = e, this.matrix = e.matrixWorld, this.matrixAutoUpdate = !1, this.color = i, this.type = "HemisphereLightHelper";
21058
- const s = new Jc(t);
21058
+ const s = new Zc(t);
21059
21059
  s.rotateY(Math.PI * 0.5), this.material = new ai({ wireframe: !0, fog: !1, toneMapped: !1 }), this.color === void 0 && (this.material.vertexColors = !0);
21060
21060
  const r = s.getAttribute("position"), o = new Float32Array(r.count * 3);
21061
21061
  s.setAttribute("color", new tt(o, 3)), this.add(new me(s, this.material)), this.update();
@@ -21381,7 +21381,7 @@ class O8 {
21381
21381
  }
21382
21382
  return b;
21383
21383
  }
21384
- const s = oc.isClockWise, r = this.subPaths;
21384
+ const s = ac.isClockWise, r = this.subPaths;
21385
21385
  if (r.length === 0)
21386
21386
  return [];
21387
21387
  let o, a, c;
@@ -21470,7 +21470,7 @@ const k8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21470
21470
  BufferGeometry: yt,
21471
21471
  BufferGeometryLoader: oF,
21472
21472
  ByteType: V2,
21473
- Cache: Kc,
21473
+ Cache: $c,
21474
21474
  Camera: dv,
21475
21475
  CameraHelper: pF,
21476
21476
  CanvasTexture: FM,
@@ -21485,13 +21485,13 @@ const k8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21485
21485
  ColorManagement: Si,
21486
21486
  CompressedArrayTexture: LL,
21487
21487
  CompressedCubeTexture: FL,
21488
- CompressedTexture: rc,
21488
+ CompressedTexture: oc,
21489
21489
  CompressedTextureLoader: $W,
21490
21490
  ConeGeometry: mb,
21491
21491
  ConstantAlphaFactor: O2,
21492
21492
  ConstantColorFactor: B2,
21493
21493
  CubeCamera: TM,
21494
- CubeReflectionMapping: hl,
21494
+ CubeReflectionMapping: ul,
21495
21495
  CubeRefractionMapping: ph,
21496
21496
  CubeTexture: fv,
21497
21497
  CubeTextureLoader: e8,
@@ -21584,7 +21584,7 @@ const k8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21584
21584
  InterleavedBufferAttribute: pr,
21585
21585
  Interpolant: cp,
21586
21586
  InterpolateDiscrete: gh,
21587
- InterpolateLinear: lc,
21587
+ InterpolateLinear: hc,
21588
21588
  InterpolateSmooth: u0,
21589
21589
  InvertStencilOp: iL,
21590
21590
  KeepStencilOp: ql,
@@ -21653,7 +21653,7 @@ const k8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21653
21653
  NearestFilter: jt,
21654
21654
  NearestMipMapLinearFilter: B4,
21655
21655
  NearestMipMapNearestFilter: P4,
21656
- NearestMipmapLinearFilter: Vc,
21656
+ NearestMipmapLinearFilter: Qc,
21657
21657
  NearestMipmapNearestFilter: Gf,
21658
21658
  NeverCompare: lL,
21659
21659
  NeverDepth: uM,
@@ -21670,7 +21670,7 @@ const k8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21670
21670
  Object3D: ge,
21671
21671
  ObjectLoader: s8,
21672
21672
  ObjectSpaceNormalMap: Y2,
21673
- OctahedronGeometry: Jc,
21673
+ OctahedronGeometry: Zc,
21674
21674
  OneFactor: S2,
21675
21675
  OneMinusConstantAlphaFactor: k2,
21676
21676
  OneMinusConstantColorFactor: D2,
@@ -21700,7 +21700,7 @@ const k8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21700
21700
  QuadraticBezierCurve: GM,
21701
21701
  QuadraticBezierCurve3: VM,
21702
21702
  Quaternion: Te,
21703
- QuaternionKeyframeTrack: hc,
21703
+ QuaternionKeyframeTrack: uc,
21704
21704
  QuaternionLinearInterpolant: tF,
21705
21705
  RED_GREEN_RGTC2_Format: gE,
21706
21706
  RED_RGTC1_Format: W2,
@@ -21763,12 +21763,12 @@ const k8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21763
21763
  Shape: Ru,
21764
21764
  ShapeGeometry: _b,
21765
21765
  ShapePath: O8,
21766
- ShapeUtils: oc,
21766
+ ShapeUtils: ac,
21767
21767
  ShortType: H2,
21768
21768
  Skeleton: ap,
21769
21769
  SkeletonHelper: M8,
21770
21770
  SkinnedMesh: ha,
21771
- Source: Yc,
21771
+ Source: Kc,
21772
21772
  Sphere: Tn,
21773
21773
  SphereGeometry: xa,
21774
21774
  Spherical: ME,
@@ -21795,8 +21795,8 @@ const k8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21795
21795
  TangentSpaceNormalMap: xh,
21796
21796
  TetrahedronGeometry: bb,
21797
21797
  Texture: Gt,
21798
- TextureLoader: nl,
21799
- TorusGeometry: Qc,
21798
+ TextureLoader: sl,
21799
+ TorusGeometry: Wc,
21800
21800
  TorusKnotGeometry: xb,
21801
21801
  Triangle: kr,
21802
21802
  TriangleFanDrawMode: K0,
@@ -21813,7 +21813,7 @@ const k8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21813
21813
  UniformsLib: Oe,
21814
21814
  UniformsUtils: sp,
21815
21815
  UnsignedByteType: yi,
21816
- UnsignedInt248Type: il,
21816
+ UnsignedInt248Type: nl,
21817
21817
  UnsignedIntType: oa,
21818
21818
  UnsignedShort4444Type: mM,
21819
21819
  UnsignedShort5551Type: gM,
@@ -21822,7 +21822,7 @@ const k8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21822
21822
  Vector2: ie,
21823
21823
  Vector3: w,
21824
21824
  Vector4: st,
21825
- VectorKeyframeTrack: ul,
21825
+ VectorKeyframeTrack: dl,
21826
21826
  VideoTexture: kL,
21827
21827
  WebGL1Renderer: RL,
21828
21828
  WebGL3DRenderTarget: cV,
@@ -21842,7 +21842,7 @@ const k8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21842
21842
  ZeroStencilOp: J2,
21843
21843
  _SRGBAFormat: e_,
21844
21844
  createCanvasElement: vL,
21845
- sRGBEncoding: sc
21845
+ sRGBEncoding: rc
21846
21846
  }, Symbol.toStringTag, { value: "Module" }));
21847
21847
  var as = /* @__PURE__ */ ((n) => (n.ContextRegistered = "ContextRegistered", n.ContextCreationStart = "ContextCreationStart", n.ContextCreated = "ContextCreated", n.ContextFirstFrameRendered = "ContextFirstFrameRendered", n.ContextDestroyed = "ContextDestroyed", n.MissingCamera = "MissingCamera", n.ContextClearing = "ContextClearing", n.ContextCleared = "ContextCleared", n))(as || {});
21848
21848
  class Fi {
@@ -22286,7 +22286,7 @@ function aT() {
22286
22286
  return yF;
22287
22287
  }
22288
22288
  const vF = console.error, AF = function(...n) {
22289
- vF.apply(console, n), $8(n), sl(2, n), RE();
22289
+ vF.apply(console, n), $8(n), rl(2, n), RE();
22290
22290
  };
22291
22291
  function xue(n) {
22292
22292
  Rf = !n, n ? console.error = AF : console.error = vF;
@@ -22303,9 +22303,9 @@ function Z8() {
22303
22303
  Gr() && console.warn("Received unknown error", e, e.target);
22304
22304
  return;
22305
22305
  }
22306
- sl(2, t, e.filename, e.lineno), RE();
22306
+ rl(2, t, e.filename, e.lineno), RE();
22307
22307
  }, !0), window.addEventListener("unhandledrejection", (e) => {
22308
- Rf || e && (e.reason ? sl(2, e.reason.message, e.reason.stack) : sl(2, "unhandled rejection"), RE());
22308
+ Rf || e && (e.reason ? rl(2, e.reason.message, e.reason.stack) : rl(2, "unhandled rejection"), RE());
22309
22309
  }));
22310
22310
  }
22311
22311
  let yF = 0;
@@ -22319,7 +22319,7 @@ function $8(n) {
22319
22319
  typeof t == "string" && t.startsWith("THREE.PropertyBinding: Trying to update node for track:") && (n[e] = "Some animated objects couldn't be found: see console for details");
22320
22320
  }
22321
22321
  }
22322
- function sl(n, e, t, i) {
22322
+ function rl(n, e, t, i) {
22323
22323
  if (Rf)
22324
22324
  return;
22325
22325
  const s = Fi.Current, r = (s == null ? void 0 : s.domElement) ?? document.querySelector("needle-engine");
@@ -22444,7 +22444,7 @@ function n9(n, e) {
22444
22444
  }
22445
22445
  return t.title = "Open the browser console (F12) for more information", t.innerHTML = e, t;
22446
22446
  }
22447
- let rl = null, Zr = null, ic = null, $w = !1, yB = null;
22447
+ let ol = null, Zr = null, ic = null, $w = !1, yB = null;
22448
22448
  const bF = "📜", PE = oe("console"), s9 = oe("noerrors") || oe("noconsole");
22449
22449
  PE && xF();
22450
22450
  if (!s9 && (PE || Gr())) {
@@ -22457,7 +22457,7 @@ Open this page console: ` + e.toString());
22457
22457
  if (n && (Z8(), wF(), SF(!0), n)) {
22458
22458
  const e = document.querySelector("needle-engine");
22459
22459
  e == null || e.addEventListener("enter-ar", () => {
22460
- (PE || rl || aT() > 0) && oe("noerrors");
22460
+ (PE || ol || aT() > 0) && oe("noerrors");
22461
22461
  }), e == null || e.addEventListener("exit-ar", () => {
22462
22462
  l9();
22463
22463
  });
@@ -22465,14 +22465,14 @@ Open this page console: ` + e.toString());
22465
22465
  }
22466
22466
  const BE = Symbol("consoleParent");
22467
22467
  function xF() {
22468
- if (rl !== null) {
22469
- rl.showSwitch();
22468
+ if (ol !== null) {
22469
+ ol.showSwitch();
22470
22470
  return;
22471
22471
  }
22472
22472
  SF();
22473
22473
  }
22474
22474
  function r9() {
22475
- rl !== null && (rl.hide(), rl.hideSwitch());
22475
+ ol !== null && (ol.hide(), ol.hideSwitch());
22476
22476
  }
22477
22477
  function wF() {
22478
22478
  yB || (yB = setInterval(o9, 500));
@@ -22492,12 +22492,12 @@ function l9() {
22492
22492
  Zr && Zr[BE] && Zr[BE].appendChild(Zr);
22493
22493
  }
22494
22494
  function SF(n = !1) {
22495
- if (rl || $w)
22495
+ if (ol || $w)
22496
22496
  return;
22497
22497
  $w = !0;
22498
22498
  const e = document.createElement("script");
22499
22499
  e.onload = () => {
22500
- if ($w = !1, wF(), rl = new window.VConsole(), Zr = u9(), Zr && (Zr[BE] = Zr.parentElement, Zr.style.position = "absolute", Zr.style.zIndex = Number.MAX_SAFE_INTEGER.toString()), rl.setSwitchPosition(20, 10), ic = h9(), ic) {
22500
+ if ($w = !1, wF(), ol = new window.VConsole(), Zr = u9(), Zr && (Zr[BE] = Zr.parentElement, Zr.style.position = "absolute", Zr.style.zIndex = Number.MAX_SAFE_INTEGER.toString()), ol.setSwitchPosition(20, 10), ic = h9(), ic) {
22501
22501
  ic.innerText = bF, ic.addEventListener("click", c9);
22502
22502
  const t = document.createElement("style"), i = 40;
22503
22503
  t.innerHTML = `
@@ -22552,7 +22552,7 @@ function u9() {
22552
22552
  return n || null;
22553
22553
  }
22554
22554
  function En(n, e = da.Log) {
22555
- sl(e, n);
22555
+ rl(e, n);
22556
22556
  }
22557
22557
  function In(n) {
22558
22558
  En(n, da.Warn);
@@ -23840,7 +23840,7 @@ var D9 = (n) => {
23840
23840
  var e = {};
23841
23841
  return fa.d(e, n), e;
23842
23842
  };
23843
- const Xe = D9({ BackSide: () => Mn, BufferAttribute: () => tt, BufferGeometry: () => yt, Color: () => ye, DoubleSide: () => _i, EventDispatcher: () => ps, FileLoader: () => Xn, FrontSide: () => Ys, LinearFilter: () => Tt, Mesh: () => me, MeshBasicMaterial: () => ai, Object3D: () => ge, Plane: () => ur, PlaneGeometry: () => $n, ShaderMaterial: () => Rt, Texture: () => Gt, TextureLoader: () => nl, Vector2: () => ie, Vector3: () => w, Vector4: () => st });
23843
+ const Xe = D9({ BackSide: () => Mn, BufferAttribute: () => tt, BufferGeometry: () => yt, Color: () => ye, DoubleSide: () => _i, EventDispatcher: () => ps, FileLoader: () => Xn, FrontSide: () => Ys, LinearFilter: () => Tt, Mesh: () => me, MeshBasicMaterial: () => ai, Object3D: () => ge, Plane: () => ur, PlaneGeometry: () => $n, ShaderMaterial: () => Rt, Texture: () => Gt, TextureLoader: () => sl, Vector2: () => ie, Vector3: () => w, Vector4: () => st });
23844
23844
  class nn extends Ti {
23845
23845
  /**
23846
23846
  *
@@ -24940,7 +24940,7 @@ class OF extends Ug {
24940
24940
  e._backgroundMesh.visible = !(this._input === "none" || this._input === "transparent"), this._input === "inherit" ? this._value.set(this.getInheritedInput(e)) : this._input === "transparent" || this._input === "none" || this._value.set(this._input);
24941
24941
  }
24942
24942
  }
24943
- class Rc extends Ti {
24943
+ class Bc extends Ti {
24944
24944
  /**
24945
24945
  *
24946
24946
  * @param {string} propertyId
@@ -25127,7 +25127,7 @@ class C6 extends LF {
25127
25127
  super.computeOutputValue(e);
25128
25128
  }
25129
25129
  }
25130
- class FF extends Rc {
25130
+ class FF extends Bc {
25131
25131
  constructor() {
25132
25132
  super("textContent"), this._needsUpdate = !1;
25133
25133
  }
@@ -26500,7 +26500,7 @@ function FE(n, e) {
26500
26500
  return !0;
26501
26501
  }
26502
26502
  }
26503
- function dl(n, e) {
26503
+ function fl(n, e) {
26504
26504
  return n < 65 ? n === 36 : n < 91 ? !0 : n < 97 ? n === 95 : n < 123 ? !0 : n <= 65535 ? n >= 170 && dq.test(String.fromCharCode(n)) : e === !1 ? !1 : FE(n, KF);
26505
26505
  }
26506
26506
  function qf(n, e) {
@@ -26769,28 +26769,28 @@ var zg = 1, up = 2, CT = 4, nU = 8, sU = 16, rU = 32, ET = 64, oU = 128, wv = 25
26769
26769
  function TT(n, e) {
26770
26770
  return up | (n ? CT : 0) | (e ? nU : 0);
26771
26771
  }
26772
- var u_ = 0, IT = 1, ol = 2, aU = 3, cU = 4, lU = 5, ds = function(e, t, i) {
26772
+ var u_ = 0, IT = 1, al = 2, aU = 3, cU = 4, lU = 5, ds = function(e, t, i) {
26773
26773
  this.options = e = Aq(e), this.sourceFile = e.sourceFile, this.keywords = bu(hq[e.ecmaVersion >= 6 ? 6 : e.sourceType === "module" ? "5module" : 5]);
26774
26774
  var s = "";
26775
26775
  e.allowReserved !== !0 && (s = iS[e.ecmaVersion >= 6 ? 6 : e.ecmaVersion === 5 ? 5 : 3], e.sourceType === "module" && (s += " await")), this.reservedWords = bu(s);
26776
26776
  var r = (s ? s + " " : "") + iS.strict;
26777
26777
  this.reservedWordsStrict = bu(r), this.reservedWordsStrictBind = bu(r + " " + iS.strictBind), this.input = String(t), this.containsEsc = !1, i ? (this.pos = i, this.lineStart = this.input.lastIndexOf(`
26778
26778
  `, i - 1) + 1, this.curLine = this.input.slice(0, this.lineStart).split(Ho).length) : (this.pos = this.lineStart = 0, this.curLine = 1), this.type = k.eof, this.value = null, this.start = this.end = this.pos, this.startLoc = this.endLoc = this.curPosition(), this.lastTokEndLoc = this.lastTokStartLoc = null, this.lastTokStart = this.lastTokEnd = this.pos, this.context = this.initialContext(), this.exprAllowed = !0, this.inModule = e.sourceType === "module", this.strict = this.inModule || this.strictDirective(this.pos), this.potentialArrowAt = -1, this.potentialArrowInForAwait = !1, this.yieldPos = this.awaitPos = this.awaitIdentPos = 0, this.labels = [], this.undefinedExports = /* @__PURE__ */ Object.create(null), this.pos === 0 && e.allowHashBang && this.input.slice(0, 2) === "#!" && this.skipLineComment(2), this.scopeStack = [], this.enterScope(zg), this.regexpState = null, this.privateNameStack = [];
26779
- }, pc = { inFunction: { configurable: !0 }, inGenerator: { configurable: !0 }, inAsync: { configurable: !0 }, canAwait: { configurable: !0 }, allowSuper: { configurable: !0 }, allowDirectSuper: { configurable: !0 }, treatFunctionsAsVar: { configurable: !0 }, allowNewDotTarget: { configurable: !0 }, inClassStaticBlock: { configurable: !0 } };
26779
+ }, mc = { inFunction: { configurable: !0 }, inGenerator: { configurable: !0 }, inAsync: { configurable: !0 }, canAwait: { configurable: !0 }, allowSuper: { configurable: !0 }, allowDirectSuper: { configurable: !0 }, treatFunctionsAsVar: { configurable: !0 }, allowNewDotTarget: { configurable: !0 }, inClassStaticBlock: { configurable: !0 } };
26780
26780
  ds.prototype.parse = function() {
26781
26781
  var e = this.options.program || this.startNode();
26782
26782
  return this.nextToken(), this.parseTopLevel(e);
26783
26783
  };
26784
- pc.inFunction.get = function() {
26784
+ mc.inFunction.get = function() {
26785
26785
  return (this.currentVarScope().flags & up) > 0;
26786
26786
  };
26787
- pc.inGenerator.get = function() {
26787
+ mc.inGenerator.get = function() {
26788
26788
  return (this.currentVarScope().flags & nU) > 0 && !this.currentVarScope().inClassFieldInit;
26789
26789
  };
26790
- pc.inAsync.get = function() {
26790
+ mc.inAsync.get = function() {
26791
26791
  return (this.currentVarScope().flags & CT) > 0 && !this.currentVarScope().inClassFieldInit;
26792
26792
  };
26793
- pc.canAwait.get = function() {
26793
+ mc.canAwait.get = function() {
26794
26794
  for (var n = this.scopeStack.length - 1; n >= 0; n--) {
26795
26795
  var e = this.scopeStack[n];
26796
26796
  if (e.inClassFieldInit || e.flags & wv)
@@ -26800,21 +26800,21 @@ pc.canAwait.get = function() {
26800
26800
  }
26801
26801
  return this.inModule && this.options.ecmaVersion >= 13 || this.options.allowAwaitOutsideFunction;
26802
26802
  };
26803
- pc.allowSuper.get = function() {
26803
+ mc.allowSuper.get = function() {
26804
26804
  var n = this.currentThisScope(), e = n.flags, t = n.inClassFieldInit;
26805
26805
  return (e & ET) > 0 || t || this.options.allowSuperOutsideMethod;
26806
26806
  };
26807
- pc.allowDirectSuper.get = function() {
26807
+ mc.allowDirectSuper.get = function() {
26808
26808
  return (this.currentThisScope().flags & oU) > 0;
26809
26809
  };
26810
- pc.treatFunctionsAsVar.get = function() {
26810
+ mc.treatFunctionsAsVar.get = function() {
26811
26811
  return this.treatFunctionsAsVarInScope(this.currentScope());
26812
26812
  };
26813
- pc.allowNewDotTarget.get = function() {
26813
+ mc.allowNewDotTarget.get = function() {
26814
26814
  var n = this.currentThisScope(), e = n.flags, t = n.inClassFieldInit;
26815
26815
  return (e & (up | wv)) > 0 || t;
26816
26816
  };
26817
- pc.inClassStaticBlock.get = function() {
26817
+ mc.inClassStaticBlock.get = function() {
26818
26818
  return (this.currentVarScope().flags & wv) > 0;
26819
26819
  };
26820
26820
  ds.extend = function() {
@@ -26834,7 +26834,7 @@ ds.parseExpressionAt = function(e, t, i) {
26834
26834
  ds.tokenizer = function(e, t) {
26835
26835
  return new this(t, e);
26836
26836
  };
26837
- Object.defineProperties(ds.prototype, pc);
26837
+ Object.defineProperties(ds.prototype, mc);
26838
26838
  var yr = ds.prototype, _q = /^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/;
26839
26839
  yr.strictDirective = function(n) {
26840
26840
  if (this.options.ecmaVersion < 5)
@@ -26934,7 +26934,7 @@ Pt.isLet = function(n) {
26934
26934
  return !1;
26935
26935
  if (i === 123)
26936
26936
  return !0;
26937
- if (dl(i, !0)) {
26937
+ if (fl(i, !0)) {
26938
26938
  for (var s = t + 1; qf(i = this.input.charCodeAt(s), !0); )
26939
26939
  ++s;
26940
26940
  if (i === 92 || i > 55295 && i < 56320)
@@ -27063,7 +27063,7 @@ Pt.parseTryStatement = function(n) {
27063
27063
  if (this.next(), this.eat(k.parenL)) {
27064
27064
  e.param = this.parseBindingAtom();
27065
27065
  var t = e.param.type === "Identifier";
27066
- this.enterScope(t ? rU : 0), this.checkLValPattern(e.param, t ? cU : ol), this.expect(k.parenR);
27066
+ this.enterScope(t ? rU : 0), this.checkLValPattern(e.param, t ? cU : al), this.expect(k.parenR);
27067
27067
  } else
27068
27068
  this.options.ecmaVersion < 10 && this.unexpected(), e.param = null, this.enterScope(0);
27069
27069
  e.body = this.parseBlock(!1), this.exitScope(), n.handler = this.finishNode(e, "CatchClause");
@@ -27125,11 +27125,11 @@ Pt.parseVar = function(n, e, t) {
27125
27125
  return n;
27126
27126
  };
27127
27127
  Pt.parseVarId = function(n, e) {
27128
- n.id = this.parseBindingAtom(), this.checkLValPattern(n.id, e === "var" ? IT : ol, !1);
27128
+ n.id = this.parseBindingAtom(), this.checkLValPattern(n.id, e === "var" ? IT : al, !1);
27129
27129
  };
27130
27130
  var Ym = 1, NE = 2, hU = 4;
27131
27131
  Pt.parseFunction = function(n, e, t, i, s) {
27132
- this.initFunction(n), (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !i) && (this.type === k.star && e & NE && this.unexpected(), n.generator = this.eat(k.star)), this.options.ecmaVersion >= 8 && (n.async = !!i), e & Ym && (n.id = e & hU && this.type !== k.name ? null : this.parseIdent(), n.id && !(e & NE) && this.checkLValSimple(n.id, this.strict || n.generator || n.async ? this.treatFunctionsAsVar ? IT : ol : aU));
27132
+ this.initFunction(n), (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !i) && (this.type === k.star && e & NE && this.unexpected(), n.generator = this.eat(k.star)), this.options.ecmaVersion >= 8 && (n.async = !!i), e & Ym && (n.id = e & hU && this.type !== k.name ? null : this.parseIdent(), n.id && !(e & NE) && this.checkLValSimple(n.id, this.strict || n.generator || n.async ? this.treatFunctionsAsVar ? IT : al : aU));
27133
27133
  var r = this.yieldPos, o = this.awaitPos, a = this.awaitIdentPos;
27134
27134
  return this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(TT(n.async, n.generator)), e & Ym || (n.id = this.type === k.name ? this.parseIdent() : null), this.parseFunctionParams(n), this.parseFunctionBody(n, t, !1, s), this.yieldPos = r, this.awaitPos = o, this.awaitIdentPos = a, this.finishNode(n, e & Ym ? "FunctionDeclaration" : "FunctionExpression");
27135
27135
  };
@@ -27197,7 +27197,7 @@ Pt.parseClassStaticBlock = function(n) {
27197
27197
  return this.next(), this.exitScope(), this.labels = e, this.finishNode(n, "StaticBlock");
27198
27198
  };
27199
27199
  Pt.parseClassId = function(n, e) {
27200
- this.type === k.name ? (n.id = this.parseIdent(), e && this.checkLValSimple(n.id, ol, !1)) : (e === !0 && this.unexpected(), n.id = null);
27200
+ this.type === k.name ? (n.id = this.parseIdent(), e && this.checkLValSimple(n.id, al, !1)) : (e === !0 && this.unexpected(), n.id = null);
27201
27201
  };
27202
27202
  Pt.parseClassSuper = function(n) {
27203
27203
  n.superClass = this.eat(k._extends) ? this.parseExprSubscripts(!1) : null;
@@ -27305,12 +27305,12 @@ Pt.parseImportSpecifiers = function() {
27305
27305
  var n = [], e = !0;
27306
27306
  if (this.type === k.name) {
27307
27307
  var t = this.startNode();
27308
- if (t.local = this.parseIdent(), this.checkLValSimple(t.local, ol), n.push(this.finishNode(t, "ImportDefaultSpecifier")), !this.eat(k.comma))
27308
+ if (t.local = this.parseIdent(), this.checkLValSimple(t.local, al), n.push(this.finishNode(t, "ImportDefaultSpecifier")), !this.eat(k.comma))
27309
27309
  return n;
27310
27310
  }
27311
27311
  if (this.type === k.star) {
27312
27312
  var i = this.startNode();
27313
- return this.next(), this.expectContextual("as"), i.local = this.parseIdent(), this.checkLValSimple(i.local, ol), n.push(this.finishNode(i, "ImportNamespaceSpecifier")), n;
27313
+ return this.next(), this.expectContextual("as"), i.local = this.parseIdent(), this.checkLValSimple(i.local, al), n.push(this.finishNode(i, "ImportNamespaceSpecifier")), n;
27314
27314
  }
27315
27315
  for (this.expect(k.braceL); !this.eat(k.braceR); ) {
27316
27316
  if (e)
@@ -27318,7 +27318,7 @@ Pt.parseImportSpecifiers = function() {
27318
27318
  else if (this.expect(k.comma), this.afterTrailingComma(k.braceR))
27319
27319
  break;
27320
27320
  var s = this.startNode();
27321
- s.imported = this.parseModuleExportName(), this.eatContextual("as") ? s.local = this.parseIdent() : (this.checkUnreserved(s.imported), s.local = s.imported), this.checkLValSimple(s.local, ol), n.push(this.finishNode(s, "ImportSpecifier"));
27321
+ s.imported = this.parseModuleExportName(), this.eatContextual("as") ? s.local = this.parseIdent() : (this.checkUnreserved(s.imported), s.local = s.imported), this.checkLValSimple(s.local, al), n.push(this.finishNode(s, "ImportSpecifier"));
27322
27322
  }
27323
27323
  return n;
27324
27324
  };
@@ -27446,7 +27446,7 @@ Sa.checkLValSimple = function(n, e, t) {
27446
27446
  var i = e !== u_;
27447
27447
  switch (n.type) {
27448
27448
  case "Identifier":
27449
- this.strict && this.reservedWordsStrictBind.test(n.name) && this.raiseRecoverable(n.start, (i ? "Binding " : "Assigning to ") + n.name + " in strict mode"), i && (e === ol && n.name === "let" && this.raiseRecoverable(n.start, "let is disallowed as a lexically bound name"), t && (xv(t, n.name) && this.raiseRecoverable(n.start, "Argument name clash"), t[n.name] = !0), e !== lU && this.declareName(n.name, e, n.start));
27449
+ this.strict && this.reservedWordsStrictBind.test(n.name) && this.raiseRecoverable(n.start, (i ? "Binding " : "Assigning to ") + n.name + " in strict mode"), i && (e === al && n.name === "let" && this.raiseRecoverable(n.start, "let is disallowed as a lexically bound name"), t && (xv(t, n.name) && this.raiseRecoverable(n.start, "Argument name clash"), t[n.name] = !0), e !== lU && this.declareName(n.name, e, n.start));
27450
27450
  break;
27451
27451
  case "ChainExpression":
27452
27452
  this.raiseRecoverable(n.start, "Optional chaining cannot appear in left-hand side");
@@ -28030,7 +28030,7 @@ Ch.treatFunctionsAsVarInScope = function(n) {
28030
28030
  };
28031
28031
  Ch.declareName = function(n, e, t) {
28032
28032
  var i = !1;
28033
- if (e === ol) {
28033
+ if (e === al) {
28034
28034
  var s = this.currentScope();
28035
28035
  i = s.lexical.indexOf(n) > -1 || s.functions.indexOf(n) > -1 || s.var.indexOf(n) > -1, s.lexical.push(n), this.inModule && s.flags & zg && delete this.undefinedExports[n];
28036
28036
  } else if (e === cU) {
@@ -28412,7 +28412,7 @@ wt.regexp_eatRegExpIdentifierStart = function(n) {
28412
28412
  return n.advance(t), i === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(n, t) && (i = n.lastIntValue), Bq(i) ? (n.lastIntValue = i, !0) : (n.pos = e, !1);
28413
28413
  };
28414
28414
  function Bq(n) {
28415
- return dl(n, !0) || n === 36 || n === 95;
28415
+ return fl(n, !0) || n === 36 || n === 95;
28416
28416
  }
28417
28417
  wt.regexp_eatRegExpIdentifierPart = function(n) {
28418
28418
  var e = n.pos, t = this.options.ecmaVersion >= 11, i = n.current(t);
@@ -28767,7 +28767,7 @@ ci.nextToken = function() {
28767
28767
  this.readToken(this.fullCharCodeAtPos());
28768
28768
  };
28769
28769
  ci.readToken = function(n) {
28770
- return dl(n, this.options.ecmaVersion >= 6) || n === 92 ? this.readWord() : this.getTokenFromCode(n);
28770
+ return fl(n, this.options.ecmaVersion >= 6) || n === 92 ? this.readWord() : this.getTokenFromCode(n);
28771
28771
  };
28772
28772
  ci.fullCharCodeAtPos = function() {
28773
28773
  var n = this.input.charCodeAt(this.pos);
@@ -28908,7 +28908,7 @@ ci.readToken_question = function() {
28908
28908
  };
28909
28909
  ci.readToken_numberSign = function() {
28910
28910
  var n = this.options.ecmaVersion, e = 35;
28911
- if (n >= 13 && (++this.pos, e = this.fullCharCodeAtPos(), dl(e, !0) || e === 92))
28911
+ if (n >= 13 && (++this.pos, e = this.fullCharCodeAtPos(), fl(e, !0) || e === 92))
28912
28912
  return this.finishToken(k.privateId, this.readWord1());
28913
28913
  this.raise(this.pos, "Unexpected character '" + Ah(e) + "'");
28914
28914
  };
@@ -29046,7 +29046,7 @@ ci.readRadixNumber = function(n) {
29046
29046
  var e = this.pos;
29047
29047
  this.pos += 2;
29048
29048
  var t = this.readInt(n);
29049
- return t == null && this.raise(this.start + 2, "Expected number in radix " + n), this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110 ? (t = TU(this.input.slice(e, this.pos)), ++this.pos) : dl(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(k.num, t);
29049
+ return t == null && this.raise(this.start + 2, "Expected number in radix " + n), this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110 ? (t = TU(this.input.slice(e, this.pos)), ++this.pos) : fl(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(k.num, t);
29050
29050
  };
29051
29051
  ci.readNumber = function(n) {
29052
29052
  var e = this.pos;
@@ -29056,9 +29056,9 @@ ci.readNumber = function(n) {
29056
29056
  var i = this.input.charCodeAt(this.pos);
29057
29057
  if (!t && !n && this.options.ecmaVersion >= 11 && i === 110) {
29058
29058
  var s = TU(this.input.slice(e, this.pos));
29059
- return ++this.pos, dl(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(k.num, s);
29059
+ return ++this.pos, fl(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(k.num, s);
29060
29060
  }
29061
- t && /[89]/.test(this.input.slice(e, this.pos)) && (t = !1), i === 46 && !t && (++this.pos, this.readInt(10), i = this.input.charCodeAt(this.pos)), (i === 69 || i === 101) && !t && (i = this.input.charCodeAt(++this.pos), (i === 43 || i === 45) && ++this.pos, this.readInt(10) === null && this.raise(e, "Invalid number")), dl(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number");
29061
+ t && /[89]/.test(this.input.slice(e, this.pos)) && (t = !1), i === 46 && !t && (++this.pos, this.readInt(10), i = this.input.charCodeAt(this.pos)), (i === 69 || i === 101) && !t && (i = this.input.charCodeAt(++this.pos), (i === 43 || i === 45) && ++this.pos, this.readInt(10) === null && this.raise(e, "Invalid number")), fl(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number");
29062
29062
  var r = Fq(this.input.slice(e, this.pos), t);
29063
29063
  return this.finishToken(k.num, r);
29064
29064
  };
@@ -29201,7 +29201,7 @@ ci.readWord1 = function() {
29201
29201
  var r = this.pos;
29202
29202
  this.input.charCodeAt(++this.pos) !== 117 && this.invalidStringToken(this.pos, "Expecting Unicode escape sequence \\uXXXX"), ++this.pos;
29203
29203
  var o = this.readCodePoint();
29204
- (e ? dl : qf)(o, i) || this.invalidStringToken(r, "Invalid Unicode escape"), n += Ah(o), t = this.pos;
29204
+ (e ? fl : qf)(o, i) || this.invalidStringToken(r, "Invalid Unicode escape"), n += Ah(o), t = this.pos;
29205
29205
  } else
29206
29206
  break;
29207
29207
  e = !1;
@@ -29227,7 +29227,7 @@ ds.acorn = {
29227
29227
  TokContext: Ko,
29228
29228
  tokContexts: $i,
29229
29229
  isIdentifierChar: qf,
29230
- isIdentifierStart: dl,
29230
+ isIdentifierStart: fl,
29231
29231
  Token: PT,
29232
29232
  isNewLine: hp,
29233
29233
  lineBreak: Ho,
@@ -29273,7 +29273,7 @@ class Cv extends Xe.Object3D {
29273
29273
  fontCastShadow: { m: "castShadow" },
29274
29274
  fontReceiveShadow: { m: "receiveShadow" },
29275
29275
  renderOrder: { m: "renderOrder" }
29276
- }, this._children = t.children ? new t.children() : new Rc("children"), this._parent = new F9(), this.addEventListener("added", this._rebuildParentUI), this.addEventListener("removed", this._rebuildParentUI), this._backgroundSide = new IB("backgroundSide"), this._fontSide = new IB("fontSide"), this._backgroundAlphaTest = new TB("backgroundAlphaTest", 0.02), this._fontAlphaTest = new TB("fontAlphaTest", 0.02), this._visible = new u6("visible", !0), this._backgroundCastShadow = new dy("backgroundCastShadow"), this._fontCastShadow = new dy("fontCastShadow"), this._backgroundReceiveShadow = new dy("backgroundReceiveShadow"), this._fontReceiveShadow = new dy("fontReceiveShadow"), this._renderOrder = new T9(), this._segments = t.segments ? new t.segments() : new JF(), this._bounds = t.bounds ? new t.bounds() : new Rc("bounds"), this._order = new b6(), this._padding = new O9(), this._margin = new k9(), this._position = new kF(), this._flexDirection = t.flexDirection ? new t.flexDirection() : new mT(), this._justifyContent = t.justifyContent ? new t.justifyContent() : new gT(), this._alignItems = t.alignItems ? new t.alignItems() : new fT(), this._display = new q9("flex"), this._boxSizing = new J9("border-box"), this._width = new S6(), this._height = new C6(), this._backgroundColor = t.backgroundColor ? new t.backgroundColor() : new OF(), this._backgroundOpacity = new tS("backgroundOpacity", 0.5), this._backgroundImage = new e6(), this._backgroundSize = new i6("cover"), this._color = t.color ? new t.color() : new Ug("color", "inherit"), this._fontOpacity = new tS("fontOpacity", "inherit"), this._whiteSpace = t.whiteSpace ? new t.whiteSpace() : new XF(), this._fontFamily = t.fontFamily ? new t.fontFamily() : new WF(), this._fontStyle = t.fontStyle ? new t.fontStyle() : new UF("normal"), this._fontWeight = t.fontWeight ? new t.fontWeight() : new NF(), this._fontSize = t.fontSize ? new t.fontSize() : new sq(), this._lineHeight = t.lineHeight ? new t.lineHeight() : new qF(), this._fontKerning = t.fontKerning ? new t.fontKerning() : new Vb(), this._letterSpacing = t.letterSpacing ? new t.letterSpacing() : new YF(), this._overflow = new r6("visible"), this._borderRadius = new l6(0), this._borderWidth = new h6(0), this._borderColor = new Ug("borderColor", 16711935), this._borderOpacity = new tS("borderOpacity", 1), this._font = new Q9(), this._lineBreak = t.lineBreak ? new t.lineBreak() : new Rc("lineBreak"), this._textContent = t.textContent ? new t.textContent() : new FF(), this._glyphs = t.glyphs ? new t.glyphs() : new Rc("glyphs"), this._inlines = t.inlines ? new t.inlines() : new Rc("inlines"), this._layouter = t.layouter ? new t.layouter() : new Rc("layouter"), this._inlineJustificator = new d6(), this._textAlign = t.textAlign ? new t.textAlign() : new pT(), this._autoSize = t.autoSize ? new t.autoSize() : new Rc("autoSize"), this._renderer = t.renderer ? new t.renderer() : new Rc("renderer"), this._offset = new I9(), this._invertAlpha = new rq(), this._fontSmooth = t.fontSmooth ? new t.fontSmooth() : new R9(), this._components = [
29276
+ }, this._children = t.children ? new t.children() : new Bc("children"), this._parent = new F9(), this.addEventListener("added", this._rebuildParentUI), this.addEventListener("removed", this._rebuildParentUI), this._backgroundSide = new IB("backgroundSide"), this._fontSide = new IB("fontSide"), this._backgroundAlphaTest = new TB("backgroundAlphaTest", 0.02), this._fontAlphaTest = new TB("fontAlphaTest", 0.02), this._visible = new u6("visible", !0), this._backgroundCastShadow = new dy("backgroundCastShadow"), this._fontCastShadow = new dy("fontCastShadow"), this._backgroundReceiveShadow = new dy("backgroundReceiveShadow"), this._fontReceiveShadow = new dy("fontReceiveShadow"), this._renderOrder = new T9(), this._segments = t.segments ? new t.segments() : new JF(), this._bounds = t.bounds ? new t.bounds() : new Bc("bounds"), this._order = new b6(), this._padding = new O9(), this._margin = new k9(), this._position = new kF(), this._flexDirection = t.flexDirection ? new t.flexDirection() : new mT(), this._justifyContent = t.justifyContent ? new t.justifyContent() : new gT(), this._alignItems = t.alignItems ? new t.alignItems() : new fT(), this._display = new q9("flex"), this._boxSizing = new J9("border-box"), this._width = new S6(), this._height = new C6(), this._backgroundColor = t.backgroundColor ? new t.backgroundColor() : new OF(), this._backgroundOpacity = new tS("backgroundOpacity", 0.5), this._backgroundImage = new e6(), this._backgroundSize = new i6("cover"), this._color = t.color ? new t.color() : new Ug("color", "inherit"), this._fontOpacity = new tS("fontOpacity", "inherit"), this._whiteSpace = t.whiteSpace ? new t.whiteSpace() : new XF(), this._fontFamily = t.fontFamily ? new t.fontFamily() : new WF(), this._fontStyle = t.fontStyle ? new t.fontStyle() : new UF("normal"), this._fontWeight = t.fontWeight ? new t.fontWeight() : new NF(), this._fontSize = t.fontSize ? new t.fontSize() : new sq(), this._lineHeight = t.lineHeight ? new t.lineHeight() : new qF(), this._fontKerning = t.fontKerning ? new t.fontKerning() : new Vb(), this._letterSpacing = t.letterSpacing ? new t.letterSpacing() : new YF(), this._overflow = new r6("visible"), this._borderRadius = new l6(0), this._borderWidth = new h6(0), this._borderColor = new Ug("borderColor", 16711935), this._borderOpacity = new tS("borderOpacity", 1), this._font = new Q9(), this._lineBreak = t.lineBreak ? new t.lineBreak() : new Bc("lineBreak"), this._textContent = t.textContent ? new t.textContent() : new FF(), this._glyphs = t.glyphs ? new t.glyphs() : new Bc("glyphs"), this._inlines = t.inlines ? new t.inlines() : new Bc("inlines"), this._layouter = t.layouter ? new t.layouter() : new Bc("layouter"), this._inlineJustificator = new d6(), this._textAlign = t.textAlign ? new t.textAlign() : new pT(), this._autoSize = t.autoSize ? new t.autoSize() : new Bc("autoSize"), this._renderer = t.renderer ? new t.renderer() : new Bc("renderer"), this._offset = new I9(), this._invertAlpha = new rq(), this._fontSmooth = t.fontSmooth ? new t.fontSmooth() : new R9(), this._components = [
29277
29277
  this._textContent,
29278
29278
  this._children,
29279
29279
  this._parent,
@@ -30936,32 +30936,32 @@ class DU extends Xe.Mesh {
30936
30936
  if (s = t.width ? t.width : 1, r = t.height ? t.height : 1, t.top) {
30937
30937
  if (t.left) {
30938
30938
  const f = new Xe.PlaneGeometry(t.left * s, t.top * r, 1, 1);
30939
- Ec(f, 0, t.left, 1 - t.top, 1), f.translate(t.left * s / 2, -t.top * r / 2, 0), i.topLeft = f;
30939
+ Tc(f, 0, t.left, 1 - t.top, 1), f.translate(t.left * s / 2, -t.top * r / 2, 0), i.topLeft = f;
30940
30940
  }
30941
30941
  const d = new Xe.PlaneGeometry(1, t.top * r, 1, 1);
30942
- if (Ec(d, t.left, 1 - t.right, 1 - t.top, 1), d.translate(0, -t.top * r / 2, 0), i.top = d, t.right) {
30942
+ if (Tc(d, t.left, 1 - t.right, 1 - t.top, 1), d.translate(0, -t.top * r / 2, 0), i.top = d, t.right) {
30943
30943
  const f = new Xe.PlaneGeometry(t.right * s, t.top * r, 1, 1);
30944
- Ec(f, 1 - t.right, 1, 1 - t.top, 1), f.translate(-t.right * s / 2, -t.top * r / 2, 0), i.topRight = f;
30944
+ Tc(f, 1 - t.right, 1, 1 - t.top, 1), f.translate(-t.right * s / 2, -t.top * r / 2, 0), i.topRight = f;
30945
30945
  }
30946
30946
  }
30947
30947
  if (t.left) {
30948
30948
  const d = new Xe.PlaneGeometry(t.left * s, 1, 1, 1);
30949
- Ec(d, 0, t.left, t.bottom, 1 - t.top), d.translate(t.left * s / 2, 0, 0), i.left = d;
30949
+ Tc(d, 0, t.left, t.bottom, 1 - t.top), d.translate(t.left * s / 2, 0, 0), i.left = d;
30950
30950
  }
30951
30951
  const h = new Xe.PlaneGeometry(1, 1, 1, 1);
30952
- if (Ec(h, t.left, 1 - t.right, t.bottom, 1 - t.top), i.middle = h, t.right) {
30952
+ if (Tc(h, t.left, 1 - t.right, t.bottom, 1 - t.top), i.middle = h, t.right) {
30953
30953
  const d = new Xe.PlaneGeometry(t.right * s, 1, 1, 1);
30954
- Ec(d, 1 - t.right, 1, t.bottom, 1 - t.top), d.translate(-t.right * s / 2, 0, 0), i.right = d;
30954
+ Tc(d, 1 - t.right, 1, t.bottom, 1 - t.top), d.translate(-t.right * s / 2, 0, 0), i.right = d;
30955
30955
  }
30956
30956
  if (t.bottom) {
30957
30957
  if (t.left) {
30958
30958
  const f = new Xe.PlaneGeometry(t.left * s, t.bottom * r, 1, 1);
30959
- Ec(f, 0, t.left, 0, t.bottom), f.translate(t.left * s / 2, t.bottom * r / 2, 0), i.bottomLeft = f;
30959
+ Tc(f, 0, t.left, 0, t.bottom), f.translate(t.left * s / 2, t.bottom * r / 2, 0), i.bottomLeft = f;
30960
30960
  }
30961
30961
  const d = new Xe.PlaneGeometry(1, t.bottom * r, 1, 1);
30962
- if (Ec(d, t.left, 1 - t.right, 0, t.bottom), d.translate(0, t.bottom * r / 2, 0), i.bottom = d, t.right) {
30962
+ if (Tc(d, t.left, 1 - t.right, 0, t.bottom), d.translate(0, t.bottom * r / 2, 0), i.bottom = d, t.right) {
30963
30963
  const f = new Xe.PlaneGeometry(t.right * s, t.bottom * r, 1, 1);
30964
- Ec(f, 1 - t.right, 1, 0, t.bottom), f.translate(-t.right * s / 2, t.bottom * r / 2, 0), i.bottomRight = f;
30964
+ Tc(f, 1 - t.right, 1, 0, t.bottom), f.translate(-t.right * s / 2, t.bottom * r / 2, 0), i.bottomRight = f;
30965
30965
  }
30966
30966
  }
30967
30967
  }
@@ -31016,7 +31016,7 @@ const xX = {
31016
31016
  bottom: { x: 1 },
31017
31017
  middle: { x: 1, y: 1 }
31018
31018
  };
31019
- function Ec(n, e, t, i, s) {
31019
+ function Tc(n, e, t, i, s) {
31020
31020
  const r = t - e, o = s - i, a = n.attributes.uv;
31021
31021
  for (let l = 0; l < a.count; l++) {
31022
31022
  const h = a.getX(l), d = a.getY(l);
@@ -32412,12 +32412,12 @@ function Bu(n, e) {
32412
32412
  return !0;
32413
32413
  }
32414
32414
  const $U = oe("debugdefines");
32415
- qb('if(!globalThis[""3.32.5-alpha""]) globalThis[""3.32.5-alpha""] = "0.0.0";');
32415
+ qb('if(!globalThis[""3.32.6-alpha""]) globalThis[""3.32.6-alpha""] = "0.0.0";');
32416
32416
  qb('if(!globalThis[""undefined""]) globalThis[""undefined""] = "unknown";');
32417
- qb('globalThis["__NEEDLE_ENGINE_VERSION__"] = "3.32.5-alpha";');
32417
+ qb('globalThis["__NEEDLE_ENGINE_VERSION__"] = "3.32.6-alpha";');
32418
32418
  qb('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";');
32419
- const Zc = "3.32.5-alpha", VT = "undefined";
32420
- $U && console.log(`Engine version: ${Zc} (generator: ${VT})`);
32419
+ const el = "3.32.6-alpha", VT = "undefined";
32420
+ $U && console.log(`Engine version: ${el} (generator: ${VT})`);
32421
32421
  const lh = "needle_isActiveInHierarchy", tf = "builtin_components", m0 = "needle_editor_guid";
32422
32422
  function qb(n) {
32423
32423
  try {
@@ -32455,13 +32455,13 @@ The script will be ignored. Please make sure your component extends "Behaviour"
32455
32455
  }
32456
32456
  t.context = n, Jm(t.gameObject), HT(t, n);
32457
32457
  } catch (t) {
32458
- console.error(t), jc(Xi[e], n), Xi.splice(e, 1), e--;
32458
+ console.error(t), qc(Xi[e], n), Xi.splice(e, 1), e--;
32459
32459
  }
32460
32460
  for (let e = 0; e < Xi.length; e++)
32461
32461
  try {
32462
32462
  const t = Xi[e];
32463
32463
  if (t.destroyed) {
32464
- jc(Xi[e], n), Xi.splice(e, 1), e--;
32464
+ qc(Xi[e], n), Xi.splice(e, 1), e--;
32465
32465
  continue;
32466
32466
  }
32467
32467
  if (t.registering)
@@ -32472,7 +32472,7 @@ The script will be ignored. Please make sure your component extends "Behaviour"
32472
32472
  }
32473
32473
  t.__internalAwake !== void 0 && (t.gameObject || console.error("MISSING GAMEOBJECT", t, t.gameObject), Jm(t.gameObject), t.activeAndEnabled && Bu(t.__internalAwake.bind(t)));
32474
32474
  } catch (t) {
32475
- console.error(t), jc(Xi[e], n), Xi.splice(e, 1), e--;
32475
+ console.error(t), qc(Xi[e], n), Xi.splice(e, 1), e--;
32476
32476
  }
32477
32477
  for (let e = 0; e < Xi.length; e++)
32478
32478
  try {
@@ -32481,7 +32481,7 @@ The script will be ignored. Please make sure your component extends "Behaviour"
32481
32481
  continue;
32482
32482
  t.__internalEnable !== void 0 && (t.enabled = !0, Bu(t.__internalEnable.bind(t)));
32483
32483
  } catch (t) {
32484
- console.error(t), jc(Xi[e], n), Xi.splice(e, 1), e--;
32484
+ console.error(t), qc(Xi[e], n), Xi.splice(e, 1), e--;
32485
32485
  }
32486
32486
  for (let e = 0; e < Xi.length; e++)
32487
32487
  try {
@@ -32490,7 +32490,7 @@ The script will be ignored. Please make sure your component extends "Behaviour"
32490
32490
  continue;
32491
32491
  n.new_script_start.push(t);
32492
32492
  } catch (t) {
32493
- console.error(t), jc(Xi[e], n), Xi.splice(e, 1), e--;
32493
+ console.error(t), qc(Xi[e], n), Xi.splice(e, 1), e--;
32494
32494
  }
32495
32495
  Xi.length = 0;
32496
32496
  for (const e of n.new_scripts_post_setup_callbacks)
@@ -32499,7 +32499,7 @@ The script will be ignored. Please make sure your component extends "Behaviour"
32499
32499
  }
32500
32500
  }
32501
32501
  function DY(n) {
32502
- n && (n.__internalDisable(!0), jc(n, n.context));
32502
+ n && (n.__internalDisable(!0), qc(n, n.context));
32503
32503
  }
32504
32504
  function eN(n, e) {
32505
32505
  for (let t = 0; t < n.new_script_start.length; t++)
@@ -32509,13 +32509,13 @@ function eN(n, e) {
32509
32509
  continue;
32510
32510
  Bu(i.__internalAwake.bind(i)), i.enabled && (Bu(i.__internalEnable.bind(i)), Bu(i.__internalStart.bind(i)), n.new_script_start.splice(t, 1), t--);
32511
32511
  } catch (i) {
32512
- console.error(i), jc(n.new_script_start[t], n), n.new_script_start.splice(t, 1), t--;
32512
+ console.error(i), qc(n.new_script_start[t], n), n.new_script_start.splice(t, 1), t--;
32513
32513
  }
32514
32514
  }
32515
32515
  function HT(n, e) {
32516
32516
  e.scripts.indexOf(n) === -1 && (e.scripts.push(n), n.earlyUpdate && e.scripts_earlyUpdate.push(n), n.update && e.scripts_update.push(n), n.lateUpdate && e.scripts_lateUpdate.push(n), n.onBeforeRender && e.scripts_onBeforeRender.push(n), n.onAfterRender && e.scripts_onAfterRender.push(n), n.onPausedChanged && e.scripts_pausedChanged.push(n), lS(n, null) && e.new_scripts_xr.push(n), lS(n, "immersive-vr") && e.scripts_immersive_vr.push(n), lS(n, "immersive-ar") && e.scripts_immersive_ar.push(n));
32517
32517
  }
32518
- function jc(n, e) {
32518
+ function qc(n, e) {
32519
32519
  xo(n, e.new_scripts), xo(n, e.new_script_start), xo(n, e.scripts), xo(n, e.scripts_earlyUpdate), xo(n, e.scripts_update), xo(n, e.scripts_lateUpdate), xo(n, e.scripts_onBeforeRender), xo(n, e.scripts_onAfterRender), xo(n, e.scripts_pausedChanged), xo(n, e.new_scripts_xr), xo(n, e.scripts_immersive_vr), xo(n, e.scripts_immersive_ar), e.stopAllCoroutinesFrom(n);
32520
32520
  }
32521
32521
  function xo(n, e) {
@@ -32752,7 +32752,7 @@ function QT(n, e, t = !0) {
32752
32752
  if (!n)
32753
32753
  return;
32754
32754
  const i = n;
32755
- if (uc(n, t), !e) {
32755
+ if (dc(n, t), !e) {
32756
32756
  console.warn("Can not send destroy: No networking connection provided", n.guid);
32757
32757
  return;
32758
32758
  }
@@ -32776,7 +32776,7 @@ function YY(n) {
32776
32776
  n.connection.beginListen("instance-destroyed", (e) => {
32777
32777
  v_ && console.log("[Remote] Destroyed", n.scene, e);
32778
32778
  const t = ex(e.guid, n.scene);
32779
- t && uc(t);
32779
+ t && dc(t);
32780
32780
  });
32781
32781
  }
32782
32782
  class Pue {
@@ -32835,14 +32835,14 @@ function KY(n) {
32835
32835
  console.warn("could not find object that was instantiated: " + e.guid);
32836
32836
  return;
32837
32837
  }
32838
- const i = new fl();
32838
+ const i = new gc();
32839
32839
  e.position && (i.position = new w(e.position.x, e.position.y, e.position.z)), e.rotation && (i.rotation = new Te(e.rotation.x, e.rotation.y, e.rotation.z, e.rotation.w)), e.scale && (i.scale = new w(e.scale.x, e.scale.y, e.scale.z)), i.parent = e.parent, e.seed && (i.idProvider = new Rs(e.seed)), i.visible = e.visible, i.context = n, v_ && n.alias && console.log("[Remote] instantiate in: " + n.alias);
32840
32840
  const s = tx(t, i);
32841
32841
  s && (e.parent === "scene" && n.scene.add(s), v_ && console.log("[Remote] new instance", "gameobject:", s == null ? void 0 : s.guid, t));
32842
32842
  });
32843
32843
  }
32844
32844
  function ZY(n, e) {
32845
- const t = jT(), i = e ?? new fl();
32845
+ const t = jT(), i = e ?? new gc();
32846
32846
  i.idProvider = new Rs(t);
32847
32847
  const s = tx(n, i);
32848
32848
  return { seed: t, instance: s };
@@ -32984,7 +32984,7 @@ function o7(n) {
32984
32984
  const e = n.gameObject.userData.components.indexOf(n);
32985
32985
  n.gameObject.userData.components.splice(e, 1);
32986
32986
  }
32987
- n.__internalDisable && n.__internalDisable(), jc(n, n.context ?? Dt.Current), n.destroy(), n.gameObject = null;
32987
+ n.__internalDisable && n.__internalDisable(), qc(n, n.context ?? Dt.Current), n.destroy(), n.gameObject = null;
32988
32988
  }
32989
32989
  let jB = !1;
32990
32990
  function dN(n, e, t) {
@@ -33307,7 +33307,7 @@ class XT extends ge {
33307
33307
  const A = new xn(75e-4, 75e-4, 0.5, 3);
33308
33308
  A.translate(0, 0.25, 0);
33309
33309
  function _(V, O) {
33310
- const U = new Qc(V, 75e-4, 3, 64, O * Math.PI * 2);
33310
+ const U = new Wc(V, 75e-4, 3, 64, O * Math.PI * 2);
33311
33311
  return U.rotateY(Math.PI / 2), U.rotateX(Math.PI / 2), U;
33312
33312
  }
33313
33313
  function b() {
@@ -33331,7 +33331,7 @@ class XT extends ge {
33331
33331
  [new me(A, a), null, [Math.PI / 2, 0, 0]]
33332
33332
  ],
33333
33333
  XYZ: [
33334
- [new me(new Jc(0.1, 0), d.clone()), [0, 0, 0]]
33334
+ [new me(new Zc(0.1, 0), d.clone()), [0, 0, 0]]
33335
33335
  ],
33336
33336
  XY: [
33337
33337
  [new me(new Vi(0.15, 0.15, 0.01), h.clone()), [0.15, 0.15, 0]]
@@ -33356,7 +33356,7 @@ class XT extends ge {
33356
33356
  [new me(new xn(0.2, 0, 0.6, 4), i), [0, 0, -0.3], [-Math.PI / 2, 0, 0]]
33357
33357
  ],
33358
33358
  XYZ: [
33359
- [new me(new Jc(0.2, 0), i)]
33359
+ [new me(new Zc(0.2, 0), i)]
33360
33360
  ],
33361
33361
  XY: [
33362
33362
  [new me(new Vi(0.2, 0.2, 0.01), i), [0.15, 0.15, 0]]
@@ -33369,10 +33369,10 @@ class XT extends ge {
33369
33369
  ]
33370
33370
  }, T = {
33371
33371
  START: [
33372
- [new me(new Jc(0.01, 2), s), null, null, null, "helper"]
33372
+ [new me(new Zc(0.01, 2), s), null, null, null, "helper"]
33373
33373
  ],
33374
33374
  END: [
33375
- [new me(new Jc(0.01, 2), s), null, null, null, "helper"]
33375
+ [new me(new Zc(0.01, 2), s), null, null, null, "helper"]
33376
33376
  ],
33377
33377
  DELTA: [
33378
33378
  [new Sn(b(), s), null, null, null, "helper"]
@@ -33411,16 +33411,16 @@ class XT extends ge {
33411
33411
  [new me(new xa(0.25, 10, 8), i)]
33412
33412
  ],
33413
33413
  X: [
33414
- [new me(new Qc(0.5, 0.1, 4, 24), i), [0, 0, 0], [0, -Math.PI / 2, -Math.PI / 2]]
33414
+ [new me(new Wc(0.5, 0.1, 4, 24), i), [0, 0, 0], [0, -Math.PI / 2, -Math.PI / 2]]
33415
33415
  ],
33416
33416
  Y: [
33417
- [new me(new Qc(0.5, 0.1, 4, 24), i), [0, 0, 0], [Math.PI / 2, 0, 0]]
33417
+ [new me(new Wc(0.5, 0.1, 4, 24), i), [0, 0, 0], [Math.PI / 2, 0, 0]]
33418
33418
  ],
33419
33419
  Z: [
33420
- [new me(new Qc(0.5, 0.1, 4, 24), i), [0, 0, 0], [0, 0, -Math.PI / 2]]
33420
+ [new me(new Wc(0.5, 0.1, 4, 24), i), [0, 0, 0], [0, 0, -Math.PI / 2]]
33421
33421
  ],
33422
33422
  E: [
33423
- [new me(new Qc(0.75, 0.1, 2, 24), i)]
33423
+ [new me(new Wc(0.75, 0.1, 2, 24), i)]
33424
33424
  ]
33425
33425
  }, D = {
33426
33426
  X: [
@@ -33574,7 +33574,7 @@ ge.prototype.setActive = function(n) {
33574
33574
  this.visible = n;
33575
33575
  };
33576
33576
  ge.prototype.destroy = function() {
33577
- uc(this);
33577
+ dc(this);
33578
33578
  };
33579
33579
  ge.prototype.addComponent = function(n) {
33580
33580
  return uN(this, n);
@@ -33668,7 +33668,7 @@ Object.getOwnPropertyDescriptor(ge.prototype, "worldUp") || Object.definePropert
33668
33668
  });
33669
33669
  i7(ge);
33670
33670
  const jg = Symbol("NEEDLE_NEED_UPDATE_INSTANCE"), fN = Symbol("isUsingInstancing"), pN = Symbol("instancingRenderer"), QE = Symbol("instancingAutoUpdateBounds");
33671
- class ac {
33671
+ class cc {
33672
33672
  /** Is this object rendered using a InstancedMesh */
33673
33673
  static isUsingInstancing(e) {
33674
33674
  return e[fN] === !0;
@@ -33680,7 +33680,7 @@ class ac {
33680
33680
  return e[pN] || null;
33681
33681
  }
33682
33682
  setAutoUpdateBounds(e, t) {
33683
- const i = ac.getRenderer(e);
33683
+ const i = cc.getRenderer(e);
33684
33684
  i && (i[QE] = t);
33685
33685
  }
33686
33686
  // TODO: change this so it does not set matrix world directly but some flag that is only used by instancing
@@ -33688,7 +33688,7 @@ class ac {
33688
33688
  static markDirty(e, t = !0) {
33689
33689
  if (e && (this.isUsingInstancing(e) && (e[jg] = !0, e.matrixWorldNeedsUpdate = !0), t))
33690
33690
  for (const i of e.children)
33691
- ac.markDirty(i, !0);
33691
+ cc.markDirty(i, !0);
33692
33692
  }
33693
33693
  }
33694
33694
  const Mv = oe("gizmos"), qs = oe("debugextension"), y_ = oe("debugresolvedependencies"), g7 = ["/extensions/", "extensions/"], v7 = [
@@ -33843,7 +33843,7 @@ class x7 {
33843
33843
  return null;
33844
33844
  }
33845
33845
  }
33846
- const zc = oe("debugserializer");
33846
+ const Vc = oe("debugserializer");
33847
33847
  class w7 {
33848
33848
  constructor() {
33849
33849
  u(this, "typeMap", {});
@@ -33854,7 +33854,7 @@ class w7 {
33854
33854
  return;
33855
33855
  console.warn("Type " + e + " is already registered", t, this.typeMap[e]);
33856
33856
  }
33857
- zc && console.log("Register type serializer for " + e, t), this.typeMap[e] = t;
33857
+ Vc && console.log("Register type serializer for " + e, t), this.typeMap[e] = t;
33858
33858
  }
33859
33859
  getSerializer(e) {
33860
33860
  if (e)
@@ -33865,27 +33865,27 @@ class w7 {
33865
33865
  if (t > 20)
33866
33866
  return;
33867
33867
  if (!e || !e.constructor) {
33868
- zc && console.log("invalid type");
33868
+ Vc && console.log("invalid type");
33869
33869
  return;
33870
33870
  }
33871
33871
  const i = e.name ?? ((c = e.constructor) == null ? void 0 : c.name);
33872
33872
  if (!i) {
33873
- zc && console.log("invalid name", i);
33873
+ Vc && console.log("invalid name", i);
33874
33874
  return;
33875
33875
  }
33876
33876
  const s = this.getSerializer(i);
33877
33877
  if (s !== void 0)
33878
- return zc && console.log("FOUND " + i, e.name, e.constructor.name, s, this.typeMap), s;
33878
+ return Vc && console.log("FOUND " + i, e.name, e.constructor.name, s, this.typeMap), s;
33879
33879
  const r = Object.getPrototypeOf(e);
33880
33880
  if (!(r.prototype || r.constructor)) {
33881
- zc && console.warn("No prototype for " + i, e, e.name, e.prototype, e.constructor.name);
33881
+ Vc && console.warn("No prototype for " + i, e, e.name, e.prototype, e.constructor.name);
33882
33882
  return;
33883
33883
  }
33884
33884
  const a = r.prototype ?? r.constructor;
33885
33885
  if (a !== e) {
33886
33886
  const l = this.getSerializerForConstructor(a, ++t);
33887
33887
  if (l) {
33888
- zc && console.log("FOUND " + a.constructor.name, a.name, a, l);
33888
+ Vc && console.log("FOUND " + a.constructor.name, a.name, a, l);
33889
33889
  const h = a.name ?? a.constructor.name;
33890
33890
  h === "Function" ? console.error("Registering Function is not allowed, something went wrong", e, a, l) : this.register(h, l);
33891
33891
  }
@@ -33991,7 +33991,7 @@ function qE(n, e, t) {
33991
33991
  return h ? XE(a, h, t, void 0, n[s]) : XE(a, c, t, void 0, n[s]);
33992
33992
  };
33993
33993
  const o = i[s], a = e[s];
33994
- if (zc && console.log(s, a, n, o), !(n[s] !== void 0 && a === void 0) && (t.type = void 0, t.path = s, t.serializable = o, !(n.onBeforeDeserializeMember !== void 0 && n.onBeforeDeserializeMember(s, a, t) === !0))) {
33994
+ if (Vc && console.log(s, a, n, o), !(n[s] !== void 0 && a === void 0) && (t.type = void 0, t.path = s, t.serializable = o, !(n.onBeforeDeserializeMember !== void 0 && n.onBeforeDeserializeMember(s, a, t) === !0))) {
33995
33995
  if (o === null)
33996
33996
  n[s] = a;
33997
33997
  else {
@@ -34029,7 +34029,7 @@ function M7(n, e, t) {
34029
34029
  const c = e[o];
34030
34030
  if ((t == null ? void 0 : t.getDefinedKey(i, o)) === !1) {
34031
34031
  const l = o.charAt(0).toUpperCase() + o.slice(1);
34032
- t.getDefinedKey(i, l) && (sl(da.Warn, '<strong>Please rename</strong> "' + l + '" to "' + o + '" in ' + i), console.warn('Please use lowercase for field: "' + l + '" in ' + i, c, n));
34032
+ t.getDefinedKey(i, l) && (rl(da.Warn, '<strong>Please rename</strong> "' + l + '" to "' + o + '" in ' + i), console.warn('Please use lowercase for field: "' + l + '" in ' + i, c, n));
34033
34033
  continue;
34034
34034
  }
34035
34035
  if (c != null) {
@@ -34037,7 +34037,7 @@ function M7(n, e, t) {
34037
34037
  if (c.could_not_resolve)
34038
34038
  continue;
34039
34039
  if (!(a !== void 0 && Object.keys(a).length > 1)) {
34040
- sl(da.Warn, `<strong>Missing serialization for object reference!</strong>
34040
+ rl(da.Warn, `<strong>Missing serialization for object reference!</strong>
34041
34041
 
34042
34042
  Please change to:
34043
34043
  @serializable(Object3D)
@@ -34049,7 +34049,7 @@ in script ${i}.ts
34049
34049
  }
34050
34050
  }
34051
34051
  if (typeof a == "string" && (c.endsWith(".gltf") || c.endsWith(".glb"))) {
34052
- sl(da.Warn, `<strong>Missing serialization for object reference!</strong>
34052
+ rl(da.Warn, `<strong>Missing serialization for object reference!</strong>
34053
34053
 
34054
34054
  Please change to:
34055
34055
  @serializable(AssetReference)
@@ -34068,14 +34068,14 @@ function T7(n, e) {
34068
34068
  if (typeof i == "object" && i !== null && i !== void 0) {
34069
34069
  const s = n[t];
34070
34070
  if (!s) {
34071
- zc && console.log(t, "is undefined on", n);
34071
+ Vc && console.log(t, "is undefined on", n);
34072
34072
  continue;
34073
34073
  }
34074
34074
  for (const r of Object.keys(i))
34075
34075
  if (s[r] === void 0 && tD(i[r]) && !tD(s)) {
34076
34076
  const a = I7(s, r);
34077
34077
  if (a && ((a == null ? void 0 : a.writable) === void 0 || (a == null ? void 0 : a.writable) === !1) && a.set === void 0) {
34078
- zc && console.warn('Property is not writable "' + r + '"', s, a, i[r], s[r]);
34078
+ Vc && console.warn('Property is not writable "' + r + '"', s, a, i[r], s[r]);
34079
34079
  continue;
34080
34080
  }
34081
34081
  s[r] = i[r];
@@ -34378,7 +34378,7 @@ function Wi(n) {
34378
34378
  }
34379
34379
  }
34380
34380
  function Nd(n) {
34381
- n && ((Du || yN() || $b) && console.warn("🧨 FREE", n), n instanceof ImageBitmap ? n.close() : n instanceof Yc ? n.data = null : n.dispose());
34381
+ n && ((Du || yN() || $b) && console.warn("🧨 FREE", n), n instanceof ImageBitmap ? n.close() : n instanceof Kc ? n.data = null : n.dispose());
34382
34382
  }
34383
34383
  function F7(n) {
34384
34384
  (n instanceof me || n instanceof ha) && (n.material = null, n.geometry = null);
@@ -34455,7 +34455,7 @@ try {
34455
34455
  }
34456
34456
  const _0 = oe("debuggetcomponent"), b0 = oe("debuginstantiate");
34457
34457
  var z7 = /* @__PURE__ */ ((n) => (n[n.None = 0] = "None", n[n.HideInHierarchy = 1] = "HideInHierarchy", n[n.HideInInspector = 2] = "HideInInspector", n[n.DontSaveInEditor = 4] = "DontSaveInEditor", n[n.NotEditable = 8] = "NotEditable", n[n.DontSaveInBuild = 16] = "DontSaveInBuild", n[n.DontUnloadUnusedAsset = 32] = "DontUnloadUnusedAsset", n[n.DontSave = 52] = "DontSave", n[n.HideAndDontSave = 61] = "HideAndDontSave", n))(z7 || {});
34458
- class fl {
34458
+ class gc {
34459
34459
  constructor() {
34460
34460
  u(this, "idProvider");
34461
34461
  u(this, "parent");
@@ -34466,6 +34466,16 @@ class fl {
34466
34466
  u(this, "visible");
34467
34467
  u(this, "context");
34468
34468
  }
34469
+ clone() {
34470
+ var t, i, s;
34471
+ const e = new gc();
34472
+ return e.idProvider = this.idProvider, e.parent = this.parent, e.keepWorldPosition = this.keepWorldPosition, e.position = (t = this.position) == null ? void 0 : t.clone(), e.rotation = (i = this.rotation) == null ? void 0 : i.clone(), e.scale = (s = this.scale) == null ? void 0 : s.clone(), e;
34473
+ }
34474
+ /** Copy fields from another object, clone field references */
34475
+ cloneAssign(e) {
34476
+ var t, i, s;
34477
+ this.idProvider = e.idProvider, this.parent = e.parent, this.keepWorldPosition = e.keepWorldPosition, this.position = (t = e.position) == null ? void 0 : t.clone(), this.rotation = (i = e.rotation) == null ? void 0 : i.clone(), this.scale = (s = e.scale) == null ? void 0 : s.clone();
34478
+ }
34469
34479
  }
34470
34480
  function Tv(n) {
34471
34481
  return n.visible;
@@ -34480,7 +34490,7 @@ function V7(n, e) {
34480
34490
  n[fN] = e;
34481
34491
  }
34482
34492
  function $T(n) {
34483
- return ac.isUsingInstancing(n);
34493
+ return cc.isUsingInstancing(n);
34484
34494
  }
34485
34495
  function ex(n, e) {
34486
34496
  return Fg(n, e, !0, !0);
@@ -34492,7 +34502,7 @@ function Jf(n) {
34492
34502
  function H7(n, e) {
34493
34503
  n[SN] = e;
34494
34504
  }
34495
- function uc(n, e = !0, t = !1) {
34505
+ function dc(n, e = !0, t = !1) {
34496
34506
  const i = [];
34497
34507
  CN(n, e, t, !0, i);
34498
34508
  for (const s of i)
@@ -34569,7 +34579,7 @@ function tx(n, e = null) {
34569
34579
  if (n === null)
34570
34580
  return null;
34571
34581
  let t = null;
34572
- e !== null && (e.x !== void 0 ? (t = new fl(), t.position = e) : t = e);
34582
+ e !== null && (e.x !== void 0 ? (t = new gc(), t.position = e) : t = e), console.log(t == null ? void 0 : t.position);
34573
34583
  let i = Dt.Current;
34574
34584
  t != null && t.context && (i = t.context), _0 && i.alias && console.log("context", i.alias), t && !t.idProvider && (t.idProvider = new Rs(Date.now()));
34575
34585
  const s = [], r = {}, o = {}, a = TN(i, n, t, s, r, o);
@@ -35347,13 +35357,13 @@ class sJ {
35347
35357
  u(this, "isUp", !1);
35348
35358
  }
35349
35359
  }
35350
- const gS = 2, Ya = 4, Wc = 4, eI = 4, Xl = new Int32Array(2), oD = new Float32Array(Xl.buffer), aD = new Float64Array(Xl.buffer), Ay = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;
35351
- class al {
35360
+ const gS = 2, Ya = 4, Xc = 4, eI = 4, Xl = new Int32Array(2), oD = new Float32Array(Xl.buffer), aD = new Float64Array(Xl.buffer), Ay = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;
35361
+ class cl {
35352
35362
  constructor(e, t) {
35353
35363
  this.low = e | 0, this.high = t | 0;
35354
35364
  }
35355
35365
  static create(e, t) {
35356
- return e == 0 && t == 0 ? al.ZERO : new al(e, t);
35366
+ return e == 0 && t == 0 ? cl.ZERO : new cl(e, t);
35357
35367
  }
35358
35368
  toFloat64() {
35359
35369
  return (this.low >>> 0) + this.high * 4294967296;
@@ -35362,7 +35372,7 @@ class al {
35362
35372
  return this.low == e.low && this.high == e.high;
35363
35373
  }
35364
35374
  }
35365
- al.ZERO = new al(0, 0);
35375
+ cl.ZERO = new cl(0, 0);
35366
35376
  var ZE;
35367
35377
  (function(n) {
35368
35378
  n[n.UTF8_BYTES = 1] = "UTF8_BYTES", n[n.UTF16_STRING = 2] = "UTF16_STRING";
@@ -35426,10 +35436,10 @@ class qg {
35426
35436
  return this.readInt32(e) >>> 0;
35427
35437
  }
35428
35438
  readInt64(e) {
35429
- return new al(this.readInt32(e), this.readInt32(e + 4));
35439
+ return new cl(this.readInt32(e), this.readInt32(e + 4));
35430
35440
  }
35431
35441
  readUint64(e) {
35432
- return new al(this.readUint32(e), this.readUint32(e + 4));
35442
+ return new cl(this.readUint32(e), this.readUint32(e + 4));
35433
35443
  }
35434
35444
  readFloat32(e) {
35435
35445
  return Xl[0] = this.readInt32(e), oD[0];
@@ -35473,10 +35483,10 @@ class qg {
35473
35483
  * start of a the root vtable).
35474
35484
  */
35475
35485
  getBufferIdentifier() {
35476
- if (this.bytes_.length < this.position_ + Ya + Wc)
35486
+ if (this.bytes_.length < this.position_ + Ya + Xc)
35477
35487
  throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");
35478
35488
  let e = "";
35479
- for (let t = 0; t < Wc; t++)
35489
+ for (let t = 0; t < Xc; t++)
35480
35490
  e += String.fromCharCode(this.readInt8(this.position_ + Ya + t));
35481
35491
  return e;
35482
35492
  }
@@ -35564,9 +35574,9 @@ class qg {
35564
35574
  return this.readInt32(e + this.readInt32(e));
35565
35575
  }
35566
35576
  __has_identifier(e) {
35567
- if (e.length != Wc)
35568
- throw new Error("FlatBuffers: file identifier must be length " + Wc);
35569
- for (let t = 0; t < Wc; t++)
35577
+ if (e.length != Xc)
35578
+ throw new Error("FlatBuffers: file identifier must be length " + Xc);
35579
+ for (let t = 0; t < Xc; t++)
35570
35580
  if (e.charCodeAt(t) != this.readInt8(this.position() + Ya + t))
35571
35581
  return !1;
35572
35582
  return !0;
@@ -35575,7 +35585,7 @@ class qg {
35575
35585
  * A helper function to avoid generated code depending on this file directly.
35576
35586
  */
35577
35587
  createLong(e, t) {
35578
- return al.create(e, t);
35588
+ return cl.create(e, t);
35579
35589
  }
35580
35590
  /**
35581
35591
  * A helper function for generating list for obj api
@@ -35856,9 +35866,9 @@ class Iv {
35856
35866
  const s = i ? eI : 0;
35857
35867
  if (t) {
35858
35868
  const r = t;
35859
- if (this.prep(this.minalign, Ya + Wc + s), r.length != Wc)
35860
- throw new Error("FlatBuffers: file identifier must be length " + Wc);
35861
- for (let o = Wc - 1; o >= 0; o--)
35869
+ if (this.prep(this.minalign, Ya + Xc + s), r.length != Xc)
35870
+ throw new Error("FlatBuffers: file identifier must be length " + Xc);
35871
+ for (let o = Xc - 1; o >= 0; o--)
35862
35872
  this.writeInt8(r.charCodeAt(o));
35863
35873
  }
35864
35874
  this.prep(this.minalign, Ya + s), this.addOffset(e), s && this.addInt32(this.bb.capacity() - this.space), this.bb.setPosition(this.space);
@@ -35952,7 +35962,7 @@ class Iv {
35952
35962
  * A helper function to avoid generated code depending on this file directly.
35953
35963
  */
35954
35964
  createLong(e, t) {
35955
- return al.create(e, t);
35965
+ return cl.create(e, t);
35956
35966
  }
35957
35967
  /**
35958
35968
  * A helper function to pack an object
@@ -38987,7 +38997,7 @@ function wJ({ window: n } = {}, e = {
38987
38997
  return s;
38988
38998
  }
38989
38999
  const yD = wJ({ window: typeof window > "u" ? void 0 : window });
38990
- function mc(n, e, t, i) {
39000
+ function vc(n, e, t, i) {
38991
39001
  Object.defineProperty(n, e, { get: t, set: i, enumerable: !0, configurable: !0 });
38992
39002
  }
38993
39003
  var AS = (
@@ -39126,7 +39136,7 @@ var AS = (
39126
39136
  }, n;
39127
39137
  }()
39128
39138
  ), wi = new SJ(), v3 = {};
39129
- mc(v3, "Peer", () => a1, (n) => a1 = n);
39139
+ vc(v3, "Peer", () => a1, (n) => a1 = n);
39130
39140
  var Rv = {}, CJ = Object.prototype.hasOwnProperty, Ar = "~";
39131
39141
  function Xg() {
39132
39142
  }
@@ -39253,8 +39263,8 @@ Ks.prefixed = Ar;
39253
39263
  Ks.EventEmitter = Ks;
39254
39264
  Rv = Ks;
39255
39265
  var ht = {};
39256
- mc(ht, "LogLevel", () => Br, (n) => Br = n);
39257
- mc(ht, "default", () => bD, (n) => bD = n);
39266
+ vc(ht, "LogLevel", () => Br, (n) => Br = n);
39267
+ vc(ht, "default", () => bD, (n) => bD = n);
39258
39268
  var Wh = function(n, e) {
39259
39269
  var t = typeof Symbol == "function" && n[Symbol.iterator];
39260
39270
  if (!t)
@@ -39336,7 +39346,7 @@ var TJ = (
39336
39346
  }, n;
39337
39347
  }()
39338
39348
  ), bD = new TJ(), y3 = {};
39339
- mc(y3, "Socket", () => xD, (n) => xD = n);
39349
+ vc(y3, "Socket", () => xD, (n) => xD = n);
39340
39350
  var ia;
39341
39351
  (function(n) {
39342
39352
  n.Data = "data", n.Media = "media";
@@ -39345,14 +39355,14 @@ var wn;
39345
39355
  (function(n) {
39346
39356
  n.BrowserIncompatible = "browser-incompatible", n.Disconnected = "disconnected", n.InvalidID = "invalid-id", n.InvalidKey = "invalid-key", n.Network = "network", n.PeerUnavailable = "peer-unavailable", n.SslUnavailable = "ssl-unavailable", n.ServerError = "server-error", n.SocketError = "socket-error", n.SocketClosed = "socket-closed", n.UnavailableID = "unavailable-id", n.WebRTC = "webrtc";
39347
39357
  })(wn || (wn = {}));
39348
- var Nc;
39358
+ var Gc;
39349
39359
  (function(n) {
39350
39360
  n.Binary = "binary", n.BinaryUTF8 = "binary-utf8", n.JSON = "json";
39351
- })(Nc || (Nc = {}));
39352
- var $c;
39361
+ })(Gc || (Gc = {}));
39362
+ var tl;
39353
39363
  (function(n) {
39354
39364
  n.Message = "message", n.Disconnected = "disconnected", n.Error = "error", n.Close = "close";
39355
- })($c || ($c = {}));
39365
+ })(tl || (tl = {}));
39356
39366
  var Ms;
39357
39367
  (function(n) {
39358
39368
  n.Heartbeat = "HEARTBEAT", n.Candidate = "CANDIDATE", n.Offer = "OFFER", n.Answer = "ANSWER", n.Open = "OPEN", n.Error = "ERROR", n.IdTaken = "ID-TAKEN", n.InvalidKey = "INVALID-KEY", n.Leave = "LEAVE", n.Expire = "EXPIRE";
@@ -39442,9 +39452,9 @@ var IJ = function() {
39442
39452
  ht.default.log("Invalid server message", o.data);
39443
39453
  return;
39444
39454
  }
39445
- s.emit($c.Message, a);
39455
+ s.emit(tl.Message, a);
39446
39456
  }, this._socket.onclose = function(o) {
39447
- s._disconnected || (ht.default.log("Socket closed.", o), s._cleanup(), s._disconnected = !0, s.emit($c.Disconnected));
39457
+ s._disconnected || (ht.default.log("Socket closed.", o), s._cleanup(), s._disconnected = !0, s.emit(tl.Disconnected));
39448
39458
  }, this._socket.onopen = function() {
39449
39459
  s._disconnected || (s._sendQueuedMessages(), ht.default.log("Socket open"), s._scheduleHeartbeat());
39450
39460
  });
@@ -39491,7 +39501,7 @@ var IJ = function() {
39491
39501
  return;
39492
39502
  }
39493
39503
  if (!t.type) {
39494
- this.emit($c.Error, "Invalid message");
39504
+ this.emit(tl.Error, "Invalid message");
39495
39505
  return;
39496
39506
  }
39497
39507
  if (this._wsOpen()) {
@@ -39506,9 +39516,9 @@ var IJ = function() {
39506
39516
  }, e;
39507
39517
  }(Rv.EventEmitter)
39508
39518
  ), r1 = {};
39509
- mc(r1, "MediaConnection", () => CD, (n) => CD = n);
39519
+ vc(r1, "MediaConnection", () => CD, (n) => CD = n);
39510
39520
  var nI = {};
39511
- mc(nI, "Negotiator", () => wD, (n) => wD = n);
39521
+ vc(nI, "Negotiator", () => wD, (n) => wD = n);
39512
39522
  var w_ = function() {
39513
39523
  return w_ = Object.assign || function(n) {
39514
39524
  for (var e, t = 1, i = arguments.length; t < i; t++) {
@@ -39941,7 +39951,7 @@ var w_ = function() {
39941
39951
  }, n;
39942
39952
  }()
39943
39953
  ), sI = {};
39944
- mc(sI, "BaseConnection", () => SD, (n) => SD = n);
39954
+ vc(sI, "BaseConnection", () => SD, (n) => SD = n);
39945
39955
  var DJ = function() {
39946
39956
  var n = function(e, t) {
39947
39957
  return n = Object.setPrototypeOf || {
@@ -40098,9 +40108,9 @@ var DJ = function() {
40098
40108
  }, e.ID_PREFIX = "mc_", e;
40099
40109
  }(sI.BaseConnection)
40100
40110
  ), o1 = {};
40101
- mc(o1, "DataConnection", () => MD, (n) => MD = n);
40111
+ vc(o1, "DataConnection", () => MD, (n) => MD = n);
40102
40112
  var _3 = {};
40103
- mc(_3, "EncodingQueue", () => ED, (n) => ED = n);
40113
+ vc(_3, "EncodingQueue", () => ED, (n) => ED = n);
40104
40114
  var LJ = function() {
40105
40115
  var n = function(e, t) {
40106
40116
  return n = Object.setPrototypeOf || {
@@ -40199,7 +40209,7 @@ var LJ = function() {
40199
40209
  FJ(e, n);
40200
40210
  function e(t, i, s) {
40201
40211
  var r = n.call(this, t, i, s) || this;
40202
- return r.stringify = JSON.stringify, r.parse = JSON.parse, r._buffer = [], r._bufferSize = 0, r._buffering = !1, r._chunkedData = {}, r._encodingQueue = new _3.EncodingQueue(), r.connectionId = r.options.connectionId || e.ID_PREFIX + wi.randomToken(), r.label = r.options.label || r.connectionId, r.serialization = r.options.serialization || Nc.Binary, r.reliable = !!r.options.reliable, r._encodingQueue.on("done", function(o) {
40212
+ return r.stringify = JSON.stringify, r.parse = JSON.parse, r._buffer = [], r._bufferSize = 0, r._buffering = !1, r._chunkedData = {}, r._encodingQueue = new _3.EncodingQueue(), r.connectionId = r.options.connectionId || e.ID_PREFIX + wi.randomToken(), r.label = r.options.label || r.connectionId, r.serialization = r.options.serialization || Gc.Binary, r.reliable = !!r.options.reliable, r._encodingQueue.on("done", function(o) {
40203
40213
  r._bufferedSend(o);
40204
40214
  }), r._encodingQueue.on("error", function() {
40205
40215
  ht.default.error("DC#".concat(r.connectionId, ": Error occured in encoding from blob to arraybuffer, close DC")), r.close();
@@ -40237,7 +40247,7 @@ var LJ = function() {
40237
40247
  ht.default.log("DC#".concat(t.connectionId, " dc closed for:"), t.peer), t.close();
40238
40248
  };
40239
40249
  }, e.prototype._handleDataMessage = function(t) {
40240
- var i = this, s = t.data, r = s.constructor, o = this.serialization === Nc.Binary || this.serialization === Nc.BinaryUTF8, a = s;
40250
+ var i = this, s = t.data, r = s.constructor, o = this.serialization === Gc.Binary || this.serialization === Gc.BinaryUTF8, a = s;
40241
40251
  if (o) {
40242
40252
  if (r === Blob) {
40243
40253
  wi.blobToArrayBuffer(s, function(l) {
@@ -40252,7 +40262,7 @@ var LJ = function() {
40252
40262
  a = wi.unpack(c);
40253
40263
  }
40254
40264
  } else
40255
- this.serialization === Nc.JSON && (a = this.parse(s));
40265
+ this.serialization === Gc.JSON && (a = this.parse(s));
40256
40266
  if (a.__peerData) {
40257
40267
  this._handleChunk(a);
40258
40268
  return;
@@ -40278,9 +40288,9 @@ var LJ = function() {
40278
40288
  n.prototype.emit.call(this, "error", new Error("Connection is not open. You should listen for the `open` event before sending messages."));
40279
40289
  return;
40280
40290
  }
40281
- if (this.serialization === Nc.JSON)
40291
+ if (this.serialization === Gc.JSON)
40282
40292
  this._bufferedSend(this.stringify(t));
40283
- else if (this.serialization === Nc.Binary || this.serialization === Nc.BinaryUTF8) {
40293
+ else if (this.serialization === Gc.Binary || this.serialization === Gc.BinaryUTF8) {
40284
40294
  var s = wi.pack(t);
40285
40295
  if (!i && s.size > wi.chunkedMTU) {
40286
40296
  this._sendChunks(s);
@@ -40346,7 +40356,7 @@ var LJ = function() {
40346
40356
  }, e.ID_PREFIX = "dc_", e.MAX_BUFFERED_AMOUNT = 8388608, e;
40347
40357
  }(sI.BaseConnection)
40348
40358
  ), b3 = {};
40349
- mc(b3, "API", () => RD, (n) => RD = n);
40359
+ vc(b3, "API", () => RD, (n) => RD = n);
40350
40360
  var TD = function(n, e, t, i) {
40351
40361
  function s(r) {
40352
40362
  return r instanceof t ? r : new t(function(o) {
@@ -40703,13 +40713,13 @@ var TD = function(n, e, t, i) {
40703
40713
  configurable: !0
40704
40714
  }), e.prototype._createServerConnection = function() {
40705
40715
  var t = this, i = new y3.Socket(this._options.secure, this._options.host, this._options.port, this._options.path, this._options.key, this._options.pingInterval);
40706
- return i.on($c.Message, function(s) {
40716
+ return i.on(tl.Message, function(s) {
40707
40717
  t._handleMessage(s);
40708
- }), i.on($c.Error, function(s) {
40718
+ }), i.on(tl.Error, function(s) {
40709
40719
  t._abort(wn.SocketError, s);
40710
- }), i.on($c.Disconnected, function() {
40720
+ }), i.on(tl.Disconnected, function() {
40711
40721
  t.disconnected || (t.emitError(wn.Network, "Lost connection to server."), t.disconnect());
40712
- }), i.on($c.Close, function() {
40722
+ }), i.on(tl.Close, function() {
40713
40723
  t.disconnected || t._abort(wn.SocketClosed, "Underlying socket is already closed.");
40714
40724
  }), i;
40715
40725
  }, e.prototype._initialize = function(t) {
@@ -42660,7 +42670,7 @@ async function cK(n, e) {
42660
42670
  return c;
42661
42671
  }
42662
42672
  let T3, LD = null;
42663
- function dc() {
42673
+ function fc() {
42664
42674
  return T3;
42665
42675
  }
42666
42676
  function I3(n) {
@@ -42751,7 +42761,7 @@ const _S = Symbol("assetReference"), Sf = class {
42751
42761
  }
42752
42762
  /** frees previously allocated memory and destroys the current `asset` instance (if any) */
42753
42763
  unload() {
42754
- this.asset && (Nl && console.log("Unload", this.asset), this.asset.scene && uc(this.asset.scene, !0, !0), uc(this.asset, !0, !0)), this.asset = null, this._rawBinary = void 0, this._glbRoot = null, this._loading = void 0, Dt.Current && Dt.Current.addressables.unregisterAssetReference(this);
42764
+ this.asset && (Nl && console.log("Unload", this.asset), this.asset.scene && dc(this.asset.scene, !0, !0), dc(this.asset, !0, !0)), this.asset = null, this._rawBinary = void 0, this._glbRoot = null, this._loading = void 0, Dt.Current && Dt.Current.addressables.unregisterAssetReference(this);
42755
42765
  }
42756
42766
  /** loads the asset binary without creating an instance */
42757
42767
  async preload() {
@@ -42775,7 +42785,7 @@ const _S = Symbol("assetReference"), Sf = class {
42775
42785
  if (e && this._progressListeners.push(e), this._loading !== void 0)
42776
42786
  return this._loading.then((s) => this.asset);
42777
42787
  const t = Dt.Current;
42778
- this._rawBinary ? (this._loading = dc().parseSync(t, this._rawBinary, this.uri, null), this.raiseProgressEvent(new ProgressEvent("progress", { loaded: this._rawBinary.byteLength, total: this._rawBinary.byteLength }))) : (Nl && console.log("Load async", this.uri), this._loading = dc().loadSync(t, this._hashedUri, this.uri, null, (s) => {
42788
+ this._rawBinary ? (this._loading = fc().parseSync(t, this._rawBinary, this.uri, null), this.raiseProgressEvent(new ProgressEvent("progress", { loaded: this._rawBinary.byteLength, total: this._rawBinary.byteLength }))) : (Nl && console.log("Load async", this.uri), this._loading = fc().loadSync(t, this._hashedUri, this.uri, null, (s) => {
42779
42789
  this.raiseProgressEvent(s);
42780
42790
  }));
42781
42791
  const i = await this._loading;
@@ -42802,11 +42812,9 @@ const _S = Symbol("assetReference"), Sf = class {
42802
42812
  t(this, e);
42803
42813
  }
42804
42814
  async onInstantiate(e, t = !1, i) {
42805
- const s = Dt.Current;
42806
- if (this.mustLoad && await this.loadAssetAsync(), Nl && console.log("Instantiate", this.uri, "parent:", e), this.asset) {
42815
+ const s = Dt.Current, r = new gc();
42816
+ if (e instanceof ge ? r.parent = e : e && r.cloneAssign(e), r.parent || (r.parent = s.scene), this.mustLoad && await this.loadAssetAsync(), Nl && console.log("Instantiate", this.uri, "parent:", e), this.asset) {
42807
42817
  Nl && console.log("Add to scene", this.asset);
42808
- let r = e instanceof fl ? e : null;
42809
- r || (r = new fl()), typeof e == "object" && (e instanceof ge ? r.parent = e : Object.assign(r, e)), r.parent || (r.parent = s.scene);
42810
42818
  let o = Sf.currentlyInstantiating.get(this.uri);
42811
42819
  if (o !== void 0 && o >= 1e4)
42812
42820
  return console.error("Recursive or too many instantiations of " + this.uri + " in the same frame (" + o + ")"), null;
@@ -42894,7 +42902,7 @@ const uK = Promise.resolve(null), vg = class {
42894
42902
  return e.src = this.url, e;
42895
42903
  }
42896
42904
  createTexture() {
42897
- return this.url ? (this.loader || (this.loader = new nl()), this.loader.setCrossOrigin("anonymous"), this.loader.loadAsync(this.url)) : uK;
42905
+ return this.url ? (this.loader || (this.loader = new sl()), this.loader.setCrossOrigin("anonymous"), this.loader.loadAsync(this.url)) : uK;
42898
42906
  }
42899
42907
  /** Loads the bitmap data of the image */
42900
42908
  getBitmap() {
@@ -42941,7 +42949,7 @@ class fK {
42941
42949
  }
42942
42950
  }
42943
42951
  }
42944
- const or = new w(), FD = new w(), UD = new Te(), pK = oe("debuggizmos"), Mc = 8947848, $o = class {
42952
+ const or = new w(), FD = new w(), UD = new Te(), pK = oe("debuggizmos"), Ic = 8947848, $o = class {
42945
42953
  /**
42946
42954
  * Returns true if a given object is a gizmo
42947
42955
  */
@@ -42956,53 +42964,53 @@ const or = new w(), FD = new w(), UD = new Te(), pK = oe("debuggizmos"), Mc = 89
42956
42964
  var h;
42957
42965
  if (!$o.enabled)
42958
42966
  return null;
42959
- r || (r = Mc);
42967
+ r || (r = Ic);
42960
42968
  const c = ((h = Et.active) == null ? void 0 : h.rigScale) ?? 1, l = Fn.getTextLabel(s, t, i * c, r, o);
42961
42969
  return a instanceof ge && a.add(l), l.position.x = e.x, l.position.y = e.y, l.position.z = e.z, l;
42962
42970
  }
42963
- static DrawRay(e, t, i = Mc, s = 0, r = !0) {
42971
+ static DrawRay(e, t, i = Ic, s = 0, r = !0) {
42964
42972
  if (!$o.enabled)
42965
42973
  return;
42966
42974
  const o = Fn.getLine(s), a = o.geometry.getAttribute("position");
42967
42975
  a.setXYZ(0, e.x, e.y, e.z), or.set(t.x, t.y, t.z).multiplyScalar(999999999), a.setXYZ(1, e.x + or.x, e.y + or.y, e.z + or.z), a.needsUpdate = !0, o.material.color.set(i), o.material.depthTest = r, o.material.depthWrite = !1;
42968
42976
  }
42969
- static DrawDirection(e, t, i = Mc, s = 0, r = !0, o = 1) {
42977
+ static DrawDirection(e, t, i = Ic, s = 0, r = !0, o = 1) {
42970
42978
  if (!$o.enabled)
42971
42979
  return;
42972
42980
  const a = Fn.getLine(s), c = a.geometry.getAttribute("position");
42973
42981
  c.setXYZ(0, e.x, e.y, e.z), t.w !== void 0 ? (or.set(0, 0, -o), UD.set(t.x, t.y, t.z, t.w), or.applyQuaternion(UD)) : (or.set(t.x, t.y, t.z), or.multiplyScalar(o)), c.setXYZ(1, e.x + or.x, e.y + or.y, e.z + or.z), c.needsUpdate = !0, a.material.color.set(i), a.material.depthTest = r, a.material.depthWrite = !1;
42974
42982
  }
42975
- static DrawLine(e, t, i = Mc, s = 0, r = !0) {
42983
+ static DrawLine(e, t, i = Ic, s = 0, r = !0) {
42976
42984
  if (!$o.enabled)
42977
42985
  return;
42978
42986
  const o = Fn.getLine(s), a = o.geometry.getAttribute("position");
42979
42987
  a.setXYZ(0, e.x, e.y, e.z), a.setXYZ(1, t.x, t.y, t.z), a.needsUpdate = !0, o.material.color.set(i), o.material.depthTest = r, o.material.depthWrite = !1;
42980
42988
  }
42981
- static DrawWireSphere(e, t, i = Mc, s = 0, r = !0) {
42989
+ static DrawWireSphere(e, t, i = Ic, s = 0, r = !0) {
42982
42990
  if (!$o.enabled)
42983
42991
  return;
42984
42992
  const o = Fn.getSphere(t, s, !0);
42985
42993
  jf(o, e.x, e.y, e.z), o.material.color.set(i), o.material.depthTest = r, o.material.depthWrite = !1;
42986
42994
  }
42987
- static DrawSphere(e, t, i = Mc, s = 0, r = !0) {
42995
+ static DrawSphere(e, t, i = Ic, s = 0, r = !0) {
42988
42996
  if (!$o.enabled)
42989
42997
  return;
42990
42998
  const o = Fn.getSphere(t, s, !1);
42991
42999
  jf(o, e.x, e.y, e.z), o.material.color.set(i), o.material.depthTest = r, o.material.depthWrite = !1;
42992
43000
  }
42993
- static DrawWireBox(e, t, i = Mc, s = 0, r = !0) {
43001
+ static DrawWireBox(e, t, i = Ic, s = 0, r = !0) {
42994
43002
  if (!$o.enabled)
42995
43003
  return;
42996
43004
  const o = Fn.getBox(s);
42997
43005
  o.position.set(e.x, e.y, e.z), o.scale.set(t.x, t.y, t.z), o.material.color.set(i), o.material.depthTest = r, o.material.wireframe = !0, o.material.depthWrite = !1;
42998
43006
  }
42999
- static DrawWireBox3(e, t = Mc, i = 0, s = !0) {
43007
+ static DrawWireBox3(e, t = Ic, i = 0, s = !0) {
43000
43008
  if (!$o.enabled)
43001
43009
  return;
43002
43010
  const r = Fn.getBox(i);
43003
43011
  r.position.copy(e.getCenter(or)), r.scale.copy(e.getSize(or)), r.material.color.set(t), r.material.depthTest = s, r.material.wireframe = !0, r.material.depthWrite = !1;
43004
43012
  }
43005
- static DrawArrow(e, t, i = Mc, s = 0, r = !0, o = !1) {
43013
+ static DrawArrow(e, t, i = Ic, s = 0, r = !0, o = !1) {
43006
43014
  if (!$o.enabled)
43007
43015
  return;
43008
43016
  const a = Fn.getArrowHead(s);
@@ -43569,10 +43577,10 @@ vec4 maxValue=texture2D(inputBuffer,vUv);for(int i=0;i<8;++i){vec4 kernel=kernel
43569
43577
  ESKIL: 1
43570
43578
  }, D3 = Number(bh.replace(/\D+/g, "")), O3 = D3 >= 152, xK = /* @__PURE__ */ new Map([
43571
43579
  [hv, sx],
43572
- [sc, Oi]
43580
+ [rc, Oi]
43573
43581
  ]), wK = /* @__PURE__ */ new Map([
43574
43582
  [sx, hv],
43575
- [Oi, sc]
43583
+ [Oi, rc]
43576
43584
  ]);
43577
43585
  function ml(n) {
43578
43586
  return n === null ? null : O3 ? n.outputColorSpace : xK.get(n.outputEncoding);
@@ -48224,7 +48232,7 @@ var HD = class extends er {
48224
48232
  */
48225
48233
  createDepthTexture() {
48226
48234
  const n = this.depthTexture = new rp();
48227
- return this.inputBuffer.depthTexture = n, this.inputBuffer.dispose(), this.inputBuffer.stencilBuffer ? (n.format = mh, n.type = il) : n.type = oa, n;
48235
+ return this.inputBuffer.depthTexture = n, this.inputBuffer.dispose(), this.inputBuffer.stencilBuffer ? (n.format = mh, n.type = nl) : n.type = oa, n;
48228
48236
  }
48229
48237
  /**
48230
48238
  * Deletes the current depth texture.
@@ -51536,7 +51544,7 @@ for (var qi = 0; qi < 32768; ++qi) {
51536
51544
  var Vl = (qi & 43690) >>> 1 | (qi & 21845) << 1;
51537
51545
  Vl = (Vl & 52428) >>> 2 | (Vl & 13107) << 2, Vl = (Vl & 61680) >>> 4 | (Vl & 3855) << 4, g1[qi] = ((Vl & 65280) >>> 8 | (Vl & 255) << 8) >>> 1;
51538
51546
  }
51539
- var cc = function(n, e, t) {
51547
+ var lc = function(n, e, t) {
51540
51548
  for (var i = n.length, s = 0, r = new mr(e); s < i; ++s)
51541
51549
  ++r[n[s] - 1];
51542
51550
  var o = new mr(e);
@@ -51566,7 +51574,7 @@ for (var qi = 280; qi < 288; ++qi)
51566
51574
  var Jg = new Nn(32);
51567
51575
  for (var qi = 0; qi < 32; ++qi)
51568
51576
  Jg[qi] = 5;
51569
- var T$ = /* @__PURE__ */ cc(yh, 9, 0), I$ = /* @__PURE__ */ cc(yh, 9, 1), R$ = /* @__PURE__ */ cc(Jg, 5, 0), P$ = /* @__PURE__ */ cc(Jg, 5, 1), CS = function(n) {
51577
+ var T$ = /* @__PURE__ */ lc(yh, 9, 0), I$ = /* @__PURE__ */ lc(yh, 9, 1), R$ = /* @__PURE__ */ lc(Jg, 5, 0), P$ = /* @__PURE__ */ lc(Jg, 5, 1), CS = function(n) {
51570
51578
  for (var e = n[0], t = 1; t < n.length; ++t)
51571
51579
  n[t] > e && (e = n[t]);
51572
51580
  return e;
@@ -51608,7 +51616,7 @@ var T$ = /* @__PURE__ */ cc(yh, 9, 0), I$ = /* @__PURE__ */ cc(yh, 9, 1), R$ = /
51608
51616
  for (var E = new Nn(C), T = new Nn(19), I = 0; I < b; ++I)
51609
51617
  T[p1[I]] = Yo(n, c + I * 3, 7);
51610
51618
  c += b * 3;
51611
- for (var S = CS(T), M = (1 << S) - 1, D = cc(T, S, 1), I = 0; I < C; ) {
51619
+ for (var S = CS(T), M = (1 << S) - 1, D = lc(T, S, 1), I = 0; I < C; ) {
51612
51620
  var G = D[Yo(n, c, M)];
51613
51621
  c += G & 15;
51614
51622
  var y = G >>> 4;
@@ -51621,7 +51629,7 @@ var T$ = /* @__PURE__ */ cc(yh, 9, 0), I$ = /* @__PURE__ */ cc(yh, 9, 1), R$ = /
51621
51629
  }
51622
51630
  }
51623
51631
  var V = E.subarray(0, _), O = E.subarray(_);
51624
- f = CS(V), p = CS(O), h = cc(V, f, 1), d = cc(O, p, 1);
51632
+ f = CS(V), p = CS(O), h = lc(V, f, 1), d = lc(O, p, 1);
51625
51633
  } else
51626
51634
  throw "invalid block type";
51627
51635
  else {
@@ -51684,7 +51692,7 @@ var T$ = /* @__PURE__ */ cc(yh, 9, 0), I$ = /* @__PURE__ */ cc(yh, 9, 1), R$ = /
51684
51692
  t.l = h, t.p = J, t.b = l, h && (a = 1, t.m = f, t.d = d, t.n = p);
51685
51693
  } while (!a);
51686
51694
  return l == e.length ? e : fI(e, 0, l);
51687
- }, Tc = function(n, e, t) {
51695
+ }, Rc = function(n, e, t) {
51688
51696
  t <<= e & 7;
51689
51697
  var i = e / 8 | 0;
51690
51698
  n[i] |= t, n[i + 1] |= t >>> 8;
@@ -51769,7 +51777,7 @@ var T$ = /* @__PURE__ */ cc(yh, 9, 0), I$ = /* @__PURE__ */ cc(yh, 9, 1), R$ = /
51769
51777
  n[s + r + 4] = t[r];
51770
51778
  return (s + 4 + i) * 8;
51771
51779
  }, $D = function(n, e, t, i, s, r, o, a, c, l, h) {
51772
- Tc(e, h++, t), ++s[256];
51780
+ Rc(e, h++, t), ++s[256];
51773
51781
  for (var d = MS(s, 15), f = d[0], p = d[1], m = MS(r, 15), v = m[0], y = m[1], g = ZD(f), A = g[0], _ = g[1], b = ZD(v), C = b[0], E = b[1], T = new mr(19), I = 0; I < A.length; ++I)
51774
51782
  T[A[I] & 31]++;
51775
51783
  for (var I = 0; I < C.length; ++I)
@@ -51780,24 +51788,24 @@ var T$ = /* @__PURE__ */ cc(yh, 9, 0), I$ = /* @__PURE__ */ cc(yh, 9, 1), R$ = /
51780
51788
  if (Q <= L && Q <= V)
51781
51789
  return M0(e, h, n.subarray(c, c + l));
51782
51790
  var O, U, H, J;
51783
- if (Tc(e, h, 1 + (V < L)), h += 2, V < L) {
51784
- O = cc(f, p, 0), U = f, H = cc(v, y, 0), J = v;
51785
- var K = cc(M, D, 0);
51786
- Tc(e, h, _ - 257), Tc(e, h + 5, E - 1), Tc(e, h + 10, G - 4), h += 14;
51791
+ if (Rc(e, h, 1 + (V < L)), h += 2, V < L) {
51792
+ O = lc(f, p, 0), U = f, H = lc(v, y, 0), J = v;
51793
+ var K = lc(M, D, 0);
51794
+ Rc(e, h, _ - 257), Rc(e, h + 5, E - 1), Rc(e, h + 10, G - 4), h += 14;
51787
51795
  for (var I = 0; I < G; ++I)
51788
- Tc(e, h + 3 * I, M[p1[I]]);
51796
+ Rc(e, h + 3 * I, M[p1[I]]);
51789
51797
  h += 3 * G;
51790
51798
  for (var se = [A, C], fe = 0; fe < 2; ++fe)
51791
51799
  for (var be = se[fe], I = 0; I < be.length; ++I) {
51792
51800
  var ke = be[I] & 31;
51793
- Tc(e, h, K[ke]), h += M[ke], ke > 15 && (Tc(e, h, be[I] >>> 5 & 127), h += be[I] >>> 12);
51801
+ Rc(e, h, K[ke]), h += M[ke], ke > 15 && (Rc(e, h, be[I] >>> 5 & 127), h += be[I] >>> 12);
51794
51802
  }
51795
51803
  } else
51796
51804
  O = T$, U = yh, H = R$, J = Jg;
51797
51805
  for (var I = 0; I < a; ++I)
51798
51806
  if (i[I] > 255) {
51799
51807
  var ke = i[I] >>> 18 & 31;
51800
- nm(e, h, O[ke + 257]), h += U[ke + 257], ke > 7 && (Tc(e, h, i[I] >>> 23 & 31), h += ax[ke]);
51808
+ nm(e, h, O[ke + 257]), h += U[ke + 257], ke > 7 && (Rc(e, h, i[I] >>> 23 & 31), h += ax[ke]);
51801
51809
  var Ye = i[I] & 31;
51802
51810
  nm(e, h, H[Ye]), h += J[Ye], Ye > 3 && (nm(e, h, i[I] >>> 5 & 8191), h += cx[Ye]);
51803
51811
  } else
@@ -52959,7 +52967,7 @@ class Q$ {
52959
52967
  rm && console.log("Load texture from path", l.pointer);
52960
52968
  const d = Zu(this.source, l.pointer);
52961
52969
  let f;
52962
- d.endsWith(".exr") ? f = new M_(this.parser.options.manager) : d.endsWith(".hdr") ? f = new y1(this.parser.options.manager) : f = new nl(this.parser.options.manager), h = f.loadAsync(d, void 0).then((p) => this.resolveTexture(l, p));
52970
+ d.endsWith(".exr") ? f = new M_(this.parser.options.manager) : d.endsWith(".hdr") ? f = new y1(this.parser.options.manager) : f = new sl(this.parser.options.manager), h = f.loadAsync(d, void 0).then((p) => this.resolveTexture(l, p));
52963
52971
  } else
52964
52972
  l.pointer;
52965
52973
  h && a.push(h);
@@ -53269,7 +53277,7 @@ const ji = class {
53269
53277
  }
53270
53278
  /** the needle engine version */
53271
53279
  get version() {
53272
- return Zc;
53280
+ return el;
53273
53281
  }
53274
53282
  /** The currently active context. Only set during the update loops */
53275
53283
  static get Current() {
@@ -53437,7 +53445,7 @@ const ji = class {
53437
53445
  */
53438
53446
  clear() {
53439
53447
  var e, t, i, s;
53440
- Fi.dispatchCallback(as.ContextClearing, this), uc(this.scene, !0, !0), this.scene = new Js(), (e = this.addressables) == null || e.dispose(), (t = this.lightmaps) == null || t.clear(), (s = (i = this.physics) == null ? void 0 : i.engine) == null || s.clearCaches(), this.isManagedExternally || this.renderer && (this.renderer.renderLists.dispose(), this.renderer.state.reset(), this.renderer.resetState()), Fi.dispatchCallback(as.ContextCleared, this);
53448
+ Fi.dispatchCallback(as.ContextClearing, this), dc(this.scene, !0, !0), this.scene = new Js(), (e = this.addressables) == null || e.dispose(), (t = this.lightmaps) == null || t.clear(), (s = (i = this.physics) == null ? void 0 : i.engine) == null || s.clearCaches(), this.isManagedExternally || this.renderer && (this.renderer.renderLists.dispose(), this.renderer.state.reset(), this.renderer.resetState()), Fi.dispatchCallback(as.ContextCleared, this);
53441
53449
  }
53442
53450
  dispose() {
53443
53451
  this.internalOnDestroy();
@@ -53612,7 +53620,7 @@ Start a coroutine from a component by calling "this.startCoroutine(myCoroutine()
53612
53620
  progress: null,
53613
53621
  index: 0,
53614
53622
  count: s.length
53615
- }, o = dc(), a = 0;
53623
+ }, o = fc(), a = 0;
53616
53624
  for (let h = 0; h < s.length; h++) {
53617
53625
  if (e !== this._createId) {
53618
53626
  Rr && console.log("Aborting loading because create id changed", e, this._createId);
@@ -53637,7 +53645,7 @@ Start a coroutine from a component by calling "this.startCoroutine(myCoroutine()
53637
53645
  for (const h of i)
53638
53646
  if (h && h.file)
53639
53647
  for (const d of h.file.scenes)
53640
- uc(d, !0, !0);
53648
+ dc(d, !0, !0);
53641
53649
  } else
53642
53650
  for (const h of i)
53643
53651
  h && h.file && this.scene.add(h.file.scene);
@@ -54035,7 +54043,7 @@ class le extends ge {
54035
54043
  * @param recursive if true, all children will be destroyed as well. true by default
54036
54044
  */
54037
54045
  static destroy(t, i = !0, s = !0) {
54038
- return uc(t, i, s);
54046
+ return dc(t, i, s);
54039
54047
  }
54040
54048
  /**
54041
54049
  * Add an object to parent and also ensure all components are being registered
@@ -54442,7 +54450,7 @@ async function aee() {
54442
54450
  return hh;
54443
54451
  if (ku === "basic")
54444
54452
  try {
54445
- const n = "https://engine.needle.tools/licensing/check?location=" + encodeURIComponent(window.location.href) + "&version=" + Zc + "&generator=" + encodeURIComponent(VT), e = await fetch(n, {
54453
+ const n = "https://engine.needle.tools/licensing/check?location=" + encodeURIComponent(window.location.href) + "&version=" + el + "&generator=" + encodeURIComponent(VT), e = await fetch(n, {
54446
54454
  method: "GET"
54447
54455
  }).catch();
54448
54456
  (e == null ? void 0 : e.status) === 200 ? (_1 = !1, aa && console.log("License check succeeded"), ku = "pro") : e.status === 403 ? (_1 = !0, Om = await e.text()) : aa && console.log("License check failed with status " + e.status);
@@ -54555,7 +54563,7 @@ async function hee(n) {
54555
54563
  padding-left: 25px;
54556
54564
  border-radius: .5em;
54557
54565
  border: 2px solid rgba(160,160,160,.3);
54558
- `, r = `Needle Engine — No license active, commercial use is not allowed. Visit https://needle.tools/pricing for more information and licensing options! v${Zc}`;
54566
+ `, r = `Needle Engine — No license active, commercial use is not allowed. Visit https://needle.tools/pricing for more information and licensing options! v${el}`;
54559
54567
  console.log("%c " + r, i);
54560
54568
  }
54561
54569
  function uee() {
@@ -54699,7 +54707,7 @@ async function fee() {
54699
54707
  const e = window.location.href;
54700
54708
  let t = "api/v2/new/request";
54701
54709
  n.endsWith("/") || (t = "/" + t);
54702
- const s = `${n}${t}?license=${ku}&url=${encodeURIComponent(e)}&hostname=${encodeURIComponent(window.location.hostname)}&pathname=${encodeURIComponent(window.location.pathname)}&search=${encodeURIComponent(window.location.search)}&hash=${encodeURIComponent(window.location.hash)}&version=${Zc}&generator=${VT}`;
54710
+ const s = `${n}${t}?license=${ku}&url=${encodeURIComponent(e)}&hostname=${encodeURIComponent(window.location.hostname)}&pathname=${encodeURIComponent(window.location.pathname)}&search=${encodeURIComponent(window.location.search)}&hash=${encodeURIComponent(window.location.hash)}&version=${el}&generator=${VT}`;
54703
54711
  aa && console.log("Sending non-commercial usage message to analytics backend", s), fetch(
54704
54712
  s,
54705
54713
  {
@@ -55199,24 +55207,24 @@ function wee(n) {
55199
55207
  const S = h + g._offset, M = S + b, D = M + C, G = D + E, Q = new Uint8Array(n.buffer, n.byteOffset + S, b), L = new Uint8Array(n.buffer, n.byteOffset + M, C), V = new Uint8Array(n.buffer, n.byteOffset + D, E), O = new Uint8Array(n.buffer, n.byteOffset + G, T);
55200
55208
  return t.globalData = { endpointCount: A, selectorCount: _, imageDescs: I, endpointsData: Q, selectorsData: L, tablesData: V, extendedData: O }, t;
55201
55209
  }
55202
- let RS, Pc, w1;
55210
+ let RS, Dc, w1;
55203
55211
  const PS = { env: { emscripten_notify_memory_growth: function(n) {
55204
- w1 = new Uint8Array(Pc.exports.memory.buffer);
55212
+ w1 = new Uint8Array(Dc.exports.memory.buffer);
55205
55213
  } } };
55206
55214
  class See {
55207
55215
  init() {
55208
55216
  return RS || (RS = typeof fetch < "u" ? fetch("data:application/wasm;base64," + hO).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, PS)).then(this._init) : WebAssembly.instantiate(Buffer.from(hO, "base64"), PS).then(this._init), RS);
55209
55217
  }
55210
55218
  _init(e) {
55211
- Pc = e.instance, PS.env.emscripten_notify_memory_growth(0);
55219
+ Dc = e.instance, PS.env.emscripten_notify_memory_growth(0);
55212
55220
  }
55213
55221
  decode(e, t = 0) {
55214
- if (!Pc)
55222
+ if (!Dc)
55215
55223
  throw new Error("ZSTDDecoder: Await .init() before decoding.");
55216
- const i = e.byteLength, s = Pc.exports.malloc(i);
55217
- w1.set(e, s), t = t || Number(Pc.exports.ZSTD_findDecompressedSize(s, i));
55218
- const r = Pc.exports.malloc(t), o = Pc.exports.ZSTD_decompress(r, t, s, i), a = w1.slice(r, r + o);
55219
- return Pc.exports.free(s), Pc.exports.free(r), a;
55224
+ const i = e.byteLength, s = Dc.exports.malloc(i);
55225
+ w1.set(e, s), t = t || Number(Dc.exports.ZSTD_findDecompressedSize(s, i));
55226
+ const r = Dc.exports.malloc(t), o = Dc.exports.ZSTD_decompress(r, t, s, i), a = w1.slice(r, r + o);
55227
+ return Dc.exports.free(s), Dc.exports.free(r), a;
55220
55228
  }
55221
55229
  }
55222
55230
  const hO = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigCACACaiAAQQZ2IgFBAnRBsB5qKAIAaiAAQSBxIgBFaiABRSAAQQV2cWoFQbh/CwsdACAAKAKQ4gEQWiAAQQA2AqDiASAAQgA3A5DiAQu1AwEFfyMAQZACayIKJABBuH8hBgJAIAVFDQAgBCwAACIIQf8BcSEHAkAgCEF/TARAIAdBgn9qQQF2IgggBU8NAkFsIQYgB0GBf2oiBUGAAk8NAiAEQQFqIQdBACEGA0AgBiAFTwRAIAUhBiAIIQcMAwUgACAGaiAHIAZBAXZqIgQtAABBBHY6AAAgACAGQQFyaiAELQAAQQ9xOgAAIAZBAmohBgwBCwAACwALIAcgBU8NASAAIARBAWogByAKEFMiBhADDQELIAYhBEEAIQYgAUEAQTQQECEJQQAhBQNAIAQgBkcEQCAAIAZqIggtAAAiAUELSwRAQWwhBgwDBSAJIAFBAnRqIgEgASgCAEEBajYCACAGQQFqIQZBASAILQAAdEEBdSAFaiEFDAILAAsLQWwhBiAFRQ0AIAUQFEEBaiIBQQxLDQAgAyABNgIAQQFBASABdCAFayIDEBQiAXQgA0cNACAAIARqIAFBAWoiADoAACAJIABBAnRqIgAgACgCAEEBajYCACAJKAIEIgBBAkkgAEEBcXINACACIARBAWo2AgAgB0EBaiEGCyAKQZACaiQAIAYLxhEBDH8jAEHwAGsiBSQAQWwhCwJAIANBCkkNACACLwAAIQogAi8AAiEJIAIvAAQhByAFQQhqIAQQDgJAIAMgByAJIApqakEGaiIMSQ0AIAUtAAohCCAFQdgAaiACQQZqIgIgChAGIgsQAw0BIAVBQGsgAiAKaiICIAkQBiILEAMNASAFQShqIAIgCWoiAiAHEAYiCxADDQEgBUEQaiACIAdqIAMgDGsQBiILEAMNASAAIAFqIg9BfWohECAEQQRqIQZBASELIAAgAUEDakECdiIDaiIMIANqIgIgA2oiDiEDIAIhBCAMIQcDQCALIAMgEElxBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgCS0AAyELIAcgBiAFQUBrIAgQAkECdGoiCS8BADsAACAFQUBrIAktAAIQASAJLQADIQogBCAGIAVBKGogCBACQQJ0aiIJLwEAOwAAIAVBKGogCS0AAhABIAktAAMhCSADIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgDS0AAyENIAAgC2oiCyAGIAVB2ABqIAgQAkECdGoiAC8BADsAACAFQdgAaiAALQACEAEgAC0AAyEAIAcgCmoiCiAGIAVBQGsgCBACQQJ0aiIHLwEAOwAAIAVBQGsgBy0AAhABIActAAMhByAEIAlqIgkgBiAFQShqIAgQAkECdGoiBC8BADsAACAFQShqIAQtAAIQASAELQADIQQgAyANaiIDIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgACALaiEAIAcgCmohByAEIAlqIQQgAyANLQADaiEDIAVB2ABqEA0gBUFAaxANciAFQShqEA1yIAVBEGoQDXJFIQsMAQsLIAQgDksgByACS3INAEFsIQsgACAMSw0BIAxBfWohCQNAQQAgACAJSSAFQdgAahAEGwRAIAAgBiAFQdgAaiAIEAJBAnRqIgovAQA7AAAgBUHYAGogCi0AAhABIAAgCi0AA2oiACAGIAVB2ABqIAgQAkECdGoiCi8BADsAACAFQdgAaiAKLQACEAEgACAKLQADaiEADAEFIAxBfmohCgNAIAVB2ABqEAQgACAKS3JFBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgACAJLQADaiEADAELCwNAIAAgCk0EQCAAIAYgBUHYAGogCBACQQJ0aiIJLwEAOwAAIAVB2ABqIAktAAIQASAAIAktAANqIQAMAQsLAkAgACAMTw0AIAAgBiAFQdgAaiAIEAIiAEECdGoiDC0AADoAACAMLQADQQFGBEAgBUHYAGogDC0AAhABDAELIAUoAlxBH0sNACAFQdgAaiAGIABBAnRqLQACEAEgBSgCXEEhSQ0AIAVBIDYCXAsgAkF9aiEMA0BBACAHIAxJIAVBQGsQBBsEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiIAIAYgBUFAayAIEAJBAnRqIgcvAQA7AAAgBUFAayAHLQACEAEgACAHLQADaiEHDAEFIAJBfmohDANAIAVBQGsQBCAHIAxLckUEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwNAIAcgDE0EQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwJAIAcgAk8NACAHIAYgBUFAayAIEAIiAEECdGoiAi0AADoAACACLQADQQFGBEAgBUFAayACLQACEAEMAQsgBSgCREEfSw0AIAVBQGsgBiAAQQJ0ai0AAhABIAUoAkRBIUkNACAFQSA2AkQLIA5BfWohAgNAQQAgBCACSSAFQShqEAQbBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2oiACAGIAVBKGogCBACQQJ0aiIELwEAOwAAIAVBKGogBC0AAhABIAAgBC0AA2ohBAwBBSAOQX5qIQIDQCAFQShqEAQgBCACS3JFBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsDQCAEIAJNBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsCQCAEIA5PDQAgBCAGIAVBKGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBKGogAi0AAhABDAELIAUoAixBH0sNACAFQShqIAYgAEECdGotAAIQASAFKAIsQSFJDQAgBUEgNgIsCwNAQQAgAyAQSSAFQRBqEAQbBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2oiACAGIAVBEGogCBACQQJ0aiICLwEAOwAAIAVBEGogAi0AAhABIAAgAi0AA2ohAwwBBSAPQX5qIQIDQCAFQRBqEAQgAyACS3JFBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsDQCADIAJNBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsCQCADIA9PDQAgAyAGIAVBEGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBEGogAi0AAhABDAELIAUoAhRBH0sNACAFQRBqIAYgAEECdGotAAIQASAFKAIUQSFJDQAgBUEgNgIUCyABQWwgBUHYAGoQCiAFQUBrEApxIAVBKGoQCnEgBUEQahAKcRshCwwJCwAACwALAAALAAsAAAsACwAACwALQWwhCwsgBUHwAGokACALC7UEAQ5/IwBBEGsiBiQAIAZBBGogABAOQVQhBQJAIARB3AtJDQAgBi0ABCEHIANB8ARqQQBB7AAQECEIIAdBDEsNACADQdwJaiIJIAggBkEIaiAGQQxqIAEgAhAxIhAQA0UEQCAGKAIMIgQgB0sNASADQdwFaiEPIANBpAVqIREgAEEEaiESIANBqAVqIQEgBCEFA0AgBSICQX9qIQUgCCACQQJ0aigCAEUNAAsgAkEBaiEOQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgASALaiAKNgIAIAVBAWohBSAKIAxqIQoMAQsLIAEgCjYCAEEAIQUgBigCCCELA0AgBSALRkUEQCABIAUgCWotAAAiDEECdGoiDSANKAIAIg1BAWo2AgAgDyANQQF0aiINIAw6AAEgDSAFOgAAIAVBAWohBQwBCwtBACEBIANBADYCqAUgBEF/cyAHaiEJQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgAyALaiABNgIAIAwgBSAJanQgAWohASAFQQFqIQUMAQsLIAcgBEEBaiIBIAJrIgRrQQFqIQgDQEEBIQUgBCAIT0UEQANAIAUgDk9FBEAgBUECdCIJIAMgBEE0bGpqIAMgCWooAgAgBHY2AgAgBUEBaiEFDAELCyAEQQFqIQQMAQsLIBIgByAPIAogESADIAIgARBkIAZBAToABSAGIAc6AAYgACAGKAIENgIACyAQIQULIAZBEGokACAFC8ENAQt/IwBB8ABrIgUkAEFsIQkCQCADQQpJDQAgAi8AACEKIAIvAAIhDCACLwAEIQYgBUEIaiAEEA4CQCADIAYgCiAMampBBmoiDUkNACAFLQAKIQcgBUHYAGogAkEGaiICIAoQBiIJEAMNASAFQUBrIAIgCmoiAiAMEAYiCRADDQEgBUEoaiACIAxqIgIgBhAGIgkQAw0BIAVBEGogAiAGaiADIA1rEAYiCRADDQEgACABaiIOQX1qIQ8gBEEEaiEGQQEhCSAAIAFBA2pBAnYiAmoiCiACaiIMIAJqIg0hAyAMIQQgCiECA0AgCSADIA9JcQRAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAACAGIAVBQGsgBxACQQF0aiIILQAAIQsgBUFAayAILQABEAEgAiALOgAAIAYgBUEoaiAHEAJBAXRqIggtAAAhCyAFQShqIAgtAAEQASAEIAs6AAAgBiAFQRBqIAcQAkEBdGoiCC0AACELIAVBEGogCC0AARABIAMgCzoAACAGIAVB2ABqIAcQAkEBdGoiCC0AACELIAVB2ABqIAgtAAEQASAAIAs6AAEgBiAFQUBrIAcQAkEBdGoiCC0AACELIAVBQGsgCC0AARABIAIgCzoAASAGIAVBKGogBxACQQF0aiIILQAAIQsgBUEoaiAILQABEAEgBCALOgABIAYgBUEQaiAHEAJBAXRqIggtAAAhCyAFQRBqIAgtAAEQASADIAs6AAEgA0ECaiEDIARBAmohBCACQQJqIQIgAEECaiEAIAkgBUHYAGoQDUVxIAVBQGsQDUVxIAVBKGoQDUVxIAVBEGoQDUVxIQkMAQsLIAQgDUsgAiAMS3INAEFsIQkgACAKSw0BIApBfWohCQNAIAVB2ABqEAQgACAJT3JFBEAgBiAFQdgAaiAHEAJBAXRqIggtAAAhCyAFQdgAaiAILQABEAEgACALOgAAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAASAAQQJqIQAMAQsLA0AgBUHYAGoQBCAAIApPckUEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCwNAIAAgCkkEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCyAMQX1qIQADQCAFQUBrEAQgAiAAT3JFBEAgBiAFQUBrIAcQAkEBdGoiCi0AACEJIAVBQGsgCi0AARABIAIgCToAACAGIAVBQGsgBxACQQF0aiIKLQAAIQkgBUFAayAKLQABEAEgAiAJOgABIAJBAmohAgwBCwsDQCAFQUBrEAQgAiAMT3JFBEAgBiAFQUBrIAcQAkEBdGoiAC0AACEKIAVBQGsgAC0AARABIAIgCjoAACACQQFqIQIMAQsLA0AgAiAMSQRAIAYgBUFAayAHEAJBAXRqIgAtAAAhCiAFQUBrIAAtAAEQASACIAo6AAAgAkEBaiECDAELCyANQX1qIQADQCAFQShqEAQgBCAAT3JFBEAgBiAFQShqIAcQAkEBdGoiAi0AACEKIAVBKGogAi0AARABIAQgCjoAACAGIAVBKGogBxACQQF0aiICLQAAIQogBUEoaiACLQABEAEgBCAKOgABIARBAmohBAwBCwsDQCAFQShqEAQgBCANT3JFBEAgBiAFQShqIAcQAkEBdGoiAC0AACECIAVBKGogAC0AARABIAQgAjoAACAEQQFqIQQMAQsLA0AgBCANSQRAIAYgBUEoaiAHEAJBAXRqIgAtAAAhAiAFQShqIAAtAAEQASAEIAI6AAAgBEEBaiEEDAELCwNAIAVBEGoQBCADIA9PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIAYgBUEQaiAHEAJBAXRqIgAtAAAhAiAFQRBqIAAtAAEQASADIAI6AAEgA0ECaiEDDAELCwNAIAVBEGoQBCADIA5PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIANBAWohAwwBCwsDQCADIA5JBEAgBiAFQRBqIAcQAkEBdGoiAC0AACECIAVBEGogAC0AARABIAMgAjoAACADQQFqIQMMAQsLIAFBbCAFQdgAahAKIAVBQGsQCnEgBUEoahAKcSAFQRBqEApxGyEJDAELQWwhCQsgBUHwAGokACAJC8oCAQR/IwBBIGsiBSQAIAUgBBAOIAUtAAIhByAFQQhqIAIgAxAGIgIQA0UEQCAEQQRqIQIgACABaiIDQX1qIQQDQCAFQQhqEAQgACAET3JFBEAgAiAFQQhqIAcQAkEBdGoiBi0AACEIIAVBCGogBi0AARABIAAgCDoAACACIAVBCGogBxACQQF0aiIGLQAAIQggBUEIaiAGLQABEAEgACAIOgABIABBAmohAAwBCwsDQCAFQQhqEAQgACADT3JFBEAgAiAFQQhqIAcQAkEBdGoiBC0AACEGIAVBCGogBC0AARABIAAgBjoAACAAQQFqIQAMAQsLA0AgACADT0UEQCACIAVBCGogBxACQQF0aiIELQAAIQYgBUEIaiAELQABEAEgACAGOgAAIABBAWohAAwBCwsgAUFsIAVBCGoQChshAgsgBUEgaiQAIAILtgMBCX8jAEEQayIGJAAgBkEANgIMIAZBADYCCEFUIQQCQAJAIANBQGsiDCADIAZBCGogBkEMaiABIAIQMSICEAMNACAGQQRqIAAQDiAGKAIMIgcgBi0ABEEBaksNASAAQQRqIQogBkEAOgAFIAYgBzoABiAAIAYoAgQ2AgAgB0EBaiEJQQEhBANAIAQgCUkEQCADIARBAnRqIgEoAgAhACABIAU2AgAgACAEQX9qdCAFaiEFIARBAWohBAwBCwsgB0EBaiEHQQAhBSAGKAIIIQkDQCAFIAlGDQEgAyAFIAxqLQAAIgRBAnRqIgBBASAEdEEBdSILIAAoAgAiAWoiADYCACAHIARrIQhBACEEAkAgC0EDTQRAA0AgBCALRg0CIAogASAEakEBdGoiACAIOgABIAAgBToAACAEQQFqIQQMAAALAAsDQCABIABPDQEgCiABQQF0aiIEIAg6AAEgBCAFOgAAIAQgCDoAAyAEIAU6AAIgBCAIOgAFIAQgBToABCAEIAg6AAcgBCAFOgAGIAFBBGohAQwAAAsACyAFQQFqIQUMAAALAAsgAiEECyAGQRBqJAAgBAutAQECfwJAQYQgKAIAIABHIAAoAgBBAXYiAyABa0F4aiICQXhxQQhHcgR/IAIFIAMQJ0UNASACQQhqC0EQSQ0AIAAgACgCACICQQFxIAAgAWpBD2pBeHEiASAAa0EBdHI2AgAgASAANgIEIAEgASgCAEEBcSAAIAJBAXZqIAFrIgJBAXRyNgIAQYQgIAEgAkH/////B3FqQQRqQYQgKAIAIABGGyABNgIAIAEQJQsLygIBBX8CQAJAAkAgAEEIIABBCEsbZ0EfcyAAaUEBR2oiAUEESSAAIAF2cg0AIAFBAnRB/B5qKAIAIgJFDQADQCACQXhqIgMoAgBBAXZBeGoiBSAATwRAIAIgBUEIIAVBCEsbZ0Efc0ECdEGAH2oiASgCAEYEQCABIAIoAgQ2AgALDAMLIARBHksNASAEQQFqIQQgAigCBCICDQALC0EAIQMgAUEgTw0BA0AgAUECdEGAH2ooAgAiAkUEQCABQR5LIQIgAUEBaiEBIAJFDQEMAwsLIAIgAkF4aiIDKAIAQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgBGBEAgASACKAIENgIACwsgAigCACIBBEAgASACKAIENgIECyACKAIEIgEEQCABIAIoAgA2AgALIAMgAygCAEEBcjYCACADIAAQNwsgAwvhCwINfwV+IwBB8ABrIgckACAHIAAoAvDhASIINgJcIAEgAmohDSAIIAAoAoDiAWohDwJAAkAgBUUEQCABIQQMAQsgACgCxOABIRAgACgCwOABIREgACgCvOABIQ4gAEEBNgKM4QFBACEIA0AgCEEDRwRAIAcgCEECdCICaiAAIAJqQazQAWooAgA2AkQgCEEBaiEIDAELC0FsIQwgB0EYaiADIAQQBhADDQEgB0EsaiAHQRhqIAAoAgAQEyAHQTRqIAdBGGogACgCCBATIAdBPGogB0EYaiAAKAIEEBMgDUFgaiESIAEhBEEAIQwDQCAHKAIwIAcoAixBA3RqKQIAIhRCEIinQf8BcSEIIAcoAkAgBygCPEEDdGopAgAiFUIQiKdB/wFxIQsgBygCOCAHKAI0QQN0aikCACIWQiCIpyEJIBVCIIghFyAUQiCIpyECAkAgFkIQiKdB/wFxIgNBAk8EQAJAIAZFIANBGUlyRQRAIAkgB0EYaiADQSAgBygCHGsiCiAKIANLGyIKEAUgAyAKayIDdGohCSAHQRhqEAQaIANFDQEgB0EYaiADEAUgCWohCQwBCyAHQRhqIAMQBSAJaiEJIAdBGGoQBBoLIAcpAkQhGCAHIAk2AkQgByAYNwNIDAELAkAgA0UEQCACBEAgBygCRCEJDAMLIAcoAkghCQwBCwJAAkAgB0EYakEBEAUgCSACRWpqIgNBA0YEQCAHKAJEQX9qIgMgA0VqIQkMAQsgA0ECdCAHaigCRCIJIAlFaiEJIANBAUYNAQsgByAHKAJINgJMCwsgByAHKAJENgJIIAcgCTYCRAsgF6chAyALBEAgB0EYaiALEAUgA2ohAwsgCCALakEUTwRAIAdBGGoQBBoLIAgEQCAHQRhqIAgQBSACaiECCyAHQRhqEAQaIAcgB0EYaiAUQhiIp0H/AXEQCCAUp0H//wNxajYCLCAHIAdBGGogFUIYiKdB/wFxEAggFadB//8DcWo2AjwgB0EYahAEGiAHIAdBGGogFkIYiKdB/wFxEAggFqdB//8DcWo2AjQgByACNgJgIAcoAlwhCiAHIAk2AmggByADNgJkAkACQAJAIAQgAiADaiILaiASSw0AIAIgCmoiEyAPSw0AIA0gBGsgC0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY0AAQMyIFEAMiBg0AIANBHzYCfCADIANB/ABqIANB+ABqIAQgBCAFaiAGGyIEIAEgAmoiAiAEaxAVIgUQAw0AIAMoAnwiBkEfSw0AIAMoAngiB0EJTw0AIABBiCBqIAMgBkGAC0GADCAHEBggA0E0NgJ8IAMgA0H8AGogA0H4AGogBCAFaiIEIAIgBGsQFSIFEAMNACADKAJ8IgZBNEsNACADKAJ4IgdBCk8NACAAQZAwaiADIAZBgA1B4A4gBxAYIANBIzYCfCADIANB/ABqIANB+ABqIAQgBWoiBCACIARrEBUiBRADDQAgAygCfCIGQSNLDQAgAygCeCIHQQpPDQAgACADIAZBwBBB0BEgBxAYIAQgBWoiBEEMaiIFIAJLDQAgAiAFayEFQQAhAgNAIAJBA0cEQCAEKAAAIgZBf2ogBU8NAiAAIAJBAnRqQZzQAWogBjYCACACQQFqIQIgBEEEaiEEDAELCyAEIAFrIQgLIANBgAFqJAAgCAtGAQN/IABBCGohAyAAKAIEIQJBACEAA0AgACACdkUEQCABIAMgAEEDdGotAAJBFktqIQEgAEEBaiEADAELCyABQQggAmt0C4YDAQV/Qbh/IQcCQCADRQ0AIAItAAAiBEUEQCABQQA2AgBBAUG4fyADQQFGGw8LAn8gAkEBaiIFIARBGHRBGHUiBkF/Sg0AGiAGQX9GBEAgA0EDSA0CIAUvAABBgP4BaiEEIAJBA2oMAQsgA0ECSA0BIAItAAEgBEEIdHJBgIB+aiEEIAJBAmoLIQUgASAENgIAIAVBAWoiASACIANqIgNLDQBBbCEHIABBEGogACAFLQAAIgVBBnZBI0EJIAEgAyABa0HAEEHQEUHwEiAAKAKM4QEgACgCnOIBIAQQHyIGEAMiCA0AIABBmCBqIABBCGogBUEEdkEDcUEfQQggASABIAZqIAgbIgEgAyABa0GAC0GADEGAFyAAKAKM4QEgACgCnOIBIAQQHyIGEAMiCA0AIABBoDBqIABBBGogBUECdkEDcUE0QQkgASABIAZqIAgbIgEgAyABa0GADUHgDkGQGSAAKAKM4QEgACgCnOIBIAQQHyIAEAMNACAAIAFqIAJrIQcLIAcLrQMBCn8jAEGABGsiCCQAAn9BUiACQf8BSw0AGkFUIANBDEsNABogAkEBaiELIABBBGohCUGAgAQgA0F/anRBEHUhCkEAIQJBASEEQQEgA3QiB0F/aiIMIQUDQCACIAtGRQRAAkAgASACQQF0Ig1qLwEAIgZB//8DRgRAIAkgBUECdGogAjoAAiAFQX9qIQVBASEGDAELIARBACAKIAZBEHRBEHVKGyEECyAIIA1qIAY7AQAgAkEBaiECDAELCyAAIAQ7AQIgACADOwEAIAdBA3YgB0EBdmpBA2ohBkEAIQRBACECA0AgBCALRkUEQCABIARBAXRqLgEAIQpBACEAA0AgACAKTkUEQCAJIAJBAnRqIAQ6AAIDQCACIAZqIAxxIgIgBUsNAAsgAEEBaiEADAELCyAEQQFqIQQMAQsLQX8gAg0AGkEAIQIDfyACIAdGBH9BAAUgCCAJIAJBAnRqIgAtAAJBAXRqIgEgAS8BACIBQQFqOwEAIAAgAyABEBRrIgU6AAMgACABIAVB/wFxdCAHazsBACACQQFqIQIMAQsLCyEFIAhBgARqJAAgBQvjBgEIf0FsIQcCQCACQQNJDQACQAJAAkACQCABLQAAIgNBA3EiCUEBaw4DAwEAAgsgACgCiOEBDQBBYg8LIAJBBUkNAkEDIQYgASgAACEFAn8CQAJAIANBAnZBA3EiCEF+aiIEQQFNBEAgBEEBaw0BDAILIAVBDnZB/wdxIQQgBUEEdkH/B3EhAyAIRQwCCyAFQRJ2IQRBBCEGIAVBBHZB//8AcSEDQQAMAQsgBUEEdkH//w9xIgNBgIAISw0DIAEtAARBCnQgBUEWdnIhBEEFIQZBAAshBSAEIAZqIgogAksNAgJAIANBgQZJDQAgACgCnOIBRQ0AQQAhAgNAIAJBg4ABSw0BIAJBQGshAgwAAAsACwJ/IAlBA0YEQCABIAZqIQEgAEHw4gFqIQIgACgCDCEGIAUEQCACIAMgASAEIAYQXwwCCyACIAMgASAEIAYQXQwBCyAAQbjQAWohAiABIAZqIQEgAEHw4gFqIQYgAEGo0ABqIQggBQRAIAggBiADIAEgBCACEF4MAQsgCCAGIAMgASAEIAIQXAsQAw0CIAAgAzYCgOIBIABBATYCiOEBIAAgAEHw4gFqNgLw4QEgCUECRgRAIAAgAEGo0ABqNgIMCyAAIANqIgBBiOMBakIANwAAIABBgOMBakIANwAAIABB+OIBakIANwAAIABB8OIBakIANwAAIAoPCwJ/AkACQAJAIANBAnZBA3FBf2oiBEECSw0AIARBAWsOAgACAQtBASEEIANBA3YMAgtBAiEEIAEvAABBBHYMAQtBAyEEIAEQIUEEdgsiAyAEaiIFQSBqIAJLBEAgBSACSw0CIABB8OIBaiABIARqIAMQCyEBIAAgAzYCgOIBIAAgATYC8OEBIAEgA2oiAEIANwAYIABCADcAECAAQgA3AAggAEIANwAAIAUPCyAAIAM2AoDiASAAIAEgBGo2AvDhASAFDwsCfwJAAkACQCADQQJ2QQNxQX9qIgRBAksNACAEQQFrDgIAAgELQQEhByADQQN2DAILQQIhByABLwAAQQR2DAELIAJBBEkgARAhIgJBj4CAAUtyDQFBAyEHIAJBBHYLIQIgAEHw4gFqIAEgB2otAAAgAkEgahAQIQEgACACNgKA4gEgACABNgLw4QEgB0EBaiEHCyAHC0sAIABC+erQ0OfJoeThADcDICAAQgA3AxggAELP1tO+0ser2UI3AxAgAELW64Lu6v2J9eAANwMIIABCADcDACAAQShqQQBBKBAQGgviAgICfwV+IABBKGoiASAAKAJIaiECAn4gACkDACIDQiBaBEAgACkDECIEQgeJIAApAwgiBUIBiXwgACkDGCIGQgyJfCAAKQMgIgdCEol8IAUQGSAEEBkgBhAZIAcQGQwBCyAAKQMYQsXP2bLx5brqJ3wLIAN8IQMDQCABQQhqIgAgAk0EQEIAIAEpAAAQCSADhUIbiUKHla+vmLbem55/fkLj3MqV/M7y9YV/fCEDIAAhAQwBCwsCQCABQQRqIgAgAksEQCABIQAMAQsgASgAAK1Ch5Wvr5i23puef34gA4VCF4lCz9bTvtLHq9lCfkL5893xmfaZqxZ8IQMLA0AgACACSQRAIAAxAABCxc/ZsvHluuonfiADhUILiUKHla+vmLbem55/fiEDIABBAWohAAwBCwsgA0IhiCADhULP1tO+0ser2UJ+IgNCHYggA4VC+fPd8Zn2masWfiIDQiCIIAOFC+8CAgJ/BH4gACAAKQMAIAKtfDcDAAJAAkAgACgCSCIDIAJqIgRBH00EQCABRQ0BIAAgA2pBKGogASACECAgACgCSCACaiEEDAELIAEgAmohAgJ/IAMEQCAAQShqIgQgA2ogAUEgIANrECAgACAAKQMIIAQpAAAQCTcDCCAAIAApAxAgACkAMBAJNwMQIAAgACkDGCAAKQA4EAk3AxggACAAKQMgIABBQGspAAAQCTcDICAAKAJIIQMgAEEANgJIIAEgA2tBIGohAQsgAUEgaiACTQsEQCACQWBqIQMgACkDICEFIAApAxghBiAAKQMQIQcgACkDCCEIA0AgCCABKQAAEAkhCCAHIAEpAAgQCSEHIAYgASkAEBAJIQYgBSABKQAYEAkhBSABQSBqIgEgA00NAAsgACAFNwMgIAAgBjcDGCAAIAc3AxAgACAINwMICyABIAJPDQEgAEEoaiABIAIgAWsiBBAgCyAAIAQ2AkgLCy8BAX8gAEUEQEG2f0EAIAMbDwtBun8hBCADIAFNBH8gACACIAMQEBogAwVBun8LCy8BAX8gAEUEQEG2f0EAIAMbDwtBun8hBCADIAFNBH8gACACIAMQCxogAwVBun8LC6gCAQZ/IwBBEGsiByQAIABB2OABaikDAEKAgIAQViEIQbh/IQUCQCAEQf//B0sNACAAIAMgBBBCIgUQAyIGDQAgACgCnOIBIQkgACAHQQxqIAMgAyAFaiAGGyIKIARBACAFIAYbayIGEEAiAxADBEAgAyEFDAELIAcoAgwhBCABRQRAQbp/IQUgBEEASg0BCyAGIANrIQUgAyAKaiEDAkAgCQRAIABBADYCnOIBDAELAkACQAJAIARBBUgNACAAQdjgAWopAwBCgICACFgNAAwBCyAAQQA2ApziAQwBCyAAKAIIED8hBiAAQQA2ApziASAGQRRPDQELIAAgASACIAMgBSAEIAgQOSEFDAELIAAgASACIAMgBSAEIAgQOiEFCyAHQRBqJAAgBQtnACAAQdDgAWogASACIAAoAuzhARAuIgEQAwRAIAEPC0G4fyECAkAgAQ0AIABB7OABaigCACIBBEBBYCECIAAoApjiASABRw0BC0EAIQIgAEHw4AFqKAIARQ0AIABBkOEBahBDCyACCycBAX8QVyIERQRAQUAPCyAEIAAgASACIAMgBBBLEE8hACAEEFYgAAs/AQF/AkACQAJAIAAoAqDiAUEBaiIBQQJLDQAgAUEBaw4CAAECCyAAEDBBAA8LIABBADYCoOIBCyAAKAKU4gELvAMCB38BfiMAQRBrIgkkAEG4fyEGAkAgBCgCACIIQQVBCSAAKALs4QEiBRtJDQAgAygCACIHQQFBBSAFGyAFEC8iBRADBEAgBSEGDAELIAggBUEDakkNACAAIAcgBRBJIgYQAw0AIAEgAmohCiAAQZDhAWohCyAIIAVrIQIgBSAHaiEHIAEhBQNAIAcgAiAJECwiBhADDQEgAkF9aiICIAZJBEBBuH8hBgwCCyAJKAIAIghBAksEQEFsIQYMAgsgB0EDaiEHAn8CQAJAAkAgCEEBaw4CAgABCyAAIAUgCiAFayAHIAYQSAwCCyAFIAogBWsgByAGEEcMAQsgBSAKIAVrIActAAAgCSgCCBBGCyIIEAMEQCAIIQYMAgsgACgC8OABBEAgCyAFIAgQRQsgAiAGayECIAYgB2ohByAFIAhqIQUgCSgCBEUNAAsgACkD0OABIgxCf1IEQEFsIQYgDCAFIAFrrFINAQsgACgC8OABBEBBaiEGIAJBBEkNASALEEQhDCAHKAAAIAynRw0BIAdBBGohByACQXxqIQILIAMgBzYCACAEIAI2AgAgBSABayEGCyAJQRBqJAAgBgsuACAAECsCf0EAQQAQAw0AGiABRSACRXJFBEBBYiAAIAEgAhA9EAMNARoLQQALCzcAIAEEQCAAIAAoAsTgASABKAIEIAEoAghqRzYCnOIBCyAAECtBABADIAFFckUEQCAAIAEQWwsL0QIBB38jAEEQayIGJAAgBiAENgIIIAYgAzYCDCAFBEAgBSgCBCEKIAUoAgghCQsgASEIAkACQANAIAAoAuzhARAWIQsCQANAIAQgC0kNASADKAAAQXBxQdDUtMIBRgRAIAMgBBAiIgcQAw0EIAQgB2shBCADIAdqIQMMAQsLIAYgAzYCDCAGIAQ2AggCQCAFBEAgACAFEE5BACEHQQAQA0UNAQwFCyAAIAogCRBNIgcQAw0ECyAAIAgQUCAMQQFHQQAgACAIIAIgBkEMaiAGQQhqEEwiByIDa0EAIAMQAxtBCkdyRQRAQbh/IQcMBAsgBxADDQMgAiAHayECIAcgCGohCEEBIQwgBigCDCEDIAYoAgghBAwBCwsgBiADNgIMIAYgBDYCCEG4fyEHIAQNASAIIAFrIQcMAQsgBiADNgIMIAYgBDYCCAsgBkEQaiQAIAcLRgECfyABIAAoArjgASICRwRAIAAgAjYCxOABIAAgATYCuOABIAAoArzgASEDIAAgATYCvOABIAAgASADIAJrajYCwOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", BS = /* @__PURE__ */ new WeakMap();
@@ -55308,7 +55316,7 @@ class ca extends Os {
55308
55316
  h = new FL(i, o, yi);
55309
55317
  else {
55310
55318
  const d = i[0].mipmaps;
55311
- h = t.layerCount > 1 ? new LL(d, s, r, t.layerCount, o, yi) : new rc(d, s, r, o, yi);
55319
+ h = t.layerCount > 1 ? new LL(d, s, r, t.layerCount, o, yi) : new oc(d, s, r, o, yi);
55312
55320
  }
55313
55321
  return h.minFilter = i[0].mipmaps.length === 1 ? Tt : Lr, h.magFilter = Tt, h.generateMipmaps = !1, h.needsUpdate = !0, h.colorSpace = yz(t), h.premultiplyAlpha = !!(l & vee), h;
55314
55322
  }
@@ -55586,7 +55594,7 @@ async function Eee(n) {
55586
55594
  else {
55587
55595
  if (n.pixelDepth > 0)
55588
55596
  throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
55589
- s = new rc(i, n.pixelWidth, n.pixelHeight);
55597
+ s = new oc(i, n.pixelWidth, n.pixelHeight);
55590
55598
  }
55591
55599
  return s.mipmaps = i, s.type = LS[e], s.format = kS[e], s.colorSpace = yz(n), s.needsUpdate = !0, Promise.resolve(s);
55592
55600
  }
@@ -56478,7 +56486,7 @@ const Po = {
56478
56486
  9729: Tt,
56479
56487
  9984: Gf,
56480
56488
  9985: Mu,
56481
- 9986: Vc,
56489
+ 9986: Qc,
56482
56490
  9987: Lr
56483
56491
  }, yO = {
56484
56492
  33071: cs,
@@ -56512,7 +56520,7 @@ const Po = {
56512
56520
  CUBICSPLINE: void 0,
56513
56521
  // We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
56514
56522
  // keyframe track will be initialized with a default interpolation type, then modified.
56515
- LINEAR: lc,
56523
+ LINEAR: hc,
56516
56524
  STEP: gh
56517
56525
  }, NS = {
56518
56526
  OPAQUE: "OPAQUE",
@@ -56622,7 +56630,7 @@ class ote {
56622
56630
  constructor(e = {}, t = {}) {
56623
56631
  this.json = e, this.extensions = {}, this.plugins = {}, this.options = t, this.cache = new Iee(), this.associations = /* @__PURE__ */ new Map(), this.primitiveCache = {}, this.nodeCache = {}, this.meshCache = { refs: {}, uses: {} }, this.cameraCache = { refs: {}, uses: {} }, this.lightCache = { refs: {}, uses: {} }, this.sourceCache = {}, this.textureCache = {}, this.nodeNamesUsed = {};
56624
56632
  let i = !1, s = !1, r = -1;
56625
- typeof navigator < "u" && (i = /^((?!chrome|android).)*safari/i.test(navigator.userAgent) === !0, s = navigator.userAgent.indexOf("Firefox") > -1, r = s ? navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1] : -1), typeof createImageBitmap > "u" || i || s && r < 98 ? this.textureLoader = new nl(this.options.manager) : this.textureLoader = new aF(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new Xn(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
56633
+ typeof navigator < "u" && (i = /^((?!chrome|android).)*safari/i.test(navigator.userAgent) === !0, s = navigator.userAgent.indexOf("Firefox") > -1, r = s ? navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1] : -1), typeof createImageBitmap > "u" || i || s && r < 98 ? this.textureLoader = new sl(this.options.manager) : this.textureLoader = new aF(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new Xn(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
56626
56634
  }
56627
56635
  setExtensions(e) {
56628
56636
  this.extensions = e;
@@ -57259,11 +57267,11 @@ class ote {
57259
57267
  l = vh;
57260
57268
  break;
57261
57269
  case Hl.rotation:
57262
- l = hc;
57270
+ l = uc;
57263
57271
  break;
57264
57272
  case Hl.position:
57265
57273
  case Hl.scale:
57266
- l = ul;
57274
+ l = dl;
57267
57275
  break;
57268
57276
  default:
57269
57277
  switch (i.itemSize) {
@@ -57273,12 +57281,12 @@ class ote {
57273
57281
  case 2:
57274
57282
  case 3:
57275
57283
  default:
57276
- l = ul;
57284
+ l = dl;
57277
57285
  break;
57278
57286
  }
57279
57287
  break;
57280
57288
  }
57281
- const h = s.interpolation !== void 0 ? $ee[s.interpolation] : lc, d = this._getArrayFromAccessor(i);
57289
+ const h = s.interpolation !== void 0 ? $ee[s.interpolation] : hc, d = this._getArrayFromAccessor(i);
57282
57290
  for (let f = 0, p = c.length; f < p; f++) {
57283
57291
  const m = new l(
57284
57292
  c[f] + "." + Hl[r.path],
@@ -57302,7 +57310,7 @@ class ote {
57302
57310
  }
57303
57311
  _createCubicSplineTrackInterpolant(e) {
57304
57312
  e.createInterpolant = function(i) {
57305
- const s = this instanceof hc ? Zee : bz;
57313
+ const s = this instanceof uc ? Zee : bz;
57306
57314
  return new s(this.times, this.values, this.getValueSize() / 3, i);
57307
57315
  }, e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
57308
57316
  }
@@ -57675,7 +57683,7 @@ function wz(n) {
57675
57683
  });
57676
57684
  }
57677
57685
  }
57678
- const Ic = qs, Ey = "$___Export_Components", hte = "NEEDLE_components";
57686
+ const Pc = qs, Ey = "$___Export_Components", hte = "NEEDLE_components";
57679
57687
  var tue;
57680
57688
  class ute {
57681
57689
  constructor() {
@@ -57730,20 +57738,20 @@ class fte {
57730
57738
  !i || i.length <= 0 || (delete e.userData.components, e[Ey] = i);
57731
57739
  }
57732
57740
  afterSerializeUserData(e, t) {
57733
- if (e.type === "Scene" && Ic && console.log("DONE", JSON.stringify(t)), e[Ey] === void 0)
57741
+ if (e.type === "Scene" && Pc && console.log("DONE", JSON.stringify(t)), e[Ey] === void 0)
57734
57742
  return;
57735
57743
  const i = e[Ey];
57736
57744
  delete e[Ey], i !== null && (e.userData.components = i);
57737
57745
  }
57738
57746
  writeNode(e, t) {
57739
57747
  const i = this.writer.json.nodes.length;
57740
- Ic && console.log(e.name, i, e.uuid);
57748
+ Pc && console.log(e.name, i, e.uuid);
57741
57749
  const s = new dte(e, i, t);
57742
57750
  this.exportContext[i] = s, this.objectToNodeMap[e.uuid] = i;
57743
57751
  }
57744
57752
  afterParse(e) {
57745
57753
  var t;
57746
- Ic && console.log("AFTER", e);
57754
+ Pc && console.log("AFTER", e);
57747
57755
  for (const i in this.exportContext) {
57748
57756
  const s = this.exportContext[i], r = s.node, o = s.nodeDef, a = s.nodeIndex, c = (t = r.userData) == null ? void 0 : t.components;
57749
57757
  if (!c || c.length <= 0)
@@ -57753,17 +57761,17 @@ class fte {
57753
57761
  const h = [];
57754
57762
  for (const d of c) {
57755
57763
  this.context.target = d;
57756
- const f = dc().writeBuiltinComponentData(d, this.context);
57764
+ const f = fc().writeBuiltinComponentData(d, this.context);
57757
57765
  f !== null && h.push(f);
57758
57766
  }
57759
- h.length > 0 && (l[tf] = h, Ic && console.log("DID WRITE", r, "nodeIndex", a, h));
57767
+ h.length > 0 && (l[tf] = h, Pc && console.log("DID WRITE", r, "nodeIndex", a, h));
57760
57768
  }
57761
57769
  }
57762
57770
  // -------------------------------------
57763
57771
  // LOADING
57764
57772
  // called by GLTFLoader
57765
57773
  beforeRoot() {
57766
- return Ic && console.log("BEGIN LOAD"), this.nodeToObjectMap = {}, null;
57774
+ return Pc && console.log("BEGIN LOAD"), this.nodeToObjectMap = {}, null;
57767
57775
  }
57768
57776
  // called by GLTFLoader
57769
57777
  async afterRoot(e) {
@@ -57771,7 +57779,7 @@ class fte {
57771
57779
  if (!i)
57772
57780
  return;
57773
57781
  const s = i[this.name];
57774
- Ic && console.log("After root", e, this.parser, i);
57782
+ Pc && console.log("After root", e, this.parser, i);
57775
57783
  const r = [];
57776
57784
  if (s === !0) {
57777
57785
  const o = t.json.nodes;
@@ -57787,7 +57795,7 @@ class fte {
57787
57795
  const d = h[this.name];
57788
57796
  if (!d)
57789
57797
  continue;
57790
- Ic && console.log("NODE", c);
57798
+ Pc && console.log("NODE", c);
57791
57799
  const f = this.nodeToObjectMap[l];
57792
57800
  if (!f) {
57793
57801
  console.error("Could not find object for node index: " + l, c, t);
@@ -57805,10 +57813,10 @@ class fte {
57805
57813
  const i = t[tf];
57806
57814
  if (i) {
57807
57815
  const s = new Array();
57808
- Ic && console.log(e.name, i);
57816
+ Pc && console.log(e.name, i);
57809
57817
  for (const r in i) {
57810
57818
  const o = i[r];
57811
- Ic && console.log("Serialized data", JSON.parse(JSON.stringify(o))), o && this.parser && s.push(
57819
+ Pc && console.log("Serialized data", JSON.parse(JSON.stringify(o))), o && this.parser && s.push(
57812
57820
  JT(this.parser, o).catch((a) => console.error(`Error while resolving references (see console for details)
57813
57821
  `, a, e, o))
57814
57822
  ), e.userData = e.userData || {}, e.userData[tf] = e.userData[tf] || [], e.userData[tf].push(o);
@@ -58214,7 +58222,7 @@ const Ag = class {
58214
58222
  const f = this.onProgressiveLoadStart(e, t, d, i, s);
58215
58223
  try {
58216
58224
  Qn && console.log("Load texture from uri: " + d);
58217
- const m = await new nl().loadAsync(d);
58225
+ const m = await new sl().loadAsync(d);
58218
58226
  return m ? (m.guid = c.guid, m.flipY = !1, m.needsUpdate = !0, m.colorSpace = r.colorSpace, Qn && console.log(c, m)) : Qn && console.warn("failed loading", d), m;
58219
58227
  } finally {
58220
58228
  this.onProgressiveLoadEnd(f);
@@ -58791,7 +58799,7 @@ class Ote extends bl {
58791
58799
  const i = e, s = new Fu(i.image.width, i.image.height, {
58792
58800
  colorSpace: Pi
58793
58801
  });
58794
- return s.texture = i, i.isRenderTargetTexture = !0, i.flipY = !0, i.offset.y = 1, i.repeat.y = -1, i.needsUpdate = !0, i instanceof rc && (i.isCompressedTexture = !1, i.format = Ci), s;
58802
+ return s.texture = i, i.isRenderTargetTexture = !0, i.flipY = !0, i.offset.y = 1, i.repeat.y = -1, i.needsUpdate = !0, i instanceof oc && (i.isCompressedTexture = !1, i.format = Ci), s;
58795
58803
  }
58796
58804
  }
58797
58805
  }
@@ -58870,7 +58878,7 @@ var Ute = Object.defineProperty, Nte = Object.getOwnPropertyDescriptor, Cz = (n,
58870
58878
  };
58871
58879
  const um = oe("debugreflectionprobe"), EO = oe("noreflectionprobe"), zte = Symbol("reflectionProbeKey"), Gte = Symbol("original material");
58872
58880
  var i0;
58873
- const Bc = (i0 = class extends De {
58881
+ const Oc = (i0 = class extends De {
58874
58882
  constructor() {
58875
58883
  var e;
58876
58884
  super();
@@ -58878,12 +58886,12 @@ const Bc = (i0 = class extends De {
58878
58886
  u(this, "center");
58879
58887
  u(this, "size");
58880
58888
  u(this, "_boxHelper");
58881
- Bc._probes.has(this.context) || Bc._probes.set(this.context, []), (e = Bc._probes.get(this.context)) == null || e.push(this);
58889
+ Oc._probes.has(this.context) || Oc._probes.set(this.context, []), (e = Oc._probes.get(this.context)) == null || e.push(this);
58882
58890
  }
58883
58891
  static get(e, t, i, s) {
58884
58892
  if (!e || e.isObject3D !== !0 || EO)
58885
58893
  return null;
58886
- const r = Bc._probes.get(t);
58894
+ const r = Oc._probes.get(t);
58887
58895
  if (r) {
58888
58896
  for (const o of r)
58889
58897
  if (o.__didAwake || o.__internalAwake(), o.enabled) {
@@ -58914,7 +58922,7 @@ const Bc = (i0 = class extends De {
58914
58922
  this._boxHelper = this.gameObject.addNewComponent(sa), this._boxHelper.updateBox(!0), um && this._boxHelper.showHelper(5592320, !0), this.texture && (this.texture.mapping = Uo, this.texture.colorSpace = Wt, this.texture.needsUpdate = !0);
58915
58923
  }
58916
58924
  onDestroy() {
58917
- const e = Bc._probes.get(this.context);
58925
+ const e = Oc._probes.get(this.context);
58918
58926
  if (e) {
58919
58927
  const t = e.indexOf(this);
58920
58928
  t >= 0 && e.splice(t, 1);
@@ -58924,8 +58932,8 @@ const Bc = (i0 = class extends De {
58924
58932
  var i;
58925
58933
  if (EO || !this.enabled || ((i = e.sharedMaterials) == null ? void 0 : i.length) <= 0 || !this.texture)
58926
58934
  return;
58927
- let t = Bc._rendererMaterialsCache.get(e);
58928
- t || (t = [], Bc._rendererMaterialsCache.set(e, t));
58935
+ let t = Oc._rendererMaterialsCache.get(e);
58936
+ t || (t = [], Oc._rendererMaterialsCache.set(e, t));
58929
58937
  for (let s = 0; s < e.sharedMaterials.length; s++) {
58930
58938
  const r = e.sharedMaterials[s];
58931
58939
  if (!r || r.envMap === void 0)
@@ -58951,7 +58959,7 @@ const Bc = (i0 = class extends De {
58951
58959
  }
58952
58960
  }
58953
58961
  onUnset(e) {
58954
- const t = Bc._rendererMaterialsCache.get(e);
58962
+ const t = Oc._rendererMaterialsCache.get(e);
58955
58963
  if (t)
58956
58964
  for (let i = 0; i < t.length; i++) {
58957
58965
  const s = t[i];
@@ -58962,7 +58970,7 @@ const Bc = (i0 = class extends De {
58962
58970
  // and some need reflection probe and some don't
58963
58971
  // we need to make sure we don't override the material but use a copy
58964
58972
  u(i0, "_rendererMaterialsCache", /* @__PURE__ */ new Map()), i0);
58965
- let Lv = Bc;
58973
+ let Lv = Oc;
58966
58974
  Cz([
58967
58975
  x(w)
58968
58976
  ], Lv.prototype, "center", 2);
@@ -59282,7 +59290,7 @@ const Tz = class extends De {
59282
59290
  return !0;
59283
59291
  }
59284
59292
  start() {
59285
- if (this.enableInstancing && !TO && (this.setInstancingEnabled(!0), ac.markDirty(this.gameObject)), this.gameObject.frustumCulled = this.allowOcclusionWhenDynamic, this.isMultiMaterialObject(this.gameObject))
59293
+ if (this.enableInstancing && !TO && (this.setInstancingEnabled(!0), cc.markDirty(this.gameObject)), this.gameObject.frustumCulled = this.allowOcclusionWhenDynamic, this.isMultiMaterialObject(this.gameObject))
59286
59294
  for (let e = 0; e < this.gameObject.children.length; e++) {
59287
59295
  const t = this.gameObject.children[e];
59288
59296
  t.frustumCulled = this.allowOcclusionWhenDynamic;
@@ -61534,7 +61542,7 @@ document.addEventListener("pointerdown", ux);
61534
61542
  document.addEventListener("click", ux);
61535
61543
  document.addEventListener("dragstart", ux);
61536
61544
  document.addEventListener("touchstart", ux);
61537
- const Dc = class extends De {
61545
+ const kc = class extends De {
61538
61546
  constructor() {
61539
61547
  super(...arguments);
61540
61548
  u(this, "clip", "");
@@ -61561,7 +61569,7 @@ const Dc = class extends De {
61561
61569
  (this.playInBackground === !1 || yl()) && (this.wasPlaying = this.isPlaying, this.isPlaying && this.pause());
61562
61570
  break;
61563
61571
  case "visible":
61564
- vs && console.log("visible", this.enabled, this.playOnAwake, !this.isPlaying, Dc.userInteractionRegistered, this.wasPlaying), this.enabled && this.playOnAwake && !this.isPlaying && Dc.userInteractionRegistered && this.wasPlaying && this.play();
61572
+ vs && console.log("visible", this.enabled, this.playOnAwake, !this.isPlaying, kc.userInteractionRegistered, this.wasPlaying), this.enabled && this.playOnAwake && !this.isPlaying && kc.userInteractionRegistered && this.wasPlaying && this.play();
61565
61573
  break;
61566
61574
  }
61567
61575
  });
@@ -61571,14 +61579,14 @@ const Dc = class extends De {
61571
61579
  });
61572
61580
  u(this, "lerp", (e, t, i) => e * (1 - i) + t * i);
61573
61581
  u(this, "createAudio", (e) => {
61574
- vs && console.log("audio buffer loaded"), Dc.registerWaitForAllowAudio(() => {
61582
+ vs && console.log("audio buffer loaded"), kc.registerWaitForAllowAudio(() => {
61575
61583
  vs && console.log("finished loading", e);
61576
61584
  const t = this.Sound;
61577
61585
  if (!t) {
61578
61586
  console.warn("Failed getting sound", this.name);
61579
61587
  return;
61580
61588
  }
61581
- t.isPlaying && t.stop(), e && t.setBuffer(e), t.loop = this._loop, this.context.application.muted ? t.setVolume(0) : t.setVolume(this.volume), t.autoplay = this.shouldPlay, this.applySpatialDistanceSettings(), t.isPlaying && t.stop(), vs && console.log(this.name, this.shouldPlay, Dc.userInteractionRegistered, this), this.shouldPlay && Dc.userInteractionRegistered && this.play();
61589
+ t.isPlaying && t.stop(), e && t.setBuffer(e), t.loop = this._loop, this.context.application.muted ? t.setVolume(0) : t.setVolume(this.volume), t.autoplay = this.shouldPlay, this.applySpatialDistanceSettings(), t.isPlaying && t.stop(), vs && console.log(this.name, this.shouldPlay, kc.userInteractionRegistered, this), this.shouldPlay && kc.userInteractionRegistered && this.play();
61582
61590
  });
61583
61591
  });
61584
61592
  u(this, "_lastContextTime", 0);
@@ -61628,7 +61636,7 @@ const Dc = class extends De {
61628
61636
  this._volume = e, this.sound && !this.context.application.muted && (vs && console.log(this.name, "audio set volume", e), this.sound.setVolume(e));
61629
61637
  }
61630
61638
  get Sound() {
61631
- if (!this.sound && Dc.userInteractionRegistered) {
61639
+ if (!this.sound && kc.userInteractionRegistered) {
61632
61640
  let e = le.getComponent(this.context.mainCamera, Nu) ?? le.findObjectOfType(Nu, this.context);
61633
61641
  !e && this.context.mainCamera && (e = le.addNewComponent(this.context.mainCamera, Nu)), e != null && e.listener ? (this.sound = new lF(e.listener), this.gameObject.add(this.sound)) : vs && console.warn("No audio listener found in scene - can not play audio");
61634
61642
  }
@@ -61641,7 +61649,7 @@ const Dc = class extends De {
61641
61649
  vs && console.log(this), this.audioLoader = new n_(), this.playOnAwake && (this.shouldPlay = !0);
61642
61650
  }
61643
61651
  onEnable() {
61644
- Dc.userInteractionRegistered ? this.playOnAwake && this.context.application.isVisible && this.play() : Dc.registerWaitForAllowAudio(() => {
61652
+ kc.userInteractionRegistered ? this.playOnAwake && this.context.application.isVisible && this.play() : kc.registerWaitForAllowAudio(() => {
61645
61653
  this.enabled && !this.destroyed && this.shouldPlay && this.onNewClip(this.clip);
61646
61654
  }), globalThis.addEventListener("visibilitychange", this.onVisibilityChanged), this.context.application.addEventListener(f1.MuteChanged, this.onApplicationMuteChanged);
61647
61655
  }
@@ -61723,7 +61731,7 @@ Using the assigned clip instead:`, this.clip), e = this.clip);
61723
61731
  this.helper && (this.isPlaying && this.helper.update(), this.helper.visible = this.isPlaying), this._needUpdateSpatialDistanceSettings && this.applySpatialDistanceSettings(), this.sound && !this.sound.isPlaying && this.shouldPlay && !this._hasEnded && (this._hasEnded = !0, vs && console.log("Audio clip ended", this.clip), this.dispatchEvent(new CustomEvent("ended", { detail: this })));
61724
61732
  }
61725
61733
  };
61726
- let zn = Dc;
61734
+ let zn = kc;
61727
61735
  wl([
61728
61736
  x(URL)
61729
61737
  ], zn.prototype, "clip", 2);
@@ -62318,7 +62326,7 @@ zT.prototype.interactable = {
62318
62326
  }
62319
62327
  };
62320
62328
  const Fo = Symbol("shadowDomOwner");
62321
- class fc extends De {
62329
+ class pc extends De {
62322
62330
  constructor() {
62323
62331
  super(...arguments);
62324
62332
  u(this, "shadowComponent", null);
@@ -62362,7 +62370,7 @@ class fc extends De {
62362
62370
  var o;
62363
62371
  this.removeShadowComponent();
62364
62372
  const s = this.isRoot() ? this.gameObject : this.gameObject.parent;
62365
- if (this._parentComponent = le.getComponentInParent(s, fc), !this._parentComponent) {
62373
+ if (this._parentComponent = le.getComponentInParent(s, pc), !this._parentComponent) {
62366
62374
  console.warn(`Component "${this.name}" doesn't have a UI parent anywhere. Do you have an UI element outside a Canvas? UI components must be a child of a Canvas component`, this);
62367
62375
  return;
62368
62376
  }
@@ -62399,7 +62407,7 @@ class fc extends De {
62399
62407
  this.shadowComponent && (this.shadowComponent.interactable = t);
62400
62408
  }
62401
62409
  }
62402
- class fx extends fc {
62410
+ class fx extends pc {
62403
62411
  awake() {
62404
62412
  super.awake();
62405
62413
  }
@@ -62727,13 +62735,21 @@ const Ha = class extends De {
62727
62735
  handleMainInteraction(t, i, s) {
62728
62736
  if (i.pointerId === void 0)
62729
62737
  return;
62730
- const r = this.pressedByID.get(i.pointerId), o = s !== t, a = this.context.input.getPointerPositionLastFrame(i.pointerId), c = this.context.input.getPointerPosition(i.pointerId), l = a && !rt.approximately(a, c);
62731
- this.propagate(t, i, (h) => {
62732
- var f;
62733
- const d = h;
62734
- d.interactable !== !1 && (d.onPointerEnter && o && (d[this.pointerEnterSymbol] || (d[this.pointerEnterSymbol] = !0, delete d[this.pointerExitSymbol], d.onPointerEnter(i))), i.isDown && d.onPointerDown && (d.onPointerDown(i), r == null || r.handlers.add(d)), d.onPointerMove && l && d.onPointerMove(i), i.isUp && (d.onPointerUp && (d.onPointerUp(i), r == null || r.handlers.delete(d)), d.onPointerExit && ((f = i.event) == null ? void 0 : f.pointerType) === cT.Touch && (d.onPointerExit(i), this.hoveredByID.delete(i.pointerId))), i.isClicked && d.onPointerClick && d.onPointerClick(i));
62735
- }), i.isUp && (r == null || r.handlers.forEach((h) => {
62736
- h.onPointerUp && h.onPointerUp(i);
62738
+ const r = this.pressedByID.get(i.pointerId), o = s !== t;
62739
+ let a = !0;
62740
+ switch (i.event.pointerType) {
62741
+ case "mouse":
62742
+ case "touch":
62743
+ const c = this.context.input.getPointerPositionLastFrame(i.pointerId), l = this.context.input.getPointerPosition(i.pointerId);
62744
+ a = c && !rt.approximately(c, l);
62745
+ break;
62746
+ }
62747
+ this.propagate(t, i, (c) => {
62748
+ var h;
62749
+ const l = c;
62750
+ l.interactable !== !1 && (l.onPointerEnter && o && (l[this.pointerEnterSymbol] || (l[this.pointerEnterSymbol] = !0, delete l[this.pointerExitSymbol], l.onPointerEnter(i))), i.isDown && l.onPointerDown && (l.onPointerDown(i), r == null || r.handlers.add(l)), l.onPointerMove && a && l.onPointerMove(i), i.isUp && (l.onPointerUp && (l.onPointerUp(i), r == null || r.handlers.delete(l)), l.onPointerExit && ((h = i.event) == null ? void 0 : h.pointerType) === cT.Touch && (l.onPointerExit(i), this.hoveredByID.delete(i.pointerId))), i.isClicked && l.onPointerClick && l.onPointerClick(i));
62751
+ }), i.isUp && (r == null || r.handlers.forEach((c) => {
62752
+ c.onPointerUp && c.onPointerUp(i);
62737
62753
  }), this.pressedByID.delete(i.pointerId));
62738
62754
  }
62739
62755
  /**
@@ -63287,7 +63303,7 @@ class Qz {
63287
63303
  return e.prep(4, 36), e.prep(4, 12), e.writeFloat32(h), e.writeFloat32(l), e.writeFloat32(c), e.prep(4, 12), e.writeFloat32(a), e.writeFloat32(o), e.writeFloat32(r), e.prep(4, 12), e.writeFloat32(s), e.writeFloat32(i), e.writeFloat32(t), e.offset();
63288
63304
  }
63289
63305
  }
63290
- class qc {
63306
+ class Yc {
63291
63307
  constructor() {
63292
63308
  u(this, "bb", null);
63293
63309
  u(this, "bb_pos", 0);
@@ -63296,10 +63312,10 @@ class qc {
63296
63312
  return this.bb_pos = e, this.bb = t, this;
63297
63313
  }
63298
63314
  static getRootAsSyncedTransformModel(e, t) {
63299
- return (t || new qc()).__init(e.readInt32(e.position()) + e.position(), e);
63315
+ return (t || new Yc()).__init(e.readInt32(e.position()) + e.position(), e);
63300
63316
  }
63301
63317
  static getSizePrefixedRootAsSyncedTransformModel(e, t) {
63302
- return e.setPosition(e.position() + eI), (t || new qc()).__init(e.readInt32(e.position()) + e.position(), e);
63318
+ return e.setPosition(e.position() + eI), (t || new Yc()).__init(e.readInt32(e.position()) + e.position(), e);
63303
63319
  }
63304
63320
  guid(e) {
63305
63321
  const t = this.bb.__offset(this.bb_pos, 4);
@@ -63360,23 +63376,23 @@ function Vie(n) {
63360
63376
  function _de(n) {
63361
63377
  Pv(n, Kn.OnBeforeRender);
63362
63378
  }
63363
- const Oc = oe("debugsync"), Zg = "STRS";
63364
- BN(Zg, qc.getRootAsSyncedTransformModel);
63379
+ const Lc = oe("debugsync"), Zg = "STRS";
63380
+ BN(Zg, Yc.getRootAsSyncedTransformModel);
63365
63381
  const Oa = new Iv();
63366
63382
  function jz(n, e, t = !0) {
63367
63383
  Oa.clear();
63368
63384
  const i = Oa.createString(n);
63369
- qc.startSyncedTransformModel(Oa), qc.addGuid(Oa, i), qc.addFast(Oa, t);
63385
+ Yc.startSyncedTransformModel(Oa), Yc.addGuid(Oa, i), Yc.addFast(Oa, t);
63370
63386
  const s = e.worldPosition, r = e.worldEuler, o = e.gameObject.scale;
63371
- qc.addTransform(Oa, Qz.createTransform(Oa, s.x, s.y, s.z, r.x, r.y, r.z, o.x, o.y, o.z));
63372
- const a = qc.endSyncedTransformModel(Oa);
63387
+ Yc.addTransform(Oa, Qz.createTransform(Oa, s.x, s.y, s.z, r.x, r.y, r.z, o.x, o.y, o.z));
63388
+ const a = Yc.endSyncedTransformModel(Oa);
63373
63389
  return Oa.finish(a, Zg), Oa.asUint8Array();
63374
63390
  }
63375
63391
  let O1 = 0, ag = 0;
63376
63392
  Vie((n) => {
63377
63393
  var i;
63378
63394
  const t = ((i = n.connection.currentServerUrl) == null ? void 0 : i.includes("glitch")) ? 10 : 40;
63379
- ag = Math.floor(O1 / t), O1 = 0, Oc && ag > 0 && console.log("Sync Transform Fast Interval", ag);
63395
+ ag = Math.floor(O1 / t), O1 = 0, Lc && ag > 0 && console.log("Sync Transform Fast Interval", ag);
63380
63396
  });
63381
63397
  class qu extends De {
63382
63398
  constructor() {
@@ -63406,7 +63422,7 @@ class qu extends De {
63406
63422
  }
63407
63423
  /** Request ownership of an object - you need to be connected to a room */
63408
63424
  requestOwnership() {
63409
- Oc && console.log("Request ownership"), this._model ? this._model.requestOwnership() : (this._shouldRequestOwnership = !0, this._needsUpdate = !0);
63425
+ Lc && console.log("Request ownership"), this._model ? this._model.requestOwnership() : (this._shouldRequestOwnership = !0, this._needsUpdate = !0);
63410
63426
  }
63411
63427
  hasOwnership() {
63412
63428
  var t;
@@ -63417,7 +63433,7 @@ class qu extends De {
63417
63433
  return (t = this._model) == null ? void 0 : t.isOwned;
63418
63434
  }
63419
63435
  awake() {
63420
- Oc && console.log("new instance", this.guid, this), this._receivedDataBefore = !1, this._targetPosition = new w(), this._targetRotation = new Te(), this.lastWorldPos = new w(), this.lastWorldRotation = new Te(), this.rb = le.getComponentInChildren(this.gameObject, en), this.rb && (this._wasKinematic = this.rb.isKinematic), this.receivedUpdate = !0, this._model = new x3(this.context.connection, this.guid), this.context.connection.isConnected && this.tryGetLastState(), this.joinedRoomCallback = this.tryGetLastState.bind(this), this.context.connection.beginListen(gi.JoinedRoom, this.joinedRoomCallback), this.receivedDataCallback = this.onReceivedData.bind(this), this.context.connection.beginListenBinary(Zg, this.receivedDataCallback);
63436
+ Lc && console.log("new instance", this.guid, this), this._receivedDataBefore = !1, this._targetPosition = new w(), this._targetRotation = new Te(), this.lastWorldPos = new w(), this.lastWorldRotation = new Te(), this.rb = le.getComponentInChildren(this.gameObject, en), this.rb && (this._wasKinematic = this.rb.isKinematic), this.receivedUpdate = !0, this._model = new x3(this.context.connection, this.guid), this.context.connection.isConnected && this.tryGetLastState(), this.joinedRoomCallback = this.tryGetLastState.bind(this), this.context.connection.beginListen(gi.JoinedRoom, this.joinedRoomCallback), this.receivedDataCallback = this.onReceivedData.bind(this), this.context.connection.beginListenBinary(Zg, this.receivedDataCallback);
63421
63437
  }
63422
63438
  onDestroy() {
63423
63439
  this.syncDestroy && XY(this.guid, this.context.connection), this._model = null, this.context.connection.stopListen(gi.JoinedRoom, this.joinedRoomCallback), this.context.connection.stopListenBinary(Zg, this.receivedDataCallback);
@@ -63429,10 +63445,10 @@ class qu extends De {
63429
63445
  onReceivedData(t) {
63430
63446
  var i;
63431
63447
  if (!this.destroyed && typeof t.guid == "function" && t.guid() === this.guid) {
63432
- Oc && console.log("new data", this.context.connection.connectionId, this.context.time.frameCount, this.guid, t), this.receivedUpdate = !0, this._receivedFastUpdate = t.fast();
63448
+ Lc && console.log("new data", this.context.connection.connectionId, this.context.time.frameCount, this.guid, t), this.receivedUpdate = !0, this._receivedFastUpdate = t.fast();
63433
63449
  const s = t.transform();
63434
63450
  if (s) {
63435
- ac.markDirty(this.gameObject, !0);
63451
+ cc.markDirty(this.gameObject, !0);
63436
63452
  const r = s.position();
63437
63453
  r && (this.interpolatePosition && ((i = this._targetPosition) == null || i.set(r.x(), r.y(), r.z())), (!this.interpolatePosition || !this._receivedDataBefore) && this.setWorldPosition(r.x(), r.y(), r.z()));
63438
63454
  const o = s.rotation();
@@ -63451,14 +63467,14 @@ class qu extends De {
63451
63467
  if (!this.activeAndEnabled || !this.context.connection.isConnected)
63452
63468
  return;
63453
63469
  if (!this.context.connection.isInRoom || !this._model) {
63454
- Oc && console.log("no model or room", this.name, this.guid, this.context.connection.isInRoom);
63470
+ Lc && console.log("no model or room", this.name, this.guid, this.context.connection.isInRoom);
63455
63471
  return;
63456
63472
  }
63457
63473
  this._shouldRequestOwnership && (this._shouldRequestOwnership = !1, this._model.requestOwnership());
63458
63474
  const t = this.worldPosition, i = this.worldQuaternion;
63459
63475
  if (this._model.isOwned && !this.receivedUpdate) {
63460
63476
  const o = t.distanceTo(this.lastWorldPos), a = i.angleTo(this.lastWorldRotation), c = this._model.hasOwnership || this.fastMode ? 1e-4 : 1e-3;
63461
- (o > c || a > c) && (this._model.hasOwnership ? this._needsUpdate = !0 : (Oc && console.log(this.guid, "reset because not owned but", this.gameObject.name, this.lastWorldPos), this.worldPosition = this.lastWorldPos, t.copy(this.lastWorldPos), this.worldQuaternion = this.lastWorldRotation, i.copy(this.lastWorldRotation), ac.markDirty(this.gameObject, !0), this._needsUpdate = !1));
63477
+ (o > c || a > c) && (this._model.hasOwnership ? this._needsUpdate = !0 : (Lc && console.log(this.guid, "reset because not owned but", this.gameObject.name, this.lastWorldPos), this.worldPosition = this.lastWorldPos, t.copy(this.lastWorldPos), this.worldQuaternion = this.lastWorldRotation, i.copy(this.lastWorldRotation), cc.markDirty(this.gameObject, !0), this._needsUpdate = !1));
63462
63478
  }
63463
63479
  if (this._model && !this._model.hasOwnership && this._model.isOwned && this._receivedDataBefore) {
63464
63480
  const a = this._receivedFastUpdate || this.fastMode ? 0.5 : 0.3;
@@ -63471,7 +63487,7 @@ class qu extends De {
63471
63487
  const l = this.worldQuaternion;
63472
63488
  l.slerp(this._targetRotation, a), this.worldQuaternion = l, c = !0;
63473
63489
  }
63474
- c && ac.markDirty(this.gameObject, !0);
63490
+ c && cc.markDirty(this.gameObject, !0);
63475
63491
  }
63476
63492
  if (this.receivedUpdate = !1, this.lastWorldPos.copy(t), this.lastWorldRotation.copy(i), !this._model)
63477
63493
  return;
@@ -63479,12 +63495,12 @@ class qu extends De {
63479
63495
  this.rb && (this.rb.isKinematic = this._model.isOwned ?? !1, this.rb.setVelocity(0, 0, 0));
63480
63496
  return;
63481
63497
  }
63482
- this.rb && (this._wasKinematic !== void 0 && (Oc && console.log("reset kinematic", this.rb.name, this._wasKinematic), this.rb.isKinematic = this._wasKinematic), this.gameObject.position.distanceTo(new w(0, 0, 0)) > 1e3 && (Oc && console.log("RESET", this.name), this.gameObject.position.set(0, 1, 0), this.rb.setVelocity(0, 0, 0)));
63498
+ this.rb && (this._wasKinematic !== void 0 && (Lc && console.log("reset kinematic", this.rb.name, this._wasKinematic), this.rb.isKinematic = this._wasKinematic), this.gameObject.position.distanceTo(new w(0, 0, 0)) > 1e3 && (Lc && console.log("RESET", this.name), this.gameObject.position.set(0, 1, 0), this.rb.setVelocity(0, 0, 0)));
63483
63499
  const s = 10, r = this.rb || this.fastMode;
63484
63500
  if (this._needsUpdate && (this.context.time.frameCount % s === 0 || r)) {
63485
63501
  if (O1++, r && ag > 0 && this.context.time.frameCount % ag !== 0)
63486
63502
  return;
63487
- Oc && console.log("send update", this.context.connection.connectionId, this.guid, this.gameObject.name, this.gameObject.guid), this.overridePhysics && this.rb, this._needsUpdate = !1;
63503
+ Lc && console.log("send update", this.context.connection.connectionId, this.guid, this.gameObject.name, this.gameObject.guid), this.overridePhysics && this.rb, this._needsUpdate = !1;
63488
63504
  const o = jz(this.guid, this, !!r);
63489
63505
  this.context.connection.sendBinary(o);
63490
63506
  }
@@ -64201,14 +64217,14 @@ px([
64201
64217
  x(Ps)
64202
64218
  ], zv.prototype, "reaction", 2);
64203
64219
  var NC;
64204
- const kc = (NC = class extends De {
64220
+ const Fc = (NC = class extends De {
64205
64221
  constructor() {
64206
64222
  super(...arguments);
64207
64223
  u(this, "events");
64208
64224
  }
64209
64225
  static invoke(e) {
64210
- if (kc.receivers[e]) {
64211
- const t = kc.receivers[e];
64226
+ if (Fc.receivers[e]) {
64227
+ const t = Fc.receivers[e];
64212
64228
  if (!t)
64213
64229
  return;
64214
64230
  for (const i of t)
@@ -64221,14 +64237,14 @@ const kc = (NC = class extends De {
64221
64237
  onEnable() {
64222
64238
  if (this.events)
64223
64239
  for (const e of this.events)
64224
- kc.receivers[e.signal.guid] || (kc.receivers[e.signal.guid] = []), kc.receivers[e.signal.guid].push(this);
64240
+ Fc.receivers[e.signal.guid] || (Fc.receivers[e.signal.guid] = []), Fc.receivers[e.signal.guid].push(this);
64225
64241
  }
64226
64242
  onDisable() {
64227
64243
  if (this.events) {
64228
64244
  for (const e of this.events)
64229
- if (kc.receivers[e.signal.guid]) {
64230
- const t = kc.receivers[e.signal.guid].indexOf(this);
64231
- t >= 0 && kc.receivers[e.signal.guid].splice(t, 1);
64245
+ if (Fc.receivers[e.signal.guid]) {
64246
+ const t = Fc.receivers[e.signal.guid].indexOf(this);
64247
+ t >= 0 && Fc.receivers[e.signal.guid].splice(t, 1);
64232
64248
  }
64233
64249
  }
64234
64250
  }
@@ -64265,12 +64281,12 @@ const kc = (NC = class extends De {
64265
64281
  // }
64266
64282
  // }
64267
64283
  }, u(NC, "receivers", {}), NC);
64268
- let Gv = kc;
64284
+ let Gv = Fc;
64269
64285
  px([
64270
64286
  x(zv)
64271
64287
  ], Gv.prototype, "events", 2);
64272
- var Mo = /* @__PURE__ */ ((n) => (n.Activation = "ActivationTrack", n.Animation = "AnimationTrack", n.Audio = "AudioTrack", n.Control = "ControlTrack", n.Marker = "MarkerTrack", n.Signal = "SignalTrack", n))(Mo || {}), Lc = /* @__PURE__ */ ((n) => (n[n.None = 0] = "None", n[n.Hold = 1] = "Hold", n[n.Loop = 2] = "Loop", n[n.PingPong = 3] = "PingPong", n[n.Continue = 4] = "Continue", n))(Lc || {}), qz = /* @__PURE__ */ ((n) => (n.Signal = "SignalEmitter", n))(qz || {});
64273
- const el = oe("debugtimeline");
64288
+ var Mo = /* @__PURE__ */ ((n) => (n.Activation = "ActivationTrack", n.Animation = "AnimationTrack", n.Audio = "AudioTrack", n.Control = "ControlTrack", n.Marker = "MarkerTrack", n.Signal = "SignalTrack", n))(Mo || {}), Uc = /* @__PURE__ */ ((n) => (n[n.None = 0] = "None", n[n.Hold = 1] = "Hold", n[n.Loop = 2] = "Loop", n[n.PingPong = 3] = "PingPong", n[n.Continue = 4] = "Continue", n))(Uc || {}), qz = /* @__PURE__ */ ((n) => (n.Signal = "SignalEmitter", n))(qz || {});
64289
+ const nc = oe("debugtimeline");
64274
64290
  class gx {
64275
64291
  constructor() {
64276
64292
  u(this, "director");
@@ -64332,12 +64348,12 @@ class ene {
64332
64348
  const t = e.getClip();
64333
64349
  this.clip = t;
64334
64350
  const i = e.getRoot(), s = i.name + ".position", r = i.name + ".quaternion";
64335
- el && console.log(t.name, t.tracks, s);
64351
+ nc && console.log(t.name, t.tracks, s);
64336
64352
  for (const o of t.tracks)
64337
64353
  if (!(o.times.length <= 0)) {
64338
64354
  if (o.name.endsWith(s))
64339
- this.rootStartPosition = new w().fromArray(o.values, 0), this.rootEndPosition = new w().fromArray(o.values, o.values.length - 3), this.rootPositionOffset = this.rootEndPosition.clone().sub(this.rootStartPosition), el && console.log(this.rootPositionOffset);
64340
- else if (o.name.endsWith(r) && (this.rootStartQuaternion = new Te().fromArray(o.values, 0), this.rootEndQuaternion = new Te().fromArray(o.values, o.values.length - 4), this.rootQuaternionOffset = this.rootEndQuaternion.clone().multiply(this.rootStartQuaternion), el)) {
64355
+ this.rootStartPosition = new w().fromArray(o.values, 0), this.rootEndPosition = new w().fromArray(o.values, o.values.length - 3), this.rootPositionOffset = this.rootEndPosition.clone().sub(this.rootStartPosition), nc && console.log(this.rootPositionOffset);
64356
+ else if (o.name.endsWith(r) && (this.rootStartQuaternion = new Te().fromArray(o.values, 0), this.rootEndQuaternion = new Te().fromArray(o.values, o.values.length - 4), this.rootQuaternionOffset = this.rootEndQuaternion.clone().multiply(this.rootStartQuaternion), nc)) {
64341
64357
  const a = new Is().setFromQuaternion(this.rootQuaternionOffset);
64342
64358
  console.log("ROT", a);
64343
64359
  }
@@ -64396,21 +64412,21 @@ class SI extends gx {
64396
64412
  if (c) {
64397
64413
  if (!l) {
64398
64414
  const A = i.tracks[0].name.substring(0, m) + ".quaternion";
64399
- el && console.warn("Create quaternion track", y, g);
64400
- const _ = g.quaternion, b = new hc(A, [0, i.duration], [_.x, _.y, _.z, _.w, _.x, _.y, _.z, _.w]);
64415
+ nc && console.warn("Create quaternion track", y, g);
64416
+ const _ = g.quaternion, b = new uc(A, [0, i.duration], [_.x, _.y, _.z, _.w, _.x, _.y, _.z, _.w]);
64401
64417
  i.tracks.push(b), this.createRotationInterpolant(i, t, b);
64402
64418
  }
64403
64419
  } else {
64404
64420
  const A = v + ".position";
64405
- el && console.warn("Create position track", y, g);
64406
- const _ = g.position, b = new ul(A, [0, i.duration], [_.x, _.y, _.z, _.x, _.y, _.z]);
64421
+ nc && console.warn("Create position track", y, g);
64422
+ const _ = g.position, b = new dl(A, [0, i.duration], [_.x, _.y, _.z, _.x, _.y, _.z]);
64407
64423
  i.tracks.push(b), this.createPositionInterpolant(i, t, b);
64408
64424
  }
64409
64425
  }
64410
64426
  }
64411
64427
  bind() {
64412
64428
  if (!this._didBind) {
64413
- this._didBind = !0, el && console.log(this.models), this.mixer ? this.target = this.mixer.getRoot() : console.warn("No mixer was assigned to animation track");
64429
+ this._didBind = !0, nc && console.log(this.models), this.mixer ? this.target = this.mixer.getRoot() : console.warn("No mixer was assigned to animation track");
64414
64430
  for (const t of this.actions) {
64415
64431
  const i = new ene(t);
64416
64432
  this._actionOffsets.push(i);
@@ -64442,15 +64458,15 @@ class SI extends gx {
64442
64458
  g.weight = 0;
64443
64459
  const _ = t >= y.start && t <= y.end, b = y.preExtrapolationMode, C = y.postExtrapolationMode, E = v < this.clips.length - 1 ? this.models[v + 1] : null;
64444
64460
  let T = _, I = !1;
64445
- if (!T && !r && y.end < t && C !== Lc.None ? (!E || E.start > t) && (T = !0, r = !0) : v == 0 && !T && !o && y.start > t && b !== Lc.None && (!E || E.start < t) && (T = !0, I = !0, o = !0), T) {
64461
+ if (!T && !r && y.end < t && C !== Uc.None ? (!E || E.start > t) && (T = !0, r = !0) : v == 0 && !T && !o && y.start > t && b !== Uc.None && (!E || E.start < t) && (T = !0, I = !0, o = !0), T) {
64446
64462
  let S = 1;
64447
64463
  S *= this.evaluateWeight(t, v, this.models, T), S *= this.director.weight;
64448
64464
  let M = _;
64449
64465
  if (I)
64450
64466
  switch (b) {
64451
- case Lc.Hold:
64467
+ case Uc.Hold:
64452
64468
  break;
64453
- case Lc.Loop:
64469
+ case Uc.Loop:
64454
64470
  t += y.start, M = !0;
64455
64471
  break;
64456
64472
  default:
@@ -64459,19 +64475,19 @@ class SI extends gx {
64459
64475
  }
64460
64476
  let D = this.getClipTime(t, y), G = 0;
64461
64477
  const Q = A.duration;
64462
- if (I && b === Lc.Hold && (D = 0), M) {
64478
+ if (I && b === Uc.Hold && (D = 0), M) {
64463
64479
  if (A.loop)
64464
64480
  for (G += Math.floor(D / (Q + 1e-6)); D > Q; )
64465
64481
  D -= Q;
64466
64482
  } else if (!_ && r)
64467
64483
  switch (C) {
64468
- case Lc.Hold:
64484
+ case Uc.Hold:
64469
64485
  D = this.getClipTime(y.end, y);
64470
64486
  break;
64471
- case Lc.Loop:
64487
+ case Uc.Loop:
64472
64488
  D %= Q;
64473
64489
  break;
64474
- case Lc.PingPong:
64490
+ case Uc.PingPong:
64475
64491
  const O = Math.floor(D / Q) % 2 !== 0;
64476
64492
  D %= Q, O && (D = Q - D);
64477
64493
  break;
@@ -64491,7 +64507,7 @@ class SI extends gx {
64491
64507
  }
64492
64508
  }
64493
64509
  }
64494
- if (this._useclipOffsets && (this._totalOffsetPosition.lerp(this._totalOffsetPosition2, s), this._totalOffsetRotation.slerp(this._totalOffsetRotation2, s)), this.__mixerError === void 0 && (el || Lt()) && ((l = (c = this._animator) == null ? void 0 : c.runtimeAnimatorController) != null && l.mixer) && this.mixer !== ((d = (h = this._animator) == null ? void 0 : h.runtimeAnimatorController) == null ? void 0 : d.mixer) && (this.__mixerError = !0, console.error("AnimationTrack mixer is not shared with the animator controller - this might result in the timeline to not animate properly. Please report a bug to the Needle Engine team!", this)), (f = this._animator) != null && f.runtimeAnimatorController) {
64510
+ if (this._useclipOffsets && (this._totalOffsetPosition.lerp(this._totalOffsetPosition2, s), this._totalOffsetRotation.slerp(this._totalOffsetRotation2, s)), this.__mixerError === void 0 && (nc || Lt()) && ((l = (c = this._animator) == null ? void 0 : c.runtimeAnimatorController) != null && l.mixer) && this.mixer !== ((d = (h = this._animator) == null ? void 0 : h.runtimeAnimatorController) == null ? void 0 : d.mixer) && (this.__mixerError = !0, console.error("AnimationTrack mixer is not shared with the animator controller - this might result in the timeline to not animate properly. Please report a bug to the Needle Engine team!", this)), (f = this._animator) != null && f.runtimeAnimatorController) {
64495
64511
  const v = Math.max(0, 1 - a);
64496
64512
  (m = (p = this._animator) == null ? void 0 : p.runtimeAnimatorController) == null || m.update(v);
64497
64513
  } else
@@ -64543,6 +64559,7 @@ const tne = oe("mutetimeline"), Ef = class extends gx {
64543
64559
  u(this, "lastTime", 0);
64544
64560
  u(this, "audioSource");
64545
64561
  u(this, "_audioLoader", null);
64562
+ u(this, "_playableDirectorResumed", !1);
64546
64563
  }
64547
64564
  getAudioFilePath(t) {
64548
64565
  const i = this.director.sourceId;
@@ -64556,11 +64573,15 @@ const tne = oe("mutetimeline"), Ef = class extends gx {
64556
64573
  }
64557
64574
  addModel(t) {
64558
64575
  const i = new eT(this.listener);
64559
- this.audio.push(i), this.models.push(t);
64576
+ this.audio.push(i);
64577
+ const s = t;
64578
+ s._didTriggerPlay = !1, this.models.push(s);
64560
64579
  }
64561
64580
  onDisable() {
64562
64581
  for (const t of this.audio)
64563
64582
  t.isPlaying && t.stop();
64583
+ for (const t of this.models)
64584
+ t._didTriggerPlay = !1;
64564
64585
  }
64565
64586
  onDestroy() {
64566
64587
  for (const t of this.audio)
@@ -64579,36 +64600,44 @@ const tne = oe("mutetimeline"), Ef = class extends gx {
64579
64600
  const i = this.audio[t];
64580
64601
  i != null && i.isPlaying && i.stop();
64581
64602
  }
64603
+ for (const t of this.models)
64604
+ t._didTriggerPlay = !1;
64605
+ }
64606
+ onPauseChanged() {
64607
+ for (let t = 0; t < this.audio.length; t++) {
64608
+ const i = this.audio[t];
64609
+ i != null && i.isPlaying && i.stop();
64610
+ }
64611
+ this._playableDirectorResumed = this.director.isPlaying;
64582
64612
  }
64583
64613
  evaluate(t) {
64584
64614
  if (tne || this.track.muted || this.director.speed < 0)
64585
64615
  return;
64586
- const i = this.director.context.application.muted, s = i ? 0.1 : 0;
64587
- for (let r = 0; r < this.models.length; r++) {
64588
- const o = this.models[r], a = this.audio[r], c = o.asset;
64589
- if ((!a || !a.buffer) && this.isInTimeRange(o, t - 1, t + 1) && this.handleAudioLoading(o, a), zn.userInteractionRegistered !== !1 && !(a === null || !a.buffer))
64590
- if (a.playbackRate = this.director.context.time.timeScale * this.director.speed, a.loop = c.loop, t >= o.start && t <= o.end && t < this.director.duration) {
64591
- if (this.director.isPlaying == !1) {
64592
- if (a.isPlaying && a.stop(), this.lastTime === t)
64593
- continue;
64594
- } else if (!a.isPlaying)
64595
- a.offset = o.clipIn + (t - o.start) * o.timeScale, a.play(s);
64616
+ const i = this.director.context.application.muted, s = this._playableDirectorResumed;
64617
+ this._playableDirectorResumed = !1;
64618
+ const r = i ? 0.1 : 0;
64619
+ for (let o = 0; o < this.models.length; o++) {
64620
+ const a = this.models[o], c = this.audio[o], l = a.asset;
64621
+ if ((!c || !c.buffer) && this.isInTimeRange(a, t - 1, t + 1) && this.handleAudioLoading(a, c), zn.userInteractionRegistered !== !1 && !(c === null || !c.buffer))
64622
+ if (c.playbackRate = this.director.context.time.timeScale * this.director.speed, c.loop = l.loop, t >= a.start && t <= a.end && t < this.director.duration) {
64623
+ if (!c.isPlaying || !this.director.isPlaying)
64624
+ (s || !a._didTriggerPlay && this.lastTime < t) && (a.duration * a.timeScale > 0.3 ? c.offset = a.clipIn + (t - a.start) * a.timeScale : c.offset = 0, nc && console.log("Timeline Audio (" + this.track.name + ") play with offset " + c.offset + " - " + a.asset.clip), c.play(r), a._didTriggerPlay = !0);
64596
64625
  else {
64597
- const h = o.clipIn + (t - o.start) * o.timeScale, d = a.context.currentTime - a._startedAt + a.offset;
64598
- Math.abs(h - d) > 0.3 && (a.offset = h, a.stop(), a.play(s));
64626
+ const d = a.clipIn + (t - a.start) * a.timeScale, f = c.context.currentTime - c._startedAt + c.offset;
64627
+ Math.abs(d - f) > 0.3 && (c.offset = d, c.stop(), c.play(r));
64599
64628
  }
64600
- let l = c.volume;
64601
- if (this.track.volume !== void 0 && (l *= this.track.volume), i && (l = 0), o.easeInDuration > 0) {
64602
- const h = Math.min((t - o.start) / o.easeInDuration, 1);
64603
- l *= h;
64629
+ let h = l.volume;
64630
+ if (this.track.volume !== void 0 && (h *= this.track.volume), i && (h = 0), a.easeInDuration > 0) {
64631
+ const d = Math.min((t - a.start) / a.easeInDuration, 1);
64632
+ h *= d;
64604
64633
  }
64605
- if (o.easeOutDuration > 0) {
64606
- const h = Math.min((o.end - t) / o.easeOutDuration, 1);
64607
- l *= h;
64634
+ if (a.easeOutDuration > 0) {
64635
+ const d = Math.min((a.end - t) / a.easeOutDuration, 1);
64636
+ h *= d;
64608
64637
  }
64609
- a.setVolume(l * this.director.weight);
64638
+ c.setVolume(h * this.director.weight);
64610
64639
  } else
64611
- a.isPlaying && a.stop();
64640
+ a._didTriggerPlay = !1, this.director.isPlaying && c.isPlaying && c.stop();
64612
64641
  }
64613
64642
  this.lastTime = t;
64614
64643
  }
@@ -64638,7 +64667,7 @@ const tne = oe("mutetimeline"), Ef = class extends gx {
64638
64667
  a && i.setBuffer(a);
64639
64668
  }), o;
64640
64669
  }
64641
- el && console.warn("LOAD audio track", s, this.director.sourceId);
64670
+ nc && console.warn("LOAD audio track", s, this.director.sourceId);
64642
64671
  const r = new Promise((o, a) => {
64643
64672
  this._audioLoader.load(
64644
64673
  s,
@@ -64686,7 +64715,7 @@ class k_ extends gx {
64686
64715
  }
64687
64716
  if (l) {
64688
64717
  if (!a)
64689
- if (el && console.log("Trigger signal", t, o.time, o), this.didTrigger[r] = !0, ((s = this.receivers) == null ? void 0 : s.length) <= 0)
64718
+ if (nc && console.log("Trigger signal", t, o.time, o), this.didTrigger[r] = !0, ((s = this.receivers) == null ? void 0 : s.length) <= 0)
64690
64719
  Gv.invoke(o.asset);
64691
64720
  else
64692
64721
  for (const h of this.receivers)
@@ -64857,8 +64886,8 @@ const Qd = oe("debugtimeline"), X_ = class extends De {
64857
64886
  if (!this.isValid())
64858
64887
  return;
64859
64888
  const t = this._isPaused == !0;
64860
- if (this._isPaused = !1, t && this.invokePauseChangedMethodsOnTracks(), !this._isPlaying) {
64861
- if (this._isPlaying = !0, this.waitForAudio) {
64889
+ if (this._isPaused = !1, !this._isPlaying) {
64890
+ if (this._isPlaying = !0, t && this.invokePauseChangedMethodsOnTracks(), this.waitForAudio) {
64862
64891
  const i = [];
64863
64892
  for (const s of this._audioTracks) {
64864
64893
  const r = s.loadAudio(this._time, 1, 0);
@@ -66319,7 +66348,7 @@ var Ine = Object.defineProperty, Rne = Object.getOwnPropertyDescriptor, Pne = (n
66319
66348
  };
66320
66349
  const cf = oe("debugxrflags"), Jz = oe("disablexrflags");
66321
66350
  Jz && console.warn("XRFlags are disabled");
66322
- var Xc = /* @__PURE__ */ ((n) => (n[n.Never = 0] = "Never", n[n.Browser = 1] = "Browser", n[n.AR = 2] = "AR", n[n.VR = 4] = "VR", n[n.FirstPerson = 8] = "FirstPerson", n[n.ThirdPerson = 16] = "ThirdPerson", n[n.All = 4294967295] = "All", n))(Xc || {});
66351
+ var Jc = /* @__PURE__ */ ((n) => (n[n.Never = 0] = "Never", n[n.Browser = 1] = "Browser", n[n.AR = 2] = "AR", n[n.VR = 4] = "VR", n[n.FirstPerson = 8] = "FirstPerson", n[n.ThirdPerson = 16] = "ThirdPerson", n[n.All = 4294967295] = "All", n))(Jc || {});
66323
66352
  const PR = class {
66324
66353
  constructor() {
66325
66354
  u(this, "Mask", 17);
@@ -66349,7 +66378,7 @@ const PR = class {
66349
66378
  let Ws = PR;
66350
66379
  u(Ws, "Global", new PR());
66351
66380
  var Cm;
66352
- const Fc = (Cm = class extends De {
66381
+ const Nc = (Cm = class extends De {
66353
66382
  constructor() {
66354
66383
  super(...arguments);
66355
66384
  u(this, "visibleIn");
@@ -66359,14 +66388,14 @@ const Fc = (Cm = class extends De {
66359
66388
  e.UpdateVisible(Ws.Global);
66360
66389
  }
66361
66390
  awake() {
66362
- Fc.registry.push(this);
66391
+ Nc.registry.push(this);
66363
66392
  }
66364
66393
  onEnable() {
66365
- Fc.firstApply ? this.UpdateVisible(Ws.Global) : (Fc.firstApply = !0, Fc.Apply());
66394
+ Nc.firstApply ? this.UpdateVisible(Ws.Global) : (Nc.firstApply = !0, Nc.Apply());
66366
66395
  }
66367
66396
  onDestroy() {
66368
- const e = Fc.registry.indexOf(this);
66369
- e >= 0 && Fc.registry.splice(e, 1);
66397
+ const e = Nc.registry.indexOf(this);
66398
+ e >= 0 && Nc.registry.splice(e, 1);
66370
66399
  }
66371
66400
  get isOn() {
66372
66401
  return this.gameObject.visible;
@@ -66376,7 +66405,7 @@ const Fc = (Cm = class extends De {
66376
66405
  return;
66377
66406
  let t;
66378
66407
  const i = e;
66379
- if (i && typeof i == "number" && (console.assert(typeof i == "number", "XRFlag.UpdateVisible: state must be a number", i), cf && console.log(i), Fc.buffer.Mask = i, e = Fc.buffer), e instanceof Ws ? (cf && console.warn(this.name, "use passed in mask", e.Mask, this.visibleIn), t = e.Has(this.visibleIn)) : (cf && console.log(this.name, "use global mask"), Ws.Global.Has(this.visibleIn)), t !== void 0)
66408
+ if (i && typeof i == "number" && (console.assert(typeof i == "number", "XRFlag.UpdateVisible: state must be a number", i), cf && console.log(i), Nc.buffer.Mask = i, e = Nc.buffer), e instanceof Ws ? (cf && console.warn(this.name, "use passed in mask", e.Mask, this.visibleIn), t = e.Has(this.visibleIn)) : (cf && console.log(this.name, "use global mask"), Ws.Global.Has(this.visibleIn)), t !== void 0)
66380
66409
  if (t)
66381
66410
  cf && console.log(this.name, "is visible", this.gameObject.uuid), le.setActive(this.gameObject, !0);
66382
66411
  else {
@@ -66386,7 +66415,7 @@ const Fc = (Cm = class extends De {
66386
66415
  }
66387
66416
  }
66388
66417
  }, u(Cm, "registry", []), u(Cm, "firstApply"), u(Cm, "buffer", new Ws()), Cm);
66389
- let Lo = Fc;
66418
+ let Lo = Nc;
66390
66419
  Pne([
66391
66420
  x()
66392
66421
  ], Lo.prototype, "visibleIn", 2);
@@ -66540,7 +66569,7 @@ II([
66540
66569
  II([
66541
66570
  x(vi)
66542
66571
  ], Ap.prototype, "rightHand", 2);
66543
- class cl {
66572
+ class ll {
66544
66573
  static Add(e, t, i = null) {
66545
66574
  if (t) {
66546
66575
  for (const s of this.Pois)
@@ -66560,7 +66589,7 @@ class cl {
66560
66589
  }
66561
66590
  }
66562
66591
  }
66563
- u(cl, "Pois", []), u(cl, "LastChangeTime", 0);
66592
+ u(ll, "Pois", []), u(ll, "LastChangeTime", 0);
66564
66593
  class kne {
66565
66594
  constructor() {
66566
66595
  u(this, "guid");
@@ -66600,7 +66629,7 @@ class L_ extends De {
66600
66629
  }
66601
66630
  update() {
66602
66631
  var i;
66603
- if ((!this.context.connection.isConnected || (i = this._model) != null && i.hasOwnership) && (cl.LastChangeTime !== this._lastPoiChangedTime && (this._lastPoiChangedTime = cl.LastChangeTime, this._lookDuration = 0), this.selectTarget(), this._currentTargetObject && this.context.time.frameCount % 10 === 0 && this.target)) {
66632
+ if ((!this.context.connection.isConnected || (i = this._model) != null && i.hasOwnership) && (ll.LastChangeTime !== this._lastPoiChangedTime && (this._lastPoiChangedTime = ll.LastChangeTime, this._lookDuration = 0), this.selectTarget(), this._currentTargetObject && this.context.time.frameCount % 10 === 0 && this.target)) {
66604
66633
  const s = Bt(this._currentTargetObject);
66605
66634
  vr(this.target, s), this.context.connection.isConnected && this.avatar && (this.context.connection.send("avatar-look-target-changed", this._targetModel), this._targetModel.guid = this.avatar.guid, this._targetModel.position.copy(s));
66606
66635
  }
@@ -66608,7 +66637,7 @@ class L_ extends De {
66608
66637
  selectTarget() {
66609
66638
  if (this.context.time.time - this._lastUpdateTime > this._lookDuration) {
66610
66639
  this._lastUpdateTime = this.context.time.time, this._lookDuration = Math.random() * 0.5 + 0.2;
66611
- const i = cl.Pois;
66640
+ const i = ll.Pois;
66612
66641
  if (i.length > 0) {
66613
66642
  const s = i[Math.floor(Math.random() * i.length)];
66614
66643
  if (s && s.obj) {
@@ -66621,7 +66650,7 @@ class L_ extends De {
66621
66650
  }
66622
66651
  }
66623
66652
  const _f = oe("debugnetworkingstreams");
66624
- var tl = /* @__PURE__ */ ((n) => (n.Connected = "peer-user-connected", n.StreamReceived = "receive-stream", n.StreamEnded = "call-ended", n.Disconnected = "peer-user-disconnected", n.UserJoined = "user-joined", n))(tl || {});
66653
+ var il = /* @__PURE__ */ ((n) => (n.Connected = "peer-user-connected", n.StreamReceived = "receive-stream", n.StreamEnded = "call-ended", n.Disconnected = "peer-user-disconnected", n.UserJoined = "user-joined", n))(il || {});
66625
66654
  class Lne {
66626
66655
  constructor(e, t) {
66627
66656
  u(this, "type", "call-ended");
@@ -66967,11 +66996,11 @@ class yp extends De {
66967
66996
  });
66968
66997
  }
66969
66998
  onEnable() {
66970
- this._net || (this._net = xx.create(this)), this._net.addEventListener(tl.StreamReceived, this.onReceiveStream), this._net.addEventListener(tl.StreamEnded, this.onStreamEnded), this._net.enable(), this.autoConnect && (this.context.connection.isConnected ? this.connect() : this.context.connection.beginListen(gi.JoinedRoom, this.onJoinedRoom)), this.onEnabledChanged(), window.addEventListener("visibilitychange", this.onVisibilityChanged);
66999
+ this._net || (this._net = xx.create(this)), this._net.addEventListener(il.StreamReceived, this.onReceiveStream), this._net.addEventListener(il.StreamEnded, this.onStreamEnded), this._net.enable(), this.autoConnect && (this.context.connection.isConnected ? this.connect() : this.context.connection.beginListen(gi.JoinedRoom, this.onJoinedRoom)), this.onEnabledChanged(), window.addEventListener("visibilitychange", this.onVisibilityChanged);
66971
67000
  }
66972
67001
  onDisable() {
66973
67002
  var t;
66974
- this._net.stopSendingStream(this._outputStream), this._net.removeEventListener(tl.StreamReceived, this.onReceiveStream), this._net.removeEventListener(tl.StreamEnded, this.onStreamEnded), (t = this._net) == null || t.disable(), this.context.connection.stopListen(gi.JoinedRoom, this.onJoinedRoom), this.onEnabledChanged(), window.removeEventListener("visibilitychange", this.onVisibilityChanged);
67003
+ this._net.stopSendingStream(this._outputStream), this._net.removeEventListener(il.StreamReceived, this.onReceiveStream), this._net.removeEventListener(il.StreamEnded, this.onStreamEnded), (t = this._net) == null || t.disable(), this.context.connection.stopListen(gi.JoinedRoom, this.onJoinedRoom), this.onEnabledChanged(), window.removeEventListener("visibilitychange", this.onVisibilityChanged);
66975
67004
  }
66976
67005
  get isSending() {
66977
67006
  return this._outputStream != null && this._outputStream.active;
@@ -67230,7 +67259,7 @@ class tG {
67230
67259
  let i = null;
67231
67260
  if (typeof t == "string") {
67232
67261
  if (i = await this.loadAvatar(e, t), !i) {
67233
- const r = new fl();
67262
+ const r = new gc();
67234
67263
  i = le.instantiate(Fg(t, e.scene), r);
67235
67264
  }
67236
67265
  } else
@@ -67252,7 +67281,7 @@ class tG {
67252
67281
  }
67253
67282
  if (!r && (r = await M3(t, t, 0, "no url here go away", !0), !r))
67254
67283
  return null;
67255
- const o = await dc().parseSync(e, r, null, 0);
67284
+ const o = await fc().parseSync(e, r, null, 0);
67256
67285
  return (o == null ? void 0 : o.scene) ?? null;
67257
67286
  }
67258
67287
  const i = new gp();
@@ -67261,7 +67290,7 @@ class tG {
67261
67290
  i.load(
67262
67291
  o,
67263
67292
  async (a) => {
67264
- await dc().createBuiltinComponents(e, o, a, null, void 0), s(a.scene);
67293
+ await fc().createBuiltinComponents(e, o, a, null, void 0), s(a.scene);
67265
67294
  },
67266
67295
  (a) => {
67267
67296
  pm && console.log("[Custom Avatar] " + a.loaded / a.total * 100 + "% loaded of " + a.total / 1024 + "kB");
@@ -67712,7 +67741,7 @@ class sG {
67712
67741
  u(this, "height");
67713
67742
  }
67714
67743
  }
67715
- const Jo = new w(), mm = new Se(), ky = new Te(), rG = class extends fc {
67744
+ const Jo = new w(), mm = new Se(), ky = new Te(), rG = class extends pc {
67716
67745
  constructor() {
67717
67746
  super(...arguments);
67718
67747
  u(this, "_anchoredPosition");
@@ -67829,7 +67858,7 @@ const Jo = new w(), mm = new Se(), ky = new Te(), rG = class extends fc {
67829
67858
  return;
67830
67859
  this.gameObject.parent ? this._parentRectTransform = le.getComponentInParent(this.gameObject.parent, rG) : this._parentRectTransform = void 0, this._transformNeedsUpdate = !1, nC && console.warn("RectTransform → ApplyTransform", this.name + " because " + e), this.isRoot() ? this.Root.screenspace || (t.rotation.y = Math.PI) : (t.matrix.identity(), t.matrixAutoUpdate = !1, Jo.set(0, 0, 0), this.applyPivot(Jo), t.matrix.setPosition(Jo.x, Jo.y, 0), (this.gameObject.quaternion.x || this.gameObject.quaternion.y || this.gameObject.quaternion.z) && (ky.copy(this.gameObject.quaternion), ky.x *= -1, ky.z *= -1, mm.makeRotationFromQuaternion(ky), t.matrix.premultiply(mm)), Jo.set(0, 0, 0), this.applyAnchoring(Jo), (s = this.Canvas) != null && s.screenspace ? Jo.z += 0.1 : Jo.z += 0.01, mm.identity(), mm.setPosition(Jo.x, Jo.y, Jo.z), t.matrix.premultiply(mm), t.matrix.scale(this.gameObject.scale)), this.lastMatrix.copy(this.gameObject.matrix);
67831
67860
  const i = !0;
67832
- for (const r of EN(this.gameObject, fc, i, 1)) {
67861
+ for (const r of EN(this.gameObject, pc, i, 1)) {
67833
67862
  if (r === this || !r.activeAndEnabled)
67834
67863
  continue;
67835
67864
  const o = r;
@@ -68002,7 +68031,7 @@ const Ly = {
68002
68031
  borderOpacity: 1
68003
68032
  };
68004
68033
  var GC;
68005
- const k0 = (GC = class extends fc {
68034
+ const k0 = (GC = class extends pc {
68006
68035
  constructor() {
68007
68036
  super(...arguments);
68008
68037
  u(this, "_alphaFactor", 1);
@@ -68569,7 +68598,7 @@ class hG extends fo {
68569
68598
  onCalculateLayout() {
68570
68599
  }
68571
68600
  }
68572
- var _se = Object.defineProperty, bse = Object.getOwnPropertyDescriptor, gc = (n, e, t, i) => {
68601
+ var _se = Object.defineProperty, bse = Object.getOwnPropertyDescriptor, Ac = (n, e, t, i) => {
68573
68602
  for (var s = i > 1 ? void 0 : i ? bse(e, t) : e, r = n.length - 1, o; r >= 0; r--)
68574
68603
  (o = n[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
68575
68604
  return i && s && _se(e, t, s), s;
@@ -68747,7 +68776,7 @@ const sC = oe("debuguilayout"), dG = class extends fx {
68747
68776
  *_updateRenderSettingsDelayed() {
68748
68777
  if (yield, this._updateRenderSettingsRoutine = void 0, this.shadowComponent) {
68749
68778
  this.onUpdateRenderMode(), D_(this.shadowComponent, this);
68750
- for (const e of le.getComponentsInChildren(this.gameObject, fc))
68779
+ for (const e of le.getComponentsInChildren(this.gameObject, pc))
68751
68780
  D_(e.shadowComponent, this);
68752
68781
  }
68753
68782
  }
@@ -68776,34 +68805,34 @@ const sC = oe("debuguilayout"), dG = class extends fx {
68776
68805
  }
68777
68806
  };
68778
68807
  let $s = dG;
68779
- gc([
68808
+ Ac([
68780
68809
  x()
68781
68810
  ], $s.prototype, "renderOnTop", 1);
68782
- gc([
68811
+ Ac([
68783
68812
  x()
68784
68813
  ], $s.prototype, "depthWrite", 1);
68785
- gc([
68814
+ Ac([
68786
68815
  x()
68787
68816
  ], $s.prototype, "doubleSided", 1);
68788
- gc([
68817
+ Ac([
68789
68818
  x()
68790
68819
  ], $s.prototype, "castShadows", 1);
68791
- gc([
68820
+ Ac([
68792
68821
  x()
68793
68822
  ], $s.prototype, "receiveShadows", 1);
68794
- gc([
68823
+ Ac([
68795
68824
  x()
68796
68825
  ], $s.prototype, "renderMode", 1);
68797
- gc([
68826
+ Ac([
68798
68827
  x($s)
68799
68828
  ], $s.prototype, "rootCanvas", 1);
68800
- gc([
68829
+ Ac([
68801
68830
  x()
68802
68831
  ], $s.prototype, "scaleFactor", 1);
68803
- gc([
68832
+ Ac([
68804
68833
  x(tn)
68805
68834
  ], $s.prototype, "worldCamera", 2);
68806
- gc([
68835
+ Ac([
68807
68836
  x()
68808
68837
  ], $s.prototype, "planeDistance", 2);
68809
68838
  var xse = Object.defineProperty, wse = Object.getOwnPropertyDescriptor, UI = (n, e, t, i) => {
@@ -68836,7 +68865,7 @@ class Yu extends De {
68836
68865
  this._isDirty = !1, this.applyChangesNow();
68837
68866
  }
68838
68867
  applyChangesNow() {
68839
- for (const t of le.getComponentsInChildren(this.gameObject, fc, this._buffer)) {
68868
+ for (const t of le.getComponentsInChildren(this.gameObject, pc, this._buffer)) {
68840
68869
  const i = t;
68841
68870
  i.setAlphaFactor && i.setAlphaFactor(this._alpha);
68842
68871
  }
@@ -68925,7 +68954,7 @@ hn([
68925
68954
  x()
68926
68955
  ], Sp.prototype, "relativeMotion", 2);
68927
68956
  var s0;
68928
- const Uc = (s0 = class extends De {
68957
+ const zc = (s0 = class extends De {
68929
68958
  constructor() {
68930
68959
  super(...arguments);
68931
68960
  u(this, "materialToSwitch");
@@ -68963,15 +68992,15 @@ const Uc = (s0 = class extends De {
68963
68992
  }
68964
68993
  }
68965
68994
  async beforeCreateDocument(e, t) {
68966
- this.targetModels = [], Uc._materialTriggersPerId = {}, Uc.variantSwitchIndex = 0, this.materialToSwitch && await Do.assignTextureLOD(this.context, this.sourceId, this.materialToSwitch, 0), this.variantMaterial && await Do.assignTextureLOD(this.context, this.sourceId, this.variantMaterial, 0);
68995
+ this.targetModels = [], zc._materialTriggersPerId = {}, zc.variantSwitchIndex = 0, this.materialToSwitch && await Do.assignTextureLOD(this.context, this.sourceId, this.materialToSwitch, 0), this.variantMaterial && await Do.assignTextureLOD(this.context, this.sourceId, this.variantMaterial, 0);
68967
68996
  }
68968
68997
  createBehaviours(e, t, i) {
68969
- this._objectsWithThisMaterial.find((r) => r.uuid === t.uuid) && this.targetModels.push(t), this.gameObject.uuid === t.uuid && (this.selfModel = t, this.materialToSwitch && (Uc._materialTriggersPerId[this.materialToSwitch.uuid] || (Uc._materialTriggersPerId[this.materialToSwitch.uuid] = []), Uc._materialTriggersPerId[this.materialToSwitch.uuid].push(this)));
68998
+ this._objectsWithThisMaterial.find((r) => r.uuid === t.uuid) && this.targetModels.push(t), this.gameObject.uuid === t.uuid && (this.selfModel = t, this.materialToSwitch && (zc._materialTriggersPerId[this.materialToSwitch.uuid] || (zc._materialTriggersPerId[this.materialToSwitch.uuid] = []), zc._materialTriggersPerId[this.materialToSwitch.uuid].push(this)));
68970
68999
  }
68971
69000
  afterCreateDocument(e, t) {
68972
69001
  if (!this.materialToSwitch)
68973
69002
  return;
68974
- const i = Uc._materialTriggersPerId[this.materialToSwitch.uuid];
69003
+ const i = zc._materialTriggersPerId[this.materialToSwitch.uuid];
68975
69004
  if (i) {
68976
69005
  const s = {};
68977
69006
  for (const r of i) {
@@ -68985,7 +69014,7 @@ const Uc = (s0 = class extends De {
68985
69014
  r.createAndAttachBehaviors(e, s[r.selfModel.uuid], o);
68986
69015
  }
68987
69016
  }
68988
- delete Uc._materialTriggersPerId[this.materialToSwitch.uuid];
69017
+ delete zc._materialTriggersPerId[this.materialToSwitch.uuid];
68989
69018
  }
68990
69019
  createAndAttachBehaviors(e, t, i) {
68991
69020
  const s = [], r = [], o = Math.max(0, this.fadeDuration);
@@ -69009,12 +69038,12 @@ const Uc = (s0 = class extends De {
69009
69038
  const e = [];
69010
69039
  for (const t of this.targetModels) {
69011
69040
  const i = t.clone();
69012
- i.name += " variant_" + this.variantMaterial.name + "_" + Uc.variantSwitchIndex++, i.name = i.name.replace(/\s/g, "_"), i.material = this.variantMaterial, i.geometry = t.geometry, i.matrix = t.matrix, (!t.parent || !t.parent.isEmpty()) && to.createEmptyParent(t), t.parent && t.parent.add(i), e.push(i);
69041
+ i.name += " variant_" + this.variantMaterial.name + "_" + zc.variantSwitchIndex++, i.name = i.name.replace(/\s/g, "_"), i.material = this.variantMaterial, i.geometry = t.geometry, i.matrix = t.matrix, (!t.parent || !t.parent.isEmpty()) && to.createEmptyParent(t), t.parent && t.parent.add(i), e.push(i);
69013
69042
  }
69014
69043
  return e;
69015
69044
  }
69016
69045
  }, u(s0, "_materialTriggersPerId", {}), u(s0, "variantSwitchIndex", 0), s0);
69017
- let Jv = Uc;
69046
+ let Jv = zc;
69018
69047
  hn([
69019
69048
  x(zt)
69020
69049
  ], Jv.prototype, "materialToSwitch", 2);
@@ -69851,7 +69880,7 @@ var Lse = Object.defineProperty, Fse = Object.getOwnPropertyDescriptor, re = (n,
69851
69880
  return i && s && Lse(e, t, s), s;
69852
69881
  };
69853
69882
  const Ny = oe("debugparticles");
69854
- var Gc = /* @__PURE__ */ ((n) => (n[n.Billboard = 0] = "Billboard", n[n.Stretch = 1] = "Stretch", n[n.HorizontalBillboard = 2] = "HorizontalBillboard", n[n.VerticalBillboard = 3] = "VerticalBillboard", n[n.Mesh = 4] = "Mesh", n))(Gc || {});
69883
+ var Hc = /* @__PURE__ */ ((n) => (n[n.Billboard = 0] = "Billboard", n[n.Stretch = 1] = "Stretch", n[n.HorizontalBillboard = 2] = "HorizontalBillboard", n[n.VerticalBillboard = 3] = "VerticalBillboard", n[n.Mesh = 4] = "Mesh", n))(Hc || {});
69855
69884
  let rd = class {
69856
69885
  constructor() {
69857
69886
  u(this, "alphaKeys");
@@ -71458,7 +71487,7 @@ class Aa extends De {
71458
71487
  }
71459
71488
  this.context.scene.add(i), this._reparentedComponents.length = 0, this._reparentedComponents.push({ comp: this, originalObject: this.gameObject }), le.addComponent(i, this);
71460
71489
  for (const s of this._reticle)
71461
- uc(s);
71490
+ dc(s);
71462
71491
  this._reticle.length = 0, this._isPlacing = !0, this.context.input.addEventListener("pointerup", this.onPlaceScene);
71463
71492
  }
71464
71493
  onLeaveXR() {
@@ -72518,7 +72547,7 @@ const vG = class extends De {
72518
72547
  }
72519
72548
  cr && En("Load textures: " + i.length), await Promise.all(i), cr && En("Load textures: done");
72520
72549
  const s = Ws.Global.Mask;
72521
- Ws.Global.Set(Xc.AR), this.applyWebARSessionRoot();
72550
+ Ws.Global.Set(Jc.AR), this.applyWebARSessionRoot();
72522
72551
  const r = new tie(), o = [...this.extensions], a = new Ax(this.quickLookCompatible);
72523
72552
  o.push(a);
72524
72553
  const c = { self: this, exporter: r, extensions: o, object: e };
@@ -72662,7 +72691,7 @@ var ere = Object.defineProperty, tre = Object.getOwnPropertyDescriptor, hd = (n,
72662
72691
  (o = n[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
72663
72692
  return i && s && ere(e, t, s), s;
72664
72693
  };
72665
- class vc extends _r {
72694
+ class yc extends _r {
72666
72695
  constructor() {
72667
72696
  super(...arguments);
72668
72697
  u(this, "mode");
@@ -72710,26 +72739,26 @@ class vc extends _r {
72710
72739
  }
72711
72740
  hd([
72712
72741
  x()
72713
- ], vc.prototype, "mode", 2);
72742
+ ], yc.prototype, "mode", 2);
72714
72743
  hd([
72715
72744
  x(Ot)
72716
- ], vc.prototype, "focusDistance", 2);
72745
+ ], yc.prototype, "focusDistance", 2);
72717
72746
  hd([
72718
72747
  x(Ot)
72719
- ], vc.prototype, "focalLength", 2);
72748
+ ], yc.prototype, "focalLength", 2);
72720
72749
  hd([
72721
72750
  x(Ot)
72722
- ], vc.prototype, "aperture", 2);
72751
+ ], yc.prototype, "aperture", 2);
72723
72752
  hd([
72724
72753
  x(Ot)
72725
- ], vc.prototype, "gaussianMaxRadius", 2);
72754
+ ], yc.prototype, "gaussianMaxRadius", 2);
72726
72755
  hd([
72727
72756
  x(Ot)
72728
- ], vc.prototype, "resolutionScale", 2);
72757
+ ], yc.prototype, "resolutionScale", 2);
72729
72758
  hd([
72730
72759
  x(Ot)
72731
- ], vc.prototype, "bokehScale", 2);
72732
- Ea("DepthOfField", vc);
72760
+ ], yc.prototype, "bokehScale", 2);
72761
+ Ea("DepthOfField", yc);
72733
72762
  var ire = Object.defineProperty, nre = Object.getOwnPropertyDescriptor, sre = (n, e, t, i) => {
72734
72763
  for (var s = i > 1 ? void 0 : i ? nre(e, t) : e, r = n.length - 1, o; r >= 0; r--)
72735
72764
  (o = n[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
@@ -72765,7 +72794,7 @@ var rre = Object.defineProperty, ore = Object.getOwnPropertyDescriptor, ud = (n,
72765
72794
  (o = n[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
72766
72795
  return i && s && rre(e, t, s), s;
72767
72796
  };
72768
- const nc = oe("debugdrag");
72797
+ const sc = oe("debugdrag");
72769
72798
  var c0;
72770
72799
  const Na = (c0 = class extends De {
72771
72800
  constructor() {
@@ -72833,7 +72862,7 @@ const Na = (c0 = class extends De {
72833
72862
  (this._isDragging || this._potentialDragStartEvt !== null) && e.use();
72834
72863
  }
72835
72864
  onPointerUp(e) {
72836
- if (nc && Vt.DrawLabel(e.point ?? this.gameObject.worldPosition, "POINTERUP:" + e.pointerId + ", " + e.button, 0.03, 3), !this.allowEdit(this.gameObject) || e.button !== 0)
72865
+ if (sc && Vt.DrawLabel(e.point ?? this.gameObject.worldPosition, "POINTERUP:" + e.pointerId + ", " + e.button, 0.03, 3), !this.allowEdit(this.gameObject) || e.button !== 0)
72837
72866
  return;
72838
72867
  this._potentialDragStartEvt = null;
72839
72868
  const t = this._dragHandlers.get(e.event.space), i = this._dragHandlers.get(this.gameObject);
@@ -72872,7 +72901,7 @@ const Na = (c0 = class extends De {
72872
72901
  return;
72873
72902
  this._isDragging = !0, this._dragHelper.setSelected(i, this.context), this.orbit && (this.orbit.enabled = !1);
72874
72903
  const s = le.getComponentInChildren(i, qu);
72875
- nc && console.log("DRAG START", s, i), s && (s.fastMode = !0, s == null || s.requestOwnership()), this._marker = le.addNewComponent(i, Lx), this._draggingRigidbodies.length = 0;
72904
+ sc && console.log("DRAG START", s, i), s && (s.fastMode = !0, s == null || s.requestOwnership()), this._marker = le.addNewComponent(i, Lx), this._draggingRigidbodies.length = 0;
72876
72905
  const r = le.getComponentsInChildren(i, en);
72877
72906
  r && this._draggingRigidbodies.push(...r);
72878
72907
  }
@@ -72884,7 +72913,7 @@ const Na = (c0 = class extends De {
72884
72913
  for (const t of this._draggingRigidbodies)
72885
72914
  t.wakeUp(), t.resetVelocities(), t.resetForcesAndTorques();
72886
72915
  const e = this.targetObject || this.gameObject;
72887
- ac.markDirty(e);
72916
+ cc.markDirty(e);
72888
72917
  }
72889
72918
  /** Called when the last pointer has been removed from this object. */
72890
72919
  onLastDragEnd(e) {
@@ -72894,7 +72923,7 @@ const Na = (c0 = class extends De {
72894
72923
  i.setVelocity(i.smoothedVelocity);
72895
72924
  this._draggingRigidbodies.length = 0;
72896
72925
  const t = this._dragHelper.selected;
72897
- if (nc && console.log("DRAG END", t, t == null ? void 0 : t.visible), this._dragHelper.setSelected(null, this.context), this.orbit && (this.orbit.enabled = !0), e != null && e.object) {
72926
+ if (sc && console.log("DRAG END", t, t == null ? void 0 : t.visible), this._dragHelper.setSelected(null, this.context), this.orbit && (this.orbit.enabled = !0), e != null && e.object) {
72898
72927
  const i = le.getComponentInChildren(e.object, qu);
72899
72928
  i && (i.fastMode = !1);
72900
72929
  }
@@ -72952,7 +72981,7 @@ class are {
72952
72981
  console.error("Invalid: MultiTouchDragHandler needs two valid DragPointerHandlers with hitPointInLocalSpace set.");
72953
72982
  return;
72954
72983
  }
72955
- if (this._tempVec1.copy(this.handlerA.hitPointInLocalSpace), this._tempVec2.copy(this.handlerB.hitPointInLocalSpace), this.gameObject.localToWorld(this._tempVec1), this.gameObject.localToWorld(this._tempVec2), r && (r.worldToLocal(this._tempVec1), r.worldToLocal(this._tempVec2)), this._initialDistance = this._tempVec1.distanceTo(this._tempVec2), this._initialDistance < 0.02 ? (nc && console.log("Finding alternative drag attachment points since initial distance is too low: " + this._initialDistance.toFixed(2)), this.handlerA.followObject.parent.getWorldPosition(this._tempVec1), this.handlerB.followObject.parent.getWorldPosition(this._tempVec2), this._handlerAAttachmentPoint.copy(this._tempVec1), this._handlerBAttachmentPoint.copy(this._tempVec2), this.gameObject.worldToLocal(this._handlerAAttachmentPoint), this.gameObject.worldToLocal(this._handlerBAttachmentPoint), this._initialDistance = this._tempVec1.distanceTo(this._tempVec2), this._initialDistance < 1e-3 && (console.warn("Not supported right now – controller drag points for multitouch are too close!"), this._initialDistance = 1)) : (this._handlerAAttachmentPoint.copy(this.handlerA.hitPointInLocalSpace), this._handlerBAttachmentPoint.copy(this.handlerB.hitPointInLocalSpace)), this._tempVec3.lerpVectors(this._tempVec1, this._tempVec2, 0.5), this._initialScale.copy(t.scale), nc) {
72984
+ if (this._tempVec1.copy(this.handlerA.hitPointInLocalSpace), this._tempVec2.copy(this.handlerB.hitPointInLocalSpace), this.gameObject.localToWorld(this._tempVec1), this.gameObject.localToWorld(this._tempVec2), r && (r.worldToLocal(this._tempVec1), r.worldToLocal(this._tempVec2)), this._initialDistance = this._tempVec1.distanceTo(this._tempVec2), this._initialDistance < 0.02 ? (sc && console.log("Finding alternative drag attachment points since initial distance is too low: " + this._initialDistance.toFixed(2)), this.handlerA.followObject.parent.getWorldPosition(this._tempVec1), this.handlerB.followObject.parent.getWorldPosition(this._tempVec2), this._handlerAAttachmentPoint.copy(this._tempVec1), this._handlerBAttachmentPoint.copy(this._tempVec2), this.gameObject.worldToLocal(this._handlerAAttachmentPoint), this.gameObject.worldToLocal(this._handlerBAttachmentPoint), this._initialDistance = this._tempVec1.distanceTo(this._tempVec2), this._initialDistance < 1e-3 && (console.warn("Not supported right now – controller drag points for multitouch are too close!"), this._initialDistance = 1)) : (this._handlerAAttachmentPoint.copy(this.handlerA.hitPointInLocalSpace), this._handlerBAttachmentPoint.copy(this.handlerB.hitPointInLocalSpace)), this._tempVec3.lerpVectors(this._tempVec1, this._tempVec2, 0.5), this._initialScale.copy(t.scale), sc) {
72956
72985
  this._followObject.add(new zo(2)), this._manipulatorObject.add(new zo(5));
72957
72986
  const c = (l) => `${l.x.toFixed(2)}, ${l.y.toFixed(2)}, ${l.z.toFixed(2)}`;
72958
72987
  Vt.DrawLine(this._tempVec1, this._tempVec2, 65535, 0, !1), Vt.DrawLabel(this._tempVec3, "A:B " + this._initialDistance.toFixed(2) + `
@@ -72975,7 +73004,7 @@ class are {
72975
73004
  const e = this.context.mainCamera;
72976
73005
  this.tempLookMatrix.lookAt(this._tempVec3, this._tempVec2, e.worldUp), this._manipulatorObject.quaternion.setFromRotationMatrix(this.tempLookMatrix);
72977
73006
  const t = this._tempVec1.distanceTo(this._tempVec2);
72978
- this._manipulatorObject.scale.copy(this._initialScale).multiplyScalar(t / this._initialDistance), this._manipulatorObject.updateMatrix(), this._manipulatorObject.updateMatrixWorld(!0), nc && (Vt.DrawLabel(this._tempVec3.clone().add(new w(0, 0.2, 0)), "A:B " + t.toFixed(2), 0.03), Vt.DrawLine(this._tempVec1, this._tempVec2, 65280, 0, !1));
73007
+ this._manipulatorObject.scale.copy(this._initialScale).multiplyScalar(t / this._initialDistance), this._manipulatorObject.updateMatrix(), this._manipulatorObject.updateMatrixWorld(!0), sc && (Vt.DrawLabel(this._tempVec3.clone().add(new w(0, 0.2, 0)), "A:B " + t.toFixed(2), 0.03), Vt.DrawLine(this._tempVec1, this._tempVec2, 65280, 0, !1));
72979
73008
  }
72980
73009
  onDragUpdate() {
72981
73010
  this.alignManipulator();
@@ -73060,7 +73089,7 @@ class cre {
73060
73089
  const t = this._hitPointInLocalSpace.clone();
73061
73090
  this.gameObject.localToWorld(t), this._grabStartDistance = t.distanceTo(e.worldPosition);
73062
73091
  const i = (o = (r = Et.active) == null ? void 0 : r.rig) == null ? void 0 : o.gameObject, s = (i == null ? void 0 : i.worldScale.x) || 1;
73063
- this._grabStartDistance /= s, this._totalMovementAlongRayDirection = 0, this._lastDragPosRigSpace = void 0, nc && (Vt.DrawLine(t, e.worldPosition, 65280, 0.5, !1), Vt.DrawLabel(e.worldPosition.add(new w(0, 0.1, 0)), this._grabStartDistance.toFixed(2), 0.03, 0.5));
73092
+ this._grabStartDistance /= s, this._totalMovementAlongRayDirection = 0, this._lastDragPosRigSpace = void 0, sc && (Vt.DrawLine(t, e.worldPosition, 65280, 0.5, !1), Vt.DrawLabel(e.worldPosition.add(new w(0, 0.1, 0)), this._grabStartDistance.toFixed(2), 0.03, 0.5));
73064
73093
  }
73065
73094
  onDragStart(e) {
73066
73095
  if (e.event.space.add(this._followObject), this._lastDragPosRigSpace = void 0, e.point && e.normal)
@@ -73106,7 +73135,7 @@ class cre {
73106
73135
  const t = e.worldPosition, i = (o = (r = Et.active) == null ? void 0 : r.rig) == null ? void 0 : o.gameObject;
73107
73136
  i && i.worldToLocal(t), (this._lastDragPosRigSpace === void 0 || i != this._lastRig) && (this._lastDragPosRigSpace = t.clone(), this._lastRig = i), this._tempVec.copy(t).sub(this._lastDragPosRigSpace);
73108
73137
  const s = e.worldForward;
73109
- if (i && (this._tempMat.copy(i.matrixWorld).invert(), s.transformDirection(this._tempMat)), this._totalMovementAlongRayDirection += s.dot(this._tempVec), this._tempVec.x = Math.abs(this._tempVec.x), this._tempVec.y = Math.abs(this._tempVec.y), this._tempVec.z = Math.abs(this._tempVec.z), this._totalMovement.add(this._tempVec), this._lastDragPosRigSpace.copy(t), nc) {
73138
+ if (i && (this._tempMat.copy(i.matrixWorld).invert(), s.transformDirection(this._tempMat)), this._totalMovementAlongRayDirection += s.dot(this._tempVec), this._tempVec.x = Math.abs(this._tempVec.x), this._tempVec.y = Math.abs(this._tempVec.y), this._tempVec.z = Math.abs(this._tempVec.z), this._totalMovement.add(this._tempVec), this._lastDragPosRigSpace.copy(t), sc) {
73110
73139
  let a = t;
73111
73140
  i && (a = a.clone(), a.transformDirection(i.matrixWorld)), Vt.DrawRay(a, s, 255);
73112
73141
  }
@@ -73146,7 +73175,7 @@ class cre {
73146
73175
  if (c !== 1 && f.intersectPlane(this._dragPlane, this._tempVec)) {
73147
73176
  this._followObject.worldPosition = this._tempVec, this._followObject.updateMatrix(), this._followObject.updateMatrixWorld(!0);
73148
73177
  const y = this._hitPointInLocalSpace.clone();
73149
- this._followObject.localToWorld(y), nc && Vt.DrawLine(y, this._tempVec, 65535, 0, !1), this._followObject.worldPosition = this._tempVec.multiplyScalar(2).sub(y), this._followObject.updateMatrix(), this._followObject.updateMatrix();
73178
+ this._followObject.localToWorld(y), sc && Vt.DrawLine(y, this._tempVec, 65535, 0, !1), this._followObject.worldPosition = this._tempVec.multiplyScalar(2).sub(y), this._followObject.updateMatrix(), this._followObject.updateMatrix();
73150
73179
  }
73151
73180
  if (this.settings.snapGridResolution > 0) {
73152
73181
  const y = this._followObject.worldPosition, g = this.settings.snapGridResolution;
@@ -73156,7 +73185,7 @@ class cre {
73156
73185
  const p = rt.clamp01(this.context.time.deltaTime * l * d), m = t.worldPosition;
73157
73186
  m.lerp(this._followObject.worldPosition, p), t.worldPosition = m;
73158
73187
  const v = t.worldQuaternion;
73159
- if (v.slerp(this._followObject.worldQuaternion, p), t.worldQuaternion = v, nc) {
73188
+ if (v.slerp(this._followObject.worldQuaternion, p), t.worldQuaternion = v, sc) {
73160
73189
  const y = this._hitPointInLocalSpace.clone();
73161
73190
  t.localToWorld(y), Vt.DrawSphere(y, 0.02, 16711680);
73162
73191
  const g = this._hitNormalInLocalSpace.clone();
@@ -73222,12 +73251,12 @@ const BR = class {
73222
73251
  if (this._selected && t)
73223
73252
  for (const i of this._rbs)
73224
73253
  i.wakeUp(), i.setVelocity(0, 0, 0);
73225
- if (this._selected && cl.Remove(t, this._selected), this._selected = e, this._context = t, this._rbs.length = 0, e ? (t.scene.add(this._groundLine), t.scene.add(this._groundMarker)) : (this._groundLine.removeFromParent(), this._groundMarker.removeFromParent()), this._selected) {
73254
+ if (this._selected && ll.Remove(t, this._selected), this._selected = e, this._context = t, this._rbs.length = 0, e ? (t.scene.add(this._groundLine), t.scene.add(this._groundMarker)) : (this._groundLine.removeFromParent(), this._groundMarker.removeFromParent()), this._selected) {
73226
73255
  if (!t) {
73227
73256
  console.error("DragHelper: no context");
73228
73257
  return;
73229
73258
  }
73230
- cl.Add(t, this._selected, null), this._groundOffsetFactor = 0, this._hasGroundPlane = !0, this._groundOffset.set(0, 0, 0), this._requireUpdateGroundPlane = !0, this.onUpdateScreenSpacePlane();
73259
+ ll.Add(t, this._selected, null), this._groundOffsetFactor = 0, this._hasGroundPlane = !0, this._groundOffset.set(0, 0, 0), this._requireUpdateGroundPlane = !0, this.onUpdateScreenSpacePlane();
73231
73260
  }
73232
73261
  }
73233
73262
  onUpdate(e) {
@@ -73307,7 +73336,7 @@ async function ure(n, e, t) {
73307
73336
  return i.endsWith(".gltf") || i.endsWith(".glb") ? new Promise((s, r) => {
73308
73337
  const o = new FileReader();
73309
73338
  o.readAsArrayBuffer(n), o.onloadend = async (a) => {
73310
- const c = o.result, l = jT(), h = new Rs(l), d = await dc().parseSync(e, c, n.name, h);
73339
+ const c = o.result, l = jT(), h = new Rs(l), d = await fc().parseSync(e, c, n.name, h);
73311
73340
  if (d && d.scene) {
73312
73341
  const f = d.scene;
73313
73342
  if (!f.guid) {
@@ -73321,7 +73350,7 @@ async function ure(n, e, t) {
73321
73350
  }
73322
73351
  async function dre(n, e) {
73323
73352
  return new Promise(async (t, i) => {
73324
- const s = jT(), r = new Rs(s), o = n.toString(), a = await dc().loadSync(e, o, o, r);
73353
+ const s = jT(), r = new Rs(s), o = n.toString(), a = await fc().loadSync(e, o, o, r);
73325
73354
  a && a.scene ? (a.scene, HI(), t(a)) : console.warn("Unsupported file type: " + n.toString());
73326
73355
  });
73327
73356
  }
@@ -73339,7 +73368,7 @@ function fre(n) {
73339
73368
  gre(e);
73340
73369
  }
73341
73370
  if (t) {
73342
- const i = new Rs(e.seed), s = await dc().parseSync(n, t, e.file_name, i);
73371
+ const i = new Rs(e.seed), s = await fc().parseSync(n, t, e.file_name, i);
73343
73372
  if (s && s.scene) {
73344
73373
  const r = s.scene;
73345
73374
  if (HI(), e.parentGuid) {
@@ -73583,7 +73612,7 @@ class Ip extends De {
73583
73612
  if (!this.object || this._currentCount >= this.limitCount || this.object === this.gameObject)
73584
73613
  return null;
73585
73614
  this.object.visible = !0, this._startPosition && this.object.position.copy(this._startPosition), this._startQuaternion && this.object.quaternion.copy(this._startQuaternion);
73586
- const t = new fl();
73615
+ const t = new gc();
73587
73616
  this.parent || (this.parent = this.gameObject.parent), this.parent && (t.parent = this.parent.guid ?? ((s = this.parent.userData) == null ? void 0 : s.guid), t.keepWorldPosition = !0), t.position = this.worldPosition, t.rotation = this.worldQuaternion, t.context = this.context, this._currentCount += 1;
73588
73617
  const i = le.instantiateSynced(this.object, t);
73589
73618
  return console.assert(i !== this.object, "Duplicated object is original"), this.object.visible = !1, this._startPosition && this.object.position.clone().copy(this._startPosition), this._startQuaternion && this.object.quaternion.clone().copy(this._startQuaternion), i;
@@ -74075,7 +74104,7 @@ const ri = {
74075
74104
  }, lC = "KHR_mesh_quantization", no = {};
74076
74105
  no[jt] = ri.NEAREST;
74077
74106
  no[Gf] = ri.NEAREST_MIPMAP_NEAREST;
74078
- no[Vc] = ri.NEAREST_MIPMAP_LINEAR;
74107
+ no[Qc] = ri.NEAREST_MIPMAP_LINEAR;
74079
74108
  no[Tt] = ri.LINEAR;
74080
74109
  no[Mu] = ri.LINEAR_MIPMAP_NEAREST;
74081
74110
  no[Lr] = ri.LINEAR_MIPMAP_LINEAR;
@@ -74294,7 +74323,7 @@ class zre {
74294
74323
  return v;
74295
74324
  };
74296
74325
  }
74297
- console.warn("THREE.GLTFExporter: Merged metalnessMap and roughnessMap textures."), e instanceof rc && (e = cC(e)), t instanceof rc && (t = cC(t));
74326
+ console.warn("THREE.GLTFExporter: Merged metalnessMap and roughnessMap textures."), e instanceof oc && (e = cC(e)), t instanceof oc && (t = cC(t));
74298
74327
  const s = e ? e.image : null, r = t ? t.image : null, o = Math.max(s ? s.width : 0, r ? r.width : 0), a = Math.max(s ? s.height : 0, r ? r.height : 0), c = ik();
74299
74328
  c.width = o, c.height = a;
74300
74329
  const l = c.getContext("2d");
@@ -74314,7 +74343,7 @@ class zre {
74314
74343
  }
74315
74344
  l.putImageData(h, 0, 0);
74316
74345
  const f = (e || t).clone();
74317
- return f.source = new Yc(c), f.colorSpace = ls, f.channel = (e || t).channel, e && t && e.channel !== t.channel && console.warn("THREE.GLTFExporter: UV channels for metalnessMap and roughnessMap textures must match."), f;
74346
+ return f.source = new Kc(c), f.colorSpace = ls, f.channel = (e || t).channel, e && t && e.channel !== t.channel && console.warn("THREE.GLTFExporter: UV channels for metalnessMap and roughnessMap textures must match."), f;
74318
74347
  }
74319
74348
  /**
74320
74349
  * Process a buffer to append to the default one.
@@ -74502,7 +74531,7 @@ class zre {
74502
74531
  const i = this.options, s = this.cache, r = this.json;
74503
74532
  if (s.textures.has(e))
74504
74533
  return s.textures.get(e);
74505
- r.textures || (r.textures = []), e instanceof rc && (e = cC(e, i.maxTextureSize));
74534
+ r.textures || (r.textures = []), e instanceof oc && (e = cC(e, i.maxTextureSize));
74506
74535
  let o = e.userData.mimeType;
74507
74536
  o === "image/webp" && (o = "image/png");
74508
74537
  const a = {
@@ -75175,7 +75204,7 @@ KI.Utils = {
75175
75204
  if (o.createInterpolant !== o.InterpolantFactoryMethodDiscrete && o.createInterpolant !== o.InterpolantFactoryMethodLinear) {
75176
75205
  if (o.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline)
75177
75206
  throw new Error("THREE.GLTFExporter: Cannot merge tracks with glTF CUBICSPLINE interpolation.");
75178
- console.warn("THREE.GLTFExporter: Morph target interpolation mode not yet supported. Using LINEAR instead."), o = o.clone(), o.setInterpolation(lc);
75207
+ console.warn("THREE.GLTFExporter: Morph target interpolation mode not yet supported. Using LINEAR instead."), o = o.clone(), o.setInterpolation(hc);
75179
75208
  }
75180
75209
  const l = c.morphTargetInfluences.length, h = c.morphTargetDictionary[a.propertyIndex];
75181
75210
  if (h === void 0)
@@ -75618,7 +75647,7 @@ Vx([
75618
75647
  Vx([
75619
75648
  x(Ps)
75620
75649
  ], Pp.prototype, "onEndEdit", 2);
75621
- var hoe = Object.defineProperty, uoe = Object.getOwnPropertyDescriptor, Ac = (n, e, t, i) => {
75650
+ var hoe = Object.defineProperty, uoe = Object.getOwnPropertyDescriptor, _c = (n, e, t, i) => {
75622
75651
  for (var s = i > 1 ? void 0 : i ? uoe(e, t) : e, r = n.length - 1, o; r >= 0; r--)
75623
75652
  (o = n[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
75624
75653
  return i && s && hoe(e, t, s), s;
@@ -75831,34 +75860,34 @@ class mo extends De {
75831
75860
  }
75832
75861
  }
75833
75862
  u(mo, "allowChangingRendererShadowMapType", !0);
75834
- Ac([
75863
+ _c([
75835
75864
  x()
75836
75865
  ], mo.prototype, "type", 2);
75837
- Ac([
75866
+ _c([
75838
75867
  x(ye)
75839
75868
  ], mo.prototype, "color", 1);
75840
- Ac([
75869
+ _c([
75841
75870
  x()
75842
75871
  ], mo.prototype, "shadowNearPlane", 1);
75843
- Ac([
75872
+ _c([
75844
75873
  x()
75845
75874
  ], mo.prototype, "shadowBias", 1);
75846
- Ac([
75875
+ _c([
75847
75876
  x()
75848
75877
  ], mo.prototype, "shadowNormalBias", 1);
75849
- Ac([
75878
+ _c([
75850
75879
  x()
75851
75880
  ], mo.prototype, "shadows", 1);
75852
- Ac([
75881
+ _c([
75853
75882
  x()
75854
75883
  ], mo.prototype, "lightmapBakeType", 2);
75855
- Ac([
75884
+ _c([
75856
75885
  x()
75857
75886
  ], mo.prototype, "intensity", 1);
75858
- Ac([
75887
+ _c([
75859
75888
  x()
75860
75889
  ], mo.prototype, "shadowDistance", 1);
75861
- Ac([
75890
+ _c([
75862
75891
  x()
75863
75892
  ], mo.prototype, "shadowResolution", 1);
75864
75893
  new w(0, 0, 0);
@@ -76255,7 +76284,7 @@ class $I extends De {
76255
76284
  const t = this.gameObject.parent;
76256
76285
  if (t) {
76257
76286
  this._isLoadingOrDoneLoading = !0;
76258
- const c = new fl();
76287
+ const c = new gc();
76259
76288
  c.idProvider = new Rs(this.hash(this.guid)), c.parent = t, this.gameObject.updateMatrix();
76260
76289
  const l = this.gameObject.matrix;
76261
76290
  Hy && console.log("Load nested:", ((i = this.filePath) == null ? void 0 : i.uri) ?? this.filePath, this.gameObject.position);
@@ -81126,7 +81155,7 @@ class Jae extends dd {
81126
81155
  if (t.rotation === void 0)
81127
81156
  return;
81128
81157
  const s = t.age / t.life;
81129
- if (typeof t.rotation == "number" && (this.system.rotationOverLifetime.enabled ? t.rotation += this.system.rotationOverLifetime.evaluate(s, t[Fk]) * i : this.system.renderer.renderMode === Gc.Billboard && (t.rotation = Math.PI), this.system.rotationBySpeed.enabled)) {
81158
+ if (typeof t.rotation == "number" && (this.system.rotationOverLifetime.enabled ? t.rotation += this.system.rotationOverLifetime.evaluate(s, t[Fk]) * i : this.system.renderer.renderMode === Hc.Billboard && (t.rotation = Math.PI), this.system.rotationBySpeed.enabled)) {
81130
81159
  const r = t.velocity.length();
81131
81160
  t.rotation += this.system.rotationBySpeed.evaluate(s, r) * i;
81132
81161
  }
@@ -81148,7 +81177,7 @@ class Zae extends dd {
81148
81177
  let r = 1;
81149
81178
  this.system.sizeOverLifetime.enabled && (r *= this.system.sizeOverLifetime.evaluate(s, void 0, t[Uk]).x);
81150
81179
  let o = 1;
81151
- if (this.system.renderer.renderMode !== Gc.Mesh && (o = this.system.worldScale.x / this.system.cameraScale), t.size = t.startSize * r * o, this.system.localspace) {
81180
+ if (this.system.renderer.renderMode !== Hc.Mesh && (o = this.system.worldScale.x / this.system.cameraScale), t.size = t.startSize * r * o, this.system.localspace) {
81152
81181
  const a = kG(this.system, Kae);
81153
81182
  t.size *= a.x;
81154
81183
  }
@@ -81309,15 +81338,15 @@ class ice {
81309
81338
  if (this.system.trails.enabled === !0)
81310
81339
  return ot.Trail;
81311
81340
  switch (this.system.renderer.renderMode) {
81312
- case Gc.Billboard:
81341
+ case Hc.Billboard:
81313
81342
  return ot.BillBoard;
81314
- case Gc.Stretch:
81343
+ case Hc.Stretch:
81315
81344
  return ot.StretchedBillBoard;
81316
- case Gc.HorizontalBillboard:
81345
+ case Hc.HorizontalBillboard:
81317
81346
  return ot.HorizontalBillBoard;
81318
- case Gc.VerticalBillboard:
81347
+ case Hc.VerticalBillboard:
81319
81348
  return ot.VerticalBillBoard;
81320
- case Gc.Mesh:
81349
+ case Hc.Mesh:
81321
81350
  return ot.Mesh;
81322
81351
  }
81323
81352
  return ot.BillBoard;
@@ -81325,7 +81354,7 @@ class ice {
81325
81354
  get speedFactor() {
81326
81355
  var t;
81327
81356
  let e = this.system.main.simulationSpeed;
81328
- return ((t = this.system.renderer) == null ? void 0 : t.renderMode) === Gc.Stretch && (e *= this.system.renderer.velocityScale ?? 1), e;
81357
+ return ((t = this.system.renderer) == null ? void 0 : t.renderMode) === Hc.Stretch && (e *= this.system.renderer.velocityScale ?? 1), e;
81329
81358
  }
81330
81359
  get texture() {
81331
81360
  const e = this.material;
@@ -83379,7 +83408,7 @@ class _h extends De {
83379
83408
  return !1;
83380
83409
  this.url = t;
83381
83410
  const s = t.lastIndexOf("/");
83382
- return i.name = t.substring(s >= 0 ? s + 1 : 0), this._loader instanceof nl && (i.colorSpace = Wt), this._prevLoadedEnvironment = i, this.applySkybox(), !0;
83411
+ return i.name = t.substring(s >= 0 ? s + 1 : 0), this._loader instanceof sl && (i.colorSpace = Wt), this._prevLoadedEnvironment = i, this.applySkybox(), !0;
83383
83412
  }
83384
83413
  async loadTexture(t) {
83385
83414
  var c, l, h, d, f;
@@ -83392,7 +83421,7 @@ class _h extends De {
83392
83421
  return p;
83393
83422
  }
83394
83423
  const s = t.endsWith(".exr"), r = t.endsWith(".hdr");
83395
- s ? this._loader instanceof M_ || (this._loader = new M_()) : r ? this._loader instanceof y1 || (this._loader = new y1()) : this._loader instanceof nl || (this._loader = new nl()), Ja && console.log("Loading skybox: " + t);
83424
+ s ? this._loader instanceof M_ || (this._loader = new M_()) : r ? this._loader instanceof y1 || (this._loader = new y1()) : this._loader instanceof sl || (this._loader = new sl()), Ja && console.log("Loading skybox: " + t);
83396
83425
  const o = this._loader.loadAsync(t);
83397
83426
  return vce(t, o), await o;
83398
83427
  }
@@ -84479,13 +84508,13 @@ class Fp extends De {
84479
84508
  }
84480
84509
  onEnable() {
84481
84510
  var t, i, s;
84482
- (t = this._net) == null || t.enable(), (i = this._net) == null || i.addEventListener(tl.StreamReceived, this.onReceiveStream), (s = this._net) == null || s.addEventListener(tl.StreamEnded, this.onCallEnded), this.context.connection.beginListen(gi.JoinedRoom, this.onJoinedRoom), this.autoConnect && ua(1e3).then(() => {
84511
+ (t = this._net) == null || t.enable(), (i = this._net) == null || i.addEventListener(il.StreamReceived, this.onReceiveStream), (s = this._net) == null || s.addEventListener(il.StreamEnded, this.onCallEnded), this.context.connection.beginListen(gi.JoinedRoom, this.onJoinedRoom), this.autoConnect && ua(1e3).then(() => {
84483
84512
  this.enabled && this.autoConnect && !this.isReceiving && !this.isSending && this.context.connection.isInRoom && this.share();
84484
84513
  });
84485
84514
  }
84486
84515
  onDisable() {
84487
84516
  var t, i, s;
84488
- (t = this._net) == null || t.removeEventListener(tl.StreamReceived, this.onReceiveStream), (i = this._net) == null || i.removeEventListener(tl.StreamEnded, this.onCallEnded), this.context.connection.stopListen(gi.JoinedRoom, this.onJoinedRoom), (s = this._net) == null || s.disable(), this.close();
84517
+ (t = this._net) == null || t.removeEventListener(il.StreamReceived, this.onReceiveStream), (i = this._net) == null || i.removeEventListener(il.StreamEnded, this.onCallEnded), this.context.connection.stopListen(gi.JoinedRoom, this.onJoinedRoom), (s = this._net) == null || s.disable(), this.close();
84489
84518
  }
84490
84519
  _ensureVideoPlayer() {
84491
84520
  const t = new fs();
@@ -84702,7 +84731,7 @@ var Dce = Object.defineProperty, Oce = Object.getOwnPropertyDescriptor, fd = (n,
84702
84731
  (o = n[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
84703
84732
  return i && s && Dce(e, t, s), s;
84704
84733
  }, Z1 = /* @__PURE__ */ ((n) => (n[n.Performance = 0] = "Performance", n[n.Low = 1] = "Low", n[n.Medium = 2] = "Medium", n[n.High = 3] = "High", n[n.Ultra = 4] = "Ultra", n))(Z1 || {});
84705
- class yc extends _r {
84734
+ class bc extends _r {
84706
84735
  constructor() {
84707
84736
  super(...arguments);
84708
84737
  u(this, "gammaCorrection", !0);
@@ -84743,28 +84772,28 @@ class yc extends _r {
84743
84772
  fd([
84744
84773
  tr(),
84745
84774
  x()
84746
- ], yc.prototype, "gammaCorrection", 2);
84775
+ ], bc.prototype, "gammaCorrection", 2);
84747
84776
  fd([
84748
84777
  x(Ot)
84749
- ], yc.prototype, "intensity", 2);
84778
+ ], bc.prototype, "intensity", 2);
84750
84779
  fd([
84751
84780
  x(Ot)
84752
- ], yc.prototype, "falloff", 2);
84781
+ ], bc.prototype, "falloff", 2);
84753
84782
  fd([
84754
84783
  x(Ot)
84755
- ], yc.prototype, "aoRadius", 2);
84784
+ ], bc.prototype, "aoRadius", 2);
84756
84785
  fd([
84757
84786
  tr(),
84758
84787
  x()
84759
- ], yc.prototype, "screenspaceRadius", 2);
84788
+ ], bc.prototype, "screenspaceRadius", 2);
84760
84789
  fd([
84761
84790
  x(Ot)
84762
- ], yc.prototype, "color", 2);
84791
+ ], bc.prototype, "color", 2);
84763
84792
  fd([
84764
84793
  tr(),
84765
84794
  x()
84766
- ], yc.prototype, "quality", 2);
84767
- Ea("ScreenSpaceAmbientOcclusionN8", yc);
84795
+ ], bc.prototype, "quality", 2);
84796
+ Ea("ScreenSpaceAmbientOcclusionN8", bc);
84768
84797
  var kce = Object.defineProperty, Lce = Object.getOwnPropertyDescriptor, HG = (n, e, t, i) => {
84769
84798
  for (var s = i > 1 ? void 0 : i ? Lce(e, t) : e, r = n.length - 1, o; r >= 0; r--)
84770
84799
  (o = n[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
@@ -85164,7 +85193,7 @@ const hg = oe("debugspatialtrigger"), qk = new gr(), Xk = new gr();
85164
85193
  function jce(n, e) {
85165
85194
  return qk.mask = n, Xk.mask = e, qk.test(Xk);
85166
85195
  }
85167
- class ll extends De {
85196
+ class hl extends De {
85168
85197
  constructor() {
85169
85198
  super(...arguments);
85170
85199
  u(this, "triggerMask", 0);
@@ -85204,16 +85233,16 @@ class ll extends De {
85204
85233
  }
85205
85234
  hA([
85206
85235
  x()
85207
- ], ll.prototype, "triggerMask", 2);
85236
+ ], hl.prototype, "triggerMask", 2);
85208
85237
  hA([
85209
85238
  x(Ps)
85210
- ], ll.prototype, "onEnter", 2);
85239
+ ], hl.prototype, "onEnter", 2);
85211
85240
  hA([
85212
85241
  x(Ps)
85213
- ], ll.prototype, "onStay", 2);
85242
+ ], hl.prototype, "onStay", 2);
85214
85243
  hA([
85215
85244
  x(Ps)
85216
- ], ll.prototype, "onExit", 2);
85245
+ ], hl.prototype, "onExit", 2);
85217
85246
  var jC;
85218
85247
  const z0 = (jC = class extends De {
85219
85248
  constructor() {
@@ -85237,17 +85266,17 @@ const z0 = (jC = class extends De {
85237
85266
  // private args: SpatialTriggerEventArgs = new SpatialTriggerEventArgs();
85238
85267
  raiseOnEnterEvent(e) {
85239
85268
  le.foreachComponent(this.gameObject, (t) => {
85240
- t !== e && t instanceof ll && t.onEnterTrigger(this);
85269
+ t !== e && t instanceof hl && t.onEnterTrigger(this);
85241
85270
  }, !1);
85242
85271
  }
85243
85272
  raiseOnStayEvent(e) {
85244
85273
  le.foreachComponent(this.gameObject, (t) => {
85245
- t !== e && t instanceof ll && t.onStayTrigger(this);
85274
+ t !== e && t instanceof hl && t.onStayTrigger(this);
85246
85275
  }, !1);
85247
85276
  }
85248
85277
  raiseOnExitEvent(e) {
85249
85278
  le.foreachComponent(this.gameObject, (t) => {
85250
- t !== e && t instanceof ll && t.onExitTrigger(this);
85279
+ t !== e && t instanceof hl && t.onExitTrigger(this);
85251
85280
  }, !1);
85252
85281
  }
85253
85282
  }, u(jC, "triggers", []), jC);
@@ -85394,8 +85423,8 @@ class hR extends De {
85394
85423
  const t = this._mode === 0;
85395
85424
  for (const i of hs.instances)
85396
85425
  if (i.avatar && "isLocalAvatar" in i.avatar && "flags" in i.avatar) {
85397
- let s = Xc.All;
85398
- this.isSpectatingSelf && (s = t && i.avatar.isLocalAvatar ? Xc.FirstPerson : Xc.ThirdPerson);
85426
+ let s = Jc.All;
85427
+ this.isSpectatingSelf && (s = t && i.avatar.isLocalAvatar ? Jc.FirstPerson : Jc.ThirdPerson);
85399
85428
  const r = i.avatar.flags;
85400
85429
  if (!r)
85401
85430
  continue;
@@ -85411,7 +85440,7 @@ class hR extends De {
85411
85440
  if (!s)
85412
85441
  continue;
85413
85442
  for (const r of s)
85414
- "isLocalAvatar" in i.avatar && ((t = i.avatar) != null && t.isLocalAvatar) ? r.UpdateVisible(Xc.FirstPerson) : r.UpdateVisible(Xc.ThirdPerson);
85443
+ "isLocalAvatar" in i.avatar && ((t = i.avatar) != null && t.isLocalAvatar) ? r.UpdateVisible(Jc.FirstPerson) : r.UpdateVisible(Jc.ThirdPerson);
85415
85444
  }
85416
85445
  }
85417
85446
  }
@@ -85911,7 +85940,7 @@ const eM = (WC = class extends De {
85911
85940
  let s = this.remoteCams[t];
85912
85941
  if (!s)
85913
85942
  if ("isObject3D" in this.cameraPrefab) {
85914
- const c = new fl();
85943
+ const c = new gc();
85915
85944
  c.context = this.context;
85916
85945
  const l = le.instantiate(this.cameraPrefab, c);
85917
85946
  s = this.remoteCams[t] = { obj: l, lastUpdate: this.context.time.realtimeSinceStartup, userId: i }, s.obj.visible = !0, this.gameObject.add(l), this.userToCamMap[i] = t, eM.instances.push(s);
@@ -85920,7 +85949,7 @@ const eM = (WC = class extends De {
85920
85949
  } else
85921
85950
  return;
85922
85951
  const r = s.obj;
85923
- this.context.players.setPlayerView(i, r, Ou.Browser), s.lastUpdate = this.context.time.realtimeSinceStartup, ac.markDirty(r);
85952
+ this.context.players.setPlayerView(i, r, Ou.Browser), s.lastUpdate = this.context.time.realtimeSinceStartup, cc.markDirty(r);
85924
85953
  const o = e.pos();
85925
85954
  o && jf(r, o.x(), o.y(), o.z());
85926
85955
  const a = e.rot();
@@ -88037,7 +88066,7 @@ class vR extends De {
88037
88066
  async onEnterXR(t) {
88038
88067
  ym && console.log("WebXR onEnterXR"), this._previousXRState = Ws.Global.Mask;
88039
88068
  const i = t.xr.isVR;
88040
- if (Ws.Global.Set(i ? Xc.VR : Xc.AR), this.usePlacementReticle && t.xr.isAR) {
88069
+ if (Ws.Global.Set(i ? Jc.VR : Jc.AR), this.usePlacementReticle && t.xr.isAR) {
88041
88070
  let r = le.findObjectOfType(Aa);
88042
88071
  if (r)
88043
88072
  ym && console.log("WebXR: WebARSessionRoot already exists, not creating a new one");
@@ -88369,7 +88398,7 @@ class vd extends De {
88369
88398
  const s = i.get(t);
88370
88399
  if (!s)
88371
88400
  return;
88372
- i.delete(t), e0 && console.log("Plane no longer tracked, id=" + s.id), s.mesh && s.mesh.parent && (s.mesh.parent.remove(s.mesh), uc(s.mesh, !0, !0));
88401
+ i.delete(t), e0 && console.log("Plane no longer tracked, id=" + s.id), s.mesh && s.mesh.parent && (s.mesh.parent.remove(s.mesh), dc(s.mesh, !0, !0));
88373
88402
  const r = new CustomEvent("plane-tracking", {
88374
88403
  detail: {
88375
88404
  type: "plane-removed",
@@ -88644,9 +88673,9 @@ const dhe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
88644
88673
  Avatar_Brain_LookAt: L_,
88645
88674
  Avatar_MouthShapes: wx,
88646
88675
  Avatar_MustacheShake: $z,
88647
- Avatar_POI: cl,
88676
+ Avatar_POI: ll,
88648
88677
  AxesHelper: Qv,
88649
- BaseUIComponent: fc,
88678
+ BaseUIComponent: pc,
88650
88679
  BasicIKConstraint: iG,
88651
88680
  BehaviorExtension: DI,
88652
88681
  BehaviorModel: us,
@@ -88676,7 +88705,7 @@ const dhe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
88676
88705
  CustomBranding: ld,
88677
88706
  Deletable: AG,
88678
88707
  DeleteBox: GI,
88679
- DepthOfField: vc,
88708
+ DepthOfField: yc,
88680
88709
  DeviceFlag: VI,
88681
88710
  DocumentExtension: yG,
88682
88711
  DragControls: ya,
@@ -88758,7 +88787,7 @@ const dhe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
88758
88787
  SceneSwitcher: xr,
88759
88788
  ScreenCapture: Fp,
88760
88789
  ScreenSpaceAmbientOcclusion: Ph,
88761
- ScreenSpaceAmbientOcclusionN8: yc,
88790
+ ScreenSpaceAmbientOcclusionN8: bc,
88762
88791
  SetActiveOnClick: Cp,
88763
88792
  ShadowCatcher: iw,
88764
88793
  ShapeModule: Hn,
@@ -88774,7 +88803,7 @@ const dhe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
88774
88803
  SpatialGrabRaycaster: B_,
88775
88804
  SpatialHtml: jG,
88776
88805
  SpatialTrigger: sw,
88777
- SpatialTriggerReceiver: ll,
88806
+ SpatialTriggerReceiver: hl,
88778
88807
  SpectatorCamera: hR,
88779
88808
  SphereCollider: Cx,
88780
88809
  Sprite: Bh,
@@ -88860,14 +88889,14 @@ $.add("Avatar", Ap);
88860
88889
  $.add("Avatar_Brain_LookAt", L_);
88861
88890
  $.add("Avatar_MouthShapes", wx);
88862
88891
  $.add("Avatar_MustacheShake", $z);
88863
- $.add("Avatar_POI", cl);
88892
+ $.add("Avatar_POI", ll);
88864
88893
  $.add("AvatarBlink_Simple", _p);
88865
88894
  $.add("AvatarEyeLook_Rotation", Hv);
88866
88895
  $.add("AvatarLoader", tG);
88867
88896
  $.add("AvatarMarker", hs);
88868
88897
  $.add("AvatarModel", PI);
88869
88898
  $.add("AxesHelper", Qv);
88870
- $.add("BaseUIComponent", fc);
88899
+ $.add("BaseUIComponent", pc);
88871
88900
  $.add("BasicIKConstraint", iG);
88872
88901
  $.add("BehaviorExtension", DI);
88873
88902
  $.add("BehaviorModel", us);
@@ -88897,7 +88926,7 @@ $.add("ControlTrackHandler", CI);
88897
88926
  $.add("CustomBranding", ld);
88898
88927
  $.add("Deletable", AG);
88899
88928
  $.add("DeleteBox", GI);
88900
- $.add("DepthOfField", vc);
88929
+ $.add("DepthOfField", yc);
88901
88930
  $.add("DeviceFlag", VI);
88902
88931
  $.add("DocumentExtension", yG);
88903
88932
  $.add("DragControls", ya);
@@ -88982,7 +89011,7 @@ $.add("RotationOverLifetimeModule", Ta);
88982
89011
  $.add("SceneSwitcher", xr);
88983
89012
  $.add("ScreenCapture", Fp);
88984
89013
  $.add("ScreenSpaceAmbientOcclusion", Ph);
88985
- $.add("ScreenSpaceAmbientOcclusionN8", yc);
89014
+ $.add("ScreenSpaceAmbientOcclusionN8", bc);
88986
89015
  $.add("SetActiveOnClick", Cp);
88987
89016
  $.add("ShadowCatcher", iw);
88988
89017
  $.add("ShapeModule", Hn);
@@ -88998,7 +89027,7 @@ $.add("SmoothFollow", pd);
88998
89027
  $.add("SpatialGrabRaycaster", B_);
88999
89028
  $.add("SpatialHtml", jG);
89000
89029
  $.add("SpatialTrigger", sw);
89001
- $.add("SpatialTriggerReceiver", ll);
89030
+ $.add("SpatialTriggerReceiver", hl);
89002
89031
  $.add("SpectatorCamera", hR);
89003
89032
  $.add("SphereCollider", Cx);
89004
89033
  $.add("Sprite", Bh);
@@ -89194,7 +89223,7 @@ function Uf(n, e) {
89194
89223
  t(e);
89195
89224
  }
89196
89225
  async function n4(n, e, t, i, s) {
89197
- t4 && console.warn("glTF", e, t), e.includes("?") && (e = e.split("?")[0]), await dc().createBuiltinComponents(n, e, t, i, s);
89226
+ t4 && console.warn("glTF", e, t), e.includes("?") && (e = e.split("?")[0]), await fc().createBuiltinComponents(n, e, t, i, s);
89198
89227
  }
89199
89228
  async function s4(n, e) {
89200
89229
  const t = new gp();
@@ -89420,7 +89449,7 @@ class l4 extends HTMLElement {
89420
89449
  const t = this._loadId;
89421
89450
  setTimeout(() => {
89422
89451
  this.isConnected !== !1 && t === this._loadId && this.onLoad();
89423
- }, 1), Zc != null && Zc.length && this.setAttribute("version", Zc);
89452
+ }, 1), el != null && el.length && this.setAttribute("version", el);
89424
89453
  }
89425
89454
  disconnectedCallback() {
89426
89455
  var s;
@@ -89691,7 +89720,7 @@ function Bde(n) {
89691
89720
  for (const d of s) {
89692
89721
  const f = d, p = f.isComponent === !0, m = p ? f.activeAndEnabled : !0, v = p ? f.context : void 0;
89693
89722
  try {
89694
- if (p && v && jc(f, v), p && m && (f.enabled = !1), d.onBeforeHotReloadFields && d.onBeforeHotReloadFields() === !1)
89723
+ if (p && v && qc(f, v), p && m && (f.enabled = !1), d.onBeforeHotReloadFields && d.onBeforeHotReloadFields() === !1)
89695
89724
  continue;
89696
89725
  for (const y in h)
89697
89726
  if (h[y].writable) {
@@ -89717,7 +89746,7 @@ function Bde(n) {
89717
89746
  else
89718
89747
  return !1;
89719
89748
  } finally {
89720
- rv = !1, sl(da.Log, "Script changes applied (HMR)");
89749
+ rv = !1, rl(da.Log, "Script changes applied (HMR)");
89721
89750
  }
89722
89751
  return !0;
89723
89752
  }
@@ -92791,7 +92820,7 @@ const Khe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
92791
92820
  CUBICSPLINE: void 0,
92792
92821
  // We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
92793
92822
  // keyframe track will be initialized with a default interpolation type, then modified.
92794
- LINEAR: lc,
92823
+ LINEAR: hc,
92795
92824
  STEP: gh
92796
92825
  }, v2 = Yt.findNode;
92797
92826
  let A2 = !1;
@@ -93044,13 +93073,13 @@ class $he {
93044
93073
  break;
93045
93074
  case 2:
93046
93075
  case 3:
93047
- m = ul;
93076
+ m = dl;
93048
93077
  break;
93049
93078
  case 4:
93050
- a.endsWith(".quaternion") ? m = hc : m = Eb;
93079
+ a.endsWith(".quaternion") ? m = uc : m = Eb;
93051
93080
  break;
93052
93081
  }
93053
- const v = s.interpolation !== void 0 ? Zhe[s.interpolation] : lc;
93082
+ const v = s.interpolation !== void 0 ? Zhe[s.interpolation] : hc;
93054
93083
  let y = p._getArrayFromAccessor(i);
93055
93084
  a.endsWith(".fov") && (y = y.map((A) => A / Math.PI * 180));
93056
93085
  const g = new m(
@@ -93152,10 +93181,10 @@ export {
93152
93181
  L_ as Avatar_Brain_LookAt,
93153
93182
  wx as Avatar_MouthShapes,
93154
93183
  $z as Avatar_MustacheShake,
93155
- cl as Avatar_POI,
93184
+ ll as Avatar_POI,
93156
93185
  Lm as Axes,
93157
93186
  Qv as AxesHelper,
93158
- fc as BaseUIComponent,
93187
+ pc as BaseUIComponent,
93159
93188
  iG as BasicIKConstraint,
93160
93189
  DI as BehaviorExtension,
93161
93190
  us as BehaviorModel,
@@ -93179,7 +93208,7 @@ export {
93179
93208
  Px as ChromaticAberration,
93180
93209
  ma as CircularBuffer,
93181
93210
  tp as ClearFlags,
93182
- Lc as ClipExtrapolation,
93211
+ Uc as ClipExtrapolation,
93183
93212
  Ma as Collider,
93184
93213
  Ihe as Collision,
93185
93214
  wI as CollisionDetectionMode,
@@ -93202,7 +93231,7 @@ export {
93202
93231
  d1 as DefaultReflectionMode,
93203
93232
  AG as Deletable,
93204
93233
  GI as DeleteBox,
93205
- vc as DepthOfField,
93234
+ yc as DepthOfField,
93206
93235
  VI as DeviceFlag,
93207
93236
  yG as DocumentExtension,
93208
93237
  ya as DragControls,
@@ -93250,10 +93279,10 @@ export {
93250
93279
  f9 as Input,
93251
93280
  mn as InputEvents,
93252
93281
  Pp as InputField,
93253
- ac as InstancingUtil,
93282
+ cc as InstancingUtil,
93254
93283
  qY as InstantiateEvent,
93255
93284
  Rs as InstantiateIdProvider,
93256
- fl as InstantiateOptions,
93285
+ gc as InstantiateOptions,
93257
93286
  Vue as JoinedRoomResponse,
93258
93287
  Sue as KeyEventArgs,
93259
93288
  Hx as LODGroup,
@@ -93289,7 +93318,7 @@ export {
93289
93318
  fK as NeedleXRUtils,
93290
93319
  $I as NestedGltf,
93291
93320
  XJ as NetworkConnection,
93292
- tl as NetworkedStreamEvents,
93321
+ il as NetworkedStreamEvents,
93293
93322
  xx as NetworkedStreams,
93294
93323
  Tp as Networking,
93295
93324
  JY as NewInstanceModel,
@@ -93356,7 +93385,7 @@ export {
93356
93385
  xr as SceneSwitcher,
93357
93386
  Fp as ScreenCapture,
93358
93387
  Ph as ScreenSpaceAmbientOcclusion,
93359
- yc as ScreenSpaceAmbientOcclusionN8,
93388
+ bc as ScreenSpaceAmbientOcclusionN8,
93360
93389
  Qa as SendQueue,
93361
93390
  Cp as SetActiveOnClick,
93362
93391
  iw as ShadowCatcher,
@@ -93373,7 +93402,7 @@ export {
93373
93402
  B_ as SpatialGrabRaycaster,
93374
93403
  jG as SpatialHtml,
93375
93404
  sw as SpatialTrigger,
93376
- ll as SpatialTriggerReceiver,
93405
+ hl as SpatialTriggerReceiver,
93377
93406
  hR as SpectatorCamera,
93378
93407
  Cx as SphereCollider,
93379
93408
  vK as SphereIntersection,
@@ -93418,7 +93447,7 @@ export {
93418
93447
  kte as UriSerializer,
93419
93448
  Lx as UsageMarker,
93420
93449
  Que as UserJoinedOrLeftRoomModel,
93421
- Zc as VERSION,
93450
+ el as VERSION,
93422
93451
  Nz as VariantAction,
93423
93452
  vn as VelocityOverLifetimeModule,
93424
93453
  cG as VerticalLayoutGroup,
@@ -93447,7 +93476,7 @@ export {
93447
93476
  Lo as XRFlag,
93448
93477
  yR as XRRig,
93449
93478
  Ws as XRState,
93450
- Xc as XRStateFlag,
93479
+ Jc as XRStateFlag,
93451
93480
  $G as __Ignore,
93452
93481
  F7 as __internalNotifyObjectDestroyed,
93453
93482
  lh as activeInHierarchyFieldName,
@@ -93478,7 +93507,7 @@ export {
93478
93507
  ua as delay,
93479
93508
  vue as delayForFrames,
93480
93509
  qE as deserializeObject,
93481
- uc as destroy,
93510
+ dc as destroy,
93482
93511
  o7 as destroyComponentInstance,
93483
93512
  Wi as disposeObjectResources,
93484
93513
  sh as disposeStream,
@@ -93505,7 +93534,7 @@ export {
93505
93534
  _ue as getIp,
93506
93535
  bue as getIpAndLocation,
93507
93536
  yue as getIpCloudflare,
93508
- dc as getLoader,
93537
+ fc as getLoader,
93509
93538
  WT as getOrAddComponent,
93510
93539
  oe as getParam,
93511
93540
  Iue as getParentHierarchyPath,