aptechka 0.1.12 → 0.1.15
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.
- package/lib/Damped-Fy7tHx4d.js +33 -0
- package/lib/Damped-mdFs8WSd.cjs +1 -0
- package/lib/{WheelControls-CX9WUbBC.js → WheelControls-BN4XGOpG.js} +29 -34
- package/lib/WheelControls-Dc1xcVG6.cjs +1 -0
- package/lib/animation/Tweened.d.ts +0 -1
- package/lib/animation/index.cjs +1 -1
- package/lib/animation/index.js +20 -26
- package/lib/component/Component.d.ts +7 -3
- package/lib/component/hooks/custom-element.d.ts +2 -0
- package/lib/component/index.cjs +1 -1
- package/lib/component/index.d.ts +2 -1
- package/lib/component/index.js +174 -139
- package/lib/controls/index.cjs +1 -1
- package/lib/controls/index.js +20 -23
- package/lib/en3/{test → core}/En3Raycaster.d.ts +1 -1
- package/lib/en3/core/en3.d.ts +2 -0
- package/lib/en3/index.cjs +7 -7
- package/lib/en3/index.d.ts +1 -1
- package/lib/en3/index.js +540 -523
- package/lib/index-B-ZmkQyB.cjs +9 -0
- package/lib/{index-BWTXnG5n.js → index-Dizn7btU.js} +96 -96
- package/lib/layout-box/index.cjs +1 -1
- package/lib/layout-box/index.d.ts +15 -0
- package/lib/layout-box/index.js +102 -93
- package/lib/morph/Morph.d.ts +1 -0
- package/lib/morph/index.cjs +1 -1
- package/lib/morph/index.js +130 -122
- package/lib/object-BZELAoVj.cjs +1 -0
- package/lib/object-R34VLqhp.js +85 -0
- package/lib/order/index.cjs +1 -1
- package/lib/order/index.d.ts +1 -0
- package/lib/order/index.js +1 -1
- package/lib/popover/index.cjs +1 -1
- package/lib/popover/index.js +50 -50
- package/lib/resized/index.d.ts +11 -0
- package/lib/router/index.cjs +1 -1
- package/lib/router/index.js +101 -105
- package/lib/scroll/index.cjs +1 -1
- package/lib/scroll/index.js +2 -2
- package/lib/select/index.cjs +1 -1
- package/lib/select/index.js +1 -1
- package/lib/studio/index.cjs +1 -1
- package/lib/studio/index.js +1 -1
- package/lib/utils/index.cjs +1 -1
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +15 -14
- package/lib/utils/object.d.ts +1 -0
- package/package.json +1 -1
- package/lib/Damped-BwpMU9Gi.cjs +0 -1
- package/lib/Damped-urvryQLo.js +0 -36
- package/lib/WheelControls-CfDeGCOU.cjs +0 -1
- package/lib/component/hooks/shadow.d.ts +0 -1
- package/lib/index-3G1lTMEf.cjs +0 -9
- package/lib/object-C1ph624j.cjs +0 -1
- package/lib/object-DIPjdukP.js +0 -73
package/lib/en3/index.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
1
|
+
var Es = Object.defineProperty, cs = Object.defineProperties;
|
|
2
|
+
var Qs = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var gt = Object.getOwnPropertySymbols;
|
|
4
|
+
var hs = Object.prototype.hasOwnProperty, ls = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var Et = (a, A, e) => A in a ? Es(a, A, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[A] = e, tA = (a, A) => {
|
|
6
6
|
for (var e in A || (A = {}))
|
|
7
|
-
|
|
8
|
-
if (
|
|
9
|
-
for (var e of
|
|
10
|
-
|
|
7
|
+
hs.call(A, e) && Et(a, e, A[e]);
|
|
8
|
+
if (gt)
|
|
9
|
+
for (var e of gt(A))
|
|
10
|
+
ls.call(A, e) && Et(a, e, A[e]);
|
|
11
11
|
return a;
|
|
12
|
-
},
|
|
13
|
-
var
|
|
12
|
+
}, me = (a, A) => cs(a, Qs(A));
|
|
13
|
+
var Ne = (a, A, e) => {
|
|
14
14
|
if (!A.has(a))
|
|
15
15
|
throw TypeError("Cannot " + e);
|
|
16
16
|
};
|
|
17
|
-
var g = (a, A, e) => (
|
|
17
|
+
var g = (a, A, e) => (Ne(a, A, "read from private field"), e ? e.call(a) : A.get(a)), u = (a, A, e) => {
|
|
18
18
|
if (A.has(a))
|
|
19
19
|
throw TypeError("Cannot add the same private member more than once");
|
|
20
20
|
A instanceof WeakSet ? A.add(a) : A.set(a, e);
|
|
21
|
-
}, G = (a, A, e, s) => (
|
|
22
|
-
var QA = (a, A, e) => (
|
|
23
|
-
var
|
|
21
|
+
}, G = (a, A, e, s) => (Ne(a, A, "write to private field"), s ? s.call(a, e) : A.set(a, e), e);
|
|
22
|
+
var QA = (a, A, e) => (Ne(a, A, "access private method"), e);
|
|
23
|
+
var _A = (a, A, e) => new Promise((s, t) => {
|
|
24
24
|
var i = (B) => {
|
|
25
25
|
try {
|
|
26
26
|
o(e.next(B));
|
|
@@ -36,18 +36,18 @@ var PA = (a, A, e) => new Promise((s, t) => {
|
|
|
36
36
|
}, o = (B) => B.done ? s(B.value) : Promise.resolve(B.value).then(i, n);
|
|
37
37
|
o((e = e.apply(a, A)).next());
|
|
38
38
|
});
|
|
39
|
-
import { Ladder as
|
|
40
|
-
import { LayoutBox as
|
|
41
|
-
import { RESIZE_ORDER as
|
|
42
|
-
import { windowResizer as
|
|
43
|
-
import { ticker as
|
|
44
|
-
import { Mesh as
|
|
45
|
-
import { intersector as
|
|
46
|
-
import {
|
|
47
|
-
import {
|
|
48
|
-
import {
|
|
49
|
-
import { S as
|
|
50
|
-
function
|
|
39
|
+
import { Ladder as ct } from "../ladder/index.js";
|
|
40
|
+
import { LayoutBox as Nt } from "../layout-box/index.js";
|
|
41
|
+
import { RESIZE_ORDER as xt, TICK_ORDER as nt } from "../order/index.js";
|
|
42
|
+
import { windowResizer as xA } from "../window-resizer/index.js";
|
|
43
|
+
import { ticker as kA } from "../ticker/index.js";
|
|
44
|
+
import { Mesh as Fe, REVISION as ds, OrthographicCamera as je, PerspectiveCamera as Ze, Scene as us, WebGLRenderer as fs, TrianglesDrawMode as Ds, TriangleFanDrawMode as ze, TriangleStripDrawMode as kt, Loader as ot, LoaderUtils as WA, FileLoader as fA, Color as EA, LinearSRGBColorSpace as O, SpotLight as Fs, PointLight as Gs, DirectionalLight as Rs, MeshBasicMaterial as qA, SRGBColorSpace as $, MeshPhysicalMaterial as AA, Vector2 as Bt, Matrix4 as bA, Vector3 as b, Quaternion as rt, InstancedMesh as ps, InstancedBufferAttribute as ms, Object3D as Ct, TextureLoader as bt, ImageBitmapLoader as Ms, BufferAttribute as VA, InterleavedBuffer as ws, InterleavedBufferAttribute as Ss, LinearFilter as Je, LinearMipmapLinearFilter as at, RepeatWrapping as $e, PointsMaterial as Ls, Material as xe, LineBasicMaterial as ys, MeshStandardMaterial as Kt, DoubleSide as Js, PropertyBinding as Hs, BufferGeometry as Ot, SkinnedMesh as Us, LineSegments as Ts, Line as Ns, LineLoop as xs, Points as ks, Group as jA, MathUtils as bs, Skeleton as Ks, AnimationClip as Os, Bone as _s, InterpolateLinear as _t, ColorManagement as Qt, NearestFilter as Ps, NearestMipmapNearestFilter as Ys, LinearMipmapNearestFilter as qs, NearestMipmapLinearFilter as Xs, ClampToEdgeWrapping as vs, MirroredRepeatWrapping as Ws, InterpolateDiscrete as Vs, FrontSide as js, Texture as ht, VectorKeyframeTrack as lt, NumberKeyframeTrack as dt, QuaternionKeyframeTrack as ut, Box3 as Zs, Sphere as zs, Interpolant as $s, CompressedCubeTexture as Ai, UnsignedByteType as K, CompressedArrayTexture as ei, CompressedTexture as Pt, RGBAFormat as FA, RGBA_ASTC_4x4_Format as ti, RGBA_BPTC_Format as si, RGBA_ETC2_EAC_Format as ii, RGBA_PVRTC_4BPPV1_Format as ni, RGBA_S3TC_DXT5_Format as oi, RGB_ETC1_Format as Bi, RGB_ETC2_Format as ri, RGB_PVRTC_4BPPV1_Format as Ci, RGB_S3TC_DXT1_Format as ai, FloatType as Le, HalfFloatType as ye, DataTexture as Ii, Data3DTexture as gi, DisplayP3ColorSpace as Ei, LinearDisplayP3ColorSpace as ci, NoColorSpace as ft, RGFormat as XA, RedFormat as vA, RGBA_ASTC_6x6_Format as Dt, Plane as Me, PlaneHelper as we, PlaneGeometry as Qi, VideoTexture as hi, Raycaster as li } from "three";
|
|
45
|
+
import { intersector as Ft } from "../intersector/index.js";
|
|
46
|
+
import { S as Gt } from "../Store-JOKrNVEr.js";
|
|
47
|
+
import { g as di } from "../dom-BY7JhTx5.js";
|
|
48
|
+
import { loading as ke } from "../loading/index.js";
|
|
49
|
+
import { S as ui } from "../SourceManager-BoP9RAJr.js";
|
|
50
|
+
function Yt(a) {
|
|
51
51
|
const A = (e) => {
|
|
52
52
|
e.dispose();
|
|
53
53
|
for (const s of Object.keys(e)) {
|
|
@@ -56,7 +56,7 @@ function vt(a) {
|
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
58
|
a.traverse((e) => {
|
|
59
|
-
if (e instanceof
|
|
59
|
+
if (e instanceof Fe) {
|
|
60
60
|
if (e.geometry.dispose(), !Array.isArray(e.material) && e.material.isMaterial)
|
|
61
61
|
A(e.material);
|
|
62
62
|
else if (Array.isArray(e.material))
|
|
@@ -65,56 +65,60 @@ function vt(a) {
|
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
|
-
var
|
|
69
|
-
class
|
|
68
|
+
var He, nA, T, Y, RA, pA, oA, x, mA, MA, Z, q, wA, ZA, zA, lA, Ue, qt, $A, At, Ae, ee;
|
|
69
|
+
class fi {
|
|
70
70
|
constructor() {
|
|
71
71
|
u(this, Ue);
|
|
72
|
-
u(this,
|
|
73
|
-
u(this,
|
|
72
|
+
u(this, $A);
|
|
73
|
+
u(this, He, `https://unpkg.com/three@0.${ds}.x`);
|
|
74
74
|
u(this, nA, null);
|
|
75
|
-
u(this,
|
|
75
|
+
u(this, T, null);
|
|
76
76
|
u(this, Y, null);
|
|
77
|
-
u(this,
|
|
77
|
+
u(this, RA, null);
|
|
78
|
+
u(this, pA, null);
|
|
78
79
|
u(this, oA, []);
|
|
79
|
-
u(this, x, new
|
|
80
|
+
u(this, x, new ct({
|
|
80
81
|
x: 0,
|
|
81
82
|
y: 0,
|
|
82
83
|
z: 0
|
|
83
84
|
}));
|
|
84
|
-
u(this,
|
|
85
|
+
u(this, mA, new ct({
|
|
85
86
|
x: 0,
|
|
86
87
|
y: 0,
|
|
87
88
|
z: 0
|
|
88
89
|
}));
|
|
89
|
-
u(this,
|
|
90
|
+
u(this, MA, "auto");
|
|
90
91
|
u(this, Z, 0);
|
|
91
92
|
u(this, q, 0);
|
|
92
|
-
u(this,
|
|
93
|
-
u(this,
|
|
94
|
-
u(this,
|
|
95
|
-
u(this,
|
|
96
|
-
u(this,
|
|
93
|
+
u(this, wA, 0);
|
|
94
|
+
u(this, ZA, 2);
|
|
95
|
+
u(this, zA, !0);
|
|
96
|
+
u(this, lA, !1);
|
|
97
|
+
u(this, Ae, () => {
|
|
97
98
|
var A;
|
|
98
|
-
G(this, Z, g(this, nA).clientWidth), G(this, q, g(this, nA).clientHeight), G(this,
|
|
99
|
+
G(this, Z, g(this, nA).clientWidth), G(this, q, g(this, nA).clientHeight), G(this, wA, Math.min(g(this, ZA), devicePixelRatio || 1)), g(this, T).setPixelRatio(g(this, wA)), g(this, T).setSize(g(this, Z), g(this, q)), QA(this, $A, At).call(this), (A = this.onResize) == null || A.call(this);
|
|
99
100
|
});
|
|
100
|
-
u(this,
|
|
101
|
-
QA(this, Ue,
|
|
101
|
+
u(this, ee, () => {
|
|
102
|
+
QA(this, Ue, qt).call(this), this.render(g(this, RA), g(this, Y));
|
|
102
103
|
});
|
|
103
104
|
}
|
|
104
105
|
get CDNVersion() {
|
|
105
|
-
return g(this,
|
|
106
|
+
return g(this, He);
|
|
106
107
|
}
|
|
107
108
|
get containerElement() {
|
|
108
109
|
return g(this, nA);
|
|
109
110
|
}
|
|
110
111
|
get webglRenderer() {
|
|
111
|
-
return g(this,
|
|
112
|
+
return g(this, T);
|
|
112
113
|
}
|
|
113
114
|
get camera() {
|
|
114
115
|
return g(this, Y);
|
|
115
116
|
}
|
|
116
117
|
get scene() {
|
|
117
|
-
return g(this,
|
|
118
|
+
return g(this, RA);
|
|
119
|
+
}
|
|
120
|
+
get raycaster() {
|
|
121
|
+
return g(this, pA);
|
|
118
122
|
}
|
|
119
123
|
get attachedObjects() {
|
|
120
124
|
return g(this, oA);
|
|
@@ -123,7 +127,7 @@ class Gi {
|
|
|
123
127
|
return g(this, x);
|
|
124
128
|
}
|
|
125
129
|
get cameraRotation() {
|
|
126
|
-
return g(this,
|
|
130
|
+
return g(this, mA);
|
|
127
131
|
}
|
|
128
132
|
get width() {
|
|
129
133
|
return g(this, Z);
|
|
@@ -132,7 +136,7 @@ class Gi {
|
|
|
132
136
|
return g(this, q);
|
|
133
137
|
}
|
|
134
138
|
get pixelRatio() {
|
|
135
|
-
return g(this,
|
|
139
|
+
return g(this, wA);
|
|
136
140
|
}
|
|
137
141
|
get cameraDistance() {
|
|
138
142
|
return g(this, x).getStepValue("_initial").z;
|
|
@@ -140,10 +144,10 @@ class Gi {
|
|
|
140
144
|
set cameraDistance(A) {
|
|
141
145
|
g(this, x).setStep("_initial", "+", {
|
|
142
146
|
z: A
|
|
143
|
-
}), g(this, x).calculate(), QA(this,
|
|
147
|
+
}), g(this, x).calculate(), QA(this, $A, At).call(this);
|
|
144
148
|
}
|
|
145
149
|
attachToHTMLElement(A, e, s) {
|
|
146
|
-
const t = new
|
|
150
|
+
const t = new Nt(A, me(tA({}, s), {
|
|
147
151
|
containerElement: this.containerElement,
|
|
148
152
|
cartesian: !0
|
|
149
153
|
}));
|
|
@@ -160,23 +164,23 @@ class Gi {
|
|
|
160
164
|
this.scene.remove(A), e && this.detachFromHTMLElement(A);
|
|
161
165
|
}
|
|
162
166
|
setup(A) {
|
|
163
|
-
if (g(this,
|
|
167
|
+
if (g(this, lA)) {
|
|
164
168
|
console.warn("[en3.setup]: You are trying to setup en3 again.");
|
|
165
169
|
return;
|
|
166
170
|
}
|
|
167
|
-
G(this, nA, (A == null ? void 0 : A.containerElement) || document.body), G(this, Y, (A == null ? void 0 : A.cameraType) === "orthographic" ? new
|
|
171
|
+
G(this, nA, (A == null ? void 0 : A.containerElement) || document.body), G(this, Y, (A == null ? void 0 : A.cameraType) === "orthographic" ? new je() : new Ze()), g(this, x).bind(g(this, Y).position), g(this, mA).bind(g(this, Y).rotation), g(this, x).setStep("_initial", "+", {
|
|
168
172
|
z: (A == null ? void 0 : A.cameraDistance) || 1e3
|
|
169
|
-
}), g(this, x).calculate(), g(this, Y).near = (A == null ? void 0 : A.cameraNear) || 1, g(this, Y).far = (A == null ? void 0 : A.cameraFar) || 11e3, G(this,
|
|
173
|
+
}), g(this, x).calculate(), g(this, Y).near = (A == null ? void 0 : A.cameraNear) || 1, g(this, Y).far = (A == null ? void 0 : A.cameraFar) || 11e3, G(this, MA, (A == null ? void 0 : A.cameraFov) || "auto"), G(this, RA, new us()), G(this, ZA, (A == null ? void 0 : A.maxPixelRatio) || 2), G(this, zA, (A == null ? void 0 : A.cameraAutoUpdate) !== !1), G(this, T, new fs(A == null ? void 0 : A.webGLRendererParameters)), g(this, T).domElement.style.cssText = `
|
|
170
174
|
position: fixed;
|
|
171
175
|
left: 0;
|
|
172
176
|
top: 0;
|
|
173
177
|
width: 100%;
|
|
174
178
|
height: 100%;
|
|
175
179
|
z-index: -1;
|
|
176
|
-
`, g(this, nA).prepend(g(this,
|
|
180
|
+
`, g(this, nA).prepend(g(this, T).domElement), G(this, pA, new Mn()), G(this, lA, !0), xA.subscribe(g(this, Ae), xt.EN3), kA.subscribe(g(this, ee), { order: nt.EN3 });
|
|
177
181
|
}
|
|
178
182
|
destroy() {
|
|
179
|
-
if (!g(this,
|
|
183
|
+
if (!g(this, lA)) {
|
|
180
184
|
console.warn(
|
|
181
185
|
"[en3.setup]: You are trying to destory en3 but it has not been initialized."
|
|
182
186
|
);
|
|
@@ -184,34 +188,34 @@ class Gi {
|
|
|
184
188
|
}
|
|
185
189
|
g(this, oA).forEach((A) => {
|
|
186
190
|
A.userData.box.destroy();
|
|
187
|
-
}),
|
|
191
|
+
}), xA.unsubscribe(g(this, Ae)), kA.unsubscribe(g(this, ee)), this.scene.clear(), Yt(this.scene), g(this, T).dispose(), g(this, T).domElement.remove(), G(this, T, null), g(this, pA).destroy(), G(this, lA, !1);
|
|
188
192
|
}
|
|
189
193
|
render(A, e) {
|
|
190
|
-
g(this,
|
|
194
|
+
g(this, T).render(A, e);
|
|
191
195
|
}
|
|
192
196
|
}
|
|
193
|
-
|
|
194
|
-
g(this,
|
|
195
|
-
},
|
|
196
|
-
this.camera instanceof
|
|
197
|
+
He = new WeakMap(), nA = new WeakMap(), T = new WeakMap(), Y = new WeakMap(), RA = new WeakMap(), pA = new WeakMap(), oA = new WeakMap(), x = new WeakMap(), mA = new WeakMap(), MA = new WeakMap(), Z = new WeakMap(), q = new WeakMap(), wA = new WeakMap(), ZA = new WeakMap(), zA = new WeakMap(), lA = new WeakMap(), Ue = new WeakSet(), qt = function() {
|
|
198
|
+
g(this, zA) && (g(this, x).calculate(), g(this, mA).calculate());
|
|
199
|
+
}, $A = new WeakSet(), At = function() {
|
|
200
|
+
this.camera instanceof Ze ? (this.camera.aspect = g(this, Z) / g(this, q), this.camera.fov = g(this, MA) === "auto" ? 2 * Math.atan(
|
|
197
201
|
g(this, q) / 2 / g(this, x).getStepValue("_initial").z
|
|
198
|
-
) * (180 / Math.PI) : g(this,
|
|
199
|
-
},
|
|
200
|
-
const w = new
|
|
201
|
-
class
|
|
202
|
+
) * (180 / Math.PI) : g(this, MA)) : this.camera instanceof je && (this.camera.left = g(this, Z) / -2, this.camera.right = g(this, Z) / 2, this.camera.top = g(this, q) / 2, this.camera.bottom = g(this, q) / -2), this.camera.updateProjectionMatrix();
|
|
203
|
+
}, Ae = new WeakMap(), ee = new WeakMap();
|
|
204
|
+
const w = new fi();
|
|
205
|
+
class Di {
|
|
202
206
|
add(A, e) {
|
|
203
207
|
const s = (i) => {
|
|
204
|
-
i.isIntersecting && (A.sourceManager.lazyLoad(),
|
|
205
|
-
}, t =
|
|
208
|
+
i.isIntersecting && (A.sourceManager.lazyLoad(), Ft.unsubscribe(s));
|
|
209
|
+
}, t = di(e);
|
|
206
210
|
if (t)
|
|
207
|
-
return
|
|
211
|
+
return Ft.subscribe(t, s);
|
|
208
212
|
}
|
|
209
213
|
}
|
|
210
|
-
const
|
|
211
|
-
function
|
|
212
|
-
if (A ===
|
|
214
|
+
const On = new Di();
|
|
215
|
+
function Rt(a, A) {
|
|
216
|
+
if (A === Ds)
|
|
213
217
|
return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), a;
|
|
214
|
-
if (A ===
|
|
218
|
+
if (A === ze || A === kt) {
|
|
215
219
|
let e = a.getIndex();
|
|
216
220
|
if (e === null) {
|
|
217
221
|
const n = [], o = a.getAttribute("position");
|
|
@@ -223,7 +227,7 @@ function mt(a, A) {
|
|
|
223
227
|
return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), a;
|
|
224
228
|
}
|
|
225
229
|
const s = e.count - 2, t = [];
|
|
226
|
-
if (A ===
|
|
230
|
+
if (A === ze)
|
|
227
231
|
for (let n = 1; n <= s; n++)
|
|
228
232
|
t.push(e.getX(0)), t.push(e.getX(n)), t.push(e.getX(n + 1));
|
|
229
233
|
else
|
|
@@ -235,40 +239,40 @@ function mt(a, A) {
|
|
|
235
239
|
} else
|
|
236
240
|
return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", A), a;
|
|
237
241
|
}
|
|
238
|
-
class
|
|
242
|
+
class Fi extends ot {
|
|
239
243
|
constructor(A) {
|
|
240
244
|
super(A), this.dracoLoader = null, this.ktx2Loader = null, this.meshoptDecoder = null, this.pluginCallbacks = [], this.register(function(e) {
|
|
241
|
-
return new
|
|
245
|
+
return new Mi(e);
|
|
242
246
|
}), this.register(function(e) {
|
|
243
|
-
return new
|
|
247
|
+
return new Ni(e);
|
|
244
248
|
}), this.register(function(e) {
|
|
245
|
-
return new
|
|
249
|
+
return new xi(e);
|
|
246
250
|
}), this.register(function(e) {
|
|
247
|
-
return new
|
|
251
|
+
return new ki(e);
|
|
248
252
|
}), this.register(function(e) {
|
|
249
|
-
return new
|
|
253
|
+
return new Si(e);
|
|
250
254
|
}), this.register(function(e) {
|
|
251
|
-
return new
|
|
255
|
+
return new Li(e);
|
|
252
256
|
}), this.register(function(e) {
|
|
253
|
-
return new
|
|
257
|
+
return new yi(e);
|
|
254
258
|
}), this.register(function(e) {
|
|
255
|
-
return new
|
|
259
|
+
return new Ji(e);
|
|
256
260
|
}), this.register(function(e) {
|
|
257
|
-
return new
|
|
261
|
+
return new mi(e);
|
|
258
262
|
}), this.register(function(e) {
|
|
259
|
-
return new
|
|
263
|
+
return new Hi(e);
|
|
260
264
|
}), this.register(function(e) {
|
|
261
|
-
return new
|
|
265
|
+
return new wi(e);
|
|
262
266
|
}), this.register(function(e) {
|
|
263
|
-
return new
|
|
267
|
+
return new Ti(e);
|
|
264
268
|
}), this.register(function(e) {
|
|
265
|
-
return new
|
|
269
|
+
return new Ui(e);
|
|
266
270
|
}), this.register(function(e) {
|
|
267
|
-
return new
|
|
271
|
+
return new Ri(e);
|
|
268
272
|
}), this.register(function(e) {
|
|
269
|
-
return new
|
|
273
|
+
return new bi(e);
|
|
270
274
|
}), this.register(function(e) {
|
|
271
|
-
return new
|
|
275
|
+
return new Ki(e);
|
|
272
276
|
});
|
|
273
277
|
}
|
|
274
278
|
load(A, e, s, t) {
|
|
@@ -277,14 +281,14 @@ class pi extends rt {
|
|
|
277
281
|
if (this.resourcePath !== "")
|
|
278
282
|
n = this.resourcePath;
|
|
279
283
|
else if (this.path !== "") {
|
|
280
|
-
const C =
|
|
281
|
-
n =
|
|
284
|
+
const C = WA.extractUrlBase(A);
|
|
285
|
+
n = WA.resolveURL(C, this.path);
|
|
282
286
|
} else
|
|
283
|
-
n =
|
|
287
|
+
n = WA.extractUrlBase(A);
|
|
284
288
|
this.manager.itemStart(A);
|
|
285
289
|
const o = function(C) {
|
|
286
290
|
t ? t(C) : console.error(C), i.manager.itemError(A), i.manager.itemEnd(A);
|
|
287
|
-
}, B = new
|
|
291
|
+
}, B = new fA(this.manager);
|
|
288
292
|
B.setPath(this.path), B.setResponseType("arraybuffer"), B.setRequestHeader(this.requestHeader), B.setWithCredentials(this.withCredentials), B.load(A, function(C) {
|
|
289
293
|
try {
|
|
290
294
|
i.parse(C, n, function(I) {
|
|
@@ -321,9 +325,9 @@ class pi extends rt {
|
|
|
321
325
|
if (typeof A == "string")
|
|
322
326
|
i = JSON.parse(A);
|
|
323
327
|
else if (A instanceof ArrayBuffer)
|
|
324
|
-
if (B.decode(new Uint8Array(A, 0, 4)) ===
|
|
328
|
+
if (B.decode(new Uint8Array(A, 0, 4)) === Xt) {
|
|
325
329
|
try {
|
|
326
|
-
n[R.KHR_BINARY_GLTF] = new
|
|
330
|
+
n[R.KHR_BINARY_GLTF] = new Oi(A);
|
|
327
331
|
} catch (r) {
|
|
328
332
|
t && t(r);
|
|
329
333
|
return;
|
|
@@ -337,7 +341,7 @@ class pi extends rt {
|
|
|
337
341
|
t && t(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));
|
|
338
342
|
return;
|
|
339
343
|
}
|
|
340
|
-
const C = new
|
|
344
|
+
const C = new An(i, {
|
|
341
345
|
path: e || this.resourcePath || "",
|
|
342
346
|
crossOrigin: this.crossOrigin,
|
|
343
347
|
requestHeader: this.requestHeader,
|
|
@@ -355,16 +359,16 @@ class pi extends rt {
|
|
|
355
359
|
const r = i.extensionsUsed[I], c = i.extensionsRequired || [];
|
|
356
360
|
switch (r) {
|
|
357
361
|
case R.KHR_MATERIALS_UNLIT:
|
|
358
|
-
n[r] = new
|
|
362
|
+
n[r] = new pi();
|
|
359
363
|
break;
|
|
360
364
|
case R.KHR_DRACO_MESH_COMPRESSION:
|
|
361
|
-
n[r] = new
|
|
365
|
+
n[r] = new _i(i, this.dracoLoader);
|
|
362
366
|
break;
|
|
363
367
|
case R.KHR_TEXTURE_TRANSFORM:
|
|
364
|
-
n[r] = new
|
|
368
|
+
n[r] = new Pi();
|
|
365
369
|
break;
|
|
366
370
|
case R.KHR_MESH_QUANTIZATION:
|
|
367
|
-
n[r] = new
|
|
371
|
+
n[r] = new Yi();
|
|
368
372
|
break;
|
|
369
373
|
default:
|
|
370
374
|
c.indexOf(r) >= 0 && o[r] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + r + '".');
|
|
@@ -379,7 +383,7 @@ class pi extends rt {
|
|
|
379
383
|
});
|
|
380
384
|
}
|
|
381
385
|
}
|
|
382
|
-
function
|
|
386
|
+
function Gi() {
|
|
383
387
|
let a = {};
|
|
384
388
|
return {
|
|
385
389
|
get: function(A) {
|
|
@@ -419,7 +423,7 @@ const R = {
|
|
|
419
423
|
EXT_MESHOPT_COMPRESSION: "EXT_meshopt_compression",
|
|
420
424
|
EXT_MESH_GPU_INSTANCING: "EXT_mesh_gpu_instancing"
|
|
421
425
|
};
|
|
422
|
-
class
|
|
426
|
+
class Ri {
|
|
423
427
|
constructor(A) {
|
|
424
428
|
this.parser = A, this.name = R.KHR_LIGHTS_PUNCTUAL, this.cache = { refs: {}, uses: {} };
|
|
425
429
|
}
|
|
@@ -442,13 +446,13 @@ class Mi {
|
|
|
442
446
|
const r = B.range !== void 0 ? B.range : 0;
|
|
443
447
|
switch (B.type) {
|
|
444
448
|
case "directional":
|
|
445
|
-
C = new
|
|
449
|
+
C = new Rs(I), C.target.position.set(0, 0, -1), C.add(C.target);
|
|
446
450
|
break;
|
|
447
451
|
case "point":
|
|
448
|
-
C = new
|
|
452
|
+
C = new Gs(I), C.distance = r;
|
|
449
453
|
break;
|
|
450
454
|
case "spot":
|
|
451
|
-
C = new
|
|
455
|
+
C = new Fs(I), C.distance = r, B.spot = B.spot || {}, B.spot.innerConeAngle = B.spot.innerConeAngle !== void 0 ? B.spot.innerConeAngle : 0, B.spot.outerConeAngle = B.spot.outerConeAngle !== void 0 ? B.spot.outerConeAngle : Math.PI / 4, C.angle = B.spot.outerConeAngle, C.penumbra = 1 - B.spot.innerConeAngle / B.spot.outerConeAngle, C.target.position.set(0, 0, -1), C.add(C.target);
|
|
452
456
|
break;
|
|
453
457
|
default:
|
|
454
458
|
throw new Error("THREE.GLTFLoader: Unexpected light type: " + B.type);
|
|
@@ -466,12 +470,12 @@ class Mi {
|
|
|
466
470
|
});
|
|
467
471
|
}
|
|
468
472
|
}
|
|
469
|
-
class
|
|
473
|
+
class pi {
|
|
470
474
|
constructor() {
|
|
471
475
|
this.name = R.KHR_MATERIALS_UNLIT;
|
|
472
476
|
}
|
|
473
477
|
getMaterialType() {
|
|
474
|
-
return
|
|
478
|
+
return qA;
|
|
475
479
|
}
|
|
476
480
|
extendParams(A, e, s) {
|
|
477
481
|
const t = [];
|
|
@@ -487,7 +491,7 @@ class wi {
|
|
|
487
491
|
return Promise.all(t);
|
|
488
492
|
}
|
|
489
493
|
}
|
|
490
|
-
class
|
|
494
|
+
class mi {
|
|
491
495
|
constructor(A) {
|
|
492
496
|
this.parser = A, this.name = R.KHR_MATERIALS_EMISSIVE_STRENGTH;
|
|
493
497
|
}
|
|
@@ -499,7 +503,7 @@ class Si {
|
|
|
499
503
|
return i !== void 0 && (e.emissiveIntensity = i), Promise.resolve();
|
|
500
504
|
}
|
|
501
505
|
}
|
|
502
|
-
class
|
|
506
|
+
class Mi {
|
|
503
507
|
constructor(A) {
|
|
504
508
|
this.parser = A, this.name = R.KHR_MATERIALS_CLEARCOAT;
|
|
505
509
|
}
|
|
@@ -514,12 +518,12 @@ class Li {
|
|
|
514
518
|
const i = [], n = t.extensions[this.name];
|
|
515
519
|
if (n.clearcoatFactor !== void 0 && (e.clearcoat = n.clearcoatFactor), n.clearcoatTexture !== void 0 && i.push(s.assignTexture(e, "clearcoatMap", n.clearcoatTexture)), n.clearcoatRoughnessFactor !== void 0 && (e.clearcoatRoughness = n.clearcoatRoughnessFactor), n.clearcoatRoughnessTexture !== void 0 && i.push(s.assignTexture(e, "clearcoatRoughnessMap", n.clearcoatRoughnessTexture)), n.clearcoatNormalTexture !== void 0 && (i.push(s.assignTexture(e, "clearcoatNormalMap", n.clearcoatNormalTexture)), n.clearcoatNormalTexture.scale !== void 0)) {
|
|
516
520
|
const o = n.clearcoatNormalTexture.scale;
|
|
517
|
-
e.clearcoatNormalScale = new
|
|
521
|
+
e.clearcoatNormalScale = new Bt(o, o);
|
|
518
522
|
}
|
|
519
523
|
return Promise.all(i);
|
|
520
524
|
}
|
|
521
525
|
}
|
|
522
|
-
class
|
|
526
|
+
class wi {
|
|
523
527
|
constructor(A) {
|
|
524
528
|
this.parser = A, this.name = R.KHR_MATERIALS_IRIDESCENCE;
|
|
525
529
|
}
|
|
@@ -535,7 +539,7 @@ class yi {
|
|
|
535
539
|
return n.iridescenceFactor !== void 0 && (e.iridescence = n.iridescenceFactor), n.iridescenceTexture !== void 0 && i.push(s.assignTexture(e, "iridescenceMap", n.iridescenceTexture)), n.iridescenceIor !== void 0 && (e.iridescenceIOR = n.iridescenceIor), e.iridescenceThicknessRange === void 0 && (e.iridescenceThicknessRange = [100, 400]), n.iridescenceThicknessMinimum !== void 0 && (e.iridescenceThicknessRange[0] = n.iridescenceThicknessMinimum), n.iridescenceThicknessMaximum !== void 0 && (e.iridescenceThicknessRange[1] = n.iridescenceThicknessMaximum), n.iridescenceThicknessTexture !== void 0 && i.push(s.assignTexture(e, "iridescenceThicknessMap", n.iridescenceThicknessTexture)), Promise.all(i);
|
|
536
540
|
}
|
|
537
541
|
}
|
|
538
|
-
class
|
|
542
|
+
class Si {
|
|
539
543
|
constructor(A) {
|
|
540
544
|
this.parser = A, this.name = R.KHR_MATERIALS_SHEEN;
|
|
541
545
|
}
|
|
@@ -557,7 +561,7 @@ class Ji {
|
|
|
557
561
|
return n.sheenRoughnessFactor !== void 0 && (e.sheenRoughness = n.sheenRoughnessFactor), n.sheenColorTexture !== void 0 && i.push(s.assignTexture(e, "sheenColorMap", n.sheenColorTexture, $)), n.sheenRoughnessTexture !== void 0 && i.push(s.assignTexture(e, "sheenRoughnessMap", n.sheenRoughnessTexture)), Promise.all(i);
|
|
558
562
|
}
|
|
559
563
|
}
|
|
560
|
-
class
|
|
564
|
+
class Li {
|
|
561
565
|
constructor(A) {
|
|
562
566
|
this.parser = A, this.name = R.KHR_MATERIALS_TRANSMISSION;
|
|
563
567
|
}
|
|
@@ -573,7 +577,7 @@ class Hi {
|
|
|
573
577
|
return n.transmissionFactor !== void 0 && (e.transmission = n.transmissionFactor), n.transmissionTexture !== void 0 && i.push(s.assignTexture(e, "transmissionMap", n.transmissionTexture)), Promise.all(i);
|
|
574
578
|
}
|
|
575
579
|
}
|
|
576
|
-
class
|
|
580
|
+
class yi {
|
|
577
581
|
constructor(A) {
|
|
578
582
|
this.parser = A, this.name = R.KHR_MATERIALS_VOLUME;
|
|
579
583
|
}
|
|
@@ -591,7 +595,7 @@ class Ti {
|
|
|
591
595
|
return e.attenuationColor = new EA().setRGB(o[0], o[1], o[2], O), Promise.all(i);
|
|
592
596
|
}
|
|
593
597
|
}
|
|
594
|
-
class
|
|
598
|
+
class Ji {
|
|
595
599
|
constructor(A) {
|
|
596
600
|
this.parser = A, this.name = R.KHR_MATERIALS_IOR;
|
|
597
601
|
}
|
|
@@ -607,7 +611,7 @@ class Ui {
|
|
|
607
611
|
return e.ior = i.ior !== void 0 ? i.ior : 1.5, Promise.resolve();
|
|
608
612
|
}
|
|
609
613
|
}
|
|
610
|
-
class
|
|
614
|
+
class Hi {
|
|
611
615
|
constructor(A) {
|
|
612
616
|
this.parser = A, this.name = R.KHR_MATERIALS_SPECULAR;
|
|
613
617
|
}
|
|
@@ -625,7 +629,7 @@ class Ni {
|
|
|
625
629
|
return e.specularColor = new EA().setRGB(o[0], o[1], o[2], O), n.specularColorTexture !== void 0 && i.push(s.assignTexture(e, "specularColorMap", n.specularColorTexture, $)), Promise.all(i);
|
|
626
630
|
}
|
|
627
631
|
}
|
|
628
|
-
class
|
|
632
|
+
class Ui {
|
|
629
633
|
constructor(A) {
|
|
630
634
|
this.parser = A, this.name = R.EXT_MATERIALS_BUMP;
|
|
631
635
|
}
|
|
@@ -641,7 +645,7 @@ class xi {
|
|
|
641
645
|
return e.bumpScale = n.bumpFactor !== void 0 ? n.bumpFactor : 1, n.bumpTexture !== void 0 && i.push(s.assignTexture(e, "bumpMap", n.bumpTexture)), Promise.all(i);
|
|
642
646
|
}
|
|
643
647
|
}
|
|
644
|
-
class
|
|
648
|
+
class Ti {
|
|
645
649
|
constructor(A) {
|
|
646
650
|
this.parser = A, this.name = R.KHR_MATERIALS_ANISOTROPY;
|
|
647
651
|
}
|
|
@@ -657,7 +661,7 @@ class ki {
|
|
|
657
661
|
return n.anisotropyStrength !== void 0 && (e.anisotropy = n.anisotropyStrength), n.anisotropyRotation !== void 0 && (e.anisotropyRotation = n.anisotropyRotation), n.anisotropyTexture !== void 0 && i.push(s.assignTexture(e, "anisotropyMap", n.anisotropyTexture)), Promise.all(i);
|
|
658
662
|
}
|
|
659
663
|
}
|
|
660
|
-
class
|
|
664
|
+
class Ni {
|
|
661
665
|
constructor(A) {
|
|
662
666
|
this.parser = A, this.name = R.KHR_TEXTURE_BASISU;
|
|
663
667
|
}
|
|
@@ -674,7 +678,7 @@ class bi {
|
|
|
674
678
|
return e.loadTextureImage(A, i.source, n);
|
|
675
679
|
}
|
|
676
680
|
}
|
|
677
|
-
class
|
|
681
|
+
class xi {
|
|
678
682
|
constructor(A) {
|
|
679
683
|
this.parser = A, this.name = R.EXT_TEXTURE_WEBP, this.isSupported = null;
|
|
680
684
|
}
|
|
@@ -705,7 +709,7 @@ class Ki {
|
|
|
705
709
|
})), this.isSupported;
|
|
706
710
|
}
|
|
707
711
|
}
|
|
708
|
-
class
|
|
712
|
+
class ki {
|
|
709
713
|
constructor(A) {
|
|
710
714
|
this.parser = A, this.name = R.EXT_TEXTURE_AVIF, this.isSupported = null;
|
|
711
715
|
}
|
|
@@ -736,7 +740,7 @@ class Oi {
|
|
|
736
740
|
})), this.isSupported;
|
|
737
741
|
}
|
|
738
742
|
}
|
|
739
|
-
class
|
|
743
|
+
class bi {
|
|
740
744
|
constructor(A) {
|
|
741
745
|
this.name = R.EXT_MESHOPT_COMPRESSION, this.parser = A;
|
|
742
746
|
}
|
|
@@ -762,7 +766,7 @@ class _i {
|
|
|
762
766
|
return null;
|
|
763
767
|
}
|
|
764
768
|
}
|
|
765
|
-
class
|
|
769
|
+
class Ki {
|
|
766
770
|
constructor(A) {
|
|
767
771
|
this.name = R.EXT_MESH_GPU_INSTANCING, this.parser = A;
|
|
768
772
|
}
|
|
@@ -780,45 +784,45 @@ class Pi {
|
|
|
780
784
|
return o.length < 1 ? null : (o.push(this.parser.createNodeMesh(A)), Promise.all(o).then((C) => {
|
|
781
785
|
const I = C.pop(), r = I.isGroup ? I.children : [I], c = C[0].count, Q = [];
|
|
782
786
|
for (const l of r) {
|
|
783
|
-
const h = new
|
|
787
|
+
const h = new bA(), E = new b(), d = new rt(), f = new b(1, 1, 1), D = new ps(l.geometry, l.material, c);
|
|
784
788
|
for (let F = 0; F < c; F++)
|
|
785
789
|
B.TRANSLATION && E.fromBufferAttribute(B.TRANSLATION, F), B.ROTATION && d.fromBufferAttribute(B.ROTATION, F), B.SCALE && f.fromBufferAttribute(B.SCALE, F), D.setMatrixAt(F, h.compose(E, d, f));
|
|
786
790
|
for (const F in B)
|
|
787
791
|
if (F === "_COLOR_0") {
|
|
788
792
|
const p = B[F];
|
|
789
|
-
D.instanceColor = new
|
|
793
|
+
D.instanceColor = new ms(p.array, p.itemSize, p.normalized);
|
|
790
794
|
} else
|
|
791
795
|
F !== "TRANSLATION" && F !== "ROTATION" && F !== "SCALE" && l.geometry.setAttribute(F, B[F]);
|
|
792
|
-
|
|
796
|
+
Ct.prototype.copy.call(D, l), this.parser.assignFinalMaterial(D), Q.push(D);
|
|
793
797
|
}
|
|
794
798
|
return I.isGroup ? (I.clear(), I.add(...Q), I) : Q[0];
|
|
795
799
|
}));
|
|
796
800
|
}
|
|
797
801
|
}
|
|
798
|
-
const
|
|
799
|
-
class
|
|
802
|
+
const Xt = "glTF", PA = 12, pt = { JSON: 1313821514, BIN: 5130562 };
|
|
803
|
+
class Oi {
|
|
800
804
|
constructor(A) {
|
|
801
805
|
this.name = R.KHR_BINARY_GLTF, this.content = null, this.body = null;
|
|
802
|
-
const e = new DataView(A, 0,
|
|
806
|
+
const e = new DataView(A, 0, PA), s = new TextDecoder();
|
|
803
807
|
if (this.header = {
|
|
804
808
|
magic: s.decode(new Uint8Array(A.slice(0, 4))),
|
|
805
809
|
version: e.getUint32(4, !0),
|
|
806
810
|
length: e.getUint32(8, !0)
|
|
807
|
-
}, this.header.magic !==
|
|
811
|
+
}, this.header.magic !== Xt)
|
|
808
812
|
throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");
|
|
809
813
|
if (this.header.version < 2)
|
|
810
814
|
throw new Error("THREE.GLTFLoader: Legacy binary file detected.");
|
|
811
|
-
const t = this.header.length -
|
|
815
|
+
const t = this.header.length - PA, i = new DataView(A, PA);
|
|
812
816
|
let n = 0;
|
|
813
817
|
for (; n < t; ) {
|
|
814
818
|
const o = i.getUint32(n, !0);
|
|
815
819
|
n += 4;
|
|
816
820
|
const B = i.getUint32(n, !0);
|
|
817
|
-
if (n += 4, B ===
|
|
818
|
-
const C = new Uint8Array(A,
|
|
821
|
+
if (n += 4, B === pt.JSON) {
|
|
822
|
+
const C = new Uint8Array(A, PA + n, o);
|
|
819
823
|
this.content = s.decode(C);
|
|
820
|
-
} else if (B ===
|
|
821
|
-
const C =
|
|
824
|
+
} else if (B === pt.BIN) {
|
|
825
|
+
const C = PA + n;
|
|
822
826
|
this.body = A.slice(C, C + o);
|
|
823
827
|
}
|
|
824
828
|
n += o;
|
|
@@ -827,7 +831,7 @@ class Yi {
|
|
|
827
831
|
throw new Error("THREE.GLTFLoader: JSON content not found.");
|
|
828
832
|
}
|
|
829
833
|
}
|
|
830
|
-
class
|
|
834
|
+
class _i {
|
|
831
835
|
constructor(A, e) {
|
|
832
836
|
if (!e)
|
|
833
837
|
throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");
|
|
@@ -836,13 +840,13 @@ class qi {
|
|
|
836
840
|
decodePrimitive(A, e) {
|
|
837
841
|
const s = this.json, t = this.dracoLoader, i = A.extensions[this.name].bufferView, n = A.extensions[this.name].attributes, o = {}, B = {}, C = {};
|
|
838
842
|
for (const I in n) {
|
|
839
|
-
const r =
|
|
843
|
+
const r = et[I] || I.toLowerCase();
|
|
840
844
|
o[r] = n[I];
|
|
841
845
|
}
|
|
842
846
|
for (const I in A.attributes) {
|
|
843
|
-
const r =
|
|
847
|
+
const r = et[I] || I.toLowerCase();
|
|
844
848
|
if (n[I] !== void 0) {
|
|
845
|
-
const c = s.accessors[A.attributes[I]], Q =
|
|
849
|
+
const c = s.accessors[A.attributes[I]], Q = GA[c.componentType];
|
|
846
850
|
C[r] = Q.name, B[r] = c.normalized === !0;
|
|
847
851
|
}
|
|
848
852
|
}
|
|
@@ -859,7 +863,7 @@ class qi {
|
|
|
859
863
|
});
|
|
860
864
|
}
|
|
861
865
|
}
|
|
862
|
-
class
|
|
866
|
+
class Pi {
|
|
863
867
|
constructor() {
|
|
864
868
|
this.name = R.KHR_TEXTURE_TRANSFORM;
|
|
865
869
|
}
|
|
@@ -867,12 +871,12 @@ class Xi {
|
|
|
867
871
|
return (e.texCoord === void 0 || e.texCoord === A.channel) && e.offset === void 0 && e.rotation === void 0 && e.scale === void 0 || (A = A.clone(), e.texCoord !== void 0 && (A.channel = e.texCoord), e.offset !== void 0 && A.offset.fromArray(e.offset), e.rotation !== void 0 && (A.rotation = e.rotation), e.scale !== void 0 && A.repeat.fromArray(e.scale), A.needsUpdate = !0), A;
|
|
868
872
|
}
|
|
869
873
|
}
|
|
870
|
-
class
|
|
874
|
+
class Yi {
|
|
871
875
|
constructor() {
|
|
872
876
|
this.name = R.KHR_MESH_QUANTIZATION;
|
|
873
877
|
}
|
|
874
878
|
}
|
|
875
|
-
class
|
|
879
|
+
class vt extends $s {
|
|
876
880
|
constructor(A, e, s, t) {
|
|
877
881
|
super(A, e, s, t);
|
|
878
882
|
}
|
|
@@ -891,11 +895,11 @@ class jt extends ti {
|
|
|
891
895
|
return i;
|
|
892
896
|
}
|
|
893
897
|
}
|
|
894
|
-
const
|
|
895
|
-
class
|
|
898
|
+
const qi = new rt();
|
|
899
|
+
class Xi extends vt {
|
|
896
900
|
interpolate_(A, e, s, t) {
|
|
897
901
|
const i = super.interpolate_(A, e, s, t);
|
|
898
|
-
return
|
|
902
|
+
return qi.fromArray(i).normalize().toArray(i), i;
|
|
899
903
|
}
|
|
900
904
|
}
|
|
901
905
|
const N = {
|
|
@@ -918,25 +922,25 @@ const N = {
|
|
|
918
922
|
TRIANGLE_FAN: 6,
|
|
919
923
|
UNSIGNED_BYTE: 5121,
|
|
920
924
|
UNSIGNED_SHORT: 5123
|
|
921
|
-
},
|
|
925
|
+
}, GA = {
|
|
922
926
|
5120: Int8Array,
|
|
923
927
|
5121: Uint8Array,
|
|
924
928
|
5122: Int16Array,
|
|
925
929
|
5123: Uint16Array,
|
|
926
930
|
5125: Uint32Array,
|
|
927
931
|
5126: Float32Array
|
|
928
|
-
},
|
|
929
|
-
9728:
|
|
930
|
-
9729:
|
|
931
|
-
9984:
|
|
932
|
-
9985:
|
|
933
|
-
9986:
|
|
934
|
-
9987:
|
|
935
|
-
},
|
|
936
|
-
33071:
|
|
937
|
-
33648:
|
|
938
|
-
10497:
|
|
939
|
-
},
|
|
932
|
+
}, mt = {
|
|
933
|
+
9728: Ps,
|
|
934
|
+
9729: Je,
|
|
935
|
+
9984: Ys,
|
|
936
|
+
9985: qs,
|
|
937
|
+
9986: Xs,
|
|
938
|
+
9987: at
|
|
939
|
+
}, Mt = {
|
|
940
|
+
33071: vs,
|
|
941
|
+
33648: Ws,
|
|
942
|
+
10497: $e
|
|
943
|
+
}, be = {
|
|
940
944
|
SCALAR: 1,
|
|
941
945
|
VEC2: 2,
|
|
942
946
|
VEC3: 3,
|
|
@@ -944,7 +948,7 @@ const N = {
|
|
|
944
948
|
MAT2: 4,
|
|
945
949
|
MAT3: 9,
|
|
946
950
|
MAT4: 16
|
|
947
|
-
},
|
|
951
|
+
}, et = {
|
|
948
952
|
POSITION: "position",
|
|
949
953
|
NORMAL: "normal",
|
|
950
954
|
TANGENT: "tangent",
|
|
@@ -960,26 +964,26 @@ const N = {
|
|
|
960
964
|
translation: "position",
|
|
961
965
|
rotation: "quaternion",
|
|
962
966
|
weights: "morphTargetInfluences"
|
|
963
|
-
},
|
|
967
|
+
}, vi = {
|
|
964
968
|
CUBICSPLINE: void 0,
|
|
965
969
|
// We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
|
|
966
970
|
// keyframe track will be initialized with a default interpolation type, then modified.
|
|
967
|
-
LINEAR:
|
|
968
|
-
STEP:
|
|
969
|
-
},
|
|
971
|
+
LINEAR: _t,
|
|
972
|
+
STEP: Vs
|
|
973
|
+
}, Ke = {
|
|
970
974
|
OPAQUE: "OPAQUE",
|
|
971
975
|
MASK: "MASK",
|
|
972
976
|
BLEND: "BLEND"
|
|
973
977
|
};
|
|
974
|
-
function
|
|
975
|
-
return a.DefaultMaterial === void 0 && (a.DefaultMaterial = new
|
|
978
|
+
function Wi(a) {
|
|
979
|
+
return a.DefaultMaterial === void 0 && (a.DefaultMaterial = new Kt({
|
|
976
980
|
color: 16777215,
|
|
977
981
|
emissive: 0,
|
|
978
982
|
metalness: 1,
|
|
979
983
|
roughness: 1,
|
|
980
984
|
transparent: !1,
|
|
981
985
|
depthTest: !0,
|
|
982
|
-
side:
|
|
986
|
+
side: js
|
|
983
987
|
})), a.DefaultMaterial;
|
|
984
988
|
}
|
|
985
989
|
function hA(a, A, e) {
|
|
@@ -989,7 +993,7 @@ function hA(a, A, e) {
|
|
|
989
993
|
function iA(a, A) {
|
|
990
994
|
A.extras !== void 0 && (typeof A.extras == "object" ? Object.assign(a.userData, A.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + A.extras));
|
|
991
995
|
}
|
|
992
|
-
function
|
|
996
|
+
function Vi(a, A, e) {
|
|
993
997
|
let s = !1, t = !1, i = !1;
|
|
994
998
|
for (let C = 0, I = A.length; C < I; C++) {
|
|
995
999
|
const r = A[C];
|
|
@@ -1023,7 +1027,7 @@ function zi(a, A, e) {
|
|
|
1023
1027
|
return s && (a.morphAttributes.position = I), t && (a.morphAttributes.normal = r), i && (a.morphAttributes.color = c), a.morphTargetsRelative = !0, a;
|
|
1024
1028
|
});
|
|
1025
1029
|
}
|
|
1026
|
-
function
|
|
1030
|
+
function ji(a, A) {
|
|
1027
1031
|
if (a.updateMorphTargets(), A.weights !== void 0)
|
|
1028
1032
|
for (let e = 0, s = A.weights.length; e < s; e++)
|
|
1029
1033
|
a.morphTargetInfluences[e] = A.weights[e];
|
|
@@ -1037,22 +1041,22 @@ function $i(a, A) {
|
|
|
1037
1041
|
console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.");
|
|
1038
1042
|
}
|
|
1039
1043
|
}
|
|
1040
|
-
function
|
|
1044
|
+
function Zi(a) {
|
|
1041
1045
|
let A;
|
|
1042
1046
|
const e = a.extensions && a.extensions[R.KHR_DRACO_MESH_COMPRESSION];
|
|
1043
|
-
if (e ? A = "draco:" + e.bufferView + ":" + e.indices + ":" +
|
|
1047
|
+
if (e ? A = "draco:" + e.bufferView + ":" + e.indices + ":" + Oe(e.attributes) : A = a.indices + ":" + Oe(a.attributes) + ":" + a.mode, a.targets !== void 0)
|
|
1044
1048
|
for (let s = 0, t = a.targets.length; s < t; s++)
|
|
1045
|
-
A += ":" +
|
|
1049
|
+
A += ":" + Oe(a.targets[s]);
|
|
1046
1050
|
return A;
|
|
1047
1051
|
}
|
|
1048
|
-
function
|
|
1052
|
+
function Oe(a) {
|
|
1049
1053
|
let A = "";
|
|
1050
1054
|
const e = Object.keys(a).sort();
|
|
1051
1055
|
for (let s = 0, t = e.length; s < t; s++)
|
|
1052
1056
|
A += e[s] + ":" + a[e[s]] + ";";
|
|
1053
1057
|
return A;
|
|
1054
1058
|
}
|
|
1055
|
-
function
|
|
1059
|
+
function tt(a) {
|
|
1056
1060
|
switch (a) {
|
|
1057
1061
|
case Int8Array:
|
|
1058
1062
|
return 1 / 127;
|
|
@@ -1066,15 +1070,15 @@ function it(a) {
|
|
|
1066
1070
|
throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.");
|
|
1067
1071
|
}
|
|
1068
1072
|
}
|
|
1069
|
-
function
|
|
1073
|
+
function zi(a) {
|
|
1070
1074
|
return a.search(/\.jpe?g($|\?)/i) > 0 || a.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : a.search(/\.webp($|\?)/i) > 0 || a.search(/^data\:image\/webp/) === 0 ? "image/webp" : "image/png";
|
|
1071
1075
|
}
|
|
1072
|
-
const
|
|
1073
|
-
class
|
|
1076
|
+
const $i = new bA();
|
|
1077
|
+
class An {
|
|
1074
1078
|
constructor(A = {}, e = {}) {
|
|
1075
|
-
this.json = A, this.extensions = {}, this.plugins = {}, this.options = e, this.cache = new
|
|
1079
|
+
this.json = A, this.extensions = {}, this.plugins = {}, this.options = e, this.cache = new Gi(), 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 = {};
|
|
1076
1080
|
let s = !1, t = !1, i = -1;
|
|
1077
|
-
typeof navigator != "undefined" && (s = /^((?!chrome|android).)*safari/i.test(navigator.userAgent) === !0, t = navigator.userAgent.indexOf("Firefox") > -1, i = t ? navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1] : -1), typeof createImageBitmap == "undefined" || s || t && i < 98 ? this.textureLoader = new
|
|
1081
|
+
typeof navigator != "undefined" && (s = /^((?!chrome|android).)*safari/i.test(navigator.userAgent) === !0, t = navigator.userAgent.indexOf("Firefox") > -1, i = t ? navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1] : -1), typeof createImageBitmap == "undefined" || s || t && i < 98 ? this.textureLoader = new bt(this.options.manager) : this.textureLoader = new Ms(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new fA(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
|
|
1078
1082
|
}
|
|
1079
1083
|
setExtensions(A) {
|
|
1080
1084
|
this.extensions = A;
|
|
@@ -1265,7 +1269,7 @@ class sn {
|
|
|
1265
1269
|
return Promise.resolve(this.extensions[R.KHR_BINARY_GLTF].body);
|
|
1266
1270
|
const t = this.options;
|
|
1267
1271
|
return new Promise(function(i, n) {
|
|
1268
|
-
s.load(
|
|
1272
|
+
s.load(WA.resolveURL(e.uri, t.path), i, void 0, function() {
|
|
1269
1273
|
n(new Error('THREE.GLTFLoader: Failed to load buffer "' + e.uri + '".'));
|
|
1270
1274
|
});
|
|
1271
1275
|
});
|
|
@@ -1290,22 +1294,22 @@ class sn {
|
|
|
1290
1294
|
loadAccessor(A) {
|
|
1291
1295
|
const e = this, s = this.json, t = this.json.accessors[A];
|
|
1292
1296
|
if (t.bufferView === void 0 && t.sparse === void 0) {
|
|
1293
|
-
const n =
|
|
1294
|
-
return Promise.resolve(new
|
|
1297
|
+
const n = be[t.type], o = GA[t.componentType], B = t.normalized === !0, C = new o(t.count * n);
|
|
1298
|
+
return Promise.resolve(new VA(C, n, B));
|
|
1295
1299
|
}
|
|
1296
1300
|
const i = [];
|
|
1297
1301
|
return t.bufferView !== void 0 ? i.push(this.getDependency("bufferView", t.bufferView)) : i.push(null), t.sparse !== void 0 && (i.push(this.getDependency("bufferView", t.sparse.indices.bufferView)), i.push(this.getDependency("bufferView", t.sparse.values.bufferView))), Promise.all(i).then(function(n) {
|
|
1298
|
-
const o = n[0], B =
|
|
1302
|
+
const o = n[0], B = be[t.type], C = GA[t.componentType], I = C.BYTES_PER_ELEMENT, r = I * B, c = t.byteOffset || 0, Q = t.bufferView !== void 0 ? s.bufferViews[t.bufferView].byteStride : void 0, l = t.normalized === !0;
|
|
1299
1303
|
let h, E;
|
|
1300
1304
|
if (Q && Q !== r) {
|
|
1301
1305
|
const d = Math.floor(c / Q), f = "InterleavedBuffer:" + t.bufferView + ":" + t.componentType + ":" + d + ":" + t.count;
|
|
1302
1306
|
let D = e.cache.get(f);
|
|
1303
|
-
D || (h = new C(o, d * Q, t.count * Q / I), D = new
|
|
1307
|
+
D || (h = new C(o, d * Q, t.count * Q / I), D = new ws(h, Q / I), e.cache.add(f, D)), E = new Ss(D, B, c % Q / I, l);
|
|
1304
1308
|
} else
|
|
1305
|
-
o === null ? h = new C(t.count * B) : h = new C(o, c, t.count * B), E = new
|
|
1309
|
+
o === null ? h = new C(t.count * B) : h = new C(o, c, t.count * B), E = new VA(h, B, l);
|
|
1306
1310
|
if (t.sparse !== void 0) {
|
|
1307
|
-
const d =
|
|
1308
|
-
o !== null && (E = new
|
|
1311
|
+
const d = be.SCALAR, f = GA[t.sparse.indices.componentType], D = t.sparse.indices.byteOffset || 0, F = t.sparse.values.byteOffset || 0, p = new f(n[1], D, t.sparse.count * d), m = new C(n[2], F, t.sparse.count * B);
|
|
1312
|
+
o !== null && (E = new VA(E.array.slice(), E.itemSize, E.normalized));
|
|
1309
1313
|
for (let M = 0, _ = p.length; M < _; M++) {
|
|
1310
1314
|
const y = p[M];
|
|
1311
1315
|
if (E.setX(y, m[M * B]), B >= 2 && E.setY(y, m[M * B + 1]), B >= 3 && E.setZ(y, m[M * B + 2]), B >= 4 && E.setW(y, m[M * B + 3]), B >= 5)
|
|
@@ -1336,7 +1340,7 @@ class sn {
|
|
|
1336
1340
|
const C = this.loadImageSource(e, s).then(function(I) {
|
|
1337
1341
|
I.flipY = !1, I.name = n.name || o.name || "", I.name === "" && typeof o.uri == "string" && o.uri.startsWith("data:image/") === !1 && (I.name = o.uri);
|
|
1338
1342
|
const c = (i.samplers || {})[n.sampler] || {};
|
|
1339
|
-
return I.magFilter =
|
|
1343
|
+
return I.magFilter = mt[c.magFilter] || Je, I.minFilter = mt[c.minFilter] || at, I.wrapS = Mt[c.wrapS] || $e, I.wrapT = Mt[c.wrapT] || $e, t.associations.set(I, { textures: A }), I;
|
|
1340
1344
|
}).catch(function() {
|
|
1341
1345
|
return null;
|
|
1342
1346
|
});
|
|
@@ -1360,12 +1364,12 @@ class sn {
|
|
|
1360
1364
|
return new Promise(function(c, Q) {
|
|
1361
1365
|
let l = c;
|
|
1362
1366
|
e.isImageBitmapLoader === !0 && (l = function(h) {
|
|
1363
|
-
const E = new
|
|
1367
|
+
const E = new ht(h);
|
|
1364
1368
|
E.needsUpdate = !0, c(E);
|
|
1365
|
-
}), e.load(
|
|
1369
|
+
}), e.load(WA.resolveURL(r, i.path), l, void 0, Q);
|
|
1366
1370
|
});
|
|
1367
1371
|
}).then(function(r) {
|
|
1368
|
-
return C === !0 && o.revokeObjectURL(B), r.userData.mimeType = n.mimeType ||
|
|
1372
|
+
return C === !0 && o.revokeObjectURL(B), r.userData.mimeType = n.mimeType || zi(n.uri), r;
|
|
1369
1373
|
}).catch(function(r) {
|
|
1370
1374
|
throw console.error("THREE.GLTFLoader: Couldn't load texture", B), r;
|
|
1371
1375
|
});
|
|
@@ -1408,11 +1412,11 @@ class sn {
|
|
|
1408
1412
|
if (A.isPoints) {
|
|
1409
1413
|
const o = "PointsMaterial:" + s.uuid;
|
|
1410
1414
|
let B = this.cache.get(o);
|
|
1411
|
-
B || (B = new
|
|
1415
|
+
B || (B = new Ls(), xe.prototype.copy.call(B, s), B.color.copy(s.color), B.map = s.map, B.sizeAttenuation = !1, this.cache.add(o, B)), s = B;
|
|
1412
1416
|
} else if (A.isLine) {
|
|
1413
1417
|
const o = "LineBasicMaterial:" + s.uuid;
|
|
1414
1418
|
let B = this.cache.get(o);
|
|
1415
|
-
B || (B = new
|
|
1419
|
+
B || (B = new ys(), xe.prototype.copy.call(B, s), B.color.copy(s.color), B.map = s.map, this.cache.add(o, B)), s = B;
|
|
1416
1420
|
}
|
|
1417
1421
|
if (t || i || n) {
|
|
1418
1422
|
let o = "ClonedMaterial:" + s.uuid + ":";
|
|
@@ -1423,7 +1427,7 @@ class sn {
|
|
|
1423
1427
|
A.material = s;
|
|
1424
1428
|
}
|
|
1425
1429
|
getMaterialType() {
|
|
1426
|
-
return
|
|
1430
|
+
return Kt;
|
|
1427
1431
|
}
|
|
1428
1432
|
/**
|
|
1429
1433
|
* Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials
|
|
@@ -1449,24 +1453,24 @@ class sn {
|
|
|
1449
1453
|
return c.extendMaterialParams && c.extendMaterialParams(A, o);
|
|
1450
1454
|
})));
|
|
1451
1455
|
}
|
|
1452
|
-
i.doubleSided === !0 && (o.side =
|
|
1453
|
-
const I = i.alphaMode ||
|
|
1454
|
-
if (I ===
|
|
1456
|
+
i.doubleSided === !0 && (o.side = Js);
|
|
1457
|
+
const I = i.alphaMode || Ke.OPAQUE;
|
|
1458
|
+
if (I === Ke.BLEND ? (o.transparent = !0, o.depthWrite = !1) : (o.transparent = !1, I === Ke.MASK && (o.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && n !== qA && (C.push(e.assignTexture(o, "normalMap", i.normalTexture)), o.normalScale = new Bt(1, 1), i.normalTexture.scale !== void 0)) {
|
|
1455
1459
|
const r = i.normalTexture.scale;
|
|
1456
1460
|
o.normalScale.set(r, r);
|
|
1457
1461
|
}
|
|
1458
|
-
if (i.occlusionTexture !== void 0 && n !==
|
|
1462
|
+
if (i.occlusionTexture !== void 0 && n !== qA && (C.push(e.assignTexture(o, "aoMap", i.occlusionTexture)), i.occlusionTexture.strength !== void 0 && (o.aoMapIntensity = i.occlusionTexture.strength)), i.emissiveFactor !== void 0 && n !== qA) {
|
|
1459
1463
|
const r = i.emissiveFactor;
|
|
1460
1464
|
o.emissive = new EA().setRGB(r[0], r[1], r[2], O);
|
|
1461
1465
|
}
|
|
1462
|
-
return i.emissiveTexture !== void 0 && n !==
|
|
1466
|
+
return i.emissiveTexture !== void 0 && n !== qA && C.push(e.assignTexture(o, "emissiveMap", i.emissiveTexture, $)), Promise.all(C).then(function() {
|
|
1463
1467
|
const r = new n(o);
|
|
1464
1468
|
return i.name && (r.name = i.name), iA(r, i), e.associations.set(r, { materials: A }), i.extensions && hA(t, r, i), r;
|
|
1465
1469
|
});
|
|
1466
1470
|
}
|
|
1467
1471
|
/** When Object3D instances are targeted by animation, they need unique names. */
|
|
1468
1472
|
createUniqueName(A) {
|
|
1469
|
-
const e =
|
|
1473
|
+
const e = Hs.sanitizeNodeName(A || "");
|
|
1470
1474
|
return e in this.nodeNamesUsed ? e + "_" + ++this.nodeNamesUsed[e] : (this.nodeNamesUsed[e] = 0, e);
|
|
1471
1475
|
}
|
|
1472
1476
|
/**
|
|
@@ -1481,17 +1485,17 @@ class sn {
|
|
|
1481
1485
|
const e = this, s = this.extensions, t = this.primitiveCache;
|
|
1482
1486
|
function i(o) {
|
|
1483
1487
|
return s[R.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(o, e).then(function(B) {
|
|
1484
|
-
return
|
|
1488
|
+
return wt(B, o, e);
|
|
1485
1489
|
});
|
|
1486
1490
|
}
|
|
1487
1491
|
const n = [];
|
|
1488
1492
|
for (let o = 0, B = A.length; o < B; o++) {
|
|
1489
|
-
const C = A[o], I =
|
|
1493
|
+
const C = A[o], I = Zi(C), r = t[I];
|
|
1490
1494
|
if (r)
|
|
1491
1495
|
n.push(r.promise);
|
|
1492
1496
|
else {
|
|
1493
1497
|
let c;
|
|
1494
|
-
C.extensions && C.extensions[R.KHR_DRACO_MESH_COMPRESSION] ? c = i(C) : c =
|
|
1498
|
+
C.extensions && C.extensions[R.KHR_DRACO_MESH_COMPRESSION] ? c = i(C) : c = wt(new Ot(), C, e), t[I] = { primitive: C, promise: c }, n.push(c);
|
|
1495
1499
|
}
|
|
1496
1500
|
}
|
|
1497
1501
|
return Promise.all(n);
|
|
@@ -1504,7 +1508,7 @@ class sn {
|
|
|
1504
1508
|
loadMesh(A) {
|
|
1505
1509
|
const e = this, s = this.json, t = this.extensions, i = s.meshes[A], n = i.primitives, o = [];
|
|
1506
1510
|
for (let B = 0, C = n.length; B < C; B++) {
|
|
1507
|
-
const I = n[B].material === void 0 ?
|
|
1511
|
+
const I = n[B].material === void 0 ? Wi(this.cache) : this.getDependency("material", n[B].material);
|
|
1508
1512
|
o.push(I);
|
|
1509
1513
|
}
|
|
1510
1514
|
return o.push(e.loadGeometries(n)), Promise.all(o).then(function(B) {
|
|
@@ -1514,18 +1518,18 @@ class sn {
|
|
|
1514
1518
|
let d;
|
|
1515
1519
|
const f = C[Q];
|
|
1516
1520
|
if (E.mode === N.TRIANGLES || E.mode === N.TRIANGLE_STRIP || E.mode === N.TRIANGLE_FAN || E.mode === void 0)
|
|
1517
|
-
d = i.isSkinnedMesh === !0 ? new
|
|
1521
|
+
d = i.isSkinnedMesh === !0 ? new Us(h, f) : new Fe(h, f), d.isSkinnedMesh === !0 && d.normalizeSkinWeights(), E.mode === N.TRIANGLE_STRIP ? d.geometry = Rt(d.geometry, kt) : E.mode === N.TRIANGLE_FAN && (d.geometry = Rt(d.geometry, ze));
|
|
1518
1522
|
else if (E.mode === N.LINES)
|
|
1519
|
-
d = new
|
|
1523
|
+
d = new Ts(h, f);
|
|
1520
1524
|
else if (E.mode === N.LINE_STRIP)
|
|
1521
|
-
d = new
|
|
1525
|
+
d = new Ns(h, f);
|
|
1522
1526
|
else if (E.mode === N.LINE_LOOP)
|
|
1523
|
-
d = new
|
|
1527
|
+
d = new xs(h, f);
|
|
1524
1528
|
else if (E.mode === N.POINTS)
|
|
1525
|
-
d = new
|
|
1529
|
+
d = new ks(h, f);
|
|
1526
1530
|
else
|
|
1527
1531
|
throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + E.mode);
|
|
1528
|
-
Object.keys(d.geometry.morphAttributes).length > 0 &&
|
|
1532
|
+
Object.keys(d.geometry.morphAttributes).length > 0 && ji(d, i), d.name = e.createUniqueName(i.name || "mesh_" + A), iA(d, i), E.extensions && hA(t, d, E), e.assignFinalMaterial(d), r.push(d);
|
|
1529
1533
|
}
|
|
1530
1534
|
for (let Q = 0, l = r.length; Q < l; Q++)
|
|
1531
1535
|
e.associations.set(r[Q], {
|
|
@@ -1534,7 +1538,7 @@ class sn {
|
|
|
1534
1538
|
});
|
|
1535
1539
|
if (r.length === 1)
|
|
1536
1540
|
return i.extensions && hA(t, r[0], i), r[0];
|
|
1537
|
-
const c = new
|
|
1541
|
+
const c = new jA();
|
|
1538
1542
|
i.extensions && hA(t, c, i), e.associations.set(c, { meshes: A });
|
|
1539
1543
|
for (let Q = 0, l = r.length; Q < l; Q++)
|
|
1540
1544
|
c.add(r[Q]);
|
|
@@ -1553,7 +1557,7 @@ class sn {
|
|
|
1553
1557
|
console.warn("THREE.GLTFLoader: Missing camera parameters.");
|
|
1554
1558
|
return;
|
|
1555
1559
|
}
|
|
1556
|
-
return s.type === "perspective" ? e = new
|
|
1560
|
+
return s.type === "perspective" ? e = new Ze(bs.radToDeg(t.yfov), t.aspectRatio || 1, t.znear || 1, t.zfar || 2e6) : s.type === "orthographic" && (e = new je(-t.xmag, t.xmag, t.ymag, -t.ymag, t.znear, t.zfar)), s.name && (e.name = this.createUniqueName(s.name)), iA(e, s), Promise.resolve(e);
|
|
1557
1561
|
}
|
|
1558
1562
|
/**
|
|
1559
1563
|
* Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins
|
|
@@ -1570,12 +1574,12 @@ class sn {
|
|
|
1570
1574
|
const r = n[C];
|
|
1571
1575
|
if (r) {
|
|
1572
1576
|
o.push(r);
|
|
1573
|
-
const c = new
|
|
1577
|
+
const c = new bA();
|
|
1574
1578
|
i !== null && c.fromArray(i.array, C * 16), B.push(c);
|
|
1575
1579
|
} else
|
|
1576
1580
|
console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', e.joints[C]);
|
|
1577
1581
|
}
|
|
1578
|
-
return new
|
|
1582
|
+
return new Ks(o, B);
|
|
1579
1583
|
});
|
|
1580
1584
|
}
|
|
1581
1585
|
/**
|
|
@@ -1607,7 +1611,7 @@ class sn {
|
|
|
1607
1611
|
for (let W = 0; W < y.length; W++)
|
|
1608
1612
|
d.push(y[W]);
|
|
1609
1613
|
}
|
|
1610
|
-
return new
|
|
1614
|
+
return new Os(i, void 0, d);
|
|
1611
1615
|
});
|
|
1612
1616
|
}
|
|
1613
1617
|
createNodeMesh(A) {
|
|
@@ -1638,7 +1642,7 @@ class sn {
|
|
|
1638
1642
|
]).then(function(C) {
|
|
1639
1643
|
const I = C[0], r = C[1], c = C[2];
|
|
1640
1644
|
c !== null && I.traverse(function(Q) {
|
|
1641
|
-
Q.isSkinnedMesh && Q.bind(c,
|
|
1645
|
+
Q.isSkinnedMesh && Q.bind(c, $i);
|
|
1642
1646
|
});
|
|
1643
1647
|
for (let Q = 0, l = r.length; Q < l; Q++)
|
|
1644
1648
|
I.add(r[Q]);
|
|
@@ -1662,11 +1666,11 @@ class sn {
|
|
|
1662
1666
|
o.push(C);
|
|
1663
1667
|
}), this.nodeCache[A] = Promise.all(o).then(function(C) {
|
|
1664
1668
|
let I;
|
|
1665
|
-
if (i.isBone === !0 ? I = new
|
|
1669
|
+
if (i.isBone === !0 ? I = new _s() : C.length > 1 ? I = new jA() : C.length === 1 ? I = C[0] : I = new Ct(), I !== C[0])
|
|
1666
1670
|
for (let r = 0, c = C.length; r < c; r++)
|
|
1667
1671
|
I.add(C[r]);
|
|
1668
1672
|
if (i.name && (I.userData.name = i.name, I.name = n), iA(I, i), i.extensions && hA(s, I, i), i.matrix !== void 0) {
|
|
1669
|
-
const r = new
|
|
1673
|
+
const r = new bA();
|
|
1670
1674
|
r.fromArray(i.matrix), I.applyMatrix4(r);
|
|
1671
1675
|
} else
|
|
1672
1676
|
i.translation !== void 0 && I.position.fromArray(i.translation), i.rotation !== void 0 && I.quaternion.fromArray(i.rotation), i.scale !== void 0 && I.scale.fromArray(i.scale);
|
|
@@ -1679,7 +1683,7 @@ class sn {
|
|
|
1679
1683
|
* @return {Promise<Group>}
|
|
1680
1684
|
*/
|
|
1681
1685
|
loadScene(A) {
|
|
1682
|
-
const e = this.extensions, s = this.json.scenes[A], t = this, i = new
|
|
1686
|
+
const e = this.extensions, s = this.json.scenes[A], t = this, i = new jA();
|
|
1683
1687
|
s.name && (i.name = t.createUniqueName(s.name)), iA(i, s), s.extensions && hA(e, i, s);
|
|
1684
1688
|
const n = s.nodes || [], o = [];
|
|
1685
1689
|
for (let B = 0, C = n.length; B < C; B++)
|
|
@@ -1690,7 +1694,7 @@ class sn {
|
|
|
1690
1694
|
const C = (I) => {
|
|
1691
1695
|
const r = /* @__PURE__ */ new Map();
|
|
1692
1696
|
for (const [c, Q] of t.associations)
|
|
1693
|
-
(c instanceof
|
|
1697
|
+
(c instanceof xe || c instanceof ht) && r.set(c, Q);
|
|
1694
1698
|
return I.traverse((c) => {
|
|
1695
1699
|
const Q = t.associations.get(c);
|
|
1696
1700
|
Q != null && r.set(c, Q);
|
|
@@ -1707,29 +1711,29 @@ class sn {
|
|
|
1707
1711
|
let C;
|
|
1708
1712
|
switch (sA[i.path]) {
|
|
1709
1713
|
case sA.weights:
|
|
1710
|
-
C =
|
|
1714
|
+
C = dt;
|
|
1711
1715
|
break;
|
|
1712
1716
|
case sA.rotation:
|
|
1713
|
-
C =
|
|
1717
|
+
C = ut;
|
|
1714
1718
|
break;
|
|
1715
1719
|
case sA.position:
|
|
1716
1720
|
case sA.scale:
|
|
1717
|
-
C =
|
|
1721
|
+
C = lt;
|
|
1718
1722
|
break;
|
|
1719
1723
|
default:
|
|
1720
1724
|
switch (s.itemSize) {
|
|
1721
1725
|
case 1:
|
|
1722
|
-
C =
|
|
1726
|
+
C = dt;
|
|
1723
1727
|
break;
|
|
1724
1728
|
case 2:
|
|
1725
1729
|
case 3:
|
|
1726
1730
|
default:
|
|
1727
|
-
C =
|
|
1731
|
+
C = lt;
|
|
1728
1732
|
break;
|
|
1729
1733
|
}
|
|
1730
1734
|
break;
|
|
1731
1735
|
}
|
|
1732
|
-
const I = t.interpolation !== void 0 ?
|
|
1736
|
+
const I = t.interpolation !== void 0 ? vi[t.interpolation] : _t, r = this._getArrayFromAccessor(s);
|
|
1733
1737
|
for (let c = 0, Q = B.length; c < Q; c++) {
|
|
1734
1738
|
const l = new C(
|
|
1735
1739
|
B[c] + "." + sA[i.path],
|
|
@@ -1744,7 +1748,7 @@ class sn {
|
|
|
1744
1748
|
_getArrayFromAccessor(A) {
|
|
1745
1749
|
let e = A.array;
|
|
1746
1750
|
if (A.normalized) {
|
|
1747
|
-
const s =
|
|
1751
|
+
const s = tt(e.constructor), t = new Float32Array(e.length);
|
|
1748
1752
|
for (let i = 0, n = e.length; i < n; i++)
|
|
1749
1753
|
t[i] = e[i] * s;
|
|
1750
1754
|
e = t;
|
|
@@ -1753,13 +1757,13 @@ class sn {
|
|
|
1753
1757
|
}
|
|
1754
1758
|
_createCubicSplineTrackInterpolant(A) {
|
|
1755
1759
|
A.createInterpolant = function(s) {
|
|
1756
|
-
const t = this instanceof
|
|
1760
|
+
const t = this instanceof ut ? Xi : vt;
|
|
1757
1761
|
return new t(this.times, this.values, this.getValueSize() / 3, s);
|
|
1758
1762
|
}, A.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
|
|
1759
1763
|
}
|
|
1760
1764
|
}
|
|
1761
|
-
function
|
|
1762
|
-
const s = A.attributes, t = new
|
|
1765
|
+
function en(a, A, e) {
|
|
1766
|
+
const s = A.attributes, t = new Zs();
|
|
1763
1767
|
if (s.POSITION !== void 0) {
|
|
1764
1768
|
const o = e.json.accessors[s.POSITION], B = o.min, C = o.max;
|
|
1765
1769
|
if (B !== void 0 && C !== void 0) {
|
|
@@ -1767,7 +1771,7 @@ function nn(a, A, e) {
|
|
|
1767
1771
|
new b(B[0], B[1], B[2]),
|
|
1768
1772
|
new b(C[0], C[1], C[2])
|
|
1769
1773
|
), o.normalized) {
|
|
1770
|
-
const I =
|
|
1774
|
+
const I = tt(GA[o.componentType]);
|
|
1771
1775
|
t.min.multiplyScalar(I), t.max.multiplyScalar(I);
|
|
1772
1776
|
}
|
|
1773
1777
|
} else {
|
|
@@ -1785,7 +1789,7 @@ function nn(a, A, e) {
|
|
|
1785
1789
|
const c = e.json.accessors[r.POSITION], Q = c.min, l = c.max;
|
|
1786
1790
|
if (Q !== void 0 && l !== void 0) {
|
|
1787
1791
|
if (B.setX(Math.max(Math.abs(Q[0]), Math.abs(l[0]))), B.setY(Math.max(Math.abs(Q[1]), Math.abs(l[1]))), B.setZ(Math.max(Math.abs(Q[2]), Math.abs(l[2]))), c.normalized) {
|
|
1788
|
-
const h =
|
|
1792
|
+
const h = tt(GA[c.componentType]);
|
|
1789
1793
|
B.multiplyScalar(h);
|
|
1790
1794
|
}
|
|
1791
1795
|
o.max(B);
|
|
@@ -1796,10 +1800,10 @@ function nn(a, A, e) {
|
|
|
1796
1800
|
t.expandByVector(o);
|
|
1797
1801
|
}
|
|
1798
1802
|
a.boundingBox = t;
|
|
1799
|
-
const n = new
|
|
1803
|
+
const n = new zs();
|
|
1800
1804
|
t.getCenter(n.center), n.radius = t.min.distanceTo(t.max) / 2, a.boundingSphere = n;
|
|
1801
1805
|
}
|
|
1802
|
-
function
|
|
1806
|
+
function wt(a, A, e) {
|
|
1803
1807
|
const s = A.attributes, t = [];
|
|
1804
1808
|
function i(n, o) {
|
|
1805
1809
|
return e.getDependency("accessor", n).then(function(B) {
|
|
@@ -1807,7 +1811,7 @@ function Lt(a, A, e) {
|
|
|
1807
1811
|
});
|
|
1808
1812
|
}
|
|
1809
1813
|
for (const n in s) {
|
|
1810
|
-
const o =
|
|
1814
|
+
const o = et[n] || n.toLowerCase();
|
|
1811
1815
|
o in a.attributes || t.push(i(s[n], o));
|
|
1812
1816
|
}
|
|
1813
1817
|
if (A.indices !== void 0 && !a.index) {
|
|
@@ -1816,12 +1820,12 @@ function Lt(a, A, e) {
|
|
|
1816
1820
|
});
|
|
1817
1821
|
t.push(n);
|
|
1818
1822
|
}
|
|
1819
|
-
return
|
|
1820
|
-
return A.targets !== void 0 ?
|
|
1823
|
+
return Qt.workingColorSpace !== O && "COLOR_0" in s && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${Qt.workingColorSpace}" not supported.`), iA(a, A), en(a, A, e), Promise.all(t).then(function() {
|
|
1824
|
+
return A.targets !== void 0 ? Vi(a, A.targets, e) : a;
|
|
1821
1825
|
});
|
|
1822
1826
|
}
|
|
1823
|
-
const
|
|
1824
|
-
class
|
|
1827
|
+
const _e = /* @__PURE__ */ new WeakMap();
|
|
1828
|
+
class tn extends ot {
|
|
1825
1829
|
constructor(A) {
|
|
1826
1830
|
super(A), this.decoderPath = "", this.decoderConfig = {}, this.decoderBinary = null, this.decoderPending = null, this.workerLimit = 4, this.workerPool = [], this.workerNextTaskID = 1, this.workerSourceURL = "", this.defaultAttributeIDs = {
|
|
1827
1831
|
position: "POSITION",
|
|
@@ -1845,7 +1849,7 @@ class on extends rt {
|
|
|
1845
1849
|
return this.workerLimit = A, this;
|
|
1846
1850
|
}
|
|
1847
1851
|
load(A, e, s, t) {
|
|
1848
|
-
const i = new
|
|
1852
|
+
const i = new fA(this.manager);
|
|
1849
1853
|
i.setPath(this.path), i.setResponseType("arraybuffer"), i.setRequestHeader(this.requestHeader), i.setWithCredentials(this.withCredentials), i.load(A, (n) => {
|
|
1850
1854
|
this.parse(n, e, t);
|
|
1851
1855
|
}, s, t);
|
|
@@ -1866,8 +1870,8 @@ class on extends rt {
|
|
|
1866
1870
|
}
|
|
1867
1871
|
decodeGeometry(A, e) {
|
|
1868
1872
|
const s = JSON.stringify(e);
|
|
1869
|
-
if (
|
|
1870
|
-
const B =
|
|
1873
|
+
if (_e.has(A)) {
|
|
1874
|
+
const B = _e.get(A);
|
|
1871
1875
|
if (B.key === s)
|
|
1872
1876
|
return B.promise;
|
|
1873
1877
|
if (A.byteLength === 0)
|
|
@@ -1881,16 +1885,16 @@ class on extends rt {
|
|
|
1881
1885
|
}))).then((B) => this._createGeometry(B.geometry));
|
|
1882
1886
|
return o.catch(() => !0).then(() => {
|
|
1883
1887
|
t && i && this._releaseTask(t, i);
|
|
1884
|
-
}),
|
|
1888
|
+
}), _e.set(A, {
|
|
1885
1889
|
key: s,
|
|
1886
1890
|
promise: o
|
|
1887
1891
|
}), o;
|
|
1888
1892
|
}
|
|
1889
1893
|
_createGeometry(A) {
|
|
1890
|
-
const e = new
|
|
1891
|
-
A.index && e.setIndex(new
|
|
1894
|
+
const e = new Ot();
|
|
1895
|
+
A.index && e.setIndex(new VA(A.index.array, 1));
|
|
1892
1896
|
for (let s = 0; s < A.attributes.length; s++) {
|
|
1893
|
-
const t = A.attributes[s], i = t.name, n = t.array, o = t.itemSize, B = new
|
|
1897
|
+
const t = A.attributes[s], i = t.name, n = t.array, o = t.itemSize, B = new VA(n, o);
|
|
1894
1898
|
i === "color" && (this._assignVertexColorSpace(B, t.vertexColorSpace), B.normalized = !(n instanceof Float32Array)), e.setAttribute(i, B);
|
|
1895
1899
|
}
|
|
1896
1900
|
return e;
|
|
@@ -1903,7 +1907,7 @@ class on extends rt {
|
|
|
1903
1907
|
s.fromBufferAttribute(A, t).convertSRGBToLinear(), A.setXYZ(t, s.r, s.g, s.b);
|
|
1904
1908
|
}
|
|
1905
1909
|
_loadLibrary(A, e) {
|
|
1906
|
-
const s = new
|
|
1910
|
+
const s = new fA(this.manager);
|
|
1907
1911
|
return s.setPath(this.decoderPath), s.setResponseType(e), s.setWithCredentials(this.withCredentials), new Promise((t, i) => {
|
|
1908
1912
|
s.load(A, t, void 0, i);
|
|
1909
1913
|
});
|
|
@@ -1918,7 +1922,7 @@ class on extends rt {
|
|
|
1918
1922
|
return A ? e.push(this._loadLibrary("draco_decoder.js", "text")) : (e.push(this._loadLibrary("draco_wasm_wrapper.js", "text")), e.push(this._loadLibrary("draco_decoder.wasm", "arraybuffer"))), this.decoderPending = Promise.all(e).then((s) => {
|
|
1919
1923
|
const t = s[0];
|
|
1920
1924
|
A || (this.decoderConfig.wasmBinary = s[1]);
|
|
1921
|
-
const i =
|
|
1925
|
+
const i = sn.toString(), n = [
|
|
1922
1926
|
"/* draco decoder */",
|
|
1923
1927
|
t,
|
|
1924
1928
|
"",
|
|
@@ -1966,7 +1970,7 @@ class on extends rt {
|
|
|
1966
1970
|
return this.workerPool.length = 0, this.workerSourceURL !== "" && URL.revokeObjectURL(this.workerSourceURL), this;
|
|
1967
1971
|
}
|
|
1968
1972
|
}
|
|
1969
|
-
function
|
|
1973
|
+
function sn() {
|
|
1970
1974
|
let a, A;
|
|
1971
1975
|
onmessage = function(n) {
|
|
1972
1976
|
const o = n.data;
|
|
@@ -2057,7 +2061,7 @@ function Bn() {
|
|
|
2057
2061
|
}
|
|
2058
2062
|
}
|
|
2059
2063
|
}
|
|
2060
|
-
class
|
|
2064
|
+
class nn {
|
|
2061
2065
|
constructor(A = 4) {
|
|
2062
2066
|
this.pool = A, this.queue = [], this.workers = [], this.workersResolve = [], this.workerStatus = 0;
|
|
2063
2067
|
}
|
|
@@ -2097,13 +2101,13 @@ class rn {
|
|
|
2097
2101
|
this.workers.forEach((A) => A.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
|
|
2098
2102
|
}
|
|
2099
2103
|
}
|
|
2100
|
-
const
|
|
2101
|
-
class
|
|
2104
|
+
const on = 0, St = 2, Bn = 1, Lt = 2, rn = 0, Cn = 1, an = 10, In = 0, Wt = 9, Vt = 15, jt = 16, Zt = 22, zt = 37, $t = 43, As = 76, es = 83, ts = 97, ss = 100, is = 103, ns = 109, os = 165, Bs = 166;
|
|
2105
|
+
class gn {
|
|
2102
2106
|
constructor() {
|
|
2103
2107
|
this.vkFormat = 0, this.typeSize = 1, this.pixelWidth = 0, this.pixelHeight = 0, this.pixelDepth = 0, this.layerCount = 0, this.faceCount = 1, this.supercompressionScheme = 0, this.levels = [], this.dataFormatDescriptor = [{ vendorId: 0, descriptorType: 0, descriptorBlockSize: 0, versionNumber: 2, colorModel: 0, colorPrimaries: 1, transferFunction: 2, flags: 0, texelBlockDimension: [0, 0, 0, 0], bytesPlane: [0, 0, 0, 0, 0, 0, 0, 0], samples: [] }], this.keyValue = {}, this.globalData = null;
|
|
2104
2108
|
}
|
|
2105
2109
|
}
|
|
2106
|
-
class
|
|
2110
|
+
class YA {
|
|
2107
2111
|
constructor(A, e, s, t) {
|
|
2108
2112
|
this._dataView = new DataView(A.buffer, A.byteOffset + e, s), this._littleEndian = t, this._offset = 0;
|
|
2109
2113
|
}
|
|
@@ -2139,64 +2143,64 @@ class qA {
|
|
|
2139
2143
|
}
|
|
2140
2144
|
}
|
|
2141
2145
|
const L = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
|
|
2142
|
-
function
|
|
2146
|
+
function yt(a) {
|
|
2143
2147
|
return typeof TextDecoder != "undefined" ? new TextDecoder().decode(a) : Buffer.from(a).toString("utf8");
|
|
2144
2148
|
}
|
|
2145
|
-
function
|
|
2149
|
+
function En(a) {
|
|
2146
2150
|
const A = new Uint8Array(a.buffer, a.byteOffset, L.length);
|
|
2147
2151
|
if (A[0] !== L[0] || A[1] !== L[1] || A[2] !== L[2] || A[3] !== L[3] || A[4] !== L[4] || A[5] !== L[5] || A[6] !== L[6] || A[7] !== L[7] || A[8] !== L[8] || A[9] !== L[9] || A[10] !== L[10] || A[11] !== L[11])
|
|
2148
2152
|
throw new Error("Missing KTX 2.0 identifier.");
|
|
2149
|
-
const e = new
|
|
2153
|
+
const e = new gn(), s = 17 * Uint32Array.BYTES_PER_ELEMENT, t = new YA(a, L.length, s, !0);
|
|
2150
2154
|
e.vkFormat = t._nextUint32(), e.typeSize = t._nextUint32(), e.pixelWidth = t._nextUint32(), e.pixelHeight = t._nextUint32(), e.pixelDepth = t._nextUint32(), e.layerCount = t._nextUint32(), e.faceCount = t._nextUint32();
|
|
2151
2155
|
const i = t._nextUint32();
|
|
2152
2156
|
e.supercompressionScheme = t._nextUint32();
|
|
2153
|
-
const n = t._nextUint32(), o = t._nextUint32(), B = t._nextUint32(), C = t._nextUint32(), I = t._nextUint64(), r = t._nextUint64(), c = new
|
|
2157
|
+
const n = t._nextUint32(), o = t._nextUint32(), B = t._nextUint32(), C = t._nextUint32(), I = t._nextUint64(), r = t._nextUint64(), c = new YA(a, L.length + s, 3 * i * 8, !0);
|
|
2154
2158
|
for (let S = 0; S < i; S++)
|
|
2155
2159
|
e.levels.push({ levelData: new Uint8Array(a.buffer, a.byteOffset + c._nextUint64(), c._nextUint64()), uncompressedByteLength: c._nextUint64() });
|
|
2156
|
-
const Q = new
|
|
2160
|
+
const Q = new YA(a, n, o, !0), l = { vendorId: Q._skip(4)._nextUint16(), descriptorType: Q._nextUint16(), versionNumber: Q._nextUint16(), descriptorBlockSize: Q._nextUint16(), colorModel: Q._nextUint8(), colorPrimaries: Q._nextUint8(), transferFunction: Q._nextUint8(), flags: Q._nextUint8(), texelBlockDimension: [Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8()], bytesPlane: [Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8()], samples: [] }, h = (l.descriptorBlockSize / 4 - 6) / 4;
|
|
2157
2161
|
for (let S = 0; S < h; S++) {
|
|
2158
2162
|
const H = { bitOffset: Q._nextUint16(), bitLength: Q._nextUint8(), channelType: Q._nextUint8(), samplePosition: [Q._nextUint8(), Q._nextUint8(), Q._nextUint8(), Q._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
|
|
2159
2163
|
64 & H.channelType ? (H.sampleLower = Q._nextInt32(), H.sampleUpper = Q._nextInt32()) : (H.sampleLower = Q._nextUint32(), H.sampleUpper = Q._nextUint32()), l.samples[S] = H;
|
|
2160
2164
|
}
|
|
2161
2165
|
e.dataFormatDescriptor.length = 0, e.dataFormatDescriptor.push(l);
|
|
2162
|
-
const E = new
|
|
2166
|
+
const E = new YA(a, B, C, !0);
|
|
2163
2167
|
for (; E._offset < C; ) {
|
|
2164
|
-
const S = E._nextUint32(), H = E._scan(S),
|
|
2165
|
-
e.keyValue[
|
|
2168
|
+
const S = E._nextUint32(), H = E._scan(S), OA = yt(H), V = E._scan(S - H.byteLength);
|
|
2169
|
+
e.keyValue[OA] = OA.match(/^ktx/i) ? yt(V) : V, E._offset % 4 && E._skip(4 - E._offset % 4);
|
|
2166
2170
|
}
|
|
2167
2171
|
if (r <= 0)
|
|
2168
2172
|
return e;
|
|
2169
|
-
const d = new
|
|
2173
|
+
const d = new YA(a, I, r, !0), f = d._nextUint16(), D = d._nextUint16(), F = d._nextUint32(), p = d._nextUint32(), m = d._nextUint32(), M = d._nextUint32(), _ = [];
|
|
2170
2174
|
for (let S = 0; S < i; S++)
|
|
2171
2175
|
_.push({ imageFlags: d._nextUint32(), rgbSliceByteOffset: d._nextUint32(), rgbSliceByteLength: d._nextUint32(), alphaSliceByteOffset: d._nextUint32(), alphaSliceByteLength: d._nextUint32() });
|
|
2172
|
-
const y = I + d._offset, W = y + F,
|
|
2173
|
-
return e.globalData = { endpointCount: f, selectorCount: D, imageDescs: _, endpointsData: cA, selectorsData:
|
|
2176
|
+
const y = I + d._offset, W = y + F, KA = W + p, Ge = KA + m, cA = new Uint8Array(a.buffer, a.byteOffset + y, F), Re = new Uint8Array(a.buffer, a.byteOffset + W, p), eA = new Uint8Array(a.buffer, a.byteOffset + KA, m), pe = new Uint8Array(a.buffer, a.byteOffset + Ge, M);
|
|
2177
|
+
return e.globalData = { endpointCount: f, selectorCount: D, imageDescs: _, endpointsData: cA, selectorsData: Re, tablesData: eA, extendedData: pe }, e;
|
|
2174
2178
|
}
|
|
2175
|
-
let
|
|
2176
|
-
const
|
|
2177
|
-
|
|
2179
|
+
let Pe, j, st;
|
|
2180
|
+
const Ye = { env: { emscripten_notify_memory_growth: function(a) {
|
|
2181
|
+
st = new Uint8Array(j.exports.memory.buffer);
|
|
2178
2182
|
} } };
|
|
2179
|
-
class
|
|
2183
|
+
class cn {
|
|
2180
2184
|
init() {
|
|
2181
|
-
return
|
|
2185
|
+
return Pe || (Pe = typeof fetch != "undefined" ? fetch("data:application/wasm;base64," + Jt).then((A) => A.arrayBuffer()).then((A) => WebAssembly.instantiate(A, Ye)).then(this._init) : WebAssembly.instantiate(Buffer.from(Jt, "base64"), Ye).then(this._init), Pe);
|
|
2182
2186
|
}
|
|
2183
2187
|
_init(A) {
|
|
2184
|
-
j = A.instance,
|
|
2188
|
+
j = A.instance, Ye.env.emscripten_notify_memory_growth(0);
|
|
2185
2189
|
}
|
|
2186
2190
|
decode(A, e = 0) {
|
|
2187
2191
|
if (!j)
|
|
2188
2192
|
throw new Error("ZSTDDecoder: Await .init() before decoding.");
|
|
2189
2193
|
const s = A.byteLength, t = j.exports.malloc(s);
|
|
2190
|
-
|
|
2191
|
-
const i = j.exports.malloc(e), n = j.exports.ZSTD_decompress(i, e, t, s), o =
|
|
2194
|
+
st.set(A, t), e = e || Number(j.exports.ZSTD_findDecompressedSize(t, s));
|
|
2195
|
+
const i = j.exports.malloc(e), n = j.exports.ZSTD_decompress(i, e, t, s), o = st.slice(i, i + n);
|
|
2192
2196
|
return j.exports.free(t), j.exports.free(i), o;
|
|
2193
2197
|
}
|
|
2194
2198
|
}
|
|
2195
|
-
const Tt = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", ve = /* @__PURE__ */ new WeakMap();
|
|
2196
|
-
let
|
|
2197
|
-
class v extends
|
|
2199
|
+
const Jt = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigCACACaiAAQQZ2IgFBAnRBsB5qKAIAaiAAQSBxIgBFaiABRSAAQQV2cWoFQbh/CwsdACAAKAKQ4gEQWiAAQQA2AqDiASAAQgA3A5DiAQu1AwEFfyMAQZACayIKJABBuH8hBgJAIAVFDQAgBCwAACIIQf8BcSEHAkAgCEF/TARAIAdBgn9qQQF2IgggBU8NAkFsIQYgB0GBf2oiBUGAAk8NAiAEQQFqIQdBACEGA0AgBiAFTwRAIAUhBiAIIQcMAwUgACAGaiAHIAZBAXZqIgQtAABBBHY6AAAgACAGQQFyaiAELQAAQQ9xOgAAIAZBAmohBgwBCwAACwALIAcgBU8NASAAIARBAWogByAKEFMiBhADDQELIAYhBEEAIQYgAUEAQTQQECEJQQAhBQNAIAQgBkcEQCAAIAZqIggtAAAiAUELSwRAQWwhBgwDBSAJIAFBAnRqIgEgASgCAEEBajYCACAGQQFqIQZBASAILQAAdEEBdSAFaiEFDAILAAsLQWwhBiAFRQ0AIAUQFEEBaiIBQQxLDQAgAyABNgIAQQFBASABdCAFayIDEBQiAXQgA0cNACAAIARqIAFBAWoiADoAACAJIABBAnRqIgAgACgCAEEBajYCACAJKAIEIgBBAkkgAEEBcXINACACIARBAWo2AgAgB0EBaiEGCyAKQZACaiQAIAYLxhEBDH8jAEHwAGsiBSQAQWwhCwJAIANBCkkNACACLwAAIQogAi8AAiEJIAIvAAQhByAFQQhqIAQQDgJAIAMgByAJIApqakEGaiIMSQ0AIAUtAAohCCAFQdgAaiACQQZqIgIgChAGIgsQAw0BIAVBQGsgAiAKaiICIAkQBiILEAMNASAFQShqIAIgCWoiAiAHEAYiCxADDQEgBUEQaiACIAdqIAMgDGsQBiILEAMNASAAIAFqIg9BfWohECAEQQRqIQZBASELIAAgAUEDakECdiIDaiIMIANqIgIgA2oiDiEDIAIhBCAMIQcDQCALIAMgEElxBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgCS0AAyELIAcgBiAFQUBrIAgQAkECdGoiCS8BADsAACAFQUBrIAktAAIQASAJLQADIQogBCAGIAVBKGogCBACQQJ0aiIJLwEAOwAAIAVBKGogCS0AAhABIAktAAMhCSADIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgDS0AAyENIAAgC2oiCyAGIAVB2ABqIAgQAkECdGoiAC8BADsAACAFQdgAaiAALQACEAEgAC0AAyEAIAcgCmoiCiAGIAVBQGsgCBACQQJ0aiIHLwEAOwAAIAVBQGsgBy0AAhABIActAAMhByAEIAlqIgkgBiAFQShqIAgQAkECdGoiBC8BADsAACAFQShqIAQtAAIQASAELQADIQQgAyANaiIDIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgACALaiEAIAcgCmohByAEIAlqIQQgAyANLQADaiEDIAVB2ABqEA0gBUFAaxANciAFQShqEA1yIAVBEGoQDXJFIQsMAQsLIAQgDksgByACS3INAEFsIQsgACAMSw0BIAxBfWohCQNAQQAgACAJSSAFQdgAahAEGwRAIAAgBiAFQdgAaiAIEAJBAnRqIgovAQA7AAAgBUHYAGogCi0AAhABIAAgCi0AA2oiACAGIAVB2ABqIAgQAkECdGoiCi8BADsAACAFQdgAaiAKLQACEAEgACAKLQADaiEADAEFIAxBfmohCgNAIAVB2ABqEAQgACAKS3JFBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgACAJLQADaiEADAELCwNAIAAgCk0EQCAAIAYgBUHYAGogCBACQQJ0aiIJLwEAOwAAIAVB2ABqIAktAAIQASAAIAktAANqIQAMAQsLAkAgACAMTw0AIAAgBiAFQdgAaiAIEAIiAEECdGoiDC0AADoAACAMLQADQQFGBEAgBUHYAGogDC0AAhABDAELIAUoAlxBH0sNACAFQdgAaiAGIABBAnRqLQACEAEgBSgCXEEhSQ0AIAVBIDYCXAsgAkF9aiEMA0BBACAHIAxJIAVBQGsQBBsEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiIAIAYgBUFAayAIEAJBAnRqIgcvAQA7AAAgBUFAayAHLQACEAEgACAHLQADaiEHDAEFIAJBfmohDANAIAVBQGsQBCAHIAxLckUEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwNAIAcgDE0EQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwJAIAcgAk8NACAHIAYgBUFAayAIEAIiAEECdGoiAi0AADoAACACLQADQQFGBEAgBUFAayACLQACEAEMAQsgBSgCREEfSw0AIAVBQGsgBiAAQQJ0ai0AAhABIAUoAkRBIUkNACAFQSA2AkQLIA5BfWohAgNAQQAgBCACSSAFQShqEAQbBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2oiACAGIAVBKGogCBACQQJ0aiIELwEAOwAAIAVBKGogBC0AAhABIAAgBC0AA2ohBAwBBSAOQX5qIQIDQCAFQShqEAQgBCACS3JFBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsDQCAEIAJNBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsCQCAEIA5PDQAgBCAGIAVBKGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBKGogAi0AAhABDAELIAUoAixBH0sNACAFQShqIAYgAEECdGotAAIQASAFKAIsQSFJDQAgBUEgNgIsCwNAQQAgAyAQSSAFQRBqEAQbBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2oiACAGIAVBEGogCBACQQJ0aiICLwEAOwAAIAVBEGogAi0AAhABIAAgAi0AA2ohAwwBBSAPQX5qIQIDQCAFQRBqEAQgAyACS3JFBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsDQCADIAJNBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsCQCADIA9PDQAgAyAGIAVBEGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBEGogAi0AAhABDAELIAUoAhRBH0sNACAFQRBqIAYgAEECdGotAAIQASAFKAIUQSFJDQAgBUEgNgIUCyABQWwgBUHYAGoQCiAFQUBrEApxIAVBKGoQCnEgBUEQahAKcRshCwwJCwAACwALAAALAAsAAAsACwAACwALQWwhCwsgBUHwAGokACALC7UEAQ5/IwBBEGsiBiQAIAZBBGogABAOQVQhBQJAIARB3AtJDQAgBi0ABCEHIANB8ARqQQBB7AAQECEIIAdBDEsNACADQdwJaiIJIAggBkEIaiAGQQxqIAEgAhAxIhAQA0UEQCAGKAIMIgQgB0sNASADQdwFaiEPIANBpAVqIREgAEEEaiESIANBqAVqIQEgBCEFA0AgBSICQX9qIQUgCCACQQJ0aigCAEUNAAsgAkEBaiEOQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgASALaiAKNgIAIAVBAWohBSAKIAxqIQoMAQsLIAEgCjYCAEEAIQUgBigCCCELA0AgBSALRkUEQCABIAUgCWotAAAiDEECdGoiDSANKAIAIg1BAWo2AgAgDyANQQF0aiINIAw6AAEgDSAFOgAAIAVBAWohBQwBCwtBACEBIANBADYCqAUgBEF/cyAHaiEJQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgAyALaiABNgIAIAwgBSAJanQgAWohASAFQQFqIQUMAQsLIAcgBEEBaiIBIAJrIgRrQQFqIQgDQEEBIQUgBCAIT0UEQANAIAUgDk9FBEAgBUECdCIJIAMgBEE0bGpqIAMgCWooAgAgBHY2AgAgBUEBaiEFDAELCyAEQQFqIQQMAQsLIBIgByAPIAogESADIAIgARBkIAZBAToABSAGIAc6AAYgACAGKAIENgIACyAQIQULIAZBEGokACAFC8ENAQt/IwBB8ABrIgUkAEFsIQkCQCADQQpJDQAgAi8AACEKIAIvAAIhDCACLwAEIQYgBUEIaiAEEA4CQCADIAYgCiAMampBBmoiDUkNACAFLQAKIQcgBUHYAGogAkEGaiICIAoQBiIJEAMNASAFQUBrIAIgCmoiAiAMEAYiCRADDQEgBUEoaiACIAxqIgIgBhAGIgkQAw0BIAVBEGogAiAGaiADIA1rEAYiCRADDQEgACABaiIOQX1qIQ8gBEEEaiEGQQEhCSAAIAFBA2pBAnYiAmoiCiACaiIMIAJqIg0hAyAMIQQgCiECA0AgCSADIA9JcQRAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAACAGIAVBQGsgBxACQQF0aiIILQAAIQsgBUFAayAILQABEAEgAiALOgAAIAYgBUEoaiAHEAJBAXRqIggtAAAhCyAFQShqIAgtAAEQASAEIAs6AAAgBiAFQRBqIAcQAkEBdGoiCC0AACELIAVBEGogCC0AARABIAMgCzoAACAGIAVB2ABqIAcQAkEBdGoiCC0AACELIAVB2ABqIAgtAAEQASAAIAs6AAEgBiAFQUBrIAcQAkEBdGoiCC0AACELIAVBQGsgCC0AARABIAIgCzoAASAGIAVBKGogBxACQQF0aiIILQAAIQsgBUEoaiAILQABEAEgBCALOgABIAYgBUEQaiAHEAJBAXRqIggtAAAhCyAFQRBqIAgtAAEQASADIAs6AAEgA0ECaiEDIARBAmohBCACQQJqIQIgAEECaiEAIAkgBUHYAGoQDUVxIAVBQGsQDUVxIAVBKGoQDUVxIAVBEGoQDUVxIQkMAQsLIAQgDUsgAiAMS3INAEFsIQkgACAKSw0BIApBfWohCQNAIAVB2ABqEAQgACAJT3JFBEAgBiAFQdgAaiAHEAJBAXRqIggtAAAhCyAFQdgAaiAILQABEAEgACALOgAAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAASAAQQJqIQAMAQsLA0AgBUHYAGoQBCAAIApPckUEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCwNAIAAgCkkEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCyAMQX1qIQADQCAFQUBrEAQgAiAAT3JFBEAgBiAFQUBrIAcQAkEBdGoiCi0AACEJIAVBQGsgCi0AARABIAIgCToAACAGIAVBQGsgBxACQQF0aiIKLQAAIQkgBUFAayAKLQABEAEgAiAJOgABIAJBAmohAgwBCwsDQCAFQUBrEAQgAiAMT3JFBEAgBiAFQUBrIAcQAkEBdGoiAC0AACEKIAVBQGsgAC0AARABIAIgCjoAACACQQFqIQIMAQsLA0AgAiAMSQRAIAYgBUFAayAHEAJBAXRqIgAtAAAhCiAFQUBrIAAtAAEQASACIAo6AAAgAkEBaiECDAELCyANQX1qIQADQCAFQShqEAQgBCAAT3JFBEAgBiAFQShqIAcQAkEBdGoiAi0AACEKIAVBKGogAi0AARABIAQgCjoAACAGIAVBKGogBxACQQF0aiICLQAAIQogBUEoaiACLQABEAEgBCAKOgABIARBAmohBAwBCwsDQCAFQShqEAQgBCANT3JFBEAgBiAFQShqIAcQAkEBdGoiAC0AACECIAVBKGogAC0AARABIAQgAjoAACAEQQFqIQQMAQsLA0AgBCANSQRAIAYgBUEoaiAHEAJBAXRqIgAtAAAhAiAFQShqIAAtAAEQASAEIAI6AAAgBEEBaiEEDAELCwNAIAVBEGoQBCADIA9PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIAYgBUEQaiAHEAJBAXRqIgAtAAAhAiAFQRBqIAAtAAEQASADIAI6AAEgA0ECaiEDDAELCwNAIAVBEGoQBCADIA5PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIANBAWohAwwBCwsDQCADIA5JBEAgBiAFQRBqIAcQAkEBdGoiAC0AACECIAVBEGogAC0AARABIAMgAjoAACADQQFqIQMMAQsLIAFBbCAFQdgAahAKIAVBQGsQCnEgBUEoahAKcSAFQRBqEApxGyEJDAELQWwhCQsgBUHwAGokACAJC8oCAQR/IwBBIGsiBSQAIAUgBBAOIAUtAAIhByAFQQhqIAIgAxAGIgIQA0UEQCAEQQRqIQIgACABaiIDQX1qIQQDQCAFQQhqEAQgACAET3JFBEAgAiAFQQhqIAcQAkEBdGoiBi0AACEIIAVBCGogBi0AARABIAAgCDoAACACIAVBCGogBxACQQF0aiIGLQAAIQggBUEIaiAGLQABEAEgACAIOgABIABBAmohAAwBCwsDQCAFQQhqEAQgACADT3JFBEAgAiAFQQhqIAcQAkEBdGoiBC0AACEGIAVBCGogBC0AARABIAAgBjoAACAAQQFqIQAMAQsLA0AgACADT0UEQCACIAVBCGogBxACQQF0aiIELQAAIQYgBUEIaiAELQABEAEgACAGOgAAIABBAWohAAwBCwsgAUFsIAVBCGoQChshAgsgBUEgaiQAIAILtgMBCX8jAEEQayIGJAAgBkEANgIMIAZBADYCCEFUIQQCQAJAIANBQGsiDCADIAZBCGogBkEMaiABIAIQMSICEAMNACAGQQRqIAAQDiAGKAIMIgcgBi0ABEEBaksNASAAQQRqIQogBkEAOgAFIAYgBzoABiAAIAYoAgQ2AgAgB0EBaiEJQQEhBANAIAQgCUkEQCADIARBAnRqIgEoAgAhACABIAU2AgAgACAEQX9qdCAFaiEFIARBAWohBAwBCwsgB0EBaiEHQQAhBSAGKAIIIQkDQCAFIAlGDQEgAyAFIAxqLQAAIgRBAnRqIgBBASAEdEEBdSILIAAoAgAiAWoiADYCACAHIARrIQhBACEEAkAgC0EDTQRAA0AgBCALRg0CIAogASAEakEBdGoiACAIOgABIAAgBToAACAEQQFqIQQMAAALAAsDQCABIABPDQEgCiABQQF0aiIEIAg6AAEgBCAFOgAAIAQgCDoAAyAEIAU6AAIgBCAIOgAFIAQgBToABCAEIAg6AAcgBCAFOgAGIAFBBGohAQwAAAsACyAFQQFqIQUMAAALAAsgAiEECyAGQRBqJAAgBAutAQECfwJAQYQgKAIAIABHIAAoAgBBAXYiAyABa0F4aiICQXhxQQhHcgR/IAIFIAMQJ0UNASACQQhqC0EQSQ0AIAAgACgCACICQQFxIAAgAWpBD2pBeHEiASAAa0EBdHI2AgAgASAANgIEIAEgASgCAEEBcSAAIAJBAXZqIAFrIgJBAXRyNgIAQYQgIAEgAkH/////B3FqQQRqQYQgKAIAIABGGyABNgIAIAEQJQsLygIBBX8CQAJAAkAgAEEIIABBCEsbZ0EfcyAAaUEBR2oiAUEESSAAIAF2cg0AIAFBAnRB/B5qKAIAIgJFDQADQCACQXhqIgMoAgBBAXZBeGoiBSAATwRAIAIgBUEIIAVBCEsbZ0Efc0ECdEGAH2oiASgCAEYEQCABIAIoAgQ2AgALDAMLIARBHksNASAEQQFqIQQgAigCBCICDQALC0EAIQMgAUEgTw0BA0AgAUECdEGAH2ooAgAiAkUEQCABQR5LIQIgAUEBaiEBIAJFDQEMAwsLIAIgAkF4aiIDKAIAQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgBGBEAgASACKAIENgIACwsgAigCACIBBEAgASACKAIENgIECyACKAIEIgEEQCABIAIoAgA2AgALIAMgAygCAEEBcjYCACADIAAQNwsgAwvhCwINfwV+IwBB8ABrIgckACAHIAAoAvDhASIINgJcIAEgAmohDSAIIAAoAoDiAWohDwJAAkAgBUUEQCABIQQMAQsgACgCxOABIRAgACgCwOABIREgACgCvOABIQ4gAEEBNgKM4QFBACEIA0AgCEEDRwRAIAcgCEECdCICaiAAIAJqQazQAWooAgA2AkQgCEEBaiEIDAELC0FsIQwgB0EYaiADIAQQBhADDQEgB0EsaiAHQRhqIAAoAgAQEyAHQTRqIAdBGGogACgCCBATIAdBPGogB0EYaiAAKAIEEBMgDUFgaiESIAEhBEEAIQwDQCAHKAIwIAcoAixBA3RqKQIAIhRCEIinQf8BcSEIIAcoAkAgBygCPEEDdGopAgAiFUIQiKdB/wFxIQsgBygCOCAHKAI0QQN0aikCACIWQiCIpyEJIBVCIIghFyAUQiCIpyECAkAgFkIQiKdB/wFxIgNBAk8EQAJAIAZFIANBGUlyRQRAIAkgB0EYaiADQSAgBygCHGsiCiAKIANLGyIKEAUgAyAKayIDdGohCSAHQRhqEAQaIANFDQEgB0EYaiADEAUgCWohCQwBCyAHQRhqIAMQBSAJaiEJIAdBGGoQBBoLIAcpAkQhGCAHIAk2AkQgByAYNwNIDAELAkAgA0UEQCACBEAgBygCRCEJDAMLIAcoAkghCQwBCwJAAkAgB0EYakEBEAUgCSACRWpqIgNBA0YEQCAHKAJEQX9qIgMgA0VqIQkMAQsgA0ECdCAHaigCRCIJIAlFaiEJIANBAUYNAQsgByAHKAJINgJMCwsgByAHKAJENgJIIAcgCTYCRAsgF6chAyALBEAgB0EYaiALEAUgA2ohAwsgCCALakEUTwRAIAdBGGoQBBoLIAgEQCAHQRhqIAgQBSACaiECCyAHQRhqEAQaIAcgB0EYaiAUQhiIp0H/AXEQCCAUp0H//wNxajYCLCAHIAdBGGogFUIYiKdB/wFxEAggFadB//8DcWo2AjwgB0EYahAEGiAHIAdBGGogFkIYiKdB/wFxEAggFqdB//8DcWo2AjQgByACNgJgIAcoAlwhCiAHIAk2AmggByADNgJkAkACQAJAIAQgAiADaiILaiASSw0AIAIgCmoiEyAPSw0AIA0gBGsgC0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+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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", qe = /* @__PURE__ */ new WeakMap();
|
|
2200
|
+
let Xe = 0, ve;
|
|
2201
|
+
class v extends ot {
|
|
2198
2202
|
constructor(A) {
|
|
2199
|
-
super(A), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new
|
|
2203
|
+
super(A), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new nn(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER != "undefined" && console.warn(
|
|
2200
2204
|
'THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.'
|
|
2201
2205
|
);
|
|
2202
2206
|
}
|
|
@@ -2207,7 +2211,7 @@ class v extends rt {
|
|
|
2207
2211
|
return this.workerPool.setWorkerLimit(A), this;
|
|
2208
2212
|
}
|
|
2209
2213
|
detectSupportAsync(A) {
|
|
2210
|
-
return
|
|
2214
|
+
return _A(this, null, function* () {
|
|
2211
2215
|
return this.workerConfig = {
|
|
2212
2216
|
astcSupported: yield A.hasFeatureAsync("texture-compression-astc"),
|
|
2213
2217
|
etc1Supported: yield A.hasFeatureAsync("texture-compression-etc1"),
|
|
@@ -2237,9 +2241,9 @@ class v extends rt {
|
|
|
2237
2241
|
}
|
|
2238
2242
|
init() {
|
|
2239
2243
|
if (!this.transcoderPending) {
|
|
2240
|
-
const A = new
|
|
2244
|
+
const A = new fA(this.manager);
|
|
2241
2245
|
A.setPath(this.transcoderPath), A.setWithCredentials(this.withCredentials);
|
|
2242
|
-
const e = A.loadAsync("basis_transcoder.js"), s = new
|
|
2246
|
+
const e = A.loadAsync("basis_transcoder.js"), s = new fA(this.manager);
|
|
2243
2247
|
s.setPath(this.transcoderPath), s.setResponseType("arraybuffer"), s.setWithCredentials(this.withCredentials);
|
|
2244
2248
|
const t = s.loadAsync("basis_transcoder.wasm");
|
|
2245
2249
|
this.transcoderPending = Promise.all([e, t]).then(([i, n]) => {
|
|
@@ -2258,19 +2262,19 @@ class v extends rt {
|
|
|
2258
2262
|
const C = new Worker(this.workerSourceURL), I = this.transcoderBinary.slice(0);
|
|
2259
2263
|
return C.postMessage({ type: "init", config: this.workerConfig, transcoderBinary: I }, [I]), C;
|
|
2260
2264
|
});
|
|
2261
|
-
}),
|
|
2265
|
+
}), Xe > 0 && console.warn(
|
|
2262
2266
|
"THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."
|
|
2263
|
-
),
|
|
2267
|
+
), Xe++;
|
|
2264
2268
|
}
|
|
2265
2269
|
return this.transcoderPending;
|
|
2266
2270
|
}
|
|
2267
2271
|
load(A, e, s, t) {
|
|
2268
2272
|
if (this.workerConfig === null)
|
|
2269
2273
|
throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");
|
|
2270
|
-
const i = new
|
|
2274
|
+
const i = new fA(this.manager);
|
|
2271
2275
|
i.setResponseType("arraybuffer"), i.setWithCredentials(this.withCredentials), i.load(A, (n) => {
|
|
2272
|
-
if (
|
|
2273
|
-
return
|
|
2276
|
+
if (qe.has(n))
|
|
2277
|
+
return qe.get(n).promise.then(e).catch(t);
|
|
2274
2278
|
this._createTexture(n).then((o) => e ? e(o) : null).catch(t);
|
|
2275
2279
|
}, s, t);
|
|
2276
2280
|
}
|
|
@@ -2280,12 +2284,12 @@ class v extends rt {
|
|
|
2280
2284
|
return Promise.reject(B);
|
|
2281
2285
|
let I;
|
|
2282
2286
|
if (e.faceCount === 6)
|
|
2283
|
-
I = new
|
|
2287
|
+
I = new Ai(s, n, K);
|
|
2284
2288
|
else {
|
|
2285
2289
|
const r = s[0].mipmaps;
|
|
2286
|
-
I = e.layerCount > 1 ? new
|
|
2290
|
+
I = e.layerCount > 1 ? new ei(r, t, i, e.layerCount, n, K) : new Pt(r, t, i, n, K);
|
|
2287
2291
|
}
|
|
2288
|
-
return I.minFilter = s[0].mipmaps.length === 1 ?
|
|
2292
|
+
return I.minFilter = s[0].mipmaps.length === 1 ? Je : at, I.magFilter = Je, I.generateMipmaps = !1, I.needsUpdate = !0, I.colorSpace = rs(e), I.premultiplyAlpha = !!(C & Bn), I;
|
|
2289
2293
|
}
|
|
2290
2294
|
/**
|
|
2291
2295
|
* @param {ArrayBuffer} buffer
|
|
@@ -2293,16 +2297,16 @@ class v extends rt {
|
|
|
2293
2297
|
* @return {Promise<CompressedTexture|CompressedArrayTexture|DataTexture|Data3DTexture>}
|
|
2294
2298
|
*/
|
|
2295
2299
|
_createTexture(s) {
|
|
2296
|
-
return
|
|
2297
|
-
const t =
|
|
2298
|
-
if (t.vkFormat !==
|
|
2299
|
-
return
|
|
2300
|
+
return _A(this, arguments, function* (A, e = {}) {
|
|
2301
|
+
const t = En(new Uint8Array(A));
|
|
2302
|
+
if (t.vkFormat !== In)
|
|
2303
|
+
return hn(t);
|
|
2300
2304
|
const i = e, n = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: A, taskConfig: i }, [A])).then((o) => this._createTextureFrom(o.data, t));
|
|
2301
|
-
return
|
|
2305
|
+
return qe.set(A, { promise: n }), n;
|
|
2302
2306
|
});
|
|
2303
2307
|
}
|
|
2304
2308
|
dispose() {
|
|
2305
|
-
return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL),
|
|
2309
|
+
return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), Xe--, this;
|
|
2306
2310
|
}
|
|
2307
2311
|
}
|
|
2308
2312
|
v.BasisFormat = {
|
|
@@ -2329,16 +2333,16 @@ v.TranscoderFormat = {
|
|
|
2329
2333
|
RGBA4444: 16
|
|
2330
2334
|
};
|
|
2331
2335
|
v.EngineFormat = {
|
|
2332
|
-
RGBAFormat:
|
|
2333
|
-
RGBA_ASTC_4x4_Format:
|
|
2334
|
-
RGBA_BPTC_Format:
|
|
2335
|
-
RGBA_ETC2_EAC_Format:
|
|
2336
|
-
RGBA_PVRTC_4BPPV1_Format:
|
|
2337
|
-
RGBA_S3TC_DXT5_Format:
|
|
2338
|
-
RGB_ETC1_Format:
|
|
2339
|
-
RGB_ETC2_Format:
|
|
2340
|
-
RGB_PVRTC_4BPPV1_Format:
|
|
2341
|
-
RGB_S3TC_DXT1_Format:
|
|
2336
|
+
RGBAFormat: FA,
|
|
2337
|
+
RGBA_ASTC_4x4_Format: ti,
|
|
2338
|
+
RGBA_BPTC_Format: si,
|
|
2339
|
+
RGBA_ETC2_EAC_Format: ii,
|
|
2340
|
+
RGBA_PVRTC_4BPPV1_Format: ni,
|
|
2341
|
+
RGBA_S3TC_DXT5_Format: oi,
|
|
2342
|
+
RGB_ETC1_Format: Bi,
|
|
2343
|
+
RGB_ETC2_Format: ri,
|
|
2344
|
+
RGB_PVRTC_4BPPV1_Format: Ci,
|
|
2345
|
+
RGB_S3TC_DXT1_Format: ai
|
|
2342
2346
|
};
|
|
2343
2347
|
v.BasisWorker = function() {
|
|
2344
2348
|
let a, A, e;
|
|
@@ -2380,26 +2384,26 @@ v.BasisWorker = function() {
|
|
|
2380
2384
|
throw E(), new Error("THREE.KTX2Loader: Invalid texture");
|
|
2381
2385
|
if (!h.startTranscoding())
|
|
2382
2386
|
throw E(), new Error("THREE.KTX2Loader: .startTranscoding failed");
|
|
2383
|
-
const
|
|
2387
|
+
const KA = [], Ge = [];
|
|
2384
2388
|
for (let cA = 0; cA < m; cA++) {
|
|
2385
|
-
const
|
|
2389
|
+
const Re = [];
|
|
2386
2390
|
for (let eA = 0; eA < p; eA++) {
|
|
2387
|
-
const
|
|
2391
|
+
const pe = [];
|
|
2388
2392
|
let S, H;
|
|
2389
2393
|
for (let V = 0; V < F; V++) {
|
|
2390
|
-
const
|
|
2391
|
-
cA === 0 && eA === 0 && V === 0 && (
|
|
2392
|
-
const
|
|
2393
|
-
if (!h.transcodeImage(
|
|
2394
|
+
const DA = h.getImageLevelInfo(eA, V, cA);
|
|
2395
|
+
cA === 0 && eA === 0 && V === 0 && (DA.origWidth % 4 !== 0 || DA.origHeight % 4 !== 0) && console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."), p > 1 ? (S = DA.origWidth, H = DA.origHeight) : (S = DA.width, H = DA.height);
|
|
2396
|
+
const It = new Uint8Array(h.getImageTranscodedSizeInBytes(eA, V, 0, y));
|
|
2397
|
+
if (!h.transcodeImage(It, eA, V, cA, y, 0, -1, -1))
|
|
2394
2398
|
throw E(), new Error("THREE.KTX2Loader: .transcodeImage failed.");
|
|
2395
|
-
|
|
2399
|
+
pe.push(It);
|
|
2396
2400
|
}
|
|
2397
|
-
const
|
|
2398
|
-
|
|
2401
|
+
const OA = Q(pe);
|
|
2402
|
+
Re.push({ data: OA, width: S, height: H }), Ge.push(OA.buffer);
|
|
2399
2403
|
}
|
|
2400
|
-
|
|
2404
|
+
KA.push({ mipmaps: Re, width: f, height: D, format: W });
|
|
2401
2405
|
}
|
|
2402
|
-
return E(), { faces:
|
|
2406
|
+
return E(), { faces: KA, buffers: Ge, width: f, height: D, hasAlpha: M, format: W, dfdFlags: _ };
|
|
2403
2407
|
}
|
|
2404
2408
|
const B = [
|
|
2405
2409
|
{
|
|
@@ -2491,63 +2495,63 @@ v.BasisWorker = function() {
|
|
|
2491
2495
|
return E;
|
|
2492
2496
|
}
|
|
2493
2497
|
};
|
|
2494
|
-
const
|
|
2495
|
-
[
|
|
2496
|
-
[
|
|
2497
|
-
[
|
|
2498
|
-
[
|
|
2499
|
-
[
|
|
2500
|
-
[
|
|
2501
|
-
[
|
|
2498
|
+
const Qn = /* @__PURE__ */ new Set([FA, XA, vA]), We = {
|
|
2499
|
+
[ns]: FA,
|
|
2500
|
+
[ts]: FA,
|
|
2501
|
+
[zt]: FA,
|
|
2502
|
+
[$t]: FA,
|
|
2503
|
+
[is]: XA,
|
|
2504
|
+
[es]: XA,
|
|
2505
|
+
[jt]: XA,
|
|
2506
|
+
[Zt]: XA,
|
|
2507
|
+
[ss]: vA,
|
|
2502
2508
|
[As]: vA,
|
|
2503
|
-
[
|
|
2504
|
-
[
|
|
2505
|
-
[
|
|
2506
|
-
[
|
|
2507
|
-
|
|
2508
|
-
[
|
|
2509
|
-
|
|
2510
|
-
[rs]: ye,
|
|
2511
|
-
[ns]: Je,
|
|
2512
|
-
[es]: K,
|
|
2513
|
-
[ts]: K,
|
|
2514
|
-
[Bs]: ye,
|
|
2515
|
-
[is]: Je,
|
|
2516
|
-
[$t]: K,
|
|
2517
|
-
[As]: K,
|
|
2518
|
-
[os]: ye,
|
|
2519
|
-
[ss]: Je,
|
|
2509
|
+
[Vt]: vA,
|
|
2510
|
+
[Wt]: vA,
|
|
2511
|
+
[Bs]: Dt,
|
|
2512
|
+
[os]: Dt
|
|
2513
|
+
}, Ve = {
|
|
2514
|
+
[ns]: Le,
|
|
2515
|
+
[ts]: ye,
|
|
2520
2516
|
[zt]: K,
|
|
2517
|
+
[$t]: K,
|
|
2518
|
+
[is]: Le,
|
|
2519
|
+
[es]: ye,
|
|
2520
|
+
[jt]: K,
|
|
2521
2521
|
[Zt]: K,
|
|
2522
|
-
[
|
|
2523
|
-
[
|
|
2522
|
+
[ss]: Le,
|
|
2523
|
+
[As]: ye,
|
|
2524
|
+
[Vt]: K,
|
|
2525
|
+
[Wt]: K,
|
|
2526
|
+
[Bs]: K,
|
|
2527
|
+
[os]: K
|
|
2524
2528
|
};
|
|
2525
|
-
function
|
|
2526
|
-
return
|
|
2529
|
+
function hn(a) {
|
|
2530
|
+
return _A(this, null, function* () {
|
|
2527
2531
|
const { vkFormat: A } = a;
|
|
2528
|
-
if (
|
|
2532
|
+
if (We[A] === void 0)
|
|
2529
2533
|
throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
|
|
2530
2534
|
let e;
|
|
2531
|
-
a.supercompressionScheme ===
|
|
2532
|
-
const n = new
|
|
2535
|
+
a.supercompressionScheme === St && (ve || (ve = new Promise((i) => _A(this, null, function* () {
|
|
2536
|
+
const n = new cn();
|
|
2533
2537
|
yield n.init(), i(n);
|
|
2534
|
-
}))), e = yield
|
|
2538
|
+
}))), e = yield ve);
|
|
2535
2539
|
const s = [];
|
|
2536
2540
|
for (let i = 0; i < a.levels.length; i++) {
|
|
2537
2541
|
const n = Math.max(1, a.pixelWidth >> i), o = Math.max(1, a.pixelHeight >> i), B = a.pixelDepth ? Math.max(1, a.pixelDepth >> i) : 0, C = a.levels[i];
|
|
2538
2542
|
let I;
|
|
2539
|
-
if (a.supercompressionScheme ===
|
|
2543
|
+
if (a.supercompressionScheme === on)
|
|
2540
2544
|
I = C.levelData;
|
|
2541
|
-
else if (a.supercompressionScheme ===
|
|
2545
|
+
else if (a.supercompressionScheme === St)
|
|
2542
2546
|
I = e.decode(C.levelData, C.uncompressedByteLength);
|
|
2543
2547
|
else
|
|
2544
2548
|
throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");
|
|
2545
2549
|
let r;
|
|
2546
|
-
|
|
2550
|
+
Ve[A] === Le ? r = new Float32Array(
|
|
2547
2551
|
I.buffer,
|
|
2548
2552
|
I.byteOffset,
|
|
2549
2553
|
I.byteLength / Float32Array.BYTES_PER_ELEMENT
|
|
2550
|
-
) :
|
|
2554
|
+
) : Ve[A] === ye ? r = new Uint16Array(
|
|
2551
2555
|
I.buffer,
|
|
2552
2556
|
I.byteOffset,
|
|
2553
2557
|
I.byteLength / Uint16Array.BYTES_PER_ELEMENT
|
|
@@ -2559,24 +2563,24 @@ function un(a) {
|
|
|
2559
2563
|
});
|
|
2560
2564
|
}
|
|
2561
2565
|
let t;
|
|
2562
|
-
if (
|
|
2563
|
-
t = a.pixelDepth === 0 ? new
|
|
2566
|
+
if (Qn.has(We[A]))
|
|
2567
|
+
t = a.pixelDepth === 0 ? new Ii(s[0].data, a.pixelWidth, a.pixelHeight) : new gi(s[0].data, a.pixelWidth, a.pixelHeight, a.pixelDepth);
|
|
2564
2568
|
else {
|
|
2565
2569
|
if (a.pixelDepth > 0)
|
|
2566
2570
|
throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
|
|
2567
|
-
t = new
|
|
2571
|
+
t = new Pt(s, a.pixelWidth, a.pixelHeight);
|
|
2568
2572
|
}
|
|
2569
|
-
return t.mipmaps = s, t.type =
|
|
2573
|
+
return t.mipmaps = s, t.type = Ve[A], t.format = We[A], t.colorSpace = rs(a), t.needsUpdate = !0, Promise.resolve(t);
|
|
2570
2574
|
});
|
|
2571
2575
|
}
|
|
2572
|
-
function
|
|
2576
|
+
function rs(a) {
|
|
2573
2577
|
const A = a.dataFormatDescriptor[0];
|
|
2574
|
-
return A.colorPrimaries ===
|
|
2578
|
+
return A.colorPrimaries === Cn ? A.transferFunction === Lt ? $ : O : A.colorPrimaries === an ? A.transferFunction === Lt ? Ei : ci : A.colorPrimaries === rn ? ft : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`), ft);
|
|
2575
2579
|
}
|
|
2576
|
-
let
|
|
2577
|
-
const
|
|
2578
|
-
if (
|
|
2579
|
-
return
|
|
2580
|
+
let Se;
|
|
2581
|
+
const ln = () => {
|
|
2582
|
+
if (Se)
|
|
2583
|
+
return Se;
|
|
2580
2584
|
const a = "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", A = "B9h9z9tFBBBFiI9gBB9gLaaaaaFa9gEaaaB9gFaFaEMcBBFBFFGGGEILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBOn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBNI9z9iqlBVc+N9IcIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMk8lLbaE97F9+FaL978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAeDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAeDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBReCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBH8ZCFD9tA8ZAPD9OD9hD9RH8ZDQBTFtGmEYIPLdKeOnHpAIAQJDBIBHyCFD9tAyAPD9OD9hD9RHyAIASJDBIBH8cCFD9tA8cAPD9OD9hD9RH8cDQBTFtGmEYIPLdKeOnH8dDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAeD9uHeDyBjGBAEAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeApA8dDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeAdA8ZDQNiV8ZcpMyS8cQ8df8eb8fHdAyA8cDQNiV8ZcpMyS8cQ8df8eb8fH8ZDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeAdA8ZDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/dLEK97FaF97GXGXAGCI9HQBAF9FQFCBRGEXABABDBBBHECiD+rFCiD+sFD/6FHIAECND+rFCiD+sFD/6FAID/gFAECTD+rFCiD+sFD/6FHLD/gFD/kFD/lFHKCBDtD+2FHOAICUUUU94DtHND9OD9RD/kFHI9DBB/+hDYAIAID/mFAKAKD/mFALAOALAND9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHLD/mF9DBBX9LDYHOD/kFCgFDtD9OAECUUU94DtD9OD9QAIALD/mFAOD/kFCND+rFCU/+EDtD9OD9QAKALD/mFAOD/kFCTD+rFCUU/8ODtD9OD9QDMBBABCTJRBAGCIJHGAF9JQBSGMMAF9FQBCBRGEXABCTJHVAVDBBBHECBDtHOCUU98D8cFCUU98D8cEHND9OABDBBBHKAEDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAKAEDQBFGENVcMTtmYi8ZpyHECTD+sFD/6FHID/gFAECTD+rFCTD+sFD/6FHLD/gFD/kFD/lFHE9DB/+g6DYALAEAOD+2FHOALCUUUU94DtHcD9OD9RD/kFHLALD/mFAEAED/mFAIAOAIAcD9OD9RD/kFHEAED/mFD/kFD/kFD/jFD/nFHID/mF9DBBX9LDYHOD/kFCTD+rFALAID/mFAOD/kFCggEDtD9OD9QHLAEAID/mFAOD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHEDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAKAND9OALAEDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM/hEIGaF97FaL978jUUUUBCTlREGXAF9FQBCBRIEXAEABDBBBHLABCTJHKDBBBHODQILKOSQfbPden8c8d8e8fHNCTD+sFHVCID+rFDMIBAB9DBBU8/DY9D/zI818/DYAVCEDtD9QD/6FD/nFHVALAODQBFGENVcMTtmYi8ZpyHLCTD+rFCTD+sFD/6FD/mFHOAOD/mFAVALCTD+sFD/6FD/mFHcAcD/mFAVANCTD+rFCTD+sFD/6FD/mFHNAND/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHVD/mF9DBBX9LDYHLD/kFCggEDtHMD9OAcAVD/mFALD/kFCTD+rFD9QHcANAVD/mFALD/kFCTD+rFAOAVD/mFALD/kFAMD9OD9QHVDQBFTtGEmYILPdKOenHLD8dBAEDBIBDyB+t+J83EBABCNJALD8dFAEDBIBDyF+t+J83EBAKAcAVDQNVi8ZcMpySQ8c8dfb8e8fHVD8dBAEDBIBDyG+t+J83EBABCiJAVD8dFAEDBIBDyE+t+J83EBABCAJRBAICIJHIAF9JQBMMM9jFF97GXAGCGrAF9sHG9FQBCBRFEXABABDBBBHECND+rFCND+sFD/6FAECiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBABCTJRBAFCIJHFAG9JQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB", e = new Uint8Array([
|
|
2581
2585
|
0,
|
|
2582
2586
|
97,
|
|
@@ -2740,7 +2744,7 @@ const fn = () => {
|
|
|
2740
2744
|
TRIANGLES: "meshopt_decodeIndexBuffer",
|
|
2741
2745
|
INDICES: "meshopt_decodeIndexSequence"
|
|
2742
2746
|
};
|
|
2743
|
-
return
|
|
2747
|
+
return Se = {
|
|
2744
2748
|
ready: n,
|
|
2745
2749
|
supported: !0,
|
|
2746
2750
|
decodeVertexBuffer(r, c, Q, l, h) {
|
|
@@ -2769,51 +2773,51 @@ const fn = () => {
|
|
|
2769
2773
|
i.exports[C[E]]
|
|
2770
2774
|
);
|
|
2771
2775
|
}
|
|
2772
|
-
},
|
|
2776
|
+
}, Se;
|
|
2773
2777
|
};
|
|
2774
|
-
var
|
|
2775
|
-
class
|
|
2778
|
+
var SA, te, se, ie;
|
|
2779
|
+
class dn {
|
|
2776
2780
|
constructor() {
|
|
2777
|
-
u(this,
|
|
2778
|
-
u(this,
|
|
2781
|
+
u(this, SA, new Fi());
|
|
2782
|
+
u(this, te, new tn().setDecoderPath(
|
|
2779
2783
|
`${w.CDNVersion}/examples/jsm/libs/draco/gltf/`
|
|
2780
2784
|
));
|
|
2781
|
-
u(this,
|
|
2785
|
+
u(this, se, new v().setTranscoderPath(
|
|
2782
2786
|
`${w.CDNVersion}/examples/jsm/libs/basis/`
|
|
2783
2787
|
));
|
|
2784
|
-
u(this,
|
|
2785
|
-
g(this,
|
|
2788
|
+
u(this, ie, !1);
|
|
2789
|
+
g(this, SA).setCrossOrigin("anonymous").setDRACOLoader(g(this, te)).setMeshoptDecoder(ln);
|
|
2786
2790
|
}
|
|
2787
2791
|
get gltfLoader() {
|
|
2788
|
-
return g(this,
|
|
2792
|
+
return g(this, SA);
|
|
2789
2793
|
}
|
|
2790
2794
|
get dracoLoader() {
|
|
2791
|
-
return g(this,
|
|
2795
|
+
return g(this, te);
|
|
2792
2796
|
}
|
|
2793
2797
|
get ktx2Loader() {
|
|
2794
|
-
return g(this,
|
|
2798
|
+
return g(this, se);
|
|
2795
2799
|
}
|
|
2796
2800
|
load(...A) {
|
|
2797
|
-
g(this,
|
|
2801
|
+
g(this, ie) || (g(this, SA).setKTX2Loader(g(this, se).detectSupport(w.webglRenderer)), G(this, ie, !0)), this.gltfLoader.load(...A);
|
|
2798
2802
|
}
|
|
2799
2803
|
}
|
|
2800
|
-
|
|
2801
|
-
const
|
|
2802
|
-
var k, z,
|
|
2803
|
-
class
|
|
2804
|
+
SA = new WeakMap(), te = new WeakMap(), se = new WeakMap(), ie = new WeakMap();
|
|
2805
|
+
const un = new dn();
|
|
2806
|
+
var k, z, ne;
|
|
2807
|
+
class _n {
|
|
2804
2808
|
constructor(A, e = 1) {
|
|
2805
2809
|
u(this, k, null);
|
|
2806
2810
|
u(this, z, []);
|
|
2807
|
-
u(this,
|
|
2811
|
+
u(this, ne, () => {
|
|
2808
2812
|
const A = g(this, k).position.x, e = g(this, k).position.y;
|
|
2809
2813
|
g(this, z)[0].constant = g(this, k).scale.y / 2 + e * -1, g(this, z)[1].constant = g(this, k).scale.y / 2 + e, g(this, z)[2].constant = g(this, k).scale.x / 2 + A, g(this, z)[3].constant = g(this, k).scale.x / 2 + A * -1;
|
|
2810
2814
|
});
|
|
2811
|
-
G(this, k, new
|
|
2812
|
-
new
|
|
2813
|
-
new
|
|
2814
|
-
new
|
|
2815
|
-
new
|
|
2816
|
-
]),
|
|
2815
|
+
G(this, k, new Nt(A, { cartesian: !1 })), G(this, z, [
|
|
2816
|
+
new Me(new b(0, -1 * e, 0)),
|
|
2817
|
+
new Me(new b(0, 1 * e, 0)),
|
|
2818
|
+
new Me(new b(-1 * e, 0, 0)),
|
|
2819
|
+
new Me(new b(1 * e, 0, 0))
|
|
2820
|
+
]), kA.subscribe(g(this, ne), { order: nt.LAYOUT_BOX });
|
|
2817
2821
|
}
|
|
2818
2822
|
get planes() {
|
|
2819
2823
|
return g(this, z);
|
|
@@ -2822,44 +2826,44 @@ class Yn {
|
|
|
2822
2826
|
return g(this, k);
|
|
2823
2827
|
}
|
|
2824
2828
|
destroy() {
|
|
2825
|
-
|
|
2829
|
+
kA.unsubscribe(g(this, ne)), g(this, k).destroy();
|
|
2826
2830
|
}
|
|
2827
2831
|
}
|
|
2828
|
-
k = new WeakMap(), z = new WeakMap(),
|
|
2829
|
-
class
|
|
2832
|
+
k = new WeakMap(), z = new WeakMap(), ne = new WeakMap();
|
|
2833
|
+
class Pn extends jA {
|
|
2830
2834
|
constructor(A, e = 500) {
|
|
2831
|
-
super(), this.add(new
|
|
2835
|
+
super(), this.add(new we(A.planes[0], e, 16711680)), this.add(new we(A.planes[1], e, 16711680)), this.add(new we(A.planes[2], e, 16711680)), this.add(new we(A.planes[3], e, 16711680));
|
|
2832
2836
|
}
|
|
2833
2837
|
}
|
|
2834
|
-
var
|
|
2835
|
-
class
|
|
2838
|
+
var LA, dA, yA, oe, Be, BA, JA, re;
|
|
2839
|
+
class Cs extends ui {
|
|
2836
2840
|
constructor(e) {
|
|
2837
2841
|
super(e);
|
|
2838
|
-
u(this,
|
|
2839
|
-
u(this,
|
|
2840
|
-
u(this,
|
|
2842
|
+
u(this, LA, new Gt(null));
|
|
2843
|
+
u(this, dA, new Gt(void 0));
|
|
2844
|
+
u(this, yA, void 0);
|
|
2845
|
+
u(this, oe, void 0);
|
|
2841
2846
|
u(this, Be, void 0);
|
|
2842
|
-
u(this, re, void 0);
|
|
2843
2847
|
u(this, BA, void 0);
|
|
2844
|
-
u(this,
|
|
2845
|
-
u(this,
|
|
2846
|
-
if (!(g(this, BA) && !g(this,
|
|
2847
|
-
const e = g(this,
|
|
2848
|
-
g(this, BA) ||
|
|
2848
|
+
u(this, JA, !1);
|
|
2849
|
+
u(this, re, () => {
|
|
2850
|
+
if (!(g(this, BA) && !g(this, JA)) && (this.current !== this.previous && (g(this, LA).current = null), this.current)) {
|
|
2851
|
+
const e = g(this, Be) ? this.current.url : this.current.name + this.current.extension;
|
|
2852
|
+
g(this, BA) || ke.setTotal(e, 1), g(this, dA).current = "start", g(this, oe).load(
|
|
2849
2853
|
e,
|
|
2850
2854
|
(s) => {
|
|
2851
|
-
g(this,
|
|
2855
|
+
g(this, LA).current = s, g(this, dA).current = "complete", g(this, BA) || ke.setLoaded(e, 1);
|
|
2852
2856
|
},
|
|
2853
2857
|
void 0,
|
|
2854
2858
|
() => {
|
|
2855
|
-
g(this, BA) || (g(this,
|
|
2859
|
+
g(this, BA) || (g(this, dA).current = "error", ke.setError(e, e));
|
|
2856
2860
|
}
|
|
2857
2861
|
);
|
|
2858
2862
|
}
|
|
2859
2863
|
});
|
|
2860
|
-
G(this,
|
|
2864
|
+
G(this, yA, e.consumer), G(this, oe, e.loader), G(this, Be, e.keepSourceParameters || !1), G(this, BA, e.lazy || !1), this.subscribe(g(this, re)), g(this, yA).addEventListener("added", () => {
|
|
2861
2865
|
this.connect();
|
|
2862
|
-
}), g(this,
|
|
2866
|
+
}), g(this, yA).addEventListener("removed", () => {
|
|
2863
2867
|
this.disconnect();
|
|
2864
2868
|
});
|
|
2865
2869
|
}
|
|
@@ -2867,51 +2871,51 @@ class gs extends Fi {
|
|
|
2867
2871
|
* Resource store.
|
|
2868
2872
|
*/
|
|
2869
2873
|
get data() {
|
|
2870
|
-
return g(this,
|
|
2874
|
+
return g(this, LA);
|
|
2871
2875
|
}
|
|
2872
2876
|
/**
|
|
2873
2877
|
* Loading store.
|
|
2874
2878
|
*/
|
|
2875
2879
|
get loading() {
|
|
2876
|
-
return g(this,
|
|
2880
|
+
return g(this, dA);
|
|
2877
2881
|
}
|
|
2878
2882
|
/**
|
|
2879
2883
|
* Calling this method will start loading the resource.
|
|
2880
2884
|
*/
|
|
2881
2885
|
lazyLoad() {
|
|
2882
|
-
g(this,
|
|
2886
|
+
g(this, JA) || (G(this, JA, !0), g(this, re).call(this));
|
|
2883
2887
|
}
|
|
2884
2888
|
}
|
|
2885
|
-
|
|
2886
|
-
var
|
|
2887
|
-
class
|
|
2889
|
+
LA = new WeakMap(), dA = new WeakMap(), yA = new WeakMap(), oe = new WeakMap(), Be = new WeakMap(), BA = new WeakMap(), JA = new WeakMap(), re = new WeakMap();
|
|
2890
|
+
var HA;
|
|
2891
|
+
class Yn extends jA {
|
|
2888
2892
|
constructor(e) {
|
|
2889
2893
|
super();
|
|
2890
|
-
u(this,
|
|
2891
|
-
G(this,
|
|
2892
|
-
loader:
|
|
2894
|
+
u(this, HA, void 0);
|
|
2895
|
+
G(this, HA, new Cs(tA({
|
|
2896
|
+
loader: un,
|
|
2893
2897
|
consumer: this
|
|
2894
|
-
}, e))), g(this,
|
|
2898
|
+
}, e))), g(this, HA).data.subscribe((s) => {
|
|
2895
2899
|
s.current ? this.add(...s.current.scene.children) : this.children.forEach((t) => {
|
|
2896
|
-
this.remove(t),
|
|
2900
|
+
this.remove(t), Yt(t);
|
|
2897
2901
|
});
|
|
2898
2902
|
});
|
|
2899
2903
|
}
|
|
2900
2904
|
get sourceManager() {
|
|
2901
|
-
return g(this,
|
|
2905
|
+
return g(this, HA);
|
|
2902
2906
|
}
|
|
2903
2907
|
}
|
|
2904
|
-
|
|
2905
|
-
function
|
|
2908
|
+
HA = new WeakMap();
|
|
2909
|
+
function as(a, A, e) {
|
|
2906
2910
|
const s = A.x, t = A.y, i = e || a.image.width / a.image.height;
|
|
2907
2911
|
let n = 0, o = 0, B = a.offset.x, C = a.offset.y, I = a.rotation, r = a.center.x, c = a.center.y;
|
|
2908
2912
|
s / t > i ? (n = 1, o = t / s * i) : (o = 1, n = s / t / i), a.matrix.setUvTransform(B, C, n, o, I, r, c);
|
|
2909
2913
|
}
|
|
2910
|
-
var rA, UA,
|
|
2911
|
-
class
|
|
2914
|
+
var rA, UA, uA;
|
|
2915
|
+
class Is extends Fe {
|
|
2912
2916
|
constructor(e) {
|
|
2913
2917
|
super(
|
|
2914
|
-
new
|
|
2918
|
+
new Qi(
|
|
2915
2919
|
e.width,
|
|
2916
2920
|
e.height,
|
|
2917
2921
|
e.widthSegments,
|
|
@@ -2921,70 +2925,70 @@ class cs extends Ge {
|
|
|
2921
2925
|
);
|
|
2922
2926
|
u(this, rA, void 0);
|
|
2923
2927
|
u(this, UA, void 0);
|
|
2924
|
-
u(this,
|
|
2928
|
+
u(this, uA, () => {
|
|
2925
2929
|
g(this, rA).data.current && g(this, UA) && this.onCoverResize(g(this, rA).data.current);
|
|
2926
2930
|
});
|
|
2927
|
-
G(this, rA, new
|
|
2931
|
+
G(this, rA, new Cs(tA({
|
|
2928
2932
|
consumer: this
|
|
2929
2933
|
}, e))), G(this, UA, e.cover || !1), this.addEventListener("added", () => {
|
|
2930
|
-
|
|
2934
|
+
xA.subscribe(g(this, uA));
|
|
2931
2935
|
}), this.addEventListener("removed", () => {
|
|
2932
|
-
|
|
2936
|
+
xA.unsubscribe(g(this, uA));
|
|
2933
2937
|
}), g(this, rA).data.subscribe((s) => {
|
|
2934
|
-
!s.current && s.previous ? s.previous.dispose() : s.current && this.material && (g(this, UA) && (s.current.matrixAutoUpdate = !1), s.current.colorSpace = $, s.current.center.set(0.5, 0.5), this.material.map = s.current, this.material.needsUpdate = !0, g(this,
|
|
2938
|
+
!s.current && s.previous ? s.previous.dispose() : s.current && this.material && (g(this, UA) && (s.current.matrixAutoUpdate = !1), s.current.colorSpace = $, s.current.center.set(0.5, 0.5), this.material.map = s.current, this.material.needsUpdate = !0, g(this, uA).call(this));
|
|
2935
2939
|
});
|
|
2936
2940
|
}
|
|
2937
2941
|
get sourceManager() {
|
|
2938
2942
|
return g(this, rA);
|
|
2939
2943
|
}
|
|
2940
2944
|
updateTexture() {
|
|
2941
|
-
g(this,
|
|
2945
|
+
g(this, uA).call(this);
|
|
2942
2946
|
}
|
|
2943
2947
|
onCoverResize(e) {
|
|
2944
|
-
|
|
2948
|
+
as(e, {
|
|
2945
2949
|
x: this.scale.x,
|
|
2946
2950
|
y: this.scale.y
|
|
2947
2951
|
});
|
|
2948
2952
|
}
|
|
2949
2953
|
}
|
|
2950
|
-
rA = new WeakMap(), UA = new WeakMap(),
|
|
2951
|
-
const
|
|
2952
|
-
class
|
|
2954
|
+
rA = new WeakMap(), UA = new WeakMap(), uA = new WeakMap();
|
|
2955
|
+
const fn = new bt();
|
|
2956
|
+
class qn extends Is {
|
|
2953
2957
|
constructor(A) {
|
|
2954
|
-
super(
|
|
2955
|
-
loader:
|
|
2958
|
+
super(me(tA({}, A), {
|
|
2959
|
+
loader: fn
|
|
2956
2960
|
}));
|
|
2957
2961
|
}
|
|
2958
2962
|
}
|
|
2959
|
-
class
|
|
2963
|
+
class Dn {
|
|
2960
2964
|
load(...A) {
|
|
2961
2965
|
const e = A[0], s = A[1], t = A[3], i = document.createElement("video");
|
|
2962
2966
|
i.src = e, i.onloadeddata = () => {
|
|
2963
|
-
s(new
|
|
2967
|
+
s(new hi(i)), i.onerror = null, i.onloadeddata = null;
|
|
2964
2968
|
}, i.onerror = () => {
|
|
2965
2969
|
t == null || t(e), i.onerror = null, i.onloadeddata = null;
|
|
2966
2970
|
};
|
|
2967
2971
|
}
|
|
2968
2972
|
}
|
|
2969
|
-
var ae, Ie
|
|
2970
|
-
class
|
|
2973
|
+
var Ce, ae, Ie;
|
|
2974
|
+
class Xn extends Is {
|
|
2971
2975
|
constructor(e) {
|
|
2972
|
-
super(
|
|
2973
|
-
loader: new
|
|
2976
|
+
super(me(tA({}, e), {
|
|
2977
|
+
loader: new Dn()
|
|
2974
2978
|
}));
|
|
2979
|
+
u(this, Ce, void 0);
|
|
2975
2980
|
u(this, ae, void 0);
|
|
2976
2981
|
u(this, Ie, void 0);
|
|
2977
|
-
|
|
2978
|
-
G(this, ae, e.autoplay || !1), G(this, Ie, e.muted || !1), G(this, ge, e.loop || !1), this.sourceManager.data.subscribe((s) => {
|
|
2982
|
+
G(this, Ce, e.autoplay || !1), G(this, ae, e.muted || !1), G(this, Ie, e.loop || !1), this.sourceManager.data.subscribe((s) => {
|
|
2979
2983
|
if (s.current) {
|
|
2980
2984
|
const t = s.current.image;
|
|
2981
|
-
g(this,
|
|
2985
|
+
g(this, ae) && (t.muted = !0), g(this, Ie) && (t.loop = !0), g(this, Ce) && t.play();
|
|
2982
2986
|
}
|
|
2983
2987
|
});
|
|
2984
2988
|
}
|
|
2985
2989
|
onCoverResize(e) {
|
|
2986
2990
|
const s = e.image;
|
|
2987
|
-
|
|
2991
|
+
as(
|
|
2988
2992
|
e,
|
|
2989
2993
|
{
|
|
2990
2994
|
x: this.scale.x,
|
|
@@ -2994,19 +2998,19 @@ class Wn extends cs {
|
|
|
2994
2998
|
);
|
|
2995
2999
|
}
|
|
2996
3000
|
}
|
|
2997
|
-
|
|
2998
|
-
function
|
|
3001
|
+
Ce = new WeakMap(), ae = new WeakMap(), Ie = new WeakMap();
|
|
3002
|
+
function vn(a, A) {
|
|
2999
3003
|
a.traverse((e) => {
|
|
3000
|
-
e instanceof
|
|
3004
|
+
e instanceof Fe && A(e);
|
|
3001
3005
|
});
|
|
3002
3006
|
}
|
|
3003
|
-
function
|
|
3007
|
+
function Wn(a, A) {
|
|
3004
3008
|
a.traverse((e) => {
|
|
3005
|
-
e instanceof
|
|
3009
|
+
e instanceof Fe && e.material && (Array.isArray(e.material) ? e.material : [e.material]).forEach(A);
|
|
3006
3010
|
});
|
|
3007
3011
|
}
|
|
3008
|
-
const
|
|
3009
|
-
class
|
|
3012
|
+
const Ht = new b(), Fn = new rt(), Ut = new b();
|
|
3013
|
+
class Gn extends Ct {
|
|
3010
3014
|
constructor(A = document.createElement("div")) {
|
|
3011
3015
|
super(), this.isCSS3DObject = !0, this.element = A, this.element.style.position = "absolute", this.element.style.pointerEvents = "auto", this.element.style.userSelect = "none", this.element.setAttribute("draggable", !1), this.addEventListener("removed", function() {
|
|
3012
3016
|
this.traverse(function(e) {
|
|
@@ -3018,8 +3022,8 @@ class mn extends It {
|
|
|
3018
3022
|
return super.copy(A, e), this.element = A.element.cloneNode(!0), this;
|
|
3019
3023
|
}
|
|
3020
3024
|
}
|
|
3021
|
-
const P = new
|
|
3022
|
-
class
|
|
3025
|
+
const P = new bA(), Rn = new bA();
|
|
3026
|
+
class pn {
|
|
3023
3027
|
constructor(A = {}) {
|
|
3024
3028
|
const e = this;
|
|
3025
3029
|
let s, t, i, n;
|
|
@@ -3063,7 +3067,7 @@ class wn {
|
|
|
3063
3067
|
if (h.element.style.display = D === !0 ? "" : "none", D === !0) {
|
|
3064
3068
|
h.onBeforeRender(e, E, d);
|
|
3065
3069
|
let F;
|
|
3066
|
-
h.isCSS3DSprite ? (P.copy(d.matrixWorldInverse), P.transpose(), h.rotation2D !== 0 && P.multiply(
|
|
3070
|
+
h.isCSS3DSprite ? (P.copy(d.matrixWorldInverse), P.transpose(), h.rotation2D !== 0 && P.multiply(Rn.makeRotationZ(h.rotation2D)), h.matrixWorld.decompose(Ht, Fn, Ut), P.setPosition(Ht), P.scale(Ut), P.elements[3] = 0, P.elements[7] = 0, P.elements[11] = 0, P.elements[15] = 1, F = Q(P)) : F = Q(h.matrixWorld);
|
|
3067
3071
|
const p = h.element, m = o.objects.get(h);
|
|
3068
3072
|
if (m === void 0 || m.style !== F) {
|
|
3069
3073
|
p.style.transform = F;
|
|
@@ -3078,18 +3082,18 @@ class wn {
|
|
|
3078
3082
|
}
|
|
3079
3083
|
}
|
|
3080
3084
|
}
|
|
3081
|
-
var X,
|
|
3082
|
-
const
|
|
3085
|
+
var X, Te, gs, ge, Ee;
|
|
3086
|
+
const U = class U extends Gn {
|
|
3083
3087
|
static destroy() {
|
|
3084
|
-
|
|
3088
|
+
xA.unsubscribe(g(this, Ee)), kA.unsubscribe(g(this, ge)), G(this, X, null);
|
|
3085
3089
|
}
|
|
3086
3090
|
constructor(A) {
|
|
3087
3091
|
var e;
|
|
3088
|
-
super(A.element), g(
|
|
3092
|
+
super(A.element), g(U, X) || QA(e = U, Te, gs).call(e);
|
|
3089
3093
|
}
|
|
3090
3094
|
};
|
|
3091
|
-
X = new WeakMap(),
|
|
3092
|
-
G(
|
|
3095
|
+
X = new WeakMap(), Te = new WeakSet(), gs = function() {
|
|
3096
|
+
G(U, X, new pn()), g(U, X).domElement.style.cssText = `
|
|
3093
3097
|
position: fixed;
|
|
3094
3098
|
left: 0;
|
|
3095
3099
|
top: 0;
|
|
@@ -3098,35 +3102,34 @@ X = new WeakMap(), Ne = new WeakSet(), Qs = function() {
|
|
|
3098
3102
|
z-index: 1;
|
|
3099
3103
|
pointer-events: none;
|
|
3100
3104
|
overflow: hidden;
|
|
3101
|
-
`, w.containerElement.prepend(g(
|
|
3102
|
-
},
|
|
3103
|
-
g(
|
|
3104
|
-
}), u(
|
|
3105
|
-
g(
|
|
3105
|
+
`, w.containerElement.prepend(g(U, X).domElement), xA.subscribe(g(this, Ee), xt.EN3 + 1), kA.subscribe(g(this, ge), { order: nt.EN3 + 1 });
|
|
3106
|
+
}, ge = new WeakMap(), Ee = new WeakMap(), u(U, Te), u(U, X, null), u(U, ge, () => {
|
|
3107
|
+
g(U, X).render(w.scene, w.camera);
|
|
3108
|
+
}), u(U, Ee, () => {
|
|
3109
|
+
g(U, X).setSize(w.width, w.height);
|
|
3106
3110
|
});
|
|
3107
|
-
let
|
|
3108
|
-
var
|
|
3109
|
-
class
|
|
3111
|
+
let Tt = U;
|
|
3112
|
+
var TA, ce, Qe, CA, he;
|
|
3113
|
+
class mn {
|
|
3110
3114
|
constructor(A) {
|
|
3111
|
-
u(this,
|
|
3115
|
+
u(this, TA, void 0);
|
|
3116
|
+
u(this, ce, void 0);
|
|
3112
3117
|
u(this, Qe, void 0);
|
|
3113
|
-
u(this, he, void 0);
|
|
3114
3118
|
u(this, CA, void 0);
|
|
3115
|
-
u(this,
|
|
3116
|
-
|
|
3117
|
-
G(this, NA, A.targetName || void 0), G(this, Qe, A.eventDispatcher || A.object3D), G(this, he, A.propagation || !1), G(this, CA, A.object3D), G(this, le, g(this, NA) ? () => g(this, CA).getObjectByName(g(this, NA)) || g(this, CA) : () => g(this, CA));
|
|
3119
|
+
u(this, he, void 0);
|
|
3120
|
+
G(this, TA, A.targetName || void 0), G(this, ce, A.eventDispatcher || A.object3D), G(this, Qe, A.propagation || !1), G(this, CA, A.object3D), G(this, he, g(this, TA) ? () => g(this, CA).getObjectByName(g(this, TA)) || g(this, CA) : () => g(this, CA));
|
|
3118
3121
|
}
|
|
3119
3122
|
get object3D() {
|
|
3120
3123
|
return g(this, CA);
|
|
3121
3124
|
}
|
|
3122
3125
|
get eventDispatcher() {
|
|
3123
|
-
return g(this,
|
|
3126
|
+
return g(this, ce);
|
|
3124
3127
|
}
|
|
3125
3128
|
get propagation() {
|
|
3126
|
-
return g(this,
|
|
3129
|
+
return g(this, Qe);
|
|
3127
3130
|
}
|
|
3128
3131
|
get target() {
|
|
3129
|
-
return g(this,
|
|
3132
|
+
return g(this, he).call(this);
|
|
3130
3133
|
}
|
|
3131
3134
|
dispatch(A, e) {
|
|
3132
3135
|
this.eventDispatcher.dispatchEvent(tA({
|
|
@@ -3135,27 +3138,27 @@ class Sn {
|
|
|
3135
3138
|
}, this.intersection));
|
|
3136
3139
|
}
|
|
3137
3140
|
}
|
|
3138
|
-
|
|
3139
|
-
var
|
|
3140
|
-
|
|
3141
|
+
TA = new WeakMap(), ce = new WeakMap(), Qe = new WeakMap(), CA = new WeakMap(), he = new WeakMap();
|
|
3142
|
+
var aA, J, NA, le, de, ue, fe;
|
|
3143
|
+
class Mn {
|
|
3141
3144
|
constructor() {
|
|
3142
3145
|
u(this, aA, []);
|
|
3143
3146
|
u(this, J, []);
|
|
3144
|
-
u(this,
|
|
3145
|
-
u(this,
|
|
3146
|
-
u(this,
|
|
3147
|
+
u(this, NA, new Bt());
|
|
3148
|
+
u(this, le, new li());
|
|
3149
|
+
u(this, de, (A) => {
|
|
3147
3150
|
for (let e = 0; e < g(this, J).length; e++)
|
|
3148
|
-
g(this, J)[e].dispatch("
|
|
3151
|
+
g(this, J)[e].dispatch("en3PointerDown", A);
|
|
3149
3152
|
});
|
|
3150
|
-
u(this,
|
|
3153
|
+
u(this, ue, (A) => {
|
|
3151
3154
|
for (let e = 0; e < g(this, J).length; e++)
|
|
3152
|
-
g(this, J)[e].dispatch("
|
|
3155
|
+
g(this, J)[e].dispatch("en3PointerUp", A);
|
|
3153
3156
|
});
|
|
3154
|
-
u(this,
|
|
3155
|
-
g(this,
|
|
3157
|
+
u(this, fe, (A) => {
|
|
3158
|
+
g(this, NA).x = A.clientX / w.width * 2 - 1, g(this, NA).y = -(A.clientY / w.height) * 2 + 1, w.camera && g(this, le).setFromCamera(g(this, NA), w.camera);
|
|
3156
3159
|
const e = [];
|
|
3157
3160
|
for (const o of g(this, aA)) {
|
|
3158
|
-
const B = g(this,
|
|
3161
|
+
const B = g(this, le).intersectObject(o.target);
|
|
3159
3162
|
B.length && (o.intersection = B[0], e.push(o));
|
|
3160
3163
|
}
|
|
3161
3164
|
let s = !1;
|
|
@@ -3165,38 +3168,52 @@ const lA = class lA {
|
|
|
3165
3168
|
(o) => !g(this, J).find((B) => B.object3D.uuid === o.object3D.uuid)
|
|
3166
3169
|
);
|
|
3167
3170
|
for (let o = 0; o < t.length; o++)
|
|
3168
|
-
t[o].dispatch("
|
|
3171
|
+
t[o].dispatch("en3PointerLeave", A);
|
|
3169
3172
|
for (let o = 0; o < n.length; o++)
|
|
3170
|
-
n[o].dispatch("
|
|
3173
|
+
n[o].dispatch("en3PointerEnter", A);
|
|
3171
3174
|
G(this, J, i);
|
|
3172
3175
|
for (let o = 0; o < g(this, J).length; o++)
|
|
3173
|
-
g(this, J)[o].dispatch("
|
|
3176
|
+
g(this, J)[o].dispatch("en3PointerMove", A);
|
|
3174
3177
|
});
|
|
3175
|
-
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
+
w.containerElement.addEventListener(
|
|
3179
|
+
"pointerdown",
|
|
3180
|
+
g(this, de)
|
|
3181
|
+
), w.containerElement.addEventListener("pointerup", g(this, ue)), w.containerElement.addEventListener(
|
|
3182
|
+
"pointermove",
|
|
3183
|
+
g(this, fe)
|
|
3184
|
+
);
|
|
3178
3185
|
}
|
|
3179
3186
|
destroy() {
|
|
3180
|
-
w.containerElement.removeEventListener(
|
|
3187
|
+
w.containerElement.removeEventListener(
|
|
3188
|
+
"pointerdown",
|
|
3189
|
+
g(this, de)
|
|
3190
|
+
), w.containerElement.removeEventListener(
|
|
3191
|
+
"pointerup",
|
|
3192
|
+
g(this, ue)
|
|
3193
|
+
), w.containerElement.removeEventListener(
|
|
3194
|
+
"pointermove",
|
|
3195
|
+
g(this, fe)
|
|
3196
|
+
);
|
|
3181
3197
|
}
|
|
3182
3198
|
add(A, e) {
|
|
3183
3199
|
if (g(this, aA).find((t) => t.object3D.uuid === A.uuid))
|
|
3184
3200
|
return;
|
|
3185
|
-
const s = new
|
|
3201
|
+
const s = new mn(tA({
|
|
3186
3202
|
object3D: A
|
|
3187
3203
|
}, e));
|
|
3188
3204
|
g(this, aA).push(s);
|
|
3189
3205
|
}
|
|
3190
3206
|
remove(A) {
|
|
3191
|
-
G(this, aA, g(this, aA).filter(
|
|
3207
|
+
G(this, aA, g(this, aA).filter(
|
|
3208
|
+
(e) => e.object3D.uuid !== A.uuid
|
|
3209
|
+
)), G(this, J, g(this, J).filter((e) => e.object3D.uuid !== A.uuid));
|
|
3192
3210
|
}
|
|
3193
|
-
}
|
|
3194
|
-
|
|
3195
|
-
|
|
3196
|
-
|
|
3197
|
-
class Zn {
|
|
3211
|
+
}
|
|
3212
|
+
aA = new WeakMap(), J = new WeakMap(), NA = new WeakMap(), le = new WeakMap(), de = new WeakMap(), ue = new WeakMap(), fe = new WeakMap();
|
|
3213
|
+
var IA, gA, De, it;
|
|
3214
|
+
class Vn {
|
|
3198
3215
|
constructor(A) {
|
|
3199
|
-
u(this,
|
|
3216
|
+
u(this, De);
|
|
3200
3217
|
u(this, IA, void 0);
|
|
3201
3218
|
u(this, gA, void 0);
|
|
3202
3219
|
G(this, IA, A.material), G(this, gA, A.uniforms || {}), g(this, IA).userData.uniforms = g(this, gA);
|
|
@@ -3215,7 +3232,7 @@ class Zn {
|
|
|
3215
3232
|
`), A.fragmentDeclarations && (t.fragmentShader = `
|
|
3216
3233
|
${A.fragmentDeclarations}
|
|
3217
3234
|
${t.fragmentShader}
|
|
3218
|
-
`), QA(this,
|
|
3235
|
+
`), QA(this, De, it).call(this, t, "vertex", A), QA(this, De, it).call(this, t, "fragment", A), e = (i = A.onReady) == null ? void 0 : i.call(A, this), A.log && (console.log("VERTEX SHADER: ", t.vertexShader), console.log("FRAGMENT SHADER: ", t.fragmentShader));
|
|
3219
3236
|
};
|
|
3220
3237
|
}
|
|
3221
3238
|
get material() {
|
|
@@ -3225,7 +3242,7 @@ class Zn {
|
|
|
3225
3242
|
return g(this, gA);
|
|
3226
3243
|
}
|
|
3227
3244
|
}
|
|
3228
|
-
IA = new WeakMap(), gA = new WeakMap(),
|
|
3245
|
+
IA = new WeakMap(), gA = new WeakMap(), De = new WeakSet(), it = function(A, e, s) {
|
|
3229
3246
|
const t = e === "vertex" ? "vertexChunk" : "fragmentChunk", i = e === "vertex" ? "vertexShader" : "fragmentShader";
|
|
3230
3247
|
s[t] && (s[t].replace ? A[i] = A[i].replace(
|
|
3231
3248
|
`#include <${s[t].replace}>`,
|
|
@@ -3239,21 +3256,21 @@ IA = new WeakMap(), gA = new WeakMap(), Fe = new WeakSet(), ot = function(A, e,
|
|
|
3239
3256
|
)));
|
|
3240
3257
|
};
|
|
3241
3258
|
export {
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3259
|
+
_n as En3Clip,
|
|
3260
|
+
Pn as En3ClipHelpers,
|
|
3261
|
+
Yn as En3GLTF,
|
|
3262
|
+
Tt as En3HTML,
|
|
3263
|
+
qn as En3Image,
|
|
3264
|
+
Is as En3ImageLike,
|
|
3265
|
+
Vn as En3ModifiedMaterial,
|
|
3266
|
+
Mn as En3Raycaster,
|
|
3267
|
+
Cs as En3SourceManager,
|
|
3268
|
+
Xn as En3Video,
|
|
3269
|
+
as as coverTexture,
|
|
3270
|
+
Yt as dispose,
|
|
3254
3271
|
w as en3,
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3272
|
+
un as en3GLTFLoader,
|
|
3273
|
+
On as en3LazyLoader,
|
|
3274
|
+
Wn as traverseMaterials,
|
|
3275
|
+
vn as traverseMeshes
|
|
3259
3276
|
};
|