@vctrl/hooks 0.7.8 → 0.9.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,6 +1,6 @@
1
1
  import { jsx as Bt } from "react/jsx-runtime";
2
2
  import { useCallback as z, useRef as Ct, useReducer as bt, useEffect as lt, createContext as ft, useContext as Et } from "react";
3
- import { TrianglesDrawMode as Qt, TriangleFanDrawMode as XA, TriangleStripDrawMode as Ge, Loader as TA, LoaderUtils as mA, FileLoader as aA, Color as rA, LinearSRGBColorSpace as Y, SpotLight as dt, PointLight as ht, DirectionalLight as pt, MeshBasicMaterial as hA, SRGBColorSpace as AA, MeshPhysicalMaterial as W, Vector2 as SA, Matrix4 as yA, Vector3 as CA, Quaternion as xe, InstancedMesh as ut, InstancedBufferAttribute as mt, Object3D as 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";
3
+ import { TrianglesDrawMode as Qt, TriangleFanDrawMode as XA, TriangleStripDrawMode as Ge, Loader as TA, LoaderUtils as mA, FileLoader as aA, Color as rA, LinearSRGBColorSpace as Y, SpotLight as dt, PointLight as ht, DirectionalLight as pt, MeshBasicMaterial as hA, SRGBColorSpace as AA, MeshPhysicalMaterial as W, Vector2 as SA, Matrix4 as yA, Vector3 as CA, Quaternion as xe, InstancedMesh as ut, InstancedBufferAttribute as mt, Object3D as ie, TextureLoader as Te, ImageBitmapLoader as wt, BufferAttribute as X, InterleavedBuffer as Dt, InterleavedBufferAttribute as kt, LinearFilter as GA, LinearMipmapLinearFilter as se, RepeatWrapping as xA, PointsMaterial as Ft, Material as NA, LineBasicMaterial as Rt, MeshStandardMaterial as Le, DoubleSide as St, PropertyBinding as yt, BufferGeometry as ne, SkinnedMesh as Gt, Mesh as Me, LineSegments as xt, Line as Tt, LineLoop as Lt, Points as Mt, Group as kA, PerspectiveCamera as Nt, MathUtils as Ut, OrthographicCamera as _t, Skeleton as qt, AnimationClip as Ht, Bone as Ot, InterpolateLinear as Ne, ColorManagement as le, NearestFilter as vt, NearestMipmapNearestFilter as Jt, LinearMipmapNearestFilter as jt, NearestMipmapLinearFilter as Kt, ClampToEdgeWrapping as Ue, MirroredRepeatWrapping as _e, InterpolateDiscrete as Pt, FrontSide as Yt, Texture as fe, VectorKeyframeTrack as Ee, NumberKeyframeTrack as Qe, QuaternionKeyframeTrack as de, Box3 as Wt, Sphere as Vt, Interpolant as zt, CompressedCubeTexture as Xt, UnsignedByteType as K, CompressedArrayTexture as Zt, CompressedTexture as qe, RGBAFormat as bA, RGBA_ASTC_4x4_Format as $t, RGBA_BPTC_Format as Aa, RGBA_ETC2_EAC_Format as ea, RGBA_PVRTC_4BPPV1_Format as ta, RGBA_S3TC_DXT5_Format as aa, RGB_ETC1_Format as ia, RGB_ETC2_Format as sa, RGB_PVRTC_4BPPV1_Format as na, RGBA_S3TC_DXT1_Format as oa, FloatType as FA, HalfFloatType as RA, DataTexture as ra, Data3DTexture as ca, DisplayP3ColorSpace as ga, LinearDisplayP3ColorSpace as Ia, NoColorSpace as oA, RGFormat as pA, RedFormat as uA, RGBA_ASTC_6x6_Format as he, WebGLRenderer as Ba } from "three";
4
4
  const BA = {}, V = {
5
5
  emit(n, A) {
6
6
  const e = BA[n];
@@ -55,8 +55,8 @@ async function pe(n) {
55
55
  return new Promise((a, t) => {
56
56
  e.onloadend = () => {
57
57
  if (!(e != null && e.result)) return;
58
- const s = (e == null ? void 0 : e.result).split(",")[1];
59
- a(s);
58
+ const i = (e == null ? void 0 : e.result).split(",")[1];
59
+ a(i);
60
60
  }, e.onerror = t, e.readAsDataURL(A);
61
61
  });
62
62
  }
@@ -76,24 +76,24 @@ function ue(n, A) {
76
76
  if (A === XA || A === Ge) {
77
77
  let e = n.getIndex();
78
78
  if (e === null) {
79
- const i = [], o = n.getAttribute("position");
79
+ const s = [], o = n.getAttribute("position");
80
80
  if (o !== void 0) {
81
81
  for (let r = 0; r < o.count; r++)
82
- i.push(r);
83
- n.setIndex(i), e = n.getIndex();
82
+ s.push(r);
83
+ n.setIndex(s), e = n.getIndex();
84
84
  } else
85
85
  return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), n;
86
86
  }
87
87
  const a = e.count - 2, t = [];
88
88
  if (A === XA)
89
- for (let i = 1; i <= a; i++)
90
- t.push(e.getX(0)), t.push(e.getX(i)), t.push(e.getX(i + 1));
89
+ for (let s = 1; s <= a; s++)
90
+ t.push(e.getX(0)), t.push(e.getX(s)), t.push(e.getX(s + 1));
91
91
  else
92
- for (let i = 0; i < a; i++)
93
- i % 2 === 0 ? (t.push(e.getX(i)), t.push(e.getX(i + 1)), t.push(e.getX(i + 2))) : (t.push(e.getX(i + 2)), t.push(e.getX(i + 1)), t.push(e.getX(i)));
92
+ for (let s = 0; s < a; s++)
93
+ s % 2 === 0 ? (t.push(e.getX(s)), t.push(e.getX(s + 1)), t.push(e.getX(s + 2))) : (t.push(e.getX(s + 2)), t.push(e.getX(s + 1)), t.push(e.getX(s)));
94
94
  t.length / 3 !== a && console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");
95
- const s = n.clone();
96
- return s.setIndex(t), s.clearGroups(), s;
95
+ const i = n.clone();
96
+ return i.setIndex(t), i.clearGroups(), i;
97
97
  } else
98
98
  return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", A), n;
99
99
  }
@@ -136,23 +136,23 @@ class la extends TA {
136
136
  });
137
137
  }
