iflow-engine-base-3d 3.12.8 → 3.12.9

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.
@@ -33251,341 +33251,716 @@ const M1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
33251
33251
  warn: be,
33252
33252
  warnOnce: Qo
33253
33253
  }, Symbol.toStringTag, { value: "Module" }));
33254
- function C1(r, e = !1) {
33255
- const t = r[0].index !== null, n = new Set(Object.keys(r[0].attributes)), i = new Set(Object.keys(r[0].morphAttributes)), s = {}, a = {}, o = r[0].morphTargetsRelative, c = new Ve();
33256
- let l = 0;
33257
- for (let h = 0; h < r.length; ++h) {
33258
- const u = r[h];
33259
- let f = 0;
33260
- if (t !== (u.index !== null))
33261
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."), null;
33262
- for (const d in u.attributes) {
33263
- if (!n.has(d))
33264
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + '. All geometries must have compatible attributes; make sure "' + d + '" attribute exists among all geometries, or in none of them.'), null;
33265
- s[d] === void 0 && (s[d] = []), s[d].push(u.attributes[d]), f++;
33254
+ var pa = Object.freeze({
33255
+ Linear: Object.freeze({
33256
+ None: function(r) {
33257
+ return r;
33258
+ },
33259
+ In: function(r) {
33260
+ return r;
33261
+ },
33262
+ Out: function(r) {
33263
+ return r;
33264
+ },
33265
+ InOut: function(r) {
33266
+ return r;
33266
33267
  }
33267
- if (f !== n.size)
33268
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". Make sure all geometries have the same number of attributes."), null;
33269
- if (o !== u.morphTargetsRelative)
33270
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". .morphTargetsRelative must be consistent throughout all geometries."), null;
33271
- for (const d in u.morphAttributes) {
33272
- if (!i.has(d))
33273
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". .morphAttributes must be consistent throughout all geometries."), null;
33274
- a[d] === void 0 && (a[d] = []), a[d].push(u.morphAttributes[d]);
33268
+ }),
33269
+ Quadratic: Object.freeze({
33270
+ In: function(r) {
33271
+ return r * r;
33272
+ },
33273
+ Out: function(r) {
33274
+ return r * (2 - r);
33275
+ },
33276
+ InOut: function(r) {
33277
+ return (r *= 2) < 1 ? 0.5 * r * r : -0.5 * (--r * (r - 2) - 1);
33275
33278
  }
33276
- if (e) {
33277
- let d;
33278
- if (t)
33279
- d = u.index.count;
33280
- else if (u.attributes.position !== void 0)
33281
- d = u.attributes.position.count;
33282
- else
33283
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". The geometry must have either an index or a position attribute"), null;
33284
- c.addGroup(l, d, h), l += d;
33279
+ }),
33280
+ Cubic: Object.freeze({
33281
+ In: function(r) {
33282
+ return r * r * r;
33283
+ },
33284
+ Out: function(r) {
33285
+ return --r * r * r + 1;
33286
+ },
33287
+ InOut: function(r) {
33288
+ return (r *= 2) < 1 ? 0.5 * r * r * r : 0.5 * ((r -= 2) * r * r + 2);
33285
33289
  }
33286
- }
33287
- if (t) {
33288
- let h = 0;
33289
- const u = [];
33290
- for (let f = 0; f < r.length; ++f) {
33291
- const d = r[f].index;
33292
- for (let p = 0; p < d.count; ++p)
33293
- u.push(d.getX(p) + h);
33294
- h += r[f].attributes.position.count;
33290
+ }),
33291
+ Quartic: Object.freeze({
33292
+ In: function(r) {
33293
+ return r * r * r * r;
33294
+ },
33295
+ Out: function(r) {
33296
+ return 1 - --r * r * r * r;
33297
+ },
33298
+ InOut: function(r) {
33299
+ return (r *= 2) < 1 ? 0.5 * r * r * r * r : -0.5 * ((r -= 2) * r * r * r - 2);
33295
33300
  }
33296
- c.setIndex(u);
33297
- }
33298
- for (const h in s) {
33299
- const u = VA(s[h]);
33300
- if (!u)
33301
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + h + " attribute."), null;
33302
- c.setAttribute(h, u);
33303
- }
33304
- for (const h in a) {
33305
- const u = a[h][0].length;
33306
- if (u === 0) break;
33307
- c.morphAttributes = c.morphAttributes || {}, c.morphAttributes[h] = [];
33308
- for (let f = 0; f < u; ++f) {
33309
- const d = [];
33310
- for (let b = 0; b < a[h].length; ++b)
33311
- d.push(a[h][b][f]);
33312
- const p = VA(d);
33313
- if (!p)
33314
- return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + h + " morphAttribute."), null;
33315
- c.morphAttributes[h].push(p);
33301
+ }),
33302
+ Quintic: Object.freeze({
33303
+ In: function(r) {
33304
+ return r * r * r * r * r;
33305
+ },
33306
+ Out: function(r) {
33307
+ return --r * r * r * r * r + 1;
33308
+ },
33309
+ InOut: function(r) {
33310
+ return (r *= 2) < 1 ? 0.5 * r * r * r * r * r : 0.5 * ((r -= 2) * r * r * r * r + 2);
33316
33311
  }
33312
+ }),
33313
+ Sinusoidal: Object.freeze({
33314
+ In: function(r) {
33315
+ return 1 - Math.sin((1 - r) * Math.PI / 2);
33316
+ },
33317
+ Out: function(r) {
33318
+ return Math.sin(r * Math.PI / 2);
33319
+ },
33320
+ InOut: function(r) {
33321
+ return 0.5 * (1 - Math.sin(Math.PI * (0.5 - r)));
33322
+ }
33323
+ }),
33324
+ Exponential: Object.freeze({
33325
+ In: function(r) {
33326
+ return r === 0 ? 0 : Math.pow(1024, r - 1);
33327
+ },
33328
+ Out: function(r) {
33329
+ return r === 1 ? 1 : 1 - Math.pow(2, -10 * r);
33330
+ },
33331
+ InOut: function(r) {
33332
+ return r === 0 ? 0 : r === 1 ? 1 : (r *= 2) < 1 ? 0.5 * Math.pow(1024, r - 1) : 0.5 * (-Math.pow(2, -10 * (r - 1)) + 2);
33333
+ }
33334
+ }),
33335
+ Circular: Object.freeze({
33336
+ In: function(r) {
33337
+ return 1 - Math.sqrt(1 - r * r);
33338
+ },
33339
+ Out: function(r) {
33340
+ return Math.sqrt(1 - --r * r);
33341
+ },
33342
+ InOut: function(r) {
33343
+ return (r *= 2) < 1 ? -0.5 * (Math.sqrt(1 - r * r) - 1) : 0.5 * (Math.sqrt(1 - (r -= 2) * r) + 1);
33344
+ }
33345
+ }),
33346
+ Elastic: Object.freeze({
33347
+ In: function(r) {
33348
+ return r === 0 ? 0 : r === 1 ? 1 : -Math.pow(2, 10 * (r - 1)) * Math.sin((r - 1.1) * 5 * Math.PI);
33349
+ },
33350
+ Out: function(r) {
33351
+ return r === 0 ? 0 : r === 1 ? 1 : Math.pow(2, -10 * r) * Math.sin((r - 0.1) * 5 * Math.PI) + 1;
33352
+ },
33353
+ InOut: function(r) {
33354
+ return r === 0 ? 0 : r === 1 ? 1 : (r *= 2, r < 1 ? -0.5 * Math.pow(2, 10 * (r - 1)) * Math.sin((r - 1.1) * 5 * Math.PI) : 0.5 * Math.pow(2, -10 * (r - 1)) * Math.sin((r - 1.1) * 5 * Math.PI) + 1);
33355
+ }
33356
+ }),
33357
+ Back: Object.freeze({
33358
+ In: function(r) {
33359
+ var e = 1.70158;
33360
+ return r === 1 ? 1 : r * r * ((e + 1) * r - e);
33361
+ },
33362
+ Out: function(r) {
33363
+ var e = 1.70158;
33364
+ return r === 0 ? 0 : --r * r * ((e + 1) * r + e) + 1;
33365
+ },
33366
+ InOut: function(r) {
33367
+ var e = 2.5949095;
33368
+ return (r *= 2) < 1 ? 0.5 * (r * r * ((e + 1) * r - e)) : 0.5 * ((r -= 2) * r * ((e + 1) * r + e) + 2);
33369
+ }
33370
+ }),
33371
+ Bounce: Object.freeze({
33372
+ In: function(r) {
33373
+ return 1 - pa.Bounce.Out(1 - r);
33374
+ },
33375
+ Out: function(r) {
33376
+ return r < 1 / 2.75 ? 7.5625 * r * r : r < 2 / 2.75 ? 7.5625 * (r -= 1.5 / 2.75) * r + 0.75 : r < 2.5 / 2.75 ? 7.5625 * (r -= 2.25 / 2.75) * r + 0.9375 : 7.5625 * (r -= 2.625 / 2.75) * r + 0.984375;
33377
+ },
33378
+ InOut: function(r) {
33379
+ return r < 0.5 ? pa.Bounce.In(r * 2) * 0.5 : pa.Bounce.Out(r * 2 - 1) * 0.5 + 0.5;
33380
+ }
33381
+ }),
33382
+ generatePow: function(r) {
33383
+ return r === void 0 && (r = 4), r = r < Number.EPSILON ? Number.EPSILON : r, r = r > 1e4 ? 1e4 : r, {
33384
+ In: function(e) {
33385
+ return Math.pow(e, r);
33386
+ },
33387
+ Out: function(e) {
33388
+ return 1 - Math.pow(1 - e, r);
33389
+ },
33390
+ InOut: function(e) {
33391
+ return e < 0.5 ? Math.pow(e * 2, r) / 2 : (1 - Math.pow(2 - e * 2, r)) / 2 + 0.5;
33392
+ }
33393
+ };
33317
33394
  }
33318
- return c;
33319
- }
33320
- function VA(r) {
33321
- let e, t, n, i = -1, s = 0;
33322
- for (let l = 0; l < r.length; ++l) {
33323
- const h = r[l];
33324
- if (e === void 0 && (e = h.array.constructor), e !== h.array.constructor)
33325
- return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."), null;
33326
- if (t === void 0 && (t = h.itemSize), t !== h.itemSize)
33327
- return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."), null;
33328
- if (n === void 0 && (n = h.normalized), n !== h.normalized)
33329
- return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."), null;
33330
- if (i === -1 && (i = h.gpuType), i !== h.gpuType)
33331
- return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."), null;
33332
- s += h.count * t;
33333
- }
33334
- const a = new e(s), o = new at(a, t, n);
33335
- let c = 0;
33336
- for (let l = 0; l < r.length; ++l) {
33337
- const h = r[l];
33338
- if (h.isInterleavedBufferAttribute) {
33339
- const u = c / t;
33340
- for (let f = 0, d = h.count; f < d; f++)
33341
- for (let p = 0; p < t; p++) {
33342
- const b = h.getComponent(f, p);
33343
- o.setComponent(f + u, p, b);
33344
- }
33345
- } else
33346
- a.set(h.array, c);
33347
- c += h.count * t;
33348
- }
33349
- return i !== void 0 && (o.gpuType = i), o;
33350
- }
33351
- function WA(r, e) {
33352
- if (e === bm)
33353
- return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), r;
33354
- if (e === ch || e === gd) {
33355
- let t = r.getIndex();
33356
- if (t === null) {
33357
- const a = [], o = r.getAttribute("position");
33358
- if (o !== void 0) {
33359
- for (let c = 0; c < o.count; c++)
33360
- a.push(c);
33361
- r.setIndex(a), t = r.getIndex();
33362
- } else
33363
- return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), r;
33395
+ }), lo = function() {
33396
+ return performance.now();
33397
+ }, EC = (
33398
+ /** @class */
33399
+ (function() {
33400
+ function r() {
33401
+ this._tweens = {}, this._tweensAddedDuringUpdate = {};
33364
33402
  }
33365
- const n = t.count - 2, i = [];
33366
- if (e === ch)
33367
- for (let a = 1; a <= n; a++)
33368
- i.push(t.getX(0)), i.push(t.getX(a)), i.push(t.getX(a + 1));
33369
- else
33370
- for (let a = 0; a < n; a++)
33371
- a % 2 === 0 ? (i.push(t.getX(a)), i.push(t.getX(a + 1)), i.push(t.getX(a + 2))) : (i.push(t.getX(a + 2)), i.push(t.getX(a + 1)), i.push(t.getX(a)));
33372
- i.length / 3 !== n && console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");
33373
- const s = r.clone();
33374
- return s.setIndex(i), s.clearGroups(), s;
33375
- } else
33376
- return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", e), r;
33377
- }
33378
- function EC(r) {
33379
- const e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), n = r.clone();
33380
- return P0(r, n, function(i, s) {
33381
- e.set(s, i), t.set(i, s);
33382
- }), n.traverse(function(i) {
33383
- if (!i.isSkinnedMesh) return;
33384
- const s = i, a = e.get(i), o = a.skeleton.bones;
33385
- s.skeleton = a.skeleton.clone(), s.bindMatrix.copy(a.bindMatrix), s.skeleton.bones = o.map(function(c) {
33386
- return t.get(c);
33387
- }), s.bind(s.skeleton, s.bindMatrix);
33388
- }), n;
33389
- }
33390
- function P0(r, e, t) {
33391
- t(r, e);
33392
- for (let n = 0; n < r.children.length; n++)
33393
- P0(r.children[n], e.children[n], t);
33394
- }
33395
- class w1 extends ln {
33396
- /**
33397
- * Constructs a new glTF loader.
33398
- *
33399
- * @param {LoadingManager} [manager] - The loading manager.
33400
- */
33401
- constructor(e) {
33402
- super(e), this.dracoLoader = null, this.ktx2Loader = null, this.meshoptDecoder = null, this.pluginCallbacks = [], this.register(function(t) {
33403
- return new wC(t);
33404
- }), this.register(function(t) {
33405
- return new TC(t);
33406
- }), this.register(function(t) {
33407
- return new OC(t);
33408
- }), this.register(function(t) {
33409
- return new kC(t);
33410
- }), this.register(function(t) {
33411
- return new QC(t);
33412
- }), this.register(function(t) {
33413
- return new RC(t);
33414
- }), this.register(function(t) {
33415
- return new DC(t);
33416
- }), this.register(function(t) {
33417
- return new PC(t);
33418
- }), this.register(function(t) {
33419
- return new LC(t);
33420
- }), this.register(function(t) {
33421
- return new CC(t);
33422
- }), this.register(function(t) {
33423
- return new FC(t);
33424
- }), this.register(function(t) {
33425
- return new BC(t);
33426
- }), this.register(function(t) {
33427
- return new UC(t);
33428
- }), this.register(function(t) {
33429
- return new NC(t);
33430
- }), this.register(function(t) {
33431
- return new IC(t);
33432
- }), this.register(function(t) {
33433
- return new qA(t, st.EXT_MESHOPT_COMPRESSION);
33434
- }), this.register(function(t) {
33435
- return new qA(t, st.KHR_MESHOPT_COMPRESSION);
33436
- }), this.register(function(t) {
33437
- return new GC(t);
33438
- });
33439
- }
33440
- /**
33441
- * Starts loading from the given URL and passes the loaded glTF asset
33442
- * to the `onLoad()` callback.
33443
- *
33444
- * @param {string} url - The path/URL of the file to be loaded. This can also be a data URI.
33445
- * @param {function(GLTFLoader~LoadObject)} onLoad - Executed when the loading process has been finished.
33446
- * @param {onProgressCallback} onProgress - Executed while the loading is in progress.
33447
- * @param {onErrorCallback} onError - Executed when errors occur.
33448
- */
33449
- load(e, t, n, i) {
33450
- const s = this;
33451
- let a;
33452
- if (this.resourcePath !== "")
33453
- a = this.resourcePath;
33454
- else if (this.path !== "") {
33455
- const l = _s.extractUrlBase(e);
33456
- a = _s.resolveURL(l, this.path);
33457
- } else
33458
- a = _s.extractUrlBase(e);
33459
- this.manager.itemStart(e);
33460
- const o = function(l) {
33461
- i ? i(l) : console.error(l), s.manager.itemError(e), s.manager.itemEnd(e);
33462
- }, c = new bn(this.manager);
33463
- c.setPath(this.path), c.setResponseType("arraybuffer"), c.setRequestHeader(this.requestHeader), c.setWithCredentials(this.withCredentials), c.load(e, function(l) {
33464
- try {
33465
- s.parse(l, a, function(h) {
33466
- t(h), s.manager.itemEnd(e);
33467
- }, o);
33468
- } catch (h) {
33469
- o(h);
33403
+ return r.prototype.getAll = function() {
33404
+ var e = this;
33405
+ return Object.keys(this._tweens).map(function(t) {
33406
+ return e._tweens[t];
33407
+ });
33408
+ }, r.prototype.removeAll = function() {
33409
+ this._tweens = {};
33410
+ }, r.prototype.add = function(e) {
33411
+ this._tweens[e.getId()] = e, this._tweensAddedDuringUpdate[e.getId()] = e;
33412
+ }, r.prototype.remove = function(e) {
33413
+ delete this._tweens[e.getId()], delete this._tweensAddedDuringUpdate[e.getId()];
33414
+ }, r.prototype.update = function(e, t) {
33415
+ e === void 0 && (e = lo()), t === void 0 && (t = !1);
33416
+ var n = Object.keys(this._tweens);
33417
+ if (n.length === 0)
33418
+ return !1;
33419
+ for (; n.length > 0; ) {
33420
+ this._tweensAddedDuringUpdate = {};
33421
+ for (var i = 0; i < n.length; i++) {
33422
+ var s = this._tweens[n[i]], a = !t;
33423
+ s && s.update(e, a) === !1 && !t && delete this._tweens[n[i]];
33424
+ }
33425
+ n = Object.keys(this._tweensAddedDuringUpdate);
33470
33426
  }
33471
- }, n, o);
33472
- }
33473
- /**
33474
- * Sets the given Draco loader to this loader. Required for decoding assets
33475
- * compressed with the `KHR_draco_mesh_compression` extension.
33476
- *
33477
- * @param {DRACOLoader} dracoLoader - The Draco loader to set.
33478
- * @return {GLTFLoader} A reference to this loader.
33479
- */
33480
- setDRACOLoader(e) {
33481
- return this.dracoLoader = e, this;
33482
- }
33483
- /**
33484
- * Sets the given KTX2 loader to this loader. Required for loading KTX2
33485
- * compressed textures.
33486
- *
33487
- * @param {KTX2Loader} ktx2Loader - The KTX2 loader to set.
33488
- * @return {GLTFLoader} A reference to this loader.
33489
- */
33490
- setKTX2Loader(e) {
33491
- return this.ktx2Loader = e, this;
33492
- }
33493
- /**
33494
- * Sets the given meshopt decoder. Required for decoding assets
33495
- * compressed with the `EXT_meshopt_compression` extension.
33496
- *
33497
- * @param {Object} meshoptDecoder - The meshopt decoder to set.
33498
- * @return {GLTFLoader} A reference to this loader.
33499
- */
33500
- setMeshoptDecoder(e) {
33501
- return this.meshoptDecoder = e, this;
33502
- }
33503
- /**
33504
- * Registers a plugin callback. This API is internally used to implement the various
33505
- * glTF extensions but can also used by third-party code to add additional logic
33506
- * to the loader.
33507
- *
33508
- * @param {function(parser:GLTFParser)} callback - The callback function to register.
33509
- * @return {GLTFLoader} A reference to this loader.
33510
- */
33511
- register(e) {
33512
- return this.pluginCallbacks.indexOf(e) === -1 && this.pluginCallbacks.push(e), this;
33513
- }
33514
- /**
33515
- * Unregisters a plugin callback.
33516
- *
33517
- * @param {Function} callback - The callback function to unregister.
33518
- * @return {GLTFLoader} A reference to this loader.
33519
- */
33520
- unregister(e) {
33521
- return this.pluginCallbacks.indexOf(e) !== -1 && this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e), 1), this;
33427
+ return !0;
33428
+ }, r;
33429
+ })()
33430
+ ), Jf = {
33431
+ Linear: function(r, e) {
33432
+ var t = r.length - 1, n = t * e, i = Math.floor(n), s = Jf.Utils.Linear;
33433
+ return e < 0 ? s(r[0], r[1], n) : e > 1 ? s(r[t], r[t - 1], t - n) : s(r[i], r[i + 1 > t ? t : i + 1], n - i);
33434
+ },
33435
+ Utils: {
33436
+ Linear: function(r, e, t) {
33437
+ return (e - r) * t + r;
33438
+ }
33522
33439
  }
33523
- /**
33524
- * Parses the given glTF data and returns the resulting group.
33525
- *
33526
- * @param {string|ArrayBuffer} data - The raw glTF data.
33527
- * @param {string} path - The URL base path.
33528
- * @param {function(GLTFLoader~LoadObject)} onLoad - Executed when the loading process has been finished.
33529
- * @param {onErrorCallback} onError - Executed when errors occur.
33530
- */
33531
- parse(e, t, n, i) {
33532
- let s;
33533
- const a = {}, o = {}, c = new TextDecoder();
33534
- if (typeof e == "string")
33535
- s = JSON.parse(e);
33536
- else if (e instanceof ArrayBuffer)
33537
- if (c.decode(new Uint8Array(e, 0, 4)) === L0) {
33538
- try {
33539
- a[st.KHR_BINARY_GLTF] = new zC(e);
33540
- } catch (u) {
33541
- i && i(u);
33542
- return;
33543
- }
33544
- s = JSON.parse(a[st.KHR_BINARY_GLTF].content);
33545
- } else
33546
- s = JSON.parse(c.decode(e));
33547
- else
33548
- s = e;
33549
- if (s.asset === void 0 || s.asset.version[0] < 2) {
33550
- i && i(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));
33551
- return;
33440
+ }, P0 = (
33441
+ /** @class */
33442
+ (function() {
33443
+ function r() {
33552
33444
  }
33553
- const l = new tw(s, {
33554
- path: t || this.resourcePath || "",
33555
- crossOrigin: this.crossOrigin,
33556
- requestHeader: this.requestHeader,
33557
- manager: this.manager,
33558
- ktx2Loader: this.ktx2Loader,
33559
- meshoptDecoder: this.meshoptDecoder
33560
- });
33561
- l.fileLoader.setRequestHeader(this.requestHeader);
33562
- for (let h = 0; h < this.pluginCallbacks.length; h++) {
33563
- const u = this.pluginCallbacks[h](l);
33564
- u.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), o[u.name] = u, a[u.name] = !0;
33445
+ return r.nextId = function() {
33446
+ return r._nextId++;
33447
+ }, r._nextId = 0, r;
33448
+ })()
33449
+ ), Zf = new EC(), SC = (
33450
+ /** @class */
33451
+ (function() {
33452
+ function r(e, t) {
33453
+ t === void 0 && (t = Zf), this._object = e, this._group = t, this._isPaused = !1, this._pauseStart = 0, this._valuesStart = {}, this._valuesEnd = {}, this._valuesStartRepeat = {}, this._duration = 1e3, this._isDynamic = !1, this._initialRepeat = 0, this._repeat = 0, this._yoyo = !1, this._isPlaying = !1, this._reversed = !1, this._delayTime = 0, this._startTime = 0, this._easingFunction = pa.Linear.None, this._interpolationFunction = Jf.Linear, this._chainedTweens = [], this._onStartCallbackFired = !1, this._onEveryStartCallbackFired = !1, this._id = P0.nextId(), this._isChainStopped = !1, this._propertiesAreSetUp = !1, this._goToEnd = !1;
33565
33454
  }
33566
- if (s.extensionsUsed)
33567
- for (let h = 0; h < s.extensionsUsed.length; ++h) {
33568
- const u = s.extensionsUsed[h], f = s.extensionsRequired || [];
33569
- switch (u) {
33570
- case st.KHR_MATERIALS_UNLIT:
33571
- a[u] = new MC();
33572
- break;
33573
- case st.KHR_DRACO_MESH_COMPRESSION:
33574
- a[u] = new HC(s, this.dracoLoader);
33575
- break;
33576
- case st.KHR_TEXTURE_TRANSFORM:
33577
- a[u] = new VC();
33578
- break;
33579
- case st.KHR_MESH_QUANTIZATION:
33580
- a[u] = new WC();
33581
- break;
33582
- default:
33583
- f.indexOf(u) >= 0 && o[u] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + u + '".');
33584
- }
33455
+ return r.prototype.getId = function() {
33456
+ return this._id;
33457
+ }, r.prototype.isPlaying = function() {
33458
+ return this._isPlaying;
33459
+ }, r.prototype.isPaused = function() {
33460
+ return this._isPaused;
33461
+ }, r.prototype.getDuration = function() {
33462
+ return this._duration;
33463
+ }, r.prototype.to = function(e, t) {
33464
+ if (t === void 0 && (t = 1e3), this._isPlaying)
33465
+ throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");
33466
+ return this._valuesEnd = e, this._propertiesAreSetUp = !1, this._duration = t < 0 ? 0 : t, this;
33467
+ }, r.prototype.duration = function(e) {
33468
+ return e === void 0 && (e = 1e3), this._duration = e < 0 ? 0 : e, this;
33469
+ }, r.prototype.dynamic = function(e) {
33470
+ return e === void 0 && (e = !1), this._isDynamic = e, this;
33471
+ }, r.prototype.start = function(e, t) {
33472
+ if (e === void 0 && (e = lo()), t === void 0 && (t = !1), this._isPlaying)
33473
+ return this;
33474
+ if (this._group && this._group.add(this), this._repeat = this._initialRepeat, this._reversed) {
33475
+ this._reversed = !1;
33476
+ for (var n in this._valuesStartRepeat)
33477
+ this._swapEndStartRepeatValues(n), this._valuesStart[n] = this._valuesStartRepeat[n];
33585
33478
  }
33586
- l.setExtensions(a), l.setPlugins(o), l.parse(n, i);
33587
- }
33588
- /**
33479
+ if (this._isPlaying = !0, this._isPaused = !1, this._onStartCallbackFired = !1, this._onEveryStartCallbackFired = !1, this._isChainStopped = !1, this._startTime = e, this._startTime += this._delayTime, !this._propertiesAreSetUp || t) {
33480
+ if (this._propertiesAreSetUp = !0, !this._isDynamic) {
33481
+ var i = {};
33482
+ for (var s in this._valuesEnd)
33483
+ i[s] = this._valuesEnd[s];
33484
+ this._valuesEnd = i;
33485
+ }
33486
+ this._setupProperties(this._object, this._valuesStart, this._valuesEnd, this._valuesStartRepeat, t);
33487
+ }
33488
+ return this;
33489
+ }, r.prototype.startFromCurrentValues = function(e) {
33490
+ return this.start(e, !0);
33491
+ }, r.prototype._setupProperties = function(e, t, n, i, s) {
33492
+ for (var a in n) {
33493
+ var o = e[a], c = Array.isArray(o), l = c ? "array" : typeof o, h = !c && Array.isArray(n[a]);
33494
+ if (!(l === "undefined" || l === "function")) {
33495
+ if (h) {
33496
+ var u = n[a];
33497
+ if (u.length === 0)
33498
+ continue;
33499
+ for (var f = [o], d = 0, p = u.length; d < p; d += 1) {
33500
+ var b = this._handleRelativeValue(o, u[d]);
33501
+ if (isNaN(b)) {
33502
+ h = !1, console.warn("Found invalid interpolation list. Skipping.");
33503
+ break;
33504
+ }
33505
+ f.push(b);
33506
+ }
33507
+ h && (n[a] = f);
33508
+ }
33509
+ if ((l === "object" || c) && o && !h) {
33510
+ t[a] = c ? [] : {};
33511
+ var g = o;
33512
+ for (var A in g)
33513
+ t[a][A] = g[A];
33514
+ i[a] = c ? [] : {};
33515
+ var u = n[a];
33516
+ if (!this._isDynamic) {
33517
+ var m = {};
33518
+ for (var A in u)
33519
+ m[A] = u[A];
33520
+ n[a] = u = m;
33521
+ }
33522
+ this._setupProperties(g, t[a], u, i[a], s);
33523
+ } else
33524
+ (typeof t[a] > "u" || s) && (t[a] = o), c || (t[a] *= 1), h ? i[a] = n[a].slice().reverse() : i[a] = t[a] || 0;
33525
+ }
33526
+ }
33527
+ }, r.prototype.stop = function() {
33528
+ return this._isChainStopped || (this._isChainStopped = !0, this.stopChainedTweens()), this._isPlaying ? (this._group && this._group.remove(this), this._isPlaying = !1, this._isPaused = !1, this._onStopCallback && this._onStopCallback(this._object), this) : this;
33529
+ }, r.prototype.end = function() {
33530
+ return this._goToEnd = !0, this.update(1 / 0), this;
33531
+ }, r.prototype.pause = function(e) {
33532
+ return e === void 0 && (e = lo()), this._isPaused || !this._isPlaying ? this : (this._isPaused = !0, this._pauseStart = e, this._group && this._group.remove(this), this);
33533
+ }, r.prototype.resume = function(e) {
33534
+ return e === void 0 && (e = lo()), !this._isPaused || !this._isPlaying ? this : (this._isPaused = !1, this._startTime += e - this._pauseStart, this._pauseStart = 0, this._group && this._group.add(this), this);
33535
+ }, r.prototype.stopChainedTweens = function() {
33536
+ for (var e = 0, t = this._chainedTweens.length; e < t; e++)
33537
+ this._chainedTweens[e].stop();
33538
+ return this;
33539
+ }, r.prototype.group = function(e) {
33540
+ return e === void 0 && (e = Zf), this._group = e, this;
33541
+ }, r.prototype.delay = function(e) {
33542
+ return e === void 0 && (e = 0), this._delayTime = e, this;
33543
+ }, r.prototype.repeat = function(e) {
33544
+ return e === void 0 && (e = 0), this._initialRepeat = e, this._repeat = e, this;
33545
+ }, r.prototype.repeatDelay = function(e) {
33546
+ return this._repeatDelayTime = e, this;
33547
+ }, r.prototype.yoyo = function(e) {
33548
+ return e === void 0 && (e = !1), this._yoyo = e, this;
33549
+ }, r.prototype.easing = function(e) {
33550
+ return e === void 0 && (e = pa.Linear.None), this._easingFunction = e, this;
33551
+ }, r.prototype.interpolation = function(e) {
33552
+ return e === void 0 && (e = Jf.Linear), this._interpolationFunction = e, this;
33553
+ }, r.prototype.chain = function() {
33554
+ for (var e = [], t = 0; t < arguments.length; t++)
33555
+ e[t] = arguments[t];
33556
+ return this._chainedTweens = e, this;
33557
+ }, r.prototype.onStart = function(e) {
33558
+ return this._onStartCallback = e, this;
33559
+ }, r.prototype.onEveryStart = function(e) {
33560
+ return this._onEveryStartCallback = e, this;
33561
+ }, r.prototype.onUpdate = function(e) {
33562
+ return this._onUpdateCallback = e, this;
33563
+ }, r.prototype.onRepeat = function(e) {
33564
+ return this._onRepeatCallback = e, this;
33565
+ }, r.prototype.onComplete = function(e) {
33566
+ return this._onCompleteCallback = e, this;
33567
+ }, r.prototype.onStop = function(e) {
33568
+ return this._onStopCallback = e, this;
33569
+ }, r.prototype.update = function(e, t) {
33570
+ var n = this, i;
33571
+ if (e === void 0 && (e = lo()), t === void 0 && (t = !0), this._isPaused)
33572
+ return !0;
33573
+ var s, a = this._startTime + this._duration;
33574
+ if (!this._goToEnd && !this._isPlaying) {
33575
+ if (e > a)
33576
+ return !1;
33577
+ t && this.start(e, !0);
33578
+ }
33579
+ if (this._goToEnd = !1, e < this._startTime)
33580
+ return !0;
33581
+ this._onStartCallbackFired === !1 && (this._onStartCallback && this._onStartCallback(this._object), this._onStartCallbackFired = !0), this._onEveryStartCallbackFired === !1 && (this._onEveryStartCallback && this._onEveryStartCallback(this._object), this._onEveryStartCallbackFired = !0);
33582
+ var o = e - this._startTime, c = this._duration + ((i = this._repeatDelayTime) !== null && i !== void 0 ? i : this._delayTime), l = this._duration + this._repeat * c, h = function() {
33583
+ if (n._duration === 0 || o > l)
33584
+ return 1;
33585
+ var g = Math.trunc(o / c), A = o - g * c, m = Math.min(A / n._duration, 1);
33586
+ return m === 0 && o === n._duration ? 1 : m;
33587
+ }, u = h(), f = this._easingFunction(u);
33588
+ if (this._updateProperties(this._object, this._valuesStart, this._valuesEnd, f), this._onUpdateCallback && this._onUpdateCallback(this._object, u), this._duration === 0 || o >= this._duration)
33589
+ if (this._repeat > 0) {
33590
+ var d = Math.min(Math.trunc((o - this._duration) / c) + 1, this._repeat);
33591
+ isFinite(this._repeat) && (this._repeat -= d);
33592
+ for (s in this._valuesStartRepeat)
33593
+ !this._yoyo && typeof this._valuesEnd[s] == "string" && (this._valuesStartRepeat[s] = // eslint-disable-next-line
33594
+ // @ts-ignore FIXME?
33595
+ this._valuesStartRepeat[s] + parseFloat(this._valuesEnd[s])), this._yoyo && this._swapEndStartRepeatValues(s), this._valuesStart[s] = this._valuesStartRepeat[s];
33596
+ return this._yoyo && (this._reversed = !this._reversed), this._startTime += c * d, this._onRepeatCallback && this._onRepeatCallback(this._object), this._onEveryStartCallbackFired = !1, !0;
33597
+ } else {
33598
+ this._onCompleteCallback && this._onCompleteCallback(this._object);
33599
+ for (var p = 0, b = this._chainedTweens.length; p < b; p++)
33600
+ this._chainedTweens[p].start(this._startTime + this._duration, !1);
33601
+ return this._isPlaying = !1, !1;
33602
+ }
33603
+ return !0;
33604
+ }, r.prototype._updateProperties = function(e, t, n, i) {
33605
+ for (var s in n)
33606
+ if (t[s] !== void 0) {
33607
+ var a = t[s] || 0, o = n[s], c = Array.isArray(e[s]), l = Array.isArray(o), h = !c && l;
33608
+ h ? e[s] = this._interpolationFunction(o, i) : typeof o == "object" && o ? this._updateProperties(e[s], a, o, i) : (o = this._handleRelativeValue(a, o), typeof o == "number" && (e[s] = a + (o - a) * i));
33609
+ }
33610
+ }, r.prototype._handleRelativeValue = function(e, t) {
33611
+ return typeof t != "string" ? t : t.charAt(0) === "+" || t.charAt(0) === "-" ? e + parseFloat(t) : parseFloat(t);
33612
+ }, r.prototype._swapEndStartRepeatValues = function(e) {
33613
+ var t = this._valuesStartRepeat[e], n = this._valuesEnd[e];
33614
+ typeof n == "string" ? this._valuesStartRepeat[e] = this._valuesStartRepeat[e] + parseFloat(n) : this._valuesStartRepeat[e] = this._valuesEnd[e], this._valuesEnd[e] = t;
33615
+ }, r;
33616
+ })()
33617
+ );
33618
+ P0.nextId;
33619
+ var Mi = Zf;
33620
+ Mi.getAll.bind(Mi);
33621
+ Mi.removeAll.bind(Mi);
33622
+ Mi.add.bind(Mi);
33623
+ Mi.remove.bind(Mi);
33624
+ Mi.update.bind(Mi);
33625
+ var C1 = {
33626
+ Easing: pa,
33627
+ Tween: SC
33628
+ };
33629
+ function w1(r, e = !1) {
33630
+ const t = r[0].index !== null, n = new Set(Object.keys(r[0].attributes)), i = new Set(Object.keys(r[0].morphAttributes)), s = {}, a = {}, o = r[0].morphTargetsRelative, c = new Ve();
33631
+ let l = 0;
33632
+ for (let h = 0; h < r.length; ++h) {
33633
+ const u = r[h];
33634
+ let f = 0;
33635
+ if (t !== (u.index !== null))
33636
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."), null;
33637
+ for (const d in u.attributes) {
33638
+ if (!n.has(d))
33639
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + '. All geometries must have compatible attributes; make sure "' + d + '" attribute exists among all geometries, or in none of them.'), null;
33640
+ s[d] === void 0 && (s[d] = []), s[d].push(u.attributes[d]), f++;
33641
+ }
33642
+ if (f !== n.size)
33643
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". Make sure all geometries have the same number of attributes."), null;
33644
+ if (o !== u.morphTargetsRelative)
33645
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". .morphTargetsRelative must be consistent throughout all geometries."), null;
33646
+ for (const d in u.morphAttributes) {
33647
+ if (!i.has(d))
33648
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". .morphAttributes must be consistent throughout all geometries."), null;
33649
+ a[d] === void 0 && (a[d] = []), a[d].push(u.morphAttributes[d]);
33650
+ }
33651
+ if (e) {
33652
+ let d;
33653
+ if (t)
33654
+ d = u.index.count;
33655
+ else if (u.attributes.position !== void 0)
33656
+ d = u.attributes.position.count;
33657
+ else
33658
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index " + h + ". The geometry must have either an index or a position attribute"), null;
33659
+ c.addGroup(l, d, h), l += d;
33660
+ }
33661
+ }
33662
+ if (t) {
33663
+ let h = 0;
33664
+ const u = [];
33665
+ for (let f = 0; f < r.length; ++f) {
33666
+ const d = r[f].index;
33667
+ for (let p = 0; p < d.count; ++p)
33668
+ u.push(d.getX(p) + h);
33669
+ h += r[f].attributes.position.count;
33670
+ }
33671
+ c.setIndex(u);
33672
+ }
33673
+ for (const h in s) {
33674
+ const u = VA(s[h]);
33675
+ if (!u)
33676
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + h + " attribute."), null;
33677
+ c.setAttribute(h, u);
33678
+ }
33679
+ for (const h in a) {
33680
+ const u = a[h][0].length;
33681
+ if (u === 0) break;
33682
+ c.morphAttributes = c.morphAttributes || {}, c.morphAttributes[h] = [];
33683
+ for (let f = 0; f < u; ++f) {
33684
+ const d = [];
33685
+ for (let b = 0; b < a[h].length; ++b)
33686
+ d.push(a[h][b][f]);
33687
+ const p = VA(d);
33688
+ if (!p)
33689
+ return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the " + h + " morphAttribute."), null;
33690
+ c.morphAttributes[h].push(p);
33691
+ }
33692
+ }
33693
+ return c;
33694
+ }
33695
+ function VA(r) {
33696
+ let e, t, n, i = -1, s = 0;
33697
+ for (let l = 0; l < r.length; ++l) {
33698
+ const h = r[l];
33699
+ if (e === void 0 && (e = h.array.constructor), e !== h.array.constructor)
33700
+ return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."), null;
33701
+ if (t === void 0 && (t = h.itemSize), t !== h.itemSize)
33702
+ return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."), null;
33703
+ if (n === void 0 && (n = h.normalized), n !== h.normalized)
33704
+ return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."), null;
33705
+ if (i === -1 && (i = h.gpuType), i !== h.gpuType)
33706
+ return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."), null;
33707
+ s += h.count * t;
33708
+ }
33709
+ const a = new e(s), o = new at(a, t, n);
33710
+ let c = 0;
33711
+ for (let l = 0; l < r.length; ++l) {
33712
+ const h = r[l];
33713
+ if (h.isInterleavedBufferAttribute) {
33714
+ const u = c / t;
33715
+ for (let f = 0, d = h.count; f < d; f++)
33716
+ for (let p = 0; p < t; p++) {
33717
+ const b = h.getComponent(f, p);
33718
+ o.setComponent(f + u, p, b);
33719
+ }
33720
+ } else
33721
+ a.set(h.array, c);
33722
+ c += h.count * t;
33723
+ }
33724
+ return i !== void 0 && (o.gpuType = i), o;
33725
+ }
33726
+ function WA(r, e) {
33727
+ if (e === bm)
33728
+ return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), r;
33729
+ if (e === ch || e === gd) {
33730
+ let t = r.getIndex();
33731
+ if (t === null) {
33732
+ const a = [], o = r.getAttribute("position");
33733
+ if (o !== void 0) {
33734
+ for (let c = 0; c < o.count; c++)
33735
+ a.push(c);
33736
+ r.setIndex(a), t = r.getIndex();
33737
+ } else
33738
+ return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), r;
33739
+ }
33740
+ const n = t.count - 2, i = [];
33741
+ if (e === ch)
33742
+ for (let a = 1; a <= n; a++)
33743
+ i.push(t.getX(0)), i.push(t.getX(a)), i.push(t.getX(a + 1));
33744
+ else
33745
+ for (let a = 0; a < n; a++)
33746
+ a % 2 === 0 ? (i.push(t.getX(a)), i.push(t.getX(a + 1)), i.push(t.getX(a + 2))) : (i.push(t.getX(a + 2)), i.push(t.getX(a + 1)), i.push(t.getX(a)));
33747
+ i.length / 3 !== n && console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");
33748
+ const s = r.clone();
33749
+ return s.setIndex(i), s.clearGroups(), s;
33750
+ } else
33751
+ return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", e), r;
33752
+ }
33753
+ function IC(r) {
33754
+ const e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), n = r.clone();
33755
+ return L0(r, n, function(i, s) {
33756
+ e.set(s, i), t.set(i, s);
33757
+ }), n.traverse(function(i) {
33758
+ if (!i.isSkinnedMesh) return;
33759
+ const s = i, a = e.get(i), o = a.skeleton.bones;
33760
+ s.skeleton = a.skeleton.clone(), s.bindMatrix.copy(a.bindMatrix), s.skeleton.bones = o.map(function(c) {
33761
+ return t.get(c);
33762
+ }), s.bind(s.skeleton, s.bindMatrix);
33763
+ }), n;
33764
+ }
33765
+ function L0(r, e, t) {
33766
+ t(r, e);
33767
+ for (let n = 0; n < r.children.length; n++)
33768
+ L0(r.children[n], e.children[n], t);
33769
+ }
33770
+ class T1 extends ln {
33771
+ /**
33772
+ * Constructs a new glTF loader.
33773
+ *
33774
+ * @param {LoadingManager} [manager] - The loading manager.
33775
+ */
33776
+ constructor(e) {
33777
+ super(e), this.dracoLoader = null, this.ktx2Loader = null, this.meshoptDecoder = null, this.pluginCallbacks = [], this.register(function(t) {
33778
+ return new BC(t);
33779
+ }), this.register(function(t) {
33780
+ return new RC(t);
33781
+ }), this.register(function(t) {
33782
+ return new QC(t);
33783
+ }), this.register(function(t) {
33784
+ return new GC(t);
33785
+ }), this.register(function(t) {
33786
+ return new zC(t);
33787
+ }), this.register(function(t) {
33788
+ return new PC(t);
33789
+ }), this.register(function(t) {
33790
+ return new LC(t);
33791
+ }), this.register(function(t) {
33792
+ return new FC(t);
33793
+ }), this.register(function(t) {
33794
+ return new NC(t);
33795
+ }), this.register(function(t) {
33796
+ return new TC(t);
33797
+ }), this.register(function(t) {
33798
+ return new UC(t);
33799
+ }), this.register(function(t) {
33800
+ return new DC(t);
33801
+ }), this.register(function(t) {
33802
+ return new kC(t);
33803
+ }), this.register(function(t) {
33804
+ return new OC(t);
33805
+ }), this.register(function(t) {
33806
+ return new CC(t);
33807
+ }), this.register(function(t) {
33808
+ return new qA(t, st.EXT_MESHOPT_COMPRESSION);
33809
+ }), this.register(function(t) {
33810
+ return new qA(t, st.KHR_MESHOPT_COMPRESSION);
33811
+ }), this.register(function(t) {
33812
+ return new HC(t);
33813
+ });
33814
+ }
33815
+ /**
33816
+ * Starts loading from the given URL and passes the loaded glTF asset
33817
+ * to the `onLoad()` callback.
33818
+ *
33819
+ * @param {string} url - The path/URL of the file to be loaded. This can also be a data URI.
33820
+ * @param {function(GLTFLoader~LoadObject)} onLoad - Executed when the loading process has been finished.
33821
+ * @param {onProgressCallback} onProgress - Executed while the loading is in progress.
33822
+ * @param {onErrorCallback} onError - Executed when errors occur.
33823
+ */
33824
+ load(e, t, n, i) {
33825
+ const s = this;
33826
+ let a;
33827
+ if (this.resourcePath !== "")
33828
+ a = this.resourcePath;
33829
+ else if (this.path !== "") {
33830
+ const l = _s.extractUrlBase(e);
33831
+ a = _s.resolveURL(l, this.path);
33832
+ } else
33833
+ a = _s.extractUrlBase(e);
33834
+ this.manager.itemStart(e);
33835
+ const o = function(l) {
33836
+ i ? i(l) : console.error(l), s.manager.itemError(e), s.manager.itemEnd(e);
33837
+ }, c = new bn(this.manager);
33838
+ c.setPath(this.path), c.setResponseType("arraybuffer"), c.setRequestHeader(this.requestHeader), c.setWithCredentials(this.withCredentials), c.load(e, function(l) {
33839
+ try {
33840
+ s.parse(l, a, function(h) {
33841
+ t(h), s.manager.itemEnd(e);
33842
+ }, o);
33843
+ } catch (h) {
33844
+ o(h);
33845
+ }
33846
+ }, n, o);
33847
+ }
33848
+ /**
33849
+ * Sets the given Draco loader to this loader. Required for decoding assets
33850
+ * compressed with the `KHR_draco_mesh_compression` extension.
33851
+ *
33852
+ * @param {DRACOLoader} dracoLoader - The Draco loader to set.
33853
+ * @return {GLTFLoader} A reference to this loader.
33854
+ */
33855
+ setDRACOLoader(e) {
33856
+ return this.dracoLoader = e, this;
33857
+ }
33858
+ /**
33859
+ * Sets the given KTX2 loader to this loader. Required for loading KTX2
33860
+ * compressed textures.
33861
+ *
33862
+ * @param {KTX2Loader} ktx2Loader - The KTX2 loader to set.
33863
+ * @return {GLTFLoader} A reference to this loader.
33864
+ */
33865
+ setKTX2Loader(e) {
33866
+ return this.ktx2Loader = e, this;
33867
+ }
33868
+ /**
33869
+ * Sets the given meshopt decoder. Required for decoding assets
33870
+ * compressed with the `EXT_meshopt_compression` extension.
33871
+ *
33872
+ * @param {Object} meshoptDecoder - The meshopt decoder to set.
33873
+ * @return {GLTFLoader} A reference to this loader.
33874
+ */
33875
+ setMeshoptDecoder(e) {
33876
+ return this.meshoptDecoder = e, this;
33877
+ }
33878
+ /**
33879
+ * Registers a plugin callback. This API is internally used to implement the various
33880
+ * glTF extensions but can also used by third-party code to add additional logic
33881
+ * to the loader.
33882
+ *
33883
+ * @param {function(parser:GLTFParser)} callback - The callback function to register.
33884
+ * @return {GLTFLoader} A reference to this loader.
33885
+ */
33886
+ register(e) {
33887
+ return this.pluginCallbacks.indexOf(e) === -1 && this.pluginCallbacks.push(e), this;
33888
+ }
33889
+ /**
33890
+ * Unregisters a plugin callback.
33891
+ *
33892
+ * @param {Function} callback - The callback function to unregister.
33893
+ * @return {GLTFLoader} A reference to this loader.
33894
+ */
33895
+ unregister(e) {
33896
+ return this.pluginCallbacks.indexOf(e) !== -1 && this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e), 1), this;
33897
+ }
33898
+ /**
33899
+ * Parses the given glTF data and returns the resulting group.
33900
+ *
33901
+ * @param {string|ArrayBuffer} data - The raw glTF data.
33902
+ * @param {string} path - The URL base path.
33903
+ * @param {function(GLTFLoader~LoadObject)} onLoad - Executed when the loading process has been finished.
33904
+ * @param {onErrorCallback} onError - Executed when errors occur.
33905
+ */
33906
+ parse(e, t, n, i) {
33907
+ let s;
33908
+ const a = {}, o = {}, c = new TextDecoder();
33909
+ if (typeof e == "string")
33910
+ s = JSON.parse(e);
33911
+ else if (e instanceof ArrayBuffer)
33912
+ if (c.decode(new Uint8Array(e, 0, 4)) === F0) {
33913
+ try {
33914
+ a[st.KHR_BINARY_GLTF] = new VC(e);
33915
+ } catch (u) {
33916
+ i && i(u);
33917
+ return;
33918
+ }
33919
+ s = JSON.parse(a[st.KHR_BINARY_GLTF].content);
33920
+ } else
33921
+ s = JSON.parse(c.decode(e));
33922
+ else
33923
+ s = e;
33924
+ if (s.asset === void 0 || s.asset.version[0] < 2) {
33925
+ i && i(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));
33926
+ return;
33927
+ }
33928
+ const l = new iw(s, {
33929
+ path: t || this.resourcePath || "",
33930
+ crossOrigin: this.crossOrigin,
33931
+ requestHeader: this.requestHeader,
33932
+ manager: this.manager,
33933
+ ktx2Loader: this.ktx2Loader,
33934
+ meshoptDecoder: this.meshoptDecoder
33935
+ });
33936
+ l.fileLoader.setRequestHeader(this.requestHeader);
33937
+ for (let h = 0; h < this.pluginCallbacks.length; h++) {
33938
+ const u = this.pluginCallbacks[h](l);
33939
+ u.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), o[u.name] = u, a[u.name] = !0;
33940
+ }
33941
+ if (s.extensionsUsed)
33942
+ for (let h = 0; h < s.extensionsUsed.length; ++h) {
33943
+ const u = s.extensionsUsed[h], f = s.extensionsRequired || [];
33944
+ switch (u) {
33945
+ case st.KHR_MATERIALS_UNLIT:
33946
+ a[u] = new wC();
33947
+ break;
33948
+ case st.KHR_DRACO_MESH_COMPRESSION:
33949
+ a[u] = new WC(s, this.dracoLoader);
33950
+ break;
33951
+ case st.KHR_TEXTURE_TRANSFORM:
33952
+ a[u] = new qC();
33953
+ break;
33954
+ case st.KHR_MESH_QUANTIZATION:
33955
+ a[u] = new XC();
33956
+ break;
33957
+ default:
33958
+ f.indexOf(u) >= 0 && o[u] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + u + '".');
33959
+ }
33960
+ }
33961
+ l.setExtensions(a), l.setPlugins(o), l.parse(n, i);
33962
+ }
33963
+ /**
33589
33964
  * Async version of {@link GLTFLoader#parse}.
33590
33965
  *
33591
33966
  * @async
@@ -33600,7 +33975,7 @@ class w1 extends ln {
33600
33975
  });
33601
33976
  }
33602
33977
  }
33603
- function SC() {
33978
+ function MC() {
33604
33979
  let r = {};
33605
33980
  return {
33606
33981
  get: function(e) {
@@ -33646,7 +34021,7 @@ const st = {
33646
34021
  KHR_MESHOPT_COMPRESSION: "KHR_meshopt_compression",
33647
34022
  EXT_MESH_GPU_INSTANCING: "EXT_mesh_gpu_instancing"
33648
34023
  };
33649
- class IC {
34024
+ class CC {
33650
34025
  constructor(e) {
33651
34026
  this.parser = e, this.name = st.KHR_LIGHTS_PUNCTUAL, this.cache = { refs: {}, uses: {} };
33652
34027
  }
@@ -33692,7 +34067,7 @@ class IC {
33692
34067
  });
33693
34068
  }
33694
34069
  }
33695
- class MC {
34070
+ class wC {
33696
34071
  constructor() {
33697
34072
  this.name = st.KHR_MATERIALS_UNLIT;
33698
34073
  }
@@ -33713,7 +34088,7 @@ class MC {
33713
34088
  return Promise.all(i);
33714
34089
  }
33715
34090
  }
33716
- class CC {
34091
+ class TC {
33717
34092
  constructor(e) {
33718
34093
  this.parser = e, this.name = st.KHR_MATERIALS_EMISSIVE_STRENGTH;
33719
34094
  }
@@ -33722,7 +34097,7 @@ class CC {
33722
34097
  return n === null || n.emissiveStrength !== void 0 && (t.emissiveIntensity = n.emissiveStrength), Promise.resolve();
33723
34098
  }
33724
34099
  }
33725
- class wC {
34100
+ class BC {
33726
34101
  constructor(e) {
33727
34102
  this.parser = e, this.name = st.KHR_MATERIALS_CLEARCOAT;
33728
34103
  }
@@ -33740,7 +34115,7 @@ class wC {
33740
34115
  return Promise.all(i);
33741
34116
  }
33742
34117
  }
33743
- class TC {
34118
+ class RC {
33744
34119
  constructor(e) {
33745
34120
  this.parser = e, this.name = st.KHR_MATERIALS_DISPERSION;
33746
34121
  }
@@ -33752,7 +34127,7 @@ class TC {
33752
34127
  return n === null || (t.dispersion = n.dispersion !== void 0 ? n.dispersion : 0), Promise.resolve();
33753
34128
  }
33754
34129
  }
33755
- class BC {
34130
+ class DC {
33756
34131
  constructor(e) {
33757
34132
  this.parser = e, this.name = st.KHR_MATERIALS_IRIDESCENCE;
33758
34133
  }
@@ -33766,7 +34141,7 @@ class BC {
33766
34141
  return n.iridescenceFactor !== void 0 && (t.iridescence = n.iridescenceFactor), n.iridescenceTexture !== void 0 && i.push(this.parser.assignTexture(t, "iridescenceMap", n.iridescenceTexture)), n.iridescenceIor !== void 0 && (t.iridescenceIOR = n.iridescenceIor), t.iridescenceThicknessRange === void 0 && (t.iridescenceThicknessRange = [100, 400]), n.iridescenceThicknessMinimum !== void 0 && (t.iridescenceThicknessRange[0] = n.iridescenceThicknessMinimum), n.iridescenceThicknessMaximum !== void 0 && (t.iridescenceThicknessRange[1] = n.iridescenceThicknessMaximum), n.iridescenceThicknessTexture !== void 0 && i.push(this.parser.assignTexture(t, "iridescenceThicknessMap", n.iridescenceThicknessTexture)), Promise.all(i);
33767
34142
  }
33768
34143
  }
33769
- class RC {
34144
+ class PC {
33770
34145
  constructor(e) {
33771
34146
  this.parser = e, this.name = st.KHR_MATERIALS_SHEEN;
33772
34147
  }
@@ -33784,7 +34159,7 @@ class RC {
33784
34159
  return n.sheenRoughnessFactor !== void 0 && (t.sheenRoughness = n.sheenRoughnessFactor), n.sheenColorTexture !== void 0 && i.push(this.parser.assignTexture(t, "sheenColorMap", n.sheenColorTexture, wt)), n.sheenRoughnessTexture !== void 0 && i.push(this.parser.assignTexture(t, "sheenRoughnessMap", n.sheenRoughnessTexture)), Promise.all(i);
33785
34160
  }
33786
34161
  }
33787
- class DC {
34162
+ class LC {
33788
34163
  constructor(e) {
33789
34164
  this.parser = e, this.name = st.KHR_MATERIALS_TRANSMISSION;
33790
34165
  }
@@ -33798,7 +34173,7 @@ class DC {
33798
34173
  return n.transmissionFactor !== void 0 && (t.transmission = n.transmissionFactor), n.transmissionTexture !== void 0 && i.push(this.parser.assignTexture(t, "transmissionMap", n.transmissionTexture)), Promise.all(i);
33799
34174
  }
33800
34175
  }
33801
- class PC {
34176
+ class FC {
33802
34177
  constructor(e) {
33803
34178
  this.parser = e, this.name = st.KHR_MATERIALS_VOLUME;
33804
34179
  }
@@ -33814,7 +34189,7 @@ class PC {
33814
34189
  return t.attenuationColor = new Ae().setRGB(s[0], s[1], s[2], Jt), Promise.all(i);
33815
34190
  }
33816
34191
  }
33817
- class LC {
34192
+ class NC {
33818
34193
  constructor(e) {
33819
34194
  this.parser = e, this.name = st.KHR_MATERIALS_IOR;
33820
34195
  }
@@ -33826,7 +34201,7 @@ class LC {
33826
34201
  return n === null || (t.ior = n.ior !== void 0 ? n.ior : 1.5), Promise.resolve();
33827
34202
  }
33828
34203
  }
33829
- class FC {
34204
+ class UC {
33830
34205
  constructor(e) {
33831
34206
  this.parser = e, this.name = st.KHR_MATERIALS_SPECULAR;
33832
34207
  }
@@ -33842,7 +34217,7 @@ class FC {
33842
34217
  return t.specularColor = new Ae().setRGB(s[0], s[1], s[2], Jt), n.specularColorTexture !== void 0 && i.push(this.parser.assignTexture(t, "specularColorMap", n.specularColorTexture, wt)), Promise.all(i);
33843
34218
  }
33844
34219
  }
33845
- class NC {
34220
+ class OC {
33846
34221
  constructor(e) {
33847
34222
  this.parser = e, this.name = st.EXT_MATERIALS_BUMP;
33848
34223
  }
@@ -33856,7 +34231,7 @@ class NC {
33856
34231
  return t.bumpScale = n.bumpFactor !== void 0 ? n.bumpFactor : 1, n.bumpTexture !== void 0 && i.push(this.parser.assignTexture(t, "bumpMap", n.bumpTexture)), Promise.all(i);
33857
34232
  }
33858
34233
  }
33859
- class UC {
34234
+ class kC {
33860
34235
  constructor(e) {
33861
34236
  this.parser = e, this.name = st.KHR_MATERIALS_ANISOTROPY;
33862
34237
  }
@@ -33870,7 +34245,7 @@ class UC {
33870
34245
  return n.anisotropyStrength !== void 0 && (t.anisotropy = n.anisotropyStrength), n.anisotropyRotation !== void 0 && (t.anisotropyRotation = n.anisotropyRotation), n.anisotropyTexture !== void 0 && i.push(this.parser.assignTexture(t, "anisotropyMap", n.anisotropyTexture)), Promise.all(i);
33871
34246
  }
33872
34247
  }
33873
- class OC {
34248
+ class QC {
33874
34249
  constructor(e) {
33875
34250
  this.parser = e, this.name = st.KHR_TEXTURE_BASISU;
33876
34251
  }
@@ -33887,7 +34262,7 @@ class OC {
33887
34262
  return t.loadTextureImage(e, s.source, a);
33888
34263
  }
33889
34264
  }
33890
- class kC {
34265
+ class GC {
33891
34266
  constructor(e) {
33892
34267
  this.parser = e, this.name = st.EXT_TEXTURE_WEBP;
33893
34268
  }
@@ -33904,7 +34279,7 @@ class kC {
33904
34279
  return n.loadTextureImage(e, a.source, c);
33905
34280
  }
33906
34281
  }
33907
- class QC {
34282
+ class zC {
33908
34283
  constructor(e) {
33909
34284
  this.parser = e, this.name = st.EXT_TEXTURE_AVIF;
33910
34285
  }
@@ -33947,7 +34322,7 @@ class qA {
33947
34322
  return null;
33948
34323
  }
33949
34324
  }
33950
- class GC {
34325
+ class HC {
33951
34326
  constructor(e) {
33952
34327
  this.name = st.EXT_MESH_GPU_INSTANCING, this.parser = e;
33953
34328
  }
@@ -33979,8 +34354,8 @@ class GC {
33979
34354
  }));
33980
34355
  }
33981
34356
  }
33982
- const L0 = "glTF", Xa = 12, XA = { JSON: 1313821514, BIN: 5130562 };
33983
- class zC {
34357
+ const F0 = "glTF", Xa = 12, XA = { JSON: 1313821514, BIN: 5130562 };
34358
+ class VC {
33984
34359
  constructor(e) {
33985
34360
  this.name = st.KHR_BINARY_GLTF, this.content = null, this.body = null;
33986
34361
  const t = new DataView(e, 0, Xa), n = new TextDecoder();
@@ -33988,7 +34363,7 @@ class zC {
33988
34363
  magic: n.decode(new Uint8Array(e.slice(0, 4))),
33989
34364
  version: t.getUint32(4, !0),
33990
34365
  length: t.getUint32(8, !0)
33991
- }, this.header.magic !== L0)
34366
+ }, this.header.magic !== F0)
33992
34367
  throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
33993
34368
  if (this.header.version < 2)
33994
34369
  throw new Error("THREE.GLTFLoader: Legacy binary file detected.");
@@ -34011,7 +34386,7 @@ class zC {
34011
34386
  throw new Error("THREE.GLTFLoader: JSON content not found.");
34012
34387
  }
34013
34388
  }
34014
- class HC {
34389
+ class WC {
34015
34390
  constructor(e, t) {
34016
34391
  if (!t)
34017
34392
  throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");
@@ -34020,13 +34395,13 @@ class HC {
34020
34395
  decodePrimitive(e, t) {
34021
34396
  const n = this.json, i = this.dracoLoader, s = e.extensions[this.name].bufferView, a = e.extensions[this.name].attributes, o = {}, c = {}, l = {};
34022
34397
  for (const h in a) {
34023
- const u = Jf[h] || h.toLowerCase();
34398
+ const u = $f[h] || h.toLowerCase();
34024
34399
  o[u] = a[h];
34025
34400
  }
34026
34401
  for (const h in e.attributes) {
34027
- const u = Jf[h] || h.toLowerCase();
34402
+ const u = $f[h] || h.toLowerCase();
34028
34403
  if (a[h] !== void 0) {
34029
- const f = n.accessors[e.attributes[h]], d = pa[f.componentType];
34404
+ const f = n.accessors[e.attributes[h]], d = Aa[f.componentType];
34030
34405
  l[u] = d.name, c[u] = f.normalized === !0;
34031
34406
  }
34032
34407
  }
@@ -34043,7 +34418,7 @@ class HC {
34043
34418
  });
34044
34419
  }
34045
34420
  }
34046
- class VC {
34421
+ class qC {
34047
34422
  constructor() {
34048
34423
  this.name = st.KHR_TEXTURE_TRANSFORM;
34049
34424
  }
@@ -34051,12 +34426,12 @@ class VC {
34051
34426
  return (t.texCoord === void 0 || t.texCoord === e.channel) && t.offset === void 0 && t.rotation === void 0 && t.scale === void 0 || (e = e.clone(), t.texCoord !== void 0 && (e.channel = t.texCoord), t.offset !== void 0 && e.offset.fromArray(t.offset), t.rotation !== void 0 && (e.rotation = t.rotation), t.scale !== void 0 && e.repeat.fromArray(t.scale), e.needsUpdate = !0), e;
34052
34427
  }
34053
34428
  }
34054
- class WC {
34429
+ class XC {
34055
34430
  constructor() {
34056
34431
  this.name = st.KHR_MESH_QUANTIZATION;
34057
34432
  }
34058
34433
  }
34059
- class F0 extends Ir {
34434
+ class N0 extends Ir {
34060
34435
  constructor(e, t, n, i) {
34061
34436
  super(e, t, n, i);
34062
34437
  }
@@ -34075,11 +34450,11 @@ class F0 extends Ir {
34075
34450
  return s;
34076
34451
  }
34077
34452
  }
34078
- const qC = new _t();
34079
- class XC extends F0 {
34453
+ const YC = new _t();
34454
+ class jC extends N0 {
34080
34455
  interpolate_(e, t, n, i) {
34081
34456
  const s = super.interpolate_(e, t, n, i);
34082
- return qC.fromArray(s).normalize().toArray(s), s;
34457
+ return YC.fromArray(s).normalize().toArray(s), s;
34083
34458
  }
34084
34459
  }
34085
34460
  const qn = {
@@ -34090,7 +34465,7 @@ const qn = {
34090
34465
  TRIANGLES: 4,
34091
34466
  TRIANGLE_STRIP: 5,
34092
34467
  TRIANGLE_FAN: 6
34093
- }, pa = {
34468
+ }, Aa = {
34094
34469
  5120: Int8Array,
34095
34470
  5121: Uint8Array,
34096
34471
  5122: Int16Array,
@@ -34116,7 +34491,7 @@ const qn = {
34116
34491
  MAT2: 4,
34117
34492
  MAT3: 9,
34118
34493
  MAT4: 16
34119
- }, Jf = {
34494
+ }, $f = {
34120
34495
  POSITION: "position",
34121
34496
  NORMAL: "normal",
34122
34497
  TANGENT: "tangent",
@@ -34132,7 +34507,7 @@ const qn = {
34132
34507
  translation: "position",
34133
34508
  rotation: "quaternion",
34134
34509
  weights: "morphTargetInfluences"
34135
- }, YC = {
34510
+ }, KC = {
34136
34511
  CUBICSPLINE: void 0,
34137
34512
  // We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
34138
34513
  // keyframe track will be initialized with a default interpolation type, then modified.
@@ -34143,7 +34518,7 @@ const qn = {
34143
34518
  MASK: "MASK",
34144
34519
  BLEND: "BLEND"
34145
34520
  };
34146
- function jC(r) {
34521
+ function JC(r) {
34147
34522
  return r.DefaultMaterial === void 0 && (r.DefaultMaterial = new ic({
34148
34523
  color: 16777215,
34149
34524
  emissive: 0,
@@ -34161,7 +34536,7 @@ function Ws(r, e, t) {
34161
34536
  function xi(r, e) {
34162
34537
  e.extras !== void 0 && (typeof e.extras == "object" ? Object.assign(r.userData, e.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + e.extras));
34163
34538
  }
34164
- function KC(r, e, t) {
34539
+ function ZC(r, e, t) {
34165
34540
  let n = !1, i = !1, s = !1;
34166
34541
  for (let l = 0, h = e.length; l < h; l++) {
34167
34542
  const u = e[l];
@@ -34193,7 +34568,7 @@ function KC(r, e, t) {
34193
34568
  return n && (r.morphAttributes.position = h), i && (r.morphAttributes.normal = u), s && (r.morphAttributes.color = f), r.morphTargetsRelative = !0, r;
34194
34569
  });
34195
34570
  }
34196
- function JC(r, e) {
34571
+ function $C(r, e) {
34197
34572
  if (r.updateMorphTargets(), e.weights !== void 0)
34198
34573
  for (let t = 0, n = e.weights.length; t < n; t++)
34199
34574
  r.morphTargetInfluences[t] = e.weights[t];
@@ -34207,7 +34582,7 @@ function JC(r, e) {
34207
34582
  console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.");
34208
34583
  }
34209
34584
  }
34210
- function ZC(r) {
34585
+ function ew(r) {
34211
34586
  let e;
34212
34587
  const t = r.extensions && r.extensions[st.KHR_DRACO_MESH_COMPRESSION];
34213
34588
  if (t ? e = "draco:" + t.bufferView + ":" + t.indices + ":" + $u(t.attributes) : e = r.indices + ":" + $u(r.attributes) + ":" + r.mode, r.targets !== void 0)
@@ -34222,7 +34597,7 @@ function $u(r) {
34222
34597
  e += t[n] + ":" + r[t[n]] + ";";
34223
34598
  return e;
34224
34599
  }
34225
- function Zf(r) {
34600
+ function ed(r) {
34226
34601
  switch (r) {
34227
34602
  case Int8Array:
34228
34603
  return 1 / 127;
@@ -34236,13 +34611,13 @@ function Zf(r) {
34236
34611
  throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.");
34237
34612
  }
34238
34613
  }
34239
- function $C(r) {
34614
+ function tw(r) {
34240
34615
  return r.search(/\.jpe?g($|\?)/i) > 0 || r.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : r.search(/\.webp($|\?)/i) > 0 || r.search(/^data\:image\/webp/) === 0 ? "image/webp" : r.search(/\.ktx2($|\?)/i) > 0 || r.search(/^data\:image\/ktx2/) === 0 ? "image/ktx2" : "image/png";
34241
34616
  }
34242
- const ew = new ve();
34243
- class tw {
34617
+ const nw = new ve();
34618
+ class iw {
34244
34619
  constructor(e = {}, t = {}) {
34245
- this.json = e, this.extensions = {}, this.plugins = {}, this.options = t, this.cache = new SC(), 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 = {};
34620
+ this.json = e, this.extensions = {}, this.plugins = {}, this.options = t, this.cache = new MC(), 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 = {};
34246
34621
  let n = !1, i = -1, s = !1, a = -1;
34247
34622
  if (typeof navigator < "u" && typeof navigator.userAgent < "u") {
34248
34623
  const o = navigator.userAgent;
@@ -34490,12 +34865,12 @@ class tw {
34490
34865
  loadAccessor(e) {
34491
34866
  const t = this, n = this.json, i = this.json.accessors[e];
34492
34867
  if (i.bufferView === void 0 && i.sparse === void 0) {
34493
- const a = Ju[i.type], o = pa[i.componentType], c = i.normalized === !0, l = new o(i.count * a);
34868
+ const a = Ju[i.type], o = Aa[i.componentType], c = i.normalized === !0, l = new o(i.count * a);
34494
34869
  return Promise.resolve(new at(l, a, c));
34495
34870
  }
34496
34871
  const s = [];
34497
34872
  return i.bufferView !== void 0 ? s.push(this.getDependency("bufferView", i.bufferView)) : s.push(null), i.sparse !== void 0 && (s.push(this.getDependency("bufferView", i.sparse.indices.bufferView)), s.push(this.getDependency("bufferView", i.sparse.values.bufferView))), Promise.all(s).then(function(a) {
34498
- const o = a[0], c = Ju[i.type], l = pa[i.componentType], h = l.BYTES_PER_ELEMENT, u = h * c, f = i.byteOffset || 0, d = i.bufferView !== void 0 ? n.bufferViews[i.bufferView].byteStride : void 0, p = i.normalized === !0;
34873
+ const o = a[0], c = Ju[i.type], l = Aa[i.componentType], h = l.BYTES_PER_ELEMENT, u = h * c, f = i.byteOffset || 0, d = i.bufferView !== void 0 ? n.bufferViews[i.bufferView].byteStride : void 0, p = i.normalized === !0;
34499
34874
  let b, g;
34500
34875
  if (d && d !== u) {
34501
34876
  const A = Math.floor(f / d), m = "InterleavedBuffer:" + i.bufferView + ":" + i.componentType + ":" + A + ":" + i.count;
@@ -34504,7 +34879,7 @@ class tw {
34504
34879
  } else
34505
34880
  o === null ? b = new l(i.count * c) : b = new l(o, f, i.count * c), g = new at(b, c, p);
34506
34881
  if (i.sparse !== void 0) {
34507
- const A = Ju.SCALAR, m = pa[i.sparse.indices.componentType], x = i.sparse.indices.byteOffset || 0, _ = i.sparse.values.byteOffset || 0, v = new m(a[1], x, i.sparse.count * A), S = new l(a[2], _, i.sparse.count * c);
34882
+ const A = Ju.SCALAR, m = Aa[i.sparse.indices.componentType], x = i.sparse.indices.byteOffset || 0, _ = i.sparse.values.byteOffset || 0, v = new m(a[1], x, i.sparse.count * A), S = new l(a[2], _, i.sparse.count * c);
34508
34883
  o !== null && (g = new at(g.array.slice(), g.itemSize, g.normalized)), g.normalized = !1;
34509
34884
  for (let I = 0, y = v.length; I < y; I++) {
34510
34885
  const E = v[I];
@@ -34567,7 +34942,7 @@ class tw {
34567
34942
  }), t.load(_s.resolveURL(u, s.path), p, void 0, d);
34568
34943
  });
34569
34944
  }).then(function(u) {
34570
- return l === !0 && o.revokeObjectURL(c), xi(u, a), u.userData.mimeType = a.mimeType || $C(a.uri), u;
34945
+ return l === !0 && o.revokeObjectURL(c), xi(u, a), u.userData.mimeType = a.mimeType || tw(a.uri), u;
34571
34946
  }).catch(function(u) {
34572
34947
  throw console.error("THREE.GLTFLoader: Couldn't load texture", c), u;
34573
34948
  });
@@ -34701,7 +35076,7 @@ class tw {
34701
35076
  }
34702
35077
  const a = [];
34703
35078
  for (let o = 0, c = e.length; o < c; o++) {
34704
- const l = e[o], h = ZC(l), u = i[h];
35079
+ const l = e[o], h = ew(l), u = i[h];
34705
35080
  if (u)
34706
35081
  a.push(u.promise);
34707
35082
  else {
@@ -34721,7 +35096,7 @@ class tw {
34721
35096
  loadMesh(e) {
34722
35097
  const t = this, n = this.json, i = this.extensions, s = n.meshes[e], a = s.primitives, o = [];
34723
35098
  for (let c = 0, l = a.length; c < l; c++) {
34724
- const h = a[c].material === void 0 ? jC(this.cache) : this.getDependency("material", a[c].material);
35099
+ const h = a[c].material === void 0 ? JC(this.cache) : this.getDependency("material", a[c].material);
34725
35100
  o.push(h);
34726
35101
  }
34727
35102
  return o.push(t.loadGeometries(a)), Promise.all(o).then(function(c) {
@@ -34742,7 +35117,7 @@ class tw {
34742
35117
  A = new ec(b, m);
34743
35118
  else
34744
35119
  throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + g.mode);
34745
- Object.keys(A.geometry.morphAttributes).length > 0 && JC(A, s), A.name = t.createUniqueName(s.name || "mesh_" + e), xi(A, s), g.extensions && Ws(i, A, g), t.assignFinalMaterial(A), u.push(A);
35120
+ Object.keys(A.geometry.morphAttributes).length > 0 && $C(A, s), A.name = t.createUniqueName(s.name || "mesh_" + e), xi(A, s), g.extensions && Ws(i, A, g), t.assignFinalMaterial(A), u.push(A);
34746
35121
  }
34747
35122
  for (let d = 0, p = u.length; d < p; d++)
34748
35123
  t.associations.set(u[d], {
@@ -34863,7 +35238,7 @@ class tw {
34863
35238
  ]).then(function(l) {
34864
35239
  const h = l[0], u = l[1], f = l[2];
34865
35240
  f !== null && h.traverse(function(d) {
34866
- d.isSkinnedMesh && d.bind(f, ew);
35241
+ d.isSkinnedMesh && d.bind(f, nw);
34867
35242
  });
34868
35243
  for (let d = 0, p = u.length; d < p; d++)
34869
35244
  h.add(u[d]);
@@ -34924,7 +35299,7 @@ class tw {
34924
35299
  return Promise.all(o).then(function(c) {
34925
35300
  for (let h = 0, u = c.length; h < u; h++) {
34926
35301
  const f = c[h];
34927
- f.parent !== null ? s.add(EC(f)) : s.add(f);
35302
+ f.parent !== null ? s.add(IC(f)) : s.add(f);
34928
35303
  }
34929
35304
  const l = (h) => {
34930
35305
  const u = /* @__PURE__ */ new Map();
