@needle-tools/engine 4.14.0 → 4.15.0-next.f391a30
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/CHANGELOG.md +8 -0
- package/components.needle.json +1 -1
- package/dist/{gltf-progressive-BttGBXw6.umd.cjs → gltf-progressive-CMwJPwEt.umd.cjs} +1 -1
- package/dist/{gltf-progressive-Bm_6aEi4.js → gltf-progressive-CTlvpS3A.js} +1 -1
- package/dist/{gltf-progressive-T5WKTux5.min.js → gltf-progressive-DYL3SLVb.min.js} +1 -1
- package/dist/materialx-4jJLLe9Q.js +4174 -0
- package/dist/materialx-Bt9FHwco.min.js +158 -0
- package/dist/materialx-NDD0y4JY.umd.cjs +158 -0
- package/dist/{needle-engine.bundle-COL2Bar3.umd.cjs → needle-engine.bundle-C1BFRZDF.umd.cjs} +150 -140
- package/dist/{needle-engine.bundle-Z_gAD7Kg.js → needle-engine.bundle-DB4kLWO_.js} +6651 -6400
- package/dist/{needle-engine.bundle-NolzHLqO.min.js → needle-engine.bundle-DsTdfmeb.min.js} +151 -141
- package/dist/needle-engine.d.ts +345 -88
- package/dist/needle-engine.js +322 -322
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-06AXuvdv.min.js → postprocessing-BN-f4viE.min.js} +1 -1
- package/dist/{postprocessing-CPDcA21P.umd.cjs → postprocessing-DYmYOVm4.umd.cjs} +1 -1
- package/dist/{postprocessing-CI2x8Cln.js → postprocessing-De9ZpJrk.js} +1 -1
- package/dist/{three-examples-BMmNgNCN.umd.cjs → three-examples-BHqRVpO_.umd.cjs} +12 -12
- package/dist/{three-examples-CMYCd5nH.js → three-examples-C0ZCCA_K.js} +182 -192
- package/dist/{three-examples-CQl1fFZp.min.js → three-examples-DmTY8tGr.min.js} +14 -14
- package/lib/engine/api.d.ts +0 -2
- package/lib/engine/api.js +0 -2
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/debug/debug.js +1 -1
- package/lib/engine/debug/debug.js.map +1 -1
- package/lib/engine/debug/debug_spatial_console.js +1 -1
- package/lib/engine/debug/debug_spatial_console.js.map +1 -1
- package/lib/engine/engine_accessibility.d.ts +77 -0
- package/lib/engine/engine_accessibility.js +162 -0
- package/lib/engine/engine_accessibility.js.map +1 -0
- package/lib/engine/engine_context.d.ts +2 -0
- package/lib/engine/engine_context.js +8 -1
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_create_objects.js +1 -1
- package/lib/engine/engine_create_objects.js.map +1 -1
- package/lib/engine/engine_gizmos.js +1 -1
- package/lib/engine/engine_gizmos.js.map +1 -1
- package/lib/engine/engine_license.js +7 -2
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_materialpropertyblock.d.ts +90 -4
- package/lib/engine/engine_materialpropertyblock.js +97 -7
- package/lib/engine/engine_materialpropertyblock.js.map +1 -1
- package/lib/engine/engine_math.d.ts +34 -1
- package/lib/engine/engine_math.js +34 -1
- package/lib/engine/engine_math.js.map +1 -1
- package/lib/engine/engine_networking.js +1 -1
- package/lib/engine/engine_networking.js.map +1 -1
- package/lib/engine/engine_types.d.ts +2 -0
- package/lib/engine/engine_types.js +2 -0
- package/lib/engine/engine_types.js.map +1 -1
- package/lib/engine/engine_utils.js +2 -2
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/export/gltf/EXT_mesh_gpu_instancing_exporter.js.map +1 -0
- package/lib/engine/export/gltf/index.js +1 -1
- package/lib/engine/export/gltf/index.js.map +1 -1
- package/lib/engine/webcomponents/icons.js +3 -0
- package/lib/engine/webcomponents/icons.js.map +1 -1
- package/lib/engine/webcomponents/logo-element.d.ts +7 -3
- package/lib/engine/webcomponents/logo-element.js +21 -1
- package/lib/engine/webcomponents/logo-element.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +10 -7
- package/lib/engine/webcomponents/needle menu/needle-menu.js +14 -4
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-button.d.ts +37 -11
- package/lib/engine/webcomponents/needle-button.js +42 -11
- package/lib/engine/webcomponents/needle-button.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.ar-overlay.js +10 -1
- package/lib/engine/webcomponents/needle-engine.ar-overlay.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +13 -2
- package/lib/engine/webcomponents/needle-engine.js +23 -3
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine-components/Component.d.ts +1 -2
- package/lib/engine-components/Component.js +1 -3
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/DragControls.d.ts +1 -0
- package/lib/engine-components/DragControls.js +21 -0
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/NeedleMenu.d.ts +2 -0
- package/lib/engine-components/NeedleMenu.js +2 -0
- package/lib/engine-components/NeedleMenu.js.map +1 -1
- package/lib/engine-components/Networking.d.ts +28 -3
- package/lib/engine-components/Networking.js +28 -3
- package/lib/engine-components/Networking.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.d.ts +25 -2
- package/lib/engine-components/ReflectionProbe.js +46 -2
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/Skybox.js +4 -2
- package/lib/engine-components/Skybox.js.map +1 -1
- package/lib/engine-components/export/gltf/GltfExport.js +1 -1
- package/lib/engine-components/export/gltf/GltfExport.js.map +1 -1
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +2 -2
- package/lib/engine-components/export/usdz/USDZExporter.js +1 -1
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +15 -0
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +77 -0
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js +2 -2
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +1 -1
- package/lib/engine-components/ui/Button.d.ts +1 -0
- package/lib/engine-components/ui/Button.js +11 -0
- package/lib/engine-components/ui/Button.js.map +1 -1
- package/lib/engine-components/ui/Text.d.ts +1 -0
- package/lib/engine-components/ui/Text.js +11 -0
- package/lib/engine-components/ui/Text.js.map +1 -1
- package/package.json +18 -14
- package/plugins/common/buildinfo.js +46 -10
- package/plugins/common/files.js +2 -1
- package/plugins/common/license.js +144 -69
- package/plugins/common/logger.js +172 -11
- package/plugins/common/needle-engine-skill.md +175 -0
- package/plugins/common/worker.js +5 -4
- package/plugins/types/userconfig.d.ts +40 -2
- package/plugins/vite/ai.js +71 -0
- package/plugins/vite/alias.js +6 -5
- package/plugins/vite/asap.js +6 -5
- package/plugins/vite/build-pipeline.js +224 -41
- package/plugins/vite/buildinfo.js +66 -6
- package/plugins/vite/copyfiles.js +41 -12
- package/plugins/vite/custom-element-data.js +26 -16
- package/plugins/vite/defines.js +8 -5
- package/plugins/vite/dependencies.js +16 -10
- package/plugins/vite/dependency-watcher.js +35 -7
- package/plugins/vite/drop-client.js +7 -5
- package/plugins/vite/drop.js +16 -14
- package/plugins/vite/editor-connection.js +18 -16
- package/plugins/vite/imports-logger.js +12 -2
- package/plugins/vite/index.js +8 -3
- package/plugins/vite/local-files-analysis.js +789 -0
- package/plugins/vite/local-files-core.js +992 -0
- package/plugins/vite/local-files-internals.js +28 -0
- package/plugins/vite/local-files-types.d.ts +111 -0
- package/plugins/vite/local-files-utils.js +359 -0
- package/plugins/vite/local-files.js +2 -441
- package/plugins/vite/logger.client.js +45 -35
- package/plugins/vite/logger.js +6 -3
- package/plugins/vite/logging.js +129 -0
- package/plugins/vite/meta.js +18 -4
- package/plugins/vite/needle-app.js +4 -3
- package/plugins/vite/peer.js +2 -1
- package/plugins/vite/pwa.js +33 -17
- package/plugins/vite/reload.js +24 -2
- package/src/engine/api.ts +0 -3
- package/src/engine/debug/debug.ts +1 -1
- package/src/engine/debug/debug_spatial_console.ts +5 -1
- package/src/engine/engine_accessibility.ts +198 -0
- package/src/engine/engine_context.ts +10 -1
- package/src/engine/engine_create_objects.ts +1 -1
- package/src/engine/engine_gizmos.ts +9 -5
- package/src/engine/engine_license.ts +7 -2
- package/src/engine/engine_materialpropertyblock.ts +102 -11
- package/src/engine/engine_math.ts +34 -1
- package/src/engine/engine_networking.ts +1 -1
- package/src/engine/engine_types.ts +5 -0
- package/src/engine/engine_utils.ts +2 -2
- package/src/engine/export/gltf/index.ts +1 -1
- package/src/engine/webcomponents/icons.ts +3 -0
- package/src/engine/webcomponents/logo-element.ts +24 -4
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +6 -2
- package/src/engine/webcomponents/needle menu/needle-menu.ts +23 -11
- package/src/engine/webcomponents/needle-button.ts +44 -13
- package/src/engine/webcomponents/needle-engine.ar-overlay.ts +13 -2
- package/src/engine/webcomponents/needle-engine.ts +31 -8
- package/src/engine-components/Component.ts +2 -5
- package/src/engine-components/DragControls.ts +29 -4
- package/src/engine-components/NeedleMenu.ts +5 -3
- package/src/engine-components/Networking.ts +29 -4
- package/src/engine-components/ReflectionProbe.ts +52 -9
- package/src/engine-components/Skybox.ts +4 -2
- package/src/engine-components/export/gltf/GltfExport.ts +1 -1
- package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2 -2
- package/src/engine-components/export/usdz/USDZExporter.ts +1 -1
- package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +108 -32
- package/src/engine-components/export/usdz/extensions/behavior/PhysicsExtension.ts +2 -2
- package/src/engine-components/ui/Button.ts +12 -0
- package/src/engine-components/ui/Text.ts +13 -0
- package/dist/materialx-CJyQZtjt.min.js +0 -90
- package/dist/materialx-DMs1E08Z.js +0 -4636
- package/dist/materialx-DaKKOoVk.umd.cjs +0 -90
- package/lib/engine/engine_test_utils.d.ts +0 -39
- package/lib/engine/engine_test_utils.js +0 -84
- package/lib/engine/engine_test_utils.js.map +0 -1
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js.map +0 -1
- package/src/engine/engine_test_utils.ts +0 -109
- package/src/include/draco/draco_decoder.js +0 -34
- package/src/include/draco/draco_decoder.wasm +0 -0
- package/src/include/draco/draco_wasm_wrapper.js +0 -117
- package/src/include/ktx2/basis_transcoder.js +0 -19
- package/src/include/ktx2/basis_transcoder.wasm +0 -0
- package/src/include/needle/arial-msdf.json +0 -1472
- package/src/include/needle/arial.png +0 -0
- package/src/include/needle/poweredbyneedle.webp +0 -0
- /package/lib/{include/three → engine/export/gltf}/EXT_mesh_gpu_instancing_exporter.d.ts +0 -0
- /package/lib/{include/three → engine/export/gltf}/EXT_mesh_gpu_instancing_exporter.js +0 -0
- /package/src/{include/three → engine/export/gltf}/EXT_mesh_gpu_instancing_exporter.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Mesh as q, SphereGeometry as ui, Vector3 as P, MeshBasicMaterial as Qt, Node as fa, PerspectiveCamera as gs, NodeFrame as Ia, NodeBuilder as ma, GLSLNodeParser as Ea, ShaderLib as wt, UniformsUtils as gi, UniformsLib as Un, normalView as ba, defaultShaderStages as Yn, ShaderChunk as Ca, Material as en, TrianglesDrawMode as Ba, TriangleFanDrawMode as qs, TriangleStripDrawMode as Do, Matrix4 as ue, Loader as kt, LoaderUtils as tn, FileLoader as It, MeshPhysicalMaterial as Tt, Vector2 as Le, Color as Se, LinearSRGBColorSpace as Xe, SRGBColorSpace as ge, SpotLight as Ro, PointLight as zs, DirectionalLight as _o, InstancedMesh as wa, Quaternion as Te, InstancedBufferAttribute as ya, Object3D as xt, TextureLoader as di, ImageBitmapLoader as Qa, BufferAttribute as st, InterleavedBuffer as xa, LinearMipmapLinearFilter as jn, NearestMipmapLinearFilter as Mo, LinearMipmapNearestFilter as Fo, NearestMipmapNearestFilter as pi, LinearFilter as rt, NearestFilter as cs, RepeatWrapping as on, MirroredRepeatWrapping as ko, ClampToEdgeWrapping as ls, PointsMaterial as _n, LineBasicMaterial as Ft, MeshStandardMaterial as fi, DoubleSide as Ii, PropertyBinding as Lt, BufferGeometry as ut, SkinnedMesh as Lo, LineSegments as hs, Line as pt, LineLoop as Sa, Points as is, Group as nn, MathUtils as Qe, OrthographicCamera as No, Skeleton as Uo, AnimationClip as Go, Bone as Ys, InterpolateDiscrete as Po, InterpolateLinear as mi, InterleavedBufferAttribute as $t, Texture as Ks, VectorKeyframeTrack as Js, NumberKeyframeTrack as Vs, QuaternionKeyframeTrack as Ws, ColorManagement as Ve, FrontSide as Oo, Interpolant as Ta, Box3 as ds, Sphere as Ei, RGBA_S3TC_DXT1_Format as Xs, RGB_PVRTC_4BPPV1_Format as va, RGB_ETC2_Format as Ho, RGB_ETC1_Format as Da, RGBA_S3TC_DXT5_Format as Zs, RGBA_PVRTC_4BPPV1_Format as Ra, RGBA_ETC2_EAC_Format as jo, RGBA_BPTC_Format as $s, RGB_BPTC_UNSIGNED_Format as _a, RGBA_ASTC_4x4_Format as os, RGBAFormat as zt, FloatType as mt, HalfFloatType as We, UnsignedByteType as dt, CompressedCubeTexture as Ma, CompressedArrayTexture as Fa, CompressedTexture as Gn, NoColorSpace as us, RGBA_S3TC_DXT3_Format as Mi, RGB_S3TC_DXT1_Format as Fi, RGBA_ASTC_6x6_Format as ki, RGBFormat as ei, RedFormat as gn, RGFormat as Mn, UnsignedInt101111Type as qo, UnsignedInt5999Type as zo, DataTexture as ka, Data3DTexture as La, ExtrudeGeometry as Na, ShapePath as Ua, Raycaster as bi, CylinderGeometry as Ye, BoxGeometry as je, Float32BufferAttribute as Fe, OctahedronGeometry as Kn, TorusGeometry as bn, Euler as qt, Controls as Yo, PlaneGeometry as Ci, DataTextureLoader as Ko, DataUtils as dn, Vector4 as Nt, Curve as Ga, MeshPhongMaterial as Pn, MeshLambertMaterial as Pa, EquirectangularReflectionMapping as Oa, AmbientLight as Ha, Uint16BufferAttribute as ja, Matrix3 as Jo, ShapeUtils as qa, DefaultLoadingManager as za, Ray as Ya, Plane as Ka, MOUSE as fn, TOUCH as pn, Spherical as Li, ShaderMaterial as Vo, Uniform$1 as Ja, Scene as ti, WebGLRenderer as Va, CanvasTexture as Wo, REVISION as Wa, Source as Xa, InstancedBufferGeometry as Za, InstancedInterleavedBuffer as ni, WireframeGeometry as $a, Line3 as eA } from "./three-Bvk2VKbF.js";
|
|
2
|
-
class
|
|
2
|
+
class gh extends q {
|
|
3
3
|
constructor(e, t, s, n = 128) {
|
|
4
4
|
if (t <= 0 || s <= 0 || n <= 0)
|
|
5
5
|
throw new Error("GroundedSkybox height, radius, and resolution must be positive.");
|
|
@@ -431,7 +431,7 @@ rs.Panel = function(A, e, t) {
|
|
|
431
431
|
}
|
|
432
432
|
};
|
|
433
433
|
};
|
|
434
|
-
function
|
|
434
|
+
function dh(A, e = 1e-4) {
|
|
435
435
|
e = Math.max(e, Number.EPSILON);
|
|
436
436
|
const t = {}, s = A.getIndex(), n = A.getAttribute("position"), i = s ? s.count : n.count;
|
|
437
437
|
let o = 0;
|
|
@@ -2101,7 +2101,7 @@ function Hi(A, e, t) {
|
|
|
2101
2101
|
return e.targets !== void 0 ? RA(A, e.targets, t) : A;
|
|
2102
2102
|
});
|
|
2103
2103
|
}
|
|
2104
|
-
var
|
|
2104
|
+
var Th = (function() {
|
|
2105
2105
|
var A = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb", e = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb", t = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 3, 2, 0, 0, 5, 3, 1, 0, 1, 12, 1, 0, 10, 22, 2, 12, 0, 65, 0, 65, 0, 65, 0, 252, 10, 0, 0, 11, 7, 0, 65, 0, 253, 15, 26, 11]), s = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
|
|
2106
2106
|
if (typeof WebAssembly != "object")
|
|
2107
2107
|
return {
|
|
@@ -2198,7 +2198,7 @@ var Dh = (function() {
|
|
|
2198
2198
|
};
|
|
2199
2199
|
})();
|
|
2200
2200
|
const Bs = /* @__PURE__ */ new WeakMap();
|
|
2201
|
-
class
|
|
2201
|
+
class vh extends kt {
|
|
2202
2202
|
constructor(e) {
|
|
2203
2203
|
super(e), this.decoderPath = "", this.decoderConfig = {}, this.decoderBinary = null, this.decoderPending = null, this.workerLimit = 4, this.workerPool = [], this.workerNextTaskID = 1, this.workerSourceURL = "", this.defaultAttributeIDs = {
|
|
2204
2204
|
position: "POSITION",
|
|
@@ -3085,7 +3085,7 @@ function Er(A) {
|
|
|
3085
3085
|
const e = A.dataFormatDescriptor[0];
|
|
3086
3086
|
return e.colorPrimaries === jA ? e.transferFunction === qi ? ge : Xe : e.colorPrimaries === qA ? e.transferFunction === qi ? rc : ac : e.colorPrimaries === HA ? us : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), us);
|
|
3087
3087
|
}
|
|
3088
|
-
class
|
|
3088
|
+
class Dh extends Na {
|
|
3089
3089
|
constructor(e, t = {}) {
|
|
3090
3090
|
const s = t.font;
|
|
3091
3091
|
if (s === void 0)
|
|
@@ -3097,7 +3097,7 @@ class _h extends Na {
|
|
|
3097
3097
|
this.type = "TextGeometry";
|
|
3098
3098
|
}
|
|
3099
3099
|
}
|
|
3100
|
-
class
|
|
3100
|
+
class Rh extends kt {
|
|
3101
3101
|
constructor(e) {
|
|
3102
3102
|
super(e);
|
|
3103
3103
|
}
|
|
@@ -3171,7 +3171,7 @@ const Wt = new bi(), He = new P(), Ht = new P(), ye = new Te(), Ki = {
|
|
|
3171
3171
|
Y: new P(0, 1, 0),
|
|
3172
3172
|
Z: new P(0, 0, 1)
|
|
3173
3173
|
}, vs = { type: "change" }, Ji = { type: "mouseDown", mode: null }, Vi = { type: "mouseUp", mode: null }, Wi = { type: "objectChange" };
|
|
3174
|
-
class
|
|
3174
|
+
class _h extends Yo {
|
|
3175
3175
|
constructor(e, t = null) {
|
|
3176
3176
|
super(void 0, t);
|
|
3177
3177
|
const s = new mc(this);
|
|
@@ -4154,7 +4154,7 @@ var li = function(A) {
|
|
|
4154
4154
|
}, Nc = function(A, e, t, s, n) {
|
|
4155
4155
|
Ge(A, e, 101010256), Ge(A, e + 8, t), Ge(A, e + 10, t), Ge(A, e + 12, s), Ge(A, e + 16, n);
|
|
4156
4156
|
};
|
|
4157
|
-
function
|
|
4157
|
+
function Mh(A, e) {
|
|
4158
4158
|
e || (e = {});
|
|
4159
4159
|
var t = {}, s = [];
|
|
4160
4160
|
Sr(A, "", t, e);
|
|
@@ -4182,7 +4182,7 @@ function kh(A, e) {
|
|
|
4182
4182
|
}
|
|
4183
4183
|
return Nc(B, n, s.length, D, Q), B;
|
|
4184
4184
|
}
|
|
4185
|
-
class
|
|
4185
|
+
class Fh extends Ko {
|
|
4186
4186
|
constructor(e) {
|
|
4187
4187
|
super(e), this.type = We;
|
|
4188
4188
|
}
|
|
@@ -5100,11 +5100,7 @@ class Uc extends Ko {
|
|
|
5100
5100
|
return super.load(e, i, s, n);
|
|
5101
5101
|
}
|
|
5102
5102
|
}
|
|
5103
|
-
|
|
5104
|
-
__proto__: null,
|
|
5105
|
-
EXRLoader: Uc
|
|
5106
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
5107
|
-
class Gc extends Ko {
|
|
5103
|
+
class kh extends Ko {
|
|
5108
5104
|
constructor(e) {
|
|
5109
5105
|
super(e), this.type = We;
|
|
5110
5106
|
}
|
|
@@ -5250,10 +5246,6 @@ class Gc extends Ko {
|
|
|
5250
5246
|
return super.load(e, i, s, n);
|
|
5251
5247
|
}
|
|
5252
5248
|
}
|
|
5253
|
-
const Nh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5254
|
-
__proto__: null,
|
|
5255
|
-
RGBELoader: Gc
|
|
5256
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
5257
5249
|
function Tr(A, e, t) {
|
|
5258
5250
|
const s = t.length - A - 1;
|
|
5259
5251
|
if (e >= t[s])
|
|
@@ -5265,7 +5257,7 @@ function Tr(A, e, t) {
|
|
|
5265
5257
|
e < t[o] ? i = o : n = o, o = Math.floor((n + i) / 2);
|
|
5266
5258
|
return o;
|
|
5267
5259
|
}
|
|
5268
|
-
function
|
|
5260
|
+
function Uc(A, e, t, s) {
|
|
5269
5261
|
const n = [], i = [], o = [];
|
|
5270
5262
|
n[0] = 1;
|
|
5271
5263
|
for (let r = 1; r <= t; ++r) {
|
|
@@ -5279,15 +5271,15 @@ function Pc(A, e, t, s) {
|
|
|
5279
5271
|
}
|
|
5280
5272
|
return n;
|
|
5281
5273
|
}
|
|
5282
|
-
function
|
|
5283
|
-
const n = Tr(A, s, e), i =
|
|
5274
|
+
function Gc(A, e, t, s) {
|
|
5275
|
+
const n = Tr(A, s, e), i = Uc(n, s, A, e), o = new Nt(0, 0, 0, 0);
|
|
5284
5276
|
for (let r = 0; r <= A; ++r) {
|
|
5285
5277
|
const a = t[n - A + r], c = i[r], l = a.w * c;
|
|
5286
5278
|
o.x += a.x * l, o.y += a.y * l, o.z += a.z * l, o.w += a.w * c;
|
|
5287
5279
|
}
|
|
5288
5280
|
return o;
|
|
5289
5281
|
}
|
|
5290
|
-
function
|
|
5282
|
+
function Pc(A, e, t, s, n) {
|
|
5291
5283
|
const i = [];
|
|
5292
5284
|
for (let h = 0; h <= t; ++h)
|
|
5293
5285
|
i[h] = 0;
|
|
@@ -5338,8 +5330,8 @@ function Hc(A, e, t, s, n) {
|
|
|
5338
5330
|
}
|
|
5339
5331
|
return o;
|
|
5340
5332
|
}
|
|
5341
|
-
function
|
|
5342
|
-
const i = n < A ? n : A, o = [], r = Tr(A, s, e), a =
|
|
5333
|
+
function Oc(A, e, t, s, n) {
|
|
5334
|
+
const i = n < A ? n : A, o = [], r = Tr(A, s, e), a = Pc(r, s, A, i, e), c = [];
|
|
5343
5335
|
for (let l = 0; l < t.length; ++l) {
|
|
5344
5336
|
const h = t[l].clone(), g = h.w;
|
|
5345
5337
|
h.x *= g, h.y *= g, h.z *= g, c[l] = h;
|
|
@@ -5354,7 +5346,7 @@ function jc(A, e, t, s, n) {
|
|
|
5354
5346
|
o[l] = new Nt(0, 0, 0);
|
|
5355
5347
|
return o;
|
|
5356
5348
|
}
|
|
5357
|
-
function
|
|
5349
|
+
function Hc(A, e) {
|
|
5358
5350
|
let t = 1;
|
|
5359
5351
|
for (let n = 2; n <= A; ++n)
|
|
5360
5352
|
t *= n;
|
|
@@ -5365,7 +5357,7 @@ function qc(A, e) {
|
|
|
5365
5357
|
s *= n;
|
|
5366
5358
|
return t / s;
|
|
5367
5359
|
}
|
|
5368
|
-
function
|
|
5360
|
+
function jc(A) {
|
|
5369
5361
|
const e = A.length, t = [], s = [];
|
|
5370
5362
|
for (let i = 0; i < e; ++i) {
|
|
5371
5363
|
const o = A[i];
|
|
@@ -5375,16 +5367,16 @@ function zc(A) {
|
|
|
5375
5367
|
for (let i = 0; i < e; ++i) {
|
|
5376
5368
|
const o = t[i].clone();
|
|
5377
5369
|
for (let r = 1; r <= i; ++r)
|
|
5378
|
-
o.sub(n[i - r].clone().multiplyScalar(
|
|
5370
|
+
o.sub(n[i - r].clone().multiplyScalar(Hc(i, r) * s[r]));
|
|
5379
5371
|
n[i] = o.divideScalar(s[0]);
|
|
5380
5372
|
}
|
|
5381
5373
|
return n;
|
|
5382
5374
|
}
|
|
5383
|
-
function
|
|
5384
|
-
const i =
|
|
5385
|
-
return
|
|
5375
|
+
function qc(A, e, t, s, n) {
|
|
5376
|
+
const i = Oc(A, e, t, s, n);
|
|
5377
|
+
return jc(i);
|
|
5386
5378
|
}
|
|
5387
|
-
class
|
|
5379
|
+
class zc extends Ga {
|
|
5388
5380
|
constructor(e, t, s, n, i) {
|
|
5389
5381
|
super(), this.degree = e, this.knots = t, this.controlPoints = [], this.startKnot = n || 0, this.endKnot = i || this.knots.length - 1;
|
|
5390
5382
|
for (let o = 0; o < s.length; ++o) {
|
|
@@ -5393,16 +5385,16 @@ class Kc extends Ga {
|
|
|
5393
5385
|
}
|
|
5394
5386
|
}
|
|
5395
5387
|
getPoint(e, t = new P()) {
|
|
5396
|
-
const s = t, n = this.knots[this.startKnot] + e * (this.knots[this.endKnot] - this.knots[this.startKnot]), i =
|
|
5388
|
+
const s = t, n = this.knots[this.startKnot] + e * (this.knots[this.endKnot] - this.knots[this.startKnot]), i = Gc(this.degree, this.knots, this.controlPoints, n);
|
|
5397
5389
|
return i.w !== 1 && i.divideScalar(i.w), s.set(i.x, i.y, i.z);
|
|
5398
5390
|
}
|
|
5399
5391
|
getTangent(e, t = new P()) {
|
|
5400
|
-
const s = t, n = this.knots[0] + e * (this.knots[this.knots.length - 1] - this.knots[0]), i =
|
|
5392
|
+
const s = t, n = this.knots[0] + e * (this.knots[this.knots.length - 1] - this.knots[0]), i = qc(this.degree, this.knots, this.controlPoints, n, 1);
|
|
5401
5393
|
return s.copy(i[1]).normalize(), s;
|
|
5402
5394
|
}
|
|
5403
5395
|
}
|
|
5404
5396
|
let re, De, ze;
|
|
5405
|
-
class
|
|
5397
|
+
class Lh extends kt {
|
|
5406
5398
|
constructor(e) {
|
|
5407
5399
|
super(e);
|
|
5408
5400
|
}
|
|
@@ -5417,30 +5409,30 @@ class Uh extends kt {
|
|
|
5417
5409
|
}, s, n);
|
|
5418
5410
|
}
|
|
5419
5411
|
parse(e, t) {
|
|
5420
|
-
if (
|
|
5421
|
-
re = new
|
|
5412
|
+
if (Xc(e))
|
|
5413
|
+
re = new Wc().parse(e);
|
|
5422
5414
|
else {
|
|
5423
5415
|
const n = Rr(e);
|
|
5424
|
-
if (!
|
|
5416
|
+
if (!Zc(n))
|
|
5425
5417
|
throw new Error("THREE.FBXLoader: Unknown format.");
|
|
5426
5418
|
if (ao(n) < 7e3)
|
|
5427
5419
|
throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: " + ao(n));
|
|
5428
|
-
re = new
|
|
5420
|
+
re = new Vc().parse(n);
|
|
5429
5421
|
}
|
|
5430
5422
|
const s = new di(this.manager).setPath(this.resourcePath || t).setCrossOrigin(this.crossOrigin);
|
|
5431
|
-
return new
|
|
5423
|
+
return new Yc(s, this.manager).parse(re);
|
|
5432
5424
|
}
|
|
5433
5425
|
getFbxTree() {
|
|
5434
5426
|
return re;
|
|
5435
5427
|
}
|
|
5436
5428
|
}
|
|
5437
|
-
class
|
|
5429
|
+
class Yc {
|
|
5438
5430
|
constructor(e, t) {
|
|
5439
5431
|
this.textureLoader = e, this.manager = t;
|
|
5440
5432
|
}
|
|
5441
5433
|
parse() {
|
|
5442
5434
|
De = this.parseConnections();
|
|
5443
|
-
const e = this.parseImages(), t = this.parseTextures(e), s = this.parseMaterials(t), n = this.parseDeformers(), i = new
|
|
5435
|
+
const e = this.parseImages(), t = this.parseTextures(e), s = this.parseMaterials(t), n = this.parseDeformers(), i = new Kc().parse(n);
|
|
5444
5436
|
return this.parseScene(n, i, s), ze;
|
|
5445
5437
|
}
|
|
5446
5438
|
// Parses FBXTree.Connections which holds parent-child connections between objects (e.g. material -> texture, model->geometry )
|
|
@@ -5729,7 +5721,7 @@ class Jc {
|
|
|
5729
5721
|
}
|
|
5730
5722
|
a.isSkinnedMesh && (a.computeBoundingBox(), a.computeBoundingSphere(), a.boundingBox.expandByScalar(3), a.boundingSphere.radius *= 3);
|
|
5731
5723
|
});
|
|
5732
|
-
const r = new
|
|
5724
|
+
const r = new Jc().parse();
|
|
5733
5725
|
ze.children.length === 1 && ze.children[0].isGroup && (ze.children[0].animations = r, ze = ze.children[0]), ze.animations = r;
|
|
5734
5726
|
}
|
|
5735
5727
|
// parse nodes in FBXTree.Objects.Model
|
|
@@ -5944,7 +5936,7 @@ class Jc {
|
|
|
5944
5936
|
}
|
|
5945
5937
|
}
|
|
5946
5938
|
}
|
|
5947
|
-
class
|
|
5939
|
+
class Kc {
|
|
5948
5940
|
constructor() {
|
|
5949
5941
|
this.negativeMaterialIndices = !1;
|
|
5950
5942
|
}
|
|
@@ -6231,11 +6223,11 @@ class Vc {
|
|
|
6231
6223
|
for (let h = 0; h < s; ++h)
|
|
6232
6224
|
i.push(i[h]);
|
|
6233
6225
|
}
|
|
6234
|
-
const l = new
|
|
6226
|
+
const l = new zc(s, n, i, r, a).getPoints(i.length * 12);
|
|
6235
6227
|
return new ut().setFromPoints(l);
|
|
6236
6228
|
}
|
|
6237
6229
|
}
|
|
6238
|
-
class
|
|
6230
|
+
class Jc {
|
|
6239
6231
|
// take raw animation clips and turn them into three.js animation clips
|
|
6240
6232
|
parse() {
|
|
6241
6233
|
const e = [], t = this.parseClips();
|
|
@@ -6279,7 +6271,7 @@ class Wc {
|
|
|
6279
6271
|
for (const s in t) {
|
|
6280
6272
|
const n = {
|
|
6281
6273
|
id: t[s].id,
|
|
6282
|
-
times: t[s].KeyTime.a.map(
|
|
6274
|
+
times: t[s].KeyTime.a.map($c),
|
|
6283
6275
|
values: t[s].KeyValueFloat.a
|
|
6284
6276
|
}, i = De.get(n.id);
|
|
6285
6277
|
if (i !== void 0) {
|
|
@@ -6493,7 +6485,7 @@ class Wc {
|
|
|
6493
6485
|
return [i, o];
|
|
6494
6486
|
}
|
|
6495
6487
|
}
|
|
6496
|
-
class
|
|
6488
|
+
class Vc {
|
|
6497
6489
|
getPrevNode() {
|
|
6498
6490
|
return this.nodeStack[this.currentIndent - 2];
|
|
6499
6491
|
}
|
|
@@ -6547,7 +6539,7 @@ class Xc {
|
|
|
6547
6539
|
let h = i.split(",").slice(3);
|
|
6548
6540
|
h = h.map(function(g) {
|
|
6549
6541
|
return g.trim().replace(/^"/, "");
|
|
6550
|
-
}), n = "connections", i = [c, l],
|
|
6542
|
+
}), n = "connections", i = [c, l], tl(i, h), o[n] === void 0 && (o[n] = []);
|
|
6551
6543
|
}
|
|
6552
6544
|
n === "Node" && (o.id = i), n in o && Array.isArray(o[n]) ? o[n].push(i) : n !== "a" ? o[n] = i : o.a = i, this.setCurrentProp(o, n), n === "a" && i.slice(-1) !== "," && (o.a = ks(i));
|
|
6553
6545
|
}
|
|
@@ -6588,7 +6580,7 @@ class Xc {
|
|
|
6588
6580
|
}, this.setCurrentProp(this.getPrevNode(), i);
|
|
6589
6581
|
}
|
|
6590
6582
|
}
|
|
6591
|
-
class
|
|
6583
|
+
class Wc {
|
|
6592
6584
|
parse(e) {
|
|
6593
6585
|
const t = new ro(e);
|
|
6594
6586
|
t.skip(23);
|
|
@@ -6817,11 +6809,11 @@ class vr {
|
|
|
6817
6809
|
this[e] = t;
|
|
6818
6810
|
}
|
|
6819
6811
|
}
|
|
6820
|
-
function
|
|
6812
|
+
function Xc(A) {
|
|
6821
6813
|
const e = "Kaydara FBX Binary \0";
|
|
6822
6814
|
return A.byteLength >= e.length && e === Rr(A, 0, e.length);
|
|
6823
6815
|
}
|
|
6824
|
-
function
|
|
6816
|
+
function Zc(A) {
|
|
6825
6817
|
const e = ["K", "a", "y", "d", "a", "r", "a", "\\", "F", "B", "X", "\\", "B", "i", "n", "a", "r", "y", "\\", "\\"];
|
|
6826
6818
|
let t = 0;
|
|
6827
6819
|
function s(n) {
|
|
@@ -6839,10 +6831,10 @@ function ao(A) {
|
|
|
6839
6831
|
return parseInt(t[1]);
|
|
6840
6832
|
throw new Error("THREE.FBXLoader: Cannot find the version number for the file given.");
|
|
6841
6833
|
}
|
|
6842
|
-
function
|
|
6834
|
+
function $c(A) {
|
|
6843
6835
|
return A / 46186158e3;
|
|
6844
6836
|
}
|
|
6845
|
-
const
|
|
6837
|
+
const el = [];
|
|
6846
6838
|
function Xn(A, e, t, s) {
|
|
6847
6839
|
let n;
|
|
6848
6840
|
switch (s.mappingType) {
|
|
@@ -6863,7 +6855,7 @@ function Xn(A, e, t, s) {
|
|
|
6863
6855
|
}
|
|
6864
6856
|
s.referenceType === "IndexToDirect" && (n = s.indices[n]);
|
|
6865
6857
|
const i = n * s.dataSize, o = i + s.dataSize;
|
|
6866
|
-
return
|
|
6858
|
+
return nl(el, s.buffer, i, o);
|
|
6867
6859
|
}
|
|
6868
6860
|
const Fs = new qt(), ln = new P();
|
|
6869
6861
|
function Dr(A) {
|
|
@@ -6928,16 +6920,16 @@ function ks(A) {
|
|
|
6928
6920
|
function Rr(A, e, t) {
|
|
6929
6921
|
return e === void 0 && (e = 0), t === void 0 && (t = A.byteLength), new TextDecoder().decode(new Uint8Array(A, e, t));
|
|
6930
6922
|
}
|
|
6931
|
-
function
|
|
6923
|
+
function tl(A, e) {
|
|
6932
6924
|
for (let t = 0, s = A.length, n = e.length; t < n; t++, s++)
|
|
6933
6925
|
A[s] = e[t];
|
|
6934
6926
|
}
|
|
6935
|
-
function
|
|
6927
|
+
function nl(A, e, t, s) {
|
|
6936
6928
|
for (let n = t, i = 0; n < s; n++, i++)
|
|
6937
6929
|
A[i] = e[n];
|
|
6938
6930
|
return A;
|
|
6939
6931
|
}
|
|
6940
|
-
class
|
|
6932
|
+
class sl extends kt {
|
|
6941
6933
|
constructor(e) {
|
|
6942
6934
|
super(e);
|
|
6943
6935
|
}
|
|
@@ -6999,11 +6991,11 @@ class ol extends kt {
|
|
|
6999
6991
|
} else
|
|
7000
6992
|
n[h] = g;
|
|
7001
6993
|
}
|
|
7002
|
-
const r = new
|
|
6994
|
+
const r = new il(this.resourcePath || t, this.materialOptions);
|
|
7003
6995
|
return r.setCrossOrigin(this.crossOrigin), r.setManager(this.manager), r.setMaterials(o), r;
|
|
7004
6996
|
}
|
|
7005
6997
|
}
|
|
7006
|
-
class
|
|
6998
|
+
class il {
|
|
7007
6999
|
constructor(e = "", t = {}) {
|
|
7008
7000
|
this.baseUrl = e, this.options = t, this.materialsInfo = {}, this.materials = {}, this.materialsArray = [], this.nameLookup = {}, this.crossOrigin = "anonymous", this.side = this.options.side !== void 0 ? this.options.side : Oo, this.wrap = this.options.wrap !== void 0 ? this.options.wrap : on;
|
|
7009
7001
|
}
|
|
@@ -7129,8 +7121,8 @@ class rl {
|
|
|
7129
7121
|
return t !== void 0 && (a.mapping = t), a;
|
|
7130
7122
|
}
|
|
7131
7123
|
}
|
|
7132
|
-
const
|
|
7133
|
-
function
|
|
7124
|
+
const ol = /^[og]\s*(.+)?/, rl = /^mtllib /, al = /^usemtl /, Al = /^usemap /, Ao = /\s+/, co = new P(), Ls = new P(), lo = new P(), ho = new P(), lt = new P(), Zn = new Se();
|
|
7125
|
+
function cl() {
|
|
7134
7126
|
const A = {
|
|
7135
7127
|
objects: [],
|
|
7136
7128
|
object: {},
|
|
@@ -7290,9 +7282,9 @@ function hl() {
|
|
|
7290
7282
|
};
|
|
7291
7283
|
return A.startObject("", !1), A;
|
|
7292
7284
|
}
|
|
7293
|
-
class
|
|
7285
|
+
class Nh extends kt {
|
|
7294
7286
|
constructor(e) {
|
|
7295
|
-
super(e), this.materials = null, this.materialsLoader = new
|
|
7287
|
+
super(e), this.materials = null, this.materialsLoader = new sl(e);
|
|
7296
7288
|
}
|
|
7297
7289
|
load(e, t, s, n) {
|
|
7298
7290
|
const i = this, o = new It(this.manager);
|
|
@@ -7325,7 +7317,7 @@ class Gh extends kt {
|
|
|
7325
7317
|
return this.materials = e, this;
|
|
7326
7318
|
}
|
|
7327
7319
|
parse(e, t = !1) {
|
|
7328
|
-
const s = new
|
|
7320
|
+
const s = new cl();
|
|
7329
7321
|
e.indexOf(`\r
|
|
7330
7322
|
`) !== -1 && (e = e.replace(/\r\n/g, `
|
|
7331
7323
|
`)), e.indexOf(`\\
|
|
@@ -7406,14 +7398,14 @@ class Gh extends kt {
|
|
|
7406
7398
|
} else if (c === "p") {
|
|
7407
7399
|
const h = a.slice(1).trim().split(" ");
|
|
7408
7400
|
s.addPointGeometry(h);
|
|
7409
|
-
} else if ((i =
|
|
7401
|
+
} else if ((i = ol.exec(a)) !== null) {
|
|
7410
7402
|
const l = (" " + i[0].slice(1).trim()).slice(1);
|
|
7411
7403
|
s.startObject(l);
|
|
7412
|
-
} else if (
|
|
7404
|
+
} else if (al.test(a))
|
|
7413
7405
|
s.object.startMaterial(a.substring(7).trim(), s.materialLibraries);
|
|
7414
|
-
else if (
|
|
7406
|
+
else if (rl.test(a))
|
|
7415
7407
|
s.materialLibraries.push(a.substring(7).trim());
|
|
7416
|
-
else if (
|
|
7408
|
+
else if (Al.test(a))
|
|
7417
7409
|
console.warn('THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.');
|
|
7418
7410
|
else if (c === "s") {
|
|
7419
7411
|
if (i = a.split(" "), i.length > 1) {
|
|
@@ -7474,7 +7466,7 @@ class Gh extends kt {
|
|
|
7474
7466
|
return t;
|
|
7475
7467
|
}
|
|
7476
7468
|
}
|
|
7477
|
-
const uo = { type: "change" }, xi = { type: "start" }, _r = { type: "end" },
|
|
7469
|
+
const uo = { type: "change" }, xi = { type: "start" }, _r = { type: "end" }, ll = { type: "endMovement" }, $n = new Ya(), go = new Ka(), hl = Math.cos(70 * Qe.DEG2RAD), Me = new P();
|
|
7478
7470
|
new P();
|
|
7479
7471
|
const Ke = 2 * Math.PI, de = {
|
|
7480
7472
|
NONE: -1,
|
|
@@ -7486,9 +7478,9 @@ const Ke = 2 * Math.PI, de = {
|
|
|
7486
7478
|
TOUCH_DOLLY_PAN: 5,
|
|
7487
7479
|
TOUCH_DOLLY_ROTATE: 6
|
|
7488
7480
|
}, Xt = 1e-6;
|
|
7489
|
-
let
|
|
7481
|
+
let Uh = class extends Yo {
|
|
7490
7482
|
constructor(e, t = null) {
|
|
7491
|
-
super(e, t), this.state = de.NONE, this.enabled = !0, this.target = new P(), this.cursor = new P(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: fn.ROTATE, MIDDLE: fn.DOLLY, RIGHT: fn.PAN }, this.touches = { ONE: pn.ROTATE, TWO: pn.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new P(), this._lastQuaternion = new Te(), this._lastTargetPosition = new P(), this._quat = new Te().setFromUnitVectors(e.up, new P(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new Li(), this._sphericalDelta = new Li(), this._scale = 1, this._currentScale = 1, this._panOffset = new P(), this._rotateStart = new Le(), this._rotateEnd = new Le(), this._rotateDelta = new Le(), this._panStart = new Le(), this._panEnd = new Le(), this._panDelta = new Le(), this._dollyStart = new Le(), this._dollyEnd = new Le(), this._dollyDelta = new Le(), this._dollyDirection = new P(), this._mouse = new Le(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._lastIsDamping = !1, this._isDamping = !1, this._onPointerMove =
|
|
7483
|
+
super(e, t), this.state = de.NONE, this.enabled = !0, this.target = new P(), this.cursor = new P(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: fn.ROTATE, MIDDLE: fn.DOLLY, RIGHT: fn.PAN }, this.touches = { ONE: pn.ROTATE, TWO: pn.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new P(), this._lastQuaternion = new Te(), this._lastTargetPosition = new P(), this._quat = new Te().setFromUnitVectors(e.up, new P(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new Li(), this._sphericalDelta = new Li(), this._scale = 1, this._currentScale = 1, this._panOffset = new P(), this._rotateStart = new Le(), this._rotateEnd = new Le(), this._rotateDelta = new Le(), this._panStart = new Le(), this._panEnd = new Le(), this._panDelta = new Le(), this._dollyStart = new Le(), this._dollyEnd = new Le(), this._dollyDelta = new Le(), this._dollyDirection = new P(), this._mouse = new Le(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._lastIsDamping = !1, this._isDamping = !1, this._onPointerMove = gl.bind(this), this._onPointerDown = ul.bind(this), this._onPointerUp = dl.bind(this), this._onContextMenu = Cl.bind(this), this._onMouseWheel = Il.bind(this), this._onKeyDown = ml.bind(this), this._onTouchStart = El.bind(this), this._onTouchMove = bl.bind(this), this._onMouseDown = pl.bind(this), this._onMouseMove = fl.bind(this), this._interceptControlDown = Bl.bind(this), this._interceptControlUp = wl.bind(this), this.domElement !== null && this.connect(), this.update();
|
|
7492
7484
|
}
|
|
7493
7485
|
connect() {
|
|
7494
7486
|
this.domElement.addEventListener("pointerdown", this._onPointerDown), this.domElement.addEventListener("pointercancel", this._onPointerUp), this.domElement.addEventListener("contextmenu", this._onContextMenu), this.domElement.addEventListener("wheel", this._onMouseWheel, { passive: !1 }), this.domElement.getRootNode().addEventListener("keydown", this._interceptControlDown, { passive: !0, capture: !0 }), this.domElement.style.touchAction = "none";
|
|
@@ -7549,12 +7541,12 @@ let Ph = class extends Yo {
|
|
|
7549
7541
|
c.unproject(this.object), this.object.position.sub(c).add(r), this.object.updateMatrixWorld(), o = Me.length();
|
|
7550
7542
|
} else
|
|
7551
7543
|
console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."), this.zoomToCursor = !1;
|
|
7552
|
-
o !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position) : ($n.origin.copy(this.object.position), $n.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot($n.direction)) <
|
|
7544
|
+
o !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position) : ($n.origin.copy(this.object.position), $n.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot($n.direction)) < hl ? this.object.lookAt(this.target) : (go.setFromNormalAndCoplanarPoint(this.object.up, this.target), $n.intersectPlane(go, this.target))));
|
|
7553
7545
|
} else if (this.object.isOrthographicCamera) {
|
|
7554
7546
|
const o = this.object.zoom;
|
|
7555
7547
|
this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)), Math.abs(o - this.object.zoom) > Xt && (this.object.updateProjectionMatrix(), i = !0);
|
|
7556
7548
|
}
|
|
7557
|
-
return this._scale = 1, i || this._lastPosition.distanceToSquared(this.object.position) > Xt || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > Xt || this._lastTargetPosition.distanceToSquared(this.target) > Xt ? (this.dispatchEvent(uo), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), this._lastIsDamping = !0, this._isDamping = !0, !0) : (this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), this.state === de.NONE && (this._lastIsDamping = this._isDamping, this._isDamping = !1), this._lastIsDamping && !this._isDamping && this.state === de.NONE && (this._isDamping = !1, this._lastIsDamping = !1, this.dispatchEvent(
|
|
7549
|
+
return this._scale = 1, i || this._lastPosition.distanceToSquared(this.object.position) > Xt || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > Xt || this._lastTargetPosition.distanceToSquared(this.target) > Xt ? (this.dispatchEvent(uo), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), this._lastIsDamping = !0, this._isDamping = !0, !0) : (this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), this.state === de.NONE && (this._lastIsDamping = this._isDamping, this._isDamping = !1), this._lastIsDamping && !this._isDamping && this.state === de.NONE && (this._isDamping = !1, this._lastIsDamping = !1, this.dispatchEvent(ll)), this._performCursorZoom = !1, !1);
|
|
7558
7550
|
}
|
|
7559
7551
|
_getAutoRotationAngle(e) {
|
|
7560
7552
|
return e !== null ? Ke / 60 * this.autoRotateSpeed * e : Ke / 60 / 60 * this.autoRotateSpeed;
|
|
@@ -7745,13 +7737,13 @@ let Ph = class extends Yo {
|
|
|
7745
7737
|
return e.ctrlKey && !this._controlActive && (s.deltaY *= 10), s;
|
|
7746
7738
|
}
|
|
7747
7739
|
};
|
|
7748
|
-
function
|
|
7740
|
+
function ul(A) {
|
|
7749
7741
|
this.enabled !== !1 && (this._pointers.length === 0 && (this.domElement.setPointerCapture(A.pointerId), this.domElement.addEventListener("pointermove", this._onPointerMove), window.addEventListener("pointerup", this._onPointerUp)), !this._isTrackingPointer(A) && (this._addPointer(A), A.pointerType === "touch" ? this._onTouchStart(A) : this._onMouseDown(A)));
|
|
7750
7742
|
}
|
|
7751
|
-
function
|
|
7743
|
+
function gl(A) {
|
|
7752
7744
|
this.enabled !== !1 && (A.pointerType === "touch" ? this._onTouchMove(A) : this._onMouseMove(A));
|
|
7753
7745
|
}
|
|
7754
|
-
function
|
|
7746
|
+
function dl(A) {
|
|
7755
7747
|
switch (this._removePointer(A), this._pointers.length) {
|
|
7756
7748
|
case 0:
|
|
7757
7749
|
this.domElement.releasePointerCapture(A.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), window.removeEventListener("pointerup", this._onPointerUp), this.dispatchEvent(_r), this.state = de.NONE;
|
|
@@ -7762,7 +7754,7 @@ function fl(A) {
|
|
|
7762
7754
|
break;
|
|
7763
7755
|
}
|
|
7764
7756
|
}
|
|
7765
|
-
function
|
|
7757
|
+
function pl(A) {
|
|
7766
7758
|
let e;
|
|
7767
7759
|
switch (A.button) {
|
|
7768
7760
|
case 0:
|
|
@@ -7805,7 +7797,7 @@ function Il(A) {
|
|
|
7805
7797
|
}
|
|
7806
7798
|
this.state !== de.NONE && this.dispatchEvent(xi);
|
|
7807
7799
|
}
|
|
7808
|
-
function
|
|
7800
|
+
function fl(A) {
|
|
7809
7801
|
switch (this.state) {
|
|
7810
7802
|
case de.ROTATE:
|
|
7811
7803
|
if (this.enableRotate === !1) return;
|
|
@@ -7821,13 +7813,13 @@ function ml(A) {
|
|
|
7821
7813
|
break;
|
|
7822
7814
|
}
|
|
7823
7815
|
}
|
|
7824
|
-
function
|
|
7816
|
+
function Il(A) {
|
|
7825
7817
|
this.enabled === !1 || this.enableZoom === !1 || this.state !== de.NONE || (A.preventDefault(), this.dispatchEvent(xi), this._handleMouseWheel(this._customWheelEvent(A)), this.dispatchEvent(_r));
|
|
7826
7818
|
}
|
|
7827
|
-
function
|
|
7819
|
+
function ml(A) {
|
|
7828
7820
|
this.enabled === !1 || this.enablePan === !1 || this._handleKeyDown(A);
|
|
7829
7821
|
}
|
|
7830
|
-
function
|
|
7822
|
+
function El(A) {
|
|
7831
7823
|
switch (this._trackPointer(A), this._pointers.length) {
|
|
7832
7824
|
case 1:
|
|
7833
7825
|
switch (this.touches.ONE) {
|
|
@@ -7862,7 +7854,7 @@ function Cl(A) {
|
|
|
7862
7854
|
}
|
|
7863
7855
|
this.state !== de.NONE && this.dispatchEvent(xi);
|
|
7864
7856
|
}
|
|
7865
|
-
function
|
|
7857
|
+
function bl(A) {
|
|
7866
7858
|
switch (this._trackPointer(A), this.state) {
|
|
7867
7859
|
case de.TOUCH_ROTATE:
|
|
7868
7860
|
if (this.enableRotate === !1) return;
|
|
@@ -7884,16 +7876,16 @@ function Bl(A) {
|
|
|
7884
7876
|
this.state = de.NONE;
|
|
7885
7877
|
}
|
|
7886
7878
|
}
|
|
7887
|
-
function
|
|
7879
|
+
function Cl(A) {
|
|
7888
7880
|
this.enabled !== !1 && A.preventDefault();
|
|
7889
7881
|
}
|
|
7890
|
-
function
|
|
7882
|
+
function Bl(A) {
|
|
7891
7883
|
A.key === "Control" && (this._controlActive = !0, this.domElement.getRootNode().addEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
|
|
7892
7884
|
}
|
|
7893
|
-
function
|
|
7885
|
+
function wl(A) {
|
|
7894
7886
|
A.key === "Control" && (this._controlActive = !1, this.domElement.getRootNode().removeEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
|
|
7895
7887
|
}
|
|
7896
|
-
class
|
|
7888
|
+
class Ph extends pt {
|
|
7897
7889
|
constructor(e, t = 1, s = 16, n = 2) {
|
|
7898
7890
|
const i = new ut(), o = s + n * 2, r = new Float32Array((o * 3 + 3) * 3);
|
|
7899
7891
|
i.setAttribute("position", new st(r, 3));
|
|
@@ -7917,7 +7909,7 @@ class Hh extends pt {
|
|
|
7917
7909
|
this.geometry.dispose(), this.material[0].dispose(), this.material[1].dispose();
|
|
7918
7910
|
}
|
|
7919
7911
|
}
|
|
7920
|
-
const
|
|
7912
|
+
const Oh = {
|
|
7921
7913
|
name: "HorizontalBlurShader",
|
|
7922
7914
|
uniforms: {
|
|
7923
7915
|
tDiffuse: { value: null },
|
|
@@ -7963,7 +7955,7 @@ const jh = {
|
|
|
7963
7955
|
|
|
7964
7956
|
}`
|
|
7965
7957
|
)
|
|
7966
|
-
},
|
|
7958
|
+
}, Hh = {
|
|
7967
7959
|
name: "VerticalBlurShader",
|
|
7968
7960
|
uniforms: {
|
|
7969
7961
|
tDiffuse: { value: null },
|
|
@@ -8074,33 +8066,33 @@ const po = {
|
|
|
8074
8066
|
class Mr {
|
|
8075
8067
|
constructor() {
|
|
8076
8068
|
this.pluginCallbacks = [], this.register(function(e) {
|
|
8077
|
-
return new
|
|
8069
|
+
return new Ml(e);
|
|
8078
8070
|
}), this.register(function(e) {
|
|
8079
|
-
return new
|
|
8071
|
+
return new Fl(e);
|
|
8072
|
+
}), this.register(function(e) {
|
|
8073
|
+
return new Ul(e);
|
|
8074
|
+
}), this.register(function(e) {
|
|
8075
|
+
return new Gl(e);
|
|
8080
8076
|
}), this.register(function(e) {
|
|
8081
8077
|
return new Pl(e);
|
|
8082
8078
|
}), this.register(function(e) {
|
|
8083
8079
|
return new Ol(e);
|
|
8084
8080
|
}), this.register(function(e) {
|
|
8085
|
-
return new
|
|
8081
|
+
return new kl(e);
|
|
8086
8082
|
}), this.register(function(e) {
|
|
8087
|
-
return new
|
|
8083
|
+
return new Ll(e);
|
|
8088
8084
|
}), this.register(function(e) {
|
|
8089
8085
|
return new Nl(e);
|
|
8090
8086
|
}), this.register(function(e) {
|
|
8091
|
-
return new
|
|
8087
|
+
return new Hl(e);
|
|
8092
8088
|
}), this.register(function(e) {
|
|
8093
|
-
return new
|
|
8089
|
+
return new jl(e);
|
|
8094
8090
|
}), this.register(function(e) {
|
|
8095
8091
|
return new ql(e);
|
|
8096
8092
|
}), this.register(function(e) {
|
|
8097
8093
|
return new zl(e);
|
|
8098
8094
|
}), this.register(function(e) {
|
|
8099
8095
|
return new Yl(e);
|
|
8100
|
-
}), this.register(function(e) {
|
|
8101
|
-
return new Kl(e);
|
|
8102
|
-
}), this.register(function(e) {
|
|
8103
|
-
return new Jl(e);
|
|
8104
8096
|
});
|
|
8105
8097
|
}
|
|
8106
8098
|
register(e) {
|
|
@@ -8117,7 +8109,7 @@ class Mr {
|
|
|
8117
8109
|
* @param {Object} options options
|
|
8118
8110
|
*/
|
|
8119
8111
|
parse(e, t, s, n) {
|
|
8120
|
-
const i = new
|
|
8112
|
+
const i = new _l(), o = [];
|
|
8121
8113
|
for (let r = 0, a = this.pluginCallbacks.length; r < a; r++)
|
|
8122
8114
|
o.push(this.pluginCallbacks[r](i));
|
|
8123
8115
|
i.setPlugins(o), i.write(e, t, n).catch(s);
|
|
@@ -8168,19 +8160,19 @@ const fo = {
|
|
|
8168
8160
|
position: "translation",
|
|
8169
8161
|
quaternion: "rotation",
|
|
8170
8162
|
morphTargetInfluences: "weights"
|
|
8171
|
-
},
|
|
8163
|
+
}, yl = new Se(), Io = 12, Ql = 1179937895, xl = 2, mo = 8, Sl = 1313821514, Tl = 5130562;
|
|
8172
8164
|
function Nn(A, e) {
|
|
8173
8165
|
return A.length === e.length && A.every(function(t, s) {
|
|
8174
8166
|
return t === e[s];
|
|
8175
8167
|
});
|
|
8176
8168
|
}
|
|
8177
|
-
function
|
|
8169
|
+
function vl(A) {
|
|
8178
8170
|
return new TextEncoder().encode(A).buffer;
|
|
8179
8171
|
}
|
|
8180
|
-
function
|
|
8172
|
+
function Dl(A) {
|
|
8181
8173
|
return Nn(A.elements, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
|
|
8182
8174
|
}
|
|
8183
|
-
function
|
|
8175
|
+
function Rl(A, e, t) {
|
|
8184
8176
|
const s = {
|
|
8185
8177
|
min: new Array(A.itemSize).fill(Number.POSITIVE_INFINITY),
|
|
8186
8178
|
max: new Array(A.itemSize).fill(Number.NEGATIVE_INFINITY)
|
|
@@ -8218,7 +8210,7 @@ function bo(A, e) {
|
|
|
8218
8210
|
quality: t
|
|
8219
8211
|
});
|
|
8220
8212
|
}
|
|
8221
|
-
class
|
|
8213
|
+
class _l {
|
|
8222
8214
|
constructor() {
|
|
8223
8215
|
this.plugins = [], this.options = {}, this.pending = [], this.buffers = [], this.byteOffset = 0, this.buffers = [], this.nodeMap = /* @__PURE__ */ new Map(), this.skins = [], this.extensionsUsed = {}, this.extensionsRequired = {}, this.uids = /* @__PURE__ */ new Map(), this.uid = 0, this.json = {
|
|
8224
8216
|
asset: {
|
|
@@ -8260,11 +8252,11 @@ class Fl {
|
|
|
8260
8252
|
const g = new FileReader();
|
|
8261
8253
|
g.readAsArrayBuffer(c), g.onloadend = function() {
|
|
8262
8254
|
const d = Ps(g.result), f = new DataView(new ArrayBuffer(mo));
|
|
8263
|
-
f.setUint32(0, d.byteLength, !0), f.setUint32(4,
|
|
8264
|
-
const I = Ps(
|
|
8265
|
-
m.setUint32(0, I.byteLength, !0), m.setUint32(4,
|
|
8255
|
+
f.setUint32(0, d.byteLength, !0), f.setUint32(4, Tl, !0);
|
|
8256
|
+
const I = Ps(vl(JSON.stringify(o)), 32), m = new DataView(new ArrayBuffer(mo));
|
|
8257
|
+
m.setUint32(0, I.byteLength, !0), m.setUint32(4, Sl, !0);
|
|
8266
8258
|
const C = new ArrayBuffer(Io), w = new DataView(C);
|
|
8267
|
-
w.setUint32(0,
|
|
8259
|
+
w.setUint32(0, Ql, !0), w.setUint32(4, xl, !0);
|
|
8268
8260
|
const b = Io + m.byteLength + I.byteLength + f.byteLength + d.byteLength;
|
|
8269
8261
|
w.setUint32(8, b, !0);
|
|
8270
8262
|
const B = new Blob([
|
|
@@ -8503,7 +8495,7 @@ class Fl {
|
|
|
8503
8495
|
else
|
|
8504
8496
|
throw new Error("THREE.GLTFExporter: Unsupported bufferAttribute component type: " + e.array.constructor.name);
|
|
8505
8497
|
if (s === void 0 && (s = 0), (n === void 0 || n === 1 / 0) && (n = e.count), n === 0) return null;
|
|
8506
|
-
const a =
|
|
8498
|
+
const a = Rl(e, s, n);
|
|
8507
8499
|
let c;
|
|
8508
8500
|
t !== void 0 && (c = e === t.index ? Ae.ELEMENT_ARRAY_BUFFER : Ae.ARRAY_BUFFER);
|
|
8509
8501
|
const l = this.processBufferView(e, r, s, n, c), h = {
|
|
@@ -8903,7 +8895,7 @@ class Fl {
|
|
|
8903
8895
|
const a = e.quaternion.toArray(), c = e.position.toArray(), l = e.scale.toArray();
|
|
8904
8896
|
Nn(a, [0, 0, 0, 1]) || (o.rotation = a), Nn(c, [0, 0, 0]) || (o.translation = c), Nn(l, [1, 1, 1]) || (o.scale = l);
|
|
8905
8897
|
} else
|
|
8906
|
-
e.matrixAutoUpdate && e.updateMatrix(),
|
|
8898
|
+
e.matrixAutoUpdate && e.updateMatrix(), Dl(e.matrix) === !1 && (o.matrix = e.matrix.elements);
|
|
8907
8899
|
if (e.name !== "" && (o.name = String(e.name)), this.serializeUserData(e, o), e.isMesh || e.isLine || e.isPoints) {
|
|
8908
8900
|
const a = this.processMesh(e);
|
|
8909
8901
|
a !== null && (o.mesh = a);
|
|
@@ -8980,7 +8972,7 @@ class Fl {
|
|
|
8980
8972
|
e(this.plugins[t]);
|
|
8981
8973
|
}
|
|
8982
8974
|
}
|
|
8983
|
-
class
|
|
8975
|
+
class Ml {
|
|
8984
8976
|
constructor(e) {
|
|
8985
8977
|
this.writer = e, this.name = "KHR_lights_punctual";
|
|
8986
8978
|
}
|
|
@@ -8996,7 +8988,7 @@ class kl {
|
|
|
8996
8988
|
r.push(o), t.extensions = t.extensions || {}, t.extensions[this.name] = { light: r.length - 1 };
|
|
8997
8989
|
}
|
|
8998
8990
|
}
|
|
8999
|
-
class
|
|
8991
|
+
class Fl {
|
|
9000
8992
|
constructor(e) {
|
|
9001
8993
|
this.writer = e, this.name = "KHR_materials_unlit";
|
|
9002
8994
|
}
|
|
@@ -9006,7 +8998,7 @@ class Ll {
|
|
|
9006
8998
|
t.extensions = t.extensions || {}, t.extensions[this.name] = {}, n[this.name] = !0, t.pbrMetallicRoughness.metallicFactor = 0, t.pbrMetallicRoughness.roughnessFactor = 0.9;
|
|
9007
8999
|
}
|
|
9008
9000
|
}
|
|
9009
|
-
class
|
|
9001
|
+
class kl {
|
|
9010
9002
|
constructor(e) {
|
|
9011
9003
|
this.writer = e, this.name = "KHR_materials_clearcoat";
|
|
9012
9004
|
}
|
|
@@ -9037,7 +9029,7 @@ class Nl {
|
|
|
9037
9029
|
t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9038
9030
|
}
|
|
9039
9031
|
}
|
|
9040
|
-
class
|
|
9032
|
+
class Ll {
|
|
9041
9033
|
constructor(e) {
|
|
9042
9034
|
this.writer = e, this.name = "KHR_materials_dispersion";
|
|
9043
9035
|
}
|
|
@@ -9047,7 +9039,7 @@ class Ul {
|
|
|
9047
9039
|
i.dispersion = e.dispersion, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9048
9040
|
}
|
|
9049
9041
|
}
|
|
9050
|
-
class
|
|
9042
|
+
class Nl {
|
|
9051
9043
|
constructor(e) {
|
|
9052
9044
|
this.writer = e, this.name = "KHR_materials_iridescence";
|
|
9053
9045
|
}
|
|
@@ -9071,7 +9063,7 @@ class Gl {
|
|
|
9071
9063
|
t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9072
9064
|
}
|
|
9073
9065
|
}
|
|
9074
|
-
class
|
|
9066
|
+
class Ul {
|
|
9075
9067
|
constructor(e) {
|
|
9076
9068
|
this.writer = e, this.name = "KHR_materials_transmission";
|
|
9077
9069
|
}
|
|
@@ -9088,7 +9080,7 @@ class Pl {
|
|
|
9088
9080
|
t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9089
9081
|
}
|
|
9090
9082
|
}
|
|
9091
|
-
class
|
|
9083
|
+
class Gl {
|
|
9092
9084
|
constructor(e) {
|
|
9093
9085
|
this.writer = e, this.name = "KHR_materials_volume";
|
|
9094
9086
|
}
|
|
@@ -9105,7 +9097,7 @@ class Ol {
|
|
|
9105
9097
|
e.attenuationDistance !== 1 / 0 && (i.attenuationDistance = e.attenuationDistance), i.attenuationColor = e.attenuationColor.toArray(), t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9106
9098
|
}
|
|
9107
9099
|
}
|
|
9108
|
-
class
|
|
9100
|
+
class Pl {
|
|
9109
9101
|
constructor(e) {
|
|
9110
9102
|
this.writer = e, this.name = "KHR_materials_ior";
|
|
9111
9103
|
}
|
|
@@ -9115,12 +9107,12 @@ class Hl {
|
|
|
9115
9107
|
i.ior = e.ior, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9116
9108
|
}
|
|
9117
9109
|
}
|
|
9118
|
-
class
|
|
9110
|
+
class Ol {
|
|
9119
9111
|
constructor(e) {
|
|
9120
9112
|
this.writer = e, this.name = "KHR_materials_specular";
|
|
9121
9113
|
}
|
|
9122
9114
|
writeMaterial(e, t) {
|
|
9123
|
-
if (!e.isMeshPhysicalMaterial || e.specularIntensity === 1 && e.specularColor.equals(
|
|
9115
|
+
if (!e.isMeshPhysicalMaterial || e.specularIntensity === 1 && e.specularColor.equals(yl) && !e.specularIntensityMap && !e.specularColorMap) return;
|
|
9124
9116
|
const s = this.writer, n = s.extensionsUsed, i = {};
|
|
9125
9117
|
if (e.specularIntensityMap) {
|
|
9126
9118
|
const o = {
|
|
@@ -9139,7 +9131,7 @@ class jl {
|
|
|
9139
9131
|
i.specularFactor = e.specularIntensity, i.specularColorFactor = e.specularColor.toArray(), t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9140
9132
|
}
|
|
9141
9133
|
}
|
|
9142
|
-
class
|
|
9134
|
+
class Hl {
|
|
9143
9135
|
constructor(e) {
|
|
9144
9136
|
this.writer = e, this.name = "KHR_materials_sheen";
|
|
9145
9137
|
}
|
|
@@ -9163,7 +9155,7 @@ class ql {
|
|
|
9163
9155
|
i.sheenRoughnessFactor = e.sheenRoughness, i.sheenColorFactor = e.sheenColor.toArray(), t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9164
9156
|
}
|
|
9165
9157
|
}
|
|
9166
|
-
class
|
|
9158
|
+
class jl {
|
|
9167
9159
|
constructor(e) {
|
|
9168
9160
|
this.writer = e, this.name = "KHR_materials_anisotropy";
|
|
9169
9161
|
}
|
|
@@ -9177,7 +9169,7 @@ class zl {
|
|
|
9177
9169
|
i.anisotropyStrength = e.anisotropy, i.anisotropyRotation = e.anisotropyRotation, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9178
9170
|
}
|
|
9179
9171
|
}
|
|
9180
|
-
class
|
|
9172
|
+
class ql {
|
|
9181
9173
|
constructor(e) {
|
|
9182
9174
|
this.writer = e, this.name = "KHR_materials_emissive_strength";
|
|
9183
9175
|
}
|
|
@@ -9187,7 +9179,7 @@ class Yl {
|
|
|
9187
9179
|
i.emissiveStrength = e.emissiveIntensity, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9188
9180
|
}
|
|
9189
9181
|
}
|
|
9190
|
-
class
|
|
9182
|
+
class zl {
|
|
9191
9183
|
constructor(e) {
|
|
9192
9184
|
this.writer = e, this.name = "EXT_materials_bump";
|
|
9193
9185
|
}
|
|
@@ -9204,7 +9196,7 @@ class Kl {
|
|
|
9204
9196
|
i.bumpFactor = e.bumpScale, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9205
9197
|
}
|
|
9206
9198
|
}
|
|
9207
|
-
class
|
|
9199
|
+
class Yl {
|
|
9208
9200
|
constructor(e) {
|
|
9209
9201
|
this.writer = e, this.name = "EXT_mesh_gpu_instancing";
|
|
9210
9202
|
}
|
|
@@ -9317,17 +9309,17 @@ async function kr(A) {
|
|
|
9317
9309
|
return e.json();
|
|
9318
9310
|
throw new Error(e.statusText);
|
|
9319
9311
|
}
|
|
9320
|
-
async function
|
|
9312
|
+
async function Kl(A) {
|
|
9321
9313
|
if (!A)
|
|
9322
9314
|
throw new Error("No basePath supplied");
|
|
9323
9315
|
return await kr(`${A}/profilesList.json`);
|
|
9324
9316
|
}
|
|
9325
|
-
async function
|
|
9317
|
+
async function Jl(A, e, t = null, s = !0) {
|
|
9326
9318
|
if (!A)
|
|
9327
9319
|
throw new Error("No xrInputSource supplied");
|
|
9328
9320
|
if (!e)
|
|
9329
9321
|
throw new Error("No basePath supplied");
|
|
9330
|
-
const n = await
|
|
9322
|
+
const n = await Kl(e);
|
|
9331
9323
|
let i;
|
|
9332
9324
|
if (A.profiles.some((a) => {
|
|
9333
9325
|
const c = n[a];
|
|
@@ -9360,13 +9352,13 @@ async function Wl(A, e, t = null, s = !0) {
|
|
|
9360
9352
|
}
|
|
9361
9353
|
return { profile: o, assetPath: r };
|
|
9362
9354
|
}
|
|
9363
|
-
const
|
|
9355
|
+
const Vl = {
|
|
9364
9356
|
xAxis: 0,
|
|
9365
9357
|
yAxis: 0,
|
|
9366
9358
|
button: 0,
|
|
9367
9359
|
state: ve.ComponentState.DEFAULT
|
|
9368
9360
|
};
|
|
9369
|
-
function
|
|
9361
|
+
function Wl(A = 0, e = 0) {
|
|
9370
9362
|
let t = A, s = e;
|
|
9371
9363
|
if (Math.sqrt(A * A + e * e) > 1) {
|
|
9372
9364
|
const o = Math.atan2(e, A);
|
|
@@ -9377,9 +9369,9 @@ function Zl(A = 0, e = 0) {
|
|
|
9377
9369
|
normalizedYAxis: s * 0.5 + 0.5
|
|
9378
9370
|
};
|
|
9379
9371
|
}
|
|
9380
|
-
class
|
|
9372
|
+
class Xl {
|
|
9381
9373
|
constructor(e) {
|
|
9382
|
-
this.componentProperty = e.componentProperty, this.states = e.states, this.valueNodeName = e.valueNodeName, this.valueNodeProperty = e.valueNodeProperty, this.valueNodeProperty === ve.VisualResponseProperty.TRANSFORM && (this.minNodeName = e.minNodeName, this.maxNodeName = e.maxNodeName), this.value = 0, this.updateFromComponent(
|
|
9374
|
+
this.componentProperty = e.componentProperty, this.states = e.states, this.valueNodeName = e.valueNodeName, this.valueNodeProperty = e.valueNodeProperty, this.valueNodeProperty === ve.VisualResponseProperty.TRANSFORM && (this.minNodeName = e.minNodeName, this.maxNodeName = e.maxNodeName), this.value = 0, this.updateFromComponent(Vl);
|
|
9383
9375
|
}
|
|
9384
9376
|
/**
|
|
9385
9377
|
* Computes the visual response's interpolation weight based on component state
|
|
@@ -9395,7 +9387,7 @@ class $l {
|
|
|
9395
9387
|
button: s,
|
|
9396
9388
|
state: n
|
|
9397
9389
|
}) {
|
|
9398
|
-
const { normalizedXAxis: i, normalizedYAxis: o } =
|
|
9390
|
+
const { normalizedXAxis: i, normalizedYAxis: o } = Wl(e, t);
|
|
9399
9391
|
switch (this.componentProperty) {
|
|
9400
9392
|
case ve.ComponentProperty.X_AXIS:
|
|
9401
9393
|
this.value = this.states.includes(n) ? i : 0.5;
|
|
@@ -9414,7 +9406,7 @@ class $l {
|
|
|
9414
9406
|
}
|
|
9415
9407
|
}
|
|
9416
9408
|
}
|
|
9417
|
-
class
|
|
9409
|
+
class Zl {
|
|
9418
9410
|
/**
|
|
9419
9411
|
* @param {Object} componentId - Id of the component
|
|
9420
9412
|
* @param {Object} componentDescription - Description of the component to be created
|
|
@@ -9423,7 +9415,7 @@ class eh {
|
|
|
9423
9415
|
if (!e || !t || !t.visualResponses || !t.gamepadIndices || Object.keys(t.gamepadIndices).length === 0)
|
|
9424
9416
|
throw new Error("Invalid arguments supplied");
|
|
9425
9417
|
this.id = e, this.type = t.type, this.rootNodeName = t.rootNodeName, this.touchPointNodeName = t.touchPointNodeName, this.visualResponses = {}, Object.keys(t.visualResponses).forEach((s) => {
|
|
9426
|
-
const n = new
|
|
9418
|
+
const n = new Xl(t.visualResponses[s]);
|
|
9427
9419
|
this.visualResponses[s] = n;
|
|
9428
9420
|
}), this.gamepadIndices = Object.assign({}, t.gamepadIndices), this.values = {
|
|
9429
9421
|
state: ve.ComponentState.DEFAULT,
|
|
@@ -9449,7 +9441,7 @@ class eh {
|
|
|
9449
9441
|
});
|
|
9450
9442
|
}
|
|
9451
9443
|
}
|
|
9452
|
-
class
|
|
9444
|
+
class $l {
|
|
9453
9445
|
/**
|
|
9454
9446
|
* @param {Object} xrInputSource - The XRInputSource to build the MotionController around
|
|
9455
9447
|
* @param {Object} profile - The best matched profile description for the supplied xrInputSource
|
|
@@ -9462,7 +9454,7 @@ class th {
|
|
|
9462
9454
|
throw new Error("No profile supplied");
|
|
9463
9455
|
this.xrInputSource = e, this.assetUrl = s, this.id = t.profileId, this.layoutDescription = t.layouts[e.handedness], this.components = {}, Object.keys(this.layoutDescription.components).forEach((n) => {
|
|
9464
9456
|
const i = this.layoutDescription.components[n];
|
|
9465
|
-
this.components[n] = new
|
|
9457
|
+
this.components[n] = new Zl(n, i);
|
|
9466
9458
|
}), this.updateFromGamepad();
|
|
9467
9459
|
}
|
|
9468
9460
|
get gripSpace() {
|
|
@@ -9489,8 +9481,8 @@ class th {
|
|
|
9489
9481
|
});
|
|
9490
9482
|
}
|
|
9491
9483
|
}
|
|
9492
|
-
const
|
|
9493
|
-
class
|
|
9484
|
+
const eh = "https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles", th = "generic-trigger";
|
|
9485
|
+
class nh extends xt {
|
|
9494
9486
|
constructor() {
|
|
9495
9487
|
super(), this.motionController = null, this.envMap = null;
|
|
9496
9488
|
}
|
|
@@ -9520,7 +9512,7 @@ class ih extends xt {
|
|
|
9520
9512
|
}));
|
|
9521
9513
|
}
|
|
9522
9514
|
}
|
|
9523
|
-
function
|
|
9515
|
+
function sh(A, e) {
|
|
9524
9516
|
Object.values(A.components).forEach((t) => {
|
|
9525
9517
|
const { type: s, touchPointNodeName: n, visualResponses: i } = t;
|
|
9526
9518
|
if (s === ve.ComponentType.TOUCHPAD)
|
|
@@ -9546,26 +9538,26 @@ function oh(A, e) {
|
|
|
9546
9538
|
});
|
|
9547
9539
|
}
|
|
9548
9540
|
function Co(A, e) {
|
|
9549
|
-
|
|
9541
|
+
sh(A.motionController, e), A.envMap && e.traverse((t) => {
|
|
9550
9542
|
t.isMesh && (t.material.envMap = A.envMap, t.material.needsUpdate = !0);
|
|
9551
9543
|
}), A.layers.mask != 0 && e.traverse((t) => {
|
|
9552
9544
|
t.layers.mask = A.layers.mask;
|
|
9553
9545
|
}), A.add(e);
|
|
9554
9546
|
}
|
|
9555
|
-
class
|
|
9547
|
+
class jh {
|
|
9556
9548
|
constructor(e = null, t = null) {
|
|
9557
|
-
this.gltfLoader = e, this.path =
|
|
9549
|
+
this.gltfLoader = e, this.path = eh, this._assetCache = {}, this.onLoad = t, this.gltfLoader || (this.gltfLoader = new Zo());
|
|
9558
9550
|
}
|
|
9559
9551
|
setPath(e) {
|
|
9560
9552
|
return this.path = e, this;
|
|
9561
9553
|
}
|
|
9562
9554
|
createControllerModel(e) {
|
|
9563
|
-
const t = new
|
|
9555
|
+
const t = new nh();
|
|
9564
9556
|
let s = null;
|
|
9565
9557
|
return e.addEventListener("connected", (n) => {
|
|
9566
9558
|
const i = n.data;
|
|
9567
|
-
i.targetRayMode !== "tracked-pointer" || !i.gamepad || i.hand ||
|
|
9568
|
-
t.motionController = new
|
|
9559
|
+
i.targetRayMode !== "tracked-pointer" || !i.gamepad || i.hand || Jl(i, this.path, th).then(({ profile: o, assetPath: r }) => {
|
|
9560
|
+
t.motionController = new $l(
|
|
9569
9561
|
i,
|
|
9570
9562
|
o,
|
|
9571
9563
|
r
|
|
@@ -9595,10 +9587,10 @@ class zh {
|
|
|
9595
9587
|
}), t;
|
|
9596
9588
|
}
|
|
9597
9589
|
}
|
|
9598
|
-
const
|
|
9599
|
-
class
|
|
9590
|
+
const ih = "https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles/generic-hand/";
|
|
9591
|
+
class qh {
|
|
9600
9592
|
constructor(e, t, s, n, i = null, o = null) {
|
|
9601
|
-
this.controller = t, this.handModel = e, this.bones = [], i === null && (i = new Zo(), i.setPath(s ||
|
|
9593
|
+
this.controller = t, this.handModel = e, this.bones = [], i === null && (i = new Zo(), i.setPath(s || ih)), i.load(`${n}.glb`, (r) => {
|
|
9602
9594
|
const a = r.scene.children[0];
|
|
9603
9595
|
this.handModel.add(a), a.layers.mask = this.handModel.layers.mask;
|
|
9604
9596
|
const c = a.getObjectByProperty("type", "SkinnedMesh");
|
|
@@ -10185,7 +10177,7 @@ let yt, sn;
|
|
|
10185
10177
|
function xo(A, e, t) {
|
|
10186
10178
|
return Bt.set(0, 0, -e, 1).applyMatrix4(A.projectionMatrix), Bt.multiplyScalar(1 / Bt.w), Bt.x = sn / t.width, Bt.y = sn / t.height, Bt.applyMatrix4(A.projectionMatrixInverse), Bt.multiplyScalar(1 / Bt.w), Math.abs(Math.max(Bt.x, Bt.y));
|
|
10187
10179
|
}
|
|
10188
|
-
function
|
|
10180
|
+
function oh(A, e) {
|
|
10189
10181
|
const t = A.matrixWorld, s = A.geometry, n = s.attributes.instanceStart, i = s.attributes.instanceEnd, o = Math.min(s.instanceCount, n.count);
|
|
10190
10182
|
for (let r = 0, a = o; r < a; r++) {
|
|
10191
10183
|
Pe.start.fromBufferAttribute(n, r), Pe.end.fromBufferAttribute(i, r), Pe.applyMatrix4(t);
|
|
@@ -10202,7 +10194,7 @@ function ah(A, e) {
|
|
|
10202
10194
|
});
|
|
10203
10195
|
}
|
|
10204
10196
|
}
|
|
10205
|
-
function
|
|
10197
|
+
function rh(A, e, t) {
|
|
10206
10198
|
const s = e.projectionMatrix, i = A.material.resolution, o = A.matrixWorld, r = A.geometry, a = r.attributes.instanceStart, c = r.attributes.instanceEnd, l = Math.min(r.instanceCount, a.count), h = -e.near;
|
|
10207
10199
|
yt.at(1, Ct), Ct.w = 1, Ct.applyMatrix4(e.matrixWorldInverse), Ct.applyMatrix4(s), Ct.multiplyScalar(1 / Ct.w), Ct.x *= i.x / 2, Ct.y *= i.y / 2, Ct.z = 0, Hs.copy(Ct), js.multiplyMatrices(e.matrixWorldInverse, o);
|
|
10208
10200
|
for (let g = 0, d = l; g < d; g++) {
|
|
@@ -10235,7 +10227,7 @@ function Ah(A, e, t) {
|
|
|
10235
10227
|
}
|
|
10236
10228
|
}
|
|
10237
10229
|
}
|
|
10238
|
-
class
|
|
10230
|
+
class ah extends q {
|
|
10239
10231
|
constructor(e = new Lr(), t = new Nr({ color: Math.random() * 16777215 })) {
|
|
10240
10232
|
super(e, t), this.isLineSegments2 = !0, this.type = "LineSegments2";
|
|
10241
10233
|
}
|
|
@@ -10271,14 +10263,14 @@ class ch extends q {
|
|
|
10271
10263
|
const h = Math.max(n.near, ns.distanceToPoint(yt.origin));
|
|
10272
10264
|
l = xo(n, h, a.resolution);
|
|
10273
10265
|
}
|
|
10274
|
-
ns.expandByScalar(l), yt.intersectsBox(ns) !== !1 && (s ?
|
|
10266
|
+
ns.expandByScalar(l), yt.intersectsBox(ns) !== !1 && (s ? oh(this, t) : rh(this, n, t));
|
|
10275
10267
|
}
|
|
10276
10268
|
onBeforeRender(e) {
|
|
10277
10269
|
const t = this.material.uniforms;
|
|
10278
10270
|
t && t.resolution && (e.getViewport(Os), this.material.uniforms.resolution.value.set(Os.z, Os.w));
|
|
10279
10271
|
}
|
|
10280
10272
|
}
|
|
10281
|
-
class
|
|
10273
|
+
class Ah extends Lr {
|
|
10282
10274
|
constructor() {
|
|
10283
10275
|
super(), this.isLineGeometry = !0, this.type = "LineGeometry";
|
|
10284
10276
|
}
|
|
@@ -10299,14 +10291,14 @@ class lh extends Lr {
|
|
|
10299
10291
|
return this.setPositions(t.attributes.position.array), this;
|
|
10300
10292
|
}
|
|
10301
10293
|
}
|
|
10302
|
-
class
|
|
10303
|
-
constructor(e = new
|
|
10294
|
+
class zh extends ah {
|
|
10295
|
+
constructor(e = new Ah(), t = new Nr({ color: Math.random() * 16777215 })) {
|
|
10304
10296
|
super(e, t), this.isLine2 = !0, this.type = "Line2";
|
|
10305
10297
|
}
|
|
10306
10298
|
}
|
|
10307
|
-
class
|
|
10299
|
+
class Yh extends q {
|
|
10308
10300
|
constructor(e) {
|
|
10309
|
-
const t = new
|
|
10301
|
+
const t = new ch(e), s = new Ci(t.image.width * 1e-3, t.image.height * 1e-3), n = new Qt({ map: t, toneMapped: !1, transparent: !0 });
|
|
10310
10302
|
super(s, n);
|
|
10311
10303
|
function i(o) {
|
|
10312
10304
|
n.map.dispatchDOMEvent(o);
|
|
@@ -10316,7 +10308,7 @@ class Jh extends q {
|
|
|
10316
10308
|
};
|
|
10317
10309
|
}
|
|
10318
10310
|
}
|
|
10319
|
-
class
|
|
10311
|
+
class ch extends Wo {
|
|
10320
10312
|
constructor(e) {
|
|
10321
10313
|
super(So(e)), this.dom = e, this.anisotropy = 16, this.colorSpace = ge, this.minFilter = rt, this.magFilter = rt;
|
|
10322
10314
|
const t = new MutationObserver(() => {
|
|
@@ -10325,7 +10317,7 @@ class hh extends Wo {
|
|
|
10325
10317
|
t.observe(e, s), this.observer = t;
|
|
10326
10318
|
}
|
|
10327
10319
|
dispatchDOMEvent(e) {
|
|
10328
|
-
e.data &&
|
|
10320
|
+
e.data && lh(this.dom, e.type, e.data.x, e.data.y);
|
|
10329
10321
|
}
|
|
10330
10322
|
update() {
|
|
10331
10323
|
this.image = So(this.dom), this.needsUpdate = !0, this.scheduleUpdate = null;
|
|
@@ -10437,7 +10429,7 @@ function So(A) {
|
|
|
10437
10429
|
), h = new s(l);
|
|
10438
10430
|
return l.clearRect(0, 0, c.width, c.height), r(A), c;
|
|
10439
10431
|
}
|
|
10440
|
-
function
|
|
10432
|
+
function lh(A, e, t, s) {
|
|
10441
10433
|
const n = {
|
|
10442
10434
|
clientX: t * A.offsetWidth + A.offsetLeft,
|
|
10443
10435
|
clientY: s * A.offsetHeight + A.offsetTop,
|
|
@@ -10460,7 +10452,7 @@ function uh(A, e, t, s) {
|
|
|
10460
10452
|
o(A);
|
|
10461
10453
|
}
|
|
10462
10454
|
const As = new Le(), un = { type: "", data: As }, To = new bi();
|
|
10463
|
-
class
|
|
10455
|
+
class Kh extends nn {
|
|
10464
10456
|
listenToPointerEvents(e, t) {
|
|
10465
10457
|
const s = this, n = new bi(), i = e.domElement;
|
|
10466
10458
|
function o(r) {
|
|
@@ -10495,7 +10487,7 @@ class Vh extends nn {
|
|
|
10495
10487
|
}
|
|
10496
10488
|
}
|
|
10497
10489
|
const Dn = new P(), Rn = new P(), vo = new Jo();
|
|
10498
|
-
class
|
|
10490
|
+
class Jh extends hs {
|
|
10499
10491
|
constructor(e, t = 1, s = 16711680) {
|
|
10500
10492
|
const n = new ut(), i = e.geometry.attributes.normal.count, o = new Fe(i * 2 * 3, 3);
|
|
10501
10493
|
n.setAttribute("position", o), super(n, new Ft({ color: s, toneMapped: !1 })), this.object = e, this.size = t, this.type = "VertexNormalsHelper", this.matrixAutoUpdate = !1, this.update();
|
|
@@ -10515,7 +10507,7 @@ class Wh extends hs {
|
|
|
10515
10507
|
this.geometry.dispose(), this.material.dispose();
|
|
10516
10508
|
}
|
|
10517
10509
|
}
|
|
10518
|
-
class
|
|
10510
|
+
class Vh {
|
|
10519
10511
|
constructor() {
|
|
10520
10512
|
this.isPass = !0, this.enabled = !0, this.needsSwap = !0, this.clear = !1, this.renderToScreen = !1;
|
|
10521
10513
|
}
|
|
@@ -10528,46 +10520,44 @@ class Xh {
|
|
|
10528
10520
|
}
|
|
10529
10521
|
}
|
|
10530
10522
|
new No(-1, 1, 1, -1, 0, 1);
|
|
10531
|
-
class
|
|
10523
|
+
class hh extends ut {
|
|
10532
10524
|
constructor() {
|
|
10533
10525
|
super(), this.setAttribute("position", new Fe([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)), this.setAttribute("uv", new Fe([0, 2, 0, 0, 2, 0], 2));
|
|
10534
10526
|
}
|
|
10535
10527
|
}
|
|
10536
|
-
new
|
|
10528
|
+
new hh();
|
|
10537
10529
|
export {
|
|
10538
|
-
|
|
10539
|
-
|
|
10540
|
-
Lh as
|
|
10541
|
-
Uh as FBXLoader,
|
|
10530
|
+
vh as DRACOLoader,
|
|
10531
|
+
Fh as EXRLoader,
|
|
10532
|
+
Lh as FBXLoader,
|
|
10542
10533
|
lc as Font,
|
|
10543
|
-
|
|
10534
|
+
Rh as FontLoader,
|
|
10544
10535
|
Mr as GLTFExporter,
|
|
10545
10536
|
Zo as GLTFLoader,
|
|
10546
|
-
|
|
10547
|
-
|
|
10548
|
-
|
|
10549
|
-
|
|
10537
|
+
gh as GroundedSkybox,
|
|
10538
|
+
Yh as HTMLMesh,
|
|
10539
|
+
Oh as HorizontalBlurShader,
|
|
10540
|
+
Kh as InteractiveGroup,
|
|
10550
10541
|
ft as KTX2Loader,
|
|
10551
|
-
|
|
10552
|
-
|
|
10542
|
+
zh as Line2,
|
|
10543
|
+
Ah as LineGeometry,
|
|
10553
10544
|
Nr as LineMaterial,
|
|
10554
|
-
|
|
10555
|
-
|
|
10556
|
-
|
|
10557
|
-
|
|
10558
|
-
|
|
10559
|
-
|
|
10560
|
-
Nh as RGBELoader$1,
|
|
10545
|
+
Th as MeshoptDecoder,
|
|
10546
|
+
Nh as OBJLoader,
|
|
10547
|
+
Uh as OrbitControls,
|
|
10548
|
+
Vh as Pass,
|
|
10549
|
+
Ph as PositionalAudioHelper,
|
|
10550
|
+
kh as RGBELoader,
|
|
10561
10551
|
rs as Stats,
|
|
10562
|
-
|
|
10563
|
-
|
|
10552
|
+
Dh as TextGeometry,
|
|
10553
|
+
_h as TransformControls,
|
|
10564
10554
|
Ec as TransformControlsGizmo,
|
|
10565
|
-
|
|
10566
|
-
|
|
10567
|
-
|
|
10568
|
-
|
|
10569
|
-
|
|
10555
|
+
Jh as VertexNormalsHelper,
|
|
10556
|
+
Hh as VerticalBlurShader,
|
|
10557
|
+
jh as XRControllerModelFactory,
|
|
10558
|
+
qh as XRHandMeshModel,
|
|
10559
|
+
dh as mergeVertices,
|
|
10570
10560
|
nt as nodeFrame,
|
|
10571
10561
|
io as strToU8,
|
|
10572
|
-
|
|
10562
|
+
Mh as zipSync
|
|
10573
10563
|
};
|