@terra.gl/core 0.0.1-alpha.11 → 0.0.1-alpha.13

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/dist/index.js CHANGED
@@ -2,8 +2,8 @@ var dv = Object.defineProperty;
2
2
  var fv = (a, t, e) => t in a ? dv(a, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[t] = e;
3
3
  var M = (a, t, e) => fv(a, typeof t != "symbol" ? t + "" : t, e);
4
4
  import * as It from "three";
5
- import { REVISION as Ph, TrianglesDrawMode as pv, TriangleFanDrawMode as za, TriangleStripDrawMode as Ch, Mesh as ut, Vector3 as J, Color as Le, FrontSide as $s, Plane as Eh, Matrix4 as Me, Vector4 as an, PerspectiveCamera as Tr, WebGLRenderTarget as mv, UniformsUtils as Ns, UniformsLib as Bs, ShaderMaterial as rl, MOUSE as Qn, TOUCH as qn, Spherical as Nu, Quaternion as tn, OrthographicCamera as Ii, Vector2 as Ie, Ray as gv, Loader as il, LoaderUtils as Nr, FileLoader as nr, MeshPhysicalMaterial as vn, SpotLight as Vh, PointLight as Da, DirectionalLight as js, InstancedMesh as sl, InstancedBufferAttribute as Oa, Object3D as rn, TextureLoader as eo, ImageBitmapLoader as yv, BufferAttribute as Yt, InterleavedBuffer as vv, InterleavedBufferAttribute as br, LinearMipmapLinearFilter as ol, NearestMipmapLinearFilter as wv, LinearMipmapNearestFilter as xv, NearestMipmapNearestFilter as bv, LinearFilter as Js, NearestFilter as Ah, RepeatWrapping as Cn, MirroredRepeatWrapping as _v, ClampToEdgeWrapping as Ka, PointsMaterial as to, Material as _a, LineBasicMaterial as Xh, MeshStandardMaterial as Vi, DoubleSide as al, MeshBasicMaterial as mn, PropertyBinding as Ci, BufferGeometry as nn, SkinnedMesh as Fh, LineSegments as Tv, Line as kh, LineLoop as Lv, Points as Ai, Group as sn, MathUtils as ct, Skeleton as zh, AnimationClip as Dh, Bone as Ya, InterpolateDiscrete as Sv, InterpolateLinear as Oh, Texture as Qr, VectorKeyframeTrack as Ua, NumberKeyframeTrack as Ha, QuaternionKeyframeTrack as Na, Interpolant as Mv, Box3 as Mr, Sphere as ll, Curve as Gv, MeshPhongMaterial as Ta, MeshLambertMaterial as Kh, EquirectangularReflectionMapping as Zv, AmbientLight as Yh, Float32BufferAttribute as $n, Uint16BufferAttribute as Wv, Matrix3 as Iv, Euler as Mi, DataTextureLoader as Rv, HalfFloatType as Ps, FloatType as Us, DataUtils as Cs, InstancedBufferGeometry as Uh, InstancedInterleavedBuffer as Ba, WireframeGeometry as Pv, Line3 as Cv, EventDispatcher as Hh, Clock as cl, Scene as Ev, FogExp2 as Bu, CubeTextureLoader as Vv, WebGLRenderer as Av, PCFSoftShadowMap as Xv, ACESFilmicToneMapping as Fv, CameraHelper as kv, PlaneGeometry as Br, Frustum as zv, Raycaster as ul, CanvasTexture as Xi, SpriteMaterial as Fi, Sprite as Gr, DynamicDrawUsage as ju, NormalBlending as Dv, BackSide as Ov, Shape as Kv, ShapeGeometry as Yv, CylinderGeometry as Uv, AdditiveBlending as Hv, AnimationMixer as Nv, LoopRepeat as Bv, LoopOnce as jv, LoadingManager as Jv, Box2 as Qv, ImageLoader as Nh, SRGBColorSpace as qv } from "three";
6
- const $v = "0.0.1-alpha.11", La = {
5
+ import { REVISION as Ph, TrianglesDrawMode as pv, TriangleFanDrawMode as za, TriangleStripDrawMode as Ch, Mesh as ut, Vector3 as J, Color as Le, FrontSide as $s, Plane as Vh, Matrix4 as Me, Vector4 as an, PerspectiveCamera as Tr, WebGLRenderTarget as mv, UniformsUtils as Ns, UniformsLib as Bs, ShaderMaterial as rl, MOUSE as Qn, TOUCH as qn, Spherical as Nu, Quaternion as tn, OrthographicCamera as Ii, Vector2 as Ie, Ray as gv, Loader as il, LoaderUtils as Nr, FileLoader as nr, MeshPhysicalMaterial as vn, SpotLight as Eh, PointLight as Da, DirectionalLight as js, InstancedMesh as sl, InstancedBufferAttribute as Oa, Object3D as rn, TextureLoader as eo, ImageBitmapLoader as yv, BufferAttribute as Yt, InterleavedBuffer as vv, InterleavedBufferAttribute as br, LinearMipmapLinearFilter as ol, NearestMipmapLinearFilter as wv, LinearMipmapNearestFilter as xv, NearestMipmapNearestFilter as bv, LinearFilter as Js, NearestFilter as Ah, RepeatWrapping as Cn, MirroredRepeatWrapping as _v, ClampToEdgeWrapping as Ka, PointsMaterial as to, Material as _a, LineBasicMaterial as Xh, MeshStandardMaterial as Ei, DoubleSide as al, MeshBasicMaterial as mn, PropertyBinding as Ci, BufferGeometry as nn, SkinnedMesh as Fh, LineSegments as Tv, Line as kh, LineLoop as Lv, Points as Ai, Group as sn, MathUtils as ct, Skeleton as zh, AnimationClip as Dh, Bone as Ya, InterpolateDiscrete as Sv, InterpolateLinear as Oh, Texture as Qr, VectorKeyframeTrack as Ua, NumberKeyframeTrack as Ha, QuaternionKeyframeTrack as Na, Interpolant as Mv, Box3 as Mr, Sphere as ll, Curve as Gv, MeshPhongMaterial as Ta, MeshLambertMaterial as Kh, EquirectangularReflectionMapping as Zv, AmbientLight as Yh, Float32BufferAttribute as $n, Uint16BufferAttribute as Wv, Matrix3 as Iv, Euler as Mi, DataTextureLoader as Rv, HalfFloatType as Ps, FloatType as Us, DataUtils as Cs, InstancedBufferGeometry as Uh, InstancedInterleavedBuffer as Ba, WireframeGeometry as Pv, Line3 as Cv, EventDispatcher as Hh, Clock as cl, Scene as Vv, FogExp2 as Bu, CubeTextureLoader as Ev, WebGLRenderer as Av, PCFSoftShadowMap as Xv, ACESFilmicToneMapping as Fv, CameraHelper as kv, PlaneGeometry as Br, Frustum as zv, Raycaster as ul, CanvasTexture as Xi, SpriteMaterial as Fi, Sprite as Gr, DynamicDrawUsage as ju, NormalBlending as Dv, BackSide as Ov, Shape as Kv, ShapeGeometry as Yv, CylinderGeometry as Uv, AdditiveBlending as Hv, AnimationMixer as Nv, LoopRepeat as Bv, LoopOnce as jv, LoadingManager as Jv, Box2 as Qv, ImageLoader as Nh, SRGBColorSpace as qv } from "three";
6
+ const $v = "0.0.1-alpha.13", La = {
7
7
  name: "criska"
8
8
  };
9
9
  var Ri = function() {
@@ -48,13 +48,13 @@ var Ri = function() {
48
48
  };
49
49
  };
50
50
  Ri.Panel = function(a, t, e) {
51
- var n = 1 / 0, r = 0, s = Math.round, l = s(window.devicePixelRatio || 1), c = 80 * l, u = 48 * l, d = 3 * l, p = 2 * l, f = 3 * l, g = 15 * l, y = 74 * l, w = 30 * l, S = document.createElement("canvas");
52
- S.width = c, S.height = u, S.style.cssText = "width:80px;height:48px";
53
- var b = S.getContext("2d");
51
+ var n = 1 / 0, r = 0, s = Math.round, l = s(window.devicePixelRatio || 1), c = 80 * l, u = 48 * l, d = 3 * l, p = 2 * l, f = 3 * l, g = 15 * l, y = 74 * l, w = 30 * l, T = document.createElement("canvas");
52
+ T.width = c, T.height = u, T.style.cssText = "width:80px;height:48px";
53
+ var b = T.getContext("2d");
54
54
  return b.font = "bold " + 9 * l + "px Helvetica,Arial,sans-serif", b.textBaseline = "top", b.fillStyle = e, b.fillRect(0, 0, c, u), b.fillStyle = t, b.fillText(a, d, p), b.fillRect(f, g, y, w), b.fillStyle = e, b.globalAlpha = 0.9, b.fillRect(f, g, y, w), {
55
- dom: S,
56
- update: function(L, T) {
57
- n = Math.min(n, L), r = Math.max(r, L), b.fillStyle = e, b.globalAlpha = 1, b.fillRect(0, 0, c, g), b.fillStyle = t, b.fillText(s(L) + " " + a + " (" + s(n) + "-" + s(r) + ")", d, p), b.drawImage(S, f + l, g, y - l, w, f, g, y - l, w), b.fillRect(f + y - l, g, l, w), b.fillStyle = e, b.globalAlpha = 0.9, b.fillRect(f + y - l, g, l, s((1 - L / T) * w));
55
+ dom: T,
56
+ update: function(S, L) {
57
+ n = Math.min(n, S), r = Math.max(r, S), b.fillStyle = e, b.globalAlpha = 1, b.fillRect(0, 0, c, g), b.fillStyle = t, b.fillText(s(S) + " " + a + " (" + s(n) + "-" + s(r) + ")", d, p), b.drawImage(T, f + l, g, y - l, w, f, g, y - l, w), b.fillRect(f + y - l, g, l, w), b.fillStyle = e, b.globalAlpha = 0.9, b.fillRect(f + y - l, g, l, s((1 - S / L) * w));
58
58
  }
59
59
  };
60
60
  };
@@ -168,9 +168,9 @@ var Kt = Uint8Array, er = Uint16Array, ja = Uint32Array, Bh = new Kt([
168
168
  }, Qh = Jh(Bh, 2), qh = Qh[0], tw = Qh[1];
169
169
  qh[28] = 258, tw[258] = 28;
170
170
  var nw = Jh(jh, 0), rw = nw[0], Ja = new er(32768);
171
- for (var Ee = 0; Ee < 32768; ++Ee) {
172
- var Bn = (Ee & 43690) >>> 1 | (Ee & 21845) << 1;
173
- Bn = (Bn & 52428) >>> 2 | (Bn & 13107) << 2, Bn = (Bn & 61680) >>> 4 | (Bn & 3855) << 4, Ja[Ee] = ((Bn & 65280) >>> 8 | (Bn & 255) << 8) >>> 1;
171
+ for (var Ve = 0; Ve < 32768; ++Ve) {
172
+ var Bn = (Ve & 43690) >>> 1 | (Ve & 21845) << 1;
173
+ Bn = (Bn & 52428) >>> 2 | (Bn & 13107) << 2, Bn = (Bn & 61680) >>> 4 | (Bn & 3855) << 4, Ja[Ve] = ((Bn & 65280) >>> 8 | (Bn & 255) << 8) >>> 1;
174
174
  }
175
175
  var Pi = function(a, t, e) {
176
176
  for (var n = a.length, r = 0, s = new er(t); r < n; ++r)
@@ -191,17 +191,17 @@ var Pi = function(a, t, e) {
191
191
  a[r] && (c[r] = Ja[l[a[r] - 1]++] >>> 15 - a[r]);
192
192
  return c;
193
193
  }, ki = new Kt(288);
194
- for (var Ee = 0; Ee < 144; ++Ee)
195
- ki[Ee] = 8;
196
- for (var Ee = 144; Ee < 256; ++Ee)
197
- ki[Ee] = 9;
198
- for (var Ee = 256; Ee < 280; ++Ee)
199
- ki[Ee] = 7;
200
- for (var Ee = 280; Ee < 288; ++Ee)
201
- ki[Ee] = 8;
194
+ for (var Ve = 0; Ve < 144; ++Ve)
195
+ ki[Ve] = 8;
196
+ for (var Ve = 144; Ve < 256; ++Ve)
197
+ ki[Ve] = 9;
198
+ for (var Ve = 256; Ve < 280; ++Ve)
199
+ ki[Ve] = 7;
200
+ for (var Ve = 280; Ve < 288; ++Ve)
201
+ ki[Ve] = 8;
202
202
  var $h = new Kt(32);
203
- for (var Ee = 0; Ee < 32; ++Ee)
204
- $h[Ee] = 5;
203
+ for (var Ve = 0; Ve < 32; ++Ve)
204
+ $h[Ve] = 5;
205
205
  var iw = /* @__PURE__ */ Pi(ki, 9, 1), sw = /* @__PURE__ */ Pi($h, 5, 1), Sa = function(a) {
206
206
  for (var t = a[0], e = 1; e < a.length; ++e)
207
207
  a[e] > t && (t = a[e]);
@@ -234,16 +234,16 @@ var iw = /* @__PURE__ */ Pi(ki, 9, 1), sw = /* @__PURE__ */ Pi($h, 5, 1), Sa = f
234
234
  do {
235
235
  if (!p) {
236
236
  e.f = c = $t(a, u, 1);
237
- var S = $t(a, u + 1, 3);
238
- if (u += 3, S)
239
- if (S == 1)
237
+ var T = $t(a, u + 1, 3);
238
+ if (u += 3, T)
239
+ if (T == 1)
240
240
  p = iw, f = sw, g = 9, y = 5;
241
- else if (S == 2) {
242
- var Z = $t(a, u, 31) + 257, E = $t(a, u + 10, 15) + 4, z = Z + $t(a, u + 5, 31) + 1;
241
+ else if (T == 2) {
242
+ var Z = $t(a, u, 31) + 257, V = $t(a, u + 10, 15) + 4, z = Z + $t(a, u + 5, 31) + 1;
243
243
  u += 14;
244
- for (var X = new Kt(z), k = new Kt(19), P = 0; P < E; ++P)
244
+ for (var X = new Kt(z), k = new Kt(19), P = 0; P < V; ++P)
245
245
  k[ew[P]] = $t(a, u + P * 3, 7);
246
- u += E * 3;
246
+ u += V * 3;
247
247
  for (var D = Sa(k), I = (1 << D) - 1, A = Pi(k, D, 1), P = 0; P < z; ) {
248
248
  var U = A[$t(a, u, I)];
249
249
  u += U & 15;
@@ -261,13 +261,13 @@ var iw = /* @__PURE__ */ Pi(ki, 9, 1), sw = /* @__PURE__ */ Pi($h, 5, 1), Sa = f
261
261
  } else
262
262
  throw "invalid block type";
263
263
  else {
264
- var b = ow(u) + 4, L = a[b - 4] | a[b - 3] << 8, T = b + L;
265
- if (T > n) {
264
+ var b = ow(u) + 4, S = a[b - 4] | a[b - 3] << 8, L = b + S;
265
+ if (L > n) {
266
266
  if (s)
267
267
  throw "unexpected EOF";
268
268
  break;
269
269
  }
270
- r && l(d + L), t.set(a.subarray(b, T), d), e.b = d += L, e.p = u = T * 8;
270
+ r && l(d + S), t.set(a.subarray(b, L), d), e.b = d += S, e.p = u = L * 8;
271
271
  continue;
272
272
  }
273
273
  if (u > w) {
@@ -337,7 +337,7 @@ try {
337
337
  class pw extends ut {
338
338
  constructor(t, e = {}) {
339
339
  super(t), this.isWater = !0;
340
- const n = this, r = e.textureWidth !== void 0 ? e.textureWidth : 512, s = e.textureHeight !== void 0 ? e.textureHeight : 512, l = e.clipBias !== void 0 ? e.clipBias : 0, c = e.alpha !== void 0 ? e.alpha : 1, u = e.time !== void 0 ? e.time : 0, d = e.waterNormals !== void 0 ? e.waterNormals : null, p = e.sunDirection !== void 0 ? e.sunDirection : new J(0.70707, 0.70707, 0), f = new Le(e.sunColor !== void 0 ? e.sunColor : 16777215), g = new Le(e.waterColor !== void 0 ? e.waterColor : 8355711), y = e.eye !== void 0 ? e.eye : new J(0, 0, 0), w = e.distortionScale !== void 0 ? e.distortionScale : 20, S = e.side !== void 0 ? e.side : $s, b = e.fog !== void 0 ? e.fog : !1, L = new Eh(), T = new J(), Z = new J(), E = new J(), z = new Me(), X = new J(0, 0, -1), k = new an(), P = new J(), D = new J(), I = new an(), A = new Me(), U = new Tr(), j = new mv(r, s), B = {
340
+ const n = this, r = e.textureWidth !== void 0 ? e.textureWidth : 512, s = e.textureHeight !== void 0 ? e.textureHeight : 512, l = e.clipBias !== void 0 ? e.clipBias : 0, c = e.alpha !== void 0 ? e.alpha : 1, u = e.time !== void 0 ? e.time : 0, d = e.waterNormals !== void 0 ? e.waterNormals : null, p = e.sunDirection !== void 0 ? e.sunDirection : new J(0.70707, 0.70707, 0), f = new Le(e.sunColor !== void 0 ? e.sunColor : 16777215), g = new Le(e.waterColor !== void 0 ? e.waterColor : 8355711), y = e.eye !== void 0 ? e.eye : new J(0, 0, 0), w = e.distortionScale !== void 0 ? e.distortionScale : 20, T = e.side !== void 0 ? e.side : $s, b = e.fog !== void 0 ? e.fog : !1, S = new Vh(), L = new J(), Z = new J(), V = new J(), z = new Me(), X = new J(0, 0, -1), k = new an(), P = new J(), D = new J(), I = new an(), A = new Me(), U = new Tr(), j = new mv(r, s), B = {
341
341
  uniforms: Ns.merge([
342
342
  Bs.fog,
343
343
  Bs.lights,
@@ -464,13 +464,13 @@ class pw extends ut {
464
464
  vertexShader: B.vertexShader,
465
465
  uniforms: Ns.clone(B.uniforms),
466
466
  lights: !0,
467
- side: S,
467
+ side: T,
468
468
  fog: b
469
469
  });
470
470
  q.uniforms.mirrorSampler.value = j.texture, q.uniforms.textureMatrix.value = A, q.uniforms.alpha.value = c, q.uniforms.time.value = u, q.uniforms.normalSampler.value = d, q.uniforms.sunColor.value = f, q.uniforms.waterColor.value = g, q.uniforms.sunDirection.value = p, q.uniforms.distortionScale.value = w, q.uniforms.eye.value = y, n.material = q, n.onBeforeRender = function(N, ie, re) {
471
- if (Z.setFromMatrixPosition(n.matrixWorld), E.setFromMatrixPosition(re.matrixWorld), z.extractRotation(n.matrixWorld), T.set(0, 0, 1), T.applyMatrix4(z), P.subVectors(Z, E), P.dot(T) > 0)
471
+ if (Z.setFromMatrixPosition(n.matrixWorld), V.setFromMatrixPosition(re.matrixWorld), z.extractRotation(n.matrixWorld), L.set(0, 0, 1), L.applyMatrix4(z), P.subVectors(Z, V), P.dot(L) > 0)
472
472
  return;
473
- P.reflect(T).negate(), P.add(Z), z.extractRotation(re.matrixWorld), X.set(0, 0, -1), X.applyMatrix4(z), X.add(E), D.subVectors(Z, X), D.reflect(T).negate(), D.add(Z), U.position.copy(P), U.up.set(0, 1, 0), U.up.applyMatrix4(z), U.up.reflect(T), U.lookAt(D), U.far = re.far, U.updateMatrixWorld(), U.projectionMatrix.copy(re.projectionMatrix), A.set(0.5, 0, 0, 0.5, 0, 0.5, 0, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0, 1), A.multiply(U.projectionMatrix), A.multiply(U.matrixWorldInverse), L.setFromNormalAndCoplanarPoint(T, Z), L.applyMatrix4(U.matrixWorldInverse), k.set(L.normal.x, L.normal.y, L.normal.z, L.constant);
473
+ P.reflect(L).negate(), P.add(Z), z.extractRotation(re.matrixWorld), X.set(0, 0, -1), X.applyMatrix4(z), X.add(V), D.subVectors(Z, X), D.reflect(L).negate(), D.add(Z), U.position.copy(P), U.up.set(0, 1, 0), U.up.applyMatrix4(z), U.up.reflect(L), U.lookAt(D), U.far = re.far, U.updateMatrixWorld(), U.projectionMatrix.copy(re.projectionMatrix), A.set(0.5, 0, 0, 0.5, 0, 0.5, 0, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0, 1), A.multiply(U.projectionMatrix), A.multiply(U.matrixWorldInverse), S.setFromNormalAndCoplanarPoint(L, Z), S.applyMatrix4(U.matrixWorldInverse), k.set(S.normal.x, S.normal.y, S.normal.z, S.constant);
474
474
  const ee = U.projectionMatrix;
475
475
  I.x = (Math.sign(k.x) + ee.elements[8]) / ee.elements[0], I.y = (Math.sign(k.y) + ee.elements[9]) / ee.elements[5], I.z = -1, I.w = (1 + ee.elements[10]) / ee.elements[14], k.multiplyScalar(2 / k.dot(I)), ee.elements[2] = k.x, ee.elements[6] = k.y, ee.elements[10] = k.z + 1 - l, ee.elements[14] = k.w, y.setFromMatrixPosition(re.matrixWorld);
476
476
  const pe = N.getRenderTarget(), ve = N.xr.enabled, ue = N.shadowMap.autoUpdate;
@@ -538,25 +538,25 @@ class vw {
538
538
  }
539
539
  }
540
540
  var ww = Object.defineProperty, xw = (a, t, e) => t in a ? ww(a, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[t] = e, se = (a, t, e) => (xw(a, typeof t != "symbol" ? t + "" : t, e), e);
541
- const Es = /* @__PURE__ */ new gv(), Qu = /* @__PURE__ */ new Eh(), bw = Math.cos(70 * (Math.PI / 180)), qu = (a, t) => (a % t + t) % t;
541
+ const Vs = /* @__PURE__ */ new gv(), Qu = /* @__PURE__ */ new Vh(), bw = Math.cos(70 * (Math.PI / 180)), qu = (a, t) => (a % t + t) % t;
542
542
  class _w extends vw {
543
543
  constructor(t, e) {
544
544
  super(), se(this, "object"), se(this, "domElement"), se(this, "enabled", !0), se(this, "target", new J()), se(this, "minDistance", 0), se(this, "maxDistance", 1 / 0), se(this, "minZoom", 0), se(this, "maxZoom", 1 / 0), se(this, "minPolarAngle", 0), se(this, "maxPolarAngle", Math.PI), se(this, "minAzimuthAngle", -1 / 0), se(this, "maxAzimuthAngle", 1 / 0), se(this, "enableDamping", !1), se(this, "dampingFactor", 0.05), se(this, "enableZoom", !0), se(this, "zoomSpeed", 1), se(this, "enableRotate", !0), se(this, "rotateSpeed", 1), se(this, "enablePan", !0), se(this, "panSpeed", 1), se(this, "screenSpacePanning", !0), se(this, "keyPanSpeed", 7), se(this, "zoomToCursor", !1), se(this, "autoRotate", !1), se(this, "autoRotateSpeed", 2), se(this, "reverseOrbit", !1), se(this, "reverseHorizontalOrbit", !1), se(this, "reverseVerticalOrbit", !1), se(this, "keys", { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }), se(this, "mouseButtons", {
545
545
  LEFT: Qn.ROTATE,
546
546
  MIDDLE: Qn.DOLLY,
547
547
  RIGHT: Qn.PAN
548
- }), se(this, "touches", { ONE: qn.ROTATE, TWO: qn.DOLLY_PAN }), se(this, "target0"), se(this, "position0"), se(this, "zoom0"), se(this, "_domElementKeyEvents", null), se(this, "getPolarAngle"), se(this, "getAzimuthalAngle"), se(this, "setPolarAngle"), se(this, "setAzimuthalAngle"), se(this, "getDistance"), se(this, "getZoomScale"), se(this, "listenToKeyEvents"), se(this, "stopListenToKeyEvents"), se(this, "saveState"), se(this, "reset"), se(this, "update"), se(this, "connect"), se(this, "dispose"), se(this, "dollyIn"), se(this, "dollyOut"), se(this, "getScale"), se(this, "setScale"), this.object = t, this.domElement = e, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this.getPolarAngle = () => p.phi, this.getAzimuthalAngle = () => p.theta, this.setPolarAngle = (V) => {
549
- let Q = qu(V, 2 * Math.PI), ce = p.phi;
548
+ }), se(this, "touches", { ONE: qn.ROTATE, TWO: qn.DOLLY_PAN }), se(this, "target0"), se(this, "position0"), se(this, "zoom0"), se(this, "_domElementKeyEvents", null), se(this, "getPolarAngle"), se(this, "getAzimuthalAngle"), se(this, "setPolarAngle"), se(this, "setAzimuthalAngle"), se(this, "getDistance"), se(this, "getZoomScale"), se(this, "listenToKeyEvents"), se(this, "stopListenToKeyEvents"), se(this, "saveState"), se(this, "reset"), se(this, "update"), se(this, "connect"), se(this, "dispose"), se(this, "dollyIn"), se(this, "dollyOut"), se(this, "getScale"), se(this, "setScale"), this.object = t, this.domElement = e, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this.getPolarAngle = () => p.phi, this.getAzimuthalAngle = () => p.theta, this.setPolarAngle = (E) => {
549
+ let Q = qu(E, 2 * Math.PI), ce = p.phi;
550
550
  ce < 0 && (ce += 2 * Math.PI), Q < 0 && (Q += 2 * Math.PI);
551
551
  let Se = Math.abs(Q - ce);
552
552
  2 * Math.PI - Se < Se && (Q < ce ? Q += 2 * Math.PI : ce += 2 * Math.PI), f.phi = Q - ce, n.update();
553
- }, this.setAzimuthalAngle = (V) => {
554
- let Q = qu(V, 2 * Math.PI), ce = p.theta;
553
+ }, this.setAzimuthalAngle = (E) => {
554
+ let Q = qu(E, 2 * Math.PI), ce = p.theta;
555
555
  ce < 0 && (ce += 2 * Math.PI), Q < 0 && (Q += 2 * Math.PI);
556
556
  let Se = Math.abs(Q - ce);
557
557
  2 * Math.PI - Se < Se && (Q < ce ? Q += 2 * Math.PI : ce += 2 * Math.PI), f.theta = Q - ce, n.update();
558
- }, this.getDistance = () => n.object.position.distanceTo(n.target), this.listenToKeyEvents = (V) => {
559
- V.addEventListener("keydown", ln), this._domElementKeyEvents = V;
558
+ }, this.getDistance = () => n.object.position.distanceTo(n.target), this.listenToKeyEvents = (E) => {
559
+ E.addEventListener("keydown", ln), this._domElementKeyEvents = E;
560
560
  }, this.stopListenToKeyEvents = () => {
561
561
  this._domElementKeyEvents.removeEventListener("keydown", ln), this._domElementKeyEvents = null;
562
562
  }, this.saveState = () => {
@@ -564,17 +564,17 @@ class _w extends vw {
564
564
  }, this.reset = () => {
565
565
  n.target.copy(n.target0), n.object.position.copy(n.position0), n.object.zoom = n.zoom0, n.object.updateProjectionMatrix(), n.dispatchEvent(r), n.update(), u = c.NONE;
566
566
  }, this.update = (() => {
567
- const V = new J(), Q = new J(0, 1, 0), ce = new tn().setFromUnitVectors(t.up, Q), Se = ce.clone().invert(), Ye = new J(), Ct = new tn(), Ht = 2 * Math.PI;
567
+ const E = new J(), Q = new J(0, 1, 0), ce = new tn().setFromUnitVectors(t.up, Q), Se = ce.clone().invert(), Ye = new J(), Ct = new tn(), Ht = 2 * Math.PI;
568
568
  return function() {
569
569
  const Ki = n.object.position;
570
- ce.setFromUnitVectors(t.up, Q), Se.copy(ce).invert(), V.copy(Ki).sub(n.target), V.applyQuaternion(ce), p.setFromVector3(V), n.autoRotate && u === c.NONE && B(U()), n.enableDamping ? (p.theta += f.theta * n.dampingFactor, p.phi += f.phi * n.dampingFactor) : (p.theta += f.theta, p.phi += f.phi);
570
+ ce.setFromUnitVectors(t.up, Q), Se.copy(ce).invert(), E.copy(Ki).sub(n.target), E.applyQuaternion(ce), p.setFromVector3(E), n.autoRotate && u === c.NONE && B(U()), n.enableDamping ? (p.theta += f.theta * n.dampingFactor, p.phi += f.phi * n.dampingFactor) : (p.theta += f.theta, p.phi += f.phi);
571
571
  let Nt = n.minAzimuthAngle, Bt = n.maxAzimuthAngle;
572
- isFinite(Nt) && isFinite(Bt) && (Nt < -Math.PI ? Nt += Ht : Nt > Math.PI && (Nt -= Ht), Bt < -Math.PI ? Bt += Ht : Bt > Math.PI && (Bt -= Ht), Nt <= Bt ? p.theta = Math.max(Nt, Math.min(Bt, p.theta)) : p.theta = p.theta > (Nt + Bt) / 2 ? Math.max(Nt, p.theta) : Math.min(Bt, p.theta)), p.phi = Math.max(n.minPolarAngle, Math.min(n.maxPolarAngle, p.phi)), p.makeSafe(), n.enableDamping === !0 ? n.target.addScaledVector(y, n.dampingFactor) : n.target.add(y), n.zoomToCursor && D || n.object.isOrthographicCamera ? p.radius = ye(p.radius) : p.radius = ye(p.radius * g), V.setFromSpherical(p), V.applyQuaternion(Se), Ki.copy(n.target).add(V), n.object.matrixAutoUpdate || n.object.updateMatrix(), n.object.lookAt(n.target), n.enableDamping === !0 ? (f.theta *= 1 - n.dampingFactor, f.phi *= 1 - n.dampingFactor, y.multiplyScalar(1 - n.dampingFactor)) : (f.set(0, 0, 0), y.set(0, 0, 0));
572
+ isFinite(Nt) && isFinite(Bt) && (Nt < -Math.PI ? Nt += Ht : Nt > Math.PI && (Nt -= Ht), Bt < -Math.PI ? Bt += Ht : Bt > Math.PI && (Bt -= Ht), Nt <= Bt ? p.theta = Math.max(Nt, Math.min(Bt, p.theta)) : p.theta = p.theta > (Nt + Bt) / 2 ? Math.max(Nt, p.theta) : Math.min(Bt, p.theta)), p.phi = Math.max(n.minPolarAngle, Math.min(n.maxPolarAngle, p.phi)), p.makeSafe(), n.enableDamping === !0 ? n.target.addScaledVector(y, n.dampingFactor) : n.target.add(y), n.zoomToCursor && D || n.object.isOrthographicCamera ? p.radius = ye(p.radius) : p.radius = ye(p.radius * g), E.setFromSpherical(p), E.applyQuaternion(Se), Ki.copy(n.target).add(E), n.object.matrixAutoUpdate || n.object.updateMatrix(), n.object.lookAt(n.target), n.enableDamping === !0 ? (f.theta *= 1 - n.dampingFactor, f.phi *= 1 - n.dampingFactor, y.multiplyScalar(1 - n.dampingFactor)) : (f.set(0, 0, 0), y.set(0, 0, 0));
573
573
  let Fn = !1;
574
574
  if (n.zoomToCursor && D) {
575
575
  let lr = null;
576
576
  if (n.object instanceof Tr && n.object.isPerspectiveCamera) {
577
- const cr = V.length();
577
+ const cr = E.length();
578
578
  lr = ye(cr * g);
579
579
  const Ir = cr - lr;
580
580
  n.object.position.addScaledVector(k, Ir), n.object.updateMatrixWorld();
@@ -582,18 +582,18 @@ class _w extends vw {
582
582
  const cr = new J(P.x, P.y, 0);
583
583
  cr.unproject(n.object), n.object.zoom = Math.max(n.minZoom, Math.min(n.maxZoom, n.object.zoom / g)), n.object.updateProjectionMatrix(), Fn = !0;
584
584
  const Ir = new J(P.x, P.y, 0);
585
- Ir.unproject(n.object), n.object.position.sub(Ir).add(cr), n.object.updateMatrixWorld(), lr = V.length();
585
+ Ir.unproject(n.object), n.object.position.sub(Ir).add(cr), n.object.updateMatrixWorld(), lr = E.length();
586
586
  } else
587
587
  console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."), n.zoomToCursor = !1;
588
- lr !== null && (n.screenSpacePanning ? n.target.set(0, 0, -1).transformDirection(n.object.matrix).multiplyScalar(lr).add(n.object.position) : (Es.origin.copy(n.object.position), Es.direction.set(0, 0, -1).transformDirection(n.object.matrix), Math.abs(n.object.up.dot(Es.direction)) < bw ? t.lookAt(n.target) : (Qu.setFromNormalAndCoplanarPoint(n.object.up, n.target), Es.intersectPlane(Qu, n.target))));
588
+ lr !== null && (n.screenSpacePanning ? n.target.set(0, 0, -1).transformDirection(n.object.matrix).multiplyScalar(lr).add(n.object.position) : (Vs.origin.copy(n.object.position), Vs.direction.set(0, 0, -1).transformDirection(n.object.matrix), Math.abs(n.object.up.dot(Vs.direction)) < bw ? t.lookAt(n.target) : (Qu.setFromNormalAndCoplanarPoint(n.object.up, n.target), Vs.intersectPlane(Qu, n.target))));
589
589
  } else n.object instanceof Ii && n.object.isOrthographicCamera && (Fn = g !== 1, Fn && (n.object.zoom = Math.max(n.minZoom, Math.min(n.maxZoom, n.object.zoom / g)), n.object.updateProjectionMatrix()));
590
590
  return g = 1, D = !1, Fn || Ye.distanceToSquared(n.object.position) > d || 8 * (1 - Ct.dot(n.object.quaternion)) > d ? (n.dispatchEvent(r), Ye.copy(n.object.position), Ct.copy(n.object.quaternion), Fn = !1, !0) : !1;
591
591
  };
592
- })(), this.connect = (V) => {
593
- n.domElement = V, n.domElement.style.touchAction = "none", n.domElement.addEventListener("contextmenu", Zr), n.domElement.addEventListener("pointerdown", Vn), n.domElement.addEventListener("pointercancel", sr), n.domElement.addEventListener("wheel", Xn);
592
+ })(), this.connect = (E) => {
593
+ n.domElement = E, n.domElement.style.touchAction = "none", n.domElement.addEventListener("contextmenu", Zr), n.domElement.addEventListener("pointerdown", En), n.domElement.addEventListener("pointercancel", sr), n.domElement.addEventListener("wheel", Xn);
594
594
  }, this.dispose = () => {
595
- var V, Q, ce, Se, Ye, Ct;
596
- n.domElement && (n.domElement.style.touchAction = "auto"), (V = n.domElement) == null || V.removeEventListener("contextmenu", Zr), (Q = n.domElement) == null || Q.removeEventListener("pointerdown", Vn), (ce = n.domElement) == null || ce.removeEventListener("pointercancel", sr), (Se = n.domElement) == null || Se.removeEventListener("wheel", Xn), (Ye = n.domElement) == null || Ye.ownerDocument.removeEventListener("pointermove", An), (Ct = n.domElement) == null || Ct.ownerDocument.removeEventListener("pointerup", sr), n._domElementKeyEvents !== null && n._domElementKeyEvents.removeEventListener("keydown", ln);
595
+ var E, Q, ce, Se, Ye, Ct;
596
+ n.domElement && (n.domElement.style.touchAction = "auto"), (E = n.domElement) == null || E.removeEventListener("contextmenu", Zr), (Q = n.domElement) == null || Q.removeEventListener("pointerdown", En), (ce = n.domElement) == null || ce.removeEventListener("pointercancel", sr), (Se = n.domElement) == null || Se.removeEventListener("wheel", Xn), (Ye = n.domElement) == null || Ye.ownerDocument.removeEventListener("pointermove", An), (Ct = n.domElement) == null || Ct.ownerDocument.removeEventListener("pointerup", sr), n._domElementKeyEvents !== null && n._domElementKeyEvents.removeEventListener("keydown", ln);
597
597
  };
598
598
  const n = this, r = { type: "change" }, s = { type: "start" }, l = { type: "end" }, c = {
599
599
  NONE: -1,
@@ -608,7 +608,7 @@ class _w extends vw {
608
608
  let u = c.NONE;
609
609
  const d = 1e-6, p = new Nu(), f = new Nu();
610
610
  let g = 1;
611
- const y = new J(), w = new Ie(), S = new Ie(), b = new Ie(), L = new Ie(), T = new Ie(), Z = new Ie(), E = new Ie(), z = new Ie(), X = new Ie(), k = new J(), P = new Ie();
611
+ const y = new J(), w = new Ie(), T = new Ie(), b = new Ie(), S = new Ie(), L = new Ie(), Z = new Ie(), V = new Ie(), z = new Ie(), X = new Ie(), k = new J(), P = new Ie();
612
612
  let D = !1;
613
613
  const I = [], A = {};
614
614
  function U() {
@@ -617,30 +617,30 @@ class _w extends vw {
617
617
  function j() {
618
618
  return Math.pow(0.95, n.zoomSpeed);
619
619
  }
620
- function B(V) {
621
- n.reverseOrbit || n.reverseHorizontalOrbit ? f.theta += V : f.theta -= V;
620
+ function B(E) {
621
+ n.reverseOrbit || n.reverseHorizontalOrbit ? f.theta += E : f.theta -= E;
622
622
  }
623
- function q(V) {
624
- n.reverseOrbit || n.reverseVerticalOrbit ? f.phi += V : f.phi -= V;
623
+ function q(E) {
624
+ n.reverseOrbit || n.reverseVerticalOrbit ? f.phi += E : f.phi -= E;
625
625
  }
626
626
  const N = (() => {
627
- const V = new J();
627
+ const E = new J();
628
628
  return function(ce, Se) {
629
- V.setFromMatrixColumn(Se, 0), V.multiplyScalar(-ce), y.add(V);
629
+ E.setFromMatrixColumn(Se, 0), E.multiplyScalar(-ce), y.add(E);
630
630
  };
631
631
  })(), ie = (() => {
632
- const V = new J();
632
+ const E = new J();
633
633
  return function(ce, Se) {
634
- n.screenSpacePanning === !0 ? V.setFromMatrixColumn(Se, 1) : (V.setFromMatrixColumn(Se, 0), V.crossVectors(n.object.up, V)), V.multiplyScalar(ce), y.add(V);
634
+ n.screenSpacePanning === !0 ? E.setFromMatrixColumn(Se, 1) : (E.setFromMatrixColumn(Se, 0), E.crossVectors(n.object.up, E)), E.multiplyScalar(ce), y.add(E);
635
635
  };
636
636
  })(), re = (() => {
637
- const V = new J();
637
+ const E = new J();
638
638
  return function(ce, Se) {
639
639
  const Ye = n.domElement;
640
640
  if (Ye && n.object instanceof Tr && n.object.isPerspectiveCamera) {
641
641
  const Ct = n.object.position;
642
- V.copy(Ct).sub(n.target);
643
- let Ht = V.length();
642
+ E.copy(Ct).sub(n.target);
643
+ let Ht = E.length();
644
644
  Ht *= Math.tan(n.object.fov / 2 * Math.PI / 180), N(2 * ce * Ht / Ye.clientHeight, n.object.matrix), ie(2 * Se * Ht / Ye.clientHeight, n.object.matrix);
645
645
  } else Ye && n.object instanceof Ii && n.object.isOrthographicCamera ? (N(
646
646
  ce * (n.object.right - n.object.left) / n.object.zoom / Ye.clientWidth,
@@ -651,51 +651,51 @@ class _w extends vw {
651
651
  )) : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."), n.enablePan = !1);
652
652
  };
653
653
  })();
654
- function ee(V) {
655
- n.object instanceof Tr && n.object.isPerspectiveCamera || n.object instanceof Ii && n.object.isOrthographicCamera ? g = V : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."), n.enableZoom = !1);
654
+ function ee(E) {
655
+ n.object instanceof Tr && n.object.isPerspectiveCamera || n.object instanceof Ii && n.object.isOrthographicCamera ? g = E : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."), n.enableZoom = !1);
656
656
  }
657
- function pe(V) {
658
- ee(g / V);
657
+ function pe(E) {
658
+ ee(g / E);
659
659
  }
660
- function ve(V) {
661
- ee(g * V);
660
+ function ve(E) {
661
+ ee(g * E);
662
662
  }
663
- function ue(V) {
663
+ function ue(E) {
664
664
  if (!n.zoomToCursor || !n.domElement)
665
665
  return;
666
666
  D = !0;
667
- const Q = n.domElement.getBoundingClientRect(), ce = V.clientX - Q.left, Se = V.clientY - Q.top, Ye = Q.width, Ct = Q.height;
667
+ const Q = n.domElement.getBoundingClientRect(), ce = E.clientX - Q.left, Se = E.clientY - Q.top, Ye = Q.width, Ct = Q.height;
668
668
  P.x = ce / Ye * 2 - 1, P.y = -(Se / Ct) * 2 + 1, k.set(P.x, P.y, 1).unproject(n.object).sub(n.object.position).normalize();
669
669
  }
670
- function ye(V) {
671
- return Math.max(n.minDistance, Math.min(n.maxDistance, V));
670
+ function ye(E) {
671
+ return Math.max(n.minDistance, Math.min(n.maxDistance, E));
672
672
  }
673
- function Fe(V) {
674
- w.set(V.clientX, V.clientY);
673
+ function Fe(E) {
674
+ w.set(E.clientX, E.clientY);
675
675
  }
676
- function Ue(V) {
677
- ue(V), E.set(V.clientX, V.clientY);
676
+ function Ue(E) {
677
+ ue(E), V.set(E.clientX, E.clientY);
678
678
  }
679
- function je(V) {
680
- L.set(V.clientX, V.clientY);
679
+ function je(E) {
680
+ S.set(E.clientX, E.clientY);
681
681
  }
682
- function Je(V) {
683
- S.set(V.clientX, V.clientY), b.subVectors(S, w).multiplyScalar(n.rotateSpeed);
682
+ function Je(E) {
683
+ T.set(E.clientX, E.clientY), b.subVectors(T, w).multiplyScalar(n.rotateSpeed);
684
684
  const Q = n.domElement;
685
- Q && (B(2 * Math.PI * b.x / Q.clientHeight), q(2 * Math.PI * b.y / Q.clientHeight)), w.copy(S), n.update();
685
+ Q && (B(2 * Math.PI * b.x / Q.clientHeight), q(2 * Math.PI * b.y / Q.clientHeight)), w.copy(T), n.update();
686
686
  }
687
- function Qe(V) {
688
- z.set(V.clientX, V.clientY), X.subVectors(z, E), X.y > 0 ? pe(j()) : X.y < 0 && ve(j()), E.copy(z), n.update();
687
+ function Qe(E) {
688
+ z.set(E.clientX, E.clientY), X.subVectors(z, V), X.y > 0 ? pe(j()) : X.y < 0 && ve(j()), V.copy(z), n.update();
689
689
  }
690
- function ht(V) {
691
- T.set(V.clientX, V.clientY), Z.subVectors(T, L).multiplyScalar(n.panSpeed), re(Z.x, Z.y), L.copy(T), n.update();
690
+ function ht(E) {
691
+ L.set(E.clientX, E.clientY), Z.subVectors(L, S).multiplyScalar(n.panSpeed), re(Z.x, Z.y), S.copy(L), n.update();
692
692
  }
693
- function yt(V) {
694
- ue(V), V.deltaY < 0 ? ve(j()) : V.deltaY > 0 && pe(j()), n.update();
693
+ function yt(E) {
694
+ ue(E), E.deltaY < 0 ? ve(j()) : E.deltaY > 0 && pe(j()), n.update();
695
695
  }
696
- function He(V) {
696
+ function He(E) {
697
697
  let Q = !1;
698
- switch (V.code) {
698
+ switch (E.code) {
699
699
  case n.keys.UP:
700
700
  re(0, n.keyPanSpeed), Q = !0;
701
701
  break;
@@ -709,78 +709,78 @@ class _w extends vw {
709
709
  re(-n.keyPanSpeed, 0), Q = !0;
710
710
  break;
711
711
  }
712
- Q && (V.preventDefault(), n.update());
712
+ Q && (E.preventDefault(), n.update());
713
713
  }
714
714
  function xn() {
715
715
  if (I.length == 1)
716
716
  w.set(I[0].pageX, I[0].pageY);
717
717
  else {
718
- const V = 0.5 * (I[0].pageX + I[1].pageX), Q = 0.5 * (I[0].pageY + I[1].pageY);
719
- w.set(V, Q);
718
+ const E = 0.5 * (I[0].pageX + I[1].pageX), Q = 0.5 * (I[0].pageY + I[1].pageY);
719
+ w.set(E, Q);
720
720
  }
721
721
  }
722
- function En() {
722
+ function Vn() {
723
723
  if (I.length == 1)
724
- L.set(I[0].pageX, I[0].pageY);
724
+ S.set(I[0].pageX, I[0].pageY);
725
725
  else {
726
- const V = 0.5 * (I[0].pageX + I[1].pageX), Q = 0.5 * (I[0].pageY + I[1].pageY);
727
- L.set(V, Q);
726
+ const E = 0.5 * (I[0].pageX + I[1].pageX), Q = 0.5 * (I[0].pageY + I[1].pageY);
727
+ S.set(E, Q);
728
728
  }
729
729
  }
730
730
  function Ae() {
731
- const V = I[0].pageX - I[1].pageX, Q = I[0].pageY - I[1].pageY, ce = Math.sqrt(V * V + Q * Q);
732
- E.set(0, ce);
731
+ const E = I[0].pageX - I[1].pageX, Q = I[0].pageY - I[1].pageY, ce = Math.sqrt(E * E + Q * Q);
732
+ V.set(0, ce);
733
733
  }
734
734
  function Ut() {
735
- n.enableZoom && Ae(), n.enablePan && En();
735
+ n.enableZoom && Ae(), n.enablePan && Vn();
736
736
  }
737
737
  function Rt() {
738
738
  n.enableZoom && Ae(), n.enableRotate && xn();
739
739
  }
740
- function Pt(V) {
740
+ function Pt(E) {
741
741
  if (I.length == 1)
742
- S.set(V.pageX, V.pageY);
742
+ T.set(E.pageX, E.pageY);
743
743
  else {
744
- const ce = ar(V), Se = 0.5 * (V.pageX + ce.x), Ye = 0.5 * (V.pageY + ce.y);
745
- S.set(Se, Ye);
744
+ const ce = ar(E), Se = 0.5 * (E.pageX + ce.x), Ye = 0.5 * (E.pageY + ce.y);
745
+ T.set(Se, Ye);
746
746
  }
747
- b.subVectors(S, w).multiplyScalar(n.rotateSpeed);
747
+ b.subVectors(T, w).multiplyScalar(n.rotateSpeed);
748
748
  const Q = n.domElement;
749
- Q && (B(2 * Math.PI * b.x / Q.clientHeight), q(2 * Math.PI * b.y / Q.clientHeight)), w.copy(S);
749
+ Q && (B(2 * Math.PI * b.x / Q.clientHeight), q(2 * Math.PI * b.y / Q.clientHeight)), w.copy(T);
750
750
  }
751
- function ei(V) {
751
+ function ei(E) {
752
752
  if (I.length == 1)
753
- T.set(V.pageX, V.pageY);
753
+ L.set(E.pageX, E.pageY);
754
754
  else {
755
- const Q = ar(V), ce = 0.5 * (V.pageX + Q.x), Se = 0.5 * (V.pageY + Q.y);
756
- T.set(ce, Se);
755
+ const Q = ar(E), ce = 0.5 * (E.pageX + Q.x), Se = 0.5 * (E.pageY + Q.y);
756
+ L.set(ce, Se);
757
757
  }
758
- Z.subVectors(T, L).multiplyScalar(n.panSpeed), re(Z.x, Z.y), L.copy(T);
758
+ Z.subVectors(L, S).multiplyScalar(n.panSpeed), re(Z.x, Z.y), S.copy(L);
759
759
  }
760
- function Oi(V) {
761
- const Q = ar(V), ce = V.pageX - Q.x, Se = V.pageY - Q.y, Ye = Math.sqrt(ce * ce + Se * Se);
762
- z.set(0, Ye), X.set(0, Math.pow(z.y / E.y, n.zoomSpeed)), pe(X.y), E.copy(z);
760
+ function Oi(E) {
761
+ const Q = ar(E), ce = E.pageX - Q.x, Se = E.pageY - Q.y, Ye = Math.sqrt(ce * ce + Se * Se);
762
+ z.set(0, Ye), X.set(0, Math.pow(z.y / V.y, n.zoomSpeed)), pe(X.y), V.copy(z);
763
763
  }
764
- function ir(V) {
765
- n.enableZoom && Oi(V), n.enablePan && ei(V);
764
+ function ir(E) {
765
+ n.enableZoom && Oi(E), n.enablePan && ei(E);
766
766
  }
767
- function Tt(V) {
768
- n.enableZoom && Oi(V), n.enableRotate && Pt(V);
767
+ function Tt(E) {
768
+ n.enableZoom && Oi(E), n.enableRotate && Pt(E);
769
769
  }
770
- function Vn(V) {
770
+ function En(E) {
771
771
  var Q, ce;
772
- n.enabled !== !1 && (I.length === 0 && ((Q = n.domElement) == null || Q.ownerDocument.addEventListener("pointermove", An), (ce = n.domElement) == null || ce.ownerDocument.addEventListener("pointerup", sr)), ri(V), V.pointerType === "touch" ? ti(V) : or(V));
772
+ n.enabled !== !1 && (I.length === 0 && ((Q = n.domElement) == null || Q.ownerDocument.addEventListener("pointermove", An), (ce = n.domElement) == null || ce.ownerDocument.addEventListener("pointerup", sr)), ri(E), E.pointerType === "touch" ? ti(E) : or(E));
773
773
  }
774
- function An(V) {
775
- n.enabled !== !1 && (V.pointerType === "touch" ? ni(V) : lo(V));
774
+ function An(E) {
775
+ n.enabled !== !1 && (E.pointerType === "touch" ? ni(E) : lo(E));
776
776
  }
777
- function sr(V) {
777
+ function sr(E) {
778
778
  var Q, ce, Se;
779
- ii(V), I.length === 0 && ((Q = n.domElement) == null || Q.releasePointerCapture(V.pointerId), (ce = n.domElement) == null || ce.ownerDocument.removeEventListener("pointermove", An), (Se = n.domElement) == null || Se.ownerDocument.removeEventListener("pointerup", sr)), n.dispatchEvent(l), u = c.NONE;
779
+ ii(E), I.length === 0 && ((Q = n.domElement) == null || Q.releasePointerCapture(E.pointerId), (ce = n.domElement) == null || ce.ownerDocument.removeEventListener("pointermove", An), (Se = n.domElement) == null || Se.ownerDocument.removeEventListener("pointerup", sr)), n.dispatchEvent(l), u = c.NONE;
780
780
  }
781
- function or(V) {
781
+ function or(E) {
782
782
  let Q;
783
- switch (V.button) {
783
+ switch (E.button) {
784
784
  case 0:
785
785
  Q = n.mouseButtons.LEFT;
786
786
  break;
@@ -797,28 +797,28 @@ class _w extends vw {
797
797
  case Qn.DOLLY:
798
798
  if (n.enableZoom === !1)
799
799
  return;
800
- Ue(V), u = c.DOLLY;
800
+ Ue(E), u = c.DOLLY;
801
801
  break;
802
802
  case Qn.ROTATE:
803
- if (V.ctrlKey || V.metaKey || V.shiftKey) {
803
+ if (E.ctrlKey || E.metaKey || E.shiftKey) {
804
804
  if (n.enablePan === !1)
805
805
  return;
806
- je(V), u = c.PAN;
806
+ je(E), u = c.PAN;
807
807
  } else {
808
808
  if (n.enableRotate === !1)
809
809
  return;
810
- Fe(V), u = c.ROTATE;
810
+ Fe(E), u = c.ROTATE;
811
811
  }
812
812
  break;
813
813
  case Qn.PAN:
814
- if (V.ctrlKey || V.metaKey || V.shiftKey) {
814
+ if (E.ctrlKey || E.metaKey || E.shiftKey) {
815
815
  if (n.enableRotate === !1)
816
816
  return;
817
- Fe(V), u = c.ROTATE;
817
+ Fe(E), u = c.ROTATE;
818
818
  } else {
819
819
  if (n.enablePan === !1)
820
820
  return;
821
- je(V), u = c.PAN;
821
+ je(E), u = c.PAN;
822
822
  }
823
823
  break;
824
824
  default:
@@ -826,34 +826,34 @@ class _w extends vw {
826
826
  }
827
827
  u !== c.NONE && n.dispatchEvent(s);
828
828
  }
829
- function lo(V) {
829
+ function lo(E) {
830
830
  if (n.enabled !== !1)
831
831
  switch (u) {
832
832
  case c.ROTATE:
833
833
  if (n.enableRotate === !1)
834
834
  return;
835
- Je(V);
835
+ Je(E);
836
836
  break;
837
837
  case c.DOLLY:
838
838
  if (n.enableZoom === !1)
839
839
  return;
840
- Qe(V);
840
+ Qe(E);
841
841
  break;
842
842
  case c.PAN:
843
843
  if (n.enablePan === !1)
844
844
  return;
845
- ht(V);
845
+ ht(E);
846
846
  break;
847
847
  }
848
848
  }
849
- function Xn(V) {
850
- n.enabled === !1 || n.enableZoom === !1 || u !== c.NONE && u !== c.ROTATE || (V.preventDefault(), n.dispatchEvent(s), yt(V), n.dispatchEvent(l));
849
+ function Xn(E) {
850
+ n.enabled === !1 || n.enableZoom === !1 || u !== c.NONE && u !== c.ROTATE || (E.preventDefault(), n.dispatchEvent(s), yt(E), n.dispatchEvent(l));
851
851
  }
852
- function ln(V) {
853
- n.enabled === !1 || n.enablePan === !1 || He(V);
852
+ function ln(E) {
853
+ n.enabled === !1 || n.enablePan === !1 || He(E);
854
854
  }
855
- function ti(V) {
856
- switch (Wr(V), I.length) {
855
+ function ti(E) {
856
+ switch (Wr(E), I.length) {
857
857
  case 1:
858
858
  switch (n.touches.ONE) {
859
859
  case qn.ROTATE:
@@ -864,7 +864,7 @@ class _w extends vw {
864
864
  case qn.PAN:
865
865
  if (n.enablePan === !1)
866
866
  return;
867
- En(), u = c.TOUCH_PAN;
867
+ Vn(), u = c.TOUCH_PAN;
868
868
  break;
869
869
  default:
870
870
  u = c.NONE;
@@ -891,60 +891,60 @@ class _w extends vw {
891
891
  }
892
892
  u !== c.NONE && n.dispatchEvent(s);
893
893
  }
894
- function ni(V) {
895
- switch (Wr(V), u) {
894
+ function ni(E) {
895
+ switch (Wr(E), u) {
896
896
  case c.TOUCH_ROTATE:
897
897
  if (n.enableRotate === !1)
898
898
  return;
899
- Pt(V), n.update();
899
+ Pt(E), n.update();
900
900
  break;
901
901
  case c.TOUCH_PAN:
902
902
  if (n.enablePan === !1)
903
903
  return;
904
- ei(V), n.update();
904
+ ei(E), n.update();
905
905
  break;
906
906
  case c.TOUCH_DOLLY_PAN:
907
907
  if (n.enableZoom === !1 && n.enablePan === !1)
908
908
  return;
909
- ir(V), n.update();
909
+ ir(E), n.update();
910
910
  break;
911
911
  case c.TOUCH_DOLLY_ROTATE:
912
912
  if (n.enableZoom === !1 && n.enableRotate === !1)
913
913
  return;
914
- Tt(V), n.update();
914
+ Tt(E), n.update();
915
915
  break;
916
916
  default:
917
917
  u = c.NONE;
918
918
  }
919
919
  }
920
- function Zr(V) {
921
- n.enabled !== !1 && V.preventDefault();
920
+ function Zr(E) {
921
+ n.enabled !== !1 && E.preventDefault();
922
922
  }
923
- function ri(V) {
924
- I.push(V);
923
+ function ri(E) {
924
+ I.push(E);
925
925
  }
926
- function ii(V) {
927
- delete A[V.pointerId];
926
+ function ii(E) {
927
+ delete A[E.pointerId];
928
928
  for (let Q = 0; Q < I.length; Q++)
929
- if (I[Q].pointerId == V.pointerId) {
929
+ if (I[Q].pointerId == E.pointerId) {
930
930
  I.splice(Q, 1);
931
931
  return;
932
932
  }
933
933
  }
934
- function Wr(V) {
935
- let Q = A[V.pointerId];
936
- Q === void 0 && (Q = new Ie(), A[V.pointerId] = Q), Q.set(V.pageX, V.pageY);
934
+ function Wr(E) {
935
+ let Q = A[E.pointerId];
936
+ Q === void 0 && (Q = new Ie(), A[E.pointerId] = Q), Q.set(E.pageX, E.pageY);
937
937
  }
938
- function ar(V) {
939
- const Q = V.pointerId === I[0].pointerId ? I[1] : I[0];
938
+ function ar(E) {
939
+ const Q = E.pointerId === I[0].pointerId ? I[1] : I[0];
940
940
  return A[Q.pointerId];
941
941
  }
942
- this.dollyIn = (V = j()) => {
943
- ve(V), n.update();
944
- }, this.dollyOut = (V = j()) => {
945
- pe(V), n.update();
946
- }, this.getScale = () => g, this.setScale = (V) => {
947
- ee(V), n.update();
942
+ this.dollyIn = (E = j()) => {
943
+ ve(E), n.update();
944
+ }, this.dollyOut = (E = j()) => {
945
+ pe(E), n.update();
946
+ }, this.getScale = () => g, this.setScale = (E) => {
947
+ ee(E), n.update();
948
948
  }, this.getZoomScale = () => j(), e !== void 0 && this.connect(e), this.update();
949
949
  }
950
950
  }
@@ -980,10 +980,10 @@ class Sw extends il {
980
980
  return new Ow(e);
981
981
  }), this.register(function(e) {
982
982
  return new Cw(e);
983
- }), this.register(function(e) {
984
- return new Ew(e);
985
983
  }), this.register(function(e) {
986
984
  return new Vw(e);
985
+ }), this.register(function(e) {
986
+ return new Ew(e);
987
987
  }), this.register(function(e) {
988
988
  return new Aw(e);
989
989
  }), this.register(function(e) {
@@ -1190,7 +1190,7 @@ class Gw {
1190
1190
  d = new Da(p), d.distance = f;
1191
1191
  break;
1192
1192
  case "spot":
1193
- d = new Vh(p), d.distance = f, u.spot = u.spot || {}, u.spot.innerConeAngle = u.spot.innerConeAngle !== void 0 ? u.spot.innerConeAngle : 0, u.spot.outerConeAngle = u.spot.outerConeAngle !== void 0 ? u.spot.outerConeAngle : Math.PI / 4, d.angle = u.spot.outerConeAngle, d.penumbra = 1 - u.spot.innerConeAngle / u.spot.outerConeAngle, d.target.position.set(0, 0, -1), d.add(d.target);
1193
+ d = new Eh(p), d.distance = f, u.spot = u.spot || {}, u.spot.innerConeAngle = u.spot.innerConeAngle !== void 0 ? u.spot.innerConeAngle : 0, u.spot.outerConeAngle = u.spot.outerConeAngle !== void 0 ? u.spot.outerConeAngle : Math.PI / 4, d.angle = u.spot.outerConeAngle, d.penumbra = 1 - u.spot.innerConeAngle / u.spot.outerConeAngle, d.target.position.set(0, 0, -1), d.add(d.target);
1194
1194
  break;
1195
1195
  default:
1196
1196
  throw new Error("THREE.GLTFLoader: Unexpected light type: " + u.type);
@@ -1317,7 +1317,7 @@ class Cw {
1317
1317
  return l.sheenRoughnessFactor !== void 0 && (e.sheenRoughness = l.sheenRoughnessFactor), l.sheenColorTexture !== void 0 && s.push(n.assignTexture(e, "sheenColorMap", l.sheenColorTexture, _r)), l.sheenRoughnessTexture !== void 0 && s.push(n.assignTexture(e, "sheenRoughnessMap", l.sheenRoughnessTexture)), Promise.all(s);
1318
1318
  }
1319
1319
  }
1320
- class Ew {
1320
+ class Vw {
1321
1321
  constructor(t) {
1322
1322
  this.parser = t, this.name = be.KHR_MATERIALS_TRANSMISSION;
1323
1323
  }
@@ -1333,7 +1333,7 @@ class Ew {
1333
1333
  return l.transmissionFactor !== void 0 && (e.transmission = l.transmissionFactor), l.transmissionTexture !== void 0 && s.push(n.assignTexture(e, "transmissionMap", l.transmissionTexture)), Promise.all(s);
1334
1334
  }
1335
1335
  }
1336
- class Vw {
1336
+ class Ew {
1337
1337
  constructor(t) {
1338
1338
  this.parser = t, this.name = be.KHR_MATERIALS_VOLUME;
1339
1339
  }
@@ -1556,14 +1556,14 @@ class Yw {
1556
1556
  return c.length < 1 ? null : (c.push(this.parser.createNodeMesh(t)), Promise.all(c).then((d) => {
1557
1557
  const p = d.pop(), f = p.isGroup ? p.children : [p], g = d[0].count, y = [];
1558
1558
  for (const w of f) {
1559
- const S = new Me(), b = new J(), L = new tn(), T = new J(1, 1, 1), Z = new sl(w.geometry, w.material, g);
1560
- for (let E = 0; E < g; E++)
1561
- u.TRANSLATION && b.fromBufferAttribute(u.TRANSLATION, E), u.ROTATION && L.fromBufferAttribute(u.ROTATION, E), u.SCALE && T.fromBufferAttribute(u.SCALE, E), Z.setMatrixAt(E, S.compose(b, L, T));
1562
- for (const E in u)
1563
- if (E === "_COLOR_0") {
1564
- const z = u[E];
1559
+ const T = new Me(), b = new J(), S = new tn(), L = new J(1, 1, 1), Z = new sl(w.geometry, w.material, g);
1560
+ for (let V = 0; V < g; V++)
1561
+ u.TRANSLATION && b.fromBufferAttribute(u.TRANSLATION, V), u.ROTATION && S.fromBufferAttribute(u.ROTATION, V), u.SCALE && L.fromBufferAttribute(u.SCALE, V), Z.setMatrixAt(V, T.compose(b, S, L));
1562
+ for (const V in u)
1563
+ if (V === "_COLOR_0") {
1564
+ const z = u[V];
1565
1565
  Z.instanceColor = new Oa(z.array, z.itemSize, z.normalized);
1566
- } else E !== "TRANSLATION" && E !== "ROTATION" && E !== "SCALE" && w.geometry.setAttribute(E, u[E]);
1566
+ } else V !== "TRANSLATION" && V !== "ROTATION" && V !== "SCALE" && w.geometry.setAttribute(V, u[V]);
1567
1567
  rn.prototype.copy.call(Z, w), this.parser.assignFinalMaterial(Z), y.push(Z);
1568
1568
  }
1569
1569
  return p.isGroup ? (p.clear(), p.add(...y), p) : y[0];
@@ -1627,8 +1627,8 @@ class Hw {
1627
1627
  p,
1628
1628
  function(y) {
1629
1629
  for (const w in y.attributes) {
1630
- const S = y.attributes[w], b = u[w];
1631
- b !== void 0 && (S.normalized = b);
1630
+ const T = y.attributes[w], b = u[w];
1631
+ b !== void 0 && (T.normalized = b);
1632
1632
  }
1633
1633
  f(y);
1634
1634
  },
@@ -1665,10 +1665,10 @@ class td extends Mv {
1665
1665
  return e;
1666
1666
  }
1667
1667
  interpolate_(t, e, n, r) {
1668
- const s = this.resultBuffer, l = this.sampleValues, c = this.valueSize, u = c * 2, d = c * 3, p = r - e, f = (n - e) / p, g = f * f, y = g * f, w = t * d, S = w - d, b = -2 * y + 3 * g, L = y - g, T = 1 - b, Z = L - g + f;
1669
- for (let E = 0; E !== c; E++) {
1670
- const z = l[S + E + c], X = l[S + E + u] * p, k = l[w + E + c], P = l[w + E] * p;
1671
- s[E] = T * z + Z * X + b * k + L * P;
1668
+ const s = this.resultBuffer, l = this.sampleValues, c = this.valueSize, u = c * 2, d = c * 3, p = r - e, f = (n - e) / p, g = f * f, y = g * f, w = t * d, T = w - d, b = -2 * y + 3 * g, S = y - g, L = 1 - b, Z = S - g + f;
1669
+ for (let V = 0; V !== c; V++) {
1670
+ const z = l[T + V + c], X = l[T + V + u] * p, k = l[w + V + c], P = l[w + V] * p;
1671
+ s[V] = L * z + Z * X + b * k + S * P;
1672
1672
  }
1673
1673
  return s;
1674
1674
  }
@@ -1750,7 +1750,7 @@ const Ot = {
1750
1750
  BLEND: "BLEND"
1751
1751
  };
1752
1752
  function qw(a) {
1753
- return a.DefaultMaterial === void 0 && (a.DefaultMaterial = new Vi({
1753
+ return a.DefaultMaterial === void 0 && (a.DefaultMaterial = new Ei({
1754
1754
  color: 16777215,
1755
1755
  emissive: 0,
1756
1756
  metalness: 1,
@@ -2082,24 +2082,24 @@ class ix {
2082
2082
  const s = [];
2083
2083
  return r.bufferView !== void 0 ? s.push(this.getDependency("bufferView", r.bufferView)) : s.push(null), r.sparse !== void 0 && (s.push(this.getDependency("bufferView", r.sparse.indices.bufferView)), s.push(this.getDependency("bufferView", r.sparse.values.bufferView))), Promise.all(s).then(function(l) {
2084
2084
  const c = l[0], u = Ga[r.type], d = jr[r.componentType], p = d.BYTES_PER_ELEMENT, f = p * u, g = r.byteOffset || 0, y = r.bufferView !== void 0 ? n.bufferViews[r.bufferView].byteStride : void 0, w = r.normalized === !0;
2085
- let S, b;
2085
+ let T, b;
2086
2086
  if (y && y !== f) {
2087
- const L = Math.floor(g / y), T = "InterleavedBuffer:" + r.bufferView + ":" + r.componentType + ":" + L + ":" + r.count;
2088
- let Z = e.cache.get(T);
2089
- Z || (S = new d(c, L * y, r.count * y / p), Z = new vv(S, y / p), e.cache.add(T, Z)), b = new br(
2087
+ const S = Math.floor(g / y), L = "InterleavedBuffer:" + r.bufferView + ":" + r.componentType + ":" + S + ":" + r.count;
2088
+ let Z = e.cache.get(L);
2089
+ Z || (T = new d(c, S * y, r.count * y / p), Z = new vv(T, y / p), e.cache.add(L, Z)), b = new br(
2090
2090
  Z,
2091
2091
  u,
2092
2092
  g % y / p,
2093
2093
  w
2094
2094
  );
2095
2095
  } else
2096
- c === null ? S = new d(r.count * u) : S = new d(c, g, r.count * u), b = new Yt(S, u, w);
2096
+ c === null ? T = new d(r.count * u) : T = new d(c, g, r.count * u), b = new Yt(T, u, w);
2097
2097
  if (r.sparse !== void 0) {
2098
- const L = Ga.SCALAR, T = jr[r.sparse.indices.componentType], Z = r.sparse.indices.byteOffset || 0, E = r.sparse.values.byteOffset || 0, z = new T(
2098
+ const S = Ga.SCALAR, L = jr[r.sparse.indices.componentType], Z = r.sparse.indices.byteOffset || 0, V = r.sparse.values.byteOffset || 0, z = new L(
2099
2099
  l[1],
2100
2100
  Z,
2101
- r.sparse.count * L
2102
- ), X = new d(l[2], E, r.sparse.count * u);
2101
+ r.sparse.count * S
2102
+ ), X = new d(l[2], V, r.sparse.count * u);
2103
2103
  c !== null && (b = new Yt(
2104
2104
  b.array.slice(),
2105
2105
  b.itemSize,
@@ -2158,8 +2158,8 @@ class ix {
2158
2158
  const p = Promise.resolve(u).then(function(f) {
2159
2159
  return new Promise(function(g, y) {
2160
2160
  let w = g;
2161
- e.isImageBitmapLoader === !0 && (w = function(S) {
2162
- const b = new Qr(S);
2161
+ e.isImageBitmapLoader === !0 && (w = function(T) {
2162
+ const b = new Qr(T);
2163
2163
  b.needsUpdate = !0, g(b);
2164
2164
  }), e.load(Nr.resolveURL(f, s.path), w, void 0, y);
2165
2165
  });
@@ -2222,7 +2222,7 @@ class ix {
2222
2222
  t.material = n;
2223
2223
  }
2224
2224
  getMaterialType() {
2225
- return Vi;
2225
+ return Ei;
2226
2226
  }
2227
2227
  /**
2228
2228
  * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials
@@ -2318,22 +2318,22 @@ class ix {
2318
2318
  return c.push(e.loadGeometries(l)), Promise.all(c).then(function(u) {
2319
2319
  const d = u.slice(0, u.length - 1), p = u[u.length - 1], f = [];
2320
2320
  for (let y = 0, w = p.length; y < w; y++) {
2321
- const S = p[y], b = l[y];
2322
- let L;
2323
- const T = d[y];
2321
+ const T = p[y], b = l[y];
2322
+ let S;
2323
+ const L = d[y];
2324
2324
  if (b.mode === Ot.TRIANGLES || b.mode === Ot.TRIANGLE_STRIP || b.mode === Ot.TRIANGLE_FAN || b.mode === void 0)
2325
- L = s.isSkinnedMesh === !0 ? new Fh(S, T) : new ut(S, T), L.isSkinnedMesh === !0 && L.normalizeSkinWeights(), b.mode === Ot.TRIANGLE_STRIP ? L.geometry = Ju(L.geometry, Ch) : b.mode === Ot.TRIANGLE_FAN && (L.geometry = Ju(L.geometry, za));
2325
+ S = s.isSkinnedMesh === !0 ? new Fh(T, L) : new ut(T, L), S.isSkinnedMesh === !0 && S.normalizeSkinWeights(), b.mode === Ot.TRIANGLE_STRIP ? S.geometry = Ju(S.geometry, Ch) : b.mode === Ot.TRIANGLE_FAN && (S.geometry = Ju(S.geometry, za));
2326
2326
  else if (b.mode === Ot.LINES)
2327
- L = new Tv(S, T);
2327
+ S = new Tv(T, L);
2328
2328
  else if (b.mode === Ot.LINE_STRIP)
2329
- L = new kh(S, T);
2329
+ S = new kh(T, L);
2330
2330
  else if (b.mode === Ot.LINE_LOOP)
2331
- L = new Lv(S, T);
2331
+ S = new Lv(T, L);
2332
2332
  else if (b.mode === Ot.POINTS)
2333
- L = new Ai(S, T);
2333
+ S = new Ai(T, L);
2334
2334
  else
2335
2335
  throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + b.mode);
2336
- Object.keys(L.geometry.morphAttributes).length > 0 && ex(L, s), L.name = e.createUniqueName(s.name || "mesh_" + t), In(L, s), b.extensions && wr(r, L, b), e.assignFinalMaterial(L), f.push(L);
2336
+ Object.keys(S.geometry.morphAttributes).length > 0 && ex(S, s), S.name = e.createUniqueName(s.name || "mesh_" + t), In(S, s), b.extensions && wr(r, S, b), e.assignFinalMaterial(S), f.push(S);
2337
2337
  }
2338
2338
  for (let y = 0, w = f.length; y < w; y++)
2339
2339
  e.associations.set(f[y], {
@@ -2399,8 +2399,8 @@ class ix {
2399
2399
  loadAnimation(t) {
2400
2400
  const e = this.json, n = this, r = e.animations[t], s = r.name ? r.name : "animation_" + t, l = [], c = [], u = [], d = [], p = [];
2401
2401
  for (let f = 0, g = r.channels.length; f < g; f++) {
2402
- const y = r.channels[f], w = r.samplers[y.sampler], S = y.target, b = S.node, L = r.parameters !== void 0 ? r.parameters[w.input] : w.input, T = r.parameters !== void 0 ? r.parameters[w.output] : w.output;
2403
- S.node !== void 0 && (l.push(this.getDependency("node", b)), c.push(this.getDependency("accessor", L)), u.push(this.getDependency("accessor", T)), d.push(w), p.push(S));
2402
+ const y = r.channels[f], w = r.samplers[y.sampler], T = y.target, b = T.node, S = r.parameters !== void 0 ? r.parameters[w.input] : w.input, L = r.parameters !== void 0 ? r.parameters[w.output] : w.output;
2403
+ T.node !== void 0 && (l.push(this.getDependency("node", b)), c.push(this.getDependency("accessor", S)), u.push(this.getDependency("accessor", L)), d.push(w), p.push(T));
2404
2404
  }
2405
2405
  return Promise.all([
2406
2406
  Promise.all(l),
@@ -2409,18 +2409,18 @@ class ix {
2409
2409
  Promise.all(d),
2410
2410
  Promise.all(p)
2411
2411
  ]).then(function(f) {
2412
- const g = f[0], y = f[1], w = f[2], S = f[3], b = f[4], L = [];
2413
- for (let T = 0, Z = g.length; T < Z; T++) {
2414
- const E = g[T], z = y[T], X = w[T], k = S[T], P = b[T];
2415
- if (E === void 0)
2412
+ const g = f[0], y = f[1], w = f[2], T = f[3], b = f[4], S = [];
2413
+ for (let L = 0, Z = g.length; L < Z; L++) {
2414
+ const V = g[L], z = y[L], X = w[L], k = T[L], P = b[L];
2415
+ if (V === void 0)
2416
2416
  continue;
2417
- E.updateMatrix && E.updateMatrix();
2418
- const D = n._createAnimationTracks(E, z, X, k, P);
2417
+ V.updateMatrix && V.updateMatrix();
2418
+ const D = n._createAnimationTracks(V, z, X, k, P);
2419
2419
  if (D)
2420
2420
  for (let I = 0; I < D.length; I++)
2421
- L.push(D[I]);
2421
+ S.push(D[I]);
2422
2422
  }
2423
- return new Dh(s, void 0, L);
2423
+ return new Dh(s, void 0, S);
2424
2424
  });
2425
2425
  }
2426
2426
  createNodeMesh(t) {
@@ -2593,8 +2593,8 @@ function sx(a, t, e) {
2593
2593
  const g = e.json.accessors[f.POSITION], y = g.min, w = g.max;
2594
2594
  if (y !== void 0 && w !== void 0) {
2595
2595
  if (u.setX(Math.max(Math.abs(y[0]), Math.abs(w[0]))), u.setY(Math.max(Math.abs(y[1]), Math.abs(w[1]))), u.setZ(Math.max(Math.abs(y[2]), Math.abs(w[2]))), g.normalized) {
2596
- const S = qa(jr[g.componentType]);
2597
- u.multiplyScalar(S);
2596
+ const T = qa(jr[g.componentType]);
2597
+ u.multiplyScalar(T);
2598
2598
  }
2599
2599
  c.max(u);
2600
2600
  } else
@@ -2677,10 +2677,10 @@ function lx(a, t, e, n, r) {
2677
2677
  u[f] = t - r[a + 1 - f], d[f] = r[a + f] - t;
2678
2678
  let g = 0;
2679
2679
  for (let y = 0; y < f; ++y) {
2680
- const w = d[y + 1], S = u[f - y];
2681
- c[f][y] = w + S;
2680
+ const w = d[y + 1], T = u[f - y];
2681
+ c[f][y] = w + T;
2682
2682
  const b = c[y][f - 1] / c[f][y];
2683
- c[y][f] = g + w * b, g = S * b;
2683
+ c[y][f] = g + w * b, g = T * b;
2684
2684
  }
2685
2685
  c[f][f] = g;
2686
2686
  }
@@ -2689,17 +2689,17 @@ function lx(a, t, e, n, r) {
2689
2689
  for (let f = 0; f <= e; ++f) {
2690
2690
  let g = 0, y = 1;
2691
2691
  const w = [];
2692
- for (let S = 0; S <= e; ++S)
2693
- w[S] = s.slice(0);
2692
+ for (let T = 0; T <= e; ++T)
2693
+ w[T] = s.slice(0);
2694
2694
  w[0][0] = 1;
2695
- for (let S = 1; S <= n; ++S) {
2695
+ for (let T = 1; T <= n; ++T) {
2696
2696
  let b = 0;
2697
- const L = f - S, T = e - S;
2698
- f >= S && (w[y][0] = w[g][0] / c[T + 1][L], b = w[y][0] * c[L][T]);
2699
- const Z = L >= -1 ? 1 : -L, E = f - 1 <= T ? S - 1 : e - f;
2700
- for (let X = Z; X <= E; ++X)
2701
- w[y][X] = (w[g][X] - w[g][X - 1]) / c[T + 1][L + X], b += w[y][X] * c[L + X][T];
2702
- f <= T && (w[y][S] = -w[g][S - 1] / c[T + 1][f], b += w[y][S] * c[f][T]), l[S][f] = b;
2697
+ const S = f - T, L = e - T;
2698
+ f >= T && (w[y][0] = w[g][0] / c[L + 1][S], b = w[y][0] * c[S][L]);
2699
+ const Z = S >= -1 ? 1 : -S, V = f - 1 <= L ? T - 1 : e - f;
2700
+ for (let X = Z; X <= V; ++X)
2701
+ w[y][X] = (w[g][X] - w[g][X - 1]) / c[L + 1][S + X], b += w[y][X] * c[S + X][L];
2702
+ f <= L && (w[y][T] = -w[g][T - 1] / c[L + 1][f], b += w[y][T] * c[f][L]), l[T][f] = b;
2703
2703
  const z = g;
2704
2704
  g = y, y = z;
2705
2705
  }
@@ -3229,7 +3229,7 @@ class px {
3229
3229
  let d = Math.PI / 3;
3230
3230
  n.InnerAngle !== void 0 && (d = ct.degToRad(n.InnerAngle.value));
3231
3231
  let p = 0;
3232
- n.OuterAngle !== void 0 && (p = ct.degToRad(n.OuterAngle.value), p = Math.max(p, 1)), e = new Vh(s, l, c, d, p, u);
3232
+ n.OuterAngle !== void 0 && (p = ct.degToRad(n.OuterAngle.value), p = Math.max(p, 1)), e = new Eh(s, l, c, d, p, u);
3233
3233
  break;
3234
3234
  default:
3235
3235
  console.warn(
@@ -3406,49 +3406,49 @@ class mx {
3406
3406
  let n = 0, r = 0, s = !1, l = [], c = [], u = [], d = [], p = [], f = [];
3407
3407
  const g = this;
3408
3408
  return t.vertexIndices.forEach(function(y, w) {
3409
- let S, b = !1;
3409
+ let T, b = !1;
3410
3410
  y < 0 && (y = y ^ -1, b = !0);
3411
- let L = [], T = [];
3411
+ let S = [], L = [];
3412
3412
  if (l.push(y * 3, y * 3 + 1, y * 3 + 2), t.color) {
3413
- const Z = Vs(w, n, y, t.color);
3413
+ const Z = Es(w, n, y, t.color);
3414
3414
  u.push(Z[0], Z[1], Z[2]);
3415
3415
  }
3416
3416
  if (t.skeleton) {
3417
3417
  if (t.weightTable[y] !== void 0 && t.weightTable[y].forEach(function(Z) {
3418
- T.push(Z.weight), L.push(Z.id);
3419
- }), T.length > 4) {
3418
+ L.push(Z.weight), S.push(Z.id);
3419
+ }), L.length > 4) {
3420
3420
  s || (console.warn(
3421
3421
  "THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights."
3422
3422
  ), s = !0);
3423
- const Z = [0, 0, 0, 0], E = [0, 0, 0, 0];
3424
- T.forEach(function(z, X) {
3425
- let k = z, P = L[X];
3426
- E.forEach(function(D, I, A) {
3423
+ const Z = [0, 0, 0, 0], V = [0, 0, 0, 0];
3424
+ L.forEach(function(z, X) {
3425
+ let k = z, P = S[X];
3426
+ V.forEach(function(D, I, A) {
3427
3427
  if (k > D) {
3428
3428
  A[I] = k, k = D;
3429
3429
  const U = Z[I];
3430
3430
  Z[I] = P, P = U;
3431
3431
  }
3432
3432
  });
3433
- }), L = Z, T = E;
3433
+ }), S = Z, L = V;
3434
3434
  }
3435
- for (; T.length < 4; )
3436
- T.push(0), L.push(0);
3435
+ for (; L.length < 4; )
3436
+ L.push(0), S.push(0);
3437
3437
  for (let Z = 0; Z < 4; ++Z)
3438
- p.push(T[Z]), f.push(L[Z]);
3438
+ p.push(L[Z]), f.push(S[Z]);
3439
3439
  }
3440
3440
  if (t.normal) {
3441
- const Z = Vs(w, n, y, t.normal);
3441
+ const Z = Es(w, n, y, t.normal);
3442
3442
  c.push(Z[0], Z[1], Z[2]);
3443
3443
  }
3444
- t.material && t.material.mappingType !== "AllSame" && (S = Vs(w, n, y, t.material)[0]), t.uv && t.uv.forEach(function(Z, E) {
3445
- const z = Vs(w, n, y, Z);
3446
- d[E] === void 0 && (d[E] = []), d[E].push(z[0]), d[E].push(z[1]);
3444
+ t.material && t.material.mappingType !== "AllSame" && (T = Es(w, n, y, t.material)[0]), t.uv && t.uv.forEach(function(Z, V) {
3445
+ const z = Es(w, n, y, Z);
3446
+ d[V] === void 0 && (d[V] = []), d[V].push(z[0]), d[V].push(z[1]);
3447
3447
  }), r++, b && (g.genFace(
3448
3448
  e,
3449
3449
  t,
3450
3450
  l,
3451
- S,
3451
+ T,
3452
3452
  c,
3453
3453
  u,
3454
3454
  d,
@@ -3484,8 +3484,8 @@ class mx {
3484
3484
  genMorphGeometry(t, e, n, r, s) {
3485
3485
  const l = e.PolygonVertexIndex !== void 0 ? e.PolygonVertexIndex.a : [], c = n.Vertices !== void 0 ? n.Vertices.a : [], u = n.Indexes !== void 0 ? n.Indexes.a : [], d = t.attributes.position.count * 3, p = new Float32Array(d);
3486
3486
  for (let w = 0; w < u.length; w++) {
3487
- const S = u[w] * 3;
3488
- p[S] = c[w * 3], p[S + 1] = c[w * 3 + 1], p[S + 2] = c[w * 3 + 2];
3487
+ const T = u[w] * 3;
3488
+ p[T] = c[w * 3], p[T + 1] = c[w * 3 + 1], p[T + 2] = c[w * 3 + 2];
3489
3489
  }
3490
3490
  const f = {
3491
3491
  vertexIndices: l,
@@ -3665,10 +3665,10 @@ class gx {
3665
3665
  s[d] && (s[d][p.attr] = p);
3666
3666
  } else if (p.curves.morph !== void 0) {
3667
3667
  if (s[d] === void 0) {
3668
- const f = Oe.get(u.ID).parents.filter(function(L) {
3669
- return L.relationship !== void 0;
3670
- })[0].ID, g = Oe.get(f).parents[0].ID, y = Oe.get(g).parents[0].ID, w = Oe.get(y).parents[0].ID, S = xe.Objects.Model[w], b = {
3671
- modelName: S.attrName ? Ci.sanitizeNodeName(S.attrName) : "",
3668
+ const f = Oe.get(u.ID).parents.filter(function(S) {
3669
+ return S.relationship !== void 0;
3670
+ })[0].ID, g = Oe.get(f).parents[0].ID, y = Oe.get(g).parents[0].ID, w = Oe.get(y).parents[0].ID, T = xe.Objects.Model[w], b = {
3671
+ modelName: T.attrName ? Ci.sanitizeNodeName(T.attrName) : "",
3672
3672
  morphName: xe.Objects.Deformer[f].attrName
3673
3673
  };
3674
3674
  s[d] = b;
@@ -4183,7 +4183,7 @@ function bx(a) {
4183
4183
  return a / 46186158e3;
4184
4184
  }
4185
4185
  const _x = [];
4186
- function Vs(a, t, e, n) {
4186
+ function Es(a, t, e, n) {
4187
4187
  let r;
4188
4188
  switch (n.mappingType) {
4189
4189
  case "ByPolygonVertex":
@@ -4221,23 +4221,23 @@ function id(a) {
4221
4221
  I.push(a.eulerOrder), r.makeRotationFromEuler(Ia.fromArray(I)), r.invert();
4222
4222
  }
4223
4223
  a.scale && s.scale(Ur.fromArray(a.scale)), a.scalingOffset && c.setPosition(Ur.fromArray(a.scalingOffset)), a.scalingPivot && l.setPosition(Ur.fromArray(a.scalingPivot)), a.rotationOffset && u.setPosition(Ur.fromArray(a.rotationOffset)), a.rotationPivot && d.setPosition(Ur.fromArray(a.rotationPivot)), a.parentMatrixWorld && (f.copy(a.parentMatrix), p.copy(a.parentMatrixWorld));
4224
- const w = e.clone().multiply(n).multiply(r), S = new Me();
4225
- S.extractRotation(p);
4224
+ const w = e.clone().multiply(n).multiply(r), T = new Me();
4225
+ T.extractRotation(p);
4226
4226
  const b = new Me();
4227
4227
  b.copyPosition(p);
4228
- const L = b.clone().invert().multiply(p), T = S.clone().invert().multiply(L), Z = s, E = new Me();
4228
+ const S = b.clone().invert().multiply(p), L = T.clone().invert().multiply(S), Z = s, V = new Me();
4229
4229
  if (y === 0)
4230
- E.copy(S).multiply(w).multiply(T).multiply(Z);
4230
+ V.copy(T).multiply(w).multiply(L).multiply(Z);
4231
4231
  else if (y === 1)
4232
- E.copy(S).multiply(T).multiply(w).multiply(Z);
4232
+ V.copy(T).multiply(L).multiply(w).multiply(Z);
4233
4233
  else {
4234
- const A = new Me().scale(new J().setFromMatrixScale(f)).clone().invert(), U = T.clone().multiply(A);
4235
- E.copy(S).multiply(w).multiply(U).multiply(Z);
4234
+ const A = new Me().scale(new J().setFromMatrixScale(f)).clone().invert(), U = L.clone().multiply(A);
4235
+ V.copy(T).multiply(w).multiply(U).multiply(Z);
4236
4236
  }
4237
4237
  const z = d.clone().invert(), X = l.clone().invert();
4238
4238
  let k = t.clone().multiply(u).multiply(d).multiply(e).multiply(n).multiply(r).multiply(z).multiply(c).multiply(l).multiply(s).multiply(X);
4239
4239
  const P = new Me().copyPosition(k), D = p.clone().multiply(P);
4240
- return g.copyPosition(D), k = g.clone().multiply(E), k.premultiply(p.invert()), k;
4240
+ return g.copyPosition(D), k = g.clone().multiply(V), k.premultiply(p.invert()), k;
4241
4241
  }
4242
4242
  function sd(a) {
4243
4243
  a = a || 0;
@@ -4366,38 +4366,38 @@ class Sx extends Rv {
4366
4366
  }, w = function(P, D, I, A) {
4367
4367
  const U = P[D + 3], j = Math.pow(2, U - 128) / 255;
4368
4368
  I[A + 0] = P[D + 0] * j, I[A + 1] = P[D + 1] * j, I[A + 2] = P[D + 2] * j, I[A + 3] = 1;
4369
- }, S = function(P, D, I, A) {
4369
+ }, T = function(P, D, I, A) {
4370
4370
  const U = P[D + 3], j = Math.pow(2, U - 128) / 255;
4371
4371
  I[A + 0] = Cs.toHalfFloat(Math.min(P[D + 0] * j, 65504)), I[A + 1] = Cs.toHalfFloat(Math.min(P[D + 1] * j, 65504)), I[A + 2] = Cs.toHalfFloat(Math.min(P[D + 2] * j, 65504)), I[A + 3] = Cs.toHalfFloat(1);
4372
4372
  }, b = new Uint8Array(t);
4373
4373
  b.pos = 0;
4374
- const L = g(b), T = L.width, Z = L.height, E = y(b.subarray(b.pos), T, Z);
4374
+ const S = g(b), L = S.width, Z = S.height, V = y(b.subarray(b.pos), L, Z);
4375
4375
  let z, X, k;
4376
4376
  switch (this.type) {
4377
4377
  case Us:
4378
- k = E.length / 4;
4378
+ k = V.length / 4;
4379
4379
  const P = new Float32Array(k * 4);
4380
4380
  for (let I = 0; I < k; I++)
4381
- w(E, I * 4, P, I * 4);
4381
+ w(V, I * 4, P, I * 4);
4382
4382
  z = P, X = Us;
4383
4383
  break;
4384
4384
  case Ps:
4385
- k = E.length / 4;
4385
+ k = V.length / 4;
4386
4386
  const D = new Uint16Array(k * 4);
4387
4387
  for (let I = 0; I < k; I++)
4388
- S(E, I * 4, D, I * 4);
4388
+ T(V, I * 4, D, I * 4);
4389
4389
  z = D, X = Ps;
4390
4390
  break;
4391
4391
  default:
4392
4392
  throw new Error("THREE.RGBELoader: Unsupported type: " + this.type);
4393
4393
  }
4394
4394
  return {
4395
- width: T,
4395
+ width: L,
4396
4396
  height: Z,
4397
4397
  data: z,
4398
- header: L.string,
4399
- gamma: L.gamma,
4400
- exposure: L.exposure,
4398
+ header: S.string,
4399
+ gamma: S.gamma,
4400
+ exposure: S.exposure,
4401
4401
  type: X
4402
4402
  };
4403
4403
  }
@@ -4586,8 +4586,8 @@ function Gx() {
4586
4586
  const f = p.draco, g = new f.Decoder(), y = new f.DecoderBuffer();
4587
4587
  y.Init(new Int8Array(u), u.byteLength);
4588
4588
  try {
4589
- const w = e(f, g, y, d), S = w.attributes.map((b) => b.array.buffer);
4590
- w.index && S.push(w.index.array.buffer), self.postMessage({ type: "decode", id: c.id, geometry: w }, S);
4589
+ const w = e(f, g, y, d), T = w.attributes.map((b) => b.array.buffer);
4590
+ w.index && T.push(w.index.array.buffer), self.postMessage({ type: "decode", id: c.id, geometry: w }, T);
4591
4591
  } catch (w) {
4592
4592
  console.error(w), self.postMessage({ type: "error", id: c.id, error: w.message });
4593
4593
  } finally {
@@ -4609,20 +4609,20 @@ function Gx() {
4609
4609
  throw new Error("THREE.DRACOLoader: Unexpected geometry type.");
4610
4610
  if (!y.ok() || g.ptr === 0)
4611
4611
  throw new Error("THREE.DRACOLoader: Decoding failed: " + y.error_msg());
4612
- const S = { index: null, attributes: [] };
4612
+ const T = { index: null, attributes: [] };
4613
4613
  for (const b in p) {
4614
- const L = self[f[b]];
4615
- let T, Z;
4614
+ const S = self[f[b]];
4615
+ let L, Z;
4616
4616
  if (d.useUniqueIDs)
4617
- Z = p[b], T = c.GetAttributeByUniqueId(g, Z);
4617
+ Z = p[b], L = c.GetAttributeByUniqueId(g, Z);
4618
4618
  else {
4619
4619
  if (Z = c.GetAttributeId(g, l[p[b]]), Z === -1)
4620
4620
  continue;
4621
- T = c.GetAttribute(g, Z);
4621
+ L = c.GetAttribute(g, Z);
4622
4622
  }
4623
- S.attributes.push(r(l, c, g, b, L, T));
4623
+ T.attributes.push(r(l, c, g, b, S, L));
4624
4624
  }
4625
- return w === l.TRIANGULAR_MESH && (S.index = n(l, c, g)), l.destroy(g), S;
4625
+ return w === l.TRIANGULAR_MESH && (T.index = n(l, c, g)), l.destroy(g), T;
4626
4626
  }
4627
4627
  function n(l, c, u) {
4628
4628
  const p = u.num_faces() * 3, f = p * 4, g = l._malloc(f);
@@ -4631,12 +4631,12 @@ function Gx() {
4631
4631
  return l._free(g), { array: y, itemSize: 1 };
4632
4632
  }
4633
4633
  function r(l, c, u, d, p, f) {
4634
- const g = f.num_components(), w = u.num_points() * g, S = w * p.BYTES_PER_ELEMENT, b = s(l, p), L = l._malloc(S);
4635
- c.GetAttributeDataArrayForAllPoints(u, f, b, S, L);
4636
- const T = new p(l.HEAPF32.buffer, L, w).slice();
4637
- return l._free(L), {
4634
+ const g = f.num_components(), w = u.num_points() * g, T = w * p.BYTES_PER_ELEMENT, b = s(l, p), S = l._malloc(T);
4635
+ c.GetAttributeDataArrayForAllPoints(u, f, b, T, S);
4636
+ const L = new p(l.HEAPF32.buffer, S, w).slice();
4637
+ return l._free(S), {
4638
4638
  name: d,
4639
- array: T,
4639
+ array: L,
4640
4640
  itemSize: g
4641
4641
  };
4642
4642
  }
@@ -5289,7 +5289,7 @@ class zi extends rl {
5289
5289
  }), this.setValues(t);
5290
5290
  }
5291
5291
  }
5292
- const Ca = /* @__PURE__ */ new an(), ch = /* @__PURE__ */ new J(), uh = /* @__PURE__ */ new J(), tt = /* @__PURE__ */ new an(), nt = /* @__PURE__ */ new an(), dn = /* @__PURE__ */ new an(), Ea = /* @__PURE__ */ new J(), Va = /* @__PURE__ */ new Me(), it = /* @__PURE__ */ new Cv(), hh = /* @__PURE__ */ new J(), Xs = /* @__PURE__ */ new Mr(), Fs = /* @__PURE__ */ new ll(), fn = /* @__PURE__ */ new an();
5292
+ const Ca = /* @__PURE__ */ new an(), ch = /* @__PURE__ */ new J(), uh = /* @__PURE__ */ new J(), tt = /* @__PURE__ */ new an(), nt = /* @__PURE__ */ new an(), dn = /* @__PURE__ */ new an(), Va = /* @__PURE__ */ new J(), Ea = /* @__PURE__ */ new Me(), it = /* @__PURE__ */ new Cv(), hh = /* @__PURE__ */ new J(), Xs = /* @__PURE__ */ new Mr(), Fs = /* @__PURE__ */ new ll(), fn = /* @__PURE__ */ new an();
5293
5293
  let pn, Lr;
5294
5294
  function dh(a, t, e) {
5295
5295
  return fn.set(0, 0, -t, 1).applyMatrix4(a.projectionMatrix), fn.multiplyScalar(1 / fn.w), fn.x = Lr / e.width, fn.y = Lr / e.height, fn.applyMatrix4(a.projectionMatrixInverse), fn.multiplyScalar(1 / fn.w), Math.abs(Math.max(fn.x, fn.y));
@@ -5313,28 +5313,28 @@ function Zx(a, t) {
5313
5313
  }
5314
5314
  function Wx(a, t, e) {
5315
5315
  const n = t.projectionMatrix, s = a.material.resolution, l = a.matrixWorld, c = a.geometry, u = c.attributes.instanceStart, d = c.attributes.instanceEnd, p = Math.min(c.instanceCount, u.count), f = -t.near;
5316
- pn.at(1, dn), dn.w = 1, dn.applyMatrix4(t.matrixWorldInverse), dn.applyMatrix4(n), dn.multiplyScalar(1 / dn.w), dn.x *= s.x / 2, dn.y *= s.y / 2, dn.z = 0, Ea.copy(dn), Va.multiplyMatrices(t.matrixWorldInverse, l);
5316
+ pn.at(1, dn), dn.w = 1, dn.applyMatrix4(t.matrixWorldInverse), dn.applyMatrix4(n), dn.multiplyScalar(1 / dn.w), dn.x *= s.x / 2, dn.y *= s.y / 2, dn.z = 0, Va.copy(dn), Ea.multiplyMatrices(t.matrixWorldInverse, l);
5317
5317
  for (let g = 0, y = p; g < y; g++) {
5318
- if (tt.fromBufferAttribute(u, g), nt.fromBufferAttribute(d, g), tt.w = 1, nt.w = 1, tt.applyMatrix4(Va), nt.applyMatrix4(Va), tt.z > f && nt.z > f)
5318
+ if (tt.fromBufferAttribute(u, g), nt.fromBufferAttribute(d, g), tt.w = 1, nt.w = 1, tt.applyMatrix4(Ea), nt.applyMatrix4(Ea), tt.z > f && nt.z > f)
5319
5319
  continue;
5320
5320
  if (tt.z > f) {
5321
- const Z = tt.z - nt.z, E = (tt.z - f) / Z;
5322
- tt.lerp(nt, E);
5321
+ const Z = tt.z - nt.z, V = (tt.z - f) / Z;
5322
+ tt.lerp(nt, V);
5323
5323
  } else if (nt.z > f) {
5324
- const Z = nt.z - tt.z, E = (nt.z - f) / Z;
5325
- nt.lerp(tt, E);
5324
+ const Z = nt.z - tt.z, V = (nt.z - f) / Z;
5325
+ nt.lerp(tt, V);
5326
5326
  }
5327
5327
  tt.applyMatrix4(n), nt.applyMatrix4(n), tt.multiplyScalar(1 / tt.w), nt.multiplyScalar(1 / nt.w), tt.x *= s.x / 2, tt.y *= s.y / 2, nt.x *= s.x / 2, nt.y *= s.y / 2, it.start.copy(tt), it.start.z = 0, it.end.copy(nt), it.end.z = 0;
5328
- const S = it.closestPointToPointParameter(Ea, !0);
5329
- it.at(S, hh);
5330
- const b = ct.lerp(tt.z, nt.z, S), L = b >= -1 && b <= 1, T = Ea.distanceTo(hh) < Lr * 0.5;
5331
- if (L && T) {
5328
+ const T = it.closestPointToPointParameter(Va, !0);
5329
+ it.at(T, hh);
5330
+ const b = ct.lerp(tt.z, nt.z, T), S = b >= -1 && b <= 1, L = Va.distanceTo(hh) < Lr * 0.5;
5331
+ if (S && L) {
5332
5332
  it.start.fromBufferAttribute(u, g), it.end.fromBufferAttribute(d, g), it.start.applyMatrix4(l), it.end.applyMatrix4(l);
5333
- const Z = new J(), E = new J();
5334
- pn.distanceSqToSegment(it.start, it.end, E, Z), e.push({
5335
- point: E,
5333
+ const Z = new J(), V = new J();
5334
+ pn.distanceSqToSegment(it.start, it.end, V, Z), e.push({
5335
+ point: V,
5336
5336
  pointOnLine: Z,
5337
- distance: pn.origin.distanceTo(E),
5337
+ distance: pn.origin.distanceTo(V),
5338
5338
  object: a,
5339
5339
  face: null,
5340
5340
  faceIndex: g,
@@ -5640,27 +5640,27 @@ var Jr = Object.freeze({
5640
5640
  if (f.length === 0)
5641
5641
  continue;
5642
5642
  for (var g = [c], y = 0, w = f.length; y < w; y += 1) {
5643
- var S = this._handleRelativeValue(c, f[y]);
5644
- if (isNaN(S)) {
5643
+ var T = this._handleRelativeValue(c, f[y]);
5644
+ if (isNaN(T)) {
5645
5645
  p = !1, console.warn("Found invalid interpolation list. Skipping.");
5646
5646
  break;
5647
5647
  }
5648
- g.push(S);
5648
+ g.push(T);
5649
5649
  }
5650
5650
  p && (n[l] = g);
5651
5651
  }
5652
5652
  if ((d === "object" || u) && c && !p) {
5653
5653
  e[l] = u ? [] : {};
5654
5654
  var b = c;
5655
- for (var L in b)
5656
- e[l][L] = b[L];
5655
+ for (var S in b)
5656
+ e[l][S] = b[S];
5657
5657
  r[l] = u ? [] : {};
5658
5658
  var f = n[l];
5659
5659
  if (!this._isDynamic) {
5660
- var T = {};
5661
- for (var L in f)
5662
- T[L] = f[L];
5663
- n[l] = f = T;
5660
+ var L = {};
5661
+ for (var S in f)
5662
+ L[S] = f[S];
5663
+ n[l] = f = L;
5664
5664
  }
5665
5665
  this._setupProperties(b, e[l], f, r[l], s);
5666
5666
  } else
@@ -5725,8 +5725,8 @@ var Jr = Object.freeze({
5725
5725
  var c = t - this._startTime, u = this._duration + ((r = this._repeatDelayTime) !== null && r !== void 0 ? r : this._delayTime), d = this._duration + this._repeat * u, p = function() {
5726
5726
  if (n._duration === 0 || c > d)
5727
5727
  return 1;
5728
- var b = Math.trunc(c / u), L = c - b * u, T = Math.min(L / n._duration, 1);
5729
- return T === 0 && c === n._duration ? 1 : T;
5728
+ var b = Math.trunc(c / u), S = c - b * u, L = Math.min(S / n._duration, 1);
5729
+ return L === 0 && c === n._duration ? 1 : L;
5730
5730
  }, f = p(), g = this._easingFunction(f);
5731
5731
  if (this._updateProperties(this._object, this._valuesStart, this._valuesEnd, g), this._onUpdateCallback && this._onUpdateCallback(this._object, f), this._duration === 0 || c >= this._duration)
5732
5732
  if (this._repeat > 0) {
@@ -5739,7 +5739,7 @@ var Jr = Object.freeze({
5739
5739
  return this._yoyo && (this._reversed = !this._reversed), this._startTime += u * y, this._onRepeatCallback && this._onRepeatCallback(this._object), this._onEveryStartCallbackFired = !1, !0;
5740
5740
  } else {
5741
5741
  this._onCompleteCallback && this._onCompleteCallback(this._object);
5742
- for (var w = 0, S = this._chainedTweens.length; w < S; w++)
5742
+ for (var w = 0, T = this._chainedTweens.length; w < T; w++)
5743
5743
  this._chainedTweens[w].start(this._startTime + this._duration, !1);
5744
5744
  return this._isPlaying = !1, !1;
5745
5745
  }
@@ -5788,7 +5788,7 @@ function Cx(a, t, e, n = 0, r = 1) {
5788
5788
  const s = (a - t) * (r - n) / (e - t) + n, l = Math.min(n, r), c = Math.max(n, r);
5789
5789
  return s < l ? l : s > c ? c : s || 0;
5790
5790
  }
5791
- class Ex extends Hh {
5791
+ class Vx extends Hh {
5792
5792
  /**
5793
5793
  * 构造函数
5794
5794
  * @param container 容器元素或选择器字符串
@@ -5925,9 +5925,9 @@ class Ex extends Hh {
5925
5925
  * @returns 场景对象
5926
5926
  */
5927
5927
  _createScene(e) {
5928
- const n = new Ev(), r = e?.defaultColor || "rgb(21,48,94)";
5928
+ const n = new Vv(), r = e?.defaultColor || "rgb(21,48,94)";
5929
5929
  if (n.background = new Le(r), n.fog = new Bu(r, 2e-4), e?.files) {
5930
- const s = new Vv();
5930
+ const s = new Ev();
5931
5931
  e.path && s.setPath(e.path), s.load(
5932
5932
  e.files,
5933
5933
  (l) => {
@@ -6056,13 +6056,13 @@ class Ex extends Hh {
6056
6056
  0.5
6057
6057
  );
6058
6058
  f.name = "AuxDirLight_LeftRim", this.scene.add(f), this.scene.add(f.target);
6059
- const S = this._createAuxLightInstance(
6059
+ const T = this._createAuxLightInstance(
6060
6060
  this.centerPostion.x + 55e3 * 1,
6061
6061
  55e3 * 1.5,
6062
6062
  this.centerPostion.z + 55e3 * -1.2,
6063
6063
  0.5
6064
6064
  );
6065
- return S.name = "AuxDirLight_RightRim", this.scene.add(S), this.scene.add(S.target), c;
6065
+ return T.name = "AuxDirLight_RightRim", this.scene.add(T), this.scene.add(T.target), c;
6066
6066
  }
6067
6067
  /**
6068
6068
  * 创建单个辅助平行光实例。
@@ -6161,7 +6161,7 @@ class Ex extends Hh {
6161
6161
  return [e, n];
6162
6162
  }
6163
6163
  _createGorund() {
6164
- const e = this.centerPostion, n = new Vi({
6164
+ const e = this.centerPostion, n = new Ei({
6165
6165
  transparent: !1,
6166
6166
  color: new Le("rgb(45,52,60)").multiplyScalar(0.7),
6167
6167
  metalness: 0.2,
@@ -6171,7 +6171,7 @@ class Ex extends Hh {
6171
6171
  }
6172
6172
  }
6173
6173
  var Zi = /* @__PURE__ */ ((a) => (a[a.none = 0] = "none", a[a.create = 1] = "create", a[a.remove = 2] = "remove", a))(Zi || {});
6174
- function Vx(a, t) {
6174
+ function Ex(a, t) {
6175
6175
  const e = a.position.clone().setZ(a.maxZ).applyMatrix4(a.matrixWorld);
6176
6176
  return t.distanceTo(e);
6177
6177
  }
@@ -6430,7 +6430,7 @@ const zx = 10, Dx = new Uh(), Ox = new J(), Kx = new Me(), Yx = new Mr(new J(-0.
6430
6430
  return this.traverse((r) => {
6431
6431
  r.receiveShadow = this.receiveShadow, r.castShadow = this.castShadow;
6432
6432
  const s = Yx.clone().applyMatrix4(r.matrixWorld);
6433
- s.max.setY(9e3), r.inFrustum = ph.intersectsBox(s), r.distToCamera = Vx(r, n);
6433
+ s.max.setY(9e3), r.inFrustum = ph.intersectsBox(s), r.distToCamera = Ex(r, n);
6434
6434
  const { action: l, newTiles: c } = r.LOD(e);
6435
6435
  this._doAction(r, l, c, e);
6436
6436
  }), this._checkReady(), this;
@@ -7153,7 +7153,7 @@ function vh() {
7153
7153
  return window.devicePixelRatio || window.screen.deviceXDPI / window.screen.logicalXDPI;
7154
7154
  }
7155
7155
  if (!yh) {
7156
- const a = navigator.userAgent.toLowerCase(), t = document.documentElement || { style: {} }, e = "ActiveXObject" in window, n = a.indexOf("webkit") !== -1, r = a.indexOf("phantom") !== -1, s = a.search("android [23]") !== -1, l = a.indexOf("chrome") !== -1, c = a.indexOf("gecko") !== -1 && !n && !("opera" in window) && !e, u = /iphone/i.test(a) && /micromessenger/i.test(a), d = typeof orientation < "u" || a.indexOf("mobile") !== -1, p = !window.PointerEvent && "MSPointerEvent" in window, f = window.PointerEvent && navigator.pointerEnabled || p, g = e && "transition" in t.style, y = "WebKitCSSMatrix" in window && "m11" in new window.WebKitCSSMatrix() && !s, w = "MozPerspective" in t.style, S = "OTransition" in t.style, b = (g || y || w) && !S && !r, L = typeof window < "u" && _i(window.createImageBitmap), T = typeof window < "u" && _i(window.ResizeObserver), Z = typeof window < "u" && _i(window.btoa), E = typeof window < "u" && _i(window.Proxy), z = typeof window < "u" && _i(window.requestIdleCallback);
7156
+ const a = navigator.userAgent.toLowerCase(), t = document.documentElement || { style: {} }, e = "ActiveXObject" in window, n = a.indexOf("webkit") !== -1, r = a.indexOf("phantom") !== -1, s = a.search("android [23]") !== -1, l = a.indexOf("chrome") !== -1, c = a.indexOf("gecko") !== -1 && !n && !("opera" in window) && !e, u = /iphone/i.test(a) && /micromessenger/i.test(a), d = typeof orientation < "u" || a.indexOf("mobile") !== -1, p = !window.PointerEvent && "MSPointerEvent" in window, f = window.PointerEvent && navigator.pointerEnabled || p, g = e && "transition" in t.style, y = "WebKitCSSMatrix" in window && "m11" in new window.WebKitCSSMatrix() && !s, w = "MozPerspective" in t.style, T = "OTransition" in t.style, b = (g || y || w) && !T && !r, S = typeof window < "u" && _i(window.createImageBitmap), L = typeof window < "u" && _i(window.ResizeObserver), Z = typeof window < "u" && _i(window.btoa), V = typeof window < "u" && _i(window.Proxy), z = typeof window < "u" && _i(window.requestIdleCallback);
7157
7157
  let X = 0;
7158
7158
  if (l) {
7159
7159
  const U = a.match(/chrome\/([\d.]+)/);
@@ -7193,7 +7193,7 @@ if (!yh) {
7193
7193
  ie3d: g,
7194
7194
  webkit3d: y,
7195
7195
  gecko3d: w,
7196
- opera12: S,
7196
+ opera12: T,
7197
7197
  any3d: b,
7198
7198
  iosWeixin: u,
7199
7199
  mobile: d,
@@ -7213,13 +7213,13 @@ if (!yh) {
7213
7213
  // @ts-ignore
7214
7214
  ie10: e && document.documentMode === 10,
7215
7215
  webgl: P,
7216
- imageBitMap: L,
7217
- resizeObserver: T,
7216
+ imageBitMap: S,
7217
+ resizeObserver: L,
7218
7218
  btoa: Z,
7219
7219
  decodeImageInWorker: I,
7220
7220
  monitorDPRChange: !0,
7221
7221
  supportsPassive: A,
7222
- proxy: E,
7222
+ proxy: V,
7223
7223
  requestIdleCallback: z,
7224
7224
  // removeDPRListening: (map) => {
7225
7225
  // // if (map) {
@@ -7683,7 +7683,7 @@ class eb extends sn {
7683
7683
  g.map = r, g.transparent = !0, g.depthWrite = !1, g.needsUpdate = !0, this.cloudMaterial = g, this.instance = new sl(c, g, t);
7684
7684
  const y = this.instance;
7685
7685
  y.matrixAutoUpdate = !1, y.frustumCulled = s, y.instanceColor = new Oa(d, 3), y.instanceColor.setUsage(ju), l.add(y);
7686
- const w = [], S = () => {
7686
+ const w = [], T = () => {
7687
7687
  const k = w.length;
7688
7688
  let P = 0;
7689
7689
  for (let D = 0; D < this.ref.children.length; D++) {
@@ -7711,15 +7711,15 @@ class eb extends sn {
7711
7711
  count: k
7712
7712
  });
7713
7713
  };
7714
- let L = 0, T = 0, Z;
7715
- const E = new tn(), z = new J(0, 0, 1), X = new J();
7714
+ let S = 0, L = 0, Z;
7715
+ const V = new tn(), z = new J(0, 0, 1), X = new J();
7716
7716
  this.update = (k, P, D) => {
7717
- L = P, wh.copy(y.matrixWorld).invert(), k.matrixWorld.decompose(xh, bh, Ti);
7718
- const I = S();
7719
- for (T = 0; T < I.length; T++)
7720
- Z = I[T], Z.ref.matrixWorld.decompose(ks, zs, Ti), ks.add(X.copy(Z.position).applyQuaternion(zs).multiply(Ti)), zs.copy(bh).multiply(E.setFromAxisAngle(z, Z.rotation += D * Z.rotationFactor)), Ti.multiplyScalar(Z.volume + (1 + Math.sin(L * Z.density * Z.speed)) / 2 * Z.growth), Z.matrix.compose(ks, zs, Ti).premultiply(wh), Z.dist = ks.distanceTo(xh);
7721
- for (I.sort((A, U) => U.dist - A.dist), T = 0; T < I.length; T++)
7722
- Z = I[T], u[T] = Z.opacity * (Z.dist < Z.fade - 1 ? Z.dist / Z.fade : 1), y.setMatrixAt(T, Z.matrix), y.setColorAt(T, Z.color);
7717
+ S = P, wh.copy(y.matrixWorld).invert(), k.matrixWorld.decompose(xh, bh, Ti);
7718
+ const I = T();
7719
+ for (L = 0; L < I.length; L++)
7720
+ Z = I[L], Z.ref.matrixWorld.decompose(ks, zs, Ti), ks.add(X.copy(Z.position).applyQuaternion(zs).multiply(Ti)), zs.copy(bh).multiply(V.setFromAxisAngle(z, Z.rotation += D * Z.rotationFactor)), Ti.multiplyScalar(Z.volume + (1 + Math.sin(S * Z.density * Z.speed)) / 2 * Z.growth), Z.matrix.compose(ks, zs, Ti).premultiply(wh), Z.dist = ks.distanceTo(xh);
7721
+ for (I.sort((A, U) => U.dist - A.dist), L = 0; L < I.length; L++)
7722
+ Z = I[L], u[L] = Z.opacity * (Z.dist < Z.fade - 1 ? Z.dist / Z.fade : 1), y.setMatrixAt(L, Z.matrix), y.setColorAt(L, Z.color);
7723
7723
  y.geometry.attributes.cloudOpacity.needsUpdate = !0, y.instanceMatrix.needsUpdate = !0, y.instanceColor && (y.instanceColor.needsUpdate = !0);
7724
7724
  };
7725
7725
  }
@@ -7795,23 +7795,23 @@ class nb extends sn {
7795
7795
  } = this;
7796
7796
  this.updateCloudStateArray();
7797
7797
  let w = 0;
7798
- function S() {
7798
+ function T() {
7799
7799
  const b = Math.sin(u + w) * 1e4;
7800
7800
  return w++, b - Math.floor(b);
7801
7801
  }
7802
- d.forEach((b, L) => {
7803
- b.segments = f, b.volume = t, b.color = e, b.speed = n, b.growth = r, b.opacity = s, b.fade = l, b.bounds.copy(c), b.density = Math.max(0.5, S()), b.rotationFactor = Math.max(0.2, 0.5 * S()) * n;
7804
- const T = p?.(b, L);
7805
- if (T || f > 1) {
7802
+ d.forEach((b, S) => {
7803
+ b.segments = f, b.volume = t, b.color = e, b.speed = n, b.growth = r, b.opacity = s, b.fade = l, b.bounds.copy(c), b.density = Math.max(0.5, T()), b.rotationFactor = Math.max(0.2, 0.5 * T()) * n;
7804
+ const L = p?.(b, S);
7805
+ if (L || f > 1) {
7806
7806
  var Z;
7807
- b.position.copy(b.bounds).multiply((Z = T?.point) !== null && Z !== void 0 ? Z : {
7808
- x: S() * 2 - 1,
7809
- y: S() * 2 - 1,
7810
- z: S() * 2 - 1
7807
+ b.position.copy(b.bounds).multiply((Z = L?.point) !== null && Z !== void 0 ? Z : {
7808
+ x: T() * 2 - 1,
7809
+ y: T() * 2 - 1,
7810
+ z: T() * 2 - 1
7811
7811
  });
7812
7812
  }
7813
- const E = Math.abs(b.position.x), z = Math.abs(b.position.y), X = Math.abs(b.position.z), k = Math.max(E, z, X);
7814
- b.length = 1, E === k && (b.length -= E / b.bounds.x), z === k && (b.length -= z / b.bounds.y), X === k && (b.length -= X / b.bounds.z), b.volume = (T?.volume !== void 0 ? T.volume : Math.max(Math.max(0, y), g === "random" ? S() : g === "inside" ? b.length : 1 - b.length)) * t;
7813
+ const V = Math.abs(b.position.x), z = Math.abs(b.position.y), X = Math.abs(b.position.z), k = Math.max(V, z, X);
7814
+ b.length = 1, V === k && (b.length -= V / b.bounds.x), z === k && (b.length -= z / b.bounds.y), X === k && (b.length -= X / b.bounds.z), b.volume = (L?.volume !== void 0 ? L.volume : Math.max(Math.max(0, y), g === "random" ? T() : g === "inside" ? b.length : 1 - b.length)) * t;
7815
7815
  });
7816
7816
  }
7817
7817
  }
@@ -8031,7 +8031,7 @@ function gd(a) {
8031
8031
  async function ab(a, t) {
8032
8032
  const { geometry: e, center: n, avgY: r } = gd(t), s = await on._loadTexture(a.normalMap), l = await on._loadTexture(a.normalMap);
8033
8033
  s.wrapS = s.wrapT = Cn, l.wrapS = l.wrapT = Cn, s.repeat.set(0.015, 0.015), l.repeat.set(5e-3, 5e-3);
8034
- const c = new Vi({
8034
+ const c = new Ei({
8035
8035
  color: new Le(a.color).multiplyScalar(3.5),
8036
8036
  roughness: 0.1,
8037
8037
  // 稍微增加粗糙度更真实
@@ -8107,12 +8107,12 @@ async function cb(a, t) {
8107
8107
  depthTest: !1,
8108
8108
  depthWrite: !1,
8109
8109
  fog: !1
8110
- }), S = new Gr(w), b = n.fixedSize;
8111
- return S.scale.set(
8110
+ }), T = new Gr(w), b = n.fixedSize;
8111
+ return T.scale.set(
8112
8112
  r.width * b / 100,
8113
8113
  r.height * b / 100,
8114
8114
  1
8115
- ), t && S.position.copy(t), S.renderOrder = 9999, S;
8115
+ ), t && T.position.copy(t), T.renderOrder = 9999, T;
8116
8116
  }
8117
8117
  async function ub(a, t, e) {
8118
8118
  const r = { ...{
@@ -8155,15 +8155,15 @@ async function ub(a, t, e) {
8155
8155
  r.bubblePointerHeight,
8156
8156
  r.bubblePointerWidth
8157
8157
  ), l.fill(), l.globalAlpha = 1, l.strokeStyle = r.bubbleBorderColor, l.lineWidth = r.bubbleBorderWidth, l.stroke())), l.textAlign = "center", l.textBaseline = "middle", r.strokeWidth > 0 && (l.strokeStyle = r.strokeColor, l.lineWidth = r.strokeWidth, l.lineJoin = "round", l.strokeText(r.text, s.width / 2, s.height / 2)), l.fillStyle = r.textColor, l.fillText(r.text, s.width / 2, s.height / 2), l.shadowColor = "transparent";
8158
- const w = new Xi(s), S = new Fi({
8158
+ const w = new Xi(s), T = new Fi({
8159
8159
  map: w,
8160
8160
  transparent: !0,
8161
8161
  depthTest: !1,
8162
8162
  depthWrite: !1,
8163
8163
  fog: !1
8164
- }), b = new Gr(S);
8164
+ }), b = new Gr(T);
8165
8165
  b.position.copy(t), b.renderOrder = 9999, b.userData.isLabel = !0;
8166
- const L = () => {
8166
+ const S = () => {
8167
8167
  if (!b.visible) return;
8168
8168
  const Z = e.viewer.camera.position.distanceTo(b.position);
8169
8169
  if (Z > r.maxVisibleDistance) {
@@ -8171,16 +8171,16 @@ async function ub(a, t, e) {
8171
8171
  return;
8172
8172
  }
8173
8173
  b.visible = !0;
8174
- const E = new Ie();
8175
- e.viewer.renderer.getSize(E);
8176
- const z = E.height, X = r.screenSpaceSize / s.height * (Z / Math.tan(ct.degToRad(e.viewer.camera.fov) / 2)) * (2 / z);
8174
+ const V = new Ie();
8175
+ e.viewer.renderer.getSize(V);
8176
+ const z = V.height, X = r.screenSpaceSize / s.height * (Z / Math.tan(ct.degToRad(e.viewer.camera.fov) / 2)) * (2 / z);
8177
8177
  b.scale.set(X * s.width, X * s.height, 1), b.lookAt(e.viewer.camera.position);
8178
8178
  };
8179
- L();
8180
- const T = () => L();
8179
+ S();
8180
+ const L = () => S();
8181
8181
  return b.addEventListener("dispose", () => {
8182
- e.viewer.renderer.domElement.removeEventListener("resize", L);
8183
- }), e.viewer.renderer.domElement.addEventListener("resize", L), e.viewer.camera.addEventListener("change", L), b.onBeforeRender = T, b;
8182
+ e.viewer.renderer.domElement.removeEventListener("resize", S);
8183
+ }), e.viewer.renderer.domElement.addEventListener("resize", S), e.viewer.camera.addEventListener("change", S), b.onBeforeRender = L, b;
8184
8184
  }
8185
8185
  function yd(a, t, e, n, r, s) {
8186
8186
  a.beginPath(), a.moveTo(t + s, e), a.lineTo(t + n - s, e), a.quadraticCurveTo(t + n, e, t + n, e + s), a.lineTo(t + n, e + r - s), a.quadraticCurveTo(t + n, e + r, t + n - s, e + r), a.lineTo(t + s, e + r), a.quadraticCurveTo(t, e + r, t, e + r - s), a.lineTo(t, e + s), a.quadraticCurveTo(t, e, t + s, e), a.closePath();
@@ -8226,31 +8226,31 @@ async function hb(a, t, e) {
8226
8226
  strokeWidth: g = s / 9,
8227
8227
  iconScale: y = 0.8,
8228
8228
  canvasScale: w = 1,
8229
- renderbg: S = !0,
8229
+ renderbg: T = !0,
8230
8230
  textOffset: b = { x: 0, y: 0 }
8231
- } = a, L = {
8231
+ } = a, S = {
8232
8232
  top: 0,
8233
8233
  right: 1,
8234
8234
  bottom: 0,
8235
8235
  left: 0,
8236
8236
  ...u
8237
8237
  };
8238
- let T = null;
8239
- r && (T = await fb(r));
8240
- const { canvas: Z, width: E, height: z, center: X } = await db({
8238
+ let L = null;
8239
+ r && (L = await fb(r));
8240
+ const { canvas: Z, width: V, height: z, center: X } = await db({
8241
8241
  text: n,
8242
- iconImage: T,
8242
+ iconImage: L,
8243
8243
  fontSize: s,
8244
8244
  iconSize: l,
8245
8245
  fontFamily: c,
8246
- padding: L,
8246
+ padding: S,
8247
8247
  bgColor: d,
8248
8248
  textColor: p,
8249
8249
  strokeColor: f,
8250
8250
  strokeWidth: g,
8251
8251
  iconScale: y,
8252
8252
  canvasScale: w,
8253
- renderbg: S,
8253
+ renderbg: T,
8254
8254
  textOffset: b
8255
8255
  }, t), k = new Qr(Z);
8256
8256
  k.needsUpdate = !0;
@@ -8264,7 +8264,7 @@ async function hb(a, t, e) {
8264
8264
  alphaTest: 0.01
8265
8265
  }), D = new Gr(P), I = 1e-3;
8266
8266
  return D.scale.set(
8267
- E * I,
8267
+ V * I,
8268
8268
  z * I,
8269
8269
  1
8270
8270
  ), D.center.set(X[0], X[1]), e && D.position.copy(e), D.renderOrder = 999, D;
@@ -8284,19 +8284,19 @@ async function db(a, t) {
8284
8284
  strokeWidth: g,
8285
8285
  iconScale: y,
8286
8286
  canvasScale: w,
8287
- renderbg: S,
8287
+ renderbg: T,
8288
8288
  textOffset: b = { x: 0, y: 0 }
8289
- } = a, T = document.createElement("canvas").getContext("2d");
8290
- if (!T) throw new Error("Could not get temp canvas context");
8291
- T.font = `500 ${s}px ${c}`;
8292
- const Z = T.measureText(n), E = Z.width, z = Z.actualBoundingBoxAscent || s * 0.8, X = Z.actualBoundingBoxDescent || s * 0.2, k = r !== null;
8289
+ } = a, L = document.createElement("canvas").getContext("2d");
8290
+ if (!L) throw new Error("Could not get temp canvas context");
8291
+ L.font = `500 ${s}px ${c}`;
8292
+ const Z = L.measureText(n), V = Z.width, z = Z.actualBoundingBoxAscent || s * 0.8, X = Z.actualBoundingBoxDescent || s * 0.2, k = r !== null;
8293
8293
  let P = 0, D = 0, I = 0, A = 0;
8294
8294
  if (k) {
8295
8295
  P = 0, D = 0, I = l, A = l;
8296
- const ue = l / 2 + b.x, ye = l / 2 + b.y, Fe = ue, Ue = ue + E, je = ye - z, Je = ye + X;
8296
+ const ue = l / 2 + b.x, ye = l / 2 + b.y, Fe = ue, Ue = ue + V, je = ye - z, Je = ye + X;
8297
8297
  P = Math.min(P, Fe), I = Math.max(I, Ue), D = Math.min(D, je), A = Math.max(A, Je);
8298
8298
  } else {
8299
- const ue = b.x, ye = b.x + E, Fe = b.y - z, Ue = b.y + X;
8299
+ const ue = b.x, ye = b.x + V, Fe = b.y - z, Ue = b.y + X;
8300
8300
  P = ue, I = ye, D = Fe, A = Ue;
8301
8301
  }
8302
8302
  const U = I - P, j = A - D, B = Math.ceil(U + u.left + u.right) * w, q = Math.ceil(j + u.top + u.bottom) * w, N = u.left - P, ie = u.top - D, re = t._getCanvas(B, q, n);
@@ -8305,7 +8305,7 @@ async function db(a, t) {
8305
8305
  if (!ee) throw new Error("Could not get canvas context");
8306
8306
  ee.clearRect(0, 0, B, q), ee.globalCompositeOperation = "source-over", ee.save(), ee.scale(w, w);
8307
8307
  const pe = B / w, ve = q / w;
8308
- if (S && (ee.fillStyle = d, ee.fillRect(0, 0, pe, ve)), r) {
8308
+ if (T && (ee.fillStyle = d, ee.fillRect(0, 0, pe, ve)), r) {
8309
8309
  const ue = N, ye = ie, Fe = l * y, Ue = (l - Fe) / 2, je = (l - Fe) / 2;
8310
8310
  ee.imageSmoothingEnabled = !1, ee.drawImage(
8311
8311
  r,
@@ -8355,13 +8355,13 @@ async function pb(a, t, e) {
8355
8355
  u.position.add(e.prjcenter), u.castShadow = !0, u.renderOrder = 1;
8356
8356
  const d = new rn(), p = [];
8357
8357
  for (let w = 0; w < t.length; w++) {
8358
- const S = t[w], b = new J(
8359
- S.coordinates[0],
8360
- S.coordinates[1],
8361
- S.coordinates[2] || 0
8358
+ const T = t[w], b = new J(
8359
+ T.coordinates[0],
8360
+ T.coordinates[1],
8361
+ T.coordinates[2] || 0
8362
8362
  // 默认高度0
8363
- ), T = e.geo2world(b).sub(e.prjcenter);
8364
- d.position.copy(T), d.updateMatrix(), u.setMatrixAt(w, d.matrix), p.push(T.x, 0, T.z);
8363
+ ), L = e.geo2world(b).sub(e.prjcenter);
8364
+ d.position.copy(L), d.updateMatrix(), u.setMatrixAt(w, d.matrix), p.push(L.x, 0, L.z);
8365
8365
  }
8366
8366
  const f = new Float32Array(p), g = new nn();
8367
8367
  g.setAttribute("position", new Yt(f, 3));
@@ -9044,13 +9044,13 @@ class rr extends gl(
9044
9044
  u.forEach((X) => {
9045
9045
  d = Math.min(d, X.x), p = Math.max(p, X.x), f = Math.min(f, X.y), g = Math.max(g, X.y);
9046
9046
  });
9047
- const y = p - d, w = g - f, S = 4, b = Math.max(y, S), L = Math.max(w, S), T = new J();
9048
- r.getCenter(T);
9049
- const Z = T.clone().project(e), E = (Z.x * 0.5 + 0.5) * l, z = (-Z.y * 0.5 + 0.5) * c;
9047
+ const y = p - d, w = g - f, T = 4, b = Math.max(y, T), S = Math.max(w, T), L = new J();
9048
+ r.getCenter(L);
9049
+ const Z = L.clone().project(e), V = (Z.x * 0.5 + 0.5) * l, z = (-Z.y * 0.5 + 0.5) * c;
9050
9050
  return {
9051
9051
  width: b,
9052
- height: L,
9053
- offsetX: d - E,
9052
+ height: S,
9053
+ offsetX: d - V,
9054
9054
  // 左上角相对于中心的偏移
9055
9055
  offsetY: f - z
9056
9056
  };
@@ -9303,15 +9303,15 @@ function _b(a) {
9303
9303
  }
9304
9304
  function xd(a, t, e, n) {
9305
9305
  if (isNaN(t) || isNaN(e)) return a;
9306
- var r, s = a._root, l = { data: n }, c = a._x0, u = a._y0, d = a._x1, p = a._y1, f, g, y, w, S, b, L, T;
9306
+ var r, s = a._root, l = { data: n }, c = a._x0, u = a._y0, d = a._x1, p = a._y1, f, g, y, w, T, b, S, L;
9307
9307
  if (!s) return a._root = l, a;
9308
9308
  for (; s.length; )
9309
- if ((S = t >= (f = (c + d) / 2)) ? c = f : d = f, (b = e >= (g = (u + p) / 2)) ? u = g : p = g, r = s, !(s = s[L = b << 1 | S])) return r[L] = l, a;
9310
- if (y = +a._x.call(null, s.data), w = +a._y.call(null, s.data), t === y && e === w) return l.next = s, r ? r[L] = l : a._root = l, a;
9309
+ if ((T = t >= (f = (c + d) / 2)) ? c = f : d = f, (b = e >= (g = (u + p) / 2)) ? u = g : p = g, r = s, !(s = s[S = b << 1 | T])) return r[S] = l, a;
9310
+ if (y = +a._x.call(null, s.data), w = +a._y.call(null, s.data), t === y && e === w) return l.next = s, r ? r[S] = l : a._root = l, a;
9311
9311
  do
9312
- r = r ? r[L] = new Array(4) : a._root = new Array(4), (S = t >= (f = (c + d) / 2)) ? c = f : d = f, (b = e >= (g = (u + p) / 2)) ? u = g : p = g;
9313
- while ((L = b << 1 | S) === (T = (w >= g) << 1 | y >= f));
9314
- return r[T] = s, r[L] = l, a;
9312
+ r = r ? r[S] = new Array(4) : a._root = new Array(4), (T = t >= (f = (c + d) / 2)) ? c = f : d = f, (b = e >= (g = (u + p) / 2)) ? u = g : p = g;
9313
+ while ((S = b << 1 | T) === (L = (w >= g) << 1 | y >= f));
9314
+ return r[L] = s, r[S] = l, a;
9315
9315
  }
9316
9316
  function Tb(a) {
9317
9317
  var t, e, n = a.length, r, s, l = new Array(n), c = new Array(n), u = 1 / 0, d = 1 / 0, p = -1 / 0, f = -1 / 0;
@@ -9362,21 +9362,21 @@ function mt(a, t, e, n, r) {
9362
9362
  this.node = a, this.x0 = t, this.y0 = e, this.x1 = n, this.y1 = r;
9363
9363
  }
9364
9364
  function Gb(a, t, e) {
9365
- var n, r = this._x0, s = this._y0, l, c, u, d, p = this._x1, f = this._y1, g = [], y = this._root, w, S;
9365
+ var n, r = this._x0, s = this._y0, l, c, u, d, p = this._x1, f = this._y1, g = [], y = this._root, w, T;
9366
9366
  for (y && g.push(new mt(y, r, s, p, f)), e == null ? e = 1 / 0 : (r = a - e, s = t - e, p = a + e, f = t + e, e *= e); w = g.pop(); )
9367
9367
  if (!(!(y = w.node) || (l = w.x0) > p || (c = w.y0) > f || (u = w.x1) < r || (d = w.y1) < s))
9368
9368
  if (y.length) {
9369
- var b = (l + u) / 2, L = (c + d) / 2;
9369
+ var b = (l + u) / 2, S = (c + d) / 2;
9370
9370
  g.push(
9371
- new mt(y[3], b, L, u, d),
9372
- new mt(y[2], l, L, b, d),
9373
- new mt(y[1], b, c, u, L),
9374
- new mt(y[0], l, c, b, L)
9375
- ), (S = (t >= L) << 1 | a >= b) && (w = g[g.length - 1], g[g.length - 1] = g[g.length - 1 - S], g[g.length - 1 - S] = w);
9371
+ new mt(y[3], b, S, u, d),
9372
+ new mt(y[2], l, S, b, d),
9373
+ new mt(y[1], b, c, u, S),
9374
+ new mt(y[0], l, c, b, S)
9375
+ ), (T = (t >= S) << 1 | a >= b) && (w = g[g.length - 1], g[g.length - 1] = g[g.length - 1 - T], g[g.length - 1 - T] = w);
9376
9376
  } else {
9377
- var T = a - +this._x.call(null, y.data), Z = t - +this._y.call(null, y.data), E = T * T + Z * Z;
9378
- if (E < e) {
9379
- var z = Math.sqrt(e = E);
9377
+ var L = a - +this._x.call(null, y.data), Z = t - +this._y.call(null, y.data), V = L * L + Z * Z;
9378
+ if (V < e) {
9379
+ var z = Math.sqrt(e = V);
9380
9380
  r = a - z, s = t - z, p = a + z, f = t + z, n = y.data;
9381
9381
  }
9382
9382
  }
@@ -9384,15 +9384,15 @@ function Gb(a, t, e) {
9384
9384
  }
9385
9385
  function Zb(a) {
9386
9386
  if (isNaN(p = +this._x.call(null, a)) || isNaN(f = +this._y.call(null, a))) return this;
9387
- var t, e = this._root, n, r, s, l = this._x0, c = this._y0, u = this._x1, d = this._y1, p, f, g, y, w, S, b, L;
9387
+ var t, e = this._root, n, r, s, l = this._x0, c = this._y0, u = this._x1, d = this._y1, p, f, g, y, w, T, b, S;
9388
9388
  if (!e) return this;
9389
9389
  if (e.length) for (; ; ) {
9390
- if ((w = p >= (g = (l + u) / 2)) ? l = g : u = g, (S = f >= (y = (c + d) / 2)) ? c = y : d = y, t = e, !(e = e[b = S << 1 | w])) return this;
9390
+ if ((w = p >= (g = (l + u) / 2)) ? l = g : u = g, (T = f >= (y = (c + d) / 2)) ? c = y : d = y, t = e, !(e = e[b = T << 1 | w])) return this;
9391
9391
  if (!e.length) break;
9392
- (t[b + 1 & 3] || t[b + 2 & 3] || t[b + 3 & 3]) && (n = t, L = b);
9392
+ (t[b + 1 & 3] || t[b + 2 & 3] || t[b + 3 & 3]) && (n = t, S = b);
9393
9393
  }
9394
9394
  for (; e.data !== a; ) if (r = e, !(e = e.next)) return this;
9395
- return (s = e.next) && delete e.next, r ? (s ? r.next = s : delete r.next, this) : t ? (s ? t[b] = s : delete t[b], (e = t[0] || t[1] || t[2] || t[3]) && e === (t[3] || t[2] || t[1] || t[0]) && !e.length && (n ? n[L] = e : this._root = e), this) : (this._root = s, this);
9395
+ return (s = e.next) && delete e.next, r ? (s ? r.next = s : delete r.next, this) : t ? (s ? t[b] = s : delete t[b], (e = t[0] || t[1] || t[2] || t[3]) && e === (t[3] || t[2] || t[1] || t[0]) && !e.length && (n ? n[S] = e : this._root = e), this) : (this._root = s, this);
9396
9396
  }
9397
9397
  function Wb(a) {
9398
9398
  for (var t = 0, e = a.length; t < e; ++t) this.remove(a[t]);
@@ -9432,10 +9432,10 @@ function Cb(a) {
9432
9432
  a(n.node, n.x0, n.y0, n.x1, n.y1);
9433
9433
  return this;
9434
9434
  }
9435
- function Eb(a) {
9435
+ function Vb(a) {
9436
9436
  return a[0];
9437
9437
  }
9438
- function Vb(a) {
9438
+ function Eb(a) {
9439
9439
  return arguments.length ? (this._x = a, this) : this._x;
9440
9440
  }
9441
9441
  function Ab(a) {
@@ -9445,7 +9445,7 @@ function Xb(a) {
9445
9445
  return arguments.length ? (this._y = a, this) : this._y;
9446
9446
  }
9447
9447
  function bd(a, t, e) {
9448
- var n = new vl(t ?? Eb, e ?? Ab, NaN, NaN, NaN, NaN);
9448
+ var n = new vl(t ?? Vb, e ?? Ab, NaN, NaN, NaN, NaN);
9449
9449
  return a == null ? n : n.addAll(a);
9450
9450
  }
9451
9451
  function vl(a, t, e, n, r, s) {
@@ -9477,7 +9477,7 @@ gt.root = Ib;
9477
9477
  gt.size = Rb;
9478
9478
  gt.visit = Pb;
9479
9479
  gt.visitAfter = Cb;
9480
- gt.x = Vb;
9480
+ gt.x = Eb;
9481
9481
  gt.y = Xb;
9482
9482
  class _d {
9483
9483
  /**
@@ -10222,20 +10222,20 @@ var Li = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : t
10222
10222
  Qs.exports;
10223
10223
  (function(a, t) {
10224
10224
  (function() {
10225
- var e, n = "4.17.21", r = 200, s = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", l = "Expected a function", c = "Invalid `variable` option passed into `_.template`", u = "__lodash_hash_undefined__", d = 500, p = "__lodash_placeholder__", f = 1, g = 2, y = 4, w = 1, S = 2, b = 1, L = 2, T = 4, Z = 8, E = 16, z = 32, X = 64, k = 128, P = 256, D = 512, I = 30, A = "...", U = 800, j = 16, B = 1, q = 2, N = 3, ie = 1 / 0, re = 9007199254740991, ee = 17976931348623157e292, pe = NaN, ve = 4294967295, ue = ve - 1, ye = ve >>> 1, Fe = [
10225
+ var e, n = "4.17.21", r = 200, s = "Unsupported core-js use. Try https://npms.io/search?q=ponyfill.", l = "Expected a function", c = "Invalid `variable` option passed into `_.template`", u = "__lodash_hash_undefined__", d = 500, p = "__lodash_placeholder__", f = 1, g = 2, y = 4, w = 1, T = 2, b = 1, S = 2, L = 4, Z = 8, V = 16, z = 32, X = 64, k = 128, P = 256, D = 512, I = 30, A = "...", U = 800, j = 16, B = 1, q = 2, N = 3, ie = 1 / 0, re = 9007199254740991, ee = 17976931348623157e292, pe = NaN, ve = 4294967295, ue = ve - 1, ye = ve >>> 1, Fe = [
10226
10226
  ["ary", k],
10227
10227
  ["bind", b],
10228
- ["bindKey", L],
10228
+ ["bindKey", S],
10229
10229
  ["curry", Z],
10230
- ["curryRight", E],
10230
+ ["curryRight", V],
10231
10231
  ["flip", D],
10232
10232
  ["partial", z],
10233
10233
  ["partialRight", X],
10234
10234
  ["rearg", P]
10235
- ], Ue = "[object Arguments]", je = "[object Array]", Je = "[object AsyncFunction]", Qe = "[object Boolean]", ht = "[object Date]", yt = "[object DOMException]", He = "[object Error]", xn = "[object Function]", En = "[object GeneratorFunction]", Ae = "[object Map]", Ut = "[object Number]", Rt = "[object Null]", Pt = "[object Object]", ei = "[object Promise]", Oi = "[object Proxy]", ir = "[object RegExp]", Tt = "[object Set]", Vn = "[object String]", An = "[object Symbol]", sr = "[object Undefined]", or = "[object WeakMap]", lo = "[object WeakSet]", Xn = "[object ArrayBuffer]", ln = "[object DataView]", ti = "[object Float32Array]", ni = "[object Float64Array]", Zr = "[object Int8Array]", ri = "[object Int16Array]", ii = "[object Int32Array]", Wr = "[object Uint8Array]", ar = "[object Uint8ClampedArray]", V = "[object Uint16Array]", Q = "[object Uint32Array]", ce = /\b__p \+= '';/g, Se = /\b(__p \+=) '' \+/g, Ye = /(__e\(.*?\)|\b__t\)) \+\n'';/g, Ct = /&(?:amp|lt|gt|quot|#39);/g, Ht = /[&<>"']/g, xl = RegExp(Ct.source), Ki = RegExp(Ht.source), Nt = /<%-([\s\S]+?)%>/g, Bt = /<%([\s\S]+?)%>/g, Fn = /<%=([\s\S]+?)%>/g, lr = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, cr = /^\w*$/, Ir = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, co = /[\\^$.*+?()[\]{}|]/g, Od = RegExp(co.source), uo = /^\s+/, Kd = /\s/, Yd = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, Ud = /\{\n\/\* \[wrapped with (.+)\] \*/, Hd = /,? & /, Nd = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, Bd = /[()=,{}\[\]\/\s]/, jd = /\\(\\)?/g, Jd = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, bl = /\w*$/, Qd = /^[-+]0x[0-9a-f]+$/i, qd = /^0b[01]+$/i, $d = /^\[object .+?Constructor\]$/, ef = /^0o[0-7]+$/i, tf = /^(?:0|[1-9]\d*)$/, nf = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, Yi = /($^)/, rf = /['\n\r\u2028\u2029\\]/g, Ui = "\\ud800-\\udfff", sf = "\\u0300-\\u036f", of = "\\ufe20-\\ufe2f", af = "\\u20d0-\\u20ff", _l = sf + of + af, Tl = "\\u2700-\\u27bf", Ll = "a-z\\xdf-\\xf6\\xf8-\\xff", lf = "\\xac\\xb1\\xd7\\xf7", cf = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", uf = "\\u2000-\\u206f", hf = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", Sl = "A-Z\\xc0-\\xd6\\xd8-\\xde", Ml = "\\ufe0e\\ufe0f", Gl = lf + cf + uf + hf, ho = "['’]", df = "[" + Ui + "]", Zl = "[" + Gl + "]", Hi = "[" + _l + "]", Wl = "\\d+", ff = "[" + Tl + "]", Il = "[" + Ll + "]", Rl = "[^" + Ui + Gl + Wl + Tl + Ll + Sl + "]", fo = "\\ud83c[\\udffb-\\udfff]", pf = "(?:" + Hi + "|" + fo + ")", Pl = "[^" + Ui + "]", po = "(?:\\ud83c[\\udde6-\\uddff]){2}", mo = "[\\ud800-\\udbff][\\udc00-\\udfff]", Rr = "[" + Sl + "]", Cl = "\\u200d", El = "(?:" + Il + "|" + Rl + ")", mf = "(?:" + Rr + "|" + Rl + ")", Vl = "(?:" + ho + "(?:d|ll|m|re|s|t|ve))?", Al = "(?:" + ho + "(?:D|LL|M|RE|S|T|VE))?", Xl = pf + "?", Fl = "[" + Ml + "]?", gf = "(?:" + Cl + "(?:" + [Pl, po, mo].join("|") + ")" + Fl + Xl + ")*", yf = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", vf = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", kl = Fl + Xl + gf, wf = "(?:" + [ff, po, mo].join("|") + ")" + kl, xf = "(?:" + [Pl + Hi + "?", Hi, po, mo, df].join("|") + ")", bf = RegExp(ho, "g"), _f = RegExp(Hi, "g"), go = RegExp(fo + "(?=" + fo + ")|" + xf + kl, "g"), Tf = RegExp([
10236
- Rr + "?" + Il + "+" + Vl + "(?=" + [Zl, Rr, "$"].join("|") + ")",
10237
- mf + "+" + Al + "(?=" + [Zl, Rr + El, "$"].join("|") + ")",
10238
- Rr + "?" + El + "+" + Vl,
10235
+ ], Ue = "[object Arguments]", je = "[object Array]", Je = "[object AsyncFunction]", Qe = "[object Boolean]", ht = "[object Date]", yt = "[object DOMException]", He = "[object Error]", xn = "[object Function]", Vn = "[object GeneratorFunction]", Ae = "[object Map]", Ut = "[object Number]", Rt = "[object Null]", Pt = "[object Object]", ei = "[object Promise]", Oi = "[object Proxy]", ir = "[object RegExp]", Tt = "[object Set]", En = "[object String]", An = "[object Symbol]", sr = "[object Undefined]", or = "[object WeakMap]", lo = "[object WeakSet]", Xn = "[object ArrayBuffer]", ln = "[object DataView]", ti = "[object Float32Array]", ni = "[object Float64Array]", Zr = "[object Int8Array]", ri = "[object Int16Array]", ii = "[object Int32Array]", Wr = "[object Uint8Array]", ar = "[object Uint8ClampedArray]", E = "[object Uint16Array]", Q = "[object Uint32Array]", ce = /\b__p \+= '';/g, Se = /\b(__p \+=) '' \+/g, Ye = /(__e\(.*?\)|\b__t\)) \+\n'';/g, Ct = /&(?:amp|lt|gt|quot|#39);/g, Ht = /[&<>"']/g, xl = RegExp(Ct.source), Ki = RegExp(Ht.source), Nt = /<%-([\s\S]+?)%>/g, Bt = /<%([\s\S]+?)%>/g, Fn = /<%=([\s\S]+?)%>/g, lr = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, cr = /^\w*$/, Ir = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, co = /[\\^$.*+?()[\]{}|]/g, Od = RegExp(co.source), uo = /^\s+/, Kd = /\s/, Yd = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, Ud = /\{\n\/\* \[wrapped with (.+)\] \*/, Hd = /,? & /, Nd = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, Bd = /[()=,{}\[\]\/\s]/, jd = /\\(\\)?/g, Jd = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, bl = /\w*$/, Qd = /^[-+]0x[0-9a-f]+$/i, qd = /^0b[01]+$/i, $d = /^\[object .+?Constructor\]$/, ef = /^0o[0-7]+$/i, tf = /^(?:0|[1-9]\d*)$/, nf = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, Yi = /($^)/, rf = /['\n\r\u2028\u2029\\]/g, Ui = "\\ud800-\\udfff", sf = "\\u0300-\\u036f", of = "\\ufe20-\\ufe2f", af = "\\u20d0-\\u20ff", _l = sf + of + af, Tl = "\\u2700-\\u27bf", Ll = "a-z\\xdf-\\xf6\\xf8-\\xff", lf = "\\xac\\xb1\\xd7\\xf7", cf = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", uf = "\\u2000-\\u206f", hf = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", Sl = "A-Z\\xc0-\\xd6\\xd8-\\xde", Ml = "\\ufe0e\\ufe0f", Gl = lf + cf + uf + hf, ho = "['’]", df = "[" + Ui + "]", Zl = "[" + Gl + "]", Hi = "[" + _l + "]", Wl = "\\d+", ff = "[" + Tl + "]", Il = "[" + Ll + "]", Rl = "[^" + Ui + Gl + Wl + Tl + Ll + Sl + "]", fo = "\\ud83c[\\udffb-\\udfff]", pf = "(?:" + Hi + "|" + fo + ")", Pl = "[^" + Ui + "]", po = "(?:\\ud83c[\\udde6-\\uddff]){2}", mo = "[\\ud800-\\udbff][\\udc00-\\udfff]", Rr = "[" + Sl + "]", Cl = "\\u200d", Vl = "(?:" + Il + "|" + Rl + ")", mf = "(?:" + Rr + "|" + Rl + ")", El = "(?:" + ho + "(?:d|ll|m|re|s|t|ve))?", Al = "(?:" + ho + "(?:D|LL|M|RE|S|T|VE))?", Xl = pf + "?", Fl = "[" + Ml + "]?", gf = "(?:" + Cl + "(?:" + [Pl, po, mo].join("|") + ")" + Fl + Xl + ")*", yf = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", vf = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", kl = Fl + Xl + gf, wf = "(?:" + [ff, po, mo].join("|") + ")" + kl, xf = "(?:" + [Pl + Hi + "?", Hi, po, mo, df].join("|") + ")", bf = RegExp(ho, "g"), _f = RegExp(Hi, "g"), go = RegExp(fo + "(?=" + fo + ")|" + xf + kl, "g"), Tf = RegExp([
10236
+ Rr + "?" + Il + "+" + El + "(?=" + [Zl, Rr, "$"].join("|") + ")",
10237
+ mf + "+" + Al + "(?=" + [Zl, Rr + Vl, "$"].join("|") + ")",
10238
+ Rr + "?" + Vl + "+" + El,
10239
10239
  Rr + "+" + Al,
10240
10240
  vf,
10241
10241
  yf,
@@ -10273,9 +10273,9 @@ Qs.exports;
10273
10273
  "parseInt",
10274
10274
  "setTimeout"
10275
10275
  ], Gf = -1, Ce = {};
10276
- Ce[ti] = Ce[ni] = Ce[Zr] = Ce[ri] = Ce[ii] = Ce[Wr] = Ce[ar] = Ce[V] = Ce[Q] = !0, Ce[Ue] = Ce[je] = Ce[Xn] = Ce[Qe] = Ce[ln] = Ce[ht] = Ce[He] = Ce[xn] = Ce[Ae] = Ce[Ut] = Ce[Pt] = Ce[ir] = Ce[Tt] = Ce[Vn] = Ce[or] = !1;
10276
+ Ce[ti] = Ce[ni] = Ce[Zr] = Ce[ri] = Ce[ii] = Ce[Wr] = Ce[ar] = Ce[E] = Ce[Q] = !0, Ce[Ue] = Ce[je] = Ce[Xn] = Ce[Qe] = Ce[ln] = Ce[ht] = Ce[He] = Ce[xn] = Ce[Ae] = Ce[Ut] = Ce[Pt] = Ce[ir] = Ce[Tt] = Ce[En] = Ce[or] = !1;
10277
10277
  var Pe = {};
10278
- Pe[Ue] = Pe[je] = Pe[Xn] = Pe[ln] = Pe[Qe] = Pe[ht] = Pe[ti] = Pe[ni] = Pe[Zr] = Pe[ri] = Pe[ii] = Pe[Ae] = Pe[Ut] = Pe[Pt] = Pe[ir] = Pe[Tt] = Pe[Vn] = Pe[An] = Pe[Wr] = Pe[ar] = Pe[V] = Pe[Q] = !0, Pe[He] = Pe[xn] = Pe[or] = !1;
10278
+ Pe[Ue] = Pe[je] = Pe[Xn] = Pe[ln] = Pe[Qe] = Pe[ht] = Pe[ti] = Pe[ni] = Pe[Zr] = Pe[ri] = Pe[ii] = Pe[Ae] = Pe[Ut] = Pe[Pt] = Pe[ir] = Pe[Tt] = Pe[En] = Pe[An] = Pe[Wr] = Pe[ar] = Pe[E] = Pe[Q] = !0, Pe[He] = Pe[xn] = Pe[or] = !1;
10279
10279
  var Zf = {
10280
10280
  // Latin-1 Supplement block.
10281
10281
  À: "A",
@@ -10488,13 +10488,13 @@ Qs.exports;
10488
10488
  "\r": "r",
10489
10489
  "\u2028": "u2028",
10490
10490
  "\u2029": "u2029"
10491
- }, Pf = parseFloat, Cf = parseInt, zl = typeof Li == "object" && Li && Li.Object === Object && Li, Ef = typeof self == "object" && self && self.Object === Object && self, $e = zl || Ef || Function("return this")(), yo = t && !t.nodeType && t, ur = yo && !0 && a && !a.nodeType && a, Dl = ur && ur.exports === yo, vo = Dl && zl.process, Et = function() {
10491
+ }, Pf = parseFloat, Cf = parseInt, zl = typeof Li == "object" && Li && Li.Object === Object && Li, Vf = typeof self == "object" && self && self.Object === Object && self, $e = zl || Vf || Function("return this")(), yo = t && !t.nodeType && t, ur = yo && !0 && a && !a.nodeType && a, Dl = ur && ur.exports === yo, vo = Dl && zl.process, Vt = function() {
10492
10492
  try {
10493
10493
  var R = ur && ur.require && ur.require("util").types;
10494
10494
  return R || vo && vo.binding && vo.binding("util");
10495
10495
  } catch {
10496
10496
  }
10497
- }(), Ol = Et && Et.isArrayBuffer, Kl = Et && Et.isDate, Yl = Et && Et.isMap, Ul = Et && Et.isRegExp, Hl = Et && Et.isSet, Nl = Et && Et.isTypedArray;
10497
+ }(), Ol = Vt && Vt.isArrayBuffer, Kl = Vt && Vt.isDate, Yl = Vt && Vt.isMap, Ul = Vt && Vt.isRegExp, Hl = Vt && Vt.isSet, Nl = Vt && Vt.isTypedArray;
10498
10498
  function Lt(R, O, F) {
10499
10499
  switch (F.length) {
10500
10500
  case 0:
@@ -10508,14 +10508,14 @@ Qs.exports;
10508
10508
  }
10509
10509
  return R.apply(O, F);
10510
10510
  }
10511
- function Vf(R, O, F, te) {
10511
+ function Ef(R, O, F, te) {
10512
10512
  for (var he = -1, Ge = R == null ? 0 : R.length; ++he < Ge; ) {
10513
10513
  var Ne = R[he];
10514
10514
  O(te, Ne, F(Ne), R);
10515
10515
  }
10516
10516
  return te;
10517
10517
  }
10518
- function Vt(R, O) {
10518
+ function Et(R, O) {
10519
10519
  for (var F = -1, te = R == null ? 0 : R.length; ++F < te && O(R[F], F, R) !== !1; )
10520
10520
  ;
10521
10521
  return R;
@@ -10548,7 +10548,7 @@ Qs.exports;
10548
10548
  return !0;
10549
10549
  return !1;
10550
10550
  }
10551
- function Ve(R, O) {
10551
+ function Ee(R, O) {
10552
10552
  for (var F = -1, te = R == null ? 0 : R.length, he = Array(te); ++F < te; )
10553
10553
  he[F] = O(R[F], F, R);
10554
10554
  return he;
@@ -10646,7 +10646,7 @@ Qs.exports;
10646
10646
  return te;
10647
10647
  }
10648
10648
  function Kf(R, O) {
10649
- return Ve(O, function(F) {
10649
+ return Ee(O, function(F) {
10650
10650
  return [F, R[F]];
10651
10651
  });
10652
10652
  }
@@ -10659,7 +10659,7 @@ Qs.exports;
10659
10659
  };
10660
10660
  }
10661
10661
  function Mo(R, O) {
10662
- return Ve(O, function(F) {
10662
+ return Ee(O, function(F) {
10663
10663
  return R[F];
10664
10664
  });
10665
10665
  }
@@ -10741,7 +10741,7 @@ Qs.exports;
10741
10741
  return te;
10742
10742
  return te;
10743
10743
  }
10744
- function Er(R) {
10744
+ function Vr(R) {
10745
10745
  return Cr(R) ? tp(R) : Ff(R);
10746
10746
  }
10747
10747
  function jt(R) {
@@ -10765,7 +10765,7 @@ Qs.exports;
10765
10765
  return R.match(Tf) || [];
10766
10766
  }
10767
10767
  var ip = function R(O) {
10768
- O = O == null ? $e : Vr.defaults($e.Object(), O, Vr.pick($e, Mf));
10768
+ O = O == null ? $e : Er.defaults($e.Object(), O, Er.pick($e, Mf));
10769
10769
  var F = O.Array, te = O.Date, he = O.Error, Ge = O.Function, Ne = O.Math, Re = O.Object, Zo = O.RegExp, sp = O.String, At = O.TypeError, Ji = F.prototype, op = Ge.prototype, Ar = Re.prototype, Qi = O["__core-js_shared__"], qi = op.toString, We = Ar.hasOwnProperty, ap = 0, ic = function() {
10770
10770
  var i = /[^.]+$/.exec(Qi && Qi.keys && Qi.keys.IE_PROTO || "");
10771
10771
  return i ? "Symbol(src)_1." + i : "";
@@ -10868,7 +10868,7 @@ Qs.exports;
10868
10868
  function Gp() {
10869
10869
  var i = this.__wrapped__.value(), o = this.__dir__, h = de(i), m = o < 0, v = h ? i.length : 0, _ = km(0, v, this.__views__), G = _.start, W = _.end, C = W - G, K = m ? W : G - 1, Y = this.__iteratees__, H = Y.length, $ = 0, ne = st(C, this.__takeCount__);
10870
10870
  if (!h || !m && v == C && ne == C)
10871
- return Vc(i, this.__actions__);
10871
+ return Ec(i, this.__actions__);
10872
10872
  var ae = [];
10873
10873
  e:
10874
10874
  for (; C-- && $ < ne; ) {
@@ -10929,14 +10929,14 @@ Qs.exports;
10929
10929
  function Cp() {
10930
10930
  this.__data__ = [], this.size = 0;
10931
10931
  }
10932
- function Ep(i) {
10932
+ function Vp(i) {
10933
10933
  var o = this.__data__, h = us(o, i);
10934
10934
  if (h < 0)
10935
10935
  return !1;
10936
10936
  var m = o.length - 1;
10937
10937
  return h == m ? o.pop() : rs.call(o, h, 1), --this.size, !0;
10938
10938
  }
10939
- function Vp(i) {
10939
+ function Ep(i) {
10940
10940
  var o = this.__data__, h = us(o, i);
10941
10941
  return h < 0 ? e : o[h][1];
10942
10942
  }
@@ -10947,7 +10947,7 @@ Qs.exports;
10947
10947
  var h = this.__data__, m = us(h, i);
10948
10948
  return m < 0 ? (++this.size, h.push([i, o])) : h[m][1] = o, this;
10949
10949
  }
10950
- bn.prototype.clear = Cp, bn.prototype.delete = Ep, bn.prototype.get = Vp, bn.prototype.has = Ap, bn.prototype.set = Xp;
10950
+ bn.prototype.clear = Cp, bn.prototype.delete = Vp, bn.prototype.get = Ep, bn.prototype.has = Ap, bn.prototype.set = Xp;
10951
10951
  function _n(i) {
10952
10952
  var o = -1, h = i == null ? 0 : i.length;
10953
10953
  for (this.clear(); ++o < h; ) {
@@ -11088,7 +11088,7 @@ Qs.exports;
11088
11088
  if (G = Dm(i), !W)
11089
11089
  return vt(i, G);
11090
11090
  } else {
11091
- var H = ot(i), $ = H == xn || H == En;
11091
+ var H = ot(i), $ = H == xn || H == Vn;
11092
11092
  if (Nn(i))
11093
11093
  return Fc(i, W);
11094
11094
  if (H == Pt || H == Ue || $ && !v) {
@@ -11110,7 +11110,7 @@ Qs.exports;
11110
11110
  G.set(we, Ft(le, o, h, we, i, _));
11111
11111
  });
11112
11112
  var ae = K ? C ? $o : qo : C ? xt : qe, me = Y ? e : ae(i);
11113
- return Vt(me || i, function(le, we) {
11113
+ return Et(me || i, function(le, we) {
11114
11114
  me && (we = le, le = i[we]), hi(G, we, Ft(le, o, h, we, i, _));
11115
11115
  }), G;
11116
11116
  }
@@ -11142,7 +11142,7 @@ Qs.exports;
11142
11142
  var v = -1, _ = Ni, G = !0, W = i.length, C = [], K = o.length;
11143
11143
  if (!W)
11144
11144
  return C;
11145
- h && (o = Ve(o, St(h))), m ? (_ = wo, G = !1) : o.length >= r && (_ = si, G = !1, o = new fr(o));
11145
+ h && (o = Ee(o, St(h))), m ? (_ = wo, G = !1) : o.length >= r && (_ = si, G = !1, o = new fr(o));
11146
11146
  e:
11147
11147
  for (; ++v < W; ) {
11148
11148
  var Y = i[v], H = h == null ? Y : h(Y);
@@ -11155,7 +11155,7 @@ Qs.exports;
11155
11155
  }
11156
11156
  return C;
11157
11157
  }
11158
- var Kn = Kc(cn), yc = Kc(Vo, !0);
11158
+ var Kn = Kc(cn), yc = Kc(Eo, !0);
11159
11159
  function tm(i, o) {
11160
11160
  var h = !0;
11161
11161
  return Kn(i, function(m, v, _) {
@@ -11172,7 +11172,7 @@ Qs.exports;
11172
11172
  }
11173
11173
  function nm(i, o, h, m) {
11174
11174
  var v = i.length;
11175
- for (h = fe(h), h < 0 && (h = -h > v ? 0 : v + h), m = m === e || m > v ? v : fe(m), m < 0 && (m += v), m = h > m ? 0 : Eu(m); h < m; )
11175
+ for (h = fe(h), h < 0 && (h = -h > v ? 0 : v + h), m = m === e || m > v ? v : fe(m), m < 0 && (m += v), m = h > m ? 0 : Vu(m); h < m; )
11176
11176
  i[h++] = o;
11177
11177
  return i;
11178
11178
  }
@@ -11190,11 +11190,11 @@ Qs.exports;
11190
11190
  }
11191
11191
  return v;
11192
11192
  }
11193
- var Eo = Yc(), wc = Yc(!0);
11193
+ var Vo = Yc(), wc = Yc(!0);
11194
11194
  function cn(i, o) {
11195
- return i && Eo(i, o, qe);
11195
+ return i && Vo(i, o, qe);
11196
11196
  }
11197
- function Vo(i, o) {
11197
+ function Eo(i, o) {
11198
11198
  return i && wc(i, o, qe);
11199
11199
  }
11200
11200
  function ds(i, o) {
@@ -11230,7 +11230,7 @@ Qs.exports;
11230
11230
  function Xo(i, o, h) {
11231
11231
  for (var m = h ? wo : Ni, v = i[0].length, _ = i.length, G = _, W = F(_), C = 1 / 0, K = []; G--; ) {
11232
11232
  var Y = i[G];
11233
- G && o && (Y = Ve(Y, St(o))), C = st(Y.length, C), W[G] = !h && (o || v >= 120 && Y.length >= 120) ? new fr(G && Y) : e;
11233
+ G && o && (Y = Ee(Y, St(o))), C = st(Y.length, C), W[G] = !h && (o || v >= 120 && Y.length >= 120) ? new fr(G && Y) : e;
11234
11234
  }
11235
11235
  Y = i[0];
11236
11236
  var H = -1, $ = W[0];
@@ -11312,7 +11312,7 @@ Qs.exports;
11312
11312
  var H = new Jt();
11313
11313
  if (m)
11314
11314
  var $ = m(K, Y, C, i, o, H);
11315
- if (!($ === e ? pi(Y, K, w | S, m, H) : $))
11315
+ if (!($ === e ? pi(Y, K, w | T, m, H) : $))
11316
11316
  return !1;
11317
11317
  }
11318
11318
  }
@@ -11370,11 +11370,11 @@ Qs.exports;
11370
11370
  function Mc(i, o) {
11371
11371
  return ra(i) && iu(o) ? su(hn(i), o) : function(h) {
11372
11372
  var m = fa(h, i);
11373
- return m === e && m === o ? pa(h, i) : pi(o, m, w | S);
11373
+ return m === e && m === o ? pa(h, i) : pi(o, m, w | T);
11374
11374
  };
11375
11375
  }
11376
11376
  function fs(i, o, h, m, v) {
11377
- i !== o && Eo(o, function(_, G) {
11377
+ i !== o && Vo(o, function(_, G) {
11378
11378
  if (v || (v = new Jt()), Xe(_))
11379
11379
  mm(i, o, G, h, fs, m, v);
11380
11380
  else {
@@ -11392,7 +11392,7 @@ Qs.exports;
11392
11392
  var Y = _ ? _(W, C, h + "", i, o, G) : e, H = Y === e;
11393
11393
  if (H) {
11394
11394
  var $ = de(C), ne = !$ && Nn(C), ae = !$ && !ne && Kr(C);
11395
- Y = C, $ || ne || ae ? de(W) ? Y = W : ze(W) ? Y = vt(W) : ne ? (H = !1, Y = Fc(C, !0)) : ae ? (H = !1, Y = kc(C, !0)) : Y = [] : wi(C) || vr(C) ? (Y = W, vr(W) ? Y = Vu(W) : (!Xe(W) || Gn(W)) && (Y = ru(C))) : H = !1;
11395
+ Y = C, $ || ne || ae ? de(W) ? Y = W : ze(W) ? Y = vt(W) : ne ? (H = !1, Y = Fc(C, !0)) : ae ? (H = !1, Y = kc(C, !0)) : Y = [] : wi(C) || vr(C) ? (Y = W, vr(W) ? Y = Eu(W) : (!Xe(W) || Gn(W)) && (Y = ru(C))) : H = !1;
11396
11396
  }
11397
11397
  H && (G.set(C, Y), v(Y, C, m, _, G), G.delete(C)), Po(i, h, Y);
11398
11398
  }
@@ -11402,15 +11402,15 @@ Qs.exports;
11402
11402
  return o += o < 0 ? h : 0, Mn(o, h) ? i[o] : e;
11403
11403
  }
11404
11404
  function Zc(i, o, h) {
11405
- o.length ? o = Ve(o, function(_) {
11405
+ o.length ? o = Ee(o, function(_) {
11406
11406
  return de(_) ? function(G) {
11407
11407
  return mr(G, _.length === 1 ? _[0] : _);
11408
11408
  } : _;
11409
11409
  }) : o = [bt];
11410
11410
  var m = -1;
11411
- o = Ve(o, St(oe()));
11411
+ o = Ee(o, St(oe()));
11412
11412
  var v = Lc(i, function(_, G, W) {
11413
- var C = Ve(o, function(K) {
11413
+ var C = Ee(o, function(K) {
11414
11414
  return K(_);
11415
11415
  });
11416
11416
  return { criteria: C, index: ++m, value: _ };
@@ -11438,7 +11438,7 @@ Qs.exports;
11438
11438
  }
11439
11439
  function Do(i, o, h, m) {
11440
11440
  var v = m ? Df : Pr, _ = -1, G = o.length, W = i;
11441
- for (i === o && (o = vt(o)), h && (W = Ve(i, St(h))); ++_ < G; )
11441
+ for (i === o && (o = vt(o)), h && (W = Ee(i, St(h))); ++_ < G; )
11442
11442
  for (var C = 0, K = o[_], Y = h ? h(K) : K; (C = v(W, Y, C, m)) > -1; )
11443
11443
  W !== i && rs.call(W, C, 1), rs.call(i, C, 1);
11444
11444
  return i;
@@ -11564,7 +11564,7 @@ Qs.exports;
11564
11564
  if (typeof i == "string")
11565
11565
  return i;
11566
11566
  if (de(i))
11567
- return Ve(i, Mt) + "";
11567
+ return Ee(i, Mt) + "";
11568
11568
  if (Gt(i))
11569
11569
  return hc ? hc.call(i) : "";
11570
11570
  var o = i + "";
@@ -11575,7 +11575,7 @@ Qs.exports;
11575
11575
  if (h)
11576
11576
  G = !1, v = wo;
11577
11577
  else if (_ >= r) {
11578
- var K = o ? null : Em(i);
11578
+ var K = o ? null : Vm(i);
11579
11579
  if (K)
11580
11580
  return ji(K);
11581
11581
  G = !1, v = si, C = new fr();
@@ -11596,7 +11596,7 @@ Qs.exports;
11596
11596
  function Uo(i, o) {
11597
11597
  return o = Un(o, i), i = au(i, o), i == null || delete i[hn(zt(o))];
11598
11598
  }
11599
- function Ec(i, o, h, m) {
11599
+ function Vc(i, o, h, m) {
11600
11600
  return mi(i, o, h(mr(i, o)), m);
11601
11601
  }
11602
11602
  function ms(i, o, h, m) {
@@ -11604,7 +11604,7 @@ Qs.exports;
11604
11604
  ;
11605
11605
  return h ? kt(i, m ? 0 : _, m ? _ + 1 : v) : kt(i, m ? _ + 1 : 0, m ? v : _);
11606
11606
  }
11607
- function Vc(i, o) {
11607
+ function Ec(i, o) {
11608
11608
  var h = i;
11609
11609
  return h instanceof _e && (h = h.value()), xo(o, function(m, v) {
11610
11610
  return v.func.apply(v.thisArg, zn([m], v.args));
@@ -11731,7 +11731,7 @@ Qs.exports;
11731
11731
  }
11732
11732
  function gs(i, o) {
11733
11733
  return function(h, m) {
11734
- var v = de(h) ? Vf : qp, _ = o ? o() : {};
11734
+ var v = de(h) ? Ef : qp, _ = o ? o() : {};
11735
11735
  return v(h, i, oe(m, 2), _);
11736
11736
  };
11737
11737
  }
@@ -11874,7 +11874,7 @@ Qs.exports;
11874
11874
  });
11875
11875
  }
11876
11876
  function ys(i, o, h, m, v, _, G, W, C, K) {
11877
- var Y = o & k, H = o & b, $ = o & L, ne = o & (Z | E), ae = o & D, me = $ ? e : gi(i);
11877
+ var Y = o & k, H = o & b, $ = o & S, ne = o & (Z | V), ae = o & D, me = $ ? e : gi(i);
11878
11878
  function le() {
11879
11879
  for (var we = arguments.length, Te = F(we), Zt = we; Zt--; )
11880
11880
  Te[Zt] = arguments[Zt];
@@ -11920,7 +11920,7 @@ Qs.exports;
11920
11920
  }
11921
11921
  function Jo(i) {
11922
11922
  return Sn(function(o) {
11923
- return o = Ve(o, St(oe())), ge(function(h) {
11923
+ return o = Ee(o, St(oe())), ge(function(h) {
11924
11924
  var m = this;
11925
11925
  return i(o, function(v) {
11926
11926
  return Lt(v, m, h);
@@ -11933,7 +11933,7 @@ Qs.exports;
11933
11933
  var h = o.length;
11934
11934
  if (h < 2)
11935
11935
  return h ? Ko(o, i) : o;
11936
- var m = Ko(o, ss(i / Er(o)));
11936
+ var m = Ko(o, ss(i / Vr(o)));
11937
11937
  return Cr(o) ? Hn(jt(m), 0, i).join("") : m.slice(0, i);
11938
11938
  }
11939
11939
  function Cm(i, o, h, m) {
@@ -11959,7 +11959,7 @@ Qs.exports;
11959
11959
  }
11960
11960
  function Jc(i, o, h, m, v, _, G, W, C, K) {
11961
11961
  var Y = o & Z, H = Y ? G : e, $ = Y ? e : G, ne = Y ? _ : e, ae = Y ? e : _;
11962
- o |= Y ? z : X, o &= ~(Y ? X : z), o & T || (o &= -4);
11962
+ o |= Y ? z : X, o &= ~(Y ? X : z), o & L || (o &= -4);
11963
11963
  var me = [
11964
11964
  i,
11965
11965
  o,
@@ -11984,7 +11984,7 @@ Qs.exports;
11984
11984
  return o(h);
11985
11985
  };
11986
11986
  }
11987
- var Em = Xr && 1 / ji(new Xr([, -0]))[1] == ie ? function(i) {
11987
+ var Vm = Xr && 1 / ji(new Xr([, -0]))[1] == ie ? function(i) {
11988
11988
  return new Xr(i);
11989
11989
  } : wa;
11990
11990
  function Qc(i) {
@@ -11994,7 +11994,7 @@ Qs.exports;
11994
11994
  };
11995
11995
  }
11996
11996
  function Ln(i, o, h, m, v, _, G, W) {
11997
- var C = o & L;
11997
+ var C = o & S;
11998
11998
  if (!C && typeof i != "function")
11999
11999
  throw new At(l);
12000
12000
  var K = m ? m.length : 0;
@@ -12014,9 +12014,9 @@ Qs.exports;
12014
12014
  G,
12015
12015
  W
12016
12016
  ];
12017
- if ($ && jm(ne, $), i = ne[0], o = ne[1], h = ne[2], m = ne[3], v = ne[4], W = ne[9] = ne[9] === e ? C ? 0 : i.length : Be(ne[9] - K, 0), !W && o & (Z | E) && (o &= -25), !o || o == b)
12017
+ if ($ && jm(ne, $), i = ne[0], o = ne[1], h = ne[2], m = ne[3], v = ne[4], W = ne[9] = ne[9] === e ? C ? 0 : i.length : Be(ne[9] - K, 0), !W && o & (Z | V) && (o &= -25), !o || o == b)
12018
12018
  var ae = Rm(i, o, h);
12019
- else o == Z || o == E ? ae = Pm(i, o, W) : (o == z || o == (b | z)) && !v.length ? ae = Cm(i, o, h, m) : ae = ys.apply(e, ne);
12019
+ else o == Z || o == V ? ae = Pm(i, o, W) : (o == z || o == (b | z)) && !v.length ? ae = Cm(i, o, h, m) : ae = ys.apply(e, ne);
12020
12020
  var me = $ ? Rc : lu;
12021
12021
  return cu(me(ae, ne), i, o);
12022
12022
  }
@@ -12026,7 +12026,7 @@ Qs.exports;
12026
12026
  function $c(i, o, h, m, v, _) {
12027
12027
  return Xe(i) && Xe(o) && (_.set(o, i), fs(i, o, e, $c, _), _.delete(o)), i;
12028
12028
  }
12029
- function Vm(i) {
12029
+ function Em(i) {
12030
12030
  return wi(i) ? e : i;
12031
12031
  }
12032
12032
  function eu(i, o, h, m, v, _) {
@@ -12036,7 +12036,7 @@ Qs.exports;
12036
12036
  var K = _.get(i), Y = _.get(o);
12037
12037
  if (K && Y)
12038
12038
  return K == o && Y == i;
12039
- var H = -1, $ = !0, ne = h & S ? new fr() : e;
12039
+ var H = -1, $ = !0, ne = h & T ? new fr() : e;
12040
12040
  for (_.set(i, o), _.set(o, i); ++H < W; ) {
12041
12041
  var ae = i[H], me = o[H];
12042
12042
  if (m)
@@ -12077,7 +12077,7 @@ Qs.exports;
12077
12077
  case He:
12078
12078
  return i.name == o.name && i.message == o.message;
12079
12079
  case ir:
12080
- case Vn:
12080
+ case En:
12081
12081
  return i == o + "";
12082
12082
  case Ae:
12083
12083
  var W = Go;
@@ -12088,7 +12088,7 @@ Qs.exports;
12088
12088
  var K = G.get(i);
12089
12089
  if (K)
12090
12090
  return K == o;
12091
- m |= S, G.set(i, o);
12091
+ m |= T, G.set(i, o);
12092
12092
  var Y = eu(W(i), W(o), m, v, _, G);
12093
12093
  return G.delete(i), Y;
12094
12094
  case An:
@@ -12265,13 +12265,13 @@ Qs.exports;
12265
12265
  case ii:
12266
12266
  case Wr:
12267
12267
  case ar:
12268
- case V:
12268
+ case E:
12269
12269
  case Q:
12270
12270
  return kc(i, h);
12271
12271
  case Ae:
12272
12272
  return new m();
12273
12273
  case Ut:
12274
- case Vn:
12274
+ case En:
12275
12275
  return new m(i);
12276
12276
  case ir:
12277
12277
  return Mm(i);
@@ -12345,10 +12345,10 @@ Qs.exports;
12345
12345
  return o;
12346
12346
  }
12347
12347
  function jm(i, o) {
12348
- var h = i[1], m = o[1], v = h | m, _ = v < (b | L | k), G = m == k && h == Z || m == k && h == P && i[7].length <= o[8] || m == (k | P) && o[7].length <= o[8] && h == Z;
12348
+ var h = i[1], m = o[1], v = h | m, _ = v < (b | S | k), G = m == k && h == Z || m == k && h == P && i[7].length <= o[8] || m == (k | P) && o[7].length <= o[8] && h == Z;
12349
12349
  if (!(_ || G))
12350
12350
  return i;
12351
- m & b && (i[2] = o[2], v |= h & b ? 0 : T);
12351
+ m & b && (i[2] = o[2], v |= h & b ? 0 : L);
12352
12352
  var W = o[3];
12353
12353
  if (W) {
12354
12354
  var C = i[3];
@@ -12443,7 +12443,7 @@ Qs.exports;
12443
12443
  return "";
12444
12444
  }
12445
12445
  function $m(i, o) {
12446
- return Vt(Fe, function(h) {
12446
+ return Et(Fe, function(h) {
12447
12447
  var m = "_." + h[0];
12448
12448
  o & h[1] && !Ni(i, m) && i.push(m);
12449
12449
  }), i.sort();
@@ -12553,13 +12553,13 @@ Qs.exports;
12553
12553
  return o ? kt(i, 0, -1) : [];
12554
12554
  }
12555
12555
  var g0 = ge(function(i) {
12556
- var o = Ve(i, No);
12556
+ var o = Ee(i, No);
12557
12557
  return o.length && o[0] === i[0] ? Xo(o) : [];
12558
12558
  }), y0 = ge(function(i) {
12559
- var o = zt(i), h = Ve(i, No);
12559
+ var o = zt(i), h = Ee(i, No);
12560
12560
  return o === zt(h) ? o = e : h.pop(), h.length && h[0] === i[0] ? Xo(h, oe(o, 2)) : [];
12561
12561
  }), v0 = ge(function(i) {
12562
- var o = zt(i), h = Ve(i, No);
12562
+ var o = zt(i), h = Ee(i, No);
12563
12563
  return o = typeof o == "function" ? o : e, o && h.pop(), h.length && h[0] === i[0] ? Xo(h, e, o) : [];
12564
12564
  });
12565
12565
  function w0(i, o) {
@@ -12591,7 +12591,7 @@ Qs.exports;
12591
12591
  }
12592
12592
  var S0 = Sn(function(i, o) {
12593
12593
  var h = i == null ? 0 : i.length, m = Co(i, o);
12594
- return Ic(i, Ve(o, function(v) {
12594
+ return Ic(i, Ee(o, function(v) {
12595
12595
  return Mn(v, h) ? +v : v;
12596
12596
  }).sort(zc)), m;
12597
12597
  });
@@ -12643,10 +12643,10 @@ Qs.exports;
12643
12643
  }
12644
12644
  return -1;
12645
12645
  }
12646
- function E0(i) {
12646
+ function V0(i) {
12647
12647
  return i && i.length ? Pc(i) : [];
12648
12648
  }
12649
- function V0(i, o) {
12649
+ function E0(i, o) {
12650
12650
  return i && i.length ? Pc(i, oe(o, 2)) : [];
12651
12651
  }
12652
12652
  function A0(i) {
@@ -12692,14 +12692,14 @@ Qs.exports;
12692
12692
  if (ze(h))
12693
12693
  return o = Be(h.length, o), !0;
12694
12694
  }), So(o, function(h) {
12695
- return Ve(i, _o(h));
12695
+ return Ee(i, _o(h));
12696
12696
  });
12697
12697
  }
12698
12698
  function vu(i, o) {
12699
12699
  if (!(i && i.length))
12700
12700
  return [];
12701
12701
  var h = la(i);
12702
- return o == null ? h : Ve(h, function(m) {
12702
+ return o == null ? h : Ee(h, function(m) {
12703
12703
  return Lt(o, e, m);
12704
12704
  });
12705
12705
  }
@@ -12782,7 +12782,7 @@ Qs.exports;
12782
12782
  return this.thru(aa);
12783
12783
  }
12784
12784
  function cg() {
12785
- return Vc(this.__wrapped__, this.__actions__);
12785
+ return Ec(this.__wrapped__, this.__actions__);
12786
12786
  }
12787
12787
  var ug = gs(function(i, o, h) {
12788
12788
  We.call(i, h) ? ++i[h] : Tn(i, h, 1);
@@ -12806,7 +12806,7 @@ Qs.exports;
12806
12806
  return h = h === e ? 1 : fe(h), et(Ss(i, o), h);
12807
12807
  }
12808
12808
  function xu(i, o) {
12809
- var h = de(i) ? Vt : Kn;
12809
+ var h = de(i) ? Et : Kn;
12810
12810
  return h(i, oe(o, 3));
12811
12811
  }
12812
12812
  function bu(i, o) {
@@ -12830,7 +12830,7 @@ Qs.exports;
12830
12830
  Tn(i, h, o);
12831
12831
  });
12832
12832
  function Ss(i, o) {
12833
- var h = de(i) ? Ve : Lc;
12833
+ var h = de(i) ? Ee : Lc;
12834
12834
  return h(i, oe(o, 3));
12835
12835
  }
12836
12836
  function _g(i, o, h, m) {
@@ -12870,7 +12870,7 @@ Qs.exports;
12870
12870
  if (i == null)
12871
12871
  return 0;
12872
12872
  if (wt(i))
12873
- return Is(i) ? Er(i) : i.length;
12873
+ return Is(i) ? Vr(i) : i.length;
12874
12874
  var o = ot(i);
12875
12875
  return o == Ae || o == Tt ? i.size : ko(i).length;
12876
12876
  }
@@ -12913,7 +12913,7 @@ Qs.exports;
12913
12913
  }
12914
12914
  return Ln(i, m, o, h, v);
12915
12915
  }), Lu = ge(function(i, o, h) {
12916
- var m = b | L;
12916
+ var m = b | S;
12917
12917
  if (h.length) {
12918
12918
  var v = Dn(h, Or(Lu));
12919
12919
  m |= z;
@@ -12927,7 +12927,7 @@ Qs.exports;
12927
12927
  }
12928
12928
  function Mu(i, o, h) {
12929
12929
  o = h ? e : o;
12930
- var m = Ln(i, E, e, e, e, e, e, o);
12930
+ var m = Ln(i, V, e, e, e, e, e, o);
12931
12931
  return m.placeholder = Mu.placeholder, m;
12932
12932
  }
12933
12933
  function Gu(i, o, h) {
@@ -12977,9 +12977,9 @@ Qs.exports;
12977
12977
  }
12978
12978
  return Wt.cancel = Zt, Wt.flush = pt, Wt;
12979
12979
  }
12980
- var Eg = ge(function(i, o) {
12980
+ var Vg = ge(function(i, o) {
12981
12981
  return gc(i, 1, o);
12982
- }), Vg = ge(function(i, o, h) {
12982
+ }), Eg = ge(function(i, o, h) {
12983
12983
  return gc(i, Dt(o) || 0, h);
12984
12984
  });
12985
12985
  function Ag(i) {
@@ -13020,7 +13020,7 @@ Qs.exports;
13020
13020
  return Tu(2, i);
13021
13021
  }
13022
13022
  var Fg = Lm(function(i, o) {
13023
- o = o.length == 1 && de(o[0]) ? Ve(o[0], St(oe())) : Ve(et(o, 1), St(oe()));
13023
+ o = o.length == 1 && de(o[0]) ? Ee(o[0], St(oe())) : Ee(et(o, 1), St(oe()));
13024
13024
  var h = o.length;
13025
13025
  return ge(function(m) {
13026
13026
  for (var v = -1, _ = st(m.length, h); ++v < _; )
@@ -13145,7 +13145,7 @@ Qs.exports;
13145
13145
  if (!Xe(i))
13146
13146
  return !1;
13147
13147
  var o = dt(i);
13148
- return o == xn || o == En || o == Je || o == Oi;
13148
+ return o == xn || o == Vn || o == Je || o == Oi;
13149
13149
  }
13150
13150
  function Wu(i) {
13151
13151
  return typeof i == "number" && i == fe(i);
@@ -13199,7 +13199,7 @@ Qs.exports;
13199
13199
  }
13200
13200
  var Pu = Hl ? St(Hl) : dm;
13201
13201
  function Is(i) {
13202
- return typeof i == "string" || !de(i) && ke(i) && dt(i) == Vn;
13202
+ return typeof i == "string" || !de(i) && ke(i) && dt(i) == En;
13203
13203
  }
13204
13204
  function Gt(i) {
13205
13205
  return typeof i == "symbol" || ke(i) && dt(i) == An;
@@ -13240,7 +13240,7 @@ Qs.exports;
13240
13240
  var o = Zn(i), h = o % 1;
13241
13241
  return o === o ? h ? o - h : o : 0;
13242
13242
  }
13243
- function Eu(i) {
13243
+ function Vu(i) {
13244
13244
  return i ? pr(fe(i), 0, ve) : 0;
13245
13245
  }
13246
13246
  function Dt(i) {
@@ -13258,7 +13258,7 @@ Qs.exports;
13258
13258
  var h = qd.test(i);
13259
13259
  return h || ef.test(i) ? Cf(i.slice(2), h ? 2 : 8) : Qd.test(i) ? pe : +i;
13260
13260
  }
13261
- function Vu(i) {
13261
+ function Eu(i) {
13262
13262
  return un(i, xt(i));
13263
13263
  }
13264
13264
  function wy(i) {
@@ -13301,10 +13301,10 @@ Qs.exports;
13301
13301
  return jl(i, oe(o, 3), cn);
13302
13302
  }
13303
13303
  function Gy(i, o) {
13304
- return jl(i, oe(o, 3), Vo);
13304
+ return jl(i, oe(o, 3), Eo);
13305
13305
  }
13306
13306
  function Zy(i, o) {
13307
- return i == null ? i : Eo(i, oe(o, 3), xt);
13307
+ return i == null ? i : Vo(i, oe(o, 3), xt);
13308
13308
  }
13309
13309
  function Wy(i, o) {
13310
13310
  return i == null ? i : wc(i, oe(o, 3), xt);
@@ -13313,7 +13313,7 @@ Qs.exports;
13313
13313
  return i && cn(i, oe(o, 3));
13314
13314
  }
13315
13315
  function Ry(i, o) {
13316
- return i && Vo(i, oe(o, 3));
13316
+ return i && Eo(i, oe(o, 3));
13317
13317
  }
13318
13318
  function Py(i) {
13319
13319
  return i == null ? [] : ds(i, qe(i));
@@ -13325,13 +13325,13 @@ Qs.exports;
13325
13325
  var m = i == null ? e : mr(i, o);
13326
13326
  return m === e ? h : m;
13327
13327
  }
13328
- function Ey(i, o) {
13328
+ function Vy(i, o) {
13329
13329
  return i != null && nu(i, o, rm);
13330
13330
  }
13331
13331
  function pa(i, o) {
13332
13332
  return i != null && nu(i, o, im);
13333
13333
  }
13334
- var Vy = Bc(function(i, o, h) {
13334
+ var Ey = Bc(function(i, o, h) {
13335
13335
  o != null && typeof o.toString != "function" && (o = $i.call(o)), i[o] = h;
13336
13336
  }, ga(bt)), Ay = Bc(function(i, o, h) {
13337
13337
  o != null && typeof o.toString != "function" && (o = $i.call(o)), We.call(i, o) ? i[o].push(h) : i[o] = [h];
@@ -13363,9 +13363,9 @@ Qs.exports;
13363
13363
  if (i == null)
13364
13364
  return h;
13365
13365
  var m = !1;
13366
- o = Ve(o, function(_) {
13366
+ o = Ee(o, function(_) {
13367
13367
  return _ = Un(_, i), m || (m = _.length > 1), _;
13368
- }), un(i, $o(i), h), m && (h = Ft(h, f | g | y, Vm));
13368
+ }), un(i, $o(i), h), m && (h = Ft(h, f | g | y, Em));
13369
13369
  for (var v = o.length; v--; )
13370
13370
  Uo(h, o[v]);
13371
13371
  return h;
@@ -13379,7 +13379,7 @@ Qs.exports;
13379
13379
  function Fu(i, o) {
13380
13380
  if (i == null)
13381
13381
  return {};
13382
- var h = Ve($o(i), function(m) {
13382
+ var h = Ee($o(i), function(m) {
13383
13383
  return [m];
13384
13384
  });
13385
13385
  return o = oe(o), Wc(i, h, function(m, v) {
@@ -13408,7 +13408,7 @@ Qs.exports;
13408
13408
  var _ = i && i.constructor;
13409
13409
  v ? h = m ? new _() : [] : Xe(i) ? h = Gn(_) ? kr(ns(i)) : {} : h = {};
13410
13410
  }
13411
- return (v ? Vt : cn)(i, function(G, W, C) {
13411
+ return (v ? Et : cn)(i, function(G, W, C) {
13412
13412
  return o(h, G, W, C);
13413
13413
  }), h;
13414
13414
  }
@@ -13416,10 +13416,10 @@ Qs.exports;
13416
13416
  return i == null ? !0 : Uo(i, o);
13417
13417
  }
13418
13418
  function jy(i, o, h) {
13419
- return i == null ? i : Ec(i, o, Bo(h));
13419
+ return i == null ? i : Vc(i, o, Bo(h));
13420
13420
  }
13421
13421
  function Jy(i, o, h, m) {
13422
- return m = typeof m == "function" ? m : e, i == null ? i : Ec(i, o, Bo(h), m);
13422
+ return m = typeof m == "function" ? m : e, i == null ? i : Vc(i, o, Bo(h), m);
13423
13423
  }
13424
13424
  function Yr(i) {
13425
13425
  return i == null ? [] : Mo(i, qe(i));
@@ -13473,7 +13473,7 @@ Qs.exports;
13473
13473
  }), a1 = Uc("toLowerCase");
13474
13474
  function l1(i, o, h) {
13475
13475
  i = Ze(i), o = fe(o);
13476
- var m = o ? Er(i) : 0;
13476
+ var m = o ? Vr(i) : 0;
13477
13477
  if (!o || m >= o)
13478
13478
  return i;
13479
13479
  var v = (o - m) / 2;
@@ -13481,12 +13481,12 @@ Qs.exports;
13481
13481
  }
13482
13482
  function c1(i, o, h) {
13483
13483
  i = Ze(i), o = fe(o);
13484
- var m = o ? Er(i) : 0;
13484
+ var m = o ? Vr(i) : 0;
13485
13485
  return o && m < o ? i + ws(o - m, h) : i;
13486
13486
  }
13487
13487
  function u1(i, o, h) {
13488
13488
  i = Ze(i), o = fe(o);
13489
- var m = o ? Er(i) : 0;
13489
+ var m = o ? Vr(i) : 0;
13490
13490
  return o && m < o ? ws(o - m, h) + i : i;
13491
13491
  }
13492
13492
  function h1(i, o, h) {
@@ -13595,7 +13595,7 @@ function print() { __p += __j.call(arguments, '') }
13595
13595
  }
13596
13596
  if (h >= _)
13597
13597
  return i;
13598
- var W = h - Er(m);
13598
+ var W = h - Vr(m);
13599
13599
  if (W < 1)
13600
13600
  return m;
13601
13601
  var C = G ? Hn(G, 0, W).join("") : i.slice(0, W);
@@ -13630,13 +13630,13 @@ function print() { __p += __j.call(arguments, '') }
13630
13630
  return ha(h) ? h : new he(h);
13631
13631
  }
13632
13632
  }), G1 = Sn(function(i, o) {
13633
- return Vt(o, function(h) {
13633
+ return Et(o, function(h) {
13634
13634
  h = hn(h), Tn(i, h, ca(i[h], i));
13635
13635
  }), i;
13636
13636
  });
13637
13637
  function Z1(i) {
13638
13638
  var o = i == null ? 0 : i.length, h = oe();
13639
- return i = o ? Ve(i, function(m) {
13639
+ return i = o ? Ee(i, function(m) {
13640
13640
  if (typeof m[1] != "function")
13641
13641
  throw new At(l);
13642
13642
  return [h(m[0]), m[1]];
@@ -13669,10 +13669,10 @@ function print() { __p += __j.call(arguments, '') }
13669
13669
  function C1(i) {
13670
13670
  return Sc(Ft(i, f));
13671
13671
  }
13672
- function E1(i, o) {
13672
+ function V1(i, o) {
13673
13673
  return Mc(i, Ft(o, f));
13674
13674
  }
13675
- var V1 = ge(function(i, o) {
13675
+ var E1 = ge(function(i, o) {
13676
13676
  return function(h) {
13677
13677
  return fi(h, i, o);
13678
13678
  };
@@ -13685,7 +13685,7 @@ function print() { __p += __j.call(arguments, '') }
13685
13685
  var m = qe(o), v = ds(o, m);
13686
13686
  h == null && !(Xe(o) && (v.length || !m.length)) && (h = o, o = i, i = this, v = ds(o, qe(o)));
13687
13687
  var _ = !(Xe(h) && "chain" in h) || !!h.chain, G = Gn(i);
13688
- return Vt(v, function(W) {
13688
+ return Et(v, function(W) {
13689
13689
  var C = o[W];
13690
13690
  i[W] = C, G && (i.prototype[W] = function() {
13691
13691
  var K = this.__chain__;
@@ -13707,7 +13707,7 @@ function print() { __p += __j.call(arguments, '') }
13707
13707
  return Gc(o, i);
13708
13708
  });
13709
13709
  }
13710
- var k1 = Jo(Ve), z1 = Jo(Bl), D1 = Jo(bo);
13710
+ var k1 = Jo(Ee), z1 = Jo(Bl), D1 = Jo(bo);
13711
13711
  function Uu(i) {
13712
13712
  return ra(i) ? _o(hn(i)) : ym(i);
13713
13713
  }
@@ -13742,7 +13742,7 @@ function print() { __p += __j.call(arguments, '') }
13742
13742
  return v;
13743
13743
  }
13744
13744
  function j1(i) {
13745
- return de(i) ? Ve(i, hn) : Gt(i) ? [i] : vt(hu(Ze(i)));
13745
+ return de(i) ? Ee(i, hn) : Gt(i) ? [i] : vt(hu(Ze(i)));
13746
13746
  }
13747
13747
  function J1(i) {
13748
13748
  var o = ++ap;
@@ -13782,14 +13782,14 @@ function print() { __p += __j.call(arguments, '') }
13782
13782
  function hv(i, o) {
13783
13783
  return i && i.length ? Lo(i, oe(o, 2)) : 0;
13784
13784
  }
13785
- return x.after = Cg, x.ary = _u, x.assign = xy, x.assignIn = Au, x.assignInWith = Rs, x.assignWith = by, x.at = _y, x.before = Tu, x.bind = ca, x.bindAll = G1, x.bindKey = Lu, x.castArray = Ug, x.chain = wu, x.chunk = e0, x.compact = t0, x.concat = n0, x.cond = Z1, x.conforms = W1, x.constant = ga, x.countBy = ug, x.create = Ty, x.curry = Su, x.curryRight = Mu, x.debounce = Gu, x.defaults = Ly, x.defaultsDeep = Sy, x.defer = Eg, x.delay = Vg, x.difference = r0, x.differenceBy = i0, x.differenceWith = s0, x.drop = o0, x.dropRight = a0, x.dropRightWhile = l0, x.dropWhile = c0, x.fill = u0, x.filter = dg, x.flatMap = mg, x.flatMapDeep = gg, x.flatMapDepth = yg, x.flatten = mu, x.flattenDeep = h0, x.flattenDepth = d0, x.flip = Ag, x.flow = R1, x.flowRight = P1, x.fromPairs = f0, x.functions = Py, x.functionsIn = Cy, x.groupBy = vg, x.initial = m0, x.intersection = g0, x.intersectionBy = y0, x.intersectionWith = v0, x.invert = Vy, x.invertBy = Ay, x.invokeMap = xg, x.iteratee = ya, x.keyBy = bg, x.keys = qe, x.keysIn = xt, x.map = Ss, x.mapKeys = Fy, x.mapValues = ky, x.matches = C1, x.matchesProperty = E1, x.memoize = Gs, x.merge = zy, x.mergeWith = Xu, x.method = V1, x.methodOf = A1, x.mixin = va, x.negate = Zs, x.nthArg = F1, x.omit = Dy, x.omitBy = Oy, x.once = Xg, x.orderBy = _g, x.over = k1, x.overArgs = Fg, x.overEvery = z1, x.overSome = D1, x.partial = ua, x.partialRight = Zu, x.partition = Tg, x.pick = Ky, x.pickBy = Fu, x.property = Uu, x.propertyOf = O1, x.pull = _0, x.pullAll = yu, x.pullAllBy = T0, x.pullAllWith = L0, x.pullAt = S0, x.range = K1, x.rangeRight = Y1, x.rearg = kg, x.reject = Mg, x.remove = M0, x.rest = zg, x.reverse = aa, x.sampleSize = Zg, x.set = Uy, x.setWith = Hy, x.shuffle = Wg, x.slice = G0, x.sortBy = Pg, x.sortedUniq = E0, x.sortedUniqBy = V0, x.split = m1, x.spread = Dg, x.tail = A0, x.take = X0, x.takeRight = F0, x.takeRightWhile = k0, x.takeWhile = z0, x.tap = tg, x.throttle = Og, x.thru = Ls, x.toArray = Cu, x.toPairs = ku, x.toPairsIn = zu, x.toPath = j1, x.toPlainObject = Vu, x.transform = Ny, x.unary = Kg, x.union = D0, x.unionBy = O0, x.unionWith = K0, x.uniq = Y0, x.uniqBy = U0, x.uniqWith = H0, x.unset = By, x.unzip = la, x.unzipWith = vu, x.update = jy, x.updateWith = Jy, x.values = Yr, x.valuesIn = Qy, x.without = N0, x.words = Ku, x.wrap = Yg, x.xor = B0, x.xorBy = j0, x.xorWith = J0, x.zip = Q0, x.zipObject = q0, x.zipObjectDeep = $0, x.zipWith = eg, x.entries = ku, x.entriesIn = zu, x.extend = Au, x.extendWith = Rs, va(x, x), x.add = Q1, x.attempt = Yu, x.camelCase = t1, x.capitalize = Du, x.ceil = q1, x.clamp = qy, x.clone = Hg, x.cloneDeep = Bg, x.cloneDeepWith = jg, x.cloneWith = Ng, x.conformsTo = Jg, x.deburr = Ou, x.defaultTo = I1, x.divide = $1, x.endsWith = n1, x.eq = Qt, x.escape = r1, x.escapeRegExp = i1, x.every = hg, x.find = fg, x.findIndex = fu, x.findKey = My, x.findLast = pg, x.findLastIndex = pu, x.findLastKey = Gy, x.floor = ev, x.forEach = xu, x.forEachRight = bu, x.forIn = Zy, x.forInRight = Wy, x.forOwn = Iy, x.forOwnRight = Ry, x.get = fa, x.gt = Qg, x.gte = qg, x.has = Ey, x.hasIn = pa, x.head = gu, x.identity = bt, x.includes = wg, x.indexOf = p0, x.inRange = $y, x.invoke = Xy, x.isArguments = vr, x.isArray = de, x.isArrayBuffer = $g, x.isArrayLike = wt, x.isArrayLikeObject = ze, x.isBoolean = ey, x.isBuffer = Nn, x.isDate = ty, x.isElement = ny, x.isEmpty = ry, x.isEqual = iy, x.isEqualWith = sy, x.isError = ha, x.isFinite = oy, x.isFunction = Gn, x.isInteger = Wu, x.isLength = Ws, x.isMap = Iu, x.isMatch = ay, x.isMatchWith = ly, x.isNaN = cy, x.isNative = uy, x.isNil = dy, x.isNull = hy, x.isNumber = Ru, x.isObject = Xe, x.isObjectLike = ke, x.isPlainObject = wi, x.isRegExp = da, x.isSafeInteger = fy, x.isSet = Pu, x.isString = Is, x.isSymbol = Gt, x.isTypedArray = Kr, x.isUndefined = py, x.isWeakMap = my, x.isWeakSet = gy, x.join = w0, x.kebabCase = s1, x.last = zt, x.lastIndexOf = x0, x.lowerCase = o1, x.lowerFirst = a1, x.lt = yy, x.lte = vy, x.max = tv, x.maxBy = nv, x.mean = rv, x.meanBy = iv, x.min = sv, x.minBy = ov, x.stubArray = xa, x.stubFalse = ba, x.stubObject = U1, x.stubString = H1, x.stubTrue = N1, x.multiply = av, x.nth = b0, x.noConflict = X1, x.noop = wa, x.now = Ms, x.pad = l1, x.padEnd = c1, x.padStart = u1, x.parseInt = h1, x.random = e1, x.reduce = Lg, x.reduceRight = Sg, x.repeat = d1, x.replace = f1, x.result = Yy, x.round = lv, x.runInContext = R, x.sample = Gg, x.size = Ig, x.snakeCase = p1, x.some = Rg, x.sortedIndex = Z0, x.sortedIndexBy = W0, x.sortedIndexOf = I0, x.sortedLastIndex = R0, x.sortedLastIndexBy = P0, x.sortedLastIndexOf = C0, x.startCase = g1, x.startsWith = y1, x.subtract = cv, x.sum = uv, x.sumBy = hv, x.template = v1, x.times = B1, x.toFinite = Zn, x.toInteger = fe, x.toLength = Eu, x.toLower = w1, x.toNumber = Dt, x.toSafeInteger = wy, x.toString = Ze, x.toUpper = x1, x.trim = b1, x.trimEnd = _1, x.trimStart = T1, x.truncate = L1, x.unescape = S1, x.uniqueId = J1, x.upperCase = M1, x.upperFirst = ma, x.each = xu, x.eachRight = bu, x.first = gu, va(x, function() {
13785
+ return x.after = Cg, x.ary = _u, x.assign = xy, x.assignIn = Au, x.assignInWith = Rs, x.assignWith = by, x.at = _y, x.before = Tu, x.bind = ca, x.bindAll = G1, x.bindKey = Lu, x.castArray = Ug, x.chain = wu, x.chunk = e0, x.compact = t0, x.concat = n0, x.cond = Z1, x.conforms = W1, x.constant = ga, x.countBy = ug, x.create = Ty, x.curry = Su, x.curryRight = Mu, x.debounce = Gu, x.defaults = Ly, x.defaultsDeep = Sy, x.defer = Vg, x.delay = Eg, x.difference = r0, x.differenceBy = i0, x.differenceWith = s0, x.drop = o0, x.dropRight = a0, x.dropRightWhile = l0, x.dropWhile = c0, x.fill = u0, x.filter = dg, x.flatMap = mg, x.flatMapDeep = gg, x.flatMapDepth = yg, x.flatten = mu, x.flattenDeep = h0, x.flattenDepth = d0, x.flip = Ag, x.flow = R1, x.flowRight = P1, x.fromPairs = f0, x.functions = Py, x.functionsIn = Cy, x.groupBy = vg, x.initial = m0, x.intersection = g0, x.intersectionBy = y0, x.intersectionWith = v0, x.invert = Ey, x.invertBy = Ay, x.invokeMap = xg, x.iteratee = ya, x.keyBy = bg, x.keys = qe, x.keysIn = xt, x.map = Ss, x.mapKeys = Fy, x.mapValues = ky, x.matches = C1, x.matchesProperty = V1, x.memoize = Gs, x.merge = zy, x.mergeWith = Xu, x.method = E1, x.methodOf = A1, x.mixin = va, x.negate = Zs, x.nthArg = F1, x.omit = Dy, x.omitBy = Oy, x.once = Xg, x.orderBy = _g, x.over = k1, x.overArgs = Fg, x.overEvery = z1, x.overSome = D1, x.partial = ua, x.partialRight = Zu, x.partition = Tg, x.pick = Ky, x.pickBy = Fu, x.property = Uu, x.propertyOf = O1, x.pull = _0, x.pullAll = yu, x.pullAllBy = T0, x.pullAllWith = L0, x.pullAt = S0, x.range = K1, x.rangeRight = Y1, x.rearg = kg, x.reject = Mg, x.remove = M0, x.rest = zg, x.reverse = aa, x.sampleSize = Zg, x.set = Uy, x.setWith = Hy, x.shuffle = Wg, x.slice = G0, x.sortBy = Pg, x.sortedUniq = V0, x.sortedUniqBy = E0, x.split = m1, x.spread = Dg, x.tail = A0, x.take = X0, x.takeRight = F0, x.takeRightWhile = k0, x.takeWhile = z0, x.tap = tg, x.throttle = Og, x.thru = Ls, x.toArray = Cu, x.toPairs = ku, x.toPairsIn = zu, x.toPath = j1, x.toPlainObject = Eu, x.transform = Ny, x.unary = Kg, x.union = D0, x.unionBy = O0, x.unionWith = K0, x.uniq = Y0, x.uniqBy = U0, x.uniqWith = H0, x.unset = By, x.unzip = la, x.unzipWith = vu, x.update = jy, x.updateWith = Jy, x.values = Yr, x.valuesIn = Qy, x.without = N0, x.words = Ku, x.wrap = Yg, x.xor = B0, x.xorBy = j0, x.xorWith = J0, x.zip = Q0, x.zipObject = q0, x.zipObjectDeep = $0, x.zipWith = eg, x.entries = ku, x.entriesIn = zu, x.extend = Au, x.extendWith = Rs, va(x, x), x.add = Q1, x.attempt = Yu, x.camelCase = t1, x.capitalize = Du, x.ceil = q1, x.clamp = qy, x.clone = Hg, x.cloneDeep = Bg, x.cloneDeepWith = jg, x.cloneWith = Ng, x.conformsTo = Jg, x.deburr = Ou, x.defaultTo = I1, x.divide = $1, x.endsWith = n1, x.eq = Qt, x.escape = r1, x.escapeRegExp = i1, x.every = hg, x.find = fg, x.findIndex = fu, x.findKey = My, x.findLast = pg, x.findLastIndex = pu, x.findLastKey = Gy, x.floor = ev, x.forEach = xu, x.forEachRight = bu, x.forIn = Zy, x.forInRight = Wy, x.forOwn = Iy, x.forOwnRight = Ry, x.get = fa, x.gt = Qg, x.gte = qg, x.has = Vy, x.hasIn = pa, x.head = gu, x.identity = bt, x.includes = wg, x.indexOf = p0, x.inRange = $y, x.invoke = Xy, x.isArguments = vr, x.isArray = de, x.isArrayBuffer = $g, x.isArrayLike = wt, x.isArrayLikeObject = ze, x.isBoolean = ey, x.isBuffer = Nn, x.isDate = ty, x.isElement = ny, x.isEmpty = ry, x.isEqual = iy, x.isEqualWith = sy, x.isError = ha, x.isFinite = oy, x.isFunction = Gn, x.isInteger = Wu, x.isLength = Ws, x.isMap = Iu, x.isMatch = ay, x.isMatchWith = ly, x.isNaN = cy, x.isNative = uy, x.isNil = dy, x.isNull = hy, x.isNumber = Ru, x.isObject = Xe, x.isObjectLike = ke, x.isPlainObject = wi, x.isRegExp = da, x.isSafeInteger = fy, x.isSet = Pu, x.isString = Is, x.isSymbol = Gt, x.isTypedArray = Kr, x.isUndefined = py, x.isWeakMap = my, x.isWeakSet = gy, x.join = w0, x.kebabCase = s1, x.last = zt, x.lastIndexOf = x0, x.lowerCase = o1, x.lowerFirst = a1, x.lt = yy, x.lte = vy, x.max = tv, x.maxBy = nv, x.mean = rv, x.meanBy = iv, x.min = sv, x.minBy = ov, x.stubArray = xa, x.stubFalse = ba, x.stubObject = U1, x.stubString = H1, x.stubTrue = N1, x.multiply = av, x.nth = b0, x.noConflict = X1, x.noop = wa, x.now = Ms, x.pad = l1, x.padEnd = c1, x.padStart = u1, x.parseInt = h1, x.random = e1, x.reduce = Lg, x.reduceRight = Sg, x.repeat = d1, x.replace = f1, x.result = Yy, x.round = lv, x.runInContext = R, x.sample = Gg, x.size = Ig, x.snakeCase = p1, x.some = Rg, x.sortedIndex = Z0, x.sortedIndexBy = W0, x.sortedIndexOf = I0, x.sortedLastIndex = R0, x.sortedLastIndexBy = P0, x.sortedLastIndexOf = C0, x.startCase = g1, x.startsWith = y1, x.subtract = cv, x.sum = uv, x.sumBy = hv, x.template = v1, x.times = B1, x.toFinite = Zn, x.toInteger = fe, x.toLength = Vu, x.toLower = w1, x.toNumber = Dt, x.toSafeInteger = wy, x.toString = Ze, x.toUpper = x1, x.trim = b1, x.trimEnd = _1, x.trimStart = T1, x.truncate = L1, x.unescape = S1, x.uniqueId = J1, x.upperCase = M1, x.upperFirst = ma, x.each = xu, x.eachRight = bu, x.first = gu, va(x, function() {
13786
13786
  var i = {};
13787
13787
  return cn(x, function(o, h) {
13788
13788
  We.call(x.prototype, h) || (i[h] = o);
13789
13789
  }), i;
13790
- }(), { chain: !1 }), x.VERSION = n, Vt(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function(i) {
13790
+ }(), { chain: !1 }), x.VERSION = n, Et(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function(i) {
13791
13791
  x[i].placeholder = x;
13792
- }), Vt(["drop", "take"], function(i, o) {
13792
+ }), Et(["drop", "take"], function(i, o) {
13793
13793
  _e.prototype[i] = function(h) {
13794
13794
  h = h === e ? 1 : Be(fe(h), 0);
13795
13795
  var m = this.__filtered__ && !o ? new _e(this) : this.clone();
@@ -13800,7 +13800,7 @@ function print() { __p += __j.call(arguments, '') }
13800
13800
  }, _e.prototype[i + "Right"] = function(h) {
13801
13801
  return this.reverse()[i](h).reverse();
13802
13802
  };
13803
- }), Vt(["filter", "map", "takeWhile"], function(i, o) {
13803
+ }), Et(["filter", "map", "takeWhile"], function(i, o) {
13804
13804
  var h = o + 1, m = h == B || h == N;
13805
13805
  _e.prototype[i] = function(v) {
13806
13806
  var _ = this.clone();
@@ -13809,12 +13809,12 @@ function print() { __p += __j.call(arguments, '') }
13809
13809
  type: h
13810
13810
  }), _.__filtered__ = _.__filtered__ || m, _;
13811
13811
  };
13812
- }), Vt(["head", "last"], function(i, o) {
13812
+ }), Et(["head", "last"], function(i, o) {
13813
13813
  var h = "take" + (o ? "Right" : "");
13814
13814
  _e.prototype[i] = function() {
13815
13815
  return this[h](1).value()[0];
13816
13816
  };
13817
- }), Vt(["initial", "tail"], function(i, o) {
13817
+ }), Et(["initial", "tail"], function(i, o) {
13818
13818
  var h = "drop" + (o ? "" : "Right");
13819
13819
  _e.prototype[i] = function() {
13820
13820
  return this.__filtered__ ? new _e(this) : this[h](1);
@@ -13855,7 +13855,7 @@ function print() { __p += __j.call(arguments, '') }
13855
13855
  }
13856
13856
  return ae && me ? i.apply(this, W) : (le = this.thru(H), ae ? m ? le.value()[0] : le.value() : le);
13857
13857
  });
13858
- }), Vt(["pop", "push", "shift", "sort", "splice", "unshift"], function(i) {
13858
+ }), Et(["pop", "push", "shift", "sort", "splice", "unshift"], function(i) {
13859
13859
  var o = Ji[i], h = /^(?:push|sort|unshift)$/.test(i) ? "tap" : "thru", m = /^(?:pop|shift)$/.test(i);
13860
13860
  x.prototype[i] = function() {
13861
13861
  var v = arguments;
@@ -13873,12 +13873,12 @@ function print() { __p += __j.call(arguments, '') }
13873
13873
  var m = h.name + "";
13874
13874
  We.call(Fr, m) || (Fr[m] = []), Fr[m].push({ name: o, func: h });
13875
13875
  }
13876
- }), Fr[ys(e, L).name] = [{
13876
+ }), Fr[ys(e, S).name] = [{
13877
13877
  name: "wrapper",
13878
13878
  func: e
13879
13879
  }], _e.prototype.clone = Sp, _e.prototype.reverse = Mp, _e.prototype.value = Gp, x.prototype.at = ng, x.prototype.chain = rg, x.prototype.commit = ig, x.prototype.next = sg, x.prototype.plant = ag, x.prototype.reverse = lg, x.prototype.toJSON = x.prototype.valueOf = x.prototype.value = cg, x.prototype.first = x.prototype.head, oi && (x.prototype[oi] = og), x;
13880
- }, Vr = ip();
13881
- ur ? ((ur.exports = Vr)._ = Vr, yo._ = Vr) : $e._ = Vr;
13880
+ }, Er = ip();
13881
+ ur ? ((ur.exports = Er)._ = Er, yo._ = Er) : $e._ = Er;
13882
13882
  }).call(Li);
13883
13883
  })(Qs, Qs.exports);
13884
13884
  var Ob = Qs.exports;
@@ -15229,13 +15229,13 @@ class s_ extends Sr {
15229
15229
  const y = f[g], w = y.geometry;
15230
15230
  if (this._activeFeatureFilter && !this._activeFeatureFilter(y.properties))
15231
15231
  continue;
15232
- let S = null;
15232
+ let T = null;
15233
15233
  for (const b of d)
15234
15234
  if (this._evaluateFilter(b.filter, y.properties, p, y.geometry.type)) {
15235
- S = b.style;
15235
+ T = b.style;
15236
15236
  break;
15237
15237
  }
15238
- if (S) {
15238
+ if (T) {
15239
15239
  const b = {
15240
15240
  isVectorTile: !0,
15241
15241
  tileZ: e.z,
@@ -15244,13 +15244,13 @@ class s_ extends Sr {
15244
15244
  rawCoordinates: w,
15245
15245
  extent: this.EXTENT,
15246
15246
  tileSize: this.TILE_SIZE
15247
- }, L = this._createFeatureInstance(
15247
+ }, S = this._createFeatureInstance(
15248
15248
  y.geometry,
15249
15249
  y.geometry.type,
15250
- S,
15250
+ T,
15251
15251
  y.properties
15252
15252
  );
15253
- L && (L.userData.tileData = b, L.style = on.create(S), L.addTo(this), L.initializeGeometry(), u.push(L));
15253
+ S && (S.userData.tileData = b, S.style = on.create(T), S.addTo(this), S.initializeGeometry(), u.push(S));
15254
15254
  }
15255
15255
  }
15256
15256
  }), this._tileFeatureMap.set(s, u);
@@ -15857,7 +15857,7 @@ function Wd(a, t) {
15857
15857
  function Id(a, t) {
15858
15858
  const e = new Float32Array(a.length);
15859
15859
  for (let n = 0; n < t.length; n += 3) {
15860
- const r = t[n] * 3, s = t[n + 1] * 3, l = t[n + 2] * 3, c = a[r], u = a[r + 1], d = a[r + 2], p = a[s], f = a[s + 1], g = a[s + 2], y = a[l], w = a[l + 1], S = a[l + 2], b = p - c, L = f - u, T = g - d, Z = y - c, E = w - u, z = S - d, X = L * z - T * E, k = T * Z - b * z, P = b * E - L * Z, D = Math.sqrt(X * X + k * k + P * P), I = [0, 0, 1];
15860
+ const r = t[n] * 3, s = t[n + 1] * 3, l = t[n + 2] * 3, c = a[r], u = a[r + 1], d = a[r + 2], p = a[s], f = a[s + 1], g = a[s + 2], y = a[l], w = a[l + 1], T = a[l + 2], b = p - c, S = f - u, L = g - d, Z = y - c, V = w - u, z = T - d, X = S * z - L * V, k = L * Z - b * z, P = b * V - S * Z, D = Math.sqrt(X * X + k * k + P * P), I = [0, 0, 1];
15861
15861
  if (D > 0) {
15862
15862
  const A = 1 / D;
15863
15863
  I[0] = X * A, I[1] = k * A, I[2] = P * A;
@@ -15867,7 +15867,7 @@ function Id(a, t) {
15867
15867
  }
15868
15868
  return e;
15869
15869
  }
15870
- class Ei extends Br {
15870
+ class Vi extends Br {
15871
15871
  constructor() {
15872
15872
  super(...arguments);
15873
15873
  /**
@@ -15984,12 +15984,12 @@ class g_ {
15984
15984
  update() {
15985
15985
  const { numTriangles: t, numParentTriangles: e, coords: n, gridSize: r } = this.martini, { terrain: s, errors: l } = this;
15986
15986
  for (let c = t - 1; c >= 0; c--) {
15987
- const u = c * 4, d = n[u + 0], p = n[u + 1], f = n[u + 2], g = n[u + 3], y = d + f >> 1, w = p + g >> 1, S = y + w - p, b = w + d - y, L = (s[p * r + d] + s[g * r + f]) / 2, T = w * r + y, Z = Math.abs(L - s[T]);
15988
- if (l[T] = Math.max(l[T], Z), c < e) {
15989
- const E = (p + b >> 1) * r + (d + S >> 1), z = (g + b >> 1) * r + (f + S >> 1);
15990
- l[T] = Math.max(
15991
- l[T],
15992
- l[E],
15987
+ const u = c * 4, d = n[u + 0], p = n[u + 1], f = n[u + 2], g = n[u + 3], y = d + f >> 1, w = p + g >> 1, T = y + w - p, b = w + d - y, S = (s[p * r + d] + s[g * r + f]) / 2, L = w * r + y, Z = Math.abs(S - s[L]);
15988
+ if (l[L] = Math.max(l[L], Z), c < e) {
15989
+ const V = (p + b >> 1) * r + (d + T >> 1), z = (g + b >> 1) * r + (f + T >> 1);
15990
+ l[L] = Math.max(
15991
+ l[L],
15992
+ l[V],
15993
15993
  l[z]
15994
15994
  );
15995
15995
  }
@@ -16006,25 +16006,25 @@ class g_ {
16006
16006
  const c = e - 1;
16007
16007
  let u, d, p = 0;
16008
16008
  n.fill(0);
16009
- function f(T, Z, E, z, X, k) {
16010
- const P = T + E >> 1, D = Z + z >> 1;
16011
- Math.abs(T - X) + Math.abs(Z - k) > 1 && r[D * e + P] > t ? (f(X, k, T, Z, P, D), f(E, z, X, k, P, D)) : (u = Z * e + T, d = z * e + E, p = k * e + X, n[u] === 0 && (n[u] = ++s), n[d] === 0 && (n[d] = ++s), n[p] === 0 && (n[p] = ++s), l++);
16009
+ function f(L, Z, V, z, X, k) {
16010
+ const P = L + V >> 1, D = Z + z >> 1;
16011
+ Math.abs(L - X) + Math.abs(Z - k) > 1 && r[D * e + P] > t ? (f(X, k, L, Z, P, D), f(V, z, X, k, P, D)) : (u = Z * e + L, d = z * e + V, p = k * e + X, n[u] === 0 && (n[u] = ++s), n[d] === 0 && (n[d] = ++s), n[p] === 0 && (n[p] = ++s), l++);
16012
16012
  }
16013
16013
  f(0, 0, c, c, c, 0), f(c, c, 0, 0, 0, c);
16014
- const g = s * 2, y = l * 3, w = new Uint16Array(g), S = new Uint32Array(y);
16014
+ const g = s * 2, y = l * 3, w = new Uint16Array(g), T = new Uint32Array(y);
16015
16015
  let b = 0;
16016
- function L(T, Z, E, z, X, k) {
16017
- const P = T + E >> 1, D = Z + z >> 1;
16018
- if (Math.abs(T - X) + Math.abs(Z - k) > 1 && r[D * e + P] > t)
16019
- L(X, k, T, Z, P, D), L(E, z, X, k, P, D);
16016
+ function S(L, Z, V, z, X, k) {
16017
+ const P = L + V >> 1, D = Z + z >> 1;
16018
+ if (Math.abs(L - X) + Math.abs(Z - k) > 1 && r[D * e + P] > t)
16019
+ S(X, k, L, Z, P, D), S(V, z, X, k, P, D);
16020
16020
  else {
16021
- const I = n[Z * e + T] - 1, A = n[z * e + E] - 1, U = n[k * e + X] - 1;
16022
- w[2 * I] = T, w[2 * I + 1] = Z, w[2 * A] = E, w[2 * A + 1] = z, w[2 * U] = X, w[2 * U + 1] = k, S[b++] = I, S[b++] = A, S[b++] = U;
16021
+ const I = n[Z * e + L] - 1, A = n[z * e + V] - 1, U = n[k * e + X] - 1;
16022
+ w[2 * I] = L, w[2 * I + 1] = Z, w[2 * A] = V, w[2 * A + 1] = z, w[2 * U] = X, w[2 * U + 1] = k, T[b++] = I, T[b++] = A, T[b++] = U;
16023
16023
  }
16024
16024
  }
16025
- return L(0, 0, c, c, c, 0), L(c, c, 0, 0, 0, c), {
16026
- attributes: this._getMeshAttributes(this.terrain, w, S),
16027
- indices: S
16025
+ return S(0, 0, c, c, c, 0), S(c, c, 0, 0, 0, c), {
16026
+ attributes: this._getMeshAttributes(this.terrain, w, T),
16027
+ indices: T
16028
16028
  };
16029
16029
  }
16030
16030
  /**
@@ -16067,12 +16067,12 @@ class Rd {
16067
16067
  async load(t) {
16068
16068
  const { source: e, x: n, y: r, z: s } = t, { url: l, clipBounds: c } = Zd(e, n, r, s);
16069
16069
  if (!l)
16070
- return new Ei();
16070
+ return new Vi();
16071
16071
  const u = await this.doLoad(l, { source: e, x: n, y: r, z: s, bounds: c });
16072
16072
  return Ke.manager.parseEnd(l), u;
16073
16073
  }
16074
16074
  }
16075
- class Pd extends Vi {
16075
+ class Pd extends Ei {
16076
16076
  constructor(t = {}) {
16077
16077
  super({ transparent: !0, side: $s, ...t });
16078
16078
  }
@@ -16233,7 +16233,7 @@ function w_(a, t) {
16233
16233
  }
16234
16234
  const x_ = `{
16235
16235
  "name": "@terra.gl/core",
16236
- "version": "0.0.1-alpha.11",
16236
+ "version": "0.0.1-alpha.13",
16237
16237
  "type": "module",
16238
16238
  "files": [
16239
16239
  "dist"
@@ -16379,7 +16379,7 @@ function b_(a, t) {
16379
16379
  return typeof s == "function" ? s(t) : s;
16380
16380
  });
16381
16381
  }
16382
- const { version: ET, author: VT } = JSON.parse(x_);
16382
+ const { version: VT, author: ET } = JSON.parse(x_);
16383
16383
  function AT(a, t = 100) {
16384
16384
  return new Promise((e) => {
16385
16385
  const n = setInterval(() => {
@@ -16387,16 +16387,16 @@ function AT(a, t = 100) {
16387
16387
  }, t);
16388
16388
  });
16389
16389
  }
16390
- function Ed(a) {
16390
+ function Vd(a) {
16391
16391
  return Ke.registerMaterialLoader(a), a;
16392
16392
  }
16393
- function Vd(a) {
16393
+ function Ed(a) {
16394
16394
  return Ke.registerGeometryLoader(a), a;
16395
16395
  }
16396
16396
  function __(a) {
16397
16397
  return Ke.registerMeshLoader(a), a;
16398
16398
  }
16399
- Ed(new v_());
16399
+ Vd(new v_());
16400
16400
  const Ad = "dmFyIGNlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgbWU9KGosWixxKT0+WiBpbiBqP2NlKGosWix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6cX0pOmpbWl09cTt2YXIgTj0oaixaLHEpPT5tZShqLHR5cGVvZiBaIT0ic3ltYm9sIj9aKyIiOloscSk7KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGooQSxwKXtjb25zdCBrPW5ldyBGbG9hdDMyQXJyYXkoQS5sZW5ndGgpO2ZvcihsZXQgVT0wO1U8cC5sZW5ndGg7VSs9Myl7Y29uc3QgYT1wW1VdKjMsZT1wW1UrMV0qMyxyPXBbVSsyXSozLHM9QVthXSx0PUFbYSsxXSxuPUFbYSsyXSxoPUFbZV0saT1BW2UrMV0sbz1BW2UrMl0sYz1BW3JdLHU9QVtyKzFdLG09QVtyKzJdLHc9aC1zLGw9aS10LGY9by1uLGc9Yy1zLE09dS10LFY9bS1uLGQ9bCpWLWYqTSx5PWYqZy13KlYsST13Kk0tbCpnLHo9TWF0aC5zcXJ0KGQqZCt5KnkrSSpJKSx4PVswLDAsMV07aWYoej4wKXtjb25zdCB2PTEvejt4WzBdPWQqdix4WzFdPXkqdix4WzJdPUkqdn1mb3IobGV0IHY9MDt2PDM7disrKWtbYSt2XT1rW2Urdl09a1tyK3ZdPXhbdl19cmV0dXJuIGt9Y2xhc3MgWntjb25zdHJ1Y3RvcihwPTI1Nyl7Tih0aGlzLCJncmlkU2l6ZSIpO04odGhpcywibnVtVHJpYW5nbGVzIik7Tih0aGlzLCJudW1QYXJlbnRUcmlhbmdsZXMiKTtOKHRoaXMsImluZGljZXMiKTtOKHRoaXMsImNvb3JkcyIpO3RoaXMuZ3JpZFNpemU9cDtjb25zdCBrPXAtMTtpZihrJmstMSl0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGdyaWQgc2l6ZSB0byBiZSAyXm4rMSwgZ290ICR7cH0uYCk7dGhpcy5udW1UcmlhbmdsZXM9ayprKjItMix0aGlzLm51bVBhcmVudFRyaWFuZ2xlcz10aGlzLm51bVRyaWFuZ2xlcy1rKmssdGhpcy5pbmRpY2VzPW5ldyBVaW50MzJBcnJheSh0aGlzLmdyaWRTaXplKnRoaXMuZ3JpZFNpemUpLHRoaXMuY29vcmRzPW5ldyBVaW50MTZBcnJheSh0aGlzLm51bVRyaWFuZ2xlcyo0KTtmb3IobGV0IFU9MDtVPHRoaXMubnVtVHJpYW5nbGVzO1UrKyl7bGV0IGE9VSsyLGU9MCxyPTAscz0wLHQ9MCxuPTAsaD0wO2ZvcihhJjE/cz10PW49azplPXI9aD1rOyhhPj49MSk+MTspe2NvbnN0IG89ZStzPj4xLGM9cit0Pj4xO2EmMT8ocz1lLHQ9cixlPW4scj1oKTooZT1zLHI9dCxzPW4sdD1oKSxuPW8saD1jfWNvbnN0IGk9VSo0O3RoaXMuY29vcmRzW2krMF09ZSx0aGlzLmNvb3Jkc1tpKzFdPXIsdGhpcy5jb29yZHNbaSsyXT1zLHRoaXMuY29vcmRzW2krM109dH19Y3JlYXRlVGlsZShwKXtyZXR1cm4gbmV3IHEocCx0aGlzKX19Y2xhc3MgcXtjb25zdHJ1Y3RvcihwLGspe04odGhpcywibWFydGluaSIpO04odGhpcywidGVycmFpbiIpO04odGhpcywiZXJyb3JzIik7Y29uc3QgVT1rLmdyaWRTaXplO2lmKHAubGVuZ3RoIT09VSpVKXRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgdGVycmFpbiBkYXRhIG9mIGxlbmd0aCAke1UqVX0gKCR7VX0geCAke1V9KSwgZ290ICR7cC5sZW5ndGh9LmApO3RoaXMudGVycmFpbj1wLHRoaXMubWFydGluaT1rLHRoaXMuZXJyb3JzPW5ldyBGbG9hdDMyQXJyYXkocC5sZW5ndGgpLHRoaXMudXBkYXRlKCl9dXBkYXRlKCl7Y29uc3R7bnVtVHJpYW5nbGVzOnAsbnVtUGFyZW50VHJpYW5nbGVzOmssY29vcmRzOlUsZ3JpZFNpemU6YX09dGhpcy5tYXJ0aW5pLHt0ZXJyYWluOmUsZXJyb3JzOnJ9PXRoaXM7Zm9yKGxldCBzPXAtMTtzPj0wO3MtLSl7Y29uc3QgdD1zKjQsbj1VW3QrMF0saD1VW3QrMV0saT1VW3QrMl0sbz1VW3QrM10sYz1uK2k+PjEsdT1oK28+PjEsbT1jK3UtaCx3PXUrbi1jLGw9KGVbaCphK25dK2VbbyphK2ldKS8yLGY9dSphK2MsZz1NYXRoLmFicyhsLWVbZl0pO2lmKHJbZl09TWF0aC5tYXgocltmXSxnKSxzPGspe2NvbnN0IE09KGgrdz4+MSkqYSsobittPj4xKSxWPShvK3c+PjEpKmErKGkrbT4+MSk7cltmXT1NYXRoLm1heChyW2ZdLHJbTV0scltWXSl9fX1nZXRHZW9tZXRyeURhdGEocD0wKXtjb25zdHtncmlkU2l6ZTprLGluZGljZXM6VX09dGhpcy5tYXJ0aW5pLHtlcnJvcnM6YX09dGhpcztsZXQgZT0wLHI9MDtjb25zdCBzPWstMTtsZXQgdCxuLGg9MDtVLmZpbGwoMCk7ZnVuY3Rpb24gaShmLGcsTSxWLGQseSl7Y29uc3QgST1mK00+PjEsej1nK1Y+PjE7TWF0aC5hYnMoZi1kKStNYXRoLmFicyhnLXkpPjEmJmFbeiprK0ldPnA/KGkoZCx5LGYsZyxJLHopLGkoTSxWLGQseSxJLHopKToodD1nKmsrZixuPVYqaytNLGg9eSprK2QsVVt0XT09PTAmJihVW3RdPSsrZSksVVtuXT09PTAmJihVW25dPSsrZSksVVtoXT09PTAmJihVW2hdPSsrZSkscisrKX1pKDAsMCxzLHMscywwKSxpKHMscywwLDAsMCxzKTtjb25zdCBvPWUqMixjPXIqMyx1PW5ldyBVaW50MTZBcnJheShvKSxtPW5ldyBVaW50MzJBcnJheShjKTtsZXQgdz0wO2Z1bmN0aW9uIGwoZixnLE0sVixkLHkpe2NvbnN0IEk9ZitNPj4xLHo9ZytWPj4xO2lmKE1hdGguYWJzKGYtZCkrTWF0aC5hYnMoZy15KT4xJiZhW3oqaytJXT5wKWwoZCx5LGYsZyxJLHopLGwoTSxWLGQseSxJLHopO2Vsc2V7Y29uc3QgeD1VW2cqaytmXS0xLHY9VVtWKmsrTV0tMSxEPVVbeSprK2RdLTE7dVsyKnhdPWYsdVsyKngrMV09Zyx1WzIqdl09TSx1WzIqdisxXT1WLHVbMipEXT1kLHVbMipEKzFdPXksbVt3KytdPXgsbVt3KytdPXYsbVt3KytdPUR9fXJldHVybiBsKDAsMCxzLHMscywwKSxsKHMscywwLDAsMCxzKSx7YXR0cmlidXRlczp0aGlzLl9nZXRNZXNoQXR0cmlidXRlcyh0aGlzLnRlcnJhaW4sdSxtKSxpbmRpY2VzOm19fV9nZXRNZXNoQXR0cmlidXRlcyhwLGssVSl7Y29uc3QgYT1NYXRoLmZsb29yKE1hdGguc3FydChwLmxlbmd0aCkpLGU9YS0xLHI9ay5sZW5ndGgvMixzPW5ldyBGbG9hdDMyQXJyYXkociozKSx0PW5ldyBGbG9hdDMyQXJyYXkocioyKTtmb3IobGV0IGg9MDtoPHI7aCsrKXtjb25zdCBpPWtbaCoyXSxvPWtbaCoyKzFdLGM9byphK2k7c1szKmgrMF09aS9lLS41LHNbMypoKzFdPS41LW8vZSxzWzMqaCsyXT1wW2NdLHRbMipoKzBdPWkvZSx0WzIqaCsxXT0xLW8vZX1jb25zdCBuPWoocyxVKTtyZXR1cm57cG9zaXRpb246e3ZhbHVlOnMsc2l6ZTozfSx0ZXhjb29yZDp7dmFsdWU6dCxzaXplOjJ9LG5vcm1hbDp7dmFsdWU6bixzaXplOjN9fX19LyogQ29weXJpZ2h0IDIwMTUtMjAyMSBFc3JpLiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEBwcmVzZXJ2ZSAqL2NvbnN0IGVlPWZ1bmN0aW9uKCl7dmFyIEE9e307QS5kZWZhdWx0Tm9EYXRhVmFsdWU9LTM0MDI3OTk5Mzg3OTAxNDg0ZTIyLEEuZGVjb2RlPWZ1bmN0aW9uKHIscyl7cz1zfHx7fTt2YXIgdD1zLmVuY29kZWRNYXNrRGF0YXx8cy5lbmNvZGVkTWFza0RhdGE9PT1udWxsLG49YShyLHMuaW5wdXRPZmZzZXR8fDAsdCksaD1zLm5vRGF0YVZhbHVlIT09bnVsbD9zLm5vRGF0YVZhbHVlOkEuZGVmYXVsdE5vRGF0YVZhbHVlLGk9cChuLHMucGl4ZWxUeXBlfHxGbG9hdDMyQXJyYXkscy5lbmNvZGVkTWFza0RhdGEsaCxzLnJldHVybk1hc2spLG89e3dpZHRoOm4ud2lkdGgsaGVpZ2h0Om4uaGVpZ2h0LHBpeGVsRGF0YTppLnJlc3VsdFBpeGVscyxtaW5WYWx1ZTppLm1pblZhbHVlLG1heFZhbHVlOm4ucGl4ZWxzLm1heFZhbHVlLG5vRGF0YVZhbHVlOmh9O3JldHVybiBpLnJlc3VsdE1hc2smJihvLm1hc2tEYXRhPWkucmVzdWx0TWFzaykscy5yZXR1cm5FbmNvZGVkTWFzayYmbi5tYXNrJiYoby5lbmNvZGVkTWFza0RhdGE9bi5tYXNrLmJpdHNldD9uLm1hc2suYml0c2V0Om51bGwpLHMucmV0dXJuRmlsZUluZm8mJihvLmZpbGVJbmZvPWsobikscy5jb21wdXRlVXNlZEJpdERlcHRocyYmKG8uZmlsZUluZm8uYml0RGVwdGhzPVUobikpKSxvfTt2YXIgcD1mdW5jdGlvbihyLHMsdCxuLGgpe3ZhciBpPTAsbz1yLnBpeGVscy5udW1CbG9ja3NYLGM9ci5waXhlbHMubnVtQmxvY2tzWSx1PU1hdGguZmxvb3Ioci53aWR0aC9vKSxtPU1hdGguZmxvb3Ioci5oZWlnaHQvYyksdz0yKnIubWF4WkVycm9yLGw9TnVtYmVyLk1BWF9WQUxVRSxmO3Q9dHx8KHIubWFzaz9yLm1hc2suYml0c2V0Om51bGwpO3ZhciBnLE07Zz1uZXcgcyhyLndpZHRoKnIuaGVpZ2h0KSxoJiZ0JiYoTT1uZXcgVWludDhBcnJheShyLndpZHRoKnIuaGVpZ2h0KSk7Zm9yKHZhciBWPW5ldyBGbG9hdDMyQXJyYXkodSptKSxkLHksST0wO0k8PWM7SSsrKXt2YXIgej1JIT09Yz9tOnIuaGVpZ2h0JWM7aWYoeiE9PTApZm9yKHZhciB4PTA7eDw9bzt4Kyspe3ZhciB2PXghPT1vP3U6ci53aWR0aCVvO2lmKHYhPT0wKXt2YXIgRD1JKnIud2lkdGgqbSt4KnUsVD1yLndpZHRoLXYsUz1yLnBpeGVscy5ibG9ja3NbaV0sQixMLEY7Uy5lbmNvZGluZzwyPyhTLmVuY29kaW5nPT09MD9CPVMucmF3RGF0YTooZShTLnN0dWZmZWREYXRhLFMuYml0c1BlclBpeGVsLFMubnVtVmFsaWRQaXhlbHMsUy5vZmZzZXQsdyxWLHIucGl4ZWxzLm1heFZhbHVlKSxCPVYpLEw9MCk6Uy5lbmNvZGluZz09PTI/Rj0wOkY9Uy5vZmZzZXQ7dmFyIGI7aWYodClmb3IoeT0wO3k8ejt5Kyspe2ZvcihEJjcmJihiPXRbRD4+M10sYjw8PUQmNyksZD0wO2Q8djtkKyspRCY3fHwoYj10W0Q+PjNdKSxiJjEyOD8oTSYmKE1bRF09MSksZj1TLmVuY29kaW5nPDI/QltMKytdOkYsbD1sPmY/ZjpsLGdbRCsrXT1mKTooTSYmKE1bRF09MCksZ1tEKytdPW4pLGI8PD0xO0QrPVR9ZWxzZSBpZihTLmVuY29kaW5nPDIpZm9yKHk9MDt5PHo7eSsrKXtmb3IoZD0wO2Q8djtkKyspZj1CW0wrK10sbD1sPmY/ZjpsLGdbRCsrXT1mO0QrPVR9ZWxzZSBmb3IobD1sPkY/RjpsLHk9MDt5PHo7eSsrKXtmb3IoZD0wO2Q8djtkKyspZ1tEKytdPUY7RCs9VH1pZihTLmVuY29kaW5nPT09MSYmTCE9PVMubnVtVmFsaWRQaXhlbHMpdGhyb3ciQmxvY2sgYW5kIE1hc2sgZG8gbm90IG1hdGNoIjtpKyt9fX1yZXR1cm57cmVzdWx0UGl4ZWxzOmcscmVzdWx0TWFzazpNLG1pblZhbHVlOmx9fSxrPWZ1bmN0aW9uKHIpe3JldHVybntmaWxlSWRlbnRpZmllclN0cmluZzpyLmZpbGVJZGVudGlmaWVyU3RyaW5nLGZpbGVWZXJzaW9uOnIuZmlsZVZlcnNpb24saW1hZ2VUeXBlOnIuaW1hZ2VUeXBlLGhlaWdodDpyLmhlaWdodCx3aWR0aDpyLndpZHRoLG1heFpFcnJvcjpyLm1heFpFcnJvcixlb2ZPZmZzZXQ6ci5lb2ZPZmZzZXQsbWFzazpyLm1hc2s/e251bUJsb2Nrc1g6ci5tYXNrLm51bUJsb2Nrc1gsbnVtQmxvY2tzWTpyLm1hc2subnVtQmxvY2tzWSxudW1CeXRlczpyLm1hc2subnVtQnl0ZXMsbWF4VmFsdWU6ci5tYXNrLm1heFZhbHVlfTpudWxsLHBpeGVsczp7bnVtQmxvY2tzWDpyLnBpeGVscy5udW1CbG9ja3NYLG51bUJsb2Nrc1k6ci5waXhlbHMubnVtQmxvY2tzWSxudW1CeXRlczpyLnBpeGVscy5udW1CeXRlcyxtYXhWYWx1ZTpyLnBpeGVscy5tYXhWYWx1ZSxub0RhdGFWYWx1ZTpyLm5vRGF0YVZhbHVlfX19LFU9ZnVuY3Rpb24ocil7Zm9yKHZhciBzPXIucGl4ZWxzLm51bUJsb2Nrc1gqci5waXhlbHMubnVtQmxvY2tzWSx0PXt9LG49MDtuPHM7bisrKXt2YXIgaD1yLnBpeGVscy5ibG9ja3Nbbl07aC5lbmNvZGluZz09PTA/dC5mbG9hdDMyPSEwOmguZW5jb2Rpbmc9PT0xP3RbaC5iaXRzUGVyUGl4ZWxdPSEwOnRbMF09ITB9cmV0dXJuIE9iamVjdC5rZXlzKHQpfSxhPWZ1bmN0aW9uKHIscyx0KXt2YXIgbj17fSxoPW5ldyBVaW50OEFycmF5KHIscywxMCk7aWYobi5maWxlSWRlbnRpZmllclN0cmluZz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsaCksbi5maWxlSWRlbnRpZmllclN0cmluZy50cmltKCkhPT0iQ250WkltYWdlIil0aHJvdyJVbmV4cGVjdGVkIGZpbGUgaWRlbnRpZmllciBzdHJpbmc6ICIrbi5maWxlSWRlbnRpZmllclN0cmluZztzKz0xMDt2YXIgaT1uZXcgRGF0YVZpZXcocixzLDI0KTtpZihuLmZpbGVWZXJzaW9uPWkuZ2V0SW50MzIoMCwhMCksbi5pbWFnZVR5cGU9aS5nZXRJbnQzMig0LCEwKSxuLmhlaWdodD1pLmdldFVpbnQzMig4LCEwKSxuLndpZHRoPWkuZ2V0VWludDMyKDEyLCEwKSxuLm1heFpFcnJvcj1pLmdldEZsb2F0NjQoMTYsITApLHMrPTI0LCF0KWlmKGk9bmV3IERhdGFWaWV3KHIscywxNiksbi5tYXNrPXt9LG4ubWFzay5udW1CbG9ja3NZPWkuZ2V0VWludDMyKDAsITApLG4ubWFzay5udW1CbG9ja3NYPWkuZ2V0VWludDMyKDQsITApLG4ubWFzay5udW1CeXRlcz1pLmdldFVpbnQzMig4LCEwKSxuLm1hc2subWF4VmFsdWU9aS5nZXRGbG9hdDMyKDEyLCEwKSxzKz0xNixuLm1hc2subnVtQnl0ZXM+MCl7dmFyIG89bmV3IFVpbnQ4QXJyYXkoTWF0aC5jZWlsKG4ud2lkdGgqbi5oZWlnaHQvOCkpO2k9bmV3IERhdGFWaWV3KHIscyxuLm1hc2subnVtQnl0ZXMpO3ZhciBjPWkuZ2V0SW50MTYoMCwhMCksdT0yLG09MDtkb3tpZihjPjApZm9yKDtjLS07KW9bbSsrXT1pLmdldFVpbnQ4KHUrKyk7ZWxzZXt2YXIgdz1pLmdldFVpbnQ4KHUrKyk7Zm9yKGM9LWM7Yy0tOylvW20rK109d31jPWkuZ2V0SW50MTYodSwhMCksdSs9Mn13aGlsZSh1PG4ubWFzay5udW1CeXRlcyk7aWYoYyE9PS0zMjc2OHx8bTxvLmxlbmd0aCl0aHJvdyJVbmV4cGVjdGVkIGVuZCBvZiBtYXNrIFJMRSBlbmNvZGluZyI7bi5tYXNrLmJpdHNldD1vLHMrPW4ubWFzay5udW1CeXRlc31lbHNlIG4ubWFzay5udW1CeXRlc3xuLm1hc2subnVtQmxvY2tzWXxuLm1hc2subWF4VmFsdWV8fChuLm1hc2suYml0c2V0PW5ldyBVaW50OEFycmF5KE1hdGguY2VpbChuLndpZHRoKm4uaGVpZ2h0LzgpKSk7aT1uZXcgRGF0YVZpZXcocixzLDE2KSxuLnBpeGVscz17fSxuLnBpeGVscy5udW1CbG9ja3NZPWkuZ2V0VWludDMyKDAsITApLG4ucGl4ZWxzLm51bUJsb2Nrc1g9aS5nZXRVaW50MzIoNCwhMCksbi5waXhlbHMubnVtQnl0ZXM9aS5nZXRVaW50MzIoOCwhMCksbi5waXhlbHMubWF4VmFsdWU9aS5nZXRGbG9hdDMyKDEyLCEwKSxzKz0xNjt2YXIgbD1uLnBpeGVscy5udW1CbG9ja3NYLGY9bi5waXhlbHMubnVtQmxvY2tzWSxnPWwrKG4ud2lkdGglbD4wPzE6MCksTT1mKyhuLmhlaWdodCVmPjA/MTowKTtuLnBpeGVscy5ibG9ja3M9bmV3IEFycmF5KGcqTSk7Zm9yKHZhciBWPTAsZD0wO2Q8TTtkKyspZm9yKHZhciB5PTA7eTxnO3krKyl7dmFyIEk9MCx6PXIuYnl0ZUxlbmd0aC1zO2k9bmV3IERhdGFWaWV3KHIscyxNYXRoLm1pbigxMCx6KSk7dmFyIHg9e307bi5waXhlbHMuYmxvY2tzW1YrK109eDt2YXIgdj1pLmdldFVpbnQ4KDApO2lmKEkrKyx4LmVuY29kaW5nPXYmNjMseC5lbmNvZGluZz4zKXRocm93IkludmFsaWQgYmxvY2sgZW5jb2RpbmcgKCIreC5lbmNvZGluZysiKSI7aWYoeC5lbmNvZGluZz09PTIpe3MrKztjb250aW51ZX1pZih2IT09MCYmdiE9PTIpe2lmKHY+Pj02LHgub2Zmc2V0VHlwZT12LHY9PT0yKXgub2Zmc2V0PWkuZ2V0SW50OCgxKSxJKys7ZWxzZSBpZih2PT09MSl4Lm9mZnNldD1pLmdldEludDE2KDEsITApLEkrPTI7ZWxzZSBpZih2PT09MCl4Lm9mZnNldD1pLmdldEZsb2F0MzIoMSwhMCksSSs9NDtlbHNlIHRocm93IkludmFsaWQgYmxvY2sgb2Zmc2V0IHR5cGUiO2lmKHguZW5jb2Rpbmc9PT0xKWlmKHY9aS5nZXRVaW50OChJKSxJKysseC5iaXRzUGVyUGl4ZWw9diY2Myx2Pj49Nix4Lm51bVZhbGlkUGl4ZWxzVHlwZT12LHY9PT0yKXgubnVtVmFsaWRQaXhlbHM9aS5nZXRVaW50OChJKSxJKys7ZWxzZSBpZih2PT09MSl4Lm51bVZhbGlkUGl4ZWxzPWkuZ2V0VWludDE2KEksITApLEkrPTI7ZWxzZSBpZih2PT09MCl4Lm51bVZhbGlkUGl4ZWxzPWkuZ2V0VWludDMyKEksITApLEkrPTQ7ZWxzZSB0aHJvdyJJbnZhbGlkIHZhbGlkIHBpeGVsIGNvdW50IHR5cGUifWlmKHMrPUkseC5lbmNvZGluZyE9PTMpe3ZhciBELFQ7aWYoeC5lbmNvZGluZz09PTApe3ZhciBTPShuLnBpeGVscy5udW1CeXRlcy0xKS80O2lmKFMhPT1NYXRoLmZsb29yKFMpKXRocm93InVuY29tcHJlc3NlZCBibG9jayBoYXMgaW52YWxpZCBsZW5ndGgiO0Q9bmV3IEFycmF5QnVmZmVyKFMqNCksVD1uZXcgVWludDhBcnJheShEKSxULnNldChuZXcgVWludDhBcnJheShyLHMsUyo0KSk7dmFyIEI9bmV3IEZsb2F0MzJBcnJheShEKTt4LnJhd0RhdGE9QixzKz1TKjR9ZWxzZSBpZih4LmVuY29kaW5nPT09MSl7dmFyIEw9TWF0aC5jZWlsKHgubnVtVmFsaWRQaXhlbHMqeC5iaXRzUGVyUGl4ZWwvOCksRj1NYXRoLmNlaWwoTC80KTtEPW5ldyBBcnJheUJ1ZmZlcihGKjQpLFQ9bmV3IFVpbnQ4QXJyYXkoRCksVC5zZXQobmV3IFVpbnQ4QXJyYXkocixzLEwpKSx4LnN0dWZmZWREYXRhPW5ldyBVaW50MzJBcnJheShEKSxzKz1MfX19cmV0dXJuIG4uZW9mT2Zmc2V0PXMsbn0sZT1mdW5jdGlvbihyLHMsdCxuLGgsaSxvKXt2YXIgYz0oMTw8cyktMSx1PTAsbSx3PTAsbCxmLGc9TWF0aC5jZWlsKChvLW4pL2gpLE09ci5sZW5ndGgqNC1NYXRoLmNlaWwocyp0LzgpO2ZvcihyW3IubGVuZ3RoLTFdPDw9OCpNLG09MDttPHQ7bSsrKXtpZih3PT09MCYmKGY9clt1KytdLHc9MzIpLHc+PXMpbD1mPj4+dy1zJmMsdy09cztlbHNle3ZhciBWPXMtdztsPShmJmMpPDxWJmMsZj1yW3UrK10sdz0zMi1WLGwrPWY+Pj53fWlbbV09bDxnP24rbCpoOm99cmV0dXJuIGl9O3JldHVybiBBfSgpLHJlPWZ1bmN0aW9uKCl7dmFyIEE9e3Vuc3R1ZmY6ZnVuY3Rpb24oYSxlLHIscyx0LG4saCxpKXt2YXIgbz0oMTw8ciktMSxjPTAsdSxtPTAsdyxsLGYsZyxNPWEubGVuZ3RoKjQtTWF0aC5jZWlsKHIqcy84KTtpZihhW2EubGVuZ3RoLTFdPDw9OCpNLHQpZm9yKHU9MDt1PHM7dSsrKW09PT0wJiYobD1hW2MrK10sbT0zMiksbT49cj8odz1sPj4+bS1yJm8sbS09cik6KGY9ci1tLHc9KGwmbyk8PGYmbyxsPWFbYysrXSxtPTMyLWYsdys9bD4+Pm0pLGVbdV09dFt3XTtlbHNlIGZvcihnPU1hdGguY2VpbCgoaS1uKS9oKSx1PTA7dTxzO3UrKyltPT09MCYmKGw9YVtjKytdLG09MzIpLG0+PXI/KHc9bD4+Pm0tciZvLG0tPXIpOihmPXItbSx3PShsJm8pPDxmJm8sbD1hW2MrK10sbT0zMi1mLHcrPWw+Pj5tKSxlW3VdPXc8Zz9uK3cqaDppfSx1bnN0dWZmTFVUOmZ1bmN0aW9uKGEsZSxyLHMsdCxuKXt2YXIgaD0oMTw8ZSktMSxpPTAsbz0wLGM9MCx1PTAsbT0wLHcsbD1bXSxmPWEubGVuZ3RoKjQtTWF0aC5jZWlsKGUqci84KTthW2EubGVuZ3RoLTFdPDw9OCpmO3ZhciBnPU1hdGguY2VpbCgobi1zKS90KTtmb3Iobz0wO288cjtvKyspdT09PTAmJih3PWFbaSsrXSx1PTMyKSx1Pj1lPyhtPXc+Pj51LWUmaCx1LT1lKTooYz1lLXUsbT0odyZoKTw8YyZoLHc9YVtpKytdLHU9MzItYyxtKz13Pj4+dSksbFtvXT1tPGc/cyttKnQ6bjtyZXR1cm4gbC51bnNoaWZ0KHMpLGx9LHVuc3R1ZmYyOmZ1bmN0aW9uKGEsZSxyLHMsdCxuLGgsaSl7dmFyIG89KDE8PHIpLTEsYz0wLHUsbT0wLHc9MCxsLGYsZztpZih0KWZvcih1PTA7dTxzO3UrKyltPT09MCYmKGY9YVtjKytdLG09MzIsdz0wKSxtPj1yPyhsPWY+Pj53Jm8sbS09cix3Kz1yKTooZz1yLW0sbD1mPj4+dyZvLGY9YVtjKytdLG09MzItZyxsfD0oZiYoMTw8ZyktMSk8PHItZyx3PWcpLGVbdV09dFtsXTtlbHNle3ZhciBNPU1hdGguY2VpbCgoaS1uKS9oKTtmb3IodT0wO3U8czt1KyspbT09PTAmJihmPWFbYysrXSxtPTMyLHc9MCksbT49cj8obD1mPj4+dyZvLG0tPXIsdys9cik6KGc9ci1tLGw9Zj4+PncmbyxmPWFbYysrXSxtPTMyLWcsbHw9KGYmKDE8PGcpLTEpPDxyLWcsdz1nKSxlW3VdPWw8TT9uK2wqaDppfXJldHVybiBlfSx1bnN0dWZmTFVUMjpmdW5jdGlvbihhLGUscixzLHQsbil7dmFyIGg9KDE8PGUpLTEsaT0wLG89MCxjPTAsdT0wLG09MCx3PTAsbCxmPVtdLGc9TWF0aC5jZWlsKChuLXMpL3QpO2ZvcihvPTA7bzxyO28rKyl1PT09MCYmKGw9YVtpKytdLHU9MzIsdz0wKSx1Pj1lPyhtPWw+Pj53JmgsdS09ZSx3Kz1lKTooYz1lLXUsbT1sPj4+dyZoLGw9YVtpKytdLHU9MzItYyxtfD0obCYoMTw8YyktMSk8PGUtYyx3PWMpLGZbb109bTxnP3MrbSp0Om47cmV0dXJuIGYudW5zaGlmdChzKSxmfSxvcmlnaW5hbFVuc3R1ZmY6ZnVuY3Rpb24oYSxlLHIscyl7dmFyIHQ9KDE8PHIpLTEsbj0wLGgsaT0wLG8sYyx1LG09YS5sZW5ndGgqNC1NYXRoLmNlaWwocipzLzgpO2ZvcihhW2EubGVuZ3RoLTFdPDw9OCptLGg9MDtoPHM7aCsrKWk9PT0wJiYoYz1hW24rK10saT0zMiksaT49cj8obz1jPj4+aS1yJnQsaS09cik6KHU9ci1pLG89KGMmdCk8PHUmdCxjPWFbbisrXSxpPTMyLXUsbys9Yz4+PmkpLGVbaF09bztyZXR1cm4gZX0sb3JpZ2luYWxVbnN0dWZmMjpmdW5jdGlvbihhLGUscixzKXt2YXIgdD0oMTw8ciktMSxuPTAsaCxpPTAsbz0wLGMsdSxtO2ZvcihoPTA7aDxzO2grKylpPT09MCYmKHU9YVtuKytdLGk9MzIsbz0wKSxpPj1yPyhjPXU+Pj5vJnQsaS09cixvKz1yKToobT1yLWksYz11Pj4+byZ0LHU9YVtuKytdLGk9MzItbSxjfD0odSYoMTw8bSktMSk8PHItbSxvPW0pLGVbaF09YztyZXR1cm4gZX19LHA9e0hVRkZNQU5fTFVUX0JJVFNfTUFYOjEyLGNvbXB1dGVDaGVja3N1bUZsZXRjaGVyMzI6ZnVuY3Rpb24oYSl7Zm9yKHZhciBlPTY1NTM1LHI9NjU1MzUscz1hLmxlbmd0aCx0PU1hdGguZmxvb3Iocy8yKSxuPTA7dDspe3ZhciBoPXQ+PTM1OT8zNTk6dDt0LT1oO2RvIGUrPWFbbisrXTw8OCxyKz1lKz1hW24rK107d2hpbGUoLS1oKTtlPShlJjY1NTM1KSsoZT4+PjE2KSxyPShyJjY1NTM1KSsocj4+PjE2KX1yZXR1cm4gcyYxJiYocis9ZSs9YVtuXTw8OCksZT0oZSY2NTUzNSkrKGU+Pj4xNikscj0ociY2NTUzNSkrKHI+Pj4xNiksKHI8PDE2fGUpPj4+MH0scmVhZEhlYWRlckluZm86ZnVuY3Rpb24oYSxlKXt2YXIgcj1lLnB0cixzPW5ldyBVaW50OEFycmF5KGEsciw2KSx0PXt9O2lmKHQuZmlsZUlkZW50aWZpZXJTdHJpbmc9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLHMpLHQuZmlsZUlkZW50aWZpZXJTdHJpbmcubGFzdEluZGV4T2YoIkxlcmMyIiwwKSE9PTApdGhyb3ciVW5leHBlY3RlZCBmaWxlIGlkZW50aWZpZXIgc3RyaW5nIChleHBlY3QgTGVyYzIgKTogIit0LmZpbGVJZGVudGlmaWVyU3RyaW5nO3IrPTY7dmFyIG49bmV3IERhdGFWaWV3KGEsciw4KSxoPW4uZ2V0SW50MzIoMCwhMCk7dC5maWxlVmVyc2lvbj1oLHIrPTQsaD49MyYmKHQuY2hlY2tzdW09bi5nZXRVaW50MzIoNCwhMCkscis9NCksbj1uZXcgRGF0YVZpZXcoYSxyLDEyKSx0LmhlaWdodD1uLmdldFVpbnQzMigwLCEwKSx0LndpZHRoPW4uZ2V0VWludDMyKDQsITApLHIrPTgsaD49ND8odC5udW1EaW1zPW4uZ2V0VWludDMyKDgsITApLHIrPTQpOnQubnVtRGltcz0xLG49bmV3IERhdGFWaWV3KGEsciw0MCksdC5udW1WYWxpZFBpeGVsPW4uZ2V0VWludDMyKDAsITApLHQubWljcm9CbG9ja1NpemU9bi5nZXRJbnQzMig0LCEwKSx0LmJsb2JTaXplPW4uZ2V0SW50MzIoOCwhMCksdC5pbWFnZVR5cGU9bi5nZXRJbnQzMigxMiwhMCksdC5tYXhaRXJyb3I9bi5nZXRGbG9hdDY0KDE2LCEwKSx0LnpNaW49bi5nZXRGbG9hdDY0KDI0LCEwKSx0LnpNYXg9bi5nZXRGbG9hdDY0KDMyLCEwKSxyKz00MCxlLmhlYWRlckluZm89dCxlLnB0cj1yO3ZhciBpLG87aWYoaD49MyYmKG89aD49ND81Mjo0OCxpPXRoaXMuY29tcHV0ZUNoZWNrc3VtRmxldGNoZXIzMihuZXcgVWludDhBcnJheShhLHItbyx0LmJsb2JTaXplLTE0KSksaSE9PXQuY2hlY2tzdW0pKXRocm93IkNoZWNrc3VtIGZhaWxlZC4iO3JldHVybiEwfSxjaGVja01pbk1heFJhbmdlczpmdW5jdGlvbihhLGUpe3ZhciByPWUuaGVhZGVySW5mbyxzPXRoaXMuZ2V0RGF0YVR5cGVBcnJheShyLmltYWdlVHlwZSksdD1yLm51bURpbXMqdGhpcy5nZXREYXRhVHlwZVNpemUoci5pbWFnZVR5cGUpLG49dGhpcy5yZWFkU3ViQXJyYXkoYSxlLnB0cixzLHQpLGg9dGhpcy5yZWFkU3ViQXJyYXkoYSxlLnB0cit0LHMsdCk7ZS5wdHIrPTIqdDt2YXIgaSxvPSEwO2ZvcihpPTA7aTxyLm51bURpbXM7aSsrKWlmKG5baV0hPT1oW2ldKXtvPSExO2JyZWFrfXJldHVybiByLm1pblZhbHVlcz1uLHIubWF4VmFsdWVzPWgsb30scmVhZFN1YkFycmF5OmZ1bmN0aW9uKGEsZSxyLHMpe3ZhciB0O2lmKHI9PT1VaW50OEFycmF5KXQ9bmV3IFVpbnQ4QXJyYXkoYSxlLHMpO2Vsc2V7dmFyIG49bmV3IEFycmF5QnVmZmVyKHMpLGg9bmV3IFVpbnQ4QXJyYXkobik7aC5zZXQobmV3IFVpbnQ4QXJyYXkoYSxlLHMpKSx0PW5ldyByKG4pfXJldHVybiB0fSxyZWFkTWFzazpmdW5jdGlvbihhLGUpe3ZhciByPWUucHRyLHM9ZS5oZWFkZXJJbmZvLHQ9cy53aWR0aCpzLmhlaWdodCxuPXMubnVtVmFsaWRQaXhlbCxoPW5ldyBEYXRhVmlldyhhLHIsNCksaT17fTtpZihpLm51bUJ5dGVzPWguZ2V0VWludDMyKDAsITApLHIrPTQsKG49PT0wfHx0PT09bikmJmkubnVtQnl0ZXMhPT0wKXRocm93ImludmFsaWQgbWFzayI7dmFyIG8sYztpZihuPT09MClvPW5ldyBVaW50OEFycmF5KE1hdGguY2VpbCh0LzgpKSxpLmJpdHNldD1vLGM9bmV3IFVpbnQ4QXJyYXkodCksZS5waXhlbHMucmVzdWx0TWFzaz1jLHIrPWkubnVtQnl0ZXM7ZWxzZSBpZihpLm51bUJ5dGVzPjApe289bmV3IFVpbnQ4QXJyYXkoTWF0aC5jZWlsKHQvOCkpLGg9bmV3IERhdGFWaWV3KGEscixpLm51bUJ5dGVzKTt2YXIgdT1oLmdldEludDE2KDAsITApLG09Mix3PTAsbD0wO2Rve2lmKHU+MClmb3IoO3UtLTspb1t3KytdPWguZ2V0VWludDgobSsrKTtlbHNlIGZvcihsPWguZ2V0VWludDgobSsrKSx1PS11O3UtLTspb1t3KytdPWw7dT1oLmdldEludDE2KG0sITApLG0rPTJ9d2hpbGUobTxpLm51bUJ5dGVzKTtpZih1IT09LTMyNzY4fHx3PG8ubGVuZ3RoKXRocm93IlVuZXhwZWN0ZWQgZW5kIG9mIG1hc2sgUkxFIGVuY29kaW5nIjtjPW5ldyBVaW50OEFycmF5KHQpO3ZhciBmPTAsZz0wO2ZvcihnPTA7Zzx0O2crKylnJjc/KGY9b1tnPj4zXSxmPDw9ZyY3KTpmPW9bZz4+M10sZiYxMjgmJihjW2ddPTEpO2UucGl4ZWxzLnJlc3VsdE1hc2s9YyxpLmJpdHNldD1vLHIrPWkubnVtQnl0ZXN9cmV0dXJuIGUucHRyPXIsZS5tYXNrPWksITB9LHJlYWREYXRhT25lU3dlZXA6ZnVuY3Rpb24oYSxlLHIscyl7dmFyIHQ9ZS5wdHIsbj1lLmhlYWRlckluZm8saD1uLm51bURpbXMsaT1uLndpZHRoKm4uaGVpZ2h0LG89bi5pbWFnZVR5cGUsYz1uLm51bVZhbGlkUGl4ZWwqcC5nZXREYXRhVHlwZVNpemUobykqaCx1LG09ZS5waXhlbHMucmVzdWx0TWFzaztpZihyPT09VWludDhBcnJheSl1PW5ldyBVaW50OEFycmF5KGEsdCxjKTtlbHNle3ZhciB3PW5ldyBBcnJheUJ1ZmZlcihjKSxsPW5ldyBVaW50OEFycmF5KHcpO2wuc2V0KG5ldyBVaW50OEFycmF5KGEsdCxjKSksdT1uZXcgcih3KX1pZih1Lmxlbmd0aD09PWkqaClzP2UucGl4ZWxzLnJlc3VsdFBpeGVscz1wLnN3YXBEaW1lbnNpb25PcmRlcih1LGksaCxyLCEwKTplLnBpeGVscy5yZXN1bHRQaXhlbHM9dTtlbHNle2UucGl4ZWxzLnJlc3VsdFBpeGVscz1uZXcgcihpKmgpO3ZhciBmPTAsZz0wLE09MCxWPTA7aWYoaD4xKXtpZihzKXtmb3IoZz0wO2c8aTtnKyspaWYobVtnXSlmb3IoVj1nLE09MDtNPGg7TSsrLFYrPWkpZS5waXhlbHMucmVzdWx0UGl4ZWxzW1ZdPXVbZisrXX1lbHNlIGZvcihnPTA7ZzxpO2crKylpZihtW2ddKWZvcihWPWcqaCxNPTA7TTxoO00rKyllLnBpeGVscy5yZXN1bHRQaXhlbHNbVitNXT11W2YrK119ZWxzZSBmb3IoZz0wO2c8aTtnKyspbVtnXSYmKGUucGl4ZWxzLnJlc3VsdFBpeGVsc1tnXT11W2YrK10pfXJldHVybiB0Kz1jLGUucHRyPXQsITB9LHJlYWRIdWZmbWFuVHJlZTpmdW5jdGlvbihhLGUpe3ZhciByPXRoaXMuSFVGRk1BTl9MVVRfQklUU19NQVgscz1uZXcgRGF0YVZpZXcoYSxlLnB0ciwxNik7ZS5wdHIrPTE2O3ZhciB0PXMuZ2V0SW50MzIoMCwhMCk7aWYodDwyKXRocm93InVuc3VwcG9ydGVkIEh1ZmZtYW4gdmVyc2lvbiI7dmFyIG49cy5nZXRJbnQzMig0LCEwKSxoPXMuZ2V0SW50MzIoOCwhMCksaT1zLmdldEludDMyKDEyLCEwKTtpZihoPj1pKXJldHVybiExO3ZhciBvPW5ldyBVaW50MzJBcnJheShpLWgpO3AuZGVjb2RlQml0cyhhLGUsbyk7dmFyIGM9W10sdSxtLHcsbDtmb3IodT1oO3U8aTt1KyspbT11LSh1PG4/MDpuKSxjW21dPXtmaXJzdDpvW3UtaF0sc2Vjb25kOm51bGx9O3ZhciBmPWEuYnl0ZUxlbmd0aC1lLnB0cixnPU1hdGguY2VpbChmLzQpLE09bmV3IEFycmF5QnVmZmVyKGcqNCksVj1uZXcgVWludDhBcnJheShNKTtWLnNldChuZXcgVWludDhBcnJheShhLGUucHRyLGYpKTt2YXIgZD1uZXcgVWludDMyQXJyYXkoTSkseT0wLEksej0wO2ZvcihJPWRbMF0sdT1oO3U8aTt1KyspbT11LSh1PG4/MDpuKSxsPWNbbV0uZmlyc3QsbD4wJiYoY1ttXS5zZWNvbmQ9STw8eT4+PjMyLWwsMzIteT49bD8oeSs9bCx5PT09MzImJih5PTAseisrLEk9ZFt6XSkpOih5Kz1sLTMyLHorKyxJPWRbel0sY1ttXS5zZWNvbmR8PUk+Pj4zMi15KSk7dmFyIHg9MCx2PTAsRD1uZXcgaztmb3IodT0wO3U8Yy5sZW5ndGg7dSsrKWNbdV0hPT12b2lkIDAmJih4PU1hdGgubWF4KHgsY1t1XS5maXJzdCkpO3g+PXI/dj1yOnY9eDt2YXIgVD1bXSxTLEIsTCxGLGIsQztmb3IodT1oO3U8aTt1KyspaWYobT11LSh1PG4/MDpuKSxsPWNbbV0uZmlyc3QsbD4wKWlmKFM9W2wsbV0sbDw9dilmb3IoQj1jW21dLnNlY29uZDw8di1sLEw9MTw8di1sLHc9MDt3PEw7dysrKVRbQnx3XT1TO2Vsc2UgZm9yKEI9Y1ttXS5zZWNvbmQsQz1ELEY9bC0xO0Y+PTA7Ri0tKWI9Qj4+PkYmMSxiPyhDLnJpZ2h0fHwoQy5yaWdodD1uZXcgayksQz1DLnJpZ2h0KTooQy5sZWZ0fHwoQy5sZWZ0PW5ldyBrKSxDPUMubGVmdCksRj09PTAmJiFDLnZhbCYmKEMudmFsPVNbMV0pO3JldHVybntkZWNvZGVMdXQ6VCxudW1CaXRzTFVUUWljazp2LG51bUJpdHNMVVQ6eCx0cmVlOkQsc3R1ZmZlZERhdGE6ZCxzcmNQdHI6eixiaXRQb3M6eX19LHJlYWRIdWZmbWFuOmZ1bmN0aW9uKGEsZSxyLHMpe3ZhciB0PWUuaGVhZGVySW5mbyxuPXQubnVtRGltcyxoPWUuaGVhZGVySW5mby5oZWlnaHQsaT1lLmhlYWRlckluZm8ud2lkdGgsbz1pKmgsYz10aGlzLnJlYWRIdWZmbWFuVHJlZShhLGUpLHU9Yy5kZWNvZGVMdXQsbT1jLnRyZWUsdz1jLnN0dWZmZWREYXRhLGw9Yy5zcmNQdHIsZj1jLmJpdFBvcyxnPWMubnVtQml0c0xVVFFpY2ssTT1jLm51bUJpdHNMVVQsVj1lLmhlYWRlckluZm8uaW1hZ2VUeXBlPT09MD8xMjg6MCxkLHksSSx6PWUucGl4ZWxzLnJlc3VsdE1hc2sseCx2LEQsVCxTLEIsTCxGPTA7Zj4wJiYobCsrLGY9MCk7dmFyIGI9d1tsXSxDPWUuZW5jb2RlTW9kZT09PTEsUj1uZXcgcihvKm4pLE89UixYO2lmKG48Mnx8Qyl7Zm9yKFg9MDtYPG47WCsrKWlmKG4+MSYmKE89bmV3IHIoUi5idWZmZXIsbypYLG8pLEY9MCksZS5oZWFkZXJJbmZvLm51bVZhbGlkUGl4ZWw9PT1pKmgpZm9yKEI9MCxUPTA7VDxoO1QrKylmb3IoUz0wO1M8aTtTKyssQisrKXtpZih5PTAseD1iPDxmPj4+MzItZyx2PXgsMzItZjxnJiYoeHw9d1tsKzFdPj4+NjQtZi1nLHY9eCksdVt2XSl5PXVbdl1bMV0sZis9dVt2XVswXTtlbHNlIGZvcih4PWI8PGY+Pj4zMi1NLHY9eCwzMi1mPE0mJih4fD13W2wrMV0+Pj42NC1mLU0sdj14KSxkPW0sTD0wO0w8TTtMKyspaWYoRD14Pj4+TS1MLTEmMSxkPUQ/ZC5yaWdodDpkLmxlZnQsIShkLmxlZnR8fGQucmlnaHQpKXt5PWQudmFsLGY9ZitMKzE7YnJlYWt9Zj49MzImJihmLT0zMixsKyssYj13W2xdKSxJPXktVixDPyhTPjA/SSs9RjpUPjA/SSs9T1tCLWldOkkrPUYsSSY9MjU1LE9bQl09SSxGPUkpOk9bQl09SX1lbHNlIGZvcihCPTAsVD0wO1Q8aDtUKyspZm9yKFM9MDtTPGk7UysrLEIrKylpZih6W0JdKXtpZih5PTAseD1iPDxmPj4+MzItZyx2PXgsMzItZjxnJiYoeHw9d1tsKzFdPj4+NjQtZi1nLHY9eCksdVt2XSl5PXVbdl1bMV0sZis9dVt2XVswXTtlbHNlIGZvcih4PWI8PGY+Pj4zMi1NLHY9eCwzMi1mPE0mJih4fD13W2wrMV0+Pj42NC1mLU0sdj14KSxkPW0sTD0wO0w8TTtMKyspaWYoRD14Pj4+TS1MLTEmMSxkPUQ/ZC5yaWdodDpkLmxlZnQsIShkLmxlZnR8fGQucmlnaHQpKXt5PWQudmFsLGY9ZitMKzE7YnJlYWt9Zj49MzImJihmLT0zMixsKyssYj13W2xdKSxJPXktVixDPyhTPjAmJnpbQi0xXT9JKz1GOlQ+MCYmeltCLWldP0krPU9bQi1pXTpJKz1GLEkmPTI1NSxPW0JdPUksRj1JKTpPW0JdPUl9fWVsc2UgZm9yKEI9MCxUPTA7VDxoO1QrKylmb3IoUz0wO1M8aTtTKyspaWYoQj1UKmkrUywhenx8eltCXSlmb3IoWD0wO1g8bjtYKyssQis9byl7aWYoeT0wLHg9Yjw8Zj4+PjMyLWcsdj14LDMyLWY8ZyYmKHh8PXdbbCsxXT4+PjY0LWYtZyx2PXgpLHVbdl0peT11W3ZdWzFdLGYrPXVbdl1bMF07ZWxzZSBmb3IoeD1iPDxmPj4+MzItTSx2PXgsMzItZjxNJiYoeHw9d1tsKzFdPj4+NjQtZi1NLHY9eCksZD1tLEw9MDtMPE07TCsrKWlmKEQ9eD4+Pk0tTC0xJjEsZD1EP2QucmlnaHQ6ZC5sZWZ0LCEoZC5sZWZ0fHxkLnJpZ2h0KSl7eT1kLnZhbCxmPWYrTCsxO2JyZWFrfWY+PTMyJiYoZi09MzIsbCsrLGI9d1tsXSksST15LVYsT1tCXT1JfWUucHRyPWUucHRyKyhsKzEpKjQrKGY+MD80OjApLGUucGl4ZWxzLnJlc3VsdFBpeGVscz1SLG4+MSYmIXMmJihlLnBpeGVscy5yZXN1bHRQaXhlbHM9cC5zd2FwRGltZW5zaW9uT3JkZXIoUixvLG4scikpfSxkZWNvZGVCaXRzOmZ1bmN0aW9uKGEsZSxyLHMsdCl7e3ZhciBuPWUuaGVhZGVySW5mbyxoPW4uZmlsZVZlcnNpb24saT0wLG89YS5ieXRlTGVuZ3RoLWUucHRyPj01PzU6YS5ieXRlTGVuZ3RoLWUucHRyLGM9bmV3IERhdGFWaWV3KGEsZS5wdHIsbyksdT1jLmdldFVpbnQ4KDApO2krKzt2YXIgbT11Pj42LHc9bT09PTA/NDozLW0sbD0odSYzMik+MCxmPXUmMzEsZz0wO2lmKHc9PT0xKWc9Yy5nZXRVaW50OChpKSxpKys7ZWxzZSBpZih3PT09MilnPWMuZ2V0VWludDE2KGksITApLGkrPTI7ZWxzZSBpZih3PT09NClnPWMuZ2V0VWludDMyKGksITApLGkrPTQ7ZWxzZSB0aHJvdyJJbnZhbGlkIHZhbGlkIHBpeGVsIGNvdW50IHR5cGUiO3ZhciBNPTIqbi5tYXhaRXJyb3IsVixkLHksSSx6LHgsdixELFQsUz1uLm51bURpbXM+MT9uLm1heFZhbHVlc1t0XTpuLnpNYXg7aWYobCl7Zm9yKGUuY291bnRlci5sdXQrKyxEPWMuZ2V0VWludDgoaSksaSsrLEk9TWF0aC5jZWlsKChELTEpKmYvOCksej1NYXRoLmNlaWwoSS80KSxkPW5ldyBBcnJheUJ1ZmZlcih6KjQpLHk9bmV3IFVpbnQ4QXJyYXkoZCksZS5wdHIrPWkseS5zZXQobmV3IFVpbnQ4QXJyYXkoYSxlLnB0cixJKSksdj1uZXcgVWludDMyQXJyYXkoZCksZS5wdHIrPUksVD0wO0QtMT4+PlQ7KVQrKztJPU1hdGguY2VpbChnKlQvOCksej1NYXRoLmNlaWwoSS80KSxkPW5ldyBBcnJheUJ1ZmZlcih6KjQpLHk9bmV3IFVpbnQ4QXJyYXkoZCkseS5zZXQobmV3IFVpbnQ4QXJyYXkoYSxlLnB0cixJKSksVj1uZXcgVWludDMyQXJyYXkoZCksZS5wdHIrPUksaD49Mz94PUEudW5zdHVmZkxVVDIodixmLEQtMSxzLE0sUyk6eD1BLnVuc3R1ZmZMVVQodixmLEQtMSxzLE0sUyksaD49Mz9BLnVuc3R1ZmYyKFYscixULGcseCk6QS51bnN0dWZmKFYscixULGcseCl9ZWxzZSBlLmNvdW50ZXIuYml0c3R1ZmZlcisrLFQ9ZixlLnB0cis9aSxUPjAmJihJPU1hdGguY2VpbChnKlQvOCksej1NYXRoLmNlaWwoSS80KSxkPW5ldyBBcnJheUJ1ZmZlcih6KjQpLHk9bmV3IFVpbnQ4QXJyYXkoZCkseS5zZXQobmV3IFVpbnQ4QXJyYXkoYSxlLnB0cixJKSksVj1uZXcgVWludDMyQXJyYXkoZCksZS5wdHIrPUksaD49Mz9zPT1udWxsP0Eub3JpZ2luYWxVbnN0dWZmMihWLHIsVCxnKTpBLnVuc3R1ZmYyKFYscixULGcsITEscyxNLFMpOnM9PW51bGw/QS5vcmlnaW5hbFVuc3R1ZmYoVixyLFQsZyk6QS51bnN0dWZmKFYscixULGcsITEscyxNLFMpKX19LHJlYWRUaWxlczpmdW5jdGlvbihhLGUscixzKXt2YXIgdD1lLmhlYWRlckluZm8sbj10LndpZHRoLGg9dC5oZWlnaHQsaT1uKmgsbz10Lm1pY3JvQmxvY2tTaXplLGM9dC5pbWFnZVR5cGUsdT1wLmdldERhdGFUeXBlU2l6ZShjKSxtPU1hdGguY2VpbChuL28pLHc9TWF0aC5jZWlsKGgvbyk7ZS5waXhlbHMubnVtQmxvY2tzWT13LGUucGl4ZWxzLm51bUJsb2Nrc1g9bSxlLnBpeGVscy5wdHI9MDt2YXIgbD0wLGY9MCxnPTAsTT0wLFY9MCxkPTAseT0wLEk9MCx6PTAseD0wLHY9MCxEPTAsVD0wLFM9MCxCPTAsTD0wLEYsYixDLFIsTyxYLEc9bmV3IHIobypvKSxsZT1oJW98fG8sdWU9biVvfHxvLEssUSxKPXQubnVtRGltcywkLEU9ZS5waXhlbHMucmVzdWx0TWFzayxZPWUucGl4ZWxzLnJlc3VsdFBpeGVscyxoZT10LmZpbGVWZXJzaW9uLFA9aGU+PTU/MTQ6MTUsXyxXPXQuek1heCxIO2ZvcihnPTA7Zzx3O2crKylmb3IoVj1nIT09dy0xP286bGUsTT0wO008bTtNKyspZm9yKGQ9TSE9PW0tMT9vOnVlLHY9ZypuKm8rTSpvLEQ9bi1kLCQ9MDskPEo7JCsrKXtpZihKPjE/KEg9WSx2PWcqbipvK00qbyxZPW5ldyByKGUucGl4ZWxzLnJlc3VsdFBpeGVscy5idWZmZXIsaSokKnUsaSksVz10Lm1heFZhbHVlc1skXSk6SD1udWxsLHk9YS5ieXRlTGVuZ3RoLWUucHRyLEY9bmV3IERhdGFWaWV3KGEsZS5wdHIsTWF0aC5taW4oMTAseSkpLGI9e30sTD0wLEk9Ri5nZXRVaW50OCgwKSxMKyssXz10LmZpbGVWZXJzaW9uPj01P0kmNDowLHo9ST4+NiYyNTUseD1JPj4yJlAseCE9PShNKm8+PjMmUCl8fF8mJiQ9PT0wKXRocm93ImludGVncml0eSBpc3N1ZSI7aWYoWD1JJjMsWD4zKXRocm93IGUucHRyKz1MLCJJbnZhbGlkIGJsb2NrIGVuY29kaW5nICgiK1grIikiO2lmKFg9PT0yKXtpZihfKWlmKEUpZm9yKGw9MDtsPFY7bCsrKWZvcihmPTA7ZjxkO2YrKylFW3ZdJiYoWVt2XT1IW3ZdKSx2Kys7ZWxzZSBmb3IobD0wO2w8VjtsKyspZm9yKGY9MDtmPGQ7ZisrKVlbdl09SFt2XSx2Kys7ZS5jb3VudGVyLmNvbnN0YW50KyssZS5wdHIrPUw7Y29udGludWV9ZWxzZSBpZihYPT09MCl7aWYoXyl0aHJvdyJpbnRlZ3JpdHkgaXNzdWUiO2lmKGUuY291bnRlci51bmNvbXByZXNzZWQrKyxlLnB0cis9TCxUPVYqZCp1LFM9YS5ieXRlTGVuZ3RoLWUucHRyLFQ9VDxTP1Q6UyxDPW5ldyBBcnJheUJ1ZmZlcihUJXU9PT0wP1Q6VCt1LVQldSksUj1uZXcgVWludDhBcnJheShDKSxSLnNldChuZXcgVWludDhBcnJheShhLGUucHRyLFQpKSxPPW5ldyByKEMpLEI9MCxFKWZvcihsPTA7bDxWO2wrKyl7Zm9yKGY9MDtmPGQ7ZisrKUVbdl0mJihZW3ZdPU9bQisrXSksdisrO3YrPUR9ZWxzZSBmb3IobD0wO2w8VjtsKyspe2ZvcihmPTA7ZjxkO2YrKylZW3YrK109T1tCKytdO3YrPUR9ZS5wdHIrPUIqdX1lbHNlIGlmKEs9cC5nZXREYXRhVHlwZVVzZWQoXyYmYzw2PzQ6Yyx6KSxRPXAuZ2V0T25lUGl4ZWwoYixMLEssRiksTCs9cC5nZXREYXRhVHlwZVNpemUoSyksWD09PTMpaWYoZS5wdHIrPUwsZS5jb3VudGVyLmNvbnN0YW50b2Zmc2V0KyssRSlmb3IobD0wO2w8VjtsKyspe2ZvcihmPTA7ZjxkO2YrKylFW3ZdJiYoWVt2XT1fP01hdGgubWluKFcsSFt2XStRKTpRKSx2Kys7dis9RH1lbHNlIGZvcihsPTA7bDxWO2wrKyl7Zm9yKGY9MDtmPGQ7ZisrKVlbdl09Xz9NYXRoLm1pbihXLEhbdl0rUSk6USx2Kys7dis9RH1lbHNlIGlmKGUucHRyKz1MLHAuZGVjb2RlQml0cyhhLGUsRyxRLCQpLEw9MCxfKWlmKEUpZm9yKGw9MDtsPFY7bCsrKXtmb3IoZj0wO2Y8ZDtmKyspRVt2XSYmKFlbdl09R1tMKytdK0hbdl0pLHYrKzt2Kz1EfWVsc2UgZm9yKGw9MDtsPFY7bCsrKXtmb3IoZj0wO2Y8ZDtmKyspWVt2XT1HW0wrK10rSFt2XSx2Kys7dis9RH1lbHNlIGlmKEUpZm9yKGw9MDtsPFY7bCsrKXtmb3IoZj0wO2Y8ZDtmKyspRVt2XSYmKFlbdl09R1tMKytdKSx2Kys7dis9RH1lbHNlIGZvcihsPTA7bDxWO2wrKyl7Zm9yKGY9MDtmPGQ7ZisrKVlbdisrXT1HW0wrK107dis9RH19Sj4xJiYhcyYmKGUucGl4ZWxzLnJlc3VsdFBpeGVscz1wLnN3YXBEaW1lbnNpb25PcmRlcihlLnBpeGVscy5yZXN1bHRQaXhlbHMsaSxKLHIpKX0sZm9ybWF0RmlsZUluZm86ZnVuY3Rpb24oYSl7cmV0dXJue2ZpbGVJZGVudGlmaWVyU3RyaW5nOmEuaGVhZGVySW5mby5maWxlSWRlbnRpZmllclN0cmluZyxmaWxlVmVyc2lvbjphLmhlYWRlckluZm8uZmlsZVZlcnNpb24saW1hZ2VUeXBlOmEuaGVhZGVySW5mby5pbWFnZVR5cGUsaGVpZ2h0OmEuaGVhZGVySW5mby5oZWlnaHQsd2lkdGg6YS5oZWFkZXJJbmZvLndpZHRoLG51bVZhbGlkUGl4ZWw6YS5oZWFkZXJJbmZvLm51bVZhbGlkUGl4ZWwsbWljcm9CbG9ja1NpemU6YS5oZWFkZXJJbmZvLm1pY3JvQmxvY2tTaXplLGJsb2JTaXplOmEuaGVhZGVySW5mby5ibG9iU2l6ZSxtYXhaRXJyb3I6YS5oZWFkZXJJbmZvLm1heFpFcnJvcixwaXhlbFR5cGU6cC5nZXRQaXhlbFR5cGUoYS5oZWFkZXJJbmZvLmltYWdlVHlwZSksZW9mT2Zmc2V0OmEuZW9mT2Zmc2V0LG1hc2s6YS5tYXNrP3tudW1CeXRlczphLm1hc2subnVtQnl0ZXN9Om51bGwscGl4ZWxzOntudW1CbG9ja3NYOmEucGl4ZWxzLm51bUJsb2Nrc1gsbnVtQmxvY2tzWTphLnBpeGVscy5udW1CbG9ja3NZLG1heFZhbHVlOmEuaGVhZGVySW5mby56TWF4LG1pblZhbHVlOmEuaGVhZGVySW5mby56TWluLG5vRGF0YVZhbHVlOmEubm9EYXRhVmFsdWV9fX0sY29uc3RydWN0Q29uc3RhbnRTdXJmYWNlOmZ1bmN0aW9uKGEsZSl7dmFyIHI9YS5oZWFkZXJJbmZvLnpNYXgscz1hLmhlYWRlckluZm8uek1pbix0PWEuaGVhZGVySW5mby5tYXhWYWx1ZXMsbj1hLmhlYWRlckluZm8ubnVtRGltcyxoPWEuaGVhZGVySW5mby5oZWlnaHQqYS5oZWFkZXJJbmZvLndpZHRoLGk9MCxvPTAsYz0wLHU9YS5waXhlbHMucmVzdWx0TWFzayxtPWEucGl4ZWxzLnJlc3VsdFBpeGVscztpZih1KWlmKG4+MSl7aWYoZSlmb3IoaT0wO2k8bjtpKyspZm9yKGM9aSpoLHI9dFtpXSxvPTA7bzxoO28rKyl1W29dJiYobVtjK29dPXIpO2Vsc2UgZm9yKG89MDtvPGg7bysrKWlmKHVbb10pZm9yKGM9bypuLGk9MDtpPG47aSsrKW1bYytuXT10W2ldfWVsc2UgZm9yKG89MDtvPGg7bysrKXVbb10mJihtW29dPXIpO2Vsc2UgaWYobj4xJiZzIT09cilpZihlKWZvcihpPTA7aTxuO2krKylmb3IoYz1pKmgscj10W2ldLG89MDtvPGg7bysrKW1bYytvXT1yO2Vsc2UgZm9yKG89MDtvPGg7bysrKWZvcihjPW8qbixpPTA7aTxuO2krKyltW2MraV09dFtpXTtlbHNlIGZvcihvPTA7bzxoKm47bysrKW1bb109cn0sZ2V0RGF0YVR5cGVBcnJheTpmdW5jdGlvbihhKXt2YXIgZTtzd2l0Y2goYSl7Y2FzZSAwOmU9SW50OEFycmF5O2JyZWFrO2Nhc2UgMTplPVVpbnQ4QXJyYXk7YnJlYWs7Y2FzZSAyOmU9SW50MTZBcnJheTticmVhaztjYXNlIDM6ZT1VaW50MTZBcnJheTticmVhaztjYXNlIDQ6ZT1JbnQzMkFycmF5O2JyZWFrO2Nhc2UgNTplPVVpbnQzMkFycmF5O2JyZWFrO2Nhc2UgNjplPUZsb2F0MzJBcnJheTticmVhaztjYXNlIDc6ZT1GbG9hdDY0QXJyYXk7YnJlYWs7ZGVmYXVsdDplPUZsb2F0MzJBcnJheX1yZXR1cm4gZX0sZ2V0UGl4ZWxUeXBlOmZ1bmN0aW9uKGEpe3ZhciBlO3N3aXRjaChhKXtjYXNlIDA6ZT0iUzgiO2JyZWFrO2Nhc2UgMTplPSJVOCI7YnJlYWs7Y2FzZSAyOmU9IlMxNiI7YnJlYWs7Y2FzZSAzOmU9IlUxNiI7YnJlYWs7Y2FzZSA0OmU9IlMzMiI7YnJlYWs7Y2FzZSA1OmU9IlUzMiI7YnJlYWs7Y2FzZSA2OmU9IkYzMiI7YnJlYWs7Y2FzZSA3OmU9IkY2NCI7YnJlYWs7ZGVmYXVsdDplPSJGMzIifXJldHVybiBlfSxpc1ZhbGlkUGl4ZWxWYWx1ZTpmdW5jdGlvbihhLGUpe2lmKGU9PW51bGwpcmV0dXJuITE7dmFyIHI7c3dpdGNoKGEpe2Nhc2UgMDpyPWU+PS0xMjgmJmU8PTEyNzticmVhaztjYXNlIDE6cj1lPj0wJiZlPD0yNTU7YnJlYWs7Y2FzZSAyOnI9ZT49LTMyNzY4JiZlPD0zMjc2NzticmVhaztjYXNlIDM6cj1lPj0wJiZlPD02NTUzNjticmVhaztjYXNlIDQ6cj1lPj0tMjE0NzQ4MzY0OCYmZTw9MjE0NzQ4MzY0NzticmVhaztjYXNlIDU6cj1lPj0wJiZlPD00Mjk0OTY3Mjk2O2JyZWFrO2Nhc2UgNjpyPWU+PS0zNDAyNzk5OTM4NzkwMTQ4NGUyMiYmZTw9MzQwMjc5OTkzODc5MDE0ODRlMjI7YnJlYWs7Y2FzZSA3OnI9ZT49LTE3OTc2OTMxMzQ4NjIzMTU3ZTI5MiYmZTw9MTc5NzY5MzEzNDg2MjMxNTdlMjkyO2JyZWFrO2RlZmF1bHQ6cj0hMX1yZXR1cm4gcn0sZ2V0RGF0YVR5cGVTaXplOmZ1bmN0aW9uKGEpe3ZhciBlPTA7c3dpdGNoKGEpe2Nhc2UgMDpjYXNlIDE6ZT0xO2JyZWFrO2Nhc2UgMjpjYXNlIDM6ZT0yO2JyZWFrO2Nhc2UgNDpjYXNlIDU6Y2FzZSA2OmU9NDticmVhaztjYXNlIDc6ZT04O2JyZWFrO2RlZmF1bHQ6ZT1hfXJldHVybiBlfSxnZXREYXRhVHlwZVVzZWQ6ZnVuY3Rpb24oYSxlKXt2YXIgcj1hO3N3aXRjaChhKXtjYXNlIDI6Y2FzZSA0OnI9YS1lO2JyZWFrO2Nhc2UgMzpjYXNlIDU6cj1hLTIqZTticmVhaztjYXNlIDY6ZT09PTA/cj1hOmU9PT0xP3I9MjpyPTE7YnJlYWs7Y2FzZSA3OmU9PT0wP3I9YTpyPWEtMiplKzE7YnJlYWs7ZGVmYXVsdDpyPWE7YnJlYWt9cmV0dXJuIHJ9LGdldE9uZVBpeGVsOmZ1bmN0aW9uKGEsZSxyLHMpe3ZhciB0PTA7c3dpdGNoKHIpe2Nhc2UgMDp0PXMuZ2V0SW50OChlKTticmVhaztjYXNlIDE6dD1zLmdldFVpbnQ4KGUpO2JyZWFrO2Nhc2UgMjp0PXMuZ2V0SW50MTYoZSwhMCk7YnJlYWs7Y2FzZSAzOnQ9cy5nZXRVaW50MTYoZSwhMCk7YnJlYWs7Y2FzZSA0OnQ9cy5nZXRJbnQzMihlLCEwKTticmVhaztjYXNlIDU6dD1zLmdldFVJbnQzMihlLCEwKTticmVhaztjYXNlIDY6dD1zLmdldEZsb2F0MzIoZSwhMCk7YnJlYWs7Y2FzZSA3OnQ9cy5nZXRGbG9hdDY0KGUsITApO2JyZWFrO2RlZmF1bHQ6dGhyb3cidGhlIGRlY29kZXIgZG9lcyBub3QgdW5kZXJzdGFuZCB0aGlzIHBpeGVsIHR5cGUifXJldHVybiB0fSxzd2FwRGltZW5zaW9uT3JkZXI6ZnVuY3Rpb24oYSxlLHIscyx0KXt2YXIgbj0wLGg9MCxpPTAsbz0wLGM9YTtpZihyPjEpaWYoYz1uZXcgcyhlKnIpLHQpZm9yKG49MDtuPGU7bisrKWZvcihvPW4saT0wO2k8cjtpKyssbys9ZSljW29dPWFbaCsrXTtlbHNlIGZvcihuPTA7bjxlO24rKylmb3Iobz1uLGk9MDtpPHI7aSsrLG8rPWUpY1toKytdPWFbb107cmV0dXJuIGN9fSxrPWZ1bmN0aW9uKGEsZSxyKXt0aGlzLnZhbD1hLHRoaXMubGVmdD1lLHRoaXMucmlnaHQ9cn0sVT17ZGVjb2RlOmZ1bmN0aW9uKGEsZSl7ZT1lfHx7fTt2YXIgcj1lLm5vRGF0YVZhbHVlLHM9MCx0PXt9O2lmKHQucHRyPWUuaW5wdXRPZmZzZXR8fDAsdC5waXhlbHM9e30sISFwLnJlYWRIZWFkZXJJbmZvKGEsdCkpe3ZhciBuPXQuaGVhZGVySW5mbyxoPW4uZmlsZVZlcnNpb24saT1wLmdldERhdGFUeXBlQXJyYXkobi5pbWFnZVR5cGUpO2lmKGg+NSl0aHJvdyJ1bnN1cHBvcnRlZCBsZXJjIHZlcnNpb24gMi4iK2g7cC5yZWFkTWFzayhhLHQpLG4ubnVtVmFsaWRQaXhlbCE9PW4ud2lkdGgqbi5oZWlnaHQmJiF0LnBpeGVscy5yZXN1bHRNYXNrJiYodC5waXhlbHMucmVzdWx0TWFzaz1lLm1hc2tEYXRhKTt2YXIgbz1uLndpZHRoKm4uaGVpZ2h0O3QucGl4ZWxzLnJlc3VsdFBpeGVscz1uZXcgaShvKm4ubnVtRGltcyksdC5jb3VudGVyPXtvbmVzd2VlcDowLHVuY29tcHJlc3NlZDowLGx1dDowLGJpdHN0dWZmZXI6MCxjb25zdGFudDowLGNvbnN0YW50b2Zmc2V0OjB9O3ZhciBjPSFlLnJldHVyblBpeGVsSW50ZXJsZWF2ZWREaW1zO2lmKG4ubnVtVmFsaWRQaXhlbCE9PTApaWYobi56TWF4PT09bi56TWluKXAuY29uc3RydWN0Q29uc3RhbnRTdXJmYWNlKHQsYyk7ZWxzZSBpZihoPj00JiZwLmNoZWNrTWluTWF4UmFuZ2VzKGEsdCkpcC5jb25zdHJ1Y3RDb25zdGFudFN1cmZhY2UodCxjKTtlbHNle3ZhciB1PW5ldyBEYXRhVmlldyhhLHQucHRyLDIpLG09dS5nZXRVaW50OCgwKTtpZih0LnB0cisrLG0pcC5yZWFkRGF0YU9uZVN3ZWVwKGEsdCxpLGMpO2Vsc2UgaWYoaD4xJiZuLmltYWdlVHlwZTw9MSYmTWF0aC5hYnMobi5tYXhaRXJyb3ItLjUpPDFlLTUpe3ZhciB3PXUuZ2V0VWludDgoMSk7aWYodC5wdHIrKyx0LmVuY29kZU1vZGU9dyx3PjJ8fGg8NCYmdz4xKXRocm93IkludmFsaWQgSHVmZm1hbiBmbGFnICIrdzt3P3AucmVhZEh1ZmZtYW4oYSx0LGksYyk6cC5yZWFkVGlsZXMoYSx0LGksYyl9ZWxzZSBwLnJlYWRUaWxlcyhhLHQsaSxjKX10LmVvZk9mZnNldD10LnB0cjt2YXIgbDtlLmlucHV0T2Zmc2V0PyhsPXQuaGVhZGVySW5mby5ibG9iU2l6ZStlLmlucHV0T2Zmc2V0LXQucHRyLE1hdGguYWJzKGwpPj0xJiYodC5lb2ZPZmZzZXQ9ZS5pbnB1dE9mZnNldCt0LmhlYWRlckluZm8uYmxvYlNpemUpKToobD10LmhlYWRlckluZm8uYmxvYlNpemUtdC5wdHIsTWF0aC5hYnMobCk+PTEmJih0LmVvZk9mZnNldD10LmhlYWRlckluZm8uYmxvYlNpemUpKTt2YXIgZj17d2lkdGg6bi53aWR0aCxoZWlnaHQ6bi5oZWlnaHQscGl4ZWxEYXRhOnQucGl4ZWxzLnJlc3VsdFBpeGVscyxtaW5WYWx1ZTpuLnpNaW4sbWF4VmFsdWU6bi56TWF4LHZhbGlkUGl4ZWxDb3VudDpuLm51bVZhbGlkUGl4ZWwsZGltQ291bnQ6bi5udW1EaW1zLGRpbVN0YXRzOnttaW5WYWx1ZXM6bi5taW5WYWx1ZXMsbWF4VmFsdWVzOm4ubWF4VmFsdWVzfSxtYXNrRGF0YTp0LnBpeGVscy5yZXN1bHRNYXNrfTtpZih0LnBpeGVscy5yZXN1bHRNYXNrJiZwLmlzVmFsaWRQaXhlbFZhbHVlKG4uaW1hZ2VUeXBlLHIpKXt2YXIgZz10LnBpeGVscy5yZXN1bHRNYXNrO2ZvcihzPTA7czxvO3MrKylnW3NdfHwoZi5waXhlbERhdGFbc109cik7Zi5ub0RhdGFWYWx1ZT1yfXJldHVybiB0Lm5vRGF0YVZhbHVlPXIsZS5yZXR1cm5GaWxlSW5mbyYmKGYuZmlsZUluZm89cC5mb3JtYXRGaWxlSW5mbyh0KSksZn19LGdldEJhbmRDb3VudDpmdW5jdGlvbihhKXt2YXIgZT0wLHI9MCxzPXt9O2ZvcihzLnB0cj0wLHMucGl4ZWxzPXt9O3I8YS5ieXRlTGVuZ3RoLTU4OylwLnJlYWRIZWFkZXJJbmZvKGEscykscis9cy5oZWFkZXJJbmZvLmJsb2JTaXplLGUrKyxzLnB0cj1yO3JldHVybiBlfX07cmV0dXJuIFV9KCk7dmFyIG5lPWZ1bmN0aW9uKCl7dmFyIEE9bmV3IEFycmF5QnVmZmVyKDQpLHA9bmV3IFVpbnQ4QXJyYXkoQSksaz1uZXcgVWludDMyQXJyYXkoQSk7cmV0dXJuIGtbMF09MSxwWzBdPT09MX0oKSxpZT17ZGVjb2RlOmZ1bmN0aW9uKEEscCl7aWYoIW5lKXRocm93IkJpZyBlbmRpYW4gc3lzdGVtIGlzIG5vdCBzdXBwb3J0ZWQuIjtwPXB8fHt9O3ZhciBrPXAuaW5wdXRPZmZzZXR8fDAsVT1uZXcgVWludDhBcnJheShBLGssMTApLGE9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLFUpLGUscjtpZihhLnRyaW0oKT09PSJDbnRaSW1hZ2UiKWU9ZWUscj0xO2Vsc2UgaWYoYS5zdWJzdHJpbmcoMCw1KT09PSJMZXJjMiIpZT1yZSxyPTI7ZWxzZSB0aHJvdyJVbmV4cGVjdGVkIGZpbGUgaWRlbnRpZmllciBzdHJpbmc6ICIrYTtmb3IodmFyIHM9MCx0PUEuYnl0ZUxlbmd0aC0xMCxuLGg9W10saSxvLGM9e3dpZHRoOjAsaGVpZ2h0OjAscGl4ZWxzOltdLHBpeGVsVHlwZTpwLnBpeGVsVHlwZSxtYXNrOm51bGwsc3RhdGlzdGljczpbXX0sdT0wO2s8dDspe3ZhciBtPWUuZGVjb2RlKEEse2lucHV0T2Zmc2V0OmssZW5jb2RlZE1hc2tEYXRhOm4sbWFza0RhdGE6byxyZXR1cm5NYXNrOnM9PT0wLHJldHVybkVuY29kZWRNYXNrOnM9PT0wLHJldHVybkZpbGVJbmZvOiEwLHJldHVyblBpeGVsSW50ZXJsZWF2ZWREaW1zOnAucmV0dXJuUGl4ZWxJbnRlcmxlYXZlZERpbXMscGl4ZWxUeXBlOnAucGl4ZWxUeXBlfHxudWxsLG5vRGF0YVZhbHVlOnAubm9EYXRhVmFsdWV8fG51bGx9KTtrPW0uZmlsZUluZm8uZW9mT2Zmc2V0LG89bS5tYXNrRGF0YSxzPT09MCYmKG49bS5lbmNvZGVkTWFza0RhdGEsYy53aWR0aD1tLndpZHRoLGMuaGVpZ2h0PW0uaGVpZ2h0LGMuZGltQ291bnQ9bS5kaW1Db3VudHx8MSxjLnBpeGVsVHlwZT1tLnBpeGVsVHlwZXx8bS5maWxlSW5mby5waXhlbFR5cGUsYy5tYXNrPW8pLHI+MSYmKG8mJmgucHVzaChvKSxtLmZpbGVJbmZvLm1hc2smJm0uZmlsZUluZm8ubWFzay5udW1CeXRlcz4wJiZ1KyspLHMrKyxjLnBpeGVscy5wdXNoKG0ucGl4ZWxEYXRhKSxjLnN0YXRpc3RpY3MucHVzaCh7bWluVmFsdWU6bS5taW5WYWx1ZSxtYXhWYWx1ZTptLm1heFZhbHVlLG5vRGF0YVZhbHVlOm0ubm9EYXRhVmFsdWUsZGltU3RhdHM6bS5kaW1TdGF0c30pfXZhciB3LGwsZjtpZihyPjEmJnU+MSl7Zm9yKGY9Yy53aWR0aCpjLmhlaWdodCxjLmJhbmRNYXNrcz1oLG89bmV3IFVpbnQ4QXJyYXkoZiksby5zZXQoaFswXSksdz0xO3c8aC5sZW5ndGg7dysrKWZvcihpPWhbd10sbD0wO2w8ZjtsKyspb1tsXT1vW2xdJmlbbF07Yy5tYXNrRGF0YT1vfXJldHVybiBjfX07Y29uc3QgdGU9ezA6N2UzLDE6NmUzLDI6NWUzLDM6NGUzLDQ6M2UzLDU6MjUwMCw2OjJlMyw3OjE1MDAsODo4MDAsOTo1MDAsMTA6MjAwLDExOjEwMCwxMjo0MCwxMzoxMiwxNDo1LDE1OjIsMTY6MSwxNzouNSwxODouMiwxOTouMSwyMDouMDF9O2Z1bmN0aW9uIGFlKEEpe2NvbnN0e2hlaWdodDpwLHdpZHRoOmsscGl4ZWxzOlV9PWllLmRlY29kZShBKSxhPW5ldyBGbG9hdDMyQXJyYXkocCprKTtmb3IobGV0IGU9MDtlPGEubGVuZ3RoO2UrKylhW2VdPVVbMF1bZV07cmV0dXJue2FycmF5OmEsd2lkdGg6ayxoZWlnaHQ6cH19ZnVuY3Rpb24gc2UoQSxwLGspe2xldCBVPWFlKEEpO2tbMl0ta1swXTwxJiYoVT1mZShVLGspKTtjb25zdHthcnJheTphLHdpZHRoOmV9PVUscz1uZXcgWihlKS5jcmVhdGVUaWxlKGEpLHQ9dGVbcF18fDA7cmV0dXJuIHMuZ2V0R2VvbWV0cnlEYXRhKHQpfWZ1bmN0aW9uIGZlKEEscCl7ZnVuY3Rpb24gayhzLHQsbixoLGksbyxjLHUpe2NvbnN0IG09bmV3IEZsb2F0MzJBcnJheShpKm8pO2ZvcihsZXQgbD0wO2w8bztsKyspZm9yKGxldCBmPTA7ZjxpO2YrKyl7Y29uc3QgZz0obCtoKSp0KyhmK24pLE09bCppK2Y7bVtNXT1zW2ddfWNvbnN0IHc9bmV3IEZsb2F0MzJBcnJheSh1KmMpO2ZvcihsZXQgbD0wO2w8dTtsKyspZm9yKGxldCBmPTA7ZjxjO2YrKyl7Y29uc3QgZz1sKnUrZixNPU1hdGgucm91bmQoZipvL3UpLGQ9TWF0aC5yb3VuZChsKmkvYykqaStNO3dbZ109bVtkXX1yZXR1cm4gd31jb25zdCBVPW9lKHAsQS53aWR0aCksYT1VLnN3KzEsZT1VLnNoKzE7cmV0dXJue2FycmF5OmsoQS5hcnJheSxBLndpZHRoLFUuc3gsVS5zeSxVLnN3LFUuc2gsYSxlKSx3aWR0aDphLGhlaWdodDplfX1mdW5jdGlvbiBvZShBLHApe2NvbnN0IGs9TWF0aC5mbG9vcihBWzBdKnApLFU9TWF0aC5mbG9vcihBWzFdKnApLGE9TWF0aC5mbG9vcigoQVsyXS1BWzBdKSpwKSxlPU1hdGguZmxvb3IoKEFbM10tQVsxXSkqcCk7cmV0dXJue3N4Omssc3k6VSxzdzphLHNoOmV9fXNlbGYub25tZXNzYWdlPUE9Pntjb25zdCBwPUEuZGF0YSxrPXNlKHAuZGVtRGF0YSxwLnoscC5jbGlwQm91bmRzKTtzZWxmLnBvc3RNZXNzYWdlKGspfX0pKCk7Cg==", T_ = (a) => Uint8Array.from(atob(a), (t) => t.charCodeAt(0)), Mh = typeof self < "u" && self.Blob && new Blob([T_(Ad)], { type: "text/javascript;charset=utf-8" });
16401
16401
  function L_(a) {
16402
16402
  let t;
@@ -16441,17 +16441,17 @@ const S_ = function() {
16441
16441
  return f.resultMask && (g.maskData = f.resultMask), c.returnEncodedMask && d.mask && (g.encodedMaskData = d.mask.bitset ? d.mask.bitset : null), c.returnFileInfo && (g.fileInfo = e(d), c.computeUsedBitDepths && (g.fileInfo.bitDepths = n(d))), g;
16442
16442
  };
16443
16443
  var t = function(l, c, u, d, p) {
16444
- var f = 0, g = l.pixels.numBlocksX, y = l.pixels.numBlocksY, w = Math.floor(l.width / g), S = Math.floor(l.height / y), b = 2 * l.maxZError, L = Number.MAX_VALUE, T;
16444
+ var f = 0, g = l.pixels.numBlocksX, y = l.pixels.numBlocksY, w = Math.floor(l.width / g), T = Math.floor(l.height / y), b = 2 * l.maxZError, S = Number.MAX_VALUE, L;
16445
16445
  u = u || (l.mask ? l.mask.bitset : null);
16446
- var Z, E;
16447
- Z = new c(l.width * l.height), p && u && (E = new Uint8Array(l.width * l.height));
16448
- for (var z = new Float32Array(w * S), X, k, P = 0; P <= y; P++) {
16449
- var D = P !== y ? S : l.height % y;
16446
+ var Z, V;
16447
+ Z = new c(l.width * l.height), p && u && (V = new Uint8Array(l.width * l.height));
16448
+ for (var z = new Float32Array(w * T), X, k, P = 0; P <= y; P++) {
16449
+ var D = P !== y ? T : l.height % y;
16450
16450
  if (D !== 0)
16451
16451
  for (var I = 0; I <= g; I++) {
16452
16452
  var A = I !== g ? w : l.width % g;
16453
16453
  if (A !== 0) {
16454
- var U = P * l.width * S + I * w, j = l.width - A, B = l.pixels.blocks[f], q, N, ie;
16454
+ var U = P * l.width * T + I * w, j = l.width - A, B = l.pixels.blocks[f], q, N, ie;
16455
16455
  B.encoding < 2 ? (B.encoding === 0 ? q = B.rawData : (s(
16456
16456
  B.stuffedData,
16457
16457
  B.bitsPerPixel,
@@ -16465,17 +16465,17 @@ const S_ = function() {
16465
16465
  if (u)
16466
16466
  for (k = 0; k < D; k++) {
16467
16467
  for (U & 7 && (re = u[U >> 3], re <<= U & 7), X = 0; X < A; X++)
16468
- U & 7 || (re = u[U >> 3]), re & 128 ? (E && (E[U] = 1), T = B.encoding < 2 ? q[N++] : ie, L = L > T ? T : L, Z[U++] = T) : (E && (E[U] = 0), Z[U++] = d), re <<= 1;
16468
+ U & 7 || (re = u[U >> 3]), re & 128 ? (V && (V[U] = 1), L = B.encoding < 2 ? q[N++] : ie, S = S > L ? L : S, Z[U++] = L) : (V && (V[U] = 0), Z[U++] = d), re <<= 1;
16469
16469
  U += j;
16470
16470
  }
16471
16471
  else if (B.encoding < 2)
16472
16472
  for (k = 0; k < D; k++) {
16473
16473
  for (X = 0; X < A; X++)
16474
- T = q[N++], L = L > T ? T : L, Z[U++] = T;
16474
+ L = q[N++], S = S > L ? L : S, Z[U++] = L;
16475
16475
  U += j;
16476
16476
  }
16477
16477
  else
16478
- for (L = L > ie ? ie : L, k = 0; k < D; k++) {
16478
+ for (S = S > ie ? ie : S, k = 0; k < D; k++) {
16479
16479
  for (X = 0; X < A; X++)
16480
16480
  Z[U++] = ie;
16481
16481
  U += j;
@@ -16488,8 +16488,8 @@ const S_ = function() {
16488
16488
  }
16489
16489
  return {
16490
16490
  resultPixels: Z,
16491
- resultMask: E,
16492
- minValue: L
16491
+ resultMask: V,
16492
+ minValue: S
16493
16493
  };
16494
16494
  }, e = function(l) {
16495
16495
  return {
@@ -16530,26 +16530,26 @@ const S_ = function() {
16530
16530
  if (f = new DataView(l, c, 16), d.mask = {}, d.mask.numBlocksY = f.getUint32(0, !0), d.mask.numBlocksX = f.getUint32(4, !0), d.mask.numBytes = f.getUint32(8, !0), d.mask.maxValue = f.getFloat32(12, !0), c += 16, d.mask.numBytes > 0) {
16531
16531
  var g = new Uint8Array(Math.ceil(d.width * d.height / 8));
16532
16532
  f = new DataView(l, c, d.mask.numBytes);
16533
- var y = f.getInt16(0, !0), w = 2, S = 0;
16533
+ var y = f.getInt16(0, !0), w = 2, T = 0;
16534
16534
  do {
16535
16535
  if (y > 0)
16536
16536
  for (; y--; )
16537
- g[S++] = f.getUint8(w++);
16537
+ g[T++] = f.getUint8(w++);
16538
16538
  else {
16539
16539
  var b = f.getUint8(w++);
16540
16540
  for (y = -y; y--; )
16541
- g[S++] = b;
16541
+ g[T++] = b;
16542
16542
  }
16543
16543
  y = f.getInt16(w, !0), w += 2;
16544
16544
  } while (w < d.mask.numBytes);
16545
- if (y !== -32768 || S < g.length)
16545
+ if (y !== -32768 || T < g.length)
16546
16546
  throw "Unexpected end of mask RLE encoding";
16547
16547
  d.mask.bitset = g, c += d.mask.numBytes;
16548
16548
  } else d.mask.numBytes | d.mask.numBlocksY | d.mask.maxValue || (d.mask.bitset = new Uint8Array(Math.ceil(d.width * d.height / 8)));
16549
16549
  f = new DataView(l, c, 16), d.pixels = {}, d.pixels.numBlocksY = f.getUint32(0, !0), d.pixels.numBlocksX = f.getUint32(4, !0), d.pixels.numBytes = f.getUint32(8, !0), d.pixels.maxValue = f.getFloat32(12, !0), c += 16;
16550
- var L = d.pixels.numBlocksX, T = d.pixels.numBlocksY, Z = L + (d.width % L > 0 ? 1 : 0), E = T + (d.height % T > 0 ? 1 : 0);
16551
- d.pixels.blocks = new Array(Z * E);
16552
- for (var z = 0, X = 0; X < E; X++)
16550
+ var S = d.pixels.numBlocksX, L = d.pixels.numBlocksY, Z = S + (d.width % S > 0 ? 1 : 0), V = L + (d.height % L > 0 ? 1 : 0);
16551
+ d.pixels.blocks = new Array(Z * V);
16552
+ for (var z = 0, X = 0; X < V; X++)
16553
16553
  for (var k = 0; k < Z; k++) {
16554
16554
  var P = 0, D = l.byteLength - c;
16555
16555
  f = new DataView(l, c, Math.min(10, D));
@@ -16598,15 +16598,15 @@ const S_ = function() {
16598
16598
  }
16599
16599
  return d.eofOffset = c, d;
16600
16600
  }, s = function(l, c, u, d, p, f, g) {
16601
- var y = (1 << c) - 1, w = 0, S, b = 0, L, T, Z = Math.ceil((g - d) / p), E = l.length * 4 - Math.ceil(c * u / 8);
16602
- for (l[l.length - 1] <<= 8 * E, S = 0; S < u; S++) {
16603
- if (b === 0 && (T = l[w++], b = 32), b >= c)
16604
- L = T >>> b - c & y, b -= c;
16601
+ var y = (1 << c) - 1, w = 0, T, b = 0, S, L, Z = Math.ceil((g - d) / p), V = l.length * 4 - Math.ceil(c * u / 8);
16602
+ for (l[l.length - 1] <<= 8 * V, T = 0; T < u; T++) {
16603
+ if (b === 0 && (L = l[w++], b = 32), b >= c)
16604
+ S = L >>> b - c & y, b -= c;
16605
16605
  else {
16606
16606
  var z = c - b;
16607
- L = (T & y) << z & y, T = l[w++], b = 32 - z, L += T >>> b;
16607
+ S = (L & y) << z & y, L = l[w++], b = 32 - z, S += L >>> b;
16608
16608
  }
16609
- f[S] = L < Z ? d + L * p : g;
16609
+ f[T] = S < Z ? d + S * p : g;
16610
16610
  }
16611
16611
  return f;
16612
16612
  };
@@ -16616,50 +16616,50 @@ const S_ = function() {
16616
16616
  //methods ending with 2 are for the new byte order used by Lerc2.3 and above.
16617
16617
  //originalUnstuff is used to unpack Huffman code table. code is duplicated to unstuffx for performance reasons.
16618
16618
  unstuff: function(r, s, l, c, u, d, p, f) {
16619
- var g = (1 << l) - 1, y = 0, w, S = 0, b, L, T, Z, E = r.length * 4 - Math.ceil(l * c / 8);
16620
- if (r[r.length - 1] <<= 8 * E, u)
16619
+ var g = (1 << l) - 1, y = 0, w, T = 0, b, S, L, Z, V = r.length * 4 - Math.ceil(l * c / 8);
16620
+ if (r[r.length - 1] <<= 8 * V, u)
16621
16621
  for (w = 0; w < c; w++)
16622
- S === 0 && (L = r[y++], S = 32), S >= l ? (b = L >>> S - l & g, S -= l) : (T = l - S, b = (L & g) << T & g, L = r[y++], S = 32 - T, b += L >>> S), s[w] = u[b];
16622
+ T === 0 && (S = r[y++], T = 32), T >= l ? (b = S >>> T - l & g, T -= l) : (L = l - T, b = (S & g) << L & g, S = r[y++], T = 32 - L, b += S >>> T), s[w] = u[b];
16623
16623
  else
16624
16624
  for (Z = Math.ceil((f - d) / p), w = 0; w < c; w++)
16625
- S === 0 && (L = r[y++], S = 32), S >= l ? (b = L >>> S - l & g, S -= l) : (T = l - S, b = (L & g) << T & g, L = r[y++], S = 32 - T, b += L >>> S), s[w] = b < Z ? d + b * p : f;
16625
+ T === 0 && (S = r[y++], T = 32), T >= l ? (b = S >>> T - l & g, T -= l) : (L = l - T, b = (S & g) << L & g, S = r[y++], T = 32 - L, b += S >>> T), s[w] = b < Z ? d + b * p : f;
16626
16626
  },
16627
16627
  unstuffLUT: function(r, s, l, c, u, d) {
16628
- var p = (1 << s) - 1, f = 0, g = 0, y = 0, w = 0, S = 0, b, L = [], T = r.length * 4 - Math.ceil(s * l / 8);
16629
- r[r.length - 1] <<= 8 * T;
16628
+ var p = (1 << s) - 1, f = 0, g = 0, y = 0, w = 0, T = 0, b, S = [], L = r.length * 4 - Math.ceil(s * l / 8);
16629
+ r[r.length - 1] <<= 8 * L;
16630
16630
  var Z = Math.ceil((d - c) / u);
16631
16631
  for (g = 0; g < l; g++)
16632
- w === 0 && (b = r[f++], w = 32), w >= s ? (S = b >>> w - s & p, w -= s) : (y = s - w, S = (b & p) << y & p, b = r[f++], w = 32 - y, S += b >>> w), L[g] = S < Z ? c + S * u : d;
16633
- return L.unshift(c), L;
16632
+ w === 0 && (b = r[f++], w = 32), w >= s ? (T = b >>> w - s & p, w -= s) : (y = s - w, T = (b & p) << y & p, b = r[f++], w = 32 - y, T += b >>> w), S[g] = T < Z ? c + T * u : d;
16633
+ return S.unshift(c), S;
16634
16634
  },
16635
16635
  unstuff2: function(r, s, l, c, u, d, p, f) {
16636
- var g = (1 << l) - 1, y = 0, w, S = 0, b = 0, L, T, Z;
16636
+ var g = (1 << l) - 1, y = 0, w, T = 0, b = 0, S, L, Z;
16637
16637
  if (u)
16638
16638
  for (w = 0; w < c; w++)
16639
- S === 0 && (T = r[y++], S = 32, b = 0), S >= l ? (L = T >>> b & g, S -= l, b += l) : (Z = l - S, L = T >>> b & g, T = r[y++], S = 32 - Z, L |= (T & (1 << Z) - 1) << l - Z, b = Z), s[w] = u[L];
16639
+ T === 0 && (L = r[y++], T = 32, b = 0), T >= l ? (S = L >>> b & g, T -= l, b += l) : (Z = l - T, S = L >>> b & g, L = r[y++], T = 32 - Z, S |= (L & (1 << Z) - 1) << l - Z, b = Z), s[w] = u[S];
16640
16640
  else {
16641
- var E = Math.ceil((f - d) / p);
16641
+ var V = Math.ceil((f - d) / p);
16642
16642
  for (w = 0; w < c; w++)
16643
- S === 0 && (T = r[y++], S = 32, b = 0), S >= l ? (L = T >>> b & g, S -= l, b += l) : (Z = l - S, L = T >>> b & g, T = r[y++], S = 32 - Z, L |= (T & (1 << Z) - 1) << l - Z, b = Z), s[w] = L < E ? d + L * p : f;
16643
+ T === 0 && (L = r[y++], T = 32, b = 0), T >= l ? (S = L >>> b & g, T -= l, b += l) : (Z = l - T, S = L >>> b & g, L = r[y++], T = 32 - Z, S |= (L & (1 << Z) - 1) << l - Z, b = Z), s[w] = S < V ? d + S * p : f;
16644
16644
  }
16645
16645
  return s;
16646
16646
  },
16647
16647
  unstuffLUT2: function(r, s, l, c, u, d) {
16648
- var p = (1 << s) - 1, f = 0, g = 0, y = 0, w = 0, S = 0, b = 0, L, T = [], Z = Math.ceil((d - c) / u);
16648
+ var p = (1 << s) - 1, f = 0, g = 0, y = 0, w = 0, T = 0, b = 0, S, L = [], Z = Math.ceil((d - c) / u);
16649
16649
  for (g = 0; g < l; g++)
16650
- w === 0 && (L = r[f++], w = 32, b = 0), w >= s ? (S = L >>> b & p, w -= s, b += s) : (y = s - w, S = L >>> b & p, L = r[f++], w = 32 - y, S |= (L & (1 << y) - 1) << s - y, b = y), T[g] = S < Z ? c + S * u : d;
16651
- return T.unshift(c), T;
16650
+ w === 0 && (S = r[f++], w = 32, b = 0), w >= s ? (T = S >>> b & p, w -= s, b += s) : (y = s - w, T = S >>> b & p, S = r[f++], w = 32 - y, T |= (S & (1 << y) - 1) << s - y, b = y), L[g] = T < Z ? c + T * u : d;
16651
+ return L.unshift(c), L;
16652
16652
  },
16653
16653
  originalUnstuff: function(r, s, l, c) {
16654
- var u = (1 << l) - 1, d = 0, p, f = 0, g, y, w, S = r.length * 4 - Math.ceil(l * c / 8);
16655
- for (r[r.length - 1] <<= 8 * S, p = 0; p < c; p++)
16654
+ var u = (1 << l) - 1, d = 0, p, f = 0, g, y, w, T = r.length * 4 - Math.ceil(l * c / 8);
16655
+ for (r[r.length - 1] <<= 8 * T, p = 0; p < c; p++)
16656
16656
  f === 0 && (y = r[d++], f = 32), f >= l ? (g = y >>> f - l & u, f -= l) : (w = l - f, g = (y & u) << w & u, y = r[d++], f = 32 - w, g += y >>> f), s[p] = g;
16657
16657
  return s;
16658
16658
  },
16659
16659
  originalUnstuff2: function(r, s, l, c) {
16660
- var u = (1 << l) - 1, d = 0, p, f = 0, g = 0, y, w, S;
16660
+ var u = (1 << l) - 1, d = 0, p, f = 0, g = 0, y, w, T;
16661
16661
  for (p = 0; p < c; p++)
16662
- f === 0 && (w = r[d++], f = 32, g = 0), f >= l ? (y = w >>> g & u, f -= l, g += l) : (S = l - f, y = w >>> g & u, w = r[d++], f = 32 - S, y |= (w & (1 << S) - 1) << l - S, g = S), s[p] = y;
16662
+ f === 0 && (w = r[d++], f = 32, g = 0), f >= l ? (y = w >>> g & u, f -= l, g += l) : (T = l - f, y = w >>> g & u, w = r[d++], f = 32 - T, y |= (w & (1 << T) - 1) << l - T, g = T), s[p] = y;
16663
16663
  return s;
16664
16664
  }
16665
16665
  }, t = {
@@ -16718,33 +16718,33 @@ const S_ = function() {
16718
16718
  g = new Uint8Array(Math.ceil(u / 8)), f.bitset = g, y = new Uint8Array(u), s.pixels.resultMask = y, l += f.numBytes;
16719
16719
  else if (f.numBytes > 0) {
16720
16720
  g = new Uint8Array(Math.ceil(u / 8)), p = new DataView(r, l, f.numBytes);
16721
- var w = p.getInt16(0, !0), S = 2, b = 0, L = 0;
16721
+ var w = p.getInt16(0, !0), T = 2, b = 0, S = 0;
16722
16722
  do {
16723
16723
  if (w > 0)
16724
16724
  for (; w--; )
16725
- g[b++] = p.getUint8(S++);
16725
+ g[b++] = p.getUint8(T++);
16726
16726
  else
16727
- for (L = p.getUint8(S++), w = -w; w--; )
16728
- g[b++] = L;
16729
- w = p.getInt16(S, !0), S += 2;
16730
- } while (S < f.numBytes);
16727
+ for (S = p.getUint8(T++), w = -w; w--; )
16728
+ g[b++] = S;
16729
+ w = p.getInt16(T, !0), T += 2;
16730
+ } while (T < f.numBytes);
16731
16731
  if (w !== -32768 || b < g.length)
16732
16732
  throw "Unexpected end of mask RLE encoding";
16733
16733
  y = new Uint8Array(u);
16734
- var T = 0, Z = 0;
16734
+ var L = 0, Z = 0;
16735
16735
  for (Z = 0; Z < u; Z++)
16736
- Z & 7 ? (T = g[Z >> 3], T <<= Z & 7) : T = g[Z >> 3], T & 128 && (y[Z] = 1);
16736
+ Z & 7 ? (L = g[Z >> 3], L <<= Z & 7) : L = g[Z >> 3], L & 128 && (y[Z] = 1);
16737
16737
  s.pixels.resultMask = y, f.bitset = g, l += f.numBytes;
16738
16738
  }
16739
16739
  return s.ptr = l, s.mask = f, !0;
16740
16740
  },
16741
16741
  readDataOneSweep: function(r, s, l, c) {
16742
- var u = s.ptr, d = s.headerInfo, p = d.numDims, f = d.width * d.height, g = d.imageType, y = d.numValidPixel * t.getDataTypeSize(g) * p, w, S = s.pixels.resultMask;
16742
+ var u = s.ptr, d = s.headerInfo, p = d.numDims, f = d.width * d.height, g = d.imageType, y = d.numValidPixel * t.getDataTypeSize(g) * p, w, T = s.pixels.resultMask;
16743
16743
  if (l === Uint8Array)
16744
16744
  w = new Uint8Array(r, u, y);
16745
16745
  else {
16746
- var b = new ArrayBuffer(y), L = new Uint8Array(b);
16747
- L.set(new Uint8Array(r, u, y)), w = new l(b);
16746
+ var b = new ArrayBuffer(y), S = new Uint8Array(b);
16747
+ S.set(new Uint8Array(r, u, y)), w = new l(b);
16748
16748
  }
16749
16749
  if (w.length === f * p)
16750
16750
  c ? s.pixels.resultPixels = t.swapDimensionOrder(
@@ -16756,21 +16756,21 @@ const S_ = function() {
16756
16756
  ) : s.pixels.resultPixels = w;
16757
16757
  else {
16758
16758
  s.pixels.resultPixels = new l(f * p);
16759
- var T = 0, Z = 0, E = 0, z = 0;
16759
+ var L = 0, Z = 0, V = 0, z = 0;
16760
16760
  if (p > 1) {
16761
16761
  if (c) {
16762
16762
  for (Z = 0; Z < f; Z++)
16763
- if (S[Z])
16764
- for (z = Z, E = 0; E < p; E++, z += f)
16765
- s.pixels.resultPixels[z] = w[T++];
16763
+ if (T[Z])
16764
+ for (z = Z, V = 0; V < p; V++, z += f)
16765
+ s.pixels.resultPixels[z] = w[L++];
16766
16766
  } else
16767
16767
  for (Z = 0; Z < f; Z++)
16768
- if (S[Z])
16769
- for (z = Z * p, E = 0; E < p; E++)
16770
- s.pixels.resultPixels[z + E] = w[T++];
16768
+ if (T[Z])
16769
+ for (z = Z * p, V = 0; V < p; V++)
16770
+ s.pixels.resultPixels[z + V] = w[L++];
16771
16771
  } else
16772
16772
  for (Z = 0; Z < f; Z++)
16773
- S[Z] && (s.pixels.resultPixels[Z] = w[T++]);
16773
+ T[Z] && (s.pixels.resultPixels[Z] = w[L++]);
16774
16774
  }
16775
16775
  return u += y, s.ptr = u, !0;
16776
16776
  },
@@ -16785,26 +16785,26 @@ const S_ = function() {
16785
16785
  return !1;
16786
16786
  var g = new Uint32Array(f - p);
16787
16787
  t.decodeBits(r, s, g);
16788
- var y = [], w, S, b, L;
16788
+ var y = [], w, T, b, S;
16789
16789
  for (w = p; w < f; w++)
16790
- S = w - (w < d ? 0 : d), y[S] = { first: g[w - p], second: null };
16791
- var T = r.byteLength - s.ptr, Z = Math.ceil(T / 4), E = new ArrayBuffer(Z * 4), z = new Uint8Array(E);
16792
- z.set(new Uint8Array(r, s.ptr, T));
16793
- var X = new Uint32Array(E), k = 0, P, D = 0;
16790
+ T = w - (w < d ? 0 : d), y[T] = { first: g[w - p], second: null };
16791
+ var L = r.byteLength - s.ptr, Z = Math.ceil(L / 4), V = new ArrayBuffer(Z * 4), z = new Uint8Array(V);
16792
+ z.set(new Uint8Array(r, s.ptr, L));
16793
+ var X = new Uint32Array(V), k = 0, P, D = 0;
16794
16794
  for (P = X[0], w = p; w < f; w++)
16795
- S = w - (w < d ? 0 : d), L = y[S].first, L > 0 && (y[S].second = P << k >>> 32 - L, 32 - k >= L ? (k += L, k === 32 && (k = 0, D++, P = X[D])) : (k += L - 32, D++, P = X[D], y[S].second |= P >>> 32 - k));
16795
+ T = w - (w < d ? 0 : d), S = y[T].first, S > 0 && (y[T].second = P << k >>> 32 - S, 32 - k >= S ? (k += S, k === 32 && (k = 0, D++, P = X[D])) : (k += S - 32, D++, P = X[D], y[T].second |= P >>> 32 - k));
16796
16796
  var I = 0, A = 0, U = new e();
16797
16797
  for (w = 0; w < y.length; w++)
16798
16798
  y[w] !== void 0 && (I = Math.max(I, y[w].first));
16799
16799
  I >= l ? A = l : A = I;
16800
16800
  var j = [], B, q, N, ie, re, ee;
16801
16801
  for (w = p; w < f; w++)
16802
- if (S = w - (w < d ? 0 : d), L = y[S].first, L > 0)
16803
- if (B = [L, S], L <= A)
16804
- for (q = y[S].second << A - L, N = 1 << A - L, b = 0; b < N; b++)
16802
+ if (T = w - (w < d ? 0 : d), S = y[T].first, S > 0)
16803
+ if (B = [S, T], S <= A)
16804
+ for (q = y[T].second << A - S, N = 1 << A - S, b = 0; b < N; b++)
16805
16805
  j[q | b] = B;
16806
16806
  else
16807
- for (q = y[S].second, ee = U, ie = L - 1; ie >= 0; ie--)
16807
+ for (q = y[T].second, ee = U, ie = S - 1; ie >= 0; ie--)
16808
16808
  re = q >>> ie & 1, re ? (ee.right || (ee.right = new e()), ee = ee.right) : (ee.left || (ee.left = new e()), ee = ee.left), ie === 0 && !ee.val && (ee.val = B[1]);
16809
16809
  return {
16810
16810
  decodeLut: j,
@@ -16817,54 +16817,54 @@ const S_ = function() {
16817
16817
  };
16818
16818
  },
16819
16819
  readHuffman: function(r, s, l, c) {
16820
- var u = s.headerInfo, d = u.numDims, p = s.headerInfo.height, f = s.headerInfo.width, g = f * p, y = this.readHuffmanTree(r, s), w = y.decodeLut, S = y.tree, b = y.stuffedData, L = y.srcPtr, T = y.bitPos, Z = y.numBitsLUTQick, E = y.numBitsLUT, z = s.headerInfo.imageType === 0 ? 128 : 0, X, k, P, D = s.pixels.resultMask, I, A, U, j, B, q, N, ie = 0;
16821
- T > 0 && (L++, T = 0);
16822
- var re = b[L], ee = s.encodeMode === 1, pe = new l(g * d), ve = pe, ue;
16820
+ var u = s.headerInfo, d = u.numDims, p = s.headerInfo.height, f = s.headerInfo.width, g = f * p, y = this.readHuffmanTree(r, s), w = y.decodeLut, T = y.tree, b = y.stuffedData, S = y.srcPtr, L = y.bitPos, Z = y.numBitsLUTQick, V = y.numBitsLUT, z = s.headerInfo.imageType === 0 ? 128 : 0, X, k, P, D = s.pixels.resultMask, I, A, U, j, B, q, N, ie = 0;
16821
+ L > 0 && (S++, L = 0);
16822
+ var re = b[S], ee = s.encodeMode === 1, pe = new l(g * d), ve = pe, ue;
16823
16823
  if (d < 2 || ee) {
16824
16824
  for (ue = 0; ue < d; ue++)
16825
16825
  if (d > 1 && (ve = new l(pe.buffer, g * ue, g), ie = 0), s.headerInfo.numValidPixel === f * p)
16826
16826
  for (q = 0, j = 0; j < p; j++)
16827
16827
  for (B = 0; B < f; B++, q++) {
16828
- if (k = 0, I = re << T >>> 32 - Z, A = I, 32 - T < Z && (I |= b[L + 1] >>> 64 - T - Z, A = I), w[A])
16829
- k = w[A][1], T += w[A][0];
16828
+ if (k = 0, I = re << L >>> 32 - Z, A = I, 32 - L < Z && (I |= b[S + 1] >>> 64 - L - Z, A = I), w[A])
16829
+ k = w[A][1], L += w[A][0];
16830
16830
  else
16831
- for (I = re << T >>> 32 - E, A = I, 32 - T < E && (I |= b[L + 1] >>> 64 - T - E, A = I), X = S, N = 0; N < E; N++)
16832
- if (U = I >>> E - N - 1 & 1, X = U ? X.right : X.left, !(X.left || X.right)) {
16833
- k = X.val, T = T + N + 1;
16831
+ for (I = re << L >>> 32 - V, A = I, 32 - L < V && (I |= b[S + 1] >>> 64 - L - V, A = I), X = T, N = 0; N < V; N++)
16832
+ if (U = I >>> V - N - 1 & 1, X = U ? X.right : X.left, !(X.left || X.right)) {
16833
+ k = X.val, L = L + N + 1;
16834
16834
  break;
16835
16835
  }
16836
- T >= 32 && (T -= 32, L++, re = b[L]), P = k - z, ee ? (B > 0 ? P += ie : j > 0 ? P += ve[q - f] : P += ie, P &= 255, ve[q] = P, ie = P) : ve[q] = P;
16836
+ L >= 32 && (L -= 32, S++, re = b[S]), P = k - z, ee ? (B > 0 ? P += ie : j > 0 ? P += ve[q - f] : P += ie, P &= 255, ve[q] = P, ie = P) : ve[q] = P;
16837
16837
  }
16838
16838
  else
16839
16839
  for (q = 0, j = 0; j < p; j++)
16840
16840
  for (B = 0; B < f; B++, q++)
16841
16841
  if (D[q]) {
16842
- if (k = 0, I = re << T >>> 32 - Z, A = I, 32 - T < Z && (I |= b[L + 1] >>> 64 - T - Z, A = I), w[A])
16843
- k = w[A][1], T += w[A][0];
16842
+ if (k = 0, I = re << L >>> 32 - Z, A = I, 32 - L < Z && (I |= b[S + 1] >>> 64 - L - Z, A = I), w[A])
16843
+ k = w[A][1], L += w[A][0];
16844
16844
  else
16845
- for (I = re << T >>> 32 - E, A = I, 32 - T < E && (I |= b[L + 1] >>> 64 - T - E, A = I), X = S, N = 0; N < E; N++)
16846
- if (U = I >>> E - N - 1 & 1, X = U ? X.right : X.left, !(X.left || X.right)) {
16847
- k = X.val, T = T + N + 1;
16845
+ for (I = re << L >>> 32 - V, A = I, 32 - L < V && (I |= b[S + 1] >>> 64 - L - V, A = I), X = T, N = 0; N < V; N++)
16846
+ if (U = I >>> V - N - 1 & 1, X = U ? X.right : X.left, !(X.left || X.right)) {
16847
+ k = X.val, L = L + N + 1;
16848
16848
  break;
16849
16849
  }
16850
- T >= 32 && (T -= 32, L++, re = b[L]), P = k - z, ee ? (B > 0 && D[q - 1] ? P += ie : j > 0 && D[q - f] ? P += ve[q - f] : P += ie, P &= 255, ve[q] = P, ie = P) : ve[q] = P;
16850
+ L >= 32 && (L -= 32, S++, re = b[S]), P = k - z, ee ? (B > 0 && D[q - 1] ? P += ie : j > 0 && D[q - f] ? P += ve[q - f] : P += ie, P &= 255, ve[q] = P, ie = P) : ve[q] = P;
16851
16851
  }
16852
16852
  } else
16853
16853
  for (q = 0, j = 0; j < p; j++)
16854
16854
  for (B = 0; B < f; B++)
16855
16855
  if (q = j * f + B, !D || D[q])
16856
16856
  for (ue = 0; ue < d; ue++, q += g) {
16857
- if (k = 0, I = re << T >>> 32 - Z, A = I, 32 - T < Z && (I |= b[L + 1] >>> 64 - T - Z, A = I), w[A])
16858
- k = w[A][1], T += w[A][0];
16857
+ if (k = 0, I = re << L >>> 32 - Z, A = I, 32 - L < Z && (I |= b[S + 1] >>> 64 - L - Z, A = I), w[A])
16858
+ k = w[A][1], L += w[A][0];
16859
16859
  else
16860
- for (I = re << T >>> 32 - E, A = I, 32 - T < E && (I |= b[L + 1] >>> 64 - T - E, A = I), X = S, N = 0; N < E; N++)
16861
- if (U = I >>> E - N - 1 & 1, X = U ? X.right : X.left, !(X.left || X.right)) {
16862
- k = X.val, T = T + N + 1;
16860
+ for (I = re << L >>> 32 - V, A = I, 32 - L < V && (I |= b[S + 1] >>> 64 - L - V, A = I), X = T, N = 0; N < V; N++)
16861
+ if (U = I >>> V - N - 1 & 1, X = U ? X.right : X.left, !(X.left || X.right)) {
16862
+ k = X.val, L = L + N + 1;
16863
16863
  break;
16864
16864
  }
16865
- T >= 32 && (T -= 32, L++, re = b[L]), P = k - z, ve[q] = P;
16865
+ L >= 32 && (L -= 32, S++, re = b[S]), P = k - z, ve[q] = P;
16866
16866
  }
16867
- s.ptr = s.ptr + (L + 1) * 4 + (T > 0 ? 4 : 0), s.pixels.resultPixels = pe, d > 1 && !c && (s.pixels.resultPixels = t.swapDimensionOrder(
16867
+ s.ptr = s.ptr + (S + 1) * 4 + (L > 0 ? 4 : 0), s.pixels.resultPixels = pe, d > 1 && !c && (s.pixels.resultPixels = t.swapDimensionOrder(
16868
16868
  pe,
16869
16869
  g,
16870
16870
  d,
@@ -16875,7 +16875,7 @@ const S_ = function() {
16875
16875
  {
16876
16876
  var d = s.headerInfo, p = d.fileVersion, f = 0, g = r.byteLength - s.ptr >= 5 ? 5 : r.byteLength - s.ptr, y = new DataView(r, s.ptr, g), w = y.getUint8(0);
16877
16877
  f++;
16878
- var S = w >> 6, b = S === 0 ? 4 : 3 - S, L = (w & 32) > 0, T = w & 31, Z = 0;
16878
+ var T = w >> 6, b = T === 0 ? 4 : 3 - T, S = (w & 32) > 0, L = w & 31, Z = 0;
16879
16879
  if (b === 1)
16880
16880
  Z = y.getUint8(f), f++;
16881
16881
  else if (b === 2)
@@ -16884,48 +16884,48 @@ const S_ = function() {
16884
16884
  Z = y.getUint32(f, !0), f += 4;
16885
16885
  else
16886
16886
  throw "Invalid valid pixel count type";
16887
- var E = 2 * d.maxZError, z, X, k, P, D, I, A, U, j, B = d.numDims > 1 ? d.maxValues[u] : d.zMax;
16888
- if (L) {
16889
- for (s.counter.lut++, U = y.getUint8(f), f++, P = Math.ceil((U - 1) * T / 8), D = Math.ceil(P / 4), X = new ArrayBuffer(D * 4), k = new Uint8Array(X), s.ptr += f, k.set(new Uint8Array(r, s.ptr, P)), A = new Uint32Array(X), s.ptr += P, j = 0; U - 1 >>> j; )
16887
+ var V = 2 * d.maxZError, z, X, k, P, D, I, A, U, j, B = d.numDims > 1 ? d.maxValues[u] : d.zMax;
16888
+ if (S) {
16889
+ for (s.counter.lut++, U = y.getUint8(f), f++, P = Math.ceil((U - 1) * L / 8), D = Math.ceil(P / 4), X = new ArrayBuffer(D * 4), k = new Uint8Array(X), s.ptr += f, k.set(new Uint8Array(r, s.ptr, P)), A = new Uint32Array(X), s.ptr += P, j = 0; U - 1 >>> j; )
16890
16890
  j++;
16891
- P = Math.ceil(Z * j / 8), D = Math.ceil(P / 4), X = new ArrayBuffer(D * 4), k = new Uint8Array(X), k.set(new Uint8Array(r, s.ptr, P)), z = new Uint32Array(X), s.ptr += P, p >= 3 ? I = a.unstuffLUT2(A, T, U - 1, c, E, B) : I = a.unstuffLUT(A, T, U - 1, c, E, B), p >= 3 ? a.unstuff2(z, l, j, Z, I) : a.unstuff(z, l, j, Z, I);
16891
+ P = Math.ceil(Z * j / 8), D = Math.ceil(P / 4), X = new ArrayBuffer(D * 4), k = new Uint8Array(X), k.set(new Uint8Array(r, s.ptr, P)), z = new Uint32Array(X), s.ptr += P, p >= 3 ? I = a.unstuffLUT2(A, L, U - 1, c, V, B) : I = a.unstuffLUT(A, L, U - 1, c, V, B), p >= 3 ? a.unstuff2(z, l, j, Z, I) : a.unstuff(z, l, j, Z, I);
16892
16892
  } else
16893
- s.counter.bitstuffer++, j = T, s.ptr += f, j > 0 && (P = Math.ceil(Z * j / 8), D = Math.ceil(P / 4), X = new ArrayBuffer(D * 4), k = new Uint8Array(X), k.set(new Uint8Array(r, s.ptr, P)), z = new Uint32Array(X), s.ptr += P, p >= 3 ? c == null ? a.originalUnstuff2(z, l, j, Z) : a.unstuff2(
16893
+ s.counter.bitstuffer++, j = L, s.ptr += f, j > 0 && (P = Math.ceil(Z * j / 8), D = Math.ceil(P / 4), X = new ArrayBuffer(D * 4), k = new Uint8Array(X), k.set(new Uint8Array(r, s.ptr, P)), z = new Uint32Array(X), s.ptr += P, p >= 3 ? c == null ? a.originalUnstuff2(z, l, j, Z) : a.unstuff2(
16894
16894
  z,
16895
16895
  l,
16896
16896
  j,
16897
16897
  Z,
16898
16898
  !1,
16899
16899
  c,
16900
- E,
16900
+ V,
16901
16901
  B
16902
- ) : c == null ? a.originalUnstuff(z, l, j, Z) : a.unstuff(z, l, j, Z, !1, c, E, B));
16902
+ ) : c == null ? a.originalUnstuff(z, l, j, Z) : a.unstuff(z, l, j, Z, !1, c, V, B));
16903
16903
  }
16904
16904
  },
16905
16905
  readTiles: function(r, s, l, c) {
16906
- var u = s.headerInfo, d = u.width, p = u.height, f = d * p, g = u.microBlockSize, y = u.imageType, w = t.getDataTypeSize(y), S = Math.ceil(d / g), b = Math.ceil(p / g);
16907
- s.pixels.numBlocksY = b, s.pixels.numBlocksX = S, s.pixels.ptr = 0;
16908
- var L = 0, T = 0, Z = 0, E = 0, z = 0, X = 0, k = 0, P = 0, D = 0, I = 0, A = 0, U = 0, j = 0, B = 0, q = 0, N = 0, ie, re, ee, pe, ve, ue, ye = new l(g * g), Fe = p % g || g, Ue = d % g || g, je, Je, Qe = u.numDims, ht, yt = s.pixels.resultMask, He = s.pixels.resultPixels, xn = u.fileVersion, En = xn >= 5 ? 14 : 15, Ae, Ut = u.zMax, Rt;
16906
+ var u = s.headerInfo, d = u.width, p = u.height, f = d * p, g = u.microBlockSize, y = u.imageType, w = t.getDataTypeSize(y), T = Math.ceil(d / g), b = Math.ceil(p / g);
16907
+ s.pixels.numBlocksY = b, s.pixels.numBlocksX = T, s.pixels.ptr = 0;
16908
+ var S = 0, L = 0, Z = 0, V = 0, z = 0, X = 0, k = 0, P = 0, D = 0, I = 0, A = 0, U = 0, j = 0, B = 0, q = 0, N = 0, ie, re, ee, pe, ve, ue, ye = new l(g * g), Fe = p % g || g, Ue = d % g || g, je, Je, Qe = u.numDims, ht, yt = s.pixels.resultMask, He = s.pixels.resultPixels, xn = u.fileVersion, Vn = xn >= 5 ? 14 : 15, Ae, Ut = u.zMax, Rt;
16909
16909
  for (Z = 0; Z < b; Z++)
16910
- for (z = Z !== b - 1 ? g : Fe, E = 0; E < S; E++)
16911
- for (X = E !== S - 1 ? g : Ue, A = Z * d * g + E * g, U = d - X, ht = 0; ht < Qe; ht++) {
16912
- if (Qe > 1 ? (Rt = He, A = Z * d * g + E * g, He = new l(
16910
+ for (z = Z !== b - 1 ? g : Fe, V = 0; V < T; V++)
16911
+ for (X = V !== T - 1 ? g : Ue, A = Z * d * g + V * g, U = d - X, ht = 0; ht < Qe; ht++) {
16912
+ if (Qe > 1 ? (Rt = He, A = Z * d * g + V * g, He = new l(
16913
16913
  s.pixels.resultPixels.buffer,
16914
16914
  f * ht * w,
16915
16915
  f
16916
- ), Ut = u.maxValues[ht]) : Rt = null, k = r.byteLength - s.ptr, ie = new DataView(r, s.ptr, Math.min(10, k)), re = {}, N = 0, P = ie.getUint8(0), N++, Ae = u.fileVersion >= 5 ? P & 4 : 0, D = P >> 6 & 255, I = P >> 2 & En, I !== (E * g >> 3 & En) || Ae && ht === 0)
16916
+ ), Ut = u.maxValues[ht]) : Rt = null, k = r.byteLength - s.ptr, ie = new DataView(r, s.ptr, Math.min(10, k)), re = {}, N = 0, P = ie.getUint8(0), N++, Ae = u.fileVersion >= 5 ? P & 4 : 0, D = P >> 6 & 255, I = P >> 2 & Vn, I !== (V * g >> 3 & Vn) || Ae && ht === 0)
16917
16917
  throw "integrity issue";
16918
16918
  if (ue = P & 3, ue > 3)
16919
16919
  throw s.ptr += N, "Invalid block encoding (" + ue + ")";
16920
16920
  if (ue === 2) {
16921
16921
  if (Ae)
16922
16922
  if (yt)
16923
- for (L = 0; L < z; L++)
16924
- for (T = 0; T < X; T++)
16923
+ for (S = 0; S < z; S++)
16924
+ for (L = 0; L < X; L++)
16925
16925
  yt[A] && (He[A] = Rt[A]), A++;
16926
16926
  else
16927
- for (L = 0; L < z; L++)
16928
- for (T = 0; T < X; T++)
16927
+ for (S = 0; S < z; S++)
16928
+ for (L = 0; L < X; L++)
16929
16929
  He[A] = Rt[A], A++;
16930
16930
  s.counter.constant++, s.ptr += N;
16931
16931
  continue;
@@ -16935,53 +16935,53 @@ const S_ = function() {
16935
16935
  if (s.counter.uncompressed++, s.ptr += N, j = z * X * w, B = r.byteLength - s.ptr, j = j < B ? j : B, ee = new ArrayBuffer(
16936
16936
  j % w === 0 ? j : j + w - j % w
16937
16937
  ), pe = new Uint8Array(ee), pe.set(new Uint8Array(r, s.ptr, j)), ve = new l(ee), q = 0, yt)
16938
- for (L = 0; L < z; L++) {
16939
- for (T = 0; T < X; T++)
16938
+ for (S = 0; S < z; S++) {
16939
+ for (L = 0; L < X; L++)
16940
16940
  yt[A] && (He[A] = ve[q++]), A++;
16941
16941
  A += U;
16942
16942
  }
16943
16943
  else
16944
- for (L = 0; L < z; L++) {
16945
- for (T = 0; T < X; T++)
16944
+ for (S = 0; S < z; S++) {
16945
+ for (L = 0; L < X; L++)
16946
16946
  He[A++] = ve[q++];
16947
16947
  A += U;
16948
16948
  }
16949
16949
  s.ptr += q * w;
16950
16950
  } else if (je = t.getDataTypeUsed(Ae && y < 6 ? 4 : y, D), Je = t.getOnePixel(re, N, je, ie), N += t.getDataTypeSize(je), ue === 3)
16951
16951
  if (s.ptr += N, s.counter.constantoffset++, yt)
16952
- for (L = 0; L < z; L++) {
16953
- for (T = 0; T < X; T++)
16952
+ for (S = 0; S < z; S++) {
16953
+ for (L = 0; L < X; L++)
16954
16954
  yt[A] && (He[A] = Ae ? Math.min(Ut, Rt[A] + Je) : Je), A++;
16955
16955
  A += U;
16956
16956
  }
16957
16957
  else
16958
- for (L = 0; L < z; L++) {
16959
- for (T = 0; T < X; T++)
16958
+ for (S = 0; S < z; S++) {
16959
+ for (L = 0; L < X; L++)
16960
16960
  He[A] = Ae ? Math.min(Ut, Rt[A] + Je) : Je, A++;
16961
16961
  A += U;
16962
16962
  }
16963
16963
  else if (s.ptr += N, t.decodeBits(r, s, ye, Je, ht), N = 0, Ae)
16964
16964
  if (yt)
16965
- for (L = 0; L < z; L++) {
16966
- for (T = 0; T < X; T++)
16965
+ for (S = 0; S < z; S++) {
16966
+ for (L = 0; L < X; L++)
16967
16967
  yt[A] && (He[A] = ye[N++] + Rt[A]), A++;
16968
16968
  A += U;
16969
16969
  }
16970
16970
  else
16971
- for (L = 0; L < z; L++) {
16972
- for (T = 0; T < X; T++)
16971
+ for (S = 0; S < z; S++) {
16972
+ for (L = 0; L < X; L++)
16973
16973
  He[A] = ye[N++] + Rt[A], A++;
16974
16974
  A += U;
16975
16975
  }
16976
16976
  else if (yt)
16977
- for (L = 0; L < z; L++) {
16978
- for (T = 0; T < X; T++)
16977
+ for (S = 0; S < z; S++) {
16978
+ for (L = 0; L < X; L++)
16979
16979
  yt[A] && (He[A] = ye[N++]), A++;
16980
16980
  A += U;
16981
16981
  }
16982
16982
  else
16983
- for (L = 0; L < z; L++) {
16984
- for (T = 0; T < X; T++)
16983
+ for (S = 0; S < z; S++) {
16984
+ for (L = 0; L < X; L++)
16985
16985
  He[A++] = ye[N++];
16986
16986
  A += U;
16987
16987
  }
@@ -17023,33 +17023,33 @@ const S_ = function() {
17023
17023
  };
17024
17024
  },
17025
17025
  constructConstantSurface: function(r, s) {
17026
- var l = r.headerInfo.zMax, c = r.headerInfo.zMin, u = r.headerInfo.maxValues, d = r.headerInfo.numDims, p = r.headerInfo.height * r.headerInfo.width, f = 0, g = 0, y = 0, w = r.pixels.resultMask, S = r.pixels.resultPixels;
17026
+ var l = r.headerInfo.zMax, c = r.headerInfo.zMin, u = r.headerInfo.maxValues, d = r.headerInfo.numDims, p = r.headerInfo.height * r.headerInfo.width, f = 0, g = 0, y = 0, w = r.pixels.resultMask, T = r.pixels.resultPixels;
17027
17027
  if (w)
17028
17028
  if (d > 1) {
17029
17029
  if (s)
17030
17030
  for (f = 0; f < d; f++)
17031
17031
  for (y = f * p, l = u[f], g = 0; g < p; g++)
17032
- w[g] && (S[y + g] = l);
17032
+ w[g] && (T[y + g] = l);
17033
17033
  else
17034
17034
  for (g = 0; g < p; g++)
17035
17035
  if (w[g])
17036
17036
  for (y = g * d, f = 0; f < d; f++)
17037
- S[y + d] = u[f];
17037
+ T[y + d] = u[f];
17038
17038
  } else
17039
17039
  for (g = 0; g < p; g++)
17040
- w[g] && (S[g] = l);
17040
+ w[g] && (T[g] = l);
17041
17041
  else if (d > 1 && c !== l)
17042
17042
  if (s)
17043
17043
  for (f = 0; f < d; f++)
17044
17044
  for (y = f * p, l = u[f], g = 0; g < p; g++)
17045
- S[y + g] = l;
17045
+ T[y + g] = l;
17046
17046
  else
17047
17047
  for (g = 0; g < p; g++)
17048
17048
  for (y = g * d, f = 0; f < d; f++)
17049
- S[y + f] = u[f];
17049
+ T[y + f] = u[f];
17050
17050
  else
17051
17051
  for (g = 0; g < p * d; g++)
17052
- S[g] = l;
17052
+ T[g] = l;
17053
17053
  },
17054
17054
  getDataTypeArray: function(r) {
17055
17055
  var s;
@@ -17301,8 +17301,8 @@ const S_ = function() {
17301
17301
  else if (p >= 4 && t.checkMinMaxRanges(r, u))
17302
17302
  t.constructConstantSurface(u, y);
17303
17303
  else {
17304
- var w = new DataView(r, u.ptr, 2), S = w.getUint8(0);
17305
- if (u.ptr++, S)
17304
+ var w = new DataView(r, u.ptr, 2), T = w.getUint8(0);
17305
+ if (u.ptr++, T)
17306
17306
  t.readDataOneSweep(r, u, f, y);
17307
17307
  else if (p > 1 && d.imageType <= 1 && Math.abs(d.maxZError - 0.5) < 1e-5) {
17308
17308
  var b = w.getUint8(1);
@@ -17313,9 +17313,9 @@ const S_ = function() {
17313
17313
  t.readTiles(r, u, f, y);
17314
17314
  }
17315
17315
  u.eofOffset = u.ptr;
17316
- var L;
17317
- s.inputOffset ? (L = u.headerInfo.blobSize + s.inputOffset - u.ptr, Math.abs(L) >= 1 && (u.eofOffset = s.inputOffset + u.headerInfo.blobSize)) : (L = u.headerInfo.blobSize - u.ptr, Math.abs(L) >= 1 && (u.eofOffset = u.headerInfo.blobSize));
17318
- var T = {
17316
+ var S;
17317
+ s.inputOffset ? (S = u.headerInfo.blobSize + s.inputOffset - u.ptr, Math.abs(S) >= 1 && (u.eofOffset = s.inputOffset + u.headerInfo.blobSize)) : (S = u.headerInfo.blobSize - u.ptr, Math.abs(S) >= 1 && (u.eofOffset = u.headerInfo.blobSize));
17318
+ var L = {
17319
17319
  width: d.width,
17320
17320
  height: d.height,
17321
17321
  pixelData: u.pixels.resultPixels,
@@ -17333,10 +17333,10 @@ const S_ = function() {
17333
17333
  if (u.pixels.resultMask && t.isValidPixelValue(d.imageType, l)) {
17334
17334
  var Z = u.pixels.resultMask;
17335
17335
  for (c = 0; c < g; c++)
17336
- Z[c] || (T.pixelData[c] = l);
17337
- T.noDataValue = l;
17336
+ Z[c] || (L.pixelData[c] = l);
17337
+ L.noDataValue = l;
17338
17338
  }
17339
- return u.noDataValue = l, s.returnFileInfo && (T.fileInfo = t.formatFileInfo(u)), T;
17339
+ return u.noDataValue = l, s.returnFileInfo && (L.fileInfo = t.formatFileInfo(u)), L;
17340
17340
  }
17341
17341
  },
17342
17342
  getBandCount: function(r) {
@@ -17390,7 +17390,7 @@ var G_ = function() {
17390
17390
  mask: null,
17391
17391
  statistics: []
17392
17392
  }, w = 0; e < u; ) {
17393
- var S = s.decode(a, {
17393
+ var T = s.decode(a, {
17394
17394
  inputOffset: e,
17395
17395
  //for both lerc1 and lerc2
17396
17396
  encodedMaskData: d,
@@ -17410,18 +17410,18 @@ var G_ = function() {
17410
17410
  noDataValue: t.noDataValue || null
17411
17411
  //lerc1 only
17412
17412
  });
17413
- e = S.fileInfo.eofOffset, g = S.maskData, c === 0 && (d = S.encodedMaskData, y.width = S.width, y.height = S.height, y.dimCount = S.dimCount || 1, y.pixelType = S.pixelType || S.fileInfo.pixelType, y.mask = g), l > 1 && (g && p.push(g), S.fileInfo.mask && S.fileInfo.mask.numBytes > 0 && w++), c++, y.pixels.push(S.pixelData), y.statistics.push({
17414
- minValue: S.minValue,
17415
- maxValue: S.maxValue,
17416
- noDataValue: S.noDataValue,
17417
- dimStats: S.dimStats
17413
+ e = T.fileInfo.eofOffset, g = T.maskData, c === 0 && (d = T.encodedMaskData, y.width = T.width, y.height = T.height, y.dimCount = T.dimCount || 1, y.pixelType = T.pixelType || T.fileInfo.pixelType, y.mask = g), l > 1 && (g && p.push(g), T.fileInfo.mask && T.fileInfo.mask.numBytes > 0 && w++), c++, y.pixels.push(T.pixelData), y.statistics.push({
17414
+ minValue: T.minValue,
17415
+ maxValue: T.maxValue,
17416
+ noDataValue: T.noDataValue,
17417
+ dimStats: T.dimStats
17418
17418
  });
17419
17419
  }
17420
- var b, L, T;
17420
+ var b, S, L;
17421
17421
  if (l > 1 && w > 1) {
17422
- for (T = y.width * y.height, y.bandMasks = p, g = new Uint8Array(T), g.set(p[0]), b = 1; b < p.length; b++)
17423
- for (f = p[b], L = 0; L < T; L++)
17424
- g[L] = g[L] & f[L];
17422
+ for (L = y.width * y.height, y.bandMasks = p, g = new Uint8Array(L), g.set(p[0]), b = 1; b < p.length; b++)
17423
+ for (f = p[b], S = 0; S < L; S++)
17424
+ g[S] = g[S] & f[S];
17425
17425
  y.maskData = g;
17426
17426
  }
17427
17427
  return y;
@@ -17464,17 +17464,17 @@ function R_(a, t, e) {
17464
17464
  }
17465
17465
  function P_(a, t) {
17466
17466
  function e(c, u, d, p, f, g, y, w) {
17467
- const S = new Float32Array(f * g);
17468
- for (let L = 0; L < g; L++)
17469
- for (let T = 0; T < f; T++) {
17470
- const Z = (L + p) * u + (T + d), E = L * f + T;
17471
- S[E] = c[Z];
17467
+ const T = new Float32Array(f * g);
17468
+ for (let S = 0; S < g; S++)
17469
+ for (let L = 0; L < f; L++) {
17470
+ const Z = (S + p) * u + (L + d), V = S * f + L;
17471
+ T[V] = c[Z];
17472
17472
  }
17473
17473
  const b = new Float32Array(w * y);
17474
- for (let L = 0; L < w; L++)
17475
- for (let T = 0; T < y; T++) {
17476
- const Z = L * w + T, E = Math.round(T * g / w), X = Math.round(L * f / y) * f + E;
17477
- b[Z] = S[X];
17474
+ for (let S = 0; S < w; S++)
17475
+ for (let L = 0; L < y; L++) {
17476
+ const Z = S * w + L, V = Math.round(L * g / w), X = Math.round(S * f / y) * f + V;
17477
+ b[Z] = T[X];
17478
17478
  }
17479
17479
  return b;
17480
17480
  }
@@ -17494,8 +17494,8 @@ function C_(a, t) {
17494
17494
  const e = Math.floor(a[0] * t), n = Math.floor(a[1] * t), r = Math.floor((a[2] - a[0]) * t), s = Math.floor((a[3] - a[1]) * t);
17495
17495
  return { sx: e, sy: n, sw: r, sh: s };
17496
17496
  }
17497
- const E_ = 10;
17498
- class V_ extends Rd {
17497
+ const V_ = 10;
17498
+ class E_ extends Rd {
17499
17499
  constructor() {
17500
17500
  super();
17501
17501
  M(this, "info", {
@@ -17516,12 +17516,12 @@ class V_ extends Rd {
17516
17516
  * @returns 返回解析后的BufferGeometry对象
17517
17517
  */
17518
17518
  async doLoad(e, n) {
17519
- this._workerPool.pool === 0 && this._workerPool.setWorkerLimit(E_);
17519
+ this._workerPool.pool === 0 && this._workerPool.setWorkerLimit(V_);
17520
17520
  const { z: r, bounds: s } = n, l = await this.fileLoader.loadAsync(e).catch(() => new Float32Array(256 * 256)), c = R_(l, r, s);
17521
- return new Ei().setData(c);
17521
+ return new Vi().setData(c);
17522
17522
  }
17523
17523
  }
17524
- Vd(new V_());
17524
+ Ed(new E_());
17525
17525
  const Xd = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGModCl7cmV0dXJuIGEodC5kYXRhKX1mdW5jdGlvbiBhKHQpe2Z1bmN0aW9uIG4oZSx1KXtjb25zdCByPXUqNCxbaSxmLGcsbF09ZS5zbGljZShyLHIrNCk7cmV0dXJuIGw9PT0wPzA6LTFlNCsoaTw8MTZ8Zjw8OHxnKSouMX1jb25zdCBvPXQubGVuZ3RoPj4+MixzPW5ldyBGbG9hdDMyQXJyYXkobyk7Zm9yKGxldCBlPTA7ZTxvO2UrKylzW2VdPW4odCxlKTtyZXR1cm4gc31zZWxmLm9ubWVzc2FnZT10PT57Y29uc3Qgbj1jKHQuZGF0YS5pbWdEYXRhKTtzZWxmLnBvc3RNZXNzYWdlKG4pfX0pKCk7Cg==", A_ = (a) => Uint8Array.from(atob(a), (t) => t.charCodeAt(0)), Gh = typeof self < "u" && self.Blob && new Blob([A_(Xd)], { type: "text/javascript;charset=utf-8" });
17526
17526
  function X_(a) {
17527
17527
  let t;
@@ -17571,7 +17571,7 @@ class k_ extends Rd {
17571
17571
  const r = await this.imageLoader.loadAsync(e).catch((d) => new Image()), s = ct.clamp((n.z + 2) * 3, 2, 64), l = z_(r, n.bounds, s);
17572
17572
  let c;
17573
17573
  this._workerPool.pool === 0 && this._workerPool.setWorkerLimit(F_), c = (await this._workerPool.postMessage({ imgData: l }, [l.data.buffer])).data;
17574
- const u = new Ei();
17574
+ const u = new Vi();
17575
17575
  return u.setData(c), u;
17576
17576
  }
17577
17577
  }
@@ -17581,7 +17581,7 @@ function z_(a, t, e) {
17581
17581
  const s = new OffscreenCanvas(e, e).getContext("2d");
17582
17582
  return s.imageSmoothingEnabled = !1, s.drawImage(a, n.sx, n.sy, n.sw, n.sh, 0, 0, e, e), s.getImageData(0, 0, e, e);
17583
17583
  }
17584
- Vd(new k_());
17584
+ Ed(new k_());
17585
17585
  function tr(a, t) {
17586
17586
  this.x = a, this.y = t;
17587
17587
  }
@@ -18683,7 +18683,7 @@ class fT extends Cd {
18683
18683
  };
18684
18684
  }
18685
18685
  }
18686
- Ed(new fT());
18686
+ Vd(new fT());
18687
18687
  const kd = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NvbnN0IF89MjMyODMwNjQzNjUzODY5NjNlLTI2LG09MTIsUD10eXBlb2YgVGV4dERlY29kZXI+InUiP251bGw6bmV3IFRleHREZWNvZGVyKCJ1dGYtOCIpLGc9MCx5PTEsRj0yLHA9NTtjbGFzcyBNe2NvbnN0cnVjdG9yKHQ9bmV3IFVpbnQ4QXJyYXkoMTYpKXt0aGlzLmJ1Zj1BcnJheUJ1ZmZlci5pc1ZpZXcodCk/dDpuZXcgVWludDhBcnJheSh0KSx0aGlzLmRhdGFWaWV3PW5ldyBEYXRhVmlldyh0aGlzLmJ1Zi5idWZmZXIpLHRoaXMucG9zPTAsdGhpcy50eXBlPTAsdGhpcy5sZW5ndGg9dGhpcy5idWYubGVuZ3RofXJlYWRGaWVsZHModCxlLHI9dGhpcy5sZW5ndGgpe2Zvcig7dGhpcy5wb3M8cjspe2NvbnN0IHM9dGhpcy5yZWFkVmFyaW50KCksbj1zPj4zLG89dGhpcy5wb3M7dGhpcy50eXBlPXMmNyx0KG4sZSx0aGlzKSx0aGlzLnBvcz09PW8mJnRoaXMuc2tpcChzKX1yZXR1cm4gZX1yZWFkTWVzc2FnZSh0LGUpe3JldHVybiB0aGlzLnJlYWRGaWVsZHModCxlLHRoaXMucmVhZFZhcmludCgpK3RoaXMucG9zKX1yZWFkRml4ZWQzMigpe2NvbnN0IHQ9dGhpcy5kYXRhVmlldy5nZXRVaW50MzIodGhpcy5wb3MsITApO3JldHVybiB0aGlzLnBvcys9NCx0fXJlYWRTRml4ZWQzMigpe2NvbnN0IHQ9dGhpcy5kYXRhVmlldy5nZXRJbnQzMih0aGlzLnBvcywhMCk7cmV0dXJuIHRoaXMucG9zKz00LHR9cmVhZEZpeGVkNjQoKXtjb25zdCB0PXRoaXMuZGF0YVZpZXcuZ2V0VWludDMyKHRoaXMucG9zLCEwKSt0aGlzLmRhdGFWaWV3LmdldFVpbnQzMih0aGlzLnBvcys0LCEwKSo0Mjk0OTY3Mjk2O3JldHVybiB0aGlzLnBvcys9OCx0fXJlYWRTRml4ZWQ2NCgpe2NvbnN0IHQ9dGhpcy5kYXRhVmlldy5nZXRVaW50MzIodGhpcy5wb3MsITApK3RoaXMuZGF0YVZpZXcuZ2V0SW50MzIodGhpcy5wb3MrNCwhMCkqNDI5NDk2NzI5NjtyZXR1cm4gdGhpcy5wb3MrPTgsdH1yZWFkRmxvYXQoKXtjb25zdCB0PXRoaXMuZGF0YVZpZXcuZ2V0RmxvYXQzMih0aGlzLnBvcywhMCk7cmV0dXJuIHRoaXMucG9zKz00LHR9cmVhZERvdWJsZSgpe2NvbnN0IHQ9dGhpcy5kYXRhVmlldy5nZXRGbG9hdDY0KHRoaXMucG9zLCEwKTtyZXR1cm4gdGhpcy5wb3MrPTgsdH1yZWFkVmFyaW50KHQpe2NvbnN0IGU9dGhpcy5idWY7bGV0IHIscztyZXR1cm4gcz1lW3RoaXMucG9zKytdLHI9cyYxMjcsczwxMjh8fChzPWVbdGhpcy5wb3MrK10scnw9KHMmMTI3KTw8NyxzPDEyOCl8fChzPWVbdGhpcy5wb3MrK10scnw9KHMmMTI3KTw8MTQsczwxMjgpfHwocz1lW3RoaXMucG9zKytdLHJ8PShzJjEyNyk8PDIxLHM8MTI4KT9yOihzPWVbdGhpcy5wb3NdLHJ8PShzJjE1KTw8MjgsRShyLHQsdGhpcykpfXJlYWRWYXJpbnQ2NCgpe3JldHVybiB0aGlzLnJlYWRWYXJpbnQoITApfXJlYWRTVmFyaW50KCl7Y29uc3QgdD10aGlzLnJlYWRWYXJpbnQoKTtyZXR1cm4gdCUyPT09MT8odCsxKS8tMjp0LzJ9cmVhZEJvb2xlYW4oKXtyZXR1cm4hIXRoaXMucmVhZFZhcmludCgpfXJlYWRTdHJpbmcoKXtjb25zdCB0PXRoaXMucmVhZFZhcmludCgpK3RoaXMucG9zLGU9dGhpcy5wb3M7cmV0dXJuIHRoaXMucG9zPXQsdC1lPj1tJiZQP1AuZGVjb2RlKHRoaXMuYnVmLnN1YmFycmF5KGUsdCkpOlIodGhpcy5idWYsZSx0KX1yZWFkQnl0ZXMoKXtjb25zdCB0PXRoaXMucmVhZFZhcmludCgpK3RoaXMucG9zLGU9dGhpcy5idWYuc3ViYXJyYXkodGhpcy5wb3MsdCk7cmV0dXJuIHRoaXMucG9zPXQsZX1yZWFkUGFja2VkVmFyaW50KHQ9W10sZSl7Y29uc3Qgcj10aGlzLnJlYWRQYWNrZWRFbmQoKTtmb3IoO3RoaXMucG9zPHI7KXQucHVzaCh0aGlzLnJlYWRWYXJpbnQoZSkpO3JldHVybiB0fXJlYWRQYWNrZWRTVmFyaW50KHQ9W10pe2NvbnN0IGU9dGhpcy5yZWFkUGFja2VkRW5kKCk7Zm9yKDt0aGlzLnBvczxlOyl0LnB1c2godGhpcy5yZWFkU1ZhcmludCgpKTtyZXR1cm4gdH1yZWFkUGFja2VkQm9vbGVhbih0PVtdKXtjb25zdCBlPXRoaXMucmVhZFBhY2tlZEVuZCgpO2Zvcig7dGhpcy5wb3M8ZTspdC5wdXNoKHRoaXMucmVhZEJvb2xlYW4oKSk7cmV0dXJuIHR9cmVhZFBhY2tlZEZsb2F0KHQ9W10pe2NvbnN0IGU9dGhpcy5yZWFkUGFja2VkRW5kKCk7Zm9yKDt0aGlzLnBvczxlOyl0LnB1c2godGhpcy5yZWFkRmxvYXQoKSk7cmV0dXJuIHR9cmVhZFBhY2tlZERvdWJsZSh0PVtdKXtjb25zdCBlPXRoaXMucmVhZFBhY2tlZEVuZCgpO2Zvcig7dGhpcy5wb3M8ZTspdC5wdXNoKHRoaXMucmVhZERvdWJsZSgpKTtyZXR1cm4gdH1yZWFkUGFja2VkRml4ZWQzMih0PVtdKXtjb25zdCBlPXRoaXMucmVhZFBhY2tlZEVuZCgpO2Zvcig7dGhpcy5wb3M8ZTspdC5wdXNoKHRoaXMucmVhZEZpeGVkMzIoKSk7cmV0dXJuIHR9cmVhZFBhY2tlZFNGaXhlZDMyKHQ9W10pe2NvbnN0IGU9dGhpcy5yZWFkUGFja2VkRW5kKCk7Zm9yKDt0aGlzLnBvczxlOyl0LnB1c2godGhpcy5yZWFkU0ZpeGVkMzIoKSk7cmV0dXJuIHR9cmVhZFBhY2tlZEZpeGVkNjQodD1bXSl7Y29uc3QgZT10aGlzLnJlYWRQYWNrZWRFbmQoKTtmb3IoO3RoaXMucG9zPGU7KXQucHVzaCh0aGlzLnJlYWRGaXhlZDY0KCkpO3JldHVybiB0fXJlYWRQYWNrZWRTRml4ZWQ2NCh0PVtdKXtjb25zdCBlPXRoaXMucmVhZFBhY2tlZEVuZCgpO2Zvcig7dGhpcy5wb3M8ZTspdC5wdXNoKHRoaXMucmVhZFNGaXhlZDY0KCkpO3JldHVybiB0fXJlYWRQYWNrZWRFbmQoKXtyZXR1cm4gdGhpcy50eXBlPT09Rj90aGlzLnJlYWRWYXJpbnQoKSt0aGlzLnBvczp0aGlzLnBvcysxfXNraXAodCl7Y29uc3QgZT10Jjc7aWYoZT09PWcpZm9yKDt0aGlzLmJ1Zlt0aGlzLnBvcysrXT4xMjc7KTtlbHNlIGlmKGU9PT1GKXRoaXMucG9zPXRoaXMucmVhZFZhcmludCgpK3RoaXMucG9zO2Vsc2UgaWYoZT09PXApdGhpcy5wb3MrPTQ7ZWxzZSBpZihlPT09eSl0aGlzLnBvcys9ODtlbHNlIHRocm93IG5ldyBFcnJvcihgVW5pbXBsZW1lbnRlZCB0eXBlOiAke2V9YCl9d3JpdGVUYWcodCxlKXt0aGlzLndyaXRlVmFyaW50KHQ8PDN8ZSl9cmVhbGxvYyh0KXtsZXQgZT10aGlzLmxlbmd0aHx8MTY7Zm9yKDtlPHRoaXMucG9zK3Q7KWUqPTI7aWYoZSE9PXRoaXMubGVuZ3RoKXtjb25zdCByPW5ldyBVaW50OEFycmF5KGUpO3Iuc2V0KHRoaXMuYnVmKSx0aGlzLmJ1Zj1yLHRoaXMuZGF0YVZpZXc9bmV3IERhdGFWaWV3KHIuYnVmZmVyKSx0aGlzLmxlbmd0aD1lfX1maW5pc2goKXtyZXR1cm4gdGhpcy5sZW5ndGg9dGhpcy5wb3MsdGhpcy5wb3M9MCx0aGlzLmJ1Zi5zdWJhcnJheSgwLHRoaXMubGVuZ3RoKX13cml0ZUZpeGVkMzIodCl7dGhpcy5yZWFsbG9jKDQpLHRoaXMuZGF0YVZpZXcuc2V0SW50MzIodGhpcy5wb3MsdCwhMCksdGhpcy5wb3MrPTR9d3JpdGVTRml4ZWQzMih0KXt0aGlzLnJlYWxsb2MoNCksdGhpcy5kYXRhVmlldy5zZXRJbnQzMih0aGlzLnBvcyx0LCEwKSx0aGlzLnBvcys9NH13cml0ZUZpeGVkNjQodCl7dGhpcy5yZWFsbG9jKDgpLHRoaXMuZGF0YVZpZXcuc2V0SW50MzIodGhpcy5wb3MsdCYtMSwhMCksdGhpcy5kYXRhVmlldy5zZXRJbnQzMih0aGlzLnBvcys0LE1hdGguZmxvb3IodCpfKSwhMCksdGhpcy5wb3MrPTh9d3JpdGVTRml4ZWQ2NCh0KXt0aGlzLnJlYWxsb2MoOCksdGhpcy5kYXRhVmlldy5zZXRJbnQzMih0aGlzLnBvcyx0Ji0xLCEwKSx0aGlzLmRhdGFWaWV3LnNldEludDMyKHRoaXMucG9zKzQsTWF0aC5mbG9vcih0Kl8pLCEwKSx0aGlzLnBvcys9OH13cml0ZVZhcmludCh0KXtpZih0PSt0fHwwLHQ+MjY4NDM1NDU1fHx0PDApe0IodCx0aGlzKTtyZXR1cm59dGhpcy5yZWFsbG9jKDQpLHRoaXMuYnVmW3RoaXMucG9zKytdPXQmMTI3fCh0PjEyNz8xMjg6MCksISh0PD0xMjcpJiYodGhpcy5idWZbdGhpcy5wb3MrK109KHQ+Pj49NykmMTI3fCh0PjEyNz8xMjg6MCksISh0PD0xMjcpJiYodGhpcy5idWZbdGhpcy5wb3MrK109KHQ+Pj49NykmMTI3fCh0PjEyNz8xMjg6MCksISh0PD0xMjcpJiYodGhpcy5idWZbdGhpcy5wb3MrK109dD4+PjcmMTI3KSkpfXdyaXRlU1ZhcmludCh0KXt0aGlzLndyaXRlVmFyaW50KHQ8MD8tdCoyLTE6dCoyKX13cml0ZUJvb2xlYW4odCl7dGhpcy53cml0ZVZhcmludCgrdCl9d3JpdGVTdHJpbmcodCl7dD1TdHJpbmcodCksdGhpcy5yZWFsbG9jKHQubGVuZ3RoKjQpLHRoaXMucG9zKys7Y29uc3QgZT10aGlzLnBvczt0aGlzLnBvcz1xKHRoaXMuYnVmLHQsdGhpcy5wb3MpO2NvbnN0IHI9dGhpcy5wb3MtZTtyPj0xMjgmJlMoZSxyLHRoaXMpLHRoaXMucG9zPWUtMSx0aGlzLndyaXRlVmFyaW50KHIpLHRoaXMucG9zKz1yfXdyaXRlRmxvYXQodCl7dGhpcy5yZWFsbG9jKDQpLHRoaXMuZGF0YVZpZXcuc2V0RmxvYXQzMih0aGlzLnBvcyx0LCEwKSx0aGlzLnBvcys9NH13cml0ZURvdWJsZSh0KXt0aGlzLnJlYWxsb2MoOCksdGhpcy5kYXRhVmlldy5zZXRGbG9hdDY0KHRoaXMucG9zLHQsITApLHRoaXMucG9zKz04fXdyaXRlQnl0ZXModCl7Y29uc3QgZT10Lmxlbmd0aDt0aGlzLndyaXRlVmFyaW50KGUpLHRoaXMucmVhbGxvYyhlKTtmb3IobGV0IHI9MDtyPGU7cisrKXRoaXMuYnVmW3RoaXMucG9zKytdPXRbcl19d3JpdGVSYXdNZXNzYWdlKHQsZSl7dGhpcy5wb3MrKztjb25zdCByPXRoaXMucG9zO3QoZSx0aGlzKTtjb25zdCBzPXRoaXMucG9zLXI7cz49MTI4JiZTKHIscyx0aGlzKSx0aGlzLnBvcz1yLTEsdGhpcy53cml0ZVZhcmludChzKSx0aGlzLnBvcys9c313cml0ZU1lc3NhZ2UodCxlLHIpe3RoaXMud3JpdGVUYWcodCxGKSx0aGlzLndyaXRlUmF3TWVzc2FnZShlLHIpfXdyaXRlUGFja2VkVmFyaW50KHQsZSl7ZS5sZW5ndGgmJnRoaXMud3JpdGVNZXNzYWdlKHQsSSxlKX13cml0ZVBhY2tlZFNWYXJpbnQodCxlKXtlLmxlbmd0aCYmdGhpcy53cml0ZU1lc3NhZ2UodCxDLGUpfXdyaXRlUGFja2VkQm9vbGVhbih0LGUpe2UubGVuZ3RoJiZ0aGlzLndyaXRlTWVzc2FnZSh0LFUsZSl9d3JpdGVQYWNrZWRGbG9hdCh0LGUpe2UubGVuZ3RoJiZ0aGlzLndyaXRlTWVzc2FnZSh0LEwsZSl9d3JpdGVQYWNrZWREb3VibGUodCxlKXtlLmxlbmd0aCYmdGhpcy53cml0ZU1lc3NhZ2UodCxBLGUpfXdyaXRlUGFja2VkRml4ZWQzMih0LGUpe2UubGVuZ3RoJiZ0aGlzLndyaXRlTWVzc2FnZSh0LHYsZSl9d3JpdGVQYWNrZWRTRml4ZWQzMih0LGUpe2UubGVuZ3RoJiZ0aGlzLndyaXRlTWVzc2FnZSh0LE4sZSl9d3JpdGVQYWNrZWRGaXhlZDY0KHQsZSl7ZS5sZW5ndGgmJnRoaXMud3JpdGVNZXNzYWdlKHQsRyxlKX13cml0ZVBhY2tlZFNGaXhlZDY0KHQsZSl7ZS5sZW5ndGgmJnRoaXMud3JpdGVNZXNzYWdlKHQsSCxlKX13cml0ZUJ5dGVzRmllbGQodCxlKXt0aGlzLndyaXRlVGFnKHQsRiksdGhpcy53cml0ZUJ5dGVzKGUpfXdyaXRlRml4ZWQzMkZpZWxkKHQsZSl7dGhpcy53cml0ZVRhZyh0LHApLHRoaXMud3JpdGVGaXhlZDMyKGUpfXdyaXRlU0ZpeGVkMzJGaWVsZCh0LGUpe3RoaXMud3JpdGVUYWcodCxwKSx0aGlzLndyaXRlU0ZpeGVkMzIoZSl9d3JpdGVGaXhlZDY0RmllbGQodCxlKXt0aGlzLndyaXRlVGFnKHQseSksdGhpcy53cml0ZUZpeGVkNjQoZSl9d3JpdGVTRml4ZWQ2NEZpZWxkKHQsZSl7dGhpcy53cml0ZVRhZyh0LHkpLHRoaXMud3JpdGVTRml4ZWQ2NChlKX13cml0ZVZhcmludEZpZWxkKHQsZSl7dGhpcy53cml0ZVRhZyh0LGcpLHRoaXMud3JpdGVWYXJpbnQoZSl9d3JpdGVTVmFyaW50RmllbGQodCxlKXt0aGlzLndyaXRlVGFnKHQsZyksdGhpcy53cml0ZVNWYXJpbnQoZSl9d3JpdGVTdHJpbmdGaWVsZCh0LGUpe3RoaXMud3JpdGVUYWcodCxGKSx0aGlzLndyaXRlU3RyaW5nKGUpfXdyaXRlRmxvYXRGaWVsZCh0LGUpe3RoaXMud3JpdGVUYWcodCxwKSx0aGlzLndyaXRlRmxvYXQoZSl9d3JpdGVEb3VibGVGaWVsZCh0LGUpe3RoaXMud3JpdGVUYWcodCx5KSx0aGlzLndyaXRlRG91YmxlKGUpfXdyaXRlQm9vbGVhbkZpZWxkKHQsZSl7dGhpcy53cml0ZVZhcmludEZpZWxkKHQsK2UpfX1mdW5jdGlvbiBFKGksdCxlKXtjb25zdCByPWUuYnVmO2xldCBzLG47aWYobj1yW2UucG9zKytdLHM9KG4mMTEyKT4+NCxuPDEyOHx8KG49cltlLnBvcysrXSxzfD0obiYxMjcpPDwzLG48MTI4KXx8KG49cltlLnBvcysrXSxzfD0obiYxMjcpPDwxMCxuPDEyOCl8fChuPXJbZS5wb3MrK10sc3w9KG4mMTI3KTw8MTcsbjwxMjgpfHwobj1yW2UucG9zKytdLHN8PShuJjEyNyk8PDI0LG48MTI4KXx8KG49cltlLnBvcysrXSxzfD0obiYxKTw8MzEsbjwxMjgpKXJldHVybiBmKGkscyx0KTt0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIHZhcmludCBub3QgbW9yZSB0aGFuIDEwIGJ5dGVzIil9ZnVuY3Rpb24gZihpLHQsZSl7cmV0dXJuIGU/dCo0Mjk0OTY3Mjk2KyhpPj4+MCk6KHQ+Pj4wKSo0Mjk0OTY3Mjk2KyhpPj4+MCl9ZnVuY3Rpb24gQihpLHQpe2xldCBlLHI7aWYoaT49MD8oZT1pJTQyOTQ5NjcyOTZ8MCxyPWkvNDI5NDk2NzI5NnwwKTooZT1+KC1pJTQyOTQ5NjcyOTYpLHI9figtaS80Mjk0OTY3Mjk2KSxlXjQyOTQ5NjcyOTU/ZT1lKzF8MDooZT0wLHI9cisxfDApKSxpPj0xODQ0Njc0NDA3MzcwOTU1MmUzfHxpPC0xODQ0Njc0NDA3MzcwOTU1MmUzKXRocm93IG5ldyBFcnJvcigiR2l2ZW4gdmFyaW50IGRvZXNuJ3QgZml0IGludG8gMTAgYnl0ZXMiKTt0LnJlYWxsb2MoMTApLFQoZSxyLHQpLEQocix0KX1mdW5jdGlvbiBUKGksdCxlKXtlLmJ1ZltlLnBvcysrXT1pJjEyN3wxMjgsaT4+Pj03LGUuYnVmW2UucG9zKytdPWkmMTI3fDEyOCxpPj4+PTcsZS5idWZbZS5wb3MrK109aSYxMjd8MTI4LGk+Pj49NyxlLmJ1ZltlLnBvcysrXT1pJjEyN3wxMjgsaT4+Pj03LGUuYnVmW2UucG9zXT1pJjEyN31mdW5jdGlvbiBEKGksdCl7Y29uc3QgZT0oaSY3KTw8NDt0LmJ1Zlt0LnBvcysrXXw9ZXwoKGk+Pj49Myk/MTI4OjApLGkmJih0LmJ1Zlt0LnBvcysrXT1pJjEyN3woKGk+Pj49Nyk/MTI4OjApLGkmJih0LmJ1Zlt0LnBvcysrXT1pJjEyN3woKGk+Pj49Nyk/MTI4OjApLGkmJih0LmJ1Zlt0LnBvcysrXT1pJjEyN3woKGk+Pj49Nyk/MTI4OjApLGkmJih0LmJ1Zlt0LnBvcysrXT1pJjEyN3woKGk+Pj49Nyk/MTI4OjApLGkmJih0LmJ1Zlt0LnBvcysrXT1pJjEyNykpKSkpfWZ1bmN0aW9uIFMoaSx0LGUpe2NvbnN0IHI9dDw9MTYzODM/MTp0PD0yMDk3MTUxPzI6dDw9MjY4NDM1NDU1PzM6TWF0aC5mbG9vcihNYXRoLmxvZyh0KS8oTWF0aC5MTjIqNykpO2UucmVhbGxvYyhyKTtmb3IobGV0IHM9ZS5wb3MtMTtzPj1pO3MtLSllLmJ1ZltzK3JdPWUuYnVmW3NdfWZ1bmN0aW9uIEkoaSx0KXtmb3IobGV0IGU9MDtlPGkubGVuZ3RoO2UrKyl0LndyaXRlVmFyaW50KGlbZV0pfWZ1bmN0aW9uIEMoaSx0KXtmb3IobGV0IGU9MDtlPGkubGVuZ3RoO2UrKyl0LndyaXRlU1ZhcmludChpW2VdKX1mdW5jdGlvbiBMKGksdCl7Zm9yKGxldCBlPTA7ZTxpLmxlbmd0aDtlKyspdC53cml0ZUZsb2F0KGlbZV0pfWZ1bmN0aW9uIEEoaSx0KXtmb3IobGV0IGU9MDtlPGkubGVuZ3RoO2UrKyl0LndyaXRlRG91YmxlKGlbZV0pfWZ1bmN0aW9uIFUoaSx0KXtmb3IobGV0IGU9MDtlPGkubGVuZ3RoO2UrKyl0LndyaXRlQm9vbGVhbihpW2VdKX1mdW5jdGlvbiB2KGksdCl7Zm9yKGxldCBlPTA7ZTxpLmxlbmd0aDtlKyspdC53cml0ZUZpeGVkMzIoaVtlXSl9ZnVuY3Rpb24gTihpLHQpe2ZvcihsZXQgZT0wO2U8aS5sZW5ndGg7ZSsrKXQud3JpdGVTRml4ZWQzMihpW2VdKX1mdW5jdGlvbiBHKGksdCl7Zm9yKGxldCBlPTA7ZTxpLmxlbmd0aDtlKyspdC53cml0ZUZpeGVkNjQoaVtlXSl9ZnVuY3Rpb24gSChpLHQpe2ZvcihsZXQgZT0wO2U8aS5sZW5ndGg7ZSsrKXQud3JpdGVTRml4ZWQ2NChpW2VdKX1mdW5jdGlvbiBSKGksdCxlKXtsZXQgcj0iIixzPXQ7Zm9yKDtzPGU7KXtjb25zdCBuPWlbc107bGV0IG89bnVsbCxoPW4+MjM5PzQ6bj4yMjM/MzpuPjE5MT8yOjE7aWYocytoPmUpYnJlYWs7bGV0IGEsZCx1O2g9PT0xP248MTI4JiYobz1uKTpoPT09Mj8oYT1pW3MrMV0sKGEmMTkyKT09PTEyOCYmKG89KG4mMzEpPDw2fGEmNjMsbzw9MTI3JiYobz1udWxsKSkpOmg9PT0zPyhhPWlbcysxXSxkPWlbcysyXSwoYSYxOTIpPT09MTI4JiYoZCYxOTIpPT09MTI4JiYobz0obiYxNSk8PDEyfChhJjYzKTw8NnxkJjYzLChvPD0yMDQ3fHxvPj01NTI5NiYmbzw9NTczNDMpJiYobz1udWxsKSkpOmg9PT00JiYoYT1pW3MrMV0sZD1pW3MrMl0sdT1pW3MrM10sKGEmMTkyKT09PTEyOCYmKGQmMTkyKT09PTEyOCYmKHUmMTkyKT09PTEyOCYmKG89KG4mMTUpPDwxOHwoYSY2Myk8PDEyfChkJjYzKTw8Nnx1JjYzLChvPD02NTUzNXx8bz49MTExNDExMikmJihvPW51bGwpKSksbz09PW51bGw/KG89NjU1MzMsaD0xKTpvPjY1NTM1JiYoby09NjU1MzYscis9U3RyaW5nLmZyb21DaGFyQ29kZShvPj4+MTAmMTAyM3w1NTI5Niksbz01NjMyMHxvJjEwMjMpLHIrPVN0cmluZy5mcm9tQ2hhckNvZGUobykscys9aH1yZXR1cm4gcn1mdW5jdGlvbiBxKGksdCxlKXtmb3IobGV0IHI9MCxzLG47cjx0Lmxlbmd0aDtyKyspe2lmKHM9dC5jaGFyQ29kZUF0KHIpLHM+NTUyOTUmJnM8NTczNDQpaWYobilpZihzPDU2MzIwKXtpW2UrK109MjM5LGlbZSsrXT0xOTEsaVtlKytdPTE4OSxuPXM7Y29udGludWV9ZWxzZSBzPW4tNTUyOTY8PDEwfHMtNTYzMjB8NjU1MzYsbj1udWxsO2Vsc2V7cz41NjMxOXx8cisxPT09dC5sZW5ndGg/KGlbZSsrXT0yMzksaVtlKytdPTE5MSxpW2UrK109MTg5KTpuPXM7Y29udGludWV9ZWxzZSBuJiYoaVtlKytdPTIzOSxpW2UrK109MTkxLGlbZSsrXT0xODksbj1udWxsKTtzPDEyOD9pW2UrK109czooczwyMDQ4P2lbZSsrXT1zPj42fDE5Mjooczw2NTUzNj9pW2UrK109cz4+MTJ8MjI0OihpW2UrK109cz4+MTh8MjQwLGlbZSsrXT1zPj4xMiY2M3wxMjgpLGlbZSsrXT1zPj42JjYzfDEyOCksaVtlKytdPXMmNjN8MTI4KX1yZXR1cm4gZX1mdW5jdGlvbiB4KGksdCl7dGhpcy54PWksdGhpcy55PXR9eC5wcm90b3R5cGU9e2Nsb25lKCl7cmV0dXJuIG5ldyB4KHRoaXMueCx0aGlzLnkpfSxhZGQoaSl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fYWRkKGkpfSxzdWIoaSl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fc3ViKGkpfSxtdWx0QnlQb2ludChpKXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9tdWx0QnlQb2ludChpKX0sZGl2QnlQb2ludChpKXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9kaXZCeVBvaW50KGkpfSxtdWx0KGkpe3JldHVybiB0aGlzLmNsb25lKCkuX211bHQoaSl9LGRpdihpKXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9kaXYoaSl9LHJvdGF0ZShpKXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9yb3RhdGUoaSl9LHJvdGF0ZUFyb3VuZChpLHQpe3JldHVybiB0aGlzLmNsb25lKCkuX3JvdGF0ZUFyb3VuZChpLHQpfSxtYXRNdWx0KGkpe3JldHVybiB0aGlzLmNsb25lKCkuX21hdE11bHQoaSl9LHVuaXQoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLl91bml0KCl9LHBlcnAoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9wZXJwKCl9LHJvdW5kKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fcm91bmQoKX0sbWFnKCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLngqdGhpcy54K3RoaXMueSp0aGlzLnkpfSxlcXVhbHMoaSl7cmV0dXJuIHRoaXMueD09PWkueCYmdGhpcy55PT09aS55fSxkaXN0KGkpe3JldHVybiBNYXRoLnNxcnQodGhpcy5kaXN0U3FyKGkpKX0sZGlzdFNxcihpKXtjb25zdCB0PWkueC10aGlzLngsZT1pLnktdGhpcy55O3JldHVybiB0KnQrZSplfSxhbmdsZSgpe3JldHVybiBNYXRoLmF0YW4yKHRoaXMueSx0aGlzLngpfSxhbmdsZVRvKGkpe3JldHVybiBNYXRoLmF0YW4yKHRoaXMueS1pLnksdGhpcy54LWkueCl9LGFuZ2xlV2l0aChpKXtyZXR1cm4gdGhpcy5hbmdsZVdpdGhTZXAoaS54LGkueSl9LGFuZ2xlV2l0aFNlcChpLHQpe3JldHVybiBNYXRoLmF0YW4yKHRoaXMueCp0LXRoaXMueSppLHRoaXMueCppK3RoaXMueSp0KX0sX21hdE11bHQoaSl7Y29uc3QgdD1pWzBdKnRoaXMueCtpWzFdKnRoaXMueSxlPWlbMl0qdGhpcy54K2lbM10qdGhpcy55O3JldHVybiB0aGlzLng9dCx0aGlzLnk9ZSx0aGlzfSxfYWRkKGkpe3JldHVybiB0aGlzLngrPWkueCx0aGlzLnkrPWkueSx0aGlzfSxfc3ViKGkpe3JldHVybiB0aGlzLngtPWkueCx0aGlzLnktPWkueSx0aGlzfSxfbXVsdChpKXtyZXR1cm4gdGhpcy54Kj1pLHRoaXMueSo9aSx0aGlzfSxfZGl2KGkpe3JldHVybiB0aGlzLngvPWksdGhpcy55Lz1pLHRoaXN9LF9tdWx0QnlQb2ludChpKXtyZXR1cm4gdGhpcy54Kj1pLngsdGhpcy55Kj1pLnksdGhpc30sX2RpdkJ5UG9pbnQoaSl7cmV0dXJuIHRoaXMueC89aS54LHRoaXMueS89aS55LHRoaXN9LF91bml0KCl7cmV0dXJuIHRoaXMuX2Rpdih0aGlzLm1hZygpKSx0aGlzfSxfcGVycCgpe2NvbnN0IGk9dGhpcy55O3JldHVybiB0aGlzLnk9dGhpcy54LHRoaXMueD0taSx0aGlzfSxfcm90YXRlKGkpe2NvbnN0IHQ9TWF0aC5jb3MoaSksZT1NYXRoLnNpbihpKSxyPXQqdGhpcy54LWUqdGhpcy55LHM9ZSp0aGlzLngrdCp0aGlzLnk7cmV0dXJuIHRoaXMueD1yLHRoaXMueT1zLHRoaXN9LF9yb3RhdGVBcm91bmQoaSx0KXtjb25zdCBlPU1hdGguY29zKGkpLHI9TWF0aC5zaW4oaSkscz10LngrZSoodGhpcy54LXQueCktcioodGhpcy55LXQueSksbj10LnkrcioodGhpcy54LXQueCkrZSoodGhpcy55LXQueSk7cmV0dXJuIHRoaXMueD1zLHRoaXMueT1uLHRoaXN9LF9yb3VuZCgpe3JldHVybiB0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpLHRoaXMueT1NYXRoLnJvdW5kKHRoaXMueSksdGhpc30sY29uc3RydWN0b3I6eH0seC5jb252ZXJ0PWZ1bmN0aW9uKGkpe2lmKGkgaW5zdGFuY2VvZiB4KXJldHVybiBpO2lmKEFycmF5LmlzQXJyYXkoaSkpcmV0dXJuIG5ldyB4KCtpWzBdLCtpWzFdKTtpZihpLnghPT12b2lkIDAmJmkueSE9PXZvaWQgMClyZXR1cm4gbmV3IHgoK2kueCwraS55KTt0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIFt4LCB5XSBvciB7eCwgeX0gcG9pbnQgZm9ybWF0Iil9O2NsYXNzIGt7Y29uc3RydWN0b3IodCxlLHIscyxuKXt0aGlzLnByb3BlcnRpZXM9e30sdGhpcy5leHRlbnQ9cix0aGlzLnR5cGU9MCx0aGlzLmlkPXZvaWQgMCx0aGlzLl9wYmY9dCx0aGlzLl9nZW9tZXRyeT0tMSx0aGlzLl9rZXlzPXMsdGhpcy5fdmFsdWVzPW4sdC5yZWFkRmllbGRzKGosdGhpcyxlKX1sb2FkR2VvbWV0cnkoKXtjb25zdCB0PXRoaXMuX3BiZjt0LnBvcz10aGlzLl9nZW9tZXRyeTtjb25zdCBlPXQucmVhZFZhcmludCgpK3QucG9zLHI9W107bGV0IHMsbj0xLG89MCxoPTAsYT0wO2Zvcig7dC5wb3M8ZTspe2lmKG88PTApe2NvbnN0IGQ9dC5yZWFkVmFyaW50KCk7bj1kJjcsbz1kPj4zfWlmKG8tLSxuPT09MXx8bj09PTIpaCs9dC5yZWFkU1ZhcmludCgpLGErPXQucmVhZFNWYXJpbnQoKSxuPT09MSYmKHMmJnIucHVzaChzKSxzPVtdKSxzJiZzLnB1c2gobmV3IHgoaCxhKSk7ZWxzZSBpZihuPT09NylzJiZzLnB1c2goc1swXS5jbG9uZSgpKTtlbHNlIHRocm93IG5ldyBFcnJvcihgdW5rbm93biBjb21tYW5kICR7bn1gKX1yZXR1cm4gcyYmci5wdXNoKHMpLHJ9YmJveCgpe2NvbnN0IHQ9dGhpcy5fcGJmO3QucG9zPXRoaXMuX2dlb21ldHJ5O2NvbnN0IGU9dC5yZWFkVmFyaW50KCkrdC5wb3M7bGV0IHI9MSxzPTAsbj0wLG89MCxoPTEvMCxhPS0xLzAsZD0xLzAsdT0tMS8wO2Zvcig7dC5wb3M8ZTspe2lmKHM8PTApe2NvbnN0IHc9dC5yZWFkVmFyaW50KCk7cj13Jjcscz13Pj4zfWlmKHMtLSxyPT09MXx8cj09PTIpbis9dC5yZWFkU1ZhcmludCgpLG8rPXQucmVhZFNWYXJpbnQoKSxuPGgmJihoPW4pLG4+YSYmKGE9biksbzxkJiYoZD1vKSxvPnUmJih1PW8pO2Vsc2UgaWYociE9PTcpdGhyb3cgbmV3IEVycm9yKGB1bmtub3duIGNvbW1hbmQgJHtyfWApfXJldHVybltoLGQsYSx1XX10b0dlb0pTT04odCxlLHIpe2NvbnN0IHM9dGhpcy5leHRlbnQqTWF0aC5wb3coMixyKSxuPXRoaXMuZXh0ZW50KnQsbz10aGlzLmV4dGVudCplLGg9dGhpcy5sb2FkR2VvbWV0cnkoKTtmdW5jdGlvbiBhKGwpe3JldHVyblsobC54K24pKjM2MC9zLTE4MCwzNjAvTWF0aC5QSSpNYXRoLmF0YW4oTWF0aC5leHAoKDEtKGwueStvKSoyL3MpKk1hdGguUEkpKS05MF19ZnVuY3Rpb24gZChsKXtyZXR1cm4gbC5tYXAoYSl9bGV0IHU7aWYodGhpcy50eXBlPT09MSl7Y29uc3QgbD1bXTtmb3IoY29uc3QgViBvZiBoKWwucHVzaChWWzBdKTtjb25zdCBjPWQobCk7dT1sLmxlbmd0aD09PTE/e3R5cGU6IlBvaW50Iixjb29yZGluYXRlczpjWzBdfTp7dHlwZToiTXVsdGlQb2ludCIsY29vcmRpbmF0ZXM6Y319ZWxzZSBpZih0aGlzLnR5cGU9PT0yKXtjb25zdCBsPWgubWFwKGQpO3U9bC5sZW5ndGg9PT0xP3t0eXBlOiJMaW5lU3RyaW5nIixjb29yZGluYXRlczpsWzBdfTp7dHlwZToiTXVsdGlMaW5lU3RyaW5nIixjb29yZGluYXRlczpsfX1lbHNlIGlmKHRoaXMudHlwZT09PTMpe2NvbnN0IGw9VyhoKSxjPVtdO2Zvcihjb25zdCBWIG9mIGwpYy5wdXNoKFYubWFwKGQpKTt1PWMubGVuZ3RoPT09MT97dHlwZToiUG9seWdvbiIsY29vcmRpbmF0ZXM6Y1swXX06e3R5cGU6Ik11bHRpUG9seWdvbiIsY29vcmRpbmF0ZXM6Y319ZWxzZSB0aHJvdyBuZXcgRXJyb3IoInVua25vd24gZmVhdHVyZSB0eXBlIik7Y29uc3Qgdz17dHlwZToiRmVhdHVyZSIsZ2VvbWV0cnk6dSxwcm9wZXJ0aWVzOnRoaXMucHJvcGVydGllc307cmV0dXJuIHRoaXMuaWQhPW51bGwmJih3LmlkPXRoaXMuaWQpLHd9fWsudHlwZXM9WyJVbmtub3duIiwiUG9pbnQiLCJMaW5lU3RyaW5nIiwiUG9seWdvbiJdO2Z1bmN0aW9uIGooaSx0LGUpe2k9PT0xP3QuaWQ9ZS5yZWFkVmFyaW50KCk6aT09PTI/TyhlLHQpOmk9PT0zP3QudHlwZT1lLnJlYWRWYXJpbnQoKTppPT09NCYmKHQuX2dlb21ldHJ5PWUucG9zKX1mdW5jdGlvbiBPKGksdCl7Y29uc3QgZT1pLnJlYWRWYXJpbnQoKStpLnBvcztmb3IoO2kucG9zPGU7KXtjb25zdCByPXQuX2tleXNbaS5yZWFkVmFyaW50KCldLHM9dC5fdmFsdWVzW2kucmVhZFZhcmludCgpXTt0LnByb3BlcnRpZXNbcl09c319ZnVuY3Rpb24gVyhpKXtjb25zdCB0PWkubGVuZ3RoO2lmKHQ8PTEpcmV0dXJuW2ldO2NvbnN0IGU9W107bGV0IHIscztmb3IobGV0IG49MDtuPHQ7bisrKXtjb25zdCBvPUooaVtuXSk7byE9PTAmJihzPT09dm9pZCAwJiYocz1vPDApLHM9PT1vPDA/KHImJmUucHVzaChyKSxyPVtpW25dXSk6ciYmci5wdXNoKGlbbl0pKX1yZXR1cm4gciYmZS5wdXNoKHIpLGV9ZnVuY3Rpb24gSihpKXtsZXQgdD0wO2ZvcihsZXQgZT0wLHI9aS5sZW5ndGgscz1yLTEsbixvO2U8cjtzPWUrKyluPWlbZV0sbz1pW3NdLHQrPShvLngtbi54KSoobi55K28ueSk7cmV0dXJuIHR9Y2xhc3MgWHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMudmVyc2lvbj0xLHRoaXMubmFtZT0iIix0aGlzLmV4dGVudD00MDk2LHRoaXMubGVuZ3RoPTAsdGhpcy5fcGJmPXQsdGhpcy5fa2V5cz1bXSx0aGlzLl92YWx1ZXM9W10sdGhpcy5fZmVhdHVyZXM9W10sdC5yZWFkRmllbGRzKCQsdGhpcyxlKSx0aGlzLmxlbmd0aD10aGlzLl9mZWF0dXJlcy5sZW5ndGh9ZmVhdHVyZSh0KXtpZih0PDB8fHQ+PXRoaXMuX2ZlYXR1cmVzLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImZlYXR1cmUgaW5kZXggb3V0IG9mIGJvdW5kcyIpO3RoaXMuX3BiZi5wb3M9dGhpcy5fZmVhdHVyZXNbdF07Y29uc3QgZT10aGlzLl9wYmYucmVhZFZhcmludCgpK3RoaXMuX3BiZi5wb3M7cmV0dXJuIG5ldyBrKHRoaXMuX3BiZixlLHRoaXMuZXh0ZW50LHRoaXMuX2tleXMsdGhpcy5fdmFsdWVzKX19ZnVuY3Rpb24gJChpLHQsZSl7aT09PTE1P3QudmVyc2lvbj1lLnJlYWRWYXJpbnQoKTppPT09MT90Lm5hbWU9ZS5yZWFkU3RyaW5nKCk6aT09PTU/dC5leHRlbnQ9ZS5yZWFkVmFyaW50KCk6aT09PTI/dC5fZmVhdHVyZXMucHVzaChlLnBvcyk6aT09PTM/dC5fa2V5cy5wdXNoKGUucmVhZFN0cmluZygpKTppPT09NCYmdC5fdmFsdWVzLnB1c2goYihlKSl9ZnVuY3Rpb24gYihpKXtsZXQgdD1udWxsO2NvbnN0IGU9aS5yZWFkVmFyaW50KCkraS5wb3M7Zm9yKDtpLnBvczxlOyl7Y29uc3Qgcj1pLnJlYWRWYXJpbnQoKT4+Mzt0PXI9PT0xP2kucmVhZFN0cmluZygpOnI9PT0yP2kucmVhZEZsb2F0KCk6cj09PTM/aS5yZWFkRG91YmxlKCk6cj09PTQ/aS5yZWFkVmFyaW50NjQoKTpyPT09NT9pLnJlYWRWYXJpbnQoKTpyPT09Nj9pLnJlYWRTVmFyaW50KCk6cj09PTc/aS5yZWFkQm9vbGVhbigpOm51bGx9aWYodD09bnVsbCl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gZmVhdHVyZSB2YWx1ZSIpO3JldHVybiB0fWNsYXNzIHp7Y29uc3RydWN0b3IodCxlKXt0aGlzLmxheWVycz10LnJlYWRGaWVsZHMoWSx7fSxlKX19ZnVuY3Rpb24gWShpLHQsZSl7aWYoaT09PTMpe2NvbnN0IHI9bmV3IFgoZSxlLnJlYWRWYXJpbnQoKStlLnBvcyk7ci5sZW5ndGgmJih0W3IubmFtZV09cil9fWFzeW5jIGZ1bmN0aW9uIEsoaSx0LGUscil7dHJ5e2NvbnN0IHM9UShpLHQsZSxyKTtyZXR1cm57eDp0LHk6ZSx6OnIsbGF5ZXJzOnMsdGltZXN0YW1wOkRhdGUubm93KCksZGF0YUZvcm1hdDoibXZ0In19Y2F0Y2gocyl7dGhyb3cgY29uc29sZS5lcnJvcigi6Kej5p6Q55+i6YeP55Om54mH5pWw5o2u5pe25Ye66ZSZOiIscyksc319ZnVuY3Rpb24gUShpLHQsZSxyKXtjb25zdCBzPW5ldyBNKGkpLG49bmV3IHoocyksbz17fTtmb3IoY29uc3QgaCBpbiBuLmxheWVycyl7Y29uc3QgYT1uLmxheWVyc1toXSxkPVtdO2ZvcihsZXQgdT0wO3U8YS5sZW5ndGg7dSsrKXtjb25zdCBsPWEuZmVhdHVyZSh1KS50b0dlb0pTT04odCxlLHIpO2QucHVzaChsKX1vW2hdPWR9cmV0dXJuIG99c2VsZi5vbm1lc3NhZ2U9YXN5bmMgaT0+e2NvbnN0IHQ9aS5kYXRhO3RyeXtjb25zdCBlPWF3YWl0IEsodC5hcnJheUJ1ZmZlcix0LngsdC55LHQueik7c2VsZi5wb3N0TWVzc2FnZShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKCJXb3JrZXIgTVZUIOino+aekOWksei0pToiLGUpLHNlbGYucG9zdE1lc3NhZ2Uoe2Vycm9yOmUubWVzc2FnZX0pfX19KSgpOwo=", pT = (a) => Uint8Array.from(atob(a), (t) => t.charCodeAt(0)), Rh = typeof self < "u" && self.Blob && new Blob([pT(kd)], { type: "text/javascript;charset=utf-8" });
18688
18688
  function mT(a) {
18689
18689
  let t;
@@ -18773,7 +18773,7 @@ class yT {
18773
18773
  * 创建包含矢量数据的几何体 (保持不变)
18774
18774
  */
18775
18775
  createGeometryWithVectorData(t, e) {
18776
- const n = new Ei();
18776
+ const n = new Vi();
18777
18777
  return n.userData = {
18778
18778
  vectorData: t,
18779
18779
  tileInfo: {
@@ -18793,7 +18793,7 @@ class yT {
18793
18793
  * 创建错误几何体 (保持不变)
18794
18794
  */
18795
18795
  createErrorGeometry(t, e, n, r) {
18796
- const s = new Ei();
18796
+ const s = new Vi();
18797
18797
  return s.userData = {
18798
18798
  vectorData: {
18799
18799
  x: t,
@@ -19116,7 +19116,7 @@ let $r = class zd extends gl(
19116
19116
  /** 加载钩子函数数组 */
19117
19117
  //@ts-ignore
19118
19118
  M(this, "_onLoadHooks");
19119
- this.tilemap = this.initTileMap(l.basemap), this.center = this.options.center, this.viewer = new Ex(e, { ...l.viewer, map: this }), this.tilemap.receiveShadow = !0, this.viewer.scene.add(this.tilemap);
19119
+ this.tilemap = this.initTileMap(l.basemap), this.center = this.options.center, this.viewer = new Vx(e, { ...l.viewer, map: this }), this.tilemap.receiveShadow = !0, this.viewer.scene.add(this.tilemap);
19120
19120
  const c = this.tilemap.geo2world(new J(this.center[0], this.center[1], 0)), u = this.tilemap.geo2world(new J(this.center[0], this.center[1] - 0.03, this.center[2] || 1e3));
19121
19121
  this.prjcenter = c, console.log(c, "centerPostion"), this.viewer.camera.position.copy(u), this.viewer.camera.lookAt(c), this.viewer.controls.target.copy(c), this._layerContainer = new xb(), this.viewer.scene.add(this._layerContainer), this.collisionEngine = new Db(this.viewer.renderer, {
19122
19122
  padding: 8,
@@ -19317,18 +19317,22 @@ let $r = class zd extends gl(
19317
19317
  _findFeaturesAt(e) {
19318
19318
  const n = this, r = n.getRenderer(), s = n.getCamera(), l = r.domElement.getBoundingClientRect(), c = e.x / l.width * 2 - 1, u = -(e.y / l.height) * 2 + 1, d = new ul();
19319
19319
  d.setFromCamera(new Ie(c, u), s);
19320
- const p = n.getLayers().filter((y) => !y?.isSceneLayer), f = d.intersectObjects(p, !0);
19321
- return f.find((y) => {
19322
- let w = y.object.parent;
19323
- return w?.parent?._type === "Model" && (w = w.parent), !(w instanceof rr);
19324
- }) ? [] : f.sort((y, w) => y.distance - w.distance).map((y) => {
19325
- let w = y.object.parent;
19326
- return w?.parent?._type === "Model" && (w = w.parent), {
19327
- feature: w,
19320
+ const p = n.getLayers().filter((y) => !y?.isSceneLayer), g = d.intersectObjects(p, !0).map((y) => {
19321
+ let w = y.object, T = null;
19322
+ for (; w; ) {
19323
+ if (w instanceof rr) {
19324
+ T = w;
19325
+ break;
19326
+ }
19327
+ w = w.parent;
19328
+ }
19329
+ return T ? {
19330
+ feature: T,
19328
19331
  distance: y.distance,
19329
19332
  object: y.object
19330
- };
19331
- });
19333
+ } : null;
19334
+ }).filter((y) => !!y);
19335
+ return g.length ? g.sort((y, w) => y.distance - w.distance) : [];
19332
19336
  }
19333
19337
  /**
19334
19338
  * 获取当前地图中心点(经纬度)
@@ -19460,7 +19464,7 @@ class TT extends fd {
19460
19464
  * @returns
19461
19465
  */
19462
19466
  M(this, "_eventCommon", (e) => {
19463
- e.type === "click" && Date.now() - this._mouseDownTime > 300 || this._handleEvent(e, e.type);
19467
+ (e.type === "mousedown" || e.type === "touchstart") && (this._mouseDownTime = Date.now()), !(e.type === "click" && Date.now() - this._mouseDownTime > 300) && this._handleEvent(e, e.type);
19464
19468
  });
19465
19469
  }
19466
19470
  addHooks() {
@@ -19481,7 +19485,8 @@ class TT extends fd {
19481
19485
  */
19482
19486
  _handleEvent(e, n) {
19483
19487
  const r = this.target;
19484
- if (this._shouldIgnoreEvent()) return;
19488
+ if (this._shouldIgnoreEvent() || (n === "mousemove" || n === "mouseenter" || n === "mouseleave" || n === "mouseover" || n === "mouseout" || n === "touchmove") && !r.getLayers().some((d) => !d.isSceneLayer && d._feaList?.length > 0))
19489
+ return;
19485
19490
  const s = r._getEventPosition(e);
19486
19491
  if (!s) return;
19487
19492
  const l = r._findFeaturesAt(s);
@@ -19491,8 +19496,24 @@ class TT extends fd {
19491
19496
  case "click":
19492
19497
  this._handleClickEvent(c, e);
19493
19498
  break;
19499
+ case "mousemove":
19500
+ case "mouseenter":
19501
+ case "mouseleave":
19502
+ case "mouseover":
19503
+ case "mouseout":
19504
+ case "touchmove":
19505
+ this.handleMoveEvent(c, e);
19506
+ break;
19494
19507
  default:
19495
- c && this._fireFeatureEvent(c, n, e);
19508
+ if (c) {
19509
+ this._fireFeatureEvent(c, n, e);
19510
+ const u = c.getLayer();
19511
+ u && u.trigger("feature" + n, {
19512
+ feature: c,
19513
+ domEvent: e,
19514
+ type: "feature" + n
19515
+ });
19516
+ }
19496
19517
  }
19497
19518
  }
19498
19519
  /**
@@ -19529,19 +19550,32 @@ class TT extends fd {
19529
19550
  */
19530
19551
  _fireFeatureEvent(e, n, r) {
19531
19552
  const s = this.target;
19532
- let l = Dd(r, s.tilemap, s.viewer.camera);
19533
- if (!l) return;
19534
- let c = [l.x, l.y, l.z], u = {
19553
+ let l = r, c, u;
19554
+ if ("touches" in r) {
19555
+ const g = r.touches[0] || r.changedTouches[0];
19556
+ if (!g) return;
19557
+ l = {
19558
+ currentTarget: r.currentTarget,
19559
+ clientX: g.clientX,
19560
+ clientY: g.clientY
19561
+ }, c = g.screenX, u = g.screenY;
19562
+ } else {
19563
+ const g = r;
19564
+ l = g, c = g.screenX, u = g.screenY;
19565
+ }
19566
+ const d = Dd(l, s.tilemap, s.viewer.camera);
19567
+ if (!d) return;
19568
+ const p = [d.x, d.y, d.z], f = {
19535
19569
  target: e,
19536
19570
  originEvent: r,
19537
- coordinate: c,
19571
+ coordinate: p,
19538
19572
  eventName: n,
19539
19573
  screenXY: {
19540
- X: r.screenX,
19541
- Y: r.screenY
19574
+ X: c,
19575
+ Y: u
19542
19576
  }
19543
19577
  };
19544
- e.trigger(n, u);
19578
+ e.trigger(n, f);
19545
19579
  }
19546
19580
  // ============== 工具方法 ==============
19547
19581
  /**
@@ -20063,7 +20097,7 @@ export {
20063
20097
  i_ as TPoints,
20064
20098
  Rn as Tile,
20065
20099
  CT as TileCanvasLoader,
20066
- Ei as TileGeometry,
20100
+ Vi as TileGeometry,
20067
20101
  Rd as TileGeometryLoader,
20068
20102
  wl as TileLoader,
20069
20103
  o_ as TileLoadingManager,
@@ -20074,11 +20108,11 @@ export {
20074
20108
  lt as VectorFeatureTypes,
20075
20109
  vT as VectorTileLayer,
20076
20110
  y_ as VectorTileRender,
20077
- Ex as Viewer,
20111
+ Vx as Viewer,
20078
20112
  zT as WMTSSource,
20079
20113
  JT as WMTSTileLayer,
20080
20114
  c_ as addSkirt,
20081
- VT as author,
20115
+ ET as author,
20082
20116
  Os as concatenateTypedArrays,
20083
20117
  PT as convertGeometryToWGS84,
20084
20118
  ZT as createBillboards,
@@ -20090,10 +20124,10 @@ export {
20090
20124
  mh as getLocalInfoFromWorld,
20091
20125
  Id as getNormals,
20092
20126
  Zd as getSafeTileUrlAndBounds,
20093
- Vd as registerDEMLoader,
20094
- Ed as registerImgLoader,
20127
+ Ed as registerDEMLoader,
20128
+ Vd as registerImgLoader,
20095
20129
  __ as registerMeshLoader,
20096
20130
  Sh as vector2ToWGS84,
20097
- ET as version,
20131
+ VT as version,
20098
20132
  AT as waitFor
20099
20133
  };