138
138
  load(A, e, a, t) {
139
- const s = this;
140
- let i;
139
+ const i = this;
140
+ let s;
141
141
  if (this.resourcePath !== "")
142
- i = this.resourcePath;
142
+ s = this.resourcePath;
143
143
  else if (this.path !== "") {
144
144
  const c = mA.extractUrlBase(A);
145
- i = mA.resolveURL(c, this.path);
145
+ s = mA.resolveURL(c, this.path);
146
146
  } else
147
- i = mA.extractUrlBase(A);
147
+ s = mA.extractUrlBase(A);
148
148
  this.manager.itemStart(A);
149
149
  const o = function(c) {
150
- t ? t(c) : console.error(c), s.manager.itemError(A), s.manager.itemEnd(A);
150
+ t ? t(c) : console.error(c), i.manager.itemError(A), i.manager.itemEnd(A);
151
151
  }, r = new aA(this.manager);
152
152
  r.setPath(this.path), r.setResponseType("arraybuffer"), r.setRequestHeader(this.requestHeader), r.setWithCredentials(this.withCredentials), r.load(A, function(c) {
153
153
  try {
154
- s.parse(c, i, function(I) {
155
- e(I), s.manager.itemEnd(A);
154
+ i.parse(c, s, function(I) {
155
+ e(I), i.manager.itemEnd(A);
156
156
  }, o);
157
157
  } catch (I) {
158
158
  o(I);
@@ -180,28 +180,28 @@ class la extends TA {
180
180
  return this.pluginCallbacks.indexOf(A) !== -1 && this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(A), 1), this;
181
181
  }
182
182
  parse(A, e, a, t) {
183
- let s;
184
- const i = {}, o = {}, r = new TextDecoder();
183
+ let i;
184
+ const s = {}, o = {}, r = new TextDecoder();
185
185
  if (typeof A == "string")
186
- s = JSON.parse(A);
186
+ i = JSON.parse(A);
187
187
  else if (A instanceof ArrayBuffer)
188
188
  if (r.decode(new Uint8Array(A, 0, 4)) === Oe) {
189
189
  try {
190
- i[y.KHR_BINARY_GLTF] = new Ma(A);
190
+ s[y.KHR_BINARY_GLTF] = new Ma(A);
191
191
  } catch (g) {
192
192
  t && t(g);
193
193
  return;
194
194
  }
195
- s = JSON.parse(i[y.KHR_BINARY_GLTF].content);
195
+ i = JSON.parse(s[y.KHR_BINARY_GLTF].content);
196
196
  } else
197
- s = JSON.parse(r.decode(A));
197
+ i = JSON.parse(r.decode(A));
198
198
  else
199
- s = A;
200
- if (s.asset === void 0 || s.asset.version[0] < 2) {
199
+ i = A;
200
+ if (i.asset === void 0 || i.asset.version[0] < 2) {
201
201
  t && t(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));
202
202
  return;
203
203
  }
204
- const c = new Wa(s, {
204
+ const c = new Wa(i, {
205
205
  path: e || this.resourcePath || "",
206
206
  crossOrigin: this.crossOrigin,
207
207
  requestHeader: this.requestHeader,
@@ -212,34 +212,34 @@ class la extends TA {
212
212
  c.fileLoader.setRequestHeader(this.requestHeader);
213
213
  for (let I = 0; I < this.pluginCallbacks.length; I++) {
214
214
  const g = this.pluginCallbacks[I](c);
215
- g.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), o[g.name] = g, i[g.name] = !0;
215
+ g.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), o[g.name] = g, s[g.name] = !0;
216
216
  }
217
- if (s.extensionsUsed)
218
- for (let I = 0; I < s.extensionsUsed.length; ++I) {
219
- const g = s.extensionsUsed[I], B = s.extensionsRequired || [];
217
+ if (i.extensionsUsed)
218
+ for (let I = 0; I < i.extensionsUsed.length; ++I) {
219
+ const g = i.extensionsUsed[I], B = i.extensionsRequired || [];
220
220
  switch (g) {
221
221
  case y.KHR_MATERIALS_UNLIT:
222
- i[g] = new Qa();
222
+ s[g] = new Qa();
223
223
  break;
224
224
  case y.KHR_DRACO_MESH_COMPRESSION:
225
- i[g] = new Na(s, this.dracoLoader);
225
+ s[g] = new Na(i, this.dracoLoader);
226
226
  break;
227
227
  case y.KHR_TEXTURE_TRANSFORM:
228
- i[g] = new Ua();
228
+ s[g] = new Ua();
229
229
  break;
230
230
  case y.KHR_MESH_QUANTIZATION:
231
- i[g] = new _a();
231
+ s[g] = new _a();
232
232
  break;
233
233
  default:
234
234
  B.indexOf(g) >= 0 && o[g] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + g + '".');
235
235
  }
236
236
  }
237
- c.setExtensions(i), c.setPlugins(o), c.parse(a, t);
237
+ c.setExtensions(s), c.setPlugins(o), c.parse(a, t);
238
238
  }
239
239
  parseAsync(A, e) {
240
240
  const a = this;
241
- return new Promise(function(t, s) {
242
- a.parse(A, e, t, s);
241
+ return new Promise(function(t, i) {
242
+ a.parse(A, e, t, i);
243
243
  });
244
244
  }
245
245
  }
@@ -291,15 +291,15 @@ class Ea {
291
291
  _markDefs() {
292
292
  const A = this.parser, e = this.parser.json.nodes || [];
293
293
  for (let a = 0, t = e.length; a < t; a++) {
294
- const s = e[a];
295
- s.extensions && s.extensions[this.name] && s.extensions[this.name].light !== void 0 && A._addNodeRef(this.cache, s.extensions[this.name].light);
294
+ const i = e[a];
295
+ i.extensions && i.extensions[this.name] && i.extensions[this.name].light !== void 0 && A._addNodeRef(this.cache, i.extensions[this.name].light);
296
296
  }
297
297
  }
298
298
  _loadLight(A) {
299
299
  const e = this.parser, a = "light:" + A;
300
300
  let t = e.cache.get(a);
301
301
  if (t) return t;
302
- const s = e.json, r = ((s.extensions && s.extensions[this.name] || {}).lights || [])[A];
302
+ const i = e.json, r = ((i.extensions && i.extensions[this.name] || {}).lights || [])[A];
303
303
  let c;
304
304
  const I = new rA(16777215);
305
305
  r.color !== void 0 && I.setRGB(r.color[0], r.color[1], r.color[2], Y);
@@ -324,7 +324,7 @@ class Ea {
324
324
  return this._loadLight(e);
325
325
  }
326
326
  createNodeAttachment(A) {
327
- const e = this, a = this.parser, s = a.json.nodes[A], o = (s.extensions && s.extensions[this.name] || {}).light;
327
+ const e = this, a = this.parser, i = a.json.nodes[A], o = (i.extensions && i.extensions[this.name] || {}).light;
328
328
  return o === void 0 ? null : this._loadLight(o).then(function(r) {
329
329
  return a._getNodeRef(e.cache, o, r);
330
330
  });
@@ -340,13 +340,13 @@ class Qa {
340
340
  extendParams(A, e, a) {
341
341
  const t = [];
342
342
  A.color = new rA(1, 1, 1), A.opacity = 1;
343
- const s = e.pbrMetallicRoughness;
344
- if (s) {
345
- if (Array.isArray(s.baseColorFactor)) {
346
- const i = s.baseColorFactor;
347
- A.color.setRGB(i[0], i[1], i[2], Y), A.opacity = i[3];
343
+ const i = e.pbrMetallicRoughness;
344
+ if (i) {
345
+ if (Array.isArray(i.baseColorFactor)) {
346
+ const s = i.baseColorFactor;
347
+ A.color.setRGB(s[0], s[1], s[2], Y), A.opacity = s[3];
348
348
  }
349
- s.baseColorTexture !== void 0 && t.push(a.assignTexture(A, "map", s.baseColorTexture, AA));
349
+ i.baseColorTexture !== void 0 && t.push(a.assignTexture(A, "map", i.baseColorTexture, AA));
350
350
  }
351
351
  return Promise.all(t);
352
352
  }
@@ -359,8 +359,8 @@ class da {
359
359
  const t = this.parser.json.materials[A];
360
360
  if (!t.extensions || !t.extensions[this.name])
361
361
  return Promise.resolve();
362
- const s = t.extensions[this.name].emissiveStrength;
363
- return s !== void 0 && (e.emissiveIntensity = s), Promise.resolve();
362
+ const i = t.extensions[this.name].emissiveStrength;
363
+ return i !== void 0 && (e.emissiveIntensity = i), Promise.resolve();
364
364
  }
365
365
  }
366
366
  class ha {
@@ -375,12 +375,12 @@ class ha {
375
375
  const a = this.parser, t = a.json.materials[A];
376
376
  if (!t.extensions || !t.extensions[this.name])
377
377
  return Promise.resolve();
378
- const s = [], i = t.extensions[this.name];
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)) {
380
- const o = i.clearcoatNormalTexture.scale;
378
+ const i = [], s = t.extensions[this.name];
379
+ if (s.clearcoatFactor !== void 0 && (e.clearcoat = s.clearcoatFactor), s.clearcoatTexture !== void 0 && i.push(a.assignTexture(e, "clearcoatMap", s.clearcoatTexture)), s.clearcoatRoughnessFactor !== void 0 && (e.clearcoatRoughness = s.clearcoatRoughnessFactor), s.clearcoatRoughnessTexture !== void 0 && i.push(a.assignTexture(e, "clearcoatRoughnessMap", s.clearcoatRoughnessTexture)), s.clearcoatNormalTexture !== void 0 && (i.push(a.assignTexture(e, "clearcoatNormalMap", s.clearcoatNormalTexture)), s.clearcoatNormalTexture.scale !== void 0)) {
380
+ const o = s.clearcoatNormalTexture.scale;
381
381
  e.clearcoatNormalScale = new SA(o, o);
382
382
  }
383
- return Promise.all(s);
383
+ return Promise.all(i);
384
384
  }
385
385
  }
386
386
  class pa {
@@ -395,8 +395,8 @@ class pa {
395
395
  const t = this.parser.json.materials[A];
396
396
  if (!t.extensions || !t.extensions[this.name])
397
397
  return Promise.resolve();
398
- const s = t.extensions[this.name];
399
- return e.dispersion = s.dispersion !== void 0 ? s.dispersion : 0, Promise.resolve();
398
+ const i = t.extensions[this.name];
399
+ return e.dispersion = i.dispersion !== void 0 ? i.dispersion : 0, Promise.resolve();
400
400
  }
401
401
  }
402
402
  class ua {
@@ -411,8 +411,8 @@ class ua {
411
411
  const a = this.parser, t = a.json.materials[A];
412
412
  if (!t.extensions || !t.extensions[this.name])
413
413
  return Promise.resolve();
414
- const s = [], i = t.extensions[this.name];
415
- return i.iridescenceFactor !== void 0 && (e.iridescence = i.iridescenceFactor), i.iridescenceTexture !== void 0 && s.push(a.assignTexture(e, "iridescenceMap", i.iridescenceTexture)), i.iridescenceIor !== void 0 && (e.iridescenceIOR = i.iridescenceIor), e.iridescenceThicknessRange === void 0 && (e.iridescenceThicknessRange = [100, 400]), i.iridescenceThicknessMinimum !== void 0 && (e.iridescenceThicknessRange[0] = i.iridescenceThicknessMinimum), i.iridescenceThicknessMaximum !== void 0 && (e.iridescenceThicknessRange[1] = i.iridescenceThicknessMaximum), i.iridescenceThicknessTexture !== void 0 && s.push(a.assignTexture(e, "iridescenceThicknessMap", i.iridescenceThicknessTexture)), Promise.all(s);
414
+ const i = [], s = t.extensions[this.name];
415
+ return s.iridescenceFactor !== void 0 && (e.iridescence = s.iridescenceFactor), s.iridescenceTexture !== void 0 && i.push(a.assignTexture(e, "iridescenceMap", s.iridescenceTexture)), s.iridescenceIor !== void 0 && (e.iridescenceIOR = s.iridescenceIor), e.iridescenceThicknessRange === void 0 && (e.iridescenceThicknessRange = [100, 400]), s.iridescenceThicknessMinimum !== void 0 && (e.iridescenceThicknessRange[0] = s.iridescenceThicknessMinimum), s.iridescenceThicknessMaximum !== void 0 && (e.iridescenceThicknessRange[1] = s.iridescenceThicknessMaximum), s.iridescenceThicknessTexture !== void 0 && i.push(a.assignTexture(e, "iridescenceThicknessMap", s.iridescenceThicknessTexture)), Promise.all(i);
416
416
  }
417
417
  }
418
418
  class ma {
@@ -427,14 +427,14 @@ class ma {
427
427
  const a = this.parser, t = a.json.materials[A];
428
428
  if (!t.extensions || !t.extensions[this.name])
429
429
  return Promise.resolve();
430
- const s = [];
430
+ const i = [];
431
431
  e.sheenColor = new rA(0, 0, 0), e.sheenRoughness = 0, e.sheen = 1;
432
- const i = t.extensions[this.name];
433
- if (i.sheenColorFactor !== void 0) {
434
- const o = i.sheenColorFactor;
432
+ const s = t.extensions[this.name];
433
+ if (s.sheenColorFactor !== void 0) {
434
+ const o = s.sheenColorFactor;
435
435
  e.sheenColor.setRGB(o[0], o[1], o[2], Y);
436
436
  }
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);
437
+ return s.sheenRoughnessFactor !== void 0 && (e.sheenRoughness = s.sheenRoughnessFactor), s.sheenColorTexture !== void 0 && i.push(a.assignTexture(e, "sheenColorMap", s.sheenColorTexture, AA)), s.sheenRoughnessTexture !== void 0 && i.push(a.assignTexture(e, "sheenRoughnessMap", s.sheenRoughnessTexture)), Promise.all(i);
438
438
  }
439
439
  }
440
440
  class wa {
@@ -449,8 +449,8 @@ class wa {
449
449
  const a = this.parser, t = a.json.materials[A];
450
450
  if (!t.extensions || !t.extensions[this.name])
451
451
  return Promise.resolve();
452
- const s = [], i = t.extensions[this.name];
453
- return i.transmissionFactor !== void 0 && (e.transmission = i.transmissionFactor), i.transmissionTexture !== void 0 && s.push(a.assignTexture(e, "transmissionMap", i.transmissionTexture)), Promise.all(s);
452
+ const i = [], s = t.extensions[this.name];
453
+ return s.transmissionFactor !== void 0 && (e.transmission = s.transmissionFactor), s.transmissionTexture !== void 0 && i.push(a.assignTexture(e, "transmissionMap", s.transmissionTexture)), Promise.all(i);
454
454
  }
455
455
  }
456
456
  class Da {
@@ -465,10 +465,10 @@ class Da {
465
465
  const a = this.parser, t = a.json.materials[A];
466
466
  if (!t.extensions || !t.extensions[this.name])
467
467
  return Promise.resolve();
468
- const s = [], i = t.extensions[this.name];
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;
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);
468
+ const i = [], s = t.extensions[this.name];
469
+ e.thickness = s.thicknessFactor !== void 0 ? s.thicknessFactor : 0, s.thicknessTexture !== void 0 && i.push(a.assignTexture(e, "thicknessMap", s.thicknessTexture)), e.attenuationDistance = s.attenuationDistance || 1 / 0;
470
+ const o = s.attenuationColor || [1, 1, 1];
471
+ return e.attenuationColor = new rA().setRGB(o[0], o[1], o[2], Y), Promise.all(i);
472
472
  }
473
473
  }
474
474
  class ka {
@@ -483,8 +483,8 @@ class ka {
483
483
  const t = this.parser.json.materials[A];
484
484
  if (!t.extensions || !t.extensions[this.name])
485
485
  return Promise.resolve();
486
- const s = t.extensions[this.name];
487
- return e.ior = s.ior !== void 0 ? s.ior : 1.5, Promise.resolve();
486
+ const i = t.extensions[this.name];
487
+ return e.ior = i.ior !== void 0 ? i.ior : 1.5, Promise.resolve();
488
488
  }
489
489
  }
490
490
  class Fa {
@@ -499,10 +499,10 @@ class Fa {
499
499
  const a = this.parser, t = a.json.materials[A];
500
500
  if (!t.extensions || !t.extensions[this.name])
501
501
  return Promise.resolve();
502
- const s = [], i = t.extensions[this.name];
503
- e.specularIntensity = i.specularFactor !== void 0 ? i.specularFactor : 1, i.specularTexture !== void 0 && s.push(a.assignTexture(e, "specularIntensityMap", i.specularTexture));
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);
502
+ const i = [], s = t.extensions[this.name];
503
+ e.specularIntensity = s.specularFactor !== void 0 ? s.specularFactor : 1, s.specularTexture !== void 0 && i.push(a.assignTexture(e, "specularIntensityMap", s.specularTexture));
504
+ const o = s.specularColorFactor || [1, 1, 1];
505
+ return e.specularColor = new rA().setRGB(o[0], o[1], o[2], Y), s.specularColorTexture !== void 0 && i.push(a.assignTexture(e, "specularColorMap", s.specularColorTexture, AA)), Promise.all(i);
506
506
  }
507
507
  }
508
508
  class Ra {
@@ -517,8 +517,8 @@ class Ra {
517
517
  const a = this.parser, t = a.json.materials[A];
518
518
  if (!t.extensions || !t.extensions[this.name])
519
519
  return Promise.resolve();
520
- const s = [], i = t.extensions[this.name];
521
- return e.bumpScale = i.bumpFactor !== void 0 ? i.bumpFactor : 1, i.bumpTexture !== void 0 && s.push(a.assignTexture(e, "bumpMap", i.bumpTexture)), Promise.all(s);
520
+ const i = [], s = t.extensions[this.name];
521
+ return e.bumpScale = s.bumpFactor !== void 0 ? s.bumpFactor : 1, s.bumpTexture !== void 0 && i.push(a.assignTexture(e, "bumpMap", s.bumpTexture)), Promise.all(i);
522
522
  }
523
523
  }
524
524
  class Sa {
@@ -533,8 +533,8 @@ class Sa {
533
533
  const a = this.parser, t = a.json.materials[A];
534
534
  if (!t.extensions || !t.extensions[this.name])
535
535
  return Promise.resolve();
536
- const s = [], i = t.extensions[this.name];
537
- return i.anisotropyStrength !== void 0 && (e.anisotropy = i.anisotropyStrength), i.anisotropyRotation !== void 0 && (e.anisotropyRotation = i.anisotropyRotation), i.anisotropyTexture !== void 0 && s.push(a.assignTexture(e, "anisotropyMap", i.anisotropyTexture)), Promise.all(s);
536
+ const i = [], s = t.extensions[this.name];
537
+ return s.anisotropyStrength !== void 0 && (e.anisotropy = s.anisotropyStrength), s.anisotropyRotation !== void 0 && (e.anisotropyRotation = s.anisotropyRotation), s.anisotropyTexture !== void 0 && i.push(a.assignTexture(e, "anisotropyMap", s.anisotropyTexture)), Promise.all(i);
538
538
  }
539
539
  }
540
540
  class ya {
@@ -545,13 +545,13 @@ class ya {
545
545
  const e = this.parser, a = e.json, t = a.textures[A];
546
546
  if (!t.extensions || !t.extensions[this.name])
547
547
  return null;
548
- const s = t.extensions[this.name], i = e.options.ktx2Loader;
549
- if (!i) {
548
+ const i = t.extensions[this.name], s = e.options.ktx2Loader;
549
+ if (!s) {
550
550
  if (a.extensionsRequired && a.extensionsRequired.indexOf(this.name) >= 0)
551
551
  throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");
552
552
  return null;
553
553
  }
554
- return e.loadTextureImage(A, s.source, i);
554
+ return e.loadTextureImage(A, i.source, s);
555
555
  }
556
556
  }
557
557
  class Ga {
@@ -559,17 +559,17 @@ class Ga {
559
559
  this.parser = A, this.name = y.EXT_TEXTURE_WEBP, this.isSupported = null;
560
560
  }
561
561
  loadTexture(A) {
562
- const e = this.name, a = this.parser, t = a.json, s = t.textures[A];
563
- if (!s.extensions || !s.extensions[e])
562
+ const e = this.name, a = this.parser, t = a.json, i = t.textures[A];
563
+ if (!i.extensions || !i.extensions[e])
564
564
  return null;
565
- const i = s.extensions[e], o = t.images[i.source];
565
+ const s = i.extensions[e], o = t.images[s.source];
566
566
  let r = a.textureLoader;
567
567
  if (o.uri) {
568
568
  const c = a.options.manager.getHandler(o.uri);
569
569
  c !== null && (r = c);
570
570
  }
571
571
  return this.detectSupport().then(function(c) {
572
- if (c) return a.loadTextureImage(A, i.source, r);
572
+ if (c) return a.loadTextureImage(A, s.source, r);
573
573
  if (t.extensionsRequired && t.extensionsRequired.indexOf(e) >= 0)
574
574
  throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");
575
575
  return a.loadTexture(A);
@@ -589,17 +589,17 @@ class xa {
589
589
  this.parser = A, this.name = y.EXT_TEXTURE_AVIF, this.isSupported = null;
590
590
  }
591
591
  loadTexture(A) {
592
- const e = this.name, a = this.parser, t = a.json, s = t.textures[A];
593
- if (!s.extensions || !s.extensions[e])
592
+ const e = this.name, a = this.parser, t = a.json, i = t.textures[A];
593
+ if (!i.extensions || !i.extensions[e])
594
594
  return null;
595
- const i = s.extensions[e], o = t.images[i.source];
595
+ const s = i.extensions[e], o = t.images[s.source];
596
596
  let r = a.textureLoader;
597
597
  if (o.uri) {
598
598
  const c = a.options.manager.getHandler(o.uri);
599
599
  c !== null && (r = c);
600
600
  }
601
601
  return this.detectSupport().then(function(c) {
602
- if (c) return a.loadTextureImage(A, i.source, r);
602
+ if (c) return a.loadTextureImage(A, s.source, r);
603
603
  if (t.extensionsRequired && t.extensionsRequired.indexOf(e) >= 0)
604
604
  throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");
605
605
  return a.loadTexture(A);
@@ -621,19 +621,19 @@ class Ta {
621
621
  loadBufferView(A) {
622
622
  const e = this.parser.json, a = e.bufferViews[A];
623
623
  if (a.extensions && a.extensions[this.name]) {
624
- const t = a.extensions[this.name], s = this.parser.getDependency("buffer", t.buffer), i = this.parser.options.meshoptDecoder;
625
- if (!i || !i.supported) {
624
+ const t = a.extensions[this.name], i = this.parser.getDependency("buffer", t.buffer), s = this.parser.options.meshoptDecoder;
625
+ if (!s || !s.supported) {
626
626
  if (e.extensionsRequired && e.extensionsRequired.indexOf(this.name) >= 0)
627
627
  throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");
628
628
  return null;
629
629
  }
630
- return s.then(function(o) {
630
+ return i.then(function(o) {
631
631
  const r = t.byteOffset || 0, c = t.byteLength || 0, I = t.count, g = t.byteStride, B = new Uint8Array(o, r, c);
632
- return i.decodeGltfBufferAsync ? i.decodeGltfBufferAsync(I, g, B, t.mode, t.filter).then(function(C) {
632
+ return s.decodeGltfBufferAsync ? s.decodeGltfBufferAsync(I, g, B, t.mode, t.filter).then(function(C) {
633
633
  return C.buffer;
634
- }) : i.ready.then(function() {
634
+ }) : s.ready.then(function() {
635
635
  const C = new ArrayBuffer(I * g);
636
- return i.decodeGltfBuffer(new Uint8Array(C), I, g, B, t.mode, t.filter), C;
636
+ return s.decodeGltfBuffer(new Uint8Array(C), I, g, B, t.mode, t.filter), C;
637
637
  });
638
638
  });
639
639
  } else
@@ -652,9 +652,9 @@ class La {
652
652
  for (const c of t.primitives)
653
653
  if (c.mode !== O.TRIANGLES && c.mode !== O.TRIANGLE_STRIP && c.mode !== O.TRIANGLE_FAN && c.mode !== void 0)
654
654
  return null;
655
- const i = a.extensions[this.name].attributes, o = [], r = {};
656
- for (const c in i)
657
- o.push(this.parser.getDependency("accessor", i[c]).then((I) => (r[c] = I, r[c])));
655
+ const s = a.extensions[this.name].attributes, o = [], r = {};
656
+ for (const c in s)
657
+ o.push(this.parser.getDependency("accessor", s[c]).then((I) => (r[c] = I, r[c])));
658
658
  return o.length < 1 ? null : (o.push(this.parser.createNodeMesh(A)), Promise.all(o).then((c) => {
659
659
  const I = c.pop(), g = I.isGroup ? I.children : [I], B = c[0].count, C = [];
660
660
  for (const f of g) {
@@ -666,7 +666,7 @@ class La {
666
666
  const k = r[u];
667
667
  h.instanceColor = new mt(k.array, k.itemSize, k.normalized);
668
668
  } else u !== "TRANSLATION" && u !== "ROTATION" && u !== "SCALE" && f.geometry.setAttribute(u, r[u]);
669
- se.prototype.copy.call(h, f), this.parser.assignFinalMaterial(h), C.push(h);
669
+ ie.prototype.copy.call(h, f), this.parser.assignFinalMaterial(h), C.push(h);
670
670
  }
671
671
  return I.isGroup ? (I.clear(), I.add(...C), I) : C[0];
672
672
  }));
@@ -685,20 +685,20 @@ class Ma {
685
685
  throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
686
686
  if (this.header.version < 2)
687
687
  throw new Error("THREE.GLTFLoader: Legacy binary file detected.");
688
- const t = this.header.length - QA, s = new DataView(A, QA);
689
- let i = 0;
690
- for (; i < t; ) {
691
- const o = s.getUint32(i, !0);
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);
688
+ const t = this.header.length - QA, i = new DataView(A, QA);
689
+ let s = 0;
690
+ for (; s < t; ) {
691
+ const o = i.getUint32(s, !0);
692
+ s += 4;
693
+ const r = i.getUint32(s, !0);
694
+ if (s += 4, r === me.JSON) {
695
+ const c = new Uint8Array(A, QA + s, o);
696
696
  this.content = a.decode(c);
697
697
  } else if (r === me.BIN) {
698
- const c = QA + i;
698
+ const c = QA + s;
699
699
  this.body = A.slice(c, c + o);
700
700
  }
701
- i += o;
701
+ s += o;
702
702
  }
703
703
  if (this.content === null)
704
704
  throw new Error("THREE.GLTFLoader: JSON content not found.");
@@ -711,19 +711,19 @@ class Na {
711
711
  this.name = y.KHR_DRACO_MESH_COMPRESSION, this.json = A, this.dracoLoader = e, this.dracoLoader.preload();
712
712
  }
713
713
  decodePrimitive(A, e) {
714
- const a = this.json, t = this.dracoLoader, s = A.extensions[this.name].bufferView, i = A.extensions[this.name].attributes, o = {}, r = {}, c = {};
715
- for (const I in i) {
714
+ const a = this.json, t = this.dracoLoader, i = A.extensions[this.name].bufferView, s = A.extensions[this.name].attributes, o = {}, r = {}, c = {};
715
+ for (const I in s) {
716
716
  const g = ZA[I] || I.toLowerCase();
717
- o[g] = i[I];
717
+ o[g] = s[I];
718
718
  }
719
719
  for (const I in A.attributes) {
720
720
  const g = ZA[I] || I.toLowerCase();
721
- if (i[I] !== void 0) {
721
+ if (s[I] !== void 0) {
722
722
  const B = a.accessors[A.attributes[I]], C = fA[B.componentType];
723
723
  c[g] = C.name, r[g] = B.normalized === !0;
724
724
  }
725
725
  }
726
- return e.getDependency("bufferView", s).then(function(I) {
726
+ return e.getDependency("bufferView", i).then(function(I) {
727
727
  return new Promise(function(g, B) {
728
728
  t.decodeDracoFile(I, function(C) {
729
729
  for (const f in C.attributes) {
@@ -754,25 +754,25 @@ class ve extends zt {
754
754
  super(A, e, a, t);
755
755
  }
756
756
  copySampleValue_(A) {
757
- const e = this.resultBuffer, a = this.sampleValues, t = this.valueSize, s = A * t * 3 + t;
758
- for (let i = 0; i !== t; i++)
759
- e[i] = a[s + i];
757
+ const e = this.resultBuffer, a = this.sampleValues, t = this.valueSize, i = A * t * 3 + t;
758
+ for (let s = 0; s !== t; s++)
759
+ e[s] = a[i + s];
760
760
  return e;
761
761
  }
762
762
  interpolate_(A, e, a, t) {
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;
763
+ const i = this.resultBuffer, s = this.sampleValues, o = this.valueSize, r = o * 2, c = o * 3, I = t - e, g = (a - e) / I, B = g * g, C = B * g, f = A * c, d = f - c, p = -2 * C + 3 * B, E = C - B, l = 1 - p, h = E - B + g;
764
764
  for (let u = 0; u !== o; u++) {
765
- const k = i[d + u + o], R = i[d + u + r] * I, G = i[f + u + o], M = i[f + u] * I;
766
- s[u] = l * k + h * R + p * G + E * M;
765
+ const k = s[d + u + o], R = s[d + u + r] * I, G = s[f + u + o], M = s[f + u] * I;
766
+ i[u] = l * k + h * R + p * G + E * M;
767
767
  }
768
- return s;
768
+ return i;
769
769
  }
770
770
  }
771
771
  const qa = new xe();
772
772
  class Ha extends ve {
773
773
  interpolate_(A, e, a, t) {
774
- const s = super.interpolate_(A, e, a, t);
775
- return qa.fromArray(s).normalize().toArray(s), s;
774
+ const i = super.interpolate_(A, e, a, t);
775
+ return qa.fromArray(i).normalize().toArray(i), i;
776
776
  }
777
777
  }
778
778
  const O = {
@@ -808,7 +808,7 @@ const O = {
808
808
  9984: Jt,
809
809
  9985: jt,
810
810
  9986: Kt,
811
- 9987: ie
811
+ 9987: se
812
812
  }, De = {
813
813
  33071: Ue,
814
814
  33648: _e,
@@ -832,7 +832,7 @@ const O = {
832
832
  COLOR_0: "color",
833
833
  WEIGHTS_0: "skinWeight",
834
834
  JOINTS_0: "skinIndex"
835
- }, iA = {
835
+ }, sA = {
836
836
  scale: "scale",
837
837
  translation: "position",
838
838
  rotation: "quaternion",
@@ -867,35 +867,35 @@ function tA(n, A) {
867
867
  A.extras !== void 0 && (typeof A.extras == "object" ? Object.assign(n.userData, A.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + A.extras));
868
868
  }
869
869
  function Ja(n, A, e) {
870
- let a = !1, t = !1, s = !1;
870
+ let a = !1, t = !1, i = !1;
871
871
  for (let c = 0, I = A.length; c < I; c++) {
872
872
  const g = A[c];
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;
873
+ if (g.POSITION !== void 0 && (a = !0), g.NORMAL !== void 0 && (t = !0), g.COLOR_0 !== void 0 && (i = !0), a && t && i) break;
874
874
  }
875
- if (!a && !t && !s) return Promise.resolve(n);
876
- const i = [], o = [], r = [];
875
+ if (!a && !t && !i) return Promise.resolve(n);
876
+ const s = [], o = [], r = [];
877
877
  for (let c = 0, I = A.length; c < I; c++) {
878
878
  const g = A[c];
879
879
  if (a) {
880
880
  const B = g.POSITION !== void 0 ? e.getDependency("accessor", g.POSITION) : n.attributes.position;
881
- i.push(B);
881
+ s.push(B);
882
882
  }
883
883
  if (t) {
884
884
  const B = g.NORMAL !== void 0 ? e.getDependency("accessor", g.NORMAL) : n.attributes.normal;
885
885
  o.push(B);
886
886
  }
887
- if (s) {
887
+ if (i) {
888
888
  const B = g.COLOR_0 !== void 0 ? e.getDependency("accessor", g.COLOR_0) : n.attributes.color;
889
889
  r.push(B);
890
890
  }
891
891
  }
892
892
  return Promise.all([
893
- Promise.all(i),
893
+ Promise.all(s),
894
894
  Promise.all(o),
895
895
  Promise.all(r)
896
896
  ]).then(function(c) {
897
897
  const I = c[0], g = c[1], B = c[2];
898
- return a && (n.morphAttributes.position = I), t && (n.morphAttributes.normal = g), s && (n.morphAttributes.color = B), n.morphTargetsRelative = !0, n;
898
+ return a && (n.morphAttributes.position = I), t && (n.morphAttributes.normal = g), i && (n.morphAttributes.color = B), n.morphTargetsRelative = !0, n;
899
899
  });
900
900
  }
901
901
  function ja(n, A) {
@@ -948,14 +948,14 @@ const Ya = new yA();
948
948
  class Wa {
949
949
  constructor(A = {}, e = {}) {
950
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 = {};
951
- let a = !1, t = -1, s = !1, i = -1;
951
+ let a = !1, t = -1, i = !1, s = -1;
952
952
  if (typeof navigator < "u") {
953
953
  const o = navigator.userAgent;
954
954
  a = /^((?!chrome|android).)*safari/i.test(o) === !0;
955
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;
956
+ t = a && r ? parseInt(r[1], 10) : -1, i = o.indexOf("Firefox") > -1, s = i ? o.match(/Firefox\/([0-9]+)\./)[1] : -1;
957
957
  }
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);
958
+ typeof createImageBitmap > "u" || a && t < 17 || i && s < 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);
959
959
  }
960
960
  setExtensions(A) {
961
961
  this.extensions = A;
@@ -964,28 +964,28 @@ class Wa {
964
964
  this.plugins = A;
965
965
  }
966
966
  parse(A, e) {
967
- const a = this, t = this.json, s = this.extensions;
968
- this.cache.removeAll(), this.nodeCache = {}, this._invokeAll(function(i) {
969
- return i._markDefs && i._markDefs();
970
- }), Promise.all(this._invokeAll(function(i) {
971
- return i.beforeRoot && i.beforeRoot();
967
+ const a = this, t = this.json, i = this.extensions;
968
+ this.cache.removeAll(), this.nodeCache = {}, this._invokeAll(function(s) {
969
+ return s._markDefs && s._markDefs();
970
+ }), Promise.all(this._invokeAll(function(s) {
971
+ return s.beforeRoot && s.beforeRoot();
972
972
  })).then(function() {
973
973
  return Promise.all([
974
974
  a.getDependencies("scene"),
975
975
  a.getDependencies("animation"),
976
976
  a.getDependencies("camera")
977
977
  ]);
978
- }).then(function(i) {
978
+ }).then(function(s) {
979
979
  const o = {
980
- scene: i[0][t.scene || 0],
981
- scenes: i[0],
982
- animations: i[1],
983
- cameras: i[2],
980
+ scene: s[0][t.scene || 0],
981
+ scenes: s[0],
982
+ animations: s[1],
983
+ cameras: s[2],
984
984
  asset: t.asset,
985
985
  parser: a,
986
986
  userData: {}
987
987
  };
988
- return gA(s, o, t), tA(o, t), Promise.all(a._invokeAll(function(r) {
988
+ return gA(i, o, t), tA(o, t), Promise.all(a._invokeAll(function(r) {
989
989
  return r.afterRoot && r.afterRoot(o);
990
990
  })).then(function() {
991
991
  for (const r of o.scenes)
@@ -999,14 +999,14 @@ class Wa {
999
999
  */
1000
1000
  _markDefs() {
1001
1001
  const A = this.json.nodes || [], e = this.json.skins || [], a = this.json.meshes || [];
1002
- for (let t = 0, s = e.length; t < s; t++) {
1003
- const i = e[t].joints;
1004
- for (let o = 0, r = i.length; o < r; o++)
1005
- A[i[o]].isBone = !0;
1002
+ for (let t = 0, i = e.length; t < i; t++) {
1003
+ const s = e[t].joints;
1004
+ for (let o = 0, r = s.length; o < r; o++)
1005
+ A[s[o]].isBone = !0;
1006
1006
  }
1007
- for (let t = 0, s = A.length; t < s; t++) {
1008
- const i = A[t];
1009
- i.mesh !== void 0 && (this._addNodeRef(this.meshCache, i.mesh), i.skin !== void 0 && (a[i.mesh].isSkinnedMesh = !0)), i.camera !== void 0 && this._addNodeRef(this.cameraCache, i.camera);
1007
+ for (let t = 0, i = A.length; t < i; t++) {
1008
+ const s = A[t];
1009
+ s.mesh !== void 0 && (this._addNodeRef(this.meshCache, s.mesh), s.skin !== void 0 && (a[s.mesh].isSkinnedMesh = !0)), s.camera !== void 0 && this._addNodeRef(this.cameraCache, s.camera);
1010
1010
  }
1011
1011
  }
1012
1012
  /**
@@ -1024,13 +1024,13 @@ class Wa {
1024
1024
  /** Returns a reference to a shared resource, cloning it if necessary. */
1025
1025
  _getNodeRef(A, e, a) {
1026
1026
  if (A.refs[e] <= 1) return a;
1027
- const t = a.clone(), s = (i, o) => {
1028
- const r = this.associations.get(i);
1027
+ const t = a.clone(), i = (s, o) => {
1028
+ const r = this.associations.get(s);
1029
1029
  r != null && this.associations.set(o, r);
1030
- for (const [c, I] of i.children.entries())
1031
- s(I, o.children[c]);
1030
+ for (const [c, I] of s.children.entries())
1031
+ i(I, o.children[c]);
1032
1032
  };
1033
- return s(a, t), t.name += "_instance_" + A.uses[e]++, t;
1033
+ return i(a, t), t.name += "_instance_" + A.uses[e]++, t;
1034
1034
  }
1035
1035
  _invokeOne(A) {
1036
1036
  const e = Object.values(this.plugins);
@@ -1046,8 +1046,8 @@ class Wa {
1046
1046
  e.unshift(this);
1047
1047
  const a = [];
1048
1048
  for (let t = 0; t < e.length; t++) {
1049
- const s = A(e[t]);
1050
- s && a.push(s);
1049
+ const i = A(e[t]);
1050
+ i && a.push(i);
1051
1051
  }
1052
1052
  return a;
1053
1053
  }
@@ -1066,50 +1066,50 @@ class Wa {
1066
1066
  t = this.loadScene(e);
1067
1067
  break;
1068
1068
  case "node":
1069
- t = this._invokeOne(function(s) {
1070
- return s.loadNode && s.loadNode(e);
1069
+ t = this._invokeOne(function(i) {
1070
+ return i.loadNode && i.loadNode(e);
1071
1071
  });
1072
1072
  break;
1073
1073
  case "mesh":
1074
- t = this._invokeOne(function(s) {
1075
- return s.loadMesh && s.loadMesh(e);
1074
+ t = this._invokeOne(function(i) {
1075
+ return i.loadMesh && i.loadMesh(e);
1076
1076
  });
1077
1077
  break;
1078
1078
  case "accessor":
1079
1079
  t = this.loadAccessor(e);
1080
1080
  break;
1081
1081
  case "bufferView":
1082
- t = this._invokeOne(function(s) {
1083
- return s.loadBufferView && s.loadBufferView(e);
1082
+ t = this._invokeOne(function(i) {
1083
+ return i.loadBufferView && i.loadBufferView(e);
1084
1084
  });
1085
1085
  break;
1086
1086
  case "buffer":
1087
1087
  t = this.loadBuffer(e);
1088
1088
  break;
1089
1089
  case "material":
1090
- t = this._invokeOne(function(s) {
1091
- return s.loadMaterial && s.loadMaterial(e);
1090
+ t = this._invokeOne(function(i) {
1091
+ return i.loadMaterial && i.loadMaterial(e);
1092
1092
  });
1093
1093
  break;
1094
1094
  case "texture":
1095
- t = this._invokeOne(function(s) {
1096
- return s.loadTexture && s.loadTexture(e);
1095
+ t = this._invokeOne(function(i) {
1096
+ return i.loadTexture && i.loadTexture(e);
1097
1097
  });
1098
1098
  break;
1099
1099
  case "skin":
1100
1100
  t = this.loadSkin(e);
1101
1101
  break;
1102
1102
  case "animation":
1103
- t = this._invokeOne(function(s) {
1104
- return s.loadAnimation && s.loadAnimation(e);
1103
+ t = this._invokeOne(function(i) {
1104
+ return i.loadAnimation && i.loadAnimation(e);
1105
1105
  });
1106
1106
  break;
1107
1107
  case "camera":
1108
1108
  t = this.loadCamera(e);
1109
1109
  break;
1110
1110
  default:
1111
- if (t = this._invokeOne(function(s) {
1112
- return s != this && s.getDependency && s.getDependency(A, e);
1111
+ if (t = this._invokeOne(function(i) {
1112
+ return i != this && i.getDependency && i.getDependency(A, e);
1113
1113
  }), !t)
1114
1114
  throw new Error("Unknown type: " + A);
1115
1115
  break;
@@ -1127,8 +1127,8 @@ class Wa {
1127
1127
  let e = this.cache.get(A);
1128
1128
  if (!e) {
1129
1129
  const a = this, t = this.json[A + (A === "mesh" ? "es" : "s")] || [];
1130
- e = Promise.all(t.map(function(s, i) {
1131
- return a.getDependency(A, i);
1130
+ e = Promise.all(t.map(function(i, s) {
1131
+ return a.getDependency(A, s);
1132
1132
  })), this.cache.add(A, e);
1133
1133
  }
1134
1134
  return e;
@@ -1145,9 +1145,9 @@ class Wa {
1145
1145
  if (e.uri === void 0 && A === 0)
1146
1146
  return Promise.resolve(this.extensions[y.KHR_BINARY_GLTF].body);
1147
1147
  const t = this.options;
1148
- return new Promise(function(s, i) {
1149
- a.load(mA.resolveURL(e.uri, t.path), s, void 0, function() {
1150
- i(new Error('THREE.GLTFLoader: Failed to load buffer "' + e.uri + '".'));
1148
+ return new Promise(function(i, s) {
1149
+ a.load(mA.resolveURL(e.uri, t.path), i, void 0, function() {
1150
+ s(new Error('THREE.GLTFLoader: Failed to load buffer "' + e.uri + '".'));
1151
1151
  });
1152
1152
  });
1153
1153
  }
@@ -1159,8 +1159,8 @@ class Wa {
1159
1159
  loadBufferView(A) {
1160
1160
  const e = this.json.bufferViews[A];
1161
1161
  return this.getDependency("buffer", e.buffer).then(function(a) {
1162
- const t = e.byteLength || 0, s = e.byteOffset || 0;
1163
- return a.slice(s, s + t);
1162
+ const t = e.byteLength || 0, i = e.byteOffset || 0;
1163
+ return a.slice(i, i + t);
1164
1164
  });
1165
1165
  }
1166
1166
  /**
@@ -1171,12 +1171,12 @@ class Wa {
1171
1171
  loadAccessor(A) {
1172
1172
  const e = this, a = this.json, t = this.json.accessors[A];
1173
1173
  if (t.bufferView === void 0 && t.sparse === void 0) {
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));
1174
+ const s = UA[t.type], o = fA[t.componentType], r = t.normalized === !0, c = new o(t.count * s);
1175
+ return Promise.resolve(new X(c, s, r));
1176
1176
  }
1177
- const s = [];
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) {
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;
1177
+ const i = [];
1178
+ return t.bufferView !== void 0 ? i.push(this.getDependency("bufferView", t.bufferView)) : i.push(null), t.sparse !== void 0 && (i.push(this.getDependency("bufferView", t.sparse.indices.bufferView)), i.push(this.getDependency("bufferView", t.sparse.values.bufferView))), Promise.all(i).then(function(s) {
1179
+ const o = s[0], r = UA[t.type], c = fA[t.componentType], I = c.BYTES_PER_ELEMENT, g = I * r, B = t.byteOffset || 0, C = t.bufferView !== void 0 ? a.bufferViews[t.bufferView].byteStride : void 0, f = t.normalized === !0;
1180
1180
  let d, p;
1181
1181
  if (C && C !== g) {
1182
1182
  const E = Math.floor(B / C), l = "InterleavedBuffer:" + t.bufferView + ":" + t.componentType + ":" + E + ":" + t.count;
@@ -1185,7 +1185,7 @@ class Wa {
1185
1185
  } else
1186
1186
  o === null ? d = new c(t.count * r) : d = new c(o, B, t.count * r), p = new X(d, r, f);
1187
1187
  if (t.sparse !== void 0) {
1188
- const E = UA.SCALAR, l = fA[t.sparse.indices.componentType], h = t.sparse.indices.byteOffset || 0, u = t.sparse.values.byteOffset || 0, k = new l(i[1], h, t.sparse.count * E), R = new c(i[2], u, t.sparse.count * r);
1188
+ const E = UA.SCALAR, l = fA[t.sparse.indices.componentType], h = t.sparse.indices.byteOffset || 0, u = t.sparse.values.byteOffset || 0, k = new l(s[1], h, t.sparse.count * E), R = new c(s[2], u, t.sparse.count * r);
1189
1189
  o !== null && (p = new X(p.array.slice(), p.itemSize, p.normalized));
1190
1190
  for (let G = 0, M = k.length; G < M; G++) {
1191
1191
  const b = k[G];
@@ -1201,40 +1201,40 @@ class Wa {
1201
1201
  * @return {Promise<THREE.Texture|null>}
1202
1202
  */
1203
1203
  loadTexture(A) {
1204
- const e = this.json, a = this.options, s = e.textures[A].source, i = e.images[s];
1204
+ const e = this.json, a = this.options, i = e.textures[A].source, s = e.images[i];
1205
1205
  let o = this.textureLoader;
1206
- if (i.uri) {
1207
- const r = a.manager.getHandler(i.uri);
1206
+ if (s.uri) {
1207
+ const r = a.manager.getHandler(s.uri);
1208
1208
  r !== null && (o = r);
1209
1209
  }
1210
- return this.loadTextureImage(A, s, o);
1210
+ return this.loadTextureImage(A, i, o);
1211
1211
  }
1212
1212
  loadTextureImage(A, e, a) {
1213
- const t = this, s = this.json, i = s.textures[A], o = s.images[e], r = (o.uri || o.bufferView) + ":" + i.sampler;
1213
+ const t = this, i = this.json, s = i.textures[A], o = i.images[e], r = (o.uri || o.bufferView) + ":" + s.sampler;
1214
1214
  if (this.textureCache[r])
1215
1215
  return this.textureCache[r];
1216
1216
  const c = this.loadImageSource(e, a).then(function(I) {
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);
1218
- const B = (s.samplers || {})[i.sampler] || {};
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;
1217
+ I.flipY = !1, I.name = s.name || o.name || "", I.name === "" && typeof o.uri == "string" && o.uri.startsWith("data:image/") === !1 && (I.name = o.uri);
1218
+ const B = (i.samplers || {})[s.sampler] || {};
1219
+ return I.magFilter = we[B.magFilter] || GA, I.minFilter = we[B.minFilter] || se, I.wrapS = De[B.wrapS] || xA, I.wrapT = De[B.wrapT] || xA, t.associations.set(I, { textures: A }), I;
1220
1220
  }).catch(function() {
1221
1221
  return null;
1222
1222
  });
1223
1223
  return this.textureCache[r] = c, c;
1224
1224
  }
1225
1225
  loadImageSource(A, e) {
1226
- const a = this, t = this.json, s = this.options;
1226
+ const a = this, t = this.json, i = this.options;
1227
1227
  if (this.sourceCache[A] !== void 0)
1228
1228
  return this.sourceCache[A].then((g) => g.clone());
1229
- const i = t.images[A], o = self.URL || self.webkitURL;
1230
- let r = i.uri || "", c = !1;
1231
- if (i.bufferView !== void 0)
1232
- r = a.getDependency("bufferView", i.bufferView).then(function(g) {
1229
+ const s = t.images[A], o = self.URL || self.webkitURL;
1230
+ let r = s.uri || "", c = !1;
1231
+ if (s.bufferView !== void 0)
1232
+ r = a.getDependency("bufferView", s.bufferView).then(function(g) {
1233
1233
  c = !0;
1234
- const B = new Blob([g], { type: i.mimeType });
1234
+ const B = new Blob([g], { type: s.mimeType });
1235
1235
  return r = o.createObjectURL(B), r;
1236
1236
  });
1237
- else if (i.uri === void 0)
1237
+ else if (s.uri === void 0)
1238
1238
  throw new Error("THREE.GLTFLoader: Image " + A + " is missing URI and bufferView");
1239
1239
  const I = Promise.resolve(r).then(function(g) {
1240
1240
  return new Promise(function(B, C) {
@@ -1242,10 +1242,10 @@ class Wa {
1242
1242
  e.isImageBitmapLoader === !0 && (f = function(d) {
1243
1243
  const p = new fe(d);
1244
1244
  p.needsUpdate = !0, B(p);
1245
- }), e.load(mA.resolveURL(g, s.path), f, void 0, C);
1245
+ }), e.load(mA.resolveURL(g, i.path), f, void 0, C);
1246
1246
  });
1247
1247
  }).then(function(g) {
1248
- return c === !0 && o.revokeObjectURL(r), tA(g, i), g.userData.mimeType = i.mimeType || Pa(i.uri), g;
1248
+ return c === !0 && o.revokeObjectURL(r), tA(g, s), g.userData.mimeType = s.mimeType || Pa(s.uri), g;
1249
1249
  }).catch(function(g) {
1250
1250
  throw console.error("THREE.GLTFLoader: Couldn't load texture", r), g;
1251
1251
  });
@@ -1259,17 +1259,17 @@ class Wa {
1259
1259
  * @return {Promise<Texture>}
1260
1260
  */
1261
1261
  assignTexture(A, e, a, t) {
1262
- const s = this;
1263
- return this.getDependency("texture", a.index).then(function(i) {
1264
- if (!i) return null;
1265
- if (a.texCoord !== void 0 && a.texCoord > 0 && (i = i.clone(), i.channel = a.texCoord), s.extensions[y.KHR_TEXTURE_TRANSFORM]) {
1262
+ const i = this;
1263
+ return this.getDependency("texture", a.index).then(function(s) {
1264
+ if (!s) return null;
1265
+ if (a.texCoord !== void 0 && a.texCoord > 0 && (s = s.clone(), s.channel = a.texCoord), i.extensions[y.KHR_TEXTURE_TRANSFORM]) {
1266
1266
  const o = a.extensions !== void 0 ? a.extensions[y.KHR_TEXTURE_TRANSFORM] : void 0;
1267
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);
1268
+ const r = i.associations.get(s);
1269
+ s = i.extensions[y.KHR_TEXTURE_TRANSFORM].extendTexture(s, o), i.associations.set(s, r);
1270
1270
  }
1271
1271
  }
1272
- return t !== void 0 && (i.colorSpace = t), A[e] = i, i;
1272
+ return t !== void 0 && (s.colorSpace = t), A[e] = s, s;
1273
1273
  });
1274
1274
  }
1275
1275
  /**
@@ -1283,7 +1283,7 @@ class Wa {
1283
1283
  assignFinalMaterial(A) {
1284
1284
  const e = A.geometry;
1285
1285
  let a = A.material;
1286
- const t = e.attributes.tangent === void 0, s = e.attributes.color !== void 0, i = e.attributes.normal === void 0;
1286
+ const t = e.attributes.tangent === void 0, i = e.attributes.color !== void 0, s = e.attributes.normal === void 0;
1287
1287
  if (A.isPoints) {
1288
1288
  const o = "PointsMaterial:" + a.uuid;
1289
1289
  let r = this.cache.get(o);
@@ -1293,11 +1293,11 @@ class Wa {
1293
1293
  let r = this.cache.get(o);
1294
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;
1295
1295
  }
1296
- if (t || s || i) {
1296
+ if (t || i || s) {
1297
1297
  let o = "ClonedMaterial:" + a.uuid + ":";
1298
- t && (o += "derivative-tangents:"), s && (o += "vertex-colors:"), i && (o += "flat-shading:");
1298
+ t && (o += "derivative-tangents:"), i && (o += "vertex-colors:"), s && (o += "flat-shading:");
1299
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;
1300
+ r || (r = a.clone(), i && (r.vertexColors = !0), s && (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;
1301
1301
  }
1302
1302
  A.material = a;
1303
1303
  }
@@ -1310,37 +1310,37 @@ class Wa {
1310
1310
  * @return {Promise<Material>}
1311
1311
  */
1312
1312
  loadMaterial(A) {
1313
- const e = this, a = this.json, t = this.extensions, s = a.materials[A];
1314
- let i;
1315
- const o = {}, r = s.extensions || {}, c = [];
1313
+ const e = this, a = this.json, t = this.extensions, i = a.materials[A];
1314
+ let s;
1315
+ const o = {}, r = i.extensions || {}, c = [];
1316
1316
  if (r[y.KHR_MATERIALS_UNLIT]) {
1317
1317
  const g = t[y.KHR_MATERIALS_UNLIT];
1318
- i = g.getMaterialType(), c.push(g.extendParams(o, s, e));
1318
+ s = g.getMaterialType(), c.push(g.extendParams(o, i, e));
1319
1319
  } else {
1320
- const g = s.pbrMetallicRoughness || {};
1320
+ const g = i.pbrMetallicRoughness || {};
1321
1321
  if (o.color = new rA(1, 1, 1), o.opacity = 1, Array.isArray(g.baseColorFactor)) {
1322
1322
  const B = g.baseColorFactor;
1323
1323
  o.color.setRGB(B[0], B[1], B[2], Y), o.opacity = B[3];
1324
1324
  }
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) {
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))), s = this._invokeOne(function(B) {
1326
1326
  return B.getMaterialType && B.getMaterialType(A);
1327
1327
  }), c.push(Promise.all(this._invokeAll(function(B) {
1328
1328
  return B.extendMaterialParams && B.extendMaterialParams(A, o);
1329
1329
  })));
1330
1330
  }
1331
- s.doubleSided === !0 && (o.side = St);
1332
- const I = s.alphaMode || _A.OPAQUE;
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)) {
1334
- const g = s.normalTexture.scale;
1331
+ i.doubleSided === !0 && (o.side = St);
1332
+ const I = i.alphaMode || _A.OPAQUE;
1333
+ if (I === _A.BLEND ? (o.transparent = !0, o.depthWrite = !1) : (o.transparent = !1, I === _A.MASK && (o.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && s !== hA && (c.push(e.assignTexture(o, "normalMap", i.normalTexture)), o.normalScale = new SA(1, 1), i.normalTexture.scale !== void 0)) {
1334
+ const g = i.normalTexture.scale;
1335
1335
  o.normalScale.set(g, g);
1336
1336
  }
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) {
1338
- const g = s.emissiveFactor;
1337
+ if (i.occlusionTexture !== void 0 && s !== hA && (c.push(e.assignTexture(o, "aoMap", i.occlusionTexture)), i.occlusionTexture.strength !== void 0 && (o.aoMapIntensity = i.occlusionTexture.strength)), i.emissiveFactor !== void 0 && s !== hA) {
1338
+ const g = i.emissiveFactor;
1339
1339
  o.emissive = new rA().setRGB(g[0], g[1], g[2], Y);
1340
1340
  }
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);
1343
- return s.name && (g.name = s.name), tA(g, s), e.associations.set(g, { materials: A }), s.extensions && gA(t, g, s), g;
1341
+ return i.emissiveTexture !== void 0 && s !== hA && c.push(e.assignTexture(o, "emissiveMap", i.emissiveTexture, AA)), Promise.all(c).then(function() {
1342
+ const g = new s(o);
1343
+ return i.name && (g.name = i.name), tA(g, i), e.associations.set(g, { materials: A }), i.extensions && gA(t, g, i), g;
1344
1344
  });
1345
1345
  }
1346
1346
  /** When Object3D instances are targeted by animation, they need unique names. */
@@ -1358,22 +1358,22 @@ class Wa {
1358
1358
  */
1359
1359
  loadGeometries(A) {
1360
1360
  const e = this, a = this.extensions, t = this.primitiveCache;
1361
- function s(o) {
1361
+ function i(o) {
1362
1362
  return a[y.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(o, e).then(function(r) {
1363
1363
  return ke(r, o, e);
1364
1364
  });
1365
1365
  }
1366
- const i = [];
1366
+ const s = [];
1367
1367
  for (let o = 0, r = A.length; o < r; o++) {
1368
1368
  const c = A[o], I = Ka(c), g = t[I];
1369
1369
  if (g)
1370
- i.push(g.promise);
1370
+ s.push(g.promise);
1371
1371
  else {
1372
1372
  let B;
1373
- c.extensions && c.extensions[y.KHR_DRACO_MESH_COMPRESSION] ? B = s(c) : B = ke(new ne(), c, e), t[I] = { primitive: c, promise: B }, i.push(B);
1373
+ c.extensions && c.extensions[y.KHR_DRACO_MESH_COMPRESSION] ? B = i(c) : B = ke(new ne(), c, e), t[I] = { primitive: c, promise: B }, s.push(B);
1374
1374
  }
1375
1375
  }
1376
- return Promise.all(i);
1376
+ return Promise.all(s);
1377
1377
  }
1378
1378
  /**
1379
1379
  * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#meshes
@@ -1381,19 +1381,19 @@ class Wa {
1381
1381
  * @return {Promise<Group|Mesh|SkinnedMesh>}
1382
1382
  */
1383
1383
  loadMesh(A) {
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);
1384
+ const e = this, a = this.json, t = this.extensions, i = a.meshes[A], s = i.primitives, o = [];
1385
+ for (let r = 0, c = s.length; r < c; r++) {
1386
+ const I = s[r].material === void 0 ? va(this.cache) : this.getDependency("material", s[r].material);
1387
1387
  o.push(I);
1388
1388
  }
1389
- return o.push(e.loadGeometries(i)), Promise.all(o).then(function(r) {
1389
+ return o.push(e.loadGeometries(s)), Promise.all(o).then(function(r) {
1390
1390
  const c = r.slice(0, r.length - 1), I = r[r.length - 1], g = [];
1391
1391
  for (let C = 0, f = I.length; C < f; C++) {
1392
- const d = I[C], p = i[C];
1392
+ const d = I[C], p = s[C];
1393
1393
  let E;
1394
1394
  const l = c[C];
1395
1395
  if (p.mode === O.TRIANGLES || p.mode === O.TRIANGLE_STRIP || p.mode === O.TRIANGLE_FAN || p.mode === void 0)
1396
- E = s.isSkinnedMesh === !0 ? new Gt(d, l) : new Me(d, l), E.isSkinnedMesh === !0 && E.normalizeSkinWeights(), p.mode === O.TRIANGLE_STRIP ? E.geometry = ue(E.geometry, Ge) : p.mode === O.TRIANGLE_FAN && (E.geometry = ue(E.geometry, XA));
1396
+ E = i.isSkinnedMesh === !0 ? new Gt(d, l) : new Me(d, l), E.isSkinnedMesh === !0 && E.normalizeSkinWeights(), p.mode === O.TRIANGLE_STRIP ? E.geometry = ue(E.geometry, Ge) : p.mode === O.TRIANGLE_FAN && (E.geometry = ue(E.geometry, XA));
1397
1397
  else if (p.mode === O.LINES)
1398
1398
  E = new xt(d, l);
1399
1399
  else if (p.mode === O.LINE_STRIP)
@@ -1404,7 +1404,7 @@ class Wa {
1404
1404
  E = new Mt(d, l);
1405
1405
  else
1406
1406
  throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + p.mode);
1407
- Object.keys(E.geometry.morphAttributes).length > 0 && ja(E, s), E.name = e.createUniqueName(s.name || "mesh_" + A), tA(E, s), p.extensions && gA(t, E, p), e.assignFinalMaterial(E), g.push(E);
1407
+ Object.keys(E.geometry.morphAttributes).length > 0 && ja(E, i), E.name = e.createUniqueName(i.name || "mesh_" + A), tA(E, i), p.extensions && gA(t, E, p), e.assignFinalMaterial(E), g.push(E);
1408
1408
  }
1409
1409
  for (let C = 0, f = g.length; C < f; C++)
1410
1410
  e.associations.set(g[C], {
@@ -1412,9 +1412,9 @@ class Wa {
1412
1412
  primitives: C
1413
1413
  });
1414
1414
  if (g.length === 1)
1415
- return s.extensions && gA(t, g[0], s), g[0];
1415
+ return i.extensions && gA(t, g[0], i), g[0];
1416
1416
  const B = new kA();
1417
- s.extensions && gA(t, B, s), e.associations.set(B, { meshes: A });
1417
+ i.extensions && gA(t, B, i), e.associations.set(B, { meshes: A });
1418
1418
  for (let C = 0, f = g.length; C < f; C++)
1419
1419
  B.add(g[C]);
1420
1420
  return B;
@@ -1441,16 +1441,16 @@ class Wa {
1441
1441
  */
1442
1442
  loadSkin(A) {
1443
1443
  const e = this.json.skins[A], a = [];
1444
- for (let t = 0, s = e.joints.length; t < s; t++)
1444
+ for (let t = 0, i = e.joints.length; t < i; t++)
1445
1445
  a.push(this._loadNodeShallow(e.joints[t]));
1446
1446
  return e.inverseBindMatrices !== void 0 ? a.push(this.getDependency("accessor", e.inverseBindMatrices)) : a.push(null), Promise.all(a).then(function(t) {
1447
- const s = t.pop(), i = t, o = [], r = [];
1448
- for (let c = 0, I = i.length; c < I; c++) {
1449
- const g = i[c];
1447
+ const i = t.pop(), s = t, o = [], r = [];
1448
+ for (let c = 0, I = s.length; c < I; c++) {
1449
+ const g = s[c];
1450
1450
  if (g) {
1451
1451
  o.push(g);
1452
1452
  const B = new yA();
1453
- s !== null && B.fromArray(s.array, c * 16), r.push(B);
1453
+ i !== null && B.fromArray(i.array, c * 16), r.push(B);
1454
1454
  } else
1455
1455
  console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', e.joints[c]);
1456
1456
  }
@@ -1463,13 +1463,13 @@ class Wa {
1463
1463
  * @return {Promise<AnimationClip>}
1464
1464
  */
1465
1465
  loadAnimation(A) {
1466
- const e = this.json, a = this, t = e.animations[A], s = t.name ? t.name : "animation_" + A, i = [], o = [], r = [], c = [], I = [];
1466
+ const e = this.json, a = this, t = e.animations[A], i = t.name ? t.name : "animation_" + A, s = [], o = [], r = [], c = [], I = [];
1467
1467
  for (let g = 0, B = t.channels.length; g < B; g++) {
1468
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;
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));
1469
+ d.node !== void 0 && (s.push(this.getDependency("node", p)), o.push(this.getDependency("accessor", E)), r.push(this.getDependency("accessor", l)), c.push(f), I.push(d));
1470
1470
  }
1471
1471
  return Promise.all([
1472
- Promise.all(i),
1472
+ Promise.all(s),
1473
1473
  Promise.all(o),
1474
1474
  Promise.all(r),
1475
1475
  Promise.all(c),
@@ -1485,18 +1485,18 @@ class Wa {
1485
1485
  for (let Q = 0; Q < b.length; Q++)
1486
1486
  E.push(b[Q]);
1487
1487
  }
1488
- return new Ht(s, void 0, E);
1488
+ return new Ht(i, void 0, E);
1489
1489
  });
1490
1490
  }
1491
1491
  createNodeMesh(A) {
1492
1492
  const e = this.json, a = this, t = e.nodes[A];
1493
- return t.mesh === void 0 ? null : a.getDependency("mesh", t.mesh).then(function(s) {
1494
- const i = a._getNodeRef(a.meshCache, t.mesh, s);
1495
- return t.weights !== void 0 && i.traverse(function(o) {
1493
+ return t.mesh === void 0 ? null : a.getDependency("mesh", t.mesh).then(function(i) {
1494
+ const s = a._getNodeRef(a.meshCache, t.mesh, i);
1495
+ return t.weights !== void 0 && s.traverse(function(o) {
1496
1496
  if (o.isMesh)
1497
1497
  for (let r = 0, c = t.weights.length; r < c; r++)
1498
1498
  o.morphTargetInfluences[r] = t.weights[r];
1499
- }), i;
1499
+ }), s;
1500
1500
  });
1501
1501
  }
1502
1502
  /**
@@ -1505,13 +1505,13 @@ class Wa {
1505
1505
  * @return {Promise<Object3D>}
1506
1506
  */
1507
1507
  loadNode(A) {
1508
- const e = this.json, a = this, t = e.nodes[A], s = a._loadNodeShallow(A), i = [], o = t.children || [];
1508
+ const e = this.json, a = this, t = e.nodes[A], i = a._loadNodeShallow(A), s = [], o = t.children || [];
1509
1509
  for (let c = 0, I = o.length; c < I; c++)
1510
- i.push(a.getDependency("node", o[c]));
1510
+ s.push(a.getDependency("node", o[c]));
1511
1511
  const r = t.skin === void 0 ? Promise.resolve(null) : a.getDependency("skin", t.skin);
1512
1512
  return Promise.all([
1513
- s,
1514
- Promise.all(i),
1513
+ i,
1514
+ Promise.all(s),
1515
1515
  r
1516
1516
  ]).then(function(c) {
1517
1517
  const I = c[0], g = c[1], B = c[2];
@@ -1529,25 +1529,25 @@ class Wa {
1529
1529
  const e = this.json, a = this.extensions, t = this;
1530
1530
  if (this.nodeCache[A] !== void 0)
1531
1531
  return this.nodeCache[A];
1532
- const s = e.nodes[A], i = s.name ? t.createUniqueName(s.name) : "", o = [], r = t._invokeOne(function(c) {
1532
+ const i = e.nodes[A], s = i.name ? t.createUniqueName(i.name) : "", o = [], r = t._invokeOne(function(c) {
1533
1533
  return c.createNodeMesh && c.createNodeMesh(A);
1534
1534
  });
1535
- return r && o.push(r), s.camera !== void 0 && o.push(t.getDependency("camera", s.camera).then(function(c) {
1536
- return t._getNodeRef(t.cameraCache, s.camera, c);
1535
+ return r && o.push(r), i.camera !== void 0 && o.push(t.getDependency("camera", i.camera).then(function(c) {
1536
+ return t._getNodeRef(t.cameraCache, i.camera, c);
1537
1537
  })), t._invokeAll(function(c) {
1538
1538
  return c.createNodeAttachment && c.createNodeAttachment(A);
1539
1539
  }).forEach(function(c) {
1540
1540
  o.push(c);
1541
1541
  }), this.nodeCache[A] = Promise.all(o).then(function(c) {
1542
1542
  let I;
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])
1543
+ if (i.isBone === !0 ? I = new Ot() : c.length > 1 ? I = new kA() : c.length === 1 ? I = c[0] : I = new ie(), I !== c[0])
1544
1544
  for (let g = 0, B = c.length; g < B; g++)
1545
1545
  I.add(c[g]);
1546
- if (s.name && (I.userData.name = s.name, I.name = i), tA(I, s), s.extensions && gA(a, I, s), s.matrix !== void 0) {
1546
+ if (i.name && (I.userData.name = i.name, I.name = s), tA(I, i), i.extensions && gA(a, I, i), i.matrix !== void 0) {
1547
1547
  const g = new yA();
1548
- g.fromArray(s.matrix), I.applyMatrix4(g);
1548
+ g.fromArray(i.matrix), I.applyMatrix4(g);
1549
1549
  } else
1550
- s.translation !== void 0 && I.position.fromArray(s.translation), s.rotation !== void 0 && I.quaternion.fromArray(s.rotation), s.scale !== void 0 && I.scale.fromArray(s.scale);
1550
+ i.translation !== void 0 && I.position.fromArray(i.translation), i.rotation !== void 0 && I.quaternion.fromArray(i.rotation), i.scale !== void 0 && I.scale.fromArray(i.scale);
1551
1551
  return t.associations.has(I) || t.associations.set(I, {}), t.associations.get(I).nodes = A, I;
1552
1552
  }), this.nodeCache[A];
1553
1553
  }
@@ -1557,14 +1557,14 @@ class Wa {
1557
1557
  * @return {Promise<Group>}
1558
1558
  */
1559
1559
  loadScene(A) {
1560
- const e = this.extensions, a = this.json.scenes[A], t = this, s = new kA();
1561
- a.name && (s.name = t.createUniqueName(a.name)), tA(s, a), a.extensions && gA(e, s, a);
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]));
1560
+ const e = this.extensions, a = this.json.scenes[A], t = this, i = new kA();
1561
+ a.name && (i.name = t.createUniqueName(a.name)), tA(i, a), a.extensions && gA(e, i, a);
1562
+ const s = a.nodes || [], o = [];
1563
+ for (let r = 0, c = s.length; r < c; r++)
1564
+ o.push(t.getDependency("node", s[r]));
1565
1565
  return Promise.all(o).then(function(r) {
1566
1566
  for (let I = 0, g = r.length; I < g; I++)
1567
- s.add(r[I]);
1567
+ i.add(r[I]);
1568
1568
  const c = (I) => {
1569
1569
  const g = /* @__PURE__ */ new Map();
1570
1570
  for (const [B, C] of t.associations)
@@ -1574,24 +1574,24 @@ class Wa {
1574
1574
  C != null && g.set(B, C);
1575
1575
  }), g;
1576
1576
  };
1577
- return t.associations = c(s), s;
1577
+ return t.associations = c(i), i;
1578
1578
  });
1579
1579
  }
1580
- _createAnimationTracks(A, e, a, t, s) {
1581
- const i = [], o = A.name ? A.name : A.uuid, r = [];
1582
- iA[s.path] === iA.weights ? A.traverse(function(B) {
1580
+ _createAnimationTracks(A, e, a, t, i) {
1581
+ const s = [], o = A.name ? A.name : A.uuid, r = [];
1582
+ sA[i.path] === sA.weights ? A.traverse(function(B) {
1583
1583
  B.morphTargetInfluences && r.push(B.name ? B.name : B.uuid);
1584
1584
  }) : r.push(o);
1585
1585
  let c;
1586
- switch (iA[s.path]) {
1587
- case iA.weights:
1586
+ switch (sA[i.path]) {
1587
+ case sA.weights:
1588
1588
  c = Qe;
1589
1589
  break;
1590
- case iA.rotation:
1590
+ case sA.rotation:
1591
1591
  c = de;
1592
1592
  break;
1593
- case iA.position:
1594
- case iA.scale:
1593
+ case sA.position:
1594
+ case sA.scale:
1595
1595
  c = Ee;
1596
1596
  break;
1597
1597
  default:
@@ -1610,21 +1610,21 @@ class Wa {
1610
1610
  const I = t.interpolation !== void 0 ? Oa[t.interpolation] : Ne, g = this._getArrayFromAccessor(a);
1611
1611
  for (let B = 0, C = r.length; B < C; B++) {
1612
1612
  const f = new c(
1613
- r[B] + "." + iA[s.path],
1613
+ r[B] + "." + sA[i.path],
1614
1614
  e.array,
1615
1615
  g,
1616
1616
  I
1617
1617
  );
1618
- t.interpolation === "CUBICSPLINE" && this._createCubicSplineTrackInterpolant(f), i.push(f);
1618
+ t.interpolation === "CUBICSPLINE" && this._createCubicSplineTrackInterpolant(f), s.push(f);
1619
1619
  }
1620
- return i;
1620
+ return s;
1621
1621
  }
1622
1622
  _getArrayFromAccessor(A) {
1623
1623
  let e = A.array;
1624
1624
  if (A.normalized) {
1625
1625
  const a = $A(e.constructor), t = new Float32Array(e.length);
1626
- for (let s = 0, i = e.length; s < i; s++)
1627
- t[s] = e[s] * a;
1626
+ for (let i = 0, s = e.length; i < s; i++)
1627
+ t[i] = e[i] * a;
1628
1628
  e = t;
1629
1629
  }
1630
1630
  return e;
@@ -1654,11 +1654,11 @@ function Va(n, A, e) {
1654
1654
  }
1655
1655
  } else
1656
1656
  return;
1657
- const s = A.targets;
1658
- if (s !== void 0) {
1657
+ const i = A.targets;
1658
+ if (i !== void 0) {
1659
1659
  const o = new CA(), r = new CA();
1660
- for (let c = 0, I = s.length; c < I; c++) {
1661
- const g = s[c];
1660
+ for (let c = 0, I = i.length; c < I; c++) {
1661
+ const g = i[c];
1662
1662
  if (g.POSITION !== void 0) {
1663
1663
  const B = e.json.accessors[g.POSITION], C = B.min, f = B.max;
1664
1664
  if (C !== void 0 && f !== void 0) {
@@ -1674,25 +1674,25 @@ function Va(n, A, e) {
1674
1674
  t.expandByVector(o);
1675
1675
  }
1676
1676
  n.boundingBox = t;
1677
- const i = new Vt();
1678
- t.getCenter(i.center), i.radius = t.min.distanceTo(t.max) / 2, n.boundingSphere = i;
1677
+ const s = new Vt();
1678
+ t.getCenter(s.center), s.radius = t.min.distanceTo(t.max) / 2, n.boundingSphere = s;
1679
1679
  }
1680
1680
  function ke(n, A, e) {
1681
1681
  const a = A.attributes, t = [];
1682
- function s(i, o) {
1683
- return e.getDependency("accessor", i).then(function(r) {
1682
+ function i(s, o) {
1683
+ return e.getDependency("accessor", s).then(function(r) {
1684
1684
  n.setAttribute(o, r);
1685
1685
  });
1686
1686
  }
1687
- for (const i in a) {
1688
- const o = ZA[i] || i.toLowerCase();
1689
- o in n.attributes || t.push(s(a[i], o));
1687
+ for (const s in a) {
1688
+ const o = ZA[s] || s.toLowerCase();
1689
+ o in n.attributes || t.push(i(a[s], o));
1690
1690
  }
1691
1691
  if (A.indices !== void 0 && !n.index) {
1692
- const i = e.getDependency("accessor", A.indices).then(function(o) {
1692
+ const s = e.getDependency("accessor", A.indices).then(function(o) {
1693
1693
  n.setIndex(o);
1694
1694
  });
1695
- t.push(i);
1695
+ t.push(s);
1696
1696
  }
1697
1697
  return le.workingColorSpace !== Y && "COLOR_0" in a && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${le.workingColorSpace}" not supported.`), tA(n, A), Va(n, A, e), Promise.all(t).then(function() {
1698
1698
  return A.targets !== void 0 ? Ja(n, A.targets, e) : n;
@@ -1723,24 +1723,24 @@ class za extends TA {
1723
1723
  return this.workerLimit = A, this;
1724
1724
  }
1725
1725
  load(A, e, a, t) {
1726
- const s = new aA(this.manager);
1727
- s.setPath(this.path), s.setResponseType("arraybuffer"), s.setRequestHeader(this.requestHeader), s.setWithCredentials(this.withCredentials), s.load(A, (i) => {
1728
- this.parse(i, e, t);
1726
+ const i = new aA(this.manager);
1727
+ i.setPath(this.path), i.setResponseType("arraybuffer"), i.setRequestHeader(this.requestHeader), i.setWithCredentials(this.withCredentials), i.load(A, (s) => {
1728
+ this.parse(s, e, t);
1729
1729
  }, a, t);
1730
1730
  }
1731
1731
  parse(A, e, a = () => {
1732
1732
  }) {
1733
1733
  this.decodeDracoFile(A, e, null, null, AA, a).catch(a);
1734
1734
  }
1735
- decodeDracoFile(A, e, a, t, s = Y, i = () => {
1735
+ decodeDracoFile(A, e, a, t, i = Y, s = () => {
1736
1736
  }) {
1737
1737
  const o = {
1738
1738
  attributeIDs: a || this.defaultAttributeIDs,
1739
1739
  attributeTypes: t || this.defaultAttributeTypes,
1740
1740
  useUniqueIDs: !!a,
1741
- vertexColorSpace: s
1741
+ vertexColorSpace: i
1742
1742
  };
1743
- return this.decodeGeometry(A, o).then(e).catch(i);
1743
+ return this.decodeGeometry(A, o).then(e).catch(s);
1744
1744
  }
1745
1745
  decodeGeometry(A, e) {
1746
1746
  const a = JSON.stringify(e);
@@ -1754,11 +1754,11 @@ class za extends TA {
1754
1754
  );
1755
1755
  }
1756
1756
  let t;
1757
- const s = this.workerNextTaskID++, i = A.byteLength, o = this._getWorker(s, i).then((r) => (t = r, new Promise((c, I) => {
1758
- t._callbacks[s] = { resolve: c, reject: I }, t.postMessage({ type: "decode", id: s, taskConfig: e, buffer: A }, [A]);
1757
+ const i = this.workerNextTaskID++, s = A.byteLength, o = this._getWorker(i, s).then((r) => (t = r, new Promise((c, I) => {
1758
+ t._callbacks[i] = { resolve: c, reject: I }, t.postMessage({ type: "decode", id: i, taskConfig: e, buffer: A }, [A]);
1759
1759
  }))).then((r) => this._createGeometry(r.geometry));
1760
1760
  return o.catch(() => !0).then(() => {
1761
- t && s && this._releaseTask(t, s);
1761
+ t && i && this._releaseTask(t, i);
1762
1762
  }), HA.set(A, {
1763
1763
  key: a,
1764
1764
  promise: o
@@ -1768,21 +1768,21 @@ class za extends TA {
1768
1768
  const e = new ne();
1769
1769
  A.index && e.setIndex(new X(A.index.array, 1));
1770
1770
  for (let a = 0; a < A.attributes.length; a++) {
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);
1771
+ const t = A.attributes[a], i = t.name, s = t.array, o = t.itemSize, r = new X(s, o);
1772
+ i === "color" && (this._assignVertexColorSpace(r, t.vertexColorSpace), r.normalized = !(s instanceof Float32Array)), e.setAttribute(i, r);
1773
1773
  }
1774
1774
  return e;
1775
1775
  }
1776
1776
  _assignVertexColorSpace(A, e) {
1777
1777
  if (e !== AA) return;
1778
1778
  const a = new rA();
1779
- for (let t = 0, s = A.count; t < s; t++)
1779
+ for (let t = 0, i = A.count; t < i; t++)
1780
1780
  a.fromBufferAttribute(A, t).convertSRGBToLinear(), A.setXYZ(t, a.r, a.g, a.b);
1781
1781
  }
1782
1782
  _loadLibrary(A, e) {
1783
1783
  const a = new aA(this.manager);
1784
- return a.setPath(this.decoderPath), a.setResponseType(e), a.setWithCredentials(this.withCredentials), new Promise((t, s) => {
1785
- a.load(A, t, void 0, s);
1784
+ return a.setPath(this.decoderPath), a.setResponseType(e), a.setWithCredentials(this.withCredentials), new Promise((t, i) => {
1785
+ a.load(A, t, void 0, i);
1786
1786
  });
1787
1787
  }
1788
1788
  preload() {
@@ -1794,37 +1794,37 @@ class za extends TA {
1794
1794
  return A ? e.push(this._loadLibrary("draco_decoder.js", "text")) : (e.push(this._loadLibrary("draco_wasm_wrapper.js", "text")), e.push(this._loadLibrary("draco_decoder.wasm", "arraybuffer"))), this.decoderPending = Promise.all(e).then((a) => {
1795
1795
  const t = a[0];
1796
1796
  A || (this.decoderConfig.wasmBinary = a[1]);
1797
- const s = Xa.toString(), i = [
1797
+ const i = Xa.toString(), s = [
1798
1798
  "/* draco decoder */",
1799
1799
  t,
1800
1800
  "",
1801
1801
  "/* worker */",
1802
- s.substring(s.indexOf("{") + 1, s.lastIndexOf("}"))
1802
+ i.substring(i.indexOf("{") + 1, i.lastIndexOf("}"))
1803
1803
  ].join(`
1804
1804
  `);
1805
- this.workerSourceURL = URL.createObjectURL(new Blob([i]));
1805
+ this.workerSourceURL = URL.createObjectURL(new Blob([s]));
1806
1806
  }), this.decoderPending;
1807
1807
  }
1808
1808
  _getWorker(A, e) {
1809
1809
  return this._initDecoder().then(() => {
1810
1810
  if (this.workerPool.length < this.workerLimit) {
1811
1811
  const t = new Worker(this.workerSourceURL);
1812
- t._callbacks = {}, t._taskCosts = {}, t._taskLoad = 0, t.postMessage({ type: "init", decoderConfig: this.decoderConfig }), t.onmessage = function(s) {
1813
- const i = s.data;
1814
- switch (i.type) {
1812
+ t._callbacks = {}, t._taskCosts = {}, t._taskLoad = 0, t.postMessage({ type: "init", decoderConfig: this.decoderConfig }), t.onmessage = function(i) {
1813
+ const s = i.data;
1814
+ switch (s.type) {
1815
1815
  case "decode":
1816
- t._callbacks[i.id].resolve(i);
1816
+ t._callbacks[s.id].resolve(s);
1817
1817
  break;
1818
1818
  case "error":
1819
- t._callbacks[i.id].reject(i);
1819
+ t._callbacks[s.id].reject(s);
1820
1820
  break;
1821
1821
  default:
1822
- console.error('THREE.DRACOLoader: Unexpected message, "' + i.type + '"');
1822
+ console.error('THREE.DRACOLoader: Unexpected message, "' + s.type + '"');
1823
1823
  }
1824
1824
  }, this.workerPool.push(t);
1825
1825
  } else
1826
- this.workerPool.sort(function(t, s) {
1827
- return t._taskLoad > s._taskLoad ? -1 : 1;
1826
+ this.workerPool.sort(function(t, i) {
1827
+ return t._taskLoad > i._taskLoad ? -1 : 1;
1828
1828
  });
1829
1829
  const a = this.workerPool[this.workerPool.length - 1];
1830
1830
  return a._taskCosts[A] = e, a._taskLoad += e, a;
@@ -1844,8 +1844,8 @@ class za extends TA {
1844
1844
  }
1845
1845
  function Xa() {
1846
1846
  let n, A;
1847
- onmessage = function(i) {
1848
- const o = i.data;
1847
+ onmessage = function(s) {
1848
+ const o = s.data;
1849
1849
  switch (o.type) {
1850
1850
  case "init":
1851
1851
  n = o.decoderConfig, A = new Promise(function(I) {
@@ -1870,14 +1870,14 @@ function Xa() {
1870
1870
  break;
1871
1871
  }
1872
1872
  };
1873
- function e(i, o, r, c) {
1873
+ function e(s, o, r, c) {
1874
1874
  const I = c.attributeIDs, g = c.attributeTypes;
1875
1875
  let B, C;
1876
1876
  const f = o.GetEncodedGeometryType(r);
1877
- if (f === i.TRIANGULAR_MESH)
1878
- B = new i.Mesh(), C = o.DecodeArrayToMesh(r, r.byteLength, B);
1879
- else if (f === i.POINT_CLOUD)
1880
- B = new i.PointCloud(), C = o.DecodeArrayToPointCloud(r, r.byteLength, B);
1877
+ if (f === s.TRIANGULAR_MESH)
1878
+ B = new s.Mesh(), C = o.DecodeArrayToMesh(r, r.byteLength, B);
1879
+ else if (f === s.POINT_CLOUD)
1880
+ B = new s.PointCloud(), C = o.DecodeArrayToPointCloud(r, r.byteLength, B);
1881
1881
  else
1882
1882
  throw new Error("THREE.DRACOLoader: Unexpected geometry type.");
1883
1883
  if (!C.ok() || B.ptr === 0)
@@ -1889,46 +1889,46 @@ function Xa() {
1889
1889
  if (c.useUniqueIDs)
1890
1890
  h = I[p], l = o.GetAttributeByUniqueId(B, h);
1891
1891
  else {
1892
- if (h = o.GetAttributeId(B, i[I[p]]), h === -1) continue;
1892
+ if (h = o.GetAttributeId(B, s[I[p]]), h === -1) continue;
1893
1893
  l = o.GetAttribute(B, h);
1894
1894
  }
1895
- const u = t(i, o, B, p, E, l);
1895
+ const u = t(s, o, B, p, E, l);
1896
1896
  p === "color" && (u.vertexColorSpace = c.vertexColorSpace), d.attributes.push(u);
1897
1897
  }
1898
- return f === i.TRIANGULAR_MESH && (d.index = a(i, o, B)), i.destroy(B), d;
1898
+ return f === s.TRIANGULAR_MESH && (d.index = a(s, o, B)), s.destroy(B), d;
1899
1899
  }
1900
- function a(i, o, r) {
1901
- const I = r.num_faces() * 3, g = I * 4, B = i._malloc(g);
1900
+ function a(s, o, r) {
1901
+ const I = r.num_faces() * 3, g = I * 4, B = s._malloc(g);
1902
1902
  o.GetTrianglesUInt32Array(r, g, B);
1903
- const C = new Uint32Array(i.HEAPF32.buffer, B, I).slice();
1904
- return i._free(B), { array: C, itemSize: 1 };
1903
+ const C = new Uint32Array(s.HEAPF32.buffer, B, I).slice();
1904
+ return s._free(B), { array: C, itemSize: 1 };
1905
1905
  }
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);
1906
+ function t(s, o, r, c, I, g) {
1907
+ const B = g.num_components(), f = r.num_points() * B, d = f * I.BYTES_PER_ELEMENT, p = i(s, I), E = s._malloc(d);
1908
1908
  o.GetAttributeDataArrayForAllPoints(r, g, p, d, E);
1909
- const l = new I(i.HEAPF32.buffer, E, f).slice();
1910
- return i._free(E), {
1909
+ const l = new I(s.HEAPF32.buffer, E, f).slice();
1910
+ return s._free(E), {
1911
1911
  name: c,
1912
1912
  array: l,
1913
1913
  itemSize: B
1914
1914
  };
1915
1915
  }
1916
- function s(i, o) {
1916
+ function i(s, o) {
1917
1917
  switch (o) {
1918
1918
  case Float32Array:
1919
- return i.DT_FLOAT32;
1919
+ return s.DT_FLOAT32;
1920
1920
  case Int8Array:
1921
- return i.DT_INT8;
1921
+ return s.DT_INT8;
1922
1922
  case Int16Array:
1923
- return i.DT_INT16;
1923
+ return s.DT_INT16;
1924
1924
  case Int32Array:
1925
- return i.DT_INT32;
1925
+ return s.DT_INT32;
1926
1926
  case Uint8Array:
1927
- return i.DT_UINT8;
1927
+ return s.DT_UINT8;
1928
1928
  case Uint16Array:
1929
- return i.DT_UINT16;
1929
+ return s.DT_UINT16;
1930
1930
  case Uint32Array:
1931
- return i.DT_UINT32;
1931
+ return s.DT_UINT32;
1932
1932
  }
1933
1933
  }
1934
1934
  }
@@ -1950,8 +1950,8 @@ class Za {
1950
1950
  _onMessage(A, e) {
1951
1951
  const a = this.workersResolve[A];
1952
1952
  if (a && a(e), this.queue.length) {
1953
- const { resolve: t, msg: s, transfer: i } = this.queue.shift();
1954
- this.workersResolve[A] = t, this.workers[A].postMessage(s, i);
1953
+ const { resolve: t, msg: i, transfer: s } = this.queue.shift();
1954
+ this.workersResolve[A] = t, this.workers[A].postMessage(i, s);
1955
1955
  } else
1956
1956
  this.workerStatus ^= 1 << A;
1957
1957
  }
@@ -1971,8 +1971,8 @@ class Za {
1971
1971
  this.workers.forEach((A) => A.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
1972
1972
  }
1973
1973
  }
1974
- const $a = 0, Fe = 2, As = 1, Re = 2, es = 0, ts = 1, as = 10, ss = 0, Je = 9, je = 15, Ke = 16, Pe = 22, Ye = 37, We = 43, Ve = 76, ze = 83, Xe = 97, Ze = 100, $e = 103, At = 109, et = 165, tt = 166;
1975
- class is {
1974
+ const $a = 0, Fe = 2, Ai = 1, Re = 2, ei = 0, ti = 1, ai = 10, ii = 0, Je = 9, je = 15, Ke = 16, Pe = 22, Ye = 37, We = 43, Ve = 76, ze = 83, Xe = 97, Ze = 100, $e = 103, At = 109, et = 165, tt = 166;
1975
+ class si {
1976
1976
  constructor() {
1977
1977
  this.vkFormat = 0, this.typeSize = 1, this.pixelWidth = 0, this.pixelHeight = 0, this.pixelDepth = 0, this.layerCount = 0, this.faceCount = 1, this.supercompressionScheme = 0, this.levels = [], this.dataFormatDescriptor = [{ vendorId: 0, descriptorType: 0, descriptorBlockSize: 0, versionNumber: 2, colorModel: 0, colorPrimaries: 1, transferFunction: 2, flags: 0, texelBlockDimension: [0, 0, 0, 0], bytesPlane: [0, 0, 0, 0, 0, 0, 0, 0], samples: [] }], this.keyValue = {}, this.globalData = null;
1978
1978
  }
@@ -2015,16 +2015,16 @@ const U = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
2015
2015
  function Se(n) {
2016
2016
  return typeof TextDecoder < "u" ? new TextDecoder().decode(n) : Buffer.from(n).toString("utf8");
2017
2017
  }
2018
- function ns(n) {
2018
+ function ni(n) {
2019
2019
  const A = new Uint8Array(n.buffer, n.byteOffset, U.length);
2020
2020
  if (A[0] !== U[0] || A[1] !== U[1] || A[2] !== U[2] || A[3] !== U[3] || A[4] !== U[4] || A[5] !== U[5] || A[6] !== U[6] || A[7] !== U[7] || A[8] !== U[8] || A[9] !== U[9] || A[10] !== U[10] || A[11] !== U[11]) throw new Error("Missing KTX 2.0 identifier.");
2021
- const e = new is(), a = 17 * Uint32Array.BYTES_PER_ELEMENT, t = new dA(n, U.length, a, !0);
2021
+ const e = new si(), a = 17 * Uint32Array.BYTES_PER_ELEMENT, t = new dA(n, U.length, a, !0);
2022
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();
2023
- const s = t._nextUint32();
2023
+ const i = t._nextUint32();
2024
2024
  e.supercompressionScheme = t._nextUint32();
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);
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() });
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;
2025
+ const s = t._nextUint32(), o = t._nextUint32(), r = t._nextUint32(), c = t._nextUint32(), I = t._nextUint64(), g = t._nextUint64(), B = new dA(n, U.length + a, 3 * i * 8, !0);
2026
+ for (let T = 0; T < i; T++) e.levels.push({ levelData: new Uint8Array(n.buffer, n.byteOffset + B._nextUint64(), B._nextUint64()), uncompressedByteLength: B._nextUint64() });
2027
+ const C = new dA(n, s, o, !0), f = { vendorId: C._skip(4)._nextUint16(), descriptorType: C._nextUint16(), versionNumber: C._nextUint16(), descriptorBlockSize: C._nextUint16(), colorModel: C._nextUint8(), colorPrimaries: C._nextUint8(), transferFunction: C._nextUint8(), flags: C._nextUint8(), texelBlockDimension: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], bytesPlane: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], samples: [] }, d = (f.descriptorBlockSize / 4 - 6) / 4;
2028
2028
  for (let T = 0; T < d; T++) {
2029
2029
  const N = { bitOffset: C._nextUint16(), bitLength: C._nextUint8(), channelType: C._nextUint8(), samplePosition: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
2030
2030
  64 & N.channelType ? (N.sampleLower = C._nextInt32(), N.sampleUpper = C._nextInt32()) : (N.sampleLower = C._nextUint32(), N.sampleUpper = C._nextUint32()), f.samples[T] = N;
@@ -2037,7 +2037,7 @@ function ns(n) {
2037
2037
  }
2038
2038
  if (g <= 0) return e;
2039
2039
  const E = new dA(n, I, g, !0), l = E._nextUint16(), h = E._nextUint16(), u = E._nextUint32(), k = E._nextUint32(), R = E._nextUint32(), G = E._nextUint32(), M = [];
2040
- for (let T = 0; T < s; T++) M.push({ imageFlags: E._nextUint32(), rgbSliceByteOffset: E._nextUint32(), rgbSliceByteLength: E._nextUint32(), alphaSliceByteOffset: E._nextUint32(), alphaSliceByteLength: E._nextUint32() });
2040
+ for (let T = 0; T < i; T++) M.push({ imageFlags: E._nextUint32(), rgbSliceByteOffset: E._nextUint32(), rgbSliceByteLength: E._nextUint32(), alphaSliceByteOffset: E._nextUint32(), alphaSliceByteLength: E._nextUint32() });
2041
2041
  const b = I + E._offset, Q = b + u, m = Q + k, D = m + R, w = new Uint8Array(n.buffer, n.byteOffset + b, u), S = new Uint8Array(n.buffer, n.byteOffset + Q, k), F = new Uint8Array(n.buffer, n.byteOffset + m, R), x = new Uint8Array(n.buffer, n.byteOffset + D, G);
2042
2042
  return e.globalData = { endpointCount: l, selectorCount: h, imageDescs: M, endpointsData: w, selectorsData: S, tablesData: F, extendedData: x }, e;
2043
2043
  }
@@ -2045,7 +2045,7 @@ let OA, eA, Ae;
2045
2045
  const vA = { env: { emscripten_notify_memory_growth: function(n) {
2046
2046
  Ae = new Uint8Array(eA.exports.memory.buffer);
2047
2047
  } } };
2048
- class os {
2048
+ class oi {
2049
2049
  init() {
2050
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);
2051
2051
  }
@@ -2056,8 +2056,8 @@ class os {
2056
2056
  if (!eA) throw new Error("ZSTDDecoder: Await .init() before decoding.");
2057
2057
  const a = A.byteLength, t = eA.exports.malloc(a);
2058
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;
2059
+ const i = eA.exports.malloc(e), s = eA.exports.ZSTD_decompress(i, e, t, a), o = Ae.slice(i, i + s);
2060
+ return eA.exports.free(t), eA.exports.free(i), o;
2061
2061
  }
2062
2062
  }
2063
2063
  const ye = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+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();
@@ -2108,19 +2108,19 @@ class $ extends TA {
2108
2108
  const e = A.loadAsync("basis_transcoder.js"), a = new aA(this.manager);
2109
2109
  a.setPath(this.transcoderPath), a.setResponseType("arraybuffer"), a.setWithCredentials(this.withCredentials);
2110
2110
  const t = a.loadAsync("basis_transcoder.wasm");
2111
- this.transcoderPending = Promise.all([e, t]).then(([s, i]) => {
2111
+ this.transcoderPending = Promise.all([e, t]).then(([i, s]) => {
2112
2112
  const o = $.BasisWorker.toString(), r = [
2113
2113
  "/* constants */",
2114
2114
  "let _EngineFormat = " + JSON.stringify($.EngineFormat),
2115
2115
  "let _TranscoderFormat = " + JSON.stringify($.TranscoderFormat),
2116
2116
  "let _BasisFormat = " + JSON.stringify($.BasisFormat),
2117
2117
  "/* basis_transcoder.js */",
2118
- s,
2118
+ i,
2119
2119
  "/* worker */",
2120
2120
  o.substring(o.indexOf("{") + 1, o.lastIndexOf("}"))
2121
2121
  ].join(`
2122
2122
  `);
2123
- this.workerSourceURL = URL.createObjectURL(new Blob([r])), this.transcoderBinary = i, this.workerPool.setWorkerCreator(() => {
2123
+ this.workerSourceURL = URL.createObjectURL(new Blob([r])), this.transcoderBinary = s, this.workerPool.setWorkerCreator(() => {
2124
2124
  const c = new Worker(this.workerSourceURL), I = this.transcoderBinary.slice(0);
2125
2125
  return c.postMessage({ type: "init", config: this.workerConfig, transcoderBinary: I }, [I]), c;
2126
2126
  });
@@ -2133,9 +2133,9 @@ class $ extends TA {
2133
2133
  load(A, e, a, t) {
2134
2134
  if (this.workerConfig === null)
2135
2135
  throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");
2136
- const s = new aA(this.manager);
2137
- s.setResponseType("arraybuffer"), s.setWithCredentials(this.withCredentials), s.load(A, (i) => {
2138
- this.parse(i, e, t);
2136
+ const i = new aA(this.manager);
2137
+ i.setResponseType("arraybuffer"), i.setWithCredentials(this.withCredentials), i.load(A, (s) => {
2138
+ this.parse(s, e, t);
2139
2139
  }, a, t);
2140
2140
  }
2141
2141
  parse(A, e, a) {
@@ -2146,16 +2146,16 @@ class $ extends TA {
2146
2146
  this._createTexture(A).then((t) => e ? e(t) : null).catch(a);
2147
2147
  }
2148
2148
  _createTextureFrom(A, e) {
2149
- const { faces: a, width: t, height: s, format: i, type: o, error: r, dfdFlags: c } = A;
2149
+ const { faces: a, width: t, height: i, format: s, type: o, error: r, dfdFlags: c } = A;
2150
2150
  if (o === "error") return Promise.reject(r);
2151
2151
  let I;
2152
2152
  if (e.faceCount === 6)
2153
- I = new Xt(a, i, K);
2153
+ I = new Xt(a, s, K);
2154
2154
  else {
2155
2155
  const g = a[0].mipmaps;
2156
- I = e.layerCount > 1 ? new Zt(g, t, s, e.layerCount, i, K) : new qe(g, t, s, i, K);
2156
+ I = e.layerCount > 1 ? new Zt(g, t, i, e.layerCount, s, K) : new qe(g, t, i, s, K);
2157
2157
  }
2158
- return I.minFilter = a[0].mipmaps.length === 1 ? GA : ie, I.magFilter = GA, I.generateMipmaps = !1, I.needsUpdate = !0, I.colorSpace = at(e), I.premultiplyAlpha = !!(c & As), I;
2158
+ return I.minFilter = a[0].mipmaps.length === 1 ? GA : se, I.magFilter = GA, I.generateMipmaps = !1, I.needsUpdate = !0, I.colorSpace = at(e), I.premultiplyAlpha = !!(c & Ai), I;
2159
2159
  }
2160
2160
  /**
2161
2161
  * @param {ArrayBuffer} buffer
@@ -2163,11 +2163,11 @@ class $ extends TA {
2163
2163
  * @return {Promise<CompressedTexture|CompressedArrayTexture|DataTexture|Data3DTexture>}
2164
2164
  */
2165
2165
  async _createTexture(A, e = {}) {
2166
- const a = ns(new Uint8Array(A));
2167
- if (a.vkFormat !== ss)
2168
- return cs(a);
2169
- const t = e, s = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: A, taskConfig: t }, [A])).then((i) => this._createTextureFrom(i.data, a));
2170
- return JA.set(A, { promise: s }), s;
2166
+ const a = ni(new Uint8Array(A));
2167
+ if (a.vkFormat !== ii)
2168
+ return ci(a);
2169
+ const t = e, i = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: A, taskConfig: t }, [A])).then((s) => this._createTextureFrom(s.data, a));
2170
+ return JA.set(A, { promise: i }), i;
2171
2171
  }
2172
2172
  dispose() {
2173
2173
  return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), jA--, this;
@@ -2203,19 +2203,19 @@ $.EngineFormat = {
2203
2203
  RGBA_ETC2_EAC_Format: ea,
2204
2204
  RGBA_PVRTC_4BPPV1_Format: ta,
2205
2205
  RGBA_S3TC_DXT5_Format: aa,
2206
- RGB_ETC1_Format: sa,
2207
- RGB_ETC2_Format: ia,
2206
+ RGB_ETC1_Format: ia,
2207
+ RGB_ETC2_Format: sa,
2208
2208
  RGB_PVRTC_4BPPV1_Format: na,
2209
2209
  RGBA_S3TC_DXT1_Format: oa
2210
2210
  };
2211
2211
  $.BasisWorker = function() {
2212
2212
  let n, A, e;
2213
- const a = _EngineFormat, t = _TranscoderFormat, s = _BasisFormat;
2213
+ const a = _EngineFormat, t = _TranscoderFormat, i = _BasisFormat;
2214
2214
  self.addEventListener("message", function(f) {
2215
2215
  const d = f.data;
2216
2216
  switch (d.type) {
2217
2217
  case "init":
2218
- n = d.config, i(d.transcoderBinary);
2218
+ n = d.config, s(d.transcoderBinary);
2219
2219
  break;
2220
2220
  case "transcode":
2221
2221
  A.then(() => {
@@ -2229,7 +2229,7 @@ $.BasisWorker = function() {
2229
2229
  break;
2230
2230
  }
2231
2231
  });
2232
- function i(f) {
2232
+ function s(f) {
2233
2233
  A = new Promise((d) => {
2234
2234
  e = { wasmBinary: f, onRuntimeInitialized: d }, BASIS(e);
2235
2235
  }).then(() => {
@@ -2243,7 +2243,7 @@ $.BasisWorker = function() {
2243
2243
  }
2244
2244
  if (!d.isValid())
2245
2245
  throw p(), new Error("THREE.KTX2Loader: Invalid or unsupported .ktx2 file");
2246
- const E = d.isUASTC() ? s.UASTC_4x4 : s.ETC1S, l = d.getWidth(), h = d.getHeight(), u = d.getLayers() || 1, k = d.getLevels(), R = d.getFaces(), G = d.getHasAlpha(), M = d.getDFDFlags(), { transcoderFormat: b, engineFormat: Q } = g(E, l, h, G);
2246
+ const E = d.isUASTC() ? i.UASTC_4x4 : i.ETC1S, l = d.getWidth(), h = d.getHeight(), u = d.getLayers() || 1, k = d.getLevels(), R = d.getFaces(), G = d.getHasAlpha(), M = d.getDFDFlags(), { transcoderFormat: b, engineFormat: Q } = g(E, l, h, G);
2247
2247
  if (!l || !h || !k)
2248
2248
  throw p(), new Error("THREE.KTX2Loader: Invalid texture");
2249
2249
  if (!d.startTranscoding())
@@ -2255,8 +2255,8 @@ $.BasisWorker = function() {
2255
2255
  const x = [];
2256
2256
  let T, N;
2257
2257
  for (let J = 0; J < u; J++) {
2258
- const sA = d.getImageLevelInfo(F, J, w);
2259
- w === 0 && F === 0 && J === 0 && (sA.origWidth % 4 !== 0 || sA.origHeight % 4 !== 0) && console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), k > 1 ? (T = sA.origWidth, N = sA.origHeight) : (T = sA.width, N = sA.height);
2258
+ const iA = d.getImageLevelInfo(F, J, w);
2259
+ w === 0 && F === 0 && J === 0 && (iA.origWidth % 4 !== 0 || iA.origHeight % 4 !== 0) && console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), k > 1 ? (T = iA.origWidth, N = iA.origHeight) : (T = iA.width, N = iA.height);
2260
2260
  const IA = new Uint8Array(d.getImageTranscodedSizeInBytes(F, J, 0, b));
2261
2261
  if (!d.transcodeImage(IA, F, J, w, b, 0, -1, -1))
2262
2262
  throw p(), new Error("THREE.KTX2Loader: .transcodeImage failed.");
@@ -2272,7 +2272,7 @@ $.BasisWorker = function() {
2272
2272
  const r = [
2273
2273
  {
2274
2274
  if: "astcSupported",
2275
- basisFormat: [s.UASTC_4x4],
2275
+ basisFormat: [i.UASTC_4x4],
2276
2276
  transcoderFormat: [t.ASTC_4x4, t.ASTC_4x4],
2277
2277
  engineFormat: [a.RGBA_ASTC_4x4_Format, a.RGBA_ASTC_4x4_Format],
2278
2278
  priorityETC1S: 1 / 0,
@@ -2281,7 +2281,7 @@ $.BasisWorker = function() {
2281
2281
  },
2282
2282
  {
2283
2283
  if: "bptcSupported",
2284
- basisFormat: [s.ETC1S, s.UASTC_4x4],
2284
+ basisFormat: [i.ETC1S, i.UASTC_4x4],
2285
2285
  transcoderFormat: [t.BC7_M5, t.BC7_M5],
2286
2286
  engineFormat: [a.RGBA_BPTC_Format, a.RGBA_BPTC_Format],
2287
2287
  priorityETC1S: 3,
@@ -2290,7 +2290,7 @@ $.BasisWorker = function() {
2290
2290
  },
2291
2291
  {
2292
2292
  if: "dxtSupported",
2293
- basisFormat: [s.ETC1S, s.UASTC_4x4],
2293
+ basisFormat: [i.ETC1S, i.UASTC_4x4],
2294
2294
  transcoderFormat: [t.BC1, t.BC3],
2295
2295
  engineFormat: [a.RGBA_S3TC_DXT1_Format, a.RGBA_S3TC_DXT5_Format],
2296
2296
  priorityETC1S: 4,
@@ -2299,7 +2299,7 @@ $.BasisWorker = function() {
2299
2299
  },
2300
2300
  {
2301
2301
  if: "etc2Supported",
2302
- basisFormat: [s.ETC1S, s.UASTC_4x4],
2302
+ basisFormat: [i.ETC1S, i.UASTC_4x4],
2303
2303
  transcoderFormat: [t.ETC1, t.ETC2],
2304
2304
  engineFormat: [a.RGB_ETC2_Format, a.RGBA_ETC2_EAC_Format],
2305
2305
  priorityETC1S: 1,
@@ -2308,7 +2308,7 @@ $.BasisWorker = function() {
2308
2308
  },
2309
2309
  {
2310
2310
  if: "etc1Supported",
2311
- basisFormat: [s.ETC1S, s.UASTC_4x4],
2311
+ basisFormat: [i.ETC1S, i.UASTC_4x4],
2312
2312
  transcoderFormat: [t.ETC1],
2313
2313
  engineFormat: [a.RGB_ETC1_Format],
2314
2314
  priorityETC1S: 2,
@@ -2317,7 +2317,7 @@ $.BasisWorker = function() {
2317
2317
  },
2318
2318
  {
2319
2319
  if: "pvrtcSupported",
2320
- basisFormat: [s.ETC1S, s.UASTC_4x4],
2320
+ basisFormat: [i.ETC1S, i.UASTC_4x4],
2321
2321
  transcoderFormat: [t.PVRTC1_4_RGB, t.PVRTC1_4_RGBA],
2322
2322
  engineFormat: [a.RGB_PVRTC_4BPPV1_Format, a.RGBA_PVRTC_4BPPV1_Format],
2323
2323
  priorityETC1S: 5,
@@ -2331,7 +2331,7 @@ $.BasisWorker = function() {
2331
2331
  });
2332
2332
  function g(f, d, p, E) {
2333
2333
  let l, h;
2334
- const u = f === s.ETC1S ? c : I;
2334
+ const u = f === i.ETC1S ? c : I;
2335
2335
  for (let k = 0; k < u.length; k++) {
2336
2336
  const R = u[k];
2337
2337
  if (n[R.if] && R.basisFormat.includes(f) && !(E && R.transcoderFormat.length < 2) && !(R.needsPowerOfTwo && !(B(d) && B(p))))
@@ -2358,7 +2358,7 @@ $.BasisWorker = function() {
2358
2358
  return p;
2359
2359
  }
2360
2360
  };
2361
- const rs = /* @__PURE__ */ new Set([bA, pA, uA]), PA = {
2361
+ const ri = /* @__PURE__ */ new Set([bA, pA, uA]), PA = {
2362
2362
  [At]: bA,
2363
2363
  [Xe]: bA,
2364
2364
  [Ye]: bA,
@@ -2389,18 +2389,18 @@ const rs = /* @__PURE__ */ new Set([bA, pA, uA]), PA = {
2389
2389
  [tt]: K,
2390
2390
  [et]: K
2391
2391
  };
2392
- async function cs(n) {
2392
+ async function ci(n) {
2393
2393
  const { vkFormat: A } = n;
2394
2394
  if (PA[A] === void 0)
2395
2395
  throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2396
2396
  let e;
2397
- n.supercompressionScheme === Fe && (KA || (KA = new Promise(async (s) => {
2398
- const i = new os();
2399
- await i.init(), s(i);
2397
+ n.supercompressionScheme === Fe && (KA || (KA = new Promise(async (i) => {
2398
+ const s = new oi();
2399
+ await s.init(), i(s);
2400
2400
  })), e = await KA);
2401
2401
  const a = [];
2402
- for (let s = 0; s < n.levels.length; 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];
2402
+ for (let i = 0; i < n.levels.length; i++) {
2403
+ const s = Math.max(1, n.pixelWidth >> i), o = Math.max(1, n.pixelHeight >> i), r = n.pixelDepth ? Math.max(1, n.pixelDepth >> i) : 0, c = n.levels[i];
2404
2404
  let I;
2405
2405
  if (n.supercompressionScheme === $a)
2406
2406
  I = c.levelData;
@@ -2419,13 +2419,13 @@ async function cs(n) {
2419
2419
  I.byteLength / Uint16Array.BYTES_PER_ELEMENT
2420
2420
  ) : g = I, a.push({
2421
2421
  data: g,
2422
- width: i,
2422
+ width: s,
2423
2423
  height: o,
2424
2424
  depth: r
2425
2425
  });
2426
2426
  }
2427
2427
  let t;
2428
- if (rs.has(PA[A]))
2428
+ if (ri.has(PA[A]))
2429
2429
  t = n.pixelDepth === 0 ? new ra(a[0].data, n.pixelWidth, n.pixelHeight) : new ca(a[0].data, n.pixelWidth, n.pixelHeight, n.pixelDepth);
2430
2430
  else {
2431
2431
  if (n.pixelDepth > 0) throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
@@ -2435,16 +2435,16 @@ async function cs(n) {
2435
2435
  }
2436
2436
  function at(n) {
2437
2437
  const A = n.dataFormatDescriptor[0];
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);
2438
+ return A.colorPrimaries === ti ? A.transferFunction === Re ? AA : Y : A.colorPrimaries === ai ? A.transferFunction === Re ? ga : Ia : A.colorPrimaries === ei ? oA : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`), oA);
2439
2439
  }
2440
- var gs = function() {
2440
+ var gi = function() {
2441
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]);
2442
2442
  if (typeof WebAssembly != "object")
2443
2443
  return {
2444
2444
  supported: !1
2445
2445
  };
2446
- var t = WebAssembly.validate(e) ? A : n, s, i = WebAssembly.instantiate(o(t), {}).then(function(E) {
2447
- s = E.instance, s.exports.__wasm_call_ctors();
2446
+ var t = WebAssembly.validate(e) ? A : n, i, s = WebAssembly.instantiate(o(t), {}).then(function(E) {
2447
+ i = E.instance, i.exports.__wasm_call_ctors();
2448
2448
  });
2449
2449
  function o(E) {
2450
2450
  for (var l = new Uint8Array(E.length), h = 0; h < E.length; ++h) {
@@ -2456,7 +2456,7 @@ var gs = function() {
2456
2456
  return l.buffer.slice(0, k);
2457
2457
  }
2458
2458
  function r(E, l, h, u, k, R) {
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);
2459
+ var G = i.exports.sbrk, M = h + 3 & -4, b = G(M * u), Q = G(k.length), m = new Uint8Array(i.exports.memory.buffer);
2460
2460
  m.set(k, Q);
2461
2461
  var D = E(b, h, u, Q, k.length);
2462
2462
  if (D == 0 && R && R(b, M, u), l.set(m.subarray(b, b + h * u)), G(b - G(0)), D != 0)
@@ -2497,38 +2497,38 @@ var gs = function() {
2497
2497
  });
2498
2498
  }
2499
2499
  function p(E) {
2500
- i.then(function() {
2500
+ s.then(function() {
2501
2501
  var l = E.data;
2502
2502
  try {
2503
2503
  var h = new Uint8Array(l.count * l.size);
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]);
2504
+ r(i.exports[l.mode], h, l.count, l.size, l.source, i.exports[l.filter]), self.postMessage({ id: l.id, count: l.count, action: "resolve", value: h }, [h.buffer]);
2505
2505
  } catch (u) {
2506
2506
  self.postMessage({ id: l.id, count: l.count, action: "reject", value: u });
2507
2507
  }
2508
2508
  });
2509
2509
  }
2510
2510
  return {
2511
- ready: i,
2511
+ ready: s,
2512
2512
  supported: !0,
2513
2513
  useWorkers: function(E) {
2514
2514
  f(E);
2515
2515
  },
2516
2516
  decodeVertexBuffer: function(E, l, h, u, k) {
2517
- r(s.exports.meshopt_decodeVertexBuffer, E, l, h, u, s.exports[c[k]]);
2517
+ r(i.exports.meshopt_decodeVertexBuffer, E, l, h, u, i.exports[c[k]]);
2518
2518
  },
2519
2519
  decodeIndexBuffer: function(E, l, h, u) {
2520
- r(s.exports.meshopt_decodeIndexBuffer, E, l, h, u);
2520
+ r(i.exports.meshopt_decodeIndexBuffer, E, l, h, u);
2521
2521
  },
2522
2522
  decodeIndexSequence: function(E, l, h, u) {
2523
- r(s.exports.meshopt_decodeIndexSequence, E, l, h, u);
2523
+ r(i.exports.meshopt_decodeIndexSequence, E, l, h, u);
2524
2524
  },
2525
2525
  decodeGltfBuffer: function(E, l, h, u, k, R) {
2526
- r(s.exports[I[k]], E, l, h, u, s.exports[c[R]]);
2526
+ r(i.exports[I[k]], E, l, h, u, i.exports[c[R]]);
2527
2527
  },
2528
2528
  decodeGltfBufferAsync: function(E, l, h, u, k) {
2529
- return g.length > 0 ? d(E, l, h, I[u], c[k]) : i.then(function() {
2529
+ return g.length > 0 ? d(E, l, h, I[u], c[k]) : s.then(function() {
2530
2530
  var R = new Uint8Array(E * l);
2531
- return r(s.exports[I[u]], R, E, l, h, s.exports[c[k]]), R;
2531
+ return r(i.exports[I[u]], R, E, l, h, i.exports[c[k]]), R;
2532
2532
  });
2533
2533
  }
2534
2534
  };
@@ -2538,7 +2538,7 @@ function oe() {
2538
2538
  n.setDecoderPath("/draco/");
2539
2539
  const A = new $();
2540
2540
  A.setTranscoderPath("/draco/");
2541
- const e = new la().setDRACOLoader(n).setKTX2Loader(A.detectSupport(new Ba())).setMeshoptDecoder(gs);
2541
+ const e = new la().setDRACOLoader(n).setKTX2Loader(A.detectSupport(new Ba())).setMeshoptDecoder(gi);
2542
2542
  return e.manager.onError = (a) => {
2543
2543
  V.emit("load-error", `Failed to load file ${a}`);
2544
2544
  }, e;
@@ -2549,7 +2549,7 @@ fflate - fast JavaScript compression/decompression
2549
2549
  Licensed under MIT. https://github.com/101arrowz/fflate/blob/master/LICENSE
2550
2550
  version 0.8.2
2551
2551
  */
2552
- var H = Uint8Array, lA = Uint16Array, Is = Int32Array, st = new H([
2552
+ var H = Uint8Array, lA = Uint16Array, Ii = Int32Array, it = new H([
2553
2553
  0,
2554
2554
  0,
2555
2555
  0,
@@ -2584,7 +2584,7 @@ var H = Uint8Array, lA = Uint16Array, Is = Int32Array, st = new H([
2584
2584
  0,
2585
2585
  /* impossible */
2586
2586
  0
2587
- ]), it = new H([
2587
+ ]), st = new H([
2588
2588
  0,
2589
2589
  0,
2590
2590
  0,
@@ -2618,37 +2618,37 @@ var H = Uint8Array, lA = Uint16Array, Is = Int32Array, st = new H([
2618
2618
  /* unused */
2619
2619
  0,
2620
2620
  0
2621
- ]), Bs = new H([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), nt = function(n, A) {
2621
+ ]), Bi = new H([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), nt = function(n, A) {
2622
2622
  for (var e = new lA(31), a = 0; a < 31; ++a)
2623
2623
  e[a] = A += 1 << n[a - 1];
2624
- for (var t = new Is(e[30]), a = 1; a < 30; ++a)
2625
- for (var s = e[a]; s < e[a + 1]; ++s)
2626
- t[s] = s - e[a] << 5 | a;
2624
+ for (var t = new Ii(e[30]), a = 1; a < 30; ++a)
2625
+ for (var i = e[a]; i < e[a + 1]; ++i)
2626
+ t[i] = i - e[a] << 5 | a;
2627
2627
  return { b: e, r: t };
2628
- }, ot = nt(st, 2), rt = ot.b, Cs = ot.r;
2629
- rt[28] = 258, Cs[258] = 28;
2630
- var bs = nt(it, 0), ls = bs.b, ee = new lA(32768);
2628
+ }, ot = nt(it, 2), rt = ot.b, Ci = ot.r;
2629
+ rt[28] = 258, Ci[258] = 28;
2630
+ var bi = nt(st, 0), li = bi.b, ee = new lA(32768);
2631
2631
  for (var L = 0; L < 32768; ++L) {
2632
2632
  var nA = (L & 43690) >> 1 | (L & 21845) << 1;
2633
2633
  nA = (nA & 52428) >> 2 | (nA & 13107) << 2, nA = (nA & 61680) >> 4 | (nA & 3855) << 4, ee[L] = ((nA & 65280) >> 8 | (nA & 255) << 8) >> 1;
2634
2634
  }
2635
2635
  var wA = function(n, A, e) {
2636
- for (var a = n.length, t = 0, s = new lA(A); t < a; ++t)
2637
- n[t] && ++s[n[t] - 1];
2638
- var i = new lA(A);
2636
+ for (var a = n.length, t = 0, i = new lA(A); t < a; ++t)
2637
+ n[t] && ++i[n[t] - 1];
2638
+ var s = new lA(A);
2639
2639
  for (t = 1; t < A; ++t)
2640
- i[t] = i[t - 1] + s[t - 1] << 1;
2640
+ s[t] = s[t - 1] + i[t - 1] << 1;
2641
2641
  var o;
2642
2642
  if (e) {
2643
2643
  o = new lA(1 << A);
2644
2644
  var r = 15 - A;
2645
2645
  for (t = 0; t < a; ++t)
2646
2646
  if (n[t])
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)
2647
+ for (var c = t << 4 | n[t], I = A - n[t], g = s[n[t] - 1]++ << I, B = g | (1 << I) - 1; g <= B; ++g)
2648
2648
  o[ee[g] >> r] = c;
2649
2649
  } else
2650
2650
  for (o = new lA(a), t = 0; t < a; ++t)
2651
- n[t] && (o[t] = ee[i[n[t] - 1]++] >> 15 - n[t]);
2651
+ n[t] && (o[t] = ee[s[n[t] - 1]++] >> 15 - n[t]);
2652
2652
  return o;
2653
2653
  }, DA = new H(288);
2654
2654
  for (var L = 0; L < 144; ++L)
@@ -2662,7 +2662,7 @@ for (var L = 280; L < 288; ++L)
2662
2662
  var ct = new H(32);
2663
2663
  for (var L = 0; L < 32; ++L)
2664
2664
  ct[L] = 5;
2665
- var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = function(n) {
2665
+ var fi = /* @__PURE__ */ wA(DA, 9, 1), Ei = /* @__PURE__ */ wA(ct, 5, 1), WA = function(n) {
2666
2666
  for (var A = n[0], e = 1; e < n.length; ++e)
2667
2667
  n[e] > A && (A = n[e]);
2668
2668
  return A;
@@ -2672,11 +2672,11 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
2672
2672
  }, VA = function(n, A) {
2673
2673
  var e = A / 8 | 0;
2674
2674
  return (n[e] | n[e + 1] << 8 | n[e + 2] << 16) >> (A & 7);
2675
- }, Qs = function(n) {
2675
+ }, Qi = function(n) {
2676
2676
  return (n + 7) / 8 | 0;
2677
2677
  }, re = function(n, A, e) {
2678
2678
  return (A == null || A < 0) && (A = 0), (e == null || e > n.length) && (e = n.length), new H(n.subarray(A, e));
2679
- }, ds = [
2679
+ }, di = [
2680
2680
  "unexpected EOF",
2681
2681
  "invalid block type",
2682
2682
  "invalid length/literal",
@@ -2693,16 +2693,16 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
2693
2693
  "invalid zip data"
2694
2694
  // determined by unknown compression method
2695
2695
  ], v = function(n, A, e) {
2696
- var a = new Error(A || ds[n]);
2696
+ var a = new Error(A || di[n]);
2697
2697
  if (a.code = n, Error.captureStackTrace && Error.captureStackTrace(a, v), !e)
2698
2698
  throw a;
2699
2699
  return a;
2700
- }, hs = function(n, A, e, a) {
2701
- var t = n.length, s = a ? a.length : 0;
2700
+ }, hi = function(n, A, e, a) {
2701
+ var t = n.length, i = a ? a.length : 0;
2702
2702
  if (!t || A.f && !A.l)
2703
2703
  return e || new H(0);
2704
- var i = !e, o = i || A.i != 2, r = A.i;
2705
- i && (e = new H(t * 3));
2704
+ var s = !e, o = s || A.i != 2, r = A.i;
2705
+ s && (e = new H(t * 3));
2706
2706
  var c = function(Be) {
2707
2707
  var Ce = e.length;
2708
2708
  if (Be > Ce) {
@@ -2716,12 +2716,12 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
2716
2716
  var l = j(n, g + 1, 3);
2717
2717
  if (g += 3, l)
2718
2718
  if (l == 1)
2719
- C = fs, f = Es, d = 9, p = 5;
2719
+ C = fi, f = Ei, d = 9, p = 5;
2720
2720
  else if (l == 2) {
2721
2721
  var R = j(n, g, 31) + 257, G = j(n, g + 10, 15) + 4, M = R + j(n, g + 5, 31) + 1;
2722
2722
  g += 14;
2723
2723
  for (var b = new H(M), Q = new H(19), m = 0; m < G; ++m)
2724
- Q[Bs[m]] = j(n, g + m * 3, 7);
2724
+ Q[Bi[m]] = j(n, g + m * 3, 7);
2725
2725
  g += G * 3;
2726
2726
  for (var D = WA(Q), w = (1 << D) - 1, S = wA(Q, D, 1), m = 0; m < M; ) {
2727
2727
  var F = S[j(n, g, w)];
@@ -2740,7 +2740,7 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
2740
2740
  } else
2741
2741
  v(1);
2742
2742
  else {
2743
- var h = Qs(g) + 4, u = n[h - 4] | n[h - 3] << 8, k = h + u;
2743
+ var h = Qi(g) + 4, u = n[h - 4] | n[h - 3] << 8, k = h + u;
2744
2744
  if (k > t) {
2745
2745
  r && v(0);
2746
2746
  break;
@@ -2754,7 +2754,7 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
2754
2754
  }
2755
2755
  }
2756
2756
  o && c(B + 131072);
2757
- for (var J = (1 << d) - 1, sA = (1 << p) - 1, IA = g; ; IA = g) {
2757
+ for (var J = (1 << d) - 1, iA = (1 << p) - 1, IA = g; ; IA = g) {
2758
2758
  var x = C[VA(n, g) & J], cA = x >> 4;
2759
2759
  if (g += x & 15, g > E) {
2760
2760
  r && v(0);
@@ -2768,14 +2768,14 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
2768
2768
  } else {
2769
2769
  var ce = cA - 254;
2770
2770
  if (cA > 264) {
2771
- var m = cA - 257, EA = st[m];
2771
+ var m = cA - 257, EA = it[m];
2772
2772
  ce = j(n, g, (1 << EA) - 1) + rt[m], g += EA;
2773
2773
  }
2774
- var LA = f[VA(n, g) & sA], MA = LA >> 4;
2774
+ var LA = f[VA(n, g) & iA], MA = LA >> 4;
2775
2775
  LA || v(3), g += LA & 15;
2776
- var _ = ls[MA];
2776
+ var _ = li[MA];
2777
2777
  if (MA > 3) {
2778
- var EA = it[MA];
2778
+ var EA = st[MA];
2779
2779
  _ += VA(n, g) & (1 << EA) - 1, g += EA;
2780
2780
  }
2781
2781
  if (g > E) {
@@ -2785,7 +2785,7 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
2785
2785
  o && c(B + 131072);
2786
2786
  var ge = B + ce;
2787
2787
  if (B < _) {
2788
- var Ie = s - _, It = Math.min(_, ge);
2788
+ var Ie = i - _, It = Math.min(_, ge);
2789
2789
  for (Ie + B < 0 && v(3); B < It; ++B)
2790
2790
  e[B] = a[Ie + B];
2791
2791
  }
@@ -2795,23 +2795,23 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
2795
2795
  }
2796
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);
2797
2797
  } while (!I);
2798
- return B != e.length && i ? re(e, 0, B) : e.subarray(0, B);
2799
- }, ps = /* @__PURE__ */ new H(0), Z = function(n, A) {
2798
+ return B != e.length && s ? re(e, 0, B) : e.subarray(0, B);
2799
+ }, pi = /* @__PURE__ */ new H(0), Z = function(n, A) {
2800
2800
  return n[A] | n[A + 1] << 8;
2801
2801
  }, P = function(n, A) {
2802
2802
  return (n[A] | n[A + 1] << 8 | n[A + 2] << 16 | n[A + 3] << 24) >>> 0;
2803
2803
  }, zA = function(n, A) {
2804
2804
  return P(n, A) + P(n, A + 4) * 4294967296;
2805
2805
  };
2806
- function us(n, A) {
2807
- return hs(n, { i: 2 }, A && A.out, A && A.dictionary);
2806
+ function ui(n, A) {
2807
+ return hi(n, { i: 2 }, A && A.out, A && A.dictionary);
2808
2808
  }
2809
- var te = typeof TextDecoder < "u" && /* @__PURE__ */ new TextDecoder(), ms = 0;
2809
+ var te = typeof TextDecoder < "u" && /* @__PURE__ */ new TextDecoder(), mi = 0;
2810
2810
  try {
2811
- te.decode(ps, { stream: !0 }), ms = 1;
2811
+ te.decode(pi, { stream: !0 }), mi = 1;
2812
2812
  } catch {
2813
2813
  }
2814
- var ws = function(n) {
2814
+ var wi = function(n) {
2815
2815
  for (var A = "", e = 0; ; ) {
2816
2816
  var a = n[e++], t = (a > 127) + (a > 223) + (a > 239);
2817
2817
  if (e + t > n.length)
@@ -2827,85 +2827,85 @@ function ae(n, A) {
2827
2827
  } else {
2828
2828
  if (te)
2829
2829
  return te.decode(n);
2830
- var t = ws(n), s = t.s, e = t.r;
2831
- return e.length && v(8), s;
2830
+ var t = wi(n), i = t.s, e = t.r;
2831
+ return e.length && v(8), i;
2832
2832
  }
2833
2833
  }
2834
- var Ds = function(n, A) {
2834
+ var Di = function(n, A) {
2835
2835
  return A + 30 + Z(n, A + 26) + Z(n, A + 28);
2836
- }, ks = function(n, A, e) {
2837
- var a = Z(n, A + 28), t = ae(n.subarray(A + 46, A + 46 + a), !(Z(n, A + 8) & 2048)), 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];
2839
- }, Fs = function(n, A) {
2836
+ }, ki = function(n, A, e) {
2837
+ var a = Z(n, A + 28), t = ae(n.subarray(A + 46, A + 46 + a), !(Z(n, A + 8) & 2048)), i = A + 46 + a, s = P(n, A + 20), o = e && s == 4294967295 ? Fi(n, i) : [s, P(n, A + 24), P(n, A + 42)], r = o[0], c = o[1], I = o[2];
2838
+ return [Z(n, A + 10), r, c, t, i + Z(n, A + 30) + Z(n, A + 32), I];
2839
+ }, Fi = function(n, A) {
2840
2840
  for (; Z(n, A) != 1; A += 4 + Z(n, A + 2))
2841
2841
  ;
2842
2842
  return [zA(n, A + 12), zA(n, A + 4), zA(n, A + 20)];
2843
2843
  };
2844
- function Rs(n, A) {
2844
+ function Ri(n, A) {
2845
2845
  for (var e = {}, a = n.length - 22; P(n, a) != 101010256; --a)
2846
2846
  (!a || n.length - a > 65558) && v(13);
2847
2847
  var t = Z(n, a + 8);
2848
2848
  if (!t)
2849
2849
  return {};
2850
- var s = P(n, a + 16), i = s == 4294967295 || t == 65535;
2851
- if (i) {
2850
+ var i = P(n, a + 16), s = i == 4294967295 || t == 65535;
2851
+ if (s) {
2852
2852
  var o = P(n, a - 12);
2853
- i = P(n, o) == 101075792, i && (t = P(n, o + 32), s = P(n, o + 48));
2853
+ s = P(n, o) == 101075792, s && (t = P(n, o + 32), i = P(n, o + 48));
2854
2854
  }
2855
2855
  for (var r = 0; r < t; ++r) {
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);
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);
2856
+ var c = ki(n, i, s), I = c[0], g = c[1], B = c[2], C = c[3], f = c[4], d = c[5], p = Di(n, d);
2857
+ i = f, I ? I == 8 ? e[C] = ui(n.subarray(p, p + g), { out: new H(B) }) : v(14, "unknown compression type " + I) : e[C] = re(n, p, p + g);
2858
2858
  }
2859
2859
  return e;
2860
2860
  }
2861
- class Ss {
2861
+ class Si {
2862
2862
  parse(A) {
2863
2863
  const e = {}, a = A.split(`
2864
2864
  `);
2865
- let t = null, s = e;
2866
- const i = [e];
2865
+ let t = null, i = e;
2866
+ const s = [e];
2867
2867
  for (const o of a)
2868
2868
  if (o.includes("=")) {
2869
2869
  const r = o.split("="), c = r[0].trim(), I = r[1].trim();
2870
2870
  if (I.endsWith("{")) {
2871
2871
  const g = {};
2872
- i.push(g), s[c] = g, s = g;
2872
+ s.push(g), i[c] = g, i = g;
2873
2873
  } else if (I.endsWith("(")) {
2874
2874
  const g = I.slice(0, -1);
2875
- s[c] = g;
2875
+ i[c] = g;
2876
2876
  const B = {};
2877
- i.push(B), s = B;
2877
+ s.push(B), i = B;
2878
2878
  } else
2879
- s[c] = I;
2879
+ i[c] = I;
2880
2880
  } else if (o.endsWith("{")) {
2881
- const r = s[t] || {};
2882
- i.push(r), s[t] = r, s = r;
2881
+ const r = i[t] || {};
2882
+ s.push(r), i[t] = r, i = r;
2883
2883
  } else if (o.endsWith("}")) {
2884
- if (i.pop(), i.length === 0) continue;
2885
- s = i[i.length - 1];
2884
+ if (s.pop(), s.length === 0) continue;
2885
+ i = s[s.length - 1];
2886
2886
  } else if (o.endsWith("(")) {
2887
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();
2888
+ s.push(r), t = o.split("(")[0].trim() || t, i[t] = r, i = r;
2889
+ } else o.endsWith(")") ? (s.pop(), i = s[s.length - 1]) : t = o.trim();
2890
2890
  return e;
2891
2891
  }
2892
2892
  }
2893
- class ys extends TA {
2893
+ class yi extends TA {
2894
2894
  constructor(A) {
2895
2895
  super(A);
2896
2896
  }
2897
2897
  load(A, e, a, t) {
2898
- const s = this, i = new aA(s.manager);
2899
- i.setPath(s.path), i.setResponseType("arraybuffer"), i.setRequestHeader(s.requestHeader), i.setWithCredentials(s.withCredentials), i.load(A, function(o) {
2898
+ const i = this, s = new aA(i.manager);
2899
+ s.setPath(i.path), s.setResponseType("arraybuffer"), s.setRequestHeader(i.requestHeader), s.setWithCredentials(i.withCredentials), s.load(A, function(o) {
2900
2900
  try {
2901
- e(s.parse(o));
2901
+ e(i.parse(o));
2902
2902
  } catch (r) {
2903
- t ? t(r) : console.error(r), s.manager.itemError(A);
2903
+ t ? t(r) : console.error(r), i.manager.itemError(A);
2904
2904
  }
2905
2905
  }, a, t);
2906
2906
  }
2907
2907
  parse(A) {
2908
- const e = new Ss();
2908
+ const e = new Si();
2909
2909
  function a(b) {
2910
2910
  const Q = {};
2911
2911
  new aA().setResponseType("arraybuffer");
@@ -2927,7 +2927,7 @@ class ys extends TA {
2927
2927
  const Q = b.slice(0, 7), m = new Uint8Array([80, 88, 82, 45, 85, 83, 68, 67]);
2928
2928
  return Q.every((D, w) => D === m[w]);
2929
2929
  }
2930
- function s(b) {
2930
+ function i(b) {
2931
2931
  if (b.length < 1) return;
2932
2932
  const Q = Object.keys(b)[0];
2933
2933
  let m = !1;
@@ -2942,7 +2942,7 @@ class ys extends TA {
2942
2942
  if (m)
2943
2943
  throw Error("THREE.USDZLoader: Crate files (.usdc or binary .usd) are not supported.");
2944
2944
  }
2945
- const i = Rs(new Uint8Array(A)), o = a(i), r = s(i), c = ae(r), I = e.parse(c);
2945
+ const s = Ri(new Uint8Array(A)), o = a(s), r = i(s), c = ae(r), I = e.parse(c);
2946
2946
  function g(b) {
2947
2947
  if (b) {
2948
2948
  if ("prepend references" in b) {
@@ -3122,7 +3122,7 @@ class ys extends TA {
3122
3122
  return null;
3123
3123
  }
3124
3124
  function R(b) {
3125
- const Q = C(g(b)), m = h(p(b)), D = Q ? new Me(Q, m) : new se();
3125
+ const Q = C(g(b)), m = h(p(b)), D = Q ? new Me(Q, m) : new ie();
3126
3126
  if ("matrix4d xformOp:transform" in b) {
3127
3127
  const w = JSON.parse("[" + b["matrix4d xformOp:transform"].replace(/[()]*/g, "") + "]");
3128
3128
  D.matrix.fromArray(w), D.matrix.decompose(D.position, D.quaternion, D.scale);
@@ -3142,20 +3142,20 @@ class ys extends TA {
3142
3142
  return G(I, M), M;
3143
3143
  }
3144
3144
  }
3145
- function Gs() {
3146
- const n = new ys();
3145
+ function Gi() {
3146
+ const n = new yi();
3147
3147
  return n.manager.onError = (A) => {
3148
3148
  V.emit("load-error", `Failed to load file ${A}`);
3149
3149
  }, n;
3150
3150
  }
3151
- function xs(n) {
3151
+ function xi(n) {
3152
3152
  const A = z(
3153
- async (a, t, s) => {
3153
+ async (a, t, i) => {
3154
3154
  var I, g;
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);
3155
+ const s = 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
3156
  let r = 0;
3157
3157
  const c = () => {
3158
- r++, s(r / o * 100);
3158
+ r++, i(r / o * 100);
3159
3159
  };
3160
3160
  if (a.buffers)
3161
3161
  for (let B = 0; B < a.buffers.length; B++) {
@@ -3164,7 +3164,7 @@ function xs(n) {
3164
3164
  c();
3165
3165
  continue;
3166
3166
  }
3167
- const f = C.uri.split("/").pop() || "", d = i.get(f);
3167
+ const f = C.uri.split("/").pop() || "", d = s.get(f);
3168
3168
  if (d) {
3169
3169
  const p = await d.arrayBuffer(), E = await pe(p);
3170
3170
  C.uri = `data:application/octet-stream;base64,${E}`;
@@ -3178,7 +3178,7 @@ function xs(n) {
3178
3178
  c();
3179
3179
  continue;
3180
3180
  }
3181
- const f = C.uri.split("/").pop() || "", d = i.get(f);
3181
+ const f = C.uri.split("/").pop() || "", d = s.get(f);
3182
3182
  if (d) {
3183
3183
  const p = await d.arrayBuffer(), E = await pe(p), l = d.type || "image/png";
3184
3184
  C.uri = `data:${l};base64,${E}`;
@@ -3190,17 +3190,17 @@ function xs(n) {
3190
3190
  []
3191
3191
  );
3192
3192
  return { loadGltf: z(
3193
- (a, t, s) => {
3194
- const i = new FileReader();
3195
- i.onload = async (o) => {
3193
+ (a, t, i) => {
3194
+ const s = new FileReader();
3195
+ s.onload = async (o) => {
3196
3196
  var g;
3197
3197
  const r = JSON.parse((g = o.target) == null ? void 0 : g.result);
3198
- s(10);
3198
+ i(10);
3199
3199
  const c = await A(
3200
3200
  r,
3201
3201
  t,
3202
3202
  (B) => {
3203
- s(10 + B * 0.8);
3203
+ i(10 + B * 0.8);
3204
3204
  }
3205
3205
  );
3206
3206
  oe().parse(JSON.stringify(c), "", (B) => {
@@ -3212,20 +3212,20 @@ function xs(n) {
3212
3212
  name: a.name
3213
3213
  }
3214
3214
  });
3215
- }), s(100), n({ type: "set-file-loading", payload: !1 });
3216
- }, i.readAsText(a);
3215
+ }), i(100), n({ type: "set-file-loading", payload: !1 });
3216
+ }, s.readAsText(a);
3217
3217
  },
3218
3218
  [n, A]
3219
3219
  ) };
3220
3220
  }
3221
- function Ts(n) {
3221
+ function Ti(n) {
3222
3222
  return { loadBinary: z(
3223
3223
  (e, a, t) => {
3224
- const s = new FileReader();
3225
- s.onload = async (i) => {
3224
+ const i = new FileReader();
3225
+ i.onload = async (s) => {
3226
3226
  var o;
3227
- if ((o = i.target) != null && o.result) {
3228
- const r = i.target.result;
3227
+ if ((o = s.target) != null && o.result) {
3228
+ const r = s.target.result;
3229
3229
  if (a === q.glb)
3230
3230
  oe().parse(r, "", (I) => {
3231
3231
  n({
@@ -3238,7 +3238,7 @@ function Ts(n) {
3238
3238
  });
3239
3239
  });
3240
3240
  else if (a === q.usdz) {
3241
- const I = Gs().parse(r);
3241
+ const I = Gi().parse(r);
3242
3242
  n({
3243
3243
  type: "set-file",
3244
3244
  payload: {
@@ -3250,15 +3250,15 @@ function Ts(n) {
3250
3250
  }
3251
3251
  t(), n({ type: "set-file-loading", payload: !1 });
3252
3252
  }
3253
- }, s.onerror = (i) => {
3254
- console.error("Error reading file:", i), n({ type: "set-file-loading", payload: !1 });
3255
- }, s.readAsArrayBuffer(e);
3253
+ }, i.onerror = (s) => {
3254
+ console.error("Error reading file:", s), n({ type: "set-file-loading", payload: !1 });
3255
+ }, i.readAsArrayBuffer(e);
3256
3256
  },
3257
3257
  [n]
3258
3258
  ) };
3259
3259
  }
3260
- function Ls(n) {
3261
- const A = Ct(!1), [e, a] = bt(Ca, He), { loadGltf: t } = xs(a), { loadBinary: s } = Ts(a), i = z(
3260
+ function Li(n) {
3261
+ const A = Ct(!1), [e, a] = bt(Ca, He), { loadGltf: t } = xi(a), { loadBinary: i } = Ti(a), s = z(
3262
3262
  (B, C) => B.find((f) => f.name.endsWith("." + C)),
3263
3263
  []
3264
3264
  ), o = z((B) => {
@@ -3268,7 +3268,7 @@ function Ls(n) {
3268
3268
  }, []), c = z(
3269
3269
  (B) => {
3270
3270
  if (B.length === 0) return;
3271
- const C = i(B, q.gltf), f = i(B, q.glb), d = i(B, q.usdz), p = [C, f, d].filter(
3271
+ const C = s(B, q.gltf), f = s(B, q.glb), d = s(B, q.usdz), p = [C, f, d].filter(
3272
3272
  Boolean
3273
3273
  );
3274
3274
  if (p.length > 1) {
@@ -3283,9 +3283,9 @@ function Ls(n) {
3283
3283
  if (C)
3284
3284
  t(C, E, l);
3285
3285
  else if (f)
3286
- s(f, q.glb, () => l(100));
3286
+ i(f, q.glb, () => l(100));
3287
3287
  else if (d)
3288
- s(
3288
+ i(
3289
3289
  d,
3290
3290
  q.usdz,
3291
3291
  () => l(100)
@@ -3295,7 +3295,7 @@ function Ls(n) {
3295
3295
  return;
3296
3296
  }
3297
3297
  },
3298
- [o, i, t, s]
3298
+ [o, s, t, i]
3299
3299
  ), I = z(
3300
3300
  async (B) => {
3301
3301
  const C = [];
@@ -3314,7 +3314,7 @@ function Ls(n) {
3314
3314
  lt(() => {
3315
3315
  A.current && e.file && (V.emit("load-complete", e.file), A.current = !1, n && e.file.model && n.load(e.file.model));
3316
3316
  }, [e.file, n]);
3317
- const g = Ms(
3317
+ const g = Mi(
3318
3318
  n,
3319
3319
  a,
3320
3320
  e.file
@@ -3357,58 +3357,69 @@ function Ls(n) {
3357
3357
  optimize: g
3358
3358
  };
3359
3359
  }
3360
- function Ms(n, A, e) {
3360
+ function Mi(n, A, e) {
3361
3361
  const a = z(
3362
- (s) => {
3362
+ (o) => {
3363
3363
  oe().parse(
3364
- s.buffer,
3364
+ o.buffer,
3365
3365
  "",
3366
- (o) => {
3366
+ (c) => {
3367
3367
  A({
3368
3368
  type: "set-file",
3369
3369
  payload: {
3370
- model: o.scene,
3370
+ model: c.scene,
3371
3371
  type: q.glb,
3372
3372
  name: (e == null ? void 0 : e.name) || "optimized.glb"
3373
3373
  }
3374
3374
  });
3375
3375
  },
3376
- (o) => {
3377
- console.error("Error loading new model:", o);
3376
+ (c) => {
3377
+ console.error("Error loading new model:", c);
3378
3378
  }
3379
3379
  );
3380
3380
  },
3381
3381
  [A, e]
3382
3382
  ), t = z(
3383
- async (s, i) => {
3384
- if (!n || !s) {
3383
+ async (o, r) => {
3384
+ if (!n || !o) {
3385
3385
  console.warn("Optimizer or optimization function is not available");
3386
3386
  return;
3387
3387
  }
3388
3388
  try {
3389
- await s(i);
3390
- const o = await n.getModel();
3391
- o && a(o);
3392
- } catch (o) {
3393
- console.error("Optimization failed:", o);
3389
+ await o(r);
3390
+ const c = await n.getModel();
3391
+ c && a(c);
3392
+ } catch (c) {
3393
+ console.error("Optimization failed:", c);
3394
3394
  }
3395
3395
  },
3396
3396
  [n, a]
3397
- );
3398
- return n ? {
3399
- simplifyOptimization: (s) => t(
3400
- n.simplifyOptimization,
3401
- s
3397
+ ), i = (o) => () => {
3398
+ console.warn(o);
3399
+ }, s = {
3400
+ simplifyOptimization: i(
3401
+ "Optimizer is not available"
3402
3402
  ),
3403
- dedupOptimization: (s) => t(n.dedupOptimization, s),
3404
- quantizeOptimization: (s) => t(
3405
- n.quantizeOptimization,
3406
- s
3403
+ dedupOptimization: i("Optimizer is not available"),
3404
+ quantizeOptimization: i(
3405
+ "Optimizer is not available"
3407
3406
  ),
3408
- texturesCompressOptimization: (s) => t(
3409
- n.texturesOptimization,
3410
- s
3407
+ normalsOptimization: i("Optimizer is not available"),
3408
+ texturesCompressOptimization: i(
3409
+ "Optimizer is not available"
3411
3410
  ),
3411
+ getSize: i("Optimizer is not available"),
3412
+ reset: i("Optimizer is not available"),
3413
+ report: null,
3414
+ error: null,
3415
+ loading: !1
3416
+ };
3417
+ return n ? {
3418
+ simplifyOptimization: (o) => t(n.simplifyOptimization, o),
3419
+ dedupOptimization: (o) => t(n.dedupOptimization, o),
3420
+ quantizeOptimization: (o) => t(n.quantizeOptimization, o),
3421
+ normalsOptimization: (o) => t(n.normalsOptimization, o),
3422
+ texturesCompressOptimization: (o) => t(n.texturesOptimization, o),
3412
3423
  getSize: n.getSize,
3413
3424
  reset: n.reset,
3414
3425
  report: n.report,
@@ -3417,38 +3428,16 @@ function Ms(n, A, e) {
3417
3428
  // Include the error state
3418
3429
  loading: n.loading
3419
3430
  // Include the loading state
3420
- } : {
3421
- simplifyOptimization: () => {
3422
- console.warn("Optimizer is not available");
3423
- },
3424
- dedupOptimization: () => {
3425
- console.warn("Optimizer is not available");
3426
- },
3427
- quantizeOptimization: () => {
3428
- console.warn("Optimizer is not available");
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
3442
- };
3431
+ } : s;
3443
3432
  }
3444
- const gt = ft({}), qs = ({ children: n, optimizer: A }) => {
3445
- const e = Ls(A);
3433
+ const gt = ft({}), qi = ({ children: n, optimizer: A }) => {
3434
+ const e = Li(A);
3446
3435
  return /* @__PURE__ */ Bt(gt.Provider, { value: e, children: n });
3447
- }, Hs = () => Et(gt);
3436
+ }, Hi = () => Et(gt);
3448
3437
  export {
3449
3438
  q as M,
3450
3439
  gt as a,
3451
- qs as b,
3452
- Hs as c,
3453
- Ls as u
3440
+ qi as b,
3441
+ Hi as c,
3442
+ Li as u
3454
3443
  };