quake2ts 0.0.553 → 0.0.557

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.
@@ -426,8 +426,8 @@ function lengthVec3(a) {
426
426
  return Math.sqrt(lengthSquaredVec3(a));
427
427
  }
428
428
  function normalizeVec3(a) {
429
- const len = lengthVec3(a);
430
- return len === 0 ? a : scaleVec3(a, 1 / len);
429
+ const len2 = lengthVec3(a);
430
+ return len2 === 0 ? a : scaleVec3(a, 1 / len2);
431
431
  }
432
432
  var DEG2RAD_FACTOR = Math.PI / 180;
433
433
  var RAD2DEG_FACTOR = 180 / Math.PI;
@@ -1033,26 +1033,26 @@ var BinaryStream = class {
1033
1033
  return value;
1034
1034
  }
1035
1035
  readString() {
1036
- let str = "";
1036
+ let str3 = "";
1037
1037
  while (this.offset < this.length) {
1038
1038
  const charCode = this.readChar();
1039
1039
  if (charCode === -1 || charCode === 0) {
1040
1040
  break;
1041
1041
  }
1042
- str += String.fromCharCode(charCode);
1042
+ str3 += String.fromCharCode(charCode);
1043
1043
  }
1044
- return str;
1044
+ return str3;
1045
1045
  }
1046
1046
  readStringLine() {
1047
- let str = "";
1047
+ let str3 = "";
1048
1048
  while (this.offset < this.length) {
1049
1049
  const charCode = this.readChar();
1050
1050
  if (charCode === -1 || charCode === 0 || charCode === 10) {
1051
1051
  break;
1052
1052
  }
1053
- str += String.fromCharCode(charCode);
1053
+ str3 += String.fromCharCode(charCode);
1054
1054
  }
1055
- return str;
1055
+ return str3;
1056
1056
  }
