wangjuncheng
5 天以前 f60f7c614e60221ed7c0ddb93c52608e86f4b57e
package-lock.json
@@ -9,12 +9,14 @@
      "version": "0.1.0",
      "dependencies": {
        "axios": "^1.8.4",
        "cesium": "1.129",
        "core-js": "^3.8.3",
        "dayjs": "^1.11.13",
        "echarts": "^5.6.0",
        "element-plus": "^2.9.5",
        "less": "^4.2.2",
        "less-loader": "^12.2.0",
        "mitt": "^3.0.1",
        "papaparse": "^5.5.2",
        "pinia": "^3.0.2",
        "sdp": "^3.2.0",
@@ -1572,6 +1574,108 @@
        "node": ">=6.9.0"
      }
    },
    "node_modules/@cesium/engine": {
      "version": "17.0.0",
      "resolved": "https://registry.npmjs.org/@cesium/engine/-/engine-17.0.0.tgz",
      "integrity": "sha512-bvLWmWVY4QX9rfcx/zfBzA8R1xR8KzmaCDOVL6pFkNZeYmRtt8JN//IICYR3P45lznlcb0Dklw1iCb37t4tvLA==",
      "license": "Apache-2.0",
      "dependencies": {
        "@tweenjs/tween.js": "^25.0.0",
        "@zip.js/zip.js": "^2.7.34",
        "autolinker": "^4.0.0",
        "bitmap-sdf": "^1.0.3",
        "dompurify": "^3.0.2",
        "draco3d": "^1.5.1",
        "earcut": "^3.0.0",
        "grapheme-splitter": "^1.0.4",
        "jsep": "^1.3.8",
        "kdbush": "^4.0.1",
        "ktx-parse": "^1.0.0",
        "lerc": "^2.0.0",
        "mersenne-twister": "^1.1.0",
        "meshoptimizer": "^0.23.0",
        "pako": "^2.0.4",
        "protobufjs": "^7.1.0",
        "rbush": "3.0.1",
        "topojson-client": "^3.1.0",
        "urijs": "^1.19.7"
      },
      "engines": {
        "node": ">=14.0.0"
      }
    },
    "node_modules/@cesium/wasm-splats": {
      "version": "0.1.0-alpha.2",
      "resolved": "https://registry.npmjs.org/@cesium/wasm-splats/-/wasm-splats-0.1.0-alpha.2.tgz",
      "integrity": "sha512-t9pMkknv31hhIbLpMa8yPvmqfpvs5UkUjgqlQv9SeO8VerCXOYnyP8/486BDaFrztM0A7FMbRjsXtNeKvqQghA==",
      "license": "Apache-2.0"
    },
    "node_modules/@cesium/widgets": {
      "version": "12.3.0",
      "resolved": "https://registry.npmjs.org/@cesium/widgets/-/widgets-12.3.0.tgz",
      "integrity": "sha512-5Aa54lCrdywogY1ypOwRmRrb72LVrPvrOzOrcYeQ50DDZSs5hCxVXWecYYsq3qoeK0buA9wP/5TBWE7RlsV7OA==",
      "license": "Apache-2.0",
      "dependencies": {
        "@cesium/engine": "^18.3.0",
        "nosleep.js": "^0.12.0"
      },
      "engines": {
        "node": ">=20.19.0"
      }
    },
    "node_modules/@cesium/widgets/node_modules/@cesium/engine": {
      "version": "18.3.0",
      "resolved": "https://registry.npmjs.org/@cesium/engine/-/engine-18.3.0.tgz",
      "integrity": "sha512-ILNA1a+RX2gNsQGyF2zq27Ucaj5UMj19paYoJbKxX/U0QtxLuFUhJ2yg6wr2eBtC3X3kd475o7kAx0LpfCZxpg==",
      "license": "Apache-2.0",
      "dependencies": {
        "@cesium/wasm-splats": "^0.1.0-alpha.2",
        "@spz-loader/core": "0.1.0",
        "@tweenjs/tween.js": "^25.0.0",
        "@zip.js/zip.js": "^2.7.34",
        "autolinker": "^4.0.0",
        "bitmap-sdf": "^1.0.3",
        "dompurify": "^3.0.2",
        "draco3d": "^1.5.1",
        "earcut": "^3.0.0",
        "grapheme-splitter": "^1.0.4",
        "jsep": "^1.3.8",
        "kdbush": "^4.0.1",
        "ktx-parse": "^1.0.0",
        "lerc": "^2.0.0",
        "mersenne-twister": "^1.1.0",
        "meshoptimizer": "^0.24.0",
        "pako": "^2.0.4",
        "protobufjs": "^7.1.0",
        "rbush": "^4.0.1",
        "topojson-client": "^3.1.0",
        "urijs": "^1.19.7"
      },
      "engines": {
        "node": ">=20.19.0"
      }
    },
    "node_modules/@cesium/widgets/node_modules/meshoptimizer": {
      "version": "0.24.0",
      "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.24.0.tgz",
      "integrity": "sha512-Iq/8cM5cK2B0P0QdKHexr30zEJn5sQxjXKtQJGp6LO7r1VUPwhgxau18pvybVDnEDsKE49GdlJYwqPX9A/P9Sw==",
      "license": "MIT"
    },
    "node_modules/@cesium/widgets/node_modules/quickselect": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz",
      "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==",
      "license": "ISC"
    },
    "node_modules/@cesium/widgets/node_modules/rbush": {
      "version": "4.0.1",
      "resolved": "https://registry.npmjs.org/rbush/-/rbush-4.0.1.tgz",
      "integrity": "sha512-IP0UpfeWQujYC8Jg162rMNc01Rf0gWMMAb2Uxus/Q0qOFw4lCcq6ZnQEZwUoJqWyUGJ9th7JjwI4yIWo+uvoAQ==",
      "license": "MIT",
      "dependencies": {
        "quickselect": "^3.0.0"
      }
    },
    "node_modules/@ctrl/tinycolor": {
      "version": "3.6.1",
      "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
@@ -1760,6 +1864,70 @@
        "url": "https://opencollective.com/popperjs"
      }
    },
    "node_modules/@protobufjs/aspromise": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
      "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
      "license": "BSD-3-Clause"
    },
    "node_modules/@protobufjs/base64": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
      "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
      "license": "BSD-3-Clause"
    },
    "node_modules/@protobufjs/codegen": {
      "version": "2.0.4",
      "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
      "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==",
      "license": "BSD-3-Clause"
    },
    "node_modules/@protobufjs/eventemitter": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
      "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==",
      "license": "BSD-3-Clause"
    },
    "node_modules/@protobufjs/fetch": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
      "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
      "license": "BSD-3-Clause",
      "dependencies": {
        "@protobufjs/aspromise": "^1.1.1",
        "@protobufjs/inquire": "^1.1.0"
      }
    },
    "node_modules/@protobufjs/float": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
      "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
      "license": "BSD-3-Clause"
    },
    "node_modules/@protobufjs/inquire": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
      "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==",
      "license": "BSD-3-Clause"
    },
    "node_modules/@protobufjs/path": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
      "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
      "license": "BSD-3-Clause"
    },
    "node_modules/@protobufjs/pool": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
      "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
      "license": "BSD-3-Clause"
    },
    "node_modules/@protobufjs/utf8": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
      "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==",
      "license": "BSD-3-Clause"
    },
    "node_modules/@sideway/address": {
      "version": "4.1.5",
      "resolved": "https://registry.npmmirror.com/@sideway/address/-/address-4.1.5.tgz",
@@ -1805,6 +1973,16 @@
      "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==",
      "dev": true
    },
    "node_modules/@spz-loader/core": {
      "version": "0.1.0",
      "resolved": "https://registry.npmjs.org/@spz-loader/core/-/core-0.1.0.tgz",
      "integrity": "sha512-atqn/DLy0xNkqRgz3l/5CD12y1M44JdjTmAFQYDKvzf0pIyj+NlJ/PeCRlSJQfXmZ2JndNOCpcGOFVldANf/EA==",
      "license": "Apache-2.0",
      "engines": {
        "node": ">=16",
        "pnpm": ">=8"
      }
    },
    "node_modules/@trysound/sax": {
      "version": "0.2.0",
      "resolved": "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz",
@@ -1813,6 +1991,12 @@
      "engines": {
        "node": ">=10.13.0"
      }
    },
    "node_modules/@tweenjs/tween.js": {
      "version": "25.0.0",
      "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-25.0.0.tgz",
      "integrity": "sha512-XKLA6syeBUaPzx4j3qwMqzzq+V4uo72BnlbOjmuljLrRqdsd3qnzvZZoxvMHZ23ndsRS4aufU6JOZYpCbU6T1A==",
      "license": "MIT"
    },
    "node_modules/@types/body-parser": {
      "version": "1.19.5",
@@ -1970,7 +2154,6 @@
      "version": "22.13.5",
      "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.13.5.tgz",
      "integrity": "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==",
      "devOptional": true,
      "dependencies": {
        "undici-types": "~6.20.0"
      }
@@ -2052,6 +2235,13 @@
      "dependencies": {
        "@types/node": "*"
      }
    },
    "node_modules/@types/trusted-types": {
      "version": "2.0.7",
      "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
      "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
      "license": "MIT",
      "optional": true
    },
    "node_modules/@types/web-bluetooth": {
      "version": "0.0.16",
@@ -2982,6 +3172,17 @@
      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
      "devOptional": true
    },
    "node_modules/@zip.js/zip.js": {
      "version": "2.7.63",
      "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.63.tgz",
      "integrity": "sha512-B02i6QDMUQ4c+5F9LmliBGA+jFsiEHIlF0eLQ6rWLaQOD3YwI6vyWwGkVCNJnVVguE2xYyr9fAwSD/3valm1/Q==",
      "license": "BSD-3-Clause",
      "engines": {
        "bun": ">=0.7.0",
        "deno": ">=1.0.0",
        "node": ">=16.5.0"
      }
    },
    "node_modules/accepts": {
      "version": "1.3.8",
      "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz",
@@ -3237,6 +3438,18 @@
        "node": ">= 4.0.0"
      }
    },
    "node_modules/autolinker": {
      "version": "4.1.5",
      "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-4.1.5.tgz",
      "integrity": "sha512-vEfYZPmvVOIuE567XBVCsx8SBgOYtjB2+S1iAaJ+HgH+DNjAcrHem2hmAeC9yaNGWayicv4yR+9UaJlkF3pvtw==",
      "license": "MIT",
      "dependencies": {
        "tslib": "^2.8.1"
      },
      "engines": {
        "pnpm": ">=10.10.0"
      }
    },
    "node_modules/autoprefixer": {
      "version": "10.4.20",
      "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.20.tgz",
@@ -3425,6 +3638,12 @@
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      }
    },
    "node_modules/bitmap-sdf": {
      "version": "1.0.4",
      "resolved": "https://registry.npmjs.org/bitmap-sdf/-/bitmap-sdf-1.0.4.tgz",
      "integrity": "sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg==",
      "license": "MIT"
    },
    "node_modules/bl": {
      "version": "4.1.0",
@@ -3704,6 +3923,23 @@
      "dev": true,
      "engines": {
        "node": ">=4"
      }
    },
    "node_modules/cesium": {
      "version": "1.129.0",
      "resolved": "https://registry.npmjs.org/cesium/-/cesium-1.129.0.tgz",
      "integrity": "sha512-XDEJKLnr8s5/Q/1wcdZVEJCgx+xbgfDzkVKd9OxRZzYttazip6KffusMHexRdExVMPfDcTohuqcuHNxj9CUNFA==",
      "license": "Apache-2.0",
      "workspaces": [
        "packages/engine",
        "packages/widgets"
      ],
      "dependencies": {
        "@cesium/engine": "^17.0.0",
        "@cesium/widgets": "^12.0.0"
      },
      "engines": {
        "node": ">=18.18.0"
      }
    },
    "node_modules/cfb": {
@@ -4853,6 +5089,15 @@
        "url": "https://github.com/fb55/domhandler?sponsor=1"
      }
    },
    "node_modules/dompurify": {
      "version": "3.2.6",
      "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz",
      "integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==",
      "license": "(MPL-2.0 OR Apache-2.0)",
      "optionalDependencies": {
        "@types/trusted-types": "^2.0.7"
      }
    },
    "node_modules/domutils": {
      "version": "2.8.0",
      "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz",
@@ -4892,6 +5137,12 @@
      "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
      "dev": true
    },
    "node_modules/draco3d": {
      "version": "1.5.7",
      "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.7.tgz",
      "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==",
      "license": "Apache-2.0"
    },
    "node_modules/dunder-proto": {
      "version": "1.0.1",
      "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz",
@@ -4910,6 +5161,12 @@
      "resolved": "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz",
      "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
      "dev": true
    },
    "node_modules/earcut": {
      "version": "3.0.1",
      "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.1.tgz",
      "integrity": "sha512-0l1/0gOjESMeQyYaK5IDiPNvFeu93Z/cO0TjZh9eZ1vyCtZnA7KMZ8rQggpsJHIbGSdrqYq9OhuveadOVHCshw==",
      "license": "ISC"
    },
    "node_modules/easy-stack": {
      "version": "1.0.1",
@@ -5742,6 +5999,12 @@
      "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
      "devOptional": true
    },
    "node_modules/grapheme-splitter": {
      "version": "1.0.4",
      "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
      "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
      "license": "MIT"
    },
    "node_modules/gzip-size": {
      "version": "6.0.0",
      "resolved": "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz",
@@ -6445,6 +6708,15 @@
      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
      "dev": true
    },
    "node_modules/jsep": {
      "version": "1.4.0",
      "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.4.0.tgz",
      "integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==",
      "license": "MIT",
      "engines": {
        "node": ">= 10.16.0"
      }
    },
    "node_modules/jsesc": {
      "version": "3.1.0",
      "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz",
@@ -6499,6 +6771,12 @@
        "graceful-fs": "^4.1.6"
      }
    },
    "node_modules/kdbush": {
      "version": "4.0.2",
      "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz",
      "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==",
      "license": "ISC"
    },
    "node_modules/kind-of": {
      "version": "6.0.3",
      "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz",
@@ -6516,6 +6794,12 @@
      "engines": {
        "node": ">= 8"
      }
    },
    "node_modules/ktx-parse": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/ktx-parse/-/ktx-parse-1.0.1.tgz",
      "integrity": "sha512-djwUWv/82Xc8LOVinJU4EBrVqYkO8OsUDSPEtY/OOVY8BSe3DMU7D7PlIAZ0pI7ZZtErj7mqpJcgffUTABvgaA==",
      "license": "MIT"
    },
    "node_modules/launch-editor": {
      "version": "2.10.0",
@@ -6535,6 +6819,12 @@
      "dependencies": {
        "launch-editor": "^2.10.0"
      }
    },
    "node_modules/lerc": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/lerc/-/lerc-2.0.0.tgz",
      "integrity": "sha512-7qo1Mq8ZNmaR4USHHm615nEW2lPeeWJ3bTyoqFbd35DLx0LUH7C6ptt5FDCTAlbIzs3+WKrk5SkJvw8AFDE2hg==",
      "license": "Apache-2.0"
    },
    "node_modules/less": {
      "version": "4.2.2",
@@ -6874,6 +7164,12 @@
        "node": ">=4"
      }
    },
    "node_modules/long": {
      "version": "5.3.2",
      "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
      "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
      "license": "Apache-2.0"
    },
    "node_modules/lower-case": {
      "version": "2.0.2",
      "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz",
@@ -6987,6 +7283,18 @@
      "engines": {
        "node": ">= 8"
      }
    },
    "node_modules/mersenne-twister": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/mersenne-twister/-/mersenne-twister-1.1.0.tgz",
      "integrity": "sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA==",
      "license": "MIT"
    },
    "node_modules/meshoptimizer": {
      "version": "0.23.0",
      "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.23.0.tgz",
      "integrity": "sha512-zAZcfhHE3wBbwEN8MfCMI9PKRyOpz8491wcR2dxkv3IlNwDZrq2hEs5JZVtzfBrmjWhBZZtZZUO0OBSNFq5iUQ==",
      "license": "MIT"
    },
    "node_modules/methods": {
      "version": "1.1.2",
@@ -7397,6 +7705,12 @@
      "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
      "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
    },
    "node_modules/nosleep.js": {
      "version": "0.12.0",
      "resolved": "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.12.0.tgz",
      "integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA==",
      "license": "MIT"
    },
    "node_modules/npm-run-path": {
      "version": "2.0.2",
      "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz",
@@ -7644,6 +7958,12 @@
      "engines": {
        "node": ">=6"
      }
    },
    "node_modules/pako": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz",
      "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==",
      "license": "(MIT AND Zlib)"
    },
    "node_modules/papaparse": {
      "version": "5.5.2",
@@ -8562,6 +8882,30 @@
        "node": ">=4"
      }
    },
    "node_modules/protobufjs": {
      "version": "7.5.3",
      "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.3.tgz",
      "integrity": "sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw==",
      "hasInstallScript": true,
      "license": "BSD-3-Clause",
      "dependencies": {
        "@protobufjs/aspromise": "^1.1.2",
        "@protobufjs/base64": "^1.1.2",
        "@protobufjs/codegen": "^2.0.4",
        "@protobufjs/eventemitter": "^1.1.0",
        "@protobufjs/fetch": "^1.1.0",
        "@protobufjs/float": "^1.0.2",
        "@protobufjs/inquire": "^1.1.0",
        "@protobufjs/path": "^1.1.2",
        "@protobufjs/pool": "^1.1.0",
        "@protobufjs/utf8": "^1.1.0",
        "@types/node": ">=13.7.0",
        "long": "^5.0.0"
      },
      "engines": {
        "node": ">=12.0.0"
      }
    },
    "node_modules/proxy-addr": {
      "version": "2.0.7",
      "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -8655,6 +8999,12 @@
        }
      ]
    },
    "node_modules/quickselect": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz",
      "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==",
      "license": "ISC"
    },
    "node_modules/randombytes": {
      "version": "2.1.0",
      "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz",
@@ -8686,6 +9036,15 @@
      },
      "engines": {
        "node": ">= 0.8"
      }
    },
    "node_modules/rbush": {
      "version": "3.0.1",
      "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz",
      "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==",
      "license": "MIT",
      "dependencies": {
        "quickselect": "^2.0.0"
      }
    },
    "node_modules/read-pkg": {
@@ -9930,6 +10289,26 @@
        "node": ">=0.6"
      }
    },
    "node_modules/topojson-client": {
      "version": "3.1.0",
      "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz",
      "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==",
      "license": "ISC",
      "dependencies": {
        "commander": "2"
      },
      "bin": {
        "topo2geo": "bin/topo2geo",
        "topomerge": "bin/topomerge",
        "topoquantize": "bin/topoquantize"
      }
    },
    "node_modules/topojson-client/node_modules/commander": {
      "version": "2.20.3",
      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
      "license": "MIT"
    },
    "node_modules/totalist": {
      "version": "3.0.1",
      "resolved": "https://registry.npmmirror.com/totalist/-/totalist-3.0.1.tgz",
@@ -9975,8 +10354,7 @@
    "node_modules/undici-types": {
      "version": "6.20.0",
      "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.20.0.tgz",
      "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
      "devOptional": true
      "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="
    },
    "node_modules/unicode-canonical-property-names-ecmascript": {
      "version": "2.0.1",
@@ -10074,6 +10452,12 @@
      "dependencies": {
        "punycode": "^2.1.0"
      }
    },
    "node_modules/urijs": {
      "version": "1.19.11",
      "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz",
      "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==",
      "license": "MIT"
    },
    "node_modules/util-deprecate": {
      "version": "1.0.2",
@@ -11919,6 +12303,94 @@
        "@babel/helper-validator-identifier": "^7.25.9"
      }
    },
    "@cesium/engine": {
      "version": "17.0.0",
      "resolved": "https://registry.npmjs.org/@cesium/engine/-/engine-17.0.0.tgz",
      "integrity": "sha512-bvLWmWVY4QX9rfcx/zfBzA8R1xR8KzmaCDOVL6pFkNZeYmRtt8JN//IICYR3P45lznlcb0Dklw1iCb37t4tvLA==",
      "requires": {
        "@tweenjs/tween.js": "^25.0.0",
        "@zip.js/zip.js": "^2.7.34",
        "autolinker": "^4.0.0",
        "bitmap-sdf": "^1.0.3",
        "dompurify": "^3.0.2",
        "draco3d": "^1.5.1",
        "earcut": "^3.0.0",
        "grapheme-splitter": "^1.0.4",
        "jsep": "^1.3.8",
        "kdbush": "^4.0.1",
        "ktx-parse": "^1.0.0",
        "lerc": "^2.0.0",
        "mersenne-twister": "^1.1.0",
        "meshoptimizer": "^0.23.0",
        "pako": "^2.0.4",
        "protobufjs": "^7.1.0",
        "rbush": "3.0.1",
        "topojson-client": "^3.1.0",
        "urijs": "^1.19.7"
      }
    },
    "@cesium/wasm-splats": {
      "version": "0.1.0-alpha.2",
      "resolved": "https://registry.npmjs.org/@cesium/wasm-splats/-/wasm-splats-0.1.0-alpha.2.tgz",
      "integrity": "sha512-t9pMkknv31hhIbLpMa8yPvmqfpvs5UkUjgqlQv9SeO8VerCXOYnyP8/486BDaFrztM0A7FMbRjsXtNeKvqQghA=="
    },
    "@cesium/widgets": {
      "version": "12.3.0",
      "resolved": "https://registry.npmjs.org/@cesium/widgets/-/widgets-12.3.0.tgz",
      "integrity": "sha512-5Aa54lCrdywogY1ypOwRmRrb72LVrPvrOzOrcYeQ50DDZSs5hCxVXWecYYsq3qoeK0buA9wP/5TBWE7RlsV7OA==",
      "requires": {
        "@cesium/engine": "^18.3.0",
        "nosleep.js": "^0.12.0"
      },
      "dependencies": {
        "@cesium/engine": {
          "version": "18.3.0",
          "resolved": "https://registry.npmjs.org/@cesium/engine/-/engine-18.3.0.tgz",
          "integrity": "sha512-ILNA1a+RX2gNsQGyF2zq27Ucaj5UMj19paYoJbKxX/U0QtxLuFUhJ2yg6wr2eBtC3X3kd475o7kAx0LpfCZxpg==",
          "requires": {
            "@cesium/wasm-splats": "^0.1.0-alpha.2",
            "@spz-loader/core": "0.1.0",
            "@tweenjs/tween.js": "^25.0.0",
            "@zip.js/zip.js": "^2.7.34",
            "autolinker": "^4.0.0",
            "bitmap-sdf": "^1.0.3",
            "dompurify": "^3.0.2",
            "draco3d": "^1.5.1",
            "earcut": "^3.0.0",
            "grapheme-splitter": "^1.0.4",
            "jsep": "^1.3.8",
            "kdbush": "^4.0.1",
            "ktx-parse": "^1.0.0",
            "lerc": "^2.0.0",
            "mersenne-twister": "^1.1.0",
            "meshoptimizer": "^0.24.0",
            "pako": "^2.0.4",
            "protobufjs": "^7.1.0",
            "rbush": "^4.0.1",
            "topojson-client": "^3.1.0",
            "urijs": "^1.19.7"
          }
        },
        "meshoptimizer": {
          "version": "0.24.0",
          "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.24.0.tgz",
          "integrity": "sha512-Iq/8cM5cK2B0P0QdKHexr30zEJn5sQxjXKtQJGp6LO7r1VUPwhgxau18pvybVDnEDsKE49GdlJYwqPX9A/P9Sw=="
        },
        "quickselect": {
          "version": "3.0.0",
          "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz",
          "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g=="
        },
        "rbush": {
          "version": "4.0.1",
          "resolved": "https://registry.npmjs.org/rbush/-/rbush-4.0.1.tgz",
          "integrity": "sha512-IP0UpfeWQujYC8Jg162rMNc01Rf0gWMMAb2Uxus/Q0qOFw4lCcq6ZnQEZwUoJqWyUGJ9th7JjwI4yIWo+uvoAQ==",
          "requires": {
            "quickselect": "^3.0.0"
          }
        }
      }
    },
    "@ctrl/tinycolor": {
      "version": "3.6.1",
      "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
@@ -12073,6 +12545,60 @@
      "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
      "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
    },
    "@protobufjs/aspromise": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
      "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
    },
    "@protobufjs/base64": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
      "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
    },
    "@protobufjs/codegen": {
      "version": "2.0.4",
      "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
      "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
    },
    "@protobufjs/eventemitter": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
      "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
    },
    "@protobufjs/fetch": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
      "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
      "requires": {
        "@protobufjs/aspromise": "^1.1.1",
        "@protobufjs/inquire": "^1.1.0"
      }
    },
    "@protobufjs/float": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
      "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
    },
    "@protobufjs/inquire": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
      "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
    },
    "@protobufjs/path": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
      "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
    },
    "@protobufjs/pool": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
      "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
    },
    "@protobufjs/utf8": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
      "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
    },
    "@sideway/address": {
      "version": "4.1.5",
      "resolved": "https://registry.npmmirror.com/@sideway/address/-/address-4.1.5.tgz",
@@ -12112,11 +12638,21 @@
      "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==",
      "dev": true
    },
    "@spz-loader/core": {
      "version": "0.1.0",
      "resolved": "https://registry.npmjs.org/@spz-loader/core/-/core-0.1.0.tgz",
      "integrity": "sha512-atqn/DLy0xNkqRgz3l/5CD12y1M44JdjTmAFQYDKvzf0pIyj+NlJ/PeCRlSJQfXmZ2JndNOCpcGOFVldANf/EA=="
    },
    "@trysound/sax": {
      "version": "0.2.0",
      "resolved": "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz",
      "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
      "dev": true
    },
    "@tweenjs/tween.js": {
      "version": "25.0.0",
      "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-25.0.0.tgz",
      "integrity": "sha512-XKLA6syeBUaPzx4j3qwMqzzq+V4uo72BnlbOjmuljLrRqdsd3qnzvZZoxvMHZ23ndsRS4aufU6JOZYpCbU6T1A=="
    },
    "@types/body-parser": {
      "version": "1.19.5",
@@ -12276,7 +12812,6 @@
      "version": "22.13.5",
      "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.13.5.tgz",
      "integrity": "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==",
      "devOptional": true,
      "requires": {
        "undici-types": "~6.20.0"
      }
@@ -12358,6 +12893,12 @@
      "requires": {
        "@types/node": "*"
      }
    },
    "@types/trusted-types": {
      "version": "2.0.7",
      "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
      "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
      "optional": true
    },
    "@types/web-bluetooth": {
      "version": "0.0.16",
@@ -13104,6 +13645,11 @@
      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
      "devOptional": true
    },
    "@zip.js/zip.js": {
      "version": "2.7.63",
      "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.63.tgz",
      "integrity": "sha512-B02i6QDMUQ4c+5F9LmliBGA+jFsiEHIlF0eLQ6rWLaQOD3YwI6vyWwGkVCNJnVVguE2xYyr9fAwSD/3valm1/Q=="
    },
    "accepts": {
      "version": "1.3.8",
      "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz",
@@ -13282,6 +13828,14 @@
      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
      "dev": true
    },
    "autolinker": {
      "version": "4.1.5",
      "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-4.1.5.tgz",
      "integrity": "sha512-vEfYZPmvVOIuE567XBVCsx8SBgOYtjB2+S1iAaJ+HgH+DNjAcrHem2hmAeC9yaNGWayicv4yR+9UaJlkF3pvtw==",
      "requires": {
        "tslib": "^2.8.1"
      }
    },
    "autoprefixer": {
      "version": "10.4.20",
      "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.20.tgz",
@@ -13404,6 +13958,11 @@
      "version": "0.2.19",
      "resolved": "https://registry.npmmirror.com/birpc/-/birpc-0.2.19.tgz",
      "integrity": "sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ=="
    },
    "bitmap-sdf": {
      "version": "1.0.4",
      "resolved": "https://registry.npmjs.org/bitmap-sdf/-/bitmap-sdf-1.0.4.tgz",
      "integrity": "sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg=="
    },
    "bl": {
      "version": "4.1.0",
@@ -13604,6 +14163,15 @@
      "resolved": "https://registry.npmmirror.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz",
      "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==",
      "dev": true
    },
    "cesium": {
      "version": "1.129.0",
      "resolved": "https://registry.npmjs.org/cesium/-/cesium-1.129.0.tgz",
      "integrity": "sha512-XDEJKLnr8s5/Q/1wcdZVEJCgx+xbgfDzkVKd9OxRZzYttazip6KffusMHexRdExVMPfDcTohuqcuHNxj9CUNFA==",
      "requires": {
        "@cesium/engine": "^17.0.0",
        "@cesium/widgets": "^12.0.0"
      }
    },
    "cfb": {
      "version": "1.2.2",
@@ -14419,6 +14987,14 @@
        "domelementtype": "^2.2.0"
      }
    },
    "dompurify": {
      "version": "3.2.6",
      "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz",
      "integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==",
      "requires": {
        "@types/trusted-types": "^2.0.7"
      }
    },
    "domutils": {
      "version": "2.8.0",
      "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz",
@@ -14452,6 +15028,11 @@
      "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
      "dev": true
    },
    "draco3d": {
      "version": "1.5.7",
      "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.7.tgz",
      "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ=="
    },
    "dunder-proto": {
      "version": "1.0.1",
      "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz",
@@ -14467,6 +15048,11 @@
      "resolved": "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz",
      "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
      "dev": true
    },
    "earcut": {
      "version": "3.0.1",
      "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.1.tgz",
      "integrity": "sha512-0l1/0gOjESMeQyYaK5IDiPNvFeu93Z/cO0TjZh9eZ1vyCtZnA7KMZ8rQggpsJHIbGSdrqYq9OhuveadOVHCshw=="
    },
    "easy-stack": {
      "version": "1.0.1",
@@ -15103,6 +15689,11 @@
      "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
      "devOptional": true
    },
    "grapheme-splitter": {
      "version": "1.0.4",
      "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
      "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
    },
    "gzip-size": {
      "version": "6.0.0",
      "resolved": "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz",
@@ -15598,6 +16189,11 @@
      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
      "dev": true
    },
    "jsep": {
      "version": "1.4.0",
      "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.4.0.tgz",
      "integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw=="
    },
    "jsesc": {
      "version": "3.1.0",
      "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz",
@@ -15638,6 +16234,11 @@
        "universalify": "^2.0.0"
      }
    },
    "kdbush": {
      "version": "4.0.2",
      "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz",
      "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA=="
    },
    "kind-of": {
      "version": "6.0.3",
      "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz",
@@ -15649,6 +16250,11 @@
      "resolved": "https://registry.npmmirror.com/klona/-/klona-2.0.6.tgz",
      "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
      "dev": true
    },
    "ktx-parse": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/ktx-parse/-/ktx-parse-1.0.1.tgz",
      "integrity": "sha512-djwUWv/82Xc8LOVinJU4EBrVqYkO8OsUDSPEtY/OOVY8BSe3DMU7D7PlIAZ0pI7ZZtErj7mqpJcgffUTABvgaA=="
    },
    "launch-editor": {
      "version": "2.10.0",
@@ -15668,6 +16274,11 @@
      "requires": {
        "launch-editor": "^2.10.0"
      }
    },
    "lerc": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/lerc/-/lerc-2.0.0.tgz",
      "integrity": "sha512-7qo1Mq8ZNmaR4USHHm615nEW2lPeeWJ3bTyoqFbd35DLx0LUH7C6ptt5FDCTAlbIzs3+WKrk5SkJvw8AFDE2hg=="
    },
    "less": {
      "version": "4.2.2",
@@ -15921,6 +16532,11 @@
        }
      }
    },
    "long": {
      "version": "5.3.2",
      "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
      "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA=="
    },
    "lower-case": {
      "version": "2.0.2",
      "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz",
@@ -16013,6 +16629,16 @@
      "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz",
      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
      "dev": true
    },
    "mersenne-twister": {
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/mersenne-twister/-/mersenne-twister-1.1.0.tgz",
      "integrity": "sha512-mUYWsMKNrm4lfygPkL3OfGzOPTR2DBlTkBNHM//F6hGp8cLThY897crAlk3/Jo17LEOOjQUrNAx6DvgO77QJkA=="
    },
    "meshoptimizer": {
      "version": "0.23.0",
      "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.23.0.tgz",
      "integrity": "sha512-zAZcfhHE3wBbwEN8MfCMI9PKRyOpz8491wcR2dxkv3IlNwDZrq2hEs5JZVtzfBrmjWhBZZtZZUO0OBSNFq5iUQ=="
    },
    "methods": {
      "version": "1.1.2",
@@ -16315,6 +16941,11 @@
      "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
      "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
    },
    "nosleep.js": {
      "version": "0.12.0",
      "resolved": "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.12.0.tgz",
      "integrity": "sha512-9d1HbpKLh3sdWlhXMhU6MMH+wQzKkrgfRkYV0EBdvt99YJfj0ilCJrWRDYG2130Tm4GXbEoTCx5b34JSaP+HhA=="
    },
    "npm-run-path": {
      "version": "2.0.2",
      "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz",
@@ -16489,6 +17120,11 @@
      "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz",
      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
      "dev": true
    },
    "pako": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz",
      "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug=="
    },
    "papaparse": {
      "version": "5.5.2",
@@ -17119,6 +17755,25 @@
        }
      }
    },
    "protobufjs": {
      "version": "7.5.3",
      "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.3.tgz",
      "integrity": "sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw==",
      "requires": {
        "@protobufjs/aspromise": "^1.1.2",
        "@protobufjs/base64": "^1.1.2",
        "@protobufjs/codegen": "^2.0.4",
        "@protobufjs/eventemitter": "^1.1.0",
        "@protobufjs/fetch": "^1.1.0",
        "@protobufjs/float": "^1.0.2",
        "@protobufjs/inquire": "^1.1.0",
        "@protobufjs/path": "^1.1.2",
        "@protobufjs/pool": "^1.1.0",
        "@protobufjs/utf8": "^1.1.0",
        "@types/node": ">=13.7.0",
        "long": "^5.0.0"
      }
    },
    "proxy-addr": {
      "version": "2.0.7",
      "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -17185,6 +17840,11 @@
      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
      "dev": true
    },
    "quickselect": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz",
      "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw=="
    },
    "randombytes": {
      "version": "2.1.0",
      "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz",
@@ -17210,6 +17870,14 @@
        "http-errors": "2.0.0",
        "iconv-lite": "0.4.24",
        "unpipe": "1.0.0"
      }
    },
    "rbush": {
      "version": "3.0.1",
      "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz",
      "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==",
      "requires": {
        "quickselect": "^2.0.0"
      }
    },
    "read-pkg": {
@@ -18146,6 +18814,21 @@
      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
      "dev": true
    },
    "topojson-client": {
      "version": "3.1.0",
      "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz",
      "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==",
      "requires": {
        "commander": "2"
      },
      "dependencies": {
        "commander": {
          "version": "2.20.3",
          "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
          "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
        }
      }
    },
    "totalist": {
      "version": "3.0.1",
      "resolved": "https://registry.npmmirror.com/totalist/-/totalist-3.0.1.tgz",
@@ -18182,8 +18865,7 @@
    "undici-types": {
      "version": "6.20.0",
      "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.20.0.tgz",
      "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
      "devOptional": true
      "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="
    },
    "unicode-canonical-property-names-ecmascript": {
      "version": "2.0.1",
@@ -18244,6 +18926,11 @@
        "punycode": "^2.1.0"
      }
    },
    "urijs": {
      "version": "1.19.11",
      "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz",
      "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ=="
    },
    "util-deprecate": {
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz",