@vctrl/hooks 0.9.4 → 0.9.5

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.
@@ -1,6 +1,6 @@
1
1
  import { jsx as Bt } from "react/jsx-runtime";
2
2
  import { useCallback as z, useRef as Ct, useReducer as bt, useEffect as lt, createContext as ft, useContext as Et } from "react";
3
- import { TrianglesDrawMode as Qt, TriangleFanDrawMode as XA, TriangleStripDrawMode as Ge, Loader as TA, LoaderUtils as mA, FileLoader as aA, Color as rA, LinearSRGBColorSpace as Y, SpotLight as dt, PointLight as ht, DirectionalLight as pt, MeshBasicMaterial as hA, SRGBColorSpace as AA, MeshPhysicalMaterial as W, Vector2 as SA, Matrix4 as yA, Vector3 as CA, Quaternion as xe, InstancedMesh as ut, InstancedBufferAttribute as mt, Object3D as ie, TextureLoader as Te, ImageBitmapLoader as wt, BufferAttribute as X, InterleavedBuffer as Dt, InterleavedBufferAttribute as kt, LinearFilter as GA, LinearMipmapLinearFilter as se, RepeatWrapping as xA, PointsMaterial as Ft, Material as NA, LineBasicMaterial as Rt, MeshStandardMaterial as Le, DoubleSide as St, PropertyBinding as yt, BufferGeometry as ne, SkinnedMesh as Gt, Mesh as Me, LineSegments as xt, Line as Tt, LineLoop as Lt, Points as Mt, Group as kA, PerspectiveCamera as Nt, MathUtils as Ut, OrthographicCamera as _t, Skeleton as qt, AnimationClip as Ht, Bone as Ot, InterpolateLinear as Ne, ColorManagement as le, NearestFilter as vt, NearestMipmapNearestFilter as Jt, LinearMipmapNearestFilter as jt, NearestMipmapLinearFilter as Kt, ClampToEdgeWrapping as Ue, MirroredRepeatWrapping as _e, InterpolateDiscrete as Pt, FrontSide as Yt, Texture as fe, VectorKeyframeTrack as Ee, NumberKeyframeTrack as Qe, QuaternionKeyframeTrack as de, Box3 as Wt, Sphere as Vt, Interpolant as zt, CompressedCubeTexture as Xt, UnsignedByteType as K, CompressedArrayTexture as Zt, CompressedTexture as qe, RGBAFormat as bA, RGBA_ASTC_4x4_Format as $t, RGBA_BPTC_Format as Aa, RGBA_ETC2_EAC_Format as ea, RGBA_PVRTC_4BPPV1_Format as ta, RGBA_S3TC_DXT5_Format as aa, RGB_ETC1_Format as ia, RGB_ETC2_Format as sa, RGB_PVRTC_4BPPV1_Format as na, RGBA_S3TC_DXT1_Format as oa, FloatType as FA, HalfFloatType as RA, DataTexture as ra, Data3DTexture as ca, DisplayP3ColorSpace as ga, LinearDisplayP3ColorSpace as Ia, NoColorSpace as oA, RGFormat as pA, RedFormat as uA, RGBA_ASTC_6x6_Format as he, WebGLRenderer as Ba } from "three";
3
+ import { TrianglesDrawMode as Qt, TriangleFanDrawMode as XA, TriangleStripDrawMode as Ge, Loader as TA, LoaderUtils as mA, FileLoader as aA, MeshPhysicalMaterial as W, Vector2 as SA, Color as rA, LinearSRGBColorSpace as Y, SRGBColorSpace as AA, SpotLight as dt, PointLight as ht, DirectionalLight as pt, Matrix4 as yA, Vector3 as CA, Quaternion as xe, InstancedMesh as ut, InstancedBufferAttribute as mt, Object3D as ie, TextureLoader as Te, ImageBitmapLoader as wt, BufferAttribute as X, InterleavedBuffer as Dt, InterleavedBufferAttribute as kt, LinearMipmapLinearFilter as se, NearestMipmapLinearFilter as Rt, LinearMipmapNearestFilter as Ft, NearestMipmapNearestFilter as St, LinearFilter as GA, NearestFilter as yt, RepeatWrapping as xA, MirroredRepeatWrapping as Le, ClampToEdgeWrapping as Me, PointsMaterial as Gt, Material as UA, LineBasicMaterial as xt, MeshStandardMaterial as Ue, DoubleSide as Tt, MeshBasicMaterial as hA, PropertyBinding as Lt, BufferGeometry as ne, SkinnedMesh as Mt, Mesh as Ne, LineSegments as Ut, Line as Nt, LineLoop as _t, Points as qt, Group as kA, PerspectiveCamera as Ht, MathUtils as Ot, OrthographicCamera as vt, Skeleton as Jt, AnimationClip as jt, Bone as Kt, InterpolateDiscrete as Pt, InterpolateLinear as _e, Texture as le, VectorKeyframeTrack as fe, NumberKeyframeTrack as Ee, QuaternionKeyframeTrack as Qe, ColorManagement as de, FrontSide as Yt, Interpolant as Wt, Box3 as Vt, Sphere as zt, CompressedCubeTexture as Xt, UnsignedByteType as K, CompressedArrayTexture as Zt, CompressedTexture as qe, DisplayP3ColorSpace as $t, LinearDisplayP3ColorSpace as Aa, NoColorSpace as oA, RGBA_ASTC_6x6_Format as he, RedFormat as pA, RGFormat as uA, RGBAFormat as bA, HalfFloatType as RA, FloatType as FA, DataTexture as ea, Data3DTexture as ta, RGBA_S3TC_DXT1_Format as aa, RGB_PVRTC_4BPPV1_Format as ia, RGB_ETC2_Format as sa, RGB_ETC1_Format as na, RGBA_S3TC_DXT5_Format as oa, RGBA_PVRTC_4BPPV1_Format as ra, RGBA_ETC2_EAC_Format as ca, RGBA_BPTC_Format as ga, RGBA_ASTC_4x4_Format as Ia, WebGLRenderer as Ba } from "three";
4
4
  const BA = {}, V = {
5
5
  emit(n, A) {
6
6
  const e = BA[n];
@@ -120,13 +120,13 @@ class la extends TA {
120
120
  }), this.register(function(e) {
121
121
  return new da(e);
122
122
  }), this.register(function(e) {
123
- return new Fa(e);
123
+ return new Ra(e);
124
124
  }), this.register(function(e) {
125
125
  return new ua(e);
126
126
  }), this.register(function(e) {
127
127
  return new Sa(e);
128
128
  }), this.register(function(e) {
129
- return new Ra(e);
129
+ return new Fa(e);
130
130
  }), this.register(function(e) {
131
131
  return new Ea(e);
132
132
  }), this.register(function(e) {
@@ -222,10 +222,10 @@ class la extends TA {
222
222
  s[g] = new Qa();
223
223
  break;
224
224
  case y.KHR_DRACO_MESH_COMPRESSION:
225
- s[g] = new Na(i, this.dracoLoader);
225
+ s[g] = new Ua(i, this.dracoLoader);
226
226
  break;
227
227
  case y.KHR_TEXTURE_TRANSFORM:
228
- s[g] = new Ua();
228
+ s[g] = new Na();
229
229
  break;
230
230
  case y.KHR_MESH_QUANTIZATION:
231
231
  s[g] = new _a();
@@ -487,7 +487,7 @@ class ka {
487
487
  return e.ior = i.ior !== void 0 ? i.ior : 1.5, Promise.resolve();
488
488
  }
489
489
  }
490
- class Fa {
490
+ class Ra {
491
491
  constructor(A) {
492
492
  this.parser = A, this.name = y.KHR_MATERIALS_SPECULAR;
493
493
  }
@@ -505,7 +505,7 @@ class Fa {
505
505
  return e.specularColor = new rA().setRGB(o[0], o[1], o[2], Y), s.specularColorTexture !== void 0 && i.push(a.assignTexture(e, "specularColorMap", s.specularColorTexture, AA)), Promise.all(i);
506
506
  }
507
507
  }
508
- class Ra {
508
+ class Fa {
509
509
  constructor(A) {
510
510
  this.parser = A, this.name = y.EXT_MATERIALS_BUMP;
511
511
  }
@@ -704,7 +704,7 @@ class Ma {
704
704
  throw new Error("THREE.GLTFLoader: JSON content not found.");
705
705
  }
706
706
  }
707
- class Na {
707
+ class Ua {
708
708
  constructor(A, e) {
709
709
  if (!e)
710
710
  throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");
@@ -736,7 +736,7 @@ class Na {
736
736
  });
737
737
  }
738
738
  }
739
- class Ua {
739
+ class Na {
740
740
  constructor() {
741
741
  this.name = y.KHR_TEXTURE_TRANSFORM;
742
742
  }
@@ -749,7 +749,7 @@ class _a {
749
749
  this.name = y.KHR_MESH_QUANTIZATION;
750
750
  }
751
751
  }
752
- class ve extends zt {
752
+ class ve extends Wt {
753
753
  constructor(A, e, a, t) {
754
754
  super(A, e, a, t);
755
755
  }
@@ -762,8 +762,8 @@ class ve extends zt {
762
762
  interpolate_(A, e, a, t) {
763
763
  const i = this.resultBuffer, s = this.sampleValues, o = this.valueSize, r = o * 2, c = o * 3, I = t - e, g = (a - e) / I, B = g * g, C = B * g, f = A * c, d = f - c, p = -2 * C + 3 * B, E = C - B, l = 1 - p, h = E - B + g;
764
764
  for (let u = 0; u !== o; u++) {
765
- const k = s[d + u + o], R = s[d + u + r] * I, G = s[f + u + o], M = s[f + u] * I;
766
- i[u] = l * k + h * R + p * G + E * M;
765
+ const k = s[d + u + o], F = s[d + u + r] * I, G = s[f + u + o], M = s[f + u] * I;
766
+ i[u] = l * k + h * F + p * G + E * M;
767
767
  }
768
768
  return i;
769
769
  }
@@ -776,25 +776,13 @@ class Ha extends ve {
776
776
  }
777
777
  }
778
778
  const O = {
779
- FLOAT: 5126,
780
- //FLOAT_MAT2: 35674,
781
- FLOAT_MAT3: 35675,
782
- FLOAT_MAT4: 35676,
783
- FLOAT_VEC2: 35664,
784
- FLOAT_VEC3: 35665,
785
- FLOAT_VEC4: 35666,
786
- LINEAR: 9729,
787
- REPEAT: 10497,
788
- SAMPLER_2D: 35678,
789
779
  POINTS: 0,
790
780
  LINES: 1,
791
781
  LINE_LOOP: 2,
792
782
  LINE_STRIP: 3,
793
783
  TRIANGLES: 4,
794
784
  TRIANGLE_STRIP: 5,
795
- TRIANGLE_FAN: 6,
796
- UNSIGNED_BYTE: 5121,
797
- UNSIGNED_SHORT: 5123
785
+ TRIANGLE_FAN: 6
798
786
  }, fA = {
799
787
  5120: Int8Array,
800
788
  5121: Uint8Array,
@@ -803,17 +791,17 @@ const O = {
803
791
  5125: Uint32Array,
804
792
  5126: Float32Array
805
793
  }, we = {
806
- 9728: vt,
794
+ 9728: yt,
807
795
  9729: GA,
808
- 9984: Jt,
809
- 9985: jt,
810
- 9986: Kt,
796
+ 9984: St,
797
+ 9985: Ft,
798
+ 9986: Rt,
811
799
  9987: se
812
800
  }, De = {
813
- 33071: Ue,
814
- 33648: _e,
801
+ 33071: Me,
802
+ 33648: Le,
815
803
  10497: xA
816
- }, UA = {
804
+ }, NA = {
817
805
  SCALAR: 1,
818
806
  VEC2: 2,
819
807
  VEC3: 3,
@@ -841,7 +829,7 @@ const O = {
841
829
  CUBICSPLINE: void 0,
842
830
  // We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
843
831
  // keyframe track will be initialized with a default interpolation type, then modified.
844
- LINEAR: Ne,
832
+ LINEAR: _e,
845
833
  STEP: Pt
846
834
  }, _A = {
847
835
  OPAQUE: "OPAQUE",
@@ -849,7 +837,7 @@ const O = {
849
837
  BLEND: "BLEND"
850
838
  };
851
839
  function va(n) {
852
- return n.DefaultMaterial === void 0 && (n.DefaultMaterial = new Le({
840
+ return n.DefaultMaterial === void 0 && (n.DefaultMaterial = new Ue({
853
841
  color: 16777215,
854
842
  emissive: 0,
855
843
  metalness: 1,
@@ -1171,12 +1159,12 @@ class Wa {
1171
1159
  loadAccessor(A) {
1172
1160
  const e = this, a = this.json, t = this.json.accessors[A];
1173
1161
  if (t.bufferView === void 0 && t.sparse === void 0) {
1174
- const s = UA[t.type], o = fA[t.componentType], r = t.normalized === !0, c = new o(t.count * s);
1162
+ const s = NA[t.type], o = fA[t.componentType], r = t.normalized === !0, c = new o(t.count * s);
1175
1163
  return Promise.resolve(new X(c, s, r));
1176
1164
  }
1177
1165
  const i = [];
1178
1166
  return t.bufferView !== void 0 ? i.push(this.getDependency("bufferView", t.bufferView)) : i.push(null), t.sparse !== void 0 && (i.push(this.getDependency("bufferView", t.sparse.indices.bufferView)), i.push(this.getDependency("bufferView", t.sparse.values.bufferView))), Promise.all(i).then(function(s) {
1179
- const o = s[0], r = UA[t.type], c = fA[t.componentType], I = c.BYTES_PER_ELEMENT, g = I * r, B = t.byteOffset || 0, C = t.bufferView !== void 0 ? a.bufferViews[t.bufferView].byteStride : void 0, f = t.normalized === !0;
1167
+ const o = s[0], r = NA[t.type], c = fA[t.componentType], I = c.BYTES_PER_ELEMENT, g = I * r, B = t.byteOffset || 0, C = t.bufferView !== void 0 ? a.bufferViews[t.bufferView].byteStride : void 0, f = t.normalized === !0;
1180
1168
  let d, p;
1181
1169
  if (C && C !== g) {
1182
1170
  const E = Math.floor(B / C), l = "InterleavedBuffer:" + t.bufferView + ":" + t.componentType + ":" + E + ":" + t.count;
@@ -1185,11 +1173,11 @@ class Wa {
1185
1173
  } else
1186
1174
  o === null ? d = new c(t.count * r) : d = new c(o, B, t.count * r), p = new X(d, r, f);
1187
1175
  if (t.sparse !== void 0) {
1188
- const E = UA.SCALAR, l = fA[t.sparse.indices.componentType], h = t.sparse.indices.byteOffset || 0, u = t.sparse.values.byteOffset || 0, k = new l(s[1], h, t.sparse.count * E), R = new c(s[2], u, t.sparse.count * r);
1176
+ const E = NA.SCALAR, l = fA[t.sparse.indices.componentType], h = t.sparse.indices.byteOffset || 0, u = t.sparse.values.byteOffset || 0, k = new l(s[1], h, t.sparse.count * E), F = new c(s[2], u, t.sparse.count * r);
1189
1177
  o !== null && (p = new X(p.array.slice(), p.itemSize, p.normalized));
1190
1178
  for (let G = 0, M = k.length; G < M; G++) {
1191
1179
  const b = k[G];
1192
- if (p.setX(b, R[G * r]), r >= 2 && p.setY(b, R[G * r + 1]), r >= 3 && p.setZ(b, R[G * r + 2]), r >= 4 && p.setW(b, R[G * r + 3]), r >= 5) throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
1180
+ if (p.setX(b, F[G * r]), r >= 2 && p.setY(b, F[G * r + 1]), r >= 3 && p.setZ(b, F[G * r + 2]), r >= 4 && p.setW(b, F[G * r + 3]), r >= 5) throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
1193
1181
  }
1194
1182
  }
1195
1183
  return p;
@@ -1240,7 +1228,7 @@ class Wa {
1240
1228
  return new Promise(function(B, C) {
1241
1229
  let f = B;
1242
1230
  e.isImageBitmapLoader === !0 && (f = function(d) {
1243
- const p = new fe(d);
1231
+ const p = new le(d);
1244
1232
  p.needsUpdate = !0, B(p);
1245
1233
  }), e.load(mA.resolveURL(g, i.path), f, void 0, C);
1246
1234
  });
@@ -1287,11 +1275,11 @@ class Wa {
1287
1275
  if (A.isPoints) {
1288
1276
  const o = "PointsMaterial:" + a.uuid;
1289
1277
  let r = this.cache.get(o);
1290
- r || (r = new Ft(), NA.prototype.copy.call(r, a), r.color.copy(a.color), r.map = a.map, r.sizeAttenuation = !1, this.cache.add(o, r)), a = r;
1278
+ r || (r = new Gt(), UA.prototype.copy.call(r, a), r.color.copy(a.color), r.map = a.map, r.sizeAttenuation = !1, this.cache.add(o, r)), a = r;
1291
1279
  } else if (A.isLine) {
1292
1280
  const o = "LineBasicMaterial:" + a.uuid;
1293
1281
  let r = this.cache.get(o);
1294
- r || (r = new Rt(), NA.prototype.copy.call(r, a), r.color.copy(a.color), r.map = a.map, this.cache.add(o, r)), a = r;
1282
+ r || (r = new xt(), UA.prototype.copy.call(r, a), r.color.copy(a.color), r.map = a.map, this.cache.add(o, r)), a = r;
1295
1283
  }
1296
1284
  if (t || i || s) {
1297
1285
  let o = "ClonedMaterial:" + a.uuid + ":";
@@ -1302,7 +1290,7 @@ class Wa {
1302
1290
  A.material = a;
1303
1291
  }
1304
1292
  getMaterialType() {
1305
- return Le;
1293
+ return Ue;
1306
1294
  }
1307
1295
  /**
1308
1296
  * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials
@@ -1328,7 +1316,7 @@ class Wa {
1328
1316
  return B.extendMaterialParams && B.extendMaterialParams(A, o);
1329
1317
  })));
1330
1318
  }
1331
- i.doubleSided === !0 && (o.side = St);
1319
+ i.doubleSided === !0 && (o.side = Tt);
1332
1320
  const I = i.alphaMode || _A.OPAQUE;
1333
1321
  if (I === _A.BLEND ? (o.transparent = !0, o.depthWrite = !1) : (o.transparent = !1, I === _A.MASK && (o.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && s !== hA && (c.push(e.assignTexture(o, "normalMap", i.normalTexture)), o.normalScale = new SA(1, 1), i.normalTexture.scale !== void 0)) {
1334
1322
  const g = i.normalTexture.scale;
@@ -1345,7 +1333,7 @@ class Wa {
1345
1333
  }
1346
1334
  /** When Object3D instances are targeted by animation, they need unique names. */
1347
1335
  createUniqueName(A) {
1348
- const e = yt.sanitizeNodeName(A || "");
1336
+ const e = Lt.sanitizeNodeName(A || "");
1349
1337
  return e in this.nodeNamesUsed ? e + "_" + ++this.nodeNamesUsed[e] : (this.nodeNamesUsed[e] = 0, e);
1350
1338
  }
1351
1339
  /**
@@ -1393,15 +1381,15 @@ class Wa {
1393
1381
  let E;
1394
1382
  const l = c[C];
1395
1383
  if (p.mode === O.TRIANGLES || p.mode === O.TRIANGLE_STRIP || p.mode === O.TRIANGLE_FAN || p.mode === void 0)
1396
- E = i.isSkinnedMesh === !0 ? new Gt(d, l) : new Me(d, l), E.isSkinnedMesh === !0 && E.normalizeSkinWeights(), p.mode === O.TRIANGLE_STRIP ? E.geometry = ue(E.geometry, Ge) : p.mode === O.TRIANGLE_FAN && (E.geometry = ue(E.geometry, XA));
1384
+ E = i.isSkinnedMesh === !0 ? new Mt(d, l) : new Ne(d, l), E.isSkinnedMesh === !0 && E.normalizeSkinWeights(), p.mode === O.TRIANGLE_STRIP ? E.geometry = ue(E.geometry, Ge) : p.mode === O.TRIANGLE_FAN && (E.geometry = ue(E.geometry, XA));
1397
1385
  else if (p.mode === O.LINES)
1398
- E = new xt(d, l);
1386
+ E = new Ut(d, l);
1399
1387
  else if (p.mode === O.LINE_STRIP)
1400
- E = new Tt(d, l);
1388
+ E = new Nt(d, l);
1401
1389
  else if (p.mode === O.LINE_LOOP)
1402
- E = new Lt(d, l);
1390
+ E = new _t(d, l);
1403
1391
  else if (p.mode === O.POINTS)
1404
- E = new Mt(d, l);
1392
+ E = new qt(d, l);
1405
1393
  else
1406
1394
  throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + p.mode);
1407
1395
  Object.keys(E.geometry.morphAttributes).length > 0 && ja(E, i), E.name = e.createUniqueName(i.name || "mesh_" + A), tA(E, i), p.extensions && gA(t, E, p), e.assignFinalMaterial(E), g.push(E);
@@ -1432,7 +1420,7 @@ class Wa {
1432
1420
  console.warn("THREE.GLTFLoader: Missing camera parameters.");
1433
1421
  return;
1434
1422
  }
1435
- return a.type === "perspective" ? e = new Nt(Ut.radToDeg(t.yfov), t.aspectRatio || 1, t.znear || 1, t.zfar || 2e6) : a.type === "orthographic" && (e = new _t(-t.xmag, t.xmag, t.ymag, -t.ymag, t.znear, t.zfar)), a.name && (e.name = this.createUniqueName(a.name)), tA(e, a), Promise.resolve(e);
1423
+ return a.type === "perspective" ? e = new Ht(Ot.radToDeg(t.yfov), t.aspectRatio || 1, t.znear || 1, t.zfar || 2e6) : a.type === "orthographic" && (e = new vt(-t.xmag, t.xmag, t.ymag, -t.ymag, t.znear, t.zfar)), a.name && (e.name = this.createUniqueName(a.name)), tA(e, a), Promise.resolve(e);
1436
1424
  }
1437
1425
  /**
1438
1426
  * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins
@@ -1454,7 +1442,7 @@ class Wa {
1454
1442
  } else
1455
1443
  console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', e.joints[c]);
1456
1444
  }
1457
- return new qt(o, r);
1445
+ return new Jt(o, r);
1458
1446
  });
1459
1447
  }
1460
1448
  /**
@@ -1477,15 +1465,15 @@ class Wa {
1477
1465
  ]).then(function(g) {
1478
1466
  const B = g[0], C = g[1], f = g[2], d = g[3], p = g[4], E = [];
1479
1467
  for (let l = 0, h = B.length; l < h; l++) {
1480
- const u = B[l], k = C[l], R = f[l], G = d[l], M = p[l];
1468
+ const u = B[l], k = C[l], F = f[l], G = d[l], M = p[l];
1481
1469
  if (u === void 0) continue;
1482
1470
  u.updateMatrix && u.updateMatrix();
1483
- const b = a._createAnimationTracks(u, k, R, G, M);
1471
+ const b = a._createAnimationTracks(u, k, F, G, M);
1484
1472
  if (b)
1485
1473
  for (let Q = 0; Q < b.length; Q++)
1486
1474
  E.push(b[Q]);
1487
1475
  }
1488
- return new Ht(i, void 0, E);
1476
+ return new jt(i, void 0, E);
1489
1477
  });
1490
1478
  }
1491
1479
  createNodeMesh(A) {
@@ -1540,7 +1528,7 @@ class Wa {
1540
1528
  o.push(c);
1541
1529
  }), this.nodeCache[A] = Promise.all(o).then(function(c) {
1542
1530
  let I;
1543
- if (i.isBone === !0 ? I = new Ot() : c.length > 1 ? I = new kA() : c.length === 1 ? I = c[0] : I = new ie(), I !== c[0])
1531
+ if (i.isBone === !0 ? I = new Kt() : c.length > 1 ? I = new kA() : c.length === 1 ? I = c[0] : I = new ie(), I !== c[0])
1544
1532
  for (let g = 0, B = c.length; g < B; g++)
1545
1533
  I.add(c[g]);
1546
1534
  if (i.name && (I.userData.name = i.name, I.name = s), tA(I, i), i.extensions && gA(a, I, i), i.matrix !== void 0) {
@@ -1568,7 +1556,7 @@ class Wa {
1568
1556
  const c = (I) => {
1569
1557
  const g = /* @__PURE__ */ new Map();
1570
1558
  for (const [B, C] of t.associations)
1571
- (B instanceof NA || B instanceof fe) && g.set(B, C);
1559
+ (B instanceof UA || B instanceof le) && g.set(B, C);
1572
1560
  return I.traverse((B) => {
1573
1561
  const C = t.associations.get(B);
1574
1562
  C != null && g.set(B, C);
@@ -1585,29 +1573,29 @@ class Wa {
1585
1573
  let c;
1586
1574
  switch (sA[i.path]) {
1587
1575
  case sA.weights:
1588
- c = Qe;
1576
+ c = Ee;
1589
1577
  break;
1590
1578
  case sA.rotation:
1591
- c = de;
1579
+ c = Qe;
1592
1580
  break;
1593
1581
  case sA.position:
1594
1582
  case sA.scale:
1595
- c = Ee;
1583
+ c = fe;
1596
1584
  break;
1597
1585
  default:
1598
1586
  switch (a.itemSize) {
1599
1587
  case 1:
1600
- c = Qe;
1588
+ c = Ee;
1601
1589
  break;
1602
1590
  case 2:
1603
1591
  case 3:
1604
1592
  default:
1605
- c = Ee;
1593
+ c = fe;
1606
1594
  break;
1607
1595
  }
1608
1596
  break;
1609
1597
  }
1610
- const I = t.interpolation !== void 0 ? Oa[t.interpolation] : Ne, g = this._getArrayFromAccessor(a);
1598
+ const I = t.interpolation !== void 0 ? Oa[t.interpolation] : _e, g = this._getArrayFromAccessor(a);
1611
1599
  for (let B = 0, C = r.length; B < C; B++) {
1612
1600
  const f = new c(
1613
1601
  r[B] + "." + sA[i.path],
@@ -1631,13 +1619,13 @@ class Wa {
1631
1619
  }
1632
1620
  _createCubicSplineTrackInterpolant(A) {
1633
1621
  A.createInterpolant = function(a) {
1634
- const t = this instanceof de ? Ha : ve;
1622
+ const t = this instanceof Qe ? Ha : ve;
1635
1623
  return new t(this.times, this.values, this.getValueSize() / 3, a);
1636
1624
  }, A.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
1637
1625
  }
1638
1626
  }
1639
1627
  function Va(n, A, e) {
1640
- const a = A.attributes, t = new Wt();
1628
+ const a = A.attributes, t = new Vt();
1641
1629
  if (a.POSITION !== void 0) {
1642
1630
  const o = e.json.accessors[a.POSITION], r = o.min, c = o.max;
1643
1631
  if (r !== void 0 && c !== void 0) {
@@ -1674,7 +1662,7 @@ function Va(n, A, e) {
1674
1662
  t.expandByVector(o);
1675
1663
  }
1676
1664
  n.boundingBox = t;
1677
- const s = new Vt();
1665
+ const s = new zt();
1678
1666
  t.getCenter(s.center), s.radius = t.min.distanceTo(t.max) / 2, n.boundingSphere = s;
1679
1667
  }
1680
1668
  function ke(n, A, e) {
@@ -1694,7 +1682,7 @@ function ke(n, A, e) {
1694
1682
  });
1695
1683
  t.push(s);
1696
1684
  }
1697
- return le.workingColorSpace !== Y && "COLOR_0" in a && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${le.workingColorSpace}" not supported.`), tA(n, A), Va(n, A, e), Promise.all(t).then(function() {
1685
+ return de.workingColorSpace !== Y && "COLOR_0" in a && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${de.workingColorSpace}" not supported.`), tA(n, A), Va(n, A, e), Promise.all(t).then(function() {
1698
1686
  return A.targets !== void 0 ? Ja(n, A.targets, e) : n;
1699
1687
  });
1700
1688
  }
@@ -1971,7 +1959,7 @@ class Za {
1971
1959
  this.workers.forEach((A) => A.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
1972
1960
  }
1973
1961
  }
1974
- const $a = 0, Fe = 2, Ai = 1, Re = 2, ei = 0, ti = 1, ai = 10, ii = 0, Je = 9, je = 15, Ke = 16, Pe = 22, Ye = 37, We = 43, Ve = 76, ze = 83, Xe = 97, Ze = 100, $e = 103, At = 109, et = 165, tt = 166;
1962
+ const $a = 0, Re = 2, Ai = 1, Fe = 2, ei = 0, ti = 1, ai = 10, ii = 0, Je = 9, je = 15, Ke = 16, Pe = 22, Ye = 37, We = 43, Ve = 76, ze = 83, Xe = 97, Ze = 100, $e = 103, At = 109, et = 165, tt = 166;
1975
1963
  class si {
1976
1964
  constructor() {
1977
1965
  this.vkFormat = 0, this.typeSize = 1, this.pixelWidth = 0, this.pixelHeight = 0, this.pixelDepth = 0, this.layerCount = 0, this.faceCount = 1, this.supercompressionScheme = 0, this.levels = [], this.dataFormatDescriptor = [{ vendorId: 0, descriptorType: 0, descriptorBlockSize: 0, versionNumber: 2, colorModel: 0, colorPrimaries: 1, transferFunction: 2, flags: 0, texelBlockDimension: [0, 0, 0, 0], bytesPlane: [0, 0, 0, 0, 0, 0, 0, 0], samples: [] }], this.keyValue = {}, this.globalData = null;
@@ -2011,35 +1999,35 @@ class dA {
2011
1999
  return t < A && this._offset++, new Uint8Array(this._dataView.buffer, this._dataView.byteOffset + a, t);
2012
2000
  }
2013
2001
  }
2014
- const U = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
2002
+ const N = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
2015
2003
  function Se(n) {
2016
2004
  return typeof TextDecoder < "u" ? new TextDecoder().decode(n) : Buffer.from(n).toString("utf8");
2017
2005
  }
2018
2006
  function ni(n) {
2019
- const A = new Uint8Array(n.buffer, n.byteOffset, U.length);
2020
- if (A[0] !== U[0] || A[1] !== U[1] || A[2] !== U[2] || A[3] !== U[3] || A[4] !== U[4] || A[5] !== U[5] || A[6] !== U[6] || A[7] !== U[7] || A[8] !== U[8] || A[9] !== U[9] || A[10] !== U[10] || A[11] !== U[11]) throw new Error("Missing KTX 2.0 identifier.");
2021
- const e = new si(), a = 17 * Uint32Array.BYTES_PER_ELEMENT, t = new dA(n, U.length, a, !0);
2007
+ const A = new Uint8Array(n.buffer, n.byteOffset, N.length);
2008
+ if (A[0] !== N[0] || A[1] !== N[1] || A[2] !== N[2] || A[3] !== N[3] || A[4] !== N[4] || A[5] !== N[5] || A[6] !== N[6] || A[7] !== N[7] || A[8] !== N[8] || A[9] !== N[9] || A[10] !== N[10] || A[11] !== N[11]) throw new Error("Missing KTX 2.0 identifier.");
2009
+ const e = new si(), a = 17 * Uint32Array.BYTES_PER_ELEMENT, t = new dA(n, N.length, a, !0);
2022
2010
  e.vkFormat = t._nextUint32(), e.typeSize = t._nextUint32(), e.pixelWidth = t._nextUint32(), e.pixelHeight = t._nextUint32(), e.pixelDepth = t._nextUint32(), e.layerCount = t._nextUint32(), e.faceCount = t._nextUint32();
2023
2011
  const i = t._nextUint32();
2024
2012
  e.supercompressionScheme = t._nextUint32();
2025
- const s = t._nextUint32(), o = t._nextUint32(), r = t._nextUint32(), c = t._nextUint32(), I = t._nextUint64(), g = t._nextUint64(), B = new dA(n, U.length + a, 3 * i * 8, !0);
2013
+ const s = t._nextUint32(), o = t._nextUint32(), r = t._nextUint32(), c = t._nextUint32(), I = t._nextUint64(), g = t._nextUint64(), B = new dA(n, N.length + a, 3 * i * 8, !0);
2026
2014
  for (let T = 0; T < i; T++) e.levels.push({ levelData: new Uint8Array(n.buffer, n.byteOffset + B._nextUint64(), B._nextUint64()), uncompressedByteLength: B._nextUint64() });
2027
2015
  const C = new dA(n, s, o, !0), f = { vendorId: C._skip(4)._nextUint16(), descriptorType: C._nextUint16(), versionNumber: C._nextUint16(), descriptorBlockSize: C._nextUint16(), colorModel: C._nextUint8(), colorPrimaries: C._nextUint8(), transferFunction: C._nextUint8(), flags: C._nextUint8(), texelBlockDimension: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], bytesPlane: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], samples: [] }, d = (f.descriptorBlockSize / 4 - 6) / 4;
2028
2016
  for (let T = 0; T < d; T++) {
2029
- const N = { bitOffset: C._nextUint16(), bitLength: C._nextUint8(), channelType: C._nextUint8(), samplePosition: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
2030
- 64 & N.channelType ? (N.sampleLower = C._nextInt32(), N.sampleUpper = C._nextInt32()) : (N.sampleLower = C._nextUint32(), N.sampleUpper = C._nextUint32()), f.samples[T] = N;
2017
+ const U = { bitOffset: C._nextUint16(), bitLength: C._nextUint8(), channelType: C._nextUint8(), samplePosition: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
2018
+ 64 & U.channelType ? (U.sampleLower = C._nextInt32(), U.sampleUpper = C._nextInt32()) : (U.sampleLower = C._nextUint32(), U.sampleUpper = C._nextUint32()), f.samples[T] = U;
2031
2019
  }
2032
2020
  e.dataFormatDescriptor.length = 0, e.dataFormatDescriptor.push(f);
2033
2021
  const p = new dA(n, r, c, !0);
2034
2022
  for (; p._offset < c; ) {
2035
- const T = p._nextUint32(), N = p._scan(T), _ = Se(N), J = p._scan(T - N.byteLength);
2023
+ const T = p._nextUint32(), U = p._scan(T), _ = Se(U), J = p._scan(T - U.byteLength);
2036
2024
  e.keyValue[_] = _.match(/^ktx/i) ? Se(J) : J, p._offset % 4 && p._skip(4 - p._offset % 4);
2037
2025
  }
2038
2026
  if (g <= 0) return e;
2039
- const E = new dA(n, I, g, !0), l = E._nextUint16(), h = E._nextUint16(), u = E._nextUint32(), k = E._nextUint32(), R = E._nextUint32(), G = E._nextUint32(), M = [];
2027
+ const E = new dA(n, I, g, !0), l = E._nextUint16(), h = E._nextUint16(), u = E._nextUint32(), k = E._nextUint32(), F = E._nextUint32(), G = E._nextUint32(), M = [];
2040
2028
  for (let T = 0; T < i; T++) M.push({ imageFlags: E._nextUint32(), rgbSliceByteOffset: E._nextUint32(), rgbSliceByteLength: E._nextUint32(), alphaSliceByteOffset: E._nextUint32(), alphaSliceByteLength: E._nextUint32() });
2041
- const b = I + E._offset, Q = b + u, m = Q + k, D = m + R, w = new Uint8Array(n.buffer, n.byteOffset + b, u), S = new Uint8Array(n.buffer, n.byteOffset + Q, k), F = new Uint8Array(n.buffer, n.byteOffset + m, R), x = new Uint8Array(n.buffer, n.byteOffset + D, G);
2042
- return e.globalData = { endpointCount: l, selectorCount: h, imageDescs: M, endpointsData: w, selectorsData: S, tablesData: F, extendedData: x }, e;
2029
+ const b = I + E._offset, Q = b + u, m = Q + k, D = m + F, w = new Uint8Array(n.buffer, n.byteOffset + b, u), S = new Uint8Array(n.buffer, n.byteOffset + Q, k), R = new Uint8Array(n.buffer, n.byteOffset + m, F), x = new Uint8Array(n.buffer, n.byteOffset + D, G);
2030
+ return e.globalData = { endpointCount: l, selectorCount: h, imageDescs: M, endpointsData: w, selectorsData: S, tablesData: R, extendedData: x }, e;
2043
2031
  }
2044
2032
  let OA, eA, Ae;
2045
2033
  const vA = { env: { emscripten_notify_memory_growth: function(n) {
@@ -2198,15 +2186,15 @@ $.TranscoderFormat = {
2198
2186
  };
2199
2187
  $.EngineFormat = {
2200
2188
  RGBAFormat: bA,
2201
- RGBA_ASTC_4x4_Format: $t,
2202
- RGBA_BPTC_Format: Aa,
2203
- RGBA_ETC2_EAC_Format: ea,
2204
- RGBA_PVRTC_4BPPV1_Format: ta,
2205
- RGBA_S3TC_DXT5_Format: aa,
2206
- RGB_ETC1_Format: ia,
2189
+ RGBA_ASTC_4x4_Format: Ia,
2190
+ RGBA_BPTC_Format: ga,
2191
+ RGBA_ETC2_EAC_Format: ca,
2192
+ RGBA_PVRTC_4BPPV1_Format: ra,
2193
+ RGBA_S3TC_DXT5_Format: oa,
2194
+ RGB_ETC1_Format: na,
2207
2195
  RGB_ETC2_Format: sa,
2208
- RGB_PVRTC_4BPPV1_Format: na,
2209
- RGBA_S3TC_DXT1_Format: oa
2196
+ RGB_PVRTC_4BPPV1_Format: ia,
2197
+ RGBA_S3TC_DXT1_Format: aa
2210
2198
  };
2211
2199
  $.BasisWorker = function() {
2212
2200
  let n, A, e;
@@ -2220,8 +2208,8 @@ $.BasisWorker = function() {
2220
2208
  case "transcode":
2221
2209
  A.then(() => {
2222
2210
  try {
2223
- const { faces: p, buffers: E, width: l, height: h, hasAlpha: u, format: k, dfdFlags: R } = o(d.buffer);
2224
- self.postMessage({ type: "transcode", id: d.id, faces: p, width: l, height: h, hasAlpha: u, format: k, dfdFlags: R }, E);
2211
+ const { faces: p, buffers: E, width: l, height: h, hasAlpha: u, format: k, dfdFlags: F } = o(d.buffer);
2212
+ self.postMessage({ type: "transcode", id: d.id, faces: p, width: l, height: h, hasAlpha: u, format: k, dfdFlags: F }, E);
2225
2213
  } catch (p) {
2226
2214
  console.error(p), self.postMessage({ type: "error", id: d.id, error: p.message });
2227
2215
  }
@@ -2243,27 +2231,27 @@ $.BasisWorker = function() {
2243
2231
  }
2244
2232
  if (!d.isValid())
2245
2233
  throw p(), new Error("THREE.KTX2Loader: Invalid or unsupported .ktx2 file");
2246
- const E = d.isUASTC() ? i.UASTC_4x4 : i.ETC1S, l = d.getWidth(), h = d.getHeight(), u = d.getLayers() || 1, k = d.getLevels(), R = d.getFaces(), G = d.getHasAlpha(), M = d.getDFDFlags(), { transcoderFormat: b, engineFormat: Q } = g(E, l, h, G);
2234
+ const E = d.isUASTC() ? i.UASTC_4x4 : i.ETC1S, l = d.getWidth(), h = d.getHeight(), u = d.getLayers() || 1, k = d.getLevels(), F = d.getFaces(), G = d.getHasAlpha(), M = d.getDFDFlags(), { transcoderFormat: b, engineFormat: Q } = g(E, l, h, G);
2247
2235
  if (!l || !h || !k)
2248
2236
  throw p(), new Error("THREE.KTX2Loader: Invalid texture");
2249
2237
  if (!d.startTranscoding())
2250
2238
  throw p(), new Error("THREE.KTX2Loader: .startTranscoding failed");
2251
2239
  const m = [], D = [];
2252
- for (let w = 0; w < R; w++) {
2240
+ for (let w = 0; w < F; w++) {
2253
2241
  const S = [];
2254
- for (let F = 0; F < k; F++) {
2242
+ for (let R = 0; R < k; R++) {
2255
2243
  const x = [];
2256
- let T, N;
2244
+ let T, U;
2257
2245
  for (let J = 0; J < u; J++) {
2258
- const iA = d.getImageLevelInfo(F, J, w);
2259
- w === 0 && F === 0 && J === 0 && (iA.origWidth % 4 !== 0 || iA.origHeight % 4 !== 0) && console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), k > 1 ? (T = iA.origWidth, N = iA.origHeight) : (T = iA.width, N = iA.height);
2260
- const IA = new Uint8Array(d.getImageTranscodedSizeInBytes(F, J, 0, b));
2261
- if (!d.transcodeImage(IA, F, J, w, b, 0, -1, -1))
2246
+ const iA = d.getImageLevelInfo(R, J, w);
2247
+ w === 0 && R === 0 && J === 0 && (iA.origWidth % 4 !== 0 || iA.origHeight % 4 !== 0) && console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), k > 1 ? (T = iA.origWidth, U = iA.origHeight) : (T = iA.width, U = iA.height);
2248
+ const IA = new Uint8Array(d.getImageTranscodedSizeInBytes(R, J, 0, b));
2249
+ if (!d.transcodeImage(IA, R, J, w, b, 0, -1, -1))
2262
2250
  throw p(), new Error("THREE.KTX2Loader: .transcodeImage failed.");
2263
2251
  x.push(IA);
2264
2252
  }
2265
2253
  const _ = C(x);
2266
- S.push({ data: _, width: T, height: N }), D.push(_.buffer);
2254
+ S.push({ data: _, width: T, height: U }), D.push(_.buffer);
2267
2255
  }
2268
2256
  m.push({ mipmaps: S, width: l, height: h, format: Q });
2269
2257
  }
@@ -2333,9 +2321,9 @@ $.BasisWorker = function() {
2333
2321
  let l, h;
2334
2322
  const u = f === i.ETC1S ? c : I;
2335
2323
  for (let k = 0; k < u.length; k++) {
2336
- const R = u[k];
2337
- if (n[R.if] && R.basisFormat.includes(f) && !(E && R.transcoderFormat.length < 2) && !(R.needsPowerOfTwo && !(B(d) && B(p))))
2338
- return l = R.transcoderFormat[E ? 1 : 0], h = R.engineFormat[E ? 1 : 0], { transcoderFormat: l, engineFormat: h };
2324
+ const F = u[k];
2325
+ if (n[F.if] && F.basisFormat.includes(f) && !(E && F.transcoderFormat.length < 2) && !(F.needsPowerOfTwo && !(B(d) && B(p))))
2326
+ return l = F.transcoderFormat[E ? 1 : 0], h = F.engineFormat[E ? 1 : 0], { transcoderFormat: l, engineFormat: h };
2339
2327
  }
2340
2328
  return console.warn("THREE.KTX2Loader: No suitable compressed texture format found. Decoding to RGBA32."), l = t.RGBA32, h = a.RGBAFormat, { transcoderFormat: l, engineFormat: h };
2341
2329
  }
@@ -2358,19 +2346,19 @@ $.BasisWorker = function() {
2358
2346
  return p;
2359
2347
  }
2360
2348
  };
2361
- const ri = /* @__PURE__ */ new Set([bA, pA, uA]), PA = {
2349
+ const ri = /* @__PURE__ */ new Set([bA, uA, pA]), PA = {
2362
2350
  [At]: bA,
2363
2351
  [Xe]: bA,
2364
2352
  [Ye]: bA,
2365
2353
  [We]: bA,
2366
- [$e]: pA,
2367
- [ze]: pA,
2368
- [Ke]: pA,
2369
- [Pe]: pA,
2370
- [Ze]: uA,
2371
- [Ve]: uA,
2372
- [je]: uA,
2373
- [Je]: uA,
2354
+ [$e]: uA,
2355
+ [ze]: uA,
2356
+ [Ke]: uA,
2357
+ [Pe]: uA,
2358
+ [Ze]: pA,
2359
+ [Ve]: pA,
2360
+ [je]: pA,
2361
+ [Je]: pA,
2374
2362
  [tt]: he,
2375
2363
  [et]: he
2376
2364
  }, YA = {
@@ -2394,7 +2382,7 @@ async function ci(n) {
2394
2382
  if (PA[A] === void 0)
2395
2383
  throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2396
2384
  let e;
2397
- n.supercompressionScheme === Fe && (KA || (KA = new Promise(async (i) => {
2385
+ n.supercompressionScheme === Re && (KA || (KA = new Promise(async (i) => {
2398
2386
  const s = new oi();
2399
2387
  await s.init(), i(s);
2400
2388
  })), e = await KA);
@@ -2404,7 +2392,7 @@ async function ci(n) {
2404
2392
  let I;
2405
2393
  if (n.supercompressionScheme === $a)
2406
2394
  I = c.levelData;
2407
- else if (n.supercompressionScheme === Fe)
2395
+ else if (n.supercompressionScheme === Re)
2408
2396
  I = e.decode(c.levelData, c.uncompressedByteLength);
2409
2397
  else
2410
2398
  throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");
@@ -2426,7 +2414,7 @@ async function ci(n) {
2426
2414
  }
2427
2415
  let t;
2428
2416
  if (ri.has(PA[A]))
2429
- t = n.pixelDepth === 0 ? new ra(a[0].data, n.pixelWidth, n.pixelHeight) : new ca(a[0].data, n.pixelWidth, n.pixelHeight, n.pixelDepth);
2417
+ t = n.pixelDepth === 0 ? new ea(a[0].data, n.pixelWidth, n.pixelHeight) : new ta(a[0].data, n.pixelWidth, n.pixelHeight, n.pixelDepth);
2430
2418
  else {
2431
2419
  if (n.pixelDepth > 0) throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
2432
2420
  t = new qe(a, n.pixelWidth, n.pixelHeight);
@@ -2435,7 +2423,7 @@ async function ci(n) {
2435
2423
  }
2436
2424
  function at(n) {
2437
2425
  const A = n.dataFormatDescriptor[0];
2438
- return A.colorPrimaries === ti ? A.transferFunction === Re ? AA : Y : A.colorPrimaries === ai ? A.transferFunction === Re ? ga : Ia : A.colorPrimaries === ei ? oA : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`), oA);
2426
+ return A.colorPrimaries === ti ? A.transferFunction === Fe ? AA : Y : A.colorPrimaries === ai ? A.transferFunction === Fe ? $t : Aa : A.colorPrimaries === ei ? oA : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`), oA);
2439
2427
  }
2440
2428
  var gi = function() {
2441
2429
  var n = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb", A = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb", e = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 3, 2, 0, 0, 5, 3, 1, 0, 1, 12, 1, 0, 10, 22, 2, 12, 0, 65, 0, 65, 0, 65, 0, 252, 10, 0, 0, 11, 7, 0, 65, 0, 253, 15, 26, 11]), a = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
@@ -2455,11 +2443,11 @@ var gi = function() {
2455
2443
  l[k++] = l[h] < 60 ? a[l[h]] : (l[h] - 60) * 64 + l[++h];
2456
2444
  return l.buffer.slice(0, k);
2457
2445
  }
2458
- function r(E, l, h, u, k, R) {
2446
+ function r(E, l, h, u, k, F) {
2459
2447
  var G = i.exports.sbrk, M = h + 3 & -4, b = G(M * u), Q = G(k.length), m = new Uint8Array(i.exports.memory.buffer);
2460
2448
  m.set(k, Q);
2461
2449
  var D = E(b, h, u, Q, k.length);
2462
- if (D == 0 && R && R(b, M, u), l.set(m.subarray(b, b + h * u)), G(b - G(0)), D != 0)
2450
+ if (D == 0 && F && F(b, M, u), l.set(m.subarray(b, b + h * u)), G(b - G(0)), D != 0)
2463
2451
  throw new Error("Malformed buffer data: " + D);
2464
2452
  }
2465
2453
  var c = {
@@ -2489,11 +2477,11 @@ var gi = function() {
2489
2477
  URL.revokeObjectURL(u);
2490
2478
  }
2491
2479
  function d(E, l, h, u, k) {
2492
- for (var R = g[0], G = 1; G < g.length; ++G)
2493
- g[G].pending < R.pending && (R = g[G]);
2480
+ for (var F = g[0], G = 1; G < g.length; ++G)
2481
+ g[G].pending < F.pending && (F = g[G]);
2494
2482
  return new Promise(function(M, b) {
2495
2483
  var Q = new Uint8Array(h), m = B++;
2496
- R.pending += E, R.requests[m] = { resolve: M, reject: b }, R.object.postMessage({ id: m, count: E, size: l, source: Q, mode: u, filter: k }, [Q.buffer]);
2484
+ F.pending += E, F.requests[m] = { resolve: M, reject: b }, F.object.postMessage({ id: m, count: E, size: l, source: Q, mode: u, filter: k }, [Q.buffer]);
2497
2485
  });
2498
2486
  }
2499
2487
  function p(E) {
@@ -2522,13 +2510,13 @@ var gi = function() {
2522
2510
  decodeIndexSequence: function(E, l, h, u) {
2523
2511
  r(i.exports.meshopt_decodeIndexSequence, E, l, h, u);
2524
2512
  },
2525
- decodeGltfBuffer: function(E, l, h, u, k, R) {
2526
- r(i.exports[I[k]], E, l, h, u, i.exports[c[R]]);
2513
+ decodeGltfBuffer: function(E, l, h, u, k, F) {
2514
+ r(i.exports[I[k]], E, l, h, u, i.exports[c[F]]);
2527
2515
  },
2528
2516
  decodeGltfBufferAsync: function(E, l, h, u, k) {
2529
2517
  return g.length > 0 ? d(E, l, h, I[u], c[k]) : s.then(function() {
2530
- var R = new Uint8Array(E * l);
2531
- return r(i.exports[I[u]], R, E, l, h, i.exports[c[k]]), R;
2518
+ var F = new Uint8Array(E * l);
2519
+ return r(i.exports[I[u]], F, E, l, h, i.exports[c[k]]), F;
2532
2520
  });
2533
2521
  }
2534
2522
  };
@@ -2718,15 +2706,15 @@ var fi = /* @__PURE__ */ wA(DA, 9, 1), Ei = /* @__PURE__ */ wA(ct, 5, 1), WA = f
2718
2706
  if (l == 1)
2719
2707
  C = fi, f = Ei, d = 9, p = 5;
2720
2708
  else if (l == 2) {
2721
- var R = j(n, g, 31) + 257, G = j(n, g + 10, 15) + 4, M = R + j(n, g + 5, 31) + 1;
2709
+ var F = j(n, g, 31) + 257, G = j(n, g + 10, 15) + 4, M = F + j(n, g + 5, 31) + 1;
2722
2710
  g += 14;
2723
2711
  for (var b = new H(M), Q = new H(19), m = 0; m < G; ++m)
2724
2712
  Q[Bi[m]] = j(n, g + m * 3, 7);
2725
2713
  g += G * 3;
2726
2714
  for (var D = WA(Q), w = (1 << D) - 1, S = wA(Q, D, 1), m = 0; m < M; ) {
2727
- var F = S[j(n, g, w)];
2728
- g += F & 15;
2729
- var h = F >> 4;
2715
+ var R = S[j(n, g, w)];
2716
+ g += R & 15;
2717
+ var h = R >> 4;
2730
2718
  if (h < 16)
2731
2719
  b[m++] = h;
2732
2720
  else {
@@ -2735,8 +2723,8 @@ var fi = /* @__PURE__ */ wA(DA, 9, 1), Ei = /* @__PURE__ */ wA(ct, 5, 1), WA = f
2735
2723
  b[m++] = x;
2736
2724
  }
2737
2725
  }
2738
- var N = b.subarray(0, R), _ = b.subarray(R);
2739
- d = WA(N), p = WA(_), C = wA(N, d, 1), f = wA(_, p, 1);
2726
+ var U = b.subarray(0, F), _ = b.subarray(F);
2727
+ d = WA(U), p = WA(_), C = wA(U, d, 1), f = wA(_, p, 1);
2740
2728
  } else
2741
2729
  v(1);
2742
2730
  else {
@@ -2834,14 +2822,14 @@ function ae(n, A) {
2834
2822
  var Di = function(n, A) {
2835
2823
  return A + 30 + Z(n, A + 26) + Z(n, A + 28);
2836
2824
  }, ki = function(n, A, e) {
2837
- var a = Z(n, A + 28), t = ae(n.subarray(A + 46, A + 46 + a), !(Z(n, A + 8) & 2048)), i = A + 46 + a, s = P(n, A + 20), o = e && s == 4294967295 ? Fi(n, i) : [s, P(n, A + 24), P(n, A + 42)], r = o[0], c = o[1], I = o[2];
2825
+ var a = Z(n, A + 28), t = ae(n.subarray(A + 46, A + 46 + a), !(Z(n, A + 8) & 2048)), i = A + 46 + a, s = P(n, A + 20), o = e && s == 4294967295 ? Ri(n, i) : [s, P(n, A + 24), P(n, A + 42)], r = o[0], c = o[1], I = o[2];
2838
2826
  return [Z(n, A + 10), r, c, t, i + Z(n, A + 30) + Z(n, A + 32), I];
2839
- }, Fi = function(n, A) {
2827
+ }, Ri = function(n, A) {
2840
2828
  for (; Z(n, A) != 1; A += 4 + Z(n, A + 2))
2841
2829
  ;
2842
2830
  return [zA(n, A + 12), zA(n, A + 4), zA(n, A + 20)];
2843
2831
  };
2844
- function Ri(n, A) {
2832
+ function Fi(n, A) {
2845
2833
  for (var e = {}, a = n.length - 22; P(n, a) != 101010256; --a)
2846
2834
  (!a || n.length - a > 65558) && v(13);
2847
2835
  var t = Z(n, a + 8);
@@ -2942,7 +2930,7 @@ class yi extends TA {
2942
2930
  if (m)
2943
2931
  throw Error("THREE.USDZLoader: Crate files (.usdc or binary .usd) are not supported.");
2944
2932
  }
2945
- const s = Ri(new Uint8Array(A)), o = a(s), r = i(s), c = ae(r), I = e.parse(c);
2933
+ const s = Fi(new Uint8Array(A)), o = a(s), r = i(s), c = ae(r), I = e.parse(c);
2946
2934
  function g(b) {
2947
2935
  if (b) {
2948
2936
  if ("prepend references" in b) {
@@ -2975,28 +2963,28 @@ class yi extends TA {
2975
2963
  const Q = new ne();
2976
2964
  let m = null, D = null, w = null, S = -1;
2977
2965
  if ("int[] faceVertexIndices" in b && (m = JSON.parse(b["int[] faceVertexIndices"])), "int[] faceVertexCounts" in b && (D = JSON.parse(b["int[] faceVertexCounts"]), m = f(m, D)), "point3f[] points" in b) {
2978
- const F = JSON.parse(b["point3f[] points"].replace(/[()]*/g, ""));
2979
- S = F.length;
2980
- let x = new X(new Float32Array(F), 3);
2966
+ const R = JSON.parse(b["point3f[] points"].replace(/[()]*/g, ""));
2967
+ S = R.length;
2968
+ let x = new X(new Float32Array(R), 3);
2981
2969
  m !== null && (x = d(x, m)), Q.setAttribute("position", x);
2982
2970
  }
2983
2971
  if ("float2[] primvars:st" in b && (b["texCoord2f[] primvars:st"] = b["float2[] primvars:st"]), "texCoord2f[] primvars:st" in b) {
2984
2972
  w = JSON.parse(b["texCoord2f[] primvars:st"].replace(/[()]*/g, ""));
2985
- let F = new X(new Float32Array(w), 2);
2986
- m !== null && (F = d(F, m)), Q.setAttribute("uv", F);
2973
+ let R = new X(new Float32Array(w), 2);
2974
+ m !== null && (R = d(R, m)), Q.setAttribute("uv", R);
2987
2975
  }
2988
2976
  if ("int[] primvars:st:indices" in b && w !== null) {
2989
- const F = new X(new Float32Array(w), 2);
2977
+ const R = new X(new Float32Array(w), 2);
2990
2978
  let x = JSON.parse(b["int[] primvars:st:indices"]);
2991
- x = f(x, D), Q.setAttribute("uv", d(F, x));
2979
+ x = f(x, D), Q.setAttribute("uv", d(R, x));
2992
2980
  }
2993
2981
  if ("normal3f[] normals" in b) {
2994
- const F = JSON.parse(b["normal3f[] normals"].replace(/[()]*/g, ""));
2995
- let x = new X(new Float32Array(F), 3);
2996
- if (F.length === S)
2982
+ const R = JSON.parse(b["normal3f[] normals"].replace(/[()]*/g, ""));
2983
+ let x = new X(new Float32Array(R), 3);
2984
+ if (R.length === S)
2997
2985
  m !== null && (x = d(x, m));
2998
2986
  else {
2999
- let T = Array.from(Array(F.length / 3).keys());
2987
+ let T = Array.from(Array(R.length / 3).keys());
3000
2988
  T = f(T, D), x = d(x, T);
3001
2989
  }
3002
2990
  Q.setAttribute("normal", x);
@@ -3009,11 +2997,11 @@ class yi extends TA {
3009
2997
  for (let D = 0; D < Q.length; D++) {
3010
2998
  const w = Q[D], S = D * w;
3011
2999
  if (w === 3) {
3012
- const F = b[S + 0], x = b[S + 1], T = b[S + 2];
3013
- m.push(F, x, T);
3000
+ const R = b[S + 0], x = b[S + 1], T = b[S + 2];
3001
+ m.push(R, x, T);
3014
3002
  } else if (w === 4) {
3015
- const F = b[S + 0], x = b[S + 1], T = b[S + 2], N = b[S + 3];
3016
- m.push(F, x, T), m.push(F, T, N);
3003
+ const R = b[S + 0], x = b[S + 1], T = b[S + 2], U = b[S + 3];
3004
+ m.push(R, x, T), m.push(R, T, U);
3017
3005
  } else
3018
3006
  console.warn("THREE.USDZLoader: Face vertex count of %s unsupported.", w);
3019
3007
  }
@@ -3021,11 +3009,11 @@ class yi extends TA {
3021
3009
  }
3022
3010
  function d(b, Q) {
3023
3011
  const m = b.array, D = b.itemSize, w = new m.constructor(Q.length * D);
3024
- let S = 0, F = 0;
3012
+ let S = 0, R = 0;
3025
3013
  for (let x = 0, T = Q.length; x < T; x++) {
3026
3014
  S = Q[x] * D;
3027
- for (let N = 0; N < D; N++)
3028
- w[F++] = m[S++];
3015
+ for (let U = 0; U < D; U++)
3016
+ w[R++] = m[S++];
3029
3017
  }
3030
3018
  return new X(w, D);
3031
3019
  }
@@ -3058,42 +3046,42 @@ class yi extends TA {
3058
3046
  const m = b["token outputs:surface.connect"], D = /(\w+).output/.exec(m)[1], w = b[`def Shader "${D}"`];
3059
3047
  if (w !== void 0) {
3060
3048
  if ("color3f inputs:diffuseColor.connect" in w) {
3061
- const S = w["color3f inputs:diffuseColor.connect"], F = u(I, /(\w+).output/.exec(S)[1]);
3062
- Q.map = k(F), Q.map.colorSpace = AA, 'def Shader "Transform2d_diffuse"' in b && l(Q.map, b['def Shader "Transform2d_diffuse"']);
3049
+ const S = w["color3f inputs:diffuseColor.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
3050
+ Q.map = k(R), Q.map.colorSpace = AA, 'def Shader "Transform2d_diffuse"' in b && l(Q.map, b['def Shader "Transform2d_diffuse"']);
3063
3051
  } else if ("color3f inputs:diffuseColor" in w) {
3064
3052
  const S = w["color3f inputs:diffuseColor"].replace(/[()]*/g, "");
3065
3053
  Q.color.fromArray(JSON.parse("[" + S + "]"));
3066
3054
  }
3067
3055
  if ("color3f inputs:emissiveColor.connect" in w) {
3068
- const S = w["color3f inputs:emissiveColor.connect"], F = u(I, /(\w+).output/.exec(S)[1]);
3069
- Q.emissiveMap = k(F), Q.emissiveMap.colorSpace = AA, Q.emissive.set(16777215), 'def Shader "Transform2d_emissive"' in b && l(Q.emissiveMap, b['def Shader "Transform2d_emissive"']);
3056
+ const S = w["color3f inputs:emissiveColor.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
3057
+ Q.emissiveMap = k(R), Q.emissiveMap.colorSpace = AA, Q.emissive.set(16777215), 'def Shader "Transform2d_emissive"' in b && l(Q.emissiveMap, b['def Shader "Transform2d_emissive"']);
3070
3058
  } else if ("color3f inputs:emissiveColor" in w) {
3071
3059
  const S = w["color3f inputs:emissiveColor"].replace(/[()]*/g, "");
3072
3060
  Q.emissive.fromArray(JSON.parse("[" + S + "]"));
3073
3061
  }
3074
3062
  if ("normal3f inputs:normal.connect" in w) {
3075
- const S = w["normal3f inputs:normal.connect"], F = u(I, /(\w+).output/.exec(S)[1]);
3076
- Q.normalMap = k(F), Q.normalMap.colorSpace = oA, 'def Shader "Transform2d_normal"' in b && l(Q.normalMap, b['def Shader "Transform2d_normal"']);
3063
+ const S = w["normal3f inputs:normal.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
3064
+ Q.normalMap = k(R), Q.normalMap.colorSpace = oA, 'def Shader "Transform2d_normal"' in b && l(Q.normalMap, b['def Shader "Transform2d_normal"']);
3077
3065
  }
3078
3066
  if ("float inputs:roughness.connect" in w) {
3079
- const S = w["float inputs:roughness.connect"], F = u(I, /(\w+).output/.exec(S)[1]);
3080
- Q.roughness = 1, Q.roughnessMap = k(F), Q.roughnessMap.colorSpace = oA, 'def Shader "Transform2d_roughness"' in b && l(Q.roughnessMap, b['def Shader "Transform2d_roughness"']);
3067
+ const S = w["float inputs:roughness.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
3068
+ Q.roughness = 1, Q.roughnessMap = k(R), Q.roughnessMap.colorSpace = oA, 'def Shader "Transform2d_roughness"' in b && l(Q.roughnessMap, b['def Shader "Transform2d_roughness"']);
3081
3069
  } else "float inputs:roughness" in w && (Q.roughness = parseFloat(w["float inputs:roughness"]));
3082
3070
  if ("float inputs:metallic.connect" in w) {
3083
- const S = w["float inputs:metallic.connect"], F = u(I, /(\w+).output/.exec(S)[1]);
3084
- Q.metalness = 1, Q.metalnessMap = k(F), Q.metalnessMap.colorSpace = oA, 'def Shader "Transform2d_metallic"' in b && l(Q.metalnessMap, b['def Shader "Transform2d_metallic"']);
3071
+ const S = w["float inputs:metallic.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
3072
+ Q.metalness = 1, Q.metalnessMap = k(R), Q.metalnessMap.colorSpace = oA, 'def Shader "Transform2d_metallic"' in b && l(Q.metalnessMap, b['def Shader "Transform2d_metallic"']);
3085
3073
  } else "float inputs:metallic" in w && (Q.metalness = parseFloat(w["float inputs:metallic"]));
3086
3074
  if ("float inputs:clearcoat.connect" in w) {
3087
- const S = w["float inputs:clearcoat.connect"], F = u(I, /(\w+).output/.exec(S)[1]);
3088
- Q.clearcoat = 1, Q.clearcoatMap = k(F), Q.clearcoatMap.colorSpace = oA, 'def Shader "Transform2d_clearcoat"' in b && l(Q.clearcoatMap, b['def Shader "Transform2d_clearcoat"']);
3075
+ const S = w["float inputs:clearcoat.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
3076
+ Q.clearcoat = 1, Q.clearcoatMap = k(R), Q.clearcoatMap.colorSpace = oA, 'def Shader "Transform2d_clearcoat"' in b && l(Q.clearcoatMap, b['def Shader "Transform2d_clearcoat"']);
3089
3077
  } else "float inputs:clearcoat" in w && (Q.clearcoat = parseFloat(w["float inputs:clearcoat"]));
3090
3078
  if ("float inputs:clearcoatRoughness.connect" in w) {
3091
- const S = w["float inputs:clearcoatRoughness.connect"], F = u(I, /(\w+).output/.exec(S)[1]);
3092
- Q.clearcoatRoughness = 1, Q.clearcoatRoughnessMap = k(F), Q.clearcoatRoughnessMap.colorSpace = oA, 'def Shader "Transform2d_clearcoatRoughness"' in b && l(Q.clearcoatRoughnessMap, b['def Shader "Transform2d_clearcoatRoughness"']);
3079
+ const S = w["float inputs:clearcoatRoughness.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
3080
+ Q.clearcoatRoughness = 1, Q.clearcoatRoughnessMap = k(R), Q.clearcoatRoughnessMap.colorSpace = oA, 'def Shader "Transform2d_clearcoatRoughness"' in b && l(Q.clearcoatRoughnessMap, b['def Shader "Transform2d_clearcoatRoughness"']);
3093
3081
  } else "float inputs:clearcoatRoughness" in w && (Q.clearcoatRoughness = parseFloat(w["float inputs:clearcoatRoughness"]));
3094
3082
  if ("float inputs:ior" in w && (Q.ior = parseFloat(w["float inputs:ior"])), "float inputs:occlusion.connect" in w) {
3095
- const S = w["float inputs:occlusion.connect"], F = u(I, /(\w+).output/.exec(S)[1]);
3096
- Q.aoMap = k(F), Q.aoMap.colorSpace = oA, 'def Shader "Transform2d_occlusion"' in b && l(Q.aoMap, b['def Shader "Transform2d_occlusion"']);
3083
+ const S = w["float inputs:occlusion.connect"], R = u(I, /(\w+).output/.exec(S)[1]);
3084
+ Q.aoMap = k(R), Q.aoMap.colorSpace = oA, 'def Shader "Transform2d_occlusion"' in b && l(Q.aoMap, b['def Shader "Transform2d_occlusion"']);
3097
3085
  }
3098
3086
  }
3099
3087
  }
@@ -3113,16 +3101,16 @@ class yi extends TA {
3113
3101
  function k(b) {
3114
3102
  if ("asset inputs:file" in b) {
3115
3103
  const Q = b["asset inputs:file"].replace(/@*/g, "").trim(), D = new Te().load(o[Q]), w = {
3116
- '"clamp"': Ue,
3117
- '"mirror"': _e,
3104
+ '"clamp"': Me,
3105
+ '"mirror"': Le,
3118
3106
  '"repeat"': xA
3119
3107
  };
3120
3108
  return "token inputs:wrapS" in b && (D.wrapS = w[b["token inputs:wrapS"]]), "token inputs:wrapT" in b && (D.wrapT = w[b["token inputs:wrapT"]]), D;
3121
3109
  }
3122
3110
  return null;
3123
3111
  }
3124
- function R(b) {
3125
- const Q = C(g(b)), m = h(p(b)), D = Q ? new Me(Q, m) : new ie();
3112
+ function F(b) {
3113
+ const Q = C(g(b)), m = h(p(b)), D = Q ? new Ne(Q, m) : new ie();
3126
3114
  if ("matrix4d xformOp:transform" in b) {
3127
3115
  const w = JSON.parse("[" + b["matrix4d xformOp:transform"].replace(/[()]*/g, "") + "]");
3128
3116
  D.matrix.fromArray(w), D.matrix.decompose(D.position, D.quaternion, D.scale);
@@ -3134,7 +3122,7 @@ class yi extends TA {
3134
3122
  if (m.startsWith("def Scope"))
3135
3123
  G(b[m], Q);
3136
3124
  else if (m.startsWith("def Xform")) {
3137
- const D = R(b[m]);
3125
+ const D = F(b[m]);
3138
3126
  /def Xform "(\w+)"/.test(m) && (D.name = /def Xform "(\w+)"/.exec(m)[1]), Q.add(D), G(b[m], D);
3139
3127
  }
3140
3128
  }