1057
1057
  readCoord() {
1058
1058
  return this.readShort() * (1 / 8);
@@ -1063,12 +1063,12 @@ var BinaryStream = class {
1063
1063
  readAngle16() {
1064
1064
  return this.readShort() * 360 / 65536;
1065
1065
  }
1066
- readData(length) {
1067
- if (this.offset + length > this.length) {
1068
- throw new Error(`Read out of bounds: ${this.offset + length} (length: ${this.length})`);
1066
+ readData(length2) {
1067
+ if (this.offset + length2 > this.length) {
1068
+ throw new Error(`Read out of bounds: ${this.offset + length2} (length: ${this.length})`);
1069
1069
  }
1070
- const data = new Uint8Array(this.view.buffer, this.view.byteOffset + this.offset, length);
1071
- this.offset += length;
1070
+ const data = new Uint8Array(this.view.buffer, this.view.byteOffset + this.offset, length2);
1071
+ this.offset += length2;
1072
1072
  return new Uint8Array(data);
1073
1073
  }
1074
1074
  readPos(out) {
@@ -1145,13 +1145,13 @@ var BinaryWriter = class {
1145
1145
  this.offset += 4;
1146
1146
  }
1147
1147
  writeString(value) {
1148
- const len = value.length;
1149
- this.ensureSpace(len + 1);
1150
- for (let i = 0; i < len; i++) {
1148
+ const len2 = value.length;
1149
+ this.ensureSpace(len2 + 1);
1150
+ for (let i = 0; i < len2; i++) {
1151
1151
  this.view.setUint8(this.offset + i, value.charCodeAt(i));
1152
1152
  }
1153
- this.view.setUint8(this.offset + len, 0);
1154
- this.offset += len + 1;
1153
+ this.view.setUint8(this.offset + len2, 0);
1154
+ this.offset += len2 + 1;
1155
1155
  }
1156
1156
  writeCoord(value) {
1157
1157
  this.writeShort(Math.trunc(value * 8));
@@ -1176,9 +1176,9 @@ var BinaryWriter = class {
1176
1176
  }
1177
1177
  for (let i = 0; i < ANORMS.length; i++) {
1178
1178
  const norm = ANORMS[i];
1179
- const dot = dir.x * norm[0] + dir.y * norm[1] + dir.z * norm[2];
1180
- if (dot > maxDot) {
1181
- maxDot = dot;
1179
+ const dot2 = dir.x * norm[0] + dir.y * norm[1] + dir.z * norm[2];
1180
+ if (dot2 > maxDot) {
1181
+ maxDot = dot2;
1182
1182
  bestIndex = i;
1183
1183
  }
1184
1184
  }
@@ -1459,12 +1459,12 @@ var _NetChan = class _NetChan2 {
1459
1459
  * Writes a string to the reliable message buffer
1460
1460
  */
1461
1461
  writeReliableString(value) {
1462
- const len = value.length + 1;
1463
- if (this.reliableLength + len > _NetChan2.MAX_RELIABLE_BUFFER) {
1462
+ const len2 = value.length + 1;
1463
+ if (this.reliableLength + len2 > _NetChan2.MAX_RELIABLE_BUFFER) {
1464
1464
  throw new Error("NetChan reliable buffer overflow");
1465
1465
  }
1466
1466
  this.reliableMessage.writeString(value);
1467
- this.reliableLength += len;
1467
+ this.reliableLength += len2;
1468
1468
  }
1469
1469
  /**
1470
1470
  * Returns the current reliable data buffer
@@ -2821,9 +2821,9 @@ var BspLoader = class {
2821
2821
  }
2822
2822
  async load(path) {
2823
2823
  const buffer = await this.vfs.readFile(path);
2824
- const copy = new Uint8Array(buffer.byteLength);
2825
- copy.set(buffer);
2826
- return parseBsp(copy.buffer);
2824
+ const copy3 = new Uint8Array(buffer.byteLength);
2825
+ copy3.set(buffer);
2826
+ return parseBsp(copy3.buffer);
2827
2827
  }
2828
2828
  };
2829
2829
  function parseBsp(buffer) {
@@ -2842,11 +2842,11 @@ function parseBsp(buffer) {
2842
2842
  const lumps = /* @__PURE__ */ new Map();
2843
2843
  for (let i = 0; i < HEADER_LUMPS; i += 1) {
2844
2844
  const offset = view.getInt32(8 + i * 8, true);
2845
- const length = view.getInt32(12 + i * 8, true);
2846
- if (offset < 0 || length < 0 || offset + length > buffer.byteLength) {
2845
+ const length2 = view.getInt32(12 + i * 8, true);
2846
+ if (offset < 0 || length2 < 0 || offset + length2 > buffer.byteLength) {
2847
2847
  throw new BspParseError(`Invalid lump bounds for index ${i}`);
2848
2848
  }
2849
- lumps.set(i, { offset, length });
2849
+ lumps.set(i, { offset, length: length2 });
2850
2850
  }
2851
2851
  const header = { version, lumps };
2852
2852
  const entities = parseEntities(buffer, lumps.get(0 /* Entities */));
@@ -2896,10 +2896,10 @@ function parseBsp(buffer) {
2896
2896
  continue;
2897
2897
  }
2898
2898
  const model = models[modelIndex];
2899
- const dist = intersectRayAabb(ray.origin, ray.direction, model.mins, model.maxs);
2900
- if (dist !== null && dist < minDistance) {
2901
- minDistance = dist;
2902
- closest = { entity, model, distance: dist };
2899
+ const dist2 = intersectRayAabb(ray.origin, ray.direction, model.mins, model.maxs);
2900
+ if (dist2 !== null && dist2 < minDistance) {
2901
+ minDistance = dist2;
2902
+ closest = { entity, model, distance: dist2 };
2903
2903
  }
2904
2904
  }
2905
2905
  return closest;
@@ -2977,9 +2977,9 @@ function parsePlanes(buffer, info) {
2977
2977
  const planes = [];
2978
2978
  for (let i = 0; i < count; i += 1) {
2979
2979
  const normal = [view.getFloat32(i * 20, true), view.getFloat32(i * 20 + 4, true), view.getFloat32(i * 20 + 8, true)];
2980
- const dist = view.getFloat32(i * 20 + 12, true);
2980
+ const dist2 = view.getFloat32(i * 20 + 12, true);
2981
2981
  const type = view.getInt32(i * 20 + 16, true);
2982
- planes.push({ normal, dist, type });
2982
+ planes.push({ normal, dist: dist2, type });
2983
2983
  }
2984
2984
  return planes;
2985
2985
  }
@@ -3270,11 +3270,11 @@ function createFaceLightmap(face, lightMaps, info) {
3270
3270
  return void 0;
3271
3271
  }
3272
3272
  const available = lightMaps.byteLength - face.lightOffset;
3273
- const length = Math.min(info?.length ?? available, available);
3274
- if (length <= 0) {
3273
+ const length2 = Math.min(info?.length ?? available, available);
3274
+ if (length2 <= 0) {
3275
3275
  return void 0;
3276
3276
  }
3277
- return lightMaps.subarray(face.lightOffset, face.lightOffset + length);
3277
+ return lightMaps.subarray(face.lightOffset, face.lightOffset + length2);
3278
3278
  }
3279
3279
 
3280
3280
  // src/assets/md2.ts
@@ -3457,9 +3457,9 @@ var Md2Loader = class {
3457
3457
  return this.cache.get(path);
3458
3458
  }
3459
3459
  const bytes = await this.vfs.readFile(path);
3460
- const copy = new Uint8Array(bytes.byteLength);
3461
- copy.set(bytes);
3462
- const model = parseMd2(copy.buffer);
3460
+ const copy3 = new Uint8Array(bytes.byteLength);
3461
+ copy3.set(bytes);
3462
+ const model = parseMd2(copy3.buffer);
3463
3463
  this.cache.set(path, model);
3464
3464
  return model;
3465
3465
  }
@@ -3476,9 +3476,9 @@ function readCString2(view, offset, maxLength) {
3476
3476
  }
3477
3477
  return String.fromCharCode(...chars);
3478
3478
  }
3479
- function validateSection(buffer, offset, length, label) {
3480
- if (length === 0) return;
3481
- if (offset < HEADER_SIZE4 || offset + length > buffer.byteLength) {
3479
+ function validateSection(buffer, offset, length2, label) {
3480
+ if (length2 === 0) return;
3481
+ if (offset < HEADER_SIZE4 || offset + length2 > buffer.byteLength) {
3482
3482
  throw new Md2ParseError(`${label} section is out of bounds`);
3483
3483
  }
3484
3484
  }
@@ -3576,8 +3576,8 @@ function parseFrames(buffer, header) {
3576
3576
  for (let i = 0; i < header.numFrames; i += 1) {
3577
3577
  const base = header.offsetFrames + i * header.frameSize;
3578
3578
  const view = new DataView(buffer, base, header.frameSize);
3579
- const scale = { x: view.getFloat32(0, true), y: view.getFloat32(4, true), z: view.getFloat32(8, true) };
3580
- const translate = {
3579
+ const scale3 = { x: view.getFloat32(0, true), y: view.getFloat32(4, true), z: view.getFloat32(8, true) };
3580
+ const translate2 = {
3581
3581
  x: view.getFloat32(12, true),
3582
3582
  y: view.getFloat32(16, true),
3583
3583
  z: view.getFloat32(20, true)
@@ -3588,9 +3588,9 @@ function parseFrames(buffer, header) {
3588
3588
  let maxX = -Infinity, maxY = -Infinity, maxZ = -Infinity;
3589
3589
  for (let v = 0; v < header.numVertices; v += 1) {
3590
3590
  const offset = 40 + v * 4;
3591
- const x = view.getUint8(offset) * scale.x + translate.x;
3592
- const y = view.getUint8(offset + 1) * scale.y + translate.y;
3593
- const z = view.getUint8(offset + 2) * scale.z + translate.z;
3591
+ const x = view.getUint8(offset) * scale3.x + translate2.x;
3592
+ const y = view.getUint8(offset + 1) * scale3.y + translate2.y;
3593
+ const z = view.getUint8(offset + 2) * scale3.z + translate2.z;
3594
3594
  if (x < minX) minX = x;
3595
3595
  if (y < minY) minY = y;
3596
3596
  if (z < minZ) minZ = z;
@@ -3689,8 +3689,8 @@ var Md3ParseError = class extends Error {
3689
3689
  this.name = "Md3ParseError";
3690
3690
  }
3691
3691
  };
3692
- function readString(view, offset, length) {
3693
- const bytes = new Uint8Array(view.buffer, view.byteOffset + offset, length);
3692
+ function readString(view, offset, length2) {
3693
+ const bytes = new Uint8Array(view.buffer, view.byteOffset + offset, length2);
3694
3694
  const decoded = new TextDecoder("utf-8").decode(bytes);
3695
3695
  return decoded.replace(/\0.*$/, "").trim();
3696
3696
  }
@@ -3980,9 +3980,9 @@ var SpriteLoader = class {
3980
3980
  }
3981
3981
  async load(path) {
3982
3982
  const bytes = await this.vfs.readFile(path);
3983
- const copy = new Uint8Array(bytes.byteLength);
3984
- copy.set(bytes);
3985
- return parseSprite(copy.buffer);
3983
+ const copy3 = new Uint8Array(bytes.byteLength);
3984
+ copy3.set(bytes);
3985
+ return parseSprite(copy3.buffer);
3986
3986
  }
3987
3987
  };
3988
3988
 
@@ -4010,8 +4010,8 @@ function computeFrameBlend(state) {
4010
4010
  const baseFrame = Math.floor(normalizedPosition);
4011
4011
  const frame0 = state.sequence.start + baseFrame;
4012
4012
  const frame1 = baseFrame + 1 >= totalFrames ? loop ? state.sequence.start : state.sequence.end : frame0 + 1;
4013
- const lerp3 = !loop && baseFrame >= totalFrames - 1 ? 0 : normalizedPosition - baseFrame;
4014
- return { frame0, frame1, lerp: lerp3 };
4013
+ const lerp4 = !loop && baseFrame >= totalFrames - 1 ? 0 : normalizedPosition - baseFrame;
4014
+ return { frame0, frame1, lerp: lerp4 };
4015
4015
  }
4016
4016
  function createAnimationState(sequence) {
4017
4017
  return { sequence, time: 0 };
@@ -4326,8 +4326,8 @@ var WavParseError = class extends Error {
4326
4326
  this.name = "WavParseError";
4327
4327
  }
4328
4328
  };
4329
- function readString2(view, offset, length) {
4330
- return new TextDecoder("ascii").decode(new Uint8Array(view.buffer, view.byteOffset + offset, length));
4329
+ function readString2(view, offset, length2) {
4330
+ return new TextDecoder("ascii").decode(new Uint8Array(view.buffer, view.byteOffset + offset, length2));
4331
4331
  }
4332
4332
  function parseWav(buffer) {
4333
4333
  if (buffer.byteLength < 44) {
@@ -5071,8 +5071,8 @@ var SoundPrecache = class {
5071
5071
  continue;
5072
5072
  }
5073
5073
  const bytes = await this.vfs.readFile(path);
5074
- const copy = bytes.slice().buffer;
5075
- const buffer = await this.decodeAudio(context, copy);
5074
+ const copy3 = bytes.slice().buffer;
5075
+ const buffer = await this.decodeAudio(context, copy3);
5076
5076
  this.registry.register(path, buffer);
5077
5077
  report.loaded.push(path);
5078
5078
  } catch (error) {
@@ -5401,22 +5401,22 @@ var AudioSystem = class {
5401
5401
  active.gain.gain.value = active.baseGain * occlusionScale * playbackRateMute;
5402
5402
  }
5403
5403
  applyOcclusion(active, occlusion) {
5404
- const scale = clamp01(occlusion?.gainScale ?? 1);
5404
+ const scale3 = clamp01(occlusion?.gainScale ?? 1);
5405
5405
  const playbackRateMute = Math.abs(this.playbackRate - 1) < 1e-3 ? 1 : 0;
5406
- active.gain.gain.value = active.baseGain * scale * playbackRateMute;
5406
+ active.gain.gain.value = active.baseGain * scale3 * playbackRateMute;
5407
5407
  if (active.occlusion?.filter) {
5408
5408
  const cutoff = occlusion?.lowpassHz ?? 2e4;
5409
5409
  active.occlusion.filter.frequency.value = clamp(cutoff, 10, 2e4);
5410
5410
  }
5411
5411
  if (active.occlusion) {
5412
- active.occlusion.scale = scale;
5412
+ active.occlusion.scale = scale3;
5413
5413
  active.occlusion.lowpassHz = occlusion?.lowpassHz;
5414
5414
  } else if (occlusion) {
5415
- active.occlusion = { scale, lowpassHz: occlusion.lowpassHz };
5415
+ active.occlusion = { scale: scale3, lowpassHz: occlusion.lowpassHz };
5416
5416
  }
5417
5417
  }
5418
5418
  };
5419
- var clamp = (value, min, max) => Math.min(max, Math.max(min, value));
5419
+ var clamp = (value, min2, max2) => Math.min(max2, Math.max(min2, value));
5420
5420
  var clamp01 = (value) => clamp(value, 0, 1);
5421
5421
 
5422
5422
  // src/audio/occlusion.ts
@@ -5424,9 +5424,9 @@ var AudioOcclusion = class {
5424
5424
  constructor(trace) {
5425
5425
  this.trace = trace;
5426
5426
  this.resolve = (listener, source, attenuation) => {
5427
- const dist = lengthVec3(subtractVec3(source, listener.origin));
5427
+ const dist2 = lengthVec3(subtractVec3(source, listener.origin));
5428
5428
  const maxDist = calculateMaxAudibleDistance(attenuation);
5429
- const clampedDist = Math.min(dist, maxDist);
5429
+ const clampedDist = Math.min(dist2, maxDist);
5430
5430
  const distanceFactor = clampedDist / Math.max(1, maxDist);
5431
5431
  const distanceCutoff = 2e4 * (1 - distanceFactor * 0.9);
5432
5432
  const tr = this.trace(listener.origin, source, void 0, void 0);
@@ -6197,15 +6197,15 @@ function buildBspGeometry(gl, surfaces, map, options = {}) {
6197
6197
 
6198
6198
  // src/render/culling.ts
6199
6199
  function normalizePlane(plane) {
6200
- const { normal, distance } = plane;
6201
- const length = Math.sqrt(normal.x * normal.x + normal.y * normal.y + normal.z * normal.z);
6202
- if (length === 0) {
6200
+ const { normal, distance: distance2 } = plane;
6201
+ const length2 = Math.sqrt(normal.x * normal.x + normal.y * normal.y + normal.z * normal.z);
6202
+ if (length2 === 0) {
6203
6203
  return plane;
6204
6204
  }
6205
- const inv = 1 / length;
6205
+ const inv = 1 / length2;
6206
6206
  return {
6207
6207
  normal: { x: normal.x * inv, y: normal.y * inv, z: normal.z * inv },
6208
- distance: distance * inv
6208
+ distance: distance2 * inv
6209
6209
  };
6210
6210
  }
6211
6211
  function extractFrustumPlanes(matrix) {
@@ -6295,8 +6295,8 @@ function findLeafForPoint(map, point) {
6295
6295
  while (nodeIndex >= 0) {
6296
6296
  const node = map.nodes[nodeIndex];
6297
6297
  const plane = map.planes[node.planeIndex];
6298
- const dist = distanceToPlane(plane, point);
6299
- const side = dist >= 0 ? 0 : 1;
6298
+ const dist2 = distanceToPlane(plane, point);
6299
+ const side = dist2 >= 0 ? 0 : 1;
6300
6300
  const child = node.children[side];
6301
6301
  if (childIsLeaf(child)) {
6302
6302
  return childLeafIndex(child);
@@ -6313,14 +6313,14 @@ function collectFacesFromLeaf(map, leafIndex) {
6313
6313
  }
6314
6314
  return faces;
6315
6315
  }
6316
- function traverse(map, nodeIndex, camera, frustum, viewCluster, visibleFaces, visitedFaces) {
6316
+ function traverse(map, nodeIndex, camera, frustum2, viewCluster, visibleFaces, visitedFaces) {
6317
6317
  if (childIsLeaf(nodeIndex)) {
6318
6318
  const leafIndex = childLeafIndex(nodeIndex);
6319
6319
  const leaf = map.leafs[leafIndex];
6320
6320
  if (!isClusterVisible(map.visibility, viewCluster, leaf.cluster)) {
6321
6321
  return;
6322
6322
  }
6323
- if (!leafIntersectsFrustum(leaf, frustum)) {
6323
+ if (!leafIntersectsFrustum(leaf, frustum2)) {
6324
6324
  return;
6325
6325
  }
6326
6326
  const center = {
@@ -6343,24 +6343,24 @@ function traverse(map, nodeIndex, camera, frustum, viewCluster, visibleFaces, vi
6343
6343
  }
6344
6344
  const node = map.nodes[nodeIndex];
6345
6345
  const plane = map.planes[node.planeIndex];
6346
- const dist = distanceToPlane(plane, camera);
6347
- const nearChild = dist >= 0 ? node.children[0] : node.children[1];
6348
- const farChild = dist >= 0 ? node.children[1] : node.children[0];
6346
+ const dist2 = distanceToPlane(plane, camera);
6347
+ const nearChild = dist2 >= 0 ? node.children[0] : node.children[1];
6348
+ const farChild = dist2 >= 0 ? node.children[1] : node.children[0];
6349
6349
  if (boxIntersectsFrustum(
6350
6350
  { x: node.mins[0], y: node.mins[1], z: node.mins[2] },
6351
6351
  { x: node.maxs[0], y: node.maxs[1], z: node.maxs[2] },
6352
- frustum
6352
+ frustum2
6353
6353
  )) {
6354
- traverse(map, nearChild, camera, frustum, viewCluster, visibleFaces, visitedFaces);
6355
- traverse(map, farChild, camera, frustum, viewCluster, visibleFaces, visitedFaces);
6354
+ traverse(map, nearChild, camera, frustum2, viewCluster, visibleFaces, visitedFaces);
6355
+ traverse(map, farChild, camera, frustum2, viewCluster, visibleFaces, visitedFaces);
6356
6356
  }
6357
6357
  }
6358
- function gatherVisibleFaces(map, cameraPosition, frustum) {
6358
+ function gatherVisibleFaces(map, cameraPosition, frustum2) {
6359
6359
  const viewLeaf = findLeafForPoint(map, cameraPosition);
6360
6360
  const viewCluster = viewLeaf >= 0 ? map.leafs[viewLeaf].cluster : -1;
6361
6361
  const visibleFaces = [];
6362
6362
  const visitedFaces = /* @__PURE__ */ new Set();
6363
- traverse(map, 0, cameraPosition, frustum, viewCluster, visibleFaces, visitedFaces);
6363
+ traverse(map, 0, cameraPosition, frustum2, viewCluster, visibleFaces, visitedFaces);
6364
6364
  return visibleFaces;
6365
6365
  }
6366
6366
 
@@ -7205,7 +7205,7 @@ function buildMd2Geometry(model) {
7205
7205
  return { vertices, indices: new Uint16Array(indices) };
7206
7206
  }
7207
7207
  function buildMd2VertexData(model, geometry, blend) {
7208
- const { frame0, frame1, lerp: lerp3 } = blend;
7208
+ const { frame0, frame1, lerp: lerp4 } = blend;
7209
7209
  const frameA = model.frames[frame0];
7210
7210
  const frameB = model.frames[frame1];
7211
7211
  if (!frameA || !frameB) {
@@ -7218,8 +7218,8 @@ function buildMd2VertexData(model, geometry, blend) {
7218
7218
  if (!vA || !vB) {
7219
7219
  throw new Error("MD2 vertex index out of range for frame");
7220
7220
  }
7221
- const position = lerpVec3(vA.position, vB.position, lerp3);
7222
- const normal = normalizeVec32(lerpVec3(vA.normal, vB.normal, lerp3));
7221
+ const position = lerpVec3(vA.position, vB.position, lerp4);
7222
+ const normal = normalizeVec32(lerpVec3(vA.normal, vB.normal, lerp4));
7223
7223
  const base = index * 8;
7224
7224
  data[base] = position.x;
7225
7225
  data[base + 1] = position.y;
@@ -7375,32 +7375,1754 @@ var Md2Pipeline = class {
7375
7375
  }
7376
7376
  };
7377
7377
 
7378
+ // ../../node_modules/.pnpm/gl-matrix@3.4.4/node_modules/gl-matrix/esm/common.js
7379
+ var EPSILON = 1e-6;
7380
+ var ARRAY_TYPE = typeof Float32Array !== "undefined" ? Float32Array : Array;
7381
+ var RANDOM = Math.random;
7382
+ function round(a) {
7383
+ if (a >= 0) return Math.round(a);
7384
+ return a % 0.5 === 0 ? Math.floor(a) : Math.round(a);
7385
+ }
7386
+ var degree = Math.PI / 180;
7387
+ var radian = 180 / Math.PI;
7388
+
7389
+ // ../../node_modules/.pnpm/gl-matrix@3.4.4/node_modules/gl-matrix/esm/mat4.js
7390
+ var mat4_exports = {};
7391
+ __export(mat4_exports, {
7392
+ add: () => add,
7393
+ adjoint: () => adjoint,
7394
+ clone: () => clone,
7395
+ copy: () => copy,
7396
+ create: () => create,
7397
+ decompose: () => decompose,
7398
+ determinant: () => determinant,
7399
+ equals: () => equals,
7400
+ exactEquals: () => exactEquals,
7401
+ frob: () => frob,
7402
+ fromQuat: () => fromQuat,
7403
+ fromQuat2: () => fromQuat2,
7404
+ fromRotation: () => fromRotation,
7405
+ fromRotationTranslation: () => fromRotationTranslation,
7406
+ fromRotationTranslationScale: () => fromRotationTranslationScale,
7407
+ fromRotationTranslationScaleOrigin: () => fromRotationTranslationScaleOrigin,
7408
+ fromScaling: () => fromScaling,
7409
+ fromTranslation: () => fromTranslation,
7410
+ fromValues: () => fromValues,
7411
+ fromXRotation: () => fromXRotation,
7412
+ fromYRotation: () => fromYRotation,
7413
+ fromZRotation: () => fromZRotation,
7414
+ frustum: () => frustum,
7415
+ getRotation: () => getRotation,
7416
+ getScaling: () => getScaling,
7417
+ getTranslation: () => getTranslation,
7418
+ identity: () => identity,
7419
+ invert: () => invert,
7420
+ lookAt: () => lookAt,
7421
+ mul: () => mul,
7422
+ multiply: () => multiply,
7423
+ multiplyScalar: () => multiplyScalar,
7424
+ multiplyScalarAndAdd: () => multiplyScalarAndAdd,
7425
+ ortho: () => ortho,
7426
+ orthoNO: () => orthoNO,
7427
+ orthoZO: () => orthoZO,
7428
+ perspective: () => perspective,
7429
+ perspectiveFromFieldOfView: () => perspectiveFromFieldOfView,
7430
+ perspectiveNO: () => perspectiveNO,
7431
+ perspectiveZO: () => perspectiveZO,
7432
+ rotate: () => rotate,
7433
+ rotateX: () => rotateX,
7434
+ rotateY: () => rotateY,
7435
+ rotateZ: () => rotateZ,
7436
+ scale: () => scale,
7437
+ set: () => set,
7438
+ str: () => str,
7439
+ sub: () => sub,
7440
+ subtract: () => subtract,
7441
+ targetTo: () => targetTo,
7442
+ translate: () => translate,
7443
+ transpose: () => transpose
7444
+ });
7445
+ function create() {
7446
+ var out = new ARRAY_TYPE(16);
7447
+ if (ARRAY_TYPE != Float32Array) {
7448
+ out[1] = 0;
7449
+ out[2] = 0;
7450
+ out[3] = 0;
7451
+ out[4] = 0;
7452
+ out[6] = 0;
7453
+ out[7] = 0;
7454
+ out[8] = 0;
7455
+ out[9] = 0;
7456
+ out[11] = 0;
7457
+ out[12] = 0;
7458
+ out[13] = 0;
7459
+ out[14] = 0;
7460
+ }
7461
+ out[0] = 1;
7462
+ out[5] = 1;
7463
+ out[10] = 1;
7464
+ out[15] = 1;
7465
+ return out;
7466
+ }
7467
+ function clone(a) {
7468
+ var out = new ARRAY_TYPE(16);
7469
+ out[0] = a[0];
7470
+ out[1] = a[1];
7471
+ out[2] = a[2];
7472
+ out[3] = a[3];
7473
+ out[4] = a[4];
7474
+ out[5] = a[5];
7475
+ out[6] = a[6];
7476
+ out[7] = a[7];
7477
+ out[8] = a[8];
7478
+ out[9] = a[9];
7479
+ out[10] = a[10];
7480
+ out[11] = a[11];
7481
+ out[12] = a[12];
7482
+ out[13] = a[13];
7483
+ out[14] = a[14];
7484
+ out[15] = a[15];
7485
+ return out;
7486
+ }
7487
+ function copy(out, a) {
7488
+ out[0] = a[0];
7489
+ out[1] = a[1];
7490
+ out[2] = a[2];
7491
+ out[3] = a[3];
7492
+ out[4] = a[4];
7493
+ out[5] = a[5];
7494
+ out[6] = a[6];
7495
+ out[7] = a[7];
7496
+ out[8] = a[8];
7497
+ out[9] = a[9];
7498
+ out[10] = a[10];
7499
+ out[11] = a[11];
7500
+ out[12] = a[12];
7501
+ out[13] = a[13];
7502
+ out[14] = a[14];
7503
+ out[15] = a[15];
7504
+ return out;
7505
+ }
7506
+ function fromValues(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33) {
7507
+ var out = new ARRAY_TYPE(16);
7508
+ out[0] = m00;
7509
+ out[1] = m01;
7510
+ out[2] = m02;
7511
+ out[3] = m03;
7512
+ out[4] = m10;
7513
+ out[5] = m11;
7514
+ out[6] = m12;
7515
+ out[7] = m13;
7516
+ out[8] = m20;
7517
+ out[9] = m21;
7518
+ out[10] = m22;
7519
+ out[11] = m23;
7520
+ out[12] = m30;
7521
+ out[13] = m31;
7522
+ out[14] = m32;
7523
+ out[15] = m33;
7524
+ return out;
7525
+ }
7526
+ function set(out, m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33) {
7527
+ out[0] = m00;
7528
+ out[1] = m01;
7529
+ out[2] = m02;
7530
+ out[3] = m03;
7531
+ out[4] = m10;
7532
+ out[5] = m11;
7533
+ out[6] = m12;
7534
+ out[7] = m13;
7535
+ out[8] = m20;
7536
+ out[9] = m21;
7537
+ out[10] = m22;
7538
+ out[11] = m23;
7539
+ out[12] = m30;
7540
+ out[13] = m31;
7541
+ out[14] = m32;
7542
+ out[15] = m33;
7543
+ return out;
7544
+ }
7545
+ function identity(out) {
7546
+ out[0] = 1;
7547
+ out[1] = 0;
7548
+ out[2] = 0;
7549
+ out[3] = 0;
7550
+ out[4] = 0;
7551
+ out[5] = 1;
7552
+ out[6] = 0;
7553
+ out[7] = 0;
7554
+ out[8] = 0;
7555
+ out[9] = 0;
7556
+ out[10] = 1;
7557
+ out[11] = 0;
7558
+ out[12] = 0;
7559
+ out[13] = 0;
7560
+ out[14] = 0;
7561
+ out[15] = 1;
7562
+ return out;
7563
+ }
7564
+ function transpose(out, a) {
7565
+ if (out === a) {
7566
+ var a01 = a[1], a02 = a[2], a03 = a[3];
7567
+ var a12 = a[6], a13 = a[7];
7568
+ var a23 = a[11];
7569
+ out[1] = a[4];
7570
+ out[2] = a[8];
7571
+ out[3] = a[12];
7572
+ out[4] = a01;
7573
+ out[6] = a[9];
7574
+ out[7] = a[13];
7575
+ out[8] = a02;
7576
+ out[9] = a12;
7577
+ out[11] = a[14];
7578
+ out[12] = a03;
7579
+ out[13] = a13;
7580
+ out[14] = a23;
7581
+ } else {
7582
+ out[0] = a[0];
7583
+ out[1] = a[4];
7584
+ out[2] = a[8];
7585
+ out[3] = a[12];
7586
+ out[4] = a[1];
7587
+ out[5] = a[5];
7588
+ out[6] = a[9];
7589
+ out[7] = a[13];
7590
+ out[8] = a[2];
7591
+ out[9] = a[6];
7592
+ out[10] = a[10];
7593
+ out[11] = a[14];
7594
+ out[12] = a[3];
7595
+ out[13] = a[7];
7596
+ out[14] = a[11];
7597
+ out[15] = a[15];
7598
+ }
7599
+ return out;
7600
+ }
7601
+ function invert(out, a) {
7602
+ var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3];
7603
+ var a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7];
7604
+ var a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11];
7605
+ var a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15];
7606
+ var b00 = a00 * a11 - a01 * a10;
7607
+ var b01 = a00 * a12 - a02 * a10;
7608
+ var b02 = a00 * a13 - a03 * a10;
7609
+ var b03 = a01 * a12 - a02 * a11;
7610
+ var b04 = a01 * a13 - a03 * a11;
7611
+ var b05 = a02 * a13 - a03 * a12;
7612
+ var b06 = a20 * a31 - a21 * a30;
7613
+ var b07 = a20 * a32 - a22 * a30;
7614
+ var b08 = a20 * a33 - a23 * a30;
7615
+ var b09 = a21 * a32 - a22 * a31;
7616
+ var b10 = a21 * a33 - a23 * a31;
7617
+ var b11 = a22 * a33 - a23 * a32;
7618
+ var det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
7619
+ if (!det) {
7620
+ return null;
7621
+ }
7622
+ det = 1 / det;
7623
+ out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det;
7624
+ out[1] = (a02 * b10 - a01 * b11 - a03 * b09) * det;
7625
+ out[2] = (a31 * b05 - a32 * b04 + a33 * b03) * det;
7626
+ out[3] = (a22 * b04 - a21 * b05 - a23 * b03) * det;
7627
+ out[4] = (a12 * b08 - a10 * b11 - a13 * b07) * det;
7628
+ out[5] = (a00 * b11 - a02 * b08 + a03 * b07) * det;
7629
+ out[6] = (a32 * b02 - a30 * b05 - a33 * b01) * det;
7630
+ out[7] = (a20 * b05 - a22 * b02 + a23 * b01) * det;
7631
+ out[8] = (a10 * b10 - a11 * b08 + a13 * b06) * det;
7632
+ out[9] = (a01 * b08 - a00 * b10 - a03 * b06) * det;
7633
+ out[10] = (a30 * b04 - a31 * b02 + a33 * b00) * det;
7634
+ out[11] = (a21 * b02 - a20 * b04 - a23 * b00) * det;
7635
+ out[12] = (a11 * b07 - a10 * b09 - a12 * b06) * det;
7636
+ out[13] = (a00 * b09 - a01 * b07 + a02 * b06) * det;
7637
+ out[14] = (a31 * b01 - a30 * b03 - a32 * b00) * det;
7638
+ out[15] = (a20 * b03 - a21 * b01 + a22 * b00) * det;
7639
+ return out;
7640
+ }
7641
+ function adjoint(out, a) {
7642
+ var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3];
7643
+ var a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7];
7644
+ var a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11];
7645
+ var a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15];
7646
+ var b00 = a00 * a11 - a01 * a10;
7647
+ var b01 = a00 * a12 - a02 * a10;
7648
+ var b02 = a00 * a13 - a03 * a10;
7649
+ var b03 = a01 * a12 - a02 * a11;
7650
+ var b04 = a01 * a13 - a03 * a11;
7651
+ var b05 = a02 * a13 - a03 * a12;
7652
+ var b06 = a20 * a31 - a21 * a30;
7653
+ var b07 = a20 * a32 - a22 * a30;
7654
+ var b08 = a20 * a33 - a23 * a30;
7655
+ var b09 = a21 * a32 - a22 * a31;
7656
+ var b10 = a21 * a33 - a23 * a31;
7657
+ var b11 = a22 * a33 - a23 * a32;
7658
+ out[0] = a11 * b11 - a12 * b10 + a13 * b09;
7659
+ out[1] = a02 * b10 - a01 * b11 - a03 * b09;
7660
+ out[2] = a31 * b05 - a32 * b04 + a33 * b03;
7661
+ out[3] = a22 * b04 - a21 * b05 - a23 * b03;
7662
+ out[4] = a12 * b08 - a10 * b11 - a13 * b07;
7663
+ out[5] = a00 * b11 - a02 * b08 + a03 * b07;
7664
+ out[6] = a32 * b02 - a30 * b05 - a33 * b01;
7665
+ out[7] = a20 * b05 - a22 * b02 + a23 * b01;
7666
+ out[8] = a10 * b10 - a11 * b08 + a13 * b06;
7667
+ out[9] = a01 * b08 - a00 * b10 - a03 * b06;
7668
+ out[10] = a30 * b04 - a31 * b02 + a33 * b00;
7669
+ out[11] = a21 * b02 - a20 * b04 - a23 * b00;
7670
+ out[12] = a11 * b07 - a10 * b09 - a12 * b06;
7671
+ out[13] = a00 * b09 - a01 * b07 + a02 * b06;
7672
+ out[14] = a31 * b01 - a30 * b03 - a32 * b00;
7673
+ out[15] = a20 * b03 - a21 * b01 + a22 * b00;
7674
+ return out;
7675
+ }
7676
+ function determinant(a) {
7677
+ var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3];
7678
+ var a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7];
7679
+ var a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11];
7680
+ var a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15];
7681
+ var b0 = a00 * a11 - a01 * a10;
7682
+ var b1 = a00 * a12 - a02 * a10;
7683
+ var b2 = a01 * a12 - a02 * a11;
7684
+ var b3 = a20 * a31 - a21 * a30;
7685
+ var b4 = a20 * a32 - a22 * a30;
7686
+ var b5 = a21 * a32 - a22 * a31;
7687
+ var b6 = a00 * b5 - a01 * b4 + a02 * b3;
7688
+ var b7 = a10 * b5 - a11 * b4 + a12 * b3;
7689
+ var b8 = a20 * b2 - a21 * b1 + a22 * b0;
7690
+ var b9 = a30 * b2 - a31 * b1 + a32 * b0;
7691
+ return a13 * b6 - a03 * b7 + a33 * b8 - a23 * b9;
7692
+ }
7693
+ function multiply(out, a, b) {
7694
+ var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3];
7695
+ var a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7];
7696
+ var a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11];
7697
+ var a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15];
7698
+ var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3];
7699
+ out[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
7700
+ out[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
7701
+ out[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
7702
+ out[3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
7703
+ b0 = b[4];
7704
+ b1 = b[5];
7705
+ b2 = b[6];
7706
+ b3 = b[7];
7707
+ out[4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
7708
+ out[5] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
7709
+ out[6] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
7710
+ out[7] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
7711
+ b0 = b[8];
7712
+ b1 = b[9];
7713
+ b2 = b[10];
7714
+ b3 = b[11];
7715
+ out[8] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
7716
+ out[9] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
7717
+ out[10] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
7718
+ out[11] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
7719
+ b0 = b[12];
7720
+ b1 = b[13];
7721
+ b2 = b[14];
7722
+ b3 = b[15];
7723
+ out[12] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
7724
+ out[13] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
7725
+ out[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
7726
+ out[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
7727
+ return out;
7728
+ }
7729
+ function translate(out, a, v) {
7730
+ var x = v[0], y = v[1], z = v[2];
7731
+ var a00, a01, a02, a03;
7732
+ var a10, a11, a12, a13;
7733
+ var a20, a21, a22, a23;
7734
+ if (a === out) {
7735
+ out[12] = a[0] * x + a[4] * y + a[8] * z + a[12];
7736
+ out[13] = a[1] * x + a[5] * y + a[9] * z + a[13];
7737
+ out[14] = a[2] * x + a[6] * y + a[10] * z + a[14];
7738
+ out[15] = a[3] * x + a[7] * y + a[11] * z + a[15];
7739
+ } else {
7740
+ a00 = a[0];
7741
+ a01 = a[1];
7742
+ a02 = a[2];
7743
+ a03 = a[3];
7744
+ a10 = a[4];
7745
+ a11 = a[5];
7746
+ a12 = a[6];
7747
+ a13 = a[7];
7748
+ a20 = a[8];
7749
+ a21 = a[9];
7750
+ a22 = a[10];
7751
+ a23 = a[11];
7752
+ out[0] = a00;
7753
+ out[1] = a01;
7754
+ out[2] = a02;
7755
+ out[3] = a03;
7756
+ out[4] = a10;
7757
+ out[5] = a11;
7758
+ out[6] = a12;
7759
+ out[7] = a13;
7760
+ out[8] = a20;
7761
+ out[9] = a21;
7762
+ out[10] = a22;
7763
+ out[11] = a23;
7764
+ out[12] = a00 * x + a10 * y + a20 * z + a[12];
7765
+ out[13] = a01 * x + a11 * y + a21 * z + a[13];
7766
+ out[14] = a02 * x + a12 * y + a22 * z + a[14];
7767
+ out[15] = a03 * x + a13 * y + a23 * z + a[15];
7768
+ }
7769
+ return out;
7770
+ }
7771
+ function scale(out, a, v) {
7772
+ var x = v[0], y = v[1], z = v[2];
7773
+ out[0] = a[0] * x;
7774
+ out[1] = a[1] * x;
7775
+ out[2] = a[2] * x;
7776
+ out[3] = a[3] * x;
7777
+ out[4] = a[4] * y;
7778
+ out[5] = a[5] * y;
7779
+ out[6] = a[6] * y;
7780
+ out[7] = a[7] * y;
7781
+ out[8] = a[8] * z;
7782
+ out[9] = a[9] * z;
7783
+ out[10] = a[10] * z;
7784
+ out[11] = a[11] * z;
7785
+ out[12] = a[12];
7786
+ out[13] = a[13];
7787
+ out[14] = a[14];
7788
+ out[15] = a[15];
7789
+ return out;
7790
+ }
7791
+ function rotate(out, a, rad, axis) {
7792
+ var x = axis[0], y = axis[1], z = axis[2];
7793
+ var len2 = Math.sqrt(x * x + y * y + z * z);
7794
+ var s, c, t;
7795
+ var a00, a01, a02, a03;
7796
+ var a10, a11, a12, a13;
7797
+ var a20, a21, a22, a23;
7798
+ var b00, b01, b02;
7799
+ var b10, b11, b12;
7800
+ var b20, b21, b22;
7801
+ if (len2 < EPSILON) {
7802
+ return null;
7803
+ }
7804
+ len2 = 1 / len2;
7805
+ x *= len2;
7806
+ y *= len2;
7807
+ z *= len2;
7808
+ s = Math.sin(rad);
7809
+ c = Math.cos(rad);
7810
+ t = 1 - c;
7811
+ a00 = a[0];
7812
+ a01 = a[1];
7813
+ a02 = a[2];
7814
+ a03 = a[3];
7815
+ a10 = a[4];
7816
+ a11 = a[5];
7817
+ a12 = a[6];
7818
+ a13 = a[7];
7819
+ a20 = a[8];
7820
+ a21 = a[9];
7821
+ a22 = a[10];
7822
+ a23 = a[11];
7823
+ b00 = x * x * t + c;
7824
+ b01 = y * x * t + z * s;
7825
+ b02 = z * x * t - y * s;
7826
+ b10 = x * y * t - z * s;
7827
+ b11 = y * y * t + c;
7828
+ b12 = z * y * t + x * s;
7829
+ b20 = x * z * t + y * s;
7830
+ b21 = y * z * t - x * s;
7831
+ b22 = z * z * t + c;
7832
+ out[0] = a00 * b00 + a10 * b01 + a20 * b02;
7833
+ out[1] = a01 * b00 + a11 * b01 + a21 * b02;
7834
+ out[2] = a02 * b00 + a12 * b01 + a22 * b02;
7835
+ out[3] = a03 * b00 + a13 * b01 + a23 * b02;
7836
+ out[4] = a00 * b10 + a10 * b11 + a20 * b12;
7837
+ out[5] = a01 * b10 + a11 * b11 + a21 * b12;
7838
+ out[6] = a02 * b10 + a12 * b11 + a22 * b12;
7839
+ out[7] = a03 * b10 + a13 * b11 + a23 * b12;
7840
+ out[8] = a00 * b20 + a10 * b21 + a20 * b22;
7841
+ out[9] = a01 * b20 + a11 * b21 + a21 * b22;
7842
+ out[10] = a02 * b20 + a12 * b21 + a22 * b22;
7843
+ out[11] = a03 * b20 + a13 * b21 + a23 * b22;
7844
+ if (a !== out) {
7845
+ out[12] = a[12];
7846
+ out[13] = a[13];
7847
+ out[14] = a[14];
7848
+ out[15] = a[15];
7849
+ }
7850
+ return out;
7851
+ }
7852
+ function rotateX(out, a, rad) {
7853
+ var s = Math.sin(rad);
7854
+ var c = Math.cos(rad);
7855
+ var a10 = a[4];
7856
+ var a11 = a[5];
7857
+ var a12 = a[6];
7858
+ var a13 = a[7];
7859
+ var a20 = a[8];
7860
+ var a21 = a[9];
7861
+ var a22 = a[10];
7862
+ var a23 = a[11];
7863
+ if (a !== out) {
7864
+ out[0] = a[0];
7865
+ out[1] = a[1];
7866
+ out[2] = a[2];
7867
+ out[3] = a[3];
7868
+ out[12] = a[12];
7869
+ out[13] = a[13];
7870
+ out[14] = a[14];
7871
+ out[15] = a[15];
7872
+ }
7873
+ out[4] = a10 * c + a20 * s;
7874
+ out[5] = a11 * c + a21 * s;
7875
+ out[6] = a12 * c + a22 * s;
7876
+ out[7] = a13 * c + a23 * s;
7877
+ out[8] = a20 * c - a10 * s;
7878
+ out[9] = a21 * c - a11 * s;
7879
+ out[10] = a22 * c - a12 * s;
7880
+ out[11] = a23 * c - a13 * s;
7881
+ return out;
7882
+ }
7883
+ function rotateY(out, a, rad) {
7884
+ var s = Math.sin(rad);
7885
+ var c = Math.cos(rad);
7886
+ var a00 = a[0];
7887
+ var a01 = a[1];
7888
+ var a02 = a[2];
7889
+ var a03 = a[3];
7890
+ var a20 = a[8];
7891
+ var a21 = a[9];
7892
+ var a22 = a[10];
7893
+ var a23 = a[11];
7894
+ if (a !== out) {
7895
+ out[4] = a[4];
7896
+ out[5] = a[5];
7897
+ out[6] = a[6];
7898
+ out[7] = a[7];
7899
+ out[12] = a[12];
7900
+ out[13] = a[13];
7901
+ out[14] = a[14];
7902
+ out[15] = a[15];
7903
+ }
7904
+ out[0] = a00 * c - a20 * s;
7905
+ out[1] = a01 * c - a21 * s;
7906
+ out[2] = a02 * c - a22 * s;
7907
+ out[3] = a03 * c - a23 * s;
7908
+ out[8] = a00 * s + a20 * c;
7909
+ out[9] = a01 * s + a21 * c;
7910
+ out[10] = a02 * s + a22 * c;
7911
+ out[11] = a03 * s + a23 * c;
7912
+ return out;
7913
+ }
7914
+ function rotateZ(out, a, rad) {
7915
+ var s = Math.sin(rad);
7916
+ var c = Math.cos(rad);
7917
+ var a00 = a[0];
7918
+ var a01 = a[1];
7919
+ var a02 = a[2];
7920
+ var a03 = a[3];
7921
+ var a10 = a[4];
7922
+ var a11 = a[5];
7923
+ var a12 = a[6];
7924
+ var a13 = a[7];
7925
+ if (a !== out) {
7926
+ out[8] = a[8];
7927
+ out[9] = a[9];
7928
+ out[10] = a[10];
7929
+ out[11] = a[11];
7930
+ out[12] = a[12];
7931
+ out[13] = a[13];
7932
+ out[14] = a[14];
7933
+ out[15] = a[15];
7934
+ }
7935
+ out[0] = a00 * c + a10 * s;
7936
+ out[1] = a01 * c + a11 * s;
7937
+ out[2] = a02 * c + a12 * s;
7938
+ out[3] = a03 * c + a13 * s;
7939
+ out[4] = a10 * c - a00 * s;
7940
+ out[5] = a11 * c - a01 * s;
7941
+ out[6] = a12 * c - a02 * s;
7942
+ out[7] = a13 * c - a03 * s;
7943
+ return out;
7944
+ }
7945
+ function fromTranslation(out, v) {
7946
+ out[0] = 1;
7947
+ out[1] = 0;
7948
+ out[2] = 0;
7949
+ out[3] = 0;
7950
+ out[4] = 0;
7951
+ out[5] = 1;
7952
+ out[6] = 0;
7953
+ out[7] = 0;
7954
+ out[8] = 0;
7955
+ out[9] = 0;
7956
+ out[10] = 1;
7957
+ out[11] = 0;
7958
+ out[12] = v[0];
7959
+ out[13] = v[1];
7960
+ out[14] = v[2];
7961
+ out[15] = 1;
7962
+ return out;
7963
+ }
7964
+ function fromScaling(out, v) {
7965
+ out[0] = v[0];
7966
+ out[1] = 0;
7967
+ out[2] = 0;
7968
+ out[3] = 0;
7969
+ out[4] = 0;
7970
+ out[5] = v[1];
7971
+ out[6] = 0;
7972
+ out[7] = 0;
7973
+ out[8] = 0;
7974
+ out[9] = 0;
7975
+ out[10] = v[2];
7976
+ out[11] = 0;
7977
+ out[12] = 0;
7978
+ out[13] = 0;
7979
+ out[14] = 0;
7980
+ out[15] = 1;
7981
+ return out;
7982
+ }
7983
+ function fromRotation(out, rad, axis) {
7984
+ var x = axis[0], y = axis[1], z = axis[2];
7985
+ var len2 = Math.sqrt(x * x + y * y + z * z);
7986
+ var s, c, t;
7987
+ if (len2 < EPSILON) {
7988
+ return null;
7989
+ }
7990
+ len2 = 1 / len2;
7991
+ x *= len2;
7992
+ y *= len2;
7993
+ z *= len2;
7994
+ s = Math.sin(rad);
7995
+ c = Math.cos(rad);
7996
+ t = 1 - c;
7997
+ out[0] = x * x * t + c;
7998
+ out[1] = y * x * t + z * s;
7999
+ out[2] = z * x * t - y * s;
8000
+ out[3] = 0;
8001
+ out[4] = x * y * t - z * s;
8002
+ out[5] = y * y * t + c;
8003
+ out[6] = z * y * t + x * s;
8004
+ out[7] = 0;
8005
+ out[8] = x * z * t + y * s;
8006
+ out[9] = y * z * t - x * s;
8007
+ out[10] = z * z * t + c;
8008
+ out[11] = 0;
8009
+ out[12] = 0;
8010
+ out[13] = 0;
8011
+ out[14] = 0;
8012
+ out[15] = 1;
8013
+ return out;
8014
+ }
8015
+ function fromXRotation(out, rad) {
8016
+ var s = Math.sin(rad);
8017
+ var c = Math.cos(rad);
8018
+ out[0] = 1;
8019
+ out[1] = 0;
8020
+ out[2] = 0;
8021
+ out[3] = 0;
8022
+ out[4] = 0;
8023
+ out[5] = c;
8024
+ out[6] = s;
8025
+ out[7] = 0;
8026
+ out[8] = 0;
8027
+ out[9] = -s;
8028
+ out[10] = c;
8029
+ out[11] = 0;
8030
+ out[12] = 0;
8031
+ out[13] = 0;
8032
+ out[14] = 0;
8033
+ out[15] = 1;
8034
+ return out;
8035
+ }
8036
+ function fromYRotation(out, rad) {
8037
+ var s = Math.sin(rad);
8038
+ var c = Math.cos(rad);
8039
+ out[0] = c;
8040
+ out[1] = 0;
8041
+ out[2] = -s;
8042
+ out[3] = 0;
8043
+ out[4] = 0;
8044
+ out[5] = 1;
8045
+ out[6] = 0;
8046
+ out[7] = 0;
8047
+ out[8] = s;
8048
+ out[9] = 0;
8049
+ out[10] = c;
8050
+ out[11] = 0;
8051
+ out[12] = 0;
8052
+ out[13] = 0;
8053
+ out[14] = 0;
8054
+ out[15] = 1;
8055
+ return out;
8056
+ }
8057
+ function fromZRotation(out, rad) {
8058
+ var s = Math.sin(rad);
8059
+ var c = Math.cos(rad);
8060
+ out[0] = c;
8061
+ out[1] = s;
8062
+ out[2] = 0;
8063
+ out[3] = 0;
8064
+ out[4] = -s;
8065
+ out[5] = c;
8066
+ out[6] = 0;
8067
+ out[7] = 0;
8068
+ out[8] = 0;
8069
+ out[9] = 0;
8070
+ out[10] = 1;
8071
+ out[11] = 0;
8072
+ out[12] = 0;
8073
+ out[13] = 0;
8074
+ out[14] = 0;
8075
+ out[15] = 1;
8076
+ return out;
8077
+ }
8078
+ function fromRotationTranslation(out, q, v) {
8079
+ var x = q[0], y = q[1], z = q[2], w = q[3];
8080
+ var x2 = x + x;
8081
+ var y2 = y + y;
8082
+ var z2 = z + z;
8083
+ var xx = x * x2;
8084
+ var xy = x * y2;
8085
+ var xz = x * z2;
8086
+ var yy = y * y2;
8087
+ var yz = y * z2;
8088
+ var zz = z * z2;
8089
+ var wx = w * x2;
8090
+ var wy = w * y2;
8091
+ var wz = w * z2;
8092
+ out[0] = 1 - (yy + zz);
8093
+ out[1] = xy + wz;
8094
+ out[2] = xz - wy;
8095
+ out[3] = 0;
8096
+ out[4] = xy - wz;
8097
+ out[5] = 1 - (xx + zz);
8098
+ out[6] = yz + wx;
8099
+ out[7] = 0;
8100
+ out[8] = xz + wy;
8101
+ out[9] = yz - wx;
8102
+ out[10] = 1 - (xx + yy);
8103
+ out[11] = 0;
8104
+ out[12] = v[0];
8105
+ out[13] = v[1];
8106
+ out[14] = v[2];
8107
+ out[15] = 1;
8108
+ return out;
8109
+ }
8110
+ function fromQuat2(out, a) {
8111
+ var translation = new ARRAY_TYPE(3);
8112
+ var bx = -a[0], by = -a[1], bz = -a[2], bw = a[3], ax = a[4], ay = a[5], az = a[6], aw = a[7];
8113
+ var magnitude = bx * bx + by * by + bz * bz + bw * bw;
8114
+ if (magnitude > 0) {
8115
+ translation[0] = (ax * bw + aw * bx + ay * bz - az * by) * 2 / magnitude;
8116
+ translation[1] = (ay * bw + aw * by + az * bx - ax * bz) * 2 / magnitude;
8117
+ translation[2] = (az * bw + aw * bz + ax * by - ay * bx) * 2 / magnitude;
8118
+ } else {
8119
+ translation[0] = (ax * bw + aw * bx + ay * bz - az * by) * 2;
8120
+ translation[1] = (ay * bw + aw * by + az * bx - ax * bz) * 2;
8121
+ translation[2] = (az * bw + aw * bz + ax * by - ay * bx) * 2;
8122
+ }
8123
+ fromRotationTranslation(out, a, translation);
8124
+ return out;
8125
+ }
8126
+ function getTranslation(out, mat) {
8127
+ out[0] = mat[12];
8128
+ out[1] = mat[13];
8129
+ out[2] = mat[14];
8130
+ return out;
8131
+ }
8132
+ function getScaling(out, mat) {
8133
+ var m11 = mat[0];
8134
+ var m12 = mat[1];
8135
+ var m13 = mat[2];
8136
+ var m21 = mat[4];
8137
+ var m22 = mat[5];
8138
+ var m23 = mat[6];
8139
+ var m31 = mat[8];
8140
+ var m32 = mat[9];
8141
+ var m33 = mat[10];
8142
+ out[0] = Math.sqrt(m11 * m11 + m12 * m12 + m13 * m13);
8143
+ out[1] = Math.sqrt(m21 * m21 + m22 * m22 + m23 * m23);
8144
+ out[2] = Math.sqrt(m31 * m31 + m32 * m32 + m33 * m33);
8145
+ return out;
8146
+ }
8147
+ function getRotation(out, mat) {
8148
+ var scaling = new ARRAY_TYPE(3);
8149
+ getScaling(scaling, mat);
8150
+ var is1 = 1 / scaling[0];
8151
+ var is2 = 1 / scaling[1];
8152
+ var is3 = 1 / scaling[2];
8153
+ var sm11 = mat[0] * is1;
8154
+ var sm12 = mat[1] * is2;
8155
+ var sm13 = mat[2] * is3;
8156
+ var sm21 = mat[4] * is1;
8157
+ var sm22 = mat[5] * is2;
8158
+ var sm23 = mat[6] * is3;
8159
+ var sm31 = mat[8] * is1;
8160
+ var sm32 = mat[9] * is2;
8161
+ var sm33 = mat[10] * is3;
8162
+ var trace = sm11 + sm22 + sm33;
8163
+ var S = 0;
8164
+ if (trace > 0) {
8165
+ S = Math.sqrt(trace + 1) * 2;
8166
+ out[3] = 0.25 * S;
8167
+ out[0] = (sm23 - sm32) / S;
8168
+ out[1] = (sm31 - sm13) / S;
8169
+ out[2] = (sm12 - sm21) / S;
8170
+ } else if (sm11 > sm22 && sm11 > sm33) {
8171
+ S = Math.sqrt(1 + sm11 - sm22 - sm33) * 2;
8172
+ out[3] = (sm23 - sm32) / S;
8173
+ out[0] = 0.25 * S;
8174
+ out[1] = (sm12 + sm21) / S;
8175
+ out[2] = (sm31 + sm13) / S;
8176
+ } else if (sm22 > sm33) {
8177
+ S = Math.sqrt(1 + sm22 - sm11 - sm33) * 2;
8178
+ out[3] = (sm31 - sm13) / S;
8179
+ out[0] = (sm12 + sm21) / S;
8180
+ out[1] = 0.25 * S;
8181
+ out[2] = (sm23 + sm32) / S;
8182
+ } else {
8183
+ S = Math.sqrt(1 + sm33 - sm11 - sm22) * 2;
8184
+ out[3] = (sm12 - sm21) / S;
8185
+ out[0] = (sm31 + sm13) / S;
8186
+ out[1] = (sm23 + sm32) / S;
8187
+ out[2] = 0.25 * S;
8188
+ }
8189
+ return out;
8190
+ }
8191
+ function decompose(out_r, out_t, out_s, mat) {
8192
+ out_t[0] = mat[12];
8193
+ out_t[1] = mat[13];
8194
+ out_t[2] = mat[14];
8195
+ var m11 = mat[0];
8196
+ var m12 = mat[1];
8197
+ var m13 = mat[2];
8198
+ var m21 = mat[4];
8199
+ var m22 = mat[5];
8200
+ var m23 = mat[6];
8201
+ var m31 = mat[8];
8202
+ var m32 = mat[9];
8203
+ var m33 = mat[10];
8204
+ out_s[0] = Math.sqrt(m11 * m11 + m12 * m12 + m13 * m13);
8205
+ out_s[1] = Math.sqrt(m21 * m21 + m22 * m22 + m23 * m23);
8206
+ out_s[2] = Math.sqrt(m31 * m31 + m32 * m32 + m33 * m33);
8207
+ var is1 = 1 / out_s[0];
8208
+ var is2 = 1 / out_s[1];
8209
+ var is3 = 1 / out_s[2];
8210
+ var sm11 = m11 * is1;
8211
+ var sm12 = m12 * is2;
8212
+ var sm13 = m13 * is3;
8213
+ var sm21 = m21 * is1;
8214
+ var sm22 = m22 * is2;
8215
+ var sm23 = m23 * is3;
8216
+ var sm31 = m31 * is1;
8217
+ var sm32 = m32 * is2;
8218
+ var sm33 = m33 * is3;
8219
+ var trace = sm11 + sm22 + sm33;
8220
+ var S = 0;
8221
+ if (trace > 0) {
8222
+ S = Math.sqrt(trace + 1) * 2;
8223
+ out_r[3] = 0.25 * S;
8224
+ out_r[0] = (sm23 - sm32) / S;
8225
+ out_r[1] = (sm31 - sm13) / S;
8226
+ out_r[2] = (sm12 - sm21) / S;
8227
+ } else if (sm11 > sm22 && sm11 > sm33) {
8228
+ S = Math.sqrt(1 + sm11 - sm22 - sm33) * 2;
8229
+ out_r[3] = (sm23 - sm32) / S;
8230
+ out_r[0] = 0.25 * S;
8231
+ out_r[1] = (sm12 + sm21) / S;
8232
+ out_r[2] = (sm31 + sm13) / S;
8233
+ } else if (sm22 > sm33) {
8234
+ S = Math.sqrt(1 + sm22 - sm11 - sm33) * 2;
8235
+ out_r[3] = (sm31 - sm13) / S;
8236
+ out_r[0] = (sm12 + sm21) / S;
8237
+ out_r[1] = 0.25 * S;
8238
+ out_r[2] = (sm23 + sm32) / S;
8239
+ } else {
8240
+ S = Math.sqrt(1 + sm33 - sm11 - sm22) * 2;
8241
+ out_r[3] = (sm12 - sm21) / S;
8242
+ out_r[0] = (sm31 + sm13) / S;
8243
+ out_r[1] = (sm23 + sm32) / S;
8244
+ out_r[2] = 0.25 * S;
8245
+ }
8246
+ return out_r;
8247
+ }
8248
+ function fromRotationTranslationScale(out, q, v, s) {
8249
+ var x = q[0], y = q[1], z = q[2], w = q[3];
8250
+ var x2 = x + x;
8251
+ var y2 = y + y;
8252
+ var z2 = z + z;
8253
+ var xx = x * x2;
8254
+ var xy = x * y2;
8255
+ var xz = x * z2;
8256
+ var yy = y * y2;
8257
+ var yz = y * z2;
8258
+ var zz = z * z2;
8259
+ var wx = w * x2;
8260
+ var wy = w * y2;
8261
+ var wz = w * z2;
8262
+ var sx = s[0];
8263
+ var sy = s[1];
8264
+ var sz = s[2];
8265
+ out[0] = (1 - (yy + zz)) * sx;
8266
+ out[1] = (xy + wz) * sx;
8267
+ out[2] = (xz - wy) * sx;
8268
+ out[3] = 0;
8269
+ out[4] = (xy - wz) * sy;
8270
+ out[5] = (1 - (xx + zz)) * sy;
8271
+ out[6] = (yz + wx) * sy;
8272
+ out[7] = 0;
8273
+ out[8] = (xz + wy) * sz;
8274
+ out[9] = (yz - wx) * sz;
8275
+ out[10] = (1 - (xx + yy)) * sz;
8276
+ out[11] = 0;
8277
+ out[12] = v[0];
8278
+ out[13] = v[1];
8279
+ out[14] = v[2];
8280
+ out[15] = 1;
8281
+ return out;
8282
+ }
8283
+ function fromRotationTranslationScaleOrigin(out, q, v, s, o) {
8284
+ var x = q[0], y = q[1], z = q[2], w = q[3];
8285
+ var x2 = x + x;
8286
+ var y2 = y + y;
8287
+ var z2 = z + z;
8288
+ var xx = x * x2;
8289
+ var xy = x * y2;
8290
+ var xz = x * z2;
8291
+ var yy = y * y2;
8292
+ var yz = y * z2;
8293
+ var zz = z * z2;
8294
+ var wx = w * x2;
8295
+ var wy = w * y2;
8296
+ var wz = w * z2;
8297
+ var sx = s[0];
8298
+ var sy = s[1];
8299
+ var sz = s[2];
8300
+ var ox = o[0];
8301
+ var oy = o[1];
8302
+ var oz = o[2];
8303
+ var out0 = (1 - (yy + zz)) * sx;
8304
+ var out1 = (xy + wz) * sx;
8305
+ var out2 = (xz - wy) * sx;
8306
+ var out4 = (xy - wz) * sy;
8307
+ var out5 = (1 - (xx + zz)) * sy;
8308
+ var out6 = (yz + wx) * sy;
8309
+ var out8 = (xz + wy) * sz;
8310
+ var out9 = (yz - wx) * sz;
8311
+ var out10 = (1 - (xx + yy)) * sz;
8312
+ out[0] = out0;
8313
+ out[1] = out1;
8314
+ out[2] = out2;
8315
+ out[3] = 0;
8316
+ out[4] = out4;
8317
+ out[5] = out5;
8318
+ out[6] = out6;
8319
+ out[7] = 0;
8320
+ out[8] = out8;
8321
+ out[9] = out9;
8322
+ out[10] = out10;
8323
+ out[11] = 0;
8324
+ out[12] = v[0] + ox - (out0 * ox + out4 * oy + out8 * oz);
8325
+ out[13] = v[1] + oy - (out1 * ox + out5 * oy + out9 * oz);
8326
+ out[14] = v[2] + oz - (out2 * ox + out6 * oy + out10 * oz);
8327
+ out[15] = 1;
8328
+ return out;
8329
+ }
8330
+ function fromQuat(out, q) {
8331
+ var x = q[0], y = q[1], z = q[2], w = q[3];
8332
+ var x2 = x + x;
8333
+ var y2 = y + y;
8334
+ var z2 = z + z;
8335
+ var xx = x * x2;
8336
+ var yx = y * x2;
8337
+ var yy = y * y2;
8338
+ var zx = z * x2;
8339
+ var zy = z * y2;
8340
+ var zz = z * z2;
8341
+ var wx = w * x2;
8342
+ var wy = w * y2;
8343
+ var wz = w * z2;
8344
+ out[0] = 1 - yy - zz;
8345
+ out[1] = yx + wz;
8346
+ out[2] = zx - wy;
8347
+ out[3] = 0;
8348
+ out[4] = yx - wz;
8349
+ out[5] = 1 - xx - zz;
8350
+ out[6] = zy + wx;
8351
+ out[7] = 0;
8352
+ out[8] = zx + wy;
8353
+ out[9] = zy - wx;
8354
+ out[10] = 1 - xx - yy;
8355
+ out[11] = 0;
8356
+ out[12] = 0;
8357
+ out[13] = 0;
8358
+ out[14] = 0;
8359
+ out[15] = 1;
8360
+ return out;
8361
+ }
8362
+ function frustum(out, left, right, bottom, top, near, far) {
8363
+ var rl = 1 / (right - left);
8364
+ var tb = 1 / (top - bottom);
8365
+ var nf = 1 / (near - far);
8366
+ out[0] = near * 2 * rl;
8367
+ out[1] = 0;
8368
+ out[2] = 0;
8369
+ out[3] = 0;
8370
+ out[4] = 0;
8371
+ out[5] = near * 2 * tb;
8372
+ out[6] = 0;
8373
+ out[7] = 0;
8374
+ out[8] = (right + left) * rl;
8375
+ out[9] = (top + bottom) * tb;
8376
+ out[10] = (far + near) * nf;
8377
+ out[11] = -1;
8378
+ out[12] = 0;
8379
+ out[13] = 0;
8380
+ out[14] = far * near * 2 * nf;
8381
+ out[15] = 0;
8382
+ return out;
8383
+ }
8384
+ function perspectiveNO(out, fovy, aspect, near, far) {
8385
+ var f = 1 / Math.tan(fovy / 2);
8386
+ out[0] = f / aspect;
8387
+ out[1] = 0;
8388
+ out[2] = 0;
8389
+ out[3] = 0;
8390
+ out[4] = 0;
8391
+ out[5] = f;
8392
+ out[6] = 0;
8393
+ out[7] = 0;
8394
+ out[8] = 0;
8395
+ out[9] = 0;
8396
+ out[11] = -1;
8397
+ out[12] = 0;
8398
+ out[13] = 0;
8399
+ out[15] = 0;
8400
+ if (far != null && far !== Infinity) {
8401
+ var nf = 1 / (near - far);
8402
+ out[10] = (far + near) * nf;
8403
+ out[14] = 2 * far * near * nf;
8404
+ } else {
8405
+ out[10] = -1;
8406
+ out[14] = -2 * near;
8407
+ }
8408
+ return out;
8409
+ }
8410
+ var perspective = perspectiveNO;
8411
+ function perspectiveZO(out, fovy, aspect, near, far) {
8412
+ var f = 1 / Math.tan(fovy / 2);
8413
+ out[0] = f / aspect;
8414
+ out[1] = 0;
8415
+ out[2] = 0;
8416
+ out[3] = 0;
8417
+ out[4] = 0;
8418
+ out[5] = f;
8419
+ out[6] = 0;
8420
+ out[7] = 0;
8421
+ out[8] = 0;
8422
+ out[9] = 0;
8423
+ out[11] = -1;
8424
+ out[12] = 0;
8425
+ out[13] = 0;
8426
+ out[15] = 0;
8427
+ if (far != null && far !== Infinity) {
8428
+ var nf = 1 / (near - far);
8429
+ out[10] = far * nf;
8430
+ out[14] = far * near * nf;
8431
+ } else {
8432
+ out[10] = -1;
8433
+ out[14] = -near;
8434
+ }
8435
+ return out;
8436
+ }
8437
+ function perspectiveFromFieldOfView(out, fov, near, far) {
8438
+ var upTan = Math.tan(fov.upDegrees * Math.PI / 180);
8439
+ var downTan = Math.tan(fov.downDegrees * Math.PI / 180);
8440
+ var leftTan = Math.tan(fov.leftDegrees * Math.PI / 180);
8441
+ var rightTan = Math.tan(fov.rightDegrees * Math.PI / 180);
8442
+ var xScale = 2 / (leftTan + rightTan);
8443
+ var yScale = 2 / (upTan + downTan);
8444
+ out[0] = xScale;
8445
+ out[1] = 0;
8446
+ out[2] = 0;
8447
+ out[3] = 0;
8448
+ out[4] = 0;
8449
+ out[5] = yScale;
8450
+ out[6] = 0;
8451
+ out[7] = 0;
8452
+ out[8] = -((leftTan - rightTan) * xScale * 0.5);
8453
+ out[9] = (upTan - downTan) * yScale * 0.5;
8454
+ out[10] = far / (near - far);
8455
+ out[11] = -1;
8456
+ out[12] = 0;
8457
+ out[13] = 0;
8458
+ out[14] = far * near / (near - far);
8459
+ out[15] = 0;
8460
+ return out;
8461
+ }
8462
+ function orthoNO(out, left, right, bottom, top, near, far) {
8463
+ var lr = 1 / (left - right);
8464
+ var bt = 1 / (bottom - top);
8465
+ var nf = 1 / (near - far);
8466
+ out[0] = -2 * lr;
8467
+ out[1] = 0;
8468
+ out[2] = 0;
8469
+ out[3] = 0;
8470
+ out[4] = 0;
8471
+ out[5] = -2 * bt;
8472
+ out[6] = 0;
8473
+ out[7] = 0;
8474
+ out[8] = 0;
8475
+ out[9] = 0;
8476
+ out[10] = 2 * nf;
8477
+ out[11] = 0;
8478
+ out[12] = (left + right) * lr;
8479
+ out[13] = (top + bottom) * bt;
8480
+ out[14] = (far + near) * nf;
8481
+ out[15] = 1;
8482
+ return out;
8483
+ }
8484
+ var ortho = orthoNO;
8485
+ function orthoZO(out, left, right, bottom, top, near, far) {
8486
+ var lr = 1 / (left - right);
8487
+ var bt = 1 / (bottom - top);
8488
+ var nf = 1 / (near - far);
8489
+ out[0] = -2 * lr;
8490
+ out[1] = 0;
8491
+ out[2] = 0;
8492
+ out[3] = 0;
8493
+ out[4] = 0;
8494
+ out[5] = -2 * bt;
8495
+ out[6] = 0;
8496
+ out[7] = 0;
8497
+ out[8] = 0;
8498
+ out[9] = 0;
8499
+ out[10] = nf;
8500
+ out[11] = 0;
8501
+ out[12] = (left + right) * lr;
8502
+ out[13] = (top + bottom) * bt;
8503
+ out[14] = near * nf;
8504
+ out[15] = 1;
8505
+ return out;
8506
+ }
8507
+ function lookAt(out, eye, center, up) {
8508
+ var x0, x1, x2, y0, y1, y2, z0, z1, z2, len2;
8509
+ var eyex = eye[0];
8510
+ var eyey = eye[1];
8511
+ var eyez = eye[2];
8512
+ var upx = up[0];
8513
+ var upy = up[1];
8514
+ var upz = up[2];
8515
+ var centerx = center[0];
8516
+ var centery = center[1];
8517
+ var centerz = center[2];
8518
+ if (Math.abs(eyex - centerx) < EPSILON && Math.abs(eyey - centery) < EPSILON && Math.abs(eyez - centerz) < EPSILON) {
8519
+ return identity(out);
8520
+ }
8521
+ z0 = eyex - centerx;
8522
+ z1 = eyey - centery;
8523
+ z2 = eyez - centerz;
8524
+ len2 = 1 / Math.sqrt(z0 * z0 + z1 * z1 + z2 * z2);
8525
+ z0 *= len2;
8526
+ z1 *= len2;
8527
+ z2 *= len2;
8528
+ x0 = upy * z2 - upz * z1;
8529
+ x1 = upz * z0 - upx * z2;
8530
+ x2 = upx * z1 - upy * z0;
8531
+ len2 = Math.sqrt(x0 * x0 + x1 * x1 + x2 * x2);
8532
+ if (!len2) {
8533
+ x0 = 0;
8534
+ x1 = 0;
8535
+ x2 = 0;
8536
+ } else {
8537
+ len2 = 1 / len2;
8538
+ x0 *= len2;
8539
+ x1 *= len2;
8540
+ x2 *= len2;
8541
+ }
8542
+ y0 = z1 * x2 - z2 * x1;
8543
+ y1 = z2 * x0 - z0 * x2;
8544
+ y2 = z0 * x1 - z1 * x0;
8545
+ len2 = Math.sqrt(y0 * y0 + y1 * y1 + y2 * y2);
8546
+ if (!len2) {
8547
+ y0 = 0;
8548
+ y1 = 0;
8549
+ y2 = 0;
8550
+ } else {
8551
+ len2 = 1 / len2;
8552
+ y0 *= len2;
8553
+ y1 *= len2;
8554
+ y2 *= len2;
8555
+ }
8556
+ out[0] = x0;
8557
+ out[1] = y0;
8558
+ out[2] = z0;
8559
+ out[3] = 0;
8560
+ out[4] = x1;
8561
+ out[5] = y1;
8562
+ out[6] = z1;
8563
+ out[7] = 0;
8564
+ out[8] = x2;
8565
+ out[9] = y2;
8566
+ out[10] = z2;
8567
+ out[11] = 0;
8568
+ out[12] = -(x0 * eyex + x1 * eyey + x2 * eyez);
8569
+ out[13] = -(y0 * eyex + y1 * eyey + y2 * eyez);
8570
+ out[14] = -(z0 * eyex + z1 * eyey + z2 * eyez);
8571
+ out[15] = 1;
8572
+ return out;
8573
+ }
8574
+ function targetTo(out, eye, target, up) {
8575
+ var eyex = eye[0], eyey = eye[1], eyez = eye[2], upx = up[0], upy = up[1], upz = up[2];
8576
+ var z0 = eyex - target[0], z1 = eyey - target[1], z2 = eyez - target[2];
8577
+ var len2 = z0 * z0 + z1 * z1 + z2 * z2;
8578
+ if (len2 > 0) {
8579
+ len2 = 1 / Math.sqrt(len2);
8580
+ z0 *= len2;
8581
+ z1 *= len2;
8582
+ z2 *= len2;
8583
+ }
8584
+ var x0 = upy * z2 - upz * z1, x1 = upz * z0 - upx * z2, x2 = upx * z1 - upy * z0;
8585
+ len2 = x0 * x0 + x1 * x1 + x2 * x2;
8586
+ if (len2 > 0) {
8587
+ len2 = 1 / Math.sqrt(len2);
8588
+ x0 *= len2;
8589
+ x1 *= len2;
8590
+ x2 *= len2;
8591
+ }
8592
+ out[0] = x0;
8593
+ out[1] = x1;
8594
+ out[2] = x2;
8595
+ out[3] = 0;
8596
+ out[4] = z1 * x2 - z2 * x1;
8597
+ out[5] = z2 * x0 - z0 * x2;
8598
+ out[6] = z0 * x1 - z1 * x0;
8599
+ out[7] = 0;
8600
+ out[8] = z0;
8601
+ out[9] = z1;
8602
+ out[10] = z2;
8603
+ out[11] = 0;
8604
+ out[12] = eyex;
8605
+ out[13] = eyey;
8606
+ out[14] = eyez;
8607
+ out[15] = 1;
8608
+ return out;
8609
+ }
8610
+ function str(a) {
8611
+ return "mat4(" + a[0] + ", " + a[1] + ", " + a[2] + ", " + a[3] + ", " + a[4] + ", " + a[5] + ", " + a[6] + ", " + a[7] + ", " + a[8] + ", " + a[9] + ", " + a[10] + ", " + a[11] + ", " + a[12] + ", " + a[13] + ", " + a[14] + ", " + a[15] + ")";
8612
+ }
8613
+ function frob(a) {
8614
+ return Math.sqrt(a[0] * a[0] + a[1] * a[1] + a[2] * a[2] + a[3] * a[3] + a[4] * a[4] + a[5] * a[5] + a[6] * a[6] + a[7] * a[7] + a[8] * a[8] + a[9] * a[9] + a[10] * a[10] + a[11] * a[11] + a[12] * a[12] + a[13] * a[13] + a[14] * a[14] + a[15] * a[15]);
8615
+ }
8616
+ function add(out, a, b) {
8617
+ out[0] = a[0] + b[0];
8618
+ out[1] = a[1] + b[1];
8619
+ out[2] = a[2] + b[2];
8620
+ out[3] = a[3] + b[3];
8621
+ out[4] = a[4] + b[4];
8622
+ out[5] = a[5] + b[5];
8623
+ out[6] = a[6] + b[6];
8624
+ out[7] = a[7] + b[7];
8625
+ out[8] = a[8] + b[8];
8626
+ out[9] = a[9] + b[9];
8627
+ out[10] = a[10] + b[10];
8628
+ out[11] = a[11] + b[11];
8629
+ out[12] = a[12] + b[12];
8630
+ out[13] = a[13] + b[13];
8631
+ out[14] = a[14] + b[14];
8632
+ out[15] = a[15] + b[15];
8633
+ return out;
8634
+ }
8635
+ function subtract(out, a, b) {
8636
+ out[0] = a[0] - b[0];
8637
+ out[1] = a[1] - b[1];
8638
+ out[2] = a[2] - b[2];
8639
+ out[3] = a[3] - b[3];
8640
+ out[4] = a[4] - b[4];
8641
+ out[5] = a[5] - b[5];
8642
+ out[6] = a[6] - b[6];
8643
+ out[7] = a[7] - b[7];
8644
+ out[8] = a[8] - b[8];
8645
+ out[9] = a[9] - b[9];
8646
+ out[10] = a[10] - b[10];
8647
+ out[11] = a[11] - b[11];
8648
+ out[12] = a[12] - b[12];
8649
+ out[13] = a[13] - b[13];
8650
+ out[14] = a[14] - b[14];
8651
+ out[15] = a[15] - b[15];
8652
+ return out;
8653
+ }
8654
+ function multiplyScalar(out, a, b) {
8655
+ out[0] = a[0] * b;
8656
+ out[1] = a[1] * b;
8657
+ out[2] = a[2] * b;
8658
+ out[3] = a[3] * b;
8659
+ out[4] = a[4] * b;
8660
+ out[5] = a[5] * b;
8661
+ out[6] = a[6] * b;
8662
+ out[7] = a[7] * b;
8663
+ out[8] = a[8] * b;
8664
+ out[9] = a[9] * b;
8665
+ out[10] = a[10] * b;
8666
+ out[11] = a[11] * b;
8667
+ out[12] = a[12] * b;
8668
+ out[13] = a[13] * b;
8669
+ out[14] = a[14] * b;
8670
+ out[15] = a[15] * b;
8671
+ return out;
8672
+ }
8673
+ function multiplyScalarAndAdd(out, a, b, scale3) {
8674
+ out[0] = a[0] + b[0] * scale3;
8675
+ out[1] = a[1] + b[1] * scale3;
8676
+ out[2] = a[2] + b[2] * scale3;
8677
+ out[3] = a[3] + b[3] * scale3;
8678
+ out[4] = a[4] + b[4] * scale3;
8679
+ out[5] = a[5] + b[5] * scale3;
8680
+ out[6] = a[6] + b[6] * scale3;
8681
+ out[7] = a[7] + b[7] * scale3;
8682
+ out[8] = a[8] + b[8] * scale3;
8683
+ out[9] = a[9] + b[9] * scale3;
8684
+ out[10] = a[10] + b[10] * scale3;
8685
+ out[11] = a[11] + b[11] * scale3;
8686
+ out[12] = a[12] + b[12] * scale3;
8687
+ out[13] = a[13] + b[13] * scale3;
8688
+ out[14] = a[14] + b[14] * scale3;
8689
+ out[15] = a[15] + b[15] * scale3;
8690
+ return out;
8691
+ }
8692
+ function exactEquals(a, b) {
8693
+ return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8] && a[9] === b[9] && a[10] === b[10] && a[11] === b[11] && a[12] === b[12] && a[13] === b[13] && a[14] === b[14] && a[15] === b[15];
8694
+ }
8695
+ function equals(a, b) {
8696
+ var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3];
8697
+ var a4 = a[4], a5 = a[5], a6 = a[6], a7 = a[7];
8698
+ var a8 = a[8], a9 = a[9], a10 = a[10], a11 = a[11];
8699
+ var a12 = a[12], a13 = a[13], a14 = a[14], a15 = a[15];
8700
+ var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3];
8701
+ var b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7];
8702
+ var b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11];
8703
+ var b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];
8704
+ return Math.abs(a0 - b0) <= EPSILON * Math.max(1, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= EPSILON * Math.max(1, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= EPSILON * Math.max(1, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= EPSILON * Math.max(1, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= EPSILON * Math.max(1, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= EPSILON * Math.max(1, Math.abs(a5), Math.abs(b5)) && Math.abs(a6 - b6) <= EPSILON * Math.max(1, Math.abs(a6), Math.abs(b6)) && Math.abs(a7 - b7) <= EPSILON * Math.max(1, Math.abs(a7), Math.abs(b7)) && Math.abs(a8 - b8) <= EPSILON * Math.max(1, Math.abs(a8), Math.abs(b8)) && Math.abs(a9 - b9) <= EPSILON * Math.max(1, Math.abs(a9), Math.abs(b9)) && Math.abs(a10 - b10) <= EPSILON * Math.max(1, Math.abs(a10), Math.abs(b10)) && Math.abs(a11 - b11) <= EPSILON * Math.max(1, Math.abs(a11), Math.abs(b11)) && Math.abs(a12 - b12) <= EPSILON * Math.max(1, Math.abs(a12), Math.abs(b12)) && Math.abs(a13 - b13) <= EPSILON * Math.max(1, Math.abs(a13), Math.abs(b13)) && Math.abs(a14 - b14) <= EPSILON * Math.max(1, Math.abs(a14), Math.abs(b14)) && Math.abs(a15 - b15) <= EPSILON * Math.max(1, Math.abs(a15), Math.abs(b15));
8705
+ }
8706
+ var mul = multiply;
8707
+ var sub = subtract;
8708
+
8709
+ // ../../node_modules/.pnpm/gl-matrix@3.4.4/node_modules/gl-matrix/esm/vec3.js
8710
+ var vec3_exports = {};
8711
+ __export(vec3_exports, {
8712
+ add: () => add2,
8713
+ angle: () => angle,
8714
+ bezier: () => bezier,
8715
+ ceil: () => ceil,
8716
+ clone: () => clone2,
8717
+ copy: () => copy2,
8718
+ create: () => create2,
8719
+ cross: () => cross,
8720
+ dist: () => dist,
8721
+ distance: () => distance,
8722
+ div: () => div,
8723
+ divide: () => divide,
8724
+ dot: () => dot,
8725
+ equals: () => equals2,
8726
+ exactEquals: () => exactEquals2,
8727
+ floor: () => floor,
8728
+ forEach: () => forEach,
8729
+ fromValues: () => fromValues2,
8730
+ hermite: () => hermite,
8731
+ inverse: () => inverse,
8732
+ len: () => len,
8733
+ length: () => length,
8734
+ lerp: () => lerp2,
8735
+ max: () => max,
8736
+ min: () => min,
8737
+ mul: () => mul2,
8738
+ multiply: () => multiply2,
8739
+ negate: () => negate,
8740
+ normalize: () => normalize,
8741
+ random: () => random,
8742
+ rotateX: () => rotateX2,
8743
+ rotateY: () => rotateY2,
8744
+ rotateZ: () => rotateZ2,
8745
+ round: () => round2,
8746
+ scale: () => scale2,
8747
+ scaleAndAdd: () => scaleAndAdd,
8748
+ set: () => set2,
8749
+ slerp: () => slerp,
8750
+ sqrDist: () => sqrDist,
8751
+ sqrLen: () => sqrLen,
8752
+ squaredDistance: () => squaredDistance,
8753
+ squaredLength: () => squaredLength,
8754
+ str: () => str2,
8755
+ sub: () => sub2,
8756
+ subtract: () => subtract2,
8757
+ transformMat3: () => transformMat3,
8758
+ transformMat4: () => transformMat4,
8759
+ transformQuat: () => transformQuat,
8760
+ zero: () => zero
8761
+ });
8762
+ function create2() {
8763
+ var out = new ARRAY_TYPE(3);
8764
+ if (ARRAY_TYPE != Float32Array) {
8765
+ out[0] = 0;
8766
+ out[1] = 0;
8767
+ out[2] = 0;
8768
+ }
8769
+ return out;
8770
+ }
8771
+ function clone2(a) {
8772
+ var out = new ARRAY_TYPE(3);
8773
+ out[0] = a[0];
8774
+ out[1] = a[1];
8775
+ out[2] = a[2];
8776
+ return out;
8777
+ }
8778
+ function length(a) {
8779
+ var x = a[0];
8780
+ var y = a[1];
8781
+ var z = a[2];
8782
+ return Math.sqrt(x * x + y * y + z * z);
8783
+ }
8784
+ function fromValues2(x, y, z) {
8785
+ var out = new ARRAY_TYPE(3);
8786
+ out[0] = x;
8787
+ out[1] = y;
8788
+ out[2] = z;
8789
+ return out;
8790
+ }
8791
+ function copy2(out, a) {
8792
+ out[0] = a[0];
8793
+ out[1] = a[1];
8794
+ out[2] = a[2];
8795
+ return out;
8796
+ }
8797
+ function set2(out, x, y, z) {
8798
+ out[0] = x;
8799
+ out[1] = y;
8800
+ out[2] = z;
8801
+ return out;
8802
+ }
8803
+ function add2(out, a, b) {
8804
+ out[0] = a[0] + b[0];
8805
+ out[1] = a[1] + b[1];
8806
+ out[2] = a[2] + b[2];
8807
+ return out;
8808
+ }
8809
+ function subtract2(out, a, b) {
8810
+ out[0] = a[0] - b[0];
8811
+ out[1] = a[1] - b[1];
8812
+ out[2] = a[2] - b[2];
8813
+ return out;
8814
+ }
8815
+ function multiply2(out, a, b) {
8816
+ out[0] = a[0] * b[0];
8817
+ out[1] = a[1] * b[1];
8818
+ out[2] = a[2] * b[2];
8819
+ return out;
8820
+ }
8821
+ function divide(out, a, b) {
8822
+ out[0] = a[0] / b[0];
8823
+ out[1] = a[1] / b[1];
8824
+ out[2] = a[2] / b[2];
8825
+ return out;
8826
+ }
8827
+ function ceil(out, a) {
8828
+ out[0] = Math.ceil(a[0]);
8829
+ out[1] = Math.ceil(a[1]);
8830
+ out[2] = Math.ceil(a[2]);
8831
+ return out;
8832
+ }
8833
+ function floor(out, a) {
8834
+ out[0] = Math.floor(a[0]);
8835
+ out[1] = Math.floor(a[1]);
8836
+ out[2] = Math.floor(a[2]);
8837
+ return out;
8838
+ }
8839
+ function min(out, a, b) {
8840
+ out[0] = Math.min(a[0], b[0]);
8841
+ out[1] = Math.min(a[1], b[1]);
8842
+ out[2] = Math.min(a[2], b[2]);
8843
+ return out;
8844
+ }
8845
+ function max(out, a, b) {
8846
+ out[0] = Math.max(a[0], b[0]);
8847
+ out[1] = Math.max(a[1], b[1]);
8848
+ out[2] = Math.max(a[2], b[2]);
8849
+ return out;
8850
+ }
8851
+ function round2(out, a) {
8852
+ out[0] = round(a[0]);
8853
+ out[1] = round(a[1]);
8854
+ out[2] = round(a[2]);
8855
+ return out;
8856
+ }
8857
+ function scale2(out, a, b) {
8858
+ out[0] = a[0] * b;
8859
+ out[1] = a[1] * b;
8860
+ out[2] = a[2] * b;
8861
+ return out;
8862
+ }
8863
+ function scaleAndAdd(out, a, b, scale3) {
8864
+ out[0] = a[0] + b[0] * scale3;
8865
+ out[1] = a[1] + b[1] * scale3;
8866
+ out[2] = a[2] + b[2] * scale3;
8867
+ return out;
8868
+ }
8869
+ function distance(a, b) {
8870
+ var x = b[0] - a[0];
8871
+ var y = b[1] - a[1];
8872
+ var z = b[2] - a[2];
8873
+ return Math.sqrt(x * x + y * y + z * z);
8874
+ }
8875
+ function squaredDistance(a, b) {
8876
+ var x = b[0] - a[0];
8877
+ var y = b[1] - a[1];
8878
+ var z = b[2] - a[2];
8879
+ return x * x + y * y + z * z;
8880
+ }
8881
+ function squaredLength(a) {
8882
+ var x = a[0];
8883
+ var y = a[1];
8884
+ var z = a[2];
8885
+ return x * x + y * y + z * z;
8886
+ }
8887
+ function negate(out, a) {
8888
+ out[0] = -a[0];
8889
+ out[1] = -a[1];
8890
+ out[2] = -a[2];
8891
+ return out;
8892
+ }
8893
+ function inverse(out, a) {
8894
+ out[0] = 1 / a[0];
8895
+ out[1] = 1 / a[1];
8896
+ out[2] = 1 / a[2];
8897
+ return out;
8898
+ }
8899
+ function normalize(out, a) {
8900
+ var x = a[0];
8901
+ var y = a[1];
8902
+ var z = a[2];
8903
+ var len2 = x * x + y * y + z * z;
8904
+ if (len2 > 0) {
8905
+ len2 = 1 / Math.sqrt(len2);
8906
+ }
8907
+ out[0] = a[0] * len2;
8908
+ out[1] = a[1] * len2;
8909
+ out[2] = a[2] * len2;
8910
+ return out;
8911
+ }
8912
+ function dot(a, b) {
8913
+ return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
8914
+ }
8915
+ function cross(out, a, b) {
8916
+ var ax = a[0], ay = a[1], az = a[2];
8917
+ var bx = b[0], by = b[1], bz = b[2];
8918
+ out[0] = ay * bz - az * by;
8919
+ out[1] = az * bx - ax * bz;
8920
+ out[2] = ax * by - ay * bx;
8921
+ return out;
8922
+ }
8923
+ function lerp2(out, a, b, t) {
8924
+ var ax = a[0];
8925
+ var ay = a[1];
8926
+ var az = a[2];
8927
+ out[0] = ax + t * (b[0] - ax);
8928
+ out[1] = ay + t * (b[1] - ay);
8929
+ out[2] = az + t * (b[2] - az);
8930
+ return out;
8931
+ }
8932
+ function slerp(out, a, b, t) {
8933
+ var angle2 = Math.acos(Math.min(Math.max(dot(a, b), -1), 1));
8934
+ var sinTotal = Math.sin(angle2);
8935
+ var ratioA = Math.sin((1 - t) * angle2) / sinTotal;
8936
+ var ratioB = Math.sin(t * angle2) / sinTotal;
8937
+ out[0] = ratioA * a[0] + ratioB * b[0];
8938
+ out[1] = ratioA * a[1] + ratioB * b[1];
8939
+ out[2] = ratioA * a[2] + ratioB * b[2];
8940
+ return out;
8941
+ }
8942
+ function hermite(out, a, b, c, d, t) {
8943
+ var factorTimes2 = t * t;
8944
+ var factor1 = factorTimes2 * (2 * t - 3) + 1;
8945
+ var factor2 = factorTimes2 * (t - 2) + t;
8946
+ var factor3 = factorTimes2 * (t - 1);
8947
+ var factor4 = factorTimes2 * (3 - 2 * t);
8948
+ out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4;
8949
+ out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4;
8950
+ out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4;
8951
+ return out;
8952
+ }
8953
+ function bezier(out, a, b, c, d, t) {
8954
+ var inverseFactor = 1 - t;
8955
+ var inverseFactorTimesTwo = inverseFactor * inverseFactor;
8956
+ var factorTimes2 = t * t;
8957
+ var factor1 = inverseFactorTimesTwo * inverseFactor;
8958
+ var factor2 = 3 * t * inverseFactorTimesTwo;
8959
+ var factor3 = 3 * factorTimes2 * inverseFactor;
8960
+ var factor4 = factorTimes2 * t;
8961
+ out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4;
8962
+ out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4;
8963
+ out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4;
8964
+ return out;
8965
+ }
8966
+ function random(out, scale3) {
8967
+ scale3 = scale3 === void 0 ? 1 : scale3;
8968
+ var r = RANDOM() * 2 * Math.PI;
8969
+ var z = RANDOM() * 2 - 1;
8970
+ var zScale = Math.sqrt(1 - z * z) * scale3;
8971
+ out[0] = Math.cos(r) * zScale;
8972
+ out[1] = Math.sin(r) * zScale;
8973
+ out[2] = z * scale3;
8974
+ return out;
8975
+ }
8976
+ function transformMat4(out, a, m) {
8977
+ var x = a[0], y = a[1], z = a[2];
8978
+ var w = m[3] * x + m[7] * y + m[11] * z + m[15];
8979
+ w = w || 1;
8980
+ out[0] = (m[0] * x + m[4] * y + m[8] * z + m[12]) / w;
8981
+ out[1] = (m[1] * x + m[5] * y + m[9] * z + m[13]) / w;
8982
+ out[2] = (m[2] * x + m[6] * y + m[10] * z + m[14]) / w;
8983
+ return out;
8984
+ }
8985
+ function transformMat3(out, a, m) {
8986
+ var x = a[0], y = a[1], z = a[2];
8987
+ out[0] = x * m[0] + y * m[3] + z * m[6];
8988
+ out[1] = x * m[1] + y * m[4] + z * m[7];
8989
+ out[2] = x * m[2] + y * m[5] + z * m[8];
8990
+ return out;
8991
+ }
8992
+ function transformQuat(out, a, q) {
8993
+ var qx = q[0], qy = q[1], qz = q[2], qw = q[3];
8994
+ var vx = a[0], vy = a[1], vz = a[2];
8995
+ var tx = qy * vz - qz * vy;
8996
+ var ty = qz * vx - qx * vz;
8997
+ var tz = qx * vy - qy * vx;
8998
+ tx = tx + tx;
8999
+ ty = ty + ty;
9000
+ tz = tz + tz;
9001
+ out[0] = vx + qw * tx + qy * tz - qz * ty;
9002
+ out[1] = vy + qw * ty + qz * tx - qx * tz;
9003
+ out[2] = vz + qw * tz + qx * ty - qy * tx;
9004
+ return out;
9005
+ }
9006
+ function rotateX2(out, a, b, rad) {
9007
+ var p = [], r = [];
9008
+ p[0] = a[0] - b[0];
9009
+ p[1] = a[1] - b[1];
9010
+ p[2] = a[2] - b[2];
9011
+ r[0] = p[0];
9012
+ r[1] = p[1] * Math.cos(rad) - p[2] * Math.sin(rad);
9013
+ r[2] = p[1] * Math.sin(rad) + p[2] * Math.cos(rad);
9014
+ out[0] = r[0] + b[0];
9015
+ out[1] = r[1] + b[1];
9016
+ out[2] = r[2] + b[2];
9017
+ return out;
9018
+ }
9019
+ function rotateY2(out, a, b, rad) {
9020
+ var p = [], r = [];
9021
+ p[0] = a[0] - b[0];
9022
+ p[1] = a[1] - b[1];
9023
+ p[2] = a[2] - b[2];
9024
+ r[0] = p[2] * Math.sin(rad) + p[0] * Math.cos(rad);
9025
+ r[1] = p[1];
9026
+ r[2] = p[2] * Math.cos(rad) - p[0] * Math.sin(rad);
9027
+ out[0] = r[0] + b[0];
9028
+ out[1] = r[1] + b[1];
9029
+ out[2] = r[2] + b[2];
9030
+ return out;
9031
+ }
9032
+ function rotateZ2(out, a, b, rad) {
9033
+ var p = [], r = [];
9034
+ p[0] = a[0] - b[0];
9035
+ p[1] = a[1] - b[1];
9036
+ p[2] = a[2] - b[2];
9037
+ r[0] = p[0] * Math.cos(rad) - p[1] * Math.sin(rad);
9038
+ r[1] = p[0] * Math.sin(rad) + p[1] * Math.cos(rad);
9039
+ r[2] = p[2];
9040
+ out[0] = r[0] + b[0];
9041
+ out[1] = r[1] + b[1];
9042
+ out[2] = r[2] + b[2];
9043
+ return out;
9044
+ }
9045
+ function angle(a, b) {
9046
+ var ax = a[0], ay = a[1], az = a[2], bx = b[0], by = b[1], bz = b[2], mag = Math.sqrt((ax * ax + ay * ay + az * az) * (bx * bx + by * by + bz * bz)), cosine = mag && dot(a, b) / mag;
9047
+ return Math.acos(Math.min(Math.max(cosine, -1), 1));
9048
+ }
9049
+ function zero(out) {
9050
+ out[0] = 0;
9051
+ out[1] = 0;
9052
+ out[2] = 0;
9053
+ return out;
9054
+ }
9055
+ function str2(a) {
9056
+ return "vec3(" + a[0] + ", " + a[1] + ", " + a[2] + ")";
9057
+ }
9058
+ function exactEquals2(a, b) {
9059
+ return a[0] === b[0] && a[1] === b[1] && a[2] === b[2];
9060
+ }
9061
+ function equals2(a, b) {
9062
+ var a0 = a[0], a1 = a[1], a2 = a[2];
9063
+ var b0 = b[0], b1 = b[1], b2 = b[2];
9064
+ return Math.abs(a0 - b0) <= EPSILON * Math.max(1, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= EPSILON * Math.max(1, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= EPSILON * Math.max(1, Math.abs(a2), Math.abs(b2));
9065
+ }
9066
+ var sub2 = subtract2;
9067
+ var mul2 = multiply2;
9068
+ var div = divide;
9069
+ var dist = distance;
9070
+ var sqrDist = squaredDistance;
9071
+ var len = length;
9072
+ var sqrLen = squaredLength;
9073
+ var forEach = (function() {
9074
+ var vec = create2();
9075
+ return function(a, stride, offset, count, fn, arg) {
9076
+ var i, l;
9077
+ if (!stride) {
9078
+ stride = 3;
9079
+ }
9080
+ if (!offset) {
9081
+ offset = 0;
9082
+ }
9083
+ if (count) {
9084
+ l = Math.min(count * stride + offset, a.length);
9085
+ } else {
9086
+ l = a.length;
9087
+ }
9088
+ for (i = offset; i < l; i += stride) {
9089
+ vec[0] = a[i];
9090
+ vec[1] = a[i + 1];
9091
+ vec[2] = a[i + 2];
9092
+ fn(vec, vec, arg);
9093
+ a[i] = vec[0];
9094
+ a[i + 1] = vec[1];
9095
+ a[i + 2] = vec[2];
9096
+ }
9097
+ return a;
9098
+ };
9099
+ })();
9100
+
7378
9101
  // src/render/camera.ts
7379
- var import_gl_matrix = require("gl-matrix");
7380
9102
  var Camera = class {
7381
9103
  constructor() {
7382
- this._position = import_gl_matrix.vec3.create();
7383
- this._angles = import_gl_matrix.vec3.create();
9104
+ this._position = vec3_exports.create();
9105
+ this._angles = vec3_exports.create();
7384
9106
  // pitch, yaw, roll
7385
- this._bobAngles = import_gl_matrix.vec3.create();
7386
- this._bobOffset = import_gl_matrix.vec3.create();
7387
- this._kickAngles = import_gl_matrix.vec3.create();
9107
+ this._bobAngles = vec3_exports.create();
9108
+ this._bobOffset = vec3_exports.create();
9109
+ this._kickAngles = vec3_exports.create();
7388
9110
  this._rollAngle = 0;
7389
9111
  this._fov = 90;
7390
9112
  this._aspect = 1;
7391
9113
  this._near = 0.1;
7392
9114
  this._far = 1e3;
7393
- this._viewMatrix = import_gl_matrix.mat4.create();
7394
- this._projectionMatrix = import_gl_matrix.mat4.create();
7395
- this._viewProjectionMatrix = import_gl_matrix.mat4.create();
9115
+ this._viewMatrix = mat4_exports.create();
9116
+ this._projectionMatrix = mat4_exports.create();
9117
+ this._viewProjectionMatrix = mat4_exports.create();
7396
9118
  this._dirty = true;
7397
9119
  }
7398
9120
  get position() {
7399
9121
  return this._position;
7400
9122
  }
7401
9123
  set position(value) {
7402
- if (!import_gl_matrix.vec3.equals(this._position, value)) {
7403
- import_gl_matrix.vec3.copy(this._position, value);
9124
+ if (!vec3_exports.equals(this._position, value)) {
9125
+ vec3_exports.copy(this._position, value);
7404
9126
  this._dirty = true;
7405
9127
  this.triggerMoveEvent();
7406
9128
  }
@@ -7409,8 +9131,8 @@ var Camera = class {
7409
9131
  return this._angles;
7410
9132
  }
7411
9133
  set angles(value) {
7412
- if (!import_gl_matrix.vec3.equals(this._angles, value)) {
7413
- import_gl_matrix.vec3.copy(this._angles, value);
9134
+ if (!vec3_exports.equals(this._angles, value)) {
9135
+ vec3_exports.copy(this._angles, value);
7414
9136
  this._dirty = true;
7415
9137
  this.triggerMoveEvent();
7416
9138
  }
@@ -7419,21 +9141,21 @@ var Camera = class {
7419
9141
  return this._bobAngles;
7420
9142
  }
7421
9143
  set bobAngles(value) {
7422
- import_gl_matrix.vec3.copy(this._bobAngles, value);
9144
+ vec3_exports.copy(this._bobAngles, value);
7423
9145
  this._dirty = true;
7424
9146
  }
7425
9147
  get kickAngles() {
7426
9148
  return this._kickAngles;
7427
9149
  }
7428
9150
  set kickAngles(value) {
7429
- import_gl_matrix.vec3.copy(this._kickAngles, value);
9151
+ vec3_exports.copy(this._kickAngles, value);
7430
9152
  this._dirty = true;
7431
9153
  }
7432
9154
  get bobOffset() {
7433
9155
  return this._bobOffset;
7434
9156
  }
7435
9157
  set bobOffset(value) {
7436
- import_gl_matrix.vec3.copy(this._bobOffset, value);
9158
+ vec3_exports.copy(this._bobOffset, value);
7437
9159
  this._dirty = true;
7438
9160
  }
7439
9161
  get rollAngle() {
@@ -7459,17 +9181,17 @@ var Camera = class {
7459
9181
  }
7460
9182
  // API Methods
7461
9183
  setPosition(x, y, z) {
7462
- const newPos = import_gl_matrix.vec3.fromValues(x, y, z);
7463
- if (!import_gl_matrix.vec3.equals(this._position, newPos)) {
7464
- import_gl_matrix.vec3.copy(this._position, newPos);
9184
+ const newPos = vec3_exports.fromValues(x, y, z);
9185
+ if (!vec3_exports.equals(this._position, newPos)) {
9186
+ vec3_exports.copy(this._position, newPos);
7465
9187
  this._dirty = true;
7466
9188
  this.triggerMoveEvent();
7467
9189
  }
7468
9190
  }
7469
9191
  setRotation(pitch, yaw, roll) {
7470
- const newAngles = import_gl_matrix.vec3.fromValues(pitch, yaw, roll);
7471
- if (!import_gl_matrix.vec3.equals(this._angles, newAngles)) {
7472
- import_gl_matrix.vec3.copy(this._angles, newAngles);
9192
+ const newAngles = vec3_exports.fromValues(pitch, yaw, roll);
9193
+ if (!vec3_exports.equals(this._angles, newAngles)) {
9194
+ vec3_exports.copy(this._angles, newAngles);
7473
9195
  this._dirty = true;
7474
9196
  this.triggerMoveEvent();
7475
9197
  }
@@ -7481,10 +9203,10 @@ var Camera = class {
7481
9203
  this.aspect = aspect;
7482
9204
  }
7483
9205
  lookAt(target) {
7484
- const direction = import_gl_matrix.vec3.create();
7485
- import_gl_matrix.vec3.subtract(direction, target, this._position);
7486
- const len = import_gl_matrix.vec3.length(direction);
7487
- if (len < 1e-3) return;
9206
+ const direction = vec3_exports.create();
9207
+ vec3_exports.subtract(direction, target, this._position);
9208
+ const len2 = vec3_exports.length(direction);
9209
+ if (len2 < 1e-3) return;
7488
9210
  const yaw = Math.atan2(direction[1], direction[0]) * RAD2DEG;
7489
9211
  const hyp = Math.hypot(direction[0], direction[1]);
7490
9212
  const pitch = -Math.atan2(direction[2], hyp) * RAD2DEG;
@@ -7493,8 +9215,8 @@ var Camera = class {
7493
9215
  triggerMoveEvent() {
7494
9216
  if (this.onCameraMove) {
7495
9217
  this.onCameraMove({
7496
- position: import_gl_matrix.vec3.clone(this._position),
7497
- angles: import_gl_matrix.vec3.clone(this._angles)
9218
+ position: vec3_exports.clone(this._position),
9219
+ angles: vec3_exports.clone(this._angles)
7498
9220
  });
7499
9221
  }
7500
9222
  }
@@ -7511,8 +9233,8 @@ var Camera = class {
7511
9233
  return this._viewProjectionMatrix;
7512
9234
  }
7513
9235
  getViewmodelProjectionMatrix(fov) {
7514
- const projectionMatrix = import_gl_matrix.mat4.create();
7515
- import_gl_matrix.mat4.perspective(
9236
+ const projectionMatrix = mat4_exports.create();
9237
+ mat4_exports.perspective(
7516
9238
  projectionMatrix,
7517
9239
  fov * DEG2RAD,
7518
9240
  this._aspect,
@@ -7524,19 +9246,19 @@ var Camera = class {
7524
9246
  screenToWorldRay(screenX, screenY) {
7525
9247
  const ndcX = screenX * 2 - 1;
7526
9248
  const ndcY = 1 - screenY * 2;
7527
- const clipStart = import_gl_matrix.vec3.fromValues(ndcX, ndcY, -1);
7528
- const clipEnd = import_gl_matrix.vec3.fromValues(ndcX, ndcY, 1);
7529
- const invViewProj = import_gl_matrix.mat4.create();
7530
- import_gl_matrix.mat4.invert(invViewProj, this.viewProjectionMatrix);
7531
- const worldStart = import_gl_matrix.vec3.create();
7532
- const worldEnd = import_gl_matrix.vec3.create();
7533
- import_gl_matrix.vec3.transformMat4(worldStart, clipStart, invViewProj);
7534
- import_gl_matrix.vec3.transformMat4(worldEnd, clipEnd, invViewProj);
7535
- const direction = import_gl_matrix.vec3.create();
7536
- import_gl_matrix.vec3.subtract(direction, worldEnd, worldStart);
7537
- import_gl_matrix.vec3.normalize(direction, direction);
9249
+ const clipStart = vec3_exports.fromValues(ndcX, ndcY, -1);
9250
+ const clipEnd = vec3_exports.fromValues(ndcX, ndcY, 1);
9251
+ const invViewProj = mat4_exports.create();
9252
+ mat4_exports.invert(invViewProj, this.viewProjectionMatrix);
9253
+ const worldStart = vec3_exports.create();
9254
+ const worldEnd = vec3_exports.create();
9255
+ vec3_exports.transformMat4(worldStart, clipStart, invViewProj);
9256
+ vec3_exports.transformMat4(worldEnd, clipEnd, invViewProj);
9257
+ const direction = vec3_exports.create();
9258
+ vec3_exports.subtract(direction, worldEnd, worldStart);
9259
+ vec3_exports.normalize(direction, direction);
7538
9260
  return {
7539
- origin: import_gl_matrix.vec3.clone(this._position),
9261
+ origin: vec3_exports.clone(this._position),
7540
9262
  direction
7541
9263
  };
7542
9264
  }
@@ -7544,14 +9266,14 @@ var Camera = class {
7544
9266
  if (!this._dirty) {
7545
9267
  return;
7546
9268
  }
7547
- import_gl_matrix.mat4.perspective(
9269
+ mat4_exports.perspective(
7548
9270
  this._projectionMatrix,
7549
9271
  this._fov * DEG2RAD,
7550
9272
  this._aspect,
7551
9273
  this._near,
7552
9274
  this._far
7553
9275
  );
7554
- const quakeToGl = import_gl_matrix.mat4.fromValues(
9276
+ const quakeToGl = mat4_exports.fromValues(
7555
9277
  0,
7556
9278
  0,
7557
9279
  -1,
@@ -7579,18 +9301,18 @@ var Camera = class {
7579
9301
  const pitchRad = pitch * DEG2RAD;
7580
9302
  const yawRad = yaw * DEG2RAD;
7581
9303
  const rollRad = roll * DEG2RAD;
7582
- const rotationQuake = import_gl_matrix.mat4.create();
7583
- import_gl_matrix.mat4.identity(rotationQuake);
7584
- import_gl_matrix.mat4.rotateZ(rotationQuake, rotationQuake, -yawRad);
7585
- import_gl_matrix.mat4.rotateY(rotationQuake, rotationQuake, -pitchRad);
7586
- import_gl_matrix.mat4.rotateX(rotationQuake, rotationQuake, -rollRad);
7587
- const rotationGl = import_gl_matrix.mat4.create();
7588
- import_gl_matrix.mat4.multiply(rotationGl, quakeToGl, rotationQuake);
7589
- const positionWithOffset = import_gl_matrix.vec3.add(import_gl_matrix.vec3.create(), this._position, this._bobOffset);
7590
- const negativePosition = import_gl_matrix.vec3.negate(import_gl_matrix.vec3.create(), positionWithOffset);
7591
- const rotatedPosQuake = import_gl_matrix.vec3.create();
7592
- import_gl_matrix.vec3.transformMat4(rotatedPosQuake, negativePosition, rotationQuake);
7593
- const translationGl = import_gl_matrix.vec3.fromValues(
9304
+ const rotationQuake = mat4_exports.create();
9305
+ mat4_exports.identity(rotationQuake);
9306
+ mat4_exports.rotateZ(rotationQuake, rotationQuake, -yawRad);
9307
+ mat4_exports.rotateY(rotationQuake, rotationQuake, -pitchRad);
9308
+ mat4_exports.rotateX(rotationQuake, rotationQuake, -rollRad);
9309
+ const rotationGl = mat4_exports.create();
9310
+ mat4_exports.multiply(rotationGl, quakeToGl, rotationQuake);
9311
+ const positionWithOffset = vec3_exports.add(vec3_exports.create(), this._position, this._bobOffset);
9312
+ const negativePosition = vec3_exports.negate(vec3_exports.create(), positionWithOffset);
9313
+ const rotatedPosQuake = vec3_exports.create();
9314
+ vec3_exports.transformMat4(rotatedPosQuake, negativePosition, rotationQuake);
9315
+ const translationGl = vec3_exports.fromValues(
7594
9316
  rotatedPosQuake[1] ? -rotatedPosQuake[1] : 0,
7595
9317
  // Y in Quake -> -X in WebGL
7596
9318
  rotatedPosQuake[2] || 0,
@@ -7598,11 +9320,11 @@ var Camera = class {
7598
9320
  rotatedPosQuake[0] ? -rotatedPosQuake[0] : 0
7599
9321
  // X in Quake -> -Z in WebGL
7600
9322
  );
7601
- import_gl_matrix.mat4.copy(this._viewMatrix, rotationGl);
9323
+ mat4_exports.copy(this._viewMatrix, rotationGl);
7602
9324
  this._viewMatrix[12] = translationGl[0];
7603
9325
  this._viewMatrix[13] = translationGl[1];
7604
9326
  this._viewMatrix[14] = translationGl[2];
7605
- import_gl_matrix.mat4.multiply(
9327
+ mat4_exports.multiply(
7606
9328
  this._viewProjectionMatrix,
7607
9329
  this._projectionMatrix,
7608
9330
  this._viewMatrix
@@ -7615,11 +9337,11 @@ var Camera = class {
7615
9337
  var DEFAULT_AMBIENT = [0.2, 0.2, 0.2];
7616
9338
  var DEFAULT_DIRECTION = { x: 0, y: 0, z: 1 };
7617
9339
  var DEFAULT_DIRECTION_COLOR = [0.8, 0.8, 0.8];
7618
- function lerp2(a, b, t) {
9340
+ function lerp3(a, b, t) {
7619
9341
  return a + (b - a) * t;
7620
9342
  }
7621
9343
  function lerpVec32(a, b, t) {
7622
- return { x: lerp2(a.x, b.x, t), y: lerp2(a.y, b.y, t), z: lerp2(a.z, b.z, t) };
9344
+ return { x: lerp3(a.x, b.x, t), y: lerp3(a.y, b.y, t), z: lerp3(a.z, b.z, t) };
7623
9345
  }
7624
9346
  function clamp012(v) {
7625
9347
  if (v < 0) return 0;
@@ -7666,8 +9388,8 @@ function evaluateLighting(normal, position, lighting) {
7666
9388
  const radiusSq = light.radius * light.radius;
7667
9389
  if (distSq < radiusSq && radiusSq > 0) {
7668
9390
  const attenuation = 1 - Math.sqrt(distSq) / light.radius;
7669
- const dist = Math.sqrt(distSq);
7670
- const lightDotN = dist > 0 ? clamp012(-(dx * n.x + dy * n.y + dz * n.z) / dist) : 0;
9391
+ const dist2 = Math.sqrt(distSq);
9392
+ const lightDotN = dist2 > 0 ? clamp012(-(dx * n.x + dy * n.y + dz * n.z) / dist2) : 0;
7671
9393
  const amount = clamp012(attenuation * lightDotN);
7672
9394
  r += light.color[0] * amount;
7673
9395
  g += light.color[1] * amount;
@@ -8341,11 +10063,11 @@ function spawnBlood(context) {
8341
10063
  function spawnTeleportFlash(context) {
8342
10064
  const { system, origin } = context;
8343
10065
  for (let i = 0; i < 30; i += 1) {
8344
- const angle = system.rng.frandom() * Math.PI * 2;
10066
+ const angle2 = system.rng.frandom() * Math.PI * 2;
8345
10067
  const radius = 8 + system.rng.frandom() * 8;
8346
10068
  system.spawn({
8347
10069
  position: origin,
8348
- velocity: { x: Math.cos(angle) * radius, y: Math.sin(angle) * radius, z: 100 + system.rng.frandom() * 80 },
10070
+ velocity: { x: Math.cos(angle2) * radius, y: Math.sin(angle2) * radius, z: 100 + system.rng.frandom() * 80 },
8349
10071
  color: [0.4, 0.6, 1, 0.9],
8350
10072
  size: 4,
8351
10073
  lifetime: 0.5,
@@ -8448,11 +10170,11 @@ function spawnRailTrail(context) {
8448
10170
  const dx = end.x - start.x;
8449
10171
  const dy = end.y - start.y;
8450
10172
  const dz = end.z - start.z;
8451
- const dist = Math.sqrt(dx * dx + dy * dy + dz * dz);
8452
- if (dist < 1) return;
8453
- const dir = { x: dx / dist, y: dy / dist, z: dz / dist };
10173
+ const dist2 = Math.sqrt(dx * dx + dy * dy + dz * dz);
10174
+ if (dist2 < 1) return;
10175
+ const dir = { x: dx / dist2, y: dy / dist2, z: dz / dist2 };
8454
10176
  const step = 8;
8455
- for (let d = 0; d < dist; d += step) {
10177
+ for (let d = 0; d < dist2; d += step) {
8456
10178
  const x = start.x + dir.x * d;
8457
10179
  const y = start.y + dir.y * d;
8458
10180
  const z = start.z + dir.z * d;
@@ -8592,20 +10314,20 @@ var DemoReader = class {
8592
10314
  let scanOffset = 0;
8593
10315
  this.messageOffsets = [];
8594
10316
  while (scanOffset + 4 <= this.buffer.byteLength) {
8595
- const length = this.view.getInt32(scanOffset, true);
8596
- if (length === -1) {
10317
+ const length2 = this.view.getInt32(scanOffset, true);
10318
+ if (length2 === -1) {
8597
10319
  break;
8598
10320
  }
8599
- if (length < 0 || length > 2097152) {
8600
- console.warn(`DemoReader: Invalid block length ${length} at offset ${scanOffset} during scan`);
10321
+ if (length2 < 0 || length2 > 2097152) {
10322
+ console.warn(`DemoReader: Invalid block length ${length2} at offset ${scanOffset} during scan`);
8601
10323
  break;
8602
10324
  }
8603
- if (scanOffset + 4 + length > this.buffer.byteLength) {
10325
+ if (scanOffset + 4 + length2 > this.buffer.byteLength) {
8604
10326
  console.warn(`DemoReader: Incomplete block at offset ${scanOffset} during scan`);
8605
10327
  break;
8606
10328
  }
8607
10329
  this.messageOffsets.push(scanOffset);
8608
- scanOffset += 4 + length;
10330
+ scanOffset += 4 + length2;
8609
10331
  }
8610
10332
  }
8611
10333
  /**
@@ -8623,18 +10345,18 @@ var DemoReader = class {
8623
10345
  if (this.offset + 4 > this.buffer.byteLength) {
8624
10346
  return null;
8625
10347
  }
8626
- const length = this.view.getInt32(this.offset, true);
8627
- if (length === -1) {
10348
+ const length2 = this.view.getInt32(this.offset, true);
10349
+ if (length2 === -1) {
8628
10350
  return null;
8629
10351
  }
8630
- if (length < 0 || this.offset + 4 + length > this.buffer.byteLength) {
10352
+ if (length2 < 0 || this.offset + 4 + length2 > this.buffer.byteLength) {
8631
10353
  return null;
8632
10354
  }
8633
10355
  this.offset += 4;
8634
- const blockData = this.buffer.slice(this.offset, this.offset + length);
8635
- this.offset += length;
10356
+ const blockData = this.buffer.slice(this.offset, this.offset + length2);
10357
+ this.offset += length2;
8636
10358
  return {
8637
- length,
10359
+ length: length2,
8638
10360
  data: new BinaryStream(blockData)
8639
10361
  };
8640
10362
  }
@@ -8671,14 +10393,14 @@ var DemoReader = class {
8671
10393
  const blockInfos = [];
8672
10394
  let tempOffset = this.offset;
8673
10395
  while (tempOffset + 4 <= this.buffer.byteLength) {
8674
- const length = this.view.getInt32(tempOffset, true);
8675
- if (length === -1) break;
8676
- if (length < 0 || tempOffset + 4 + length > this.buffer.byteLength) {
10396
+ const length2 = this.view.getInt32(tempOffset, true);
10397
+ if (length2 === -1) break;
10398
+ if (length2 < 0 || tempOffset + 4 + length2 > this.buffer.byteLength) {
8677
10399
  break;
8678
10400
  }
8679
- blockInfos.push({ offset: tempOffset + 4, length });
8680
- totalLength += length;
8681
- tempOffset += 4 + length;
10401
+ blockInfos.push({ offset: tempOffset + 4, length: length2 });
10402
+ totalLength += length2;
10403
+ tempOffset += 4 + length2;
8682
10404
  }
8683
10405
  const result = new Uint8Array(totalLength);
8684
10406
  let resultOffset = 0;
@@ -8735,9 +10457,9 @@ var Z_BINARY = 0;
8735
10457
  var Z_TEXT = 1;
8736
10458
  var Z_UNKNOWN$1 = 2;
8737
10459
  function zero$1(buf) {
8738
- let len = buf.length;
8739
- while (--len >= 0) {
8740
- buf[len] = 0;
10460
+ let len2 = buf.length;
10461
+ while (--len2 >= 0) {
10462
+ buf[len2] = 0;
8741
10463
  }
8742
10464
  }
8743
10465
  var STORED_BLOCK = 0;
@@ -8800,22 +10522,22 @@ function TreeDesc(dyn_tree, stat_desc) {
8800
10522
  this.max_code = 0;
8801
10523
  this.stat_desc = stat_desc;
8802
10524
  }
8803
- var d_code = (dist) => {
8804
- return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];
10525
+ var d_code = (dist2) => {
10526
+ return dist2 < 256 ? _dist_code[dist2] : _dist_code[256 + (dist2 >>> 7)];
8805
10527
  };
8806
10528
  var put_short = (s, w) => {
8807
10529
  s.pending_buf[s.pending++] = w & 255;
8808
10530
  s.pending_buf[s.pending++] = w >>> 8 & 255;
8809
10531
  };
8810
- var send_bits = (s, value, length) => {
8811
- if (s.bi_valid > Buf_size - length) {
10532
+ var send_bits = (s, value, length2) => {
10533
+ if (s.bi_valid > Buf_size - length2) {
8812
10534
  s.bi_buf |= value << s.bi_valid & 65535;
8813
10535
  put_short(s, s.bi_buf);
8814
10536
  s.bi_buf = value >> Buf_size - s.bi_valid;
8815
- s.bi_valid += length - Buf_size;
10537
+ s.bi_valid += length2 - Buf_size;
8816
10538
  } else {
8817
10539
  s.bi_buf |= value << s.bi_valid & 65535;
8818
- s.bi_valid += length;
10540
+ s.bi_valid += length2;
8819
10541
  }
8820
10542
  };
8821
10543
  var send_code = (s, c, tree) => {
@@ -8826,13 +10548,13 @@ var send_code = (s, c, tree) => {
8826
10548
  /*.Len*/
8827
10549
  );
8828
10550
  };
8829
- var bi_reverse = (code, len) => {
10551
+ var bi_reverse = (code, len2) => {
8830
10552
  let res = 0;
8831
10553
  do {
8832
10554
  res |= code & 1;
8833
10555
  code >>>= 1;
8834
10556
  res <<= 1;
8835
- } while (--len > 0);
10557
+ } while (--len2 > 0);
8836
10558
  return res >>> 1;
8837
10559
  };
8838
10560
  var bi_flush = (s) => {
@@ -8924,40 +10646,40 @@ var gen_codes = (tree, max_code, bl_count) => {
8924
10646
  next_code[bits] = code;
8925
10647
  }
8926
10648
  for (n = 0; n <= max_code; n++) {
8927
- let len = tree[n * 2 + 1];
8928
- if (len === 0) {
10649
+ let len2 = tree[n * 2 + 1];
10650
+ if (len2 === 0) {
8929
10651
  continue;
8930
10652
  }
8931
- tree[n * 2] = bi_reverse(next_code[len]++, len);
10653
+ tree[n * 2] = bi_reverse(next_code[len2]++, len2);
8932
10654
  }
8933
10655
  };
8934
10656
  var tr_static_init = () => {
8935
10657
  let n;
8936
10658
  let bits;
8937
- let length;
10659
+ let length2;
8938
10660
  let code;
8939
- let dist;
10661
+ let dist2;
8940
10662
  const bl_count = new Array(MAX_BITS$1 + 1);
8941
- length = 0;
10663
+ length2 = 0;
8942
10664
  for (code = 0; code < LENGTH_CODES$1 - 1; code++) {
8943
- base_length[code] = length;
10665
+ base_length[code] = length2;
8944
10666
  for (n = 0; n < 1 << extra_lbits[code]; n++) {
8945
- _length_code[length++] = code;
10667
+ _length_code[length2++] = code;
8946
10668
  }
8947
10669
  }
8948
- _length_code[length - 1] = code;
8949
- dist = 0;
10670
+ _length_code[length2 - 1] = code;
10671
+ dist2 = 0;
8950
10672
  for (code = 0; code < 16; code++) {
8951
- base_dist[code] = dist;
10673
+ base_dist[code] = dist2;
8952
10674
  for (n = 0; n < 1 << extra_dbits[code]; n++) {
8953
- _dist_code[dist++] = code;
10675
+ _dist_code[dist2++] = code;
8954
10676
  }
8955
10677
  }
8956
- dist >>= 7;
10678
+ dist2 >>= 7;
8957
10679
  for (; code < D_CODES$1; code++) {
8958
- base_dist[code] = dist << 7;
10680
+ base_dist[code] = dist2 << 7;
8959
10681
  for (n = 0; n < 1 << extra_dbits[code] - 7; n++) {
8960
- _dist_code[256 + dist++] = code;
10682
+ _dist_code[256 + dist2++] = code;
8961
10683
  }
8962
10684
  }
8963
10685
  for (bits = 0; bits <= MAX_BITS$1; bits++) {
@@ -9039,17 +10761,17 @@ var pqdownheap = (s, tree, k) => {
9039
10761
  s.heap[k] = v;
9040
10762
  };
9041
10763
  var compress_block = (s, ltree, dtree) => {
9042
- let dist;
10764
+ let dist2;
9043
10765
  let lc;
9044
10766
  let sx = 0;
9045
10767
  let code;
9046
10768
  let extra;
9047
10769
  if (s.sym_next !== 0) {
9048
10770
  do {
9049
- dist = s.pending_buf[s.sym_buf + sx++] & 255;
9050
- dist += (s.pending_buf[s.sym_buf + sx++] & 255) << 8;
10771
+ dist2 = s.pending_buf[s.sym_buf + sx++] & 255;
10772
+ dist2 += (s.pending_buf[s.sym_buf + sx++] & 255) << 8;
9051
10773
  lc = s.pending_buf[s.sym_buf + sx++];
9052
- if (dist === 0) {
10774
+ if (dist2 === 0) {
9053
10775
  send_code(s, lc, ltree);
9054
10776
  } else {
9055
10777
  code = _length_code[lc];
@@ -9059,13 +10781,13 @@ var compress_block = (s, ltree, dtree) => {
9059
10781
  lc -= base_length[code];
9060
10782
  send_bits(s, lc, extra);
9061
10783
  }
9062
- dist--;
9063
- code = d_code(dist);
10784
+ dist2--;
10785
+ code = d_code(dist2);
9064
10786
  send_code(s, code, dtree);
9065
10787
  extra = extra_dbits[code];
9066
10788
  if (extra !== 0) {
9067
- dist -= base_dist[code];
9068
- send_bits(s, dist, extra);
10789
+ dist2 -= base_dist[code];
10790
+ send_bits(s, dist2, extra);
9069
10791
  }
9070
10792
  }
9071
10793
  } while (sx < s.sym_next);
@@ -9342,17 +11064,17 @@ var _tr_flush_block$1 = (s, buf, stored_len, last) => {
9342
11064
  bi_windup(s);
9343
11065
  }
9344
11066
  };
9345
- var _tr_tally$1 = (s, dist, lc) => {
9346
- s.pending_buf[s.sym_buf + s.sym_next++] = dist;
9347
- s.pending_buf[s.sym_buf + s.sym_next++] = dist >> 8;
11067
+ var _tr_tally$1 = (s, dist2, lc) => {
11068
+ s.pending_buf[s.sym_buf + s.sym_next++] = dist2;
11069
+ s.pending_buf[s.sym_buf + s.sym_next++] = dist2 >> 8;
9348
11070
  s.pending_buf[s.sym_buf + s.sym_next++] = lc;
9349
- if (dist === 0) {
11071
+ if (dist2 === 0) {
9350
11072
  s.dyn_ltree[lc * 2]++;
9351
11073
  } else {
9352
11074
  s.matches++;
9353
- dist--;
11075
+ dist2--;
9354
11076
  s.dyn_ltree[(_length_code[lc] + LITERALS$1 + 1) * 2]++;
9355
- s.dyn_dtree[d_code(dist) * 2]++;
11077
+ s.dyn_dtree[d_code(dist2) * 2]++;
9356
11078
  }
9357
11079
  return s.sym_next === s.sym_end;
9358
11080
  };
@@ -9368,11 +11090,11 @@ var trees = {
9368
11090
  _tr_tally: _tr_tally_1,
9369
11091
  _tr_align: _tr_align_1
9370
11092
  };
9371
- var adler32 = (adler, buf, len, pos) => {
11093
+ var adler32 = (adler, buf, len2, pos) => {
9372
11094
  let s1 = adler & 65535 | 0, s2 = adler >>> 16 & 65535 | 0, n = 0;
9373
- while (len !== 0) {
9374
- n = len > 2e3 ? 2e3 : len;
9375
- len -= n;
11095
+ while (len2 !== 0) {
11096
+ n = len2 > 2e3 ? 2e3 : len2;
11097
+ len2 -= n;
9376
11098
  do {
9377
11099
  s1 = s1 + buf[pos++] | 0;
9378
11100
  s2 = s2 + s1 | 0;
@@ -9395,9 +11117,9 @@ var makeTable = () => {
9395
11117
  return table;
9396
11118
  };
9397
11119
  var crcTable = new Uint32Array(makeTable());
9398
- var crc322 = (crc, buf, len, pos) => {
11120
+ var crc322 = (crc, buf, len2, pos) => {
9399
11121
  const t = crcTable;
9400
- const end = pos + len;
11122
+ const end = pos + len2;
9401
11123
  crc ^= -1;
9402
11124
  for (let i = pos; i < end; i++) {
9403
11125
  crc = crc >>> 8 ^ t[(crc ^ buf[i]) & 255];
@@ -9520,10 +11242,10 @@ var err = (strm, errorCode) => {
9520
11242
  var rank = (f) => {
9521
11243
  return f * 2 - (f > 4 ? 9 : 0);
9522
11244
  };
9523
- var zero = (buf) => {
9524
- let len = buf.length;
9525
- while (--len >= 0) {
9526
- buf[len] = 0;
11245
+ var zero2 = (buf) => {
11246
+ let len2 = buf.length;
11247
+ while (--len2 >= 0) {
11248
+ buf[len2] = 0;
9527
11249
  }
9528
11250
  };
9529
11251
  var slide_hash = (s) => {
@@ -9547,19 +11269,19 @@ var HASH_ZLIB = (s, prev, data) => (prev << s.hash_shift ^ data) & s.hash_mask;
9547
11269
  var HASH = HASH_ZLIB;
9548
11270
  var flush_pending = (strm) => {
9549
11271
  const s = strm.state;
9550
- let len = s.pending;
9551
- if (len > strm.avail_out) {
9552
- len = strm.avail_out;
11272
+ let len2 = s.pending;
11273
+ if (len2 > strm.avail_out) {
11274
+ len2 = strm.avail_out;
9553
11275
  }
9554
- if (len === 0) {
11276
+ if (len2 === 0) {
9555
11277
  return;
9556
11278
  }
9557
- strm.output.set(s.pending_buf.subarray(s.pending_out, s.pending_out + len), strm.next_out);
9558
- strm.next_out += len;
9559
- s.pending_out += len;
9560
- strm.total_out += len;
9561
- strm.avail_out -= len;
9562
- s.pending -= len;
11279
+ strm.output.set(s.pending_buf.subarray(s.pending_out, s.pending_out + len2), strm.next_out);
11280
+ strm.next_out += len2;
11281
+ s.pending_out += len2;
11282
+ strm.total_out += len2;
11283
+ strm.avail_out -= len2;
11284
+ s.pending -= len2;
9563
11285
  if (s.pending === 0) {
9564
11286
  s.pending_out = 0;
9565
11287
  }
@@ -9577,29 +11299,29 @@ var putShortMSB = (s, b) => {
9577
11299
  s.pending_buf[s.pending++] = b & 255;
9578
11300
  };
9579
11301
  var read_buf = (strm, buf, start, size) => {
9580
- let len = strm.avail_in;
9581
- if (len > size) {
9582
- len = size;
11302
+ let len2 = strm.avail_in;
11303
+ if (len2 > size) {
11304
+ len2 = size;
9583
11305
  }
9584
- if (len === 0) {
11306
+ if (len2 === 0) {
9585
11307
  return 0;
9586
11308
  }
9587
- strm.avail_in -= len;
9588
- buf.set(strm.input.subarray(strm.next_in, strm.next_in + len), start);
11309
+ strm.avail_in -= len2;
11310
+ buf.set(strm.input.subarray(strm.next_in, strm.next_in + len2), start);
9589
11311
  if (strm.state.wrap === 1) {
9590
- strm.adler = adler32_1(strm.adler, buf, len, start);
11312
+ strm.adler = adler32_1(strm.adler, buf, len2, start);
9591
11313
  } else if (strm.state.wrap === 2) {
9592
- strm.adler = crc32_1(strm.adler, buf, len, start);
11314
+ strm.adler = crc32_1(strm.adler, buf, len2, start);
9593
11315
  }
9594
- strm.next_in += len;
9595
- strm.total_in += len;
9596
- return len;
11316
+ strm.next_in += len2;
11317
+ strm.total_in += len2;
11318
+ return len2;
9597
11319
  };
9598
11320
  var longest_match = (s, cur_match) => {
9599
11321
  let chain_length = s.max_chain_length;
9600
11322
  let scan = s.strstart;
9601
11323
  let match;
9602
- let len;
11324
+ let len2;
9603
11325
  let best_len = s.prev_length;
9604
11326
  let nice_match = s.nice_match;
9605
11327
  const limit = s.strstart > s.w_size - MIN_LOOKAHEAD ? s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0;
@@ -9624,12 +11346,12 @@ var longest_match = (s, cur_match) => {
9624
11346
  match++;
9625
11347
  do {
9626
11348
  } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && scan < strend);
9627
- len = MAX_MATCH - (strend - scan);
11349
+ len2 = MAX_MATCH - (strend - scan);
9628
11350
  scan = strend - MAX_MATCH;
9629
- if (len > best_len) {
11351
+ if (len2 > best_len) {
9630
11352
  s.match_start = cur_match;
9631
- best_len = len;
9632
- if (len >= nice_match) {
11353
+ best_len = len2;
11354
+ if (len2 >= nice_match) {
9633
11355
  break;
9634
11356
  }
9635
11357
  scan_end1 = _win[scan + best_len - 1];
@@ -9643,7 +11365,7 @@ var longest_match = (s, cur_match) => {
9643
11365
  };
9644
11366
  var fill_window = (s) => {
9645
11367
  const _w_size = s.w_size;
9646
- let n, more, str;
11368
+ let n, more, str3;
9647
11369
  do {
9648
11370
  more = s.window_size - s.lookahead - s.strstart;
9649
11371
  if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {
@@ -9663,14 +11385,14 @@ var fill_window = (s) => {
9663
11385
  n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);
9664
11386
  s.lookahead += n;
9665
11387
  if (s.lookahead + s.insert >= MIN_MATCH) {
9666
- str = s.strstart - s.insert;
9667
- s.ins_h = s.window[str];
9668
- s.ins_h = HASH(s, s.ins_h, s.window[str + 1]);
11388
+ str3 = s.strstart - s.insert;
11389
+ s.ins_h = s.window[str3];
11390
+ s.ins_h = HASH(s, s.ins_h, s.window[str3 + 1]);
9669
11391
  while (s.insert) {
9670
- s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]);
9671
- s.prev[str & s.w_mask] = s.head[s.ins_h];
9672
- s.head[s.ins_h] = str;
9673
- str++;
11392
+ s.ins_h = HASH(s, s.ins_h, s.window[str3 + MIN_MATCH - 1]);
11393
+ s.prev[str3 & s.w_mask] = s.head[s.ins_h];
11394
+ s.head[s.ins_h] = str3;
11395
+ str3++;
9674
11396
  s.insert--;
9675
11397
  if (s.lookahead + s.insert < MIN_MATCH) {
9676
11398
  break;
@@ -9681,48 +11403,48 @@ var fill_window = (s) => {
9681
11403
  };
9682
11404
  var deflate_stored = (s, flush) => {
9683
11405
  let min_block = s.pending_buf_size - 5 > s.w_size ? s.w_size : s.pending_buf_size - 5;
9684
- let len, left, have, last = 0;
11406
+ let len2, left, have, last = 0;
9685
11407
  let used = s.strm.avail_in;
9686
11408
  do {
9687
- len = 65535;
11409
+ len2 = 65535;
9688
11410
  have = s.bi_valid + 42 >> 3;
9689
11411
  if (s.strm.avail_out < have) {
9690
11412
  break;
9691
11413
  }
9692
11414
  have = s.strm.avail_out - have;
9693
11415
  left = s.strstart - s.block_start;
9694
- if (len > left + s.strm.avail_in) {
9695
- len = left + s.strm.avail_in;
11416
+ if (len2 > left + s.strm.avail_in) {
11417
+ len2 = left + s.strm.avail_in;
9696
11418
  }
9697
- if (len > have) {
9698
- len = have;
11419
+ if (len2 > have) {
11420
+ len2 = have;
9699
11421
  }
9700
- if (len < min_block && (len === 0 && flush !== Z_FINISH$3 || flush === Z_NO_FLUSH$2 || len !== left + s.strm.avail_in)) {
11422
+ if (len2 < min_block && (len2 === 0 && flush !== Z_FINISH$3 || flush === Z_NO_FLUSH$2 || len2 !== left + s.strm.avail_in)) {
9701
11423
  break;
9702
11424
  }
9703
- last = flush === Z_FINISH$3 && len === left + s.strm.avail_in ? 1 : 0;
11425
+ last = flush === Z_FINISH$3 && len2 === left + s.strm.avail_in ? 1 : 0;
9704
11426
  _tr_stored_block(s, 0, 0, last);
9705
- s.pending_buf[s.pending - 4] = len;
9706
- s.pending_buf[s.pending - 3] = len >> 8;
9707
- s.pending_buf[s.pending - 2] = ~len;
9708
- s.pending_buf[s.pending - 1] = ~len >> 8;
11427
+ s.pending_buf[s.pending - 4] = len2;
11428
+ s.pending_buf[s.pending - 3] = len2 >> 8;
11429
+ s.pending_buf[s.pending - 2] = ~len2;
11430
+ s.pending_buf[s.pending - 1] = ~len2 >> 8;
9709
11431
  flush_pending(s.strm);
9710
11432
  if (left) {
9711
- if (left > len) {
9712
- left = len;
11433
+ if (left > len2) {
11434
+ left = len2;
9713
11435
  }
9714
11436
  s.strm.output.set(s.window.subarray(s.block_start, s.block_start + left), s.strm.next_out);
9715
11437
  s.strm.next_out += left;
9716
11438
  s.strm.avail_out -= left;
9717
11439
  s.strm.total_out += left;
9718
11440
  s.block_start += left;
9719
- len -= left;
11441
+ len2 -= left;
9720
11442
  }
9721
- if (len) {
9722
- read_buf(s.strm, s.strm.output, s.strm.next_out, len);
9723
- s.strm.next_out += len;
9724
- s.strm.avail_out -= len;
9725
- s.strm.total_out += len;
11443
+ if (len2) {
11444
+ read_buf(s.strm, s.strm.output, s.strm.next_out, len2);
11445
+ s.strm.next_out += len2;
11446
+ s.strm.avail_out -= len2;
11447
+ s.strm.total_out += len2;
9726
11448
  }
9727
11449
  } while (last === 0);
9728
11450
  used -= s.strm.avail_in;
@@ -9787,10 +11509,10 @@ var deflate_stored = (s, flush) => {
9787
11509
  min_block = have > s.w_size ? s.w_size : have;
9788
11510
  left = s.strstart - s.block_start;
9789
11511
  if (left >= min_block || (left || flush === Z_FINISH$3) && flush !== Z_NO_FLUSH$2 && s.strm.avail_in === 0 && left <= have) {
9790
- len = left > have ? have : left;
9791
- last = flush === Z_FINISH$3 && s.strm.avail_in === 0 && len === left ? 1 : 0;
9792
- _tr_stored_block(s, s.block_start, len, last);
9793
- s.block_start += len;
11512
+ len2 = left > have ? have : left;
11513
+ last = flush === Z_FINISH$3 && s.strm.avail_in === 0 && len2 === left ? 1 : 0;
11514
+ _tr_stored_block(s, s.block_start, len2, last);
11515
+ s.block_start += len2;
9794
11516
  flush_pending(s.strm);
9795
11517
  }
9796
11518
  return last ? BS_FINISH_STARTED : BS_NEED_MORE;
@@ -10082,7 +11804,7 @@ var configuration_table = [
10082
11804
  ];
10083
11805
  var lm_init = (s) => {
10084
11806
  s.window_size = 2 * s.w_size;
10085
- zero(s.head);
11807
+ zero2(s.head);
10086
11808
  s.max_lazy_match = configuration_table[s.level].max_lazy;
10087
11809
  s.good_match = configuration_table[s.level].good_length;
10088
11810
  s.nice_match = configuration_table[s.level].nice_length;
@@ -10136,19 +11858,19 @@ function DeflateState() {
10136
11858
  this.dyn_ltree = new Uint16Array(HEAP_SIZE * 2);
10137
11859
  this.dyn_dtree = new Uint16Array((2 * D_CODES + 1) * 2);
10138
11860
  this.bl_tree = new Uint16Array((2 * BL_CODES + 1) * 2);
10139
- zero(this.dyn_ltree);
10140
- zero(this.dyn_dtree);
10141
- zero(this.bl_tree);
11861
+ zero2(this.dyn_ltree);
11862
+ zero2(this.dyn_dtree);
11863
+ zero2(this.bl_tree);
10142
11864
  this.l_desc = null;
10143
11865
  this.d_desc = null;
10144
11866
  this.bl_desc = null;
10145
11867
  this.bl_count = new Uint16Array(MAX_BITS + 1);
10146
11868
  this.heap = new Uint16Array(2 * L_CODES + 1);
10147
- zero(this.heap);
11869
+ zero2(this.heap);
10148
11870
  this.heap_len = 0;
10149
11871
  this.heap_max = 0;
10150
11872
  this.depth = new Uint16Array(2 * L_CODES + 1);
10151
- zero(this.depth);
11873
+ zero2(this.depth);
10152
11874
  this.sym_buf = 0;
10153
11875
  this.lit_bufsize = 0;
10154
11876
  this.sym_next = 0;
@@ -10359,20 +12081,20 @@ var deflate$2 = (strm, flush) => {
10359
12081
  let beg = s.pending;
10360
12082
  let left = (s.gzhead.extra.length & 65535) - s.gzindex;
10361
12083
  while (s.pending + left > s.pending_buf_size) {
10362
- let copy = s.pending_buf_size - s.pending;
10363
- s.pending_buf.set(s.gzhead.extra.subarray(s.gzindex, s.gzindex + copy), s.pending);
12084
+ let copy3 = s.pending_buf_size - s.pending;
12085
+ s.pending_buf.set(s.gzhead.extra.subarray(s.gzindex, s.gzindex + copy3), s.pending);
10364
12086
  s.pending = s.pending_buf_size;
10365
12087
  if (s.gzhead.hcrc && s.pending > beg) {
10366
12088
  strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);
10367
12089
  }
10368
- s.gzindex += copy;
12090
+ s.gzindex += copy3;
10369
12091
  flush_pending(strm);
10370
12092
  if (s.pending !== 0) {
10371
12093
  s.last_flush = -1;
10372
12094
  return Z_OK$3;
10373
12095
  }
10374
12096
  beg = 0;
10375
- left -= copy;
12097
+ left -= copy3;
10376
12098
  }
10377
12099
  let gzhead_extra = new Uint8Array(s.gzhead.extra);
10378
12100
  s.pending_buf.set(gzhead_extra.subarray(s.gzindex, s.gzindex + left), s.pending);
@@ -10480,7 +12202,7 @@ var deflate$2 = (strm, flush) => {
10480
12202
  } else if (flush !== Z_BLOCK$1) {
10481
12203
  _tr_stored_block(s, 0, 0, false);
10482
12204
  if (flush === Z_FULL_FLUSH$1) {
10483
- zero(s.head);
12205
+ zero2(s.head);
10484
12206
  if (s.lookahead === 0) {
10485
12207
  s.strstart = 0;
10486
12208
  s.block_start = 0;
@@ -10544,7 +12266,7 @@ var deflateSetDictionary = (strm, dictionary) => {
10544
12266
  s.wrap = 0;
10545
12267
  if (dictLength >= s.w_size) {
10546
12268
  if (wrap === 0) {
10547
- zero(s.head);
12269
+ zero2(s.head);
10548
12270
  s.strstart = 0;
10549
12271
  s.block_start = 0;
10550
12272
  s.insert = 0;
@@ -10562,15 +12284,15 @@ var deflateSetDictionary = (strm, dictionary) => {
10562
12284
  strm.input = dictionary;
10563
12285
  fill_window(s);
10564
12286
  while (s.lookahead >= MIN_MATCH) {
10565
- let str = s.strstart;
12287
+ let str3 = s.strstart;
10566
12288
  let n = s.lookahead - (MIN_MATCH - 1);
10567
12289
  do {
10568
- s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]);
10569
- s.prev[str & s.w_mask] = s.head[s.ins_h];
10570
- s.head[s.ins_h] = str;
10571
- str++;
12290
+ s.ins_h = HASH(s, s.ins_h, s.window[str3 + MIN_MATCH - 1]);
12291
+ s.prev[str3 & s.w_mask] = s.head[s.ins_h];
12292
+ s.head[s.ins_h] = str3;
12293
+ str3++;
10572
12294
  } while (--n);
10573
- s.strstart = str;
12295
+ s.strstart = str3;
10574
12296
  s.lookahead = MIN_MATCH - 1;
10575
12297
  fill_window(s);
10576
12298
  }
@@ -10628,11 +12350,11 @@ var assign = function(obj) {
10628
12350
  return obj;
10629
12351
  };
10630
12352
  var flattenChunks = (chunks) => {
10631
- let len = 0;
12353
+ let len2 = 0;
10632
12354
  for (let i = 0, l = chunks.length; i < l; i++) {
10633
- len += chunks[i].length;
12355
+ len2 += chunks[i].length;
10634
12356
  }
10635
- const result = new Uint8Array(len);
12357
+ const result = new Uint8Array(len2);
10636
12358
  for (let i = 0, pos = 0, l = chunks.length; i < l; i++) {
10637
12359
  let chunk = chunks[i];
10638
12360
  result.set(chunk, pos);
@@ -10655,15 +12377,15 @@ for (let q = 0; q < 256; q++) {
10655
12377
  _utf8len[q] = q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1;
10656
12378
  }
10657
12379
  _utf8len[254] = _utf8len[254] = 1;
10658
- var string2buf = (str) => {
12380
+ var string2buf = (str3) => {
10659
12381
  if (typeof TextEncoder === "function" && TextEncoder.prototype.encode) {
10660
- return new TextEncoder().encode(str);
12382
+ return new TextEncoder().encode(str3);
10661
12383
  }
10662
- let buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;
12384
+ let buf, c, c2, m_pos, i, str_len = str3.length, buf_len = 0;
10663
12385
  for (m_pos = 0; m_pos < str_len; m_pos++) {
10664
- c = str.charCodeAt(m_pos);
12386
+ c = str3.charCodeAt(m_pos);
10665
12387
  if ((c & 64512) === 55296 && m_pos + 1 < str_len) {
10666
- c2 = str.charCodeAt(m_pos + 1);
12388
+ c2 = str3.charCodeAt(m_pos + 1);
10667
12389
  if ((c2 & 64512) === 56320) {
10668
12390
  c = 65536 + (c - 55296 << 10) + (c2 - 56320);
10669
12391
  m_pos++;
@@ -10673,9 +12395,9 @@ var string2buf = (str) => {
10673
12395
  }
10674
12396
  buf = new Uint8Array(buf_len);
10675
12397
  for (i = 0, m_pos = 0; i < buf_len; m_pos++) {
10676
- c = str.charCodeAt(m_pos);
12398
+ c = str3.charCodeAt(m_pos);
10677
12399
  if ((c & 64512) === 55296 && m_pos + 1 < str_len) {
10678
- c2 = str.charCodeAt(m_pos + 1);
12400
+ c2 = str3.charCodeAt(m_pos + 1);
10679
12401
  if ((c2 & 64512) === 56320) {
10680
12402
  c = 65536 + (c - 55296 << 10) + (c2 - 56320);
10681
12403
  m_pos++;
@@ -10699,26 +12421,26 @@ var string2buf = (str) => {
10699
12421
  }
10700
12422
  return buf;
10701
12423
  };
10702
- var buf2binstring = (buf, len) => {
10703
- if (len < 65534) {
12424
+ var buf2binstring = (buf, len2) => {
12425
+ if (len2 < 65534) {
10704
12426
  if (buf.subarray && STR_APPLY_UIA_OK) {
10705
- return String.fromCharCode.apply(null, buf.length === len ? buf : buf.subarray(0, len));
12427
+ return String.fromCharCode.apply(null, buf.length === len2 ? buf : buf.subarray(0, len2));
10706
12428
  }
10707
12429
  }
10708
12430
  let result = "";
10709
- for (let i = 0; i < len; i++) {
12431
+ for (let i = 0; i < len2; i++) {
10710
12432
  result += String.fromCharCode(buf[i]);
10711
12433
  }
10712
12434
  return result;
10713
12435
  };
10714
- var buf2string = (buf, max) => {
10715
- const len = max || buf.length;
12436
+ var buf2string = (buf, max2) => {
12437
+ const len2 = max2 || buf.length;
10716
12438
  if (typeof TextDecoder === "function" && TextDecoder.prototype.decode) {
10717
- return new TextDecoder().decode(buf.subarray(0, max));
12439
+ return new TextDecoder().decode(buf.subarray(0, max2));
10718
12440
  }
10719
12441
  let i, out;
10720
- const utf16buf = new Array(len * 2);
10721
- for (out = 0, i = 0; i < len; ) {
12442
+ const utf16buf = new Array(len2 * 2);
12443
+ for (out = 0, i = 0; i < len2; ) {
10722
12444
  let c = buf[i++];
10723
12445
  if (c < 128) {
10724
12446
  utf16buf[out++] = c;
@@ -10731,7 +12453,7 @@ var buf2string = (buf, max) => {
10731
12453
  continue;
10732
12454
  }
10733
12455
  c &= c_len === 2 ? 31 : c_len === 3 ? 15 : 7;
10734
- while (c_len > 1 && i < len) {
12456
+ while (c_len > 1 && i < len2) {
10735
12457
  c = c << 6 | buf[i++] & 63;
10736
12458
  c_len--;
10737
12459
  }
@@ -10749,22 +12471,22 @@ var buf2string = (buf, max) => {
10749
12471
  }
10750
12472
  return buf2binstring(utf16buf, out);
10751
12473
  };
10752
- var utf8border = (buf, max) => {
10753
- max = max || buf.length;
10754
- if (max > buf.length) {
10755
- max = buf.length;
12474
+ var utf8border = (buf, max2) => {
12475
+ max2 = max2 || buf.length;
12476
+ if (max2 > buf.length) {
12477
+ max2 = buf.length;
10756
12478
  }
10757
- let pos = max - 1;
12479
+ let pos = max2 - 1;
10758
12480
  while (pos >= 0 && (buf[pos] & 192) === 128) {
10759
12481
  pos--;
10760
12482
  }
10761
12483
  if (pos < 0) {
10762
- return max;
12484
+ return max2;
10763
12485
  }
10764
12486
  if (pos === 0) {
10765
- return max;
12487
+ return max2;
10766
12488
  }
10767
- return pos + _utf8len[buf[pos]] > max ? pos : max;
12489
+ return pos + _utf8len[buf[pos]] > max2 ? pos : max2;
10768
12490
  };
10769
12491
  var strings = {
10770
12492
  string2buf,
@@ -10963,8 +12685,8 @@ var inffast = function inflate_fast(strm, start) {
10963
12685
  let dmask;
10964
12686
  let here;
10965
12687
  let op;
10966
- let len;
10967
- let dist;
12688
+ let len2;
12689
+ let dist2;
10968
12690
  let from;
10969
12691
  let from_source;
10970
12692
  let input, output;
@@ -11005,14 +12727,14 @@ var inffast = function inflate_fast(strm, start) {
11005
12727
  if (op === 0) {
11006
12728
  output[_out++] = here & 65535;
11007
12729
  } else if (op & 16) {
11008
- len = here & 65535;
12730
+ len2 = here & 65535;
11009
12731
  op &= 15;
11010
12732
  if (op) {
11011
12733
  if (bits < op) {
11012
12734
  hold += input[_in++] << bits;
11013
12735
  bits += 8;
11014
12736
  }
11015
- len += hold & (1 << op) - 1;
12737
+ len2 += hold & (1 << op) - 1;
11016
12738
  hold >>>= op;
11017
12739
  bits -= op;
11018
12740
  }
@@ -11030,7 +12752,7 @@ var inffast = function inflate_fast(strm, start) {
11030
12752
  bits -= op;
11031
12753
  op = here >>> 16 & 255;
11032
12754
  if (op & 16) {
11033
- dist = here & 65535;
12755
+ dist2 = here & 65535;
11034
12756
  op &= 15;
11035
12757
  if (bits < op) {
11036
12758
  hold += input[_in++] << bits;
@@ -11040,8 +12762,8 @@ var inffast = function inflate_fast(strm, start) {
11040
12762
  bits += 8;
11041
12763
  }
11042
12764
  }
11043
- dist += hold & (1 << op) - 1;
11044
- if (dist > dmax) {
12765
+ dist2 += hold & (1 << op) - 1;
12766
+ if (dist2 > dmax) {
11045
12767
  strm.msg = "invalid distance too far back";
11046
12768
  state.mode = BAD$1;
11047
12769
  break top;
@@ -11049,8 +12771,8 @@ var inffast = function inflate_fast(strm, start) {
11049
12771
  hold >>>= op;
11050
12772
  bits -= op;
11051
12773
  op = _out - beg;
11052
- if (dist > op) {
11053
- op = dist - op;
12774
+ if (dist2 > op) {
12775
+ op = dist2 - op;
11054
12776
  if (op > whave) {
11055
12777
  if (state.sane) {
11056
12778
  strm.msg = "invalid distance too far back";
@@ -11062,67 +12784,67 @@ var inffast = function inflate_fast(strm, start) {
11062
12784
  from_source = s_window;
11063
12785
  if (wnext === 0) {
11064
12786
  from += wsize - op;
11065
- if (op < len) {
11066
- len -= op;
12787
+ if (op < len2) {
12788
+ len2 -= op;
11067
12789
  do {
11068
12790
  output[_out++] = s_window[from++];
11069
12791
  } while (--op);
11070
- from = _out - dist;
12792
+ from = _out - dist2;
11071
12793
  from_source = output;
11072
12794
  }
11073
12795
  } else if (wnext < op) {
11074
12796
  from += wsize + wnext - op;
11075
12797
  op -= wnext;
11076
- if (op < len) {
11077
- len -= op;
12798
+ if (op < len2) {
12799
+ len2 -= op;
11078
12800
  do {
11079
12801
  output[_out++] = s_window[from++];
11080
12802
  } while (--op);
11081
12803
  from = 0;
11082
- if (wnext < len) {
12804
+ if (wnext < len2) {
11083
12805
  op = wnext;
11084
- len -= op;
12806
+ len2 -= op;
11085
12807
  do {
11086
12808
  output[_out++] = s_window[from++];
11087
12809
  } while (--op);
11088
- from = _out - dist;
12810
+ from = _out - dist2;
11089
12811
  from_source = output;
11090
12812
  }
11091
12813
  }
11092
12814
  } else {
11093
12815
  from += wnext - op;
11094
- if (op < len) {
11095
- len -= op;
12816
+ if (op < len2) {
12817
+ len2 -= op;
11096
12818
  do {
11097
12819
  output[_out++] = s_window[from++];
11098
12820
  } while (--op);
11099
- from = _out - dist;
12821
+ from = _out - dist2;
11100
12822
  from_source = output;
11101
12823
  }
11102
12824
  }
11103
- while (len > 2) {
12825
+ while (len2 > 2) {
11104
12826
  output[_out++] = from_source[from++];
11105
12827
  output[_out++] = from_source[from++];
11106
12828
  output[_out++] = from_source[from++];
11107
- len -= 3;
12829
+ len2 -= 3;
11108
12830
  }
11109
- if (len) {
12831
+ if (len2) {
11110
12832
  output[_out++] = from_source[from++];
11111
- if (len > 1) {
12833
+ if (len2 > 1) {
11112
12834
  output[_out++] = from_source[from++];
11113
12835
  }
11114
12836
  }
11115
12837
  } else {
11116
- from = _out - dist;
12838
+ from = _out - dist2;
11117
12839
  do {
11118
12840
  output[_out++] = output[from++];
11119
12841
  output[_out++] = output[from++];
11120
12842
  output[_out++] = output[from++];
11121
- len -= 3;
11122
- } while (len > 2);
11123
- if (len) {
12843
+ len2 -= 3;
12844
+ } while (len2 > 2);
12845
+ if (len2) {
11124
12846
  output[_out++] = output[from++];
11125
- if (len > 1) {
12847
+ if (len2 > 1) {
11126
12848
  output[_out++] = output[from++];
11127
12849
  }
11128
12850
  }
@@ -11151,9 +12873,9 @@ var inffast = function inflate_fast(strm, start) {
11151
12873
  break;
11152
12874
  }
11153
12875
  } while (_in < last && _out < end);
11154
- len = bits >> 3;
11155
- _in -= len;
11156
- bits -= len << 3;
12876
+ len2 = bits >> 3;
12877
+ _in -= len2;
12878
+ bits -= len2 << 3;
11157
12879
  hold &= (1 << bits) - 1;
11158
12880
  strm.next_in = _in;
11159
12881
  strm.next_out = _out;
@@ -11309,9 +13031,9 @@ var dext = new Uint8Array([
11309
13031
  ]);
11310
13032
  var inflate_table = (type, lens, lens_index, codes, table, table_index, work, opts) => {
11311
13033
  const bits = opts.bits;
11312
- let len = 0;
13034
+ let len2 = 0;
11313
13035
  let sym = 0;
11314
- let min = 0, max = 0;
13036
+ let min2 = 0, max2 = 0;
11315
13037
  let root = 0;
11316
13038
  let curr = 0;
11317
13039
  let drop = 0;
@@ -11329,49 +13051,49 @@ var inflate_table = (type, lens, lens_index, codes, table, table_index, work, op
11329
13051
  const offs = new Uint16Array(MAXBITS + 1);
11330
13052
  let extra = null;
11331
13053
  let here_bits, here_op, here_val;
11332
- for (len = 0; len <= MAXBITS; len++) {
11333
- count[len] = 0;
13054
+ for (len2 = 0; len2 <= MAXBITS; len2++) {
13055
+ count[len2] = 0;
11334
13056
  }
11335
13057
  for (sym = 0; sym < codes; sym++) {
11336
13058
  count[lens[lens_index + sym]]++;
11337
13059
  }
11338
13060
  root = bits;
11339
- for (max = MAXBITS; max >= 1; max--) {
11340
- if (count[max] !== 0) {
13061
+ for (max2 = MAXBITS; max2 >= 1; max2--) {
13062
+ if (count[max2] !== 0) {
11341
13063
  break;
11342
13064
  }
11343
13065
  }
11344
- if (root > max) {
11345
- root = max;
13066
+ if (root > max2) {
13067
+ root = max2;
11346
13068
  }
11347
- if (max === 0) {
13069
+ if (max2 === 0) {
11348
13070
  table[table_index++] = 1 << 24 | 64 << 16 | 0;
11349
13071
  table[table_index++] = 1 << 24 | 64 << 16 | 0;
11350
13072
  opts.bits = 1;
11351
13073
  return 0;
11352
13074
  }
11353
- for (min = 1; min < max; min++) {
11354
- if (count[min] !== 0) {
13075
+ for (min2 = 1; min2 < max2; min2++) {
13076
+ if (count[min2] !== 0) {
11355
13077
  break;
11356
13078
  }
11357
13079
  }
11358
- if (root < min) {
11359
- root = min;
13080
+ if (root < min2) {
13081
+ root = min2;
11360
13082
  }
11361
13083
  left = 1;
11362
- for (len = 1; len <= MAXBITS; len++) {
13084
+ for (len2 = 1; len2 <= MAXBITS; len2++) {
11363
13085
  left <<= 1;
11364
- left -= count[len];
13086
+ left -= count[len2];
11365
13087
  if (left < 0) {
11366
13088
  return -1;
11367
13089
  }
11368
13090
  }
11369
- if (left > 0 && (type === CODES$1 || max !== 1)) {
13091
+ if (left > 0 && (type === CODES$1 || max2 !== 1)) {
11370
13092
  return -1;
11371
13093
  }
11372
13094
  offs[1] = 0;
11373
- for (len = 1; len < MAXBITS; len++) {
11374
- offs[len + 1] = offs[len] + count[len];
13095
+ for (len2 = 1; len2 < MAXBITS; len2++) {
13096
+ offs[len2 + 1] = offs[len2] + count[len2];
11375
13097
  }
11376
13098
  for (sym = 0; sym < codes; sym++) {
11377
13099
  if (lens[lens_index + sym] !== 0) {
@@ -11392,7 +13114,7 @@ var inflate_table = (type, lens, lens_index, codes, table, table_index, work, op
11392
13114
  }
11393
13115
  huff = 0;
11394
13116
  sym = 0;
11395
- len = min;
13117
+ len2 = min2;
11396
13118
  next = table_index;
11397
13119
  curr = root;
11398
13120
  drop = 0;
@@ -11403,7 +13125,7 @@ var inflate_table = (type, lens, lens_index, codes, table, table_index, work, op
11403
13125
  return 1;
11404
13126
  }
11405
13127
  for (; ; ) {
11406
- here_bits = len - drop;
13128
+ here_bits = len2 - drop;
11407
13129
  if (work[sym] + 1 < match) {
11408
13130
  here_op = 0;
11409
13131
  here_val = work[sym];
@@ -11414,14 +13136,14 @@ var inflate_table = (type, lens, lens_index, codes, table, table_index, work, op
11414
13136
  here_op = 32 + 64;
11415
13137
  here_val = 0;
11416
13138
  }
11417
- incr = 1 << len - drop;
13139
+ incr = 1 << len2 - drop;
11418
13140
  fill = 1 << curr;
11419
- min = fill;
13141
+ min2 = fill;
11420
13142
  do {
11421
13143
  fill -= incr;
11422
13144
  table[next + (huff >> drop) + fill] = here_bits << 24 | here_op << 16 | here_val | 0;
11423
13145
  } while (fill !== 0);
11424
- incr = 1 << len - 1;
13146
+ incr = 1 << len2 - 1;
11425
13147
  while (huff & incr) {
11426
13148
  incr >>= 1;
11427
13149
  }
@@ -11432,20 +13154,20 @@ var inflate_table = (type, lens, lens_index, codes, table, table_index, work, op
11432
13154
  huff = 0;
11433
13155
  }
11434
13156
  sym++;
11435
- if (--count[len] === 0) {
11436
- if (len === max) {
13157
+ if (--count[len2] === 0) {
13158
+ if (len2 === max2) {
11437
13159
  break;
11438
13160
  }
11439
- len = lens[lens_index + work[sym]];
13161
+ len2 = lens[lens_index + work[sym]];
11440
13162
  }
11441
- if (len > root && (huff & mask) !== low) {
13163
+ if (len2 > root && (huff & mask) !== low) {
11442
13164
  if (drop === 0) {
11443
13165
  drop = root;
11444
13166
  }
11445
- next += min;
11446
- curr = len - drop;
13167
+ next += min2;
13168
+ curr = len2 - drop;
11447
13169
  left = 1 << curr;
11448
- while (curr + drop < max) {
13170
+ while (curr + drop < max2) {
11449
13171
  left -= count[curr + drop];
11450
13172
  if (left <= 0) {
11451
13173
  break;
@@ -11462,7 +13184,7 @@ var inflate_table = (type, lens, lens_index, codes, table, table_index, work, op
11462
13184
  }
11463
13185
  }
11464
13186
  if (huff !== 0) {
11465
- table[next + huff] = len - drop << 24 | 64 << 16 | 0;
13187
+ table[next + huff] = len2 - drop << 24 | 64 << 16 | 0;
11466
13188
  }
11467
13189
  opts.bits = root;
11468
13190
  return 0;
@@ -11681,8 +13403,8 @@ var fixedtables = (state) => {
11681
13403
  state.distcode = distfix;
11682
13404
  state.distbits = 5;
11683
13405
  };
11684
- var updatewindow = (strm, src, end, copy) => {
11685
- let dist;
13406
+ var updatewindow = (strm, src, end, copy3) => {
13407
+ let dist2;
11686
13408
  const state = strm.state;
11687
13409
  if (state.window === null) {
11688
13410
  state.wsize = 1 << state.wbits;
@@ -11690,28 +13412,28 @@ var updatewindow = (strm, src, end, copy) => {
11690
13412
  state.whave = 0;
11691
13413
  state.window = new Uint8Array(state.wsize);
11692
13414
  }
11693
- if (copy >= state.wsize) {
13415
+ if (copy3 >= state.wsize) {
11694
13416
  state.window.set(src.subarray(end - state.wsize, end), 0);
11695
13417
  state.wnext = 0;
11696
13418
  state.whave = state.wsize;
11697
13419
  } else {
11698
- dist = state.wsize - state.wnext;
11699
- if (dist > copy) {
11700
- dist = copy;
11701
- }
11702
- state.window.set(src.subarray(end - copy, end - copy + dist), state.wnext);
11703
- copy -= dist;
11704
- if (copy) {
11705
- state.window.set(src.subarray(end - copy, end), 0);
11706
- state.wnext = copy;
13420
+ dist2 = state.wsize - state.wnext;
13421
+ if (dist2 > copy3) {
13422
+ dist2 = copy3;
13423
+ }
13424
+ state.window.set(src.subarray(end - copy3, end - copy3 + dist2), state.wnext);
13425
+ copy3 -= dist2;
13426
+ if (copy3) {
13427
+ state.window.set(src.subarray(end - copy3, end), 0);
13428
+ state.wnext = copy3;
11707
13429
  state.whave = state.wsize;
11708
13430
  } else {
11709
- state.wnext += dist;
13431
+ state.wnext += dist2;
11710
13432
  if (state.wnext === state.wsize) {
11711
13433
  state.wnext = 0;
11712
13434
  }
11713
13435
  if (state.whave < state.wsize) {
11714
- state.whave += dist;
13436
+ state.whave += dist2;
11715
13437
  }
11716
13438
  }
11717
13439
  }
@@ -11726,13 +13448,13 @@ var inflate$2 = (strm, flush) => {
11726
13448
  let hold;
11727
13449
  let bits;
11728
13450
  let _in, _out;
11729
- let copy;
13451
+ let copy3;
11730
13452
  let from;
11731
13453
  let from_source;
11732
13454
  let here = 0;
11733
13455
  let here_bits, here_op, here_val;
11734
13456
  let last_bits, last_op, last_val;
11735
- let len;
13457
+ let len2;
11736
13458
  let ret;
11737
13459
  const hbuf = new Uint8Array(4);
11738
13460
  let opts;
@@ -11804,11 +13526,11 @@ var inflate$2 = (strm, flush) => {
11804
13526
  }
11805
13527
  hold >>>= 4;
11806
13528
  bits -= 4;
11807
- len = (hold & 15) + 8;
13529
+ len2 = (hold & 15) + 8;
11808
13530
  if (state.wbits === 0) {
11809
- state.wbits = len;
13531
+ state.wbits = len2;
11810
13532
  }
11811
- if (len > 15 || len > state.wbits) {
13533
+ if (len2 > 15 || len2 > state.wbits) {
11812
13534
  strm.msg = "invalid window size";
11813
13535
  state.mode = BAD;
11814
13536
  break;
@@ -11925,13 +13647,13 @@ var inflate$2 = (strm, flush) => {
11925
13647
  /* falls through */
11926
13648
  case EXTRA:
11927
13649
  if (state.flags & 1024) {
11928
- copy = state.length;
11929
- if (copy > have) {
11930
- copy = have;
13650
+ copy3 = state.length;
13651
+ if (copy3 > have) {
13652
+ copy3 = have;
11931
13653
  }
11932
- if (copy) {
13654
+ if (copy3) {
11933
13655
  if (state.head) {
11934
- len = state.head.extra_len - state.length;
13656
+ len2 = state.head.extra_len - state.length;
11935
13657
  if (!state.head.extra) {
11936
13658
  state.head.extra = new Uint8Array(state.head.extra_len);
11937
13659
  }
@@ -11940,18 +13662,18 @@ var inflate$2 = (strm, flush) => {
11940
13662
  next,
11941
13663
  // extra field is limited to 65536 bytes
11942
13664
  // - no need for additional size check
11943
- next + copy
13665
+ next + copy3
11944
13666
  ),
11945
13667
  /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/
11946
- len
13668
+ len2
11947
13669
  );
11948
13670
  }
11949
13671
  if (state.flags & 512 && state.wrap & 4) {
11950
- state.check = crc32_1(state.check, input, copy, next);
13672
+ state.check = crc32_1(state.check, input, copy3, next);
11951
13673
  }
11952
- have -= copy;
11953
- next += copy;
11954
- state.length -= copy;
13674
+ have -= copy3;
13675
+ next += copy3;
13676
+ state.length -= copy3;
11955
13677
  }
11956
13678
  if (state.length) {
11957
13679
  break inf_leave;
@@ -11965,19 +13687,19 @@ var inflate$2 = (strm, flush) => {
11965
13687
  if (have === 0) {
11966
13688
  break inf_leave;
11967
13689
  }
11968
- copy = 0;
13690
+ copy3 = 0;
11969
13691
  do {
11970
- len = input[next + copy++];
11971
- if (state.head && len && state.length < 65536) {
11972
- state.head.name += String.fromCharCode(len);
13692
+ len2 = input[next + copy3++];
13693
+ if (state.head && len2 && state.length < 65536) {
13694
+ state.head.name += String.fromCharCode(len2);
11973
13695
  }
11974
- } while (len && copy < have);
13696
+ } while (len2 && copy3 < have);
11975
13697
  if (state.flags & 512 && state.wrap & 4) {
11976
- state.check = crc32_1(state.check, input, copy, next);
13698
+ state.check = crc32_1(state.check, input, copy3, next);
11977
13699
  }
11978
- have -= copy;
11979
- next += copy;
11980
- if (len) {
13700
+ have -= copy3;
13701
+ next += copy3;
13702
+ if (len2) {
11981
13703
  break inf_leave;
11982
13704
  }
11983
13705
  } else if (state.head) {
@@ -11991,19 +13713,19 @@ var inflate$2 = (strm, flush) => {
11991
13713
  if (have === 0) {
11992
13714
  break inf_leave;
11993
13715
  }
11994
- copy = 0;
13716
+ copy3 = 0;
11995
13717
  do {
11996
- len = input[next + copy++];
11997
- if (state.head && len && state.length < 65536) {
11998
- state.head.comment += String.fromCharCode(len);
13718
+ len2 = input[next + copy3++];
13719
+ if (state.head && len2 && state.length < 65536) {
13720
+ state.head.comment += String.fromCharCode(len2);
11999
13721
  }
12000
- } while (len && copy < have);
13722
+ } while (len2 && copy3 < have);
12001
13723
  if (state.flags & 512 && state.wrap & 4) {
12002
- state.check = crc32_1(state.check, input, copy, next);
13724
+ state.check = crc32_1(state.check, input, copy3, next);
12003
13725
  }
12004
- have -= copy;
12005
- next += copy;
12006
- if (len) {
13726
+ have -= copy3;
13727
+ next += copy3;
13728
+ if (len2) {
12007
13729
  break inf_leave;
12008
13730
  }
12009
13731
  } else if (state.head) {
@@ -12137,23 +13859,23 @@ var inflate$2 = (strm, flush) => {
12137
13859
  state.mode = COPY;
12138
13860
  /* falls through */
12139
13861
  case COPY:
12140
- copy = state.length;
12141
- if (copy) {
12142
- if (copy > have) {
12143
- copy = have;
13862
+ copy3 = state.length;
13863
+ if (copy3) {
13864
+ if (copy3 > have) {
13865
+ copy3 = have;
12144
13866
  }
12145
- if (copy > left) {
12146
- copy = left;
13867
+ if (copy3 > left) {
13868
+ copy3 = left;
12147
13869
  }
12148
- if (copy === 0) {
13870
+ if (copy3 === 0) {
12149
13871
  break inf_leave;
12150
13872
  }
12151
- output.set(input.subarray(next, next + copy), put);
12152
- have -= copy;
12153
- next += copy;
12154
- left -= copy;
12155
- put += copy;
12156
- state.length -= copy;
13873
+ output.set(input.subarray(next, next + copy3), put);
13874
+ have -= copy3;
13875
+ next += copy3;
13876
+ left -= copy3;
13877
+ put += copy3;
13878
+ state.length -= copy3;
12157
13879
  break;
12158
13880
  }
12159
13881
  state.mode = TYPE;
@@ -12253,8 +13975,8 @@ var inflate$2 = (strm, flush) => {
12253
13975
  state.mode = BAD;
12254
13976
  break;
12255
13977
  }
12256
- len = state.lens[state.have - 1];
12257
- copy = 3 + (hold & 3);
13978
+ len2 = state.lens[state.have - 1];
13979
+ copy3 = 3 + (hold & 3);
12258
13980
  hold >>>= 2;
12259
13981
  bits -= 2;
12260
13982
  } else if (here_val === 17) {
@@ -12269,8 +13991,8 @@ var inflate$2 = (strm, flush) => {
12269
13991
  }
12270
13992
  hold >>>= here_bits;
12271
13993
  bits -= here_bits;
12272
- len = 0;
12273
- copy = 3 + (hold & 7);
13994
+ len2 = 0;
13995
+ copy3 = 3 + (hold & 7);
12274
13996
  hold >>>= 3;
12275
13997
  bits -= 3;
12276
13998
  } else {
@@ -12285,18 +14007,18 @@ var inflate$2 = (strm, flush) => {
12285
14007
  }
12286
14008
  hold >>>= here_bits;
12287
14009
  bits -= here_bits;
12288
- len = 0;
12289
- copy = 11 + (hold & 127);
14010
+ len2 = 0;
14011
+ copy3 = 11 + (hold & 127);
12290
14012
  hold >>>= 7;
12291
14013
  bits -= 7;
12292
14014
  }
12293
- if (state.have + copy > state.nlen + state.ndist) {
14015
+ if (state.have + copy3 > state.nlen + state.ndist) {
12294
14016
  strm.msg = "invalid bit length repeat";
12295
14017
  state.mode = BAD;
12296
14018
  break;
12297
14019
  }
12298
- while (copy--) {
12299
- state.lens[state.have++] = len;
14020
+ while (copy3--) {
14021
+ state.lens[state.have++] = len2;
12300
14022
  }
12301
14023
  }
12302
14024
  }
@@ -12514,39 +14236,39 @@ var inflate$2 = (strm, flush) => {
12514
14236
  if (left === 0) {
12515
14237
  break inf_leave;
12516
14238
  }
12517
- copy = _out - left;
12518
- if (state.offset > copy) {
12519
- copy = state.offset - copy;
12520
- if (copy > state.whave) {
14239
+ copy3 = _out - left;
14240
+ if (state.offset > copy3) {
14241
+ copy3 = state.offset - copy3;
14242
+ if (copy3 > state.whave) {
12521
14243
  if (state.sane) {
12522
14244
  strm.msg = "invalid distance too far back";
12523
14245
  state.mode = BAD;
12524
14246
  break;
12525
14247
  }
12526
14248
  }
12527
- if (copy > state.wnext) {
12528
- copy -= state.wnext;
12529
- from = state.wsize - copy;
14249
+ if (copy3 > state.wnext) {
14250
+ copy3 -= state.wnext;
14251
+ from = state.wsize - copy3;
12530
14252
  } else {
12531
- from = state.wnext - copy;
14253
+ from = state.wnext - copy3;
12532
14254
  }
12533
- if (copy > state.length) {
12534
- copy = state.length;
14255
+ if (copy3 > state.length) {
14256
+ copy3 = state.length;
12535
14257
  }
12536
14258
  from_source = state.window;
12537
14259
  } else {
12538
14260
  from_source = output;
12539
14261
  from = put - state.offset;
12540
- copy = state.length;
14262
+ copy3 = state.length;
12541
14263
  }
12542
- if (copy > left) {
12543
- copy = left;
14264
+ if (copy3 > left) {
14265
+ copy3 = left;
12544
14266
  }
12545
- left -= copy;
12546
- state.length -= copy;
14267
+ left -= copy3;
14268
+ state.length -= copy3;
12547
14269
  do {
12548
14270
  output[put++] = from_source[from++];
12549
- } while (--copy);
14271
+ } while (--copy3);
12550
14272
  if (state.length === 0) {
12551
14273
  state.mode = LEN;
12552
14274
  }
@@ -13010,18 +14732,18 @@ var _StreamingBuffer = class _StreamingBuffer {
13010
14732
  _StreamingBuffer.MAX_STRING_LENGTH,
13011
14733
  this.writeOffset - this.readOffset
13012
14734
  );
13013
- let length = 0;
13014
- while (length < maxLength && this.buffer[this.readOffset + length] !== 0) {
13015
- length++;
14735
+ let length2 = 0;
14736
+ while (length2 < maxLength && this.buffer[this.readOffset + length2] !== 0) {
14737
+ length2++;
13016
14738
  }
13017
- if (length >= maxLength) {
14739
+ if (length2 >= maxLength) {
13018
14740
  if (this.writeOffset - this.readOffset <= maxLength) {
13019
14741
  throw new Error("Buffer underflow");
13020
14742
  }
13021
14743
  throw new Error("String exceeds max length");
13022
14744
  }
13023
- const bytes = this.buffer.slice(this.readOffset, this.readOffset + length);
13024
- this.readOffset += length + 1;
14745
+ const bytes = this.buffer.slice(this.readOffset, this.readOffset + length2);
14746
+ this.readOffset += length2 + 1;
13025
14747
  return new TextDecoder("latin1").decode(bytes);
13026
14748
  }
13027
14749
  /**
@@ -13487,8 +15209,8 @@ var NetworkMessageParser = class _NetworkMessageParser {
13487
15209
  }
13488
15210
  parsePrint() {
13489
15211
  const id = this.stream.readByte();
13490
- const str = this.stream.readString();
13491
- if (this.handler) this.handler.onPrint(id, str);
15212
+ const str3 = this.stream.readString();
15213
+ if (this.handler) this.handler.onPrint(id, str3);
13492
15214
  }
13493
15215
  parseStuffText() {
13494
15216
  const text = this.stream.readString();
@@ -13532,8 +15254,8 @@ var NetworkMessageParser = class _NetworkMessageParser {
13532
15254
  }
13533
15255
  parseConfigString() {
13534
15256
  const index = this.stream.readShort();
13535
- const str = this.stream.readString();
13536
- if (this.handler) this.handler.onConfigString(index, str);
15257
+ const str3 = this.stream.readString();
15258
+ if (this.handler) this.handler.onConfigString(index, str3);
13537
15259
  }
13538
15260
  parseSplitClient() {
13539
15261
  const clientNum = this.stream.readByte();
@@ -13548,8 +15270,8 @@ var NetworkMessageParser = class _NetworkMessageParser {
13548
15270
  const blastStream = new BinaryStream(decompressed.buffer);
13549
15271
  while (blastStream.hasMore()) {
13550
15272
  const index = blastStream.readUShort();
13551
- const str = blastStream.readString();
13552
- if (this.handler) this.handler.onConfigString(index, str);
15273
+ const str3 = blastStream.readString();
15274
+ if (this.handler) this.handler.onConfigString(index, str3);
13553
15275
  }
13554
15276
  } catch (e) {
13555
15277
  console.error("svc_configblast error", e);
@@ -14111,10 +15833,10 @@ var DemoAnalyzer = class {
14111
15833
  frameDuration = 1 / tickRate;
14112
15834
  }
14113
15835
  },
14114
- onConfigString: (index, str) => {
14115
- this.configStrings.set(index, str);
15836
+ onConfigString: (index, str3) => {
15837
+ this.configStrings.set(index, str3);
14116
15838
  if (index === 0) {
14117
- this.parseServerInfo(str);
15839
+ this.parseServerInfo(str3);
14118
15840
  }
14119
15841
  },
14120
15842
  onSpawnBaseline: (entity) => {
@@ -14267,8 +15989,8 @@ var DemoAnalyzer = class {
14267
15989
  recordEvent(event) {
14268
15990
  this.events.push(event);
14269
15991
  }
14270
- parseServerInfo(str) {
14271
- const parts = str.split("\\");
15992
+ parseServerInfo(str3) {
15993
+ const parts = str3.split("\\");
14272
15994
  for (let i = 1; i < parts.length; i += 2) {
14273
15995
  if (i + 1 < parts.length) {
14274
15996
  this.serverInfo[parts[i]] = parts[i + 1];
@@ -14879,8 +16601,8 @@ var DemoPlaybackController = class {
14879
16601
  getCameraMode() {
14880
16602
  return this.cameraMode;
14881
16603
  }
14882
- setThirdPersonDistance(distance) {
14883
- this.thirdPersonDistance = distance;
16604
+ setThirdPersonDistance(distance2) {
16605
+ this.thirdPersonDistance = distance2;
14884
16606
  }
14885
16607
  setThirdPersonOffset(offset) {
14886
16608
  this.thirdPersonOffset = offset;
@@ -15060,9 +16782,9 @@ var DemoValidator = class {
15060
16782
  return { valid: false, error: "File too small to be a valid demo" };
15061
16783
  }
15062
16784
  const view = new DataView(buffer);
15063
- const length = view.getInt32(0, true);
15064
- if (length <= 0 || length > buffer.byteLength - 4) {
15065
- return { valid: false, error: `Invalid first block length: ${length}` };
16785
+ const length2 = view.getInt32(0, true);
16786
+ if (length2 <= 0 || length2 > buffer.byteLength - 4) {
16787
+ return { valid: false, error: `Invalid first block length: ${length2}` };
15066
16788
  }
15067
16789
  const firstCmd = view.getUint8(4);
15068
16790
  if (firstCmd !== ServerCommand.serverdata) {
@@ -15072,7 +16794,7 @@ var DemoValidator = class {
15072
16794
  };
15073
16795
  }
15074
16796
  let version = -1;
15075
- if (length >= 5) {
16797
+ if (length2 >= 5) {
15076
16798
  version = view.getInt32(5, true);
15077
16799
  }
15078
16800
  return { valid: true, version };
@@ -15157,10 +16879,10 @@ var MessageWriter = class {
15157
16879
  this.writer.writeShort(playerNum);
15158
16880
  this.writer.writeString(levelName);
15159
16881
  }
15160
- writeConfigString(index, str, protocolVersion = 0) {
16882
+ writeConfigString(index, str3, protocolVersion = 0) {
15161
16883
  this.writeCommand(ServerCommand.configstring, protocolVersion);
15162
16884
  this.writer.writeShort(index);
15163
- this.writer.writeString(str);
16885
+ this.writer.writeString(str3);
15164
16886
  }
15165
16887
  writeSpawnBaseline(entity, protocolVersion) {
15166
16888
  this.writeCommand(ServerCommand.spawnbaseline, protocolVersion);
@@ -15660,8 +17382,8 @@ var DemoClipper = class {
15660
17382
  onServerData: (protocol, serverCount, attractLoop, gameDir, playerNum, levelName, tickRate, demoType) => {
15661
17383
  state.serverData = { protocol, serverCount, attractLoop, gameDir, playerNum, levelName, tickRate, demoType };
15662
17384
  },
15663
- onConfigString: (index, str) => {
15664
- state.configStrings.set(index, str);
17385
+ onConfigString: (index, str3) => {
17386
+ state.configStrings.set(index, str3);
15665
17387
  },
15666
17388
  onSpawnBaseline: (entity) => {
15667
17389
  state.entityBaselines.set(entity.number, { ...entity });
@@ -15758,8 +17480,8 @@ var DemoClipper = class {
15758
17480
  serverData.levelName
15759
17481
  );
15760
17482
  }
15761
- for (const [index, str] of worldState.configStrings) {
15762
- headerWriter.writeConfigString(index, str, serverData.protocol);
17483
+ for (const [index, str3] of worldState.configStrings) {
17484
+ headerWriter.writeConfigString(index, str3, serverData.protocol);
15763
17485
  }
15764
17486
  for (const entity of worldState.entityBaselines.values()) {
15765
17487
  headerWriter.writeSpawnBaseline(entity, serverData.protocol);
@@ -15794,7 +17516,7 @@ var DemoClipper = class {
15794
17516
  const passthroughHandler = {
15795
17517
  onServerData: () => {
15796
17518
  },
15797
- onConfigString: (idx, str) => blockWriter.writeConfigString(idx, str, serverData.protocol),
17519
+ onConfigString: (idx, str3) => blockWriter.writeConfigString(idx, str3, serverData.protocol),
15798
17520
  onSpawnBaseline: (ent) => blockWriter.writeSpawnBaseline(ent, serverData.protocol),
15799
17521
  onCenterPrint: (msg) => blockWriter.writeCenterPrint(msg, serverData.protocol),
15800
17522
  onStuffText: (txt) => blockWriter.writeStuffText(txt, serverData.protocol),
@@ -15974,7 +17696,7 @@ function drawLine(buffer, width, height, x0, y0, x1, y1, r, g, b, a) {
15974
17696
  }
15975
17697
  }
15976
17698
  }
15977
- function projectPoint(v, width, height, center, scale) {
17699
+ function projectPoint(v, width, height, center, scale3) {
15978
17700
  const cosY = 0.707;
15979
17701
  const sinY = 0.707;
15980
17702
  const x1 = (v.x - center.x) * cosY - (v.y - center.y) * sinY;
@@ -15984,8 +17706,8 @@ function projectPoint(v, width, height, center, scale) {
15984
17706
  const sinX = 0.5;
15985
17707
  const y2 = y1 * cosX - z1 * sinX;
15986
17708
  const z2 = y1 * sinX + z1 * cosX;
15987
- const screenX = width / 2 + x1 * scale;
15988
- const screenY = height / 2 - z2 * scale;
17709
+ const screenX = width / 2 + x1 * scale3;
17710
+ const screenY = height / 2 - z2 * scale3;
15989
17711
  return { x: screenX, y: screenY };
15990
17712
  }
15991
17713
  var AssetPreviewGenerator = class {
@@ -16056,35 +17778,35 @@ var AssetPreviewGenerator = class {
16056
17778
  return null;
16057
17779
  }
16058
17780
  if (vertices.length === 0) return null;
16059
- const min = { x: Infinity, y: Infinity, z: Infinity };
16060
- const max = { x: -Infinity, y: -Infinity, z: -Infinity };
17781
+ const min2 = { x: Infinity, y: Infinity, z: Infinity };
17782
+ const max2 = { x: -Infinity, y: -Infinity, z: -Infinity };
16061
17783
  for (const v of vertices) {
16062
- min.x = Math.min(min.x, v.x);
16063
- min.y = Math.min(min.y, v.y);
16064
- min.z = Math.min(min.z, v.z);
16065
- max.x = Math.max(max.x, v.x);
16066
- max.y = Math.max(max.y, v.y);
16067
- max.z = Math.max(max.z, v.z);
17784
+ min2.x = Math.min(min2.x, v.x);
17785
+ min2.y = Math.min(min2.y, v.y);
17786
+ min2.z = Math.min(min2.z, v.z);
17787
+ max2.x = Math.max(max2.x, v.x);
17788
+ max2.y = Math.max(max2.y, v.y);
17789
+ max2.z = Math.max(max2.z, v.z);
16068
17790
  }
16069
17791
  const center = {
16070
- x: (min.x + max.x) / 2,
16071
- y: (min.y + max.y) / 2,
16072
- z: (min.z + max.z) / 2
17792
+ x: (min2.x + max2.x) / 2,
17793
+ y: (min2.y + max2.y) / 2,
17794
+ z: (min2.z + max2.z) / 2
16073
17795
  };
16074
- const sizeX = max.x - min.x;
16075
- const sizeY = max.y - min.y;
16076
- const sizeZ = max.z - min.z;
17796
+ const sizeX = max2.x - min2.x;
17797
+ const sizeY = max2.y - min2.y;
17798
+ const sizeZ = max2.z - min2.z;
16077
17799
  const maxDim = Math.max(sizeX, sizeY, sizeZ);
16078
17800
  const safeMaxDim = Math.max(maxDim, 1e-3);
16079
- const scale = size * 0.8 / safeMaxDim;
17801
+ const scale3 = size * 0.8 / safeMaxDim;
16080
17802
  const buffer = new Uint8ClampedArray(size * size * 4);
16081
17803
  for (let i = 0; i < indices.length; i += 2) {
16082
17804
  const idx0 = indices[i];
16083
17805
  const idx1 = indices[i + 1];
16084
17806
  const v0 = vertices[idx0];
16085
17807
  const v1 = vertices[idx1];
16086
- const p0 = projectPoint(v0, size, size, center, scale);
16087
- const p1 = projectPoint(v1, size, size, center, scale);
17808
+ const p0 = projectPoint(v0, size, size, center, scale3);
17809
+ const p1 = projectPoint(v1, size, size, center, scale3);
16088
17810
  drawLine(buffer, size, size, p0.x, p0.y, p1.x, p1.y, 0, 255, 0, 255);
16089
17811
  }
16090
17812
  return new ImageData(buffer, size, size);
@@ -16179,19 +17901,19 @@ var MapAnalyzer = class {
16179
17901
  function parseEntLump(text) {
16180
17902
  const entities = [];
16181
17903
  let cursor = 0;
16182
- const length = text.length;
17904
+ const length2 = text.length;
16183
17905
  function skipWhitespace() {
16184
- while (cursor < length && /\s/.test(text[cursor])) {
17906
+ while (cursor < length2 && /\s/.test(text[cursor])) {
16185
17907
  cursor++;
16186
17908
  }
16187
17909
  }
16188
17910
  function readToken() {
16189
17911
  skipWhitespace();
16190
- if (cursor >= length) return null;
17912
+ if (cursor >= length2) return null;
16191
17913
  if (text[cursor] === '"') {
16192
17914
  cursor++;
16193
17915
  const start = cursor;
16194
- while (cursor < length && text[cursor] !== '"') {
17916
+ while (cursor < length2 && text[cursor] !== '"') {
16195
17917
  if (text[cursor] === "\n") {
16196
17918
  }
16197
17919
  cursor++;
@@ -16203,19 +17925,19 @@ function parseEntLump(text) {
16203
17925
  return text[cursor++];
16204
17926
  } else {
16205
17927
  if (text.startsWith("//", cursor)) {
16206
- while (cursor < length && text[cursor] !== "\n") {
17928
+ while (cursor < length2 && text[cursor] !== "\n") {
16207
17929
  cursor++;
16208
17930
  }
16209
17931
  return readToken();
16210
17932
  }
16211
17933
  const start = cursor;
16212
- while (cursor < length && !/\s/.test(text[cursor]) && text[cursor] !== "}" && text[cursor] !== "{") {
17934
+ while (cursor < length2 && !/\s/.test(text[cursor]) && text[cursor] !== "}" && text[cursor] !== "{") {
16213
17935
  cursor++;
16214
17936
  }
16215
17937
  return text.substring(start, cursor);
16216
17938
  }
16217
17939
  }
16218
- while (cursor < length) {
17940
+ while (cursor < length2) {
16219
17941
  const token = readToken();
16220
17942
  if (token === null) break;
16221
17943
  if (token === "{") {