@@ -34968,7 +35343,7 @@ class tw {
34968
35343
  }
34969
35344
  break;
34970
35345
  }
34971
- const h = i.interpolation !== void 0 ? YC[i.interpolation] : Ea, u = this._getArrayFromAccessor(n);
35346
+ const h = i.interpolation !== void 0 ? KC[i.interpolation] : Ea, u = this._getArrayFromAccessor(n);
34972
35347
  for (let f = 0, d = c.length; f < d; f++) {
34973
35348
  const p = new l(
34974
35349
  c[f] + "." + as[s.path],
@@ -34983,7 +35358,7 @@ class tw {
34983
35358
  _getArrayFromAccessor(e) {
34984
35359
  let t = e.array;
34985
35360
  if (e.normalized) {
34986
- const n = Zf(t.constructor), i = new Float32Array(t.length);
35361
+ const n = ed(t.constructor), i = new Float32Array(t.length);
34987
35362
  for (let s = 0, a = t.length; s < a; s++)
34988
35363
  i[s] = t[s] * n;
34989
35364
  t = i;
@@ -34992,12 +35367,12 @@ class tw {
34992
35367
  }
34993
35368
  _createCubicSplineTrackInterpolant(e) {
34994
35369
  e.createInterpolant = function(n) {
34995
- const i = this instanceof vr ? XC : F0;
35370
+ const i = this instanceof vr ? jC : N0;
34996
35371
  return new i(this.times, this.values, this.getValueSize() / 3, n);
34997
35372
  }, e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
34998
35373
  }
34999
35374
  }
35000
- function nw(r, e, t) {
35375
+ function sw(r, e, t) {
35001
35376
  const n = e.attributes, i = new vt();
35002
35377
  if (n.POSITION !== void 0) {
35003
35378
  const o = t.json.accessors[n.POSITION], c = o.min, l = o.max;
@@ -35006,7 +35381,7 @@ function nw(r, e, t) {
35006
35381
  new T(c[0], c[1], c[2]),
35007
35382
  new T(l[0], l[1], l[2])
35008
35383
  ), o.normalized) {
35009
- const h = Zf(pa[o.componentType]);
35384
+ const h = ed(Aa[o.componentType]);
35010
35385
  i.min.multiplyScalar(h), i.max.multiplyScalar(h);
35011
35386
  }
35012
35387
  } else {
@@ -35024,7 +35399,7 @@ function nw(r, e, t) {
35024
35399
  const f = t.json.accessors[u.POSITION], d = f.min, p = f.max;
35025
35400
  if (d !== void 0 && p !== void 0) {
35026
35401
  if (c.setX(Math.max(Math.abs(d[0]), Math.abs(p[0]))), c.setY(Math.max(Math.abs(d[1]), Math.abs(p[1]))), c.setZ(Math.max(Math.abs(d[2]), Math.abs(p[2]))), f.normalized) {
35027
- const b = Zf(pa[f.componentType]);
35402
+ const b = ed(Aa[f.componentType]);
35028
35403
  c.multiplyScalar(b);
35029
35404
  }
35030
35405
  o.max(c);
@@ -35046,7 +35421,7 @@ function KA(r, e, t) {
35046
35421
  });
35047
35422
  }
35048
35423
  for (const a in n) {
35049
- const o = Jf[a] || a.toLowerCase();
35424
+ const o = $f[a] || a.toLowerCase();
35050
35425
  o in r.attributes || i.push(s(n[a], o));
35051
35426
  }
35052
35427
  if (e.indices !== void 0 && !r.index) {
@@ -35055,8 +35430,8 @@ function KA(r, e, t) {
35055
35430
  });
35056
35431
  i.push(a);
35057
35432
  }
35058
- return nt.workingColorSpace !== Jt && "COLOR_0" in n && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${nt.workingColorSpace}" not supported.`), xi(r, e), nw(r, e, t), Promise.all(i).then(function() {
35059
- return e.targets !== void 0 ? KC(r, e.targets, t) : r;
35433
+ return nt.workingColorSpace !== Jt && "COLOR_0" in n && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${nt.workingColorSpace}" not supported.`), xi(r, e), sw(r, e, t), Promise.all(i).then(function() {
35434
+ return e.targets !== void 0 ? ZC(r, e.targets, t) : r;
35060
35435
  });
35061
35436
  }
35062
35437
  const dr = {
@@ -35137,13 +35512,13 @@ class Tr {
35137
35512
  dispose() {
35138
35513
  }
35139
35514
  }
35140
- const iw = new wr(-1, 1, 1, -1, 0, 1);
35141
- class sw extends Ve {
35515
+ const rw = new wr(-1, 1, 1, -1, 0, 1);
35516
+ class aw extends Ve {
35142
35517
  constructor() {
35143
35518
  super(), this.setAttribute("position", new Me([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)), this.setAttribute("uv", new Me([0, 2, 0, 0, 2, 0], 2));
35144
35519
  }
35145
35520
  }
35146
- const rw = new sw();
35521
+ const ow = new aw();
35147
35522
  class iu {
35148
35523
  /**
35149
35524
  * Constructs a new full screen quad.
@@ -35151,7 +35526,7 @@ class iu {
35151
35526
  * @param {?Material} material - The material to render te full screen quad with.
35152
35527
  */
35153
35528
  constructor(e) {
35154
- this._mesh = new pe(rw, e);
35529
+ this._mesh = new pe(ow, e);
35155
35530
  }
35156
35531
  /**
35157
35532
  * Frees the GPU-related resources allocated by this instance. Call this
@@ -35166,7 +35541,7 @@ class iu {
35166
35541
  * @param {WebGLRenderer} renderer - The renderer.
35167
35542
  */
35168
35543
  render(e) {
35169
- e.render(this._mesh, iw);
35544
+ e.render(this._mesh, rw);
35170
35545
  }
35171
35546
  /**
35172
35547
  * The quad's material.
@@ -35180,7 +35555,7 @@ class iu {
35180
35555
  this._mesh.material = e;
35181
35556
  }
35182
35557
  }
35183
- class aw extends Tr {
35558
+ class cw extends Tr {
35184
35559
  /**
35185
35560
  * Constructs a new shader pass.
35186
35561
  *
@@ -35248,7 +35623,7 @@ class JA extends Tr {
35248
35623
  this.inverse ? (a = 0, o = 1) : (a = 1, o = 0), s.buffers.stencil.setTest(!0), s.buffers.stencil.setOp(i.REPLACE, i.REPLACE, i.REPLACE), s.buffers.stencil.setFunc(i.ALWAYS, a, 4294967295), s.buffers.stencil.setClear(o), s.buffers.stencil.setLocked(!0), e.setRenderTarget(n), this.clear && e.clear(), e.render(this.scene, this.camera), e.setRenderTarget(t), this.clear && e.clear(), e.render(this.scene, this.camera), s.buffers.color.setLocked(!1), s.buffers.depth.setLocked(!1), s.buffers.color.setMask(!0), s.buffers.depth.setMask(!0), s.buffers.stencil.setLocked(!1), s.buffers.stencil.setFunc(i.EQUAL, 1, 4294967295), s.buffers.stencil.setOp(i.KEEP, i.KEEP, i.KEEP), s.buffers.stencil.setLocked(!0);
35249
35624
  }
35250
35625
  }
35251
- class ow extends Tr {
35626
+ class lw extends Tr {
35252
35627
  /**
35253
35628
  * Constructs a new clear mask pass.
35254
35629
  */
@@ -35270,7 +35645,7 @@ class ow extends Tr {
35270
35645
  e.state.buffers.stencil.setLocked(!1), e.state.buffers.stencil.setTest(!1);
35271
35646
  }
35272
35647
  }
35273
- class T1 {
35648
+ class B1 {
35274
35649
  /**
35275
35650
  * Constructs a new effect composer.
35276
35651
  *
@@ -35285,7 +35660,7 @@ class T1 {
35285
35660
  this._width = n.width, this._height = n.height, t = new Yt(this._width * this._pixelRatio, this._height * this._pixelRatio, { type: yt }), t.texture.name = "EffectComposer.rt1";
35286
35661
  } else
35287
35662
  this._width = t.width, this._height = t.height;
35288
- this.renderTarget1 = t, this.renderTarget2 = t.clone(), this.renderTarget2.texture.name = "EffectComposer.rt2", this.writeBuffer = this.renderTarget1, this.readBuffer = this.renderTarget2, this.renderToScreen = !0, this.passes = [], this.copyPass = new aw(dr), this.copyPass.material.blending = St, this.timer = new Wd();
35663
+ this.renderTarget1 = t, this.renderTarget2 = t.clone(), this.renderTarget2.texture.name = "EffectComposer.rt2", this.writeBuffer = this.renderTarget1, this.readBuffer = this.renderTarget2, this.renderToScreen = !0, this.passes = [], this.copyPass = new cw(dr), this.copyPass.material.blending = St, this.timer = new Wd();
35289
35664
  }
35290
35665
  /**
35291
35666
  * Swaps the internal read/write buffers.
@@ -35352,7 +35727,7 @@ class T1 {
35352
35727
  }
35353
35728
  this.swapBuffers();
35354
35729
  }
35355
- JA !== void 0 && (a instanceof JA ? n = !0 : a instanceof ow && (n = !1));
35730
+ JA !== void 0 && (a instanceof JA ? n = !0 : a instanceof lw && (n = !1));
35356
35731
  }
35357
35732
  }
35358
35733
  this.renderer.setRenderTarget(t);
@@ -35401,7 +35776,7 @@ class T1 {
35401
35776
  this.renderTarget1.dispose(), this.renderTarget2.dispose(), this.copyPass.dispose();
35402
35777
  }
35403
35778
  }
35404
- class B1 extends Tr {
35779
+ class R1 extends Tr {
35405
35780
  /**
35406
35781
  * Constructs a new render pass.
35407
35782
  *
@@ -35738,8 +36113,8 @@ const Zc = {
35738
36113
  }`
35739
36114
  )
35740
36115
  };
35741
- function cw(r = 5) {
35742
- const e = Math.floor(r) % 2 === 0 ? Math.floor(r) + 1 : Math.floor(r), t = lw(e), n = t.length, i = new Uint8Array(n * 4);
36116
+ function hw(r = 5) {
36117
+ const e = Math.floor(r) % 2 === 0 ? Math.floor(r) + 1 : Math.floor(r), t = uw(e), n = t.length, i = new Uint8Array(n * 4);
35743
36118
  for (let a = 0; a < n; ++a) {
35744
36119
  const o = t[a], c = 2 * Math.PI * o / n, l = new T(
35745
36120
  Math.cos(c),
@@ -35751,7 +36126,7 @@ function cw(r = 5) {
35751
36126
  const s = new wn(i, e, e);
35752
36127
  return s.wrapS = Ln, s.wrapT = Ln, s.needsUpdate = !0, s;
35753
36128
  }
35754
- function lw(r) {
36129
+ function uw(r) {
35755
36130
  const e = Math.floor(r) % 2 === 0 ? Math.floor(r) + 1 : Math.floor(r), t = e * e, n = Array(t).fill(0);
35756
36131
  let i = Math.floor(e / 2), s = e - 1;
35757
36132
  for (let a = 1; a <= t; ) {
@@ -35767,7 +36142,7 @@ function lw(r) {
35767
36142
  const el = {
35768
36143
  defines: {
35769
36144
  SAMPLES: 16,
35770
- SAMPLE_VECTORS: N0(16, 2, 1),
36145
+ SAMPLE_VECTORS: U0(16, 2, 1),
35771
36146
  NORMAL_VECTOR_TYPE: 1,
35772
36147
  DEPTH_VALUE_SOURCE: 0
35773
36148
  },
@@ -35942,8 +36317,8 @@ const el = {
35942
36317
  }`
35943
36318
  )
35944
36319
  };
35945
- function N0(r, e, t) {
35946
- const n = hw(
36320
+ function U0(r, e, t) {
36321
+ const n = fw(
35947
36322
  r,
35948
36323
  e,
35949
36324
  t
@@ -35955,7 +36330,7 @@ function N0(r, e, t) {
35955
36330
  }
35956
36331
  return i;
35957
36332
  }
35958
- function hw(r, e, t) {
36333
+ function fw(r, e, t) {
35959
36334
  const n = [];
35960
36335
  for (let i = 0; i < r; i++) {
35961
36336
  const s = 2 * Math.PI * e * i / r, a = Math.pow(i / (r - 1), t);
@@ -35963,7 +36338,7 @@ function hw(r, e, t) {
35963
36338
  }
35964
36339
  return n;
35965
36340
  }
35966
- class U0 {
36341
+ class O0 {
35967
36342
  /**
35968
36343
  * Constructs a new simplex noise object.
35969
36344
  *
@@ -36181,7 +36556,7 @@ class Gi extends Tr {
36181
36556
  * @param {Object} [pdParameters] - The denoise parameters.
36182
36557
  */
36183
36558
  constructor(e, t, n = 512, i = 512, s, a, o) {
36184
- super(), this.width = n, this.height = i, this.clear = !0, this.camera = t, this.scene = e, this.output = 0, this._renderGBuffer = !0, this._visibilityCache = [], this.blendIntensity = 1, this.pdRings = 2, this.pdRadiusExponent = 2, this.pdSamples = 16, this.gtaoNoiseTexture = cw(), this.pdNoiseTexture = this._generateNoise(), this.gtaoRenderTarget = new Yt(this.width, this.height, { type: yt }), this.pdRenderTarget = this.gtaoRenderTarget.clone(), this.gtaoMaterial = new It({
36559
+ super(), this.width = n, this.height = i, this.clear = !0, this.camera = t, this.scene = e, this.output = 0, this._renderGBuffer = !0, this._visibilityCache = [], this.blendIntensity = 1, this.pdRings = 2, this.pdRadiusExponent = 2, this.pdSamples = 16, this.gtaoNoiseTexture = hw(), this.pdNoiseTexture = this._generateNoise(), this.gtaoRenderTarget = new Yt(this.width, this.height, { type: yt }), this.pdRenderTarget = this.gtaoRenderTarget.clone(), this.gtaoMaterial = new It({
36185
36560
  defines: Object.assign({}, Zc.defines),
36186
36561
  uniforms: An.clone(Zc.uniforms),
36187
36562
  vertexShader: Zc.vertexShader,
@@ -36298,7 +36673,7 @@ class Gi extends Tr {
36298
36673
  */
36299
36674
  updatePdMaterial(e) {
36300
36675
  let t = !1;
36301
- e.lumaPhi !== void 0 && (this.pdMaterial.uniforms.lumaPhi.value = e.lumaPhi), e.depthPhi !== void 0 && (this.pdMaterial.uniforms.depthPhi.value = e.depthPhi), e.normalPhi !== void 0 && (this.pdMaterial.uniforms.normalPhi.value = e.normalPhi), e.radius !== void 0 && e.radius !== this.radius && (this.pdMaterial.uniforms.radius.value = e.radius), e.radiusExponent !== void 0 && e.radiusExponent !== this.pdRadiusExponent && (this.pdRadiusExponent = e.radiusExponent, t = !0), e.rings !== void 0 && e.rings !== this.pdRings && (this.pdRings = e.rings, t = !0), e.samples !== void 0 && e.samples !== this.pdSamples && (this.pdSamples = e.samples, t = !0), t && (this.pdMaterial.defines.SAMPLES = this.pdSamples, this.pdMaterial.defines.SAMPLE_VECTORS = N0(this.pdSamples, this.pdRings, this.pdRadiusExponent), this.pdMaterial.needsUpdate = !0);
36676
+ e.lumaPhi !== void 0 && (this.pdMaterial.uniforms.lumaPhi.value = e.lumaPhi), e.depthPhi !== void 0 && (this.pdMaterial.uniforms.depthPhi.value = e.depthPhi), e.normalPhi !== void 0 && (this.pdMaterial.uniforms.normalPhi.value = e.normalPhi), e.radius !== void 0 && e.radius !== this.radius && (this.pdMaterial.uniforms.radius.value = e.radius), e.radiusExponent !== void 0 && e.radiusExponent !== this.pdRadiusExponent && (this.pdRadiusExponent = e.radiusExponent, t = !0), e.rings !== void 0 && e.rings !== this.pdRings && (this.pdRings = e.rings, t = !0), e.samples !== void 0 && e.samples !== this.pdSamples && (this.pdSamples = e.samples, t = !0), t && (this.pdMaterial.defines.SAMPLES = this.pdSamples, this.pdMaterial.defines.SAMPLE_VECTORS = U0(this.pdSamples, this.pdRings, this.pdRadiusExponent), this.pdMaterial.needsUpdate = !0);
36302
36677
  }
36303
36678
  /**
36304
36679
  * Performs the GTAO pass.
@@ -36361,7 +36736,7 @@ class Gi extends Tr {
36361
36736
  e.length = 0;
36362
36737
  }
36363
36738
  _generateNoise(e = 64) {
36364
- const t = new U0(), n = e * e * 4, i = new Uint8Array(n);
36739
+ const t = new O0(), n = e * e * 4, i = new Uint8Array(n);
36365
36740
  for (let a = 0; a < e; a++)
36366
36741
  for (let o = 0; o < e; o++) {
36367
36742
  const c = a, l = o;
@@ -36763,7 +37138,7 @@ class tr extends Tr {
36763
37138
  }
36764
37139
  }
36765
37140
  _generateRandomKernelRotations() {
36766
- const n = new U0(), i = 16, s = new Float32Array(i);
37141
+ const n = new O0(), i = 16, s = new Float32Array(i);
36767
37142
  for (let a = 0; a < i; a++) {
36768
37143
  const o = Math.random() * 2 - 1, c = Math.random() * 2 - 1, l = 0;
36769
37144
  s[a] = n.noise3d(o, c, l);
@@ -36876,7 +37251,7 @@ const sl = {
36876
37251
  }`
36877
37252
  )
36878
37253
  };
36879
- class R1 extends Tr {
37254
+ class D1 extends Tr {
36880
37255
  /**
36881
37256
  * Constructs a new output pass.
36882
37257
  */
@@ -36910,7 +37285,7 @@ class R1 extends Tr {
36910
37285
  this.material.dispose(), this._fsQuad.dispose();
36911
37286
  }
36912
37287
  }
36913
- const D1 = {
37288
+ const P1 = {
36914
37289
  name: "FXAAShader",
36915
37290
  uniforms: {
36916
37291
  tDiffuse: { value: null },
@@ -37186,7 +37561,7 @@ const D1 = {
37186
37561
  }`
37187
37562
  )
37188
37563
  }, tf = /* @__PURE__ */ new WeakMap();
37189
- class P1 extends ln {
37564
+ class L1 extends ln {
37190
37565
  /**
37191
37566
  * Constructs a new Draco loader.
37192
37567
  *
@@ -37329,7 +37704,7 @@ class P1 extends ln {
37329
37704
  return e ? t.push(this._loadLibrary("draco_decoder.js", "text")) : (t.push(this._loadLibrary("draco_wasm_wrapper.js", "text")), t.push(this._loadLibrary("draco_decoder.wasm", "arraybuffer"))), this.decoderPending = Promise.all(t).then((n) => {
37330
37705
  const i = n[0];
37331
37706
  e || (this.decoderConfig.wasmBinary = n[1]);
37332
- const s = uw.toString(), a = [
37707
+ const s = dw.toString(), a = [
37333
37708
  "/* draco decoder */",
37334
37709
  i,
37335
37710
  "",
@@ -37377,7 +37752,7 @@ class P1 extends ln {
37377
37752
  return this.workerPool.length = 0, this.workerSourceURL !== "" && URL.revokeObjectURL(this.workerSourceURL), this;
37378
37753
  }
37379
37754
  }
37380
- function uw() {
37755
+ function dw() {
37381
37756
  let r, e;
37382
37757
  onmessage = function(a) {
37383
37758
  const o = a.data;
@@ -37481,7 +37856,7 @@ function uw() {
37481
37856
  }
37482
37857
  }
37483
37858
  }
37484
- var L1 = (function() {
37859
+ var F1 = (function() {
37485
37860
  var r = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuixkbeeeddddillviebeoweuec:W:Odkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WboY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbrl79IV9Rbwq;lZkdbk;jYi5ud9:du8Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxcj;abad9Uc;WFbGcjdadca0EhmaialfgPar9Rgoadfhsavaoadz:jjjjbgzceVhHcbhOdndninaeaO9nmeaPax9RaD6mdamaeaO9RaOamfgoae6EgAcsfglc9WGhCabaOad2fhXaAcethQaxaDfhiaOaeaoaeao6E9RhLalcl4cifcd4hKazcj;cbfaAfhYcbh8AazcjdfhEaHh3incbhodnawTmbaxa8Acd4fRbbhokaocFeGh5cbh8Eazcj;cbfhqinaih8Fdndndndna5a8Ecet4ciGgoc9:fPdebdkaPa8F9RaA6mrazcj;cbfa8EaA2fa8FaAz:jjjjb8Aa8FaAfhixdkazcj;cbfa8EaA2fcbaAz:kjjjb8Aa8FhixekaPa8F9RaK6mva8FaKfhidnaCTmbaPai9RcK6mbaocdtc:q1jjbfcj1jjbawEhaczhrcbhlinargoc9Wfghaqfhrdndndndndndnaaa8Fahco4fRbbalcoG4ciGcdtfydbPDbedvivvvlvkar9cb83bbarcwf9cb83bbxlkarcbaiRbdai8Xbb9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbaqaofgrcGfag9c8F1:NghcKtc8F91aicdfa8J9c8N1:Nfg8KRbbG86bbarcVfcba8KahcjeGcr4fghRbbag9cjjjjjl:dg8J9qE86bbarc7fcbaha8J9c8L1:NfghRbbag9cjjjjjd:dg8J9qE86bbarctfcbaha8J9c8K1:NfghRbbag9cjjjjje:dg8J9qE86bbarc91fcbaha8J9c8J1:NfghRbbag9cjjjj;ab:dg8J9qE86bbarc4fcbaha8J9cg1:NfghRbbag9cjjjja:dg8J9qE86bbarc93fcbaha8J9ch1:NfghRbbag9cjjjjz:dgg9qE86bbarc94fcbahag9ca1:NfghRbbai8Xbe9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbarc95fag9c8F1:NgicKtc8F91aha8J9c8N1:NfghRbbG86bbarc96fcbahaicjeGcr4fgiRbbag9cjjjjjl:dg8J9qE86bbarc97fcbaia8J9c8L1:NfgiRbbag9cjjjjjd:dg8J9qE86bbarc98fcbaia8J9c8K1:NfgiRbbag9cjjjjje:dg8J9qE86bbarc99fcbaia8J9c8J1:NfgiRbbag9cjjjj;ab:dg8J9qE86bbarc9:fcbaia8J9cg1:NfgiRbbag9cjjjja:dg8J9qE86bbarcufcbaia8J9ch1:NfgiRbbag9cjjjjz:dgg9qE86bbaiag9ca1:NfhixikaraiRblaiRbbghco4g8Ka8KciSg8KE86bbaqaofgrcGfaiclfa8Kfg8KRbbahcl4ciGg8La8LciSg8LE86bbarcVfa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc7fa8Ka8Lfg8KRbbahciGghahciSghE86bbarctfa8Kahfg8KRbbaiRbeghco4g8La8LciSg8LE86bbarc91fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc4fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc93fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc94fa8Kahfg8KRbbaiRbdghco4g8La8LciSg8LE86bbarc95fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc96fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc97fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc98fa8KahfghRbbaiRbigico4g8Ka8KciSg8KE86bbarc99faha8KfghRbbaicl4ciGg8Ka8KciSg8KE86bbarc9:faha8KfghRbbaicd4ciGg8Ka8KciSg8KE86bbarcufaha8KfgrRbbaiciGgiaiciSgiE86bbaraifhixdkaraiRbwaiRbbghcl4g8Ka8KcsSg8KE86bbaqaofgrcGfaicwfa8Kfg8KRbbahcsGghahcsSghE86bbarcVfa8KahfghRbbaiRbeg8Kcl4g8La8LcsSg8LE86bbarc7faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarctfaha8KfghRbbaiRbdg8Kcl4g8La8LcsSg8LE86bbarc91faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc4faha8KfghRbbaiRbig8Kcl4g8La8LcsSg8LE86bbarc93faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc94faha8KfghRbbaiRblg8Kcl4g8La8LcsSg8LE86bbarc95faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc96faha8KfghRbbaiRbvg8Kcl4g8La8LcsSg8LE86bbarc97faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc98faha8KfghRbbaiRbog8Kcl4g8La8LcsSg8LE86bbarc99faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc9:faha8KfghRbbaiRbrgicl4g8Ka8KcsSg8KE86bbarcufaha8KfgrRbbaicsGgiaicsSgiE86bbaraifhixekarai8Pbb83bbarcwfaicwf8Pbb83bbaiczfhikdnaoaC9pmbalcdfhlaoczfhraPai9RcL0mekkaoaC6moaimexokaCmva8FTmvkaqaAfhqa8Ecefg8Ecl9hmbkdndndndnawTmbasa8Acd4fRbbgociGPlbedrbkaATmdaza8Afh8Fazcj;cbfhhcbh8EaEhaina8FRbbhraahocbhlinaoahalfRbbgqce4cbaqceG9R7arfgr86bbaoadfhoaAalcefgl9hmbkaacefhaa8Fcefh8FahaAfhha8Ecefg8Ecl9hmbxikkaATmeaza8Afhaazcj;cbfhhcbhoceh8EaYh8FinaEaofhlaa8Vbbhrcbhoinala8FaofRbbcwtahaofRbbgqVc;:FiGce4cbaqceG9R7arfgr87bbaladfhlaLaocefgofmbka8FaQfh8FcdhoaacdfhaahaQfhha8EceGhlcbh8EalmbxdkkaATmbcbaocl49Rh8Eaza8AfRbbhqcwhoa3hlinalRbbaotaqVhqalcefhlaocwfgoca9hmbkcbhhaEh8FaYhainazcj;cbfahfRbbhrcwhoaahlinalRbbaotarVhralaAfhlaocwfgoca9hmbkara8E93aq7hqcbhoa8Fhlinalaqao486bbalcefhlaocwfgoca9hmbka8Fadfh8FaacefhaahcefghaA9hmbkkaEclfhEa3clfh3a8Aclfg8Aad6mbkaXazcjdfaAad2z:jjjjb8AazazcjdfaAcufad2fadz:jjjjb8AaAaOfhOaihxaimbkc9:hoxdkcbc99aPax9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaok:XseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:kjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiaPfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaOfhiazaOfhxxekaxcbalRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhAascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhzaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkaOhlxekalcefhlkaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDclfaO87ebaDcdfaz87ebxekabarcdtfgDaABdbaDcwfaOBdbaDclfazBdbkavc;abfaocitfgDazBdbaDaABdlavaicdtfaABdbavc;abfaocefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfaocdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnaecvfal9nmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk: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::ioiue99dud99dud99dnaeTmbcbhiabhlindndnal8Uebgv:YgoJ:ji:1Salcof8UebgrciVgw:Y:vgDNJbbbZJbbb:;avcu9kEMgq:lJbbb9p9DTmbaq:Ohkxekcjjjj94hkkalclf8Uebhvalcdf8UebhxabaiarcefciGfcetfak87ebdndnax:YgqaDNJbbbZJbbb:;axcu9kEMgm:lJbbb9p9DTmbam:Ohxxekcjjjj94hxkabaiarciGfgkcd7cetfax87ebdndnav:YgmaDNJbbbZJbbb:;avcu9kEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkabaiarcufciGfcetfav87ebdndnawaw2:ZgPaPMaoaoN:taqaqN:tamamN:tgoJbbbbaoJbbbb9GE:raDNJbbbZMgD:lJbbb9p9DTmbaD:Ohrxekcjjjj94hrkabakcetfar87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk:Tvirud99eudndnadcl9hmbaeTmeindndnabRbbgiabcefgl8Sbbgvabcdfgo8Sbbgrf9R:YJbbuJabcifgwRbbgdce4adVgDcd4aDVgDcl4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax86bbdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao86bbdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai86bbdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad86bbabclfhbaecufgembxdkkaeTmbindndnab8Vebgiabcdfgl8Uebgvabclfgo8Uebgrf9R:YJbFu9habcofgw8Vebgdce4adVgDcd4aDVgDcl4aDVgDcw4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax87ebdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao87ebdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai87ebdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad87ebabcwfhbaecufgembkkk9teiucbcbyd:K1jjbgeabcifc98GfgbBd:K1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkk81dbcjwk8Kbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbc:Kwkl8WNbb", e = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuixkbbebeeddddilve9Weeeviebeoweuec:q:6dkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WbwY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbDl79IV9Rbqq:Ctklbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk:183lYud97dur978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxavaialfgmar9Rgoad;8qbbcj;abad9Uc;WFbGcjdadca0EhPdndndnadTmbaoadfhscbhzinaeaz9nmdamax9RaD6miabazad2fhHaxaDfhOaPaeaz9RazaPfae6EgAcsfgocl4cifcd4hCavcj;cbfaoc9WGgXcetfhQavcj;cbfaXci2fhLavcj;cbfaXfhKcbhYaoc;ab6h8AincbhodnawTmbaxaYcd4fRbbhokaocFeGhEcbh3avcj;cbfh5indndndndnaEa3cet4ciGgoc9:fPdebdkamaO9RaX6mwavcj;cbfa3aX2faOaX;8qbbaOaAfhOxdkavcj;cbfa3aX2fcbaX;8kbxekamaO9RaC6moaoclVcbawEhraOaCfhocbhidna8Ambamao9Rc;Gb6mbcbhlina5alfhidndndndndndnaOalco4fRbbgqciGarfPDbedibledibkaipxbbbbbbbbbbbbbbbbpklbxlkaiaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaiaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaiaopbbbpklbaoczfhoxekaiaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqcd4ciGarfPDbedibledibkaiczfpxbbbbbbbbbbbbbbbbpklbxlkaiczfaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaiczfaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaiczfaopbbbpklbaoczfhoxekaiczfaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqcl4ciGarfPDbedibledibkaicafpxbbbbbbbbbbbbbbbbpklbxlkaicafaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaicafaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaicafaopbbbpklbaoczfhoxekaicafaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqco4arfPDbedibledibkaic8Wfpxbbbbbbbbbbbbbbbbpklbxlkaic8Wfaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngicitc:q1jjbfpbibaic:q:yjjbfRbbgipsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaiaoclffaqc:q:yjjbfRbbfhoxikaic8Wfaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngicitc:q1jjbfpbibaic:q:yjjbfRbbgipsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaiaocwffaqc:q:yjjbfRbbfhoxdkaic8Wfaopbbbpklbaoczfhoxekaic8WfaopbbdaoRbbgicitc:q1jjbfpbibaic:q:yjjbfRbbgipsaoRbegqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaiaocdffaqc:q:yjjbfRbbfhokalc;abfhialcjefaX0meaihlamao9Rc;Fb0mbkkdnaiaX9pmbaici4hlinamao9RcK6mwa5aifhqdndndndndndnaOaico4fRbbalcoG4ciGarfPDbedibledibkaqpxbbbbbbbbbbbbbbbbpkbbxlkaqaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spkbbaaaoclffahc:q:yjjbfRbbfhoxikaqaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spkbbaaaocwffahc:q:yjjbfRbbfhoxdkaqaopbbbpkbbaoczfhoxekaqaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpkbbaaaocdffahc:q:yjjbfRbbfhokalcdfhlaiczfgiaX6mbkkaohOaoTmoka5aXfh5a3cefg3cl9hmbkdndndndnawTmbasaYcd4fRbbglciGPlbedwbkaXTmdavcjdfaYfhlavaYfpbdbhgcbhoinalavcj;cbfaofpblbg8JaKaofpblbg8KpmbzeHdOiAlCvXoQrLg8LaQaofpblbg8MaLaofpblbg8NpmbzeHdOiAlCvXoQrLgypmbezHdiOAlvCXorQLg8Ecep9Ta8Epxeeeeeeeeeeeeeeeeg8Fp9op9Hp9rg8Eagp9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8LaypmwDKYqk8AExm35Ps8E8Fg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8Ja8KpmwKDYq8AkEx3m5P8Es8Fg8Ja8Ma8NpmwKDYq8AkEx3m5P8Es8Fg8KpmbezHdiOAlvCXorQLg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8Ja8KpmwDKYqk8AExm35Ps8E8Fg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Ug8Fp9Abbbaladfgla8Fa8Ea8Epmlvorlvorlvorlvorp9Ug8Fp9Abbbaladfgla8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9Ug8Fp9Abbbaladfgla8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9AbbbaladfhlaoczfgoaX6mbxikkaXTmeavcjdfaYfhlavaYfpbdbhgcbhoinalavcj;cbfaofpblbg8JaKaofpblbg8KpmbzeHdOiAlCvXoQrLg8LaQaofpblbg8MaLaofpblbg8NpmbzeHdOiAlCvXoQrLgypmbezHdiOAlvCXorQLg8Ecep:nea8Epxebebebebebebebebg8Fp9op:bep9rg8Eagp:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8LaypmwDKYqk8AExm35Ps8E8Fg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8Ja8KpmwKDYq8AkEx3m5P8Es8Fg8Ja8Ma8NpmwKDYq8AkEx3m5P8Es8Fg8KpmbezHdiOAlvCXorQLg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8Ja8KpmwDKYqk8AExm35Ps8E8Fg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeg8Fp9Abbbaladfgla8Fa8Ea8Epmlvorlvorlvorlvorp:oeg8Fp9Abbbaladfgla8Fa8Ea8EpmwDqkwDqkwDqkwDqkp:oeg8Fp9Abbbaladfgla8Fa8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9AbbbaladfhlaoczfgoaX6mbxdkkaXTmbcbhocbalcl4gl9Rc8FGhiavcjdfaYfhravaYfpbdbh8Finaravcj;cbfaofpblbggaKaofpblbg8JpmbzeHdOiAlCvXoQrLg8KaQaofpblbg8LaLaofpblbg8MpmbzeHdOiAlCvXoQrLg8NpmbezHdiOAlvCXorQLg8Eaip:Rea8Ealp:Sep9qg8Ea8Fp9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Fa8Ka8NpmwDKYqk8AExm35Ps8E8Fg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Faga8JpmwKDYq8AkEx3m5P8Es8Fgga8La8MpmwKDYq8AkEx3m5P8Es8Fg8JpmbezHdiOAlvCXorQLg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Faga8JpmwDKYqk8AExm35Ps8E8Fg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9AbbbaradfhraoczfgoaX6mbkkaYclfgYad6mbkaHavcjdfaAad2;8qbbavavcjdfaAcufad2fad;8qbbaAazfhzc9:hoaOhxaOmbxlkkaeTmbaDalfhrcbhocuhlinaralaD9RglfaD6mdaPaeao9RaoaPfae6Eaofgoae6mbkaial9Rhxkcbc99amax9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaokwbz:bjjjbk:TseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiaPfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaOfhiazaOfhxxekaxcbalRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhAascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhzaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkaOhlxekalcefhlkaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDclfaO87ebaDcdfaz87ebxekabarcdtfgDaABdbaDcwfaOBdbaDclfazBdbkavc;abfaocitfgDazBdbaDaABdlavaicdtfaABdbavc;abfaocefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfaocdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnaecvfal9nmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk:2Pliur97eue978Jjjjjbc8W9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp: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:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalaeSmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskaipxFubbFubbFubbFubbgxpklbdnalTmbcbhvabhdinadczfgmampbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraipblbaDaopmlvorxmPsCXQL358E8Fp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgPp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;MeawaqawaPp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oaoarpmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalaeSmbaiczfpxbbbbbbbbbbbbbbbbgopklbaiaopklbaiabalcitfgdaeciGglcitgv;8qbbaiaxpkladnalTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraipblaaDaopmlvorxmPsCXQL358E8Fp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgPp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;MeawaqawaPp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oaoarpmbezHdiOAlvCXorQLp9qpklbkadaiav;8qbbkk:Iwllue97euo978Jjjjjbca9Rhidnaec98GglTmbcbhvabhoinaocKfpx:ji:1S:ji:1S:ji:1S:ji:1SaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkpxibbbibbbibbbibbbp9qgxp;6ep;Negmaxaxp:1ep;7egxaxp;KearaDpmbediwDqkzHOAKY8AEgxczp:Reczp:Sep;6egrarp;Meaxczp:Sep;6egDaDp;Meaqczp:Reczp:Sep;6egqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jep;Mepxbbn0bbn0bbn0bbn0gxp;KepxFFbbFFbbFFbbFFbbgPp9oamaDp;Meaxp;Keczp:Rep9qgDamarp;Meaxp;KeaPp9oamaqp;Meaxp;Keczp:Rep9qgxpmwDKYqk8AExm35Ps8E8Fgrp5eakclp:RegmpEi:T:j83ibawarp5bampEd:T:j83ibaocwfaDaxpmbezHdiOAlvCXorQLgxp5eampEe:T:j83ibaoaxp5bampEb:T:j83ibaocafhoavclfgval6mbkkdnalaeSmbaiczfpxbbbbbbbbbbbbbbbbgmpklbaiampklbaiabalcitfgoaeciGgvcitgw;8qbbdnavTmbaipx:ji:1S:ji:1S:ji:1S:ji:1SaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkpxibbbibbbibbbibbbp9qgxp;6ep;Negmaxaxp:1ep;7egxaxp;KearaDpmbediwDqkzHOAKY8AEgxczp:Reczp:Sep;6egrarp;Meaxczp:Sep;6egDaDp;Meaqczp:Reczp:Sep;6egqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jep;Mepxbbn0bbn0bbn0bbn0gxp;KepxFFbbFFbbFFbbFFbbgPp9oamaDp;Meaxp;Keczp:Rep9qgDamarp;Meaxp;KeaPp9oamaqp;Meaxp;Keczp:Rep9qgxpmwDKYqk8AExm35Ps8E8Fgrp5eakclp:RegmpEi:T:j83iKaiarp5bampEd:T:j83izaiaDaxpmbezHdiOAlvCXorQLgxp5eampEe:T:j83iwaiaxp5bampEb:T:j83ibkaoaiaw;8qbbkk;uddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnavalSmbaic8WfpxbbbbbbbbbbbbbbbbgopklbaicafaopklbaiczfaopklbaiaopklbaiabavcdtfgdalciGgecdtgv;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkadaiav;8qbbkk:CPvdue97euw97eu8Jjjjjbc8W9Rhiaec98Ghldndnadcl9hmbaipxbbbbbbbbbbbbbbbbgvpklbdnalTmbcbhoabhdinadpbbbhradpxbbuJbbuJbbuJbbuJaipblbarcKp:Tep9qgwcep:Seawp9qgDcdp:SeaDp9qgDclp:SeaDp9qgqp;6ep;NegDarcwp:RecKp:SegkarpxFbbbFbbbFbbbFbbbgxp9ogmp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gPp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oaDamakp:Xearczp:RecKp:Segrp:Uep;6ep;MeaPp;Keaxp9op9qaDamakarp:Uep:Xep;6ep;MeaPp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qaDaqawcep:Rep9oawpxebbbebbbebbbebbbp9op9qp;6ep;MeaPp;KecKp:Rep9qpkbbadczfhdaoclfgoal6mbkkalaeSmeaiavpklaaicafabalcdtfgdaeciGglcdtgo;8qbbaiavpklbdnalTmbaipblahraipxbbuJbbuJbbuJbbuJaipblbarcKp:Tep9qgwcep:Seawp9qgDcdp:SeaDp9qgDclp:SeaDp9qgqp;6ep;NegDarcwp:RecKp:SegkarpxFbbbFbbbFbbbFbbbgxp9ogmp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gPp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oaDamakp:Xearczp:RecKp:Segrp:Uep;6ep;MeaPp;Keaxp9op9qaDamakarp:Uep:Xep;6ep;MeaPp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qaDaqawcep:Rep9oawpxebbbebbbebbbebbbp9op9qp;6ep;MeaPp;KecKp:Rep9qpklakadaicafao;8qbbskaipxbbbbbbbbbbbbbbbbgvpklbdnalTmbcbhoabhdinadczfgspxbFu9hbFu9hbFu9hbFu9hadpbbbgDaspbbbgPpmlvorxmPsCXQL358E8Fgmczp:Teaipblbp9qgrcep:Searp9qgwcdp:Seawp9qgwclp:Seawp9qgwcwp:Seawp9qgqp;6ep;NegwaDaPpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbgPp9ogkaDczp:Segxp:Ueamczp:Reczp:Segmp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gDp;KeaPp9oawakaxamp:Uep:Xep;6ep;MeaDp;Keczp:Rep9qgxawaqarcep:Rep9oarpxebbbebbbebbbebbbp9op9qp;6ep;MeaDp;Keczp:Reawamakp:Uep;6ep;MeaDp;KeaPp9op9qgrpmwDKYqk8AExm35Ps8E8FpkbbadaxarpmbezHdiOAlvCXorQLpkbbadcafhdaoclfgoal6mbkkalaeSmbaiczfpxbbbbbbbbbbbbbbbbgrpklbaiarpklbaiabalcitfgdaeciGglcitgo;8qbbaiavpkladnalTmbaipxbFu9hbFu9hbFu9hbFu9haipblbgDaipblzgPpmlvorxmPsCXQL358E8Fgmczp:Teaipblap9qgrcep:Searp9qgwcdp:Seawp9qgwclp:Seawp9qgwcwp:Seawp9qgqp;6ep;NegwaDaPpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbgPp9ogkaDczp:Segxp:Ueamczp:Reczp:Segmp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gDp;KeaPp9oawakaxamp:Uep:Xep;6ep;MeaDp;Keczp:Rep9qgxawaqarcep:Rep9oarpxebbbebbbebbbebbbp9op9qp;6ep;MeaDp;Keczp:Reawamakp:Uep;6ep;MeaDp;KeaPp9op9qgrpmwDKYqk8AExm35Ps8E8FpklzaiaxarpmbezHdiOAlvCXorQLpklbkadaiao;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz:Dbb", t = new Uint8Array([
37486
37861
  0,
37487
37862
  97,
@@ -37695,7 +38070,7 @@ var L1 = (function() {
37695
38070
  }
37696
38071
  };
37697
38072
  })();
37698
- class fw {
38073
+ class pw {
37699
38074
  /**
37700
38075
  * Constructs a new Worker pool.
37701
38076
  *
@@ -37761,7 +38136,7 @@ class fw {
37761
38136
  this.workers.forEach((e) => e.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
37762
38137
  }
37763
38138
  }
37764
- const dw = 0, ZA = 2, pw = 1, $A = 2, Aw = 0, gw = 1, mw = 10, bw = 0, O0 = 9, k0 = 15, Q0 = 16, G0 = 22, z0 = 37, H0 = 43, V0 = 76, W0 = 83, q0 = 97, X0 = 100, Y0 = 103, j0 = 109, K0 = 122, J0 = 123, Z0 = 131, $0 = 132, eb = 133, tb = 134, nb = 137, ib = 138, sb = 139, rb = 140, ab = 141, ob = 142, cb = 145, lb = 146, hb = 148, ub = 152, fb = 153, db = 154, pb = 155, Ab = 156, gb = 157, mb = 158, bb = 165, xb = 166, _b = 1000054e3, yb = 1000054001, vb = 1000054004, Eb = 1000054005, Jd = 1000066e3, Sb = 1000066004;
38139
+ const Aw = 0, ZA = 2, gw = 1, $A = 2, mw = 0, bw = 1, xw = 10, _w = 0, k0 = 9, Q0 = 15, G0 = 16, z0 = 22, H0 = 37, V0 = 43, W0 = 76, q0 = 83, X0 = 97, Y0 = 100, j0 = 103, K0 = 109, J0 = 122, Z0 = 123, $0 = 131, eb = 132, tb = 133, nb = 134, ib = 137, sb = 138, rb = 139, ab = 140, ob = 141, cb = 142, lb = 145, hb = 146, ub = 148, fb = 152, db = 153, pb = 154, Ab = 155, gb = 156, mb = 157, bb = 158, xb = 165, _b = 166, yb = 1000054e3, vb = 1000054001, Eb = 1000054004, Sb = 1000054005, Jd = 1000066e3, Ib = 1000066004;
37765
38140
  class Ya {
37766
38141
  constructor(e, t, n, i) {
37767
38142
  this._dataView = void 0, this._littleEndian = void 0, this._offset = void 0, this._dataView = new DataView(e.buffer, e.byteOffset + t, n), this._littleEndian = i, this._offset = 0;
@@ -37804,7 +38179,7 @@ const _n = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
37804
38179
  function eg(r) {
37805
38180
  return new TextDecoder().decode(r);
37806
38181
  }
37807
- function xw(r) {
38182
+ function yw(r) {
37808
38183
  const e = new Uint8Array(r.buffer, r.byteOffset, _n.length);
37809
38184
  if (e[0] !== _n[0] || e[1] !== _n[1] || e[2] !== _n[2] || e[3] !== _n[3] || e[4] !== _n[4] || e[5] !== _n[5] || e[6] !== _n[6] || e[7] !== _n[7] || e[8] !== _n[8] || e[9] !== _n[9] || e[10] !== _n[10] || e[11] !== _n[11]) throw new Error("Missing KTX 2.0 identifier.");
37810
38185
  const t = { vkFormat: 0, typeSize: 1, pixelWidth: 0, pixelHeight: 0, pixelDepth: 0, layerCount: 0, faceCount: 1, levelCount: 0, supercompressionScheme: 0, levels: [], dataFormatDescriptor: [{ vendorId: 0, descriptorType: 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: [] }], keyValue: {}, globalData: null }, n = 17 * Uint32Array.BYTES_PER_ELEMENT, i = new Ya(r, _n.length, n, !0);
@@ -37834,11 +38209,11 @@ function xw(r) {
37834
38209
  const D = l + v._offset, L = D + y, F = L + E, U = F + w, O = new Uint8Array(r.buffer, r.byteOffset + D, y), J = new Uint8Array(r.buffer, r.byteOffset + L, E), z = new Uint8Array(r.buffer, r.byteOffset + F, w), ie = new Uint8Array(r.buffer, r.byteOffset + U, C);
37835
38210
  return t.globalData = { endpointCount: S, selectorCount: I, imageDescs: B, endpointsData: O, selectorsData: J, tablesData: z, extendedData: ie }, t;
37836
38211
  }
37837
- let nf, ki, $f;
38212
+ let nf, ki, td;
37838
38213
  const sf = { env: { emscripten_notify_memory_growth: function(r) {
37839
- $f = new Uint8Array(ki.exports.memory.buffer);
38214
+ td = new Uint8Array(ki.exports.memory.buffer);
37840
38215
  } } };
37841
- class _w {
38216
+ class vw {
37842
38217
  init() {
37843
38218
  return nf || (nf = typeof fetch < "u" ? fetch("data:application/wasm;base64," + tg).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, sf)).then(this._init) : WebAssembly.instantiate(Buffer.from(tg, "base64"), sf).then(this._init), nf);
37844
38219
  }
@@ -37848,12 +38223,12 @@ class _w {
37848
38223
  decode(e, t = 0) {
37849
38224
  if (!ki) throw new Error("ZSTDDecoder: Await .init() before decoding.");
37850
38225
  const n = e.byteLength, i = ki.exports.malloc(n);
37851
- $f.set(e, i), t = t || Number(ki.exports.ZSTD_findDecompressedSize(i, n));
37852
- const s = ki.exports.malloc(t), a = ki.exports.ZSTD_decompress(s, t, i, n), o = $f.slice(s, s + a);
38226
+ td.set(e, i), t = t || Number(ki.exports.ZSTD_findDecompressedSize(i, n));
38227
+ const s = ki.exports.malloc(t), a = ki.exports.ZSTD_decompress(s, t, i, n), o = td.slice(s, s + a);
37853
38228
  return ki.exports.free(i), ki.exports.free(s), o;
37854
38229
  }
37855
38230
  }
37856
- const tg = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQhBSAGQQR2IQRBICAAdCIAQQFyIQkgASgCACEPQQAhAiADIQYCQANAIAlBAkggAiAPS3JFBEAgAiEHAkAgCARAA0AgBEH//wNxQf//A0YEQCAHQRhqIQcgBiAQSQR/IAZBAmoiBigAACAFdgUgBUEQaiEFIARBEHYLIQQMAQsLA0AgBEEDcSIIQQNGBEAgBUECaiEFIARBAnYhBCAHQQNqIQcMAQsLIAcgCGoiByAPSw0EIAVBAmohBQNAIAIgB0kEQCANIAJBAXRqQQA7AQAgAkEBaiECDAELCyAGIA5LQQAgBiAFQQN1aiIHIAxLG0UEQCAHKAAAIAVBB3EiBXYhBAwCCyAEQQJ2IQQLIAYhBwsCfyALQX9qIAQgAEF/anEiBiAAQQF0QX9qIgggCWsiEUkNABogBCAIcSIEQQAgESAEIABIG2shBiALCyEIIA0gAkEBdGogBkF/aiIEOwEAIAlBASAGayAEIAZBAUgbayEJA0AgCSAASARAIABBAXUhACALQX9qIQsMAQsLAn8gByAOS0EAIAcgBSAIaiIFQQN1aiIGIAxLG0UEQCAFQQdxDAELIAUgDCIGIAdrQQN0awshBSACQQFqIQIgBEUhCCAGKAAAIAVBH3F2IQQMAQsLQWwgCUEBRyAFQSBKcg0BGiABIAJBf2o2AgAgBiAFQQdqQQN1aiADawwBC0FQCyEAIApBEGokACAACwkAQQFBBSAAGwsMACAAIAEoAAA2AAALqgMBCn8jAEHwAGsiCiQAIAJBAWohDiAAQQhqIQtBgIAEIAVBf2p0QRB1IQxBACECQQEhBkEBIAV0IglBf2oiDyEIA0AgAiAORkUEQAJAIAEgAkEBdCINai8BACIHQf//A0YEQCALIAhBA3RqIAI2AgQgCEF/aiEIQQEhBwwBCyAGQQAgDCAHQRB0QRB1ShshBgsgCiANaiAHOwEAIAJBAWohAgwBCwsgACAFNgIEIAAgBjYCACAJQQN2IAlBAXZqQQNqIQxBACEAQQAhBkEAIQIDQCAGIA5GBEADQAJAIAAgCUYNACAKIAsgAEEDdGoiASgCBCIGQQF0aiICIAIvAQAiAkEBajsBACABIAUgAhAUayIIOgADIAEgAiAIQf8BcXQgCWs7AQAgASAEIAZBAnQiAmooAgA6AAIgASACIANqKAIANgIEIABBAWohAAwBCwsFIAEgBkEBdGouAQAhDUEAIQcDQCAHIA1ORQRAIAsgAkEDdGogBjYCBANAIAIgDGogD3EiAiAISw0ACyAHQQFqIQcMAQsLIAZBAWohBgwBCwsgCkHwAGokAAsjAEIAIAEQCSAAhUKHla+vmLbem55/fkLj3MqV/M7y9YV/fAsQACAAQn43AwggACABNgIACyQBAX8gAARAIAEoAgQiAgRAIAEoAgggACACEQEADwsgABAmCwsfACAAIAEgAi8BABAINgIAIAEQBBogACACQQRqNgIEC0oBAX9BoCAoAgAiASAAaiIAQX9MBEBBiCBBMDYCAEF/DwsCQCAAPwBBEHRNDQAgABBmDQBBiCBBMDYCAEF/DwtBoCAgADYCACABC9cBAQh/Qbp/IQoCQCACKAIEIgggAigCACIJaiIOIAEgAGtLDQBBbCEKIAkgBCADKAIAIgtrSw0AIAAgCWoiBCACKAIIIgxrIQ0gACABQWBqIg8gCyAJQQAQKSADIAkgC2o2AgACQAJAIAwgBCAFa00EQCANIQUMAQsgDCAEIAZrSw0CIAcgDSAFayIAaiIBIAhqIAdNBEAgBCABIAgQDxoMAgsgBCABQQAgAGsQDyEBIAIgACAIaiIINgIEIAEgAGshBAsgBCAPIAUgCEEBECkLIA4hCgsgCgubAgEBfyMAQYABayINJAAgDSADNgJ8AkAgAkEDSwRAQX8hCQwBCwJAAkACQAJAIAJBAWsOAwADAgELIAZFBEBBuH8hCQwEC0FsIQkgBS0AACICIANLDQMgACAHIAJBAnQiAmooAgAgAiAIaigCABA7IAEgADYCAEEBIQkMAwsgASAJNgIAQQAhCQwCCyAKRQRAQWwhCQwCC0EAIQkgC0UgDEEZSHINAUEIIAR0QQhqIQBBACECA0AgAiAATw0CIAJBQGshAgwAAAsAC0FsIQkgDSANQfwAaiANQfgAaiAFIAYQFSICEAMNACANKAJ4IgMgBEsNACAAIA0gDSgCfCAHIAggAxAYIAEgADYCACACIQkLIA1BgAFqJAAgCQsLACAAIAEgAhALGgsQACAALwAAIAAtAAJBEHRyCy8AAn9BuH8gAUEISQ0AGkFyIAAoAAQiAEF3Sw0AGkG4fyAAQQhqIgAgACABSxsLCwkAIAAgATsAAAsDAAELigYBBX8gACAAKAIAIgVBfnE2AgBBACAAIAVBAXZqQYQgKAIAIgQgAEYbIQECQAJAIAAoAgQiAkUNACACKAIAIgNBAXENACACQQhqIgUgA0EBdkF4aiIDQQggA0EISxtnQR9zQQJ0QYAfaiIDKAIARgRAIAMgAigCDDYCAAsgAigCCCIDBEAgAyACKAIMNgIECyACKAIMIgMEQCADIAIoAgg2AgALIAIgAigCACAAKAIAQX5xajYCAEGEICEAAkACQCABRQ0AIAEgAjYCBCABKAIAIgNBAXENASADQQF2QXhqIgNBCCADQQhLG2dBH3NBAnRBgB9qIgMoAgAgAUEIakYEQCADIAEoAgw2AgALIAEoAggiAwRAIAMgASgCDDYCBAsgASgCDCIDBEAgAyABKAIINgIAQYQgKAIAIQQLIAIgAigCACABKAIAQX5xajYCACABIARGDQAgASABKAIAQQF2akEEaiEACyAAIAI2AgALIAIoAgBBAXZBeGoiAEEIIABBCEsbZ0Efc0ECdEGAH2oiASgCACEAIAEgBTYCACACIAA2AgwgAkEANgIIIABFDQEgACAFNgIADwsCQCABRQ0AIAEoAgAiAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAigCACABQQhqRgRAIAIgASgCDDYCAAsgASgCCCICBEAgAiABKAIMNgIECyABKAIMIgIEQCACIAEoAgg2AgBBhCAoAgAhBAsgACAAKAIAIAEoAgBBfnFqIgI2AgACQCABIARHBEAgASABKAIAQQF2aiAANgIEIAAoAgAhAgwBC0GEICAANgIACyACQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgIoAgAhASACIABBCGoiAjYCACAAIAE2AgwgAEEANgIIIAFFDQEgASACNgIADwsgBUEBdkF4aiIBQQggAUEISxtnQR9zQQJ0QYAfaiICKAIAIQEgAiAAQQhqIgI2AgAgACABNgIMIABBADYCCCABRQ0AIAEgAjYCAAsLDgAgAARAIABBeGoQJQsLgAIBA38CQCAAQQ9qQXhxQYQgKAIAKAIAQQF2ayICEB1Bf0YNAAJAQYQgKAIAIgAoAgAiAUEBcQ0AIAFBAXZBeGoiAUEIIAFBCEsbZ0Efc0ECdEGAH2oiASgCACAAQQhqRgRAIAEgACgCDDYCAAsgACgCCCIBBEAgASAAKAIMNgIECyAAKAIMIgFFDQAgASAAKAIINgIAC0EBIQEgACAAKAIAIAJBAXRqIgI2AgAgAkEBcQ0AIAJBAXZBeGoiAkEIIAJBCEsbZ0Efc0ECdEGAH2oiAygCACECIAMgAEEIaiIDNgIAIAAgAjYCDCAAQQA2AgggAkUNACACIAM2AgALIAELtwIBA38CQAJAIABBASAAGyICEDgiAA0AAkACQEGEICgCACIARQ0AIAAoAgAiA0EBcQ0AIAAgA0EBcjYCACADQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgAgAEEIakYEQCABIAAoAgw2AgALIAAoAggiAQRAIAEgACgCDDYCBAsgACgCDCIBBEAgASAAKAIINgIACyACECchAkEAIQFBhCAoAgAhACACDQEgACAAKAIAQX5xNgIAQQAPCyACQQ9qQXhxIgMQHSICQX9GDQIgAkEHakF4cSIAIAJHBEAgACACaxAdQX9GDQMLAkBBhCAoAgAiAUUEQEGAICAANgIADAELIAAgATYCBAtBhCAgADYCACAAIANBAXRBAXI2AgAMAQsgAEUNAQsgAEEIaiEBCyABC7kDAQJ/IAAgA2ohBQJAIANBB0wEQANAIAAgBU8NAiAAIAItAAA6AAAgAEEBaiEAIAJBAWohAgwAAAsACyAEQQFGBEACQCAAIAJrIgZBB00EQCAAIAItAAA6AAAgACACLQABOgABIAAgAi0AAjoAAiAAIAItAAM6AAMgAEEEaiACIAZBAnQiBkHAHmooAgBqIgIQFyACIAZB4B5qKAIAayECDAELIAAgAhAMCyACQQhqIQIgAEEIaiEACwJAAkACQAJAIAUgAU0EQCAAIANqIQEgBEEBRyAAIAJrQQ9Kcg0BA0AgACACEAwgAkEIaiECIABBCGoiACABSQ0ACwwFCyAAIAFLBEAgACEBDAQLIARBAUcgACACa0EPSnINASAAIQMgAiEEA0AgAyAEEAwgBEEIaiEEIANBCGoiAyABSQ0ACwwCCwNAIAAgAhAHIAJBEGohAiAAQRBqIgAgAUkNAAsMAwsgACEDIAIhBANAIAMgBBAHIARBEGohBCADQRBqIgMgAUkNAAsLIAIgASAAa2ohAgsDQCABIAVPDQEgASACLQAAOgAAIAFBAWohASACQQFqIQIMAAALAAsLQQECfyAAIAAoArjgASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", yw = "display-p3", vw = "display-p3-linear";
38231
+ const tg = "AGFzbQEAAAABpQEVYAF/AX9gAn9/AGADf39/AX9gBX9/f39/AX9gAX8AYAJ/fwF/YAR/f39/AX9gA39/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gAn9/AX5gAn5+AX5gAABgBX9/f39/AGAGf39/f39/AGAIf39/f39/f38AYAl/f39/f39/f38AYAABf2AIf39/f39/f38Bf2ANf39/f39/f39/f39/fwF/YAF/AX4CJwEDZW52H2Vtc2NyaXB0ZW5fbm90aWZ5X21lbW9yeV9ncm93dGgABANpaAEFAAAFAgEFCwACAQABAgIFBQcAAwABDgsBAQcAEhMHAAUBDAQEAAANBwQCAgYCBAgDAwMDBgEACQkHBgICAAYGAgQUBwYGAwIGAAMCAQgBBwUGCgoEEQAEBAEIAwgDBQgDEA8IAAcABAUBcAECAgUEAQCAAgYJAX8BQaCgwAILB2AHBm1lbW9yeQIABm1hbGxvYwAoBGZyZWUAJgxaU1REX2lzRXJyb3IAaBlaU1REX2ZpbmREZWNvbXByZXNzZWRTaXplAFQPWlNURF9kZWNvbXByZXNzAEoGX3N0YXJ0ACQJBwEAQQELASQKussBaA8AIAAgACgCBCABajYCBAsZACAAKAIAIAAoAgRBH3F0QQAgAWtBH3F2CwgAIABBiH9LC34BBH9BAyEBIAAoAgQiA0EgTQRAIAAoAggiASAAKAIQTwRAIAAQDQ8LIAAoAgwiAiABRgRAQQFBAiADQSBJGw8LIAAgASABIAJrIANBA3YiBCABIARrIAJJIgEbIgJrIgQ2AgggACADIAJBA3RrNgIEIAAgBCgAADYCAAsgAQsUAQF/IAAgARACIQIgACABEAEgAgv3AQECfyACRQRAIABCADcCACAAQQA2AhAgAEIANwIIQbh/DwsgACABNgIMIAAgAUEEajYCECACQQRPBEAgACABIAJqIgFBfGoiAzYCCCAAIAMoAAA2AgAgAUF/ai0AACIBBEAgAEEIIAEQFGs2AgQgAg8LIABBADYCBEF/DwsgACABNgIIIAAgAS0AACIDNgIAIAJBfmoiBEEBTQRAIARBAWtFBEAgACABLQACQRB0IANyIgM2AgALIAAgAS0AAUEIdCADajYCAAsgASACakF/ai0AACIBRQRAIABBADYCBEFsDwsgAEEoIAEQFCACQQN0ams2AgQgAgsWACAAIAEpAAA3AAAgACABKQAINwAICy8BAX8gAUECdEGgHWooAgAgACgCAEEgIAEgACgCBGprQR9xdnEhAiAAIAEQASACCyEAIAFCz9bTvtLHq9lCfiAAfEIfiUKHla+vmLbem55/fgsdAQF/IAAoAgggACgCDEYEfyAAKAIEQSBGBUEACwuCBAEDfyACQYDAAE8EQCAAIAEgAhBnIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAkEBSARAIAAhAgwBCyAAQQNxRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADTw0BIAJBA3ENAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgA0F8aiIEIABJBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAsMACAAIAEpAAA3AAALQQECfyAAKAIIIgEgACgCEEkEQEEDDwsgACAAKAIEIgJBB3E2AgQgACABIAJBA3ZrIgE2AgggACABKAAANgIAQQALDAAgACABKAIANgAAC/cCAQJ/AkAgACABRg0AAkAgASACaiAASwRAIAAgAmoiBCABSw0BCyAAIAEgAhALDwsgACABc0EDcSEDAkACQCAAIAFJBEAgAwRAIAAhAwwDCyAAQQNxRQRAIAAhAwwCCyAAIQMDQCACRQ0EIAMgAS0AADoAACABQQFqIQEgAkF/aiECIANBAWoiA0EDcQ0ACwwBCwJAIAMNACAEQQNxBEADQCACRQ0FIAAgAkF/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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", Ew = "display-p3", Sw = "display-p3-linear";
37857
38232
  ({
37858
38233
  ...nt.spaces[wt]
37859
38234
  });
@@ -37866,7 +38241,7 @@ class ci extends ln {
37866
38241
  * @param {LoadingManager} [manager] - The loading manager.
37867
38242
  */
37868
38243
  constructor(e) {
37869
- super(e), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new fw(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER < "u" && console.warn(
38244
+ super(e), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new pw(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER < "u" && console.warn(
37870
38245
  'THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.'
37871
38246
  );
37872
38247
  }
@@ -38001,7 +38376,7 @@ class ci extends ln {
38001
38376
  const f = s[0].mipmaps;
38002
38377
  u = t.layerCount > 1 ? new Um(f, a, o, t.layerCount, c, l) : new Ra(f, a, o, c, l);
38003
38378
  }
38004
- return u.minFilter = s[0].mipmaps.length === 1 ? ht : Pn, u.magFilter = ht, u.generateMipmaps = !1, u.needsUpdate = !0, u.colorSpace = Ib(t), u.premultiplyAlpha = !!(h & pw), u;
38379
+ return u.minFilter = s[0].mipmaps.length === 1 ? ht : Pn, u.magFilter = ht, u.generateMipmaps = !1, u.needsUpdate = !0, u.colorSpace = Mb(t), u.premultiplyAlpha = !!(h & gw), u;
38005
38380
  }
38006
38381
  /**
38007
38382
  * @private
@@ -38010,9 +38385,9 @@ class ci extends ln {
38010
38385
  * @return {Promise<CompressedTexture|CompressedArrayTexture|DataTexture|Data3DTexture>}
38011
38386
  */
38012
38387
  async _createTexture(e, t = {}) {
38013
- const n = xw(new Uint8Array(e)), i = n.vkFormat === Jd && n.dataFormatDescriptor[0].colorModel === 167;
38014
- if (!(n.vkFormat === bw || i && !this.workerConfig.astcHDRSupported))
38015
- return Sw(n);
38388
+ const n = yw(new Uint8Array(e)), i = n.vkFormat === Jd && n.dataFormatDescriptor[0].colorModel === 167;
38389
+ if (!(n.vkFormat === _w || i && !this.workerConfig.astcHDRSupported))
38390
+ return Mw(n);
38016
38391
  const a = t, o = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: e, taskConfig: a }, [e])).then((c) => this._createTextureFrom(c.data, n));
38017
38392
  return rf.set(e, { promise: o }), o;
38018
38393
  }
@@ -38262,108 +38637,108 @@ ci.BasisWorker = function() {
38262
38637
  return g;
38263
38638
  }
38264
38639
  };
38265
- const Ew = /* @__PURE__ */ new Set([Nt, ba, jn, yi]), cf = {
38266
- [j0]: Nt,
38267
- [Y0]: jn,
38268
- [X0]: yi,
38269
- [q0]: Nt,
38270
- [W0]: jn,
38271
- [V0]: yi,
38640
+ const Iw = /* @__PURE__ */ new Set([Nt, ba, jn, yi]), cf = {
38641
+ [K0]: Nt,
38642
+ [j0]: jn,
38643
+ [Y0]: yi,
38644
+ [X0]: Nt,
38645
+ [q0]: jn,
38646
+ [W0]: yi,
38647
+ [V0]: Nt,
38272
38648
  [H0]: Nt,
38273
- [z0]: Nt,
38649
+ [z0]: jn,
38274
38650
  [G0]: jn,
38275
- [Q0]: jn,
38651
+ [Q0]: yi,
38276
38652
  [k0]: yi,
38277
- [O0]: yi,
38653
+ [Z0]: ba,
38278
38654
  [J0]: ba,
38279
- [K0]: ba,
38280
- [ub]: ya,
38281
- [hb]: _a,
38282
- [fb]: Mo,
38283
- [db]: Co,
38284
- [pb]: wo,
38285
- [Ab]: To,
38655
+ [fb]: ya,
38656
+ [ub]: _a,
38657
+ [db]: Mo,
38658
+ [pb]: Co,
38659
+ [Ab]: wo,
38660
+ [gb]: To,
38286
38661
  [Jd]: xs,
38662
+ [bb]: xs,
38287
38663
  [mb]: xs,
38288
- [gb]: xs,
38289
- [Sb]: hr,
38664
+ [Ib]: hr,
38665
+ [_b]: hr,
38290
38666
  [xb]: hr,
38291
- [bb]: hr,
38667
+ [nb]: ms,
38292
38668
  [tb]: ms,
38293
- [eb]: ms,
38669
+ [eb]: lr,
38294
38670
  [$0]: lr,
38295
- [Z0]: lr,
38671
+ [sb]: bs,
38296
38672
  [ib]: bs,
38297
- [nb]: bs,
38298
- [rb]: Do,
38299
- [sb]: Ro,
38300
- [ob]: Lo,
38301
- [ab]: Po,
38673
+ [ab]: Do,
38674
+ [rb]: Ro,
38675
+ [cb]: Lo,
38676
+ [ob]: Po,
38677
+ [hb]: mr,
38302
38678
  [lb]: mr,
38303
- [cb]: mr,
38304
- [Eb]: gr,
38305
- [yb]: gr,
38306
- [vb]: xa,
38307
- [_b]: xa
38679
+ [Sb]: gr,
38680
+ [vb]: gr,
38681
+ [Eb]: xa,
38682
+ [yb]: xa
38308
38683
  }, $r = {
38684
+ [K0]: Tt,
38309
38685
  [j0]: Tt,
38310
38686
  [Y0]: Tt,
38311
- [X0]: Tt,
38687
+ [X0]: yt,
38312
38688
  [q0]: yt,
38313
38689
  [W0]: yt,
38314
- [V0]: yt,
38690
+ [V0]: qe,
38315
38691
  [H0]: qe,
38316
38692
  [z0]: qe,
38317
38693
  [G0]: qe,
38318
38694
  [Q0]: qe,
38319
38695
  [k0]: qe,
38320
- [O0]: qe,
38321
- [J0]: Yo,
38322
- [K0]: jo,
38323
- [ub]: qe,
38324
- [hb]: qe,
38696
+ [Z0]: Yo,
38697
+ [J0]: jo,
38325
38698
  [fb]: qe,
38699
+ [ub]: qe,
38326
38700
  [db]: qe,
38327
38701
  [pb]: qe,
38328
38702
  [Ab]: qe,
38703
+ [gb]: qe,
38329
38704
  [Jd]: yt,
38705
+ [bb]: qe,
38330
38706
  [mb]: qe,
38331
- [gb]: qe,
38332
- [Sb]: yt,
38707
+ [Ib]: yt,
38708
+ [_b]: qe,
38333
38709
  [xb]: qe,
38334
- [bb]: qe,
38710
+ [nb]: qe,
38335
38711
  [tb]: qe,
38336
38712
  [eb]: qe,
38337
38713
  [$0]: qe,
38338
- [Z0]: qe,
38714
+ [sb]: qe,
38339
38715
  [ib]: qe,
38340
- [nb]: qe,
38716
+ [ab]: qe,
38341
38717
  [rb]: qe,
38342
- [sb]: qe,
38718
+ [cb]: qe,
38343
38719
  [ob]: qe,
38344
- [ab]: qe,
38720
+ [hb]: qe,
38345
38721
  [lb]: qe,
38346
- [cb]: qe,
38347
- [Eb]: qe,
38348
- [yb]: qe,
38722
+ [Sb]: qe,
38349
38723
  [vb]: qe,
38350
- [_b]: qe
38724
+ [Eb]: qe,
38725
+ [yb]: qe
38351
38726
  };
38352
- async function Sw(r) {
38727
+ async function Mw(r) {
38353
38728
  const { vkFormat: e } = r;
38354
38729
  if (cf[e] === void 0)
38355
38730
  throw new Error("THREE.KTX2Loader: Unsupported vkFormat: " + e);
38356
38731
  $r[e] === void 0 && console.warn('THREE.KTX2Loader: Missing ".type" for vkFormat: ' + e);
38357
38732
  let t;
38358
38733
  r.supercompressionScheme === ZA && (of || (of = new Promise(async (a) => {
38359
- const o = new _w();
38734
+ const o = new vw();
38360
38735
  await o.init(), a(o);
38361
38736
  })), t = await of);
38362
38737
  const n = [];
38363
38738
  for (let a = 0; a < r.levels.length; a++) {
38364
38739
  const o = Math.max(1, r.pixelWidth >> a), c = Math.max(1, r.pixelHeight >> a), l = r.pixelDepth ? Math.max(1, r.pixelDepth >> a) : 0, h = r.levels[a];
38365
38740
  let u;
38366
- if (r.supercompressionScheme === dw)
38741
+ if (r.supercompressionScheme === Aw)
38367
38742
  u = h.levelData;
38368
38743
  else if (r.supercompressionScheme === ZA)
38369
38744
  u = t.decode(h.levelData, h.uncompressedByteLength);
@@ -38391,20 +38766,20 @@ async function Sw(r) {
38391
38766
  }
38392
38767
  const i = r.levelCount === 0 || n.length > 1;
38393
38768
  let s;
38394
- if (Ew.has(cf[e]))
38769
+ if (Iw.has(cf[e]))
38395
38770
  s = r.pixelDepth === 0 ? new wn(n[0].data, r.pixelWidth, r.pixelHeight) : new Jo(n[0].data, r.pixelWidth, r.pixelHeight, r.pixelDepth), s.minFilter = i ? Xo : pt, s.magFilter = pt, s.generateMipmaps = r.levelCount === 0;
38396
38771
  else {
38397
38772
  if (r.pixelDepth > 0) throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
38398
38773
  s = new Ra(n, r.pixelWidth, r.pixelHeight), s.minFilter = i ? Pn : ht, s.magFilter = ht;
38399
38774
  }
38400
- return s.mipmaps = n, s.type = $r[e], s.format = cf[e], s.colorSpace = Ib(r), s.needsUpdate = !0, Promise.resolve(s);
38775
+ return s.mipmaps = n, s.type = $r[e], s.format = cf[e], s.colorSpace = Mb(r), s.needsUpdate = !0, Promise.resolve(s);
38401
38776
  }
38402
- function Ib(r) {
38777
+ function Mb(r) {
38403
38778
  const e = r.dataFormatDescriptor[0];
38404
- return e.colorPrimaries === gw ? e.transferFunction === $A ? wt : Jt : e.colorPrimaries === mw ? e.transferFunction === $A ? yw : vw : (e.colorPrimaries === Aw || console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), oi);
38779
+ return e.colorPrimaries === bw ? e.transferFunction === $A ? wt : Jt : e.colorPrimaries === xw ? e.transferFunction === $A ? Ew : Sw : (e.colorPrimaries === mw || console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), oi);
38405
38780
  }
38406
- const Mb = 0, Iw = 1, Mw = 2, ng = 2, lf = 1.25, ig = 1, gn = 32, qt = gn / 4, Cb = 65535, Pl = Math.pow(2, -24), Zd = Symbol("SKIP_GENERATION"), wb = {
38407
- strategy: Mb,
38781
+ const Cb = 0, Cw = 1, ww = 2, ng = 2, lf = 1.25, ig = 1, gn = 32, qt = gn / 4, wb = 65535, Pl = Math.pow(2, -24), Zd = Symbol("SKIP_GENERATION"), Tb = {
38782
+ strategy: Cb,
38408
38783
  maxDepth: 40,
38409
38784
  maxLeafSize: 10,
38410
38785
  useSharedArrayBuffer: !1,
@@ -38447,7 +38822,7 @@ function ja(r) {
38447
38822
  return 2 * (e * t + t * n + n * e);
38448
38823
  }
38449
38824
  function Xt(r, e) {
38450
- return e[r + 15] === Cb;
38825
+ return e[r + 15] === wb;
38451
38826
  }
38452
38827
  function mn(r, e) {
38453
38828
  return e[r + 6];
@@ -38478,20 +38853,20 @@ function hf(r, e, t, n, i) {
38478
38853
  }
38479
38854
  n[0] = s, n[1] = a, n[2] = o, n[3] = c, n[4] = l, n[5] = h, i[0] = u, i[1] = f, i[2] = d, i[3] = p, i[4] = b, i[5] = g;
38480
38855
  }
38481
- const Qi = 32, Cw = (r, e) => r.candidate - e.candidate, os = /* @__PURE__ */ new Array(Qi).fill().map(() => ({
38856
+ const Qi = 32, Tw = (r, e) => r.candidate - e.candidate, os = /* @__PURE__ */ new Array(Qi).fill().map(() => ({
38482
38857
  count: 0,
38483
38858
  bounds: new Float32Array(6),
38484
38859
  rightCacheBounds: new Float32Array(6),
38485
38860
  leftCacheBounds: new Float32Array(6),
38486
38861
  candidate: 0
38487
38862
  })), al = /* @__PURE__ */ new Float32Array(6);
38488
- function ww(r, e, t, n, i, s) {
38863
+ function Bw(r, e, t, n, i, s) {
38489
38864
  let a = -1, o = 0;
38490
- if (s === Mb)
38865
+ if (s === Cb)
38491
38866
  a = sg(e), a !== -1 && (o = (e[a] + e[a + 3]) / 2);
38492
- else if (s === Iw)
38493
- a = sg(r), a !== -1 && (o = Tw(t, n, i, a));
38494
- else if (s === Mw) {
38867
+ else if (s === Cw)
38868
+ a = sg(r), a !== -1 && (o = Rw(t, n, i, a));
38869
+ else if (s === ww) {
38495
38870
  const c = ja(r);
38496
38871
  let l = lf * i;
38497
38872
  const h = t.offset || 0, u = (n - h) * 6, f = (n + i - h) * 6;
@@ -38513,7 +38888,7 @@ function ww(r, e, t, n, i, s) {
38513
38888
  E[w] = 1 / 0, E[w + 3] = -1 / 0, y[w] = 1 / 0, y[w + 3] = -1 / 0, I[w] = 1 / 0, I[w + 3] = -1 / 0;
38514
38889
  rl(v, t, I);
38515
38890
  }
38516
- m.sort(Cw);
38891
+ m.sort(Tw);
38517
38892
  let _ = i;
38518
38893
  for (let v = 0; v < _; v++) {
38519
38894
  const S = m[v];
@@ -38573,7 +38948,7 @@ function ww(r, e, t, n, i, s) {
38573
38948
  console.warn(`BVH: Invalid build strategy value ${s} used.`);
38574
38949
  return { axis: a, pos: o };
38575
38950
  }
38576
- function Tw(r, e, t, n) {
38951
+ function Rw(r, e, t, n) {
38577
38952
  let i = 0;
38578
38953
  const s = r.offset;
38579
38954
  for (let a = e, o = e + t; a < o; a++)
@@ -38585,7 +38960,7 @@ class uf {
38585
38960
  this.boundingData = new Float32Array(6);
38586
38961
  }
38587
38962
  }
38588
- function Bw(r, e, t, n, i, s) {
38963
+ function Dw(r, e, t, n, i, s) {
38589
38964
  let a = n, o = n + i - 1;
38590
38965
  const c = s.pos, l = s.axis * 2, h = t.offset || 0;
38591
38966
  for (; ; ) {
@@ -38607,30 +38982,30 @@ function Bw(r, e, t, n, i, s) {
38607
38982
  return a;
38608
38983
  }
38609
38984
  }
38610
- let Tb, Ll, ed, Bb;
38611
- const Rw = Math.pow(2, 32);
38612
- function td(r) {
38613
- return "count" in r ? 1 : 1 + td(r.left) + td(r.right);
38985
+ let Bb, Ll, nd, Rb;
38986
+ const Pw = Math.pow(2, 32);
38987
+ function id(r) {
38988
+ return "count" in r ? 1 : 1 + id(r.left) + id(r.right);
38614
38989
  }
38615
- function Dw(r, e, t) {
38616
- return Tb = new Float32Array(t), Ll = new Uint32Array(t), ed = new Uint16Array(t), Bb = new Uint8Array(t), nd(r, e);
38990
+ function Lw(r, e, t) {
38991
+ return Bb = new Float32Array(t), Ll = new Uint32Array(t), nd = new Uint16Array(t), Rb = new Uint8Array(t), sd(r, e);
38617
38992
  }
38618
- function nd(r, e) {
38993
+ function sd(r, e) {
38619
38994
  const t = r / 4, n = r / 2, i = "count" in e, s = e.boundingData;
38620
38995
  for (let a = 0; a < 6; a++)
38621
- Tb[t + a] = s[a];
38996
+ Bb[t + a] = s[a];
38622
38997
  if (i)
38623
- return e.buffer ? (Bb.set(new Uint8Array(e.buffer), r), r + e.buffer.byteLength) : (Ll[t + 6] = e.offset, ed[n + 14] = e.count, ed[n + 15] = Cb, r + gn);
38998
+ return e.buffer ? (Rb.set(new Uint8Array(e.buffer), r), r + e.buffer.byteLength) : (Ll[t + 6] = e.offset, nd[n + 14] = e.count, nd[n + 15] = wb, r + gn);
38624
38999
  {
38625
39000
  const { left: a, right: o, splitAxis: c } = e, l = r + gn;
38626
- let h = nd(l, a);
39001
+ let h = sd(l, a);
38627
39002
  const u = r / gn, d = h / gn - u;
38628
- if (d > Rw)
39003
+ if (d > Pw)
38629
39004
  throw new Error("MeshBVH: Cannot store relative child node offset greater than 32 bits.");
38630
- return Ll[t + 6] = d, Ll[t + 7] = c, nd(h, o);
39005
+ return Ll[t + 6] = d, Ll[t + 7] = c, sd(h, o);
38631
39006
  }
38632
39007
  }
38633
- function Pw(r, e, t, n, i, s) {
39008
+ function Fw(r, e, t, n, i, s) {
38634
39009
  const {
38635
39010
  maxDepth: a,
38636
39011
  verbose: o,
@@ -38647,10 +39022,10 @@ function Pw(r, e, t, n, i, s) {
38647
39022
  function A(m, x, _, v = null, S = 0) {
38648
39023
  if (!p && S >= a && (p = !0, o && console.warn(`BVH: Max depth of ${a} reached when generating BVH. Consider increasing maxDepth.`)), _ <= c || S >= a)
38649
39024
  return g(x + _), m.offset = x, m.count = _, m;
38650
- const I = ww(m.boundingData, v, e, x, _, l);
39025
+ const I = Bw(m.boundingData, v, e, x, _, l);
38651
39026
  if (I.axis === -1)
38652
39027
  return g(x + _), m.offset = x, m.count = _, m;
38653
- const y = Bw(u, f, e, x, _, I);
39028
+ const y = Dw(u, f, e, x, _, I);
38654
39029
  if (y === x || y === x + _)
38655
39030
  g(x + _), m.offset = x, m.count = _;
38656
39031
  else {
@@ -38663,14 +39038,14 @@ function Pw(r, e, t, n, i, s) {
38663
39038
  return m;
38664
39039
  }
38665
39040
  }
38666
- function Lw(r, e) {
39041
+ function Nw(r, e) {
38667
39042
  const t = e.useSharedArrayBuffer ? SharedArrayBuffer : ArrayBuffer, n = r.getRootRanges(e.range), i = n[0], s = n[n.length - 1], a = {
38668
39043
  offset: i.offset,
38669
39044
  count: s.offset + s.count - i.offset
38670
39045
  }, o = new Float32Array(6 * a.count);
38671
39046
  o.offset = a.offset, r.computePrimitiveBounds(a.offset, a.count, o), r._roots = n.map((c) => {
38672
- const l = Pw(r, o, c.offset, c.count, e, a), h = td(l), u = new t(gn * h);
38673
- return Dw(0, l, u), u;
39047
+ const l = Fw(r, o, c.offset, c.count, e, a), h = id(l), u = new t(gn * h);
39048
+ return Lw(0, l, u), u;
38674
39049
  });
38675
39050
  }
38676
39051
  class ep {
@@ -38685,7 +39060,7 @@ class ep {
38685
39060
  this._primitives.push(e);
38686
39061
  }
38687
39062
  }
38688
- class Fw {
39063
+ class Uw {
38689
39064
  constructor() {
38690
39065
  this.float32Array = null, this.uint16Array = null, this.uint32Array = null;
38691
39066
  const e = [];
@@ -38697,17 +39072,17 @@ class Fw {
38697
39072
  };
38698
39073
  }
38699
39074
  }
38700
- const Mt = /* @__PURE__ */ new Fw();
39075
+ const Mt = /* @__PURE__ */ new Uw();
38701
39076
  let As, ua;
38702
39077
  const ea = [], ol = /* @__PURE__ */ new ep(() => new vt());
38703
- function Nw(r, e, t, n, i, s) {
39078
+ function Ow(r, e, t, n, i, s) {
38704
39079
  As = ol.getPrimitive(), ua = ol.getPrimitive(), ea.push(As, ua), Mt.setBuffer(r._roots[e]);
38705
- const a = id(0, r.geometry, t, n, i, s);
39080
+ const a = rd(0, r.geometry, t, n, i, s);
38706
39081
  Mt.clearBuffer(), ol.releasePrimitive(As), ol.releasePrimitive(ua), ea.pop(), ea.pop();
38707
39082
  const o = ea.length;
38708
39083
  return o > 0 && (ua = ea[o - 1], As = ea[o - 2]), a;
38709
39084
  }
38710
- function id(r, e, t, n, i = null, s = 0, a = 0) {
39085
+ function rd(r, e, t, n, i = null, s = 0, a = 0) {
38711
39086
  const { float32Array: o, uint16Array: c, uint32Array: l } = Mt;
38712
39087
  let h = r * 2;
38713
39088
  if (Xt(h, c)) {
@@ -38741,7 +39116,7 @@ function id(r, e, t, n, i = null, s = 0, a = 0) {
38741
39116
  const B = w(p), L = C(p) - B;
38742
39117
  S = n(B, L, !0, a + 1, s + p / qt, m);
38743
39118
  } else
38744
- S = v && id(
39119
+ S = v && rd(
38745
39120
  p,
38746
39121
  e,
38747
39122
  t,
@@ -38758,7 +39133,7 @@ function id(r, e, t, n, i = null, s = 0, a = 0) {
38758
39133
  const B = w(b), L = C(b) - B;
38759
39134
  E = n(B, L, !0, a + 1, s + b / qt, x);
38760
39135
  } else
38761
- E = y && id(
39136
+ E = y && rd(
38762
39137
  b,
38763
39138
  e,
38764
39139
  t,
@@ -38772,7 +39147,7 @@ function id(r, e, t, n, i = null, s = 0, a = 0) {
38772
39147
  }
38773
39148
  const _o = /* @__PURE__ */ new Mt.constructor(), dh = /* @__PURE__ */ new Mt.constructor(), hs = /* @__PURE__ */ new ep(() => new vt()), ta = /* @__PURE__ */ new vt(), na = /* @__PURE__ */ new vt(), ff = /* @__PURE__ */ new vt(), df = /* @__PURE__ */ new vt();
38774
39149
  let pf = !1;
38775
- function Uw(r, e, t, n) {
39150
+ function kw(r, e, t, n) {
38776
39151
  if (pf)
38777
39152
  throw new Error("MeshBVH: Recursive calls to bvhcast not supported.");
38778
39153
  pf = !0;
@@ -38985,15 +39360,15 @@ function ri(r, e, t, n, i, s = 0, a = 0, o = 0, c = 0, l = null, h = !1) {
38985
39360
  return I;
38986
39361
  }
38987
39362
  const og = /* @__PURE__ */ new vt(), ia = /* @__PURE__ */ new Float32Array(6);
38988
- class Ow {
39363
+ class Qw {
38989
39364
  constructor() {
38990
39365
  this._roots = null, this.primitiveBuffer = null, this.primitiveBufferStride = null;
38991
39366
  }
38992
39367
  init(e) {
38993
39368
  e = {
38994
- ...wb,
39369
+ ...Tb,
38995
39370
  ...e
38996
- }, Lw(this, e);
39371
+ }, Nw(this, e);
38997
39372
  }
38998
39373
  getRootRanges() {
38999
39374
  throw new Error("BVH: getRootRanges() not implemented");
@@ -39133,7 +39508,7 @@ class Ow {
39133
39508
  const h = this._roots;
39134
39509
  for (let u = 0, f = h.length; u < f; u++) {
39135
39510
  const d = h[u];
39136
- if (c = Nw(this, u, n, i, t, l), c)
39511
+ if (c = Ow(this, u, n, i, t, l), c)
39137
39512
  break;
39138
39513
  l += d.byteLength / gn;
39139
39514
  }
@@ -39152,10 +39527,10 @@ class Ow {
39152
39527
  */
39153
39528
  bvhcast(e, t, n) {
39154
39529
  let { intersectsRanges: i } = n;
39155
- return Uw(this, e, t, i);
39530
+ return kw(this, e, t, i);
39156
39531
  }
39157
39532
  }
39158
- function kw() {
39533
+ function Gw() {
39159
39534
  return typeof SharedArrayBuffer < "u";
39160
39535
  }
39161
39536
  function tp(r) {
@@ -39164,32 +39539,32 @@ function tp(r) {
39164
39539
  function su(r) {
39165
39540
  return tp(r) / 3;
39166
39541
  }
39167
- function Qw(r, e = ArrayBuffer) {
39542
+ function zw(r, e = ArrayBuffer) {
39168
39543
  return r > 65535 ? new Uint32Array(new e(4 * r)) : new Uint16Array(new e(2 * r));
39169
39544
  }
39170
- function Gw(r, e) {
39545
+ function Hw(r, e) {
39171
39546
  if (!r.index) {
39172
- const t = r.attributes.position.count, n = e.useSharedArrayBuffer ? SharedArrayBuffer : ArrayBuffer, i = Qw(t, n);
39547
+ const t = r.attributes.position.count, n = e.useSharedArrayBuffer ? SharedArrayBuffer : ArrayBuffer, i = zw(t, n);
39173
39548
  r.setIndex(new at(i, 1));
39174
39549
  for (let s = 0; s < t; s++)
39175
39550
  i[s] = s;
39176
39551
  }
39177
39552
  }
39178
- function zw(r, e, t) {
39553
+ function Vw(r, e, t) {
39179
39554
  const n = tp(r) / t, i = e || r.drawRange, s = i.start / t, a = (i.start + i.count) / t, o = Math.max(0, s), c = Math.min(n, a) - o;
39180
39555
  return {
39181
39556
  offset: Math.floor(o),
39182
39557
  count: Math.floor(c)
39183
39558
  };
39184
39559
  }
39185
- function Hw(r, e) {
39560
+ function Ww(r, e) {
39186
39561
  return r.groups.map((t) => ({
39187
39562
  offset: t.start / e,
39188
39563
  count: t.count / e
39189
39564
  }));
39190
39565
  }
39191
39566
  function cg(r, e, t) {
39192
- const n = zw(r, e, t), i = Hw(r, t);
39567
+ const n = Vw(r, e, t), i = Ww(r, t);
39193
39568
  if (!i.length)
39194
39569
  return [n];
39195
39570
  const s = [], a = n.offset, o = n.offset + n.count, c = tp(r) / t, l = [];
@@ -39208,7 +39583,7 @@ function cg(r, e, t) {
39208
39583
  }
39209
39584
  return s;
39210
39585
  }
39211
- function Vw(r, e) {
39586
+ function qw(r, e) {
39212
39587
  const t = r[r.length - 1], n = t.offset + t.count > 2 ** 16, i = r.reduce((l, h) => l + h.count, 0), s = n ? 4 : 2, a = e ? new SharedArrayBuffer(i * s) : new ArrayBuffer(i * s), o = n ? new Uint32Array(a) : new Uint16Array(a);
39213
39588
  let c = 0;
39214
39589
  for (let l = 0; l < r.length; l++) {
@@ -39219,7 +39594,7 @@ function Vw(r, e) {
39219
39594
  }
39220
39595
  return o;
39221
39596
  }
39222
- class Ww extends Ow {
39597
+ class Xw extends Qw {
39223
39598
  /**
39224
39599
  * Whether the BVH was built in indirect mode.
39225
39600
  * @type {boolean}
@@ -39246,20 +39621,20 @@ class Ww extends Ow {
39246
39621
  if (e.index && e.index.isInterleavedBufferAttribute)
39247
39622
  throw new Error("BVH: InterleavedBufferAttribute is not supported for the index attribute.");
39248
39623
  } else throw new Error("BVH: Only BufferGeometries are supported.");
39249
- if (t.useSharedArrayBuffer && !kw())
39624
+ if (t.useSharedArrayBuffer && !Gw())
39250
39625
  throw new Error("BVH: SharedArrayBuffer is not available.");
39251
39626
  super(), this.geometry = e, this.resolvePrimitiveIndex = t.indirect ? (n) => this._indirectBuffer[n] : (n) => n, this.primitiveBuffer = null, this.primitiveBufferStride = null, this._indirectBuffer = null, t = {
39252
- ...wb,
39627
+ ...Tb,
39253
39628
  ...t
39254
39629
  }, t[Zd] || this.init(t);
39255
39630
  }
39256
39631
  init(e) {
39257
39632
  const { geometry: t, primitiveStride: n } = this;
39258
39633
  if (e.indirect) {
39259
- const i = cg(t, e.range, n), s = Vw(i, e.useSharedArrayBuffer);
39634
+ const i = cg(t, e.range, n), s = qw(i, e.useSharedArrayBuffer);
39260
39635
  this._indirectBuffer = s;
39261
39636
  } else
39262
- Gw(t, e);
39637
+ Hw(t, e);
39263
39638
  super.init(e), !t.boundingBox && e.setBoundingBox && (t.boundingBox = this.getBoundingBox(new vt()));
39264
39639
  }
39265
39640
  // Abstract methods to be implemented by subclasses
@@ -39309,7 +39684,7 @@ ji.prototype.setFromBox = /* @__PURE__ */ (function() {
39309
39684
  this.min = a, this.max = o;
39310
39685
  };
39311
39686
  })();
39312
- const qw = /* @__PURE__ */ (function() {
39687
+ const Yw = /* @__PURE__ */ (function() {
39313
39688
  const r = /* @__PURE__ */ new T(), e = /* @__PURE__ */ new T(), t = /* @__PURE__ */ new T();
39314
39689
  return function(i, s, a) {
39315
39690
  const o = i.start, c = r, l = s.start, h = e;
@@ -39321,7 +39696,7 @@ const qw = /* @__PURE__ */ (function() {
39321
39696
  })(), np = /* @__PURE__ */ (function() {
39322
39697
  const r = /* @__PURE__ */ new K(), e = /* @__PURE__ */ new T(), t = /* @__PURE__ */ new T();
39323
39698
  return function(i, s, a, o) {
39324
- qw(i, s, r);
39699
+ Yw(i, s, r);
39325
39700
  let c = r.x, l = r.y;
39326
39701
  if (c >= 0 && c <= 1 && l >= 0 && l <= 1) {
39327
39702
  i.at(c, a), s.at(l, o);
@@ -39347,7 +39722,7 @@ const qw = /* @__PURE__ */ (function() {
39347
39722
  }
39348
39723
  }
39349
39724
  };
39350
- })(), Xw = /* @__PURE__ */ (function() {
39725
+ })(), jw = /* @__PURE__ */ (function() {
39351
39726
  const r = /* @__PURE__ */ new T(), e = /* @__PURE__ */ new T(), t = /* @__PURE__ */ new Yn(), n = /* @__PURE__ */ new zn();
39352
39727
  return function(s, a) {
39353
39728
  const { radius: o, center: c } = s, { a: l, b: h, c: u } = a;
@@ -39359,7 +39734,7 @@ const qw = /* @__PURE__ */ (function() {
39359
39734
  }
39360
39735
  return !1;
39361
39736
  };
39362
- })(), Yw = ["x", "y", "z"], zi = 1e-15, lg = zi * zi;
39737
+ })(), Kw = ["x", "y", "z"], zi = 1e-15, lg = zi * zi;
39363
39738
  function Wn(r) {
39364
39739
  return Math.abs(r) < zi;
39365
39740
  }
@@ -39373,7 +39748,7 @@ class Zn extends mt {
39373
39748
  * @returns {boolean}
39374
39749
  */
39375
39750
  intersectsSphere(e) {
39376
- return Xw(e, this);
39751
+ return jw(e, this);
39377
39752
  }
39378
39753
  update() {
39379
39754
  const e = this.a, t = this.b, n = this.c, i = this.points, s = this.satAxes, a = this.satBounds, o = s[0], c = a[0];
@@ -39492,7 +39867,7 @@ Zn.prototype.intersectsTriangle = /* @__PURE__ */ (function() {
39492
39867
  let $ = 0, Z = Math.abs(ie.x);
39493
39868
  const ge = Math.abs(ie.y);
39494
39869
  ge > Z && (Z = ge, $ = 1), Math.abs(ie.z) > Z && ($ = 2);
39495
- const tt = Yw[$], j = this.a[tt], ae = this.b[tt], oe = this.c[tt], Re = _.a[tt], we = _.b[tt], He = _.c[tt];
39870
+ const tt = Kw[$], j = this.a[tt], ae = this.b[tt], oe = this.c[tt], Re = _.a[tt], we = _.b[tt], He = _.c[tt];
39496
39871
  if (p(this, j, ae, oe, D, L, w, C, B, h, o))
39497
39872
  return f(this, _, v, S);
39498
39873
  if (p(_, Re, we, He, J, z, F, U, O, u, c))
@@ -39669,13 +40044,13 @@ Tn.prototype.distanceToBox = /* @__PURE__ */ (function() {
39669
40044
  return Math.sqrt(p);
39670
40045
  };
39671
40046
  })();
39672
- class jw extends ep {
40047
+ class Jw extends ep {
39673
40048
  constructor() {
39674
40049
  super(() => new Zn());
39675
40050
  }
39676
40051
  }
39677
- const Kn = /* @__PURE__ */ new jw(), Ka = /* @__PURE__ */ new T(), Af = /* @__PURE__ */ new T();
39678
- function Kw(r, e, t = {}, n = 0, i = 1 / 0) {
40052
+ const Kn = /* @__PURE__ */ new Jw(), Ka = /* @__PURE__ */ new T(), Af = /* @__PURE__ */ new T();
40053
+ function Zw(r, e, t = {}, n = 0, i = 1 / 0) {
39679
40054
  const s = n * n, a = i * i;
39680
40055
  let o = 1 / 0, c = null;
39681
40056
  if (r.shapecast(
@@ -39692,8 +40067,8 @@ function Kw(r, e, t = {}, n = 0, i = 1 / 0) {
39692
40067
  const l = Math.sqrt(o);
39693
40068
  return t.point ? t.point.copy(Af) : t.point = Af.clone(), t.distance = l, t.faceIndex = c, t;
39694
40069
  }
39695
- const cl = parseInt("183") >= 169, Jw = parseInt("183") <= 161, qs = /* @__PURE__ */ new T(), Xs = /* @__PURE__ */ new T(), Ys = /* @__PURE__ */ new T(), ll = /* @__PURE__ */ new K(), hl = /* @__PURE__ */ new K(), ul = /* @__PURE__ */ new K(), hg = /* @__PURE__ */ new T(), ug = /* @__PURE__ */ new T(), fg = /* @__PURE__ */ new T(), Ja = /* @__PURE__ */ new T();
39696
- function Zw(r, e, t, n, i, s, a, o) {
40070
+ const cl = parseInt("183") >= 169, $w = parseInt("183") <= 161, qs = /* @__PURE__ */ new T(), Xs = /* @__PURE__ */ new T(), Ys = /* @__PURE__ */ new T(), ll = /* @__PURE__ */ new K(), hl = /* @__PURE__ */ new K(), ul = /* @__PURE__ */ new K(), hg = /* @__PURE__ */ new T(), ug = /* @__PURE__ */ new T(), fg = /* @__PURE__ */ new T(), Ja = /* @__PURE__ */ new T();
40071
+ function eT(r, e, t, n, i, s, a, o) {
39697
40072
  let c;
39698
40073
  if (s === on ? c = r.intersectTriangle(n, t, e, !0, i) : c = r.intersectTriangle(e, t, n, s !== En, i), c === null) return null;
39699
40074
  const l = r.origin.distanceTo(i);
@@ -39704,7 +40079,7 @@ function Zw(r, e, t, n, i, s, a, o) {
39704
40079
  }
39705
40080
  function dg(r, e, t, n, i, s, a, o, c, l, h) {
39706
40081
  qs.fromBufferAttribute(e, s), Xs.fromBufferAttribute(e, a), Ys.fromBufferAttribute(e, o);
39707
- const u = Zw(r, qs, Xs, Ys, Ja, c, l, h);
40082
+ const u = eT(r, qs, Xs, Ys, Ja, c, l, h);
39708
40083
  if (u) {
39709
40084
  if (n) {
39710
40085
  ll.fromBufferAttribute(n, s), hl.fromBufferAttribute(n, a), ul.fromBufferAttribute(n, o), u.uv = new K();
@@ -39714,7 +40089,7 @@ function dg(r, e, t, n, i, s, a, o, c, l, h) {
39714
40089
  if (i) {
39715
40090
  ll.fromBufferAttribute(i, s), hl.fromBufferAttribute(i, a), ul.fromBufferAttribute(i, o), u.uv1 = new K();
39716
40091
  const d = mt.getInterpolation(Ja, qs, Xs, Ys, ll, hl, ul, u.uv1);
39717
- cl || (u.uv1 = d), Jw && (u.uv2 = u.uv1);
40092
+ cl || (u.uv1 = d), $w && (u.uv2 = u.uv1);
39718
40093
  }
39719
40094
  if (t) {
39720
40095
  hg.fromBufferAttribute(t, s), ug.fromBufferAttribute(t, a), fg.fromBufferAttribute(t, o), u.normal = new T();
@@ -39772,12 +40147,12 @@ function zt(r, e, t, n) {
39772
40147
  let o = e, c = e + 1, l = e + 2;
39773
40148
  t && (o = t.getX(o), c = t.getX(c), l = t.getX(l)), i.x = n.getX(o), i.y = n.getY(o), i.z = n.getZ(o), s.x = n.getX(c), s.y = n.getY(c), s.z = n.getZ(c), a.x = n.getX(l), a.y = n.getY(l), a.z = n.getZ(l);
39774
40149
  }
39775
- function $w(r, e, t, n, i, s, a, o) {
40150
+ function tT(r, e, t, n, i, s, a, o) {
39776
40151
  const { geometry: c, _indirectBuffer: l } = r;
39777
40152
  for (let h = n, u = n + i; h < u; h++)
39778
40153
  ru(c, e, t, h, s, a, o);
39779
40154
  }
39780
- function eT(r, e, t, n, i, s, a) {
40155
+ function nT(r, e, t, n, i, s, a) {
39781
40156
  const { geometry: o, _indirectBuffer: c } = r;
39782
40157
  let l = 1 / 0, h = null;
39783
40158
  for (let u = n, f = n + i; u < f; u++) {
@@ -39786,7 +40161,7 @@ function eT(r, e, t, n, i, s, a) {
39786
40161
  }
39787
40162
  return h;
39788
40163
  }
39789
- function tT(r, e, t, n, i, s, a) {
40164
+ function iT(r, e, t, n, i, s, a) {
39790
40165
  const { geometry: o } = t, { index: c } = o, l = o.attributes.position;
39791
40166
  for (let h = r, u = e + r; h < u; h++) {
39792
40167
  let f;
@@ -39795,7 +40170,7 @@ function tT(r, e, t, n, i, s, a) {
39795
40170
  }
39796
40171
  return !1;
39797
40172
  }
39798
- function nT(r, e = null) {
40173
+ function sT(r, e = null) {
39799
40174
  e && Array.isArray(e) && (e = new Set(e));
39800
40175
  const t = r.geometry, n = t.index ? t.index.array : null, i = t.attributes.position;
39801
40176
  let s, a, o, c, l = 0;
@@ -39844,14 +40219,14 @@ function Is(r, e, t, n, i) {
39844
40219
  let A = e[r], m = e[r + 3], x = e[r + 1], _ = e[r + 3 + 1], v = e[r + 2], S = e[r + 3 + 2];
39845
40220
  return u >= 0 ? (s = (A - p) * u, a = (m - p) * u) : (s = (m - p) * u, a = (A - p) * u), f >= 0 ? (o = (x - b) * f, c = (_ - b) * f) : (o = (_ - b) * f, c = (x - b) * f), s > c || o > a || ((o > s || isNaN(s)) && (s = o), (c < a || isNaN(a)) && (a = c), d >= 0 ? (l = (v - g) * d, h = (S - g) * d) : (l = (S - g) * d, h = (v - g) * d), s > h || l > a) ? !1 : ((l > s || s !== s) && (s = l), (h < a || a !== a) && (a = h), s <= i && a >= n);
39846
40221
  }
39847
- function iT(r, e, t, n, i, s, a, o) {
40222
+ function rT(r, e, t, n, i, s, a, o) {
39848
40223
  const { geometry: c, _indirectBuffer: l } = r;
39849
40224
  for (let h = n, u = n + i; h < u; h++) {
39850
40225
  let f = l ? l[h] : h;
39851
40226
  ru(c, e, t, f, s, a, o);
39852
40227
  }
39853
40228
  }
39854
- function sT(r, e, t, n, i, s, a) {
40229
+ function aT(r, e, t, n, i, s, a) {
39855
40230
  const { geometry: o, _indirectBuffer: c } = r;
39856
40231
  let l = 1 / 0, h = null;
39857
40232
  for (let u = n, f = n + i; u < f; u++) {
@@ -39860,7 +40235,7 @@ function sT(r, e, t, n, i, s, a) {
39860
40235
  }
39861
40236
  return h;
39862
40237
  }
39863
- function rT(r, e, t, n, i, s, a) {
40238
+ function oT(r, e, t, n, i, s, a) {
39864
40239
  const { geometry: o } = t, { index: c } = o, l = o.attributes.position;
39865
40240
  for (let h = r, u = e + r; h < u; h++) {
39866
40241
  let f;
@@ -39869,38 +40244,38 @@ function rT(r, e, t, n, i, s, a) {
39869
40244
  }
39870
40245
  return !1;
39871
40246
  }
39872
- function aT(r, e, t, n, i, s, a) {
39873
- Mt.setBuffer(r._roots[e]), sd(0, r, t, n, i, s, a), Mt.clearBuffer();
40247
+ function cT(r, e, t, n, i, s, a) {
40248
+ Mt.setBuffer(r._roots[e]), ad(0, r, t, n, i, s, a), Mt.clearBuffer();
39874
40249
  }
39875
- function sd(r, e, t, n, i, s, a) {
40250
+ function ad(r, e, t, n, i, s, a) {
39876
40251
  const { float32Array: o, uint16Array: c, uint32Array: l } = Mt, h = r * 2;
39877
40252
  if (Xt(h, c)) {
39878
40253
  const f = mn(r, l), d = Cn(h, c);
39879
- $w(e, t, n, f, d, i, s, a);
40254
+ tT(e, t, n, f, d, i, s, a);
39880
40255
  } else {
39881
40256
  const f = nn(r);
39882
- Is(f, o, n, s, a) && sd(f, e, t, n, i, s, a);
40257
+ Is(f, o, n, s, a) && ad(f, e, t, n, i, s, a);
39883
40258
  const d = sn(r, l);
39884
- Is(d, o, n, s, a) && sd(d, e, t, n, i, s, a);
40259
+ Is(d, o, n, s, a) && ad(d, e, t, n, i, s, a);
39885
40260
  }
39886
40261
  }
39887
- const oT = ["x", "y", "z"];
39888
- function cT(r, e, t, n, i, s) {
40262
+ const lT = ["x", "y", "z"];
40263
+ function hT(r, e, t, n, i, s) {
39889
40264
  Mt.setBuffer(r._roots[e]);
39890
- const a = rd(0, r, t, n, i, s);
40265
+ const a = od(0, r, t, n, i, s);
39891
40266
  return Mt.clearBuffer(), a;
39892
40267
  }
39893
- function rd(r, e, t, n, i, s) {
40268
+ function od(r, e, t, n, i, s) {
39894
40269
  const { float32Array: a, uint16Array: o, uint32Array: c } = Mt;
39895
40270
  let l = r * 2;
39896
40271
  if (Xt(l, o)) {
39897
40272
  const u = mn(r, c), f = Cn(l, o);
39898
- return eT(e, t, n, u, f, i, s);
40273
+ return nT(e, t, n, u, f, i, s);
39899
40274
  } else {
39900
- const u = $d(r, c), f = oT[u], p = n.direction[f] >= 0;
40275
+ const u = $d(r, c), f = lT[u], p = n.direction[f] >= 0;
39901
40276
  let b, g;
39902
40277
  p ? (b = nn(r), g = sn(r, c)) : (b = sn(r, c), g = nn(r));
39903
- const m = Is(b, a, n, i, s) ? rd(b, e, t, n, i, s) : null;
40278
+ const m = Is(b, a, n, i, s) ? od(b, e, t, n, i, s) : null;
39904
40279
  if (m) {
39905
40280
  const v = m.point[f];
39906
40281
  if (p ? v <= a[g + u] : (
@@ -39909,17 +40284,17 @@ function rd(r, e, t, n, i, s) {
39909
40284
  ))
39910
40285
  return m;
39911
40286
  }
39912
- const _ = Is(g, a, n, i, s) ? rd(g, e, t, n, i, s) : null;
40287
+ const _ = Is(g, a, n, i, s) ? od(g, e, t, n, i, s) : null;
39913
40288
  return m && _ ? m.distance <= _.distance ? m : _ : m || _ || null;
39914
40289
  }
39915
40290
  }
39916
40291
  const fl = /* @__PURE__ */ new vt(), sa = /* @__PURE__ */ new Zn(), ra = /* @__PURE__ */ new Zn(), Za = /* @__PURE__ */ new ve(), Ag = /* @__PURE__ */ new Tn(), dl = /* @__PURE__ */ new Tn();
39917
- function lT(r, e, t, n) {
40292
+ function uT(r, e, t, n) {
39918
40293
  Mt.setBuffer(r._roots[e]);
39919
- const i = ad(0, r, t, n);
40294
+ const i = cd(0, r, t, n);
39920
40295
  return Mt.clearBuffer(), i;
39921
40296
  }
39922
- function ad(r, e, t, n, i = null) {
40297
+ function cd(r, e, t, n, i = null) {
39923
40298
  const { float32Array: s, uint16Array: a, uint32Array: o } = Mt;
39924
40299
  let c = r * 2;
39925
40300
  if (i === null && (t.boundingBox || t.computeBoundingBox(), Ag.set(t.boundingBox.min, t.boundingBox.max, n), i = Ag), Xt(c, a)) {
@@ -39946,15 +40321,15 @@ function ad(r, e, t, n, i = null) {
39946
40321
  }
39947
40322
  } else {
39948
40323
  const h = nn(r), u = sn(r, o);
39949
- return Ft(h, s, fl), !!(i.intersectsBox(fl) && ad(h, e, t, n, i) || (Ft(u, s, fl), i.intersectsBox(fl) && ad(u, e, t, n, i)));
40324
+ return Ft(h, s, fl), !!(i.intersectsBox(fl) && cd(h, e, t, n, i) || (Ft(u, s, fl), i.intersectsBox(fl) && cd(u, e, t, n, i)));
39950
40325
  }
39951
40326
  }
39952
- const pl = /* @__PURE__ */ new ve(), gf = /* @__PURE__ */ new Tn(), $a = /* @__PURE__ */ new Tn(), hT = /* @__PURE__ */ new T(), uT = /* @__PURE__ */ new T(), fT = /* @__PURE__ */ new T(), dT = /* @__PURE__ */ new T();
39953
- function pT(r, e, t, n = {}, i = {}, s = 0, a = 1 / 0) {
40327
+ const pl = /* @__PURE__ */ new ve(), gf = /* @__PURE__ */ new Tn(), $a = /* @__PURE__ */ new Tn(), fT = /* @__PURE__ */ new T(), dT = /* @__PURE__ */ new T(), pT = /* @__PURE__ */ new T(), AT = /* @__PURE__ */ new T();
40328
+ function gT(r, e, t, n = {}, i = {}, s = 0, a = 1 / 0) {
39954
40329
  e.boundingBox || e.computeBoundingBox(), gf.set(e.boundingBox.min, e.boundingBox.max, t), gf.needsUpdate = !0;
39955
40330
  const o = r.geometry, c = o.attributes.position, l = o.index, h = e.attributes.position, u = e.index, f = Kn.getPrimitive(), d = Kn.getPrimitive();
39956
- let p = hT, b = uT, g = null, A = null;
39957
- i && (g = fT, A = dT);
40331
+ let p = fT, b = dT, g = null, A = null;
40332
+ i && (g = pT, A = AT);
39958
40333
  let m = 1 / 0, x = null, _ = null;
39959
40334
  return pl.copy(t).invert(), $a.matrix.copy(pl), r.shapecast(
39960
40335
  {
@@ -39993,7 +40368,7 @@ function pT(r, e, t, n = {}, i = {}, s = 0, a = 1 / 0) {
39993
40368
  }
39994
40369
  ), Kn.releasePrimitive(f), Kn.releasePrimitive(d), m === 1 / 0 ? null : (n.point ? n.point.copy(b) : n.point = b.clone(), n.distance = m, n.faceIndex = x, i && (i.point ? i.point.copy(A) : i.point = A.clone(), i.point.applyMatrix4(pl), b.applyMatrix4(pl), i.distance = b.sub(i.point).length(), i.faceIndex = _), n);
39995
40370
  }
39996
- function AT(r, e = null) {
40371
+ function mT(r, e = null) {
39997
40372
  e && Array.isArray(e) && (e = new Set(e));
39998
40373
  const t = r.geometry, n = t.index ? t.index.array : null, i = t.attributes.position;
39999
40374
  let s, a, o, c, l = 0;
@@ -40040,38 +40415,38 @@ function AT(r, e = null) {
40040
40415
  }
40041
40416
  }
40042
40417
  }
40043
- function gT(r, e, t, n, i, s, a) {
40044
- Mt.setBuffer(r._roots[e]), od(0, r, t, n, i, s, a), Mt.clearBuffer();
40418
+ function bT(r, e, t, n, i, s, a) {
40419
+ Mt.setBuffer(r._roots[e]), ld(0, r, t, n, i, s, a), Mt.clearBuffer();
40045
40420
  }
40046
- function od(r, e, t, n, i, s, a) {
40421
+ function ld(r, e, t, n, i, s, a) {
40047
40422
  const { float32Array: o, uint16Array: c, uint32Array: l } = Mt, h = r * 2;
40048
40423
  if (Xt(h, c)) {
40049
40424
  const f = mn(r, l), d = Cn(h, c);
40050
- iT(e, t, n, f, d, i, s, a);
40425
+ rT(e, t, n, f, d, i, s, a);
40051
40426
  } else {
40052
40427
  const f = nn(r);
40053
- Is(f, o, n, s, a) && od(f, e, t, n, i, s, a);
40428
+ Is(f, o, n, s, a) && ld(f, e, t, n, i, s, a);
40054
40429
  const d = sn(r, l);
40055
- Is(d, o, n, s, a) && od(d, e, t, n, i, s, a);
40430
+ Is(d, o, n, s, a) && ld(d, e, t, n, i, s, a);
40056
40431
  }
40057
40432
  }
40058
- const mT = ["x", "y", "z"];
40059
- function bT(r, e, t, n, i, s) {
40433
+ const xT = ["x", "y", "z"];
40434
+ function _T(r, e, t, n, i, s) {
40060
40435
  Mt.setBuffer(r._roots[e]);
40061
- const a = cd(0, r, t, n, i, s);
40436
+ const a = hd(0, r, t, n, i, s);
40062
40437
  return Mt.clearBuffer(), a;
40063
40438
  }
40064
- function cd(r, e, t, n, i, s) {
40439
+ function hd(r, e, t, n, i, s) {
40065
40440
  const { float32Array: a, uint16Array: o, uint32Array: c } = Mt;
40066
40441
  let l = r * 2;
40067
40442
  if (Xt(l, o)) {
40068
40443
  const u = mn(r, c), f = Cn(l, o);
40069
- return sT(e, t, n, u, f, i, s);
40444
+ return aT(e, t, n, u, f, i, s);
40070
40445
  } else {
40071
- const u = $d(r, c), f = mT[u], p = n.direction[f] >= 0;
40446
+ const u = $d(r, c), f = xT[u], p = n.direction[f] >= 0;
40072
40447
  let b, g;
40073
40448
  p ? (b = nn(r), g = sn(r, c)) : (b = sn(r, c), g = nn(r));
40074
- const m = Is(b, a, n, i, s) ? cd(b, e, t, n, i, s) : null;
40449
+ const m = Is(b, a, n, i, s) ? hd(b, e, t, n, i, s) : null;
40075
40450
  if (m) {
40076
40451
  const v = m.point[f];
40077
40452
  if (p ? v <= a[g + u] : (
@@ -40080,17 +40455,17 @@ function cd(r, e, t, n, i, s) {
40080
40455
  ))
40081
40456
  return m;
40082
40457
  }
40083
- const _ = Is(g, a, n, i, s) ? cd(g, e, t, n, i, s) : null;
40458
+ const _ = Is(g, a, n, i, s) ? hd(g, e, t, n, i, s) : null;
40084
40459
  return m && _ ? m.distance <= _.distance ? m : _ : m || _ || null;
40085
40460
  }
40086
40461
  }
40087
40462
  const Al = /* @__PURE__ */ new vt(), aa = /* @__PURE__ */ new Zn(), oa = /* @__PURE__ */ new Zn(), eo = /* @__PURE__ */ new ve(), gg = /* @__PURE__ */ new Tn(), gl = /* @__PURE__ */ new Tn();
40088
- function xT(r, e, t, n) {
40463
+ function yT(r, e, t, n) {
40089
40464
  Mt.setBuffer(r._roots[e]);
40090
- const i = ld(0, r, t, n);
40465
+ const i = ud(0, r, t, n);
40091
40466
  return Mt.clearBuffer(), i;
40092
40467
  }
40093
- function ld(r, e, t, n, i = null) {
40468
+ function ud(r, e, t, n, i = null) {
40094
40469
  const { float32Array: s, uint16Array: a, uint32Array: o } = Mt;
40095
40470
  let c = r * 2;
40096
40471
  if (i === null && (t.boundingBox || t.computeBoundingBox(), gg.set(t.boundingBox.min, t.boundingBox.max, n), i = gg), Xt(c, a)) {
@@ -40118,15 +40493,15 @@ function ld(r, e, t, n, i = null) {
40118
40493
  }
40119
40494
  } else {
40120
40495
  const h = nn(r), u = sn(r, o);
40121
- return Ft(h, s, Al), !!(i.intersectsBox(Al) && ld(h, e, t, n, i) || (Ft(u, s, Al), i.intersectsBox(Al) && ld(u, e, t, n, i)));
40496
+ return Ft(h, s, Al), !!(i.intersectsBox(Al) && ud(h, e, t, n, i) || (Ft(u, s, Al), i.intersectsBox(Al) && ud(u, e, t, n, i)));
40122
40497
  }
40123
40498
  }
40124
- const ml = /* @__PURE__ */ new ve(), mf = /* @__PURE__ */ new Tn(), to = /* @__PURE__ */ new Tn(), _T = /* @__PURE__ */ new T(), yT = /* @__PURE__ */ new T(), vT = /* @__PURE__ */ new T(), ET = /* @__PURE__ */ new T();
40125
- function ST(r, e, t, n = {}, i = {}, s = 0, a = 1 / 0) {
40499
+ const ml = /* @__PURE__ */ new ve(), mf = /* @__PURE__ */ new Tn(), to = /* @__PURE__ */ new Tn(), vT = /* @__PURE__ */ new T(), ET = /* @__PURE__ */ new T(), ST = /* @__PURE__ */ new T(), IT = /* @__PURE__ */ new T();
40500
+ function MT(r, e, t, n = {}, i = {}, s = 0, a = 1 / 0) {
40126
40501
  e.boundingBox || e.computeBoundingBox(), mf.set(e.boundingBox.min, e.boundingBox.max, t), mf.needsUpdate = !0;
40127
40502
  const o = r.geometry, c = o.attributes.position, l = o.index, h = e.attributes.position, u = e.index, f = Kn.getPrimitive(), d = Kn.getPrimitive();
40128
- let p = _T, b = yT, g = null, A = null;
40129
- i && (g = vT, A = ET);
40503
+ let p = vT, b = ET, g = null, A = null;
40504
+ i && (g = ST, A = IT);
40130
40505
  let m = 1 / 0, x = null, _ = null;
40131
40506
  return ml.copy(t).invert(), to.matrix.copy(ml), r.shapecast(
40132
40507
  {
@@ -40173,7 +40548,7 @@ function mg(r, e, t) {
40173
40548
  return r === null ? null : (r.point.applyMatrix4(e.matrixWorld), r.distance = r.point.distanceTo(t.ray.origin), r.object = e, r);
40174
40549
  }
40175
40550
  const bl = /* @__PURE__ */ new Tn(), xl = /* @__PURE__ */ new Ki(), bg = /* @__PURE__ */ new T(), xg = /* @__PURE__ */ new ve(), _g = /* @__PURE__ */ new T(), bf = ["getX", "getY", "getZ"];
40176
- class Wo extends Ww {
40551
+ class Wo extends Xw {
40177
40552
  /**
40178
40553
  * Generates a representation of the complete bounds tree and the geometry index buffer which
40179
40554
  * can be used to recreate a bounds tree using the `deserialize` function. The `serialize` and
@@ -40357,7 +40732,7 @@ class Wo extends Ww {
40357
40732
  * @param {Set<number>|Array<number>|null} [nodeIndices=null]
40358
40733
  */
40359
40734
  refit(e = null) {
40360
- return (this.indirect ? AT : nT)(this, e);
40735
+ return (this.indirect ? mT : sT)(this, e);
40361
40736
  }
40362
40737
  /* Core Cast Functions */
40363
40738
  /**
@@ -40380,7 +40755,7 @@ class Wo extends Ww {
40380
40755
  * @returns {Array<Intersection>}
40381
40756
  */
40382
40757
  raycast(e, t = Gn, n = 0, i = 1 / 0) {
40383
- const s = this._roots, a = [], o = this.indirect ? gT : aT;
40758
+ const s = this._roots, a = [], o = this.indirect ? bT : cT;
40384
40759
  for (let c = 0, l = s.length; c < l; c++)
40385
40760
  o(this, c, t, e, a, n, i);
40386
40761
  return a;
@@ -40399,7 +40774,7 @@ class Wo extends Ww {
40399
40774
  raycastFirst(e, t = Gn, n = 0, i = 1 / 0) {
40400
40775
  const s = this._roots;
40401
40776
  let a = null;
40402
- const o = this.indirect ? bT : cT;
40777
+ const o = this.indirect ? _T : hT;
40403
40778
  for (let c = 0, l = s.length; c < l; c++) {
40404
40779
  const h = o(this, c, t, e, n, i);
40405
40780
  h != null && (a == null || h.distance < a.distance) && (a = h);
@@ -40420,7 +40795,7 @@ class Wo extends Ww {
40420
40795
  */
40421
40796
  intersectsGeometry(e, t) {
40422
40797
  let n = !1;
40423
- const i = this._roots, s = this.indirect ? xT : lT;
40798
+ const i = this._roots, s = this.indirect ? yT : uT;
40424
40799
  for (let a = 0, o = i.length; a < o && (n = s(this, a, e, t), !n); a++)
40425
40800
  ;
40426
40801
  return n;
@@ -40446,7 +40821,7 @@ class Wo extends Ww {
40446
40821
  scratchPrimitive: t,
40447
40822
  // TODO: is the performance significant enough for the added complexity here?
40448
40823
  // can we just use one function?
40449
- iterate: this.indirect ? rT : tT
40824
+ iterate: this.indirect ? oT : iT
40450
40825
  }
40451
40826
  );
40452
40827
  return Kn.releasePrimitive(t), n;
@@ -40557,496 +40932,121 @@ class Wo extends Ww {
40557
40932
  * _Note that this function can be very slow if `geometry` does not have a
40558
40933
  * `geometry.boundsTree` computed._
40559
40934
  *
40560
- * @param {BufferGeometry} otherGeometry
40561
- * @param {Matrix4} geometryToBvh - Transform of `otherGeometry` into the local space of
40562
- * this BVH.
40563
- * @param {HitPointInfo} [target1={}]
40564
- * @param {HitPointInfo} [target2={}]
40565
- * @param {number} [minThreshold=0]
40566
- * @param {number} [maxThreshold=Infinity]
40567
- * @returns {HitPointInfo|null}
40568
- */
40569
- closestPointToGeometry(e, t, n = {}, i = {}, s = 0, a = 1 / 0) {
40570
- return (this.indirect ? ST : pT)(
40571
- this,
40572
- e,
40573
- t,
40574
- n,
40575
- i,
40576
- s,
40577
- a
40578
- );
40579
- }
40580
- /**
40581
- * Computes the closest distance from the point to the mesh and gives additional information
40582
- * in `target`. The target can be left undefined to default to a new object which is
40583
- * ultimately returned by the function.
40584
- *
40585
- * If a point is found that is closer than `minThreshold` then the function will return that
40586
- * result early. Any triangles or points outside of `maxThreshold` are ignored. If no point
40587
- * is found within the min / max thresholds then `null` is returned and the `target` object
40588
- * is not modified.
40589
- *
40590
- * The returned faceIndex can be used with the standalone function `getTriangleHitPointInfo`
40591
- * to obtain more information like UV coordinates, triangle normal and materialIndex.
40592
- *
40593
- * @param {Vector3} point
40594
- * @param {HitPointInfo} [target={}]
40935
+ * @param {BufferGeometry} otherGeometry
40936
+ * @param {Matrix4} geometryToBvh - Transform of `otherGeometry` into the local space of
40937
+ * this BVH.
40938
+ * @param {HitPointInfo} [target1={}]
40939
+ * @param {HitPointInfo} [target2={}]
40595
40940
  * @param {number} [minThreshold=0]
40596
40941
  * @param {number} [maxThreshold=Infinity]
40597
40942
  * @returns {HitPointInfo|null}
40598
40943
  */
40599
- closestPointToPoint(e, t = {}, n = 0, i = 1 / 0) {
40600
- return Kw(
40944
+ closestPointToGeometry(e, t, n = {}, i = {}, s = 0, a = 1 / 0) {
40945
+ return (this.indirect ? MT : gT)(
40601
40946
  this,
40602
40947
  e,
40603
40948
  t,
40604
40949
  n,
40605
- i
40950
+ i,
40951
+ s,
40952
+ a
40606
40953
  );
40607
40954
  }
40608
- }
40609
- const ca = {
40610
- Mesh: pe.prototype.raycast,
40611
- Line: Vt.prototype.raycast,
40612
- LineSegments: Hn.prototype.raycast,
40613
- LineLoop: $o.prototype.raycast,
40614
- Points: ec.prototype.raycast,
40615
- BatchedMesh: Id.prototype.raycast
40616
- }, an = /* @__PURE__ */ new pe(), _l = [];
40617
- function F1(r, e) {
40618
- if (this.isBatchedMesh)
40619
- IT.call(this, r, e);
40620
- else {
40621
- const { geometry: t } = this;
40622
- if (t.boundsTree)
40623
- t.boundsTree.raycastObject3D(this, r, e);
40624
- else {
40625
- let n;
40626
- if (this instanceof pe)
40627
- n = ca.Mesh;
40628
- else if (this instanceof Hn)
40629
- n = ca.LineSegments;
40630
- else if (this instanceof $o)
40631
- n = ca.LineLoop;
40632
- else if (this instanceof Vt)
40633
- n = ca.Line;
40634
- else if (this instanceof ec)
40635
- n = ca.Points;
40636
- else
40637
- throw new Error("BVH: Fallback raycast function not found.");
40638
- n.call(this, r, e);
40639
- }
40640
- }
40641
- }
40642
- function IT(r, e) {
40643
- if (this.boundsTrees) {
40644
- const t = this.boundsTrees, n = this._drawInfo || this._instanceInfo, i = this._drawRanges || this._geometryInfo, s = this.matrixWorld;
40645
- an.material = this.material, an.geometry = this.geometry;
40646
- const a = an.geometry.boundsTree, o = an.geometry.drawRange;
40647
- an.geometry.boundingSphere === null && (an.geometry.boundingSphere = new jt());
40648
- for (let c = 0, l = n.length; c < l; c++) {
40649
- if (!this.getVisibleAt(c))
40650
- continue;
40651
- const h = n[c].geometryIndex;
40652
- if (an.geometry.boundsTree = t[h], this.getMatrixAt(c, an.matrixWorld).premultiply(s), !an.geometry.boundsTree) {
40653
- this.getBoundingBoxAt(h, an.geometry.boundingBox), this.getBoundingSphereAt(h, an.geometry.boundingSphere);
40654
- const u = i[h];
40655
- an.geometry.setDrawRange(u.start, u.count);
40656
- }
40657
- an.raycast(r, _l);
40658
- for (let u = 0, f = _l.length; u < f; u++) {
40659
- const d = _l[u];
40660
- d.object = this, d.batchId = c, e.push(d);
40661
- }
40662
- _l.length = 0;
40663
- }
40664
- an.geometry.boundsTree = a, an.geometry.drawRange = o, an.material = null, an.geometry = null;
40665
- } else
40666
- ca.BatchedMesh.call(this, r, e);
40667
- }
40668
- function N1(r = {}) {
40669
- const { type: e = Wo } = r;
40670
- return this.boundsTree = new e(this, r), this.boundsTree;
40671
- }
40672
- function U1() {
40673
- this.boundsTree = null;
40674
- }
40675
- var Aa = Object.freeze({
40676
- Linear: Object.freeze({
40677
- None: function(r) {
40678
- return r;
40679
- },
40680
- In: function(r) {
40681
- return r;
40682
- },
40683
- Out: function(r) {
40684
- return r;
40685
- },
40686
- InOut: function(r) {
40687
- return r;
40688
- }
40689
- }),
40690
- Quadratic: Object.freeze({
40691
- In: function(r) {
40692
- return r * r;
40693
- },
40694
- Out: function(r) {
40695
- return r * (2 - r);
40696
- },
40697
- InOut: function(r) {
40698
- return (r *= 2) < 1 ? 0.5 * r * r : -0.5 * (--r * (r - 2) - 1);
40699
- }
40700
- }),
40701
- Cubic: Object.freeze({
40702
- In: function(r) {
40703
- return r * r * r;
40704
- },
40705
- Out: function(r) {
40706
- return --r * r * r + 1;
40707
- },
40708
- InOut: function(r) {
40709
- return (r *= 2) < 1 ? 0.5 * r * r * r : 0.5 * ((r -= 2) * r * r + 2);
40710
- }
40711
- }),
40712
- Quartic: Object.freeze({
40713
- In: function(r) {
40714
- return r * r * r * r;
40715
- },
40716
- Out: function(r) {
40717
- return 1 - --r * r * r * r;
40718
- },
40719
- InOut: function(r) {
40720
- return (r *= 2) < 1 ? 0.5 * r * r * r * r : -0.5 * ((r -= 2) * r * r * r - 2);
40721
- }
40722
- }),
40723
- Quintic: Object.freeze({
40724
- In: function(r) {
40725
- return r * r * r * r * r;
40726
- },
40727
- Out: function(r) {
40728
- return --r * r * r * r * r + 1;
40729
- },
40730
- InOut: function(r) {
40731
- return (r *= 2) < 1 ? 0.5 * r * r * r * r * r : 0.5 * ((r -= 2) * r * r * r * r + 2);
40732
- }
40733
- }),
40734
- Sinusoidal: Object.freeze({
40735
- In: function(r) {
40736
- return 1 - Math.sin((1 - r) * Math.PI / 2);
40737
- },
40738
- Out: function(r) {
40739
- return Math.sin(r * Math.PI / 2);
40740
- },
40741
- InOut: function(r) {
40742
- return 0.5 * (1 - Math.sin(Math.PI * (0.5 - r)));
40743
- }
40744
- }),
40745
- Exponential: Object.freeze({
40746
- In: function(r) {
40747
- return r === 0 ? 0 : Math.pow(1024, r - 1);
40748
- },
40749
- Out: function(r) {
40750
- return r === 1 ? 1 : 1 - Math.pow(2, -10 * r);
40751
- },
40752
- InOut: function(r) {
40753
- return r === 0 ? 0 : r === 1 ? 1 : (r *= 2) < 1 ? 0.5 * Math.pow(1024, r - 1) : 0.5 * (-Math.pow(2, -10 * (r - 1)) + 2);
40754
- }
40755
- }),
40756
- Circular: Object.freeze({
40757
- In: function(r) {
40758
- return 1 - Math.sqrt(1 - r * r);
40759
- },
40760
- Out: function(r) {
40761
- return Math.sqrt(1 - --r * r);
40762
- },
40763
- InOut: function(r) {
40764
- return (r *= 2) < 1 ? -0.5 * (Math.sqrt(1 - r * r) - 1) : 0.5 * (Math.sqrt(1 - (r -= 2) * r) + 1);
40765
- }
40766
- }),
40767
- Elastic: Object.freeze({
40768
- In: function(r) {
40769
- return r === 0 ? 0 : r === 1 ? 1 : -Math.pow(2, 10 * (r - 1)) * Math.sin((r - 1.1) * 5 * Math.PI);
40770
- },
40771
- Out: function(r) {
40772
- return r === 0 ? 0 : r === 1 ? 1 : Math.pow(2, -10 * r) * Math.sin((r - 0.1) * 5 * Math.PI) + 1;
40773
- },
40774
- InOut: function(r) {
40775
- return r === 0 ? 0 : r === 1 ? 1 : (r *= 2, r < 1 ? -0.5 * Math.pow(2, 10 * (r - 1)) * Math.sin((r - 1.1) * 5 * Math.PI) : 0.5 * Math.pow(2, -10 * (r - 1)) * Math.sin((r - 1.1) * 5 * Math.PI) + 1);
40776
- }
40777
- }),
40778
- Back: Object.freeze({
40779
- In: function(r) {
40780
- var e = 1.70158;
40781
- return r === 1 ? 1 : r * r * ((e + 1) * r - e);
40782
- },
40783
- Out: function(r) {
40784
- var e = 1.70158;
40785
- return r === 0 ? 0 : --r * r * ((e + 1) * r + e) + 1;
40786
- },
40787
- InOut: function(r) {
40788
- var e = 2.5949095;
40789
- return (r *= 2) < 1 ? 0.5 * (r * r * ((e + 1) * r - e)) : 0.5 * ((r -= 2) * r * ((e + 1) * r + e) + 2);
40790
- }
40791
- }),
40792
- Bounce: Object.freeze({
40793
- In: function(r) {
40794
- return 1 - Aa.Bounce.Out(1 - r);
40795
- },
40796
- Out: function(r) {
40797
- return r < 1 / 2.75 ? 7.5625 * r * r : r < 2 / 2.75 ? 7.5625 * (r -= 1.5 / 2.75) * r + 0.75 : r < 2.5 / 2.75 ? 7.5625 * (r -= 2.25 / 2.75) * r + 0.9375 : 7.5625 * (r -= 2.625 / 2.75) * r + 0.984375;
40798
- },
40799
- InOut: function(r) {
40800
- return r < 0.5 ? Aa.Bounce.In(r * 2) * 0.5 : Aa.Bounce.Out(r * 2 - 1) * 0.5 + 0.5;
40801
- }
40802
- }),
40803
- generatePow: function(r) {
40804
- return r === void 0 && (r = 4), r = r < Number.EPSILON ? Number.EPSILON : r, r = r > 1e4 ? 1e4 : r, {
40805
- In: function(e) {
40806
- return Math.pow(e, r);
40807
- },
40808
- Out: function(e) {
40809
- return 1 - Math.pow(1 - e, r);
40810
- },
40811
- InOut: function(e) {
40812
- return e < 0.5 ? Math.pow(e * 2, r) / 2 : (1 - Math.pow(2 - e * 2, r)) / 2 + 0.5;
40813
- }
40814
- };
40815
- }
40816
- }), lo = function() {
40817
- return performance.now();
40818
- }, MT = (
40819
- /** @class */
40820
- (function() {
40821
- function r() {
40822
- this._tweens = {}, this._tweensAddedDuringUpdate = {};
40823
- }
40824
- return r.prototype.getAll = function() {
40825
- var e = this;
40826
- return Object.keys(this._tweens).map(function(t) {
40827
- return e._tweens[t];
40828
- });
40829
- }, r.prototype.removeAll = function() {
40830
- this._tweens = {};
40831
- }, r.prototype.add = function(e) {
40832
- this._tweens[e.getId()] = e, this._tweensAddedDuringUpdate[e.getId()] = e;
40833
- }, r.prototype.remove = function(e) {
40834
- delete this._tweens[e.getId()], delete this._tweensAddedDuringUpdate[e.getId()];
40835
- }, r.prototype.update = function(e, t) {
40836
- e === void 0 && (e = lo()), t === void 0 && (t = !1);
40837
- var n = Object.keys(this._tweens);
40838
- if (n.length === 0)
40839
- return !1;
40840
- for (; n.length > 0; ) {
40841
- this._tweensAddedDuringUpdate = {};
40842
- for (var i = 0; i < n.length; i++) {
40843
- var s = this._tweens[n[i]], a = !t;
40844
- s && s.update(e, a) === !1 && !t && delete this._tweens[n[i]];
40845
- }
40846
- n = Object.keys(this._tweensAddedDuringUpdate);
40847
- }
40848
- return !0;
40849
- }, r;
40850
- })()
40851
- ), hd = {
40852
- Linear: function(r, e) {
40853
- var t = r.length - 1, n = t * e, i = Math.floor(n), s = hd.Utils.Linear;
40854
- return e < 0 ? s(r[0], r[1], n) : e > 1 ? s(r[t], r[t - 1], t - n) : s(r[i], r[i + 1 > t ? t : i + 1], n - i);
40855
- },
40856
- Utils: {
40857
- Linear: function(r, e, t) {
40858
- return (e - r) * t + r;
40859
- }
40955
+ /**
40956
+ * Computes the closest distance from the point to the mesh and gives additional information
40957
+ * in `target`. The target can be left undefined to default to a new object which is
40958
+ * ultimately returned by the function.
40959
+ *
40960
+ * If a point is found that is closer than `minThreshold` then the function will return that
40961
+ * result early. Any triangles or points outside of `maxThreshold` are ignored. If no point
40962
+ * is found within the min / max thresholds then `null` is returned and the `target` object
40963
+ * is not modified.
40964
+ *
40965
+ * The returned faceIndex can be used with the standalone function `getTriangleHitPointInfo`
40966
+ * to obtain more information like UV coordinates, triangle normal and materialIndex.
40967
+ *
40968
+ * @param {Vector3} point
40969
+ * @param {HitPointInfo} [target={}]
40970
+ * @param {number} [minThreshold=0]
40971
+ * @param {number} [maxThreshold=Infinity]
40972
+ * @returns {HitPointInfo|null}
40973
+ */
40974
+ closestPointToPoint(e, t = {}, n = 0, i = 1 / 0) {
40975
+ return Zw(
40976
+ this,
40977
+ e,
40978
+ t,
40979
+ n,
40980
+ i
40981
+ );
40860
40982
  }
40861
- }, Rb = (
40862
- /** @class */
40863
- (function() {
40864
- function r() {
40865
- }
40866
- return r.nextId = function() {
40867
- return r._nextId++;
40868
- }, r._nextId = 0, r;
40869
- })()
40870
- ), ud = new MT(), CT = (
40871
- /** @class */
40872
- (function() {
40873
- function r(e, t) {
40874
- t === void 0 && (t = ud), this._object = e, this._group = t, this._isPaused = !1, this._pauseStart = 0, this._valuesStart = {}, this._valuesEnd = {}, this._valuesStartRepeat = {}, this._duration = 1e3, this._isDynamic = !1, this._initialRepeat = 0, this._repeat = 0, this._yoyo = !1, this._isPlaying = !1, this._reversed = !1, this._delayTime = 0, this._startTime = 0, this._easingFunction = Aa.Linear.None, this._interpolationFunction = hd.Linear, this._chainedTweens = [], this._onStartCallbackFired = !1, this._onEveryStartCallbackFired = !1, this._id = Rb.nextId(), this._isChainStopped = !1, this._propertiesAreSetUp = !1, this._goToEnd = !1;
40983
+ }
40984
+ const ca = {
40985
+ Mesh: pe.prototype.raycast,
40986
+ Line: Vt.prototype.raycast,
40987
+ LineSegments: Hn.prototype.raycast,
40988
+ LineLoop: $o.prototype.raycast,
40989
+ Points: ec.prototype.raycast,
40990
+ BatchedMesh: Id.prototype.raycast
40991
+ }, an = /* @__PURE__ */ new pe(), _l = [];
40992
+ function N1(r, e) {
40993
+ if (this.isBatchedMesh)
40994
+ CT.call(this, r, e);
40995
+ else {
40996
+ const { geometry: t } = this;
40997
+ if (t.boundsTree)
40998
+ t.boundsTree.raycastObject3D(this, r, e);
40999
+ else {
41000
+ let n;
41001
+ if (this instanceof pe)
41002
+ n = ca.Mesh;
41003
+ else if (this instanceof Hn)
41004
+ n = ca.LineSegments;
41005
+ else if (this instanceof $o)
41006
+ n = ca.LineLoop;
41007
+ else if (this instanceof Vt)
41008
+ n = ca.Line;
41009
+ else if (this instanceof ec)
41010
+ n = ca.Points;
41011
+ else
41012
+ throw new Error("BVH: Fallback raycast function not found.");
41013
+ n.call(this, r, e);
40875
41014
  }
40876
- return r.prototype.getId = function() {
40877
- return this._id;
40878
- }, r.prototype.isPlaying = function() {
40879
- return this._isPlaying;
40880
- }, r.prototype.isPaused = function() {
40881
- return this._isPaused;
40882
- }, r.prototype.getDuration = function() {
40883
- return this._duration;
40884
- }, r.prototype.to = function(e, t) {
40885
- if (t === void 0 && (t = 1e3), this._isPlaying)
40886
- throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");
40887
- return this._valuesEnd = e, this._propertiesAreSetUp = !1, this._duration = t < 0 ? 0 : t, this;
40888
- }, r.prototype.duration = function(e) {
40889
- return e === void 0 && (e = 1e3), this._duration = e < 0 ? 0 : e, this;
40890
- }, r.prototype.dynamic = function(e) {
40891
- return e === void 0 && (e = !1), this._isDynamic = e, this;
40892
- }, r.prototype.start = function(e, t) {
40893
- if (e === void 0 && (e = lo()), t === void 0 && (t = !1), this._isPlaying)
40894
- return this;
40895
- if (this._group && this._group.add(this), this._repeat = this._initialRepeat, this._reversed) {
40896
- this._reversed = !1;
40897
- for (var n in this._valuesStartRepeat)
40898
- this._swapEndStartRepeatValues(n), this._valuesStart[n] = this._valuesStartRepeat[n];
40899
- }
40900
- if (this._isPlaying = !0, this._isPaused = !1, this._onStartCallbackFired = !1, this._onEveryStartCallbackFired = !1, this._isChainStopped = !1, this._startTime = e, this._startTime += this._delayTime, !this._propertiesAreSetUp || t) {
40901
- if (this._propertiesAreSetUp = !0, !this._isDynamic) {
40902
- var i = {};
40903
- for (var s in this._valuesEnd)
40904
- i[s] = this._valuesEnd[s];
40905
- this._valuesEnd = i;
40906
- }
40907
- this._setupProperties(this._object, this._valuesStart, this._valuesEnd, this._valuesStartRepeat, t);
40908
- }
40909
- return this;
40910
- }, r.prototype.startFromCurrentValues = function(e) {
40911
- return this.start(e, !0);
40912
- }, r.prototype._setupProperties = function(e, t, n, i, s) {
40913
- for (var a in n) {
40914
- var o = e[a], c = Array.isArray(o), l = c ? "array" : typeof o, h = !c && Array.isArray(n[a]);
40915
- if (!(l === "undefined" || l === "function")) {
40916
- if (h) {
40917
- var u = n[a];
40918
- if (u.length === 0)
40919
- continue;
40920
- for (var f = [o], d = 0, p = u.length; d < p; d += 1) {
40921
- var b = this._handleRelativeValue(o, u[d]);
40922
- if (isNaN(b)) {
40923
- h = !1, console.warn("Found invalid interpolation list. Skipping.");
40924
- break;
40925
- }
40926
- f.push(b);
40927
- }
40928
- h && (n[a] = f);
40929
- }
40930
- if ((l === "object" || c) && o && !h) {
40931
- t[a] = c ? [] : {};
40932
- var g = o;
40933
- for (var A in g)
40934
- t[a][A] = g[A];
40935
- i[a] = c ? [] : {};
40936
- var u = n[a];
40937
- if (!this._isDynamic) {
40938
- var m = {};
40939
- for (var A in u)
40940
- m[A] = u[A];
40941
- n[a] = u = m;
40942
- }
40943
- this._setupProperties(g, t[a], u, i[a], s);
40944
- } else
40945
- (typeof t[a] > "u" || s) && (t[a] = o), c || (t[a] *= 1), h ? i[a] = n[a].slice().reverse() : i[a] = t[a] || 0;
40946
- }
41015
+ }
41016
+ }
41017
+ function CT(r, e) {
41018
+ if (this.boundsTrees) {
41019
+ const t = this.boundsTrees, n = this._drawInfo || this._instanceInfo, i = this._drawRanges || this._geometryInfo, s = this.matrixWorld;
41020
+ an.material = this.material, an.geometry = this.geometry;
41021
+ const a = an.geometry.boundsTree, o = an.geometry.drawRange;
41022
+ an.geometry.boundingSphere === null && (an.geometry.boundingSphere = new jt());
41023
+ for (let c = 0, l = n.length; c < l; c++) {
41024
+ if (!this.getVisibleAt(c))
41025
+ continue;
41026
+ const h = n[c].geometryIndex;
41027
+ if (an.geometry.boundsTree = t[h], this.getMatrixAt(c, an.matrixWorld).premultiply(s), !an.geometry.boundsTree) {
41028
+ this.getBoundingBoxAt(h, an.geometry.boundingBox), this.getBoundingSphereAt(h, an.geometry.boundingSphere);
41029
+ const u = i[h];
41030
+ an.geometry.setDrawRange(u.start, u.count);
40947
41031
  }
40948
- }, r.prototype.stop = function() {
40949
- return this._isChainStopped || (this._isChainStopped = !0, this.stopChainedTweens()), this._isPlaying ? (this._group && this._group.remove(this), this._isPlaying = !1, this._isPaused = !1, this._onStopCallback && this._onStopCallback(this._object), this) : this;
40950
- }, r.prototype.end = function() {
40951
- return this._goToEnd = !0, this.update(1 / 0), this;
40952
- }, r.prototype.pause = function(e) {
40953
- return e === void 0 && (e = lo()), this._isPaused || !this._isPlaying ? this : (this._isPaused = !0, this._pauseStart = e, this._group && this._group.remove(this), this);
40954
- }, r.prototype.resume = function(e) {
40955
- return e === void 0 && (e = lo()), !this._isPaused || !this._isPlaying ? this : (this._isPaused = !1, this._startTime += e - this._pauseStart, this._pauseStart = 0, this._group && this._group.add(this), this);
40956
- }, r.prototype.stopChainedTweens = function() {
40957
- for (var e = 0, t = this._chainedTweens.length; e < t; e++)
40958
- this._chainedTweens[e].stop();
40959
- return this;
40960
- }, r.prototype.group = function(e) {
40961
- return e === void 0 && (e = ud), this._group = e, this;
40962
- }, r.prototype.delay = function(e) {
40963
- return e === void 0 && (e = 0), this._delayTime = e, this;
40964
- }, r.prototype.repeat = function(e) {
40965
- return e === void 0 && (e = 0), this._initialRepeat = e, this._repeat = e, this;
40966
- }, r.prototype.repeatDelay = function(e) {
40967
- return this._repeatDelayTime = e, this;
40968
- }, r.prototype.yoyo = function(e) {
40969
- return e === void 0 && (e = !1), this._yoyo = e, this;
40970
- }, r.prototype.easing = function(e) {
40971
- return e === void 0 && (e = Aa.Linear.None), this._easingFunction = e, this;
40972
- }, r.prototype.interpolation = function(e) {
40973
- return e === void 0 && (e = hd.Linear), this._interpolationFunction = e, this;
40974
- }, r.prototype.chain = function() {
40975
- for (var e = [], t = 0; t < arguments.length; t++)
40976
- e[t] = arguments[t];
40977
- return this._chainedTweens = e, this;
40978
- }, r.prototype.onStart = function(e) {
40979
- return this._onStartCallback = e, this;
40980
- }, r.prototype.onEveryStart = function(e) {
40981
- return this._onEveryStartCallback = e, this;
40982
- }, r.prototype.onUpdate = function(e) {
40983
- return this._onUpdateCallback = e, this;
40984
- }, r.prototype.onRepeat = function(e) {
40985
- return this._onRepeatCallback = e, this;
40986
- }, r.prototype.onComplete = function(e) {
40987
- return this._onCompleteCallback = e, this;
40988
- }, r.prototype.onStop = function(e) {
40989
- return this._onStopCallback = e, this;
40990
- }, r.prototype.update = function(e, t) {
40991
- var n = this, i;
40992
- if (e === void 0 && (e = lo()), t === void 0 && (t = !0), this._isPaused)
40993
- return !0;
40994
- var s, a = this._startTime + this._duration;
40995
- if (!this._goToEnd && !this._isPlaying) {
40996
- if (e > a)
40997
- return !1;
40998
- t && this.start(e, !0);
41032
+ an.raycast(r, _l);
41033
+ for (let u = 0, f = _l.length; u < f; u++) {
41034
+ const d = _l[u];
41035
+ d.object = this, d.batchId = c, e.push(d);
40999
41036
  }
41000
- if (this._goToEnd = !1, e < this._startTime)
41001
- return !0;
41002
- this._onStartCallbackFired === !1 && (this._onStartCallback && this._onStartCallback(this._object), this._onStartCallbackFired = !0), this._onEveryStartCallbackFired === !1 && (this._onEveryStartCallback && this._onEveryStartCallback(this._object), this._onEveryStartCallbackFired = !0);
41003
- var o = e - this._startTime, c = this._duration + ((i = this._repeatDelayTime) !== null && i !== void 0 ? i : this._delayTime), l = this._duration + this._repeat * c, h = function() {
41004
- if (n._duration === 0 || o > l)
41005
- return 1;
41006
- var g = Math.trunc(o / c), A = o - g * c, m = Math.min(A / n._duration, 1);
41007
- return m === 0 && o === n._duration ? 1 : m;
41008
- }, u = h(), f = this._easingFunction(u);
41009
- if (this._updateProperties(this._object, this._valuesStart, this._valuesEnd, f), this._onUpdateCallback && this._onUpdateCallback(this._object, u), this._duration === 0 || o >= this._duration)
41010
- if (this._repeat > 0) {
41011
- var d = Math.min(Math.trunc((o - this._duration) / c) + 1, this._repeat);
41012
- isFinite(this._repeat) && (this._repeat -= d);
41013
- for (s in this._valuesStartRepeat)
41014
- !this._yoyo && typeof this._valuesEnd[s] == "string" && (this._valuesStartRepeat[s] = // eslint-disable-next-line
41015
- // @ts-ignore FIXME?
41016
- this._valuesStartRepeat[s] + parseFloat(this._valuesEnd[s])), this._yoyo && this._swapEndStartRepeatValues(s), this._valuesStart[s] = this._valuesStartRepeat[s];
41017
- return this._yoyo && (this._reversed = !this._reversed), this._startTime += c * d, this._onRepeatCallback && this._onRepeatCallback(this._object), this._onEveryStartCallbackFired = !1, !0;
41018
- } else {
41019
- this._onCompleteCallback && this._onCompleteCallback(this._object);
41020
- for (var p = 0, b = this._chainedTweens.length; p < b; p++)
41021
- this._chainedTweens[p].start(this._startTime + this._duration, !1);
41022
- return this._isPlaying = !1, !1;
41023
- }
41024
- return !0;
41025
- }, r.prototype._updateProperties = function(e, t, n, i) {
41026
- for (var s in n)
41027
- if (t[s] !== void 0) {
41028
- var a = t[s] || 0, o = n[s], c = Array.isArray(e[s]), l = Array.isArray(o), h = !c && l;
41029
- h ? e[s] = this._interpolationFunction(o, i) : typeof o == "object" && o ? this._updateProperties(e[s], a, o, i) : (o = this._handleRelativeValue(a, o), typeof o == "number" && (e[s] = a + (o - a) * i));
41030
- }
41031
- }, r.prototype._handleRelativeValue = function(e, t) {
41032
- return typeof t != "string" ? t : t.charAt(0) === "+" || t.charAt(0) === "-" ? e + parseFloat(t) : parseFloat(t);
41033
- }, r.prototype._swapEndStartRepeatValues = function(e) {
41034
- var t = this._valuesStartRepeat[e], n = this._valuesEnd[e];
41035
- typeof n == "string" ? this._valuesStartRepeat[e] = this._valuesStartRepeat[e] + parseFloat(n) : this._valuesStartRepeat[e] = this._valuesEnd[e], this._valuesEnd[e] = t;
41036
- }, r;
41037
- })()
41038
- );
41039
- Rb.nextId;
41040
- var Mi = ud;
41041
- Mi.getAll.bind(Mi);
41042
- Mi.removeAll.bind(Mi);
41043
- Mi.add.bind(Mi);
41044
- Mi.remove.bind(Mi);
41045
- Mi.update.bind(Mi);
41046
- var O1 = {
41047
- Easing: Aa,
41048
- Tween: CT
41049
- };
41037
+ _l.length = 0;
41038
+ }
41039
+ an.geometry.boundsTree = a, an.geometry.drawRange = o, an.material = null, an.geometry = null;
41040
+ } else
41041
+ ca.BatchedMesh.call(this, r, e);
41042
+ }
41043
+ function U1(r = {}) {
41044
+ const { type: e = Wo } = r;
41045
+ return this.boundsTree = new e(this, r), this.boundsTree;
41046
+ }
41047
+ function O1() {
41048
+ this.boundsTree = null;
41049
+ }
41050
41050
  const js = new S0(), pn = new T(), cs = new T(), Ct = new _t(), yg = {
41051
41051
  X: new T(1, 0, 0),
41052
41052
  Y: new T(0, 1, 0),
@@ -43152,18 +43152,18 @@ class z1 {
43152
43152
  }
43153
43153
  }
43154
43154
  export {
43155
- d0 as $,
43155
+ zd as $,
43156
43156
  $y as A,
43157
43157
  vt as B,
43158
43158
  nt as C,
43159
43159
  En as D,
43160
43160
  Ci as E,
43161
- D1 as F,
43161
+ P1 as F,
43162
43162
  Wi as G,
43163
- Ve as H,
43163
+ U1 as H,
43164
43164
  Sd as I,
43165
- U1 as J,
43166
- C1 as K,
43165
+ Ve as J,
43166
+ O1 as K,
43167
43167
  ht as L,
43168
43168
  bd as M,
43169
43169
  vh as N,
@@ -43173,35 +43173,36 @@ export {
43173
43173
  S0 as R,
43174
43174
  Dm as S,
43175
43175
  M1 as T,
43176
- xr as U,
43176
+ w1 as U,
43177
43177
  T as V,
43178
43178
  vC as W,
43179
- L1 as X,
43180
- P1 as Y,
43181
- ci as Z,
43182
- zd as _,
43179
+ xr as X,
43180
+ F1 as Y,
43181
+ L1 as Z,
43182
+ ci as _,
43183
43183
  Jg as a,
43184
- on as a0,
43185
- Yn as a1,
43186
- Mn as a2,
43187
- Ff as a3,
43188
- O1 as a4,
43184
+ d0 as a0,
43185
+ on as a1,
43186
+ Yn as a2,
43187
+ Mn as a3,
43188
+ Ff as a4,
43189
43189
  u0 as a5,
43190
43190
  Rt as a6,
43191
43191
  Lm as a7,
43192
43192
  cn as a8,
43193
43193
  Vt as a9,
43194
- Xh as aA,
43195
- Qm as aB,
43196
- $o as aC,
43197
- It as aD,
43198
- Kt as aE,
43199
- Bt as aF,
43200
- Gn as aG,
43201
- oi as aH,
43202
- ec as aI,
43203
- ws as aJ,
43204
- l0 as aK,
43194
+ Qm as aA,
43195
+ zm as aB,
43196
+ qh as aC,
43197
+ Ht as aD,
43198
+ Xh as aE,
43199
+ Kt as aF,
43200
+ Bt as aG,
43201
+ Gn as aH,
43202
+ oi as aI,
43203
+ ec as aJ,
43204
+ ws as aK,
43205
+ l0 as aL,
43205
43206
  z_ as aa,
43206
43207
  vd as ab,
43207
43208
  Sr as ac,
@@ -43223,34 +43224,34 @@ export {
43223
43224
  h1 as as,
43224
43225
  Pg as at,
43225
43226
  av as au,
43226
- qh as av,
43227
- Ht as aw,
43228
- Wm as ax,
43229
- Vm as ay,
43230
- Kh as az,
43227
+ It as av,
43228
+ Wm as aw,
43229
+ Vm as ax,
43230
+ Kh as ay,
43231
+ $o as az,
43231
43232
  wt as b,
43232
43233
  M0 as c,
43233
43234
  qb as d,
43234
- K as e,
43235
- Fn as f,
43236
- rv as g,
43237
- w1 as h,
43238
- ve as i,
43239
- pe as j,
43240
- ct as k,
43241
- aw as l,
43242
- Yt as m,
43243
- Nt as n,
43244
- Jt as o,
43245
- T1 as p,
43235
+ C1 as e,
43236
+ K as f,
43237
+ Fn as g,
43238
+ rv as h,
43239
+ T1 as i,
43240
+ ve as j,
43241
+ pe as k,
43242
+ ct as l,
43243
+ cw as m,
43244
+ Yt as n,
43245
+ Nt as o,
43246
+ Jt as p,
43246
43247
  B1 as q,
43247
- Gi as r,
43248
- tr as s,
43249
- R1 as t,
43250
- Ae as u,
43251
- fr as v,
43252
- Hh as w,
43253
- ic as x,
43254
- F1 as y,
43248
+ R1 as r,
43249
+ Gi as s,
43250
+ tr as t,
43251
+ D1 as u,
43252
+ Ae as v,
43253
+ fr as w,
43254
+ Hh as x,
43255
+ ic as y,
43255
43256
  N1 as z
43256
43257
  };