@loaders.gl/pointclouds 0.0.0-stage → 5.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LAS-README.md +12 -0
- package/LICENSE +24 -0
- package/PCD-README.md +12 -0
- package/PLY-README.md +38 -0
- package/README.md +7 -2
- package/THIRD-PARTY-NOTICES.md +27 -0
- package/dist/dist.dev.js +30141 -0
- package/dist/dist.min.js +54 -0
- package/dist/index.cjs +61 -0
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/las/bundled.cjs +72 -0
- package/dist/las/bundled.cjs.map +7 -0
- package/dist/las/bundled.d.ts +12 -0
- package/dist/las/bundled.d.ts.map +1 -0
- package/dist/las/bundled.js +12 -0
- package/dist/las/bundled.js.map +1 -0
- package/dist/las/index.cjs +78 -0
- package/dist/las/index.cjs.map +7 -0
- package/dist/las/index.d.ts +17 -0
- package/dist/las/index.d.ts.map +1 -0
- package/dist/las/index.js +15 -0
- package/dist/las/index.js.map +1 -0
- package/dist/las/las-copc-loader-types.cjs +49 -0
- package/dist/las/las-copc-loader-types.cjs.map +7 -0
- package/dist/las/las-copc-loader-types.d.ts +63 -0
- package/dist/las/las-copc-loader-types.d.ts.map +1 -0
- package/dist/las/las-copc-loader-types.js +14 -0
- package/dist/las/las-copc-loader-types.js.map +1 -0
- package/dist/las/las-copc-loader.cjs +57 -0
- package/dist/las/las-copc-loader.cjs.map +7 -0
- package/dist/las/las-copc-loader.d.ts +37 -0
- package/dist/las/las-copc-loader.d.ts.map +1 -0
- package/dist/las/las-copc-loader.js +40 -0
- package/dist/las/las-copc-loader.js.map +1 -0
- package/dist/las/las-format.cjs +44 -0
- package/dist/las/las-format.cjs.map +7 -0
- package/dist/las/las-format.d.ts +16 -0
- package/dist/las/las-format.d.ts.map +1 -0
- package/dist/las/las-format.js +19 -0
- package/dist/las/las-format.js.map +1 -0
- package/dist/las/las-loader-shared.cjs +82 -0
- package/dist/las/las-loader-shared.cjs.map +7 -0
- package/dist/las/las-loader-shared.d.ts +66 -0
- package/dist/las/las-loader-shared.d.ts.map +1 -0
- package/dist/las/las-loader-shared.js +58 -0
- package/dist/las/las-loader-shared.js.map +1 -0
- package/dist/las/las-loader-types.cjs +54 -0
- package/dist/las/las-loader-types.cjs.map +7 -0
- package/dist/las/las-loader-types.d.ts +104 -0
- package/dist/las/las-loader-types.d.ts.map +1 -0
- package/dist/las/las-loader-types.js +19 -0
- package/dist/las/las-loader-types.js.map +1 -0
- package/dist/las/las-loader.cjs +80 -0
- package/dist/las/las-loader.cjs.map +7 -0
- package/dist/las/las-loader.d.ts +45 -0
- package/dist/las/las-loader.d.ts.map +1 -0
- package/dist/las/las-loader.js +58 -0
- package/dist/las/las-loader.js.map +1 -0
- package/dist/las/las-writer.cjs +1054 -0
- package/dist/las/las-writer.cjs.map +7 -0
- package/dist/las/las-writer.d.ts +69 -0
- package/dist/las/las-writer.d.ts.map +1 -0
- package/dist/las/las-writer.js +994 -0
- package/dist/las/las-writer.js.map +1 -0
- package/dist/las/laz-rs-loader-types.cjs +49 -0
- package/dist/las/laz-rs-loader-types.cjs.map +7 -0
- package/dist/las/laz-rs-loader-types.d.ts +65 -0
- package/dist/las/laz-rs-loader-types.d.ts.map +1 -0
- package/dist/las/laz-rs-loader-types.js +16 -0
- package/dist/las/laz-rs-loader-types.js.map +1 -0
- package/dist/las/laz-rs-loader.cjs +272 -0
- package/dist/las/laz-rs-loader.cjs.map +7 -0
- package/dist/las/laz-rs-loader.d.ts +37 -0
- package/dist/las/laz-rs-loader.d.ts.map +1 -0
- package/dist/las/laz-rs-loader.js +38 -0
- package/dist/las/laz-rs-loader.js.map +1 -0
- package/dist/las/lazperf-loader-types.cjs +49 -0
- package/dist/las/lazperf-loader-types.cjs.map +7 -0
- package/dist/las/lazperf-loader-types.d.ts +67 -0
- package/dist/las/lazperf-loader-types.d.ts.map +1 -0
- package/dist/las/lazperf-loader-types.js +17 -0
- package/dist/las/lazperf-loader-types.js.map +1 -0
- package/dist/las/lazperf-loader.cjs +60 -0
- package/dist/las/lazperf-loader.cjs.map +7 -0
- package/dist/las/lazperf-loader.d.ts +39 -0
- package/dist/las/lazperf-loader.d.ts.map +1 -0
- package/dist/las/lazperf-loader.js +44 -0
- package/dist/las/lazperf-loader.js.map +1 -0
- package/dist/las/lib/copc/parse-las.cjs +177 -0
- package/dist/las/lib/copc/parse-las.cjs.map +7 -0
- package/dist/las/lib/copc/parse-las.d.ts +17 -0
- package/dist/las/lib/copc/parse-las.d.ts.map +1 -0
- package/dist/las/lib/copc/parse-las.js +215 -0
- package/dist/las/lib/copc/parse-las.js.map +1 -0
- package/dist/las/lib/get-las-schema.cjs +62 -0
- package/dist/las/lib/get-las-schema.cjs.map +7 -0
- package/dist/las/lib/get-las-schema.d.ts +16 -0
- package/dist/las/lib/get-las-schema.d.ts.map +1 -0
- package/dist/las/lib/get-las-schema.js +46 -0
- package/dist/las/lib/get-las-schema.js.map +1 -0
- package/dist/las/lib/las-compatibility.cjs +110 -0
- package/dist/las/lib/las-compatibility.cjs.map +7 -0
- package/dist/las/lib/las-compatibility.d.ts +40 -0
- package/dist/las/lib/las-compatibility.d.ts.map +1 -0
- package/dist/las/lib/las-compatibility.js +115 -0
- package/dist/las/lib/las-compatibility.js.map +1 -0
- package/dist/las/lib/las-extra-bytes.cjs +223 -0
- package/dist/las/lib/las-extra-bytes.cjs.map +7 -0
- package/dist/las/lib/las-extra-bytes.d.ts +35 -0
- package/dist/las/lib/las-extra-bytes.d.ts.map +1 -0
- package/dist/las/lib/las-extra-bytes.js +195 -0
- package/dist/las/lib/las-extra-bytes.js.map +1 -0
- package/dist/las/lib/las-types.cjs +19 -0
- package/dist/las/lib/las-types.cjs.map +7 -0
- package/dist/las/lib/las-types.d.ts +194 -0
- package/dist/las/lib/las-types.d.ts.map +1 -0
- package/dist/las/lib/las-types.js +5 -0
- package/dist/las/lib/las-types.js.map +1 -0
- package/dist/las/lib/las-waveform.cjs +196 -0
- package/dist/las/lib/las-waveform.cjs.map +7 -0
- package/dist/las/lib/las-waveform.d.ts +89 -0
- package/dist/las/lib/las-waveform.d.ts.map +1 -0
- package/dist/las/lib/las-waveform.js +193 -0
- package/dist/las/lib/las-waveform.js.map +1 -0
- package/dist/las/lib/laz-perf/laslaz-decoder.cjs +382 -0
- package/dist/las/lib/laz-perf/laslaz-decoder.cjs.map +7 -0
- package/dist/las/lib/laz-perf/laslaz-decoder.d.ts +129 -0
- package/dist/las/lib/laz-perf/laslaz-decoder.d.ts.map +1 -0
- package/dist/las/lib/laz-perf/laslaz-decoder.js +377 -0
- package/dist/las/lib/laz-perf/laslaz-decoder.js.map +1 -0
- package/dist/las/lib/laz-perf/parse-las.cjs +270 -0
- package/dist/las/lib/laz-perf/parse-las.cjs.map +7 -0
- package/dist/las/lib/laz-perf/parse-las.d.ts +24 -0
- package/dist/las/lib/laz-perf/parse-las.d.ts.map +1 -0
- package/dist/las/lib/laz-perf/parse-las.js +307 -0
- package/dist/las/lib/laz-perf/parse-las.js.map +1 -0
- package/dist/las/lib/laz-rs-wasm/laslaz-decoder.cjs +631 -0
- package/dist/las/lib/laz-rs-wasm/laslaz-decoder.cjs.map +7 -0
- package/dist/las/lib/laz-rs-wasm/laslaz-decoder.d.ts +129 -0
- package/dist/las/lib/laz-rs-wasm/laslaz-decoder.d.ts.map +1 -0
- package/dist/las/lib/laz-rs-wasm/laslaz-decoder.js +414 -0
- package/dist/las/lib/laz-rs-wasm/laslaz-decoder.js.map +1 -0
- package/dist/las/lib/laz-rs-wasm/parse-las.cjs +270 -0
- package/dist/las/lib/laz-rs-wasm/parse-las.cjs.map +7 -0
- package/dist/las/lib/laz-rs-wasm/parse-las.d.ts +24 -0
- package/dist/las/lib/laz-rs-wasm/parse-las.d.ts.map +1 -0
- package/dist/las/lib/laz-rs-wasm/parse-las.js +307 -0
- package/dist/las/lib/laz-rs-wasm/parse-las.js.map +1 -0
- package/dist/las/lib/typescript/parse-las.cjs +2767 -0
- package/dist/las/lib/typescript/parse-las.cjs.map +7 -0
- package/dist/las/lib/typescript/parse-las.d.ts +39 -0
- package/dist/las/lib/typescript/parse-las.d.ts.map +1 -0
- package/dist/las/lib/typescript/parse-las.js +2607 -0
- package/dist/las/lib/typescript/parse-las.js.map +1 -0
- package/dist/las/libs/laz-perf/laz-perf.cjs +18093 -0
- package/dist/las/libs/laz-perf/laz-perf.cjs.map +7 -0
- package/dist/las/libs/laz-perf/laz-perf.d.ts +2 -0
- package/dist/las/libs/laz-perf/laz-perf.d.ts.map +1 -0
- package/dist/las/libs/laz-perf/laz-perf.js +19003 -0
- package/dist/las/libs/laz-perf/laz-perf.js.map +1 -0
- package/dist/las/libs/laz-rs-wasm/laz_rs_wasm.d.ts +95 -0
- package/dist/las/libs/laz-rs-wasm/laz_rs_wasm.d.ts.map +1 -0
- package/dist/las/libs/laz-rs-wasm/laz_rs_wasm.js +442 -0
- package/dist/las/libs/laz-rs-wasm/laz_rs_wasm.js.map +1 -0
- package/dist/las/libs/laz-rs-wasm/laz_rs_wasm_bg.wasm +0 -0
- package/dist/las/libs/laz-rs-wasm/laz_rs_wasm_bg.wasm.d.ts +38 -0
- package/dist/las/unbundled.cjs +71 -0
- package/dist/las/unbundled.cjs.map +7 -0
- package/dist/las/unbundled.d.ts +11 -0
- package/dist/las/unbundled.d.ts.map +1 -0
- package/dist/las/unbundled.js +11 -0
- package/dist/las/unbundled.js.map +1 -0
- package/dist/las/workers/las-worker.cjs +23 -0
- package/dist/las/workers/las-worker.cjs.map +7 -0
- package/dist/las/workers/las-worker.d.ts +2 -0
- package/dist/las/workers/las-worker.d.ts.map +1 -0
- package/dist/las/workers/las-worker.js +23 -0
- package/dist/las/workers/las-worker.js.map +1 -0
- package/dist/las-worker.js +23058 -0
- package/dist/pcd/bundled.cjs +33 -0
- package/dist/pcd/bundled.cjs.map +7 -0
- package/dist/pcd/bundled.d.ts +3 -0
- package/dist/pcd/bundled.d.ts.map +1 -0
- package/dist/pcd/bundled.js +5 -0
- package/dist/pcd/bundled.js.map +1 -0
- package/dist/pcd/index.cjs +40 -0
- package/dist/pcd/index.cjs.map +7 -0
- package/dist/pcd/index.d.ts +8 -0
- package/dist/pcd/index.d.ts.map +1 -0
- package/dist/pcd/index.js +10 -0
- package/dist/pcd/index.js.map +1 -0
- package/dist/pcd/lib/decompress-lzf.cjs +80 -0
- package/dist/pcd/lib/decompress-lzf.cjs.map +7 -0
- package/dist/pcd/lib/decompress-lzf.d.ts +7 -0
- package/dist/pcd/lib/decompress-lzf.d.ts.map +1 -0
- package/dist/pcd/lib/decompress-lzf.js +62 -0
- package/dist/pcd/lib/decompress-lzf.js.map +1 -0
- package/dist/pcd/lib/get-pcd-schema.cjs +70 -0
- package/dist/pcd/lib/get-pcd-schema.cjs.map +7 -0
- package/dist/pcd/lib/get-pcd-schema.d.ts +10 -0
- package/dist/pcd/lib/get-pcd-schema.d.ts.map +1 -0
- package/dist/pcd/lib/get-pcd-schema.js +53 -0
- package/dist/pcd/lib/get-pcd-schema.js.map +1 -0
- package/dist/pcd/lib/parse-pcd.cjs +354 -0
- package/dist/pcd/lib/parse-pcd.cjs.map +7 -0
- package/dist/pcd/lib/parse-pcd.d.ts +20 -0
- package/dist/pcd/lib/parse-pcd.d.ts.map +1 -0
- package/dist/pcd/lib/parse-pcd.js +341 -0
- package/dist/pcd/lib/parse-pcd.js.map +1 -0
- package/dist/pcd/lib/pcd-types.cjs +19 -0
- package/dist/pcd/lib/pcd-types.cjs.map +7 -0
- package/dist/pcd/lib/pcd-types.d.ts +31 -0
- package/dist/pcd/lib/pcd-types.d.ts.map +1 -0
- package/dist/pcd/lib/pcd-types.js +5 -0
- package/dist/pcd/lib/pcd-types.js.map +1 -0
- package/dist/pcd/pcd-format.cjs +42 -0
- package/dist/pcd/pcd-format.cjs.map +7 -0
- package/dist/pcd/pcd-format.d.ts +16 -0
- package/dist/pcd/pcd-format.d.ts.map +1 -0
- package/dist/pcd/pcd-format.js +19 -0
- package/dist/pcd/pcd-format.js.map +1 -0
- package/dist/pcd/pcd-loader-types.cjs +64 -0
- package/dist/pcd/pcd-loader-types.cjs.map +7 -0
- package/dist/pcd/pcd-loader-types.d.ts +105 -0
- package/dist/pcd/pcd-loader-types.d.ts.map +1 -0
- package/dist/pcd/pcd-loader-types.js +35 -0
- package/dist/pcd/pcd-loader-types.js.map +1 -0
- package/dist/pcd/pcd-loader.cjs +144 -0
- package/dist/pcd/pcd-loader.cjs.map +7 -0
- package/dist/pcd/pcd-loader.d.ts +44 -0
- package/dist/pcd/pcd-loader.d.ts.map +1 -0
- package/dist/pcd/pcd-loader.js +128 -0
- package/dist/pcd/pcd-loader.js.map +1 -0
- package/dist/pcd/pcd-writer.cjs +134 -0
- package/dist/pcd/pcd-writer.cjs.map +7 -0
- package/dist/pcd/pcd-writer.d.ts +37 -0
- package/dist/pcd/pcd-writer.d.ts.map +1 -0
- package/dist/pcd/pcd-writer.js +115 -0
- package/dist/pcd/pcd-writer.js.map +1 -0
- package/dist/pcd/unbundled.cjs +33 -0
- package/dist/pcd/unbundled.cjs.map +7 -0
- package/dist/pcd/unbundled.d.ts +3 -0
- package/dist/pcd/unbundled.d.ts.map +1 -0
- package/dist/pcd/unbundled.js +5 -0
- package/dist/pcd/unbundled.js.map +1 -0
- package/dist/pcd/workers/pcd-worker.cjs +23 -0
- package/dist/pcd/workers/pcd-worker.cjs.map +7 -0
- package/dist/pcd/workers/pcd-worker.d.ts +2 -0
- package/dist/pcd/workers/pcd-worker.d.ts.map +1 -0
- package/dist/pcd/workers/pcd-worker.js +23 -0
- package/dist/pcd/workers/pcd-worker.js.map +1 -0
- package/dist/pcd-worker.js +17522 -0
- package/dist/ply/bundled.cjs +33 -0
- package/dist/ply/bundled.cjs.map +7 -0
- package/dist/ply/bundled.d.ts +3 -0
- package/dist/ply/bundled.d.ts.map +1 -0
- package/dist/ply/bundled.js +5 -0
- package/dist/ply/bundled.js.map +1 -0
- package/dist/ply/index.cjs +40 -0
- package/dist/ply/index.cjs.map +7 -0
- package/dist/ply/index.d.ts +8 -0
- package/dist/ply/index.d.ts.map +1 -0
- package/dist/ply/index.js +11 -0
- package/dist/ply/index.js.map +1 -0
- package/dist/ply/lib/get-ply-schema.cjs +126 -0
- package/dist/ply/lib/get-ply-schema.cjs.map +7 -0
- package/dist/ply/lib/get-ply-schema.d.ts +10 -0
- package/dist/ply/lib/get-ply-schema.d.ts.map +1 -0
- package/dist/ply/lib/get-ply-schema.js +117 -0
- package/dist/ply/lib/get-ply-schema.js.map +1 -0
- package/dist/ply/lib/normalize-ply.cjs +96 -0
- package/dist/ply/lib/normalize-ply.cjs.map +7 -0
- package/dist/ply/lib/normalize-ply.d.ts +8 -0
- package/dist/ply/lib/normalize-ply.d.ts.map +1 -0
- package/dist/ply/lib/normalize-ply.js +89 -0
- package/dist/ply/lib/normalize-ply.js.map +1 -0
- package/dist/ply/lib/parse-ply-arrow.cjs +552 -0
- package/dist/ply/lib/parse-ply-arrow.cjs.map +7 -0
- package/dist/ply/lib/parse-ply-arrow.d.ts +25 -0
- package/dist/ply/lib/parse-ply-arrow.d.ts.map +1 -0
- package/dist/ply/lib/parse-ply-arrow.js +493 -0
- package/dist/ply/lib/parse-ply-arrow.js.map +1 -0
- package/dist/ply/lib/parse-ply-in-batches.cjs +607 -0
- package/dist/ply/lib/parse-ply-in-batches.cjs.map +7 -0
- package/dist/ply/lib/parse-ply-in-batches.d.ts +9 -0
- package/dist/ply/lib/parse-ply-in-batches.d.ts.map +1 -0
- package/dist/ply/lib/parse-ply-in-batches.js +625 -0
- package/dist/ply/lib/parse-ply-in-batches.js.map +1 -0
- package/dist/ply/lib/parse-ply.cjs +755 -0
- package/dist/ply/lib/parse-ply.cjs.map +7 -0
- package/dist/ply/lib/parse-ply.d.ts +69 -0
- package/dist/ply/lib/parse-ply.d.ts.map +1 -0
- package/dist/ply/lib/parse-ply.js +851 -0
- package/dist/ply/lib/parse-ply.js.map +1 -0
- package/dist/ply/lib/ply-types.cjs +19 -0
- package/dist/ply/lib/ply-types.cjs.map +7 -0
- package/dist/ply/lib/ply-types.d.ts +37 -0
- package/dist/ply/lib/ply-types.d.ts.map +1 -0
- package/dist/ply/lib/ply-types.js +2 -0
- package/dist/ply/lib/ply-types.js.map +1 -0
- package/dist/ply/ply-format.cjs +43 -0
- package/dist/ply/ply-format.cjs.map +7 -0
- package/dist/ply/ply-format.d.ts +18 -0
- package/dist/ply/ply-format.d.ts.map +1 -0
- package/dist/ply/ply-format.js +22 -0
- package/dist/ply/ply-format.js.map +1 -0
- package/dist/ply/ply-loader-types.cjs +65 -0
- package/dist/ply/ply-loader-types.cjs.map +7 -0
- package/dist/ply/ply-loader-types.d.ts +111 -0
- package/dist/ply/ply-loader-types.d.ts.map +1 -0
- package/dist/ply/ply-loader-types.js +38 -0
- package/dist/ply/ply-loader-types.js.map +1 -0
- package/dist/ply/ply-loader.cjs +134 -0
- package/dist/ply/ply-loader.cjs.map +7 -0
- package/dist/ply/ply-loader.d.ts +44 -0
- package/dist/ply/ply-loader.d.ts.map +1 -0
- package/dist/ply/ply-loader.js +121 -0
- package/dist/ply/ply-loader.js.map +1 -0
- package/dist/ply/ply-writer.cjs +175 -0
- package/dist/ply/ply-writer.cjs.map +7 -0
- package/dist/ply/ply-writer.d.ts +37 -0
- package/dist/ply/ply-writer.d.ts.map +1 -0
- package/dist/ply/ply-writer.js +140 -0
- package/dist/ply/ply-writer.js.map +1 -0
- package/dist/ply/unbundled.cjs +33 -0
- package/dist/ply/unbundled.cjs.map +7 -0
- package/dist/ply/unbundled.d.ts +3 -0
- package/dist/ply/unbundled.d.ts.map +1 -0
- package/dist/ply/unbundled.js +5 -0
- package/dist/ply/unbundled.js.map +1 -0
- package/dist/ply/workers/ply-worker.cjs +34 -0
- package/dist/ply/workers/ply-worker.cjs.map +7 -0
- package/dist/ply/workers/ply-worker.d.ts +2 -0
- package/dist/ply/workers/ply-worker.d.ts.map +1 -0
- package/dist/ply/workers/ply-worker.js +37 -0
- package/dist/ply/workers/ply-worker.js.map +1 -0
- package/dist/ply-worker.js +19175 -0
- package/package.json +234 -4
- package/src/index.ts +19 -0
- package/src/las/bundled.ts +39 -0
- package/src/las/index.ts +70 -0
- package/src/las/las-copc-loader-types.ts +18 -0
- package/src/las/las-copc-loader.ts +61 -0
- package/src/las/las-format.ts +21 -0
- package/src/las/las-loader-shared.ts +124 -0
- package/src/las/las-loader-types.ts +27 -0
- package/src/las/las-loader.ts +109 -0
- package/src/las/las-writer.ts +1473 -0
- package/src/las/laz-rs-loader-types.ts +21 -0
- package/src/las/laz-rs-loader.ts +53 -0
- package/src/las/lazperf-loader-types.ts +22 -0
- package/src/las/lazperf-loader.ts +65 -0
- package/src/las/lib/LASZIP-LICENSE +202 -0
- package/src/las/lib/LASZIP-NOTICE +4 -0
- package/src/las/lib/copc/parse-las.ts +265 -0
- package/src/las/lib/get-las-schema.ts +50 -0
- package/src/las/lib/las-compatibility.ts +178 -0
- package/src/las/lib/las-extra-bytes.ts +274 -0
- package/src/las/lib/las-types.ts +206 -0
- package/src/las/lib/las-waveform.ts +292 -0
- package/src/las/lib/laz-perf/laslaz-decoder.ts +443 -0
- package/src/las/lib/laz-perf/parse-las.ts +412 -0
- package/src/las/lib/laz-rs-wasm/laslaz-decoder.ts +488 -0
- package/src/las/lib/laz-rs-wasm/parse-las.ts +412 -0
- package/src/las/lib/typescript/parse-las.ts +3730 -0
- package/src/las/libs/laz-perf/laz-perf.ts +20615 -0
- package/src/las/libs/laz-rs-wasm/laz_rs_wasm.d.ts +89 -0
- package/src/las/libs/laz-rs-wasm/laz_rs_wasm.js +497 -0
- package/src/las/libs/laz-rs-wasm/laz_rs_wasm_bg.wasm +0 -0
- package/src/las/libs/laz-rs-wasm/laz_rs_wasm_bg.wasm.d.ts +38 -0
- package/src/las/libs/laz-rs-wasm/package.json +19 -0
- package/src/las/unbundled.ts +38 -0
- package/src/las/workers/las-worker.ts +24 -0
- package/src/pcd/bundled.ts +9 -0
- package/src/pcd/index.ts +13 -0
- package/src/pcd/lib/decompress-lzf.ts +68 -0
- package/src/pcd/lib/get-pcd-schema.ts +66 -0
- package/src/pcd/lib/parse-pcd.ts +474 -0
- package/src/pcd/lib/pcd-types.ts +34 -0
- package/src/pcd/pcd-format.ts +21 -0
- package/src/pcd/pcd-loader-types.ts +53 -0
- package/src/pcd/pcd-loader.ts +179 -0
- package/src/pcd/pcd-writer.ts +152 -0
- package/src/pcd/unbundled.ts +6 -0
- package/src/pcd/workers/pcd-worker.ts +24 -0
- package/src/ply/bundled.ts +9 -0
- package/src/ply/index.ts +15 -0
- package/src/ply/lib/get-ply-schema.ts +133 -0
- package/src/ply/lib/normalize-ply.ts +110 -0
- package/src/ply/lib/parse-ply-arrow.ts +676 -0
- package/src/ply/lib/parse-ply-in-batches.ts +827 -0
- package/src/ply/lib/parse-ply.ts +1081 -0
- package/src/ply/lib/ply-types.ts +47 -0
- package/src/ply/ply-format.ts +24 -0
- package/src/ply/ply-loader-types.ts +61 -0
- package/src/ply/ply-loader.ts +185 -0
- package/src/ply/ply-writer.ts +215 -0
- package/src/ply/unbundled.ts +6 -0
- package/src/ply/workers/ply-worker.ts +40 -0
- package/third-party-licenses/plasio-LICENSE +21 -0
- package/third-party-licenses/three-LICENSE +21 -0
package/dist/dist.min.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
|
+
if (typeof exports === 'object' && typeof module === 'object')
|
|
3
|
+
module.exports = factory();
|
|
4
|
+
else if (typeof define === 'function' && define.amd) define([], factory);
|
|
5
|
+
else if (typeof exports === 'object') exports['loaders'] = factory();
|
|
6
|
+
else root['loaders'] = factory();})(globalThis, function () {
|
|
7
|
+
"use strict";var __exports__=(()=>{var Zu=Object.defineProperty;var pw=Object.getOwnPropertyDescriptor;var mw=Object.getOwnPropertyNames;var yw=Object.prototype.hasOwnProperty;var m=(r,t,e)=>()=>{if(e)throw e[0];try{return r&&(t=r(r=0)),t}catch(n){throw e=[n],n}};var Re=(r,t)=>{for(var e in t)Zu(r,e,{get:t[e],enumerable:!0})},gw=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of mw(t))!yw.call(r,s)&&s!==e&&Zu(r,s,{get:()=>t[s],enumerable:!(n=pw(t,s))||n.enumerable});return r};var bw=r=>gw(Zu({},"__esModule",{value:!0}),r);var B_,I_,__,L_,sm=m(()=>{B_=Math.PI/2,I_=Math.PI/4,__=Math.PI/6,L_=Math.PI*2});var im=m(()=>{});var om=m(()=>{});var am=m(()=>{});var cm=m(()=>{});var lm=m(()=>{});var um=m(()=>{});function fc(){return no??Uint16Array}var no,fm=m(()=>{no=globalThis.Float16Array});var hm=m(()=>{fm()});var dm=m(()=>{hm()});var pm=m(()=>{am()});var mm=m(()=>{cm()});var ym=m(()=>{um()});var gm=m(()=>{im()});var bm=m(()=>{om()});var wm=m(()=>{lm()});var xm=m(()=>{sm();dm();pm();mm();ym();gm();bm();wm()});function hc(r){let t=fc();return new t(r)}function jn(r){return!!(no&&r instanceof no)}function dc(r,t,e){jn(r)?r[t]=e:r[t]=vm(e)}function Hu(r,t){return jn(r)?r[t]:Tw(r[t])}function na(r){return jn(r)?new Uint16Array(r.buffer,r.byteOffset,r.length):r}function ti(r,t){let e=hc(r.length);for(let n=0;n<r.length;n++)dc(e,n,r[n]/t);return e}function sa(r,t){return Float32Array.from(r,e=>e/t)}function vm(r){if(!Number.isFinite(r))return r===1/0?31744:r===-1/0?64512:32256;let t=r<0||Object.is(r,-0)?32768:0,e=Math.abs(r);if(e===0)return t;if(e>=65520)return t|31744;if(e>=65504)return t|31743;let n=Math.floor(Math.log2(e));if(n<-14)return t|Math.round(e/2**-24);let s=n+15,i=Math.round((e/2**n-1)*1024);return i===1024?t|s+1<<10:t|s<<10|i}function Tw(r){let t=r&32768?-1:1,e=r>>10&31,n=r&1023;return e===0?t*n*2**-24:e===31?n?NaN:t*(1/0):t*(1+n/1024)*2**(e-15)}var Am=m(()=>{"use strict";xm()});function Bm(r,t){var e={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&t.indexOf(n)<0&&(e[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(r);s<n.length;s++)t.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(r,n[s])&&(e[n[s]]=r[n[s]]);return e}function I(r,t,e,n){function s(i){return i instanceof e?i:new e(function(o){o(i)})}return new(e||(e=Promise))(function(i,o){function a(u){try{l(n.next(u))}catch(f){o(f)}}function c(u){try{l(n.throw(u))}catch(f){o(f)}}function l(u){u.done?i(u.value):s(u.value).then(a,c)}l((n=n.apply(r,t||[])).next())})}function Sm(r){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&r[t],n=0;if(e)return e.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Y(r){return this instanceof Y?(this.v=r,this):new Y(r)}function xe(r,t,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=e.apply(r,t||[]),s,i=[];return s=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),s[Symbol.asyncIterator]=function(){return this},s;function o(p){return function(y){return Promise.resolve(y).then(p,f)}}function a(p,y){n[p]&&(s[p]=function(g){return new Promise(function(x,B){i.push([p,g,x,B])>1||c(p,g)})},y&&(s[p]=y(s[p])))}function c(p,y){try{l(n[p](y))}catch(g){h(i[0][3],g)}}function l(p){p.value instanceof Y?Promise.resolve(p.value.v).then(u,f):h(i[0][2],p)}function u(p){c("next",p)}function f(p){c("throw",p)}function h(p,y){p(y),i.shift(),i.length&&c(i[0][0],i[0][1])}}function so(r){var t,e;return t={},n("next"),n("throw",function(s){throw s}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(s,i){t[s]=r[s]?function(o){return(e=!e)?{value:Y(r[s](o)),done:!1}:i?i(o):o}:i}}function He(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=r[Symbol.asyncIterator],e;return t?t.call(r):(r=typeof Sm=="function"?Sm(r):r[Symbol.iterator](),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(i){e[i]=r[i]&&function(o){return new Promise(function(a,c){o=r[i](o),s(a,c,o.done,o.value)})}}function s(i,o,a,c){Promise.resolve(c).then(function(l){i({value:l,done:a})},o)}}var Pe=m(()=>{});var Im,io,Mw,Xe,dn=m(()=>{Im=new TextDecoder("utf-8"),io=Im.decode.bind(Im),Mw=new TextEncoder,Xe=r=>Mw.encode(r)});var Dw,_m,Vt,ve,Ke,Sr,lr,pc,mc,yc,gc,bc,Lm,ia,Tm,wc,Mm,qn=m(()=>{Dw=r=>typeof r=="number",_m=r=>typeof r=="boolean",Vt=r=>typeof r=="function",ve=r=>r!=null&&Object(r)===r,Ke=r=>ve(r)&&Vt(r.then),Sr=r=>ve(r)&&Vt(r[Symbol.iterator]),lr=r=>ve(r)&&Vt(r[Symbol.asyncIterator]),pc=r=>ve(r)&&ve(r.schema),mc=r=>ve(r)&&"done"in r&&"value"in r,yc=r=>ve(r)&&Vt(r.stat)&&Dw(r.fd),gc=r=>ve(r)&&ia(r.body),bc=r=>"_getDOMStream"in r&&"_getNodeStream"in r,Lm=r=>ve(r)&&Vt(r.abort)&&Vt(r.getWriter)&&!bc(r),ia=r=>ve(r)&&Vt(r.cancel)&&Vt(r.getReader)&&!bc(r),Tm=r=>ve(r)&&Vt(r.end)&&Vt(r.write)&&_m(r.writable)&&!bc(r),wc=r=>ve(r)&&Vt(r.read)&&Vt(r.pipe)&&_m(r.readable)&&!bc(r),Mm=r=>ve(r)&&Vt(r.clear)&&Vt(r.bytes)&&Vt(r.position)&&Vt(r.setPosition)&&Vt(r.capacity)&&Vt(r.getBufferIdentifier)&&Vt(r.createLong)});var ef={};Re(ef,{compareArrayLike:()=>tf,joinUint8Arrays:()=>Je,memcpy:()=>oa,rebaseValueOffsets:()=>xc,toArrayBufferView:()=>K,toArrayBufferViewAsyncIterator:()=>Br,toArrayBufferViewIterator:()=>$r,toBigInt64Array:()=>aa,toBigUint64Array:()=>Nw,toFloat32Array:()=>Rw,toFloat32ArrayAsyncIterator:()=>Qw,toFloat32ArrayIterator:()=>$w,toFloat64Array:()=>Pw,toFloat64ArrayAsyncIterator:()=>tx,toFloat64ArrayIterator:()=>Ww,toInt16Array:()=>Ow,toInt16ArrayAsyncIterator:()=>Hw,toInt16ArrayIterator:()=>Vw,toInt32Array:()=>ei,toInt32ArrayAsyncIterator:()=>Xw,toInt32ArrayIterator:()=>Gw,toInt8Array:()=>Fw,toInt8ArrayAsyncIterator:()=>Zw,toInt8ArrayIterator:()=>zw,toUint16Array:()=>Ew,toUint16ArrayAsyncIterator:()=>Kw,toUint16ArrayIterator:()=>jw,toUint32Array:()=>Uw,toUint32ArrayAsyncIterator:()=>Jw,toUint32ArrayIterator:()=>qw,toUint8Array:()=>O,toUint8ArrayAsyncIterator:()=>Qu,toUint8ArrayIterator:()=>Ju,toUint8ClampedArray:()=>kw,toUint8ClampedArrayAsyncIterator:()=>ex,toUint8ClampedArrayIterator:()=>Yw});function Cw(r){let t=r[0]?[r[0]]:[],e,n,s,i;for(let o,a,c=0,l=0,u=r.length;++c<u;){if(o=t[l],a=r[c],!o||!a||o.buffer!==a.buffer||a.byteOffset<o.byteOffset){a&&(t[++l]=a);continue}if({byteOffset:e,byteLength:s}=o,{byteOffset:n,byteLength:i}=a,e+s<n||n+i<e){a&&(t[++l]=a);continue}t[l]=new Uint8Array(o.buffer,e,n-e+i)}return t}function oa(r,t,e=0,n=t.byteLength){let s=r.byteLength,i=new Uint8Array(r.buffer,r.byteOffset,s),o=new Uint8Array(t.buffer,t.byteOffset,Math.min(n,s));return i.set(o,e),r}function Je(r,t){let e=Cw(r),n=e.reduce((u,f)=>u+f.byteLength,0),s,i,o,a=0,c=-1,l=Math.min(t||Number.POSITIVE_INFINITY,n);for(let u=e.length;++c<u;){if(s=e[c],i=s.subarray(0,Math.min(s.length,l-a)),l<=a+i.length){i.length<s.length?e[c]=s.subarray(i.length):i.length===s.length&&c++,o?oa(o,i,a):o=i;break}oa(o||(o=new Uint8Array(l)),i,a),a+=i.length}return[o||new Uint8Array(0),e.slice(c),n-(o?o.byteLength:0)]}function K(r,t){let e=mc(t)?t.value:t;return e instanceof r?r===Uint8Array?new r(e.buffer,e.byteOffset,e.byteLength):e:e?(typeof e=="string"&&(e=Xe(e)),e instanceof ArrayBuffer?new r(e):e instanceof Ku?new r(e):Mm(e)?K(r,e.bytes()):ArrayBuffer.isView(e)?e.byteLength<=0?new r(0):new r(e.buffer,e.byteOffset,e.byteLength/r.BYTES_PER_ELEMENT):r.from(e)):new r(0)}function*$r(r,t){let e=function*(s){yield s},n=typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof Ku?e(t):Sr(t)?t:e(t);return yield*Xu((function*(s){let i=null;do i=s.next(yield K(r,i));while(!i.done)})(n[Symbol.iterator]())),new r}function Br(r,t){return xe(this,arguments,function*(){if(Ke(t))return yield Y(yield Y(yield*so(He(Br(r,yield Y(t))))));let n=function(o){return xe(this,arguments,function*(){yield yield Y(yield Y(o))})},s=function(o){return xe(this,arguments,function*(){yield Y(yield*so(He(Xu((function*(a){let c=null;do c=a.next(yield c?.value);while(!c.done)})(o[Symbol.iterator]())))))})},i=typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof Ku?n(t):Sr(t)?s(t):lr(t)?t:n(t);return yield Y(yield*so(He(Xu((function(o){return xe(this,arguments,function*(){let a=null;do a=yield Y(o.next(yield yield Y(K(r,a))));while(!a.done)})})(i[Symbol.asyncIterator]()))))),yield Y(new r)})}function xc(r,t,e){if(r!==0){e=e.slice(0,t);let n=typeof e[0]=="bigint"?BigInt(r):r;for(let s=-1,i=e.length;++s<i;)e[s]+=n}return e.subarray(0,t)}function tf(r,t){let e=0,n=r.length;if(n!==t.length)return!1;if(n>0)do if(r[e]!==t[e])return!1;while(++e<n);return!0}var Ku,Fw,Ow,ei,aa,O,Ew,Uw,Nw,Rw,Pw,kw,Xu,zw,Vw,Gw,Ju,jw,qw,$w,Ww,Yw,Zw,Hw,Xw,Qu,Kw,Jw,Qw,tx,ex,Gt=m(()=>{Pe();dn();qn();Ku=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;Fw=r=>K(Int8Array,r),Ow=r=>K(Int16Array,r),ei=r=>K(Int32Array,r),aa=r=>K(BigInt64Array,r),O=r=>K(Uint8Array,r),Ew=r=>K(Uint16Array,r),Uw=r=>K(Uint32Array,r),Nw=r=>K(BigUint64Array,r),Rw=r=>K(Float32Array,r),Pw=r=>K(Float64Array,r),kw=r=>K(Uint8ClampedArray,r),Xu=r=>(r.next(),r);zw=r=>$r(Int8Array,r),Vw=r=>$r(Int16Array,r),Gw=r=>$r(Int32Array,r),Ju=r=>$r(Uint8Array,r),jw=r=>$r(Uint16Array,r),qw=r=>$r(Uint32Array,r),$w=r=>$r(Float32Array,r),Ww=r=>$r(Float64Array,r),Yw=r=>$r(Uint8ClampedArray,r);Zw=r=>Br(Int8Array,r),Hw=r=>Br(Int16Array,r),Xw=r=>Br(Int32Array,r),Qu=r=>Br(Uint8Array,r),Kw=r=>Br(Uint16Array,r),Jw=r=>Br(Uint32Array,r),Qw=r=>Br(Float32Array,r),tx=r=>Br(Float64Array,r),ex=r=>Br(Uint8ClampedArray,r)});function*rx(r){let t,e=!1,n=[],s,i,o,a=0;function c(){return i==="peek"?Je(n,o)[0]:([s,n,a]=Je(n,o),s)}({cmd:i,size:o}=(yield null)||{cmd:"read",size:0});let l=Ju(r)[Symbol.iterator]();try{do if({done:t,value:s}=Number.isNaN(o-a)?l.next():l.next(o-a),!t&&s.byteLength>0&&(n.push(s),a+=s.byteLength),t||o<=a)do({cmd:i,size:o}=yield c());while(o<a);while(!t)}catch(u){e=!0,typeof l.throw=="function"&&l.throw(u)}finally{e===!1&&typeof l.return=="function"&&l.return(null)}return null}function nx(r){return xe(this,arguments,function*(){let e,n=!1,s=[],i,o,a,c=0;function l(){return o==="peek"?Je(s,a)[0]:([i,s,c]=Je(s,a),i)}({cmd:o,size:a}=(yield yield Y(null))||{cmd:"read",size:0});let u=Qu(r)[Symbol.asyncIterator]();try{do if({done:e,value:i}=Number.isNaN(a-c)?yield Y(u.next()):yield Y(u.next(a-c)),!e&&i.byteLength>0&&(s.push(i),c+=i.byteLength),e||a<=c)do({cmd:o,size:a}=yield yield Y(l()));while(a<c);while(!e)}catch(f){n=!0,typeof u.throw=="function"&&(yield Y(u.throw(f)))}finally{n===!1&&typeof u.return=="function"&&(yield Y(u.return(new Uint8Array(0))))}return yield Y(null)})}function sx(r){return xe(this,arguments,function*(){let e=!1,n=!1,s=[],i,o,a,c=0;function l(){return o==="peek"?Je(s,a)[0]:([i,s,c]=Je(s,a),i)}({cmd:o,size:a}=(yield yield Y(null))||{cmd:"read",size:0});let u=new nf(r);try{do if({done:e,value:i}=Number.isNaN(a-c)?yield Y(u.read()):yield Y(u.read(a-c)),!e&&i.byteLength>0&&(s.push(O(i)),c+=i.byteLength),e||a<=c)do({cmd:o,size:a}=yield yield Y(l()));while(a<c);while(!e)}catch(f){n=!0,yield Y(u.cancel(f))}finally{n===!1?yield Y(u.cancel()):r.locked&&u.releaseLock()}return yield Y(null)})}function ix(r){return xe(this,arguments,function*(){let e=[],n="error",s=!1,i=null,o,a,c=0,l=[],u;function f(){return o==="peek"?Je(l,a)[0]:([u,l,c]=Je(l,a),u)}if({cmd:o,size:a}=(yield yield Y(null))||{cmd:"read",size:0},r.isTTY)return yield yield Y(new Uint8Array(0)),yield Y(null);try{e[0]=rf(r,"end"),e[1]=rf(r,"error");do{if(e[2]=rf(r,"readable"),[n,i]=yield Y(Promise.race(e.map(p=>p[2]))),n==="error")break;if((s=n==="end")||(Number.isFinite(a-c)?(u=O(r.read(a-c)),u.byteLength<a-c&&(u=O(r.read()))):u=O(r.read()),u.byteLength>0&&(l.push(u),c+=u.byteLength)),s||a<=c)do({cmd:o,size:a}=yield yield Y(f()));while(a<c)}while(!s)}finally{yield Y(h(e,n==="error"?i:null))}return yield Y(null);function h(p,y){return u=l=null,new Promise((g,x)=>{for(let[B,q]of p)r.off(B,q);try{let B=r.destroy;B&&B.call(r,y),y=void 0}catch(B){y=B||y}finally{y!=null?x(y):g()}})}})}var Yt,vc,nf,rf,ca=m(()=>{Pe();Gt();Yt={fromIterable(r){return vc(rx(r))},fromAsyncIterable(r){return vc(nx(r))},fromDOMStream(r){return vc(sx(r))},fromNodeStream(r){return vc(ix(r))},toDOMStream(r,t){throw new Error('"toDOMStream" not available in this environment')},toNodeStream(r,t){throw new Error('"toNodeStream" not available in this environment')}},vc=r=>(r.next(),r);nf=class{constructor(t){this.source=t,this.reader=null,this.reader=this.source.getReader(),this.reader.closed.catch(()=>{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(t){return I(this,void 0,void 0,function*(){let{reader:e,source:n}=this;e&&(yield e.cancel(t).catch(()=>{})),n&&n.locked&&this.releaseLock()})}read(t){return I(this,void 0,void 0,function*(){if(t===0)return{done:this.reader==null,value:new Uint8Array(0)};let e=yield this.reader.read();return!e.done&&(e.value=O(e)),e})}},rf=(r,t)=>{let e=s=>n([t,s]),n;return[t,e,new Promise(s=>(n=s)&&r.once(t,e))]}});var ht,Ac=m(()=>{(function(r){r[r.V1=0]="V1",r[r.V2=1]="V2",r[r.V3=2]="V3",r[r.V4=3]="V4",r[r.V5=4]="V5"})(ht||(ht={}))});var lt,sf=m(()=>{(function(r){r[r.Sparse=0]="Sparse",r[r.Dense=1]="Dense"})(lt||(lt={}))});var ot,of=m(()=>{(function(r){r[r.HALF=0]="HALF",r[r.SINGLE=1]="SINGLE",r[r.DOUBLE=2]="DOUBLE"})(ot||(ot={}))});var mt,af=m(()=>{(function(r){r[r.DAY=0]="DAY",r[r.MILLISECOND=1]="MILLISECOND"})(mt||(mt={}))});var v,la=m(()=>{(function(r){r[r.SECOND=0]="SECOND",r[r.MILLISECOND=1]="MILLISECOND",r[r.MICROSECOND=2]="MICROSECOND",r[r.NANOSECOND=3]="NANOSECOND"})(v||(v={}))});var et,cf=m(()=>{(function(r){r[r.YEAR_MONTH=0]="YEAR_MONTH",r[r.DAY_TIME=1]="DAY_TIME",r[r.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(et||(et={}))});var Sc=m(()=>{});var Wr,Bc,Ic,oo,lf=m(()=>{Wr=new Int32Array(2),Bc=new Float32Array(Wr.buffer),Ic=new Float64Array(Wr.buffer),oo=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1});var ua,uf=m(()=>{(function(r){r[r.UTF8_BYTES=1]="UTF8_BYTES",r[r.UTF16_STRING=2]="UTF16_STRING"})(ua||(ua={}))});var Zt,ff=m(()=>{Sc();uf();lf();Zt=class r{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new r(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<<BigInt(32)))}readUint64(t){return BigInt.asUintN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<<BigInt(32)))}readFloat32(t){return Wr[0]=this.readInt32(t),Bc[0]}readFloat64(t){return Wr[oo?0:1]=this.readInt32(t),Wr[oo?1:0]=this.readInt32(t+4),Ic[0]}writeInt8(t,e){this.bytes_[t]=e}writeUint8(t,e){this.bytes_[t]=e}writeInt16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeUint16(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8}writeInt32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeUint32(t,e){this.bytes_[t]=e,this.bytes_[t+1]=e>>8,this.bytes_[t+2]=e>>16,this.bytes_[t+3]=e>>24}writeInt64(t,e){this.writeInt32(t,Number(BigInt.asIntN(32,e))),this.writeInt32(t+4,Number(BigInt.asIntN(32,e>>BigInt(32))))}writeUint64(t,e){this.writeUint32(t,Number(BigInt.asUintN(32,e))),this.writeUint32(t+4,Number(BigInt.asUintN(32,e>>BigInt(32))))}writeFloat32(t,e){Bc[0]=e,this.writeInt32(t,Wr[0])}writeFloat64(t,e){Ic[0]=e,this.writeInt32(t,Wr[oo?0:1]),this.writeInt32(t+4,Wr[oo?1:0])}getBufferIdentifier(){if(this.bytes_.length<this.position_+4+4)throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");let t="";for(let e=0;e<4;e++)t+=String.fromCharCode(this.readInt8(this.position_+4+e));return t}__offset(t,e){let n=t-this.readInt32(t);return e<this.readInt16(n)?this.readInt16(n+e):0}__union(t,e){return t.bb_pos=e+this.readInt32(e),t.bb=this,t}__string(t,e){t+=this.readInt32(t);let n=this.readInt32(t);t+=4;let s=this.bytes_.subarray(t,t+n);return e===ua.UTF8_BYTES?s:this.text_decoder_.decode(s)}__union_with_string(t,e){return typeof t=="string"?this.__string(e):this.__union(t,e)}__indirect(t){return t+this.readInt32(t)}__vector(t){return t+this.readInt32(t)+4}__vector_len(t){return this.readInt32(t+this.readInt32(t))}__has_identifier(t){if(t.length!=4)throw new Error("FlatBuffers: file identifier must be length "+4);for(let e=0;e<4;e++)if(t.charCodeAt(e)!=this.readInt8(this.position()+4+e))return!1;return!0}createScalarList(t,e){let n=[];for(let s=0;s<e;++s){let i=t(s);i!==null&&n.push(i)}return n}createObjList(t,e){let n=[];for(let s=0;s<e;++s){let i=t(s);i!==null&&n.push(i.unpack())}return n}}});var ri,Dm=m(()=>{ff();Sc();ri=class r{constructor(t){this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null,this.text_encoder=new TextEncoder;let e;t?e=t:e=1024,this.bb=Zt.allocate(e),this.space=e}clear(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null}forceDefaults(t){this.force_defaults=t}dataBuffer(){return this.bb}asUint8Array(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())}prep(t,e){t>this.minalign&&(this.minalign=t);let n=~(this.bb.capacity()-this.space+e)+1&t-1;for(;this.space<n+t+e;){let s=this.bb.capacity();this.bb=r.growByteBuffer(this.bb),this.space+=this.bb.capacity()-s}this.pad(n)}pad(t){for(let e=0;e<t;e++)this.bb.writeInt8(--this.space,0)}writeInt8(t){this.bb.writeInt8(this.space-=1,t)}writeInt16(t){this.bb.writeInt16(this.space-=2,t)}writeInt32(t){this.bb.writeInt32(this.space-=4,t)}writeInt64(t){this.bb.writeInt64(this.space-=8,t)}writeFloat32(t){this.bb.writeFloat32(this.space-=4,t)}writeFloat64(t){this.bb.writeFloat64(this.space-=8,t)}addInt8(t){this.prep(1,0),this.writeInt8(t)}addInt16(t){this.prep(2,0),this.writeInt16(t)}addInt32(t){this.prep(4,0),this.writeInt32(t)}addInt64(t){this.prep(8,0),this.writeInt64(t)}addFloat32(t){this.prep(4,0),this.writeFloat32(t)}addFloat64(t){this.prep(8,0),this.writeFloat64(t)}addFieldInt8(t,e,n){(this.force_defaults||e!=n)&&(this.addInt8(e),this.slot(t))}addFieldInt16(t,e,n){(this.force_defaults||e!=n)&&(this.addInt16(e),this.slot(t))}addFieldInt32(t,e,n){(this.force_defaults||e!=n)&&(this.addInt32(e),this.slot(t))}addFieldInt64(t,e,n){(this.force_defaults||e!==n)&&(this.addInt64(e),this.slot(t))}addFieldFloat32(t,e,n){(this.force_defaults||e!=n)&&(this.addFloat32(e),this.slot(t))}addFieldFloat64(t,e,n){(this.force_defaults||e!=n)&&(this.addFloat64(e),this.slot(t))}addFieldOffset(t,e,n){(this.force_defaults||e!=n)&&(this.addOffset(e),this.slot(t))}addFieldStruct(t,e,n){e!=n&&(this.nested(e),this.slot(t))}nested(t){if(t!=this.offset())throw new TypeError("FlatBuffers: struct must be serialized inline.")}notNested(){if(this.isNested)throw new TypeError("FlatBuffers: object serialization must not be nested.")}slot(t){this.vtable!==null&&(this.vtable[t]=this.offset())}offset(){return this.bb.capacity()-this.space}static growByteBuffer(t){let e=t.capacity();if(e&3221225472)throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");let n=e<<1,s=Zt.allocate(n);return s.setPosition(n-e),s.bytes().set(t.bytes(),n-e),s}addOffset(t){this.prep(4,0),this.writeInt32(this.offset()-t+4)}startObject(t){this.notNested(),this.vtable==null&&(this.vtable=[]),this.vtable_in_use=t;for(let e=0;e<t;e++)this.vtable[e]=0;this.isNested=!0,this.object_start=this.offset()}endObject(){if(this.vtable==null||!this.isNested)throw new Error("FlatBuffers: endObject called without startObject");this.addInt32(0);let t=this.offset(),e=this.vtable_in_use-1;for(;e>=0&&this.vtable[e]==0;e--);let n=e+1;for(;e>=0;e--)this.addInt16(this.vtable[e]!=0?t-this.vtable[e]:0);let s=2;this.addInt16(t-this.object_start);let i=(n+s)*2;this.addInt16(i);let o=0,a=this.space;t:for(e=0;e<this.vtables.length;e++){let c=this.bb.capacity()-this.vtables[e];if(i==this.bb.readInt16(c)){for(let l=2;l<i;l+=2)if(this.bb.readInt16(a+l)!=this.bb.readInt16(c+l))continue t;o=this.vtables[e];break}}return o?(this.space=this.bb.capacity()-t,this.bb.writeInt32(this.space,o-t)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-t,this.offset()-t)),this.isNested=!1,t}finish(t,e,n){let s=n?4:0;if(e){let i=e;if(this.prep(this.minalign,8+s),i.length!=4)throw new TypeError("FlatBuffers: file identifier must be length "+4);for(let o=3;o>=0;o--)this.writeInt8(i.charCodeAt(o))}this.prep(this.minalign,4+s),this.addOffset(t),s&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,e){this.finish(t,e,!0)}requiredField(t,e){let n=this.bb.capacity()-t,s=n-this.bb.readInt32(n);if(!(e<this.bb.readInt16(s)&&this.bb.readInt16(s+e)!=0))throw new TypeError("FlatBuffers: field "+e+" must be set")}startVector(t,e,n){this.notNested(),this.vector_num_elems=e,this.prep(4,t*e),this.prep(n,t*e)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(t){if(!t)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(t))return this.string_maps.get(t);let e=this.createString(t);return this.string_maps.set(t,e),e}createString(t){if(t==null)return 0;let e;return t instanceof Uint8Array?e=t:e=this.text_encoder.encode(t),this.addInt8(0),this.startVector(1,e.length,1),this.bb.setPosition(this.space-=e.length),this.bb.bytes().set(e,this.space),this.endVector()}createByteVector(t){return t==null?0:(this.startVector(1,t.length,1),this.bb.setPosition(this.space-=t.length),this.bb.bytes().set(t,this.space),this.endVector())}createObjectOffset(t){return t===null?0:typeof t=="string"?this.createString(t):t.pack(this)}createObjectOffsetList(t){let e=[];for(let n=0;n<t.length;++n){let s=t[n];if(s!==null)e.push(this.createObjectOffset(s));else throw new TypeError("FlatBuffers: Argument for createObjectOffsetList cannot contain null.")}return e}createStructOffsetList(t,e){return e(this,t.length),this.createObjectOffsetList(t.slice().reverse()),this.endVector()}}});var nt=m(()=>{Sc();lf();Dm();ff();uf()});var ni,hf=m(()=>{(function(r){r[r.BUFFER=0]="BUFFER"})(ni||(ni={}))});var Ht,ao=m(()=>{(function(r){r[r.LZ4_FRAME=0]="LZ4_FRAME",r[r.ZSTD=1]="ZSTD"})(Ht||(Ht={}))});var pn,df=m(()=>{nt();hf();ao();pn=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBodyCompression(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBodyCompression(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}codec(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt8(this.bb_pos+t):Ht.LZ4_FRAME}method(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt8(this.bb_pos+t):ni.BUFFER}static startBodyCompression(t){t.startObject(2)}static addCodec(t,e){t.addFieldInt8(0,e,Ht.LZ4_FRAME)}static addMethod(t,e){t.addFieldInt8(1,e,ni.BUFFER)}static endBodyCompression(t){return t.endObject()}static createBodyCompression(t,e,n){return r.startBodyCompression(t),r.addCodec(t,e),r.addMethod(t,n),r.endBodyCompression(t)}}});var co,pf=m(()=>{co=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createBuffer(t,e,n){return t.prep(8,16),t.writeInt64(BigInt(n??0)),t.writeInt64(BigInt(e??0)),t.offset()}}});var lo,mf=m(()=>{lo=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createFieldNode(t,e,n){return t.prep(8,16),t.writeInt64(BigInt(n??0)),t.writeInt64(BigInt(e??0)),t.offset()}}});var ie,yf=m(()=>{nt();df();pf();mf();ie=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsRecordBatch(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsRecordBatch(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}length(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}nodes(t,e){let n=this.bb.__offset(this.bb_pos,6);return n?(e||new lo).__init(this.bb.__vector(this.bb_pos+n)+t*16,this.bb):null}nodesLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}buffers(t,e){let n=this.bb.__offset(this.bb_pos,8);return n?(e||new co).__init(this.bb.__vector(this.bb_pos+n)+t*16,this.bb):null}buffersLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}compression(t){let e=this.bb.__offset(this.bb_pos,10);return e?(t||new pn).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}variadicBufferCounts(t){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.readInt64(this.bb.__vector(this.bb_pos+e)+t*8):BigInt(0)}variadicBufferCountsLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startRecordBatch(t){t.startObject(5)}static addLength(t,e){t.addFieldInt64(0,e,BigInt("0"))}static addNodes(t,e){t.addFieldOffset(1,e,0)}static startNodesVector(t,e){t.startVector(16,e,8)}static addBuffers(t,e){t.addFieldOffset(2,e,0)}static startBuffersVector(t,e){t.startVector(16,e,8)}static addCompression(t,e){t.addFieldOffset(3,e,0)}static addVariadicBufferCounts(t,e){t.addFieldOffset(4,e,0)}static createVariadicBufferCountsVector(t,e){t.startVector(8,e.length,8);for(let n=e.length-1;n>=0;n--)t.addInt64(e[n]);return t.endVector()}static startVariadicBufferCountsVector(t,e){t.startVector(8,e,8)}static endRecordBatch(t){return t.endObject()}}});var mn,Cm=m(()=>{nt();yf();mn=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDictionaryBatch(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDictionaryBatch(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}id(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}data(t){let e=this.bb.__offset(this.bb_pos,6);return e?(t||new ie).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}isDelta(){let t=this.bb.__offset(this.bb_pos,8);return t?!!this.bb.readInt8(this.bb_pos+t):!1}static startDictionaryBatch(t){t.startObject(3)}static addId(t,e){t.addFieldInt64(0,e,BigInt("0"))}static addData(t,e){t.addFieldOffset(1,e,0)}static addIsDelta(t,e){t.addFieldInt8(2,+e,0)}static endDictionaryBatch(t){return t.endObject()}}});var $n,gf=m(()=>{(function(r){r[r.Little=0]="Little",r[r.Big=1]="Big"})($n||($n={}))});var fa,Fm=m(()=>{(function(r){r[r.DenseArray=0]="DenseArray"})(fa||(fa={}))});var _r,Lc=m(()=>{nt();_r=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsInt(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsInt(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}bitWidth(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}isSigned(){let t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}static startInt(t){t.startObject(2)}static addBitWidth(t,e){t.addFieldInt32(0,e,0)}static addIsSigned(t,e){t.addFieldInt8(1,+e,0)}static endInt(t){return t.endObject()}static createInt(t,e,n){return r.startInt(t),r.addBitWidth(t,e),r.addIsSigned(t,n),r.endInt(t)}}});var Yr,bf=m(()=>{nt();Fm();Lc();Yr=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDictionaryEncoding(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDictionaryEncoding(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}id(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}indexType(t){let e=this.bb.__offset(this.bb_pos,6);return e?(t||new _r).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}isOrdered(){let t=this.bb.__offset(this.bb_pos,8);return t?!!this.bb.readInt8(this.bb_pos+t):!1}dictionaryKind(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):fa.DenseArray}static startDictionaryEncoding(t){t.startObject(4)}static addId(t,e){t.addFieldInt64(0,e,BigInt("0"))}static addIndexType(t,e){t.addFieldOffset(1,e,0)}static addIsOrdered(t,e){t.addFieldInt8(2,+e,0)}static addDictionaryKind(t,e){t.addFieldInt16(3,e,fa.DenseArray)}static endDictionaryEncoding(t){return t.endObject()}}});var Tt,uo=m(()=>{nt();Tt=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsKeyValue(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsKeyValue(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}key(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}value(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}static startKeyValue(t){t.startObject(2)}static addKey(t,e){t.addFieldOffset(0,e,0)}static addValue(t,e){t.addFieldOffset(1,e,0)}static endKeyValue(t){return t.endObject()}static createKeyValue(t,e,n){return r.startKeyValue(t),r.addKey(t,e),r.addValue(t,n),r.endKeyValue(t)}}});var ha,Om=m(()=>{nt();ha=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBinary(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBinary(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static startBinary(t){t.startObject(0)}static endBinary(t){return t.endObject()}static createBinary(t){return r.startBinary(t),r.endBinary(t)}}});var da,Em=m(()=>{nt();da=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBinaryView(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBinaryView(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static startBinaryView(t){t.startObject(0)}static endBinaryView(t){return t.endObject()}static createBinaryView(t){return r.startBinaryView(t),r.endBinaryView(t)}}});var pa,Um=m(()=>{nt();pa=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsBool(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBool(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static startBool(t){t.startObject(0)}static endBool(t){return t.endObject()}static createBool(t){return r.startBool(t),r.endBool(t)}}});var Wn,wf=m(()=>{nt();af();Wn=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDate(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDate(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):mt.MILLISECOND}static startDate(t){t.startObject(1)}static addUnit(t,e){t.addFieldInt16(0,e,mt.MILLISECOND)}static endDate(t){return t.endObject()}static createDate(t,e){return r.startDate(t),r.addUnit(t,e),r.endDate(t)}}});var Zr,xf=m(()=>{nt();Zr=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDecimal(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDecimal(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}precision(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}scale(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):0}bitWidth(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt32(this.bb_pos+t):128}static startDecimal(t){t.startObject(3)}static addPrecision(t,e){t.addFieldInt32(0,e,0)}static addScale(t,e){t.addFieldInt32(1,e,0)}static addBitWidth(t,e){t.addFieldInt32(2,e,128)}static endDecimal(t){return t.endObject()}static createDecimal(t,e,n,s){return r.startDecimal(t),r.addPrecision(t,e),r.addScale(t,n),r.addBitWidth(t,s),r.endDecimal(t)}}});var Yn,vf=m(()=>{nt();la();Yn=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsDuration(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDuration(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):v.MILLISECOND}static startDuration(t){t.startObject(1)}static addUnit(t,e){t.addFieldInt16(0,e,v.MILLISECOND)}static endDuration(t){return t.endObject()}static createDuration(t,e){return r.startDuration(t),r.addUnit(t,e),r.endDuration(t)}}});var Zn,Af=m(()=>{nt();Zn=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFixedSizeBinary(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFixedSizeBinary(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}byteWidth(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}static startFixedSizeBinary(t){t.startObject(1)}static addByteWidth(t,e){t.addFieldInt32(0,e,0)}static endFixedSizeBinary(t){return t.endObject()}static createFixedSizeBinary(t,e){return r.startFixedSizeBinary(t),r.addByteWidth(t,e),r.endFixedSizeBinary(t)}}});var Hn,Sf=m(()=>{nt();Hn=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFixedSizeList(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFixedSizeList(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}listSize(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}static startFixedSizeList(t){t.startObject(1)}static addListSize(t,e){t.addFieldInt32(0,e,0)}static endFixedSizeList(t){return t.endObject()}static createFixedSizeList(t,e){return r.startFixedSizeList(t),r.addListSize(t,e),r.endFixedSizeList(t)}}});var Xn,Bf=m(()=>{nt();of();Xn=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFloatingPoint(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFloatingPoint(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}precision(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):ot.HALF}static startFloatingPoint(t){t.startObject(1)}static addPrecision(t,e){t.addFieldInt16(0,e,ot.HALF)}static endFloatingPoint(t){return t.endObject()}static createFloatingPoint(t,e){return r.startFloatingPoint(t),r.addPrecision(t,e),r.endFloatingPoint(t)}}});var Kn,If=m(()=>{nt();cf();Kn=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsInterval(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsInterval(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):et.YEAR_MONTH}static startInterval(t){t.startObject(1)}static addUnit(t,e){t.addFieldInt16(0,e,et.YEAR_MONTH)}static endInterval(t){return t.endObject()}static createInterval(t,e){return r.startInterval(t),r.addUnit(t,e),r.endInterval(t)}}});var ma,Nm=m(()=>{nt();ma=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsLargeBinary(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsLargeBinary(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static startLargeBinary(t){t.startObject(0)}static endLargeBinary(t){return t.endObject()}static createLargeBinary(t){return r.startLargeBinary(t),r.endLargeBinary(t)}}});var ya,Rm=m(()=>{nt();ya=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsLargeList(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsLargeList(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static startLargeList(t){t.startObject(0)}static endLargeList(t){return t.endObject()}static createLargeList(t){return r.startLargeList(t),r.endLargeList(t)}}});var ga,Pm=m(()=>{nt();ga=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsLargeUtf8(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsLargeUtf8(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static startLargeUtf8(t){t.startObject(0)}static endLargeUtf8(t){return t.endObject()}static createLargeUtf8(t){return r.startLargeUtf8(t),r.endLargeUtf8(t)}}});var ba,km=m(()=>{nt();ba=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsList(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsList(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static startList(t){t.startObject(0)}static endList(t){return t.endObject()}static createList(t){return r.startList(t),r.endList(t)}}});var Jn,_f=m(()=>{nt();Jn=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsMap(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMap(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}keysSorted(){let t=this.bb.__offset(this.bb_pos,4);return t?!!this.bb.readInt8(this.bb_pos+t):!1}static startMap(t){t.startObject(1)}static addKeysSorted(t,e){t.addFieldInt8(0,+e,0)}static endMap(t){return t.endObject()}static createMap(t,e){return r.startMap(t),r.addKeysSorted(t,e),r.endMap(t)}}});var wa,zm=m(()=>{nt();wa=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsNull(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNull(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static startNull(t){t.startObject(0)}static endNull(t){return t.endObject()}static createNull(t){return r.startNull(t),r.endNull(t)}}});var xa,Vm=m(()=>{nt();xa=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsStruct_(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsStruct_(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static startStruct_(t){t.startObject(0)}static endStruct_(t){return t.endObject()}static createStruct_(t){return r.startStruct_(t),r.endStruct_(t)}}});var yn,Lf=m(()=>{nt();la();yn=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsTime(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTime(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):v.MILLISECOND}bitWidth(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):32}static startTime(t){t.startObject(2)}static addUnit(t,e){t.addFieldInt16(0,e,v.MILLISECOND)}static addBitWidth(t,e){t.addFieldInt32(1,e,32)}static endTime(t){return t.endObject()}static createTime(t,e,n){return r.startTime(t),r.addUnit(t,e),r.addBitWidth(t,n),r.endTime(t)}}});var gn,Tf=m(()=>{nt();la();gn=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsTimestamp(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTimestamp(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):v.SECOND}timezone(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__string(this.bb_pos+e,t):null}static startTimestamp(t){t.startObject(2)}static addUnit(t,e){t.addFieldInt16(0,e,v.SECOND)}static addTimezone(t,e){t.addFieldOffset(1,e,0)}static endTimestamp(t){return t.endObject()}static createTimestamp(t,e,n){return r.startTimestamp(t),r.addUnit(t,e),r.addTimezone(t,n),r.endTimestamp(t)}}});var Lr,Mf=m(()=>{nt();sf();Lr=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsUnion(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUnion(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}mode(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):lt.Sparse}typeIds(t){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readInt32(this.bb.__vector(this.bb_pos+e)+t*4):0}typeIdsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}typeIdsArray(){let t=this.bb.__offset(this.bb_pos,6);return t?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startUnion(t){t.startObject(2)}static addMode(t,e){t.addFieldInt16(0,e,lt.Sparse)}static addTypeIds(t,e){t.addFieldOffset(1,e,0)}static createTypeIdsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addInt32(e[n]);return t.endVector()}static startTypeIdsVector(t,e){t.startVector(4,e,4)}static endUnion(t){return t.endObject()}static createUnion(t,e,n){return r.startUnion(t),r.addMode(t,e),r.addTypeIds(t,n),r.endUnion(t)}}});var va,Gm=m(()=>{nt();va=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsUtf8(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUtf8(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static startUtf8(t){t.startObject(0)}static endUtf8(t){return t.endObject()}static createUtf8(t){return r.startUtf8(t),r.endUtf8(t)}}});var Aa,jm=m(()=>{nt();Aa=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsUtf8View(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUtf8View(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static startUtf8View(t){t.startObject(0)}static endUtf8View(t){return t.endObject()}static createUtf8View(t){return r.startUtf8View(t),r.endUtf8View(t)}}});var k,Tc=m(()=>{(function(r){r[r.NONE=0]="NONE",r[r.Null=1]="Null",r[r.Int=2]="Int",r[r.FloatingPoint=3]="FloatingPoint",r[r.Binary=4]="Binary",r[r.Utf8=5]="Utf8",r[r.Bool=6]="Bool",r[r.Decimal=7]="Decimal",r[r.Date=8]="Date",r[r.Time=9]="Time",r[r.Timestamp=10]="Timestamp",r[r.Interval=11]="Interval",r[r.List=12]="List",r[r.Struct_=13]="Struct_",r[r.Union=14]="Union",r[r.FixedSizeBinary=15]="FixedSizeBinary",r[r.FixedSizeList=16]="FixedSizeList",r[r.Map=17]="Map",r[r.Duration=18]="Duration",r[r.LargeBinary=19]="LargeBinary",r[r.LargeUtf8=20]="LargeUtf8",r[r.LargeList=21]="LargeList",r[r.RunEndEncoded=22]="RunEndEncoded",r[r.BinaryView=23]="BinaryView",r[r.Utf8View=24]="Utf8View",r[r.ListView=25]="ListView",r[r.LargeListView=26]="LargeListView"})(k||(k={}))});var oe,Df=m(()=>{nt();bf();uo();Tc();oe=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsField(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsField(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}name(t){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.__string(this.bb_pos+e,t):null}nullable(){let t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}typeType(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):k.NONE}type(t){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__union(t,this.bb_pos+e):null}dictionary(t){let e=this.bb.__offset(this.bb_pos,12);return e?(t||new Yr).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}children(t,e){let n=this.bb.__offset(this.bb_pos,14);return n?(e||new r).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+t*4),this.bb):null}childrenLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,e){let n=this.bb.__offset(this.bb_pos,16);return n?(e||new Tt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}static startField(t){t.startObject(7)}static addName(t,e){t.addFieldOffset(0,e,0)}static addNullable(t,e){t.addFieldInt8(1,+e,0)}static addTypeType(t,e){t.addFieldInt8(2,e,k.NONE)}static addType(t,e){t.addFieldOffset(3,e,0)}static addDictionary(t,e){t.addFieldOffset(4,e,0)}static addChildren(t,e){t.addFieldOffset(5,e,0)}static createChildrenVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startChildrenVector(t,e){t.startVector(4,e,4)}static addCustomMetadata(t,e){t.addFieldOffset(6,e,0)}static createCustomMetadataVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startCustomMetadataVector(t,e){t.startVector(4,e,4)}static endField(t){return t.endObject()}}});var ke,Cf=m(()=>{nt();gf();Df();uo();ke=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsSchema(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSchema(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}endianness(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):$n.Little}fields(t,e){let n=this.bb.__offset(this.bb_pos,6);return n?(e||new oe).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+t*4),this.bb):null}fieldsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,e){let n=this.bb.__offset(this.bb_pos,8);return n?(e||new Tt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}features(t){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb.__vector(this.bb_pos+e)+t*8):BigInt(0)}featuresLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSchema(t){t.startObject(4)}static addEndianness(t,e){t.addFieldInt16(0,e,$n.Little)}static addFields(t,e){t.addFieldOffset(1,e,0)}static createFieldsVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startFieldsVector(t,e){t.startVector(4,e,4)}static addCustomMetadata(t,e){t.addFieldOffset(2,e,0)}static createCustomMetadataVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startCustomMetadataVector(t,e){t.startVector(4,e,4)}static addFeatures(t,e){t.addFieldOffset(3,e,0)}static createFeaturesVector(t,e){t.startVector(8,e.length,8);for(let n=e.length-1;n>=0;n--)t.addInt64(e[n]);return t.endVector()}static startFeaturesVector(t,e){t.startVector(8,e,8)}static endSchema(t){return t.endObject()}static createSchema(t,e,n,s,i){return r.startSchema(t),r.addEndianness(t,e),r.addFields(t,n),r.addCustomMetadata(t,s),r.addFeatures(t,i),r.endSchema(t)}}});var Q,Mc=m(()=>{(function(r){r[r.NONE=0]="NONE",r[r.Schema=1]="Schema",r[r.DictionaryBatch=2]="DictionaryBatch",r[r.RecordBatch=3]="RecordBatch",r[r.Tensor=4]="Tensor",r[r.SparseTensor=5]="SparseTensor"})(Q||(Q={}))});var d,Z,Mt=m(()=>{Ac();sf();of();af();la();cf();Mc();(function(r){r[r.NONE=0]="NONE",r[r.Null=1]="Null",r[r.Int=2]="Int",r[r.Float=3]="Float",r[r.Binary=4]="Binary",r[r.Utf8=5]="Utf8",r[r.Bool=6]="Bool",r[r.Decimal=7]="Decimal",r[r.Date=8]="Date",r[r.Time=9]="Time",r[r.Timestamp=10]="Timestamp",r[r.Interval=11]="Interval",r[r.List=12]="List",r[r.Struct=13]="Struct",r[r.Union=14]="Union",r[r.FixedSizeBinary=15]="FixedSizeBinary",r[r.FixedSizeList=16]="FixedSizeList",r[r.Map=17]="Map",r[r.Duration=18]="Duration",r[r.LargeBinary=19]="LargeBinary",r[r.LargeUtf8=20]="LargeUtf8",r[r.LargeList=21]="LargeList",r[r.BinaryView=23]="BinaryView",r[r.Utf8View=24]="Utf8View",r[r.Dictionary=-1]="Dictionary",r[r.Int8=-2]="Int8",r[r.Int16=-3]="Int16",r[r.Int32=-4]="Int32",r[r.Int64=-5]="Int64",r[r.Uint8=-6]="Uint8",r[r.Uint16=-7]="Uint16",r[r.Uint32=-8]="Uint32",r[r.Uint64=-9]="Uint64",r[r.Float16=-10]="Float16",r[r.Float32=-11]="Float32",r[r.Float64=-12]="Float64",r[r.DateDay=-13]="DateDay",r[r.DateMillisecond=-14]="DateMillisecond",r[r.TimestampSecond=-15]="TimestampSecond",r[r.TimestampMillisecond=-16]="TimestampMillisecond",r[r.TimestampMicrosecond=-17]="TimestampMicrosecond",r[r.TimestampNanosecond=-18]="TimestampNanosecond",r[r.TimeSecond=-19]="TimeSecond",r[r.TimeMillisecond=-20]="TimeMillisecond",r[r.TimeMicrosecond=-21]="TimeMicrosecond",r[r.TimeNanosecond=-22]="TimeNanosecond",r[r.DenseUnion=-23]="DenseUnion",r[r.SparseUnion=-24]="SparseUnion",r[r.IntervalDayTime=-25]="IntervalDayTime",r[r.IntervalYearMonth=-26]="IntervalYearMonth",r[r.DurationSecond=-27]="DurationSecond",r[r.DurationMillisecond=-28]="DurationMillisecond",r[r.DurationMicrosecond=-29]="DurationMicrosecond",r[r.DurationNanosecond=-30]="DurationNanosecond",r[r.IntervalMonthDayNano=-31]="IntervalMonthDayNano"})(d||(d={}));(function(r){r[r.OFFSET=0]="OFFSET",r[r.DATA=1]="DATA",r[r.VALIDITY=2]="VALIDITY",r[r.TYPE=3]="TYPE"})(Z||(Z={}))});var Ff={};Re(Ff,{valueToString:()=>Tr});function Tr(r){if(r===null)return"null";if(r===void 0)return"undefined";switch(typeof r){case"number":return`${r}`;case"bigint":return`${r}`;case"string":return`"${r}"`}return typeof r[Symbol.toPrimitive]=="function"?r[Symbol.toPrimitive]("string"):ArrayBuffer.isView(r)?r instanceof BigInt64Array||r instanceof BigUint64Array?`[${[...r].map(t=>Tr(t))}]`:`[${r}]`:ArrayBuffer.isView(r)?`[${r}]`:JSON.stringify(r,(t,e)=>typeof e=="bigint"?`${e}`:e)}var Sa=m(()=>{});function J(r){if(typeof r=="bigint"&&(r<Number.MIN_SAFE_INTEGER||r>Number.MAX_SAFE_INTEGER))throw new TypeError(`${r} is not safe to convert to a number.`);return Number(r)}function Of(r,t){return J(r/t)+J(r%t)/J(t)}var Hr=m(()=>{});var Nf={};Re(Nf,{BN:()=>si,bigNumToBigInt:()=>$m,bigNumToNumber:()=>Uf,bigNumToString:()=>po,isArrowBigNumSymbol:()=>qm});function Mr(r,...t){return t.length===0?Object.setPrototypeOf(K(this.TypedArray,r),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(r,...t),this.constructor.prototype)}function fo(...r){return Mr.apply(this,r)}function ho(...r){return Mr.apply(this,r)}function Ba(...r){return Mr.apply(this,r)}function Uf(r,t){let{buffer:e,byteOffset:n,byteLength:s,signed:i}=r,o=new BigUint64Array(e,n,s/8),a=i&&o.at(-1)&BigInt(1)<<BigInt(63),c=BigInt(0),l=0;if(a){for(let u of o)c|=(u^ax)*(BigInt(1)<<BigInt(64*l++));c*=BigInt(-1),c-=BigInt(1)}else for(let u of o)c|=u*(BigInt(1)<<BigInt(64*l++));if(typeof t=="number"&&t>0){let u=BigInt("1".padEnd(t+1,"0")),f=c/u,h=a?-(c%u):c%u,p=J(f),y=`${h}`.padStart(t,"0");return+`${a&&p===0?"-":""}${p}.${y}`}return J(c)}function po(r){if(r.byteLength===8)return`${new r.BigIntArray(r.buffer,r.byteOffset,1)[0]}`;if(!r.signed)return Ef(r);let t=new Uint16Array(r.buffer,r.byteOffset,r.byteLength/2);if(new Int16Array([t.at(-1)])[0]>=0)return Ef(r);t=t.slice();let n=1;for(let i=0;i<t.length;i++){let o=t[i],a=~o+n;t[i]=a,n&=o===0?1:0}return`-${Ef(t)}`}function $m(r){return r.byteLength===8?new r.BigIntArray(r.buffer,r.byteOffset,1)[0]:po(r)}function Ef(r){let t="",e=new Uint32Array(2),n=new Uint16Array(r.buffer,r.byteOffset,r.byteLength/2),s=new Uint32Array((n=new Uint16Array(n).reverse()).buffer),i=-1,o=n.length-1;do{for(e[0]=n[i=0];i<o;)n[i++]=e[1]=e[0]/10,e[0]=(e[0]-e[1]*10<<16)+n[i];n[i]=e[1]=e[0]/10,e[0]=e[0]-e[1]*10,t=`${e[0]}${t}`}while(s[0]||s[1]||s[2]||s[3]);return t??"0"}var qm,ox,ax,si,Dc=m(()=>{Gt();Hr();qm=Symbol.for("isArrowBigNum");Mr.prototype[qm]=!0;Mr.prototype.toJSON=function(){return`"${po(this)}"`};Mr.prototype.valueOf=function(r){return Uf(this,r)};Mr.prototype.toString=function(){return po(this)};Mr.prototype[Symbol.toPrimitive]=function(r="default"){switch(r){case"number":return Uf(this);case"string":return po(this);case"default":return $m(this)}return po(this)};Object.setPrototypeOf(fo.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(ho.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Ba.prototype,Object.create(Uint32Array.prototype));Object.assign(fo.prototype,Mr.prototype,{constructor:fo,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(ho.prototype,Mr.prototype,{constructor:ho,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Ba.prototype,Mr.prototype,{constructor:Ba,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});ox=BigInt(4294967296)*BigInt(4294967296),ax=ox-BigInt(1);si=class r{static new(t,e){switch(e){case!0:return new fo(t);case!1:return new ho(t)}switch(t.constructor){case Int8Array:case Int16Array:case Int32Array:case BigInt64Array:return new fo(t)}return t.byteLength===16?new Ba(t):new ho(t)}static signed(t){return new fo(t)}static unsigned(t){return new ho(t)}static decimal(t){return new Ba(t)}constructor(t,e){return r.new(t,e)}}});function er(r){let t=r;switch(r.typeId){case d.Decimal:return r.bitWidth/32;case d.Interval:return t.unit===et.MONTH_DAY_NANO?4:1+t.unit;case d.BinaryView:case d.Utf8View:return 16;case d.FixedSizeList:return t.listSize;case d.FixedSizeBinary:return t.byteWidth;default:return 1}}var Wm,Ym,Zm,Hm,Xm,Km,Jm,Qm,ty,ey,ry,ny,sy,iy,oy,ay,cy,ly,uy,fy,hy,dy,py,my,yy,gy,w,Et,Lt,Ae,Se,Dt,Qe,Be,Ie,qt,Dr,ae,Cr,Xt,_e,ze,H,Fr,ce,Le,Or,le,Ve,Te,Qn,ts,Kt,es,rs,ns,ss,Jt,is,Xr,os,as,ue,cs,ls,Ia,Me,_a,La,Ta,Ma,Ct,tr,ut,De,bn,us,Ge,gt,fe,cx,Rt,yt=m(()=>{Hr();Mt();gy=Symbol.for("apache-arrow/DataType"),w=class r{static isDataType(t){return t?.[gy]===!0}static isNull(t){return t?.typeId===d.Null}static isInt(t){return t?.typeId===d.Int}static isFloat(t){return t?.typeId===d.Float}static isBinary(t){return t?.typeId===d.Binary}static isBinaryView(t){return t?.typeId===d.BinaryView}static isLargeBinary(t){return t?.typeId===d.LargeBinary}static isUtf8(t){return t?.typeId===d.Utf8}static isUtf8View(t){return t?.typeId===d.Utf8View}static isLargeUtf8(t){return t?.typeId===d.LargeUtf8}static isBool(t){return t?.typeId===d.Bool}static isDecimal(t){return t?.typeId===d.Decimal}static isDate(t){return t?.typeId===d.Date}static isTime(t){return t?.typeId===d.Time}static isTimestamp(t){return t?.typeId===d.Timestamp}static isInterval(t){return t?.typeId===d.Interval}static isDuration(t){return t?.typeId===d.Duration}static isList(t){return t?.typeId===d.List}static isLargeList(t){return t?.typeId===d.LargeList}static isStruct(t){return t?.typeId===d.Struct}static isUnion(t){return t?.typeId===d.Union}static isFixedSizeBinary(t){return t?.typeId===d.FixedSizeBinary}static isFixedSizeList(t){return t?.typeId===d.FixedSizeList}static isMap(t){return t?.typeId===d.Map}static isDictionary(t){return t?.typeId===d.Dictionary}static isDenseUnion(t){return r.isUnion(t)&&t.mode===lt.Dense}static isSparseUnion(t){return r.isUnion(t)&&t.mode===lt.Sparse}constructor(t){this.typeId=t}};Wm=Symbol.toStringTag;w[Wm]=(r=>(r.children=null,r.ArrayType=Array,r.OffsetArrayType=Int32Array,r[gy]=!0,r[Symbol.toStringTag]="DataType"))(w.prototype);Et=class extends w{constructor(){super(d.Null)}toString(){return"Null"}};Ym=Symbol.toStringTag;Et[Ym]=(r=>r[Symbol.toStringTag]="Null")(Et.prototype);Lt=class extends w{constructor(t,e){super(d.Int),this.isSigned=t,this.bitWidth=e}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}};Zm=Symbol.toStringTag;Lt[Zm]=(r=>(r.isSigned=null,r.bitWidth=null,r[Symbol.toStringTag]="Int"))(Lt.prototype);Ae=class extends Lt{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},Se=class extends Lt{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},Dt=class extends Lt{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},Qe=class extends Lt{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},Be=class extends Lt{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},Ie=class extends Lt{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},qt=class extends Lt{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},Dr=class extends Lt{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(Ae.prototype,"ArrayType",{value:Int8Array});Object.defineProperty(Se.prototype,"ArrayType",{value:Int16Array});Object.defineProperty(Dt.prototype,"ArrayType",{value:Int32Array});Object.defineProperty(Qe.prototype,"ArrayType",{value:BigInt64Array});Object.defineProperty(Be.prototype,"ArrayType",{value:Uint8Array});Object.defineProperty(Ie.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(qt.prototype,"ArrayType",{value:Uint32Array});Object.defineProperty(Dr.prototype,"ArrayType",{value:BigUint64Array});ae=class extends w{constructor(t){super(d.Float),this.precision=t}get ArrayType(){switch(this.precision){case ot.HALF:return Uint16Array;case ot.SINGLE:return Float32Array;case ot.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};Hm=Symbol.toStringTag;ae[Hm]=(r=>(r.precision=null,r[Symbol.toStringTag]="Float"))(ae.prototype);Cr=class extends ae{constructor(){super(ot.HALF)}},Xt=class extends ae{constructor(){super(ot.SINGLE)}},_e=class extends ae{constructor(){super(ot.DOUBLE)}};Object.defineProperty(Cr.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(Xt.prototype,"ArrayType",{value:Float32Array});Object.defineProperty(_e.prototype,"ArrayType",{value:Float64Array});ze=class extends w{constructor(){super(d.Binary)}toString(){return"Binary"}};Xm=Symbol.toStringTag;ze[Xm]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="Binary"))(ze.prototype);H=class extends w{constructor(){super(d.BinaryView)}toString(){return"BinaryView"}};Km=Symbol.toStringTag;H.ELEMENT_WIDTH=16;H.INLINE_CAPACITY=12;H.LENGTH_OFFSET=0;H.INLINE_OFFSET=4;H.BUFFER_INDEX_OFFSET=8;H.BUFFER_OFFSET_OFFSET=12;H[Km]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="BinaryView"))(H.prototype);Fr=class extends w{constructor(){super(d.LargeBinary)}toString(){return"LargeBinary"}};Jm=Symbol.toStringTag;Fr[Jm]=(r=>(r.ArrayType=Uint8Array,r.OffsetArrayType=BigInt64Array,r[Symbol.toStringTag]="LargeBinary"))(Fr.prototype);ce=class extends w{constructor(){super(d.Utf8)}toString(){return"Utf8"}};Qm=Symbol.toStringTag;ce[Qm]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="Utf8"))(ce.prototype);Le=class extends w{constructor(){super(d.Utf8View)}toString(){return"Utf8View"}};ty=Symbol.toStringTag;Le.ELEMENT_WIDTH=H.ELEMENT_WIDTH;Le.INLINE_CAPACITY=H.INLINE_CAPACITY;Le[ty]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="Utf8View"))(Le.prototype);Or=class extends w{constructor(){super(d.LargeUtf8)}toString(){return"LargeUtf8"}};ey=Symbol.toStringTag;Or[ey]=(r=>(r.ArrayType=Uint8Array,r.OffsetArrayType=BigInt64Array,r[Symbol.toStringTag]="LargeUtf8"))(Or.prototype);le=class extends w{constructor(){super(d.Bool)}toString(){return"Bool"}};ry=Symbol.toStringTag;le[ry]=(r=>(r.ArrayType=Uint8Array,r[Symbol.toStringTag]="Bool"))(le.prototype);Ve=class extends w{constructor(t,e,n=128){super(d.Decimal),this.scale=t,this.precision=e,this.bitWidth=n}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};ny=Symbol.toStringTag;Ve[ny]=(r=>(r.scale=null,r.precision=null,r.ArrayType=Uint32Array,r[Symbol.toStringTag]="Decimal"))(Ve.prototype);Te=class extends w{constructor(t){super(d.Date),this.unit=t}toString(){return`Date${(this.unit+1)*32}<${mt[this.unit]}>`}get ArrayType(){return this.unit===mt.DAY?Int32Array:BigInt64Array}};sy=Symbol.toStringTag;Te[sy]=(r=>(r.unit=null,r[Symbol.toStringTag]="Date"))(Te.prototype);Qn=class extends Te{constructor(){super(mt.DAY)}},ts=class extends Te{constructor(){super(mt.MILLISECOND)}},Kt=class extends w{constructor(t,e){super(d.Time),this.unit=t,this.bitWidth=e}toString(){return`Time${this.bitWidth}<${v[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};iy=Symbol.toStringTag;Kt[iy]=(r=>(r.unit=null,r.bitWidth=null,r[Symbol.toStringTag]="Time"))(Kt.prototype);es=class extends Kt{constructor(){super(v.SECOND,32)}},rs=class extends Kt{constructor(){super(v.MILLISECOND,32)}},ns=class extends Kt{constructor(){super(v.MICROSECOND,64)}},ss=class extends Kt{constructor(){super(v.NANOSECOND,64)}},Jt=class extends w{constructor(t,e){super(d.Timestamp),this.unit=t,this.timezone=e}toString(){return`Timestamp<${v[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}};oy=Symbol.toStringTag;Jt[oy]=(r=>(r.unit=null,r.timezone=null,r.ArrayType=BigInt64Array,r[Symbol.toStringTag]="Timestamp"))(Jt.prototype);is=class extends Jt{constructor(t){super(v.SECOND,t)}},Xr=class extends Jt{constructor(t){super(v.MILLISECOND,t)}},os=class extends Jt{constructor(t){super(v.MICROSECOND,t)}},as=class extends Jt{constructor(t){super(v.NANOSECOND,t)}},ue=class extends w{constructor(t){super(d.Interval),this.unit=t}toString(){return`Interval<${et[this.unit]}>`}};ay=Symbol.toStringTag;ue[ay]=(r=>(r.unit=null,r.ArrayType=Int32Array,r[Symbol.toStringTag]="Interval"))(ue.prototype);cs=class extends ue{constructor(){super(et.DAY_TIME)}},ls=class extends ue{constructor(){super(et.YEAR_MONTH)}},Ia=class extends ue{constructor(){super(et.MONTH_DAY_NANO)}},Me=class extends w{constructor(t){super(d.Duration),this.unit=t}toString(){return`Duration<${v[this.unit]}>`}};cy=Symbol.toStringTag;Me[cy]=(r=>(r.unit=null,r.ArrayType=BigInt64Array,r[Symbol.toStringTag]="Duration"))(Me.prototype);_a=class extends Me{constructor(){super(v.SECOND)}},La=class extends Me{constructor(){super(v.MILLISECOND)}},Ta=class extends Me{constructor(){super(v.MICROSECOND)}},Ma=class extends Me{constructor(){super(v.NANOSECOND)}},Ct=class extends w{constructor(t){super(d.List),this.children=[t]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};ly=Symbol.toStringTag;Ct[ly]=(r=>(r.children=null,r[Symbol.toStringTag]="List"))(Ct.prototype);tr=class extends w{constructor(t){super(d.LargeList),this.children=[t]}toString(){return`LargeList<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};uy=Symbol.toStringTag;tr[uy]=(r=>(r.children=null,r.OffsetArrayType=BigInt64Array,r[Symbol.toStringTag]="LargeList"))(tr.prototype);ut=class extends w{constructor(t){super(d.Struct),this.children=t}toString(){return`Struct<{${this.children.map(t=>`${t.name}:${t.type}`).join(", ")}}>`}};fy=Symbol.toStringTag;ut[fy]=(r=>(r.children=null,r[Symbol.toStringTag]="Struct"))(ut.prototype);De=class extends w{constructor(t,e,n){super(d.Union),this.mode=t,this.children=n,this.typeIds=e=Int32Array.from(e),this.typeIdToChildIndex=e.reduce((s,i,o)=>(s[i]=o)&&s||s,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(t=>`${t.type}`).join(" | ")}>`}};hy=Symbol.toStringTag;De[hy]=(r=>(r.mode=null,r.typeIds=null,r.children=null,r.typeIdToChildIndex=null,r.ArrayType=Int8Array,r[Symbol.toStringTag]="Union"))(De.prototype);bn=class extends De{constructor(t,e){super(lt.Dense,t,e)}},us=class extends De{constructor(t,e){super(lt.Sparse,t,e)}},Ge=class extends w{constructor(t){super(d.FixedSizeBinary),this.byteWidth=t}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};dy=Symbol.toStringTag;Ge[dy]=(r=>(r.byteWidth=null,r.ArrayType=Uint8Array,r[Symbol.toStringTag]="FixedSizeBinary"))(Ge.prototype);gt=class extends w{constructor(t,e){super(d.FixedSizeList),this.listSize=t,this.children=[e]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};py=Symbol.toStringTag;gt[py]=(r=>(r.children=null,r.listSize=null,r[Symbol.toStringTag]="FixedSizeList"))(gt.prototype);fe=class extends w{constructor(t,e=!1){var n,s,i;if(super(d.Map),this.children=[t],this.keysSorted=e,t&&(t.name="entries",!((n=t?.type)===null||n===void 0)&&n.children)){let o=(s=t?.type)===null||s===void 0?void 0:s.children[0];o&&(o.name="key");let a=(i=t?.type)===null||i===void 0?void 0:i.children[1];a&&(a.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(t=>`${t.name}:${t.type}`).join(", ")}}>`}};my=Symbol.toStringTag;fe[my]=(r=>(r.children=null,r.keysSorted=null,r[Symbol.toStringTag]="Map_"))(fe.prototype);cx=(r=>()=>++r)(-1),Rt=class extends w{constructor(t,e,n,s){super(d.Dictionary),this.indices=e,this.dictionary=t,this.isOrdered=s||!1,this.id=n==null?cx():J(n)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};yy=Symbol.toStringTag;Rt[yy]=(r=>(r.id=null,r.indices=null,r.isOrdered=null,r.dictionary=null,r[Symbol.toStringTag]="Dictionary"))(Rt.prototype)});function lx(r,t,e=!0){return typeof t=="number"?mo(r,t,e):typeof t=="string"&&t in d?mo(r,d[t],e):t&&t instanceof w?mo(r,wy(t),e):t?.type&&t.type instanceof w?mo(r,wy(t.type),e):mo(r,d.NONE,e)}function mo(r,t,e=!0){let n=null;switch(t){case d.Null:n=r.visitNull;break;case d.Bool:n=r.visitBool;break;case d.Int:n=r.visitInt;break;case d.Int8:n=r.visitInt8||r.visitInt;break;case d.Int16:n=r.visitInt16||r.visitInt;break;case d.Int32:n=r.visitInt32||r.visitInt;break;case d.Int64:n=r.visitInt64||r.visitInt;break;case d.Uint8:n=r.visitUint8||r.visitInt;break;case d.Uint16:n=r.visitUint16||r.visitInt;break;case d.Uint32:n=r.visitUint32||r.visitInt;break;case d.Uint64:n=r.visitUint64||r.visitInt;break;case d.Float:n=r.visitFloat;break;case d.Float16:n=r.visitFloat16||r.visitFloat;break;case d.Float32:n=r.visitFloat32||r.visitFloat;break;case d.Float64:n=r.visitFloat64||r.visitFloat;break;case d.Utf8:n=r.visitUtf8;break;case d.LargeUtf8:n=r.visitLargeUtf8;break;case d.Utf8View:n=r.visitUtf8View||r.visitUtf8;break;case d.Binary:n=r.visitBinary;break;case d.LargeBinary:n=r.visitLargeBinary;break;case d.BinaryView:n=r.visitBinaryView||r.visitBinary;break;case d.FixedSizeBinary:n=r.visitFixedSizeBinary;break;case d.Date:n=r.visitDate;break;case d.DateDay:n=r.visitDateDay||r.visitDate;break;case d.DateMillisecond:n=r.visitDateMillisecond||r.visitDate;break;case d.Timestamp:n=r.visitTimestamp;break;case d.TimestampSecond:n=r.visitTimestampSecond||r.visitTimestamp;break;case d.TimestampMillisecond:n=r.visitTimestampMillisecond||r.visitTimestamp;break;case d.TimestampMicrosecond:n=r.visitTimestampMicrosecond||r.visitTimestamp;break;case d.TimestampNanosecond:n=r.visitTimestampNanosecond||r.visitTimestamp;break;case d.Time:n=r.visitTime;break;case d.TimeSecond:n=r.visitTimeSecond||r.visitTime;break;case d.TimeMillisecond:n=r.visitTimeMillisecond||r.visitTime;break;case d.TimeMicrosecond:n=r.visitTimeMicrosecond||r.visitTime;break;case d.TimeNanosecond:n=r.visitTimeNanosecond||r.visitTime;break;case d.Decimal:n=r.visitDecimal;break;case d.List:n=r.visitList;break;case d.LargeList:n=r.visitLargeList;break;case d.Struct:n=r.visitStruct;break;case d.Union:n=r.visitUnion;break;case d.DenseUnion:n=r.visitDenseUnion||r.visitUnion;break;case d.SparseUnion:n=r.visitSparseUnion||r.visitUnion;break;case d.Dictionary:n=r.visitDictionary;break;case d.Interval:n=r.visitInterval;break;case d.IntervalDayTime:n=r.visitIntervalDayTime||r.visitInterval;break;case d.IntervalYearMonth:n=r.visitIntervalYearMonth||r.visitInterval;break;case d.IntervalMonthDayNano:n=r.visitIntervalMonthDayNano||r.visitInterval;break;case d.Duration:n=r.visitDuration;break;case d.DurationSecond:n=r.visitDurationSecond||r.visitDuration;break;case d.DurationMillisecond:n=r.visitDurationMillisecond||r.visitDuration;break;case d.DurationMicrosecond:n=r.visitDurationMicrosecond||r.visitDuration;break;case d.DurationNanosecond:n=r.visitDurationNanosecond||r.visitDuration;break;case d.FixedSizeList:n=r.visitFixedSizeList;break;case d.Map:n=r.visitMap;break}if(typeof n=="function")return n;if(!e)return()=>null;throw new Error(`Unrecognized type '${d[t]}'`)}function wy(r){switch(r.typeId){case d.Null:return d.Null;case d.Int:{let{bitWidth:t,isSigned:e}=r;switch(t){case 8:return e?d.Int8:d.Uint8;case 16:return e?d.Int16:d.Uint16;case 32:return e?d.Int32:d.Uint32;case 64:return e?d.Int64:d.Uint64}return d.Int}case d.Float:switch(r.precision){case ot.HALF:return d.Float16;case ot.SINGLE:return d.Float32;case ot.DOUBLE:return d.Float64}return d.Float;case d.Binary:return d.Binary;case d.LargeBinary:return d.LargeBinary;case d.BinaryView:return d.BinaryView;case d.Utf8:return d.Utf8;case d.LargeUtf8:return d.LargeUtf8;case d.Utf8View:return d.Utf8View;case d.Bool:return d.Bool;case d.Decimal:return d.Decimal;case d.Time:switch(r.unit){case v.SECOND:return d.TimeSecond;case v.MILLISECOND:return d.TimeMillisecond;case v.MICROSECOND:return d.TimeMicrosecond;case v.NANOSECOND:return d.TimeNanosecond}return d.Time;case d.Timestamp:switch(r.unit){case v.SECOND:return d.TimestampSecond;case v.MILLISECOND:return d.TimestampMillisecond;case v.MICROSECOND:return d.TimestampMicrosecond;case v.NANOSECOND:return d.TimestampNanosecond}return d.Timestamp;case d.Date:switch(r.unit){case mt.DAY:return d.DateDay;case mt.MILLISECOND:return d.DateMillisecond}return d.Date;case d.Interval:switch(r.unit){case et.DAY_TIME:return d.IntervalDayTime;case et.YEAR_MONTH:return d.IntervalYearMonth;case et.MONTH_DAY_NANO:return d.IntervalMonthDayNano}return d.Interval;case d.Duration:switch(r.unit){case v.SECOND:return d.DurationSecond;case v.MILLISECOND:return d.DurationMillisecond;case v.MICROSECOND:return d.DurationMicrosecond;case v.NANOSECOND:return d.DurationNanosecond}return d.Duration;case d.Map:return d.Map;case d.List:return d.List;case d.LargeList:return d.LargeList;case d.Struct:return d.Struct;case d.Union:switch(r.mode){case lt.Dense:return d.DenseUnion;case lt.Sparse:return d.SparseUnion}return d.Union;case d.FixedSizeBinary:return d.FixedSizeBinary;case d.FixedSizeList:return d.FixedSizeList;case d.Dictionary:return d.Dictionary}throw new Error(`Unrecognized type '${d[r.typeId]}'`)}var F,je=m(()=>{Mt();yt();F=class{visitMany(t,...e){return t.map((n,s)=>this.visit(n,...e.map(i=>i[s])))}visit(...t){return this.getVisitFn(t[0],!1).apply(this,t)}getVisitFn(t,e=!0){return lx(this,t,e)}getVisitFnByTypeId(t,e=!0){return mo(this,t,e)}visitNull(t,...e){return null}visitBool(t,...e){return null}visitInt(t,...e){return null}visitFloat(t,...e){return null}visitUtf8(t,...e){return null}visitLargeUtf8(t,...e){return null}visitUtf8View(t,...e){return null}visitBinary(t,...e){return null}visitLargeBinary(t,...e){return null}visitBinaryView(t,...e){return null}visitFixedSizeBinary(t,...e){return null}visitDate(t,...e){return null}visitTimestamp(t,...e){return null}visitTime(t,...e){return null}visitDecimal(t,...e){return null}visitList(t,...e){return null}visitLargeList(t,...e){return null}visitStruct(t,...e){return null}visitUnion(t,...e){return null}visitDictionary(t,...e){return null}visitInterval(t,...e){return null}visitDuration(t,...e){return null}visitFixedSizeList(t,...e){return null}visitMap(t,...e){return null}};F.prototype.visitInt8=null;F.prototype.visitInt16=null;F.prototype.visitInt32=null;F.prototype.visitInt64=null;F.prototype.visitUint8=null;F.prototype.visitUint16=null;F.prototype.visitUint32=null;F.prototype.visitUint64=null;F.prototype.visitFloat16=null;F.prototype.visitFloat32=null;F.prototype.visitFloat64=null;F.prototype.visitDateDay=null;F.prototype.visitDateMillisecond=null;F.prototype.visitTimestampSecond=null;F.prototype.visitTimestampMillisecond=null;F.prototype.visitTimestampMicrosecond=null;F.prototype.visitTimestampNanosecond=null;F.prototype.visitTimeSecond=null;F.prototype.visitTimeMillisecond=null;F.prototype.visitTimeMicrosecond=null;F.prototype.visitTimeNanosecond=null;F.prototype.visitDenseUnion=null;F.prototype.visitSparseUnion=null;F.prototype.visitIntervalDayTime=null;F.prototype.visitIntervalYearMonth=null;F.prototype.visitIntervalMonthDayNano=null;F.prototype.visitDuration=null;F.prototype.visitDurationSecond=null;F.prototype.visitDurationMillisecond=null;F.prototype.visitDurationMicrosecond=null;F.prototype.visitDurationNanosecond=null});var Rf={};Re(Rf,{float64ToUint16:()=>Da,uint16ToFloat64:()=>Cc});function Cc(r){let t=(r&31744)>>10,e=(r&1023)/1024,n=Math.pow(-1,(r&32768)>>15);switch(t){case 31:return n*(e?Number.NaN:1/0);case 0:return n*(e?6103515625e-14*e:0)}return n*Math.pow(2,t-15)*(1+e)}function Da(r){if(r!==r)return 32256;xy[0]=r;let t=(yo[1]&2147483648)>>16&65535,e=yo[1]&2146435072,n=0;return e>=1089470464?yo[0]>0?e=31744:(e=(e&2080374784)>>16,n=(yo[1]&1048575)>>10):e<=1056964608?(n=1048576+(yo[1]&1048575),n=1048576+(n<<(e>>20)-998)>>21,e=0):(e=e-1056964608>>10,n=(yo[1]&1048575)+512>>10),t|e|n&65535}var xy,yo,Ca=m(()=>{xy=new Float64Array(1),yo=new Uint32Array(xy.buffer)});function G(r){return(t,e,n)=>{if(t.setValid(e,n!=null))return r(t,e,n)}}var P,ux,vy,fx,wn,Pf,Ay,hx,Fc,Oc,kf,Sy,dx,By,px,Iy,mx,zf,Ec,Uc,Nc,Rc,Vf,Pc,kc,zc,Vc,Gf,jf,_y,yx,gx,bx,wx,xx,vx,Ax,Ly,Ty,Sx,qf,Gc,jc,qc,$c,Wc,Yc,Zc,$f,Bx,Qt,rr=m(()=>{he();je();Hr();dn();Ca();Mt();yt();P=class extends F{};ux=(r,t,e)=>{r[t]=Math.floor(e/864e5)},vy=(r,t,e,n)=>{if(e+1<t.length){let s=J(t[e]),i=J(t[e+1]);r.set(n.subarray(0,i-s),s)}},fx=({offset:r,values:t},e,n)=>{let s=r+e;n?t[s>>3]|=1<<s%8:t[s>>3]&=~(1<<s%8)},wn=({values:r},t,e)=>{r[t]=e},Pf=({values:r},t,e)=>{r[t]=e},Ay=({values:r},t,e)=>{r[t]=Da(e)},hx=(r,t,e)=>{switch(r.type.precision){case ot.HALF:return Ay(r,t,e);case ot.SINGLE:case ot.DOUBLE:return Pf(r,t,e)}},Fc=({values:r},t,e)=>{ux(r,t,e.valueOf())},Oc=({values:r},t,e)=>{r[t]=BigInt(e)},kf=({stride:r,values:t},e,n)=>{t.set(n.subarray(0,r),r*e)},Sy=({values:r,valueOffsets:t},e,n)=>vy(r,t,e,n),dx=r=>{let t=r.variadicBuffers;return(!Array.isArray(t)||Object.isFrozen(t))&&(t=Array.from(t),r.variadicBuffers=t),t},By=(r,t,e)=>{var n,s,i,o;let a=r.values;if(!a)throw new Error("BinaryView data is missing view buffer");let c=H.ELEMENT_WIDTH,l=t*c,u=l+c;if(l<0||u>a.length)throw new RangeError(`BinaryView index ${t} out of bounds`);a.fill(0,l,u);let f=new DataView(a.buffer,a.byteOffset+l,c),h=e.length;if(f.setInt32(H.LENGTH_OFFSET,h,!0),h<=H.INLINE_CAPACITY){a.set(e,l+H.INLINE_OFFSET);return}let p=((n=e[0])!==null&&n!==void 0?n:0)|((s=e[1])!==null&&s!==void 0?s:0)<<8|((i=e[2])!==null&&i!==void 0?i:0)<<16|((o=e[3])!==null&&o!==void 0?o:0)<<24;f.setUint32(H.INLINE_OFFSET,p>>>0,!0);let y=dx(r),g=e.slice(),x=y.push(g)-1;f.setInt32(H.BUFFER_INDEX_OFFSET,x,!0),f.setInt32(H.BUFFER_OFFSET_OFFSET,0,!0)},px=(r,t,e)=>{let n=e instanceof Uint8Array?e:new Uint8Array(e);By(r,t,n)},Iy=({values:r,valueOffsets:t},e,n)=>vy(r,t,e,Xe(n)),mx=(r,t,e)=>{let n=Xe(e);By(r,t,n)},zf=(r,t,e)=>{r.type.unit===mt.DAY?Fc(r,t,e):Oc(r,t,e)},Ec=({values:r},t,e)=>{r[t]=BigInt(e/1e3)},Uc=({values:r},t,e)=>{r[t]=BigInt(e)},Nc=({values:r},t,e)=>{r[t]=BigInt(e*1e3)},Rc=({values:r},t,e)=>{r[t]=BigInt(e*1e6)},Vf=(r,t,e)=>{switch(r.type.unit){case v.SECOND:return Ec(r,t,e);case v.MILLISECOND:return Uc(r,t,e);case v.MICROSECOND:return Nc(r,t,e);case v.NANOSECOND:return Rc(r,t,e)}},Pc=({values:r},t,e)=>{r[t]=e},kc=({values:r},t,e)=>{r[t]=e},zc=({values:r},t,e)=>{r[t]=e},Vc=({values:r},t,e)=>{r[t]=e},Gf=(r,t,e)=>{switch(r.type.unit){case v.SECOND:return Pc(r,t,e);case v.MILLISECOND:return kc(r,t,e);case v.MICROSECOND:return zc(r,t,e);case v.NANOSECOND:return Vc(r,t,e)}},jf=({values:r,stride:t},e,n)=>{r.set(n.subarray(0,t),t*e)},_y=(r,t,e)=>{let n=r.children[0],s=r.valueOffsets,i=Qt.getVisitFn(n),o=J(s[t]),a=J(s[t+1]);if(Array.isArray(e))for(let c=-1,l=o;l<a;)i(n,l++,e[++c]);else for(let c=-1,l=o;l<a;)i(n,l++,e.get(++c))},yx=(r,t,e)=>{let n=r.children[0],{valueOffsets:s}=r,i=Qt.getVisitFn(n),{[t]:o,[t+1]:a}=s,c=e instanceof Map?e.entries():Object.entries(e);for(let l of c)if(i(n,o,l),++o>=a)break},gx=(r,t)=>(e,n,s,i)=>n&&e(n,r,t[i]),bx=(r,t)=>(e,n,s,i)=>n&&e(n,r,t.get(i)),wx=(r,t)=>(e,n,s,i)=>n&&e(n,r,t.get(s.name)),xx=(r,t)=>(e,n,s,i)=>n&&e(n,r,t[s.name]),vx=(r,t,e)=>{let n=r.type.children.map(i=>Qt.getVisitFn(i.type)),s=e instanceof Map?wx(t,e):e instanceof A?bx(t,e):Array.isArray(e)?gx(t,e):xx(t,e);r.type.children.forEach((i,o)=>s(n[o],r.children[o],i,o))},Ax=(r,t,e)=>{r.type.mode===lt.Dense?Ly(r,t,e):Ty(r,t,e)},Ly=(r,t,e)=>{let n=r.type.typeIdToChildIndex[r.typeIds[t]],s=r.children[n];Qt.visit(s,r.valueOffsets[t],e)},Ty=(r,t,e)=>{let n=r.type.typeIdToChildIndex[r.typeIds[t]],s=r.children[n];Qt.visit(s,t,e)},Sx=(r,t,e)=>{var n;(n=r.dictionary)===null||n===void 0||n.set(r.values[t],e)},qf=(r,t,e)=>{switch(r.type.unit){case et.YEAR_MONTH:return jc(r,t,e);case et.DAY_TIME:return Gc(r,t,e);case et.MONTH_DAY_NANO:return qc(r,t,e)}},Gc=({values:r},t,e)=>{r.set(e.subarray(0,2),2*t)},jc=({values:r},t,e)=>{r[t]=e[0]*12+e[1]%12},qc=({values:r,stride:t},e,n)=>{r.set(n.subarray(0,t),t*e)},$c=({values:r},t,e)=>{r[t]=e},Wc=({values:r},t,e)=>{r[t]=e},Yc=({values:r},t,e)=>{r[t]=e},Zc=({values:r},t,e)=>{r[t]=e},$f=(r,t,e)=>{switch(r.type.unit){case v.SECOND:return $c(r,t,e);case v.MILLISECOND:return Wc(r,t,e);case v.MICROSECOND:return Yc(r,t,e);case v.NANOSECOND:return Zc(r,t,e)}},Bx=(r,t,e)=>{let{stride:n}=r,s=r.children[0],i=Qt.getVisitFn(s);if(Array.isArray(e))for(let o=-1,a=t*n;++o<n;)i(s,a+o,e[o]);else for(let o=-1,a=t*n;++o<n;)i(s,a+o,e.get(o))};P.prototype.visitBool=G(fx);P.prototype.visitInt=G(wn);P.prototype.visitInt8=G(wn);P.prototype.visitInt16=G(wn);P.prototype.visitInt32=G(wn);P.prototype.visitInt64=G(wn);P.prototype.visitUint8=G(wn);P.prototype.visitUint16=G(wn);P.prototype.visitUint32=G(wn);P.prototype.visitUint64=G(wn);P.prototype.visitFloat=G(hx);P.prototype.visitFloat16=G(Ay);P.prototype.visitFloat32=G(Pf);P.prototype.visitFloat64=G(Pf);P.prototype.visitUtf8=G(Iy);P.prototype.visitLargeUtf8=G(Iy);P.prototype.visitUtf8View=G(mx);P.prototype.visitBinary=G(Sy);P.prototype.visitLargeBinary=G(Sy);P.prototype.visitBinaryView=G(px);P.prototype.visitFixedSizeBinary=G(kf);P.prototype.visitDate=G(zf);P.prototype.visitDateDay=G(Fc);P.prototype.visitDateMillisecond=G(Oc);P.prototype.visitTimestamp=G(Vf);P.prototype.visitTimestampSecond=G(Ec);P.prototype.visitTimestampMillisecond=G(Uc);P.prototype.visitTimestampMicrosecond=G(Nc);P.prototype.visitTimestampNanosecond=G(Rc);P.prototype.visitTime=G(Gf);P.prototype.visitTimeSecond=G(Pc);P.prototype.visitTimeMillisecond=G(kc);P.prototype.visitTimeMicrosecond=G(zc);P.prototype.visitTimeNanosecond=G(Vc);P.prototype.visitDecimal=G(jf);P.prototype.visitList=G(_y);P.prototype.visitLargeList=G(_y);P.prototype.visitStruct=G(vx);P.prototype.visitUnion=G(Ax);P.prototype.visitDenseUnion=G(Ly);P.prototype.visitSparseUnion=G(Ty);P.prototype.visitDictionary=G(Sx);P.prototype.visitInterval=G(qf);P.prototype.visitIntervalDayTime=G(Gc);P.prototype.visitIntervalYearMonth=G(jc);P.prototype.visitIntervalMonthDayNano=G(qc);P.prototype.visitDuration=G($f);P.prototype.visitDurationSecond=G($c);P.prototype.visitDurationMillisecond=G(Wc);P.prototype.visitDurationMicrosecond=G(Yc);P.prototype.visitDurationNanosecond=G(Zc);P.prototype.visitFixedSizeList=G(Bx);P.prototype.visitMap=G(yx);Qt=new P});var Er,go,Kr,Wf,Yf,Ix,Hc=m(()=>{Sa();ii();rr();Er=Symbol.for("parent"),go=Symbol.for("rowIndex"),Kr=class{constructor(t,e){return this[Er]=t,this[go]=e,new Proxy(this,Ix)}toArray(){return Object.values(this.toJSON())}toJSON(){let t=this[go],e=this[Er],n=e.type.children,s={};for(let i=-1,o=n.length;++i<o;)s[n[i].name]=Pt.visit(e.children[i],t);return s}toString(){return`{${[...this].map(([t,e])=>`${Tr(t)}: ${Tr(e)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new Wf(this[Er],this[go])}},Wf=class{constructor(t,e){this.childIndex=0,this.children=t.children,this.rowIndex=e,this.childFields=t.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let t=this.childIndex;return t<this.numChildren?(this.childIndex=t+1,{done:!1,value:[this.childFields[t].name,Pt.visit(this.children[t],this.rowIndex)]}):{done:!0,value:null}}};Object.defineProperties(Kr.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[Er]:{writable:!0,enumerable:!1,configurable:!1,value:null},[go]:{writable:!0,enumerable:!1,configurable:!1,value:-1}});Yf=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[Er].type.children.map(e=>e.name)}has(t,e){return t[Er].type.children.some(n=>n.name===e)}getOwnPropertyDescriptor(t,e){if(t[Er].type.children.some(n=>n.name===e))return{writable:!0,enumerable:!0,configurable:!0}}get(t,e){if(Reflect.has(t,e))return t[e];let n=t[Er].type.children.findIndex(s=>s.name===e);if(n!==-1){let s=Pt.visit(t[Er].children[n],t[go]);return Reflect.set(t,e,s),s}}set(t,e,n){let s=t[Er].type.children.findIndex(i=>i.name===e);return s!==-1?(Qt.visit(t[Er].children[s],t[go],n),Reflect.set(t,e,n)):Reflect.has(t,e)||typeof e=="symbol"?Reflect.set(t,e,n):!1}},Ix=new Yf});function z(r){return(t,e)=>t.getValid(e)?r(t,e):null}var E,_x,bo,Lx,Tx,My,Mx,Dy,Cy,fs,Dx,Fy,Cx,Oy,Ey,Fx,Uy,Ox,Ex,Ux,Nx,Ny,Ry,Py,ky,Rx,zy,Vy,Gy,jy,Px,kx,qy,zx,Vx,Gx,$y,Wy,jx,qx,Yy,Zy,Hy,Xy,Ky,Jy,Qy,$x,Wx,Pt,ii=m(()=>{Dc();he();je();Fa();Hc();Hr();dn();Ca();Mt();E=class extends F{};_x=(r,t)=>864e5*r[t],bo=16,Lx=12,Tx=(r,t)=>null,My=(r,t,e)=>{if(e+1>=t.length)return null;let n=J(t[e]),s=J(t[e+1]);return r.subarray(n,s)},Mx=({offset:r,values:t},e)=>{let n=r+e;return(t[n>>3]&1<<n%8)!==0},Dy=({values:r},t)=>_x(r,t),Cy=({values:r},t)=>J(r[t]),fs=({stride:r,values:t},e)=>t[r*e],Dx=({stride:r,values:t},e)=>Cc(t[r*e]),Fy=({values:r},t)=>r[t],Cx=({stride:r,values:t},e)=>t.subarray(r*e,r*(e+1)),Oy=({values:r,valueOffsets:t},e)=>My(r,t,e),Ey=(r,t)=>{var e;let n=r.values;if(!n)throw new Error("BinaryView data is missing view buffer");let s=t*bo,i=s+bo;if(s<0||i>n.length)throw new Error(`BinaryView data buffer is too short: expected ${bo} bytes, got ${Math.max(0,n.length-s)}`);let o=n.subarray(s,i);if(o.length<bo)throw new Error(`BinaryView data buffer is too short: expected ${bo} bytes, got ${o.length}`);let a=new DataView(n.buffer,o.byteOffset,bo),c=a.getInt32(0,!0);if(c<=0)return new Uint8Array(0);if(c<=Lx)return o.subarray(4,4+c);let l=a.getInt32(8,!0),u=a.getInt32(12,!0),f=(e=r.variadicBuffers)===null||e===void 0?void 0:e[l];if(!f)throw new Error(`BinaryView variadic buffer ${l} is missing`);return f.subarray(u,u+c)},Fx=(r,t)=>Ey(r,t),Uy=({values:r,valueOffsets:t},e)=>{let n=My(r,t,e);return n!==null?io(n):null},Ox=(r,t)=>{let e=Ey(r,t);return io(e)},Ex=({values:r},t)=>r[t],Ux=({type:r,values:t},e)=>r.precision!==ot.HALF?t[e]:Cc(t[e]),Nx=(r,t)=>r.type.unit===mt.DAY?Dy(r,t):Cy(r,t),Ny=({values:r},t)=>1e3*J(r[t]),Ry=({values:r},t)=>J(r[t]),Py=({values:r},t)=>Of(r[t],BigInt(1e3)),ky=({values:r},t)=>Of(r[t],BigInt(1e6)),Rx=(r,t)=>{switch(r.type.unit){case v.SECOND:return Ny(r,t);case v.MILLISECOND:return Ry(r,t);case v.MICROSECOND:return Py(r,t);case v.NANOSECOND:return ky(r,t)}},zy=({values:r},t)=>r[t],Vy=({values:r},t)=>r[t],Gy=({values:r},t)=>r[t],jy=({values:r},t)=>r[t],Px=(r,t)=>{switch(r.type.unit){case v.SECOND:return zy(r,t);case v.MILLISECOND:return Vy(r,t);case v.MICROSECOND:return Gy(r,t);case v.NANOSECOND:return jy(r,t)}},kx=({values:r,stride:t},e)=>si.decimal(r.subarray(t*e,t*(e+1))),qy=(r,t)=>{let{valueOffsets:e,stride:n,children:s}=r,i=J(e[t*n]),o=J(e[t*n+1]),c=s[0].slice(i,o-i);return new A([c])},zx=(r,t)=>{let{valueOffsets:e,children:n}=r,{[t]:s,[t+1]:i}=e,o=n[0];return new fr(o.slice(s,i-s))},Vx=(r,t)=>new Kr(r,t),Gx=(r,t)=>r.type.mode===lt.Dense?$y(r,t):Wy(r,t),$y=(r,t)=>{let e=r.type.typeIdToChildIndex[r.typeIds[t]],n=r.children[e];return Pt.visit(n,r.valueOffsets[t])},Wy=(r,t)=>{let e=r.type.typeIdToChildIndex[r.typeIds[t]],n=r.children[e];return Pt.visit(n,t)},jx=(r,t)=>{var e;return(e=r.dictionary)===null||e===void 0?void 0:e.get(r.values[t])},qx=(r,t)=>r.type.unit===et.MONTH_DAY_NANO?Hy(r,t):r.type.unit===et.DAY_TIME?Yy(r,t):Zy(r,t),Yy=({values:r},t)=>r.subarray(2*t,2*(t+1)),Zy=({values:r},t)=>{let e=r[t],n=new Int32Array(2);return n[0]=Math.trunc(e/12),n[1]=Math.trunc(e%12),n},Hy=({values:r},t)=>r.subarray(4*t,4*(t+1)),Xy=({values:r},t)=>r[t],Ky=({values:r},t)=>r[t],Jy=({values:r},t)=>r[t],Qy=({values:r},t)=>r[t],$x=(r,t)=>{switch(r.type.unit){case v.SECOND:return Xy(r,t);case v.MILLISECOND:return Ky(r,t);case v.MICROSECOND:return Jy(r,t);case v.NANOSECOND:return Qy(r,t)}},Wx=(r,t)=>{let{stride:e,children:n}=r,i=n[0].slice(t*e,e);return new A([i])};E.prototype.visitNull=z(Tx);E.prototype.visitBool=z(Mx);E.prototype.visitInt=z(Ex);E.prototype.visitInt8=z(fs);E.prototype.visitInt16=z(fs);E.prototype.visitInt32=z(fs);E.prototype.visitInt64=z(Fy);E.prototype.visitUint8=z(fs);E.prototype.visitUint16=z(fs);E.prototype.visitUint32=z(fs);E.prototype.visitUint64=z(Fy);E.prototype.visitFloat=z(Ux);E.prototype.visitFloat16=z(Dx);E.prototype.visitFloat32=z(fs);E.prototype.visitFloat64=z(fs);E.prototype.visitUtf8=z(Uy);E.prototype.visitLargeUtf8=z(Uy);E.prototype.visitUtf8View=z(Ox);E.prototype.visitBinary=z(Oy);E.prototype.visitLargeBinary=z(Oy);E.prototype.visitBinaryView=z(Fx);E.prototype.visitFixedSizeBinary=z(Cx);E.prototype.visitDate=z(Nx);E.prototype.visitDateDay=z(Dy);E.prototype.visitDateMillisecond=z(Cy);E.prototype.visitTimestamp=z(Rx);E.prototype.visitTimestampSecond=z(Ny);E.prototype.visitTimestampMillisecond=z(Ry);E.prototype.visitTimestampMicrosecond=z(Py);E.prototype.visitTimestampNanosecond=z(ky);E.prototype.visitTime=z(Px);E.prototype.visitTimeSecond=z(zy);E.prototype.visitTimeMillisecond=z(Vy);E.prototype.visitTimeMicrosecond=z(Gy);E.prototype.visitTimeNanosecond=z(jy);E.prototype.visitDecimal=z(kx);E.prototype.visitList=z(qy);E.prototype.visitLargeList=z(qy);E.prototype.visitStruct=z(Vx);E.prototype.visitUnion=z(Gx);E.prototype.visitDenseUnion=z($y);E.prototype.visitSparseUnion=z(Wy);E.prototype.visitDictionary=z(jx);E.prototype.visitInterval=z(qx);E.prototype.visitIntervalDayTime=z(Yy);E.prototype.visitIntervalYearMonth=z(Zy);E.prototype.visitIntervalMonthDayNano=z(Hy);E.prototype.visitDuration=z($x);E.prototype.visitDurationSecond=z(Xy);E.prototype.visitDurationMillisecond=z(Ky);E.prototype.visitDurationMicrosecond=z(Jy);E.prototype.visitDurationNanosecond=z(Qy);E.prototype.visitFixedSizeList=z(Wx);E.prototype.visitMap=z(zx);Pt=new E});var hs,xo,wo,Zf,fr,Hf,Xf,Fa=m(()=>{he();Sa();ii();rr();hs=Symbol.for("keys"),xo=Symbol.for("vals"),wo=Symbol.for("kKeysAsStrings"),Zf=Symbol.for("_kKeysAsStrings"),fr=class{constructor(t){return this[hs]=new A([t.children[0]]).memoize(),this[xo]=t.children[1],new Proxy(this,new Xf)}get[wo](){return this[Zf]||(this[Zf]=Array.from(this[hs].toArray(),String))}[Symbol.iterator](){return new Hf(this[hs],this[xo])}get size(){return this[hs].length}toArray(){return Object.values(this.toJSON())}toJSON(){let t=this[hs],e=this[xo],n={};for(let s=-1,i=t.length;++s<i;)n[t.get(s)]=Pt.visit(e,s);return n}toString(){return`{${[...this].map(([t,e])=>`${Tr(t)}: ${Tr(e)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}},Hf=class{constructor(t,e){this.keys=t,this.vals=e,this.keyIndex=0,this.numKeys=t.length}[Symbol.iterator](){return this}next(){let t=this.keyIndex;return t===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(t),Pt.visit(this.vals,t)]})}},Xf=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[wo]}has(t,e){return t[wo].includes(e)}getOwnPropertyDescriptor(t,e){if(t[wo].indexOf(e)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,e){if(Reflect.has(t,e))return t[e];let n=t[wo].indexOf(e);if(n!==-1){let s=Pt.visit(Reflect.get(t,xo),n);return Reflect.set(t,e,s),s}}set(t,e,n){let s=t[wo].indexOf(e);return s!==-1?(Qt.visit(Reflect.get(t,xo),s,n),Reflect.set(t,e,n)):Reflect.has(t,e)?Reflect.set(t,e,n):!1}};Object.defineProperties(fr.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[hs]:{writable:!0,enumerable:!1,configurable:!1,value:null},[xo]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Zf]:{writable:!0,enumerable:!1,configurable:!1,value:null}})});var Kf={};Re(Kf,{clampRange:()=>Oa,createElementComparator:()=>ds,wrapIndex:()=>oi});function Oa(r,t,e,n){let{length:s=0}=r,i=typeof t!="number"?0:t,o=typeof e!="number"?s:e;return i<0&&(i=(i%s+s)%s),o<0&&(o=(o%s+s)%s),o<i&&(t0=i,i=o,o=t0),o>s&&(o=s),n?n(r,i,o):[i,o]}function ds(r){if(typeof r!=="object"||r===null)return e0(r)?e0:e=>e===r;if(r instanceof Date){let e=r.valueOf();return n=>n instanceof Date?n.valueOf()===e:!1}return ArrayBuffer.isView(r)?e=>e?tf(r,e):!1:r instanceof Map?Zx(r):Array.isArray(r)?Yx(r):r instanceof A?Hx(r):Xx(r,!0)}function Yx(r){let t=[];for(let e=-1,n=r.length;++e<n;)t[e]=ds(r[e]);return Xc(t)}function Zx(r){let t=-1,e=[];for(let n of r.values())e[++t]=ds(n);return Xc(e)}function Hx(r){let t=[];for(let e=-1,n=r.length;++e<n;)t[e]=ds(r.get(e));return Xc(t)}function Xx(r,t=!1){let e=Object.keys(r);if(!t&&e.length===0)return()=>!1;let n=[];for(let s=-1,i=e.length;++s<i;)n[s]=ds(r[e[s]]);return Xc(n,e)}function Xc(r,t){return e=>{if(!e||typeof e!="object")return!1;switch(e.constructor){case Array:return Kx(r,e);case Map:return r0(r,e,e.keys());case fr:case Kr:case Object:case void 0:return r0(r,e,t||Object.keys(e))}return e instanceof A?Jx(r,e):!1}}function Kx(r,t){let e=r.length;if(t.length!==e)return!1;for(let n=-1;++n<e;)if(!r[n](t[n]))return!1;return!0}function Jx(r,t){let e=r.length;if(t.length!==e)return!1;for(let n=-1;++n<e;)if(!r[n](t.get(n)))return!1;return!0}function r0(r,t,e){let n=e[Symbol.iterator](),s=t instanceof Map?t.keys():Object.keys(t)[Symbol.iterator](),i=t instanceof Map?t.values():Object.values(t)[Symbol.iterator](),o=0,a=r.length,c=i.next(),l=n.next(),u=s.next();for(;o<a&&!l.done&&!u.done&&!c.done&&!(l.value!==u.value||!r[o](c.value));++o,l=n.next(),u=s.next(),c=i.next());return o===a&&l.done&&u.done&&c.done?!0:(n.return&&n.return(),s.return&&s.return(),i.return&&i.return(),!1)}var t0,oi,e0,vo=m(()=>{he();Fa();Hc();Gt();oi=(r,t)=>r<0?t+r:r,e0=r=>r!==r});var Jf={};Re(Jf,{BitIterator:()=>Jr,getBit:()=>Jc,getBool:()=>Ao,packBools:()=>ci,popcnt_array:()=>n0,popcnt_bit_range:()=>Ea,popcnt_uint32:()=>Kc,setBool:()=>Qx,truncateBitmap:()=>ai});function Ao(r,t,e,n){return(e&1<<n)!==0}function Jc(r,t,e,n){return(e&1<<n)>>n}function Qx(r,t,e){return e?!!(r[t>>3]|=1<<t%8)||!0:!(r[t>>3]&=~(1<<t%8))&&!1}function ai(r,t,e){let n=e.byteLength+7&-8;if(r>0||e.byteLength<n){let s=new Uint8Array(n);return s.set(r%8===0?e.subarray(r>>3):ci(new Jr(e,r,t,null,Ao)).subarray(0,n)),s}return e}function ci(r){let t=[],e=0,n=0,s=0;for(let o of r)o&&(s|=1<<n),++n===8&&(t[e++]=s,s=n=0);(e===0||n>0)&&(t[e++]=s);let i=new Uint8Array(t.length+7&-8);return i.set(t),i}function Ea(r,t,e){if(e-t<=0)return 0;if(e-t<8){let i=0;for(let o of new Jr(r,t,e-t,r,Jc))i+=o;return i}let n=e>>3<<3,s=t+(t%8===0?0:8-t%8);return Ea(r,t,s)+Ea(r,n,e)+n0(r,s>>3,n-s>>3)}function n0(r,t,e){let n=0,s=Math.trunc(t),i=new DataView(r.buffer,r.byteOffset,r.byteLength),o=e===void 0?r.byteLength:s+e;for(;o-s>=4;)n+=Kc(i.getUint32(s)),s+=4;for(;o-s>=2;)n+=Kc(i.getUint16(s)),s+=2;for(;o-s>=1;)n+=Kc(i.getUint8(s)),s+=1;return n}function Kc(r){let t=Math.trunc(r);return t=t-(t>>>1&1431655765),t=(t&858993459)+(t>>>2&858993459),(t+(t>>>4)&252645135)*16843009>>>24}var Jr,li=m(()=>{Jr=class{constructor(t,e,n,s,i){this.bytes=t,this.length=n,this.context=s,this.get=i,this.bit=e%8,this.byteIndex=e>>3,this.byte=t[this.byteIndex++],this.index=0}next(){return this.index<this.length?(this.bit===8&&(this.bit=0,this.byte=this.bytes[this.byteIndex++]),{value:this.get(this.context,this.index++,this.byte,this.bit++)}):{done:!0,value:null}}[Symbol.iterator](){return this}}});function D(r){return ev.visit(r)}var tv,s0,T,Qf,ev,hr=m(()=>{he();Mt();yt();li();yt();je();Gt();tv=-1,s0=Symbol.for("apache-arrow/Data"),T=class r{static isData(t){return t?.[s0]===!0}get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:t}=this;return w.isSparseUnion(t)?this.children.some(e=>e.nullable):w.isDenseUnion(t)?this.children.some(e=>e.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let t=0,{valueOffsets:e,values:n,nullBitmap:s,typeIds:i}=this;return e&&(t+=e.byteLength),n&&(t+=n.byteLength),s&&(t+=s.byteLength),i&&(t+=i.byteLength),t+=this.variadicBuffers.reduce((o,a)=>{var c;return o+((c=a?.byteLength)!==null&&c!==void 0?c:0)},0),this.children.reduce((o,a)=>o+a.byteLength,t)}get nullCount(){if(w.isUnion(this.type))return this.children.reduce((n,s)=>n+s.nullCount,0);let t=this._nullCount,e;return t<=tv&&(e=this.nullBitmap)&&(this._nullCount=t=e.length===0?0:this.length-Ea(e,this.offset,this.offset+this.length)),t}constructor(t,e,n,s,i,o=[],a,c=[]){var l;this.type=t,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(e||0,0)),this.length=Math.floor(Math.max(n||0,0)),this._nullCount=Math.floor(Math.max(s||0,-1));let u;i instanceof r?(this.stride=i.stride,this.values=i.values,this.typeIds=i.typeIds,this.nullBitmap=i.nullBitmap,this.valueOffsets=i.valueOffsets,this.variadicBuffers=i.variadicBuffers):(this.stride=er(t),i&&((u=i[0])&&(this.valueOffsets=u),(u=i[1])&&(this.values=u),(u=i[2])&&(this.nullBitmap=u),(u=i[3])&&(this.typeIds=u)),this.variadicBuffers=c),(l=this.variadicBuffers)!==null&&l!==void 0||(this.variadicBuffers=[])}getValid(t){let{type:e}=this;if(w.isUnion(e)){let n=e,s=this.typeIds[t],i=n.typeIdToChildIndex[s],o=this.children[i],a=this.valueOffsets,c=n.mode===lt.Dense&&a?Number(a[t]):t;return o.getValid(c)}if(this.nullable&&this.nullCount>0){let n=this.offset+t;return(this.nullBitmap[n>>3]&1<<n%8)!==0}return!0}setValid(t,e){let n,{type:s}=this;if(w.isUnion(s)){let i=s,o=this.typeIds[t],a=i.typeIdToChildIndex[o],c=this.children[a],l=this.valueOffsets,u=i.mode===lt.Dense&&l?Number(l[t]):t;n=c.getValid(u),c.setValid(u,e)}else{let{nullBitmap:i}=this,{offset:o,length:a}=this,c=o+t,l=1<<c%8,u=c>>3;(!i||i.byteLength<=u)&&(i=new Uint8Array((o+a+63&-64)>>3).fill(255),this.nullCount>0?(i.set(ai(o,a,this.nullBitmap),0),Object.assign(this,{nullBitmap:i})):Object.assign(this,{nullBitmap:i,_nullCount:0}));let f=i[u];n=(f&l)!==0,i[u]=e?f|l:f&~l}return n!==!!e&&(this._nullCount=this.nullCount+(e?-1:1)),e}clone(t=this.type,e=this.offset,n=this.length,s=this._nullCount,i=this,o=this.children,a=this.variadicBuffers){return new r(t,e,n,s,i,o,this.dictionary,a)}slice(t,e){let{stride:n,typeId:s,children:i}=this,o=+(this._nullCount===0)-1,a=s===16?n:1,c=this._sliceBuffers(t,e,n,s);return this.clone(this.type,this.offset+t,e,o,c,i.length===0||this.valueOffsets?i:this._sliceChildren(i,a*t,a*e),this.variadicBuffers)}_changeLengthAndBackfillNullBitmap(t){if(this.typeId===d.Null)return this.clone(this.type,0,t,0,this.buffers,this.children,this.variadicBuffers);let{length:e,nullCount:n}=this,s=new Uint8Array((t+63&-64)>>3).fill(255,0,e>>3);s[e>>3]=(1<<e-(e&-8))-1,n>0&&s.set(ai(this.offset,e,this.nullBitmap),0);let i=this.buffers;return i[Z.VALIDITY]=s,this.clone(this.type,0,t,n+(t-e),i,this.children,this.variadicBuffers)}_sliceBuffers(t,e,n,s){let i,{buffers:o}=this;if((i=o[Z.TYPE])&&(o[Z.TYPE]=i.subarray(t,t+e)),w.isBinaryView(this.type)||w.isUtf8View(this.type)){let a=H.ELEMENT_WIDTH;(i=o[Z.DATA])&&(o[Z.DATA]=i.subarray(t*a,(t+e)*a))}else(i=o[Z.OFFSET])&&(o[Z.OFFSET]=i.subarray(t,t+e+1))||(i=o[Z.DATA])&&(o[Z.DATA]=s===6?i:i.subarray(n*t,n*(t+e)));return o}_sliceChildren(t,e,n){return t.map(s=>s.slice(e,n))}};T.prototype.children=Object.freeze([]);T.prototype[s0]=!0;Object.defineProperty(T,Symbol.hasInstance,{value:function(t){return Function.prototype[Symbol.hasInstance].call(this,t)||this===T&&T.isData(t)}});Qf=class r extends F{visit(t){return this.getVisitFn(t.type).call(this,t)}visitNull(t){let{["type"]:e,["offset"]:n=0,["length"]:s=0}=t;return new T(e,n,s,s)}visitBool(t){let{["type"]:e,["offset"]:n=0}=t,s=O(t.nullBitmap),i=K(e.ArrayType,t.data),{["length"]:o=i.length>>3,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new T(e,n,o,a,[void 0,i,s])}visitInt(t){let{["type"]:e,["offset"]:n=0}=t,s=O(t.nullBitmap),i=K(e.ArrayType,t.data),{["length"]:o=i.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new T(e,n,o,a,[void 0,i,s])}visitFloat(t){let{["type"]:e,["offset"]:n=0}=t,s=O(t.nullBitmap),i=K(e.ArrayType,t.data),{["length"]:o=i.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new T(e,n,o,a,[void 0,i,s])}visitUtf8(t){let{["type"]:e,["offset"]:n=0}=t,s=O(t.data),i=O(t.nullBitmap),o=ei(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new T(e,n,a,c,[o,s,i])}visitUtf8View(t){var e;let{["type"]:n,["offset"]:s=0}=t,i=K(n.ArrayType,t.views),o=O(t.nullBitmap),a=(t.variadicBuffers||[]).map(u=>O(u)),c=(e=t.length)!==null&&e!==void 0?e:Math.trunc(i.length/Le.ELEMENT_WIDTH),l=t.nullBitmap?-1:0;return new T(n,s,c,l,[void 0,i,o],[],void 0,a)}visitLargeUtf8(t){let{["type"]:e,["offset"]:n=0}=t,s=O(t.data),i=O(t.nullBitmap),o=aa(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new T(e,n,a,c,[o,s,i])}visitBinary(t){let{["type"]:e,["offset"]:n=0}=t,s=O(t.data),i=O(t.nullBitmap),o=ei(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new T(e,n,a,c,[o,s,i])}visitBinaryView(t){var e;let{["type"]:n,["offset"]:s=0}=t,i=K(n.ArrayType,t.views),o=O(t.nullBitmap),a=(t.variadicBuffers||[]).map(u=>O(u)),c=(e=t.length)!==null&&e!==void 0?e:Math.trunc(i.length/H.ELEMENT_WIDTH),l=t.nullBitmap?-1:0;return new T(n,s,c,l,[void 0,i,o],[],void 0,a)}visitLargeBinary(t){let{["type"]:e,["offset"]:n=0}=t,s=O(t.data),i=O(t.nullBitmap),o=aa(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new T(e,n,a,c,[o,s,i])}visitFixedSizeBinary(t){let{["type"]:e,["offset"]:n=0}=t,s=O(t.nullBitmap),i=K(e.ArrayType,t.data),{["length"]:o=i.length/er(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new T(e,n,o,a,[void 0,i,s])}visitDate(t){let{["type"]:e,["offset"]:n=0}=t,s=O(t.nullBitmap),i=K(e.ArrayType,t.data),{["length"]:o=i.length/er(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new T(e,n,o,a,[void 0,i,s])}visitTimestamp(t){let{["type"]:e,["offset"]:n=0}=t,s=O(t.nullBitmap),i=K(e.ArrayType,t.data),{["length"]:o=i.length/er(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new T(e,n,o,a,[void 0,i,s])}visitTime(t){let{["type"]:e,["offset"]:n=0}=t,s=O(t.nullBitmap),i=K(e.ArrayType,t.data),{["length"]:o=i.length/er(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new T(e,n,o,a,[void 0,i,s])}visitDecimal(t){let{["type"]:e,["offset"]:n=0}=t,s=O(t.nullBitmap),i=K(e.ArrayType,t.data),{["length"]:o=i.length/er(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new T(e,n,o,a,[void 0,i,s])}visitList(t){let{["type"]:e,["offset"]:n=0,["child"]:s}=t,i=O(t.nullBitmap),o=ei(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new T(e,n,a,c,[o,void 0,i],[s])}visitLargeList(t){let{["type"]:e,["offset"]:n=0,["child"]:s}=t,i=O(t.nullBitmap),o=aa(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new T(e,n,a,c,[o,void 0,i],[s])}visitStruct(t){let{["type"]:e,["offset"]:n=0,["children"]:s=[]}=t,i=O(t.nullBitmap),{length:o=s.reduce((c,{length:l})=>Math.max(c,l),0),nullCount:a=t.nullBitmap?-1:0}=t;return new T(e,n,o,a,[void 0,void 0,i],s)}visitUnion(t){let{["type"]:e,["offset"]:n=0,["children"]:s=[]}=t,i=K(e.ArrayType,t.typeIds),{["length"]:o=i.length,["nullCount"]:a=-1}=t;if(w.isSparseUnion(e))return new T(e,n,o,a,[void 0,void 0,void 0,i],s);let c=ei(t.valueOffsets);return new T(e,n,o,a,[c,void 0,void 0,i],s)}visitDictionary(t){let{["type"]:e,["offset"]:n=0}=t,s=O(t.nullBitmap),i=K(e.indices.ArrayType,t.data),{["dictionary"]:o=new A([new r().visit({type:e.dictionary})])}=t,{["length"]:a=i.length,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new T(e,n,a,c,[void 0,i,s],[],o)}visitInterval(t){let{["type"]:e,["offset"]:n=0}=t,s=O(t.nullBitmap),i=K(e.ArrayType,t.data),{["length"]:o=i.length/er(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new T(e,n,o,a,[void 0,i,s])}visitDuration(t){let{["type"]:e,["offset"]:n=0}=t,s=O(t.nullBitmap),i=K(e.ArrayType,t.data),{["length"]:o=i.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new T(e,n,o,a,[void 0,i,s])}visitFixedSizeList(t){let{["type"]:e,["offset"]:n=0,["child"]:s=new r().visit({type:e.valueType})}=t,i=O(t.nullBitmap),{["length"]:o=s.length/er(e),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new T(e,n,o,a,[void 0,void 0,i],[s])}visitMap(t){let{["type"]:e,["offset"]:n=0,["child"]:s=new r().visit({type:e.childType})}=t,i=O(t.nullBitmap),o=ei(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new T(e,n,a,c,[o,void 0,i],[s])}},ev=new Qf});function i0(r){return r.some(t=>t.nullable)}function Qc(r){return r.reduce((t,e)=>t+e.nullCount,0)}function tl(r){return r.reduce((t,e,n)=>(t[n+1]=t[n]+e.length,t),new Uint32Array(r.length+1))}function el(r,t,e,n){let s=[];for(let i=-1,o=r.length;++i<o;){let a=r[i],c=t[i],{length:l}=a;if(c>=n)break;if(e>=c+l)continue;if(c>=e&&c+l<=n){s.push(a);continue}let u=Math.max(0,e-c),f=Math.min(n-c,l);s.push(a.slice(u,f-u))}return s.length===0&&s.push(r[0].slice(0,0)),s}function th(r,t,e,n){let s=0,i=0,o=t.length-1;do{if(s>=o-1)return e<t[o]?n(r,s,e-t[s]):null;i=s+Math.trunc((o-s)*.5),e<t[i]?o=i:s=i}while(s<o)}function Na(r,t){return r.getValid(t)}function So(r){function t(e,n,s){return r(e[n],s)}return function(e){let n=this.data;return th(n,this._offsets,e,t)}}function rl(r){let t;function e(n,s,i){return r(n[s],i,t)}return function(n,s){let i=this.data;t=s;let o=th(i,this._offsets,n,e);return t=void 0,o}}function nl(r){let t;function e(n,s,i){let o=i,a=0,c=0;for(let l=s-1,u=n.length;++l<u;){let f=n[l];if(~(a=r(f,t,o)))return c+a;o=0,c+=f.length}return-1}return function(n,s){t=n;let i=this.data,o=typeof s!="number"?e(i,0,0):th(i,this._offsets,s,e);return t=void 0,o}}var Ua,sl=m(()=>{Ua=class{constructor(t=0,e){this.numChunks=t,this.getChunkIterator=e,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndex<this.numChunks;){let t=this.chunkIterator.next();if(!t.done)return t;++this.chunkIndex<this.numChunks&&(this.chunkIterator=this.getChunkIterator(this.chunkIndex))}return{done:!0,value:null}}[Symbol.iterator](){return this}}});function rv(r,t){return t===null&&r.length>0?0:-1}function nv(r,t){let{nullBitmap:e}=r;if(!e||r.nullCount<=0)return-1;let n=0;for(let s of new Jr(e,r.offset+(t||0),r.length,e,Ao)){if(!s)return n;++n}return-1}function W(r,t,e){if(t===void 0)return-1;if(t===null)switch(r.typeId){case d.Union:break;case d.Dictionary:break;default:return nv(r,e)}let n=Pt.getVisitFn(r),s=ds(t);for(let i=(e||0)-1,o=r.length;++i<o;)if(s(n(r,i)))return i;return-1}function o0(r,t,e){let n=Pt.getVisitFn(r),s=ds(t);for(let i=(e||0)-1,o=r.length;++i<o;)if(s(n(r,i)))return i;return-1}var U,ui,il=m(()=>{Mt();je();ii();li();vo();U=class extends F{};U.prototype.visitNull=rv;U.prototype.visitBool=W;U.prototype.visitInt=W;U.prototype.visitInt8=W;U.prototype.visitInt16=W;U.prototype.visitInt32=W;U.prototype.visitInt64=W;U.prototype.visitUint8=W;U.prototype.visitUint16=W;U.prototype.visitUint32=W;U.prototype.visitUint64=W;U.prototype.visitFloat=W;U.prototype.visitFloat16=W;U.prototype.visitFloat32=W;U.prototype.visitFloat64=W;U.prototype.visitUtf8=W;U.prototype.visitLargeUtf8=W;U.prototype.visitUtf8View=W;U.prototype.visitBinary=W;U.prototype.visitLargeBinary=W;U.prototype.visitBinaryView=W;U.prototype.visitFixedSizeBinary=W;U.prototype.visitDate=W;U.prototype.visitDateDay=W;U.prototype.visitDateMillisecond=W;U.prototype.visitTimestamp=W;U.prototype.visitTimestampSecond=W;U.prototype.visitTimestampMillisecond=W;U.prototype.visitTimestampMicrosecond=W;U.prototype.visitTimestampNanosecond=W;U.prototype.visitTime=W;U.prototype.visitTimeSecond=W;U.prototype.visitTimeMillisecond=W;U.prototype.visitTimeMicrosecond=W;U.prototype.visitTimeNanosecond=W;U.prototype.visitDecimal=W;U.prototype.visitList=W;U.prototype.visitLargeList=W;U.prototype.visitStruct=W;U.prototype.visitUnion=W;U.prototype.visitDenseUnion=o0;U.prototype.visitSparseUnion=o0;U.prototype.visitDictionary=W;U.prototype.visitInterval=W;U.prototype.visitIntervalDayTime=W;U.prototype.visitIntervalYearMonth=W;U.prototype.visitIntervalMonthDayNano=W;U.prototype.visitDuration=W;U.prototype.visitDurationSecond=W;U.prototype.visitDurationMillisecond=W;U.prototype.visitDurationMicrosecond=W;U.prototype.visitDurationNanosecond=W;U.prototype.visitFixedSizeList=W;U.prototype.visitMap=W;ui=new U});function V(r){let{type:t}=r;if(r.nullCount===0&&r.stride===1&&(w.isInt(t)&&t.bitWidth!==64||w.isTime(t)&&t.bitWidth!==64||w.isFloat(t)&&t.precision!==ot.HALF))return new Ua(r.data.length,n=>{let s=r.data[n];return s.values.subarray(0,s.length)[Symbol.iterator]()});let e=0;return new Ua(r.data.length,n=>{let i=r.data[n].length,o=r.slice(e,e+i);return e+=i,new eh(o)})}var N,eh,Bo,ol=m(()=>{je();Mt();yt();sl();N=class extends F{};eh=class{constructor(t){this.vector=t,this.index=0}next(){return this.index<this.vector.length?{value:this.vector.get(this.index++)}:{done:!0,value:null}}[Symbol.iterator](){return this}};N.prototype.visitNull=V;N.prototype.visitBool=V;N.prototype.visitInt=V;N.prototype.visitInt8=V;N.prototype.visitInt16=V;N.prototype.visitInt32=V;N.prototype.visitInt64=V;N.prototype.visitUint8=V;N.prototype.visitUint16=V;N.prototype.visitUint32=V;N.prototype.visitUint64=V;N.prototype.visitFloat=V;N.prototype.visitFloat16=V;N.prototype.visitFloat32=V;N.prototype.visitFloat64=V;N.prototype.visitUtf8=V;N.prototype.visitLargeUtf8=V;N.prototype.visitUtf8View=V;N.prototype.visitBinary=V;N.prototype.visitLargeBinary=V;N.prototype.visitBinaryView=V;N.prototype.visitFixedSizeBinary=V;N.prototype.visitDate=V;N.prototype.visitDateDay=V;N.prototype.visitDateMillisecond=V;N.prototype.visitTimestamp=V;N.prototype.visitTimestampSecond=V;N.prototype.visitTimestampMillisecond=V;N.prototype.visitTimestampMicrosecond=V;N.prototype.visitTimestampNanosecond=V;N.prototype.visitTime=V;N.prototype.visitTimeSecond=V;N.prototype.visitTimeMillisecond=V;N.prototype.visitTimeMicrosecond=V;N.prototype.visitTimeNanosecond=V;N.prototype.visitDecimal=V;N.prototype.visitList=V;N.prototype.visitLargeList=V;N.prototype.visitStruct=V;N.prototype.visitUnion=V;N.prototype.visitDenseUnion=V;N.prototype.visitSparseUnion=V;N.prototype.visitDictionary=V;N.prototype.visitInterval=V;N.prototype.visitIntervalDayTime=V;N.prototype.visitIntervalYearMonth=V;N.prototype.visitIntervalMonthDayNano=V;N.prototype.visitDuration=V;N.prototype.visitDurationSecond=V;N.prototype.visitDurationMillisecond=V;N.prototype.visitDurationMicrosecond=V;N.prototype.visitDurationNanosecond=V;N.prototype.visitFixedSizeList=V;N.prototype.visitMap=V;Bo=new N});function te(r){if(r){if(r instanceof T)return new A([r]);if(r instanceof A)return new A(r.data);if(r.type instanceof w)return new A([D(r)]);if(Array.isArray(r))return new A(r.flatMap(t=>sv(t)));if(ArrayBuffer.isView(r)){r instanceof DataView&&(r=new Uint8Array(r.buffer));let t={offset:0,length:r.length,nullCount:-1,data:r};if(r instanceof Int8Array)return new A([D(Object.assign(Object.assign({},t),{type:new Ae}))]);if(r instanceof Int16Array)return new A([D(Object.assign(Object.assign({},t),{type:new Se}))]);if(r instanceof Int32Array)return new A([D(Object.assign(Object.assign({},t),{type:new Dt}))]);if(r instanceof BigInt64Array)return new A([D(Object.assign(Object.assign({},t),{type:new Qe}))]);if(r instanceof Uint8Array||r instanceof Uint8ClampedArray)return new A([D(Object.assign(Object.assign({},t),{type:new Be}))]);if(r instanceof Uint16Array)return new A([D(Object.assign(Object.assign({},t),{type:new Ie}))]);if(r instanceof Uint32Array)return new A([D(Object.assign(Object.assign({},t),{type:new qt}))]);if(r instanceof BigUint64Array)return new A([D(Object.assign(Object.assign({},t),{type:new Dr}))]);if(r instanceof Float32Array)return new A([D(Object.assign(Object.assign({},t),{type:new Xt}))]);if(r instanceof Float64Array)return new A([D(Object.assign(Object.assign({},t),{type:new _e}))]);throw new Error("Unrecognized input")}}throw new Error("Unrecognized input")}function sv(r){return r instanceof T?[r]:r instanceof A?r.data:te(r).data}var a0,c0,l0,u0,A,al,he=m(()=>{Mt();vo();yt();hr();sl();ii();rr();il();ol();yt();c0=Symbol.for("apache-arrow/Vector"),l0={},u0={},A=class r{static isVector(t){return t?.[c0]===!0}constructor(t){var e,n,s;let i=t[0]instanceof r?t.flatMap(a=>a.data):t;if(i.length===0||i.some(a=>!(a instanceof T)))throw new TypeError("Vector constructor expects an Array of Data instances.");let o=(e=i[0])===null||e===void 0?void 0:e.type;switch(i.length){case 0:this._offsets=[0];break;case 1:{let{get:a,set:c,indexOf:l}=l0[o.typeId],u=i[0];this.isValid=f=>Na(u,f),this.get=f=>a(u,f),this.set=(f,h)=>c(u,f,h),this.indexOf=f=>l(u,f),this._offsets=[0,u.length];break}default:Object.setPrototypeOf(this,u0[o.typeId]),this._offsets=tl(i);break}this.data=i,this.type=o,this.stride=er(o),this.numChildren=(s=(n=o.children)===null||n===void 0?void 0:n.length)!==null&&s!==void 0?s:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((t,e)=>t+e.byteLength,0)}get nullable(){return i0(this.data)}get nullCount(){return Qc(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${d[this.type.typeId]}Vector`}isValid(t){return!1}get(t){return null}at(t){return this.get(oi(t,this.length))}set(t,e){}indexOf(t,e){return-1}includes(t,e){return this.indexOf(t,e)>-1}[Symbol.iterator](){return Bo.visit(this)}concat(...t){return new r(this.data.concat(t.flatMap(e=>e.data).flat(Number.POSITIVE_INFINITY)))}slice(t,e){return new r(Oa(this,t,e,({data:n,_offsets:s},i,o)=>el(n,s,i,o)))}toJSON(){return[...this]}toArray(){let{type:t,data:e,length:n,stride:s,ArrayType:i}=this;switch(t.typeId){case d.Int:case d.Float:case d.Decimal:case d.Time:case d.Timestamp:switch(e.length){case 0:return new i;case 1:return e[0].values.subarray(0,n*s);default:return e.reduce((o,{values:a,length:c})=>(o.array.set(a.subarray(0,c*s),o.offset),o.offset+=c*s,o),{array:new i(n*s),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(t){var e;return this.getChildAt((e=this.type.children)===null||e===void 0?void 0:e.findIndex(n=>n.name===t))}getChildAt(t){return t>-1&&t<this.numChildren?new r(this.data.map(({children:e})=>e[t])):null}get isMemoized(){return w.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(w.isDictionary(this.type)){let t=new al(this.data[0].dictionary),e=this.data.map(n=>{let s=n.clone();return s.dictionary=t,s});return new r(e)}return new al(this)}unmemoize(){if(w.isDictionary(this.type)&&this.isMemoized){let t=this.data[0].dictionary.unmemoize(),e=this.data.map(n=>{let s=n.clone();return s.dictionary=t,s});return new r(e)}return this}};a0=Symbol.toStringTag;A[a0]=(r=>{r.type=w.prototype,r.data=[],r.length=0,r.stride=1,r.numChildren=0,r._offsets=new Uint32Array([0]),r[Symbol.isConcatSpreadable]=!0,r[c0]=!0;let t=Object.keys(d).map(e=>d[e]).filter(e=>typeof e=="number"&&e!==d.NONE);for(let e of t){let n=Pt.getVisitFnByTypeId(e),s=Qt.getVisitFnByTypeId(e),i=ui.getVisitFnByTypeId(e);l0[e]={get:n,set:s,indexOf:i},u0[e]=Object.create(r,{isValid:{value:So(Na)},get:{value:So(Pt.getVisitFnByTypeId(e))},set:{value:rl(Qt.getVisitFnByTypeId(e))},indexOf:{value:nl(ui.getVisitFnByTypeId(e))}})}return"Vector"})(A.prototype);Object.defineProperty(A,Symbol.hasInstance,{value:function(t){return Function.prototype[Symbol.hasInstance].call(this,t)||this===A&&A.isVector(t)}});al=class r extends A{constructor(t){super(t.data);let e=this.get,n=this.set,s=this.slice,i=new Array(this.length);Object.defineProperty(this,"get",{value(o){let a=i[o];if(a!==void 0)return a;let c=e.call(this,o);return i[o]=c,c}}),Object.defineProperty(this,"set",{value(o,a){n.call(this,o,a),i[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new r(s.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new A(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}});function f0(r){if(!r||r.length<=0)return function(s){return!0};let t="",e=r.filter(n=>n===n);return e.length>0&&(t=`
|
|
8
|
+
switch (x) {${e.map(n=>`
|
|
9
|
+
case ${iv(n)}:`).join("")}
|
|
10
|
+
return false;
|
|
11
|
+
}`),r.length!==e.length&&(t=`if (x !== x) return false;
|
|
12
|
+
${t}`),new Function("x",`${t}
|
|
13
|
+
return true;`)}function iv(r){return typeof r!="bigint"?Tr(r):`${Tr(r)}n`}var h0=m(()=>{Sa()});function rh(r,t){let e=Math.ceil(r)*t-1;return(e-e%64+64||64)/t}function d0(r,t=0){return r.length>=t?r.subarray(0,t):oa(new r.constructor(t),r,0)}var qe,xn,Io,ps,Ur=m(()=>{Gt();qe=class{constructor(t,e=0,n=1){this.length=Math.ceil(e/n),this.buffer=new t(this.length),this.stride=n,this.BYTES_PER_ELEMENT=t.BYTES_PER_ELEMENT,this.ArrayType=t}get byteLength(){return Math.ceil(this.length*this.stride)*this.BYTES_PER_ELEMENT}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(t,e){return this}append(t){return this.set(this.length,t)}reserve(t){if(t>0){this.length+=t;let e=this.stride,n=this.length*e,s=this.buffer.length;n>=s&&this._resize(s===0?rh(n*1,this.BYTES_PER_ELEMENT):rh(n*2,this.BYTES_PER_ELEMENT))}return this}flush(t=this.length){t=rh(t*this.stride,this.BYTES_PER_ELEMENT);let e=d0(this.buffer,t);return this.clear(),e}clear(){return this.length=0,this.buffer=new this.ArrayType,this}_resize(t){return this.buffer=d0(this.buffer,t)}},xn=class extends qe{last(){return this.get(this.length-1)}get(t){return this.buffer[t]}set(t,e){return this.reserve(t-this.length+1),this.buffer[t*this.stride]=e,this}},Io=class extends xn{constructor(){super(Uint8Array,0,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(t){return this.buffer[t>>3]>>t%8&1}set(t,e){let{buffer:n}=this.reserve(t-this.length+1),s=t>>3,i=t%8,o=n[s]>>i&1;return e?o===0&&(n[s]|=1<<i,++this.numValid):o===1&&(n[s]&=~(1<<i),--this.numValid),this}clear(){return this.numValid=0,super.clear()}},ps=class extends xn{constructor(t){super(t.OffsetArrayType,1,1)}append(t){return this.set(this.length-1,t)}set(t,e){let n=this.length-1,s=this.reserve(t-n+1).buffer;return n<t++&&n>=0&&s.fill(s[n],n,t),s[t]=s[t-1]+e,this}flush(t=this.length-1){return t>this.length&&this.set(t-1,this.BYTES_PER_ELEMENT>4?BigInt(0):0),super.flush(t+1)}}});var bt,kt,de,vt=m(()=>{he();hr();Fa();yt();h0();Ur();bt=class{static throughNode(t){throw new Error('"throughNode" not available in this environment')}static throughDOM(t){throw new Error('"throughDOM" not available in this environment')}constructor({type:t,nullValues:e}){this.length=0,this.finished=!1,this.type=t,this.children=[],this.nullValues=e,this.stride=er(t),this._nulls=new Io,e&&e.length>0&&(this._isValid=f0(e))}toVector(){return new A([this.flush()])}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let t=0,{_offsets:e,_values:n,_nulls:s,_typeIds:i,children:o}=this;return e&&(t+=e.byteLength),n&&(t+=n.byteLength),s&&(t+=s.byteLength),i&&(t+=i.byteLength),o.reduce((a,c)=>a+c.byteLength,t)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let t=0;return this._offsets&&(t+=this._offsets.reservedByteLength),this._values&&(t+=this._values.reservedByteLength),this._nulls&&(t+=this._nulls.reservedByteLength),this._typeIds&&(t+=this._typeIds.reservedByteLength),this.children.reduce((e,n)=>e+n.reservedByteLength,t)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(t){return this.set(this.length,t)}isValid(t){return this._isValid(t)}set(t,e){return this.setValid(t,this.isValid(e))&&this.setValue(t,e),this}setValue(t,e){this._setValue(this,t,e)}setValid(t,e){return this.length=this._nulls.set(t,+e).length,e}addChild(t,e=`${this.numChildren}`){throw new Error(`Cannot append children to non-nested type "${this.type}"`)}getChildAt(t){return this.children[t]||null}flush(){let t,e,n,s,{type:i,length:o,nullCount:a,_typeIds:c,_offsets:l,_values:u,_nulls:f}=this;(e=c?.flush(o))?s=l?.flush(o):(s=l?.flush(o))?t=u?.flush(l.last()):t=u?.flush(o),a>0&&(n=f?.flush(o));let h=this.children.map(p=>p.flush());return this.clear(),D({type:i,length:o,nullCount:a,children:h,child:h[0],data:t,typeIds:e,nullBitmap:n,valueOffsets:s})}finish(){this.finished=!0;for(let t of this.children)t.finish();return this}clear(){var t,e,n,s;this.length=0,(t=this._nulls)===null||t===void 0||t.clear(),(e=this._values)===null||e===void 0||e.clear(),(n=this._offsets)===null||n===void 0||n.clear(),(s=this._typeIds)===null||s===void 0||s.clear();for(let i of this.children)i.clear();return this}};bt.prototype.length=1;bt.prototype.stride=1;bt.prototype.children=null;bt.prototype.finished=!1;bt.prototype.nullValues=null;bt.prototype._isValid=()=>!0;kt=class extends bt{constructor(t){super(t),this._values=new xn(this.ArrayType,0,this.stride)}setValue(t,e){let n=this._values;return n.reserve(t-n.length+1),super.setValue(t,e)}},de=class extends bt{constructor(t){super(t),this._pendingLength=0,this._offsets=new ps(t.type)}setValue(t,e){let n=this._pending||(this._pending=new Map),s=n.get(t);s&&(this._pendingLength-=s.length),this._pendingLength+=e instanceof fr?e[hs].length:e.length,n.set(t,e)}setValid(t,e){return super.setValid(t,e)?!0:((this._pending||(this._pending=new Map)).set(t,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){let t=this._pending,e=this._pendingLength;return this._pendingLength=0,this._pending=void 0,t&&t.size>0&&this._flushPending(t,e),this}}});var fi,nh=m(()=>{fi=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(t,e,n,s){return t.prep(8,24),t.writeInt64(BigInt(s??0)),t.pad(4),t.writeInt32(n),t.writeInt64(BigInt(e??0)),t.offset()}}});var nr,p0=m(()=>{nt();nh();uo();Ac();Cf();nr=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsFooter(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFooter(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):ht.V1}schema(t){let e=this.bb.__offset(this.bb_pos,6);return e?(t||new ke).__init(this.bb.__indirect(this.bb_pos+e),this.bb):null}dictionaries(t,e){let n=this.bb.__offset(this.bb_pos,8);return n?(e||new fi).__init(this.bb.__vector(this.bb_pos+n)+t*24,this.bb):null}dictionariesLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}recordBatches(t,e){let n=this.bb.__offset(this.bb_pos,10);return n?(e||new fi).__init(this.bb.__vector(this.bb_pos+n)+t*24,this.bb):null}recordBatchesLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,e){let n=this.bb.__offset(this.bb_pos,12);return n?(e||new Tt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startFooter(t){t.startObject(5)}static addVersion(t,e){t.addFieldInt16(0,e,ht.V1)}static addSchema(t,e){t.addFieldOffset(1,e,0)}static addDictionaries(t,e){t.addFieldOffset(2,e,0)}static startDictionariesVector(t,e){t.startVector(24,e,8)}static addRecordBatches(t,e){t.addFieldOffset(3,e,0)}static startRecordBatchesVector(t,e){t.startVector(24,e,8)}static addCustomMetadata(t,e){t.addFieldOffset(4,e,0)}static createCustomMetadataVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startCustomMetadataVector(t,e){t.startVector(4,e,4)}static endFooter(t){return t.endObject()}static finishFooterBuffer(t,e){t.finish(e)}static finishSizePrefixedFooterBuffer(t,e){t.finish(e,void 0,!0)}}});function cl(r,t){return new Map([...r||new Map,...t||new Map])}function sh(r,t=new Map){for(let e=-1,n=r.length;++e<n;){let i=r[e].type;if(w.isDictionary(i)){if(!t.has(i.id))t.set(i.id,i.dictionary);else if(t.get(i.id)!==i.dictionary)throw new Error("Cannot create Schema containing two different dictionaries with the same Id")}i.children&&i.children.length>0&&sh(i.children,t)}return t}var m0,y0,j,S,pe=m(()=>{Mt();yt();m0=Symbol.for("apache-arrow/Schema"),y0=Symbol.for("apache-arrow/Field"),j=class r{static isSchema(t){return t?.[m0]===!0}constructor(t=[],e,n,s=ht.V5){this.fields=t||[],this.metadata=e||new Map,n||(n=sh(this.fields)),this.dictionaries=n,this.metadataVersion=s}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(t=>t.name)}toString(){return`Schema<{ ${this.fields.map((t,e)=>`${e}: ${t}`).join(", ")} }>`}select(t){let e=new Set(t),n=this.fields.filter(s=>e.has(s.name));return new r(n,this.metadata)}selectAt(t){let e=t.map(n=>this.fields[n]).filter(Boolean);return new r(e,this.metadata)}assign(...t){let e=t[0]instanceof r?t[0]:Array.isArray(t[0])?new r(t[0]):new r(t),n=[...this.fields],s=cl(cl(new Map,this.metadata),e.metadata),i=e.fields.filter(a=>{let c=n.findIndex(l=>l.name===a.name);return~c?(n[c]=a.clone({metadata:cl(cl(new Map,n[c].metadata),a.metadata)}))&&!1:!0}),o=sh(i,new Map);return new r([...n,...i],s,new Map([...this.dictionaries,...o]))}};j.prototype.fields=null;j.prototype.metadata=null;j.prototype.dictionaries=null;j.prototype[m0]=!0;Object.defineProperty(j,Symbol.hasInstance,{value:function(t){return Function.prototype[Symbol.hasInstance].call(this,t)||this===j&&j.isSchema(t)}});S=class r{static isField(t){return t?.[y0]===!0}static new(...t){let[e,n,s,i]=t;return t[0]&&typeof t[0]=="object"&&({name:e}=t[0],n===void 0&&(n=t[0].type),s===void 0&&(s=t[0].nullable),i===void 0&&(i=t[0].metadata)),new r(`${e}`,n,s,i)}constructor(t,e,n=!1,s){this.name=t,this.type=e,this.nullable=n,this.metadata=s||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...t){let[e,n,s,i]=t;return!t[0]||typeof t[0]!="object"?[e=this.name,n=this.type,s=this.nullable,i=this.metadata]=t:{name:e=this.name,type:n=this.type,nullable:s=this.nullable,metadata:i=this.metadata}=t[0],r.new(e,n,s,i)}};S.prototype.type=null;S.prototype.name=null;S.prototype.nullable=null;S.prototype.metadata=null;S.prototype[y0]=!0;Object.defineProperty(S,Symbol.hasInstance,{value:function(t){return Function.prototype[Symbol.hasInstance].call(this,t)||this===S&&S.isField(t)}})});var ov,av,vn,ih,Nr,oh=m(()=>{nh();p0();nt();pe();Mt();Gt();Hr();ov=ri,av=Zt,vn=class{static decode(t){t=new av(O(t));let e=nr.getRootAsFooter(t),n=j.decode(e.schema(),new Map,e.version());return new ih(n,e)}static encode(t){let e=new ov,n=j.encode(e,t.schema);nr.startRecordBatchesVector(e,t.numRecordBatches);for(let o of[...t.recordBatches()].slice().reverse())Nr.encode(e,o);let s=e.endVector();nr.startDictionariesVector(e,t.numDictionaries);for(let o of[...t.dictionaryBatches()].slice().reverse())Nr.encode(e,o);let i=e.endVector();return nr.startFooter(e),nr.addSchema(e,n),nr.addVersion(e,ht.V5),nr.addRecordBatches(e,s),nr.addDictionaries(e,i),nr.finishFooterBuffer(e,nr.endFooter(e)),e.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(t,e=ht.V5,n,s){this.schema=t,this.version=e,n&&(this._recordBatches=n),s&&(this._dictionaryBatches=s)}*recordBatches(){for(let t,e=-1,n=this.numRecordBatches;++e<n;)(t=this.getRecordBatch(e))&&(yield t)}*dictionaryBatches(){for(let t,e=-1,n=this.numDictionaries;++e<n;)(t=this.getDictionaryBatch(e))&&(yield t)}getRecordBatch(t){return t>=0&&t<this.numRecordBatches&&this._recordBatches[t]||null}getDictionaryBatch(t){return t>=0&&t<this.numDictionaries&&this._dictionaryBatches[t]||null}},ih=class extends vn{get numRecordBatches(){return this._footer.recordBatchesLength()}get numDictionaries(){return this._footer.dictionariesLength()}constructor(t,e){super(t,e.version()),this._footer=e}getRecordBatch(t){if(t>=0&&t<this.numRecordBatches){let e=this._footer.recordBatches(t);if(e)return Nr.decode(e)}return null}getDictionaryBatch(t){if(t>=0&&t<this.numDictionaries){let e=this._footer.dictionaries(t);if(e)return Nr.decode(e)}return null}},Nr=class r{static decode(t){return new r(t.metaDataLength(),t.bodyLength(),t.offset())}static encode(t,e){let{metaDataLength:n}=e,s=BigInt(e.offset),i=BigInt(e.bodyLength);return fi.createBlock(t,s,n,i)}constructor(t,e,n){this.metaDataLength=t,this.offset=J(n),this.bodyLength=J(e)}}});var sr,g0=m(()=>{nt();uo();Mc();Ac();sr=class r{constructor(){this.bb=null,this.bb_pos=0}__init(t,e){return this.bb_pos=t,this.bb=e,this}static getRootAsMessage(t,e){return(e||new r).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMessage(t,e){return t.setPosition(t.position()+4),(e||new r).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):ht.V1}headerType(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):Q.NONE}header(t){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__union(t,this.bb_pos+e):null}bodyLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}customMetadata(t,e){let n=this.bb.__offset(this.bb_pos,12);return n?(e||new Tt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+n)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startMessage(t){t.startObject(5)}static addVersion(t,e){t.addFieldInt16(0,e,ht.V1)}static addHeaderType(t,e){t.addFieldInt8(1,e,Q.NONE)}static addHeader(t,e){t.addFieldOffset(2,e,0)}static addBodyLength(t,e){t.addFieldInt64(3,e,BigInt("0"))}static addCustomMetadata(t,e){t.addFieldOffset(4,e,0)}static createCustomMetadataVector(t,e){t.startVector(4,e.length,4);for(let n=e.length-1;n>=0;n--)t.addOffset(e[n]);return t.endVector()}static startCustomMetadataVector(t,e){t.startVector(4,e,4)}static endMessage(t){return t.endObject()}static finishMessageBuffer(t,e){t.finish(e)}static finishSizePrefixedMessageBuffer(t,e){t.finish(e,void 0,!0)}static createMessage(t,e,n,s,i,o){return r.startMessage(t),r.addVersion(t,e),r.addHeaderType(t,n),r.addHeader(t,s),r.addBodyLength(t,i),r.addCustomMetadata(t,o),r.endMessage(t)}}});var ah,ll,b0=m(()=>{je();zm();Lc();Bf();Om();Em();Nm();Um();Gm();jm();Pm();xf();wf();Lf();Tf();If();vf();km();Rm();Vm();Mf();bf();Af();Sf();_f();ah=class extends F{visit(t,e){return t==null||e==null?void 0:super.visit(t,e)}visitNull(t,e){return wa.startNull(e),wa.endNull(e)}visitInt(t,e){return _r.startInt(e),_r.addBitWidth(e,t.bitWidth),_r.addIsSigned(e,t.isSigned),_r.endInt(e)}visitFloat(t,e){return Xn.startFloatingPoint(e),Xn.addPrecision(e,t.precision),Xn.endFloatingPoint(e)}visitBinary(t,e){return ha.startBinary(e),ha.endBinary(e)}visitBinaryView(t,e){return da.startBinaryView(e),da.endBinaryView(e)}visitLargeBinary(t,e){return ma.startLargeBinary(e),ma.endLargeBinary(e)}visitBool(t,e){return pa.startBool(e),pa.endBool(e)}visitUtf8(t,e){return va.startUtf8(e),va.endUtf8(e)}visitUtf8View(t,e){return Aa.startUtf8View(e),Aa.endUtf8View(e)}visitLargeUtf8(t,e){return ga.startLargeUtf8(e),ga.endLargeUtf8(e)}visitDecimal(t,e){return Zr.startDecimal(e),Zr.addScale(e,t.scale),Zr.addPrecision(e,t.precision),Zr.addBitWidth(e,t.bitWidth),Zr.endDecimal(e)}visitDate(t,e){return Wn.startDate(e),Wn.addUnit(e,t.unit),Wn.endDate(e)}visitTime(t,e){return yn.startTime(e),yn.addUnit(e,t.unit),yn.addBitWidth(e,t.bitWidth),yn.endTime(e)}visitTimestamp(t,e){let n=t.timezone&&e.createString(t.timezone)||void 0;return gn.startTimestamp(e),gn.addUnit(e,t.unit),n!==void 0&&gn.addTimezone(e,n),gn.endTimestamp(e)}visitInterval(t,e){return Kn.startInterval(e),Kn.addUnit(e,t.unit),Kn.endInterval(e)}visitDuration(t,e){return Yn.startDuration(e),Yn.addUnit(e,t.unit),Yn.endDuration(e)}visitList(t,e){return ba.startList(e),ba.endList(e)}visitLargeList(t,e){return ya.startLargeList(e),ya.endLargeList(e)}visitStruct(t,e){return xa.startStruct_(e),xa.endStruct_(e)}visitUnion(t,e){Lr.startTypeIdsVector(e,t.typeIds.length);let n=Lr.createTypeIdsVector(e,t.typeIds);return Lr.startUnion(e),Lr.addMode(e,t.mode),Lr.addTypeIds(e,n),Lr.endUnion(e)}visitDictionary(t,e){let n=this.visit(t.indices,e);return Yr.startDictionaryEncoding(e),Yr.addId(e,BigInt(t.id)),Yr.addIsOrdered(e,t.isOrdered),n!==void 0&&Yr.addIndexType(e,n),Yr.endDictionaryEncoding(e)}visitFixedSizeBinary(t,e){return Zn.startFixedSizeBinary(e),Zn.addByteWidth(e,t.byteWidth),Zn.endFixedSizeBinary(e)}visitFixedSizeList(t,e){return Hn.startFixedSizeList(e),Hn.addListSize(e,t.listSize),Hn.endFixedSizeList(e)}visitMap(t,e){return Jn.startMap(e),Jn.addKeysSorted(e,t.keysSorted),Jn.endMap(e)}},ll=new ah});function A0(r,t=new Map){return new j(cv(r,t),ul(r.metadata),t)}function ch(r){return new zt(r.count,B0(r.columns),I0(r.columns),null,_0(r.columns))}function S0(r){return new me(ch(r.data),r.id,r.isDelta)}function cv(r,t){return(r.fields||[]).filter(Boolean).map(e=>S.fromJSON(e,t))}function w0(r,t){return(r.children||[]).filter(Boolean).map(e=>S.fromJSON(e,t))}function B0(r){return(r||[]).reduce((t,e)=>[...t,new dr(e.count,lv(e.VALIDITY)),...B0(e.children)],[])}function I0(r,t=[]){for(let e=-1,n=(r||[]).length;++e<n;){let s=r[e];if(s.VALIDITY&&t.push(new Ut(t.length,s.VALIDITY.length)),s.TYPE_ID&&t.push(new Ut(t.length,s.TYPE_ID.length)),s.OFFSET&&t.push(new Ut(t.length,s.OFFSET.length)),s.DATA&&t.push(new Ut(t.length,s.DATA.length)),s.VIEWS&&t.push(new Ut(t.length,s.VIEWS.length)),s.VARIADIC_DATA_BUFFERS)for(let i of s.VARIADIC_DATA_BUFFERS)t.push(new Ut(t.length,i.length));t=I0(s.children,t)}return t}function lv(r){return(r||[]).reduce((t,e)=>t+ +(e===0),0)}function _0(r){return(r||[]).reduce((t,e)=>[...t,...e.VARIADIC_DATA_BUFFERS?[e.VARIADIC_DATA_BUFFERS.length]:[],..._0(e.children)],[])}function L0(r,t){let e,n,s,i,o,a;return!t||!(i=r.dictionary)?(o=v0(r,w0(r,t)),s=new S(r.name,o,r.nullable,ul(r.metadata))):t.has(e=i.id)?(n=(n=i.indexType)?x0(n):new Dt,a=new Rt(t.get(e),n,e,i.isOrdered),s=new S(r.name,a,r.nullable,ul(r.metadata))):(n=(n=i.indexType)?x0(n):new Dt,t.set(e,o=v0(r,w0(r,t))),a=new Rt(o,n,e,i.isOrdered),s=new S(r.name,a,r.nullable,ul(r.metadata))),s||null}function ul(r=[]){return new Map(r.map(({key:t,value:e})=>[t,e]))}function x0(r){return new Lt(r.isSigned,r.bitWidth)}function v0(r,t){let e=r.type.name;switch(e){case"NONE":return new Et;case"null":return new Et;case"binary":return new ze;case"largebinary":return new Fr;case"binaryview":return new H;case"utf8":return new ce;case"largeutf8":return new Or;case"utf8view":return new Le;case"bool":return new le;case"list":return new Ct((t||[])[0]);case"largelist":return new tr((t||[])[0]);case"struct":return new ut(t||[]);case"struct_":return new ut(t||[])}switch(e){case"int":{let n=r.type;return new Lt(n.isSigned,n.bitWidth)}case"floatingpoint":{let n=r.type;return new ae(ot[n.precision])}case"decimal":{let n=r.type;return new Ve(n.scale,n.precision,n.bitWidth)}case"date":{let n=r.type;return new Te(mt[n.unit])}case"time":{let n=r.type;return new Kt(v[n.unit],n.bitWidth)}case"timestamp":{let n=r.type;return new Jt(v[n.unit],n.timezone)}case"interval":{let n=r.type;return new ue(et[n.unit])}case"duration":{let n=r.type;return new Me(v[n.unit])}case"union":{let n=r.type,[s,...i]=(n.mode+"").toLowerCase(),o=s.toUpperCase()+i.join("");return new De(lt[o],n.typeIds||[],t||[])}case"fixedsizebinary":{let n=r.type;return new Ge(n.byteWidth)}case"fixedsizelist":{let n=r.type;return new gt(n.listSize,(t||[])[0])}case"map":{let n=r.type;return new fe((t||[])[0],n.keysSorted)}}throw new Error(`Unrecognized type: "${e}"`)}var T0=m(()=>{pe();yt();ms();Mt()});function hv(r,t){return(()=>{switch(t){case Q.Schema:return j.fromJSON(r);case Q.RecordBatch:return zt.fromJSON(r);case Q.DictionaryBatch:return me.fromJSON(r)}throw new Error(`Unrecognized Message type: { name: ${Q[t]}, type: ${t} }`)})}function dv(r,t){return(()=>{switch(t){case Q.Schema:return j.decode(r.header(new ke),new Map,r.version());case Q.RecordBatch:return zt.decode(r.header(new ie),r.version());case Q.DictionaryBatch:return me.decode(r.header(new mn),r.version())}throw new Error(`Unrecognized Message type: { name: ${Q[t]}, type: ${t} }`)})}function pv(r,t=new Map,e=ht.V5){let n=Av(r,t);return new j(n,fl(r),t,e)}function mv(r,t=ht.V5){return new zt(r.length(),wv(r),xv(r,t),F0(r.compression()),vv(r))}function yv(r,t=ht.V5){return new me(zt.decode(r.data(),t),r.id(),r.isDelta())}function gv(r){return new Ut(r.offset(),r.length())}function bv(r){return new dr(r.length(),r.nullCount())}function wv(r){let t=[];for(let e,n=-1,s=-1,i=r.nodesLength();++n<i;)(e=r.nodes(n))&&(t[++s]=dr.decode(e));return t}function xv(r,t){let e=[];for(let n,s=-1,i=-1,o=r.buffersLength();++s<o;)(n=r.buffers(s))&&(t<ht.V4&&(n.bb_pos+=8*(s+1)),e[++i]=Ut.decode(n));return e}function vv(r){let t=[],e=Math.trunc(r.variadicBufferCountsLength());for(let n=0;n<e;++n)t.push(J(r.variadicBufferCounts(n)));return t}function Av(r,t){let e=[];for(let n,s=-1,i=-1,o=r.fieldsLength();++s<o;)(n=r.fields(s))&&(e[++i]=S.decode(n,t));return e}function M0(r,t){let e=[];for(let n,s=-1,i=-1,o=r.childrenLength();++s<o;)(n=r.children(s))&&(e[++i]=S.decode(n,t));return e}function Sv(r,t){let e,n,s,i,o,a;return!t||!(a=r.dictionary())?(s=C0(r,M0(r,t)),n=new S(r.name(),s,r.nullable(),fl(r))):t.has(e=J(a.id()))?(i=(i=a.indexType())?D0(i):new Dt,o=new Rt(t.get(e),i,e,a.isOrdered()),n=new S(r.name(),o,r.nullable(),fl(r))):(i=(i=a.indexType())?D0(i):new Dt,t.set(e,s=C0(r,M0(r,t))),o=new Rt(s,i,e,a.isOrdered()),n=new S(r.name(),o,r.nullable(),fl(r))),n||null}function fl(r){let t=new Map;if(r)for(let e,n,s=-1,i=Math.trunc(r.customMetadataLength());++s<i;)(e=r.customMetadata(s))&&(n=e.key())!=null&&t.set(n,e.value());return t}function Bv(r){let t=new Map;for(let e,n,s=-1,i=Math.trunc(r.customMetadataLength());++s<i;)(e=r.customMetadata(s))&&(n=e.key())!=null&&t.set(n,e.value());return t}function D0(r){return new Lt(r.isSigned(),r.bitWidth())}function C0(r,t){let e=r.typeType();switch(e){case k.NONE:return new Et;case k.Null:return new Et;case k.Binary:return new ze;case k.LargeBinary:return new Fr;case k.BinaryView:return new H;case k.Utf8:return new ce;case k.LargeUtf8:return new Or;case k.Utf8View:return new Le;case k.Bool:return new le;case k.List:return new Ct((t||[])[0]);case k.LargeList:return new tr((t||[])[0]);case k.Struct_:return new ut(t||[])}switch(e){case k.Int:{let n=r.type(new _r);return new Lt(n.isSigned(),n.bitWidth())}case k.FloatingPoint:{let n=r.type(new Xn);return new ae(n.precision())}case k.Decimal:{let n=r.type(new Zr);return new Ve(n.scale(),n.precision(),n.bitWidth())}case k.Date:{let n=r.type(new Wn);return new Te(n.unit())}case k.Time:{let n=r.type(new yn);return new Kt(n.unit(),n.bitWidth())}case k.Timestamp:{let n=r.type(new gn);return new Jt(n.unit(),n.timezone())}case k.Interval:{let n=r.type(new Kn);return new ue(n.unit())}case k.Duration:{let n=r.type(new Yn);return new Me(n.unit())}case k.Union:{let n=r.type(new Lr);return new De(n.mode(),n.typeIdsArray()||[],t||[])}case k.FixedSizeBinary:{let n=r.type(new Zn);return new Ge(n.byteWidth())}case k.FixedSizeList:{let n=r.type(new Hn);return new gt(n.listSize(),(t||[])[0])}case k.Map:{let n=r.type(new Jn);return new fe((t||[])[0],n.keysSorted())}}throw new Error(`Unrecognized type: "${k[e]}" (${e})`)}function F0(r){return r?new hi(r.codec(),r.method()):null}function Iv(r,t){let e=t.fields.map(i=>S.encode(r,i));ke.startFieldsVector(r,e.length);let n=ke.createFieldsVector(r,e),s=t.metadata&&t.metadata.size>0?ke.createCustomMetadataVector(r,[...t.metadata].map(([i,o])=>{let a=r.createString(`${i}`),c=r.createString(`${o}`);return Tt.startKeyValue(r),Tt.addKey(r,a),Tt.addValue(r,c),Tt.endKeyValue(r)})):-1;return ke.startSchema(r),ke.addFields(r,n),ke.addEndianness(r,Cv?$n.Little:$n.Big),s!==-1&&ke.addCustomMetadata(r,s),ke.endSchema(r)}function _v(r,t){let e=-1,n=-1,s=-1,i=t.type,o=t.typeId;w.isDictionary(i)?(o=i.dictionary.typeId,s=ll.visit(i,r),n=ll.visit(i.dictionary,r)):n=ll.visit(i,r);let a=(i.children||[]).map(u=>S.encode(r,u)),c=oe.createChildrenVector(r,a),l=t.metadata&&t.metadata.size>0?oe.createCustomMetadataVector(r,[...t.metadata].map(([u,f])=>{let h=r.createString(`${u}`),p=r.createString(`${f}`);return Tt.startKeyValue(r),Tt.addKey(r,h),Tt.addValue(r,p),Tt.endKeyValue(r)})):-1;return t.name&&(e=r.createString(t.name)),oe.startField(r),oe.addType(r,n),oe.addTypeType(r,o),oe.addChildren(r,c),oe.addNullable(r,!!t.nullable),e!==-1&&oe.addName(r,e),s!==-1&&oe.addDictionary(r,s),l!==-1&&oe.addCustomMetadata(r,l),oe.endField(r)}function Lv(r,t){let e=t.nodes||[],n=t.buffers||[],s=t.variadicBufferCounts||[];ie.startNodesVector(r,e.length);for(let l of e.slice().reverse())dr.encode(r,l);let i=r.endVector();ie.startBuffersVector(r,n.length);for(let l of n.slice().reverse())Ut.encode(r,l);let o=r.endVector(),a=null;t.compression!==null&&(a=O0(r,t.compression));let c=-1;return s.length>0&&(c=ie.createVariadicBufferCountsVector(r,s.map(BigInt))),ie.startRecordBatch(r),ie.addLength(r,BigInt(t.length)),ie.addNodes(r,i),ie.addBuffers(r,o),t.compression!==null&&a&&ie.addCompression(r,a),c!==-1&&ie.addVariadicBufferCounts(r,c),ie.endRecordBatch(r)}function O0(r,t){return pn.startBodyCompression(r),pn.addCodec(r,t.type),pn.addMethod(r,t.method),pn.endBodyCompression(r)}function Tv(r,t){let e=zt.encode(r,t.data);return mn.startDictionaryBatch(r),mn.addId(r,BigInt(t.id)),mn.addIsDelta(r,t.isDelta),mn.addData(r,e),mn.endDictionaryBatch(r)}function Mv(r,t){return lo.createFieldNode(r,BigInt(t.length),BigInt(t.nullCount))}function Dv(r,t){return co.createBuffer(r,BigInt(t.offset),BigInt(t.length))}var uv,fv,ye,zt,me,Ut,dr,hi,Cv,ms=m(()=>{nt();Cf();Lc();yf();Cm();pf();Df();mf();Tc();uo();gf();Bf();xf();wf();Lf();Tf();If();vf();Mf();Af();Sf();_f();g0();df();hf();pe();Gt();Hr();Mt();b0();T0();yt();uv=ri,fv=Zt,ye=class r{static fromJSON(t,e){let n=new r(0,ht.V5,e);return n._createHeader=hv(t,e),n}static decode(t){t=new fv(O(t));let e=sr.getRootAsMessage(t),n=e.bodyLength(),s=e.version(),i=e.headerType(),o=Bv(e),a=new r(n,s,i,void 0,o);return a._createHeader=dv(e,i),a}static encode(t){let e=new uv,n=-1;t.isSchema()?n=j.encode(e,t.header()):t.isRecordBatch()?n=zt.encode(e,t.header()):t.isDictionaryBatch()&&(n=me.encode(e,t.header()));let s=t.metadata&&t.metadata.size>0?sr.createCustomMetadataVector(e,[...t.metadata].map(([i,o])=>{let a=e.createString(`${i}`),c=e.createString(`${o}`);return Tt.startKeyValue(e),Tt.addKey(e,a),Tt.addValue(e,c),Tt.endKeyValue(e)})):-1;return sr.startMessage(e),sr.addVersion(e,ht.V5),sr.addHeader(e,n),sr.addHeaderType(e,t.headerType),sr.addBodyLength(e,BigInt(t.bodyLength)),s!==-1&&sr.addCustomMetadata(e,s),sr.finishMessageBuffer(e,sr.endMessage(e)),e.asUint8Array()}static from(t,e=0){if(t instanceof j)return new r(0,ht.V5,Q.Schema,t);if(t instanceof zt)return new r(e,ht.V5,Q.RecordBatch,t,t.metadata);if(t instanceof me)return new r(e,ht.V5,Q.DictionaryBatch,t);throw new Error(`Unrecognized Message header: ${t}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get compression(){return this._compression}get bodyLength(){return this._bodyLength}get metadata(){return this._metadata}header(){return this._createHeader()}isSchema(){return this.headerType===Q.Schema}isRecordBatch(){return this.headerType===Q.RecordBatch}isDictionaryBatch(){return this.headerType===Q.DictionaryBatch}constructor(t,e,n,s,i){this._version=e,this._headerType=n,this.body=new Uint8Array(0),this._compression=s?.compression,s&&(this._createHeader=()=>s),this._bodyLength=J(t),this._metadata=i||new Map}},zt=class{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}get compression(){return this._compression}get variadicBufferCounts(){return this._variadicBufferCounts}get metadata(){return this._metadata}constructor(t,e,n,s,i=[],o){this._nodes=e,this._buffers=n,this._length=J(t),this._compression=s,this._variadicBufferCounts=i,this._metadata=o||new Map}},me=class{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(t,e,n=!1){this._data=t,this._isDelta=n,this._id=J(e)}},Ut=class{constructor(t,e){this.offset=J(t),this.length=J(e)}},dr=class{constructor(t,e){this.length=J(t),this.nullCount=J(e)}},hi=class{constructor(t,e=ni.BUFFER){this.type=t,this.method=e}};S.encode=_v;S.decode=Sv;S.fromJSON=L0;j.encode=Iv;j.decode=pv;j.fromJSON=A0;zt.encode=Lv;zt.decode=mv;zt.fromJSON=ch;me.encode=Tv;me.decode=yv;me.fromJSON=S0;dr.encode=Mv;dr.decode=bv;Ut.encode=Dv;Ut.decode=gv;hi.encode=O0;hi.decode=F0;Cv=(()=>{let r=new ArrayBuffer(2);return new DataView(r).setInt16(0,256,!0),new Int16Array(r)[0]===256})()});var At,Ra,di,hl,Pa=m(()=>{Pe();ca();At=Object.freeze({done:!0,value:void 0}),Ra=class{constructor(t){this._json=t}get schema(){return this._json.schema}get batches(){return this._json.batches||[]}get dictionaries(){return this._json.dictionaries||[]}},di=class{tee(){return this._getDOMStream().tee()}pipe(t,e){return this._getNodeStream().pipe(t,e)}pipeTo(t,e){return this._getDOMStream().pipeTo(t,e)}pipeThrough(t,e){return this._getDOMStream().pipeThrough(t,e)}_getDOMStream(){return this._DOMStream||(this._DOMStream=this.toDOMStream())}_getNodeStream(){return this._nodeStream||(this._nodeStream=this.toNodeStream())}},hl=class extends di{constructor(){super(),this._values=[],this.resolvers=[],this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}get closed(){return this._closedPromise}cancel(t){return I(this,void 0,void 0,function*(){yield this.return(t)})}write(t){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(t):this.resolvers.shift().resolve({done:!1,value:t}))}abort(t){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:t}:this.resolvers.shift().reject({done:!0,value:t}))}close(){if(this._closedPromiseResolve){let{resolvers:t}=this;for(;t.length>0;)t.shift().resolve(At);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(t){return Yt.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,t)}toNodeStream(t){return Yt.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,t)}throw(t){return I(this,void 0,void 0,function*(){return yield this.abort(t),At})}return(t){return I(this,void 0,void 0,function*(){return yield this.close(),At})}read(t){return I(this,void 0,void 0,function*(){return(yield this.next(t,"read")).value})}peek(t){return I(this,void 0,void 0,function*(){return(yield this.next(t,"peek")).value})}next(...t){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((e,n)=>{this.resolvers.push({resolve:e,reject:n})}):Promise.resolve(At)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}});var pr,mr,$e,lh,An,ys=m(()=>{Pe();ca();dn();Pa();Gt();qn();pr=class extends hl{write(t){if((t=O(t)).byteLength>0)return super.write(t)}toString(t=!1){return t?io(this.toUint8Array(!0)):this.toUint8Array(!1).then(io)}toUint8Array(t=!1){return t?Je(this._values)[0]:I(this,void 0,void 0,function*(){var e,n,s,i;let o=[],a=0;try{for(var c=!0,l=He(this),u;u=yield l.next(),e=u.done,!e;c=!0){i=u.value,c=!1;let f=i;o.push(f),a+=f.byteLength}}catch(f){n={error:f}}finally{try{!c&&!e&&(s=l.return)&&(yield s.call(l))}finally{if(n)throw n.error}}return Je(o,a)[0]})}},mr=class{constructor(t){t&&(this.source=new lh(Yt.fromIterable(t)))}[Symbol.iterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},$e=class r{constructor(t){t instanceof r?this.source=t.source:t instanceof pr?this.source=new An(Yt.fromAsyncIterable(t)):wc(t)?this.source=new An(Yt.fromNodeStream(t)):ia(t)?this.source=new An(Yt.fromDOMStream(t)):gc(t)?this.source=new An(Yt.fromDOMStream(t.body)):Sr(t)?this.source=new An(Yt.fromIterable(t)):Ke(t)?this.source=new An(Yt.fromAsyncIterable(t)):lr(t)&&(this.source=new An(Yt.fromAsyncIterable(t)))}[Symbol.asyncIterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}get closed(){return this.source.closed}cancel(t){return this.source.cancel(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},lh=class{constructor(t){this.source=t}cancel(t){this.return(t)}peek(t){return this.next(t,"peek").value}read(t){return this.next(t,"read").value}next(t,e="read"){return this.source.next({cmd:e,size:t})}throw(t){return Object.create(this.source.throw&&this.source.throw(t)||At)}return(t){return Object.create(this.source.return&&this.source.return(t)||At)}},An=class{constructor(t){this.source=t,this._closedPromise=new Promise(e=>this._closedPromiseResolve=e)}cancel(t){return I(this,void 0,void 0,function*(){yield this.return(t)})}get closed(){return this._closedPromise}read(t){return I(this,void 0,void 0,function*(){return(yield this.next(t,"read")).value})}peek(t){return I(this,void 0,void 0,function*(){return(yield this.next(t,"peek")).value})}next(t){return I(this,arguments,void 0,function*(e,n="read"){return yield this.source.next({cmd:n,size:e})})}throw(t){return I(this,void 0,void 0,function*(){let e=this.source.throw&&(yield this.source.throw(t))||At;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(e)})}return(t){return I(this,void 0,void 0,function*(){let e=this.source.return&&(yield this.source.return(t))||At;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(e)})}}});var ka,gs,uh=m(()=>{Pe();ys();Gt();ka=class extends mr{constructor(t,e){super(),this.position=0,this.buffer=O(t),this.size=e===void 0?this.buffer.byteLength:e}readInt32(t){let{buffer:e,byteOffset:n}=this.readAt(t,4);return new DataView(e,n).getInt32(0,!0)}seek(t){return this.position=Math.min(t,this.size),t<this.size}read(t){let{buffer:e,size:n,position:s}=this;return e&&s<n?(typeof t!="number"&&(t=Number.POSITIVE_INFINITY),this.position=Math.min(n,s+Math.min(n-s,t)),e.subarray(s,this.position)):null}readAt(t,e){let n=this.buffer,s=Math.min(this.size,t+e);return n?n.subarray(t,s):new Uint8Array(e)}close(){this.buffer&&(this.buffer=null)}throw(t){return this.close(),{done:!0,value:t}}return(t){return this.close(),{done:!0,value:t}}},gs=class extends $e{constructor(t,e){super(),this.position=0,this._handle=t,typeof e=="number"?this.size=e:this._pending=I(this,void 0,void 0,function*(){this.size=(yield t.stat()).size,delete this._pending})}readInt32(t){return I(this,void 0,void 0,function*(){let{buffer:e,byteOffset:n}=yield this.readAt(t,4);return new DataView(e,n).getInt32(0,!0)})}seek(t){return I(this,void 0,void 0,function*(){return this._pending&&(yield this._pending),this.position=Math.min(t,this.size),t<this.size})}read(t){return I(this,void 0,void 0,function*(){this._pending&&(yield this._pending);let{_handle:e,size:n,position:s}=this;if(e&&s<n){typeof t!="number"&&(t=Number.POSITIVE_INFINITY);let i=s,o=0,a=0,c=Math.min(n,i+Math.min(n-i,t)),l=new Uint8Array(Math.max(0,(this.position=c)-i));for(;(i+=a)<c&&(o+=a)<l.byteLength;)({bytesRead:a}=yield e.read(l,o,l.byteLength-o,i));return l}return null})}readAt(t,e){return I(this,void 0,void 0,function*(){this._pending&&(yield this._pending);let{_handle:n,size:s}=this;if(n&&t+e<s){let i=Math.min(s,t+e),o=new Uint8Array(i-t);return(yield n.read(o,0,e,t)).buffer}return new Uint8Array(e)})}close(){return I(this,void 0,void 0,function*(){let t=this._handle;this._handle=null,t&&(yield t.close())})}throw(t){return I(this,void 0,void 0,function*(){return yield this.close(),{done:!0,value:t}})}return(t){return I(this,void 0,void 0,function*(){return yield this.close(),{done:!0,value:t}})}}});var hh={};Re(hh,{BaseInt64:()=>za,Int128:()=>Va,Int64:()=>Sn,Uint64:()=>Ft});function _o(r){return r<0&&(r=4294967295+r+1),`0x${r.toString(16)}`}var Lo,fh,za,Ft,Sn,Va,dh=m(()=>{Lo=8,fh=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8],za=class{constructor(t){this.buffer=t}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(t){let e=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),n=new Uint32Array([t.buffer[1]>>>16,t.buffer[1]&65535,t.buffer[0]>>>16,t.buffer[0]&65535]),s=e[3]*n[3];this.buffer[0]=s&65535;let i=s>>>16;return s=e[2]*n[3],i+=s,s=e[3]*n[2]>>>0,i+=s,this.buffer[0]+=i<<16,this.buffer[1]=i>>>0<s?65536:0,this.buffer[1]+=i>>>16,this.buffer[1]+=e[1]*n[3]+e[2]*n[2]+e[3]*n[1],this.buffer[1]+=e[0]*n[3]+e[1]*n[2]+e[2]*n[1]+e[3]*n[0]<<16,this}_plus(t){let e=this.buffer[0]+t.buffer[0]>>>0;this.buffer[1]+=t.buffer[1],e<this.buffer[0]>>>0&&++this.buffer[1],this.buffer[0]=e}lessThan(t){return this.buffer[1]<t.buffer[1]||this.buffer[1]===t.buffer[1]&&this.buffer[0]<t.buffer[0]}equals(t){return this.buffer[1]===t.buffer[1]&&this.buffer[0]==t.buffer[0]}greaterThan(t){return t.lessThan(this)}hex(){return`${_o(this.buffer[1])} ${_o(this.buffer[0])}`}},Ft=class r extends za{times(t){return this._times(t),this}plus(t){return this._plus(t),this}static from(t,e=new Uint32Array(2)){return r.fromString(typeof t=="string"?t:t.toString(),e)}static fromNumber(t,e=new Uint32Array(2)){return r.fromString(t.toString(),e)}static fromString(t,e=new Uint32Array(2)){let n=t.length,s=new r(e);for(let i=0;i<n;){let o=Lo<n-i?Lo:n-i,a=new r(new Uint32Array([Number.parseInt(t.slice(i,i+o),10),0])),c=new r(new Uint32Array([fh[o],0]));s.times(c),s.plus(a),i+=o}return s}static convertArray(t){let e=new Uint32Array(t.length*2);for(let n=-1,s=t.length;++n<s;)r.from(t[n],new Uint32Array(e.buffer,e.byteOffset+2*n*4,2));return e}static multiply(t,e){return new r(new Uint32Array(t.buffer)).times(e)}static add(t,e){return new r(new Uint32Array(t.buffer)).plus(e)}},Sn=class r extends za{negate(){return this.buffer[0]=~this.buffer[0]+1,this.buffer[1]=~this.buffer[1],this.buffer[0]==0&&++this.buffer[1],this}times(t){return this._times(t),this}plus(t){return this._plus(t),this}lessThan(t){let e=this.buffer[1]<<0,n=t.buffer[1]<<0;return e<n||e===n&&this.buffer[0]<t.buffer[0]}static from(t,e=new Uint32Array(2)){return r.fromString(typeof t=="string"?t:t.toString(),e)}static fromNumber(t,e=new Uint32Array(2)){return r.fromString(t.toString(),e)}static fromString(t,e=new Uint32Array(2)){let n=t.startsWith("-"),s=t.length,i=new r(e);for(let o=n?1:0;o<s;){let a=Lo<s-o?Lo:s-o,c=new r(new Uint32Array([Number.parseInt(t.slice(o,o+a),10),0])),l=new r(new Uint32Array([fh[a],0]));i.times(l),i.plus(c),o+=a}return n?i.negate():i}static convertArray(t){let e=new Uint32Array(t.length*2);for(let n=-1,s=t.length;++n<s;)r.from(t[n],new Uint32Array(e.buffer,e.byteOffset+2*n*4,2));return e}static multiply(t,e){return new r(new Uint32Array(t.buffer)).times(e)}static add(t,e){return new r(new Uint32Array(t.buffer)).plus(e)}},Va=class r{constructor(t){this.buffer=t}high(){return new Sn(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset+8,2))}low(){return new Sn(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset,2))}negate(){return this.buffer[0]=~this.buffer[0]+1,this.buffer[1]=~this.buffer[1],this.buffer[2]=~this.buffer[2],this.buffer[3]=~this.buffer[3],this.buffer[0]==0&&++this.buffer[1],this.buffer[1]==0&&++this.buffer[2],this.buffer[2]==0&&++this.buffer[3],this}times(t){let e=new Ft(new Uint32Array([this.buffer[3],0])),n=new Ft(new Uint32Array([this.buffer[2],0])),s=new Ft(new Uint32Array([this.buffer[1],0])),i=new Ft(new Uint32Array([this.buffer[0],0])),o=new Ft(new Uint32Array([t.buffer[3],0])),a=new Ft(new Uint32Array([t.buffer[2],0])),c=new Ft(new Uint32Array([t.buffer[1],0])),l=new Ft(new Uint32Array([t.buffer[0],0])),u=Ft.multiply(i,l);this.buffer[0]=u.low();let f=new Ft(new Uint32Array([u.high(),0]));return u=Ft.multiply(s,l),f.plus(u),u=Ft.multiply(i,c),f.plus(u),this.buffer[1]=f.low(),this.buffer[3]=f.lessThan(u)?1:0,this.buffer[2]=f.high(),new Ft(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset+8,2)).plus(Ft.multiply(n,l)).plus(Ft.multiply(s,c)).plus(Ft.multiply(i,a)),this.buffer[3]+=Ft.multiply(e,l).plus(Ft.multiply(n,c)).plus(Ft.multiply(s,a)).plus(Ft.multiply(i,o)).low(),this}plus(t){let e=new Uint32Array(4);return e[3]=this.buffer[3]+t.buffer[3]>>>0,e[2]=this.buffer[2]+t.buffer[2]>>>0,e[1]=this.buffer[1]+t.buffer[1]>>>0,e[0]=this.buffer[0]+t.buffer[0]>>>0,e[0]<this.buffer[0]>>>0&&++e[1],e[1]<this.buffer[1]>>>0&&++e[2],e[2]<this.buffer[2]>>>0&&++e[3],this.buffer[3]=e[3],this.buffer[2]=e[2],this.buffer[1]=e[1],this.buffer[0]=e[0],this}hex(){return`${_o(this.buffer[3])} ${_o(this.buffer[2])} ${_o(this.buffer[1])} ${_o(this.buffer[0])}`}static multiply(t,e){return new r(new Uint32Array(t.buffer)).times(e)}static add(t,e){return new r(new Uint32Array(t.buffer)).plus(e)}static from(t,e=new Uint32Array(4)){return r.fromString(typeof t=="string"?t:t.toString(),e)}static fromNumber(t,e=new Uint32Array(4)){return r.fromString(t.toString(),e)}static fromString(t,e=new Uint32Array(4)){let n=t.startsWith("-"),s=t.length,i=new r(e);for(let o=n?1:0;o<s;){let a=Lo<s-o?Lo:s-o,c=new r(new Uint32Array([Number.parseInt(t.slice(o,o+a),10),0,0,0])),l=new r(new Uint32Array([fh[a],0,0,0]));i.times(l),i.plus(c),o+=a}return n?i.negate():i}static convertArray(t){let e=new Uint32Array(t.length*4);for(let n=-1,s=t.length;++n<s;)r.from(t[n],new Uint32Array(e.buffer,e.byteOffset+16*n,4));return e}}});var bh={};Re(bh,{toIntervalDayTimeInt32Array:()=>ph,toIntervalDayTimeObjects:()=>yh,toIntervalMonthDayNanoInt32Array:()=>mh,toIntervalMonthDayNanoObjects:()=>gh});function ph(r){var t,e;let n=r.length,s=new Int32Array(n*2);for(let i=0,o=0;i<n;i++){let a=r[i];s[o++]=(t=a.days)!==null&&t!==void 0?t:0,s[o++]=(e=a.milliseconds)!==null&&e!==void 0?e:0}return s}function mh(r){var t,e;let n=r.length,s=new Int32Array(n*4);for(let i=0,o=0;i<n;i++){let a=r[i];s[o++]=(t=a.months)!==null&&t!==void 0?t:0,s[o++]=(e=a.days)!==null&&e!==void 0?e:0;let c=a.nanoseconds;if(c){let l=BigInt(c);s[o++]=Number(l&BigInt(4294967295))>>>0,s[o++]=Number(l>>BigInt(32))>>>0}else o+=2}return s}function yh(r){let t=r.length,e=new Array(t/2);for(let n=0,s=0;n<t;n+=2)e[s++]={days:r[n],milliseconds:r[n+1]};return e}function gh(r,t){let e=r.length,n=new Array(e/4);for(let s=0,i=0;s<e;s+=4){let o=BigInt(r[s+3])<<BigInt(32)|BigInt(r[s+2]>>>0);n[i++]={months:r[s],days:r[s+1],nanoseconds:t?`${o}`:o}}return n}var dl=m(()=>{});function U0(r){let t=new Uint8Array(r.length/2);for(let e=0;e<r.length;e+=2)t[e>>1]=Number.parseInt(r.slice(e,e+2),16);return t}function Fv(r){return U0(r.join(""))}function N0(r,t){let e=new Uint8Array(r.length*16),n=new DataView(e.buffer);for(let[s,i]of r.entries()){let o=s*16,a=i.SIZE;if(n.setInt32(o,a,!0),i.INLINED!==void 0){let c=t(i.INLINED);for(let l=0;l<c.length&&l<12;l++)e[o+4+l]=c[l]}else{let c=i.PREFIX_HEX;for(let l=0;l<8&&l<c.length;l+=2)e[o+4+(l>>1)]=Number.parseInt(c.slice(l,l+2),16);n.setInt32(o+8,i.BUFFER_INDEX,!0),n.setInt32(o+12,i.OFFSET,!0)}}return e}function Ov(r){return N0(r,t=>{let e=new Uint8Array(t.length/2);for(let n=0;n<t.length;n+=2)e[n>>1]=Number.parseInt(t.slice(n,n+2),16);return e})}function Ev(r){return N0(r,t=>new TextEncoder().encode(t))}var To,pl,ml,R0=m(()=>{hr();pe();yt();je();li();dn();dh();Mt();Gt();dl();To=class extends F{constructor(t,e,n,s,i=ht.V5,o=[]){super(),this.nodesIndex=-1,this.buffersIndex=-1,this.variadicBufferIndex=-1,this.bytes=t,this.nodes=e,this.buffers=n,this.dictionaries=s,this.metadataVersion=i,this.variadicBufferCounts=o}visit(t){return super.visit(t instanceof S?t.type:t)}visitNull(t,{length:e}=this.nextFieldNode()){return D({type:t,length:e})}visitBool(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitInt(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitFloat(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitUtf8(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),valueOffsets:this.readOffsets(t),data:this.readData(t)})}visitLargeUtf8(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),valueOffsets:this.readOffsets(t),data:this.readData(t)})}visitUtf8View(t,{length:e,nullCount:n}=this.nextFieldNode()){let s=this.readNullBitmap(t,n),i=this.readData(t),o=this.readVariadicBuffers(this.nextVariadicBufferCount());return D({type:t,length:e,nullCount:n,nullBitmap:s,views:i,variadicBuffers:o})}visitBinary(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),valueOffsets:this.readOffsets(t),data:this.readData(t)})}visitLargeBinary(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),valueOffsets:this.readOffsets(t),data:this.readData(t)})}visitBinaryView(t,{length:e,nullCount:n}=this.nextFieldNode()){let s=this.readNullBitmap(t,n),i=this.readData(t),o=this.readVariadicBuffers(this.nextVariadicBufferCount());return D({type:t,length:e,nullCount:n,nullBitmap:s,views:i,variadicBuffers:o})}visitFixedSizeBinary(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitDate(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitTimestamp(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitTime(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitDecimal(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitList(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),valueOffsets:this.readOffsets(t),child:this.visit(t.children[0])})}visitLargeList(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),valueOffsets:this.readOffsets(t),child:this.visit(t.children[0])})}visitStruct(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),children:this.visitMany(t.children)})}visitUnion(t,{length:e,nullCount:n}=this.nextFieldNode()){return this.metadataVersion<ht.V5&&this.readNullBitmap(t,n),t.mode===lt.Sparse?this.visitSparseUnion(t,{length:e,nullCount:n}):this.visitDenseUnion(t,{length:e,nullCount:n})}visitDenseUnion(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,typeIds:this.readTypeIds(t),valueOffsets:this.readOffsets(t),children:this.visitMany(t.children)})}visitSparseUnion(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,typeIds:this.readTypeIds(t),children:this.visitMany(t.children)})}visitDictionary(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t.indices),dictionary:this.readDictionary(t)})}visitInterval(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitDuration(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),data:this.readData(t)})}visitFixedSizeList(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),child:this.visit(t.children[0])})}visitMap(t,{length:e,nullCount:n}=this.nextFieldNode()){return D({type:t,length:e,nullCount:n,nullBitmap:this.readNullBitmap(t,n),valueOffsets:this.readOffsets(t),child:this.visit(t.children[0])})}nextFieldNode(){return this.nodes[++this.nodesIndex]}nextBufferRange(){return this.buffers[++this.buffersIndex]}readNullBitmap(t,e,n=this.nextBufferRange()){return e>0&&this.readData(t,n)||new Uint8Array(0)}readOffsets(t,e){return this.readData(t,e)}readTypeIds(t,e){return this.readData(t,e)}readData(t,{length:e,offset:n}=this.nextBufferRange()){return this.bytes.subarray(n,n+e)}readVariadicBuffers(t){return Array.from({length:t},()=>this.readData(null))}nextVariadicBufferCount(){var t;return(t=this.variadicBufferCounts[++this.variadicBufferIndex])!==null&&t!==void 0?t:0}readDictionary(t){return this.dictionaries.get(t.id)}},pl=class extends To{constructor(t,e,n,s,i,o=[]){super(new Uint8Array(0),e,n,s,i,o),this.sources=t}readNullBitmap(t,e,{offset:n}=this.nextBufferRange()){return e<=0?new Uint8Array(0):ci(this.sources[n])}readOffsets(t,{offset:e}=this.nextBufferRange()){return K(Uint8Array,K(t.OffsetArrayType,this.sources[e]))}readTypeIds(t,{offset:e}=this.nextBufferRange()){return K(Uint8Array,K(t.ArrayType,this.sources[e]))}readData(t,{offset:e}=this.nextBufferRange()){let{sources:n}=this;if(w.isTimestamp(t))return K(Uint8Array,Sn.convertArray(n[e]));if((w.isInt(t)||w.isTime(t))&&t.bitWidth===64||w.isDuration(t))return K(Uint8Array,Sn.convertArray(n[e]));if(w.isDate(t)&&t.unit===mt.MILLISECOND)return K(Uint8Array,Sn.convertArray(n[e]));if(w.isDecimal(t))return K(Uint8Array,Va.convertArray(n[e]));if(w.isBinary(t)||w.isLargeBinary(t)||w.isFixedSizeBinary(t))return Fv(n[e]);if(w.isBinaryView(t))return Ov(n[e]);if(w.isUtf8View(t))return Ev(n[e]);if(w.isBool(t))return ci(n[e]);if(w.isUtf8(t)||w.isLargeUtf8(t))return Xe(n[e].join(""));if(w.isInterval(t))switch(t.unit){case et.DAY_TIME:return ph(n[e]);case et.MONTH_DAY_NANO:return mh(n[e]);default:break}return K(Uint8Array,K(t.ArrayType,n[e].map(s=>+s)))}readVariadicBuffers(t){let e=[];for(let n=0;n<t;n++){let{offset:s}=this.nextBufferRange(),i=this.sources[s];e.push(U0(i))}return e}};ml=class extends To{constructor(t,e,n,s,i,o=[]){super(new Uint8Array(0),e,n,s,i,o),this.bodyChunks=t}readData(t,e=this.nextBufferRange()){return this.bodyChunks[this.buffersIndex]}}});var Bn,yl=m(()=>{Ur();vt();Gt();Bn=class extends de{constructor(t){super(t),this._values=new qe(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,e){return super.setValue(t,O(e))}_flushPending(t,e){let n=this._offsets,s=this._values.reserve(e).buffer,i=0;for(let[o,a]of t)if(a===void 0)n.set(o,0);else{let c=a.length;s.set(a,i),n.set(o,c),i+=c}}}});var In,gl=m(()=>{Gt();Ur();vt();In=class extends de{constructor(t){super(t),this._values=new qe(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,e){return super.setValue(t,O(e))}_flushPending(t,e){let n=this._offsets,s=this._values.reserve(e).buffer,i=0;for(let[o,a]of t)if(a===void 0)n.set(o,BigInt(0));else{let c=a.length;s.set(a,i),n.set(o,BigInt(c)),i+=c}}}});var pi,wh=m(()=>{Ur();vt();pi=class extends bt{constructor(t){super(t),this._values=new Io}setValue(t,e){this._values.set(t,+e)}}});var Qr,bs,ws,xh=m(()=>{vt();rr();Qr=class extends kt{};Qr.prototype._setValue=zf;bs=class extends Qr{};bs.prototype._setValue=Fc;ws=class extends Qr{};ws.prototype._setValue=Oc});var xs,vh=m(()=>{vt();rr();xs=class extends kt{};xs.prototype._setValue=jf});var mi,Ah=m(()=>{yt();vt();Ga();mi=class extends bt{constructor({type:t,nullValues:e,dictionaryHashFunction:n}){super({type:new Rt(t.dictionary,t.indices,t.id,t.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=Rr({type:this.type.indices,nullValues:e}),this.dictionary=Rr({type:this.type.dictionary,nullValues:null}),typeof n=="function"&&(this.valueToKey=n)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(t){return this.indices.isValid(t)}setValid(t,e){let n=this.indices;return e=n.setValid(t,e),this.length=n.length,e}setValue(t,e){let n=this._keysToIndices,s=this.valueToKey(e),i=n[s];return i===void 0&&(n[s]=i=this._dictionaryOffset+this.dictionary.append(e).length-1),this.indices.setValue(t,i)}flush(){let t=this.type,e=this._dictionary,n=this.dictionary.toVector(),s=this.indices.flush().clone(t);return s.dictionary=e?e.concat(n):n,this.finished||(this._dictionaryOffset+=n.length),this._dictionary=s.dictionary,this.clear(),s}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(t){return typeof t=="string"?t:`${t}`}}});var vs,Sh=m(()=>{vt();rr();vs=class extends kt{};vs.prototype._setValue=kf});var yi,Bh=m(()=>{pe();vt();yt();yi=class extends bt{setValue(t,e){let[n]=this.children,s=t*this.stride;for(let i=-1,o=this.stride;++i<o;)n.set(s+i,e[i])}setValid(t,e){return super.setValid(t,e)||this.children[0].setValid((t+1)*this.stride-1,!1),e}addChild(t,e="0"){if(this.numChildren>0)throw new Error("FixedSizeListBuilder can only have one child.");let n=this.children.push(t);return this.type=new gt(this.type.listSize,new S(e,t.type,!0)),n}}});var tn,gi,bi,wi,Ih=m(()=>{Ca();vt();tn=class extends kt{setValue(t,e){this._values.set(t,e)}},gi=class extends tn{setValue(t,e){super.setValue(t,Da(e))}},bi=class extends tn{},wi=class extends tn{}});var Pr,As,Ss,Bs,_h=m(()=>{vt();rr();Pr=class extends kt{};Pr.prototype._setValue=qf;As=class extends Pr{};As.prototype._setValue=Gc;Ss=class extends Pr{};Ss.prototype._setValue=jc;Bs=class extends Pr{};Bs.prototype._setValue=qc});var yr,Is,_s,Ls,Ts,Lh=m(()=>{vt();rr();yr=class extends kt{};yr.prototype._setValue=$f;Is=class extends yr{};Is.prototype._setValue=$c;_s=class extends yr{};_s.prototype._setValue=Wc;Ls=class extends yr{};Ls.prototype._setValue=Yc;Ts=class extends yr{};Ts.prototype._setValue=Zc});var Ce,xi,vi,Ai,Si,Bi,Ii,_i,Li,Th=m(()=>{vt();Ce=class extends kt{setValue(t,e){this._values.set(t,e)}},xi=class extends Ce{},vi=class extends Ce{},Ai=class extends Ce{},Si=class extends Ce{},Bi=class extends Ce{},Ii=class extends Ce{},_i=class extends Ce{},Li=class extends Ce{}});var Ti,Mh=m(()=>{pe();yt();Ur();vt();Ti=class extends de{constructor(t){super(t),this._offsets=new ps(t.type)}addChild(t,e="0"){if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=t,this.type=new Ct(new S(e,t.type,!0)),this.numChildren-1}_flushPending(t){let e=this._offsets,[n]=this.children;for(let[s,i]of t)if(typeof i>"u")e.set(s,0);else{let o=i,a=o.length,c=e.set(s,a).buffer[s];for(let l=-1;++l<a;)n.set(c+l,o[l])}}}});var Mi,Dh=m(()=>{pe();yt();Ur();Hr();vt();Mi=class extends de{constructor(t){super(t),this._offsets=new ps(t.type)}addChild(t,e="0"){if(this.numChildren>0)throw new Error("LargeListBuilder can only have one child.");return this.children[this.numChildren]=t,this.type=new tr(new S(e,t.type,!0)),this.numChildren-1}_flushPending(t){let e=this._offsets,[n]=this.children;for(let[s,i]of t)if(typeof i>"u")e.set(s,BigInt(0));else{let o=i,a=o.length,c=J(e.set(s,BigInt(a)).buffer[s]);for(let l=-1;++l<a;)n.set(c+l,o[l])}}}});var Di,Ch=m(()=>{pe();yt();vt();Di=class extends de{set(t,e){return super.set(t,e)}setValue(t,e){let n=e instanceof Map?e:new Map(Object.entries(e)),s=this._pending||(this._pending=new Map),i=s.get(t);i&&(this._pendingLength-=i.size),this._pendingLength+=n.size,s.set(t,n)}addChild(t,e=`${this.numChildren}`){if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=t,this.type=new fe(new S(e,t.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(t){let e=this._offsets,[n]=this.children;for(let[s,i]of t)if(i===void 0)e.set(s,0);else{let{[s]:o,[s+1]:a}=e.set(s,i.size).buffer;for(let c of i.entries())if(n.set(o,c),++o>=a)break}}}});var Ci,Fh=m(()=>{vt();Ci=class extends bt{setValue(t,e){}setValid(t,e){return this.length=Math.max(t+1,this.length),e}}});var Fi,Oh=m(()=>{pe();vt();yt();Fi=class extends bt{setValue(t,e){let{children:n,type:s}=this;switch(Array.isArray(e)||e.constructor){case!0:return s.children.forEach((i,o)=>n[o].set(t,e[o]));case Map:return s.children.forEach((i,o)=>n[o].set(t,e.get(i.name)));default:return s.children.forEach((i,o)=>n[o].set(t,e[i.name]))}}setValid(t,e){return super.setValid(t,e)||this.children.forEach(n=>n.setValid(t,e)),e}addChild(t,e=`${this.numChildren}`){let n=this.children.push(t);return this.type=new ut([...this.type.children,new S(e,t.type,!0)]),n}}});var gr,Ms,Ds,Cs,Fs,Eh=m(()=>{vt();rr();gr=class extends kt{};gr.prototype._setValue=Vf;Ms=class extends gr{};Ms.prototype._setValue=Ec;Ds=class extends gr{};Ds.prototype._setValue=Uc;Cs=class extends gr{};Cs.prototype._setValue=Nc;Fs=class extends gr{};Fs.prototype._setValue=Rc});var br,Os,Es,Us,Ns,Uh=m(()=>{vt();rr();br=class extends kt{};br.prototype._setValue=Gf;Os=class extends br{};Os.prototype._setValue=Pc;Es=class extends br{};Es.prototype._setValue=kc;Us=class extends br{};Us.prototype._setValue=zc;Ns=class extends br{};Ns.prototype._setValue=Vc});var _n,Oi,Ei,Nh=m(()=>{pe();Ur();vt();yt();_n=class extends bt{constructor(t){super(t),this._typeIds=new xn(Int8Array,0,1),typeof t.valueToChildTypeId=="function"&&(this._valueToChildTypeId=t.valueToChildTypeId)}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(t,e){return this.set(this.length,t,e)}set(t,e,n){return n===void 0&&(n=this._valueToChildTypeId(this,e,t)),this.setValue(t,e,n),this}setValue(t,e,n){this._typeIds.set(t,n);let s=this.type.typeIdToChildIndex[n],i=this.children[s];i?.set(t,e),this.length=Math.max(t+1,this.length)}addChild(t,e=`${this.children.length}`){let n=this.children.push(t),{type:{children:s,mode:i,typeIds:o}}=this,a=[...s,new S(e,t.type)];return this.type=new De(i,[...o,n],a),n}_valueToChildTypeId(t,e,n){throw new Error("Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.")}},Oi=class extends _n{},Ei=class extends _n{constructor(t){super(t),this._offsets=new xn(Int32Array)}setValue(t,e,n){let s=this._typeIds.set(t,n).buffer[t],i=this.getChildAt(this.type.typeIdToChildIndex[s]),o=this._offsets.set(t,i.length).buffer[t];i?.set(o,e),this.length=Math.max(t+1,this.length)}}});var Rs,Rh=m(()=>{dn();yl();Ur();vt();Rs=class extends de{constructor(t){super(t),this._values=new qe(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,e){return super.setValue(t,Xe(e))}_flushPending(t,e){}};Rs.prototype._flushPending=Bn.prototype._flushPending});var Ps,Ph=m(()=>{dn();Ur();vt();gl();Ps=class extends de{constructor(t){super(t),this._values=new qe(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,e){return super.setValue(t,Xe(e))}_flushPending(t,e){}};Ps.prototype._flushPending=In.prototype._flushPending});var Ln,bl=m(()=>{yt();vt();Ur();Gt();hr();Ln=class extends bt{constructor(t){super(t),this._variadicBuffers=[],this._currentBuffer=null,this._currentBufferIndex=0,this._currentBufferOffset=0,this._bufferSize=32*1024*1024,this._views=new qe(Uint8Array)}get byteLength(){let t=0;this._views&&(t+=this._views.byteLength),this._nulls&&(t+=this._nulls.byteLength);for(let e of this._variadicBuffers)t+=e.byteLength;return this._currentBuffer&&(t+=this._currentBuffer.byteLength),t}setValue(t,e){return this.writeBinaryValue(t,this.encodeValue(e))}writeBinaryValue(t,e){let n=e.length,s=(t+1)*H.ELEMENT_WIDTH,i=this._views.length;s>i&&this._views.reserve(s-i);let o=this._views.buffer,a=t*H.ELEMENT_WIDTH,c=new DataView(o.buffer,o.byteOffset+a,H.ELEMENT_WIDTH);if(c.setInt32(H.LENGTH_OFFSET,n,!0),n<=H.INLINE_CAPACITY){o.set(e,a+H.INLINE_OFFSET);for(let l=n;l<H.INLINE_CAPACITY;l++)o[a+H.INLINE_OFFSET+l]=0}else{let l=new DataView(e.buffer,e.byteOffset,Math.min(4,n));c.setUint32(H.INLINE_OFFSET,l.getUint32(0,!0),!0),(!this._currentBuffer||this._currentBufferOffset+n>this._bufferSize)&&(this._currentBuffer&&this._variadicBuffers.push(this._currentBuffer.buffer.slice(0,this._currentBufferOffset)),this._currentBuffer=new qe(Uint8Array),this._currentBufferIndex=this._variadicBuffers.length,this._currentBufferOffset=0),this._currentBuffer.reserve(n).buffer.set(e,this._currentBufferOffset),c.setInt32(H.BUFFER_INDEX_OFFSET,this._currentBufferIndex,!0),c.setInt32(H.BUFFER_OFFSET_OFFSET,this._currentBufferOffset,!0),this._currentBufferOffset+=n}return this}encodeValue(t){return O(t)}setValid(t,e){let n=(t+1)*H.ELEMENT_WIDTH,s=this._views.length;n>s&&this._views.reserve(n-s);let i=super.setValid(t,e);if(!i){let o=this._views.buffer,a=t*H.ELEMENT_WIDTH;for(let c=0;c<H.ELEMENT_WIDTH;c++)o[a+c]=0}return i}clear(){return this._variadicBuffers=[],this._currentBuffer=null,this._currentBufferIndex=0,this._currentBufferOffset=0,this._views.clear(),super.clear()}flush(){let{type:t,length:e,nullCount:n,_views:s,_nulls:i}=this;this._currentBuffer&&this._currentBufferOffset>0&&(this._variadicBuffers.push(this._currentBuffer.buffer.slice(0,this._currentBufferOffset)),this._currentBuffer=null,this._currentBufferOffset=0);let o=s.flush(e*H.ELEMENT_WIDTH),a=n>0?i.flush(e):void 0,c=this._variadicBuffers.slice();return this._variadicBuffers=[],this._currentBufferIndex=0,this.clear(),D({type:t,length:e,nullCount:n,nullBitmap:a,views:o,variadicBuffers:c})}finish(){return this.finished=!0,this}}});var Ui,kh=m(()=>{bl();dn();Ui=class extends Ln{constructor(t){super(t)}setValue(t,e){return this.writeBinaryValue(t,Xe(e))}}});var zh,P0,k0=m(()=>{je();yl();gl();wh();xh();vh();Ah();Sh();Bh();Ih();_h();Lh();Th();Mh();Dh();Ch();Fh();Oh();Eh();Uh();Nh();Rh();Ph();bl();kh();zh=class extends F{visitNull(){return Ci}visitBool(){return pi}visitInt(){return Ce}visitInt8(){return xi}visitInt16(){return vi}visitInt32(){return Ai}visitInt64(){return Si}visitUint8(){return Bi}visitUint16(){return Ii}visitUint32(){return _i}visitUint64(){return Li}visitFloat(){return tn}visitFloat16(){return gi}visitFloat32(){return bi}visitFloat64(){return wi}visitUtf8(){return Rs}visitLargeUtf8(){return Ps}visitBinary(){return Bn}visitLargeBinary(){return In}visitFixedSizeBinary(){return vs}visitDate(){return Qr}visitDateDay(){return bs}visitDateMillisecond(){return ws}visitTimestamp(){return gr}visitTimestampSecond(){return Ms}visitTimestampMillisecond(){return Ds}visitTimestampMicrosecond(){return Cs}visitTimestampNanosecond(){return Fs}visitTime(){return br}visitTimeSecond(){return Os}visitTimeMillisecond(){return Es}visitTimeMicrosecond(){return Us}visitTimeNanosecond(){return Ns}visitDecimal(){return xs}visitList(){return Ti}visitLargeList(){return Mi}visitStruct(){return Fi}visitUnion(){return _n}visitDenseUnion(){return Ei}visitSparseUnion(){return Oi}visitDictionary(){return mi}visitInterval(){return Pr}visitIntervalDayTime(){return As}visitIntervalYearMonth(){return Ss}visitIntervalMonthDayNano(){return Bs}visitDuration(){return yr}visitDurationSecond(){return Is}visitDurationMillisecond(){return _s}visitDurationMicrosecond(){return Ls}visitDurationNanosecond(){return Ts}visitFixedSizeList(){return yi}visitMap(){return Di}visitBinaryView(){return Ln}visitUtf8View(){return Ui}},P0=new zh});function Fe(r,t){return t instanceof r.constructor}function Tn(r,t){return r===t||Fe(r,t)}function Mn(r,t){return r===t||Fe(r,t)&&r.bitWidth===t.bitWidth&&r.isSigned===t.isSigned}function wl(r,t){return r===t||Fe(r,t)&&r.precision===t.precision}function Uv(r,t){return r===t||Fe(r,t)&&r.byteWidth===t.byteWidth}function Vh(r,t){return r===t||Fe(r,t)&&r.unit===t.unit}function ja(r,t){return r===t||Fe(r,t)&&r.unit===t.unit&&r.timezone===t.timezone}function qa(r,t){return r===t||Fe(r,t)&&r.unit===t.unit&&r.bitWidth===t.bitWidth}function z0(r,t){return r===t||Fe(r,t)&&r.children.length===t.children.length&&en.compareManyFields(r.children,t.children)}function Nv(r,t){return r===t||Fe(r,t)&&r.children.length===t.children.length&&en.compareManyFields(r.children,t.children)}function Gh(r,t){return r===t||Fe(r,t)&&r.mode===t.mode&&r.typeIds.every((e,n)=>e===t.typeIds[n])&&en.compareManyFields(r.children,t.children)}function Rv(r,t){return r===t||Fe(r,t)&&r.id===t.id&&r.isOrdered===t.isOrdered&&en.visit(r.indices,t.indices)&&en.visit(r.dictionary,t.dictionary)}function xl(r,t){return r===t||Fe(r,t)&&r.unit===t.unit}function $a(r,t){return r===t||Fe(r,t)&&r.unit===t.unit}function Pv(r,t){return r===t||Fe(r,t)&&r.listSize===t.listSize&&r.children.length===t.children.length&&en.compareManyFields(r.children,t.children)}function kv(r,t){return r===t||Fe(r,t)&&r.keysSorted===t.keysSorted&&r.children.length===t.children.length&&en.compareManyFields(r.children,t.children)}function Ni(r,t){return en.compareSchemas(r,t)}function V0(r,t){return en.compareFields(r,t)}function vl(r,t){return en.visit(r,t)}var R,en,Wa=m(()=>{je();R=class extends F{compareSchemas(t,e){return t===e||e instanceof t.constructor&&this.compareManyFields(t.fields,e.fields)}compareManyFields(t,e){return t===e||Array.isArray(t)&&Array.isArray(e)&&t.length===e.length&&t.every((n,s)=>this.compareFields(n,e[s]))}compareFields(t,e){return t===e||e instanceof t.constructor&&t.name===e.name&&t.nullable===e.nullable&&this.visit(t.type,e.type)}};R.prototype.visitNull=Tn;R.prototype.visitBool=Tn;R.prototype.visitInt=Mn;R.prototype.visitInt8=Mn;R.prototype.visitInt16=Mn;R.prototype.visitInt32=Mn;R.prototype.visitInt64=Mn;R.prototype.visitUint8=Mn;R.prototype.visitUint16=Mn;R.prototype.visitUint32=Mn;R.prototype.visitUint64=Mn;R.prototype.visitFloat=wl;R.prototype.visitFloat16=wl;R.prototype.visitFloat32=wl;R.prototype.visitFloat64=wl;R.prototype.visitUtf8=Tn;R.prototype.visitLargeUtf8=Tn;R.prototype.visitUtf8View=Tn;R.prototype.visitBinary=Tn;R.prototype.visitLargeBinary=Tn;R.prototype.visitBinaryView=Tn;R.prototype.visitFixedSizeBinary=Uv;R.prototype.visitDate=Vh;R.prototype.visitDateDay=Vh;R.prototype.visitDateMillisecond=Vh;R.prototype.visitTimestamp=ja;R.prototype.visitTimestampSecond=ja;R.prototype.visitTimestampMillisecond=ja;R.prototype.visitTimestampMicrosecond=ja;R.prototype.visitTimestampNanosecond=ja;R.prototype.visitTime=qa;R.prototype.visitTimeSecond=qa;R.prototype.visitTimeMillisecond=qa;R.prototype.visitTimeMicrosecond=qa;R.prototype.visitTimeNanosecond=qa;R.prototype.visitDecimal=Tn;R.prototype.visitList=z0;R.prototype.visitLargeList=z0;R.prototype.visitStruct=Nv;R.prototype.visitUnion=Gh;R.prototype.visitDenseUnion=Gh;R.prototype.visitSparseUnion=Gh;R.prototype.visitDictionary=Rv;R.prototype.visitInterval=xl;R.prototype.visitIntervalDayTime=xl;R.prototype.visitIntervalYearMonth=xl;R.prototype.visitIntervalMonthDayNano=xl;R.prototype.visitDuration=$a;R.prototype.visitDurationSecond=$a;R.prototype.visitDurationMillisecond=$a;R.prototype.visitDurationMicrosecond=$a;R.prototype.visitDurationNanosecond=$a;R.prototype.visitFixedSizeList=Pv;R.prototype.visitMap=kv;en=new R});function Rr(r){let t=r.type,e=new(P0.getVisitFn(t)())(r);if(t.children&&t.children.length>0){let n=r.children||[],s={nullValues:r.nullValues},i=Array.isArray(n)?((o,a)=>n[a]||s):(({name:o})=>n[o]||s);for(let[o,a]of t.children.entries()){let{type:c}=a,l=i(a,o);e.children.push(Rr(Object.assign(Object.assign({},l),{type:c})))}}return e}function Mo(r,t){if(r instanceof T||r instanceof A||r.type instanceof w||ArrayBuffer.isView(r))return te(r);let e={type:t??Al(r),nullValues:[null]},n=[...Sl(e)(r)],s=n.length===1?n[0]:n.reduce((i,o)=>i.concat(o));return w.isDictionary(s.type)?s.memoize():s}function jh(r){let t=Mo(r),e=new ct(new j(t.type.children),t.data[0]);return new st(e)}function Al(r){if(r.length===0)return new Et;let t=0,e=0,n=0,s=0,i=0,o=0,a=0,c=0;for(let l of r){if(l==null){++t;continue}switch(typeof l){case"bigint":++o;continue;case"boolean":++a;continue;case"number":++s;continue;case"string":++i;continue;case"object":Array.isArray(l)?++e:Object.prototype.toString.call(l)==="[object Date]"?++c:++n;continue}throw new TypeError("Unable to infer Vector type from input values, explicit type declaration expected.")}if(s+t===r.length)return new _e;if(i+t===r.length)return new Rt(new ce,new Dt);if(o+t===r.length)return new Qe;if(a+t===r.length)return new le;if(c+t===r.length)return new Xr;if(e+t===r.length){let l=r,u=Al(l[l.findIndex(f=>f!=null)]);if(l.every(f=>f==null||vl(u,Al(f))))return new Ct(new S("",u,!0))}else if(n+t===r.length){let l=new Map;for(let u of r)for(let f of Object.keys(u))!l.has(f)&&u[f]!=null&&l.set(f,new S(f,Al([u[f]]),!0));return new ut([...l.values()])}throw new TypeError("Unable to infer Vector type from input values, explicit type declaration expected.")}function Sl(r){let{["queueingStrategy"]:t="count"}=r,{["highWaterMark"]:e=t!=="bytes"?Number.POSITIVE_INFINITY:Math.pow(2,14)}=r,n=t!=="bytes"?"length":"byteLength";return function*(s){let i=0,o=Rr(r);for(let a of s)o.append(a)[n]>=e&&++i&&(yield o.toVector());(o.finish().length>0||i===0)&&(yield o.toVector())}}function qh(r){let{["queueingStrategy"]:t="count"}=r,{["highWaterMark"]:e=t!=="bytes"?Number.POSITIVE_INFINITY:Math.pow(2,14)}=r,n=t!=="bytes"?"length":"byteLength";return function(s){return xe(this,arguments,function*(){var i,o,a,c;let l=0,u=Rr(r);try{for(var f=!0,h=He(s),p;p=yield Y(h.next()),i=p.done,!i;f=!0){c=p.value,f=!1;let y=c;u.append(y)[n]>=e&&++l&&(yield yield Y(u.toVector()))}}catch(y){o={error:y}}finally{try{!f&&!i&&(a=h.return)&&(yield Y(a.call(h)))}finally{if(o)throw o.error}}(u.finish().length>0||l===0)&&(yield yield Y(u.toVector()))})}}var Ga=m(()=>{Pe();pe();yt();hr();he();k0();Ri();Dn();Wa()});function Bl(r,t){return zv(r,t.map(e=>e.data.concat()))}function zv(r,t){let e=[...r.fields],n=[],s={numBatches:t.reduce((f,h)=>Math.max(f,h.length),0)},i=0,o=0,a=-1,c=t.length,l,u=[];for(;s.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,a=-1;++a<c;)u[a]=l=t[a].shift(),o=Math.min(o,l?l.length:o);Number.isFinite(o)&&(u=Vv(e,o,u,t,s),o>0&&(n[i++]=D({type:new ut(e),length:o,nullCount:0,children:u.slice()})))}return[r=r.assign(e),n.map(f=>new ct(r,f))]}function Vv(r,t,e,n,s){var i;let o=(t+63&-64)>>3;for(let a=-1,c=n.length;++a<c;){let l=e[a],u=l?.length;if(u>=t)u===t?e[a]=l:(e[a]=l.slice(0,t),s.numBatches=Math.max(s.numBatches,n[a].unshift(l.slice(t,u-t))));else{let f=r[a];r[a]=f.clone({nullable:!0}),e[a]=(i=l?._changeLengthAndBackfillNullBitmap(t))!==null&&i!==void 0?i:D({type:f.type,length:t,nullCount:t,nullBitmap:new Uint8Array(o)})}}return e}var G0=m(()=>{hr();yt();Dn()});function $h(r){let t={},e=Object.entries(r);for(let[n,s]of e)t[n]=te(s);return new st(t)}function Wh(r){let t={},e=Object.entries(r);for(let[n,s]of e)t[n]=Mo(s);return new st(t)}var j0,q0,st,Ri=m(()=>{Mt();hr();Ga();he();pe();yt();Wa();G0();sl();ii();rr();il();ol();vo();Dn();q0=Symbol.for("apache-arrow/Table"),st=class r{static isTable(t){return t?.[q0]===!0}constructor(...t){var e,n;if(t.length===0)return this.batches=[],this.schema=new j([]),this._offsets=[0],this;let s,i;t[0]instanceof j&&(s=t.shift()),t.at(-1)instanceof Uint32Array&&(i=t.pop());let o=c=>{if(c){if(c instanceof ct)return[c];if(c instanceof r)return c.batches;if(c instanceof T){if(c.type instanceof ut)return[new ct(new j(c.type.children),c)]}else{if(Array.isArray(c))return c.flatMap(l=>o(l));if(typeof c[Symbol.iterator]=="function")return[...c].flatMap(l=>o(l));if(typeof c=="object"){let l=Object.keys(c),u=l.map(p=>new A([c[p]])),f=s??new j(l.map((p,y)=>new S(String(p),u[y].type,u[y].nullable))),[,h]=Bl(f,u);return h.length===0?[new ct(c)]:h}}}return[]},a=t.flatMap(c=>o(c));if(s=(n=s??((e=a[0])===null||e===void 0?void 0:e.schema))!==null&&n!==void 0?n:new j([]),!(s instanceof j))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(let c of a){if(!(c instanceof ct))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!Ni(s,c.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=s,this.batches=a,this._offsets=i??tl(this.data)}get data(){return this.batches.map(({data:t})=>t)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((t,e)=>t+e.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=Qc(this.data)),this._nullCount}isValid(t){return!1}get(t){return null}at(t){return this.get(oi(t,this.numRows))}set(t,e){}indexOf(t,e){return-1}[Symbol.iterator](){return this.batches.length>0?Bo.visit(new A(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[
|
|
14
|
+
${this.toArray().join(`,
|
|
15
|
+
`)}
|
|
16
|
+
]`}concat(...t){let e=this.schema,n=this.data.concat(t.flatMap(({data:s})=>s));return new r(e,n.map(s=>new ct(e,s)))}slice(t,e){let n=this.schema;[t,e]=Oa({length:this.numRows},t,e);let s=el(this.data,this._offsets,t,e);return new r(n,s.map(i=>new ct(n,i)))}getChild(t){return this.getChildAt(this.schema.fields.findIndex(e=>e.name===t))}getChildAt(t){if(t>-1&&t<this.schema.fields.length){let e=this.data.map(n=>n.children[t]);if(e.length===0){let{type:n}=this.schema.fields[t],s=D({type:n,length:0,nullCount:0});e.push(s._changeLengthAndBackfillNullBitmap(this.numRows))}return new A(e)}return null}setChild(t,e){var n;return this.setChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(s=>s.name===t),e)}setChildAt(t,e){let n=this.schema,s=[...this.batches];if(t>-1&&t<this.numCols){e||(e=new A([D({type:new Et,length:this.numRows})]));let i=n.fields.slice(),o=i[t].clone({type:e.type}),a=this.schema.fields.map((c,l)=>this.getChildAt(l));[i[t],a[t]]=[o,e],[n,s]=Bl(n,a)}return new r(n,s)}select(t){let e=this.schema.fields.reduce((n,s,i)=>n.set(s.name,i),new Map);return this.selectAt(t.map(n=>e.get(n)).filter(n=>n>-1))}selectAt(t){let e=this.schema.selectAt(t),n=this.batches.map(s=>s.selectAt(t));return new r(e,n)}assign(t){let e=this.schema.fields,[n,s]=t.schema.fields.reduce((a,c,l)=>{let[u,f]=a,h=e.findIndex(p=>p.name===c.name);return~h?f[h]=l:u.push(l),a},[[],[]]),i=this.schema.assign(t.schema),o=[...e.map((a,c)=>[c,s[c]]).map(([a,c])=>c===void 0?this.getChildAt(a):t.getChildAt(c)),...n.map(a=>t.getChildAt(a))].filter(Boolean);return new r(...Bl(i,o))}};j0=Symbol.toStringTag;st[j0]=(r=>(r.schema=null,r.batches=[],r._offsets=new Uint32Array([0]),r._nullCount=-1,r[Symbol.isConcatSpreadable]=!0,r[q0]=!0,r.isValid=So(Na),r.get=So(Pt.getVisitFn(d.Struct)),r.set=rl(Qt.getVisitFn(d.Struct)),r.indexOf=nl(ui.getVisitFn(d.Struct)),"Table"))(st.prototype);Object.defineProperty(st,Symbol.hasInstance,{value:function(t){return Function.prototype[Symbol.hasInstance].call(this,t)||this===st&&st.isTable(t)}})});function $0(r,t,e=t.reduce((n,s)=>Math.max(n,s.length),0)){var n;let s=[...r.fields],i=[...t],o=(e+63&-64)>>3;for(let[a,c]of r.fields.entries()){let l=t[a];(!l||l.length!==e)&&(s[a]=c.clone({nullable:!0}),i[a]=(n=l?._changeLengthAndBackfillNullBitmap(e))!==null&&n!==void 0?n:D({type:c.type,length:e,nullCount:e,nullBitmap:new Uint8Array(o)}))}return[r.assign(s),D({type:new ut(s),length:e,children:i})]}function Z0(r,t,e=new Map){var n,s;if(((n=r?.length)!==null&&n!==void 0?n:0)>0&&r?.length===t?.length)for(let i=-1,o=r.length;++i<o;){let{type:a}=r[i],c=t[i];for(let l of[c,...((s=c?.dictionary)===null||s===void 0?void 0:s.data)||[]])Z0(a.children,l?.children,e);if(w.isDictionary(a)){let{id:l}=a;if(!e.has(l))c?.dictionary&&e.set(l,c.dictionary);else if(e.get(l)!==c.dictionary)throw new Error("Cannot create Schema containing two different dictionaries with the same Id")}}return e}var W0,Y0,ct,Pi,Dn=m(()=>{hr();Ri();he();pe();yt();vo();ii();rr();il();ol();Y0=Symbol.for("apache-arrow/RecordBatch"),ct=class r{static isRecordBatch(t){return t?.[Y0]===!0}constructor(...t){switch(t.length){case 3:case 2:{if([this.schema]=t,!(this.schema instanceof j))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=D({nullCount:0,type:new ut(this.schema.fields),children:this.schema.fields.map(e=>D({type:e.type,nullCount:0}))}),this._metadata=new Map]=t,!(this.data instanceof T))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=$0(this.schema,this.data.children,this.data.length);break}case 1:{let[e]=t,{fields:n,children:s,length:i}=Object.keys(e).reduce((c,l,u)=>(c.children[u]=e[l],c.length=Math.max(c.length,e[l].length),c.fields[u]=S.new({name:l,type:e[l].type,nullable:!0}),c),{length:0,fields:new Array,children:new Array}),o=new j(n),a=D({type:new ut(n),length:i,children:s,nullCount:0});[this.schema,this.data]=$0(o,a.children,i),this._metadata=new Map;break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get metadata(){return this._metadata}get dictionaries(){return this._dictionaries||(this._dictionaries=Z0(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(t){return this.data.getValid(t)}get(t){return Pt.visit(this.data,t)}at(t){return this.get(oi(t,this.numRows))}set(t,e){return Qt.visit(this.data,t,e)}indexOf(t,e){return ui.visit(this.data,t,e)}[Symbol.iterator](){return Bo.visit(new A([this.data]))}toArray(){return[...this]}concat(...t){return new st(this.schema,[this,...t])}slice(t,e){let[n]=new A([this.data]).slice(t,e).data;return new r(this.schema,n,this._metadata)}getChild(t){var e;return this.getChildAt((e=this.schema.fields)===null||e===void 0?void 0:e.findIndex(n=>n.name===t))}getChildAt(t){return t>-1&&t<this.schema.fields.length?new A([this.data.children[t]]):null}setChild(t,e){var n;return this.setChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(s=>s.name===t),e)}setChildAt(t,e){let n=this.schema,s=this.data;if(t>-1&&t<this.numCols){e||(e=new A([D({type:new Et,length:this.numRows})]));let i=n.fields.slice(),o=s.children.slice(),a=i[t].clone({type:e.type});[i[t],o[t]]=[a,e.data[0]],n=new j(i,new Map(this.schema.metadata)),s=D({type:new ut(i),length:s.length,children:o})}return new r(n,s,this._metadata)}select(t){let e=this.schema.select(t),n=new ut(e.fields),s=[];for(let i of t){let o=this.schema.fields.findIndex(a=>a.name===i);~o&&(s[o]=this.data.children[o])}return new r(e,D({type:n,length:this.numRows,children:s}),this._metadata)}selectAt(t){let e=this.schema.selectAt(t),n=t.map(i=>this.data.children[i]).filter(Boolean),s=D({type:new ut(e.fields),length:this.numRows,children:n});return new r(e,s,this._metadata)}};W0=Symbol.toStringTag;ct[W0]=(r=>(r._nullCount=-1,r[Symbol.isConcatSpreadable]=!0,r[Y0]=!0,"RecordBatch"))(ct.prototype);Object.defineProperty(ct,Symbol.hasInstance,{value:function(t){return Function.prototype[Symbol.hasInstance].call(this,t)||this===ct&&ct.isRecordBatch(t)}});Pi=class extends ct{constructor(t,e){let n=t.fields.map(i=>D({type:i.type})),s=D({type:new ut(t.fields),length:0,nullCount:0,children:n});super(t,s,e||new Map)}}});function _l(r,t=0){for(let e=-1,n=Do.length;++e<n;)if(Do[e]!==r[t+e])return!1;return!0}var Zh,Hh,H0,X0,ks,ki,zi,Il,Yh,Do,Co,Xh,K0,Ll=m(()=>{Pe();Mt();nt();ms();qn();uh();Gt();ys();Pa();Zh=r=>`Expected ${Q[r]} Message in stream, but was null or length 0.`,Hh=r=>`Header pointer of flatbuffer-encoded ${Q[r]} Message is null or length 0.`,H0=(r,t)=>`Expected to read ${r} metadata bytes, but only read ${t}.`,X0=(r,t)=>`Expected to read ${r} bytes for message body, but only read ${t}.`,ks=class{constructor(t){this.source=t instanceof mr?t:new mr(t)}[Symbol.iterator](){return this}next(){let t;return(t=this.readMetadataLength()).done?At:t.value===-1&&(t=this.readMetadataLength()).done?At:(t=this.readMetadata(t.value)).done?At:t}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}readMessage(t){let e;if((e=this.next()).done)return null;if(t!=null&&e.value.headerType!==t)throw new Error(Zh(t));return e.value}readMessageBody(t){if(t<=0)return new Uint8Array(0);let e=O(this.source.read(t));if(e.byteLength<t)throw new Error(X0(t,e.byteLength));return e.byteOffset%8===0&&e.byteOffset+e.byteLength<=e.buffer.byteLength?e:e.slice()}readSchema(t=!1){let e=Q.Schema,n=this.readMessage(e),s=n?.header();if(t&&!s)throw new Error(Hh(e));return s}readMetadataLength(){let t=this.source.read(Il),e=t&&new Zt(t),n=e?.readInt32(0)||0;return{done:n===0,value:n}}readMetadata(t){let e=this.source.read(t);if(!e)return At;if(e.byteLength<t)throw new Error(H0(t,e.byteLength));return{done:!1,value:ye.decode(e)}}},ki=class{constructor(t,e){this.source=t instanceof $e?t:yc(t)?new gs(t,e):new $e(t)}[Symbol.asyncIterator](){return this}next(){return I(this,void 0,void 0,function*(){let t;return(t=yield this.readMetadataLength()).done?At:t.value===-1&&(t=yield this.readMetadataLength()).done?At:(t=yield this.readMetadata(t.value)).done?At:t})}throw(t){return I(this,void 0,void 0,function*(){return yield this.source.throw(t)})}return(t){return I(this,void 0,void 0,function*(){return yield this.source.return(t)})}readMessage(t){return I(this,void 0,void 0,function*(){let e;if((e=yield this.next()).done)return null;if(t!=null&&e.value.headerType!==t)throw new Error(Zh(t));return e.value})}readMessageBody(t){return I(this,void 0,void 0,function*(){if(t<=0)return new Uint8Array(0);let e=O(yield this.source.read(t));if(e.byteLength<t)throw new Error(X0(t,e.byteLength));return e.byteOffset%8===0&&e.byteOffset+e.byteLength<=e.buffer.byteLength?e:e.slice()})}readSchema(){return I(this,arguments,void 0,function*(t=!1){let e=Q.Schema,n=yield this.readMessage(e),s=n?.header();if(t&&!s)throw new Error(Hh(e));return s})}readMetadataLength(){return I(this,void 0,void 0,function*(){let t=yield this.source.read(Il),e=t&&new Zt(t),n=e?.readInt32(0)||0;return{done:n===0,value:n}})}readMetadata(t){return I(this,void 0,void 0,function*(){let e=yield this.source.read(t);if(!e)return At;if(e.byteLength<t)throw new Error(H0(t,e.byteLength));return{done:!1,value:ye.decode(e)}})}},zi=class extends ks{constructor(t){super(new Uint8Array(0)),this._schema=!1,this._body=[],this._batchIndex=0,this._dictionaryIndex=0,this._json=t instanceof Ra?t:new Ra(t)}next(){let{_json:t}=this;if(!this._schema)return this._schema=!0,{done:!1,value:ye.fromJSON(t.schema,Q.Schema)};if(this._dictionaryIndex<t.dictionaries.length){let e=t.dictionaries[this._dictionaryIndex++];return this._body=e.data.columns,{done:!1,value:ye.fromJSON(e,Q.DictionaryBatch)}}if(this._batchIndex<t.batches.length){let e=t.batches[this._batchIndex++];return this._body=e.columns,{done:!1,value:ye.fromJSON(e,Q.RecordBatch)}}return this._body=[],At}readMessageBody(t){return e(this._body);function e(n){return(n||[]).reduce((s,i)=>[...s,...i.VALIDITY&&[i.VALIDITY]||[],...i.TYPE_ID&&[i.TYPE_ID]||[],...i.OFFSET&&[i.OFFSET]||[],...i.DATA&&[i.DATA]||[],...i.VIEWS&&[i.VIEWS]||[],...i.VARIADIC_DATA_BUFFERS||[],...e(i.children)],[])}}readMessage(t){let e;if((e=this.next()).done)return null;if(t!=null&&e.value.headerType!==t)throw new Error(Zh(t));return e.value}readSchema(){let t=Q.Schema,e=this.readMessage(t),n=e?.header();if(!e||!n)throw new Error(Hh(t));return n}},Il=4,Yh="ARROW1",Do=new Uint8Array(Yh.length);for(let r=0;r<Yh.length;r+=1)Do[r]=Yh.codePointAt(r);Co=Do.length,Xh=Co+Il,K0=Co*2+Il});var Kh,Jh,J0,Q0=m(()=>{ao();Kh=class{constructor(){this.LZ4_FRAME_MAGIC=new Uint8Array([4,34,77,24]),this.MIN_HEADER_LENGTH=7}isValidCodecEncode(t){let e=new Uint8Array([1,2,3,4,5,6,7,8]),n=t.encode(e);return this._isValidCompressed(n)}_isValidCompressed(t){return this._hasMinimumLength(t)&&this._hasValidMagicNumber(t)&&this._hasValidVersion(t)}_hasMinimumLength(t){return t.length>=this.MIN_HEADER_LENGTH}_hasValidMagicNumber(t){return this.LZ4_FRAME_MAGIC.every((e,n)=>t[n]===e)}_hasValidVersion(t){return(t[4]&192)>>6===1}},Jh=class{constructor(){this.ZSTD_MAGIC=new Uint8Array([40,181,47,253]),this.MIN_HEADER_LENGTH=6}isValidCodecEncode(t){let e=new Uint8Array([1,2,3,4,5,6,7,8]),n=t.encode(e);return this._isValidCompressed(n)}_isValidCompressed(t){return this._hasMinimumLength(t)&&this._hasValidMagicNumber(t)}_hasMinimumLength(t){return t.length>=this.MIN_HEADER_LENGTH}_hasValidMagicNumber(t){return this.ZSTD_MAGIC.every((e,n)=>t[n]===e)}},J0={[Ht.LZ4_FRAME]:new Kh,[Ht.ZSTD]:new Jh}});var Qh,zs,Tl=m(()=>{ao();Q0();Qh=class{constructor(){this.registry={}}set(t,e){if(e?.encode&&typeof e.encode=="function"&&!J0[t].isValidCodecEncode(e))throw new Error(`Encoder for ${Ht[t]} is not valid.`);this.registry[t]=e}get(t){var e;return((e=this.registry)===null||e===void 0?void 0:e[t])||null}},zs=new Qh});function ng(r,t){return t&&typeof t.autoDestroy=="boolean"?t.autoDestroy:r.autoDestroy}function*tg(r){let t=Oe.from(r);try{if(!t.open({autoDestroy:!1}).closed)do yield t;while(!t.reset().open().closed)}finally{t.cancel()}}function eg(r){return xe(this,arguments,function*(){let e=yield Y(Oe.from(r));try{if(!(yield Y(e.open({autoDestroy:!1}))).closed)do yield yield Y(e);while(!(yield Y(e.reset().open())).closed)}finally{yield Y(e.cancel())}})}function jv(r){return new kr(new ed(r))}function qv(r){let t=r.peek(Co+7&-8);return t&&t.byteLength>=4?_l(t)?new Fn(new Dl(r.read())):new kr(new Oo(r)):new kr(new Oo((function*(){})()))}function $v(r){return I(this,void 0,void 0,function*(){let t=yield r.peek(Co+7&-8);return t&&t.byteLength>=4?_l(t)?new Fn(new Dl(yield r.read())):new Cn(new Eo(r)):new Cn(new Eo((function(){return xe(this,arguments,function*(){})})()))})}function Wv(r){return I(this,void 0,void 0,function*(){let{size:t}=yield r.stat(),e=new gs(r,t);return t>=K0&&_l(yield e.readAt(0,Co+7&-8))?new Fo(new td(e)):new Cn(new Eo(e))})}var Oe,kr,Cn,Fn,Fo,Ml,Oo,Eo,Dl,td,ed,Ya=m(()=>{Pe();hr();he();yt();Mt();oh();ca();ms();ys();uh();R0();Dn();Pa();Ll();qn();Tl();Hr();nt();Oe=class r extends di{constructor(t){super(),this._impl=t}get closed(){return this._impl.closed}get schema(){return this._impl.schema}get autoDestroy(){return this._impl.autoDestroy}get dictionaries(){return this._impl.dictionaries}get numDictionaries(){return this._impl.numDictionaries}get numRecordBatches(){return this._impl.numRecordBatches}get footer(){return this._impl.isFile()?this._impl.footer:null}isSync(){return this._impl.isSync()}isAsync(){return this._impl.isAsync()}isFile(){return this._impl.isFile()}isStream(){return this._impl.isStream()}next(){return this._impl.next()}throw(t){return this._impl.throw(t)}return(t){return this._impl.return(t)}cancel(){return this._impl.cancel()}reset(t){return this._impl.reset(t),this._DOMStream=void 0,this._nodeStream=void 0,this}open(t){let e=this._impl.open(t);return Ke(e)?e.then(()=>this):this}readRecordBatch(t){return this._impl.isFile()?this._impl.readRecordBatch(t):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return Yt.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return Yt.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(t){throw new Error('"throughNode" not available in this environment')}static throughDOM(t,e){throw new Error('"throughDOM" not available in this environment')}static from(t){return t instanceof r?t:pc(t)?jv(t):yc(t)?Wv(t):Ke(t)?I(this,void 0,void 0,function*(){return yield r.from(yield t)}):gc(t)||ia(t)||wc(t)||lr(t)?$v(new $e(t)):qv(new mr(t))}static readAll(t){return t instanceof r?t.isSync()?tg(t):eg(t):pc(t)||ArrayBuffer.isView(t)||Sr(t)||mc(t)?tg(t):eg(t)}},kr=class extends Oe{constructor(t){super(t),this._impl=t}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return xe(this,arguments,function*(){yield Y(yield*so(He(this[Symbol.iterator]())))})}},Cn=class extends Oe{constructor(t){super(t),this._impl=t}readAll(){return I(this,void 0,void 0,function*(){var t,e,n,s;let i=new Array;try{for(var o=!0,a=He(this),c;c=yield a.next(),t=c.done,!t;o=!0){s=c.value,o=!1;let l=s;i.push(l)}}catch(l){e={error:l}}finally{try{!o&&!t&&(n=a.return)&&(yield n.call(a))}finally{if(e)throw e.error}}return i})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}},Fn=class extends kr{constructor(t){super(t),this._impl=t}},Fo=class extends Cn{constructor(t){super(t),this._impl=t}},Ml=class{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(t=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=t}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(t){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=t,this.dictionaries=new Map,this}_loadRecordBatch(t,e,n){let s;if(t.compression!=null){let o=zs.get(t.compression.type);if(o?.decode&&typeof o.decode=="function"){let{decommpressedBody:a,buffers:c}=this._decompressBuffers(t,e,o);s=this._loadCompressedVectors(t,a,this.schema.fields),t=new zt(t.length,t.nodes,c,null)}else throw new Error("Record batch is compressed but codec not found")}else s=this._loadVectors(t,e,this.schema.fields);let i=D({type:new ut(this.schema.fields),length:t.length,children:s});return new ct(this.schema,i,n)}_loadDictionaryBatch(t,e){let{id:n,isDelta:s}=t,{dictionaries:i,schema:o}=this,a=i.get(n),c=o.dictionaries.get(n),l;if(t.data.compression!=null){let u=zs.get(t.data.compression.type);if(u?.decode&&typeof u.decode=="function"){let{decommpressedBody:f,buffers:h}=this._decompressBuffers(t.data,e,u);l=this._loadCompressedVectors(t.data,f,[c]),t=new me(new zt(t.data.length,t.data.nodes,h,null,t.data.variadicBufferCounts),n,s)}else throw new Error("Dictionary batch is compressed but codec not found")}else l=this._loadVectors(t.data,e,[c]);return(a&&s?a.concat(new A(l)):new A(l)).memoize()}_loadVectors(t,e,n){return new To(e,t.nodes,t.buffers,this.dictionaries,this.schema.metadataVersion,t.variadicBufferCounts).visitMany(n)}_loadCompressedVectors(t,e,n){return new ml(e,t.nodes,t.buffers,this.dictionaries,this.schema.metadataVersion,t.variadicBufferCounts).visitMany(n)}_decompressBuffers(t,e,n){let s=[],i=[],o=0;for(let{offset:a,length:c}of t.buffers){if(c===0){s.push(new Uint8Array(0)),i.push(new Ut(o,0));continue}let l=new Zt(e.subarray(a,a+c)),u=J(l.readInt64(0)),f=l.bytes().subarray(8),h=u===-1?f:n.decode(f);s.push(h);let p=(o+7&-8)-o;o+=p,i.push(new Ut(o,h.length)),o+=h.length}return{decommpressedBody:s,buffers:i}}},Oo=class extends Ml{constructor(t,e){super(e),this._reader=pc(t)?new zi(this._handle=t):new ks(this._handle=t)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(t){return this.closed||(this.autoDestroy=ng(this,t),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(t):At}return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(t):At}next(){if(this.closed)return At;let t,{_reader:e}=this;for(;t=this._readNextMessageAndValidate();)if(t.isSchema())this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let n=t.header(),s=e.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(n,s,t.metadata)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let n=t.header(),s=e.readMessageBody(t.bodyLength),i=this._loadDictionaryBatch(n,s);this.dictionaries.set(n.id,i)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Pi(this.schema)}):this.return()}_readNextMessageAndValidate(t){return this._reader.readMessage(t)}},Eo=class extends Ml{constructor(t,e){super(e),this._reader=new ki(this._handle=t)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return I(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(t){return I(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=ng(this,t),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(t){return I(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(t):At})}return(t){return I(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(t):At})}next(){return I(this,void 0,void 0,function*(){if(this.closed)return At;let t,{_reader:e}=this;for(;t=yield this._readNextMessageAndValidate();)if(t.isSchema())yield this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let n=t.header(),s=yield e.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(n,s,t.metadata)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let n=t.header(),s=yield e.readMessageBody(t.bodyLength),i=this._loadDictionaryBatch(n,s);this.dictionaries.set(n.id,i)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Pi(this.schema)}):yield this.return()})}_readNextMessageAndValidate(t){return I(this,void 0,void 0,function*(){return yield this._reader.readMessage(t)})}},Dl=class extends Oo{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(t,e){super(t instanceof ka?t:new ka(t),e)}isSync(){return!0}isFile(){return!0}open(t){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(let e of this._footer.dictionaryBatches())e&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(t)}readRecordBatch(t){var e;if(this.closed)return null;this._footer||this.open();let n=(e=this._footer)===null||e===void 0?void 0:e.getRecordBatch(t);if(n&&this._handle.seek(n.offset)){let s=this._reader.readMessage(Q.RecordBatch);if(s?.isRecordBatch()){let i=s.header(),o=this._reader.readMessageBody(s.bodyLength);return this._loadRecordBatch(i,o,s.metadata)}}return null}_readDictionaryBatch(t){var e;let n=(e=this._footer)===null||e===void 0?void 0:e.getDictionaryBatch(t);if(n&&this._handle.seek(n.offset)){let s=this._reader.readMessage(Q.DictionaryBatch);if(s?.isDictionaryBatch()){let i=s.header(),o=this._reader.readMessageBody(s.bodyLength),a=this._loadDictionaryBatch(i,o);this.dictionaries.set(i.id,a)}}}_readFooter(){let{_handle:t}=this,e=t.size-Xh,n=t.readInt32(e),s=t.readAt(e-n,n);return vn.decode(s)}_readNextMessageAndValidate(t){var e;if(this._footer||this.open(),this._footer&&this._recordBatchIndex<this.numRecordBatches){let n=(e=this._footer)===null||e===void 0?void 0:e.getRecordBatch(this._recordBatchIndex);if(n&&this._handle.seek(n.offset))return this._reader.readMessage(t)}return null}},td=class extends Eo{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(t,...e){let n=typeof e[0]!="number"?e.shift():void 0,s=e[0]instanceof Map?e.shift():void 0;super(t instanceof gs?t:new gs(t,n),s)}isFile(){return!0}isAsync(){return!0}open(t){let e=Object.create(null,{open:{get:()=>super.open}});return I(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(let n of this._footer.dictionaryBatches())n&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield e.open.call(this,t)})}readRecordBatch(t){return I(this,void 0,void 0,function*(){var e;if(this.closed)return null;this._footer||(yield this.open());let n=(e=this._footer)===null||e===void 0?void 0:e.getRecordBatch(t);if(n&&(yield this._handle.seek(n.offset))){let s=yield this._reader.readMessage(Q.RecordBatch);if(s?.isRecordBatch()){let i=s.header(),o=yield this._reader.readMessageBody(s.bodyLength);return this._loadRecordBatch(i,o,s.metadata)}}return null})}_readDictionaryBatch(t){return I(this,void 0,void 0,function*(){var e;let n=(e=this._footer)===null||e===void 0?void 0:e.getDictionaryBatch(t);if(n&&(yield this._handle.seek(n.offset))){let s=yield this._reader.readMessage(Q.DictionaryBatch);if(s?.isDictionaryBatch()){let i=s.header(),o=yield this._reader.readMessageBody(s.bodyLength),a=this._loadDictionaryBatch(i,o);this.dictionaries.set(i.id,a)}}})}_readFooter(){return I(this,void 0,void 0,function*(){let{_handle:t}=this;t._pending&&(yield t._pending);let e=t.size-Xh,n=yield t.readInt32(e),s=yield t.readAt(e-n,n);return vn.decode(s)})}_readNextMessageAndValidate(t){return I(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex<this.numRecordBatches){let e=this._footer.getRecordBatch(this._recordBatchIndex);if(e&&(yield this._handle.seek(e.offset)))return yield this._reader.readMessage(t)}return null})}},ed=class extends Oo{constructor(t,e){super(t,e)}_loadVectors(t,e,n){return new pl(e,t.nodes,t.buffers,this.dictionaries,this.schema.metadataVersion,t.variadicBufferCounts).visitMany(n)}}});function ir(r){let t=r.byteLength+7&-8;return this.buffers.push(r),this.bufferRegions.push(new Ut(this._byteLength,t)),this._byteLength+=t,this}function Yv(r){var t;let{type:e,length:n,typeIds:s,valueOffsets:i}=r;if(ir.call(this,s),e.mode===lt.Sparse)return rd.call(this,r);if(e.mode===lt.Dense){if(r.offset<=0)return ir.call(this,i),rd.call(this,r);{let o=new Int32Array(n),a=Object.create(null),c=Object.create(null);for(let l,u,f=-1;++f<n;)(l=s[f])!==void 0&&((u=a[l])===void 0&&(u=a[l]=i[f]),o[f]=i[f]-u,c[l]=((t=c[l])!==null&&t!==void 0?t:0)+1);ir.call(this,o),this.visitMany(r.children.map((l,u)=>{let f=e.typeIds[u],h=a[f],p=c[f];return l.slice(h,Math.min(n,p))}))}}return this}function Zv(r){let t;return r.nullCount>=r.length?ir.call(this,new Uint8Array(r.length+7>>3)):(t=r.values)instanceof Uint8Array?ir.call(this,ai(r.offset,r.length,t)):ir.call(this,ci(r.values))}function On(r){return ir.call(this,r.values.subarray(0,r.length*r.stride))}function Cl(r){let{length:t,values:e,valueOffsets:n}=r,s=J(n[0]),i=J(n[t]),o=Math.min(i-s,e.byteLength-s);return ir.call(this,xc(-s,t+1,n)),ir.call(this,e.subarray(s,s+o)),this}function sg(r){let{offset:t,length:e,stride:n,values:s,variadicBuffers:i=[]}=r;if(!s)throw new Error("BinaryView data is missing view buffer");let o=t*n,a=o+e*n;ir.call(this,s.subarray(o,a));for(let c of i)ir.call(this,c);return this._variadicBufferCounts.push(i.length),this}function Fl(r){let{length:t,valueOffsets:e}=r;if(e){let n=J(e[0]),s=J(e[t]);return ir.call(this,xc(-n,t+1,e)),this.visit(r.children[0].slice(n,s-n))}return this.visit(r.children[0])}function rd(r){return this.visitMany(r.type.children.map((t,e)=>r.children[e]).filter(Boolean))[0]}var St,ig=m(()=>{he();je();Mt();Dn();Gt();li();ms();yt();Hr();St=class r extends F{static assemble(...t){let e=s=>s.flatMap(i=>Array.isArray(i)?e(i):i instanceof ct?i.data.children:i.data),n=new r;return n.visitMany(e(t)),n}constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[],this._variadicBufferCounts=[]}visit(t){if(t instanceof A)return this.visitMany(t.data),this;let{type:e}=t;if(!w.isDictionary(e)){let{length:n}=t;if(n>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");if(w.isUnion(e))this.nodes.push(new dr(n,0));else{let{nullCount:s}=t;w.isNull(e)||ir.call(this,s<=0?new Uint8Array(0):ai(t.offset,n,t.nullBitmap)),this.nodes.push(new dr(n,s))}}return super.visit(t)}visitNull(t){return this}visitDictionary(t){return this.visit(t.clone(t.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}get variadicBufferCounts(){return this._variadicBufferCounts}};St.prototype.visitBool=Zv;St.prototype.visitInt=On;St.prototype.visitFloat=On;St.prototype.visitUtf8=Cl;St.prototype.visitLargeUtf8=Cl;St.prototype.visitUtf8View=sg;St.prototype.visitBinary=Cl;St.prototype.visitLargeBinary=Cl;St.prototype.visitBinaryView=sg;St.prototype.visitFixedSizeBinary=On;St.prototype.visitDate=On;St.prototype.visitTimestamp=On;St.prototype.visitTime=On;St.prototype.visitDecimal=On;St.prototype.visitList=Fl;St.prototype.visitLargeList=Fl;St.prototype.visitStruct=rd;St.prototype.visitUnion=Yv;St.prototype.visitInterval=On;St.prototype.visitDuration=On;St.prototype.visitFixedSizeList=Fl;St.prototype.visitMap=Fl});var Ol,og=m(()=>{je();Tc();Mt();Ol=class extends F{visit(t){return t==null?void 0:super.visit(t)}visitNull({typeId:t}){return{name:k[t].toLowerCase()}}visitInt({typeId:t,bitWidth:e,isSigned:n}){return{name:k[t].toLowerCase(),bitWidth:e,isSigned:n}}visitFloat({typeId:t,precision:e}){return{name:k[t].toLowerCase(),precision:ot[e]}}visitBinary({typeId:t}){return{name:k[t].toLowerCase()}}visitLargeBinary({typeId:t}){return{name:k[t].toLowerCase()}}visitBinaryView({typeId:t}){return{name:k[t].toLowerCase()}}visitBool({typeId:t}){return{name:k[t].toLowerCase()}}visitUtf8({typeId:t}){return{name:k[t].toLowerCase()}}visitLargeUtf8({typeId:t}){return{name:k[t].toLowerCase()}}visitUtf8View({typeId:t}){return{name:k[t].toLowerCase()}}visitDecimal({typeId:t,scale:e,precision:n,bitWidth:s}){return{name:k[t].toLowerCase(),scale:e,precision:n,bitWidth:s}}visitDate({typeId:t,unit:e}){return{name:k[t].toLowerCase(),unit:mt[e]}}visitTime({typeId:t,unit:e,bitWidth:n}){return{name:k[t].toLowerCase(),unit:v[e],bitWidth:n}}visitTimestamp({typeId:t,timezone:e,unit:n}){return{name:k[t].toLowerCase(),unit:v[n],timezone:e}}visitInterval({typeId:t,unit:e}){return{name:k[t].toLowerCase(),unit:et[e]}}visitDuration({typeId:t,unit:e}){return{name:k[t].toLocaleLowerCase(),unit:v[e]}}visitList({typeId:t}){return{name:k[t].toLowerCase()}}visitLargeList({typeId:t}){return{name:k[t].toLowerCase()}}visitStruct({typeId:t}){return{name:k[t].toLowerCase()}}visitUnion({typeId:t,mode:e,typeIds:n}){return{name:k[t].toLowerCase(),mode:lt[e].toUpperCase(),typeIds:[...n]}}visitDictionary(t){return this.visit(t.dictionary)}visitFixedSizeBinary({typeId:t,byteWidth:e}){return{name:k[t].toLowerCase(),byteWidth:e}}visitFixedSizeList({typeId:t,listSize:e}){return{name:k[t].toLowerCase(),listSize:e}}visitMap({typeId:t,keysSorted:e}){return{name:k[t].toLowerCase(),keysSorted:e}}}});function*nd(r){for(let t of r)yield t.reduce((e,n)=>`${e}${("0"+(n&255).toString(16)).slice(-2)}`,"").toUpperCase()}function*En(r,t){let e=new Uint32Array(r.buffer,r.byteOffset,r.byteLength/Uint32Array.BYTES_PER_ELEMENT);for(let n=-1,s=e.length/t;++n<s;)yield`${si.new(e.subarray((n+0)*t,(n+1)*t),!1)}`}function ag(r,t){let n=r.values,s=new DataView(n.buffer,n.byteOffset,n.byteLength),i=n.byteLength/16,o=h=>Array.from(h).map(p=>("0"+(p&255).toString(16)).slice(-2)).join("").toUpperCase(),a=Array.from({length:i},(h,p)=>{let y=p*16,g=s.getInt32(y,!0);return[y,g]}).map(([h,p])=>p>12?{SIZE:p,PREFIX_HEX:o(n.subarray(h+4,h+8)),BUFFER_INDEX:s.getInt32(h+8,!0),OFFSET:s.getInt32(h+12,!0)}:{SIZE:p,INLINED:t(n.subarray(h+4,h+4+p))}),c=[...new Set(a.map(h=>h.BUFFER_INDEX).filter(h=>h!==void 0))],l=c.map(h=>o(r.variadicBuffers[h])),u=new Map(c.map((h,p)=>[h,p]));return{VIEWS:a.map(h=>h.BUFFER_INDEX!==void 0?Object.assign(Object.assign({},h),{BUFFER_INDEX:u.get(h.BUFFER_INDEX)}):h),VARIADIC_DATA_BUFFERS:l}}var Za,cg=m(()=>{Dc();he();je();Mt();Mt();li();dl();yt();Za=class r extends F{static assemble(...t){let e=new r;return t.map(({schema:n,data:s})=>e.visitMany(n.fields,s.children))}visit({name:t},e){let{length:n}=e,{offset:s,nullCount:i,nullBitmap:o}=e,a=w.isDictionary(e.type)?e.type.indices:e.type,c=Object.assign([],e.buffers,{[Z.VALIDITY]:void 0});return Object.assign({name:t,count:n,VALIDITY:w.isNull(a)||w.isUnion(a)?void 0:i<=0?Array.from({length:n},()=>1):[...new Jr(o,s,n,null,Jc)]},super.visit(e.clone(a,s,n,0,c)))}visitNull(){return{}}visitBool({values:t,offset:e,length:n}){return{DATA:[...new Jr(t,e,n,null,Ao)]}}visitInt(t){return{DATA:t.type.bitWidth<64?[...t.values]:[...En(t.values,2)]}}visitFloat(t){return{DATA:[...t.values]}}visitUtf8(t){return{DATA:[...new A([t])],OFFSET:[...t.valueOffsets]}}visitLargeUtf8(t){return{DATA:[...new A([t])],OFFSET:[...En(t.valueOffsets,2)]}}visitBinary(t){return{DATA:[...nd(new A([t]))],OFFSET:[...t.valueOffsets]}}visitLargeBinary(t){return{DATA:[...nd(new A([t]))],OFFSET:[...En(t.valueOffsets,2)]}}visitBinaryView(t){return ag(t,e=>Array.from(e).map(n=>("0"+(n&255).toString(16)).slice(-2)).join("").toUpperCase())}visitUtf8View(t){return ag(t,e=>Array.from(e).map(n=>String.fromCodePoint(n)).join(""))}visitFixedSizeBinary(t){return{DATA:[...nd(new A([t]))]}}visitDate(t){return{DATA:t.type.unit===mt.DAY?[...t.values]:[...En(t.values,2)]}}visitTimestamp(t){return{DATA:[...En(t.values,2)]}}visitTime(t){return{DATA:t.type.unit<v.MICROSECOND?[...t.values]:[...En(t.values,2)]}}visitDecimal(t){return{DATA:[...En(t.values,4)]}}visitList(t){return{OFFSET:[...t.valueOffsets],children:this.visitMany(t.type.children,t.children)}}visitLargeList(t){return{OFFSET:[...En(t.valueOffsets,2)],children:this.visitMany(t.type.children,t.children)}}visitStruct(t){return{children:this.visitMany(t.type.children,t.children)}}visitUnion(t){return{TYPE_ID:[...t.typeIds],OFFSET:t.type.mode===lt.Dense?[...t.valueOffsets]:void 0,children:this.visitMany(t.type.children,t.children)}}visitInterval(t){switch(t.type.unit){case et.YEAR_MONTH:return{DATA:[...t.values]};case et.DAY_TIME:return{DATA:yh(t.values)};case et.MONTH_DAY_NANO:return{DATA:gh(t.values,!0)}}}visitDuration(t){return{DATA:[...En(t.values,2)]}}visitFixedSizeList(t){return{children:this.visitMany(t.type.children,t.children)}}visitMap(t){return{OFFSET:[...t.valueOffsets],children:this.visitMany(t.type.children,t.children)}}}});function sd(r,t){let e=t;t instanceof st&&(e=t.batches,r.reset(void 0,t.schema));for(let n of e)r.write(n);return r.finish()}function id(r,t){return I(this,void 0,void 0,function*(){var e,n,s,i,o,a,c;try{for(e=!0,n=He(t);s=yield n.next(),i=s.done,!i;e=!0){c=s.value,e=!1;let l=c;r.write(l)}}catch(l){o={error:l}}finally{try{!e&&!i&&(a=n.return)&&(yield a.call(n))}finally{if(o)throw o.error}}return r.finish()})}function lg({name:r,type:t,nullable:e}){let n=new Ol;return{name:r,nullable:e,type:n.visit(t),children:(t.children||[]).map(s=>lg(s)),dictionary:w.isDictionary(t)?{id:t.id,isOrdered:t.isOrdered,indexType:n.visit(t.indices)}:void 0}}function Hv(r,t,e=!1){let[n]=Za.assemble(new ct({[t]:r}));return JSON.stringify({id:t,isDelta:e,data:{count:r.length,columns:n}},null,2)}function Xv(r){let[t]=Za.assemble(r);return JSON.stringify({count:r.numRows,columns:t},null,2)}var rn,Un,Nn,Ha,El=m(()=>{Pe();Ri();Ll();he();yt();ms();ms();oh();Mt();Wa();ys();ig();og();cg();Gt();Dn();Pa();qn();ao();Tl();nt();rn=class extends di{static throughNode(t){throw new Error('"throughNode" not available in this environment')}static throughDOM(t,e){throw new Error('"throughDOM" not available in this environment')}constructor(t){if(super(),this._position=0,this._started=!1,this._compression=null,this._sink=new pr,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,ve(t)||(t={autoDestroy:!0,writeLegacyIpcFormat:!1,compressionType:null}),this._autoDestroy=typeof t.autoDestroy=="boolean"?t.autoDestroy:!0,this._writeLegacyIpcFormat=typeof t.writeLegacyIpcFormat=="boolean"?t.writeLegacyIpcFormat:!1,t.compressionType!=null){if(this._writeLegacyIpcFormat)throw new Error("Legacy IPC format does not support columnar compression. Use modern IPC format (writeLegacyIpcFormat=false).");if(Object.values(Ht).includes(t.compressionType))this._compression=new hi(t.compressionType);else{let e=Object.values(Ht).filter(n=>typeof n=="string");throw new Error(`Unsupported compressionType: ${t.compressionType} Available types: ${e.join(", ")}`)}}else this._compression=null}toString(t=!1){return this._sink.toString(t)}toUint8Array(t=!1){return this._sink.toUint8Array(t)}writeAll(t){return Ke(t)?t.then(e=>this.writeAll(e)):lr(t)?id(this,t):sd(this,t)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(t){return this._sink.toDOMStream(t)}toNodeStream(t){return this._sink.toNodeStream(t)}close(){return this.reset()._sink.close()}abort(t){return this.reset()._sink.abort(t)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(t=this._sink,e=null){return t===this._sink||t instanceof pr?this._sink=t:(this._sink=new pr,t&&Lm(t)?this.toDOMStream({type:"bytes"}).pipeTo(t):t&&Tm(t)&&this.toNodeStream({objectMode:!1}).pipe(t)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,(!e||!Ni(e,this._schema))&&(e==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=e,this._writeSchema(e))),this}write(t){let e=null;if(this._sink){if(t==null)return this.finish()&&void 0;if(t instanceof st&&!(e=t.schema))return this.finish()&&void 0;if(t instanceof ct&&!(e=t.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(e&&!Ni(e,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,e)}t instanceof ct?t instanceof Pi||this._writeRecordBatch(t):t instanceof st?this.writeAll(t.batches):Sr(t)&&this.writeAll(t)}_writeMessage(t,e=8){let n=e-1,s=ye.encode(t),i=s.byteLength,o=this._writeLegacyIpcFormat?4:8,a=i+o+n&~n,c=a-i-o;return t.headerType===Q.RecordBatch?this._recordBatchBlocks.push(new Nr(a,t.bodyLength,this._position)):t.headerType===Q.DictionaryBatch&&this._dictionaryBlocks.push(new Nr(a,t.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-o)),i>0&&this._write(s),this._writePadding(c)}_write(t){if(this._started){let e=O(t);e&&e.byteLength>0&&(this._sink.write(e),this._position+=e.byteLength)}return this}_writeSchema(t){return this._writeMessage(ye.from(t))}_writeFooter(t){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(Do)}_writePadding(t){return t>0?this._write(new Uint8Array(t)):this}_writeRecordBatch(t){let{byteLength:e,nodes:n,bufferRegions:s,buffers:i,variadicBufferCounts:o}=this._assembleRecordBatch(t),a=new zt(t.numRows,n,s,this._compression,o,t.metadata),c=ye.from(a,e);return this._writeDictionaries(t)._writeMessage(c)._writeBodyBuffers(i)}_assembleRecordBatch(t){let{byteLength:e,nodes:n,bufferRegions:s,buffers:i,variadicBufferCounts:o}=St.assemble(t);return this._compression!=null&&({byteLength:e,bufferRegions:s,buffers:i}=this._compressBodyBuffers(i)),{byteLength:e,nodes:n,bufferRegions:s,buffers:i,variadicBufferCounts:o}}_compressBodyBuffers(t){let e=zs.get(this._compression.type);if(!e?.encode||typeof e.encode!="function")throw new Error(`Codec for compression type "${Ht[this._compression.type]}" has invalid encode method`);let n=0,s=[],i=[];for(let a of t){let c=O(a);if(c.length===0){s.push(new Uint8Array(0),new Uint8Array(0)),i.push(new Ut(n,0));continue}let l=e.encode(c),u=l.length<c.length,f=u?l:c,h=u?f.length:-1,p=new Zt(new Uint8Array(8));p.writeInt64(0,BigInt(h)),s.push(p.bytes(),new Uint8Array(f));let y=(n+7&-8)-n;n+=y;let g=8+f.length;i.push(new Ut(n,g)),n+=g}let o=(n+7&-8)-n;return n+=o,{byteLength:n,bufferRegions:i,buffers:s}}_writeDictionaryBatch(t,e,n=!1){let{byteLength:s,nodes:i,bufferRegions:o,buffers:a,variadicBufferCounts:c}=this._assembleRecordBatch(new A([t])),l=new zt(t.length,i,o,this._compression,c),u=new me(l,e,n),f=ye.from(u,s);return this._writeMessage(f)._writeBodyBuffers(a)}_writeBodyBuffers(t){let e=this._compression!=null?2:1,n=new Array(e);for(let s=0;s<t.length;s+=e){let i=0;for(let a=-1;++a<e;)n[a]=t[s+a],i+=n[a].byteLength;if(i===0)continue;for(let a of n)this._write(a);let o=(i+7&-8)-i;o>0&&this._writePadding(o)}return this}_writeDictionaries(t){var e,n;for(let[s,i]of t.dictionaries){let o=(e=i?.data)!==null&&e!==void 0?e:[],a=this._seenDictionaries.get(s),c=(n=this._dictionaryDeltaOffsets.get(s))!==null&&n!==void 0?n:0;if(!a||a.data[0]!==o[0])for(let[l,u]of o.entries())this._writeDictionaryBatch(u,s,l>0);else if(c<o.length)for(let l of o.slice(c))this._writeDictionaryBatch(l,s,!0);this._seenDictionaries.set(s,i),this._dictionaryDeltaOffsets.set(s,o.length)}return this}},Un=class r extends rn{static writeAll(t,e){let n=new r(e);return Ke(t)?t.then(s=>n.writeAll(s)):lr(t)?id(n,t):sd(n,t)}},Nn=class r extends rn{static writeAll(t,e){let n=new r(e);return Ke(t)?t.then(s=>n.writeAll(s)):lr(t)?id(n,t):sd(n,t)}constructor(t){super(t),this._autoDestroy=!0,this._writeLegacyIpcFormat=!1}_writeSchema(t){return this._writeMagic()._writePadding(2)}_writeDictionaryBatch(t,e,n=!1){if(!n&&this._seenDictionaries.has(e))throw new Error("The Arrow File format does not support replacement dictionaries. ");return super._writeDictionaryBatch(t,e,n)}_writeFooter(t){let e=vn.encode(new vn(t,ht.V5,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(t)._write(e)._write(Int32Array.of(e.byteLength))._writeMagic()}},Ha=class r extends rn{static writeAll(t){return new r().writeAll(t)}constructor(){super(),this._autoDestroy=!0,this._recordBatches=[],this._recordBatchesWithDictionaries=[]}_writeMessage(){return this}_writeFooter(t){return this}_writeSchema(t){return this._write(`{
|
|
17
|
+
"schema": ${JSON.stringify({fields:t.fields.map(e=>lg(e))},null,2)}`)}_writeDictionaries(t){return t.dictionaries.size>0&&this._recordBatchesWithDictionaries.push(t),this}_writeDictionaryBatch(t,e,n=!1){return this._write(this._dictionaryBlocks.length===0?" ":`,
|
|
18
|
+
`),this._write(Hv(t,e,n)),this._dictionaryBlocks.push(new Nr(0,0,0)),this}_writeRecordBatch(t){return this._writeDictionaries(t),this._recordBatches.push(t),this}close(){if(this._recordBatchesWithDictionaries.length>0){this._write(`,
|
|
19
|
+
"dictionaries": [
|
|
20
|
+
`);for(let t of this._recordBatchesWithDictionaries)super._writeDictionaries(t);this._write(`
|
|
21
|
+
]`)}if(this._recordBatches.length>0){for(let t=-1,e=this._recordBatches.length;++t<e;)this._write(t===0?`,
|
|
22
|
+
"batches": [
|
|
23
|
+
`:`,
|
|
24
|
+
`),this._write(Xv(this._recordBatches[t])),this._recordBatchBlocks.push(new Nr(0,0,0));this._write(`
|
|
25
|
+
]`)}return this._schema&&this._write(`
|
|
26
|
+
}`),this._recordBatchesWithDictionaries=[],this._recordBatches=[],super.close()}}});function ug(r,t){if(lr(r))return Jv(r,t);if(Sr(r))return Kv(r,t);throw new Error("toDOMStream() must be called with an Iterable or AsyncIterable")}function Kv(r,t){let e=null,n=t?.type==="bytes"||!1,s=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(o){i(o,e||(e=r[Symbol.iterator]()))},pull(o){e?i(o,e):o.close()},cancel(){e?.return&&e.return(),e=null}}),Object.assign({highWaterMark:n?s:void 0},t));function i(o,a){let c,l=null,u=o.desiredSize||null;for(;!(l=a.next(n?u:null)).done;)if(ArrayBuffer.isView(l.value)&&(c=O(l.value))&&(u!=null&&n&&(u=u-c.byteLength+1),l.value=c),o.enqueue(l.value),u!=null&&--u<=0)return;o.close()}}function Jv(r,t){let e=null,n=t?.type==="bytes"||!1,s=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(o){return I(this,void 0,void 0,function*(){yield i(o,e||(e=r[Symbol.asyncIterator]()))})},pull(o){return I(this,void 0,void 0,function*(){e?yield i(o,e):o.close()})},cancel(){return I(this,void 0,void 0,function*(){e?.return&&(yield e.return()),e=null})}}),Object.assign({highWaterMark:n?s:void 0},t));function i(o,a){return I(this,void 0,void 0,function*(){let c,l=null,u=o.desiredSize||null;for(;!(l=yield a.next(n?u:null)).done;)if(ArrayBuffer.isView(l.value)&&(c=O(l.value))&&(u!=null&&n&&(u=u-c.byteLength+1),l.value=c),o.enqueue(l.value),u!=null&&--u<=0)return;o.close()})}}var fg=m(()=>{Pe();Gt();qn()});function pg(r){return new od(r)}var od,hg,dg,mg=m(()=>{Pe();Ga();od=class{constructor(t){this._numChunks=0,this._finished=!1,this._bufferedSize=0;let{["readableStrategy"]:e,["writableStrategy"]:n,["queueingStrategy"]:s="count"}=t,i=Bm(t,["readableStrategy","writableStrategy","queueingStrategy"]);this._controller=null,this._builder=Rr(i),this._getSize=s!=="bytes"?hg:dg;let{["highWaterMark"]:o=s==="bytes"?Math.pow(2,14):1e3}=Object.assign({},e),{["highWaterMark"]:a=s==="bytes"?Math.pow(2,14):1e3}=Object.assign({},n);this.readable=new ReadableStream({cancel:()=>{this._builder.clear()},pull:c=>{this._maybeFlush(this._builder,this._controller=c)},start:c=>{this._maybeFlush(this._builder,this._controller=c)}},{highWaterMark:o,size:s!=="bytes"?hg:dg}),this.writable=new WritableStream({abort:()=>{this._builder.clear()},write:()=>{this._maybeFlush(this._builder,this._controller)},close:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:a,size:c=>this._writeValueAndReturnChunkSize(c)})}_writeValueAndReturnChunkSize(t){let e=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(t)),this._bufferedSize-e}_maybeFlush(t,e){e!=null&&(this._bufferedSize>=e.desiredSize&&++this._numChunks&&this._enqueue(e,t.toVector()),t.finished&&((t.length>0||this._numChunks===0)&&++this._numChunks&&this._enqueue(e,t.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(e,null)))}_enqueue(t,e){this._bufferedSize=0,this._controller=null,e==null?t.close():t.enqueue(e)}},hg=r=>{var t;return(t=r?.length)!==null&&t!==void 0?t:0},dg=r=>{var t;return(t=r?.byteLength)!==null&&t!==void 0?t:0}});function Ul(r,t){let e=new pr,n=null,s=new ReadableStream({cancel(){return I(this,void 0,void 0,function*(){yield e.close()})},start(a){return I(this,void 0,void 0,function*(){yield o(a,n||(n=yield i()))})},pull(a){return I(this,void 0,void 0,function*(){n?yield o(a,n):a.close()})}});return{writable:new WritableStream(e,Object.assign({highWaterMark:Math.pow(2,14)},r)),readable:s};function i(){return I(this,void 0,void 0,function*(){return yield(yield Oe.from(e)).open(t)})}function o(a,c){return I(this,void 0,void 0,function*(){let l=a.desiredSize,u=null;for(;!(u=yield c.next()).done;)if(a.enqueue(u.value),l!=null&&--l<=0)return;a.close()})}}var yg=m(()=>{Pe();ys();Ya()});function Nl(r,t){let e=new this(r),n=new $e(e),s=new ReadableStream({cancel(){return I(this,void 0,void 0,function*(){yield n.cancel()})},pull(o){return I(this,void 0,void 0,function*(){yield i(o)})},start(o){return I(this,void 0,void 0,function*(){yield i(o)})}},Object.assign({highWaterMark:Math.pow(2,14)},t));return{writable:new WritableStream(e,r),readable:s};function i(o){return I(this,void 0,void 0,function*(){let a=null,c=o.desiredSize;for(;a=yield n.read(c||null);)if(o.enqueue(a),c!=null&&(c-=a.byteLength)<=0)return;o.close()})}}var gg=m(()=>{Pe();ys()});function Xa(r){let t=Oe.from(r);return Ke(t)?t.then(e=>Xa(e)):t.isAsync()?t.readAll().then(e=>new st(e)):new st(t.readAll())}function Rl(r,t="stream",e=null){let n={compressionType:e};return(t==="stream"?Un:Nn).writeAll(r,n).toUint8Array(!0)}var bg=m(()=>{Ri();qn();Ya();El()});var ad={};Re(ad,{isArrowData:()=>Vl,isArrowDataType:()=>zl,isArrowField:()=>kl,isArrowRecordBatch:()=>jl,isArrowSchema:()=>Pl,isArrowTable:()=>ql,isArrowVector:()=>Gl});function Pl(r){return j.isSchema(r)}function kl(r){return S.isField(r)}function zl(r){return w.isDataType(r)}function Vl(r){return T.isData(r)}function Gl(r){return A.isVector(r)}function jl(r){return ct.isRecordBatch(r)}function ql(r){return st.isTable(r)}var cd=m(()=>{pe();yt();hr();he();Dn();Ri()});var wg,ld=m(()=>{Mc();ao();Mt();hr();yt();Ri();he();je();pe();Fa();Hc();vt();Ga();wh();Fh();xh();vh();Ah();Sh();Ih();Th();Uh();Eh();_h();Lh();Rh();kh();Ph();yl();bl();gl();Mh();Dh();Bh();Ch();Oh();Nh();ys();Ya();El();bg();Tl();Ll();ms();Dn();cd();Dc();dh();li();Ca();Gt();vo();Sa();dl();cd();Wa();wg=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Nf),hh),Jf),Rf),ef),Kf),Ff),bh),ad),{compareSchemas:Ni,compareFields:V0,compareTypes:vl})});var zr={};Re(zr,{AsyncByteQueue:()=>pr,AsyncByteStream:()=>$e,AsyncMessageReader:()=>ki,AsyncRecordBatchFileReader:()=>Fo,AsyncRecordBatchStreamReader:()=>Cn,Binary:()=>ze,BinaryBuilder:()=>Bn,BinaryView:()=>H,BinaryViewBuilder:()=>Ln,Bool:()=>le,BoolBuilder:()=>pi,BufferType:()=>Z,Builder:()=>bt,ByteStream:()=>mr,CompressionType:()=>Ht,Data:()=>T,DataType:()=>w,DateBuilder:()=>Qr,DateDay:()=>Qn,DateDayBuilder:()=>bs,DateMillisecond:()=>ts,DateMillisecondBuilder:()=>ws,DateUnit:()=>mt,Date_:()=>Te,Decimal:()=>Ve,DecimalBuilder:()=>xs,DenseUnion:()=>bn,DenseUnionBuilder:()=>Ei,Dictionary:()=>Rt,DictionaryBuilder:()=>mi,Duration:()=>Me,DurationBuilder:()=>yr,DurationMicrosecond:()=>Ta,DurationMicrosecondBuilder:()=>Ls,DurationMillisecond:()=>La,DurationMillisecondBuilder:()=>_s,DurationNanosecond:()=>Ma,DurationNanosecondBuilder:()=>Ts,DurationSecond:()=>_a,DurationSecondBuilder:()=>Is,Field:()=>S,FixedSizeBinary:()=>Ge,FixedSizeBinaryBuilder:()=>vs,FixedSizeList:()=>gt,FixedSizeListBuilder:()=>yi,Float:()=>ae,Float16:()=>Cr,Float16Builder:()=>gi,Float32:()=>Xt,Float32Builder:()=>bi,Float64:()=>_e,Float64Builder:()=>wi,FloatBuilder:()=>tn,Int:()=>Lt,Int16:()=>Se,Int16Builder:()=>vi,Int32:()=>Dt,Int32Builder:()=>Ai,Int64:()=>Qe,Int64Builder:()=>Si,Int8:()=>Ae,Int8Builder:()=>xi,IntBuilder:()=>Ce,Interval:()=>ue,IntervalBuilder:()=>Pr,IntervalDayTime:()=>cs,IntervalDayTimeBuilder:()=>As,IntervalMonthDayNano:()=>Ia,IntervalMonthDayNanoBuilder:()=>Bs,IntervalUnit:()=>et,IntervalYearMonth:()=>ls,IntervalYearMonthBuilder:()=>Ss,JSONMessageReader:()=>zi,LargeBinary:()=>Fr,LargeBinaryBuilder:()=>In,LargeList:()=>tr,LargeListBuilder:()=>Mi,LargeUtf8:()=>Or,LargeUtf8Builder:()=>Ps,List:()=>Ct,ListBuilder:()=>Ti,MapBuilder:()=>Di,MapRow:()=>fr,Map_:()=>fe,Message:()=>ye,MessageHeader:()=>Q,MessageReader:()=>ks,MetadataVersion:()=>ht,Null:()=>Et,NullBuilder:()=>Ci,Precision:()=>ot,RecordBatch:()=>ct,RecordBatchFileReader:()=>Fn,RecordBatchFileWriter:()=>Nn,RecordBatchJSONWriter:()=>Ha,RecordBatchReader:()=>Oe,RecordBatchStreamReader:()=>kr,RecordBatchStreamWriter:()=>Un,RecordBatchWriter:()=>rn,Schema:()=>j,SparseUnion:()=>us,SparseUnionBuilder:()=>Oi,Struct:()=>ut,StructBuilder:()=>Fi,StructRow:()=>Kr,Table:()=>st,Time:()=>Kt,TimeBuilder:()=>br,TimeMicrosecond:()=>ns,TimeMicrosecondBuilder:()=>Us,TimeMillisecond:()=>rs,TimeMillisecondBuilder:()=>Es,TimeNanosecond:()=>ss,TimeNanosecondBuilder:()=>Ns,TimeSecond:()=>es,TimeSecondBuilder:()=>Os,TimeUnit:()=>v,Timestamp:()=>Jt,TimestampBuilder:()=>gr,TimestampMicrosecond:()=>os,TimestampMicrosecondBuilder:()=>Cs,TimestampMillisecond:()=>Xr,TimestampMillisecondBuilder:()=>Ds,TimestampNanosecond:()=>as,TimestampNanosecondBuilder:()=>Fs,TimestampSecond:()=>is,TimestampSecondBuilder:()=>Ms,Type:()=>d,Uint16:()=>Ie,Uint16Builder:()=>Ii,Uint32:()=>qt,Uint32Builder:()=>_i,Uint64:()=>Dr,Uint64Builder:()=>Li,Uint8:()=>Be,Uint8Builder:()=>Bi,Union:()=>De,UnionBuilder:()=>_n,UnionMode:()=>lt,Utf8:()=>ce,Utf8Builder:()=>Rs,Utf8View:()=>Le,Utf8ViewBuilder:()=>Ui,Vector:()=>A,Visitor:()=>F,builderThroughAsyncIterable:()=>qh,builderThroughIterable:()=>Sl,compressionRegistry:()=>zs,isArrowData:()=>Vl,isArrowDataType:()=>zl,isArrowField:()=>kl,isArrowRecordBatch:()=>jl,isArrowSchema:()=>Pl,isArrowTable:()=>ql,isArrowVector:()=>Gl,makeBuilder:()=>Rr,makeData:()=>D,makeTable:()=>$h,makeVector:()=>te,tableFromArrays:()=>Wh,tableFromIPC:()=>Xa,tableFromJSON:()=>jh,tableToIPC:()=>Rl,util:()=>wg,vectorFromArray:()=>Mo});var nn=m(()=>{ca();vt();Ya();El();fg();mg();yg();gg();ld();ld();Yt.toDOMStream=ug;bt.throughDOM=pg;Oe.throughDOM=Ul;Fn.throughDOM=Ul;kr.throughDOM=Ul;rn.throughDOM=Nl;Nn.throughDOM=Nl;Un.throughDOM=Nl});var $l,ud,xg=m(()=>{"use strict";nn();$l=new j([new S("POSITION",new gt(3,new S("value",new Xt,!1)),!1)]),ud=new j([...$l.fields,new S("indices",new Ct(new S("item",new qt,!1)),!0)])});var Vs=m(()=>{"use strict";Am();xg()});function eA(r,t="float32"){return r instanceof Date?"date-millisecond":typeof r=="number"?t:typeof r=="boolean"?"bool":typeof r=="string"?"utf8":"null"}function Ag(r){let t=fd(r);return t!=="null"?{type:t,nullable:!1}:r.length>0?(t=eA(r[0]),{type:t,nullable:!0}):{type:"null",nullable:!0}}function fd(r){if(typeof Float16Array<"u"&&r instanceof Float16Array)return"float16";switch(r.constructor){case Int8Array:return"int8";case Uint8Array:case Uint8ClampedArray:return"uint8";case Int16Array:return"int16";case Uint16Array:return"uint16";case Int32Array:return"int32";case Uint32Array:return"uint32";case BigInt64Array:return"int64";case BigUint64Array:return"uint64";case Float32Array:return"float32";case Float64Array:return"float64";default:return"null"}}var hd=m(()=>{"use strict"});function No(r){return{fields:r.fields.map(t=>Vi(t)),metadata:Lg(r.metadata)}}function _g(r,t){return new j(r.fields.map(e=>sn(e,t)),Wl(r.metadata))}function Lg(r){return Object.fromEntries(r)}function Wl(r){return r?new Map(Object.entries(r)):new Map}function Vi(r){return{name:r.name,type:Yl(r.type),nullable:r.nullable,metadata:Lg(r.metadata)}}function sn(r,t){return new S(r.name,Ro(r.type,t),r.nullable,Wl(r.metadata))}function Yl(r){if(Sg(r,"BinaryView"))return"binary-view";if(Sg(r,"Utf8View"))return"utf8-view";if(rA(r,"LargeList"))return{type:"large-list",children:[Vi(r.valueField)]};switch(r.constructor){case Et:return"null";case ze:return"binary";case Ge:return{type:"fixed-size-binary",byteWidth:r.byteWidth};case le:return"bool";case Lt:let t=r;return`${t.isSigned?"":"u"}int${t.bitWidth}`;case Ae:return"int8";case Se:return"int16";case Dt:return"int32";case Qe:return"int64";case Be:return"uint8";case Ie:return"uint16";case qt:return"uint32";case Dr:return"uint64";case ae:switch(r.precision){case ot.HALF:return"float16";case ot.SINGLE:return"float32";case ot.DOUBLE:return"float64";default:return"float16"}case Cr:return"float16";case Xt:return"float32";case _e:return"float64";case ce:return"utf8";case Ve:let n=r;return{type:"decimal",bitWidth:n.bitWidth,precision:n.precision,scale:n.scale};case Te:return r.unit===mt.DAY?"date-day":"date-millisecond";case Qn:return"date-day";case ts:return"date-millisecond";case Kt:switch(r.unit){case v.SECOND:return"time-second";case v.MILLISECOND:return"time-millisecond";case v.MICROSECOND:return"time-microsecond";case v.NANOSECOND:return"time-nanosecond";default:return"time-second"}case rs:return"time-millisecond";case es:return"time-second";case ns:return"time-microsecond";case ss:return"time-nanosecond";case Jt:switch(r.unit){case v.SECOND:return"timestamp-second";case v.MILLISECOND:return"timestamp-millisecond";case v.MICROSECOND:return"timestamp-microsecond";case v.NANOSECOND:return"timestamp-nanosecond";default:return"timestamp-second"}case is:return"timestamp-second";case Xr:return"timestamp-millisecond";case os:return"timestamp-microsecond";case as:return"timestamp-nanosecond";case ue:switch(r.unit){case et.DAY_TIME:return"interval-daytime";case et.YEAR_MONTH:return"interval-yearmonth";default:return"interval-daytime"}case cs:return"interval-daytime";case ls:return"interval-yearmonth";case fe:let c=r;return{type:"map",keysSorted:c.keysSorted,children:c.children.map(g=>Vi(g))};case Ct:let u=r.valueField;return{type:"list",children:[Vi(u)]};case gt:let f=r;return{type:"fixed-size-list",listSize:f.listSize,children:[Vi(f.children[0])]};case ut:return{type:"struct",children:r.children.map(g=>Vi(g))};case us:case bn:let p=r;return{type:p instanceof bn?"dense-union":"sparse-union",typeIds:p.typeIds,children:p.children.map(g=>Vi(g)),typeIdToChildIndex:{...p.typeIdToChildIndex}};case Rt:let y=r;return{type:"dictionary",id:y.id,indices:nA(y.indices),dictionary:Yl(y.dictionary),isOrdered:y.isOrdered};default:throw new Error(`arrow type not supported: ${r.constructor.name}`)}}function Ro(r,t){if(typeof r=="object")switch(r.type){case"decimal":return new Ve(r.scale,r.precision,r.bitWidth);case"map":{let e=r.children.map(n=>sn(n,t));return new fe(e[0],r.keysSorted)}case"list":{let e=sn(r.children[0],t);return new Ct(e)}case"large-list":{let e=sn(r.children[0],t),n=Ka("LargeList");if(!n)throw new Error("LargeList requires an Apache Arrow runtime that exports the LargeList constructor");return new n(e)}case"fixed-size-list":{let e=sn(r.children[0],t);return new gt(r.listSize,e)}case"fixed-size-binary":return new Ge(r.byteWidth);case"struct":{let e=r.children.map(n=>sn(n,t));return new ut(e)}case"sparse-union":case"dense-union":{let e=r.children.map(n=>sn(n,t));return r.type==="dense-union"?new bn(r.typeIds,e):new us(r.typeIds,e)}case"dictionary":return new Rt(Ro(r.dictionary,t),iA(r.indices),r.id,r.isOrdered);default:throw new Error("array type not supported")}switch(r){case"null":return new Et;case"binary":return Bg("BinaryView",new ze,t);case"binary-view":return Ig("BinaryView");case"bool":return new le;case"int8":return new Ae;case"int16":return new Se;case"int32":return new Dt;case"int64":return new Qe;case"uint8":return new Be;case"uint16":return new Ie;case"uint32":return new qt;case"uint64":return new Dr;case"float16":return new Cr;case"float32":return new Xt;case"float64":return new _e;case"utf8":return Bg("Utf8View",new ce,t);case"utf8-view":return Ig("Utf8View");case"date-day":return new Qn;case"date-millisecond":return new ts;case"time-second":return new es;case"time-millisecond":return new rs;case"time-microsecond":return new ns;case"time-nanosecond":return new ss;case"timestamp-second":return new is;case"timestamp-millisecond":return new Xr;case"timestamp-microsecond":return new os;case"timestamp-nanosecond":return new as;case"interval-daytime":return new cs;case"interval-yearmonth":return new ls;default:throw new Error("array type not supported")}}function Ka(r){return zr[r]}function Sg(r,t){let e=Ka(t);if(e&&r instanceof e)return!0;let n=w;return!!(t==="BinaryView"?n.isBinaryView:n.isUtf8View)?.(r)}function rA(r,t){let e=Ka(t);return!!(e&&r instanceof e)}function Bg(r,t,e){let n=e?.viewTypes||"never";if(n==="never")return t;let s=Ka(r);if(s)return new s;if(n==="require")throw new Error(`${r} requires apache-arrow 21.2.0 or later; the installed runtime does not support it`);return t}function Ig(r){let t=Ka(r);if(!t)throw new Error(`${r} requires apache-arrow 21.2.0 or later; the installed runtime does not support it`);return new t}function nA(r){if(r instanceof Lt){let e=`${r.isSigned?"int":"uint"}${r.bitWidth}`;if(sA(e))return e}switch(r.constructor){case Ae:return"int8";case Se:return"int16";case Dt:return"int32";case Be:return"uint8";case Ie:return"uint16";case qt:return"uint32";default:throw new Error(`arrow dictionary index type not supported: ${r.constructor.name}`)}}function sA(r){return["int8","int16","int32","uint8","uint16","uint32"].includes(r)}function iA(r){switch(r){case"int8":return new Ae;case"int16":return new Se;case"int32":return new Dt;case"uint8":return new Be;case"uint16":return new Ie;case"uint32":return new qt;default:throw new Error(`schema dictionary index type not supported: ${r}`)}}var Ja=m(()=>{"use strict";nn()});function on(r){let t=r?.POSITION;if(!t||!("value"in t)||!t.value.length)return null;let e=1/0,n=1/0,s=1/0,i=-1/0,o=-1/0,a=-1/0,c=t.value,l=c.length;for(let u=0;u<l;u+=3){let f=c[u],h=c[u+1],p=c[u+2];e=f<e?f:e,n=h<n?h:n,s=p<s?p:s,i=f>i?f:i,o=h>o?h:o,a=p>a?p:a}return[[e,n,s],[i,o,a]]}var dd=m(()=>{"use strict"});function Tg(r){return r.type instanceof gt?r.type.listSize:1}function pd(r,t,e){let n=oA(r,t,e);return new A([n])}function oA(r,t,e){let n=aA(r,t,e),s=n.children[0].type,i=e==="float16"&&jn(r)?na(r):r,o={[Z.DATA]:i},a=new T(s,0,i.length,0,o);return new T(n,0,i.length/t,0,void 0,[a])}function aA(r,t,e){let n=e||Ag(r).type,s=Ro(n);return new gt(t,new S("value",s,!1))}var md=m(()=>{"use strict";Vs();nn();hd();Ja()});function Ee(r,t){switch(t){case"columnar-table":return cA(r);case"arrow-table":return lA(r);default:throw new Error(t)}}function cA(r){let t={},e=Dg(r);for(let[n,s]of Object.entries(r.attributes))t[n]=s.value;return{shape:"columnar-table",schema:r.schema,data:t,topology:r.topology,indices:e?r.indices:void 0}}function lA(r,t){return Zl(r.attributes,{schema:r.schema,topology:r.topology,mode:r.mode,boundingBox:r.header?.boundingBox,indices:Dg(r)?r.indices:void 0})}function Zl(r,t={}){let e=[],n={},s=fA(r);for(let c of s){let l=r[c],{value:u,size:f=1}=l,h=uA(u,f,l.componentType);if(n[c]=h,e.push(hA(t.schema,c,h,l.componentType)),c==="POSITION"&&t.indices?.value?.length){let p=ud.fields.find(y=>y.name==="indices");n.indices=pA(t.indices.value,h.length,p.type),e.push(p)}}let i=new j(e,mA(t)),o=n[s[0]]?.length===0?new st(i):new st(i,n);return{shape:"arrow-table",schema:No(o.schema),data:o,topology:t.topology||"point-list",indices:t.indices}}function uA(r,t,e){if(e==="float16"){let n=jn(r)?na(r):r;if(t===1){let s=new T(new Cr,0,n.length,0,{[Z.DATA]:n});return new A([s])}return pd(r,t,e)}return t===1?te(r):pd(r,t)}function fA(r){let t=Object.keys(r),e=Mg.filter(s=>s in r),n=t.filter(s=>!Mg.includes(s));return[...e,...n]}function Dg(r){return!!r.indices?.value?.length}function hA(r,t,e,n){if(t==="POSITION"&&dA(e)){let i=$l.fields[0],o=r?.fields.find(c=>c.name===t);if(!o?.metadata)return i;let a=new Map(i.metadata);for(let[c,l]of Object.entries(o.metadata))a.set(c,l);return new S(i.name,i.type,i.nullable,a)}let s=r?.fields.find(i=>i.name===t);if(n==="float16"){let i=new Map(Object.entries(s?.metadata||{}));return i.set("componentType","float16"),new S(t,e.type,!1,i)}if(s&&s.type.toString()!==e.type.toString()){let i=sn(s);return new S(t,e.type,i.nullable,i.metadata)}return s?sn(s):new S(t,e.type,!1)}function dA(r){return r.type instanceof gt&&r.type.listSize===3&&r.type.children[0].type instanceof Xt}function pA(r,t,e){let n=e,s=r instanceof Uint32Array?r:Uint32Array.from(r),i=new Int32Array(t+1);t>0&&i.fill(s.length,1);let o=new Uint8Array(Math.ceil(t/8));t>0&&(o[0]=1);let a=new T(n.children[0].type,0,s.length,0,{[Z.DATA]:s}),c=new T(n,0,t,Math.max(0,t-1),{[Z.OFFSET]:i,[Z.VALIDITY]:o},[a]);return new A([c])}function mA(r){let t={...r.schema?.metadata};return r.topology&&(t.topology||=r.topology),Number.isFinite(r.mode)&&(t.mode||=String(r.mode)),r.boundingBox&&(t.boundingBox||=JSON.stringify(r.boundingBox)),Wl(t)}var Mg,Cg=m(()=>{"use strict";Vs();Vs();nn();md();Ja();Mg=["POSITION"]});function ee(r){if(r.shape==="arrow-table")return yA(r);throw new Error(r.shape)}function yA(r){let t=r.data,e=No(t.schema),n=e.fields,s={},i=[];for(let u of n){let{name:f}=u;if(f==="indices")continue;let h=t.getChild(f),p=Tg(h),y=vA(h,p),g=bA(u.metadata),x=g.componentType==="float16"?AA(y):y,B=i.find(q=>q.data.length===h.data.length&&s[q.name].value.constructor===x.constructor&&q.data.every((M,b)=>Fg(M,h.data[b])));s[f]={value:B?s[B.name].value:x,size:p,...g},B||i.push({name:f,data:h.data})}xA(e);let o=e.metadata.topology,a=SA(e),c=BA(t),l=s.POSITION?.transform?.type==="quantization"?gA(e)||on(s):on(s);return{schema:e,attributes:s,topology:o,mode:a,indices:c,header:{vertexCount:t.numRows,boundingBox:l??void 0}}}function gA(r){let t=r.metadata?.boundingBox;if(!t)return null;try{let e=JSON.parse(t);if(Array.isArray(e)&&e.length===2&&e.every(n=>Array.isArray(n)&&n.length===3&&n.every(s=>typeof s=="number")))return e}catch{}return null}function bA(r={}){let t={};if(r.byteOffset!==void 0&&(t.byteOffset=Number(r.byteOffset)),r.byteStride!==void 0&&(t.byteStride=Number(r.byteStride)),r.normalized!==void 0&&(t.normalized=r.normalized==="true"),r.componentType==="float16"&&(t.componentType="float16"),r["loaders.gl.transform"])try{let e=JSON.parse(r["loaders.gl.transform"]);wA(e)&&(t.transform=e)}catch{}return t}function wA(r){if(!r||typeof r!="object"||!("type"in r))return!1;let t=r;return t.type==="octahedron"?Number.isInteger(t.bits)&&t.bits>=1&&t.bits<=30:t.type==="quantization"&&Number.isInteger(t.bits)&&t.bits>=1&&t.bits<=30&&Array.isArray(t.origin)&&t.origin.every(e=>typeof e=="number")&&typeof t.range=="number"}function xA(r){r.metadata||={},r.metadata.topology||="point-list",r.metadata.mode||="0"}function vA(r,t){if(!(r.type instanceof gt))return r.toArray();let n=r.data[0].children[0].values.constructor,s=new n(r.length*t),i=0;for(let o of r.data){let a=o.children[0],c=o.length*t,l=a.offset||o.offset*t,u=l+c<=a.values.length?l:0,f=a.values.subarray(u,u+c);s.set(f,i),i+=c}return s}function AA(r){let t=hc(r.length);for(let e=0;e<r.length;e++)dc(t,e,Hu(r,e));return t}function SA(r){let t=Number(r.metadata?.mode);return Number.isFinite(t)?t:0}function BA(r){let t=r.getChild("indices");if(!t?.isValid(0))return;let e=t.data[0],n=e.valueOffsets,s=n[e.offset],i=n[e.offset+1];return{value:e.children[0].values.subarray(s,i),size:1}}function Fg(r,t){let e=Object.values(t.buffers);return r.type.toString()===t.type.toString()&&r.offset===t.offset&&r.length===t.length&&r.nullCount===t.nullCount&&r.dictionary===t.dictionary&&Object.values(r.buffers).every((n,s)=>{let i=e[s];return n===i||!!(n&&i&&n.buffer===i.buffer&&n.byteOffset===i.byteOffset&&n.byteLength===i.byteLength)})&&r.children.length===t.children.length&&r.children.every((n,s)=>Fg(n,t.children[s]))}var Og=m(()=>{"use strict";Vs();nn();md();Ja();dd()});function Gi(r,t={}){return{fields:IA(r),metadata:t}}function Eg(r,t,e){let n=t.componentType||fd(t.value),s=e||Ug(t),i=t.size===1?n:{type:"fixed-size-list",listSize:t.size,children:[{name:"value",type:n}]};return{name:r,type:i,nullable:!1,metadata:s}}function IA(r){let t=[];for(let e in r){let n=r[e];t.push(Eg(e,n))}return t}function Ug(r){let t={};return"byteOffset"in r&&(t.byteOffset=r.byteOffset.toString(10)),"byteStride"in r&&(t.byteStride=r.byteStride.toString(10)),"normalized"in r&&(t.normalized=r.normalized.toString()),r.componentType&&(t.componentType=r.componentType),r.transform&&(t["loaders.gl.transform"]=JSON.stringify(r.transform)),t}var Ng=m(()=>{"use strict";hd()});var or=m(()=>{"use strict";dd();Cg();Og();Ng()});var Rg,Pg=m(()=>{"use strict";Rg={name:"LAS",id:"las",module:"pointclouds",encoding:"binary",format:"las",extensions:["las","laz"],mimeTypes:["application/octet-stream"],text:!1,binary:!0,tests:["LASF"]}});function zg(r){return r?.las?.shape||kg}function Gg(r,t){if(t==="uint8norm"||!r.attributes.COLOR_0)return r;let e=r.attributes.COLOR_0,n=e.value instanceof Uint16Array?65535:255,s=t==="float16"?ti(e.value,n):sa(e.value,n),i={...r.attributes};for(let[o,a]of Object.entries(i))a.value===e.value&&(i[o]={...a,value:s,normalized:!1,...t==="float16"?{componentType:"float16"}:{}});return{...r,attributes:i}}var _A,kg,Vg,jg=m(()=>{"use strict";Vs();Pg();_A="5.0.0-beta.1",kg="arrow-table";Vg={...Rg,dataType:null,batchType:null,version:_A,worker:!1,options:{las:{shape:kg,fp64:!1,colorDepth:8,colorFormat:"uint8norm",columns:void 0,extraBytes:"raw",recoverMissingChunkTable:!1,compatibilityMode:"auto"}}}});function qg(r,t={}){let e={...t,copies:new WeakMap};return LA(r)?DA(r,e):TA(r)?$g(r,e):MA(r)?Wg(r,e):Xl(r,e)}function LA(r){return"batches"in r}function TA(r){return"schema"in r&&"data"in r&&!Array.isArray(r.data)}function MA(r){return"data"in r&&Array.isArray(r.data)}function DA(r,t){let e=r.batches.map(n=>$g(n,t));return new st(r.schema,e)}function $g(r,t){return new ct(r.schema,Xl(r.data,t))}function Xl(r,t){let e=r.children.map(i=>Xl(i,t)),n=r.dictionary?Wg(r.dictionary,t):void 0,s={[Z.OFFSET]:Hl(r.buffers[Z.OFFSET],t),[Z.DATA]:Hl(r.buffers[Z.DATA],t),[Z.VALIDITY]:Hl(r.buffers[Z.VALIDITY],t),[Z.TYPE]:Hl(r.buffers[Z.TYPE],t)};return new T(r.type,r.offset,r.length,r._nullCount,s,e,n)}function Wg(r,t){return new A(r.data.map(e=>Xl(e,t)))}function Hl(r,t){if(!CA(r)||t.copy==="none"||t.copy!=="all"&&r.byteOffset===0&&r.byteLength===r.buffer.byteLength)return r;let e=t.copies.get(r);return e||(e=r.slice(),t.copies.set(r,e)),e}function CA(r){return ArrayBuffer.isView(r)&&!(r instanceof DataView)}var yd=m(()=>{"use strict";nn()});function FA(r,t){let e=qg(r,t);return{shape:"arrow-table",transport:"arrow-js",schema:No(e.schema),batches:e.batches.map(n=>NA(n))}}function OA(r){let t=_g(r.schema),e=r.batches.map(n=>new ct(t,bd(n.data)));return new st(t,e)}function re(r){if(!EA(r))throw new Error("Workers require Arrow table output");let{data:t,...e}=r;return{...structuredClone(e),data:FA(t,{copy:"all"})}}function Po(r){if(!UA(r))throw new Error("Workers require Arrow column transport");return{...r,data:OA(r.data)}}function EA(r){let t=r;return!!(t&&t.shape==="arrow-table"&&t.data&&typeof t.data=="object"&&"batches"in t.data)}function UA(r){let t=r;return!!(t&&t.shape==="arrow-table"&&t.data&&t.data.transport==="arrow-js"&&Array.isArray(t.data.batches))}function NA(r){return{data:gd(r.data)}}function gd(r){return{type:Yl(r.type),offset:r.offset,length:r.length,nullCount:r._nullCount,buffers:{[Z.OFFSET]:r.buffers[Z.OFFSET],[Z.DATA]:r.buffers[Z.DATA],[Z.VALIDITY]:r.buffers[Z.VALIDITY],[Z.TYPE]:r.buffers[Z.TYPE]},children:r.children.map(t=>gd(t)),dictionary:r.dictionary?RA(r.dictionary):void 0}}function RA(r){return{data:r.data.map(t=>gd(t))}}function bd(r){let t=r.children.map(n=>bd(n)),e=r.dictionary?PA(r.dictionary):void 0;return new T(Ro(r.type),r.offset,r.length,r.nullCount,r.buffers,t,e)}function PA(r){return new A(r.data.map(t=>bd(t)))}var Yg=m(()=>{"use strict";nn();Ja();yd()});var Gs=m(()=>{"use strict";Yg();yd()});function Zg(...r){return kA(r)}function kA(r){let t=r.map(i=>i instanceof ArrayBuffer?new Uint8Array(i):i),e=t.reduce((i,o)=>i+o.byteLength,0),n=new Uint8Array(e),s=0;for(let i of t)n.set(i,s),s+=i.byteLength;return n.buffer}var Hg=m(()=>{"use strict"});function zA(r){return ArrayBuffer.isView(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r)}var js,Xg=m(()=>{"use strict";js=class{offset=0;ended=!1;maxRewindBytes;chunks=[];scratch=new ArrayBuffer(8);checkpoints=[];constructor(t){this.maxRewindBytes=t?.maxRewindBytes||0}get arrayBuffers(){return this.chunks.map(t=>t.buffer)}write(t){this.chunks.push(zA(t))}end(){this.chunks=[],this.checkpoints=[],this.offset=0,this.ended=!0}hasAvailableBytes(t){return this.getAvailableByteLength()>=t}getAvailableByteLength(){let t=-this.offset;for(let e of this.chunks)t+=e.byteLength,t>0;return Math.max(0,t)}findBufferOffsets(t){let e=-this.offset,n=[];for(let s=0;s<this.chunks.length;s++){let i=this.chunks[s];if(e+i.byteLength<=0){e+=i.byteLength;continue}let o=e<=0?Math.abs(e):0,a;if(o+t<=i.byteLength)return a=o+t,n.push([s,[o,a]]),n;a=i.byteLength,n.push([s,[o,a]]),t-=i.byteLength-o,e+=i.byteLength}return null}getDataView(t){let e=this.findBufferOffsets(t);if(!e){if(this.ended)throw new Error("binary data exhausted");return null}let n;if(e.length===1){let[s,[i,o]]=e[0],a=this.chunks[s];n=new DataView(a.buffer,a.byteOffset+i,o-i)}else{let s=this.combineBufferOffsets(e);n=new DataView(s.buffer,s.byteOffset,s.byteLength)}return this.offset+=t,this.disposeBuffers(),n}readByte(){let t=this.findBufferOffsets(1);if(!t)throw new Error("binary data exhausted");let[e,[n]]=t[0],s=this.chunks[e][n];return this.offset++,this.disposeBuffers(),s}readUint16LE(){let t=this.readByte(),e=this.readByte();return t|e<<8}readUint32LE(){let t=this.readByte(),e=this.readByte(),n=this.readByte(),s=this.readByte();return(t|e<<8|n<<16|s<<24>>>0)>>>0}readInt32LE(){return this.readUint32LE()|0}readFloat64LE(){let t=this.getContiguousDataView(8);if(t)return t.getFloat64(0,!0);let e=new Uint8Array(this.scratch);return this.readInto(e,0,8),new DataView(this.scratch).getFloat64(0,!0)}readInto(t,e,n){let s=this.findBufferOffsets(n);if(!s)throw new Error("binary data exhausted");let i=e;for(let[o,[a,c]]of s){let l=this.chunks[o];t.set(l.subarray(a,c),i),i+=c-a}this.offset+=n,this.disposeBuffers()}readBytes(t){let e=this.findBufferOffsets(t);if(!e)throw new Error("binary data exhausted");let n;if(e.length===1){let[s,[i,o]]=e[0];n=this.chunks[s].subarray(i,o)}else n=this.combineBufferOffsets(e);return this.offset+=t,this.disposeBuffers(),n}skip(t){this.offset+=t}rewind(t){this.offset-=t}checkpoint(){let t={offset:this.offset};return this.checkpoints.push(t),t}restore(t){this.offset=t.offset,this.checkpoints.pop()}discardConsumed(){this.disposeBuffers()}_combineArrayBuffers(t){return this.combineBufferOffsets(t).buffer}getContiguousDataView(t){let e=this.findBufferOffsets(t);if(!e||e.length!==1)return null;let[n,[s,i]]=e[0],o=this.chunks[n],a=new DataView(o.buffer,o.byteOffset+s,i-s);return this.offset+=t,this.disposeBuffers(),a}disposeBuffers(){let t=this.checkpoints.length>0?Math.min(...this.checkpoints.map(e=>e.offset)):Number.POSITIVE_INFINITY;for(;this.chunks.length>0&&this.offset-this.maxRewindBytes>=this.chunks[0].byteLength&&t>=this.chunks[0].byteLength;){this.offset-=this.chunks[0].byteLength;for(let e of this.checkpoints)e.offset-=this.chunks[0].byteLength;t-=this.chunks[0].byteLength,this.chunks.shift()}}combineBufferOffsets(t){let e=0;for(let[,[i,o]]of t)e+=o-i;let n=new Uint8Array(e),s=0;for(let[i,[o,a]]of t){let c=this.chunks[i];n.set(c.subarray(o,a),s),s+=a-o}return n}}});async function*Kl(r,t={}){let e=new TextDecoder(void 0,t);for await(let n of r)yield typeof n=="string"?n:e.decode(n,{stream:!0})}async function*Jl(r){let t="";for await(let e of r){t+=e;let n;for(n=t.indexOf(`
|
|
27
|
+
`);n>=0;){let s=t.slice(0,n+1);t=t.slice(n+1),yield s,n=t.indexOf(`
|
|
28
|
+
`)}}t.length>0&&(yield t)}var Kg=m(()=>{"use strict"});async function wd(r,t){let e=VA(r);for(;;){let{done:n,value:s}=await e.next();if(n){e.return&&e.return();return}if(t(s))return}}async function xd(r){let t=[];for await(let e of r)t.push(Qg(e));return Zg(...t)}async function*Ql(r){for await(let t of r)yield Qg(t)}function Qg(r){if(r instanceof ArrayBuffer)return r;if(ArrayBuffer.isView(r)){let{buffer:t,byteOffset:e,byteLength:n}=r;return Jg(t,e,n)}return Jg(r)}function Jg(r,t=0,e=r.byteLength-t){let n=new Uint8Array(r,t,e),s=new Uint8Array(n.length);return s.set(n),s.buffer}function VA(r){if(typeof r[Symbol.asyncIterator]=="function")return r[Symbol.asyncIterator]();if(typeof r[Symbol.iterator]=="function"){let t=r[Symbol.iterator]();return GA(t)}return r}function GA(r){return{next(t){return Promise.resolve(r.next(t))},return(t){return typeof r.return=="function"?Promise.resolve(r.return(t)):Promise.resolve({done:!0,value:t})},throw(t){return typeof r.throw=="function"?Promise.resolve(r.throw(t)):Promise.reject(t)}}}var tb=m(()=>{"use strict";Hg()});function $d(r){return new Sd(r)}function Id(r){return{intensity:!!r.intensities,classification:!!r.classifications,color:!!(r.colors||r.rawColors),gpsTime:!!r.gpsTimes,nir:!!r.nir,scanAngle:!!r.scanAngles,userData:!!r.userData,pointSourceId:!!r.pointSourceIds,flags:!!(r.scannerChannels||r.scanDirectionFlags||r.edgeOfFlightLines||r.syntheticFlags||r.keyPointFlags||r.withheldFlags||r.overlapFlags),waveform:!!r.waveforms,extraBytes:!!r.extraBytes}}function cb(r){return(r.intensity?1:0)|(r.classification?2:0)|(r.color?4:0)|(r.gpsTime?8:0)|(r.nir?16:0)|(r.scanAngle?32:0)|(r.userData?64:0)|(r.pointSourceId?128:0)|(r.flags?256:0)|(r.waveform?512:0)|(r.extraBytes?1024:0)}function Gr(r,t){return new Bd(r,t)}function fu(r,t){let e=Gr(r,t),n=new Uint8Array(t.pointCount*t.pointDataRecordLength);return e.decodeInto(n,0,t.pointCount),n}function lb(r,t){if(!mu(t.pointDataRecordFormat))throw new it("Legacy LAZ chunk byte length is not self-describing");let e=Wo(r),n=$o(t),s=t.pointDataRecordLength,i=rc(t.pointDataRecordFormat,n),o=s+4,a=i*4;if(e.byteLength<o+a)throw new it;let c=new DataView(e.buffer,e.byteOffset,e.byteLength),l=o+a;for(let u=0;u<i;u++)l+=c.getUint32(o+u*4,!0);if(e.byteLength<l)throw new it;return l}function Wd(r,t){let e=new eu(Wo(r)),n=new ne(e),s=It(32,2);n.readInitBytes();let i=[],o=0,a=0,c=t.pointCount;for(let l=0;l<t.chunkCount;l++){let u;t.variable?(o=s.decompress(n,o,0)>>>0,u=o):(u=Math.min(t.chunkSize,c),c-=u),a=s.decompress(n,a,1)>>>0,i.push({pointCount:u,byteLength:a})}return i}function hu(r){if(!mu(r.pointDataRecordFormat))return r.pointDataRecordLength+4;let t=$o(r);return r.pointDataRecordLength+4+rc(r.pointDataRecordFormat,t)*4}function du(r,t){if(!mu(t.pointDataRecordFormat))throw new it("Legacy LAZ chunk byte length is not self-describing");let e=_d(Wo(r),t);if(!e)throw new it("LAZ chunk decoder needs the complete layered size header");return e.byteLength}function _d(r,t){let e=$o(t),n=t.pointDataRecordLength+4,s=rc(t.pointDataRecordFormat,e),i=s*4;if(r.byteLength<n+i)return null;let o=new DataView(r.buffer,r.byteOffset,r.byteLength),a=n+i,c=[];for(let u=0;u<s;u++){let f=o.getUint32(n+u*4,!0);a+=f,c.push(f)}let l=n+i;return{byteLength:a,layerByteLengths:c,getByteLength:u=>l+c.slice(0,u).reduce((f,h)=>f+h,0)}}function jA(r,t){if(t.extraBytes)return rc(r.pointDataRecordFormat,$o(r));let e=2;return t.classifications&&(e=3),(t.scannerChannels||t.scanDirectionFlags||t.edgeOfFlightLines||t.syntheticFlags||t.keyPointFlags||t.withheldFlags||t.overlapFlags)&&(e=4),t.intensities&&(e=5),t.scanAngles&&(e=6),t.userData&&(e=7),t.pointSourceIds&&(e=8),t.gpsTimes&&(e=9),(t.colors||t.rawColors)&&(e=10),t.nir&&(e=11),t.waveforms&&(e=r.pointDataRecordFormat===9?10:12),Math.min(e,rc(r.pointDataRecordFormat,$o(r)))}function Ad(r){let t=r.byteItemVersion===1?4:2;return Math.max(KA,r.pointDataRecordLength*t+512)}function nb(r){return r[0]<r[1]?r[1]<r[2]?r[1]:Math.max(r[0],r[2]):r[0]<r[2]?r[0]:Math.max(r[1],r[2])}function QA(r,t,e,n){let s=$o(t);for(let i of[t.point10ItemVersion,t.gpsTime11ItemVersion,t.rgb12ItemVersion,t.byteItemVersion])if(i!==void 0&&i!==1&&i!==2)throw new Error(`Unsupported legacy LASzip item version ${i}`);switch(t.pointDataRecordFormat){case 0:return new Od(r,s,t);case 1:return new Ed(r,s,t);case 2:return new Ud(r,s,t);case 3:return new Nd(r,s,t,e==="point-data"?n:null);case 4:return new Rd(r,s,t);case 5:return new Pd(r,s,t);case 6:return new kd(r,s,e,t,n);case 7:return new zd(r,s,e,t,n);case 8:return new Vd(r,s,e,t,n);case 9:return new Gd(r,s,e,t,n);case 10:return new jd(r,s,e,t,n);default:throw new Error(`TypeScript LAZ decoder does not support point format ${t.pointDataRecordFormat}`)}}function tS(r){return r<=5||r>=6&&r<=10}function It(r,t){let e=new Td(r,t);return e.init(),e}function ge(r,t){return Array.from({length:r},()=>new jt(t))}function $o(r){let t=eS(r.pointDataRecordFormat),e=r.pointDataRecordLength-t;if(e<0)throw new Error(`Invalid point record length ${r.pointDataRecordLength}`);return e}function eS(r){switch(r){case 0:return 20;case 1:return 28;case 2:return 26;case 3:return 34;case 4:return 57;case 5:return 63;case 6:return 30;case 7:return 36;case 8:return 38;case 9:return 59;case 10:return 67;default:throw new Error(`TypeScript LAZ decoder does not support point format ${r}`)}}function mu(r){return r>=6&&r<=10}function rc(r,t){switch(r){case 6:return 9+t;case 7:return 10+t;case 8:return 11+t;case 9:return 10+t;case 10:return 12+t;default:throw new Error(`TypeScript LAZ decoder does not support point format ${r}`)}}function rS(){return{x:0,y:0,z:0,intensity:0,returns:0,flags:0,classification:0,userData:0,scanAngle:0,pointSourceId:0,gpsTime:0}}function sb(){return{x:0,y:0,z:0,intensity:0,bitByte:0,classification:0,scanAngleRank:0,userData:0,pointSourceId:0}}function nS(r,t){r.x=zo(t),r.y=zo(t),r.z=zo(t),r.intensity=Ys(t),r.bitByte=t.getByte(),r.classification=t.getByte(),r.scanAngleRank=qd(t.getByte()),r.userData=t.getByte(),r.pointSourceId=Ys(t)}function sS(r,t){r.x=t.x,r.y=t.y,r.z=t.z,r.intensity=t.intensity,r.bitByte=t.bitByte,r.classification=t.classification,r.scanAngleRank=t.scanAngleRank,r.userData=t.userData,r.pointSourceId=t.pointSourceId}function iS(r,t,e){Ue(r.x,t,e),Ue(r.y,t,e+4),Ue(r.z,t,e+8),ar(r.intensity,t,e+12),t[e+14]=r.bitByte,t[e+15]=r.classification,t[e+16]=r.scanAngleRank&255,t[e+17]=r.userData,ar(r.pointSourceId,t,e+18)}function Rn(r,t,e,n,s,i,o){let a=o*3;t[a]=r.x*s[0]+i[0],t[a+1]=r.y*s[1]+i[1],t[a+2]=r.z*s[2]+i[2],e&&(e[o]=r.intensity),n&&(n[o]=r.classification&31)}function Wi(r,t,e){let n=r.classification>>5;t.syntheticFlags&&(t.syntheticFlags[e]=n&1),t.keyPointFlags&&(t.keyPointFlags[e]=n>>1&1),t.withheldFlags&&(t.withheldFlags[e]=n>>2&1),t.overlapFlags&&(t.overlapFlags[e]=0),t.scanAngles&&(t.scanAngles[e]=r.scanAngleRank),t.userData&&(t.userData[e]=r.userData),t.pointSourceIds&&(t.pointSourceIds[e]=r.pointSourceId),t.returnNumbers&&(t.returnNumbers[e]=r.bitByte&7),t.numberOfReturns&&(t.numberOfReturns[e]=r.bitByte>>3&7),t.scannerChannels&&(t.scannerChannels[e]=0),t.scanDirectionFlags&&(t.scanDirectionFlags[e]=r.bitByte>>6&1),t.edgeOfFlightLines&&(t.edgeOfFlightLines[e]=r.bitByte>>7&1)}function ib(r){return r.bitByte&7}function ob(r){return r.bitByte>>3&7}function oS(r){return r.bitByte>>6&1}function ab(r,t){r.x=t.x,r.y=t.y,r.z=t.z,r.intensity=t.intensity,r.returns=t.returns,r.flags=t.flags,r.classification=t.classification,r.userData=t.userData,r.scanAngle=t.scanAngle,r.pointSourceId=t.pointSourceId,r.gpsTime=t.gpsTime}function aS(r,t,e){r.x=Vr(t,e),r.y=Vr(t,e+4),r.z=Vr(t,e+8),r.intensity=au(t,e+12),r.returns=t[e+14],r.flags=t[e+15],r.classification=t[e+16],r.userData=t[e+17],r.scanAngle=yS(t,e+18),r.pointSourceId=au(t,e+20),r.gpsTime=bS(t,e+22)}function cS(r,t){r.x=zo(t),r.y=zo(t),r.z=zo(t),r.intensity=Ys(t),r.returns=t.getByte(),r.flags=t.getByte(),r.classification=t.getByte(),r.userData=t.getByte(),r.scanAngle=Zd(Ys(t)),r.pointSourceId=Ys(t),r.gpsTime=db(t)}function lS(r,t,e){Ue(r.x,t,e),Ue(r.y,t,e+4),Ue(r.z,t,e+8),ar(r.intensity,t,e+12),t[e+14]=r.returns,t[e+15]=r.flags,t[e+16]=r.classification,t[e+17]=r.userData,gS(r.scanAngle,t,e+18),ar(r.pointSourceId,t,e+20),pb(r.gpsTime,t,e+22)}function nc(r,t,e){Ws(r,t.positions,t.intensities,t.classifications,t.scale,t.offset,e),Yi(r,t,e),Zi(r,t,e)}function Ws(r,t,e,n,s,i,o){let a=o*3;t[a]=r.x*s[0]+i[0],t[a+1]=r.y*s[1]+i[1],t[a+2]=r.z*s[2]+i[2],e&&(e[o]=r.intensity),n&&(n[o]=r.classification)}function Yi(r,t,e){t.gpsTimes&&(t.gpsTimes[e]=r.gpsTime)}function Zi(r,t,e){t.scanAngles&&(t.scanAngles[e]=r.scanAngle),t.userData&&(t.userData[e]=r.userData),t.pointSourceIds&&(t.pointSourceIds[e]=r.pointSourceId),t.returnNumbers&&(t.returnNumbers[e]=r.returns&15),t.numberOfReturns&&(t.numberOfReturns[e]=r.returns>>4),t.scannerChannels&&(t.scannerChannels[e]=r.flags>>4&3),t.scanDirectionFlags&&(t.scanDirectionFlags[e]=r.flags>>6&1),t.edgeOfFlightLines&&(t.edgeOfFlightLines[e]=r.flags>>7&1),t.syntheticFlags&&(t.syntheticFlags[e]=r.flags&1),t.keyPointFlags&&(t.keyPointFlags[e]=r.flags>>1&1),t.withheldFlags&&(t.withheldFlags[e]=r.flags>>2&1),t.overlapFlags&&(t.overlapFlags[e]=r.flags>>3&1)}function ou(r,t,e){t.nir&&(t.nir[e]=r)}function Hi(r,t,e,n,s){if(n.colors){let o=s*4;n.colors[o]=r&255,n.colors[o+1]=t&255,n.colors[o+2]=e&255,n.colors[o+3]=255;return}if(!n.rawColors)return;let i=s*3;n.rawColors[i]=r,n.rawColors[i+1]=t,n.rawColors[i+2]=e}function uS(r){return r.flags>>4&3}function fS(r,t){r.flags=(t&3)<<4|r.flags&-49}function hS(r,t){r.flags=t&15|r.flags&240}function dS(r,t){r.flags=(t&1)<<6|r.flags&191}function pS(r,t){r.flags=(t&1)<<7|r.flags&127}function mS(r){return r.flags&15|(r.flags>>6&1)<<4|(r.flags>>7&1)<<5}function au(r,t){return r[t]|r[t+1]<<8}function Ys(r){let t=r.getByte(),e=r.getByte();return t|e<<8}function ar(r,t,e){t[e]=r&255,t[e+1]=r>>8&255}function yS(r,t){return Zd(au(r,t))}function gS(r,t,e){ar(r,t,e)}function cu(r,t){return(r[t]|r[t+1]<<8|r[t+2]<<16|r[t+3]<<24>>>0)>>>0}function lu(r,t,e){Ue(r,t,e)}function fb(r,t){let e=cu(r,t),n=cu(r,t+4);return BigInt(n)<<32n|BigInt(e)}function hb(r,t,e){lu(Number(r&0xffffffffn),t,e),lu(Number(r>>32n&0xffffffffn),t,e+4)}function Vr(r,t){return r[t]|r[t+1]<<8|r[t+2]<<16|r[t+3]<<24}function zo(r){let t=r.getByte(),e=r.getByte(),n=r.getByte(),s=r.getByte();return t|e<<8|n<<16|s<<24}function Ue(r,t,e){t[e]=r&255,t[e+1]=r>>8&255,t[e+2]=r>>16&255,t[e+3]=r>>24&255}function bS(r,t){for(let e=0;e<8;e++)Yd[e]=r[t+e];return ji.getFloat64(0,!0)}function db(r){for(let t=0;t<8;t++)Yd[t]=r.getByte();return ji.getFloat64(0,!0)}function pb(r,t,e){ji.setFloat64(0,r,!0);for(let n=0;n<8;n++)t[e+n]=Yd[n]}function $s(r){return r<=0?0:r>=255?255:r}function Zd(r){let t=r&65535;return t&32768?t-65536:t}function qd(r){let t=r&255;return t&128?t-256:t}function cn(r){return r|0}function uu(r){return ji.setFloat64(0,r,!0),ji.getBigUint64(0,!0)}function Vo(r){return ji.setBigUint64(0,r,!0),ji.getFloat64(0,!0)}function qs(r,t){let e=BigInt.asIntN(64,BigInt.asIntN(64,uu(r))+BigInt(t));return Vo(BigInt.asUintN(64,e))}function Wo(r){return r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function wS(r){let t=r.reduce((s,i)=>s+i.byteLength,0),e=new Uint8Array(t),n=0;for(let s of r)e.set(s,n),n+=s.byteLength;return e}var it,Sd,Bd,ko,qA,pu,$A,WA,Qa,YA,eb,ZA,HA,an,Go,tu,XA,vd,ub,Yd,ji,KA,rb,JA,eu,jt,Ld,ne,Td,jo,Zs,tc,Hs,Nt,Md,qi,Dd,ec,Cd,ru,nu,su,Fd,$i,Od,qo,Ed,Ud,Nd,iu,Rd,Pd,kd,zd,Vd,Gd,jd,mb=m(()=>{"use strict";it=class extends Error{constructor(t="LAZ chunk decoder needs more compressed data"){super(t),this.name="NeedsMoreData"}},Sd=class{metadata;chunks=[];closed=!1;compressed=null;cursor=null;fedByteLength=0;requiredByteLength=null;progressiveRequiredByteLength=null;progressiveSelectionKey=null;constructor(t){this.metadata=t}feed(t){if(this.closed)throw new Error("Cannot feed a closed LAZ chunk decoder");let e=Wo(t);this.chunks.push(e),this.compressed=null,this.fedByteLength+=e.byteLength}close(){this.closed=!0}get remainingPointCount(){return this.cursor?.remainingPointCount??this.metadata.pointCount}decode(){if(!this.closed)throw new it("LAZ chunk decoder input is not closed");return this.decodeAvailable()}readBatch(t){if(!this.cursor){if(!this.hasCompleteChunk())return null;let i=this.getCompressedAvailable(),o=this.requiredByteLength??i.byteLength;this.cursor=Gr(i.subarray(0,o),this.metadata)}if(this.cursor.remainingPointCount<=0)return null;let e=this.metadata.pointDataRecordLength,n=Math.min(t,this.cursor.remainingPointCount),s=new Uint8Array(n*e);return this.cursor.decodeInto(s,0,n),s}readPositionDataBatch(t,e){if(t.colors||t.rawColors||t.nir)throw new Error("Position-only LAZ batches cannot request color or NIR output");return this.readPointDataBatch(t,e)}readPointDataBatch(t,e){let n=this.metadata.pointDataRecordFormat;if(n<6||n>10)throw new Error("Progressive LAZ point-data batches require point formats 6-10");let s=n===7||n===8||n===10;if((t.colors||t.rawColors)&&!s)throw new Error(`Point format ${n} does not contain RGB data`);if(t.nir&&n!==8&&n!==10)throw new Error("NIR output requires point format 8 or 10");if(t.waveforms&&n!==9&&n!==10)throw new Error("Waveform output requires point format 9 or 10");if(!this.cursor){let o=this.getProgressivePointData(t);if(!o)return null;this.cursor=Gr(o,this.metadata)}if(this.cursor.remainingPointCount<=0)return 0;let i=Math.min(e,this.cursor.remainingPointCount);return this.cursor.decodeIntoPointData(t,i)}hasCompleteChunk(){if(!mu(this.metadata.pointDataRecordFormat))return this.closed;if(this.requiredByteLength!==null)return this.fedByteLength>=this.requiredByteLength;if(this.fedByteLength<hu(this.metadata))return!1;try{let t=this.getCompressedAvailable();return this.requiredByteLength=lb(t,this.metadata),this.requiredByteLength<=this.fedByteLength}catch(t){if(t instanceof it)return!1;throw t}}decodeAvailable(){let t=this.getCompressedAvailable(),e=this.requiredByteLength??t.byteLength;return fu(t.subarray(0,e),this.metadata)}getCompressedAvailable(){return this.compressed||=wS(this.chunks),this.compressed}getProgressivePointData(t){let e=cb(Id(t));if(this.progressiveSelectionKey!==e&&(this.progressiveRequiredByteLength=null,this.progressiveSelectionKey=e),this.progressiveRequiredByteLength===null){let o=this.getCompressedAvailable(),a=_d(o,this.metadata);if(!a)return null;let c=jA(this.metadata,t);this.progressiveRequiredByteLength=a.getByteLength(c)}if(this.fedByteLength<this.progressiveRequiredByteLength)return null;let n=this.getCompressedAvailable(),s=_d(n,this.metadata),i=new Uint8Array(s.byteLength);return i.set(n.subarray(0,Math.min(n.byteLength,s.byteLength))),i}};Bd=class{metadata;stream;decoder=null;pointIndex=0;outputMode=null;pointDataSelectionKey=null;constructor(t,e){this.metadata=e,this.stream=new eu(Wo(t))}feed(t){if(this.metadata.pointDataRecordFormat>5)throw new Error("Only legacy PDRF 0-5 LAZ cursors accept additional compressed input");this.stream.append(Wo(t))}discardConsumedInput(){if(this.metadata.pointDataRecordFormat>5)throw new Error("Only legacy PDRF 0-5 LAZ cursors can discard consumed input");this.stream.discardConsumedInput()}get remainingPointCount(){return this.metadata.pointCount-this.pointIndex}get compressedByteOffset(){return this.stream.byteOffset}get requiredInputByteLength(){if(this.metadata.pointDataRecordFormat>5)return this.stream.byteOffset;let t=this.pointIndex===0?this.metadata.pointDataRecordLength+4:Ad(this.metadata);return this.stream.byteOffset+t}decodeInto(t,e,n){let s=Math.min(n,this.remainingPointCount),i=this.selectOutputMode("raw",s);if(!i)return 0;let o=e;for(let a=0;a<s;a++)o=i.decompress(t,o);return this.pointIndex+=s,s}decodeAvailableInto(t,e,n,s=!1){if(this.metadata.pointDataRecordFormat>5)throw new Error("Available-point decoding is limited to legacy PDRF 0-5 LAZ chunks");let i=Math.min(n,this.remainingPointCount);if(i===0)return 0;let o=this.selectOutputMode("raw",i),a=0,c=e;for(;a<i;){let l=this.pointIndex===0?this.metadata.pointDataRecordLength+4:Ad(this.metadata);if(!s&&this.stream.availableByteLength<l)break;try{c=o.decompress(t,c)}catch(u){throw u instanceof it&&!s?new Error(`Legacy LAZ point exceeded the ${l}-byte streaming lookahead`):u}a++,this.pointIndex++}return a}decodeAvailableIntoPointData(t,e,n=!1){if(this.metadata.pointDataRecordFormat>5)throw new Error("Available point-data decoding is limited to legacy PDRF 0-5 LAZ chunks");let s=Math.min(e,this.remainingPointCount);if(s===0)return 0;let i=Id(t),o=this.selectOutputMode("point-data",s,i),a=0,c=t.pointOffset;for(;a<s;){let l=this.pointIndex===0?this.metadata.pointDataRecordLength+4:Ad(this.metadata);if(!n&&this.stream.availableByteLength<l)break;try{t.pointOffset=c+a,o.decompressPointData?o.decompressPointData(t,t.pointOffset):o.decompressPointDataBatch(t,1)}catch(u){throw t.pointOffset=c,u instanceof it&&!n?new Error(`Legacy LAZ point exceeded the ${l}-byte streaming lookahead`):u}a++,this.pointIndex++}return t.pointOffset=c,a}decodeIntoPointData(t,e){let n=Math.min(e,this.remainingPointCount);if(n>0&&!tS(this.metadata.pointDataRecordFormat))throw new Error(`TypeScript LAZ decoder does not support direct point-data output for point format ${this.metadata.pointDataRecordFormat}`);let s=Id(t),i=this.selectOutputMode("point-data",n,s);if(!i)return 0;if(i.decompressPointDataBatch)i.decompressPointDataBatch(t,n);else for(let o=0;o<n;o++)i.decompressPointData(t,t.pointOffset+o);return this.pointIndex+=n,n}selectOutputMode(t,e,n=null){if(e===0)return null;if(this.outputMode&&this.outputMode!==t)throw new Error("Cannot mix raw and point-data decoding in one LAZ chunk cursor");if(t==="point-data"){let s=cb(n);if(this.pointDataSelectionKey!==null&&this.pointDataSelectionKey!==s)throw new Error("Cannot change selected point-data fields in one LAZ chunk cursor");this.pointDataSelectionKey=s}return this.outputMode=t,this.decoder||=QA(this.stream,this.metadata,t,n),this.decoder}};ko=16777216,qA=4294967295,pu=13,$A=1<<pu,WA=2**(31-pu),Qa=15,YA=1<<Qa,eb=2**(31-Qa),ZA=[[0,1,2,3,4,5,3,4,4,5,5,5,5,5,5,5],[1,0,1,3,3,3,3,3,3,3,3,3,3,3,3,3],[2,1,2,4,4,4,4,4,4,4,4,3,3,3,3,3],[3,3,4,5,4,4,4,4,4,4,4,4,4,4,4,4],[4,3,4,4,5,4,4,4,4,4,4,4,4,4,4,4],[5,3,4,4,4,5,4,4,4,4,4,4,4,4,4,4],[3,3,4,4,4,4,5,4,4,4,4,4,4,4,4,4],[4,3,4,4,4,4,4,5,4,4,4,4,4,4,4,4],[4,3,4,4,4,4,4,4,5,4,4,4,4,4,4,4],[5,3,4,4,4,4,4,4,4,5,4,4,4,4,4,4],[5,3,4,4,4,4,4,4,4,4,5,4,4,4,4,4],[5,3,3,4,4,4,4,4,4,4,4,5,5,4,4,4],[5,3,3,4,4,4,4,4,4,4,4,5,5,5,4,4],[5,3,3,4,4,4,4,4,4,4,4,4,5,5,5,4],[5,3,3,4,4,4,4,4,4,4,4,4,4,5,5,5],[5,3,3,4,4,4,4,4,4,4,4,4,4,4,5,5]],HA=[[0,1,2,3,4,5,6,7,7,7,7,7,7,7,7,7],[1,0,1,2,3,4,5,6,7,7,7,7,7,7,7,7],[2,1,0,1,2,3,4,5,6,7,7,7,7,7,7,7],[3,2,1,0,1,2,3,4,5,6,7,7,7,7,7,7],[4,3,2,1,0,1,2,3,4,5,6,7,7,7,7,7],[5,4,3,2,1,0,1,2,3,4,5,6,7,7,7,7],[6,5,4,3,2,1,0,1,2,3,4,5,6,7,7,7],[7,6,5,4,3,2,1,0,1,2,3,4,5,6,7,7],[7,7,6,5,4,3,2,1,0,1,2,3,4,5,6,7],[7,7,7,6,5,4,3,2,1,0,1,2,3,4,5,6],[7,7,7,7,6,5,4,3,2,1,0,1,2,3,4,5],[7,7,7,7,7,6,5,4,3,2,1,0,1,2,3,4],[7,7,7,7,7,7,6,5,4,3,2,1,0,1,2,3],[7,7,7,7,7,7,7,6,5,4,3,2,1,0,1,2],[7,7,7,7,7,7,7,7,6,5,4,3,2,1,0,1],[7,7,7,7,7,7,7,7,7,6,5,4,3,2,1,0]],an=500,Go=-10,tu=511,XA=an-Go+1,vd=an-Go+2,ub=new ArrayBuffer(8),Yd=new Uint8Array(ub),ji=new DataView(ub),KA=16*1024;rb=[[15,14,13,12,11,10,9,8],[14,0,1,3,6,10,10,9],[13,1,2,4,7,11,11,10],[12,3,4,5,8,12,12,11],[11,6,7,8,9,13,13,12],[10,10,11,12,13,14,14,13],[9,10,11,12,13,14,15,14],[8,9,10,11,12,13,14,15]],JA=[[0,1,2,3,4,5,6,7],[1,0,1,2,3,4,5,6],[2,1,0,1,2,3,4,5],[3,2,1,0,1,2,3,4],[4,3,2,1,0,1,2,3],[5,4,3,2,1,0,1,2],[6,5,4,3,2,1,0,1],[7,6,5,4,3,2,1,0]],eu=class{bytes;length;offset=0;discardedByteLength=0;constructor(t){this.bytes=t,this.length=t.byteLength}get byteOffset(){return this.discardedByteLength+this.offset}get availableByteLength(){return this.length-this.offset}get data(){return this.length===this.bytes.byteLength?this.bytes:this.bytes.subarray(0,this.length)}append(t){if(t.byteLength===0)return;let e=this.length+t.byteLength;if(e>this.bytes.byteLength){let n=Math.max(e,Math.max(64,this.bytes.byteLength*2)),s=new Uint8Array(n);s.set(this.bytes.subarray(0,this.length)),this.bytes=s}this.bytes.set(t,this.length),this.length=e}discardConsumedInput(){this.offset!==0&&(this.bytes=this.bytes.slice(this.offset,this.length),this.discardedByteLength+=this.offset,this.length-=this.offset,this.offset=0)}getByte(){if(this.offset>=this.length)throw new it;return this.bytes[this.offset++]}getBytes(t,e,n){if(this.offset+n>this.length)throw new it;t.set(this.bytes.subarray(this.offset,this.offset+n),e),this.offset+=n}consume(t){if(this.offset+t>this.length)throw new it;let e=this.offset;return this.offset+=t,e}getUint32(){let t=this.getByte(),e=this.getByte(),n=this.getByte(),s=this.getByte();return(t|e<<8|n<<16|s<<24>>>0)>>>0}},jt=class{symbols;distribution;symbolCount;decoderTable;totalCount=0;updateCycle;symbolsUntilUpdate;lastSymbol;tableSize=0;tableShift=0;constructor(t){if(t<2||t>2048)throw new Error(`Invalid arithmetic model symbol count ${t}`);if(this.symbols=t,this.lastSymbol=t-1,t>16){let e=3;for(;t>1<<e+2;)e++;this.tableSize=1<<e,this.tableShift=Qa-e,this.decoderTable=new Uint32Array(this.tableSize+2)}else this.decoderTable=null;this.distribution=new Uint32Array(t),this.symbolCount=new Uint32Array(t),this.symbolCount.fill(1),this.updateCycle=t,this.symbolsUntilUpdate=t,this.update(),this.symbolsUntilUpdate=this.updateCycle=t+6>>1}update(){if(this.totalCount+=this.updateCycle,this.totalCount>YA){this.totalCount=0;for(let i=0;i<this.symbols;i++)this.symbolCount[i]=this.symbolCount[i]+1>>1,this.totalCount+=this.symbolCount[i]}let t=0,e=0,n=2147483648/this.totalCount|0;if(this.decoderTable){for(let i=0;i<this.symbols;i++){this.distribution[i]=n*t/eb|0,t+=this.symbolCount[i];let o=this.distribution[i]>>this.tableShift;for(;e<o;)this.decoderTable[++e]=i-1}for(this.decoderTable[0]=0;e<=this.tableSize;)this.decoderTable[++e]=this.symbols-1}else for(let i=0;i<this.symbols;i++)this.distribution[i]=n*t/eb|0,t+=this.symbolCount[i];this.updateCycle=5*this.updateCycle>>2;let s=this.symbols+6<<3;this.updateCycle>s&&(this.updateCycle=s),this.symbolsUntilUpdate=this.updateCycle}},Ld=class{updateCycle=4;bitsUntilUpdate=4;bit0Prob=1<<pu-1;bit0Count=1;bitCount=2;update(){this.bitCount+=this.updateCycle,this.bitCount>$A&&(this.bitCount=this.bitCount+1>>1,this.bit0Count=this.bit0Count+1>>1,this.bit0Count===this.bitCount&&this.bitCount++);let t=2147483648/this.bitCount|0;this.bit0Prob=this.bit0Count*t/WA|0,this.updateCycle=5*this.updateCycle>>2,this.updateCycle>64&&(this.updateCycle=64),this.bitsUntilUpdate=this.updateCycle}},ne=class{input;inputBytes=null;inputOffset=0;inputEnd=0;value=0;length=qA;valid=!1;constructor(t=null){this.input=t}initStream(t,e){e?(this.inputBytes=t.data,this.inputOffset=t.consume(e),this.inputEnd=this.inputOffset+e,this.input=null,this.readInitBytes(),this.valid=!0):this.valid=!1}readInitBytes(){if(this.inputBytes){let e=this.inputOffset;if(e+4>this.inputEnd)throw new it;this.value=(this.inputBytes[e]<<24>>>0|this.inputBytes[e+1]<<16|this.inputBytes[e+2]<<8|this.inputBytes[e+3])>>>0,this.inputOffset=e+4;return}let t=this.input;this.value=(t.getByte()<<24>>>0|t.getByte()<<16|t.getByte()<<8|t.getByte())>>>0}decodeBit(t){let e=this.value,n=this.length,s=t.bit0Prob*(n>>>pu),i=e>=s?1:0;return i===0?(this.length=s>>>0,t.bit0Count++):(this.value=e-s>>>0,this.length=n-s>>>0),this.length<ko&&this.renormalize(),--t.bitsUntilUpdate===0&&t.update(),i}decodeSymbol(t){let e,n,s=this.length,i=s,o=this.value,a=t.distribution,c=t.decoderTable;if(c){s>>>=Qa;let l=o/s|0,u=l>>t.tableShift;e=c[u];let f=c[u+1]+1;for(;f>e+1;){let h=e+f>>1;a[h]>l?f=h:e=h}n=a[e]*s,e!==t.lastSymbol&&(i=a[e+1]*s)}else{n=0,e=0,s>>>=Qa;let l=t.symbols,u=l>>1;do{let f=s*a[u];f>o?(l=u,i=f):(e=u,n=f),u=e+l>>1}while(u!==e)}return this.value=o-n>>>0,this.length=i-n>>>0,this.length<ko&&this.renormalize(),t.symbolCount[e]++,--t.symbolsUntilUpdate===0&&t.update(),e}readBits(t){if(t>19){let i=this.readShort();return(this.readBits(t-16)<<16|i)>>>0}let e=this.length>>>t,n=this.value,s=n/e|0;return this.value=n-e*s>>>0,this.length=e>>>0,e<ko&&this.renormalize(),s>>>0}readShort(){let t=this.length>>>16,e=this.value,n=e/t|0;return this.value=e-t*n>>>0,this.length=t>>>0,t<ko&&this.renormalize(),n&65535}readInt(){let t=this.readShort();return(this.readShort()<<16|t)>>>0}readUint64(){let t=this.readInt(),e=this.readInt();return BigInt(e)<<32n|BigInt(t)}renormalize(){let t=this.value,e=this.length;if(this.inputBytes){let n=this.inputBytes,s=this.inputEnd,i=this.inputOffset;do{if(i>=s)throw new it;t=(t<<8|n[i++])>>>0,e=e<<8>>>0}while(e<ko);this.inputOffset=i}else{let n=this.input;do t=(t<<8|n.getByte())>>>0,e=e<<8>>>0;while(e<ko)}this.value=t,this.length=e}},Td=class{contexts;bitsHigh;corrBits;corrRange;corrMin;mBits=[];mCorrector0=new Ld;mCorrector=[];k=0;constructor(t=16,e=1,n=8,s=0){if(this.contexts=e,this.bitsHigh=n,s){for(this.corrBits=0,this.corrRange=s;s;)s>>=1,this.corrBits++;this.corrRange===1<<this.corrBits-1&&this.corrBits--,this.corrMin=-(this.corrRange/2)}else t&&t<32?(this.corrBits=t,this.corrRange=1<<t,this.corrMin=-(this.corrRange/2)):(this.corrBits=32,this.corrRange=0,this.corrMin=-2147483648)}init(){if(!this.mBits.length){for(let t=0;t<this.contexts;t++)this.mBits.push(new jt(this.corrBits+1));for(let t=1;t<=this.corrBits;t++){let e=t<=this.bitsHigh?1<<t:1<<this.bitsHigh;this.mCorrector.push(new jt(e))}}}decompress(t,e,n){let s=t.decodeSymbol(this.mBits[n]);this.k=s;let i;if(s)if(s<32){let a=this.bitsHigh,c=this.mCorrector[s-1];if(s<=a)i=t.decodeSymbol(c);else{let l=s-a;i=t.decodeSymbol(c),i=i<<l|t.readBits(l)}i>=1<<s-1?i+=1:i-=(1<<s)-1}else i=this.corrMin;else i=t.decodeBit(this.mCorrector0);let o=cn(e+i);return this.corrRange===0||(o<0?o=cn(o+this.corrRange):o>=this.corrRange&&(o=cn(o-this.corrRange))),o}},jo=class{value0=0;value1=0;value2=0;value3=0;value4=0;high=!0;add(t){this.high?t<this.value2?(this.value4=this.value3,this.value3=this.value2,t<this.value0?(this.value2=this.value1,this.value1=this.value0,this.value0=t):t<this.value1?(this.value2=this.value1,this.value1=t):this.value2=t):(t<this.value3?(this.value4=this.value3,this.value3=t):this.value4=t,this.high=!1):this.value2<t?(this.value0=this.value1,this.value1=this.value2,this.value4<t?(this.value2=this.value3,this.value3=this.value4,this.value4=t):this.value3<t?(this.value2=this.value3,this.value3=t):this.value2=t):(this.value1<t?(this.value0=this.value1,this.value1=t):this.value0=t,this.high=!0)}get(){return this.value2}};Zs=class{itemVersion;stream;decoder;changedValuesModel=new jt(64);bitByteModel=ge(256,256);classificationModel=ge(256,256);scanAngleRankModel=ge(2,256);userDataModel=ge(256,256);intensity=It(16,4);pointSourceId=It(16,1);dx=It(32,2);dy=It(32,22);z=It(32,20);lastIntensity=new Array(16).fill(0);lastHeight=new Array(8).fill(0);lastXDiffMedian=Array.from({length:16},()=>new jo);lastYDiffMedian=Array.from({length:16},()=>new jo);haveLast=!1;last=sb();firstPoint=sb();legacyXDiffs=[0,0,0];legacyYDiffs=[0,0,0];legacyDifferenceIndex=0;legacyScanAngle=null;constructor(t,e=2){this.itemVersion=e,this.stream=t,this.decoder=new ne(t),e===1&&(this.legacyScanAngle=It(8,2),this.dx=It(32,1),this.dy=It(32,20),this.intensity=It(16,1))}getDecoder(){return this.decoder}decompress(t,e){let n=this.decompressPoint();return iS(n,t,e),e+20}decompressPoint(){if(!this.haveLast)return this.haveLast=!0,nS(this.last,this.stream),sS(this.firstPoint,this.last),this.itemVersion===2&&(this.last.intensity=0),this.firstPoint;if(this.itemVersion===1)return this.decompressLegacyPoint();let t=this.decoder.decodeSymbol(this.changedValuesModel);if(t){t&32&&(this.last.bitByte=this.decoder.decodeSymbol(this.bitByteModel[this.last.bitByte]));let h=ib(this.last),p=ob(this.last),y=rb[p][h];if(t&16?(this.last.intensity=this.intensity.decompress(this.decoder,this.lastIntensity[y],y<3?y:3)&65535,this.lastIntensity[y]=this.last.intensity):this.last.intensity=this.lastIntensity[y],t&8&&(this.last.classification=this.decoder.decodeSymbol(this.classificationModel[this.last.classification])),t&4){let g=this.decoder.decodeSymbol(this.scanAngleRankModel[oS(this.last)]);this.last.scanAngleRank=qd(this.last.scanAngleRank+g)}t&2&&(this.last.userData=this.decoder.decodeSymbol(this.userDataModel[this.last.userData])),t&1&&(this.last.pointSourceId=this.pointSourceId.decompress(this.decoder,this.last.pointSourceId,0)&65535)}let e=ib(this.last),n=ob(this.last),s=rb[n][e],i=JA[n][e],o=this.lastXDiffMedian[s].get(),a=this.dx.decompress(this.decoder,o,n===1?1:0);this.last.x=cn(this.last.x+a),this.lastXDiffMedian[s].add(a);let c=this.lastYDiffMedian[s].get(),l=Math.min(this.dx.k,20)&-2,u=this.dy.decompress(this.decoder,c,(n===1?1:0)+l);this.last.y=cn(this.last.y+u),this.lastYDiffMedian[s].add(u);let f=Math.min(this.dx.k+this.dy.k>>1,18)&-2;return this.last.z=this.z.decompress(this.decoder,this.lastHeight[i],(n===1?1:0)+f),this.lastHeight[i]=this.last.z,this.last}decompressLegacyPoint(){let t=this.dx.decompress(this.decoder,nb(this.legacyXDiffs),0);this.last.x=cn(this.last.x+t);let e=this.dx.k,n=this.dy.decompress(this.decoder,nb(this.legacyYDiffs),Math.min(e,19));this.last.y=cn(this.last.y+n),e=e+this.dy.k>>1,this.last.z=this.z.decompress(this.decoder,this.last.z,Math.min(e,19));let s=this.decoder.decodeSymbol(this.changedValuesModel);return s&32&&(this.last.intensity=this.intensity.decompress(this.decoder,this.last.intensity,0)&65535),s&16&&(this.last.bitByte=this.decoder.decodeSymbol(this.bitByteModel[this.last.bitByte])),s&8&&(this.last.classification=this.decoder.decodeSymbol(this.classificationModel[this.last.classification])),s&4&&(this.last.scanAngleRank=qd(this.legacyScanAngle.decompress(this.decoder,this.last.scanAngleRank&255,e<3?1:0))),s&2&&(this.last.userData=this.decoder.decodeSymbol(this.userDataModel[this.last.userData])),s&1&&(this.last.pointSourceId=this.pointSourceId.decompress(this.decoder,this.last.pointSourceId,0)&65535),this.legacyXDiffs[this.legacyDifferenceIndex]=t,this.legacyYDiffs[this.legacyDifferenceIndex]=n,this.legacyDifferenceIndex=(this.legacyDifferenceIndex+1)%3,this.last}readFirstMetadata(){this.decoder.readInitBytes()}},tc=class{itemVersion;stream;decoder;haveLast=!1;lastRed=0;lastGreen=0;lastBlue=0;usedModel=new jt(128);diffModel=ge(6,256);legacyRgb=null;constructor(t,e,n=2){this.itemVersion=n,this.stream=t,this.decoder=e,n===1&&(this.usedModel=new jt(64),this.legacyRgb=It(8,6))}decompress(t,e){return this.decompressRgb(),ar(this.lastRed,t,e),ar(this.lastGreen,t,e+2),ar(this.lastBlue,t,e+4),e+6}decompressRgb(){if(!this.haveLast){this.haveLast=!0,this.lastRed=Ys(this.stream),this.lastGreen=Ys(this.stream),this.lastBlue=Ys(this.stream);return}let t=this.decoder.decodeSymbol(this.usedModel);if(this.itemVersion===1){this.lastRed=this.decodeLegacyColor(this.lastRed,0,t),this.lastGreen=this.decodeLegacyColor(this.lastGreen,1,t),this.lastBlue=this.decodeLegacyColor(this.lastBlue,2,t);return}let e=0,n=0,s=0;if(t&1?e=this.decoder.decodeSymbol(this.diffModel[0])+(this.lastRed&255)&255:e=this.lastRed&255,t&2?e|=(this.decoder.decodeSymbol(this.diffModel[1])+(this.lastRed>>8)&255)<<8:e|=this.lastRed&65280,t&64){let i=(e&255)-(this.lastRed&255);t&4?n=this.decoder.decodeSymbol(this.diffModel[2])+$s(i+(this.lastGreen&255))&255:n=this.lastGreen&255,t&16?(i=(i+((n&255)-(this.lastGreen&255)))/2|0,s=this.decoder.decodeSymbol(this.diffModel[4])+$s(i+(this.lastBlue&255))&255):s=this.lastBlue&255,i=(e>>8)-(this.lastRed>>8),t&8?n|=(this.decoder.decodeSymbol(this.diffModel[3])+$s(i+(this.lastGreen>>8))&255)<<8:n|=this.lastGreen&65280,t&32?(i=(i+(n>>8)-(this.lastGreen>>8))/2|0,s|=(this.decoder.decodeSymbol(this.diffModel[5])+$s(i+(this.lastBlue>>8))&255)<<8):s|=this.lastBlue&65280}else n=e,s=e;this.lastRed=e,this.lastGreen=n,this.lastBlue=s}decodeLegacyColor(t,e,n){let s=0;for(let i=0;i<2;i++){let o=e*2+i,a=t>>i*8&255,c=n&1<<o?this.legacyRgb.decompress(this.decoder,a,o):a;s|=c<<i*8}return s}get decodedRed(){return this.lastRed}get decodedGreen(){return this.lastGreen}get decodedBlue(){return this.lastBlue}},Hs=class{itemVersion;stream;decoder;count;haveLast=!1;last;models;legacyBytes;constructor(t,e,n,s=2){this.itemVersion=s,this.stream=t,this.decoder=e,this.count=n,this.last=new Uint8Array(n),this.models=ge(n,256),this.legacyBytes=s===1?It(8,n):null}get byteCount(){return this.count}decompress(t,e){return this.decompressToTarget(t,e),e+this.count}decompressToTarget(t,e=0){if(this.count!==0){if(!this.haveLast){this.stream.getBytes(this.last,0,this.count),t?.set(this.last,e),this.haveLast=!0;return}for(let n=0;n<this.count;n++){let s=this.itemVersion===1?this.legacyBytes.decompress(this.decoder,this.last[n],n):this.last[n]+this.decoder.decodeSymbol(this.models[n])&255;t&&(t[e+n]=s),this.last[n]=s}}}};(function(r){r[r.Full=0]="Full",r[r.PointData=1]="PointData"})(Nt||(Nt={}));Md=class{changedValuesModel=ge(8,128);scannerChannelModel=new jt(3);returnNumberGpsSameModel=new jt(13);numberReturnsModel=ge(16,16);returnNumberModel=ge(16,16);classModel=[];flagModel=[];userDataModel=[];gpsTimeMultiModel;gpsTime0DiffModel;dx=It(32,2);dy=It(32,22);z=It(32,20);intensity=null;scanAngle;pointSourceId;gpsTime;haveLast=!1;last=rS();lastIntensity=[];lastZ=new Array(8).fill(0);lastXDiffMedian=Array.from({length:12},()=>new jo);lastYDiffMedian=Array.from({length:12},()=>new jo);lastGpsSequence=0;nextGpsSequence=0;lastGpsTime=[];lastGpsTimeDiff=[];multiExtremeCounter=[];gpsTimeChange=!1;constructor(t,e){(t===Nt.Full||e?.classification)&&(this.classModel=ge(64,256)),(t===Nt.Full||e?.intensity)&&(this.intensity=It(16,4),this.lastIntensity=new Array(8).fill(0)),(t===Nt.Full||e?.userData)&&(this.userDataModel=ge(64,256)),(t===Nt.Full||e?.scanAngle)&&(this.scanAngle=It(16,2)),(t===Nt.Full||e?.pointSourceId)&&(this.pointSourceId=It(16,1)),(t===Nt.Full||e?.flags)&&(this.flagModel=ge(64,64)),(t===Nt.Full||e?.gpsTime)&&(this.gpsTimeMultiModel=new jt(515),this.gpsTime0DiffModel=new jt(5),this.gpsTime=It(32,9),this.lastGpsTime=new Array(4).fill(0),this.lastGpsTimeDiff=new Array(4).fill(0),this.multiExtremeCounter=new Array(4).fill(0))}},qi=class{stream;contexts;activeContext=null;decompressOptionalFields;xy=new ne;z=new ne;classification;flags;intensity;scanAngle;userData;pointSourceId;gpsTime;sizes=[];currentScannerChannel=0;itemContextChannel=0;itemVersion;constructor(t,e=Nt.Full,n=3,s=null){this.stream=t,this.itemVersion=n,this.contexts=Array.from({length:4},()=>new Md(e,s)),this.decompressOptionalFields=e===Nt.Full,this.classification=this.decompressOptionalFields||s?.classification?new ne:null,this.flags=this.decompressOptionalFields||s?.flags?new ne:null,this.intensity=this.decompressOptionalFields||s?.intensity?new ne:null,this.scanAngle=this.decompressOptionalFields||s?.scanAngle?new ne:null,this.userData=this.decompressOptionalFields||s?.userData?new ne:null,this.pointSourceId=this.decompressOptionalFields||s?.pointSourceId?new ne:null,this.gpsTime=this.decompressOptionalFields||s?.gpsTime?new ne:null}readSizes(){this.sizes=[];for(let t=0;t<9;t++)this.sizes.push(this.stream.getUint32())}readData(){let t=0;this.xy.initStream(this.stream,this.sizes[t++]),this.z.initStream(this.stream,this.sizes[t++]),this.initializeOptionalStream(this.classification,this.sizes[t++]),this.initializeOptionalStream(this.flags,this.sizes[t++]),this.initializeOptionalStream(this.intensity,this.sizes[t++]),this.initializeOptionalStream(this.scanAngle,this.sizes[t++]),this.initializeOptionalStream(this.userData,this.sizes[t++]),this.initializeOptionalStream(this.pointSourceId,this.sizes[t++]),this.initializeOptionalStream(this.gpsTime,this.sizes[t++])}initializeOptionalStream(t,e){t?t.initStream(this.stream,e):this.stream.consume(e)}decompress(t,e){let n=this.decompressPoint(t,e);return lS(n,t,e),e+30}decompressPoint(t,e=0){let n=this.gpsTime!==null;if(!this.activeContext){let rt=this.contexts[0].last;t?(this.stream.getBytes(t,e,30),aS(rt,t,e)):cS(rt,this.stream),this.currentScannerChannel=uS(rt),this.itemContextChannel=this.currentScannerChannel;let tt=this.contexts[this.currentScannerChannel];return tt.last!==rt&&ab(tt.last,rt),tt.haveLast=!0,n&&(tt.lastGpsTime[0]=tt.last.gpsTime),this.activeContext=tt,tt.lastZ.fill(tt.last.z),tt.lastIntensity.length&&tt.lastIntensity.fill(tt.last.intensity),tt.last}let s=this.activeContext,i=s.last.returns,o=i&15,a=(o===1?1:0)|(o>=i>>4?1:0)<<1|(s.gpsTimeChange?1:0)<<2,c=this.xy.decodeSymbol(s.changedValuesModel[a]),l=!!(c>>6&1),u=!!(c>>5&1),f=!!(c>>4&1),h=!!(c>>3&1),p=!!(c>>2&1),y=!!(c>>1&1),g=!!(c&1),x=g&&!y,B=y&&!g,q=g&&y;this.itemContextChannel=0;let M=this.currentScannerChannel,b=s;if(l){let rt=this.xy.decodeSymbol(s.scannerChannelModel);M=(M+rt+1)%4,b=this.contexts[M],this.activeContext=b,this.itemContextChannel=M}this.currentScannerChannel=M,this.itemVersion>=4&&(this.itemContextChannel=M),b.haveLast||(b.haveLast=!0,ab(b.last,s.last),b.lastZ.fill(s.last.z),b.lastIntensity.length&&b.lastIntensity.fill(s.last.intensity),n&&(b.lastGpsTime[0]=s.last.gpsTime)),fS(b.last,M);let C=b.last.returns>>4,_=b.last.returns&15;p&&(C=this.xy.decodeSymbol(b.numberReturnsModel[C])),x?_=(_+1)%16:B?_=(_+15)%16:q&&(_=f?this.xy.decodeSymbol(b.returnNumberModel[_]):(_+this.xy.decodeSymbol(b.returnNumberGpsSameModel)+2)%16),b.last.returns=C<<4|_;let $=ZA[C][_]<<1|(f?1:0),X=b.lastXDiffMedian[$].get(),ft=b.dx.decompress(this.xy,X,C===1?1:0);b.last.x=cn(b.last.x+ft),b.lastXDiffMedian[$].add(ft);let dt=Math.min(b.dx.k,20)&-2,Bt=b.lastYDiffMedian[$].get(),se=b.dy.decompress(this.xy,Bt,(C===1?1:0)|dt);if(b.last.y=cn(b.last.y+se),b.lastYDiffMedian[$].add(se),this.z.valid){let rt=Math.min(b.dx.k+b.dy.k>>1,18)&-2,tt=HA[C][_],Ye=b.z.decompress(this.z,b.lastZ[tt],(C===1?1:0)|rt);b.last.z=Ye,b.lastZ[tt]=Ye}if(this.classification?.valid){let rt=(_===1&&_>=C?1:0)|(b.last.classification&31)<<1;b.last.classification=this.classification.decodeSymbol(b.classModel[rt])}if(this.flags?.valid){let rt=mS(b.last),tt=this.flags.decodeSymbol(b.flagModel[rt]);pS(b.last,tt>>5&1),dS(b.last,tt>>4&1),hS(b.last,tt&15)}if(this.intensity?.valid){let rt=(f?1:0)|(_>=C?1:0)<<1|(_===1?1:0)<<2,tt=b.intensity.decompress(this.intensity,b.lastIntensity[rt],rt>>1);b.lastIntensity[rt]=tt&65535,b.last.intensity=tt&65535}if(h&&this.scanAngle&&(b.last.scanAngle=Zd(b.scanAngle.decompress(this.scanAngle,b.last.scanAngle,f?1:0))),this.userData?.valid){let rt=b.last.userData>>2;b.last.userData=this.userData.decodeSymbol(b.userDataModel[rt])}return u&&this.pointSourceId&&(b.last.pointSourceId=b.pointSourceId.decompress(this.pointSourceId,b.last.pointSourceId,0)&65535),f&&this.gpsTime&&this.decodeGpsTime(b),b.gpsTimeChange=f,b.last}decodeGpsTime(t){let e=this.gpsTime;for(;;){if(t.lastGpsTimeDiff[t.lastGpsSequence]===0){let n=e.decodeSymbol(t.gpsTime0DiffModel);if(n===0){let s=t.gpsTime.decompress(e,0,0);t.lastGpsTimeDiff[t.lastGpsSequence]=s,t.lastGpsTime[t.lastGpsSequence]=qs(t.lastGpsTime[t.lastGpsSequence],s),t.multiExtremeCounter[t.lastGpsSequence]=0}else if(n===1){t.nextGpsSequence=t.nextGpsSequence+1&3;let s=uu(t.lastGpsTime[t.lastGpsSequence]),i=t.gpsTime.decompress(e,Number(s>>32n)|0,8),o=e.readInt();t.lastGpsTime[t.nextGpsSequence]=Vo(BigInt(i>>>0)<<32n|BigInt(o)),t.lastGpsSequence=t.nextGpsSequence,t.lastGpsTimeDiff[t.lastGpsSequence]=0,t.multiExtremeCounter[t.lastGpsSequence]=0}else{t.lastGpsSequence=t.lastGpsSequence+n-1&3;continue}}else{let n=e.decodeSymbol(t.gpsTimeMultiModel),s=0;if(n===1){let i=t.gpsTime.decompress(e,t.lastGpsTimeDiff[t.lastGpsSequence],1);t.lastGpsTime[t.lastGpsSequence]=qs(t.lastGpsTime[t.lastGpsSequence],i),t.multiExtremeCounter[t.lastGpsSequence]=0}else if(n<tu){if(n===0)s=t.gpsTime.decompress(e,0,7),t.multiExtremeCounter[t.lastGpsSequence]++,t.multiExtremeCounter[t.lastGpsSequence]>3&&(t.multiExtremeCounter[t.lastGpsSequence]=0,t.lastGpsTimeDiff[t.lastGpsSequence]=s);else if(n<an){let i=n<10?2:3;s=t.gpsTime.decompress(e,n*t.lastGpsTimeDiff[t.lastGpsSequence],i)}else n===an?(s=t.gpsTime.decompress(e,an*t.lastGpsTimeDiff[t.lastGpsSequence],4),t.multiExtremeCounter[t.lastGpsSequence]++,t.multiExtremeCounter[t.lastGpsSequence]>3&&(t.multiExtremeCounter[t.lastGpsSequence]=0,t.lastGpsTimeDiff[t.lastGpsSequence]=s)):(n=an-n,n>Go?s=t.gpsTime.decompress(e,n*t.lastGpsTimeDiff[t.lastGpsSequence],5):(s=t.gpsTime.decompress(e,Go*t.lastGpsTimeDiff[t.lastGpsSequence],6),t.multiExtremeCounter[t.lastGpsSequence]++,t.multiExtremeCounter[t.lastGpsSequence]>3&&(t.multiExtremeCounter[t.lastGpsSequence]=0,t.lastGpsTimeDiff[t.lastGpsSequence]=s)));t.lastGpsTime[t.lastGpsSequence]=qs(t.lastGpsTime[t.lastGpsSequence],s)}else if(n===tu){t.nextGpsSequence=t.nextGpsSequence+1&3;let i=uu(t.lastGpsTime[t.lastGpsSequence]),o=t.gpsTime.decompress(e,Number(i>>32n)|0,8),a=e.readInt();t.lastGpsTime[t.nextGpsSequence]=Vo(BigInt(o>>>0)<<32n|BigInt(a)),t.lastGpsSequence=t.nextGpsSequence,t.lastGpsTimeDiff[t.lastGpsSequence]=0,t.multiExtremeCounter[t.lastGpsSequence]=0}else if(n>=tu){t.lastGpsSequence=t.lastGpsSequence+n-tu&3;continue}}t.last.gpsTime=t.lastGpsTime[t.lastGpsSequence];break}}},Dd=class{haveLast=!1;lastRed=0;lastGreen=0;lastBlue=0;usedModel=new jt(128);diffModel=ge(6,256)},ec=class{stream;contexts=Array.from({length:4},()=>new Dd);activeContext=null;lastChannel=-1;rgbCount=0;rgb=new ne;decodedRed=0;decodedGreen=0;decodedBlue=0;itemVersion;constructor(t,e=3){this.stream=t,this.itemVersion=e}readSizes(){this.rgbCount=this.stream.getUint32()}readData(){this.rgb.initStream(this.stream,this.rgbCount)}decompress(t,e,n){return this.decompressRgb(n),ar(this.decodedRed,t,e),ar(this.decodedGreen,t,e+2),ar(this.decodedBlue,t,e+4),e+6}decompressRgb(t){if(this.lastChannel===-1){this.decodedRed=this.stream.getByte()|this.stream.getByte()<<8,this.decodedGreen=this.stream.getByte()|this.stream.getByte()<<8,this.decodedBlue=this.stream.getByte()|this.stream.getByte()<<8;let c=this.contexts[t];c.lastRed=this.decodedRed,c.lastGreen=this.decodedGreen,c.lastBlue=this.decodedBlue,c.haveLast=!0,this.lastChannel=t,this.activeContext=c;return}if(this.rgbCount===0){let c=this.activeContext;this.decodedRed=c.lastRed,this.decodedGreen=c.lastGreen,this.decodedBlue=c.lastBlue;return}let e=this.activeContext,n=e;if(t!==this.lastChannel){let c=e;e=this.contexts[t],n=c,this.lastChannel=t,e.haveLast||(e.haveLast=!0,e.lastRed=c.lastRed,e.lastGreen=c.lastGreen,e.lastBlue=c.lastBlue,n=e),this.itemVersion>=4&&(n=e),this.activeContext=e}let s=this.rgb.decodeSymbol(e.usedModel),i=0,o=0,a=0;if(s&1?i=this.rgb.decodeSymbol(e.diffModel[0])+(n.lastRed&255)&255:i=n.lastRed&255,s&2){let c=this.rgb.decodeSymbol(e.diffModel[1]);i|=(c+(n.lastRed>>8)&255)<<8}else i|=n.lastRed&65280;if(s&64){let c=(i&255)-(n.lastRed&255);if(s&4?o=this.rgb.decodeSymbol(e.diffModel[2])+$s(c+(n.lastGreen&255))&255:o=n.lastGreen&255,s&16){let l=this.rgb.decodeSymbol(e.diffModel[4]);c=(c+((o&255)-(n.lastGreen&255)))/2|0,a=l+$s(c+(n.lastBlue&255))&255}else a=n.lastBlue&255;if(c=(i>>8)-(n.lastRed>>8),s&8){let l=this.rgb.decodeSymbol(e.diffModel[3]);o|=(l+$s(c+(n.lastGreen>>8))&255)<<8}else o|=n.lastGreen&65280;if(s&32){let l=this.rgb.decodeSymbol(e.diffModel[5]);c=(c+(o>>8)-(n.lastGreen>>8))/2|0,a|=(l+$s(c+(n.lastBlue>>8))&255)<<8}else a|=n.lastBlue&65280}else o=i,a=i;n.lastRed=i,n.lastGreen=o,n.lastBlue=a,this.decodedRed=i,this.decodedGreen=o,this.decodedBlue=a}},Cd=class{haveLast=!1;lastValue=0;usedModel=new jt(4);diffModel=ge(2,256)},ru=class{stream;contexts=Array.from({length:4},()=>new Cd);lastChannel=-1;nirCount=0;nir=new ne;scratch=new Uint8Array(2);decodedNir=0;itemVersion;constructor(t,e=3){this.stream=t,this.itemVersion=e}readSizes(){this.nirCount=this.stream.getUint32()}readData(){this.nir.initStream(this.stream,this.nirCount)}decompress(t,e,n){if(this.lastChannel===-1){this.stream.getBytes(t,e,2);let c=this.contexts[n];return c.lastValue=au(t,e),c.haveLast=!0,this.lastChannel=n,this.decodedNir=c.lastValue,e+2}if(this.nirCount===0)return ar(this.contexts[this.lastChannel].lastValue,t,e),this.decodedNir=this.contexts[this.lastChannel].lastValue,e+2;let s=this.contexts[n],i=this.contexts[this.lastChannel];n!==this.lastChannel&&(this.lastChannel=n,s.haveLast||(s.haveLast=!0,s.lastValue=i.lastValue,i=s),this.itemVersion>=4&&(i=s));let o=this.nir.decodeSymbol(s.usedModel),a=o&1?this.nir.decodeSymbol(s.diffModel[0])+(i.lastValue&255)&255:i.lastValue&255;return a|=o&2?(this.nir.decodeSymbol(s.diffModel[1])+(i.lastValue>>8)&255)<<8:i.lastValue&65280,i.lastValue=a,this.decodedNir=a,ar(a,t,e),e+2}decompressNir(t){return this.decompress(this.scratch,0,t),this.decodedNir}},nu=class{haveLast=!1;descriptorIndex=0;offset=0n;packetSize=0;returnPointBits=0;xBits=0;yBits=0;zBits=0;lastOffsetDifference=0;lastOffsetDifferenceSymbol=0;descriptorModel=new jt(256);offsetDifferenceModels=ge(4,4);offsetDifferenceDecompressor=It(32,1);packetSizeDecompressor=It(32,1);returnPointDecompressor=It(32,1);vectorDecompressor=It(32,3)},su=class{stream;contexts=Array.from({length:4},()=>new nu);lastChannel=-1;wavePacketByteCount=0;decoder=new ne;itemVersion;constructor(t,e){this.stream=t,this.itemVersion=e}readSizes(){this.wavePacketByteCount=this.stream.getUint32()}readData(){this.decoder.initStream(this.stream,this.wavePacketByteCount)}decompress(t,e,n){if(this.lastChannel===-1){this.stream.getBytes(t,e,29);let a=this.contexts[n];return this.readContext(a,t,e),a.haveLast=!0,this.lastChannel=n,e+29}let s=this.contexts[this.lastChannel],i=this.contexts[n],o=i;return n!==this.lastChannel&&(o=s,i.haveLast?this.itemVersion>=4&&(o=i):(this.copyLastWavePacket(i,s),i.haveLast=!0,o=i),this.lastChannel=n),this.wavePacketByteCount&&this.decodeContext(i,o),this.writeContext(o,t,e),e+29}decompressToTarget(t,e,n){this.decompress(t,e,n)}decodeContext(t,e){e.descriptorIndex=this.decoder.decodeSymbol(t.descriptorModel);let n=this.decoder.decodeSymbol(t.offsetDifferenceModels[t.lastOffsetDifferenceSymbol]);switch(t.lastOffsetDifferenceSymbol=n,n){case 0:break;case 1:e.offset=BigInt.asUintN(64,e.offset+BigInt(e.packetSize));break;case 2:t.lastOffsetDifference=t.offsetDifferenceDecompressor.decompress(this.decoder,t.lastOffsetDifference,0),e.offset=BigInt.asUintN(64,e.offset+BigInt(t.lastOffsetDifference));break;default:e.offset=this.decoder.readUint64();break}e.packetSize=t.packetSizeDecompressor.decompress(this.decoder,e.packetSize|0,0)>>>0,e.returnPointBits=t.returnPointDecompressor.decompress(this.decoder,e.returnPointBits,0),e.xBits=t.vectorDecompressor.decompress(this.decoder,e.xBits,0),e.yBits=t.vectorDecompressor.decompress(this.decoder,e.yBits,1),e.zBits=t.vectorDecompressor.decompress(this.decoder,e.zBits,2)}copyLastWavePacket(t,e){t.descriptorIndex=e.descriptorIndex,t.offset=e.offset,t.packetSize=e.packetSize,t.returnPointBits=e.returnPointBits,t.xBits=e.xBits,t.yBits=e.yBits,t.zBits=e.zBits}readContext(t,e,n){t.descriptorIndex=e[n],t.offset=fb(e,n+1),t.packetSize=cu(e,n+9),t.returnPointBits=Vr(e,n+13),t.xBits=Vr(e,n+17),t.yBits=Vr(e,n+21),t.zBits=Vr(e,n+25)}writeContext(t,e,n){e[n]=t.descriptorIndex,hb(t.offset,e,n+1),lu(t.packetSize,e,n+9),Ue(t.returnPointBits,e,n+13),Ue(t.xBits,e,n+17),Ue(t.yBits,e,n+21),Ue(t.zBits,e,n+25)}},Fd=class{haveLast=!1;last;byteModel;constructor(t){this.last=new Uint8Array(t),this.byteModel=ge(t,256)}},$i=class{stream;count;contexts;lastChannel=-1;byteCount;byteDecoder;itemVersion;constructor(t,e,n=3){this.stream=t,this.count=e,this.itemVersion=n,this.contexts=Array.from({length:4},()=>new Fd(e)),this.byteCount=new Array(e).fill(0),this.byteDecoder=Array.from({length:e},()=>new ne)}readSizes(){for(let t=0;t<this.count;t++)this.byteCount[t]=this.stream.getUint32()}readData(){for(let t=0;t<this.count;t++)this.byteDecoder[t].initStream(this.stream,this.byteCount[t])}decompress(t,e,n){if(this.lastChannel===-1){this.stream.getBytes(t,e,this.count);let o=this.contexts[n];return o.last.set(t.subarray(e,e+this.count)),o.haveLast=!0,this.lastChannel=n,e+this.count}let s=this.contexts[n],i=this.contexts[this.lastChannel].last;n!==this.lastChannel&&(this.lastChannel=n,s.haveLast||(s.haveLast=!0,s.last.set(i),i=this.contexts[this.lastChannel].last),this.itemVersion>=4&&(i=s.last));for(let o=0;o<this.count;o++)if(this.byteCount[o]){let a=i[o]+this.byteDecoder[o].decodeSymbol(s.byteModel[o])&255;t[e+o]=a,i[o]=a}else t[e+o]=i[o];return e+this.count}};Od=class{point;bytes;first=!0;constructor(t,e,n){this.point=new Zs(t,n.point10ItemVersion??2),this.bytes=new Hs(t,this.point.getDecoder(),e,n.byteItemVersion??2)}decompress(t,e){return e=this.point.decompress(t,e),e=this.bytes.decompress(t,e),this.readFirstMetadata(),e}decompressPointData(t,e){let n=this.point.decompressPoint();this.bytes.decompressToTarget(t.extraBytes,e*this.bytes.byteCount),this.readFirstMetadata(),Rn(n,t.positions,t.intensities,t.classifications,t.scale,t.offset,e),Wi(n,t,e)}decompressPointDataBatch(t,e){for(let n=0;n<e;n++)this.decompressPointData(t,t.pointOffset+n)}readFirstMetadata(){this.first&&(this.point.readFirstMetadata(),this.first=!1)}},qo=class{itemVersion;stream;decoder;gpsTimeMultiModel=new jt(516);gpsTime0DiffModel=new jt(6);gpsTime=It(32,9);lastGpsSequence=0;nextGpsSequence=0;lastGpsTime=new Array(4).fill(0);lastGpsTimeDiff=new Array(4).fill(0);multiExtremeCounter=new Array(4).fill(0);haveLast=!1;constructor(t,e,n=2){this.itemVersion=n,this.stream=t,this.decoder=e,n===1&&(this.gpsTimeMultiModel=new jt(512),this.gpsTime0DiffModel=new jt(3),this.gpsTime=It(32,6))}decompress(t,e){return pb(this.decompressGpsTime(),t,e),e+8}decompressGpsTime(){return this.haveLast?(this.itemVersion===1?this.decodeLegacyGpsTime():this.decodeGpsTime(),this.lastGpsTime[this.lastGpsSequence]):(this.lastGpsTime[0]=db(this.stream),this.haveLast=!0,this.lastGpsTime[0])}decodeLegacyGpsTime(){let t=this.lastGpsTimeDiff[0];if(t===0){let o=this.decoder.decodeSymbol(this.gpsTime0DiffModel);if(o===1){let a=this.gpsTime.decompress(this.decoder,0,0);this.lastGpsTimeDiff[0]=a,this.lastGpsTime[0]=qs(this.lastGpsTime[0],a)}else o===2&&(this.lastGpsTime[0]=Vo(this.decoder.readUint64()));return}let e=this.decoder.decodeSymbol(this.gpsTimeMultiModel);if(e===511)return;if(e===510){this.lastGpsTime[0]=Vo(this.decoder.readUint64());return}let n=e===1?1:e===0?2:e<10?3:e<50?4:5,s=e===0?Math.trunc(t/4):cn(e*t),i=this.gpsTime.decompress(this.decoder,s,n);e===1?(this.lastGpsTimeDiff[0]=i,this.multiExtremeCounter[0]=0):(e===0||e===509)&&++this.multiExtremeCounter[0]>3&&(this.lastGpsTimeDiff[0]=i,this.multiExtremeCounter[0]=0),this.lastGpsTime[0]=qs(this.lastGpsTime[0],i)}decodeGpsTime(){for(;;){if(this.lastGpsTimeDiff[this.lastGpsSequence]===0){let n=this.decoder.decodeSymbol(this.gpsTime0DiffModel);if(n===0)break;if(n===1){let s=this.gpsTime.decompress(this.decoder,0,0);this.lastGpsTimeDiff[this.lastGpsSequence]=s,this.lastGpsTime[this.lastGpsSequence]=qs(this.lastGpsTime[this.lastGpsSequence],s),this.multiExtremeCounter[this.lastGpsSequence]=0;break}if(n===2){this.readFullGpsTime();break}this.lastGpsSequence=this.lastGpsSequence+n-2&3;continue}let t=this.decoder.decodeSymbol(this.gpsTimeMultiModel),e=0;if(t===1){let n=this.gpsTime.decompress(this.decoder,this.lastGpsTimeDiff[this.lastGpsSequence],1);this.lastGpsTime[this.lastGpsSequence]=qs(this.lastGpsTime[this.lastGpsSequence],n),this.multiExtremeCounter[this.lastGpsSequence]=0}else if(t<XA){if(t===0)e=this.gpsTime.decompress(this.decoder,0,7),this.multiExtremeCounter[this.lastGpsSequence]++,this.multiExtremeCounter[this.lastGpsSequence]>3&&(this.multiExtremeCounter[this.lastGpsSequence]=0,this.lastGpsTimeDiff[this.lastGpsSequence]=e);else if(t<an){let n=t<10?2:3;e=this.gpsTime.decompress(this.decoder,t*this.lastGpsTimeDiff[this.lastGpsSequence],n)}else t===an?(e=this.gpsTime.decompress(this.decoder,an*this.lastGpsTimeDiff[this.lastGpsSequence],4),this.multiExtremeCounter[this.lastGpsSequence]++,this.multiExtremeCounter[this.lastGpsSequence]>3&&(this.multiExtremeCounter[this.lastGpsSequence]=0,this.lastGpsTimeDiff[this.lastGpsSequence]=e)):(t=an-t,t>Go?e=this.gpsTime.decompress(this.decoder,t*this.lastGpsTimeDiff[this.lastGpsSequence],5):(e=this.gpsTime.decompress(this.decoder,Go*this.lastGpsTimeDiff[this.lastGpsSequence],6),this.multiExtremeCounter[this.lastGpsSequence]++,this.multiExtremeCounter[this.lastGpsSequence]>3&&(this.multiExtremeCounter[this.lastGpsSequence]=0,this.lastGpsTimeDiff[this.lastGpsSequence]=e)));this.lastGpsTime[this.lastGpsSequence]=qs(this.lastGpsTime[this.lastGpsSequence],e)}else if(t===vd)this.readFullGpsTime();else if(t>=vd){this.lastGpsSequence=this.lastGpsSequence+t-vd&3;continue}break}}readFullGpsTime(){this.nextGpsSequence=this.nextGpsSequence+1&3;let t=uu(this.lastGpsTime[this.lastGpsSequence]),e=this.gpsTime.decompress(this.decoder,Number(t>>32n)|0,8),n=this.decoder.readInt();this.lastGpsTime[this.nextGpsSequence]=Vo(BigInt(e>>>0)<<32n|BigInt(n)),this.lastGpsSequence=this.nextGpsSequence,this.lastGpsTimeDiff[this.lastGpsSequence]=0,this.multiExtremeCounter[this.lastGpsSequence]=0}},Ed=class{point;gpsTime;bytes;first=!0;constructor(t,e,n){this.point=new Zs(t,n.point10ItemVersion??2);let s=this.point.getDecoder();this.gpsTime=new qo(t,s,n.gpsTime11ItemVersion??2),this.bytes=new Hs(t,s,e,n.byteItemVersion??2)}decompress(t,e){return e=this.point.decompress(t,e),e=this.gpsTime.decompress(t,e),e=this.bytes.decompress(t,e),this.readFirstMetadata(),e}decompressPointData(t,e){let n=this.point.decompressPoint(),s=this.gpsTime.decompressGpsTime();this.bytes.decompressToTarget(t.extraBytes,e*this.bytes.byteCount),this.readFirstMetadata(),Rn(n,t.positions,t.intensities,t.classifications,t.scale,t.offset,e),Wi(n,t,e),t.gpsTimes&&(t.gpsTimes[e]=s)}decompressPointDataBatch(t,e){for(let n=0;n<e;n++)this.decompressPointData(t,t.pointOffset+n)}readFirstMetadata(){this.first&&(this.point.readFirstMetadata(),this.first=!1)}},Ud=class{point;rgb;bytes;first=!0;constructor(t,e,n){this.point=new Zs(t,n.point10ItemVersion??2);let s=this.point.getDecoder();this.rgb=new tc(t,s,n.rgb12ItemVersion??2),this.bytes=new Hs(t,s,e,n.byteItemVersion??2)}decompress(t,e){return e=this.point.decompress(t,e),e=this.rgb.decompress(t,e),e=this.bytes.decompress(t,e),this.readFirstMetadata(),e}decompressPointData(t,e){let n=this.point.decompressPoint();this.rgb.decompressRgb(),this.bytes.decompressToTarget(t.extraBytes,e*this.bytes.byteCount),this.readFirstMetadata(),Rn(n,t.positions,t.intensities,t.classifications,t.scale,t.offset,e),Wi(n,t,e),Hi(this.rgb.decodedRed,this.rgb.decodedGreen,this.rgb.decodedBlue,t,e)}decompressPointDataBatch(t,e){for(let n=0;n<e;n++)this.decompressPointData(t,t.pointOffset+n)}readFirstMetadata(){this.first&&(this.point.readFirstMetadata(),this.first=!1)}},Nd=class{point;gpsTime;rgb;bytes;first=!0;directCommonOutput;constructor(t,e,n,s=null){this.point=new Zs(t,n.point10ItemVersion??2);let i=this.point.getDecoder();this.gpsTime=new qo(t,i,n.gpsTime11ItemVersion??2),this.rgb=new tc(t,i,n.rgb12ItemVersion??2),this.bytes=new Hs(t,i,e,n.byteItemVersion??2),this.directCommonOutput=!!(s&&!s.gpsTime&&!s.scanAngle&&!s.userData&&!s.pointSourceId&&!s.flags&&!s.waveform&&!s.extraBytes)}decompress(t,e){return e=this.point.decompress(t,e),e=this.gpsTime.decompress(t,e),e=this.rgb.decompress(t,e),e=this.bytes.decompress(t,e),this.readFirstMetadata(),e}decompressPointData(t,e){let n=this.point.decompressPoint(),s=this.gpsTime.decompressGpsTime();if(this.rgb.decompressRgb(),this.directCommonOutput){if(this.bytes.decompressToTarget(),this.readFirstMetadata(),Rn(n,t.positions,t.intensities,t.classifications,t.scale,t.offset,e),t.colors){let i=e*4;t.colors[i]=this.rgb.decodedRed&255,t.colors[i+1]=this.rgb.decodedGreen&255,t.colors[i+2]=this.rgb.decodedBlue&255,t.colors[i+3]=255}else if(t.rawColors){let i=e*3;t.rawColors[i]=this.rgb.decodedRed,t.rawColors[i+1]=this.rgb.decodedGreen,t.rawColors[i+2]=this.rgb.decodedBlue}return}this.bytes.decompressToTarget(t.extraBytes,e*this.bytes.byteCount),this.readFirstMetadata(),Rn(n,t.positions,t.intensities,t.classifications,t.scale,t.offset,e),Wi(n,t,e),t.gpsTimes&&(t.gpsTimes[e]=s),Hi(this.rgb.decodedRed,this.rgb.decodedGreen,this.rgb.decodedBlue,t,e)}decompressPointDataBatch(t,e){let n=t.positions,s=t.intensities,i=t.classifications,o=t.colors,a=t.rawColors,c=t.scale,l=t.offset,u=this.bytes.byteCount,f=t.pointOffset;if(!!!(t.gpsTimes||t.scanAngles||t.userData||t.pointSourceIds||t.returnNumbers||t.numberOfReturns||t.scannerChannels||t.scanDirectionFlags||t.edgeOfFlightLines||t.syntheticFlags||t.keyPointFlags||t.withheldFlags||t.overlapFlags)&&!t.extraBytes){for(let p=0;p<e;p++){let y=this.point.decompressPoint();if(this.gpsTime.decompressGpsTime(),this.rgb.decompressRgb(),this.bytes.decompressToTarget(),this.readFirstMetadata(),Rn(y,n,s,i,c,l,f),o){let g=f*4;o[g]=this.rgb.decodedRed&255,o[g+1]=this.rgb.decodedGreen&255,o[g+2]=this.rgb.decodedBlue&255,o[g+3]=255}else if(a){let g=f*3;a[g]=this.rgb.decodedRed,a[g+1]=this.rgb.decodedGreen,a[g+2]=this.rgb.decodedBlue}f++}return}for(let p=0;p<e;p++){let y=this.point.decompressPoint(),g=this.gpsTime.decompressGpsTime();this.rgb.decompressRgb(),this.bytes.decompressToTarget(t.extraBytes,f*u),this.readFirstMetadata(),Rn(y,n,s,i,c,l,f),Wi(y,t,f),t.gpsTimes&&(t.gpsTimes[f]=g),Hi(this.rgb.decodedRed,this.rgb.decodedGreen,this.rgb.decodedBlue,t,f),f++}}readFirstMetadata(){this.first&&(this.point.readFirstMetadata(),this.first=!1)}},iu=class{stream;decoder;context=new nu;constructor(t,e){this.stream=t,this.decoder=e}decompress(t,e){let n=this.context;if(!n.haveLast)return this.stream.getBytes(t,e,29),this.readContext(t,e),n.haveLast=!0,e+29;n.descriptorIndex=this.decoder.decodeSymbol(n.descriptorModel);let s=this.decoder.decodeSymbol(n.offsetDifferenceModels[n.lastOffsetDifferenceSymbol]);switch(n.lastOffsetDifferenceSymbol=s,s){case 0:break;case 1:n.offset=BigInt.asUintN(64,n.offset+BigInt(n.packetSize));break;case 2:n.lastOffsetDifference=n.offsetDifferenceDecompressor.decompress(this.decoder,n.lastOffsetDifference,0),n.offset=BigInt.asUintN(64,n.offset+BigInt(n.lastOffsetDifference));break;default:n.offset=this.decoder.readUint64();break}return n.packetSize=n.packetSizeDecompressor.decompress(this.decoder,n.packetSize|0,0)>>>0,n.returnPointBits=n.returnPointDecompressor.decompress(this.decoder,n.returnPointBits,0),n.xBits=n.vectorDecompressor.decompress(this.decoder,n.xBits,0),n.yBits=n.vectorDecompressor.decompress(this.decoder,n.yBits,1),n.zBits=n.vectorDecompressor.decompress(this.decoder,n.zBits,2),this.writeContext(t,e),e+29}decompressToTarget(t,e){this.decompress(t,e)}readContext(t,e){let n=this.context;n.descriptorIndex=t[e],n.offset=fb(t,e+1),n.packetSize=cu(t,e+9),n.returnPointBits=Vr(t,e+13),n.xBits=Vr(t,e+17),n.yBits=Vr(t,e+21),n.zBits=Vr(t,e+25)}writeContext(t,e){let n=this.context;t[e]=n.descriptorIndex,hb(n.offset,t,e+1),lu(n.packetSize,t,e+9),Ue(n.returnPointBits,t,e+13),Ue(n.xBits,t,e+17),Ue(n.yBits,t,e+21),Ue(n.zBits,t,e+25)}},Rd=class{point;gpsTime;wavePacket;bytes;waveformScratch=new Uint8Array(29);first=!0;constructor(t,e,n){this.point=new Zs(t,n.point10ItemVersion??2);let s=this.point.getDecoder();this.gpsTime=new qo(t,s,n.gpsTime11ItemVersion??2),this.wavePacket=new iu(t,s),this.bytes=new Hs(t,s,e,n.byteItemVersion??2)}decompress(t,e){return e=this.point.decompress(t,e),e=this.gpsTime.decompress(t,e),e=this.wavePacket.decompress(t,e),e=this.bytes.decompress(t,e),this.readFirstMetadata(),e}decompressPointData(t,e){let n=this.point.decompressPoint(),s=this.gpsTime.decompressGpsTime();t.waveforms?this.wavePacket.decompressToTarget(t.waveforms,e*29):this.wavePacket.decompressToTarget(this.waveformScratch,0),this.bytes.decompressToTarget(t.extraBytes,e*this.bytes.byteCount),this.readFirstMetadata(),Rn(n,t.positions,t.intensities,t.classifications,t.scale,t.offset,e),Wi(n,t,e),t.gpsTimes&&(t.gpsTimes[e]=s)}decompressPointDataBatch(t,e){for(let n=0;n<e;n++)this.decompressPointData(t,t.pointOffset+n)}readFirstMetadata(){this.first&&(this.point.readFirstMetadata(),this.first=!1)}},Pd=class{point;gpsTime;rgb;wavePacket;bytes;waveformScratch=new Uint8Array(29);first=!0;constructor(t,e,n){this.point=new Zs(t,n.point10ItemVersion??2);let s=this.point.getDecoder();this.gpsTime=new qo(t,s,n.gpsTime11ItemVersion??2),this.rgb=new tc(t,s,n.rgb12ItemVersion??2),this.wavePacket=new iu(t,s),this.bytes=new Hs(t,s,e,n.byteItemVersion??2)}decompress(t,e){return e=this.point.decompress(t,e),e=this.gpsTime.decompress(t,e),e=this.rgb.decompress(t,e),e=this.wavePacket.decompress(t,e),e=this.bytes.decompress(t,e),this.readFirstMetadata(),e}decompressPointData(t,e){let n=this.point.decompressPoint(),s=this.gpsTime.decompressGpsTime();this.rgb.decompressRgb(),t.waveforms?this.wavePacket.decompressToTarget(t.waveforms,e*29):this.wavePacket.decompressToTarget(this.waveformScratch,0),this.bytes.decompressToTarget(t.extraBytes,e*this.bytes.byteCount),this.readFirstMetadata(),Rn(n,t.positions,t.intensities,t.classifications,t.scale,t.offset,e),Wi(n,t,e),t.gpsTimes&&(t.gpsTimes[e]=s),Hi(this.rgb.decodedRed,this.rgb.decodedGreen,this.rgb.decodedBlue,t,e)}decompressPointDataBatch(t,e){for(let n=0;n<e;n++)this.decompressPointData(t,t.pointOffset+n)}readFirstMetadata(){this.first&&(this.point.readFirstMetadata(),this.first=!1)}},kd=class{stream;point;bytes;extraByteCount;first=!0;constructor(t,e,n,s,i){this.stream=t,this.extraByteCount=e,this.point=new qi(t,n==="raw"?Nt.Full:Nt.PointData,s.point14ItemVersion??3,i),this.bytes=(n==="raw"||i?.extraBytes)&&e?new $i(t,e,s.byte14ItemVersion??3):null}decompress(t,e){return e=this.point.decompress(t,e),this.bytes&&(e=this.bytes.decompress(t,e,this.point.itemContextChannel)),this.readFirstMetadata(),e}decompressPointData(t,e){let n=this.point.decompressPoint();this.bytes&&t.extraBytes?this.bytes.decompress(t.extraBytes,e*this.extraByteCount,this.point.itemContextChannel):this.first&&this.extraByteCount&&this.stream.consume(this.extraByteCount),this.readFirstMetadata(),nc(n,t,e)}decompressPointDataBatch(t,e){let n=t.positions,s=t.intensities,i=t.classifications,o=t.scale,a=t.offset,c=t.pointOffset;for(let l=0;l<e;l++){let u=this.point.decompressPoint();this.bytes&&t.extraBytes?this.bytes.decompress(t.extraBytes,c*this.extraByteCount,this.point.itemContextChannel):this.first&&this.extraByteCount&&this.stream.consume(this.extraByteCount),this.readFirstMetadata(),Ws(u,n,s,i,o,a,c++),Yi(u,t,c-1),Zi(u,t,c-1)}}readFirstMetadata(){if(this.first){this.stream.getUint32(),this.point.readSizes();let t=0;if(this.bytes)this.bytes.readSizes();else for(let e=0;e<this.extraByteCount;e++)t+=this.stream.getUint32();this.point.readData(),this.bytes?this.bytes.readData():this.stream.consume(t),this.first=!1}}},zd=class{stream;point;rgb;bytes;extraByteCount;first=!0;constructor(t,e,n,s,i){this.stream=t,this.extraByteCount=e,this.point=new qi(t,n==="raw"?Nt.Full:Nt.PointData,s.point14ItemVersion??3,i),this.rgb=n==="raw"||i?.color?new ec(t,s.rgb14ItemVersion??3):null,this.bytes=(n==="raw"||i?.extraBytes)&&e?new $i(t,e,s.byte14ItemVersion??3):null}decompress(t,e){return e=this.point.decompress(t,e),e=this.rgb.decompress(t,e,this.point.itemContextChannel),this.bytes&&(e=this.bytes.decompress(t,e,this.point.itemContextChannel)),this.readFirstMetadata(),e}decompressPointData(t,e){let n=this.point.decompressPoint();this.rgb?this.rgb.decompressRgb(this.point.itemContextChannel):this.first&&this.stream.consume(6),this.bytes&&t.extraBytes?this.bytes.decompress(t.extraBytes,e*this.extraByteCount,this.point.itemContextChannel):this.first&&this.extraByteCount&&this.stream.consume(this.extraByteCount),this.readFirstMetadata(),nc(n,t,e),this.rgb&&Hi(this.rgb.decodedRed,this.rgb.decodedGreen,this.rgb.decodedBlue,t,e)}decompressPointDataBatch(t,e){let n=t.positions,s=t.intensities,i=t.classifications,o=t.colors,a=t.rawColors,c=t.scale,l=t.offset,u=t.pointOffset,f=e;if(this.first&&f>0){let y=this.point.decompressPoint();if(this.rgb?this.rgb.decompressRgb(this.point.itemContextChannel):this.stream.consume(6),this.bytes&&t.extraBytes?this.bytes.decompress(t.extraBytes,u*this.extraByteCount,this.point.itemContextChannel):this.extraByteCount&&this.stream.consume(this.extraByteCount),this.readFirstMetadata(),Ws(y,n,s,i,c,l,u),Yi(y,t,u),Zi(y,t,u),o&&this.rgb){let g=u*4;o[g]=this.rgb.decodedRed&255,o[g+1]=this.rgb.decodedGreen&255,o[g+2]=this.rgb.decodedBlue&255,o[g+3]=255}else if(a&&this.rgb){let g=u*3;a[g]=this.rgb.decodedRed,a[g+1]=this.rgb.decodedGreen,a[g+2]=this.rgb.decodedBlue}u++,f--}let h=!!(t.gpsTimes||t.scanAngles||t.userData||t.pointSourceIds||t.returnNumbers||t.numberOfReturns||t.scannerChannels||t.scanDirectionFlags||t.edgeOfFlightLines||t.syntheticFlags||t.keyPointFlags||t.withheldFlags||t.overlapFlags),p=!!(this.bytes&&t.extraBytes);if(!h&&!p){for(let y=0;y<f;y++){let g=this.point.decompressPoint();if(this.rgb?.decompressRgb(this.point.itemContextChannel),Ws(g,n,s,i,c,l,u),o&&this.rgb){let x=u*4;o[x]=this.rgb.decodedRed&255,o[x+1]=this.rgb.decodedGreen&255,o[x+2]=this.rgb.decodedBlue&255,o[x+3]=255}else if(a&&this.rgb){let x=u*3;a[x]=this.rgb.decodedRed,a[x+1]=this.rgb.decodedGreen,a[x+2]=this.rgb.decodedBlue}u++}return}for(let y=0;y<f;y++){let g=this.point.decompressPoint();if(this.rgb?.decompressRgb(this.point.itemContextChannel),this.bytes&&t.extraBytes&&this.bytes.decompress(t.extraBytes,u*this.extraByteCount,this.point.itemContextChannel),Ws(g,n,s,i,c,l,u),Yi(g,t,u),Zi(g,t,u),o&&this.rgb){let x=u*4;o[x]=this.rgb.decodedRed&255,o[x+1]=this.rgb.decodedGreen&255,o[x+2]=this.rgb.decodedBlue&255,o[x+3]=255}else if(a&&this.rgb){let x=u*3;a[x]=this.rgb.decodedRed,a[x+1]=this.rgb.decodedGreen,a[x+2]=this.rgb.decodedBlue}u++}}readFirstMetadata(){if(this.first){this.stream.getUint32(),this.point.readSizes();let t=this.rgb?0:this.stream.getUint32();this.rgb?.readSizes();let e=0;if(this.bytes)this.bytes.readSizes();else for(let n=0;n<this.extraByteCount;n++)e+=this.stream.getUint32();this.point.readData(),this.rgb?this.rgb.readData():this.stream.consume(t),this.bytes?this.bytes.readData():this.stream.consume(e),this.first=!1}}},Vd=class{stream;point;rgb;nir;bytes;extraByteCount;first=!0;constructor(t,e,n,s,i){this.stream=t,this.extraByteCount=e,this.point=new qi(t,n==="raw"?Nt.Full:Nt.PointData,s.point14ItemVersion??3,i),this.rgb=n==="raw"||i?.color?new ec(t,s.rgb14ItemVersion??3):null,this.nir=n==="raw"||i?.nir?new ru(t,s.rgb14ItemVersion??3):null,this.bytes=(n==="raw"||i?.extraBytes)&&e?new $i(t,e,s.byte14ItemVersion??3):null}decompress(t,e){return e=this.point.decompress(t,e),e=this.rgb.decompress(t,e,this.point.itemContextChannel),e=this.nir.decompress(t,e,this.point.itemContextChannel),this.bytes&&(e=this.bytes.decompress(t,e,this.point.itemContextChannel)),this.readFirstMetadata(),e}decompressPointData(t,e){let n=this.point.decompressPoint();this.rgb?this.rgb.decompressRgb(this.point.itemContextChannel):this.first&&this.stream.consume(6),!this.nir&&this.first&&this.stream.consume(2);let s=this.nir?this.nir.decompressNir(this.point.itemContextChannel):0;this.bytes&&t.extraBytes&&this.bytes.decompress(t.extraBytes,e*this.extraByteCount,this.point.itemContextChannel),this.first&&this.stream.consume(this.bytes?0:this.extraByteCount),this.readFirstMetadata(),nc(n,t,e),ou(s,t,e),this.rgb&&Hi(this.rgb.decodedRed,this.rgb.decodedGreen,this.rgb.decodedBlue,t,e)}decompressPointDataBatch(t,e){let n=t.positions,s=t.intensities,i=t.classifications,o=t.colors,a=t.rawColors,c=t.scale,l=t.offset,u=t.pointOffset;for(let f=0;f<e;f++){let h=this.point.decompressPoint();this.rgb?this.rgb.decompressRgb(this.point.itemContextChannel):this.first&&this.stream.consume(6),!this.nir&&this.first&&this.stream.consume(2);let p=this.nir?this.nir.decompressNir(this.point.itemContextChannel):0;if(this.bytes&&t.extraBytes&&this.bytes.decompress(t.extraBytes,u*this.extraByteCount,this.point.itemContextChannel),this.first&&this.stream.consume(this.bytes?0:this.extraByteCount),this.readFirstMetadata(),Ws(h,n,s,i,c,l,u),Yi(h,t,u),Zi(h,t,u),o&&this.rgb){let y=u*4;o[y]=this.rgb.decodedRed&255,o[y+1]=this.rgb.decodedGreen&255,o[y+2]=this.rgb.decodedBlue&255,o[y+3]=255}else if(a&&this.rgb){let y=u*3;a[y]=this.rgb.decodedRed,a[y+1]=this.rgb.decodedGreen,a[y+2]=this.rgb.decodedBlue}ou(p,t,u),u++}}readFirstMetadata(){if(this.first){this.stream.getUint32(),this.point.readSizes();let t=this.rgb?0:this.stream.getUint32();this.rgb?.readSizes();let e=this.nir?0:this.stream.getUint32();this.nir?.readSizes();let n=0;if(this.bytes)this.bytes.readSizes();else for(let s=0;s<this.extraByteCount;s++)n+=this.stream.getUint32();this.point.readData(),this.rgb?this.rgb.readData():this.stream.consume(t),this.nir?this.nir.readData():this.stream.consume(e),this.bytes?this.bytes.readData():this.stream.consume(n),this.first=!1}}},Gd=class{stream;point;wavePacket;bytes;extraByteCount;first=!0;waveformScratch=new Uint8Array(29);constructor(t,e,n,s,i){this.stream=t,this.extraByteCount=e,this.point=new qi(t,n==="raw"?Nt.Full:Nt.PointData,s.point14ItemVersion??3,i),this.wavePacket=n==="raw"||i?.waveform?new su(t,s.wavePacketItemVersion??3):null,this.bytes=(n==="raw"||i?.extraBytes)&&e?new $i(t,e,s.byte14ItemVersion??3):null}decompress(t,e){return e=this.point.decompress(t,e),e=this.wavePacket.decompress(t,e,this.point.itemContextChannel),this.bytes&&(e=this.bytes.decompress(t,e,this.point.itemContextChannel)),this.readFirstMetadata(),e}decompressPointData(t,e){let n=this.point.decompressPoint();this.wavePacket?(this.wavePacket.decompressToTarget(this.waveformScratch,0,this.point.itemContextChannel),t.waveforms&&t.waveforms.set(this.waveformScratch,e*29)):this.first&&this.stream.consume(29),this.bytes&&t.extraBytes?this.bytes.decompress(t.extraBytes,e*this.extraByteCount,this.point.itemContextChannel):this.first&&this.stream.consume(this.extraByteCount),this.readFirstMetadata(),nc(n,t,e)}decompressPointDataBatch(t,e){let n=t.positions,s=t.intensities,i=t.classifications,o=t.scale,a=t.offset,c=t.pointOffset;for(let l=0;l<e;l++){let u=this.point.decompressPoint();this.wavePacket?(this.wavePacket.decompressToTarget(this.waveformScratch,0,this.point.itemContextChannel),t.waveforms&&t.waveforms.set(this.waveformScratch,c*29)):this.first&&this.stream.consume(29),this.bytes&&t.extraBytes?this.bytes.decompress(t.extraBytes,c*this.extraByteCount,this.point.itemContextChannel):this.first&&this.stream.consume(this.extraByteCount),this.readFirstMetadata(),Ws(u,n,s,i,o,a,c++),Yi(u,t,c-1),Zi(u,t,c-1)}}readFirstMetadata(){if(this.first){this.stream.getUint32(),this.point.readSizes();let t=this.wavePacket?0:this.stream.getUint32();this.wavePacket?.readSizes();let e=0;if(this.bytes)this.bytes.readSizes();else for(let n=0;n<this.extraByteCount;n++)e+=this.stream.getUint32();this.point.readData(),this.wavePacket?this.wavePacket.readData():this.stream.consume(t),this.bytes?this.bytes.readData():this.stream.consume(e),this.first=!1}}},jd=class{stream;point;rgb;nir;wavePacket;bytes;extraByteCount;first=!0;waveformScratch=new Uint8Array(29);constructor(t,e,n,s,i){this.stream=t,this.extraByteCount=e,this.point=new qi(t,n==="raw"?Nt.Full:Nt.PointData,s.point14ItemVersion??3,i),this.rgb=n==="raw"||i?.color?new ec(t,s.rgb14ItemVersion??3):null,this.nir=n==="raw"||i?.nir?new ru(t,s.rgb14ItemVersion??3):null,this.wavePacket=n==="raw"||i?.waveform?new su(t,s.wavePacketItemVersion??3):null,this.bytes=(n==="raw"||i?.extraBytes)&&e?new $i(t,e,s.byte14ItemVersion??3):null}decompress(t,e){return e=this.point.decompress(t,e),e=this.rgb.decompress(t,e,this.point.itemContextChannel),e=this.nir.decompress(t,e,this.point.itemContextChannel),e=this.wavePacket.decompress(t,e,this.point.itemContextChannel),this.bytes&&(e=this.bytes.decompress(t,e,this.point.itemContextChannel)),this.readFirstMetadata(),e}decompressPointData(t,e){let n=this.point.decompressPoint();this.rgb?this.rgb.decompressRgb(this.point.itemContextChannel):this.first&&this.stream.consume(6);let s=this.nir?this.nir.decompressNir(this.point.itemContextChannel):0;this.first&&this.stream.consume(this.nir?0:2),this.wavePacket?(this.wavePacket.decompressToTarget(this.waveformScratch,0,this.point.itemContextChannel),t.waveforms&&t.waveforms.set(this.waveformScratch,e*29)):this.first&&this.stream.consume(29),this.bytes&&t.extraBytes?this.bytes.decompress(t.extraBytes,e*this.extraByteCount,this.point.itemContextChannel):this.first&&this.stream.consume(this.extraByteCount),this.readFirstMetadata(),nc(n,t,e),ou(s,t,e),this.rgb&&Hi(this.rgb.decodedRed,this.rgb.decodedGreen,this.rgb.decodedBlue,t,e)}decompressPointDataBatch(t,e){let n=t.positions,s=t.intensities,i=t.classifications,o=t.colors,a=t.rawColors,c=t.scale,l=t.offset,u=t.pointOffset;for(let f=0;f<e;f++){let h=this.point.decompressPoint();this.rgb?this.rgb.decompressRgb(this.point.itemContextChannel):this.first&&this.stream.consume(6);let p=this.nir?this.nir.decompressNir(this.point.itemContextChannel):0;if(this.first&&this.stream.consume(this.nir?0:2),this.wavePacket?(this.wavePacket.decompressToTarget(this.waveformScratch,0,this.point.itemContextChannel),t.waveforms&&t.waveforms.set(this.waveformScratch,u*29)):this.first&&this.stream.consume(29),this.bytes&&t.extraBytes?this.bytes.decompress(t.extraBytes,u*this.extraByteCount,this.point.itemContextChannel):this.first&&this.stream.consume(this.extraByteCount),this.readFirstMetadata(),Ws(h,n,s,i,c,l,u),Yi(h,t,u),Zi(h,t,u),o&&this.rgb){let y=u*4;o[y]=this.rgb.decodedRed&255,o[y+1]=this.rgb.decodedGreen&255,o[y+2]=this.rgb.decodedBlue&255,o[y+3]=255}else if(a&&this.rgb){let y=u*3;a[y]=this.rgb.decodedRed,a[y+1]=this.rgb.decodedGreen,a[y+2]=this.rgb.decodedBlue}ou(p,t,u),u++}}readFirstMetadata(){if(this.first){this.stream.getUint32(),this.point.readSizes();let t=this.rgb?0:this.stream.getUint32();this.rgb?.readSizes();let e=this.nir?0:this.stream.getUint32();this.nir?.readSizes();let n=this.wavePacket?0:this.stream.getUint32();this.wavePacket?.readSizes();let s=0;if(this.bytes)this.bytes.readSizes();else for(let i=0;i<this.extraByteCount;i++)s+=this.stream.getUint32();this.point.readData(),this.rgb?this.rgb.readData():this.stream.consume(t),this.nir?this.nir.readData():this.stream.consume(e),this.wavePacket?this.wavePacket.readData():this.stream.consume(n),this.bytes?this.bytes.readData():this.stream.consume(s),this.first=!1}}}});function We(r){return r|0}var Ot,Hd,$t,_t,Xi,yb=m(()=>{"use strict";Ot=class{symbols;distribution;symbolCount;lastSymbol;totalCount=0;updateCycle;symbolsUntilUpdate;constructor(t){if(t<2||t>2048)throw new Error(`Invalid arithmetic model symbol count ${t}`);this.symbols=t,this.lastSymbol=t-1,this.distribution=new Uint32Array(t),this.symbolCount=new Uint32Array(t),this.symbolCount.fill(1),this.updateCycle=t,this.symbolsUntilUpdate=t,this.update(),this.symbolsUntilUpdate=this.updateCycle=t+6>>1}update(){if(this.totalCount+=this.updateCycle,this.totalCount>32768){this.totalCount=0;for(let s=0;s<this.symbols;s++)this.symbolCount[s]=this.symbolCount[s]+1>>1,this.totalCount+=this.symbolCount[s]}let t=0,e=2147483648/this.totalCount|0;for(let s=0;s<this.symbols;s++)this.distribution[s]=e*t/65536|0,t+=this.symbolCount[s];this.updateCycle=5*this.updateCycle>>2;let n=this.symbols+6<<3;this.updateCycle>n&&(this.updateCycle=n),this.symbolsUntilUpdate=this.updateCycle}},Hd=class{updateCycle=4;bitsUntilUpdate=4;bit0Probability=4096;bit0Count=1;bitCount=2;update(){this.bitCount+=this.updateCycle,this.bitCount>8192&&(this.bitCount=this.bitCount+1>>1,this.bit0Count=this.bit0Count+1>>1,this.bit0Count===this.bitCount&&this.bitCount++);let t=2147483648/this.bitCount|0;this.bit0Probability=this.bit0Count*t/262144|0,this.updateCycle=5*this.updateCycle>>2,this.updateCycle>64&&(this.updateCycle=64),this.bitsUntilUpdate=this.updateCycle}},$t=class{bytes=[];base=0;length=4294967295;finished=!1;encodeBit(t,e){let n=t.bit0Probability*(this.length>>>13);if(e===0)this.length=n>>>0,t.bit0Count++;else if(e===1)this.addToBase(n),this.length=this.length-n>>>0;else throw new Error(`Invalid arithmetic bit ${e}`);this.renormalizeIfNeeded(),--t.bitsUntilUpdate===0&&t.update()}encodeSymbol(t,e){if(!Number.isInteger(e)||e<0||e>t.lastSymbol)throw new Error(`Invalid arithmetic symbol ${e}`);let n=this.length,s;e===t.lastSymbol?(s=t.distribution[e]*(n>>>15),this.addToBase(s),this.length=n-s>>>0):(n>>>=15,s=t.distribution[e]*n,this.addToBase(s),this.length=t.distribution[e+1]*n-s>>>0),this.renormalizeIfNeeded(),t.symbolCount[e]++,--t.symbolsUntilUpdate===0&&t.update()}writeBits(t,e){if(!Number.isInteger(t)||t<1||t>32)throw new Error(`Invalid arithmetic bit count ${t}`);t>19&&(this.writeShort(e&65535),e>>>=16,t-=16);let n=this.length>>>t;this.addToBase(e*n),this.length=n>>>0,this.renormalizeIfNeeded()}writeShort(t){let e=this.length>>>16;this.addToBase((t&65535)*e),this.length=e>>>0,this.renormalizeIfNeeded()}writeInt(t){this.writeShort(t&65535),this.writeShort(t>>>16)}finish(){if(this.finished)return Uint8Array.from(this.bytes);this.finished=!0;let t=this.base,e=!0;return this.length>2*16777216?(this.base=this.base+16777216>>>0,this.length=8388608):(this.base=this.base+8388608>>>0,this.length=32768,e=!1),t>this.base&&this.propagateCarry(),this.renormalize(),this.bytes.push(0,0),e&&this.bytes.push(0),Uint8Array.from(this.bytes)}addToBase(t){let e=this.base;this.base=this.base+t>>>0,e>this.base&&this.propagateCarry()}propagateCarry(){let t=this.bytes.length-1;for(;t>=0&&this.bytes[t]===255;)this.bytes[t--]=0;if(t<0)throw new Error("LASzip arithmetic carry precedes encoded output");this.bytes[t]++}renormalizeIfNeeded(){this.length<16777216&&this.renormalize()}renormalize(){do this.bytes.push(this.base>>>24),this.base=this.base<<8>>>0,this.length=this.length<<8>>>0;while(this.length<16777216)}},_t=class{encoder;contexts;bitsHigh;correctionBits;correctionRange;correctionMinimum;bitModels;zeroBitCorrector=new Hd;correctorModels;k=0;constructor(t,e=16,n=1,s=8,i=0){if(this.encoder=t,this.contexts=n,this.bitsHigh=s,i){let o=i,a=0;for(;o;)o>>=1,a++;i===2**(a-1)&&a--,this.correctionBits=a,this.correctionRange=i,this.correctionMinimum=-(i/2)}else e&&e<32?(this.correctionBits=e,this.correctionRange=2**e,this.correctionMinimum=-(this.correctionRange/2)):(this.correctionBits=32,this.correctionRange=0,this.correctionMinimum=-2147483648);this.bitModels=Array.from({length:this.contexts},()=>new Ot(this.correctionBits+1)),this.correctorModels=Array.from({length:this.correctionBits},(o,a)=>{let c=a+1;return new Ot(2**Math.min(c,this.bitsHigh))})}compress(t,e,n=0){if(!Number.isInteger(n)||n<0||n>=this.contexts)throw new Error(`Invalid integer compressor context ${n}`);let s=We(e-t);this.correctionRange&&(s<this.correctionMinimum?s+=this.correctionRange:s>this.correctionMinimum+this.correctionRange-1&&(s-=this.correctionRange)),this.writeCorrector(s,this.bitModels[n])}writeCorrector(t,e){let n=t<=0?-t:t-1,s=0;for(;n;)n>>>=1,s++;if(this.k=s,this.encoder.encodeSymbol(e,s),s===0){this.encoder.encodeBit(this.zeroBitCorrector,t);return}if(s===32){if(t!==this.correctionMinimum)throw new Error(`Invalid ${s}-bit integer correction ${t}`);return}let i=t<0?t+(2**s-1):t-1,o=this.correctorModels[s-1];if(s<=this.bitsHigh)this.encoder.encodeSymbol(o,i);else{let a=s-this.bitsHigh,c=2**a-1,l=i&c;i>>>=a,this.encoder.encodeSymbol(o,i),this.encoder.writeBits(a,l)}}},Xi=class{value0=0;value1=0;value2=0;value3=0;value4=0;high=!0;add(t){this.high?t<this.value2?(this.value4=this.value3,this.value3=this.value2,t<this.value0?(this.value2=this.value1,this.value1=this.value0,this.value0=t):t<this.value1?(this.value2=this.value1,this.value1=t):this.value2=t):(t<this.value3?(this.value4=this.value3,this.value3=t):this.value4=t,this.high=!1):this.value2<t?(this.value0=this.value1,this.value1=this.value2,this.value4<t?(this.value2=this.value3,this.value3=this.value4,this.value4=t):this.value3<t?(this.value2=this.value3,this.value3=t):this.value2=t):(this.value1<t?(this.value0=this.value1,this.value1=t):this.value0=t,this.high=!0)}get(){return this.value2}}});function op(r,t){let e=DS(r);if(IS(e,t),t.pointCount===0)return new Uint8Array(0);if(t.pointDataRecordFormat<=5)return BS(e,t);let n=t.pointDataRecordLength,s=t.pointDataRecordFormat,i=Bu[s],o=n-i,a=e.subarray(0,n),c=vb(a,0),l=new rp(c),u=s===7||s===8||s===10?vu(a,30):null,f=u?new np(u,Yo(c)):null,h=s===8||s===10?new sp(sc(a,36),Yo(c)):null,p=s===9?30:s===10?38:-1,y=p>=0?new tp(Au(a,p),Yo(c),t.wavePacketItemVersion??3):null,g=o?new ip(a.subarray(i,n),Yo(c)):null;for(let X=1;X<t.pointCount;X++){let ft=X*n,dt=e.subarray(ft,ft+n),Bt=l.encode(vb(dt,0));f?.encode(vu(dt,30),Bt),h?.encode(sc(dt,36),Bt),y?.encode(Au(dt,p),Bt),g?.encode(dt.subarray(i,n),Bt)}let x=l.finish(),B=f?.finish(),q=h?.finish(),M=y?.finish(),b=g?.finish()||[],C=[...x,...B?[B]:[],...q?[q]:[],...M?[M]:[],...b],_=new Uint8Array(4+C.length*4),$=new DataView(_.buffer);$.setUint32(0,t.pointCount,!0);for(let X=0;X<C.length;X++)$.setUint32(4+X*4,C[X].byteLength,!0);return Tb([a,_,...C])}function ap(r,t={}){if(r.length===0)return new Uint8Array(0);let e=new $t,n=new _t(e,32,2),s=0,i=0;for(let o of r)_S(o),t.variable&&(n.compress(s,o.pointCount,0),s=o.pointCount),n.compress(i,o.byteLength,1),i=o.byteLength;return e.finish()}function cp(r){let t=r.pointDataRecordFormat<=5,e=r.itemVersion||(t?2:3);if(t&&e!==2)throw new Error("Legacy LASzip point formats require item version 2");if(!t&&e!==3)throw new Error("Modern LASzip point formats require item version 3");let n=LS(r.pointDataRecordFormat,r.pointDataRecordLength),s=bb+n.length*6,i=new Uint8Array(gb+s),o=new DataView(i.buffer),a=gb;_b(o,2,"laszip encoded",16),o.setUint16(18,22204,!0),o.setUint16(20,s,!0),_b(o,22,"loaders.gl LAZ writer",32),o.setUint16(a,t?2:3,!0),o.setUint16(a+2,0,!0),o.setUint8(a+4,t?2:3),o.setUint8(a+5,0),o.setUint16(a+6,1,!0),o.setUint32(a+8,0,!0),o.setUint32(a+12,r.chunkSize,!0),i.fill(255,a+16,a+32),o.setUint16(a+32,n.length,!0);for(let c=0;c<n.length;c++){let l=a+bb+c*6,u=n[c];o.setUint16(l,u.type,!0),o.setUint16(l+2,u.size,!0),o.setUint16(l+4,u.version??e,!0)}return i}function BS(r,t){let e=t.pointDataRecordLength,n=t.pointDataRecordFormat,s=Bu[n],i=e-s,o=r.subarray(0,e),a=new $t,c=new Xd(a,Ab(o,0)),l=n===1||n===3||n===4||n===5?new Kd(a,Sb(o,20)):null,u=n===2?20:n===3||n===5?28:-1,f=u>=0?new Jd(a,vu(o,u)):null,h=n===4?28:n===5?34:-1,p=h>=0?new Qd(a,Au(o,h)):null,y=i?new ep(a,o.subarray(s,e)):null;for(let g=1;g<t.pointCount;g++){let x=g*e,B=r.subarray(x,x+e);c.encode(Ab(B,0)),l?.encode(Sb(B,20)),f?.encode(vu(B,u)),p?.encode(Au(B,h)),y?.encode(B.subarray(s,e))}return Tb([o,a.finish()])}function IS(r,t){if([t.point10ItemVersion,t.gpsTime11ItemVersion,t.rgb12ItemVersion,t.byteItemVersion].some(s=>s!==void 0&&s!==2))throw new Error("TypeScript LAZ encoder only supports legacy item version 2");if(!Number.isInteger(t.pointCount)||t.pointCount<0)throw new Error(`Invalid LAZ chunk point count ${t.pointCount}`);let e=Bu[t.pointDataRecordFormat];if(!e)throw new Error(`TypeScript LAZ encoder does not support point format ${t.pointDataRecordFormat}`);if(!Number.isInteger(t.pointDataRecordLength)||t.pointDataRecordLength<e)throw new Error(`Invalid point record length ${t.pointDataRecordLength} for point format ${t.pointDataRecordFormat}`);if(t.point14ItemVersion!==void 0&&t.point14ItemVersion!==3)throw new Error("TypeScript LAZ encoder only supports Point14 item version 3");if(t.pointDataRecordFormat>=7&&t.rgb14ItemVersion!==void 0&&t.rgb14ItemVersion!==3)throw new Error("TypeScript LAZ encoder only supports RGB14 item version 3");if((t.pointDataRecordFormat===9||t.pointDataRecordFormat===10)&&t.wavePacketItemVersion!==void 0&&t.wavePacketItemVersion!==3)throw new Error("TypeScript LAZ encoder only supports WavePacket14 item version 3");if(t.pointDataRecordLength>e&&t.byte14ItemVersion!==void 0&&t.byte14ItemVersion!==3)throw new Error("TypeScript LAZ encoder only supports Byte14 item version 3");let n=t.pointCount*t.pointDataRecordLength;if(r.byteLength!==n)throw new Error(`LAZ chunk input has ${r.byteLength} bytes; expected ${n}`)}function _S(r){if(!Number.isInteger(r.pointCount)||r.pointCount<=0||r.pointCount>4294967295)throw new Error(`Invalid LAZ chunk point count ${r.pointCount}`);if(!Number.isInteger(r.byteLength)||r.byteLength<=0||r.byteLength>4294967295)throw new Error(`Invalid LAZ chunk byte length ${r.byteLength}`)}function LS(r,t){let e=Bu[r];if(!e||t<e)throw new Error(`Invalid point record length ${t} for point format ${r}`);if(r<=5){let i=[{type:6,size:20}];(r===1||r===3||r===4||r===5)&&i.push({type:7,size:8}),(r===2||r===3||r===5)&&i.push({type:8,size:6}),(r===4||r===5)&&i.push({type:9,size:29,version:1});let o=t-e;return o>0&&i.push({type:0,size:o}),i}let n=[{type:10,size:30}];r===7?n.push({type:11,size:6}):r===8?n.push({type:12,size:8}):r===10&&n.push({type:12,size:8}),(r===9||r===10)&&n.push({type:13,size:29});let s=t-e;return s>0&&n.push({type:14,size:s}),n}function vb(r,t){let e=new DataView(r.buffer,r.byteOffset+t,30);return{x:e.getInt32(0,!0),y:e.getInt32(4,!0),z:e.getInt32(8,!0),intensity:e.getUint16(12,!0),returns:e.getUint8(14),flags:e.getUint8(15),classification:e.getUint8(16),userData:e.getUint8(17),scanAngle:e.getInt16(18,!0),pointSourceId:e.getUint16(20,!0),gpsTimeBits:e.getBigUint64(22,!0)}}function Ab(r,t){let e=new DataView(r.buffer,r.byteOffset+t,20);return{x:e.getInt32(0,!0),y:e.getInt32(4,!0),z:e.getInt32(8,!0),intensity:e.getUint16(12,!0),bitByte:e.getUint8(14),classification:e.getUint8(15),scanAngleRank:e.getInt8(16),userData:e.getUint8(17),pointSourceId:e.getUint16(18,!0)}}function vu(r,t){return{red:sc(r,t),green:sc(r,t+2),blue:sc(r,t+4)}}function Au(r,t){let e=new DataView(r.buffer,r.byteOffset+t,29);return{descriptorIndex:e.getUint8(0),offset:e.getBigUint64(1,!0),packetSize:e.getUint32(9,!0),returnPointBits:e.getInt32(13,!0),xBits:e.getInt32(17,!0),yBits:e.getInt32(21,!0),zBits:e.getInt32(25,!0)}}function Sb(r,t){return new DataView(r.buffer,r.byteOffset+t,8).getFloat64(0,!0)}function Bb(r,t){return BigInt.asIntN(64,Su(r)-Su(t))}function Su(r){let t=new ArrayBuffer(8),e=new DataView(t);return e.setFloat64(0,r,!0),e.getBigUint64(0,!0)}function sc(r,t){return r[t]|r[t+1]<<8}function TS(r,t){r.x=t.x,r.y=t.y,r.z=t.z,r.intensity=t.intensity,r.returns=t.returns,r.flags=t.flags,r.classification=t.classification,r.userData=t.userData,r.scanAngle=t.scanAngle,r.pointSourceId=t.pointSourceId,r.gpsTimeBits=t.gpsTimeBits}function Yo(r){return r.flags>>4&3}function Ib(r){return r.flags>>2&48|r.flags&15}function xr(r,t){return Array.from({length:r},()=>new Ot(t))}function be(r){return r&255}function MS(r){return r&255}function Xs(r){return Math.min(255,Math.max(0,r))}function Lb(r,t){let e=Math.fround(Math.fround(r)/Math.fround(t));return e>=0?Math.trunc(e+.5):Math.trunc(e-.5)}function DS(r){return r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function Tb(r){let t=r.reduce((s,i)=>s+i.byteLength,0),e=new Uint8Array(t),n=0;for(let s of r)e.set(s,n),n+=s.byteLength;return e}function _b(r,t,e,n){for(let s=0;s<n;s++)r.setUint8(t+s,e.charCodeAt(s)||0)}var Bu,gb,bb,wr,Ki,wb,xb,xS,vS,AS,SS,Xd,Kd,Jd,Qd,yu,tp,ep,gu,rp,bu,np,wu,sp,xu,ip,Mb=m(()=>{"use strict";yb();Bu={0:20,1:28,2:26,3:34,4:57,5:63,6:30,7:36,8:38,9:59,10:67},gb=54,bb=34,wr=500,Ki=-10,wb=511,xb=wr-Ki+2,xS=[[0,1,2,3,4,5,3,4,4,5,5,5,5,5,5,5],[1,0,1,3,3,3,3,3,3,3,3,3,3,3,3,3],[2,1,2,4,4,4,4,4,4,4,4,3,3,3,3,3],[3,3,4,5,4,4,4,4,4,4,4,4,4,4,4,4],[4,3,4,4,5,4,4,4,4,4,4,4,4,4,4,4],[5,3,4,4,4,5,4,4,4,4,4,4,4,4,4,4],[3,3,4,4,4,4,5,4,4,4,4,4,4,4,4,4],[4,3,4,4,4,4,4,5,4,4,4,4,4,4,4,4],[4,3,4,4,4,4,4,4,5,4,4,4,4,4,4,4],[5,3,4,4,4,4,4,4,4,5,4,4,4,4,4,4],[5,3,4,4,4,4,4,4,4,4,5,4,4,4,4,4],[5,3,3,4,4,4,4,4,4,4,4,5,5,4,4,4],[5,3,3,4,4,4,4,4,4,4,4,5,5,5,4,4],[5,3,3,4,4,4,4,4,4,4,4,4,5,5,5,4],[5,3,3,4,4,4,4,4,4,4,4,4,4,5,5,5],[5,3,3,4,4,4,4,4,4,4,4,4,4,4,5,5]],vS=[[15,14,13,12,11,10,9,8],[14,0,1,3,6,10,10,9],[13,1,2,4,7,11,11,10],[12,3,4,5,8,12,12,11],[11,6,7,8,9,13,13,12],[10,10,11,12,13,14,14,13],[9,10,11,12,13,14,15,14],[8,9,10,11,12,13,14,15]],AS=[[0,1,2,3,4,5,6,7],[1,0,1,2,3,4,5,6],[2,1,0,1,2,3,4,5],[3,2,1,0,1,2,3,4],[4,3,2,1,0,1,2,3],[5,4,3,2,1,0,1,2],[6,5,4,3,2,1,0,1],[7,6,5,4,3,2,1,0]],SS=[[0,1,2,3,4,5,6,7,7,7,7,7,7,7,7,7],[1,0,1,2,3,4,5,6,7,7,7,7,7,7,7,7],[2,1,0,1,2,3,4,5,6,7,7,7,7,7,7,7],[3,2,1,0,1,2,3,4,5,6,7,7,7,7,7,7],[4,3,2,1,0,1,2,3,4,5,6,7,7,7,7,7],[5,4,3,2,1,0,1,2,3,4,5,6,7,7,7,7],[6,5,4,3,2,1,0,1,2,3,4,5,6,7,7,7],[7,6,5,4,3,2,1,0,1,2,3,4,5,6,7,7],[7,7,6,5,4,3,2,1,0,1,2,3,4,5,6,7],[7,7,7,6,5,4,3,2,1,0,1,2,3,4,5,6],[7,7,7,7,6,5,4,3,2,1,0,1,2,3,4,5],[7,7,7,7,7,6,5,4,3,2,1,0,1,2,3,4],[7,7,7,7,7,7,6,5,4,3,2,1,0,1,2,3],[7,7,7,7,7,7,7,6,5,4,3,2,1,0,1,2],[7,7,7,7,7,7,7,7,6,5,4,3,2,1,0,1],[7,7,7,7,7,7,7,7,7,6,5,4,3,2,1,0]];Xd=class{encoder;changedValuesModel=new Ot(64);bitByteModels=xr(256,256);classificationModels=xr(256,256);scanAngleRankModels=xr(2,256);userDataModels=xr(256,256);intensityCompressor;pointSourceIdCompressor;xDifferenceCompressor;yDifferenceCompressor;zCompressor;lastIntensity=new Array(16).fill(0);lastHeight=new Array(8).fill(0);lastXDifferenceMedian=Array.from({length:16},()=>new Xi);lastYDifferenceMedian=Array.from({length:16},()=>new Xi);last;constructor(t,e){this.encoder=t,this.last={...e},this.intensityCompressor=new _t(t,16,4),this.pointSourceIdCompressor=new _t(t,16,1),this.xDifferenceCompressor=new _t(t,32,2),this.yDifferenceCompressor=new _t(t,32,22),this.zCompressor=new _t(t,32,20)}encode(t){let e=this.last,n=t.bitByte&7,s=t.bitByte>>3&7,i=vS[s][n],o=AS[s][n],a=(t.bitByte!==e.bitByte?32:0)|(t.intensity!==this.lastIntensity[i]?16:0)|(t.classification!==e.classification?8:0)|(t.scanAngleRank!==e.scanAngleRank?4:0)|(t.userData!==e.userData?2:0)|(t.pointSourceId!==e.pointSourceId?1:0);this.encoder.encodeSymbol(this.changedValuesModel,a),a&32&&this.encoder.encodeSymbol(this.bitByteModels[e.bitByte],t.bitByte),a&16&&(this.intensityCompressor.compress(this.lastIntensity[i],t.intensity,i<3?i:3),this.lastIntensity[i]=t.intensity),a&8&&this.encoder.encodeSymbol(this.classificationModels[e.classification],t.classification),a&4&&this.encoder.encodeSymbol(this.scanAngleRankModels[t.bitByte>>6&1],MS(t.scanAngleRank-e.scanAngleRank)),a&2&&this.encoder.encodeSymbol(this.userDataModels[e.userData],t.userData),a&1&&this.pointSourceIdCompressor.compress(e.pointSourceId,t.pointSourceId);let c=this.lastXDifferenceMedian[i].get(),l=We(t.x-e.x);this.xDifferenceCompressor.compress(c,l,s===1?1:0),this.lastXDifferenceMedian[i].add(l);let u=this.lastYDifferenceMedian[i].get(),f=Math.min(this.xDifferenceCompressor.k,20)&-2,h=We(t.y-e.y);this.yDifferenceCompressor.compress(u,h,(s===1?1:0)+f),this.lastYDifferenceMedian[i].add(h);let p=Math.min(this.xDifferenceCompressor.k+this.yDifferenceCompressor.k>>1,18)&-2;this.zCompressor.compress(this.lastHeight[o],t.z,(s===1?1:0)+p),this.lastHeight[o]=t.z,this.last={...t}}},Kd=class{encoder;gpsTimeMultiModel;gpsTime0DiffModel;gpsTime;lastGpsTime;lastGpsTimeDifference=[0,0,0,0];multiExtremeCounter=[0,0,0,0];lastGpsSequence=0;nextGpsSequence=0;constructor(t,e){this.encoder=t,this.gpsTimeMultiModel=new Ot(516),this.gpsTime0DiffModel=new Ot(6),this.gpsTime=new _t(t,32,9),this.lastGpsTime=[e,0,0,0]}encode(t){let e=this.lastGpsSequence,n=Bb(t,this.lastGpsTime[e]),s=Number(BigInt.asIntN(32,n)),i=n===BigInt(s);if(this.lastGpsTimeDifference[e]===0)if(i)s===0?this.encoder.encodeSymbol(this.gpsTime0DiffModel,0):(this.encoder.encodeSymbol(this.gpsTime0DiffModel,1),this.gpsTime.compress(0,s,0),this.lastGpsTimeDifference[e]=s,this.multiExtremeCounter[e]=0);else if(this.selectSequence(t,!1)){this.encode(t);return}else this.encoder.encodeSymbol(this.gpsTime0DiffModel,2),this.startSequence(t);else if(i){let o=this.lastGpsTimeDifference[e],a=Lb(s,o);a===1?(this.encoder.encodeSymbol(this.gpsTimeMultiModel,1),this.gpsTime.compress(o,s,1),this.multiExtremeCounter[e]=0):a>0&&a<wr?(this.encoder.encodeSymbol(this.gpsTimeMultiModel,a),this.gpsTime.compress(We(a*o),s,a<10?2:3)):a>=wr?(this.encoder.encodeSymbol(this.gpsTimeMultiModel,wr),this.gpsTime.compress(We(wr*o),s,4),this.recordExtremeDifference(e,s)):a<0&&a>Ki?(this.encoder.encodeSymbol(this.gpsTimeMultiModel,wr-a),this.gpsTime.compress(We(a*o),s,5)):a<0?(this.encoder.encodeSymbol(this.gpsTimeMultiModel,wr-Ki),this.gpsTime.compress(We(Ki*o),s,6),this.recordExtremeDifference(e,s)):(this.encoder.encodeSymbol(this.gpsTimeMultiModel,0),this.gpsTime.compress(0,s,7),this.recordExtremeDifference(e,s))}else if(this.selectSequence(t,!0)){this.encode(t);return}else this.encoder.encodeSymbol(this.gpsTimeMultiModel,xb),this.startSequence(t);this.lastGpsTime[this.lastGpsSequence]=t}selectSequence(t,e){for(let n=1;n<4;n++){let s=this.lastGpsSequence+n&3,i=Bb(t,this.lastGpsTime[s]);if(i===BigInt.asIntN(32,i))return this.encoder.encodeSymbol(e?this.gpsTimeMultiModel:this.gpsTime0DiffModel,e?xb+n:n+2),this.lastGpsSequence=s,!0}return!1}startSequence(t){let e=Su(this.lastGpsTime[this.lastGpsSequence]),n=Su(t);this.gpsTime.compress(Number(BigInt.asIntN(32,e>>32n)),Number(BigInt.asIntN(32,n>>32n)),8),this.encoder.writeInt(Number(n&0xffffffffn)),this.nextGpsSequence=this.nextGpsSequence+1&3,this.lastGpsSequence=this.nextGpsSequence,this.lastGpsTimeDifference[this.lastGpsSequence]=0,this.multiExtremeCounter[this.lastGpsSequence]=0}recordExtremeDifference(t,e){this.multiExtremeCounter[t]++,this.multiExtremeCounter[t]>3&&(this.multiExtremeCounter[t]=0,this.lastGpsTimeDifference[t]=e)}},Jd=class{encoder;usedModel=new Ot(128);differenceModels=xr(6,256);red;green;blue;constructor(t,e){this.encoder=t,this.red=e.red,this.green=e.green,this.blue=e.blue}encode(t){let e=this.red,n=this.green,s=this.blue,i=((t.red&255)!==(e&255)?1:0)|((t.red&65280)!==(e&65280)?2:0)|((t.green&255)!==(n&255)?4:0)|((t.green&65280)!==(n&65280)?8:0)|((t.blue&255)!==(s&255)?16:0)|((t.blue&65280)!==(s&65280)?32:0);((t.red&255)!==(t.green&255)||(t.red&255)!==(t.blue&255)||(t.red&65280)!==(t.green&65280)||(t.red&65280)!==(t.blue&65280))&&(i|=64),this.encoder.encodeSymbol(this.usedModel,i);let o=0,a=0;i&1&&(o=(t.red&255)-(e&255),this.encoder.encodeSymbol(this.differenceModels[0],be(o))),i&2&&(a=(t.red>>8)-(e>>8),this.encoder.encodeSymbol(this.differenceModels[1],be(a))),i&64&&(i&4&&this.encoder.encodeSymbol(this.differenceModels[2],be((t.green&255)-Xs(o+(n&255)))),i&16&&(o=Math.trunc((o+(t.green&255)-(n&255))/2),this.encoder.encodeSymbol(this.differenceModels[4],be((t.blue&255)-Xs(o+(s&255))))),i&8&&this.encoder.encodeSymbol(this.differenceModels[3],be((t.green>>8)-Xs(a+(n>>8)))),i&32&&(a=Math.trunc((a+(t.green>>8)-(n>>8))/2),this.encoder.encodeSymbol(this.differenceModels[5],be((t.blue>>8)-Xs(a+(s>>8)))))),this.red=t.red,this.green=t.green,this.blue=t.blue}},Qd=class{encoder;descriptorModel;offsetDifferenceModels;offsetDifferenceCompressor;packetSizeCompressor;returnPointCompressor;vectorCompressor;last;lastOffsetDifference=0;lastOffsetDifferenceSymbol=0;constructor(t,e){this.encoder=t,this.descriptorModel=new Ot(256),this.offsetDifferenceModels=xr(4,4),this.offsetDifferenceCompressor=new _t(t,32,1),this.packetSizeCompressor=new _t(t,32,1),this.returnPointCompressor=new _t(t,32,1),this.vectorCompressor=new _t(t,32,3),this.last={...e}}encode(t){let e=this.last;this.encoder.encodeSymbol(this.descriptorModel,t.descriptorIndex);let n=0;if(t.offset===e.offset)n=0;else if(t.offset===e.offset+BigInt(e.packetSize))n=1;else{let s=BigInt.asIntN(64,t.offset-e.offset);s===BigInt.asIntN(32,s)?n=2:n=3}if(this.encoder.encodeSymbol(this.offsetDifferenceModels[this.lastOffsetDifferenceSymbol],n),this.lastOffsetDifferenceSymbol=n,n===2){let s=Number(BigInt.asIntN(32,t.offset-e.offset));this.offsetDifferenceCompressor.compress(this.lastOffsetDifference,s,0),this.lastOffsetDifference=s}n===3&&(this.encoder.writeInt(Number(t.offset&0xffffffffn)),this.encoder.writeInt(Number(t.offset>>32n))),this.packetSizeCompressor.compress(e.packetSize,t.packetSize,0),this.returnPointCompressor.compress(e.returnPointBits,t.returnPointBits,0),this.vectorCompressor.compress(e.xBits,t.xBits,0),this.vectorCompressor.compress(e.yBits,t.yBits,1),this.vectorCompressor.compress(e.zBits,t.zBits,2),this.last={...t}}},yu=class{packet;descriptorModel=new Ot(256);offsetDifferenceModels=xr(4,4);offsetDifferenceCompressor;packetSizeCompressor;returnPointCompressor;vectorCompressor;lastOffsetDifference=0;lastOffsetDifferenceSymbol=0;haveLast=!1;constructor(t,e){this.packet={...e},this.offsetDifferenceCompressor=new _t(t,32,1),this.packetSizeCompressor=new _t(t,32,1),this.returnPointCompressor=new _t(t,32,1),this.vectorCompressor=new _t(t,32,3),this.haveLast=!0}},tp=class{encoder=new $t;contexts=new Array(4).fill(null);itemVersion;lastChannel;constructor(t,e,n){this.itemVersion=n,this.lastChannel=e,this.contexts[e]=new yu(this.encoder,t)}encode(t,e){let n=this.contexts[this.lastChannel],s=this.contexts[e],i=s;e!==this.lastChannel&&(s?this.itemVersion<4&&(i=s,s=n):(s=new yu(this.encoder,n.packet),this.contexts[e]=s,i=s),this.lastChannel=e),this.encodePacket(i,s,t)}finish(){return this.encoder.finish()}encodePacket(t,e,n){let s=e.packet;this.encoder.encodeSymbol(t.descriptorModel,n.descriptorIndex);let i=0;if(n.offset===s.offset?i=0:n.offset===s.offset+BigInt(s.packetSize)?i=1:BigInt.asIntN(64,n.offset-s.offset)===BigInt.asIntN(32,n.offset-s.offset)?i=2:i=3,this.encoder.encodeSymbol(t.offsetDifferenceModels[t.lastOffsetDifferenceSymbol],i),t.lastOffsetDifferenceSymbol=i,i===2){let o=Number(BigInt.asIntN(32,n.offset-s.offset));t.offsetDifferenceCompressor.compress(t.lastOffsetDifference,o,0),t.lastOffsetDifference=o}else i===3&&(this.encoder.writeInt(Number(n.offset&0xffffffffn)),this.encoder.writeInt(Number(n.offset>>32n)));t.packetSizeCompressor.compress(s.packetSize,n.packetSize,0),t.returnPointCompressor.compress(s.returnPointBits,n.returnPointBits,0),t.vectorCompressor.compress(s.xBits,n.xBits,0),t.vectorCompressor.compress(s.yBits,n.yBits,1),t.vectorCompressor.compress(s.zBits,n.zBits,2),e.packet={...n}}},ep=class{encoder;models;last;constructor(t,e){this.encoder=t,this.models=xr(e.byteLength,256),this.last=new Uint8Array(e)}encode(t){for(let e=0;e<t.byteLength;e++){let n=t[e]-this.last[e];this.encoder.encodeSymbol(this.models[e],be(n)),this.last[e]=t[e]}}},gu=class{changedValuesModels=xr(8,128);scannerChannelModel=new Ot(3);returnNumberGpsSameModel=new Ot(13);numberReturnsModels=new Array(16).fill(null);returnNumberModels=new Array(16).fill(null);classificationModels=new Array(64).fill(null);flagModels=new Array(64).fill(null);userDataModels=new Array(64).fill(null);gpsTimeMultiplierModel=new Ot(515);gpsTimeZeroDifferenceModel=new Ot(5);xDifferenceCompressor;yDifferenceCompressor;zCompressor;intensityCompressor;scanAngleCompressor;pointSourceIdCompressor;gpsTimeCompressor;lastXDifferenceMedian=Array.from({length:12},()=>new Xi);lastYDifferenceMedian=Array.from({length:12},()=>new Xi);lastZ;lastIntensity;lastGpsTimeBits;lastGpsTimeDifference=new Array(4).fill(0);gpsTimeExtremeCounter=new Array(4).fill(0);lastGpsSequence=0;nextGpsSequence=0;gpsTimeChanged=!1;last;constructor(t,e){this.last={...t},this.xDifferenceCompressor=new _t(e.xy,32,2),this.yDifferenceCompressor=new _t(e.xy,32,22),this.zCompressor=new _t(e.z,32,20),this.intensityCompressor=new _t(e.intensity,16,4),this.scanAngleCompressor=new _t(e.scanAngle,16,2),this.pointSourceIdCompressor=new _t(e.pointSourceId,16,1),this.gpsTimeCompressor=new _t(e.gpsTime,32,9),this.lastZ=new Array(8).fill(t.z),this.lastIntensity=new Array(8).fill(t.intensity),this.lastGpsTimeBits=[t.gpsTimeBits,0n,0n,0n]}},rp=class{layers={xy:new $t,z:new $t,classification:new $t,flags:new $t,intensity:new $t,scanAngle:new $t,userData:new $t,pointSourceId:new $t,gpsTime:new $t};contexts=new Array(4).fill(null);currentScannerChannel;changed={classification:!1,flags:!1,intensity:!1,scanAngle:!1,userData:!1,pointSourceId:!1,gpsTime:!1};constructor(t){this.currentScannerChannel=Yo(t),this.contexts[this.currentScannerChannel]=new gu(t,this.layers)}encode(t){let e=this.contexts[this.currentScannerChannel],n=e.last,s=Yo(t);s!==this.currentScannerChannel&&this.contexts[s]&&(n=this.contexts[s].last);let i=t.pointSourceId!==n.pointSourceId,o=t.gpsTimeBits!==n.gpsTimeBits,a=t.scanAngle!==n.scanAngle,c=n.returns>>4,l=n.returns&15,u=t.returns>>4,f=t.returns&15,h=(l===1?1:0)|(l>=c?2:0)|(e.gpsTimeChanged?4:0),p=(s!==this.currentScannerChannel?64:0)|(i?32:0)|(o?16:0)|(a?8:0)|(u!==c?4:0);f!==l&&(f===(l+1)%16?p|=1:f===(l+15)%16?p|=2:p|=3),this.layers.xy.encodeSymbol(e.changedValuesModels[h],p);let y=0;if(s!==this.currentScannerChannel){let xt=s-this.currentScannerChannel;this.layers.xy.encodeSymbol(e.scannerChannelModel,(xt+3)%4),this.contexts[s]||=new gu(e.last,this.layers),this.currentScannerChannel=s,y=s,n=this.contexts[s].last}let g=this.contexts[this.currentScannerChannel];if(u!==c){let xt=g.numberReturnsModels[c];xt||(xt=new Ot(16),g.numberReturnsModels[c]=xt),this.layers.xy.encodeSymbol(xt,u)}if((p&3)===3)if(o){let xt=g.returnNumberModels[l];xt||(xt=new Ot(16),g.returnNumberModels[l]=xt),this.layers.xy.encodeSymbol(xt,f)}else{let xt=f-l;this.layers.xy.encodeSymbol(g.returnNumberGpsSameModel,(xt+14)%16)}let x=xS[u][f],B=SS[u][f],q=(f===1?2:0)|(f>=u?1:0),M=x<<1|(o?1:0),b=g.lastXDifferenceMedian[M].get(),C=We(t.x-n.x);g.xDifferenceCompressor.compress(b,C,u===1?1:0),g.lastXDifferenceMedian[M].add(C);let _=g.lastYDifferenceMedian[M].get(),$=We(t.y-n.y),X=(u===1?1:0)|Math.min(g.xDifferenceCompressor.k,20)&-2;g.yDifferenceCompressor.compress(_,$,X),g.lastYDifferenceMedian[M].add($);let ft=(u===1?1:0)|Math.min(g.xDifferenceCompressor.k+g.yDifferenceCompressor.k>>1,18)&-2;g.zCompressor.compress(g.lastZ[B],t.z,ft),g.lastZ[B]=t.z,t.classification!==n.classification&&(this.changed.classification=!0);let dt=(n.classification&31)<<1|(q===3?1:0),Bt=g.classificationModels[dt];Bt||(Bt=new Ot(256),g.classificationModels[dt]=Bt),this.layers.classification.encodeSymbol(Bt,t.classification);let se=Ib(n),rt=Ib(t);rt!==se&&(this.changed.flags=!0);let tt=g.flagModels[se];tt||(tt=new Ot(64),g.flagModels[se]=tt),this.layers.flags.encodeSymbol(tt,rt),t.intensity!==n.intensity&&(this.changed.intensity=!0);let Ye=q<<1|(o?1:0);g.intensityCompressor.compress(g.lastIntensity[Ye],t.intensity,q),g.lastIntensity[Ye]=t.intensity,a&&(this.changed.scanAngle=!0,g.scanAngleCompressor.compress(n.scanAngle,t.scanAngle,o?1:0)),t.userData!==n.userData&&(this.changed.userData=!0);let Ne=n.userData>>2,Ze=g.userDataModels[Ne];return Ze||(Ze=new Ot(256),g.userDataModels[Ne]=Ze),this.layers.userData.encodeSymbol(Ze,t.userData),i&&(this.changed.pointSourceId=!0,g.pointSourceIdCompressor.compress(n.pointSourceId,t.pointSourceId)),o&&(this.changed.gpsTime=!0,this.encodeGpsTime(g,t.gpsTimeBits)),TS(g.last,t),g.gpsTimeChanged=o,y}finish(){return[this.layers.xy.finish(),this.layers.z.finish(),this.changed.classification?this.layers.classification.finish():new Uint8Array(0),this.changed.flags?this.layers.flags.finish():new Uint8Array(0),this.changed.intensity?this.layers.intensity.finish():new Uint8Array(0),this.changed.scanAngle?this.layers.scanAngle.finish():new Uint8Array(0),this.changed.userData?this.layers.userData.finish():new Uint8Array(0),this.changed.pointSourceId?this.layers.pointSourceId.finish():new Uint8Array(0),this.changed.gpsTime?this.layers.gpsTime.finish():new Uint8Array(0)]}encodeGpsTime(t,e){let n=t.lastGpsSequence,s=BigInt.asIntN(64,e-t.lastGpsTimeBits[n]),i=Number(BigInt.asIntN(32,s)),o=s===BigInt(i);if(t.lastGpsTimeDifference[n]===0)if(o)this.layers.gpsTime.encodeSymbol(t.gpsTimeZeroDifferenceModel,0),t.gpsTimeCompressor.compress(0,i,0),t.lastGpsTimeDifference[n]=i,t.gpsTimeExtremeCounter[n]=0;else if(this.selectGpsTimeSequence(t,e,!1)){this.encodeGpsTime(t,e);return}else this.layers.gpsTime.encodeSymbol(t.gpsTimeZeroDifferenceModel,1),this.startGpsTimeSequence(t,e);else if(o){let a=t.lastGpsTimeDifference[n],c=Lb(i,a);c===1?(this.layers.gpsTime.encodeSymbol(t.gpsTimeMultiplierModel,1),t.gpsTimeCompressor.compress(a,i,1),t.gpsTimeExtremeCounter[n]=0):c>0?c<wr?(this.layers.gpsTime.encodeSymbol(t.gpsTimeMultiplierModel,c),t.gpsTimeCompressor.compress(We(c*a),i,c<10?2:3)):(this.layers.gpsTime.encodeSymbol(t.gpsTimeMultiplierModel,wr),t.gpsTimeCompressor.compress(We(wr*a),i,4),this.recordExtremeGpsDifference(t,n,i)):c<0?c>Ki?(this.layers.gpsTime.encodeSymbol(t.gpsTimeMultiplierModel,wr-c),t.gpsTimeCompressor.compress(We(c*a),i,5)):(this.layers.gpsTime.encodeSymbol(t.gpsTimeMultiplierModel,wr-Ki),t.gpsTimeCompressor.compress(We(Ki*a),i,6),this.recordExtremeGpsDifference(t,n,i)):(this.layers.gpsTime.encodeSymbol(t.gpsTimeMultiplierModel,0),t.gpsTimeCompressor.compress(0,i,7),this.recordExtremeGpsDifference(t,n,i))}else if(this.selectGpsTimeSequence(t,e,!0)){this.encodeGpsTime(t,e);return}else this.layers.gpsTime.encodeSymbol(t.gpsTimeMultiplierModel,wb),this.startGpsTimeSequence(t,e);t.lastGpsTimeBits[t.lastGpsSequence]=e}selectGpsTimeSequence(t,e,n){for(let s=1;s<4;s++){let i=t.lastGpsSequence+s&3,o=BigInt.asIntN(64,e-t.lastGpsTimeBits[i]);if(o===BigInt.asIntN(32,o)){let a=n?wb+s:s+1,c=n?t.gpsTimeMultiplierModel:t.gpsTimeZeroDifferenceModel;return this.layers.gpsTime.encodeSymbol(c,a),t.lastGpsSequence=i,!0}}return!1}startGpsTimeSequence(t,e){let n=t.lastGpsTimeBits[t.lastGpsSequence];t.gpsTimeCompressor.compress(Number(BigInt.asIntN(32,n>>32n)),Number(BigInt.asIntN(32,e>>32n)),8),this.layers.gpsTime.writeInt(Number(e&0xffffffffn)),t.nextGpsSequence=t.nextGpsSequence+1&3,t.lastGpsSequence=t.nextGpsSequence,t.lastGpsTimeDifference[t.lastGpsSequence]=0,t.gpsTimeExtremeCounter[t.lastGpsSequence]=0}recordExtremeGpsDifference(t,e,n){t.gpsTimeExtremeCounter[e]++,t.gpsTimeExtremeCounter[e]>3&&(t.lastGpsTimeDifference[e]=n,t.gpsTimeExtremeCounter[e]=0)}},bu=class{red;green;blue;usedModel=new Ot(128);differenceModels=xr(6,256);constructor(t){this.red=t.red,this.green=t.green,this.blue=t.blue}},np=class{encoder=new $t;contexts=new Array(4).fill(null);currentContext;changed=!1;constructor(t,e){this.currentContext=e,this.contexts[e]=new bu(t)}encode(t,e){let n=this.contexts[this.currentContext];e!==this.currentContext&&(this.currentContext=e,this.contexts[e]||(this.contexts[e]=new bu({red:n.red,green:n.green,blue:n.blue}),n=this.contexts[e]));let s=this.contexts[this.currentContext],i=((t.red&255)!==(n.red&255)?1:0)|((t.red&65280)!==(n.red&65280)?2:0)|((t.green&255)!==(n.green&255)?4:0)|((t.green&65280)!==(n.green&65280)?8:0)|((t.blue&255)!==(n.blue&255)?16:0)|((t.blue&65280)!==(n.blue&65280)?32:0);((t.red&255)!==(t.green&255)||(t.red&255)!==(t.blue&255)||(t.red&65280)!==(t.green&65280)||(t.red&65280)!==(t.blue&65280))&&(i|=64),this.encoder.encodeSymbol(s.usedModel,i);let o=0,a=0;if(i&1&&(o=(t.red&255)-(n.red&255),this.encoder.encodeSymbol(s.differenceModels[0],be(o))),i&2&&(a=(t.red>>8)-(n.red>>8),this.encoder.encodeSymbol(s.differenceModels[1],be(a))),i&64){if(i&4){let c=(t.green&255)-Xs(o+(n.green&255));this.encoder.encodeSymbol(s.differenceModels[2],be(c))}if(i&16){o=Math.trunc((o+(t.green&255)-(n.green&255))/2);let c=(t.blue&255)-Xs(o+(n.blue&255));this.encoder.encodeSymbol(s.differenceModels[4],be(c))}if(i&8){let c=(t.green>>8)-Xs(a+(n.green>>8));this.encoder.encodeSymbol(s.differenceModels[3],be(c))}if(i&32){a=Math.trunc((a+(t.green>>8)-(n.green>>8))/2);let c=(t.blue>>8)-Xs(a+(n.blue>>8));this.encoder.encodeSymbol(s.differenceModels[5],be(c))}}this.changed||=i!==0,n.red=t.red,n.green=t.green,n.blue=t.blue}finish(){return this.changed?this.encoder.finish():new Uint8Array(0)}},wu=class{value;usedModel=new Ot(4);differenceModels=xr(2,256);constructor(t){this.value=t}},sp=class{encoder=new $t;contexts=new Array(4).fill(null);currentContext;changed=!1;constructor(t,e){this.currentContext=e,this.contexts[e]=new wu(t)}encode(t,e){let n=this.contexts[this.currentContext];e!==this.currentContext&&(this.currentContext=e,this.contexts[e]||(this.contexts[e]=new wu(n.value),n=this.contexts[e]));let s=this.contexts[this.currentContext],i=((t&255)!==(n.value&255)?1:0)|((t&65280)!==(n.value&65280)?2:0);this.encoder.encodeSymbol(s.usedModel,i),i&1&&this.encoder.encodeSymbol(s.differenceModels[0],be((t&255)-(n.value&255))),i&2&&this.encoder.encodeSymbol(s.differenceModels[1],be((t>>8)-(n.value>>8))),this.changed||=i!==0,n.value=t}finish(){return this.changed?this.encoder.finish():new Uint8Array(0)}},xu=class{values;models;constructor(t){this.values=t.slice(),this.models=xr(t.byteLength,256)}},ip=class{encoders;contexts=new Array(4).fill(null);changed;currentContext;constructor(t,e){this.encoders=Array.from({length:t.byteLength},()=>new $t),this.changed=new Array(t.byteLength).fill(!1),this.currentContext=e,this.contexts[e]=new xu(t)}encode(t,e){let n=this.contexts[this.currentContext];e!==this.currentContext&&(this.currentContext=e,this.contexts[e]||(this.contexts[e]=new xu(n.values),n=this.contexts[e]));let s=this.contexts[this.currentContext];for(let i=0;i<t.byteLength;i++){let o=t[i]-n.values[i];this.encoders[i].encodeSymbol(s.models[i],be(o)),o&&(this.changed[i]=!0,n.values[i]=t[i])}}finish(){return this.encoders.map((t,e)=>this.changed[e]?t.finish():new Uint8Array(0))}}});function ic(r){return{...r,batchType:"data",length:r.data.numRows}}var Db=m(()=>{"use strict"});var Zo=m(()=>{"use strict";Xg();Kg();tb();mb();Mb();Db()});function Cb(r,t){let e=CS(r);return Gi(t,e)}function CS(r){let t={};return t.las_pointsOffset=r.pointsOffset.toString(10),t.las_pointsFormatId=r.pointsFormatId.toString(10),t.las_pointsStructSize=r.pointsStructSize.toString(10),t.las_pointsCount=r.pointsCount.toString(10),t.las_scale=JSON.stringify(r.scale),t.las_offset=JSON.stringify(r.offset),r.maxs!==void 0&&(t.las_maxs=JSON.stringify(r.maxs)),r.mins!==void 0&&(t.las_mins=JSON.stringify(r.mins)),t.las_totalToRead=r.totalToRead.toString(10),t.las_pointsFortotalReadmatId=r.totalRead.toString(10),r.versionAsString!==void 0&&(t.las_versionAsString=r.versionAsString),r.isCompressed!==void 0&&(t.las_isCompressed=r.isCompressed.toString()),t}var Fb=m(()=>{"use strict";or()});function Ob(r,t){let e=t.vlrs.find(y=>y.userId==="lascompatible"&&y.recordId===22204);if(!e)return;if(!["1.0","1.1","1.2","1.3"].includes(r.versionAsString||"")||![1,3,4,5].includes(r.pointsFormatId))throw new Error("LASLoader: compatibility mode requires a legacy LAS point format");let n=new DataView(e.data.buffer,e.data.byteOffset,e.data.byteLength);if(n.byteLength<4)throw new Error("LASLoader: truncated LASzip compatibility VLR");let s=n.getUint16(2,!0);if(s!==3&&s!==4||n.byteLength!==(s===3?156:174))throw new Error(`LASLoader: unsupported LASzip compatibility VLR version ${s} or length`);let i=new Map,o=0;for(let y of t.extraBytes){let g=y.dataType>20?y.dataType-20:y.dataType>10?y.dataType-10:y.dataType,x=y.dataType>20?3:y.dataType>10?2:1,B=y.dataType===0?y.options:g<=2?x:g<=4?2*x:g<=6||g===9?4*x:8*x;if(y.dataType>30||!B)throw new Error("LASLoader: invalid compatibility Extra Bytes layout");i.set(y.name,{byteOffset:o,dataType:y.dataType}),o+=B}let a={1:28,3:34,4:57,5:63}[r.pointsFormatId];if(o!==r.pointsStructSize-a)throw new Error("LASLoader: compatibility descriptors do not match point record length");let c=oc(i,"LAS 1.4 scan angle",4),l=oc(i,"LAS 1.4 extended returns",1),u=oc(i,"LAS 1.4 classification",1),f=oc(i,"LAS 1.4 flags and channel",1),h=i.has("LAS 1.4 NIR band")?oc(i,"LAS 1.4 NIR band",3):void 0,p=r.pointsFormatId===1?6:r.pointsFormatId===3?h===void 0?7:8:r.pointsFormatId===4?9:10;if(r.pointsFormatId===5&&h===void 0)throw new Error("LASLoader: compatibility waveform color points require NIR");return{pointDataRecordFormat:p,version:s===3?"1.4":"1.5",scanAngleByteOffset:c,returnsByteOffset:l,classificationByteOffset:u,flagsByteOffset:f,nirByteOffset:h}}function oc(r,t,e){let n=r.get(t);if(!n||n.dataType!==e)throw new Error(`LASLoader: missing or invalid compatibility field ${t}`);return n.byteOffset}function lp(r,t,e,n,s){if(!s.classifications&&!s.returnNumbers&&!s.numberOfReturns&&!s.scanAngles&&!s.overlapFlags&&!s.scannerChannels&&!s.nir)return;let i=r.getUint8(t+n.returnsByteOffset),o=r.getUint8(t+n.flagsByteOffset);if(s.classifications&&(s.classifications[e]+=r.getUint8(t+n.classificationByteOffset)),s.returnNumbers&&(s.returnNumbers[e]+=i>>4),s.numberOfReturns&&(s.numberOfReturns[e]+=i&15),s.scanAngles){let a=s.scanAngles[e],c=Math.fround(a/Math.fround(.006)),l=Math.sign(c)*Math.floor(Math.abs(c)+.5);s.scanAngles[e]=l+r.getInt16(t+n.scanAngleByteOffset,!0)}s.overlapFlags&&(s.overlapFlags[e]=o&1),s.scannerChannels&&(s.scannerChannels[e]=o>>1&3),s.nir&&n.nirByteOffset!==void 0&&(s.nir[e]=r.getUint16(t+n.nirByteOffset,!0))}var Eb=m(()=>{"use strict"});function Nb(r){if(r.byteLength%192!==0)throw new Error(`LAS Extra Bytes VLR length ${r.byteLength} is not a multiple of 192`);let t=[],e=new DataView(r.buffer,r.byteOffset,r.byteLength);for(let n=0;n<r.byteLength;n+=192){let s=[e.getFloat64(n+112,!0),e.getFloat64(n+120,!0),e.getFloat64(n+128,!0)],i=[e.getFloat64(n+136,!0),e.getFloat64(n+144,!0),e.getFloat64(n+152,!0)];t.push({dataType:r[n+2],options:r[n+3],name:Ub(r,n+4,32),description:Ub(r,n+160,32),scale:s[0],offset:i[0],scales:s,offsets:i,data:r.slice(n,n+192)})}return t}function Rb(r,t,e){let n=0,s=new Set,i=[];for(let o=0;o<t.length;o++){let a=t[o],c=OS(a.dataType),l=ES(a.dataType),f=US(c)*l;if(a.dataType<1||a.dataType>30||!f)throw new Error(`Unsupported typed LAS Extra Bytes data type ${a.dataType}`);let h=`EXTRA_BYTES_${FS(a.name)}`;h==="EXTRA_BYTES_"&&(h=`EXTRA_BYTES_${o}`);let p=h,y=1;for(;s.has(h);)h=`${p}_${y++}`;s.add(h);let g=a.options&8?a.scales.slice(0,l):new Array(l).fill(1),x=a.options&16?a.offsets.slice(0,l):new Array(l).fill(0),q=c!==10&&(c===7||c===8?g.some(M=>M!==1)||x.some(M=>M!==0):!!(a.options&24));i.push({name:h,value:up(c,r*l,q),size:l,scalarDataType:c,byteOffset:n,byteLength:f,outputFloat64:q,scales:g,offsets:x}),n+=f}if(n!==e)throw new Error(`LAS Extra Bytes descriptors use ${n} bytes; point records provide ${e}`);return i}function Ub(r,t,e){return new TextDecoder().decode(r.subarray(t,t+e)).replace(/\0+$/,"").trim()}function FS(r){return r.trim().replace(/[^A-Za-z0-9_]+/g,"_")}function OS(r){return r>20?r-20:r>10?r-10:r}function ES(r){return r>20?3:r>10?2:1}function US(r){return r<=2?1:r<=4?2:r<=6||r===9?4:r===7||r===8||r===10?8:0}function NS(r,t,e){switch(e){case 1:return r.getUint8(t);case 2:return r.getInt8(t);case 3:return r.getUint16(t,!0);case 4:return r.getInt16(t,!0);case 5:return r.getUint32(t,!0);case 6:return r.getInt32(t,!0);case 7:return r.getBigUint64(t,!0);case 8:return r.getBigInt64(t,!0);case 9:return r.getFloat32(t,!0);case 10:return r.getFloat64(t,!0);default:throw new Error(`Unsupported typed LAS Extra Bytes scalar data type ${e}`)}}function up(r,t,e){if(e&&r!==10)return new Float64Array(t);switch(r){case 1:return new Uint8Array(t);case 2:return new Int8Array(t);case 3:return new Uint16Array(t);case 4:return new Int16Array(t);case 5:return new Uint32Array(t);case 6:return new Int32Array(t);case 7:return new BigUint64Array(t);case 8:return new BigInt64Array(t);case 9:return new Float32Array(t);case 10:return new Float64Array(t);default:throw new Error(`Unsupported typed LAS Extra Bytes scalar data type ${r}`)}}function fp(r,t,e,n,s){let i=NS(r,t,e.scalarDataType);e.value instanceof BigInt64Array||e.value instanceof BigUint64Array?e.value[n]=i:e.value[n]=Number(i)*e.scales[s]+e.offsets[s]}var Pb=m(()=>{"use strict"});function Js(r,t,e){return{pointDataRecordFormat:r.pointsFormatId,pointDataRecordLength:r.pointsStructSize,pointCount:e,point10ItemVersion:t.items.find(n=>n.type===6)?.version,gpsTime11ItemVersion:t.items.find(n=>n.type===7)?.version,rgb12ItemVersion:t.items.find(n=>n.type===8)?.version,byteItemVersion:t.items.find(n=>n.type===0)?.version,point14ItemVersion:t.point14ItemVersion??void 0,rgb14ItemVersion:t.rgb14ItemVersion??void 0,wavePacketItemVersion:t.wavePacketItemVersion??void 0,byte14ItemVersion:t.byte14ItemVersion??void 0}}function jb(r,t={}){let e=Hb(r);if(e.isCompressed){let s=new Uint8Array(r),i=gp(s,e);if(bp(e,i),e.pointsFormatId<=5||e.pointsFormatId>=6&&e.pointsFormatId<=10)return jS(s,e,i,t);let o=JS(r,e,i),a=e.pointsCount;return _u(o,{...e,pointsOffset:0,pointsCount:a,totalToRead:a,totalRead:a},t)}let n=e.pointsCount;return _u(r,{...e,totalToRead:n,totalRead:n},t)}function qb(r,t,e){if(t.pointDataRecordFormat<6||t.pointDataRecordFormat>8)throw new Error(`LASLoader: standalone Arrow chunk decode supports PDRF 6-8; received ${t.pointDataRecordFormat}`);let n=t.pointCount,s={pointsOffset:0,pointsFormatId:t.pointDataRecordFormat,pointsStructSize:t.pointDataRecordLength,pointsCount:n,scale:t.scale,offset:t.offset,maxs:[0,0,0],mins:[0,0,0],totalToRead:n,totalRead:n,hasColor:Xb(t.pointDataRecordFormat),versionAsString:"1.4",isCompressed:!0,headerSize:Gb,vlrCount:0},i=Du(n,s,e);if(i.waveforms||i.extraBytes||i.typedExtraBytes)throw new Error("LASLoader: standalone Arrow chunk decode only supports direct LAZ columns");let a=Gr(r,t).decodeIntoPointData(i.target,n);if(a!==n)throw new Error(`LASLoader: standalone LAZ chunk produced ${a} points; expected ${n}`);return $b(s,i,n,e,!0)}function jS(r,t,e,n){let s=t.pointsCount,i=Du(s,t,n),o=wp(r,t,e,n),a=0,c=t.pointsOffset+(e.compressor===1?0:Wt);for(let l of o)qS(r,c,l.byteLength,l.pointCount,t,e,i,a),c+=l.byteLength,a+=l.pointCount;if(a!==s)throw new Error(`LASLoader: decoded ${a} LAZ points; expected ${s}`);return $b(t,i,s,n)}function $b(r,t,e,n,s=!1){let i=s&&t.rawColors?t.rawColors:t.colors?t.colors:t.rawColors?e1(t.rawColors,e,n):null;return hp({...r,pointsOffset:0,pointsCount:e,totalRead:e},t.positions,i,t.intensities,t.classifications,t.syntheticFlags,t.keyPointFlags,t.withheldFlags,t.overlapFlags,t.gpsTimes,t.nir,t.scanAngles,t.userData,t.pointSourceIds,t.returnNumbers,t.numberOfReturns,t.scannerChannels,t.scanDirectionFlags,t.edgeOfFlightLines,t.waveforms,t.extraBytes,t.typedExtraBytes)}function qS(r,t,e,n,s,i,o,a){let c=r.subarray(t,t+e);if(c.byteLength!==e)throw new it("LASLoader: truncated LAZ chunk");let l=Gr(c,Js(s,i,n));o.target.pointOffset=a;let u=l.decodeIntoPointData(o.target,n);if(u!==n)throw new Error(`LASLoader: decoded ${u} points from a ${n}-point LAZ chunk`);vp(o,a,n)}async function*Wb(r,t={}){let e=Xo(t),n=N2(r),s=new Uint8Array(0),i=0,o=null,a=0,c=0;for(;;){let l=await n.next();if(l.done)break;let u=l.value;if(s=r1(s,Bp(u)),o||(o=U2(s,i),o&&(o.totalToRead=o.pointsCount)),!!o){if(o.isCompressed){yield*YS(s,n,o,t);return}for(let f of O2(s,i,o,a,c,e))a=f.sourcePointIndex,c=f.totalRead,s=f.pending,i=f.absoluteOffset,yield _u(f.arrayBuffer,f.header,t)}}if(!o)throw new Error("LASLoader: incomplete LAS header");if(c<o.totalToRead)throw new Error("LASLoader: truncated LAS point data")}async function*$S(r,t,e,n,s){if(n.variableChunks){let p=await g2(r,t);yield*Zb(p,e,n,s);return}if(e.pointsFormatId<=5){yield*WS(r,t,e,n,s);return}let i={...e,totalToRead:e.pointsCount},o=Xo(s),a=Mu(o,e.pointsStructSize,Cu(s)),c=0,l=[],u=new js;u.write(r),await Qi(u,t,e.pointsOffset+Wt,"LASLoader: incomplete compressed LAZ point data"),u.skip(e.pointsOffset);let f=Fu(u.getDataView(Wt));for(;c<e.pointsCount;){let p=Math.min(n.chunkSize,e.pointsCount-c),y=Js(e,n,p),g=await v2(u,t,y);l.push(g),Ap(u,g,a.stats);let x=u.readBytes(g);s.las?.recoverMissingChunkTable&&f===e.pointsOffset&&xp(x,y);for(let B of Sp(x,y,i,a))yield B;c+=p}await Tu(u,t,e,n,f,l,s);let h=Ji(i,a);h&&(yield h)}async function*WS(r,t,e,n,s={}){let i={...e,totalToRead:e.pointsCount},o=Xo(s),a=Mu(o,e.pointsStructSize,Cu(s)),c=[],l=new js;l.write(r),await Qi(l,t,e.pointsOffset+(n.compressor===1?0:Wt),"LASLoader: incomplete compressed LAZ point data"),l.skip(e.pointsOffset);let u=n.compressor===1?0:Fu(l.getDataView(Wt)),f=0;for(;f<e.pointsCount;){let p=n.compressor===1?e.pointsCount:Math.min(n.chunkSize,e.pointsCount-f),y=Js(e,n,p),g=Gr(new Uint8Array(0),y),x=0,B=0,q=!1;for(;g.remainingPointCount>0;){let M=l.getAvailableByteLength(),b=Yb(M,x,g.requiredInputByteLength-B);if(b>x){let X=l.checkpoint();l.skip(x);let ft=b-x;Ap(l,ft,a.stats),g.feed(l.readBytes(ft)),l.restore(X),x=b}let C=o-a.batchPointCount,_=g.decodeAvailableInto(a.rawBatch,a.batchPointCount*e.pointsStructSize,C,q);if(_>0){if(n.compressor===1){let X=g.compressedByteOffset-B;l.skip(X),x-=X,B=g.compressedByteOffset,g.discardConsumedInput()}if(a.batchPointCount+=_,a.batchPointCount===o){let X=Ji(i,a);X&&(yield X)}continue}if(q)throw new it(`LASLoader: truncated legacy LAZ chunk after ${p-g.remainingPointCount} of ${p} points with ${M} bytes available`);let $=await t.next();$.done?q=!0:l.write($.value)}l.skip(g.compressedByteOffset-B),c.push(g.compressedByteOffset),f+=p}n.compressor!==1&&await Tu(l,t,e,n,u,c,s);let h=Ji(i,a);h&&(yield h)}function Yb(r,t,e){return Math.min(r,Math.max(e,t+GS))}async function*YS(r,t,e,n){let{pending:s,laszip:i}=await y2(r,t,e);if(bp(e,i),!i.variableChunks&&e.pointsFormatId<=5){yield*ZS(s,t,e,i,n);return}if(!i.variableChunks&&e.pointsFormatId>=6&&e.pointsFormatId<=10){yield*HS(s,t,e,i,n);return}for await(let o of $S(s,t,e,i,n))yield _u(o.arrayBuffer,o.header,n)}async function*ZS(r,t,e,n,s){let i={...e,totalToRead:e.pointsCount},o=Du(Xo(s),e,s),a=Cu(s),c=[],l=new js;l.write(r),await Qi(l,t,e.pointsOffset+(n.compressor===1?0:Wt),"LASLoader: incomplete compressed LAZ point data"),l.skip(e.pointsOffset);let u=n.compressor===1?0:Fu(l.getDataView(Wt)),f=0;for(;f<e.pointsCount;){let p=n.compressor===1?e.pointsCount:Math.min(n.chunkSize,e.pointsCount-f),y=Js(e,n,p),g=Gr(new Uint8Array(0),y),x=0,B=0,q=!1;for(;g.remainingPointCount>0;){let M=l.getAvailableByteLength(),b=Yb(M,x,g.requiredInputByteLength-B);if(b>x){let X=l.checkpoint();l.skip(x);let ft=b-x;Ap(l,ft,a),g.feed(l.readBytes(ft)),l.restore(X),x=b}o.target.pointOffset=o.batchPointCount;let C=o.batchCapacity-o.batchPointCount,_=g.decodeAvailableIntoPointData(o.target,C,q);if(_>0){if(n.compressor===1){let X=g.compressedByteOffset-B;l.skip(X),x-=X,B=g.compressedByteOffset,g.discardConsumedInput()}if(vp(o,o.batchPointCount,_),o.batchPointCount+=_,o.batchPointCount===o.batchCapacity){let X=Lu(i,o,s);X&&(yield X)}continue}if(q)throw new it(`LASLoader: truncated legacy LAZ chunk after ${p-g.remainingPointCount} of ${p} points with ${M} bytes available`);let $=await t.next();$.done?q=!0:l.write($.value)}l.skip(g.compressedByteOffset-B),c.push(g.compressedByteOffset),f+=p}n.compressor!==1&&await Tu(l,t,e,n,u,c,s);let h=Lu(i,o,s);h&&(yield h)}async function*HS(r,t,e,n,s){let i={...e,totalToRead:e.pointsCount},o=Du(Xo(s),e,s),a=0,c=[],l=new js;l.write(r),await Qi(l,t,e.pointsOffset+Wt,"LASLoader: incomplete compressed LAZ point data"),l.skip(e.pointsOffset);let u=Fu(l.getDataView(Wt));for(;a<e.pointsCount;){let h=Math.min(n.chunkSize,e.pointsCount-a),p=Js(e,n,h),y=yield*XS(l,t,p,i,o,s,!!(s.las?.recoverMissingChunkTable&&u===e.pointsOffset));c.push(y),a+=h}await Tu(l,t,e,n,u,c,s);let f=Lu(i,o,s);f&&(yield f)}async function*XS(r,t,e,n,s,i,o){let a=hu(e);await Qi(r,t,a,"LASLoader: incomplete layered LAZ chunk header");let c=r.readBytes(a);o&&xp(c,e);let l=du(c,e),u=$d(e);u.feed(c);let f=a;for(;f<l;){if(yield*kb(u,n,s,i),r.getAvailableByteLength()===0){let p=await t.next();if(p.done)throw new it("LASLoader: incomplete layered LAZ chunk payload");r.write(p.value)}let h=Math.min(r.getAvailableByteLength(),l-f);u.feed(r.readBytes(h)),f+=h}if(u.close(),yield*kb(u,n,s,i),u.remainingPointCount!==0)throw new it(`LASLoader: layered LAZ chunk produced ${e.pointCount-u.remainingPointCount} of ${e.pointCount} points`);return l}function*kb(r,t,e,n){for(;r.remainingPointCount>0;){let s=e.batchCapacity-e.batchPointCount;e.target.pointOffset=e.batchPointCount;let i=r.readPointDataBatch(e.target,s);if(!i)return;if(vp(e,e.batchPointCount,i),e.batchPointCount+=i,e.batchPointCount===e.batchCapacity){let o=Lu(t,e,n);o&&(yield o)}}}function*KS(r,t,e,n,s={}){let i=n||gp(new Uint8Array(r),t);if(bp(t,i),t.pointsFormatId<=5||i.variableChunks){yield*Zb(new Uint8Array(r),t,i,{...s,batchSize:e});return}let o={...t,totalToRead:t.pointsCount},a=Mu(e,t.pointsStructSize),c=new Uint8Array(r),l=wp(c,t,i,s),u=t.pointsOffset+(i.compressor===1?0:Wt);for(let h of l){let p=Js(t,i,h.pointCount),y=c.subarray(u,u+h.byteLength);for(let g of Sp(y,p,o,a))yield g;u+=h.byteLength}let f=Ji(o,a);f&&(yield f)}function*Zb(r,t,e,n={}){let s=Xo(n),i={...t,totalToRead:t.pointsCount},o=Mu(s,t.pointsStructSize,Cu(n)),a=wp(r,t,e,n),c=t.pointsOffset+(e.compressor===1?0:Wt);for(let u of a){let f=r.subarray(c,c+u.byteLength);if(f.byteLength<u.byteLength)throw new it("LASLoader: truncated legacy LAZ chunk");let h=Js(t,e,u.pointCount);if(e.compressor===1)yield*Sp(f,h,i,o);else{let p=fu(f,h);T2(p.byteLength,o.stats),yield*M2(p,i,o)}c+=u.byteLength}let l=Ji(i,o);l&&(yield l)}function JS(r,t,e){let n=t.pointsCount,s=new Uint8Array(n*t.pointsStructSize),i=0;for(let o of KS(r,t,zb,e)){let a=new Uint8Array(o.arrayBuffer);s.set(a,i),i+=a.byteLength}return s}function Hb(r){let t=new DataView(r);if(r.byteLength<227||t.getUint32(0,!0)!==Vb)throw new Error("LASLoader: invalid LAS header");let e=t.getUint8(24),n=t.getUint8(25);if(e!==1||n>5)throw new Error(`LASLoader: unsupported LAS version ${e}.${n}`);let s=t.getUint16(94,!0),i=t.getUint16(6,!0),o=t.getUint32(100,!0),a=t.getUint8(104),c=a&PS,l=!!(a&RS),u=t.getUint32(107,!0),h=(e>1||n>=4?Ks(t,247):u)||u,p=t.getUint32(96,!0),y=t.getUint16(105,!0);if(n===5){if(s<393)throw new Error("LASLoader: LAS 1.5 header must be at least 393 bytes");if(c<6||c>10)throw new Error(`LASLoader: LAS 1.5 requires point data record formats 6-10; received ${c}`);if((i&16)===0)throw new Error("LASLoader: LAS 1.5 requires the WKT global encoding flag");if((i&65440)!==0)throw new Error("LASLoader: LAS 1.5 Global Encoding contains reserved bits");if((i&64)!==0&&(i&1)===0)throw new Error("LASLoader: LAS 1.5 Time Offset Flag requires GPS Time Type");let b=t.getFloat64(375,!0),C=t.getFloat64(383,!0);if(!Number.isFinite(b)||!Number.isFinite(C)||b!==0&&C!==0&&b<C)throw new Error("LASLoader: LAS 1.5 GPS time range is invalid")}let g=[t.getFloat64(131,!0),t.getFloat64(139,!0),t.getFloat64(147,!0)],x=[t.getFloat64(155,!0),t.getFloat64(163,!0),t.getFloat64(171,!0)],B=[t.getFloat64(179,!0),t.getFloat64(195,!0),t.getFloat64(211,!0)],q=[t.getFloat64(187,!0),t.getFloat64(203,!0),t.getFloat64(219,!0)],M={pointsOffset:p,pointsFormatId:c,pointsStructSize:y,pointsCount:h,scale:g,offset:x,maxs:B,mins:q,totalToRead:h,totalRead:0,hasColor:Xb(c),versionAsString:`${e}.${n}`,isCompressed:l,headerSize:s,vlrCount:o,userHeaderData:n===5&&s>393?new Uint8Array(r,393,s-393).slice():void 0};return QS(r,M)&&(M.metadata=t2(r,M)),M}function QS(r,t){let e=t.headerSize+t.vlrCount*54;return r.byteLength>=Math.max(e,t.pointsOffset)}function t2(r,t){let e=new DataView(r),s=(t.versionAsString||"1.0").split(".").map(Number),i=s[0]>1||s[0]===1&&s[1]>=4,o=e2(e,t),a=i?Ks(e,235):0,c=i?e.getUint32(243,!0):0,l=r2(e,a,c),u={fileSourceId:e.getUint16(4,!0),globalEncoding:e.getUint16(6,!0),waveformDataOffset:s[0]>1||s[0]===1&&s[1]>=3?e.getBigUint64(227,!0):void 0,projectId:c2(new Uint8Array(r,8,16)),systemIdentifier:Ho(new Uint8Array(r),26,32),generatingSoftware:Ho(new Uint8Array(r),58,32),creationDayOfYear:e.getUint16(90,!0),creationYear:e.getUint16(92,!0),headerSize:t.headerSize,userHeaderData:t.userHeaderData,vlrCount:t.vlrCount,evlrOffset:a||void 0,evlrCount:c||void 0,maxGpsTime:s[1]===5?e.getFloat64(375,!0):void 0,minGpsTime:s[1]===5?e.getFloat64(383,!0):void 0,timeOffset:s[1]===5?e.getUint16(391,!0):void 0,pointsByReturn:a2(e,i),vlrs:o,evlrs:l,extraBytes:[],waveformPacketDescriptors:[]};for(let f of o.concat(l.map(h=>({...h,data:h.data||new Uint8Array}))))n2(f,u);return u.compatibility=Ob(t,u),s2(u),u}function e2(r,t){let e=new Uint8Array(r.buffer,r.byteOffset,r.byteLength),n=[],s=t.headerSize;for(let i=0;i<t.vlrCount&&!(s+54>e.byteLength);i++){let o=r.getUint16(s+20,!0),a=s+54;if(a+o>e.byteLength)break;n.push({reserved:r.getUint16(s,!0),userId:Ho(e,s+2,16),recordId:r.getUint16(s+18,!0),description:Ho(e,s+22,32),offset:s,data:e.slice(a,a+o)}),s=a+o}return n}function r2(r,t,e){if(!t||!e||t>=r.byteLength)return[];let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength),s=[],i=t;for(let o=0;o<e&&!(i+60>n.byteLength);o++){let a=Ks(r,i+20),c=i+60;if(a>n.byteLength-c)break;s.push({reserved:r.getUint16(i,!0),userId:Ho(n,i+2,16),recordId:r.getUint16(i+18,!0),description:Ho(n,i+28,32),offset:i,data:n.slice(c,c+a),dataOffset:c,dataLength:a}),i=c+a}return s}function n2(r,t){let e=r.data;e&&(r.userId==="LASF_Spec"&&r.recordId===4?t.extraBytes.push(...Nb(e)):r.userId==="LASF_Spec"&&r.recordId>=100&&r.recordId<=354?t.waveformPacketDescriptors.push(o2(r.recordId,e)):r.userId==="LASF_Projection"&&r.recordId===2111?t.wktMathTransform=Iu(e):r.userId==="LASF_Projection"&&r.recordId===2112?t.wkt=Iu(e):r.userId==="LASF_Projection"&&r.recordId===34735?t.geotiff={...t.geotiff,keys:l2(e)}:r.userId==="LASF_Projection"&&r.recordId===34736?t.geotiff={...t.geotiff,doubles:u2(e)}:r.userId==="LASF_Projection"&&r.recordId===34737&&(t.geotiff={...t.geotiff,ascii:Iu(e)}))}function s2(r){let t=r.geotiff,e=t?.keys;if(!t||!e||e.length<4)return;let n=e[3];if(e.length<4+n*4)return;let s=[];for(let i=0;i<n;i++){let o=4+i*4,a={keyId:e[o],tiffTagLocation:e[o+1],count:e[o+2],valueOffset:e[o+3]};a.value=i2(a,t),a.value===void 0&&delete a.value,s.push(a)}t.keyDirectory={version:e[0],keyRevision:e[1],minorRevision:e[2],entries:s}}function i2(r,t){if(r.tiffTagLocation===0)return r.valueOffset;if(r.tiffTagLocation===34735&&t.keys){let e=t.keys.slice(r.valueOffset,r.valueOffset+r.count);return e.length===r.count?Array.from(e):void 0}if(r.tiffTagLocation===34736&&t.doubles){let e=t.doubles.slice(r.valueOffset,r.valueOffset+r.count);return e.length!==r.count?void 0:r.count===1?e[0]:Array.from(e)}if(r.tiffTagLocation===34737&&t.ascii!==void 0){let e=r.valueOffset+r.count;return e>t.ascii.length?void 0:t.ascii.slice(r.valueOffset,e).replace(/\|$/,"")}}function o2(r,t){if(t.byteLength<28)throw new Error(`LASLoader: waveform descriptor VLR ${r} is truncated`);let e=new DataView(t.buffer,t.byteOffset,t.byteLength);return{recordId:r,bitsPerSample:e.getUint8(2),compressionType:e.getUint8(3),numberOfSamples:e.getUint32(4,!0),temporalSampleSpacing:e.getUint32(8,!0),digitizerGain:e.getFloat64(12,!0),digitizerOffset:e.getFloat64(20,!0)}}function a2(r,t){let e=t?15:5,n=t?255:111,s=[];for(let i=0;i<e;i++)s.push(t?Ks(r,n+i*8):r.getUint32(n+i*4,!0));return s}function Ho(r,t,e){return Iu(r.subarray(t,t+e))}function Iu(r){let t=r.length;for(;t>0&&r[t-1]===0;)t--;return new TextDecoder().decode(r.subarray(0,t)).trim()}function c2(r){let t=(n,s)=>Array.from(r.subarray(n,n+s),i=>i.toString(16).padStart(2,"0")).reverse().join(""),e=(n,s)=>Array.from(r.subarray(n,n+s),i=>i.toString(16).padStart(2,"0")).join("");return`${t(0,4)}-${t(4,2)}-${t(6,2)}-${e(8,2)}${e(10,6)}`}function l2(r){let t=new DataView(r.buffer,r.byteOffset,r.byteLength),e=new Uint16Array(Math.floor(r.byteLength/2));for(let n=0;n<e.length;n++)e[n]=t.getUint16(n*2,!0);return e}function u2(r){let t=new DataView(r.buffer,r.byteOffset,r.byteLength),e=new Float64Array(Math.floor(r.byteLength/8));for(let n=0;n<e.length;n++)e[n]=t.getFloat64(n*8,!0);return e}function _u(r,t,e={}){let n=t.pointsCount,s=e.las?.fp64?Float64Array:Float32Array,i=new s(n*3),o=t1(e),a=t.hasColor&&o.color?new Uint8Array(n*4):null,c=o.intensity?new Uint16Array(n):null,l=o.classification?new Uint8Array(n):null,u=o.synthetic?new Uint8Array(n):null,f=o.keyPoint?new Uint8Array(n):null,h=o.withheld?new Uint8Array(n):null,p=o.overlap?new Uint8Array(n):null,y=o.gpsTime&&mp(t.pointsFormatId)>=0?new Float64Array(n):null,g=o.nir&&(yp(t.pointsFormatId)>=0||e.las?.compatibilityMode!=="raw"&&t.metadata?.compatibility?.nirByteOffset!==void 0)?new Uint16Array(n):null,x=o.scanAngle?new Int16Array(n):null,B=o.userData?new Uint8Array(n):null,q=o.pointSourceId?new Uint16Array(n):null,M=o.returnNumber?new Uint8Array(n):null,b=o.numberOfReturns?new Uint8Array(n):null,C=o.scannerChannel?new Uint8Array(n):null,_=o.scanDirectionFlag?new Uint8Array(n):null,$=o.edgeOfFlightLine?new Uint8Array(n):null,X=o.waveform&&pp(t.pointsFormatId)>=0?new Uint8Array(n*29):null,ft=Math.max(0,t.pointsStructSize-Pn(t.pointsFormatId)),dt=o.extraBytes&&e.las?.extraBytes!=="typed"&&ft?new Uint8Array(n*ft):null,Bt=o.extraBytes&&e.las?.extraBytes==="typed"?Jb(n,t):null;return h2(f2(r),t,e,{positions:i,colors:a,intensities:c,classifications:l,syntheticFlags:u,keyPointFlags:f,withheldFlags:h,overlapFlags:p,gpsTimes:y,nir:g,scanAngles:x,userData:B,pointSourceIds:q,returnNumbers:M,numberOfReturns:b,scannerChannels:C,scanDirectionFlags:_,edgeOfFlightLines:$,waveforms:X,extraBytes:dt,typedExtraBytes:Bt,pointOffset:0,sourcePointIndex:0,pointCount:n}),hp(t,i,a,c,l,u,f,h,p,y,g,x,B,q,M,b,C,_,$,X,dt,Bt)}function hp(r,t,e,n,s,i,o,a,c,l,u,f,h,p,y,g,x,B,q,M,b,C){let _={POSITION:{value:t,size:3}};if(n&&(_.intensity={value:n,size:1}),s&&(_.classification={value:s,size:1}),i&&(_.synthetic={value:i,size:1}),o&&(_.keyPoint={value:o,size:1}),a&&(_.withheld={value:a,size:1}),c&&(_.overlap={value:c,size:1}),e&&(_.COLOR_0={value:e,size:e instanceof Uint16Array?3:4}),l&&(_.GPS_TIME={value:l,size:1}),u&&(_.NIR={value:u,size:1}),f&&(_.scanAngle={value:f,size:1}),h&&(_.userData={value:h,size:1}),p&&(_.pointSourceId={value:p,size:1}),y&&(_.returnNumber={value:y,size:1}),g&&(_.numberOfReturns={value:g,size:1}),x&&(_.scannerChannel={value:x,size:1}),B&&(_.scanDirectionFlag={value:B,size:1}),q&&(_.edgeOfFlightLine={value:q,size:1}),M&&(_.WAVEFORM={value:M,size:29}),b&&(_.EXTRA_BYTES={value:b,size:b.length/Math.max(r.pointsCount,1)}),C)for(let ft of C)_[ft.name]={value:ft.value,size:ft.size};let $={};for(let[ft,dt]of Object.entries(_))!(dt.value instanceof BigInt64Array)&&!(dt.value instanceof BigUint64Array)&&($[ft]={...dt,value:dt.value});let X=Cb(r,$);return{...Zl(_,{schema:X,topology:"point-list",mode:0,boundingBox:F2(r)}),loader:"las",loaderData:r,progress:r.totalRead/r.totalToRead}}function f2(r){return ArrayBuffer.isView(r)?new DataView(r.buffer,r.byteOffset,r.byteLength):new DataView(r)}function h2(r,t,e,n){let{scale:[s,i,o],offset:[a,c,l]}=t,u=t.pointsFormatId,f=t.pointsStructSize,h=n.colors?dp(u):-1,p=h>=0?p2(r,t,n.sourcePointIndex,n.pointCount,e.las?.colorDepth):!1,y=n.intensities,g=n.classifications,x=n.syntheticFlags,B=n.keyPointFlags,q=n.withheldFlags,M=n.overlapFlags,b=n.gpsTimes,C=n.nir,_=n.scanAngles,$=n.userData,X=n.pointSourceIds,ft=n.returnNumbers,dt=n.numberOfReturns,Bt=n.scannerChannels,se=n.scanDirectionFlags,rt=n.edgeOfFlightLines,tt=n.waveforms,Ye=n.extraBytes,Ne=n.typedExtraBytes,Ze=b?mp(u):-1,xt=C?yp(u):-1;for(let Gn=0;Gn<n.pointCount;Gn++){let Qs=n.sourcePointIndex+Gn,wt=t.pointsOffset+Qs*f,pt=n.pointOffset+Gn;n.positions[pt*3]=r.getInt32(wt,!0)*s+a,n.positions[pt*3+1]=r.getInt32(wt+4,!0)*i+c,n.positions[pt*3+2]=r.getInt32(wt+8,!0)*o+l,y&&(y[pt]=r.getUint16(wt+12,!0)),g&&(g[pt]=d2(r,wt,u)),b&&Ze>=0&&(b[pt]=r.getFloat64(wt+Ze,!0)),C&&xt>=0&&(C[pt]=r.getUint16(wt+xt,!0)),_&&(_[pt]=u<=5?r.getInt8(wt+16):r.getInt16(wt+18,!0)),$&&($[pt]=r.getUint8(wt+17)),X&&(X[pt]=r.getUint16(wt+(u<=5?18:20),!0));let un=r.getUint8(wt+14),qr=r.getUint8(wt+15),fn=u<=5?qr>>5:qr;if(x&&(x[pt]=fn&1),B&&(B[pt]=fn>>1&1),q&&(q[pt]=fn>>2&1),M&&(M[pt]=u<=5?0:fn>>3&1),ft&&(ft[pt]=u<=5?un&7:un&15),dt&&(dt[pt]=u<=5?un>>3&7:un>>4),Bt&&(Bt[pt]=u<=5?0:qr>>4&3),se&&(se[pt]=u<=5?un>>6&1:qr>>6&1),rt&&(rt[pt]=u<=5?un>>7&1:qr>>7&1),tt){let vr=pp(u);if(vr>=0){let Ar=new Uint8Array(r.buffer,r.byteOffset+wt+vr,29);tt.set(Ar,pt*29)}}if(Ye){let vr=Pn(u),Ar=t.pointsStructSize-vr;Ar>0&&Ye.set(new Uint8Array(r.buffer,r.byteOffset+wt+vr,Ar),pt*Ar)}if(Ne&&_2(r,wt,u,pt,Ne),e.las?.compatibilityMode!=="raw"&&t.metadata?.compatibility&&lp(r,wt+Pn(u),pt,t.metadata.compatibility,n),h>=0&&n.colors){let vr=r.getUint16(wt+h,!0),Ar=r.getUint16(wt+h+2,!0),eo=r.getUint16(wt+h+4,!0);n.colors[pt*4]=p?vr/256:vr,n.colors[pt*4+1]=p?Ar/256:Ar,n.colors[pt*4+2]=p?eo/256:eo,n.colors[pt*4+3]=255}}}function d2(r,t,e){return e<=5?r.getUint8(t+15)&31:r.getUint8(t+16)}function Xb(r){return dp(r)>=0}function dp(r){switch(r){case 2:return 20;case 3:return 28;case 5:return 28;case 7:case 8:case 10:return 30;default:return-1}}function pp(r){switch(r){case 4:return 28;case 5:return 34;case 9:return 30;case 10:return 38;default:return-1}}function mp(r){return r===1||r===3||r===4||r===5?20:r>=6&&r<=10?22:-1}function yp(r){return r===8||r===10?36:-1}function p2(r,t,e,n,s){if(s===8)return!1;if(s===16)return!0;if(s!=="auto")return!1;let i=dp(t.pointsFormatId);if(i<0)return!1;for(let o=0;o<n;o++){let a=t.pointsOffset+(e+o)*t.pointsStructSize;if(r.getUint16(a+i,!0)>255||r.getUint16(a+i+2,!0)>255||r.getUint16(a+i+4,!0)>255)return!0}return!1}function Xo(r){let t=r.batchSize??r.core?.batchSize;return typeof t=="number"?t:zb}function gp(r,t){let e=new DataView(r.buffer,r.byteOffset,r.byteLength),n=t.headerSize||Gb,s=t.vlrCount||0;for(let i=0;i<s;i++){if(n+54>r.byteLength)throw new it("LASLoader: incomplete VLR header");let o=C2(r,n+2,16),a=e.getUint16(n+18,!0),c=e.getUint16(n+20,!0),l=n+54;if(l+c>r.byteLength)throw new it("LASLoader: incomplete VLR data");if(o===kS&&a===zS){if(c<34)throw new Error("LASLoader: malformed LASzip VLR");let u=e.getUint32(l+12,!0),f=e.getUint16(l+32,!0);if(34+f*6>c)throw new Error("LASLoader: malformed LASzip VLR item table");let p=null,y=null,g=null,x=null,B=null,q=[];for(let M=0;M<f;M++){let b=l+34+M*6,C=e.getUint16(b,!0),_=e.getUint16(b+2,!0),$=e.getUint16(b+4,!0);if(q.push({type:C,size:_,version:$}),[0,6,7,8].includes(C)){if($!==1&&$!==2)throw new Error(`LASLoader: unsupported legacy LASzip item type ${C} version ${$}`)}else if(C===9){if($!==1)throw new Error(`LASLoader: unsupported WavePacket13 item version ${$}`);g=$}else if([10,11,12,14].includes(C)){if($!==2&&$!==3&&$!==4)throw new Error(`LASLoader: unsupported LAS 1.4 item type ${C} version ${$}`);C===10?p=$:C===11||C===12?y=$:B=$}else if(C===13){if($!==3&&$!==4)throw new Error(`LASLoader: unsupported WavePacket14 item version ${$}`);x=$}}return{compressor:e.getUint16(l,!0),coder:e.getUint16(l+2,!0),chunkSize:u,variableChunks:e.getUint16(l,!0)!==1&&(u===0||u===VS),items:q,point14ItemVersion:p,rgb14ItemVersion:y,wavePacket13ItemVersion:g,wavePacketItemVersion:x,byte14ItemVersion:B}}n=l+c}throw new Error("LASLoader: compressed LAZ file does not contain a LASzip VLR")}function bp(r,t){if(![0,1,2,3,4,5,6,7,8,9,10].includes(r.pointsFormatId))throw new Error(`LASLoader: TypeScript LAZ streaming only supports point formats 0-10; received ${r.pointsFormatId}`);if(r.pointsFormatId<=5&&t.compressor!==1&&t.compressor!==2)throw new Error(`LASLoader: legacy TypeScript LAZ decoding requires LASzip compressor 1 or 2; received ${t.compressor}`);if(r.pointsFormatId>=6&&t.compressor!==3)throw new Error(`LASLoader: LAS 1.4 TypeScript LAZ decoding requires LASzip compressor 3; received ${t.compressor}`);if(t.coder!==0)throw new Error(`LASLoader: TypeScript LAZ decoding requires LASzip arithmetic coder 0; received ${t.coder}`);if(m2(r,t.items),r.pointsFormatId>=6&&!t.point14ItemVersion)throw new Error(`LASLoader: point format ${r.pointsFormatId} requires a Point14 LASzip item`);if((r.pointsFormatId===4||r.pointsFormatId===5)&&!t.wavePacket13ItemVersion)throw new Error(`LASLoader: point format ${r.pointsFormatId} requires a WavePacket13 LASzip item`);if((r.pointsFormatId===7||r.pointsFormatId===8||r.pointsFormatId===10)&&!t.rgb14ItemVersion)throw new Error(`LASLoader: point format ${r.pointsFormatId} requires an RGB14 or RGBNIR14 LASzip item`);if(r.pointsFormatId>=6&&r.pointsStructSize>Pn(r.pointsFormatId)&&!t.byte14ItemVersion)throw new Error(`LASLoader: point format ${r.pointsFormatId} with Extra Bytes requires a Byte14 LASzip item`);if((r.pointsFormatId===9||r.pointsFormatId===10)&&!t.wavePacketItemVersion)throw new Error(`LASLoader: point format ${r.pointsFormatId} requires a WavePacket14 LASzip item`)}function m2(r,t){let e=r.pointsFormatId,n=Pn(e),s=r.pointsStructSize-n;if(s<0)throw new Error(`LASLoader: point format ${e} record length ${r.pointsStructSize} is smaller than ${n}`);let i=[];switch(e){case 0:i.push({type:6,size:20});break;case 1:i.push({type:6,size:20},{type:7,size:8});break;case 2:i.push({type:6,size:20},{type:8,size:6});break;case 3:i.push({type:6,size:20},{type:7,size:8},{type:8,size:6});break;case 4:i.push({type:6,size:20},{type:7,size:8},{type:9,size:29});break;case 5:i.push({type:6,size:20},{type:7,size:8},{type:8,size:6},{type:9,size:29});break;case 6:i.push({type:10,size:30});break;case 7:i.push({type:10,size:30},{type:11,size:6});break;case 8:i.push({type:10,size:30},{type:12,size:8});break;case 9:i.push({type:10,size:30},{type:13,size:29});break;case 10:i.push({type:10,size:30},{type:12,size:8},{type:13,size:29});break;default:return}if(s>0&&i.push({type:e<=5?0:14,size:s}),t.length!==i.length)throw new Error(`LASLoader: point format ${e} has ${t.length} LASzip items; expected ${i.length}`);for(let o=0;o<i.length;o++){let a=t[o],c=i[o];if(a.type!==c.type)throw new Error(`LASLoader: LASzip item ${o} has type ${a.type}; expected ${c.type} for point format ${e}`);if(a.size!==c.size)throw new Error(`LASLoader: LASzip item ${o} has size ${a.size}; expected ${c.size} for point format ${e}`)}}async function y2(r,t,e){let n=r;for(;;){try{return{pending:n,laszip:gp(n,e)}}catch(i){if(!(i instanceof it))throw i}let s=await t.next();if(s.done)throw new it("LASLoader: incomplete LASzip VLR");n=r1(n,Bp(s.value))}}async function g2(r,t){let e=[r],n=r.byteLength;for(;;){let o=await t.next();if(o.done)break;let a=Bp(o.value);e.push(a),n+=a.byteLength}if(e.length===1)return r;let s=new Uint8Array(n),i=0;for(let o of e)s.set(o,i),i+=o.byteLength;return s}async function Tu(r,t,e,n,s,i,o){if(o.las?.recoverMissingChunkTable&&s===e.pointsOffset){if(n.variableChunks)throw new Error("LASLoader: cannot recover a missing variable-size LAZ chunk table");for(;;){if(r.getAvailableByteLength())throw new Error("LASLoader: unexpected bytes after recovered LAZ chunks");let h=await t.next();if(h.done)return;r.write(h.value)}}let a=i.reduce((h,p)=>h+p,0),c=e.pointsOffset+Wt+a,l=s===-1?c:s;if(!Number.isSafeInteger(l)||l<c)throw new Error("LASLoader: LAZ chunk table byte lengths overlap the chunk table");let u=l-c;await Qi(r,t,u,"LASLoader: incomplete LAZ chunk table"),r.skip(u);let f=await x2(r,t,e,n);if(f.length!==i.length)throw new Error(`LASLoader: LAZ chunk table contains ${f.length} chunks; decoded ${i.length}`);for(let h=0;h<f.length;h++)if(f[h].byteLength!==i[h])throw new Error(`LASLoader: LAZ chunk ${h} has ${f[h].byteLength} table bytes; decoded ${i[h]}`);s===-1&&await b2(r,t,l)}async function b2(r,t,e){let n=new Uint8Array(Wt),s=0;for(;;){let o=r.getAvailableByteLength();if(o>0){let c=r.readBytes(Math.min(o,65536));w2(n,c),s+=c.byteLength;continue}let a=await t.next();if(a.done)break;r.write(a.value)}if(s<Wt)throw new it("LASLoader: incomplete non-seekable LAZ chunk-table footer");let i=Ks(new DataView(n.buffer),0);if(!Number.isSafeInteger(i)||i!==e)throw new Error(`LASLoader: non-seekable LAZ footer points to ${i}; expected ${e}`)}function w2(r,t){if(t.byteLength>=r.byteLength){r.set(t.subarray(t.byteLength-r.byteLength));return}r.copyWithin(0,t.byteLength),r.set(t,r.byteLength-t.byteLength)}async function x2(r,t,e,n){let s=64;for(;;){let i=r.getAvailableByteLength();if(i>=8){let a=r.checkpoint();try{let c=r.readBytes(Math.min(i,s)),l=Kb(c,e,n);return r.restore(a),l}catch(c){if(r.restore(a),!(c instanceof it))throw c;if(s*=2,s<=i)continue}}let o=await t.next();if(o.done)throw new it("LASLoader: incomplete LAZ chunk table");r.write(o.value)}}async function Qi(r,t,e,n){for(;!r.hasAvailableBytes(e);){let s=await t.next();if(s.done)throw new it(n);r.write(s.value)}}async function v2(r,t,e){for(;;){let n=r.checkpoint(),s;try{s=A2(r,e)}finally{r.restore(n)}if(s!==null)return await Qi(r,t,s,"LASLoader: truncated LAZ chunk"),s;let i=await t.next();if(i.done)throw new it("LASLoader: truncated LAZ chunk");r.write(i.value)}}function A2(r,t){if(t.pointDataRecordFormat<6||t.pointDataRecordFormat>10)return null;let e=t.pointDataRecordLength-Pn(t.pointDataRecordFormat);if(e<0)throw new Error(`Invalid point record length ${t.pointDataRecordLength}`);let n=S2(t.pointDataRecordFormat)+e,s=t.pointDataRecordLength+4,i=n*4,o=s+i;if(!r.hasAvailableBytes(o))return null;r.skip(s);let a=o;for(let c=0;c<n;c++)a+=r.readUint32LE();return a}function Pn(r){switch(r){case 0:return 20;case 1:return 28;case 2:return 26;case 3:return 34;case 4:return 57;case 5:return 63;case 6:return 30;case 7:return 36;case 8:return 38;case 9:return 59;case 10:return 67;default:throw new Error(`Unsupported LAS point format ${r}`)}}function S2(r){switch(r){case 6:return 9;case 7:return 10;case 8:return 11;case 9:return 10;case 10:return 12;default:throw new Error(`Unsupported LAS 1.4 point format ${r}`)}}function wp(r,t,e,n){if(e.compressor===1)return[{pointCount:t.pointsCount,byteLength:r.byteLength-t.pointsOffset}];let s=R2(new DataView(r.buffer,r.byteOffset,r.byteLength),t.pointsOffset);return B2(r,t,e,s,n)}function B2(r,t,e,n,s){if(s.las?.recoverMissingChunkTable&&n===t.pointsOffset)return I2(r,t,e);if(!Number.isSafeInteger(n)||n<0||n+8>r.byteLength)throw new it("LASLoader: incomplete LAZ chunk table");let i=Kb(r.subarray(n),t,e),o=i.reduce((a,c)=>a+c.byteLength,0);if(t.pointsOffset+Wt+o>n)throw new Error("LASLoader: LAZ chunk table byte lengths overlap the chunk table");return i}function I2(r,t,e){if(e.variableChunks||!e.chunkSize)throw new Error("LASLoader: cannot recover a missing variable-size LAZ chunk table");let n=[],s=t.pointsOffset+Wt,i=0;for(;i<t.pointsCount;){let o=Math.min(e.chunkSize,t.pointsCount-i),a=Js(t,e,o),c=r.subarray(s),l;if(t.pointsFormatId<=5){let u=Gr(c,a),f=new Uint8Array(Math.min(o,256)*t.pointsStructSize);for(;u.remainingPointCount;)u.decodeInto(f,0,Math.min(u.remainingPointCount,256));l=u.compressedByteOffset}else xp(c,a),l=du(c,a);if(!l||s+l>r.byteLength)throw new it("LASLoader: truncated LAZ chunk during table recovery");n.push({pointCount:o,byteLength:l}),s+=l,i+=o}if(s!==r.byteLength)throw new Error("LASLoader: unexpected bytes after recovered LAZ chunks");return n}function xp(r,t){if(r.byteLength<t.pointDataRecordLength+4)throw new it("LASLoader: truncated recovered layered LAZ chunk header");let n=new DataView(r.buffer,r.byteOffset,r.byteLength).getUint32(t.pointDataRecordLength,!0);if(n!==t.pointCount)throw new Error(`LASLoader: recovered layered LAZ chunk contains ${n} points; expected ${t.pointCount}`)}function Kb(r,t,e){if(r.byteLength<8)throw new it("LASLoader: incomplete LAZ chunk table");let n=new DataView(r.buffer,r.byteOffset,r.byteLength),s=n.getUint32(0,!0),i=n.getUint32(4,!0);if(s!==0)throw new Error(`LASLoader: unsupported LAZ chunk table version ${s}`);if(i===0){if(t.pointsCount!==0)throw new Error("LASLoader: missing LAZ chunk table");return[]}let o=Wd(r.subarray(8),{chunkCount:i,pointCount:t.pointsCount,chunkSize:e.chunkSize,variable:e.variableChunks}),a=0;for(let c of o){if(c.pointCount===0||c.byteLength===0)throw new Error("LASLoader: invalid empty LAZ chunk-table entry");a+=c.pointCount}if(a!==t.pointsCount)throw new Error(`LASLoader: LAZ chunk table contains ${a} points; expected ${t.pointsCount}`);return o}function Mu(r,t,e){return e&&e.rawBatchAllocations++,{rawBatch:new Uint8Array(r*t),batchPointCount:0,totalRead:0,rawBatchAllocations:1,stats:e}}function Du(r,t,e){let n=e.las?.fp64?Float64Array:Float32Array,s=new n(r*3),i=t1(e),o=t.hasColor&&i.color&&(e.las?.colorDepth===16||e.las?.colorDepth==="auto"),a=t.hasColor&&i.color&&!o?new Uint8Array(r*4):null,c=o?new Uint16Array(r*3):null,l=i.intensity?new Uint16Array(r):null,u=i.classification?new Uint8Array(r):null,f=i.synthetic?new Uint8Array(r):null,h=i.keyPoint?new Uint8Array(r):null,p=i.withheld?new Uint8Array(r):null,y=i.overlap?new Uint8Array(r):null,g=i.gpsTime&&mp(t.pointsFormatId)>=0?new Float64Array(r):null,x=i.nir&&(yp(t.pointsFormatId)>=0||e.las?.compatibilityMode!=="raw"&&t.metadata?.compatibility?.nirByteOffset!==void 0)?new Uint16Array(r):null,B=i.scanAngle?new Int16Array(r):null,q=i.userData?new Uint8Array(r):null,M=i.pointSourceId?new Uint16Array(r):null,b=i.returnNumber?new Uint8Array(r):null,C=i.numberOfReturns?new Uint8Array(r):null,_=i.scannerChannel?new Uint8Array(r):null,$=i.scanDirectionFlag?new Uint8Array(r):null,X=i.edgeOfFlightLine?new Uint8Array(r):null,ft=i.waveform&&pp(t.pointsFormatId)>=0?new Uint8Array(r*29):null,dt=Math.max(0,t.pointsStructSize-Pn(t.pointsFormatId)),Bt=i.extraBytes&&e.las?.extraBytes!=="typed"&&dt?new Uint8Array(r*dt):null,se=i.extraBytes&&e.las?.extraBytes==="typed"?Jb(r,t):null,rt=se?.length&&dt?new Uint8Array(r*dt):null,tt=i.classification||i.returnNumber||i.numberOfReturns||i.scanAngle||i.overlap||i.scannerChannel||i.nir,Ye=e.las?.compatibilityMode==="raw"||!tt?null:t.metadata?.compatibility||null,Ne=Ye&&!Bt&&!rt?new Uint8Array(r*dt):null;return{batchCapacity:r,positions:s,colors:a,rawColors:c,intensities:l,classifications:u,syntheticFlags:f,keyPointFlags:h,withheldFlags:p,overlapFlags:y,gpsTimes:g,nir:x,scanAngles:B,userData:q,pointSourceIds:M,returnNumbers:b,numberOfReturns:C,scannerChannels:_,scanDirectionFlags:$,edgeOfFlightLines:X,waveforms:ft,extraBytes:Bt,typedExtraBytes:se,typedExtraBytesSource:rt,compatibilityLayout:Ye,compatibilityExtraBytesSource:Ne,target:{positions:s,intensities:l,classifications:u,syntheticFlags:f,keyPointFlags:h,withheldFlags:p,overlapFlags:y,gpsTimes:g,nir:x,scanAngles:B,userData:q,pointSourceIds:M,returnNumbers:b,numberOfReturns:C,scannerChannels:_,scanDirectionFlags:$,edgeOfFlightLines:X,waveforms:ft,extraBytes:Bt||rt||Ne,colors:a,rawColors:c,pointOffset:0,scale:t.scale,offset:t.offset},batchPointCount:0,totalRead:0}}function Jb(r,t){let e=t.pointsStructSize-Pn(t.pointsFormatId);return Rb(r,t.metadata?.extraBytes||[],e)}function Qb(r){return r<=2?1:r<=4?2:r<=6||r===9?4:r===7||r===8||r===10?8:0}function _2(r,t,e,n,s){let i=t+Pn(e);for(let o of s){let a=n*o.size,c=i+o.byteOffset;for(let l=0;l<o.size;l++)fp(r,c+l*Qb(o.scalarDataType),o,a+l,l)}}function L2(r,t,e,n,s){let i=new DataView(r.buffer,r.byteOffset,r.byteLength);for(let o=0;o<n;o++){let a=e+o,c=a*t;for(let l of s){let u=a*l.size,f=Qb(l.scalarDataType);for(let h=0;h<l.size;h++)fp(i,c+l.byteOffset+h*f,l,u+h,h)}}}function vp(r,t,e){let n=r.extraBytes||r.typedExtraBytesSource||r.compatibilityExtraBytesSource;if(r.compatibilityLayout&&n&&e){let s=new DataView(n.buffer,n.byteOffset,n.byteLength),i=n.length/r.batchCapacity;for(let o=t;o<t+e;o++)lp(s,o*i,o,r.compatibilityLayout,r)}!r.typedExtraBytesSource||!r.typedExtraBytes?.length||e===0||L2(r.typedExtraBytesSource,r.typedExtraBytesSource.length/r.batchCapacity,t,e,r.typedExtraBytes)}function Cu(r){return r.las?.lazStreamingStats}function Ap(r,t,e){if(!e)return;let n=r.findBufferOffsets(t);n&&n.length>1&&(e.copiedBytes+=t,e.chunkConcatenations++)}function T2(r,t){t&&(t.copiedBytes+=r,t.decodedChunkAllocations++)}function*Sp(r,t,e,n){let s=e.pointsStructSize,i=Gr(r,t);for(;i.remainingPointCount>0;){let o=n.rawBatch.byteLength/s,a=o-n.batchPointCount,c=i.decodeInto(n.rawBatch,n.batchPointCount*s,a);if(n.batchPointCount+=c,n.batchPointCount===o){let l=Ji(e,n);l&&(yield l)}}}function*M2(r,t,e){let n=t.pointsStructSize,s=r.byteLength/n;for(let i=0;i<s;i++){let o=i*n,a=e.batchPointCount*n;if(e.rawBatch.set(r.subarray(o,o+n),a),e.batchPointCount++,e.batchPointCount===e.rawBatch.byteLength/n){let c=Ji(t,e);c&&(yield c)}}}function Ji(r,t){if(t.batchPointCount===0)return null;let e=t.batchPointCount*r.pointsStructSize,n=e===t.rawBatch.byteLength,s=n?t.rawBatch.buffer:t.rawBatch.buffer.slice(0,e);t.totalRead+=t.batchPointCount;let i={...r,pointsOffset:0,pointsCount:t.batchPointCount,totalRead:t.totalRead};return t.batchPointCount=0,n&&(t.rawBatch=new Uint8Array(t.rawBatch.byteLength),t.rawBatchAllocations++,t.stats&&t.stats.rawBatchAllocations++),{arrayBuffer:s,header:i}}function Lu(r,t,e){if(t.batchPointCount===0)return null;t.totalRead+=t.batchPointCount;let n={...r,pointsOffset:0,pointsCount:t.batchPointCount,totalRead:t.totalRead},s=t.batchPointCount,i=s===t.batchCapacity,o=i?t.positions:t.positions.subarray(0,s*3),a=t.intensities?i?t.intensities:t.intensities.subarray(0,s):null,c=t.classifications?i?t.classifications:t.classifications.subarray(0,s):null,l=t.syntheticFlags?i?t.syntheticFlags:t.syntheticFlags.subarray(0,s):null,u=t.keyPointFlags?i?t.keyPointFlags:t.keyPointFlags.subarray(0,s):null,f=t.withheldFlags?i?t.withheldFlags:t.withheldFlags.subarray(0,s):null,h=t.overlapFlags?i?t.overlapFlags:t.overlapFlags.subarray(0,s):null,p=t.colors?i?t.colors:t.colors.subarray(0,s*4):t.rawColors?e1(t.rawColors,s,e):null,y=t.gpsTimes?i?t.gpsTimes:t.gpsTimes.subarray(0,s):null,g=t.nir?i?t.nir:t.nir.subarray(0,s):null,x=t.scanAngles?i?t.scanAngles:t.scanAngles.subarray(0,s):null,B=t.userData?i?t.userData:t.userData.subarray(0,s):null,q=t.pointSourceIds?i?t.pointSourceIds:t.pointSourceIds.subarray(0,s):null,M=t.returnNumbers?i?t.returnNumbers:t.returnNumbers.subarray(0,s):null,b=t.numberOfReturns?i?t.numberOfReturns:t.numberOfReturns.subarray(0,s):null,C=t.scannerChannels?i?t.scannerChannels:t.scannerChannels.subarray(0,s):null,_=t.scanDirectionFlags?i?t.scanDirectionFlags:t.scanDirectionFlags.subarray(0,s):null,$=t.edgeOfFlightLines?i?t.edgeOfFlightLines:t.edgeOfFlightLines.subarray(0,s):null,X=t.waveforms?i?t.waveforms:t.waveforms.subarray(0,s*29):null,ft=t.extraBytes?t.extraBytes.length/t.batchCapacity:0,dt=t.extraBytes?i?t.extraBytes:t.extraBytes.subarray(0,s*ft):null,Bt=t.typedExtraBytes?t.typedExtraBytes.map(rt=>({...rt,value:i?rt.value:rt.value.subarray(0,s*rt.size)})):null,se=hp(n,o,p,a,c,l,u,f,h,y,g,x,B,q,M,b,C,_,$,X,dt,Bt);if(t.batchPointCount=0,i){let rt=e.las?.fp64?Float64Array:Float32Array;t.positions=new rt(t.positions.length),t.colors=t.colors?new Uint8Array(t.colors.length):null,t.rawColors=t.rawColors?new Uint16Array(t.rawColors.length):null,t.intensities=t.intensities?new Uint16Array(t.intensities.length):null,t.classifications=t.classifications?new Uint8Array(t.classifications.length):null,t.syntheticFlags=t.syntheticFlags?new Uint8Array(t.syntheticFlags.length):null,t.keyPointFlags=t.keyPointFlags?new Uint8Array(t.keyPointFlags.length):null,t.withheldFlags=t.withheldFlags?new Uint8Array(t.withheldFlags.length):null,t.overlapFlags=t.overlapFlags?new Uint8Array(t.overlapFlags.length):null,t.gpsTimes=t.gpsTimes?new Float64Array(t.gpsTimes.length):null,t.nir=t.nir?new Uint16Array(t.nir.length):null,t.scanAngles=t.scanAngles?new Int16Array(t.scanAngles.length):null,t.userData=t.userData?new Uint8Array(t.userData.length):null,t.pointSourceIds=t.pointSourceIds?new Uint16Array(t.pointSourceIds.length):null,t.returnNumbers=t.returnNumbers?new Uint8Array(t.returnNumbers.length):null,t.numberOfReturns=t.numberOfReturns?new Uint8Array(t.numberOfReturns.length):null,t.scannerChannels=t.scannerChannels?new Uint8Array(t.scannerChannels.length):null,t.scanDirectionFlags=t.scanDirectionFlags?new Uint8Array(t.scanDirectionFlags.length):null,t.edgeOfFlightLines=t.edgeOfFlightLines?new Uint8Array(t.edgeOfFlightLines.length):null,t.waveforms=t.waveforms?new Uint8Array(t.waveforms.length):null,t.extraBytes=t.extraBytes?new Uint8Array(t.extraBytes.length):null,t.typedExtraBytes=t.typedExtraBytes?t.typedExtraBytes.map(tt=>({...tt,value:up(tt.scalarDataType,tt.value.length,tt.outputFloat64)})):null,t.typedExtraBytesSource=t.typedExtraBytesSource?new Uint8Array(t.typedExtraBytesSource.length):null,t.target.positions=t.positions,t.target.colors=t.colors,t.target.rawColors=t.rawColors,t.target.intensities=t.intensities,t.target.classifications=t.classifications,t.target.syntheticFlags=t.syntheticFlags,t.target.keyPointFlags=t.keyPointFlags,t.target.withheldFlags=t.withheldFlags,t.target.overlapFlags=t.overlapFlags,t.target.gpsTimes=t.gpsTimes,t.target.nir=t.nir,t.target.scanAngles=t.scanAngles,t.target.userData=t.userData,t.target.pointSourceIds=t.pointSourceIds,t.target.returnNumbers=t.returnNumbers,t.target.numberOfReturns=t.numberOfReturns,t.target.scannerChannels=t.scannerChannels,t.target.scanDirectionFlags=t.scanDirectionFlags,t.target.edgeOfFlightLines=t.edgeOfFlightLines,t.target.waveforms=t.waveforms,t.compatibilityExtraBytesSource=t.compatibilityExtraBytesSource?new Uint8Array(t.compatibilityExtraBytesSource.length):null,t.target.extraBytes=t.extraBytes||t.typedExtraBytesSource||t.compatibilityExtraBytesSource}return se}function t1(r){let t=r.las?.columns;if(!t)return{intensity:!0,classification:!0,synthetic:!0,keyPoint:!0,withheld:!0,overlap:!0,color:!0,gpsTime:!0,nir:!0,scanAngle:!0,userData:!0,pointSourceId:!0,returnNumber:!0,numberOfReturns:!0,scannerChannel:!0,scanDirectionFlag:!0,edgeOfFlightLine:!0,waveform:!0,extraBytes:r.las?.extraBytes==="typed"};let e=!1,n=!1,s=!1,i=!1,o=!1,a=!1,c=!1,l=!1,u=!1,f=!1,h=!1,p=!1,y=!1,g=!1,x=!1,B=!1,q=!1,M=!1,b=!1;for(let C of t)switch(C){case"POSITION":break;case"intensity":e=!0;break;case"classification":n=!0;break;case"synthetic":s=!0;break;case"keyPoint":i=!0;break;case"withheld":o=!0;break;case"overlap":a=!0;break;case"COLOR_0":c=!0;break;case"GPS_TIME":l=!0;break;case"NIR":u=!0;break;case"scanAngle":f=!0;break;case"userData":h=!0;break;case"pointSourceId":p=!0;break;case"returnNumber":y=!0;break;case"numberOfReturns":g=!0;break;case"scannerChannel":x=!0;break;case"scanDirectionFlag":B=!0;break;case"edgeOfFlightLine":q=!0;break;case"WAVEFORM":M=!0;break;case"EXTRA_BYTES":b=!0;break;default:throw new Error(`LASLoader: unsupported column ${C}`)}return{intensity:e,classification:n,synthetic:s,keyPoint:i,withheld:o,overlap:a,color:c,gpsTime:l,nir:u,scanAngle:f,userData:h,pointSourceId:p,returnNumber:y,numberOfReturns:g,scannerChannel:x,scanDirectionFlag:B,edgeOfFlightLine:q,waveform:M,extraBytes:b}}function e1(r,t,e){let n=new Uint8Array(t*4),s=new Uint32Array(n.buffer);if(D2(r,t,e.las?.colorDepth))for(let o=0;o<t;o++){let a=o*3,c=r[a]>>8&255,l=r[a+1]>>8&255,u=r[a+2]>>8&255;s[o]=4278190080|u<<16|l<<8|c}else for(let o=0;o<t;o++){let a=o*3,c=r[a]&255,l=r[a+1]&255,u=r[a+2]&255;s[o]=4278190080|u<<16|l<<8|c}return n}function D2(r,t,e){if(e===8)return!1;if(e===16)return!0;if(e!=="auto")return!1;for(let n=0;n<t*3;n++)if(r[n]>255)return!0;return!1}function C2(r,t,e){let n=t,s=t+e;for(;n<s&&r[n]!==0;)n++;return String.fromCharCode(...r.subarray(t,n))}function F2(r){let t=r.mins||[0,0,0],e=r.maxs||[0,0,0];return[[t[0],t[1],t[2]],[e[0],e[1],e[2]]]}function*O2(r,t,e,n,s,i){for(;n<e.pointsCount&&s<e.totalToRead;){let o=E2(r,t,e,n,s,i);if(!o)return;r=o.pending,t=o.absoluteOffset,n=o.sourcePointIndex,s=o.totalRead,yield o}}function E2(r,t,e,n,s,i){let o=e.pointsStructSize,c=e.pointsOffset+n*o-t;if(c<0)throw new Error("LASLoader: invalid streaming point offset");if(c+o>r.byteLength)return null;let l=Math.floor((r.byteLength-c)/o),u=Math.min(i,l,e.pointsCount-n,e.totalToRead-s);if(u<=0)return null;n+=u,s+=u;let f={...e,pointsOffset:r.byteOffset+c,pointsCount:u,totalRead:s},h=e.pointsOffset+n*o,p=Math.max(0,Math.min(r.byteLength,h-t));return{arrayBuffer:r.buffer,header:f,pending:r.subarray(p),absoluteOffset:t+p,sourcePointIndex:n,totalRead:s}}function U2(r,t){if(t!==0||r.byteLength<227)return null;let e=new DataView(r.buffer,r.byteOffset,r.byteLength);if(e.getUint32(0,!0)!==Vb)throw new Error("LASLoader: invalid LAS header");let n=e.getUint32(96,!0);return r.byteLength<Math.max(n,255)?null:Hb(r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength))}function r1(r,t){if(r.byteLength===0)return t;let e=new Uint8Array(r.byteLength+t.byteLength);return e.set(r),e.set(t,r.byteLength),e}function Bp(r){let t=ArrayBuffer.isView(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r),e=new Uint8Array(t.byteLength);return e.set(t),e}function N2(r){if(Symbol.asyncIterator in r)return r[Symbol.asyncIterator]();let t=r[Symbol.iterator]();return{async next(){return t.next()}}}function R2(r,t){return n1(r,t)?r.byteLength<Wt?0:Ks(r,r.byteLength-Wt):Ks(r,t)}function Fu(r){return n1(r,0)?-1:Ks(r,0)}function n1(r,t){return r.byteLength>=t+8&&r.getUint32(t,!0)===4294967295&&r.getUint32(t+4,!0)===4294967295}function Ks(r,t){if(r.byteLength<t+8)return 0;let e=r.getUint32(t,!0);return r.getUint32(t+4,!0)*2**32+e}var zb,Vb,Gb,RS,PS,kS,zS,VS,Wt,GS,s1=m(()=>{"use strict";or();Zo();Fb();Eb();Pb();zb=1e3*100,Vb=1179861324,Gb=375,RS=128,PS=63,kS="laszip encoded",zS=22204,VS=4294967295,Wt=8,GS=64*1024});var a1={};Re(a1,{LASLoaderWithParser:()=>P2});function i1(r,t){let e=t?.las?._chunk;return e?qb(r,e.metadata,t||{}):jb(r,t)}function Ou(r,t){let e=t?.las?.colorFormat===void 0||t.las.colorFormat==="uint8norm"?r:{...Ee(Gg(ee(r),t.las.colorFormat),"arrow-table"),loader:r.loader,loaderData:r.loaderData,progress:r.progress};return zg(t)==="arrow-table"?e:{...ee(e),loader:e.loader,loaderData:e.loaderData,progress:e.progress}}async function*k2(r,t){for await(let e of r)yield Ou(e,t)}function o1(r,t){return Ou(Po(r),t)}var P2,c1=m(()=>{"use strict";or();jg();Gs();s1();P2={...Vg,worker:!0,workerInBatches:!0,serializeWorkerResult:re,serializeWorkerBatch:re,deserializeWorkerResult:o1,deserializeWorkerBatch:o1,parse:async(r,t)=>Ou(i1(r,t),t),parseSync:(r,t)=>Ou(i1(r,t),t),parseInBatches:async function*(r,t){yield*k2(Wb(r,t),t)}}});function x1(r,t){let e=r.length,n=new Uint8Array(t),s=0,i=0,o,a,c;do if(o=r[s++],o<32){if(o++,i+o>t)throw new Error("Output buffer is not large enough");if(s+o>e)throw new Error("Invalid compressed data");do n[i++]=r[s++];while(--o)}else{if(a=o>>5,c=i-((o&31)<<8)-1,s>=e)throw new Error("Invalid compressed data");if(a===7&&(a+=r[s++],s>=e))throw new Error("Invalid compressed data");if(c-=r[s++],i+a+2>t)throw new Error("Output buffer is not large enough");if(c<0)throw new Error("Invalid compressed data");if(c>=i)throw new Error("Invalid compressed data");do n[i++]=n[c++];while(--a+2)}while(s<e);return n}var v1=m(()=>{"use strict"});function A1(r,t,e="uint8norm"){let n=[];for(let s of Object.keys(r.offset))switch(s){case"x":n.push({name:"POSITION",type:{type:"fixed-size-list",listSize:3,children:[{name:"xyz",type:"float32"}]},metadata:{attribute:"POSITION"}});break;case"y":case"z":break;case"normal_x":n.push({name:"NORMAL",type:{type:"fixed-size-list",listSize:3,children:[{name:"xyz",type:"float32"}]},metadata:{attribute:"NORMAL"}});break;case"normal_y":case"normal_z":break;case"rgb":let i=e==="float16"?"float16":e==="float32"?"float32":"uint8";n.push({name:"COLOR_0",type:{type:"fixed-size-list",listSize:3,children:[{name:"rgb",type:i}]},metadata:{attribute:"COLOR",...e==="float16"?{componentType:"float16"}:{}}});break;default:}return{fields:n,metadata:t}}var S1=m(()=>{"use strict"});function ta(r,t){let e=new TextDecoder().decode(r),n=ac(e),s={};switch(n.data){case"ascii":s=TB(n,e);break;case"binary":s=MB(n,r);break;case"binary_compressed":s=DB(n,r);break;default:throw new Error(`PCD: ${n.data} files are not supported`)}s=LB(s,t?.pcd?.colorFormat);let i=_B(n,s),o=Object.fromEntries([["topology","point-list"],["mode","0"],["boundingBox",JSON.stringify(i.boundingBox)]]),a=A1(n,o,t?.pcd?.colorFormat);return{loader:"pcd",loaderData:n,header:i,schema:a,topology:"point-list",mode:0,attributes:s}}function _B(r,t){if(typeof r.width=="number"&&typeof r.height=="number"){let e=r.width*r.height,n=on(t);if(!n)throw new Error("PCD point cloud is missing positions");return{vertexCount:e,boundingBox:n}}return{vertexCount:r.vertexCount,boundingBox:r.boundingBox}}function LB(r,t="uint8norm"){let e={POSITION:{value:new Float32Array(r.position),size:3}};return r.normal&&r.normal.length>0&&(e.NORMAL={value:new Float32Array(r.normal),size:3}),r.color&&r.color.length>0&&(e.COLOR_0=Fp(r.color,t)),r.intensity&&r.intensity.length>0&&(e.COLOR_0=Fp(r.color,t)),!e.COLOR_0&&r.label&&r.label.length>0&&(e.COLOR_0=Fp(r.label,t)),e}function Fp(r,t){return t==="float16"?{value:ti(r,255),size:3,componentType:"float16"}:t==="float32"?{value:Float32Array.from(r,e=>e/255),size:3}:{value:new Uint8Array(r),size:3}}function ac(r){let t=r.search(/[\r\n]DATA\s(\S*)\s/i),e=/[\r\n]DATA\s(\S*)\s/i.exec(r.substr(t-1)),n={};if(n.data=e&&e[1],e!==null&&(n.headerLen=(e&&e[0].length)+t),n.str=r.substr(0,n.headerLen),n.str=n.str.replace(/\#.*/gi,""),n.version=/VERSION (.*)/i.exec(n.str),n.fields=/FIELDS (.*)/i.exec(n.str),n.size=/SIZE (.*)/i.exec(n.str),n.type=/TYPE (.*)/i.exec(n.str),n.count=/COUNT (.*)/i.exec(n.str),n.width=/WIDTH (.*)/i.exec(n.str),n.height=/HEIGHT (.*)/i.exec(n.str),n.viewpoint=/VIEWPOINT (.*)/i.exec(n.str),n.points=/POINTS (.*)/i.exec(n.str),n.version!==null&&(n.version=parseFloat(n.version[1])),n.fields!==null&&(n.fields=n.fields[1].split(" ")),n.type!==null&&(n.type=n.type[1].split(" ")),n.width!==null&&(n.width=parseInt(n.width[1],10)),n.height!==null&&(n.height=parseInt(n.height[1],10)),n.viewpoint!==null&&(n.viewpoint=n.viewpoint[1]),n.points!==null&&(n.points=parseInt(n.points[1],10)),n.points===null&&typeof n.width=="number"&&typeof n.height=="number"&&(n.points=n.width*n.height),n.size!==null&&(n.size=n.size[1].split(" ").map(i=>parseInt(i,10))),n.count!==null)n.count=n.count[1].split(" ").map(i=>parseInt(i,10));else if(n.count=[],n.fields!==null)for(let i=0;i<n.fields.length;i++)n.count.push(1);n.offset={};let s=0;for(let i=0,o=n.fields.length;i<o;i++)n.data==="ascii"?n.offset[n.fields[i]]=i:(n.offset[n.fields[i]]=s,s+=n.size[i]*n.count[i]);return n.rowSize=s,n}function TB(r,t){let e=[],n=[],s=[],i=[],o=[],a=r.offset,l=t.substr(r.headerLen).split(`
|
|
29
|
+
`);for(let u=0;u<l.length;u++)if(l[u]!==""){let f=l[u].split(" ");if(a.x!==void 0&&(e.push(parseFloat(f[a.x])),e.push(parseFloat(f[a.y])),e.push(parseFloat(f[a.z]))),a.rgb!==void 0){let h=parseFloat(f[a.rgb]),p=new Float32Array([h]),y=new DataView(p.buffer,0);s.push(y.getUint8(0)),s.push(y.getUint8(1)),s.push(y.getUint8(2))}a.normal_x!==void 0&&(n.push(parseFloat(f[a.normal_x])),n.push(parseFloat(f[a.normal_y])),n.push(parseFloat(f[a.normal_z]))),a.intensity!==void 0&&i.push(parseFloat(f[a.intensity])),a.label!==void 0&&o.push(parseInt(f[a.label]))}return{position:e,normal:n,color:s}}function MB(r,t){let e=[],n=[],s=[],i=[],o=[],a=new DataView(t,r.headerLen),c=r.offset;for(let l=0,u=0;l<r.points;l++,u+=r.rowSize)c.x!==void 0&&(e.push(a.getFloat32(u+c.x,we)),e.push(a.getFloat32(u+c.y,we)),e.push(a.getFloat32(u+c.z,we))),c.rgb!==void 0&&(s.push(a.getUint8(u+c.rgb+0)),s.push(a.getUint8(u+c.rgb+1)),s.push(a.getUint8(u+c.rgb+2))),c.normal_x!==void 0&&(n.push(a.getFloat32(u+c.normal_x,we)),n.push(a.getFloat32(u+c.normal_y,we)),n.push(a.getFloat32(u+c.normal_z,we))),c.intensity!==void 0&&i.push(a.getFloat32(u+c.intensity,we)),c.label!==void 0&&o.push(a.getInt32(u+c.label,we));return{position:e,normal:n,color:s,intensity:i,label:o}}function DB(r,t){let e=[],n=[],s=[],i=[],o=[],a=new Uint32Array(t.slice(r.headerLen,r.headerLen+8)),c=a[0],l=a[1],u=x1(new Uint8Array(t,r.headerLen+8,c),l),f=new DataView(u.buffer),h=r.offset;for(let p=0;p<r.points;p++){if(h.x!==void 0&&(e.push(f.getFloat32(r.points*h.x+r.size[0]*p,we)),e.push(f.getFloat32(r.points*h.y+r.size[1]*p,we)),e.push(f.getFloat32(r.points*h.z+r.size[2]*p,we))),h.rgb!==void 0&&(s.push(f.getUint8(r.points*h.rgb+r.size[3]*p+0)),s.push(f.getUint8(r.points*h.rgb+r.size[3]*p+1)),s.push(f.getUint8(r.points*h.rgb+r.size[3]*p+2))),h.normal_x!==void 0&&(n.push(f.getFloat32(r.points*h.normal_x+r.size[4]*p,we)),n.push(f.getFloat32(r.points*h.normal_y+r.size[5]*p,we)),n.push(f.getFloat32(r.points*h.normal_z+r.size[6]*p,we))),h.intensity!==void 0){let y=r.fields.indexOf("intensity");i.push(f.getFloat32(r.points*h.intensity+r.size[y]*p,we))}if(h.label!==void 0){let y=r.fields.indexOf("label");o.push(f.getInt32(r.points*h.label+r.size[y]*p,we))}}return{position:e,normal:n,color:s,intensity:i,label:o}}var we,B1=m(()=>{"use strict";Vs();or();v1();S1();we=!0;});var I1,_1=m(()=>{"use strict";I1={name:"PCD (Point Cloud Data)",id:"pcd",module:"pointclouds",encoding:"text",format:"pcd",extensions:["pcd"],mimeTypes:["text/plain"],category:"pointcloud",text:!0,binary:!0}});async function FB(){let{PCDLoaderWithParser:r}=await Promise.resolve().then(()=>(Ep(),Op));return r}var CB,L1,T1=m(()=>{"use strict";_1();Gs();CB="5.0.0-beta.1";L1={...I1,dataType:null,batchType:null,version:CB,worker:!0,workerInBatches:!0,serializeWorkerResult:re,options:{pcd:{shape:"arrow-table",colorFormat:"uint8norm"}},preload:FB}});var Op={};Re(Op,{PCDLoaderWithParser:()=>EB});function M1(r,t){let e=Ee(r,"arrow-table");return t?.pcd?.shape==="mesh"?Np(e,r):{...e,loader:r.loader,loaderData:r.loaderData}}function UB(r){let t=r?.batchSize??r?.core?.batchSize;return typeof t=="number"?t:void 0}function*NB(r,t,e){let n=new TextDecoder().decode(r),s=ac(n),i=n.slice(s.headerLen).split(/\r?\n/).filter(a=>a.trim().length>0),o=e||i.length||1;for(let a=0;a<i.length;a+=o){let c=i.slice(a,a+o),l=`${D1(s,c.length)}${c.join(`
|
|
30
|
+
`)}
|
|
31
|
+
`;yield Up(ta(new TextEncoder().encode(l).buffer,t),t)}}function*RB(r,t,e){let n=new TextDecoder().decode(r),s=ac(n),i=e||s.points||1,o=new Uint8Array(r);for(let a=0;a<s.points;a+=i){let c=Math.min(i,s.points-a),l=new TextEncoder().encode(D1(s,c)),u=s.headerLen+a*s.rowSize,f=c*s.rowSize,h=new Uint8Array(l.length+f);h.set(l,0),h.set(o.subarray(u,u+f),l.length),yield Up(ta(h.buffer,t),t)}}function Up(r,t){let e=Ee(r,"arrow-table");return t?.pcd?.shape==="mesh"?Np(e,r):ic({...e,loader:r.loader,loaderData:r.loaderData})}function Np(r,t){return{...ee(r),loader:t.loader,loaderData:t.loaderData}}function D1(r,t){let e=r.str.split(/\r?\n/).filter(n=>n.trim().length>0).map(n=>/^WIDTH\s+/i.test(n)?`WIDTH ${t}`:/^HEIGHT\s+/i.test(n)?"HEIGHT 1":/^POINTS\s+/i.test(n)?`POINTS ${t}`:n);if(!e.some(n=>/^POINTS\s+/i.test(n))){let n=e.findIndex(s=>/^DATA\s+/i.test(s));e.splice(n>=0?n:e.length,0,`POINTS ${t}`)}return`${e.join(`
|
|
32
|
+
`)}
|
|
33
|
+
`}function C1(r,t){let e=Po(r);return t?.pcd?.shape==="mesh"?Np(e,e):e}function PB(r,t){return C1(r,t)}var t8,OB,EB,Ep=m(()=>{"use strict";Zo();Gs();or();B1();T1();({preload:t8,...OB}=L1);EB={...OB,parse:async(r,t)=>M1(ta(r,t),t),parseSync:(r,t)=>M1(ta(r,t),t),parseInBatches:async function*(r,t){let e=UB(t),n=await xd(r),s=new TextDecoder().decode(n),i=ac(s);if(i.data==="ascii"){yield*NB(n,t,e);return}if(i.data==="binary"){yield*RB(n,t,e);return}yield Up(ta(n,t),t)},serializeWorkerResult:re,deserializeWorkerResult:C1,serializeWorkerBatch:re,deserializeWorkerBatch:PB}});function ra(r,t){let e=$B(r),n=Gi(t,e);return WB(n,r),n}function $B(r){let t={};return t.ply_comments=JSON.stringify(r.comments),t.ply_elements=JSON.stringify(r.elements),r.format!==void 0&&(t.ply_format=r.format),r.version!==void 0&&(t.ply_version=r.version),r.headerLength!==void 0&&(t.ply_headerLength=r.headerLength.toString(10)),t}function WB(r,t){let e=YB(t);if(ZB(e)){r.metadata["loaders_gl.semantic_type"]="gaussian-splats",r.metadata["loaders_gl.gaussian_splats.version"]="1";for(let n of r.fields)HB(n)}}function YB(r){let t=r.elements.find(e=>e.name==="vertex");return new Set(t?.properties.map(e=>e.name)||[])}function ZB(r){return["x","y","z","f_dc_0","f_dc_1","f_dc_2","opacity","scale_0","scale_1","scale_2","rot_0","rot_1","rot_2","rot_3"].every(e=>r.has(e))}function HB(r){r.metadata||={};let t=r.metadata;if(r.name==="opacity"){t["loaders_gl.gaussian_splats.semantic"]="opacity",t["loaders_gl.gaussian_splats.encoding"]="logit";return}let e=Ru(r.name,"scale");if(e!==void 0){t["loaders_gl.gaussian_splats.semantic"]="scale",t["loaders_gl.gaussian_splats.component"]=e,t["loaders_gl.gaussian_splats.encoding"]="log";return}let n=Ru(r.name,"rot");if(n!==void 0){t["loaders_gl.gaussian_splats.semantic"]="rotation",t["loaders_gl.gaussian_splats.component"]=n,t["loaders_gl.gaussian_splats.encoding"]="quaternion";return}let s=Ru(r.name,"f_dc");if(s!==void 0){t["loaders_gl.gaussian_splats.semantic"]="spherical_harmonic_dc",t["loaders_gl.gaussian_splats.component"]=s,t["loaders_gl.gaussian_splats.encoding"]="coefficient";return}let i=Ru(r.name,"f_rest");i!==void 0&&(t["loaders_gl.gaussian_splats.semantic"]="spherical_harmonic_rest",t["loaders_gl.gaussian_splats.component"]=i,t["loaders_gl.gaussian_splats.encoding"]="coefficient")}function Ru(r,t){return r.match(new RegExp(`^${t}_(\\d+)$`))?.[1]}var Pu=m(()=>{"use strict";or()});function cc(r,t,e){let n=XB(t),s=on(n),i=t.indices.length||t.vertices.length/3,o=t.indices&&t.indices.length>0,a=o?4:0,c=o?"triangle-list":"point-list",l=ra(r,n),u={loader:"ply",loaderData:r,header:{vertexCount:i,boundingBox:s??void 0},schema:l,attributes:n,indices:{value:new Uint32Array(0),size:0},mode:a,topology:c};return t.indices.length>0&&(u.indices={value:new Uint32Array(t.indices),size:1}),u}function XB(r){let t={};for(let e of Object.keys(r))switch(e){case"vertices":r.vertices.length>0&&(t.POSITION={value:ku(r.vertices),size:3});break;case"normals":r.normals.length>0&&(t.NORMAL={value:ku(r.normals),size:3});break;case"uvs":r.uvs.length>0&&(t.TEXCOORD_0={value:ku(r.uvs),size:2});break;case"colors":r.colors.length>0&&(t.COLOR_0={value:KB(r.colors),size:3,normalized:!0});break;case"indices":break;default:r[e].length>0&&(t[e]={value:ku(r[e]),size:1});break}return t}function ku(r){return r instanceof Float32Array?r:new Float32Array(r)}function KB(r){return r instanceof Uint8Array?r:new Uint8Array(r)}var kp=m(()=>{"use strict";or();Pu()});function k1(r,t={}){let e,n;return r instanceof ArrayBuffer?(e=zn(r,t),n=e.format==="ascii"?R1(new TextDecoder().decode(r),e):cI(r,e,t)):(e=zn(r,t),n=R1(r,e)),cc(e,n)}function z1(r,t={}){if(!(r instanceof ArrayBuffer))return null;let e=zn(r,t);if(e.format==="ascii")return null;let n=$1(r,e,t);return n?q1(e,n):null}function V1(r,t,e={},n){let s=W1(r,t,e,n);return s?q1(t,s):null}function zn(r,t){let{headerText:e,headerLength:n}=r instanceof ArrayBuffer?JB(r):QB(r),s=e.indexOf("ply"),i=e.lastIndexOf("end_header"),o=i+10;if(s>=0&&i>=s+3&&o<e.length&&/\s/.test(e[o])){let a=e.slice(s+3,i).split(`
|
|
34
|
+
`);return N1(a,n||o+1-s,t)}return N1([],n,t)}function JB(r){let t=new Uint8Array(r),e=tI(t);return{headerText:new TextDecoder().decode(t.subarray(0,e)),headerLength:e}}function QB(r){let t=r.indexOf(Gp);if(t===-1)return{headerText:"",headerLength:0};let e=t+Gp.length;return r[e]==="\r"&&r[e+1]===`
|
|
35
|
+
`?e+=2:e<r.length&&/\s/.test(r[e])&&(e+=1),{headerText:r.slice(0,e),headerLength:e}}function tI(r){let t=new TextEncoder().encode(Gp),e=r.length-t.length;for(let n=0;n<=e;n++){let s=!0;for(let i=0;i<t.length;i++)if(r[n+i]!==t[i]){s=!1;break}if(s){let i=n+t.length;return r[i]===13&&r[i+1]===10?i+=2:i<r.length&&eI(r[i])&&(i+=1),i}}return r.length}function eI(r){return r===10||r===13||r===9||r===32}function N1(r,t,e){let n={comments:[],elements:[],headerLength:t},s,i,o=null;for(let a=0;a<r.length;a++){let c=r[a];if(c=c.trim(),c!=="")switch(i=c.split(/\s+/),s=i.shift(),c=i.join(" "),s){case"format":n.format=i[0],n.version=i[1];break;case"comment":n.comments.push(c);break;case"element":o&&n.elements.push(o),o={name:i[0],count:parseInt(i[1],10),properties:[]};break;case"property":if(o){let l=rI(i);e?.propertyNameMapping&&l.name in e?.propertyNameMapping&&(l.name=e?.propertyNameMapping[l.name]),o.properties.push(l)}break;default:}}return o&&n.elements.push(o),n}function G1(r){let t={indices:[],vertices:[],normals:[],uvs:[],colors:[]};for(let e of r.elements)if(e.name==="vertex")for(let n of e.properties)switch(n.name){case"x":case"y":case"z":case"nx":case"ny":case"nz":case"s":case"t":case"red":case"green":case"blue":break;default:t[n.name]=[];break}return t}function rI(r){let t=r[0];return t==="list"?{type:t,name:r[3],countType:r[1],itemType:r[2]}:{type:t,name:r[1]}}function zp(r,t){switch(t){case"char":case"uchar":case"short":case"ushort":case"int":case"uint":case"int8":case"uint8":case"int16":case"uint16":case"int32":case"uint32":return parseInt(r,10);case"float":case"double":case"float32":case"float64":return parseFloat(r);default:throw new Error(t)}}function nI(r,t){let e=t.split(/\s+/),n={};for(let s=0;s<r.length;s++)if(r[s].type==="list"){let i=[],o=zp(e.shift(),r[s].countType);for(let a=0;a<o;a++)i.push(zp(e.shift(),r[s].itemType));n[r[s].name]=i}else n[r[s].name]=zp(e.shift(),r[s].type);return n}function R1(r,t){let e=G1(t),n=/end_header\s([\s\S]*)$/,s="",i=n.exec(r);i!==null&&(s=i[1]);let o=s.split(`
|
|
36
|
+
`),a=0,c=0;for(let l=0;l<o.length;l++){let u=o[l];if(u=u.trim(),u!==""){c>=t.elements[a].count&&(a++,c=0);let f=nI(t.elements[a].properties,u);j1(e,t.elements[a].name,f),c++}}return e}function j1(r,t,e={}){if(t==="vertex")for(let n of Object.keys(e))switch(n){case"x":r.vertices.push(e.x,e.y,e.z);break;case"y":case"z":break;case"nx":"nx"in e&&"ny"in e&&"nz"in e&&r.normals.push(e.nx,e.ny,e.nz);break;case"ny":case"nz":break;case"s":"s"in e&&"t"in e&&r.uvs.push(e.s,e.t);break;case"t":break;case"red":"red"in e&&"green"in e&&"blue"in e&&r.colors.push(e.red,e.green,e.blue);break;case"green":case"blue":break;default:r[n].push(e[n])}else if(t==="face"){let n=e.vertex_indices||e.vertex_index;n.length===3?r.indices.push(n[0],n[1],n[2]):n.length===4&&(r.indices.push(n[0],n[1],n[3]),r.indices.push(n[1],n[2],n[3]))}}function Vp(r,t,e,n){switch(e){case"int8":case"char":return[r.getInt8(t),1];case"uint8":case"uchar":return[r.getUint8(t),1];case"int16":case"short":return[r.getInt16(t,n),2];case"uint16":case"ushort":return[r.getUint16(t,n),2];case"int32":case"int":return[r.getInt32(t,n),4];case"uint32":case"uint":return[r.getUint32(t,n),4];case"float32":case"float":return[r.getFloat32(t,n),4];case"float64":case"double":return[r.getFloat64(t,n),8];default:throw new Error(e)}}function sI(r,t,e,n){let s={},i,o=0;for(let a=0;a<e.length;a++)if(e[a].type==="list"){let c=[];i=Vp(r,t+o,e[a].countType,n);let l=i[0];o+=i[1];for(let u=0;u<l;u++)i=Vp(r,t+o,e[a].itemType,n),c.push(i[0]),o+=i[1];s[e[a].name]=c}else i=Vp(r,t+o,e[a].type,n),s[e[a].name]=i[0],o+=i[1];return[s,o]}function q1(r,t){let e=iI(t),n=ra(r,e);n.metadata.topology="point-list",n.metadata.mode="0";let s={},i=[];for(let a of n.fields){let c=e[a.name];if(!c)continue;let l=oI(c);s[a.name]=l,i.push(new S(a.name,l.type,!1,P1(a.metadata)))}let o=new j(i,P1(n.metadata));return{shape:"arrow-table",schema:n,data:new st(o,s),topology:"point-list"}}function iI(r){let t={};for(let e of Object.keys(r))switch(e){case"vertices":r.vertices.length>0&&(t.POSITION={value:zu(r.vertices),size:3});break;case"normals":r.normals.length>0&&(t.NORMAL={value:zu(r.normals),size:3});break;case"uvs":r.uvs.length>0&&(t.TEXCOORD_0={value:zu(r.uvs),size:2});break;case"colors":r.colors.length>0&&(t.COLOR_0={value:aI(r.colors),size:3,normalized:!0});break;case"indices":break;default:r[e].length>0&&(t[e]={value:zu(r[e]),size:1});break}return t}function oI(r){let{value:t,size:e}=r;if(e===1)return te(t);let s=te(t).data[0],i=new gt(e,new S("value",s.type,!1)),o=new T(i,0,t.length/e,0,{},[s]);return new A([o])}function P1(r){return new Map(Object.entries(r||{}))}function zu(r){return r instanceof Float32Array?r:new Float32Array(r)}function aI(r){return r instanceof Uint8Array?r:new Uint8Array(r)}function cI(r,t,e){let n=$1(r,t,e);if(n)return n;let s=G1(t),i=t.format==="binary_little_endian",o=new DataView(r,t.headerLength),a,c=0;for(let l=0;l<t.elements.length;l++){let u=t.elements[l].count;for(let f=0;f<u;f++){a=sI(o,c,t.elements[l].properties,i),c+=a[1];let h=a[0];j1(s,t.elements[l].name,h)}}return s}function $1(r,t,e){let n=new Uint8Array(r,t.headerLength||0);return W1(n,t,e)}function W1(r,t,e,n){let s=t.elements[0];if(!n&&(e?._useLegacyBinaryPointCloudParser||!e?.pointCloud&&t.elements.length!==1||s?.name!=="vertex"||s.properties.some(l=>l.type==="list")))return null;let i=n||jp(t,e);if(!i||!s)return null;let o=lI(s),a=new DataView(r.buffer,r.byteOffset,r.byteLength),c=0;for(let l=0;l<s.count;l++){for(let u of i.properties){let f=u.read(a,c+u.offset,i.littleEndian);fI(o,u.name,f,l)}c+=i.vertexStride}return o}function jp(r,t){let e=r.elements[0];if(t?._useLegacyBinaryPointCloudParser||!t?.pointCloud&&r.elements.length!==1||e?.name!=="vertex"||e.properties.some(s=>s.type==="list"))return null;let n=hI(e);return{properties:n,vertexStride:dI(n),littleEndian:r.format==="binary_little_endian"}}function lI(r){let t={indices:[],vertices:[],normals:[],uvs:[],colors:[]},e=new Set(r.properties.map(s=>s.name)),n=r.count;e.has("x")&&e.has("y")&&e.has("z")&&(t.vertices=new Float32Array(n*3)),e.has("nx")&&e.has("ny")&&e.has("nz")&&(t.normals=new Float32Array(n*3)),e.has("s")&&e.has("t")&&(t.uvs=new Float32Array(n*2)),e.has("red")&&e.has("green")&&e.has("blue")&&(t.colors=new Uint8Array(n*3));for(let s of r.properties)uI(s.name)||(t[s.name]=new Float32Array(n));return t}function uI(r){switch(r){case"x":case"y":case"z":case"nx":case"ny":case"nz":case"s":case"t":case"red":case"green":case"blue":return!0;default:return!1}}function fI(r,t,e,n){switch(t){case"x":r.vertices[n*3]=e;break;case"y":r.vertices[n*3+1]=e;break;case"z":r.vertices[n*3+2]=e;break;case"nx":r.normals[n*3]=e;break;case"ny":r.normals[n*3+1]=e;break;case"nz":r.normals[n*3+2]=e;break;case"s":r.uvs[n*2]=e;break;case"t":r.uvs[n*2+1]=e;break;case"red":r.colors[n*3]=e;break;case"green":r.colors[n*3+1]=e;break;case"blue":r.colors[n*3+2]=e;break;default:r[t][n]=e}}function hI(r){let t=[],e=0;for(let n of r.properties)t.push({name:n.name,offset:e,read:mI(n.type),size:pI(n.type)}),e+=t[t.length-1].size;return t}function dI(r){if(r.length===0)return 0;let t=r[r.length-1];return t.offset+t.size}function pI(r){switch(r){case"int8":case"uint8":case"char":case"uchar":return 1;case"int16":case"uint16":case"short":case"ushort":return 2;case"int32":case"uint32":case"int":case"uint":case"float32":case"float":return 4;case"float64":case"double":return 8;default:throw new Error(r)}}function mI(r){switch(r){case"int8":case"char":return yI;case"uint8":case"uchar":return gI;case"int16":case"short":return bI;case"uint16":case"ushort":return wI;case"int32":case"int":return xI;case"uint32":case"uint":return vI;case"float32":case"float":return AI;case"float64":case"double":return SI;default:throw new Error(r)}}function yI(r,t){return r.getInt8(t)}function gI(r,t){return r.getUint8(t)}function bI(r,t,e){return r.getInt16(t,e)}function wI(r,t,e){return r.getUint16(t,e)}function xI(r,t,e){return r.getInt32(t,e)}function vI(r,t,e){return r.getUint32(t,e)}function AI(r,t,e){return r.getFloat32(t,e)}function SI(r,t,e){return r.getFloat64(t,e)}var Gp,Vu=m(()=>{"use strict";nn();kp();Pu();Gp="end_header"});function lc(r,t={}){let e=zn(r,t),n=t.pointCloud?TI(e):e;if(e.format==="ascii"){let s=r instanceof ArrayBuffer?new TextDecoder().decode(r):r;return _I(s,n)}if(!(r instanceof ArrayBuffer))throw new Error("Binary PLY parsing requires an ArrayBuffer.");return LI(r,n)}function uc(r){let t=II(r);return EI(t)}function II(r){let t=FI(r),e=OI(r),n=on(t),s=t.POSITION?.value.length?t.POSITION.value.length/3:0,i=!!e?.value.length,o=i?4:0,a=i?"triangle-list":"point-list",c=ra(r.header,t);return{loader:"ply",loaderData:r.header,header:{vertexCount:s,boundingBox:n??void 0},schema:c,attributes:t,indices:e||{value:new Uint32Array(0),size:0},mode:o,topology:a}}function _I(r,t){let e=Y1(t),s=zI(r).split(`
|
|
37
|
+
`),i=0,o=0;for(let a of s){let c=a.trim();if(c!==""){for(;i<t.elements.length&&o>=t.elements[i].count;)i++,o=0;if(i>=t.elements.length)break;MI(e[i],c),o++}}return{header:t,elements:e.map(Z1)}}function LI(r,t){let e=Y1(t),n=new DataView(r,t.headerLength||0),s=t.format!=="binary_big_endian",i=0;for(let o=0;o<t.elements.length;o++){let a=t.elements[o];for(let c=0;c<a.count;c++)i+=DI(e[o],n,i,s)}return{header:t,elements:e.map(Z1)}}function TI(r){let t=r.elements[0];if(t?.name!=="vertex")throw new Error("PLY pointCloud parsing requires a leading vertex element");return{...r,elements:[t]}}function Y1(r){return r.elements.map(t=>({element:t,properties:t.properties.map(e=>({property:e,values:[],offsets:e.type==="list"?[0]:void 0}))}))}function MI(r,t){let e=t.split(/\s+/),n=0;for(let s of r.properties){let i=s.property;if(i.type==="list"){let o=qp(e[n++],i.countType);for(let a=0;a<o;a++)s.values.push(qp(e[n++],i.itemType));s.offsets.push(s.values.length)}else s.values.push(qp(e[n++],i.type))}}function DI(r,t,e,n){let s=0;for(let i of r.properties){let o=i.property;if(o.type==="list"){let[a,c]=$p(t,e+s,o.countType,n);s+=c;for(let l=0;l<a;l++){let[u,f]=$p(t,e+s,o.itemType,n);i.values.push(u),s+=f}i.offsets.push(i.values.length)}else{let[a,c]=$p(t,e+s,o.type,n);i.values.push(a),s+=c}}return s}function Z1(r){let t=[],e={};for(let n of r.properties){let s=CI(n);e[n.property.name]=s,t.push(new S(n.property.name,s.type,!1))}return{element:r.element,table:new st(new j(t),e)}}function CI(r){let t=r.property;return t.type==="list"?VI(t.itemType,r.values,Int32Array.from(r.offsets||[0])):te(X1(r.values,t.type))}function FI(r){let t=H1(r,"vertex"),e={};if(!t)return e;let n=Gu(t.table,["x","y","z"],"float");n&&(e.POSITION=n);let s=Gu(t.table,["nx","ny","nz"],"float");s&&(e.NORMAL=s);let i=Gu(t.table,["s","t"],"float");i&&(e.TEXCOORD_0=i);let o=Gu(t.table,["red","green","blue"],"uchar");o&&(e.COLOR_0={...o,normalized:!0});let a=new Set(["x","y","z","nx","ny","nz","s","t","red","green","blue"]);for(let c of t.element.properties){if(c.type==="list"||a.has(c.name))continue;let l=t.table.getChild(c.name);l&&(e[c.name]={value:kI(l),size:1})}return e}function OI(r){let t=H1(r,"face"),e=t?.table.getChild("vertex_indices")||t?.table.getChild("vertex_index");if(!e)return;let n=[];for(let s=0;s<e.length;s++){let i=e.get(s);i&&(i.length===3?n.push(Vn(i,0),Vn(i,1),Vn(i,2)):i.length===4&&(n.push(Vn(i,0),Vn(i,1),Vn(i,3)),n.push(Vn(i,1),Vn(i,2),Vn(i,3))))}return n.length>0?{value:new Uint32Array(n),size:1}:void 0}function Vn(r,t){return"get"in r&&typeof r.get=="function"?Number(r.get(t)):Number(r[t])}function EI(r){let t=[],e={},n=PI(r.attributes);for(let o of n){let a=r.attributes[o],c=UI(a);if(e[o]=c,t.push(NI(r,o,c)),o==="POSITION"&&r.indices?.value.length){let l=RI(r.indices.value,c.length);e.indices=l,t.push(new S("indices",l.type,!0))}}let s=K1({...r.schema.metadata,topology:r.topology,mode:String(r.mode),boundingBox:r.header?.boundingBox?JSON.stringify(r.header.boundingBox):void 0}),i=new j(t,s);return{shape:"arrow-table",schema:r.schema,data:new st(i,e),topology:r.topology,indices:r.indices?.value.length?r.indices:void 0}}function UI(r){let{value:t,size:e}=r;if(e===1)return te(t);let s=te(t).data[0],i=new gt(e,new S("value",s.type,!1)),o=new T(i,0,t.length/e,0,{},[s]);return new A([o])}function NI(r,t,e){let n=r.schema.fields.find(s=>s.name===t);return new S(t,e.type,!1,K1(n?.metadata))}function RI(r,t){let e=r instanceof Uint32Array?r:Uint32Array.from(r),n=new Int32Array(t+1);t>0&&n.fill(e.length,1);let s=new Uint8Array(Math.ceil(t/8));t>0&&(s[0]=1);let i=new Ct(new S("item",new qt,!1)),o=new T(i.children[0].type,0,e.length,0,{[Z.DATA]:e}),a=new T(i,0,t,Math.max(0,t-1),{[Z.OFFSET]:n,[Z.VALIDITY]:s},[o]);return new A([a])}function Gu(r,t,e){let n=t.map(o=>r.getChild(o));if(n.some(o=>!o))return null;let s=r.numRows,i=e==="uchar"?new Uint8Array(s*t.length):new Float32Array(s*t.length);for(let o=0;o<s;o++)for(let a=0;a<n.length;a++)i[o*n.length+a]=Number(n[a].get(o)??0);return{value:i,size:t.length}}function H1(r,t){return r.elements.find(e=>e.element.name===t)}function PI(r){let t=["POSITION","indices"];return[...t.filter(e=>e in r),...Object.keys(r).filter(e=>!t.includes(e))]}function kI(r){return r.data[0].values}function zI(r){let t=BI.exec(r);return t?r.slice(t.index+t[0].length):""}function VI(r,t,e){let n=GI(r),s=new Ct(new S("item",n,!1)),i=X1(t,r),o=new T(n,0,i.length,0,{[Z.DATA]:i}),a=new T(s,0,e.length-1,0,{[Z.OFFSET]:e},[o]);return new A([a])}function X1(r,t){switch(t){case"int8":case"char":return Int8Array.from(r);case"uint8":case"uchar":return Uint8Array.from(r);case"int16":case"short":return Int16Array.from(r);case"uint16":case"ushort":return Uint16Array.from(r);case"int32":case"int":return Int32Array.from(r);case"uint32":case"uint":return Uint32Array.from(r);case"float64":case"double":return Float64Array.from(r);default:return Float32Array.from(r)}}function GI(r){switch(r){case"int8":case"char":return new Ae;case"uint8":case"uchar":return new Be;case"int16":case"short":return new Se;case"uint16":case"ushort":return new Ie;case"int32":case"int":return new Dt;case"uint32":case"uint":return new qt;case"float64":case"double":return new _e;default:return new Xt}}function qp(r,t){switch(t){case"char":case"uchar":case"short":case"ushort":case"int":case"uint":case"int8":case"uint8":case"int16":case"uint16":case"int32":case"uint32":return parseInt(r,10);case"float":case"double":case"float32":case"float64":return parseFloat(r);default:throw new Error(t)}}function $p(r,t,e,n){switch(e){case"int8":case"char":return[r.getInt8(t),1];case"uint8":case"uchar":return[r.getUint8(t),1];case"int16":case"short":return[r.getInt16(t,n),2];case"uint16":case"ushort":return[r.getUint16(t,n),2];case"int32":case"int":return[r.getInt32(t,n),4];case"uint32":case"uint":return[r.getUint32(t,n),4];case"float32":case"float":return[r.getFloat32(t,n),4];case"float64":case"double":return[r.getFloat64(t,n),8];default:throw new Error(e)}}function K1(r){return new Map(Object.entries(r||{}).filter(t=>t[1]!==void 0))}var BI,Wp=m(()=>{"use strict";or();nn();Vu();Pu();BI=/end_header\s/});async function*ew(r,t){if(t?.shape==="arrow-table"){yield*$I(r,t);return}let e=Jl(Kl(Ql(r))),n=await n_(e,t),s;if(n.format==="ascii")s=await i_(e,n);else throw new Error("Binary PLY can not yet be parsed in streaming mode");yield cc(n,s,t)}async function*$I(r,t){let e=Ql(r)[Symbol.asyncIterator](),{header:n,initialBodyBytes:s}=await HI(e,t),i;n.format==="ascii"?i=YI(e,n,s,t):i=Zp(n,t).properties.some(a=>a.type==="list")?ZI(e,n,s,t):WI(e,n,s,t);for await(let o of i)yield{...o,loaderData:n}}async function*WI(r,t,e,n){let s=XI(t,n),i=Hp(n),o=t_(s),a=jp(t,n),c=s.count,l=e;for(;;){for(;c>0&&Math.floor(l.length/o)>=i;){let h=Math.min(i,c),p=J1(t,l,h,o,n,a);l=l.subarray(h*o),c-=h,yield p}if(n?.pointCloud&&c<=0)return;let{value:u,done:f}=await r.next();if(f)break;l=Xp([l,$u(u)])}if(c>0){let u=Math.min(c,Math.floor(l.length/o));u>0&&(yield J1(t,l,u,o,n,a))}}async function*YI(r,t,e,n){let s=Zp(t,n),i=Hp(n),o=Jl(Kl(QI(r,e))),a=[],c=s.count;for await(let l of o){let u=l.trim();if(u!==""&&(a.push(u),c--,a.length>=i&&(yield Q1(t,a,n),a=[]),c<=0))break}a.length>0&&(yield Q1(t,a,n))}async function*ZI(r,t,e,n){let s=Zp(t,n),i=Hp(n),o=t.format!=="binary_big_endian",a=s.count,c=e,l=[],u=0,f=0;for(;a>0;){let h=KI(c,s,o);if(h===null){let{value:y,done:g}=await r.next();if(g)break;c=Xp([c,$u(y)]);continue}let p=c.subarray(0,h);l.push(p),u+=h,f++,a--,c=c.subarray(h),f>=i&&(yield tw(t,l,u,f,n),l=[],u=0,f=0)}f>0&&(yield tw(t,l,u,f,n))}async function HI(r,t){let e=new Uint8Array(0);for(;;){let{value:n,done:s}=await r.next();if(s)throw new Error("Incomplete PLY header");e=Xp([e,$u(n)]);let i=e_(e);if(i===-1)continue;return{header:zn(qu(e.subarray(0,i)),t),initialBodyBytes:e.subarray(i)}}}function Zp(r,t){let e=r.elements[0];if(!t?.pointCloud&&r.elements.length!==1||e?.name!=="vertex")throw new Error("PLY arrow-table batch parsing requires one vertex element");return e}function XI(r,t){let e=r.elements[0];if(!t?.pointCloud&&r.elements.length!==1||e?.name!=="vertex"||e.properties.some(n=>n.type==="list"))throw new Error("Binary PLY arrow-table batch parsing requires one scalar vertex element");return e}function J1(r,t,e,n,s,i){let o=r.elements[0],a={...r,headerLength:0,elements:[{...o,count:e}]},c=e*n,l=V1(t.subarray(0,c),a,s,i||void 0);if(!l)throw new Error("Failed to parse binary PLY Arrow batch");return l}function Q1(r,t,e){let n=rw(r,t.length,e),s=lc(`${n}${t.join(`
|
|
38
|
+
`)}
|
|
39
|
+
`,e);return uc(s)}function tw(r,t,e,n,s){let i=rw(r,n,s),o=new TextEncoder().encode(i),a=new Uint8Array(o.length+e);a.set(o,0);let c=o.length;for(let u of t)a.set(u,c),c+=u.length;let l=lc(qu(a),s);return uc(l)}function KI(r,t,e){let n=new DataView(r.buffer,r.byteOffset,r.byteLength),s=0;for(let i of t.properties)if(i.type==="list"){let o=ju(i.countType);if(s+o>r.length)return null;let a=JI(n,s,i.countType,e);s+=o;let c=a*ju(i.itemType);if(s+c>r.length)return null;s+=c}else{let o=ju(i.type);if(s+o>r.length)return null;s+=o}return s}function JI(r,t,e,n){switch(e){case"int8":case"char":return r.getInt8(t);case"uint8":case"uchar":return r.getUint8(t);case"int16":case"short":return r.getInt16(t,n);case"uint16":case"ushort":return r.getUint16(t,n);case"int32":case"int":return r.getInt32(t,n);case"uint32":case"uint":return r.getUint32(t,n);case"float32":case"float":return r.getFloat32(t,n);case"float64":case"double":return r.getFloat64(t,n);default:throw new Error(e)}}function rw(r,t,e){let n=["ply",`format ${r.format} ${r.version||"1.0"}`],s=e?.pointCloud?r.elements.slice(0,1):r.elements;for(let i of r.comments)n.push(`comment ${i}`);for(let i of s){n.push(`element ${i.name} ${i.name==="vertex"?t:i.count}`);for(let o of i.properties)n.push(o.type==="list"?`property list ${o.countType} ${o.itemType} ${o.name}`:`property ${o.type} ${o.name}`)}return n.push("end_header"),`${n.join(`
|
|
40
|
+
`)}
|
|
41
|
+
`}async function*QI(r,t){for(t.length>0&&(yield qu(t));;){let{value:e,done:n}=await r.next();if(n)break;yield qu($u(e))}}function Hp(r){let t=r?.batchSize;return typeof t=="number"?t:jI}function t_(r){return r.properties.reduce((t,e)=>t+ju(e.type),0)}function ju(r){switch(r){case"int8":case"uint8":case"char":case"uchar":return 1;case"int16":case"uint16":case"short":case"ushort":return 2;case"int32":case"uint32":case"int":case"uint":case"float32":case"float":return 4;case"float64":case"double":return 8;default:throw new Error(r)}}function e_(r){let t=new TextEncoder().encode(qI),e=r.length-t.length;for(let n=0;n<=e;n++){let s=!0;for(let i=0;i<t.length;i++)if(r[n+i]!==t[i]){s=!1;break}if(s){let i=n+t.length;return i===r.length||r[i]===13&&i+1===r.length?-1:(r[i]===13&&r[i+1]===10?i+=2:i<r.length&&r_(r[i])&&(i+=1),i)}}return-1}function r_(r){return r===10||r===13||r===9||r===32}function $u(r){return ArrayBuffer.isView(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r)}function qu(r){let t=new Uint8Array(r.byteLength);return t.set(r),t.buffer}function Xp(r){let t=r.reduce((s,i)=>s+i.length,0),e=new Uint8Array(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return e}async function n_(r,t){let e,n={comments:[],elements:[]};return await wd(r,s=>{if(s=s.trim(),s==="end_header")return!0;if(s==="")return!1;let i=s.split(/\s+/),o=i.shift();switch(s=i.join(" "),o){case"ply":break;case"format":n.format=i[0],n.version=i[1];break;case"comment":n.comments.push(s);break;case"element":e&&n.elements.push(e),e={name:i[0],count:parseInt(i[1],10),properties:[]};break;case"property":let a=s_(i,t.propertyNameMapping);e?.properties.push(a);break;default:console.log("unhandled",o,i)}return!1}),e&&n.elements.push(e),n}function s_(r,t){let e=r[0];return e==="list"?{type:e,name:r[3],countType:r[1],itemType:r[2]}:{type:e,name:r[1]}}async function i_(r,t){let e={indices:[],vertices:[],normals:[],uvs:[],colors:[]},n=0,s=0;for await(let i of r)if(i=i.trim(),i!==""){s>=t.elements[n].count&&(n++,s=0);let o=o_(t.elements[n].properties,i);a_(e,t.elements[n].name,o),s++}return e}function Yp(r,t){switch(t){case"char":case"uchar":case"short":case"ushort":case"int":case"uint":case"int8":case"uint8":case"int16":case"uint16":case"int32":case"uint32":return parseInt(r,10);case"float":case"double":case"float32":case"float64":return parseFloat(r);default:throw new Error(t)}}function o_(r,t){let e=t.split(/\s+/),n={};for(let s=0;s<r.length;s++)if(r[s].type==="list"){let i=[],o=Yp(e.shift(),r[s].countType);for(let a=0;a<o;a++)i.push(Yp(e.shift(),r[s].itemType));n[r[s].name]=i}else n[r[s].name]=Yp(e.shift(),r[s].type);return n}function a_(r,t,e={}){switch(t){case"vertex":r.vertices.push(e.x,e.y,e.z),"nx"in e&&"ny"in e&&"nz"in e&&r.normals.push(e.nx,e.ny,e.nz),"s"in e&&"t"in e&&r.uvs.push(e.s,e.t),"red"in e&&"green"in e&&"blue"in e&&r.colors.push(e.red,e.green,e.blue);break;case"face":let n=e.vertex_indices||e.vertex_index;n.length===3?r.indices.push(n[0],n[1],n[2]):n.length===4&&(r.indices.push(n[0],n[1],n[3]),r.indices.push(n[1],n[2],n[3]));break;default:break}}var jI,qI,nw=m(()=>{"use strict";Zo();kp();Vu();Wp();jI=65536,qI="end_header"});var sw,iw=m(()=>{"use strict";sw={name:"PLY",id:"ply",module:"pointclouds",encoding:"text",format:"ply",extensions:["ply"],mimeTypes:["text/plain","application/octet-stream"],text:!0,binary:!0,tests:["ply"]}});async function l_(){let{PLYLoaderWithParser:r}=await Promise.resolve().then(()=>(Jp(),Kp));return r}var c_,ow,aw=m(()=>{"use strict";iw();Gs();c_="5.0.0-beta.1";ow={dataType:null,batchType:null,...sw,version:c_,worker:!0,workerInBatches:!0,serializeWorkerResult:re,options:{ply:{shape:"arrow-table",colorFormat:"uint8norm"}},preload:l_}});var Kp={};Re(Kp,{PLYLoaderWithParser:()=>f_});function cw(r,t){let e=Ee(r,"arrow-table");return Wu(e,t,r.loaderData)}function Qp(r,t){if(t?.ply?._useLegacyParser)return cw(k1(r,t?.ply),t);let e=z1(r,t?.ply);if(e)return Wu(e,t,zn(r,t?.ply));let n=lc(r,t?.ply);return Wu(uc(n),t,n.header)}function Wu(r,t,e){let n=e||r.loaderData||{comments:[],elements:[]},s=t?.ply?.shape==="arrow-table"?{...r,loader:"ply",loaderData:n}:{...ee(r),loader:"ply",loaderData:n},i=t?.ply?.colorFormat||"uint8norm";if(i==="uint8norm")return s;let o=s,a=h_(tm(o)?ee(o):o,i);return t?.ply?.shape==="arrow-table"?{...Ee(a,"arrow-table"),loader:"ply",loaderData:n}:a}function h_(r,t){let e=r.attributes.COLOR_0;if(!e)return r;let n=e.value instanceof Uint16Array?65535:255,s=t==="float16"?ti(e.value,n):sa(e.value,n),i={...r.attributes};for(let[o,a]of Object.entries(i))a.value===e.value&&(i[o]={...a,value:s,normalized:!1,...t==="float16"?{componentType:"float16"}:{}});return{...r,attributes:i,schema:Gi(i,r.schema.metadata)}}function tm(r){return"shape"in r&&r.shape==="arrow-table"}function lw(r,t){let e=Po(r);return t?.ply?.shape==="mesh"?{...ee(e),loader:"ply",loaderData:e.loaderData}:e}function d_(r,t){return lw(r,t)}var R8,u_,f_,Jp=m(()=>{"use strict";Zo();Vs();Gs();or();Vu();Wp();nw();aw();({preload:R8,...u_}=ow);f_={...u_,parse:async(r,t)=>Qp(r,t),parseTextSync:(r,t)=>Qp(r,t),parseSync:(r,t)=>Qp(r,t),parseInBatches:async function*(r,t){let e={...t?.ply,batchSize:t?.batchSize??t?.core?.batchSize};for await(let n of ew(r,e)){let s=tm(n)?Wu(n,t):cw(n,t);yield tm(s)?ic(s):s}},serializeWorkerResult:re,deserializeWorkerResult:lw,serializeWorkerBatch:re,deserializeWorkerBatch:d_}});var A_={};Re(A_,{LASFormat:()=>Uo,LASLoader:()=>Ip,LASWorkerLoader:()=>l1,LASWriter:()=>d1,PCDFormat:()=>Qo,PCDLoader:()=>Rp,PCDWorkerLoader:()=>F1,PCDWriter:()=>E1,PLYFormat:()=>ea,PLYLoader:()=>em,PLYWorkerLoader:()=>uw,PLYWriter:()=>hw});var Uo={name:"LAS",id:"las",module:"pointclouds",encoding:"binary",format:"las",extensions:["las","laz"],mimeTypes:["application/octet-stream"],text:!1,binary:!0,tests:["LASF"]};var Qv=typeof __VERSION__<"u"?__VERSION__:"latest",tA="arrow-table";var vg={...Uo,dataType:null,batchType:null,version:Qv,worker:!1,options:{las:{shape:tA,fp64:!1,colorDepth:8,colorFormat:"uint8norm",columns:void 0,extraBytes:"raw",recoverMissingChunkTable:!1,compatibilityMode:"auto"}}};async function z2(){let{LASLoaderWithParser:r}=await Promise.resolve().then(()=>(c1(),a1));return r}var Ip={...vg,worker:!0,workerInBatches:!0,preload:z2},l1=Ip;Zo();or();var V2=typeof __VERSION__<"u"?__VERSION__:"latest",G2=227,j2=375,q2=393,Uu=54,Mp=192,$2=5e4,W2=4294967295,Dp=15,Y2={0:20,1:28,2:26,3:34,4:57,5:63,6:30,7:36,8:38,9:59,10:67},d1={...Uo,dataType:null,batchType:null,version:V2,extensions:["las","laz"],options:{las:{}},encode:async(r,t)=>_p(r,t),encodeSync:_p,encodeInBatches:async function*(r,t){let e=[];for await(let n of r)e.push(n);yield _p(oB(e),t)}};function _p(r,t={}){let e=t.las?.format||"las",n=t.las?.colorDepth;if(n!==void 0&&n!=="auto"&&n!==8&&n!==16)throw new Error("LASWriter: invalid source color depth");let s=sB(r),i=y1(s,"POSITION");cB(i);let o=i.value.length/i.size;uB(s,o);let a=s.attributes.COLOR_0,c=s.attributes.intensity,l=s.attributes.classification,u=s.attributes.nir,f=K2(s,t,o),h=s.attributes.gpsTime,p=s.attributes.scanAngle,y=s.attributes.userData,g=s.attributes.pointSourceId,x=s.attributes.returnNumber,B=s.attributes.numberOfReturns,q=s.attributes.scannerChannel,M=s.attributes.scanDirectionFlag,b=s.attributes.edgeOfFlightLine,C=s.attributes.synthetic,_=s.attributes.keyPoint,$=s.attributes.withheld,X=s.attributes.overlap,ft=s.attributes.wavePacketDescriptorIndex,dt=s.attributes.wavePacketOffset,Bt=s.attributes.wavePacketSize,se=s.attributes.wavePacketReturnPoint,rt=s.attributes.wavePacketVector,tt=SB(i,o),Ye=xB(x,o),Ne=BB(s,t),Ze=IB(s,t,tt);lB(i,o,Ne,Ze);let xt=t.las?.pointDataRecordFormat??gB(t,a);fB(s,o,xt);let Gn=Y2[xt];if(!Gn)throw new Error(`LASWriter: unsupported point data record format ${xt}`);let Qs=Gn+f.reduce((hn,ro)=>hn+ro.byteLength,0);if(Qs>65535)throw new Error(`LASWriter: point data record length ${Qs} exceeds the LAS limit`);rB(f);let wt=t.las?.version||(xt>=6?"1.4":"1.2"),pt=wt==="1.5"?q2:wt==="1.4"?j2:G2;H2(wt,xt,t);let un=eB(h,o);if(wt==="1.5"&&t.las?.timeOffset&&!h)throw new Error("LASWriter: LAS 1.5 timeOffset requires a GPS time attribute");e==="laz"&&nB(wt,xt,t.las?.chunkSize),Z2(wt,xt);let qr=new Uint8Array(o*Qs),fn=new DataView(qr.buffer);for(let hn=0;hn<o;hn++){let ro=hn*Qs;fn.setInt32(ro,Math.round((jr(i,hn,0)-Ze[0])/Ne[0]),!0),fn.setInt32(ro+4,Math.round((jr(i,hn,1)-Ze[1])/Ne[1]),!0),fn.setInt32(ro+8,Math.round((jr(i,hn,2)-Ze[2])/Ne[2]),!0),hB(fn,ro,hn,xt,Gn,{intensityAttribute:c,classificationAttribute:l,nirAttribute:u,colorAttribute:a,colorDepth:n,gpsTimeAttribute:h,scanAngleAttribute:p,userDataAttribute:y,pointSourceIdAttribute:g,returnNumberAttribute:x,numberOfReturnsAttribute:B,scannerChannelAttribute:q,scanDirectionFlagAttribute:M,edgeOfFlightLineAttribute:b,syntheticAttribute:C,keyPointAttribute:_,withheldAttribute:$,overlapAttribute:X,waveformDescriptorAttribute:ft,waveformOffsetAttribute:dt,waveformSizeAttribute:Bt,waveformReturnPointAttribute:se,waveformVectorAttribute:rt,extraByteFields:f})}let vr={vertexCount:o,boundingBox:tt,scale:Ne,offset:Ze,version:wt,headerLength:pt,pointDataRecordFormat:xt,pointDataRecordLength:Qs,returnCounts:Ye,maxGpsTime:un.maximum,minGpsTime:un.minimum,timeOffset:t.las?.timeOffset||0,hasGpsTime:!!h,hasWkt:!!t.las?.wkt};if(e==="laz")return X2(qr,vr,t.las?.chunkSize,t.las?.variableChunkTable,f,t);let Ar=p1(f,t),eo=pt+Ar.byteLength,Yu=new ArrayBuffer(eo+qr.byteLength);b1(new DataView(Yu),{...vr,pointDataOffset:eo,vlrCount:m1(f,t)});let nm=new Uint8Array(Yu);return nm.set(Ar,pt),nm.set(qr,eo),Yu}function Z2(r,t){let n={0:"1.0",1:"1.1",2:"1.2",3:"1.2"}[t];if(n&&r<n)throw new Error(`LASWriter: point data record format ${t} requires LAS ${n} or newer; received ${r}`);if(t>=4&&t<=5&&!["1.3","1.4","1.5"].includes(r))throw new Error(`LASWriter: point data record format ${t} requires LAS 1.3; received ${r}`);if(t>=6&&!["1.4","1.5"].includes(r))throw new Error(`LASWriter: point data record format ${t} requires LAS 1.4; received ${r}`)}function H2(r,t,e){if(r==="1.5"){if(t<6||t>10)throw new Error("LASWriter: LAS 1.5 output requires point data record format 6-10");if(!e.las?.wkt?.trim())throw new Error("LASWriter: LAS 1.5 output requires las.wkt");let n=e.las?.timeOffset??0;if(!Number.isInteger(n)||n<0||n>65535)throw new Error("LASWriter: LAS 1.5 timeOffset must be an unsigned 16-bit integer")}}function X2(r,t,e,n=!1,s=[],i={}){let o=e||$2,a=cp({pointDataRecordFormat:t.pointDataRecordFormat,pointDataRecordLength:t.pointDataRecordLength,chunkSize:n?W2:o}),c=p1(s,i),l=t.headerLength+c.byteLength+a.byteLength,u=[],f=[];for(let M=0;M<t.vertexCount;M+=o){let b=Math.min(o,t.vertexCount-M),C=M*t.pointDataRecordLength,_=op(r.subarray(C,C+b*t.pointDataRecordLength),{pointDataRecordFormat:t.pointDataRecordFormat,pointDataRecordLength:t.pointDataRecordLength,pointCount:b,point14ItemVersion:3,rgb14ItemVersion:3,byte14ItemVersion:3});u.push(_),f.push({pointCount:b,byteLength:_.byteLength})}let h=u.reduce((M,b)=>M+b.byteLength,0),p=ap(f,{variable:n}),y=l+8+h,g=new ArrayBuffer(y+8+p.byteLength),x=new Uint8Array(g),B=new DataView(g);b1(B,{...t,pointDataOffset:l,vlrCount:m1(s,i)+1,compressed:!0}),x.set(c,t.headerLength),x.set(a,t.headerLength+c.byteLength),Cp(B,l,y);let q=l+8;for(let M of u)x.set(M,q),q+=M.byteLength;return B.setUint32(y,0,!0),B.setUint32(y+4,f.length,!0),x.set(p,y+8),g}function K2(r,t,e){let n=t.las?.extraBytes||[],s=new Set;return n.map(i=>{if(s.has(i.attribute))throw new Error(`LASWriter: duplicate Extra Bytes attribute ${i.attribute}`);s.add(i.attribute);let o=r.attributes[i.attribute];if(!o)throw new Error(`LASWriter: Extra Bytes attribute ${i.attribute} is missing`);if(![1,3].includes(o.size))throw new Error(`LASWriter: Extra Bytes attribute ${i.attribute} must have size 1 or 3`);if(o.value.length<e*o.size)throw new Error(`LASWriter: Extra Bytes attribute ${i.attribute} is too short`);g1(i.attribute,o);let a=J2(o.value,o.size);return{...i,meshAttribute:o,dataType:a,byteLength:Q2(a,o.size),componentCount:o.size}})}function J2(r,t){let e=0;if(r instanceof Uint8Array?e=1:r instanceof Int8Array?e=2:r instanceof Uint16Array?e=3:r instanceof Int16Array?e=4:r instanceof Uint32Array?e=5:r instanceof Int32Array?e=6:r instanceof BigUint64Array?e=7:r instanceof BigInt64Array?e=8:r instanceof Float32Array?e=9:r instanceof Float64Array&&(e=10),e)return e+(t===3?20:0);throw new Error("LASWriter: Extra Bytes attributes require a supported typed array")}function Q2(r,t){let e=r>20?r-20:r>10?r-10:r;return(e<=2?1:e<=4?2:e<=6||e===9?4:8)*t}function tB(r){if(r.length===0)return new Uint8Array(0);let t=new Uint8Array(r.length*Mp),e=new DataView(t.buffer),n=0;for(let o of r)e.setUint8(n+2,o.dataType),kn(e,n+4,o.name||o.attribute,32),kn(e,n+160,o.description||"",32),n+=Mp;let s=new Uint8Array(Uu+t.byteLength),i=new DataView(s.buffer);return kn(i,2,"LASF_Spec",16),i.setUint16(18,4,!0),i.setUint16(20,t.byteLength,!0),kn(i,22,"Extra Bytes",32),s.set(t,Uu),s}function p1(r,t){let e=[];t.las?.wktMathTransform&&e.push(u1(2111,"WKT Math Transform",t.las.wktMathTransform)),t.las?.wkt&&e.push(u1(2112,"WKT Coordinate System",t.las.wkt));let n=tB(r);n.byteLength&&e.push(n);let s=e.reduce((a,c)=>a+c.byteLength,0),i=new Uint8Array(s),o=0;for(let a of e)i.set(a,o),o+=a.byteLength;return i}function u1(r,t,e){let n=new TextEncoder().encode(`${e}\0`);if(n.byteLength>65535)throw new Error(`LASWriter: WKT VLR ${r} exceeds the LAS VLR size limit`);let s=new Uint8Array(Uu+n.byteLength),i=new DataView(s.buffer);return kn(i,2,"LASF_Projection",16),i.setUint16(18,r,!0),i.setUint16(20,n.byteLength,!0),kn(i,22,t,32),s.set(n,Uu),s}function m1(r,t){return(t.las?.wktMathTransform?1:0)+(t.las?.wkt?1:0)+(r.length?1:0)}function eB(r,t){if(!r)return{minimum:0,maximum:0};let e=Number(r.value[0]),n=e;for(let s=1;s<t;s++){let i=Number(r.value[s*r.size]);e=Math.min(e,i),n=Math.max(n,i)}return{minimum:e,maximum:n}}function rB(r){let t=r.length*Mp;if(t>65535)throw new Error(`LASWriter: Extra Bytes VLR payload ${t} exceeds the LAS limit`)}function nB(r,t,e){if(t===1&&!["1.1","1.2","1.3","1.4","1.5"].includes(r))throw new Error(`LASWriter: LAZ PDRF 1 output requires LAS 1.1 or newer; received ${r}`);if(t>=2&&t<=3&&!["1.2","1.3","1.4","1.5"].includes(r))throw new Error(`LASWriter: LAZ PDRF ${t} output requires LAS 1.2 or newer; received ${r}`);if(t>=4&&t<=5&&!["1.3","1.4","1.5"].includes(r))throw new Error(`LASWriter: LAZ PDRF ${t} requires LAS 1.3 or newer; received ${r}`);if(t>=6&&!["1.4","1.5"].includes(r))throw new Error(`LASWriter: LAZ output requires LAS 1.4; received ${r}`);if(![0,1,2,3,4,5,6,7,8,9,10].includes(t))throw new Error(`LASWriter: LAZ output currently supports point data record formats 0-10; received ${t}`);if(e!==void 0&&(!Number.isInteger(e)||e<=0||e>4294967295))throw new Error(`LASWriter: invalid LAZ chunk size ${e}`)}function sB(r){return"shape"in r&&r.shape==="arrow-table"?ee(r):r}function iB(r){return"shape"in r&&r.shape==="arrow-table"?r:Ee(r,"arrow-table")}function oB(r){if(r.length===0)throw new Error("LASWriter: at least one input batch is required");if(r.length===1)return r[0];let t=r.map(s=>ee(iB(s))),e=t[0],n={};aB(t);for(let s of Object.keys(e.attributes)){let i=e.attributes[s],o=t.map(f=>f.attributes[s]?.value);if(o.some(f=>!f))continue;let a=o.reduce((f,h)=>f+h.length,0),c=i.value.constructor,l=new c(a),u=0;for(let f of o)l.set(f,u),u+=f.length;n[s]={...i,value:l}}return{...e,attributes:n,header:{...e.header,vertexCount:y1({...e,attributes:n},"POSITION").value.length/3}}}function aB(r){let t=Object.keys(r[0].attributes);for(let e of r.slice(1)){if(Object.keys(e.attributes).length!==t.length||t.some(s=>!e.attributes[s]))throw new Error("LASWriter: encodeInBatches requires consistent attribute names");for(let s of t){let i=r[0].attributes[s],o=e.attributes[s];if(o.size!==i.size||o.value.constructor!==i.value.constructor)throw new Error(`LASWriter: encodeInBatches requires a consistent ${s} layout`)}}}function y1(r,t){let e=r.attributes[t];if(!e)throw new Error(`LASWriter: ${t} attribute is required`);return e}function cB(r){if(r.size!==3)throw new Error("LASWriter: POSITION attribute must have size 3");if(r.value.length%r.size!==0)throw new Error("LASWriter: POSITION attribute length must be divisible by its size")}function lB(r,t,e,n){for(let s=0;s<3;s++){if(!Number.isFinite(e[s])||e[s]<=0)throw new Error("LASWriter: coordinate scale must be finite and positive");if(!Number.isFinite(n[s]))throw new Error("LASWriter: coordinate offset must be finite")}for(let s=0;s<t;s++)for(let i=0;i<3;i++){let o=r.value[s*r.size+i];if(!Number.isFinite(o))throw new Error("LASWriter: POSITION values must be finite");let a=Math.round((o-n[i])/e[i]);if(a<-2147483648||a>2147483647)throw new Error("LASWriter: encoded coordinate exceeds the signed 32-bit LAS range")}}function uB(r,t){let e=["intensity","classification","gpsTime","scanAngle","userData","pointSourceId","returnNumber","numberOfReturns","scannerChannel","scanDirectionFlag","edgeOfFlightLine","synthetic","keyPoint","withheld","overlap","nir","wavePacketDescriptorIndex","wavePacketOffset","wavePacketSize","wavePacketReturnPoint"];for(let i of e){let o=r.attributes[i];o&&Lp(i,o,t,1)}let n=r.attributes.COLOR_0;n&&Lp("COLOR_0",n,t,3,!1);let s=r.attributes.wavePacketVector;s&&Lp("wavePacketVector",s,t,3)}function fB(r,t,e){let n=e>=6?15:5,s=r.attributes.returnNumber,i=r.attributes.numberOfReturns;for(let o=0;o<t;o++){let a=cr(s,o,1),c=cr(i,o,1);if(a<1||a>n)throw new Error(`LASWriter: returnNumber must be between 1 and ${n} for point data record format ${e}`);if(c<1||c>n)throw new Error(`LASWriter: numberOfReturns must be between 1 and ${n} for point data record format ${e}`);if(a>c)throw new Error("LASWriter: returnNumber cannot exceed numberOfReturns")}}function Lp(r,t,e,n,s=!0){if(n===1?t.size!==1:t.size<n)throw new Error(`LASWriter: ${r} attribute must have size ${n}`);if(g1(r,t),s&&t.value.length<e*t.size)throw new Error(`LASWriter: ${r} attribute is too short`);if(!s&&t.value.length<t.size)throw new Error(`LASWriter: ${r} attribute is too short`)}function g1(r,t){for(let e of t.value)if(!Number.isFinite(Number(e)))throw new Error(`LASWriter: ${r} attribute must contain finite values`)}function b1(r,t){let[e,n]=t.version.split(".").map(Number);kn(r,0,"LASF",4),r.setUint8(24,e),r.setUint8(25,n),kn(r,26,"loaders.gl",32),kn(r,58,"loaders.gl",32),r.setUint16(94,t.headerLength,!0),r.setUint32(96,t.pointDataOffset,!0),r.setUint32(100,t.vlrCount||0,!0),r.setUint8(104,t.pointDataRecordFormat|(t.compressed?128:0)),r.setUint16(105,t.pointDataRecordLength,!0);let s=t.version==="1.4"||t.version==="1.5";r.setUint32(107,s?0:t.vertexCount,!0);for(let i=0;i<5;i++)r.setUint32(111+i*4,s?0:t.returnCounts[i],!0);if(t.version==="1.5"?r.setUint16(6,16|(t.hasGpsTime?1:0)|(t.timeOffset?64:0),!0):t.version==="1.4"&&t.hasWkt&&r.setUint16(6,16,!0),r.setFloat64(131,t.scale[0],!0),r.setFloat64(139,t.scale[1],!0),r.setFloat64(147,t.scale[2],!0),r.setFloat64(155,t.offset[0],!0),r.setFloat64(163,t.offset[1],!0),r.setFloat64(171,t.offset[2],!0),r.setFloat64(179,t.boundingBox[1][0],!0),r.setFloat64(187,t.boundingBox[0][0],!0),r.setFloat64(195,t.boundingBox[1][1],!0),r.setFloat64(203,t.boundingBox[0][1],!0),r.setFloat64(211,t.boundingBox[1][2],!0),r.setFloat64(219,t.boundingBox[0][2],!0),s){Cp(r,247,t.vertexCount);for(let i=0;i<Dp;i++)Cp(r,255+i*8,t.returnCounts[i])}t.version==="1.5"&&(r.setFloat64(375,t.maxGpsTime,!0),r.setFloat64(383,t.minGpsTime,!0),r.setUint16(391,t.timeOffset,!0))}function hB(r,t,e,n,s,i){if(r.setUint16(t+12,Eu(i.intensityAttribute,e),!0),n<=5){let o=cr(i.returnNumberAttribute,e,1)&7,a=cr(i.numberOfReturnsAttribute,e,1)&7;r.setUint8(t+14,o|a<<3),r.setUint8(t+15,cr(i.classificationAttribute,e)&31),r.setInt8(t+16,h1(i.scanAngleAttribute,e)),r.setUint8(t+17,cr(i.userDataAttribute,e)),r.setUint16(t+18,Eu(i.pointSourceIdAttribute,e),!0),(n===1||n===3||n>=4)&&r.setFloat64(t+20,Nu(i.gpsTimeAttribute,e),!0),(n===4||n===5)&&f1(r,t+(n===4?28:34),e,i)}else{let o=cr(i.returnNumberAttribute,e,1)&15,a=cr(i.numberOfReturnsAttribute,e,1)&15,c=cr(i.scannerChannelAttribute,e)&3,l=o|a<<4,u=(Ko(i.syntheticAttribute,e)?1:0)|(Ko(i.keyPointAttribute,e)?2:0)|(Ko(i.withheldAttribute,e)?4:0)|(Ko(i.overlapAttribute,e)?8:0)|c<<4|(Ko(i.scanDirectionFlagAttribute,e)?64:0)|(Ko(i.edgeOfFlightLineAttribute,e)?128:0);r.setUint8(t+14,l),r.setUint8(t+15,u),r.setUint8(t+16,cr(i.classificationAttribute,e)),r.setUint8(t+17,cr(i.userDataAttribute,e)),r.setInt16(t+18,h1(i.scanAngleAttribute,e),!0),r.setUint16(t+20,Eu(i.pointSourceIdAttribute,e),!0),r.setFloat64(t+22,Nu(i.gpsTimeAttribute,e),!0),(n===9||n===10)&&f1(r,t+(n===9?30:38),e,i)}mB(r,t,e,n,i.colorAttribute,i.colorDepth),(n===8||n===10)&&r.setUint16(t+36,Eu(i.nirAttribute,e),!0),dB(r,t,e,s,i.extraByteFields)}function f1(r,t,e,n){r.setUint8(t,cr(n.waveformDescriptorAttribute,e)),r.setBigUint64(t+1,wB(n.waveformOffsetAttribute,e),!0),r.setUint32(t+9,bB(n.waveformSizeAttribute,e),!0),r.setFloat32(t+13,Nu(n.waveformReturnPointAttribute,e),!0);for(let s=0;s<3;s++)r.setFloat32(t+17+s*4,jr(n.waveformVectorAttribute,e,s),!0)}function dB(r,t,e,n,s){let i=t+n;for(let o of s)for(let a=0;a<o.componentCount;a++)pB(r,i,e,a,o),i+=o.byteLength/o.componentCount}function pB(r,t,e,n,s){let i=s.meshAttribute.value[e*s.componentCount+n];switch(s.dataType>20?s.dataType-20:s.dataType>10?s.dataType-10:s.dataType){case 1:r.setUint8(t,Number(i));break;case 2:r.setInt8(t,Number(i));break;case 3:r.setUint16(t,Number(i),!0);break;case 4:r.setInt16(t,Number(i),!0);break;case 5:r.setUint32(t,Number(i),!0);break;case 6:r.setInt32(t,Number(i),!0);break;case 7:r.setBigUint64(t,BigInt(i),!0);break;case 8:r.setBigInt64(t,BigInt(i),!0);break;case 9:r.setFloat32(t,Number(i),!0);break;case 10:r.setFloat64(t,Number(i),!0);break;default:throw new Error(`LASWriter: unsupported Extra Bytes data type ${s.dataType}`)}}function mB(r,t,e,n,s,i){let o=yB(n);o<0||!s||(r.setUint16(t+o,Tp(s,e,0,i),!0),r.setUint16(t+o+2,Tp(s,e,1,i),!0),r.setUint16(t+o+4,Tp(s,e,2,i),!0))}function yB(r){switch(r){case 2:return 20;case 3:return 28;case 5:return 57;case 7:case 8:case 10:return 30;default:return-1}}function gB(r,t){return r.las?.format==="laz"||r.las?.version==="1.4"?t?7:6:t?2:0}function Cp(r,t,e){r.setUint32(t,e>>>0,!0),r.setUint32(t+4,Math.floor(e/2**32),!0)}function kn(r,t,e,n){if(/[^\x00-\x7f]/.test(e))throw new Error("LASWriter fixed-width text must be ASCII");for(let s=0;s<n;s++)r.setUint8(t+s,e.charCodeAt(s)||0)}function jr(r,t,e){return r&&r.value[t*r.size+e]||0}function Eu(r,t){return r?Math.max(0,Math.min(65535,Math.round(jr(r,t,0)))):0}function bB(r,t){return r?Math.max(0,Math.min(4294967295,Math.round(jr(r,t,0)))):0}function wB(r,t){if(!r)return 0n;let e=r.value[t*r.size];return typeof e=="bigint"?e:BigInt(Math.max(0,Math.round(Number(e))))}function cr(r,t,e=0){return r?Math.max(0,Math.min(255,Math.round(jr(r,t,0)))):e}function h1(r,t){return r?Math.max(-32768,Math.min(32767,Math.round(jr(r,t,0)))):0}function Nu(r,t){return r?jr(r,t,0):0}function Ko(r,t){return!!Nu(r,t)}function xB(r,t){let e=new Array(Dp).fill(0);for(let n=0;n<t;n++){let s=cr(r,n,1)&15;s>=1&&s<=Dp&&e[s-1]++}return e}function Tp(r,t,e,n){let s=jr(r,t,e);return r.normalized?vB(r,s):n===8?Jo(s*257):n===16?Jo(s):s<=1?Jo(s*65535):s<=255?Jo(s*257):Jo(s)}function vB(r,t){let e=AB(r.value);return Jo(t/e*65535)}function AB(r){return r instanceof Uint8Array||r instanceof Uint8ClampedArray?255:r instanceof Uint16Array?65535:1}function Jo(r){return Math.max(0,Math.min(65535,Math.round(r)))}function SB(r,t){if(t===0)return[[0,0,0],[0,0,0]];let e=[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY],n=[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY];for(let s=0;s<t;s++)for(let i=0;i<3;i++){let o=jr(r,s,i);e[i]=Math.min(e[i],o),n[i]=Math.max(n[i],o)}return[e,n]}function BB(r,t){return t.las?.scale||w1(r.schema.metadata?.las_scale)||[.001,.001,.001]}function IB(r,t,e){return t.las?.offset||w1(r.schema.metadata?.las_offset)||e[0]}function w1(r){if(typeof r=="string")try{let t=JSON.parse(r);return Array.isArray(t)&&t.length===3&&t.every(e=>typeof e=="number")?[t[0],t[1],t[2]]:void 0}catch{return}}var Qo={name:"PCD (Point Cloud Data)",id:"pcd",module:"pointclouds",encoding:"text",format:"pcd",extensions:["pcd"],mimeTypes:["text/plain"],category:"pointcloud",text:!0,binary:!0};Gs();var kB=typeof __VERSION__<"u"?__VERSION__:"latest";async function zB(){let{PCDLoaderWithParser:r}=await Promise.resolve().then(()=>(Ep(),Op));return r}var Rp={...Qo,dataType:null,batchType:null,version:kB,worker:!0,workerInBatches:!0,serializeWorkerResult:re,options:{pcd:{shape:"arrow-table",colorFormat:"uint8norm"}},preload:zB},F1=Rp;or();var VB=typeof __VERSION__<"u"?__VERSION__:"latest",E1={...Qo,dataType:null,batchType:null,version:VB,options:{pcd:{}},text:!0,encode:async(r,t)=>O1(r,t),encodeSync:O1,encodeTextSync:U1};function O1(r,t){let e=U1(r,t);return new TextEncoder().encode(e).buffer}function U1(r,t){let e=ee(GB(r)),n=jB(e,"POSITION"),s=e.attributes.NORMAL,i=e.attributes.COLOR_0,o=n.value.length/n.size,a=["x","y","z"],c=["4","4","4"],l=["F","F","F"],u=["1","1","1"];s&&(a.push("normal_x","normal_y","normal_z"),c.push("4","4","4"),l.push("F","F","F"),u.push("1","1","1")),i&&(a.push("rgb"),c.push("4"),l.push("F"),u.push("1"));let f=["# .PCD v0.7 - Point Cloud Data file generated by loaders.gl","VERSION 0.7",`FIELDS ${a.join(" ")}`,`SIZE ${c.join(" ")}`,`TYPE ${l.join(" ")}`,`COUNT ${u.join(" ")}`,`WIDTH ${o}`,"HEIGHT 1","VIEWPOINT 0 0 0 1 0 0 0",`POINTS ${o}`,"DATA ascii"];for(let h=0;h<o;h++){let p=[to(n,h,0),to(n,h,1),to(n,h,2)];s&&p.push(to(s,h,0),to(s,h,1),to(s,h,2)),i&&p.push(qB(i,h)),f.push(p.join(" "))}return`${f.join(`
|
|
42
|
+
`)}
|
|
43
|
+
`}function GB(r){return"shape"in r&&r.shape==="arrow-table"?r:Ee(r,"arrow-table")}function jB(r,t){let e=r.attributes[t];if(!e)throw new Error(`PCDWriter: ${t} attribute is required`);return e}function to(r,t,e){return r.value[t*r.size+e]||0}function qB(r,t){let e=new Uint8Array(4);return e[0]=Pp(r,t,0),e[1]=Pp(r,t,1),e[2]=Pp(r,t,2),new DataView(e.buffer).getFloat32(0,!0)}function Pp(r,t,e){let n=to(r,t,e),s=r.normalized||n<=1?n*255:n;return Math.max(0,Math.min(255,Math.round(s)))}var ea={name:"PLY",id:"ply",module:"pointclouds",encoding:"text",format:"ply",extensions:["ply"],mimeTypes:["text/plain","application/octet-stream"],text:!0,binary:!0,tests:["ply"]};Gs();var p_=typeof __VERSION__<"u"?__VERSION__:"latest";async function m_(){let{PLYLoaderWithParser:r}=await Promise.resolve().then(()=>(Jp(),Kp));return r}var em={dataType:null,batchType:null,...ea,version:p_,worker:!0,workerInBatches:!0,serializeWorkerResult:re,options:{ply:{shape:"arrow-table",colorFormat:"uint8norm"}},preload:m_},uw=em;or();var y_=typeof __VERSION__<"u"?__VERSION__:"latest",hw={...ea,dataType:null,batchType:null,version:y_,options:{ply:{}},text:!0,encode:async(r,t)=>fw(r,t),encodeSync:fw,encodeTextSync:dw};function fw(r,t){let e=dw(r,t);return new TextEncoder().encode(e).buffer}function dw(r,t){let e=ee(g_(r)),n=b_(e,"POSITION"),s=e.attributes.NORMAL,i=e.attributes.TEXCOORD_0,o=e.attributes.COLOR_0,a=x_(e),c=n.value.length/n.size,l=v_(e,c),u=w_(c,l.length/3,!!s,!!i,!!o,a),f=[];for(let h=0;h<c;h++){let p=[ln(n,h,0),ln(n,h,1),ln(n,h,2)];s&&p.push(ln(s,h,0),ln(s,h,1),ln(s,h,2)),i&&p.push(ln(i,h,0),ln(i,h,1)),o&&p.push(rm(o,h,0),rm(o,h,1),rm(o,h,2));for(let[,y]of a)p.push(ln(y,h,0));f.push(p.join(" "))}for(let h=0;h<l.length;h+=3)f.push(`3 ${l[h]} ${l[h+1]} ${l[h+2]}`);return`${u.concat(f).join(`
|
|
44
|
+
`)}
|
|
45
|
+
`}function g_(r){return"shape"in r&&r.shape==="arrow-table"?r:Ee(r,"arrow-table")}function b_(r,t){let e=r.attributes[t];if(!e)throw new Error(`PLYWriter: ${t} attribute is required`);return e}function w_(r,t,e,n,s,i){let o=["ply","format ascii 1.0","comment generated by loaders.gl",`element vertex ${r}`,"property float x","property float y","property float z"];e&&o.push("property float nx","property float ny","property float nz"),n&&o.push("property float s","property float t"),s&&o.push("property uchar red","property uchar green","property uchar blue");for(let[a]of i)o.push(`property float ${a}`);return t>0&&o.push(`element face ${t}`,"property list uchar int vertex_indices"),o.push("end_header"),o}function x_(r){let t=new Set(["POSITION","NORMAL","TEXCOORD_0","COLOR_0"]);return Object.entries(r.attributes).filter(([e,n])=>!t.has(e)&&n.size===1)}function ln(r,t,e){return r.value[t*r.size+e]||0}function rm(r,t,e){let n=ln(r,t,e),s=r.normalized||n<=1?n*255:n;return Math.max(0,Math.min(255,Math.round(s)))}function v_(r,t){if(r.indices?.value?.length)return Array.from(r.indices.value);if(r.mode!==4&&r.topology!=="triangle-list")return[];let e=[];for(let n=0;n+2<t;n+=3)e.push(n,n+1,n+2);return e}return bw(A_);})();
|
|
46
|
+
/** Parse compressed PCD data in in binary_compressed form ( https://pointclouds.org/documentation/tutorials/pcd_file_format.html)
|
|
47
|
+
* from https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/PCDLoader.js
|
|
48
|
+
* @license MIT (http://opensource.org/licenses/MIT)
|
|
49
|
+
* @param pcdHeader
|
|
50
|
+
* @param data
|
|
51
|
+
* @returns [attributes]
|
|
52
|
+
*/
|
|
53
|
+
return __exports__;
|
|
54
|
+
});
|