@vctrl/hooks 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { jsx as Bt } from "react/jsx-runtime";
2
- import { useCallback as V, 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 $, MeshPhysicalMaterial as W, Vector2 as SA, Matrix4 as yA, Vector3 as CA, Quaternion as xe, InstancedMesh as ut, InstancedBufferAttribute as mt, Object3D as se, TextureLoader as Te, ImageBitmapLoader as wt, BufferAttribute as z, InterleavedBuffer as Dt, InterleavedBufferAttribute as kt, LinearFilter as GA, LinearMipmapLinearFilter as ie, 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 sa, RGB_ETC2_Format as ia, 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";
4
- const BA = {}, eA = {
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 se, TextureLoader as Te, ImageBitmapLoader as wt, BufferAttribute as X, InterleavedBuffer as Dt, InterleavedBufferAttribute as kt, LinearFilter as GA, LinearMipmapLinearFilter as ie, 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 sa, RGB_ETC2_Format as ia, 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";
4
+ const BA = {}, V = {
5
5
  emit(n, A) {
6
6
  const e = BA[n];
7
7
  e && e.forEach((a) => a(A));
@@ -18,9 +18,22 @@ const BA = {}, eA = {
18
18
  };
19
19
  var q = /* @__PURE__ */ ((n) => (n.gltf = "gltf", n.glb = "glb", n.usdz = "usdz", n))(q || {});
20
20
  const He = {
21
+ /**
22
+ * Currently loaded file
23
+ */
21
24
  file: null,
25
+ /**
26
+ * Flag indicating if a file is currently being loaded
27
+ */
22
28
  isFileLoading: !1,
29
+ /**
30
+ * Current loading progress (0-100)
31
+ */
23
32
  progress: 0,
33
+ /**
34
+ * List of supported file types
35
+ * @type {ModelFileTypes[]}
36
+ */
24
37
  supportedFileTypes: Object.values(q)
25
38
  };
26
39
  function Ca(n, A) {
@@ -63,10 +76,10 @@ function ue(n, A) {
63
76
  if (A === XA || A === Ge) {
64
77
  let e = n.getIndex();
65
78
  if (e === null) {
66
- const i = [], r = n.getAttribute("position");
67
- if (r !== void 0) {
68
- for (let o = 0; o < r.count; o++)
69
- i.push(o);
79
+ const i = [], o = n.getAttribute("position");
80
+ if (o !== void 0) {
81
+ for (let r = 0; r < o.count; r++)
82
+ i.push(r);
70
83
  n.setIndex(i), e = n.getIndex();
71
84
  } else
72
85
  return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), n;
@@ -133,18 +146,18 @@ class la extends TA {
133
146
  } else
134
147
  i = mA.extractUrlBase(A);
135
148
  this.manager.itemStart(A);
136
- const r = function(c) {
149
+ const o = function(c) {
137
150
  t ? t(c) : console.error(c), s.manager.itemError(A), s.manager.itemEnd(A);
138
- }, o = new aA(this.manager);
139
- o.setPath(this.path), o.setResponseType("arraybuffer"), o.setRequestHeader(this.requestHeader), o.setWithCredentials(this.withCredentials), o.load(A, function(c) {
151
+ }, r = new aA(this.manager);
152
+ r.setPath(this.path), r.setResponseType("arraybuffer"), r.setRequestHeader(this.requestHeader), r.setWithCredentials(this.withCredentials), r.load(A, function(c) {
140
153
  try {
141
154
  s.parse(c, i, function(I) {
142
155
  e(I), s.manager.itemEnd(A);
143
- }, r);
156
+ }, o);
144
157
  } catch (I) {
145
- r(I);
158
+ o(I);
146
159
  }
147
- }, a, r);
160
+ }, a, o);
148
161
  }
149
162
  setDRACOLoader(A) {
150
163
  return this.dracoLoader = A, this;
@@ -168,11 +181,11 @@ class la extends TA {
168
181
  }
169
182
  parse(A, e, a, t) {
170
183
  let s;
171
- const i = {}, r = {}, o = new TextDecoder();
184
+ const i = {}, o = {}, r = new TextDecoder();
172
185
  if (typeof A == "string")
173
186
  s = JSON.parse(A);
174
187
  else if (A instanceof ArrayBuffer)
175
- if (o.decode(new Uint8Array(A, 0, 4)) === Oe) {
188
+ if (r.decode(new Uint8Array(A, 0, 4)) === Oe) {
176
189
  try {
177
190
  i[y.KHR_BINARY_GLTF] = new Ma(A);
178
191
  } catch (g) {
@@ -181,7 +194,7 @@ class la extends TA {
181
194
  }
182
195
  s = JSON.parse(i[y.KHR_BINARY_GLTF].content);
183
196
  } else
184
- s = JSON.parse(o.decode(A));
197
+ s = JSON.parse(r.decode(A));
185
198
  else
186
199
  s = A;
187
200
  if (s.asset === void 0 || s.asset.version[0] < 2) {
@@ -199,7 +212,7 @@ class la extends TA {
199
212
  c.fileLoader.setRequestHeader(this.requestHeader);
200
213
  for (let I = 0; I < this.pluginCallbacks.length; I++) {
201
214
  const g = this.pluginCallbacks[I](c);
202
- g.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), r[g.name] = g, i[g.name] = !0;
215
+ g.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), o[g.name] = g, i[g.name] = !0;
203
216
  }
204
217
  if (s.extensionsUsed)
205
218
  for (let I = 0; I < s.extensionsUsed.length; ++I) {
@@ -218,10 +231,10 @@ class la extends TA {
218
231
  i[g] = new _a();
219
232
  break;
220
233
  default:
221
- B.indexOf(g) >= 0 && r[g] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + g + '".');
234
+ B.indexOf(g) >= 0 && o[g] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + g + '".');
222
235
  }
223
236
  }
224
- c.setExtensions(i), c.setPlugins(r), c.parse(a, t);
237
+ c.setExtensions(i), c.setPlugins(o), c.parse(a, t);
225
238
  }
226
239
  parseAsync(A, e) {
227
240
  const a = this;
@@ -286,12 +299,12 @@ class Ea {
286
299
  const e = this.parser, a = "light:" + A;
287
300
  let t = e.cache.get(a);
288
301
  if (t) return t;
289
- const s = e.json, o = ((s.extensions && s.extensions[this.name] || {}).lights || [])[A];
302
+ const s = e.json, r = ((s.extensions && s.extensions[this.name] || {}).lights || [])[A];
290
303
  let c;
291
304
  const I = new rA(16777215);
292
- o.color !== void 0 && I.setRGB(o.color[0], o.color[1], o.color[2], Y);
293
- const g = o.range !== void 0 ? o.range : 0;
294
- switch (o.type) {
305
+ r.color !== void 0 && I.setRGB(r.color[0], r.color[1], r.color[2], Y);
306
+ const g = r.range !== void 0 ? r.range : 0;
307
+ switch (r.type) {
295
308
  case "directional":
296
309
  c = new pt(I), c.target.position.set(0, 0, -1), c.add(c.target);
297
310
  break;
@@ -299,21 +312,21 @@ class Ea {
299
312
  c = new ht(I), c.distance = g;
300
313
  break;
301
314
  case "spot":
302
- c = new dt(I), c.distance = g, o.spot = o.spot || {}, o.spot.innerConeAngle = o.spot.innerConeAngle !== void 0 ? o.spot.innerConeAngle : 0, o.spot.outerConeAngle = o.spot.outerConeAngle !== void 0 ? o.spot.outerConeAngle : Math.PI / 4, c.angle = o.spot.outerConeAngle, c.penumbra = 1 - o.spot.innerConeAngle / o.spot.outerConeAngle, c.target.position.set(0, 0, -1), c.add(c.target);
315
+ c = new dt(I), c.distance = g, r.spot = r.spot || {}, r.spot.innerConeAngle = r.spot.innerConeAngle !== void 0 ? r.spot.innerConeAngle : 0, r.spot.outerConeAngle = r.spot.outerConeAngle !== void 0 ? r.spot.outerConeAngle : Math.PI / 4, c.angle = r.spot.outerConeAngle, c.penumbra = 1 - r.spot.innerConeAngle / r.spot.outerConeAngle, c.target.position.set(0, 0, -1), c.add(c.target);
303
316
  break;
304
317
  default:
305
- throw new Error("THREE.GLTFLoader: Unexpected light type: " + o.type);
318
+ throw new Error("THREE.GLTFLoader: Unexpected light type: " + r.type);
306
319
  }
307
- return c.position.set(0, 0, 0), c.decay = 2, tA(c, o), o.intensity !== void 0 && (c.intensity = o.intensity), c.name = e.createUniqueName(o.name || "light_" + A), t = Promise.resolve(c), e.cache.add(a, t), t;
320
+ return c.position.set(0, 0, 0), c.decay = 2, tA(c, r), r.intensity !== void 0 && (c.intensity = r.intensity), c.name = e.createUniqueName(r.name || "light_" + A), t = Promise.resolve(c), e.cache.add(a, t), t;
308
321
  }
309
322
  getDependency(A, e) {
310
323
  if (A === "light")
311
324
  return this._loadLight(e);
312
325
  }
313
326
  createNodeAttachment(A) {
314
- const e = this, a = this.parser, s = a.json.nodes[A], r = (s.extensions && s.extensions[this.name] || {}).light;
315
- return r === void 0 ? null : this._loadLight(r).then(function(o) {
316
- return a._getNodeRef(e.cache, r, o);
327
+ const e = this, a = this.parser, s = a.json.nodes[A], o = (s.extensions && s.extensions[this.name] || {}).light;
328
+ return o === void 0 ? null : this._loadLight(o).then(function(r) {
329
+ return a._getNodeRef(e.cache, o, r);
317
330
  });
318
331
  }
319
332
  }
@@ -333,7 +346,7 @@ class Qa {
333
346
  const i = s.baseColorFactor;
334
347
  A.color.setRGB(i[0], i[1], i[2], Y), A.opacity = i[3];
335
348
  }
336
- s.baseColorTexture !== void 0 && t.push(a.assignTexture(A, "map", s.baseColorTexture, $));
349
+ s.baseColorTexture !== void 0 && t.push(a.assignTexture(A, "map", s.baseColorTexture, AA));
337
350
  }
338
351
  return Promise.all(t);
339
352
  }
@@ -364,8 +377,8 @@ class ha {
364
377
  return Promise.resolve();
365
378
  const s = [], i = t.extensions[this.name];
366
379
  if (i.clearcoatFactor !== void 0 && (e.clearcoat = i.clearcoatFactor), i.clearcoatTexture !== void 0 && s.push(a.assignTexture(e, "clearcoatMap", i.clearcoatTexture)), i.clearcoatRoughnessFactor !== void 0 && (e.clearcoatRoughness = i.clearcoatRoughnessFactor), i.clearcoatRoughnessTexture !== void 0 && s.push(a.assignTexture(e, "clearcoatRoughnessMap", i.clearcoatRoughnessTexture)), i.clearcoatNormalTexture !== void 0 && (s.push(a.assignTexture(e, "clearcoatNormalMap", i.clearcoatNormalTexture)), i.clearcoatNormalTexture.scale !== void 0)) {
367
- const r = i.clearcoatNormalTexture.scale;
368
- e.clearcoatNormalScale = new SA(r, r);
380
+ const o = i.clearcoatNormalTexture.scale;
381
+ e.clearcoatNormalScale = new SA(o, o);
369
382
  }
370
383
  return Promise.all(s);
371
384
  }
@@ -418,10 +431,10 @@ class ma {
418
431
  e.sheenColor = new rA(0, 0, 0), e.sheenRoughness = 0, e.sheen = 1;
419
432
  const i = t.extensions[this.name];
420
433
  if (i.sheenColorFactor !== void 0) {
421
- const r = i.sheenColorFactor;
422
- e.sheenColor.setRGB(r[0], r[1], r[2], Y);
434
+ const o = i.sheenColorFactor;
435
+ e.sheenColor.setRGB(o[0], o[1], o[2], Y);
423
436
  }
424
- return i.sheenRoughnessFactor !== void 0 && (e.sheenRoughness = i.sheenRoughnessFactor), i.sheenColorTexture !== void 0 && s.push(a.assignTexture(e, "sheenColorMap", i.sheenColorTexture, $)), i.sheenRoughnessTexture !== void 0 && s.push(a.assignTexture(e, "sheenRoughnessMap", i.sheenRoughnessTexture)), Promise.all(s);
437
+ return i.sheenRoughnessFactor !== void 0 && (e.sheenRoughness = i.sheenRoughnessFactor), i.sheenColorTexture !== void 0 && s.push(a.assignTexture(e, "sheenColorMap", i.sheenColorTexture, AA)), i.sheenRoughnessTexture !== void 0 && s.push(a.assignTexture(e, "sheenRoughnessMap", i.sheenRoughnessTexture)), Promise.all(s);
425
438
  }
426
439
  }
427
440
  class wa {
@@ -454,8 +467,8 @@ class Da {
454
467
  return Promise.resolve();
455
468
  const s = [], i = t.extensions[this.name];
456
469
  e.thickness = i.thicknessFactor !== void 0 ? i.thicknessFactor : 0, i.thicknessTexture !== void 0 && s.push(a.assignTexture(e, "thicknessMap", i.thicknessTexture)), e.attenuationDistance = i.attenuationDistance || 1 / 0;
457
- const r = i.attenuationColor || [1, 1, 1];
458
- return e.attenuationColor = new rA().setRGB(r[0], r[1], r[2], Y), Promise.all(s);
470
+ const o = i.attenuationColor || [1, 1, 1];
471
+ return e.attenuationColor = new rA().setRGB(o[0], o[1], o[2], Y), Promise.all(s);
459
472
  }
460
473
  }
461
474
  class ka {
@@ -488,8 +501,8 @@ class Fa {
488
501
  return Promise.resolve();
489
502
  const s = [], i = t.extensions[this.name];
490
503
  e.specularIntensity = i.specularFactor !== void 0 ? i.specularFactor : 1, i.specularTexture !== void 0 && s.push(a.assignTexture(e, "specularIntensityMap", i.specularTexture));
491
- const r = i.specularColorFactor || [1, 1, 1];
492
- return e.specularColor = new rA().setRGB(r[0], r[1], r[2], Y), i.specularColorTexture !== void 0 && s.push(a.assignTexture(e, "specularColorMap", i.specularColorTexture, $)), Promise.all(s);
504
+ const o = i.specularColorFactor || [1, 1, 1];
505
+ return e.specularColor = new rA().setRGB(o[0], o[1], o[2], Y), i.specularColorTexture !== void 0 && s.push(a.assignTexture(e, "specularColorMap", i.specularColorTexture, AA)), Promise.all(s);
493
506
  }
494
507
  }
495
508
  class Ra {
@@ -549,14 +562,14 @@ class Ga {
549
562
  const e = this.name, a = this.parser, t = a.json, s = t.textures[A];
550
563
  if (!s.extensions || !s.extensions[e])
551
564
  return null;
552
- const i = s.extensions[e], r = t.images[i.source];
553
- let o = a.textureLoader;
554
- if (r.uri) {
555
- const c = a.options.manager.getHandler(r.uri);
556
- c !== null && (o = c);
565
+ const i = s.extensions[e], o = t.images[i.source];
566
+ let r = a.textureLoader;
567
+ if (o.uri) {
568
+ const c = a.options.manager.getHandler(o.uri);
569
+ c !== null && (r = c);
557
570
  }
558
571
  return this.detectSupport().then(function(c) {
559
- if (c) return a.loadTextureImage(A, i.source, o);
572
+ if (c) return a.loadTextureImage(A, i.source, r);
560
573
  if (t.extensionsRequired && t.extensionsRequired.indexOf(e) >= 0)
561
574
  throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");
562
575
  return a.loadTexture(A);
@@ -579,14 +592,14 @@ class xa {
579
592
  const e = this.name, a = this.parser, t = a.json, s = t.textures[A];
580
593
  if (!s.extensions || !s.extensions[e])
581
594
  return null;
582
- const i = s.extensions[e], r = t.images[i.source];
583
- let o = a.textureLoader;
584
- if (r.uri) {
585
- const c = a.options.manager.getHandler(r.uri);
586
- c !== null && (o = c);
595
+ const i = s.extensions[e], o = t.images[i.source];
596
+ let r = a.textureLoader;
597
+ if (o.uri) {
598
+ const c = a.options.manager.getHandler(o.uri);
599
+ c !== null && (r = c);
587
600
  }
588
601
  return this.detectSupport().then(function(c) {
589
- if (c) return a.loadTextureImage(A, i.source, o);
602
+ if (c) return a.loadTextureImage(A, i.source, r);
590
603
  if (t.extensionsRequired && t.extensionsRequired.indexOf(e) >= 0)
591
604
  throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");
592
605
  return a.loadTexture(A);
@@ -614,8 +627,8 @@ class Ta {
614
627
  throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");
615
628
  return null;
616
629
  }
617
- return s.then(function(r) {
618
- const o = t.byteOffset || 0, c = t.byteLength || 0, I = t.count, g = t.byteStride, B = new Uint8Array(r, o, c);
630
+ return s.then(function(o) {
631
+ const r = t.byteOffset || 0, c = t.byteLength || 0, I = t.count, g = t.byteStride, B = new Uint8Array(o, r, c);
619
632
  return i.decodeGltfBufferAsync ? i.decodeGltfBufferAsync(I, g, B, t.mode, t.filter).then(function(C) {
620
633
  return C.buffer;
621
634
  }) : i.ready.then(function() {
@@ -639,20 +652,20 @@ class La {
639
652
  for (const c of t.primitives)
640
653
  if (c.mode !== O.TRIANGLES && c.mode !== O.TRIANGLE_STRIP && c.mode !== O.TRIANGLE_FAN && c.mode !== void 0)
641
654
  return null;
642
- const i = a.extensions[this.name].attributes, r = [], o = {};
655
+ const i = a.extensions[this.name].attributes, o = [], r = {};
643
656
  for (const c in i)
644
- r.push(this.parser.getDependency("accessor", i[c]).then((I) => (o[c] = I, o[c])));
645
- return r.length < 1 ? null : (r.push(this.parser.createNodeMesh(A)), Promise.all(r).then((c) => {
657
+ o.push(this.parser.getDependency("accessor", i[c]).then((I) => (r[c] = I, r[c])));
658
+ return o.length < 1 ? null : (o.push(this.parser.createNodeMesh(A)), Promise.all(o).then((c) => {
646
659
  const I = c.pop(), g = I.isGroup ? I.children : [I], B = c[0].count, C = [];
647
660
  for (const f of g) {
648
661
  const d = new yA(), p = new CA(), E = new xe(), l = new CA(1, 1, 1), h = new ut(f.geometry, f.material, B);
649
662
  for (let u = 0; u < B; u++)
650
- o.TRANSLATION && p.fromBufferAttribute(o.TRANSLATION, u), o.ROTATION && E.fromBufferAttribute(o.ROTATION, u), o.SCALE && l.fromBufferAttribute(o.SCALE, u), h.setMatrixAt(u, d.compose(p, E, l));
651
- for (const u in o)
663
+ r.TRANSLATION && p.fromBufferAttribute(r.TRANSLATION, u), r.ROTATION && E.fromBufferAttribute(r.ROTATION, u), r.SCALE && l.fromBufferAttribute(r.SCALE, u), h.setMatrixAt(u, d.compose(p, E, l));
664
+ for (const u in r)
652
665
  if (u === "_COLOR_0") {
653
- const k = o[u];
666
+ const k = r[u];
654
667
  h.instanceColor = new mt(k.array, k.itemSize, k.normalized);
655
- } else u !== "TRANSLATION" && u !== "ROTATION" && u !== "SCALE" && f.geometry.setAttribute(u, o[u]);
668
+ } else u !== "TRANSLATION" && u !== "ROTATION" && u !== "SCALE" && f.geometry.setAttribute(u, r[u]);
656
669
  se.prototype.copy.call(h, f), this.parser.assignFinalMaterial(h), C.push(h);
657
670
  }
658
671
  return I.isGroup ? (I.clear(), I.add(...C), I) : C[0];
@@ -675,17 +688,17 @@ class Ma {
675
688
  const t = this.header.length - QA, s = new DataView(A, QA);
676
689
  let i = 0;
677
690
  for (; i < t; ) {
678
- const r = s.getUint32(i, !0);
679
- i += 4;
680
691
  const o = s.getUint32(i, !0);
681
- if (i += 4, o === me.JSON) {
682
- const c = new Uint8Array(A, QA + i, r);
692
+ i += 4;
693
+ const r = s.getUint32(i, !0);
694
+ if (i += 4, r === me.JSON) {
695
+ const c = new Uint8Array(A, QA + i, o);
683
696
  this.content = a.decode(c);
684
- } else if (o === me.BIN) {
697
+ } else if (r === me.BIN) {
685
698
  const c = QA + i;
686
- this.body = A.slice(c, c + r);
699
+ this.body = A.slice(c, c + o);
687
700
  }
688
- i += r;
701
+ i += o;
689
702
  }
690
703
  if (this.content === null)
691
704
  throw new Error("THREE.GLTFLoader: JSON content not found.");
@@ -698,27 +711,27 @@ class Na {
698
711
  this.name = y.KHR_DRACO_MESH_COMPRESSION, this.json = A, this.dracoLoader = e, this.dracoLoader.preload();
699
712
  }
700
713
  decodePrimitive(A, e) {
701
- const a = this.json, t = this.dracoLoader, s = A.extensions[this.name].bufferView, i = A.extensions[this.name].attributes, r = {}, o = {}, c = {};
714
+ const a = this.json, t = this.dracoLoader, s = A.extensions[this.name].bufferView, i = A.extensions[this.name].attributes, o = {}, r = {}, c = {};
702
715
  for (const I in i) {
703
716
  const g = ZA[I] || I.toLowerCase();
704
- r[g] = i[I];
717
+ o[g] = i[I];
705
718
  }
706
719
  for (const I in A.attributes) {
707
720
  const g = ZA[I] || I.toLowerCase();
708
721
  if (i[I] !== void 0) {
709
722
  const B = a.accessors[A.attributes[I]], C = fA[B.componentType];
710
- c[g] = C.name, o[g] = B.normalized === !0;
723
+ c[g] = C.name, r[g] = B.normalized === !0;
711
724
  }
712
725
  }
713
726
  return e.getDependency("bufferView", s).then(function(I) {
714
727
  return new Promise(function(g, B) {
715
728
  t.decodeDracoFile(I, function(C) {
716
729
  for (const f in C.attributes) {
717
- const d = C.attributes[f], p = o[f];
730
+ const d = C.attributes[f], p = r[f];
718
731
  p !== void 0 && (d.normalized = p);
719
732
  }
720
733
  g(C);
721
- }, r, c, Y, B);
734
+ }, o, c, Y, B);
722
735
  });
723
736
  });
724
737
  }
@@ -747,9 +760,9 @@ class ve extends zt {
747
760
  return e;
748
761
  }
749
762
  interpolate_(A, e, a, t) {
750
- const s = this.resultBuffer, i = this.sampleValues, r = this.valueSize, o = r * 2, c = r * 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;
751
- for (let u = 0; u !== r; u++) {
752
- const k = i[d + u + r], R = i[d + u + o] * I, G = i[f + u + r], M = i[f + u] * I;
763
+ const s = this.resultBuffer, i = 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
+ for (let u = 0; u !== o; u++) {
765
+ const k = i[d + u + o], R = i[d + u + r] * I, G = i[f + u + o], M = i[f + u] * I;
753
766
  s[u] = l * k + h * R + p * G + E * M;
754
767
  }
755
768
  return s;
@@ -860,7 +873,7 @@ function Ja(n, A, e) {
860
873
  if (g.POSITION !== void 0 && (a = !0), g.NORMAL !== void 0 && (t = !0), g.COLOR_0 !== void 0 && (s = !0), a && t && s) break;
861
874
  }
862
875
  if (!a && !t && !s) return Promise.resolve(n);
863
- const i = [], r = [], o = [];
876
+ const i = [], o = [], r = [];
864
877
  for (let c = 0, I = A.length; c < I; c++) {
865
878
  const g = A[c];
866
879
  if (a) {
@@ -869,17 +882,17 @@ function Ja(n, A, e) {
869
882
  }
870
883
  if (t) {
871
884
  const B = g.NORMAL !== void 0 ? e.getDependency("accessor", g.NORMAL) : n.attributes.normal;
872
- r.push(B);
885
+ o.push(B);
873
886
  }
874
887
  if (s) {
875
888
  const B = g.COLOR_0 !== void 0 ? e.getDependency("accessor", g.COLOR_0) : n.attributes.color;
876
- o.push(B);
889
+ r.push(B);
877
890
  }
878
891
  }
879
892
  return Promise.all([
880
893
  Promise.all(i),
881
- Promise.all(r),
882
- Promise.all(o)
894
+ Promise.all(o),
895
+ Promise.all(r)
883
896
  ]).then(function(c) {
884
897
  const I = c[0], g = c[1], B = c[2];
885
898
  return a && (n.morphAttributes.position = I), t && (n.morphAttributes.normal = g), s && (n.morphAttributes.color = B), n.morphTargetsRelative = !0, n;
@@ -937,10 +950,10 @@ class Wa {
937
950
  this.json = A, this.extensions = {}, this.plugins = {}, this.options = e, this.cache = new fa(), 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 = {};
938
951
  let a = !1, t = -1, s = !1, i = -1;
939
952
  if (typeof navigator < "u") {
940
- const r = navigator.userAgent;
941
- a = /^((?!chrome|android).)*safari/i.test(r) === !0;
942
- const o = r.match(/Version\/(\d+)/);
943
- t = a && o ? parseInt(o[1], 10) : -1, s = r.indexOf("Firefox") > -1, i = s ? r.match(/Firefox\/([0-9]+)\./)[1] : -1;
953
+ const o = navigator.userAgent;
954
+ a = /^((?!chrome|android).)*safari/i.test(o) === !0;
955
+ const r = o.match(/Version\/(\d+)/);
956
+ t = a && r ? parseInt(r[1], 10) : -1, s = o.indexOf("Firefox") > -1, i = s ? o.match(/Firefox\/([0-9]+)\./)[1] : -1;
944
957
  }
945
958
  typeof createImageBitmap > "u" || a && t < 17 || s && i < 98 ? this.textureLoader = new Te(this.options.manager) : this.textureLoader = new wt(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new aA(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
946
959
  }
@@ -963,7 +976,7 @@ class Wa {
963
976
  a.getDependencies("camera")
964
977
  ]);
965
978
  }).then(function(i) {
966
- const r = {
979
+ const o = {
967
980
  scene: i[0][t.scene || 0],
968
981
  scenes: i[0],
969
982
  animations: i[1],
@@ -972,12 +985,12 @@ class Wa {
972
985
  parser: a,
973
986
  userData: {}
974
987
  };
975
- return gA(s, r, t), tA(r, t), Promise.all(a._invokeAll(function(o) {
976
- return o.afterRoot && o.afterRoot(r);
988
+ return gA(s, o, t), tA(o, t), Promise.all(a._invokeAll(function(r) {
989
+ return r.afterRoot && r.afterRoot(o);
977
990
  })).then(function() {
978
- for (const o of r.scenes)
979
- o.updateMatrixWorld();
980
- A(r);
991
+ for (const r of o.scenes)
992
+ r.updateMatrixWorld();
993
+ A(o);
981
994
  });
982
995
  }).catch(e);
983
996
  }
@@ -988,8 +1001,8 @@ class Wa {
988
1001
  const A = this.json.nodes || [], e = this.json.skins || [], a = this.json.meshes || [];
989
1002
  for (let t = 0, s = e.length; t < s; t++) {
990
1003
  const i = e[t].joints;
991
- for (let r = 0, o = i.length; r < o; r++)
992
- A[i[r]].isBone = !0;
1004
+ for (let o = 0, r = i.length; o < r; o++)
1005
+ A[i[o]].isBone = !0;
993
1006
  }
994
1007
  for (let t = 0, s = A.length; t < s; t++) {
995
1008
  const i = A[t];
@@ -1011,11 +1024,11 @@ class Wa {
1011
1024
  /** Returns a reference to a shared resource, cloning it if necessary. */
1012
1025
  _getNodeRef(A, e, a) {
1013
1026
  if (A.refs[e] <= 1) return a;
1014
- const t = a.clone(), s = (i, r) => {
1015
- const o = this.associations.get(i);
1016
- o != null && this.associations.set(r, o);
1027
+ const t = a.clone(), s = (i, o) => {
1028
+ const r = this.associations.get(i);
1029
+ r != null && this.associations.set(o, r);
1017
1030
  for (const [c, I] of i.children.entries())
1018
- s(I, r.children[c]);
1031
+ s(I, o.children[c]);
1019
1032
  };
1020
1033
  return s(a, t), t.name += "_instance_" + A.uses[e]++, t;
1021
1034
  }
@@ -1158,25 +1171,25 @@ class Wa {
1158
1171
  loadAccessor(A) {
1159
1172
  const e = this, a = this.json, t = this.json.accessors[A];
1160
1173
  if (t.bufferView === void 0 && t.sparse === void 0) {
1161
- const i = UA[t.type], r = fA[t.componentType], o = t.normalized === !0, c = new r(t.count * i);
1162
- return Promise.resolve(new z(c, i, o));
1174
+ const i = UA[t.type], o = fA[t.componentType], r = t.normalized === !0, c = new o(t.count * i);
1175
+ return Promise.resolve(new X(c, i, r));
1163
1176
  }
1164
1177
  const s = [];
1165
1178
  return t.bufferView !== void 0 ? s.push(this.getDependency("bufferView", t.bufferView)) : s.push(null), t.sparse !== void 0 && (s.push(this.getDependency("bufferView", t.sparse.indices.bufferView)), s.push(this.getDependency("bufferView", t.sparse.values.bufferView))), Promise.all(s).then(function(i) {
1166
- const r = i[0], o = UA[t.type], c = fA[t.componentType], I = c.BYTES_PER_ELEMENT, g = I * o, B = t.byteOffset || 0, C = t.bufferView !== void 0 ? a.bufferViews[t.bufferView].byteStride : void 0, f = t.normalized === !0;
1179
+ const o = i[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
1180
  let d, p;
1168
1181
  if (C && C !== g) {
1169
1182
  const E = Math.floor(B / C), l = "InterleavedBuffer:" + t.bufferView + ":" + t.componentType + ":" + E + ":" + t.count;
1170
1183
  let h = e.cache.get(l);
1171
- h || (d = new c(r, E * C, t.count * C / I), h = new Dt(d, C / I), e.cache.add(l, h)), p = new kt(h, o, B % C / I, f);
1184
+ h || (d = new c(o, E * C, t.count * C / I), h = new Dt(d, C / I), e.cache.add(l, h)), p = new kt(h, r, B % C / I, f);
1172
1185
  } else
1173
- r === null ? d = new c(t.count * o) : d = new c(r, B, t.count * o), p = new z(d, o, f);
1186
+ o === null ? d = new c(t.count * r) : d = new c(o, B, t.count * r), p = new X(d, r, f);
1174
1187
  if (t.sparse !== void 0) {
1175
- 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(i[1], h, t.sparse.count * E), R = new c(i[2], u, t.sparse.count * o);
1176
- r !== null && (p = new z(p.array.slice(), p.itemSize, p.normalized));
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(i[1], h, t.sparse.count * E), R = new c(i[2], u, t.sparse.count * r);
1189
+ o !== null && (p = new X(p.array.slice(), p.itemSize, p.normalized));
1177
1190
  for (let G = 0, M = k.length; G < M; G++) {
1178
1191
  const b = k[G];
1179
- if (p.setX(b, R[G * o]), o >= 2 && p.setY(b, R[G * o + 1]), o >= 3 && p.setZ(b, R[G * o + 2]), o >= 4 && p.setW(b, R[G * o + 3]), o >= 5) throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
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
1193
  }
1181
1194
  }
1182
1195
  return p;
@@ -1189,41 +1202,41 @@ class Wa {
1189
1202
  */
1190
1203
  loadTexture(A) {
1191
1204
  const e = this.json, a = this.options, s = e.textures[A].source, i = e.images[s];
1192
- let r = this.textureLoader;
1205
+ let o = this.textureLoader;
1193
1206
  if (i.uri) {
1194
- const o = a.manager.getHandler(i.uri);
1195
- o !== null && (r = o);
1207
+ const r = a.manager.getHandler(i.uri);
1208
+ r !== null && (o = r);
1196
1209
  }
1197
- return this.loadTextureImage(A, s, r);
1210
+ return this.loadTextureImage(A, s, o);
1198
1211
  }
1199
1212
  loadTextureImage(A, e, a) {
1200
- const t = this, s = this.json, i = s.textures[A], r = s.images[e], o = (r.uri || r.bufferView) + ":" + i.sampler;
1201
- if (this.textureCache[o])
1202
- return this.textureCache[o];
1213
+ const t = this, s = this.json, i = s.textures[A], o = s.images[e], r = (o.uri || o.bufferView) + ":" + i.sampler;
1214
+ if (this.textureCache[r])
1215
+ return this.textureCache[r];
1203
1216
  const c = this.loadImageSource(e, a).then(function(I) {
1204
- I.flipY = !1, I.name = i.name || r.name || "", I.name === "" && typeof r.uri == "string" && r.uri.startsWith("data:image/") === !1 && (I.name = r.uri);
1217
+ I.flipY = !1, I.name = i.name || o.name || "", I.name === "" && typeof o.uri == "string" && o.uri.startsWith("data:image/") === !1 && (I.name = o.uri);
1205
1218
  const B = (s.samplers || {})[i.sampler] || {};
1206
1219
  return I.magFilter = we[B.magFilter] || GA, I.minFilter = we[B.minFilter] || ie, I.wrapS = De[B.wrapS] || xA, I.wrapT = De[B.wrapT] || xA, t.associations.set(I, { textures: A }), I;
1207
1220
  }).catch(function() {
1208
1221
  return null;
1209
1222
  });
1210
- return this.textureCache[o] = c, c;
1223
+ return this.textureCache[r] = c, c;
1211
1224
  }
1212
1225
  loadImageSource(A, e) {
1213
1226
  const a = this, t = this.json, s = this.options;
1214
1227
  if (this.sourceCache[A] !== void 0)
1215
1228
  return this.sourceCache[A].then((g) => g.clone());
1216
- const i = t.images[A], r = self.URL || self.webkitURL;
1217
- let o = i.uri || "", c = !1;
1229
+ const i = t.images[A], o = self.URL || self.webkitURL;
1230
+ let r = i.uri || "", c = !1;
1218
1231
  if (i.bufferView !== void 0)
1219
- o = a.getDependency("bufferView", i.bufferView).then(function(g) {
1232
+ r = a.getDependency("bufferView", i.bufferView).then(function(g) {
1220
1233
  c = !0;
1221
1234
  const B = new Blob([g], { type: i.mimeType });
1222
- return o = r.createObjectURL(B), o;
1235
+ return r = o.createObjectURL(B), r;
1223
1236
  });
1224
1237
  else if (i.uri === void 0)
1225
1238
  throw new Error("THREE.GLTFLoader: Image " + A + " is missing URI and bufferView");
1226
- const I = Promise.resolve(o).then(function(g) {
1239
+ const I = Promise.resolve(r).then(function(g) {
1227
1240
  return new Promise(function(B, C) {
1228
1241
  let f = B;
1229
1242
  e.isImageBitmapLoader === !0 && (f = function(d) {
@@ -1232,9 +1245,9 @@ class Wa {
1232
1245
  }), e.load(mA.resolveURL(g, s.path), f, void 0, C);
1233
1246
  });
1234
1247
  }).then(function(g) {
1235
- return c === !0 && r.revokeObjectURL(o), tA(g, i), g.userData.mimeType = i.mimeType || Pa(i.uri), g;
1248
+ return c === !0 && o.revokeObjectURL(r), tA(g, i), g.userData.mimeType = i.mimeType || Pa(i.uri), g;
1236
1249
  }).catch(function(g) {
1237
- throw console.error("THREE.GLTFLoader: Couldn't load texture", o), g;
1250
+ throw console.error("THREE.GLTFLoader: Couldn't load texture", r), g;
1238
1251
  });
1239
1252
  return this.sourceCache[A] = I, I;
1240
1253
  }
@@ -1250,10 +1263,10 @@ class Wa {
1250
1263
  return this.getDependency("texture", a.index).then(function(i) {
1251
1264
  if (!i) return null;
1252
1265
  if (a.texCoord !== void 0 && a.texCoord > 0 && (i = i.clone(), i.channel = a.texCoord), s.extensions[y.KHR_TEXTURE_TRANSFORM]) {
1253
- const r = a.extensions !== void 0 ? a.extensions[y.KHR_TEXTURE_TRANSFORM] : void 0;
1254
- if (r) {
1255
- const o = s.associations.get(i);
1256
- i = s.extensions[y.KHR_TEXTURE_TRANSFORM].extendTexture(i, r), s.associations.set(i, o);
1266
+ const o = a.extensions !== void 0 ? a.extensions[y.KHR_TEXTURE_TRANSFORM] : void 0;
1267
+ if (o) {
1268
+ const r = s.associations.get(i);
1269
+ i = s.extensions[y.KHR_TEXTURE_TRANSFORM].extendTexture(i, o), s.associations.set(i, r);
1257
1270
  }
1258
1271
  }
1259
1272
  return t !== void 0 && (i.colorSpace = t), A[e] = i, i;
@@ -1272,19 +1285,19 @@ class Wa {
1272
1285
  let a = A.material;
1273
1286
  const t = e.attributes.tangent === void 0, s = e.attributes.color !== void 0, i = e.attributes.normal === void 0;
1274
1287
  if (A.isPoints) {
1275
- const r = "PointsMaterial:" + a.uuid;
1276
- let o = this.cache.get(r);
1277
- o || (o = new Ft(), NA.prototype.copy.call(o, a), o.color.copy(a.color), o.map = a.map, o.sizeAttenuation = !1, this.cache.add(r, o)), a = o;
1288
+ const o = "PointsMaterial:" + a.uuid;
1289
+ 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
1291
  } else if (A.isLine) {
1279
- const r = "LineBasicMaterial:" + a.uuid;
1280
- let o = this.cache.get(r);
1281
- o || (o = new Rt(), NA.prototype.copy.call(o, a), o.color.copy(a.color), o.map = a.map, this.cache.add(r, o)), a = o;
1292
+ const o = "LineBasicMaterial:" + a.uuid;
1293
+ 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
1295
  }
1283
1296
  if (t || s || i) {
1284
- let r = "ClonedMaterial:" + a.uuid + ":";
1285
- t && (r += "derivative-tangents:"), s && (r += "vertex-colors:"), i && (r += "flat-shading:");
1286
- let o = this.cache.get(r);
1287
- o || (o = a.clone(), s && (o.vertexColors = !0), i && (o.flatShading = !0), t && (o.normalScale && (o.normalScale.y *= -1), o.clearcoatNormalScale && (o.clearcoatNormalScale.y *= -1)), this.cache.add(r, o), this.associations.set(o, this.associations.get(a))), a = o;
1297
+ let o = "ClonedMaterial:" + a.uuid + ":";
1298
+ t && (o += "derivative-tangents:"), s && (o += "vertex-colors:"), i && (o += "flat-shading:");
1299
+ let r = this.cache.get(o);
1300
+ r || (r = a.clone(), s && (r.vertexColors = !0), i && (r.flatShading = !0), t && (r.normalScale && (r.normalScale.y *= -1), r.clearcoatNormalScale && (r.clearcoatNormalScale.y *= -1)), this.cache.add(o, r), this.associations.set(r, this.associations.get(a))), a = r;
1288
1301
  }
1289
1302
  A.material = a;
1290
1303
  }
@@ -1299,34 +1312,34 @@ class Wa {
1299
1312
  loadMaterial(A) {
1300
1313
  const e = this, a = this.json, t = this.extensions, s = a.materials[A];
1301
1314
  let i;
1302
- const r = {}, o = s.extensions || {}, c = [];
1303
- if (o[y.KHR_MATERIALS_UNLIT]) {
1315
+ const o = {}, r = s.extensions || {}, c = [];
1316
+ if (r[y.KHR_MATERIALS_UNLIT]) {
1304
1317
  const g = t[y.KHR_MATERIALS_UNLIT];
1305
- i = g.getMaterialType(), c.push(g.extendParams(r, s, e));
1318
+ i = g.getMaterialType(), c.push(g.extendParams(o, s, e));
1306
1319
  } else {
1307
1320
  const g = s.pbrMetallicRoughness || {};
1308
- if (r.color = new rA(1, 1, 1), r.opacity = 1, Array.isArray(g.baseColorFactor)) {
1321
+ if (o.color = new rA(1, 1, 1), o.opacity = 1, Array.isArray(g.baseColorFactor)) {
1309
1322
  const B = g.baseColorFactor;
1310
- r.color.setRGB(B[0], B[1], B[2], Y), r.opacity = B[3];
1323
+ o.color.setRGB(B[0], B[1], B[2], Y), o.opacity = B[3];
1311
1324
  }
1312
- g.baseColorTexture !== void 0 && c.push(e.assignTexture(r, "map", g.baseColorTexture, $)), r.metalness = g.metallicFactor !== void 0 ? g.metallicFactor : 1, r.roughness = g.roughnessFactor !== void 0 ? g.roughnessFactor : 1, g.metallicRoughnessTexture !== void 0 && (c.push(e.assignTexture(r, "metalnessMap", g.metallicRoughnessTexture)), c.push(e.assignTexture(r, "roughnessMap", g.metallicRoughnessTexture))), i = this._invokeOne(function(B) {
1325
+ g.baseColorTexture !== void 0 && c.push(e.assignTexture(o, "map", g.baseColorTexture, AA)), o.metalness = g.metallicFactor !== void 0 ? g.metallicFactor : 1, o.roughness = g.roughnessFactor !== void 0 ? g.roughnessFactor : 1, g.metallicRoughnessTexture !== void 0 && (c.push(e.assignTexture(o, "metalnessMap", g.metallicRoughnessTexture)), c.push(e.assignTexture(o, "roughnessMap", g.metallicRoughnessTexture))), i = this._invokeOne(function(B) {
1313
1326
  return B.getMaterialType && B.getMaterialType(A);
1314
1327
  }), c.push(Promise.all(this._invokeAll(function(B) {
1315
- return B.extendMaterialParams && B.extendMaterialParams(A, r);
1328
+ return B.extendMaterialParams && B.extendMaterialParams(A, o);
1316
1329
  })));
1317
1330
  }
1318
- s.doubleSided === !0 && (r.side = St);
1331
+ s.doubleSided === !0 && (o.side = St);
1319
1332
  const I = s.alphaMode || _A.OPAQUE;
1320
- if (I === _A.BLEND ? (r.transparent = !0, r.depthWrite = !1) : (r.transparent = !1, I === _A.MASK && (r.alphaTest = s.alphaCutoff !== void 0 ? s.alphaCutoff : 0.5)), s.normalTexture !== void 0 && i !== hA && (c.push(e.assignTexture(r, "normalMap", s.normalTexture)), r.normalScale = new SA(1, 1), s.normalTexture.scale !== void 0)) {
1333
+ if (I === _A.BLEND ? (o.transparent = !0, o.depthWrite = !1) : (o.transparent = !1, I === _A.MASK && (o.alphaTest = s.alphaCutoff !== void 0 ? s.alphaCutoff : 0.5)), s.normalTexture !== void 0 && i !== hA && (c.push(e.assignTexture(o, "normalMap", s.normalTexture)), o.normalScale = new SA(1, 1), s.normalTexture.scale !== void 0)) {
1321
1334
  const g = s.normalTexture.scale;
1322
- r.normalScale.set(g, g);
1335
+ o.normalScale.set(g, g);
1323
1336
  }
1324
- if (s.occlusionTexture !== void 0 && i !== hA && (c.push(e.assignTexture(r, "aoMap", s.occlusionTexture)), s.occlusionTexture.strength !== void 0 && (r.aoMapIntensity = s.occlusionTexture.strength)), s.emissiveFactor !== void 0 && i !== hA) {
1337
+ if (s.occlusionTexture !== void 0 && i !== hA && (c.push(e.assignTexture(o, "aoMap", s.occlusionTexture)), s.occlusionTexture.strength !== void 0 && (o.aoMapIntensity = s.occlusionTexture.strength)), s.emissiveFactor !== void 0 && i !== hA) {
1325
1338
  const g = s.emissiveFactor;
1326
- r.emissive = new rA().setRGB(g[0], g[1], g[2], Y);
1339
+ o.emissive = new rA().setRGB(g[0], g[1], g[2], Y);
1327
1340
  }
1328
- return s.emissiveTexture !== void 0 && i !== hA && c.push(e.assignTexture(r, "emissiveMap", s.emissiveTexture, $)), Promise.all(c).then(function() {
1329
- const g = new i(r);
1341
+ return s.emissiveTexture !== void 0 && i !== hA && c.push(e.assignTexture(o, "emissiveMap", s.emissiveTexture, AA)), Promise.all(c).then(function() {
1342
+ const g = new i(o);
1330
1343
  return s.name && (g.name = s.name), tA(g, s), e.associations.set(g, { materials: A }), s.extensions && gA(t, g, s), g;
1331
1344
  });
1332
1345
  }
@@ -1345,14 +1358,14 @@ class Wa {
1345
1358
  */
1346
1359
  loadGeometries(A) {
1347
1360
  const e = this, a = this.extensions, t = this.primitiveCache;
1348
- function s(r) {
1349
- return a[y.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(r, e).then(function(o) {
1350
- return ke(o, r, e);
1361
+ function s(o) {
1362
+ return a[y.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(o, e).then(function(r) {
1363
+ return ke(r, o, e);
1351
1364
  });
1352
1365
  }
1353
1366
  const i = [];
1354
- for (let r = 0, o = A.length; r < o; r++) {
1355
- const c = A[r], I = Ka(c), g = t[I];
1367
+ for (let o = 0, r = A.length; o < r; o++) {
1368
+ const c = A[o], I = Ka(c), g = t[I];
1356
1369
  if (g)
1357
1370
  i.push(g.promise);
1358
1371
  else {
@@ -1368,13 +1381,13 @@ class Wa {
1368
1381
  * @return {Promise<Group|Mesh|SkinnedMesh>}
1369
1382
  */
1370
1383
  loadMesh(A) {
1371
- const e = this, a = this.json, t = this.extensions, s = a.meshes[A], i = s.primitives, r = [];
1372
- for (let o = 0, c = i.length; o < c; o++) {
1373
- const I = i[o].material === void 0 ? va(this.cache) : this.getDependency("material", i[o].material);
1374
- r.push(I);
1384
+ const e = this, a = this.json, t = this.extensions, s = a.meshes[A], i = s.primitives, o = [];
1385
+ for (let r = 0, c = i.length; r < c; r++) {
1386
+ const I = i[r].material === void 0 ? va(this.cache) : this.getDependency("material", i[r].material);
1387
+ o.push(I);
1375
1388
  }
1376
- return r.push(e.loadGeometries(i)), Promise.all(r).then(function(o) {
1377
- const c = o.slice(0, o.length - 1), I = o[o.length - 1], g = [];
1389
+ return o.push(e.loadGeometries(i)), Promise.all(o).then(function(r) {
1390
+ const c = r.slice(0, r.length - 1), I = r[r.length - 1], g = [];
1378
1391
  for (let C = 0, f = I.length; C < f; C++) {
1379
1392
  const d = I[C], p = i[C];
1380
1393
  let E;
@@ -1431,17 +1444,17 @@ class Wa {
1431
1444
  for (let t = 0, s = e.joints.length; t < s; t++)
1432
1445
  a.push(this._loadNodeShallow(e.joints[t]));
1433
1446
  return e.inverseBindMatrices !== void 0 ? a.push(this.getDependency("accessor", e.inverseBindMatrices)) : a.push(null), Promise.all(a).then(function(t) {
1434
- const s = t.pop(), i = t, r = [], o = [];
1447
+ const s = t.pop(), i = t, o = [], r = [];
1435
1448
  for (let c = 0, I = i.length; c < I; c++) {
1436
1449
  const g = i[c];
1437
1450
  if (g) {
1438
- r.push(g);
1451
+ o.push(g);
1439
1452
  const B = new yA();
1440
- s !== null && B.fromArray(s.array, c * 16), o.push(B);
1453
+ s !== null && B.fromArray(s.array, c * 16), r.push(B);
1441
1454
  } else
1442
1455
  console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', e.joints[c]);
1443
1456
  }
1444
- return new qt(r, o);
1457
+ return new qt(o, r);
1445
1458
  });
1446
1459
  }
1447
1460
  /**
@@ -1450,15 +1463,15 @@ class Wa {
1450
1463
  * @return {Promise<AnimationClip>}
1451
1464
  */
1452
1465
  loadAnimation(A) {
1453
- const e = this.json, a = this, t = e.animations[A], s = t.name ? t.name : "animation_" + A, i = [], r = [], o = [], c = [], I = [];
1466
+ const e = this.json, a = this, t = e.animations[A], s = t.name ? t.name : "animation_" + A, i = [], o = [], r = [], c = [], I = [];
1454
1467
  for (let g = 0, B = t.channels.length; g < B; g++) {
1455
1468
  const C = t.channels[g], f = t.samplers[C.sampler], d = C.target, p = d.node, E = t.parameters !== void 0 ? t.parameters[f.input] : f.input, l = t.parameters !== void 0 ? t.parameters[f.output] : f.output;
1456
- d.node !== void 0 && (i.push(this.getDependency("node", p)), r.push(this.getDependency("accessor", E)), o.push(this.getDependency("accessor", l)), c.push(f), I.push(d));
1469
+ d.node !== void 0 && (i.push(this.getDependency("node", p)), o.push(this.getDependency("accessor", E)), r.push(this.getDependency("accessor", l)), c.push(f), I.push(d));
1457
1470
  }
1458
1471
  return Promise.all([
1459
1472
  Promise.all(i),
1460
- Promise.all(r),
1461
1473
  Promise.all(o),
1474
+ Promise.all(r),
1462
1475
  Promise.all(c),
1463
1476
  Promise.all(I)
1464
1477
  ]).then(function(g) {
@@ -1479,10 +1492,10 @@ class Wa {
1479
1492
  const e = this.json, a = this, t = e.nodes[A];
1480
1493
  return t.mesh === void 0 ? null : a.getDependency("mesh", t.mesh).then(function(s) {
1481
1494
  const i = a._getNodeRef(a.meshCache, t.mesh, s);
1482
- return t.weights !== void 0 && i.traverse(function(r) {
1483
- if (r.isMesh)
1484
- for (let o = 0, c = t.weights.length; o < c; o++)
1485
- r.morphTargetInfluences[o] = t.weights[o];
1495
+ return t.weights !== void 0 && i.traverse(function(o) {
1496
+ if (o.isMesh)
1497
+ for (let r = 0, c = t.weights.length; r < c; r++)
1498
+ o.morphTargetInfluences[r] = t.weights[r];
1486
1499
  }), i;
1487
1500
  });
1488
1501
  }
@@ -1492,14 +1505,14 @@ class Wa {
1492
1505
  * @return {Promise<Object3D>}
1493
1506
  */
1494
1507
  loadNode(A) {
1495
- const e = this.json, a = this, t = e.nodes[A], s = a._loadNodeShallow(A), i = [], r = t.children || [];
1496
- for (let c = 0, I = r.length; c < I; c++)
1497
- i.push(a.getDependency("node", r[c]));
1498
- const o = t.skin === void 0 ? Promise.resolve(null) : a.getDependency("skin", t.skin);
1508
+ const e = this.json, a = this, t = e.nodes[A], s = a._loadNodeShallow(A), i = [], o = t.children || [];
1509
+ for (let c = 0, I = o.length; c < I; c++)
1510
+ i.push(a.getDependency("node", o[c]));
1511
+ const r = t.skin === void 0 ? Promise.resolve(null) : a.getDependency("skin", t.skin);
1499
1512
  return Promise.all([
1500
1513
  s,
1501
1514
  Promise.all(i),
1502
- o
1515
+ r
1503
1516
  ]).then(function(c) {
1504
1517
  const I = c[0], g = c[1], B = c[2];
1505
1518
  B !== null && I.traverse(function(C) {
@@ -1516,16 +1529,16 @@ class Wa {
1516
1529
  const e = this.json, a = this.extensions, t = this;
1517
1530
  if (this.nodeCache[A] !== void 0)
1518
1531
  return this.nodeCache[A];
1519
- const s = e.nodes[A], i = s.name ? t.createUniqueName(s.name) : "", r = [], o = t._invokeOne(function(c) {
1532
+ const s = e.nodes[A], i = s.name ? t.createUniqueName(s.name) : "", o = [], r = t._invokeOne(function(c) {
1520
1533
  return c.createNodeMesh && c.createNodeMesh(A);
1521
1534
  });
1522
- return o && r.push(o), s.camera !== void 0 && r.push(t.getDependency("camera", s.camera).then(function(c) {
1535
+ return r && o.push(r), s.camera !== void 0 && o.push(t.getDependency("camera", s.camera).then(function(c) {
1523
1536
  return t._getNodeRef(t.cameraCache, s.camera, c);
1524
1537
  })), t._invokeAll(function(c) {
1525
1538
  return c.createNodeAttachment && c.createNodeAttachment(A);
1526
1539
  }).forEach(function(c) {
1527
- r.push(c);
1528
- }), this.nodeCache[A] = Promise.all(r).then(function(c) {
1540
+ o.push(c);
1541
+ }), this.nodeCache[A] = Promise.all(o).then(function(c) {
1529
1542
  let I;
1530
1543
  if (s.isBone === !0 ? I = new Ot() : c.length > 1 ? I = new kA() : c.length === 1 ? I = c[0] : I = new se(), I !== c[0])
1531
1544
  for (let g = 0, B = c.length; g < B; g++)
@@ -1546,12 +1559,12 @@ class Wa {
1546
1559
  loadScene(A) {
1547
1560
  const e = this.extensions, a = this.json.scenes[A], t = this, s = new kA();
1548
1561
  a.name && (s.name = t.createUniqueName(a.name)), tA(s, a), a.extensions && gA(e, s, a);
1549
- const i = a.nodes || [], r = [];
1550
- for (let o = 0, c = i.length; o < c; o++)
1551
- r.push(t.getDependency("node", i[o]));
1552
- return Promise.all(r).then(function(o) {
1553
- for (let I = 0, g = o.length; I < g; I++)
1554
- s.add(o[I]);
1562
+ const i = a.nodes || [], o = [];
1563
+ for (let r = 0, c = i.length; r < c; r++)
1564
+ o.push(t.getDependency("node", i[r]));
1565
+ return Promise.all(o).then(function(r) {
1566
+ for (let I = 0, g = r.length; I < g; I++)
1567
+ s.add(r[I]);
1555
1568
  const c = (I) => {
1556
1569
  const g = /* @__PURE__ */ new Map();
1557
1570
  for (const [B, C] of t.associations)
@@ -1565,10 +1578,10 @@ class Wa {
1565
1578
  });
1566
1579
  }
1567
1580
  _createAnimationTracks(A, e, a, t, s) {
1568
- const i = [], r = A.name ? A.name : A.uuid, o = [];
1581
+ const i = [], o = A.name ? A.name : A.uuid, r = [];
1569
1582
  iA[s.path] === iA.weights ? A.traverse(function(B) {
1570
- B.morphTargetInfluences && o.push(B.name ? B.name : B.uuid);
1571
- }) : o.push(r);
1583
+ B.morphTargetInfluences && r.push(B.name ? B.name : B.uuid);
1584
+ }) : r.push(o);
1572
1585
  let c;
1573
1586
  switch (iA[s.path]) {
1574
1587
  case iA.weights:
@@ -1595,9 +1608,9 @@ class Wa {
1595
1608
  break;
1596
1609
  }
1597
1610
  const I = t.interpolation !== void 0 ? Oa[t.interpolation] : Ne, g = this._getArrayFromAccessor(a);
1598
- for (let B = 0, C = o.length; B < C; B++) {
1611
+ for (let B = 0, C = r.length; B < C; B++) {
1599
1612
  const f = new c(
1600
- o[B] + "." + iA[s.path],
1613
+ r[B] + "." + iA[s.path],
1601
1614
  e.array,
1602
1615
  g,
1603
1616
  I
@@ -1626,13 +1639,13 @@ class Wa {
1626
1639
  function Va(n, A, e) {
1627
1640
  const a = A.attributes, t = new Wt();
1628
1641
  if (a.POSITION !== void 0) {
1629
- const r = e.json.accessors[a.POSITION], o = r.min, c = r.max;
1630
- if (o !== void 0 && c !== void 0) {
1642
+ const o = e.json.accessors[a.POSITION], r = o.min, c = o.max;
1643
+ if (r !== void 0 && c !== void 0) {
1631
1644
  if (t.set(
1632
- new CA(o[0], o[1], o[2]),
1645
+ new CA(r[0], r[1], r[2]),
1633
1646
  new CA(c[0], c[1], c[2])
1634
- ), r.normalized) {
1635
- const I = $A(fA[r.componentType]);
1647
+ ), o.normalized) {
1648
+ const I = $A(fA[o.componentType]);
1636
1649
  t.min.multiplyScalar(I), t.max.multiplyScalar(I);
1637
1650
  }
1638
1651
  } else {
@@ -1643,22 +1656,22 @@ function Va(n, A, e) {
1643
1656
  return;
1644
1657
  const s = A.targets;
1645
1658
  if (s !== void 0) {
1646
- const r = new CA(), o = new CA();
1659
+ const o = new CA(), r = new CA();
1647
1660
  for (let c = 0, I = s.length; c < I; c++) {
1648
1661
  const g = s[c];
1649
1662
  if (g.POSITION !== void 0) {
1650
1663
  const B = e.json.accessors[g.POSITION], C = B.min, f = B.max;
1651
1664
  if (C !== void 0 && f !== void 0) {
1652
- if (o.setX(Math.max(Math.abs(C[0]), Math.abs(f[0]))), o.setY(Math.max(Math.abs(C[1]), Math.abs(f[1]))), o.setZ(Math.max(Math.abs(C[2]), Math.abs(f[2]))), B.normalized) {
1665
+ if (r.setX(Math.max(Math.abs(C[0]), Math.abs(f[0]))), r.setY(Math.max(Math.abs(C[1]), Math.abs(f[1]))), r.setZ(Math.max(Math.abs(C[2]), Math.abs(f[2]))), B.normalized) {
1653
1666
  const d = $A(fA[B.componentType]);
1654
- o.multiplyScalar(d);
1667
+ r.multiplyScalar(d);
1655
1668
  }
1656
- r.max(o);
1669
+ o.max(r);
1657
1670
  } else
1658
1671
  console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");
1659
1672
  }
1660
1673
  }
1661
- t.expandByVector(r);
1674
+ t.expandByVector(o);
1662
1675
  }
1663
1676
  n.boundingBox = t;
1664
1677
  const i = new Vt();
@@ -1666,18 +1679,18 @@ function Va(n, A, e) {
1666
1679
  }
1667
1680
  function ke(n, A, e) {
1668
1681
  const a = A.attributes, t = [];
1669
- function s(i, r) {
1670
- return e.getDependency("accessor", i).then(function(o) {
1671
- n.setAttribute(r, o);
1682
+ function s(i, o) {
1683
+ return e.getDependency("accessor", i).then(function(r) {
1684
+ n.setAttribute(o, r);
1672
1685
  });
1673
1686
  }
1674
1687
  for (const i in a) {
1675
- const r = ZA[i] || i.toLowerCase();
1676
- r in n.attributes || t.push(s(a[i], r));
1688
+ const o = ZA[i] || i.toLowerCase();
1689
+ o in n.attributes || t.push(s(a[i], o));
1677
1690
  }
1678
1691
  if (A.indices !== void 0 && !n.index) {
1679
- const i = e.getDependency("accessor", A.indices).then(function(r) {
1680
- n.setIndex(r);
1692
+ const i = e.getDependency("accessor", A.indices).then(function(o) {
1693
+ n.setIndex(o);
1681
1694
  });
1682
1695
  t.push(i);
1683
1696
  }
@@ -1717,51 +1730,51 @@ class za extends TA {
1717
1730
  }
1718
1731
  parse(A, e, a = () => {
1719
1732
  }) {
1720
- this.decodeDracoFile(A, e, null, null, $, a).catch(a);
1733
+ this.decodeDracoFile(A, e, null, null, AA, a).catch(a);
1721
1734
  }
1722
1735
  decodeDracoFile(A, e, a, t, s = Y, i = () => {
1723
1736
  }) {
1724
- const r = {
1737
+ const o = {
1725
1738
  attributeIDs: a || this.defaultAttributeIDs,
1726
1739
  attributeTypes: t || this.defaultAttributeTypes,
1727
1740
  useUniqueIDs: !!a,
1728
1741
  vertexColorSpace: s
1729
1742
  };
1730
- return this.decodeGeometry(A, r).then(e).catch(i);
1743
+ return this.decodeGeometry(A, o).then(e).catch(i);
1731
1744
  }
1732
1745
  decodeGeometry(A, e) {
1733
1746
  const a = JSON.stringify(e);
1734
1747
  if (HA.has(A)) {
1735
- const o = HA.get(A);
1736
- if (o.key === a)
1737
- return o.promise;
1748
+ const r = HA.get(A);
1749
+ if (r.key === a)
1750
+ return r.promise;
1738
1751
  if (A.byteLength === 0)
1739
1752
  throw new Error(
1740
1753
  "THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred."
1741
1754
  );
1742
1755
  }
1743
1756
  let t;
1744
- const s = this.workerNextTaskID++, i = A.byteLength, r = this._getWorker(s, i).then((o) => (t = o, new Promise((c, I) => {
1757
+ const s = this.workerNextTaskID++, i = A.byteLength, o = this._getWorker(s, i).then((r) => (t = r, new Promise((c, I) => {
1745
1758
  t._callbacks[s] = { resolve: c, reject: I }, t.postMessage({ type: "decode", id: s, taskConfig: e, buffer: A }, [A]);
1746
- }))).then((o) => this._createGeometry(o.geometry));
1747
- return r.catch(() => !0).then(() => {
1759
+ }))).then((r) => this._createGeometry(r.geometry));
1760
+ return o.catch(() => !0).then(() => {
1748
1761
  t && s && this._releaseTask(t, s);
1749
1762
  }), HA.set(A, {
1750
1763
  key: a,
1751
- promise: r
1752
- }), r;
1764
+ promise: o
1765
+ }), o;
1753
1766
  }
1754
1767
  _createGeometry(A) {
1755
1768
  const e = new ne();
1756
- A.index && e.setIndex(new z(A.index.array, 1));
1769
+ A.index && e.setIndex(new X(A.index.array, 1));
1757
1770
  for (let a = 0; a < A.attributes.length; a++) {
1758
- const t = A.attributes[a], s = t.name, i = t.array, r = t.itemSize, o = new z(i, r);
1759
- s === "color" && (this._assignVertexColorSpace(o, t.vertexColorSpace), o.normalized = !(i instanceof Float32Array)), e.setAttribute(s, o);
1771
+ const t = A.attributes[a], s = t.name, i = t.array, o = t.itemSize, r = new X(i, o);
1772
+ s === "color" && (this._assignVertexColorSpace(r, t.vertexColorSpace), r.normalized = !(i instanceof Float32Array)), e.setAttribute(s, r);
1760
1773
  }
1761
1774
  return e;
1762
1775
  }
1763
1776
  _assignVertexColorSpace(A, e) {
1764
- if (e !== $) return;
1777
+ if (e !== AA) return;
1765
1778
  const a = new rA();
1766
1779
  for (let t = 0, s = A.count; t < s; t++)
1767
1780
  a.fromBufferAttribute(A, t).convertSRGBToLinear(), A.setXYZ(t, a.r, a.g, a.b);
@@ -1832,24 +1845,24 @@ class za extends TA {
1832
1845
  function Xa() {
1833
1846
  let n, A;
1834
1847
  onmessage = function(i) {
1835
- const r = i.data;
1836
- switch (r.type) {
1848
+ const o = i.data;
1849
+ switch (o.type) {
1837
1850
  case "init":
1838
- n = r.decoderConfig, A = new Promise(function(I) {
1851
+ n = o.decoderConfig, A = new Promise(function(I) {
1839
1852
  n.onModuleLoaded = function(g) {
1840
1853
  I({ draco: g });
1841
1854
  }, DracoDecoderModule(n);
1842
1855
  });
1843
1856
  break;
1844
1857
  case "decode":
1845
- const o = r.buffer, c = r.taskConfig;
1858
+ const r = o.buffer, c = o.taskConfig;
1846
1859
  A.then((I) => {
1847
1860
  const g = I.draco, B = new g.Decoder();
1848
1861
  try {
1849
- const C = e(g, B, new Int8Array(o), c), f = C.attributes.map((d) => d.array.buffer);
1850
- C.index && f.push(C.index.array.buffer), self.postMessage({ type: "decode", id: r.id, geometry: C }, f);
1862
+ const C = e(g, B, new Int8Array(r), c), f = C.attributes.map((d) => d.array.buffer);
1863
+ C.index && f.push(C.index.array.buffer), self.postMessage({ type: "decode", id: o.id, geometry: C }, f);
1851
1864
  } catch (C) {
1852
- console.error(C), self.postMessage({ type: "error", id: r.id, error: C.message });
1865
+ console.error(C), self.postMessage({ type: "error", id: o.id, error: C.message });
1853
1866
  } finally {
1854
1867
  g.destroy(B);
1855
1868
  }
@@ -1857,14 +1870,14 @@ function Xa() {
1857
1870
  break;
1858
1871
  }
1859
1872
  };
1860
- function e(i, r, o, c) {
1873
+ function e(i, o, r, c) {
1861
1874
  const I = c.attributeIDs, g = c.attributeTypes;
1862
1875
  let B, C;
1863
- const f = r.GetEncodedGeometryType(o);
1876
+ const f = o.GetEncodedGeometryType(r);
1864
1877
  if (f === i.TRIANGULAR_MESH)
1865
- B = new i.Mesh(), C = r.DecodeArrayToMesh(o, o.byteLength, B);
1878
+ B = new i.Mesh(), C = o.DecodeArrayToMesh(r, r.byteLength, B);
1866
1879
  else if (f === i.POINT_CLOUD)
1867
- B = new i.PointCloud(), C = r.DecodeArrayToPointCloud(o, o.byteLength, B);
1880
+ B = new i.PointCloud(), C = o.DecodeArrayToPointCloud(r, r.byteLength, B);
1868
1881
  else
1869
1882
  throw new Error("THREE.DRACOLoader: Unexpected geometry type.");
1870
1883
  if (!C.ok() || B.ptr === 0)
@@ -1874,25 +1887,25 @@ function Xa() {
1874
1887
  const E = self[g[p]];
1875
1888
  let l, h;
1876
1889
  if (c.useUniqueIDs)
1877
- h = I[p], l = r.GetAttributeByUniqueId(B, h);
1890
+ h = I[p], l = o.GetAttributeByUniqueId(B, h);
1878
1891
  else {
1879
- if (h = r.GetAttributeId(B, i[I[p]]), h === -1) continue;
1880
- l = r.GetAttribute(B, h);
1892
+ if (h = o.GetAttributeId(B, i[I[p]]), h === -1) continue;
1893
+ l = o.GetAttribute(B, h);
1881
1894
  }
1882
- const u = t(i, r, B, p, E, l);
1895
+ const u = t(i, o, B, p, E, l);
1883
1896
  p === "color" && (u.vertexColorSpace = c.vertexColorSpace), d.attributes.push(u);
1884
1897
  }
1885
- return f === i.TRIANGULAR_MESH && (d.index = a(i, r, B)), i.destroy(B), d;
1898
+ return f === i.TRIANGULAR_MESH && (d.index = a(i, o, B)), i.destroy(B), d;
1886
1899
  }
1887
- function a(i, r, o) {
1888
- const I = o.num_faces() * 3, g = I * 4, B = i._malloc(g);
1889
- r.GetTrianglesUInt32Array(o, g, B);
1900
+ function a(i, o, r) {
1901
+ const I = r.num_faces() * 3, g = I * 4, B = i._malloc(g);
1902
+ o.GetTrianglesUInt32Array(r, g, B);
1890
1903
  const C = new Uint32Array(i.HEAPF32.buffer, B, I).slice();
1891
1904
  return i._free(B), { array: C, itemSize: 1 };
1892
1905
  }
1893
- function t(i, r, o, c, I, g) {
1894
- const B = g.num_components(), f = o.num_points() * B, d = f * I.BYTES_PER_ELEMENT, p = s(i, I), E = i._malloc(d);
1895
- r.GetAttributeDataArrayForAllPoints(o, g, p, d, E);
1906
+ function t(i, o, r, c, I, g) {
1907
+ const B = g.num_components(), f = r.num_points() * B, d = f * I.BYTES_PER_ELEMENT, p = s(i, I), E = i._malloc(d);
1908
+ o.GetAttributeDataArrayForAllPoints(r, g, p, d, E);
1896
1909
  const l = new I(i.HEAPF32.buffer, E, f).slice();
1897
1910
  return i._free(E), {
1898
1911
  name: c,
@@ -1900,8 +1913,8 @@ function Xa() {
1900
1913
  itemSize: B
1901
1914
  };
1902
1915
  }
1903
- function s(i, r) {
1904
- switch (r) {
1916
+ function s(i, o) {
1917
+ switch (o) {
1905
1918
  case Float32Array:
1906
1919
  return i.DT_FLOAT32;
1907
1920
  case Int8Array:
@@ -2009,15 +2022,15 @@ function ns(n) {
2009
2022
  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();
2010
2023
  const s = t._nextUint32();
2011
2024
  e.supercompressionScheme = t._nextUint32();
2012
- const i = t._nextUint32(), r = t._nextUint32(), o = t._nextUint32(), c = t._nextUint32(), I = t._nextUint64(), g = t._nextUint64(), B = new dA(n, U.length + a, 3 * s * 8, !0);
2025
+ const i = 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 * s * 8, !0);
2013
2026
  for (let T = 0; T < s; T++) e.levels.push({ levelData: new Uint8Array(n.buffer, n.byteOffset + B._nextUint64(), B._nextUint64()), uncompressedByteLength: B._nextUint64() });
2014
- const C = new dA(n, i, r, !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;
2027
+ const C = new dA(n, i, 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;
2015
2028
  for (let T = 0; T < d; T++) {
2016
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 };
2017
2030
  64 & N.channelType ? (N.sampleLower = C._nextInt32(), N.sampleUpper = C._nextInt32()) : (N.sampleLower = C._nextUint32(), N.sampleUpper = C._nextUint32()), f.samples[T] = N;
2018
2031
  }
2019
2032
  e.dataFormatDescriptor.length = 0, e.dataFormatDescriptor.push(f);
2020
- const p = new dA(n, o, c, !0);
2033
+ const p = new dA(n, r, c, !0);
2021
2034
  for (; p._offset < c; ) {
2022
2035
  const T = p._nextUint32(), N = p._scan(T), _ = Se(N), J = p._scan(T - N.byteLength);
2023
2036
  e.keyValue[_] = _.match(/^ktx/i) ? Se(J) : J, p._offset % 4 && p._skip(4 - p._offset % 4);
@@ -2028,28 +2041,28 @@ function ns(n) {
2028
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);
2029
2042
  return e.globalData = { endpointCount: l, selectorCount: h, imageDescs: M, endpointsData: w, selectorsData: S, tablesData: F, extendedData: x }, e;
2030
2043
  }
2031
- let OA, AA, Ae;
2044
+ let OA, eA, Ae;
2032
2045
  const vA = { env: { emscripten_notify_memory_growth: function(n) {
2033
- Ae = new Uint8Array(AA.exports.memory.buffer);
2046
+ Ae = new Uint8Array(eA.exports.memory.buffer);
2034
2047
  } } };
2035
2048
  class os {
2036
2049
  init() {
2037
2050
  return OA || (OA = typeof fetch < "u" ? fetch("data:application/wasm;base64," + ye).then((A) => A.arrayBuffer()).then((A) => WebAssembly.instantiate(A, vA)).then(this._init) : WebAssembly.instantiate(Buffer.from(ye, "base64"), vA).then(this._init), OA);
2038
2051
  }
2039
2052
  _init(A) {
2040
- AA = A.instance, vA.env.emscripten_notify_memory_growth(0);
2053
+ eA = A.instance, vA.env.emscripten_notify_memory_growth(0);
2041
2054
  }
2042
2055
  decode(A, e = 0) {
2043
- if (!AA) throw new Error("ZSTDDecoder: Await .init() before decoding.");
2044
- const a = A.byteLength, t = AA.exports.malloc(a);
2045
- Ae.set(A, t), e = e || Number(AA.exports.ZSTD_findDecompressedSize(t, a));
2046
- const s = AA.exports.malloc(e), i = AA.exports.ZSTD_decompress(s, e, t, a), r = Ae.slice(s, s + i);
2047
- return AA.exports.free(t), AA.exports.free(s), r;
2056
+ if (!eA) throw new Error("ZSTDDecoder: Await .init() before decoding.");
2057
+ const a = A.byteLength, t = eA.exports.malloc(a);
2058
+ Ae.set(A, t), e = e || Number(eA.exports.ZSTD_findDecompressedSize(t, a));
2059
+ const s = eA.exports.malloc(e), i = eA.exports.ZSTD_decompress(s, e, t, a), o = Ae.slice(s, s + i);
2060
+ return eA.exports.free(t), eA.exports.free(s), o;
2048
2061
  }
2049
2062
  }
2050
2063
  const ye = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQhBSAGQQR2IQRBICAAdCIAQQFyIQkgASgCACEPQQAhAiADIQYCQANAIAlBAkggAiAPS3JFBEAgAiEHAkAgCARAA0AgBEH//wNxQf//A0YEQCAHQRhqIQcgBiAQSQR/IAZBAmoiBigAACAFdgUgBUEQaiEFIARBEHYLIQQMAQsLA0AgBEEDcSIIQQNGBEAgBUECaiEFIARBAnYhBCAHQQNqIQcMAQsLIAcgCGoiByAPSw0EIAVBAmohBQNAIAIgB0kEQCANIAJBAXRqQQA7AQAgAkEBaiECDAELCyAGIA5LQQAgBiAFQQN1aiIHIAxLG0UEQCAHKAAAIAVBB3EiBXYhBAwCCyAEQQJ2IQQLIAYhBwsCfyALQX9qIAQgAEF/anEiBiAAQQF0QX9qIgggCWsiEUkNABogBCAIcSIEQQAgESAEIABIG2shBiALCyEIIA0gAkEBdGogBkF/aiIEOwEAIAlBASAGayAEIAZBAUgbayEJA0AgCSAASARAIABBAXUhACALQX9qIQsMAQsLAn8gByAOS0EAIAcgBSAIaiIFQQN1aiIGIAxLG0UEQCAFQQdxDAELIAUgDCIGIAdrQQN0awshBSACQQFqIQIgBEUhCCAGKAAAIAVBH3F2IQQMAQsLQWwgCUEBRyAFQSBKcg0BGiABIAJBf2o2AgAgBiAFQQdqQQN1aiADawwBC0FQCyEAIApBEGokACAACwkAQQFBBSAAGwsMACAAIAEoAAA2AAALqgMBCn8jAEHwAGsiCiQAIAJBAWohDiAAQQhqIQtBgIAEIAVBf2p0QRB1IQxBACECQQEhBkEBIAV0IglBf2oiDyEIA0AgAiAORkUEQAJAIAEgAkEBdCINai8BACIHQf//A0YEQCALIAhBA3RqIAI2AgQgCEF/aiEIQQEhBwwBCyAGQQAgDCAHQRB0QRB1ShshBgsgCiANaiAHOwEAIAJBAWohAgwBCwsgACAFNgIEIAAgBjYCACAJQQN2IAlBAXZqQQNqIQxBACEAQQAhBkEAIQIDQCAGIA5GBEADQAJAIAAgCUYNACAKIAsgAEEDdGoiASgCBCIGQQF0aiICIAIvAQAiAkEBajsBACABIAUgAhAUayIIOgADIAEgAiAIQf8BcXQgCWs7AQAgASAEIAZBAnQiAmooAgA6AAIgASACIANqKAIANgIEIABBAWohAAwBCwsFIAEgBkEBdGouAQAhDUEAIQcDQCAHIA1ORQRAIAsgAkEDdGogBjYCBANAIAIgDGogD3EiAiAISw0ACyAHQQFqIQcMAQsLIAZBAWohBgwBCwsgCkHwAGokAAsjAEIAIAEQCSAAhUKHla+vmLbem55/fkLj3MqV/M7y9YV/fAsQACAAQn43AwggACABNgIACyQBAX8gAARAIAEoAgQiAgRAIAEoAgggACACEQEADwsgABAmCwsfACAAIAEgAi8BABAINgIAIAEQBBogACACQQRqNgIEC0oBAX9BoCAoAgAiASAAaiIAQX9MBEBBiCBBMDYCAEF/DwsCQCAAPwBBEHRNDQAgABBmDQBBiCBBMDYCAEF/DwtBoCAgADYCACABC9cBAQh/Qbp/IQoCQCACKAIEIgggAigCACIJaiIOIAEgAGtLDQBBbCEKIAkgBCADKAIAIgtrSw0AIAAgCWoiBCACKAIIIgxrIQ0gACABQWBqIg8gCyAJQQAQKSADIAkgC2o2AgACQAJAIAwgBCAFa00EQCANIQUMAQsgDCAEIAZrSw0CIAcgDSAFayIAaiIBIAhqIAdNBEAgBCABIAgQDxoMAgsgBCABQQAgAGsQDyEBIAIgACAIaiIINgIEIAEgAGshBAsgBCAPIAUgCEEBECkLIA4hCgsgCgubAgEBfyMAQYABayINJAAgDSADNgJ8AkAgAkEDSwRAQX8hCQwBCwJAAkACQAJAIAJBAWsOAwADAgELIAZFBEBBuH8hCQwEC0FsIQkgBS0AACICIANLDQMgACAHIAJBAnQiAmooAgAgAiAIaigCABA7IAEgADYCAEEBIQkMAwsgASAJNgIAQQAhCQwCCyAKRQRAQWwhCQwCC0EAIQkgC0UgDEEZSHINAUEIIAR0QQhqIQBBACECA0AgAiAATw0CIAJBQGshAgwAAAsAC0FsIQkgDSANQfwAaiANQfgAaiAFIAYQFSICEAMNACANKAJ4IgMgBEsNACAAIA0gDSgCfCAHIAggAxAYIAEgADYCACACIQkLIA1BgAFqJAAgCQsLACAAIAEgAhALGgsQACAALwAAIAAtAAJBEHRyCy8AAn9BuH8gAUEISQ0AGkFyIAAoAAQiAEF3Sw0AGkG4fyAAQQhqIgAgACABSxsLCwkAIAAgATsAAAsDAAELigYBBX8gACAAKAIAIgVBfnE2AgBBACAAIAVBAXZqQYQgKAIAIgQgAEYbIQECQAJAIAAoAgQiAkUNACACKAIAIgNBAXENACACQQhqIgUgA0EBdkF4aiIDQQggA0EISxtnQR9zQQJ0QYAfaiIDKAIARgRAIAMgAigCDDYCAAsgAigCCCIDBEAgAyACKAIMNgIECyACKAIMIgMEQCADIAIoAgg2AgALIAIgAigCACAAKAIAQX5xajYCAEGEICEAAkACQCABRQ0AIAEgAjYCBCABKAIAIgNBAXENASADQQF2QXhqIgNBCCADQQhLG2dBH3NBAnRBgB9qIgMoAgAgAUEIakYEQCADIAEoAgw2AgALIAEoAggiAwRAIAMgASgCDDYCBAsgASgCDCIDBEAgAyABKAIINgIAQYQgKAIAIQQLIAIgAigCACABKAIAQX5xajYCACABIARGDQAgASABKAIAQQF2akEEaiEACyAAIAI2AgALIAIoAgBBAXZBeGoiAEEIIABBCEsbZ0Efc0ECdEGAH2oiASgCACEAIAEgBTYCACACIAA2AgwgAkEANgIIIABFDQEgACAFNgIADwsCQCABRQ0AIAEoAgAiAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAigCACABQQhqRgRAIAIgASgCDDYCAAsgASgCCCICBEAgAiABKAIMNgIECyABKAIMIgIEQCACIAEoAgg2AgBBhCAoAgAhBAsgACAAKAIAIAEoAgBBfnFqIgI2AgACQCABIARHBEAgASABKAIAQQF2aiAANgIEIAAoAgAhAgwBC0GEICAANgIACyACQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgIoAgAhASACIABBCGoiAjYCACAAIAE2AgwgAEEANgIIIAFFDQEgASACNgIADwsgBUEBdkF4aiIBQQggAUEISxtnQR9zQQJ0QYAfaiICKAIAIQEgAiAAQQhqIgI2AgAgACABNgIMIABBADYCCCABRQ0AIAEgAjYCAAsLDgAgAARAIABBeGoQJQsLgAIBA38CQCAAQQ9qQXhxQYQgKAIAKAIAQQF2ayICEB1Bf0YNAAJAQYQgKAIAIgAoAgAiAUEBcQ0AIAFBAXZBeGoiAUEIIAFBCEsbZ0Efc0ECdEGAH2oiASgCACAAQQhqRgRAIAEgACgCDDYCAAsgACgCCCIBBEAgASAAKAIMNgIECyAAKAIMIgFFDQAgASAAKAIINgIAC0EBIQEgACAAKAIAIAJBAXRqIgI2AgAgAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAygCACECIAMgAEEIaiIDNgIAIAAgAjYCDCAAQQA2AgggAkUNACACIAM2AgALIAELtwIBA38CQAJAIABBASAAGyICEDgiAA0AAkACQEGEICgCACIARQ0AIAAoAgAiA0EBcQ0AIAAgA0EBcjYCACADQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgAgAEEIakYEQCABIAAoAgw2AgALIAAoAggiAQRAIAEgACgCDDYCBAsgACgCDCIBBEAgASAAKAIINgIACyACECchAkEAIQFBhCAoAgAhACACDQEgACAAKAIAQX5xNgIAQQAPCyACQQ9qQXhxIgMQHSICQX9GDQIgAkEHakF4cSIAIAJHBEAgACACaxAdQX9GDQMLAkBBhCAoAgAiAUUEQEGAICAANgIADAELIAAgATYCBAtBhCAgADYCACAAIANBAXRBAXI2AgAMAQsgAEUNAQsgAEEIaiEBCyABC7kDAQJ/IAAgA2ohBQJAIANBB0wEQANAIAAgBU8NAiAAIAItAAA6AAAgAEEBaiEAIAJBAWohAgwAAAsACyAEQQFGBEACQCAAIAJrIgZBB00EQCAAIAItAAA6AAAgACACLQABOgABIAAgAi0AAjoAAiAAIAItAAM6AAMgAEEEaiACIAZBAnQiBkHAHmooAgBqIgIQFyACIAZB4B5qKAIAayECDAELIAAgAhAMCyACQQhqIQIgAEEIaiEACwJAAkACQAJAIAUgAU0EQCAAIANqIQEgBEEBRyAAIAJrQQ9Kcg0BA0AgACACEAwgAkEIaiECIABBCGoiACABSQ0ACwwFCyAAIAFLBEAgACEBDAQLIARBAUcgACACa0EPSnINASAAIQMgAiEEA0AgAyAEEAwgBEEIaiEEIANBCGoiAyABSQ0ACwwCCwNAIAAgAhAHIAJBEGohAiAAQRBqIgAgAUkNAAsMAwsgACEDIAIhBANAIAMgBBAHIARBEGohBCADQRBqIgMgAUkNAAsLIAIgASAAa2ohAgsDQCABIAVPDQEgASACLQAAOgAAIAFBAWohASACQQFqIQIMAAALAAsLQQECfyAAIAAoArjgASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", JA = /* @__PURE__ */ new WeakMap();
2051
2064
  let jA = 0, KA;
2052
- class Z extends TA {
2065
+ class $ extends TA {
2053
2066
  constructor(A) {
2054
2067
  super(A), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new Za(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER < "u" && console.warn(
2055
2068
  'THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.'
@@ -2096,18 +2109,18 @@ class Z extends TA {
2096
2109
  a.setPath(this.transcoderPath), a.setResponseType("arraybuffer"), a.setWithCredentials(this.withCredentials);
2097
2110
  const t = a.loadAsync("basis_transcoder.wasm");
2098
2111
  this.transcoderPending = Promise.all([e, t]).then(([s, i]) => {
2099
- const r = Z.BasisWorker.toString(), o = [
2112
+ const o = $.BasisWorker.toString(), r = [
2100
2113
  "/* constants */",
2101
- "let _EngineFormat = " + JSON.stringify(Z.EngineFormat),
2102
- "let _TranscoderFormat = " + JSON.stringify(Z.TranscoderFormat),
2103
- "let _BasisFormat = " + JSON.stringify(Z.BasisFormat),
2114
+ "let _EngineFormat = " + JSON.stringify($.EngineFormat),
2115
+ "let _TranscoderFormat = " + JSON.stringify($.TranscoderFormat),
2116
+ "let _BasisFormat = " + JSON.stringify($.BasisFormat),
2104
2117
  "/* basis_transcoder.js */",
2105
2118
  s,
2106
2119
  "/* worker */",
2107
- r.substring(r.indexOf("{") + 1, r.lastIndexOf("}"))
2120
+ o.substring(o.indexOf("{") + 1, o.lastIndexOf("}"))
2108
2121
  ].join(`
2109
2122
  `);
2110
- this.workerSourceURL = URL.createObjectURL(new Blob([o])), this.transcoderBinary = i, this.workerPool.setWorkerCreator(() => {
2123
+ this.workerSourceURL = URL.createObjectURL(new Blob([r])), this.transcoderBinary = i, this.workerPool.setWorkerCreator(() => {
2111
2124
  const c = new Worker(this.workerSourceURL), I = this.transcoderBinary.slice(0);
2112
2125
  return c.postMessage({ type: "init", config: this.workerConfig, transcoderBinary: I }, [I]), c;
2113
2126
  });
@@ -2133,8 +2146,8 @@ class Z extends TA {
2133
2146
  this._createTexture(A).then((t) => e ? e(t) : null).catch(a);
2134
2147
  }
2135
2148
  _createTextureFrom(A, e) {
2136
- const { faces: a, width: t, height: s, format: i, type: r, error: o, dfdFlags: c } = A;
2137
- if (r === "error") return Promise.reject(o);
2149
+ const { faces: a, width: t, height: s, format: i, type: o, error: r, dfdFlags: c } = A;
2150
+ if (o === "error") return Promise.reject(r);
2138
2151
  let I;
2139
2152
  if (e.faceCount === 6)
2140
2153
  I = new Xt(a, i, K);
@@ -2160,11 +2173,11 @@ class Z extends TA {
2160
2173
  return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), jA--, this;
2161
2174
  }
2162
2175
  }
2163
- Z.BasisFormat = {
2176
+ $.BasisFormat = {
2164
2177
  ETC1S: 0,
2165
2178
  UASTC_4x4: 1
2166
2179
  };
2167
- Z.TranscoderFormat = {
2180
+ $.TranscoderFormat = {
2168
2181
  ETC1: 0,
2169
2182
  ETC2: 1,
2170
2183
  BC1: 2,
@@ -2183,7 +2196,7 @@ Z.TranscoderFormat = {
2183
2196
  BGR565: 15,
2184
2197
  RGBA4444: 16
2185
2198
  };
2186
- Z.EngineFormat = {
2199
+ $.EngineFormat = {
2187
2200
  RGBAFormat: bA,
2188
2201
  RGBA_ASTC_4x4_Format: $t,
2189
2202
  RGBA_BPTC_Format: Aa,
@@ -2195,7 +2208,7 @@ Z.EngineFormat = {
2195
2208
  RGB_PVRTC_4BPPV1_Format: na,
2196
2209
  RGBA_S3TC_DXT1_Format: oa
2197
2210
  };
2198
- Z.BasisWorker = function() {
2211
+ $.BasisWorker = function() {
2199
2212
  let n, A, e;
2200
2213
  const a = _EngineFormat, t = _TranscoderFormat, s = _BasisFormat;
2201
2214
  self.addEventListener("message", function(f) {
@@ -2207,7 +2220,7 @@ Z.BasisWorker = function() {
2207
2220
  case "transcode":
2208
2221
  A.then(() => {
2209
2222
  try {
2210
- const { faces: p, buffers: E, width: l, height: h, hasAlpha: u, format: k, dfdFlags: R } = r(d.buffer);
2223
+ const { faces: p, buffers: E, width: l, height: h, hasAlpha: u, format: k, dfdFlags: R } = o(d.buffer);
2211
2224
  self.postMessage({ type: "transcode", id: d.id, faces: p, width: l, height: h, hasAlpha: u, format: k, dfdFlags: R }, E);
2212
2225
  } catch (p) {
2213
2226
  console.error(p), self.postMessage({ type: "error", id: d.id, error: p.message });
@@ -2223,7 +2236,7 @@ Z.BasisWorker = function() {
2223
2236
  e.initializeBasis(), e.KTX2File === void 0 && console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.");
2224
2237
  });
2225
2238
  }
2226
- function r(f) {
2239
+ function o(f) {
2227
2240
  const d = new e.KTX2File(new Uint8Array(f));
2228
2241
  function p() {
2229
2242
  d.close(), d.delete();
@@ -2256,7 +2269,7 @@ Z.BasisWorker = function() {
2256
2269
  }
2257
2270
  return p(), { faces: m, buffers: D, width: l, height: h, hasAlpha: G, format: Q, dfdFlags: M };
2258
2271
  }
2259
- const o = [
2272
+ const r = [
2260
2273
  {
2261
2274
  if: "astcSupported",
2262
2275
  basisFormat: [s.UASTC_4x4],
@@ -2311,9 +2324,9 @@ Z.BasisWorker = function() {
2311
2324
  priorityUASTC: 6,
2312
2325
  needsPowerOfTwo: !0
2313
2326
  }
2314
- ], c = o.sort(function(f, d) {
2327
+ ], c = r.sort(function(f, d) {
2315
2328
  return f.priorityETC1S - d.priorityETC1S;
2316
- }), I = o.sort(function(f, d) {
2329
+ }), I = r.sort(function(f, d) {
2317
2330
  return f.priorityUASTC - d.priorityUASTC;
2318
2331
  });
2319
2332
  function g(f, d, p, E) {
@@ -2387,7 +2400,7 @@ async function cs(n) {
2387
2400
  })), e = await KA);
2388
2401
  const a = [];
2389
2402
  for (let s = 0; s < n.levels.length; s++) {
2390
- const i = Math.max(1, n.pixelWidth >> s), r = Math.max(1, n.pixelHeight >> s), o = n.pixelDepth ? Math.max(1, n.pixelDepth >> s) : 0, c = n.levels[s];
2403
+ const i = Math.max(1, n.pixelWidth >> s), o = Math.max(1, n.pixelHeight >> s), r = n.pixelDepth ? Math.max(1, n.pixelDepth >> s) : 0, c = n.levels[s];
2391
2404
  let I;
2392
2405
  if (n.supercompressionScheme === $a)
2393
2406
  I = c.levelData;
@@ -2407,8 +2420,8 @@ async function cs(n) {
2407
2420
  ) : g = I, a.push({
2408
2421
  data: g,
2409
2422
  width: i,
2410
- height: r,
2411
- depth: o
2423
+ height: o,
2424
+ depth: r
2412
2425
  });
2413
2426
  }
2414
2427
  let t;
@@ -2422,7 +2435,7 @@ async function cs(n) {
2422
2435
  }
2423
2436
  function at(n) {
2424
2437
  const A = n.dataFormatDescriptor[0];
2425
- return A.colorPrimaries === ts ? A.transferFunction === Re ? $ : Y : A.colorPrimaries === as ? A.transferFunction === Re ? ga : Ia : A.colorPrimaries === es ? oA : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`), oA);
2438
+ return A.colorPrimaries === ts ? A.transferFunction === Re ? AA : Y : A.colorPrimaries === as ? A.transferFunction === Re ? ga : Ia : A.colorPrimaries === es ? oA : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`), oA);
2426
2439
  }
2427
2440
  var gs = function() {
2428
2441
  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]);
@@ -2430,10 +2443,10 @@ var gs = function() {
2430
2443
  return {
2431
2444
  supported: !1
2432
2445
  };
2433
- var t = WebAssembly.validate(e) ? A : n, s, i = WebAssembly.instantiate(r(t), {}).then(function(E) {
2446
+ var t = WebAssembly.validate(e) ? A : n, s, i = WebAssembly.instantiate(o(t), {}).then(function(E) {
2434
2447
  s = E.instance, s.exports.__wasm_call_ctors();
2435
2448
  });
2436
- function r(E) {
2449
+ function o(E) {
2437
2450
  for (var l = new Uint8Array(E.length), h = 0; h < E.length; ++h) {
2438
2451
  var u = E.charCodeAt(h);
2439
2452
  l[h] = u > 96 ? u - 97 : u > 64 ? u - 39 : u + 4;
@@ -2442,7 +2455,7 @@ var gs = function() {
2442
2455
  l[k++] = l[h] < 60 ? a[l[h]] : (l[h] - 60) * 64 + l[++h];
2443
2456
  return l.buffer.slice(0, k);
2444
2457
  }
2445
- function o(E, l, h, u, k, R) {
2458
+ function r(E, l, h, u, k, R) {
2446
2459
  var G = s.exports.sbrk, M = h + 3 & -4, b = G(M * u), Q = G(k.length), m = new Uint8Array(s.exports.memory.buffer);
2447
2460
  m.set(k, Q);
2448
2461
  var D = E(b, h, u, Q, k.length);
@@ -2471,7 +2484,7 @@ var gs = function() {
2471
2484
  }, l;
2472
2485
  }
2473
2486
  function f(E) {
2474
- for (var l = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(r(t)) + "]), {}).then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });self.onmessage = workerProcess;" + o.toString() + p.toString(), h = new Blob([l], { type: "text/javascript" }), u = URL.createObjectURL(h), k = 0; k < E; ++k)
2487
+ for (var l = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(o(t)) + "]), {}).then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });self.onmessage = workerProcess;" + r.toString() + p.toString(), h = new Blob([l], { type: "text/javascript" }), u = URL.createObjectURL(h), k = 0; k < E; ++k)
2475
2488
  g[k] = C(u);
2476
2489
  URL.revokeObjectURL(u);
2477
2490
  }
@@ -2488,7 +2501,7 @@ var gs = function() {
2488
2501
  var l = E.data;
2489
2502
  try {
2490
2503
  var h = new Uint8Array(l.count * l.size);
2491
- o(s.exports[l.mode], h, l.count, l.size, l.source, s.exports[l.filter]), self.postMessage({ id: l.id, count: l.count, action: "resolve", value: h }, [h.buffer]);
2504
+ r(s.exports[l.mode], h, l.count, l.size, l.source, s.exports[l.filter]), self.postMessage({ id: l.id, count: l.count, action: "resolve", value: h }, [h.buffer]);
2492
2505
  } catch (u) {
2493
2506
  self.postMessage({ id: l.id, count: l.count, action: "reject", value: u });
2494
2507
  }
@@ -2501,21 +2514,21 @@ var gs = function() {
2501
2514
  f(E);
2502
2515
  },
2503
2516
  decodeVertexBuffer: function(E, l, h, u, k) {
2504
- o(s.exports.meshopt_decodeVertexBuffer, E, l, h, u, s.exports[c[k]]);
2517
+ r(s.exports.meshopt_decodeVertexBuffer, E, l, h, u, s.exports[c[k]]);
2505
2518
  },
2506
2519
  decodeIndexBuffer: function(E, l, h, u) {
2507
- o(s.exports.meshopt_decodeIndexBuffer, E, l, h, u);
2520
+ r(s.exports.meshopt_decodeIndexBuffer, E, l, h, u);
2508
2521
  },
2509
2522
  decodeIndexSequence: function(E, l, h, u) {
2510
- o(s.exports.meshopt_decodeIndexSequence, E, l, h, u);
2523
+ r(s.exports.meshopt_decodeIndexSequence, E, l, h, u);
2511
2524
  },
2512
2525
  decodeGltfBuffer: function(E, l, h, u, k, R) {
2513
- o(s.exports[I[k]], E, l, h, u, s.exports[c[R]]);
2526
+ r(s.exports[I[k]], E, l, h, u, s.exports[c[R]]);
2514
2527
  },
2515
2528
  decodeGltfBufferAsync: function(E, l, h, u, k) {
2516
2529
  return g.length > 0 ? d(E, l, h, I[u], c[k]) : i.then(function() {
2517
2530
  var R = new Uint8Array(E * l);
2518
- return o(s.exports[I[u]], R, E, l, h, s.exports[c[k]]), R;
2531
+ return r(s.exports[I[u]], R, E, l, h, s.exports[c[k]]), R;
2519
2532
  });
2520
2533
  }
2521
2534
  };
@@ -2523,11 +2536,11 @@ var gs = function() {
2523
2536
  function oe() {
2524
2537
  const n = new za();
2525
2538
  n.setDecoderPath("/draco/");
2526
- const A = new Z();
2539
+ const A = new $();
2527
2540
  A.setTranscoderPath("/draco/");
2528
2541
  const e = new la().setDRACOLoader(n).setKTX2Loader(A.detectSupport(new Ba())).setMeshoptDecoder(gs);
2529
2542
  return e.manager.onError = (a) => {
2530
- eA.emit("load-error", `Failed to load file ${a}`);
2543
+ V.emit("load-error", `Failed to load file ${a}`);
2531
2544
  }, e;
2532
2545
  }
2533
2546
  /*!
@@ -2625,18 +2638,18 @@ var wA = function(n, A, e) {
2625
2638
  var i = new lA(A);
2626
2639
  for (t = 1; t < A; ++t)
2627
2640
  i[t] = i[t - 1] + s[t - 1] << 1;
2628
- var r;
2641
+ var o;
2629
2642
  if (e) {
2630
- r = new lA(1 << A);
2631
- var o = 15 - A;
2643
+ o = new lA(1 << A);
2644
+ var r = 15 - A;
2632
2645
  for (t = 0; t < a; ++t)
2633
2646
  if (n[t])
2634
2647
  for (var c = t << 4 | n[t], I = A - n[t], g = i[n[t] - 1]++ << I, B = g | (1 << I) - 1; g <= B; ++g)
2635
- r[ee[g] >> o] = c;
2648
+ o[ee[g] >> r] = c;
2636
2649
  } else
2637
- for (r = new lA(a), t = 0; t < a; ++t)
2638
- n[t] && (r[t] = ee[i[n[t] - 1]++] >> 15 - n[t]);
2639
- return r;
2650
+ for (o = new lA(a), t = 0; t < a; ++t)
2651
+ n[t] && (o[t] = ee[i[n[t] - 1]++] >> 15 - n[t]);
2652
+ return o;
2640
2653
  }, DA = new H(288);
2641
2654
  for (var L = 0; L < 144; ++L)
2642
2655
  DA[L] = 8;
@@ -2688,7 +2701,7 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
2688
2701
  var t = n.length, s = a ? a.length : 0;
2689
2702
  if (!t || A.f && !A.l)
2690
2703
  return e || new H(0);
2691
- var i = !e, r = i || A.i != 2, o = A.i;
2704
+ var i = !e, o = i || A.i != 2, r = A.i;
2692
2705
  i && (e = new H(t * 3));
2693
2706
  var c = function(Be) {
2694
2707
  var Ce = e.length;
@@ -2729,22 +2742,22 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
2729
2742
  else {
2730
2743
  var h = Qs(g) + 4, u = n[h - 4] | n[h - 3] << 8, k = h + u;
2731
2744
  if (k > t) {
2732
- o && v(0);
2745
+ r && v(0);
2733
2746
  break;
2734
2747
  }
2735
- r && c(B + u), e.set(n.subarray(h, k), B), A.b = B += u, A.p = g = k * 8, A.f = I;
2748
+ o && c(B + u), e.set(n.subarray(h, k), B), A.b = B += u, A.p = g = k * 8, A.f = I;
2736
2749
  continue;
2737
2750
  }
2738
2751
  if (g > E) {
2739
- o && v(0);
2752
+ r && v(0);
2740
2753
  break;
2741
2754
  }
2742
2755
  }
2743
- r && c(B + 131072);
2756
+ o && c(B + 131072);
2744
2757
  for (var J = (1 << d) - 1, sA = (1 << p) - 1, IA = g; ; IA = g) {
2745
2758
  var x = C[VA(n, g) & J], cA = x >> 4;
2746
2759
  if (g += x & 15, g > E) {
2747
- o && v(0);
2760
+ r && v(0);
2748
2761
  break;
2749
2762
  }
2750
2763
  if (x || v(2), cA < 256)
@@ -2766,10 +2779,10 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
2766
2779
  _ += VA(n, g) & (1 << EA) - 1, g += EA;
2767
2780
  }
2768
2781
  if (g > E) {
2769
- o && v(0);
2782
+ r && v(0);
2770
2783
  break;
2771
2784
  }
2772
- r && c(B + 131072);
2785
+ o && c(B + 131072);
2773
2786
  var ge = B + ce;
2774
2787
  if (B < _) {
2775
2788
  var Ie = s - _, It = Math.min(_, ge);
@@ -2783,7 +2796,7 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
2783
2796
  A.l = C, A.p = IA, A.b = B, A.f = I, C && (I = 1, A.m = d, A.d = f, A.n = p);
2784
2797
  } while (!I);
2785
2798
  return B != e.length && i ? re(e, 0, B) : e.subarray(0, B);
2786
- }, ps = /* @__PURE__ */ new H(0), X = function(n, A) {
2799
+ }, ps = /* @__PURE__ */ new H(0), Z = function(n, A) {
2787
2800
  return n[A] | n[A + 1] << 8;
2788
2801
  }, P = function(n, A) {
2789
2802
  return (n[A] | n[A + 1] << 8 | n[A + 2] << 16 | n[A + 3] << 24) >>> 0;
@@ -2819,27 +2832,27 @@ function ae(n, A) {
2819
2832
  }
2820
2833
  }
2821
2834
  var Ds = function(n, A) {
2822
- return A + 30 + X(n, A + 26) + X(n, A + 28);
2835
+ return A + 30 + Z(n, A + 26) + Z(n, A + 28);
2823
2836
  }, ks = function(n, A, e) {
2824
- var a = X(n, A + 28), t = ae(n.subarray(A + 46, A + 46 + a), !(X(n, A + 8) & 2048)), s = A + 46 + a, i = P(n, A + 20), r = e && i == 4294967295 ? Fs(n, s) : [i, P(n, A + 24), P(n, A + 42)], o = r[0], c = r[1], I = r[2];
2825
- return [X(n, A + 10), o, c, t, s + X(n, A + 30) + X(n, A + 32), I];
2837
+ var a = Z(n, A + 28), t = ae(n.subarray(A + 46, A + 46 + a), !(Z(n, A + 8) & 2048)), s = A + 46 + a, i = P(n, A + 20), o = e && i == 4294967295 ? Fs(n, s) : [i, P(n, A + 24), P(n, A + 42)], r = o[0], c = o[1], I = o[2];
2838
+ return [Z(n, A + 10), r, c, t, s + Z(n, A + 30) + Z(n, A + 32), I];
2826
2839
  }, Fs = function(n, A) {
2827
- for (; X(n, A) != 1; A += 4 + X(n, A + 2))
2840
+ for (; Z(n, A) != 1; A += 4 + Z(n, A + 2))
2828
2841
  ;
2829
2842
  return [zA(n, A + 12), zA(n, A + 4), zA(n, A + 20)];
2830
2843
  };
2831
2844
  function Rs(n, A) {
2832
2845
  for (var e = {}, a = n.length - 22; P(n, a) != 101010256; --a)
2833
2846
  (!a || n.length - a > 65558) && v(13);
2834
- var t = X(n, a + 8);
2847
+ var t = Z(n, a + 8);
2835
2848
  if (!t)
2836
2849
  return {};
2837
2850
  var s = P(n, a + 16), i = s == 4294967295 || t == 65535;
2838
2851
  if (i) {
2839
- var r = P(n, a - 12);
2840
- i = P(n, r) == 101075792, i && (t = P(n, r + 32), s = P(n, r + 48));
2852
+ var o = P(n, a - 12);
2853
+ i = P(n, o) == 101075792, i && (t = P(n, o + 32), s = P(n, o + 48));
2841
2854
  }
2842
- for (var o = 0; o < t; ++o) {
2855
+ for (var r = 0; r < t; ++r) {
2843
2856
  var c = ks(n, s, i), I = c[0], g = c[1], B = c[2], C = c[3], f = c[4], d = c[5], p = Ds(n, d);
2844
2857
  s = f, I ? I == 8 ? e[C] = us(n.subarray(p, p + g), { out: new H(B) }) : v(14, "unknown compression type " + I) : e[C] = re(n, p, p + g);
2845
2858
  }
@@ -2851,9 +2864,9 @@ class Ss {
2851
2864
  `);
2852
2865
  let t = null, s = e;
2853
2866
  const i = [e];
2854
- for (const r of a)
2855
- if (r.includes("=")) {
2856
- const o = r.split("="), c = o[0].trim(), I = o[1].trim();
2867
+ for (const o of a)
2868
+ if (o.includes("=")) {
2869
+ const r = o.split("="), c = r[0].trim(), I = r[1].trim();
2857
2870
  if (I.endsWith("{")) {
2858
2871
  const g = {};
2859
2872
  i.push(g), s[c] = g, s = g;
@@ -2864,16 +2877,16 @@ class Ss {
2864
2877
  i.push(B), s = B;
2865
2878
  } else
2866
2879
  s[c] = I;
2867
- } else if (r.endsWith("{")) {
2868
- const o = s[t] || {};
2869
- i.push(o), s[t] = o, s = o;
2870
- } else if (r.endsWith("}")) {
2880
+ } else if (o.endsWith("{")) {
2881
+ const r = s[t] || {};
2882
+ i.push(r), s[t] = r, s = r;
2883
+ } else if (o.endsWith("}")) {
2871
2884
  if (i.pop(), i.length === 0) continue;
2872
2885
  s = i[i.length - 1];
2873
- } else if (r.endsWith("(")) {
2874
- const o = {};
2875
- i.push(o), t = r.split("(")[0].trim() || t, s[t] = o, s = o;
2876
- } else r.endsWith(")") ? (i.pop(), s = i[i.length - 1]) : t = r.trim();
2886
+ } else if (o.endsWith("(")) {
2887
+ const r = {};
2888
+ i.push(r), t = o.split("(")[0].trim() || t, s[t] = r, s = r;
2889
+ } else o.endsWith(")") ? (i.pop(), s = i[i.length - 1]) : t = o.trim();
2877
2890
  return e;
2878
2891
  }
2879
2892
  }
@@ -2883,11 +2896,11 @@ class ys extends TA {
2883
2896
  }
2884
2897
  load(A, e, a, t) {
2885
2898
  const s = this, i = new aA(s.manager);
2886
- i.setPath(s.path), i.setResponseType("arraybuffer"), i.setRequestHeader(s.requestHeader), i.setWithCredentials(s.withCredentials), i.load(A, function(r) {
2899
+ i.setPath(s.path), i.setResponseType("arraybuffer"), i.setRequestHeader(s.requestHeader), i.setWithCredentials(s.withCredentials), i.load(A, function(o) {
2887
2900
  try {
2888
- e(s.parse(r));
2889
- } catch (o) {
2890
- t ? t(o) : console.error(o), s.manager.itemError(A);
2901
+ e(s.parse(o));
2902
+ } catch (r) {
2903
+ t ? t(r) : console.error(r), s.manager.itemError(A);
2891
2904
  }
2892
2905
  }, a, t);
2893
2906
  }
@@ -2929,12 +2942,12 @@ class ys extends TA {
2929
2942
  if (m)
2930
2943
  throw Error("THREE.USDZLoader: Crate files (.usdc or binary .usd) are not supported.");
2931
2944
  }
2932
- const i = Rs(new Uint8Array(A)), r = a(i), o = s(i), c = ae(o), I = e.parse(c);
2945
+ const i = Rs(new Uint8Array(A)), o = a(i), r = s(i), c = ae(r), I = e.parse(c);
2933
2946
  function g(b) {
2934
2947
  if (b) {
2935
2948
  if ("prepend references" in b) {
2936
2949
  const m = b["prepend references"].split("@"), D = m[1].replace(/^.\//, ""), w = m[2].replace(/^<\//, "").replace(/>$/, "");
2937
- return B(r[D], w);
2950
+ return B(o[D], w);
2938
2951
  }
2939
2952
  return B(b);
2940
2953
  }
@@ -2964,22 +2977,22 @@ class ys extends TA {
2964
2977
  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) {
2965
2978
  const F = JSON.parse(b["point3f[] points"].replace(/[()]*/g, ""));
2966
2979
  S = F.length;
2967
- let x = new z(new Float32Array(F), 3);
2980
+ let x = new X(new Float32Array(F), 3);
2968
2981
  m !== null && (x = d(x, m)), Q.setAttribute("position", x);
2969
2982
  }
2970
2983
  if ("float2[] primvars:st" in b && (b["texCoord2f[] primvars:st"] = b["float2[] primvars:st"]), "texCoord2f[] primvars:st" in b) {
2971
2984
  w = JSON.parse(b["texCoord2f[] primvars:st"].replace(/[()]*/g, ""));
2972
- let F = new z(new Float32Array(w), 2);
2985
+ let F = new X(new Float32Array(w), 2);
2973
2986
  m !== null && (F = d(F, m)), Q.setAttribute("uv", F);
2974
2987
  }
2975
2988
  if ("int[] primvars:st:indices" in b && w !== null) {
2976
- const F = new z(new Float32Array(w), 2);
2989
+ const F = new X(new Float32Array(w), 2);
2977
2990
  let x = JSON.parse(b["int[] primvars:st:indices"]);
2978
2991
  x = f(x, D), Q.setAttribute("uv", d(F, x));
2979
2992
  }
2980
2993
  if ("normal3f[] normals" in b) {
2981
2994
  const F = JSON.parse(b["normal3f[] normals"].replace(/[()]*/g, ""));
2982
- let x = new z(new Float32Array(F), 3);
2995
+ let x = new X(new Float32Array(F), 3);
2983
2996
  if (F.length === S)
2984
2997
  m !== null && (x = d(x, m));
2985
2998
  else {
@@ -3014,7 +3027,7 @@ class ys extends TA {
3014
3027
  for (let N = 0; N < D; N++)
3015
3028
  w[F++] = m[S++];
3016
3029
  }
3017
- return new z(w, D);
3030
+ return new X(w, D);
3018
3031
  }
3019
3032
  function p(b) {
3020
3033
  if (b) {
@@ -3046,14 +3059,14 @@ class ys extends TA {
3046
3059
  if (w !== void 0) {
3047
3060
  if ("color3f inputs:diffuseColor.connect" in w) {
3048
3061
  const S = w["color3f inputs:diffuseColor.connect"], F = u(I, /(\w+).output/.exec(S)[1]);
3049
- Q.map = k(F), Q.map.colorSpace = $, 'def Shader "Transform2d_diffuse"' in b && l(Q.map, b['def Shader "Transform2d_diffuse"']);
3062
+ Q.map = k(F), Q.map.colorSpace = AA, 'def Shader "Transform2d_diffuse"' in b && l(Q.map, b['def Shader "Transform2d_diffuse"']);
3050
3063
  } else if ("color3f inputs:diffuseColor" in w) {
3051
3064
  const S = w["color3f inputs:diffuseColor"].replace(/[()]*/g, "");
3052
3065
  Q.color.fromArray(JSON.parse("[" + S + "]"));
3053
3066
  }
3054
3067
  if ("color3f inputs:emissiveColor.connect" in w) {
3055
3068
  const S = w["color3f inputs:emissiveColor.connect"], F = u(I, /(\w+).output/.exec(S)[1]);
3056
- Q.emissiveMap = k(F), Q.emissiveMap.colorSpace = $, Q.emissive.set(16777215), 'def Shader "Transform2d_emissive"' in b && l(Q.emissiveMap, b['def Shader "Transform2d_emissive"']);
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"']);
3057
3070
  } else if ("color3f inputs:emissiveColor" in w) {
3058
3071
  const S = w["color3f inputs:emissiveColor"].replace(/[()]*/g, "");
3059
3072
  Q.emissive.fromArray(JSON.parse("[" + S + "]"));
@@ -3099,7 +3112,7 @@ class ys extends TA {
3099
3112
  }
3100
3113
  function k(b) {
3101
3114
  if ("asset inputs:file" in b) {
3102
- const Q = b["asset inputs:file"].replace(/@*/g, "").trim(), D = new Te().load(r[Q]), w = {
3115
+ const Q = b["asset inputs:file"].replace(/@*/g, "").trim(), D = new Te().load(o[Q]), w = {
3103
3116
  '"clamp"': Ue,
3104
3117
  '"mirror"': _e,
3105
3118
  '"repeat"': xA
@@ -3132,17 +3145,17 @@ class ys extends TA {
3132
3145
  function Gs() {
3133
3146
  const n = new ys();
3134
3147
  return n.manager.onError = (A) => {
3135
- eA.emit("load-error", `Failed to load file ${A}`);
3148
+ V.emit("load-error", `Failed to load file ${A}`);
3136
3149
  }, n;
3137
3150
  }
3138
3151
  function xs(n) {
3139
- const A = V(
3152
+ const A = z(
3140
3153
  async (a, t, s) => {
3141
3154
  var I, g;
3142
- const i = new Map(t.map((B) => [B.name, B])), r = (((I = a.buffers) == null ? void 0 : I.length) || 0) + (((g = a.images) == null ? void 0 : g.length) || 0);
3143
- let o = 0;
3155
+ const i = new Map(t.map((B) => [B.name, B])), o = (((I = a.buffers) == null ? void 0 : I.length) || 0) + (((g = a.images) == null ? void 0 : g.length) || 0);
3156
+ let r = 0;
3144
3157
  const c = () => {
3145
- o++, s(o / r * 100);
3158
+ r++, s(r / o * 100);
3146
3159
  };
3147
3160
  if (a.buffers)
3148
3161
  for (let B = 0; B < a.buffers.length; B++) {
@@ -3176,15 +3189,15 @@ function xs(n) {
3176
3189
  },
3177
3190
  []
3178
3191
  );
3179
- return { loadGltf: V(
3192
+ return { loadGltf: z(
3180
3193
  (a, t, s) => {
3181
3194
  const i = new FileReader();
3182
- i.onload = async (r) => {
3195
+ i.onload = async (o) => {
3183
3196
  var g;
3184
- const o = JSON.parse((g = r.target) == null ? void 0 : g.result);
3197
+ const r = JSON.parse((g = o.target) == null ? void 0 : g.result);
3185
3198
  s(10);
3186
3199
  const c = await A(
3187
- o,
3200
+ r,
3188
3201
  t,
3189
3202
  (B) => {
3190
3203
  s(10 + B * 0.8);
@@ -3206,15 +3219,15 @@ function xs(n) {
3206
3219
  ) };
3207
3220
  }
3208
3221
  function Ts(n) {
3209
- return { loadBinary: V(
3222
+ return { loadBinary: z(
3210
3223
  (e, a, t) => {
3211
3224
  const s = new FileReader();
3212
3225
  s.onload = async (i) => {
3213
- var r;
3214
- if ((r = i.target) != null && r.result) {
3215
- const o = i.target.result;
3226
+ var o;
3227
+ if ((o = i.target) != null && o.result) {
3228
+ const r = i.target.result;
3216
3229
  if (a === q.glb)
3217
- oe().parse(o, "", (I) => {
3230
+ oe().parse(r, "", (I) => {
3218
3231
  n({
3219
3232
  type: "set-file",
3220
3233
  payload: {
@@ -3225,7 +3238,7 @@ function Ts(n) {
3225
3238
  });
3226
3239
  });
3227
3240
  else if (a === q.usdz) {
3228
- const I = Gs().parse(o);
3241
+ const I = Gs().parse(r);
3229
3242
  n({
3230
3243
  type: "set-file",
3231
3244
  payload: {
@@ -3245,27 +3258,27 @@ function Ts(n) {
3245
3258
  ) };
3246
3259
  }
3247
3260
  function Ls(n) {
3248
- const A = Ct(!1), [e, a] = bt(Ca, He), { loadGltf: t } = xs(a), { loadBinary: s } = Ts(a), i = V(
3261
+ const A = Ct(!1), [e, a] = bt(Ca, He), { loadGltf: t } = xs(a), { loadBinary: s } = Ts(a), i = z(
3249
3262
  (B, C) => B.find((f) => f.name.endsWith("." + C)),
3250
3263
  []
3251
- ), r = V((B) => {
3252
- a({ type: "set-progress", payload: B }), eA.emit("load-progress", B);
3253
- }, []), o = V(() => {
3254
- a({ type: "reset-state" }), eA.emit("load-reset");
3255
- }, []), c = V(
3264
+ ), o = z((B) => {
3265
+ a({ type: "set-progress", payload: B }), V.emit("load-progress", B);
3266
+ }, []), r = z(() => {
3267
+ a({ type: "reset-state" }), V.emit("load-reset");
3268
+ }, []), c = z(
3256
3269
  (B) => {
3257
3270
  if (B.length === 0) return;
3258
3271
  const C = i(B, q.gltf), f = i(B, q.glb), d = i(B, q.usdz), p = [C, f, d].filter(
3259
3272
  Boolean
3260
3273
  );
3261
3274
  if (p.length > 1) {
3262
- eA.emit("multiple-models", p);
3275
+ V.emit("multiple-models", p);
3263
3276
  return;
3264
3277
  }
3265
3278
  const E = B.filter(
3266
3279
  (h) => h !== C && h !== f && h !== d
3267
3280
  ), l = (h) => {
3268
- r(h), h === 100 && (A.current = !0);
3281
+ o(h), h === 100 && (A.current = !0);
3269
3282
  };
3270
3283
  if (C)
3271
3284
  t(C, E, l);
@@ -3278,15 +3291,15 @@ function Ls(n) {
3278
3291
  () => l(100)
3279
3292
  );
3280
3293
  else {
3281
- eA.emit("not-loaded-files", B), a({ type: "set-file-loading", payload: !1 });
3294
+ V.emit("not-loaded-files", B), a({ type: "set-file-loading", payload: !1 });
3282
3295
  return;
3283
3296
  }
3284
3297
  },
3285
- [r, i, t, s]
3286
- ), I = V(
3298
+ [o, i, t, s]
3299
+ ), I = z(
3287
3300
  async (B) => {
3288
3301
  const C = [];
3289
- a({ type: "reset-state" }), a({ type: "set-file-loading", payload: !0 }), r(0), A.current = !1;
3302
+ V.emit("load-start"), a({ type: "reset-state" }), a({ type: "set-file-loading", payload: !0 }), o(0), A.current = !1;
3290
3303
  for (const f of B)
3291
3304
  if (f instanceof File)
3292
3305
  C.push(f);
@@ -3296,10 +3309,10 @@ function Ls(n) {
3296
3309
  }
3297
3310
  c(C);
3298
3311
  },
3299
- [c, r]
3312
+ [c, o]
3300
3313
  );
3301
3314
  lt(() => {
3302
- A.current && e.file && (eA.emit("load-complete", e.file), A.current = !1, n && n.load(e.file.model));
3315
+ A.current && e.file && (V.emit("load-complete", e.file), A.current = !1, n && e.file.model && n.load(e.file.model));
3303
3316
  }, [e.file, n]);
3304
3317
  const g = Ms(
3305
3318
  n,
@@ -3308,55 +3321,102 @@ function Ls(n) {
3308
3321
  );
3309
3322
  return {
3310
3323
  ...e,
3311
- on: eA.on,
3312
- off: eA.off,
3324
+ /**
3325
+ * Add an event listener to the event system.
3326
+ */
3327
+ on: V.on,
3328
+ /**
3329
+ * Remove an event listener from the event system.
3330
+ */
3331
+ off: V.off,
3332
+ /**
3333
+ * Load a model and integrate it with the optimizer if available.
3334
+ * This also makes the model available in the use-model-context hook.
3335
+ */
3313
3336
  load: I,
3314
- reset: o,
3337
+ /**
3338
+ * Reset the model and optimizer state to the initial state.
3339
+ */
3340
+ reset: r,
3341
+ /**
3342
+ * Integration of the optimizer
3343
+ * An object containing functions to interact with the optimizer.
3344
+ *
3345
+ * It exposes the following functions:
3346
+ *
3347
+ * - `simplifyOptimization(options?: SimplifyOptions)`: Runs the simplification optimization with the given options.
3348
+ * - `dedupOptimization(options?: DedupOptions)`: Runs the deduplication optimization with the given options.
3349
+ * - `quantizeOptimization(options?: QuantizeOptions)`: Runs the quantization optimization with the given options.
3350
+ * - `texturesCompressionOptimization(options?: TextureCompressionOptions)`: Runs the texture compression optimization with the given options.
3351
+ * - `getSize()`: Returns the size of the optimized model.
3352
+ * - `reset()`: Resets the optimizer.
3353
+ * - `report`: The report state of the optimizer.
3354
+ * - `error`: The error state of the optimizer.
3355
+ * - `loading`: The loading state of the optimizer.
3356
+ */
3315
3357
  optimize: g
3316
3358
  };
3317
3359
  }
3318
3360
  function Ms(n, A, e) {
3319
- const a = V(
3361
+ const a = z(
3320
3362
  (s) => {
3321
3363
  oe().parse(
3322
3364
  s.buffer,
3323
3365
  "",
3324
- (r) => {
3366
+ (o) => {
3325
3367
  A({
3326
3368
  type: "set-file",
3327
3369
  payload: {
3328
- model: r.scene,
3370
+ model: o.scene,
3329
3371
  type: q.glb,
3330
3372
  name: (e == null ? void 0 : e.name) || "optimized.glb"
3331
3373
  }
3332
3374
  });
3333
3375
  },
3334
- (r) => {
3335
- console.error("Error loading new model:", r);
3376
+ (o) => {
3377
+ console.error("Error loading new model:", o);
3336
3378
  }
3337
3379
  );
3338
3380
  },
3339
3381
  [A, e]
3340
- ), t = V(
3341
- async (s) => {
3382
+ ), t = z(
3383
+ async (s, i) => {
3342
3384
  if (!n || !s) {
3343
3385
  console.warn("Optimizer or optimization function is not available");
3344
3386
  return;
3345
3387
  }
3346
3388
  try {
3347
- await s();
3348
- const i = await n.getModel();
3349
- i && a(i);
3350
- } catch (i) {
3351
- console.error("Optimization failed:", i);
3389
+ await s(i);
3390
+ const o = await n.getModel();
3391
+ o && a(o);
3392
+ } catch (o) {
3393
+ console.error("Optimization failed:", o);
3352
3394
  }
3353
3395
  },
3354
3396
  [n, a]
3355
3397
  );
3356
3398
  return n ? {
3357
- simplifyOptimization: () => t(n.simplifyOptimization),
3358
- dedupOptimization: () => t(n.dedupOptimization),
3359
- quantizeOptimization: () => t(n.quantizeOptimization)
3399
+ simplifyOptimization: (s) => t(
3400
+ n.simplifyOptimization,
3401
+ s
3402
+ ),
3403
+ dedupOptimization: (s) => t(n.dedupOptimization, s),
3404
+ quantizeOptimization: (s) => t(
3405
+ n.quantizeOptimization,
3406
+ s
3407
+ ),
3408
+ texturesCompressOptimization: (s) => t(
3409
+ n.texturesOptimization,
3410
+ s
3411
+ ),
3412
+ getSize: n.getSize,
3413
+ reset: n.reset,
3414
+ report: n.report,
3415
+ // Include the report state
3416
+ error: n.error,
3417
+ // Include the error state
3418
+ loading: n.loading
3419
+ // Include the loading state
3360
3420
  } : {
3361
3421
  simplifyOptimization: () => {
3362
3422
  console.warn("Optimizer is not available");
@@ -3366,7 +3426,19 @@ function Ms(n, A, e) {
3366
3426
  },
3367
3427
  quantizeOptimization: () => {
3368
3428
  console.warn("Optimizer is not available");
3369
- }
3429
+ },
3430
+ texturesCompressOptimization: () => {
3431
+ console.warn("Optimizer is not available");
3432
+ },
3433
+ getSize: () => {
3434
+ console.warn("Optimizer is not available");
3435
+ },
3436
+ reset: () => {
3437
+ console.warn("Optimizer is not available");
3438
+ },
3439
+ report: null,
3440
+ error: null,
3441
+ loading: !1
3370
3442
  };
3371
3443
  }
3372
3444
  const gt = ft({}), qs = ({ children: n, optimizer: A }) => {